								
									
										
											
												
													
														
																
																	
																		
																			
																					
																								
																									
																										
																												
																															
																																		
																																			
																																									
																																												
																																															
																																																
																																																		
																																																								
																																																										
																																																																
																																																																		
																																																																								
																																																																																																	
																																																																																																											
																																																																																																																																					
																																																																																																																																																																																																																																																																
        
         
          
            
             
                
                          
                           
                            
                                
                                                                
                                                                               
                                                                                                    
         (((((                  
       !  !  
     )   
     )    
    "  '
 """"""""""""""""""""""""""""""""""""""""
 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""!
 '---......
 '.......
 -	 -	 -	 -	 -	 -	 -	 -	
 -------
 -------------------------------
 :::::::
 :;;;;;;;;;;;;;;;:
 ;;;;;;;;;;;;;;:
 ;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;:
!	.	.]-]-
!!!!	!!!!!!
!!!!!!!!
!!!!!!!!!
!!!!!!!!!!
!!!!!!!!!!!
!!!!!!!!!!!!
!!!!!!!!!!!!!
!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!
!;;;;;;)
" * *()()
""""""""
"""""""""
""""""""""
"""""""""""
""""""""""""
"""""""""""""""
""""""""""""""""""
""""""""""""""""""""
"""""""""""""""""""""
"""""""""""""""""""""""""
""""""""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""
""""""""""""'
""""""""""(
""""""""(
"""""""*""""
""""""*"""""
""""""**""""
""""****
"---;;"-
# #!#|#|#
#"())***)("#
##########
###########
#############
###############
#####################
#####################################################
########################################################
################################################################################
'"""*'*''
''''''''
''''''''''
(((('''''
((((((''''*
((((((((((((((((((((((((((((((((
(((-(--------------------------(-(((
(((---............................----
((.-.............................-.-((
(-((('('''
)'''''	'
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
*)))))))))))))))))))))
********
********************
*************************
*********************************
*******------***
*****----------***
****-**-*****
****---------*
****-------------
****--------------**
***-----------*
***@***@***@
***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***
*---)'(# 
*.......................*
*:*;*@"@"
-	-	-	-	-
-((((''''''
-- -------- ---- --- ---------- ---------------------------------
-- ----------- ------------------------- ----------
-- ------------ ------- ------ ------ -- -- -- -- -- --
-- ------------ ------- -------- ---- --- ------------------------------
-- ------------ ------- ------------------------------------
-- ------------ ----------------------------------- ------ ------------
-- ------------ ----------------------------------- -------
-- ------------ ----------------------------------- ------- -------
-- ---------------------- ------------ ----------------------------------- ------ ------------
-- ----------------------------------- -------
--#;;;!#	
----  -------------------------------------------------------------------  ----  ------  -----------
---- -------- ------------------------------- ---- --- ------------ -----------------
-----	-----	---------- ------ --------------------------------------------
----- ---- -------- -------- -------- 
----- -------------------------------- -------- -------------------- --------------------------------------
------ ------------------- ----------------- -------- -------- ----------------- ----------------
------ --------------------- --------- -------- -------- ------ ---------
------((('(
-------- -------------------- -------- -------- ---------- -------------------
-------- -------------------- -------- -------- ---------- -----------------------------
---------- -------------------- -------------------- ---------------- ---- ----------
----------- -------- -------- ---------------------------------------- ----------------------------------------------------------------
------------
----------------
-----------------------
------------------------- ---- ---- ------------ ------------ ------------ ---------
--------------------------------
------------------------------------
----------------------------------------
------------------------------------------------
-----------------------------------------------------
----------------------------------------------------------------
--------------------------------------------------------------------
----------------------------------------------------------------------
---------------------------------------------------------------------------- 
--:--:--
-;;;;:---
.          
.---(((('
..         
..........
:::::::::#
:;;;;;;;"-
:;;;;;;;;;;:
:;;;;;;;;;;;;!
;	;	;	;	;	;
;;;;;;;"
;;;;;;;;!--.
;;;;;;;;;;!-!
;;;;;;;;;;;:
;;;;;;;;;;;;
;;;;;;;;;;;;;;:
;;;;;;;;;;;;;;;;
?.--(-((((('
@	@	@	@	@	@
@-@-@-@-
@-@-@-@-@-@-@-@-
@@@@@@@@@
@@@@@@@@@   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:0"
"0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***@***0
".(.(0#0#
**"*")0)0
0;;;;;;;;;;;;0
000@@@@@@
-0000-! *0
000@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@000
000000000
0000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000746f6d586d6c223e3c64733a736368656d61526566733e3c64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f7267
00000000000000000000000000000000000000000000000000000000000000000000000000000000500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
0000000000000000000000000000000000000000000000000000000000000200000036010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
0000000000000000000000000000000000000000000000000000000000000500000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000
00000000000000000000000000000000320100000000000001000000020000000300000004000000feffffff060000000700000008000000090000000a000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00000000000000000000000000000000670000000000000001000000feffffff03000000040000000500000006000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000000000000000Rnoooc40000000000000)
0000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000000000
000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027000000
00000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b0000000000000000000000
0000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b0100002700000000
00000000H
000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019020000
0 0(00080@0H0P0l0
0"0)000U0]0c0q0
0 00010.0
0	0#0(020C0H0R0c0h0r0
0000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c000000000000000000000000001902000074
0!0(0-03080E0J0S0Z0_0e0j0v0|0
0!0'0-03090?0T0i0p0v0
0	0)0.040C0I0T0Z0s0
0 00040H0L0P0h0l0p0
00006666
0@0008060
0#0)0-0F0U0
000@0J0Z0j0t0V4f4
0 0(0@0P0T0d0h0l0p0t0|0
000@0P0T0X0p0t0x0|0
0!0)0@0Q0Y0p0
00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899excessive array size: 
00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899p6
00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899syntax error 
0 0*01090S0X0b0s0x0
0#0(02080S0X0b0h0
0#0(020A0S0_0d0p0z0
0#0(020C0H0R0a0s0
0#0(020C0H0R0c0h0r0
0(0-020H0M0R0h0m0r0
0)0.030G0]0b0g0
0 0(040d0
00040H0L0d0h0
0'0.040S0_0d0q0y0
0 0(040X0x0
0!0)080:0
00080D0d0l0t0
0!0*0A0J0a0j0
0!0*0A0Q0a0q0
#000c0x0
0"0-0d0n0x0
0!0)0E0J0P0a0f0s0
0 0*0E0O0j0t0
0"0-0E0Y0u0
0 0@0H0T0t0|0
0?0[0i0u0
0-0:0J0W0e0r0E1
0 0@0L0p0
000N0h0u0
0)0?0N0m0|0
	0#0;0O0
0*0;0P0d0x0
000R0l0y0
0 0:0T0a0n0
0'0?0W0o0
0!010:0Q0a0q0
0!010A0I0e0j0p0
0!010A0J0a0q0
0!010A0Q0a0j0
0!010A0Q0a0q0
0!010A0Q0a0v0
001V2f2h3
0(020;0P0Z0d0n0x0
002.MMOrkkn
0"03080B0Q0c0h0r0
0"03080B0S0X0b0q0
0"03080B0S0X0b0s0x0
0	030F0P0i0
0(040@0L0X0d0p0
 0*04071
0'040E0R0c0p0
)0.050[0|0
0*050:0?0]0l0
0-050?0V0[0a0k0u0
005e8f4452b1d701000000000000000000000000de00d4005900cc00d4004b004500db005600c400de00c800c0003100c000dc00c500c500cd00cb00d40041003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000005e8f4452b1
0-060?0E0R0v0
0060?0P0
0*060P0d0k0
0-070F0P0V0e0u0
")0)0|7|7
0'080?0W0g0r0|0
0(080D0L0d0l0
0#080I0]0k0y0
0080O0U0[0f0n0x0
0 081P2h3t3x3
0*090E0s0
0 090F0v0
0.090K0b0
0@0A080:0
	0*0B0H0]0|0
0;0B0H0O0a0f0
0(0B0o0t0
"0-0c0h0
00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b76000000680074007400700073003a002f002f0067006f002e006d006900630072006f0073006f00660074002e0063006f006d002f00660077006c0069006e006b002f003f004c0069006e006b00490064003d003200
0#0D0P0c0
0)0F0a0y0
0?0G0O0W0
	0(0G0r0
0 0H0l0x0
0;0H0N0T0[0c0t0
0(0H0T0t0
*0;0H0Y0f0w0
0(0I0n0w0
	0?0I0u0
0*0I0V3h3
*0@0INFORMATION_SWITCHABLE_GRAPHICS_GET_FAILEDWWP
0@0L0p0|0
0@0L0T0t0
				0.0 - most aggressive
0:0N0l0z0
00NVDISPLAY_MODELIST_IN_CONFIGURATION_UNKNOWN_CONFIG
0#0P0g0p0
0@0P0Q0N0
0@0P0X0V0
0)0P0Z0v0
0'0Q0d0n0
0"0Q0W0h0
0:0S0X0t0
00sDRIVER_CUSTOM_SETTINGSWW
#0-0v0|0
	 	0	1	.	
   0 1 . 
! !0!1!.!
" "0"1"."
# #0#1#.#
' '0'1'.'
( (0(1(.(
) )0)1).)
* *0*1*.*
- -0-1-.-
. .0.1...
: :0:1:.:
; ;0;1;.;
? ?0?1?.?
@ @0@1@.@
[ [0[1[.[
] ]0]1].]
_ _0_1_._
			'010004806000000070000000000000001400000002004c00030000000000140003000000010100000000000512000000000014000700000001010000000000050a0000000000140003000000010100000000000504000000cdcdcdcdcdcdcdcd0102000000000005200000002002000001020000000000052000000020020000'
			'01000480780000008800000000000000140000000200640004000000000014001f000000010100000000000512000000000018001f00000001020000000000052000000020020000000014001f000000010100000000000504000000000014000b000000010100000000000512000000cdcdcdcdcdcdcdcd0102000000000005200000002002000001020000000000052000000020020000'
010:0Q0Z0q0
*_0[104]
01050;0;0
010A0K0a0k0
!010A0Q0Y0u0z0
0#111?1M1
0!1-1A1M1Y1y1
011A1Q1a1q1y1
0	1(1G1m1
0 1-1K1g1w1
01234567
-0123456789
0123456789
0123456789-
0123456789abcdef
0123456789ABCDEF
0123456789abcdefABCDEF
0123456789abcdefABCDEF:.
0123456789abcdefABCDEF::.
0123456789abcdefghijklmnopqrstuvwxyz
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789abcdefMessageBoxW
0123456789abcdefx
0123456789ABCDEFX
0.151@1	3
0*171W1g1l1
0#171W1k1
0*191G1d1l1
0*191S1q1
0-1B1f1x1
0"1B1M1[1
0#1C1V1e1
0:1H1_1r1
0?1I1X1f1n1t1
01IINFORMATION_VBIOS_GET_FAILEDP
01scitatStnemelEIUI.lmaX.IU.swodniW
01tnemelEIUI.lmaX.IU.swodniW
0)1x2L8v9
02000000180000004d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
02000000180000004d73786d6c322e534158584d4c5265616465722e362e30000000000000000000000c0000
0'2-262L2
 022F4D6 4l
0249e7cb5663d26d7607ad4ab7d99f5482d1a053e90e5b83caa8356c8f26a361d8e94e5ef9de850607fde630688d3b95567d38ac04ad9aa2dfe956da41a3d10f
0*262I2[2l2z2
02-SATURATION_NOT_SUPPORTED0
03080B0H0c0o0t0
030I0_0g0Y4_5
|032;2f2m2
032C2P2]2d2k2r2
#03444444444
036B6M6m6
03ctac Rdiv.u
03uDISPLAY_MODELIST_GET_FAILEDW
040@0H0h0t0
040L0d0|0
040L0h0l0t0
 040T0d0
'040W0g0l0
041696p6w6
;0;4;8;@;D;H;L;T;l;p;
: :0:4:8:@:X:h:l:|:
? ?0?4?D?H?L?P?X?p?
; ;0;4;D;H;L;T;l;|;
? ?0?4?D?H?L?T?l?|?
-!04F!!30
04yVIDEO_QUALITY_STE_SET_FAILEDT
(050B0l0
#050G021
.050l1s1
050P0p0v0
0528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000000000
0(5)5-...
055DD5B64CA4874DA5A8B47C14DEDA5F
05dCHIPSET_FAMILY_BDW_DESKTOPWW
05V!4#6 
060#3-373A4K4|5
060B0L0V0c0
061H1a1z1
061H1l1r1
0639d600658f0edda3f6a859b7f086fee61ee77ea83e165e8332fdc11e7e321982152dbc0665f8700f1f0eba8391ad5f83327c6b0fdfaef54741dbd2af413125
'063DISPLAY_DPP_INVALID_AMBIENT_LIGHT_VALUEW
0@6CLONED_AUDIO
070D0f0x0
*070D0M0c0
071	4#5Q7k8
0!717A7Q7G9
07374182
073741822;
073741822;T
07878G0G0
.07f20f7
!"!(!0!7!V!
;#;0;7;Z;a;n;u;
: :(:0:8:@:|:
080@0H0T0t0|0
080D0h0t0
080G0h0w0
080H0"1O1
"080N0a0f0k0p0u0|0
083]3B5z5
	@	0	8	6	
 @ 0 8 6 
!@!0!8!6!
"@"0"8"6"
#@#0#8#6#
'@'0'8'6'
(@(0(8(6(
)@)0)8)6)
*@*0*8*6*
-@-0-8-6-
.@.0.8.6.
:@:0:8:6:
;@;0;8;6;
?@?0?8?6?
@@@0@8@6@
[@[0[8[6[
]@]0]8]6]
_@_0_8_6_
08878QDOD
08898898-
0 8 8i?j?
0:8988988-!
08bMONITOR_OFFW0*
?(?0?8?D?d?l?t?
?0?8?D?d?l?t?
?0?8?D?d?p?
:(:0:8:D:h:
; ;(;0;8;D;l;x;
!] !]0!]8H!]
08HD3D_SUCCESSW
:(:0:8:@:H:P:d:t:
? ?(?0?8?@?H?P?X?d?
?0?8?@?H?T?
?0?8?@?H?T?t?|?
: :(:0:8:L:
:0:8:@:L:
: :(:0:8:L:l:t:|:
? ?(?0?8?@?L?l?t?|?
?0?8?@?L?t?
08MGRAPHICSRENDERSTANDBY_SUCCESSWWW
: :(:0:8:T:t:|:
: :(:0:8:@:T:t:|:
090@0E0s0
090318100000Z
	090C0I0i0|0
090F0T0d0
090I0U0d0P1X1
0.9.2342.19200300.100.1.25
092_4L412_3
098888888
09888889889889880
0:9889888898898988988988980
098898894
0988988988988988980
0:98898898898898898889880
0:988988988988988988988988988988980
0:9889889889889889898890
!0:98899-
09898889!
0:98988988!
098988988*
09988988988988988988988980
099889889889889889889889890
099898890
0998988980
09eGRAPHICS_CONTENT_TYPEWWW
:*:0:9:?:E:K:Q:]:c:l:s:y:
09!HAn:c
 0A0I0g0
0A0Q0a0q0
0A0Y092Q2
0A;2utfD;
0A_A]_][
!0'AF9]A
0A*?*h i q
0|@Apredn
??0ARGUMENT_LEXEMIZER@@QEAA@XZ
??0ARRAY@@QEAA@XZ
0AsaArpAnalyzerRunAllocs
"0b0p0x0
0B1a1f1q1e3
0B1INPUT_RANGE_APPLICATIONW
??0bad_cast@@QEAA@AEBV0@@Z
??0bad_cast@@QEAA@PEBD@Z
0[BB0_8#
0BB3scs Bz2ss0c:s
0b?CPU_TYPE_COREWWW
0beL_DEPTH_GRAPHICS_GRAPHICSDEPTCHW
? ?0?B?l?
0b[PublishGroupStartedW
??0BuiVolume@@QEAA@_N@Z
??0BuiVolume@@QEAA@XZ
??0BYTE_STREAM@@QEAA@XZ
0C1e1n1t1
0C1MCCS_INVALID_HANDLEW
0c81b7422913305c6bd426b526fc579f403f698fa2238c0c69c50b9888bd21c5c713734e56b2e73f00adbe0179fbf3cf6f5efff8e6f54f6fbefaeacdebbfe773
0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
??0CBdeCfgLibraryLoader@@QEAA@XZ
0@CCHIPSET_FAMILY_IVYB_MOBILEWW
??0CDrCallTracer@@QEAA@KQEBD0PEBJ@Z
??0CDriveConfiguration@@QEAA@XZ
0C-D-U9T9q9p9
??0CharReaderBuilder@Json@@QEAA@XZ
??0CHKDSK_MESSAGE@@QEAA@XZ
??0CHString@@QEAA@AEBV0@@Z
??0CHString@@QEAA@PEBD@Z
??0CHString@@QEAA@PEBG@Z
??0CHString@@QEAA@XZ
??0CIniW@@QEAA@PEAUHINSTANCE__@@PEBG111@Z
??0CLASS_DESCRIPTOR@@QEAA@XZ
??0ClassInfoBase@DirectUI@@QEAA@XZ
0@CMFCRibbonTab
??0CmLogFile@@QEAA@XZ
??0ComInit@UDC@@QEAA@XZ
??0ConvDgradShader@cask@@QEAA@AEBU01@@Z
??0ConvDgradShader@cask@@QEAA@PEBVKernelInfo@1@@Z
??0Convolution@cask@@QEAA@AEBV01@@Z
??0Convolution@cask@@QEAA@XZ
??0ConvolutionDgrad@cask@@QEAA@AEBV01@@Z
??0ConvolutionDgrad@cask@@QEAA@XZ
??0ConvolutionWgrad@cask@@QEAA@AEBV01@@Z
??0ConvolutionWgrad@cask@@QEAA@XZ
??0ConvShader@cask@@QEAA@AEBU01@@Z
??0ConvShader@cask@@QEAA@PEBVKernelInfo@1@@Z
??0ConvWgradShader@cask@@QEAA@AEBU01@@Z
??0ConvWgradShader@cask@@QEAA@PEBVKernelInfo@1@@Z
??0CritSecLock@DirectUI@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
0@CSATURATION_INVALID_VALUE
@0;C u_3
??0CVersion@@QEAA@XZ
?0?C?V?i?|?
? ?0???d?
0D0d0l0t0|0
0D0h0t0|0
0D0N0X0f0u0
0d8e8z.|.
; ;(;0;D;d;l;t;|;
"0: Default" means multiple contexts are allowed per device.
0descriptorWWd
0D G J*I*
; ;0;@;D;H;L;T;l;|;
?0?@?D?L?d?t?x?
? ?0?D?L?l?
?0?@?d?l?t?|?
: :0:D:L:T:d:p:
	0Dn|7g	n	
??0DP_DRIVE@@QEAA@XZ
? ?(?0?@?d?p?x?
?0?D?_?s?
??0DSTRING@@QEAA@XZ
;0;@;D;T;d;h;l;p;t;x;|;
;0;D;T;h;p;
!0dXCUI_EVENT_PIPE_PLANE_OPTIMIZATIONWWWd
0E1L1Y1h1
0e9ForWritingWW
??0Edit@DirectUI@@QEAA@XZ
0E E K*K*
0eErrorCodeWWW
0ElCPU_TYPE_CELERON
??0Element@DirectUI@@QEAA@XZ
"0"E"V"i"
0e*WIDE_GAMUT_GET_FAILEDWWW
??0exception@@QEAA@AEBQEBDH@Z
??0exception@@QEAA@AEBQEBD@Z
??0exception@@QEAA@AEBV0@@Z
??0exception@@QEAA@XZ
0#)#)f0e0
0F0M0l0p0
0F0S0h0u0
.0F0X0O1p1c2v2
0F164D4[4
0F1T1_1g1y1
0F1U1V5e5
0f1x1T3f3x3
0F1X1V3h3
0F2FNBMB
0	_f30350
0F3R3a3l3p3
0F3U3a4x4
0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
??0facet@locale@std@@IEAA@_K@Z
0FailedWW
0FB6D0F0
??0FLAG_ARGUMENT@@QEAA@XZ
?(?0?:?@?F?L?X?f?k?q?z?
??0FSN_FILTER@@QEAA@XZ
??0FSTRING@@QEAA@XZ
:	;0;f;x;
0fyDISABLE_FBC_S2DDTWWW
??0Gemm@cask@@QEAA@AEBV01@@Z
??0Gemm@cask@@QEAA@XZ
??0GemmShader@cask@@QEAA@AEBU01@@Z
??0GemmShader@cask@@QEAA@PEBVKernelInfo@1@@Z
0H0V0[0d0
0h9l9p9t9x9|9
0H9wxu)H
]0H!]@H!]8
??0HMEM@@QEAA@XZ
0HuCURVES_SUCCESSWW
??0HWNDElement@DirectUI@@QEAA@XZ
-0I0n0h1
?0I0X0f0n0t0
0I7456G21243:
(0IAD3D_APPLICALTION_OPTIMAL_MODE_GET_FAILED
0i_CUI_EVENT_NONEWWd
0iGCUSTOM_RESOLUTION_SUPPORTWWW(
0imIGFX_DISPLAYTYPE_DVI
??0ImpersonateUser@@QEAA@XZ
0Intel(R) Embedded Subsystems and IP Blocks Group0
0INT_HDMI_DPORTWWd
??0ItemList@DirectUI@@QEAA@XZ
 0J0R0o0
"0J0Y0w0
0J4[4h4y4
0J"BUS_INVALID_ADDRESSW
0JN)E AtZ
0K0F1V1X2
:0K0X0i0v0
0K1AUDIO_SUCCESSWWW
0k1dz!CB
0K:DISPLAY_INVALID_DISPLAY_IDWW(
0 kIGFX_DISPLAYTYPE_DFP
0k'k'M2N2
0K L M*M*
0k|PublishPackageStartedWWW
0k'*uskz
0L0P0T0X0
0L0T0)R(un0
0l4p4t4x4|4
0laALL_SESSIONSd
0Li6[!i)
??0_Locinfo@std@@QEAA@HPEBD@Z
??0_Locinfo@std@@QEAA@PEBD@Z
??0_Lockit@std@@QEAA@H@Z
??0Log@UDC@@QEAA@XZ
??0LONG_ARGUMENT@@QEAA@XZ
0LONOg0h08080o4p4
;0;@;l;t;
0L@TOP_BOTTOMWW
	0mGDirectoryWWW
0mHIGFX_TIMING_STANDARD_CVT_RBW
0M;H saM
??0MOUNT_POINT_MAP@@QEAA@XZ
??0MOUNT_POINT_TUPLE@@QEAA@XZ
??0MULTIPLE_PATH_ARGUMENT@@QEAA@XZ
0N0;1G1d1t1
0N0O0M4M4
0N1NJ3K3
0n2m2c3e3
0-NBLOCK_CALL_SUPPORTWW
:0:N:h:u:
0NSOverlayOnlyW
0o9PRIMARY_FEATURE_LOAD
0O	O188]2
0OO1r80n
0O.O4858
??0Operation@cask@@QEAA@AEBV01@@Z
??0Operation@cask@@QEAA@XZ
0opMCCS_DEVICE_ERRORWWW
0#ovtS!50
***0***p***
0p1t1x1|1
0p8ACTIVE_NON_PRIMARYWW
	0p8Nc@UZf[
??0PATH_ARGUMENT@@QEAA@XZ
??0PATH@@QEAA@XZ
0	pBUS_SUCCESSW
:0:P:f:x:6;F;
??0PoolingFwdFP16x2Shader@cask@@QEAA@AEBV01@@Z
??0PoolingFwdFP16x8NHWCShader@cask@@QEAA@AEBV01@@Z
??0PoolingFwdINT8x32Shader@cask@@QEAA@AEBV01@@Z
??0PoolingFwdINT8x4Shader@cask@@QEAA@AEBV01@@Z
??0PoolingOperation@cask@@QEAA@AEBV01@@Z
??0PoolingOperation@cask@@QEAA@XZ
??0PoolingShader@cask@@QEAA@AEBV01@@Z
0-pQIjXs.
??0PROGRAM@@IEAA@XZ
;0;@;P;T;d;h;l;p;t;x;
0Q0Y0u0z0
0q:BUS_UNKNOWN_OPERATIONWWW
0q|DISPLAY_COLOR_ERRORW
0R0z0_4l4
??0REST_OF_LINE_ARGUMENT@@QEAA@XZ
;0;R;l;y;
0rRCURVES_GET_FAILEDWWW
0s6q6"3"3a3a3
??0Shader@cask@@QEAA@AEBV01@@Z
??0Shader@cask@@QEAA@PEBVKernelInfo@1@@Z
0soCHIPSET_FAMILY_LKF_DESKTOPWW
??0SoftmaxOperation@cask@@QEAA@AEBV01@@Z
??0SoftmaxOperation@cask@@QEAA@XZ
0sOtOj0i0E0E0r4r4
??0STREAM_MESSAGE@@QEAA@XZ
??0STRING_ARGUMENT@@QEAA@XZ
"0T0a0q0
-0t1x1|1
0T5R5@9A9
??0TaskPage@DirectUI@@QEAA@XZ
??0TensorDesc@cask@@QEAA@XZ
0_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE_n
0The following files or applications is not found
0Tk0cR	U
??0TouchButton@DirectUI@@QEAA@XZ
0TpIGFX_TIMING_STANDARD_CVT
0_TPortrait8
0?TX9.45
0U0S0j4k4
@0U0W1]1c1i1R2d2n2|2
0U8S8OCNC3727)
0ugPOWER_FEATURE_CONTROL_FAILEDl
0uOuOO0R0
0uzDISPLAY_MODELIST_ERRORWW
0Uz	l0s.
0v0u0i4j4
0V1]1d1k1
|0v68Z"Hc
0v9v9b;c;
0v9v9I;J; F F
??0Value@Json@@QEAA@W4ValueType@1@@Z
*0vBnBhow
0vcountWWW
0vCountWWW
"0*'VIDEO_QUALITY_SHARPNESS_SET_FAILEDWWT
0.visible .entry volta_sgemm_128x128_nt_v0(
??0VolumeFveStatus@@IEAA@XZ
??0VolumeFveStatus@@QEAA@K_KJW4_FVE_WIPING_STATE@@@Z
?.;0;V;W;
0V W M*L*
@0@:wzVn
0xDEADCAFE
0xFFFFFFFF - 
0xGDISABLE_GAMUT_COMPRESSIONWWW
:":':0:X:q:
0	.	X	X	
.0xZ6UkN
0y0y0e4e4
0YCBCR_SET_FAILED
0ySMOBILEWW@
0"."Y!W!
0zABf246
10.0.0.0
1000_lld.02dehcir
1000_lld.23cesxe
1000_lld.etadltni
1000_lld.sbvltuo
1.0.0.10
10.0.10011.16384
100141911
100149611
100152311
100168211
100171111
100182111
100186611
100192211
100198411
100201611
100218811
100233611
100250211
100281311
100291011
100291111
100297811
100299711
100323611
100377011
100561511
100565811
100701213655Z
100 bra 
100-continue
101@1D1L1d1t1x1
101:1D1N1X1b1l1
101@1D1T1X1h1l1t1
10171_1g1t1
10181@1H1L1T1h1p1x1
10181@1H1T1t1|1
10181@1L1l1t1
10194f63b482d3a1baaf944422571d096fc5041c1ae961a76e85a7ebe4942db2c3ce7a5d1d6c66955520598ed7c2621c0eaa64866eb5cb03bc42bd661be983d6
1.0.2080.0
1.0.2251.0
10252M2c2z2
1.0.3338.0
103 bra BB0_!
1.0.4092.0
1.0.4169.0
!10!5!10"5
10737418
10737418"
107374182!
107374184
"10E#3103
	"10'F3109
.10i!"10
#10L0#55
				1.0 - least aggressive
#10q-Hd169u
)**1**1**
11.0.0.0
1 10111.1
1'101;1C1a1m1
1 10141D1H1L1T1l1|1
1)10161;1I1
1!10161C1R1X1e1t1z1
1(10181@1H1T1t1
1(10181@1L1l1x1
1@1018161
1(101d1t1
1#101G1N1
110411220620Z
110413100000Z
110415195508Z
")1)10818
-1.-1.-1
1"1)10171A1K1U1_1i1o1z1
1 1(10181@1H1P1X1d1
1 1(10181@1H1P1X1l1t1|1
1 1(10181@1H1T1t1|1
1 1(10181@1H1T1x1
1 1(10181D1d1l1t1|1
1 1(10181H1P1X1d1
111019184142Z
1 1(101D1d1l1t1|1
'''11111'
*111111#
(1111111111#
(1111111111111#
*11111111111111111111111*
((-..1.111111111111111111111111111...--
11111111111111111111111111111111111111111111111111111111111111111111111111111111111
111111111111111Snoood41111111111111110"
1!111;1Q1[1q1
1!111:1Q1a1q1
1!111:1Q1Z1q1
1!111:1Q1Z1q1z1
*-11111S
'11112333*
1!111A1I1e1j1p1
1!111A1J1a1q1
1!111A1Q1a1q1
1!111A1Q1a1q1z1
1!111A1Q1j1w1
1!111A1Q1Y1u1z1
1!111I1S1f1
1 1(1@1L1p1
1 1(1@1P1T1d1h1l1p1t1x1|1
111:1Q1a1q1
111:1Q1Z1q1z1
1#1(12181S1X1b1h1
1#1(121A1S1_1d1p1z1
1#1(121A1S1a1f1s1x1
1#1(121C1H1R1a1s1
1#1(121C1H1R1c1h1r1
1(1-121H1M1R1h1m1r1
1#1)131k1
1 1(141@1P1T1X1d1t1|1
1@1149|5
1[	1169A
1 1180 22b
1 1194 27
1#1-1A1Q1[1q1
111A1Q1a1x1
1-1;1A1R1g1
1 1@1d1p1x1
1*1:1H1M1a1n1
1(1@1i1|1
1#1)1J1g1
1"1?1J1V1o1
1 1@1L1l1t1|1
1 1@1L1l1x1
1 1@1L1p1
1(1-1M1f1x1
111...(O
1"1?1O1[1j1
1 1:1T1a1n1
1'1?1W1o1
1)1.1X1]1
1.1@1Z1t1
112;2X2m2r2
1"13181B1Q1c1o1t1
1"13181B1S1X1b1q1
1"13181B1S1X1b1s1x1
1(131J1O1T1Z1d1n1x1
1-131Y1m1
""1"13838R?R?
1(141@1L1X1d1p1|1
1(141L1d1l1p1t1|1
1 141O1Z1d1
1(141Q1W1l1
1(141X1d1
1)141Z1e1w1
114cDfd"""ffffd
!114	Dr110
1)151X1a1j1
?115)N #94:
1!161;1A1K1U1_1m1u1
1-161?1E1R1v1
1*161@1J1N1
1.161G1N1]1
1163Gq2e
1163:m	G
1)171B1M1T1_1
]1_179[!
1)181]1h1
1!181M1_1m1r1
1183l	"18u
#*1*1*8*8
1#191C1O1]1n1u1
1*191Q1x1
1@1A181:1
1-1C1]1j1w1
1:1C1H1T1w1|1
1;1C1l1s1
"	1	1C8B8
1_1d1l1C2t2
1#1D1P1c1
1:1D1U1s1y1
1-1-d c 
11. DIES BETRIFFT DIE BEILEGUNG VON RECHTSSTREITIGKEITEN.
1(1E1[1x1
1(1E3Q3|3
1:1F1d1h1l1p1
1"1F1T1m1v1
1#1F1U1u1
1*1F1W1o1v1
1*1G1h1s1
1"1G1T1w1
1.1H1b1|1
1!1H1N1X1i1z1
1'1h2q2*3V3o3
1;1I1U1b1w1
1*1K1S1s1
"11k;QBB0_1[5
1(1L1X1|1
"11LVB1186k*!d8
1@1P1Q1N1
1@1P1X1V1
1)1Q1Z1_1k1
1:1T1a1n1
1-1U1f1w1
	1	1	U	U	
1.2.0.11
1 202L2P2
120418120000Z
120418234838Z
1.2.11.zlib-ng
1	212G2_2
121G2R2z2
"122-"12F
1'222K2s2
"12@ 2d16
1	2'2D2b2
12_2f21G
1 2@2H2T2t2|2
1	2'2L2Y2w2
1.2?2o2w2
1 2)2Q2_2
1(2'2v-x-
1(2@2Z2g2w2
1234567890abcdefghjkmnpqrstvwxyzABCDEFGHJKMNPQRSTVWXYZ
1237W	!23b
127.0.0.1
127.0.0.1       
1"27k7B;
128                    
1.2.840.10040.4.1
1.2.840.10040.4.3
1.2.840.10045.1.1
1.2.840.10045.1.2
1.2.840.10045.1.2.3.1
1.2.840.10045.1.2.3.2
1.2.840.10045.1.2.3.3
1.2.840.10045.2.1
1.2.840.10045.3.0.1
1.2.840.10045.3.1.7
1.2.840.10045.4.1
1.2.840.10045.4.3
1.2.840.10045.4.3.2
1.2.840.10045.4.3.3
1.2.840.10045.4.3.4
1.2.840.10046.2.1
1.2.840.113549.1.1.1
1.2.840.113549.1.1.10
1.2.840.113549.1.1.11
1.2.840.113549.1.1.12
1.2.840.113549.1.1.13
1.2.840.113549.1.1.14
1.2.840.113549.1.1.2
1.2.840.113549.1.12.10.1.1
1.2.840.113549.1.12.10.1.2
1.2.840.113549.1.12.10.1.3
1.2.840.113549.1.12.10.1.4
1.2.840.113549.1.12.10.1.5
1.2.840.113549.1.12.10.1.6
1.2.840.113549.1.12.1.1
1.2.840.113549.1.12.1.2
1.2.840.113549.1.12.1.3
1.2.840.113549.1.12.1.4
1.2.840.113549.1.12.1.5
1.2.840.113549.1.12.1.6
1.2.840.113549.1.1.4
1.2.840.113549.1.1.5
1.2.840.113549.1.1.7
1.2.840.113549.1.1.8
1.2.840.113549.1.1.9
1.2.840.113549.1.5.12
1.2.840.113549.1.5.13
1.2.840.113549.1.7.1
1.2.840.113549.1.7.6
1.2.840.113549.1.9.1
1.2.840.113549.1.9.14
1.2.840.113549.1.9.15
1.2.840.113549.1.9.2
1.2.840.113549.1.9.20
1.2.840.113549.1.9.21
1.2.840.113549.1.9.22.1
1.2.840.113549.1.9.25.4
1.2.840.113549.1.9.3
1.2.840.113549.1.9.4
1.2.840.113549.1.9.5
1.2.840.113549.1.9.6
1.2.840.113549.1.9.7
1.2.840.113549.1.9.8
1.2.840.113549.2.2
1.2.840.113549.2.5
1.2.840.113556.1.5.284.2
1.2.840.113556.1.5.284.3
1.2.840.113556.1.5.284.4
1.2.840.113556.1.5.284.5
1.2.840.113556.1.5.284.7
1.2.840.113556.5.10
1.2.840.113556.5.3
1.2.840.113556.5.4
1.2.840.113556.5.6
1.2.860.113556.1.5.284.7
1.2.860.113556.1.5.284.8
128849018
128849018885
128EEvNT_6ParamsE(
128x128_32x5_nt_
128x128_32x5_nt_align8EEvNT_6ParamsE_q
128x128_32x5_nt_align8EEvNT_6ParamsE_s
128x128_64x4_nt_
128x128_64x4_nt_align8EEvNT_6ParamsE_
128x128_64x4_nt_align8EEvNT_6ParamsE_q
128x128_ldg4_nt_v1(
12959-F-F
1*2A2M4T4
1?2a2t2 3]3
1:2D2a2r2
1?2D2i3n3
1@2D3Z3f3r3y3
!1 2 h f 
1	2I2j2s2
1?2I2X2f2n2t2
1!2J2_2u2
"12 K!12
12OoBMV5
1*2T2[2a2h2m2
1:2T2[2r2
;"12v##42
1"2X273y3
130509000000Z
130801120000Z
1309JH"31
1!30j12r30
1.3.101.76
1.3.101.77
131022120000Z
1.3.132.0.34
1.3.132.0.35
1.3.14.3.2.26
1.3.14.3.2.3
13181B1S1X1b1s1x1
131B1h1t1
131F1]1h1q1
131L1Q1W1a1g1o1
131M1Z1g1
132I2c2(3G3
#133;bn	j
13421772
13421772'
1.3.6.1.4.1.11129.2.1.9999
1.3.6.1.4.1.11129.2.4.2
1.3.6.1.4.1.11129.2.4.3
1.3.6.1.4.1.11129.2.4.4
1.3.6.1.4.1.11129.2.4.5
1.3.6.1.4.1.311.10.1
1.3.6.1.4.1.311.10.10.1
1.3.6.1.4.1.311.10.11.
1.3.6.1.4.1.311.10.11.104
1.3.6.1.4.1.311.10.11.105
1.3.6.1.4.1.311.10.11.11
1.3.6.1.4.1.311.10.11.122
1.3.6.1.4.1.311.10.11.123
1.3.6.1.4.1.311.10.11.126
1.3.6.1.4.1.311.10.11.127
1.3.6.1.4.1.311.10.11.13
1.3.6.1.4.1.311.10.11.15
1.3.6.1.4.1.311.10.11.2
1.3.6.1.4.1.311.10.11.20
1.3.6.1.4.1.311.10.11.21
1.3.6.1.4.1.311.10.11.25
1.3.6.1.4.1.311.10.11.26
1.3.6.1.4.1.311.10.11.29
1.3.6.1.4.1.311.10.11.30
1.3.6.1.4.1.311.10.11.71
1.3.6.1.4.1.311.10.11.72
1.3.6.1.4.1.311.10.11.73
1.3.6.1.4.1.311.10.11.75
1.3.6.1.4.1.311.10.11.83
1.3.6.1.4.1.311.10.11.84
1.3.6.1.4.1.311.10.11.87
1.3.6.1.4.1.311.10.11.9
1.3.6.1.4.1.311.10.11.98
1.3.6.1.4.1.311.10.2.1
1.3.6.1.4.1.311.10.3.1
1.3.6.1.4.1.311.10.3.10
1.3.6.1.4.1.311.10.3.11
1.3.6.1.4.1.311.10.3.12
1.3.6.1.4.1.311.10.3.19
1.3.6.1.4.1.311.10.3.2
1.3.6.1.4.1.311.10.3.20
1.3.6.1.4.1.311.10.3.3
1.3.6.1.4.1.311.10.3.30
1.3.6.1.4.1.311.10.3.32
1.3.6.1.4.1.311.10.3.33
1.3.6.1.4.1.311.10.3.34
1.3.6.1.4.1.311.10.3.35
1.3.6.1.4.1.311.10.3.39
1.3.6.1.4.1.311.10.3.4
1.3.6.1.4.1.311.10.3.4.1
1.3.6.1.4.1.311.10.3.5
1.3.6.1.4.1.311.10.3.6
1.3.6.1.4.1.311.10.3.61
1.3.6.1.4.1.311.10.3.9
1.3.6.1.4.1.311.10.4.1
1.3.6.1.4.1.311.10.4.2
1.3.6.1.4.1.311.10.4.3
1.3.6.1.4.1.311.10.8.1
1.3.6.1.4.1.311.10.9.1
1.3.6.1.4.1.311.13.1
1.3.6.1.4.1.311.13.2.1
1.3.6.1.4.1.311.13.2.2
1.3.6.1.4.1.311.13.2.3
1.3.6.1.4.1.311.17.1
1.3.6.1.4.1.311.17.2
1.3.6.1.4.1.311.17.3
1.3.6.1.4.1.311.17.3.
1.3.6.1.4.1.311.17.4
1.3.6.1.4.1.311.20.1
1.3.6.1.4.1.311.20.2
1.3.6.1.4.1.311.20.2.1
1.3.6.1.4.1.311.20.2.2
1.3.6.1.4.1.311.20.2.3
1.3.6.1.4.1.311.21.1
1.3.6.1.4.1.311.21.10
1.3.6.1.4.1.311.2.1.11
1.3.6.1.4.1.311.21.11
1.3.6.1.4.1.311.2.1.12
1.3.6.1.4.1.311.21.12
1.3.6.1.4.1.311.21.13
1.3.6.1.4.1.311.2.1.14
1.3.6.1.4.1.311.21.14
1.3.6.1.4.1.311.2.1.15
1.3.6.1.4.1.311.21.16
1.3.6.1.4.1.311.21.17
1.3.6.1.4.1.311.2.1.18
1.3.6.1.4.1.311.2.1.19
1.3.6.1.4.1.311.21.19
1.3.6.1.4.1.311.21.2
1.3.6.1.4.1.311.2.1.20
1.3.6.1.4.1.311.21.20
1.3.6.1.4.1.311.2.1.21
1.3.6.1.4.1.311.21.21
1.3.6.1.4.1.311.2.1.22
1.3.6.1.4.1.311.21.22
1.3.6.1.4.1.311.21.23
1.3.6.1.4.1.311.21.24
1.3.6.1.4.1.311.2.1.25
1.3.6.1.4.1.311.21.25
1.3.6.1.4.1.311.21.26
1.3.6.1.4.1.311.2.1.27
1.3.6.1.4.1.311.21.27
1.3.6.1.4.1.311.2.1.28
1.3.6.1.4.1.311.21.28
1.3.6.1.4.1.311.21.29
1.3.6.1.4.1.311.21.3
1.3.6.1.4.1.311.2.1.30
1.3.6.1.4.1.311.21.30
1.3.6.1.4.1.311.21.31
1.3.6.1.4.1.311.21.32
1.3.6.1.4.1.311.21.33
1.3.6.1.4.1.311.21.34
1.3.6.1.4.1.311.21.35
1.3.6.1.4.1.311.21.36
1.3.6.1.4.1.311.21.37
1.3.6.1.4.1.311.21.38
1.3.6.1.4.1.311.21.39
1.3.6.1.4.1.311.2.1.4
1.3.6.1.4.1.311.21.4
1.3.6.1.4.1.311.21.40
1.3.6.1.4.1.311.21.41
1.3.6.1.4.1.311.21.42
1.3.6.1.4.1.311.21.43
1.3.6.1.4.1.311.21.6
1.3.6.1.4.1.311.21.7
1.3.6.1.4.1.311.21.9
1.3.6.1.4.1.311.2.2.1
1.3.6.1.4.1.311.2.2.2
1.3.6.1.4.1.311.2.2.3
1.3.6.1.4.1.311.2.4.1
1.3.6.1.4.1.311.25.1
1.3.6.1.4.1.311.3.2.1
1.3.6.1.4.1.311.3.3.1
1.3.6.1.4.1.311.54.1.2
1.3.6.1.4.1.311.60.1.1
1.3.6.1.4.1.311.60.2.1.1
1.3.6.1.4.1.311.60.2.1.2
1.3.6.1.4.1.311.60.2.1.3
1.3.6.1.4.1.311.60.3.1
1.3.6.1.4.1.311.60.3.2
1.3.6.1.4.1.311.60.3.3
1.3.6.1.4.1.311.61.1.1
1.3.6.1.4.1.311.61.3.1
1.3.6.1.4.1.311.61.3.2.1
1.3.6.1.4.1.311.61.3.2.2
1.3.6.1.4.1.311.61.3.2.3
1.3.6.1.4.1.311.61.3.2.4
1.3.6.1.4.1.311.61.3.2.5
1.3.6.1.4.1.311.61.3.3.1
1.3.6.1.4.1.311.61.3.3.2
1.3.6.1.4.1.311.61.3.3.3
1.3.6.1.4.1.311.61.3.3.4
1.3.6.1.4.1.311.61.3.3.5
1.3.6.1.4.1.311.61.4.1
1.3.6.1.4.1.311.61.5.1
1.3.6.1.4.1.311.66.1.0
1.3.6.1.4.1.311.72.1.1
1.3.6.1.4.1.311.74.1
1.3.6.1.4.1.311.74.1.1
1.3.6.1.4.1.311.74.1.4
1.3.6.1.4.1.311.76.3.1
1.3.6.1.4.1.311.87
1.3.6.1.5.2.3.5
1.3.6.1.5.5.7.1.1
1.3.6.1.5.5.7.1.11
1.3.6.1.5.5.7.12.2
1.3.6.1.5.5.7.12.3
1.3.6.1.5.5.7.2
1.3.6.1.5.5.7.2.1
1.3.6.1.5.5.7.2.2
1.3.6.1.5.5.7.3.1
1.3.6.1.5.5.7.3.2
1.3.6.1.5.5.7.3.3
1.3.6.1.5.5.7.3.4
1.3.6.1.5.5.7.3.8
1.3.6.1.5.5.7.3.9
1.3.6.1.5.5.7.48.1.1
1.3.6.1.5.5.7.48.1.2
1.3.6.1.5.5.7.48.2
1.3.6.1.5.5.7.6.2
1.3.6.1.5.5.7.7
1.3.6.1.5.5.7.7.1
1.3.6.1.5.5.7.7.15
1.3.6.1.5.5.7.7.16
1.3.6.1.5.5.7.7.17
1.3.6.1.5.5.7.7.18
1.3.6.1.5.5.7.7.21
1.3.6.1.5.5.7.7.24
1.3.6.1.5.5.7.7.5
1.3.6.1.5.5.7.7.6
1.3.6.1.5.5.7.7.7
1.3.6.1.5.5.7.7.8
!13G)!13
"13kH!13
(13Vf#21
!13w@1r13f@4r13
14.0.0.0
140304000000Z
140530163555Z
140722000000Z
1.41.0.0
141015203127Z
141_1d1o1w1
14?"11f'
1.41.2021.0121
141D1P1p1x1
141E1Z1_1
'141f1x1
141L1d1|1
141X1d1l1
#14-!2490
14.27.29110
14_2f21G
14316557(
-143165576
143165576
-1431655765
-1431655765[
-1431655765V
-14316557FR
14316557i
?143P0 2822
[14(4a8FyE
!!145A1f14"A6f14
!147B1r14
14act_in_sh_left[
1	4	@	?	B
!14-CQf1478
*14Dv"71
#!14o5"14
150604174753Z
1506T!"50Q
150722190254Z
150722210349Z
15.1.0.0
151028000000Z
15:10:43
15:10:49
152?2E2_2i2
152C2Q2[2e2w2
152D2L2T2D3
152G20353
152X2_2f2
15511111.k
1555argB.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
"15d2!15
!15f4!15
!15n4!15o43158
_15uH.Xp4j'
!15!Y1f15
16.0.0.0
160107120000Z
160112000000Z
160524000000Z
160615000000Z
160 bra 
161D1]1f1o1u1
161H1	5t6
161H1O3x5
161U1j1z1
1.63.1155.2
163E3b3w3
1.64.1234.0
16528111
165H567H7
16.6.0.0
16878?E@E
"16a31161
?"?-?1?6?A?O?S?X?c?q?
16bitappdetectorut.cpp
16EEvNT_6ParamsE(
16ffffffffffffffffffffffffd
"16Q51161l
"16r7C1609
?1?6?R?k?p?
!16TA1r16
!16u-!r7
1'6Y6c6m6
171223000000Z
""17"["17
17179869
171798691
171798692
171R1d1r2
171V1h1v2
172B2V2j2
178458763d2573ce045b4aef0be20d10719a6446ceac682a858e49027ed9b80882bf2ddb9c3ef7068cba563dc2173612f606a20ef2334c2d33de476b891297ca
!17a*"f2
"17f	1s29g
!"17q8"17
17SharedStorageBaseE-
"17z	1178
1;;;;;;;8-)
180420165241Z
180620000000Z
180703000000Z
180919000000Z
181102000000Z
181122000000Z
181@1L1l1t1|1
-1818.).)
181D1h1t1
181F1K1T1*2M2 3)3Y3b3
181H1X1h1x1
181Q1V1r1
181R1]1h1
18278111
182F2]2j2t2
"18;?5184
"18"7"18Q
1891668E-8A2C-4EBE-9E15-E269B583DB3D
;#;1;8;D;e;o;t;
"18F#1181
"18F*"18F*!18
:#:*:1:8:?:F:M:T:[:b:i:
;#;*;1;8;?;g;l;s;z;
"18r4"18
 !18Y#7f18
190220000000Z
19041.0.GitEnlistment(sscpbld02).230105-1654
190502000000Z
190502212436Z
190802235959Z0l1
191023231919Z
191113214035Z
191113214038Z
191113214039Z
191219011459Z
191219011503Z
191219011504Z
191219011505Z
)1919N;O;
192C2T2f2v2
192F2f2s2?3X3|3
194aa869f013246317c9e986cf4ddc5848f0748429f3c60b2c844be63187f51a4e7f0869c6edf653ba496c2497e4dca5f30431662247ec7c18a364e5c24e491a
_!_)_1_9_A_I_Q_Y_a_i_q_y_
?1?9?b?i?
!19F 1f19
"19Gh2610
!19h-1f19
!19k7!ul
#19m "47
.19s3!62
#19x9!d8
.19z3!62M
1a8a8QCQC2727W
1@-A-h4g4
:!:1:A:I:e:j:p:
:!:1:A:J:a:j:
:!:1:A:J:a:q:
;1;;;A;J;Q;Z;_;h;
?1?A?Q?a?i?
?!?1?A?Q?a?j?
:!:1:A:Q:a:q:
;!;1;A;Q;a;q;
;1;A;Q;a;q;
?1?A?Q?a?q?
:1;A;Q;a;q;y;
:!:1:A:Q:a:q:z:
;!;1;A;Q;a;q;z;
?!?1?A?Q?Y?u?z?
;!;1;A;Q;Z;q;
?!?1?A?Q?Z?q?
??1ARGUMENT_LEXEMIZER@@UEAA@XZ
??1ARRAY@@UEAA@XZ
1B2A2]-]-q5p5
??1bad_cast@@UEAA@XZ
??1BuiVolume@@QEAA@XZ
1BUS_INDEXING
??1BYTE_STREAM@@UEAA@XZ
*1c2C334#5S7
1C4C46#6#Q*O*
1c57826650ab74c27eb3d20fc3667d1cd66ba341e31514161927f530bbb19fc00506dde4f7f67a7cefee3ed9ded1dc99b3a4caf4dd7c5513d777f7f5c6e1bb7b
1cac24d91adc3d8d1797de195df3a708422c6cd795011744c0dd413db3e682c0655891c8caf8db294c79da356fa3740c65e388ae62945714339967709dca0b3a
??1CBdeCfgLibraryLoader@@QEAA@XZ
??1CDrCallTracer@@QEAA@XZ
??1CDriveConfiguration@@QEAA@XZ
1CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
??1CharReaderBuilder@Json@@UEAA@XZ
??1CHKDSK_MESSAGE@@UEAA@XZ
??1CHString@@QEAA@XZ
(1!;CIF0
??1CIniW@@QEAA@XZ
??1ClassInfoBase@DirectUI@@UEAA@XZ
??1CmLogFile@@QEAA@XZ
??1ComInit@UDC@@QEAA@XZ
1connectedDisplayl9
??1_Container_base12@std@@QEAA@XZ
??1ConvDgradShader@cask@@UEAA@XZ
??1Convolution@cask@@UEAA@XZ
??1ConvolutionDgrad@cask@@UEAA@XZ
??1ConvolutionWgrad@cask@@UEAA@XZ
??1ConvShader@cask@@UEAA@XZ
??1ConvWgradShader@cask@@UEAA@XZ
??1CritSecLock@DirectUI@@QEAA@XZ
1cuda_device_runtime_api.h
1D1N1X1b1m1
1D!1rs2i
1d2l2t2|2
1D85116!
1dBB0_61
??1DP_DRIVE@@UEAA@XZ
??1DSTRING@@UEAA@XZ
1DU1[Jvb
??1DUIFactory@DirectUI@@QEAA@XZ
:1E1L1R1a1l1r1x1
1E1M1U1]1
1E@!1_w("
1e3"21L3"2133!21
1e3"21L3"2133!21J
1e9e9Z;X;
??1Edit@DirectUI@@UEAA@XZ
1Ed"r1?d
)1EEEvNS_23FirstLayerIMMAFwdParamsE(
	1EEvNT_6ParamsE(
1EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
1EH!g3?;
??1Element@DirectUI@@UEAA@XZ
:':1:;:E:O:Y:c:m:w:
?'?1?;?E?O?Y?c?m?w?
:);1;e;r;
??1exception@@UEAA@XZ
1f10w		6
 1f13Y "f1x
1f16|31r18
	1f16e0#r1
1f16U.2r13C
1f17nu?f17
1f18		1f18z
1f18."1r20
1f19DJ1f19|
1f200O1f20
1f20A[	E
1f20pA1f20
1f20Y[Cf206
1f20yxGf208
1f21b|1f21
1f21]S"f21a
@1f22N.1f22
	1f23p	8f23
)1f246)Ff249
1f24Y	Rf2487
1f25a""f2
1f25LK1f25
1f25vJ1f25
1f26B"Cf261M
1f26k81f26
1f26N6Cf266
*1f27*eFf274N
1F2FA?A?
1F2X2l2s2:3f3v3
??1facet@locale@std@@MEAA@XZ
1ff3333fffffffffffa
1FFFFFFFFFFFFFFFFFFFFFFFFFFFFF?
1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
;1;F;j;|;
??1FSN_FILTER@@UEAA@XZ
??1FSTRING@@UEAA@XZ
??1Gemm@cask@@UEAA@XZ
??1GemmShader@cask@@UEAA@XZ
1(GGGGqU
1?GLvZ@)
1)gQd244;
1G!wQ.V#
1H1]1o1|1
??1HMEM@@UEAA@XZ
??1HWNDElement@DirectUI@@UEAA@XZ
1I1P1t1x1|1
1I2Z2k2v2
1igX	VSj
1ihT.reg 
1i-i-r4t4
??1ImpersonateUser@@UEAA@XZ
??1ItemList@DirectUI@@UEAA@XZ
1j2r2V3e3
1J3f3x364H4
1j)X@SJ4
1K1Q1[1v1
1K4	1RJF
?	? ?1?L?
1L5S5Z5a5h5
??1_Locinfo@std@@QEAA@XZ
??1_Lockit@std@@QEAA@XZ
??1Log@UDC@@QEAA@XZ
1LT?405(
1Microsoft Testing Root Certificate Authority 2010
1MOf168x
1MONITOR_POWER_STATEW0*
??1MOUNT_POINT_MAP@@UEAA@XZ
??1MULTIPLE_PATH_ARGUMENT@@UEAA@XZ
1n)?5108
:*:1:N:u:
1o8p86E7E
1oA3181l
1o"B1107
??1OBJECT@@UEAA@XZ
1OL!21!1	
1.o*mi36
??1Operation@cask@@UEAA@XZ
)1P2P2333
??1PATH_ARGUMENT@@UEAA@XZ
??1PATH@@UEAA@XZ
??1PoolingFwdFP16x2Shader@cask@@UEAA@XZ
??1PoolingFwdFP16x8NHWCShader@cask@@UEAA@XZ
??1PoolingFwdINT8x32Shader@cask@@UEAA@XZ
??1PoolingFwdINT8x4Shader@cask@@UEAA@XZ
??1PoolingOperation@cask@@UEAA@XZ
??1PoolingShader@cask@@UEAA@XZ
??1PROGRAM@@UEAA@XZ
	1PX27 56
1q64.u32	!
;!;1;:;Q;a;q;
?1?:?Q?a?q?
1QBB0_48
?1?:?Q?Z?q?z?
1r10D	Er101!
[1r_1v*zQ
1r22z"Ar218U
1R2K4X4h4l4p4t4
1r31g-!10
1r8q8)C)C
1rb-2	@K
1rennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
1S4S4v#w#
1seitilibapaCrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
:1ServiceCommandWithIndexW
??1Shader@cask@@UEAA@XZ
??1SoftmaxOperation@cask@@UEAA@XZ
??1STREAM_MESSAGE@@UEAA@XZ
??1STRING_ARGUMENT@@UEAA@XZ
1T2T2Z8X8
 |1t2tby
1T3[355F5Z5
??1TaskPage@DirectUI@@UEAA@XZ
:1:T:g:p:
??1TouchButton@DirectUI@@UEAA@XZ
??1type_info@@UEAA@XZ
1U2]2c2r2
1u8t89-:-O"O"
1uCf207(4
??1Value@Json@@QEAA@XZ
1vDmOO(9
1vI22131
1.visible .entry ampere_sgemm_128x128_nt_v0(
#1vVK;n_
1v-w--9-9P:P:
1W9W9GDIDS7U7
1x3y3|6|6w2v2e3c3
1X9Y9q;p;BEBE
1|"|"x-y-
1y0z0P.O.
1Y2_2q2|2
1YJfwJbI
!1Ys10144
1)ZfF:	_
1z-|-L4J4
1	zQ1P6.S#
1zr!4115:
1ZYYYbYYYYYbYYZ1
2"""""""""""'
200131192639Z
2?0@0".!.1414
200218030653Z
200304183038Z
200304183039Z
-2004318071T
-2004318071Y
200502212436Z0p1
200504090619Z0#
200512000000Z
200722153329Z
200930065703Z
2010101abgR.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
201015172814Z
201015172820Z
201015172821Z
201015172823Z
201015172825Z
201015172826Z
201023000000Z
201112182555Z
201112182556Z
201112182557Z
201112182558Z
201112182600Z
201112182601Z
201112182604Z
201112182605Z
20*!121*!122*3120
201215212914Z
201215221533Z
 2013 - 2020 Intel Corporation
20181004111249Z0
20190704091944Z0
20191207005723.948Z0
20191207005851.007Z0
20191207034446Z
20191207054708.998Z0
20191207055459.524Z0
20191207055506.073Z0
20191207075226Z
20191207075338Z
20191207075411Z
20191208075338Z0t0:
20200925223643Z
20200925223650Z
20200926060451.388Z0
20200926060510.137Z0
20200926060515.606Z0
20200926092919Z
 2020-2021 SteelSeries ApS
20210108152301Z
20210108160718.676Z0
20210108160734.808Z0
20210108200448.319Z0
20210108200448.377Z0
20210108200512.901Z0
20210108200854.169Z0
20210108200950.133Z0
20210108201043.384Z0
20210108201541.76Z0
20210108201600.717Z0
20210108203804Z
20210108213540Z
20210108214208Z
20210108222207Z
20210108222749Z
20210108224604Z
20210109032338Z
20210109224604Z0t0:
20210121082557.429Z0
20210210012419Z
20210210055833.426Z0
20210210060451.296Z0
20210210134704Z
20210211134704Z0t0:
20210316162253.506Z0
20210317130557.338Z0
20210317203534Z
20210407085929.853Z0
20210407115845Z
20210521212714Z
20210521212716Z
20210604215323Z
20210604235902.75Z0
20210604235906.913Z0
20210605044412Z
20210606044412Z0t0:
20210612004630Z
20210612071908.848Z0
20210616070402Z
20210616132352.477Z0
20210709093131.829Z0
20210709114455Z
20210713094552Z
20210713094557Z
20210713094600Z
20210714110735Z
20210714141911.607Z0
20210714141922.265Z0
20210714141923.466Z0
20210714183602Z
20210714220030Z
20210715183602Z0t0:
20210722124019Z
20210723005802Z
20210723081050.217Z0
20210725104448Z
20210725115402.173Z0
20210730090228.919Z0
20210730122335Z
20210826015507Z
20210826045455.754Z0
20210826100914.884Z0
20210826101045.373Z0
20210826135532Z
20210826180836Z
20210827015507Z0t0:
20210827100815.95Z0
20210827133937Z
20210827135532Z0t0:
20210827180836Z0t0:
20210910013832.693Z0
20210910024659Z
20210929030941Z0
20210930084028Z
20210930094137.28Z0
20211007214339Z
20211008044722.541Z0
20211021022442Z
20211029013821Z
20211029015335Z
20211029030814.174Z0
20211029030817.579Z0
20211029061902.558Z0
20211029084619.683Z0
20211029100716Z
20211029100717Z
20211029214546Z
20211029214618Z
20211029222017.243Z0
20211029222026.214Z0
20211029225405.774Z0
20211029225414.046Z0
20211030000756Z
20211030214618Z0t0:
20211201093534Z
20211201093637Z
20211201093709Z
20211203184442Z
20211203184443Z
20211203184444Z
20211203205531Z
20211203205532Z
20211203205533Z
20211203205534Z
20211203205535Z
20211203205537Z
20211203205539Z
20211203205542Z
20211203205546Z
20211208143153.138Z0
20211208143158.391Z0
20211208143159.744Z0
20211208183540Z
20211208183719Z
20211208183824Z
20211209183719Z0t0:
20211209183824Z0t0:
20211210095040Z
20211210112535.435Z0
20211210112611.46Z0
20211210112613.99Z0
20211210112625.211Z0
20211210112626.754Z0
20211210112629.438Z0
20211210112630.835Z0
20211210112633.595Z0
20211210112645.376Z0
20211210112705.542Z0
20211210155144Z
20211210155150Z
20211210174937Z
20211211155144Z0t0:
20211211174937Z0t0:
20211226195551Z
20211227020242.722Z0
20211227020313.093Z0
20211227020314.217Z0
20211227020325.664Z0
20211227020327.253Z0
20211227020329.893Z0
20211227020331.392Z0
20211227020334.053Z0
20211227020351.909Z0
20211227020414.022Z0
20211227023425Z
20211227034250Z
20211227054529Z
20211228034250Z0t0:
20220121134216Z
20220124131511Z
20220124142315.597Z0
20220124142317.144Z0
20220124174524Z
20220126083352Z
20220126162221.622Z0
20220128083958Z
20220128084019Z
20220128084022Z
20220128084026Z
20220128084030Z
20220128084045Z
20220128084049Z
20220128084053Z
20220128084057Z
20220128084112Z
20220128212716Z
20220129004855Z
20220129004906Z
20220129024210Z
20220129040346.826Z0
20220129040418.442Z0
20220129040439.517Z0
20220129040441.951Z0
20220129040445.959Z0
20220129040447.767Z0
20220129040521.237Z0
20220129040522.571Z0
20220129040523.714Z0
20220129040527.296Z0
20220129071955Z
20220130004855Z0t0:
20220211012109Z
20220211022534.831Z0
20220211094526.52Z0
20220211094546.589Z0
20220211094601.949Z0
20220211094610.386Z0
20220211095634.588Z0
20220211122100Z
20220211122529Z
20220211130648Z
20220211131404Z
20220211155029Z
20220212122100Z0t0:
20220212131404Z0t0:
20220212155029Z0t0:
20220218063646Z0
20220218063648Z0
20220218063649Z0
20220227222522Z
20220228003859Z
20220228015345.7Z0
20220228015359.032Z0
20220228015400.459Z0
20220315114055Z
20220315121954Z
20220315132200.46Z0
20220317080735Z
20220317080739Z
20220317080743Z
20220324121936Z0
20220324121937Z0
20220328025823Z
20220328041733.777Z0
20220328041735.381Z0
20220328102727Z
20220329025823Z0t0:
20220422040717Z
20220422063936.017Z0
20220425023056Z0
20220425023057Z0
20220425023058Z0
20220430073954Z
20220430094912.634Z0
20220502091056Z
2022-05-13
20220517013436Z
20220517083719.684Z0
20220517083733.256Z0
20220517083737.358Z0
20220517083739.864Z0
20220517083748.682Z0
20220517092414Z
20220517155814Z
20220518092414Z0t0:
20220518153801Z
20220518153847Z
20220518153849Z
20220518153850Z
20220518153852Z
20220518153857Z
20220518155814Z0t0:
20220522190143.651Z0
20220522221049Z
20220523221049Z0t0:
20220523230133Z
20220524010056Z
20220524021636.529Z0
20220524021804.313Z0
20220524021806.122Z0
20220524021808.436Z0
20220524021812.464Z0
20220524021827.628Z0
20220524041114Z
20220524230133Z0t0:
20220525071523.351Z0
20220525081710Z
20220526081710Z0t0:
20220528023718Z
20220528023722Z
20220531102038Z
20220531201144Z
20220531212021.836Z0
20220531212023.351Z0
20220601011624.297Z0
20220601011625.509Z0
20220601011632.272Z0
20220601015105Z
20220601032432Z
20220601095218.338Z0
20220601135105Z
20220601201144Z0t0:
20220607095316Z
20220607095320Z
20220607095323Z
20220607095326Z
20220607100034Z
20220609014030Z
20220609123146Z
20220609152154.318Z0
20220609152201.898Z0
20220609152203.163Z0
20220609152204.373Z0
20220609153621Z
20220609210958Z
20220609213414Z
20220610123146Z0t0:
20220610153621Z0t0:
20220610210958Z0t0:
20220614082524Z
20220616015104Z
20220616073604.921Z0
20220616075533.677Z0
20220616093415Z
20220630085719Z
20220630104715.776Z0
20220701141800Z
20220701145912Z
20220701172407.352Z0
20220701172409.068Z0
20220702141800Z0t0:
20220720024600.472Z0
20220720073720Z
20220720081857.59Z0
20220720085719Z
20220726080929Z
20220726093819Z
20220726105857.564Z0
20220726105934.687Z0
20220726105949.303Z0
20220726105956.17Z0
20220726110000.71Z0
20220726110002.142Z0
20220726110052.561Z0
20220726110054.118Z0
20220726110055.809Z0
20220726110057.227Z0
20220726112033Z
20220726133854Z
20220726173536Z
20220727080929Z0t0:
20220727133854Z0t0:
20220727173536Z0t0:
20220805045017Z
20220805045018Z
20220805045019Z
20220805045020Z
20220805045021Z
20220805045022Z
20220805045023Z
20220805045024Z
20220805045030Z
20220811013855Z
20220811080929Z
20220811082558Z
20220811083345.041Z0
20220811110416.742Z0
20220811110507.613Z0
20220811110528.407Z0
20220811110535.71Z0
20220811110542.15Z0
20220811110619.469Z0
20220811141844Z
20220811184913Z
20220812013855Z0t0:
20220812184913Z0t0:
20220815064913Z
20220815072849Z
20220815080404Z
20220815081512.617Z0
20220815081618.299Z0
20220815081623.911Z0
20220815081626.497Z0
20220815081629.104Z0
20220815081702.179Z0
20220815102307Z
20220815113700Z
20220816072849Z0t0:
20220822085131Z0
20220822085223Z0
20220822085339Z0
20220822085341Z0
20220822085343Z0
20220822090901Z0
20220822092918Z0
20220822092939Z0
20220822092940Z0
20220822092941Z0
20220822092943Z0
20220822092944Z0
20220822092945Z0
20220822092947Z0
20220822092948Z0
20220822092949Z0
20220822092951Z0
20220822092952Z0
20220822093614Z0
20220822093828Z0
20220822094408Z0
20220822094409Z0
20220823073314.914Z0
20220823075716Z
20220824075716Z0t0:
20220910042831Z
20220910063320.937Z0
20220910063844.346Z0
20220910101454Z
20221004040808.675Z0
20221004045619Z
20221005045619Z0t0:
20221011064805Z0
20221012073728.809Z0
20221012102514Z
20221013102514Z0t0:
20221014022633.124Z0
20221014023002.815Z0
20221014050719Z
20221014073117Z
20221015073117Z0t0:
20221020211905Z
20221021042725.498Z0
20221021042739.893Z0
20221021042842.817Z0
20221021042851.967Z0
20221021042935.021Z0
20221021043024.959Z0
20221021043206.093Z0
20221021043207.783Z0
20221021043352.655Z0
20221021043354.803Z0
20221021043401.087Z0
20221021043402.659Z0
20221021043433.741Z0
20221021043435.059Z0
20221021043436.437Z0
20221021043437.741Z0
20221021043444.145Z0
20221021043445.389Z0
20221021043446.7Z0
20221021043448.043Z0
20221021043449.319Z0
20221021043450.652Z0
20221021043452.029Z0
20221021043453.565Z0
20221021073104Z
20221021081701Z
20221021082006Z
20221021085730Z
20221021115953Z
20221022073104Z0t0:
20221022085730Z0t0:
20221027060809Z
20221027060810Z
20221027060811Z
20221027060812Z
20221027060813Z
20221027060814Z
20221027060815Z
20221027060818Z
20221027060819Z
20221027060820Z
20221027060821Z
20221027074546Z
20221027074614Z
20221027074627Z
20221027074631Z
20221027074636Z
20221027074645Z
20221027074728Z
20221027074737Z
20221027074750Z
20221027074759Z
20221027074808Z
20221027115953Z
20221027142943.751Z0
20221027143034.693Z0
20221027143040.6Z0
20221027143043.29Z0
20221027143048.106Z0
20221027143111.912Z0
20221027143214.072Z0
20221027143220.837Z0
20221027143221.962Z0
20221027152621Z
20221027175605Z
20221027184853Z
20221027185030Z
20221027195830Z
20221027205730Z
20221028195830Z0s09
20221102192758Z
20221103010731Z
20221103084609.133Z0
20221103084610.049Z0
20221103084610.997Z0
20221103084615.319Z0
20221103084616.347Z0
20221103084617.525Z0
20221103084619.575Z0
20221103084634.395Z0
20221103084637.526Z0
20221103084639.561Z0
20221103084642.971Z0
20221103120113Z
20221103120413Z
20221103120622Z
20221103125254Z
20221103130500Z
20221103131317Z
20221103153056.134Z0
20221103153127.073Z0
20221103153136.492Z0
20221103153139.662Z0
20221103153144.318Z0
20221103153200.986Z0
20221103153241.332Z0
20221103153247.539Z0
20221103153249.077Z0
20221104185403Z
20221104185407Z
20221108233346Z
20221108234246Z
20221109000623Z
20221109010731Z
20221109015244Z
20221109031031.415Z0
20221109031056.269Z0
20221109031101.475Z0
20221109031103.874Z0
20221109031106.36Z0
20221109031117.089Z0
20221109031139.084Z0
20221109031143.697Z0
20221109031144.98Z0
20221109050752.474Z0
20221109051644.59Z0
20221109225906Z
20221110000623Z0t0:
20221110004043.988Z0
20221110004045.174Z0
20221110015244Z0t0:
20221114084634Z0
20221114115000Z
20221114115145Z
20221114115150Z
20221114115154Z
20221114115158Z
20221114115211Z
20221117014501Z
20221117051853.656Z0
20221117054142Z0
20221117054143Z0
20221117222006Z
20221118014501Z0t0:
20221118021640.753Z0
20221118021750.383Z0
20221118021753.478Z0
20221118021756.14Z0
20221118021757.605Z0
20221118021802.544Z0
20221118034526Z
20221118085748Z
20221118222006Z0t0:
20221119034526Z0t0:
20221119085748Z0t0:
20221120222641Z
20221121022712Z
20221121030711Z
20221121031255.708Z0
20221121031328.625Z0
20221121031345.524Z0
20221121031346.859Z0
20221121031350.184Z0
20221121031351.702Z0
20221121031429.982Z0
20221121031432.576Z0
20221121031433.966Z0
20221121031435.344Z0
20221121074637Z
20221122022712Z0t0:
20221122074637Z0t0:
20221123023818Z
20221123023844Z
20221123023858Z
20221123023902Z
20221123023907Z
20221123023916Z
20221123023959Z
20221123024008Z
20221123024021Z
20221123024030Z
20221123024038Z
20221124093532Z
20221124115503.372Z0
20221124115504.683Z0
20221125034525Z
20221125070713.084Z0
20221125070714.493Z0
20221125070715.953Z0
20221125070722.875Z0
20221125070724.582Z0
20221125070726.026Z0
20221125070730.354Z0
20221125070751.198Z0
20221125070755.444Z0
20221125070757.935Z0
20221125070800.416Z0
20221125073509Z
20221125074637Z
20221125081546Z
20221125110022Z
20221126034525Z0t0:
20221126074637Z0t0:
20221126081546Z0t0:
20221201054825Z0
20221201054826Z0
20221205030711Z
20221205050246Z
20221205070433.795Z0
20221205070549.286Z0
20221205070558.877Z0
20221205070607.405Z0
20221205070644.208Z0
20221205082738Z
20221205093856Z
20221206082738Z0t0:
20221206093856Z0t0:
20221219024057.657Z0
20221219073557Z
20221220073557Z0u0;
20221226111647Z
202@2D2T2d2h2l2
202@2D2T2X2h2l2|2
202@2H2T2t2
202@2L2T2l2t2|2
202@2P2T2X2p2
202:2U2_2z2
20230106050410.348Z0
20230106050814.464Z0
20230106051242.684Z0
20230106051303.928Z0
20230106073442Z
20230106073622Z
20230106074834Z
20230106074926Z
20230106191700.459Z0
20230106194835Z
20230107073442Z0t0:
20230107074834Z0t0:
20230107074926Z0t0:
20230107194835Z0t0:
20242H2T2X2
20282D2d2p2
202D2Z2p2
202g2l2q2
202G2P2r2
203"330b3;
20383H3r3
!20.51f20l
!206*2f20
"20922200
:209i	"104
20compress
.20j 1207
:2'0Kkhl
"20MA!d2r
20...s4r4
20; u-Hred.
"20XK2204
20; X@tred.andG
#20yIQparam
210101000000Z
210114190213Z
210114190214Z
210114190215Z
210114190216Z
210114190217Z
210114190219Z
210114190222Z
210121231919Z0
210122192639Z0z1
210211214035Z0
210211214038Z0
210211214039Z0
210218030653Z0
210218073741Z
210223113536Z
210303183038Z0p1
210303183039Z0p1
210317011459Z0
210317011503Z0
210317011504Z0
210317011505Z0
210317183333Z0
210317183333Z0I1
210322000000Z
210329000000Z
210331000000Z
21037!!d1
210402000000Z
210405000000Z
210409000000Z
210411221620Z0
210415200508Z0W1
210429000000Z
210521212714Z0?
210521212716Z0?
210525000000Z
210526000000Z
210527095523Z
210610185535Z
210617175559Z
210617235959Z0
210617235959Z0s1
210617235959Z0w1
210713094552Z0?
210713094557Z0?
210713094600Z0?
210715000000Z
210722000000Z
210722124019Z0?
210802000000Z
210803000000Z
210820000000Z
210902182341Z
210913000000Z
210922000000Z
210930182225Z
211028192739Z
211028192740Z
211028192742Z
211028192744Z
211028192745Z
211028192746Z
211121235959Z0
211201093534Z0?
211201093637Z0?
211201093709Z0?
211202190512Z
211202190513Z
211202190515Z
211202190516Z
211202190517Z
211202190519Z
211202190520Z
211202190522Z
211202190523Z
211202190524Z
211202212914Z0p1
211202221533Z0
211203205531Z0?
211203205532Z0?
211203205533Z0?
211203205534Z0?
211203205535Z0?
211203205537Z0?
211203205539Z0?
211203205542Z0?
211203205546Z0?
#2121c8d8EAEA
2[.1222"
212:2Q2Z2q2z2
"21_25213
212A2Q2a2q2
#2141z8z8
21474836
2.16.840.1.101.3.4.1.46
2.16.840.1.101.3.4.2.1
2.16.840.1.101.3.4.2.2
2.16.840.1.101.3.4.2.3
2.16.840.1.101.3.4.2.4
2.16.840.1.113730.1.3
2.16.840.1.113730.2.5
2.16.840.1.113730.4.1
2.16.840.1.113733.1.6.11
2.16.840.1.113733.1.9.2
2.16.840.1.113733.1.9.3
2.16.840.1.113733.1.9.4
2.16.840.1.113733.1.9.5
2.16.840.1.113733.1.9.6
2.16.840.1.113733.1.9.7
:216B]!13
2"16VA5162
2	1B2653
21f22Y-Bf223
!21i	5211
:2:1:IBJB
2_1IjLb0Q
"21nI"21nI#21
 2!1!W"X"	
220112172814Z0
220112172820Z0
220112172821Z0
220112172823Z0
220112172825Z0
220112172826Z0
220113235959Z0
220121134216Z0?
220127193119Z
220211182555Z0
220211182556Z0
220211182557Z0
220211182558Z0
220211182600Z0
220211182601Z0
220211182604Z0
220211182605Z0
2 20212.2
220219073741Z0
220226000000Z
2 202@2p2
2 202@2P2h2t2x2|2
2202321b
2 2024282@2X2h2l2|2
2@2028262
2(20282D2h2
2(202T2d2l2t2|2
220302185116Z
220302185118Z
220302185121Z
220302185122Z
220302185123Z
220302185128Z
220302185129Z
220302185136Z
220302185137Z
220302185142Z
220310192419Z
220310195804Z
220310195805Z
220310195806Z
220315114055Z0?
220323000000Z
220328000000Z
220329000000Z
220411190213Z0
220411190214Z0
220411190215Z0
220411190216Z0
220411190217Z0
220411190219Z0
220411190222Z0
220426000000Z
220502091056Z0?
220505192313Z
220505192315Z
220511000000Z
220513000000Z
220526235959Z0
220530000000Z
220531102038Z0?
220607095316Z0?
220607095320Z0?
220607095323Z0?
220607095326Z0?
220607180806Z
220609000000Z
220609185535Z0p1
220616175559Z0
220629000000Z
220801000000Z
220802235959Z0l1
220805000000Z
220805045017Z0?
220805045018Z0?
220805045019Z0?
220805045020Z0?
220805045021Z0?
220805045022Z0?
220805045023Z0?
220805045024Z0?
220805045030Z0?
220822085131Z0)
220822085223Z0)
220822085339Z0)
220822085341Z0)
220822085343Z0)
220822090901Z0)
220822092918Z0)
220822092939Z0)
220822092940Z0)
220822092941Z0)
220822092943Z0)
220822092944Z0)
220822092945Z0)
220822092947Z0)
220822092948Z0)
220822092949Z0)
220822092951Z0)
220822092952Z0)
220822093614Z0)
220822093828Z0)
220822094408Z0)
220822094409Z0)
220901182341Z0p1
220913235959Z0l1
220920202159Z
220920202201Z
220920202203Z
220920202209Z
220920202214Z
220920202216Z
220920202217Z
220920202219Z
220921000000Z
	22.10.0.7
221013194349Z
221027060809Z0?
221027060810Z0?
221027060811Z0?
221027060812Z0?
221027060813Z0?
221027060814Z0?
221027060815Z0?
221027060818Z0?
221027060819Z0?
221027060820Z0?
221027060821Z0?
221104190125Z
221104190127Z
221104190128Z
221104190132Z
221104190135Z
221104190137Z
221104190138Z
221104190140Z
2"212;2C2H2R2c2h2r2
2#212?2F2N2f2x2
2!212:2Q2a2q2
2!21272A2J2a2q2
2!212A2J2a2q2
2!212A2Q2a2q2z2
2(212G2R2a2
!22? 1r22
2#2*20262@2J2Q2Y2s2x2
2 2(20282@2H2P2X2
2 2(20282@2H2P2X2l2t2|2
2 2(20282@2H2T2t2|2
2 2(20282d2
2 2(20282D2d2l2t2|2
2222::::
222222222
2#2-22282A2H2i2
2#2(222C2H2R2a2s2
2#2(222C2H2R2c2h2r2
2(2-222H2M2R2h2m2r2
2 2)2.282B2L2X2d2m2r2|2
2!222A2V2e2z2
2"222B2R2i2
2222b	?372
2'222D2c2m2w2
2 2(2@2H2P2X2p2x2
2!2.2;2H2U2b2o2|2
2 2(2@2P2T2d2h2x2|2
2"2.23292S2X2b2s2x2
2	2.24253
2 2(242X2x2
2!2-292Y2
2!2*2A2Q2a2q2
2"2)2A2v2
2.2@2b2|2
2#2)2b2h2
2#2*2B2Y2
2!2)2C2H2R2c2h2r2
2"2-2d2n2x2
2!2)2E2J2P2_2l2
2!2'2H2e2
2 2(2H2l2x2
2-2:2H2X2v2
2 2@2L2l2x2
2(2?2L2V2f2q2
222L2Y2f2
2!2(2M2U2[2i2
2 2(2P2d2t2
222S2Z2l2
2 2:2T2a2n2
2 2@2T2d2x2
2!2*2U2o2
2(2:2V2m2
2"2:2W2r2
2#2?2X2v2
2(2-2Y2j2
2:2_2Y3q3
2.23.133.2.1
2.23.133.2.16
2.23.133.2.17
2.23.133.2.18
2.23.133.2.2
2.23.133.2.3
2.23.133.8.1
2.23.133.8.2
2.23.133.8.3
2"23282B2Q2c2o2t2
2"23282B2S2X2b2q2
2"23282B2S2X2b2s2x2
2(232J2O2T2Z2d2n2x2
2(232N2_2p2
22363A3M3u3
2!2*373V3f3
2(242@2L2X2d2p2|2
2.242:2Q2V2b2g2s2x2
	22.5.0.33
"225)"22
2)252:2?2Z2d2p2u2z2
2-252?2V2[2a2k2u2
2*252G2b2
!225"Jd354U
'2'2;@;@6
2.262f2x2
226712991
*!2267W*
2268F3!80
2.272Y2s2
2'282A2Z2X3
2-282C2J2U2
2 282H2L2T2l2|2
2 282h2x2
2(282L2T2t2
228C064074B3791CEF41FDC25DD83632DB15718E4D28A9D8E561FBC73015A910
2!292A2b2
2-292Q2X2
2@2A282:2
2!2A2G2g2m2
2'2A2W2e2y2
2-2C2]2j2w2
2)2C2S2h2
2#2D2]2z2
2 2D2d2l2t2|2
2(2D2H2h2
2@2D2H2L2P2
2@2D2L2P2T2X2
2 2D2L2T2d2t2|2
2 2D2L2X2
2#2D2P2c2
2'2D2Z2w2
;22dV::tN
2!2E2O2j2
2:2F2_2v2
2"2F2T2f2v2
2"2F2T2m2v2
#22g !22D'
2.2H2b2|2
2@2H2P2X2d2
2(2H2T2x2
2.2H2U2b2
*2;2H2Y2f2w2
!22i 1r227
2(2L2l2t2|2
2?2M2X2c2j2u2
2*2N2T2Z2q2v2
2:2N2U2k2
2@2P2Q2N2
2@2P2X2V2
"22S 3220
2 2T2d2|6
*2-2-U"V"
22Vd::Nt
230126192739Z0
230126192740Z0
230126192742Z0
230126192744Z0
230126192745Z0
230126192746Z0
230126193119Z0z1
230228190512Z0
230228190513Z0
230228190515Z0
230228190516Z0
230228190517Z0
230228190519Z0
230228190520Z0
230228190522Z0
230228190523Z0
230228190524Z0
230301235959Z0
230308192419Z0p1
230308195804Z0
230308195805Z0
230308195806Z0
230331235959Z0p1
230402235959Z0
230405235959Z0p1
230409235959Z0p1
230419235959Z0Y1
230504192313Z0p1
230504192315Z0p1
230511185116Z0
230511185118Z0
230511185121Z0
230511185122Z0
230511185123Z0
230511185128Z0
230511185129Z0
230511185136Z0
230511185137Z0
230511185142Z0
230513235959Z0Z1
230516235959Z0l1
2305843009213693
23058430092136939
230584300921369393
2305843009213693939e
23058430092136939G	
230601180806Z0
230810120000Z0e1
230914235959Z0l1
231011194349Z0z1
231214202159Z0
231214202201Z0
231214202203Z0
231214202209Z0
231214202214Z0
231214202216Z0
231214202217Z0
231214202219Z0
2!313A3Q3Y3u3z3
232272r633#3333c2223#63332233c22
232@2E2S2
"23	 !23
23252T5T5
23282B2S2X2b2s2x2
2328; stC
2_3_29:x
2329x	Od274
232d2k2r2y2
#232-Od222
2 3-323D3Z3p3
2:3:33!A
233:3B3K3
2	3#3-3F3X3y4
2	3:3A3H3O3r3
2	3(3F3V3
2-3-3i-h-
2;3@3K305
233L3T3C4
2340mI!53
2-343i3o3v3
2*343Q3f3k3
2;3*444T4
2 353K3X3f3t3
2(383D3L3
2395c@'21
2!3G3e3l3p3t3x3|3
23gR.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
2?3I3X3f3n3t3
23IwXZ72
2	3	M	N	
23niWremiTrehctapsiD.krowemarF.anX.tfosorciM
!23O(Cf237
!23)(Of230
2-3T3b3y3
2-3t3x3|3
23tnIeziS.scihparG.swodniW
23tnItceR.scihparG.swodniW
23tnItnioP.scihparG.swodniW
23tnIUeziS.ecivreSfOtnioP.seciveD.swodniW
2*3X3j3)4Z5
#23ys!79
240202190125Z0
240202190127Z0
240202190128Z0
240202190132Z0
240202190135Z0
240202190137Z0
240202190138Z0
240202190140Z0
2402; st.shared.v2.u32 [smem_ptr
240303235959Z0
240510235959Z0
240615000000Z0n1
240719235959Z0
240721235959Z0
240819235959Z0S1
241017235959Z0
241121235959Z0
2417e]#41b
242@2H2h2
242:2T2[2a2f2x2
24282P2T2l2p2
24282X2x2
!24@	2f24
242Q2[2a2g2
243;3B3h3|3
"!24*"4245D
2)4*4_#_#3*3*
2 4(4_4f4
2'4'4b#b#0*0*
2)4*4h#e#5*2*
2]4]4N#N#E*G*
2#4!4p#m#-*.*
2:4?4u4z4
2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e31
!24 *!52
2456; st
;245]T2133
2472;	"d27	
.24Cg"249T
2_4gemm9GemmShapeILi16ELi8
2_4gemm9GemmShapeILi16g
2_4gemm9GemmShapeIQ
2_4gemm9GemmShapeIV
.24j3!61
24o4po#2:
2!4V6d6v6
*24Z5#12
250425235959Z0
250604174753Z0L1
250701214655Z0|1
250722210349Z0
252:2@2Q2V2c2p2
!!25	"2255u
2.5.29.1
2.5.29.14
2.5.29.15
2.5.29.16
2.5.29.17
2.5.29.18
2.5.29.19
2.5.29.2
2.5.29.20
2.5.29.21
2.5.29.23
2.5.29.24
2.5.29.27
2.5.29.28
2.5.29.30
2.5.29.31
2.5.29.32
2.5.29.33
2.5.29.35
2.5.29.36
2.5.29.37
2.5.29.37.0
2.5.29.46
2.5.29.7
2.5.29.8
2.5.29.9
252G2P2h2p2
252J2k266E6
2532. !32
2.5.4.10
2.5.4.11
2.5.4.12
2.5.4.13
2.5.4.15
2.5.4.17
2.5.4.41
2.5.4.42
2.5.4.43
2.5.4.44
2.5.4.45
2.5.4.46
2.5.4.52
2.5.4.65
2.5.4.72
255.255.255.255
2.5.5.52
2!5"5y9|9
256x128_32x3_nt_
256x128_32x3_nt_align8EEvNT_6ParamsE_q
256x128_64x3_nt_
256x128_64x3_nt_align8EEvNT_6ParamsE_q
256x128_64x3_nt_align8EEvNT_6ParamsE_s
(2572!25a
261019185142Z0
2"626B6V6h6
262A2J2P2Z2v2
262C2J2f3u3
262D2]2f2o2u2
262H2R2t2
263D3d3v3
264B4T4d4n495B5
265H5F7X7V9h9
26843545
268435455	
26843545r
26D31C768708C74BBB5F38744315A5FF
."26n65262O
270418120000Z0l1
270418235838Z0
!27:-1f27
272b223]3
272R2_2u2
27575l-j-
2759:K:]:o:
2779A'1d11
!278-1f27wt
27first_layer_imma_fwd_kernelILi8ELi7
"27P	"27
27Q-9R5m
280128120000Z0L1 0
280128120000Z0R1
2803_lld.3sehtsm
2803_lld.ne3rgsm
281022120000Z0r1
281231235959Z0V1
282@2H2P2X2d2
282@2L2T2l2
282D2d2p2
283u3F4U4
2:8;8IEIE
28a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c02000013000000000000000000000000
;"28fD#28
-28GK1128i
!28iFFf28278
#28@k!12k
!28kFFf28278
290318100000Z0L1 0
290322235959Z0
290622193254Z0
290724141512Z0
291015204127Z0
292F2g2w2|2
 (29?CNU
;#;);2;9;?;E;K;W;];f;m;s;y;
!29	'Of299
"29?y"29g
2A2Q2a2q2
2A2R2[2n2
2A4B4S#S#
2A5!7Q7a7z7
2)*Afd14
2?agmc8U
:";2;A;P;s;y;
2aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
:#:(:2:A:S:_:d:p:z:
;#;(;2;A;S;_;d;p;z;
?#?(?2?A?S?_?d?p?z?
?#?(?2?A?S?_?d?q?
2ataDnoitacilppAI.egarotS.swodniW
2B2I2U2d2j2o2
2B3K3O3U3Y3_3c3m3
2B4A4Q#Q#Z*X*
2**Bf201
? ?-?2?;?B?G?M?R?_?d?m?t?y?
2bhhhhhh
2boJtnirPtpieceRI.ecivreSfOtnioP.seciveD.swodniW
2 bra BB2_
2	Brbra.uni
2c4b4n#o#|*|*
2cBB0_43
2"cBf220
2@cd9DU7r
:#:(:2:C:H:R:a:s:
?#?(?2?C?H?R?a?s?
:	:#:(:2:C:H:R:c:h:r:
;#;(;2;C;H;R;c;h;r;
?#?(?2?C?H?R?c?h?r?
2citatSreganaMtnirPI.gnitnirP.scihparG.swodniW
2citatSsecioVdellatsnII.sisehtnyShceepS.aideM.swodniW
2citatSsnoitpOksaTtnirPdradnatSI.gnitnirP.scihparG.swodniW
2citsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2cKB2150
?(?2?c?n?s?x?
?!?2?C?T?e?v?
2d01257b1d12c6643689a683447b3ba88ca48f75c1680e127a651f8545d7c1a2a3d46f5db5c702a8155e811fdc1efc4ceff96100222004e771d09c2f949f3257
2d27226d
2D2L2T2d2p2x2
2D2N2X2b2m2
2d3f3e-e-t2u2
2d3k3r3y3
2d51e252394309350d7e8264ec2239ddf0b9891b0b099e8e3065de78818570c93ce6b05ec3e90f21cdb8dd7e4a37898de4929cbb749e20c64ce4889d0f6394ac
2dapemaGI.tupnI.gnimaG.swodniW
2DGC2495
2d'Id344
2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA
2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA0
2dirGI.slortnoC.lmaX.IU.swodniW
2dirGparWsmetII.slortnoC.lmaX.IU.swodniW
:":':-:2:?:D:M:T:Y:_:d:q:v:
2dnammoCIUdradnatSI.tupnI.lmaX.IU.swodniW
2dV2:tN:
2E2ETIQI
2E3M3Y3f3m3v3
2E6D63A3A
2ecafruSgniwarDnoitisopmoCI.noitisopmoC.IU.swodniW
2ecapScihpargoloHI.cihpargoloH.scihparG.swodniW
2eciveDELhtooteulBI.htooteulB.seciveD.swodniW
2eciveDhtooteulBI.htooteulB.seciveD.swodniW
2eciveDlaiDI.locotorPlaiD.aideM.swodniW
2eciveDretnioPI.tupnI.seciveD.swodniW
2eciveDscihparGnoitisopmoCI.noitisopmoC.IU.swodniW
2eciveDsmSI.smS.seciveD.swodniW
2eciveDsmS.smS.seciveD.swodniW
2ecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
2ecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
2ecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2ecnatsnIksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2ecnerefeRemarFaideMI.semarF.erutpaC.aideM.swodniW
2ecnerruceRtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2ecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2ecruoSaideMI.eroC.aideM.swodniW
2ecruoSeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
2ecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
2ecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
2ecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
2ecruoSmaertSaideMI.eroC.aideM.swodniW
2ecruoSmaertSesMI.eroC.aideM.swodniW
2ecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2ecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
2ecruoSreyalPaideMI.kcabyalP.aideM.swodniW
2ecruoStupnIdraobyeKeroCI.eroC.IU.swodniW
2ecruoStupnIretnioPeroCI.eroC.IU.swodniW
2ecruoStupnItnednepednIrellortnoClaidaRI.eroC.tupnI.IU.swodniW
2edoMyalpsiDimdHI.eroC.yalpsiD.scihparG.swodniW
2edoNtupnIoiduAI.oiduA.aideM.swodniW
2EEENS3_8DilationILi1ELi1
2egakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2egakcaPFM3D3gnitnirPI.D3gnitnirP.scihparG.swodniW
2egakcaPI.ledoMnoitacilppA.swodniW
2egamII.slortnoC.lmaX.IU.swodniW
2egamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
2egasseMliamEI.liamE.ledoMnoitacilppA.swodniW
2egasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2egasseMtxeTsmSI.smS.seciveD.swodniW
2egasseMtxeTsmS.smS.seciveD.swodniW
2egaugnaLI.noitazilabolG.swodniW
2egnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2ekortSknII.gniknI.tupnI.IU.swodniW
2ELi4ELi3
2ELi8ELi3
2eliFegarotSI.egarotS.swodniW
2eliforPevitaNnpVI.npV.gnikrowteN.swodniW
2eliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
2eliforPnIgulPnpVI.npV.gnikrowteN.swodniW
2eliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
2eliforPoediVerutpaCaideMI.erutpaC.aideM.swodniW
2eliTyradnoceSI.neercStratS.IU.swodniW
2elpmaSmaertSaideMI.eroC.aideM.swodniW
2elytSpuorGI.slortnoC.lmaX.IU.swodniW
2elytStxeTdemiTI.eroC.aideM.swodniW
2emarFaideMhtpeDI.semarF.erutpaC.aideM.swodniW
2emarFcihpargoloHI.cihpargoloH.scihparG.swodniW
2emarFderutpaCI.erutpaC.aideM.swodniW
2emarFI.slortnoC.lmaX.IU.swodniW
2emarFoediVI.aideM.swodniW
2emarFtceffEsisylanAenecSI.eroC.aideM.swodniW
2emuloVegakcaPI.tnemyolpeD.tnemeganaM.swodniW
2enaPtupnII.tnemeganaMweiV.IU.swodniW
2eniLenohPI.sllaC.ledoMnoitacilppA.swodniW
2epahSI.sepahS.lmaX.IU.swodniW
2epyTlmaXI.pukraM.lmaX.IU.swodniW
2erotSegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2erotSetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2erotSmetItellaWI.tellaW.ledoMnoitacilppA.swodniW
2erotSmetsySmetItellaWI.metsyS.tellaW.ledoMnoitacilppA.swodniW
2erotSnoitatonnAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2erotStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2erotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2erotStnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
2erutpaCaideMI.erutpaC.aideM.swodniW
2erutpaCecneuqeSotohPelbairaVI.eroC.erutpaC.aideM.swodniW
2esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
2esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
2esneciLppAerotSI.erotS.secivreS.swodniW
2esneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2esoParemaCcihpargoloHI.cihpargoloH.scihparG.swodniW
2esoPecruoSnoitcaretnIretnioPlaitapSI.laitapS.tupnI.IU.swodniW
2esoPretnioPlaitapSI.laitapS.tupnI.IU.swodniW
2etacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2etadidnaCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
2etadpUnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
2etatSecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2etatSlausiVI.lmaX.IU.swodniW
2etisbeWtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2etiSlortnoCweiVbeWI.poretnI.IU.beW.swodniW
2etuoRpaMI.spaM.secivreS.swodniW
2etyBdezilamroN.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
2euCataDI.eroC.aideM.swodniW
2eueuQrehctapsiDI.metsyS.swodniW
2F0FZA[A
2f13m@?140X
@2f18j@B1823z
2F2K2P2x2
2F4F4A4Az(y(u4w4
2F4H4s#q#u*u*
2F4U4f8x8
2f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
2f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d36
2F8U8F;R;n;
2FColorWWW
;!;2;?;F;[;p;
;2;_;f;q;
?2?F?S?r?
	'2g0hRi
2g3.464f4x4
2G3M3V3m3
2G3Q3t3x3|3
2g4Kv|dB
2geLetuoRpaMI.spaM.secivreS.swodniW
2GetSystemDefenseStatusWWd
2gnidaeRretemitlAI.srosneS.seciveD.swodniW
2gnidaeRretemonilcnII.srosneS.seciveD.swodniW
2gnidaeRretemoraBI.srosneS.seciveD.swodniW
2gnidaeRretemoreleccAI.srosneS.seciveD.swodniW
2gnidaeRretemoryGI.srosneS.seciveD.swodniW
2gnidaeRretemotengaMI.srosneS.seciveD.swodniW
2gnidaeRrosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
2gnidaeRrosneSnoitatneirOI.srosneS.seciveD.swodniW
2gnidaeRrosneSthgiLI.srosneS.seciveD.swodniW
2gnidaeRssapmoCI.srosneS.seciveD.swodniW
2gnidniBI.ataD.lmaX.IU.swodniW
2gnidroceRaideMgaLwoLI.erutpaC.aideM.swodniW
2gninoisivorPdraCtramSI.sdraCtramS.seciveD.swodniW
2gniriaPnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
2gnitsiLtcudorPI.erotS.ledoMnoitacilppA.swodniW
2golaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
2golataCegakcaPI.ledoMnoitacilppA.swodniW
2h2l2p2t2x2|2
2h3l3p3t3x3|3
2h7j7c:b:[:Z:
2h7l7p7t7
2H8G8.7.7
2?hDf254
2HM"20CI
?(?-?2?H?M?R?h?m?r?
2hparGoiduAI.oiduA.aideM.swodniW
2hsurBcilyrcAI.aideM.lmaX.IU.swodniW
2hsurBecafruSnoitisopmoCI.noitisopmoC.IU.swodniW
2hsurBtneidarGnoitisopmoCI.noitisopmoC.IU.swodniW
2@hZW]16
2i0h0.8-8
2I2I7?7?
2"'Id344
2Impossibile trovare i seguenti file o applicazioni
;2;I;R;t;
2IUrekciPtcatnoCI.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
2IUretadpUeliFdehcaCI.redivorP.egarotS.swodniW
2iWtTb;BX
]2j1Qkq3
2J3P3[3a3
2j4j4U#U#D*D*
2J6[6h6y6
2JE[3tP@
2kcarTatadateMdemiTI.eroC.aideM.swodniW
2kcolBI.stnemucoD.lmaX.IU.swodniW
2kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
2kcolBtxeTI.slortnoC.lmaX.IU.swodniW
2knilrepyHI.stnemucoD.lmaX.IU.swodniW
:2:K:P:l:
2krowteNdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
) ]2krPO
2ksaTtnirPI.gnitnirP.scihparG.swodniW
;!;2;K;Y;z;
2l3p3t3x3|3
2lairetaMroloCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
2lausiVetirpSI.noitisopmoC.IU.swodniW
2lausiVI.noitisopmoC.IU.swodniW
2lausiVreyaLI.noitisopmoC.IU.swodniW
2ledoMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
2ledoMytilaeRdexiMeliTI.neercStratS.IU.swodniW
2lenaPdnuorgkcaBniahCpawSI.slortnoC.lmaX.IU.swodniW
2lenaPevitaleRI.slortnoC.lmaX.IU.swodniW
2lenaPI.slortnoC.lmaX.IU.swodniW
2lenaPkcatSI.slortnoC.lmaX.IU.swodniW
2lenaPkcatSsmetII.slortnoC.lmaX.IU.swodniW
2lennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
2lennahCnpVI.npV.gnikrowteN.swodniW
2lennahCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
2liateDreggirTdegnahCyrotsiHnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
2l:l:3:1:VCWC
2llaCenohPpioVI.sllaC.ledoMnoitacilppA.swodniW
2lortnoCdeepSosII.seciveD.aideM.swodniW
2lortnoChsalFI.seciveD.aideM.swodniW
2lortnoCI.slortnoC.lmaX.IU.swodniW
2lortnoCmooZI.seciveD.aideM.swodniW
2lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
2lortnoCrenetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
2lortnoCsmetII.slortnoC.lmaX.IU.swodniW
2lortnoCsucoFI.seciveD.aideM.swodniW
2lortnoCtekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
2lortnoCtekcoSbeWI.stekcoS.gnikrowteN.swodniW
2lortnoCtekcoSbeWmaertSI.stekcoS.gnikrowteN.swodniW
2lortnoCtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
2lortnoCtekcoSmargataDI.stekcoS.gnikrowteN.swodniW
2lortnoCtnetnoCI.slortnoC.lmaX.IU.swodniW
2lortnoCweiVbeWI.IU.beW.swodniW
:2:L:Y:f:
?2?L?Y?f?
2M2[2g2m2q2w2
2M3S3r3w3
2M7M7f.d.d
2mD2227Pl
2Me#74@s
2medoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
2metIbuStuoylFuneMI.slortnoC.lmaX.IU.swodniW
2metIegarotSI.egarotS.swodniW
2metIeueuQerotSI.erotS.secivreS.swodniW
2metIkcabyalPaideMI.kcabyalP.aideM.swodniW
2metIllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
2metItropmIotohPI.tropmI.aideM.swodniW
2metItuoylFuneMI.slortnoC.lmaX.IU.swodniW
2metIweiVeerTI.slortnoC.lmaX.IU.swodniW
2metIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2metsySetomeRI.smetsySetomeR.metsyS.swodniW
2MFQr1285L
2Microsoft Corporation Third Party Marketplace Root
2Microsoft Windows Hardware Compatibility Publisher0
2miSEI.srotarepOkrowteN.gnikrowteN.swodniW
;(;2;M;W;r;|;
2N2g2u2z2
2n3n35-6-3343
2nigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
2N.L.T4V4
2n.n.w4v4
2nocIpaMI.spaM.slortnoC.lmaX.IU.swodniW
2nocIpamtiBI.slortnoC.lmaX.IU.swodniW
2nocItnoFI.slortnoC.lmaX.IU.swodniW
2nogyloPpaMI.spaM.slortnoC.lmaX.IU.swodniW
2noisseSesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2noisseSkcabyalPaideMI.kcabyalP.aideM.swodniW
2noisseStropmIotohPI.tropmI.aideM.swodniW
2noitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
2noitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
2noitacifitoNwaRI.snoitacifitoNhsuP.gnikrowteN.swodniW
2noitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
2noitacilppAevisremmIeroCI.eroC.ledoMnoitacilppA.swodniW
2noitacilppAI.lmaX.IU.swodniW
2noitacoLecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2noitacoLerusolcnEI.noitaremunE.seciveD.swodniW
2noitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
2noitacoLlaitapSI.laitapS.noitpecreP.swodniW
2noitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
2noitaminAemarFyeKI.noitisopmoC.IU.swodniW
2noitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
2noitamrofnIeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
2noitamrofnIeciveDI.noitaremunE.seciveD.swodniW
2noitamrofnIeciveDtneilCsaEI.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
2noitamrofnIgnitsiLI.erotS.ledoMnoitacilppA.swodniW
2noitamrofnItekcoSbeWI.stekcoS.gnikrowteN.swodniW
2noitamrofnItekcoSmaertSI.stekcoS.gnikrowteN.swodniW
2noitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
2noitarepOdaolnwoDI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2noitarepOdaolpUI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2noitarepOerahSI.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
2noitarepOgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
2noitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2noitartsigeRpuorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
2noitarugifnoClennahCnpVI.npV.gnikrowteN.swodniW
2noitarugifnoCmedoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
2noitarugifnoCnoitaminAdetcennoCytivarGI.noitaminA.aideM.lmaX.IU.swodniW
2noitarugifnoCrellortnoClaidaRI.tupnI.IU.swodniW
2noitarugifnoCtnuoccAeciveDI.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
2noitasrevnoCtahCI.tahC.ledoMnoitacilppA.swodniW
2noitatonnAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2noitcasnarTetirWelbaileRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2noitcennoCecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
2noitcennoCredivorPataDtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
2noitcennoCredivorPrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2noitinifeDtceffEmrofsnarToediVI.stceffE.aideM.swodniW
2noitisnarTemehTnoitisopeRI.noitaminA.aideM.lmaX.IU.swodniW
2noitisopmoCaideMI.gnitidE.aideM.swodniW
2noitisopoeGI.noitacoloeG.seciveD.swodniW
2noitpircseDaideMeliforPoediVerutpaCaideMI.erutpaC.aideM.swodniW
2noitpircseDlortnoCnaelooBdiHI.eciveDecafretnInamuH.seciveD.swodniW
2nottuBresarErablooTknII.slortnoC.lmaX.IU.swodniW
@2NumberOfBytesToWrite
2O4O4p#o#B*A*
2(.'.o4q4
2:	?o-8 
2o@	c?#66n
2ofnIcitsongaiDppAI.metsyS.swodniW
2ofnIcitsongaiDssecorPI.scitsongaiD.metsyS.swodniW
2ofnIecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
2ofnIemaNevitanretlAtcejbuSI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2ofnIemaNniamoDnpVI.npV.gnikrowteN.swodniW
2ofnIgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
2ofnIgniteeMliamEI.liamE.ledoMnoitacilppA.swodniW
2ofnImaertSecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
2ofnInIngiSecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
2ofnInoitcetorPeliFI.ataDesirpretnE.ytiruceS.swodniW
2ofnInoitisnarTnoitagivaNedilSI.noitaminA.aideM.lmaX.IU.swodniW
2ofnIpuorGecruoseRppAI.metsyS.swodniW
2ofnIrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
2ofnItooRcnySredivorPegarotSI.redivorP.egarotS.swodniW
2ofnIyeKegarotSmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
2OItnemucoDlmXI.moD.lmX.ataD.swodniW
2o-n-".!.
2otohPderutpaCdecnavdAI.erutpaC.aideM.swodniW
2p3q3U-U-
2p3t3x3|3
2p4t4P;t;
2pilCnoitisopmoCI.noitisopmoC.IU.swodniW
2piTlooTI.slortnoC.lmaX.IU.swodniW
2pjsparam.u)c
2pmatsemiTnoitpecrePI.noitpecreP.swodniW
2pModeWWW
2ppAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2ppArevieceRlaiDI.locotorPlaiD.aideM.swodniW
2p.q.g4g4
"2: Prohibited" means no contexts are allowed per device (no compute apps).
2puorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
2puorGlairetaMdrooC2erutxeTD3gnitnirPI.D3gnitnirP.scihparG.swodniW
2puorGlairetaMetisopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
2pupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
2Q2]2p2:3
2qG"24L	4249
2QrGf226!
2r11(E5113!
2R"!12G*
2R5k5v5|5
2R6L8#9z9
2raBdnammoCI.slortnoC.lmaX.IU.swodniW
2rablooTknII.slortnoC.lmaX.IU.swodniW
2raBppAI.slortnoC.lmaX.IU.swodniW
2radnelaCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2redaeHtnetnoCydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2redaeRegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2redaeRemarFaideMecruoSitluMI.semarF.erutpaC.aideM.swodniW
2redaeRemarFaideMI.semarF.erutpaC.aideM.swodniW
2redaeRepirtScitengaMdemialCI.ecivreSfOtnioP.seciveD.swodniW
2redaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
2redaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2redaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2redilSI.slortnoC.lmaX.IU.swodniW
2redivorPecivreSmmocfRI.mmocfR.htooteulB.seciveD.swodniW
2redivorPegarotSI.egarotS.swodniW
2redivorPegnaRtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
2redivorPmhtiroglAcaMI.eroC.yhpargotpyrC.ytiruceS.swodniW
2redivorPmhtiroglAyeKcirtemmysAI.eroC.yhpargotpyrC.ytiruceS.swodniW
2redivorPmrofsnarTI.redivorP.noitamotuA.lmaX.IU.swodniW
2redivorPtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
2redivorPtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
2redliuBekortSknII.gniknI.tupnI.IU.swodniW
2redliuBksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2redloFegarotSI.egarotS.swodniW
2redocsnarTaideMI.gnidocsnarT.aideM.swodniW
2redroBI.slortnoC.lmaX.IU.swodniW
2reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
2reePnoitamotuAlortnoCsmetII.sreeP.noitamotuA.lmaX.IU.swodniW
2reffuBtekcaPnpVI.npV.gnikrowteN.swodniW
2reganaMcnySradnelaCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2reganaMcnyStsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2reganaMcnySxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
2reganaMecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
2reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
2reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
2reganaMneercStratSI.neercStratS.IU.swodniW
2reganaMnoisnetxEaideMI.aideM.swodniW
2reganaMnoitagivaNmetsySI.eroC.IU.swodniW
2reganaMrabksaTI.llehS.IU.swodniW
2reganaMrefsnarTataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2reganaMstceffEredneRoiduAI.stceffE.aideM.swodniW
2reganaMtcatnoCetagerggAI.stcatnoC.ledoMnoitacilppA.swodniW
2reganaMtnemllornEetacifitreCresUI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2reganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
2reggirTlennahClortnoCI.stekcoS.gnikrowteN.swodniW
2reggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2rehctapsiDeroCI.eroC.IU.swodniW
2rehctaWeciveDI.noitaremunE.seciveD.swodniW
2rehctaWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2rehtOtnacifingiStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2reifitoNtsaoTI.snoitacifitoN.IU.swodniW
2rekcarTegnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2rekcarTegnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2rekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2rekciPemiTI.slortnoC.lmaX.IU.swodniW
2rekciPetaDI.slortnoC.lmaX.IU.swodniW
2rekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
2rekciPevaSeliFI.srekciP.egarotS.swodniW
2rekciPnepOeliFI.srekciP.egarotS.swodniW
2rekciPredloFI.srekciP.egarotS.swodniW
2rekciPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2rekovnIcitsongaiDI.scitsongaiD.metsyS.swodniW
2rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
2rellortnoCecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
2rellortnoCemaGwaRI.tupnI.gnimaG.swodniW
2rellortnoCemarFI.eroC.seciveD.aideM.swodniW
2rellortnoCenilemiTaideMI.aideM.swodniW
2rellortnoClaidaRI.tupnI.IU.swodniW
2rellortnoCnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2reluRretneserPknII.gniknI.tupnI.IU.swodniW
2:RenderWW
2renetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
2reniatnoCekortSknII.gniknI.tupnI.IU.swodniW
2rennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
2rennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
2repleHataDlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
2resUroFreganaMlennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
2resUroFreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
2resUroFreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2retadpUeliTI.snoitacifitoN.IU.swodniW
2retemitlAI.srosneS.seciveD.swodniW
2retemodePI.srosneS.seciveD.swodniW
2retemonilcnII.srosneS.seciveD.swodniW
2retemoraBI.srosneS.seciveD.swodniW
2retemoreleccAI.srosneS.seciveD.swodniW
2retemoryGI.srosneS.seciveD.swodniW
2retemotengaMI.srosneS.seciveD.swodniW
2retliFeliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
2retliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
2retneserPknII.gniknI.tupnI.IU.swodniW
2retneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
2retneserPsmetII.slortnoC.lmaX.IU.swodniW
2retneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
2retneserPtnetnoCllorcSI.slortnoC.lmaX.IU.swodniW
2retneserPtuoylFI.slortnoC.lmaX.IU.swodniW
2retneserPtuoylFrekciPemiTI.slortnoC.lmaX.IU.swodniW
2retneserPtuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
2retneserPtuoylFuneMI.slortnoC.lmaX.IU.swodniW
2retnirPsoPdemialCI.ecivreSfOtnioP.seciveD.swodniW
2retnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
2retpadAhtooteulBI.htooteulB.seciveD.swodniW
2retpadAiFiWI.iFiW.seciveD.swodniW
2rettamroFemiTetaDI.gnittamroFemiTetaD.noitazilabolG.swodniW
2rettamroFrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
2rettamroFycnerruCI.gnittamroFrebmuN.noitazilabolG.swodniW
2retteSI.lmaX.IU.swodniW
2rettimEedoNoiduAI.oiduA.aideM.swodniW
2revuenaMetuoRpaMI.spaM.secivreS.swodniW
2rewarDhsaCdemialCI.ecivreSfOtnioP.seciveD.swodniW
2reweiVllorcSI.slortnoC.lmaX.IU.swodniW
2reyalPaideMI.kcabyalP.aideM.swodniW
2rezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
2rezisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
2rohcnAlaitapSI.laitapS.noitpecreP.swodniW
2rosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
2rosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
2rosneSnoitatneirOI.srosneS.seciveD.swodniW
2rosneSthgiLI.srosneS.seciveD.swodniW
2rossecorPtlsXI.lsX.lmX.ataD.swodniW
2rotacoloeGI.noitacoloeG.seciveD.swodniW
2rotagivaNecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
2rotaideMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
2rotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
2rotanidrooCllaCpioVI.sllaC.ledoMnoitacilppA.swodniW
2rotareneGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
2rotareneGnoisrevnoCesreveRtxeTI.txeT.ataD.swodniW
2rotareneGnoitciderPtxeTI.txeT.ataD.swodniW
2rotcejnItupnII.noitcejnI.weiverP.tupnI.IU.swodniW
2rotceleSetalpmeTataDI.slortnoC.lmaX.IU.swodniW
2rotcennoCtnenopmoCI.pukraM.lmaX.IU.swodniW
2rotceVflaH.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
2rotceV.krowemarF.anX.tfosorciM
2rotceV.sciremuN.noitadnuoF.swodniW
2rotisopmoCI.noitisopmoC.IU.swodniW
2rotpircseDmaertSaideMI.eroC.aideM.swodniW
2rotpircseDmaertSoediVI.eroC.aideM.swodniW
2rotpircseDmaertSoiduAI.eroC.aideM.swodniW
2rotpircseDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2R!S!r*s*X*X*
2s64-|!rd'
2scisnirtnIaremaCI.eroC.seciveD.aideM.swodniW
2scitatSataDnoitacilppAI.egarotS.swodniW
2scitatSdapemaGI.tupnI.gnimaG.swodniW
2scitatSdirGI.slortnoC.lmaX.IU.swodniW
2scitatSdirGparWsmetII.slortnoC.lmaX.IU.swodniW
2scitatSdniKmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2scitatSdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
2scitatSecapScihpargoloHI.cihpargoloH.scihparG.swodniW
2scitatSeciveDELhtooteulBI.htooteulB.seciveD.swodniW
2scitatSeciveDhtooteulBI.htooteulB.seciveD.swodniW
2scitatSeciveDsmSI.smS.seciveD.swodniW
2scitatSeciveDtceriDiFiWI.tceriDiFiW.seciveD.swodniW
2scitatSecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
2scitatSecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2scitatSecivreSpaMI.spaM.secivreS.swodniW
2scitatSecruoSaideMI.eroC.aideM.swodniW
2scitatSecruoSeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
2scitatSecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
2scitatSecruoStxeTdemiTI.eroC.aideM.swodniW
2scitatSedoMngiseDI.ledoMnoitacilppA.swodniW
2scitatSegamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
2scitatSegaugnaLI.noitazilabolG.swodniW
2scitatSelbuoDrosneTI.gninraeLenihcaM.IA.swodniW
2scitatSeliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
2scitatSelpmaSmaertSaideMI.eroC.aideM.swodniW
2scitatSemarFI.slortnoC.lmaX.IU.swodniW
2scitatSenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
2scitatSenaPtupnII.tnemeganaMweiV.IU.swodniW
2scitatSenignEcihpargotpyrCI.eroC.yhpargotpyrC.ytiruceS.swodniW
2scitatSerutpaCppAI.erutpaC.aideM.swodniW
2scitatSesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
2scitatSesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
2scitatSetalpmeTataDI.lmaX.IU.swodniW
2scitatSeulaVnosJI.nosJ.ataD.swodniW
2scitatSgninoisivorPdraCtramSI.sdraCtramS.seciveD.swodniW
2scitatSgniriaPnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
2scitatSgnirtSrosneTI.gninraeLenihcaM.IA.swodniW
2scitatSgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
2scitatShsurBcilyrcAI.aideM.lmaX.IU.swodniW
2scitatSkcitSedacrAI.tupnI.gnimaG.swodniW
2scitatSkcolBI.stnemucoD.lmaX.IU.swodniW
2scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
2scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
2scitatSknilrepyHI.stnemucoD.lmaX.IU.swodniW
2scitatSleehWgnicaRI.tupnI.gnimaG.swodniW
2scitatSlenaPevitaleRI.slortnoC.lmaX.IU.swodniW
2scitatSlenaPkcatSI.slortnoC.lmaX.IU.swodniW
2scitatSlenaPkcatSsmetII.slortnoC.lmaX.IU.swodniW
2scitatSlennahCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
2scitatSlooPemarFerutpaC11D3tceriDI.erutpaC.scihparG.swodniW
2scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
2scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
2scitatSmetIbuStuoylFuneMI.slortnoC.lmaX.IU.swodniW
2scitatSmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
2scitatSmetIuneMrellortnoClaidaRI.tupnI.IU.swodniW
2scitatSmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
2scitatSmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2scitatSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2scitatSnaelooBrosneTI.gninraeLenihcaM.IA.swodniW
2scitatSnocIpaMI.spaM.slortnoC.lmaX.IU.swodniW
2scitatSnocIpamtiBI.slortnoC.lmaX.IU.swodniW
2scitatSnocItnoFI.slortnoC.lmaX.IU.swodniW
2scitatSnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
2scitatSnoitamrofnIkrowteNI.ytivitcennoC.gnikrowteN.swodniW
2scitatSnoitamrofnItuoyaLI.sevitimirP.slortnoC.lmaX.IU.swodniW
2scitatSnoitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2scitatSnoitarugifnoCerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
2scitatSnoitarugifnoCrellortnoClaidaRI.tupnI.IU.swodniW
2scitatSnoitavitcAIUbeWI.IUbeW.IU.swodniW
2scitatSnoitisnarTemehTnoitisopeRI.noitaminA.aideM.lmaX.IU.swodniW
2scitatSnottuBresarErablooTknII.slortnoC.lmaX.IU.swodniW
2scitatSofnIcitsongaiDppAI.metsyS.swodniW
2scitatSofnIcitsongaiDssecorPI.scitsongaiD.metsyS.swodniW
2scitatSofnIecalPI.spaM.secivreS.swodniW
2scitatSofnInoitisnarTnoitagivaNedilSI.noitaminA.aideM.lmaX.IU.swodniW
2scitatSofnIscitylanAI.eliforP.metsyS.swodniW
2scitatSofnItroppuSmetsySI.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
2scitatSpilCaideMI.gnitidE.aideM.swodniW
2scitatSpiTlooTI.slortnoC.lmaX.IU.swodniW
2scitatSpupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
2scitatSraBdnammoCI.slortnoC.lmaX.IU.swodniW
2scitatSrablooTknII.slortnoC.lmaX.IU.swodniW
2scitatSraBppAI.slortnoC.lmaX.IU.swodniW
2scitatSredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
2scitatSredaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
2scitatSredilSI.slortnoC.lmaX.IU.swodniW
2scitatSredloFsdaolnwoDI.egarotS.swodniW
2scitatSredniFetuoRpaMI.spaM.secivreS.swodniW
2scitatSredniFnoitacoLpaMI.spaM.secivreS.swodniW
2scitatSredniFreePI.ytimixorP.gnikrowteN.swodniW
2scitatSredoceDpamtiBI.gnigamI.scihparG.swodniW
2scitatSredocnEpamtiBI.gnigamI.scihparG.swodniW
2scitatSredroBI.slortnoC.lmaX.IU.swodniW
2scitatSreganaMeroCnoitacitnehtuAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
2scitatSreganaMesneciLI.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
2scitatSreganaMetadpUegdaBI.snoitacifitoN.IU.swodniW
2scitatSreganaMetadpUeliTI.snoitacifitoN.IU.swodniW
2scitatSreganaMgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
2scitatSreganaMgnisitrevdAI.eliforPresU.metsyS.swodniW
2scitatSreganaMlennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
2scitatSreganaMliamEI.liamE.ledoMnoitacilppA.swodniW
2scitatSreganaMllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
2scitatSreganaMnigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
2scitatSreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
2scitatSreganaMnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2scitatSreganaMnoitcejorPI.tnemeganaMweiV.IU.swodniW
2scitatSreganaMnoitcetorPeliFI.ataDesirpretnE.ytiruceS.swodniW
2scitatSreganaMnoitucexEdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2scitatSreganaMnwodtuhSI.metsyS.swodniW
2scitatSreganaMppAgnikcolBnoitacinummoCI.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
2scitatSreganaMrefsnarTataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2scitatSreganaMscRI.tahC.ledoMnoitacilppA.swodniW
2scitatSreganaMseitilibapaCtahCI.tahC.ledoMnoitacilppA.swodniW
2scitatSreganaMsseccAmetsyStnuoccAataDresUI.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
2scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
2scitatSreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2scitatSreganaMtnemllornEetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2scitatSreganaMtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2scitatSreganaMtnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
2scitatSreganaMtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
2scitatSreganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
2scitatSreganaMyeKsseccAI.tupnI.lmaX.IU.swodniW
2scitatSreganaMyromeMI.metsyS.swodniW
2scitatSreganaMyrotcaFrellortnoCemaGI.motsuC.tupnI.gnimaG.swodniW
2scitatSreganaMyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
2scitatSrehcnuaLI.metsyS.swodniW
2scitatSrehctiwSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
2scitatSrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2scitatSrekciPemiTI.slortnoC.lmaX.IU.swodniW
2scitatSrekciPetaDI.slortnoC.lmaX.IU.swodniW
2scitatSrekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
2scitatSrekciPnepOeliFI.srekciP.egarotS.swodniW
2scitatSrekorBnoitacitnehtuAbeWI.beW.noitacitnehtuA.ytiruceS.swodniW
2scitatSrellortnoCcdAI.cdA.seciveD.swodniW
2scitatSrellortnoCmwPI.mwP.seciveD.swodniW
2scitatSrellortnoCnoitagivaNIUI.tupnI.gnimaG.swodniW
2scitatSrellortnoCoipGI.oipG.seciveD.swodniW
2scitatSrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
2scitatSrepleHeerTlausiVI.aideM.lmaX.IU.swodniW
2scitatSrepleHnoitatsettAyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2scitatSrepleHpmatsemiTnoitpecrePI.noitpecreP.swodniW
2scitatSrepleHroloCI.IU.swodniW
2scitatSretemodePI.srosneS.seciveD.swodniW
2scitatSretemonilcnII.srosneS.seciveD.swodniW
2scitatSretemoraBI.srosneS.seciveD.swodniW
2scitatSretemoreleccAI.srosneS.seciveD.swodniW
2scitatSretemoryGI.srosneS.seciveD.swodniW
2scitatSretemotengaMI.srosneS.seciveD.swodniW
2scitatSretneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
2scitatSretneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
2scitatSretneserPsmetII.slortnoC.lmaX.IU.swodniW
2scitatSretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
2scitatSretneserPtnetnoCllorcSI.slortnoC.lmaX.IU.swodniW
2scitatSretneserPtuoylFI.slortnoC.lmaX.IU.swodniW
2scitatSretneserPtuoylFrekciPemiTI.slortnoC.lmaX.IU.swodniW
2scitatSretneserPtuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
2scitatSretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
2scitatSrevresbOecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
2scitatSrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
2scitatSreweiVllorcSI.slortnoC.lmaX.IU.swodniW
2scitatSreyalPdnuoStnemelEI.lmaX.IU.swodniW
2scitatSrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
2scitatSrorrEnosJI.nosJ.ataD.swodniW
2scitatSrosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
2scitatSrosneSnoitatneirOI.srosneS.seciveD.swodniW
2scitatSrosneSthgiLI.srosneS.seciveD.swodniW
2scitatSrosneSytimixorPI.srosneS.seciveD.swodniW
2scitatSrotacoloeGI.noitacoloeG.seciveD.swodniW
2scitatSrotagivaNecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
2scitatSrotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
2scitatSrotareneGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
2scitatSrotcejnItupnII.noitcejnI.weiverP.tupnI.IU.swodniW
2scitatSsbreVnoitcAhcnuaLredivorPstnemtnioppAI.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
2scitatSsdiuUcitsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2scitatSsdiuUecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2scitatSsecnereferPnoitazilabolGI.eliforPresU.metsyS.swodniW
2scitatSsegaugnaLnoitacilppAI.noitazilabolG.swodniW
2scitatSseigolobmySedocraBI.ecivreSfOtnioP.seciveD.swodniW
2scitatSseitreporPecruoSemarFnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
2scitatSseitreporPgnidocnEegamII.seitreporPaideM.aideM.swodniW
2scitatSseitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
2scitatSseitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
2scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
2scitatSseitreporPtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2scitatSsemaNmhtiroglAcirtemmysAI.eroC.yhpargotpyrC.ytiruceS.swodniW
2scitatSsemaNmhtiroglAnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
2scitatSsemaNmhtiroglAyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2scitatSsemaNredivorPegarotSyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2scitatSsepytbuSgnidocnEaideMI.seitreporPaideM.aideM.swodniW
2scitatSserotSetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2scitatSsgnitteSedoMderahSI.eliforP.metsyS.swodniW
2scitatSsgnitteSenoZemiTI.metsyS.swodniW
2scitatSshpylGI.stnemucoD.lmaX.IU.swodniW
2scitatSslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
2scitatSsnoissimrePnoitacilppAegarotSI.ehcaCsseccA.egarotS.swodniW
2scitatSsredloFnwonKI.egarotS.swodniW
2scitatSsreifitnedImetsySlaremuNI.noitazilabolG.swodniW
2scitatSsreifitnedIradnelaCI.noitazilabolG.swodniW
2scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
2scitatSsreifitnedIycnerruCI.noitazilabolG.swodniW
2scitatSsretemaraPnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
2scitatSssapmoCI.srosneS.seciveD.swodniW
2scitatSstamroFataDdradnatSI.refsnarTataD.ledoMnoitacilppA.swodniW
2scitatStamroFnoitatneserPttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2scitatStaolFrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB23tnIrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB23tnIUrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB46tnIrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB46tnIUrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB61taolFrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB61tnIrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB61tnIUrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB8tnIrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStiB8tnIUrosneTI.gninraeLenihcaM.IA.swodniW
2scitatStnemelEaideMI.slortnoC.lmaX.IU.swodniW
2scitatStnemelEIUI.lmaX.IU.swodniW
2scitatStnemelEkrowemarFI.lmaX.IU.swodniW
2scitatStnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
2scitatStnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
2scitatStoviPI.slortnoC.lmaX.IU.swodniW
2scitatStseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2scitatStsiLemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
2scitatStuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
2scitatStxetnoCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
2scitatSweiVbeWI.slortnoC.lmaX.IU.swodniW
2scitatSweiVeerTI.slortnoC.lmaX.IU.swodniW
2scitatSweiverPnoitisopmoCtnemelEI.gnitsoH.lmaX.IU.swodniW
2scitatSweiverPporetnIhparGlaitapSI.weiverP.laitapS.noitpecreP.swodniW
2scitatSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
2scitatSweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2scitatSweiVpilFI.slortnoC.lmaX.IU.swodniW
2scitatSweiVtilpSI.slortnoC.lmaX.IU.swodniW
2scitatSweiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
2scitatSwolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
2scitatSxoBdrowssaPI.slortnoC.lmaX.IU.swodniW
2scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
2scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
2scitatSxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
2scitatSxoBtsiLI.slortnoC.lmaX.IU.swodniW
2scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
2scitatSyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
2scitatSyciloPmdMI.ecalpkroW.tnemeganaM.swodniW
2scitatSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2scitatSylimaFtnoFI.aideM.lmaX.IU.swodniW
2scitatSyrarbiLegarotSI.egarotS.swodniW
2sdohteMcitatSredaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2sdohteMcitatSredaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
2sedirrevOhsurBI.aideM.lmaX.IU.swodniW
2sedirrevOnoitacilppAI.lmaX.IU.swodniW
2sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
2sedirrevOreePnoitamotuAlortnoCsmetII.sreeP.noitamotuA.lmaX.IU.swodniW
2sedirrevOrotceleSetalpmeTataDI.slortnoC.lmaX.IU.swodniW
2sedirrevOtnemelEkrowemarFI.lmaX.IU.swodniW
2seiciloPxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
2seitilibapaClortnoCemarFI.eroC.seciveD.aideM.swodniW
2seitilibapaCrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
2seitilibapaCretnirPlanruoJI.ecivreSfOtnioP.seciveD.swodniW
2seitilibapaCretnirPpilSI.ecivreSfOtnioP.seciveD.swodniW
2seitilibapaCretnirPtpieceRI.ecivreSfOtnioP.seciveD.swodniW
2seitilibapaCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
2seitreporPgnidocnEegamII.seitreporPaideM.aideM.swodniW
2seitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
2seitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
2seitreporPgnidocnEreniatnoCI.seitreporPaideM.aideM.swodniW
2seitreporPmetIegarotSI.egarotS.swodniW
2seitreporPtnioPretnioPI.tupnI.IU.swodniW
2seitreporPtseuqeRetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2seitreporPyalpsiDcisuMI.aideM.swodniW
2seitreporPyalpsiDoediVI.aideM.swodniW
2SetConfigurationX
2setubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
2seulaVlortnoCemarFderutpaCI.erutpaC.aideM.swodniW
2Seuraavia sovelluksia on p
2sgnitteSerutpaCaideMI.erutpaC.aideM.swodniW
2sgnitteSerutpaCppAI.erutpaC.aideM.swodniW
2sgnitteSetalpmeTraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
2sgnitteSetalpmeTraBppAI.sevitimirP.slortnoC.lmaX.IU.swodniW
2sgnitteSetalpmeTxoBobmoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
2sgnitteSgubeDI.lmaX.IU.swodniW
2sgnitteShparGoiduAI.oiduA.aideM.swodniW
2sgnitteSIUI.tnemeganaMweiV.IU.swodniW
2sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
2sgrAderetnEetatSaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2sgrAderetnEetatSeldIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2sgrAderetnEetatSgnitcaretnIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2sgrAderetnEetatSnoitaminAmotsuCrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
2sgrAtnevEdegagnEsucoFI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdegnahCaremaClautcApaMI.spaM.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdegnahCaremaCtegraTpaMI.spaM.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdegnahCetartiBdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2sgrAtnevEdegnahCmetIkcabyalPaideMtnerruCI.kcabyalP.aideM.swodniW
2sgrAtnevEdegnahCnoitatoRrellortnoClaidaRI.tupnI.IU.swodniW
2sgrAtnevEdegnahCnoitceleSweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdegnahCsseccAeciveDI.noitaremunE.seciveD.swodniW
2sgrAtnevEdeifitnedItnetnoCelbaweivnUweiVbeWI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdekcilCnottuBrellortnoClaidaRI.tupnI.IU.swodniW
2sgrAtnevEdekovnImetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdekovnIrotareleccAdraobyeKI.tupnI.lmaX.IU.swodniW
2sgrAtnevEdeliaFdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2sgrAtnevEderiuqcAlortnoCrellortnoClaidaRI.tupnI.IU.swodniW
2sgrAtnevEdespalloCweiVeerTI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdetadilosnoCweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
2sgrAtnevEdetavitcAhcnuaLI.noitavitcA.ledoMnoitacilppA.swodniW
2sgrAtnevEdetavitcArekciPevaSeliFI.noitavitcA.ledoMnoitacilppA.swodniW
2sgrAtnevEdetavitcArekciPnepOeliFI.noitavitcA.ledoMnoitacilppA.swodniW
2sgrAtnevEdetavitcAtsaoTI.snoitacifitoN.IU.swodniW
2sgrAtnevEdetceteDeruliaFaideMlaitraPI.aideM.lmaX.IU.swodniW
2sgrAtnevEdetceteDnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2sgrAtnevEdetelpmoCdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2sgrAtnevEdetelpmoCnoitarepOI.refsnarTataD.ledoMnoitacilppA.swodniW
2sgrAtnevEdetratStcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
2sgrAtnevEdetseuqeRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2sgrAtnevEdetseuqeRecivreSI.noitcetorP.aideM.swodniW
2sgrAtnevEdetseuqeRgniriaPeciveDI.noitaremunE.seciveD.swodniW
2sgrAtnevEdetseuqeRirUeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdetseuqeRpamtiBeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
2sgrAtnevEdetseuqeRsdnammoCenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
2sgrAtnevEdetseuqeRwodniWweNlortnoCweiVbeWI.IU.beW.swodniW
2sgrAtnevEdetuoRretnioPI.tupnI.lmaX.IU.swodniW
2sgrAtnevEdetuoRyeKI.tupnI.lmaX.IU.swodniW
2sgrAtnevEdeunitnoCtcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
2sgrAtnevEdevieceRegasseMtekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
2sgrAtnevEdevieceRudpArotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
2sgrAtnevEecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
2sgrAtnevEelbaliavAcitsongaiDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2sgrAtnevEgarDI.lmaX.IU.swodniW
2sgrAtnevEgnidnapxEweiVeerTI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEgnidniBaideMI.eroC.aideM.swodniW
2sgrAtnevEgnignahCaremaClautcApaMI.spaM.slortnoC.lmaX.IU.swodniW
2sgrAtnevEgnignahCtxeTxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEgnignahCtxeTxoBtxeTI.slortnoC.lmaX.IU.swodniW
2sgrAtnevEgnitratSgarDI.lmaX.IU.swodniW
2sgrAtnevElecnaCgnitagivaNI.noitagivaN.lmaX.IU.swodniW
2sgrAtnevEnoitagivaNI.noitagivaN.lmaX.IU.swodniW
2sgrAtnevEsucoFgnisoLI.tupnI.lmaX.IU.swodniW
2sgrAtnevEsucoFgnitteGI.tupnI.lmaX.IU.swodniW
2sgrAtnevEyeKI.eroC.IU.swodniW
2sgrAtnevEyeKrotareleccAI.eroC.IU.swodniW
2sgrAtnevEyfitoNI.slortnoC.lmaX.IU.swodniW
2shpylGI.stnemucoD.lmaX.IU.swodniW
2sliateDeliforPnoitcennoCnawWI.ytivitcennoC.gnikrowteN.swodniW
2sliateDnoitpOksaTtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
2sliateDnoitpOtsiLmetImotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
2sliateDnoitpOtxeTmotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
2sliateDreggirTdraCtramSI.sdraCtramS.seciveD.swodniW
2sliateDreggirTecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
2sliateDreggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.htooteulB.seciveD.swodniW
2sliateDreggirTnoitacifitoNegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2sliateDtnevEdevieceRsmSI.smS.seciveD.swodniW
2sliateDtnevEegnahCetatSkrowteNI.ytivitcennoC.gnikrowteN.swodniW
2slortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
2slortnoCtropsnarTaideMmetsySI.aideM.swodniW
2snoitpOdraCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2snoitpOetadpUppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
2snoitpOgnivirDetuoRpaMI.spaM.secivreS.swodniW
2snoitpOksaTtnirPI.gnitnirP.scihparG.swodniW
2snoitpOllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
2snoitpOrehcnuaLI.metsyS.swodniW
2snoitpOrezisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
2snoitpOweiVotnIgnirBI.lmaX.IU.swodniW
2sretemaraPetadpUreyaLdauQcihpargoloHI.cihpargoloH.scihparG.swodniW
2sretemaraPgniredneRaremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
2sretemaraPgnisitrevdAredivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2sretemaraPnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
2sretemaraPnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
2ssapmoCI.srosneS.seciveD.swodniW
2sserddApaMI.spaM.secivreS.swodniW
2stceffEreyalPaideMI.kcabyalP.aideM.swodniW
2stcejbOnekoTredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
2stluseRecnailpmoCsaEI.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
2stnemelElausiVeliTyradnoceSI.neercStratS.IU.swodniW
2stnemelElausiVytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
2sutatSegakcaPI.ledoMnoitacilppA.swodniW
2sutatSllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
2syeKtuctrohSetanretlAerutpaCppAI.erutpaC.aideM.swodniW
2-sz*U#t
2T7W7X:X:
2tamroFemarFaideMI.semarF.erutpaC.aideM.swodniW
2tcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2tceffEgnithgiLenecSI.stceffE.noitisopmoC.IU.swodniW
2tcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
2tcejbOycnednepeDI.lmaX.IU.swodniW
2tekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
2tekcoSbeWmaertSI.stekcoS.gnikrowteN.swodniW
2tekcoSmaertSI.stekcoS.gnikrowteN.swodniW
2tekcoSmargataDI.stekcoS.gnikrowteN.swodniW
2teSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2teSytreporPnoitisopmoCI.noitisopmoC.IU.swodniW
2The following applications is updated or modified.
2thgiLnoitisopmoCI.noitisopmoC.IU.swodniW
2thgiLtnatsiDI.noitisopmoC.IU.swodniW
2thgiLtneibmAI.noitisopmoC.IU.swodniW
2thgiLtnioPI.noitisopmoC.IU.swodniW
2thgiLtopSI.noitisopmoC.IU.swodniW
2tluseRdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2tluseRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2tluseRedoNtupnIeciveDoiduAetaerCI.oiduA.aideM.swodniW
2tluseRedoNtupnIeliFoiduAetaerCI.oiduA.aideM.swodniW
2tluseRedoNtupnIoiduAecruoSaideMetaerCI.oiduA.aideM.swodniW
2tluseRedoNtuptuOeciveDoiduAetaerCI.oiduA.aideM.swodniW
2tluseRedoNtuptuOeliFoiduAetaerCI.oiduA.aideM.swodniW
2tluseRetadpUegakcaPerotSI.erotS.secivreS.swodniW
2tluseRhparGoiduAetaerCI.oiduA.aideM.swodniW
2tluseRnoitacifitoNtneilCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2tluseRnoitaerCecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
2tluseRnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
2tluseRnoituloseRtneipiceRliamEI.liamE.ledoMnoitacilppA.swodniW
2tluseRredniFetuoRpaMI.spaM.secivreS.swodniW
2tluseRrotpircseDnoitarugifnoCcitsiretcarahCtneilCdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
2tluseRsmetIdniFtropmIotohPI.tropmI.aideM.swodniW
2tluseRtnemyolpeDI.tnemyolpeD.tnemeganaM.swodniW
2tluseRtseuqeRdneSerotSI.erotS.secivreS.swodniW
2tluseRyreuQeliFegarotSI.hcraeS.egarotS.swodniW
2tneilCpttHI.pttH.beW.swodniW
2tnemelEaideMI.slortnoC.lmaX.IU.swodniW
2tnemelEIUI.lmaX.IU.swodniW
2tnemelEkrowemarFI.lmaX.IU.swodniW
2tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
2tnemelEraBdnammoCI.slortnoC.lmaX.IU.swodniW
2tnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
2tnemesitrevdAtceriDiFiWI.tceriDiFiW.seciveD.swodniW
2tnemgeSdaoRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
2tnemhcattAegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2tnemhcattAliamEI.liamE.ledoMnoitacilppA.swodniW
2tnemhcattAsuBnyoJllAI.nyoJllA.seciveD.swodniW
2tnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
2tnemucoDtxeTI.txeT.IU.swodniW
2tnioPknII.gniknI.tupnI.IU.swodniW
2tnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
2tnuoccAbeWI.slaitnederC.ytiruceS.swodniW
2tnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
2toviPI.slortnoC.lmaX.IU.swodniW
2trohSdezilamroN.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
2trohS.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
2tropeRyromeMppAI.metsyS.swodniW
2tropsnarTegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
2tseretnIfOnoigeRI.seciveD.aideM.swodniW
2tseuqeRecivreSnoitisiuqcAesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2tseuqeRetadpUeliFI.redivorP.egarotS.swodniW
2tseuqeRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
2tseuqeRnekoTredivorPbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
2tseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
2tseuqeRreggirTerawtfoSpotSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRreggirTerawtfoStratSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRrennacSelbanErennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRrennacSelbasiDrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRseigolobmySevitcAteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRsetubirttAygolobmySteGrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRsetubirttAygolobmySteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
2tseuqeRtuoyaLtxeTeroCI.eroC.txeT.IU.swodniW
2tseuqeRweiverPoediVediHrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
2tsiLdesUyltneceRtsoMmetIegarotSI.ehcaCsseccA.egarotS.swodniW
2tsiLkcabyalPaideMI.kcabyalP.aideM.swodniW
2tsiLreffuBtekcaPnpVI.npV.gnikrowteN.swodniW
2tsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
2tsoCnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
2tsoHretneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
2tuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
2tuoylFuneMI.slortnoC.lmaX.IU.swodniW
2txetnoCerotSI.erotS.secivreS.swodniW
2txetnoCnoitacitnehtuAtopstoHI.srotarepOkrowteN.gnikrowteN.swodniW
2txetnoCnpAralulleCI.ytivitcennoC.gnikrowteN.swodniW
2txetnoCtidEtxeTeroCI.eroC.txeT.IU.swodniW
2.u32 [smem_ptr
2u8"32a82323
2UBr'(xkH
2udpAesnopseRcitamotuAdraCtramSI.sdraCtramS.seciveD.swodniW
2uncompressSparseFilterI6__halfP
2v4u4N#P#
2Vd2:Nt:
2VdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
2.visible .entry maxwell_sgemm_128x128_nt_v0(
2VreganaMsdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
2v:w:Z:[:
2W3_3e3s3
2W3X4a5t5
2weiVbeWI.slortnoC.lmaX.IU.swodniW
2weiVeerTI.slortnoC.lmaX.IU.swodniW
2weiVegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2weiverPreganaMwodniWsetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
2weiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
2weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
2weiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
2weiVpilFI.slortnoC.lmaX.IU.swodniW
2weiVteSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
2weiVtilpSI.slortnoC.lmaX.IU.swodniW
2weiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
2wodahSporDI.noitisopmoC.IU.swodniW
2wodniWeroCI.eroC.IU.swodniW
2wodniWI.lmaX.IU.swodniW
2wodniWyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
2wolfkroWD3tnirPI.snoisnetxE.sretnirP.seciveD.swodniW
2wolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
@2WuBBuW22WuBBuW2
2WuBBuW22WuBBuW2
2X3xirtaM.hcuoT.tupnI.krowemarF.anX.tfosorciM
2x3xirtaM.sciremuN.noitadnuoF.swodniW
2xoBdrowssaPI.slortnoC.lmaX.IU.swodniW
2xobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
2xoBobmoCI.slortnoC.lmaX.IU.swodniW
2xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
2xoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
2xoBtsiLI.slortnoC.lmaX.IU.swodniW
2xoBtxeTI.slortnoC.lmaX.IU.swodniW
2yalpsiDcihpargoloHI.cihpargoloH.scihparG.swodniW
2yalpsiDeniLdemialCI.ecivreSfOtnioP.seciveD.swodniW
2yalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
2YBZBxDwD
2yrarbiLegarotSI.egarotS.swodniW
2yreuQetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
2yrotcaFeliTyradnoceSI.neercStratS.IU.swodniW
2yrotcaFlennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
2yrotcaFmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
2yrotcaFnoisseSledoMgninraeLI.gninraeLenihcaM.IA.swodniW
2yrotcaFradnelaCI.noitazilabolG.swodniW
2yrotcaFredaeHtnetnoCydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
2yrotcaFreggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
2yrotcaFrexednIecruoseRI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
2yrotcaFtnemhcattAliamEI.liamE.ledoMnoitacilppA.swodniW
2yrotcaFtnioPknII.gniknI.tupnI.IU.swodniW
2yrotcaFtseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
2yrotsiHnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
2yrtnEtsiLemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
2yrtnEtsiLppAI.eroC.ledoMnoitacilppA.swodniW
2YsalQQ8
2ytivitcAgniggoLI.scitsongaiD.noitadnuoF.swodniW
2ytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
2Z2H3R3_3
2Z8Z8G?F?8
2zl-1jhv
2zq3JNX	
        3
:(:3:@:|:
3:::::::::::::: 
300930183225Z0|1
30:0Y0o0
301229162923Z0u1
301231235959Z0|1
3020'O'O
30343L3P3h3l3
30383@3H3P3X3l3
303D3P3X3p3x3
303N3h3u3
303O3W3r3
303P3l3p3
303T3_3h3u3
30484@4H4P4
30800DEE09C07843AF287868A2DBBE3A
"30an1291
"30En!29x
"30q!!30
#30tV3130
"30uD3304C
	.	"30xI
310106000000Z0H1
310107120000Z0r1
310111235959Z0w1
3107#z#43
311109235959Z0b1
((.-..31113333333333333333333113131.---
3*1_1C11_5
3[1[1m-l-c4d4
3 _1203B
31:2672Z
313:3Q3Z3q3z3
31363H3M3
313A3Q3a3q3
313A3U3Z3d3
313C3M3o3
313G3P3[3c3
314A4Q4a4q4y4
315K5Z5h5t5
"31|73316
'3178@#O1004
31826"!19N"
31919n(n(
3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d985
"31:A"31 
31f25V)4f25
!31f7Uul.lo'	
!31JACr312
!31XACr312
320122235959Z0
320628095522Z0S1
"32*25321
323cBB0_43
323F3a3i3|3
-323V3f3
323Y3K4C5
32422d374334372d344543302d384539372d3142353745343043314437467d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c6473
324;4?4E4I4O4S4]4p4
324;4K4]4
324O4n4w4
3270 REGIME
32EEvNT_6ParamsE(
.32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1
*3#2#q!q!d
32.satfinite
"32up3325
*[*[*3.2.U"V"
#32vW!50
 3;;::3:::
3:;;;;:3
3301_exe.23tdenqe
3301_lld.23revlos
3301_lld.3sehtsm
3301_lld.ne3rgsm
3301_llx.23sylana
3301_tlf.23mitcip
3301_tlf.23pmispe
3301_vnc.235tfpw
3301_vnc.236tfpw
3 30313.3
330314235959Z0L1
3'303;3C3a3m3
3 30343D3H3L3P3X3p3
3(30383@3L3t3|3
3@3038363
3(303H3P3h3t3
3303S-UBB0_6
3!307 !30E !30
330810235959Z0j1
331121235959Z0F1
3!313A3I3e3j3p3
3!313A3Q3a3j3
3!313A3Q3a3q3z3
3!313A3Q3W4
3!313A3Q3Z3q3
3 323D3V3h3z3
332r2aB@!
3 3(303@3d3l3t3|3
3#3*30363@3J3Q3Y3s3x3
3 3(30383@3H3P3X3p3
3 3(30383D3d3l3t3|3
3 3(30383L3l3t3|3
;33:;:32
3#3(323C3H3R3c3h3r3
"33[""33
#3::3;33
:::33::3:3::::
::;33::33
:;3:3:3:3
;;;;;33333;
33333;2"0
?[#333333
3333332"'
333333;3
;;;33333333
33333333
;33:3;33;333:3
;3333333333
3333333333
*33333333333333333333333*
333333333333333333333333
333333333s3"""
33333333777
33333333A
33333333FfeUUUSFdDDDFcDDfdDFCDD3333S3S33ffeUUUU
33333333H
33333333I
33333333L
33333333M
33333334fffeUUUUTDDfc31114DCFc33333S3S36fffdEUUU
33333338
3 3*333:3@3F3P3Z3a3i3
3333333FfEUUUTfffdDDF4DfdDcDDDC33333333FfUUUU
3333333w
3333336ffffffeUUSffd
3333337332 
33333377777wwp
3333337www
333333ffUUUTDDDfffDDCDFdCDDDfd33333333ffEUU5DFfffDDDcDFdC4DDFc
333333ssssww
3:33333ww
3;333373"
3'3-33393?3I3P3V3s3x3
3(333:3E3
3!333;3M3U3g3t3x3|3
33333sssswwwp
3!3(3.343:3D3J3c3o3t3
33336ffffffffffffff!
3"33383B3S3X3b3q3
3"33383B3S3X3b3s3x3
3 3-3;3H3
3 3(3@3P3T3d3h3l3p3t3|3
3 3(3@3P3T3d3h3l3p3t3x3|3
3333wwwww
3#3(343:3?3S3X3b3s3x3
3 3(343X3x3
3336dUUTDC4FdCD33S36fUU
3336feUTCc
3;337w33332"'
3337wwww
33383B3S3X3b3s3x3
;::333@a
3!3*3A3Q3a3q3
3(3.3A3R3_3e3
3)3]3b344G4
::3;:3::::;3@C
3:3?3d3q3
3*3;3F3Q3f3q3
333Fc0ss
333fffffffff
333fffffffff---
333fffffffff@@@
333fffffffff333
333fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
333fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff333
333fffffffffSSS
3#3;3G3T3a3
3 3@3H3T3
3 3@3H3T3t3
3.3:3J3O3c3o3
333MMMMMMMMM
3;33rl'r
3 3:3T3a3n3
3!3;3U3o3
 333z3333
3.3@3Z3t3
3(343@3L3X3d3p3|3
3-343A3H3o3v3
3'343A3O3
3.343E3k3
3#343H3O3
3'343J3_3i3s3z3
3'343U3v3|3
3(343X3x3
#33444444
33484071
334J4S4u4
3(353A3g3o3
3)353F3[3
3-353G3O3
3(353L3V3j3
3-363?3E3R3v3
3(363A3K3d3x3
3#363Q3a3q3
3#373?3I3R3c3u3
3'373D3.4s4
3"373P3U3j3|3
3*373X3t3
:337wwww
3(383H3L3P3d3h3l3
3.383H3X3b3F4X4z5
3(383L3T3t3
3 383P3T3h3p3t3|3
3 393f3u3
'3*3*:999
3@3A383:3
3:::;:3B
@33B3233c
3'3B3Z3w3
3)3C3O3t3I4V4w4
3(3D3H3h3
3)3D3N3i3s3
3#3D3P3c3
3@3E3]3d3i3
33#fffffffd3CDDDDffdDdDffdDDDC33333FffffC334DDDDffDDFdDFffFDD#333334ffc3CDDDDDDffdD4FdDDFffdC3333333ffU
3(3H3T3t3|3
3?3I3N3e3o3
3*3I3X3j3
-33iJ1134c
3@3L3T3l3t3
"33M83335
3@3P3Q3N3
3@3P3X3V3
"33ua"33
.:3:3[:Y:i:i:IDID
"33z5"33
341210000000Z0[1
3 414_4o4w4
3!414A4Q4a4i4
343@3H3h3
343@3H3h3|3
3(434;4C4K4S4[4
343K3Y3x3
343L3d3|3
343L3P3d3l3p3t3x3
343P3T3@5P5p5t5x5|5
#3444444444444
3'444A4P4
3[4_4c4g4k4o4s4w455
3!4)4E4J4P4g4l4
344F4R4d4
3	4(4G4r4
3	4 4G4v4
3!4;4K4v435|5
3)4;4M4_4q4
3 4.4N4d4
3.4;4S4b4
3!4?4V4m4x4
3-4:4W4g4l4
3!4!545F5a5j5p5z5
3" ! 4555
3(464 5:5Q5u5
.346Q"24
3*474g4v4
3#474O4g4
3482138g
3(484D4d4l4t4|4
)34-9"30
3[4a4j4w4
3?4D4L4#5T5e5
3 4D4P4X4
"34DE"34
3!4E4P4[4f4
3)4J4T4i4s4
!34ur1f29
:"34W;B;
3"4X4c4h4m4
"34y@"34
3#4Y4e4w4
353:3@3Q3V3c3
353R3b3|3
"3555;5;5
3 5@5V5f5
3577tZ5170Z
3 5A5O5U5p5
35jLI:GLl
"35l'3359
"35s	3354
.35s((96
#35t5"52
360321235959Z0T1
360428235959Z0i1
#362"#67W
363A3J3P3v3
363D3]3f3o3u3
363G364H4l4s4|4
364;4M4k4
364E4]4y4
366H668H8
.36gB!26
#36p3#69
3;;;;;;;7
370322235959Z0c1
373E3U3q3
374F4Q4Y4
376Uotmg
!37AGOr373
"37obB3773
:37wwwww
#::37wwwwwp
37wwwwwp
380115120000Z0b1
383@3H3T3t3|3
383C3l3w3
384B4G4i4
3[	87mH1P
38879641
;";3;8;B;Q;c;o;t;
?"?3?8?B?Q?c?o?t?
38 bra BB0_10
:":3:8:B:S:X:b:q:
;";3;8;B;S;X;b;q;
?"?3?8?B?S?X?b?q?
:":3:8:B:S:X:b:s:x:
:3:8:B:S:X:b:s:x:
;";3;8;B;S;X;b;s;x;
?"?3?8?B?S?X?b?s?x?
?3?8?B?S?X?b?s?x?
?#?3?8?B?V?e?
;!;3;8;D;J;O;c;h;r;
;3;8;T;m;r;
?3?8?Y?p?
393G3S3_3s3
39495 7p:v?
394G4S4f4t4;5
3:9:9dHbHA)@)
3)9(9gHfHs)q)
:":(:-:3:9:?:D:J:P:V:[:a:g:m:r:j;p;
"!"."3"9"?"F"L"U"]"f"t"
? ?3?9?G?M?[?a?o?u?
39UniformScaleRegionStepWW|.
?3A31(0(
3A3F3N3T3Z3|3
:3A3H3O3V3]3d3k3r3y3
3A3H3Y3q3
3A3V3b3y3
3a4f4p4u4
3A4K4Z4h4p4v4
3a736368656d615265662064733a7572693d22687474703a2f2f7777772e64617465762e64652f42534f66666963652f393939393239222f3e3c2f64733a736368656d61526566733e3c2f64733a6461746173746f72654974656d3e00000000000000000000000000000000000000000000000000000000000000000000
3A8@8vGuG
;:::3AaCCB
3*	Af2522
3aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
3#ASDo5FhV
3ataDnoitacilppAI.egarotS.swodniW
?3B3BO(O(
3B3J3_3e3
3B5I5l5q5
(3_*B8152	
3b@Sr1337
3C4B4y2z2
3C4f4o4t4
3C8D8CEEE
3cBB0_43
3cDb""Fffd
3Ce1102O
3#Ch2	)#;p
3citatSsnoitpOksaTtnirPdradnatSI.gnitnirP.scihparG.swodniW
3citsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
3Cz*EKR2F
3D6cC333S34fffEUU
3d)e)B!C!
3dirGI.slortnoC.lmaX.IU.swodniW
3dpDeviceDisplaysWX
;!;3;?;D;P;Z;c;j;p;v;
:!:3:?:D:R:X:c:j:p:v:|:
?!?3???D?R?X?c?j?p?v?|?
3E2E3B3B
3E#!33#	
3E4I4M4Q4U4Y4]4a4
3eciveDELhtooteulBI.htooteulB.seciveD.swodniW
3eciveDhtooteulBI.htooteulB.seciveD.swodniW
3eciveDscihparGnoitisopmoCI.noitisopmoC.IU.swodniW
3ecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
3ecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
3ecnerruceRtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
3ecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
3ecruoSaideMI.eroC.aideM.swodniW
3ecruoSmaertSaideMI.eroC.aideM.swodniW
3ecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
3ecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
*3eebIXXST
3egakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
3egakcaPI.ledoMnoitacilppA.swodniW
3egamII.slortnoC.lmaX.IU.swodniW
3egamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
3egasseMliamEI.liamE.ledoMnoitacilppA.swodniW
3egasseMtahCI.tahC.ledoMnoitacilppA.swodniW
3ekortSknII.gniknI.tupnI.IU.swodniW
3ELi4ELi5
3ELi8ELi5
3eliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
3eliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
	3elp.HF2117
3emarFI.slortnoC.lmaX.IU.swodniW
3E|p6jbJ
3erotSegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
3erotStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
3erotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
3erotStnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
3erutpaCaideMI.erutpaC.aideM.swodniW
3esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
3esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
3esoPretnioPlaitapSI.laitapS.tupnI.IU.swodniW
3etacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
3etadidnaCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
3etatSecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
3etuoRpaMI.spaM.secivreS.swodniW
3f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d262452282e
3f274	#77
?3F2FH0H0
[3"f2H3"f2
3f3"""Fffa
3f4D2"""FfffA
3F4T4F5X5
3fcB""""FfffA
3fdDFffffffffA
3ff3DDff2"""""""fffffffa
3ff4DDffB
;(;3;F;j;o;t;z;
3FKEKI5J5*8*8
3G4T4b4o4
3GIFIn6p6
3gnidroceRaideMgaLwoLI.erutpaC.aideM.swodniW
3golaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
3golataCegakcaPI.ledoMnoitacilppA.swodniW
3Gzf]hdtJ
3h4l4p4t4
3h9i9HHHH
:3;H;O;g;
3hparGoiduAI.oiduA.aideM.swodniW
3hsurBecafruSnoitisopmoCI.noitisopmoC.IU.swodniW
3 ?hwT"H?6
3I4T4M5X5
3'IL3#8PKR.
@]3i)m_YVI
@!3_iT		
3J4U4p4w4|4
3J9I99H9H
;3;J;l;y;
;(;3;J;O;T;Z;d;n;x;
3k3F4W4'5b5
3K3P3[3@5
3k7J2251
3kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
3kcolBtxeTI.slortnoC.lmaX.IU.swodniW
3knilrepyHI.stnemucoD.lmaX.IU.swodniW
3koOd105
3krowteNdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
3L0K0z8z8w(u(
3llaCenohPpioVI.sllaC.ledoMnoitacilppA.swodniW
3L#M#O*P*
3lortnoCI.slortnoC.lmaX.IU.swodniW
3lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
3lortnoCsmetII.slortnoC.lmaX.IU.swodniW
3lortnoCtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
3lortnoCtekcoSmargataDI.stekcoS.gnikrowteN.swodniW
:!;3;M;b;|;
3medoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
3metIkcabyalPaideMI.kcabyalP.aideM.swodniW
3metIllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
3metItuoylFuneMI.slortnoC.lmaX.IU.swodniW
3metsySetomeRI.smetsySetomeR.metsyS.swodniW
:3:M:k:t:
3N4W4g4u4
3nigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
;#;3;N;m;
3N.M.j4i4
3nocItnoFI.slortnoC.lmaX.IU.swodniW
3noisseSkcabyalPaideMI.kcabyalP.aideM.swodniW
3noitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
3noitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
3noitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
3noitacilppAevisremmIeroCI.eroC.ledoMnoitacilppA.swodniW
3noitacilppAI.lmaX.IU.swodniW
3noitacoLecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
3noitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
3noitaminAemarFyeKI.noitisopmoC.IU.swodniW
3noitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
3noitamrofnIeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
3noitamrofnIreePI.ytimixorP.gnikrowteN.swodniW
3noitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
3noitarepOdaolnwoDI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
3noitarepOdaolpUI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
3noitarepOerahSI.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
3noitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
3nottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
3nottuBraBppAI.slortnoC.lmaX.IU.swodniW
:3:N:T:a:t:
3O2OB8D8
3O3]3'4k4r4
3O3T3]3g3q3b4
3O7Y7c7m7
3oBTO8n.VFl
3ofnIcitsongaiDppAI.metsyS.swodniW
3P12212L1
3P]3T.0X
3P3T3x3|3
3P4U4e4u4
3packageInUsed
3POWER_DISPLAYPOWERSAVINGTECHNOLOGY_FAILEDWWW
3POWER_FEATURE_SUCCESSWWW
3POWER_PLAN_ERROR_CODESWWl
3pupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
:!;3;Q;r;
3Q|T;SDiz!
3R6|6g7u7U8c8
3raBdnammoCI.slortnoC.lmaX.IU.swodniW
3rablooTknII.slortnoC.lmaX.IU.swodniW
3raBppAI.slortnoC.lmaX.IU.swodniW
3radnelaCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
3rdp2a.lo
3redaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
3redaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
3redivorPtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
3redliuBekortSknII.gniknI.tupnI.IU.swodniW
3redliuBksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
3redloFegarotSI.egarotS.swodniW
3reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
3reffuBtekcaPnpVI.npV.gnikrowteN.swodniW
3reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
3reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
3rehctaWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
3reifitoNtsaoTI.snoitacifitoN.IU.swodniW
3rekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
3rekciPemiTI.slortnoC.lmaX.IU.swodniW
3rekciPetaDI.slortnoC.lmaX.IU.swodniW
3rekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
3rekciPevaSeliFI.srekciP.egarotS.swodniW
3rekciPnepOeliFI.srekciP.egarotS.swodniW
3rekciPredloFI.srekciP.egarotS.swodniW
3rekciPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
3rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
3rellortnoCecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
3rellortnoCnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
3renetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
3reniatnoCekortSknII.gniknI.tupnI.IU.swodniW
3rennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
3retemonilcnII.srosneS.seciveD.swodniW
3retemoreleccAI.srosneS.seciveD.swodniW
3retemoryGI.srosneS.seciveD.swodniW
3retemotengaMI.srosneS.seciveD.swodniW
3retliFeliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
3retliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
3retneserPknII.gniknI.tupnI.IU.swodniW
3retneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
3retneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
3retneserPtuoylFuneMI.slortnoC.lmaX.IU.swodniW
3revuenaMetuoRpaMI.spaM.secivreS.swodniW
3reweiVllorcSI.slortnoC.lmaX.IU.swodniW
3reyalPaideMI.kcabyalP.aideM.swodniW
3rosneSnoitatneirOI.srosneS.seciveD.swodniW
3rotanidrooCllaCpioVI.sllaC.ledoMnoitacilppA.swodniW
3rotceV.krowemarF.anX.tfosorciM
3rotceV.sciremuN.noitadnuoF.swodniW
3rotisopmoCI.noitisopmoC.IU.swodniW
3rotpircseDmaertSoiduAI.eroC.aideM.swodniW
3rs2-D!21n"
3S4.555c5j5
3s8!13pFEr131
3sBB0_25:
3scitatSdirGI.slortnoC.lmaX.IU.swodniW
3scitatSecapScihpargoloHI.cihpargoloH.scihparG.swodniW
3scitatSecivreSpaMI.spaM.secivreS.swodniW
3scitatSecruoSaideMI.eroC.aideM.swodniW
3scitatSegamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
3scitatSeliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
3scitatSenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
3scitatSesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
3scitatSesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
3scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
3scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
3scitatSknilrepyHI.stnemucoD.lmaX.IU.swodniW
3scitatSlennahCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
3scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
3scitatSmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
3scitatSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
3scitatSnocItnoFI.slortnoC.lmaX.IU.swodniW
3scitatSnoitarugifnoCerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
3scitatSnoitavitcAIUbeWI.IUbeW.IU.swodniW
3scitatSnottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
3scitatSnottuBraBppAI.slortnoC.lmaX.IU.swodniW
3scitatSpupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
3scitatSraBdnammoCI.slortnoC.lmaX.IU.swodniW
3scitatSrablooTknII.slortnoC.lmaX.IU.swodniW
3scitatSredaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
3scitatSredniFetuoRpaMI.spaM.secivreS.swodniW
3scitatSreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
3scitatSreganaMegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
3scitatSreganaMeroCnoitacitnehtuAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
3scitatSreganaMgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
3scitatSreganaMlennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
3scitatSreganaMliamEI.liamE.ledoMnoitacilppA.swodniW
3scitatSreganaMnigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
3scitatSreganaMnoitcetorPeliFI.ataDesirpretnE.ytiruceS.swodniW
3scitatSreganaMrefsnarTataDI.refsnarTataD.ledoMnoitacilppA.swodniW
3scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
3scitatSreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
3scitatSreganaMtnemllornEetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
3scitatSreganaMtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
3scitatSreganaMtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
3scitatSreganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
3scitatSreganaMyromeMI.metsyS.swodniW
3scitatSrehcnuaLI.metsyS.swodniW
3scitatSrehctiwSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
3scitatSrekciPemiTI.slortnoC.lmaX.IU.swodniW
3scitatSrekciPetaDI.slortnoC.lmaX.IU.swodniW
3scitatSrekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
3scitatSrellortnoCmwPI.mwP.seciveD.swodniW
3scitatSrepleHeerTlausiVI.aideM.lmaX.IU.swodniW
3scitatSretemonilcnII.srosneS.seciveD.swodniW
3scitatSretemoreleccAI.srosneS.seciveD.swodniW
3scitatSretneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
3scitatSretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
3scitatSretneserPtuoylFuneMI.slortnoC.lmaX.IU.swodniW
3scitatSrosneSnoitatneirOI.srosneS.seciveD.swodniW
3scitatSrotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
3scitatSrotarapeSraBppAI.slortnoC.lmaX.IU.swodniW
3scitatSsecnereferPnoitazilabolGI.eliforPresU.metsyS.swodniW
3scitatSseitreporPgnidocnEegamII.seitreporPaideM.aideM.swodniW
3scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
3scitatSsepytbuSgnidocnEaideMI.seitreporPaideM.aideM.swodniW
3scitatSslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
3scitatSsredloFnwonKI.egarotS.swodniW
3scitatSsreifitnedIradnelaCI.noitazilabolG.swodniW
3scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
3scitatSsreifitnedIycnerruCI.noitazilabolG.swodniW
3scitatSstamroFataDdradnatSI.refsnarTataD.ledoMnoitacilppA.swodniW
3scitatStegraTnoitisopmoCI.aideM.lmaX.IU.swodniW
3scitatStnemelEIUI.lmaX.IU.swodniW
3scitatStnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
3scitatStnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
3scitatStoviPI.slortnoC.lmaX.IU.swodniW
3scitatStxetnoCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
3scitatSweiVbeWI.slortnoC.lmaX.IU.swodniW
3scitatSweiverPnoitisopmoCtnemelEI.gnitsoH.lmaX.IU.swodniW
3scitatSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
3scitatSweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
3scitatSwolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
3scitatSxoBdrowssaPI.slortnoC.lmaX.IU.swodniW
3scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
3scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
3scitatSxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
3scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
3scitatSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
3SD1C;eI
3sedirrevOraBppAI.slortnoC.lmaX.IU.swodniW
3sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
3seiciloPxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
3seitilibapaCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
3seitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
3seitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
3seitreporPtseuqeRetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
3seitreporPyalpsiDcisuMI.aideM.swodniW
3setubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
3sgnitteSerutpaCaideMI.erutpaC.aideM.swodniW
3sgnitteSerutpaCppAI.erutpaC.aideM.swodniW
3sgnitteSetalpmeTraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
3sgnitteSgubeDI.lmaX.IU.swodniW
3sgnitteSIUI.tnemeganaMweiV.IU.swodniW
3sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
3sgrAderetnEetatSaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
3sgrAtnevEdeliaFdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
3sgrAtnevEdetelpmoCdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
3sgrAtnevEdetseuqeRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
3sgrAtnevEdetuoRyeKI.tupnI.lmaX.IU.swodniW
3sgrAtnevEelbaliavAcitsongaiDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
3sgrAtnevEgarDI.lmaX.IU.swodniW
3sgrAtnevEgnidniBaideMI.eroC.aideM.swodniW
3sgrAtnevEsucoFgnisoLI.tupnI.lmaX.IU.swodniW
3sgrAtnevEsucoFgnitteGI.tupnI.lmaX.IU.swodniW
3s)G*;X!#
3sliateDnoitpOtsiLmetImotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
3sliateDreggirTdraCtramSI.sdraCtramS.seciveD.swodniW
3sliateDreggirTecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
3slortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
3snoitpOrehcnuaLI.metsyS.swodniW
3snoitpOrezisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
3s#p#(*(*k*k*("'"!0"0
3sretemaraPgniredneRaremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
3ss333330
3ssapmoCI.srosneS.seciveD.swodniW
3stnemelElausiVeliTyradnoceSI.neercStratS.IU.swodniW
3sutatSllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
3sw33;33333p
3syeKtuctrohSetanretlAerutpaCppAI.erutpaC.aideM.swodniW
3System.Resources.Tools.StronglyTypedResourceBuilder
:!;3;s;z;
3t6'797K7]7o7
3tcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
3tcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
3tekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
3tekcoSmaertSI.stekcoS.gnikrowteN.swodniW
3tekcoSmargataDI.stekcoS.gnikrowteN.swodniW
3teSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
3thgiLnoitisopmoCI.noitisopmoC.IU.swodniW
3thgiLtnioPI.noitisopmoC.IU.swodniW
3thgiLtopSI.noitisopmoC.IU.swodniW
3tnemelEaideMI.slortnoC.lmaX.IU.swodniW
3tnemelEIUI.lmaX.IU.swodniW
3tnemelEkrowemarFI.lmaX.IU.swodniW
3tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
3tnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
3tnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
3tnemucoDtxeTI.txeT.IU.swodniW
3tnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
3tnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
3toviPI.slortnoC.lmaX.IU.swodniW
3tseuqeRecivreSnoitisiuqcAesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
3tseuqeRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
3tseuqeRnekoTredivorPbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
3tseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
3tsiLkcabyalPaideMI.kcabyalP.aideM.swodniW
3tsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
3tsoHretneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
3txetnoCerotSI.erotS.secivreS.swodniW
3udpAesnopseRcitamotuAdraCtramSI.sdraCtramS.seciveD.swodniW
3V4g455o5
3V4h4f6x6
3V6[CWl2
3V6h677U7f7
:#:.:3:V:f:|:
3.visible .entry _ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19
:!;3;@;w;
3W4'5 676f6
3weiVbeWI.slortnoC.lmaX.IU.swodniW
3weiVegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
3weiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
3weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
3weiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
3weiVteSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
3weiVtilpSI.slortnoC.lmaX.IU.swodniW
3weiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
3WfH	Ic-
"3W?(NDo
3wodniWeroCI.eroC.IU.swodniW
3wodniWI.lmaX.IU.swodniW
3wolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
3WQ6mado
#3wwwwwww
3X3XIRTAM.srosneS.seciveD.tfosorciM
3xO749;#
3xoBdrowssaPI.slortnoC.lmaX.IU.swodniW
3xobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
3xoBobmoCI.slortnoC.lmaX.IU.swodniW
3xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
3xoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
3xoBtxeTI.slortnoC.lmaX.IU.swodniW
3Y@6mad'
3yalpsiDcihpargoloHI.cihpargoloH.scihparG.swodniW
3yalpsiDeniLdemialCI.ecivreSfOtnioP.seciveD.swodniW
??3@YAXPEAX@Z
3YOjwUz5
3yrarbiLegarotSI.egarotS.swodniW
3yrtnEtsiLppAI.eroC.ledoMnoitacilppA.swodniW
3YSyL1]E
3ytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
3Z4g4t4x4|4
[_3@z(8n
3Z#Z#d*d*
-:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4
4;;;;;;;;;;;;;;;
4;;;;;;;;;;;;;;;'
4;;;;;;;;;;;;;;;;;:
4;;;;;;;;;;;;;;;;;;;;;;;:'
4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!
4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-
4_#_#(*)*
4000_lld.23tspsm
40444D4H4L4d4h4l4p4t4x4|4
404@4D4H4P4h4x4|4
404L4P4l4p4x4
40595F5Q5Z5i5
405Q5f5t5
.)!40b2!ul
40C0J0a0
40F1V1X2
40f266R6
40Ni!Pml
"40q	1403
4103"8"32
4109a8"25
4119(71311U6B;
41:1L1W1
4[1[1M5N5
 )?411R#
#4121L8J8
#4141i8h8lAlA
#4141j8j8HAGA
414:4Q4Z4q4
41595?5N5k5
415A5Q5a5q5y5
416e376a6168b9ed2bb5a5f5adb979b1cdce5e40f2184197bba6526857c2c92e47d0104d754f92a50dd8222f65be35e0c95b73d2f3bfac85fd60d80887955a27
41GkBB0_40
4222ce0cae934e960d122231f728497abe5a7ee1069aea1ca2b9d51b90103e59725d482b9f1a3970baed64bc5ce2b934dd6e8c284b67af90e1b35ce1fc568bdf
4223XU1275
4227MH"30
424I4a4n4
425?5M5f5x5
-42949672
-42949672]
-429496729
429496729
-42949672Ip
-42949672SI
429883afd70103000000c0010000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000e056429883afd701
"42m	9d30C
4|2xz[2w
4*2*y(y([
433333333333333
433!33a#64:
'433444444444444444444
43484B4S4X4b4s4x4
43494U4v4
 _4352]A
	437DCGDCGDCG437
"43c #648
43e3c338b180a78cd101e34e2b3c547319669eadd3c83d395f9bb8a7085db8e61ea2d4f2f278bd821c4b5c2a8731b6683ea1289528c229969efa8e9d63ec58dd
#43n*8d26
440!#!#############
4 40414.4
4 40444D4H4L4P4X4p4
4 40444D4H4L4T4l4|4
4@4048464
4(40484D4d4l4x4
4'40494g4
4(404H4P4d4t4|4
440CBP!B
4'414;4E4O4Y4c4m4w4
4#414?4F4M4[4h4v4
4!414:4Q4a4q4
4 41464C4c4p4
4!414A4I4e4j4p4
4!414A4J4a4q4
4!414A4Q4a4j4
4!414A4Q4a4q4z4
4!414A4Q4Z4q4
4!414A4Q4Z4q4z4
4"414C4H4T4Z4_4s4x4
4423;r2s643
4-424N4g4l4
'443#443
443444444
4!434?4D4P4Z4c4j4p4v4
4"43484B4S4X4b4q4
4"43484B4S4X4b4s4x4
4(434J4O4T4Z4d4n4x4
4 4(40484
4 4(40484@4H4T4t4
4 4(40484@4L4l4x4
4 4(40484@4P4t4
4 4(40484D4h4
4 4(40484H4l4x4
4#4(424A4S4_4d4p4z4
4#4(424A4S4_4d4r4z4
4#4(424C4H4R4a4s4
4#4(424C4H4R4c4h4r4
4#4(424J4O4T4Z4d4n4x4
'444334353
4443434444
4 4*434:4@4F4P4Z4a4i4
4"4'43484|5
#44444444
44444444
!444444444
'444444444444444444444
444444444444444Umoood9444444444444444444443"
4444444555555555585
4!4-444:4@4J4T4Z4s4
4#4-444:4S4X4b4s4x4
4(444@4I4N4X4b4l4x4
4(444@4L4X4d4p4|4
4(44484@4L4X4d4p4|4
4'444a4j4w4
4444argB.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4'444E4R4c4p4
'??4444'FFFFFFF''4'
4#4)4;4h4
4 4(4@4P4T4d4h4l4p4t4x4
4 4(4@4P4T4d4h4l4p4t4x4|4
4-4;4@4X4q4v4
4 4(484@4d4t4|4
4 4(484@4H4T4|4
44484@4L4l4t4
4!4'494A4i4q4
4!4*4A4Q4a4q4
4 4-4A4R4
'?444'CFFFFF?'4444????CCEEEEEEEECCC????4
444D4H4L4T4l4|4
4!4)4E4J4P4a4f4s4
4*4:4E4O4
444'FFFFFFF4'4444?????CCEEEEEEEEECC"					
4.4?4h4|4
4 4@4H4T4|4
4 4@4H4T4t4|4
4"4'4j4|4
444L4d4|4
4 4@4L4l4x4
4(4:4L4m4
4)4;4M4_4q4
4-4:4M4Y4.5
4 4@4P4t4|4
4)4.4R4n4u4
4"4?4T4Y4
4#4)4U4d4
4.4:4V4g4
4.4@4Z4t4
4'454A4P4j4y4
4'454B4i4
4*454C4N4Y4
445@7E7p7u7
4-464?4E4R4v4
4)464C4P4]4j4w4
4)464G4T4e4r4
;-4-4'6'6
4'474G4W4g4w4
4"474N4q4
4'484L4S4j4u4
4@4A484:4
4)4A4d4x4
4-4A4U4s4
:!4!4B7B7
)'4)4C)A)[![!p(o(
4#4D4[4g4
4*4D4a4n4
4"4D4J4V4k4x4
4#4D4P4c4
4 4D4P4t4
4@4d4p4x4
4 4D4P4X4p4|4
4!4D4Q4t4
4?4E4M4[4
4"4F4T4m4v4
4(4F6X6v8
4 4H4h4p4x4
4	4h4q4v4
4@4H4T4|4
4(4H4T4x4
4.4H4U4b4
4-4K4_4e4
4(4L4l4t4|4
4(4L4w778
4.4M4S4t4
4;4O4S4]4
4(4P4p4x4
4@4P4Q4N4
4@4P4X4V4
4?4Q4W4_4g4
44qacRpt6SCG
4)4U4b4q4
4*4V4]4k4
;4@5@::::
4!51595s5
4'525E5P5
4-535?5g5
4!535C5v5
4'545W5g5l5
4(545X5d5
454L4Q4a4
4(5.535P5
4#5(555S596
4)555E5Q5n5t5
4!5-5A5I5(6Y6
4 5*5D5N5f5x5
455l586b6
4!5)5O5s5|5
4(5;5P5X6]6g6l6
4	5(5R5Y5r5
4	5"5Z5s5
4)565W5g5l5
4*5#696B6
4'585?5G5]5y5
4.585U5j5o5
!45)93r45 
45949VHVH
4"595C5M5z5
4;5B5I5P5
4*5C5H5Q5
4'5D5X5c5
4.5E5K5[5a5
4#5E5N5T5
4#5I5N5Z5a5u5
4?5I5X5f5n5t5
4(5M5f8v8
!45pE!45
4*5* P P
4(5Q6f6z6
4'5V5h5g7
46060*.*.
4611686018427387
46116860184273878
46116860184273878_
461168601842738788
4611686018427387KE
46422d334241312d344635362d413838312d4238334339363542364244307d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c6473
464;4A4K4U4_4m4u4
464?4G4P4V4
464A4J4P4v4
464D4K4Q4s4
464D4Q4g4
465H5c5i5m5
46abgR.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
46f333333333FffffEUUUTCfd1
4:6F6Y6k6|6
46x.1000_lld.ppusswo
46x.lld.cdswaei
46x.lld.einttbno
46x.lld.fmlmxosm
46x.lld.isc
46x.lld.osm
46x.lld.setondeknileinttbno
46x.lld.tliffdo
46x.lld.tneilc23niw02osm
46x.lld.tneilc23niw03osm
46x.lld.tneilc23niwiu04osm
46x.lld.tneilc23niwl99osm
46x.lld.vexosm
46x.lld.xeevoorg
46x.lld.xtlifffo
47070g0h0
474@4K4f4u4
474R4_4u4
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100a4d06d8592070000c3200000160000007468656d652f7468656d652f
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b030414000600080000002100b6f4679893070000c9200000160000007468656d652f7468656d652f
475F5l5q5
4"767b8r8
*4)7)7(7(r8o8
 4:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8
?#483v2483
484@4L4l4x4
484D4d4l4t4
484Q4V4r4
4888898-
;4;8;D;d;l;t;
48Z2242u
"48z8"48
493c1b9426881fd2fc08bc6eda7c0ca52e7105c0633a3f37818f08f480102f4ea33c16a0c308ee835a9fc4c82a60ea5db8e375c32dff5d658fc1be7c61d1b8c2
494B4R4e4
495@5Z5c5
495A5I5Q5Y5w5
495J5[5f5q5
!498898889889889889880
49889889-
4988988988980
49889889889889889888980
4988988988988988988988890
49889889889889889889889890
498898898898898898898980
4988988989*
499889884
49999889889889889889889889889880
:*:4:9:c:u:z:
49D121459
#49IF#97
"49N	3497
-!49q(B;
49?Sy4*Rh#
4a27ec372bfd306cd6c761bd361a345e41619171520fb3bbfa095c60d04d7e63afc7f76eed93ed1dcd9d394baa4cdfca5735717d6b5f6f386eedbd99ba9cf73d
;4A3Ag4g4
4A4N4g4w4|4
4A4Q4a4q4
4A4V4g4Y5n5
4ABABKBKB
4ABB0_Xx
?#?4?;?A?E?K?O?U?Y?i?q?
?"?4?a?q?
4aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
4])a)X!X!E(E(
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
]4BA2097
;4;B;];e;
??4BuiVolume@@QEAAAEAV0@AEBV0@@Z
4C4J4o4v4
4C)B)1!1!G(F(
??4CHString@@QEAAAEBV0@AEBV0@@Z
??4CHString@@QEAAAEBV0@PEBG@Z
?	?)?.?4?C?I?T?Z?s?
4compressSparseTensor_4_2ItLb0ELb1
4conv6Stride0
4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1
??4Convolution@cask@@QEAAAEAV01@AEBV01@@Z
??4ConvolutionDgrad@cask@@QEAAAEAV01@AEBV01@@Z
??4ConvolutionWgrad@cask@@QEAAAEAV01@AEBV01@@Z
4D3C3W"Y"
4D4d4l4t4|4
4D4N4X4b4m4
4D4Z4l4u4
4D5K5T5]5f5o5x5
4d73786d6c322e534158584d4c5265616465722e362e30000000000000000000000e0000
4d#e#-*-*'*'*
4dirGI.slortnoC.lmaX.IU.swodniW
:(:-:4:D:J:a:u:
:4:@:d:p:
? ?4?D?P?p?
.4DuZY!f6
4]DyBB0_40:
-4dZHLrEY
4e7d7l?l?
4eciveDELhtooteulBI.htooteulB.seciveD.swodniW
4eciveDhtooteulBI.htooteulB.seciveD.swodniW
4ecnatsnIksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
4ecruoSaideMI.eroC.aideM.swodniW
4ecruoSmaertSaideMI.eroC.aideM.swodniW
4ecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
	4EEvNT_6ParamsE(
4EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE??4848448?CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
4egakcaPI.ledoMnoitacilppA.swodniW
4egasseMliamEI.liamE.ledoMnoitacilppA.swodniW
4egasseMtahCI.tahC.ledoMnoitacilppA.swodniW
4ELi8ELi7
4eliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
4emarFI.slortnoC.lmaX.IU.swodniW
4erutpaCaideMI.erutpaC.aideM.swodniW
4esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
4esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
4etuoRpaMI.spaM.secivreS.swodniW
4etyBdezilamroN.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4etyB.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4F4[5a5m5
4F4L4f4x4
4F5W566C6
4F5W5"6d6
4F5X5F6U6
4fd4FfDDD33fffffffffffcDDffDfdDC3Fffffffffffffff4DfFfD36fffffffffffffffffdFdDDC34ffffffffffffffC4FdffDDD44334ffffffffCDDFfDFffDDDC233Fffffd344DFfdFdFffDD
'4'FFFFFFFF4'
4FFFFFFFFFFFFF2'244444???5				
4fffffffffffffffffffffffffffff
***********"""4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE'
4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC'
4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC4
4FWdno8"
4G24163q
4G!!24U!4245B
4G5m6!7q7
4G5w5F6U6u6
4G7N7U7b7
4:;;;gAhA
??4Gemm@cask@@QEAAAEAV01@AEBV01@@Z
4golataCegakcaPI.ledoMnoitacilppA.swodniW
@4H4T4t4
4H5H6H7H8H9H
4H5X5p5t5x5|5
4H)F)N!O!T(U(
:4:@:H:h:
#4hx	G_e
4I4o4w4L5T5v5
4I4r4N6W6z6
4ICtTunerd
:!:4:I:M:R:
4J)J)5!4!V(W(
4J)M)k!k!e(d(
4JN5XTNL
;';.;4;:;@;J;Q;W;s;x;
4JwEf#[[
4kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
4kcolBtxeTI.slortnoC.lmaX.IU.swodniW
4*kcsA!S.f
4knilrepyHI.stnemucoD.lmaX.IU.swodniW
4l6-7:7A7H7p8
: :4:L:d:|:
:4:L:d:|:
?4?L?d?|?
4lenaPkcatSI.slortnoC.lmaX.IU.swodniW
4lennahCnpVI.npV.gnikrowteN.swodniW
4lortnoCI.slortnoC.lmaX.IU.swodniW
4lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
4lortnoCtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
:(:4:@:L:X:d:p:|:
;(;4;@;L;X;d;p;|;
|4MaPZ1'
4metIllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
4metsySetomeRI.smetsySetomeR.metsyS.swodniW
4Microsoft.AppV.Client.StreamingUX.ProgressBarControl
4N2N*7)70)0)
4noitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
4noitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
4noitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
4noitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
4noitarepOdaolnwoDI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
4nottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
4nottuBraBppAI.slortnoC.lmaX.IU.swodniW
; ;*;4;O;
??4Operation@cask@@QEAAAEAV01@AEBV01@@Z
4[out_VersionW
: :*:4:O:Y:c:m:w:
4:P"34*	
4p5t5x5|5
4P:KHJMk
??4PoolingOperation@cask@@QEAAAEAV01@AEBV01@@Z
4POWER_PERCEIVEDVISUALQUALITYCONTROLLER_FAILEDWWW
4ppRCCaaaacCCRRG
;4;P;T;p;|;
4P'VE?"MqG
4Q0S0Y X 
4Q5_5l5z5
4Q6*;2;9;
4qaCCRCCCB
4qcN2bA(0
?'?4?Q?f?x?
4r*1IKLYA
4R4c4i4o4v4
4R5f5t5f6u6
4r5h6_798
4raBppAI.slortnoC.lmaX.IU.swodniW
4[R(CGI7;
4redivorPtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
4redliuBksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
4reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
4reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
4reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
4rekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
4rekciPevaSeliFI.srekciP.egarotS.swodniW
4rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
4rennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
4retemoreleccAI.srosneS.seciveD.swodniW
4retliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
4retneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
4reweiVllorcSI.slortnoC.lmaX.IU.swodniW
4reyalPaideMI.kcabyalP.aideM.swodniW
:4;R;j;x;
4rotanidrooCllaCpioVI.sllaC.ledoMnoitacilppA.swodniW
4rotceVflaH.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4rotceV.krowemarF.anX.tfosorciM
4rotceV.sciremuN.noitadnuoF.swodniW
4rotisopmoCI.noitisopmoC.IU.swodniW
4r?q?ODND
;	;4;[;s;
4scitatSdirGI.slortnoC.lmaX.IU.swodniW
4scitatSecivreSpaMI.spaM.secivreS.swodniW
4scitatSecruoSaideMI.eroC.aideM.swodniW
4scitatSesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
4scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
4scitatSknilrepyHI.stnemucoD.lmaX.IU.swodniW
4scitatSlenaPkcatSI.slortnoC.lmaX.IU.swodniW
4scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
4scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
4scitatSnoitarugifnoCerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
4scitatSnoitavitcAIUbeWI.IUbeW.IU.swodniW
4scitatSnottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
4scitatSnottuBraBppAI.slortnoC.lmaX.IU.swodniW
4scitatSraBppAI.slortnoC.lmaX.IU.swodniW
4scitatSreganaMeroCnoitacitnehtuAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
4scitatSreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
4scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
4scitatSreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
4scitatSreganaMtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
4scitatSreganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
4scitatSreganaMyromeMI.metsyS.swodniW
4scitatSrehcnuaLI.metsyS.swodniW
4scitatSretemonilcnII.srosneS.seciveD.swodniW
4scitatSretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
4scitatSreweiVllorcSI.slortnoC.lmaX.IU.swodniW
4scitatSrosneSnoitatneirOI.srosneS.seciveD.swodniW
4scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
4scitatSsepytbuSgnidocnEaideMI.seitreporPaideM.aideM.swodniW
4scitatSslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
4scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
4scitatStnemelEIUI.lmaX.IU.swodniW
4scitatStnemelEkrowemarFI.lmaX.IU.swodniW
4scitatStnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
4scitatStnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
4scitatStxetnoCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
4scitatSweiVbeWI.slortnoC.lmaX.IU.swodniW
4scitatSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
4scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
4scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
4scitatSxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
4scitatSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
4sedirrevOesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
4sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
4seitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
4seitreporPtseuqeRetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
4setubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
4sgnitteSerutpaCppAI.erutpaC.aideM.swodniW
4sgnitteSetalpmeTraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
4sgnitteSgubeDI.lmaX.IU.swodniW
4sgnitteSIUI.tnemeganaMweiV.IU.swodniW
4sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
4sliateDreggirTecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
4slortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
4snoitpOrehcnuaLI.metsyS.swodniW
4S oBB0_44@
??4SoftmaxOperation@cask@@QEAAAEAV01@AEBV01@@Z
4stnemelElausiVeliTyradnoceSI.neercStratS.IU.swodniW
4 t0SCApRS
4tcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
??4TensorDesc@cask@@QEAAAEAU01@AEBU01@@Z
4teSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
4_tn_align16EEvNT_6ParamsE_n
4tnemelEIUI.lmaX.IU.swodniW
4tnemelEkrowemarFI.lmaX.IU.swodniW
4tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
4tnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
4tnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
4.trans.m8n8JP
4trohSdezilamroN.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4trohS.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
4txetnoCerotSI.erotS.secivreS.swodniW
4U5Y5]5a5e5i5m5q506
4.uFr148;(?105
4V0V0G F 
4v11r43j 
4v1Rsub.s
4V6h6F8X8f9x9
4V6h6Z7u7
4v9u91H0H
4!VL	@gM
??4VolumeFveStatus@@QEAAAEAV0@AEBV0@@Z
4w4!7.7F7[7
4weiVbeWI.slortnoC.lmaX.IU.swodniW
4weiVegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
4weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
4weiVteSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
4wodniWeroCI.eroC.IU.swodniW
4wodniWI.lmaX.IU.swodniW
4W;V;U;U;H9I9
4wwurRwpp
4W;X;lCmC
4X2'24X2
4x4xirtaM.sciremuN.noitadnuoF.swodniW
(4Xb;w3W
:4:X:c:p:
:4:X:d:l:
4X)iBB0_33O
4xoBdrowssaPI.slortnoC.lmaX.IU.swodniW
4xobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
4xoBobmoCI.slortnoC.lmaX.IU.swodniW
4xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
4xoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
4xoBtxeTI.slortnoC.lmaX.IU.swodniW
? ?(?4?X?x?
4Y6a6i6q6y6
4Y|bR0pG-
4yrotcaFweiVbeWI.slortnoC.lmaX.IU.swodniW
4yV!34NX
4z6?214T
!4zBB0_25:
4Z#Z#****
:::::::5
5000_lld.23bdmsme
                                        5000ms)
"50]0"50
5@0@0B A H*H*j)i)
50:0S1X1
505@5D5H5P5T5h5l5
505@5D5L5d5t5x5
50585@5H5T5t5|5
506563787
50B0P0]0w0
#50ms7201
50T0k0y0
51;2;N6O6
5)(1348;
515:5Q5a5q5
51585M5z5
515A5Q5a5i5
515h5l5p5t5x5|5
516E6]6e6
517s7#8p8
519J9]9k9w9
"5!1_p:rbra.uni
"51SL!12k
51Y1C2?4a4
5  24-Sep-94
525341310010000003000000000200000000000000000000010001f3d9a4dc78c4a06f086cd63b6e12d1e611e2dfba6690220490eadcc96f5c204218eca500de46922dd1bef85c39042091fc80f1fbc7197d291728801ebf7225a7075f5c99af719765051b3443815526533efb72262888a63f11305a86c1201d6de343569587b2c9c545276248379a4b063276bf7730c6f3e26a3ae08cb3e7918dcbca3fd4d4ebc897a49c7a346ec5cd8457192fbfac174a1437c48b9fd6d1b77f43c44604e6db235b744c1e7374e36a861f00699b1940bd5ae4db67ef8954fa6464e49fa73ac649719cdb9a508ba79080b475944fef90bdd957391dcb52383d96d4ba84375c168850a7a8bdeaba4dcedbfceb3bd20d39ef06a472c5daa669ebbed6efbad9c0ba6ae616e5ca95f28b89b5c330e8b8a49a91b1989ece16d9cfa480f4eab6d32c17bb8cfb339cff486107406d6dc62496433827c71f4cfa8ef1eb5efca98eb2fd497c1b2423b19e7dfb08e28a90a3afdf83fa8c7893c5ea88ac9a04e326dc2adf6e7f7805e80dad6eb4eca862a2a70cb013842d63d9fef855abf6af758105b1daafa6f4588ca4e7838687dfbb162d5c2514045686a7fd7c8c1a806d61516a92559bc7af26cf54872a4facbe4ee2bcfa5db92777eb542c7c3ccf465e795cde5f1d2b7701a240c604b4f9cfc907f06f90ee4b0a3b1894e7fdc0e81d4ff1b98d8b0720d112cb1318bce08f815873aa5c0dd15d269f4060c083fb2bd1df
(5*25(5"58
52595E5K5a5
525J5a5t5
52696R6v6
526R6j677G8
|52730Y7
"52NN1d22
5@	*30@	
530E08DB6C0FD948B2D28958D3F1156E
"53_11531
53 !25@ 2255
"532	"53
534f3939393932393e000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b363137443232
534f3939393932393e000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b443032433436
"53-)"53
53585B5H5c5h5r5x5
535D5S5c5
535M5Z5g5
535Q5n5s5
53687090
53687090	
53687090"
536870908x
53687090c
53687090S
536V6e6N7
"53h'2530C
"53n!1532
54#################
540################
5400000000000000000
5404040404040404004
5'42AZ!51y
5444444444444444444
(545@5L5X5d5p5|5
54585H5l5x5
54585X5x5
545L5d5|5
546480051
546@6d6p6
546A6N6f6x6
546P6]6k6y6
!546QLLN
*5"4"H0G0
54:@:k:x:
5	4	v	w	
!_*_*:5:5
5 50515.5
5 5054585@5T5d5h5|5
5*50555S5X5b5h5
5)50565S5X5b5s5x5
5)50575P6
5@5058565
5(50585D5d5p5
5#515?5F5M5[5h5v5
5!515:5Q5a5q5
5!515:5Q5Z5q5
5!515A5I5e5j5p5
5!515A5J5a5q5
5!515A5Q5a5q5
5!515A5Q5a5q5z5
5!515A5Q5Y5u5z5
5!515A5Q5Z5q5
5!515A5Q5Z5q5z5
5"515C5O5T5b5h5s5z5
5!515D5v5|5
5*525:576H6
5"53585B5Q5c5o5t5
5"53585B5Q5c5q5v5
5"53585B5S5X5b5q5
5"53585B5S5X5b5s5x5
5 545@5H5h5p5
5(545@5L5X5d5p5|5
5"545A5Z5
5#545E5V5g5x5
5(545L5d5l5t5
5#5*50565@5J5Q5Y5s5x5
5 5(50585@5H5P5d5h5p5t5|5
5 5(50585@5L5p5
5 5(50585@5P5t5
5 5(50585D5d5p5
5 5(50585P5p5x5
5#5(505K5Q5W5n5s5
5 5(505L5l5t5
5 5*51595S5X5b5s5x5
5#5(525A5S5_5d5r5x5
5#5(525A5S5_5d5r5z5
5#5(525C5H5R5a5k5s5x5
5#5(525C5H5R5c5h5r5
5"5-545?5
5 5-545:5@5F5P5V5s5x5
5 5(545X5x5
5 5'5-53595E5K5T5[5a5g5m5y5
*55555555555555555555555*
55555555555555555555555555555555555555555555555555555555555555555555555555555555555
5-555?5V5[5a5k5u5
*5555F5F53
5 5(5@5P5T5d5h5l5p5t5x5|5
5 5(5@5P5T5d5h5l5p5x5
5 5(5@5P5T5d5h5l5t5
5 5(5@5P5T5d5h5p5
5#5-575A5K5U5_5z5
5!5*5A5Q5a5q5
5"5-5d5n5x5
5)#!55'E!55Tc!55
5!5.5E5J5O5j5t5
5!5)5E5J5P5a5f5s5
5*5;5F5Q5f5q5
5 5@5H5T5
555I5h5|5
5"5*5I5q5
5!5:5K5P5U5p5
5 5@5L5l5t5|5
5 5@5R5b5|5
5 5:5T5n5
5 5;5V5n566F6
5.5@5Z5t5
5"565H5b5
556D6W6f6
5573771914535l6l6T1T1
5'575G5W5g5w5
5 585@5H5P5h5p5
5-585A5W5b5q5
5-585C5N5l5
5(585H5X5h5t5|5
5)585J5W5
5 595F5v5
5 595V5o5
5@5A585:5
5-5A5F5K5h5
5*5B5_5z5
5'5B5I5u5
5(5B5P5s5
5.5C5M5W5q5
5'5C5T5r5
5 5D5_5d5t5
5'5D5_5w5
5#5D5P5c5
5 5D5P5t5|5
5@5D5p5t5x5|5
5@5d5p5x5
5 5D5P5X5p5x5
( 5 5e4f4
5-5E5I5e5i5
5:5F5d5x5
5(5F5f5t5
5"5F5T5f5v5
5"5F5T5m5v5
5	5f5x5K6
5"5g5s516
5.5H5b5|5
5(5H5T5t5|5
5'5H5W5|5h6w6
5"5"?!@!i
5(5(jglg
5	5j-k-b
5:5K5i5z5
5@5L5p5x5
5-5L5R5s5
*:5:5o9m9
5@5P5Q5N5
5@5P5X5V5
*:5;5r*s*T"R"
5-5S5]5c5z5
5;5s5u6w7
5(5t5x5|5
5 5u2u2W!V!
	5	5XMYM
5'606M6w6
5!616A6Q6a6i6
5"616X6g6p6
5-636:6A6G6X6f6
5*636U6|6
5'646A6P6
5'646W6g6l6
565A5J5P5v5
565D5]5f5o5u5
565O5T5p5
565rgB.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
5 6*60696@6I6N6W6z6
56666666333l
5	666D6[6
5	666E6n6
5 6'6-6Y6
5(6;6A6J6N6T6X6_6d6|6
5"6-6d6n6x6
566W6t6z6
5(676h6w6
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
5'6D6X6c6
5 6e6k6p6V9
5 6I6]6|6
5?6I6X6f6n6t6
5#6P6d6x6
5.6Q6_6q6
*5"6"s0r0
#5728?d28
575A5K5W5
575G5L5y5
5767"A!A
57f9c601d40103000000c0020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000c07d57f9c601d401
5'7Q7V7x7
)5848I5I5
585@5H5P5X5h5
585@5H5T5
585BF6B5-D7F1-4A35-9FB7-F7FBF163FE0A
585N5g5l5z5
586_6f6p6y6
586F6L6u6
!5889898888-
589888988988980
589889889-
"5]8;Ea.to
595F5g5w5|5
596?6J6P6
596E6]6e6
59889898
599:9yHzHu#u#Y
59?ssetp.eq
5A#25554
5A5Q5a5q5
5-.-.a8b8a)c)
5Afd15 6
5!AGr355
5AH*"!0L
5ANIs105	
5aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
5B5m5;7s7
5B5S5b5z5
5B6g6l6y6
"5]BFEa.to
?(?5?B?O?v?
5C5O5]5n5u5
5C6CPDRD
5C6N6h6n6|6
5c6v657F9W9
5cd829496313fbb938871045de13265df05366ef10f50e7e40e941773f27d872f787b3c133c8b026a53240d4376beef0e57dccacf89d6ee8126157aae9f3c44a
:5:C:J:R:j:x:
5c!O1076
5D-3r54;
5d5h5l5p5t5x5|5
5D5h5q5|5
5D5h5t5|5
5d7G9M9d9x9
5Det gick inte att hitta f
5|DzD!' '
5:*E3513
5E5N5[5f5o5
?5???E?b?o?
5eciveDELhtooteulBI.htooteulB.seciveD.swodniW
5eciveDhtooteulBI.htooteulB.seciveD.swodniW
5ecruoSaideMI.eroC.aideM.swodniW
5egakcaPI.ledoMnoitacilppA.swodniW
5eliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
5emarFI.slortnoC.lmaX.IU.swodniW
5erutpaCaideMI.erutpaC.aideM.swodniW
5esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
5esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
:-:5:E:V:
5f3bb4f7393a33e1339260e13dc297de5396c0021dfcf119bf9ec42c46c494e8a791402952b338f48f656ca11f6d10450edc00db767cce21d5b880f7d72f2cc2
5F5X5f5k5q5
5FFFFFFFFFFFFF4
!!5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF? 
5[ 	(_Fz.YK
5G5L5k5p5
5G5P5h5|5
5G6[6e6l6
5g6l61767]7b7
5G6T6a6|6
5GDefaultFeatureSettingsWW
5G:F:0I2I
5H?'15Z	
5h6l6p6t6
5H6Z6c6v6
5h8T:f:x:
:":5:H:[:n:
5HUcBB0_46
5InitiateUserConnectionWWd
5ivqIcK;2
5J	Es155e
5[Jqra.uni 
5K5R5e5s5z5
5kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
5kcolBtxeTI.slortnoC.lmaX.IU.swodniW
5kKdcpfC
5knilrepyHI.stnemucoD.lmaX.IU.swodniW
?*?5?@?K?Y?d?o?z?
5l2m24!6!
"5]l9Ea.to
5lenaPkcatSI.slortnoC.lmaX.IU.swodniW
5L?K?L;L;#A!A
5lortnoCI.slortnoC.lmaX.IU.swodniW
5lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
5metIllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
5metsySetomeRI.smetsySetomeR.metsyS.swodniW
5|m?H|b5!)
5Microsoft Development Root Certificate Authority 2014
5Microsoft ECC Devices Root Certificate Authority 2017
5Microsoft ECC Product Root Certificate Authority 2018
5Microsoft ECC Testing Root Certificate Authority 2017
5N6h6M7'878q8
:);5;N;e;
5noitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
5nottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
5nottuBraBppAI.slortnoC.lmaX.IU.swodniW
5nSizeRRStructWWW
5@ "nTjs
5o|ou.Je
5OpenAsTextStream
5O#Q#F-G-
5out_Dispatch
5oX7522[
5P4P4e:d:
;';5;P;a;m;
5P!N!R*P*"'#'
5!P](xKG
5q7Y8:9x9
5Q#T#O-N-
5reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
5reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
5reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
5rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
5retliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
5retneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
5reyalPaideMI.kcabyalP.aideM.swodniW
5RMTMi.j.
5rotisopmoCI.noitisopmoC.IU.swodniW
5s553"M'
5S637c839
5scitatSemarFI.slortnoC.lmaX.IU.swodniW
5scitatSesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
5scitatSesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
5scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
5scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
5scitatSknilrepyHI.stnemucoD.lmaX.IU.swodniW
5scitatSlenaPkcatSI.slortnoC.lmaX.IU.swodniW
5scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
5scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
5scitatSnoitarugifnoCerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
5scitatSreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
5scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
5scitatSreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
5scitatSrehcnuaLI.metsyS.swodniW
5scitatSretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
5scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
5scitatSsepytbuSgnidocnEaideMI.seitreporPaideM.aideM.swodniW
5scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
5scitatStnemelEIUI.lmaX.IU.swodniW
5scitatStnemelEkrowemarFI.lmaX.IU.swodniW
5scitatSweiVbeWI.slortnoC.lmaX.IU.swodniW
5scitatSxoBdrowssaPI.slortnoC.lmaX.IU.swodniW
5scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
5scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
5scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
5scitatSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
5sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
5seitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
5SetDeviceDataExW
5setubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
5sf?503D
5sgnitteSerutpaCppAI.erutpaC.aideM.swodniW
5sgnitteSIUI.tnemeganaMweiV.IU.swodniW
5sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
)5sLW*5Ul
5The application could not be loaded from the network.
5T lBB0_60
5tnemelEIUI.lmaX.IU.swodniW
5tnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
5uOfFAt*
5v0u0n l s*s*9)7)
5V6h6V8h8v:
5VA1r163	
:-:5:?:V:[:a:k:u:
:5:::V:o:t:
5W185_1	
5weiVbeWI.slortnoC.lmaX.IU.swodniW
5weiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
5weiVteSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
5Wekodty
5wodniWeroCI.eroC.IU.swodniW
5  	xf'i
5XnYnX]W]
5xoBdrowssaPI.slortnoC.lmaX.IU.swodniW
5xobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
5xoBobmoCI.slortnoC.lmaX.IU.swodniW
5xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
5xoBtxeTI.slortnoC.lmaX.IU.swodniW
5X-V-D5B5
5y2x2U!U!
5Y(b:5_3
5Y(b!5_	J
5You must restart your computer to apply these changes
5z5x5h6h6
:5:::?:Z:i:
#"!5:Z rparam.u
#;;;;;;;;6#-!
*;;;;;;;;;;;;6
:;;;;;;;;;;6
:;;;;;;;;;;6#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6
;;;;;;;;;;;;;;6
6;;;;:;;;;
6;;;;;;;;;;;;;;;;;;;:
60646L6d6|6
60646L6P6T6h6x6|6
60656:6U6h6m6r6
606;6I6k6
60686@6H6T6t6
60686@6L6l6t6|6
606N6h6u6
606X6j6o6z6
60757E7U7
607G7S7e7
60H0f0m0
60H0F6U6
6_1017;Q*
61356675
61356675#
616:6Q6Z6q6
61676Y6z6
616A6Q6a6q6
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
617C7f7r7
617f7x7G:
61EK1979]
61I1f1p1
626L6Y6f6
626-:@:X:
6:281hr"28
62E2s2F3X3
62"eqCr!p4
6301_lld.3sehtsm
6301_lld.ne3rgsm
6334fffffC3C6dDFfffffd
6(3(3g8f8
636@6T6a6
63696G6n6s6y6
636A6P6W6
636V6n6x6
_	6372_	
637G7_7w7
-6454':(:
646@6H6h6|6
64686@6D6H6P6d6l6p6x6
646L6d6|6
6 4Ar358
64D4[4h4y4
64EEEvNS_23F5
64ELi32ENc
)64-]iP5
"64j8"rd
65597;33
65)5)C5D5"E#E
65637465645374796c653d225c415041536978746845646974696f6e4f66666963654f6e6c696e652e78736c22205374796c654e616d653d22415041222056657273696f6e3d2236223e3c2f623a536f75726365733e00000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f6469
656[6c6q6v6
656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000
6590aR.976
65E5X7e7
.6?5:tc1
";;;"--66::
'6;;;;;;;;;;;;;;6
)6:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6
;;;;"--66
6;;;;;;;;;:;;;;;;;;6
6 60616.6
6 6064686@6X6h6l6|6
6 60646D6H6L6T6l6|6
6(606:6@6F6L6X6f6k6q6z6
6@6068666
6(60686@6H6P6X6h6p6x6
6(60686@6I6R6Z6h6p6
6 60686D6d6p6
-:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:66111166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6!616:6Q6a6q6
6)616!9)91999A9I9[9c9
6!616A6I6e6j6p6
6!616A6Q6a6q6
6!616A6Q6a6q6z6
6"616C6H6R6c6h6r6
6"616C6H6T6Z6_6s6x6
6!616J6W6d6
6)62696?6I6
6"63686B6Q6c6o6t6
6!63686B6S6X6b6s6x6
6"63686B6S6X6b6s6x6
6!63686T6e6t6
6"636D6U6f6w6
6-636F6M6x6
6'636I6o6
6(636J6O6T6Z6d6n6x6
6(646@6L6X6d6p6|6
6 646D6H6L6P6X6p6t6
6 #!656e
6"656H6[6n6
#;;;;;!---666.
6#6)60676]6
6 6(60686@6
6 6(60686@6H6P6X6d6
6 6(60686@6R6Z6
6 6(60686D6d6l6t6|6
6#6(626C6H6R6
6#6(626C6H6R6c6h6r6
6 6*636:6@6F6P6Z6a6i6
6!6(6.646:6D6J6c6o6t6
6!6(6.646:6D6K6Q6s6x6
6	6)6.646C6I6T6Z6s6
*666666)
66666664
66666666666666
6666666666666666
6666666666666666jjjjjjjjjjjjjjjj
666667777767766666
):;;;;;;;;;;;;;:6##-----66668::::866::-68:::::8866666-
66-6;:--668::::88666!
6-666?6E6R6v6
.6-6:-66::::9666
6(666D6]6f6o6u6
6 6(6@6H6P6X6p6x6
6666kt-666
6666l!6666
6#6:6]6r6
6#6(6-6R6n6|6
6(6.676q6
#;;;;#--6668:::
--;;;:--6668::::8
-;;;;:-""-----6669:::::6-6::-669::::99
-;;;;;;;;;;6""----669::::9-::69::::99666
6!6*6A6J6a6j6
6!6*6A6Q6a6q6
6(6.6C6O6T6a6l6s6y6
666C6V7h7
666D6]6f6o6u6
666D6K6Q6s6
6#6_6d6q6
666D6V6f6o6u6
666E6g6m6
6!6)6E6J6P6_6l6
6 6-6E6t6
6(6@6H6L6P6T6X6p6t6
6 6@6H6P6X6d6
6 6@6L6l6t6|6
6 6@6L6l6x6
666N'q|Z
6.6@6R6d6v6
6'6.6S6Z6
666V6l6)757X7
6*6?6Y6r6
6-676L6S6k6
66;7;9?8?
667E7w768E8B9
667N7Y7d7o7
6"686B6f6u6
6 686H6L6P6X6p6t6
--:;;!--668:::::86
-;;:--66:::9
;;;:--669!
--:;"-66::::96
6(696n627f7
6@6A686:6
6#6A6F6X6]6
6:6A6G6N6S6
6*6A6I6O6W6v6
6!6A6R6l6
6!6A6V6e6
6'6B6_6r6
6"6B6h8l8p8t8x8|8
6'6C6o6|6
:6;6;c?b?
6)6D6H6L6P6
6#6D6P6c6
6-6e6c7v7
6 6E6W6c6
6"6F6T6m6v6
6(6H6h6t6
6(6H6T6t6
6(6I6P6Y6
'6.6K6O6S6W6[618
6(6L6l6t6|6
6@6L6p6|6
6@6L6T6t6|6
6(6L6X6|6
6(6O6]6h6s6z6
6@6P6Q6N6
6@6P6X6V6
6#6p6z7:8S8|8
(66peKaz
6"6Q6W6h6
6!6S6[6c6
6#6U6]6e6
6@6V6b6x6
!66v@u0d
]6]6wMyM
6:6Y6h6w6
6	70767O7u7
6*707;7A7n7
|6710886
67@!16E@4160
6!717A7Q7a7i7
6#727@7]7e7
6#727I7O7U7[7a7g7m7
6"727X7h7
6#737Q7h7
67"3p'2@
6!767H7q8
676H6h6y6
676M6c6k6
6	7!757e7
6)7;7[7h7
6#777O7g7
6#777V7j7
6*777W7g7l7
677H7O7W7m7
6-7;7J7e7x7
6!7-7K7n7
6)7:7K7V7a7v7
6	7*7R7c7t7
6(787L7T7l7t7|7
6-787N7l7
6[7	8O8E?
6 797F7b7
67;9;nHnHY
67a97b37e576b7b96ea74f28aa0418bcb09fa3ea5ea12018d4cac92c6a8af17e1a56393b1fb56bc776811fa07695226164fdd656ed8edd8a1ae19c0e066f54f9
6.7B7H7X7o8
6'7E7P7X7c7i7t7z7
6'7F7X7t7
6(7G7K7O7S7W7[7_7c7g7;8S8X8
6?7I7X7f7n7t7
6*7J7Q7|7
67qH?Irx2n
6(7(@Q?Q
67t "t9*
6;7z7f8w8B9
68048A2A43A7AD2C1FD366C1CBE5349590B0113E
6*84898Y8v;
68656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100a4d06d8592070000c3200000160000000000000000
686@6L6l6t6
686@6L6l6t6|6
686D6d6l6t6|6
686D6h6p6|6
686H6Z6c6s6
6!8!6P7P
6-8C8]8k8w8
68LT[WS*
68M7MK.J.
68x.1000_lld.ppusswo
68x.1000_lld.tlcswo
68x.1000_lld.ypocsts
68x.lld.bsosm
68x.lld.cdswaei
68x.lld.conigulpniojgniteempn.cnyl
68x.lld.einttbno
68x.lld.fmlmxosm
68x.lld.isc
68x.lld.osm
68x.lld.replehotua
68x.lld.setondeknileinttbno
68x.lld.tneilc23niw02osm
68x.lld.tneilc23niw03osm
68x.lld.tneilc23niwiu04osm
68x.lld.tneilc23niwl99osm
68x.lld.txeeman
68x.lld.xeevoorg
68x.lld.yxorpbsnim
68x.lld.yxorpfso
68x.lld.yxorpgnimaorbsnim
68x.lld.yxorpgnimaorfso
    !69#     
6:::::::9
6;;;;;;;;;;;;;;;;9
6	*-!90"
6:::::::::::::959:::::::9
6:96-"-6::::6666---
696H6S6X6]6x6
6a6f6k6p6y6:7C7
6A6J6S6X6
6A6Q6a6q6
6A?C?.;0;
6Af257KC
6?.A.h8i8.).)
?6?;?A?K?U?_?m?u?
;);6;A;O;
6aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
6B1I296 v
6b  27-Mar-1998
6b2 bra 
6b5596dc314a2353ee97effef09f6f7eebfdfb876f7ff9fa8fd9d4bb7861e2dffded77effef1cff7a9871597a678fba7efdffdf8fddb3ffffe5f7ffddaa1bdcf
6B6J6Z6b6j6r6
6bb6913e68dd1250b2d721614c6693683a48b4b783ca48fa58178ce620a157f65158741d2c3a4afdd6557b2c805ae115f8c1edc1cff49e1f06200242701e07cd
6 bra BB0_458
?-?6?]?c?
?6?@?]?c?
6?!?!c4e4
6c8#:i:n:
6C.D..8-8u)v)
]6CkPM6Sw|Ap
6d4d5f26d701feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
6d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879222053656c
6d7h7l7p7t7x7|7
6?..d?c:
6D:C:WIYI
6Dd365]S
6dD64DffDDDD4334fffffffffffc1
6De volgende toepassingen zijn bijgewerkt of gewijzigd.
:6:D:]:f:o:u:
?6?D?]?f?o?u?
6!diBB0_39O
6drs1275@
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
6(E4682c
6e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b42354343384430332d353338332d344536392d423433442d3034433034414544423632337d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70
6E7M7c7s7
6E8ELDKDL0L0b9d9
6?E?EGHGH
6E;f(t	A
6egakcaPI.ledoMnoitacilppA.swodniW
6EOPPPSARU
6erutpaCaideMI.erutpaC.aideM.swodniW
:-:6:?:E:R:v:
;-;6;?;E;R;v;
?-?6???E?R?v?
6esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
6esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
6f3333336fffdUUS6f1
6F6X6k6z6
6F7P8k8h9z9
6fbdab9df9313d7dc89856044083bd8d80d2d35dc5f5e0f2d4eab250bb82a72d1246b8d924b46574832762f8199c47a71abd0a8debfaba5bbad4a2a74ca1e783
!!6fc33333333fffffdUUU
6fffcDB""""""""Dfffffffc
!6fffffffffffffffffff
6ffffffffffffffffffffffffffffffffffffffffffffffffffffff
:6:F:O:W:o:
?6?F?V?l?
6G#1f26e
6g32611	
6G4E4|;|;
6g7Qwoq]8K
:6:G:f:n:
6 GPEeKo
6H"2606-
6h "26O !264
6H7L7P7T7
?6?H?[?a?t?
;6;H;f;q;|;
;6;H;l;w;
:!;6;H;U;n;
6	I3035)
6I7U7e7q7
6I7X7k7s7
6I7y7S8p8
6I9M uCA
6.ijnNUW
:6;J;Q;[;
6kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
6kcolBtxeTI.slortnoC.lmaX.IU.swodniW
6KernelI39G
6KernelI40G
6KernelI43G
6KernelI44G
6KernelI46G
6KernelI48G
6KernelI4G
6KernelI50G
6KernelI54G
6KernelI55G
6KernelI58G
6KernelI60G
6KernelI61G
6kLkLa-d-
6lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
6metsySetomeRI.smetsySetomeR.metsyS.swodniW
:6:?:M:v:
6n"84334
6NE"266 4262 
6n:n:	?	?
6noitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
)6O5OS2R2
6p7t7x7|7
6PAEr161
6@p iW!v2
6pProvisioningModeWWWd
":6 p!T;F
6pUm"vNf
6Q6Q-N-N
6Q6Y6u6z6
6Q6Z6c6m6z6
(6Q8Q7393
6Q91;a;q;
6rctaid.x-c'20C.
6rdA202:
6reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
6reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
6reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
6rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
6reyalPaideMI.kcabyalP.aideM.swodniW
6rotisopmoCI.noitisopmoC.IU.swodniW
6S7l7t7c8
6scitatSesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
6scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
6scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
6scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
6scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
6scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
6scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
6scitatStnemelEIUI.lmaX.IU.swodniW
6scitatStnemelEkrowemarFI.lmaX.IU.swodniW
6scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
6scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
6scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
6sedirrevOlortnoCI.slortnoC.lmaX.IU.swodniW
6sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
6sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
6)slp.b32	
6s:t:T?V?
6sVqu'Wg
6T_ a9lsh
6tnemelEkrowemarFI.lmaX.IU.swodniW
6T;T;pJqJ
6U#1f26e
6UEtYpp?
6uIaooN)S
|?!6Umtc
6und.pred
6uu6v6v666666Wn
6V7h7f8x8
;6;V;d;k;q;
-6VPRANAWx
6weiVbeWI.slortnoC.lmaX.IU.swodniW
6weiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
6wJXu0e2
6wl	(Q Y
6XMVMg.i.
6xoBobmoCI.slortnoC.lmaX.IU.swodniW
6xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
6xoBtxeTI.slortnoC.lmaX.IU.swodniW
6Y:[:3?4?
6y(cglobal
:';6;Y;n;
6ZC52636
7;;;;;;;;
7]0]0h6g6
70*0*U(T(
70"1f2x2
707@7D7L7d7h7
707;7I7k7
70787@7H7P7X7d7
70787@7H7T7|7
70787D7l7t7|7
707B7R7f7
707O7n768E8
707R7l7y7
7 :(:0:8:d:
70 bra BB0_4'
70 bra BB0_4:
70dAf270e
7110 2917
71(4797#
-7161L5L5
717A7Q7a7q7
718W8c8k8q8
:7_1i*!7_
!725	#27
727@7L7]7g7
727E7V7c7
7286ABAC96B448E29B9E9B7DF91C7FD4
7?28f27T
7:2!9z:5
7:.2f13l
7 !31E "31
7	31f27d
7322734623DC432FA98A13D37982D855
73;2;K@L@g7f7*
73;3;@A@A
73;3;cHaHb
7:*:*3434
73787B7S7X7b7s7x7
737Q7e7k7t7z7
737X7j7t7
738a8n8v8
738c1dabfb8210cbaea764ce99604be97d41bc01224e93ccc899154da5d03149c02f1b1741f0b7659bd3e7de8051d7aa47f8c246c2de40d4417e86a965c6fb68
#73r8?d33
"73UcUBB0_6
7 43RmxJZ
7!*#**4)4
7#4#4K;I;
7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4350d363f
7468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d0014000600080000002100b6f4679893070000c92000001600000000000000
7468656d65312e786d6cec59cd8b1bc915bf07f23f347d97f5d5ad8fc1f2a24fcfda33b6b164873dd648a5eef2547789aad28cc56208de532e81c026e49085bd
747;7E7k7
747L7d7|7
747L7P7d7l7p7t7x7
748@8E8R8
748?8L8d8r8w8
	 :::75539::::::::::::::::5
7-5.5A#A#
757V7i7G8[8d8o8
763997110B56504388709812F391B560
7.65.3-DEV
767;7A7K7U7_7m7u7
767D7V7f7o7u7
767E7g7m7
767H7_7w7
767W7c7m7w7
768E8w869E9B:
768W9y:R;|;
7|69E5!_b
@76cMD[P
"76yx*75
*7*7![ [
-*7)7-;-;
]#]#7*7*]
7 70717.7
7 7074787L7P7T7h7x7|7
7 70747D7H7L7P7X7p7
7@7078767
7(70787D7d7p7x7
7(707D7L7d7p7x7
7(707d7t7
7!71767;7K7P7U7e7j7o7
7!717:7Q7a7q7
7(717:7Q7Z7q7z7
7!717A7Q7a7g8
7!717A7Q7a7j7
7!717A7Q7a7q7
7!717A7Q7a7q7z7
7!717A7Q7Y7u7z7
7!717A7Q7Z7q7z7
7 727?7X7i7s7
7"727A7R7j7p7|7
7#727B7S7u7
7"73787B7Q7
7"73787B7Q7c7o7t7
7"73787B7S7X7b7q7
7"73787B7S7X7b7s7x7
7'737D7Q7u7
7(737J7O7T7Z7d7n7x7
7 74787P7T7X7l7|7
7"74797S7k7
7 747D7H7L7d7h7l7p7t7x7|7
7(747X7d7
7*757?7L7V7a7t7
7#757C7e7
7-767?7E7R7v7
7*767b7|7
7 7(70787@7H7P7
7 7(70787@7H7P7h7
7 7(70787D7d7l7t7|7
7 7(70787H7l7t7|7
7 7(70787L7l7t7|7
7"7)707s7
7#7(727A7S7_7d7r7x7
7#7(727C7H7R7a7s7
7#7(727C7H7R7c7h7r7
7 7*737:7@7F7P7Z7a7i7
7)7.737C7H7M7]7b7g7
7#7-747:7S7X7b7s7x7
7#7*747a7n7
7 7(747p7x7
7'7.747S7X7b7s7x7
7 7(747X7x7
7	7#7*70757G7
*77777777777777777777777*
77777wwwp
7!7)7;7C7
7'777G7W7g7w7
7777mmmm
7*777U7f7
7!7-797Y7
7-7;7A7R7g7
7!7)7C7H7R7c7h7r7
777D7P7U7z7
7#7-7F7f7u7
7:7?7F7M7T7a7j7
7#7(7F7O7
7-7;7G7U7a7
7)7@7H7b7
7 7@7H7X7|7
7!7)7I7N7T7c7i7t7z7
7#7:7K7e7
7 7@7L7l7x7
777P7h7l7p7t7
7.7:7P7Y7b7
7 7:7T7n7
7#7@7T8f8
7*7:7Z7d7k7
7.7@7Z7t7
7 787@7H7T7t7|7
7(787@7L7P7X7d7p7t7|7
7#787E7z7
-?7@7:898
778G8L8y8
7(7[8k8u8
7.797N7f7v7
7'797O7T7Y7z7
779beb76fa84a24a80c10bfb39aaee150a8241ad9ccca2a618efa76195b3f351bb766c17f8016a57291246d66f6dd5eed8ada811cee960f046951fe476a31686
7@7A787:7
7(7B7Z7n7
7 7C7M7g7q7
7(7C7M7W7a7k7u7
7)7C7Q7]7k7w7
7(7D7H7h7
7#7D7P7c7
7(7D7Z7t7
7)7F7a7y7
7'7G9T9v9
7 7H7l7x7
7(7H7T7t7
7"7I7_7t7
7*7J7T7j7t7
7;7J7Z7k7
7@7L7T7t7
@7@7!N!N
7 7P7l7p7
7@7P7Q7N7
7.7P7U7Z7
7@7P7X7V7
7;7S7o7z7;8a8v8
7-7-S.T.
-.7-7y;w;
7	808?8U8|8
7!818A8Q8a8i8
7)828:8u8
7(858]8o8
?7(8(]7_7
787@7D7P7p7x7
787@7H7P7X7l7
787@7H7T7t7
787D7d7l7t7
787E7L7y7
787R7Y7!8
7)8;8@8e8q8
7 8*8;8Y8
7[8_8e8o8
788F8L8n8
7	8(8G8f8
7	8#8g8p8
7 8-8H8_8
7-8?8K8f8
7)8:8K8V8a8v8
7(8_8o8w8
7 8A8c8z8"989P9d9x9
7]8a8e8i8m8q8u8y8
7;8A8J8[8
78-B1014
7*8C8H8Q8
7;8C8K8S8[8c8l8
7?8D8L8#9T9e9
7(8F8*9X9
7(8H8h8l8p8t8x8
7?8I8X8f8n8t8
78-S32 26
7-8U8D:g:
7@8@WGUG
795:5N#N#
797C7f7s7
797G7R7]7d7o7
797P7X7o7y7
79)9)f3d3B(C(
7 9-9T9o9
79fdf77c6eadca923b466964cafdf2dd1ffef3cd6fbd7ffff0ed2f5fff319b7a172f4cfcbbbffdeedd3ffef93ef5b0e2d2146ffff4fdbb1fbf7ffbe7dfffebaf
79r!!118
*79u7!50-
7A8K8U8c8n8
7aca147a3e08ad9246bbf33e1637f535c8ede6069a9a9982a6de65cf6f35430899395af5fc251c1ac363b282d811ea3717a211dcbccc25cf36fc4d32cb8a0b39
7A;C;gHeH
7afeb3d9a4d2f13d2151ba4094a5b8e76fb0f03fbbf7eb5fdd454732c609f6403e1547a8e7c752ae8eaa5531876124eeb0154ee1bb25e30992f0caa3ea82a34b
:#:-:7:A:K:f:
7B32CD4D6BBE4389A62A4D7BD8DBD026
7]*[*B4B4
7B8[8a8i8
7B8Q8[8e8o8y8
;);7;B;M;T;_;
(7Brs94i
??_7Brush@Gdiplus@@6B@
#7bSU|Tb
7c32f86C
-7C5CMHNH
7C7K7S7[7
7c9j9r9z9
7C?D?-B-B
7ce8306e3b99fc70e5e3743265f3027d8d3af0c80e7af4b14f72f0d46749289dca0dc527421ffc08f83db398c0a092d3279eb838055cc5f0a8ca1c4c60e1228e
??_7CHistoryVaultMainWindow@@6BIServiceProvider@@@
??_7CHistoryVaultMainWindow@@6BIShellBrowser@@@
??_7CHistoryVaultMainWindow@@6BIShellBrowserService@@@
??_7CHistoryVaultMainWindow@@6BIShellNavigationTarget@@@
7@CH.tA-
?7?C?l?y?
??_7codecvt_base@std@@6B@
??_7ConvDgradShader@cask@@6B@
??_7Convolution@cask@@6B@
??_7ConvolutionDgrad@cask@@6B@
??_7ConvolutionWgrad@cask@@6B@
??_7ConvShader@cask@@6B@
??_7ConvWgradShader@cask@@6B@
??_7CTravelLog@@6B@
7D7h7q7|7
7D7N7X7b7m7
@7D8D1K2K
7D8DYCYC
7detcetorPtnemelEkrowemarFI.lmaX.IU.swodniW
;7;D;P;U;z;
7E1G1|"|"
7e4f4V;V;
:7:E:);8;
7E.E.5#5#
7egakcaPI.ledoMnoitacilppA.swodniW
7emitefiLporetnI.slortnoC.enohP.tfosorciM
7_f25230
7F8T8k8|8
7F8X8V:h:
??_7_Facet_base@std@@6B@
??_7facet@locale@std@@6B@
7F*G*6474
7F(G([8]8
7FMGMb.a.
7[FOr899
7#FormatWW
7F:zsq]S
??_7Gemm@cask@@6B@
??_7GemmShader@cask@@6B@
7(GetPackagesInPackageGroupWWWd
7H1?377_
7H8S8]8f8
7H9u t*H
7__half2EES3_S3
7hFiFT?V?
7h*g*N4N4
7*HQ8J_d
7IDER_SWW
7IIIoyyy
7j0Bf270s
7J7P7Y7j7
7J8!46G 
?-?7?J?Q?]?u?z?
7:K63700#
7K7P7[7@9
7K8Y8j8x8
7kcolBtxeTI.slortnoC.lmaX.IU.swodniW
7K*K*N4P4
7L0Ff274J
7l5w7M@z
7L8P8T8X8
7l8p8t8x8|8
7Les applications ou fichiers suivants sont introuvables
7l*n*.4-4
7lortnoCI.slortnoC.lmaX.IU.swodniW
7lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
7M1N1p7q7C*C*s-s-
7 M*68@)	
7M7MH;J;
7m8F9Y9f9
7	memcmp
7m'n'3)3)
;(;7;M;t;
7N8V8Q9Y9
7N8X8]8d8
7NGsa?9P
7;-:-n#n#
7NNNNNNNNNNNN"
7o!lEP2_e
7O;O;eHeH
??_7Operation@cask@@6B@
7O;P;x@x@
7Oqlp.b64	
7'	Or667?
7	ox@d:]
7@ParentFolder
??_7PoolingFwdFP16x2Shader@cask@@6B@
??_7PoolingFwdFP16x8NHWCShader@cask@@6B@
??_7PoolingFwdINT8x32Shader@cask@@6B@
??_7PoolingFwdINT8x4Shader@cask@@6B@
??_7PoolingOperation@cask@@6B@
??_7PoolingShader@cask@@6B@
7POWER_PANELSELFREFRESH_FAILEDWWW
7pResponseWWW
7Q0-Y;lA
7Q8Y8_8n8
7QCQCt5q5
7Qf1723 
7"r6a	#64(
7rctaid.x
7Reconnect to your organization's network and try again.
7reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
7reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
7reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
7rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
*7reWX_#
7reyalPaideMI.kcabyalP.aideM.swodniW
7_._.R#R#
7scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
7scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
7scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
7scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
7scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
7scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
7scitatStnemelEIUI.lmaX.IU.swodniW
7scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
7scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
7sedirrevOtnemelEIUI.lmaX.IU.swodniW
??_7Shader@cask@@6B@
??_7SoftmaxOperation@cask@@6B@
??_7SolidBrush@Gdiplus@@6B@
7S;U;VHUH
:7:@:T:m:
7tnemelEIUI.lmaX.IU.swodniW
7tnemelEkrowemarFI.lmaX.IU.swodniW
7totalBytesWW
??_7type_info@@6B@
7u [6?[zO
7u9c:m:z:
7UDVDG2F2W
7uEvEX-Z-8
7uGetDynamicDeploymentConfigurationPathWWW
7UHUHH4G4
7Uout_ScriptNameWW
7;ut[6V@
7v8L;R;X;
7V !d2V5	
7V?mJZ*S"
@7VS(BBQ
7v-v-S8S8
7vvwqvwWuv7Wag7Sv4u7gp
7W4|7c)O
7W7g7e8[9);
7weiVbeWI.slortnoC.lmaX.IU.swodniW
7weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
7w	Ff276
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""7wr""""""""""""
7W.U.d8c8
7W*V* 4!4 ( (
7w(v(s#t#
7x2Bf273
7X7d7h7p7
7xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
7xoBtxeTI.slortnoC.lmaX.IU.swodniW
7)Y!16	2
7Y4Z4c#c#z-z-
7y5y5G#G#k-i-
"7yctaid.zY
7yfnF;[B4C
7y:z:c?b?v;w;
7Z0X0x"y"I-G-
7zCreating sensor manager
7zm[!F|F
*8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:
:;;;;;;;;;;;;;;;;;8
;;;;;;;8#---
8")")#*#*
8;;;;;;;;;;;;:
8;;;;;;;;;;;;;;;;;;;;:'
8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8000000000000000000
80[0F1S1
8*0)0u8u8
8_0[104]
809w96:H:d:
8--((((('1
81;1;iCeC
81.4s83K
8.15.101.1191
8.15.101.3358
8.15.101.3889
818?8E8Q8
818:8Q8a8q8
818:8r8|8
818A8Q8a8q8
818G8Q8]8b8
818T8m8x8
81c46ecabcd7363344ad09ca809921e8325ce916442cf79722aab86ab1b5536e696fdad20dd01d594d4f42d20f76403bbd4ff8bfeb7da0c378fb976f1c9bede3
)81Ek"11
-81f	"81B
81P*76]5
81u'fD9h
!8205!14
82????111[
8:2_6a@!2_
82l_DEVICE_STATUSWW
!8 |@(2O
8	3	!18w
831U8W*o
83:3AMAMM.N.
83495Y81400
83'?587h
8376bf330efaaff23606569ea58fdc16605ecdebde7f010000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d65
83888B8S8X8b8s8x8
838M8Z8g8
83989C9.;
839F9]9v9
839f:v:A;
839P9p9h:
839V9_9d9
841492241
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;84444:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6 
(8474D9E9
848@8d8l8x8
848@8H8h8
848A8Q8a8q8y8
848D8T8X8h8l8|8
848L8d8|8
848L8h8l8
848X8d8l8
849;9T9X9q9
849S9a9q9
858:8@8Q8V8c8
858:8D8k8
858J8T8g8q8
)8595w2v2
8;;;;;;#---6!
8;;;;;;;;;;;;;;;6
-;;;;;8#--666
8666666666666666666;
);;;;;;;;;8-!#------666668:::::66-6::--668:::::8886-		
866--;#-668::::866666--!
#;;;;8---6668: 
-;;;;;;;;;;;;;;;;;;;;8-#----6668::::-8:68::::886666666--
'::86-#:--68::::86666------#!!!8;;;;;;;;;;;;;;;;;;;;;;:
8(6)6r*r*
8'6(6vBvB
86.7.p#p#
868D8]8f8o8u8
868H8P8h8
868I8_8v8
868P8]8j8
869D9[9h9y9
.8#6#e.d.4.3.c)d)
8?6IGFX_SF_VERSION_HEADERWW
8.6P"Y'o
8704XY2W
8.7.10601.21688
(8777G1G1
8."7829a	
878H8V8j8
879F9T9q9y9
879O9k9p9
; ; 8'8'
8 80818.8
8 80848D8H8P8h8x8|8
8 80848H8L8P8h8x8|8
8@8088868
8(80888D8d8l8t8
8#808A8N8j8
8(808D8L8h8p8
8	81898O8W8g8o8
8!818A8J8a8q8
8!818A8Q8a8j8
8!818A8Q8a8q8
8!818A8Q8f8t8
8!818A8Q8Z8q8
8!818A8R8j8p8|8
8"818C8Q8V8d8j8r8y8
8 818F8K8
(!8!8.303
8"83888B8Q8c8q8v8
8"83888B8S8X8b8q8
8.838E8J8T8]8g8q8z8
8(838J8O8T8Z8d8n8x8
8(848X8d8
8-858?8V8[8a8k8u8
(](]()8*86;8;
8-868?8E8R8v8
8"868b9r9
8)868G8T8e8r8
8'868O8c8p8
8'878G8W8g8w8
8'878L8T8b8t8
8 8(80888D8d8l8x8
8 8*81898S8X8b8s8x8
8#8(828C8H8R8a8s8
8#8(828C8H8R8c8h8r8
8'8.848:8@8L8R8[8b8h8n8t8
8'8.84898G8
8	8#8(828C8H8R8c8h8r8
8	8	8	8	8
888888888
8888888988988898898898898898898898898898898898898898889880
8"8(8.888?8E8c8h8r8
88888988898
8 888@8H8T8t8|8
8(8.888I8Z8
!88889884
88889884
88889888
88889889
-888898898898898898898898898898898890
8(888B8f9x9
8 8'8-8C8H8R8c8h8r8
8 888H8L8d8t8x8
8 8'8-8H8O8
888@8H8T8t8|8
8(8:8?8J8z8
8(888L8T8t8
8 8(8@8P8T8d8h8l8p8t8x8|8
8"8'8?8p8u8
88898880
88898889*
8889888989988988988988988980
(8889889"
88898890
88898898
88898898!
88898898-
8889889889*
88898898890
8889889889889889889880
88898898898898898898880
8889889889889889889890
888988989-
88898899899890!
88899980-!
8!8*8A8J8a8j8
8 8-8A8R8
8(8-8B8G8B:S:X:i:
8!8'8C8H8R8c8h8r8
8"8(8C8H8R8c8h8r8
8 8(8c8m8v8
8 8(8D8d8l8t8|8
888D8d8p8
8 8@8D8H8
8"8-8d8n8x8
888G8h8w8
8!8.8H8d8z8
8 8@8H8P8X8d8
8)8@8H8r8
8 8@8L8l8t8|8
8 8@8L8p8|8
8#8-8L8Q8V8q8
8 8(8L8T8d8t8|8
8-8;8L8U8Z8_8u8
8#8-8N8_8
8 8@8P8X8|8
8.8@8R8d8v8
8 8:8T8a8n8
8"8?8T8Y8
8 8;8V8q8
8'8?8W8o8
88988888990
"88988889998
88988985
889889888
88988989
8"898b8r8
8.898D8O8j8
8!898V8n8
88998889-
8(:#89E5
8@8A888:8
8*8A8b8y8
8'8A8f8v8
88A-Ru?Z
8!8C8[8x8
8(8D8H8h8
8@8D8H8L8u8
8#8D8P8c8
8 8D8P8X8x8
8*8E8]8z8
8"8F8R8g8
8"8F8T8m8v8
8"8G8T8v8
8-8G8Z8v8
8(8H8M8S8Z8a8
8'8I8O8[8p8u8
*#8"8I-G-
'-8-8I;I;
'88J 4102
#8"8"k l 
8@8L8p8x8
8(8L8S8Z8z8
8@8L8T8t8
8#8M8[8a8
""88]]oo
8@8P8Q8N8
8@8P8X8V8
8'8Q8V8x8
8:8T8a8n8
-#8#8T:T:
8(8U8U9|9
8[8V9g9i:
8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9
8)91999A9I9g9o9
892"r1.7
8(939B9|9
8"939G9O9e9
8#959E9r9
8(959K9n9
8)969W9g9l9
8*979f9r9
-89888988988988988988988988988980
8988898898898898898898898898898898898898898898898898898890
"8988988889!
	8988988898898988988988988988988988988988988988988988988880
!89889889
-898898890
8988988988988988988988988988988988988988988988988988988880
:898898898898898898898898898898898898898898898898898898990
:898898988988988988988988988988988988988988988988988988990
8989889889889889889889889880
8989898898890
8	989Q9m9
898O8Y8d8o8z8
898U8[8q8
!-8999989889889889889889889889889889889889889880
8999998898889889!
8!999C9_9f9l9z9
8(9:9@9L9r:x:
8 9(9?9x9
8	9:9A9H9O9r9
8)9;9E9h9
8;9@9E9l9
8	9(9i9y9
8(9(9_QaQ
8!9)9Y9i9
8 9B9G9t9
8)9D9_9z9
8?9D9K9q9
8 9D9P9X9x9
8;9H9N9]9d9i9r9w9
8 9H9s9i:
8	9I9T9f9
8?9I9X9f9n9t9
8(9T9e9o9
8 9U9h9y9
8[9v9;:@:
:8A495]-
;!;*;8;A;c;j;|;
8_ADisplayCustomTimingW
8Af252BH
8ahplA.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
8A!tfH9A
8A!u"D9y
8B5C5'#(#
8B8F8R8V8b8f8q8
8B9G9u:z:
8bgIArguments_Class
8;bIGFX_DP_TOPOLOGY_BRANCHW
8.bmpu(j
_8B!Q p"
8 bra BB0_
8 bra BB0_3
8c4d4*6)6
8c?a?#B"BK
8CCBC"8"8I
8cCeCy6y6
8CECE2222
;8;c;j;v;
*8d0[x9bC
8D1#12uA
8d29E;	4
8D8N8X8b8m8
8D9H9L9P9g9
8D9X9l9t9|9
;8;D;d;l;t;|;
?8?D?d?l?t?
: ;(;8;D;d;l;x;
:8:D:d:l:x:
?8?D?d?l?x?
8De volgende bestanden of toepassingen zijn niet gevonden
?8?D?h?t?
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10
*8ditb:]
?8?D?L?d?l?t?|?
?(?8?D?L?l?
?8?D?L?l?
? ?(?8?@?d?t?|?
8DvMODE_SCALING
8E48EE21-0FCB-4718-9EE0-74293A2ECD14
8E8_8j8u8
8;;;;E8D8p4p4|9z9
8ec13ab242fb04638a2ed10263efd9e70e0603b6b26c5e927e10435639c6aec07a80ec5855ef2916d8d3cdcd7e9e3c21c20ad9298ed8013ea79b9dc4b3416982
8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9
8(E'En1o1 
	8EEvNT_6ParamsE(
8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9
;#;8;E;R;v;
8f40d2f9b2d598749bdd41abd26df627956034e854bac3d6a0326a0ddba3c9681876ba9357be77a1c141bf390c5ae34ea5551f0e2b41aba6e877ba9576d068f4
8f4452b1d70103000000c0010000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000005e8f4452b1d701
8F9T9k9|9
8fA6249i
8fA99uRI;
8fA99uvI
8F:!CDO*
8(FD3_35
8f;f;cBbBF1I1
8[;f;n;z;
8ForReadingWW
8fp32tWH
8FZTheLaunchTimeEnhancerWWWd
8G8[8i8n8
8ggX3Q*H
8G*H*)4(4
?[8?GOQY
8;GPLATFORM_TYPEWWW@
8[gZgnSpS
8H8f8n8t8
8h9l9p9t9x9|9
8H9s8u H
8H*H*0404 ( (
8 H Hc#d#
8H;H;fAhA
8H;I;9B8BW1U1t
 ;8HLSWU
;8;@;H;P;X;l;
8Hyu	8Hz
8	"I2m7XC
8i9v96:X:
8iFjFQ-O-
8?????????IG
8i:j:8A7A
8I;K;SDSDF)H)
@8i uCH9i
8J8J	?	?
8J8W8d8q8
8JeDEFAULT_FEATURE_VALUEWWW
:8:J:_:o:
8JsuU!]c?
8KaIWSHNamedArguments_Class
8KCIAT_DeviceWW
8K	?d26q
8kEkEf2f2
8];];k?h?	:	:
8(K*K;-;-
8K(M(m*m*
8L8g8l8|8
8ljlwu:Q
:8:@:L:l:t:|:
;8;@;L;l;x;
8l*m*2424
8lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
?8?@?L?p?
8LSXnnnniniiiT	
8M9[9j9z9
8M9T9[9b9
8MC84047
8	memcpy
8MFMFY-Z-
8m;k;WBVB4121
?8?M?_?l?
8N9[9?:G:]:l:
8NHu	8NI
8NNNNNN7
8NUFileSystemObject
)8;NvQHLq
8O8(9F9Q9
8O8!d1k"
8oBB0_97e
8OdClientEventTypeWx
_8o?]dVX2
8O;O;CADA
8p-7281f
8PE1@#rDE
8Photoshop 3.0
8p*p*N4M4
8pr!H9xXv
8q7n7]6]6
8QCr6KooKG
8QD2f18E
8q[Pfmz'
8q*q*e(f(
8q?s?vBwBp
8r1262485B
!-8*R154
8R8a8k8u8
8reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
8reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
8RSAAAABQJ8
8R;S;LBLB
8RtlIsStateSeparationEnabled
8S6O@?ih
8S7S7 !#!
8s9|93;E;];
8scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
8scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
8scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
8scitatStnemelEIUI.lmaX.IU.swodniW
8scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
8scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
8sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
8sedirrevOtnemelEIUI.lmaX.IU.swodniW
8slAssetIntelligencePropertiesW
8s'q'i5i5
8squau!f
8s"ReYn:v
??8TensorDesc@cask@@QEBA_NAEBU01@@Z
8T]ISmart2dDisplayTechnologyWWWX4
8tnemelEIUI.lmaX.IU.swodniW
8]tP0[yl)
8truet2H
8t;u;yCxC
??8type_info@@QEBAHAEBV0@@Z
8u0"10]O!108
8u7GAMUT_COMPRESSION_SETTINGSWW
8u9he2l]
8U:[:a:g:m:s:
8U;H:gEc
8UKTheEventManagerW
8ulParentBranchIndexWx
@8upu0@8uxH
@8upu-@8uxH
8u(QBB0_2
8U.U._#a#
8U*V*4434
8UWFSuYI
?8V|2mNi
8V9d9V:g:
:.:8:V:a:
8_vChooserDispatchWd
8VemiTefiLpaM.slortnoC.spaM.enohP.tfosorciM
8VerticalScanRate
8?vGAMMALUT_ERROR_CODES
8v!WlzgW
8v!WlzgZ
8waBUS_ERROR_CODESW
8WFWFH-I--
??8WSTRING@@QEBAEAEBV0@@Z
8w-v-f8g8T*T*
	8|]WXM2
8x5y5H#G#!-
8XA!:233
8x:ao!Ri
8|xAUX_ERROR_CODESWX
8xd1r86;
8X;_;f;m;t;
8xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
8xoBtxeTI.slortnoC.lmaX.IU.swodniW
8x-x-I8H8d*c*
8	)	)X*Z*
8y]HDMI_ASPECT_RATIOWWW
?8yRg	9p
8y;w;CABA
([8Z84;4;
8zContrastDefaultLevelp0
8!!zf1)uQbs
8ZFZF" # d
8ZiPOWER_FEATURE_CONTROLWWW
8z)y)k)l)0-0-i!j!
):::::::9
***--------9-------**
:"9"!! !
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::9
:;;;;;;;;9"
9;;;;;;;;;;;;;;;:
9;;;;;;;;;;;;;;;;;;;;;:
9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
90949L9P9h9l9p9t9x9|9
90989@9H9P9X9d9
90989@9H9T9t9
90989@9L9t9
90989D9d9p9
90989D9h9
909@9D9H9L9P9T9h9l9|9
909@9D9T9X9h9x9|9
909B9V9e9
909G9n9|9
909N9h9u9
909P9b9r9
9#0j6D0d
9::::::::1
9#:*:1:8:?:F:M:Z:
91969;9Q9
91969B9G9S9X9
919:9[9j9
919;9E9O9Y9c9m9w9
919A9Q9a9i9
919E9Z9n9
919F9f9v9
9!:1:A:Q:a:i:
9!:1:A:Q:Y:u:z:
91 bra BB0_76
91F1U1b1
'91)M4127
92969B9F9R9V9b9f9q9
929:9C9L9]9n9
929L9Y9f9
92H1HL)L)
#92JB#92JB
92:K:k:2;
9	:-:2:x:
9!32U		]
939M9g9y9
93FGVBpN
9!:3:@:w:
944F8312FB104FDC968E1E232B0C9065
949D9H9L9P9T9X9l9p9
949D9p9x9
949L9d9|9
949M9R9n9
949X9c9p9[;w;
94:A:N:f:x:
9?:?4G4G
94:@:L:d:
9 :*:4:z:
952:RM#377S
952:WM#37AS
9????|5|5
958:2M2255
95:B:W:g:l:
.9*;*5E5EJMJM@P@P
95:?:E:O:_:
9];];5F7F
95:G:e:q:
9;;;;;;;;;;6
961c151d2e87f2686a955a9be24d316f1362bf21 3.9.1
.9:::6--6:::9666----"-:;;;;;;;;;;;;;;;;;;;;;;---669:::-6:::666---"-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;--69::9::966---:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:-6::666-----"-69:;;;;;;;;;;;;;;;;;;;;;;;;;;6---6::6:::96666-------"
9)6)6x5z5
969?9f9o9
969D9]9f9o9u9
969D9V9f9o9u9
969F9K9P9w9
969P9]9j9
96dbbe525b5adf979b17dbecec05248f1174b96b2a8576255c5b73040dd154f72459da802df252e65b039ebc35273dffcb5ad80f868d7058a975c271256806b5
9!:6:E:i:y:
96:[:e:t:
96;:;GEFE
9):6:H:R:
9	:6:L:U:
96:S:!;?;h;
9726NC!72P
97;6;sFsF
979@9E9Q9f9
979J9]9q9
979T9h9s9
979W9h9s9
*9"8"|0|0
98720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe514173d98505
98888989889898'
*98889888988988988988980
-9888988985
(9889880
-9889884
*98898880
!98898889*
9889888989!
9889889*
!98898898
*98898898*
98898898!
-988988980
988988984
988988985
988988988
-988988988890
9889889889
-98898898898880
9889889889888895
'98898898898898898898898890
98898898898898898898898898890
"-9889889889889889889889889889889889889880
9889889889889889889889889889889889889889889889889889889880
-9889889889889890
9889889889898889889-
98898898898989898
988988988999-
98898898988988898884
*98898899-
-9889898898898
98898989"
!98898998!
-988998899999-
9_;_;8?9?
!989889!
98988988"
!98988988898-
"989889889"
"989889889:8*
9898898898898898898898898898898898898898899898898898898880
"98988989
98988989
9898899889-
*9899888889-
989?9D9H9L9P9
989@9H9d9l9t9
989Z9i9y9
98DFnnms
9 :8:T:s:
_(9_8t	SS
*--------99------*
9 90919.9
9*90959;9S9g9
9@9098969
9(90989D9d9l9x9
9)90989S9X9b9s9x9
9'909I9_:
991224175051Z
9 91969C9]9l9
9 91969X9
9!919:9Q9Z9q9
9!919A9I9e9j9p9
9!919A9J9a9q9
9!919A9Q9a9j9
9!919A9Q9a9q9
9"93989B9S9X9b9s9x9
9'939F9e9
9(939J9O9T9Z9d9n9x9
9)949@9F9K9Q9c9m9y9
9(949@9L9X9d9p9|9
9-949F9X9v9
9 949H9[9
9(949X9x9
9"959;9A9
-)*996;6536O
9"969_9d9
9!979B9Q9
9(979L9V9i9p9|9
99;7;lDlDo'p'
9980488888988988889998
9988898889889889889889889889889889889889889889889889889880
99889888
99889888988898"
998898898"
998898898898"
-:998898898898898898898898898898898898880
9988988988988988988988988988988988988988988988988988988980
9989889888988898898898898898898898898898898898898898898890
99898898889889988"
)9:9898898898898898898898898898898890
9989898998*
9(989D9a9g9|9
9)989G9U9d9s9
9 989H9L9d9t9x9
9 989H9L9P9X9p9
99;8;yEyEm n 
			 9:::::::::::::::::::::::::::99:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
9 9(90989@9R9Z9
9 9(90989D9l9
9 9(90989p9
9!9'92989F9
9#9(92989S9X9b9h9
9#9(929C9H9R9a9s9
9#9(929C9H9R9c9h9r9
9 9(93999D9J9X9v9
9'9.949S9X9b9s9x9
999898898898898898898898898898890
"99:9898988988988988988988988988988988988990
9998998998998998998998998998998998998998998998998998998990
999]9?:|:
9!9(9-93989E9J9S9Z9_9e9j9w9|9
)99998988988988988988988988988988988980
9	9	9	9	9
99999:9898888988988988988988988988988988988988988988988990
***-----999999999999-----
999!999-999-999-
**---9999999999999999999---*
9"9(9-9:9?9J9O9T9Z9_9k9q9v9
9#9(9-9G9L9Q9m9
9 9(9@9H9T9|9
9999JJJJLLLLXXXX
9!9*9A9J9a9j9
9!9*9A9Q9a9q9
9"9(9C9H9R9X9s9
9"9(9C9O9T9a9p9v9|9
9"9:9C9O9T9b9h9r9y9
9"9-9d9n9x9
9!9)9E9J9P9_9l9
9!9)9E9J9P9_9l9y9
9!9)9E9J9P9a9f9s9
999ffffffffffff@@@
999fffffffffffffffffffff@@@
999fffffffffffffffffffffffffffffffffffffff999
999ffffffSSS
9#9(9H9n9
9)9.9J9c9h9
9)9:9k9t9
9"9@9M9[9i9t9
9 9:9T9a9n9
9'9?9W9o9
9@9A989:9
9"9A9G9h9
9'9B9]9x9
;	;"9!9C0C0E6E6
9;9C9m9t9y9
9 9C9R9h9
9 9D9d9l9t9|9
9*9D9J9_9
9#9D9P9c9
''9'9DGDG	N
9(9E9Z9_9
9#9F9T9k9
9"9F9T9m9v9
9*9G9b9g9
9(9H9P9X9d9
9(9H9T9t9|9
9?9H9U9[9
*(9'9h;j;
9-9I9X9a9n9
*:9:9i;i;YCXC
9!9JHHHP)O)
9:9K9_9e9t9
9(9L9X9|9
9*9O9U9[9r9w9
9@9P9Q9N9
9@9P9X9V9
'9'9PBQB
9(9);@;Q;
9@9Q9Y9p9
@99QufGM
*!9!9S:R:
9 9T9d9p9x9
9:9W9v9|9
9";";@;A;
9A0E3427-FC52-4A9D-B824-18952E11754A
9A@!3121
9A98u6A9x
9A9H9O9w9|9
9	:A:a:r:
9aBB0_45F
:9;A;_;f;
!9-	Am4(
9B9J9Z9b9j9r9
9b9k9o9u9y9
9B:B1D1D
9b;b;eFgF
9bd8cfc5398428f29e30e9829f327b87a877f0034a0fbafb39c196bb3f9c0d9e418635299501a2be5973872fef6366c5ef74439708bb524d9f27568aed73e28c
9b;d;*F)F
:9;B;M;v;
9B:Q:Z:h:
9 bra BB0_50
9 bra BB2LB
9-:::b:t:
9c7827248a21f056286502866b8ddaa4d684ffea13e827ed5174849121ad780113b137a4f87862cec94af6fc07a0d537206f7ffef9cdeb1fdfbcfee9cd575fbd
9c;b;0E.E
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
9(:C:_:d:
9cGbGL-L-
9Copyright (c) Microsoft Corporation. All rights reserved.
9]Cs4gfD
9d9h9l9p9t9
9D:DNDND
9@:D:H:L:
9D:H:L:P:
9DISPLAY_MONITOR_POWER_INVALID_STATEW
9	: :]:e:
9	:(:E:[:
9e6e6s?s?
9E9B:N:X:b:f:l:p:v:|:
9e	Af193a
9EFDFa3a3
9_f3019a
9f9k9v9[;
9F9S9f9|9
9F9X9p9u9
9':F:f:x:
;9;F;g;w;|;
9FO_y#K5
9F(u|9E0uwD
9F:X:6;H;
9G9Z9v9d:
9@GAGV#U#
9GGd388P
9G;G;OFMFe
||9gH	3jt7bo
9':g:l:y:(;6;;;D;
;9;G;R;];d;o;
-9GvOTUQ
9!:G:W:y:
?*?9?H?f?
9H;G;	F	F
9h:g:lImIU-T-
9h;g;XFYFR
9H:H@AAA?)@)
9 H Hc)c)
9HHIHk#j#
9#:(:H;M;l;p;t;x;|;
 9*Hred.x
;9;H;S;X;];x;
9I9k9H:Z:
9IDisplayConfigDetailsWWW
9IIsPackageInUseWW
:":9:I:j:z:
9?:I:X:f:n:t:
9Jg?921?
9j;i;7F8F
9j;i;'F'F
9k:8;L;c;
9k8u7H9kHu)
9#:K:a:t:
9K;I;uFsF
9k;k;gFhFs
9K:L:RBRB
9kLtXA96
:9?K?]?o?
9L9L7;7;J)K)
9L9V9[9a9
9-:L:h:l:p:t:x:
9l:p:t:x:|:
9L:X:h:t:
9M8L8*?*?
9m B358]HE
9-M?f87C
9	;	;MFNF
9Microsoft ECC Development Root Certificate Authority 2018
9m;l;OFOF
9NfG6.e_
9.:N:f:u:
:!:9:@:N:_:m:t:
9oBB0_78
;*;9;O;b;q;
9O	;dKf.
;9@O:kvw
9O;O;wFtFD
9O;P;uHsH
9O:T:Y:f:
9PANELSELFREFRESH_SUCCESS
9PIPI!2#2
9P;O;iCiC
9p:t:x:|:
:-;9;P;u;
9-:::P:u:
9puS@8y	uM
9Q9Qr7r7E.F.
9QgdLSfRicheLSf
9Q;Q;iEgEi!j!
[9qx39cr
9#:-:Q:[:z:
9reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
9Rf33s	o
9RLSjDm	S
9r;s;5C4C
9scitatStnemelEIUI.lmaX.IU.swodniW
9Sd294]KE
9sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
9sedirrevOtnemelEIUI.lmaX.IU.swodniW
9S Od2624
9S*Q*I4I4
9s;r;6F6F
9S;S;MDND
9s;s;vCsC
9s@vh9CPu
9Symantec Class 3 Extended Validation Code Signing CA - G2
9Symantec Class 3 Extended Validation Code Signing CA - G20
9T8T8o0n0
9t96:D:h:
9(:T:e:o:
9TGUGb(a(
9tHsHu#u#
9tnemelEIUI.lmaX.IU.swodniW
9Tp.Zaan
9TristateUseDefaultWW 
9t:v:M?L?
9U_*207v
9U;a;i;q;
9:uGH9-n
9u;t;rFsF
9u;v;;F;F# ! 
9(u"X:@ 
9VDu	9FH
9Vv4_vk	Z
9_@vV9GPu
9weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
9wPtv9w@uq
9w|tVHcGHH
9w;w;6E4E
9w?x?C2D2H5G5
9xRcCodvrR
9_xuE9_|u@9
9X:?;X;_;
9x;y;?@?@
9x?y?-E-E
9x;z;;F:F
9Y9c9l9u9
9-:Y:c:h:
9Y:h:t:);8;E;
9)	)yQ Z
9Yr!4113
9y(u	9y@
9Y;X;[F[F
9yXt)9yht
9Z4t	9B4
9Z8t	9B8
9z9x9a*a*
9zk1236T
!@#A#:#;#
?'?;?A?|?
A0123456789abcdefghijklmnopqrstuvwxyz
.A0P:VxsP
*A0*SD5d
?A0x00a411d4.?fInitialized@?1??_decode_pointer@@YAPEAXPEAX@Z@4_NA
?A0x00a411d4.?fInitialized@?1??_encode_pointer@@YAPEAXPEAX@Z@4_NA
?A0x00a411d4.?pfnDecodePointer@?1??_decode_pointer@@YAPEAXPEAX@Z@4P6APEAX0@ZEA
?A0x00a411d4.?pfnEncodePointer@?1??_encode_pointer@@YAPEAXPEAX@Z@4P6APEAX0@ZEA
?A0x08c00bb6.?qit@?1??QueryInterface@CHistoryVaultMainWindow@@EEAAJAEBU_GUID@@PEAPEAX@Z@4QBUQITAB@@B
?A0x08c00bb6.SQM_NULL_STRING_ENTRY
?A0x08c00bb6.StringCopyWorkerW
?A0x0c2d36e8.??__E_AtlReleaseManagedClassFactories@ATL@@YMXXZ
?A0x0c2d36e8.??__F_AtlReleaseManagedClassFactories@ATL@@YMXXZ
?A0x103fe9b9.__alloc_global_lock
?A0x103fe9b9.__exit_list_size
?A0x103fe9b9.__global_lock
?A0x103fe9b9.__global_unlock
?A0x103fe9b9.__onexitbegin_m
?A0x103fe9b9.__onexitend_m
?A0x2442659e.__xc_ma_a
?A0x2442659e.__xc_ma_z
?A0x2442659e.__xc_mp_a
?A0x2442659e.__xc_mp_z
?A0x2442659e.__xi_vt_a
?A0x2442659e.__xi_vt_z
?A0x47ab7201.?Begin@?1??IsPointerInMsvcrtDll@?A0x47ab7201@@YAHPEAXPEAH@Z@4PEAXEA
?A0x47ab7201.?End@?1??IsPointerInMsvcrtDll@?A0x47ab7201@@YAHPEAXPEAH@Z@4PEAXEA
?A0x47ab7201.GetDllBaseAndSizeFromAddress
?A0x47ab7201.IsPointerInMsvcrtDll
?A0x635e99f8.HIGH_CONTRAST_WHITE
?A0x973da13b.c_rgUpToolbarInfo
?A0x973da13b.c_uptbb
?A0x973da13b.SQM_NULL_STRING_ENTRY
?A0xb467d23e.c_addressBartbb
?A0xb467d23e.c_rgToolbarInfo
?A0xc2488d5d.c_hometbb
?A0xc2488d5d.c_rgHomeToolbarInfo
?A0xc2488d5d.SQM_NULL_STRING_ENTRY
?A0xc9aae6d9.c_rgSettingsToolbarInfo
?A0xc9aae6d9.c_settingstbb
?A0xc9aae6d9.SQM_NULL_STRING_ENTRY
?A0xd2a78b63.SQM_NULL_STRING_ENTRY
?A0xd59fa9ce.SZ_THIS_CLASS
A16	6qXX
A18600AB9A7F4C42A6E6BB243A295D9E
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
a1dBB0_61U
A2A2AQ@Q
*A2Mr*"Ehz
A2r15-hC1590
A325:Y		p
a335544"
A38eK]1:B
A.4.4n9n9R?T?
A4;A0u1H
A4H)A(fD;R
a;;;;;;;;7
a7A]XYae
a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
A7K7a7q7
	@	A	8	:	
 @ A 8 : 
!@!A!8!:!
"@"A"8":"
#@#A#8#:#
'@'A'8':'
(@(A(8(:(
)@)A)8):)
*@*A*8*:*
-@-A-8-:-
.@.A.8.:.
:@:A:8:::
;@;A;8;:;
?@?A?8?:?
@@@A@8@:@
[@[A[8[:[
]@]A]8]:]
_@_A_8_:_
A81t@@8r
a8b8w:v:
A8H90t!H
A8H98t!H
A8L90t!H
A8L98t!H
A8L9 t!H
[a92jW[(
a a0a1a.a
A A0A1A.A
a@a0a8a6a
A@A0A8A6A
Aa(_([4Y42-1-
a#a(a.a4a:a?aEaKaQaWa]abahanataza
aaaa5555WWWW
a@aAa8a:a
A@AAA8A:A
A	A	A	A	A	A	A	A	A
AAAAOOOOgggg
AAA Certificate Services0
aacCaaaarV4444pt6
Aacutesmall
;[A[AD@B@i?j?WBWB
AADDeviceTokenLength
AADDeviceTokenRetry
AadTokenTfaRepairToastLaunched
AADTokenTfaRepairToastResult
)aAGTKbMA
aaIIAAXXoo
*a*aJcIc
AaKbK@)@)
aaP4T63]
a@aPaQaNa
A@APAQANA
a@aPaXaVa
A@APAXAVA
; A At:t:
 A-A-U6T6#:#:
AAudioWithoutVideoSupportedWWX
aaZZUUaa
A#B4154 F
A?B?4G2Gi*h*8575
Ab5a5)@*@
Abad allocation
 abaixo para abrir o Gestor do Teclado.
AbandonedMutexException
abandoned shared session removed
. Abandoning recertification.
A;B:B0B0B
abbreviated form
abByRef...................
@ABCDEFGHIJKLMNO
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-
ABE_BOTTOM
ABE_LEFT
ABE_RIGHT
"a-b-G*G*
ABM_ACTIVATE
ABM_GETAUTOHIDEBAR
ABM_GETSTATE
ABM_GETTASKBARPOS
ABM_QUERYPOS
ABM_REMOVE
ABM_SETAUTOHIDEBAR
ABM_SETPOS
ABM_SETSTATE
ABM_WINDOWPOSCHANGED
aborter.h
Aborting: Another Instance is already running
about:legacy-compat
about                                    List ESIF Information
)A'B'R7R7
absolute
[abstract] 
abstract
abstract-unix-socket
A*C*6'6'f
A|C67LTE7j
a:c|9#ymt
_acaBuilder
_acaConfBlobList
_acaConfList
AcaContext
ACAContextClear
ACAContextQuery
AcaDataTypesExtensions
_acaDetection
_acaDetectionData
_acaDetectionDataDetails
ACADetectorBuildArmingData
AcaDetectorDllClientWrapperFactory
AcaDetectorDllMethods
_acaDetectorDllPath
AcaDetectorDllSafeHandle
AcaDetectorGetCaps
ACADetectorGetCaps
ACADetectorVerifyDetection
_acaDllHandle
AcaEvent
_acaFeature
ACAGetIpParam
_acaGetIpPramDelegate
AcaGuids
_acaHeader
AcaHeader
_acaIpPath
_acaIpSoundList
_acaIpSoundsList
_acaList
AcaModeConfigurator
AcaModes
AcaNotification
AcaNotificationHandleConfigurator
_acaNotificationsManager
_acaPhysicalRequest
AcaPinId
AcaPolicy
AcaPoolRequest
AcaPropertyIds
AcaProxyDummyImplementation
AcaProxyProductionImplementation
ACARegisterNotificationHandle
_acaRegisterNotificationHandleDelegate
AcaRegistryNodes
ACA_SDK_API_VERSION_MAJOR
ACA_SDK_API_VERSION_MINOR
ACASetIpParam
AcaSound
_acaSoundDesc
_acaSoundDescription
_acaSoundList
AcaSoundRequest
_acaSoundsList
AcaSoundType
ACAStartSoundDetect
AcaStatus
AcaStatusBufferNotInitialized
AcaStatusBufferTooSmall
AcaStatusDetectionVerificationFailed
AcaStatusError
AcaStatusIncorrectModuleId
AcaStatusInvalidAcaIpPath
AcaStatusInvalidConfBlob
AcaStatusInvalidConfig
AcaStatusMissingConfigData
AcaStatusMoreEventsFound
AcaStatusNoAcaEndpointAvailable
AcaStatusNoDetection
AcaStatusRequestAlreadyExists
AcaStatusRequestNotFound
AcaStatusStreamNotFound
AcaStatusSuccess
ACAStopSoundDetect
AcaStreamConfiguration
AcaStreamConfiguratorSequence
AcaStreamConfiguratorType
ACAUnregisterNotificationHandle
A.C.C!B!B
accelerationStructure
accelerationStructureCaptureReplay
accelerationStructureHostCommands
accelerationStructureIndirectBuild
acceleratorlog.hpp
acceleratorwrapper.hpp
AccentEncoding
Acceptable MD5 hash of the host public key
Acceptable SHA256 hash of the host public key
accept-charset
AcceptClientSocket called... 
AcceptCredentialsOrCancelActivity
Accepted
Accept-Encoding
AcceptEx
AcceptNonSecureConnections
Accept-ranges: bytes
Accept timeout occurred while waiting server connect
Access attempted beyond valid size.
AccessCheck
AccessCheckAndAuditAlarmW
AccessContext
AccessControlType
AccessDenied
ACCESS DENIED: administrative privileges required.
AccessDeniedForUpdateUserChoices
Access denied to remote resource
Accessibility
AccessibilityAudioMonoMixState
accessibilityType
_accessible
AccessibleObjectFromWindow
AccessInfo
accesskey
AccessLog
AccessPermission
AccessPointAddress
ACCESS_SYSTEM_SECURITY
Access to system memory supported
Access violation - no RTTI data!
Access was denied opening file.
Acc instance released
AC?CMCMC
?AccNameProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
accountCloudPasswordless
Account data string
accounted_processes
Accounted Processes
Account info
accounting
accounting.buffer_size
Accounting Buffer Size
accounting.mode
accounting_mode
Accounting Mode
accounting_mode_buffer_size
Accounting Mode Buffer Size
Account Name
Account owner not found for specified SID.
accountPasswordless
accountSid
AccountTemplate
accountType
Acc released
AccTreeResetNamedSecurityInfo
ACCT requested but none available
AC data corrupt.
ACE_DEBUG
ACE_Log_Msg::close failed to ACE_Thread::setspecific to 0
ACE_LOG_TIMESTAMP
A child element is missing
acircumflex
Acircumflex
Acircumflexsmall
ACL Access with invalid credentials
ACL Entry Added
ACL Entry Enabled
ACL Entry Modified
ACL Entry Removed
a clique em 
aclutils.cpp
aclutils.h
aclutilsmock.cpp
aclutilsmock.h
aclutils_tests.cpp
AcmPresent
	a complete diagnostic dump for the specified device.
AcOnLineWake
Acoustic
_acousticModel
_acousticModelPath
AcousticSound
acPeakPower
ACPI Attributes
ACPI BIOS
ACPI Enumerated DSP Candidates:
 ACPIRESETUNUSABLE 
aCPU_TYPE_SUPER_SKUWW
AcquireAADDeviceToken
AcquireCredentialsHandle
AcquireDeviceLicense
Acquired face detection sensor interface
Acquired motion sensor interface
Acquired proximity sensor interface
Acquired sensor interface
AcquireEventsQueue
AcquireEventsQueueInputData
AcquireEventsQueueOutputData
.acquire.gpu
acquire.gpu
acquire.gpu[
acquire.gpu_
.acquire.gpu3
.acquire.gpu.b
acquire.gpu.b
acquire.gpud
acquire.gpul
.acquire.gpuo
acquire.gpuu
.acquire.gpuy
AcquireMSATicket
AcquireSRWLockExclusive
AcquireSRWLockShared
AcquireSubscriptionLicense
AcquireSubscriptionLicenseFailure
AcquireSubscriptionLicenseStart
AcquireSubscriptionLicenseStop
AcquireUnlockLicenseStart
AcquireUnlockLicenseStop
_acronym
_acronyms
__acrt_iob_func
ActionCollection
ActionConfigSignalChangeEvents
ActionDelegateGet
ActionDelegateSet
Action Description           tempxform tc1      tc2      pxform timexform
ActionEac
ActionEnable
ActionEventOnMatch
ActionExecuteGet
ACTION MANAGEMENT:
Action marked for delete
ActionMismatch
ActionNotSupported
ActionOnExpiration
Action option invalid
?ActionRequiresCreate@CDriveConfiguration@@QEAA_NXZ
?ActionRequiresMerge@CDriveConfiguration@@QEAA_NXZ
?ActionRequiresShrink@CDriveConfiguration@@QEAA_NXZ
actionsArrived
ActionSd
Action selector is NULL
actionsk
actionsk                                 Get Kernel DSP Action Information
actions                                  List all DSP Actions
actionstart
actionstop
actionsu
actionsu                                 Get User-Mode DSP Action Information
ActionSystemSet
ActionType
ActionType Name                 Description          Device           Ver  Flags
Action Type                tempxform         tc1      tc2      powerxform         timexform
ActionUnknown
Activate
Activate32BitServer
Activate64BitServer
ActivateAAAAsIU
ActivateActCtx
ActivateDevice
ActivateKeyboardLayout
ActivateKioskApp
Activate ks control failed! Result: 0x
?ActivateTooltip@Element@DirectUI@@MEAAXPEAV12@K@Z
?ActivateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@K@Z
activatewindow
Activation
activation_marshaller_client.cpp
activation_marshaller.cpp
activation_marshaller.h
ActivationTime
ActivationUser
Activator
ActiveAudioDevicesWW
Active Compute Processes
ACTIVE_CONTROL		Has Fan Features
ActiveCooling
activeCoreCount
ACTIVEDS.dll
activefilters
ActiveFilters
activeHours
ActiveInputVoltage
ActiveInS0
ActivelyErring
ActivelyGlitching
ActiveMaximumTransmissionUnit
ActiveObjectStats
_activeOnly
ActivePixelsX
ActivePixelsY
ActiveProfile
ActiveProfileChanged
Active Sessions
Active vGPUs
activexpackagerbinderhelper.cpp
activexpackager.cpp
activexpackager.h
activexpackagerwriter.cpp
activexpublishoperations.cpp
activexregistrator.cpp
activexregistrator.h
Activities
activities.cpp
ActivitiesSupported
Activity
ActivityBar
ActivityBarStyle
activitybucketinstancetracker.h
activitybucketinstancetrackerimpl.cpp
activitybucketinstancetrackerimpl.h
activitybucketinstancetrackermock.cpp
activitybucketinstancetrackermock.h
activitybucketinstancetrackertests.cpp
activityclienttests.cpp
activityclienttests.h
activitycoordinator.h
activitycoordinatorimpl.cpp
activitycoordinatorimpl.h
activitycoordinatormock.cpp
activitycoordinatormock.h
activitycoordinatortests.cpp
activitycoordinatortests.h
activity_data_cache.h
activity_data_cache_impl.cpp
activity_data_cache_impl.h
activitydatacachetests.cpp
activitydatacachetests.h
ActivityError
ActivityFailure
activityId
activityID
ActivityID
ActivityIntermediateStop
activitymanager.h
activitymanagertests.cpp
activitymanagertests.h
activitymaptests.cpp
activitymgroverrides.h
activitypublishclient.cpp
activitypublishclient.h
ActivityQualifiers
ActivityQualifiersSupported
ActivityResults
ActivitySensor
ActivityStart
ActivityStop
ActivityStoppedAutomatically
activitytestsbase.cpp
activitytests.cpp
activitytests.h
activitytransactionmap.h
	actPtr is NULL
ActualDeletedBytes
ActualHeight
ActualInitializationTime
ActualInstantiationTime
Actualizar
ActualRefreshRate
ActualScanningTime
Actual_Secure_buffer_size
ActualTotalPurgeTime
ActualWidth
acutecomb
Acutesmall
acvt.rn.
ad499];RK
ad501];|H
ad523];RK
ADA_GP_OPTIONS * ADPolicy
ADA_GP_OPTIONS * ADPolicyRdv
AdapterCall
adapters
adaptersH
adapter_thread_c::allocate
adapter_thread_c::check_end_time
adapter_thread_c::dispatch_cleanup
adapter_thread_c::dispatch_init
adapter_thread_c::dispatch_workload
adapter_thread_c::end_result
adapter_thread_c::LAUNCH_CHECK
adapter_thread_c::print_info_banner
adapter_thread_c::query_continue
adapter_thread_c::set_matrix_size
adapter_thread_c::setup_cask_kernel
adapter_thread_c::setup_param_buffer
adapter_thread_c::setup_runtime_api
adapter_thread_c::setup_workload
adapter_thread_c::start_result
ADBMALDNUOBNURPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ADBMALDNUOBRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
AddAccessAllowedAce
AddAccessAllowedAceEx
AddAccessAllowedObjectAce
add_AccessChanged
AddAccessDeniedAce
AddAccessDeniedObjectAce
AddAccessRule
AddAction
add_Activated
add_AfterInstall
AddAlarm
add annotation
AddAssistant
Add a synchronous boost group
AddAtomW
AddBattery
?AddBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
AddCachedExtensionsToCodecPropertiesVector
add_CancelKeyPress
add_CanExecuteChanged
AddCertificate
Add certificate to store
?AddChild@ClassInfoBase@DirectUI@@UEAAXXZ
add_Click
add_Closing
add_CollectionChanged
add_CommandExecuted
add_Committed
AddConsoleAlias
AddConsoleAliasW
AddContentControl
add_CortanaStatusChanged
AddCustomModeWWW
add_DataContextChanged
add_DefaultDeviceChanged
AddDevice
add_DeviceAdded
add_DeviceAddedHandler
add_DeviceHandleEvent
add_DeviceHandleEventHandler
add_DeviceInstanceEvent
add_DeviceInstanceEventHandler
add_DeviceInterfaceEvent
add_DeviceInterfaceEventHandler
add_DeviceRemoved
add_DeviceRemovedHandler
add_DeviceStateChanged
add_Dismissed
AddDllDirectory
add_DomainUnload
add_Elapsed
?Add@Element@DirectUI@@QEAAJPEAV12@@Z
?Add@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
AddELWatcher
?AddEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
add_EventArrived
AddEventHandler
add_EventRecordWritten
AddExtensionProgId
add.f16x
add.f16x2
add.f16x8
?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z
add_Failed
AddFiles
AddFontResourceExW
AddHandler
AddHardwareWizard
AddHWndLayoutElement
AddImmutableStorageProvider
AddInfInstallReg
Adding a file
Adding certificate via CNG
adding document
adding group
adding location to set
adding ranges
adding state
adding states
adding step
adding transition
adding types library
adding URL
adding wildcard
AdditionalAvailability
AdditionalCaSerialNums
AdditionalErrorData
AddKey full
AddLANEndpoint
add_Layout
?AddListener@Element@DirectUI@@QEAAJPEAUIElementListener@2@@Z
add_Loaded
add_LocationChanged
AddLunPlex
AddMarginsToAhs
add_MouseDown
add_MouseLeftButtonDown
add_MouseMove
AddMpServer
AddNextCertInChain
AddObjectIdToList
AddObjectPropertyToList
AddObjectPropertyToList2
add_OnAcaEventNotificationReceived
add_OnApproveDeviceRequired
add_OnDefaultEndpointChanged
add_OnDefaultEndpointDeviceChanged
add_OnDeviceConnected
add_OnDeviceDisconncted
add_OnDeviceSecurityLevelMismatch
add_OnDeviceSL2ChallengeFailed
add_OnDeviceTunneled
add_OnDriverAboutToRemove
add_OnDriverNotification
add_OnErrorEvent
add_OnFirmwareUpdateComplete
Addon installer path is
add_OnInterDomainConnected
add_OnInterDomainDisconnected
add_OnKpDetectionEvent
add_OnPermissionChanged
add_OnPreprocessingDataReady
add_OnStopStreamRequest
add_OnStreamCreated
add_OnStreamCreationEnd
add_OnStreamCreationStart
add_OnStreamStopped
add_OnTopologyChanged
add_OnWovStatusChanged
AddPackage
AddPackageGroupSlapiDisabled
add_PackageLaunchPreventedDueToCostCalled
AddPackagePropertiesToExtensionDictionary
AddPackageSlapiDisabled
addpartk
AddPermissionsGroup
AddPermissionsGroupMembers
AddPinSettingAddAadPin
AddPinSettingAddLocalPin
AddPinSettingAddMsaPin
AddPinSettingAddSecondaryAadPin
AddPinSettingInvoke
add_PipeMessageHandler
add_PowerModeChanged
add_PreferenceEvent
add_PrimaryFeatureBlockLoadFinishedCalled
add_PrimaryFeatureBlockLoadStartedCalled
add_PrimaryFeatureBlockPercentageChangedCalled
add_ProcessExit
add_PropertyChanged
AddPublishingActivity
add_PublishingActivityStatusChangedCalled
AddPublishingRefresh
add_PublishingRefreshStatusChangedCalled
AddRange
add range: atom is not ranges
add range: atom is NULL
?AddRef@ClassInfoBase@DirectUI@@UEAAXXZ
add_RegistryKeyChanged
add_RegistryTreeChanged
add_RegistryValueChanged
AddRemoteAccessPolicyRule
add_RequerySuggested
AddRequest
add_RequestNavigate
Address already in use
addressBar
AddressBar
addressBarButton
AddressBarButtonState
AddressBarButtonTooltipConverter
AddressBarClickCount
AddressBarGoClickCount
AddressBarRefreshClickCount
AddressBarStopClickCount
address family not supported
address_family_not_supported
Address family not supported
AddressingMode
address in use
address_in_use
address not available
address_not_available
Address not available
Address of a retired page. Address might be different when ECC is Enabled or Disabled.
.address_size 64
.address_size 64;
address_size 64;
address size mismatch
AddressU
AddressV
AddressW
AddressWidth
AddrOfPinnedObject
AddSeconds
add_SelectionChanged
add_ServiceClosed
AddSidDelegate
AddSIDToBoundaryDescriptor
add_SizeChanged
Adds or edits a package configurationW
Adds or edits a package group configurationWWW
AddState
add state: state is NULL
add state: target is NULL
Adds the virtual displayWW
AddStorageEaclEntry
AddStorageFpaclEntry
add_StreamFaultFailedCalled
add_StreamingStarted
add_StreamingStopped
AddSupportedSoundList
add_Tick
AddToInactive
AddTPGroupTPortal
AddTrustedRootCertificate
AddUserAclEntryEx
add_UserPreferenceChanged
AddUsersToEncryptedFile
AddUsersToEncryptedFileEx
AddValue
add_ValueChanged
AddVectoredContinueHandler
AddVectoredExceptionHandler
AddVirtualApplication
add_VirtualEnvironmentBlockedCalled
add_VirtualEnvironmentTerminatedCalled
add_VirtualProcessCreatedCalled
add_VirtualProcessCreateFailedCalled
AddWiFiSettings
add_WorkCompleted
AddWovDllsDirToLoadLibrarySearchPath
AddWovSession
(a'd'E8D8
A device request was blocked by the IOMMU. This does not necessarily mean there is a problem.
adieresis
Adieresis
Adieresissmall
A disk read error occurred
adjustedKey
AdjustSecurityPrivileges
AdjustTokenPrivileges
AdjustTokenPrivileges for 
AdjustWindowRect
AdjustWindowRectEx
AdjustWindowRectExForDpi
admincontext.cpp
AdminContextDefaultLogPath
admincontext.h
AdminGetApplicationAttributes
AdminGetRegisteredApplications
AdminRemoveApplication
AdminSetup
AdNH[nqs
Adobe Illustrator
Adobe ImageReadyq
Adobe InDesign
Adobe Photoshop
AdOSnMQe
adRnPsBf
AdtBackupPolicy
AdtClearPolicy
AD t D8qAr
AdtEnableSinglePrivilege
AdtGetOption
AdtGetPerUserPolicy
AdtGetSystemPolicy
AdtListCategories
AdtListSubCategories
AdtLoadStringEx
AdtParseAuditOptionName
AdtParseGuidOrNameArray
AdtRemoveAllUsers
AdtRemoveBasePolicy
AdtRestorePolicy
AdtSetOption
AdtSetPerUserPolicy
AdtSetSystemPolicy
advancedBlendAllOperations
advancedBlendCoherentOperations
advancedBlendCorrelatedOverlap
advancedBlendIndependentBlend
advancedBlendMaxColorAttachments
advancedBlendNonPremultipliedDstColor
advancedBlendNonPremultipliedSrcColor
AdvancedMicSelectorConfigurator
'ADVANCE_MODEt'
ADVAPI32
advapi32.dll
Advapi32.dll
ADVAPI32.dll
ADVAPI32.DLL
AdvertiseTypeDescriptions
AdvertiseTypes
ae6SerV5g
?AEBETMUM
AecGen20
AecGen30
A;eE2fwi
AE]F]DADAqEsE
AegeanNumbers
aeinv.dll
AEINV.dll
AEJC;X_clllSYE60
' 'A'E'K'T'Z'v'
AEL is not equal to zero.
ae|M]R"0
A]eNNV0p
(A|EO7oE
aepic.dll
AEPIC.dll
AException
a*#e'YML
Af2345	"19
Af.243h"24
Af245@T	
:A;F;a;m;
AffectedElement
affectedTime
AffectingElement
AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
afii00208
afii10017
afii10018
afii10019
afii10020
afii10021
afii10022
afii10023
afii10024
afii10025
afii10026
afii10027
afii10028
afii10029
afii10030
afii10031
afii10032
afii10033
afii10034
afii10035
afii10036
afii10037
afii10038
afii10039
afii10040
afii10041
afii10042
afii10043
afii10044
afii10045
afii10046
afii10047
afii10048
afii10049
afii10050
afii10051
afii10052
afii10053
afii10054
afii10055
afii10056
afii10057
afii10058
afii10059
afii10060
afii10061
afii10062
afii10063
afii10064
afii10065
afii10066
afii10067
afii10068
afii10069
afii10070
afii10071
afii10072
afii10073
afii10074
afii10075
afii10076
afii10077
afii10078
afii10079
afii10080
afii10081
afii10082
afii10083
afii10084
afii10085
afii10086
afii10087
afii10088
afii10089
afii10090
afii10091
afii10092
afii10093
afii10094
afii10095
afii10096
afii10097
afii10098
afii10099
afii10100
afii10101
afii10102
afii10103
afii10104
afii10105
afii10106
afii10107
afii10108
afii10109
afii10110
afii10145
afii10146
afii10147
afii10148
afii10192
afii10193
afii10194
afii10195
afii10196
afii10831
afii10832
afii10846
afii57381
afii57388
afii57392
afii57393
afii57394
afii57395
afii57396
afii57397
afii57398
afii57399
afii57400
afii57401
afii57403
afii57407
afii57409
afii57410
afii57411
afii57412
afii57413
afii57414
afii57415
afii57416
afii57417
afii57418
afii57419
afii57420
afii57421
afii57422
afii57423
afii57424
afii57425
afii57426
afii57427
afii57428
afii57429
afii57430
afii57431
afii57432
afii57433
afii57434
afii57440
afii57441
afii57442
afii57443
afii57444
afii57445
afii57446
afii57448
afii57449
afii57450
afii57451
afii57452
afii57453
afii57454
afii57455
afii57456
afii57457
afii57458
afii57470
afii57505
afii57506
afii57507
afii57508
afii57509
afii57511
afii57512
afii57513
afii57514
afii57519
afii57534
afii57636
afii57645
afii57658
afii57664
afii57665
afii57666
afii57667
afii57668
afii57669
afii57670
afii57671
afii57672
afii57673
afii57674
afii57675
afii57676
afii57677
afii57678
afii57679
afii57680
afii57681
afii57682
afii57683
afii57684
afii57685
afii57686
afii57687
afii57688
afii57689
afii57690
afii57694
afii57695
afii57700
afii57705
afii57716
afii57717
afii57718
afii57723
afii57793
afii57794
afii57795
afii57796
afii57797
afii57798
afii57799
afii57800
afii57801
afii57802
afii57803
afii57804
afii57806
afii57807
afii57839
afii57841
afii57842
afii57929
afii61248
afii61289
afii61352
afii61573
afii61574
afii61575
afii61664
afii63167
afii64937
    -a filename       Automatically Load Data Repository File on Startup.
]AF*#kjji
A flag that indicates whether accounting mode is enabled for the GPU. Value is either "Enabled" or "Disabled". When accounting is enabled statistics are calculated for each compute process running on the GPU.Statistics can be queried during the lifetime or after termination of the process.The execution time of process is reported as 0 while the process is in running state and updated to actualexecution time after the process has terminated. See --help-query-accounted-apps for more info.
A flag that indicates whether a display is initialized on the GPU's (e.g. memory is allocated on the device for display). Display can be active even when no monitor is physically attached. "Enabled" indicates an active display. "Disabled" indicates otherwise.
A flag that indicates whether a physical display (e.g. monitor) is currently connected to any of the GPU's connectors. "Enabled" indicates an attached display. "Disabled" indicates otherwise.
A flag that indicates whether ECC support is enabled. May be either "Enabled" or "Disabled". Changes to ECC mode require a reboot. Requires Inforom ECC object version 1.0 or higher.
A flag that indicates whether MIG mode is enabled. May be either "Enabled" or "Disabled". Changes to MIG mode require a GPU reset.
A flag that indicates whether power management is enabled. Either "Supported" or "[Not Supported]". Requires Inforom PWR object version 3.0 or higher or Kepler device.
#afma.rn
afma.rn:
AFolderSpecWWL
afterBytes
AgentActivationRuntimeStarter.pdb
agent.cpp
Agent heart beat time
Agent ID: 
agentlistener.cpp
agentlistener.h
AgentPresenceLocalRealm
Agent Presence Manager
AgentPresenceRemoteRealm
AgentPresenceWatchDog
AgentPresenceWatchDogExpirationAction
agent_registrator.cpp
AgentService.pdb
Agent startup time
Agent Watchdog Action set
Agent Watchdog Added
Agent Watchdog Removed
Aggiorna
a]GG:@ l
aggregate
        Aggregate
AGGREGATE
AggregateException
 AGGRESSIVEPOSTEDINTERRUPTS 
_?a?#G#GV*U*
aglobalo
aglobalw
aglobaly
A GPU reset must occur before this GPU can be used again.
Agravesmall
AgroupIDW
AGS.CommonLib
AGS.CommonLib.Extensions
AGS.CommonLib.Models
AGS_CORE_OK
AGSEnvironment
AGS_HOST_IS_NOT_RUNNING
AGSHost.Properties
AGSHost.Properties.Resources.resources
agsTargetEnvironment
A@H90t4L
A H9A(riH
AhCreateLoadOptionsString
AhGetArcDevice
AHH90t[L
		AHJJJVV
@aHorizontalStretchFactorMinimumWW|.
ahs_base
AHS specified more than once
A I!0H!s8H!
aideMderiseDyreuQyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
aideMllaCenohPpioV.sllaC.ledoMnoitacilppA.swodniW
aideMllaCenohP.sllaC.ledoMnoitacilppA.swodniW
aideMyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
AI_InstalledSoftwareCache
AIn-8	M8
a	?Initialize@Element@DirectUI@@QEAAJIPEAV12@PEAK@Z
aINT_DP_DPORTd
AIntelAudioService.MultiPa.ParametersHandling.SelfBargeInParameter
aitstatic
AitStatic.exe
AitStatic.pdb
:!:*:A:J:a:j:
;!;*;A;J;a;j;
;!;*;A;J;a;q;
_!Ajm#BJ
AjPositionYWWW
AK1;;c]Y
Aktualisieren
aL9w0t2H
AlarmTemplate
AlderLake
AlertingElementFormat
AlertingManagedElement
AlertSource
Alert Subscribed
Alert Target IP Address: 
AlertType
Alert Unsubscribed
AlertWWW
ALes applications ci-apr
AlexaThreshold
		'ALG.EXE'
ALG_ID    aiAlgid;
ALG_ID  aiKeyAlg;
ALG_ID          Algid;                              
ALG_ID      Algid;
ALG_ID  Algid;
ALG_ID  Algid;                              
ALG_ID  HashAlgid;
Algorithm
ALGORITHMS:
AliasAddresses
Alias Event Identification             Group    Event Data           Event Description
AliasWWW
A libcurl function was given a bad argument
 .align 2
align 4 .b8
align 4 .b8.
 .align 4 .b80
 .align 4 .b8 _Z*
 .align 8 .b8
 .align 8 .b8a
 .align 8 .b8V
 .align 8 .b8Y
 .align 8 .b8Z
_aligned_free
_aligned_malloc
aligned.x4.trans.m8n8-
Alignment error in the end of file view for CRC checksum
alignToTop
allApplicationsW
                                        all available targets.
All background IO operations completed with result: 0x
allColorStruct
AllColorStruct
all CUDA-capable devices are busy or unavailable
 * All curl_easy_setopt() options are documented at:
All done.
                                                  all(for all capabilities)
--all-gpus
(#all | List of (extension | restriction))
(#all | List of (extension | restriction)) 
(#all | List of (extension | restriction | list | union))
(#all | List of (extension | restriction | substitution))
(#all | List of (list | union | restriction)
AllLogonTasks
All markup of the conditional section is not in the same entity
AllMemoryBarrier()
ALL_MODESWWW
AllocateAndCopySid returned error on account sid
AllocateAndCopySid returned error on user sid
AllocateAndInitializeSid
AllocateAndInitializeSid error!
AllocateAndInitializeSid failed
AllocateAndInitializeSid for administrator failed: err: 
AllocateAndInitializeSid for everyone failed: err: 
AllocateBlock
allocate connect buffer
allocate connect buffer!
allocatedSizeBytes
Allocated size too big for xmlBuffer
AllocateResources
allocating a facet link
allocating a IDC key
allocating a namespace array
allocating an array of IDC node-table items
allocating an array of key-sequences
allocating an element info
allocating an IDC key-sequence
allocating an IDC matcher
allocating an IDC node-table item
allocating an IDC state object
allocating an identity-constraint definition
allocating an item list structure
allocating annotation
allocating a PSVI IDC binding item
allocating a 'selector' of an identity-constraint definition
allocating a substitution group container
allocating atom
allocating attribute
allocating attribute group
allocating attribute info list
allocating attribute use prohibition
allocating a type link
allocating base64 data
allocating buffer
allocating catalog
allocating catalog data
allocating catalog entry
allocating component
allocating context
allocating counter
allocating define
allocating DOM-wrapper context
allocating element
allocating evaluation context
allocating facet
allocating FTP context
allocating header buffer
allocating hexbin data
allocating HTML output buffer
allocating IDC list of node-table items
allocating include
allocating input
allocating input buffer
allocating list of pending global components
allocating list of schema buckets
allocating locationset
allocating model group component
allocating namespace bindings for SAX validation
allocating namespace map
allocating namespace map item
allocating namespaces array
allocating new item list
allocating particle component
allocating point
allocating public ID
allocating QName reference item
allocating range
allocating redefinition info
allocating schema
allocating schema bucket
allocating schema construction context
allocating schema parser context
allocating schema relation
allocating state
allocating states
allocating steps
allocating streamable expression
allocating string for decoded attribute
allocating the element info array
allocating the IDC key storage list
allocating the IDC node table item list
allocating the state object history
allocating the XML namespace
allocating type
allocating validation context
allocating wildcard component
Allocation error in initialization.
Allocation failure
AllocationlessInsertShouldSucceed
AllocationlessInsertShouldSucceedPossDupEntry
AllocConsole
AllocCoTaskMem
AllocHGlobal
Alloc may be called only on not initialized Buffer
alloc ns map item
?AllocSysString@CHString@@QEBAPEAGXZ
All options for uploads
All options related to proxies
AllowAccessW
AllowAltF4Close
allowCommandBufferQueryCopies
allowCount
_allowDummyIoctl
AllowedControlModes
AllowedThirdPartyCertificate
Allow HTTP 0.9 responses
Allowing all catalogs
Allowing only catalogs from the document
Allowing only global catalogs
Allow insecure DoH server connections
Allow insecure server connections
allowlisted-profiles
allowlisting
allowlisting-allow
allowlisting-default
allowlisting-disallow
allowlisting-everything
allowlisting-ieverything
allowlisting-remove
AllowMultiple
Allow RCPT TO command to fail for some recipients
Allow security flaw for interop for HTTPS proxy
Allow security flaw to improve interop
AllowSetForegroundWindow
AllowSinglePaStrategy
    Allows the caller to pass an explicit list of properties to query.
AllowsTransparency
allPackagesW
ALL PARTICIPANTS:
ALL PARTICIPANTS: ACPI INFORMATION
all_proxy
ALL_PROXY
ALL specified with additional parameters
                                        all     - Starts data logging for all
AllSubdomains
ALMOSTRO
AlpcGetMessageAttribute
AlpcInitializeMessageAttribute
ALPC_Receive_Message
ALPC_Send_Message
ALPC_Unwait
ALPC_Wait_For_New_Message
ALPC_Wait_For_Reply
AlphabeticPresentationForms
AlphaBlend
alphaRef..................
alphatonos
Alphatonos
alphaToOne
alphaVal..................
ALPN: server did not agree on a protocol. Uses default.
Already claimed global use event
already connected
already_connected
 already exists
' already exists
AlreadyExists
Already Initialized
already installed
already in use
Already registered for proximity sensor and privacy change event
--- Already signed in
Also try installing the latest NVIDIA Display Driver.
AlsSensor
AlsSensorAvailability
AlsSensorAvailableAsync
AlsSensorCapability
ALSSensorReadingChangedAsync
ALSSensorReadingChangeStopAsync
ALSSensorUpdate
AltDirectorySeparatorChar
alternate content container for non frame-based rendering 
alternate content container for non script-based rendering 
Alternate DNS Server: 
Alternate Policy path:
:[;a;l;v;|;
?always_noconv@codecvt_base@std@@QEBA_NXZ
AMainActivity
:AM:am:PM:pm
AManageability_CommandsWW
amaronaPedisteertSI.spaM.slortnoC.lmaX.IU.swodniW
amaronaPedisteertS.spaM.slortnoC.lmaX.IU.swodniW
amaronaP.slortnoC.enohP.tfosorciM
a_max_sample_delays
Ambient Temperature Sensor Participant
AmbigousSelectors
Ambiguous call to add_key_value
Ambiguous command
ambiguous function call to '
amdClleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
amdClleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
amdcsdTlleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
amdcsdTlleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
AmdDrtmSecureCall
AMD Iommu Fault
a media-independent link 
amehcStnirPI.sretnirP.seciveD.swodniW
amehcStnirP.sretnirP.seciveD.swodniW
a memory read from
a memory write to
A message information header is not valid and the message cannot be processed.
AmiFixKeyPermissionsRecursive
AmiFixKeyPermissionsRecursiveHelper
AmiHealthCacheInfo
AmipCreateNewCacheFile
AmiProviderInit
AmipStoreInitialize
AmipVerifyCachePermissionsCorrect
AmiRegGetStoreFullPath
AmiStoreInitialize
 AmiTelCacheChecksum
AmiTelCacheFileInfo
AmiUtilityGivePrivilegesToServices
AmiUtilityInitSecurityDescriptor
AmiUtilityRegEnsureKey
AmiUtilityRegOpenKey
AmiUtilityRegSetValue
AmiUtilitySetPrivilege
AMLIEvalData1_TypeGroup1
Amount memory used on the device by the context. Not available on Windows when running in WDDM mode because Windows KMD manages all the memory not NVIDIA driver.
Amount of time in ms during which the compute context was active.
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_1
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_2
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_3
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_4
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_5
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_6
ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_END
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L1
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L2
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L3
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L4
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L5
.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L6
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_1
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_2
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_3
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_4
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_5
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_6
ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_END
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L1
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L2
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L3
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L4
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L5
.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L6
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r3s3c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r5s5c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r7s7c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r7s7c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r3s3c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r5s5c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r7s7c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r7s7c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r3s3c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r5s5c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r7s7c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r7s7c8_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r7s7c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r7s7c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r3s3c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r5s5c4_stride2x2
ampere_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r7s7c4_stride2x2
ampere_dgemm_128x64_nt_v0
ampere_dgemm_128x64_nt_v0_1
ampere_dgemm_128x64_nt_v0_2
ampere_dgemm_128x64_nt_v0_3
ampere_dgemm_128x64_nt_v0_4
ampere_dgemm_128x64_nt_v0_5
ampere_dgemm_128x64_nt_v0_6
ampere_dgemm_128x64_nt_v0_END
.ampere_dgemm_128x64_nt_v0_L1
.ampere_dgemm_128x64_nt_v0_L2
.ampere_dgemm_128x64_nt_v0_L3
.ampere_dgemm_128x64_nt_v0_L4
.ampere_dgemm_128x64_nt_v0_L5
.ampere_dgemm_128x64_nt_v0_L6
ampere_first_layer_filter3x3_imma_fwd
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_1
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_2
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_3
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_4
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_5
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_6
ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_END
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L1
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L2
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L3
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L4
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L5
.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1_L6
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_1
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_2
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_3
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_4
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_5
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_6
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_END
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L1
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L2
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L3
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L4
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L5
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1_L6
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_1
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_2
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_3
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_4
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_5
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_6
ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_END
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L1
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L2
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L3
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L4
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L5
.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1_L6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_2
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_3
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_4
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_5
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_END
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L1
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L2
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L3
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L4
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L5
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1_L6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_2
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_3
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_4
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_5
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_END
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L1
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L2
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L3
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L4
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L5
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1_L6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_1
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_2
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_3
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_4
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_5
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_6
ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_END
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L1
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L2
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L3
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L4
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L5
.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1_L6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_2
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_3
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_4
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_5
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_END
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L1
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L2
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L3
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L4
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L5
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1_L6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_2
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_3
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_4
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_5
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_END
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L1
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L2
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L3
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L4
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L5
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1_L6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_1
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_2
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_3
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_4
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_5
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_6
ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_END
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L1
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L2
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L3
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L4
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L5
.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1_L6
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_1
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_2
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_3
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_4
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_5
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_6
ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_END
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L1
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L2
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L3
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L4
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L5
.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1_L6
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_1
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_2
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_3
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_4
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_5
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_6
ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_END
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L1
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L2
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L3
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L4
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L5
.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1_L6
ampere_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_1
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_2
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_3
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_4
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_5
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_6
ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_END
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L1
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L2
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L3
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L4
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L5
.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L6
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_1
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_2
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_3
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_4
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_5
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_6
ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_END
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L1
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L2
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L3
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L4
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L5
.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L6
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_1
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_2
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_3
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_4
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_5
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_6
ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_END
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L1
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L2
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L3
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L4
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L5
.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1_L6
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_1
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_2
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_3
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_4
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_5
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_6
ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_END
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L1
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L2
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L3
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L4
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L5
.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1_L6
ampere_hgemm_256x128_nt_v0
ampere_hgemm_256x128_nt_v0_1
ampere_hgemm_256x128_nt_v0_2
ampere_hgemm_256x128_nt_v0_3
ampere_hgemm_256x128_nt_v0_4
ampere_hgemm_256x128_nt_v0_5
ampere_hgemm_256x128_nt_v0_6
ampere_hgemm_256x128_nt_v0_END
.ampere_hgemm_256x128_nt_v0_L1
.ampere_hgemm_256x128_nt_v0_L2
.ampere_hgemm_256x128_nt_v0_L3
.ampere_hgemm_256x128_nt_v0_L4
.ampere_hgemm_256x128_nt_v0_L5
.ampere_hgemm_256x128_nt_v0_L6
ampere_igemm_int8_128x128_ldg4_nt_v0
ampere_igemm_int8_128x128_ldg4_nt_v0_1
ampere_igemm_int8_128x128_ldg4_nt_v0_2
ampere_igemm_int8_128x128_ldg4_nt_v0_3
ampere_igemm_int8_128x128_ldg4_nt_v0_4
ampere_igemm_int8_128x128_ldg4_nt_v0_5
ampere_igemm_int8_128x128_ldg4_nt_v0_6
ampere_igemm_int8_128x128_ldg4_nt_v0_END
.ampere_igemm_int8_128x128_ldg4_nt_v0_L1
.ampere_igemm_int8_128x128_ldg4_nt_v0_L2
.ampere_igemm_int8_128x128_ldg4_nt_v0_L3
.ampere_igemm_int8_128x128_ldg4_nt_v0_L4
.ampere_igemm_int8_128x128_ldg4_nt_v0_L5
.ampere_igemm_int8_128x128_ldg4_nt_v0_L6
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_1
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_2
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_3
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_4
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_5
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_6
ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_END
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L1
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L2
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L3
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L4
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L5
.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1_L6
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_1
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_2
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_3
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_4
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_5
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_6
ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_END
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L1
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L2
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L3
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L4
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L5
.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1_L6
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_1
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_2
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_3
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_4
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_5
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_6
ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_END
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L1
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L2
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L3
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L4
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L5
.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1_L6
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_1
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_2
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_3
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_4
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_5
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_6
ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_END
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L1
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L2
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L3
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L4
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L5
.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1_L6
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_1
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_2
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_3
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_4
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_5
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_6
ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_END
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L1
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L2
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L3
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L4
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L5
.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1_L6
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_1
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_2
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_3
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_4
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_5
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_6
ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_END
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L1
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L2
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L3
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L4
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L5
.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1_L6
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_1
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_2
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_3
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_4
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_5
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_6
ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_END
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L1
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L2
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L3
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L4
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L5
.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1_L6
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_1
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_2
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_3
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_4
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_5
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_6
ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_END
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L1
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L2
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L3
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L4
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L5
.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1_L6
ampere_sgemm_128x128_nt_v0
ampere_sgemm_128x128_nt_v0_1
ampere_sgemm_128x128_nt_v0_2
ampere_sgemm_128x128_nt_v0_3
ampere_sgemm_128x128_nt_v0_4
ampere_sgemm_128x128_nt_v0_5
ampere_sgemm_128x128_nt_v0_6
ampere_sgemm_128x128_nt_v0_END
.ampere_sgemm_128x128_nt_v0_L1
.ampere_sgemm_128x128_nt_v0_L2
.ampere_sgemm_128x128_nt_v0_L3
.ampere_sgemm_128x128_nt_v0_L4
.ampere_sgemm_128x128_nt_v0_L5
.ampere_sgemm_128x128_nt_v0_L6
ampere_xmma_sparse_gemm_f16f16f32f16_ntn_128x128x64_16x8x32_3stages
ampersand
ampersandsmall
amp_path
amProviderName
AMProviderName
AMProviderUnexpectedReturn
amr6Mp@A
AMScanResult
AMScanThreadDidNotTerminate
AMScanThreadTerminatedForcefully
AMScanTimedOut
_amsg_exit
Amsi.dll
amsiResult
amsiScanResultHr
AmsiUacInitialize
AmsiUacScan
AmsiUACScanError
AmsiUninitialize
AMT_8021xCredentialContext
AMT_8021XProfile
AMT_ActiveFilterStatistics
AMT_AgentPresenceCapabilities
AMT_AgentPresenceInterfacePolicy
AMT_AgentPresenceService
AMT_AgentPresenceWatchdog
AMT_AgentPresenceWatchdogAction
AMTAlarmClockInterval
AMT_AlarmClockService
AMT_AssetTable
AMT_AssetTableService
AMT_AuditLog
AMT_AuditPolicyRule
AMT_AuthorizationService
AMT_BootCapabilities
AMT_BootSettingData
AMT_COM_Interface 1.0 Type Library
AMT_COM_InterfaceLib
AMT_ComplexFilterEntryBase
AMT_CryptographicCapabilities
AMT_EACCredentialContext
AMT_EndpointAccessControlService
AMT_EnvironmentDetectionInterfacePolicy
AMT_EnvironmentDetectionSettingData
AMT_EthernetPortSettings
AMT_EventLogEntry
AMT_EventManagerService
AMT_EventSubscriber
AMT_FilterEntryBase
AMT_FilterInSystemDefensePolicy
AMT_GeneralSettings
AMT_GeneralSystemDefenseCapabilities
AMT_Hdr8021Filter
AMT_HeuristicPacketFilterInterfacePolicy
AMT_HeuristicPacketFilterSettings
AMT_HeuristicPacketFilterStatistics
AMT_InterfacePolicy
AMT_IPHeadersFilter
AMT Ipv4 Interface is disabled.
AMT_KerberosSettingData
AMT_ManagementPresenceRemoteSAP
AMT_MessageLog
AMT_MPSUsernamePassword
AMTNetworkEnabled
AMT_NetworkFilter
AMT_NetworkPortDefaultSystemDefensePolicy
AMT_NetworkPortSystemDefenseCapabilities
AMT_NetworkPortSystemDefensePolicy
AMT_PCIDevice
AMT_PETCapabilities
AMT_PETFilterForTarget
AMT_PETFilterSetting
AMT_ProvisioningCertificateHash
AMT_PublicKeyCertificate
AMT_PublicKeyManagementCapabilities
AMT_PublicKeyManagementService
AMT_PublicPrivateKeyPair
AMT_RedirectionService
AMT_RemoteAccessCapabilities
AMT_RemoteAccessCredentialContext
AMT_RemoteAccessPolicyAppliesToMPS
AMT_RemoteAccessPolicyRule
AMT_RemoteAccessService
AMT_SetupAndConfigurationService
AMT_SNMPEventSubscriber
AMT_StateTransitionCondition
AMT_SystemDefensePolicy
AMT_SystemDefensePolicyInService
AMT_SystemDefenseService
AMT_SystemPowerScheme
AMT_ThirdPartyDataStorageAdministrationService
AMT_ThirdPartyDataStorageService
AMT_TimeSynchronizationService
AMT_TLSCredentialContext
AMT_TLSProtocolEndpoint
AMT_TLSProtocolEndpointCollection
AMT_TLSSettingData
AMT_TrapTargetForService
AMT_UserInitiatedConnectionService
AMTVersionWWd
AMT_WebUIService
AMT_WiFiPortConfigurationService
ANALOGPORTWWd
ANALYZE;
?AnalyzePath@PATH@@QEAA?AW4PATH_ANALYZE_CODE@@PEAVWSTRING@@PEAV1@0@Z
analyzers
An application has made an attempt to load the C runtime library incorrectly.
An attempt was made to erase beyond the end of flash memory.
An attempt was made to read beyond the end of flash memory.
An attempt was made to write beyond the end of flash memory.
An authentication function returned an error
ancestor
ancestor-or-self
 'ancestors' 
 'ancestors-or-self' 
and considering setup incompatible
           and is designed to work with. Uncomment the appropriate elements
and.popcfu
                                    and take effect regardless if an app is running.
an error occurred
An error occurred reading the flash components data.
An error occurred reading the flash descriptor signature.
An error occurred reading the flash mapping data.
An error occurred reading the flash master access data.
a new es version is available
a new version is available
angleleft
angleright
An HTTP error occurred.
an illegal instruction was encountered
an illegal memory access was encountered
AnimationTimeline
AnimationWaitResult
An internal encoding limit was exceeded in a request or would be violated if the message were processed.
An internal error occurred
A	?	n	n	
(annotation?)
annotation
(annotation | (simpleType | complexType | group | attributeGroup))*
  Annot: empty
ANNOUNCE
anonymous
_anonymous_struct_
An operating system wasn't found. Try disconnecting any drives that don't
An operation parameter is not valid.
anoteleia
anotherInstanceRunning
ANSISYSRC
ANSISYSSC
AnswerCallInterface
Antecedent
Anti Rollback SVN feature is disabled.
AntiSpoofingSupport
ANtQuerySystemInformation
An unknown error occurred while opening the file.
An unknown error occurred while working with the file.
An unknown option was passed in to libcurl
     ANY
anyAttribute
    --anyauth
anychar 
    [any one of]
((##any | ##other) | List of (xs:anyURI | (##targetNamespace | ##local)))
anySimpleType
anyspace 
any_stream
AoAcConnectivitySupported
A[')Og*)Ph
AOMs4MLRichr4ML
?:?[?a?p?
A partition that was searched in the Update Image is not in it.
a-PE2"G#
ApiAnsiUsed
 -api bootstrap
API call is not supported in the installed CUDA driver
 API call succeed
API_CONNECTION_ERROR
ApiDiscovery
api failure base
API function called from within callback
API_GetConsoleMode
API_GetConsoleScreenBufferInfo
apihelper.cpp
apihelper.h
_apiMode
api-ms-win-appmodel-identity-l1-2-0.dll
api-ms-win-appmodel-runtime-internal-l1-1-1.dll
api-ms-win-appmodel-runtime-internal-l1-1-2.dll
api-ms-win-appmodel-runtime-internal-l1-1-4.dll
api-ms-win-appmodel-runtime-l1-1-0.dll
api-ms-win-appmodel-runtime-l1-1-1.dll
api-ms-win-appmodel-state-l1-2-0.dll
api-ms-win-appmodel-unlock-l1-1-0.dll
api-ms-win-composition-redirection-l1-1-0.dll
api-ms-win-composition-windowmanager-l1-1-0.dll
api-ms-win-core-apiquery-l1-1-0.dll
api-ms-win-core-atoms-l1-1-0.dll
api-ms-win-core-biplmapi-l1-1-0.dll
api-ms-win-core-biplmapi-l1-1-4.dll
api-ms-win-core-biptcltapi-l1-1-7.dll
api-ms-win-core-com-l1-1-0.dll
api-ms-win-core-com-l1-1-1.dll
api-ms-win-core-com-private-l1-1-0.dll
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l1-2-0.dll
api-ms-win-core-console-l2-1-0.dll
api-ms-win-core-console-l2-2-0.dll
api-ms-win-core-console-l3-2-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-debug-l1-1-1.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-delayload-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-2.dll
api-ms-win-core-errorhandling-l1-1-3.dll
api-ms-win-core-fibers-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l1-2-1.dll
api-ms-win-core-file-l1-2-2.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-file-l2-1-1.dll
api-ms-win-core-file-l2-1-2.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-heap-l2-1-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-2.dll
api-ms-win-core-largeinteger-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-libraryloader-l1-2-0.dll
api-ms-win-core-libraryloader-l1-2-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-localization-l1-2-2.dll
api-ms-win-core-localization-l2-1-0.dll
api-ms-win-core-localization-obsolete-l1-1-0.dll
api-ms-win-core-localization-obsolete-l1-2-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-memory-l1-1-1.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-namespace-l1-1-0.dll
api-ms-win-core-path-l1-1-0.dll
api-ms-win-core-privateprofile-l1-1-0.dll
api-ms-win-core-privateprofile-l1-1-1.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processenvironment-l1-2-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
API-MS-WIN-CORE-PROCESSTHREADS-L1-1-0.DLL
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-processthreads-l1-1-3.dll
api-ms-win-core-processtopology-l1-1-0.dll
api-ms-win-core-processtopology-obsolete-l1-1-0.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-psapi-l1-1-0.dll
api-ms-win-core-realtime-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL
api-ms-win-core-registry-l1-1-1.dll
api-ms-win-core-registry-l2-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
api-ms-win-core-shlwapi-obsolete-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-0.dll
api-ms-win-core-sidebyside-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-string-l2-1-0.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-synch-l1-2-1.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-sysinfo-l2-1-0.dll
api-ms-win-core-systemtopology-l1-1-0.dll
api-ms-win-core-threadpool-l1-2-0.dll
api-ms-win-core-threadpool-legacy-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-toolhelp-l1-1-0.dll
api-ms-win-core-url-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-version-l1-1-0.dll
api-ms-win-core-version-l1-1-1.dll
api-ms-win-core-windowserrorreporting-l1-1-0.dll
api-ms-win-core-windowserrorreporting-l1-1-1.dll
api-ms-win-core-windowserrorreporting-l1-1-3.dll
api-ms-win-core-winrt-error-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-1.dll
api-ms-win-core-winrt-l1-1-0.dll
api-ms-win-core-winrt-robuffer-l1-1-0.dll
api-ms-win-core-winrt-string-l1-1-0.dll
api-ms-win-core-wow64-l1-1-0.dll
api-ms-win-crt-conio-l1-1-0.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-environment-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-multibyte-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
api-ms-win-devices-config-l1-1-1.dll
api-ms-win-devices-query-l1-1-0.dll
api-ms-win-devices-query-l1-1-1.dll
api-ms-win-downlevel-kernel32-l1-1-0.dll
api-ms-win-downlevel-ole32-l1-1-0.dll
api-ms-win-dx-d3dkmt-l1-1-0.dll
api-ms-win-dx-d3dkmt-l1-1-1.dll
api-ms-win-eventing-classicprovider-l1-1-0.dll
api-ms-win-eventing-consumer-l1-1-0.dll
api-ms-win-eventing-controller-l1-1-0.dll
api-ms-win-eventing-legacy-l1-1-0.dll
api-ms-win-eventing-provider-l1-1-0.dll
api-ms-win-eventing-tdh-l1-1-0.dll
api-ms-win-eventlog-legacy-l1-1-0.dll
api-ms-win-gdi-dpiinfo-l1-1-0.dll
api-ms-win-mm-misc-l1-1-0.dll
api-ms-win-mm-playsound-l1-1-0.dll
api-ms-win-ntuser-sysparams-l1-1-0.dll
api-ms-win-power-base-l1-1-0.dll
api-ms-win-power-limitsmanagement-l1-1-0.dll
api-ms-win-power-setting-l1-1-0.dll
api-ms-win-rtcore-ntuser-clipboard-l1-1-0.dll
api-ms-win-rtcore-ntuser-powermanagement-l1-1-0.dll
api-ms-win-rtcore-ntuser-private-l1-1-0.dll
api-ms-win-rtcore-ntuser-private-l1-1-2.dll
api-ms-win-rtcore-ntuser-synch-l1-1-0.dll
api-ms-win-rtcore-ntuser-window-l1-1-0.dll
api-ms-win-security-audit-l1-1-0.dll
api-ms-win-security-audit-l1-1-1.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-base-l1-2-2.dll
api-ms-win-security-capability-l1-1-0.dll
api-ms-win-security-credentials-l1-1-0.dll
api-ms-win-security-cryptoapi-l1-1-0.dll
api-ms-win-security-lsalookup-l1-1-0.dll
api-ms-win-security-lsalookup-l1-1-1.dll
api-ms-win-security-lsalookup-l1-1-2.dll
api-ms-win-security-lsalookup-l2-1-0.dll
api-ms-win-security-lsapolicy-l1-1-0.dll
api-ms-win-security-provider-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-security-sddlparsecond-l1-1-0.dll
api-ms-win-service-core-l1-1-0.dll
API-MS-WIN-SERVICE-CORE-L1-1-1.DLL
api-ms-win-service-management-l1-1-0.dll
API-MS-WIN-SERVICE-MANAGEMENT-L1-1-0.DLL
api-ms-win-service-management-l2-1-0.dll
API-MS-WIN-SERVICE-MANAGEMENT-L2-1-0.DLL
api-ms-win-service-winsvc-l1-1-0.dll
API-MS-WIN-SERVICE-WINSVC-L1-1-0.DLL
api-ms-win-shcore-obsolete-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-1.dll
api-ms-win-shcore-stream-l1-1-0.dll
api-ms-win-shcore-stream-winrt-l1-1-0.dll
api-ms-win-shcore-sysinfo-l1-1-0.dll
api-ms-win-shcore-taskpool-l1-1-0.dll
api-ms-win-shcore-thread-l1-1-0.dll
api-ms-win-shell-namespace-l1-1-0.dll
api-ms-win-shell-shdirectory-l1-1-0.dll
api-ms-win-shell-shellcom-l1-1-0.dll
api-ms-win-shell-shellfolders-l1-1-0.dll
api-ms-win-stateseparation-helpers-l1-1-0.dll
API_NO_CONTENT
API processing completed - signaling event
API_SetConsoleTextAttribute
_apiSetName
ApiSetQueryApiSetPresence
ApiSetQueryApiSetPresenceEx
_apiSwitch
ApiSwitchTriggerAttribute
API_UNEXPECTED_ERROR
 -api update -gpuarch 
apiVersion
API_WriteConsole
API_WriteConsoleOutput
APM0123456789:
APM88XXXX
ApmPresent
APOCLSID
ApoExceptionCaught
ApoGetLatencyFailure
ApoLatency
APOProcessingMode
APOptimizeToKernel
aPOWER_RAPIDMEMORYMANAGEMENT_FAILEDWW
_appAcronym
APP_AUTO_CLOSING_TIMER
APPBARDATA
AppBroadcastPlugInState_InBandwidthTest
AppBroadcastPlugInState_Initialized
AppBroadcastPlugInState_MicrosoftSignInRequired
AppBroadcastPlugInState_OAuthSignInRequired
AppBroadcastPlugInState_ProviderSignInRequired
AppBroadcastPlugInState_ReadyToBroadcast
AppBroadcastStreamState_Initializing
AppBroadcastStreamState_Paused
AppBroadcastStreamState_Started
AppBroadcastStreamState_StreamReady
AppBroadcastStreamState_Terminated
appcmsid
AppCMSID
AppContainer
AppContainerDeriveSidFromMoniker
AppContainerFreeMemory
AppContainerLookupMoniker
appDataPath
appDataPathLocal
appDataPathUserDoc
appdata_timestamp.cpp
appdata_timestamp.h
appdatatimestamptests.cpp
AppDomain
AppDomainException
AppDomainProxy
AppDomainSetup
AppendAllText
?AppendBase@PATH@@QEAAEPEBVWSTRING@@E@Z
AppendChild
AppendFormat
append-horizontally
Append images left-right
Append images top-bottom
AppendLine
AppendMenuA
AppendMenuW
AppendRunningApps
?AppendString@PATH@@QEAAEPEBVWSTRING@@@Z
AppendText
Append to target file when uploading
AppendValues
append-vertically
AppExecutionAlias
AppExecutionAliasUser
APP_EXE_NOT_FOUND
_app_exit_callback
AppExtension
AppExtensionHost
appfilemgr.cpp
appFolder
_appGuid
apphandle.cpp
AppHostRegistrationVerifier.pdb
appidcertstorecheck.pdb
AppIDEncodeAttributeString
AppIDFreeAttributeString
appidmgr.cpp
appidmgr.h
appidpolicyconverter.pdb
appidstorage.cpp
appidtel.pdb
appid_utils.cpp
appid_utils.h
appid_utils_test.cpp
(appinfo | documentation)*
AppInstaller
AppIsClosing
_appLanguage
APP_LAUNCHED_TYPE_DOCK_TBT
APP_LAUNCHED_TYPE_DOCK_TBT4
APP_LAUNCHED_TYPE_DOCK_USBC
APP_LAUNCHED_TYPE_IMPORTANT
APP_LAUNCHED_TYPE_NORMAL
APP_LAUNCHED_TYPE_TABLETBASE
APP_LAUNCHED_TYPE_WIFI_DETECT_OFF
APP_LAUNCHED_TYPE_WIFI_DETECT_ON
applaunchreportdata.h
applet.debug.enable
applet.description
applet.flash.quota
Applet installation failed
applet.name
applet.platform
applet.shared.session.support
AppletsManager::getAppletBlobs: Failed to read applet blob from dalp file.
AppletsPackageReader::getAppletBlobs: Invalid platform name in dalp file.
AppletsPackageReader::getMatchingAppletsToMajorFwVersion: Invalid platform name in dalp file.
applet.vendor
applet.version
ApplicabilityResult
Application
ApplicationBackgroundTask
ApplicationBeingRequested
applicationbuilder.cpp
applicationbuildertests.cpp
ApplicationContentUriRule
Application Control
application.cpp
Application creation completed.
Application creation failed.
ApplicationDisplayName
APPLICATION_EVENT
APPLICATION_EVENT_NO_DATA:
ApplicationExtension
applicationfiledlg.cpp
applicationfiledlg.h
ApplicationFrameHost.pdb
_applicationGuid
application.h
Application ID
ApplicationIdentity
ApplicationIDWWW
applicationinfo.cpp
applicationinfo.h
applicationinformationwrapper.h
applicationinformationwrappertests.cpp
applicationinfostore.cpp
applicationinfostore.h
applicationinfostoretests.cpp
ApplicationIoctlDefs
applicationItemsControl
application keys
applicationlistdetector.cpp
applicationlistdetector.h
applicationlistdetectorut.cpp
applicationlistenumerator.cpp
applicationlistenumerator.h
applicationlistenumerator.stub.cpp
applicationlistview.cpp
APPLICATION MANAGEMENT:
applicationmanager.cpp
applicationmanager.h
application_manager_singleton.h
applicationName
ApplicationName
Application nameWW
ApplicationOptimalModeWW
applicationpage.cpp
applicationProgress
ApplicationProperty
ApplicationRecoveryFinished
ApplicationRecoveryInProgress
ApplicationRequestedRfKill
Applications
    Applications Clocks
Applications Clocks Setting
ApplicationSettingsBase
applicationState
ApplicationState
Application target pathWWW9
Application template section has the same ID as another section.
Application transferred too few scanlines
Application transferred too many scanlines
Application versionWWW
*ApplicationW
*APPLICATIONW
appliedProfile
AppliesTo
ApplockerPolicyData
ApplyActionOnWatchDog
ApplyAdjustmentByAutoWake
ApplyContextActivity
ApplyDefaultSettings
Applying service DACL workaround
applypatch.cpp
applypatch.h
ApplyPendingUpdates
ApplyPermissionsOnFolder
ApplyResources
ApplySettingsTemplateCatalog.pdb
ApplyStrongProtection
ApplyTrustOffline.pdb
AppMgr_GetNextApp
apppath_packager.cpp
apppath_packager.h
apppath_packager_subsystem.cpp
apppathpackagerwriter.cpp
apppath_registrator.cpp
apppath_registrator.h
AppPolicyGetProcessTerminationMethod
AppPolicyGetShowDeveloperDiagnostic
AppPolicyGetThreadInitializationType
AppPolicyGetWindowingModel
appPrefix
AppPrepinned
apppropertydlg.cpp
appraiser.dll
AppReadinessImcPath
AppResolverWork
ApproveChildRequest.pdb
ApprovedAlways
ApprovedAlwaysAddToPreBoot
ApprovedConnectionData
ApprovedConnectionInfo
ApprovedConnectionInfoToData
ApprovedConnectionsList
ApprovedOnce
ApprovePciDeviceConnectionData
approxequal
appScanFeq
AppService
AppServiceClosedEventArgs
AppServiceClosedStatus
AppServiceConnection
AppServiceConnectionStatus
AppServiceResponse
appshortname
AppShortName
apps                                     List all ESIF hosted Applications
appstart
app-started
apptask.cpp
apptask.h
apptest.cpp
_appTimeoutLength
appTimeoutLengthInMinutes
apptitlename
AppTitleName
AppUriHandler
AppUriHandlerGroup
AppV5X_Detect_Synclet
AppV5X_Install_Synclet
AppV5X_Uninstall_Synclet
appvclientcomconsumertest.cpp
AppV::Client::Common::CleanupTemporaryPersistedVfsLocks
appvclientconfigurationimpl.cpp
appvclientconfigurationimpl.h
appvclientconfigurationimpltest.cpp
AppvClientConnectionGroupImpl
appvclient.cpp
AppV::Client::GetAddedPackages
appvclient.h
AppV::Client::Host::ClientManagerImpl::Deinitialize
AppV::Client::Host::ClientManagerImpl::DeinitializeOrchestration
AppV::Client::Host::ClientManagerImpl::GetCommonOrchestrationExports
AppV::Client::Host::ClientManagerImpl::GetComponentInterface
AppV::Client::Host::ClientManagerImpl::GetComponentPath
AppV::Client::Host::ClientManagerImpl::GetRequestsInterface
AppV::Client::Host::ClientManagerImpl::Initialize
AppV::Client::Host::ClientManagerImpl::InitializeOrchestration
AppV::Client::Host::EnterpriseClientManager::InitializedLoadedOrchestration
AppV::Client::Host::EnterpriseSubscriberImpl::GetWorkerStartupData
AppV::Client::Host::EnterpriseWorkerStateManager::Initialize
AppV::Client::Host::SessionImpl::DecrementUserProfileRefCount
AppV::Client::Host::SessionImpl::GetUserID
AppV::Client::Host::SessionImpl::IncrementUserProfileRefCount
AppV::Client::Host::SessionImpl::Logoff
AppV::Client::Host::SessionImpl::Logon
AppV::Client::Host::SessionQueueImpl::AddSession
AppV::Client::Host::SessionQueueImpl::GetQueueEntry
AppV::Client::Host::SessionQueueImpl::RemoveSession
AppV::Client::Host::UserManagerImpl::Deinitialize
AppV::Client::Host::UserManagerImpl::EnumSessions
AppV::Client::Host::UserManagerImpl::GetUserToken
AppV::Client::Host::UserManagerImpl::Initialize
AppV::Client::Host::UserManagerImpl::InternalLogoff
AppV::Client::Host::UserManagerImpl::InternalLogon
AppV::Client::Host::UserManagerImpl::LogonExistingSessions
AppV::Client::Host::UserManagerImpl::SessionAsync
AppV::Client::Host::UserManagerImpl::SessionOperation
AppVClientLibWWW
appvclientmock.h
AppvClientPackageImpl
AppVClient.pdb
AppV::Client::Publishing::Configurations::ServerRegRecord::AddServer
AppV::Client::Publishing::Configurations::ServerRegRecord::ReadRegServerRecord
AppV::Client::Publishing::Configurations::ServerRegRecord::ReadRegServerRefreshPolicy
AppV::Client::Publishing::Configurations::ServerRegRecord::RemoveServer
AppV::Client::Publishing::Configurations::ServerRegRecord::SetServer
AppV::Client::Publishing::Configurations::ServerRegRecord::WriteRegServerRecord
AppV::Client::Publishing::Configurations::ServerRegRecord::WriteRegServerRefreshPolicy
AppV::Client::Publishing::Configurations::ServerTaskRecord::CreateTask
AppV::Client::Publishing::Configurations::ServerTaskRecord::DeleteTask
AppV::Client::Publishing::Configurations::ServerTaskRecord::GetTaskFolder
AppV::Client::Publishing::Configurations::ServerTaskRecord::GetTaskService
AppV::Client::Service::AppVClientImpl::AcquireUserSession
AppV::Client::Service::AppVClientImpl::APICaller::Deinitialize
AppV::Client::Service::AppVClientImpl::APICaller::Initialize
AppV::Client::Service::AppVClientImpl::APICaller::PrepareForCallers
AppV::Client::Service::AppVClientImpl::APICaller::VerifyImpersonationLevel
AppV::Client::Service::AppVClientImpl::APICaller::WaitForCallers
AppV::Client::Service::AppVClientImpl::ConfigurePackageGroup
AppV::Client::Service::AppVClientImpl::FinalRelease
AppV::Client::Service::AppVClientImpl::GetClientCatalog
AppV::Client::Service::AppVClientImpl::GetClientRunMode
AppV::Client::Service::AppVClientImpl::GetVirtualEnvironmentUtils
AppV::Client::Service::AppVClientImpl::ImpersonateToUser
AppV::Client::Service::AppVClientImpl::PublishPackage
AppV::Client::Service::AppVClientImpl::RegisterSubscriber
AppV::Client::Service::AppVClientImpl::ReleaseUserSession
AppV::Client::Service::AppVClientImpl::ReleaseUserSessionInternal
AppV::Client::Service::AppVClientImpl::RequestActivity
AppV::Client::Service::AppVClientImpl::SetClientRunMode
AppV::Client::Service::AppVClientImpl::UnregisterSubscriber
AppV::Client::Service::GetAppVStatus
AppV::Client::Service::NotificationManagerImpl::AllowSubscribers
AppV::Client::Service::NotificationManagerImpl::DisallowSubscribers
AppV::Client::Service::NotificationManagerImpl::GetSessionIdentity
AppV::Client::Service::NotificationManagerImpl::RegisterSubscriber
AppV::Client::Service::NotificationManagerImpl::UnregisterSubscriber
AppV::Client::Service::PackageEnumerator::GetPackageList
AppV::Client::Service::PackageInformationWrapper::GetPackageGroupDisplayName
AppV::Client::Service::PackageInformationWrapper::GetPackageGroupList
AppV::Client::Service::PackageInformationWrapper::GetPackageGroupMembers
AppV::Client::Service::PackageInformationWrapper::GetPackageGroupPriority
AppV::Client::Service::PackageInformationWrapper::GetPackageInformationFromManifest
AppVClientWWd
AppV_Detect_Synclet
AppVDllSurrogate.pdb
appVender
appverr.h
AppVError
AppVErrorOriginal
AppVErrorReturned
appVersion
AppVersion
AppVersionRange
AppV_Install_Synclet
appvirtserverprovider.cpp
appvnice.pdb
APPVPOLICY.dll
appvretWd
AppV::Shared::process_terminator::hard_terminate_processes
AppVShNotify.pdb
appvstreamingengine.cpp
appvstreamingengine.h
AppVStreamingUX
AppVStreamingUX.exe
AppVStreamingUX.g.resources
AppVStreamingUX.pdb
AppVStreamingUXPrefix
AppV::Subsystem::ShellExtensions::RpcServer::start_rpc_server
AppV::Subsystems::Shortcuts::delete_pinned_shortcut_if_exists
AppV_Uninstall_Synclet
AppXAllUserStore.dll
AppxExtension
AppXFreeMemory
AppXGetPackageCapabilities
appxindextest.cpp
AppxInvestigationFile
AppxManifest
appx_shortcut_manifest.cpp
appx_shortcut_manifest.h
AProcessesConnectedCount
a PTX JIT compilation failed
:!:*:A:Q:a:q:
;!;*;A;Q;a;q;
:A:Q:a:q:y:
aq|kKzRG2
*:AqOe"0W
AQparam2
aQQA	:LaQaa
aquKsVC"
a:Qv5iff
aqyZOvj.
ArabicPresentationForms-A
ArabicPresentationForms-B
ArchBuildKernelGdt
ArchGetGdtRegister
- Arch ID:
archivePath
ArchiveW
AreFileApisANSI
are identical
aremaCcihpargoloH.cihpargoloH.scihparG.swodniW
aremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
aremaCotohP.seciveD.tfosorciM
aremaCpaMI.spaM.slortnoC.lmaX.IU.swodniW
aremaCpaM.spaM.slortnoC.lmaX.IU.swodniW
aremaC.seciveD.tfosorciM
AreMultiPaModelsAvailable
A rendering engine required too many retries.
" are not compatible with the frame buffer's subsampling factors.
AreNotificationsEnabled
A required function in the library was not found
A required header is missing.
A required parameter is missing.
 A required script failed to run.
AreRequiredFilesAvailable
_areWovNotificationsEnabled
Are you sure you are using nvidia-smi provided with the driver?
arFIW@csG@@#
ARGBColorFromEnumI
ar"g	CGn
ARG_DOCK_TBT
ARG_DOCK_TBT4
ARG_DOCK_TBT_SLOW_CHARGE
ARG_DOCK_USBC
Arg list too long
ARGS_HIDE_POPUP
ARGS_POWER
argument
Argument 
argument count error at otherGCOLORME
argument count error at otherNEWCOLORS
argument count error in otherFLEX
argument count error in otherGLBCLRx
ArgumentException
argument index out of range
" (Argument is not in valid range).
argument list too long
argument not found
Argument not found.
Argument not in valid range.
ArgumentNullException
argument out of domain
ArgumentOutOfRangeException
arguments
Arguments Collection ObjectWWW!
Arguments not in valid range.
aringacute
Aringacute
Aringsmall
arLGi1LyJL
Armenian
-@#A#r*p*
ARP entry cleanup failed due to exception
ARP entry cleanup failed due to unknown exception
ARP entry. Exception
Arp entry removed for package
ARP for NGXCore is set to hidden
arpinfo.hpp
ArpReg.cpp
aRr1025Q
ArrangedElementCollection
array dimension must be between 1 and 65536
array dimensions must be literal scalar expressions
': array dimensions of function parameters must be explicit
': array dimensions of struct members must be explicit
array index 
array index '
array index '-' (
array index out of bounds
array is mapped
ArrayOfVkExtensionProperties
ArrayOfVkFormatProperties
ArrayOfVkLayerProperties
ArrayOfVkQueueFamilyProperties
arrays cannot be multi-dimensional
__ArrayUnwind
arrowboth
arrowdblboth
arrowdbldown
arrowdblleft
arrowdblright
arrowdblup
arrowdown
arrowhorizex
arrowleft
arrowright
arrowupdn
arrowupdnbse
arrowvertex
ARSDSoEX
arSe'Vqv
ar.sync 0
	a) running as an administrator or
AsaAnalysisRunInfoAlloc
AsaAnalysisRunInfoFree
AsaAnalysisRunInfoInitializeFileInfo
AsaAnalysisRunInfoSortFilesByFileId
AsaAnalysisWriteAnalysisTypeAndId
AsaClrAnalyzerAnalyzeFrameworkMoniker
AsaClrAnalyzerCreate
AsaClrAnalyzerDelete
AsaClrAnalyzerFindClrInfo
AsaDirectoryAnalyzerRunAllocs
AsaDllListCreate
AsaDllListLookup
AsaFileAnalyzerRunOnIdAllocs
AsaFileAnalyzerRunOnPathAllocs
AsaFileConvertOrdinalToApiName
AsaFileCreate
AsaFileEnumApiImports
AsaFileEnumDelayLoadDllImports
AsaFileEnumDllImports
AsaFileEnumExportNames
AsaFileEnumForwarderExportNames
AsaFileEnumImageSections
AsaFileHasClr
AsaFileIs32Bit
AsaFileIsAppContainer
AsaGuidListCreate
AsaGuidListLookup
AsaJavaScriptAnalyzerRun
AsaListAddFlagsToItem
AsaListAddItem
AsaListCreate
AsaListDelete
AsaListEnumerateItems
AsaListIsEmpty
AsaListLookupItem
AsaNamespaceListCreate
AsaNamespaceListLookup
AsapAbsoluteToPointer
AsaPackageAnalyzerRunAllocs
AsapClrAnalyzerAddWinRtOrDotNetOrPhoneHit
AsapClrAnalyzerAnalyzeMembersForWinRtAndDotNetOrPhone
AsapClrAnalyzerAnalyzeMethod
AsapClrAnalyzerAnalyzeMethods
AsapClrAnalyzerAnalyzeModule
AsapClrAnalyzerAnalyzeModuleForWinRtAndDotNetAndPhone
AsapClrAnalyzerAnalyzePInvokeData
AsapClrAnalyzerAnalyzeTypeAttributes
AsapClrAnalyzerFindApiInSystemDll
AsapClrAnalyzerFindClrInfo
AsapClrAnalyzerLoadClr
AsapClrAnalyzerStringToGuid
AsaPeModuleAnalyzerCopyAnalysisVersion
AsaPeModuleAnalyzerProcessSectionForWmiClasses
AsaPeModuleAnalyzerRun
AsapFileEnumApiImports32
AsapFileEnumApiImports64
AsapIsFilePointerValid
AsapJavaScriptAnalyzerAddHit
AsapJavaScriptAnalyzerAnalyzeJSStringA
AsapJavaScriptAnalyzerAnalyzeJSStringW
AsapJavaScriptAnalyzerLoadTextFile
?As aplica
AsapListCompareItems
AsapListReAlloc
AsapNamespaceListFindLongestPrefix
AsapPackageAnalyzerRunAllocs
AsapPeModuleAnalyzerAddSystemDllExports
AsapPeModuleAnalyzerFindDelayLoadApis
AsapPeModuleAnalyzerFindForwarderApis
AsapPeModuleAnalyzerFindGuids
AsapPeModuleAnalyzerFindRuntimeApis
AsapPeModuleAnalyzerFindStaticApis
AsapPeModuleAnalyzerFindWin32Contracts
AsapPeModuleAnalyzerFindWinRtOrPhoneClasses
AsapPeModuleAnalyzerFindWinRtOrPhoneClassesInSection
AsapPeModuleAnalyzerFindWmiClasses
AsapPeModuleAnalyzerGetCandidateApiStrings
AsapPeModuleAnalyzerGetExportsList
AsapPeModuleAnalyzerGetImportsList
AsapPeModuleAnalyzerGetModuleNames
AsapPeModuleAnalyzerGetWin32ContractNames
AsapPeModuleAnalyzerLoadSystemDll
AsapPeModuleAnalyzerProcessDll
AsapPeModuleAnalyzerProcessForwarder
AsapPeModuleAnalyzerProcessSection
AsapProgramAnalyzerFileAnalyzer
AsaProgramAnalyzerRunAllocs
AsapRvaToPointer
AsapStringListReAlloc
AsapValidateAnsiStringPointer
AsapXmlAddAttributesToElement
AsapXmlAddDwordAttributeToElement
AsapXmlAddStringAttributeToElement
AsapXmlAddStringAttributeToElementA
AsapXmlCreateChildNodeFromNodeCreationInfo
AsapXmlCreateDocumentFromAnalysisInfo
AsapXmlCreateElement
AsapXmlCreateUtf8ProcessingInstruction
AsapXmlWriteApiInfoToDom
AsapXmlWriteClassInfoToDom
AsapXmlWriteComInfoToDom
AsapXmlWriteFileAnalysisInfoToDom
AsapXmlWriteFileHitInfoToDom
AsapXmlWriteNamespaceInfoToDom
AsapXmlWriteWin32ContractInfoToDom
AsapXmlWriteWmiClassInfoToDom
                      as a remote client.
AsarObjUsage
AsaStringListAddItem
AsaStringListCreate
AsaStringListDelete
AsaStringListEnumerateItems
AsaStringListGetNumStrings
AsaUtilsAddApiUsageToList
AsaUtilsCopyFilePathAllocs
AsaUtilsFindOrCreateNonSystemDllInfo
AsaUtilsGetFileList
AsaUtilsGetFullSystemDllPath
AsaUtilsGetSystem32Directory
AsaUtilsGetSystemDirectoryForFile
AsaUtilsGetSysWow64Directory
AsaUtilsIsFileInteresting
AsaUtilsIsSystem64Bit
AsaWmiClassListCreate
AsaWmiClassListLookup
AsaWrtClassListLookup
AsaXmlCreate
AsaXmlWrite
a schema is needed on the validation context
asciicircum
asciitilde
asfloat(
asGV5'SGt5sG47Cepv
asharedg5
AslAnsiStringCreate
AslDoesDirectoryExistNtPath
AslEnvBuildBasic
AslEnvExpandStrings
AslEnvExpandStrings2
AslEnvGetProcessWowInfo
AslEnvGetSysNativeDirPathForGuestBuf
AslEnvGetSystem32DirPathBuf
AslFileAllocAndGetAttributes
AslFileMappingCreate
AslFileMappingEnsure
AslFileMappingEnsureMappedAs
AslFileMappingGetFileKindDetail
AslFileMappingGetImageTypeEx
AslGuidFromString
AslGuidFromStringN
AslGuidToString
AslGuidToString_UStr
AslHardErrorModeDisable
AslHardErrorModeRestore
ASl#kRAv
ASL_LOG FAIL: 
AslPathBuildSignatureForDirectoryFileLongpath
AslPathBuildSignatureForInternetFileLongpath
AslPathBuildSignatureLongpath
AslPathCleanUstr
AslPathCleanUstr failed with source pointer behind destination pointer.
AslPathCombine
AslPathGetLongFileNameLongpath
AslPathIsOnRemovableMedia
AslPathIsTemporaryInternetFile
AslPathSplit
AslPathToSystemPathBuf
AslPathWildcardFindFirst
AslPathWildcardFindNext
AslpEnvResolveVars
AslpEnvResolveVars failed to fail properly for null buffer
AslpFileGet16BitDescription
AslpFileGet16BitModuleName
AslpFileGetChecksum
AslpFileGetChecksumAttributes
AslpFileGetChecksumAttributes called with a partial view which is not supported
AslpFileGetClrVersion
AslpFileGetClrVersionAttribute
AslpFileGetCrcChecksum
AslpFileGetExeWrapper
AslpFileGetExportName
AslpFileGetFileKindDetailAttribute
AslpFileGetHeaderAttributesNE
AslpFileGetHeaderAttributesPE
AslpFileGetImageNtHeader
AslpFileGetNtHeaderAttributes
AslpFileGetPeExportNameExeWrapper
AslpFileGetVersionAttributes
AslpFileGetVersionBlock
AslpFileHasActiveMarkWrapper
AslpFileLargeEnsureLargeFileMapping
AslpFileLargeGetChecksum
AslpFileLargeGetChecksumAttributes
AslpFileLargeGetCrcChecksum
AslpFileLargeMapCreate
AslpFileMakeStringVersionAttributes
AslpFileMappingGetFileKind
AslpFileQuery16BitDescription
AslpFileQuery16BitModuleName
AslpFileQueryExportName
AslpFileQueryVersionString
AslpFileVerQueryBlock
AslpHardErrorModeSet
AslpPathWildcardAllocMatchNode
AslpPathWildcardInitStack
AslpPathWildcardMakeLeaves
AslpPathWildcardPeekNode
AslpPathWildcardPopNode
AslRegistryBuildMachinePath
AslRegistryBuildUserPath
AslRegistryGetKey
AslRegistryGetString
AslRegistryGetStringExpand
AslRegistryGetUInt32
AslRegistryGetUInt32_UStr
AslRegistryOpenKey
AslRegistryOpenSubKey
AslStringAnsiToUnicode
AslStringDuplicate
AslStringDuplicateA
AslStringReplaceArray
AslStringUpcaseToMultiByteN
AslTelemetryCreate
asm_fragment
ASN1 archive ended unexpectedly
A Soap Fault was received:
a special date value
a specified protocol is unsupported by libcurl
A specified range MUST include at least one dash (-). Appending one for you!
AsrGen20
AsrGen30
assembling schemata
assembly
Assembly
AssemblyAssociatedContentFileAttribute
AssemblyAttributesGoHere
AssemblyAttributesGoHereSM
AssemblyCompanyAttribute
AssemblyConfigurationAttribute
AssemblyCopyrightAttribute
AssemblyCultureAttribute
AssemblyDelaySignAttribute
AssemblyDescriptionAttribute
AssemblyFileVersionAttribute
AssemblyInformationalVersionAttribute
AssemblyKeyFileAttribute
ASSEMBLY_LOAD_ERROR
AssemblyName
AssemblyProductAttribute
AssemblyRegistrationFlags
AssemblyTitleAttribute
AssemblyTrademarkAttribute
AssemblyVersionAttribute
AssertFail
AssertionEvent
Assertion failed!
Assertion failed: 
AssertOnlyInstance
?AssertPIZeroRef@ClassInfoBase@DirectUI@@UEBAXXZ
AssertPresence
AssertShutdown
ASSERT_V3
assertVersion
AssertWithArgs
assetintelligencewrapper.h
assetintelligencewrappertests.cpp
ASSETS_UPDATE_FAILED
AS(S(G4G4
AssignAccess
AssignedAccessGuard.pdb
AssignedAccessMode_ActivateAboveLockApplicationByAppID
AssignedSequence
AssignMode
AssignPhysicalRequest
AssignProcessToJobObject
AssignWovEvent
	assistant
_assistant
assistantId
AssistantModelInfo
assistants
_assistantsModels
AssistantSubscribe
AssistantUnsubscribe
assoc_app
AssociateAutoWakesWithTimeOffset
AssociateControllersToLun
Associated
_associatedApp
_associatedAppLE
AssociatedInstances
AssociatedPFNs
AssociatePortsToLun
AssociateTargetsToLun
AssociationClassName
AssociationInstances
assocmgr.cpp
assocmgr.h
AssocQueryStringW
   as source easily. You may choose to either not use them or implement
AsssistantsCount
Assssssssssssss8
Assuming that driver package is not signed.
Assuming that user does not want to install driver package.
Assumption Violation
aStdOutWW
asterisk
asteriskmath
asuperior
AsyncCallback
AsynchDNS
AsynchronousRequest
AsyncImportSecureBuffer
AsyncRawBufferClear
AsyncRawBufferImportBegin
AsyncRawBufferImportEnd
AsyncRawBufferImportNext
AsyncStateMachineAttribute
AsyncTaskMethodBuilder
AsyncVoidMethodBuilder
atadateM6802rdHyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
atadateMeliforPmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
atadateMeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
atadateMgnoS.snoisnetxEenohP.aideM.krowemarF.anX.tfosorciM
atadateMhtiWdIegakcaPI.ledoMnoitacilppA.swodniW
atadateMhtiWegakcaPI.ledoMnoitacilppA.swodniW
atadateMhtiWgnitsiLtcudorPI.erotS.ledoMnoitacilppA.swodniW
atadateMrdHtamroFeriWyalpsiD.eroC.yalpsiD.seciveD.swodniW
atadateMytreporPI.lmaX.IU.swodniW
atadateMytreporP.lmaX.IU.swodniW
ataDdetacitnehtuAdnAdetpyrcnE.eroC.yhpargotpyrC.ytiruceS.swodniW
ataDdetacitnehtuAdnAdetpyrcnEI.eroC.yhpargotpyrC.ytiruceS.swodniW
ataDdloHerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
ataDdnAemaNylimaFegakcaPrellaChtiWsgrAtnevEdetavitcAlocotorPI.noitavitcA.ledoMnoitacilppA.swodniW
ataDdohteMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
ataDdohteMtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
ataDeliTcinocI.llehS.enohP.tfosorciM
ataDeliTdradnatS.llehS.enohP.tfosorciM
ataDeliTelcyC.llehS.enohP.tfosorciM
ataDeliTllehS.llehS.enohP.tfosorciM
ataDeliTpilF.llehS.enohP.tfosorciM
ataDetilletaSetanidroocoeGI.noitacoloeG.seciveD.swodniW
ataDetilletaSetanidroocoeG.noitacoloeG.seciveD.swodniW
ataDeuneVI.noitacoloeG.seciveD.swodniW
ataDeuneV.noitacoloeG.seciveD.swodniW
ataDgarDerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
ataDhctertShcniPerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
ataDkcarTredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
ataDkcarTredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
ataDkcilFerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
ataDmotsuCDNI.ydaeRyalP.noitcetorP.aideM.swodniW
ataDmotsuCDN.ydaeRyalP.noitcetorP.aideM.swodniW
ataDnoitacifitoNI.snoitacifitoN.IU.swodniW
ataDnoitacifitoN.snoitacifitoN.IU.swodniW
ataDnoitacilppA.egarotS.swodniW
ataDnoitacilppAI.egarotS.swodniW
ataDnoitazilausiV.aideM.krowemarF.anX.tfosorciM
ataDnoitcelloCerotS.erotS.secivreS.swodniW
ataDnoitcelloCerotSI.erotS.secivreS.swodniW
ataDnoitisoPhtiWetanidroocoeGI.noitacoloeG.seciveD.swodniW
ataDpaTerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
ataDreffuBegamI.poretnI.llehS.enohP.tfosorciM
ataDreifitnedInaLI.ytivitcennoC.gnikrowteN.swodniW
ataDreifitnedInaL.ytivitcennoC.gnikrowteN.swodniW
ataD.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
ataDrerutcafunaMELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
ataDrerutcafunaMELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
ataDresUtamroFhtiWseitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
ataDretcarahClmXI.moD.lmX.ataD.swodniW
ataDrorrEsoPdeifinU.ecivreSfOtnioP.seciveD.swodniW
ataDrorrEsoPdeifinUI.ecivreSfOtnioP.seciveD.swodniW
ataDtcejorP.secivreSrelipmoC.cisaBlausiV.tfosorciM
ataDtekcaPralulleCI.noitamrofnIkrowteN.teN.enohP.tfosorciM
ataDtuobAnyoJllAI.nyoJllA.seciveD.swodniW
ataDtuobAnyoJllA.nyoJllA.seciveD.swodniW
ataDyciloPdemaNI.seiciloP.tnemeganaM.swodniW
ataDyciloPdemaN.seiciloP.tnemeganaM.swodniW
ataDyrtnElanruoJ.noitagivaN.swodniW.metsyS
ATAUAVAWSUVWL
ATAUAVAWWVSUH
ATAUAVAWWVSUI
ATAUAVAWWVSUL
ATAUAVAWWVSUM
ATAUAVSH
ATBroker.pdb
 at byte 
AT_Device ClassWWW
a;TdQW6R
AtEndOfLineW
AtEndOfStreamWWW
_atexit_helper
_atexit_m
Atildesmall
atipdlxx.dll
ATL.?A0x0c2d36e8.szDelete
ATL.?A0x0c2d36e8.szForceRemove
ATL.?A0x0c2d36e8.szNoRemove
ATL.?A0x0c2d36e8.szValToken
ATL._AtlComModule
ATL._AtlReleaseManagedClassFactories
ATL.CAtlComModule.Term
atleDesuoM.tupnI.seciveD.swodniW
atleDnoitalupinaMlaitapSI.laitapS.tupnI.IU.swodniW
atleDnoitalupinaMlaitapS.laitapS.tupnI.IU.swodniW
atleDnoitalupinaM.tupnI.IU.swodniW
 at line 
_ATL_OBJMAP_ENTRY30
AtlThunk_AllocateData
AtlThunk_DataToCode
atlthunk.dll
AtlThunk_FreeData
AtlThunk_InitData
;.;A;T;m;
ATM_DisableFeature
ATM_EnableFeature
ATM_Start
AtnGg	8Y
a.to.global
a.to.global#
a.to.global7
atomicAdd
atomicAnd
atomicCompareExchange
atomicExchange
atomicMax
atomicMin
atomicOr
atomic type
atomic type 'xs:
atomicXor
atom push: atom is NULL
aTr15479
@	A	T	S	
AttachConsole
attachedCountWWWd
attached_gpus
Attached GPUs
AttachedProcessCreationTime
AttachedProcessId
attached_units
Attached Units
attachment
attachmentFragmentShadingRate
AttachThreadInput
attack_alpha
Attempted
Attempted a typeid of nullptr pointer!
Attempted to open manifest
Attempting to add sibling to XML root node.
Attempting to cache an invalid drawing context
Attempting to download the user image while _isMakingProfileRequests is not set.
Attempting to get current broadcast ID
Attempting to impersonate with UMgr
Attempting to impersonate with WTS APIs
Attempting to upload recording metadata
Attempt to find active user with UMgr
- Attempt to initialize the CRT more than once.
Attempt to perform a memory-mapped read on a file that is not memory mapped.
Attempt to release SDB handle that still has unreleased duplicates.
Attempt to set the number of threads in a thread pool to a negative value.
attempt to terminate a thread-local capture sequence from another thread
- Attempt to use MSIL code from this assembly during native code initialization
_attenuations
ATTLIST: no name for Attribute
ATTLIST: no name for Element
Attr has no prev and not first of attr list
attrib.pdb
attribute
attribute '
ATTRIBUTE 
attribute decl.
attribute declaration
Attribute declaration is NULL
Attribute default value declaration error
Attribute element not expected
attributeFormDefault
attributeGroup
attribute group definition
attribute has invalid content
attribute has multiple children
Attribute has no name
_attributeID
Attribute list declaration doesn't start and stop in the same entity
attribute name
  attributes:
 'attributes' 
attributes
Attributes
Attributes conflicts in group
Attributes conflicts in interleave
attributes construct error
Attribute size doesn't match
AttributesWW
AttributeTargets
attribute type name
AttributeUsageAttribute
attribute use
attribute use 
Attribute with QName 'xmlns' is not allowed
attr info not cleared
Attr is NULL
AttrType
AttValue: " expected
AttValue: ' expected
AttValue length too long
AttValue: no value found
AttValue: " or ' expected
Atualiza
	Atualizar
Atualizar
AT?U?O@L@
a type user derived type has no base type
.?AUactivity@Scheduler@@
.?AU_ADAPTER@@
.?AU_AFX_PROPPAGEFONTINFO@@
.?AUAppData@@
.?AU_ATL_MODULE70@ATL@@
.?AUAttributeData@@
.?AUbad_alloc_@exception_detail@boost@@
.?AUbad_day_of_month@gregorian@boost@@
.?AUbad_day_of_year@gregorian@boost@@
.?AUbad_exception_@exception_detail@boost@@
.?AUbad_month@gregorian@boost@@
.?AUbad_weekday@gregorian@boost@@
.?AUbad_year@gregorian@boost@@
.?AUButtonEventData@@
.?AU_Chore@details@Concurrency@@
.?AUClientServiceEmpty@Service@Client@AppV@@
.?AUConfigValue@Impl@Service@Client@AppV@@
.?AUConvDgradShader@cask@@
.?AUConvShader@cask@@
.?AUConvWgradShader@cask@@
.?AUCoolerData@@
.?AU_Crt_new_delete@std@@
.?AUCThreadData@@
.?AUctype_base@std@@
.?AUData@DeepScanLineInputFile@Imf_2_2@@
.?AUData@InputFile@Imf_2_2@@
.?AUData@MultiPartInputFile@Imf_2_2@@
.?AUData@ScanLineInputFile@Imf_2_2@@
.?AUData@TiledInputFile@Imf_2_2@@
AudibleAlarm
AUDIO_BUFFERFLAGS_DATA_DISCONTINUITY
AUDIO_BUFFERFLAGS_NONE
AUDIO_BUFFERFLAGS_PREPROCESSING_STATUS_CHANGED
AudioCapableDevicesW
AudioConfigurationWW
AudioDG.pdb
AudioDgUnhandledException
AUDIO_ERROR_ACOUSTIC_MODEL_VERSION_MISMATCH
AUDIO_ERROR_ALREADY_REGISTERED
AUDIO_ERROR_ANOTHER_CLIENT
AUDIO_ERROR_ANOTHER_CLIENT_DETECTED
AUDIO_ERROR_ASSISTANT_NOT_SUBSCRIBED
AUDIO_ERROR_BUFFER_NOT_READY
AUDIO_ERROR_CALL_NOT_SUPPORTED_IN_MVA_MODE
AUDIO_ERROR_CONNETION_LOST
AUDIO_ERROR_DEFAULT_ENDPOINT_CONFIGURATION_DOES_NOT_MATCH
AUDIO_ERROR_ENDPOINT_MIGRATION
AUDIO_ERROR_EVENT_OBJECT_WAIT_FAILED
AUDIO_ERROR_INSUFFICIENT_ACCESS_RIGHTS
AUDIO_ERROR_INTERFACE_VERSION_TOO_HIGH
AUDIO_ERROR_INTERFACE_VERSION_TOO_LOW
AUDIO_ERROR_INVALID_VALUE
AUDIO_ERROR_KSMICARRAY_NOT_SUPPORTED
AUDIO_ERROR_KSMICARRAY_TOO_SMALL
AUDIO_ERROR_LANGUAGE_MISMATCH
AUDIO_ERROR_METHOD_NOT_IMPLEMENTED
AUDIO_ERROR_MICROPHONE_INACCESSIBLE
AUDIO_ERROR_MISSING_QUERY_FUNCTION_CALL
AUDIO_ERROR_NO_MODEL
AUDIO_ERROR_NO_NOTIFICATION
AUDIO_ERROR_NOTIFICATIONS_ARE_DISABLED
AUDIO_ERROR_NOT_REGISTERED
AUDIO_ERROR_OTHER
AUDIO_ERROR_PP_API_SUPPORT_CHANGE
AUDIO_ERROR_PP_CLIENT_ERROR
AUDIO_ERROR_RAW_CLIENT_ERROR
AUDIO_ERROR_SPEECH_MODE_NOT_SUPPORTED
AUDIO_ERROR_STREAM_SESSION_NOT_EXISTING
AUDIO_ERROR_STREAM_SESSION_NOT_STARTED
AUDIO_ERROR_SW_WOV_NOT_ALLOWED_ON_INTEGRATED_MIC_ARRAY
AUDIO_ERROR_UNABLE_TO_DUPLICATE_HANDLE
AUDIO_GET_FAILED
AUDIO_INPUTW
audio-optimizer-bands
audio_optimizer_config
audio-optimizer-enable
audio_optimizer_enable
AudioRegistryNodes
AudioServiceConfiguration
.AUDIO_SET_FAILEDH
AudioSrvSvchostCrash
AUDIO_SUCCESS
AUDIO_WITHOUT_VIDEO_STATUSWWH
AudioWithoutVideoWWW
AudioWWW(#
.?AUDisplayGridData@@
AuditApplicationEventID
_auditbootDelayMS
AuditedAppID
AuditEnumeratePerUserPolicy
AuditFree
auditpolcore.dll
AuditPolicyData_DeleteAuditDataInstance
auditpol.pdb
AuditQueryGlobalSaclW
AuditQuerySecurity
AuditSetGlobalSaclW
AuditSetSecurity
AuditState
.?AUerror_info_fallback@impl@winrt@@
.?AUFileLineException@@
.?AUGemmShader@cask@@
.?AUGraphicsException@CGraphics@@
.?AUhresult_access_denied@winrt@@
.?AUhresult_canceled@winrt@@
.?AUhresult_changed_state@winrt@@
.?AUhresult_class_not_available@winrt@@
.?AUhresult_class_not_registered@winrt@@
.?AUhresult_error@winrt@@
.?AUhresult_illegal_delegate_assignment@winrt@@
.?AUhresult_illegal_method_call@winrt@@
.?AUhresult_illegal_state_change@winrt@@
.?AUhresult_invalid_argument@winrt@@
.?AUhresult_no_interface@winrt@@
.?AUhresult_not_implemented@winrt@@
.?AUhresult_out_of_bounds@winrt@@
.?AUhresult_wrong_thread@winrt@@
.?AUIAccessible@@
.?AUIAccessibleProxy@@
.?AUIActivationFactory@@
.?AUIAdviseSink@@
.?AUIAmbientColorControl@@
.?AUIAppAudioSessionEventNofity@@
.?AUIApplicationOptimalMode@@
.?AUIAppVClient@@
.?AUIAsyncActionCompletedHandler@Foundation@Windows@@
.?AUIAT_Device@@
.?AUIAtlMemMgr@ATL@@
.?AUIAtlStringMgr@ATL@@
.?AUIAudioDeviceChangeNotify@@
.?AUIAudioDeviceSessionEvents@@
.?AUIAudioEndpointVolumeCallback@@
.?AUIAudioSessionEvents@@
.?AUIAudioSessionNotification@@
.?AUIAudioSystemEffectsPropertyChangeNotificationClient@@
.?AUIAutomaticDisplayBrightness@@
.?AUIAux@@
.?AUIAxWinAmbientDispatch@@
.?AUIAxWinAmbientDispatchEx@@
.?AUIAxWinHostWindow@@
.?AUIAxWinHostWindowLic@@
.?AUIBus@@
.?AUIChooserDispatch@@
.?AUIChooserEvents@@
.?AUIClassFactory@@
.?AUICollageBezelDetails@@
.?AUICollageDetails@@
.?AUIColorCorrection@@
.?AUIColorCurves@@
.?AUIConnectedDisplays@@
.?AUIConnectionPointContainer@@
.?AUIContrastEnhancement@@
.?AUIControlChangeEventNotify@@
.?AUIControlChangeNotify@@
.?AUICUIDownScale@@
.?AUICUIExternal2@@
.?AUICUIExternal3@@
.?AUICUIExternal4@@
.?AUICUIExternal5@@
.?AUICUIExternal6@@
.?AUICUIExternal7@@
.?AUICUIExternal8@@
.?AUICUIRegistry@@
.?AUICustomLUT@@
.?AUICustomMatrix@@
.?AUID3D@@
.?AUIDataChannel@@
.?AUIDataObject@@
.?AUIDIAccessor@@
.?AUIDismEventManager@@
.?AUIDismHelpItem@@
.?AUIDismHelpItemCollection@@
.?AUIDismToken@@
.?AUIDismTokenCollection@@
.?AUIDispatch@@
.?AUIDispatchEx@@
.?AUIDisplay@@
.?AUIDisplayAudio@@
.?AUIDisplayBasicModeDetails@@
.?AUIDisplayBrightness@@
.?AUIDisplayColor@@
.?AUIDisplayConfigDetails@@
.?AUIDisplayConfiguration@@
.?AUIDisplayContrast@@
.?AUIDisplayCustomMode@@
.?AUIDisplayCustomTiming@@
.?AUIDisplayGamma@@
.?AUIDisplayGammaLUT@@
.?AUIDisplayModeDetails@@
.?AUIDisplayModeList@@
.?AUIDisplayPostProcessing@@
.?AUIDisplayPowerSavingTechnology@@
.?AUIDisplayRefreshRateSwitching@@
.?AUIDisplaySharpness@@
.?AUIDocHostUIHandler@@
.?AUIDocHostUIHandler2@@
.?AUIDocHostUIHandlerDispatch@@
.?AUIDownloadManager@@
.?AUIDropSource@@
.?AUIDropTarget@@
.?AUIDWriteFontCollectionLoader@@
.?AUIDWriteFontFileEnumerator@@
.?AUIDWriteFontFileLoader@@
.?AUIDWriteFontFileStream@@
.?AUIDWriteInlineObject@@
.?AUIDynamicFrameRateControl@@
.?AUIEndpointVolumeEventNotify@@
.?AUIEnumConnectionPoints@@
.?AUIEnumConnections@@
.?AUIEnumUnknown@@
.?AUIEnumVARIANT@@
.?AUIEnumVOID@@
.?AUIErrorInfo@impl@winrt@@
.?AUIExecutionContext@Concurrency@@
.?AUIExecutionResource@Concurrency@@
.?AUIFailureCallback@details@wil@@
.?AUIFileDialogControlEvents@@
.?AUIFileDialogEvents@@
.?AUIFilmModeDetection@@
.?AUIGamutCompression@@
.?AUIGfxSDK@@
AU.I[!gO
.?AUIGraphicsOutputProtocol@@
.?AUIGraphicsPState@@
.?AUIGraphicsRenderStandby@@
.?AUIHDMIFeatures@@
.?AUIHttpSecurity@@
.?AUIHue@@
.?AUIIgfxUtilities@@
.?AUIImageStabilization@@
.?AUIInformation@@
.?AUIInputRange@@
.?AUIInspectable@@
.?AUIInstanceProvider@@
.?AUIInternal@@
.?AUIInternetSecurityManager@@
.?AUIInternetSecurityManagerEx@@
.?AUIInternetSecurityManagerEx2@@
.?AUIJackMgrEventNotify@@
.?AUILockable@@
.?AUILowLevelKeyboardEventNotify@@
.?AUILSPCONSvcCOMChannel@@
.?AUIManageability_Commands@@
.?AUIMarshal@@
.?AUIMarshal@impl@winrt@@
.?AUIMCCS@@
.?AUIMMNotificationClient@@
.?AUIModule@Com@@
.?AUImplementsBase@Details@WRL@Microsoft@@
.?AUINamedPipeEventNotify@@
.?AUINarrowGamut@@
.?AUINoiseReduction@@
.?AUInputStreamMutex@Imf_2_2@@
.?AUIObjectWithSite@@
.?AUIOleClientSite@@
.?AUIOleCommandTarget@@
.?AUIOleContainer@@
.?AUIOleControlSite@@
.?AUIOleInPlaceFrame@@
.?AUIOleInPlaceSite@@
.?AUIOleInPlaceSiteEx@@
.?AUIOleInPlaceSiteWindowless@@
.?AUIOleInPlaceUIWindow@@
.?AUIOleWindow@@
.?AUIPanelSelfRefresh@@
.?AUIParseDisplayName@@
.?AUIPermanentInternetSecurityManagerInternal@@
.?AUIPower@@
.?AUIPowerFeatures@@
.?AUIPowerPlan@@
.?AUIPresenceWriter@Internal@PresenceServer@GameBar@Gaming@Windows@@
.?AUIPrintDialogCallback@@
.?AUIPTHI_Commands@@
.?AUIRapidMemoryManagement@@
.?AUIRawElementProviderSimple@@
.?AUIRegistrarBase@@
.?AUIRegKeyNotify@@
.?AUIResourceManager@Concurrency@@
.?AUIRestrictedErrorInfo@impl@winrt@@
.?AUIRtkAudioDriverEventNotify@@
.?AUIRtkAudUServiceCOMObject@@
.?AUIS3D@@
.?AUISaturation@@
.?AUIScheduler@Concurrency@@
.?AUISchedulerProxy@Concurrency@@
.?AUISensLogon@@
.?AUISensLogon2@@
.?AUISensorEvents@@
.?AUISensorManagerEvents@@
.?AUIServiceEventNotify@@
.?AUIServiceProvider@@
.?AUISharpness@@
.?AUIShellBrowser@@
.?AUIShellBrowserService@@
.?AUIShellNavigationTarget@@
.?AUISkinToneEnhancement@@
.?AUISmart2dDisplayTechnology@@
.?AUIStandardColorCorrection@@
.?AUISunlightReadAbility@@
.?AUISupportErrorInfo@@
.?AUISurrogate@@
.?AUISwitchableGraphics@@
.?AUITheEventManager@@
.?AUITheIntelALSRadar@@
.?AUITheIntelSmartFrame@@
.?AUITheLaunchTimeEnhancer@@
.?AUIThreadProxy@Concurrency@@
.?AUIThreadProxyFactory@details@Concurrency@@
.?AUITimerEventNotify@@
.?AUITopologyExecutionResource@Concurrency@@
.?AUITopologyNode@Concurrency@@
.?AUITotalColorCorrection@@
.?AUITravelLog@@
.?AUIUIAnimationInterpolator2@@
.?AUIUIAnimationStoryboardEventHandler2@@
.?AUIUIAutomationFocusChangedEventHandler@@
.?AUIUnknown@@
.?AUIUNSAlert@@
.?AUIVideo@@
.?AUIVideoBIOS@@
.?AUIVideoColor@@
.?AUIVideoGamut@@
.?AUIVideoQuality@@
.?AUIVideoScaling@@
.?AUIVirtualDisplay@@
.?AUIVirtualProcessorRoot@Concurrency@@
.?AUIWbemObjectSink@@
.?AUIWbemProviderInit@@
.?AUIWbemServices@@
.?AUIWbemShutdown@@
.?AUIWeakReference@@
.?AUIWeakReferenceSource@@
.?AUIWebPlatformHostDiagnosticMode@@
.?AUIWebPlatformHostUI@@
.?AUIWebPlatformNavigationEvents@@
.?AUIWebPlatformPermanentSecurityManager@@
.?AUIWebPlatformPermanentSecurityManagerInternal@@
.?AUIWebPlatformScriptEvent@@
.?AUIWebPlatformSecurityManager@@
.?AUIWideGamut@@
.?AUIWindowForBindingUI@@
.?AUIWindowsMessageNotify@@
.?AUIWindowsPowerMessageNotify@@
.?AUIWmiEventSinkNotify@@
.?AUIxvYCC@@
.?AUIYCbCr@@
aul.wido
aul.widU
aul.widV
aul.widw
.?AUMCCS_DATA@@
.?AUmessages_base@std@@
.?AUmoney_base@std@@
.?AU_MONITOR@@
AUnknown exception
.?AUOccupancyProvider@cask@@
.?AUOutputStreamMutex@Imf_2_2@@
.?AUOverlapLimits@@
A:	upA:I
.?AUPcieLinkInfo@@
.?AUscheduler_interface@Concurrency@@
.?AU_SDEVMODE@@
.?AUSDoublePoint@@
AuserConfigurationDataWWWd
.?AU_SERIALIZABLE_ELEMENT@@
.?AUSettingCacheEmpty@Impl@Service@Client@AppV@@
.?AUSettingInfo@@
.?AUSettingManagerEmpty@Impl@Service@Client@AppV@@
.?AUSettingSenderEmpty@Impl@Service@Client@AppV@@
.?AUSPoint@@
.?AU_Task_impl_base@details@Concurrency@@
.?AU_TaskProcHandle@details@Concurrency@@
auth@amt.intel.com
AuthenticAMD
AuthenticateEndPointFirmware
AuthenticateEndPointFirmwareInput
AuthenticateEnrollmentIdentity
AuthenticateIdentification
Authenticating
Authentication
AUTHENTICATION
Authentication cancelled
AuthenticationError
AuthenticationFailed
Authentication failure.
AuthenticationMethod
Authentication problem. Ignoring this.
AuthenticationProtocol
AuthenticationRequired
AutherizationMode
AuthHost.pdb
AuthHostPurgeCacheFreeUrlCacheEvent
AuthHostPurgeCacheGetUrlCacheEvent
AuthMethod
Authorization
Authorization:
AuthorizeActAccess
AuthorizeEnrollment
AuthorizeKeyRelease
AuthPackage
authroot.stl
authtask.cpp
authtask.h
AuthzAccessCheck
AuthzAddSidsToContext
AUTHZ.dll
AuthzFreeContext
AuthzFreeResourceManager
AuthzInitializeContextFromSid
AuthzInitializeResourceManager
.?AUtime_base@std@@
auto_boost
Auto Boost
auto_boost_default
Auto Boost Default
AutoCache
AutoCacheFlush
autocheck 
autocheck autochk
autocheck autochk *
Autochk cannot lock system volume due to a sharing violation.
autochk.pdb
_autoCommitProp
AutoCommitProp
AutoConnect
autoConnectEnabled
AutoConnectEnabled
AUTOCONV
autoconv.pdb
autoexec
autoexec [command] [...]                 Execute Default Startup Script
autofmt.pdb
AutomagicApplyHintsToLun
AUTOMATICDISPLAYBRIGHTNESS_NOT_SUPPORTEDx
AUTOMATICDISPLAYBRIGHTNESS_SET_FAILEDWWW
AUTOMATICDISPLAYBRIGHTNESS_SUCCESSWW
autoMgrPath
AutonomicMgr
AutonomicMgr.exe
AutonomicRegKey
AutonomicTest
.?AUTopologyObject@GlobalCore@details@Concurrency@@
.?AUTopologyObject@GlobalNode@details@Concurrency@@
AutoPosition
AutoProfileEnableChanged
AutoResetEvent
AutoScaleMode
AutoScrollStop
AutoSense
AutoSenseSpeedConfigurable
AutoString.cpp
AutoSubscribedHwkwsGuid
AutoSubscribeGuid
AutoSwitchEnabled
AutoWakeBuilder
autoWakes
AutoWakesXml
autoWakeTime
AutoWakeXml
.?AUValue@@
.?AUVideoCodecInfo@@
.?AUVulkanException@@
AUX_INCOMPLETE_WRITE
AUX_INVALID_ADDRESSWX
AUX_INVALID_OPERATION_TYPEWWX
AUX_READ
AUX_SUCCESSWX
AUX_WRITEWWW
.?AUXYTILT@@
AV7@6mD;
.?AVAbortException@@
.?AVACE_Addr@@
.?AVACE_Allocator@@
.?AVACE_At_Thread_Exit@@
.?AVACE_At_Thread_Exit_Func@@
.?AVACE_Auto_Event@@
.?AVACE_Base_Thread_Adapter@@
.?AVACE_Cleanup@@
.?AVACE_Copy_Disabled@@
.?AVACE_Data_Block@@
.?AVACE_Dirent_Selector@@
.?AVACE_Dummy_Node@@
.?AVACE_Dynamic_Node@@
.?AVACE_Dynamic_Time_Policy_Base@@
.?AVACE_Encoding_Converter@@
.?AVACE_Event_Base@@
.?AVACE_Event_Handler@@
.?AVACE_Framework_Component@@
.?AVACE_Function_Node@@
.?AVACE_INET_Addr@@
.?AVACE_Location_Node@@
.?AVACE_Lock@@
.?AVACE_Log_Msg_Backend@@
.?AVACE_Log_Msg_IPC@@
.?AVACE_Log_Msg_NT_Event_Log@@
.?AVACE_Manual_Event@@
.?AVACE_Message_Block@@
.?AVACE_Message_Queue_Base@@
.?AVACE_Module_Type@@
.?AVACE_New_Allocator@@
.?AVACE_Notification_Strategy@@
.?AVACE_NT_Service@@
.?AVACE_Object_Manager@@
.?AVACE_Object_Manager_Base@@
.?AVACE_Object_Node@@
.?AVACE_OS_Object_Manager@@
.?AVACE_OS_Thread_Adapter@@
.?AVACE_OS_Thread_Descriptor@@
.?AVACE_Parse_Node@@
.?AVACE_Reactor@@
.?AVACE_Reactor_Impl@@
.?AVACE_Reactor_Notification_Strategy@@
.?AVACE_Reactor_Notify@@
.?AVACE_Reactor_Timer_Interface@@
.?AVACE_Remove_Node@@
.?AVACE_Resume_Node@@
.?AVACE_Service_Config@@
.?AVACE_Service_Manager@@
.?AVACE_Service_Object@@
.?AVACE_Service_Object_Type@@
.?AVACE_Service_Type_Impl@@
.?AVACE_Shared_Object@@
.?AVACE_Sig_Adapter@@
.?AVACE_Sig_Handler@@
.?AVACE_Static_Function_Node@@
.?AVACE_Static_Node@@
.?AVACE_Stream_Node@@
.?AVACE_Stream_Type@@
.?AVACE_Suspend_Node@@
.?AVACE_Task_Base@@
.?AVACE_Thread_Adapter@@
.?AVACE_Thread_Descriptor@@
.?AVACE_Thread_Descriptor_Base@@
.?AVACE_Time_Value@@
.?AVACE_UTF16_Encoding_Converter@@
.?AVACE_UTF32_Encoding_Converter@@
.?AVACE_UTF8_Encoding_Converter@@
.?AVACE_Wakeup_All_Threads_Handler@@
.?AVACE_WFMO_Reactor@@
.?AVACE_WFMO_Reactor_Handler_Repository@@
.?AVACE_WFMO_Reactor_Notify@@
.?AVAcpiIfDriver@ITS_IFC@@
.?AVActivityData@Client@AppV@@
.?AVAddWiFiSettings_INPUT@AMT_WiFiPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVAddWiFiSettings_OUTPUT@AMT_WiFiPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVADSMethods@Uev@@
.?AV_AFX_BASE_MODULE_STATE@@
.?AV_AFX_CHECKLIST_STATE@@
.?AV_AFX_COLOR_STATE@@
.?AV_AFX_D2D_STATE@@
.?AV_AFX_EDIT_STATE@@
.?AV_AFX_HTMLHELP_STATE@@
.?AVAFX_MODULE_STATE@@
.?AVAFX_MODULE_THREAD_STATE@@
.?AV_AFX_MOUSEANCHORWND@@
.?AV_AFX_OLE_STATE@@
.?AV_AFX_RICHEDIT_STATE@@
.?AV_AFX_THREAD_STATE@@
.?AVAggregatedTokenRequest@@
.?AVaggregate_formatter@details@spdlog@@
Availability
AVAILABLE
AvailableInS0
AvailableObjectStats
available on S0 AC
available on S0 DC
available on Sx AC
available on Sx DC
availableProfiles
AvailableRequestedPowerStates
AvailableRequestedStates
AvailableSAP
AvailableSpaceWW
AVAILABLEWWW
??AValue@Json@@QEAAAEAV01@PEBD@Z
.?AVAMT_8021xCredentialContext@Typed@Cim@Manageability@Intel@@
.?AVAMT_8021XProfile@Typed@Cim@Manageability@Intel@@
.?AVAMT_ActiveFilterStatistics@Typed@Cim@Manageability@Intel@@
.?AVAMT_AgentPresenceCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_AgentPresenceInterfacePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_AgentPresenceService@Typed@Cim@Manageability@Intel@@
.?AVAMT_AgentPresenceWatchdogAction@Typed@Cim@Manageability@Intel@@
.?AVAMT_AgentPresenceWatchdog@Typed@Cim@Manageability@Intel@@
.?AVAMT_AlarmClockService@Typed@Cim@Manageability@Intel@@
.?AVAMT_AssetTableService@Typed@Cim@Manageability@Intel@@
.?AVAMT_AssetTable@Typed@Cim@Manageability@Intel@@
.?AVAMT_AuditLog@Typed@Cim@Manageability@Intel@@
.?AVAMT_AuditPolicyRule@Typed@Cim@Manageability@Intel@@
.?AVAMT_AuthorizationService@Typed@Cim@Manageability@Intel@@
.?AVAMT_BootCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_BootSettingData@Typed@Cim@Manageability@Intel@@
.?AVAMT_ComplexFilterEntryBase@Typed@Cim@Manageability@Intel@@
.?AVAMT_CRL@Typed@Cim@Manageability@Intel@@
.?AVAMT_CryptographicCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_EACCredentialContext@Typed@Cim@Manageability@Intel@@
.?AVAmtEnableLastService@@
.?AVAMT_EndpointAccessControlService@Typed@Cim@Manageability@Intel@@
.?AVAMT_EnvironmentDetectionInterfacePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_EnvironmentDetectionSettingData@Typed@Cim@Manageability@Intel@@
.?AVAMTEthernetPortSettingsClient@@
.?AVAMT_EthernetPortSettings@Typed@Cim@Manageability@Intel@@
.?AVAMT_EventLogEntry@Typed@Cim@Manageability@Intel@@
.?AVAMT_EventManagerService@Typed@Cim@Manageability@Intel@@
.?AVAMT_EventSubscriber@Typed@Cim@Manageability@Intel@@
.?AVAMTFCFHWSmanClient@@
.?AVAMT_FilterEntryBase@Typed@Cim@Manageability@Intel@@
.?AVAMT_FilterInSystemDefensePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_GeneralSettings@Typed@Cim@Manageability@Intel@@
.?AVAMT_GeneralSystemDefenseCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_Hdr8021Filter@Typed@Cim@Manageability@Intel@@
.?AVAMT_HeuristicPacketFilterInterfacePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_HeuristicPacketFilterSettings@Typed@Cim@Manageability@Intel@@
.?AVAMT_HeuristicPacketFilterStatistics@Typed@Cim@Manageability@Intel@@
.?AVamthi_category_t@AMTHI_Client@MEI_Client@Intel@@
.?AVAMTHICommand@AMTHI_Client@MEI_Client@Intel@@
.?AVAMTHICommandRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVAMTHIErrorException@AMTHI_Client@MEI_Client@Intel@@
.?AVAMT_InterfacePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_IPHeadersFilter@Typed@Cim@Manageability@Intel@@
.?AVAMT_KerberosSettingData@Typed@Cim@Manageability@Intel@@
.?AVAMT_ManagementPresenceRemoteSAP@Typed@Cim@Manageability@Intel@@
.?AVAMT_MessageLog@Typed@Cim@Manageability@Intel@@
.?AVAMT_MPSUsernamePassword@Typed@Cim@Manageability@Intel@@
.?AVAMT_NetworkFilter@Typed@Cim@Manageability@Intel@@
.?AVAMT_NetworkPortDefaultSystemDefensePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_NetworkPortSystemDefenseCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_NetworkPortSystemDefensePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_PCIDevice@Typed@Cim@Manageability@Intel@@
.?AVAMT_PETCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_PETFilterForTarget@Typed@Cim@Manageability@Intel@@
.?AVAMT_PETFilterSetting@Typed@Cim@Manageability@Intel@@
.?AVAMT_ProvisioningCertificateHash@Typed@Cim@Manageability@Intel@@
.?AVAMT_PublicKeyCertificate@Typed@Cim@Manageability@Intel@@
.?AVAMT_PublicKeyManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_PublicKeyManagementService@Typed@Cim@Manageability@Intel@@
.?AVAMT_PublicPrivateKeyPair@Typed@Cim@Manageability@Intel@@
.?AVAMT_RedirectionService@Typed@Cim@Manageability@Intel@@
.?AVAMTRedirectionServiceWSManClient@@
.?AVAMT_RemoteAccessCapabilities@Typed@Cim@Manageability@Intel@@
.?AVAMT_RemoteAccessCredentialContext@Typed@Cim@Manageability@Intel@@
.?AVAMT_RemoteAccessPolicyAppliesToMPS@Typed@Cim@Manageability@Intel@@
.?AVAMT_RemoteAccessPolicyRule@Typed@Cim@Manageability@Intel@@
.?AVAMT_RemoteAccessService@Typed@Cim@Manageability@Intel@@
.?AVAMT_SetupAndConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVAMT_SNMPEventSubscriber@Typed@Cim@Manageability@Intel@@
.?AVAMT_StateTransitionCondition@Typed@Cim@Manageability@Intel@@
.?AVAMT_SystemDefensePolicyInService@Typed@Cim@Manageability@Intel@@
.?AVAMT_SystemDefensePolicy@Typed@Cim@Manageability@Intel@@
.?AVAMT_SystemDefenseService@Typed@Cim@Manageability@Intel@@
.?AVAMT_SystemPowerScheme@Typed@Cim@Manageability@Intel@@
.?AVAMT_ThirdPartyDataStorageAdministrationService@Typed@Cim@Manageability@Intel@@
.?AVAMT_ThirdPartyDataStorageService@Typed@Cim@Manageability@Intel@@
.?AVAMT_TimeSynchronizationService@Typed@Cim@Manageability@Intel@@
.?AVAMT_TLSCredentialContext@Typed@Cim@Manageability@Intel@@
.?AVAMT_TLSProtocolEndpointCollection@Typed@Cim@Manageability@Intel@@
.?AVAMT_TLSProtocolEndpoint@Typed@Cim@Manageability@Intel@@
.?AVAMT_TLSSettingData@Typed@Cim@Manageability@Intel@@
.?AVAMT_TrapTargetForService@Typed@Cim@Manageability@Intel@@
.?AVAMT_UserInitiatedConnectionService@Typed@Cim@Manageability@Intel@@
.?AVAMT_WebUIService@Typed@Cim@Manageability@Intel@@
.?AVAMT_WiFiPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVAPIReq@@
.?AVApplication@@
.?AVApplicationShim@@
.?AVAppProfile@@
.?AVAppV4xServiceInclusion@Uev@@
.?AVAppV5xServiceInclusion@Uev@@
.?AVAppVClientImpl@Service@Client@AppV@@
.?AVAppVServiceInclusion@Uev@@
.?AVArgExc@Iex_2_2@@
.?AVArgumentException@@
.?AVargument_incorrect_type@cxxopts@@
.?AVAsarParamsCapxWriter@AsarComponent@@
.?AVAsarParamsMemoryWriter@AsarComponent@@
.?AVAsarParamsResolver@AsarComponent@@
.?AVAssertException@@
.?AVAssociatedTemplateException@Uev@@
.?AVAtlLogger@@
.?AVAttachChooser@@
.?AVAttribute@Imf_2_2@@
.?AVAttributes@@
.?AVAudioMirroringApoPlayer@@
.?AVAudioMirroringLoopbackPlayer@@
.?AVAudioMirroringPlayer@@
.?AVAudioSharingPlayer@@
.?AVAuditLogWSManClient@@
.?AVAuthenticationContext@@
.?AVB44Compressor@Imf_2_2@@
.?AVBackupProfile@Uev@@
.?AVbad_alloc@std@@
.?AVbad_array_new_length@std@@
.?AVbad_cast@@
.?AVbad_cast@std@@
.?AVbad_exception@std@@
.?AVbad_format_string@io@boost@@
.?AVbad_function_call@boost@@
.?AVbad_function_call@std@@
.?AVbad_lexical_cast@boost@@
.?AVbad_optional_access@std@@
.?AVbad_typeid@std@@
.?AVbad_variant_access@std@@
.?AVbad_weak_ptr@std@@
.?AVBaseEventLog@@
.?AVBaseException@@
.?AVBaseExc@Iex_2_2@@
.?AVBaseHDCP@@
.?AVBaseKernelInfo@cask@@
.?AVBaseWSManClient@@
.?AVBeamImageProvider@BeamChat@GamesGuide@@
.?AVBeihaiPlugin@Jhi_Plugin_1@@
.?AVBeihaiPlugin@Jhi_Plugin_2@@
.?AVBitmap@Gdiplus@@
.?AVBitmapInlineObject@?A0xe17e2f02@GamesGuide@@
.?AVBoard@@
.?AVBoardNvapi@@
.?AVBrowserEvents@WebUIController@@
.?AVBrush@Gdiplus@@
.?AVBufferReaderException@iusl@@
.?AVBufferWriterException@iusl@@
.?AVC16StepsBrightnessChanger@@
.?AVC8StepsBrightnessChanger@@
.?AVCAboutDlg@@
.?AVCAccelerometer@@
.?AVCAccessAce@CDacl@ATL@@
.?AVCAccessibleProxy@ATL@@
.?AVCAccessToken@ATL@@
.?AVCAce@CAcl@ATL@@
.?AVCachedTokenRequest@@
.?AVCacheLocalScheduleGroup@details@Concurrency@@
.?AVCacheLocalScheduleGroupSegment@details@Concurrency@@
.?AVCAcl@ATL@@
.?AVCAdditional@@
.?AVCAdvancedSettings@@
.?AVCAfxStringMgr@@
.?AVCallbackLogger@@
.?AVCallbackOwner@common_frameworks@@
.?AVCAmbientColorControl@@
.?AVCAmbientLightAwareSensorEvents@@
.?AVCAmbientLightAwareSensorManagerEvents@@
.?AVCAMT_COM_InterfaceModule@@
.?AV_CancellationTokenRegistration@details@Concurrency@@
.?AVCancellationTokenRegistration_TaskProc@details@Concurrency@@
.?AVCancelOptInClient@@
.?AVCAnimationManager@@
.?AVCApoPolicyCfgClient@@
.?AVCAppInfo@@
.?AVCApplicationOptimalMode@@
.?AVCAppModule@WTL@@
.?AVCAppSessionEventMgr@@
.?AVCArchiveException@@
.?AVCAssocDlg@@
.?AVCAsyncEventNotifyBase@@
.?AVCAT_Device@@
.?AVCAtlException@ATL@@
.?AVCAtlModule@ATL@@
.?AVCAtlStringMgr@ATL@@
.?AVCAttributedLabel@GamesGuide@@
.?AVCAudioDevice@@
.?AVCAudioDeviceLineVolumes@@
.?AVCAudioDeviceMuteStateHandler@@
.?AVCAudioDeviceSessionEvents@@
.?AVCAudioDeviceTopology@@
.?AVCAudioEndpointVolumeCallback@@
.?AVCAudioModuleAcxIntelDsp@@
.?AVCAudioModuleAcxSdcaExtension@@
.?AVCAudioModuleAPI@@
.?AVCAudioModuleAPIBase@@
.?AVCAudioSessionEvents@@
.?AVCAudioSystemEffectsPropertyChangeNotificationClient@@
.?AVCAudioSystemEffectsPropertyChangeNotificationNotify@@
.?AVCAudioVolume@@
.?AVCAutoCriticalSection@@
.?AVCAutoHideDockSite@@
.?AVCAutomaticDisplayBrightness@@
.?AVCAutoOddDisablingConfig@@
.?AVCAutoStringLogger@Logging@Nvidia@@
.?AVCAux@@
.?AVCAxFrameWindow@ATL@@
.?AVCAxHostWindow@ATL@@
.?AVCAxUIWindow@ATL@@
.?AVCBackgroundAdminProcMain@@
.?AVCBackgroundProc@@
.?AVCBackgroundProcMain@@
.?AVCBasePane@@
.?AVCBaseTabbedPane@@
.?AVCBasicUiPanel@GamesGuide@@
.?AVCBattery@@
.?AVCBitmap@@
.?AVCBitmapButton@@
.?AVCBLinkDlg@@
.?AVCBrightnessChanger@@
.?AVCBrightnessPowerSetting@@
.?AVCBroadcastLoadingPanel@GamesGuide@@
.?AVCBroadcastLoginPanel@GamesGuide@@
.?AVCBroadcastPreviewFloatingWindow@GamesGuide@@
.?AVCBroadcastSetupPanel@GamesGuide@@
.?AVCBroadcastTosPanel@GamesGuide@@
.?AVCBrush@@
.?AVCBssAudioSessionMgr@@
.?AVCBssGen4ConditionMgr@@
.?AVCBTButton@@
.?AVCBTButtonHandler@@
.?AVCBus@@
.?AVCBusyIndicator@GamesGuide@@
.?AVCButton@@
.?AVCButton@GamesGuide@@
.?AVCByteArray@@
.?AVCCaptureDrawer@GamesGuide@@
.?AVCCellObj@@
.?AVCChatFloatingWindow@GamesGuide@@
.?AVCChatView@GamesGuide@@
.?AVCCheckBox@GamesGuide@@
.?AVCCheckListBox@@
.?AVCChevronOwnerDrawMenu@@
.?AVCClientDC@@
.?AVCCloseButton@GamesGuide@@
.?AVCCmdTarget@@
.?AVCCmdUI@@
.?AVCCollageBezelDetails@@
.?AVCCollageDetails@@
.?AVCColorCorrection@@
.?AVCColorCurves@@
.?AVCColorDialog@@
.?AVCColumnHeading@@
.?AVCComboBox@@
.?AVCComClassFactory@ATL@@
.?AVCCommandManager@@
.?AVCComModule@ATL@@
.?AVCCommonDialog@@
.?AVCComObjectRootBase@ATL@@
.?AVCCompositionLayer@@
.?AVCConnectedDisplays@@
.?AVCConsoleModule@@
.?AVCContainable@@
.?AVCContainer@@
.?AVCContextManager@@
.?AVCContrastEnhancement@@
.?AVCControlBar@@
.?AVCControlChangeEventNotify@@
.?AVCCpeDocTemplate@@
.?AVCCpuSpeedChanger@@
.?AVCCpuSpeedChangerPattern1@@
.?AVCCpuSpeedChangerPattern2@@
.?AVCCpuSpeedPowerSetting@@
.?AVCCriticalSection@@
.?AVCCriticalSectionHelper@@
.?AVCCSLock@@
.?AVCCUIExternal@@
.?AVCCUIRegistry@@
.?AVCCursorCover@GamesGuide@@
.?AVCCustomCubicBezierLinearInterpolator@@
.?AVCCustomInfoFrame@@
.?AVCCustomizeAcer@@
.?AVCCustomizeASUS@@
.?AVCCustomized@@
.?AVCCustomizeDefault@@
.?AVCCustomizeDell@@
.?AVCCustomizeFujitsu@@
.?AVCCustomizeGigabyte@@
.?AVCCustomizeHonor@@
.?AVCCustomizeHP@@
.?AVCCustomizeHuawei@@
.?AVCCustomizeLenovo@@
.?AVCCustomizeLG@@
.?AVCCustomizeMSI@@
.?AVCCustomizeNec@@
.?AVCCustomizePegatron@@
.?AVCCustomizeSamsung@@
.?AVCCustomizeSony@@
.?AVCCustomizeToshiba@@
.?AVCCustomizeWhiteBrand@@
.?AVCCustomizeXiaomi@@
.?AVCCustomListFrame@@
.?AVCCustomLUT@@
.?AVCCustomMatrix@@
.?AVCD3D@@
.?AVCDacl@ATL@@
.?AVCDataAccessProtector@@
.?AVCDataChannel@@
.?AVCDataRecoveryHandler@@
.?AVCDataRoutine@@
.?AVCDAXAPICallbackBase@RpcServer@@
.?AVCDAXAPICallback@RpcServer@@
.?AVCDAXAPIResource@RpcServer@@
.?AVCDAXService@@
.?AVCDC@@
.?AVCDellMuteMain@@
.?AVCDellWmiModernStandyNotifier@@
.?AVCDestructorHelper@@
.?AVCDevDevice@@
.?AVCDevDeviceBasic@@
.?AVCDevDeviceInstance@@
.?AVCDevDriver@@
.?AVCDevDriverBase@@
.?AVCDevicePairingApp@@
.?AVCDIAccessor@@
.?AVCDiagnosan@@
.?AVCDialog@@
.?AVCDialogEx@@
.?AVCDialogImpl@@
.?AVCDirect2DView@GamesGuide@@
.?AVCDISMHelpItem@@
.?AVCDISMHelpItemCollection@@
.?AVCDisplay@@
.?AVCDisplayAccessor@@
.?AVCDisplayAccessorFactory@@
.?AVCDisplayAudio@@
.?AVCDisplayBasicModeDetails@@
.?AVCDisplayBrightness@@
.?AVCDisplayColor@@
.?AVCDisplayConfigDetails@@
.?AVCDisplayConfiguration@@
.?AVCDisplayContrast@@
.?AVCDisplayCustomMode@@
.?AVCDisplayCustomTiming@@
.?AVCDisplayGamma@@
.?AVCDisplayGammaLUT@@
.?AVCDisplayModeDetails@@
.?AVCDisplayModeList@@
.?AVCDisplayPostProcessing@@
.?AVCDisplayPowerSavingTechnology@@
.?AVCDisplayRefreshRateSwitching@@
.?AVCDisplaySharpness@@
.?AVCDispOrientationChangeDetection@@
.?AVCDllManagerBase@@
.?AVCDocItem@@
.?AVCDockablePane@@
.?AVCDockablePaneAdapter@@
.?AVCDockBar@@
.?AVCDockingManager@@
.?AVCDockingPanesRow@@
.?AVCDockSite@@
.?AVCDockState@@
.?AVCDocTemplate@@
.?AVCDocument@@
.?AVCDocument@Xml@Util@Sharp@@
.?AVCDragOverlayWindow@@
.?AVCDrawApp@@
.?AVCDrawDoc@@
.?AVCDrawEllipse@@
.?AVCDrawingManager@@
.?AVCDrawItem@@
.?AVCDrawLine@@
.?AVCDrawObj@@
.?AVCDrawOleObj@@
.?AVCDrawPoly@@
.?AVCDrawRect@@
.?AVCDrawRoundRect@@
.?AVCDrawText@@
.?AVCDrawTool@@
.?AVCDrawView@@
.?AVCDriverInterface@ITS_IFC@@
.?AVCDriverMessageSendPort@@
.?AVCDriverPropertyClient@@
.?AVCDriverVolumeMgr@@
.?AVCDummyDesktop@@
.?AVCDummyDockablePane@@
.?AVCDWordArray@@
.?AVCDynamicBrightnessControl@@
.?AVCDynamicFrameRateControl@@
.?AVCEdit@@
.?AVCEditGage@@
.?AVCEditWnd@@
.?AVCEllipticalMask@@
.?AVCEnumArray@@
.?AVCEnumFormatEtc@@
.?AVCEnvironmentsOfFilePath@@
.?AVCErrorPanel@GamesGuide@@
.?AVCETDCtrlApp@@
.?AVCETDCtrlDlg@@
.?AVCETDUninstApp@@
.?AVCETDUninstDlg@@
.?AVCEudcApp@@
.?AVCEudcDlg@@
.?AVCEudcList@@
.?AVCEvent@@
.?AVCException@@
.?AVCExpressKey@@
.?AVCFaceDetectionSensor@@
.?AVCFakeCursor@GamesGuide@@
.?AVCFaxProp@@
.?AVCFaxText@@
.?AVCFG_SetOverrideProsetAdapterSwitchingCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVCFG_SetOverrideProsetAdapterSwitchingCommandRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVCFile@@
.?AVCFileDialog@@
.?AVCFileException@@
.?AVCFileFind@@
.?AVCFileHashCondition@PolicyModel@@
.?AVCFileHash@PolicyModel@@
.?AVCFileHashRule@PolicyModel@@
.?AVCFilePathCondition@PolicyModel@@
.?AVCFilePath@PolicyModel@@
.?AVCFilePathRule@PolicyModel@@
.?AVCFilePublisherCondition@PolicyModel@@
.?AVCFilePublisherRule@PolicyModel@@
.?AVCFileVersion@PolicyModel@@
.?AVCFileVersionRange@PolicyModel@@
.?AVCFilmModeDetection@@
.?AVCFocusChangeEventHandler@@
.?AVCFolderImageInfo@@
.?AVCFont@@
.?AVCFontDialog@@
.?AVCFormatSetting@@
.?AVCFrameImpl@@
.?AVCFrameWnd@@
.?AVCFrameWndEx@@
.?AVCFullScreenImpl@@
.?AVCFveHardwareEncryptionSettings@@
.?AVCFvePolicy@@
.?AVCFvePolicyImpl@@
.?AVCFvePolicyReader@@
.?AVCFvePolicySettings@@
.?AVCFveRecoverySettings@@
.?AVCGageDlg@@
.?AVCGameBarSettings@@
.?AVCGameButton@GamesGuide@@
.?AVCGamePanelBroadcastButton@GamesGuide@@
.?AVCGamePanelBroadcastPauseButton@GamesGuide@@
.?AVCGamePanelButton@GamesGuide@@
.?AVCGamePanelGameModeButton@GamesGuide@@
.?AVCGamePanel@GamesGuide@@
.?AVCGamePanelGripper@GamesGuide@@
.?AVCGamePanelRecordButton@GamesGuide@@
.?AVCGamePanelScreenShotButton@GamesGuide@@
.?AVCGamePanelXenonButton@GamesGuide@@
.?AVCGamerPicView@GamesGuide@@
.?AVCGamutCompression@@
.?AVCGdiObject@@
.?AVCGfxPowerSettings@@
.?AVCGfxSDK@@
.?AVCGlobalPlaybackMute@@
.?AVCGlobalPowerSettings@@
.?AVCGlobalRecMute@@
.?AVCGlobalRecMuteMain@@
.?AVCGlobalUtils@@
.?AVCGraphicsOutputProtocol@@
.?AVCGraphicsPState@@
.?AVCGraphicsRenderStandby@@
.?AVCGraphicsTablet@@
.?AVCGraspDetection@@
.?AVCGripper@GamesGuide@@
.?AVCGuid@@
.?AVCGuidArray@@
.?AVCGuideBar@@
.?AVCHandleMap@@
.?AVChangeConfiguration@@
.?AVChannel@@
.?AVCHardDisk@@
.?AVcharNode@@
.?AVChatChildView@ChatDetails@GamesGuide@@
.?AVChatContext@ChatDetails@GamesGuide@@
.?AVCHDMIFeatures@@
.?AVCHeaderCtrl@@
.?AVCHeap_Exception@@
.?AVCHeciSessionInterface@@
.?AVCHelpComboBoxButton@@
.?AVch_formatter@details@spdlog@@
.?AVCHingeEvents@@
.?AVCHistoryVaultMainWindow@@
.?AVChooserDispatch@@
.?AVCHowlingDetectMgr@@
.?AVCHue@@
.?AVCIcon@GamesGuide@@
.?AVCIDEDevice@@
.?AVCIDEDevices@@
.?AVCId@PolicyModel@@
.?AVCIFFSConfig@@
.?AVCigfxCUIServiceModule@@
.?AVCigfxEMModule@@
.?AVCIgfxExtModule@@
.?AVCigfxSDKModule@@
.?AVCIgfxUtilities@@
.?AVCIM_AbstractIndicationSubscription@Typed@Cim@Manageability@Intel@@
.?AVCIM_AccountManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_AccountManagementService@Typed@Cim@Manageability@Intel@@
.?AVCIM_AccountOnSystem@Typed@Cim@Manageability@Intel@@
.?AVCIM_Account@Typed@Cim@Manageability@Intel@@
.?AVCIM_AdminDomain@Typed@Cim@Manageability@Intel@@
.?AVCImage@ATL@@
.?AVCImageInfo@@
.?AVCImageList@@
.?AVCImageStabilization@@
.?AVCIM_AlertIndication@Typed@Cim@Manageability@Intel@@
.?AVCIM_AssignedIdentity@Typed@Cim@Manageability@Intel@@
.?AVCIM_AssociatedPowerManagementService@Typed@Cim@Manageability@Intel@@
.?AVCIM_AssociatedPrivilege@Typed@Cim@Manageability@Intel@@
.?AVCIM_AuthenticationService@Typed@Cim@Manageability@Intel@@
.?AVCIM_AuthorizationService@Typed@Cim@Manageability@Intel@@
.?AVCIM_AuthorizedPrivilege@Typed@Cim@Manageability@Intel@@
.?AVCimBase@Typed@Cim@Manageability@Intel@@
.?AVCIM_Battery@Typed@Cim@Manageability@Intel@@
.?AVCIM_BIOSElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_BIOSFeatureBIOSElements@Typed@Cim@Manageability@Intel@@
.?AVCIM_BIOSFeature@Typed@Cim@Manageability@Intel@@
.?AVCIM_BootConfigSetting@Typed@Cim@Manageability@Intel@@
.?AVCIM_BootService@Typed@Cim@Manageability@Intel@@
.?AVCIM_BootSettingData@Typed@Cim@Manageability@Intel@@
.?AVCIM_BootSourceSetting@Typed@Cim@Manageability@Intel@@
.?AVCIM_Capabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_Card@Typed@Cim@Manageability@Intel@@
.?AVCIM_Chassis@Typed@Cim@Manageability@Intel@@
.?AVCIM_Chip@Typed@Cim@Manageability@Intel@@
.?AVCIM_Collection@Typed@Cim@Manageability@Intel@@
.?AVCIM_Component@Typed@Cim@Manageability@Intel@@
.?AVCIM_ComputerSystemPackage@Typed@Cim@Manageability@Intel@@
.?AVCIM_ComputerSystem@Typed@Cim@Manageability@Intel@@
.?AVCIM_ConcreteComponent@Typed@Cim@Manageability@Intel@@
.?AVCIM_ConcreteDependency@Typed@Cim@Manageability@Intel@@
.?AVCIM_ConcreteJob@Typed@Cim@Manageability@Intel@@
.?AVCIM_Controller@Typed@Cim@Manageability@Intel@@
.?AVCIM_CoolingDevice@Typed@Cim@Manageability@Intel@@
.?AVCIM_CredentialContext@Typed@Cim@Manageability@Intel@@
.?AVCIM_CredentialManagementService@Typed@Cim@Manageability@Intel@@
.?AVCIM_Credential@Typed@Cim@Manageability@Intel@@
.?AVCimData@Untyped@Cim@Manageability@Intel@@
.?AVCimDateTimeAbsolute@Cim@Manageability@Intel@@
.?AVCimDateTimeBase@Cim@Manageability@Intel@@
.?AVCimDateTime@Cim@Manageability@Intel@@
.?AVCimDateTimeInterval@Cim@Manageability@Intel@@
.?AVCIM_Dependency@Typed@Cim@Manageability@Intel@@
.?AVCIM_DeviceSAPImplementation@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementConformsToProfile@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementLocation@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementSettingData@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementSoftwareIdentity@Typed@Cim@Manageability@Intel@@
.?AVCIM_ElementStatisticalData@Typed@Cim@Manageability@Intel@@
.?AVCimEmptyParam@CimBase@Typed@Cim@Manageability@Intel@@
.?AVCIM_EnabledLogicalElementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_EnabledLogicalElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_Error@Typed@Cim@Manageability@Intel@@
.?AVCIM_EthernetPort@Typed@Cim@Manageability@Intel@@
.?AVCimException@Exceptions@Manageability@Intel@@
.?AVCIM_Fan@Typed@Cim@Manageability@Intel@@
.?AVCIM_FilterCollectionSubscription@Typed@Cim@Manageability@Intel@@
.?AVCIM_FilterCollection@Typed@Cim@Manageability@Intel@@
.?AVCIM_HostedAccessPoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_HostedDependency@Typed@Cim@Manageability@Intel@@
.?AVCIM_HostedService@Typed@Cim@Manageability@Intel@@
.?AVCIM_Identity@Typed@Cim@Manageability@Intel@@
.?AVCIM_IEEE8021xCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_IEEE8021xSettings@Typed@Cim@Manageability@Intel@@
.?AVCIM_IndicationService@Typed@Cim@Manageability@Intel@@
.?AVCIM_Indication@Typed@Cim@Manageability@Intel@@
.?AVCIM_InstalledSoftwareIdentity@Typed@Cim@Manageability@Intel@@
.?AVCIM_Job@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@AMT_EthernetPortSettings@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@AMT_EventSubscriber@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@AMT_RemoteAccessPolicyAppliesToMPS@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@AMT_RemoteAccessPolicyRule@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@AMT_SNMPEventSubscriber@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CimBase@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_EnabledLogicalElement@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_LogicalDevice@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_LogicalElement@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_LogicalPort@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_ManagedElement@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_ManagedSystemElement@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_NetworkPort@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CimObject@Untyped@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_PolicyRule@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_PolicySetAppliesToElement@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_PolicySet@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_Policy@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_RemotePort@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_RemoteServiceAccessPoint@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_ServiceAccessPoint@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_SettingData@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_WiFiEndpointSettings@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@CIM_WiFiPort@Typed@Cim@Manageability@Intel@@
.?AVCimKeys@IPS_HostBootReason@Typed@Cim@Manageability@Intel@@
.?AVCIM_KVMRedirectionSAP@Typed@Cim@Manageability@Intel@@
.?AVCIM_LANEndpoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_ListenerDestination@Typed@Cim@Manageability@Intel@@
.?AVCIM_ListenerDestinationWSManagement@Typed@Cim@Manageability@Intel@@
.?AVCIM_Location@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogEntry@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogicalDevice@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogicalElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogicalPortCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogicalPort@Typed@Cim@Manageability@Intel@@
.?AVCIM_LogManagesRecord@Typed@Cim@Manageability@Intel@@
.?AVCIM_Log@Typed@Cim@Manageability@Intel@@
.?AVCIM_ManagedCredential@Typed@Cim@Manageability@Intel@@
.?AVCIM_ManagedElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_ManagedSystemElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_MediaAccessDevice@Typed@Cim@Manageability@Intel@@
.?AVCIM_MemberOfCollection@Typed@Cim@Manageability@Intel@@
.?AVCIM_Memory@Typed@Cim@Manageability@Intel@@
.?AVCIM_MessageLog@Typed@Cim@Manageability@Intel@@
.?AVCIM_NetworkPortCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_NetworkPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVCIM_NetworkPort@Typed@Cim@Manageability@Intel@@
.?AVCimObject@Untyped@Cim@Manageability@Intel@@
.?AVCimOpenWsmanClient@WSManagement@Intel@@
.?AVCIM_OrderedComponent@Typed@Cim@Manageability@Intel@@
.?AVCIM_OwningCollectionElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_OwningJobElement@Typed@Cim@Manageability@Intel@@
.?AVCimParam@Typed@Cim@Manageability@Intel@@
.?AVCimParam@Untyped@Cim@Manageability@Intel@@
.?AVCIM_PCIController@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalComponent@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalConnector@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalElementLocation@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalFrame@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalMemory@Typed@Cim@Manageability@Intel@@
.?AVCIM_PhysicalPackage@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicyAction@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicyCondition@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicyInSystem@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicyRuleInSystem@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicyRule@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicySetAppliesToElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicySetInSystem@Typed@Cim@Manageability@Intel@@
.?AVCIM_PolicySet@Typed@Cim@Manageability@Intel@@
.?AVCIM_Policy@Typed@Cim@Manageability@Intel@@
.?AVCImportDlg@@
.?AVCIM_PowerManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_PowerManagementService@Typed@Cim@Manageability@Intel@@
.?AVCIM_PowerSupply@Typed@Cim@Manageability@Intel@@
.?AVCIM_PrivilegeManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_PrivilegeManagementService@Typed@Cim@Manageability@Intel@@
.?AVCIM_Privilege@Typed@Cim@Manageability@Intel@@
.?AVCIM_ProcessIndication@Typed@Cim@Manageability@Intel@@
.?AVCIM_Processor@Typed@Cim@Manageability@Intel@@
.?AVCimPropertyException@Exceptions@Manageability@Intel@@
.?AVCIM_ProtocolEndpoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_ProvidesServiceToElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_Realizes@Typed@Cim@Manageability@Intel@@
.?AVCIM_RecordForLog@Typed@Cim@Manageability@Intel@@
.?AVCIM_RecordLog@Typed@Cim@Manageability@Intel@@
.?AVCIM_RedirectionService@Typed@Cim@Manageability@Intel@@
.?AVCIM_ReferencedProfile@Typed@Cim@Manageability@Intel@@
.?AVCIM_RegisteredProfile@Typed@Cim@Manageability@Intel@@
.?AVCIM_RemoteAccessAvailableToElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_RemoteIdentity@Typed@Cim@Manageability@Intel@@
.?AVCIM_RemotePort@Typed@Cim@Manageability@Intel@@
.?AVCIM_RemoteServiceAccessPoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_RoleBasedAuthorizationService@Typed@Cim@Manageability@Intel@@
.?AVCIM_RoleBasedManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_RoleLimitedToTarget@Typed@Cim@Manageability@Intel@@
.?AVCIM_Role@Typed@Cim@Manageability@Intel@@
.?AVCIM_SAPAvailableForElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_SecurityService@Typed@Cim@Manageability@Intel@@
.?AVCIM_Sensor@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceAccessBySAP@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceAccessPoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceAffectsElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceAvailableToElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceSAPDependency@Typed@Cim@Manageability@Intel@@
.?AVCIM_ServiceServiceDependency@Typed@Cim@Manageability@Intel@@
.?AVCIM_Service@Typed@Cim@Manageability@Intel@@
.?AVCIM_SettingData@Typed@Cim@Manageability@Intel@@
.?AVCIM_SettingsDefineState@Typed@Cim@Manageability@Intel@@
.?AVCIM_SharedCredential@Typed@Cim@Manageability@Intel@@
.?AVCIM_SoftwareElement@Typed@Cim@Manageability@Intel@@
.?AVCIM_SoftwareFeatureSoftwareElements@Typed@Cim@Manageability@Intel@@
.?AVCIM_SoftwareFeature@Typed@Cim@Manageability@Intel@@
.?AVCIM_SoftwareIdentity@Typed@Cim@Manageability@Intel@@
.?AVCIM_StatisticalData@Typed@Cim@Manageability@Intel@@
.?AVCIM_StorageExtent@Typed@Cim@Manageability@Intel@@
.?AVCIM_SystemBIOS@Typed@Cim@Manageability@Intel@@
.?AVCIM_SystemComponent@Typed@Cim@Manageability@Intel@@
.?AVCIM_SystemDevice@Typed@Cim@Manageability@Intel@@
.?AVCIM_SystemPackaging@Typed@Cim@Manageability@Intel@@
.?AVCIM_System@Typed@Cim@Manageability@Intel@@
.?AVCIM_UseOfLog@Typed@Cim@Manageability@Intel@@
.?AVCIM_Watchdog@Typed@Cim@Manageability@Intel@@
.?AVCIM_WiFiEndpointCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_WiFiEndpointSettings@Typed@Cim@Manageability@Intel@@
.?AVCIM_WiFiEndpoint@Typed@Cim@Manageability@Intel@@
.?AVCIM_WiFiPortCapabilities@Typed@Cim@Manageability@Intel@@
.?AVCIM_WiFiPort@Typed@Cim@Manageability@Intel@@
.?AVCIndependentVolumeMgr@@
.?AVCIndexItem@@
.?AVCIndexPowerSetting@@
.?AVCInformation@@
.?AVCInlineCommand@@
.?AVCInputRange@@
.?AVCInstanceProvider@@
.?AVCInstantOnAction@@
.?AVCInstantOnActionTypeRW@@
.?AVCInstantOnConfig@@
.?AVCInstantOnConfigTypeRW@@
.?AVCInstantOnLogger@@
.?AVCInstantOnSrvApp@@
.?AVCIntelCpLSPCONSvcModule@@
.?AVCIntelDspR0Calibration@@
.?AVCIntelDspR0CalibrationAcx@@
.?AVCIntelGraphicsPowerSettings@@
.?AVCIntelTurboBoost@@
.?AVCInternal@@
.?AVCInvalidArgException@@
.?AVCInvalidIndexItem@@
.?AVCInvalidTurboBoost@@
.?AVCInvalidValueItem@@
.?AVCIPMInfo@@
.?AVCISSCConfig@@
.?AVCISSCLogger@@
.?AVCJackImpedanceDetect@@
.?AVCJackInfo@@
.?AVCJackInfoRegWriter@@
.?AVCJackMgr@@
.?AVCJackMgrAcx@@
.?AVCJackRetaskCommandLineHelper@@
.?AVCJsonObject@@
.?AVCJsonParser@@
.?AVCKernelDll@@
.?AVCLabel@GamesGuide@@
.?AVCLidCloseActionPowerSetting@@
.?AVClientEventSink@Client@AppV@@
.?AVClientHost@Client@AppV@@
.?AVClientManager@Host@Client@AppV@@
.?AVClientManagerImpl@Host@Client@AppV@@
.?AV_CLinkInlineObject@CLinkNode@GamesGuide@@
.?AVCLinkNode@GamesGuide@@
.?AVCListBox@@
.?AVCListCtrl@@
.?AVCLogger@@
.?AVclone_base@exception_detail@boost@@
.?AVCLoopbackStreamStateDetectMgr@@
.?AVCloseUserInitiatedConnectionCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVCloseUserInitiatedConnectionRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVCLowLevelKeyboardEventNotify@@
.?AVCLSPCONSvcCOMChannel@@
.?AVCMainFrame@@
.?AVCManageability_Commands@@
.?AVCMappingGroup@@
.?AVCMappingInputTablet@@
.?AVCMappingOutputScreen@@
.?AVCMappingOutputTablet@@
.?AVCMappingSet@@
.?AVCMapPtrToPtr@@
.?AVCMapStringToPtr@@
.?AVCMapStrToPtr@@
.?AVCMapWordToOb@@
.?AVCMcAcpiWmi@@
.?AVCMCCS@@
.?AVCMDIChildWnd@@
.?AVCMDIChildWndEx@@
.?AVCMDIClientAreaWnd@@
.?AVCMDIFrameWnd@@
.?AVCMDIFrameWndEx@@
.?AVCMDITabProxyWnd@@
.?AVCmdLineExc@iusl@@
.?AVCmdLineProc@iusl@@
.?AVCMemDC@@
.?AVCMemFile@@
.?AVCMemoryException@@
.?AVCMenu@@
.?AVCMenuHash@@
.?AVCMessageFilter@WTL@@
.?AVCMessageLoop@WTL@@
.?AVCMessageMap@ATL@@
.?AVCMessageWindow@GamesGuide@@
.?AVCMFCAcceleratorKey@@
.?AVCMFCAcceleratorKeyAssignCtrl@@
.?AVCMFCAutoHideBar@@
.?AVCMFCAutoHideButton@@
.?AVCMFCBaseAccessibleObject@@
.?AVCMFCBaseTabCtrl@@
.?AVCMFCBaseToolBar@@
.?AVCMFCBaseVisualManager@@
.?AVCMFCButton@@
.?AVCMFCCaptionBar@@
.?AVCMFCCaptionButton@@
.?AVCMFCCaptionButtonEx@@
.?AVCMFCCaptionMenuButton@@
.?AVCMFCCmdUsageCount@@
.?AVCMFCColorBar@@
.?AVCMFCColorBarCmdUI@@
.?AVCMFCColorButton@@
.?AVCMFCColorDialog@@
.?AVCMFCColorMenuButton@@
.?AVCMFCColorPickerCtrl@@
.?AVCMFCColorPopupMenu@@
.?AVCMFCColorPropertySheet@@
.?AVCMFCControlBarImpl@@
.?AVCMFCControlContainer@@
.?AVCMFCControlRenderer@@
.?AVCMFCCustomColorsPropertyPage@@
.?AVCMFCCustomizeButton@@
.?AVCMFCCustomizeMenuButton@@
.?AVCMFCDisableMenuAnimation@@
.?AVCMFCDragFrameImpl@@
.?AVCMFCDropDownFrame@@
.?AVCMFCDropDownToolBar@@
.?AVCMFCDropDownToolbarButton@@
.?AVCMFCDynamicLayout@@
.?AVCMFCEditBrowseCtrl@@
.?AVCMFCFontComboBox@@
.?AVCMFCFontInfo@@
.?AVCMFCHeaderCtrl@@
.?AVCMFCImageEditorDialog@@
.?AVCMFCImageEditorPaletteBar@@
.?AVCMFCImagePaintArea@@
.?AVCMFCLinkCtrl@@
.?AVCMFCListCtrl@@
.?AVCMFCMaskedEdit@@
.?AVCMFCMenuBar@@
.?AVCMFCMenuButton@@
.?AVCMFCMousePropertyPage@@
.?AVCMFCOutlookBar@@
.?AVCMFCOutlookBarPane@@
.?AVCMFCOutlookBarPaneAdapter@@
.?AVCMFCOutlookBarPaneButton@@
.?AVCMFCOutlookBarScrollButton@@
.?AVCMFCOutlookBarTabCtrl@@
.?AVCMFCOutlookBarToolBar@@
.?AVCMFCPopupMenu@@
.?AVCMFCPopupMenuBar@@
.?AVCMFCPrintPreviewToolBar@@
.?AVCMFCPropertyGridCtrl@@
.?AVCMFCPropertyGridToolTipCtrl@@
.?AVCMFCPropertyPage@@
.?AVCMFCRibbonBaseElement@@
.?AVCMFCRibbonButton@@
.?AVCMFCRibbonButtonsGroup@@
.?AVCMFCRibbonCaptionButton@@
.?AVCMFCRibbonCategory@@
.?AVCMFCRibbonCmdUI@@
.?AVCMFCRibbonColorButton@@
.?AVCMFCRibbonColorMenuButton@@
.?AVCMFCRibbonDefaultPanelButton@@
.?AVCMFCRibbonEdit@@
.?AVCMFCRibbonGallery@@
.?AVCMFCRibbonGalleryIcon@@
.?AVCMFCRibbonKeyTip@@
.?AVCMFCRibbonLabel@@
.?AVCMFCRibbonLaunchButton@@
.?AVCMFCRibbonMainPanel@@
.?AVCMFCRibbonMiniToolBar@@
.?AVCMFCRibbonPanel@@
.?AVCMFCRibbonPanelMenu@@
.?AVCMFCRibbonPanelMenuBar@@
.?AVCMFCRibbonQuickAccessCustomizeButton@@
.?AVCMFCRibbonQuickAccessToolBar@@
.?AVCMFCRibbonRecentFilesList@@
.?AVCMFCRibbonRichEditCtrl@@
.?AVCMFCRibbonSeparator@@
.?AVCMFCRibbonSpinButtonCtrl@@
.?AVCMFCRibbonTab@@
.?AVCMFCRibbonUndoButton@@
.?AVCMFCShadowRenderer@@
.?AVCMFCShadowWnd@@
.?AVCMFCShellListCtrl@@
.?AVCMFCShellTreeCtrl@@
.?AVCMFCShowAllButton@@
.?AVCMFCSpinButtonCtrl@@
.?AVCMFCStandardColorsPropertyPage@@
.?AVCMFCTabButton@@
.?AVCMFCTabCtrl@@
.?AVCMFCTabDropTarget@@
.?AVCMFCTabInfo@@
.?AVCMFCTasksPane@@
.?AVCMFCTasksPaneFrameWnd@@
.?AVCMFCTasksPanePropertyPage@@
.?AVCMFCTasksPaneToolBar@@
.?AVCMFCTasksPaneToolBarCmdUI@@
.?AVCMFCToolBar@@
.?AVCMFCToolBarButton@@
.?AVCMFCToolBarButtonCustomizeDialog@@
.?AVCMFCToolBarButtonsListButton@@
.?AVCMFCToolBarCmdUI@@
.?AVCMFCToolBarColorButton@@
.?AVCMFCToolBarComboBoxButton@@
.?AVCMFCToolBarComboBoxEdit@@
.?AVCMFCToolBarDropSource@@
.?AVCMFCToolBarDropTarget@@
.?AVCMFCToolBarEditBoxButton@@
.?AVCMFCToolBarEditCtrl@@
.?AVCMFCToolBarFontComboBox@@
.?AVCMFCToolBarFontSizeComboBox@@
.?AVCMFCToolBarImages@@
.?AVCMFCToolBarMenuButton@@
.?AVCMFCToolBarMenuButtonsButton@@
.?AVCMFCToolBarNameDialog@@
.?AVCMFCToolBarsCommandsListBox@@
.?AVCMFCToolBarsCommandsPropertyPage@@
.?AVCMFCToolBarsCustomizeDialog@@
.?AVCMFCToolBarsKeyboardPropertyPage@@
.?AVCMFCToolBarsListCheckBox@@
.?AVCMFCToolBarsListPropertyPage@@
.?AVCMFCToolBarsMenuPropertyPage@@
.?AVCMFCToolBarsOptionsPropertyPage@@
.?AVCMFCToolBarsToolsPropertyPage@@
.?AVCMFCToolBarSystemMenuButton@@
.?AVCMFCToolTipCtrl@@
.?AVCMFCVisualManager@@
.?AVCMFCVisualManagerBitmapCache@@
.?AVCMFCVisualManagerBitmapCacheItem@CMFCVisualManagerBitmapCache@@
.?AVCMFCVisualManagerOffice2003@@
.?AVCMFCVisualManagerOffice2007@@
.?AVCMFCVisualManagerOfficeXP@@
.?AVCMFCZoomKernel@@
.?AVCMicEffectHelper@@
.?AVCMicrophone@@
.?AVCMicRtkWovSetting@@
.?AVCMiniDockFrameWnd@@
.?AVCMiniFrameWnd@@
.?AVCMinuteItem@@
.?AVCMMEndpointLineControl@@
.?AVCMMEndpointNotify@@
.?AVCMMEndpointNotify@FMAPO@@
.?AVCMMLineControl@@
.?AVCM_MMEndpointNotify@RpcServer@@
.?AVCMMPlatform@@
.?AVCMonitorInfo@@
.?AVCMotionSensor@@
.?AVCMouseManager@@
.?AVCMultiPaneFrameWnd@@
.?AVCMutex@@
.?AVCMyCommonDialog@@
.?AVCMyFontDialog@@
.?AVCMyOleInsertDialog@@
.?AVCMyPageSetupDialog@@
.?AVCMyPrintDlg@@
.?AVCNamedPipeHelper@@
.?AVCNamePipeComm@@
.?AVCNarrowGamut@@
.?AVCNewDevDll@@
.?AVCNewException@@
.?AVCNodeCollection@Xml@Util@Sharp@@
.?AVCNode@Xml@Util@Sharp@@
.?AVCNoiseReduction@@
.?AVCNoTrackObject@@
.?AVCNotSupportedException@@
.?AVCNtLayerProxy@@
.?AVCNvDrsSetting@@
.?AVCNvDrsSettingBinary@@
.?AVCNvDrsSettingData@@
.?AVCNvDrsSettingDataBinary@@
.?AVCNvDrsSettingDataDWORD@@
.?AVCNvDrsSettingDataQWORD@@
.?AVCNvDrsSettingDataString@@
.?AVCNvDrsSettingDataWString@@
.?AVCNvDrsSettingDWORD@@
.?AVCNvDrsSettingQWORD@@
.?AVCNvDrsSettingString@@
.?AVCNvDrsSettingWString@@
.?AVCNVIDIAOptimus@@
.?AVCNviException@NVI@Nvidia@@
.?AVCObArray@@
.?AVCObject@@
.?AVCObjPropDlg@@
.?AVCObList@@
.?AVcodecvt_base@std@@
.?AVcodecvt_error_cat@?A0xdd1f0aef@@
.?AVcodecvt_error_cat@?A0xed6c1cf5@@
.?AVcodegen_hlsl@@
.?AVcodegen@reshadefx@@
.?AVCOleClientItem@@
.?AVCOleCntrFrameWnd@@
.?AVCOleCntrFrameWndEx@@
.?AVCOleDataSource@@
.?AVCOleDialog@@
.?AVCOleDispatchImpl@@
.?AVCOleDocIPFrameWnd@@
.?AVCOleDocIPFrameWndEx@@
.?AVCOleDocument@@
.?AVCOleDropSource@@
.?AVCOleDropTarget@@
.?AVCOleException@@
.?AVCOleInsertDialog@@
.?AVCOleIPFrameWnd@@
.?AVCOleIPFrameWndEx@@
.?AVCOleStreamFile@@
.?AVcolor_start_formatter@details@spdlog@@
.?AVcolor_stop_formatter@details@spdlog@@
.?AV_com_error@@
.?AVCOMEventHandler@@
.?AVCOMException@@
.?AVComFilter@@
.?AVCommandDispatcher@intel_dal@@
.?AVCommandsServerSocketsWin32@intel_dal@@
.?AVCompositeDeepScanLine@Imf_2_2@@
.?AVCompositeLoggable@Logging@Nvidia@@
.?AVCompressor@Imf_2_2@@
.?AVConfigMemory@@
.?AVConfigMgmt@@
.?AVConfiguration@Uev@@
.?AVConfigurator@@
.?AVConfigurePackageData@Client@AppV@@
.?AVConfigurePackageGroupData@Client@AppV@@
.?AVConfigureServerPolicyData@Client@AppV@@
.?AVConfigUtil@Uev@@
.?AVConsoleLogger@nvc@@
.?AVConsoleLogOutlet@@
.?AVContextBase@details@Concurrency@@
.?AVContext@Concurrency@@
.?AVcontext_self_unblock@Concurrency@@
.?AVcontext_unblock_unbalanced@Concurrency@@
.?AVConvDgradKernelInfo@cask@@
.?AVConversionException@Exceptions@Manageability@Intel@@
.?AVConvertVhdModule@@
.?AVConvKernelInfo@cask@@
.?AVConvKernelInfoCuda@cask@@
.?AVConvolution@cask@@
.?AVConvolutionDgrad@cask@@
.?AVConvolutionWgrad@cask@@
.?AVConvWgradKernelInfo@cask@@
.?AVCooler@@
.?AVCoolerEvent@@
.?AVCoolerNvapi@@
.?AVCOpticalDrive@@
.?AVCOSVersion@@
.?AVCOutlookCustomizeButton@@
.?AVCOutlookOptionsDlg@@
.?AVCPaintDC@@
.?AVCPalette@@
.?AVCPane@@
.?AVCPaneContainer@@
.?AVCPaneContainerManager@@
.?AVCPaneDivider@@
.?AVCPaneFrameWnd@@
.?AVCPanel@GamesGuide@@
.?AVCPanelSelfRefresh@@
.?AVCPavpOsServices@@
.?AVCPen@@
.?AVCPenHandler@@
.?AVCPersistedDataPath@@
.?AVCpHeciSession@@
.?AVCpHeciSessionDirect@@
.?AVCPlatOrientationChangeDetection@@
.?AVCPngImage@@
.?AVCPointerArray@@
.?AVCPolicyElement@PolicyModel@@
.?AVCPolyTool@@
.?AVCPower@@
.?AVCPowerButtonAndLid@@
.?AVCPowerFeatures@@
.?AVCPowerMgrSetting@@
.?AVCPowerPlan@@
.?AVCPowerSchemeTable@@
.?AVCPowerSetting@@
.?AVCPowerSettingArray@@
.?AVCPreviewView@@
.?AVCPreviewViewEx@@
.?AVCPrintDialog@@
.?AVC_PrintDialogEx@@
.?AVCPrivacyMute@@
.?AVCPrivacyMuteMain@@
.?AVCPrivilegeCheck@GamesGuide@@
.?AVCProcessor@@
.?AVCPropertyPage@@
.?AVCPropertySheet@@
.?AVCProximitySensor@@
.?AVCPTHI_Commands@@
.?AVCPtrArray@@
.?AVCPtrList@@
.?AVCPwrMgrBrightness@@
.?AVCPwrMgrCtrl@@
.?AVCPwrMgrEventObserver@@
.?AVCPwrMgrExtDll@@
.?AVCPwrMgrExtDllAtm@@
.?AVCPwrMgrExtDllGSV@@
.?AVCPwrMgrExtDllNvapi@@
.?AVCPwrMgrExtDllOEMDsp@@
.?AVCPwrMgrExtDllPmpi@@
.?AVCPwrMgrExtDllPmpiForVista@@
.?AVCPwrMgrExtDllTppwr@@
.?AVCPwrMgrIBMPMDrv@@
.?AVCPwrMgrIBMPMSvc@@
.?AVCPwrMgrIBMPMSvcEvent@@
.?AVCPwrMgrInvalidBrightness@@
.?AVCPwrMgrLCDDrv@@
.?AVCPwrMgrOSBrightness@@
.?AVCPwrMgrPseAirplaneMode@@
.?AVCPwrMgrPseAutoOddDisabling@@
.?AVCPwrMgrPseC4@@
.?AVCPwrMgrPseCPUSpeed@@
.?AVCPwrMgrPseCPUSpeedforGSV@@
.?AVCPwrMgrPseCPUSpeedforWinXP@@
.?AVCPwrMgrPseCpuTurbo@@
.?AVCPwrMgrPseFANSpeed@@
.?AVCPwrMgrPseGpuSwitch@@
.?AVCPwrMgrPseIdleTime@@
.?AVCPwrMgrPseLCDBright@@
.?AVCPwrMgrPseLCDBrightIdle@@
.?AVCPwrMgrPseLCDBrightOS@@
.?AVCPwrMgrPseOptiScheme@@
.?AVCPwrMgrPseRefreshRateIdle@@
.?AVCPwrMgrPSExtItem@@
.?AVCPwrMgrSmapiBrightness@@
.?AVCPwrMgrWmiBrightness@@
.?AVCRadialControl@@
.?AVCRapidMemoryManagement@@
.?AVCRapidResumeAction@@
.?AVCRapidResumeConfig@@
.?AVCRapidResumeLogger@@
.?AVCRapidResumeNetProfileManager@@
.?AVCreateProcNotificationListener@Uev@@
.?AVCRecentDockSiteInfo@@
.?AVCRecentPaneContainerInfo@@
.?AVCRecordingDetectMgr@@
.?AVCRecordingIndicator@GamesGuide@@
.?AVCRecordingIndicatorGripper@GamesGuide@@
.?AVCRecordingManager@GamesGuide@@
.?AVCRectTool@@
.?AVCRectTracker@@
.?AVCRefCount@Util@Sharp@@
.?AVCRefInfoFrame@@
.?AVCRefListFrame@@
.?AVCRefrDlg@@
.?AVCRefrList@@
.?AVCRefrWnd@@
.?AVCRegAdvApiDll@@
.?AVCRegBinaryValue@@
.?AVCRegClient@@
.?AVCRegDwordValue@@
.?AVCRegistListBox@@
.?AVCRegistryOfVista@@
.?AVCRegKeyNotify@@
.?AVCRegObject@ATL@@
.?AVCRegPKeyReWriter@@
.?AVCRegQwordValue@@
.?AVCRegStringListValue@@
.?AVCRegStringValue@@
.?AVCRegularIndexItem@@
.?AVCRegularIndexPowerSetting@@
.?AVCRegularValueItem@@
.?AVCRegularValuePowerSetting@@
.?AVCRegValue@@
.?AVCResourceException@@
.?AVCResourceFontCollectionLoader@@
.?AVCResourceFontFileEnumerator@@
.?AVCResourceFontFileLoader@@
.?AVCResourceFontFileStream@@
.?AVCResourceIndexItem@@
.?AVCRgn@@
.?AVCRibbonCategoryScroll@@
.?AVCRibbonUndoLabel@@
.?AVCRichEditCtrl@@
.?AVCriticalSection@iusl@@
.?AVCRootView@GamesGuide@@
.?AVCRotateDlg@@
.?AVCRpcClientObject@@
.?AVCRpcServerHelper@@
.?AVCRtkAudioDriverEventMgr@@
.?AVCRtkAudioDriverHelper@@
.?AVCRtkAudioDriverHelperForNormalUser@@
.?AVCRtkAudioDriverInfo@@
.?AVCRtkAudUServiceCOMObject@@
.?AVCRtkAudUServiceCOMObjectFactory@@
.?AVCRtkAudUServiceCOMObjectInstance@@
.?AVCRtkAudUServiceCOMServer@@
.?AVCRtkBssGen4BtUsbApoChainModifier@@
.?AVCRtkBssGen4PresetLoader@@
.?AVCRtkCameraHumanPoseHelper@@
.?AVCRtkCameraMaskDetectHelper@@
.?AVCRtkEffectConditionsBase@@
.?AVCRtkSounzRealMgr@@
.?AVCRuleCondition@PolicyModel@@
.?AVCRule@PolicyModel@@
.?AVCS3D@@
.?AVCSampleService@@
.?AVCSandyBridgeTurboBoost@@
.?AVCSaturation@@
.?AVCScanCodeMgr@@
.?AVCSceneManager@GamesGuide@@
.?AVCScreenWnd@@
.?AVCScrollBar@@
.?AVCScrollView@@
.?AVCSCSIDevice@@
.?AVCSCSIDevices@@
.?AVCSDKStatus@@
.?AVCSecurityDesc@ATL@@
.?AVCSecuritySoftware@@
.?AVCSelectTool@@
.?AVCSensor@@
.?AVCSensorDll@@
.?AVCSensorManager@@
.?AVCSensorsMgr@@
.?AVCService@@
.?AVCServiceBase@@
.?AVCServiceEventNotify@@
.?AVCServiceMain@@
.?AVCSettingItem@@
.?AVCSettingsArray@@
.?AVCSettingsBool@@
.?AVCSettingsButton@GamesGuide@@
.?AVCSettingsBytes@@
.?AVCSettingsDouble@@
.?AVCSettingsInteger@@
.?AVCSettingsKEString@@
.?AVCSettingsMap@@
.?AVCSettingsNULL@@
.?AVCSettingsObject@@
.?AVCSettingsPanel@GamesGuide@@
.?AVCSettingsStore@@
.?AVCSettingsString@@
.?AVCSetupApiDll@@
.?AVCSharedFile@@
.?AVCSharedMemoryInstance@@
.?AVCSharpness@@
.?AVCSid@ATL@@
.?AVCSignalEvent@WinUtils@@
.?AVCSignalMutex@WinUtils@@
.?AVCSignalSemaphore@WinUtils@@
.?AVCSignalThread@WinUtils@@
.?AVCSimpleException@@
.?AVCSimpleOrientationSensorEvents@@
.?AVCSimpleOrientationSensorManagerEvents@@
.?AVCSingleDocTemplate@@
.?AVCSingleModeAccessor@@
.?AVCSingletonCriticalSection@@
.?AVCSizeComboBox@@
.?AVCSkinToneEnhancement@@
.?AVCSleep@@
.?AVCSmart2dDisplayTechnology@@
.?AVCSmartAmpHelper@@
.?AVCSmartDockingGroupGuide@@
.?AVCSmartDockingGroupGuidesManager@@
.?AVCSmartDockingGroupGuidesWnd@@
.?AVCSmartDockingHighlighterWnd@@
.?AVCSmartDockingInfo@@
.?AVCSmartDockingManager@@
.?AVCSmartDockingStandaloneGuide@@
.?AVCSmartDockingStandaloneGuideWnd@@
.?AVCSmartHibSvcApp@@
.?AVCSortedObList@@
.?AVCSoundAliveMgr@@
.?AVCSoundResearch@@
.?AVCSpeaker@@
.?AVCSpinButtonCtrl@@
.?AVCStandardColorCorrection@@
.?AVCStartupPanel@GamesGuide@@
.?AVCStateChangeDetection@@
.?AVCStatic@@
.?AVCStatusBar@@
.?AVCStdioFile@@
.?AVCStickyBugFloatingViewHost@GamesGuide@@
.?AVCStoreAppMgr@@
.?AVCStoryboard@@
.?AV_CStoryboardEventHandlerInternal@CStoryboard@@
.?AVCStreamPreview@GamesGuide@@
.?AVCStringArray@@
.?AVCStringList@@
.?AVCStringManager@@
.?AVCStringOb@@
.?AVCStyleBar@@
.?AVCSubGroup@@
.?AVCSunlightReadAbility@@
.?AVCSurfaceDolbyDSPControl@@
.?AVCSwitchableGraphics@@
.?AVCSyncObject@@
.?AVCTabbedPane@@
.?AVCTagManager@@
.?AVCTaskDialog@@
.?AVCTasksPaneHistoryButton@@
.?AVCTasksPaneMenuButton@@
.?AVCTasksPaneNavigateButton@@
.?AVCTestCmdUI@@
.?AVCTextEdit@@
.?AVCTheEventManager@@
.?AVCTheEventStatus@@
.?AVCTheIntelALSRadar@@
.?AVCTheIntelSmartFrame@@
.?AVCTheLaunchTimeEnhancer@@
.?AVCTileManagerCallbackDelegate@@
.?AVCTimerEventNotify@@
.?AVCTimerLabel@GamesGuide@@
.?AVCTipDrawer@GamesGuide@@
.?AVCToken@@
.?AVCTokenCollection@@
.?AVCToolBar@@
.?AVCToolTipCtrl@@
.?AVCToolTip@GamesGuide@@
.?AVCTotalColorCorrection@@
.?AVCTransducerButton@@
.?AVCTransducerID@@
.?AVCTravelLog@@
.?AVCTreeCtrl@@
.?AVCudaPlatform@cask@@
.?AVCUIASimpleProvider@GamesGuide@@
.?AVCUIntArray@@
.?AVCUltrabayDrive@@
.?AVCUltrabayDriveSharedInfo@@
.?AVCUnknown@@
.?AVCUNSAlert@@
.?AVCUserException@@
.?AVCUserTool@@
.?AVCustomActionPath@Uev@@
.?AVCustomActionSetting@Uev@@
.?AVCustomActionUri@Uev@@
.?AVCutlassGemmKernelInfo@cask@@
.?AVCutlassKernelInfo@cask@@
.?AVCutlassOccupancyProviderImpl@cask@@
.?AVCValueItem@@
.?AVCValuePowerSetting@@
.?AVCVideo@@
.?AVCVideoBIOS@@
.?AVCVideoColor@@
.?AVCVideoGamut@@
.?AVCVideoQuality@@
.?AVCVideoScaling@@
.?AVCView@@
.?AVCViewEdit@@
.?AVCView@GamesGuide@@
.?AVCVirtualDisplay@@
.?AVCVoipForForte@@
.?AVCVoipStreamCreationTimeMgr@@
.?AVCVolumeEventNotify@@
.?AVCVSListBox@@
.?AVCVSListBoxBase@@
.?AVCVSListBoxEditCtrl@@
.?AVCVSToolsListBox@@
.?AVCWacException@@
.?AVCWaitHandle@WinUtils@@
.?AVCWasapiPlayback@@
.?AVCWASAPIRenderer@@
.?AVCWebContentDetect@@
.?AVCWebContentDetectEdgeIe@@
.?AVCWestmereOrEarlierTurboBoost@@
.?AVCWideGamut@@
.?AVCWin32Heap@ATL@@
.?AVCWinApp@@
.?AVCWindow@ATL@@
.?AVCWindowDC@@
.?AVCWintabContext@@
.?AVCWintabManager@@
.?AVCWintabServer@@
.?AVCWintabSMInstance@CWintabServer@@
.?AVCWintabTransducer@@
.?AVCWinThread@@
.?AVCWmiBrightnessChanger@@
.?AVCWmiEventSink@@
.?AVCWnd@@
.?AVCWorkThreadBase@@
.?AVCWOVMgr@@
.?AVCWow64KernelDll@?A0x11375ac5@@
.?AVCXmlSerializer@PolicyModel@@
.?AVCxvYCC@@
.?AVCYCbCr@@
.?AVDataStorageWrapper@@
.?AVDataStorageWrapperImpl@@
.?AVDAXAPIImplement@@
.?AVDebugLogger@nvc@@
.?AVDebugLogOutlet@@
.?AVDebugOutputLogManager@Logging@Nvidia@@
.?AVdebugStreambuf@@
.?AVDeepCompositing@Imf_2_2@@
.?AVDeepScanLineInputFile@Imf_2_2@@
.?AV_DefaultPPLTaskScheduler@details@Concurrency@@
.?AVDeletePackageGroupStateData@Client@AppV@@
.?AVDeletePackageStateData@Client@AppV@@
.?AVDesigntimeException@@
.?AVDesktopManager@@
.?AVDeviceAdapter@desktop_application@@
.?AVDeviceEnumerator@desktop_application@@
.?AVDeviceEventDataBlock@@
.?AVDeviceManagerWrapper@iusl@@
.?AVDevicePairingLogging@@
.?AVDevicePairingWizardAppRunActivity@DevicePairingTelemetry@@
.?AVDirectoryEnumerator@nvc@@
.?AVDirectoryListenerBase@@
.?AVDirectoryListenerWin32@@
.?AVDiscoveryResponse@@
.?AVDISMEventHandler@@
.?AVDisplay@@
.?AVDisplayGrid@@
.?AVDisplayGridInfo@@
.?AVDisplayGridManagerNvapi@@
.?AVDisplayGridNvapi@@
.?AVDisplayManager@@
.?AVDisplayNvapi@@
.?AVDisplayPathManagerNvapi@@
.?AVDisplayPathNvapi@@
.?AVDisplayProfile@@
.?AVDisplayProfileManagerNvapi@@
.?AVDisplayProfileNvapi@@
.?AVDisplayTimingNvapi@@
.?AVDNameNode@@
.?AVDNameStatusNode@@
.?AVDocHostUIHandler@@
.?AVDolbyEndpointControl@@
.?AVdomain_error@std@@
.?AVDontUseNewUseMake@Details@WRL@Microsoft@@
.?AVDownloadManager@@
.?AVDriverEventListener@p2p_shortcut_service@@
.?AVDrsFileSession@@
.?AVDrsNvapi@@
.?AVDrsProfile@@
.?AVDrsSettingTableNvapi@@
A VDS hardware provider failed to initialize
.?AVDummyAtlModule@Service@Client@AppV@@
.?AVDuplicateTemplateException@Uev@@
.?AVDwaCompressor@Imf_2_2@@
.?AVDwordDelta@Impl@Service@Client@AppV@@
.?AVDwordValue@Impl@Service@Client@AppV@@
.?AVE2bigExc@Iex_2_2@@
.?AVEaccesExc@Iex_2_2@@
.?AVEaddrinuseExc@Iex_2_2@@
.?AVEaddrnotavailExc@Iex_2_2@@
.?AVEafnosupportExc@Iex_2_2@@
.?AVEagainExc@Iex_2_2@@
.?AVEalreadyExc@Iex_2_2@@
.?AVEbadfExc@Iex_2_2@@
.?AVEbadmsgExc@Iex_2_2@@
.?AVEbusyExc@Iex_2_2@@
.?AVEcanceledExc@Iex_2_2@@
.?AVEcc@@
.?AVEccNvapi@@
.?AVEchildExc@Iex_2_2@@
.?AVEconnabortedExc@Iex_2_2@@
.?AVEconnrefusedExc@Iex_2_2@@
.?AVEconnresetExc@Iex_2_2@@
.?AVEdeadlkExc@Iex_2_2@@
.?AVEdestaddrreqExc@Iex_2_2@@
.?AVEdomExc@Iex_2_2@@
.?AVEexistExc@Iex_2_2@@
.?AVEfaultExc@Iex_2_2@@
.?AVEfbigExc@Iex_2_2@@
.?AVEhostunreachExc@Iex_2_2@@
.?AVEidrmExc@Iex_2_2@@
.?AVEilseqExc@Iex_2_2@@
.?AVEinprogressExc@Iex_2_2@@
.?AVEintrExc@Iex_2_2@@
.?AVEinvalExc@Iex_2_2@@
.?AVEioExc@Iex_2_2@@
.?AVEisconnExc@Iex_2_2@@
.?AVEisdirExc@Iex_2_2@@
.?AVEkRecertificationUtils@@
.?AVEloopExc@Iex_2_2@@
.?AVEmfileExc@Iex_2_2@@
.?AVEmlinkExc@Iex_2_2@@
.?AVEmsgsizeExc@Iex_2_2@@
.?AVEnametoolongExc@Iex_2_2@@
.?AVEncoderSessions@@
.?AVEncoderSessionsNvapi@@
.?AVEndPointInfo@drivers_api@@
.?AVEnetdownExc@Iex_2_2@@
.?AVEnetresetExc@Iex_2_2@@
.?AVEnetunreachExc@Iex_2_2@@
.?AVEnfileExc@Iex_2_2@@
.?AVEnobufsExc@Iex_2_2@@
.?AVEnodataExc@Iex_2_2@@
.?AVEnodevExc@Iex_2_2@@
.?AVEnoentExc@Iex_2_2@@
.?AVEnoexecExc@Iex_2_2@@
.?AVEnolckExc@Iex_2_2@@
.?AVEnolinkExc@Iex_2_2@@
.?AVEnomemExc@Iex_2_2@@
.?AVEnomsgExc@Iex_2_2@@
.?AVEnoprotooptExc@Iex_2_2@@
.?AVEnospcExc@Iex_2_2@@
.?AVEnosrExc@Iex_2_2@@
.?AVEnostrExc@Iex_2_2@@
.?AVEnosysExc@Iex_2_2@@
.?AVEnotconnExc@Iex_2_2@@
.?AVEnotdirExc@Iex_2_2@@
.?AVEnotemptyExc@Iex_2_2@@
.?AVEnotsockExc@Iex_2_2@@
.?AVEnotsupExc@Iex_2_2@@
.?AVEnottyExc@Iex_2_2@@
.?AVEnterpriseClientManager@Host@Client@AppV@@
.?AVEnterpriseSubscriberImpl@Host@Client@AppV@@
.?AVEnterpriseWorkerStartupData@EnterpriseSubscriberImpl@Host@Client@AppV@@
.?AVEnxioExc@Iex_2_2@@
.?AVEopnotsuppExc@Iex_2_2@@
.?AVEoverflowExc@Iex_2_2@@
.?AVEpermExc@Iex_2_2@@
.?AVEpipeExc@Iex_2_2@@
.?AVEprotoExc@Iex_2_2@@
.?AVEprotonosupportExc@Iex_2_2@@
.?AVEprototypeExc@Iex_2_2@@
average_fps
Average FPS
Average FPS of all sessions running on the GPU.
average_latency
Average Latency
Average latency in microseconds of all sessions running on the GPU.
.?AVErangeExc@Iex_2_2@@
.?AVErofsExc@Iex_2_2@@
.?AVErrnoExc@Iex_2_2@@
.?AVerror_category@std@@
.?AVerror_category@system@boost@@
.?AVErrorCodeException@@
.?AVErrorLogger@Logging@Nvidia@@
.?AVEscapeHandler@@
.?AVEspipeExc@Iex_2_2@@
.?AVEsrchExc@Iex_2_2@@
.?AVETDGestureIcon@@
.?AVETDPromptPic@@
.?AVEtimedoutExc@Iex_2_2@@
.?AVEtimeExc@Iex_2_2@@
.?AVEtwLogOutlet@@
.?AVEtwLogWrapper@Util@@
.?AVEtxtbsyExc@Iex_2_2@@
.?AVEUDCEditorTelemetry@@
.?AVEUDCEditorTelemetryProvider@@
.?AVEventHandler@@
av_event_handler.hpp
.?AVEventHelper@@
.?AVEvent@iusl@@
.?AVEventLogger@@
.?AVEventManager@@
.?AVEventsFilter@@
.?AVEventSink@@
.?AVEvent@Wrappers@WRL@Microsoft@@
.?AVexception@@
.?AVException@@
.?AVexception@boost@@
.?AVexception@detail@nlohmann@@
.?AVException@Parser@Elmo@@
.?AV_ExceptionPtr_normal@?A0x6919528c@@
.?AV_ExceptionPtr_normal@?A0xc16bda6b@@
.?AVexception@std@@
.?AVException@StringUtil@Elmo@@
.?AVException@XmlElement@Elmo@@
.?AVExdevExc@Iex_2_2@@
.?AVExecutionResource@details@Concurrency@@
.?AVExternalContextBase@details@Concurrency@@
.?AV_Facet_base@std@@
.?AVfacet@locale@std@@
.?AVFactoryBase@Details@WRL@Microsoft@@
.?AVFailedTokenRequest@@
.?AVfailure@ios_base@std@@
.?AVFairScheduleGroup@details@Concurrency@@
.?AVFairScheduleGroupSegment@details@Concurrency@@
.?AVFFTChannel@@
.?AVFFTChannel@?A0x1a46068e@@
.?AVFFTChannelKissFFT@@
.?AVFFTChannelKissFFT@?A0x1a46068e@@
.?AVFFTChannelPDataKissFFT@@
.?AVFFTChannelPDataKissFFT@?A0x1a46068e@@
.?AVFFTChannelPersistentData@@
.?AVFFTChannelPersistentData@darkroom@@
.?AVFileACLException@@
.?AVFileBase@iusl@@
.?AVFileFormatException@@
.?AVFileInputStream@Elmo@@
.?AVFileIOException@Uev@@
.?AVFile@iusl@@
.?AVFileLogger@nvc@@
.?AVFileLogManager@Logging@Nvidia@@
.?AVfile_parser_error@property_tree@boost@@
.?AVFilePath@Uev@@
.?AVFileSetting@Uev@@
.?AVfilesystem_error@filesystem@boost@@
.?AVfilesystem_error@filesystem@std@@
.?AVFirstLevelContentsPrinter@Logging@Nvidia@@
.?AVFirstService@@
.?AVflag_formatter@details@spdlog@@
.?AVformat_error@io@boost@@
.?AVformat_error@std@@
.?AVformat_error@v6@fmt@@
.?AVformatter@spdlog@@
.?AVFreeThreadProxy@details@Concurrency@@
.?AVFreeThreadProxyFactory@details@Concurrency@@
.?AVFreeVirtualProcessorRoot@details@Concurrency@@
.?AVFsException@common@fs@microsoft@@
.?AVfta_rpc_server@@
.?AVfta_shell_notify_task@fta@AppV@@
.?AVFtmBaseMarker@Details@WRL@Microsoft@@
.?AVFtmBase@WRL@Microsoft@@
.?AVfull_formatter@details@spdlog@@
.?AV_Future_error_category2@std@@
.?AVfuture_error@std@@
.?AVFWInfoWin32@intel_dal@@
.?AVFWInfoWin32Sockets@intel_dal@@
.?AVFWUGetInfoCommand@FWUpdate_Client@MEI_Client@Intel@@
.?AVFWUGetInfoRequest@FWUpdate_Client@MEI_Client@Intel@@
.?AVFWUpdateCommand@FWUpdate_Client@MEI_Client@Intel@@
.?AVFWUpdateCommandRequest@FWUpdate_Client@MEI_Client@Intel@@
.?AVFWUpdateErrorException@FWUpdate_Client@MEI_Client@Intel@@
.?AVfwupd_category_t@FWUpdate_Client@MEI_Client@Intel@@
.?AVGdiplusBase@Gdiplus@@
.?AVGemm@cask@@
.?AVGemmImpl@cask@@
.?AVGemmKernelInfo@cask@@
.?AVGeneralWsmanException@WsmanExceptionNamespace@@
.?AVgeneric_error_category@?A0x0885deab@system@boost@@
.?AVgeneric_error_category@?A0x90fe97d7@system@boost@@
.?AV_Generic_error_category@std@@
.?AVGenericInputFile@Imf_2_2@@
.?AVGenericOutputFile@Imf_2_2@@
.?AVGetAMTStateCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetAMTStateRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetCodeVersionCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetCodeVersionRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetCurrentPowerPolicyCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetCurrentPowerPolicyRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetDNSSuffixListCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetDNSSuffixListRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetEACStateCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetEACStateRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetEOPStateCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetEOPStateRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWCapsCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWCapsRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWUpdateStateCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWUpdateStateRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWVersionCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetFWVersionRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetImageFWVersionCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetImageFWVersionRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetImageTypeCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetImageTypeRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetIPv6LanInterfaceStatusCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetIPv6LanInterfaceStatusRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLanInterfaceSettingRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLanInterfaceSettingsCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLastHostResetReasonCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLastHostResetReasonRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLocalSystemAccountCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLocalSystemAccountRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetLowAccuracyTimeSynch_OUTPUT@AMT_TimeSynchronizationService@Typed@Cim@Manageability@Intel@@
.?AVGetMeasuredBootStateCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetMeasuredBootStateRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetPackageGUIDsFromURLData@Client@AppV@@
.?AVGetPackageStreamingAttributesData@Client@AppV@@
.?AVGetPlatformTypeCommand@MKHI_Client@MEI_Client@Intel@@
.?AVGetPlatformTypeRequest@MKHI_Client@MEI_Client@Intel@@
.?AVGetProvisioningStateCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetProvisioningStateRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetRedirectionSessionsStateCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetRedirectionSessionsStateRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetRemoteAccessConnectionStatusCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetRemoteAccessConnectionStatusRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetSystemDefenseStateCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetSystemDefenseStateRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetUserInitiatedEnabledInterfacesCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetUserInitiatedEnabledInterfacesRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVGetUserSidException@Uev@@
.?AVGetUUIDCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVGetUUIDRequest@AMTHI_Client@MEI_Client@Intel@@
avg_exclude_padding
.?AVGlobalMutex@iusl@@
.?AVGlobals@@
.?AVGMS_AlertIndication@@
.?AVGMSConfig@@
.?AVGmsService@@
.?AVGmsSubService@@
.?AVGpu@@
.?AVGpuNvapi@@
.?AVGraphShader@cask@@
.?AVHasCritSec@NVI@Nvidia@@
.?AVHBPWSManClient@@
.?AVHdcpOsServices@@
.?AVHDMIAdaptation@@
.?AVHECI@@
.?AVHeciCallerBase@iusl@@
.?AVheci_category_t@MEI_Client@Intel@@
.?AVHECIException@MEI_Client@Intel@@
.?AVHeciNoClientException@MEI_Client@Intel@@
.?AVHeciServerBase@@
.?AVHeciWin@@
.?AVHistoryEventHandler@@
.?AVHostBase@nvc@@
.?AVHostBootReasonClient@@
.?AVHostChangesNotificationService@@
.?AVHostDirectoryEnumerator@nvc@@
.?AVHostRouterInfo@drivers_api@@
.?AVHostRouter@p2p_shortcut_service@@
.?AVHostRoutersAdapter@p2p_shortcut_service@@
.?AVHostWin32@nvc@@
.?AVhotham_category_t@HOTHAM_Client@MEI_Client@Intel@@
.?AVHOTHAMCommand@HOTHAM_Client@MEI_Client@Intel@@
.?AVHOTHAMCommandRequest@HOTHAM_Client@MEI_Client@Intel@@
.?AVHOTHAMErrorException@HOTHAM_Client@MEI_Client@Intel@@
.?AVHTMGetFatalErrorsCommand@HOTHAM_Client@MEI_Client@Intel@@
.?AVHTMGetFatalErrorsRequest@HOTHAM_Client@MEI_Client@Intel@@
.?AVHtmlEvents@WebUIController@@
.?AVHttpException@@
.?AVHTTPException@Exceptions@Manageability@Intel@@
.?AVHttpSecurity@@
.?AVHttpWebRequest@@
.?AVHttpWebSession@@
.?AVIADSMethods@Uev@@
.?AVIApplication@nsApiShim@@
.?AVIAsarParamsWriter@AsarComponent@@
.?AVIBoardShim@nsApiShim@@
.?AVICallbackOwner@common_frameworks@@
.?AVIChatListener@Chat@GamesGuide@@
.?AVICimWsmanClient@WSManagement@Intel@@
.?AViclsClientCaller@@
.?AVIclsClientLoader@@
.?AVIclsClientLoaderBase@@
.?AVICommandDispatcher@intel_dal@@
.?AVICommandsServer@intel_dal@@
.?AVICompositionLayerMask@@
.?AVIConfig@@
.?AVICoolerShim@nsApiShim@@
.?AVIDesktopEventHandler@@
.?AVIDeviceAdapter@desktop_application@@
.?AVIDeviceEnumerator@desktop_application@@
.?AV_IDispEvent@ATL@@
.?AVIDisplayGridManager@nsApiShim@@
.?AVIDisplayGridShim@nsApiShim@@
.?AVIDisplayPathManagerShim@nsApiShim@@
.?AVIDisplayPathShim@nsApiShim@@
.?AVIDisplayProfileManager@nsApiShim@@
.?AVIDisplayProfileShim@nsApiShim@@
.?AVIDisplayShim@nsApiShim@@
.?AVIDisplayTimingManager@nsApiShim@@
.?AVIDriverApiData@drivers_api@@
.?AVIDriverEventListener@p2p_shortcut_service@@
.?AVIDrsShim@nsApiShim@@
.?AVIdTokenParseException@IdToken@@
.?AVIEccShim@nsApiShim@@
.?AVIEkRecertificationUtils@@
.?AVIEncoderSessionsShim@nsApiShim@@
.?AVIEndpointNotification@@
.?AVIEventHandler@@
.?AVIEvents@WebUIController@@
.?AVIEvents@WebUITokenRequest@@
.?AVIFirmwareInfo@intel_dal@@
.?AVIFvePolicyReader@@
.?AVIGamePanelCountdownHandler@@
.?AVIGamePanelDelegate@GamesGuide@@
.?AVIGpuShim@nsApiShim@@
.?AVIHeciCaller@iusl@@
.?AVIHostRoutersAdapter@p2p_shortcut_service@@
.?AVIiclsClientCaller@@
.?AVIImageConsumer@Chat@GamesGuide@@
.?AVIImageProvider@Chat@GamesGuide@@
.?AVIImageSource@ChatDetails@GamesGuide@@
.?AVIInputHandler@GamesGuide@@
.?AViinput_stream@common_frameworks@@
.?AVILogContext@@
.?AVILogger@@
.?AVILogger@Util@@
.?AVILogManager@Logging@Nvidia@@
.?AVILogPrinter@Logging@Nvidia@@
.?AVImage@Gdiplus@@
.?AVIMessageSender@Uev@@
.?AVIMessageWindowHandler@GamesGuide@@
.?AVImpersonator@Client@AppV@@
.?AVimproper_lock@Concurrency@@
.?AVimproper_scheduler_attach@Concurrency@@
.?AVimproper_scheduler_reference@Concurrency@@
.?AVIMSSFilter@@
.?AVInputBufferStream@common_frameworks@@
.?AVInputExc@Iex_2_2@@
.?AVInputFile@Imf_2_2@@
.?AVInstanceProvider@@
.?AVIntegerException@@
.?AVIntegerOverflowException@@
.?AVInterDomainConnectionInfo@drivers_api@@
.?AVInternalContextBase@details@Concurrency@@
.?AVInternetSecurityManager@@
.?AV_Interruption_exception@details@Concurrency@@
.?AVInvalidArgumentException@Uev@@
.?AVinvalid_argument@std@@
.?AVInvalidCacheDataException@@
.?AVInvalidCallException@@
.?AVInvalidHandleException@@
.?AVInvalidHResultException@Uev@@
.?AVInvalidInputError@iusl@@
.?AVinvalid_iterator@detail@nlohmann@@
.?AVInvalidMessageException@iclsUtils@@
.?AVinvalid_operation@Concurrency@@
.?AVinvalid_option_format_error@cxxopts@@
.?AVinvalid_oversubscribe_operation@Concurrency@@
.?AVinvalid_policy_element_exception@@
.?AVinvalid_scheduler_policy_key@Concurrency@@
.?AVinvalid_scheduler_policy_thread_specification@Concurrency@@
.?AVinvalid_scheduler_policy_value@Concurrency@@
.?AVInvalidTemplateException@Uev@@
.?AVInvalidXmlException@Uev@@
.?AVINviewShim@nsApiShim@@
.?AVIoExc@Iex_2_2@@
.?AVios_base@std@@
.?AV_Iostream_error_category2@std@@
.?AV_Iostream_error_category@std@@
.?AVIPCSender@Uev@@
.?AVIPERMutex@IntelPTTEKRecertificationMutex@@
.?AVIPRefreshService@@
.?AVIPreTranslateKeyboard@@
.?AVIProcessUtilizationShim@nsApiShim@@
.?AVIProfileManager@nsApiShim@@
.?AVIProfile@nsApiShim@@
.?AVIPS_8021xCredentialContext@Typed@Cim@Manageability@Intel@@
.?AVIPS_AdminProvisioningRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_AlarmClockOccurrence@Typed@Cim@Manageability@Intel@@
.?AVIPS_ClientProvisioningRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_DALProvisioningRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_HostBasedSetupService@Typed@Cim@Manageability@Intel@@
.?AVIPS_HostBootReason@Typed@Cim@Manageability@Intel@@
.?AVIPS_HostIPSettings@Typed@Cim@Manageability@Intel@@
.?AVIPSIderSessionUsingPortClient@@
.?AVIPS_IderSessionUsingPort@Typed@Cim@Manageability@Intel@@
.?AVIPS_IEEE8021xSettings@Typed@Cim@Manageability@Intel@@
.?AVIPS_IPv6PortSettings@Typed@Cim@Manageability@Intel@@
.?AVIPS_KVMRedirectionSettingData@Typed@Cim@Manageability@Intel@@
.?AVIPSKVMSessionUsingPortClient@@
.?AVIPS_KvmSessionUsingPort@Typed@Cim@Manageability@Intel@@
.?AVIPS_LANEndpoint@Typed@Cim@Manageability@Intel@@
.?AVIPS_ManualProvisioningRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_OptInService@Typed@Cim@Manageability@Intel@@
.?AVIPS_PowerManagementCapabilities@Typed@Cim@Manageability@Intel@@
.?AVIPS_PowerManagementService@Typed@Cim@Manageability@Intel@@
.?AVIPS_ProvisioningAuditRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_ProvisioningRecordLog@Typed@Cim@Manageability@Intel@@
.?AVIPS_RasSessionUsingPort@Typed@Cim@Manageability@Intel@@
.?AVIPS_ScreenConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVIPS_ScreenSettingData@Typed@Cim@Manageability@Intel@@
.?AVIPS_SecIOService@Typed@Cim@Manageability@Intel@@
.?AVIPS_SessionUsingPort@Typed@Cim@Manageability@Intel@@
.?AVIPSSolSessionUsingPortClient@@
.?AVIPS_SolSessionUsingPort@Typed@Cim@Manageability@Intel@@
.?AVIPS_TLSProvisioningRecord@Typed@Cim@Manageability@Intel@@
.?AVIPS_WatchDogAction@Typed@Cim@Manageability@Intel@@
.?AVIRemoteStore@Uev@@
.?AVIRunning@iusl@@
.?AVISafeCallback@common_frameworks@@
.?AVIServerConfiguration@Configurations@Publishing@Client@AppV@@
.?AVIServicesManager@@
.?AVISettingCache@Impl@Service@Client@AppV@@
.?AVISettingDelta@Client@AppV@@
.?AVISetting@nsApiShim@@
.?AVISettingSender@Impl@Service@Client@AppV@@
.?AVISettingsManager@@
.?AVISettingTableShim@nsApiShim@@
.?AVIShareMemoryObserver@@
.?AVIStream@Imf_2_2@@
.?AVISyncShim@nsApiShim@@
.?AVITemplateAdministrator@Uev@@
.?AVITemplateManager@Uev@@
.?AVITemplate@Uev@@
.?AVIThermalShim@nsApiShim@@
.?AVITosAcceptHandler@GamesGuide@@
.?AVITpmHelper@@
.?AVITpmTctiInitializer@intelpttekrecertification@@
.?AVIXmlReader@intel_dal@@
.?AVJobErrorException@@
.?AVJsonArray@@
.?AVJsonException@@
.?AVJsonFileStorage@nvc@@
.?AVJsonObject@@
.?AVjson_parser_error@json_parser@property_tree@boost@@
.?AVJsonPrimitive@@
.?AVJsonSettingsManager@@
.?AVJsonValue@@
.?AVKernelInfo@cask@@
.?AVKernelInfoCuda@cask@@
.?AVKernelInfoDefault@cask@@
.?AVKernelInfoExt@cask@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s10@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s11@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s12@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s13@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s14@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s15@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s16@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s17@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s18@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s19@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s1@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s20@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s21@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s22@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s23@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s24@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s25@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s26@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s27@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s28@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s29@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s2@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s30@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s31@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s32@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s33@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s34@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s35@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s36@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s3@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s4@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s5@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s6@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s7@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s8@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_fprop_s9@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s10@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s11@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s12@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s13@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s14@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s15@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s16@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s17@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s18@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s1@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s2@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s3@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s4@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s5@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s6@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s7@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s8@bladeworks@@
.?AVkernel_info_impl@cutlass_image_network_first_layer_hmma_wgrad_s9@bladeworks@@
.?AVKMD_ESCAPE_CONTEXT@@
.?AVKVMScreenSettingClient@@
.?AVKVMWSManClient@@
.?AVLastService@@
.?AVlength_error@std@@
.?AVLineBufferTask@?A0x1f08d5df@Imf_2_2@@
.?AVLineBufferTask@?A0x396e3b62@Imf_2_2@@
.?AVLineBufferTask@?A0x52299d63@Imf_2_2@@
.?AVLineBufferTask@?A0x89d53d7a@Imf_2_2@@
.?AVLineBufferTask@?A0xae1112d7@Imf_2_2@@
.?AVLineBufferTask@?A0xdaddf394@Imf_2_2@@
.?AVLineBufferTaskIIF@?A0x396e3b62@Imf_2_2@@
.?AVLineBufferTaskIIF@?A0xae1112d7@Imf_2_2@@
.?AVLineCompositeTask@?A0x17364370@Imf_2_2@@
.?AVLineCompositeTask@?A0xcccae369@Imf_2_2@@
.?AVLMS_Thread_Impl@@
.?AV_Locimp@locale@std@@
.?AVLockedException@iusl@@
.?AVlock_error@boost@@
.?AVLog@AppV@@
.?AVLogContentsPrinter@Logging@Nvidia@@
.?AVLogFormatter@AppV@@
.?AVLoggable@Logging@Nvidia@@
.?AVLoggerException@@
.?AVLogger@nvc@@
.?AVlogger@spdlog@@
.?AVlogic_error@std@@
.?AVLogicExc@Iex_2_2@@
.?AVLogItem@@
.?AVLogOutlet@@
.?AVLogSink@@
.?AVLossyDctDecoderBase@DwaCompressor@Imf_2_2@@
.?AVLossyDctDecoderCsc@DwaCompressor@Imf_2_2@@
.?AVLossyDctDecoder@DwaCompressor@Imf_2_2@@
.?AVLossyDctEncoderBase@DwaCompressor@Imf_2_2@@
.?AVLossyDctEncoderCsc@DwaCompressor@Imf_2_2@@
.?AVLossyDctEncoder@DwaCompressor@Imf_2_2@@
.?AVMalCommandLocal@iusl@@
.?AVMathExc@Iex_2_2@@
.?AVmei_category_t@MEI_Client@Intel@@
.?AVMEIClientException@MEI_Client@Intel@@
.?AVMEIClientExceptionZeroBuffer@MEI_Client@Intel@@
.?AVMEICommand@MEI_Client@Intel@@
.?AVMEICommandRequest@MEI_Client@Intel@@
.?AVMEICommandResponse@MEI_Client@Intel@@
.?AVMeiException@iusl@@
.?AVMessageView@ChatDetails@GamesGuide@@
.?AVmissing_argument_exception@cxxopts@@
.?AVMissingFileError@@
.?AVmissing_wait@Concurrency@@
.?AVmkhi_category_t@MKHI_Client@MEI_Client@Intel@@
.?AVMKHICommand@MKHI_Client@MEI_Client@Intel@@
.?AVMKHICommandRequest@MKHI_Client@MEI_Client@Intel@@
.?AVMKHIErrorException@MKHI_Client@MEI_Client@Intel@@
.?AVMode@@
.?AVModuleBase@Details@WRL@Microsoft@@
.?AVModule@Com@@
.?AVMultiPartInputFile@Imf_2_2@@
.?AVMultistringDelta@Impl@Service@Client@AppV@@
.?AVMultistringValue@Impl@Service@Client@AppV@@
.?AVMultiWaitBlock@details@Concurrency@@
.?AVMutex@IlmThread_2_2@@
.?AVMutex@iusl@@
.?AVMyException@@
.?AVNamedCallContextActivity@Reliability@Providers@TraceLog@@
.?AVNamedObject@@
.?AVnested_scheduler_missing_detach@Concurrency@@
.?AV_Node_assert@std@@
.?AV_Node_back@std@@
.?AV_Node_base@std@@
.?AV_Node_capture@std@@
.?AV_Node_end_group@std@@
.?AV_Node_endif@std@@
.?AV_Node_end_rep@std@@
.?AV_Node_if@std@@
.?AV_Node_rep@std@@
.?AVNoImplExc@Iex_2_2@@
.?AVNoMessagesView@ChatDetails@GamesGuide@@
.?AVNonCopyable@@
.?AVnoncopyable@noncopyable_@boost@@
.?AV__non_rtti_object@std@@
.?AVNotificationListener@Uev@@
.?AVNotificationManagerImpl@Service@Client@AppV@@
.?AVNotificationManager@Service@Client@AppV@@
.?AVNotImplementedException@@
.?AVNotImplementedException@Uev@@
.?AVNullLogger@nvc@@
.?AVNULL_Time_Policy@@
.?AVNviewShim@@
.?AVOAuthResponse@@
.?AVOAuthTokenRequestBase@@
.?AVOccupancyProviderImpl@cask@@
avoluteCert
.?AVOpaqueAttribute@Imf_2_2@@
.?AVOpenUserHiveException@Uev@@
.?AVOpenUserInitiatedConnectionCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVOpenUserInitiatedConnectionRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVOpenWsmanClient@WsmanClientNamespace@@
.?AVOperation@cask@@
.?AVOptionException@cxxopts@@
.?AVoption_exists_error@cxxopts@@
.?AVoption_not_exists_exception@cxxopts@@
.?AVoption_not_present_exception@cxxopts@@
.?AVOptionParseException@cxxopts@@
.?AVoption_requires_argument_exception@cxxopts@@
.?AVOptionSpecException@cxxopts@@
.?AVoption_syntax_exception@cxxopts@@
.?AVOStream@Imf_2_2@@
.?AVother_error@detail@nlohmann@@
.?AVout_of_range@detail@nlohmann@@
.?AVout_of_range@std@@
.?AVOutputFile@Imf_2_2@@
.?AVoverflow_error@std@@
.?AVOverflowExc@Iex_2_2@@
.?AVOverlapLimitsWmi@@
.?AVP2pShortcut@p2p_shortcut_service@@
.?AVPackageCancelLoadData@Client@AppV@@
.?AVPackageLoadData@Client@AppV@@
.?AVPackageLoadRangesData@Client@AppV@@
.?AVPackageManagerException@Uev@@
.?AVpairNode@@
.?AVparse_error@detail@nlohmann@@
.?AVparse_error@rapidxml@@
.?AVParseException@Uev@@
.?AVPartialFWUpdateEventsFilter@@
.?AVPartialFWUpdateService@@
.?AVPath@Uev@@
.?AVpattern_formatter@spdlog@@
.?AVpcharNode@@
.?AVPcieLink@@
.?AVpDNameNode@@
.?AVPersonation@Client@AppV@@
.?AVPFWUpdateDllWrapper@@
.?AVPFWUpdateDllWrapperLegacy@@
.?AVPFWUpdateDllWrapperME11@@
.?AVPFWUpdateDllWrapperME12@@
.?AVPFWUpdateDllWrapperME16@@
.?AVPizCompressor@Imf_2_2@@
.?AVplaceholder@any@boost@@
.?AVPlatform@cask@@
.?AVPlatformLicenseManager@PlatformLicenseManagerService@@
.?AVPlatformLicenseManagerProcessException@PlatformLicenseManagerService@@
.?AVPolicy@ACE_Event_Handler@@
.?AVpolicy_model_exception@@
.?AVPoolingFwdFP16x2Shader@cask@@
.?AVPoolingFwdFP16x8NHWCShader@cask@@
.?AVPoolingFwdINT8x32Shader@cask@@
.?AVPoolingFwdINT8x4Shader@cask@@
.?AVPoolingKernelInfo@cask@@
.?AVPoolingKernelInfoCuda@cask@@
.?AVPoolingOperation@cask@@
.?AVPoolingShader@cask@@
.?AVPortForwardingService@@
.?AVPortForwardingStoppedBlock@@
.?AVPowerEventData@Client@AppV@@
.?AVPowerEventFilter@@
.?AVPowerManagementCapabilitiesClient@@
.?AVPowerOperationsService@@
.?AVPpApiControler@@
.?AVPPAPIControlerByAudioModule@@
.?AVPresenceWriter@Internal@PresenceServer@GameBar@Gaming@Windows@@
.?AVPresenceWriterManager@Internal@PresenceServer@GameBar@Gaming@Windows@@
.?AVProcessUtilization@@
.?AVProcessUtilizationNvapi@@
.?AVproductionSlapiProxy@SlapiWrapper@Shared@AppMan@@
.?AVProfile@@
.?AVProfileBase@@
.?AVProfileConfigurationException@Uev@@
.?AVProfileManager@@
.?AVProfileManagerShim@@
.?AVProfileShim@@
.?AVProfile@Uev@@
.?AVProgramCharacteristicsHelperException@Uev@@
.?AVPropVaraintConverter@@
.?AVPropVaraintConverterV_3_2@@
.?AVPropVaraintConverterV_3_3@@
.?AVPropVaraintConverterV_3_4@@
.?AVPropVaraintConverterV_3_5@@
.?AVPropVaraintConverterV_3_6@@
.?AVptime@posix_time@boost@@
.?AVptree_bad_data@property_tree@boost@@
.?AVptree_bad_path@property_tree@boost@@
.?AVptree_error@property_tree@boost@@
.?AVPublishPackageData@Client@AppV@@
.?AVPublishPackageGroupData@Client@AppV@@
.?AVPublishRefreshData@Client@AppV@@
.?AVPxr24Compressor@Imf_2_2@@
AvQuerySystemResponsiveness
.?AVrange_error@std@@
.?AVRawElementProviderSimple@?A0xe17e2f02@GamesGuide@@
.?AVReadRecords_INPUT@AMT_AuditLog@Typed@Cim@Manageability@Intel@@
.?AVReadRecords_OUTPUT@AMT_AuditLog@Typed@Cim@Manageability@Intel@@
.?AVRealizedChore@details@Concurrency@@
.?AV_Ref_count_base@std@@
.?AV_RefCounter@details@Concurrency@@
.?AVReference_Counting_Policy@ACE_Event_Handler@@
.?AVRefreshTokenCache@@
.?AVRefreshTokenRequest@@
.?AVregex_error@std@@
.?AVRegistryException@Logging@Nvidia@@
.?AVRegistryPath@Uev@@
.?AVRegistrySetting@Uev@@
.?AVRegistryStorage@@
.?AVRegistryStorage@nvc@@
.?AVReintegratePackageData@Client@AppV@@
.?AVReliability@Providers@TraceLog@@
.?AVRemovePackageData@Client@AppV@@
.?AVRemovePackageGroupData@Client@AppV@@
.?AVRepository@Uev@@
.?AVResourceException@@
.?AVResourceLoader@@
.?AVResourceManager@details@Concurrency@@
.?AVResourceMissingException@@
.?AVResultException@wil@@
AvRevertMmThreadCharacteristics
.?AVRleCompressor@Imf_2_2@@
.?AVRoamingProfile@Uev@@
.?AVRollingDateFileLogOutlet@@
.?AVRollingFileLogOutlet@@
.?AV_Root_node@std@@
.?AVRpcServer@ShellExtensions@Subsystem@AppV@@
AVRT.dll
.?AVRuntimeClassBase@Details@WRL@Microsoft@@
.?AVruntime_error@std@@
.?AVSafeIntException@utilities@msl@@
.?AVSAMLAssertionTokenRequest@@
.?AVSassGemmKernelInfo@cask@@
.?AVSassOccupancyProviderImpl@cask@@
.?AVScanLineInputFile@Imf_2_2@@
.?AVScheduleGroupBase@details@Concurrency@@
.?AVScheduleGroup@Concurrency@@
.?AVScheduleGroupSegmentBase@details@Concurrency@@
.?AVSchedulerBase@details@Concurrency@@
.?AVScheduler@Concurrency@@
.?AVSchedulerProxy@details@Concurrency@@
.?AVscheduler_resource_allocation_error@Concurrency@@
.?AVscheduler_worker_creation_error@Concurrency@@
.?AVscope_guard_func@utility@appv@@
.?AVScopeTracker@AppV@@
.?AVScopeTracker@Uev@@
.?AVsddl_compiler_exception@@
.?AVSemaphore@IlmThread_2_2@@
.?AVServerConfiguration@Configurations@Publishing@Client@AppV@@
.?AVServiceBase@service_common@@
.?AVServiceException@@
.?AVServiceHost@nvc@@
.?AVServiceNamesList@@
.?AVServiceProvider@@
.?AVServicesBatchCommand@@
.?AVServicesBatchResumeCommand@@
.?AVServicesBatchStartCommand@@
.?AVServicesBatchStopCommand@@
.?AVServicesBatchSuspendCommand@@
.?AVServiceStatus@@
.?AVSession@Host@Client@AppV@@
.?AVSessionImpl@Host@Client@AppV@@
.?AVSessionQueueEntry@Host@Client@AppV@@
.?AVSessionQueueEntryImpl@Host@Client@AppV@@
.?AVSessionQueue@Host@Client@AppV@@
.?AVSessionQueueImpl@Host@Client@AppV@@
.?AVSetEnterpriseAccessCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVSetEnterpriseAccessRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVSetHighAccuracyTimeSynch_INPUT@AMT_TimeSynchronizationService@Typed@Cim@Manageability@Intel@@
.?AVSetHostFQDNCommand@AMTHI_Client@MEI_Client@Intel@@
.?AVSetHostFQDNRequest@AMTHI_Client@MEI_Client@Intel@@
.?AVSetLinkPreference_INPUT@AMT_EthernetPortSettings@Typed@Cim@Manageability@Intel@@
AvSetMmThreadCharacteristicsA
AvSetMmThreadCharacteristicsW
AvSetMmThreadPriority
.?AVSetting@@
.?AVSettingBase@Uev@@
.?AVSettingChangeData@Client@AppV@@
.?AVSettingInfoWmi@@
.?AVSettingManager@Impl@Service@Client@AppV@@
.?AVSettingShim@@
.?AVSettingsStorage@nvc@@
.?AVSettingTable@@
.?AVShader@cask@@
.?AVSharedMemoryController@@
.?AVSharedMemoryControllerAudio@@
.?AVSharedStaticIPEventFilter@@
.?AVSharedStaticIPService@@
.?AVShellExtensionShellNotifyTask@ShellExtensions@Subsystem@AppV@@
.?AVshortcut_rpc_server@@
.?AVshortcut_shell_notify_task@shortcut@AppV@@
.?AVShortcutsManager@p2p_shortcut_service@@
.?AVSilentLogin@@
.?AVSimpleContentsPrinter@Logging@Nvidia@@
.?AVSimpleLoggable@Logging@Nvidia@@
.?AVSimpleTextLogPrinter@Logging@Nvidia@@
.?AVSingleWaitBlock@details@Concurrency@@
.?AVsink@sinks@spdlog@@
.?AVSIOWSManClient@@
.?AVSlapiDisabledException@Uev@@
.?AVslapiProxy@SlapiWrapper@Shared@AppMan@@
.?AVSmartComMethodLogger@Service@Client@AppV@@
.?AVSmartHandleException@Uev@@
.?AVSmartTelemetryActivityLogger@Service@Client@AppV@@
.?AVSmartTelemetryAddPackageGroupSlapiLogger@Service@Client@AppV@@
.?AVSmartTelemetryAddPackageLogger@Service@Client@AppV@@
.?AVSmartTelemetryAddPackageSlapiLogger@Service@Client@AppV@@
.?AVSmartTelemetryConfigureServerPolicyMDMServerLogger@Service@Client@AppV@@
.?AVSmartTelemetryPackageLogger@Service@Client@AppV@@
.?AVSmartTelemetryPublishFromAppVServerLogger@Service@Client@AppV@@
.?AVSmartTelemetryPublishFromMDMServerLogger@Service@Client@AppV@@
.?AVSmartTelemetryPublishFromServerLogger@Service@Client@AppV@@
.?AVSmartTelemetryPublishPackageLogger@Service@Client@AppV@@
.?AVSmartTelemetryRemovePackageLogger@Service@Client@AppV@@
.?AVSmartTelemetryUnpublishPackageLogger@Service@Client@AppV@@
.?AVSoapChannel@@
.?AVSOAP_Handler@@
.?AVSocketChannel@@
.?AVSocketServerClientSocketErrorException@SocketHeciServer@@
.?AVSocketServerListenSocketErrorException@SocketHeciServer@@
.?AVSocketServer@SocketHeciServer@@
.?AVSoftmaxOperation@cask@@
.?AVSoftmaxShader@cask@@
.?AVSolidBrush@Gdiplus@@
.?AVsp_counted_base@detail@boost@@
.?AVspdlog_ex@spdlog@@
.?AVSsAction@@
.?AVSsConfig@@
.?AVSSIP_Message_Block@SharedStaticIPService@@
.?AVstandard_exception@Util@Sharp@@
.?AVStartPFWUP@@
.?AVStatusEventFilter@@
.?AVStatusEventHandler@@
.?AVStdOSStream@Imf_2_2@@
.?AVstl_condition_variable_concrt@details@Concurrency@@
.?AVstl_condition_variable_interface@details@Concurrency@@
.?AVstl_condition_variable_vista@details@Concurrency@@
.?AVstl_condition_variable_win7@details@Concurrency@@
.?AVstl_critical_section_concrt@details@Concurrency@@
.?AVstl_critical_section_interface@details@Concurrency@@
.?AVstl_critical_section_vista@details@Concurrency@@
.?AVstl_critical_section_win7@details@Concurrency@@
.?AVStObjectKeyPlaceKeeper@@
.?AVStopServiceDataBlock@@
.?AVStreamManager@Logging@Nvidia@@
.?AVStringDelta@Impl@Service@Client@AppV@@
.?AVStringLoader@@
.?AVStringValue@Impl@Service@Client@AppV@@
.?AVStrongReference@Details@WRL@Microsoft@@
.?AVStructuredException@@
.?AVSubscribeEventHandler@@
.?AVsubsystem_registrator_rpc_server@@
.?AVSurrogateClassFactoryImpl@@
.?AVSurrogateImpl@@
.?AVSwException@@
A;V@sXf9H
.?AVSymlinkDirectoryEnumerator@DirectoryListenerWin32@@
.?AVSync@@
.?AVSyncDelay@@
.?AVSyncEvent@@
.?AVSynchableData@@
.?AVSyncIpClient@@
.?AVSyncNvapi@@
.?AVSyncTopology@@
.?AVSysException@@
.?AVSystem@@
.?AVsystem_error_category@?A0x0885deab@system@boost@@
.?AVsystem_error_category@?A0x90fe97d7@system@boost@@
.?AV_System_error_category@std@@
.?AVsystem_error@std@@
.?AV_System_error@std@@
.?AVsystem_error@system@boost@@
.?AVsystem_error@v6@fmt@@
.?AVSystemException@Uev@@
.?AVSystemParameterPath@Uev@@
.?AVSystemParameterSetting@Uev@@
.?AVtask_canceled@Concurrency@@
.?AVTask@IlmThread_2_2@@
.?AVTbtP2pShortcutServiceContext@p2p_shortcut_service@@
.?AVTemplateAdministrator@Uev@@
.?AVTemplateFolder@Uev@@
.?AVTemplateIndexException@Uev@@
.?AVTemplateIndex@Uev@@
.?AVTemplateManager@Uev@@
.?AVTemplateNotFoundException@Uev@@
.?AVTemplateParser@Uev@@
.?AVTemplateReplacedException@Uev@@
.?AVTemplateSetting@Uev@@
.?AVTemplateSuite@Uev@@
.?AVTemplate@Uev@@
.?AVTemplateVersionException@Uev@@
.?AVTerminateSession_INPUT@AMT_RedirectionService@Typed@Cim@Manageability@Intel@@
.?AVThermalNvapi@@
.?AVThermalProbe@@
.?AVThermalProbeEvent@@
.?AVThreadCancelledException@@
.?AVthread_exception@boost@@
.?AVThread@IlmThread_2_2@@
.?AVThreadInternalContext@details@Concurrency@@
.?AVThread@iusl@@
.?AVThreadPool@IlmThread_2_2@@
.?AVThreadProxy@details@Concurrency@@
.?AVthread_resource_error@boost@@
.?AVThreadScheduler@details@Concurrency@@
.?AVThreadVirtualProcessor@details@Concurrency@@
.?AVTileBufferTask@?A0x878375d5@Imf_2_2@@
.?AVTileBufferTask@?A0xe01797de@Imf_2_2@@
.?AVTiledInputFile@Imf_2_2@@
.?AVTimedSingleWaitBlock@details@Concurrency@@
.?AVTimeSyncEventFilter@@
.?AVTimeSynchronizationClient@@
.?AVTimeSyncService@@
.?AVTokenCache@@
.?AVTokenRequest@@
.?AVtoo_few_args@io@boost@@
.?AVtoo_many_args@io@boost@@
.?AVTopologyInfo@drivers_api@@
.?AVTopologyNodeInfo@drivers_api@@
.?AVTpmHelper@@
.?AVTPMProvisioningProcessException@TPMProvisioningService@@
.?AVTPMProvisioning@TPMProvisioningService@@
.?AVTpmTctiInitializer@intelpttekrecertification@@
.?AVTraceLoggingProvider@wil@@
.?AVtype_error@detail@nlohmann@@
.?AVTypeExc@Iex_2_2@@
.?AVtype_info@@
.?AVUDCInstallerService@@
.?AVUevException@Uev@@
.?AVUevHealthEvent@Uev@@
.?AVUevIPC@Uev@@
.?AVUncStore@Uev@@
.?AVUnpublishPackageData@Client@AppV@@
.?AVUnpublishPackageGroupData@Client@AppV@@
.?AVUnresolvableEnvironmentVariableException@Uev@@
.?AVUnSubscribeEventHandler@@
.?AVunsupported_os@Concurrency@@
.?AVunsupported_policy_element_exception@@
.?AVUpdateWiFiSettings_INPUT@AMT_WiFiPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVUpdateWiFiSettings_OUTPUT@AMT_WiFiPortConfigurationService@Typed@Cim@Manageability@Intel@@
.?AVUploadReportingActivityData@Client@AppV@@
.?AVUserAppHost@nvc@@
.?AVUserManager@Host@Client@AppV@@
.?AVUserManagerImpl@Host@Client@AppV@@
a_];VUSlWUTlWVTlXVU6999
.?AVValue@cxxopts@@
.?AVVdiProfile@Uev@@
.?AVVersion@@
.?AVVersionDlg@@
.?AVVideoCodec@@
.?AVVirtualProcessor@details@Concurrency@@
.?AVVirtualProcessorRoot@details@Concurrency@@
.?AVVmModuleBase@Vml@@
.?AVVM_Plugin_interface@@
.?AVWaitable@iusl@@
.?AVWaitAllBlock@details@Concurrency@@
.?AVWaitAnyBlock@details@Concurrency@@
.?AVWaitBlock@details@Concurrency@@
.?AVWaitingForPfwLastService@@
.?AVWeakReferenceImpl@Details@WRL@Microsoft@@
.?AVWebBrowserHost@@
.?AVWebBrowserHostSilent@@
.?AVWebCallResponse@@
.?AVWebRequest@@
.?AVWebSessionBase@@
.?AVWebUIController@@
.?AVWebUIControllerSilent@@
.?AVWebUITokenRequest@@
.?AVWideOrNarrowStringIstream@?A0xd0b28053@@
.?AVWideOrNarrowStringOstream@?A0xd0b28053@@
.?AVWifiPortClient@@
.?AVWiFiProfileSyncEventFilter@@
.?AVWiFiProfileSyncService@@
.?AVWin32Exception@@
.?AVWindowsEventLog@@
.?AVwindows_file_codecvt@@
.?AVWindowsStringLoader@@
.?AVWinInetSession@@
.?AVWinLogEventHandler@@
.?AVWinLogFilter@@
.?AVWinPowerMsgProc@@
.?AVWlanNotifications@wlanps@@
.?AVWlanWSManClient@@
.?AVWmiBase@@
.?AVWMIEventHandler@@
.?AVWMIFilter@@
.?AVWorkerThread@?A0xbb9c2b4a@IlmThread_2_2@@
.?AVWorkerThread@?A0xf234ecd1@IlmThread_2_2@@
.?AVWPCHost@@
.?AVWPCSecurityManager@@
.?AVWPFS_Message_Block@WiFiProfileSyncService@@
A?VWSjiiggffE#
.?AVWsmanClientException@WsmanClientNamespace@@
.?AVWsmanClient@WsmanClientNamespace@@
.?AVWSManException@Exceptions@Manageability@Intel@@
.?AVWsmanFilter@WsmanClientNamespace@@
.?AVWsmanResourceNotFound@WsmanClientNamespace@@
.?AVWsmanSoapFault@WsmanClientNamespace@@
.?AVWSTrustTokenRequest@@
.?AVXAccessible@CMFCBaseAccessibleObject@@
.?AVXAccessible@CWnd@@
.?AVXAccessibleServer@CWnd@@
.?AVXboxLiveGamer@GamesGuide@@
.?AVXDataObject@COleDataSource@@
.?AVXDropSource@COleDropSource@@
.?AVXDropTarget@COleDropTarget@@
.?AVXEnumVOID@CEnumArray@@
.?AVXFileDialogControlEvents@CFileDialog@@
.?AVXFileDialogEvents@CFileDialog@@
.?AVXMLContentsPrinter@Logging@Nvidia@@
.?AVxml_exception@@
.?AVXmlException@@
.?AVXMLException@XMLUtils@Manageability@Intel@@
.?AVXMLLogPrinter@Logging@Nvidia@@
.?AVXmlReaderWin32@intel_dal@@
.?AVXmlSettingsManager@@
.?AVXmlTimingSettingBase@@
.?AVXmlTimingSettingEnum@@
.?AVXmlTimingSettingFloat@@
.?AVXmlTimingSettingU16@@
.?AVXPrintDialogCallback@C_PrintDialogEx@@
.?AVZipCompressor@Imf_2_2@@
.?AW4HeciClientType@iusl@@
.?AW4iclsStatus@@
.?AW4LogLevel@Logging@Nvidia@@
.?AW4MeiExceptionReason@MeiException@iusl@@
.?AW4MessageStatus@iusl@@
.?AW4PlatformType@@
AwaitedEvent
AwaitUnsafeOnCompleted
AWAVATVWSH
AWAVATVWUSH
AWAVAUATVWSH
AWAVAUATVWUSH
AWAVVWSH
AWAVVWUSH
AwayInterval
awayIntervals
AwayIntervalsXmlSearchPattern
AWCPE-VER001
awCVW'Rt6
aw@mzJXc
aws-sigv4
AWS_SIGV4
Aw(Tl1BU
Aw)v)h7j7
 Aw'W86KJ
Ax2#v45z
#AX31P0Q
aX?fI)f(
AxInstUI.pdb
axisCount
AxisEnabled
aYix esz
A'Yt3:JiF
aYYQA@2Jwwg
azLsD8[arjV
a_z|NhI9
A[(Z(O4P4t-v-Z
aZYQKza)
;;;;-);;;b
:);B;_;|;
b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
!B0C0W7Y7
b0 #'(DJMN]
B0O0]0v0
B1064oS	
b.1155"1165
	B11730	
B132:"#rparam.u
B1(3(o7n7
b175b61bc320c71aa0ecd1a17bd41e35eb16ded0dfdce3dc0fd5c7c26b50a63fd8c34f2643b0a285d7a00c1feee1c3417730b2f56b50866fede1dbb5fe28685b
b17d4e9cd131584756689f604cd1255a60ec3dfbdcc160c05696cd4bd20f62c82ac7d815580f901dabea3dc5027a25d5dcece7c91322ac909de2881de073bad9
#B1C1o8m8QAQA
B)1cE8JGJQI
b1MRkOP'
;B2f26O !26
B2I2G3N3
b2L2L'E'EZE[E
B2Rpl3R	
B2zt-WbM-
B3005L	"d2
'b30 bra(*
b401 42*
	b402 42
b48cc799fc0d91f134462b381daafb4a492472d591f0564cc0a1911e76ea5678ba4e4ed9223becacd7d5c16656590592e5782d2cc6e1a04a66e856bb3cc02bd4
B4@GWVDGh
*b4r3wKn9
B6D(@(:(2(0(((
B7-9-O8M8
b7-Rf*vi?
)b8b8:@9@7F8F
:B8BjEjE
B8h#qLjDT
b9allGroupsWWW
@B9aQ_! 
*b9b9n;l;7D6D
B 9G8|	I;
B 9G@|	I;
-)")"#(!(B*A*
Ba325 26
BA8D164350B649CC861D2C01BED14BE8
BaaUpdate.exe
BaaUpdate.pdb
BackFolderClickCount
background
			background: #222;
			background-attachment: fixed;
background-color:
			background-color: #0b1e48;
background_load_manager.cpp
background_load_manager.h
backgroundloadmanagertest.cpp
background_load_queue.cpp
background_load_queue.h
background_load_task.cpp
background_load_task.h
BackgroundModel
			background-position: center;
?BackgroundProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
			background-repeat: no-repeat;
			background-size: cover;
backgroundTaskHost.pdb
BackgroundTaskRegistred
BackgroundTransferHost.pdb
Backing store not supported
backslash
BackToBackFbMode
Backtrace : 
BackupRecoveryPW
BackUpStatus
bActiveW
BaCyanMaximumW81
Bad access
bad address
bad_address
Bad address
bad allocation
bad arg parse
bad arg spec
Bad argument
bad array new length
Bad callAttempts parameter
Bad callRetryDelay parameter
bad cast
bad char
BadClusters
Bad configuration in RunInfo
Bad content-encoding found
bad conversion
Bad CRC.
Bad dynamic_cast!
bad error code
bad exception
bad exec
Bad file
bad file descriptor
bad_file_descriptor
Bad file descriptor
#BadFileName#
bad font matrix
bad function call
badge value
Bad initialisation of TileOffsets object
Bad label
Bad level mode getting chunk offset table size
bad lexical cast: source type value could not be interpreted as target
@bad locale name
bad locale name
Bad Magic.
bad message
Bad message
Bad message size
?_BADOFF@std@@3_JB
Bad optional access
bad output glob!
BadOwnerWindowSpecified
Bad parameters
Bad path to MOF file
Bad protocol
Bad quota
bad range
bad range specification
Bad RCODE
Bad read pointer - no RTTI data!
Bad sampleCountTableDataSize read from chunk 
bad stack
Bad type for channel 
bad variant access
bad_weak_ptr
badWindowType
BaGZQvuO
!B*A*i5h5
Bamboo Paper
band_group_0
band_group_1
band_group_2
band_group_3
BankLabel
Bank Remap Availability Histogram
bAppHasAboveLockExtension
BAR1 Memory
bar1_memory_usage
    BAR1 Memory Usage
BarInformationWW
bar.red.
bar.red. 
bar.red.-
bar.red.f
BarStyle
BarStyleChanged
BarStyleProperty
BarStyles
bar.sync
bar.sync 
bar.sync )
bar.sync)
bar.sync 	0;
bar.sync 0
bar.sync 0V
bar.sync 0Z
bar.sync4
bar.synca
bar.syncc
bar.synco
bar.sync T
bar.syncX
bar.warp
base64Binary
base64encoding.cpp
base64encoding.h
base64encodingtest.cpp
BaseAddress
 Base Class Array'
 Base Class Descriptor at (
base-clocks
 BASE CLOCKS:
    Base Clocks --   List base clocks.
    base-clocks                 Query GPU base clocks. "nvidia-smi base-clocks -h" for more information. 
baseConverter
__based(
	base         display XML base of the node
    based on the width of terminal window. Monitoring is limited to
_baseFileName
basefont
base font size 
Base host
Base host core
Base host: Directory-change event
Base host: NVC_MID_EXIT_REBOOT_INITIATED message
Base host: Power RESUME message
Base host: Power SUSPEND message
Base host: quit event set
Base host: QUIT_POLICY_CHANGED event
Base host: unexpected wait condition
baselog.cpp
baselog.h
baseparser.cpp
basesimplemanifestitem.cpp
basesimplemanifestitem.h
baseTime
baseType
baseTypeIn
base-types.c
base_vfs_decoder.h
basexmlelement.cpp
basexmlelement.h
basexmlparser.cpp
basexmlparser.h
BashUsed
    --basic
[basic] 
BasicAcaFwBlobConfigurator
basicConstraints
basicenumeratordetector.h
basicenumeratordetectorut.cpp
BasicHash
BasicLatin
BasicMicSelectorConfigurator
BASIC_MODEWWt'
BasicResources
bass-enhancer-boost
bass_enhancer_boost
bass-enhancer-cutoff-frequency
bass_enhancer_cutoff_frequency
bass-enhancer-enable
bass_enhancer_enable
bass-enhancer-width
bass_enhancer_width
bass-extraction-cutoff-frequency
bass_extraction_cutoff_frequency
bass-extraction-enable
bass_extraction_enable
batchfile
batchfile 
BatteriesAreShortTerm
batteryCharacteristic
batteryImage
batteryImg
batteryLevel
Battery Participant
batteryPercentage
BATTERY_REPORTING_SCALE
BatteryScale
batteryScanFeq
batteryScannerCallback
batteryServices
batteryStatus
BatteryStatus
BAUX_OPERATION_TYPEWW
BayTrailChipsets
BB0_100:
BB0_101:
BB0_102:
BB0_103:
BB0_105:
BB0_106:
BB0_107:
BB0_108:
BB0_109:
BB0_110:
BB0_111:
BB0_112:
BB0_113:
BB0_115:
BB0_116:
BB0_117:
BB0_118:
BB0_119:
BB0_120:
BB0_121:
BB0_122:
BB0_123:
BB0_125:
BB0_126:
BB0_127:
BB0_128:
BB0_129:
BB0_130:
BB0_131:
BB0_132:
BB0_133:
BB0_135:
BB0_136:
BB0_137:
BB0_138:
BB0_139:
BB0_140:
BB0_141:
BB0_142:
BB0_143:
BB0_145:
BB0_146:
BB0_147:
BB0_148:
BB0_149:
BB0_150:
BB0_151:
BB0_152:
BB0_153:
BB0_155:
BB0_156:
BB0_157:
BB0_158:
BB0_159:
BB0_15:w
BB0_160:
BB0_161:
BB0_162:
BB0_163:
BB0_165:
BB0_166:
BB0_167:
BB0_168:
BB0_169:
BB0_170:
BB0_171:
BB0_172:
BB0_173:
BB0_175:
BB0_176:
BB0_177:
BB0_178:
BB0_179:
BB0_17:q
BB0_180:
BB0_181:
BB0_182:
BB0_183:
BB0_185:
BB0_186:
BB0_187:
BB0_188:
BB0_189:
BB0_190:
BB0_191:
BB0_192:
BB0_193:
BB0_195:
BB0_196:
BB0_197:
BB0_198:
BB0_199:
BB0_200:
BB0_201:
BB0_202:
BB0_203:
BB0_205:
BB0_206:
BB0_207:
BB0_208:
BB0_209:
BB0_210:
BB0_211:
BB0_212:
BB0_213:
BB0_215:
BB0_216:
BB0_217:
BB0_218:
BB0_219:
BB0_220:
BB0_221:
BB0_222:
BB0_223:
BB0_225:
BB0_226:
BB0_227:
BB0_228:
BB0_229:
BB0_230:
BB0_231:
BB0_232:
BB0_233:
BB0_235:
BB0_236:
BB0_237:
BB0_238:
BB0_239:
BB0_26:f9
BB0_341:
BB0_373:
_BB0_3F	
BB0_61:v
BB0_68:B
b b0b1b.b
B B0B1B.B
b@b0b8b6b
B@B0B8B6B
BB10_10:
BB10_100:
BB10_101:
BB10_102:
BB10_103:
BB10_104:
BB10_105:
BB10_106:
BB10_107:
BB10_109:
BB10_110:
BB10_111:
BB10_112:
BB10_113:
BB10_114:
BB10_115:
BB10_117:
BB10_118:
BB10_119:
BB10_12:
BB10_120:
BB10_121:
BB10_122:
BB10_123:
BB10_124:
BB10_126:
BB10_127:
BB10_128:
BB10_129:
BB10_13:
BB10_130:
BB10_131:
BB10_132:
BB10_134:
BB10_135:
BB10_136:
BB10_137:
BB10_138:
BB10_139:
BB10_14:
BB10_140:
BB10_141:
BB10_143:
BB10_144:
BB10_145:
BB10_146:
BB10_147:
BB10_148:
BB10_149:
BB10_15:
BB10_151:
BB10_152:
BB10_153:
BB10_154:
BB10_156:
BB10_157:
BB10_158:
BB10_16:
BB10_160:
BB10_161:
BB10_162:
BB10_163:
BB10_164:
BB10_165:
BB10_166:
BB10_168:
BB10_169:
BB10_17:
BB10_170:
BB10_171:
BB10_172:
BB10_173:
BB10_174:
BB10_175:
BB10_176:
BB10_178:
BB10_179:
BB10_18:
BB10_180:
BB10_181:
BB10_182:
BB10_183:
BB10_184:
BB10_186:
BB10_187:
BB10_188:
BB10_189:
BB10_19:
BB10_190:
BB10_191:
BB10_192:
BB10_193:
BB10_195:
BB10_196:
BB10_197:
BB10_198:
BB10_199:
BB10_20:
BB10_200:
BB10_201:
BB10_203:
BB10_204:
BB10_205:
BB10_206:
BB10_207:
BB10_208:
BB10_209:
BB10_210:
BB10_212:
BB10_213:
BB10_214:
BB10_215:
BB10_216:
BB10_217:
BB10_218:
BB10_22:
BB10_220:
BB10_221:
BB10_222:
BB10_223:
BB10_225:
BB10_226:
BB10_227:
BB10_229:
BB10_23:
BB10_230:
BB10_231:
BB10_232:
BB10_233:
BB10_234:
BB10_235:
BB10_237:
BB10_238:
BB10_239:
BB10_24:
BB10_240:
BB10_241:
BB10_242:
BB10_243:
BB10_244:
BB10_245:
BB10_247:
BB10_248:
BB10_249:
BB10_25:
BB10_250:
BB10_251:
BB10_252:
BB10_253:
BB10_255:
BB10_256:
BB10_257:
BB10_258:
BB10_259:
BB10_26:
BB10_260:
BB10_261:
BB10_262:
BB10_264:
BB10_265:
BB10_266:
BB10_267:
BB10_268:
BB10_269:
BB10_27:
BB10_270:
BB10_272:
BB10_273:
BB10_274:
BB10_275:
BB10_276:
BB10_277:
BB10_278:
BB10_279:
BB10_28:
BB10_281:
BB10_282:
BB10_283:
BB10_284:
BB10_285:
BB10_30:
BB10_31:
BB10_32:
BB10_33:
BB10_34:
BB10_35:
BB10_36:
BB10_37:
BB10_38:
BB10_40:
BB10_41:
BB10_42:
BB10_43:
BB10_44:
BB10_45:
BB10_46:
BB10_48:
BB10_49:
BB10_50:
BB10_51:
BB10_52:
BB10_53:
BB10_54:
BB10_55:
BB10_57:
BB10_58:
BB10_59:
BB10_60:
BB10_61:
BB10_62:
BB10_63:
BB10_65:
BB10_66:
BB10_67:
BB10_68:
BB10_69:
BB10_70:
BB10_71:
BB10_72:
BB10_74:
BB10_75:
BB10_76:
BB10_77:
BB10_78:
BB10_79:
BB10_80:
BB10_82:
BB10_83:
BB10_84:
BB10_85:
BB10_87:
BB10_88:
BB10_89:
BB10_91:
BB10_92:
BB10_93:
BB10_94:
BB10_95:
BB10_96:
BB10_97:
BB10_99:
BB1_101:
BB1_102:
BB1_103:
BB1_104:
BB1_105:
BB1_106:
BB1_107:
BB1_108:
BB1_109:
BB11_10:
BB11_100:
BB11_101:
BB11_102:
BB11_103:
BB11_104:
BB11_105:
BB11_106:
BB11_107:
BB11_109:
BB1_111:
BB11_110:
BB11_111:
BB11_112:
BB11_113:
BB11_114:
BB11_115:
BB11_117:
BB11_118:
BB11_119:
BB1_112:
BB11_12:
BB11_120:
BB11_121:
BB11_122:
BB11_123:
BB11_124:
BB11_126:
BB11_127:
BB11_128:
BB11_129:
BB1_113:
BB11_13:
BB11_130:
BB11_131:
BB11_132:
BB11_134:
BB11_135:
BB11_136:
BB11_137:
BB11_138:
BB11_139:
BB1_114:
BB11_14:
BB11_140:
BB11_141:
BB11_143:
BB11_144:
BB11_145:
BB11_146:
BB11_147:
BB11_148:
BB11_149:
BB1_115:
BB11_15:
BB11_151:
BB11_152:
BB11_153:
BB11_154:
BB11_156:
BB11_157:
BB11_158:
BB1_116:
BB11_16:
BB11_160:
BB11_161:
BB11_162:
BB11_163:
BB11_164:
BB11_165:
BB11_166:
BB11_168:
BB11_169:
BB1_117:
BB11_17:
BB11_170:
BB11_171:
BB11_172:
BB11_173:
BB11_174:
BB11_175:
BB11_176:
BB11_178:
BB11_179:
BB1_118:
BB11_18:
BB11_180:
BB11_181:
BB11_182:
BB11_183:
BB11_184:
BB11_186:
BB11_187:
BB11_188:
BB11_189:
BB1_119:
BB11_19:
BB11_190:
BB11_191:
BB11_192:
BB11_193:
BB11_195:
BB11_196:
BB11_197:
BB11_198:
BB11_199:
BB11_20:
BB11_200:
BB11_201:
BB11_203:
BB11_204:
BB11_205:
BB11_206:
BB11_207:
BB11_208:
BB11_209:
BB1_121:
BB11_210:
BB11_212:
BB11_213:
BB11_214:
BB11_215:
BB11_216:
BB11_217:
BB11_218:
BB1_122:
BB11_22:
BB11_220:
BB11_221:
BB11_222:
BB11_223:
BB11_225:
BB11_226:
BB11_227:
BB11_229:
BB1_123:
BB11_23:
BB11_230:
BB11_231:
BB11_232:
BB11_233:
BB11_234:
BB11_235:
BB11_237:
BB11_238:
BB11_239:
BB1_124:
BB11_24:
BB11_240:
BB11_241:
BB11_242:
BB11_243:
BB11_244:
BB11_245:
BB11_247:
BB11_248:
BB11_249:
BB1_125:
BB11_25:
BB11_250:
BB11_251:
BB11_252:
BB11_253:
BB11_255:
BB11_256:
BB11_257:
BB11_258:
BB11_259:
BB1_126:
BB11_26:
BB11_260:
BB11_261:
BB11_262:
BB11_264:
BB11_265:
BB11_266:
BB11_267:
BB11_268:
BB11_269:
BB1_127:
BB11_27:
BB11_270:
BB11_272:
BB11_273:
BB11_274:
BB11_275:
BB11_276:
BB11_277:
BB11_278:
BB11_279:
BB1_128:
BB11_28:
BB11_281:
BB11_282:
BB11_283:
BB11_284:
BB11_287:
BB11_288:
BB1_129:
BB11_30:
BB1_131:
BB11_31:
BB1_132:
BB11_32:
BB1_133:
BB11_33:
BB1_134:
BB11_34:
BB1_135:
BB11_35:
BB1_136:
BB11_36:
BB1_137:
BB11_37:
BB1_138:
BB11_38:
BB1_139:
BB11_40:
BB1_141:
BB11_41:
BB1_142:
BB11_42:
BB1_143:
BB11_43:
BB1_144:
BB11_44:
BB1_145:
BB11_45:
BB1_146:
BB11_46:
BB1_147:
BB1_148:
BB11_48:
BB1_149:
BB11_49:
BB11_50:
BB1_151:
BB11_51:
BB1_152:
BB11_52:
BB1_153:
BB11_53:
BB1_154:
BB11_54:
BB1_155:
BB11_55:
BB1_156:
BB1_157:
BB11_57:
BB1_158:
BB11_58:
BB1_159:
BB11_59:
BB11_60:
BB1_161:
BB11_61:
BB1_162:
BB11_62:
BB1_163:
BB11_63:
BB1_164:
BB1_165:
BB11_65:
BB1_166:
BB11_66:
BB1_167:
BB11_67:
BB1_168:
BB11_68:
BB1_169:
BB11_69:
BB11_70:
BB1_171:
BB11_71:
BB1_172:
BB11_72:
BB1_173:
BB1_174:
BB11_74:
BB1_175:
BB11_75:
BB1_176:
BB11_76:
BB1_177:
BB11_77:
BB1_178:
BB11_78:
BB1_179:
BB11_79:
BB11_80:
BB1_181:
BB1_182:
BB11_82:
BB1_183:
BB11_83:
BB1_184:
BB11_84:
BB1_185:
BB11_85:
BB1_186:
BB1_187:
BB11_87:
BB1_188:
BB11_88:
BB1_189:
BB11_89:
BB1_191:
BB11_91:
BB1_192:
BB11_92:
BB1_193:
BB11_93:
BB1_194:
BB11_94:
BB1_195:
BB11_95:
BB1_196:
BB11_96:
BB1_197:
BB11_97:
BB1_198:
BB1_199:
BB11_99:
BB1_201:
BB1_202:
BB1_203:
BB1_204:
BB1_205:
BB1_206:
BB1_207:
BB1_208:
BB1_209:
BB12_10:
BB12_100:
BB12_101:
BB12_102:
BB12_103:
BB12_104:
BB12_105:
BB12_106:
BB12_107:
BB12_109:
BB1_211:
BB12_110:
BB12_111:
BB12_112:
BB12_113:
BB12_114:
BB12_115:
BB12_117:
BB12_118:
BB12_119:
BB1_212:
BB12_12:
BB12_120:
BB12_121:
BB12_122:
BB12_123:
BB12_124:
BB12_126:
BB12_127:
BB12_128:
BB12_129:
BB1_213:
BB12_13:
BB12_130:
BB12_131:
BB12_132:
BB12_134:
BB12_135:
BB12_136:
BB12_137:
BB12_138:
BB12_139:
BB1_214:
BB12_14:
BB12_140:
BB12_141:
BB12_143:
BB12_144:
BB12_145:
BB12_146:
BB12_147:
BB12_148:
BB12_149:
BB1_215:
BB12_15:
BB12_151:
BB12_152:
BB12_153:
BB12_154:
BB12_156:
BB12_157:
BB12_158:
BB1_216:
BB12_16:
BB12_160:
BB12_161:
BB12_162:
BB12_163:
BB12_164:
BB12_165:
BB12_166:
BB12_168:
BB12_169:
BB1_217:
BB12_17:
BB12_170:
BB12_171:
BB12_172:
BB12_173:
BB12_174:
BB12_175:
BB12_176:
BB12_178:
BB12_179:
BB1_218:
BB12_18:
BB12_180:
BB12_181:
BB12_182:
BB12_183:
BB12_184:
BB12_186:
BB12_187:
BB12_188:
BB12_189:
BB1_219:
BB12_19:
BB12_190:
BB12_191:
BB12_192:
BB12_193:
BB12_195:
BB12_196:
BB12_197:
BB12_198:
BB12_199:
BB12_20:
BB12_200:
BB12_201:
BB12_203:
BB12_204:
BB12_205:
BB12_206:
BB12_207:
BB12_208:
BB12_209:
BB1_221:
BB12_210:
BB12_212:
BB12_213:
BB12_214:
BB12_215:
BB12_216:
BB12_217:
BB12_218:
BB1_222:
BB12_22:
BB12_220:
BB12_221:
BB12_222:
BB12_223:
BB12_225:
BB12_226:
BB12_227:
BB12_229:
BB1_223:
BB12_23:
BB12_230:
BB12_231:
BB12_232:
BB12_233:
BB12_234:
BB12_235:
BB12_237:
BB12_238:
BB12_239:
BB1_224:
BB12_24:
BB12_240:
BB12_241:
BB12_242:
BB12_243:
BB12_244:
BB12_245:
BB12_247:
BB12_248:
BB12_249:
BB1_225:
BB12_25:
BB12_250:
BB12_251:
BB12_252:
BB12_253:
BB12_255:
BB12_256:
BB12_257:
BB12_258:
BB12_259:
BB1_226:
BB12_26:
BB12_260:
BB12_261:
BB12_262:
BB12_264:
BB12_265:
BB12_266:
BB12_267:
BB12_268:
BB12_269:
BB1_227:
BB12_27:
BB12_270:
BB12_272:
BB12_273:
BB12_274:
BB12_275:
BB12_276:
BB12_277:
BB12_278:
BB12_279:
BB1_228:
BB12_28:
BB12_281:
BB12_282:
BB12_283:
BB12_284:
BB12_285:
BB1_229:
BB12_30:
BB1_231:
BB12_31:
BB1_232:
BB12_32:
BB1_233:
BB12_33:
BB1_234:
BB12_34:
BB1_235:
BB12_35:
BB12_36:
BB12_37:
BB12_38:
BB12_40:
BB12_41:
BB12_42:
BB12_43:
BB12_44:
BB12_45:
BB12_46:
BB12_48:
BB12_49:
BB12_50:
BB12_51:
BB12_52:
BB12_53:
BB12_54:
BB12_55:
BB12_57:
BB12_58:
BB12_59:
BB12_60:
BB12_61:
BB12_62:
BB12_63:
BB12_65:
BB12_66:
BB12_67:
BB12_68:
BB12_69:
BB12_70:
BB12_71:
BB12_72:
BB12_74:
BB12_75:
BB12_76:
BB12_77:
BB12_78:
BB12_79:
BB12_80:
BB12_82:
BB12_83:
BB12_84:
BB12_85:
BB12_87:
BB12_88:
BB12_89:
BB12_91:
BB12_92:
BB12_93:
BB12_94:
BB12_95:
BB12_96:
BB12_97:
BB12_99:
BB13_10:
BB13_100:
BB13_101:
BB13_102:
BB13_103:
BB13_104:
BB13_105:
BB13_106:
BB13_107:
BB13_109:
BB13_110:
BB13_111:
BB13_112:
BB13_113:
BB13_114:
BB13_115:
BB13_117:
BB13_118:
BB13_119:
BB13_12:
BB13_120:
BB13_121:
BB13_122:
BB13_123:
BB13_124:
BB13_126:
BB13_127:
BB13_128:
BB13_129:
BB13_13:
BB13_130:
BB13_131:
BB13_132:
BB13_134:
BB13_135:
BB13_136:
BB13_137:
BB13_138:
BB13_139:
BB13_14:
BB13_140:
BB13_141:
BB13_143:
BB13_144:
BB13_145:
BB13_146:
BB13_147:
BB13_148:
BB13_149:
BB13_15:
BB13_151:
BB13_152:
BB13_153:
BB13_154:
BB13_156:
BB13_157:
BB13_158:
BB13_16:
BB13_160:
BB13_161:
BB13_162:
BB13_163:
BB13_164:
BB13_165:
BB13_166:
BB13_168:
BB13_169:
BB13_17:
BB13_170:
BB13_171:
BB13_172:
BB13_173:
BB13_174:
BB13_175:
BB13_176:
BB13_178:
BB13_179:
BB13_18:
BB13_180:
BB13_181:
BB13_182:
BB13_183:
BB13_184:
BB13_186:
BB13_187:
BB13_188:
BB13_189:
BB13_19:
BB13_190:
BB13_191:
BB13_192:
BB13_193:
BB13_195:
BB13_196:
BB13_197:
BB13_198:
BB13_199:
BB13_20:
BB13_200:
BB13_201:
BB13_203:
BB13_204:
BB13_205:
BB13_206:
BB13_207:
BB13_208:
BB13_209:
BB13_210:
BB13_212:
BB13_213:
BB13_214:
BB13_215:
BB13_216:
BB13_217:
BB13_218:
BB13_22:
BB13_220:
BB13_221:
BB13_222:
BB13_223:
BB13_225:
BB13_226:
BB13_227:
BB13_229:
BB13_23:
BB13_230:
BB13_231:
BB13_232:
BB13_233:
BB13_234:
BB13_235:
BB13_237:
BB13_238:
BB13_239:
BB13_24:
BB13_240:
BB13_241:
BB13_242:
BB13_243:
BB13_244:
BB13_245:
BB13_247:
BB13_248:
BB13_249:
BB13_25:
BB13_250:
BB13_251:
BB13_252:
BB13_253:
BB13_255:
BB13_256:
BB13_257:
BB13_258:
BB13_259:
BB13_26:
BB13_260:
BB13_261:
BB13_262:
BB13_264:
BB13_265:
BB13_266:
BB13_267:
BB13_268:
BB13_269:
BB13_27:
BB13_270:
BB13_272:
BB13_273:
BB13_274:
BB13_275:
BB13_276:
BB13_277:
BB13_278:
BB13_279:
BB13_28:
BB13_281:
BB13_282:
BB13_283:
BB13_284:
BB13_287:
BB13_288:
BB13_30:
BB13_31:
BB13_32:
BB13_33:
BB13_34:
BB13_35:
BB13_36:
BB13_37:
BB13_38:
BB13_40:
BB13_41:
BB13_42:
BB13_43:
BB13_44:
BB13_45:
BB13_46:
BB13_48:
BB13_49:
BB13_50:
BB13_51:
BB13_52:
BB13_53:
BB13_54:
BB13_55:
BB13_57:
BB13_58:
BB13_59:
BB13_60:
BB13_61:
BB13_62:
BB13_63:
BB13_65:
BB13_66:
BB13_67:
BB13_68:
BB13_69:
BB13_70:
BB13_71:
BB13_72:
BB13_74:
BB13_75:
BB13_76:
BB13_77:
BB13_78:
BB13_79:
BB13_80:
BB13_82:
BB13_83:
BB13_84:
BB13_85:
BB13_87:
BB13_88:
BB13_89:
BB13_91:
BB13_92:
BB13_93:
BB13_94:
BB13_95:
BB13_96:
BB13_97:
BB13_99:
BB14_10:
BB14_11:
BB14_13:
BB14_14:
BB14_15:
BB14_16:
BB14_17:
BB14_18:
BB14_19:
BB14_20:
BB14_21:
BB14_24:
BB14_25:
BB14_26:
BB14_27:
BB14_28:
BB14_29:
BB14_30:
BB14_31:
BB14_32:
BB14_35:
BB14_36:
BB14_37:
BB14_38:
BB14_39:
BB14_40:
BB14_41:
BB14_42:
BB14_43:
BB14_46:
BB14_47:
BB14_48:
BB14_49:
BB14_50:
BB14_51:
BB14_52:
BB14_53:
BB15_10:
BB15_11:
BB15_13:
BB15_14:
BB15_15:
BB15_16:
BB15_17:
BB15_18:
BB15_19:
BB15_20:
BB15_21:
BB15_24:
BB15_25:
BB15_26:
BB15_27:
BB15_28:
BB15_29:
BB15_30:
BB15_31:
BB15_32:
BB15_35:
BB15_36:
BB15_37:
BB15_38:
BB15_39:
BB15_40:
BB15_41:
BB15_42:
BB15_43:
BB15_46:
BB15_47:
BB15_48:
BB15_49:
BB15_50:
BB15_51:
BB15_52:
BB15_55:
BB15_56:
BB18_10:
BB18_12:
BB18_13:
BB18_14:
BB18_15:
BB18_16:
BB18_17:
BB18_18:
BB18_19:
BB18_20:
BB18_21:
BB18_22:
BB18_23:
BB18_24:
BB18_25:
BB18_26:
BB18_27:
BB18_28:
BB18_29:
BB18_30:
BB18_31:
BB18_32:
BB18_33:
BB18_34:
BB18_35:
BB18_36:
BB18_37:
BB18_38:
BB19_10:
BB19_12:
BB19_13:
BB19_14:
BB19_15:
BB19_16:
BB19_17:
BB19_18:
BB19_19:
BB19_20:
BB19_21:
BB19_22:
BB19_23:
BB19_24:
BB19_25:
BB19_26:
BB19_27:
BB19_28:
BB19_29:
BB19_30:
BB19_31:
BB19_32:
BB19_33:
BB19_34:
BB19_35:
BB19_36:
BB19_37:
BB19_38:
BB20_10:
BB20_12:
BB20_13:
BB20_14:
BB20_15:
BB20_16:
BB20_17:
BB20_18:
BB20_19:
BB20_20:
BB20_21:
BB20_22:
BB20_23:
BB20_24:
BB20_25:
BB20_26:
BB20_27:
BB20_28:
BB20_29:
BB20_30:
BB20_31:
BB20_32:
BB20_33:
BB20_34:
BB20_35:
BB20_36:
BB20_37:
BB20_38:
BB2_101:
BB2_102:
BB2_103:
BB2_104:
BB2_105:
BB2_106:
BB2_107:
BB2_108:
BB2_109:
BB21_10:
BB2_111:
BB2_112:
BB21_12:
BB2_113:
BB21_13:
BB2_114:
BB21_14:
BB2_115:
BB21_15:
BB2_116:
BB21_16:
BB2_117:
BB21_17:
BB2_118:
BB21_18:
BB2_119:
BB21_19:
BB21_20:
BB2_121:
BB21_21:
BB2_122:
BB21_22:
BB2_123:
BB21_23:
BB2_124:
BB21_24:
BB2_125:
BB21_25:
BB2_126:
BB21_26:
BB2_127:
BB21_27:
BB2_128:
BB21_28:
BB2_129:
BB21_29:
BB21_30:
BB2_131:
BB21_31:
BB2_132:
BB21_32:
BB2_133:
BB21_33:
BB2_134:
BB21_34:
BB2_135:
BB21_35:
BB2_136:
BB21_36:
BB2_137:
BB21_37:
BB2_138:
BB21_38:
BB2_139:
BB2_141:
BB2_142:
BB2_143:
BB2_144:
BB2_145:
BB2_146:
BB2_147:
BB2_148:
BB2_149:
BB2_151:
BB2_152:
BB2_153:
BB2_154:
BB2_155:
BB2_156:
BB2_157:
BB2_158:
BB2_159:
BB2_161:
BB2_162:
BB2_163:
BB2_164:
BB2_165:
BB2_166:
BB2_167:
BB2_168:
BB2_169:
BB2_171:
BB2_172:
BB2_173:
BB2_174:
BB2_175:
BB2_176:
BB2_177:
BB2_178:
BB2_179:
BB2_181:
BB2_182:
BB2_183:
BB2_184:
BB2_185:
BB2_186:
BB2_187:
BB2_188:
BB2_189:
BB2_191:
BB2_192:
BB2_193:
BB2_194:
BB2_195:
BB2_196:
BB2_197:
BB2_198:
BB2_199:
BB2_201:
BB2_202:
BB2_203:
BB2_204:
BB2_205:
BB2_206:
BB2_207:
BB2_208:
BB2_209:
BB2_211:
BB2_212:
BB2_213:
BB2_214:
BB2_215:
BB2_216:
BB2_217:
BB2_218:
BB2_219:
BB2_221:
BB2_222:
BB2_223:
BB2_224:
BB2_225:
BB2_226:
BB2_227:
BB2_228:
BB2_229:
BB2_231:
BB2_232:
BB2_233:
BB2_234:
BB2_235:
BB3_101:
BB3_102:
BB3_103:
BB3_104:
BB3_105:
BB3_106:
BB3_107:
BB3_108:
BB3_109:
BB3_111:
BB3_112:
BB3_113:
BB3_114:
BB3_115:
BB3_116:
BB3_117:
BB3_118:
BB3_119:
BB3_121:
BB3_122:
BB3_123:
BB3_124:
BB3_125:
BB3_126:
BB3_127:
BB3_128:
BB3_129:
BB3_131:
BB3_132:
BB3_133:
BB3_134:
BB3_135:
BB3_136:
BB3_137:
BB3_138:
BB3_139:
BB3_141:
BB3_142:
BB3_143:
BB3_144:
BB3_145:
BB3_146:
BB3_147:
BB3_148:
BB3_149:
BB3_151:
BB3_152:
BB3_153:
BB3_154:
BB3_155:
BB3_156:
BB3_157:
BB3_158:
BB3_159:
BB3_161:
BB3_162:
BB3_163:
BB3_164:
BB3_165:
BB3_166:
BB3_167:
BB3_168:
BB3_169:
BB3_171:
BB3_172:
BB3_173:
BB3_174:
BB3_175:
BB3_176:
BB3_177:
BB3_178:
BB3_179:
BB3_181:
BB3_182:
BB3_183:
BB3_184:
BB3_185:
BB3_186:
BB3_187:
BB3_188:
BB3_189:
BB3_191:
BB3_192:
BB3_193:
BB3_194:
BB3_195:
BB3_196:
BB3_197:
BB3_198:
BB3_199:
BB3_201:
BB3_202:
BB3_203:
BB3_204:
BB3_205:
BB3_206:
BB3_207:
BB3_208:
BB3_209:
BB3_211:
BB3_212:
BB3_213:
BB3_214:
BB3_215:
BB3_216:
BB3_217:
BB3_218:
BB3_219:
BB3_221:
BB3_222:
BB3_223:
BB3_224:
BB3_225:
BB3_226:
BB3_227:
BB3_228:
BB3_229:
BB3_231:
BB3_232:
BB3_233:
BB3_234:
BB3_235:
BB6_100:
BB6_101:
BB6_102:
BB6_104:
BB6_105:
BB6_106:
BB6_107:
BB6_108:
BB6_109:
BB6_110:
BB6_111:
BB6_112:
BB6_113:
BB6_114:
BB6_116:
BB6_117:
BB6_118:
BB6_119:
BB6_120:
BB6_121:
BB6_122:
BB6_124:
BB6_125:
BB6_126:
BB6_127:
BB6_128:
BB6_129:
BB6_130:
BB6_131:
BB6_133:
BB6_134:
BB6_135:
BB6_136:
BB6_137:
BB6_138:
BB6_139:
BB6_141:
BB6_142:
BB6_143:
BB6_144:
BB6_145:
BB6_146:
BB6_147:
BB6_148:
BB6_150:
BB6_151:
BB6_152:
BB6_153:
BB6_154:
BB6_155:
BB6_156:
BB6_158:
BB6_159:
BB6_160:
BB6_161:
BB6_164:
BB6_165:
BB6_166:
BB6_168:
BB6_169:
BB6_170:
BB6_171:
BB6_172:
BB6_173:
BB6_174:
BB6_176:
BB6_177:
BB6_178:
BB6_179:
BB6_180:
BB6_181:
BB6_182:
BB6_183:
BB6_184:
BB6_185:
BB6_186:
BB6_188:
BB6_189:
BB6_190:
BB6_191:
BB6_192:
BB6_193:
BB6_194:
BB6_196:
BB6_197:
BB6_198:
BB6_199:
BB6_200:
BB6_201:
BB6_202:
BB6_203:
BB6_205:
BB6_206:
BB6_207:
BB6_208:
BB6_209:
BB6_210:
BB6_211:
BB6_213:
BB6_214:
BB6_215:
BB6_216:
BB6_217:
BB6_218:
BB6_219:
BB6_220:
BB6_222:
BB6_223:
BB6_224:
BB6_225:
BB6_226:
BB6_227:
BB6_228:
BB6_230:
BB6_231:
BB6_232:
BB6_233:
BB6_236:
BB6_237:
BB6_238:
BB6_240:
BB6_241:
BB6_242:
BB6_243:
BB6_244:
BB6_245:
BB6_246:
BB6_248:
BB6_249:
BB6_250:
BB6_251:
BB6_252:
BB6_253:
BB6_254:
BB6_255:
BB6_256:
BB6_257:
BB6_258:
BB6_260:
BB6_261:
BB6_262:
BB6_263:
BB6_264:
BB6_265:
BB6_266:
BB6_268:
BB6_269:
BB6_270:
BB6_271:
BB6_272:
BB6_273:
BB6_274:
BB6_275:
BB6_277:
BB6_278:
BB6_279:
BB6_280:
BB6_281:
BB6_282:
BB6_283:
BB6_285:
BB6_286:
BB6_287:
BB6_288:
BB6_289:
BB6_290:
BB6_291:
BB6_292:
BB6_294:
BB6_295:
BB6_296:
BB6_297:
BB6_298:
BB7_100:
BB7_101:
BB7_102:
BB7_104:
BB7_105:
BB7_106:
BB7_107:
BB7_108:
BB7_109:
BB7_110:
BB7_111:
BB7_112:
BB7_113:
BB7_114:
BB7_116:
BB7_117:
BB7_118:
BB7_119:
BB7_120:
BB7_121:
BB7_122:
BB7_124:
BB7_125:
BB7_126:
BB7_127:
BB7_128:
BB7_129:
BB7_130:
BB7_131:
BB7_133:
BB7_134:
BB7_135:
BB7_136:
BB7_137:
BB7_138:
BB7_139:
BB7_141:
BB7_142:
BB7_143:
BB7_144:
BB7_145:
BB7_146:
BB7_147:
BB7_148:
BB7_150:
BB7_151:
BB7_152:
BB7_153:
BB7_154:
BB7_155:
BB7_156:
BB7_158:
BB7_159:
BB7_160:
BB7_161:
BB7_164:
BB7_165:
BB7_166:
BB7_168:
BB7_169:
BB7_170:
BB7_171:
BB7_172:
BB7_173:
BB7_174:
BB7_176:
BB7_177:
BB7_178:
BB7_179:
BB7_180:
BB7_181:
BB7_182:
BB7_183:
BB7_184:
BB7_185:
BB7_186:
BB7_188:
BB7_189:
BB7_190:
BB7_191:
BB7_192:
BB7_193:
BB7_194:
BB7_196:
BB7_197:
BB7_198:
BB7_199:
BB7_200:
BB7_201:
BB7_202:
BB7_203:
BB7_205:
BB7_206:
BB7_207:
BB7_208:
BB7_209:
BB7_210:
BB7_211:
BB7_213:
BB7_214:
BB7_215:
BB7_216:
BB7_217:
BB7_218:
BB7_219:
BB7_220:
BB7_222:
BB7_223:
BB7_224:
BB7_225:
BB7_226:
BB7_227:
BB7_228:
BB7_230:
BB7_231:
BB7_232:
BB7_233:
BB7_236:
BB7_237:
BB7_238:
BB7_240:
BB7_241:
BB7_242:
BB7_243:
BB7_244:
BB7_245:
BB7_246:
BB7_248:
BB7_249:
BB7_250:
BB7_251:
BB7_252:
BB7_253:
BB7_254:
BB7_255:
BB7_256:
BB7_257:
BB7_258:
BB7_260:
BB7_261:
BB7_262:
BB7_263:
BB7_264:
BB7_265:
BB7_266:
BB7_268:
BB7_269:
BB7_270:
BB7_271:
BB7_272:
BB7_273:
BB7_274:
BB7_275:
BB7_277:
BB7_278:
BB7_279:
BB7_280:
BB7_281:
BB7_282:
BB7_283:
BB7_285:
BB7_286:
BB7_287:
BB7_288:
BB7_289:
BB7_290:
BB7_291:
BB7_292:
BB7_294:
BB7_295:
BB7_296:
BB7_297:
BB7_300:
BB7_301:
BB8_100:
BB8_101:
BB8_102:
BB8_104:
BB8_105:
BB8_106:
BB8_107:
BB8_108:
BB8_109:
BB8_110:
BB8_111:
BB8_112:
BB8_113:
BB8_114:
BB8_116:
BB8_117:
BB8_118:
BB8_119:
BB8_120:
BB8_121:
BB8_122:
BB8_124:
BB8_125:
BB8_126:
BB8_127:
BB8_128:
BB8_129:
BB8_130:
BB8_131:
BB8_133:
BB8_134:
BB8_135:
BB8_136:
BB8_137:
BB8_138:
BB8_139:
BB8_141:
BB8_142:
BB8_143:
BB8_144:
BB8_145:
BB8_146:
BB8_147:
BB8_148:
BB8_150:
BB8_151:
BB8_152:
BB8_153:
BB8_154:
BB8_155:
BB8_156:
BB8_158:
BB8_159:
BB8_160:
BB8_161:
BB8_164:
BB8_165:
BB8_166:
BB8_168:
BB8_169:
BB8_170:
BB8_171:
BB8_172:
BB8_173:
BB8_174:
BB8_176:
BB8_177:
BB8_178:
BB8_179:
BB8_180:
BB8_181:
BB8_182:
BB8_183:
BB8_184:
BB8_185:
BB8_186:
BB8_188:
BB8_189:
BB8_190:
BB8_191:
BB8_192:
BB8_193:
BB8_194:
BB8_196:
BB8_197:
BB8_198:
BB8_199:
BB8_200:
BB8_201:
BB8_202:
BB8_203:
BB8_205:
BB8_206:
BB8_207:
BB8_208:
BB8_209:
BB8_210:
BB8_211:
BB8_213:
BB8_214:
BB8_215:
BB8_216:
BB8_217:
BB8_218:
BB8_219:
BB8_220:
BB8_222:
BB8_223:
BB8_224:
BB8_225:
BB8_226:
BB8_227:
BB8_228:
BB8_230:
BB8_231:
BB8_232:
BB8_233:
BB8_236:
BB8_237:
BB8_238:
BB8_240:
BB8_241:
BB8_242:
BB8_243:
BB8_244:
BB8_245:
BB8_246:
BB8_248:
BB8_249:
BB8_250:
BB8_251:
BB8_252:
BB8_253:
BB8_254:
BB8_255:
BB8_256:
BB8_257:
BB8_258:
BB8_260:
BB8_261:
BB8_262:
BB8_263:
BB8_264:
BB8_265:
BB8_266:
BB8_268:
BB8_269:
BB8_270:
BB8_271:
BB8_272:
BB8_273:
BB8_274:
BB8_275:
BB8_277:
BB8_278:
BB8_279:
BB8_280:
BB8_281:
BB8_282:
BB8_283:
BB8_285:
BB8_286:
BB8_287:
BB8_288:
BB8_289:
BB8_290:
BB8_291:
BB8_292:
BB8_294:
BB8_295:
BB8_296:
BB8_297:
BB8_298:
BB9_100:
BB9_101:
BB9_102:
BB9_104:
BB9_105:
BB9_106:
BB9_107:
BB9_108:
BB9_109:
BB9_110:
BB9_111:
BB9_112:
BB9_113:
BB9_114:
BB9_116:
BB9_117:
BB9_118:
BB9_119:
BB9_120:
BB9_121:
BB9_122:
BB9_124:
BB9_125:
BB9_126:
BB9_127:
BB9_128:
BB9_129:
BB9_130:
BB9_131:
BB9_133:
BB9_134:
BB9_135:
BB9_136:
BB9_137:
BB9_138:
BB9_139:
BB9_141:
BB9_142:
BB9_143:
BB9_144:
BB9_145:
BB9_146:
BB9_147:
BB9_148:
BB9_150:
BB9_151:
BB9_152:
BB9_153:
BB9_154:
BB9_155:
BB9_156:
BB9_158:
BB9_159:
BB9_160:
BB9_161:
BB9_164:
BB9_165:
BB9_166:
BB9_168:
BB9_169:
BB9_170:
BB9_171:
BB9_172:
BB9_173:
BB9_174:
BB9_176:
BB9_177:
BB9_178:
BB9_179:
BB9_180:
BB9_181:
BB9_182:
BB9_183:
BB9_184:
BB9_185:
BB9_186:
BB9_188:
BB9_189:
BB9_190:
BB9_191:
BB9_192:
BB9_193:
BB9_194:
BB9_196:
BB9_197:
BB9_198:
BB9_199:
BB9_200:
BB9_201:
BB9_202:
BB9_203:
BB9_205:
BB9_206:
BB9_207:
BB9_208:
BB9_209:
BB9_210:
BB9_211:
BB9_213:
BB9_214:
BB9_215:
BB9_216:
BB9_217:
BB9_218:
BB9_219:
BB9_220:
BB9_222:
BB9_223:
BB9_224:
BB9_225:
BB9_226:
BB9_227:
BB9_228:
BB9_230:
BB9_231:
BB9_232:
BB9_233:
BB9_236:
BB9_237:
BB9_238:
BB9_240:
BB9_241:
BB9_242:
BB9_243:
BB9_244:
BB9_245:
BB9_246:
BB9_248:
BB9_249:
BB9_250:
BB9_251:
BB9_252:
BB9_253:
BB9_254:
BB9_255:
BB9_256:
BB9_257:
BB9_258:
BB9_260:
BB9_261:
BB9_262:
BB9_263:
BB9_264:
BB9_265:
BB9_266:
BB9_268:
BB9_269:
BB9_270:
BB9_271:
BB9_272:
BB9_273:
BB9_274:
BB9_275:
BB9_277:
BB9_278:
BB9_279:
BB9_280:
BB9_281:
BB9_282:
BB9_283:
BB9_285:
BB9_286:
BB9_287:
BB9_288:
BB9_289:
BB9_290:
BB9_291:
BB9_292:
BB9_294:
BB9_295:
BB9_296:
BB9_297:
BB9_300:
BB9_301:
b@bAb8b:b
B@BAB8B:B
bBackgroundTaskDone
_bBackgroundTaskInProcess
B	B	B	B	B	B	B
BBBBhhhhAAAA
BBHCH]H]H
bbHHEEoo
b@bPbQbNb
B@BPBQBNB
b@bPbXbVb
B@BPBXBVB
B'Brbbxe
	B	Br's'_#a#
![ [ b!c!
BCBCIDJD
bcdboot.pdb
BcdCloseObject
BcdCloseStore
bcdedit.exe
bcdedit.pdb
BcdEnumerateElements
BcdEnumerateObjects
BcdErrorCode
BcdExportStore
BcdInitialized
BcdOpenObject
BcdOpenSystemStore
BC)D)S4R4
bCHIPSET_FAMILY_CNL_DESKTOPWW
b	c	k	j	
bCodeBase
bColorKingOpend
BCryptAddContextFunction(
BCryptCloseAlgorithmProvider
BCryptCloseAlgorithmProvider(
BCryptConfigureContext(
BCryptConfigureContextFunction(
BCryptCreateContext(
BCryptCreateHash
BCryptCreateHash(
BCryptDecrypt
BCryptDecrypt(
BCryptDeleteContext(
BCryptDeriveKey
BCryptDeriveKey(
BCryptDeriveKeyCapi(
BCryptDeriveKeyPBKDF2(
BCryptDestroyHash
BCryptDestroyHash(
BCryptDestroyKey
BCryptDestroyKey(
BCryptDestroySecret
BCryptDestroySecret(
bcrypt.dll
BCryptDuplicateHash(
BCryptDuplicateKey(
BCryptEncrypt
BCryptEncrypt(
BCryptEnumAlgorithms
BCryptEnumAlgorithms(
BCryptEnumContextFunctionProviders(
BCryptEnumContextFunctions
BCryptEnumContextFunctions(
BCryptEnumContexts
BCryptEnumContexts(
BCryptEnumProviders(
BCryptEnumRegisteredProviders(
BCryptExportKey
BCryptExportKey(
BCryptFinalizeKeyPair
BCryptFinalizeKeyPair(
BCryptFinishHash
BCryptFinishHash(
BCryptFreeBuffer
BCryptFreeBuffer(
BCryptGenerateKeyPair
BCryptGenerateKeyPair(
BCryptGenerateSymmetricKey
BCryptGenerateSymmetricKey(
BCryptGenRandom
BCryptGenRandom(
BCryptGetFipsAlgorithmMode(
BCryptGetProperty
BCryptGetProperty(
BCryptHash
BCryptHash(
BCryptHashData
BCryptHashData(
BCRYPT_HASH_HANDLE  hHash);
BCRYPT_HASH_OPERATION_TYPE      hashOperation;  
BCryptImportKey
BCryptImportKey(
BCryptImportKeyPair
BCryptImportKeyPair(
BCryptKeyDerivation
BCryptKeyDerivation(
BCRYPT_KEY_HANDLE Handle;
BCRYPT_KEY_HANDLE           hCNGContentEncryptKey;
BCRYPT_KEY_HANDLE   hKey);
BCRYPT_KEY_HANDLE *phKey
BCRYPT_OID  *pOIDs;
BCryptOpenAlgorithmProvider
BCryptOpenAlgorithmProvider(
BCryptQueryContextConfiguration
BCryptQueryContextConfiguration(
BCryptQueryContextFunctionConfiguration(
BCryptQueryContextFunctionProperty(
BCryptQueryProviderRegistration
BCryptQueryProviderRegistration(
BCryptRegisterConfigChangeNotify(
BCryptRemoveContextFunction(
BCryptResolveProviders
BCryptResolveProviders(
BCryptSecretAgreement
BCryptSecretAgreement(
BCRYPT_SECRET_HANDLE   hSecret);
BCryptSetContextFunctionProperty(
BCryptSetProperty
BCryptSetProperty(
BCryptSignHash
BCryptSignHash(
BCryptUnregisterConfigChangeNotify(
BCryptVerifySignature
BCryptVerifySignature(
-	-B"C"Y)Y)*)*)
BD2FBA36A2D64DAB9390FF6DA2FEF31C
_	Bd53]Q
BD(A(q7r7
;BDBD_(](
BD: Boot Debugger Initialized
bd	D9YCS
BDDDDDDD
 BDDDDDDDDQDDD
 BDECAPSI
BdeCfgCalculateSizeRequirements
BdeCfgCanCreateActivePartOnDisk
BdeCfgCheckAndGetBootVolume
BdeCfgCheckVolumeAsCandidate
BdeCfgFindCandidateVolumes
BdeCfgFindLargestUnallocatedExtent
BdeCfgFindVolumeWithName
BdeCfgGetVolumeDisk
BdeCfgIsElevated
BdeCfgIsWinREOnOSVolume
BdeCfgLoadErrorString
BdeCfgLoadResourceString
BdeCfgLogClose
BdeCfgLogCommandLineParams
BdeCfgLogError
BdeCfgLogInit
BdeCfgMoveWinRE
BdeCfgRestart
bdechangepin.exe
bdechangepin.pdb
BDEHDCFGLIB.dll
BdeHdCfg.pdb
BDEUI.dll
BDEUILauncher ClassWWW
BDEUILauncherWWWd
BdeUISrv 1.0 Type LibraryW
        'BdeUISrv.EXE'
BdeUISrvLibW
BdeUISrv.pdb
bdeunlock.exe
bdeunlock.pdb
bDisconnectObject
BDISPLAY_DISPLAY_POST_PROCESSING_ERRORWWW
bDLu5H0f
BDMMDDM m
BdUsb3USB3CheckDebugSupport
BdUsb3USB3GetRxPacket
BdUsb3USB3GetTxPacket
BdUsb3USB3HandleExternalReset
BdUsb3USB3InitializeController
BdUsb3USB3ProcessEvents
BdUsb3USB3ReleaseRxPacket
BdUsb3Usb3ResetController
BdUsb3USB3SendTxPacket
BdUsb3USB3SetupDebugSupport
BdUsb3USB3WaitForConnection
BdUsb3Usb3WaitForControllerReady
be04197c6d1948eca6cc7b6d3343d49aa00c9819822ec3956e41c4727f29a28aab165b3be596f6a62ddd00dd91d5f42424fd6007b4d3fb84ffbbde073a8cb77f
b#e3i#Had8
BE7F7E:F:
BEAM_CHAT
BEAM_IMAGE
BEBEGCHC
       because DPI awareness improves the appearance of the UI at higher DPI settings. This declaration means that application
Be;d;)@(@
bee8f935fde757efddada2a35c88ca03b286dc44ffe572b9c0e2bca1e7e4d1593169108441ab5fe8d7002af771e3f6b8356e15fa3400cde7b0d28c8badb3dd18
B"E!EB)@)
B*E*EJ)I)7575B0A0n k 
Begging to look for a connector that supports PP API...
BeginAnimation
beginbfchar
beginbfrange
BeginBufferedPaint
-----BEGIN CERTIFICATE-----
begincidchar
begincidrange
begincodespacerange
BeginData:
BeginDate
BeginDeferWindowPos
BeginInit
BeginInvoke
[BeginLog]
beginnotdefchar
beginnotdefrange
BeginPaint
BeginPath
beginpgfrange
-----BEGIN PUBLIC KEY-----
_beginthreadex
beginusematrix
BeginWaitingForRequests
BeginWovConfiguration
bEnableBatteryReading
b_enumProcStartModeWWW
BeP';;)Cs
berthold
betaRef...................
betaVal...................
betp.geV
betp.geX
betp.gta
beWredivorPsecivreSremaG.secivreSremaG.krowemarF.anX.tfosorciM
BF16_16F
bf16_s1688cudnn_bf16
bf16_s1688gemm_bf16
Bf2048h6048A
B"f2IB6f21
Bf8g8h'g'
bfd1231F
bfel)!97
B F"Fo8n8
BfsIsBitLockerResealNeededForBootmgrServicingFailed
BfsIsBitLockerResealNeededForBootmgrServicingSucceeded
BfsResealBitLockerWithRetryFailed
BfsResealBitLockerWithRetrySucceeded
BfsvcSyspartRepair
BgCfCO?P?
.bgHXq8s
BgMonDLL
BGNK0*?S
B@H9A0tOH
B@H9B8tXA
BhA)C09J8u1L
bHcH0A0A
BHE_ACCESS_DENIED
BHE_APPLET_BAD_PARAMETER
BHE_APPLET_BAD_STATE
BHE_APPLET_CRASHED or BHE_MAILBOX_NOT_FOUND
BHE_APPLET_GENERIC
BHE_APPLET_SMALL_BUFFER
BHE_APPPACK_UNINITED
BHE_BAD_PARAMETER
BHE_BUFFER_OVERFLOW
BHE_CLOSED
BHE_COND_INIT_FAIL
BHE_DECRYPT_JEFF_FAIL
BHE_EXIST_LIVE_SESSION
BHE_FAILED
BHE_GROUP_CHECK_FAIL
BHE_INSUFFICIENT_BUFFER
BHE_INTR
BHE_INVALID
BHE_INVALID_BPK_FILE
BHE_INVALID_HANDLE
BHE_INVALID_PARAMS
BHE_IPC_ERR_DEFAULT
BHE_IPC_ERR_PLATFORM
BHE_IPC_SRV_INIT_FAIL
BHE_LAUNCHER_INIT_FAILED
BHE_LOAD_JEFF_FAIL
BHE_MAGIC_UNMATCH
BHE_MAILBOX_DENIED
BHE_MAILBOX_NOT_FOUND
BHE_MSG_QUEUE_IS_FULL
BHE_MUTEX_INIT_FAIL
BHE_NOT_FOUND
BHE_NOT_SUPPORTED
BHE_NTA_NOT_INSTALLED
BHE_ONLY_SINGLE_INSTANCE_ALLOWED
BHE_OPERATION_NOT_PERMITTED
BHE_OUT_OF_MEMORY
BHE_PACKAGE_EXIST
BHE_PACKAGE_NOT_FOUND
BHE_PLATFORM_API_ERR
BHE_PROCESS_ALREADY_RUNNING
BHE_PROCESS_IN_TERMINATING
BHE_PROCESS_KILL_FAILED
BHE_PROCESS_NOT_EXIST
BHE_PROCESS_NUM_EXCEED
BHE_PROCESS_SPAWN_FAILED
BHE_QUERY_PROP_NOT_SUPPORT
BHE_SDID_UNMATCH
BHE_SDM_ALREADY_EXIST
BHE_SDM_DB_READ_FAIL
BHE_SDM_DB_WRITE_FAIL
BHE_SDM_FAILED
BHE_SDM_INSTALL_CONDITION_FAIL
BHE_SDM_NOT_FOUND
BHE_SDM_PERMGROUP_CHECK_FAIL
BHE_SDM_SD_DB_NO_FREE_SLOT
BHE_SDM_SD_INSTALL_UNALLOWED
BHE_SDM_SD_INTERFACE_DISABLED
BHE_SDM_SD_INVALID_PROPERTIES
BHE_SDM_SD_NOT_FOUND
BHE_SDM_SD_PUBLICKEY_HASH_VERIFY_FAIL
BHE_SDM_SIGNATURE_VERIFY_FAIL
BHE_SDM_SVL_CHECK_FAIL
BHE_SDM_SVL_DB_NO_FREE_SLOT
BHE_SDM_SVL_UPDATE_UNALLOWED
BHE_SDM_SVN_CHECK_FAIL
BHE_SDM_TA_DB_NO_FREE_SLOT
BHE_SDM_TA_INSTALL_UNALLOWED
BHE_SDM_TA_NUMBER_LIMIT
BHE_SDM_TATYPE_MISMATCH
BHE_SD_NOT_INSTALLED
BHE_SESSION_NUM_EXCEED
BHE_STARTING_JDWP_FAIL
BHE_SWITCH_ISD
BHE_TA_PACKAGE_HASH_VERIFY_FAIL
BHE_TA_PACKAGE_HMAC_VERIFY_FAIL
BHE_THREAD_ERROR
BHE_THREAD_TIMED_OUT
BHE_TIMEOUT
BHE_UI_EXCEPTION
BHE_UI_ILLEGAL_PARAMETER
BHE_UI_ILLEGAL_USE
BHE_UI_NOT_INITIALIZED
BHE_UI_NOT_SUPPORTED
BHE_UI_OUT_OF_RESOURCES
BHE_UNCAUGHT_EXCEPTION
BHE_UNIMPLEMENTED
BHE_UNKOWN
BHE_VM_INSTANCE_INIT_FAIL
BHE_VM_INSTNACE_NOT_FOUND
BHE_WD_TIMEOUT
BHE_WEAR_OUT_VIOLATION
BHpublishedToUserW
BH_SUCCESS
BH_UNKNOWN_ERROR
BHv1 detected.
BHv2 detected.
BiChangeSessionState
!B!I!c!o!8"v"
Bid2Etw_ADODB_1
Bid2Etw_ADODB_1_Trace
Bid2Etw_ADODB_1_Trace_TextA
Bid2Etw_ADODB_1_Trace_TextW
Bid2Etw_ADOMD_1
Bid2Etw_ADOMD_1_Trace
Bid2Etw_ADOMD_1_Trace_TextA
Bid2Etw_ADOMD_1_Trace_TextW
Bid2Etw_BCP_1
Bid2Etw_BCP_1_Trace
Bid2Etw_BCP_1_Trace_TextA
Bid2Etw_BCP_1_Trace_TextW
Bid2Etw_DBNETLIB_1
Bid2Etw_DBNETLIB_1_Trace
Bid2Etw_DBNETLIB_1_Trace_TextA
Bid2Etw_DBNETLIB_1_Trace_TextW
Bid2Etw_MSADCE_1
Bid2Etw_MSADCE_1_Trace
Bid2Etw_MSADCE_1_Trace_TextA
Bid2Etw_MSADCE_1_Trace_TextW
Bid2Etw_MSADCF_1
Bid2Etw_MSADCF_1_Trace
Bid2Etw_MSADCF_1_Trace_TextA
Bid2Etw_MSADCF_1_Trace_TextW
Bid2Etw_MSADCO_1
Bid2Etw_MSADCO_1_Trace
Bid2Etw_MSADCO_1_Trace_TextA
Bid2Etw_MSADCO_1_Trace_TextW
Bid2Etw_MSADDS_1
Bid2Etw_MSADDS_1_Trace
Bid2Etw_MSADDS_1_Trace_TextA
Bid2Etw_MSADDS_1_Trace_TextW
Bid2Etw_MSADOX_1
Bid2Etw_MSADOX_1_Trace
Bid2Etw_MSADOX_1_Trace_TextA
Bid2Etw_MSADOX_1_Trace_TextW
Bid2Etw_MSDADIAG_ETW
Bid2Etw_MSDADIAG_ETW_Trace
Bid2Etw_MSDADIAG_ETW_Trace_TextA
Bid2Etw_MSDADIAG_ETW_Trace_TextW
Bid2Etw_MSDAPRST_1
Bid2Etw_MSDAPRST_1_Trace
Bid2Etw_MSDAPRST_1_Trace_TextA
Bid2Etw_MSDAPRST_1_Trace_TextW
Bid2Etw_MSDAREM_1
Bid2Etw_MSDAREM_1_Trace
Bid2Etw_MSDAREM_1_Trace_TextA
Bid2Etw_MSDAREM_1_Trace_TextW
Bid2Etw_MSDART_1
Bid2Etw_MSDART_1_Trace
Bid2Etw_MSDART_1_Trace_TextA
Bid2Etw_MSDART_1_Trace_TextW
Bid2Etw_MSDASQL_1
Bid2Etw_MSDASQL_1_Trace
Bid2Etw_MSDASQL_1_Trace_TextA
Bid2Etw_MSDASQL_1_Trace_TextW
Bid2Etw_MSDATL3_1
Bid2Etw_MSDATL3_1_Trace
Bid2Etw_MSDATL3_1_Trace_TextA
Bid2Etw_MSDATL3_1_Trace_TextW
Bid2Etw_ODBC_1
Bid2Etw_ODBC_1_Trace
Bid2Etw_ODBC_1_Trace_TextA
Bid2Etw_ODBC_1_Trace_TextW
Bid2Etw_ODBCBCP_1
Bid2Etw_ODBCBCP_1_Trace
Bid2Etw_ODBCBCP_1_Trace_TextA
Bid2Etw_ODBCBCP_1_Trace_TextW
Bid2Etw_OLEDB_1
Bid2Etw_OLEDB_1_Trace
Bid2Etw_OLEDB_1_Trace_TextA
Bid2Etw_OLEDB_1_Trace_TextW
Bid2Etw_RowsetHelper_1
Bid2Etw_RowsetHelper_1_Trace
Bid2Etw_RowsetHelper_1_Trace_TextA
Bid2Etw_RowsetHelper_1_Trace_TextW
Bid2Etw_SQLOLEDB_1
Bid2Etw_SQLOLEDB_1_Trace
Bid2Etw_SQLOLEDB_1_Trace_TextA
Bid2Etw_SQLOLEDB_1_Trace_TextW
Bid2Etw_SQLSRV32_1
Bid2Etw_SQLSRV32_1_Trace
Bid2Etw_SQLSRV32_1_Trace_TextA
Bid2Etw_SQLSRV32_1_Trace_TextW
??Bid@locale@std@@QEAA_KXZ
_bigCancelSource
_bigCancelToken
bIGFX_POWER_PLAN_DATA
BigStrcat
;B;I;M;Y;_;c;n;t;
Binary Dump For Table Header
binaryinjector.h
BinaryOperation
BinaryReader
BinaryToHexString
BinaryWriter
bind failed
bind failed with error: 
BindingDefinition
BindingFlags
Binding local address with a socket
Binding_Type
BindIoCompletionCallback
BinFileVersion
bInherit
bInheritHandle
bInheritHandles
BiNotifyNewSessionComplete
BioDisabledByPolicyReason
BioIsEnrolled
BioIsHwAvailable
BioIso.exe
BioIso.pdb
BioRefreshBioUnits
BioRefreshEnrolledBio
BioRefreshEnrollmentStatus
BioRefreshPolicy
BIOSBootString
BIOS does not support TDS.
BIOSLastStatus
BIOS lock is not supported.
BIOS Management
BIOSPause
BIOSReflash
BIOS Region read access permissions don't match Intel recommended values.
BIOS Region write access permissions don't match Intel recommended values.
BIOSSecureBoot
BIOSSetup
BioTrustletChannel
!Bi)OyZX
BiPtAssociateApplicationEntryPoint
BiPtEnumerateWorkItemsForPackageName
BiPtFreeMemory
BiPtQueryWorkItem
bIsResSupported
BISTExecution
_bIsWin10
BitConverter
BitCount
_bitDepth
BitDepth
Bit-Field
BITLOCKER
BitLockerDeviceEncryption.pdb
        BitLocker Drive Preparation Tool
Bitlocker.FveApi.AAD.RP.Backup
Bitlocker.FveApi.AD.RP.Backup.Retry
        BitLocker Service Launcher
BitLockerWizardElev.pdb
BitLockerWizard.pdb
BitmapFrame
--- Bitmap is not ready yet!
BitmapSizeOptions
BitmapSource
Bitmask of active clock throttle reasons. See nvml.h for more details.
Bitmask of supported clock throttle reasons. See nvml.h for more details.
bitsadmin.pdb
BitsEvent
_bitsPerSample
bitstream
B|Iuq0-M
Bj:pK'Bx!
BJweM-@@
bkgdservice.cpp
BkGndMonitorTask
bK]nd;f]
;b;k;o;u;y;
bL2_23e#
B@L9@@v	H
BlackScreenInstanceGuid
BlAllocateSlabPages
BlAmdSlGetTaCommands
Blank needed here
             blanks) may be used.
BlAppCheckDependency
BlAppendBootOptionBoolean
BlAppendBootOptionString
BlAppendUnicodeToString
BlAppSetDependency
BlArchCpuId
BlArchDetectSmt
BlArchGetCpuVendor
BlArchGetPerformanceCounter
BlArchIsCpuIdFunctionSupported
BlArchIsFiveLevelPagingActive
BlArchIsShadowStackSupported
BlArchKernelSetup
BlArchQueryIoPortAccessSupported
BlArchSetSecrets
BlBdDebuggerConnected
BlBdDebugTransitionsEnabled
BlBdGetExtensionName
BlBdGetMacAddressFromSmBiosUuid
BlBdGetPciDevicePath
BlBdInitializeDeviceDescriptor
BlBdInitializeTransportExtension
BlBdLoadImageSymbols
BlBdPatchIdt
BlBdReleaseDebuggingDevice
BlBdSetupDebugDevice
BlBdSetupDebuggingDevice
BlBdStart
BlBdStop
BlBootOptionExists
BlBsdCloseLog
BlBsdLogEntry
BlCnC@5@5
BlCopyBootOptions
BlCopyStringToUnicodeString
BlCopyStringToWcharString
BlCopyUnicodeStringToUnicodeString
BlCopyWcharStringToString
BlDeviceClose
BlDeviceCompare
BlDeviceGetInformation
BlDeviceGetIoInformation
BlDeviceOpen
BlDisplayFreeOemBitmap
BlDisplayGetOemBitmap
BlDisplayInvalidateOemBitmap
BlendAxisTypes
BlendDesignMap
BlendDesignPositions
BlendEnable
BlendOpAlpha
BlEnNotifyEvent
BlFileClose
BlFileCopyFile
BlFileExists
BlFileGetInformation
BlFileLoad
BlFileOpen
BlFileReadAtOffsetEx
BlFileReadEx
BlFileSetInformation
BlFileWrite
BlFveCheckPermission
BlFwGetAcpiMemoryMap
BlFwGetSystemTable
BlFwQueryEfiRuntimeVaRange
BlFwReboot
BlFwServicesAvailable
BlGetApplicationEntry
BlGetApplicationIdentifier
BlGetBootDevice
BlGetBootOptionBoolean
BlGetBootOptionDevice
BlGetBootOptionInteger
BlGetBootOptionString
BlGetDevice
BlGetDeviceIdentifier
BlGetExecutionEnvironment
BlGetLogicalProcessorCount
BlGetProcessorApicIds
BlImgFindSection
BlImgGetNtHeader
BlImgGetPEImageSize
BlImgGetSigningPolicy
BlImgGetWhqlEnforcementDateTime
BlImgIsBootUpgradedPlatform
BlImgIsUpgradedPlatform
BlImgIsUpgradeInProgress
BlImgIsWhqlDeveloperTestModeEnabled
BlImgIsWhqlDisabledBySetting
BlImgIsWhqlEnabledBySetting
BlImgIsWinPE
BlImgLoadImageWithProgress2
BlImgLoadPEImageEx
BlImgLoadPEImageWithPolicyValidatedHash
BlImgParseOsRevocationList
BlImgQueryCodeIntegrityBootOptions
BlImgRegisterCodeIntegrityCatalogDirectory
BlImgRegisterCodeIntegrityCatalogs
BlImgRsaKnownAnswerTest
BlImgSetRestrictedSigning
BlImgSetSigningPolicy
BlImgSetSysDevWhqlPolicy
BlImgSha1KnownAnswerTest
BlImgSha1MonteCarloTest
BlImgTrustCustomSignersForDrivers
BlImgUnLoadImage
BlImgVerifyFontIntegrity
blksize is larger than max supported
blksize is smaller than min supported
blksize parsed from OACK
BlLdrBuildImagePath
BlLdrFreeDataTableEntry
BlLdrLoadDll
BlLdrLoadImage
BlLdrPreloadFile
BlLdrPreloadImage
BlLdrUnloadImage
BlLogDestroy
BlLogDiagWrite
BlLogEtwRegister
BlLogEtwWrite
BlLogEtwWriteTransfer
BlLogInitialize
BlMmAddEnclavePageRange
BlMmAddPersistentPageRange
BlMmAllocateHeap
BlMmAllocatePages
BlMmAllocatePagesInRange
BlMmAllocatePhysicalPages
BlMmAllocatePhysicalPagesInRange
BlMmAllocatePhysicalPagesInRangeNuma
BlMmAllocateVirtualPages
BlMmDisableStaticDescriptors
BlMmEnableStaticDescriptors
BlMmEnumerateAllocations
BlMmFlushTlb
BlMmFreeHeap
BlMmFreePages
BlMmFreePhysicalPages
BlMmFreeVirtualPages
BlMmGetAllocationPages
BlMmGetMemoryMap
BlMmInitMemoryMapHandle
BlMmMapPhysicalAddress
BlMmMapPhysicalAddressEx
BlMmQueryLargePageSize
BlMmQueryTranslationType
BlMmReleaseMemoryMap
BlMmRemapVirtualAddress
BlMmTranslateEfiMemoryType
BlMmTranslateVirtualAddress
BlMmUnmapVirtualAddress
BlMmUnmapVirtualAddressEx
BlNumaGetNumaMemoryRanges
_blobData
_blobMd5
blobpointer
BlobsCount
_blobSize
BlObtainUnusedSlabPages
Block All: 
BlockAll
BlockCopy
blockDefault
BlockedAll
blockedExecutableWWW
BlockedOffensivePort
BlockedOffensivePortProtocol
blockedPIDWW
BlockElements
BlockHandle
BlockHidden
Blocking
Blocking call in progress
Blocking user logoff as configured by the command line
BlockInput
blocklist.cpp
blocklist.h
blockmap.cpp
blockmap.h
BlockName
BlockNumberW
Block Offensive Port: 
BlockOffensivePort
BlockOwnerApplication
blockquote
BlockSize
BlPdAllocateData
BlPdDestroyData
BlPdFreeData
BlPdPersistAllocations
BlPdQueryData
BlPdQueryDataAll
BlPdSaveData
BlPltReadPciConfig
BlpPdQueryData
BlpPdReleaseData
bLQ4Yo#8
BlRemoveBootOption
BlResourceFindDataFromImage
BlResourceFindMessage
BlResourceGetLanguageMapping
BlSealSecretToCurrentPcrValues
BlSecureBootGetNonVolatilePrivateVariable
BlSecureBootIgnoreSingleBootOption
BlSecureBootSetVolatilePrivateVariable
BlSetVirtualizationLaunched
BlSiAppLosingTpmAccess
BlSiCloseEnvironment
BlSiEnterInsecureStateEx
BlSiEnvironmentReady
BlSiFlushCurrentMeasurements
BlSiHandleHypervisorLaunchEvent
BlSiLeaveEnvironment
BlSiMeasureOsRevocationList
BlSiPaRecordConfigEvent
BlSiPaRecordDrtmConfigEvent
BlSiPaRecordEvent
BlSIPolicyCheckPolicyOnDevice
BlSIPolicyDoesActivePolicyGrantPermission
BlSIPolicyLoadAndActivateTemporalPolicy
BlSiSetDrtmEnvironmentUnsafe
BlStatusError
BlStatusPrint
BlStatusRegisterErrorHandler
BlSvnGetApplicationSvn
BlSvnGetChainStatus
BlSymCryptGetAesBlockCipher
BlSymCryptGetHmacSha256Algorithm
BlTblSetEntry
BlTcgFwSetAndLockMemoryOverwriteRequestControl
BlTimeGetRelativeTime
BlTimeQueryPerformanceCounter
BlTpmGetRandom
BlTpmShutdown
BlTpmStatus
BlTxtGetRlpParkPage
BlueDefaultLevel81
BlueFuzz
blueFuzz must not be negative
BlueMaximumW81
BlueMinimumW81
BlueScale
BlueShift
BlueStep81
BluetoothApis.dll
BluetoothAuthenticateDeviceEx
BluetoothCacheMode
BluetoothConnectionStatus
BluetoothDevice
BluetoothEnableDiscovery
BluetoothFindFirstRadio
BluetoothFindRadioClose
bluetoothGATTDevice
BluetoothGATTGetCharacteristics
BluetoothGATTGetCharacteristicValue
BluetoothGATTGetDescriptors
BluetoothGATTGetServices
BluetoothGATTRegisterEvent
BluetoothGATTSetCharacteristicValue
BluetoothGATTSetDescriptorValue
BluetoothGATTUnregisterEvent
BluetoothGetDeviceInfo
bluetoothLeDevice
BluetoothLEDevice
BlueValues
BlUpdateBootOptions
BlUtlCheckSum
BlUtlGetAcpiTable
BlUtlGetAcpiTableOverrides
BlUtlPopulateAcpiTableCache
BlUtlReleaseAcpiTable
BlUtlSetAcpiTableOverrides
BlUtlValidateMemoryRange
BlValidateAmeCertChain
BlVsmCheckSystemPolicy
BlVsmGetSystemPolicy
BlVsmKeysFindKeyMapByType
BlVsmKeysGetCurrentLKeyRefFromArray
BlVsmKeysGetCurrentLKeyRefFromPkg
BlVsmKeysReadAndUnsealLKeyPkg
BlVsmKeysSupportedByPlatform
BMccsGetCurrentWW
BmClCa(c(
_Bmfc_j5Oi
BMP output must be grayscale or RGB
:B:M:R:W:t:
BMSSOIBT
Bm*sy1oUb
bmuhTI.sevitimirP.slortnoC.lmaX.IU.swodniW
bmuhT.sevitimirP.slortnoC.lmaX.IU.swodniW
BMvRcyc|h
B;n71vMm
BNARROW_GAMUT_SET_FAILEDW
bne Keyboard Manager.
bNektet 
bne Lenovo Settings X
bning af f
:(;B;N;k;|;
BNNNNNNNNN
BNselectInstanceByIndexWWW
board_id
Board ID
board_temp
Bogus buffer control mode
Bogus DHT counts
Bogus Huffman table definition
Bogus input colorspace
Bogus JPEG colorspace
Bogus marker length
Bogus sampling factors
Bogus virtual array access
boJpilSrOtpieceRI.ecivreSfOtnioP.seciveD.swodniW
boJretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
boJtnirPlanruoJ.ecivreSfOtnioP.seciveD.swodniW
boJtnirPlanruoJI.ecivreSfOtnioP.seciveD.swodniW
boJtnirPpilS.ecivreSfOtnioP.seciveD.swodniW
boJtnirPpilSI.ecivreSfOtnioP.seciveD.swodniW
boJtnirPtpieceR.ecivreSfOtnioP.seciveD.swodniW
boJtnirPtpieceRI.ecivreSfOtnioP.seciveD.swodniW
bold text style
Bookmarks
BOOL *Allow
BOOL Allow
BOOL BackupEnabled;
BOOL BackupKeyPackage;
BOOL BackupRequired;
bool cannot have a precision
BOOLEAN AutoStartOnReinsertion
BOOLEAN ForceDismount
BOOLEAN IceIsUsedForFve : 1;    
BOOLEAN IsEfiEsp : 1;           
BOOLEAN IsRecovery : 1;         
BOOLEAN * IsValid
boolean or vector expression expected
BOOLEAN *pfEnabled
BOOLEAN WcosBsp : 1;            
BOOLEAN WcosDePolicy : 1;       
BOOLEAN WcosDpp : 1;            
BOOLEAN WcosEfiEsp : 1;         
BOOLEAN WcosMainOs : 1;         
BOOLEAN WcosOsData : 1;         
BOOLEAN WcosPreInstalled : 1;   
BOOLEAN WcosUserData : 1;       
BOOLEAN WcosWsp : 1;            
BOOLEAN WimBootHashCompleted : 1;   
BOOLEAN WimBootVolume : 1;  
BOOL Enabled
BOOL                    fCA;
BOOL                        fCertReq;               
BOOL                        fCNG;
BOOL                fCommercial;
BOOL                fCommercial;        
BOOL                fCritical;
BOOL                    fDeltaCrlEntry; 
BOOL fFinal
BOOL                        fHasFreshnessTime;
BOOL                    fHasFreshnessTime;
BOOL                    fHasRevocationFreshnessTime;
BOOL                   fHasRevocationFreshnessTime;
BOOL                    fIndirectCRL;
BOOL                        fInhibitPolicyMapping;
BOOL                fIV;            
BOOL                    fMaximum;
BOOL                fMinorVersion;      
BOOL                    fOnlyContainsCACerts;
BOOL                    fOnlyContainsUserCerts;
BOOL     ForceDismount
BOOL ForceDismount
BOOL                        fOrdering;                  
BOOL                    fPathLenConstraint;
BOOL                                fProxyCacheRetrieval;
BOOL                        fRequestCerts;              
BOOL                        fRequireExplicitPolicy;
BOOL *IsCompatible
BOOL *IsDeviceLocked
BOOL *pfCallerFreeProvOrNCryptKey
BOOL TpmPresent;
boost::bad_format_string: format-string is ill-formed
boost::filesystem::create_directories
boost::filesystem::create_directory
boost::filesystem::current_path
boost::filesystem::path codecvt to string
boost::filesystem::remove
boost::filesystem::rename
boost::filesystem::status
boost::format_error: format generic failure
boost_gain_0
boost_gain_1
boost_level_0
boost_level_1
boost-slider
 BOOST SLIDER:
    Boost Slider --   Control and list all boost sliders.
    boost-slider                Control and query boost sliders. "nvidia-smi boost-slider -h" for more information. 
boost::thread_resource_error
boost::too_few_args: format-string referred to more arguments than were passed
boost::too_many_args: format-string referred to fewer arguments than were passed
boost unique_lock has no mutex
boost unique_lock owns already the mutex
BOOT APPH
BOOT APPH9
Boot Application
BootApplicationId
BootAttemptCount
BootAttemptMaximum
bootcfg.pdb
BootConfigSetting
BootFilesServiced
Boot Guard must be enabled when PMF is unsigned.
Boot Guard Self Test Failed.
Boot Guard status test failed.
BootIM.pdb
BootMediaIndex
BOOTMGR    
BOOTMGR is compressed
BOOTMGR is missing
Boot Options: 
BootPerf
bootsect
bootsect.pdb
BootSequence
BootStatusPolicy
bootstrap
Bootstrap
BootString
BootType
BOOTUX.dll
Bopomofo
BopomofoExtended
			border: 1px solid #446;
borderColorSwizzle
borderColorSwizzleFromImage
--- Borked
Both builds have to be the same type: regular or engineering build.
Both operations will be aborted. (Get Restore Point can be started again after this).
BoTSNsly
			bottom: 25px;
BoxDrawing
			box-shadow: 0px 0px 10px #000;
BpDoDc)c)
BPE_COMMS_ERROR
BPE_CONNECT_FAILED
BPE_INITIALIZED_ALREADY
BPE_INTERNAL_ERROR
BPE_INVALID_BPK_FILE
BPE_INVALID_PARAMS
BPE_MESSAGE_ILLEGAL
BPE_MESSAGE_TOO_SHORT
BPE_NO_CONNECTION_TO_FIRMWARE
BPE_NOT_IMPLEMENT
BPE_NOT_INIT
BPE_OUT_OF_MEMORY
BPE_OUT_OF_RESOURCE
BPE_SERVICE_UNAVAILABLE
BPP_16_BITWWD
BPP_32_BITWW
b!pPolicyW 
b!pPolicyWd
bppppppppp
BP)R)y7y7
_	Br138*
_	Br152*
bR8Em@m_9
 bra BB0_
 bra BB0_7
braceleft
braceleftbt
braceleftmid
bracelefttp
braceright
bracerightbt
bracerightmid
bracerighttp
bracketleft
bracketleftbt
bracketleftex
bracketlefttp
bracketright
bracketrightbt
bracketrightex
bracketrighttp
BraillePatterns
[branch] 
BrandingFormatString
BrandingLoadString
bra.uni 
bra.uni .
bra.uni'
bra.uni@
bra.uni 0
bra.uni BB0_
bra.uni 	BB0_100;
bra.uni 	BB0_102;
bra.uni 	BB0_103;
bra.uni 	BB0_107;
bra.uni 	BB0_109;
bra.uni 	BB0_110;
bra.uni 	BB0_112;
bra.uni 	BB0_113;
bra.uni 	BB0_117;
bra.uni 	BB0_119;
bra.uni 	BB0_120;
bra.uni 	BB0_122;
bra.uni 	BB0_123;
bra.uni 	BB0_127;
bra.uni 	BB0_129;
bra.uni 	BB0_13;
bra.uni 	BB0_130;
bra.uni 	BB0_132;
bra.uni 	BB0_133;
bra.uni 	BB0_137;
bra.uni 	BB0_139;
bra.uni 	BB0_14;
bra.uni 	BB0_140;
bra.uni 	BB0_142;
bra.uni 	BB0_143;
bra.uni 	BB0_147;
bra.uni 	BB0_149;
bra.uni 	BB0_150;
bra.uni 	BB0_152;
bra.uni 	BB0_153;
bra.uni 	BB0_157;
bra.uni 	BB0_159;
bra.uni 	BB0_160;
bra.uni 	BB0_162;
bra.uni 	BB0_163;
bra.uni 	BB0_167;
bra.uni 	BB0_169;
bra.uni 	BB0_170;
bra.uni 	BB0_172;
bra.uni 	BB0_173;
bra.uni 	BB0_177;
bra.uni 	BB0_179;
bra.uni 	BB0_18;
bra.uni 	BB0_180;
bra.uni 	BB0_182;
bra.uni 	BB0_183;
bra.uni 	BB0_187;
bra.uni 	BB0_189;
bra.uni 	BB0_19;
bra.uni 	BB0_190;
bra.uni 	BB0_192;
bra.uni 	BB0_193;
bra.uni 	BB0_197;
bra.uni 	BB0_199;
bra.uni BB0_1q
bra.uni 	BB0_2;
bra.uni BB0_2
bra.uni 	BB0_200;
bra.uni 	BB0_202;
bra.uni 	BB0_203;
bra.uni 	BB0_207;
bra.uni 	BB0_209;
bra.uni 	BB0_210;
bra.uni 	BB0_212;
bra.uni 	BB0_213;
bra.uni 	BB0_217;
bra.uni 	BB0_219;
bra.uni 	BB0_220;
bra.uni 	BB0_222;
bra.uni 	BB0_223;
bra.uni 	BB0_227;
bra.uni 	BB0_229;
bra.uni 	BB0_23;
bra.uni 	BB0_230;
bra.uni 	BB0_232;
bra.uni 	BB0_233;
bra.uni 	BB0_237;
bra.uni 	BB0_24;
bra.uni 	BB0_28;
bra.uni 	BB0_29;
bra.uni 	BB0_3;
bra.uni BB0_3
bra.uni 	BB0_33;
bra.uni 	BB0_34;
bra.uni BB0_37i
bra.uni 	BB0_38;
bra.uni 	BB0_39;
bra.uni BB0_3L
bra.uni 	BB0_4;
bra.uni BB0_4
bra.uni 	BB0_44;
bra.uni 	BB0_46;
bra.uni 	BB0_48;
bra.uni 	BB0_50;
bra.uni 	BB0_52;
bra.uni 	BB0_54;
bra.uni 	BB0_56;
bra.uni 	BB0_58;
bra.uni 	BB0_61;
bra.uni 	BB0_63;
bra.uni 	BB0_65;
bra.uni 	BB0_67;
bra.uni 	BB0_69;
bra.uni 	BB0_71;
bra.uni 	BB0_73;
bra.uni 	BB0_75;
bra.uni 	BB0_77;
bra.uni 	BB0_78;
bra.uni 	BB0_79;
bra.uni 	BB0_8;
bra.uni 	BB0_80;
bra.uni 	BB0_82;
bra.uni 	BB0_83;
bra.uni 	BB0_87;
bra.uni 	BB0_89;
bra.uni 	BB0_9;
bra.uni 	BB0_90;
bra.uni 	BB0_92;
bra.uni 	BB0_93;
bra.uni 	BB0_97;
bra.uni 	BB0_99;
bra.uni BB0_?v
bra.uni BB0_x
bra.uni 	BB10_10;
bra.uni 	BB10_101;
bra.uni 	BB10_104;
bra.uni 	BB10_105;
bra.uni 	BB10_106;
bra.uni 	BB10_107;
bra.uni 	BB10_111;
bra.uni 	BB10_112;
bra.uni 	BB10_113;
bra.uni 	BB10_114;
bra.uni 	BB10_115;
bra.uni 	BB10_119;
bra.uni 	BB10_121;
bra.uni 	BB10_122;
bra.uni 	BB10_123;
bra.uni 	BB10_124;
bra.uni 	BB10_128;
bra.uni 	BB10_130;
bra.uni 	BB10_131;
bra.uni 	BB10_132;
bra.uni 	BB10_136;
bra.uni 	BB10_138;
bra.uni 	BB10_139;
bra.uni 	BB10_14;
bra.uni 	BB10_140;
bra.uni 	BB10_141;
bra.uni 	BB10_145;
bra.uni 	BB10_147;
bra.uni 	BB10_148;
bra.uni 	BB10_149;
bra.uni 	BB10_153;
bra.uni 	BB10_156;
bra.uni 	BB10_157;
bra.uni 	BB10_158;
bra.uni 	BB10_162;
bra.uni 	BB10_164;
bra.uni 	BB10_165;
bra.uni 	BB10_166;
bra.uni 	BB10_17;
bra.uni 	BB10_170;
bra.uni 	BB10_173;
bra.uni 	BB10_174;
bra.uni 	BB10_175;
bra.uni 	BB10_176;
bra.uni 	BB10_18;
bra.uni 	BB10_180;
bra.uni 	BB10_181;
bra.uni 	BB10_182;
bra.uni 	BB10_183;
bra.uni 	BB10_184;
bra.uni 	BB10_188;
bra.uni 	BB10_19;
bra.uni 	BB10_190;
bra.uni 	BB10_191;
bra.uni 	BB10_192;
bra.uni 	BB10_193;
bra.uni 	BB10_197;
bra.uni 	BB10_199;
bra.uni 	BB10_20;
bra.uni 	BB10_200;
bra.uni 	BB10_201;
bra.uni 	BB10_205;
bra.uni 	BB10_207;
bra.uni 	BB10_208;
bra.uni 	BB10_209;
bra.uni 	BB10_210;
bra.uni 	BB10_214;
bra.uni 	BB10_216;
bra.uni 	BB10_217;
bra.uni 	BB10_218;
bra.uni 	BB10_222;
bra.uni 	BB10_225;
bra.uni 	BB10_226;
bra.uni 	BB10_227;
bra.uni 	BB10_231;
bra.uni 	BB10_233;
bra.uni 	BB10_234;
bra.uni 	BB10_235;
bra.uni 	BB10_239;
bra.uni 	BB10_24;
bra.uni 	BB10_242;
bra.uni 	BB10_243;
bra.uni 	BB10_244;
bra.uni 	BB10_245;
bra.uni 	BB10_249;
bra.uni 	BB10_25;
bra.uni 	BB10_250;
bra.uni 	BB10_251;
bra.uni 	BB10_252;
bra.uni 	BB10_253;
bra.uni 	BB10_257;
bra.uni 	BB10_259;
bra.uni 	BB10_26;
bra.uni 	BB10_260;
bra.uni 	BB10_261;
bra.uni 	BB10_262;
bra.uni 	BB10_266;
bra.uni 	BB10_268;
bra.uni 	BB10_269;
bra.uni 	BB10_27;
bra.uni 	BB10_270;
bra.uni 	BB10_274;
bra.uni 	BB10_276;
bra.uni 	BB10_277;
bra.uni 	BB10_278;
bra.uni 	BB10_279;
bra.uni 	BB10_28;
bra.uni 	BB10_283;
bra.uni 	BB10_32;
bra.uni 	BB10_35;
bra.uni 	BB10_36;
bra.uni 	BB10_37;
bra.uni 	BB10_38;
bra.uni 	BB10_4;
bra.uni 	BB10_42;
bra.uni 	BB10_43;
bra.uni 	BB10_44;
bra.uni 	BB10_45;
bra.uni 	BB10_46;
bra.uni 	BB10_50;
bra.uni 	BB10_52;
bra.uni 	BB10_53;
bra.uni 	BB10_54;
bra.uni 	BB10_55;
bra.uni 	BB10_59;
bra.uni 	BB10_61;
bra.uni 	BB10_62;
bra.uni 	BB10_63;
bra.uni 	BB10_67;
bra.uni 	BB10_69;
bra.uni 	BB10_70;
bra.uni 	BB10_71;
bra.uni 	BB10_72;
bra.uni 	BB10_76;
bra.uni 	BB10_78;
bra.uni 	BB10_79;
bra.uni 	BB10_8;
bra.uni 	BB10_80;
bra.uni 	BB10_84;
bra.uni 	BB10_87;
bra.uni 	BB10_88;
bra.uni 	BB10_89;
bra.uni 	BB10_9;
bra.uni 	BB10_93;
bra.uni 	BB10_95;
bra.uni 	BB10_96;
bra.uni 	BB10_97;
bra.uni 	BB1_10;
bra.uni 	BB1_103;
bra.uni 	BB1_105;
bra.uni 	BB1_106;
bra.uni 	BB1_108;
bra.uni 	BB1_109;
bra.uni 	BB1_11;
bra.uni 	BB11_10;
bra.uni 	BB11_101;
bra.uni 	BB11_104;
bra.uni 	BB11_105;
bra.uni 	BB11_106;
bra.uni 	BB11_107;
bra.uni 	BB11_111;
bra.uni 	BB11_112;
bra.uni 	BB11_113;
bra.uni 	BB11_114;
bra.uni 	BB11_115;
bra.uni 	BB11_119;
bra.uni 	BB11_121;
bra.uni 	BB11_122;
bra.uni 	BB11_123;
bra.uni 	BB11_124;
bra.uni 	BB11_128;
bra.uni 	BB1_113;
bra.uni 	BB11_130;
bra.uni 	BB11_131;
bra.uni 	BB11_132;
bra.uni 	BB11_136;
bra.uni 	BB11_138;
bra.uni 	BB11_139;
bra.uni 	BB11_14;
bra.uni 	BB11_140;
bra.uni 	BB11_141;
bra.uni 	BB11_145;
bra.uni 	BB11_147;
bra.uni 	BB11_148;
bra.uni 	BB11_149;
bra.uni 	BB1_115;
bra.uni 	BB11_153;
bra.uni 	BB11_156;
bra.uni 	BB11_157;
bra.uni 	BB11_158;
bra.uni 	BB1_116;
bra.uni 	BB11_162;
bra.uni 	BB11_164;
bra.uni 	BB11_165;
bra.uni 	BB11_166;
bra.uni 	BB11_17;
bra.uni 	BB11_170;
bra.uni 	BB11_173;
bra.uni 	BB11_174;
bra.uni 	BB11_175;
bra.uni 	BB11_176;
bra.uni 	BB1_118;
bra.uni 	BB11_18;
bra.uni 	BB11_180;
bra.uni 	BB11_181;
bra.uni 	BB11_182;
bra.uni 	BB11_183;
bra.uni 	BB11_184;
bra.uni 	BB11_188;
bra.uni 	BB1_119;
bra.uni 	BB11_19;
bra.uni 	BB11_190;
bra.uni 	BB11_191;
bra.uni 	BB11_192;
bra.uni 	BB11_193;
bra.uni 	BB11_197;
bra.uni 	BB11_199;
bra.uni 	BB11_20;
bra.uni 	BB11_200;
bra.uni 	BB11_201;
bra.uni 	BB11_205;
bra.uni 	BB11_207;
bra.uni 	BB11_208;
bra.uni 	BB11_209;
bra.uni 	BB11_210;
bra.uni 	BB11_214;
bra.uni 	BB11_216;
bra.uni 	BB11_217;
bra.uni 	BB11_218;
bra.uni 	BB11_222;
bra.uni 	BB11_225;
bra.uni 	BB11_226;
bra.uni 	BB11_227;
bra.uni 	BB1_123;
bra.uni 	BB11_231;
bra.uni 	BB11_233;
bra.uni 	BB11_234;
bra.uni 	BB11_235;
bra.uni 	BB11_239;
bra.uni 	BB11_24;
bra.uni 	BB11_242;
bra.uni 	BB11_243;
bra.uni 	BB11_244;
bra.uni 	BB11_245;
bra.uni 	BB11_249;
bra.uni 	BB1_125;
bra.uni 	BB11_25;
bra.uni 	BB11_250;
bra.uni 	BB11_251;
bra.uni 	BB11_252;
bra.uni 	BB11_253;
bra.uni 	BB11_257;
bra.uni 	BB11_259;
bra.uni 	BB1_126;
bra.uni 	BB11_26;
bra.uni 	BB11_260;
bra.uni 	BB11_261;
bra.uni 	BB11_262;
bra.uni 	BB11_266;
bra.uni 	BB11_268;
bra.uni 	BB11_269;
bra.uni 	BB11_27;
bra.uni 	BB11_270;
bra.uni 	BB11_274;
bra.uni 	BB11_276;
bra.uni 	BB11_277;
bra.uni 	BB11_278;
bra.uni 	BB11_279;
bra.uni 	BB1_128;
bra.uni 	BB11_28;
bra.uni 	BB11_283;
bra.uni 	BB1_129;
bra.uni 	BB1_13;
bra.uni 	BB11_32;
bra.uni 	BB1_133;
bra.uni 	BB1_135;
bra.uni 	BB11_35;
bra.uni 	BB1_136;
bra.uni 	BB11_36;
bra.uni 	BB11_37;
bra.uni 	BB1_138;
bra.uni 	BB11_38;
bra.uni 	BB1_139;
bra.uni 	BB1_14;
bra.uni 	BB11_4;
bra.uni 	BB11_42;
bra.uni 	BB1_143;
bra.uni 	BB11_43;
bra.uni 	BB11_44;
bra.uni 	BB1_145;
bra.uni 	BB11_45;
bra.uni 	BB1_146;
bra.uni 	BB11_46;
bra.uni 	BB1_148;
bra.uni 	BB1_149;
bra.uni 	BB11_50;
bra.uni 	BB11_52;
bra.uni 	BB1_153;
bra.uni 	BB11_53;
bra.uni 	BB11_54;
bra.uni 	BB1_155;
bra.uni 	BB11_55;
bra.uni 	BB1_156;
bra.uni 	BB1_158;
bra.uni 	BB1_159;
bra.uni 	BB11_59;
bra.uni 	BB11_61;
bra.uni 	BB11_62;
bra.uni 	BB1_163;
bra.uni 	BB11_63;
bra.uni 	BB1_165;
bra.uni 	BB1_166;
bra.uni 	BB11_67;
bra.uni 	BB1_168;
bra.uni 	BB1_169;
bra.uni 	BB11_69;
bra.uni 	BB11_70;
bra.uni 	BB11_71;
bra.uni 	BB11_72;
bra.uni 	BB1_173;
bra.uni 	BB1_175;
bra.uni 	BB1_176;
bra.uni 	BB11_76;
bra.uni 	BB1_178;
bra.uni 	BB11_78;
bra.uni 	BB1_179;
bra.uni 	BB11_79;
bra.uni 	BB1_18;
bra.uni 	BB11_8;
bra.uni 	BB11_80;
bra.uni 	BB1_183;
bra.uni 	BB11_84;
bra.uni 	BB1_185;
bra.uni 	BB1_186;
bra.uni 	BB11_87;
bra.uni 	BB1_188;
bra.uni 	BB11_88;
bra.uni 	BB1_189;
bra.uni 	BB11_89;
bra.uni 	BB1_19;
bra.uni 	BB11_9;
bra.uni 	BB1_193;
bra.uni 	BB11_93;
bra.uni 	BB1_195;
bra.uni 	BB11_95;
bra.uni 	BB1_196;
bra.uni 	BB11_96;
bra.uni 	BB11_97;
bra.uni 	BB1_198;
bra.uni 	BB1_199;
bra.uni 	BB1_2;
bra.uni 	BB1_20;
bra.uni 	BB1_203;
bra.uni 	BB1_205;
bra.uni 	BB1_206;
bra.uni 	BB1_208;
bra.uni 	BB1_209;
bra.uni 	BB12_10;
bra.uni 	BB12_101;
bra.uni 	BB12_104;
bra.uni 	BB12_105;
bra.uni 	BB12_106;
bra.uni 	BB12_107;
bra.uni 	BB12_111;
bra.uni 	BB12_112;
bra.uni 	BB12_113;
bra.uni 	BB12_114;
bra.uni 	BB12_115;
bra.uni 	BB12_119;
bra.uni 	BB12_121;
bra.uni 	BB12_122;
bra.uni 	BB12_123;
bra.uni 	BB12_124;
bra.uni 	BB12_128;
bra.uni 	BB1_213;
bra.uni 	BB12_130;
bra.uni 	BB12_131;
bra.uni 	BB12_132;
bra.uni 	BB12_136;
bra.uni 	BB12_138;
bra.uni 	BB12_139;
bra.uni 	BB12_14;
bra.uni 	BB12_140;
bra.uni 	BB12_141;
bra.uni 	BB12_145;
bra.uni 	BB12_147;
bra.uni 	BB12_148;
bra.uni 	BB12_149;
bra.uni 	BB1_215;
bra.uni 	BB12_153;
bra.uni 	BB12_156;
bra.uni 	BB12_157;
bra.uni 	BB12_158;
bra.uni 	BB1_216;
bra.uni 	BB12_162;
bra.uni 	BB12_164;
bra.uni 	BB12_165;
bra.uni 	BB12_166;
bra.uni 	BB12_17;
bra.uni 	BB12_170;
bra.uni 	BB12_173;
bra.uni 	BB12_174;
bra.uni 	BB12_175;
bra.uni 	BB12_176;
bra.uni 	BB1_218;
bra.uni 	BB12_18;
bra.uni 	BB12_180;
bra.uni 	BB12_181;
bra.uni 	BB12_182;
bra.uni 	BB12_183;
bra.uni 	BB12_184;
bra.uni 	BB12_188;
bra.uni 	BB1_219;
bra.uni 	BB12_19;
bra.uni 	BB12_190;
bra.uni 	BB12_191;
bra.uni 	BB12_192;
bra.uni 	BB12_193;
bra.uni 	BB12_197;
bra.uni 	BB12_199;
bra.uni 	BB1_22;
bra.uni 	BB12_20;
bra.uni 	BB12_200;
bra.uni 	BB12_201;
bra.uni 	BB12_205;
bra.uni 	BB12_207;
bra.uni 	BB12_208;
bra.uni 	BB12_209;
bra.uni 	BB12_210;
bra.uni 	BB12_214;
bra.uni 	BB12_216;
bra.uni 	BB12_217;
bra.uni 	BB12_218;
bra.uni 	BB12_222;
bra.uni 	BB12_225;
bra.uni 	BB12_226;
bra.uni 	BB12_227;
bra.uni 	BB1_223;
bra.uni 	BB12_231;
bra.uni 	BB12_233;
bra.uni 	BB12_234;
bra.uni 	BB12_235;
bra.uni 	BB12_239;
bra.uni 	BB12_24;
bra.uni 	BB12_242;
bra.uni 	BB12_243;
bra.uni 	BB12_244;
bra.uni 	BB12_245;
bra.uni 	BB12_249;
bra.uni 	BB1_225;
bra.uni 	BB12_25;
bra.uni 	BB12_250;
bra.uni 	BB12_251;
bra.uni 	BB12_252;
bra.uni 	BB12_253;
bra.uni 	BB12_257;
bra.uni 	BB12_259;
bra.uni 	BB1_226;
bra.uni 	BB12_26;
bra.uni 	BB12_260;
bra.uni 	BB12_261;
bra.uni 	BB12_262;
bra.uni 	BB12_266;
bra.uni 	BB12_268;
bra.uni 	BB12_269;
bra.uni 	BB12_27;
bra.uni 	BB12_270;
bra.uni 	BB12_274;
bra.uni 	BB12_276;
bra.uni 	BB12_277;
bra.uni 	BB12_278;
bra.uni 	BB12_279;
bra.uni 	BB1_228;
bra.uni 	BB12_28;
bra.uni 	BB12_283;
bra.uni 	BB1_229;
bra.uni 	BB1_23;
bra.uni 	BB12_32;
bra.uni 	BB1_233;
bra.uni 	BB12_35;
bra.uni 	BB12_36;
bra.uni 	BB12_37;
bra.uni 	BB12_38;
bra.uni 	BB12_4;
bra.uni 	BB12_42;
bra.uni 	BB12_43;
bra.uni 	BB12_44;
bra.uni 	BB12_45;
bra.uni 	BB12_46;
bra.uni 	BB12_50;
bra.uni 	BB12_52;
bra.uni 	BB12_53;
bra.uni 	BB12_54;
bra.uni 	BB12_55;
bra.uni 	BB12_59;
bra.uni 	BB12_61;
bra.uni 	BB12_62;
bra.uni 	BB12_63;
bra.uni 	BB12_67;
bra.uni 	BB12_69;
bra.uni 	BB1_27;
bra.uni 	BB12_70;
bra.uni 	BB12_71;
bra.uni 	BB12_72;
bra.uni 	BB12_76;
bra.uni 	BB12_78;
bra.uni 	BB12_79;
bra.uni 	BB1_28;
bra.uni 	BB12_8;
bra.uni 	BB12_80;
bra.uni 	BB12_84;
bra.uni 	BB12_87;
bra.uni 	BB12_88;
bra.uni 	BB12_89;
bra.uni 	BB1_29;
bra.uni 	BB12_9;
bra.uni 	BB12_93;
bra.uni 	BB12_95;
bra.uni 	BB12_96;
bra.uni 	BB12_97;
bra.uni 	BB1_31;
bra.uni 	BB13_10;
bra.uni 	BB13_101;
bra.uni 	BB13_104;
bra.uni 	BB13_105;
bra.uni 	BB13_106;
bra.uni 	BB13_107;
bra.uni 	BB13_111;
bra.uni 	BB13_112;
bra.uni 	BB13_113;
bra.uni 	BB13_114;
bra.uni 	BB13_115;
bra.uni 	BB13_119;
bra.uni 	BB13_121;
bra.uni 	BB13_122;
bra.uni 	BB13_123;
bra.uni 	BB13_124;
bra.uni 	BB13_128;
bra.uni 	BB13_130;
bra.uni 	BB13_131;
bra.uni 	BB13_132;
bra.uni 	BB13_136;
bra.uni 	BB13_138;
bra.uni 	BB13_139;
bra.uni 	BB13_14;
bra.uni 	BB13_140;
bra.uni 	BB13_141;
bra.uni 	BB13_145;
bra.uni 	BB13_147;
bra.uni 	BB13_148;
bra.uni 	BB13_149;
bra.uni 	BB13_153;
bra.uni 	BB13_156;
bra.uni 	BB13_157;
bra.uni 	BB13_158;
bra.uni 	BB13_162;
bra.uni 	BB13_164;
bra.uni 	BB13_165;
bra.uni 	BB13_166;
bra.uni 	BB13_17;
bra.uni 	BB13_170;
bra.uni 	BB13_173;
bra.uni 	BB13_174;
bra.uni 	BB13_175;
bra.uni 	BB13_176;
bra.uni 	BB13_18;
bra.uni 	BB13_180;
bra.uni 	BB13_181;
bra.uni 	BB13_182;
bra.uni 	BB13_183;
bra.uni 	BB13_184;
bra.uni 	BB13_188;
bra.uni 	BB13_19;
bra.uni 	BB13_190;
bra.uni 	BB13_191;
bra.uni 	BB13_192;
bra.uni 	BB13_193;
bra.uni 	BB13_197;
bra.uni 	BB13_199;
bra.uni 	BB1_32;
bra.uni 	BB13_20;
bra.uni 	BB13_200;
bra.uni 	BB13_201;
bra.uni 	BB13_205;
bra.uni 	BB13_207;
bra.uni 	BB13_208;
bra.uni 	BB13_209;
bra.uni 	BB13_210;
bra.uni 	BB13_214;
bra.uni 	BB13_216;
bra.uni 	BB13_217;
bra.uni 	BB13_218;
bra.uni 	BB13_222;
bra.uni 	BB13_225;
bra.uni 	BB13_226;
bra.uni 	BB13_227;
bra.uni 	BB13_231;
bra.uni 	BB13_233;
bra.uni 	BB13_234;
bra.uni 	BB13_235;
bra.uni 	BB13_239;
bra.uni 	BB13_24;
bra.uni 	BB13_242;
bra.uni 	BB13_243;
bra.uni 	BB13_244;
bra.uni 	BB13_245;
bra.uni 	BB13_249;
bra.uni 	BB13_25;
bra.uni 	BB13_250;
bra.uni 	BB13_251;
bra.uni 	BB13_252;
bra.uni 	BB13_253;
bra.uni 	BB13_257;
bra.uni 	BB13_259;
bra.uni 	BB13_26;
bra.uni 	BB13_260;
bra.uni 	BB13_261;
bra.uni 	BB13_262;
bra.uni 	BB13_266;
bra.uni 	BB13_268;
bra.uni 	BB13_269;
bra.uni 	BB13_27;
bra.uni 	BB13_270;
bra.uni 	BB13_274;
bra.uni 	BB13_276;
bra.uni 	BB13_277;
bra.uni 	BB13_278;
bra.uni 	BB13_279;
bra.uni 	BB13_28;
bra.uni 	BB13_283;
bra.uni 	BB13_32;
bra.uni 	BB13_35;
bra.uni 	BB13_36;
bra.uni 	BB13_37;
bra.uni 	BB13_38;
bra.uni 	BB13_4;
bra.uni 	BB13_42;
bra.uni 	BB13_43;
bra.uni 	BB13_44;
bra.uni 	BB13_45;
bra.uni 	BB13_46;
bra.uni 	BB13_50;
bra.uni 	BB13_52;
bra.uni 	BB13_53;
bra.uni 	BB13_54;
bra.uni 	BB13_55;
bra.uni 	BB13_59;
bra.uni 	BB1_36;
bra.uni 	BB13_61;
bra.uni 	BB13_62;
bra.uni 	BB13_63;
bra.uni 	BB13_67;
bra.uni 	BB13_69;
bra.uni 	BB1_37;
bra.uni 	BB13_70;
bra.uni 	BB13_71;
bra.uni 	BB13_72;
bra.uni 	BB13_76;
bra.uni 	BB13_78;
bra.uni 	BB13_79;
bra.uni 	BB1_38;
bra.uni 	BB13_8;
bra.uni 	BB13_80;
bra.uni 	BB13_84;
bra.uni 	BB13_87;
bra.uni 	BB13_88;
bra.uni 	BB13_89;
bra.uni 	BB13_9;
bra.uni 	BB13_93;
bra.uni 	BB13_95;
bra.uni 	BB13_96;
bra.uni 	BB13_97;
bra.uni 	BB1_4;
bra.uni 	BB1_40;
bra.uni 	BB1_41;
bra.uni 	BB14_11;
bra.uni 	BB14_13;
bra.uni 	BB14_14;
bra.uni 	BB14_15;
bra.uni 	BB14_17;
bra.uni 	BB14_18;
bra.uni 	BB14_20;
bra.uni 	BB14_24;
bra.uni 	BB14_26;
bra.uni 	BB14_28;
bra.uni 	BB14_29;
bra.uni 	BB14_31;
bra.uni 	BB14_35;
bra.uni 	BB14_37;
bra.uni 	BB14_39;
bra.uni 	BB14_4;
bra.uni 	BB14_40;
bra.uni 	BB14_42;
bra.uni 	BB14_46;
bra.uni 	BB14_48;
bra.uni 	BB1_45;
bra.uni 	BB14_50;
bra.uni 	BB14_51;
bra.uni 	BB1_46;
bra.uni 	BB1_47;
bra.uni 	BB14_8;
bra.uni 	BB1_49;
bra.uni 	BB1_5;
bra.uni 	BB1_50;
bra.uni 	BB15_11;
bra.uni 	BB15_13;
bra.uni 	BB15_14;
bra.uni 	BB15_15;
bra.uni 	BB15_17;
bra.uni 	BB15_18;
bra.uni 	BB15_20;
bra.uni 	BB15_24;
bra.uni 	BB15_26;
bra.uni 	BB15_28;
bra.uni 	BB15_29;
bra.uni 	BB15_31;
bra.uni 	BB15_35;
bra.uni 	BB15_37;
bra.uni 	BB15_39;
bra.uni 	BB1_54;
bra.uni 	BB15_4;
bra.uni 	BB15_40;
bra.uni 	BB15_42;
bra.uni 	BB15_46;
bra.uni 	BB15_48;
bra.uni 	BB1_55;
bra.uni 	BB15_50;
bra.uni 	BB15_51;
bra.uni 	BB1_56;
bra.uni 	BB1_58;
bra.uni 	BB15_8;
bra.uni 	BB1_59;
bra.uni 	BB1_63;
bra.uni 	BB1_64;
bra.uni 	BB1_65;
bra.uni 	BB16_6;
bra.uni 	BB1_67;
bra.uni 	BB1_68;
bra.uni 	BB16_8;
bra.uni 	BB1_72;
bra.uni 	BB1_73;
bra.uni 	BB1_74;
bra.uni 	BB1_75;
bra.uni 	BB1_76;
bra.uni 	BB17_6;
bra.uni 	BB1_78;
bra.uni 	BB17_8;
bra.uni 	BB1_79;
bra.uni 	BB18_10;
bra.uni 	BB18_12;
bra.uni 	BB18_14;
bra.uni 	BB18_15;
bra.uni 	BB18_17;
bra.uni 	BB18_19;
bra.uni 	BB18_21;
bra.uni 	BB18_22;
bra.uni 	BB18_24;
bra.uni 	BB18_26;
bra.uni 	BB18_27;
bra.uni 	BB18_29;
bra.uni 	BB1_83;
bra.uni 	BB18_3;
bra.uni 	BB18_31;
bra.uni 	BB18_33;
bra.uni 	BB18_34;
bra.uni 	BB18_36;
bra.uni 	BB18_37;
bra.uni 	BB18_38;
bra.uni 	BB1_85;
bra.uni 	BB1_86;
bra.uni 	BB18_6;
bra.uni 	BB1_88;
bra.uni 	BB18_8;
bra.uni 	BB1_89;
bra.uni 	BB1_9;
bra.uni 	BB19_10;
bra.uni 	BB19_12;
bra.uni 	BB19_14;
bra.uni 	BB19_15;
bra.uni 	BB19_17;
bra.uni 	BB19_19;
bra.uni 	BB19_21;
bra.uni 	BB19_22;
bra.uni 	BB19_24;
bra.uni 	BB19_26;
bra.uni 	BB19_27;
bra.uni 	BB19_29;
bra.uni 	BB1_93;
bra.uni 	BB19_3;
bra.uni 	BB19_31;
bra.uni 	BB19_33;
bra.uni 	BB19_34;
bra.uni 	BB19_36;
bra.uni 	BB19_37;
bra.uni 	BB19_38;
bra.uni 	BB1_95;
bra.uni 	BB1_96;
bra.uni 	BB19_6;
bra.uni 	BB1_98;
bra.uni 	BB19_8;
bra.uni 	BB1_99;
bra.uni 	BB20_10;
bra.uni 	BB20_12;
bra.uni 	BB20_14;
bra.uni 	BB20_15;
bra.uni 	BB20_17;
bra.uni 	BB20_19;
bra.uni 	BB20_21;
bra.uni 	BB20_22;
bra.uni 	BB20_24;
bra.uni 	BB20_26;
bra.uni 	BB20_27;
bra.uni 	BB20_29;
bra.uni 	BB20_3;
bra.uni 	BB20_31;
bra.uni 	BB20_33;
bra.uni 	BB20_34;
bra.uni 	BB20_36;
bra.uni 	BB20_37;
bra.uni 	BB20_38;
bra.uni 	BB20_6;
bra.uni 	BB20_8;
bra.uni 	BB2_10;
bra.uni 	BB2_103;
bra.uni 	BB2_105;
bra.uni 	BB2_106;
bra.uni 	BB2_108;
bra.uni 	BB2_109;
bra.uni 	BB2_11;
bra.uni 	BB21_10;
bra.uni 	BB21_12;
bra.uni 	BB2_113;
bra.uni 	BB21_14;
bra.uni 	BB2_115;
bra.uni 	BB21_15;
bra.uni 	BB2_116;
bra.uni 	BB21_17;
bra.uni 	BB2_118;
bra.uni 	BB2_119;
bra.uni 	BB21_19;
bra.uni 	BB21_21;
bra.uni 	BB21_22;
bra.uni 	BB2_123;
bra.uni 	BB21_24;
bra.uni 	BB2_125;
bra.uni 	BB2_126;
bra.uni 	BB21_26;
bra.uni 	BB21_27;
bra.uni 	BB2_128;
bra.uni 	BB2_129;
bra.uni 	BB21_29;
bra.uni 	BB2_13;
bra.uni 	BB21_3;
bra.uni 	BB21_31;
bra.uni 	BB2_133;
bra.uni 	BB21_33;
bra.uni 	BB21_34;
bra.uni 	BB2_135;
bra.uni 	BB2_136;
bra.uni 	BB21_36;
bra.uni 	BB21_37;
bra.uni 	BB2_138;
bra.uni 	BB21_38;
bra.uni 	BB2_139;
bra.uni 	BB2_14;
bra.uni 	BB2_143;
bra.uni 	BB2_145;
bra.uni 	BB2_146;
bra.uni 	BB2_148;
bra.uni 	BB2_149;
bra.uni 	BB2_153;
bra.uni 	BB2_155;
bra.uni 	BB2_156;
bra.uni 	BB2_158;
bra.uni 	BB2_159;
bra.uni 	BB21_6;
bra.uni 	BB2_163;
bra.uni 	BB2_165;
bra.uni 	BB2_166;
bra.uni 	BB2_168;
bra.uni 	BB2_169;
bra.uni 	BB2_173;
bra.uni 	BB2_175;
bra.uni 	BB2_176;
bra.uni 	BB2_178;
bra.uni 	BB2_179;
bra.uni 	BB2_18;
bra.uni 	BB21_8;
bra.uni 	BB2_183;
bra.uni 	BB2_185;
bra.uni 	BB2_186;
bra.uni 	BB2_188;
bra.uni 	BB2_189;
bra.uni 	BB2_19;
bra.uni 	BB2_193;
bra.uni 	BB2_195;
bra.uni 	BB2_196;
bra.uni 	BB2_198;
bra.uni 	BB2_199;
bra.uni 	BB2_2;
bra.uni 	BB2_20;
bra.uni 	BB2_203;
bra.uni 	BB2_205;
bra.uni 	BB2_206;
bra.uni 	BB2_208;
bra.uni 	BB2_209;
bra.uni 	BB2_213;
bra.uni 	BB2_215;
bra.uni 	BB2_216;
bra.uni 	BB2_218;
bra.uni 	BB2_219;
bra.uni 	BB2_22;
bra.uni 	BB2_223;
bra.uni 	BB2_225;
bra.uni 	BB2_226;
bra.uni 	BB2_228;
bra.uni 	BB2_229;
bra.uni 	BB2_23;
bra.uni 	BB22_3;
bra.uni 	BB2_233;
bra.uni 	BB2_27;
bra.uni 	BB2_28;
bra.uni 	BB2_29;
bra.uni 	BB2_31;
bra.uni 	BB2_32;
bra.uni 	BB23_3;
bra.uni 	BB2_36;
bra.uni 	BB2_37;
bra.uni 	BB2_38;
bra.uni 	BB2_4;
bra.uni 	BB2_40;
bra.uni 	BB2_41;
bra.uni 	BB24_3;
bra.uni 	BB24_4;
bra.uni 	BB2_45;
bra.uni 	BB2_46;
bra.uni 	BB24_6;
bra.uni 	BB2_47;
bra.uni 	BB2_49;
bra.uni 	BB2_5;
bra.uni 	BB2_50;
bra.uni 	BB25_3;
bra.uni 	BB2_54;
bra.uni 	BB25_4;
bra.uni 	BB2_55;
bra.uni 	BB2_56;
bra.uni 	BB25_6;
bra.uni 	BB2_58;
bra.uni 	BB2_59;
bra.uni 	BB2_63;
bra.uni 	BB26_3;
bra.uni 	BB2_64;
bra.uni 	BB26_4;
bra.uni 	BB2_65;
bra.uni 	BB26_6;
bra.uni 	BB2_67;
bra.uni 	BB2_68;
bra.uni 	BB2_72;
bra.uni 	BB2_73;
bra.uni 	BB2_74;
bra.uni 	BB2_75;
bra.uni 	BB2_76;
bra.uni 	BB2_78;
bra.uni 	BB2_79;
bra.uni 	BB2_83;
bra.uni 	BB2_85;
bra.uni 	BB2_86;
bra.uni 	BB2_88;
bra.uni 	BB2_89;
bra.uni 	BB2_9;
bra.uni 	BB2_93;
bra.uni 	BB2_95;
bra.uni 	BB2_96;
bra.uni 	BB2_98;
bra.uni 	BB2_99;
bra.uni 	BB3_10;
bra.uni 	BB3_103;
bra.uni 	BB3_105;
bra.uni 	BB3_106;
bra.uni 	BB3_108;
bra.uni 	BB3_109;
bra.uni 	BB3_11;
bra.uni 	BB3_113;
bra.uni 	BB3_115;
bra.uni 	BB3_116;
bra.uni 	BB3_118;
bra.uni 	BB3_119;
bra.uni 	BB3_123;
bra.uni 	BB3_125;
bra.uni 	BB3_126;
bra.uni 	BB3_128;
bra.uni 	BB3_129;
bra.uni 	BB3_13;
bra.uni 	BB3_133;
bra.uni 	BB3_135;
bra.uni 	BB3_136;
bra.uni 	BB3_138;
bra.uni 	BB3_139;
bra.uni 	BB3_14;
bra.uni 	BB3_143;
bra.uni 	BB3_145;
bra.uni 	BB3_146;
bra.uni 	BB3_148;
bra.uni 	BB3_149;
bra.uni 	BB3_153;
bra.uni 	BB3_155;
bra.uni 	BB3_156;
bra.uni 	BB3_158;
bra.uni 	BB3_159;
bra.uni 	BB3_163;
bra.uni 	BB3_165;
bra.uni 	BB3_166;
bra.uni 	BB3_168;
bra.uni 	BB3_169;
bra.uni 	BB3_173;
bra.uni 	BB3_175;
bra.uni 	BB3_176;
bra.uni 	BB3_178;
bra.uni 	BB3_179;
bra.uni 	BB3_18;
bra.uni 	BB3_183;
bra.uni 	BB3_185;
bra.uni 	BB3_186;
bra.uni 	BB3_188;
bra.uni 	BB3_189;
bra.uni 	BB3_19;
bra.uni 	BB3_193;
bra.uni 	BB3_195;
bra.uni 	BB3_196;
bra.uni 	BB3_198;
bra.uni 	BB3_199;
bra.uni 	BB3_2;
bra.uni 	BB3_20;
bra.uni 	BB3_203;
bra.uni 	BB3_205;
bra.uni 	BB3_206;
bra.uni 	BB3_208;
bra.uni 	BB3_209;
bra.uni 	BB3_213;
bra.uni 	BB3_215;
bra.uni 	BB3_216;
bra.uni 	BB3_218;
bra.uni 	BB3_219;
bra.uni 	BB3_22;
bra.uni 	BB3_223;
bra.uni 	BB3_225;
bra.uni 	BB3_226;
bra.uni 	BB3_228;
bra.uni 	BB3_229;
bra.uni 	BB3_23;
bra.uni 	BB3_233;
bra.uni 	BB3_27;
bra.uni 	BB3_28;
bra.uni 	BB3_29;
bra.uni 	BB3_31;
bra.uni 	BB3_32;
bra.uni 	BB3_36;
bra.uni 	BB3_37;
bra.uni 	BB3_38;
bra.uni 	BB3_4;
bra.uni 	BB3_40;
bra.uni 	BB3_41;
bra.uni 	BB3_45;
bra.uni 	BB3_46;
bra.uni 	BB3_47;
bra.uni 	BB3_49;
bra.uni 	BB3_5;
bra.uni 	BB3_50;
bra.uni 	BB3_54;
bra.uni 	BB3_55;
bra.uni 	BB3_56;
bra.uni 	BB3_58;
bra.uni 	BB3_59;
bra.uni 	BB3_63;
bra.uni 	BB3_64;
bra.uni 	BB3_65;
bra.uni 	BB3_67;
bra.uni 	BB3_68;
bra.uni 	BB3_72;
bra.uni 	BB3_73;
bra.uni 	BB3_74;
bra.uni 	BB3_75;
bra.uni 	BB3_76;
bra.uni 	BB3_78;
bra.uni 	BB3_79;
bra.uni 	BB3_83;
bra.uni 	BB3_85;
bra.uni 	BB3_86;
bra.uni 	BB3_88;
bra.uni 	BB3_89;
bra.uni 	BB3_9;
bra.uni 	BB3_93;
bra.uni 	BB3_95;
bra.uni 	BB3_96;
bra.uni 	BB3_98;
bra.uni 	BB3_99;
bra.uni 	BB4_10;
bra.uni 	BB4_11;
bra.uni 	BB4_15;
bra.uni 	BB4_19;
bra.uni 	BB4_2;
bra.uni 	BB4_23;
bra.uni 	BB4_27;
bra.uni 	BB4_31;
bra.uni 	BB4_35;
bra.uni 	BB4_39;
bra.uni 	BB4_4;
bra.uni 	BB4_6;
bra.uni 	BB4_8;
bra.uni 	BB5_10;
bra.uni 	BB5_11;
bra.uni 	BB5_15;
bra.uni 	BB5_19;
bra.uni 	BB5_2;
bra.uni 	BB5_23;
bra.uni 	BB5_27;
bra.uni 	BB5_31;
bra.uni 	BB5_35;
bra.uni 	BB5_39;
bra.uni 	BB5_4;
bra.uni 	BB5_6;
bra.uni 	BB5_8;
bra.uni 	BB6_10;
bra.uni 	BB6_100;
bra.uni 	BB6_101;
bra.uni 	BB6_102;
bra.uni 	BB6_106;
bra.uni 	BB6_109;
bra.uni 	BB6_111;
bra.uni 	BB6_112;
bra.uni 	BB6_113;
bra.uni 	BB6_114;
bra.uni 	BB6_118;
bra.uni 	BB6_119;
bra.uni 	BB6_120;
bra.uni 	BB6_121;
bra.uni 	BB6_122;
bra.uni 	BB6_126;
bra.uni 	BB6_128;
bra.uni 	BB6_129;
bra.uni 	BB6_130;
bra.uni 	BB6_131;
bra.uni 	BB6_135;
bra.uni 	BB6_137;
bra.uni 	BB6_138;
bra.uni 	BB6_139;
bra.uni 	BB6_14;
bra.uni 	BB6_143;
bra.uni 	BB6_145;
bra.uni 	BB6_146;
bra.uni 	BB6_147;
bra.uni 	BB6_148;
bra.uni 	BB6_152;
bra.uni 	BB6_154;
bra.uni 	BB6_155;
bra.uni 	BB6_156;
bra.uni 	BB6_160;
bra.uni 	BB6_164;
bra.uni 	BB6_165;
bra.uni 	BB6_166;
bra.uni 	BB6_17;
bra.uni 	BB6_170;
bra.uni 	BB6_172;
bra.uni 	BB6_173;
bra.uni 	BB6_174;
bra.uni 	BB6_178;
bra.uni 	BB6_181;
bra.uni 	BB6_183;
bra.uni 	BB6_184;
bra.uni 	BB6_185;
bra.uni 	BB6_186;
bra.uni 	BB6_19;
bra.uni 	BB6_190;
bra.uni 	BB6_191;
bra.uni 	BB6_192;
bra.uni 	BB6_193;
bra.uni 	BB6_194;
bra.uni 	BB6_198;
bra.uni 	BB6_20;
bra.uni 	BB6_200;
bra.uni 	BB6_201;
bra.uni 	BB6_202;
bra.uni 	BB6_203;
bra.uni 	BB6_207;
bra.uni 	BB6_209;
bra.uni 	BB6_21;
bra.uni 	BB6_210;
bra.uni 	BB6_211;
bra.uni 	BB6_215;
bra.uni 	BB6_217;
bra.uni 	BB6_218;
bra.uni 	BB6_219;
bra.uni 	BB6_22;
bra.uni 	BB6_220;
bra.uni 	BB6_224;
bra.uni 	BB6_226;
bra.uni 	BB6_227;
bra.uni 	BB6_228;
bra.uni 	BB6_232;
bra.uni 	BB6_236;
bra.uni 	BB6_237;
bra.uni 	BB6_238;
bra.uni 	BB6_242;
bra.uni 	BB6_244;
bra.uni 	BB6_245;
bra.uni 	BB6_246;
bra.uni 	BB6_250;
bra.uni 	BB6_253;
bra.uni 	BB6_255;
bra.uni 	BB6_256;
bra.uni 	BB6_257;
bra.uni 	BB6_258;
bra.uni 	BB6_26;
bra.uni 	BB6_262;
bra.uni 	BB6_263;
bra.uni 	BB6_264;
bra.uni 	BB6_265;
bra.uni 	BB6_266;
bra.uni 	BB6_27;
bra.uni 	BB6_270;
bra.uni 	BB6_272;
bra.uni 	BB6_273;
bra.uni 	BB6_274;
bra.uni 	BB6_275;
bra.uni 	BB6_279;
bra.uni 	BB6_28;
bra.uni 	BB6_281;
bra.uni 	BB6_282;
bra.uni 	BB6_283;
bra.uni 	BB6_287;
bra.uni 	BB6_289;
bra.uni 	BB6_29;
bra.uni 	BB6_290;
bra.uni 	BB6_291;
bra.uni 	BB6_292;
bra.uni 	BB6_296;
bra.uni 	BB6_30;
bra.uni 	BB6_34;
bra.uni 	BB6_37;
bra.uni 	BB6_39;
bra.uni 	BB6_4;
bra.uni 	BB6_40;
bra.uni 	BB6_41;
bra.uni 	BB6_42;
bra.uni 	BB6_46;
bra.uni 	BB6_47;
bra.uni 	BB6_48;
bra.uni 	BB6_49;
bra.uni 	BB6_50;
bra.uni 	BB6_54;
bra.uni 	BB6_56;
bra.uni 	BB6_57;
bra.uni 	BB6_58;
bra.uni 	BB6_59;
bra.uni 	BB6_63;
bra.uni 	BB6_65;
bra.uni 	BB6_66;
bra.uni 	BB6_67;
bra.uni 	BB6_71;
bra.uni 	BB6_73;
bra.uni 	BB6_74;
bra.uni 	BB6_75;
bra.uni 	BB6_76;
bra.uni 	BB6_8;
bra.uni 	BB6_80;
bra.uni 	BB6_82;
bra.uni 	BB6_83;
bra.uni 	BB6_84;
bra.uni 	BB6_88;
bra.uni 	BB6_9;
bra.uni 	BB6_92;
bra.uni 	BB6_93;
bra.uni 	BB6_94;
bra.uni 	BB6_98;
bra.uni 	BB7_10;
bra.uni 	BB7_100;
bra.uni 	BB7_101;
bra.uni 	BB7_102;
bra.uni 	BB7_106;
bra.uni 	BB7_109;
bra.uni 	BB7_111;
bra.uni 	BB7_112;
bra.uni 	BB7_113;
bra.uni 	BB7_114;
bra.uni 	BB7_118;
bra.uni 	BB7_119;
bra.uni 	BB7_120;
bra.uni 	BB7_121;
bra.uni 	BB7_122;
bra.uni 	BB7_126;
bra.uni 	BB7_128;
bra.uni 	BB7_129;
bra.uni 	BB7_130;
bra.uni 	BB7_131;
bra.uni 	BB7_135;
bra.uni 	BB7_137;
bra.uni 	BB7_138;
bra.uni 	BB7_139;
bra.uni 	BB7_14;
bra.uni 	BB7_143;
bra.uni 	BB7_145;
bra.uni 	BB7_146;
bra.uni 	BB7_147;
bra.uni 	BB7_148;
bra.uni 	BB7_152;
bra.uni 	BB7_154;
bra.uni 	BB7_155;
bra.uni 	BB7_156;
bra.uni 	BB7_160;
bra.uni 	BB7_164;
bra.uni 	BB7_165;
bra.uni 	BB7_166;
bra.uni 	BB7_17;
bra.uni 	BB7_170;
bra.uni 	BB7_172;
bra.uni 	BB7_173;
bra.uni 	BB7_174;
bra.uni 	BB7_178;
bra.uni 	BB7_181;
bra.uni 	BB7_183;
bra.uni 	BB7_184;
bra.uni 	BB7_185;
bra.uni 	BB7_186;
bra.uni 	BB7_19;
bra.uni 	BB7_190;
bra.uni 	BB7_191;
bra.uni 	BB7_192;
bra.uni 	BB7_193;
bra.uni 	BB7_194;
bra.uni 	BB7_198;
bra.uni 	BB7_20;
bra.uni 	BB7_200;
bra.uni 	BB7_201;
bra.uni 	BB7_202;
bra.uni 	BB7_203;
bra.uni 	BB7_207;
bra.uni 	BB7_209;
bra.uni 	BB7_21;
bra.uni 	BB7_210;
bra.uni 	BB7_211;
bra.uni 	BB7_215;
bra.uni 	BB7_217;
bra.uni 	BB7_218;
bra.uni 	BB7_219;
bra.uni 	BB7_22;
bra.uni 	BB7_220;
bra.uni 	BB7_224;
bra.uni 	BB7_226;
bra.uni 	BB7_227;
bra.uni 	BB7_228;
bra.uni 	BB7_232;
bra.uni 	BB7_236;
bra.uni 	BB7_237;
bra.uni 	BB7_238;
bra.uni 	BB7_242;
bra.uni 	BB7_244;
bra.uni 	BB7_245;
bra.uni 	BB7_246;
bra.uni 	BB7_250;
bra.uni 	BB7_253;
bra.uni 	BB7_255;
bra.uni 	BB7_256;
bra.uni 	BB7_257;
bra.uni 	BB7_258;
bra.uni 	BB7_26;
bra.uni 	BB7_262;
bra.uni 	BB7_263;
bra.uni 	BB7_264;
bra.uni 	BB7_265;
bra.uni 	BB7_266;
bra.uni 	BB7_27;
bra.uni 	BB7_270;
bra.uni 	BB7_272;
bra.uni 	BB7_273;
bra.uni 	BB7_274;
bra.uni 	BB7_275;
bra.uni 	BB7_279;
bra.uni 	BB7_28;
bra.uni 	BB7_281;
bra.uni 	BB7_282;
bra.uni 	BB7_283;
bra.uni 	BB7_287;
bra.uni 	BB7_289;
bra.uni 	BB7_29;
bra.uni 	BB7_290;
bra.uni 	BB7_291;
bra.uni 	BB7_292;
bra.uni 	BB7_296;
bra.uni 	BB7_30;
bra.uni 	BB7_34;
bra.uni 	BB7_37;
bra.uni 	BB7_39;
bra.uni 	BB7_4;
bra.uni 	BB7_40;
bra.uni 	BB7_41;
bra.uni 	BB7_42;
bra.uni 	BB7_46;
bra.uni 	BB7_47;
bra.uni 	BB7_48;
bra.uni 	BB7_49;
bra.uni 	BB7_50;
bra.uni 	BB7_54;
bra.uni 	BB7_56;
bra.uni 	BB7_57;
bra.uni 	BB7_58;
bra.uni 	BB7_59;
bra.uni 	BB7_63;
bra.uni 	BB7_65;
bra.uni 	BB7_66;
bra.uni 	BB7_67;
bra.uni 	BB7_71;
bra.uni 	BB7_73;
bra.uni 	BB7_74;
bra.uni 	BB7_75;
bra.uni 	BB7_76;
bra.uni 	BB7_8;
bra.uni 	BB7_80;
bra.uni 	BB7_82;
bra.uni 	BB7_83;
bra.uni 	BB7_84;
bra.uni 	BB7_88;
bra.uni 	BB7_9;
bra.uni 	BB7_92;
bra.uni 	BB7_93;
bra.uni 	BB7_94;
bra.uni 	BB7_98;
bra.uni 	BB8_10;
bra.uni 	BB8_100;
bra.uni 	BB8_101;
bra.uni 	BB8_102;
bra.uni 	BB8_106;
bra.uni 	BB8_109;
bra.uni 	BB8_111;
bra.uni 	BB8_112;
bra.uni 	BB8_113;
bra.uni 	BB8_114;
bra.uni 	BB8_118;
bra.uni 	BB8_119;
bra.uni 	BB8_120;
bra.uni 	BB8_121;
bra.uni 	BB8_122;
bra.uni 	BB8_126;
bra.uni 	BB8_128;
bra.uni 	BB8_129;
bra.uni 	BB8_130;
bra.uni 	BB8_131;
bra.uni 	BB8_135;
bra.uni 	BB8_137;
bra.uni 	BB8_138;
bra.uni 	BB8_139;
bra.uni 	BB8_14;
bra.uni 	BB8_143;
bra.uni 	BB8_145;
bra.uni 	BB8_146;
bra.uni 	BB8_147;
bra.uni 	BB8_148;
bra.uni 	BB8_152;
bra.uni 	BB8_154;
bra.uni 	BB8_155;
bra.uni 	BB8_156;
bra.uni 	BB8_160;
bra.uni 	BB8_164;
bra.uni 	BB8_165;
bra.uni 	BB8_166;
bra.uni 	BB8_17;
bra.uni 	BB8_170;
bra.uni 	BB8_172;
bra.uni 	BB8_173;
bra.uni 	BB8_174;
bra.uni 	BB8_178;
bra.uni 	BB8_181;
bra.uni 	BB8_183;
bra.uni 	BB8_184;
bra.uni 	BB8_185;
bra.uni 	BB8_186;
bra.uni 	BB8_19;
bra.uni 	BB8_190;
bra.uni 	BB8_191;
bra.uni 	BB8_192;
bra.uni 	BB8_193;
bra.uni 	BB8_194;
bra.uni 	BB8_198;
bra.uni 	BB8_20;
bra.uni 	BB8_200;
bra.uni 	BB8_201;
bra.uni 	BB8_202;
bra.uni 	BB8_203;
bra.uni 	BB8_207;
bra.uni 	BB8_209;
bra.uni 	BB8_21;
bra.uni 	BB8_210;
bra.uni 	BB8_211;
bra.uni 	BB8_215;
bra.uni 	BB8_217;
bra.uni 	BB8_218;
bra.uni 	BB8_219;
bra.uni 	BB8_22;
bra.uni 	BB8_220;
bra.uni 	BB8_224;
bra.uni 	BB8_226;
bra.uni 	BB8_227;
bra.uni 	BB8_228;
bra.uni 	BB8_232;
bra.uni 	BB8_236;
bra.uni 	BB8_237;
bra.uni 	BB8_238;
bra.uni 	BB8_242;
bra.uni 	BB8_244;
bra.uni 	BB8_245;
bra.uni 	BB8_246;
bra.uni 	BB8_250;
bra.uni 	BB8_253;
bra.uni 	BB8_255;
bra.uni 	BB8_256;
bra.uni 	BB8_257;
bra.uni 	BB8_258;
bra.uni 	BB8_26;
bra.uni 	BB8_262;
bra.uni 	BB8_263;
bra.uni 	BB8_264;
bra.uni 	BB8_265;
bra.uni 	BB8_266;
bra.uni 	BB8_27;
bra.uni 	BB8_270;
bra.uni 	BB8_272;
bra.uni 	BB8_273;
bra.uni 	BB8_274;
bra.uni 	BB8_275;
bra.uni 	BB8_279;
bra.uni 	BB8_28;
bra.uni 	BB8_281;
bra.uni 	BB8_282;
bra.uni 	BB8_283;
bra.uni 	BB8_287;
bra.uni 	BB8_289;
bra.uni 	BB8_29;
bra.uni 	BB8_290;
bra.uni 	BB8_291;
bra.uni 	BB8_292;
bra.uni 	BB8_296;
bra.uni 	BB8_30;
bra.uni 	BB8_34;
bra.uni 	BB8_37;
bra.uni 	BB8_39;
bra.uni 	BB8_4;
bra.uni 	BB8_40;
bra.uni 	BB8_41;
bra.uni 	BB8_42;
bra.uni 	BB8_46;
bra.uni 	BB8_47;
bra.uni 	BB8_48;
bra.uni 	BB8_49;
bra.uni 	BB8_50;
bra.uni 	BB8_54;
bra.uni 	BB8_56;
bra.uni 	BB8_57;
bra.uni 	BB8_58;
bra.uni 	BB8_59;
bra.uni 	BB8_63;
bra.uni 	BB8_65;
bra.uni 	BB8_66;
bra.uni 	BB8_67;
bra.uni 	BB8_71;
bra.uni 	BB8_73;
bra.uni 	BB8_74;
bra.uni 	BB8_75;
bra.uni 	BB8_76;
bra.uni 	BB8_8;
bra.uni 	BB8_80;
bra.uni 	BB8_82;
bra.uni 	BB8_83;
bra.uni 	BB8_84;
bra.uni 	BB8_88;
bra.uni 	BB8_9;
bra.uni 	BB8_92;
bra.uni 	BB8_93;
bra.uni 	BB8_94;
bra.uni 	BB8_98;
bra.uni 	BB9_10;
bra.uni 	BB9_100;
bra.uni 	BB9_101;
bra.uni 	BB9_102;
bra.uni 	BB9_106;
bra.uni 	BB9_109;
bra.uni 	BB9_111;
bra.uni 	BB9_112;
bra.uni 	BB9_113;
bra.uni 	BB9_114;
bra.uni 	BB9_118;
bra.uni 	BB9_119;
bra.uni 	BB9_120;
bra.uni 	BB9_121;
bra.uni 	BB9_122;
bra.uni 	BB9_126;
bra.uni 	BB9_128;
bra.uni 	BB9_129;
bra.uni 	BB9_130;
bra.uni 	BB9_131;
bra.uni 	BB9_135;
bra.uni 	BB9_137;
bra.uni 	BB9_138;
bra.uni 	BB9_139;
bra.uni 	BB9_14;
bra.uni 	BB9_143;
bra.uni 	BB9_145;
bra.uni 	BB9_146;
bra.uni 	BB9_147;
bra.uni 	BB9_148;
bra.uni 	BB9_152;
bra.uni 	BB9_154;
bra.uni 	BB9_155;
bra.uni 	BB9_156;
bra.uni 	BB9_160;
bra.uni 	BB9_164;
bra.uni 	BB9_165;
bra.uni 	BB9_166;
bra.uni 	BB9_17;
bra.uni 	BB9_170;
bra.uni 	BB9_172;
bra.uni 	BB9_173;
bra.uni 	BB9_174;
bra.uni 	BB9_178;
bra.uni 	BB9_181;
bra.uni 	BB9_183;
bra.uni 	BB9_184;
bra.uni 	BB9_185;
bra.uni 	BB9_186;
bra.uni 	BB9_19;
bra.uni 	BB9_190;
bra.uni 	BB9_191;
bra.uni 	BB9_192;
bra.uni 	BB9_193;
bra.uni 	BB9_194;
bra.uni 	BB9_198;
bra.uni 	BB9_20;
bra.uni 	BB9_200;
bra.uni 	BB9_201;
bra.uni 	BB9_202;
bra.uni 	BB9_203;
bra.uni 	BB9_207;
bra.uni 	BB9_209;
bra.uni 	BB9_21;
bra.uni 	BB9_210;
bra.uni 	BB9_211;
bra.uni 	BB9_215;
bra.uni 	BB9_217;
bra.uni 	BB9_218;
bra.uni 	BB9_219;
bra.uni 	BB9_22;
bra.uni 	BB9_220;
bra.uni 	BB9_224;
bra.uni 	BB9_226;
bra.uni 	BB9_227;
bra.uni 	BB9_228;
bra.uni 	BB9_232;
bra.uni 	BB9_236;
bra.uni 	BB9_237;
bra.uni 	BB9_238;
bra.uni 	BB9_242;
bra.uni 	BB9_244;
bra.uni 	BB9_245;
bra.uni 	BB9_246;
bra.uni 	BB9_250;
bra.uni 	BB9_253;
bra.uni 	BB9_255;
bra.uni 	BB9_256;
bra.uni 	BB9_257;
bra.uni 	BB9_258;
bra.uni 	BB9_26;
bra.uni 	BB9_262;
bra.uni 	BB9_263;
bra.uni 	BB9_264;
bra.uni 	BB9_265;
bra.uni 	BB9_266;
bra.uni 	BB9_27;
bra.uni 	BB9_270;
bra.uni 	BB9_272;
bra.uni 	BB9_273;
bra.uni 	BB9_274;
bra.uni 	BB9_275;
bra.uni 	BB9_279;
bra.uni 	BB9_28;
bra.uni 	BB9_281;
bra.uni 	BB9_282;
bra.uni 	BB9_283;
bra.uni 	BB9_287;
bra.uni 	BB9_289;
bra.uni 	BB9_29;
bra.uni 	BB9_290;
bra.uni 	BB9_291;
bra.uni 	BB9_292;
bra.uni 	BB9_296;
bra.uni 	BB9_30;
bra.uni 	BB9_34;
bra.uni 	BB9_37;
bra.uni 	BB9_39;
bra.uni 	BB9_4;
bra.uni 	BB9_40;
bra.uni 	BB9_41;
bra.uni 	BB9_42;
bra.uni 	BB9_46;
bra.uni 	BB9_47;
bra.uni 	BB9_48;
bra.uni 	BB9_49;
bra.uni 	BB9_50;
bra.uni 	BB9_54;
bra.uni 	BB9_56;
bra.uni 	BB9_57;
bra.uni 	BB9_58;
bra.uni 	BB9_59;
bra.uni 	BB9_63;
bra.uni 	BB9_65;
bra.uni 	BB9_66;
bra.uni 	BB9_67;
bra.uni 	BB9_71;
bra.uni 	BB9_73;
bra.uni 	BB9_74;
bra.uni 	BB9_75;
bra.uni 	BB9_76;
bra.uni 	BB9_8;
bra.uni 	BB9_80;
bra.uni 	BB9_82;
bra.uni 	BB9_83;
bra.uni 	BB9_84;
bra.uni 	BB9_88;
bra.uni 	BB9_9;
bra.uni 	BB9_92;
bra.uni 	BB9_93;
bra.uni 	BB9_94;
bra.uni 	BB9_98;
bra.unid
bra.uni !D
bra.uni hZ
bra.uni W
BreachDescription
) break;
BreakLunPlex
break must be inside loop
bRebootRequired
bresenhamLines
Brevesmall
breVpttHstB.refsnarTdnuorgkcaB.enohP.tfosorciM
breVtellaWI.tellaW.ledoMnoitacilppA.swodniW
breVtellaW.tellaW.ledoMnoitacilppA.swodniW
BrideFile
        Bridge Chip
bridge_chip_fw
bridge_chip_type
bridgeunattend.pdb
brightness
Brightness change event received...
BrightnessMaximumWWWp0
BrightnessMinimumWWWp0
BrightnessStepWWp0
BrightnessValueWp0
BrightnessWW
BringWindowToTop
brKHdc7#
 bRl!|dS:
brO!59"a
Broadcast Account Check Error
Broadcast Account No Need to update
Broadcast already in progress
Broadcast button clicked
 BroadcastControlEventId::BroadcastSetupError 
 BroadcastControlEventId::EnterBroadcastError 
BroadcastControlEventId::StreamStateChange
Broadcast ended cleanly.
Broadcast ended due to a restricted app opening.
Broadcast ended due to the screen dimming.
BroadcastFailedEvent
Broadcasting is disabled on this sku of windows.
BroadcastPausedEvent
BroadcastResumedEvent
BroadcastStartedEvent
BroadcastStartingEvent
BroadcastStoppedEvent
BroadcastStoppingEvent
brokenbar
broken pipe
Broken pipe
broken promise
BrokerForAppContainersActivity
BrokerForNonAppContainersActivity
BrokerRequestAgent
BrokerResponse
_brokerResponseAgent
BrokerResponseTask
brokerResponseTaskXml
BrowsableAttribute
browsefiledlg.cpp
browser_broker.pdb
BrowserDataMigration_ExportCookie
BrowserExport_Begin
BrowserExport_BrowserChoice
BrowserExport_CookieCount
BrowserExport_DataStoreInitializationError
BrowserExport_End
BrowserExport_Exception
BrowserExport_FaviconImageCount
BrowserExport_FaviconMappingCount
BrowserExport_FormDataExport
BrowserExport_GetLowCookies
BrowserExport_HistoryCount
BrowserExport_HistoryHeuristics
BrowserExport_LoginCount
BrowserExport_OutputFile
browserexport.pdb
@BrowserExport_StartupArgs
BrowserExport_StartupError
browserpluginpackagerbinder.cpp
browserpluginpackager.cpp
browserpluginpackager.h
browserpluginpackagerwriter.cpp
browserpluginpublishoperations.cpp
browserpluginregistrator.cpp
browserpluginregistrator.h
[	Bs182t
bsearch_s
bSFEnableWWW
bSMART2DDISPLAYTECHNOLOGY_GET_FAILEDW
'bstrAuditLogsWWW 
bstrBdeSvcApiParamWW
bstrEventHistory
bstrInfo
bstrPolicyWWd
bstrStartParamWW
bstrTemplate
BSTR_UserFree64
BSTR_UserMarshal64
BSTR_UserSize64
BSTR_UserUnmarshal64
bstrUUIDd
bsuperior
bSynchronousd
Bt1t1B9@9
BT)7c4p3J
(Bt:9Ws-
btConnect_Click
BTDeviceAddress
	b) there is not at least one TCC device in the system
bthprops.cpl
BthUdTask.pdb
bTimerTaskDone
bTimerTaskInProcess
BTInfoMessage
bTIsPackageLoading
btnBTStatusImg
btnFakeFinder
btnFaq_Click
btnFindColor
btnFindColor_Click
btScanFeq
btScannerCallback
btStatus
BTT_ARENA_INFO
BTT: read_layout: external_nlba can't be 0
BTT: read_layout: nfree can't be 0
	BUAOf@O
-BUaYkk@	
bucketArgument1
bucketArgument2
BuDvDnCmC
bufconteH9
bufcontent_hdr
Buffer allocated was not large enough
buffer allocation failed
buffer and offset parameter are NULL
BUFFER_COLOR_BIT_DEPTH
buffer_copy.hpp
_bufferData
BUFFER_DEPTH_FORMAT
bufferDeviceAddress
bufferDeviceAddressCaptureReplay
bufferDeviceAddressMultiDevice
Buffer Dump Up To 256 Bytes Maximum:
Buffered
BUFFERED
buffered_media_res.cpp
buffered_media_res.h
BufferedPaintInit
BufferedPaintUnInit
buffer error
buffer error: text too long
Buffer exception occured when trying to send response back to the client: 
bufferFeatures
BUFFER_FORMAT
buffer full
BUFFER_HEIGHT
bufferImageGranularity
Buffer is too small.
BufferLength
_bufferMetadata
buffer or dest and offset parameter are NULL
Buffer overflow
Buffer passed to JPEG library is too small
_bufferPtr
BUFFER_RCP_HEIGHT
BUFFER_RCP_WIDTH
BufferReader exception occured: 
Buffer size is too large.
BUFFER_WIDTH
BufferWriter exception occured: 
bufreadyA
bufready_depth
bufreadyE
bufready_hdr
bufready_hudless
buHI.slortnoC.lmaX.IU.swodniW
buH.slortnoC.lmaX.IU.swodniW
BuildAndSave
build blend vector failed in cmdBLEND
BuildCapabilityBuffer
BuildCapabilityReader
BuildConnectedAwayIntervals
BuildCxtn: No down cxtn and no horiz cxtn (end)
BuildCxtn: No down cxtn and no horiz cxtn (start)
BuildCxtn: No loop termination!
BuildCxtn: No up cxtn and no horiz cxtn (end)
BuildCxtn: No up cxtn and no horiz cxtn (start)
BuildDefaultGroups
BuildDetectorDllApi
BuildDetectorDllClientManager
BuildDeviceEnumerator
BuildDeviceEnumeratorMethod
BuildDocAndEvents
BuildDriverController
BuildDriverControllerMethod
Build DSP Table
BuildEndpointActionController
BuildEndpointActionControllerMethod
BuildEndpointActionScheduler
BuildEndpointActionSchedulerMethod
BuildEndpointDeviceManager
BuildEndpointSelector
_builder
BuildETagHeaderFromFile failed.
BuildEventDataQuery
BuildExplicitAccessWithNameW
BuildFeatures
BuildGroup
building attribute
building canonical path
building CDATA
building character reference
building choice
building comment
Building content model
building context
building doc
building DTD
building fragment
building group
building internal subset
building namespace
building node
building parser
building PI
building QName
building reference
building relative URI
building text
BuildInitialRuns: Odd number of intersections
BuildIoctlManager
BuildIoctlManagerMethod
BuildKsProperty
BuildMicAccessVerifier
BuildMicAccessVerifierMethod
BuildModeManager
BuildNotificationClient
BuildNotificationClientMethod
BuildNotificationHandler
BuildNotificationsManager
Build Number
BuildNumber
buildpNextChain's malloc failed to allocate
BuildProxy
BuildRegistryController
BuildRegistryControllerMethod
BuildRequestFactory
BuildRequestManager
BuildRpcServer
BuildRpcServerMethod
BuildSectionGroups
BuildSiufLocFolderPath
BuildSiufLocFolderPath failed to build loc folder string.
BuildSiufLocPath
BuildSiufLocPath failed.
BuildSiufLocPathForXbox
BuildStorageController
BuildStorageControllerMethod
BuildStreamAndNotificationsManager
BuildStreamAndNotificationsManagerMethod
BuildStreamConfigurators
BuildStreamController
BuildStreamControllerMethod
BuildTempMarkers
Build-time engines:
BuildTimeZoneMarkers
BuildTrusteeWithSidW
BuildVersion
built-in manual was disabled at build-time!
BuisCreateElevatedProxyObject
BuisCreateProxyObject
BuisDetectExistingWizard
BuisIsFipsEnabled
BuisIsHardwareReadyForConversion
bulkprogress.cpp
bulkprogress.h
BUNDLE_ERROR_EVENT
BundlePackage
BundleResource
bUninstallDevice
bUQ:R@(I
BurstSizeIn10ms
[BUS_GET_FAILEDWW
BUS_GETWh)
BUS_INDEXING_UNKNOWN
BusinessCategory
BUS_INVALID_INDEXING
:BUS_INVALID_INPUTWWW 
BUS_INVALID_TYPE
BUS_NO_INDEXINGW
BUS_OPERATION_TYPEWWh)
BusPoweredHigh
BusPoweredNormal
BUS_SET_FAILEDWW
BUS specified more than once
BUS_USE_INDEXING
BusyCount
 but expected at most 
buttonApply
buttonApply_Click
ButtonBase
buttonCancel
buttonCancel_Click
buttonId
buttonRestartLater
buttonRestartNow
buttonText
BuW22WuBBuW22Wu
BVideoBIOSWWW
Bw]3BB-O
bWatchSubtree
bwD4a83H
bWROvsA5
B|XEJArS
|bxLufS]|Lb
	bye          leave shell
Bysysjmjm
ByteArrayToStructure
BYTE    bType;
BYTE    bVersion;
BYTE* CertThumbprint
ByteCodeGenerator.pdb
ByteCount
BYTE HashedPassPhrase[32];
BYTE HashedPin[32];
BYTE Key[32];
BYTE MACRO
BYTE Nothing[1];
ByteOffset
BYTE        pabHMAC[32];
BYTE        pabNonce[32];
BYTE        pabPolicyRef[32];
BYTE    *pbBuffer
BYTE                    *pbCertEncoded;
BYTE                        *pbCNGContentEncryptKeyObject;
BYTE                        *pbContentEncryptKey;
BYTE                    *pbCrlEncoded;
BYTE                    *pbCtlContent;
BYTE                    *pbCtlEncoded;
BYTE            *pbData;
BYTE    *pbData;
BYTE                        *pbEncoded;
BYTE                    *pbEncoded;
BYTE        *pbEncodedOcspResponse;
BYTE    *pbInnerString;
BYTE    *pbOID;                             
BYTE    *pbOuterString;
BYTE                rgbCardID [16];
BYTE                rgbCounter[4];
BYTE                rgbIV[8];
BYTE                rgbKeyLength[4];
BYTE                        rgbSuppPubInfo[4];
"bytes": [
byte(s) 
BYTE Salt[16];
BYTE    seed[20];
bytesLoadedWd
 bytes of data but table references at least 
 bytes of sample data
BytesPerFrame
BytesRead
Bytes received: 
BytesRequested
_bytesReturned
Bytes sent: 
 bytes to file 
BytesToMs
bytes to URI
bytesTypeConverter
BytesTypeConverter
BytesWritten
?bYYYYYYY
ByzantineMusicalSymbols
C;;;;;;;;
#C0)2r?H
c073741I
c07d57f9c601d4010000000000000000000000004100d800d7004d00cd0059004e00540030005500da00d40050005100540041005300ce00d600d6004900d0003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000c07d57f9c601
C0C0QOROb0d0
C0I0R0Y0z0
c0j0q0x0
??_C@_0N@MDJJJHMB@kernel32?4dll@
??_C@_0O@KBPMFGHI@DecodePointer@
??_C@_0O@NLDKAIKN@EncodePointer@
??_C@_0P@OEFGOMJK@kernelbase?4dll@
C12u(pB:O
(c) 1999 Entrust.net Limited1301
c#;1loBI
C[1l.]tSSst
C2B1BFJGJ
-c2b2[!Z!A'A'
C2C_ERROR
c2pnb163v1
]c364 29
!c3c3.1-1
C4[	)gPpB
C519A4BA6E6F8D4DB227517F7E4595DB
'.C64.ux	
;"C68#f6
c6UrGdxwH
c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
#"c7:3A@2s
C)7)7A;?;
c7*lRE9p
C7N9N4)4)
c;;;;;;8
!@-C-: 8 
C8D9DW(Y(
c8F0'MG)
C8;G8t@A
C8H9(t!H
C8L98t!H
C8L9C0uM3
c90f573e4e2753362fd0d7a8038feca0471ffb24074f7d9684d2a9dc507c22f4c18f80df338b090c2a397dd6898b53c0550c8faaccc104162ee248cb789cc9df
C#99N]1d20
C9fD97u-
C9fD9?u-
C(9G(uMH
CA0A;I(A
CAAccessCheck
    -caa  --clear-accounted-apps
CAAddCACertificateTypeEx
  cabinet  - Cabinet file (contains two or more files).
Cabinet.dll
CableManagementStrategy
caboperationpage.cpp
caboperationpage.h
CAccelerometer::CreateInstance
CAccelerometer::GetDataFromSensor
CAccelerometer::Invoke
CAccelerometer::RegisterForSensorEvents
CAccelerometer::ReleaseInstance
CAccelerometer::ReleaseSensor
CAccelerometer::UnregisterFromSensorEvents
CaCertFilePath
CaCertificateSerials
CA certificate to verify peer against
CA certificate to verify peer against for proxy
cacert.pem
CACertTypeAccessCheck
CACertTypeAccessCheckEx
CACertTypeGetSecurity
CacheCodecExtensions
_cacheDirPath
cachedregistry.cpp
cachedregistry.h
cachedregistrytests.cpp
cached response data too big to handle
cacheFile
Cache file copy failed: 
cacheFilePath
CacheFileSize
Cache folder:
cache for
CacheHit
CacheLineSize
CACHE_LOCATION_CONFIGURATION_MISSING_IN_DB
CACHE_LOCATION_PERMISSION_DENIED
cachemanager.cpp
cachemanager.h
CacheMiss
CacheOnlyUrlRetrieval
CACHE_PARSE_ERROR
Cache path
CACHE_READ_ERROR
CacheSpill
CacheUsed
CacheWrite
CACloseCA
CACloseCertType
cacls.pdb
CACountCAs
CACountCertTypes
CACreateNewCA
CACredential
CAddressBarButton
CAddressBarButtonEventHandlerWrapper
CAddressBarButton.GetInitialHeight
CAddressBarButton.GetInitialWidth
CAddressBarButton._Init
CAddressBarButton.s_EditBoxWndProc
CAddressBarButton.s_TBWndProc
CAddressBarButton._UpdateToolbar
CAddressBarButton.UpdateToolbar
CA directory to verify peer against
CA directory to verify peer against for proxy
CAEnumCertTypesEx
CAEnumCertTypesEx2
CAEnumCertTypesForCA
CAEnumCertTypesForCAEx
CAEnumFirstCA
CAEnumNextCA
CAEnumNextCertType
CAFindByCertType
CAFindByName
CAFindCertTypeByName
CAFindCertTypeByName2
CAFreeCAProperty
CAFreeCertTypeExtensions
CAFreeCertTypeProperty
CAGetCACertificate
CAGetCAExpiration
CAGetCAFlags
CAGetCAProperty
CAGetCASecurity
CAGetCertTypeExpiration
CAGetCertTypeExtensions
CAGetCertTypeFlagsEx
CAGetCertTypeKeySpec
CAGetCertTypeProperty
CAGetCertTypePropertyEx
cagv5g6VsCugvqaw
CAInstallDefaultCertTypeEx
CalcAllColor
CalcAllColorValue
CalcCorrectScreenFactor
calc.pdb
CalculateFileMd5
CalculateOutputDataSize
Calculating recording start time and duration
"CalculatorStarted"
CalculatorStarted
CalculatorWinMain
CALG_3DES
CALG_3DES_112
CALG_AES
CALG_AES_128
CALG_AES_192
CALG_AES_256
CALG_AGREEDKEY_ANY
CALG_CYLINK_MEK
CALG_DES
CALG_DESX
CALG_DH_EPHEM
CALG_DH_SF
CALG_DSS_SIGN
CALG_ECDH
CALG_ECDH_EPHEM
CALG_ECDSA
CALG_ECMQV
CALG_HASH_REPLACE_OWF
CALG_HMAC
CALG_HUGHES_MD5
CALG_MAC
CALG_MD2
CALG_MD4
CALG_MD5
CALG_NO_SIGN
CALG_PCT1_MASTER
CALG_RC2
CALG_RC4
CALG_RC5
CALG_RSA_KEYX
CALG_RSA_SIGN
CALG_SCHANNEL_ENC_KEY
CALG_SCHANNEL_MAC_KEY
CALG_SCHANNEL_MASTER_HASH
CALG_SEAL
CALG_SHA
CALG_SHA1
CALG_SHA_256
CALG_SHA_384
CALG_SHA_512
CALG_SKIPJACK
CALG_SSL2_MASTER
CALG_SSL3_MASTER
CALG_SSL3_SHAMD5
CALG_TEK
CALG_TLS1_MASTER
CALG_TLS1PRF
calibration-boost
calibration_boost
California1
callback
Callback aborted
callback.h
CallbackMayRunLong
callContext
CallConvCdecl
Called from scheduled task - obsolete has no affect
CallerFilePathAttribute
CallerLineNumberAttribute
_callerMemberName
CallerMemberNameAttribute
callerModule
caller must provide a legal index
Caller must register CURLOPT_CONV_ callback options
_callerName
_callerPid
Caller provided buffer that *may* not be large enough to hold the response buffer.
callerReturnAddressOffset
CallerUUID
CallGrfxDisplayCheck
calling attributes validation
Calling BringToFrontIfNeeded on the fake cursor
CallingContext
Calling CryptAcquireContext again to create keyset
Calling _doIoctl command: IOCTL_HECI_CONNECT_CLIENT (0x
Calling _doIoctl command: IOCTL_HECI_GET_VERSION (0x
CallingGraphics
Calling JhiReset...
_callingMethodName
Calling Plugin to unload the applet
CallingSource
Calling uninstaller via
calling xmlNewProp()
calling xmlNewText()
calling xmlRegExecPushString2()
calling xmlSchemaCheckCOSValidDefault()
calling xmlSchemaCopyValue()
calling xmlSchemaGetFreshAttrInfo()
calling xmlSchemaGetFreshElemInfo()
calling xmlSchemaProcessXSIType() to process the attribute 'xsi:nil'
calling xmlSchemaProcessXSIType() to process the attribute 'xsi:type'
calling xmlSchemaQNameExpand() to validate the attribute 'xsi:type'
calling xmlSchemaStreamValidateChildElement()
calling xmlSchemaStreamValidateSimpleTypeValue()
calling xmlSchemaValidateElem()
calling xmlSchemaValidateElemDecl()
calling xmlSchemaValidateElemWildcard()
calling xmlSchemaValidatorPopElem()
calling xmlSchemaValidatorPushAttribute()
calling xmlSchemaValidatorPushElem()
calling xmlSchemaVCheckCVCSimpleType()
calling xmlSchemaVCheckCVCSimpleType() to validate the attribute 'xsi:nil'
calling xmlSchemaVPushText()
calling xmlSchemaXPathEvaluate()
calling xmlStreamPop()
calling xmlStreamPush()
calling xmlValidateQName()
Call in progress.
Call interrupted
CallMsgFilterW
CallNamedPipeW
_callnewh
CallNextHookEx
CallNtPowerInformation
CallNtPowerInformationExport
callOrigin
CallSite
CallSiteBinder
call to empty boost::function
CallWindowProcA
CallWindowProcW
Call would block
CameraSettingsUIHost.pdb
CampaignID
     can be adjusted based on the width of terminal window. Monitoring
                          Can be any of the following:
CanBeFRUed
?CanBeResumed@BuiVolume@@QEBA_NXZ
canceldatarequesttest.cpp
cancelEvent
CancelEventArgs
CancelEventHandler
CancelIo
CancelIPChangeNotify
CancelIteration
_cancellationEvent
_cancellationToken
CancellationToken
_cancellationTokenSource
CancellationTokenSource
Cancelled
CancelLinkProtection
CancelLoadPackageWWW
CancelMibChangeNotify2
CancelOptIn
CancelRebootAction
CancelRequest
cancelresponsetest.cpp
cancelresponsetest.h
Cancels package loadsW
CancelSynchronousIo
cancel-tcpip-forward
CancelThreadpoolIo
CancelWaitableTimer
cancelWWd
CanConvertFrom
CanConvertTo
_canExecute
CanExecute
CanModifyOptInPolicy
can multiplex
Cannot access the NVAR file attributes.
cannot acquire IUnknown
Cannot add directories on the fly.
Cannot add start boundary to trigger: 
cannot allocate parser context
## cannot appear at end of macro text
Cannot APPEND without a mailbox.
Cannot APPEND with unknown input file size
Cannot assign a value of type "
Cannot associate Local Admin SID to Boundary Descriptor!
cannot cd to namespace
cannot change vsindex after it has been used
Cannot check database runtime platform against current process
Cannot close private namespace!
cannot compare iterators of different containers
cannot compare order of object iterators
cannot convert non-numeric types
cannot convert these types (from 
Cannot copy the value of an image file attribute of type "
Cannot create a json because the current selected GPU (
Cannot create a network connection
Cannot create EK cerificate context from the certificate blob.
Cannot create event with error: 
Cannot create image file attribute of unknown type "
Cannot create io event. Error: 
Cannot create Local Admin SID!
cannot create object from initializer list
Cannot create private namespace!
Cannot create private namespace with error: 
Cannot create read event. Error: 
Cannot create the action: 
Cannot create trigger: 
Cannot create Vulkan instance.
Cannot create write event. Error: 
Cannot determine integrity level. Assuming that process isn't running in low level integrity.
cannot fetch from a texture that is not bound
Cannot FETCH without a UID.
Cannot find frame buffer slice "
Cannot find host client.
Cannot find image attribute "
Cannot find ME client.
Cannot find requested device.
Cannot find the NVAR file; the system maybe in EOM.
Cannot find the printer
Cannot get identification pointer: 
Cannot get idle setting information: 
Cannot get principal pointer: 
Cannot get reparse point info: 
Cannot get Root folder pointer: 
Cannot get settings pointer: 
Cannot get tag ref from tag id
Cannot get Task collection pointer: 
Cannot get trigger collection: 
cannot get value
Cannot have multiple test-cmds set
cannot ignore server certificate
': cannot implicitly convert these vector types (from 
Cannot initialize memory for list
Cannot initialize memory for new link
Cannot initialize memory for sentinel
cannot initialize parser context
cannot instantiate InstanceProvider
Cannot instert EK certificate into the registry certigicate store.
Cannot locate HID device.
Cannot locate ME device.
Cannot locate MEI driver.
CANNOT_MAP_TO_KERNEL_SPACE
Cannot obtain ME Mode.
Cannot open
Cannot open event with error: 
cannot open file
Cannot open image file "
Cannot open log file. errorcode:
Cannot open registry certificate store.
Cannot pause RTP
Cannot perform hibernation. Please manually reboot the system.
CannotProcessFilter
Can not provision after EOM.
Cannot provision after EOM.
Cannot put action path: 
Cannot put identification info: 
Cannot put idle setting information: 
Cannot put principal info logon type: 
Cannot put setting information: 
Cannot read data for the persistent handle [0x
Cannot read iCLS Client installation directory from registry.
Cannot read image file "
cannot read SysIntID in slot #0
Cannot read the name of the layer tag
Cannot read version 
cannot reconstruct incomplete file: part with missing type
cannot reconstruct incomplete file: part with unknown type 
Cannot register image file attribute type "
Cannot reset running XHCI controller
cannot resolve k; make internal_loops higher or min_k_size higher
Cannot run IntelPTTEKRecertification.exe process.
Cannot run the command since Intel(R) AMT is not available.
Cannot SEARCH without a query string.
Cannot SELECT without a mailbox.
Cannot set logging location
Can not set SSL crypto engine as default
cannot set while device is active in this process
cannot start a transaction within a transaction
cannot switch from automatic to manual argument indexing
Can not switch from automatic to manual indexing
cannot switch from manual to automatic argument indexing
Can not switch from manual to automatic indexing
cannot use at() with 
cannot use erase() with 
cannot use insert() with 
cannot use key() for non-object iterators
cannot use multiple render targets with different texture dimensions (is 
cannot use offsets with object iterators
cannot use operator[] with a numeric argument with 
cannot use operator[] with a string argument with 
cannot use push_back() with 
cannot write to file
CanonLake
Can present images from the following devices
?CanSetFocus@HWNDElement@DirectUI@@UEAA_NXZ
can't add Content-Type header
Can't add itself as a subpart
Can't add itself as a subpart!
Can't add_key_value with NULL key
Can't alloc WsManClient
Can't build a DeepScanLineInputFile from a type-mismatched part.
Can't build a ScanLineInputFile from a type-mismatched part.
Can't build a TiledInputFile from a type-mismatched part.
can't call NULL function
Can't convert TAGID
Can't convert tag ref
Can't do UserDefinedControl
Can't find DATABASE tag in db
Can't find DATABASE tag in main db
Can't find LIBRARY tag in main db
Can't get local system account
Can't get log file size. errorcode:
Can't get service status
Can't get the name string
Can't get the size of file.
can't happen
can't open XML file with timings
Can't read database header
Can't reopen log file. errorcode:
can't use branch and flatten attributes together
can't use loop and unroll attributes together
--capabilities
Capabilities
CapabilitiesDescriptions
                                            Capabilities per APCI Spec
CapabilitiesRequestAndCapabilitiesReply
CAPABILITY
CAPABILITY:
CapabilityCheck
capabilityDataPtr is NULL
CapabilityDescriptions
capabilityEntryPtr is NULL
capabilityIdPtr is NULL
                                        Capability Mask Details:
Capacity
--capath
                                        capMask - capability Mask(e.g 0x2100)|
CAPOEndpointProcessNode::CreateAPOEndpointInstance
CAPOEndpointProcessNode::CreateAPOEndpointProcessNode
CAPOProcessNode::IsLeftFormatSupported
CAPOProcessNode::IsRightFormatSupported
CAPOWrapperSrv::GetEffectsList
CAPOWrapperSrv::InitializeAPORemote
CAPOWrapperSrv::IsAudioFormatSupportedRemote
CAPPLICATION_SETTINGSt
CaptureConfig.txt
capture_L9	u
capture [-overwrite] [filename]           Write all DPTF settings to .txt file in XML format [overwrite will replace existing file]
capture_state
CaptureStreamDetectedEnable
CaptureStreamEnableChanged
CaptureUICloseTime
CaptureUIOpenTime
capture was not ended in the same stream as it began
capturing stream has unjoined work
CArchiveException
CardAcquireContext
CARemoveCACertificateTypeEx
Caronsmall
carriagereturn
CASetCACertificate
CASetCAFlags
CASetCAProperty
CASetCASecurity
cask_half.cu
Cask Initted 
"cask_kernel.log"
cask_kernel.log
Cask unknown internal error
CastingDevice
CastingPlaybackTypes
CastSrv.pdb
Catalog 
CATALOG 
catalogapitests.cpp
CatalogAttachCount
catalog.cpp
Catalog did not contain file hash. File is likely corrupt or a victim of tampering.
catalogexportstests.cpp
catalogfactory.cpp
catalogfactory.h
catalogfactorymock.cpp
catalogfactorymock.h
Catalog file does not have a signature. No error message will be displayed as client is running in non-interactive mode.
Catalog file is invalid. No error message will be displayed as client is running in non-interactive mode.
catalog.h
catalogimpl.cpp
catalogimpl.h
catalogmanager.cpp
catalogmanager.h
catalogmanagertests.cpp
catalogmanagertests.h
catalogmock.cpp
catalogmock.h
catalogrc.h
Catalogs cleanup
Catalog signer is untrusted. No error message will be displayed as client is running in non-interactive mode.
catalogtests.cpp
catalogtests.h
CatchDllException
category
CategoryAttribute
CAtlComModule
CAtlReleaseManagedClassFactories
	cat [node]   display node or current node
c AUAVAWH
CAudioDeviceGraph::RegisterSpatialPipe
CAudioDeviceGraph::UpdateLoopbackConstrictionLevel
CAudioDGModule::InitializeSecurity
CAudioDGModule::PostMessageLoop
Caught exception
Caught unknown exception while executing dbInstaller
CAUpdateCA
CAUpdateCAEx
Caution: quantization tables are too coarse for baseline JPEG
CAutoHideDockSite
[C]A]]Y_Y
CB0A;J(A
cb12_1cb
CBasePane
CBaseTabbedPane
cBB0_21'G
cBB0_53@
CBCf]]]'WWW
CBDADP)O)
cBdBgDgDO(N(j7i7u2u2
    CBDSf
C_BF16_16F
CBinaryCompareWWWX
c	b	j	l	
cblist.cpp
cblist.h
(c*b*Q9Q9
-|"cBqkF
cbReserved2
cButtons
CByteArray
'c b Z'['
c c0c1c.c
C C0C1C.C
c@c0c8c6c
C@C0C8C6C
c@cAc8c:c
C@CAC8C:C
CCcBcRFSFt@v@UDVDD@D@l6l6w
CCCCBRCCB
C	C	C	C	C	C	C	C	C	C
_CCCCCCCCCCCCCCC;k8(A_
CCCCDDDD
CCCCMMMM3333
ccccUUUU!!!!
*C*CCDADr(r(
	ccc)fff
 C CdJeJ
ccedilla
Ccedilla
Ccedillasmall
CCE specified more than once
CC*fD9C2
c#c#G*I*k
CCheckListBox
cchTitle
cchToCopy
CCIR601 sampling not implemented yet
ccircumflex
Ccircumflex
cciUdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
cciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
?[C[CJ@K@
ccJYo7V5
CClientDC
CClientID::CClientID - StringCchCopy failed
#c-c-L*L*
CCM_ADALOperation
CCM_ADQuery_Setting_Boolean
CCM_ADQuery_Setting_DateTime
CCM_ADQuery_Setting_Double
CCM_ADQuery_Setting_Integer
CCM_ADQuery_Setting_IntegerArray
CCM_ADQuery_Setting_String
CCM_ADQuery_Setting_StringArray
CCM_ADQuery_Setting_Synclet
CCM_ADSiteInfo
CCM_AntimalwareCompliance
CCM_AntiMalwarePolicyClientConfig
CCM_AntiMalwarePolicyGroupConfig
CCM_AntiMalwarePolicyPlaceHolder
CCM_AntiMalwarePolicyPostActions
CCM_AppAction
CCM_AppCallerInfo
CCM_AppDeliveryType
CCM_AppDeliveryTypeSynclet
CCM_AppDeploymentType
CCM_AppEnforceStatus
CCM_AppGroupCIAssignment
CCM_AppHandlers
CCM_Application
CCM_ApplicationActions
CCM_ApplicationCIAssignment
CCM_ApplicationManagementClientConfig
CCM_ApplicationPolicy
CCM_AppProductSource
CCM_AppReconnectData_Base
CCM_AppReconnectData_MSI
CCM_AppReconnectData_Script
CCM_AppXInstallInfo
CCM_Assembly_Setting
CCM_Assembly_Setting_Synclet
CCM_AssignmentCompliance
CCM_AssignmentJobEx1
CCM_AtomicUpdateEx1
CCM_Authority
CCM_BGBAction
CCM_BGBClientConfig
CCM_BGBCommunicationConfig
CCM_BitsDownloadMethod_ErrorInfo
CCM_BITSManager_Job
CCM_BITSManager_JobItem
CCM_BundledUpdateEx1
CCM_CAComplianceUploadStatus
CCM_CAOverallCompliance
CCM_CARelayComplianceStatus
CCM_CategoryScanHistory
CCM_CcmHttp_Status
CCM_CertEnrollAgent_Configuration
CCM_CertEnrollConfiguration
CCM_CertEnrollServer
CCM_Certificate
CCM_CertificateEnrollment
CCM_CIAssignment
CCM_CIAssociations
CCM_CIEnforcedState
CCM_CIEvaluationJob
CCM_CITask
CCM_CIVersionInfo
CCM_CIVersionInfoEx
CCM_Client
CCM_ClientActions
CCM_ClientAgentConfig
CCM_ClientAgentSettings
CCM_ClientEvents
CCM_ClientIdentificationInformation
CCM_ClientInternalUtilities
CCM_ClientProperties
CCM_ClientSecurityInformation
CCM_ClientSiteMode
CCM_ClientUpgrade
CCM_ClientUpgradeStatus
CCM_ClientUtilities
CCM_ClientUXSettings
CCM_CloudClientConfig
CCM_CollectionProperty
CCM_CollectionVariable
CCM_CoMgmt_Configuration
CCM_ComponentClientConfig
CCM_ComponentState
CCM_ComputerSystem
CCM_ComputerSystemExtended
CCM_ConditionalAssignments
CCM_ConfigurationManagementClientConfig
CCM_ContentAvailableNotification
CCM_ContentTranseferManager_ContentInfo_Processing_Failure
CCM_CTM_ContentLocation
CCM_CTM_ContentLocationEx
CCM_CTM_DOUsage
CCM_CTM_DownloadHistory
CCM_CTM_JobItem
CCM_CTM_JobStateEx4
CCM_CTM_PeerSourceServiceRejectionStats
CCM_DataTransferService_BITS_SecureFailure
CCM_DCMCIAssignment
CCM_DDR_REQUIRE_RESEND
CCM_DeploymentTaskEx1
CCM_DesktopMachine
CCM_DetailedAppInfo
CCM_DevicePasswordSettings
CCM_DirectoryLookup_Configuration
CCM_DiscoveryData
CCM_DiscoveryStatus
CCM_DistributionPoint
#C#CMDND
CCM_DNSForestInfo
CCM_DownloadProvider
CCM_DPConfig
CCmdTarget
CCM_DTS_JobEx
CCM_DTS_JobItemEx
CCM_EditionUpgradeClientConfig
CCM_EmbeddedDeviceInformation
CCM_EncryptionCompliance
CCM_EndpointProtectionClientConfig
CCM_EvaluationState
CCM_Event
CCM_EventForwarder
CCM_EventForwarder_Configuration
CCM_ExecutionRequestEx
CCM_ExpressionValue_Setting
CCM_ExternalEventConfig
CCM_ExtNetworkAdapterConfiguration
CCM_FileBITS_Job
CCM_FileBITS_JobItem
CCM_FileCopyDownloadMethod_ErrorInfo
CCM_File_Setting
CCM_FileSystem_Setting
CCM_Folder_Setting
CCM_Framework_ClientIdChanged
CCM_Framework_ClientIdUpdated
CCM_Framework_Error
CCM_Framework_Event
CCM_Framework_Info
CCM_Framework_Warning
CCM_HandlerSynclet
CCM_HardwareInventoryClientConfig
CCM_HistoricalMeteredData
CCM_HttpDownloadMethod_ErrorInfo
CCM_IisMetabase_Setting_Boolean
CCM_IisMetabase_Setting_DateTime
CCM_IisMetabase_Setting_Double
CCM_IisMetabase_Setting_Integer
CCM_IisMetabase_Setting_IntegerArray
CCM_IisMetabase_Setting_String
CCM_IisMetabase_Setting_StringArray
CCM_IisMetabase_Setting_Synclet
CCM_InstalledComponent
CCM_InstalledDeploymentType
CCM_InstalledProduct
CCM_InstanceDiscoveryFailure
CCM_InstanceEvent
CCM_IPConfig
CCM_IPv6NetworkAdapterConfiguration
CCM_IPv6PrefixNetworkAdapterConfiguration
CCM_ISV_SoftwarePolicy
CCM_LicenseAssignment
CCM_LocalInstallationSynclet
CCM_LocationServices_LocationBaseChange
CCM_LocationServices_ManagementPointCertificate_CrossVerificationFailure
CCM_LocationServices_ProxyChanged
CCM_LocationServices_SiteSigning_AuthFailure_Expired
CCM_LocationServices_SiteSigning_AuthFailure_Revoked
CCM_LocationServices_SiteSigning_AuthFailure_Trust
CCM_LocationServices_WebServiceSigningCertificate_VerificationFailure
CCM_Logging_ComponentConfiguration
CCM_Logging_GlobalConfiguration
CCM_LogicalMemoryConfiguration
CCM_M365ACloudSettings_Configuration
CCM_MappingClasses
CCM_MergedComplianceState
CCM_Message_Auth_Configuration
CCM_Message_Encrypt_Configuration
CCM_Message_TransferStatus
CCM_Messaging_Configuration
CCM_MeteredFileInfo
CCM_MeteredProductInfo
CCM_MSIProduct
CCM_MulticastConfig
CCM_NetworkAccessAccount
CCM_NetworkAdapter
CCM_NetworkAdapterConfiguration
CCM_NetworkAdapters
CCM_NetworkProxy
CCM_NetworkSettings
CCM_NetworkSettings_Changed
CCM_OfficeAddIn
CCM_OfficeDocumentMetric
CCM_OfficeProductInfo
CCM_OfficeVbaRuleViolation
CCM_OfficeVbaScanResultsSummary
CCM_OperatingSystem
CCM_OperatingSystemExtended
CCM_OverallComplianceNotificationRegistration
CCM_Partner_Attributes
CCM_Partner_AttributesEx
CCM_PeerDP_Job
CCM_PeerDP_Package
CCM_PeerDP_Update
CCM_PeerPxeClientConfig
CCM_PendingDeploymentStateMessage
CCM_PendingEvent
CCM_PendingUserAffinity
CCM_Policy
CCM_Policy_Action
CCM_Policy_ActionHandlerRegistration
CCM_PolicyAgent_AssignmentDisabled
CCM_PolicyAgent_AssignmentEnabled
CCM_PolicyAgent_AssignmentsReceived
CCM_PolicyAgent_AssignmentsRequested
CCM_PolicyAgent_Configuration
CCM_PolicyAgent_Error
CCM_PolicyAgent_EvaluationFailed
CCM_PolicyAgent_EvaluationSucceeded
CCM_PolicyAgent_Event
CCM_PolicyAgent_Info
CCM_PolicyAgent_PolicyApplied
CCM_PolicyAgent_PolicyAuthorizationFailure
CCM_PolicyAgent_PolicyCompileFailed
CCM_PolicyAgent_PolicyDownloadFailed
CCM_PolicyAgent_PolicyDownloadStarted
CCM_PolicyAgent_PolicyDownloadSucceeded
CCM_PolicyAgent_PolicyEvaluationComplete
CCM_PolicyAgent_PolicyMismatchWarning
CCM_PolicyAgent_PolicyRevoked
CCM_PolicyAgent_PolicyRuleApplied
CCM_PolicyAgent_PolicyRuleApplyFailed
CCM_PolicyAgent_PolicyRuleRevoked
CCM_PolicyAgent_SettingsEvaluationComplete
CCM_PolicyAgent_Warning
CCM_Policy_Assignment
CCM_Policy_Assignment2
CCM_Policy_AuthorityData
CCM_Policy_AuthorityData2
CCM_PolicyCIAssignment
CCM_Policy_Condition
CCM_Policy_Config
CCM_PolicyCookie
CCM_Policy_EmbeddedObject
CCM_Policy_Expression
CCM_Policy_ExpressionHandlerRegistration
CCM_PolicyHash_Configuration
CCM_Policy_Operator
CCM_Policy_Policy
CCM_Policy_Policy2
CCM_Policy_Policy3
CCM_Policy_Policy4
CCM_Policy_Policy5
CCM_PolicyReplicationConsumer
CCM_Policy_Rule
CCM_Policy_Rule2
CCM_Policy_Rules
CCM_Policy_Rule_State
CCM_Policy_ServerCookieData
CCM_PowerConfig
CCM_PowerManagementClientConfig
CCM_PowerManagementClientOptoutSetting
CCM_PowerManagementSettings
CCM_PrePostActions
CCM_PrimaryUser
CCM_ProductSource
CCM_ProductSourceUpdateHistory
CCM_Program
CCM_ProgramsManager
CCM_ProtectedVolumeInfo
CCM_PwrMethodProvider
CCM_PwrMgmtActualDay
CCM_PwrMgmtInternalAgentState
CCM_PwrMgmtInternalEventStateCookie
CCM_PwrMgmtInternalRawEvent
CCM_PwrMgmtLastSuspendError
CCM_PwrMgmtMonth
CCM_PwrMgmtSystemPowerCapabilities
CCM_PwrMgmtUserClientSettings
CCM_QueuedAssignmentActions
CCM_RAXInfo
CCM_RebootData
CCM_RebootSettings
CCM_RecentlyUsedApps
CCM_RegistryKey_Setting
CCM_RegistryValue_Setting
CCM_RegistryValue_Setting_Boolean
CCM_RegistryValue_Setting_Datetime
CCM_RegistryValue_Setting_Double
CCM_RegistryValue_Setting_Integer
CCM_RegistryValue_Setting_String
CCM_RegistryValue_Setting_StringArray
CCM_RegistryValue_Setting_Synclet
CCM_RejectedPolicy
CCM_RemoteClient_Reassigned
CCM_RemoteControlManager
CCM_RemotePCConnect_Settings
CCM_RemoteToolsConfig
CCM_RemoteTools_Policy
CCM_RequestedAppPolicy
CCM_RequestedAppPolicyActivation
CCM_RootCACertificates
CCM_ScanJobInstance
CCM_ScanMethodConfiguration
CCM_ScanUpdateSourceHistory
CCM_Scheduler_Conditions_History
CCM_Scheduler_DynamicData
CCM_Scheduler_History
CCM_Scheduler_ScheduledMessage
CCM_Script_Setting_Boolean
CCM_Script_Setting_DateTime
CCM_Script_Setting_Double
CCM_Script_Setting_Integer
CCM_Script_Setting_IntegerArray
CCM_Script_Setting_String
CCM_Script_Setting_StringArray
CCM_Script_Setting_Synclet
CCM_Service_ApplicationComponent
CCM_Service_BITS2Configuration
CCM_Service_BITSConfiguration
CCM_Service_ComponentException
CCM_Service_EndpointConfiguration
CCM_Service_Failure
CCM_Service_FeatureConfiguration
CCM_Service_GlobalConfiguration
CCM_ServiceHost_CertificateOperationsFailure
CCM_ServiceHost_CertificateUpdateFailure
CCM_ServiceHost_CertificateUpdateSuccess
CCM_ServiceHost_CertRetrieval_Status
CCM_Service_HostedApplication
CCM_Service_HostedClass
CCM_Service_HostingConfiguration
CCM_ServiceHost_LowMemoryMode_Enter
CCM_ServiceHost_LowMemoryMode_Recover
CCM_Service_IISConfiguration
CCM_Service_NotificationConfiguration
CCM_Service_ResourceProfileConfiguration
CCM_Service_ResourceProfileInformation
CCM_Service_SystemTaskConfiguration
CCM_ServiceWindow
CCM_ServiceWindowManager
CCM_Setting
CCM_SettingAssignment
CCM_Setting_Boolean
CCM_Setting_BooleanArray
CCM_SettingComplianceDetail
CCM_Setting_DateTime
CCM_Setting_DatetimeArray
CCM_Setting_Double
CCM_Setting_DoubleArray
CCM_Setting_Integer
CCM_Setting_IntegerArray
CCM_SettingRule
CCM_SettingsCIAssignment
CCM_SettingsHandlerRegistration
CCM_Setting_String
CCM_Setting_StringArray
CCM_SiteAssignment
CCM_SoftwareBase
CCM_SoftwareCatalogUtilities
CCM_SoftwareCenterClientConfig
CCM_SoftwareCenterSettings
CCM_SoftwareCenterUI
CCM_SoftwareDistribution
CCM_SoftwareDistributionClientConfig
CCM_SoftwareInventoryClientConfig
CCM_SoftwareMeteringClientConfig
CCM_SoftwareMeteringRule
CCM_SoftwareUpdate
CCM_SoftwareUpdateCompliance
CCM_SoftwareUpdatesClientConfig
CCM_SoftwareUpdatesManager
CCM_SourceStatus
CCM_SourceUpdateClientConfig
CCM_SourceUpdateHistory
CCM_SqlCE_Database
CCM_SqlQuery_Setting_Boolean
CCM_SqlQuery_Setting_DateTime
CCM_SqlQuery_Setting_Double
CCM_SqlQuery_Setting_Integer
CCM_SqlQuery_Setting_String
CCM_SqlQuery_Setting_Synclet
CCM_StandardEventForwarder_Configuration
CCM_StateMsg
CCM_StateMsg_SerialNum
CCM_StateReportingExclusions
CCM_SUMContentFlags
CCM_SUMLocalSettings
CCM_SUM_Setting
CCM_SUM_Setting_Synclet
CCM_SuperPeerClientConfig
CCM_SUPLocation
CCM_SUPLocationList
CCM_SWMeteringAgentProperties
CCM_System
CCM_SystemBootData
CCM_SystemBootSummary
CCM_SystemDevices
CCM_SystemOU
CCM_TargetedUpdateEx1
CCM_TargetingSettings
CCM_TaskSequence
CCM_TSExecutionRequest
CCM_UpdateCIAssignment
CCM_UpdatesDeploymentJobEx1
CCM_UpdatesJob
CCM_UpdateSource
CCM_UpdateStatus
CCM_UserAffinity
CCM_UserEndpoint_Settings
CCM_UserGroup
CCM_UserGroupAdded
CCM_UserGroupChanged
CCM_UserGroupRemoved
CCM_UserLogonEvents
CCM_UserPolicyEndpoint
CCM_UUPPSFXConfig
CCM_UUPPSFXConfigEx
CCM_Value_Boolean
CCM_Value_DateTime
CCM_Value_Double
CCM_Value_Integer
CCM_Value_IntegerArray
CCM_Value_Map
CCM_Value_String
CCM_Value_StringArray
CCM_VDI_Identity_Store_Configuration
CCM_VirtualEnvironment
CCM_VirtualEnvironmentSynclet
CCM_VirtualMachineInfo
CCM_VirtualMachineInfoByRegKey
CCM_VirtualMachineInfoByWMI
CCM_VpnConnection
CCM_VpnConnectionWinTen
CCM_VpnConnectionXml
CCM_WebAppInstallInfo
CCM_WebService_Settings
CCM_WindowsAdvancedThreatProtection
CCM_WindowsAnalyticsClientConfig
CCM_WindowsDOClientConfig
CCM_WmiMofActionHandler_ErrorInfo
CCM_WorkplaceJoin
CCM_WorkplaceJoinState
CCM_WqlQuery_Setting_Boolean
CCM_WqlQuery_Setting_DateTime
CCM_WqlQuery_Setting_Double
CCM_WqlQuery_Setting_Integer
CCM_WqlQuery_Setting_IntegerArray
CCM_WqlQuery_Setting_String
CCM_WqlQuery_Setting_StringArray
CCM_WqlQuery_Setting_Synclet
CCM_WriteFilterState
CCM_WSUS_SigningCertificates
CCM_WUfBCompliance
CCM_XPathQuery_Setting_Boolean
CCM_XPathQuery_Setting_DateTime
CCM_XPathQuery_Setting_Double
CCM_XPathQuery_Setting_Integer
CCM_XPathQuery_Setting_IntegerArray
CCM_XPathQuery_Setting_String
CCM_XPathQuery_Setting_StringArray
CCM_XPathQuery_Setting_Synclet
(c(c(N(M(0#2#
c	!Co7nD2
CColorDialog
CComboBox
    -c command        Execute the specifed shell command at start.
CCommonDialog
CConnectionInstance::CreateConnection
CConnectionInstance::CreateConnectionBuffer
CConnectionInstance::SetConnectionFrameCount
CControlBar
CcO*(Ts?
c@cPcQcNc
C@CPCQCNC
c@cPcXcVc
C@CPCXCVC
CCriticalSection
CCrossProcessBaseClientEndpoint::GetBufferSize
CCrossProcessBaseClientEndpoint::GetCharacteristics
CCrossProcessBaseClientEndpoint::GetCurrentPadding
CCrossProcessBaseClientEndpoint::GetFrequency
CCrossProcessBaseClientEndpoint::SetEventHandle
CCrossProcessBaseEndpoint::GetFrameFormat
CCrossProcessBaseEndpoint::GetFramesPerPacket
CCrossProcessBaseEndpoint::GetLatency
CCrossProcessBaseEndpoint::GetNextTimestampMessage
CCrossProcessBaseEndpoint::IsValidControlData
CCrossProcessBaseEndpoint::IsValidFlags
CCrossProcessBaseEndpoint::IsValidOffset
CCrossProcessBaseEndpoint::IsValidQueueIndex
CCrossProcessBaseEndpoint::PeekNextTimestampMessage
CCrossProcessClientInputEndpoint::GetDevicePosition
CCrossProcessClientInputEndpoint::GetPosition
CCrossProcessClientOutputEndpoint::GetDevicePosition
CCrossProcessClientOutputEndpoint::GetPosition
CCrossProcessClientOutputEndpoint::GetPosition_NonOffload
CCrossProcessClientOutputEndpoint::GetPosition_Offload
CCrossProcessControl::Reset
CCrossProcessControl::Start
CCrossProcessControl::Stop
CCrossProcessServerOutputEndpoint::AddTimestampMessage
CCRRRRRV
CCryptFunctions::DecryptDataWithKey - Math overflow detected. Bailing out...
cCUSTOMMODE_TIMING_STANDARDWW
cCyanMinimumW81
|cc*zo9'
CD2DResource
Cd9Gdt)H
Cd9Gdt(I
c@D9kHtkH
c@D9kHtwH
CD9;Y_ccccSOA6	
#cdata-section
CDATA_SECTION
CData section not finished
CData section too big found
CDCRenderTarget
C D!DF(E(
#'CDEFGR
CDEFJKMNRLHA
CDefragUI::_BackupTaskSettings
CDefragUI::_BuildBoldFont
CDefragUI::_CalculateDaysSinceLastTrim
CDefragUI::ChangeNotification
CDefragUI::CheckForEngineThread
CDefragUI::_ConnectWMITaskScheduler
CDefragUI::CreateInitialVolumeList
CDefragUI::CreateInstance
CDefragUI::_CreateWMIDefragTask
CDefragUI::_DestroyChildWindows
CDefragUI::DoOperation
CDefragUI::_EnableOKButton
CDefragUI::_FillRegBackupFrequency
CDefragUI::FinalConstruct
CDefragUI::FinalRelease
CDefragUI::_GetFocusedVolume
CDefragUI::_GetTaskInfo
CDefragUI::_GetWMIFolder
CDefragUI::_GetWMITask
CDefragUI::IdentifyVolumesForSchedule
CDefragUI::_Initialize
CDefragUI::_InitializeTaskInformation
CDefragUI::_Init_VolumeStatusList
CDefragUI::_InvalidTriggersHandler
CDefragUI::_InvokeBackgroundOperation
CDefragUI::_LaunchHelp
CDefragUI::_OnAnalyzeNow_MainDlgProc
CDefragUI::_OnCancel_AdvOptsDlgProc
CDefragUI::_OnCancel_SchedDlgProc
CDefragUI::_OnCheckDeadline
CDefragUI::_OnCheckDisabled_AdvOptsDlgProc
CDefragUI::_OnCheckEnabled_AdvOptsDlgProc
CDefragUI::_OnCheckSchedule
CDefragUI::_OnClickItemAdvOptsDlgProc
CDefragUI::_OnClose_MainDlgProc
CDefragUI::_OnCmbFreq_SchedDlgProc
CDefragUI::_OnDefragNow_MainDlgProc
CDefragUI::_OnDestroy_AdvOptsDlgProc
CDefragUI::_OnDestroy_SchedDlgProc
CDefragUI::_OnInit_AdvOptsDlgProc
CDefragUI::_OnInit_MainDlgProc
CDefragUI::_OnInit_SchedDlgProc
CDefragUI::_OnKeyDownAdvOptsDlgProc
CDefragUI::_OnModifySchedule_MainDlgProc
CDefragUI::_OnOK_AdvOptsDlgProc
CDefragUI::_OnOK_SchedDlgProc
CDefragUI::_OnPaint_AdvOptsDlgProc
CDefragUI::_OnPaint_MainDlgProc
CDefragUI::_OnPaint_SchedDlgProc
CDefragUI::_OnSelectDisks
CDefragUI::_OnSelectionChanged
CDefragUI::_OverwriteExistingTask
CDefragUI::_PopulateTaskSchedInfo
CDefragUI::_PopulateVolumeEntries
CDefragUI::_PopulateVolumeList
CDefragUI::_Register
CDefragUI::_RelaunchElevated
CDefragUI::_ReRegisterEngine
CDefragUI::_ResetComboSelections
CDefragUI::_RestoreTaskSettings
CDefragUI::RunUI
CDefragUI::_SetAllVolumeStates
CDefragUI::_SetEnableSchedule
CDefragUI::_SetInitialParameters
CDefragUI::_SetSelectAllState
CDefragUI::_SetSelectionTimerRunning
CDefragUI::_SetVolumeBools
CDefragUI::_ShowInvalidTriggerWarning
CDefragUI::Shutdown
CDefragUI::_TaskDialogCallbackProc
CDefragUI::_ToggleVolumeState
CDefragUI::_Unregister
CDefragUI::UpdateCurrentState_MainDlgProc
CDefragUI::_UpdateOKButtonState
CDefragUI::UpdateVolumeEntries
CDefragUI::_UpdateWMIDefragTaskFromDef
CDefragUI::_VerifyCommandLine
CDefragUI::_VerifyTaskTriggers
CDefragUI::_VolumeChangeRequest
CDefragUI::_WriteNewCommandLine
CDefragUI::_WriteNewTaskFrequency
CDeviceProcessNode::CreateDeviceProcessNode
CDevProc
CDialogEx
CdIeIu3s3	A	ApCnC
cDISPLAYPOWERSAVINGTECHNOLOGY_ERROR_CODESx
CDispOrientationChangeDetection::GetDispOrientationTimeoutValue
  #(CDJv
 #(CDKMNw
cdmRegistrationComplete
cdn server mode: production
cdn server mode: staging from D3D
cdn server mode: staging from regkey
CDocItem
CDockablePane
CDockablePaneAdapter
CDockBar
CDockingPanesRow
CDockSite
CDockState
CDocTemplate
CDocument
cdotaccent
Cdotaccent
	cd [path]    change directory to path or to root
CDrawDoc
CDrawEllipse
CDrawItem
CDrawLine
CDrawObj
CDrawOleObj
CDrawPoly
CDrawRect
CDrawRoundRect
CDrawText
CDrawView
CDRomWWW
CDWordArray
@C?D?z;z;
CEBE-M0M
Cedillasmall
CEditWnd
cei.lmth
CEK is invalid.
CEK is not available.
cellpadding
cellspacing
CEM disabled in DV
CEndpointInstance::CreateApoEndpointInstance
CEndpointInstance::StartALPCHandleServer
censusFlags
CentaurHauls
CENTERED
CenterizeApp
centinferior
Centi-Percent
Centiseconds
centoldstyle
centroid
centroid 
centsuperior
cEo( QvA
CertAddCertificateContextToStore
CertAddCertificateContextToStore(
CertAddCertificateLinkToStore
CertAddCertificateLinkToStore(
CertAddCRLContextToStore
CertAddCRLContextToStore(
CertAddCRLLinkToStore(
CertAddCTLContextToStore
CertAddCTLContextToStore(
CertAddCTLLinkToStore(
CertAddEncodedCertificateToStore
CertAddEncodedCertificateToStore(
CertAddEncodedCertificateToSystemStoreA(
CertAddEncodedCertificateToSystemStoreW(
CertAddEncodedCRLToStore
CertAddEncodedCRLToStore(
CertAddEncodedCTLToStore
CertAddEncodedCTLToStore(
CertAddEnhancedKeyUsageIdentifier(
CertAddRefServerOcspResponse(
CertAddRefServerOcspResponseContext(
CertAddSerializedElementToStore
CertAddSerializedElementToStore(
CertAddStoreToCollection
CertAddStoreToCollection(
CertAlgIdToOID(
CERT_ALT_NAME_ENTRY AccessLocation;
CERT_ALT_NAME_ENTRY     Base;
CERT_ALT_NAME_INFO  AuthorityCertIssuer;    
CERT_ALT_NAME_INFO      CRLIssuer;          
CERT_ALT_NAME_INFO      FullName;       
CERT_BLOB    Forward;        
CERT_BLOB    Reverse;        
certca.dll
-------- CERT_CHAIN_CONTEXT --------
CertChainMaxSize
CERT_CHAIN_OF_TRUST_FAILURE
CertChainStatus
certcli.dll
CertCloseServerOcspResponse
CertCloseServerOcspResponse(
CertCloseStore
CertCloseStore(
CertCompareCertificate
CertCompareCertificate(
CertCompareCertificateName
CertCompareCertificateName(
CertCompareIntegerBlob(
CertComparePublicKeyInfo
CertComparePublicKeyInfo(
CertControlStore
CertControlStore(
CertCreateCertificateChainEngine
CertCreateCertificateChainEngine (
CertCreateCertificateContext
CertCreateCertificateContext(
CertCreateContext
CertCreateContext(
CertCreateCRLContext
CertCreateCRLContext(
CertCreateCTLContext
CertCreateCTLContext(
CertCreateCTLEntryFromCertificateContextProperties(
CertCreateSelfSignCertificate(
CertDeleteCertificateFromStore
CertDeleteCertificateFromStore(
CertDeleteCRLFromStore
CertDeleteCRLFromStore(
CertDeleteCTLFromStore(
CertDuplicateCertificateChain (
CertDuplicateCertificateContext
CertDuplicateCertificateContext(
CertDuplicateCRLContext
CertDuplicateCRLContext(
CertDuplicateCTLContext(
CertDuplicateStore
CertDuplicateStore(
CERT_ENHKEY_USAGE Usage;
CertEnrollCtrl.pdb
certenroll.dll
CertEnumCertificateContextProperties
CertEnumCertificateContextProperties(
CertEnumCertificatesInStore
CertEnumCertificatesInStore(
CertEnumCRLContextProperties
CertEnumCRLContextProperties(
CertEnumCRLsInStore
CertEnumCRLsInStore(
CertEnumCTLContextProperties
CertEnumCTLContextProperties(
CertEnumCTLsInStore
CertEnumCTLsInStore(
CertEnumPhysicalStore
CertEnumPhysicalStore(
CertEnumSubjectInSortedCTL(
CertEnumSystemStore
CertEnumSystemStore(
CertEnumSystemStoreLocation
CertEnumSystemStoreLocation(
CERT_EXTENSION rgExtensions[]
CertFindAttribute
CertFindAttribute(
CertFindCertificateInCRL(
CertFindCertificateInStore
CertFindCertificateInStore(
CertFindChainInStore(
CertFindCRLInStore(
CertFindCTLInStore(
CertFindExtension
CertFindExtension(
CertFindRDNAttr(
CERT_FIND_SUBJECT_CERT
CertFindSubjectInCTL(
CertFindSubjectInSortedCTL(
CertFreeCertificateChain
CertFreeCertificateChain (
CertFreeCertificateChainEngine
CertFreeCertificateChainEngine (
CertFreeCertificateChainList(
CertFreeCertificateContext
CertFreeCertificateContext(
CertFreeCRLContext
CertFreeCRLContext(
CertFreeCTLContext
CertFreeCTLContext(
CertFreeServerOcspResponseContext(
CertGetCertificateChain
CertGetCertificateChain (
CertGetCertificateContextProperty
CertGetCertificateContextProperty(
CertGetCRLContextProperty
CertGetCRLContextProperty(
CertGetCRLFromStore(
CertGetCTLContextProperty
CertGetCTLContextProperty(
CertGetEnhancedKeyUsage
CertGetEnhancedKeyUsage(
CertGetIntendedKeyUsage
CertGetIntendedKeyUsage(
CertGetIssuerCertificateFromStore
CertGetIssuerCertificateFromStore(
CertGetNameString
CertGetNameStringA
CertGetNameStringA(
CertGetNameStringW
CertGetNameStringW(
CertGetPublicKeyLength
CertGetPublicKeyLength(
CertGetServerOcspResponseContext(
CertGetStoreProperty(
CertGetSubjectCertificateFromStore
CertGetSubjectCertificateFromStore(
CertGetValidUsages(
CERT_HASHED_URL             HashedUrl;      
CERT_ID                     OriginatorCertId;
CERT_ID                     RecipientId;
CERT_ID                     SignerId;
Certificate
CertificateBlob
CertificateCN
Certificate context is missing.
[Certificate History]
Certificates
Certificate Serial Number: 
CertificateServicesClient_CredentialRoaming
CertificateThumbprint
CertificateValidationWrapper.dll
Certificate verification failed.
CertificationVerification
CertInfo
"Cert Installed Successfully"
Cert Installed Successfully
Cert Install Failed
"Cert Install Pending"
Cert Install Pending
CertIsRDNAttrsInCertificateName(
CertIsStrongHashToSign(
CERT_ISSUER_SERIAL_NUMBER   IssuerSerialNumber;
CertIsValidCRLForCertificate(
CertIsWeakHash(
CERT_LOGOTYPE_DETAILS       LogotypeDetails;
CERT_LOGOTYPE_INFO          LogotypeInfo;
CERT_NAME_ATTR_TYPE
CERT_NAME_BLOB              ByNameResponderId;
CERT_NAME_BLOB      CertIssuer;
CERT_NAME_BLOB              DirectoryName;      
CERT_NAME_BLOB              Issuer;
CERT_NAME_BLOB      Issuer;
CERT_NAME_BLOB                          *rgIssuer;
CERT_NAME_BLOB          *rgSubtreesConstraint;
CERT_NAME_BLOB              Subject;
CERT_NAME_BLOB          Subject;
CERT_NAME_SIMPLE_DISPLAY_TYPE
CertNameToStrA(
CertNameToStrW
CertNameToStrW(
CERT_OEM_NAME_NOT_FOUND
CertOIDToAlgId(
CertOpenServerOcspResponse
CertOpenServerOcspResponse(
CertOpenStore
CertOpenStore(
CertOpenSystemStoreA(
CertOpenSystemStoreW(
CERT_POLICIES_INFO          IntendedCertPolicies;   
CERT_POLICY_INFO            *rgPolicyInfo;
CERT_POLICY_QUALIFIER_INFO  *rgPolicyQualifier;
CERT_POLICY_QUALIFIER_NOTICE_REFERENCE  *pNoticeReference;  
CERT_PUBLIC_KEY_INFO        OriginatorPublicKeyInfo;
CERT_PUBLIC_KEY_INFO        SubjectPublicKeyInfo;
CERT_PUBLIC_KEY_INFO    SubjectPublicKeyInfo;
CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED
CERT_QUERY_FORMAT_FLAG_BINARY
CERT_QUERY_OBJECT_FILE
CERT_RDN_VALUE_BLOB     Value;
CERT_RDN_VALUE_BLOB Value;
CertRDNValueToStrA(
CertRDNValueToStrW(
CertRegisterPhysicalStore(
CertRegisterSystemStore(
CertRegistryManager::AddCertificateToCertStoreByAddingToRegistry
CertRemoveEnhancedKeyUsageIdentifier(
CertRemoveStoreFromCollection(
certreq.pdb
CertResyncCertificateChainEngine (
CertRetrieveLogoOrBiometricInfo(
CertSaveStore
CertSaveStore(
CertSelectCertificateChains(
CertSerializeCertificateStoreElement(
CertSerializeCRLStoreElement(
CertSerializeCTLStoreElement(
CertSetCertificateContextPropertiesFromCTLEntry
CertSetCertificateContextPropertiesFromCTLEntry(
CertSetCertificateContextProperty
CertSetCertificateContextProperty(
CertSetCRLContextProperty
CertSetCRLContextProperty(
CertSetCTLContextProperty
CertSetCTLContextProperty(
CertSetEnhancedKeyUsage(
CertSetStoreProperty
CertSetStoreProperty(
CertSrvBackupClose
CertSrvBackupEnd
CertSrvBackupFree
CertSrvBackupGetBackupLogsW
CertSrvBackupGetDatabaseNamesW
CertSrvBackupGetDynamicFileListW
CertSrvBackupOpenFileW
CertSrvBackupPrepareW
CertSrvBackupRead
CertSrvBackupTruncateLogs
CertSrvIsServerOnlineW
CertSrvRestoreEnd
CertSrvRestoreGetDatabaseLocationsW
CertSrvRestorePrepareW
CertSrvRestoreRegisterComplete
CertSrvRestoreRegisterThroughFile
CertSrvRestoreRegisterW
CertSrvServerControlW
    --cert-status
cert-status
CertStrToNameA(
CertStrToNameW
CertStrToNameW(
CERT_TRUST_STATUS       TrustStatus;
CERT_TRUST_STATUS     TrustStatus;
cert-type
CertUnregisterPhysicalStore(
CertUnregisterSystemStore(
CERT_USAGE_MATCH RequestedUsage;
certutil.pdb
cert_utils.cpp
cert_utils.h
CERT_VALIDITY_PERIOD_NOT_FOUND
CertVerifyCertificateChainPolicy
CertVerifyCertificateChainPolicy(
CertVerifyCRLRevocation(
CertVerifyCRLTimeValidity
CertVerifyCRLTimeValidity(
CertVerifyCTLUsage(
CertVerifyRevocation
CertVerifyRevocation(
CertVerifySubjectCertificateContext
CertVerifySubjectCertificateContext(
CertVerifyTimeValidity
CertVerifyTimeValidity(
CertVerifyValidityNesting(
'cetp.eq
CEudcList
*C"E"w0v0
CException
:Cf256uv1299L
CFaceDetectionSensor::CreateInstance
CFaceDetectionSensor::GetReadingMode
CFaceDetectionSensor::OnDataUpdated
CFaceDetectionSensor::QueryInterface
CFaceDetectionSensor::RegisterForSensorEvents
CFaceDetectionSensor::ReleaseInstance
CFaceDetectionSensor::ReleaseSensor
CFaceDetectionSensor::SendModeChangeEvent
CFaceDetectionSensor::SetSensor
CFaceDetectionSensor::UnregisterFromSensorEvents
CFaxEventExtended::CFaxEventExtended - AllocateAndCopySid on account sid failed
CFaxEventExtended::CFaxEventExtended Can not allocate FAX_EVENT_EX
CFaxEventLegacy::CFaxEventLegacy - AllocateAndCopySid failed
CFaxEventLegacy::CFaxEventLegacy Can not allocate FAX_EVENT_EX
CFaxProp
CFaxText
CfcDDfffD2"""""6ffffffff
;CFDFNWMW
CFDIFileFile::CreateFile() file is already open.
CFFFFFFFFF4
!!CFFFFFFFFFFFFFFFFFFFFFFFFFFFF
!!CFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
!CFFFFFFFFFFFFFFFFFFFFFFFFFFFF
"""CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE@777777)2FFFFFFFFFFFFFE
CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE 
'CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?4
CfgMgr32.dll
CFGMGR32.dll
cfg_rules: the requested rule change is not supported after end of manufacturing.
.cfguard
@.cfguard
@.cfguardV
CFileDialog
CFileException
CFileFind
CflFreeBuffer
CflGetScenarioData
cfma.rnc
cfma.rnI;
.cfma.rnMt!17
cfNIxehF
CFormView
CFrameWnd
CFrameWndEx
CfrpAddToScenarioStream
@CfrpClientWriteEvent
CfrpClientWriteFailureEvent
CfrpGetExpandedInfo
CfrpGetGroupPolicySetting
CfrpGetPathTail
CfrpGetResult
CfrpGetRunCount
CfrpIsNonInteractive
CfrpIsUISuppressed
CfrpLoadString
CfrpMarkUIOn
CfrpProcessScenarioStatus
CfrpReboot
CfrpRepairFile
CfrpShowRebootConfirmationUI
CfrpShowRebootUI
:#:C:f:s:
CgagsWvuespwsGsCsVwRwB
cGAMMALUT_GET_FAILEDW
CgDgDr(q(
CGdiObject
!C!gO#IHM
CGraspDetection::DetectStateChange
CGraspDetection::GetInMotionConfigValue
cgRLY00f
cgsGRse4w
CGuideBar
CgvL@cI7O
C@H98t"H
C(H9C0sB
C(H9G(t8H
C@H9kHuNH
Change1667Password
ChangeActiveDevicesW
ChangeBatteryUI
ChangeBootOrder
ChangeColorSpaceInfo
changeDescription
ChangeDisplaySettingsExA
ChangeDisplaySettingsExW
ChangeExtension
changeHIDconfig
changeid_next_value
ChangeLunControllerAssociations
ChangeLunPortAssociations
ChangeLunTargetAssociations
ChangeMode
change.pdb
changepk.pdb
ChangePK_ProductKeyCommandLine
ChangePK_ProductKeyRegistry
ChangePK_Start
ChangePK_Stop
ChangeRecoveryProperty
ChangeServiceConfig2
ChangeServiceConfig2W
ChangeServiceConfig failed: error 
ChangeServiceConfigW
ChangeServiceFailureActions
ChangeTimerQueueTimer
ChangeType
ChangeWindowMessageFilter
ChangeWindowMessageFilterEx
ChangeWovFeatureStatus
Changing source
" channel.
ChannelChangeInitiatedAlertEvent
ChannelCodeW
Channel codeWW
channel_count
ChannelIdOffset
channelIndex
" channel is invalid.
" channel is not 1.
channelMapping
ChannelMask
channel name
ChannelName
" channel of input file "
" channel of output file "
_channels
channels
_channelsCount
ChannelsCountIndependent
ChannelsCountIrrelevant
ChapInitiator
ChapTarget
Char 0x0 out of allowed range
char16_t
char32_t
Character
CharacterAdded
CharacterCode
Character content other than whitespace is not allowed because the content type is 'element-only'
CharacteristicDescriptions
Characteristics
CharacterSaved
charactersConvertedToWide
CharacterSet
 characters long.
charClassExpr: ']' expected
CharConv
CharechterSet
ChargingStatus
CharLowerA
CharLowerBuffW
CharLowerW
CharMap.pdb
CharNextA
CharNextExA
CharNextW
CharOffsets
Char out of XML range
CharPrevA
CharPrevW
CharRef: invalid decimal value
CharRef: invalid hexadecimal value
CharRef: invalid value
charStringBlend can't be NULL
 Char String Pointer is NULL
 Char String Pointer is NULL at cmdCALLSUBR
 Char String Pointer is NULL at cmdRETURN
CharStrings
CHAR      szLongName[40];
CHAR      szName[20];
ChartArea
ChartAreaCollection
charT cannot have a precision
ChartColorPalette
ChartLegendGPU
ChartLegendMemory
ChartNamedElement
CharToOemA
CharUpperBuffW
CharUpperW
charval 
ChassisPackageType
ChassisTypeDescription
ChassisTypes
CHAT_INLINE
Chat method returned an error
CHAT_VIEW
C(Hc8H9k8u H
C(Hc8H9s8
CHD9.t	H
_chdrive
CHeaderCtrl
_CheckAdmin
Check all newly added driver NtCreateFile and NtOpenFile calls or run:
CheckAndUpdateKernelPortEnableStatus
CheckApply
Check BIOS settings and ensure that manual IRQ assignments dont conflict.
CheckBurstConditions
Check config file. Error while parsing line beginning with: 
Check config file. Key already exist: 
Check configuration file for correct length.
CheckDlgButton
CheckElevationEnabled
CheckFileExistsAndReturnPath
CheckForCommandMatch
CheckForInternetConnection
CheckForSlowerHarddisk
CheckForSlowerProcessor
checkforupdate
CheckForValidFolder
checkhybridconnectionrulestests.cpp
checkhybridconnectionrulestests.h
CheckIfClassIsProper
CheckIfCoordinatorMinApplicableVersionResult
CheckIfNeedToDelayAutomaticStartup
CheckIfProperClass
CheckIfSkipLocFiles
CheckIfSkipRingMap
Checking command
Checking conditions necessary for PTT recertification.
Checking for
Checking for face detection sensor
Checking for server connect
Checking if 
Checking if EK cert is in Windows registry
Checking OS version
Checking privacy setting
Checking revokation of EK cert
Checking TPM vendor... success
checkmanifest.cpp
CheckMenuItem
CheckMenuRadioItem
check_mode
CheckNetIsolation.pdb
CheckPackageCapabilities
CheckParameterSize
CheckPayloadSize
CheckPhaseConfiguration
Checkpoint
CheckpointMode
CheckPreProcessingLatency
checkprerequisites.cpp
CheckProcessCallback
CheckRadioButton
CheckRemoteDebuggerPresent
CheckRequiredArchitectureAndLogExtension
CheckSpeechMode
CheckStatusDir
CheckSum
CheckSumMappedFile
checksumMatches
CheckTokenMembership
CheckUwpAppExist
CheckVendorIdentifier
CHelpComboBoxButton
Chemistry
Cherokee
CherryTrailChipsets
chglogon.pdb
chgport.pdb
chgusr.pdb
 'child' 
ChildSID
CHIPSET_FAMILY_ALMADOR_M
CHIPSET_FAMILY_ALVISO_GW
CHIPSET_FAMILY_BEARLAKE_BWWW
CHIPSET_FAMILY_BROADWATER_GW
CHIPSET_FAMILY_BROOKDALE_GWW
CHIPSET_FAMILY_BXT_DESKTOPWW
CHIPSET_FAMILY_BXT_MOBILEWWW
CHIPSET_FAMILY_CALISTOGA_GWW
]CHIPSET_FAMILY_CANTIGAWW
CHIPSET_FAMILY_CFL_DESKTOPWW
CHIPSET_FAMILY_CFL_MOBILEWWW
.CHIPSET_FAMILY_CHV_DESKTOPWW
CHIPSET_FAMILY_CHV_MOBILEWWW
CHIPSET_FAMILY_CNL_MOBILEWWW
CHIPSET_FAMILY_CRESTLINE_GWW
CHIPSET_FAMILY_EAGLELAKE
CHIPSET_FAMILY_ENUMW
CHIPSET_FAMILY_GLV_DESKTOPWW
CHIPSET_FAMILY_GLV_MOBILEWWW
CHIPSET_FAMILY_GML_DESKTOPWW
CHIPSET_FAMILY_GML_MOBILEWWW
CHIPSET_FAMILY_GT_DESKTOPWWW
CHIPSET_FAMILY_GT_MOBILE
CHIPSET_FAMILY_GWL_DESKTOPWW
CHIPSET_FAMILY_GWL_MOBILEWWW
CHIPSET_FAMILY_HSW_MOBILEWWW
"CHIPSET_FAMILY_ICL_DESKTOPWW
CHIPSET_FAMILY_IRONLAKE_DESKTOPW
CHIPSET_FAMILY_JSL_DESKTOPWW
CHIPSET_FAMILY_JSL_MOBILEWWW
CHIPSET_FAMILY_KBL_DESKTOPWW
CHIPSET_FAMILY_LAKEPORT_GWWW
CHIPSET_FAMILY_LKF_MOBILEWWW
CHIPSET_FAMILY_MONTARAG_MWWW
CHIPSET_FAMILY_RKL_DESKTOPWW
CHIPSET_FAMILY_RKL_MOBILEWWW
CHIPSET_FAMILY_RYF_DESKTOPWW
CHIPSET_FAMILY_SKL_DESKTOPWW
CHIPSET_FAMILY_SKL_MOBILEWWW
CHIPSET_FAMILY_SPRINGDALE_GW
CHIPSET_FAMILY_TGL_DESKTOPWW
CHIPSET_FAMILY_UNKNOWNWW
CHIPSET_FAMILY_VLV_MOBILEWWW
CHIPSET_FAMILY_WLW_MOBILEWWW
CHistoryVaultMainWindow
CHistoryVaultMainWindow.AddRef
CHistoryVaultMainWindow.AddTravelEntry
CHistoryVaultMainWindow.BrowseObject
CHistoryVaultMainWindow.ContextSensitiveHelp
CHistoryVaultMainWindow.CreateAddressBarButton
CHistoryVaultMainWindow.CreateAddressBarComboBox
CHistoryVaultMainWindow.CreateStaticParent
CHistoryVaultMainWindow.CreateTravelBand
CHistoryVaultMainWindow.CreateViewWindow
CHistoryVaultMainWindow.DisplayParseError
CHistoryVaultMainWindow.EnableModelessSB
CHistoryVaultMainWindow.FreeGDIResources
CHistoryVaultMainWindow.GetBrowserIndex
CHistoryVaultMainWindow.GetControlWindow
CHistoryVaultMainWindow.GetFlags
CHistoryVaultMainWindow.GetHistoryObject
CHistoryVaultMainWindow.GetNavigateState
CHistoryVaultMainWindow.GetNavItemTitle
CHistoryVaultMainWindow.GetPalette
CHistoryVaultMainWindow.GetPidl
CHistoryVaultMainWindow.GetPropertyBag
CHistoryVaultMainWindow.GetTargetItem
CHistoryVaultMainWindow.GetTitle
CHistoryVaultMainWindow.GetToolbarIconSize
CHistoryVaultMainWindow.GetTravelLog
CHistoryVaultMainWindow.GetViewFilters
CHistoryVaultMainWindow.GetViewItems
CHistoryVaultMainWindow.GetViewStateStream
CHistoryVaultMainWindow.GetWindow
CHistoryVaultMainWindow.GoBack
CHistoryVaultMainWindow.GoForward
CHistoryVaultMainWindow.InitThemeData
CHistoryVaultMainWindow.InsertMenusSB
CHistoryVaultMainWindow.IsControlWindowShown
CHistoryVaultMainWindow.KeyboardCallback
CHistoryVaultMainWindow.NavigateToPidl
CHistoryVaultMainWindow.NavigateToUrl
CHistoryVaultMainWindow.NavigateTravelLog
CHistoryVaultMainWindow.OnDestroyWindow
CHistoryVaultMainWindow.OnEraseBckg
CHistoryVaultMainWindow.OnInitWindow
CHistoryVaultMainWindow.OnViewWindowActive
CHistoryVaultMainWindow.PopulateTravelLog
CHistoryVaultMainWindow.QueryActiveShellView
CHistoryVaultMainWindow.QueryInterface
CHistoryVaultMainWindow.QueryService
CHistoryVaultMainWindow.Refresh
CHistoryVaultMainWindow.RegisterWindow
CHistoryVaultMainWindow.Release
CHistoryVaultMainWindow.RemoveMenusSB
CHistoryVaultMainWindow.RestoreFrame
CHistoryVaultMainWindow.SendControlMsg
CHistoryVaultMainWindow.SetAsDefFolderSettings
CHistoryVaultMainWindow.SetFlags
CHistoryVaultMainWindow.SetMenuSB
CHistoryVaultMainWindow.SetNavigateState
CHistoryVaultMainWindow.SetStatusTextSB
CHistoryVaultMainWindow.SetToolbarItems
CHistoryVaultMainWindow.ShowControlWindow
CHistoryVaultMainWindow.StartApplication
CHistoryVaultMainWindow.StaticWndProc
CHistoryVaultMainWindow.Stop
CHistoryVaultMainWindow.SubmitSqm
CHistoryVaultMainWindow.TranslateAcceleratorSB
CHistoryVaultMainWindow.UpdateBackForwardState
CHistoryVaultMainWindow.UpdateTravelBandStates
CHistoryVaultMainWindow.UpdateWindowList
CHistoryVaultMainWindow.WndProc
CH@J@cBdB
chkdskAborted
chkdskArgumentsBitmask
chkdskAutocheck
ChkdskCompleted
chkdskCountAttributeListEntriesDeleted
chkdskCountAttributesDeleted
chkdskCountCloudFileReparsePointIndexEntriesDeleted
chkdskCountCloudFileReparsePointsDeleted
chkdskCountIndexEntriesDeleted
chkdskCountReparsePointAttributeListEntriesDeleted
chkdskCountReparsePointIndexEntriesDeleted
chkdskCountReparsePointsDeleted
	chkdskDuration
chkdskDuration
ChkDskErrorCode
ChkdskEx
chkdskExitStatus
chkdskFileSystemName
chkdskFixLevel
	chkdskHouseKeepingBitmask
chkdskNumberUserFiles
chkdsk.pdb
chkdskProgramName
chkdskResult
ChkDskRun
ChkdskRunInfo
chkdskSequenceNumber
chkdskSourceTag
chkdskStage
ChkdskStageEntered
ChkdskStarting
chkdskVerb
chkdskVerbDuration
ChkdskVerbEncountered
chkdskVerbHeaderFlags
chkdskVerbObjectId
chkdskVerbOutcome
chkdskVerbOutcomeStatus
chkdskVerbSignature
chkdskVerbSourceId
chkdskVolumeGuid
chkdskVolumeIsDirty
chkdskVolumeSize
chkmfSO#T
chkntfs.pdb
__chkstk
ChM90tNI
[choice] 
       |-Choice of parameters
choice.pdb
CHomeButton
CHomeButton._Init
CHomeButton.s_TBWndProc
CHomeButton._UpdateToolbar
ChooseColorW
ChooseFontW
chromaticities
Chrome Cookies database not initialized
Chrome Cookies invalid DB version
Chrome database not initialized
Chrome FaviconImages invalid DB version
Chrome FaviconMappings invalid DB version
Chrome Favicons database not initialized
Chrome History database not initialized
Chrome History invalid DB version
Chrome Logins database not initialized
Chrome LOGINS invalid DB version
Chrome Preferences file not found
Chrome unsupported query type
C H!s(H9w(t'
CHUFUmvnv
Chunk callback failed
chunkCount
chunkCount exceeds maximum area of 
chunked.cpp
chunked.h
chunk is not well balanced
chunkK....................
chunk reading DONE
Chunky upload is not supported by HTTP 1.0
CHwndRenderTarget
CIBIl@m@
CIDCount
 ci-dessous afin d'ouvrir Lenovo Settings 
CIDFontName
CIDFontType
CIDFontVersion
CIDiag.pdb
cIdIxAzA
CIDMapOffset
c@IGFXEXTLibWW
CI;iK(ho-r
cilatII.stnemucoD.lmaX.IU.swodniW
cilatI.stnemucoD.lmaX.IU.swodniW
CIM_AbstractIndicationSubscription
CIM_Account
CIM_AccountManagementCapabilities
CIM_AccountManagementService
CIM_AccountOnSystem
CIM_Action
CIM_ActionSequence
CIM_ActiveConnection
CIM_ActsAsSpare
CIM_AdjacentSlots
CIM_AdminDomain
CIM_AffectedJobElement
CImageList
CIM_AggregatePExtent
CIM_AggregatePSExtent
CIM_AggregateRedundancyComponent
CIM_AggregationMetricDefinition
CIM_AggregationMetricValue
CIM_AlarmDevice
CIM_AlertIndication
CIM_AllocatedResource
CIM_AllocationCapabilities
CIM_ApplicationSystem
CIM_ApplicationSystemSoftwareFeature
CIM_AssignedIdentity
CIM_AssociatedAlarm
CIM_AssociatedBattery
CIM_AssociatedCooling
CIM_AssociatedMemory
CIM_AssociatedPowerManagementService
CIM_AssociatedPrivilege
CIM_AssociatedProcessorMemory
CIM_AssociatedSensor
CIM_AssociatedSupplyCurrentSensor
CIM_AssociatedSupplyVoltageSensor
CIM_AuthenticationService
CIM_AuthorizationService
CIM_AuthorizedPrivilege
CIM_BasedOn
CIM_BaseMetricDefinition
CIM_BaseMetricValue
CIM_Battery
CIM_BinarySensor
CIM_BindsTo
CIM_BindsToLANEndpoint
CIM_BIOSElement
CIM_BIOSFeature
CIM_BIOSFeatureBIOSElements
CIM_BIOSLoadedInNV
CIM_BootConfigSetting
CIM_BootOSFromFS
CIM_BootSAP
CIM_BootService
CIM_BootServiceAccessBySAP
CIM_BootSettingData
CIM_BootSourceSetting
CIM_CacheMemory
CIM_Capabilities
CIM_Card
CIM_CardInSlot
CIM_CardOnCard
CIM_CDROMDrive
CIM_Chassis
CIM_ChassisInRack
CIM_Check
CIM_Chip
CIM_ClassCreation
CIM_ClassDeletion
CIM_ClassIndication
CIM_ClassModification
CIM_ClusteringSAP
CIM_ClusteringService
CIM_ClusterServiceAccessBySAP
CIM_CollectedCollections
CIM_CollectedMSEs
CIM_Collection
CIM_CollectionOfMSEs
CIM_CollectionOfSensors
CIM_CollectionSetting
CIM_CompatibleProduct
CIM_Component
CIM_ComponentCS
CIM_ComputerSystem
CIM_ComputerSystemDMA
CIM_ComputerSystemIRQ
CIM_ComputerSystemMappedIO
CIM_ComputerSystemPackage
CIM_ComputerSystemResource
CIM_ConcreteCollection
CIM_ConcreteComponent
CIM_ConcreteDependency
CIM_ConcreteIdentity
CIM_ConcreteJob
CIM_Configuration
CIM_ConnectedTo
CIM_ConnectorOnPackage
CIM_Container
CIM_ControlledBy
CIM_Controller
CIM_CoolingDevice
CIM_CopyFileAction
CIM_CreateDirectoryAction
CIM_Credential
CIM_CredentialContext
CIM_CredentialManagementService
CIM_CurrentSensor
CIM_DataFile
CIM_Dependency
CIM_DependencyContext
CIM_DesktopMonitor
CIM_DeviceAccessedByFile
CIM_DeviceConnection
CIM_DeviceErrorCounts
CIM_DeviceFile
CIM_DeviceSAPImplementation
CIM_DeviceServiceImplementation
CIM_DeviceSoftware
CIM_Directory
CIM_DirectoryAction
CIM_DirectoryContainsFile
CIM_DirectorySpecification
CIM_DirectorySpecificationFile
CIM_DiscreteSensor
CIM_DiskDrive
CIM_DisketteDrive
CIM_DiskPartition
CIM_DiskSpaceCheck
CIM_Display
CIM_DisplayController
CIM_DNSGeneralSettingData
CIM_DNSProtocolEndpoint
CIM_Docked
CIM_DVDDrive
CIM_DynamicForwardingEntry
CIM_ElementAllocatedFromPool
CIM_ElementCapabilities
CIM_ElementCapacity
CIM_ElementConfiguration
CIM_ElementConformsToProfile
CIM_ElementLocation
CIM_ElementSetting
CIM_ElementSettingData
CIM_ElementsLinked
CIM_ElementSoftwareIdentity
CIM_ElementStatisticalData
CIM_ElementView
CIM_EnabledLogicalElement
CIM_EnabledLogicalElementCapabilities
CIM_Error
CIM_ErrorCountersForDevice
CIM_EthernetPort
CIM_EthernetPortAllocationSettingData
CIM_ExecuteProgram
CIM_Export
CIM_ExtraCapacityGroup
CIM_FCPort
CIM_FileAction
CIM_FileSpecification
CIM_FileStorage
CIM_FileSystem
CIM_FilterCollection
CIM_FilterCollectionSubscription
CIM_FilterEntryBase
CIM_FlatPanel
CIM_ForwardingService
CIM_ForwardsAmong
CIM_FromDirectoryAction
CIM_FromDirectorySpecification
CIM_FRUIncludesProduct
CIM_FRUPhysicalElements
CIM_Group
CIM_HeatPipe
CIM_HostedAccessPoint
CIM_HostedBootSAP
CIM_HostedBootService
CIM_HostedDependency
CIM_HostedFileSystem
CIM_HostedJobDestination
CIM_HostedResourcePool
CIM_HostedService
CIM_IDEController
CIM_Identity
CIM_IEEE8021xCapabilities
CIM_IEEE8021xSettings
CIM_IKEAction
CIM_IKEProposal
CIM_IKESAEndpoint
CIM_Indication
CIM_IndicationService
CIM_InfraredController
CIM_InstalledOS
CIM_InstalledSoftwareElement
CIM_InstalledSoftwareIdentity
CIM_InstCreation
CIM_InstDeletion
CIM_InstIndication
CIM_InstModification
CIM_IPAssignmentSettingData
CIM_IPProtocolEndpoint
CIM_IPsecSAEndpoint
CIM_JobDestination
CIM_JobDestinationJobs
CIM_Keyboard
CIM_KVMRedirectionSAP
CIM_LANEndpoint
CIM_LastAppliedSnapshot
CIM_LinkHasConnector
CIM_ListenerDestination
CIM_ListenerDestinationWSManagement
CIM_LocalFileSystem
CIM_Location
CIM_LogEntry
CIM_LogicalDevice
CIM_LogicalDisk
CIM_LogicalDiskBasedOnPartition
CIM_LogicalDiskBasedOnVolumeSet
CIM_LogicalElement
CIM_LogicalFile
CIM_LogicalIdentity
CIM_LogicalPort
CIM_LogicalPortCapabilities
CIM_LogManagesRecord
CIM_LogRecord
CIM_MagnetoOpticalDrive
CIM_ManagedCredential
CIM_ManagedElement
CIM_ManagedSystemElement
CIM_ManagementController
CIM_MediaAccessDevice
CIM_MediaPresent
CIM_MemberOfCollection
CIM_Memory
CIM_MemoryCapacity
CIM_MemoryCheck
CIM_MemoryMappedIO
CIM_MemoryOnCard
CIM_MemoryWithMedia
CIM_MessageLog
CIM_MetricDefForME
CIM_MetricForME
CIM_MetricInstance
CIM_MetricService
CIM_MetricServiceCapabilities
CIM_ModifySettingAction
CIM_MonitorResolution
CIM_MonitorSetting
CIM_MostCurrentSnapshotInBranch
CIM_Mount
CIM_MultiStateSensor
__cimnamespace
CIM_NetworkAdapter
CIM_NetworkPipe
CIM_NetworkPort
CIM_NetworkPortCapabilities
CIM_NetworkPortConfigurationService
CIM_NetworkService
CIM_NextHopRoute
CIM_NonVolatileStorage
CIM_NumericSensor
CIM_OperatingSystem
CIM_OperatingSystemSoftwareFeature
CIM_OrderedComponent
CIM_OSProcess
CIM_OSVersionCheck
CIM_OwningCollectionElement
CIM_OwningJobElement
CIM_PackageAlarm
CIM_PackageCooling
CIM_PackagedComponent
CIM_PackageInChassis
CIM_PackageInSlot
CIM_PackageTempSensor
CIM_ParallelController
CIM_ParticipatesInSet
CIM_PCIController
CIM_PCMCIAController
CIM_PCVideoController
CIM_PExtentRedundancyComponent
CIM_Phase1SAUsedForPhase2
CIM_PhysicalCapacity
CIM_PhysicalComponent
CIM_PhysicalComputerSystemView
CIM_PhysicalConnector
CIM_PhysicalElement
CIM_PhysicalElementLocation
CIM_PhysicalExtent
CIM_PhysicalFrame
CIM_PhysicalLink
CIM_PhysicalMedia
CIM_PhysicalMemory
CIM_PhysicalPackage
CIM_PointingDevice
CIM_Policy
CIM_PolicyAction
CIM_PolicyActionInPolicyRule
CIM_PolicyActionStructure
CIM_PolicyComponent
CIM_PolicyCondition
CIM_PolicyInSystem
CIM_PolicyRule
CIM_PolicyRuleInSystem
CIM_PolicySet
CIM_PolicySetAppliesToElement
CIM_PolicySetComponent
CIM_PolicySetInSystem
CIM_PortImplementsEndpoint
CIM_PortOnDevice
CIM_PotsModem
CIM_PowerManagementCapabilities
CIM_PowerManagementService
CIM_PowerSupply
CIM_Printer
CIM_Privilege
CIM_PrivilegeManagementCapabilities
CIM_PrivilegeManagementService
CIM_Process
CIM_ProcessExecutable
CIM_ProcessIndication
CIM_Processor
CIM_ProcessThread
CIM_Product
CIM_ProductFRU
CIM_ProductParentChild
CIM_ProductPhysicalElements
CIM_ProductProductDependency
CIM_ProductSoftwareFeatures
CIM_ProductSupport
CIM_ProtectedSpaceExtent
CIM_ProtocolController
CIM_ProtocolControllerForDevice
CIM_ProtocolControllerForUnit
CIM_ProtocolEndpoint
CIM_ProvidesServiceToElement
CIM_PSExtentBasedOnPExtent
CIM_Rack
CIM_Realizes
CIM_RealizesAggregatePExtent
CIM_RealizesDiskPartition
CIM_RealizesPExtent
CIM_RebootAction
CIM_RecordForLog
CIM_RecordLog
CIM_RedirectionService
CIM_RedundancyComponent
CIM_RedundancyGroup
CIM_RedundancySet
CimReference
CIM_ReferencedProfile
CIM_Refrigeration
CIM_RegisteredProfile
CIM_RegisteredSpecification
CIM_RelatedStatistics
CIM_RemoteAccessAvailableToElement
CIM_RemoteFileSystem
CIM_RemoteIdentity
CIM_RemotePort
CIM_RemoteServiceAccessPoint
CIM_RemoveDirectoryAction
CIM_RemoveFileAction
CIM_ReplacementSet
CIM_ResidesOnExtent
CIM_ResourceAllocationFromPool
CIM_ResourceAllocationSettingData
CIM_ResourcePool
CIM_ResourcePoolConfigurationCapabilities
CIM_ResourcePoolConfigurationService
CIM_Role
CIM_RoleBasedAuthorizationService
CIM_RoleBasedManagementCapabilities
CIM_RoleLimitedToTarget
CIM_RouteUsesEndpoint
CIM_RunningOS
CIM_SAAction
CIM_SANegotiationAction
CIM_SAPAvailableForElement
CIM_SAProposal
CIM_SAPSAPDependency
CIM_SARule
CIM_Scanner
CIM_ScopedSettingData
CIM_SCSIController
CIM_SCSIInterface
CIM_SCSIProtocolController
CIM_SecurityAssociationEndpoint
CIM_SecurityService
CIM_Sensor
CIM_SerialController
CIM_SerialInterface
CIM_Service
CIM_ServiceAccessBySAP
CIM_ServiceAccessPoint
CIM_ServiceAffectsElement
CIM_ServiceAvailableToElement
CIM_ServiceComponent
CIM_ServiceSAPDependency
CIM_ServiceServiceDependency
CIM_Setting
CIM_SettingCheck
CIM_SettingContext
CIM_SettingData
CIM_SettingsDefineCapabilities
CIM_SettingsDefineState
CIM_SharedCredential
CIM_Slot
CIM_SlotInSlot
CIM_SnapshotOfVirtualSystem
CIM_SoftwareElement
CIM_SoftwareElementActions
CIM_SoftwareElementChecks
CIM_SoftwareElementVersionCheck
CIM_SoftwareFeature
CIM_SoftwareFeatureSAPImplementation
CIM_SoftwareFeatureServiceImplementation
CIM_SoftwareFeatureSoftwareElements
CIM_SoftwareIdentity
CIM_SpareGroup
CIM_StatisticalData
CIM_StatisticalInformation
CIM_Statistics
CIMStatusCode
CIMStatusCodeDescription
CIM_StorageAllocationSettingData
CIM_StorageDefect
CIM_StorageError
CIM_StorageExtent
CIM_StorageRedundancyGroup
CIM_StorageVolume
CIM_SupportAccess
CIM_SwapSpaceCheck
CIM_SwitchesAmong
CIM_SwitchPort
CIM_SwitchPortDynamicForwarding
CIM_SwitchService
CIM_SwitchServiceTransparentBridging
CIM_System
CIM_SystemBIOS
CIM_SystemComponent
CIM_SystemDevice
CIM_SystemPackaging
CIM_SystemResource
CIM_SystemSpecificCollection
CIM_Tachometer
CIM_TapeDrive
CIM_TemperatureSensor
CIM_Thread
CIM_ToDirectoryAction
CIM_ToDirectorySpecification
CIM_TransparentBridgingDynamicForwarding
CIM_TransparentBridgingService
CIM_UninterruptiblePowerSupply
CIM_UnitaryComputerSystem
CIM_USBController
CIM_USBControllerHasHub
CIM_USBDevice
CIM_USBHub
CIM_UseOfLog
CIM_UserDevice
CIM_VersionCompatibilityCheck
CIM_VideoBIOSElement
CIM_VideoBIOSFeature
CIM_VideoBIOSFeatureVideoBIOSElements
CIM_VideoController
CIM_VideoControllerResolution
CIM_VideoHead
CIM_VideoHeadOnController
CIM_VideoSetting
CIM_View
CIM_VirtualEthernetSwitchSettingData
CIM_VirtualSystemManagementCapabilities
CIM_VirtualSystemManagementService
CIM_VirtualSystemMigrationCapabilities
CIM_VirtualSystemMigrationService
CIM_VirtualSystemMigrationSettingData
CIM_VirtualSystemSettingData
CIM_VirtualSystemSettingDataComponent
CIM_VirtualSystemSnapshotService
CIM_VLANEndpoint
CIM_VLANEndpointSettingData
CIM_VolatileStorage
CIM_VoltageSensor
CIM_VolumeSet
CIM_Watchdog
CIM_WiFiEndpoint
CIM_WiFiEndpointCapabilities
CIM_WiFiEndpointSettings
CIM_WiFiPort
CIM_WiFiPortCapabilities
CIM_WORMDrive
CINEMA_CONTENT_TYPEW
CInvalidArgException
Cinvalid stoi argument
cipher.pdb
circlemultiply
circleplus
CircularBuffer
Circular buffer overflow.
circumflex
Circumflexsmall
cirteMecivreSfOytilauQeviLxobX.eviLxobX.gnikrowteN.swodniW
citation
citatSgnikcolBegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
citatSreganaMegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
citatSreganaMtnirPI.gnitnirP.scihparG.swodniW
citatSsecioVdellatsnII.sisehtnyShceepS.aideM.swodniW
citatSsliateDnoitpOksaTtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
citatSsnoitpOksaTtnirPdradnatSI.gnitnirP.scihparG.swodniW
citatStxetnoCnoisnetxEtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
citatSwodniWeroCI.eroC.IU.swodniW
citnameSetubirttAenecS.senecS.noitisopmoC.IU.swodniW
citsiretcarahCeciveDoediV.erutpaC.aideM.swodniW
citsiretcarahClacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
citsiretcarahClacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
citsiretcarahCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
citsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
CIvhYY9l
;-;:;c;j;
cjbx61FZ-
C-j	C-k	D-k
CJDJm?l?z)x)
!C!J!d!p!9"w"
CJGIGF2E2	
CJKCompatibility
CJKCompatibilityForms
CJKCompatibilityIdeographs
CJKCompatibilityIdeographsSupplement
CJKRadicalsSupplement
CJKSymbolsandPunctuation
CJKUnifiedIdeographs
CJKUnifiedIdeographsExtensionA
CJKUnifiedIdeographsExtensionB
:-:C:]:j:w:
;-;C;];j;w;
c_*K3G3Z
CkDiD8H8HeEeE
:CL82rRyw
Claimed global use event
ClampCmyk
Class Code
ClassCode
?ClassExist@ClassInfoBase@DirectUI@@SA_NPEAPEAUIClassInfo@2@PEBQEBUPropertyInfo@2@IPEAU32@PEAUHINSTANCE__@@PEBG_N@Z
ClassGuid
ClassGUID
 Class Hierarchy Descriptor'
?classic@locale@std@@SAAEBV12@XZ
Class Id
ClassificationDescriptions
Classifications
ClassLowerFilters
Class. Map
_className
className
ClassName
ClassNameRegistry
ClassNameSize
?ClassProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
class std::basic_string
class std::list
ClassUpperFilters
CLBCatQ.DLL
C(Lc0H;s8tD
Cleaning up upper bus filter driver for device:
Cleaning up upper bus filter registry keys from the system
CleanLibsDirectory
CleanmgrInitialize
cleanmgr.pdb
CleanmgrPluginInitialize
CleanmgrPluginInstantiate
CleanMgrPluginScan
CleanMgrScan
CleanupAwayIntervalsXml
CleanUpCMDLArgs -- BEGIN
CleanUpCMDLArgs -- END
cleanupcommandlineparserimpl.cpp
cleanupcommandlineparserimpl.h
cleanupcoordinatorimpl.cpp
cleanupcoordinatorimpl.h
CleanupData
CLEANUP_ERROR
Clean up for Upper bus filters not needed
CleanupLocFiles
CleanupLocFiles failed
CleanUpLocFilesResult
CleanupMyEtl
CleanupPolicyComplianceEnsuranceForSource
cleanupregistryaccessortest.cpp
cleanUpScheduledTaskHR
--clear-accounted-apps
ClearAutomagicFlags
ClearButtonStyle
?Clear@CIniW@@QEAAXXZ
ClearDir
Cleared device need for reinstall.
Cleared pending configuration from last attempt.
clearerr
Clearing Aggregate ECC errors is not supported on device in vGPU mode.
Clearing ECC errors is not supported on a MIG-enabled device.
ClearLenovoSettingsReg
ClearLog
Clear option is not supported for FPFs.
Clear option is not supported for Hashed vars.
ClearPackageStatus
ClearPendingDeletionForImDriverFiles
ClearPendingFileDeletion
Clear PPM Package Parameters request received
?ClearProxyObject@BuiVolume@@QEAAXXZ
ClearRenderTargets
ClearRequestData
Clears accounting information of the vGPU instance that have already terminated.
                                Clears all the accounted PIDs in the buffer.
cleartext
CL.Ec4f(
ClFlFO0O0D9C9
cliapplicationlauncherut.cpp
?Click@Button@DirectUI@@SA?AVUID@@XZ
?Click@TouchButton@DirectUI@@SA?AVUID@@XZ
cliconfg.pdb
clientactivity.h
clientactivitytests.cpp
clientactivitytests.h
clientactivitytypes.h
Client already connected.
clientapi.cpp
clientapi.h
clientapimock.cpp
clientapi.stub.cpp
Client busy
clientcatalog.h
clientcataloginterfacetests.cpp
clientcataloginterfacetests.h
ClientCertificate
Client certificate file and password
Client certificate type for HTTPS proxy
clientcomconsumer.h
clientcommonmocks.h
clientcommonoverrides.cpp
clientcommonrc.h
clientcommontests.cpp
clientcomponent.h
clientcomponentmock.cpp
clientcomponentmock.h
clientconfiguration.cpp
clientconfiguration.h
clientconfigurationrc.h
ClientCredential
ClientDebugLogLevel
ClientDefinitions
clientdefinitions.cpp
clientdefinitionstest.cpp
Client didn't close socket within 
clientevents.h
ClientEventTypeFilter
;ClientEventType_PublishingActivityWW'
ClientEventType_PublishingRefreshWWWx
_ClientEventType_VirtualEnvironmentWWx
ClientException
clientexception.cpp
clientexceptionfactory.cpp
clientexceptionfactorytest.cpp
ClientFileLogLevel
ClientFileLogName
Client hook allocation failure.
Client hook free failure.
Client hook re-allocation failure.
clienthosting.h
clienthostrc.h
ClientID
clientimpl.cpp
clientimpl.h
clientInformation
Client Initiated Remote Access (CIRA) session connected
Client Initiated Remote Access (CIRA) session disconnected
CLIENT_INPUT_NO_MESSAGES
CLIENT_INPUT_SIZE_MISMATCH
clientintf.cpp
clientintf.h
CLIENT libcurl 7.65.3-DEV
CLIENT libcurl 7.83.1
clientlog.cpp
clientmanager.cpp
clientmanager.h
clientmanagertests.cpp
clientmodeactivities.cpp
clientmodeactivities.h
clientmodeactivitytests.cpp
Client not found. 
CLIENT_NOT_FOUND
clientnotify.h
clientnotifyimpl.cpp
clientnotifyimpl.h
CLIENT_OUTPUT_OVERFILL
CLIENT_OUTPUT_READ_POINTER_OVERWRITE
CLIENT_OUTPUT_SERVER_OVERREAD
clientpackageutilities.cpp
clientpackageutilities.h
clientpackageutilitiesmock.cpp
clientpackageutilitiesmock.h
ClientProxyApiState
ClientProxyApiVersionSelectorFactory
_clientProxySelector
_clientProxyVisitor
ClientPurge
client_request_proxy.cpp
client_request_proxy.h
ClientRunMode_Normal 
ClientRunModeWWW 
clientservice.h
clientservicerc.h
clientservicetests.cpp
clientsessions.h
client-side image map 
client-side image map area 
ClientSocket send shutdown failed with error: 
    client            Start as a remote client of the framework.
clientstubapi.cpp
clientstubintf.cpp
clientstubintf.h
clientsync.h
ClientToScreen
	ClientType: 
clientwarning.cpp
_clientWrapper
CLIMSG_FILECOLL_ERROR_COLLECTIONFAILURE
CLIMSG_FILECOLL_ERROR_REPORTFAILURE
CLIMSG_FILECOLL_WARNING_FILECOL_MAXIMUM
CLIMSG_FILECOLL_WARNING_QUERYFAILURE
CLIMSG_FILECOLL_WARNING_RESOURCES
CLIMSG_HINV_ERROR_BAD_MIF_SYNTAX
CLIMSG_HINV_ERROR_COLLECTIONFAILURE
CLIMSG_HINV_ERROR_REPORTFAILURE
CLIMSG_HINV_WARNING_QUERYFAILURE
CLIMSG_HINV_WARNING_RESOURCES
CLIMSG_INV_ERROR_COLLECTIONFAILURE
CLIMSG_INV_ERROR_REPORTFAILURE
CLIMSG_INV_INFO_GENERIC_COLLECTED_SUCCESSFULLY
CLIMSG_INV_WARNING_QUERYFAILURE
CLIMSG_POWERAGENT_ERROR_APPLY_POWERSCHEMA_FAILURE
CLIMSG_POWERAGENT_ERROR_APPLY_POWERSETTING_FAILURE
CLIMSG_POWERAGENT_INFO_POWER_POLICY_CONFLICT
CLIMSG_SINV_ERROR_COLLECTIONFAILURE
CLIMSG_SINV_ERROR_REPORTFAILURE
CLIMSG_SINV_WARNING_QUERYFAILURE
CLIMSG_SINV_WARNING_RESOURCES
CLIOperation
CLIOperationExit
Clipboard
ClipCallServer
CLIPC.dll
ClipClose
ClipDLS.pdb
ClipGetFileIdFromAssociateId
ClipGetLicenseAndPolicyForPfn
ClipGetSubscriptionStatus
ClipGetSubscriptionStatusFailure
ClipInstallLicense
ClipOpen
clip.pdb
ClipQueryAssociateId
ClipRenew.pdb
ClipUninstallLicense
ClipUp.pdb
CLIRestoreTaskSettings
CListBox
CListCtrl
clntdefs.h
clnterr.h
clntprefmoc.h
ClockDomain
Clock is not configurable
    Clock Policy
    Clocks
 CLOCKS:
clocks.applications
clocks.applications.gr
clocks.applications.graphics
clocks.applications.mem
clocks.applications.memory
    clocks -- Control and query clock information.
    clocks                      Control and query clock information. "nvidia-smi clocks -h" for more information.
clocks.current.graphics
clocks.current.memory
clocks.current.sm
clocks.current.video
clocks.default_applications
clocks.default_applications.gr
clocks.default_applications.graphics
clocks.default_applications.mem
clocks.default_applications.memory
clocks.gr
clocks.max
clocks.max.gr
clocks.max.graphics
clocks.max.mem
clocks.max.memory
clocks.max.sm
clocks.mem
ClockSource
clocks.sm
                                    clocks_throttle_reason_applications_clocks_setting|
clocks_throttle_reason_applications_clocks_setting
                                    clocks_throttle_reason_display_clocks_setting|
clocks_throttle_reason.display_clocks_setting
clocks_throttle_reason_display_clocks_setting
                                    clocks_throttle_reason_gpu_idle|
clocks_throttle_reason_gpu_idle
                                    clocks_throttle_reason_hw_power_brake_slowdown|
clocks_throttle_reason_hw_power_brake_slowdown
                                    clocks_throttle_reason_hw_slowdown|
clocks_throttle_reason_hw_slowdown
                                    clocks_throttle_reason_hw_thermal_slowdown|
clocks_throttle_reason_hw_thermal_slowdown
clocks_throttle_reasons
Clocks Throttle Reasons
clocks_throttle_reasons.active
clocks_throttle_reasons.applications_clocks_setting
clocks_throttle_reasons.gpu_idle
clocks_throttle_reasons.hw_power_brake_slowdown
clocks_throttle_reasons.hw_slowdown
clocks_throttle_reasons.hw_thermal_slowdown
clocks_throttle_reasons.supported
clocks_throttle_reasons.sw_power_cap
clocks_throttle_reasons.sw_thermal_slowdown
clocks_throttle_reasons.sync_boost
                                    clocks_throttle_reason_sw_power_cap|
clocks_throttle_reason_sw_power_cap
                                    clocks_throttle_reason_sw_thermal_slowdown|
clocks_throttle_reason_sw_thermal_slowdown
                                    clocks_throttle_reason_sync_boost|
clocks_throttle_reason_sync_boost
clocks_throttle_reason_user_defined_clocks
clocks.video
clone's _id
Close Applications
CloseApps
CLOSE_APPS_BUTTON_ID
CloseClientSocket called
CloseClipboard
CloseColorProfile
CloseDapControl
CloseDatabase
CloseDebugLogFile
CloseDesktop
Close_End
CloseEnhMetaFile
CloseEnrollAuthorizationSession
CloseErrorMsg
CloseErrorMsg_Click
CloseEventLog
closefile
CloseGestureInfoHandle
CloseHandle
CloseHandleExport
CloseInputScriptFile
closeIntelSD start
Close IO error code: 0x
CloseKeyAuthorizationSession
CloseMessageTransmitter
CloseNow
ClosePrinter
ClosePrivateNamespace
CloseRemoteAccessConnection
CloseSecureBiometricUnit
CloseServiceHandle
Close_Start
CloseState
CloseThemeData
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolIo
CloseThreadpoolTimer
CloseThreadpoolWait
CloseThreadpoolWork
CloseTouchInputHandle
CloseTrace
CloseUserInitiatedConnectiond
CloseWWW
Closing ClientSocket failed with error: 
Closing command server
Closing device handle...
Closing iclsClient access layer
Closing ListenSocket failed with error: 
CloudExperienceHostBroker.pdb
CloudNotifications.pdb
__clrcall
CLRCreateInstance
clr-namespace:errmsg
clr-namespace:MozColorTool2
CLR version string null or too long
ClsClient
CLSCompliantAttribute
CLSIDFromProgID
CLSIDFromString
CLSID_ShellTravelLog
CLSID_TravelBand
?!?-?C?L?U?
ClusterCount
ClusterSize
CMainFrame
CMapPtrToPtr
CMapStringToPtr
CMapWordToOb
CmBuildFullPathFromRelativeA
CmBuildFullPathFromRelativeW
CmCompareStringA
CM Crypto Container
CmCustomHangUp
CMD Argu:
CmdBatNotificationStub
cmdCURVETO executed: not previously tested
CMDIChildWnd
CMDIChildWndEx
CMDIClientAreaWnd
CMDIFrameWnd
CMDIFrameWndEx
cmdILLEGAL
CM_Disable_DevNode
CMDITabProxyWnd
cmdkey.pdb
cmdl32.pdb
cmdLineArg
cmdline_init failed.
-cmd_lines
CMD not supported before DID.
CM_DSLID
CM DSLIDWW
CMemFile
CMemoryException
CM_Enable_DevNode
cmexcept.inf
CMEX_PTNH9
CMFCAutoHideBar
CMFCAutoHideButton
CMFCBaseAccessibleObject
CMFCBaseTabCtrl
CMFCBaseToolBar
CMFCButton
CMFCCaptionBar
CMFCColorBar
CMFCColorButton
@CMFCColorMenuButton
CMFCColorPopupMenu
CMFCColorPropertySheet
CMFCControlRenderer
CMFCCustomColorsPropertyPage
CMFCCustomizeButton
CMFCCustomizeMenuButton
CMFCDropDownFrame
CMFCDropDownListBox
CMFCDropDownToolBar
CMFCDropDownToolbarButton
CMFCDynamicLayout
CMFCEditBrowseCtrl
CMFCHeaderCtrl
CMFCLinkCtrl
CMFCListCtrl
CMFCMaskedEdit
CMFCMenuBar
CMFCMenuButton
CMFCMousePropertyPage
CMFCOutlookBar
CMFCOutlookBarPane
CMFCOutlookBarPaneAdapter
CMFCOutlookBarPaneButton
CMFCOutlookBarTabCtrl
CMFCOutlookBarToolBar
CMFCPopupMenu
CMFCPopupMenuBar
CMFCPrintPreviewToolBar
CMFCPropertyGridColorProperty
CMFCPropertyGridCtrl
CMFCPropertyGridProperty
?CMFCPropertyGridToolTipCtrl
CMFCPropertyPage
CMFCPropertySheet
CMFCReBar
CMFCRibbonBar
CMFCRibbonBaseElement
CMFCRibbonButton
CMFCRibbonButtonsGroup
CMFCRibbonCaptionButton
CMFCRibbonCategory
CMFCRibbonColorButton
CMFCRibbonColorMenuButton
CMFCRibbonDefaultPanelButton
CMFCRibbonEdit
CMFCRibbonGallery
CMFCRibbonGalleryIcon
CMFCRibbonLabel
@@CMFCRibbonLaunchButton
CMFCRibbonMainPanel
CMFCRibbonMiniToolBar
CMFCRibbonPanel
CMFCRibbonPanelMenu
CMFCRibbonQuickAccessCustomizeButton
CMFCRibbonQuickAccessToolBar
CMFCRibbonRecentFilesList
CMFCRibbonRichEditCtrl
CMFCRibbonSeparator
CMFCRibbonStatusBar
CMFCRibbonUndoButton
CMFCShadowRenderer
CMFCShellListCtrl
CMFCShellTreeCtrl
CMFCShowAllButton
CMFCStandardColorsPropertyPage
CMFCStatusBar
CMFCTabCtrl
CMFCTasksPane
CMFCTasksPaneFrameWnd
CMFCTasksPaneToolBar
CMFCToolBar
CMFCToolBarButton
CMFCToolBarColorButton
CMFCToolBarComboBoxButton
CMFCToolBarEditBoxButton
CMFCToolBarFontComboBox
CMFCToolBarFontSizeComboBox
CMFCToolBarMenuButton
CMFCToolBarMenuButtonsButton
CMFCToolBarsCommandsPropertyPage
CMFCToolBarsCustomizeDialog
CMFCToolBarsKeyboardPropertyPage
CMFCToolBarsListPropertyPage
CMFCToolBarsMenuPropertyPage
CMFCToolBarsOptionsPropertyPage
CMFCToolBarSystemMenuButton
CMFCToolTipCtrl
CMFCVisualManager
CMFCVisualManagerOffice2003
CMFCVisualManagerOffice2007
CMFCVisualManagerOfficeXP
:#:-:C:M:f:k:
CmFmtMsgA
CmFmtMsgW
CM_Get_Child
CM_Get_Class_PropertyW
CM_Get_Device_ID_ExW
CM_Get_Device_ID_List_SizeW
CM_Get_Device_ID_ListW
CM_Get_Device_IDW
CM_Get_Device_Interface_ListA
CM_Get_Device_Interface_List failed with an error code: 
CM_Get_Device_Interface_List_SizeA
CM_Get_Device_Interface_List_Size failed with an error code: 
CM_Get_Device_Interface_List_SizeW
CM_Get_Device_Interface_ListW
CM_Get_Device_Interface_PropertyW
CM_Get_DevNode_PropertyW
CM_Get_DevNode_Registry_PropertyW
CM_Get_DevNode_Status
CM_Get_Parent
CM_Get_Sibling
CmhmhmhmhmhmhhInb
CMiniDockFrameWnd
CMiniFrameWnd
CmIsDigitW
CmLoadIconA
CmLoadIconW
CmLoadSmallIconA
CmLoadSmallIconW
CmLoadStringW
CM_Locate_DevNode_ExW
CM_Locate_DevNodeW
CmMalloc
CM_MapCrToSpErr
CM_MapCrToWin32Err
cmmon32.pdb
CM_NOTIFY_ACTION
CM_NOTIFY_ACTION_DEVICECUSTOMEVENT
CM_NOTIFY_ACTION_DEVICEINSTANCEENUMERATED
CM_NOTIFY_ACTION_DEVICEINSTANCEREMOVED
CM_NOTIFY_ACTION_DEVICEINSTANCESTARTED
CM_NOTIFY_ACTION_DEVICEINTERFACEARRIVAL
CM_NOTIFY_ACTION_DEVICEINTERFACEREMOVAL
CM_NOTIFY_ACTION_DEVICEQUERYREMOVE
CM_NOTIFY_ACTION_DEVICEQUERYREMOVEFAILED
CM_NOTIFY_ACTION_DEVICEREMOVECOMPLETE
CM_NOTIFY_ACTION_DEVICEREMOVEPENDING
CM_NOTIFY_ACTION_MAX
CmNotifyCallback
CM_NOTIFY_EVENT_DATA_DEVICE_HANDLE
CM_NOTIFY_EVENT_DATA_DEVICE_INSTANCE
CM_NOTIFY_EVENT_DATA_DEVICE_INTERFACE
CM_NOTIFY_FILTER_DeviceHandle
CM_NOTIFY_FILTER_DeviceInstance
CM_NOTIFY_FILTER_DeviceInterface
CM_NOTIFY_FILTER_TYPE
CM_NOTIFY_FILTER_TYPE_DEVICEHANDLE
CM_NOTIFY_FILTER_TYPE_DEVICEINSTANCE
CM_NOTIFY_FILTER_TYPE_DEVICEINTERFACE
CM_NOTIFY_FILTER_TYPE_MAX
c;MNra|m#G	
CM_Open_DevNode_Key
CMotionSensor::CreateInstance
CMotionSensor::GetCurrentMotionState
CMotionSensor::GetMotionStateFromReading
CMotionSensor::Invoke
CMotionSensor::RegisterForSensorEvents
CMotionSensor::ReleaseInstance
CMotionSensor::ReleaseSensor
CMotionSensor::UnregisterFromSensorEvents
CMouseManager
cmpbk32.dll
CMP_WaitNoPendingInstallEvents
C*@*mQmQ
c#mqTde_E
CmRealloc
CmReConnect
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Register_Notification
cmsecIOElapsed
CM_Set_DevNode_Problem
CM_Set_DevNode_PropertyW
CM_Set_DevNode_Registry_PropertyW
CM_Setup_DevNode
CMSG_ENVELOPED_ENCODE_INFO  EnvelopedInfo;
CMSG_SIGNED_ENCODE_INFO     SignedInfo;
CMSG_SIGNER_CERT_INFO_PARAM
 -cmsid 
cmsid not specified
CMS ID to use
cmstp.exe
CmstpExtensionProc
CmstpExtensionProc2
cmstp.pdb
CmStrchrA
CmStrCpyAllocA
CmStrCpyAllocW
CmStrrchrA
	cmul.hi
cmul.hi;
CMultiDocTemplate
CMultiPaneFrameWnd
CM_Uninstall_DevNode
CM_Unregister_Notification
cmutil.dll
CmykColor
CMyPrintDlg
Cn)2?]v]
Cn8Gnu-H
CN9:Hj!G
CNavigationPropertyChangedWrapper
_Cnd_broadcast
_Cnd_destroy_in_situ
_Cnd_do_broadcast_at_thread_exit
_Cnd_init_in_situ
_Cnd_register_at_thread_exit
_Cnd_timedwait
_Cnd_unregister_at_thread_exit
_Cnd_wait
CNetworkRequest::EnsureSuspendControl
CNetworkRequest::RequestNetwork
CngGetFipsAlgorithmMode(
CNotSupportedException
cnppppppppppppppppppppppppppmf
_cntRunTimer
C:N_wXqH
CoAddRefServerProcess
CoAllowSetForegroundWindow
CObArray
CoCancelCall
coclass 
CoCreateCOMTaskServerObject
CoCreateFreeThreadedMarshaler
CoCreateGuid
CoCreateInstance
CoCreateInstanceAsSystem
CoCreateInstanceEx
CoCreateInstanceFromApp
CoCreateTaskScheduler
CoCreateTaskScheduler Retry
codebase
CoDecrementMTAUsage
codedptr
CodeIntegrityBinarySignatureExpired
CodeIntegrityImageSignatureVerificationFailed
codeIntegrityOptions
CodeIntegrityOptions
CodeIntegritySignCheckTriggeredCatalogFallback
CodeIntegrityWHQLDriverAuditFailure
CodeIntegrityWHQLDriverFailure
CodePage
CodePageOutput
codetype
CoDisableCallCancellation
CoDisconnectContext
CoDisconnectContext(0xFFFFFFFF)
CoDisconnectObject
coefficient_
coefficients
CoEnableCallCancellation
coexistence_checks.h
coexistence_checks_tests.cpp
COFIRE: Canceled.
COFIRE: Cannot repair.
COFIRE: Check file integrity failed.
COFIRE: COFIRE disabled.
COFIRE: Error: Unknown result.
COFIRE: Error: Unknown status.
COFIRE: File not corrupted.
COFIRE: File skipped.
cofire.pdb
COFIRE: Repair disabled.
COFIRE: Repair failed.
COFIRE: Resolution completed.
COFIRE: Resolution disabled.
COFIRE: Resolution not found.
COFIRE: Resolution self.
COFIRE: Scenario disabled.
COFIRE: Scenario failed.
COFIRE: Throttled because of frequent invocation.
COFIRE: Throttled because of repeated invocation.
COFIRE: Throttled because repair is in process.
CoFreeUnusedLibraries
CoFreeUnusedLibrariesEx
CoGetApartmentType
CoGetCallContext
CoGetCallerTID
CoGetClassObject
CoGetInterfaceAndReleaseStream
CoGetMalloc
CoGetObject
CoGetStdMarshalEx
CoGetTreatAsClass
CoImpersonateClient
CoImpersonateClient()
CoIncrementMTAUsage
CoInitialize
CoInitializeEx
CoInitializeEx failed: 
coinitialize.h
CoInitializeSecurity
CoInitializeSecurity failed: 
coinitRef.get()
CoInstaller
Coinstaller binary invoked for
CoInstallerHelper.cpp
CoInstallers
CoInstallerSource
CoInstallerSourcex86
CoInstallerUtil.cpp
cointerface 
CoInternetCombineIUri
CoInternetParseIUri
COleCntrFrameWndEx
COleDispatchException
COleDocIPFrameWnd
COleDocIPFrameWndEx
COleDocument
COleException
COleIPFrameWnd
COleIPFrameWndEx
COleLinkingDoc
COleServerDoc
COleStreamFile
colgroup
CollageBezelDetailsW
CollageWd
collapse
	Collapsed
COLLECT 
CollectExtendedValidationBlob
CollectHandlerPayloadWWW
Collection
CollectionBase
CollectionName
collectortests.cpp
CollectProgramUsageData
Collects data for outproc handlers
      Collect specified number of samples and exit
CoLockObjectExternal
colonmonetary
			color: #acf;
Colorado1
			color: #afa;
COLOR_BA
COLOR_BAA
COLOR_BASE
ColorBPP
colorBridgeFileName
colorBytes
ColorConverter
colorCounter
colorcpl.pdb
ColorDepth
			color: #eee;
ColorFilter
ColorFromWin32Value
ColorHelper
ColorHLSToRGB
color images
	ColorKing
ColorKingLV
ColorKingLV.exe
ColorKingLV.g.resources
colorKingPath
ColorLable1
ColorLable2
ColorLable3
ColorLable4
Color map file is invalid or of unsupported format
ColorNotifyChanged
COLOR_PEN_BLE_GUID
colorReadTimer
colorRecords
ColorRGBToHLS
colors_device
ColorSelectionUsed
colorService
ColorService
colorSpace
COLOR_SPACE_ADOBERGB_LINEAR_EXT
COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
COLOR_SPACE_BT2020_LINEAR_EXT
COLOR_SPACE_BT709_LINEAR_EXT
COLOR_SPACE_BT709_NONLINEAR_EXT
ColorSpaceComboBox
COLOR_SPACE_DCI_P3_NONLINEAR_EXT
COLOR_SPACE_DISPLAY_NATIVE_AMD
COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
COLOR_SPACE_DOLBYVISION_EXT
COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
COLOR_SPACE_HDR10_HLG_EXT
COLOR_SPACE_HDR10_ST2084_EXT
COLOR_SPACE_PASS_THROUGH_EXT
ColorSpace_SelectionChanged
COLOR_SPACE_SRGB_NONLINEAR_KHR
COLORSPACEWW4!
colors_screen
ColorTable
colorui.dll
ColorUnit1
ColorUnit2
ColorUnit3
ColorUnit4
ColorWatcher
ColorWatcher.exe
ColorWatcher.Properties
ColorWatcher.Properties.Resources.resources
colorWriteEnable
ColorWriteMask
ColumnDefinitions
column_major
	columns: 
columns: 
CoMarshalInterface
CoMarshalInterThreadInterfaceInStream
combase.dll
                                        combination
CombinedIoRunShouldMatchInsertTargetFileId
CombinedIoRunShouldMatchInsertTargetOffset
Combined.xsl path:
CombineRgn
CombiningDiacriticalMarks
CombiningDiacriticalMarksforSymbols
CombiningHalfMarks
CombiningMarksforSymbols
ComboBoxItem
com_catalog_complus.cpp
com_catalog_snapshot.cpp
comclient.cpp
com_configuration.cpp
comctl32.dll
Comctl32.dll
COMCTL32.dll
Comdlg32.dll
COMDLG32.dll
com_error.cpp
com_error.h
COMException
comexceptions.h
comhelper.h
ComInterfaceType
commaaccent
CommadLineResponder
commainferior
- command
commandArgs
Command buffer is NULL
_commandEndFrame
Commander
CommandExecutedEventArgs
CommandExecutedEventHandler
Command executed. Preparing response message
Command Failed
_commandHandlerTask
CommandHandlerThreadProc
CommandHelp
command_helper.hpp
command_helper_test.cpp
CommandHistoriesNumber
Command implementation
CommandInvoked
Command is not supported after EOP.
commandLine
COMMAND_LINE
commandLineAppName
commandLineArgs
Command line arguments:
command_line_cleaner.hpp
command_line_cleaner_test.cpp
Command line does not terminate
Command line is:
commandLineParams
CommandLineParser
commandlineparsertests.cpp
CommandLineToArgvW
CommandLineToArgvW failed
CommandManager
Command not found
Command path:
CommandRegister
Commands:
commands.hpp
CommandsListener
CommandsProxy
_commandStart
CommandStartOffset
commands_test.cpp
commandstest.cpp
command_test.cpp
Command verified ok. Executing.
CommandVerifier::IsCommandAllowedCPT
CommandVerifier::IsCommandAllowedELK
CommandVerifier::IsCommandAllowedIBX
CommandVerifier::IsCommandAllowedPPT
         Comma separated Enumeration index
commasuperior
CommDlgExtendedError
#comment
'comment' 
comment()
comment doesn't start and stop in the same entity
Comment doesn't start and stop in the same entity
Comment must not contain '--' (double-hyphen)
Comment not terminated
Comment not terminated 
Comment too big found
Commit Anti Rollback SVN failed.
CommitChanges
CommitObject
Committing a specific FPF is not supported. Consider committing all the FPFs.
Committing the FPF is not allowed at this time.
CommitTransaction
_commode
CommonBase.dll
commonButtons
CommonEventArgs
Common Format Group
com_monitor.cpp
com_monitor.h
CommonName
CommonNameMaxCount
CommonNameMaxSize
COMMON PROBLEM: is your dump file encrypted? Please try 
Common Properties
Communication error between application and Intel(R) ME module.
CommunicationObject
CommunicationStatus
Communication with WLAN device failed.
CommunityString
Comodo CA Limited1!0
COMODO CA Limited1#0!
"COMODO RSA Certification Authority0
COMODO RSA Code Signing CA
COMODO RSA Code Signing CA0
compackager.cpp
compackager.h
compackagertests.cpp
compackagervaluestringbackedbyregistrytests.cpp
compackagerwriter.cpp
 compact
compact.pdb
Compact Primitive Catalog
Compact Primitive Catalog (CPC)
Compact Primitive Catalog(CPC):               
Compare: 
compare_and_weight_minterm
?Compare@CHString@@QEBAHPEBG@Z
CompareExchange
CompareFileTime
CompareMethodWWWX
?Compare@OBJECT@@UEBAJPEBV1@@Z
CompareOptions
CompareStringA
CompareStringEx
CompareStringOrdinal
CompareStringW
CompareTo
comparing nodesets
            compatibility.
            compatibility then delete the requestedExecutionLevel node.
Compatibility with NEC SOCKS5 server
compatible.
compattelrunner
CompatTelRunner.pdb
CompilationRelaxationsAttribute
CompilerGeneratedAttribute
compiling regexp
Complete
Completed
CompleteEnrollment
CompleteEnrollmentDelegate
CompleteH
 Complete Object Locator'
[complex] 
complexContent
ComplexPasswordRulesEnforced
complex type
complexType
complex type definition
compluscatalogenumerator.cpp
compluscatalogenumerator.h
compluscatalogenumerator.stub.cpp
complusdetector.cpp
complusdetector.h
complusdetectorut.cpp
ComPlusMigrate
CompMgmtLauncher.pdb
componentloader.h
componentloaderoverridecontroller.cpp
componentloaderoverridecontroller.h
componentloadertests.cpp
componentloadertests.h
_componentMask
ComponentPackageSupportServer::DeployPackage
ComponentPackageSupportServer::EnsureMediaExtensionBrokerStatics
ComponentPackageSupportServer::GetMediaComponentPackageInfo
ComponentPackageSupportServer::ValidateIntegrityAndLicenseForPackage
ComponentPackageSupportServer::ValidateLicenseForPackage
ComponentResourceManager
_components
components
ComposeInitialBlob
COMPOSITE_ALPHA_INHERIT_BIT_KHR
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
comp.pdb
CompPkgSrv.pdb
compress
    --compressed
compressed
    --compressed-ssh
compressed-ssh
CompressedWWL
compressfp16NN
compressfp16NR
compressfp16TN
compressfp16TR
compressint8NN
compressint8NR
compressint8TN
compressint8TR
compression
CompressionMethod
Compression type in header not valid for deep data
compresstf32NN
compresstf32NR
compublishingoperation.cpp
compugraphic
compute_cap
computeEnabled
ComputeEnabled
computeFullSubgroups
COMPUTE_GOLDENS_TASK
ComputeHash
compute_instance_id
Compute Instance ID
compute_mode
Compute Mode
ComputeMode
compute-policy
 COMPUTE POLICY:
    Compute Policy -- Control and list compute policies.
    compute-policy              Control and query compute policies. "nvidia-smi compute-policy -h" for more information. 
computer code fragment
ComputerDefaults.pdb
ComputeShader
ComputeStringHash
compute the canonical lexical representation
com_registrator.cpp
comregistrator.cpp
com_registrator.h
comregistrator.h
comreplexe.pdb
comresourcemanager.cpp
comresourcemanager.h
comserver.cpp
COMServerDllMain
comserver.h
com_std.h
com_ut_catalog_snapshot.cpp
com_ut_configuration.cpp
com_ut_error.cpp
com_ve_wrapper.cpp
com_ve_wrapper.h
ComVisibleAttribute
Concurrency
condition
ConditionalAttribute
conditionalRendering
conditional section INCLUDE or IGNORE keyword expected
ConditionListType
conectix
Conexant
conexantCert
ConfBlobs
ConfBlobSize
confidenceToShow
confidentiality
ConfigAdministrator
CONFIG API:
config.cpp
_configData
_configDataFilePath
configentry.cpp
configentry.h
configentry_test.cpp
config exec start
config exec @startup start
configFileName must not be empty
ConfigFilePath
config files  [pattern] [...]               List Matching Data Repository Files
ConfigFlags
config gddv backup                          Backup GDDV-related DV Files without Restarting Apps
config gddv reset                           Clear a GDDV override and Restart Apps
config gddv restore                         Restore GDDV-related DV Files from Backup and Restart Apps
config.h
config [list]                               List Open DataVaults
ConfigMgmt constructor entry
ConfigMgmt::reloadSettings
ConfigMgmt::reloadSettings:
configoptions.cpp
ConfigPciEndPointConnection
ConfigPolicyAgent.dll
ConfigQueryType
config rekey [@datavault]                   Rekey IETM Participant Keys in GDDV Exports
_configSeq
_configthreadlocale
_configType
_configuration
configuration
Configuration
configuration.cpp
_configurationData
Configuration Data Management
ConfigurationDataReset
_configurationDescription
ConfigurationEntry
ConfigurationGuard
configuration.h
ConfigurationID
configurationIdW
Configuration is not used
ConfigurationManager
configuration_manager.cpp
ConfigurationMethod
ConfigurationNonce
ConfigurationNotSupportedException
configurationpage.cpp
ConfigurationPhase
ConfigurationServerFQDN
ConfigurationStage
ConfigurationUserLevel
ConfigurationWWWX
ConfigurationXmlFile
configurator
Configure
ConfiguredEncryptionAlgorithms
ConfiguredMemoryClockSpeed
configuredOnTheMachineWW
?ConfigureDrive@CDriveConfiguration@@QEAAJXZ
ConfigureIfRequired
ConfigureImcLogRegistry
_configure_narrow_argv
ConfigurePackage
configurepackageactivitytests.cpp
configurepackagegrouptests.cpp
ConfigurePackageGroupWWW
configurepackagetests.cpp
ConfigurePpDllClients
ConfigurePreProcessing
Configures a deployment configuration policy for a package within the Publishing Descriptor WW
ConfigureServerPolicy
ConfigureServerPolicyWWW
configuresoftwarepage.cpp
_configure_wide_argv
ConfigureWov
ConfigureWovEvent
Confirmed face detection sensor status
ConfirmImageState
Conflict in OEM Data: Overlapping values of LSPCON Port Config and eDP Port Config found.
conformanceVersion
ConformantStandard
congruent
conhost.pdb
ConjureCreate
ConjureCreate completed.
ConjureCreate failed.
Conjure Enumerated DSP Candidates:
CONJURE MANAGEMENT:
conjures
conjures                                 List loaded ESIF Conjure Libraries
 connect 
ConnectAdjacentAhs
Connect attempt timed out
Connect data stream actively
Connect data stream passively
ConnectDriverToApplicationEventOutput
Connected
Connected for receive
Connected for transmit
connectedproc.cpp
connectedproc.h
ConnectedSet
ConnectedSetPackageFamily
Connect failed
connecting to WBEM server
connection
Connection:
connection aborted
connection_aborted
Connection accepted from server
connection already in progress
connection_already_in_progress
ConnectionAttempts
Connection closure while negotiating auth (HTTP 1.0?)
connection.cpp
ConnectionDetails
Connection failed
Connection gracefully closed by client.
ConnectionGroup
Connection group display nameW
Connection Group IDWWW
connectiongrouptemplatetests.cpp
connection.h
connectionId
Connection Manager
connectionmanager.cpp
connectionmanager.h
Connection Manager Phonebook Access
ConnectionMethod
ConnectionOptions
: connection refused
connection refused
connection_refused
Connection refused
connection reset
connection_reset
Connection reset by peer
Connection_ServiceClosed
connectionState
connection_test.cpp
Connection time-out
CONNECTION_TO_HOST_TIMEOUT
connection to proxy closed
Connection to proxy closed
Connection was aborted
Connection was reset
Connection was unexpectedly closed by client.
Connect me again please
ConnectMultiApplicationEvent
ConnectNamedPipe
ConnectObjectWWW
ConnectorDescription
----- Connector details! ConnectorIdConnectedTo: 
ConnectorElectricalCharacteristics
ConnectorGender
Connector GetConnectedTo failed! Result: 0x
Connector GetType failed! Result: 0x
Connector IsConnected failed! Result: 0x
ConnectorLayout
ConnectorPinout
ConnectorProcessingMode
Connector QueryInterfacet failed! Result: 0x
ConnectorSubFormat
ConnectorType
CONNECT phase completed
CONNECT phase completed!
CONNECT responded chunked
CONNECT response too large
CONNECT response too large!
ConnectSecure
ConnectSecureFull
connecttest.cpp
connecttest.h
Connect through this Unix domain socket
connect-timeout
ConnectTimeout
connect-to
Connect to host
connecttotask.cpp
Connect via abstract Unix domain socket
ConsecutiveRebootsNum
consent.pdb
consentStatus
ConsentUI
@ConsentUILaunched
conservativePointAndLineRasterization
conservativeRasterizationPostDepthCoverage
conserve
Consistency
ConsoleAttachDetach
ConsoleCancelEventArgs
ConsoleCancelEventHandler
ConsoleColor
ConsoleControl
ConsoleCreateIoThread
ConsoleKeyInfo buffer is full
ConsoleLegacy
ConsoleTcpMaxRetransmissions
CONSRV: Ignoring backspace to previous line
constant
constantAlphaColorBlendFactors
Constants
const_cast
const float4 
Constraints
_constraintsFile
_constraintsFilePath
constraints.hpp
Constrictor
constructors only defined for numeric base types
ConstructPartialMsgIfA
ConstructPartialMsgVA
ConstructPartialMsgVW
ConstructPath
const void *
const void* cannot be localized
const void* cannot have a leading zero
const void* cannot have an alternative representation
const void* cannot have a precision
const void* cannot have a sign
const void **ppvContext
const void *pvData
const void          *pvFindPara;
const void *pvPara
ConsumableBlocks
CONSUMER
ConsumerH
Consumer Pen
Consumer Touch
	Consumes PTMender-compatible script 'captures.txt'
contain an operating system.
Container
ContainerControl
Container is initializing
Container is in suspended state. Skipping plugin initialization and start
Container is resuming
Container is starting
Container is stopped
Container is stopping
Container is suspended
Container is suspending
Container is uninitialized
Container is uninitializing
Container marked plugins as unverified
Container processed disabled plugins
ContainerSetupWrapper
_containerSize
ContainerVersion
contains
Contains
ContainsKey
content: 
ContentControl
ContentDecl : Name or '(' expected
ContentDeliveryAllowed
Content-disposition:
Content-Disposition
Content-Encoding:
ContentEncoding
Content error in the external subset
ContentGroup
ContentGroupFile
ContentID
Content-Length
Content-Length:
Content-Length: 0
_contentLoaded
?ContentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
Content-Range
Content-Range:
Content-Transfer-Encoding
content_type
contentType
Content-Type
Content-Type:
ContentType:
context.cpp
context.h
contexthandle.cpp
contextId
ContextId
context is destroyed
Context passed in. Decode started.
ContextPriority
ContextStackSize
ContextTriggeredActivity
contextWindowId
	continue;
continue
Continue
__CONTINUE__
continue-at
--continue-at and --remote-header-name cannot be combined
continue must be inside loop
Continue-pending
ContinueWith
_contractBroker
ContractBrokerFactory
ContractCommandRequest
ContractConstants
ContractRequest
ContrastEnhancementW
ContrastL
ContrastMaximumWp0
ContrastMinimumWp0
ContrastStepp0
ControlBindingsCollection
ControlCenterEventLauncher
ControlCenterLauncherService
ControlCodesUsed
ControlCodeW
ControlCollection
control connection looks dead
Control CWD usage
CONTROL_DATA_INVALID
control_dispatcher.cpp
control_dispatcher.h
control_dispatcher_ipc.cpp
ControlID1
ControlID2
ControlKeyShortcutsDisabled
_controller
Controller
controller.cpp
controller.h
Controller is not associated with the lun
ControllerMaintenanceOp
Controller port is not associated with the lun
controllertests.cpp
controllertests.h
_controllWrapper
control_manager.cpp
control_message.hpp
ControlModule.dll
ControlModuleException
ControlModuleSafeHandle
controlName
control.pdb
ControlPictures
ControlService
ControlService SERVICE_CONTROL_STOP failed
Control trace failed
ControlTraceW
controlType
ControlValue
ConversionEventManager
ConversionFail_Catastrophic
Conversion failed
ConversionHelper
conversion of data to type "
conversion of type "
ConversionSuccess
ConversionSuccess_FirstFailure
ConversionZeroResults
ConvertAll
ConvertAssemblyToTypeLib
ConvertBack
Convert between image formats
ConvertChapSecret
ConvertCommandToArgumentList
ConvertDefaultLocale
	Converter#
Converter: Windows Type 1 Installer
ConvertFAT
ConvertFiberToThread
ConvertFromString
Converting SGML catalog to XML
ConvertInterfaceAliasToLuid
ConvertInterfaceGuidToLuid
ConvertInterfaceLuidToGuid
ConvertInterfaceNameToLuidW
ConvertInterfacePhysicalAddressToLuid
ConvertJson
Convert LF to CRLF in upload
ConvertLooseFiles
ConvertNewlinesToSpaces
convert.pdb
ConvertPolicy
ConvertRgbToCmyk
ConvertSecurityDescriptorToStringSecurityDescriptorW
ConvertSidToStringSidW
::ConvertSidToStringSidW failed: System error code
ConvertStringSecurityDescriptorToSecurityDescriptor failed: error 
ConvertStringSecurityDescriptorToSecurityDescriptorW
ConvertStringSidToSidW
ConvertStringToInterfacePhysicalAddress
_ConvertTimeHelper
ConvertTo
ConvertToXml
ConvertVhd.pdb
Convolution::isConsistent
ConvShader::canImplement
CookedRead
Cookie: 
cookie-jar
coordinator.hpp
coordinatortests.cpp
CoordinatorVersion
COperationTracker::ChangeNotification
COperationTracker::CreateInstance
COperationTracker::DetachTracker
COperationTracker::FinalConstruct
COperationTracker::FinalRelease
COperationTracker::GetAllStatus
COperationTracker::GetFriendlyName
COperationTracker::GetOperationID
COperationTracker::GetStatus
COperationTracker::_Initialize
COperationTracker::_InternalCancelOperation
COperationTracker::_InternalPrintVolumeStatistics
COperationTracker::InvokeOperation
COperationTracker::PrintVolumeStatistics
COperationTracker::_Register
COperationTracker::Shutdown
COperationTracker::TrackOperation
COperationTracker::Unregister
COperationTracker::WatchLifeTick
CopyAcceleratorTableW
CopyAllowed
                                            Copy (and Replace) keys(s) to another DV
copyBlobsFromList: Failed to read blob from dalp file.
copyBlobsFromList: Invalid platform name in dalp file.
CopyBufferData
CopyColor
copy_engine_count
Copy Engine count
CopyFile2
CopyFileA
CopyFileExW
CopyFileL
Copy file to repository failed!!
CopyFileW
CopyFromScreen
CopyIcon
CopyImage
CopyImcFiles
copying atom
copying node
copying object
copying URI
CopyInstallerFiles
copyinstallfilespage.cpp
CopyMetaFileW
CopyRect
copyright
*Copyright 
Copyright 
Copyright (C) 1991-2020 The libjpeg-turbo Project and many others
"Copyright (c) 1997 Microsoft Corp.1
"Copyright (c) 1999 Microsoft Corp.1
Copyright (c) 2013-2021 Intel Corporation All Rights Reserved
Copyright (C) 2018-2021 Lenovo
Copyright (C) Lenovo
Copyright (C) Lenovo 2018.
Copyright (c) Microsoft Corporation. All rights reserved.
Copyright (c) Microsoft Corporation. All rights reserved..
copyrightsans
copyrightserif
CopyScreen
CopyString
CopyToByteArray
CorBindToRuntimeEx
coreapi.cpp
coreBTStatus
CoreBTStatus
CORE_CHANNEL_REGS
coreColorPen
CORE_DOWNLOAD_CONNECTION_ERROR
coredpussvr.pdb
CoreEventType
Core failed
CORE_FILES_UP_TO_DATE
CoRegisterClassObject
CoRegisterMessageFilter
CoRegisterPSClsid
CoRegisterSurrogate
CoRegisterSurrogateEx
 Core GPU temperature. in degrees C.
core_ipc_servers.cpp
core_ipc_servers.h
CoReleaseMarshalData
CoReleaseServerProcess
CoreMessaging.dll
CoResumeClassObjects
CoreUIClientCreate
CoreUIComponents.dll
CoreUICreate
CoreUIFactoryCreate
CoreUpdater
CoRevertToSelf
CoRevokeClassObject
_CorExeMain
CorExitProcess
CORPORATION_PFN
Correctable Error
CorrectableError
CorrelatedIndications
CorrelationGuid
CorrelationId
Correlation reset timer enabled.
CorrelationVectors
corr_pex_errors
Corrupted config. Default values will be used.
Corrupted infoROM
Corrupt JPEG data: bad arithmetic code
Corrupt JPEG data: bad Huffman code
Corrupt JPEG data: bad ICC marker
Corrupt JPEG data: premature end of data segment
CortanaEventArgs
CortanaLanguageName
CortanaRearmTimeoutName
_cortanaStatus
CortanaStatusType
CortanaStreamCreated
CortanaStreamDestroyed
CortanaStreamNotification
CortanaStreamState
CortanaThreshold
CoSetProxyBlanket
COSFile::ErrIOGetAllocatedRange
COSFile::ErrIOSetFileSize
CoSuspendClassObjects
;";C;O;T;a;i;p;v;|;
CoTaskMemAlloc
CoTaskMemFree
CoTaskMemRealloc
Could not access PCI device.
could not add node
Could not allocate a Kernel Semaphore
Could not allocate secret
Could not allocate SESSION
 could not be converted to type boolean.
 could not be converted to type unsigned char.
 could not be converted to type unsigned int.
 could not be converted to type unsigned long.
 could not be converted to type unsigned short.
could not build an URI from the schemaLocation
could not construct dc result reg key
could not convert calendar time to local time
could not convert proxy_password to unicode
could not convert proxy_username to unicode
Could not convert secret
could not convert XML text to doc
Could not copy directory path
could not create an attribute wildcard on anyType
Could not create definition hash
Could not create named mutex. errorcode:
Could not create references hash
could not create request
Could not create semaphore (
could not create xmldoc from response
could not create XPointer context
could not establish connection
Could not extract contents of zipped file... Deleting it
Could not find an augmented IDC item for an IDC definition
Could not find a usable version of Winsock.dll
Could not find FwuCheckUpdateProgress API
Could not find FwuPartialUpdateFromFile API
Could not find FwuPartitionInstances API
Could not find FwUpdatePartial API
Could not find FWUpdate_QueryStatus_Get_Response API
Could not find GetFwUpdateInfoStatus API
Could not find GetIpuPartitionAttributes API
Could not find GetLastUpdateResetType API
Could not get PCI info.
could not get the built-in type
could not initialize basic types
could not initialize session
could not initialize transport
Could not obtain HKEY
Could not obtain hkey for device.
Could not open config file: 
could not open included file '
Could not open session
Could not post on semaphore (
Could not read M3 results from SPI.
Could not read parameter: 
Could not seek stream
Could not set the registry key. Error: 
Could not wait on semaphore (
could not wsmc_read_memory
Couldn't add API usage to list
couldn't allocate a new input stream
couldn't allocate buildCharArray
Couldn't connect to server
Couldn't copy Dll name
Couldn't copy system32 path
Couldn't copy syswow64 path
Couldn't create a new Namespace structure
Couldn't create file for writing
Couldn't create full dll path
Couldn't find a known_hosts file!
Couldn't get DisengagedStabilityWindow; defaulting to 5s.
Couldn't get negative event filtering state; defaulting to disabled.
Couldn't get NotPresentStabilityWindow; defaulting to 5s.
Couldn't get positive event filtering state; defaulting to disabled.
Couldn't get PresentStabilityWindow; defaulting to 5s.
Couldn't interpret the 227-response
Couldn't load one of the input files or images are not of equal dimensions
Couldn't map part of file to memory
Couldn't obtain service handle
Couldn't obtain service start type
Couldn't open file '
Couldn't read EK Cert from NVRam. Error code: 
Couldn't register for brightness DPPE notification
Couldn't register for power scheme DPPE notification
Couldn't resolve host name
Couldn't resolve proxy name
Couldn't resume download
Couldn't send correlation event!
Couldn't send platform user presence event!
Couldn't set desired mode
Couldn't set sensor presence DPPE value!
Couldn't set service ACL
Couldn't set service start type to 'manual'
Couldn't update platform user presence status!
Couldn't use REST
Couldn't use specified SSL cipher
Couldn't write to the path specified
CoUninitialize
CoUnmarshalInterface
counter_device
counter_screen
countForLastDay
countForLastHour
countForLastMonth
countForLastWeek
countK....................
countM....................
countN....................
CountOfErrorsCorrected
countryCode
CountryCode
count too big
COutlookCustomizeButton
CoWaitForMultipleHandles
CoWaitForMultipleObjects
CPaintDC
CPalette
CPaneContainer
CPaneContainerManager
CPaneDivider
CPaneFrameWnd
CPanther::WdsSetupLogMessageW
CPApiVersionQuery
!C@paRPc
cp.async.ca
cp.async.ca7
cp.async.cg
cp.async.cg-*
cp.async.cg3'
cp.async.cga"
cp.async.cgD*
cp.async.cgL"
cp.async.cg.s
cp.async.cg.shared
cp.async.cgX*
CPAudioFormatQuery
CPCreateStream
_cpCreateStreamDelegate
CPCreateStreamInternal
CPCreateStreamV1
CPCreateStreamV2
CPCreateStreamV3
CPDestroyStream
CPDPEPFPGPHP
CPEventQuery
CPFarfieldSupportQuery
CPGetBuffer
CpGlitchEvent::CLIENT_INPUT_NO_MESSAGES
CpGlitchEvent::CLIENT_INPUT_SIZE_MISMATCH
CpGlitchEvent::CLIENT_OUTPUT_READ_POINTER_OVERWRITE
CpGlitchEvent::CLIENT_OUTPUT_SERVER_OVERREAD
CpGlitchEvent::SERVER_INPUT_STARVATION
CpGlitchEvent::SERVER_OUTPUT_QUEUE_FULL_PACKET_DROP
CpGlitchEvent::SERVER_OUTPUT_READ_POINTER_OVERWRITE
cphook.cpp
cphook.h
CPipeInstance::ConfigureAPOInterfaces
CPipeInstance::ConnectAPOs
CPipeInstance::CreateAPOConnectionList
CPipeInstance::CreateApoEndpointInstance
CPipeInstance::CreateBridgeStreamPipeInstance
CPipeInstance::CreateDevicePipeInstance
CPipeInstance::CreateFormatConverterPipeInstance
CPipeInstance::CreateStreamInstance
CPipeInstance::CreateStreamPipeInstance
CPipeInstance::CreateSubmixPipeInstance
CPipeInstance::EngageSpatialAudioStreamProcessorAPO
CPipeInstance::FindConverter
CPipeInstance::FixupStreamPipe
CPipeInstance::GetPlaybackProtectionApo
CPipeInstance::Initialize
CPipeInstance::InitializeDitherInterface
CPipeInstance::InitializeLimiterInterface
CPipeInstance::InitializeMatrixInterface
CPipeInstance::InitializeMeterInterface
CPipeInstance::InitializeRateConverterInterface
CPipeInstance::InitializeSilenceMonitorInterface
CPipeInstance::InitializeVolumeInterface
CPipeInstance::ResolveFormatConflictsLeftRight
CPipeInstance::ResolveFormatConflictsRightLeft
CPipeInstance::SetLoopbackConstriction
CPipeInstance::SetModulesManagerOnAPOs
CPipeInstance::Start
CPipeInstance::Stop
cpi.pfnCompletion
CPlApplet
CPlatOrientationChangeDetection::GetPlatOrientationTimeoutValue
CPLMainWindow
CPMicArrayQuery
]cpO[pH[xFa
cppCliMessage
Cppt7Caag
CPPTP00E
CPreviewView
CPreviewViewEx
CPrintDialog
C_PrintDialogEx
                              c - Proc and Mem Clocks
CProcessNode::CreateDummyProcessNode
CProcessNode::IsLeftFormatSupported
CProcessNode::IsRightFormatSupported
CPropertyPage
CPropertySheet
CProtectedOutputController::CreateVirtualProtectedOutput
CProtectedOutputController::GetDescription
CProtectedOutputController::RequestPolicyChange
CProximitySensor::ComputeBiometricPresenceSensorInstance
CProximitySensor::CreateInstance
CProximitySensor::GetAttentionConfidence
CProximitySensor::GetReadingAttention
CProximitySensor::GetReadingConfidence
CProximitySensor::GetReadingDetectionState
CProximitySensor::GetReadingWakeEvent
CProximitySensor::IsSensorCompatible
CProximitySensor::OnDataUpdated
CProximitySensor::QueryInterface
CProximitySensor::RegisterForSensorEvents
CProximitySensor::ReleaseInstance
CProximitySensor::ReleaseSensor
CProximitySensor::SendBiometricPresenceSensorGratuitousEvent
CProximitySensor::SendBiometricPresenceSensorInstanceChangeEvent
CProximitySensor::SendProximityChangeEvent
CProximitySensor::SendSensorDataInvalidState
CProximitySensor::SetSensor
CProximitySensor::UnregisterFromSensorEvents
CPS_URLS    *rgCPSURLs;                 
cpt6Sav6Rt7Gw
cp_thread.cpp
CPtrArray
CPtrList
	CpuPriority
CPU_REGS
CPUStatus
CPU_TYPE_ATOMWWW
(CPU_TYPE_CORE1WW
(CPU_TYPE_CORE2WW
CPU_TYPE_CORE_I3
CPU_TYPE_CORE_I5
CPU_TYPE_CORE_I5_I7W
CPU_TYPE_CORE_I7
CPU_TYPE_COREX1_4WWW
_CPU_TYPE_INFOWW
CPU_TYPE_M3W
CPU_TYPE_M5W
CPU_TYPE_M7W
	CPU_TYPE_MB_WORKSTATIONW
CPU_TYPE_MEDIA_SERVERWWW
CPU_TYPE_PENTIUM
CPU_TYPE_UNKNOWN
CPU_TYPE_VPROWWW
CPU_TYPE_WSW
-[cPWE76
)cQeQe3d3N2N2
cqpackageVersionIDd
Cq(q(p4n4
c[Qulw)!
_	Cr135M
_	Cr142M
Cr1752(Wd255]
_	Cr187M
c r208 bra
Cr322Mp	
cRadioButtons
CRAM-MD5
CRAPIDMEMORYMANAGEMENT_SUCCESSWWW
--crcerrorcounters
crc_table_const
--creatable
Create1667User
CreateAcaDetectorDllClientInstance
CreateAcaRequest
CreateAcceleratorTableW
CreateAccount
CreateActCtxW
CreateAction
CreateAdapter
CreateAirplaneWiFiWhiteList
CreateAnalysisTask
CreateAppData
createBatteryScanWatcher
CreateBindCtx
CreateBitmap
CreateBitmapSourceFromHBitmap
CreateBitmapSourceFromHIcon
CreateBOOLFromMap
?CreateBool@Value@DirectUI@@SAPEAV12@_N@Z
CreateBoundaryDescriptorW
CreateBrushIndirect
createBTScanWatcher
CreateBTScanWatcher
createcabpage.cpp
createcabpage.h
CREATE_CACHE_FILE_ERROR
CreateCaret
CreateCheckBoxImagelist
CreateCmNotifyEventDataDeviceHandle
CreateCmNotifyEventDataDeviceInstance
CreateCmNotifyEventDataDeviceInterface
CreateCodecCategoryFromString
CreateCodecInfoFromMediaExtensionMap
CreateColorBitmap
createColorWatcher
CreateColorWatcher
CreateCompatibleBitmap
CreateCompatibleDC
CreateConsoleScreenBuffer
CreateCPAudioHistoryReader
 created
CreateDbDownloadJobActivity
Created by MIDL version 8.01.0622 at Tue Jan 19 05:14:07 2038
Created by MIDL version 8.01.0622 at Tue Jan 19 11:14:07 2038
Created by MIDL version 8.01.0626 at Mon Jan 18 19:14:07 2038
Created by MIDL version 8.01.0628 at Mon Jan 18 19:14:07 2038
Created by NvDebugDump
CreateDCA
CreatedClassName
CreateDCW
CreateDelegate
Created element is NULL
CreateDesktopW
CreateDeviceInventory
CreateDeviceNode
CreateDialogIndirectParamW
CreateDialogParamA
CreateDialogParamW
CreateDIBitmap
CreateDIBSection
CreateDir
create_directories
CreateDirectory
CreateDirectoryA
CreateDirectoryExW
createdirectory_tests.cpp
CreateDirectoryW
CreateDirIfNotExists
    --create-dirs
create-dirs
createDist
CreateDomain
CreateDomainData
Create Domains
CreateDspBlob
?CreateDUICP@TaskPage@DirectUI@@EEAAJPEAVHWNDElement@2@PEAUHWND__@@1PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?Create@DUIXmlParser@DirectUI@@SAJPEAPEAV12@P6APEAVValue@2@PEBGPEAX@Z2P6AX11H2@Z2@Z
CreatedWmiNamespace
CreateDXGIFactory
CreateDXGIFactory1
CreateDXGIFactory2
?CreateElement@DUIXmlParser@DirectUI@@QEAAJPEBGPEAVElement@2@1PEAKPEAPEAV32@@Z
CreateEllipticRgn
CreateEllipticRgnIndirect
CreateEnhMetaFileW
CreateEnvironmentBlock
CreateETDGestureEventToKernel
CreateETDMessageEventToKernel
CreateETDMultiGestureEventToKernel
CreateETDPSTGestureEventToKernel
CreateETDTouchEventToKernel
CreateETDTrayIconEventToKernel
CreateEventA
CreateEventExW
Create event failed 
CreateEventSource
CreateEventW
CreateEventWindow
CreateExtensionArchitectureFromString
CreateExtensionInfoFromMediaExtensionMap
CreateFarfieldDllClientInstance
CreateFile2
CreateFileA
CreateFile failed
CreateFile failed. Error: 
CreateFileMappingA
CreateFileMapping failed
CreateFileMappingW
create-file-mode
CreateFileMoniker
CreateFileTransactedW
CreateFileW
?Create@FillLayout@DirectUI@@SAJPEAPEAVLayout@2@@Z
CreateFolderL
CreateFolderWithACEs
CreateFolderWithPermissions
CreateFontIndirectA
CreateFontIndirectW
CreateFontW
CreateFormatCorruptionRecordContext
CreateForUpgradeInProgress
CreateFromDeviceClass
CreateGameConfigStoreClient
?CreateGraphic@Value@DirectUI@@SAPEAV12@PEAUHICON__@@_N11@Z
CreateHardlink
CreateHardLinkW
CreateHatchBrush
CreateHeader
CreateHpalInstance
CreateHpalIOCTLControlInstance
?CreateHWND@Edit@DirectUI@@MEAAPEAUHWND__@@PEAU3@_N@Z
?CreateHWND@Edit@DirectUI@@MEAAPEAUHWND__@@PEAU3@@Z
CreateIconIndirect
CreateImcLifecycleEvent
CreateImmutableStorageProvider
CreateImmutableStorageProviders
CreateInprocActivatablePackInfoFromMediaExtensionMap
CreateInstance
?CreateInstance@CSafeElementProxy@@SAJPEAVElement@DirectUI@@PEAPEAV1@@Z
CreateInstanceFromAndUnwrap
Create instance key result...
create interleaves
CreateIoCompletionPort
CreateIOCTLControlInstance
CreateIUriBuilder
CreateJobObjectW
?CreateKey@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG@Z
CreateKsStream
CreateLink
CreateLoggerSetting
CreateLpalInstance
CreateLpalListenerInstance
CreateLun
CreateMailslotA
CreateMediaExtensionMapFromCodecInfo
CreateMediaSubTypeFromMap
CreateMenu
CreateMergedTraceFile
CreateMethod
CreateModuleIdDetectorDllWrapperMap
CreateMutableStorageProvider
CreateMutex
CreateMutexA
CreateMutexExW
CreateMutex failed: err: 
CreateMutexW
CreateNamedPipeW
?Create@NativeHWNDHost@DirectUI@@SAJPEBGPEAUHWND__@@PEAUHICON__@@HHHHHHIPEAPEAV12@@Z
Create necessary local directory hierarchy
CREATE_NEW_CONSOLE
CreateNotification
CREATE_NO_WINDOW
CreateObject
createOptions
CreateOSGenuineTicketWithPreviousId
CreateOsLicense
CreateOutputFile
createpackagepage.cpp
CreatePalette
?CreateParserCP@TaskPage@DirectUI@@EEAAJPEAPEAVDUIXmlParser@2@@Z
CreatePatternBrush
CreatePen
CreatePenIndirect
CreatePipe
CreatePolygonRgn
CreatePopupMenu
CreatePpDllClientInstance
CreatePrivateNamespaceW
CreatePrivateObjectSecurity
CreatePrivateObjectSecurityWithMultipleInheritance
CreateProcess
CreateProcessA
CreateProcessAsUser
CreateProcessAsUserA
CreateProcessAsUserW
CreateProcessAsUserWExport
createprocessclient.cpp
createprocessclient.h
createprocesscommand.cpp
create_process.cpp
createprocessipc_c.c
createprocessipc.h
create_process_server.cpp
createprocessserver.cpp
create_process_server.h
createprocessserver.h
CreateProcessW
CreateProcessWithTokenW
CreateProductKeyGT
CreateProductKeyGTFailed
CreatePropertySheetPageW
CreateProxies
CreatePushRenewalScheduleActivity
CreatePushUpgradeScheduleActivity
CreateRectRgn
CreateRectRgnIndirect
CreateRemoteThreadEx
CreateRoundRectRgn
CreateScheduleTask
CreateScheduleTasks
CreateSecureBiometricUnit
CreateSecureSection
CreateSecurityDescriptor
CreateSemaphoreA
CreateSemaphoreExW
CreateSemaphoreW
CreateServiceW
CreateSiufLocFolder
CreateSiufLocFolderResult
CreateSiufSystemRootReg
CreateSiufSystemRootRegResult
CreateSolidBrush
CreateSpatialCrossProcessEndpointRT
CreateStdAccessibleObject
CreateStreamOnHGlobal
CreateStreamOverRandomAccessStream
CreateStringFromMap
?CreateString@Value@DirectUI@@SAPEAV12@PEBGPEAUHINSTANCE__@@@Z
CreateStringVectorFromMap
?CreateStyleParser@HWNDElement@DirectUI@@UEAAJPEAPEAVDUIXmlParser@2@@Z
CreateSubdirectory
CreateSubKey
createsubsystemtokenizercollectiontests.cpp
CreateSymbolicLinkW
CreateTarget
CreateTask
CreateTaskForUser
CreateText
CreateTextFileWW
CreateTextNode
Create the remote dirs if not present
CreateThread
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWait
CreateThreadpoolWork
CreateTimerQueue
CreateTimerQueueTimer
CreateToastNotifier
CreateToolhelp32Snapshot
CreateTPGroup
CreateTransaction
CreateTrustedDomEx_End
CreateTrustedDomEx_Start
CreateTypeInfo
CreateTypeVectorFromMap
?CreateUdcRootDir@utility@UDC@@SAXXZ
CreateUmsCompletionList
CreateUmsThreadContext
CREATE_UNICODE_ENVIRONMENT
CreateUri
CreateURLMonikerEx
CreateViewAccessor
CreateVolumeList
CreateVssBackupComponentsInternal
CreateWaitableTimerW
CreateWellKnownSid
CreateWin10Toast
CreateWindowExA
CreateWindowExW
CreateWindowInBand
_CreateWMIDefragTask
CreateWoVControlInstance
CreateXmlReader
CreateXmlReader failed.
CreateXmlReaderInputWithEncodingName
CreateXmlWriter
Creating accelerometer instance
Creating a SOCKET for the server to listen for client connections
creating boolean object
creating buffer
creating context
Creating directory listener to represent current folder state
creating encoding buffer
creating evaluation context
creating execution context
Creating face detection sensor instance
Creating file list
creating float object
creating HTTP output context
creating input buffer
Creating metadata guid
Creating motion sensor instance
creating new attribute info
creating nodeset
creating node set object
creating object cache
creating output
creating output buffer
creatingpackagepage.cpp
creatingpackagepage.h
creating parser context
creating parser: out of memory
Creating participant in app
Creating proximity sensor instance
creating result value tree
creating saving context
Creating sensor enumerators
creating string object
Creating the event listener thread...
Creating the Spooler session...
creatingtransformpage.cpp
creatingtransformpage.h
creating URI structure
creating user object
creating WBEM locator instance
creating wildcard namespace constraint
creating XInclude context
CreationClassName
CreationTimeStamp
*@CReBar
CredBackupCredentials
CredDeleteW
CredentialEnrollmentManager.pdb
CredentialUIBroker.pdb
CredEnumerateW
CredFree
CredGetSessionTypes
CredIsMarshaledCredentialW
CredPackAuthenticationBufferW
CredpEncodeSecret
CredProvConsent
CredRestoreCredentials
CredUICmdLinePromptForCredentialsW
credui.dll
CredUIParseUserNameW
CredUIPromptForWindowsCredentialsW
CredUIPromptForWindowsCredentialsWorker
CredUnmarshalCredentialW
CredUnPackAuthenticationBufferW
CredUXTypeInvoke
credwiz.pdb
CredWriteW
CRefrList
CRefrWnd
CRenderTarget
CResourceException
CRibbonUndoLabel
CRichEditCtrl
critical
Critical
CriticalSection
critsec.cpp
critsec.h
CRiVNd8:
CRL_DIST_POINT_NAME     DistPointName;      
CRL_DIST_POINT_NAME     DistPointName;              
    --crlf
crloY?tG
cross device link
crosshairX
crosshairY
CrossIsLink(CrossForwLink(endSplice) - 1)
!CrossIsXtra(known)
CrossIsXtra(startLink)
CrossIsXtra(xtra)
!CrossWasDeleted(ll)
!CrossWasDeleted(lr)
cRt7SerW'Rpv7Ctw
_crt_atexit
_crt_at_quick_exit
__crtCompareStringA
__crtCompareStringW
_CrtDbgReport: String too long or Invalid characters in String
_CrtDbgReport: String too long or IO Error
CRT detected that the application wrote to a heap buffer that was freed.
CRT detected that the application wrote to memory after end of heap buffer.
CRT detected that the application wrote to memory before start of heap buffer.
__crtLCMapStringA
__crtLCMapStringW
- CRT not initialized
crypt32.dll
CRYPT32.dll
CRYPT32.DLL
CryptAcquireCertificatePrivateKey
CryptAcquireCertificatePrivateKey(
CryptAcquireContextA
CryptAcquireContextA(
CryptAcquireContextW
CryptAcquireContextW(
CRYPT_ALGORITHM_IDENTIFIER    Algorithm;
CRYPT_ALGORITHM_IDENTIFIER  Algorithm;
CRYPT_ALGORITHM_IDENTIFIER  ContentEncryptionAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  EncryptionAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  HashAlgorithm;  
CRYPT_ALGORITHM_IDENTIFIER  HashEncryptionAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  KeyEncryptionAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  KeyWrapAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  *pAlgorithm; 
CRYPT_ALGORITHM_IDENTIFIER  PubKeyAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  SignatureAlgorithm;
CRYPT_ALGORITHM_IDENTIFIER  SubjectAlgorithm;
CRYPT_ATTRIBUTE     Attribute;
CRYPT_ATTRIBUTE rgAttr[]
CRYPT_ATTRIBUTES            AuthAttrs;
CRYPT_ATTRIBUTES            UnauthAttrs;
CRYPTBASE
CRYPTBASE.dll
CryptBinaryToStringA(
CryptBinaryToStringW
CryptBinaryToStringW(
CRYPT_BIT_BLOB              FailureInfo;            
CRYPT_BIT_BLOB              IntendedKeyUsage;
CRYPT_BIT_BLOB              IntendedKeyUsage;       
CRYPT_BIT_BLOB              IssuerUniqueId;
CRYPT_BIT_BLOB          OnlySomeReasonFlags;        
CRYPT_BIT_BLOB                  OriginatorPublicKey;
CRYPT_BIT_BLOB                PublicKey;
CRYPT_BIT_BLOB              PublicKey;  
CRYPT_BIT_BLOB          ReasonFlags;        
CRYPT_BIT_BLOB              RecipientPublicKey;
CRYPT_BIT_BLOB          RestrictedKeyUsage;
CRYPT_BIT_BLOB      seed;
CRYPT_BIT_BLOB              Signature;
CRYPT_BIT_BLOB  Signature;
CRYPT_BIT_BLOB          SubjectType;
CRYPT_BIT_BLOB              SubjectUniqueId;
CryptCancelAsyncRetrieval (
CryptCATAdminAcquireContext
CryptCATAdminAddCatalog
CryptCATAdminCalcHashFromFileHandle
CryptCATAdminEnumCatalogFromHash
CryptCATAdminReleaseCatalogContext
CryptCATAdminReleaseContext
CryptCATAdminRemoveCatalog
CryptCATCatalogInfoFromContext
CryptCATClose
CryptCATGetMemberInfo
CryptCATOpen
CryptCloseAsyncHandle (
CryptContextAddRef
CryptContextAddRef(
crypt.cpp
CryptCreateAsyncHandle (
CryptCreateHash
CryptCreateHash(
CryptCreateKeyIdentifierFromCSP(
CRYPT_DATA_BLOB     blob;
CRYPT_DATA_BLOB CertIssuerPubKeyBitLengthPropData;
CRYPT_DATA_BLOB CertSignHashCNGAlgPropData;
CRYPT_DATA_BLOB             EncodingParameters;
CRYPT_DATA_BLOB             EncryptedHash;
CRYPT_DATA_BLOB             EncryptedKey;
CRYPT_DATA_BLOB             EncryptedPrivateKey;
CRYPT_DATA_BLOB             EntityUInfo;    
CRYPT_DATA_BLOB ExtraInfo;
CRYPT_DATA_BLOB             IPAddress;          
CRYPT_DATA_BLOB             KeyId;
CRYPT_DATA_BLOB     KeyId;
CRYPT_DATA_BLOB             ListIdentifier;     
CRYPT_DATA_BLOB         ListIdentifier;     
CRYPT_DATA_BLOB     ListIdentifier; 
CRYPT_DATA_BLOB     OpenParameters;         
CRYPT_DATA_BLOB             *pDigest;    
CRYPT_DATA_BLOB             PendToken;
CRYPT_DATA_BLOB* pPFX);
CRYPT_DATA_BLOB     PubInfo;    
CRYPT_DATA_BLOB PubInfo;            
CRYPT_DATA_BLOB             SubjectIdentifier;
CRYPT_DATA_BLOB     SubjectIdentifier;          
CRYPT_DATA_BLOB             UserKeyingMaterial;
CRYPT_DATA_BLOB             UserKeyingMaterial;     
CryptDecodeMessage(
CryptDecodeObject
CryptDecodeObject(
CryptDecodeObjectEx
CryptDecodeObjectEx(
CryptDecrypt
CryptDecrypt(
CryptDecryptAndVerifyMessageSignature(
CryptDecryptMessage
CryptDecryptMessage(
CRYPT_DER_BLOB      Content;
CRYPT_DER_BLOB              ContentInfo;            
CRYPT_DER_BLOB      EncodedContentInfo;
CRYPT_DER_BLOB              HashedMessage;
CRYPT_DER_BLOB              Nonce;                      
CRYPT_DER_BLOB              PrivateKey;
CRYPT_DER_BLOB              PrivateKey; 
CRYPT_DER_BLOB      SignedCertRequest;
CRYPT_DER_BLOB              ToBeSigned;
CRYPT_DER_BLOB              ToBeSigned;     
CRYPT_DER_BLOB              ToBeSigned;             
CRYPT_DER_BLOB              Tsa;                        
CryptDeriveKey
CryptDeriveKey(
CryptDestroyHash
CryptDestroyHash(
CryptDestroyKey
CryptDestroyKey(
CRYPT_DIGEST_BLOB               PrivateKey;             
CryptDllExtractEncodedSignatureParameters
CryptDuplicateHash
CryptDuplicateHash(
CryptDuplicateKey
CryptDuplicateKey(
CryptEncodeObject(
CryptEncodeObjectEx
CryptEncodeObjectEx(
CryptEncrypt
CryptEncrypt(
CryptEncryptMessage
CryptEncryptMessage(
CryptEnumKeyIdentifierProperties
CryptEnumKeyIdentifierProperties(
CryptEnumOIDFunction(
CryptEnumOIDInfo
CryptEnumOIDInfo(
CryptEnumProvidersA
CryptEnumProvidersA(
CryptEnumProvidersW(
CryptEnumProviderTypesA(
CryptEnumProviderTypesW(
CRYPT_E_REVOKED
CryptExportKey
CryptExportKey(
CryptExportPKCS8
CryptExportPKCS8(
CryptExportPKCS8Ex(
CryptExportPublicKeyInfo
CryptExportPublicKeyInfo(
CryptExportPublicKeyInfoEx
CryptExportPublicKeyInfoEx(
CryptExportPublicKeyInfoFromBCryptKeyHandle(
CryptFindCertificateKeyProvInfo
CryptFindCertificateKeyProvInfo(
CryptFindLocalizedName
CryptFindLocalizedName(
CryptFindOIDInfo
CryptFindOIDInfo(
CryptFlushTimeValidObject (
CryptFormatObject
CryptFormatObject(
CryptFreeOIDFunctionAddress
CryptFreeOIDFunctionAddress(
CryptGenKey
CryptGenKey(
CryptGenRandom
CryptGenRandom(
CryptGetAsyncParam (
CryptGetDefaultOIDDllList(
CryptGetDefaultOIDFunctionAddress(
CryptGetDefaultProviderA(
CryptGetDefaultProviderW
CryptGetDefaultProviderW(
CryptGetHashParam
CryptGetHashParam(
CryptGetKeyIdentifierProperty
CryptGetKeyIdentifierProperty(
CryptGetKeyParam
CryptGetKeyParam(
CryptGetMessageCertificates(
CryptGetMessageSignerCount(
CryptGetObjectUrl
CryptGetObjectUrl (
CryptGetOIDFunctionAddress
CryptGetOIDFunctionAddress(
CryptGetOIDFunctionValue(
CryptGetProvParam
CryptGetProvParam(
CryptGetTimeValidObject (
CryptGetUserKey
CryptGetUserKey(
CRYPT_HASH_BLOB              ByKeyResponderId;
CRYPT_HASH_BLOB             Hash;
CRYPT_HASH_BLOB             HashId;
CRYPT_HASH_BLOB             IssuerKeyHash;  
CRYPT_HASH_BLOB             IssuerNameHash; 
CRYPT_HASH_BLOB             KeyId;
CryptHashCertificate
CryptHashCertificate(
CryptHashCertificate2
CryptHashCertificate2(
CryptHashData
CryptHashData(
CryptHashMessage
CryptHashMessage(
CryptHashPublicKeyInfo
CryptHashPublicKeyInfo(
CryptHashSessionKey(
CryptHashToBeSigned(
CryptImportKey
CryptImportKey(
CryptImportPKCS8
CryptImportPKCS8(
CryptImportPublicKeyInfo
CryptImportPublicKeyInfo(
CryptImportPublicKeyInfoEx(
CryptImportPublicKeyInfoEx2
CryptImportPublicKeyInfoEx2(
CryptInitOIDFunctionSet
CryptInitOIDFunctionSet(
CryptInstallCancelRetrieval(
CryptInstallDefaultContext(
CryptInstallOIDFunctionAddress(
CRYPT_INTEGER_BLOB  AuthorityCertSerialNumber;
CRYPT_INTEGER_BLOB  CertSerialNumber;
CRYPT_INTEGER_BLOB          Nonce;                  
CRYPT_INTEGER_BLOB          Nonce;                      
CRYPT_INTEGER_BLOB          SequenceNumber;     
CRYPT_INTEGER_BLOB          SerialNumber;
CRYPT_INTEGER_BLOB  SerialNumber;
CRYPT_KEY_PROV_INFO     keyLocatorInfo; 
CRYPT_MASK_GEN_ALGORITHM    MaskGenAlgorithm;
CryptMemAlloc (
CryptMemFree
CryptMemFree (
CryptMemRealloc (
CryptMsgCalculateEncodedLength(
CryptMsgClose
CryptMsgClose(
CryptMsgControl
CryptMsgControl(
CryptMsgCountersign(
CryptMsgCountersignEncoded(
CryptMsgDuplicate(
CryptMsgEncodeAndSignCTL
CryptMsgEncodeAndSignCTL(
CryptMsgGetAndVerifySigner
CryptMsgGetAndVerifySigner(
CryptMsgGetParam
CryptMsgGetParam(
CryptMsgOpenToDecode
CryptMsgOpenToDecode(
CryptMsgOpenToEncode
CryptMsgOpenToEncode(
CryptMsgSignCTL(
CryptMsgUpdate
CryptMsgUpdate(
CryptMsgVerifyCountersignatureEncoded(
CryptMsgVerifyCountersignatureEncodedEx(
CRYPTNET.dll
cryptngc.dll
CRYPT_OBJID_BLOB        Content;
CRYPT_OBJID_BLOB    Parameters;
CRYPT_OBJID_BLOB            Qualifier;              
CRYPT_OBJID_BLOB    StatementInfo;      
CRYPT_OBJID_BLOB            Value;      
CRYPT_OBJID_BLOB    Value;
Crypto engine to use
CryptographicBuffer
Cryptographic Error
crypto_utils.cpp
crypto_utils.h
CRYPT_PKCS12_PBE_PARAMS;
CryptProtectData
CryptProtectData(
CryptProtectDataNoUI(
CryptProtectMemory(
CRYPT_PSOURCE_ALGORITHM     PSourceAlgorithm;
CryptQueryObject
CryptQueryObject(
CryptRegisterDefaultOIDFunction(
CryptRegisterOIDFunction(
CryptRegisterOIDInfo
CryptRegisterOIDInfo(
CryptReleaseContext
CryptReleaseContext(
CryptRetrieveObjectByUrlA (
CryptRetrieveObjectByUrlW
CryptRetrieveObjectByUrlW (
CryptRetrieveTimeStamp(
CryptSetAsyncParam (
CryptSetHashParam
CryptSetHashParam(
CryptSetKeyIdentifierProperty
CryptSetKeyIdentifierProperty(
CryptSetKeyParam
CryptSetKeyParam(
CryptSetOIDFunctionValue(
CryptSetProviderA(
CryptSetProviderExA(
CryptSetProviderExW(
CryptSetProviderW(
CryptSetProvParam
CryptSetProvParam(
CryptSignAndEncodeCertificate
CryptSignAndEncodeCertificate(
CryptSignAndEncryptMessage(
CryptSignCertificate
CryptSignCertificate(
CryptSignHashA(
CryptSignHashW
CryptSignHashW(
CryptSignMessage
CryptSignMessage(
CryptSignMessageWithKey(
CRYPTSP.dll
CryptStringToBinaryA
CryptStringToBinaryA(
CryptStringToBinaryW
CryptStringToBinaryW(
crypttpmeksvc.dll
CryptUIDlgFreeCAContext
CryptUIDlgFreePolicyServerContext
CryptUIDlgSelectCA
CryptUIDlgSelectCertificateW
CryptUIDlgSelectPolicyServer
CryptUIDlgViewCertificateW
CryptUIDlgViewCRLW
CRYPTUI.dll
CRYPT_UINT_BLOB     g;
CRYPT_UINT_BLOB     g;          
CRYPT_UINT_BLOB     j;          
CRYPT_UINT_BLOB     p;
CRYPT_UINT_BLOB     p;          
CRYPT_UINT_BLOB     q;
CRYPT_UINT_BLOB     q;          
CRYPT_UINT_BLOB     r;
CRYPT_UINT_BLOB     s;
CryptUninstallCancelRetrieval(
CryptUninstallDefaultContext(
CryptUnprotectData
CryptUnprotectData(
CryptUnprotectDataNoUI(
CryptUnprotectMemory(
CryptUnregisterDefaultOIDFunction(
CryptUnregisterOIDFunction(
CryptUnregisterOIDInfo(
CryptUpdateProtectedState
CryptUpdateProtectedState(
CryptVerifyCertificateSignature
CryptVerifyCertificateSignature(
CryptVerifyCertificateSignatureEx
CryptVerifyCertificateSignatureEx(
CryptVerifyDetachedMessageHash(
CryptVerifyDetachedMessageSignature
CryptVerifyDetachedMessageSignature(
CryptVerifyMessageHash(
CryptVerifyMessageSignature
CryptVerifyMessageSignature(
CryptVerifyMessageSignatureWithKey(
CryptVerifySignatureA(
CryptVerifySignatureW
CryptVerifySignatureW(
CryptVerifyTimeStampSignature (
CryptXmlClose
CryptXmlCreateReference
CRYPTXML.dll
CryptXmlEncode
CryptXmlGetDocContext
CryptXmlGetReference
CryptXmlGetSignature
CryptXmlGetStatus
CryptXmlOpenToDecode
CryptXmlOpenToEncode
CryptXmlSign
CryptXmlVerifySignature
c.s64.se
CScan: xBoxMax out of bounds
CScan: xBoxMin out of bounds
CScan: yBoxMax out of bounds
CScan: yBoxMin out of bounds
CS_ClientThreadParams memory allocation failed
cscript.exe
cscript.pdb
CScrollBar
CScrollView
CSD.poretnI.llehS.enohP.tfosorciM
csecHangTime
CSE is in Recovery Mode but FWSTS registers report Normal Mode.
Cselp(H7194
CSensorManager::ComputeAndSetUserSensorPrivacySwitchStatus
CSensorManager::CreateGeneralEnumerator
CSensorManager::CreateInstance
CSensorManager::CreateManager
CSensorManager::DisableSensorsAndMarkForDelayedLoad
CSensorManager::EnableRegisteredSensors
CSensorManager::EnableRegisteredSensorsDelayed
CSensorManager::EsifEventCallback
CSensorManager::EsifProximitySensorPrivacy_EventCallback
CSensorManager::FindCompatibleFaceDetectionSensor
CSensorManager::FindCompatibleProximitySensor
CSensorManager::OnSensorEnter
CSensorManager::QueryInterface
CSensorManager::RegisterAccelerometer
CSensorManager::RegisterBiometricPresenceSensor
CSensorManager::RegisterEsifEvents
CSensorManager::RegisterFaceDetectionSensor
CSensorManager::RegisterForManagerEvents
CSensorManager::RegisterMotionSensor
CSensorManager::RegisterProximitySensor
CSensorManager::RegisterProximitySensorPrivacyEvent
CSensorManager::ReleaseGeneralEnumerator
CSensorManager::UnregisterAccelerometer
CSensorManager::UnregisterEsifEvents
CSensorManager::UnregisterFaceDetectionSensor
CSensorManager::UnregisterFromManagerEvents
CSensorManager::UnregisterMotionSensor
CSensorManager::UnregisterProximitySensor
CSensorManager::UnRegisterProximitySensorPrivacyEvent
CSeq cannot be set as a custom header.
cSetControlWW
CSettingsButton
CSettingsButton._CreateMenu
CSettingsButton._Init
CSettingsButton.ShowSettingsMenu
CSettingsButton.s_TBWndProc
CSettingsButton.ToolBarButtonDropDown
CSettingsButton._UpdateToolbar
CSettingsStore
cSeuraavien sovellusten k
csgtest.cpp
CSharedFile
CSharpArgumentInfo
CSharpArgumentInfoFlags
CSharpBinderFlags
csiLogOpen
CSimpleException
CSmartDockingGroupGuidesManager
?CSmartDockingStandaloneGuide
CSpatialCrossProcessBaseEndpoint::CommitRead
CSpatialCrossProcessBaseEndpoint::CommitWrite
CSpatialCrossProcessBaseEndpoint::GetFrameFormat
CSpatialCrossProcessBaseEndpoint::GetFramesPerPacket
CSpatialCrossProcessBaseEndpoint::GetGrantedDynamicObjectCount
CSpatialCrossProcessBaseEndpoint::GetGrantedObjectCount
CSpatialCrossProcessBaseEndpoint::GetLatency
CSpatialCrossProcessBaseEndpoint::GetObjectMetadata
CSpatialCrossProcessBaseEndpoint::GetObjectProperties
CSpatialCrossProcessBaseEndpoint::GetObjectSampleBuffer
CSpatialCrossProcessBaseEndpoint::GetObjectsAvailableForProcessing
CSpatialCrossProcessBaseEndpoint::GetObjectsAvailableForRendering
CSpatialCrossProcessBaseEndpoint::GetPingPongReadIndex
CSpatialCrossProcessBaseEndpoint::GetPingPongWriteIndex
CSpatialCrossProcessBaseEndpoint::SetObjectUsageCounts
CSpatialCrossProcessBaseEndpoint::ValidateControlData
CSpatialCrossProcessBaseEndpoint::ZeroOutObject
CSpatialCrossProcessClientEndpoint::GetCharacteristics
CSpatialCrossProcessClientEndpoint::GetFrequency
CSpatialCrossProcessClientEndpoint::GetGrantedDynamicObjectCount
CSpatialCrossProcessClientEndpoint::Initialize
CSpatialCrossProcessClientEndpoint::SetEventHandle
CSpatialCrossProcessClientOutputEndpoint::GetAllocatedObjectCount
CSpatialCrossProcessClientOutputEndpoint::GetAvailableObjectCount
CSpatialCrossProcessClientOutputEndpoint::GetDevicePosition
CSpatialCrossProcessClientOutputEndpoint::GetFrameCount
CSpatialCrossProcessClientOutputEndpoint::GetFramesPerPacket
CSpatialCrossProcessClientOutputEndpoint::GetObjectMetadata
CSpatialCrossProcessClientOutputEndpoint::GetObjectProperties
CSpatialCrossProcessClientOutputEndpoint::GetObjectSampleBuffer
CSpatialCrossProcessClientOutputEndpoint::GetPosition
CSpatialCrossProcessClientOutputEndpoint::GetStreamStatus
CSpatialCrossProcessClientOutputEndpoint::ProcessComplete
CSpatialCrossProcessControl::Reset
CSpatialCrossProcessControl::Start
CSpatialCrossProcessControl::Stop
CSpatialCrossProcessServerEndpoint::Initialize
CSpatialCrossProcessServerInputEndpoint::GetAllocatedObjectCount
CSpatialCrossProcessServerInputEndpoint::GetAvailableObjectCount
CSpatialCrossProcessServerInputEndpoint::GetFrameCount
CSpatialCrossProcessServerInputEndpoint::GetInputDataPointer
CSpatialCrossProcessServerInputEndpoint::GetObjectMetadata
CSpatialCrossProcessServerInputEndpoint::GetObjectProperties
CSpatialCrossProcessServerInputEndpoint::GetObjectSampleBuffer
CSpatialCrossProcessServerInputEndpoint::GetStreamStatus
CSpatialCrossProcessServerInputEndpoint::ProcessComplete
CSpatialCrossProcessServerInputEndpoint::PulseEndpoint
CSpatialCrossProcessServerInputEndpoint::ReleaseInputDataPointer
__C_specific_handler
CSpinButtonCtrl
CSplitterWnd
'CS:q".b
CsrClientCallServer
CsrServerInitialization
CSRSRV.dll
csrss.pdb
CsrUnhandledExceptionFilter
cssszNNNHXX
CStateChangeDetection::ReadSensorConfigValueFromDV
CStateChangeDetection::StartThread
CStateChangeDetection::StopThread
CStateChangeDetection::TimerThread
CStdioFile
CStdStubBuffer_AddRef
CStdStubBuffer_Connect
CStdStubBuffer_CountRefs
CStdStubBuffer_DebugServerQueryInterface
CStdStubBuffer_DebugServerRelease
CStdStubBuffer_Disconnect
CStdStubBuffer_Invoke
CStdStubBuffer_IsIIDSupported
CStdStubBuffer_QueryInterface
CStreamProcessNode::CreateStreamInstance
CStreamProcessNode::CreateStreamProcessNode
CStringArray
CStringList
CSuccess
                                  csv - comma separated values (MANDATORY)
csvDllFileName
csvFolder
cswatcher.cpp
cswatcher.h
CSwitch_V1
CSwitch_V2
CSwitch_V3
CSwitch_V4
_csWupDetectionAvailable
CSyncObject
CSystemAudioDeviceBase::ActivateEndpoint
CSystemAudioDeviceExclusive::GetFormat
CSystemAudioDeviceExclusive::GetLatency
CSystemAudioDeviceExclusive::GetProtectedOutputController
CSystemAudioDeviceExclusive::Initialize
CSystemAudioDeviceOffloadGraph::GetMeterChannelCount
CSystemAudioDeviceOffloadGraph::GetMeteringData
CSystemAudioDeviceOffloadGraph::GetMute
CSystemAudioDeviceOffloadGraph::GetVolumeChannelCount
CSystemAudioDeviceOffloadGraph::GetVolumeCoefficients
CSystemAudioDeviceOffloadGraph::SetMute
CSystemAudioDeviceOffloadGraph::SetVolumeCoefficients
CSystemAudioDeviceSharedBase::GetEndpointBufferSize
CSystemAudioDeviceSharedBase::GetFormat
CSystemAudioDeviceSharedBase::GetFrequencyForOffload
CSystemAudioDeviceSharedBase::GetLatency
CSystemAudioDeviceSharedBase::GetPositionForOffload
CSystemAudioDeviceSharedBase::GetProtectedOutputController
CSystemAudioDeviceSharedBase::Initialize
CSystemAudioDeviceSharedBase::InnerInitializeAPO
CSystemAudioDeviceSharedBase::ResetEndpoint
CSystemEffectWrapper::AcceptInput
CSystemEffectWrapper::AddAuxiliaryInput
CSystemEffectWrapper::APOProcess
CSystemEffectWrapper::CalcInputFrames
CSystemEffectWrapper::CalcOutputFrames
CSystemEffectWrapper::GetEffectsList
CSystemEffectWrapper::GetHeadTracking
CSystemEffectWrapper::GetInputChannelCount
CSystemEffectWrapper::GetLatency
CSystemEffectWrapper::GetPreferredInputFormat
CSystemEffectWrapper::GetRegistrationProperties
CSystemEffectWrapper::Init
CSystemEffectWrapper::Initialize
CSystemEffectWrapper::IsInputFormatSupported
CSystemEffectWrapper::IsOutputFormatSupported
CSystemEffectWrapper::LockForProcess
CSystemEffectWrapper::NDRelease
CSystemEffectWrapper::QIInternal
CSystemEffectWrapper::RemoveAuxiliaryInput
CSystemEffectWrapper::Reset
CSystemEffectWrapper::SetHeadTracking
CSystemEffectWrapper::SetMetadata
CSystemEffectWrapper::SetRotation
CSystemEffectWrapper::TrackAPOFailureUnhandled
CSystemEffectWrapper::UnlockForProcess
CTabbedPane
CTabletDriverMain
|ctaid.y
ctaid.y;
ctaid.z;
CTaskDialog
CTasksPaneHistoryButton
CTasksPaneMenuButton
CTasksPaneNavigateButton
CTextEdit
C_TF32_19F
ctfmon.pdb
CtHtEHub
CTL_CODE
CTL_USAGE                   SubjectUsage;
CTL_USAGE           SubjectUsage;   
CTL_USAGE Usage;
CToolBar
CToolTipCtrl
C	tQJJ"TNM
CTravelLog
CTravelLog.AddEntry
CTravelLog.AddRef
CTravelLog.Clone
CTravelLog.CountEntries
CTravelLog_CreateInstance
CTravelLog.FindTravelEntry
CTravelLog.GetToolTipText
CTravelLog.GetTravelEntry
CTravelLog.InsertMenuEntries
CTravelLog.QueryInterface
CTravelLog.Release
CTravelLog.Revert
CTravelLog.Travel
CTravelLog.UpdateEntry
CTravelLog.UpdateExternal
CTreeCtrl
Ctrl-Break event
Ctrl-Close event
Ctrl conn has data while waiting for data conn
Ctrl-Logoff event
CtrlPgUpPgDnUsed
CtrlShiftCProcUsed
CtrlShiftCRawUsed
CtrlShiftVProcUsed
CtrlShiftVRawUsed
Ctrl-Shutdown event
cttune.pdb
CtTuner ClassW
cttunesvr 1.0 Type Library
		'cttunesvr.EXE'
cttunesvr.pdb
cuArray3DCreate_v2
cuArray3DGetDescriptor_v2
cuArrayCreate_v2
cuArrayDestroy
cuArrayGetDescriptor_v2
cuArrayGetSparseProperties
c UAVAWH
cuCtxCreate_v2
cuCtxDetach
cuCtxDisablePeerAccess
cuCtxEnablePeerAccess
cuCtxGetApiVersion
cuCtxGetCacheConfig
cuCtxGetCurrent
cuCtxGetDevice
cuCtxGetFlags
cuCtxGetLimit
cuCtxGetSharedMemConfig
cuCtxGetStreamPriorityRange
cuCtxResetPersistingL2Cache
cuCtxSetCacheConfig
cuCtxSetCurrent
cuCtxSetLimit
cuCtxSetSharedMemConfig
cuCtxSynchronize
cuD3D10CtxCreateOnDevice
cuD3D10GetDevice
cuD3D10GetDevices
cuD3D10GetDirect3DDevice
cuD3D10MapResources
cuD3D10RegisterResource
cuD3D10ResourceGetMappedArray
cuD3D10ResourceGetMappedPitch_v2
cuD3D10ResourceGetMappedPointer_v2
cuD3D10ResourceGetMappedSize_v2
cuD3D10ResourceGetSurfaceDimensions_v2
cuD3D10ResourceSetMapFlags
cuD3D10UnmapResources
cuD3D10UnregisterResource
cuD3D11CtxCreateOnDevice
cuD3D11GetDevice
cuD3D11GetDevices
cuD3D11GetDirect3DDevice
cuD3D9Begin
cuD3D9CtxCreateOnDevice
cuD3D9End
cuD3D9GetDevice
cuD3D9GetDevices
cuD3D9GetDirect3DDevice
cuD3D9MapResources
cuD3D9MapVertexBuffer_v2
cuD3D9RegisterResource
cuD3D9RegisterVertexBuffer
cuD3D9ResourceGetMappedArray
cuD3D9ResourceGetMappedPitch_v2
cuD3D9ResourceGetMappedPointer_v2
cuD3D9ResourceGetMappedSize_v2
cuD3D9ResourceGetSurfaceDimensions_v2
cuD3D9ResourceSetMapFlags
cuD3D9UnmapResources
cuD3D9UnmapVertexBuffer
cuD3D9UnregisterResource
cuD3D9UnregisterVertexBuffer
cuda adapters to use
cudaArrayGetInfo
cudaArrayGetSparseProperties
cudaBindSurfaceToArray
cudaBindTexture
cudaBindTexture2D
cudaBindTextureToArray
cudaBindTextureToMipmappedArray
cudaChooseDevice
cudaConfigureCall
cudaCreateChannelDesc
cudaCreateSurfaceObject
cudaCreateTextureObject
cudaCtxResetPersistingL2Cache
cudaD3D10GetDevice
cudaD3D10GetDevices
cudaD3D10GetDirect3DDevice
cudaD3D10MapResources
cudaD3D10RegisterResource
cudaD3D10ResourceGetMappedArray
cudaD3D10ResourceGetMappedPitch
cudaD3D10ResourceGetMappedPointer
cudaD3D10ResourceGetMappedSize
cudaD3D10ResourceGetSurfaceDimensions
cudaD3D10ResourceSetMapFlags
cudaD3D10SetDirect3DDevice
cudaD3D10UnmapResources
cudaD3D10UnregisterResource
cudaD3D11GetDevice
cudaD3D11GetDevices
cudaD3D11GetDirect3DDevice
cudaD3D11SetDirect3DDevice
cudaD3D9Begin
cudaD3D9End
cudaD3D9GetDevice
cudaD3D9GetDevices
cudaD3D9GetDirect3DDevice
cudaD3D9MapResources
cudaD3D9MapVertexBuffer
cudaD3D9RegisterResource
cudaD3D9RegisterVertexBuffer
cudaD3D9ResourceGetMappedArray
cudaD3D9ResourceGetMappedPitch
cudaD3D9ResourceGetMappedPointer
cudaD3D9ResourceGetMappedSize
cudaD3D9ResourceGetSurfaceDimensions
cudaD3D9ResourceSetMapFlags
cudaD3D9SetDirect3DDevice
cudaD3D9UnmapResources
cudaD3D9UnmapVertexBuffer
cudaD3D9UnregisterResource
cudaD3D9UnregisterVertexBuffer
cudaDestroyExternalMemory
cudaDestroyExternalSemaphore
cudaDestroySurfaceObject
cudaDestroyTextureObject
cudaDeviceCanAccessPeer
cudaDeviceDisablePeerAccess
cudaDeviceEnablePeerAccess
cudaDeviceGetAttribute
cudaDeviceGetByPCIBusId
cudaDeviceGetCacheConfig
cudaDeviceGetLimit
cudaDeviceGetNvSciSyncAttributes
cudaDeviceGetP2PAttribute
cudaDeviceGetPCIBusId
cudaDeviceGetSharedMemConfig
cudaDeviceGetStreamPriorityRange
cudaDeviceGetTexture1DLinearMaxWidth
cudaDeviceReset
cuda_device_runtime_api.h
cudaDeviceSetCacheConfig
cudaDeviceSetLimit
cudaDeviceSetSharedMemConfig
cudaDeviceSynchronize
cudaDeviceSynchronize failed because caller's grid depth exceeds cudaLimitDevRuntimeSyncDepth
cudaDriverGetVersion
CUDA driver is a stub library
CUDA driver version is insufficient for CUDA runtime version
cuda drv call returned 
cudaEGLStreamConsumerAcquireFrame
cudaEGLStreamConsumerConnect
cudaEGLStreamConsumerConnectWithFlags
cudaEGLStreamConsumerDisconnect
cudaEGLStreamConsumerReleaseFrame
cudaEGLStreamProducerConnect
cudaEGLStreamProducerDisconnect
cudaEGLStreamProducerPresentFrame
cudaEGLStreamProducerReturnFrame
cudaErrorAddressOfConstant
cudaErrorAlreadyAcquired
CUDA_ERROR_ALREADY_ACQUIRED
cudaErrorAlreadyMapped
CUDA_ERROR_ALREADY_MAPPED
cudaErrorApiFailureBase
cudaErrorArrayIsMapped
CUDA_ERROR_ARRAY_IS_MAPPED
cudaErrorAssert
CUDA_ERROR_ASSERT
cudaErrorCallRequiresNewerDriver
cudaErrorCapturedEvent
CUDA_ERROR_CAPTURED_EVENT
cudaErrorCompatNotSupportedOnDevice
CUDA_ERROR_COMPAT_NOT_SUPPORTED_ON_DEVICE
CUDA_ERROR_CONTEXT_ALREADY_CURRENT
CUDA_ERROR_CONTEXT_ALREADY_IN_USE
cudaErrorContextIsDestroyed
CUDA_ERROR_CONTEXT_IS_DESTROYED
cudaErrorCooperativeLaunchTooLarge
CUDA_ERROR_COOPERATIVE_LAUNCH_TOO_LARGE
cudaErrorCudartUnloading
CUDA_ERROR_DEINITIALIZED
cudaErrorDeviceAlreadyInUse
cudaErrorDeviceNotLicensed
cudaErrorDevicesUnavailable
cudaErrorDeviceUninitialized
cudaErrorDuplicateSurfaceName
cudaErrorDuplicateTextureName
cudaErrorDuplicateVariableName
cudaErrorECCUncorrectable
CUDA_ERROR_ECC_UNCORRECTABLE
cudaErrorFileNotFound
CUDA_ERROR_FILE_NOT_FOUND
cudaErrorGraphExecUpdateFailure
CUDA_ERROR_GRAPH_EXEC_UPDATE_FAILURE
cudaErrorHardwareStackError
CUDA_ERROR_HARDWARE_STACK_ERROR
cudaErrorHostMemoryAlreadyRegistered
CUDA_ERROR_HOST_MEMORY_ALREADY_REGISTERED
cudaErrorHostMemoryNotRegistered
CUDA_ERROR_HOST_MEMORY_NOT_REGISTERED
cudaErrorIllegalAddress
CUDA_ERROR_ILLEGAL_ADDRESS
cudaErrorIllegalInstruction
CUDA_ERROR_ILLEGAL_INSTRUCTION
cudaErrorIllegalState
CUDA_ERROR_ILLEGAL_STATE
cudaErrorIncompatibleDriverContext
cudaErrorInitializationError
cudaErrorInsufficientDriver
cudaErrorInvalidAddressSpace
CUDA_ERROR_INVALID_ADDRESS_SPACE
cudaErrorInvalidChannelDescriptor
cudaErrorInvalidConfiguration
CUDA_ERROR_INVALID_CONTEXT
cudaErrorInvalidDevice
CUDA_ERROR_INVALID_DEVICE
cudaErrorInvalidDeviceFunction
cudaErrorInvalidDevicePointer
cudaErrorInvalidFilterSetting
cudaErrorInvalidGraphicsContext
CUDA_ERROR_INVALID_GRAPHICS_CONTEXT
CUDA_ERROR_INVALID_HANDLE
cudaErrorInvalidHostPointer
CUDA_ERROR_INVALID_IMAGE
cudaErrorInvalidKernelImage
cudaErrorInvalidMemcpyDirection
cudaErrorInvalidNormSetting
cudaErrorInvalidPc
CUDA_ERROR_INVALID_PC
cudaErrorInvalidPitchValue
cudaErrorInvalidPtx
CUDA_ERROR_INVALID_PTX
cudaErrorInvalidResourceHandle
cudaErrorInvalidSource
CUDA_ERROR_INVALID_SOURCE
cudaErrorInvalidSurface
cudaErrorInvalidSymbol
cudaErrorInvalidTexture
cudaErrorInvalidTextureBinding
cudaErrorInvalidValue
CUDA_ERROR_INVALID_VALUE
cudaErrorJitCompilerNotFound
CUDA_ERROR_JIT_COMPILER_NOT_FOUND
CUDA_ERROR_LAUNCH_FAILED
cudaErrorLaunchFailure
cudaErrorLaunchFileScopedSurf
cudaErrorLaunchFileScopedTex
cudaErrorLaunchIncompatibleTexturing
CUDA_ERROR_LAUNCH_INCOMPATIBLE_TEXTURING
cudaErrorLaunchMaxDepthExceeded
cudaErrorLaunchOutOfResources
CUDA_ERROR_LAUNCH_OUT_OF_RESOURCES
cudaErrorLaunchPendingCountExceeded
cudaErrorLaunchTimeout
CUDA_ERROR_LAUNCH_TIMEOUT
cudaErrorMapBufferObjectFailed
CUDA_ERROR_MAP_FAILED
cudaErrorMemoryAllocation
cudaErrorMemoryValueTooLarge
cudaErrorMisalignedAddress
CUDA_ERROR_MISALIGNED_ADDRESS
cudaErrorMissingConfiguration
cudaErrorMixedDeviceExecution
CUDA_ERROR_NO_BINARY_FOR_GPU
cudaErrorNoDevice
CUDA_ERROR_NO_DEVICE
cudaErrorNoKernelImageForDevice
CUDA_ERROR_NOT_FOUND
CUDA_ERROR_NOT_INITIALIZED
cudaErrorNotMapped
CUDA_ERROR_NOT_MAPPED
cudaErrorNotMappedAsArray
CUDA_ERROR_NOT_MAPPED_AS_ARRAY
cudaErrorNotMappedAsPointer
CUDA_ERROR_NOT_MAPPED_AS_POINTER
cudaErrorNotPermitted
CUDA_ERROR_NOT_PERMITTED
cudaErrorNotReady
CUDA_ERROR_NOT_READY
cudaErrorNotSupported
CUDA_ERROR_NOT_SUPPORTED
cudaErrorNotYetImplemented
cudaErrorNvlinkUncorrectable
CUDA_ERROR_NVLINK_UNCORRECTABLE
cudaErrorOperatingSystem
CUDA_ERROR_OPERATING_SYSTEM
CUDA_ERROR_OUT_OF_MEMORY
cudaErrorPeerAccessAlreadyEnabled
CUDA_ERROR_PEER_ACCESS_ALREADY_ENABLED
cudaErrorPeerAccessNotEnabled
CUDA_ERROR_PEER_ACCESS_NOT_ENABLED
cudaErrorPeerAccessUnsupported
CUDA_ERROR_PEER_ACCESS_UNSUPPORTED
CUDA_ERROR_PRIMARY_CONTEXT_ACTIVE
cudaErrorPriorLaunchFailure
cudaErrorProfilerAlreadyStarted
CUDA_ERROR_PROFILER_ALREADY_STARTED
cudaErrorProfilerAlreadyStopped
CUDA_ERROR_PROFILER_ALREADY_STOPPED
cudaErrorProfilerDisabled
CUDA_ERROR_PROFILER_DISABLED
cudaErrorProfilerNotInitialized
CUDA_ERROR_PROFILER_NOT_INITIALIZED
cudaErrorSetOnActiveProcess
cudaErrorSharedObjectInitFailed
CUDA_ERROR_SHARED_OBJECT_INIT_FAILED
cudaErrorSharedObjectSymbolNotFound
CUDA_ERROR_SHARED_OBJECT_SYMBOL_NOT_FOUND
cudaErrorStartupFailure
cudaErrorStreamCaptureImplicit
CUDA_ERROR_STREAM_CAPTURE_IMPLICIT
cudaErrorStreamCaptureInvalidated
CUDA_ERROR_STREAM_CAPTURE_INVALIDATED
cudaErrorStreamCaptureIsolation
CUDA_ERROR_STREAM_CAPTURE_ISOLATION
cudaErrorStreamCaptureMerge
CUDA_ERROR_STREAM_CAPTURE_MERGE
cudaErrorStreamCaptureUnjoined
CUDA_ERROR_STREAM_CAPTURE_UNJOINED
cudaErrorStreamCaptureUnmatched
CUDA_ERROR_STREAM_CAPTURE_UNMATCHED
cudaErrorStreamCaptureUnsupported
CUDA_ERROR_STREAM_CAPTURE_UNSUPPORTED
cudaErrorStreamCaptureWrongThread
CUDA_ERROR_STREAM_CAPTURE_WRONG_THREAD
cudaErrorStubLibrary
cudaErrorSymbolNotFound
cudaErrorSyncDepthExceeded
cudaErrorSynchronizationError
cudaErrorSystemDriverMismatch
CUDA_ERROR_SYSTEM_DRIVER_MISMATCH
cudaErrorSystemNotReady
CUDA_ERROR_SYSTEM_NOT_READY
cudaErrorTextureFetchFailed
cudaErrorTextureNotBound
cudaErrorTimeout
CUDA_ERROR_TIMEOUT
cudaErrorTooManyPeers
CUDA_ERROR_TOO_MANY_PEERS
cudaErrorUnknown
CUDA_ERROR_UNKNOWN
cudaErrorUnmapBufferObjectFailed
CUDA_ERROR_UNMAP_FAILED
cudaErrorUnsupportedLimit
CUDA_ERROR_UNSUPPORTED_LIMIT
cudaErrorUnsupportedPtxVersion
cudaEventCreate
cudaEventCreateFromEGLSync
cudaEventCreateWithFlags
cudaEventDestroy
cudaEventElapsedTime
cudaEventQuery
cudaEventRecord
cudaEventRecord_ptsz
cudaEventRecordWithFlags
cudaEventRecordWithFlags_ptsz
cudaEventSynchronize
cudaExternalMemoryGetMappedBuffer
cudaExternalMemoryGetMappedMipmappedArray
cudaFree
cudaFreeArray
cudaFreeHost
cudaFreeMipmappedArray
cudaFuncGetAttributes
cudaFuncSetAttribute
cudaFuncSetCacheConfig
cudaFuncSetSharedMemConfig
cudaGetChannelDesc
cudaGetDevice
cudaGetDeviceCount
cudaGetDeviceFlags
cudaGetDeviceProperties
cudaGetErrorName
cudaGetErrorString
cudaGetFuncBySymbol
cudaGetLastError
cudaGetMipmappedArrayLevel
cudaGetSurfaceObjectResourceDesc
cudaGetSurfaceReference
cudaGetSymbolAddress
cudaGetSymbolSize
cudaGetTextureAlignmentOffset
cudaGetTextureObjectResourceDesc
cudaGetTextureObjectResourceViewDesc
cudaGetTextureObjectTextureDesc
cudaGetTextureReference
cudaGLGetDevices
cudaGLMapBufferObject
cudaGLMapBufferObjectAsync
cudaGLRegisterBufferObject
cudaGLSetBufferObjectMapFlags
cudaGLSetGLDevice
cudaGLUnmapBufferObject
cudaGLUnmapBufferObjectAsync
cudaGLUnregisterBufferObject
cudaGraphAddChildGraphNode
cudaGraphAddDependencies
cudaGraphAddEmptyNode
cudaGraphAddEventRecordNode
cudaGraphAddEventWaitNode
cudaGraphAddHostNode
cudaGraphAddKernelNode
cudaGraphAddMemcpyNode
cudaGraphAddMemcpyNode1D
cudaGraphAddMemcpyNodeFromSymbol
cudaGraphAddMemcpyNodeToSymbol
cudaGraphAddMemsetNode
cudaGraphChildGraphNodeGetGraph
cudaGraphClone
cudaGraphCreate
cudaGraphDestroy
cudaGraphDestroyNode
cudaGraphEventRecordNodeGetEvent
cudaGraphEventRecordNodeSetEvent
cudaGraphEventWaitNodeGetEvent
cudaGraphEventWaitNodeSetEvent
cudaGraphExecChildGraphNodeSetParams
cudaGraphExecDestroy
cudaGraphExecEventRecordNodeSetEvent
cudaGraphExecEventWaitNodeSetEvent
cudaGraphExecHostNodeSetParams
cudaGraphExecKernelNodeSetParams
cudaGraphExecMemcpyNodeSetParams
cudaGraphExecMemcpyNodeSetParams1D
cudaGraphExecMemcpyNodeSetParamsFromSymbol
cudaGraphExecMemcpyNodeSetParamsToSymbol
cudaGraphExecMemsetNodeSetParams
cudaGraphExecUpdate
cudaGraphGetEdges
cudaGraphGetNodes
cudaGraphGetRootNodes
cudaGraphHostNodeGetParams
cudaGraphHostNodeSetParams
cudaGraphicsD3D10RegisterResource
cudaGraphicsD3D11RegisterResource
cudaGraphicsD3D9RegisterResource
cudaGraphicsEGLRegisterImage
cudaGraphicsGLRegisterBuffer
cudaGraphicsGLRegisterImage
cudaGraphicsMapResources
cudaGraphicsResourceGetMappedEglFrame
cudaGraphicsResourceGetMappedMipmappedArray
cudaGraphicsResourceGetMappedPointer
cudaGraphicsResourceSetMapFlags
cudaGraphicsSubResourceGetMappedArray
cudaGraphicsUnmapResources
cudaGraphicsUnregisterResource
cudaGraphicsVDPAURegisterOutputSurface
cudaGraphicsVDPAURegisterVideoSurface
cudaGraphInstantiate
cudaGraphKernelNodeCopyAttributes
cudaGraphKernelNodeGetAttribute
cudaGraphKernelNodeGetParams
cudaGraphKernelNodeSetAttribute
cudaGraphKernelNodeSetParams
cudaGraphLaunch
cudaGraphLaunch_ptsz
cudaGraphMemcpyNodeGetParams
cudaGraphMemcpyNodeSetParams
cudaGraphMemcpyNodeSetParams1D
cudaGraphMemcpyNodeSetParamsFromSymbol
cudaGraphMemcpyNodeSetParamsToSymbol
cudaGraphMemsetNodeGetParams
cudaGraphMemsetNodeSetParams
cudaGraphNodeFindInClone
cudaGraphNodeGetDependencies
cudaGraphNodeGetDependentNodes
cudaGraphNodeGetType
cudaGraphRemoveDependencies
cudaGraphUpload
cudaGraphUpload_ptsz
cudaHostAlloc
cudaHostGetDevicePointer
cudaHostGetFlags
cudaHostRegister
cudaHostUnregister
cudaImportExternalMemory
cudaImportExternalSemaphore
cudaIpcCloseMemHandle
cudaIpcGetEventHandle
cudaIpcGetMemHandle
cudaIpcOpenEventHandle
cudaIpcOpenMemHandle
cudaLaunch
cudaLaunchCooperativeKernel
cudaLaunchCooperativeKernelMultiDevice
cudaLaunchCooperativeKernel_ptsz
cudaLaunchHostFunc
cudaLaunchHostFunc_ptsz
cudaLaunchKernel
cudaLaunchKernel_ptsz
cudaLaunch_ptsz
cudaMalloc
cudaMalloc3D
cudaMalloc3DArray
cudaMallocArray
cudaMalloc fail
cudaMallocHost
cudaMallocManaged
cudaMallocMipmappedArray
cudaMallocPitch
cudaMemAdvise
cudaMemcpy
cudaMemcpy2D
cudaMemcpy2DArrayToArray
cudaMemcpy2DArrayToArray_ptds
cudaMemcpy2DAsync
cudaMemcpy2DAsync_ptsz
cudaMemcpy2DFromArray
cudaMemcpy2DFromArrayAsync
cudaMemcpy2DFromArrayAsync_ptsz
cudaMemcpy2DFromArray_ptds
cudaMemcpy2D_ptds
cudaMemcpy2DToArray
cudaMemcpy2DToArrayAsync
cudaMemcpy2DToArrayAsync_ptsz
cudaMemcpy2DToArray_ptds
cudaMemcpy3D
cudaMemcpy3DAsync
cudaMemcpy3DAsync_ptsz
cudaMemcpy3DPeer
cudaMemcpy3DPeerAsync
cudaMemcpy3DPeerAsync_ptsz
cudaMemcpy3DPeer_ptds
cudaMemcpy3D_ptds
cudaMemcpyArrayToArray
cudaMemcpyArrayToArray_ptds
cudaMemcpyAsync
cudaMemcpyAsync_ptsz
cudaMemcpyFromArray
cudaMemcpyFromArrayAsync
cudaMemcpyFromArrayAsync_ptsz
cudaMemcpyFromArray_ptds
cudaMemcpyFromSymbol
cudaMemcpyFromSymbolAsync
cudaMemcpyFromSymbolAsync_ptsz
cudaMemcpyFromSymbol_ptds
cudaMemcpyPeer
cudaMemcpyPeerAsync
cudaMemcpy_ptds
cudaMemcpyToArray
cudaMemcpyToArrayAsync
cudaMemcpyToArrayAsync_ptsz
cudaMemcpyToArray_ptds
cudaMemcpyToSymbol
cudaMemcpyToSymbolAsync
cudaMemcpyToSymbolAsync_ptsz
cudaMemcpyToSymbol_ptds
cudaMemGetInfo
cudaMemPrefetchAsync
cudaMemPrefetchAsync_ptsz
cudaMemRangeGetAttribute
cudaMemRangeGetAttributes
cudaMemset
cudaMemset2D
cudaMemset2DAsync
cudaMemset2DAsync_ptsz
cudaMemset2D_ptds
cudaMemset3D
cudaMemset3DAsync
cudaMemset3DAsync_ptsz
cudaMemset3D_ptds
cudaMemsetAsync
cudaMemsetAsync_ptsz
cudaMemset_ptds
cudaMipmappedArrayGetSparseProperties
cudaOccupancyAvailableDynamicSMemPerBlock
cudaOccupancyMaxActiveBlocksPerMultiprocessor
cudaOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
cudaPeekAtLastError
cudaPeerGetDevicePointer
cudaPeerRegister
cudaPeerUnregister
cuda_platform.cu
cudaPointerGetAttributes
cudaProfilerInitialize
cudaProfilerStart
cudaProfilerStop
cudart call returned 
cudaRuntimeGetVersion
cudaSetDevice
cudaSetDeviceFlags
cudaSetDoubleForDevice
cudaSetDoubleForHost
cudaSetupArgument
cudaSetValidDevices
cudaSignalExternalSemaphoresAsync
cudaSignalExternalSemaphoresAsync_ptsz
cudaStreamAddCallback
cudaStreamAddCallback_ptsz
cudaStreamAttachMemAsync
cudaStreamAttachMemAsync_ptsz
cudaStreamBeginCapture
cudaStreamBeginCapture_ptsz
cudaStreamCopyAttributes
cudaStreamCopyAttributes_ptsz
cudaStreamCreate
cudaStreamCreateWithFlags
cudaStreamCreateWithPriority
cudaStreamDestroy
cudaStreamEndCapture
cudaStreamEndCapture_ptsz
cudaStreamGetAttribute
cudaStreamGetAttribute_ptsz
cudaStreamGetCaptureInfo
cudaStreamGetCaptureInfo_ptsz
cudaStreamGetFlags
cudaStreamGetFlags_ptsz
cudaStreamGetPriority
cudaStreamGetPriority_ptsz
cudaStreamIsCapturing
cudaStreamIsCapturing_ptsz
cudaStreamQuery
cudaStreamQuery_ptsz
cudaStreamSetAttribute
cudaStreamSetAttribute_ptsz
cudaStreamSetFlags
cudaStreamSetFlags_ptsz
cudaStreamSynchronize
cudaStreamSynchronize_ptsz
cudaStreamWaitEvent
cudaStreamWaitEvent_ptsz
cudaSuccess
CUDA_SUCCESS
cudaThreadExchangeStreamCaptureMode
cudaThreadExit
cudaThreadGetCacheConfig
cudaThreadGetLimit
cudaThreadSetCacheConfig
cudaThreadSetLimit
cudaThreadSynchronize
cudaUnbindTexture
cudaVDPAUGetDevice
cudaVDPAUSetVDPAUDevice
cuda_version
CUDA Version
cudaWaitExternalSemaphoresAsync
cudaWaitExternalSemaphoresAsync_ptsz
cudaWGLGetDevice
cuDestroyExternalMemory
cuDestroyExternalSemaphore
cuDeviceCanAccessPeer
cuDeviceGet
cuDeviceGetAttribute
cuDeviceGetByPCIBusId
cuDeviceGetCount
cuDeviceGetLuid
cuDeviceGetName
cuDeviceGetNvSciSyncAttributes
cuDeviceGetP2PAttribute
cuDeviceGetPCIBusId
cuDeviceGetTexture1DLinearMaxWidth
cuDeviceGetUuid
cuDevicePrimaryCtxGetState
cuDevicePrimaryCtxRelease
cuDevicePrimaryCtxReset
cuDevicePrimaryCtxRetain
cuDevicePrimaryCtxSetFlags_v2
cuDeviceTotalMem_v2
cuDriverGetVersion
cuEventCreate
cuEventDestroy_v2
cuEventElapsedTime
cuEventQuery
cuEventRecord
cuEventRecord_ptsz
cuEventRecordWithFlags
cuEventRecordWithFlags_ptsz
cuEventSynchronize
cuExternalMemoryGetMappedBuffer
cuExternalMemoryGetMappedMipmappedArray
CufAU0]G
cuFuncGetAttribute
cuFuncSetAttribute
cuFuncSetCacheConfig
cuFuncSetSharedMemConfig
cuGetErrorName
cuGetErrorString
cuGetExportTable
cuGLCtxCreate_v2
cuGLGetDevices
cuGLInit
cuGLMapBufferObjectAsync_v2
cuGLMapBufferObjectAsync_v2_ptsz
cuGLMapBufferObject_v2
cuGLMapBufferObject_v2_ptds
cuGLRegisterBufferObject
cuGLSetBufferObjectMapFlags
cuGLUnmapBufferObject
cuGLUnmapBufferObjectAsync
cuGLUnregisterBufferObject
cuGraphAddChildGraphNode
cuGraphAddDependencies
cuGraphAddEmptyNode
cuGraphAddEventRecordNode
cuGraphAddEventWaitNode
cuGraphAddHostNode
cuGraphAddKernelNode
cuGraphAddMemcpyNode
cuGraphAddMemsetNode
cuGraphChildGraphNodeGetGraph
cuGraphClone
cuGraphCreate
cuGraphDestroy
cuGraphDestroyNode
cuGraphEventRecordNodeGetEvent
cuGraphEventRecordNodeSetEvent
cuGraphEventWaitNodeGetEvent
cuGraphEventWaitNodeSetEvent
cuGraphExecChildGraphNodeSetParams
cuGraphExecDestroy
cuGraphExecEventRecordNodeSetEvent
cuGraphExecEventWaitNodeSetEvent
cuGraphExecHostNodeSetParams
cuGraphExecKernelNodeSetParams
cuGraphExecMemcpyNodeSetParams
cuGraphExecMemsetNodeSetParams
cuGraphExecUpdate
cuGraphGetEdges
cuGraphGetNodes
cuGraphGetRootNodes
cuGraphHostNodeGetParams
cuGraphHostNodeSetParams
cuGraphicsD3D10RegisterResource
cuGraphicsD3D11RegisterResource
cuGraphicsD3D9RegisterResource
cuGraphicsGLRegisterBuffer
cuGraphicsGLRegisterImage
cuGraphicsMapResources
cuGraphicsMapResources_ptsz
cuGraphicsResourceGetMappedMipmappedArray
cuGraphicsResourceGetMappedPointer_v2
cuGraphicsResourceSetMapFlags_v2
cuGraphicsSubResourceGetMappedArray
cuGraphicsUnmapResources
cuGraphicsUnmapResources_ptsz
cuGraphicsUnregisterResource
cuGraphInstantiate
cuGraphInstantiate_v2
cuGraphKernelNodeCopyAttributes
cuGraphKernelNodeGetAttribute
cuGraphKernelNodeGetParams
cuGraphKernelNodeSetAttribute
cuGraphKernelNodeSetParams
cuGraphLaunch
cuGraphLaunch_ptsz
cuGraphMemcpyNodeGetParams
cuGraphMemcpyNodeSetParams
cuGraphMemsetNodeGetParams
cuGraphMemsetNodeSetParams
cuGraphNodeFindInClone
cuGraphNodeGetDependencies
cuGraphNodeGetDependentNodes
cuGraphNodeGetType
cuGraphRemoveDependencies
cuGraphUpload
cuGraphUpload_ptsz
CuIELfh1
	CUI_EVENT_APPLY_GAMMAWWWd
CUI_EVENT_ASPECT_SCALINGd
CUI_EVENT_CLOCK_BENDINGWd
CUI_EVENT_DGPUACTIVEd
CUI_EVENT_DISPLAY_RESETWd
CUI_EVENT_DOCKWWd
	CUI_EVENT_DP_TOPOLOGYWWWd
CUI_EVENT_HOTPLUGWWWd
CUI_EVENT_IGPUACTIVEd
CUI_EVENT_LIDSWITCHWd
CUI_EVENT_LOCKWWd
CUI_EVENT_MONITOR_OFFWWWd
CUI_EVENT_MONITOR_ONd
CUI_EVENT_POWERWd
CUI_EVENT_RESTORE_2Dd
CUI_EVENT_ROTATION_ANGLE_UPDATEWd
CUI_EVENT_SG_GPU_SWITCH_END_dGPUd
CUI_EVENT_SG_GPU_SWITCH_END_iGPUd
_CUI_EVENTSWd
CUIExternal ClassW
CUIExternalW
cuImportExternalMemory
cuImportExternalSemaphore
CUIntArray
cuIpcCloseMemHandle
cuIpcGetEventHandle
cuIpcGetMemHandle
cuIpcOpenEventHandle
cuIpcOpenMemHandle
cuIpcOpenMemHandle_v2
cuLaunchCooperativeKernel
cuLaunchCooperativeKernelMultiDevice
cuLaunchCooperativeKernel_ptsz
cuLaunchHostFunc
cuLaunchHostFunc_ptsz
cuLaunchKernel
cuLaunchKernel_ptsz
cuLinkAddData
cuLinkAddFile
cuLinkComplete
cuLinkCreate
cuLinkDestroy
CultureInfo
cuMemAdvise
cuMemAllocManaged
cuMemAllocPitch_v2
cuMemAlloc_v2
cuMemcpy
cuMemcpy2DAsync_v2
cuMemcpy2DAsync_v2_ptsz
cuMemcpy2DUnaligned_v2
cuMemcpy2DUnaligned_v2_ptds
cuMemcpy3DAsync_v2
cuMemcpy3DAsync_v2_ptsz
cuMemcpy3DPeer
cuMemcpy3DPeerAsync
cuMemcpy3DPeerAsync_ptsz
cuMemcpy3DPeer_ptds
cuMemcpy3D_v2
cuMemcpy3D_v2_ptds
cuMemcpyAsync
cuMemcpyAsync_ptsz
cuMemcpyDtoDAsync_v2
cuMemcpyDtoDAsync_v2_ptsz
cuMemcpyDtoD_v2
cuMemcpyDtoD_v2_ptds
cuMemcpyDtoHAsync_v2
cuMemcpyDtoHAsync_v2_ptsz
cuMemcpyDtoH_v2
cuMemcpyDtoH_v2_ptds
cuMemcpyHtoDAsync_v2
cuMemcpyHtoDAsync_v2_ptsz
cuMemcpyHtoD_v2
cuMemcpyHtoD_v2_ptds
cuMemcpyPeer
cuMemcpyPeerAsync
cuMemcpyPeerAsync_ptsz
cuMemcpyPeer_ptds
cuMemcpy_ptds
cuMemFreeHost
cuMemFree_v2
cuMemGetAddressRange_v2
cuMemGetInfo_v2
cuMemHostAlloc
cuMemHostGetDevicePointer_v2
cuMemHostGetFlags
cuMemHostRegister_v2
cuMemHostUnregister
cuMemPrefetchAsync
cuMemPrefetchAsync_ptsz
cuMemRangeGetAttribute
cuMemRangeGetAttributes
cuMemsetD2D8Async
cuMemsetD2D8Async_ptsz
cuMemsetD2D8_v2
cuMemsetD2D8_v2_ptds
cuMemsetD8Async
cuMemsetD8Async_ptsz
cuMemsetD8_v2
cuMemsetD8_v2_ptds
cuMipmappedArrayCreate
cuMipmappedArrayDestroy
cuMipmappedArrayGetLevel
cuMipmappedArrayGetSparseProperties
cuModuleGetFunction
cuModuleGetGlobal_v2
cuModuleGetSurfRef
cuModuleGetTexRef
cuModuleLoad
cuModuleLoadData
cuModuleLoadFatBinary
cuModuleUnload
CUnknown::CUnknown
CUnknown::QueryInterface
cuOccupancyAvailableDynamicSMemPerBlock
cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags
CUpButton
CUpButtonEventHandlerWrapper
CUpButton._Init
CUpButton.s_TBWndProc
CUpButton.UpdateButtonEnabledState
CUpButton._UpdateToolbar
cuPointerGetAttribute
cuPointerGetAttributes
cuProfilerInitialize
cuProfilerStart
cuProfilerStop
cuptiActivityDisable
cuptiActivityEnable
cuptiActivityFlushAll
cuptiActivityGetNextRecord
cuptiActivityGetNumDroppedRecords
cuptiActivityRegisterCallbacks
cupti.dll
CUPTI_ERROR_API_NOT_IMPLEMENTED
CUPTI_ERROR_CDP_TRACING_NOT_SUPPORTED
CUPTI_ERROR_CUDA_COMPILER_NOT_COMPATIBLE
CUPTI_ERROR_DISABLED
CUPTI_ERROR_FORCE_INT
CUPTI_ERROR_HARDWARE
CUPTI_ERROR_HARDWARE_BUSY
CUPTI_ERROR_INSUFFICIENT_PRIVILEGES
CUPTI_ERROR_INVALID_CONTEXT
CUPTI_ERROR_INVALID_DEVICE
CUPTI_ERROR_INVALID_EVENT_DOMAIN_ID
CUPTI_ERROR_INVALID_EVENT_ID
CUPTI_ERROR_INVALID_EVENT_NAME
CUPTI_ERROR_INVALID_EVENT_VALUE
CUPTI_ERROR_INVALID_HANDLE
CUPTI_ERROR_INVALID_KIND
CUPTI_ERROR_INVALID_METRIC_ID
CUPTI_ERROR_INVALID_METRIC_NAME
CUPTI_ERROR_INVALID_METRIC_VALUE
CUPTI_ERROR_INVALID_MODULE
CUPTI_ERROR_INVALID_OPERATION
CUPTI_ERROR_INVALID_PARAMETER
CUPTI_ERROR_INVALID_STREAM
CUPTI_ERROR_LEGACY_PROFILER_NOT_SUPPORTED
CUPTI_ERROR_MAX_LIMIT_REACHED
CUPTI_ERROR_NOT_COMPATIBLE
CUPTI_ERROR_NOT_INITIALIZED
CUPTI_ERROR_NOT_READY
CUPTI_ERROR_NOT_SUPPORTED
CUPTI_ERROR_OLD_PROFILER_API_INITIALIZED
CUPTI_ERROR_OPENACC_UNDEFINED_ROUTINE
CUPTI_ERROR_OUT_OF_MEMORY
CUPTI_ERROR_PARAMETER_SIZE_NOT_SUFFICIENT
CUPTI_ERROR_QUEUE_EMPTY
CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED
CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_DEVICE
CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_ON_NON_P2P_DEVICES
CUPTI_ERROR_UM_PROFILING_NOT_SUPPORTED_WITH_MPS
CUPTI_ERROR_UNKNOWN
CUPTI_ERROR_VIRTUALIZED_DEVICE_NOT_SUPPORTED
cuptiGetResultString
cuptiGetTimestamp
cupti out of memory
CUPTI_SUCCESS
curandCreateGenerator
curand.dll
curandGenerate
curandGenerateNormal
curandGenerateNormalDouble
curandSetPseudoRandomGeneratorSeed
CURAND_STATUS_ALLOCATION_FAILED
CURAND_STATUS_ARCH_MISMATCH
CURAND_STATUS_DOUBLE_PRECISION_REQUIRED
CURAND_STATUS_INITIALIZATION_FAILED
CURAND_STATUS_INTERNAL_ERROR
CURAND_STATUS_LAUNCH_FAILURE
CURAND_STATUS_LENGTH_NOT_MULTIPLE
CURAND_STATUS_NOT_INITIALIZED
CURAND_STATUS_OUT_OF_RANGE
CURAND_STATUS_PREEXISTING_FAILURE
CURAND_STATUS_SUCCESS
CURAND_STATUS_TYPE_ERROR
CURAND_STATUS_VERSION_MISMATCH
curColorHex
cur index out of bound
curl: (23) Failed seeking to end of file
curl: (23) Failed to truncate file
CURLAUTH_ANY
CURLAUTH_ANYSAFE
CURLAUTH_BASIC
CURLAUTH_DIGEST
CURLAUTH_DIGEST_IE
CURLAUTH_GSSNEGOTIATE
CURLAUTH_NONE
CURLAUTH_NTLM
CURLAUTH_NTLM_WB
CURLAUTH_ONLY
CURL_CA_BUNDLE
curl-ca-bundle.crt
curl cleanup
  CURLcode ret;
curl_easy_cleanup(hnd);
curl failed to verify the legitimacy of the server and therefore could not
CURLFTPSSL_CCC_ACTIVE
CURLFTPSSL_CCC_NONE
CURLFTPSSL_CCC_PASSIVE
  CURL *hnd;
CURL_HOME
CURL_HTTP_VERSION_1_0
CURL_HTTP_VERSION_1_1
CURL_HTTP_VERSION_2_0
CURL_HTTP_VERSION_2TLS
CURL_HTTP_VERSION_3
CURL_HTTP_VERSION_NONE
curl init
CURL_NETRC_IGNORED
CURL_NETRC_OPTIONAL
CURL_NETRC_REQUIRED
CURLOPT_ABSTRACT_UNIX_SOCKET
CURLOPT_ACCEPT_ENCODING
CURLOPT_ALTSVC
CURLOPT_APPEND
CURLOPT_AUTOREFERER
CURLOPT_AWS_SIGV4
CURLOPT_BUFFERSIZE
CURLOPT_CAINFO
CURLOPT_CAPATH
CURLOPT_CONNECTTIMEOUT_MS
CURLOPT_CONNECT_TO
CURLOPT_COOKIE
CURLOPT_COOKIEFILE
CURLOPT_COOKIEJAR
CURLOPT_COOKIESESSION
CURLOPT_CRLF
CURLOPT_CRLFILE
CURLOPT_CUSTOMREQUEST
CURLOPT_DEBUGDATA
CURLOPT_DEBUGFUNCTION
CURLOPT_DEFAULT_PROTOCOL
CURLOPT_DIRLISTONLY
CURLOPT_DISALLOW_USERNAME_IN_URL
CURLOPT_DNS_INTERFACE
CURLOPT_DNS_LOCAL_IP4
CURLOPT_DNS_LOCAL_IP6
CURLOPT_DNS_SERVERS
CURLOPT_DOH_SSL_VERIFYHOST
CURLOPT_DOH_SSL_VERIFYPEER
CURLOPT_DOH_SSL_VERIFYSTATUS
CURLOPT_DOH_URL
CURLOPT_EGDSOCKET
CURLOPT_ERRORBUFFER
CURLOPT_EXPECT_100_TIMEOUT_MS
CURLOPT_FAILONERROR
CURLOPT_FILETIME
CURLOPT_FOLLOWLOCATION
CURLOPT_FTP_ACCOUNT
CURLOPT_FTP_ALTERNATIVE_TO_USER
CURLOPT_FTP_CREATE_MISSING_DIRS
CURLOPT_FTP_FILEMETHOD
CURLOPT_FTPPORT
CURLOPT_FTP_SKIP_PASV_IP
CURLOPT_FTP_SSL_CCC
CURLOPT_FTP_USE_EPRT
CURLOPT_FTP_USE_EPSV
CURLOPT_FTP_USE_PRET
CURLOPT_GSSAPI_DELEGATION
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
CURLOPT_HAPROXYPROTOCOL
CURLOPT_HEADERDATA
CURLOPT_HEADERFUNCTION
CURLOPT_HEADEROPT
CURLOPT_HSTS
CURLOPT_HTTP09_ALLOWED
CURLOPT_HTTPAUTH
CURLOPT_HTTP_CONTENT_DECODING
CURLOPT_HTTPHEADER
CURLOPT_HTTPPROXYTUNNEL
CURLOPT_HTTP_TRANSFER_DECODING
CURLOPT_HTTP_VERSION
CURLOPT_IGNORE_CONTENT_LENGTH
CURLOPT_INFILESIZE_LARGE
CURLOPT_INTERFACE
CURLOPT_INTERLEAVEDATA
CURLOPT_IPRESOLVE
CURLOPT_KEYPASSWD
CURLOPT_KRBLEVEL
CURLOPT_LOCALPORT
CURLOPT_LOCALPORTRANGE
CURLOPT_LOGIN_OPTIONS
CURLOPT_LOW_SPEED_LIMIT
CURLOPT_LOW_SPEED_TIME
CURLOPT_MAIL_AUTH
CURLOPT_MAIL_FROM
CURLOPT_MAIL_RCPT
CURLOPT_MAIL_RCPT_ALLLOWFAILS
CURLOPT_MAXFILESIZE_LARGE
CURLOPT_MAX_RECV_SPEED_LARGE
CURLOPT_MAXREDIRS
CURLOPT_MAX_SEND_SPEED_LARGE
CURLOPT_MIME_OPTIONS
CURLOPT_MIMEPOST
CURLOPT_NETRC
CURLOPT_NETRC_FILE
CURLOPT_NEW_FILE_PERMS
CURLOPT_NOBODY
CURLOPT_NOPROGRESS
CURLOPT_NOPROXY
CURLOPT_PATH_AS_IS
CURLOPT_PINNEDPUBLICKEY
CURLOPT_POSTFIELDS
CURLOPT_POSTFIELDSIZE_LARGE
CURLOPT_POSTQUOTE
CURLOPT_POSTREDIR
CURLOPT_PRE_PROXY
CURLOPT_PREQUOTE
CURLOPT_PROTOCOLS
CURLOPT_PROXY
CURLOPT_PROXYAUTH
CURLOPT_PROXY_CAINFO
CURLOPT_PROXY_CAPATH
CURLOPT_PROXY_CRLFILE
CURLOPT_PROXYHEADER
CURLOPT_PROXY_KEYPASSWD
CURLOPT_PROXY_SERVICE_NAME
CURLOPT_PROXY_SSLCERT
CURLOPT_PROXY_SSLCERTTYPE
CURLOPT_PROXY_SSL_CIPHER_LIST
CURLOPT_PROXY_SSLKEY
CURLOPT_PROXY_SSLKEYTYPE
CURLOPT_PROXY_SSL_OPTIONS
CURLOPT_PROXY_SSL_VERIFYHOST
CURLOPT_PROXY_SSL_VERIFYPEER
CURLOPT_PROXY_SSLVERSION
CURLOPT_PROXY_TLS13_CIPHERS
CURLOPT_PROXY_TLSAUTH_PASSWORD
CURLOPT_PROXY_TLSAUTH_TYPE
CURLOPT_PROXY_TLSAUTH_USERNAME
CURLOPT_PROXYTYPE
CURLOPT_PROXYUSERPWD
CURLOPT_QUOTE
CURLOPT_RANDOM_FILE
CURLOPT_RANGE
CURLOPT_READDATA
CURLOPT_READFUNCTION
CURLOPT_REDIR_PROTOCOLS
CURLOPT_REFERER
CURLOPT_REQUEST_TARGET
CURLOPT_RESOLVE
CURLOPT_RESUME_FROM_LARGE
CURLOPT_SASL_AUTHZID
CURLOPT_SASL_IR
CURLOPT_SEEKDATA
CURLOPT_SEEKFUNCTION
CURLOPT_SERVICE_NAME
CURLOPT_SOCKS5_AUTH
CURLOPT_SOCKS5_GSSAPI_NEC
CURLOPT_SSH_COMPRESSION
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256
CURLOPT_SSH_KNOWNHOSTS
CURLOPT_SSH_PRIVATE_KEYFILE
CURLOPT_SSH_PUBLIC_KEYFILE
CURLOPT_SSLCERT
CURLOPT_SSLCERTTYPE
CURLOPT_SSL_CIPHER_LIST
CURLOPT_SSL_EC_CURVES
CURLOPT_SSL_ENABLE_ALPN
CURLOPT_SSL_ENABLE_NPN
CURLOPT_SSLENGINE
CURLOPT_SSL_FALSESTART
CURLOPT_SSLKEY
CURLOPT_SSLKEYTYPE
CURLOPT_SSL_OPTIONS
CURLOPT_SSL_SESSIONID_CACHE
CURLOPT_SSL_VERIFYHOST
CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!
CURLOPT_SSL_VERIFYPEER
CURLOPT_SSL_VERIFYSTATUS
CURLOPT_SSLVERSION
CURLOPT_STDERR
CURLOPT_SUPPRESS_CONNECT_HEADERS
CURLOPT_TCP_FASTOPEN
CURLOPT_TCP_KEEPALIVE
CURLOPT_TCP_KEEPIDLE
CURLOPT_TCP_KEEPINTVL
CURLOPT_TCP_NODELAY
CURLOPT_TELNETOPTIONS
CURLOPT_TFTP_BLKSIZE
CURLOPT_TFTP_NO_OPTIONS
CURLOPT_TIMECONDITION
CURLOPT_TIMEOUT_MS
CURLOPT_TIMEVALUE_LARGE
CURLOPT_TLS13_CIPHERS
CURLOPT_TLSAUTH_PASSWORD
CURLOPT_TLSAUTH_TYPE
CURLOPT_TLSAUTH_USERNAME
CURLOPT_TRANSFER_ENCODING
CURLOPT_TRANSFERTEXT
CURLOPT_UNIX_SOCKET_PATH
CURLOPT_UNRESTRICTED_AUTH
CURLOPT_UPLOAD
CURLOPT_URL
CURLOPT_USERAGENT
CURLOPT_USERPWD
CURLOPT_USE_SSL
CURLOPT_VERBOSE
CURLOPT_WRITEDATA
CURLOPT_WRITEFUNCTION
CURLOPT_XFERINFODATA
CURLOPT_XFERINFOFUNCTION
CURLOPT_XOAUTH2_BEARER
curl.pdb
CURLPROTO_ALL
CURLPROTO_DICT
CURLPROTO_FILE
CURLPROTO_FTP
CURLPROTO_FTPS
CURLPROTO_GOPHER
CURLPROTO_HTTP
CURLPROTO_HTTPS
CURLPROTO_IMAP
CURLPROTO_IMAPS
CURLPROTO_LDAP
CURLPROTO_LDAPS
CURLPROTO_POP3
CURLPROTO_POP3S
CURLPROTO_RTSP
CURLPROTO_SCP
CURLPROTO_SFTP
CURLPROTO_SMB
CURLPROTO_SMBS
CURLPROTO_SMTP
CURLPROTO_SMTPS
CURLPROTO_TELNET
CURLPROTO_TFTP
CURLPROXY_HTTP
CURLPROXY_HTTP_1_0
CURLPROXY_HTTPS
CURLPROXY_SOCKS4
CURLPROXY_SOCKS4A
CURLPROXY_SOCKS5
CURLPROXY_SOCKS5_HOSTNAME
curl shutdown
CURL_SSL_BACKEND
CURLSSLOPT_ALLOW_BEAST
CURLSSLOPT_AUTO_CLIENT_CERT
CURLSSLOPT_NATIVE_CA
CURLSSLOPT_NO_PARTIALCHAIN
CURLSSLOPT_NO_REVOKE
CURLSSLOPT_REVOKE_BEST_EFFORT
CURL_SSLVERSION_DEFAULT
CURL_SSLVERSION_MAX incompatible with CURL_SSLVERSION
CURL_SSLVERSION_SSLv2
CURL_SSLVERSION_SSLv3
CURL_SSLVERSION_TLSv1
CURL_SSLVERSION_TLSv1_0
CURL_SSLVERSION_TLSv1_1
CURL_SSLVERSION_TLSv1_2
CURL_SSLVERSION_TLSv1_3
CURL_TIMECOND_IFMODSINCE
CURL_TIMECOND_IFUNMODSINCE
CURL_TIMECOND_LASTMOD
CURL_TIMECOND_NONE
curl: try 'curl --help' for more information
CURLUSESSL_ALL
CURLUSESSL_CONTROL
CURLUSESSL_NONE
CURLUSESSL_TRY
"curl_version":
currency
CurrencySymbols
CurrentAddressInfo
---     Current best candidate
CurrentClockSpeed
currentColor
currentContextId
currentContextMessage
currentContextName
CurrentControlMode
CurrentDefaultRouter
Current device: 
currentDir
current_dm
current_ecc
__current_exception
__current_exception_context
currentExtent
CurrentFolderPreviewLoading
CurrentFormatWWW
Current frequency of graphics (shader) clock.
Current frequency of memory clock.
Current frequency of SM (Streaming Multiprocessor) clock.
current_gom
	current grid mode:
CurrentImpersonationLevel
CurrentInstallStatus
CurrentIP
_currentLanguage
CurrentLanguage
current_link_gen
current_link_width
CurrentlyAuthenticated
Current Max Speed
Current Max Width
current_mig
CurrentNumberOfRecords
currentOp
 Current Opt In Policy
current_path()
Current period has an invalid value
CurrentPrimaryDNS
Current process integrity level: 
Current process is running at a Low Integrity Level.
CurrentRequiredOrProduced
CurrentRetryCount
CurrentSecondaryDNS
CurrentService
Current Speed
CurrentState
currentStatus
CurrentSystemPowerStateW
CurrentSystemTime
currentTick
currentTransform
CurrentUser
CurrentUserGroupPolicy
currentVersion
Current Width
currentWindow
CurrentWindowSize.X
CurrentWindowSize.Y
_currentWritePosition
CURSOR_CHANNEL_REGS
CURSOR_INFO_SUPPORTW(
cursorMoved
cursorOffsetX
cursorOffsetY
CursorPosition.X
CursorPosition.Y
CursorSize
CURVES_ERROR_CODESWW
CURVES_INVALID_BIRIGHTNESS_VALUE
CURVES_INVALID_DISPLAY_IDWWW
CURVES_INVALID_GAMMA_VALUEWW
CURVES_SET_FAILEDWWW
CUserException
CUserTool
cuSignalExternalSemaphoresAsync
cuSignalExternalSemaphoresAsync_ptsz
CUSTOM 0
CUSTOM 1
CUSTOM 2
CUSTOM 3
CUSTOM 4
CUSTOM 5
CUSTOM 6
CUSTOM 7
CustomAppPolicies
CustomAttributeExtensions
customBorderColors
customBorderColorWithoutFormat
customdata.cpp
customdata.h
customDataWW 
CustomDragVisual
CUSTOMER_TYPEWWW
CustomInstall
CustomInstallExec.pdb
CustomInstallExecRun
CustomInstallProcess
CustomInstallProcessUserStatus
CustomInstallWork
CustomInstallWork Flags are INVALID
CustomLookUpTableWWW
CUSTOM_MATRIX_ERROR_CODESWWW4
CUSTOM_MATRIX_GET_FAILED4
CUSTOM_MATRIX_NOT_SUPPORTEDW
CUSTOM_MATRIX_SET_FAILED4
CUSTOM_MATRIX_SUCCESSWWW4
CUSTOM_MODE_TYPEt'
CustomPolicies
?CustomProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
CustomResolutionSettings
Custom_ScalingWW
CustomScalingXWW
CustomScalingYWW
CustomShellHost.exe
CustomShellHostLaunch
CustomShellHost.pdb
customvisitor.cpp
cuStreamAddCallback
cuStreamAddCallback_ptsz
cuStreamAttachMemAsync
cuStreamAttachMemAsync_ptsz
cuStreamBatchMemOp
cuStreamBatchMemOp_ptsz
cuStreamBeginCapture
cuStreamBeginCapture_ptsz
cuStreamBeginCapture_v2
cuStreamBeginCapture_v2_ptsz
cuStreamCopyAttributes
cuStreamCopyAttributes_ptsz
cuStreamCreate
cuStreamCreateWithPriority
cuStreamDestroy_v2
cuStreamEndCapture
cuStreamEndCapture_ptsz
cuStreamGetAttribute
cuStreamGetAttribute_ptsz
cuStreamGetCaptureInfo
cuStreamGetCaptureInfo_ptsz
cuStreamGetCtx
cuStreamGetFlags
cuStreamGetFlags_ptsz
cuStreamGetPriority
cuStreamGetPriority_ptsz
cuStreamIsCapturing
cuStreamIsCapturing_ptsz
cuStreamQuery
cuStreamQuery_ptsz
cuStreamSetAttribute
cuStreamSetAttribute_ptsz
cuStreamSynchronize
cuStreamSynchronize_ptsz
cuStreamWaitEvent
cuStreamWaitEvent_ptsz
cuStreamWaitValue32
cuStreamWaitValue32_ptsz
cuStreamWaitValue64
cuStreamWaitValue64_ptsz
cuStreamWriteValue32
cuStreamWriteValue32_ptsz
cuStreamWriteValue64
cuStreamWriteValue64_ptsz
cuSurfObjectCreate
cuSurfObjectDestroy
cuSurfObjectGetResourceDesc
cuSurfRefSetArray
cuTexObjectCreate
cuTexObjectDestroy
cuTexObjectGetResourceDesc
cuTexObjectGetResourceViewDesc
cuTexObjectGetTextureDesc
cuTexRefCreate
cuTexRefDestroy
cuTexRefGetBorderColor
cuTexRefSetAddress2D_v3
cuTexRefSetAddressMode
cuTexRefSetAddress_v2
cuTexRefSetArray
cuTexRefSetBorderColor
cuTexRefSetFilterMode
cuTexRefSetFlags
cuTexRefSetFormat
cuTexRefSetMaxAnisotropy
cuTexRefSetMipmapFilterMode
cuTexRefSetMipmapLevelBias
cuTexRefSetMipmapLevelClamp
cuTexRefSetMipmappedArray
cut_gain_0
cut_gain_1
cuThreadExchangeStreamCaptureMode
cutlass_image_network_first_layer_hmma_fprop
cutlass_image_network_first_layer_hmma_wgrad
cutlass_pooling_fwd_fp16x2_avg
cutlass_pooling_fwd_fp16x2_max
cutlass_pooling_fwd_fp16x8_nhwc_avg_exclude_padding
cutlass_pooling_fwd_fp16x8_nhwc_avg_include_padding
cutlass_pooling_fwd_fp16x8_nhwc_max
cutlass_pooling_fwd_int8x32_avg
cutlass_pooling_fwd_int8x32_max
cutlass_pooling_fwd_int8x32_max_avg_blend
cutlass_pooling_fwd_int8x4_avg
cutlass_pooling_fwd_int8x4_max
cutlass_simt_dgemm_128x128_8x2_nt_align1
cutlass_simt_dgemm_128x128_8x3_nt_align1
cutlass_simt_dgemm_128x64_8x2_nt_align1
cutlass_simt_dgemm_128x64_8x4_nt_align1
cutlass_simt_hgemm_128x128_8x2_nt_align1
cutlass_simt_hgemm_256x128_8x2_nt_align1
cutlass_simt_igemm_s8_128x128_32x2_nt_align1
cutlass_simt_igemm_s8_128x64_32x2_nt_align1
cutlass_simt_sgemm_128x128_8x2_nt_align1
cutlass_simt_sgemm_128x128_8x4_nt_align1
cutlass_simt_sgemm_128x128_8x5_nt_align1
cutlass_simt_sgemm_128x64_8x2_nt_align1
cutlass_simt_sgemm_128x64_8x5_nt_align1
cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8
cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8
cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8
cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8
cutlass_tensorop_d884gemm_128x128_16x3_nt_align1
cutlass_tensorop_d884gemm_128x64_16x3_nt_align1
cutlass_tensorop_d884gemm_64x64_16x4_nt_align1
cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8
cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8
cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8
cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8
cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8
cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8
cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8
cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8
cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128
cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128
cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128
cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128
cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128
cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128
cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128
cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128
cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16
cutlass_tensorop_i16832gemm_s8_128x128_64x4_tn_align16
cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16
cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16
cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16
cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32
cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32
cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32
cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32
cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8
cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8
cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8
cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8
cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8
cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8
cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8
cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8
cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4
cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4
cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4
cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4
cut_level_0
cut_level_1
Cu"w".1.13727
cuWaitExternalSemaphoresAsync
cuWaitExternalSemaphoresAsync_ptsz
cuWGLGetDevice
C_Version
cVerticalBackPorchWWW
CVirtualProtectedOutput::SetPolicy
CVirtualProtectedOutput::SetPolicySchemas
cV|Q2Io7
CVSListBox
CVSListBoxBase
CVSListBoxEditCtrl
cvta.to.global
cvta.to.global-
cvta.to.global@
cvta.to.global[
cvta.to.global2
cvta.to.global7
cvta.to.globalD
cvta.to.globalg
cvta.to.globalk
cvta.to.globalL
cvta.to.globalm
cvta.to.globalp
cvta.to.globalP
cvta.to.globalR
cvta.to.global.u
CVTReducedBlank
cvt.rn.f16A
cvt.rn.f16.f32 hi
cvt.rn.f16.s
cvt.rni.sat
cvt.s16.s8
cvt.s64I
cvt.s64J
cvt.u32d
cvt.u64.u
cvt.u64.u32	!
CWAXAqEsE
cwgwgWWWwWwW'we'gug''6WWw7Wvwuew6vssWW'4wugw5uurvWVw
CwideZX#d1
CWinAppEx
CWindowDC
CWinThread
cWIydDoD
cwoG'VBj
CwwVmOEJ
;(;C;[;x;
CX9AxuzA
cxapp.cpp
CxH9Cps_H
CXHHmjx7c
cxi;lcJb
cxjdJ UwBy
cxLeftWidth
cxRightWidth
-cxsparse
cxsparse
___CxxCallUnwindDelDtor
___CxxCallUnwindDtor
__CxxFrameHandler3
__CxxFrameHandler4
_CxxThrowException
c@y1VRT@
CyanDefaultLevel81
CyanStep81
cyBottomHeight
CY	i[UjQ*
"CYKSaU_
CypriotSyllabary
cyrbreve
cyrBreve
Cyrillic
CyrillicSupplement
cyTopHeight
:";;;d;|;
--------D
d02a69b43bef6371535f83dc6e6ea0a9992968ea5df6fc5633849099a355cf5fc2a1313c262b881da17e73211ac19dcb5cf26cc3df24b3acb8902324e2cce03a
d09bd06aa3566b55134452df4b51026a1f2f97648ebd9952e9dfdb2a1f53784da5500373caa74a35b6243476715e5708b11143cabd0b447b3eccb3609733fc52
d09bd06aa3566b55134452df4b51026a1f2f97648efd7b5bb5630aba5329d4c09cf2a9528af7b18bf3ba42888d1852ee5d20daf3618605bb9ce197d2f7281212
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff0900060000000000000000000000010000000100000000000000001000000200000001000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
D0H0L0P0
D0N0g0p0z0
D"17kG!46
d199099f91040bef11bef49eb20416e8e08fcff8f524663122a6443f8d044a919ac5a17f2c630bfd68832872e006d8b6e3730ea9c605bcbf7e61119ec67c2d89
D(@(:(2(0(((
;d22Vt::N
;d24k[!40d
!d2A	!rdy
D2D1CreateFactory
d2d1.dll
D2D1MakeRotateMatrix
D2DDeviceContext changed within the drawing context
D2ecruoSyrtemoeGI.scihparG.swodniW
D2erutxeT.scihparG.krowemarF.anX.tfosorciM
'!d2HR	f
d2l2t2|2
D2tegraTredneR.scihparG.krowemarF.anX.tfosorciM
d398af2571687c182716f094313a60dc6985876a2ec3ccb3751ab927e76b13f714a10bd7dc43945a5e1eaf579063894be530c616cd2714a5124538c5d253dfb1
D3CEV.srosneS.seciveD.tfosorciM
D3D11CreateDevice
d3d11.dll
d3d12.dll
D3D_AIL_DISABLEWd2
D3D_AIL_NOT_SUPPORTEDWWW
D3D_APPLICALTION_OPTIMAL_MODE_SET_FAILED
D3D_GET_FAILEDWW
D3DKMTCheckVidPnExclusiveOwnership
D3DKMTCloseAdapter
D3DKMTCreateDevice
D3DKMTDestroyDevice
D3DKMTEnumAdapters2
D3DKMTEscape
D3DKMTGetDisplayModeList
D3DKMTNetDispQueryMiracastDisplayDeviceSupport
D3DKMTNetDispStopMiracastDisplayDevice
D3DKMTOpenAdapterFromDeviceName
D3DKMTOpenAdapterFromGdiDisplayName
D3DKMTOpenAdapterFromLuid
D3DKMTPollDisplayChildren
D3DKMTQueryAdapterInfo
D3DKMTSetProcessSchedulingPriorityClass
D3D_SET_FAILEDWW
D3erutxeT.scihparG.krowemarF.anX.tfosorciM
	!d3fE!rdc
d3h3l3p3
D3ledoMpaMI.spaM.slortnoC.lmaX.IU.swodniW
D3ledoMpaM.spaM.slortnoC.lmaX.IU.swodniW
D3mrofsnarT.D3aideM.aideM.lmaX.IU.swodniW
D3mrofsnarTetisopmoC.D3aideM.aideM.lmaX.IU.swodniW
D3mrofsnarTetisopmoCI.D3aideM.aideM.lmaX.IU.swodniW
D3mrofsnarTevitcepsreP.D3aideM.aideM.lmaX.IU.swodniW
D3mrofsnarTevitcepsrePI.D3aideM.aideM.lmaX.IU.swodniW
D3mrofsnarTI.D3aideM.aideM.lmaX.IU.swodniW
D3tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
D3tnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
D3xirtaM.D3aideM.aideM.lmaX.IU.swodniW
d401c07d57f9c601d4010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
;d46t3#46a
D!55*b!55
*D5C5e9d9?H@H
D|5cdF:i
d5e5NMLM8.8.
D5 F:jgL
d5!jC5QV"
D60BE3ED04C52C46B772D18018EE2FC4
'd6WT"@o
d701005e8f4452b1d7010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
d701e056429883afd7010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000
D81uUL9r
d8D8d7n)
D8EpueD8EH
D8f	u(E3
D8f	u*E3
D8g	u7E3
D8(HXt5f
D8IDthH;
D8i!u!9A
D	8J9D	pM
D8K|t.L9
@D8motsH
D8m#u	D8
d!92v-gyI
D9A u)eH
D9c8t!ff
@D9edu.H
D9mx|	D9
D9odtrD9oHt
d[9prE#T@
D9s4v8ff
D9SXtVD8
D9:uND9z
?#?D?a?|?
dacl_tests.cpp
DaD9IzTy
daemon_init
    daemon                      Runs in background and monitor devices as a daemon process.
dAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
"dAf231m
:DA;F8"x
DafCloseAssociationContext
DafCreateAssociationContext
dafdce38e8bfcadb185879963e725b807935af7bff050000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468656d652f
DafSelectCeremony
DafStartDeviceStatusNotification
DafStartFinalize
DafStartRemoveAssociation
DafStartWriteCeremonyData
daggerdbl
DailyTrigger
dAlaititsretnI.IU.TRniW.gnisitrevdA.tfosorciM
DALRecord
DangerousGetHandle
daPDdaPemaG.tupnI.krowemarF.anX.tfosorciM
dapemaGI.tupnI.gnimaG.swodniW
dapemaG.tupnI.gnimaG.swodniW
daPemaG.tupnI.krowemarF.anX.tfosorciM
DAPEMAG_TUPNIX.tupnI.krowemarF.anX.tfosorciM
D;a r|H;
dasHost.pdb
*dAspectRatioW
dataArray
data-ascii
DataBank_LoadFileRepos
DataBank_LoadSpecifiedRepos
DataBank_LoadStaticRepos
DataBank_RollbackRepos
Database
DatabaseCache.Add
DatabaseCache.Get
Database.Checkpoint
DatabaseCompareW
DatabaseConnection
databaseId
Database not specified with the database path flag
DatabasePtr
data-binary
_dataBlob
DATA_BLOB*      pDataOut
DATA_BLOB*      pDataOut            
_dataBlobSize
Data compression (zlib) failed.
Data conn was not available immediately
DataContext
DataContextChangedEventArgs
DataContextChangedEventHandler
DataContextElementBase
!DataContext.TotalProgressBarCount
DataContractAttribute
DataContractSerializer
Data decoding (rle) failed.
Data decompression (zlib) failed.
datadirectories.cpp
datadirectories.h
datadirectoriesmock.cpp
datadirectoriesmock.h
datadirectoriestests.cpp
datadirectoriestests.h
datadirectoriesutilities.cpp
datadirectoriesutilities.h
data error
data_errors
DataExchangeHost.pdb
dataFlow
DataFormat
datagram.cpp
datagram.h
data has no type
Data item unsupported.
_dataLength
dataLength
DataMemberAttribute
DataOrganization
datapagesize
DataPoint
DataPointCollection
DataPointCustomProperties
DataPointer
datapointlogger.cpp
datapointlogger.h
_dataPtr
data-raw
DataReader
datareader.hpp
datareadertests.cpp
DataRedundancy
datarequest.cpp
datarequest.h
DataRetentionDays
dataretriever.cpp
dataretriever.h
dataretrievertests.cpp
_dataSize
Datasource
DataSourceUpdateMode
DataStoreCacheDumpTool.pdb
data to URI
datatype
dataTypeCount
datatypeLibrary
data-urlencode
DataUsageLiveTileTask.pdb
DataVault
Datavault path:
DataVault_ValidateHash
Data verify mismatch found.
dataVersion
DataWidth
dataWindow
DateCreatedW
DateLastAccessed@
DateLastModified@
DateModifiedSearchFilterCount
datetime
dateTime
DateTime
DATETIME
DateTime.cpp
DateTimeIntervalType
dateTime is of an unknown type
DateTimeKind
DateTimeOffset
Dax3DapControl.dll
DAXSSID.dll
Day of month is not valid for year
Day of month value is out of range 1..31
Day of year value is out of range 1..366
daysSinceFirstLogonOnCurrentInstallation
daysSinceScoobeLastCompleted
daysSinceScoobeLastShown
D;B4|mIc
dBB0_27*
dBB0_27	J
dBB0_27zz
dBB0_316
dBB0_35V
#dBB0_40
dBB0_52I
dBB0_54.a
]dBB0_65
dBB0_75O
	dBB1_80
dBB2_62e
DB_CONFIGURATION_PARAMETERS_MISSING
DB_CONFIGURATION_PARAMETERS_PARSE_ERROR
DB_CONNECTION_ERROR
DB_CONNECTION_NOT_CONFIGURED
DB_CONNECTION_PARAMETERS_NOT_SPECIFIED
DbDkirCo
DbDownloadCallbackActivity
dbe_ecc_errors
	D	B	e	f	
DB_EMPTY_EXECUTABLE_LOCATION
DB_ENTRY_NOT_FOUND
DB_GAME_NOT_FOUND
dbgeng.dll
DbgLoadImageSymbols
 DBGNODEMUX 
DbgPrint
DbgPrintEx
DbgPrompt
D	BhD	AhH
D;B |	I;
DB_INCORRECT_CONFIGURATION_PARAMETERS
DbInstaller command line is
DbInstaller exited with code
DbInstaller path is
dblgrave
dblGrave
DBMDDDMDg
DB_MISSING_AGSGAMEAVAILABLEIGT_RECORD
DB_MISSING_AGSGAMEAVAILABLEPROFILE_RECORD
DB_MISSING_AGSGAMEDETECTION_RECORD
DB_MISSING_CACHELOCATION_RECORD
DB_MISSING_GAME_AGS_STATUS_RECORD
DB_MISSING_MASTER_JSON
DB_NO_ACTIVE_PROFILE
DB_NO_CONTENT
DB_OPERATION_EXCEPTION
DB_TABLES_COMPATIBILITY_ISSUE
DBT_DEVICEARRIVAL
DBT_DEVICEQUERYREMOVE
DBT_DEVICEREMOVECOMPLETE
DBT_DEVTYP_DEVICEINTERFACE
DBT_DEVTYP_HANDLE
DB_UNABLE_TO_UPDATE_AGS_STATUS
DB_UNABLE_TO_UPDATE_GAME_ENTRIES
DB_UNABLE_TO_UPDATE_GAME_VERSION
Dc3SS3ffdUU6C
dcassoccreator.cpp
dcassoccreator.h
DcBdBQ(S(
dccmgripc_c.c
dccmgripc.h
dccmgripc_s.c
dccserver.cpp
dccserver.h
DccwCreateDisplayProfileAssociationList
DccwGetDisplayProfileAssociationList
DccwGetGamutSize
dccw.pdb
DccwReleaseDisplayProfileAssociationList
DccwSetDisplayProfileAssociationList
DC data corrupt.
DCGDCGDCG
	DCGDCGDCGDCG
:D:c:h:n:
d|cj:LhF
DCM Not installed OR Camera software not yet up
DCM service unavailable
dcntel.dll
DCOMCnfg.pdb
dcomdetector.cpp
dcomdetector.h
dcomdetectorut.cpp
dcomobjectenumerator.cpp
dcomobjectenumerator.h
dcomp.dll
DCompositionCreateDevice2
dContrastValueWWWp0
dcPeakPower
dcpublisher.cpp
dcpublisher.h
D!cQes]qY
dcrefresh.cpp
dcrefresh.h
dcserver.cpp
dcserver.h
dcservermgr.cpp
dcservermgr.h
DCT coefficient out of range
dctypecreator.cpp
dctypecreator.h
dcutils.cpp
dcutils.h
dcutils_tests.cpp
#:*:*d*d*""""
    D D  
d d0d1d.d
D D0D1D.D
d@d0d8d6d
D@D0D8D6D
DD3Fc4DDfdDCfC3
d@dAd8d:d
D@DAD8D:D
d'	Dd237B
ddd37871e99dd1357f8a20c4c2765d19704104dc1dd4336b2e085c861589ac8cbf9dc294a75df3364ac750368ee82a46794531937906d7a9bca0a3df0a1b186f
DDDCfCDDfdD6c4D#33333333ffdUUUUTDDDDf3DDfdDCf3D33333S333fffUUUU
 D DDDDD
DD DDDD   
 D DDDDDD 
 DDDDDDD
D DDDDDD
DDDDDDD@
DDDDDDD2
DDDDDDDD
D DDDDDDDD  
DDDDDDDDD
DDDDDDDDD 
DDDDDDDDD@
 DDDDDDDDDD
DDDDDDDDDD
DDDDDDDDDD@
 DDDDDDDDDD D
 DDDDDDDDDDD
DDDDDDDDDDD   
DDDDDDDDDDD@
 DDDDDDDDDDDDD
 DDDDDDDDDDDDD 
D	D	D	D	D	D	D	D	D	D	D	D	D	D	D
DDDDDDDDDDDDDDD@
DDDDDDDDDDDDDDDD@
DDDDDDDDDDDGpw
DDDDDDDDDDDOp
 DDDDDDDDDMDD 
DDDDDDDH
DDDDDDDI
DDDDDDDO
DDDDDDDQDGD 
 DDDDDD m
DDDDDfffDD4FdDDDFff3
DDDDDGDD
DDDDDLwx
 DDDDDMDg
DDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDD 
dddd[[UUUN
DDF4DffdDDDC"""4fffffffffd
dD:GL[GE
:D:_:d:i:
DDie folgenden Dateien oder Anwendungen konnten nicht gefunden werden
dDISABLE_C3SR_RMPMWWW
          d: Display tx and rx data payload in KiB
; ;D;d;l;t;|;
? ?(?D?d?l?t?|?
DDMMMMMDg
DDMMMMM m
DDMMMMMMg
d*d*MQKQ
DDNSPeriodicUpdateInterval
DDNSUpdateByDHCPServerEnabled
DDNSUpdateEnabled
DDODiag.pdb
D)D)@PAP
d@dPdQdNd
D@DPDQDND
d@dPdXdVd
D@DPDXDVD
DDQMMQMMg
DDQQQQMDg
ddRH!SRaj
D D R R z | 
dd]]XXdd
.D:E:a9b9
DeactivateActCtx
deactivation key does not match the product for the installed upgrade
deactivation key is expired
deactivation key is not valid for this platform
DeallocateBlock
de_amount
DeassertionEvent
DebugBreak
DEBUG_BREAKPOINT
DEBUG_BREAKPOINT_V3
debug_buffers
DebugCreate
DebugDumpConfiguration
?DebugDump@OBJECT@@UEBAXE@Z
DebugEvent
debug flag mask
.debug_frame
DebuggableAttribute
debugger
Debugger
DEBUGGER
DebuggerBrowsableAttribute
DebuggerBrowsableState
Debugger detected!
DebuggerHiddenAttribute
DebuggerNonUserCodeAttribute
DebuggerStepThroughAttribute
DebuggingModes
DebugJoin unattend directive is being ignored due to not running under a Kernel debugger session
.debug_line
DEBUGLOG
debuglvl
DebugMessage
DEBUG Message(4)
DebugMsg
DebugPrint_Event
debugset
debugshow
debugshow                      Show Debug Status
December
decimal 
Deci-Percent
Deciseconds
DeclaredConfiguration.dll
decltype(auto)
decodeModeSharedExponent
DecodeOneMJPGFrameSecure raised exception
_decode_pointer
DecodePointer
decoder_count
Decoder count
decoder_util
   (Decodes the dump.zip dump file.)
DeConfigure
DeConfigureMethod
DecoratedNameAttribute
?_Decref@facet@locale@std@@UEAAPEAV_Facet_base@3@XZ
Decrement
DecrementRefCnt
DecryptData
DecryptFileW
DecryptMessage
DECSCUSR
    DEC Utilization Samples
Dedicated
Dedicated to compute tasksE
Dedicate to graphics-only tasks
de_ducking
DedupTracingEventClass_DedupTracingEventTypeClass
deeFnoitacidnySI.noitacidnyS.beW.swodniW
deeFnoitacidnyS.noitacidnyS.beW.swodniW
de_enable
Deep data provided to CompositeDeepScanLine has a different displayWindow to previously provided data
Deep data provided to CompositeDeepScanLine is missing an alpha channel
Deep data provided to CompositeDeepScanLine is missing a Z channel
deepImageState
deepscanline
Deep scanline data corrupt at chunk 
Deep scanline sampleCount data corrupt at chunk 
deepSsuBc2I.c2I.seciveD.swodniW
deepSsuBc2IredivorP.redivorP.c2I.seciveD.swodniW
deeptile
 (default: 
 (default: "")
[default] 
default: 
?DefaultAction@Element@DirectUI@@UEAAJXZ
?DefaultAction@TouchButton@DirectUI@@UEAAJXZ
    Default Applications Clocks
DefaultApplicationSettings
DefaultAssistantId
DefaultBlockSize
defaultButton
DefaultCommunityString
DefaultConfigurations
DefaultConfigurationsControl_v2
DefaultConnectionSettings
DefaultConsoleForegroundColor
_defaultDevice
DefaultDllImportSearchPathsAttribute
DefaultEndpointChanged
DefaultExceptionHandler
Default frequency at which applications will be running at. Application clocks can be changed with [-ac | --applications-clocks] switches. Application clocks can be set to default using [-rac | --reset-applications-clocks] switches.
Default frequency of applications graphics (shader) clock.
Default frequency of applications memory clock.
DefaultGainOffsets
Default Gateway: 
DefaultGateway
defaultInstance
         (Default is to try all actions for a primitive until one succeeds)
         (Default is to try all actions for a primitive until on succeeds)
DEFAULT_KEY_LEADING_PATTERN
DefaultLauncherLayoutSet
DefaultLogFileName
DefaultLowLatencyWake
DefaultMemberAttribute
defaultns
DefaultOnsetLengthInMilliseconds
default_power_limit
Default Power Limit
DefaultPpConfigDirPath
_defaultPreprocessingValue
default_profile
DefaultRouter
DefaultScreen
DefaultSettingValueAttribute
defaultSidebearingX
defaultSidebearingY
defaultString
DefaultTile
DefaultUICulture
_defaultValue
Default values will be used.
DefaultW
defaultWidthX
defaultWidthY
DefDlgProcW
deferring until reboot
DeferWindowPos
DefFrameProcW
defined more than once.
DefineDosDeviceW
define has no children
define has no name
#define tex2Dgather0 tex2DgatherR
#define tex2Dgather1 tex2DgatherG
#define tex2Dgather2 tex2DgatherB
#define tex2Dgather3 tex2DgatherA
DefiningRole
definition description 
definition list 
definition term 
 deflate 1.2.11.f Copyright 1995-2016 Jean-loup Gailly and Mark Adler 
? deflate 1.2.11.f Copyright 1995-2016 Jean-loup Gailly and Mark Adler 
 deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly 
 deflate 1.2.8 Copyright 1995-2013 Jean-loup Gailly and Mark Adler 
DefMDIChildProcW
DefragCLIEnd
DefragCLIStart
defrag.pdb
DefragUIEnd
DefragUIStart
DefSubclassProc
DefWindowProcA
DefWindowProcW
_degenerate
degenerateLinesRasterized
degenerateTrianglesRasterized
degnahCnoitcelloCyfitoNI.poretnI.lmaX.IU.swodniW
degnahCytreporPyfitoNI.ataD.lmaX.IU.swodniW
degrees(
Degrees C
degrevnoC.spaM.enohP.tfosorciM
dehydrator.h
deifinU.spaM.enohP.tfosorciM
deimpersonatortests.cpp
?DeInit@CmLogFile@@QEAAJXZ
Deinitialize
DeinitializeForRequests
DeInitTelemetry
dekovnInOroivaheBepiwS.slortnoC.lmaX.IU.swodniW
Delaware1
Delayed re-enable of sensors
Delaying run because of recent first logon
DelayLoadFailureHook
delayPicking
delayTime
                                        delay - Time interval in ms. (Default 
DelayUntilReboot
delbanEnoitagivaNredluohSweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
[DelCmstp]
Delegate
DELEGATE
DELEGATE 
Delegate Action
delegatePublic
delegateSystem
delegateType
delegateURI
delegation
 delete[]
DeleteAce
DeleteAllActions
DeleteAllImcScheduledTasks
DeleteAllITProfiles
?DeleteAllMembers@ARRAY@@UEAAEXZ
DeleteAllUserProfiles
DeleteAuthorizedEnrollments
DeleteBoundaryDescriptor
deleteBytes
DeleteCertWriteErrorCodeAndStatus
DeleteChallengeFromRegistry
?DeleteChAt@WSTRING@@QEAAXKK@Z
DeleteCriticalSection
 deleted
DeleteDC
Deleted MJPEG context
deleted text 
DeleteEnhMetaFile
?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@00@Z
?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@0@Z
?DeleteEntry@AUTOREG@@SAEPEBVWSTRING@@E@Z
DeleteFileA
DeleteFileTransactedW
DeleteFileW
DeleteFileWWL
DeleteFolder
DeleteFolderL
DeleteFolderRecurse
DeleteFolderRecursively
DeleteFormatCorruptionRecordContext
DELETE FROM Activation WHERE (_ActivationID NOT IN (SELECT Activation FROM ActivationUser)) AND (_ActivationID NOT IN (SELECT Activation FROM Application)) AND (_ActivationID NOT IN (SELECT Activation FROM ApplicationExtension)) AND (_ActivationID NOT IN (SELECT Activation FROM PackageExtension));
DELETE FROM AppInstaller WHERE (_AppInstallerID NOT IN (SELECT AppInstaller FROM PackageAppInstaller));
DELETE FROM ApplicationIdentity WHERE (ApplicationUserModelId NOT IN (SELECT ApplicationUserModelId FROM Application)) AND (_ApplicationIdentityID NOT IN (SELECT ApplicationIdentity FROM AppExecutionAliasUser)) AND (_ApplicationIdentityID NOT IN (SELECT ApplicationIdentity FROM PrimaryTileUser)) AND (_ApplicationIdentityID NOT IN (SELECT ApplicationIdentity FROM SRJournal)) AND (_ApplicationIdentityID NOT IN (SELECT ApplicationIdentity FROM SRJournalArchive)) AND (_ApplicationIdentityID NOT IN (SELECT ApplicationIdentity FROM SecondaryTileUser));
DELETE FROM Enterprise WHERE (_EnterpriseID NOT IN (SELECT Enterprise FROM Package));
DELETE FROM PackageFamily WHERE (_PackageFamilyID NOT IN (SELECT PackageFamily FROM ConnectedSetPackageFamily)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM DynamicAppUriHandlerGroup)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM EndOfLifePackage)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM Package)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM PackageFamilyPolicy)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM PackageFamilyUser)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM PackageIdentity)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM ProvisionedPackageExclude)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM SRJournal)) AND (_PackageFamilyID NOT IN (SELECT PackageFamily FROM SRJournalArchive));
DELETE FROM PackageIdentity WHERE (PackageFullName NOT IN (SELECT PackageFullName FROM Package)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM DeploymentHistory)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM PackageMachineStatus)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM PackageSuperceded)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM PackageUserStatus)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM ProvisionedPackage)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM ProvisionedPackageDeleted)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM SRJournal)) AND (_PackageIdentityID NOT IN (SELECT PackageIdentity FROM SRJournalArchive));
DELETE FROM SecondaryTile WHERE SecondaryTile._SecondaryTileID NOT IN (SELECT SecondaryTile FROM SecondaryTileUser);
DELETE FROM User WHERE (_UserID NOT IN (SELECT User FROM ActivationUser)) AND (_UserID NOT IN (SELECT User FROM AppExecutionAliasUser)) AND (_UserID NOT IN (SELECT User FROM AppxExtension)) AND (_UserID NOT IN (SELECT User FROM CustomInstallProcessUserStatus)) AND (_UserID NOT IN (SELECT User FROM CustomInstallWork)) AND (_UserID NOT IN (SELECT User FROM DependencyGraph)) AND (_UserID NOT IN (SELECT User FROM DeploymentHistory)) AND (_UserID NOT IN (SELECT User FROM DynamicAppUriHandlerGroup)) AND (_UserID NOT IN (SELECT User FROM MrtUserPri)) AND (_UserID NOT IN (SELECT User FROM PackageExternalLocation)) AND (_UserID NOT IN (SELECT User FROM PackageFamilyPolicy)) AND (_UserID NOT IN (SELECT User FROM PackageFamilyUser)) AND (_UserID NOT IN (SELECT User FROM PackagePolicy)) AND (_UserID NOT IN (SELECT User FROM PackageSuperceded)) AND (_UserID NOT IN (SELECT User FROM PackageUser)) AND (_UserID NOT IN (SELECT User FROM PackageUserStatus)) AND (_UserID NOT IN (SELECT User FROM PrimaryTileUser)) AND (_UserID NOT IN (SELECT User FROM PrimaryTileUserChangelog)) AND (_UserID NOT IN (SELECT User FROM ProvisionedPackageExclude)) AND (_UserID NOT IN (SELECT User FROM SRJournal)) AND (_UserID NOT IN (SELECT User FROM SRJournalArchive)) AND (_UserID NOT IN (SELECT User FROM SecondaryTileUser)) AND (_UserID NOT IN (SELECT User FROM SecondaryTileUserChangelog)) AND (_UserID NOT IN (SELECT User FROM WowDependencyGraph));
DeleteHandle
delete.hpp
DeleteImcFolders
DeleteImcRegistry
DeleteImcTimebasedScheduledTasks
DeleteImDriverFilesAndFolders
DeleteInstantOnInProgramFiles
DeleteLink
DeleteLun
DeleteMemberByNameWW
DeleteMenu
DeleteObject
DeleteOldImcEventManifestTasks
DeleteOldIMCFolder
DeleteOnCompletion
DeleteOnKill
DeleteOnRelease
-deleteOnSuccessWd
DeletePackageStateWWd
DeletePixel: Already deleted left side pixel
DeletePixel: Already deleted right side pixel
DeletePixel: Delete in middle of run
DeleteProcThreadAttributeList
DeletePwrMgrInstallShield
DeleteRecord
Deletes a package groupWWW3
DeleteScheduleTasks
DeleteScheduleTaskSubFolderRecursively
DeleteService
Deletes state for a package group in the caller
Deletes state for a package in the caller
DeleteSubKey
DeleteSubKeyTree
DeleteTarget
DeleteTask
DeleteTaskFromTaskScheduler
DeleteTimerQueue
DeleteTimerQueueEx
DeleteTimerQueueTimer
DeleteTPGroup
DeleteUmsCompletionList
DeleteUmsThreadContext
DeleteUrlCacheEntryW
DeleteUrlCacheGroup
DeleteValue
?DeleteVolumeList@BuiVolume@@SAXPEAPEAU_BuiVolumeNode@@@Z
DeleteVolumeMountPointW
deleteZipFile
Deleting Certificate
Deleting downloaded zip file
delimited
Delivery
DeliveryAuth
DeliveryMode
DeliveryModeRequestedUnavailable
DeliveryRetries
DeliveryRetryAttempts
DeliveryRetryInterval
delpartk
DelPerviousJSX
DelService
DeltaReservation
DEncodedCertBlob
_Denied to launch the following applications. Because application vendor signature is different.
denormBehaviorIndependence
DENSITY_1G
DENSITY_256M
DENSITY_2G
DENSITY_4G
DENSITY_512M
DENSITY_8G
DensityType
denyCount
Dependency
dependency created on uncaptured work in another stream
DependencyGraph
Dependency module load exception
Dependency module load failed
DependencyObject
DependencyProperty
DependencyPropertyChangedEventArgs
Dependent
DependentPackage
DeployAgent.dll
deploymentcsphelper.pdb
DeploymentHistory
deploymentMachineDataWWW
DeploymentThreadExit
DeploymentThreadStart
?deployRuntimeInfo@ConvShader@cask@@UEAAXPEBD0@Z
?deployRuntimeInfo@GemmShader@cask@@UEAAXPEBD0@Z
deploy_sa.cpp
_depot0[128];
_depot24[
d	e	p	p	
Deprecated
depthBiasClamp
depthBounds
depthClamp
depthClipControl
depthClipEnable
DequeueUmsCompletionListItems
DeregisterEventSource
DeRegisterEventW
DeRegisterNotify
DeregisterShellHookWindow
DeriveAppContainerSidFromAppContainerName
DeriveCapabilitySidsFromName
_derivedNotificationSize
 'descendant' 
descendant
 'descendant-or-self' 
descendant-or-self
		"desc": "JSON configuration file describing GPU 
DESCRIBE
_description
description
Description
Description2 here
DescriptionAttribute
description here
Descriptions
DescriptionText
DescriptionText2
descriptorA...............
descriptorB...............
descriptorBindingAccelerationStructureUpdateAfterBind
descriptorBindingInlineUniformBlockUpdateAfterBind
descriptorBindingPartiallyBound
descriptorBindingSampledImageUpdateAfterBind
descriptorBindingStorageBufferUpdateAfterBind
descriptorBindingStorageImageUpdateAfterBind
descriptorBindingStorageTexelBufferUpdateAfterBind
descriptorBindingUniformBufferUpdateAfterBind
descriptorBindingUniformTexelBufferUpdateAfterBind
descriptorBindingUpdateUnusedWhilePending
descriptorBindingVariableDescriptorCount
descriptorC0..............
descriptorC1..............
descriptorIndexing
Descriptor is not a socket
DeserializableIoctl
DeserializableSerializableIoctl
_Deserialize
Deserialize
deserializeInstallerInfo
DeserializeObject
DesignateG0
DesignateG1
DesignateG2
DesignateG3
DesignCapacity
DesignerSerializationVisibility
DesignerSerializationVisibilityAttribute
DesignVoltage
DesiredSpeed
desiredStatus
Desktop broadcast ended but we are waiting to exit until our error hides.
desktopconfig.cpp
desktopconfig.h
DesktopDeviceAdaptersFactory
DesktopDeviceHandleEventWatcher
DesktopDeviceInstanceEventWatcher
DesktopDeviceInterfaceEventWatcher
DesktopDeviceWatcher
desktopimgdownldr.pdb
Desktop: ON in S0
DesktopPreferenceChangedHandler
DESKTOPW@
DESTALPHA
DestBlend
DestBlendAlpha
DESTCOLOR
destination
Destination
destination address required
destination_address_required
_destinationBuffer
destinationDirectoryPath
[DestinationDirs]
DestinationEndTo
DESTINATION_FLA_TRANSLATION_ERROR
_destinationIndex
Destination must be a .VHDPMEM file.
_destinationOffset
destinationPath
destinationTopology
destinationType
DestinationUnreachable
DestinationW
DESTLISTTYPE
DestroyAcceleratorTable
DestroyAndRecreate
DestroyCaret
?destroy@ConvShader@cask@@UEAAXXZ
?DestroyCP@TaskPage@DirectUI@@EEAAXXZ
DestroyCursor
Destroy Domains
Destroy DSP Table
?Destroy@DUIXmlParser@DirectUI@@QEAAXXZ
?Destroy@Element@DirectUI@@QEAAJ_N@Z
DestroyEnvironmentBlock
?destroy@GemmShader@cask@@UEAAXXZ
DestroyIcon
Destroying...
?Destroy@Layout@DirectUI@@QEAAXXZ
DestroyMenu
DestroyMethod
?Destroy@NativeHWNDHost@DirectUI@@QEAAXXZ
Destroy participants in App
DestroyPhysicalMonitors
DestroyPrivateObjectSecurity
DestroyPropertySheetPage
_destroyStream
DestroyStructure
destroyWindow
DestroyWindow
?DestroyWindow@NativeHWNDHost@DirectUI@@QEAAXXZ
?Detach@CSafeElementProxy@@QEAAXXZ
DetailController
DetailDrive
DetailDriveListAssociatedLuns
DetailedStatus
DetailHbaPort
DetailHbaPortListPaths
DetailIAdapter
DetailIAdapterListPaths
DetailIPortal
DetailIPortalListPaths
DetailLun
DetailLunListAssociatedControllers
DetailLunListAssociatedPorts
DetailLunListContributingDrives
DetailLunListPaths
DetailLunVerbose
DetailLunVerboseListPlex
DetailPoolListDrive
DetailPoolListLun
DetailPort
DetailPortListAssociatedLuns
DetailPortListPaths
DetailProvider
 Details
DetailsIconsButtonClickCount
DetailStoragePool
DetailSubsystem
DetailTarget
DetailTargetListAssociatedLuns
DetailTargetListConnectedInitiators
DetailTPGroup
DetailTPGroupListAssociatedTPortals
DetailTPortal
DetailTPortalListAssociatedTPGroups
DetailTPortalListPaths
detcennocsiDresworBbeW.slortnoC.enohP.tfosorciM
detcetorPesaBhsurBnoitisopmoClmaXI.aideM.lmaX.IU.swodniW
detcetorPesaBreggirTetatSI.lmaX.IU.swodniW
detcetorPlenaPgnizilautriVI.slortnoC.lmaX.IU.swodniW
detcetorPlortnoCI.slortnoC.lmaX.IU.swodniW
detcetorPreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
detcetorPreganaMetatSlausiVI.lmaX.IU.swodniW
detcetorPthgiLlmaXI.aideM.lmaX.IU.swodniW
detected
Detected an entity reference loop
detected an error in element content
Detected invalid data size.
Detected invalid hex value.
Detected ME in recovery mode.
Detected memory leaks!
Detected wake event from sensor!
Detecting devices pending query-removal:
DetectionAlgorithm
_detectionArgs
_detectionDataDetails
detectionDataValid
_detectionEndPc
DetectionEventArgs
DetectionIPv6LocalPrefixes
_detectionStartPc
DetectionStrings
DETECTION_USED_OFFLINE_DATA
detectordefs.h
DETECTOR_DLL_NOT_FOUND
DetectorDllPathName
detectorerrors.h
DETECTOR_OK
detectorresult.h
detectorresultwriter.cpp
detectorresultwriter.h
detectorresultwriter.stub.cpp
detectorrunner.h
DE TERMINAL
determinant
determinant(
detokenizerinstance.hpp
detseuqeRsdnuoBevitcaretnItsesolCeroCI.eroC.IU.swodniW
;d-e-u'u'
Devanagari
DevCloseObjectQuery
DevContext.cpp
DevCreateObjectQueryEx
DevCreateObjectQueryFromId
devDescr
Developer
DevFindProperty
DevFreeObjectProperties
DevFreeObjects
DevGetObjectProperties
DevGetObjectPropertiesEx
DevGetObjects
--device
Device '
DeviceAccessChangedEventArgs
DeviceAccessInformation
DeviceAccessStatus
Device activation failed! Result: 0x
deviceAdapter
deviceAdaptersFactory
DeviceAddress
Device allowed to start when reboot already required.
DeviceApiData
deviceassociation.dll
Device Attached
Device Attached To Default Domain
Device Attached To Domain
Device Attached To NULL Domain
device_attributes
Device Attributes
DeviceCensus.pdb
DeviceClass
DEVICE_CLEANUP_TASK
Device closed with result: 
DeviceComparer
_deviceConfiguration
DeviceConfigured
_deviceConnectedEventName
DeviceControlError
DeviceCredentialDeployment.pdb
DeviceCredential.dll
DeviceCredentialScanDeploymentData
DeviceCredentialUpdateDeploymentData
device_data
Device Detached
DeviceDirtyFlags
Device does not exist
Device does not exist.
device doesn't have valid Grid license
Device Domain Created
Device Domain Deleted
devicedriver.cpp
devicedriver.h
devicedriver.hpp
DeviceDriverMissingException
DeviceEditor
deviceEditors
DeviceEject.pdb
device emulation mode and device execution mode cannot be mixed
deviceenroller.pdb
_deviceEnumerator
DeviceEventArgs
DeviceEventEntry
DeviceEventHandler
DeviceEventType
Device Family
Device family not supported
_deviceFullPath
DeviceGraphDestroy
DeviceGraphInitialize
DeviceGraphPause
DeviceGraphResume
DeviceGraphStart
DeviceGraphStop
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR
Device Groups
DeviceHandle
deviceid
_deviceId
deviceId
deviceID
Device id: 
Device Id
DeviceId
	Device ID
Device ID
DeviceID
 DeviceIdConnectedTo: 
Device ID (zero-based)
Device implicitly Attached
deviceIndex
DeviceIndex
deviceInfo
DeviceInfo
deviceInfoData
DeviceInfoData
DeviceInfoFlags
deviceInfoIn
DeviceInformation
DeviceInformationCollection
DeviceInformationDisplay
DeviceInformationKind
DeviceInformationKindChoice
DeviceInformationKindChoices
DeviceInformationPairing
DeviceInformationUpdate
deviceInfoSet
DeviceInfoSet
Device info statics are not available
deviceInfoUpdate
DEVICE_INIT_TASK
DeviceInstall
DeviceInstalled
DeviceInstallFallback
[Device Install Log]
Device install process timeout exceeded.
DeviceInstanceId
DeviceInstanceIdSize
deviceInterface
deviceInterfaceData
DeviceInterfaceData
deviceInterfaceDetailData
deviceInterfaceDetailDataSize
DeviceInterfaceGuid
DeviceIoControl
deviceio.cpp
Device is already installed.
device kernel image is invalid
DeviceLicenseRequestReceived
DeviceLicensingStatus
DeviceLocation
deviceLUID
deviceLUIDValid
device_memory
Device Memory
deviceMemoryReport
  DEVICE MODIFICATION OPTIONS:
 Device Monitoring:
deviceName
device_name_mapper.cpp
device_name_mapper.h
device_name_mapper_test.cpp
Device needs reboot.
Device needs reinstall.
Device needs reinstall to reset driver.
Device needs reinstall to restore last driver.
deviceNodeMask
Device no longer needs reinstall.
DeviceNotFound
DEVICE_NOT_FOUND
DEVICE_NOTIFY_ALL_INTERFACE_CLASSES
DEVICE_NOTIFY_SERVICE_HANDLE
device not ready
Device Not Ready
DEVICE_NOT_READY
Device_OperatingSystem
device or resource busy
Device_OSInformation
DevicePairingProtectionLevel
DevicePairingWizardAppRunActivity
DevicePairingWizard.pdb
devicePasswordlessVersion
DevicePath
DevicePos
Device post-install completed.
DevicePower
DevicePriority
Device Properties and Extensions
DeviceProperties.pdb
DevicePropertiesW
device_PropertyChanged
DeviceQPC
_deviceRejectedSL4EventName
Device requires reboot before it can be started.
Device requires reboot to complete installation.
Device requires reboot to complete uninstallation.
device_runtime_api.hP
device_runtime_api.hQ
Devices: 
Devices count: 
_deviceSecurityLevelMismatch
DeviceSelectorChoices
DeviceSelectorInfo
DeviceSelectTiming
device-side assert triggered
_devicesLeft
DeviceStack
_deviceState
DeviceStateChanged
DeviceStateChangedEventArgs
DeviceStateChangedEventHandler
deviceStatsCollectValAdd failed
deviceStatsInit failed
Device Support Package(DSP):                  
Device Support Packages
_deviceType
deviceType
	DeviceType: 
DeviceType
DeviceUtility
deviceUUID
DeviceWatcherThread
DEVID_MISMATCH
devinv.dll
devirtualizer.cpp
devirtualizer_errors.h
devirtualizer.h
devirtualizer_interface.cpp
devirtualizer_interface.h
devirtualizer_ut.cpp
DevliveryToUnusable
_devName
DevObjCreateDeviceInfoList
DevObjDeleteDevice
DevObjDestroyDeviceInfoList
DEVOBJ.dll
DevObjEnumDeviceInfo
DevObjEnumDeviceInterfaces
DevObjGetClassDevs
DevObjGetDeviceInstanceId
DevObjGetDeviceInterfaceDetail
DevObjGetDeviceProperty
DevObjGetDeviceRegistryProperty
DevObjOpenDeviceInfo
DevObjOpenDeviceInterface
DevObjOpenDevRegKey
DevObjRegisterDeviceInfo
DevObjRestartDevices
DevObjSetDeviceProperty
DevObjUninstallDevice
De volgende toepassingen mogen niet worden gestart. Omdat de oorspronkelijke bestanden zijn vervangen door ongeoorloofde toepassingen.
DevRtlCloseTextLogSection
DevRtlCreateTextLogSectionW
DEVRTL.dll
DevRtlGetThreadLogToken
DevRtlSetThreadLogToken
DevRtlWriteTextLog
DevRtlWriteTextLogError
"?*?*D)E)V(V(u8t8E;E;!A A
D|eY	;K!
df1Rr9BzwXG
d*f2h@fa
DF4FfdDC"""
DFcDDffDDC
DFDFfBfB
DFDWiz.pdb
dffhfhHOhffffdGhfffdfddddfgjkl
D	F	H	G	I
Dfmad.lo2
dfma.rn!
dfrgui.pdb
DFr"V"SF
DfStartTracing
DfStopTracing
|Dfz"W"F
DgAfAHFGFiDiD5A3A
dGAMMA_LUT_TYPE_ABSOLUTEW
DgDgDxByB
D-GetProvisioningTlsModeWW
DGFXCORE
Dgrad1x1
Dgrad1x1f
dGW4ek)J
DH9Q(wFH
DHCHHAHA
DHCP Enabled: 
DHCPEnabled
DHCPv6ConfigurationTimeout
|DHJKo?_
:D:H:L:P:T:X:y:
dh(pub_key)
dhpublicnumber
d?h?p?x?
DhqZ9_4j
dH)Trc28#
;.;D;];i;
DiagnosisPath
DiagnosticFlags
DiagnosticsHub.StandardCollector.Service.pdb
DIAK.scitnameS.redniBemitnuR.prahSC.tfosorciM
DialDevice
dialer.pdb
DialogBoxParamA
DialogBoxParamW
dialog-enhancer-amount
dialog-enhancer-ducking
dialog-enhancer-enable
DialogResult
DICD_GENERATE_ID
dictBlend can't be NULL
dictionary allocation failure
DictToString
DidAppSurviveOSUpgradeForUser
Did not obtain the LastDownloadTime from WNF_TEL_ONESETTINGS_UPDATED
Didn't expect more than one scan
Didn't get expected COM import data
DI_DO_DEFAULT
dIecafretnInpVI.npV.gnikrowteN.swodniW
dIecafretnInpV.npV.gnikrowteN.swodniW
dIeciveDhtooteulB.htooteulB.seciveD.swodniW
dIeciveDhtooteulBI.htooteulB.seciveD.swodniW
dIeciveDretemonilcnII.srosneS.seciveD.swodniW
dIeciveDretemoreleccAI.srosneS.seciveD.swodniW
dIeciveDretemoryGI.srosneS.seciveD.swodniW
dIeciveDretemotengaMI.srosneS.seciveD.swodniW
dIeciveDrosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
dIeciveDrosneSnoitatneirOI.srosneS.seciveD.swodniW
dIeciveDrosneSthgiLI.srosneS.seciveD.swodniW
dIeciveDssapmoCI.srosneS.seciveD.swodniW
dIecivreSmmocfRI.mmocfR.htooteulB.seciveD.swodniW
dIecivreSmmocfR.mmocfR.htooteulB.seciveD.swodniW
DI_ECRUOS_KROWTEN.ataDresU.enohP.tfosorciM
dIegakcaPI.ledoMnoitacilppA.swodniW
dIegakcaP.ledoMnoitacilppA.swodniW
DIegasseM.srorrE.redniBemitnuR.prahSC.tfosorciM
dIelytSnoitamotuA.noitamotuA.lmaX.IU.swodniW
dIemitnuRredivorPtnemelEwaR.sreeP.noitamotuA.lmaX.IU.swodniW
dieresis
Dieresis
dieresisacute
DieresisAcute
dieresisgrave
DieresisGrave
Dieresissmall
dieresistonos
DIerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
 diferente.
 differente.
different number of member types in base
Different types of authentication methods
Diff. Map
diffsfterrors.h
difftime
DIGCF_ALLCLASSES
DIGCF_DEFAULT
DIGCF_DEVICEINTERFACE
DIGCF_PRESENT
DIGCF_PROFILE
    --digest
DIGEST-MD5
DIGEST-MD5 handshake failure (empty challenge message)
DigestPassword
DigestRealm
DigestUsername
dighashtable.cpp
dighashtable.h
DigiCert Assured ID Root CA0
"DigiCert EV Code Signing CA (SHA2)
"DigiCert EV Code Signing CA (SHA2)0
"DigiCert High Assurance EV Root CA0
DigiCert Inc1
(DigiCert SHA2 Assured ID Code Signing CA
(DigiCert SHA2 Assured ID Code Signing CA0
(DigiCert SHA2 Assured ID Timestamping CA
(DigiCert SHA2 Assured ID Timestamping CA0
DigiCert Timestamp 20210
DigiCert Timestamp 2022 - 20
DigiCert Trusted Root G40
Digital display
DIGITALPID2
[Digital Signature]
DigitalSignature
digital typeface corp
DiInstallDevice
Dilation is not supported
dimension of conditional does not match value
dImetsysbuS.gniggoL.enohP.tfosorciM
dImetsysbuS.gniggoL.poretnI.enohP.tfosorciM
DImroftalPetacifitreCDN.ydaeRyalP.noitcetorP.aideM.swodniW
DimsRoamEntry
                              D - Include Date (YYYYMMDD) in scrolling output
Dingbats
dIngiapmaChtiWppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
dIngiapmaChtiWrotalumiSppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
_dinglessModeAvailable
dInocItnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
dInoitacoLrekciP.srekciP.egarotS.swodniW
dInoitarepOhtiWrekciPnepOeliFI.srekciP.egarotS.swodniW
dINPUT_RANGE_DRIVER_LIMITEDWW
dinvalid string position
dIppAnpVI.npV.gnikrowteN.swodniW
dIppAnpV.npV.gnikrowteN.swodniW
DirClusters
DirectDrawCreateEx
DirectDrawEnumerateExW
direction
Direction
DirectionDownAverage
Directory
Directory change event is queued to update plugins after resuming from suspend
Directory change listener thread started
directorydaclmanager.hpp
directorydaclmanagertest.cpp
directory_entry::status
DirectoryExplorerFactory
directoryFlags
DirectoryInfo
directory_iterator::directory_iterator
directory list
Directory listener has not been configured.
Directory listener is already running.
Directory listener thread started.
directory not empty
Directory not empty
_directoryPath
DirectorySeparatorChar
Directory to save files in
_directoryType
: directory type not known: 
Direct PCI access is not supported on this platform
DirectSWMR
direct-tcpip
DirectXDatabaseConfigAccessError
DirectXDatabaseUpdater.pdb
dIredloFnwonK.egarotS.swodniW
dIretpadAcihpargoloH.cihpargoloH.scihparG.swodniW
dIretpadAyalpsiD.scihparG.swodniW
dirGI.slortnoC.lmaX.IU.swodniW
dirGparWdeziSelbairaVI.slortnoC.lmaX.IU.swodniW
dirGparWdeziSelbairaV.slortnoC.lmaX.IU.swodniW
dirGparWI.slortnoC.lmaX.IU.swodniW
dirGparW.slortnoC.lmaX.IU.swodniW
dirGparWsmetII.slortnoC.lmaX.IU.swodniW
dirGparWsmetI.slortnoC.lmaX.IU.swodniW
dirG.slortnoC.lmaX.IU.swodniW
DiRollbackDriver
dirResourceFile
_dirType
--disable
DisableAAA
DisableAllPrivileges
DISABLE_BIA_DPST
?DisableBreakHandling@KEYBOARD@@SAEXZ
Disable buffering of the output stream
Disable cert revocation checks (Schannel)
DisableClientControlMode
DisableContextActivity
Disable .curlrc
disabled
Disabled
Disabled*
Disabled. 
DISABLED
DisabledByGroupPolicy
 DISABLEDMAPROTECTION 
DisableDownScalingWW
DISABLEDx
DISABLEELAMDRIVERS
    --disable-eprt
disable-eprt
    --disable-epsv
disable-epsv
DISABLE_GSV_DFGT
 DISABLEGUESTSTATESCRUBBING 
 DISABLEHARDWAREMBEC 
DISABLE_INTEGRITY_CHECKS
 DISABLEIOMMUERRORS 
 DISABLEIPT 
 DISABLEMAKEROOTUNCACHEABLE 
DisableMD2andMD4
 DISABLEOPPORTUNISTICL1DCACHEFLUSH 
 DISABLEPOSTEDINTERRUPTS 
disableReason
DisableRestrictionWWd
Disable SSL session-ID reusing
 DISABLESVM 
DisableTask
Disable TCP keepalive on the connection
Disable the ALPN TLS extension
Disable the NPN TLS extension
DisableUpgradeTaskFailed
DisableWhenType
DisableWhenUSBMouse
DisableWOVfeature
Disabling catalog usage
Disabling CEM sensor events
disabling EPRT usage
Disabling fake cursor
--- Disabling output to jxr
--- Disabling output to jxr because content is SDR and HDR only jxr was requested
--- Disabling output to png
DISALBED
disallowedcert.stl
DISALLOWMMCONFIG
    --disallow-username-in-url
disallow-username-in-url
Disallow username in URL
DisbleFeature specified
	discard;
discarded
DiscCleanupActivity
Disconnect
DisconnectDriverToApplicationEventInput
Disconnected
DISCONNECTED
DisconnectedProvisionalLicense
DisconnectMultiApplicationEvent
DisconnectNamedPipe
disconnectpolling.cpp
disconnectpolling.h
--- Disconnect requested by client
DisconnectSessionWhenTimeOff
disconnecttest.cpp
disconnecttest.h
_discontinuity
_discontinuityDetected
DiscontinuityDetected
discoverVmType - transport type invalid. Aborting discovery.
Discrete Graphics Participant
discreteQueuePriorities
DIseR.secivreSrelipmoC.cisaBlausiV.tfosorciM
Disk error
Disk full or allocation exceeded
DiskIo_TypeGroup1
DiskIo_TypeGroup2
DiskIo_TypeGroup3
DiskIo_V0
DiskIo_V0_TypeGroup1
DiskIo_V1
DiskIo_V1_TypeGroup1
DiskIo_V2
DiskIo_V2_TypeGroup1
DiskIo_V2_TypeGroup2
DiskIo_V2_TypeGroup3
diskpart.pdb
diskperf.pdb
diskPriority
DiskRaid
diskraid.exe
DiskRaidOperation
diskraid.pdb
DiskSnapshot.pdb
DiskSpinDown
DiskType
DismAddCapability
DismApi.DLL
DismCliRun
DismCloseSession
dismcore.tlbWW
DismDelete
DismDisableFeature
DismEnableFeature
DismGetCapabilities
DismGetCapabilityInfo
DismGetFeatureInfo
DismGetFeatures
DismGetPackages
DismHost 1.0 Type LibraryW
DISMHOST.EXE: Dumping existing state of DismHostManager:
DISMHOST.EXE: Failed to create the dead-man watch thread. Continuing with normal execution.
DISMHOST.EXE: Failed to create the ImageSession object in the dismhost.exe process.
DISMHOST.EXE: Failed to QI the ImageSession object for IDismImageSessionPrivate.
DISMHOST.EXE: Failed to set the parent DismHostManager into the IDismImageSessionPrivate interface.
DISMHOST.EXE:     Revoking DismHost class factory.
DISMHOST.EXE: The current version of DISM cannot service this image. You must update to the latest version of DISM and try the operation again.
DISMHOST.EXE:     Unregistering proxy stubs.
DismHostLibW
DismHostManager ClassW
DismHostManagerW
dismhost.pdb
DismInitialize
dismissed
DismissToastActivity
DismOpenSession
Dism.pdb
DismRemoveCapability
DismRemovePackage
DismShutdown
DispatchCreate
dispatcher deinit has failed
dispatcher init failed
DispatcherObject
DispatcherOperation
DispatcherOperationCallback
DispatcherPriority
dispatching JHIS CLOSE_SESSION
dispatching JHIS GET_SESSION_INFO
dispatching jhis_get_sessions_count
dispatching JHIS Uninstall
DispatchMessageA
DispatchMessageAsync
DispatchMessageW
DispatchSiuf
DispatchSizeX
DispatchSizeY
DispatchSizeZ
dispdiag.pdb
DispError
--display
display_active
Display Active
DISPLAY_AUDIO_ERRORW
DisplayAutomagicFlags
display_cc
DISPLAY_CHANNEL_EXCEPTION
Display Clock Setting
DisplayConfigDetails
DisplayConfigGetDeviceInfo
DisplayConfigurationd
DISPLAY_CONFIGURATION_ERRORW
Display container service already running
Display container Service started
DISPLAY_CONTROL			Has Display Controls
DISPLAY_DATA_CHANNEL_ERRORWW
Display detailed information about supported vGPU types or vGPU types that can be created
	displayDetailsWW
DISPLAY_DPP_ERROR_CODESW
DISPLAY_DPP_GET_FAILEDWW
DISPLAY_DPP_INVALID_AMBIENT_COLOR_TEMPERATURE_VALUEW
DISPLAY_DPP_INVALID_BRIGHTNESS_VALUE
DISPLAY_DPP_INVALID_MANUAL_MODEW
DISPLAY_DPP_INVALID_VALUEWWW
DISPLAY_DPP_NOT_SUPPORTEDWWW
DISPLAY_DPP_SET_FAILEDWW
DISPLAY_ERROR_CODESW
Display error counters for a link.
Display Error Message
Display FW Version failed.
DISPLAY_GET_CONNECTED_DISPLAYS_FAILEDWWW
DISPLAY_GET_EDID_FAILEDW
Display GPU engine usage by currently active process running in the vGPU VMs
Display GPU engine usage by currently active vGPUs
DISPLAY_HDMI_BAR_INFORMATION_NOT_SUPPORTEDWW
DISPLAY_HDMI_FEATURES_ERRORW
DISPLAY_HDMI_GET_FAILEDW
DISPLAY_HDMI_IT_CONTENT_NOT_SUPPORTEDWWW
DISPLAY_HDMI_NOT_SUPPORTEDWW
DISPLAY_HDMI_PICTURE_ASPECT_RATIO_NOT_SUPPORTEDW
DISPLAY_HDMI_QUANTIZATION_RANGE_NOT_SUPPORTEDWWW
DISPLAY_HDMI_SUCCESS
Display Heads
       Display help information
Display help information
display IDs: 
DisplayIDWWW
Display information about currently running vGPUs
			display: inline;
			display: inline-block;
display:inline-block;
Display link capabilities.
Display link throughput counters for specified counter type
DisplayMessage
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@PEADZZ
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@@Z
?Display@MESSAGE@@QEAAEPEBDZZ
DisplayMessageToSpecificConsoleHandle
display_mode
Display Mode
DisplayModeDetailsWW
#DisplayModel
!DISPLAY_MODELIST_CUSTOMMODE_EXISTING_BASIC_MODEW
DISPLAY_MODELIST_CUSTOMMODE_EXISTING_DETAIL_MODE
?DISPLAY_MODELIST_CUSTOMMODE_INSUFFICIENT_MEMORYW
DISPLAY_MODELIST_CUSTOMMODE_INVALID_LFP_RRWW
DISPLAY_MODELIST_CUSTOMMODE_OUT_OF_BW_LIMITW
DISPLAY_MODELIST_DISPLAY_NOT_IN_CONFIGWW
DISPLAY_MODELIST_ERROR_CODES
DISPLAY_MODELIST_IN_CONFIGURATION_DISPLAYSARRAY_EMPTYWWW
DISPLAY_MODELIST_IN_CONFIGURATION_EXCEEDED_MAX_SUPPORTED_ACTIVE_DISPLAYS
DISPLAY_MODELIST_INTERLACED_NOT_SUPPORTEDWWW
DISPLAY_MODELIST_INVALID_DEVICE_TYPE
#DISPLAY_MODELIST_INVALID_INPUT_PARAMETER
DISPLAY_MONITOR_POWER_SET_FAILED
?DisplayMsg@MESSAGE@@QEAAEKPEBDZZ
?DisplayMsg@MESSAGE@@QEAAEKW4MESSAGE_TYPE@@KPEBDZZ
?DisplayMsg@MESSAGE@@QEAAEK@Z
_displayName
DisplayNameAttribute
_displayNameBase
_displayNamePaddingCount
_displayNamePaddings
DisplayNameW
			display: none;
DisplayOff
DisplayOnlyW@
DISPLAY_PARAMETERS_W
DisplayParametersWWWd
Display Participant
Display Partition Vendor ID failed.
Display Partition Version failed.
Display per-lane CRC error counters for a link.
DisplayPortOnly
Display port settings are not correct.
DISPLAYPOWERSAVINGTECHNOLOGY_GET_FAILEDWx
DISPLAYPOWERSAVINGTECHNOLOGY_INVALID_LEVELWW
DISPLAYPOWERSAVINGTECHNOLOGY_NOT_SUPPORTEDWWx
DISPLAYPOWERSAVINGTECHNOLOGY_SET_FAILEDWx
DISPLAYPOWERSAVINGTECHNOLOGY_SUCCESSx
DisplayRefreshRateListWWX4
DISPLAYREFRESHRATESWITCHING_ERROR_CODESWL
DISPLAYREFRESHRATESWITCHING_SET_FAILEDWWL
DISPLAYREFRESHRATESWITCHING_SUCCESSWL
 DisplayRefreshRateSwitchingWx7
Display remote device PCI bus ID and NvLink ID for a link.
Display remote node PCI bus ID for a link.
DISPLAY_S3D_DEVICE_NOT_PRIMARYWW
Displaysd
DisplaySerialNumberWX
Display specific metric. Provide comma separated
DISPLAY_STEREOSCOPIC_3D_ERRORWWW
Display supported vGPU types
DisplaySwitch.pdb
Display the full manual
Display the information about encoder sessions for currently running vGPUs
Display the information about FBC sessions for currently running vGPUs
Display the vGPU types that can currently be created
Display transfer progress as a bar
DisplayW
displayWindow
DisposeAcaDetectorDllClient
DisposeEventManager
DisposeFarfieldClient
DisposeIOCTLControl
DisposeLpalListener
DisposePpDllClient
DisposeStaticInstance
DisposeUpdateManager
DisposeWoVControl
_disposing
disposing
Disposition
DISP_SUPERVISOR_ERROR
DissociateControllersFromLun
DissociatePortsFromLun
DissociateTargetsFromLun
DIssuerCommonName
distance
distance(
Distinct
diteur de l'application est incorrecte.
dItnevE.spaM.enohP.tfosorciM
DIUGoiduAdnuorgkcaB.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
DiUninstallDevice
div.approx
???D?I?x?
dIyrarbiLnwonK.egarotS.swodniW
"!dj1Un 
?dJcJ)!)!
djoin.pdb
DjPositionXWWW
'@'D'J'S'Y'u'
:";);D;K;
d#k0*.VL
 @!D!K!K!
DKQb32 p6
DKVM_SWWWd
|d)KY.nQE
;*;?;D;L;
DL(9EIo]1
dlcolorize
dldenoiser
dleiFegasseMtnatsnItcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
dleiFegasseMtnatsnItcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dleiFnoitacoLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
dleiFnoitacoLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
DLEIFRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
dleiFtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
dleiFtcatnoCnwonK.stcatnoC.ledoMnoitacilppA.swodniW
dleiFtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dlinpainting
DllCanUnloadNow
_dllConfiguration
DllDebugObjectRPCHook
dllexporttests.cpp
DllGetActivationFactory
DllGetClassObject
DllGetDismInterfaces
DllGetVersion
dllhost.pdb
dllhst3g.pdb
DllImportAttribute
DllImportSearchPath
dllmain.cpp
DllManagerBase.cpp
_dllName
__dllonexit
_dllPath
DllRegisterServer
Dll state: 
DllUnregisterServer
DLMP partition hash and calculated hash are not the same.
                                 Dload  Upload   Total   Spent    Left  Speed
dloBI.stnemucoD.lmaX.IU.swodniW
dloB.stnemucoD.lmaX.IU.swodniW
?d@Log@UDC@@QEAAXPEBGZZ
dlohserhTataDretemodeP.srosneS.seciveD.swodniW
dlohserhTataDrosneSI.srosneS.seciveD.swodniW
dlohserhTataDrosneSytimixorP.srosneS.seciveD.swodniW
dlresolve
DL?RTAGy
DlsHttpStatusCode
dlslowmo
DlsServerResponseLength
DlsServerRetry
DlsTraceID
dlstyletransfer
? ?(?d?l?t?
dlvdenoiser
DLVideoWWWd2
dLV!ivTH
DMaxLevel 5
dmcertinst.pdb
dmcfghost.pdb
DmClientDeployment_Error
DmClientDeployment_Error_Bad_Client_Version
DmClientDeployment_Error_Bad_OS
DmClientDeployment_Error_Bad_Proc
DmClientDeployment_Error_Bad_Settings
DmClientDeployment_Error_Cab_Install
DmClientDeployment_Error_Client_Uninstall
DmClientDeployment_Error_CliXfer_Dir
DmClientDeployment_Error_Copy
DMCLIENTDEPLOYMENT_ERROR_ENFORCING_NEW_CLIENT
DMCLIENTDEPLOYMENT_ERROR_ENFORCING_OLD_CLIENT
DmClientDeployment_Error_Generic
DmClientDeployment_Error_Install_Bad_Settings
DmClientDeployment_Error_Install_Cab_Install
DmClientDeployment_Error_Installer_Dir
DmClientDeployment_Error_Install_Privileged_Certificate
DmClientDeployment_Error_Install_Start_Client
DmClientDeployment_Error_Install_Uninstall_Previous
DmClientDeployment_Error_Install_Update_Settings
DmClientDeployment_Error_Invalid_Settings
DmClientDeployment_Error_Launch_Client_Setup
DmClientDeployment_Error_No_Connection
DmClientDeployment_Error_No_RAPI
DmClientDeployment_Error_No_Status
DMCLIENTDEPLOYMENT_ERROR_PERFORMING_POST_CAB_INSTALL_STEPS
DmClientDeployment_Error_PostCommand
DmClientDeployment_Error_PreCommand
DmClientDeployment_Error_Unknown_Failure
DmClientDeployment_Error_Verify_Bad_Settings
DmClientDeployment_Error_Verify_Cab_Install
DmClientDeployment_Error_Verify_Restore_Files
DmClientDeployment_Error_Verify_Start_Client
DmClientDeployment_Error_Verify_Uninstall_Previous
DmClientDeployment_Error_Verify_Update_Settings
DmClientDeployment_Info
DmClientDeployment_Info_Install_Success
DmClientDeployment_Info_Install_Success_Certificate_Enrollment_Not_Required
DmClientDeployment_Info_Newer_Client
DmClientDeployment_Info_No_Action
DmClientDeployment_Info_Uninstall_Success
DmClientDeployment_Info_Upgrade_Success
DmClientDeployment_Info_Upgrade_Success_Certificate_Enrollment_Not_Required
DmClientDeployment_Info_Verify_Success
DmClientDeployment_Info_Verify_Success_Certificate_Enrollment_Not_Required
DmClientDeployment_Warning
DmClientDeployment_Warn_Install_Success_Cert_Failed
DmClientDeployment_Warn_Upgrade_Success_Cert_Failed
DmClientDeployment_Warn_Verify_Success_Cert_Failed
DMClient exiting immediately as it failed to create or open HKLM SIUF root registry key.
DMClient exiting immediately as SIUF is currently disabled.
DMClient exiting immediately because another instance is running.
dmclient.pdb
DMCmnUtils.dll
DMCSP_DevDetail_GetSwV
DmDeleteTask
DmDisableTask
*DMDME.F.
dmEnrollEngine.DLL
dmenterprisediagnostics.dll
DmGetAadUserToken
DmGetActiveUserSid
DmGetCurrentUserSid
DmGetUserPermission
_DMID9	u
DmImpersonate
DmInformUser
DMMA HIGH K
DMMA LOW K
DMMA PERF
 DMMMMMDg
 DMMMMM m
DMMMMQMQQWQW_________WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW__________WWWQWQQMMMM
DmNotificationBroker.pdb
DmOmaCpMo.pdb
    dmon                        Displays device stats in scrolling format.
DMOrchestratorRefresh
DMOrchestratorUpdateDocStatus
DMProcessXMLFiltered.dll
DMPushProxy.dll
DMQ_M_MMm
DMQQWM_ m
DmRaiseToastNotification
DmRaiseToastNotificationAndWait
DmRemoveToastNotification
DmRemoveToastNotificationByExecutablePath
DmRevertToSelf
DMUI_DisplayConfigurationResult
dmul.hiG
dmul.loK
dmul.loq
dmxmlhelputils.dll
dn0'dlVXT
dnaBrezilauqEI.oiduA.aideM.swodniW
dnaBrezilauqE.oiduA.aideM.swodniW
dnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
dnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
dnammoCI.tupnI.lmaX.IU.swodniW
dnammoCIUdradnatSI.tupnI.lmaX.IU.swodniW
dnammoCIUdradnatS.tupnI.lmaX.IU.swodniW
dnammoCIUI.spupoP.IU.swodniW
dnammoCIUlmaXI.tupnI.lmaX.IU.swodniW
dnammoCIUlmaX.tupnI.lmaX.IU.swodniW
dnammoCIU.spupoP.IU.swodniW
dnammoClaitnederCI.sgnitteSnoitacilppA.IU.swodniW
dnammoClaitnederC.sgnitteSnoitacilppA.IU.swodniW
dnammoCraBemaG.erutpaC.aideM.swodniW
dnammoCredivorPtnuoccAbeWI.sgnitteSnoitacilppA.IU.swodniW
dnammoCredivorPtnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
dnammoCsgnitteS.sgnitteSnoitacilppA.IU.swodniW
dnammoCtnuoccAbeWI.sgnitteSnoitacilppA.IU.swodniW
dnammoCtnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
dnammoCtuptuOetadpU.secivreSremaG.krowemarF.anX.tfosorciM
d-nccZn ('T4n1:N
DN_Class
@DNDSaaU71
dnEevitcAnoitamotuA.noitamotuA.lmaX.IU.swodniW
dnelB.scihparG.krowemarF.anX.tfosorciM
dniBepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKatadateMdemiT.eroC.aideM.swodniW
dniKbaTdraCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKcedoC.eroC.aideM.swodniW
dniKcnuFpOanU.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKcnuFpOniB.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKdeeFkraMretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
dniKdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
dniKdegnahCnoitacifitoNresU.snoitacifitoN.IU.swodniW
dniKdIecruoSyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
dniKdnammoCIUdradnatS.tupnI.lmaX.IU.swodniW
dniKdnuoStnemelE.lmaX.IU.swodniW
dniKdroceRppAcciU.srotarepOkrowteN.gnikrowteN.swodniW
dniKeciveDledoMgninraeL.gninraeLenihcaM.IA.swodniW
dniKeciveDtupnIsucoF.tupnI.lmaX.IU.swodniW
dniKecivreSscR.tahC.ledoMnoitacilppA.swodniW
dniKecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
dniKecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
dniKedoNsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
dniKegarotS.ataDresU.enohP.tfosorciM
dniKegasseMtahC.tahC.ledoMnoitacilppA.swodniW
dniKegasUrotinoMyalpsiD.yalpsiD.seciveD.swodniW
dniKegnahCeniLenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
dniKegnahCkniLtnetnoC.slortnoC.lmaX.IU.swodniW
dniKegnahCnottuBtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
dniKegnahCtseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
dniKekortSsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
dniKeludehcScnyStnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
dniKemarFnoitpecrePnwonK.redivorP.noitpecreP.seciveD.swodniW
dniKemimSegasseMliamE.liamE.ledoMnoitacilppA.swodniW
dniKenohPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKepahSrettimEedoNoiduA.oiduA.aideM.swodniW
dniKepyT.poretnI.lmaX.IU.swodniW
dniKepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKerutaeFledoMgninraeL.gninraeLenihcaM.IA.swodniW
dniKerutangiSegakcaP.ledoMnoitacilppA.swodniW
dniKerutciPtnuoccA.eliforPresU.metsyS.swodniW
dniKerutseGegdE.tupnI.IU.swodniW
dniKesnopseRegasseMliamE.liamE.ledoMnoitacilppA.swodniW
dniKesnopseRegasseMylpeRotuAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
dniKetadidnaCecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
dniKetadpUretnioP.tupnI.IU.swodniW
dniKetaDtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKeulavLkcehC.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKeulaVtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
dniKggAhtnyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKgnidaerhTnoitasrevnoCtahC.tahC.ledoMnoitacilppA.swodniW
dniKgninraWrevuenaM.spaM.secivreS.swodniW
dniKgniwarDsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
dniKgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
dniKhcaeroF.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKhctiwSrellortnoCemaG.tupnI.gnimaG.swodniW
dniKhtgneLedoceDygolobmySedocraB.ecivreSfOtnioP.seciveD.swodniW
    "##((()D(NIKIIIIIIIGCFID@
dniKkcarTaideM.eroC.aideM.swodniW
dniKkrowteNiFiW.iFiW.seciveD.swodniW
dniKksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
dniKlangiSksaTyalpsiD.eroC.yalpsiD.seciveD.swodniW
dniKlausiVsucoF.lmaX.IU.swodniW
DNIK_LAVRETNI_ELITEVIL_MP.llehS.enohP.tfosorciM
dniKlaVtsnoC.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKliamEtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKlicnetSrablooTknI.slortnoC.lmaX.IU.swodniW
dniKlicnetSretneserPknI.gniknI.tupnI.IU.swodniW
dniKmaertSaideMdeliaF.kcabyalP.aideM.swodniW
dniKmetIeueuQerotS.erotS.secivreS.swodniW
dniKmetIrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
dniKmetItahC.tahC.ledoMnoitacilppA.swodniW
dniKmetItellaW.tellaW.ledoMnoitacilppA.swodniW
dniKmetItsiLpmuJ.neercStratS.IU.swodniW
dniKmetItuoylFrablooTknI.slortnoC.lmaX.IU.swodniW
dniKmetIuneMmetsySrellortnoClaidaR.tupnI.IU.swodniW
dniKmySgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
DNIKMYS.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKnekoT.xatnyS.redniBemitnuR.prahSC.tfosorciM
dniKnoigeRelbisiVpaM.spaM.slortnoC.lmaX.IU.swodniW
dniKnoisrevnoCprahSC.redniBemitnuR.prahSC.tfosorciM
dniKnoisserpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKnoisulccOweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
dniKnoitacifitoNegasUataDrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
dniKnoitacifitoN.evitcaeR.enohP.tfosorciM
dniKnoitacifitoNnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
dniKnoitacifitoNoiduAecnadiuG.ecnadiuG.spaM.secivreS.swodniW
dniKnoitaminApaM.slortnoC.spaM.enohP.tfosorciM
dniKnoitaminApaM.spaM.slortnoC.lmaX.IU.swodniW
dniKnoitamrofnIeciveD.noitaremunE.seciveD.swodniW
dniKnoitarepOredivorPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
dniKnoitarepOredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
dniKnoitarugifnoCweiVcihpargoloH.cihpargoloH.scihparG.swodniW
dniKnoitatneserPwodniWppA.tnemeganaMwodniW.IU.swodniW
dniKnoitavitcA.noitavitcA.ledoMnoitacilppA.swodniW
dniKnoitazirohtuAmetsySetomeR.smetsySetomeR.metsyS.swodniW
dniKnoitcAtellaW.tellaW.ledoMnoitacilppA.swodniW
dniKnoitcAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
dniKnoitcennoceRiFiW.iFiW.seciveD.swodniW
dniKnoitcennoCrotinoMyalpsiD.yalpsiD.seciveD.swodniW
dniKnoitcurtsnIrevuenaMetuoR.secivreS.spaM.enohP.tfosorciM
dniKnoitsegguShcraeS.eroC.hcraeS.ledoMnoitacilppA.swodniW
dniKnosaeRhctaMtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKnwodtuhS.metsyS.swodniW
dniKoidaR.soidaR.seciveD.swodniW
dniKpetSretemodeP.srosneS.seciveD.swodniW
dniKPIkrowteNnawW.ytivitcennoC.gnikrowteN.swodniW
dniKpOanU.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKpOniB.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKppAcciU.srotarepOkrowteN.gnikrowteN.swodniW
dniKppAytiruceS.llehS.IU.swodniW
dniKpuorGmetsyStsiLpmuJ.neercStratS.IU.swodniW
dniKrebmuNenohP.ataDresU.enohP.tfosorciM
dniKrebmuNenohPdetciderP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
dniKredaeHdraCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKredaeRdraCtramS.sdraCtramS.seciveD.swodniW
dniKredloFlaicepSliamE.liamE.ledoMnoitacilppA.swodniW
dniKretliF.ataDresU.enohP.tfosorciM
dniKrevuenaMecnadiuG.ecnadiuG.spaM.secivreS.swodniW
dniKrevuenaMetuoRpaM.spaM.secivreS.swodniW
dniKrezilaitinI.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKroloCdecnavdA.yalpsiD.scihparG.swodniW
dniKrosneT.gninraeLenihcaM.IA.swodniW
dniKrotarepOegasseMtahC.tahC.ledoMnoitacilppA.swodniW
dniKrotarepO.xatnyS.redniBemitnuR.prahSC.tfosorciM
dniKrotcennoClacisyhProtinoMyalpsiD.yalpsiD.seciveD.swodniW
dniKrotpircseDrotinoMyalpsiD.yalpsiD.seciveD.swodniW
DNIKSERTSNOC.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKsetubirttAgniwarDknI.gniknI.tupnI.IU.swodniW
dniKsliateDksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
dniKsliateDtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
dniKspWiFiW.iFiW.seciveD.swodniW
dniKsseccAkrowteNeviLxobX.eviLxobX.gnikrowteN.swodniW
dniKsserddA.ataDresU.enohP.tfosorciM
dniKsserddAliamE.ataDresU.enohP.tfosorciM
dniKsserddAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
dniKsserddAwaRyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
dniKsserPnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
dniKsutatSretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
dniKsutatSrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
dniKtceffEecroFcidoireP.kcabdeeFecroF.tupnI.gnimaG.swodniW
dniKtceffEecroFnoitidnoC.kcabdeeFecroF.tupnI.gnimaG.swodniW
dniKtcejbOtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
dniKtekcoSeviLxobX.eviLxobX.gnikrowteN.swodniW
dniKtesffOecruoSxallaraP.slortnoC.lmaX.IU.swodniW
dniKtfiLllaCelballuN.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKtluseRnoitacitnehtuAnoitavitcA.tnemelEeruceS.enohP.tfosorciM
dniKtluseRnoitcAresUtellaW.tellaW.enohP.tfosorciM
dniKtluseRrevocsiDmiSE.srotarepOkrowteN.gnikrowteN.swodniW
dniKtnemnorivnEgniwodniW.tnemeganaMwodniW.IU.swodniW
dniKtnemurtsnItnemyaPenilnO.tellaW.enohP.tfosorciM
dniKtnetnoCnoitacifitoNevitpadA.snoitacifitoN.IU.swodniW
dniKtnevEdegnahCerotStahC.tahC.ledoMnoitacilppA.swodniW
dniKtnevErehctaWeciveD.noitaremunE.seciveD.swodniW
dniKtnioJdnaH.elpoeP.noitpecreP.swodniW
dniKtniopyaW.spaM.secivreS.swodniW
dniKtnuoccArentraPredivorPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
dniKtropsnarTegasseMtahC.tahC.ledoMnoitacilppA.swodniW
dniKtseuqeRsseccAdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
dniKuneMrablooTknI.slortnoC.lmaX.IU.swodniW
dniKvnoC.scitnameS.redniBemitnuR.prahSC.tfosorciM
dniKweiVetuoR.slortnoC.spaM.enohP.tfosorciM
dniKweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
dniKyaceDrettimEedoNoiduA.oiduA.aideM.swodniW
dniKyarrApmaL.sthgiL.seciveD.swodniW
dniKyciloPdemaN.seiciloP.tnemeganaM.swodniW
dniKydoBegasseMliamE.liamE.ledoMnoitacilppA.swodniW
dniKyhPiFiW.iFiW.seciveD.swodniW
dniKyreuQksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
dniKyreuQliamE.liamE.ledoMnoitacilppA.swodniW
dniKytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
dniKytreporPyalpsiDdedaoLotuA.kcabyalP.aideM.swodniW
dnn_fp16
dnn_fp16L90u
dnQualifier
dnscacheugc.pdb
dns-interface
dns-ipv4-addr
dns-ipv6-addr
DNS server addrs to use
dns-servers
dN]W5cBM
DN_With_Binary
DN_With_String
?"?-?d?n?x?
:::D:N:X:b:l:v:
?:?D?N?X?b?l?v?
;D;N;X;b;m;
dnzzqqmhcd
DoActionAndUpdateConfiguration
DoActionLogging
DoActions
DoBB0_17
DoBlend would underflow operand stack
__docbDefaultSAXHandler
docbDefaultSAXHandlerInit
DoCensusRun
do charstring blend failed in cmdBLEND
	dockPanel
DockStyle
DoCommandLoop
doconnecttest.cpp
DOCTYPE 
DOCTYPE improperly terminated
#document
document
DOCUMENT
DOCUMENT 
documentation
document base uri 
document body 
Document element not expected
DOCUMENT_FRAG
#document-fragment
document has no DOCTYPE
document head 
Document is empty
Document labelled UTF-16 but has UTF-8 content
DocumentPropertiesW
document root element 
documentstore.cpp
documentstoreenumerator.cpp
documentstoreenumerator.h
documentstoreenumeratormock.cpp
documentstoreenumeratormock.h
documentstore.h
documentstoreimpl.cpp
documentstoreimpl.h
documentstoremock.cpp
documentstoremock.h
documentstoretests.cpp
document title 
DOCUMENT_TYPE
DoDragDrop
?'?D?O?e?
|doee[w	
DoesEditBoxHaveFocus
?DoesKeyExists@CRegUtil@UDC@@SAHPEAUHKEY__@@PEBG@Z
DoesKnownPackageMatchQueryString
 does not exist
does not exist
 does not exist. Try to create key...
) does not match function return type (
) does not match variable type (
) does not support the VK_KHR_portability_subset extension.
                                Doesn't work with -u or -x flags.
DoesPackageInstallRequireReboot
DoesServiceExist
DoesUserHaveBroadcastAccount returned an error or unknown value.
dOF0!Q1I
dofilefuzzer.cpp
DoFixupAction: Illegal operation
DoH AAAA: 
DOH AAAA: 
    --doh-cert-status
doh-cert-status
    --doh-insecure
doh-insecure
dohteMdaerpStneidarG.aideM.lmaX.IU.swodniW
dohteMgnireffuBlortnoCOI.motsuC.seciveD.swodniW
dohteMhcnuaLtnegAecivreS.stsnoCderahStnegAdnuorgkcaB.enohP.tfosorciM
dohteMnoitacitnehtuAnpV.npV.gnikrowteN.swodniW
dohteMnoitarugifnoCecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
dohteMnoitarugifnoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
dohteMnoitazirohtuArevieceRtsacariM.tsacariM.aideM.swodniW
dohteMnoitcennoCiFiW.iFiW.seciveD.swodniW
dohteMnoitcetorPlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
dohteMnoitresnIkaerBaideM.kcabyalP.aideM.swodniW
dohteMpttHI.pttH.beW.swodniW
dohteMpttH.pttH.beW.swodniW
dohteMtnegA.enohP.tfosorciM
dohteMtseuqeRfG.secivreSremaG.krowemarF.anX.tfosorciM
DOHTEMYARRA.scitnameS.redniBemitnuR.prahSC.tfosorciM
Do HTTP "raw"; no transfer decoding
Do HTTPS proxy connections without verifying the proxy
Doing device matching lookup
DoingDiscardPacketWhenHotkeyEnable
dolby_enabled
DolbyEnabled
dollarinferior
dollaroldstyle
dollarsuperior
DomainedPlugin
Domain error
DOMAIN error
DomainId
Domain Name
Domain Name: 
DomainName
Domain Name Set
domainPtr is NULL
DOMAINS:
domains                                  List Active Domains For Participant
DoMaintenanceOp
DoMaintenanceOp VDS_CS_ONLINE
DoMsCtfMonitor
Done executing action get
Done getting camera temp
Done waiting for 100-continue
DoNotConfigureWovOnReferenceName
DoNothing
Do not overwrite files that already exist
Do not send any TFTP options
DonotShowMessage
Do not show the progress meter
Do not squash .. sequences in URL path
Do not switch to GET after following a 301
Do not switch to GET after following a 302
Do not switch to GET after following a 303
DoNotUpdateMicArrayGeoName
Do not wait for multiplexing (with --parallel)
Dooo'MMM
?DoParsing@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
doPdA.TRniW.derahS.gnisitrevdA.tfosorciM
DOResourceSubCategory:
DoScheduledTelemetryRun
DosDateTimeToFileTime
?DosDriveNameToNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
__doserrno
doserviceprovider.cpp
doserviceprovider.h
DoSHChangeNotify
doskey.pdb
dos por aplica
dos por aplicativos n
doSqSM:N:
DOStartRearrangedFont
dotaccent
Dotaccentsmall
dotbelowcomb
dotest.cpp
dotlessi
dotlessj
dotnetversionrelname
dotnetversionrelpath
d	ou5dCV
DoubleAnimation
            Double Bit            
Double Bit ECC
 - Double Bit ECC - The number of GPU device memory pages that have been retired due to a double bit ECC error.
?DoubleBuffered@Element@DirectUI@@QEAAX_N@Z
DoubleClickEvent
double ConvertedPercent; 
Double hyphen within comment
double literal truncated to float literal
)DoublePrecisionW 
double WipedPercent;     
DoUnInstallation
@'doUSGI
D_O[]wB5x
Downlevel server without CDO. Exiting.
DownloadAndExtractCabFunction_failureReason
DownloadAndExtractCabFunction_hResult
downloadAndRun
DownloadAppIndependentFiles
 Download compatible Apps:   
DownloadCorePackage
DownLoadDelay
DownloadFile
DownloadFile() quoting spaces will exceed buffer size.
DownloadFromOneSettings failed.
DownloadFromOneSettings got an unexpected HTTP error.
DownloadHttpFile() aborted. Could not allocate memory
DownloadImage
Downloading failed
DownloadOrUpdate
DownloadVpnFileFromUrl() aborted. Could not allocate memory
DownloadVpnFileFromUrl -- downloaded file does not seem to contain a VPN list.
DownloadVpnFileFromUrl -- VPN file download failed!
DownloadVpnFileFromUrl -- VPN file download succeeded!
DoXInflections: Non-xtra inflection point (max)
DoXInflections: Non-xtra inflection point (min)
D;oXu	;wT
DP0P0I9I9
dP|0v4sv
dp2a.lo.u32
dp4a.s32
dPAGE_FLIPING
dPaPC9D9
dpapimig.pdb
DpbIsEnabledWL
dpbstrPathWWW
:#:D:P:c:
;#;D;P;c;
?#?D?P?c?
dpf_cmem
dpf_dgcr
dpf_dgmm
dpf_disp
dpf_dptf
dpf_fgen
dpf_virt
dpf_wgig
dpf_wifi
dpf_wpkg
dpf_wwan
dpiHeightFactor
DpiScaling.pdb
       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
       DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need 
dpiWidthFactor
DP_LT_FAILURE
dppe_bright_action_execute_get
dppe_bright_action_execute_set
dppe_bright_cache_brightness
dppe_bright_get_brightness
dppe_bright_get_cached_brightness
dppe_bright_get_display_brightness
dppe_bright_get_display_brightness_for_scheme
dppe_bright_register_for_notifications
dppe_bright_set_std_brightness_for_cur_scheme
dppe_bright_set_std_brightness_for_scheme
dppe_bright_setting_change_handler
DPPE Display Brightness Control
dppe_esif_exit
dppe_esif_init
dppe_register_waiting_items
d_ppppppppppppppppppppppppppppppppppppppppppppmdc
DPqvWq!B
DPTF path:
DPTF Policy Configuration
DPTopologyNotification
DPTopologyPopup
dpuiMEStatusWd
DpxNewJobEx
dpy2x:E9:
Dq1p1R9R9
DQEQFQGQHQIQJQKQLQ
DqHu#9ghb
:):D:Q:j:z:
DQ_M_WWMg
D;q r	H;
?D[R3jip
dR@3j|N!
D"R?45q]gN58Hi
draCevitpadAI.llehS.IU.swodniW
draCtramSI.sdraCtramS.seciveD.swodniW
draCtramS.sdraCtramS.seciveD.swodniW
DragCanceled
DragDropSession
DragFinish
DragMove
DragQueryFileW
DragSourceName
DragSourceUiContext
dram_correctable
DRAM Correctable
dram_uncorrectable
DRAM Uncorrectable
draoblliBpaMI.spaM.slortnoC.lmaX.IU.swodniW
draoblliBpaM.spaM.slortnoC.lmaX.IU.swodniW
draobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
draobredaeLSG.butS.secivreSremaG.krowemarF.anX.tfosorciM
draobredaeLtsalX.secivreSremaG.krowemarF.anX.tfosorciM
draobyeK.tupnI.krowemarF.anX.tfosorciM
draobyrotSI.noitaminA.aideM.lmaX.IU.swodniW
draobyrotSnigeBI.noitaminA.aideM.lmaX.IU.swodniW
draobyrotSnigeB.noitaminA.aideM.lmaX.IU.swodniW
draobyrotS.noitaminA.aideM.lmaX.IU.swodniW
DRARAuEvE.C.C
drauG.noitagivaN.swodniW.metsyS
DrawEdge
DrawFocusRect
DrawFrameControl
DrawIcon
DrawIconEx
drawIndirectCount
drawIndirectFirstInstance
--- Drawing context is invalid
drawingView
drawLine
DrawMenuBar
DrawStateW
DrawTextA
DrawTextExW
DrawTextW
DrawThemeBackground
DrawThemeBackgroundEx
DrawThemeParentBackground
DrawThemeText
DrawThemeTextEx
DrDoMaintenanceOp
DriveExistsW
DriveLetterW
DriveMaintenanceOp
Drive not found
Drive not found in the cache
DrivePath
DriverApiInputStream
DriverApiOutputStream
DriverApiProxy_7_0
DriverApiProxy_7_1
DriverApiProxy_7_10
DriverApiProxy_7_12
DriverApiProxy_7_13
DriverApiProxy_7_14
DriverApiProxy_7_15
DriverApiProxy_7_16
DriverApiProxy_7_2
DriverApiProxy_7_3
DriverApiProxy_7_4
DriverApiProxy_7_5
DriverApiProxy_7_6
DriverApiProxy_7_7
DriverApiProxy_7_8
DriverApiProxy_7_9
DriverApiVersion
DriverApiVersion_7_2
DriverApiVersion_7_3
DriverApiVersion_7_4
DriverApiVersion_7_5
DriverApiVersion_7_6
DriverApiVersion_7_7
DRIVER_AUTOMATIC_SETTINGS_FULL_REDUCTION
DRIVER_AUTOMATIC_SETTINGS_PARTIAL_REDUCTIONW
DRIVER_CUSTOM_SETTINGS_PARTIAL_REDUCTION
DriverData
DriverDate
Driver does not need to be installed on device.
DriverEventArgs
DriverEventInfo
DriverEventInputData
DriverEventProcessor
DriverEvents
DriverEventToControlCenterEvent
DriverEventToDriverEventData
DriverEventType
DriverFileList
Driver for Wacom Components
driverID
DriverId
DRIVER_ID_AMD_OPEN_SOURCE
DRIVER_ID_AMD_PROPRIETARY
DRIVER_ID_ARM_PROPRIETARY
DRIVER_ID_BROADCOM_PROPRIETARY
DRIVER_ID_COREAVI_PROPRIETARY
DRIVER_ID_GGP_PROPRIETARY
DRIVER_ID_GOOGLE_SWIFTSHADER
DRIVER_ID_IMAGINATION_PROPRIETARY
DRIVER_ID_INTEL_OPEN_SOURCE_MESA
DRIVER_ID_INTEL_PROPRIETARY_WINDOWS
DRIVER_ID_JUICE_PROPRIETARY
DRIVER_ID_MESA_LLVMPIPE
DRIVER_ID_MESA_PANVK
DRIVER_ID_MESA_RADV
DRIVER_ID_MESA_TURNIP
DRIVER_ID_MESA_V3DV
DRIVER_ID_MESA_VENUS
DRIVER_ID_MOLTENVK
DRIVER_ID_NVIDIA_PROPRIETARY
DRIVER_ID_QUALCOMM_PROPRIETARY
DRIVER_ID_SAMSUNG_PROPRIETARY
DRIVER_ID_VERISILICON_PROPRIETARY
DriverInfName
driverInfo
DriverInfSectionName
Driver is installed with INF
Driver is not pre-configured.
Driver is signed by a trusted publisher!
driver_model
driverModel
    Driver Model
DriverModel
DriverModelChangePending
driver_model.current
driver_model.pending
DriverMultiApplicationEndPointEventData
DriverMultiApplicationEventData
DriverMultiApplicationEventId
DriverMultiApplicationInterDomainEventData
driverName
driver not available
Driver Not Loaded
Driver package catalog is valid.
Driver package certificate was successfully installed.
DriverPackageClose
Driver package contains a blocked driver file.
Driver package does not contain a catalog file. No error message will be displayed as client is running in non-interactive mode.
DriverPackageEnumConfigurationsW
DriverPackageEnumDevicesW
DriverPackageEnumDriversW
DriverPackageExtended
DriverPackageGetPropertyW
DriverPackageGetVersionInfoW
DriverPackageId
Driver Package importation is subject to policy
Driver package is considered unsigned.
Driver package is valid.
DriverPackageOpenW
Driver package signer is unknown. Assuming untrusted signer.
DriverProvider
Driver requested reboot.
driver shutting down
driversk
Drivers key does not contain value data coresponding to
Drivers key does not exists. Will not invoke setup from cache
driversk                                 List Kernel Participant Extensions
DriverStoreClose
DriverStoreConfigureW
DriverStoreDriverPackageResolveCallbackW
DriverStoreEnumDeviceDriversW
DriverStoreEnumObjectsW
DriverStoreEnumW
DriverStoreFindW
DriverStoreGetObjectPropertyW
DriverStoreOpenW
DriverStorePublishW
DriverStoreReflectW
DriverStoreSetLogContext
DriverStoreSetObjectPropertyW
DriverStoreUnconfigureW
DriverStoreUnpublishW
DriverStoreUnreflectW
DriverToApplicationEventId
DriverUpdateCount
DriverUpdated
DriverUpdateError
Driver update needs reboot.
DriverUpdatesInstall
driverUUID
driver_version
driverVersion
Driver Version
DriverVersion
DRIVERWWp0
DriveSpecWWW
DrivesWW
@DriveTypeConstWW
DriveTypeWWW
DriveWWW
@drJdhBs
drmFormatModifier
drmFormatModifierCount
drmFormatModifierPlaneCount
drmFormatModifierTilingFeatures
DRMIsWindowProtected
droceRegnahCoipG.oipG.seciveD.swodniW
droceReliF.scitnameS.redniBemitnuR.prahSC.tfosorciM
dropperHeight
Dropping Privileges: Failure
Dropping Privileges: Success
DropTargetName
DropTargetUiContext
droWknIsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
droWknIsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
droWrcOI.rcO.aideM.swodniW
droWrcO.rcO.aideM.swodniW
DrpAddObjectPropertyToList
DrpAddPathInfoToList
DrpDetailLunListAssociatedTargets
DrpDoCommandLoop
DrpGetBusTypeDisplayString
DrpGetBusTypeFromString
DrpGetDriveProperties
DrpGetDriveProperties2FromDriveProperties
DrpGetHbaPortAtIndex
DrpGetIAdapterAtIndex
DrpGetIndexForObject
DrpGetIndexForPath
DrpGetIndexForSubsystem
DrpGetInputChapType
DrpGetInputLbpType
DrpGetInputLoginType
DrpGetIpAddressString
DrpGetIPortalAtIndex
DrpGetLunCachingPolicyDisplayString
DrpGetLunFlagsDisplayString
DrpGetLunFromLunNumber
DrpGetProviderAtIndex
DrpGetSubsystemProperties
DrpGetSubsystemProperties2FromSubsystemProperties
DrpGetSupportedLunTypesDisplayString
DrpGetULongDisplayString
DrpGetVdsHintsFromVdsHints2
DrpInitialize
DrpPrintWelcomeMessage
DrpSetSelectedSubsystem
DrRefreshProvider
drsprofilename
DRSProfileName
dr#SSjdVQ
drTHJMC7
DrUnmaskLun
DRVINST.EXE: Entering debugger during PnP device installation.
DRVINST.EXE: Entering debugger while dispatching sysprep task.
DRVINST.EXE: Entering debugger while installing driver updates.
drvinst.pdb
drvqry.pdb
drvstore.dll
	Ds14605
_|ds2;;0
DSA_FIPS186_3
DSAFIPSVERSION_ENUM                     standardVersion;
DSAFIPSVERSION_ENUM     standardVersion;
DSA_HASH_ALGORITHM_SHA512
dsapp.cpp
dsa(pub_key)
dsa-with-sha1
DsBindToISTGW
DsBindWithCredW
DSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCIDSCI
DSClass_To_DNInstance
dsclient.dll
DsCrackNames
DsCrackNamesW
DSCreateSharedFileToken
DsFreeDomainControllerInfoW
DsFreeNameResultW
DSFreeString
dsftmediaresource.cpp
dsftmediaresource.h
DsGetDCName
DsGetDcNameW
DsGetDomainControllerInfoW
DsGetSiteNameW
DS_LDAP_Class_Containment
DS_LDAP_Instance_Containment
DS_LDAP_Root_Class
DsmUserTask.pdb
DSOpenSharedFile
_dspBlob
DspBlobFactory
_dspBlobFile
DspBlobPathName
DSP COMMANDS:
DspConfigurationComposer
DspPackage
dsp_path
DSP path:
_dspPreprocessingAvailable
dspquery
dspquery [name [vendorid [deviceid [enum [ptype [hid [uid]]]]]]] Query for matching DSP
dsps                                     List all loaded DSPs
DsQuerySitesByCostW
DsQuerySitesFree
DsrBeginDeviceUnjoin
DsrCanCurrentUserProvisionNgcKey
DsrCanCurrentUserResetNgcKey
dsregcmd.pdb
dsreg.dll
DSRemoveExpiredTokens
DSRemoveSharingToken
DSREPAIR
DsrFreeCxhScenarioInfo
DsrFreeJoinInfo
DsrFreeJoinInfoEx
DsrGetCurrentUserNgcProvisionStatus
DsrGetCxhScenarioInfo
DsrGetJoinInfo
DsrGetJoinInfoEx
DsrIsDeviceJoined
DsrIsWorkplaceJoined
DSROLE.dll
DsRoleFreeMemory
DsRoleGetPrimaryDomainInformation
dsservice.h
DSSSEED DSSSeed;
DSSUUjh_QRI
dstokenclean.pdb
DsUnBindW
dsuperior
    DTD is empty
DTD is NULL
DTD node is NULL
          --dtd                 Print device DTD and exit.
?#?D?T?l?
D|tO	QVOF4
DTTERM_WM
 DTUHandlerCheckApplicabilityGenericFailure
 DTUHandlerCheckApplicabilityInternalGenericFailure
 DTUHandlerCheckApplicabilityInternalSuccess
 DTUHandlerCheckApplicabilitySuccess
 DTUHandlerCheckIfCoordinatorMinApplicableVersionGenericFailure
 DTUHandlerCheckIfCoordinatorMinApplicableVersionSuccess
 DTUHandlerCommitGenericFailure
 DTUHandlerCommitSuccess
 DTUHandlerDownloadAndExtractCabAlreadyDownloaded
 DTUHandlerDownloadAndExtractCabFailure
 DTUHandlerDownloadAndExtractCabSuccess
 DTUHandlerDownloadGenericFailure
 DTUHandlerDownloadSuccess
 DTUHandlerInitializeGenericFailure
 DTUHandlerInitializeSuccess
 DTUHandlerInstallGenericFailure
 DTUHandlerInstallSuccess
DTUHandler.pdb
 DTUHandlerSetCommitReadyGenericFailure
 DTUHandlerSetCommitReadySuccess
 DTUHandlerWaitForRebootUiGenericFailure
 DTUHandlerWaitForRebootUiSuccess
dualSrcBlend
DUAL_WAVEFORM
DUAL_WAVEFORM_NO_CHECK
ductKeyFromDownlGetEditionIdFromSkuGetUpgradeProRSDSR
DUI70.dll
DuiCreateObject
?DUICreatePropertySheetPage@TaskPage@DirectUI@@QEAAJPEAUHINSTANCE__@@@Z
dul.widW
dumb_client_mocks.h
DummyAudioSnippetWriter
DummyAudioSnippetWriterFactory
DummyIOCTLControl
DummyLogger
DummyMvaService
DummyPpDllClientWrapper
--dumpall
Dump all components
DumpGetBufferSnippetsName
dump-header
Dumping all components.
Dumping nvlog.  The dump file will be in plaintext.
Dump libcurl equivalent code of this command line
--dump-module-paths
Dumps only nvlog
   (Dumps the dump.zip dump file.)
dump.zip
dumtm;D?D
	du [path]    show the structure of the subtree under path or the current node
_dupenv_s
DuplicateAppEntryInDatabase
duplicate case 
duplicate default in switch statement
duplicate global variable looked up by string name
DuplicateHandle
DuplicateHandleExport
duplicate key not added to list
DuplicateMessageID
duplicate object key
DuplicateSelectors
duplicate surface looked up by string name
duplicate texture looked up by string name
DuplicateToken
DuplicateTokenEx
DuplicateTokenHandle
duplicate usages specified
DUPLICATE_VENDOR_CERT_FOUND
duplicating namespace
duQQQCQQ
duration
Duration
DUser.dll
DUserPostEvent
dusmapi.dll
DusmEnumConnectionList
DusmFree
DusmGetConnectionListNetworkUsage
DusmQueryBackgroundRestriction
DusmQueryConnectionProperties
DusmQueryCost
DusmQueryOperatorDataPlan
DusmQuerySource
DusmQueryUserDataPlan
dusmtask.pdb
duty as fraction
Dv::0)fu
dV22tN::
dvConfig
DvConfigEntry
DvConfigIds
DvConfigType
dvdplay.pdb
DvFileDumpEnableName
Dv|KyNdn
DVMagentaMinimumWW81
DvMicArrayGeometry
DVOAPORTd
DVOCPORTd
DvPpConfig
dVrWrPmMm5-9-
DVSReal r515_00 517.13 DVS-Applications
DvStatusCode
.dv.temp
DvVerifyStatus
DvWovConfig
_dvWovConfigList
DvWovConfigurationComposer
.dvx.temp
.dvx.tmp
dwaCompressionLevel
dwAddressWWW
dwAspectScalingPreferenceWWW
dwAvailableConnectorsWWW
DwBSrM ?
dwBuildNumber
dwCertEncodingType
dwCheckPoint
dwClsCtx
dwCommonButtons
dwConnectorW
dwControlsAccepted
dwCreationDisposition
dwCreationFlags
dwCurrentState
dwDesiredAccess
dwExpectedContentTypeFlags
dwExpectedFormatTypeFlags
dwExtraDataSizeW
dwFillAttribute
dwFindFlags
dwFindType
dwFlagMask
dwFlagsAndAttributes
dwFlagsW
dwGFXS3DFormatsW
dwHelpContext
dwIgnoreCounter
dwInfoLevel
dwIoControlCode
Dw||l|||x
dwMajorVersion
dwmapi.dll
DwmApi.dll
DwmDefWindowProc
dwMessage
DwmExtendFrameIntoClientArea
DWMGhostCleanup
DWMGhostHandleGhostMsg
DWMGhostInitialize
DWMGhostSetInShutdown
DwmInitializeEngine
DwmInitializePort
dwMinorVersion
DwmInvalidateIconicBitmaps
DwmIsCompositionEnabled
DwmKernelStartup
DwmSetIconicLivePreviewBitmap
DwmSetIconicThumbnail
DwmSetWindowAttribute
dwNewLong
dwNewState
dwNotifyFilter
dwObjectType
dword2x2
dword3x3
dword4x4
DWORD   bitlen;                 
DWORD   bitlenJ;                
DWORD   bitlenP;                
DWORD   bitlenQ;                
DWORD   bitlenX;                
DWORD BufferSize
DWORD* BufferSize
DWORD                       cAccDescr;
DWORD       cAdditionalStore;
DWORD                   cAltEntry;
DWORD                cAttr;
DWORD                       cAttribute;
DWORD                   cAttribute;
DWORD               cAttribute;
DWORD                       cAuthAttr;
DWORD	cbApplicationSid;
DWORD                   cbCertEncoded;
DWORD           cbCertEncoded
DWORD cbCertEncoded
DWORD                   cbContent;
DWORD                       cbContentEncryptKey;
DWORD                   cbCrlEncoded;
DWORD cbCrlEncoded
DWORD                   cbCtlContent;
DWORD                   cbCtlEncoded;
DWORD cbCtlEncoded
DWORD           cbData;
DWORD   cbData;
DWORD cbData
DWORD   cbDigest;
DWORD                       cbEncoded;
DWORD                   cbEncoded;
DWORD       cbEncodedOcspResponse;
DWORD cbHeader;
DWORD   cbInnerString;
DWORD                       cBiometricData;
DWORD   cBits;
DWORD cbKeyUsage
DWORD            cBlob;
DWORD                       cbMaxUrlRetrievalByteCount;
DWORD cbName;
DWORD                       cBodyList;
DWORD   cbOID;                              
DWORD   cbOuterString;
DWORD cbPrivate;
DWORD cbPublic;
DWORD cbSignature
DWORD cbSignedBlob
DWORD                                           cbSize;
DWORD                                   cbSize;
DWORD                               cbSize;
DWORD                           cbSize;
DWORD                       cbSize;
DWORD                   cbSize;
DWORD                   cbSize;     
DWORD                 cbSize;
DWORD               cbSize;
DWORD            cbSize;
DWORD           cbSize;
DWORD           cbSize;         
DWORD           cbSize;           
DWORD         cbSize;
DWORD       cbSize;
DWORD   cbSize;
DWORD  cbSize;
DWORD cbSize;
DWORD           cbStruct;       
DWORD	cbUserSid;
DWORD cbValueData
DWORD                   cCapability;
DWORD                       cCertEncoded;
DWORD                   cCertPolicyElementId;
DWORD                   cCertPolicyId;
DWORD                       cCertReference;
DWORD                   cCerts;     
DWORD                       cCertStore;
DWORD                   cCertStore;
DWORD                   cChain;
DWORD cchNameString
DWORD   cCNGHashAlgid;
DWORD                       cCommunityLogo;
DWORD       cCPSURLs;
DWORD                       cCrlEncoded;
DWORD                       cCRLEntry;
DWORD                       cCTLEntry;
DWORD                   cCtlStore;
DWORD                   cDistPoint;
DWORD                 cElement;
DWORD                   cExcludedSubtree;
DWORD                       cExtension;
DWORD               cExtension;
DWORD           cExtension;
DWORD                       cFreeText;              
DWORD   cGroup;
DWORD ChangedBcd
DWORD                       cHashedUrl;
DWORD                                   cIssuer;
DWORD                   cItem;
DWORD                       cKeyAgreeKeyEncryptInfo;
DWORD                       cLogotypeAudio;
DWORD                       cLogotypeImage;
DWORD                   cLowerQualityChainContext;
DWORD                       cMsgCert;
DWORD                       cMsgCrl;
DWORD   cNoticeNumbers;
DWORD               cOID;
DWORD                       cOtherLogo;
DWORD   counter;
DWORD                           cPara;
DWORD                   cPermittedSubtree;
DWORD                       cPolicyInfo;
DWORD                       cPolicyMapping;
DWORD                       cPolicyQualifier;       
DWORD                   cProvParam;
DWORD       cRDN;
DWORD           cRDNAttr;
DWORD                                       cRecipientEncryptedKeys;
DWORD                                cRecipientEncryptedKeys;
DWORD                       cRecipients;
DWORD                       cRequestEntry;
DWORD                       cResponseEntry;
DWORD                       cSigners;
DWORD                   cSignerStore;
DWORD                   cStatement;
DWORD               cStoreProvFunc;
DWORD                   cSubtreesConstraint;
DWORD csz
DWORD                       cTaggedAttribute;
DWORD                       cTaggedContentInfo;
DWORD                       cTaggedOtherMsg;
DWORD                       cTaggedRequest;
DWORD                       cUnauthAttr;
DWORD   cUnusedBits;
DWORD   cUrl;
DWORD               cUsageIdentifier;
DWORD               cValue;
DWORD       CycleDetectionModulus;
DWORD                                   dwAcquirePrivateKeyFlags;
DWORD   dwAlgId;
DWORD dwAlgId
DWORD   dwAlgOperations;    
DWORD   dwAltNameChoice;
DWORD           dwAuthType;
DWORD                       dwBitLen;
DWORD     dwBitLen;
DWORD               dwBodyPartID;
DWORD   dwBufLen
DWORD                   dwCertEncodingType;
DWORD                       dwCertStatus;
DWORD                       dwChainFlags;
DWORD                       dwChannels;     
DWORD                   dwChoice;
DWORD   dwClass;            
DWORD                       dwCmcDataReference;
DWORD                   dwCreateFlags;
DWORD                       dwCrlReasonCode;
DWORD                   dwCtlEntryIndex;
DWORD *dwDecSize
DWORD     dwDefaultLen;
DWORD   dwDefaultLength;
DWORD   dwDistPointNameChoice;
DWORD                       dwEncryptFlags;
DWORD                   dwError;
DWORD           dwError;
DWORD   dwErrorCategory;
DWORD   dwErrorLevel;
DWORD dwErrorStatus;
DWORD       dwExclusiveFlags;
DWORD           dwExemptSeconds;
DWORD                       dwFailInfo;
DWORD                       dwFileSize;     
DWORD               dwFindFlags;
DWORD               dwFindType;
DWORD                                           dwFlags;
DWORD                       dwFlags;
DWORD                   dwFlags;
DWORD               dwFlags);
DWORD               dwFlags;
DWORD               dwFlags;                
DWORD           dwFlags
DWORD           dwFlags;
DWORD       dwFlags
DWORD       dwFlags;
DWORD   dwFlags
DWORD   dwFlags);
DWORD   dwFlags;
DWORD dwFlags
DWORD dwFlags);
DWORD                       dwFreshnessTime;    
DWORD                   dwFreshnessTime;    
DWORD           dwGroupId;
DWORD dwGroupId
DWORD                               dwHttpStatusCode;
DWORD   dwIdChoice;
DWORD dwIdentifierOrNameListCount); 
DWORD   dwIncrement;
DWORD                   dwIndex;
DWORD                   dwInfoChoice;
DWORD dwInfoStatus;
DWORD                       dwInhibitPolicyMappingSkipCerts;
DWORD                       dwInnerContentType;
DWORD   dwIssuanceUsageIndex;
DWORD                           dwKeyChoice;
DWORD                       dwKeyChoice;
DWORD                                   dwKeySpec;
DWORD                           dwKeySpec;
DWORD                       dwKeySpec;
DWORD                   dwKeySpec;
DWORD           dwKeySpec;
DWORD       dwKeySpec;
DWORD   dwKeySpec;
DWORD dwKeySpec              
DWORD   dwLegacyKeySpec;
DWORD       dwLength;
DWORD                       dwLevel;
DWORD                       dwLogotypeImageInfoChoice;
DWORD                       dwLogotypeImageResolutionChoice;
DWORD                       dwLogotypeInfoChoice;
DWORD     dwLongNameLen;
DWORD               dwMajorVersion;
DWORD           dwMaxAge;
DWORD                   dwMaximum;
DWORD     dwMaxLen;
DWORD   dwMaxLength;
DWORD                               dwMaxUrlRetrievalByteCount;
DWORD                       dwMicros;                   
DWORD                       dwMillis;                   
DWORD                   dwMinimum;
DWORD     dwMinLen;
DWORD   dwMinLength;
DWORD               dwMinorVersion;
DWORD                               dwMsgAndCertEncodingType;
DWORD                       dwMsgAndCertEncodingType;
DWORD                   dwMsgAndCertEncodingType;
DWORD               dwMsgAndCertEncodingType;
DWORD                       dwMsgEncodingType;
DWORD                   dwMsgEncodingType;
DWORD     dwNameLen;
DWORD                       dwNumBits;      
DWORD           dwObjectType;
DWORD               dwOpenEncodingType;     
DWORD               dwOpenFlags;            
DWORD                       dwOriginatorChoice;
DWORD                       dwOtherInfoChoice;
DWORD           dwParam;
DWORD                   dwPathLenConstraint;
DWORD                       dwPlayTime;     
DWORD   dwPolicyFlags;
DWORD                       dwPredefined;
DWORD               dwPriority;             
DWORD dwPriority
DWORD dwPromptFlags;
DWORD dwPropId
DWORD     dwProtocols;
DWORD                   dwProvType;
DWORD       dwProvType
DWORD           dwProxyId;
DWORD   dwQualifiers;
DWORD                   dwReason;
DWORD   dwRecipientChoice;
DWORD                           dwRecipientEncryptedKeyIndex;
DWORD                           dwRecipientIndex;
DWORD                       dwRecipientIndex;
DWORD       dwRecipientIndex;
DWORD               dwRegPolicySettings;
DWORD                       dwRequireExplicitPolicySkipCerts;
DWORD               dwReserved;
DWORD           dwReserved;
DWORD   dwReserved;
DWORD                       dwResponderIdChoice;
DWORD                       dwRevision;
DWORD                   dwRevocationFreshnessTime;    
DWORD                  dwRevocationFreshnessTime;    
DWORD                       dwRevocationResult;
DWORD               dwRootProgramQualifierFlags;
DWORD                       dwSaltLength;
DWORD                       dwSampleRate;   
DWORD                       dwSeconds;                  
DWORD                   dwSignerIndex;
DWORD               dwSignerIndex;
DWORD               dwSignerType;
DWORD dwSize;            
DWORD                       dwStatus;
DWORD               dwStoreProvFlags;
DWORD                   dwSubjectType;
DWORD                   dwSyncDeltaTime;
DWORD   dwSyncDeltaTime;
DWORD                       dwTableSize;    
DWORD               dwTaggedRequestChoice;
DWORD                       dwTrailerField;
DWORD                           dwType;
DWORD             dwType;
DWORD     dwType;
DWORD                       dwTypeOfBiometricDataChoice;
DWORD               dwUnauthAttrIndex;
DWORD                       dwUrlRetrievalTimeout;     
DWORD       dwUrlRetrievalTimeout;      
DWORD   dwUse;
DWORD       dwValue;
DWORD                   dwValueType;
DWORD               dwValueType;
DWORD                       dwVersion;
DWORD                       dwVersion;  
DWORD                       dwVersion;              
DWORD                       dwVersion;                  
DWORD                   dwVersion;
DWORD               dwVersion;
DWORD               dwVersion;                      
DWORD       dwVersion;
DWORD       dwVersion;                      
DWORD   dwVersion;
DWORD   dwWeakIndex;
DWORD dwWriteOcspFileError
DWORD                       dwXSize;        
DWORD                       dwYSize;        
DWORD           fdwChecks;
DWORD KeySpec;
DWORD LowPart;
DWORD   magic;
DWORD   magic;                  
DWORD magic;
DWORD       MaximumCachedCertificates;
DWORD *pcbComputedHash
DWORD *pcbCtlEntry
DWORD *pcbData
DWORD *pcbDecoded
DWORD *pcbElement
DWORD *pcbEncoded
DWORD *pcbEncryptedBlob
DWORD *pcbFormat
DWORD *pcbHash
DWORD *pcbInfo
DWORD *pcbOIDs);
DWORD *pcbPrivateKeyBlob                                
DWORD* pcbPrivateKeyBlob                                
DWORD* pcbPrivateKeyInfo    
DWORD   *pcbProvName
DWORD *pcbSignature
DWORD *pcbSignedAndEncryptedBlob
DWORD *pcbSignedBlob
DWORD *pcbStructInfo
DWORD   *pcbTypeName
DWORD *pcbUsage
DWORD                                           *pcbUsedSize;
DWORD *pcbValueData
DWORD *pcchDllList
DWORD *pcchString
DWORD       *pdwDataLen
DWORD   *pdwDataLen
DWORD           *pdwFailureCount);
DWORD *pdwFlags
DWORD       *pdwSigLen
DWORD *pdwSignerIndex
DWORD               pgenCounter;
DWORD   pubexp;                 
DWORD *rgcbData
DWORD   *rgcGroupEntry;
DWORD                       *rgdwBodyList;
DWORD                       *rgdwCertReference;
DWORD_SHIFT
DWORD                       Version;
dwOSVersionInfoSize
D.W _(P*
dwParamType
dwPlatformId
dwProcessId
dwProcessIDW
dwRefData
dwReservedWW
dwReservedWWX
dwResetPeriod
DWriteCreateFactory
DWrite.dll
D;w ryH;
dwServiceSpecificExitCode
dwServiceType
dwSessionId
dwShareMode
dwSizeWW
dwStateMask
dwThreadId
DwUAtCT|
dwVersionWWW
dwWaitHint
dwWin32ExitCode
DWW_WWWDg
DWWWWW_Dg
dwXCountChars
dwYCountChars
DxAbZGCs
DxDbFodUninstallReason
DxDbFodUninstallTime
DxDbHealthHeartbeat
DxDbJsonVersion
DxDbJsonVersionHR
DXDBManager
DxDbSourceType
DxDbVersion
DxDbVersionHR
DxDiagExeStart
DxDiagExeStartEvent
DxDiagExeStop
DxDiagExeStopEvent
DxDiagLaunch
dxdiag.pdb
DXGIAdapterCache.pdb
DXGIDeclareAdapterRemovalSupport
dxgi.dll
		'dxpServer.EXE'
DXPServer.pdb
dxva2.dll
d!#Y(	#0
DyBB0_40:
DYbYYYYYYYY
;D;Y;i;v;
d[yl?c]O|
DynamicAppUriHandler
DynamicAppUriHandlerGroup
DynamicAttribute
dynamic_cast
DYNAMICFRAMERATECONTROL_ERROR_CODESW
DYNAMICFRAMERATECONTROL_GET_FAILEDWW
DYNAMICFRAMERATECONTROL_NOT_SUPPORTEDWWW
DYNAMICFRAMERATECONTROL_SUCCESSW
DynamicFrameRateControlW@8
DynamicProgressFeedback
dynamicRendering
Dynamic resize is not supported
DYNAMIC_VIRTUAL_DISPLAY_SUPPORTW(
:!:D:Y:v:
dYYYYYYYYYYG
d[Zf_95]D
e056429883afd7010000000000000000000000004b00d2004a00dd00590055003300dc00d0004500da004f00c500d100cd005800d9004100d00033003500d0003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000e056429883af
E0L1206F0
E10denseBlock[4096]t
(E1132q'	
E#?115"'
E-!183e	8B
e24qF5BG
E;*#24VB
E)3"wwBud
)E4E4E)F)
*E4E4h(h(
)E4F4))))
E_4ijkpC
E4O4T4t4
E4smem[8704]
'e5f5I6H6
e6pmW#iu
E899a99:ZnnnZ
.E8D8 )!)
e964d9202112738f92a4e7abe5176ea0a9ce219a5bbd0109e19325d785b4f2a99103a7db4ec6cb259e4bd3edc688b274f60a193ecb15ce6fb5f8cdc14a92adc1
E9act_in_sh[5440]
e9f91eba16b69ac3ed6a0bc892d16327bc1b06937623575ea2201a8ae852532c592a0fc55a825e303e018002522449eac9cd0a2fd11ce277882839e3c43b2151
E'9hjq31
E9smem_err_[2304]N
E9smem_err_[4352]N
E9smem_flt_[1228
E9smem_flt_[1433
E9smem_flt_[14336]F
E9smem_flt_[1433Cj
E9smem_flt_[153
E9smem_flt_[1536]E
E9smem_flt_[28672
E9smem_flt_[3072]E
E9smem_flt_[3840]E
E9smem_flt_[7680
E9smem_flt_[7680]E
E9smem_ou
e9]URaNaAi
EA9Xhu	A
EAAAr...
EAC Disabled
EAC Enabled
EAC NAC and NAP
EAC notification
EAC Posture Signer SET
EAC Posture State Update
EAC Set Options
Eacutesmall
Eac Vendors: 
EacVendors
E?AD61wE
EA DATA. SF
EaddEventListener
eaf.tppalo
EA_IME_API
Eap3Host.pdb
EARLY_EXIT
 EARLYKDINIT 
EASConsentUIResult
EaseOfAccessDialog.pdb
EaseOfAccessToggleSwitchOn
EasingFunctionBase
easinvoker.pdb
EASPolicyManagerBrokerHost.pdb
EasShowConsentDialog
easy handle already used in multi handle
eAudioErrorCodes
e'avsGv4sCwV5gpvRW'V5w
eBB0_1:K	X63 43
eBB0_26D
eBB0_26z
 eBB0_28
Eb)c)5858
EBCDIC-US
ebuCerutxeT.scihparG.krowemarF.anX.tfosorciM
ebuCtegraTredneR.scihparG.krowemarF.anX.tfosorciM
-E"C??862
ECACzDyD
ecaFdetceteDI.sisylanAecaF.aideM.swodniW
ecaFdetceteD.sisylanAecaF.aideM.swodniW
ecaFpaMebuC.scihparG.krowemarF.anX.tfosorciM
ecafretnIbsU.bsU.seciveD.swodniW
ecafretnIbsUI.bsU.seciveD.swodniW
ecafretnIkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
ecafretnInrettaP.sreeP.noitamotuA.lmaX.IU.swodniW
ecafruSD3tceriDI.11D3tceriD.XtceriD.scihparG.swodniW
ecafruSegamIdedaoL.aideM.lmaX.IU.swodniW
ecafruSegamIdedaoLI.aideM.lmaX.IU.swodniW
ecafruSgnirahSataDenohP.ataDresU.enohP.tfosorciM
ecafruSgniwarDlautriVnoitisopmoCI.noitisopmoC.IU.swodniW
ecafruSgniwarDlautriVnoitisopmoC.noitisopmoC.IU.swodniW
ecafruSgniwarDnoitisopmoCI.noitisopmoC.IU.swodniW
ecafruSgniwarDnoitisopmoC.noitisopmoC.IU.swodniW
ecafruSlausiVhtiWrotisopmoCI.noitisopmoC.IU.swodniW
ecafruSlausiVnoitisopmoCI.noitisopmoC.IU.swodniW
ecafruSlausiVnoitisopmoC.noitisopmoC.IU.swodniW
ecafruSnoitisopmoCI.noitisopmoC.IU.swodniW
ecafruSpampiMnoitisopmoCI.noitisopmoC.IU.swodniW
ecafruSpampiMnoitisopmoC.noitisopmoC.IU.swodniW
ecafruSreyalPaideMI.kcabyalP.aideM.swodniW
ecafruSreyalPaideM.kcabyalP.aideM.swodniW
ecafruStcatnoCdenniP.stcatnoC.ledoMnoitacilppA.swodniW
ecafruSyalpsiD.eroC.yalpsiD.seciveD.swodniW
ecafruSyalpsiDI.eroC.yalpsiD.seciveD.swodniW
ecapScihpargoloH.cihpargoloH.scihparG.swodniW
ecapScihpargoloHI.cihpargoloH.scihparG.swodniW
ecapsemaNrOepyTI.scitnameS.redniBemitnuR.prahSC.tfosorciM
ECAPSEMANROEPYTRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ecapskroW.buPmotA.beW.swodniW
ecapskroWI.buPmotA.beW.swodniW
ecapSroloCnoitisopmoC.noitisopmoC.IU.swodniW
ecapSroloCtamroFeriWyalpsiD.eroC.yalpsiD.seciveD.swodniW
ecapSroloCXtceriD.XtceriD.scihparG.swodniW
ecapSroloCyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
eCapture
|                  |                      |        ECC|                       |
ECC_CURVE_ALG_ID_ENUM   dwCurveGenerationAlgId; 
ECC_CURVE_TYPE_ENUM     dwCurveType;            
EccDisabled
EccEnabled
ECC Enabled
ecc_error_count
ecc.errors
    ECC Errors
ECC Errors
ecc.errors.corrected.aggregate.cbu
ecc.errors.corrected.aggregate.device_memory
ecc.errors.corrected.aggregate.dram
ecc.errors.corrected.aggregate.l1_cache
ecc.errors.corrected.aggregate.l2_cache
ecc.errors.corrected.aggregate.register_file
ecc.errors.corrected.aggregate.sram
ecc.errors.corrected.aggregate.texture_memory
ecc.errors.corrected.aggregate.total
ecc.errors.corrected.volatile.cbu
ecc.errors.corrected.volatile.device_memory
ecc.errors.corrected.volatile.dram
ecc.errors.corrected.volatile.l1_cache
ecc.errors.corrected.volatile.l2_cache
ecc.errors.corrected.volatile.register_file
ecc.errors.corrected.volatile.sram
ecc.errors.corrected.volatile.texture_memory
ecc.errors.corrected.volatile.total
ecc.errors.uncorrected.aggregate.cbu
ecc.errors.uncorrected.aggregate.device_memory
ecc.errors.uncorrected.aggregate.dram
ecc.errors.uncorrected.aggregate.l1_cache
ecc.errors.uncorrected.aggregate.l2_cache
ecc.errors.uncorrected.aggregate.register_file
ecc.errors.uncorrected.aggregate.sram
ecc.errors.uncorrected.aggregate.texture_memory
ecc.errors.uncorrected.aggregate.total
ecc.errors.uncorrected.volatile.cbu
ecc.errors.uncorrected.volatile.device_memory
ecc.errors.uncorrected.volatile.dram
ecc.errors.uncorrected.volatile.l1_cache
ecc.errors.uncorrected.volatile.l2_cache
ecc.errors.uncorrected.volatile.register_file
ecc.errors.uncorrected.volatile.sram
ecc.errors.uncorrected.volatile.texture_memory
ecc.errors.uncorrected.volatile.total
ecc.mode
    Ecc Mode
ECC Mode
EccModeChangePending
ecc.mode.current
ecc.mode.pending
ecc_object
ECC Object
ECC P256
ECC Public Key
EccSupported
EccTooltip
ecdsa-with-SHA1
ECEaqSFu
eCFaxConfiguration::CFaxConfiguration - StringDup on lpRegKeyName failed
eC:GK[bn
EchoFfThreshold
EchoThreshold
ecircumflex
Ecircumflex
Ecircumflexsmall
ecirPerotS.erotS.secivreS.swodniW
ecirPerotSI.erotS.secivreS.swodniW
eciveDaideM.seciveD.aideM.swodniW
eciveDbsU.bsU.seciveD.swodniW
eciveDbsUI.bsU.seciveD.swodniW
eciveDc2I.c2I.seciveD.swodniW
eciveDc2II.c2I.seciveD.swodniW
eciveDD3tceriDI.11D3tceriD.XtceriD.scihparG.swodniW
eciveDD3tnirPI.sretnirP.seciveD.swodniW
eciveDD3tnirP.sretnirP.seciveD.swodniW
eciveDdiH.eciveDecafretnInamuH.seciveD.swodniW
eciveDdiHI.eciveDecafretnInamuH.seciveD.swodniW
eciveDdraobyeKrevieceRtsacariMI.tsacariM.aideM.swodniW
eciveDdraobyeKrevieceRtsacariM.tsacariM.aideM.swodniW
eciveDecivreS.elbatroP.seciveD.swodniW
eciveDegarotS.elbatroP.seciveD.swodniW
eciveDegarotSlanretxE.egarotS.enohP.tfosorciM
eciveDELhtooteulB.htooteulB.seciveD.swodniW
eciveDELhtooteulBI.htooteulB.seciveD.swodniW
eciveDesuoMI.tupnI.seciveD.swodniW
eciveDesuoM.tupnI.seciveD.swodniW
eciveDfOssalChtooteulB.htooteulB.seciveD.swodniW
eciveDfOssalChtooteulBI.htooteulB.seciveD.swodniW
eciveDgnitsaC.gnitsaC.aideM.swodniW
eciveDgnitsaCI.gnitsaC.aideM.swodniW
eciveDhtooteulB.htooteulB.seciveD.swodniW
eciveDhtooteulBI.htooteulB.seciveD.swodniW
eciveDipSI.ipS.seciveD.swodniW
eciveDipS.ipS.seciveD.swodniW
eciveDlaiDI.locotorPlaiD.aideM.swodniW
eciveDlaiD.locotorPlaiD.aideM.swodniW
eciveDlaireSI.noitacinummoClaireS.seciveD.swodniW
eciveDlaireS.noitacinummoClaireS.seciveD.swodniW
eciveDledoMgninraeL.gninraeLenihcaM.IA.swodniW
eciveDledoMgninraeLI.gninraeLenihcaM.IA.swodniW
eciveDmotsuCI.motsuC.seciveD.swodniW
eciveDmotsuC.motsuC.seciveD.swodniW
eciveDnePI.tupnI.seciveD.swodniW
eciveDneP.tupnI.seciveD.swodniW
eciveDnoitarbiVI.scitpaH.seciveD.swodniW
eciveDnoitarbiV.scitpaH.seciveD.swodniW
eciveD.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
eciveDrellortnoCemaGrevieceRtsacariMI.tsacariM.aideM.swodniW
eciveDrellortnoCemaGrevieceRtsacariM.tsacariM.aideM.swodniW
eciveDretnioPI.tupnI.seciveD.swodniW
eciveDretnioP.tupnI.seciveD.swodniW
eciveDscihparGnoitisopmoCI.noitisopmoC.IU.swodniW
eciveDscihparGnoitisopmoC.noitisopmoC.IU.swodniW
eciveDscihparG.scihparG.krowemarF.anX.tfosorciM
eciveDsmSI.smS.seciveD.swodniW
eciveDsmS.smS.seciveD.swodniW
eciveDtceriDiFiWI.tceriDiFiW.seciveD.swodniW
eciveDtceriDiFiW.tceriDiFiW.seciveD.swodniW
eciveDtropsnarTeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
eciveDtropsnarTeniLenohP.sllaC.ledoMnoitacilppA.swodniW
eciveDyalpsiD.eroC.yalpsiD.seciveD.swodniW
eciveDyalpsiDI.eroC.yalpsiD.seciveD.swodniW
eciveDytimixorPI.ytimixorP.gnikrowteN.swodniW
eciveDytimixorP.ytimixorP.gnikrowteN.swodniW
ecivreSdnAtsoHhtiWnoitamrofnIreePI.ytimixorP.gnikrowteN.swodniW
ecivreSdnuorgkcaBtsacdaorBppA.erutpaC.aideM.swodniW
ecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
ecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
ecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
ecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
ecivreSeciveDmmocfR.mmocfR.htooteulB.seciveD.swodniW
ecivreSeciveDscihparGI.scihparG.krowemarF.anX.tfosorciM
ecivreSeciveDttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
ecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
ecivreSfOytilauQtekcoS.stekcoS.gnikrowteN.swodniW
ecivreSlacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
ecivreSlacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
ecivreSnEVILI.nEVIL.secivreSremaG.krowemarF.anX.tfosorciM
ecivreSnEVIL.nEVIL.secivreSremaG.krowemarF.anX.tfosorciM
ecivreSnoitacilppAenohP.llehS.enohP.tfosorciM
ecivreSnoitacilppAyalrevO.llehS.enohP.tfosorciM
ecivreSnoitagivaN.noitagivaN.swodniW.metsyS
ecivreSnoitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
ecivreSnoitaminAdetcennoC.noitaminA.aideM.lmaX.IU.swodniW
ecivreSnoitcAdeludehcS.reludehcS.enohP.tfosorciM
ecivreSpaM.spaM.secivreS.swodniW
ecivreSpiTlooTI.slortnoC.lmaX.IU.swodniW
ecivreSpiTlooT.slortnoC.lmaX.IU.swodniW
ecivreSredaeRneercSI.ytilibisseccA.IU.swodniW
ecivreSredaeRneercS.ytilibisseccA.IU.swodniW
ecivreSrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.enohP.tfosorciM
ecivreSreganaMredivorPemarFnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
ecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
ecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
ecnaraeppAELhtooteulB.htooteulB.seciveD.swodniW
ecnaraeppAELhtooteulBI.htooteulB.seciveD.swodniW
ecnaraeppArekciPeciveDI.noitaremunE.seciveD.swodniW
ecnaraeppArekciPeciveD.noitaremunE.seciveD.swodniW
ecnatropmIliamE.liamE.ledoMnoitacilppA.swodniW
ecnatsiDsucoFlaunaM.seciveD.aideM.swodniW
ecnatsnIecivreSdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
ecnatsnIecivreSdssnDI.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
ecnatsnIksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
ecnatsnIksaTdnuorgkcaBIUbeWI.IUbeW.IU.swodniW
ecnatsnIksaTdnuorgkcaBIUbeW.IUbeW.IU.swodniW
ecnatsnIppAI.ledoMnoitacilppA.swodniW
ecnatsnIppA.ledoMnoitacilppA.swodniW
ecnatsnItceffEdnuoScimanyD.oiduA.krowemarF.anX.tfosorciM
ecnatsnItceffEdnuoS.oiduA.krowemarF.anX.tfosorciM
ecnedifnoCgnidaeRrosneSytivitcA.srosneS.seciveD.swodniW
ecnedifnoCnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
ecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
ecnefoeGI.gnicnefoeG.noitacoloeG.seciveD.swodniW
ecneFyalpsiD.eroC.yalpsiD.seciveD.swodniW
ecneFyalpsiDI.eroC.yalpsiD.seciveD.swodniW
ecneirepxEedisteertSI.spaM.slortnoC.lmaX.IU.swodniW
ecneirepxEedisteertS.spaM.slortnoC.lmaX.IU.swodniW
ecneirepxEmotsuCpaMI.spaM.slortnoC.lmaX.IU.swodniW
ecneirepxEmotsuCpaM.spaM.slortnoC.lmaX.IU.swodniW
ecneliSdedneppAhceepS.sisehtnyShceepS.aideM.swodniW
ecneliSnoitautcnuPhceepS.sisehtnyShceepS.aideM.swodniW
ecnerefeRemarFaideMecruoSitluMI.semarF.erutpaC.aideM.swodniW
ecnerefeRemarFaideMecruoSitluM.semarF.erutpaC.aideM.swodniW
ecnerefeRemarFaideMI.semarF.erutpaC.aideM.swodniW
ecnerefeRemarFaideM.semarF.erutpaC.aideM.swodniW
ecnerefeRfOemarFdehcattArotacoLlaitapSI.laitapS.noitpecreP.swodniW
ecnerefeRfOemarFdehcattArotacoLlaitapS.laitapS.noitpecreP.swodniW
ecnerefeRfOemarFegatSlaitapSI.laitapS.noitpecreP.swodniW
ecnerefeRfOemarFegatSlaitapS.laitapS.noitpecreP.swodniW
ecnerefeRfOemarFyranoitatSlaitapSI.laitapS.noitpecreP.swodniW
ecnerefeRfOemarFyranoitatSlaitapS.laitapS.noitpecreP.swodniW
ecnerefeRmaertSsseccAmodnaRI.smaertS.egarotS.swodniW
ecnerefeRmaertSsseccAmodnaR.smaertS.egarotS.swodniW
ecnerefeRmaertStupnII.smaertS.egarotS.swodniW
ecnereferPdnaH.tnemeganaMweiV.IU.swodniW
ecnereferPegasUataDecivreSpaM.spaM.secivreS.swodniW
ecnereferPeziSweiV.tnemeganaMweiV.IU.swodniW
ecnereferPgnimmirTaideM.gnitidE.aideM.swodniW
ecnereferPnoitacitnehtuAmiSE.srotarepOkrowteN.gnikrowteN.swodniW
ecnereferPyromeMerutpaCaideM.erutpaC.aideM.swodniW
ecnerefeRreffuByromeMI.noitadnuoF.swodniW
ecnerefeRytitnElmXI.moD.lmX.ataD.swodniW
ecnerefeRytitnElmX.moD.lmX.ataD.swodniW
ecnerruceRetadpUcidoireP.snoitacifitoN.IU.swodniW
ecnerruceRetadpU.llehS.enohP.tfosorciM
ecnerruceRreggirTtnevEmetsySmotsuC.dnuorgkcaB.ledoMnoitacilppA.swodniW
ecnerruceRtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
ecnerruceRtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
ecneserPeciveDrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ecneserPnoitpOtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
ecneserPremaG.secivreSremaG.krowemarF.anX.tfosorciM
ecneserPresUecapScihpargoloH.cihpargoloH.scihparG.swodniW
ecnetsisrePreifilauQecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
ecnetsisrePtegraTyalpsiD.eroC.yalpsiD.seciveD.swodniW
ecneuqeSrekraMaideMkcabyalPI.kcabyalP.aideM.swodniW
ecneuqeSrekraMaideMkcabyalP.kcabyalP.aideM.swodniW
eCommunications
eConsole
ecPublicKey
EC Region read access permissions don't match Intel recommended values.
EC Region write access permissions don't match Intel recommended values.
ecruoSaideM.aideM.krowemarF.anX.tfosorciM
ecruoSaideM.eroC.aideM.swodniW
ecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
ecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
ecruoSaideMI.eroC.aideM.swodniW
ecruoSataDeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMlacoLI.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMlacoL.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMmotsuCI.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMmotsuC.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMpttHI.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaMpttH.spaM.slortnoC.lmaX.IU.swodniW
ecruoSataDeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
ECRUOS.ataDresU.enohP.tfosorciM
ecruoSdnuorgkcaBcilyrcA.aideM.lmaX.IU.swodniW
ecruoSedoMdaolnwoDnoitazimitpOyrevileD.weiverP.erotS.ledoMnoitacilppA.swodniW
ecruoSegamI.aideM.lmaX.IU.swodniW
ecruoSegamIecafruS.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamIecafruSI.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamIecafruSlautriV.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamIecafruSlautriVI.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamIgvS.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamIgvSI.gnigamI.aideM.lmaX.IU.swodniW
ecruoSegamII.aideM.lmaX.IU.swodniW
ecruoSegasseMesnopseRpttH.pttH.beW.swodniW
ecruoSegasseMyalrevOtahCemaGI.IU.gnimaG.swodniW
ecruoSegasseMyalrevOtahCemaG.IU.gnimaG.swodniW
ecruoSeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
ecruoSeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
ecruoSeliT.slortnoC.spaM.enohP.tfosorciM
ecruoSeliTSOM.slortnoC.spaM.enohP.tfosorciM
ecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
ecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
ecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
ecruoSemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
ecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
ecruoSemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
ecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
ecruoSemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
ecruoseRdemaN.eroC.secruoseR.ledoMnoitacilppA.swodniW
ecruoseRdemaNI.eroC.secruoseR.ledoMnoitacilppA.swodniW
ecruoseRelbasuaPI.srosneS.seciveD.tfosorciM
ecruoseR.enohP.tfosorciM
ecruoseRerutxeTD3gnitnirP.D3gnitnirP.scihparG.swodniW
ecruoseRerutxeTD3gnitnirPI.D3gnitnirP.scihparG.swodniW
ecruoseRoediV.TRniW.derahS.gnisitrevdA.tfosorciM
ecruoseRscihparG.scihparG.krowemarF.anX.tfosorciM
ecruoSerutpaCotohP.erutpaC.aideM.swodniW
ecruoSetadpUekortSteWeroC.eroC.gniknI.tupnI.IU.swodniW
ecruoSetadpUekortSteWeroCI.eroC.gniknI.tupnI.IU.swodniW
ecruoSevitaleR.ataD.lmaX.IU.swodniW
ecruoSevitaleRI.ataD.lmaX.IU.swodniW
ecruoSgnitsaC.gnitsaC.aideM.swodniW
ecruoSgnitsaCI.gnitsaC.aideM.swodniW
ecruoSirUredivorPegarotSI.redivorP.egarotS.swodniW
ecruoSkcabyalPaideMI.kcabyalP.aideM.swodniW
ecruoSkcabyalPenignEaideMI.kcabyalP.aideM.swodniW
ecruoSlmaXwodniWpotkseD.gnitsoH.lmaX.IU.swodniW
ecruoSlmaXwodniWpotkseDI.gnitsoH.lmaX.IU.swodniW
ecruoSmaertSaideM.eroC.aideM.swodniW
ecruoSmaertSaideMI.eroC.aideM.swodniW
ecruoSmaertSesM.eroC.aideM.swodniW
ecruoSmaertSesMI.eroC.aideM.swodniW
ecruoSnacSrennacSegamI.srennacS.seciveD.swodniW
ecruoSnocIhtaPI.slortnoC.lmaX.IU.swodniW
ecruoSnocIhtaP.slortnoC.lmaX.IU.swodniW
ecruoSnocII.slortnoC.lmaX.IU.swodniW
ecruoSnocIlobmySI.slortnoC.lmaX.IU.swodniW
ecruoSnocIlobmyS.slortnoC.lmaX.IU.swodniW
ecruoSnocIpamtiBI.slortnoC.lmaX.IU.swodniW
ecruoSnocIpamtiB.slortnoC.lmaX.IU.swodniW
ecruoSnocI.slortnoC.lmaX.IU.swodniW
ecruoSnocItnoFI.slortnoC.lmaX.IU.swodniW
ecruoSnocItnoF.slortnoC.lmaX.IU.swodniW
ecruoSnoitacifitnedImetsyS.eliforP.metsyS.swodniW
ecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
ecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
ecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
ecruoSnoitcaretnIlausiV.snoitcaretnI.noitisopmoC.IU.swodniW
ecruoSnoitcaretnInoitisopmoCI.snoitcaretnI.noitisopmoC.IU.swodniW
ecruoSnoitcennoCrotalumEdraCtramS.sdraCtramS.seciveD.swodniW
ecruoSnoitisoP.noitacoloeG.seciveD.swodniW
ecruoSoTyalPI.oTyalP.aideM.swodniW
ecruoSoTyalP.oTyalP.aideM.swodniW
ecruoSpamtiBerawtfoS.gnigamI.aideM.lmaX.IU.swodniW
ecruoSpamtiBerawtfoSI.gnigamI.aideM.lmaX.IU.swodniW
ecruoSpamtiB.gnigamI.aideM.lmaX.IU.swodniW
ecruoSpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
ecruoSrewoP.ofnI.enohP.tfosorciM
ecruoSrewoPtropmIotohP.tropmI.aideM.swodniW
ecruoSreyalPaideMI.kcabyalP.aideM.swodniW
ecruoStceffEscihparGI.stceffE.scihparG.swodniW
ecruoStnemucoDtnirPI.gnitnirP.scihparG.swodniW
ecruoStnemucoDtnirPlmtHI.IUbeW.IU.swodniW
ecruoStnemucoDtnirPlmtH.IUbeW.IU.swodniW
ecruoStnevErewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
ecruoStnevErewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
ecruoStropmIotohPI.tropmI.aideM.swodniW
ecruoStropmIotohP.tropmI.aideM.swodniW
ecruoStupnIdraobyeKeroCI.eroC.IU.swodniW
ecruoStupnIretnioPeroCI.eroC.IU.swodniW
ecruoStupnItnednepednIeroC.eroC.IU.swodniW
ecruoStupnItnednepednIknIeroC.eroC.gniknI.tupnI.IU.swodniW
ecruoStupnItnednepednIknIeroCI.eroC.gniknI.tupnI.IU.swodniW
ecruoStupnItnednepednIrellortnoClaidaR.eroC.tupnI.IU.swodniW
ecruoStupnItnednepednIrellortnoClaidaRI.eroC.tupnI.IU.swodniW
ecruoStupnItnenopmoCeroC.eroC.IU.swodniW
ecruoStxeTdemiT.eroC.aideM.swodniW
ecruoStxeTdemiTI.eroC.aideM.swodniW
ecruoSweiVkrowemarFI.eroC.ledoMnoitacilppA.swodniW
ecruoSweiVkrowemarFI.lmaX.IU.swodniW
ecruoSweiVkrowemarF.lmaX.IU.swodniW
ecruoSweiVnoitcelloC.ataD.lmaX.IU.swodniW
ecruoSweiVnoitcelloCI.ataD.lmaX.IU.swodniW
ecruoSyalpsiD.eroC.yalpsiD.seciveD.swodniW
ecruoSyalpsiDI.eroC.yalpsiD.seciveD.swodniW
ecruoSytilasuaC.scitsongaiD.noitadnuoF.swodniW
ecruoSytreporPmetIredivorPegarotSI.redivorP.egarotS.swodniW
(EC) TLS key exchange algorithm(s) to request
ECuWOrIr
ed21842cecc22eb9e48f31d8249b3f22afaa5bdd5552c99e191c3061463074977eefd5afde7bf5de53d5ddcf5e26d4bbc05c1096f6fcfa9d9aefe174ce16248d
EDataFlow
EDataFlow_enum_count
eDataReady
EdBdBvAuA
EDD specified multiple times
eDefault
EdgeList would overflow
EdidData
edieresis
Edieresis
Edieresissmall
edirrevOIUgarDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
edirrevOIUgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
edirrevOIUgarDI.lmaX.IU.swodniW
edirrevOIUgarD.lmaX.IU.swodniW
edirrevOssenthgirBI.yalpsiD.scihparG.swodniW
edirrevOssenthgirB.yalpsiD.scihparG.swodniW
edirrevOtnemecnahnEyalpsiDI.yalpsiD.scihparG.swodniW
edirrevOtnemecnahnEyalpsiD.yalpsiD.scihparG.swodniW
edirrevOygetartSnoitagivaNsucoFYX.tupnI.lmaX.IU.swodniW
eDISPLAY_MONITOR_POWER_GET_FAILED
ediStnirPretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
editBoxHwnd
EditorBrowsableAttribute
EditorBrowsableState
ediuG.secivreSremaG.krowemarF.anX.tfosorciM
ed.m16n8k8.row.col.f32
ed.m16n8k8.row.col.f32.f16
	ed.m16n8k8.row.col.f32.t
!EDM5b_'|
ed.m8n8k16.row.col
ed.m8n8k16.row.col.s32.s8
ed.m8n8k4.row.col.f64
edoCesnopseRnoitacitnehtuAtopstoH.srotarepOkrowteN.gnikrowteN.swodniW
edoClortnoCOII.motsuC.seciveD.swodniW
edoClortnoCOI.motsuC.seciveD.swodniW
edoCnruteRlenreK.krowemarF.anX.tfosorciM
edocpOgniggoL.scitsongaiD.noitadnuoF.swodniW
edocraBtellaWI.tellaW.ledoMnoitacilppA.swodniW
edocraBtellaW.tellaW.ledoMnoitacilppA.swodniW
edoCrorrEdeterpretnItropsnarTtahC.tahC.ledoMnoitacilppA.swodniW
edoCrorrE.gnisitrevdA.tfosorciM
edoCrorrEkcarTatadateMdemiT.eroC.aideM.swodniW
edoCrorrEmedoMsmS.smS.seciveD.swodniW
edoCrorrEmetIkcabyalPaideM.kcabyalP.aideM.swodniW
edoCrorrE.srorrE.redniBemitnuR.prahSC.tfosorciM
edoCrorrEtsaV.IU.TRniW.gnisitrevdA.tfosorciM
edoCsutatSpttH.pttH.beW.swodniW
edoCtceffEcisaB.scihparG.krowemarF.anX.tfosorciM
edoCtceffEdennikS.scihparG.krowemarF.anX.tfosorciM
edoCtceffEerutxeTlauD.scihparG.krowemarF.anX.tfosorciM
edoCtceffEetirpS.scihparG.krowemarF.anX.tfosorciM
edoCtceffEpaMtnemnorivnE.scihparG.krowemarF.anX.tfosorciM
edoCtceffEtseTahplA.scihparG.krowemarF.anX.tfosorciM
edoCtixEksaT.krowemarF.anX.tfosorciM
edoCtixEyxorP.secivreSremaG.krowemarF.anX.tfosorciM
edoCtluseRdssU.srotarepOkrowteN.gnikrowteN.swodniW
edoCtnevEporetnIllehS.gniggoL.poretnI.enohP.tfosorciM
edoMahplAenecS.senecS.noitisopmoC.IU.swodniW
edoMahplApamtiB.gnigamI.scihparG.swodniW
edoMahplAXtceriD.XtceriD.scihparG.swodniW
edoMcihpargotraCpaM.slortnoC.spaM.enohP.tfosorciM
edoMdaolnwoDnoitazimitpOyrevileD.weiverP.erotS.ledoMnoitacilppA.swodniW
edoMdneppAesM.eroC.aideM.swodniW
edoMdnetxEtneidarGnoitisopmoC.noitisopmoC.IU.swodniW
edoMdnuoStnemelE.lmaX.IU.swodniW
edoMecnadiuG.ecnadiuG.spaM.secivreS.swodniW
edoMecneserPremaG.secivreSremaG.krowemarF.anX.tfosorciM
edoMecruoSevitaleR.ataD.lmaX.IU.swodniW
edoMecruoSnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
edoMegasUeciveDrellortnoCemaGrevieceRtsacariM.tsacariM.aideM.swodniW
edoMehcaC.aideM.lmaX.IU.swodniW
edoMehcaChtooteulB.htooteulB.seciveD.swodniW
edoMehcaCI.aideM.lmaX.IU.swodniW
edoMehcaCnoitagivaN.noitagivaN.lmaX.IU.swodniW
edoMehcaCnoitagivaN.noitagivaN.swodniW.metsyS
edoMenecSerutpaC.seciveD.aideM.swodniW
edoMepiwS.slortnoC.lmaX.IU.swodniW
edoMeruliaFeliFdemaertS.egarotS.swodniW
edoMerutpaCgnimaertS.erutpaC.aideM.swodniW
edoMetadpUdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
edoMetaRemarFgnidocnEoediVerutpaCppA.erutpaC.aideM.swodniW
edoMetartiBgnidocnEoediVerutpaCppA.erutpaC.aideM.swodniW
edoMetartiBgnidocnEoediVtsacdaorBppA.erutpaC.aideM.swodniW
edoMetisopmoCnoitisopmoC.noitisopmoC.IU.swodniW
edoMetisopmoCtnemelE.aideM.lmaX.IU.swodniW
edoMevieceRtekcoSbeWegasseM.stekcoS.gnikrowteN.swodniW
edoMevirDniPoipG.oipG.seciveD.swodniW
edoMevirDniPoipGredivorP.redivorP.oipG.seciveD.swodniW
edoMfmtDralulleC.sllaC.ledoMnoitacilppA.swodniW
edoMgnidniB.ataD.lmaX.IU.swodniW
edoMgnikcaPoediVcipocsoeretS.seitreporPaideM.aideM.swodniW
edoMgnikcaPoediVD3oeretS.aideM.lmaX.IU.swodniW
edoMgnilpmasbuSgepJ.gnigamI.scihparG.swodniW
edoMgniniahCnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
edoMgninnacSELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
edoMgnippaMhsurB.aideM.lmaX.IU.swodniW
edoMgnippaMnoitisopmoC.noitisopmoC.IU.swodniW
edoMgnipparWenecS.senecS.noitisopmoC.IU.swodniW
edoMgnipporCotuArennacSegamI.srennacS.seciveD.swodniW
edoMgnirahSc2I.c2I.seciveD.swodniW
edoMgnirahSc2IredivorP.redivorP.c2I.seciveD.swodniW
edoMgnirahSeciveD.motsuC.seciveD.swodniW
edoMgnirahSerutpaCaideM.erutpaC.aideM.swodniW
edoMgnirahSipS.ipS.seciveD.swodniW
edoMgnirahSipSredivorP.redivorP.ipS.seciveD.swodniW
edoMgnirahSoipG.oipG.seciveD.swodniW
edoMgnirahSoipGredivorP.redivorP.oipG.seciveD.swodniW
edoMgnirahSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
edoMgnireggirTtnevEhtooteulB.dnuorgkcaB.htooteulB.seciveD.swodniW
edoMgnirotinoMecneserPeciveDrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
edoMgnisaE.noitaminA.aideM.lmaX.IU.swodniW
edoMgnisioneDlaropmeToediV.seciveD.aideM.swodniW
edoMgnissecorPtupnIknI.gniknI.tupnI.IU.swodniW
edoMgnitirWtxeTdemiT.eroC.aideM.swodniW
edoMgniwodniWweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
edoMhcroTderarfnI.seciveD.aideM.swodniW
edoMhsalFemarF.eroC.seciveD.aideM.swodniW
edoMhsalF.seciveD.tfosorciM
edoMidiBteraCnoitamotuA.noitamotuA.lmaX.IU.swodniW
edoMipS.ipS.seciveD.swodniW
edoMipSredivorP.redivorP.ipS.seciveD.swodniW
edoMIUerutpaCaremaC.erutpaC.aideM.swodniW
edoMkcehCretneserPmetIweiVtsiL.sevitimirP.slortnoC.lmaX.IU.swodniW
edoMkcilC.slortnoC.lmaX.IU.swodniW
edoMkramretaWpaM.slortnoC.spaM.enohP.tfosorciM
edoMkramretaWpaM.spaM.slortnoC.lmaX.IU.swodniW
edoMlaeveRdrowssaP.slortnoC.lmaX.IU.swodniW
edoMlebaLwolfrevOweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
edoMlennahCcdA.cdA.seciveD.swodniW
edoMlennahCcdAredivorP.redivorP.cdA.seciveD.swodniW
edoMlevarT.secivreS.spaM.enohP.tfosorciM
edoMlianbmuhT.seitreporPeliF.egarotS.swodniW
edoMlliF.scihparG.krowemarF.anX.tfosorciM
edoMllorcSgnitadpUsmetI.slortnoC.lmaX.IU.swodniW
edoMllorcS.slortnoC.lmaX.IU.swodniW
edoMllorcStxeTdemiT.eroC.aideM.swodniW
edoMlluC.scihparG.krowemarF.anX.tfosorciM
edoMmooZ.slortnoC.lmaX.IU.swodniW
edoMngiseD.ledoMnoitacilppA.swodniW
edoMnoisserpmoCffiT.gnigamI.scihparG.swodniW
edoMnoitacifireVhseMD3gnitnirP.D3gnitnirP.scihparG.swodniW
edoMnoitacifitoNtsaoTnoitallatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
edoMnoitaerCredlofbuStropmIotohP.tropmI.aideM.swodniW
edoMnoitagivaNdraobyeKsucoFYX.tupnI.lmaX.IU.swodniW
edoMnoitagivaNdraobyeK.tupnI.lmaX.IU.swodniW
edoMnoitagivaN.noitagivaN.lmaX.IU.swodniW
edoMnoitalopretnIpamtiB.gnigamI.scihparG.swodniW
edoMnoitalopretnIpamtiBnoitisopmoC.noitisopmoC.IU.swodniW
edoMnoitalopretnIroloC.aideM.lmaX.IU.swodniW
edoMnoitalumEdraC.tnemelEeruceS.enohP.tfosorciM
edoMnoitalupinaMknI.gniknI.tupnI.IU.swodniW
edoMnoitatneirOfixE.gnigamI.scihparG.swodniW
edoMnoitatneserPkcarTatadateMdemiT.kcabyalP.aideM.swodniW
edoMnoitavitcAdaeR.redivorP.egarotS.swodniW
edoMnoitavitcAetirW.redivorP.egarotS.swodniW
edoMnoitavitcAwodniWeroC.eroC.IU.swodniW
edoMnoitazilausiVtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
edoMnoitazilautriV.slortnoC.lmaX.IU.swodniW
edoMnoitazilibatSegamIlacitpO.seciveD.aideM.swodniW
edoMnoitcaretnInaPpaM.spaM.slortnoC.lmaX.IU.swodniW
edoMnoitcaretnIpaM.spaM.slortnoC.lmaX.IU.swodniW
edoMnoitcaretnIresU.tnemeganaMweiV.IU.swodniW
edoMnoitcejorpeRcihpargoloH.cihpargoloH.scihparG.swodniW
edoMnoitcejorPoediVlacirehpS.kcabyalP.aideM.swodniW
edoMnoitceleSeliF.redivorP.srekciP.egarotS.swodniW
edoMnoitceleSeziSmutnauQ.oiduA.aideM.swodniW
edoMnoitceleSmetItropmIotohP.tropmI.aideM.swodniW
edoMnoitceleS.slortnoC.lmaX.IU.swodniW
edoMnoitceleStcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
edoMnoitceleStuoylFrekciPtsiL.slortnoC.lmaX.IU.swodniW
edoMnoitceleSweiVeerT.slortnoC.lmaX.IU.swodniW
edoMnoitceleSweiVradnelaC.slortnoC.lmaX.IU.swodniW
edoMnoitceleSweiVtsiL.slortnoC.lmaX.IU.swodniW
edoMnoitcerideRecruoSnoitcaretnIlausiV.snoitcaretnI.noitisopmoC.IU.swodniW
edoMnoitcerideRecruoSnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
edoMnoitceteDecaF.eroC.aideM.swodniW
edoMnoitceteDeldI.llehS.enohP.tfosorciM
edoMnoitcetorPredivorPegarotS.redivorP.egarotS.swodniW
edoMnoitingoceRsuounitnoChceepS.noitingoceRhceepS.aideM.swodniW
edoMnoitisiuqcAredaeRemarFaideM.semarF.erutpaC.aideM.swodniW
edoMnoitisnarTmooZ.seciveD.aideM.swodniW
edoMnoititepeRyarrApmaL.stceffE.sthgiL.seciveD.swodniW
edoMnoitucexEweiVbeW.slortnoC.lmaX.IU.swodniW
edoMnoituloseRgnidocnEoediVerutpaCppA.erutpaC.aideM.swodniW
edoMnoituloseRgnidocnEoediVtsacdaorBppA.erutpaC.aideM.swodniW
edoMoediVrdH.seciveD.aideM.swodniW
edoMoiduAlaitapStnemelE.lmaX.IU.swodniW
edoMotohPdecnavdA.seciveD.aideM.swodniW
edoMpaMretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
edoMputratS.llehS.enohP.tfosorciM
edoMraBnoitacilppA.llehS.enohP.tfosorciM
edoMraBnoitacilppA.poretnI.llehS.enohP.tfosorciM
edoMredneRoediVcipocsoeretS.kcabyalP.aideM.swodniW
edoMredneRoediVD3oeretS.aideM.lmaX.IU.swodniW
edoMredroBnoitisopmoC.noitisopmoC.IU.swodniW
edoMredroeRweiVtsiL.slortnoC.lmaX.IU.swodniW
edoMretliFgnP.gnigamI.scihparG.swodniW
edoMretnioPseriuqeRnoitacilppA.lmaX.IU.swodniW
edoMrettamroFycnerruC.gnittamroFrebmuN.noitazilabolG.swodniW
edoMrewoPoidaR.oidaR.seciveD.tfosorciM
edoMroloCpaM.slortnoC.spaM.enohP.tfosorciM
edoMroloCrennacSegamI.srennacS.seciveD.swodniW
edoMroloCtnirP.gnitnirP.scihparG.swodniW
edoMrotacidnIgnillorcS.sevitimirP.slortnoC.lmaX.IU.swodniW
edoMsdnuoBweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
edoMskriuQ.enohP.tfosorciM
edoMsseccAeciveD.motsuC.seciveD.swodniW
edoMsseccAeliF.egarotS.swodniW
edoMsseccAlortnoCOI.motsuC.seciveD.swodniW
edoMsseccAreffuBoiduA.aideM.swodniW
edoMsseccAreffuBpamtiB.gnigamI.scihparG.swodniW
edoMsseccAtropmIotohP.tropmI.aideM.swodniW
edoMsseccAytreporPnoitaminA.noitisopmoC.IU.swodniW
edoMsserddAerutxeT.scihparG.krowemarF.anX.tfosorciM
edoMsucoF.seciveD.aideM.swodniW
edoMtaepeRotuAkcabyalPaideM.aideM.swodniW
edoMtnemecalPpiTyeK.tupnI.lmaX.IU.swodniW
edoMtnemecalProtareleccAdraobyeK.tupnI.lmaX.IU.swodniW
edoMtnemecalP.sevitimirP.slortnoC.lmaX.IU.swodniW
edoMtnemecalPtuoylF.sevitimirP.slortnoC.lmaX.IU.swodniW
edoMtnemeganaMroloC.gnigamI.scihparG.swodniW
edoMtnetnoCIUgarDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
edoMtratStceffEyarrApmaL.stceffE.sthgiL.seciveD.swodniW
edoMtropmItropmIotohP.tropmI.aideM.swodniW
edoMtroSetirpS.scihparG.krowemarF.anX.tfosorciM
edoMtuoyaLrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
edoMweiVenaPowT.slortnoC.lmaX.IU.swodniW
edoMweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
edoMweiVrekciP.srekciP.egarotS.swodniW
edoMwohStuoylF.sevitimirP.slortnoC.lmaX.IU.swodniW
edoMyalpsiDdesolCraBppA.slortnoC.lmaX.IU.swodniW
edoMyalpsiDenaPweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
edoMyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
edoMyalpsiDimdHI.eroC.yalpsiD.scihparG.swodniW
edoMyalpsiD.scihparG.krowemarF.anX.tfosorciM
edoMyalpsiDsecivreSraBemaG.erutpaC.aideM.swodniW
edoMyalpsiDweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
edoMyalpsiDweiVradnelaC.slortnoC.lmaX.IU.swodniW
edoMyalpsiDweiVtilpS.slortnoC.lmaX.IU.swodniW
edoMyalrevOmetsySneercSlluF.tnemeganaMweiV.IU.swodniW
edoMyalrevOssimsiDthgiL.slortnoC.lmaX.IU.swodniW
edoNenecSI.senecS.noitisopmoC.IU.swodniW
edoNenecS.senecS.noitisopmoC.IU.swodniW
edoNlmXI.moD.lmX.ataD.swodniW
edoNnoitacidnySI.noitacidnyS.beW.swodniW
edoNnoitacidnyS.noitacidnyS.beW.swodniW
edoNoiduAI.oiduA.aideM.swodniW
edoNsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
edoNsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
edoNtupnIeciveDoiduAI.oiduA.aideM.swodniW
edoNtupnIeciveDoiduA.oiduA.aideM.swodniW
edoNtupnIeliFoiduAI.oiduA.aideM.swodniW
edoNtupnIeliFoiduA.oiduA.aideM.swodniW
edoNtupnIemarFoiduAI.oiduA.aideM.swodniW
edoNtupnIemarFoiduA.oiduA.aideM.swodniW
edoNtupnIoiduAecruoSaideMI.oiduA.aideM.swodniW
edoNtupnIoiduAecruoSaideM.oiduA.aideM.swodniW
edoNtupnIoiduAI.oiduA.aideM.swodniW
edoNtuptuOeciveDoiduAI.oiduA.aideM.swodniW
edoNtuptuOeciveDoiduA.oiduA.aideM.swodniW
edoNtuptuOeliFoiduAI.oiduA.aideM.swodniW
edoNtuptuOeliFoiduA.oiduA.aideM.swodniW
edoNtuptuOemarFoiduAI.oiduA.aideM.swodniW
edoNtuptuOemarFoiduA.oiduA.aideM.swodniW
edoNweiVeerTI.slortnoC.lmaX.IU.swodniW
edoNweiVeerT.slortnoC.lmaX.IU.swodniW
edoNximbuSoiduA.oiduA.aideM.swodniW
edotaccent
Edotaccent
EdpAuditAction
EdpCheckAccessForContext
EDPCleanupBinary
EDPCleanupDecryptActivity
EDPCleanupDeleteActivity
EDPCleanupEnumerateActivity
EDPCleanup.pdb
EDPCleanupTraceLoggingProvider
EdpConvertProtectorToExternalId
EDPDecrypt
EDPDelete
EDPEnumerate
EdpEvaluatorRun
EDPFileFinder
EdpFreeContext
EdpGetAppLockerUniqueAppIdentifier
EdpGetContextForWindow
EdpGetDataInfoFromDataObject
EdpGetDataInfoFromWin32Clipboard
EdpGetEnterpriseIdForClipboard
EdpGetEnterpriseIdForDataObject
EdpGetFilePathsForDataObject
EdpGetIsManaged
EdpGetSourceAppIdForClipboard
EDPNotification
EdpNotify.pdb
EDPParameterParsing
EdpRequestAccessForContext
EdpRmsClearKeys
edputil.dll
EDPWipeKey
E!D!s't'
E	D	T	S	
EduPrintProvActivity
EduPrintProv.pdb
ed.x2.m8n8
ed.x2.trans.m8n8
ed.x4.m8n8
ed.x4.m8n8;
ed.x4.m8n82
ed.x4.m8n8.C
ed.x4.m8n8c!
ed.x4.m8n8M!
ed.x4.m8n8n
ed.x4.m8n8Q
ed.x4.m8n8S
ed.x4.trans.m8n8
ed.x4.trans.m8n8-0
ed.x4.trans.m8n81
ed.x4.trans.m8n8A
ed.x4.trans.m8n8b
ed.x4.trans.m8n8B0
ed.x4.trans.m8n8S0
ed.x4.trans.m8n8u
ed.x4.trans.m8n8u!
ed.x4.trans.m8n8Z!
e;;;;;;;;;;;;;;;;e
e e0e1e.e
E E0E1E.E
e@e0e8e6e
E@E0E8E6E
e@eAe8e:e
E@EAE8E:E
                              e - ECC Errors and PCIe Replay errors
eednettA.ataDresU.enohP.tfosorciM
EEDNETTA.ataDresU.enohP.tfosorciM
]]]]eeee
@E@E@E@E
@E@E@E@E@E@E@E@E
E	E	E	E	E	E	E	E	E	E	E	E	E	E	E	E
EEEEEEEEEE   SSSSSSSSSS      III      FFFFFFFFFF
EEEEEEEEEE   SSSSSSSSSS   IIIIIIIII   FFFFFFFFFF
eeeeeeOGeeeefka
EEEEvNS2_13Tensor4DCoordESB_SB_NS2_9
eeeezzzz
eeehhjbc
EEE                 SSS      III      FFF
EEE          SSS             III      FFF
EE'(F';-I
'E(EGDFD
Eeii 9ui
e@ePeQeNe
E@EPEQENE
e@ePeXeVe
E@EPEXEVE
-e(e(R4R4
E)E)RPRP
e eR_Q_FbFbVaVa
eetivnItnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
eetivnItnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
eeuqraMyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
eeuqraMyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
#EEvNS_19SparseTensorsParamsE(
EEvNS_19SparseTensorsParamsE(
eExtendedDisplayParametersWWd
e	e	Y	[	
EFAFAj(i(0404*-)-
effect file does not contain any techniques
	effective grid mode:
effectiveSiufSetting
EFFFFFFFFFFFFFF''2444444?
!EFFFFFFFFFFFFFFFFFFFFFFFFFFFF?
EFFFFFFFFFFFFFFFFFFFFFFFFFFFF
!!EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?
!!!EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF?
!!!#EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
effffhOHhefhedBeeeegkl
EFFIIFFz
EFI PART
EFl127ld_
EFRAME_PACKINGWWW
EFSADU.dll
EfsClientDecryptFile
EfsClientDuplicateEncryptionInfo
EfsClientFreeProtectorList
EfsClientGetEncryptedFileVersion
EfsClientQueryProtectors
EfsOpenFileRawFailed
EfsOpenFileRawFailedAttemptingRetry
efsui.pdb
EfsUIUtilEncryptMyDocuments
EfsUIUtilEnrollEfsCertificate
EfsUIUtilInstallDra
EfsUIUtilKeyBackup
EfsUIUtilPromptForPin
EfsUIUtilSelectCard
EfsUIUtilShowBalloonAndWait
EfsUtilCreateSelfSignedCertificate
EFSUTIL.dll
EfsUtilGetCurrentKey
EfsUtilGetCurrentUserInformation
EfsUtilGetSmartcardProviderName
e)fU8	!R
egakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
egakcaPataD.refsnarTataD.ledoMnoitacilppA.swodniW
egakcaPdA.TRniW.derahS.gnisitrevdA.tfosorciM
egakcaPFM3D3gnitnirP.D3gnitnirP.scihparG.swodniW
egakcaPFM3D3gnitnirPI.D3gnitnirP.scihparG.swodniW
egakcaPI.ledoMnoitacilppA.swodniW
egakcaP.ledoMnoitacilppA.swodniW
egakcaPpaMenilffOI.spaMenilffO.spaM.secivreS.swodniW
egakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
egakcaPtegraTledoMtcejbOwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
egakcaPtegraTledoMtcejbOwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
egamIerotS.erotS.secivreS.swodniW
egamIerotSI.erotS.secivreS.swodniW
egamIevitaN.IU.TRniW.gnisitrevdA.tfosorciM
egamII.slortnoC.lmaX.IU.swodniW
egamIpamtiB.gnigamI.aideM.lmaX.IU.swodniW
egamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
egamI.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
egamI.slortnoC.lmaX.IU.swodniW
egamItnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
egamItnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
egaPfdP.fdP.ataD.swodniW
egaPfdPI.fdP.ataD.swodniW
egaPI.slortnoC.lmaX.IU.swodniW
egaPnoitacilppAenohPI.slortnoC.enohP.tfosorciM
egaPnoitacilppAenohP.slortnoC.enohP.tfosorciM
egaP.slortnoC.lmaX.IU.swodniW
egaP.slortnoC.swodniW.metsyS
egarotSlanretxE.egarotS.enohP.tfosorciM
egasseMdssUI.srotarepOkrowteN.gnikrowteN.swodniW
egasseMdssU.srotarepOkrowteN.gnikrowteN.swodniW
egasseMedoCemiTidiM.idiM.seciveD.swodniW
egasseMedoCemiTidiMI.idiM.seciveD.swodniW
egasseMegnahCdneBhctiPidiM.idiM.seciveD.swodniW
egasseMegnahCdneBhctiPidiMI.idiM.seciveD.swodniW
egasseMegnahClortnoCidiM.idiM.seciveD.swodniW
egasseMegnahClortnoCidiMI.idiM.seciveD.swodniW
egasseMegnahCmargorPidiM.idiM.seciveD.swodniW
egasseMegnahCmargorPidiMI.idiM.seciveD.swodniW
egasseMerusserPlennahCidiM.idiM.seciveD.swodniW
egasseMerusserPlennahCidiMI.idiM.seciveD.swodniW
egasseMerusserPyeKcinohpyloPidiM.idiM.seciveD.swodniW
egasseMerusserPyeKcinohpyloPidiMI.idiM.seciveD.swodniW
egasseMesnopseRpttHI.pttH.beW.swodniW
egasseMesnopseRpttH.pttH.beW.swodniW
egasseMeunitnoCidiM.idiM.seciveD.swodniW
egasseMevisulcxEmetsySidiM.idiM.seciveD.swodniW
egasseMffOetoNidiM.idiM.seciveD.swodniW
egasseMffOetoNidiMI.idiM.seciveD.swodniW
egasseMgnisneSevitcAidiM.idiM.seciveD.swodniW
egasseMidiMI.idiM.seciveD.swodniW
egasseMkcolCgnimiTidiM.idiM.seciveD.swodniW
egasseMliamecioVsmSI.smS.seciveD.swodniW
egasseMliamecioVsmS.smS.seciveD.swodniW
egasseMliamEI.liamE.ledoMnoitacilppA.swodniW
egasseMliamE.liamE.ledoMnoitacilppA.swodniW
egasseMnOetoNidiM.idiM.seciveD.swodniW
egasseMnOetoNidiMI.idiM.seciveD.swodniW
egasseMnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
egasseMpaoSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
egasseMpaoSydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
egasseMpaWsmSI.smS.seciveD.swodniW
egasseMpaWsmS.smS.seciveD.swodniW
egasseMpotSidiM.idiM.seciveD.swodniW
egasseMppAsmSI.smS.seciveD.swodniW
egasseMppAsmS.smS.seciveD.swodniW
egasseMresUdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
egasseMresUdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
egasseMresUdnEscRI.tahC.ledoMnoitacilppA.swodniW
egasseMresUdnEscR.tahC.ledoMnoitacilppA.swodniW
egasseMretnioPnoitisoPgnoSidiM.idiM.seciveD.swodniW
egasseMretnioPnoitisoPgnoSidiMI.idiM.seciveD.swodniW
egasseMsmSI.smS.seciveD.swodniW
egasseMsutatSsmSI.smS.seciveD.swodniW
egasseMsutatSsmS.smS.seciveD.swodniW
egasseMtahCI.tahC.ledoMnoitacilppA.swodniW
egasseMtahC.tahC.ledoMnoitacilppA.swodniW
egasseMtceleSgnoSidiM.idiM.seciveD.swodniW
egasseMtceleSgnoSidiMI.idiM.seciveD.swodniW
egasseMteseRmetsySidiM.idiM.seciveD.swodniW
egasseMtratSidiM.idiM.seciveD.swodniW
egasseMtsacdaorBsmSI.smS.seciveD.swodniW
egasseMtsacdaorBsmS.smS.seciveD.swodniW
egasseMtseuqeRenuTidiM.idiM.seciveD.swodniW
egasseMtseuqeRpttHI.pttH.beW.swodniW
egasseMtseuqeRpttH.pttH.beW.swodniW
egasseMtxeTsmSI.smS.seciveD.swodniW
egasseMtxeTsmS.smS.seciveD.swodniW
egasseMyraniBsmSI.smS.seciveD.swodniW
egasseMyraniBsmS.smS.seciveD.swodniW
egasseMytimixorPI.ytimixorP.gnikrowteN.swodniW
egasseMytimixorP.ytimixorP.gnikrowteN.swodniW
egasUataDI.ytivitcennoC.gnikrowteN.swodniW
egasUataD.ytivitcennoC.gnikrowteN.swodniW
egasUD3tceriD.11D3tceriD.XtceriD.scihparG.swodniW
egasUeciveDretnioP.tupnI.seciveD.swodniW
egasUeliforP.srotarepOkrowteN.gnikrowteN.swodniW
egasUkrowteNdetubirttAI.ytivitcennoC.gnikrowteN.swodniW
egasUkrowteNdetubirttA.ytivitcennoC.gnikrowteN.swodniW
egasUkrowteNI.ytivitcennoC.gnikrowteN.swodniW
egasUkrowteNredivorPI.ytivitcennoC.gnikrowteN.swodniW
egasUkrowteNredivorP.ytivitcennoC.gnikrowteN.swodniW
egasUkrowteN.ytivitcennoC.gnikrowteN.swodniW
egasUksiDssecorPI.scitsongaiD.metsyS.swodniW
egasUksiDssecorP.scitsongaiD.metsyS.swodniW
egasUnalPataDI.ytivitcennoC.gnikrowteN.swodniW
egasUnalPataD.ytivitcennoC.gnikrowteN.swodniW
egasUreffuB.scihparG.krowemarF.anX.tfosorciM
egasUtegraTredneR.scihparG.krowemarF.anX.tfosorciM
egasUtnemelExetreV.scihparG.krowemarF.anX.tfosorciM
egasUupCmetsySI.scitsongaiD.metsyS.swodniW
egasUupCmetsyS.scitsongaiD.metsyS.swodniW
egasUupCssecorPI.scitsongaiD.metsyS.swodniW
egasUupCssecorP.scitsongaiD.metsyS.swodniW
egasUyromeMmetsySI.scitsongaiD.metsyS.swodniW
egasUyromeMmetsyS.scitsongaiD.metsyS.swodniW
egasUyromeMssecorPI.scitsongaiD.metsyS.swodniW
egasUyromeMssecorP.scitsongaiD.metsyS.swodniW
egatSerutaeF.atadateM.noitadnuoF.swodniW
egatSgnituoRyeKrotareleccAlortnoCweiVbeW.poretnI.IU.beW.swodniW
egatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
egatSssergorPpttH.pttH.beW.swodniW
egatStropmIotohP.tropmI.aideM.swodniW
egaugnaLdnAeulaV.hcraeS.egarotS.swodniW
egaugnaLdnAeulaVI.hcraeS.egarotS.swodniW
egaugnaLI.noitazilabolG.swodniW
egaugnaLnaisAtsaEtnoF.lmaX.IU.swodniW
egaugnaL.noitazilabolG.swodniW
egdaBneercSkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
egdaBneercSkcoL.neercSkcoL.ledoMnoitacilppA.swodniW
egdEniPoipG.oipG.seciveD.swodniW
egdEniPoipGredivorP.redivorP.oipG.seciveD.swodniW
egd-file
egdirBmoC.poretnI.enohP.tfosorciM
egdirtraCroloCretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
EGD socket path for random data
EGenValObj_OuterW
EGIHIsHuH
egnahCegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
egnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
egnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
egnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
egnahCetatSkcoLniPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatSkcoLniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatSnoitartsigeRkrowteNdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatSnoitartsigeRkrowteNdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatSoidaRdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatSoidaRdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
egnahCetatStisiV.noitacoloeG.seciveD.swodniW
egnahCkrowteNlanretnI.noitamrofnIkrowteN.teN.enohP.tfosorciM
egnahCniPlaireS.noitacinummoClaireS.seciveD.swodniW
egnahCnoitcelloC.snoitcelloC.noitadnuoF.swodniW
egnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
egnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
egnahCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
egnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
egnahCyrarbiLegarotS.egarotS.swodniW
egnahCyrarbiLegarotSI.egarotS.swodniW
egnaRegaPtnirP.gnitnirP.scihparG.swodniW
egnaRegaPtnirPI.gnitnirP.scihparG.swodniW
egnaReliFrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
egnaRemiTaideM.aideM.swodniW
egnaRemiTesM.eroC.aideM.swodniW
egnaRleveLmooZpaM.spaM.slortnoC.lmaX.IU.swodniW
egnaRnoitceriDkooLlaitapS.laitapS.noitpecreP.swodniW
egnaRsucoFotuA.seciveD.aideM.swodniW
egnaRtiN.yalpsiD.scihparG.swodniW
egnaRtnemevoMlaitapS.laitapS.noitpecreP.swodniW
egnaRtxeTeroC.eroC.txeT.IU.swodniW
egnaRtxeTI.txeT.IU.swodniW
egnaRtxeT.stnemucoD.lmaX.IU.swodniW
egnaRtxeTtidEhciRI.txeT.IU.swodniW
egnaRtxeTtidEhciR.txeT.IU.swodniW
egnaRxednImetI.ataD.lmaX.IU.swodniW
egnaRxednImetII.ataD.lmaX.IU.swodniW
EGPFPl"l"l
Egravesmall
]"_"E.G.uRvR
EH9_8u?A
E H9K@t3H
E(H9X8t_L
EHBCState
EHBC State Test Failed - Contradiction with current Privacy Level.
EHBC State Test Failed - Error while reading data from flash.
ehcaCnoitagivaN.noitagivaN.swodniW.metsyS
ehcaCpamtiB.aideM.lmaX.IU.swodniW
ehcaCpamtiBI.aideM.lmaX.IU.swodniW
ehcaCrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
EHD specified multiple times
@EHEHCJDJ
EHExceptionRecord
EHf)E0f)E4
EhgJ4hZf
EHH9uhuUH
EHL;E u;M
eHNAUslY
EHorizontalStretchFactorStepW
e(H*!PV3S
EHrm?Oy3
ehsc_md5
	ehsc_path
EhStorAuthn.exe
EhStorAuthn.pdb
E HtjHt2
__ehvec_dtor
EhwQ2	?[
EhzfK46'	
EID does not exist.
eightinferior
eightoldstyle
eightsuperior
EIGraphicsRenderStandbyWWX4
eikooCpttHI.pttH.beW.swodniW
eikooCpttH.pttH.beW.swodniW
eIntcEventNotificationType
eIntcSpeechMode
eIntelAudioBufferWarrningFlags
E_INVALIDARGS
eIsDownScalingEnabled
Either all vectors go to CScan or none do
Either SET or REMEMBER must be specified
Either SIZE or the DRIVES or the POOL parameter must be present
Either SIZE or the DRIVES parameter must be present
Either TYPE or the PATHS parameter must be present
EITRealm
 EJ7m177Ko
EJf)E2f)E6H
;@;E;J;r;
ejRme!5G8
ekahsdnaHlaireS.noitacinummoClaireS.seciveD.swodniW
E?kccrHR
EK certificate for key type 
EKCliTpmGetManufacturerInfo
 EK is supported...
ekortSknI.gniknI.tupnI.IU.swodniW
ekortSknII.gniknI.tupnI.IU.swodniW
ekortSknIlatnemercnIeroC.eroC.gniknI.tupnI.IU.swodniW
ekortSknIlatnemercnIeroCI.eroC.gniknI.tupnI.IU.swodniW
EK recertification failed.
EK recertification failed with error:
EK Recertification operations succeeded for key type 
EkRecertificationUtils::AddCertificateToStore
e@L9aHtzH
elacSnoituloseR.yalpsiD.scihparG.swodniW
!ELAN MICROELECTRONICS CORPORATION0
!ELAN MICROELECTRONICS CORPORATION1*0(
ElapsedEventArgs
ElapsedEventHandler
ElapsedTime
elbaetadpUI.krowemarF.anX.tfosorciM
elbagnirtSI.noitadnuoF.swodniW
elballuNC.scitnameS.redniBemitnuR.prahSC.tfosorciM
elbamusnoCdelliflufnU.erotS.ledoMnoitacilppA.swodniW
elbamusnoCdelliflufnUI.erotS.ledoMnoitacilppA.swodniW
elbaretIelbadniBI.poretnI.lmaX.IU.swodniW
elbaretIesneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
elbaretIniamoDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
elbaretIpotSeruceSydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
elbasolCI.noitadnuoF.swodniW
elbasopsiDdeludehcS.evitcaeR.enohP.tfosorciM
elbasopsiDelbatuM.evitcaeR.enohP.tfosorciM
elbasopsiDetisopmoC.evitcaeR.enohP.tfosorciM
elbasopsiD.evitcaeR.enohP.tfosorciM
elbasopsiDnaelooB.evitcaeR.enohP.tfosorciM
elbasopsiDnoitallecnaC.evitcaeR.enohP.tfosorciM
elbasopsiDsuomynonA.evitcaeR.enohP.tfosorciM
elbasopsiDtluafeD.evitcaeR.enohP.tfosorciM
elbasopsiDtnuoCfeR.evitcaeR.enohP.tfosorciM
elbasopsiDtxetnoC.evitcaeR.enohP.tfosorciM
elbasucoFtnenopmoCeroCI.eroC.IU.swodniW
elbaTemaN.xatnyS.redniBemitnuR.prahSC.tfosorciM
elbaTepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
elbaTlobmyS.redniBemitnuR.prahSC.tfosorciM
elbavresbO.evitcaeR.enohP.tfosorciM
elbawarDI.krowemarF.anX.tfosorciM
elbisiVnottuBkcaBweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
elbuoDrosneT.gninraeLenihcaM.IA.swodniW
elbuoDrosneTI.gninraeLenihcaM.IA.swodniW
elbuoDtxeTdemiT.eroC.aideM.swodniW
elcricoeGI.noitacoloeG.seciveD.swodniW
elcricoeG.noitacoloeG.seciveD.swodniW
eldnaHefaSecruoSeliTgA.slortnoC.spaM.enohP.tfosorciM
eldnaHefaSeliFevitaN.egarotS.enohP.tfosorciM
eldnaHefaSetuoRpaM.slortnoC.spaM.enohP.tfosorciM
eldnaHefaSetuoR.secivreS.spaM.enohP.tfosorciM
eldnaHefaSledoMyalrevOpaMgA.slortnoC.spaM.enohP.tfosorciM
eldnaHefaSlortnoCpaMgA.slortnoC.spaM.enohP.tfosorciM
eldnaHefaSnoisseSmC.noitamrofnIkrowteN.teN.enohP.tfosorciM
eldnaHefaSredniFgA.secivreS.spaM.enohP.tfosorciM
eldnaHefaSretuoRgA.secivreS.spaM.enohP.tfosorciM
eldnaHefaStcejbOpaM.slortnoC.spaM.enohP.tfosorciM
eldnaHefaSyeKgeR.noitamrofnIkrowteN.teN.enohP.tfosorciM
eldnaHemorhCppAefaS.poretnI.ledoMksaT.enohP.tfosorciM
eldnaHgaBytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
eldnaHnoitaminAlanretxE.slortnoC.spaM.enohP.tfosorciM
eldnaHotohP.seciveD.tfosorciM
eldnaHotohP.sksaT.enohP.tfosorciM
eldnaHreffuBksaToC.refsnarTdnuorgkcaB.enohP.tfosorciM
eldnaHreffuB.llehS.enohP.tfosorciM
eldnaHreffuBstB.refsnarTdnuorgkcaB.enohP.tfosorciM
eldnaHreganaMecruoseRnoitarbiV.seciveD.tfosorciM
eldnaHrenetsiLuneMefaS.poretnI.llehS.enohP.tfosorciM
eldnaHtseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
ELEMDECL(
[element] 
Element '
ELEMENT 
ElementAt
ElementAtOrDefault
Element choice is empty
Element content declaration doesn't start and stop in the same entity
element decl.
element declaration
Element declaration doesn't start and stop in the same entity
Element declaration has no name
Element declaration is NULL
ElementEffects
element empty is not empty
elementFormDefault
ElementInContext
Element interleave is empty
ElementName
ElementNameEditSupported
ElementNameMask
element notAllowed is not empty
Element or text conflicts in interleave
element position mismatch
ElementProvidingContext
Elements
?elementSize@TensorDesc@cask@@QEBA_JXZ
ElementSoftwareStatus
element table allocation failed
ElementToCheck
elem info has not been cleared
elem pop mismatch
 elevated
elevation
					Elevation
Elevation
elevationReason
elggoTrablooTknI.slortnoC.lmaX.IU.swodniW
elgnAaremaCgnicaR.secivreSremaG.krowemarF.anX.tfosorciM
elgnatceRgnidnuoBdelahsraM.slortnoC.spaM.enohP.tfosorciM
elgnatceRI.sepahS.lmaX.IU.swodniW
elgnatceR.krowemarF.anX.tfosorciM
elgnatceRnoitacoL.slortnoC.spaM.enohP.tfosorciM
elgnatceR.sepahS.lmaX.IU.swodniW
elgnatceRtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
elgniSflaH.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
eliFegarotS.egarotS.swodniW
eliFegarotSI.egarotS.swodniW
eliFegarotSlanretxE.egarotS.enohP.tfosorciM
#elif is not allowed after #else
eliforPdenoisivorPI.srotarepOkrowteN.gnikrowteN.swodniW
eliforPdenoisivorP.srotarepOkrowteN.gnikrowteN.swodniW
eliforPevitaNnpVI.npV.gnikrowteN.swodniW
eliforPevitaNnpV.npV.gnikrowteN.swodniW
eliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
eliforPgnidocnEaideM.seitreporPaideM.aideM.swodniW
eliforPmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
eliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
eliforPnIgulPnpVI.npV.gnikrowteN.swodniW
eliforPnIgulPnpV.npV.gnikrowteN.swodniW
eliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
eliforPnoitcennoC.ytivitcennoC.gnikrowteN.swodniW
eliforPnpVI.npV.gnikrowteN.swodniW
eliforPoediVerutpaCaideM.erutpaC.aideM.swodniW
eliforPoediVerutpaCaideMI.erutpaC.aideM.swodniW
eliforPoediVnoitpecrePI.noitpecreP.seciveD.swodniW
eliforPoediVnoitpecreP.noitpecreP.seciveD.swodniW
eliforPoediVnwonK.erutpaC.aideM.swodniW
eliforPremaG.secivreSremaG.krowemarF.anX.tfosorciM
eliforPscihparG.scihparG.krowemarF.anX.tfosorciM
eliFtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
eliFtupnI.scitnameS.redniBemitnuR.prahSC.tfosorciM
eliFvaW.oiduA.krowemarF.anX.tfosorciM
EligibleToRelaunchPostponedScoobeSession
eliTerotSeliT.llehS.enohP.tfosorciM
eliTllehS.llehS.enohP.tfosorciM
eliTroFseitreporPnekoT.llehS.enohP.tfosorciM
eliTtnetnoCdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
eliTtnetnoCdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
eliTyradnoceSI.neercStratS.IU.swodniW
eliTyradnoceS.neercStratS.IU.swodniW
ElkhartLake
ellipsis
)EL	LS[3
eLogTypeDebug
eLogTypeError
eLogTypeFatal
eLogTypeInfo
eLogTypeWarning
?e@Log@UDC@@QEAAXPEBGZZ
eloReciveDoiduA.seciveD.aideM.swodniW
eloRreeP.ytimixorP.gnikrowteN.swodniW
eloRtnapicitraPtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
elpatStnirP.gnitnirP.scihparG.swodniW
elp.b32	
elp.b32	1
elp.b32	b
elp.b32	g
elp.b32	m
elpmaSerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
elpmaSevitaNepocsoryG.srosneS.seciveD.tfosorciM
elpmaSevitaNnoitoM.srosneS.seciveD.tfosorciM
elpmaSevitaNretemoreleccA.srosneS.seciveD.tfosorciM
elpmaSevitaNssapmoC.srosneS.seciveD.tfosorciM
elpmaSmaertSaideM.eroC.aideM.swodniW
elpmaSmaertSaideMI.eroC.aideM.swodniW
elpmiSredivorPtnemelEwaRII.redivorP.noitamotuA.lmaX.IU.swodniW
elpmiSredivorPtnemelEwaRI.redivorP.noitamotuA.lmaX.IU.swodniW
elReader
_ELR?PpJ-yN7??
#else is not allowed after #else
elsewhere
eltiT.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
eludehcSdA.TRniW.derahS.gnisitrevdA.tfosorciM
ELUDEHCS_ELITEVIL_MP.llehS.enohP.tfosorciM
eludehcSkaerBaideMI.kcabyalP.aideM.swodniW
eludehcSkaerBaideM.kcabyalP.aideM.swodniW
eludoMeciveDoiduAI.seciveD.aideM.swodniW
eludoMeciveDoiduA.seciveD.aideM.swodniW
eluRgnicapSeniL.txeT.IU.swodniW
eluRgnilbanEdnammoCaideM.kcabyalP.aideM.swodniW
eluRlliF.aideM.lmaX.IU.swodniW
eluRretliFsmSI.smS.seciveD.swodniW
eluRretliFsmS.smS.seciveD.swodniW
_elWatcher
elytSegdaBmetIlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
elytSemarFwodniWppAI.tnemeganaMwodniW.IU.swodniW
elytSemarFwodniWppA.tnemeganaMwodniW.IU.swodniW
elytSeniLnoitaroceDtxeTnoitamotuA.noitamotuA.lmaX.IU.swodniW
elytSenilrednU.stnemucoD.lmaX.IU.swodniW
elytSeniLretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
elytShpargaraP.txeT.IU.swodniW
elytSI.lmaX.IU.swodniW
elytSlaremuNtnoF.lmaX.IU.swodniW
elytS.lmaX.IU.swodniW
elytSmetIdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
elytSnoitaminAnoitamotuA.noitamotuA.lmaX.IU.swodniW
elytSnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
elytSpaM.spaM.slortnoC.lmaX.IU.swodniW
elytSpuorGI.slortnoC.lmaX.IU.swodniW
elytSpuorG.slortnoC.lmaX.IU.swodniW
elytSrekraM.txeT.IU.swodniW
elytStelluBnoitamotuA.noitamotuA.lmaX.IU.swodniW
elytStnoFtxeTdemiT.eroC.aideM.swodniW
elytStnoF.txeT.IU.swodniW
elytStxeTdemiT.eroC.aideM.swodniW
elytStxeTdemiTI.eroC.aideM.swodniW
emaG.krowemarF.anX.tfosorciM
emailAddress
emaNdenifederP.xatnyS.redniBemitnuR.prahSC.tfosorciM
emaNepocStupnII.tupnI.lmaX.IU.swodniW
emaNepocStupnI.tupnI.lmaX.IU.swodniW
emaNepyT.poretnI.lmaX.IU.swodniW
emaNetelpmoC.ataDresU.enohP.tfosorciM
emaNtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
emaNtsoH.gnikrowteN.swodniW
emaNtsoHI.gnikrowteN.swodniW
emaN.xatnyS.redniBemitnuR.prahSC.tfosorciM
emaNylimaFegakcaPrellaChtiWsgrAtnevEdetavitcAeliFI.noitavitcA.ledoMnoitacilppA.swodniW
emaNytreporPSG.butS.secivreSremaG.krowemarF.anX.tfosorciM
emarFaideMderarfnII.semarF.erutpaC.aideM.swodniW
emarFaideMderarfnI.semarF.erutpaC.aideM.swodniW
emarFaideMhtpeDI.semarF.erutpaC.aideM.swodniW
emarFaideMhtpeD.semarF.erutpaC.aideM.swodniW
emarFaideMI.aideM.swodniW
emarFaideMoediVI.semarF.erutpaC.aideM.swodniW
emarFaideMoediV.semarF.erutpaC.aideM.swodniW
emarFaideMoiduAI.semarF.erutpaC.aideM.swodniW
emarFaideMoiduA.semarF.erutpaC.aideM.swodniW
emarFaideMreffuBI.semarF.erutpaC.aideM.swodniW
emarFaideMreffuB.semarF.erutpaC.aideM.swodniW
emarFcihpargoloH.cihpargoloH.scihparG.swodniW
emarFcihpargoloHI.cihpargoloH.scihparG.swodniW
emarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
emarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
emarFderutpaC.erutpaC.aideM.swodniW
emarFderutpaCI.erutpaC.aideM.swodniW
emarFerutpaC11D3tceriD.erutpaC.scihparG.swodniW
emarFerutpaC11D3tceriDI.erutpaC.scihparG.swodniW
emarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
emarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
emarFI.slortnoC.lmaX.IU.swodniW
emarFI.slortnoC.swodniW.metsyS
emarFnoitacilppAenohPI.slortnoC.enohP.tfosorciM
emarFnoitacilppAenohP.slortnoC.enohP.tfosorciM
emarFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
emarFnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
emarFoediV.aideM.swodniW
emarFoediVI.aideM.swodniW
emarFoediVmaertStsacdaorBppA.erutpaC.aideM.swodniW
emarFoediVmaertStsacdaorBppAI.erutpaC.aideM.swodniW
emarFoediVmaertSweiverPtsacdaorBppA.erutpaC.aideM.swodniW
emarFoediVmaertSweiverPtsacdaorBppAI.erutpaC.aideM.swodniW
emarFoediVrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
emarFoediVrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
emarFoiduA.aideM.swodniW
emarFoiduAI.aideM.swodniW
emarFoiduAmaertStsacdaorBppA.erutpaC.aideM.swodniW
emarFoiduAmaertStsacdaorBppAI.erutpaC.aideM.swodniW
emarFpamtiB.gnigamI.scihparG.swodniW
emarFpamtiBI.gnigamI.scihparG.swodniW
emarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
emarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
emarF.slortnoC.lmaX.IU.swodniW
emarF.slortnoC.swodniW.metsyS
emarFtceffEnoitceteDecaF.eroC.aideM.swodniW
emarFtceffEnoitceteDecaFI.eroC.aideM.swodniW
emarFtceffEsisylanAenecS.eroC.aideM.swodniW
emarFtceffEsisylanAenecSI.eroC.aideM.swodniW
emarFwodniWppAI.tnemeganaMwodniW.IU.swodniW
emarFwodniWppA.tnemeganaMwodniW.IU.swodniW
emarFyeKelbuoDenilpSI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDenilpS.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDetercsiDI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDetercsiD.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDgnisaE.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoD.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDraeniLI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKelbuoDraeniL.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCenilpSI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCenilpS.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCetercsiDI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCetercsiD.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCgnisaE.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloC.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCraeniLI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKroloCraeniL.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtcejbOetercsiDI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtcejbOetercsiD.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtcejbOI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtcejbO.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPenilpSI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPenilpS.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPetercsiDI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPetercsiD.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPgnisaE.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioP.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPraeniLI.noitaminA.aideM.lmaX.IU.swodniW
emarFyeKtnioPraeniL.noitaminA.aideM.lmaX.IU.swodniW
embar.gl;
embar.glV
Embedded
EmbeddedAttribute
embedded image 
_embeddedObj
embeddedscriptparser.cpp
embeddedscriptparser.h
embeddedscriptparsertests.cpp
embeddedscriptparsertests.h
-Embedding
Embedding
embedservice.cpp
EMCompleted
emehcSroloCpaM.spaM.slortnoC.lmaX.IU.swodniW
emehTIUerahS.refsnarTataD.ledoMnoitacilppA.swodniW
emehTnoitacilppA.lmaX.IU.swodniW
emehTtnemelE.lmaX.IU.swodniW
emenohPesenapaJI.noitazilabolG.swodniW
emenohPesenapaJ.noitazilabolG.swodniW
emenohPtxeTI.txeT.ataD.swodniW
emenohPtxeT.txeT.ataD.swodniW
E.m[GN9D
EMicrosoft.AppV.Client.StreamingUX.PublishingRefreshProgressBarControl
emitefiLpaM.slortnoC.spaM.enohP.tfosorciM
emitefiLporetnI.slortnoC.enohP.tfosorciM
EMITELIF.ataDresU.enohP.tfosorciM
emiTemaG.krowemarF.anX.tfosorciM
emiTetaD.noitadnuoF.swodniW
emiTngiseDresworBbeW.slortnoC.enohP.tfosorciM
emiTrehcteferPtnetnoCI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
emiTyeK.noitaminA.aideM.lmaX.IU.swodniW
emoctuOdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
eModeTypeWWW
emphasis
EMP specified multiple times
[empty] 
Empty BMP image
empty buffer
?Empty@CHString@@QEAAXXZ
EmptyClipboard
Empty command
EmptyControllerProperties
EmptyDiskProperties
empty distance tree with lengths
EmptyDriveProperties
empty: had a child node
Empty input file
Empty JPEG image (DNL not supported)
EmptyLunProperties
Empty path not allowed for put_child.
EmptyPortProperties
Empty reply from server
emptyset
EmptyStoragePoolProperties
empty string within braces
(Empty suboption?)
EmptyTargetProperties
EmptyTPGroupProperties
EmptyTPortalProperties
EmqVWz*et
:E;M;q;y;
)::::EMT
Emulation
emuloVegakcaPI.tnemyolpeD.tnemeganaM.swodniW
emuloVegakcaP.tnemyolpeD.tnemeganaM.swodniW
emuloVgnidnuoBlaitapSI.laitapS.noitpecreP.swodniW
emuloVgnidnuoBlaitapS.laitapS.noitpecreP.swodniW
eMultimedia
EMX specified more than once
EMyP3m?6
EnableAAA
#ENABLE_ALL_PC_FEATURESWW
Enable alt-svc with this cache file
?EnableAutoUnlock@BuiVolume@@QEAAJXZ
?EnableBreakHandling@KEYBOARD@@SAEXZ
EnableChildWindowDpiMessage
EnableCloaking
EnableCodeDownload
Enabled*
Enabled. 
EnabledByMEBx
EnabledCapabilities
EnabledColorSelection
EnabledDefault
EnableDebugAsserts
EnableDebugAssertsName
EnableDebugMode
EnableDevice
EnabledFeatureUsage
EnableDisableFeature
EnableDownScalingWWWL
EnabledPolicy
EnabledProcessorCharacteristics
enabled_profiles
EnabledState
ENABLEDWH
ENABLEDWx
EnableEUDC
EnableFakeCursor - BEGIN
EnableFakeCursor - END
EnableFeature specified
EnableFilter
EnableGATTBatteryCharacteristic
EnableGATT_Test
Enable GSS-API auth for SOCKS5 proxies
Enable HSTS with this cache file
Enable initial response in SASL authentication
EnableIntelWoVMode
 ENABLEIOMMUERRORS 
EnableLocalTimeSync
enableLogging
EnableLogging
 ENABLEMAKEROOTUNCACHEABLE 
EnableMenuItem
EnableMouseInPointer
EnableNativeWindows10WoVMode
EnablePerMonitorDialogScaling
 ENABLEPOSTEDINTERRUPTS 
_enablePreprocessing
 ENABLEROOTDMAERRORS 
EnableScrollBar
EnableSecondStage
EnableService
Enable SSH compression
Enable styled output for HTTP headers
EnableTask
Enable TLS False Start
EnableTrace
EnableTraceEx
EnableTraceEx2
EnableTransmitter
EnableValidation
enableVerbose
EnableVisualStyles
EnableVolumeCompression
EnableVpnRouting
EnableWindow
 ENABLEWWt
 ENABLEXSAVES 
Enabling CEM sensor events
Enabling fake cursor
--- Enabling Jxr Screenshots
enalP.krowemarF.anX.tfosorciM
enalP.sciremuN.noitadnuoF.swodniW
enaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
enaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
enaPsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
enaPsgnitteS.sgnitteSnoitacilppA.IU.swodniW
enaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
enaPsgnitteSstnuoccA.sgnitteSnoitacilppA.IU.swodniW
enaPtupnII.tnemeganaMweiV.IU.swodniW
enaPtupnI.tnemeganaMweiV.IU.swodniW
__enative_startup_state
EnclosedAlphanumerics
EnclosedCJKLettersandMonths
encodecp.cpp
EncodedCertBlob
_encoded_null
_encode_pointer
EncodePointer
encoder_count
Encoder count
encoder.cpp
encoderdoc.cpp
encoderdoc.h
encoder error
encodererrors.h
encoder.h
encoderopts.cpp
encoderopts.h
encoder_pch.h
--encodersessions
encodersessions
 ENCODER SESSIONS:
    encodersessions -- Display Encoder Sessions information.
    encodersessions             Displays device encoder sessions information. "nvidia-smi encodersessions -h" for more information.
encoder.stats
encoder_stats
    Encoder Stats
Encoder Stats
encoder.stats.averageFps
encoder.stats.averageLatency
encoder.stats.sessionCount
encoder_util
encoderutils.cpp
encoderview.cpp
encoderview.h
encoderxmlutils.hpp
encodevfs.cpp
encodevrg.cpp
encoding
encoding 
Encoding
Encoding error
EncodingLimit
EncodingType
encoding unknown
Encountered a NULL pointer
Encountered exception. Log:
EncounterTimeout
EncryptData
encrypted
EncryptedFileKeyInfo
EncryptFileW
EncryptionAlgorithm
EncryptionMethod
EncryptMessage
    ENC Utilization Samples
EndAdobeStdCompFont_BDY
EndBufferedPaint
EndCallorHangUpInterface
-----END CERTIFICATE-----
?EndDefer@Element@DirectUI@@QEAAXK@Z
EndDeferWindowPos
EndDialog
EndedUsingAtSeconds
EndFragment:
EndHTML:
EndingAddress
endinstallpage.cpp
EndInvoke
end of connectors
end of file
end of file expected
End Of Image
end of input
EndOfLifePackage
End Of Manufacturing Operation failure - Verification failure on Descriptor Lock settings.
End Of Manufacturing Operation failure - Verification failure on ME Manufacturing
End of parts; replacing connector
End-Of-Post message is not sent.
End of range is before start of range
END OF RECORD
EndPaint
_endPcValue
end-point
endpoint
EndPoint
EndpointAccessControlAdminRealm
EndpointAccessControlRealm
EndpointDeviceData
EndpointDeviceId
EndpointDeviceManagerMethods
EndpointGuid
_endpointId
EndpointID
_endpointInfo
EndPointInfo
EndPointInfoFlags
EndPointInfoToEndPointNode
endpointInstanceId
EndpointInstanceId
Endpoint interface query failed! Result: 0x
endpoint_mapper.cpp
endpoint_mapper_errors.h
endpoint_mapper.h
endpointmappertests.cpp
EndpointMigrationErrorException
EndpointMigrationErrorNotificationDelayName
EndpointMigrationState
EndPointNodeApprovalTypes
EndpointNotAvailable
_endpointProxy
EndpointProxy
_endpointProxyCount
_endpointProxyList
EndpointReference
EndPointState
EndpointUnavailable
endpointUrl
-----END PUBLIC KEY-----
EndSelection:
endswith
EndsWith
_endthreadex
enecSpaMI.spaM.slortnoC.lmaX.IU.swodniW
enecSpaM.spaM.slortnoC.lmaX.IU.swodniW
energyCounter
enforced.power.limit
enforced_power_limit
Enforced Power Limit
EnforceFail
enforcementMode
EnforceMultiPaStrategy
EnforceOwnerhsipForService
EnforcePermissionsForService
EnforceSecureBoot
EngineAcceptPrivateSensorTypeInfo
EngineAcceptSampleData
EngineActivate
engineAdapter
EngineAttach
EngineCheckForDuplicate
EngineClearContext
EngineCommitEnrollment
EngineCreateEnrollment
EngineDeactivate
EngineDetach
EngineDiscardEnrollment
Engineering build is 7000 and above. Regular build is below 7000.
EngineGetEnrollmentHash
EngineGetEnrollmentStatus
EngineIdentifyFeatureSetSecure
EngineNotifyPowerChange
EnginePipelineCleanup
EnginePipelineInit
EngineQueryCalibrationData
EngineQueryExtenedEnrollmentStatus
EngineQueryExtenedInfo
EngineQueryIndexVectorSize
EngineQueryPreferredFormat
EngineQuerySampleHint
EngineRefreshCache
EngineSampleClear
EngineSampleImportBegin
EngineSampleImportEnd
EngineSampleImportNext
EngineSelectCalibrationFormat
EngineSetAccountPolicy
EngineSetEnrollmentParameters
EngineSetEnrollmentSelector
EngineUpdateEnrollment
ENHANCED
enignEcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
enignEdaolnwoDDNI.ydaeRyalP.noitcetorP.aideM.swodniW
enignErcOI.rcO.aideM.swodniW
enignErcO.rcO.aideM.swodniW
enilemiTI.noitaminA.aideM.lmaX.IU.swodniW
enilemiT.noitaminA.aideM.lmaX.IU.swodniW
eniLenohPI.sllaC.ledoMnoitacilppA.swodniW
eniLenohP.sllaC.ledoMnoitacilppA.swodniW
eniLI.sepahS.lmaX.IU.swodniW
enilnII.stnemucoD.lmaX.IU.swodniW
enilnI.stnemucoD.lmaX.IU.swodniW
enilpSyeKI.noitaminA.aideM.lmaX.IU.swodniW
enilpSyeK.noitaminA.aideM.lmaX.IU.swodniW
eniLrcOI.rcO.aideM.swodniW
eniLrcO.rcO.aideM.swodniW
enilrednUI.stnemucoD.lmaX.IU.swodniW
enilrednU.stnemucoD.lmaX.IU.swodniW
eniL.sepahS.lmaX.IU.swodniW
eniLsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
eniLsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
eniLtxeTdemiT.eroC.aideM.swodniW
eniLtxeTdemiTI.eroC.aideM.swodniW
enilyloPI.sepahS.lmaX.IU.swodniW
enilyloPpaMI.spaM.slortnoC.lmaX.IU.swodniW
enilyloPpaM.slortnoC.spaM.enohP.tfosorciM
enilyloPpaM.spaM.slortnoC.lmaX.IU.swodniW
enilyloP.sepahS.lmaX.IU.swodniW
enoBledoM.scihparG.krowemarF.anX.tfosorciM
enoBratavA.secivreSremaG.krowemarF.anX.tfosorciM
enohporciM.oiduA.krowemarF.anX.tfosorciM
enohPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
enohPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
enoZdaeDdaPemaG.tupnI.krowemarF.anX.tfosorciM
enoZremaG.secivreSremaG.krowemarF.anX.tfosorciM
?.?E?N?p?
e_np]dwC80
EnrollDMPollTaskSchedulerFail
EnrollEngineInitialize
EnrollmentId
EnrollmentID
EnrollmentModelsNotFound
EnrollmentRecordingType
enrollments
EnrollPin
EnsurePolicyComplianceForSource
EnsureRootFolderInheritAclsAreSet
_ensureSingleInstancePerUserMutex
EnsureTracingDirectory
?EnsureVisible@Element@DirectUI@@UEAA_NHHHH@Z
Ensuring the plugin is registered.
EnterBroadcastModeAsync failed.
EnterContextMenuMode
EnterCriticalPolicySection
EnterCriticalSection
Entering
Entering Function...
Entering monitorHandlerInit
Entering monitorHandlerRun
Entering nvsmiReplay
Entering StartDisplayContainerService
Entering UBERGEMM
Entering Uninstall3DVision...
Entering wait ...
Entering WORKLOAD
?EnterLogOnUserMode@ImpersonateUser@@UEAAHXZ
Enterprise
ENTERPRISE
EnterpriseDataGetStatus
EnterpriseDataRevoke
EnterpriseName
ENTERPRISE_PFN
enterprise_policy_adapter.h
EnterprisePolicyManagerStore_GetAllProviderContextSidAreas
EnterprisePolicyManagerStore_RefreshAll
enterprise_process_notifier.cpp
EnterpriseProvisioning
EnterpriseRoot
enterprise_utils.hpp
EnterUmsSchedulingMode
 ENTITIES
ENTITIES
Entities in external subset
Entities in internal subset
ENTITYDECL(
Entity declaration doesn't start and stop in the same entity
Entity declaration has no name
Entity declaration is NULL
Entity element not expected
EntityInstance
Entity is NULL
EntityRef: expecting ';'
EntityValue: " or ' expected
Entity value required
entiu0E3
_entries
*Entrust.net Certification Authority (2048)0
"Entrust Timestamp Authority - TSA1
"Entrust Timestamp Authority - TSA10
Entrust Timestamping CA - TS1
Entrust Timestamping CA - TS10
entrypoint
EntryTypeName
.entry _ZN4cask22reorderImma8816MatrixBENS_24R
entstreampolicyadaptertest.cpp
EnumActiveDevicesWWW
EnumAttachableDevicesWWW
EnumAudioEndpoints
EnumAudioEndpoints failed! Result: 0x
enumBdeSvcApiWWW
enumBdeUIApp
EnumButtonWindow
EnumChildWindows
EnumClipboardFormats
EnumDependentServicesW
EnumDisplayDevicesW
EnumDisplayMonitors
EnumDisplaySettingsExW
EnumDisplaySettingsW
Enumerable
Enumerate
EnumerateBatteries
EnumerateDevices
EnumerateEPR
EnumerateEtlsPerDate
EnumerateFiles
EnumerateFileSystemEntries
EnumerateIdentityProviders
EnumerateObjectAndEPR
EnumerateStorageAllocEntries
EnumerateStorageEaclEntries
EnumerateUserAclEntries
enumeration
 ENUMERATION
EnumerationContext
enumeration.hpp
EnumerationMode
EnumerationOptions
    enumeration (starting with GPU index 0) are used for monitoring.
Enumerator
EnumExtensions
EnumFontFamiliesExW
EnumFontFamiliesW
enumOptions
EnumParts failed! Result: 0x
EnumPrintersW
EnumProcesses
EnumProcessModules
?EnumPropertyInfo@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
EnumSystemCodePagesW
EnumSystemLocalesEx
EnumSystemLocalesW
EnumThreadWindows
EnumTrstedDomEx_End
EnumTrstedDomEx_Start
EnumTrustedDoms_End
EnumTrustedDoms_Start
Enum.txt
EnumUILanguagesW
EnumWindowProc
EnumWindows
enuZxobXsdohteMevitaNefasnUrehctapsiDcnysAresU.krowemarF.anX.tfosorciM
envbuilderbase.h
envdirector.cpp
envdirector.h
Envelope
_environment
Environment
environment_block_rewriter.cpp
environment.cpp
environment.h
ENVIRONMENT_HELPER
Environment Monitoring Report Disabled
Environment_Variable
EnvironmentVariableTarget
envtracker.cpp
envtracker.h
env_utils.hpp
	eo3121f
EO8cU	Oci
EoAExperiences.pdb
eOrientationChanged
EOs arquivos ou aplicativos a seguir foram atualizados ou modificados.
eotS2oE_
EpA9E|s]f
epahSetirpSnoitisopmoCI.noitisopmoC.IU.swodniW
epahSetirpSnoitisopmoC.noitisopmoC.IU.swodniW
epahSI.sepahS.lmaX.IU.swodniW
epahSmurtcepSroloC.slortnoC.lmaX.IU.swodniW
epahSnoitisopmoCI.noitisopmoC.IU.swodniW
epahSnoitisopmoC.noitisopmoC.IU.swodniW
epahsoeGI.noitacoloeG.seciveD.swodniW
epahSpiTneP.gniknI.tupnI.IU.swodniW
epahSreniatnoCnoitisopmoCI.noitisopmoC.IU.swodniW
epahSreniatnoCnoitisopmoC.noitisopmoC.IU.swodniW
epahSrettimEedoNoiduAI.oiduA.aideM.swodniW
epahSrettimEedoNoiduA.oiduA.aideM.swodniW
epahS.sepahS.lmaX.IU.swodniW
!Ep!Et!EH!EhD
EPI9@Pu'I
EPID2GroupParamsFilePath
epid2_paramcert.dat
EPIDGroupCertLegacy.cer
EPIDGroupCertX509.cer
EPIDGroupLegacyFilePath
EPIDGroupParamsFilePath
EPIDGroupX509FilePath
epid_paramcert.dat
EPID provisioning failed!
EPID provisioning succeeded
EpidRekeyLicense
epiPnIkluBbsU.bsU.seciveD.swodniW
epiPnIkluBbsUI.bsU.seciveD.swodniW
epiPnItpurretnIbsU.bsU.seciveD.swodniW
epiPnItpurretnIbsUI.bsU.seciveD.swodniW
epiPtuOkluBbsU.bsU.seciveD.swodniW
epiPtuOkluBbsUI.bsU.seciveD.swodniW
epiPtuOtpurretnIbsU.bsU.seciveD.swodniW
epiPtuOtpurretnIbsUI.bsU.seciveD.swodniW
epocSdniFeciveDrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
epocSerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
epocSgnirotinoMtisiV.noitacoloeG.seciveD.swodniW
epocShcraeSyreuQliamE.liamE.ledoMnoitacilppA.swodniW
epocShcraeSyreuQtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
epocSlacihpargoeGsmS.smS.seciveD.swodniW
epocsoryGI.srosneS.seciveD.tfosorciM
epocsoryG.srosneS.seciveD.tfosorciM
epocS.scitnameS.redniBemitnuR.prahSC.tfosorciM
epocStnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
epocStupnII.tupnI.lmaX.IU.swodniW
epocStupnI.tupnI.lmaX.IU.swodniW
epocStupnItxeTeroC.eroC.txeT.IU.swodniW
Epppppppp
Eppppppppp
ePreprocessed
E. Process
epsilon 
epsilontonos
Epsilontonos
epsilon transition left at runtime
epyTadbmaLdnuoB.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTaideMeliforP.srotarepOkrowteN.gnikrowteN.swodniW
epyTaideMtnirP.gnitnirP.scihparG.swodniW
epyTaremaC.seciveD.tfosorciM
epyTataDerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
epyTataD.llehS.enohP.tfosorciM
epyTataDretemaraPtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
epyTataDtrelAmdM.tnemeganaM.swodniW
epyTbolByeKcilbuPcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
epyTbolByeKetavirPcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
EPYTBUH_ELIT_MP.llehS.enohP.tfosorciM
epyTbuSecafretnIkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
epytbuSeciveDbsuX.motsuC.tupnI.gnimaG.swodniW
epytbuStamroFoiduAlaitapS.oiduA.aideM.swodniW
epyTciffarTnyoJllA.nyoJllA.seciveD.swodniW
epyTciremuNedocinU.txeT.ataD.swodniW
epyTcitsongaiDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
epyTC.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTdA.IU.TRniW.gnisitrevdA.tfosorciM
epyTdaolyaPtekcaPmaertStropsnarT.smaertSyratnemelE.aideM.enohP.tfosorciM
epyTdaPemaG.tupnI.krowemarF.anX.tfosorciM
epyTdAtseuqeR.derahS.gnisitrevdA.tfosorciM
epyTdegnahCyrotsiHtsaoT.snoitacifitoN.IU.swodniW
epyTdenifederP.xatnyS.redniBemitnuR.prahSC.tfosorciM
epyTdioV.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTdIppAnpV.npV.gnikrowteN.swodniW
epyTdIresU.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
epyTDItnetnoCDN.ydaeRyalP.noitcetorP.aideM.swodniW
epyTdleiFtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
EPYTDNUF.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTecafretnIkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
epyTeciveDbsuX.motsuC.tupnI.gnimaG.swodniW
epyTeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
epyTeciveDecivreS.elbatroP.seciveD.swodniW
epyTeciveDoiduA.aideM.lmaX.IU.swodniW
epyTeciveDoiduAreyalPaideM.kcabyalP.aideM.swodniW
epyTeciveD.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
epyTeciveDretnioP.tupnI.seciveD.swodniW
epyTeciveD.seciveD.tfosorciM
epyTecivreSfG.secivreSremaG.krowemarF.anX.tfosorciM
EPYT_ECNERRUCER_ELITEVIL_MP.llehS.enohP.tfosorciM
epyTecnerruceR.stnemtnioppA.ledoMnoitacilppA.swodniW
epyTecruoSaideM.aideM.krowemarF.anX.tfosorciM
epyTecruoseRdexednI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
epyTecruoseRecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
epyTecruoseRreggirTlennahClortnoC.stekcoS.gnikrowteN.swodniW
epyTecruoStropmIotohP.tropmI.aideM.swodniW
epyTedoN.moD.lmX.ataD.swodniW
epyTegamI.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
epyTegasseMidiM.idiM.seciveD.swodniW
epyTegasseMsmS.smS.seciveD.swodniW
epyTegasseMtekcoS.stekcoS.gnikrowteN.swodniW
epyTegasseMtnevErotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
epyTegnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
epyTegnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
epyTegnahCerutcurtSnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
epyTegnahCetatSmetsyStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
epyTegnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
epyTegnahCtidEtxeTnoitamotuA.noitamotuA.lmaX.IU.swodniW
epyTegnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
epyTegnahCyrarbiLegarotS.egarotS.swodniW
epyTelballuN.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTeldnaH.beW.smroftalP.secivreSremaG
epyTeliTtnetnoCdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
EPYT_ELITTRATS_MP.llehS.enohP.tfosorciM
epyTemaNniamoD.gnikrowteN.swodniW
epyTemaNniamoDnpV.npV.gnikrowteN.swodniW
epyTemaNtsoH.gnikrowteN.swodniW
epyTenilrednU.txeT.IU.swodniW
epyTepahsoeG.noitacoloeG.seciveD.swodniW
epyTerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
epyTerutseG.slortnoC.spaM.enohP.tfosorciM
epyTerutxeT.scihparG.krowemarF.anX.tfosorciM
epyTesnopseRgniteeMliamE.liamE.ledoMnoitacilppA.swodniW
epyTetacifitreCDN.ydaeRyalP.noitcetorP.aideM.swodniW
epyTetagerggA.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTetalpmeTegdaB.snoitacifitoN.IU.swodniW
EPYT_ETALPMET_ELIT.llehS.enohP.tfosorciM
epyTetalpmeTeliT.snoitacifitoN.IU.swodniW
epyTetalpmeTtsaoT.snoitacifitoN.IU.swodniW
epyTetalpmeTtuoylFeliT.snoitacifitoN.IU.swodniW
epyTeulaVnosJ.nosJ.ataD.swodniW
epyTeulaVredahSteG.scihparG.krowemarF.anX.tfosorciM
epyTeulaVtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
epyTeulaVytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
epyTevitimirP.scihparG.krowemarF.anX.tfosorciM
epyTgnidaeRretemoreleccA.srosneS.seciveD.swodniW
epyTgnidaeRrosneS.srosneS.seciveD.swodniW
epyTgnilahsraM.atadateM.noitadnuoF.swodniW
epyTgnippihStnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
epyTgnitropeRrewoPsoPdeifinU.ecivreSfOtnioP.seciveD.swodniW
epyTgnitropeRrorrEredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
epyThcnuaLresoohC.sksaT.enohP.tfosorciM
epyThtaPataDnpV.npV.gnikrowteN.swodniW
epyThtiWdleiF.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtiWhteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtiWmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtiWporPhteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtiWporP.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtiWtnevE.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyThtuAralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
epyTIRU.llehS.enohP.tfosorciM
epyTkcabyalPaideM.aideM.swodniW
epyTkdS.TRniW.derahS.gnisitrevdA.tfosorciM
epyTkniL.txeT.IU.swodniW
epyTkramdnaLnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
epyTlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
epyTlaitnederCnpV.npV.gnikrowteN.swodniW
epyTlexiPedoceD.gnigamI.aideM.lmaX.IU.swodniW
epyTliamecioVenohP.sllaC.ledoMnoitacilppA.swodniW
epyTlianbmuhT.seitreporPeliF.egarotS.swodniW
epyTllaC.cisaBlausiV.tfosorciM
epyTllaCdeganaM.krowemarF.anX.tfosorciM
epyTllaClenreK.secivreSremaG.krowemarF.anX.tfosorciM
epyTllatsnInoitacilppA_MP.secivreSremaG.krowemarF.anX.tfosorciM
epyTllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
epyTlluN.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTlmaXI.pukraM.lmaX.IU.swodniW
epyTlocotorPevitaNnpV.npV.gnikrowteN.swodniW
epyTlortnoCnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
epyTmaertSaideMDN.ydaeRyalP.noitcetorP.aideM.swodniW
epyTmaertSaideM.erutpaC.aideM.swodniW
epyTmaertSerutciP.aideM.krowemarF.anX.tfosorciM
epyTmetIraBuneM.poretnI.llehS.enohP.tfosorciM
epyTmetItellaW.tellaW.enohP.tfosorciM
epyTmuideMegarotStropmIotohP.tropmI.aideM.swodniW
epyTniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
epyTnoissimrePlortnoCweiVbeW.IU.beW.swodniW
epyTnoissimrePweiVbeW.slortnoC.lmaX.IU.swodniW
epyTnoitacerpeD.atadateM.noitadnuoF.swodniW
epyTnoitacifitoNhsuP.snoitacifitoNhsuP.gnikrowteN.swodniW
epyTnoitacifitoNkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
epyTnoitacifitoNlanretnI.tellaW.enohP.tfosorciM
epyTnoitacifitoN.tellaW.enohP.tfosorciM
epyTnoitacilppA.poretnI.ledoMksaT.enohP.tfosorciM
epyTnoitacitnehtuAkrowteN.ytivitcennoC.gnikrowteN.swodniW
epyTnoitacitnehtuAnpAralulleC.ytivitcennoC.gnikrowteN.swodniW
epyTnoitacitnehtuArotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
epyTnoitacitnehtuAtnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
epyTnoitacoLaideM.sksaT.enohP.tfosorciM
epyTnoitalacsEcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
epyTnoitalumEdraCtramS.sdraCtramS.seciveD.swodniW
epyTnoitaminAytreporP.scirteMnoitaminA.eroC.IU.swodniW
epyTnoitaruD.lmaX.IU.swodniW
epyTnoitatonnA.noitamotuA.lmaX.IU.swodniW
epyTnoitcAaideMhciR.IU.TRniW.gnisitrevdA.tfosorciM
epyTnoitcAdeludehcS.reludehcS.enohP.tfosorciM
epyTnoitcAretliFsmS.smS.seciveD.swodniW
epyTnoitceleSerutaeFtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
epyTnoitceleS.txeT.IU.swodniW
epyTnoitcelloCdiH.eciveDecafretnInamuH.seciveD.swodniW
epyTnoitcesretnIenalP.krowemarF.anX.tfosorciM
epyTnoitceteDytimixorPDN.ydaeRyalP.noitcetorP.aideM.swodniW
epyTnoitidnoCmetsyS.dnuorgkcaB.ledoMnoitacilppA.swodniW
epyTnoitisopmoC.atadateM.noitadnuoF.swodniW
epyTnoitpOtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
epyTnoitpyrcnEkrowteN.ytivitcennoC.gnikrowteN.swodniW
epyTpIralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
epyTpooLevruC.krowemarF.anX.tfosorciM
epyTpuorGdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTredivorPnoitpyrcnEsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
epyTredlohecalPepyTnepO.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTrefsnarTlortnoCbsU.bsU.seciveD.swodniW
epyTreggirTdraCtramS.sdraCtramS.seciveD.swodniW
epyTreggirTenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
epyTreggirTmetsyS.dnuorgkcaB.ledoMnoitacilppA.swodniW
epyTreggirTnoitacoL.dnuorgkcaB.ledoMnoitacilppA.swodniW
epyTreifidoMretemaraP.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTrekraM.txeT.IU.swodniW
epyTresU.metsyS.swodniW
epyTretemaraPepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTretemaraPtceffE.scihparG.krowemarF.anX.tfosorciM
epyTretemaraPtceffEXD3D.scihparG.krowemarF.anX.tfosorciM
epyTretnioP.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTretteB.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTrevreStnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
epyTroivaheBtaepeR.noitaminA.aideM.lmaX.IU.swodniW
epyTroloCIU.tnemeganaMweiV.IU.swodniW
epyTrorrEkcarTredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
epyTrorrElennahC.noitacifitoN.enohP.tfosorciM
epyTrorrE.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTrosneS.srosneS.seciveD.swodniW
epyTrosruCeroC.eroC.IU.swodniW
epyTrosruCyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
epyTrotceleSeciveDtceriDiFiW.tceriDiFiW.seciveD.swodniW
epyTsgnitteSnoitcennoC.sksaT.enohP.tfosorciM
epyTsseccAerotSksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
epyTsseccAerotSliamE.liamE.ledoMnoitacilppA.swodniW
epyTsseccAerotSnoitatonnAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
epyTsseccAerotStcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
epyTsseccAerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
epyTsseccAerotStnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
epyTsseccAerotSyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
epyTsserddAhtooteulB.htooteulB.seciveD.swodniW
epyTstnioPpanS.slortnoC.lmaX.IU.swodniW
epyTsutatSmetsySetomeR.smetsySetomeR.metsyS.swodniW
epyTtceffEoiduA.stceffE.aideM.swodniW
epyTtcejbOD3gnitnirP.D3gnitnirP.scihparG.swodniW
epyTtcejbOpnP.pnP.noitaremunE.seciveD.swodniW
epyTtcilfnoCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
epyTtcudorP.erotS.ledoMnoitacilppA.swodniW
epyTtegraTerutpaCtsacdaorBppA.erutpaC.aideM.swodniW
epyTtekcaPBCLH.scihparG.krowemarF.anX.tfosorciM
epyTteraC.txeT.IU.swodniW
epyTtinUdirG.lmaX.IU.swodniW
epyTtnemelEIU.tnemeganaMweiV.IU.swodniW
epyTtnemelEroC.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
epyTtnemniatnoC.krowemarF.anX.tfosorciM
epyTtnemucoDlmXI.moD.lmX.ataD.swodniW
epyTtnemucoDlmX.moD.lmX.ataD.swodniW
epyTtnenopmoCenecS.senecS.noitisopmoC.IU.swodniW
epyTtnetnoCecalptekraM.sksaT.enohP.tfosorciM
epyTtnetnoChtiWmaertSsseccAmodnaRI.smaertS.egarotS.swodniW
epyTtnetnoCtropmIotohP.tropmI.aideM.swodniW
epyTtnevEllorcS.sevitimirP.slortnoC.lmaX.IU.swodniW
epyTtnevEyeKrotareleccAeroC.eroC.IU.swodniW
epyTtnevEytivitcAlennahCnpV.npV.gnikrowteN.swodniW
epyTtniartsnoCnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
epyTtniopdnEbsU.bsU.seciveD.swodniW
epyTtnuoCegaPweiverP.gnitnirP.lmaX.IU.swodniW
epyTtolSecarTcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
epyTtpmorPlaitnederC.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
epyTtpmorPtseuqeRnekoTbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
EPYTTREVNOC.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTtropeRdiH.eciveDecafretnInamuH.seciveD.swodniW
epyTtroppuSyreuQhcnuaL.metsyS.swodniW
epyTtsacdaorBsmS.smS.seciveD.swodniW
epyTtseretnIfOnoigeR.seciveD.aideM.swodniW
epyTtseuqeRlortnoCbsU.bsU.seciveD.swodniW
epyTtseuqeRlortnoCbsUI.bsU.seciveD.swodniW
epyTtsiLtnemugrA.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTtsoCkrowteN.ytivitcennoC.gnikrowteN.swodniW
epyTtupnIdezinorhcnyS.noitamotuA.lmaX.IU.swodniW
EPYT_TVEC.ataDresU.enohP.tfosorciM
epyTtxeTnoitacidnyS.noitacidnyS.beW.swodniW
epyTweiVtneilCtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
epyTxetreVI.scihparG.krowemarF.anX.tfosorciM
epyTyarrA.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTyciloPgnituoRnpV.npV.gnikrowteN.swodniW
epyTydoBratavA.secivreSremaG.krowemarF.anX.tfosorciM
epyTydoB.scitnameS.redniBemitnuR.prahSC.tfosorciM
epyTyeKgnidniBnekoT.beW.noitacitnehtuA.ytiruceS.swodniW
epyTyrevocsiDmetsySetomeR.smetsySetomeR.metsyS.swodniW
epyTytivitcA.srosneS.seciveD.swodniW
EPYT_YTREPORP_ELIT.llehS.enohP.tfosorciM
epyTytreporPmetItellaW.tellaW.enohP.tfosorciM
epyTytreporP.noitadnuoF.swodniW
epyTytreporPtsalX.secivreSremaG.krowemarF.anX.tfosorciM
EQ-O-1909u9u9#*#*
eqpppppppp
EqualDomainSid
EqualRect
EqualSid
 equal to
equivalence
_eqz)]9R
eRaOa(b'b
?EraseBkgnd@HWNDHost@DirectUI@@MEAA_NPEAUHDC__@@PEA_J@Z
erehpSgnidnuoB.krowemarF.anX.tfosorciM
erehpSgnidnuoBlaitapS.laitapS.noitpecreP.swodniW
erivedFont
erneG.aideM.krowemarF.anX.tfosorciM
eroClortnoCpaM.spaM.enohP.tfosorciM
erocSnoitaulavEytimixorPeroC.eroC.IU.swodniW
eroCsnoitpOksaTtnirPI.gnitnirP.scihparG.swodniW
erohpameS.evitcaeR.enohP.tfosorciM
ERole_enum_count
eRotation
erotSegasseMeciveDsmSI.smS.seciveD.swodniW
erotSegasseMeciveDsmS.smS.seciveD.swodniW
erotSegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
erotSegasseMtahC.tahC.ledoMnoitacilppA.swodniW
erotSetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erotSetacifitreCresUI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erotSetacifitreCresU.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erotSetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erotSksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
erotSksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
erotSliamEI.liamE.ledoMnoitacilppA.swodniW
erotSliamE.liamE.ledoMnoitacilppA.swodniW
erotSllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
erotSllaCenohP.sllaC.ledoMnoitacilppA.swodniW
erotSmetItellaWI.tellaW.ledoMnoitacilppA.swodniW
erotSmetItellaW.tellaW.ledoMnoitacilppA.swodniW
erotSmetsySmetItellaWI.metsyS.tellaW.ledoMnoitacilppA.swodniW
erotSmetsySmetItellaW.metsyS.tellaW.ledoMnoitacilppA.swodniW
erotSnoitatonnAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
erotSnoitatonnAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
erotSrohcnAlaitapSI.laitapS.noitpecreP.swodniW
erotSrohcnAlaitapS.laitapS.noitpecreP.swodniW
erotStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
erotStcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
erotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
erotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
erotStnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
erotStnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
erotSyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
erotSyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
erotSytitnElaitapSI.laitapS.noitpecreP.swodniW
erotSytitnElaitapS.laitapS.noitpecreP.swodniW
erotSytreporPlaitnederCdrowssaP.slaitnederC.ytiruceS.swodniW
err_[844
Errant provider--path does not have corresponding path policy
Errant provider--returned S_OK with a NULL pointer
Errant provider--returned S_OK with a NULL pointer or number of paths returned is inconsistent
ERR_HASH_HEADER_FLAG_SET
ErrMsgCmdLineParser
errmsg.exe
errmsg.g.resources
errmsg.MainWindow
errmsg.Properties
errmsg.Properties.Resources.resources
ERR: no response recieved from devplatform.
error : 
 Error: 
. Error: 
Error accept()ing server connect
ErrorAccess
ERROR_ACCESS_DENIED
Error accessing the function "GetSystemFirmwareTable" from "kernel32.dll".
Error accessing the "kernel32.dll".
ErrorAddress
Error allocating memory for device interface list.
ErrorAlreadyInitialized
Error: AMTHI Command number is incorrect.
Error appending to internal buffer.
ERROR at 
Error at socket(): 
Error: Buffer size is too small!
error call driver run!!
Error calling dataWindowForLevel() on image file "
Error calling dataWindowForTile() on image file "
Error calling levelWidth() on image file "
Error calling numXTiles() on image file "
error: cannot delete version reported in the local config file. Please use the unregister API to first clear the config file entry for this feature.
Error: Capability Id is not valid
Error checking global in use event
Error choosing Huffman decoder implementation (insufficient number of bits).
ErrorCleared
error: cmsid not specified
_errorCode
errorCode
ErrorCode
errorcode.cpp
errorcode.h
ErrorCodes
errorcode_tests.cpp
Error: command server has failed to open a connection
Error compressing RLE'd data.
error connecting to HTTP server
Error connecting to remote host
Error converting FrameworkMoniker from UTF8
Error copying account name.
Error Correction Code (ECC)
error: could not create model folder
Error: Could not fetch the requested object.
error: could not identify existing version to compare against server version
Error: could not send data to HECI client
--errorcounters
error: curl failed to initialize
error_data
ErrorData
ErrorDataOrder
Error decoding Huffman table (Run beyond end of table).
Error decoding Huffman table (Truncated table data).
Error decompressing data (input data are longer than expected).
Error decompressing data (input data are shorter than expected).
ErrorDescription
Error determining possible system states.
ERROR_DEVICE_LOST
Error: discoverVmType() failed
Error: Domain Id is not valid
Error: Domain not available.
ErrorDriverNotLoaded
error: driver update needed to use latest features
Error during loading a string resource. Following string resource id could not be found: 
Error during loading resource library. Could not find mapping for default language
Error during private namespace creation!
error encountered when reading a file
Error esif_ccb_malloc() failed
ERROR_EXTENSION_NOT_PRESENT
Error: Failed on RecieveResponse
ERROR: Failed to allocate GPU component filename
ERROR: Failed to allocate nvlog component filename
ERROR: Failed to allocate system component filename
ERROR: failed to create reset complete event!
error: failed to extract driver version from server config
error: Failed to extract version from input
error: failed to extract version from input parameters
error: failed to extract version from local config
error: failed to extract version from server
error: failed to extract version from the local config
error: failed to get server feature version
ERROR: failed to remove a shared session that has no owners
ERROR: failed to unload applet that has no sessions!
Error: failed to unregister heci events
ERROR_FEATURE_NOT_PRESENT
ERROR_FILE_NOT_FOUND
ERROR: FormatMessage returned NULL wszOutMsg
ERROR_FORMAT_NOT_SUPPORTED
Error: formatting action
Error: formatting time
ERROR_FRAGMENTATION
ERROR_FRAGMENTED_POOL
ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
Error: FWUpdate Command number is incorrect.
errorgen.h
Error getting current working directory path.
Error getting current working directory permission:
Error getting participant information
Error getting ptr to tag data
Error getting StringRef
ErrorHigh
errorHistory
Error in adding timeseries
Error in cmd line argument "-alpha" - no coefficient specified
Error in cmd line argument "-in0" - no file specified
Error in cmd line argument "-in1" - no file specified
Error in cmd line argument "-maxfreq" - no coefficient specified
Error in cmd line argument "-nthreads" - no number specified
Error in cmd line argument "-out" - no file specified
Error in cmd line argument "-shape" - no shape specified
Error in cmd line argument "-tileh" - no number specified
Error in cmd line argument "-tilew" - no number specified
Error in cnd init
ERROR_INCOMPATIBLE_DISPLAY_KHR
ERROR_INCOMPATIBLE_DRIVER
Error in connecting to HECI. 
Error in creating log query thread
Error in creating query thread to query device
Error in creating thread for replay
Error in creating writer thread for logging
Error in creating writer thread to display monitoring information
ErrorInfo
ErrorInformation
error_information.cpp
error_information.h
Error in formatting event message
Error in framework logic - received unknown class to create: 
Error in getting keyed vector
Error in getting timeseries from device stats
Error in header for Huffman-encoded data (invalid number of bits).
Error in header for PIZ-compressed data (invalid array length).
Error in header for PIZ-compressed data (invalid bitmap size).
Error in HeciConnectHCI.DeviceIoControl:
Error in Huffman-encoded data (code table is longer than expected).
Error in Huffman-encoded data (decoded data are longer than expected).
Error in Huffman-encoded data (decoded data are shorter than expected).
Error in Huffman-encoded data (invalid code).
Error in Huffman-encoded data (invalid code table entry).
Error in Huffman-encoded data (invalid code table size).
Error in Huffman-encoded data (unexpected end of code table data).
Error in Initialization
Error in init of device stats collection
Error in init of vector for metric instances
Error in ioctl connect client
Error in ioctl get version
ERROR_INITIALIZATION_FAILED
error initializing curl
error initializing curl library
Error initializing timer
Error in LookupAccountSid.
Error in mutex init
Error in parsing file name
Error in parsing options
Error in parsing start time
ERROR: input in scanner failed
Error: Input parameter is NULL 
Error in Setting FrameBuffer Attribute.
Error in Setting Terminator Attribute.
Error in Setting TimeStamp Attribute.
ERROR_INSUFFICIENT_BUFFER
ErrorInsufficientPower
ErrorInsufficientSize
Error in the HTTP2 framing layer
Error in the SSH layer
ErrorInvalidArgument
Error Invalid Capability Type received in ThermalApi Polling Callback. Ignoring
error: Invalid CMS ID passed in. CMS IDs must contain only digits (0-9).
ERROR_INVALID_DATA
Error:Invalid Domain Id Input.
ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT
ERROR_INVALID_EXTERNAL_HANDLE
Error invalid input arguments. See help for command usage
Error:Invalid input command.
Error:Invalid input command. See help for command usage.
Error:Invalid input for capability Id
Error Invalid input parameters
ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
ERROR_INVALID_SHADER_NV
Error:Invalid usage. See help for command usage.
Error: JhiGetRegistryValues() failed
Error: JHI service already running.
Error: JHI service has not been started.
Error launching installer
ERROR_LAYER_NOT_PRESENT
Error loading operating system
Error locking mutex
ERRORLOG
ErrorLow
Error: MeiException. Reason: 
Error: memory allocation: bad memory block type.
ERROR_MEMORY_MAP_FAILED
errorMessage
ERROR Message(1)
errormessagehelper.cpp
errormessagehelpertest.cpp
ErrorMethodology
error: Missing CMSID. The delete API requires a CMSID to be passed in by the caller.
error: Missing CMSID. The unregister API requires a CMSID to be passed in by the caller.
error: Missing feature ID. The bootstrap API requires a feature ID to be passed in by the caller.
error: Missing feature ID. The checkForUpdate API requires a feature ID to update.
error: Missing feature ID. The delete API requires a feature ID to be passed in by the caller.
error: Missing feature ID. The getpath API requires a feature ID to look up the path for.
error: Missing feature ID. The update API requires a feature ID to update.
error: Missing version number. The unregister API requires a version number to be passed in by the caller.
error: Missing version. The delete API requires a version to be passed in by the caller.
Error: MKHI RuleDataLen is incorrect
Error: MKHI RuleID is incorrect
ERROR_MORE_DATA
errormsg
ErrorMsgHelper
ErrorMsgType
errorName
ERROR_NATIVE_WINDOW_IN_USE_KHR
error: NGXGetPath failed to obtain path to models
error: NGXReturnModelsDirectory model path couldn't be properly built
Error: No active device interfaces found.
Error : No Data to Log
ERROR_NO_MORE_ITEMS
ErrorNoPermission
ERROR: No profile found for application. Key cannot be set.
ERROR: No profile found for application. No key to remove.
Error : Not able to start logging
ErrorNotFound
ERROR_NOT_PERMITTED_EXT
ERROR_NOT_PERMITTED_KHR
ErrorNotSupported
ERROR_NOT_SUPPORTED
error: NvAPI_EnumPhysicalGPUs failed
ERROR: NVLOG is not supported on this system.
Error occured when trying open old config file: 
Error occured when trying to remove old backup config file: 
Error occured when trying to remove temporary config file: 
Error occured when trying to rename file: 
Error occured when trying to update config file: 
Error occured while registrering service control handler
!!Error occurred while converting string from Unicode to MultiByte. Log message has been lost!!
Error occurred while reading the file.
Error occurred while writing to the file.
--error-on-warning
ERROR_OUT_OF_DATE_KHR
ERROR_OUT_OF_DEVICE_MEMORY
ERROR_OUT_OF_HOST_MEMORY
error: out of memory
ERROR_OUT_OF_POOL_MEMORY
ErrorPageDisplayed
error parsing attribute name
Error: Participant Id is not valid
Error:Participant Not Found
ERROR_PATH_NOT_FOUND
Error: pfnPowerRegisterEnvironmentalMitigation is NULL 
Error: pfnSetTransport() failed
Error: pluginRegister() failed
ERROR quit
Error: Read buffer size is zero
Error reading buffer
Error reading data
Error reading pixel data from image file "
Error reading sample count data from image file "
Error reading size data
Error reading tag
Error reading tag data
Error: Received command could not be verified.
Error refs definitions
ErrorResolution
Error: response buffer too short
Error: response buffer too short.
Error retrieving content.
error retrieving curl library information
Error saving the Task : 
Errors detected in global device memory.
Errors detected in global SRAMs.
Errors detected in register file memory.
Errors detected in the L1 cache.
Errors detected in the L2 cache.
Errors encountered; exiting from script mode
Error sending document to URI
Error: sending FWU_GET_VERSION request to HECI failed.
Error: send message failed
error: server version not supported
ERROR_SERVICE_SPECIFIC_ERROR
errorsetter.cpp
errorsetter.hpp
Error: Some Exception: 
Error: Some ResourceException ID: 
ErrorSource
ErrorSourceFormat
Error starting timer
ErrorString
Error: str is too long!
ERROR_SUCCESS
ERROR_SUCCSESS
ERROR_SURFACE_LOST_KHR
error: Test mode and PrintURL mode cannot be engaged at the same time.
error: Test mode requires -testroot to be set
error: the event manager is not initialized
Error: the service does not exist.
ErrorTime
ErrorTimeout
Error: Too few parameters. 
ERROR_TOO_MANY_OBJECTS
ErrorTransferSize
Error trying to exe information
Error trying to find TAG_EXE_ID
Error trying to read Apphelp Display resources
Error trying to read Apphelp Display resources from Custom database
Error trying to read TAG_APP_ID
Error trying to read TAG_EXE_ID
ErrorType
error: Unable to allocate memory
Error: Unable to allocate memory
Error: Unable to allocate memory for the service configuration.
error: Unable to complete downloading file... Deleting the partially downloaded file
Error:  Unable to connect to server.
Error: Unable to copy executable to system folder.
Error: Unable to create the service.
error: Unable to delete directory: 
error: Unable to delete file
Error: Unable to determine service configuration size.
error: Unable to download config files
error: Unable to download the file 
Error: Unable to get a handle to the SCM.
error: Unable to get driver version. Terminating execution.
Error: Unable to get system directory path.
Error: Unable to get the executable file path.
error: Unable to initialize CURL
error: Unable to load the local config file. Perhaps you need to run the bootstrap API.
error: unable to open the local config file. Perhaps you need to bootstrap a feature first.
error: Unable to open zipped file
Error: Unable to retrieve or no IDSP present
Error: Unable to update service description.
Error: Unable to update service failure actions.
error: Unable to validate the downloaded file... Deleting it
error: Unable to write extracted file
Error: Unable to write new IDSP
Error uncompressing DWA data (corrupt cscIdx rule).
Error uncompressing DWA data(corrupt header).
Error uncompressing DWA data (corrupt rule).
Error uncompressing DWA data (corrupt scheme rule).
Error uncompressing DWA data (truncated file).
Error uncompressing DWA data(truncated file).
Error uncompressing DWA data(truncated header).
Error uncompressing DWA data (truncated rule).
Error uncompressing RLE data.
Error uncompressing UNKNOWN data.
error: Unexpected API detected
ErrorUninitialized
ErrorUnknown
ERROR_UNKNOWN
Error: Unknown exception
error: Unknown feature detected. Perhaps you need to run the bootstrap API for this feature.
error: Unknown feature detected. Server does not know about this feature.
Error: Unknown option specified
ERROR_UNSUPPORTED_TYPE
error: Updater failed
Error: UUID must be in the format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Error: UUID must be specified
Error validating list
ERROR_VALIDATION_FAILED_EXT
Error waiting on data log event
ErrorWarning
Error when closing file 
Error when deleting file: 
Error when moving to end of file 
Error when opening file 
Error when reading file 
Error when renaming file from 
Error when writing 
Error while allocating buffer for integrity token
Error while allocating buffer for integrity token: 
Error while creating envelope
Error while enabling logging.
Error while opening process token: 
Error while parsing command line options.
Error while parsing parameters: 
error while reading standard input
Error while retrieving integrity token: 
Error while retrieving TokenIntegrityLevel. This behaviour is expected for WinXP. Error: 
Error while waiting for server connect
Error writing temporary file. Make sure your temp folder is valid.
Error writing to IPC channel.
Error writing to log. errorcode:
Error: Wrong buffer size!
ErrorWWW
ErrOSFileIIoControlReadOnly
ERR_ROMPACK_OFFSET
errSystem
ers richtet sich nach der Schiedsordnung der AAA.
erudecorPgniriaPtceriDiFiW.tceriDiFiW.seciveD.swodniW
erugiFhtaP.aideM.lmaX.IU.swodniW
erugiFhtaPI.aideM.lmaX.IU.swodniW
erutaeFetacifitreCDN.ydaeRyalP.noitcetorP.aideM.swodniW
erutaeFmetsySerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
erutaeFtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
erutaeFtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
erutangiSdehcateDsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erutangiSdehcateDsmC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erutangiSdehcattAsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erutangiSdehcattAsmC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
erutcetihcrArossecorP.metsyS.swodniW
erutciP.aideM.krowemarF.anX.tfosorciM
erutciPnosrePI.slortnoC.lmaX.IU.swodniW
erutciPnosreP.slortnoC.lmaX.IU.swodniW
erutciPtcatnoC.ataDresU.enohP.tfosorciM
erutpaCaideM.erutpaC.aideM.swodniW
erutpaCaideMI.erutpaC.aideM.swodniW
erutpaCecneuqeSotohPelbairaV.eroC.erutpaC.aideM.swodniW
erutpaCecneuqeSotohPelbairaVI.eroC.erutpaC.aideM.swodniW
erutpaCecneuqeSotohPgaLwoL.erutpaC.aideM.swodniW
erutpaCecneuqeSotohPgaLwoLI.erutpaC.aideM.swodniW
erutpaCotohPdecnavdA.erutpaC.aideM.swodniW
erutpaCotohPdecnavdAI.erutpaC.aideM.swodniW
erutpaCotohPgaLwoL.erutpaC.aideM.swodniW
erutpaCotohPgaLwoLI.erutpaC.aideM.swodniW
erutpaCppA.erutpaC.aideM.swodniW
erutpaCppAI.erutpaC.aideM.swodniW
erutseGegdEI.tupnI.IU.swodniW
erutseGegdE.tupnI.IU.swodniW
erutxeTlamroNnoitisoPxetreV.scihparG.krowemarF.anX.tfosorciM
erutxeTledoMD3gnitnirP.D3gnitnirP.scihparG.swodniW
erutxeTledoMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
erutxeTnoitisoPxetreV.scihparG.krowemarF.anX.tfosorciM
erutxeTroloCnoitisoPxetreV.scihparG.krowemarF.anX.tfosorciM
erutxeT.scihparG.krowemarF.anX.tfosorciM
(Eryy)[2
eS5v-TSV2jZC
esaBecruoStupnIeroCI.eroC.IU.swodniW
esaBegasseMsmSI.smS.seciveD.swodniW
esaBegnaRI.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBegnaR.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBgnidniB.ataD.lmaX.IU.swodniW
esaBgnidniBI.ataD.lmaX.IU.swodniW
esaBhsurBnoitisopmoClmaX.aideM.lmaX.IU.swodniW
esaBhsurBnoitisopmoClmaXI.aideM.lmaX.IU.swodniW
esaBksaTerahS.sksaT.enohP.tfosorciM
esaBmetInoitcasnarTtellaW.tellaW.enohP.tfosorciM
esaBmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
esaBmetItuoylFuneM.slortnoC.lmaX.IU.swodniW
esaBmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
esaBmetIweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
esaBnoisserpxEgnidniB.ataD.lmaX.IU.swodniW
esaBnoisserpxEgnidniBI.ataD.lmaX.IU.swodniW
esaBnoitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
esaBnoitcnuFgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
esaBnoitcnuFgnisaE.noitaminA.aideM.lmaX.IU.swodniW
esaBnottuBI.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBnottuB.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBredaoLtnetnoC.noitagivaN.swodniW.metsyS
esaBrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
esaBreggirTetatSI.lmaX.IU.swodniW
esaBreggirTetatS.lmaX.IU.swodniW
esaBreggirTI.lmaX.IU.swodniW
esaBreggirT.lmaX.IU.swodniW
esaBreppaMirU.noitagivaN.swodniW.metsyS
esaBresworBbeW.slortnoC.enohP.tfosorciM
esaBrethgilhgiHtxeTI.stnemucoD.lmaX.IU.swodniW
esaBrethgilhgiHtxeT.stnemucoD.lmaX.IU.swodniW
esaBretteSI.lmaX.IU.swodniW
esaBretteS.lmaX.IU.swodniW
esaBrosneSI.srosneS.seciveD.tfosorciM
esaBrotisiVrpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
esaBtluseRyreuQegarotSI.hcraeS.egarotS.swodniW
esaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBtuoylFrekciPI.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBtuoylFrekciP.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBtuoylF.sevitimirP.slortnoC.lmaX.IU.swodniW
esaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
esaBweiVtsiL.slortnoC.lmaX.IU.swodniW
esaByrotcaFmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
esaBytreporPtellaW.tellaW.enohP.tfosorciM
esaCretteL.txeT.IU.swodniW
esaEcibuCI.noitaminA.aideM.lmaX.IU.swodniW
esaEcibuC.noitaminA.aideM.lmaX.IU.swodniW
esaEcitardauQI.noitaminA.aideM.lmaX.IU.swodniW
esaEcitardauQ.noitaminA.aideM.lmaX.IU.swodniW
esaEcitniuQI.noitaminA.aideM.lmaX.IU.swodniW
esaEcitniuQ.noitaminA.aideM.lmaX.IU.swodniW
esaEcitrauQI.noitaminA.aideM.lmaX.IU.swodniW
esaEcitrauQ.noitaminA.aideM.lmaX.IU.swodniW
esaEcitsalEI.noitaminA.aideM.lmaX.IU.swodniW
esaEcitsalE.noitaminA.aideM.lmaX.IU.swodniW
esaEecnuoBI.noitaminA.aideM.lmaX.IU.swodniW
esaEecnuoB.noitaminA.aideM.lmaX.IU.swodniW
esaEelcriCI.noitaminA.aideM.lmaX.IU.swodniW
esaEelcriC.noitaminA.aideM.lmaX.IU.swodniW
esaEeniSI.noitaminA.aideM.lmaX.IU.swodniW
esaEeniS.noitaminA.aideM.lmaX.IU.swodniW
esaEkcaBI.noitaminA.aideM.lmaX.IU.swodniW
esaEkcaB.noitaminA.aideM.lmaX.IU.swodniW
esaElaitnenopxEI.noitaminA.aideM.lmaX.IU.swodniW
esaElaitnenopxE.noitaminA.aideM.lmaX.IU.swodniW
esaErewoPI.noitaminA.aideM.lmaX.IU.swodniW
esaErewoP.noitaminA.aideM.lmaX.IU.swodniW
EscalationClientProcessingStart
EscalationClientProcessingStop
escape-uri
escaping URI value
ESENT.dll
esentutl.pdb
eSEprJJX
EseShadowCreateShadow
EseShadowCreateSimpleShadow
EseShadowInit
EseShadowMountShadow
EseShadowMountSimpleShadow
EseShadowPurgeShadow
EseShadowTerm
esiaRefaS.slortnoC.enohP.tfosorciM
EsifAccelerometer_CalculatePitchAndRoll
EsifAccelerometer_GetAngleValues
EsifAccelerometer_GetOrientations
EsifAccelerometer_ReadSensorAngleValueFromDV
EsifAccelerometer_validateAngleRanges
EsifAct_CallIfaceCreate
EsifAct_CallIfaceDestroy
EsifActCallPluginGet
EsifActCallPluginSet
EsifActConfigExit
EsifActConfigInit
EsifActConstExit
EsifActConstInit
EsifAct_CreateAction
EsifActDelegateExit
EsifActDelegateInit
EsifAct_DestroyAction
EsifAct_GetRef
EsifActIface_IsSupported
ESIF_ACTION_
ESIF_ACTION_ACPI
ESIF_ACTION_ACPIDECIC
ESIF_ACTION_ACPILPAT
ESIF_ACTION_BATTERY
ESIF_ACTION_CODE
ESIF_ACTION_CONFIG
ESIF_ACTION_CONST
ESIF_ACTION_DDIGFXDISP
ESIF_ACTION_DDIGFXPERF
ESIF_ACTION_DELEGATE
ESIF_ACTION_DGFX
esif_action_dppe_bright_init
ESIF_ACTION_DPPEBRT
ESIF_ACTION_DPTFWWAN
ESIF_ACTION_HWPF
ESIF_ACTION_IDGFX
ESIF_ACTION_IOC
ESIF_ACTION_IOSF
ESIF_ACTION_JAVA
ESIF_ACTION_KDELEGATE
ESIF_ACTION_KHID
ESIF_ACTION_KIOCTL
ESIF_ACTION_KODE
ESIF_ACTION_KONST
ESIF_ACTION_MMIO
ESIF_ACTION_MMIODIV2
ESIF_ACTION_MMIOTJMAX
ESIF_ACTION_MMIOTJMAXROUNDDOWN
ESIF_ACTION_MMIOTJMAXROUNDUP
ESIF_ACTION_MSR
ESIF_ACTION_MSRTEMPC
ESIF_ACTION_NVME
ESIF_ACTION_OSTF
ESIF_ACTION_PERC
esif_action_perc_exit
esif_action_perc_init
ESIF_ACTION_PHIDGET
ESIF_ACTION_PLATPOWER
ESIF_ACTION_PSM
ESIF_ACTION_RFPWIFI
ESIF_ACTION_SIM
ESIF_ACTION_SOCWC
ESIF_ACTION_SYSFS
ESIF_ACTION_SYSTEM
ESIF_ACTION_USBCM
ESIF_ACTION_USBFAN
ESIF_ACTION_VIRTUAL
EsifActMgrExit
EsifActMgr_GetNextAction
EsifActMgr_GetTypeFromPossAct_Locked
EsifActMgrInit
EsifActMgr_InitActions
EsifActMgr_LoadAction
EsifActMgr_StartUpe
EsifActMgr_StopUnusedUpes
EsifActMgr_StopUpe
EsifActMgr_UninitActions
EsifActMgr_UnloadAction
EsifAct_PutRef
EsifActSystemExit
EsifActSystemInit
EsifActWriteLogHandler
ESIF_ALGORITHM_TYPE_PERCENT_BINARY
ESIF_ALGORITHM_TYPE_PERCENT_CENTI
ESIF_ALGORITHM_TYPE_PERCENT_DECI
ESIF_ALGORITHM_TYPE_PERCENT_NONE
ESIF_ALGORITHM_TYPE_PERCENT_WHOLE
ESIF_ALGORITHM_TYPE_POWER_DECIW
ESIF_ALGORITHM_TYPE_POWER_MICROW
ESIF_ALGORITHM_TYPE_POWER_MILLIW
ESIF_ALGORITHM_TYPE_POWER_NONE
ESIF_ALGORITHM_TYPE_POWER_UNIT_ATOM
ESIF_ALGORITHM_TYPE_POWER_UNIT_CORE
ESIF_ALGORITHM_TYPE_TEMP_C
ESIF_ALGORITHM_TYPE_TEMP_C_DIV2
ESIF_ALGORITHM_TYPE_TEMP_DECIC
ESIF_ALGORITHM_TYPE_TEMP_DECIK
ESIF_ALGORITHM_TYPE_TEMP_DTS_ATOM
ESIF_ALGORITHM_TYPE_TEMP_LPAT
ESIF_ALGORITHM_TYPE_TEMP_MILLIC
ESIF_ALGORITHM_TYPE_TEMP_NONE
ESIF_ALGORITHM_TYPE_TEMP_PCH_CORE
ESIF_ALGORITHM_TYPE_TEMP_TJMAX_ATOM
ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE
ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE_ROUND_DOWN
ESIF_ALGORITHM_TYPE_TEMP_TJMAX_CORE_ROUND_UP
ESIF_ALGORITHM_TYPE_TIME_DECIS
ESIF_ALGORITHM_TYPE_TIME_MILLIS
ESIF_ALGORITHM_TYPE_TIME_NONE
ESIF_ALGORITHM_TYPE_TIME_TAU
EsifApp_CreateApp
EsifApp_CreateDomain
EsifApp_CreateDomains
EsifApp_CreateParticipant
EsifApp_Destroy
EsifApp_DestroyDomain
EsifApp_DestroyDomains
EsifApp_DestroyParticipant
EsifApp_DestroyParticipants
EsifApp_FindEmptyDataMap
EsifApp_GetDomainDataMapFromHandle
EsifApp_GetNextDomain
EsifApp_GetNextPart
EsifApp_GetParticipantDataMapFromInstance
EsifApp_GetRef
EsifApp_Load
EsifAppMgr_AppRestartAll
EsifAppMgr_CreateParticipantInAllAppsPriv
EsifAppMgr_DestroyParticipantInAllAppsPriv
EsifAppMgr_EventCallback
EsifAppMgr_Exit
EsifAppMgr_Init
EsifAppMgr_Start
EsifAppMgr_Stop
EsifApp_PutRef
EsifApp_RegisterParticipantsWithApp
EsifApp_RegisterParticipantsWithApp completed.
EsifApp_SendEvent
EsifApp_Start
EsifApp_Stop
ESIF_CAMERA_STATUS_DEVICE_DISCONNECTED
ESIF_CAMERA_STATUS_DEVICE_NOT_FOUND
ESIF_CAMERA_STATUS_FAILED
ESIF_CAMERA_STATUS_OK
ESIF_CAMERA_STATUS_QUERY_TEMP_FAILED
ESIF_CAMERA_STATUS_SERVICE_UNAVAILABLE
ESIF_CAPABILITY_TYPE_ACTIVE_CONTROL
ESIF_CAPABILITY_TYPE_ACTIVITY_STATUS
ESIF_CAPABILITY_TYPE_BATTERY_STATUS
ESIF_CAPABILITY_TYPE_CORE_CONTROL
ESIF_CAPABILITY_TYPE_CURRENT_CONTROL
ESIF_CAPABILITY_TYPE_DISPLAY_CONTROL
ESIF_CAPABILITY_TYPE_DOMAIN_PRIORITY
ESIF_CAPABILITY_TYPE_DYNAMIC_EPP
ESIF_CAPABILITY_TYPE_ENERGY_CONTROL
ESIF_CAPABILITY_TYPE_MANAGER
ESIF_CAPABILITY_TYPE_PEAK_POWER_CONTROL
ESIF_CAPABILITY_TYPE_PERF_CONTROL
ESIF_CAPABILITY_TYPE_PLAT_POWER_STATUS
ESIF_CAPABILITY_TYPE_POWER_CONTROL
ESIF_CAPABILITY_TYPE_POWER_STATUS
ESIF_CAPABILITY_TYPE_PROCESSOR_CONTROL
ESIF_CAPABILITY_TYPE_PSYS_CONTROL
ESIF_CAPABILITY_TYPE_RFPROFILE_CONTROL
ESIF_CAPABILITY_TYPE_RFPROFILE_STATUS
ESIF_CAPABILITY_TYPE_TEMP_STATUS
ESIF_CAPABILITY_TYPE_TEMP_THRESHOLD
ESIF_CAPABILITY_TYPE_UTIL_STATUS
ESIF_CAPABILITY_TYPE_WORKLOAD_CLASSIFICATION
esif_ccb_malloc() failed
esif_ccb_malloc() failed 
esif_ccb_mempool_destroy
esif_ccb_remove_power_setting_win
EsifCfgMgrExit
EsifCfgMgrInit
ESIF CLI Copyright (c) 2013-2021 Intel Corporation All Rights Reserved
esif_cmp
EsifCnjMgrExit
EsifCnjMgrInit
EsifCompress
EsifConfigCopy
EsifConjureStart
ESIF CREATE CONJURE PARTICIPANT:
ESIF_DATA_
ESIF_DATA_ANGLE
ESIF_DATA_AUTO
ESIF_DATA_BINARY
ESIF_DATA_BIT
ESIF_DATA_BLOB
EsifData_Compress
ESIF_DATA_DECIBEL
EsifData_Decompress
ESIF_DATA_DSP
ESIF_DATA_ENUM
ESIF_DATA_FREQUENCY
ESIF_DATA_GUID
ESIF_DATA_HANDLE
ESIF_DATA_INSTANCE
ESIF_DATA_INT16
ESIF_DATA_INT32
ESIF_DATA_INT64
ESIF_DATA_INT8
ESIF_DATA_IPV4
ESIF_DATA_IPV6
ESIF_DATA_JSON
ESIF_DATA_PERCENT
ESIF_DATA_POINTER
ESIF_DATA_POWER
ESIF_DATA_QUALIFIER
ESIF_DATA_REGISTER
ESIF_DATA_STRING
ESIF_DATA_STRUCTURE
ESIF_DATA_TABLE
ESIF_DATA_TEMPERATURE
ESIF_DATA_TIME
ESIF_DATA_UINT16
ESIF_DATA_UINT32
ESIF_DATA_UINT64
ESIF_DATA_UINT8
ESIF_DATA_UNICODE
ESIF_DATA_VOID
ESIF_DATA_XML
EsifDecompress
ESIF_DOMAIN_TYPE_AHCI
ESIF_DOMAIN_TYPE_ALL
ESIF_DOMAIN_TYPE_AMBIENT
ESIF_DOMAIN_TYPE_AUDIO
ESIF_DOMAIN_TYPE_BATTERY
ESIF_DOMAIN_TYPE_BATTERYCHARGER
ESIF_DOMAIN_TYPE_CAM2D
ESIF_DOMAIN_TYPE_CHIPSET
ESIF_DOMAIN_TYPE_DGFXCORE
ESIF_DOMAIN_TYPE_DGFXMCP
ESIF_DOMAIN_TYPE_DGFXMEM
ESIF_DOMAIN_TYPE_DISPLAY
ESIF_DOMAIN_TYPE_DSX
ESIF_DOMAIN_TYPE_ETHERNET
ESIF_DOMAIN_TYPE_FAN
ESIF_DOMAIN_TYPE_GRAPHICS
ESIF_DOMAIN_TYPE_IDGFXCORE
ESIF_DOMAIN_TYPE_INFRARED
ESIF_DOMAIN_TYPE_INVALID
ESIF_DOMAIN_TYPE_IVCAM
ESIF_DOMAIN_TYPE_M2CNV
ESIF_DOMAIN_TYPE_MEMORY
ESIF_DOMAIN_TYPE_MULTIFUNCTION
ESIF_DOMAIN_TYPE_NVME
ESIF_DOMAIN_TYPE_OTHER
ESIF_DOMAIN_TYPE_POWER
ESIF_DOMAIN_TYPE_PROCESSOR
ESIF_DOMAIN_TYPE_RFEM
ESIF_DOMAIN_TYPE_SOCCNV
ESIF_DOMAIN_TYPE_TEMPERATURE
ESIF_DOMAIN_TYPE_THERMISTOR
ESIF_DOMAIN_TYPE_VIRTUAL
ESIF_DOMAIN_TYPE_WIRELESS
ESIF_DOMAIN_TYPE_WWAN
ESIF_DOMAIN_TYPE_WWANANALOG
ESIF_DOMAIN_TYPE_WWANDIGITAL
ESIF_DOMAIN_TYPE_WWANRFIM
esif_dsp_entry_create
esif_dsp_file_scan
EsifDspMgrExit
EsifDspMgrInit
EsifDspMgr_SelectDsp
esif_dsp_table_build
esif_dsp_table_destroy
ESIF_E_ABAT_ERRORS_RSVD
ESIF_E_ACPI_EVAL_FAILURE
ESIF_E_ACPI_OBJECT_NOT_FOUND
ESIF_E_ACPI_REQUEST_TYPE
ESIF_E_ACPI_RESULT_TYPE
ESIF_E_ACTION_ALREADY_STARTED
ESIF_E_ACTION_NOT_IMPLEMENTED
ESIF_E_API_ERROR
ESIF_E_APP_ALREADY_STARTED
ESIF_E_CALLBACK_IS_NULL
ESIF_E_COMMAND_DATA_INVALID
ESIF_E_COMPRESSION_ERROR
ESIF - Eco-System Independent Framework
ESIF_E_CPC_PRIMITIVE_SIZE_INVALID
ESIF_E_CPC_SHORT
ESIF_E_CPC_SIGNATURE
ESIF_E_CPC_SIZE_INVALID
ESIF_E_DISABLED
ESIF_E_DSP_ALREADY_LOADED
ESIF_E_EVENT_FILTERED
ESIF_E_EVENT_NOT_FOUND
ESIF_E_IFACE_DISABLED
ESIF_E_IFACE_NOT_SUPPORTED
ESIF_E_INVALID_ARGUMENT_COUNT
ESIF_E_INVALID_CAPABILITY_MASK
ESIF_E_INVALID_DOMAIN_ID
ESIF_E_INVALID_HANDLE
ESIF_E_INVALID_PARTICIPANT_ID
ESIF_E_INVALID_REQUEST_TYPE
ESIF_E_IO_ALREADY_EXISTS
ESIF_E_IO_DELETE_FAILED
ESIF_E_IO_ERROR
ESIF_E_IO_HASH_FAILED
ESIF_E_IO_INVALID_NAME
ESIF_E_IO_OPEN_FAILED
ESIF_E_IPC_DATA_INVALID
ESIF_E_ITERATION_DONE
ESIF_E_MAXIMUM_CAPACITY_REACHED
ESIF_E_MSR_AFFINITY
ESIF_E_MSR_IO_FAILURE
ESIF_E_MSR_MULTI_VALUES
ESIF_E_NEED_ALGORITHM
ESIF_E_NEED_BINARY_BUFFER
ESIF_E_NEED_DSP
ESIF_E_NEED_LARGER_BUFFER
ESIF_E_NO_ACPI5_SUPPORT
ESIF_E_NO_ACPII_SUPPORT
ESIF_E_NO_ACPI_SUPPORT
ESIF_E_NO_CREATE
ESIF_E_NO_LOWER_FRAMEWORK
ESIF_E_NO_MBI_SUPPORT
ESIF_E_NO_MEMORY
ESIF_E_NO_MMIO_SUPPORT
ESIF_E_NOT_FOUND
ESIF_E_NOT_IMPLEMENTED
ESIF_E_NOT_INITIALIZED
ESIF_E_NOT_SUPPORTED
ESIF_E_NOT_TABLE
ESIF_E_NULL_PRIMITIVE
ESIF_E_OPCODE_NOT_IMPLEMENTED
ESIF_E_ORDERED_INSERT
ESIF_E_OVERFLOWED_RESULT_TYPE
ESIF_E_PARAMETER_IS_NULL
ESIF_E_PARAMETER_IS_OUT_OF_BOUNDS
ESIF_E_PARTICIPANT_NOT_FOUND
ESIF_E_PRIMITIVE_ACTION_FAILURE
ESIF_E_PRIMITIVE_DST_UNAVAIL
ESIF_E_PRIMITIVE_NO_ACTION_AVAIL
ESIF_E_PRIMITIVE_NO_ACTION_SUCCESSFUL
ESIF_E_PRIMITIVE_NOT_FOUND_IN_DSP
ESIF_E_PRIMITIVE_SUR_NOT_FOUND_IN_DSP
ESIF_E_READONLY
ESIF_E_REQ_SIZE_TYPE_MISTMATCH
ESIF_E_REQUEST_DATA_OUT_OF_BOUNDS
ESIF_E_SESSION_ALREADY_STARTED
ESIF_E_SESSION_DISCONNECTED
ESIF_E_SESSION_PERMISSION_DENIED
ESIF_E_SESSION_REQUEST_FAILED
ESIF_E_STOP_POLL
ESIF_E_TIMEOUT
ESIF_E_UNSPECIFIED
ESIF_E_UNSUPPORTED_ACPI_NOTIFY_EVENT
ESIF_E_UNSUPPORTED_ACTION_TYPE
ESIF_E_UNSUPPORTED_ALGORITHM
ESIF_E_UNSUPPORTED_REQUEST_DATA_TYPE
ESIF_E_UNSUPPORTED_REQUEST_PERCENT_TYPE
ESIF_E_UNSUPPORTED_REQUEST_POWER_TYPE
ESIF_E_UNSUPPORTED_REQUEST_TEMP_TYPE
ESIF_E_UNSUPPORTED_REQUEST_TIME_TYPE
ESIF_E_UNSUPPORTED_RESULT_DATA_TYPE
ESIF_E_UNSUPPORTED_RESULT_PERCENT_TYPE
ESIF_E_UNSUPPORTED_RESULT_POWER_TYPE
ESIF_E_UNSUPPORTED_RESULT_TEMP_TYPE
ESIF_E_UNSUPPORTED_RESULT_TIME_TYPE
ESIF_EVENT_ACPI
ESIF_EVENT_ACTION_LOADED
ESIF_EVENT_ACTION_UNLOADED
ESIF_EVENT_ACTIVE_CONTROL_POINT_RELATIONSHIP_TABLE_CHANGED
ESIF_EVENT_ADAPTIVE_DIMMING_EXTERNAL_MONITOR_FEATURE_STATE_CHANGED
ESIF_EVENT_ADAPTIVE_DIMMING_FEATURE_STATE_CHANGED
ESIF_EVENT_ADAPTIVE_DIMMING_PRE_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_ADAPTIVE_DIMMING_PRESENTATION_MODE_FEATURE_STATE_CHANGED
ESIF_EVENT_ADAPTIVE_PERFORMANCE_ACTIONS_TABLE_CHANGED
ESIF_EVENT_ADAPTIVE_PERFORMANCE_CONDITIONS_TABLE_CHANGED
ESIF_EVENT_ADAPTIVE_PERFORMANCE_PARTICIPANT_CONDITION_TABLE_CHANGED
ESIF_EVENT_ADAPTIVE_USER_PRESENCE_TABLE_CHANGED
ESIF_EVENT_APP_ACTIVE_RELATIONSHIP_CHANGED
ESIF_EVENT_APP_ALIVE_REQUEST
ESIF_EVENT_APP_CONNECTED_STANDBY_ENTRY
ESIF_EVENT_APP_CONNECTED_STANDBY_EXIT
ESIF_EVENT_APP_FOREGROUND_CHANGED
ESIF_EVENT_APP_LOADED
ESIF_EVENT_APP_THERMAL_RELATIONSHIP_CHANGED
ESIF_EVENT_APP_UNLOADED
ESIF_EVENT_APP_UNLOADING
ESIF_EVENT_BATTERY_COUNT_NOTIFICATION
ESIF_EVENT_BIOMETRIC_PRESENCE_SENSOR_INSTANCE_CHANGED
ESIF_EVENT_CONTEXT_SERVICE_STATUS_CHANGED
ESIF_EVENT_DEVICE_ORIENTATION_CHANGED
ESIF_EVENT_DISPLAY_ORIENTATION_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_HIGH_FREQUENCY_IMPEDANCE_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_INFORMATION_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_NO_LOAD_VOLTAGE_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_STATE_OF_CHARGE_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_STATUS_CHANGED
ESIF_EVENT_DOMAIN_BATTERY_TEMPERATURE_CHANGED
ESIF_EVENT_DOMAIN_CHARGER_TYPE_CHANGED
ESIF_EVENT_DOMAIN_CORE_CAPABILITY_CHANGED
ESIF_EVENT_DOMAIN_DISPLAY_CAPABILITY_CHANGED
ESIF_EVENT_DOMAIN_DISPLAY_STATUS_CHANGED
ESIF_EVENT_DOMAIN_ENERGY_THRESHOLD_CROSSED
ESIF_EVENT_DOMAIN_EPP_SENSITIVITY_HINT_CHANGED
ESIF_EVENT_DOMAIN_FAN_CAPABILITIES_CHANGED
ESIF_EVENT_DOMAIN_MAX_BATTERY_POWER_CHANGED
ESIF_EVENT_DOMAIN_PERF_CAPABILITY_CHANGED
ESIF_EVENT_DOMAIN_PERF_CONTROL_CHANGED
ESIF_EVENT_DOMAIN_PLATFORM_BATTERY_STEADY_STATE_CHANGED
ESIF_EVENT_DOMAIN_PLATFORM_POWER_SOURCE_CHANGED
ESIF_EVENT_DOMAIN_PLATFORM_REST_OF_POWER_CHANGED
ESIF_EVENT_DOMAIN_POWER_CAPABILITY_CHANGED
ESIF_EVENT_DOMAIN_POWER_THRESHOLD_CROSSED
ESIF_EVENT_DOMAIN_PRIORITY_CHANGED
ESIF_EVENT_DOMAIN_TEMP_THRESHOLD_CROSSED
ESIF_EVENT_DOMAIN_VIRTUAL_SENSOR_CALIB_TABLE_CHANGED
ESIF_EVENT_DOMAIN_VIRTUAL_SENSOR_POLLING_TABLE_CHANGED
ESIF_EVENT_DOMAIN_VIRTUAL_SENSOR_RECALC_CHANGED
ESIF_EVENT_DOMAIN_WORKLOAD_CLASSIFICATION_CHANGED
ESIF_EVENT_DPTF_PARTICIPANT_ACTIVITY_LOGGING_DISABLED
ESIF_EVENT_DPTF_PARTICIPANT_ACTIVITY_LOGGING_ENABLED
ESIF_EVENT_DPTF_PARTICIPANT_CONTROL_ACTION
ESIF_EVENT_DPTF_POLICY_ACTIVITY_LOGGING_DISABLED
ESIF_EVENT_DPTF_POLICY_ACTIVITY_LOGGING_ENABLED
ESIF_EVENT_DPTF_POLICY_LOADED_UNLOADED
ESIF_EVENT_DRIVER_RESUME
ESIF_EVENT_DRIVER_SUSPEND
ESIF_EVENT_DTT_INTELLIGENT_THERMAL_MANAGEMENT_TABLE_CHANGED
ESIF_EVENT_EMERGENCY_CALL_MODE_TABLE_CHANGED
ESIF_EVENT_EXTERNAL_MONITOR_CONNECTION_STATE_CHANGED
ESIF_EVENT_FAILSAFE_TIMEOUT_CHANGED
ESIF_EVENT_FOREGROUND_BACKGROUND_RATIO_CHANGED
EsifEvent_GetAndSignalIpcEvent
ESIF_EVENT_GROUP_ACPI
ESIF_EVENT_GROUP_CODE
ESIF_EVENT_GROUP_DPTF
ESIF_EVENT_GROUP_POWER
ESIF_EVENT_GROUP_SENSOR
ESIF_EVENT_GROUP_SYSTEM_METRICS
EsifEvent_InitEventObjects
ESIF_EVENT_LF_UNLOADED
ESIF_EVENT_LOG_VERBOSITY_CHANGED
esif_event_map_guid2type() failed
EsifEventMgr_AddEntry
EsifEventMgr_Disable
EsifEventMgr_DisableEvent
EsifEventMgr_EnableEvent
EsifEventMgr_EventQueueThread
EsifEventMgr_Exit
EsifEventMgr_Init
EsifEventMgr_ProcessEvent
EsifEventMgr_RegisterEventByType
EsifEventMgr_SignalEvent_Local
EsifEventMgr_UnregisterAllForApp
ESIF_EVENT_MISPREDICTION_1_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_MISPREDICTION_2_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_MISPREDICTION_3_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_MISPREDICTION_4_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_MISPREDICTION_FACE_DETECTION_STATE_CHANGED
ESIF_EVENT_MISPREDICTION_TIME_WINDOW_CHANGED
ESIF_EVENT_MOTION_CHANGED
ESIF_EVENT_NO_LOCK_ON_PRESENCE_BATTERY_FEATURE_STATE_CHANGED
ESIF_EVENT_NO_LOCK_ON_PRESENCE_BATTERY_REMAINING_PERCENTAGE_CHANGED
ESIF_EVENT_NO_LOCK_ON_PRESENCE_EXTERNAL_MONITOR_FEATURE_STATE_CHANGED
ESIF_EVENT_NO_LOCK_ON_PRESENCE_FEATURE_STATE_CHANGED
ESIF_EVENT_NO_LOCK_ON_PRESENCE_RESET_WAIT_TIME_CHANGED
ESIF_EVENT_OEM_VARS_CHANGED
ESIF_EVENT_OS_BATTERY_PERCENT_CHANGED
ESIF_EVENT_OS_DOCK_MODE_CHANGED
ESIF_EVENT_OS_GAME_MODE_CHANGED
ESIF_EVENT_OS_LID_STATE_CHANGED
ESIF_EVENT_OS_MIXED_REALITY_MODE_CHANGED
ESIF_EVENT_OS_MOBILE_NOTIFICATION
ESIF_EVENT_OS_PLATFORM_TYPE_CHANGED
ESIF_EVENT_OS_POWERSCHEME_PERSONALITY_CHANGED
ESIF_EVENT_OS_POWER_SLIDER_VALUE_CHANGED
ESIF_EVENT_OS_POWER_SOURCE_CHANGED
ESIF_EVENT_OS_SCREEN_STATE_CHANGED
ESIF_EVENT_OS_USER_INTERACTION_CHANGED
ESIF_EVENT_OS_USER_PRESENCE_CHANGED
ESIF_EVENT_PARTICIPANT_CREATE
ESIF_EVENT_PARTICIPANT_CREATE_COMPLETE
ESIF_EVENT_PARTICIPANT_RESUME
ESIF_EVENT_PARTICIPANT_SHUTDOWN
ESIF_EVENT_PARTICIPANT_SPEC_INFO_CHANGED
ESIF_EVENT_PARTICIPANT_SUSPEND
ESIF_EVENT_PARTICIPANT_UNREGISTER
ESIF_EVENT_PARTICIPANT_UNREGISTER_COMPLETE
ESIF_EVENT_PASSIVE_TABLE_CHANGED
ESIF_EVENT_PID_ALGORITHM_TABLE_CHANGED
ESIF_EVENT_PLATFORM_USER_PRESENCE_CHANGED
ESIF_EVENT_POWER_BOSS_ACTIONS_TABLE_CHANGED
ESIF_EVENT_POWER_BOSS_CONDITIONS_TABLE_CHANGED
ESIF_EVENT_POWER_BOSS_MATH_TABLE_CHANGED
ESIF_EVENT_POWER_SHARING_ALGORITHM_TABLE_2_CHANGED
ESIF_EVENT_POWER_SHARING_ALGORITHM_TABLE_CHANGED
ESIF_EVENT_POWER_SOURCE_CHANGED
ESIF_EVENT_PRIMARY_PARTICIPANT_ARRIVED
ESIF_EVENT_PRIORITY_HIGH
ESIF_EVENT_PRIORITY_LOW
ESIF_EVENT_PRIORITY_NORMAL
ESIF_EVENT_PRIVACY_STATE_CHANGED
ESIF_EVENT_RF_CONNECTION_STATUS_CHANGED
ESIF_EVENT_RF_PROFILE_CHANGED
ESIF_EVENT_SCREEN_LOCK_WAIT_TIME_CHANGED
ESIF_EVENT_SENSOR_MODE_CHANGED
ESIF_EVENT_SENSOR_USER_PRESENCE_CHANGED
ESIF_EVENT_SESSION_DISCONNECTED
ESIF_EVENT_SESSION_STATE_CHANGED
EsifEvent_SignalIpcEvent
Esif events not yet unregistered
EsifEvent_StartEventIpc
ESIF_EVENT_SUPPORTED_POLICIES_CHANGED
ESIF_EVENT_SYSTEM_COOLING_POLICY_CHANGED
ESIF_EVENT_TEMP_THRESHOLD_INTERRUPT
ESIF_EVENT_USER_DISENGAGED_DIMMING_INTERVAL_CHANGED
ESIF_EVENT_USER_DISENGAGED_DIM_TARGET_CHANGED
ESIF_EVENT_USER_DISENGAGED_DIM_WAIT_TIME_CHANGED
ESIF_EVENT_USER_IN_CALL_STATE_CHANGED
ESIF_EVENT_USER_NOT_PRESENT_DIM_TARGET_CHANGED
ESIF_EVENT_USER_PRESENCE_CORRELATION_STATUS_CHANGED
ESIF_EVENT_USER_PRESENT_WAIT_TIMEOUT_CHANGED
ESIF_EVENT_VOLTAGE_THRESHOLD_MATH_TABLE_CHANGED
ESIF_EVENT_WAKE_ON_APPROACH_BATTERY_REMAINING_PERCENTAGE_CHANGED
ESIF_EVENT_WAKE_ON_APPROACH_EXTERNAL_MONITOR_FEATURE_STATE_CHANGED
ESIF_EVENT_WAKE_ON_APPROACH_FEATURE_STATE_CHANGED
ESIF_EVENT_WAKE_ON_APPROACH_LOW_BATTERY_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_DIM_INTERVAL_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_DIM_SCREEN_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_DISPLAY_OFF_AFTER_LOCK_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_EXTERNAL_MONITOR_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_HONOR_DISPLAY_POWER_REQUEST_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_HONOR_USER_IN_CALL_FEATURE_STATE_CHANGED
ESIF_EVENT_WALK_AWAY_LOCK_PRE_DIM_WAIT_TIME_CHANGED
esif_event_worker_thread
ESIF_EVENT_WORKLOAD_HINT_CONFIGURATION_CHANGED
ESIF_E_WS_ALREADY_STARTED
ESIF_E_WS_DISC
ESIF_E_WS_INCOMPLETE
ESIF_E_WS_INIT_FAILED
ESIF_E_WS_INVALID_ADDR
ESIF_E_WS_INVALID_REQUEST
ESIF_E_WS_SERVER_ERROR
ESIF_E_WS_SOCKET_ERROR
ESIF_E_WS_UNAUTHORIZED
EsifExecutePrimitive
ESIF_E_XFORM_NOT_AVAILABLE
esif_fpc_load
ESIF Framework Modules:
EsifGetActionDelegateCnfg
EsifGetActionDelegateProcBrandMod
esif_get_msguid_from_request
EsifHandleMgr_Exit
EsifHandleMgr_Init
EsifHandleMgr_Start
EsifHandleMgr_Stop
EsifHid_ControlThread
EsifHid_Disable
EsifHid_Enable
EsifHid_EventCallback
EsifHid_Start
EsifHid_TimerCallback
ESIF_I_ACPI_OBJECT_NOT_PRESENT
ESIF_I_ACPI_TRIP_POINT_NOT_PRESENT
ESIF_I_AGAIN
ESIF_I_INIT_PAUSED
ESIF_I_MSR_AFFINITY
esif_ipc_alloc
esif_ipc_connect
esif_ipc_disconnect
esif_ipc_execute
esif_ipc_free
ESIF IPC Kernel Device Closed
ESIF IPC Kernel Device Opened
ESIF Kernel Driver Information:
esif_lf - ESIF Lower Framework (LF) R0
ESIF LF is not available
esif_link_list_create() failed
esif_link_list_create_node() failed
EsifLogMgr_AddAllParticipants
EsifLogMgr_AddCapability
EsifLogMgr_AddDomain
EsifLogMgr_AddDomain() failed
EsifLogMgr_AddParticipant
EsifLogMgr_AddParticipantDataListEntry
EsifLogMgr_DataLogWrite
EsifLogMgr_EnableLoggingFromCommandInfo
EsifLogMgr_EventCallback
EsifLogMgr_GetCapabilityId
EsifLogMgr_GetCapabilityNodeWLock
EsifLogMgr_GetDomainId
EsifLogMgr_GetInputParameters
EsifLogMgr_GetParticipantId
EsifLogMgr_Init
EsifLogMgr_IntializeScheduleTimer
EsifLogMgr_ParseCmdParticipantLog
EsifLogMgr_ParticipantLogWorkerThread
EsifLogMgr_ParticipantLogWriteData
EsifLogMgr_ParticipantLogWriteHeader
EsifLogMgr_StartLoggingIfRequired
EsifLogMgr_UpdateStatusCapabilityData
EsifLogMgr_ValidateInputParameters
EsifLogsExit
EsifLogsInit
esif_os_ipc_connect
esif_os_ipc_disconnect
esif_os_ipc_execute
ESIF_PARTICIPANT_ENUM_
ESIF_PARTICIPANT_ENUM_ACPI
ESIF_PARTICIPANT_ENUM_CONJURE
ESIF_PARTICIPANT_ENUM_INVALID
ESIF_PARTICIPANT_ENUM_PCI
ESIF_PARTICIPANT_ENUM_PLAT
ESIF_PARTICIPANT_ENUM_SYSFS
ESIF_PARTICIPANT_ENUM_USB
ESIF_PRIMITIVE_OP_GET
ESIF_PRIMITIVE_OP_SET
esif_register_sensors_win
esif_send_dsp
esif_sensor_exit
esif_sensor_init
ESIF Service Started.
ESIF Service Stopped.
EsifSetActionDelegateActivePowerSchemeWin
EsifSetActionDelegateDppeSettingWin
EsifSetActionDelegatePat0
EsifSetActionDelegatePat1
EsifSetActionDelegatePowerSchemeEppWin
EsifSetActionDelegatePpmParamSettingWin
EsifSetActionDelegateRset
EsifSetActionDelegateSampleBehavior
EsifSetActionDelegateSphb
EsifSetActionDelegateToSignalForegroundAppChanged
EsifSetActionDelegateVirtualTemperature
EsifSetDppeSetting
esif_shell_cmd_config
esif_shell_cmd_debuglvl
esif_shell_cmd_debugset
esif_shell_cmd_debugshow
esif_shell_cmd_event_callback
esif_shell_cmd_getf
esif_shell_cmd_info
esif_shell_cmd_infocpc
esif_shell_cmd_infofpc
esif_shell_cmd_memstats
esif_shell_cmd_participantk
EsifShellCmd_ParticipantLog
esif_shell_cmd_participantsk
esif_shell_cmd_set_osc
esif_shell_cmd_test
esif_shell_cmd_trace
ESIF Shell Disabled
EsifSvcConfigGet
EsifSvcConfigSet
EsifSvc_DppeExit
EsifSvc_DppeInit
EsifSvcEventReceive
EsifSvcEventRegister
EsifSvcEventUnregister
EsifSvcPrimitiveExec
EsifSvcWriteLog
EsifThermalApi_EventCallback
EsifToolExecute
EsifToolStart
EsifToolStop
EsifToolTerminate
ESIF_TRACEMODULE_ACTION
ESIF_TRACEMODULE_ACTWIRELESS
ESIF_TRACEMODULE_APITRACE
ESIF_TRACEMODULE_APP
ESIF_TRACEMODULE_CONJURE
ESIF_TRACEMODULE_DATAVAULT
ESIF_TRACEMODULE_DEFAULT
ESIF_TRACEMODULE_DOMAIN
ESIF_TRACEMODULE_DPTF
ESIF_TRACEMODULE_DSP
ESIF_TRACEMODULE_EVENT
ESIF_TRACEMODULE_IPC
ESIF_TRACEMODULE_LINUX
ESIF_TRACEMODULE_LOGGINGMGR
ESIF_TRACEMODULE_PARTICIPANT
ESIF_TRACEMODULE_PNP
ESIF_TRACEMODULE_POWER
ESIF_TRACEMODULE_PRIMITIVE
ESIF_TRACEMODULE_SERVICE
ESIF_TRACEMODULE_SHELL
ESIF_TRACEMODULE_TABLEOBJECT
ESIF_TRACEMODULE_THERMALAPI
ESIF_TRACEMODULE_UF
ESIF_TRACEMODULE_UMDF
ESIF_TRACEMODULE_WEBSERVER
ESIF_TRACEMODULE_WINDOWS
    ESIF_UF [client | server | shell] [options]
EsifUfDumpPrimitive
esif_uf - ESIF Upper Framework (UF) R3
esif_uf_exec_startup_primitives
esif_uf_exec_startup_script
esif_uf_execute_primitive: Primitive METADATA From DSP:
EsifUfExecuteTransform
esif_uf_exit
EsifUf_GetNextCapability
esif_uf_init
    ESIF_UF [install | uninstall | start | stop]
esif_uf_os_exit
esif_uf_os_init
esif_uf_shell_banner_init
esif_uf_win_init
EsifUfXformPercent
EsifUfXformPower
EsifUfXformTemp
EsifUfXformTime
esif_unregister_sensors_win
EsifUp_CreateParticipantByLpEventData
EsifUp_CreateParticipantByUpInterface
EsifUp_CreateTokenReplacedParamString
EsifUp_DestroyParticipant
EsifUpDomain_CapDetect
EsifUpDomain_CheckState
EsifUpDomain_CheckTemp
EsifUpDomain_DspReadyInit
EsifUpDomain_GetNextUd
EsifUpDomain_InitDomain
EsifUpDomain_InitPowerPoll
EsifUpDomain_InitTempPoll
EsifUpDomain_PollState
EsifUpDomain_PollTemp
EsifUpDomain_SetStatePollPeriod
EsifUpDomain_SetTempPollPeriod
EsifUpDomain_SetTempThreshWLock
EsifUpDomain_SetVirtualTemperature
EsifUpDomain_SignalForegroundAppChanged
EsifUpDomain_SignalOSEvent
EsifUpDomain_StartStatePollPriv
EsifUpDomain_StartTempPollPriv
EsifUpDomain_TempDetectInit
EsifUp_ExecuteAction
EsifUp_ExecuteIfaceGet
EsifUp_ExecuteIfaceSet
EsifUp_ExecuteLfGetAction
EsifUp_ExecuteLfSetAction
EsifUp_ExecuteSpecificActionPrimitive
EsifUp_ExecuteUfGetAction
EsifUp_ExecuteUfSetAction
EsifUp_GetDomainByIndex failed
EsifUp_GetRef
EsifUpManagerDestroyParticipantsInApp completed.
EsifUpPm_DestroyConjuredLfParticipant
EsifUpPm_DestroyParticipant
EsifUpPm_DoesAvailableParticipantExistByDevicePath
EsifUpPm_DoesAvailableParticipantExistByHID
EsifUpPm_DoesAvailableParticipantExistByName
EsifUpPm_EventCallback
EsifUpPm_Exit
EsifUpPm_GetAvailableParticipantByIndexLocked
EsifUpPm_GetAvailableParticipantByInstance failed
EsifUpPm_GetAvailableParticipantByInstance() failed
EsifUpPm_GetAvailableParticipantByInstanceLocked
EsifUpPm_GetAvailableParticipantByName
EsifUpPm_GetNextUp
EsifUpPm_GetParticipantEntryFromMetadataLocked
EsifUpPm_Init
EsifUpPm_MapLpidToParticipantInstance
EsifUpPm_RegisterParticipant
EsifUpPm_ResumeDynamicUfParticipants
EsifUpPm_ResumeParticipant
EsifUpPm_ResumeParticipants
EsifUpPm_SuspendDynamicUfParticipants
EsifUpPm_SuspendParticipant
EsifUp_PutRef
EsifUp_SelectDspByLpEventData
EsifUp_SelectDspByUpInterface
EsifUpsm_CorrelationResetCallback
EsifUpsm_EnableCorrelationResetTimer_SmLocked
EsifUpsm_EnableEventFiltering_SmLocked
EsifUpsm_EvaluateCorrelation_SmLocked
EsifUpsm_EventCallback
EsifUpsm_FilterSensorEvent_SmLocked
EsifUpsm_GetEventFilteringSettings_SmLocked
EsifUpsm_HandleSensorEvent_SmLocked
EsifUpsm_ReportSensorEvent_SmLocked
EsifUpsm_SendCorrelationEvent
EsifUpsm_SendEvents
EsifUpsm_SendPresenceEvent
EsifUpsm_StabilityWindowCallback
EsifUpsm_StartEventFiltering_SmLocked
EsifUp_StartParticipantSlowPoll
EsifUp_UpdateHysteresis
EsifUp_UpdatePolling
EsifWebLoad
esif_write_pwr_setting_attrib
esif xform percent
esif xform power
esif xform temp
esif xform time
ESInit transaction failed with an unknown error
ESInit transaction failed with error: 
esneciLegakcaPerotS.erotS.secivreS.swodniW
esneciLegakcaPerotSI.erotS.secivreS.swodniW
esneciLerotS.erotS.secivreS.swodniW
esneciLerotSI.erotS.secivreS.swodniW
esneciLppAerotS.erotS.secivreS.swodniW
esneciLppAerotSI.erotS.secivreS.swodniW
esneciLtcudorP.erotS.ledoMnoitacilppA.swodniW
esneciLtcudorPI.erotS.ledoMnoitacilppA.swodniW
esneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
esneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
esnopseRdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
esnopseRdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
esnopseRecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
esnopseRecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
esnopseRecivreSppAsseletatS.ecivreSppA.ledoMnoitacilppA.swodniW
esnopseRecivreSppAsseletatSI.ecivreSppA.ledoMnoitacilppA.swodniW
esnopseRecivreSrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
esnopseRetadpUnoisseStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
esnopseRnekoTbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
esnopseRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
esnopseRnekoTredivorPbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
esnopseRnekoTredivorPbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
esnopseRtnapicitraPtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
esnopseRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
esnopseRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
esnopseRyalPnaCaideM.aideM.lmaX.IU.swodniW
esoParemaCcihpargoloH.cihpargoloH.scihparG.swodniW
esoParemaCcihpargoloHI.cihpargoloH.scihparG.swodniW
esoPdaeH.elpoeP.noitpecreP.swodniW
esoPdaeHI.elpoeP.noitpecreP.swodniW
esoPdnaH.elpoeP.noitpecreP.swodniW
esoPdnaHI.elpoeP.noitpecreP.swodniW
esoPecruoSnoitcaretnIretnioPlaitapSI.laitapS.tupnI.IU.swodniW
esoPecruoSnoitcaretnIretnioPlaitapS.laitapS.tupnI.IU.swodniW
esoPretnioPlaitapSI.laitapS.tupnI.IU.swodniW
esoPretnioPlaitapS.laitapS.tupnI.IU.swodniW
esopruPtropxErohcnAlaitapS.laitapS.noitpecreP.swodniW
esoPseyE.elpoeP.noitpecreP.swodniW
esoPseyEI.elpoeP.noitpecreP.swodniW
esoPtnioJ.elpoeP.noitpecreP.swodniW
espillEI.sepahS.lmaX.IU.swodniW
espillE.sepahS.lmaX.IU.swodniW
es que se seguem foram atualizadas ou modificadas.
ESRepeaterTime
Es)s)A8A8N4M4c#c#
es seguintes. Porque a assinatura de fornecedor da aplica
es seguintes. Porque os ficheiros originais foram substitu
establish a secure connection to it. To learn more about this situation and
estimated
EstimatedChargeRemaining
EstimatedRunTime
eStreamType
esUerutpaC.seciveD.aideM.swodniW
esuoM.tupnI.krowemarF.anX.tfosorciM
esuperior
eswmbTsY
EswsName
EswsPortNum
etacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
etacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
etadidnaCecruoseRdexednII.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
etadidnaCecruoseRdexednI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
etadidnaCecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
etadidnaCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
etadpUegakcaPerotS.erotS.secivreS.swodniW
etadpUegakcaPerotSI.erotS.secivreS.swodniW
etadpUnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
etadpUnoitamrofnIeciveD.noitaremunE.seciveD.swodniW
etadpUtcejbOpnPI.pnP.noitaremunE.seciveD.swodniW
etadpUtcejbOpnP.pnP.noitaremunE.seciveD.swodniW
etaDtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
etaDtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
etag-compare
etageleDesolCdednapxE.IU.TRniW.gnisitrevdA.tfosorciM
etageleDlpmIeulaVteG.ofnI.enohP.tfosorciM
etageleDofnIhcuoTssecorP.hcuoT.tupnI.krowemarF.anX.tfosorciM
etageleDtupnItxeTssecorP.tupnI.krowemarF.anX.tfosorciM
etagivaNI.slortnoC.lmaX.IU.swodniW
etag-save
etalpmeTataDI.lmaX.IU.swodniW
etalpmeTataD.lmaX.IU.swodniW
etalpmeTkrowemarFI.lmaX.IU.swodniW
etalpmeTkrowemarF.lmaX.IU.swodniW
etalpmeTlenaPsmetII.slortnoC.lmaX.IU.swodniW
etalpmeTlenaPsmetI.slortnoC.lmaX.IU.swodniW
etalpmeTlortnoCI.slortnoC.lmaX.IU.swodniW
etalpmeTlortnoC.slortnoC.lmaX.IU.swodniW
etalpmeTmrIliamEI.liamE.ledoMnoitacilppA.swodniW
etalpmeTmrIliamE.liamE.ledoMnoitacilppA.swodniW
etalpmeTriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
etalpmeTriaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
etanidrooCdehctaMpaMecnadiuG.ecnadiuG.spaM.secivreS.swodniW
etanidrooCdehctaMpaMecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
etanidroocoeGI.noitacoloeG.seciveD.swodniW
etanidroocoeG.noitacoloeG.seciveD.swodniW
etaRnoitatneserPyalpsiD.eroC.yalpsiD.seciveD.swodniW
etatonos
Etatonos
etatSaideM.aideM.krowemarF.anX.tfosorciM
etatSatadateMeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
etatSatouQygrenEpuorGecruoseRppA.metsyS.swodniW
etatSdAaideMhciR.IU.TRniW.gnisitrevdA.tfosorciM
etatSdAlaititsretnI.IU.TRniW.gnisitrevdA.tfosorciM
etatSdaolnwoDegasseMliamE.liamE.ledoMnoitacilppA.swodniW
etatSdaolnwoDtnemhcattAliamE.liamE.ledoMnoitacilppA.swodniW
etatSdaPemaG.tupnI.krowemarF.anX.tfosorciM
etatSdednetxEmetIeueuQerotS.erotS.secivreS.swodniW
etatSdexednI.hcraeS.egarotS.swodniW
etatSdneirF.secivreSremaG.krowemarF.anX.tfosorciM
etatSdnelB.scihparG.krowemarF.anX.tfosorciM
etatSdnuoS.oiduA.krowemarF.anX.tfosorciM
etatSdraobyeK.tupnI.krowemarF.anX.tfosorciM
etatSecioV.oiduA.krowemarF.anX.tfosorciM
etatSeciveDdevaS.scihparG.krowemarF.anX.tfosorciM
etatSecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
etatSecneirepxExoBfOtuOmetsyS.eliforP.metsyS.swodniW
etatSecruoSaideM.eroC.aideM.swodniW
etatSecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
etatSecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
etatSediuG.secivreSremaG.krowemarF.anX.tfosorciM
etatSegakcaP.tnemyolpeD.tnemeganaM.swodniW
etatSegniH.weiverP.metsyS.swodniW
etatSelbahcnuaLyrtnEtsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
etatSelggoT.noitamotuA.lmaX.IU.swodniW
etatSeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
etatSenohporciM.oiduA.krowemarF.anX.tfosorciM
etatSerutpaCaremaCtsacdaorBppA.erutpaC.aideM.swodniW
etatSerutpaCenohporciMerutpaCppA.erutpaC.aideM.swodniW
etatSerutpaCenohporciM.oiduA.krowemarF.anX.tfosorciM
etatSerutpaCenohporciMtsacdaorBppA.erutpaC.aideM.swodniW
etatSerutpaCppA.erutpaC.aideM.swodniW
etatSerutpaCppAI.erutpaC.aideM.swodniW
etatSespalloCdnapxE.noitamotuA.lmaX.IU.swodniW
etatSesuoM.tupnI.krowemarF.anX.tfosorciM
etatSetadpUegakcaPerotS.erotS.secivreS.swodniW
etatSgalFliamE.liamE.ledoMnoitacilppA.swodniW
etatSgnidilSssorC.tupnI.IU.swodniW
etatSgnidloH.tupnI.IU.swodniW
etatSgnidroceRerutpaCppA.erutpaC.aideM.swodniW
etatSgniggarD.tupnI.IU.swodniW
etatShsurBlaeveR.aideM.lmaX.IU.swodniW
etatShtiWtluseRreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
etatShtiWtluseRreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
etatSkcabyalPaideM.kcabyalP.aideM.swodniW
etatSkcolC.noitaminA.aideM.lmaX.IU.swodniW
etatSkcoLniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
etatSkniLppAmetItellaW.tellaW.enohP.tfosorciM
etatSkrowteNenohP.sllaC.ledoMnoitacilppA.swodniW
etatSksaTputratS.ledoMnoitacilppA.swodniW
etatSlanoitarepOgnirehteT.srotarepOkrowteN.gnikrowteN.swodniW
etatSlausiVI.lmaX.IU.swodniW
etatSlausiV.lmaX.IU.swodniW
etatSlausiVwodniW.noitamotuA.lmaX.IU.swodniW
etatSlicnetShtpeD.scihparG.krowemarF.anX.tfosorciM
etatSllaCenohPpioV.sllaC.ledoMnoitacilppA.swodniW
etatSllatsnIegakcaP.tnemyolpeD.tnemeganaM.swodniW
etatSllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
etatSmaertSaremaC.seciveD.aideM.swodniW
etatSmaertStsacdaorBppA.erutpaC.aideM.swodniW
etatSmetIetadpUmetsyS.etadpU.metsyS.swodniW
etatSmetIeueuQerotS.erotS.secivreS.swodniW
etatSmetItnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
etatSmetItnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
etatSmiSenohP.sllaC.ledoMnoitacilppA.swodniW
etatSmiSE.srotarepOkrowteN.gnikrowteN.swodniW
etatSnIgulPtsacdaorBppA.erutpaC.aideM.swodniW
etatSnIngiSreyalP.secivreSremaG.krowemarF.anX.tfosorciM
etatSnIngiStsacdaorBppA.erutpaC.aideM.swodniW
etatSnoisseSmdM.tnemeganaM.swodniW
etatSnoissimrePlortnoCweiVbeW.IU.beW.swodniW
etatSnoissimrePweiVbeW.slortnoC.lmaX.IU.swodniW
etatSnoisulccO.IU.TRniW.gnisitrevdA.tfosorciM
etatSnoitacifitoNmetsyS.krowemarF.anX.tfosorciM
etatSnoitacoLhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
ETATS_NOITACOL_HCUOT_TUPNIANX.hcuoT.tupnI.krowemarF.anX.tfosorciM
etatSnoitallatsnIppAtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
etatSnoitaminAeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
etatSnoitartsigeRkrowteNnawW.ytivitcennoC.gnikrowteN.swodniW
etatSnoitartsigeRkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
etatSnoitavitcAtupnI.tupnI.IU.swodniW
etatSnoitavitcAwodniWeroC.eroC.IU.swodniW
etatSnoitcAcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
etatSnoitcAcitsongaiD.scitsongaiD.metsyS.swodniW
etatSnoitcaretnIwodniW.noitamotuA.lmaX.IU.swodniW
etatSnoitcennoCgnitsaC.gnitsaC.aideM.swodniW
etatSnoitcennoCoTyalP.oTyalP.aideM.swodniW
etatSnoitucexEnoitacilppA.noitavitcA.ledoMnoitacilppA.swodniW
etatSnoitucexEpuorGecruoseRppA.metsyS.swodniW
etatSnottuB.tupnI.krowemarF.anX.tfosorciM
etatSoidaRdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
etatSoidaR.soidaR.seciveD.swodniW
etatSppAlaiD.locotorPlaiD.aideM.swodniW
etatSppAytiruceS.llehS.IU.swodniW
etatSpuorGtnetnoCegakcaP.ledoMnoitacilppA.swodniW
etatSredneRycneuqerFhgiH.scihparG.krowemarF.anX.tfosorciM
etatSreganaMetadpUmetsyS.etadpU.metsyS.swodniW
etatSreggirTrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
etatSrellortnoCenilemiTaideM.aideM.swodniW
etatSrelpmaS.scihparG.krowemarF.anX.tfosorciM
etatSreredneRratavA.secivreSremaG.krowemarF.anX.tfosorciM
etatSrewoP.metsyS.swodniW
etatSreyalPaideM.kcabyalP.aideM.swodniW
etatSreyalPdnuoStnemelE.lmaX.IU.swodniW
etatSreyalP.secivreSremaG.krowemarF.anX.tfosorciM
etatSrezilausiVhserfeR.slortnoC.lmaX.IU.swodniW
etatSrezingoceRhceepS.noitingoceRhceepS.aideM.swodniW
etatSreziretsaR.scihparG.krowemarF.anX.tfosorciM
etatSriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
etatSrosneS.srosneS.seciveD.tfosorciM
etatSrotpircseDyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
etatSsdliuBweiverP.etadpU.tnemeganaM.swodniW
etatSsdliuBweiverPI.etadpU.tnemeganaM.swodniW
etatSssergorPtnemyolpeD.tnemyolpeD.tnemeganaM.swodniW
etatSstB.refsnarTdnuorgkcaB.enohP.tfosorciM
etatSsucoFerutpaCaideM.seciveD.aideM.swodniW
etatSsucoF.lmaX.IU.swodniW
etatStceffEkcabdeeFecroF.kcabdeeFecroF.tupnI.gnimaG.swodniW
etatStcennoCdereggirT.ytimixorP.gnikrowteN.swodniW
etatStcennoC.noitamrofnIkrowteN.teN.enohP.tfosorciM
etatStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
etatStnemelEaideM.aideM.lmaX.IU.swodniW
etatStnemhcattAsuBnyoJllA.nyoJllA.seciveD.swodniW
etatStnuoccAbeW.slaitnederC.ytiruceS.swodniW
etatStolSecarTcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
etatStsacdaorBppA.erutpaC.aideM.swodniW
etatStsacdaorBppAI.erutpaC.aideM.swodniW
etatStseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
etatStseuqeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
ETATS_TUPNIX.tupnI.krowemarF.anX.tfosorciM
etatSweiverPtsacdaorBppA.erutpaC.aideM.swodniW
etatSweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
etatSweiVppArengiseD.gnitsoH.lmaX.IU.swodniW
etatSxetreVhseMdnaH.elpoeP.noitpecreP.swodniW
etatSxetreVhseMdnaHI.elpoeP.noitpecreP.swodniW
etatSyalP.oiduAdnuorgkcaB.enohP.tfosorciM
etatSyalpsiD.eroC.yalpsiD.seciveD.swodniW
etatSyalpsiDI.eroC.yalpsiD.seciveD.swodniW
etatSyalrevO.llehS.enohP.tfosorciM
etatSyciloPnoitadargeDtuptuOnoisseSkcabyalPaideMI.kcabyalP.aideM.swodniW
etatSyciloPnoitadargeDtuptuOnoisseSkcabyalPaideM.kcabyalP.aideM.swodniW
etatSydaeResM.eroC.aideM.swodniW
etatSyeK.tupnI.krowemarF.anX.tfosorciM
etatSytilibapaCssecorPlortnoCweiVbeW.poretnI.IU.beW.swodniW
etatSytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
ETDGestureIcon
ETDPromptPic
Ethiopic
eth_path
E. Thread
Ethsmall
etisbeWtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
etisbeWtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
etiSlortnoCweiVbeWI.poretnI.IU.beW.swodniW
EtlConverter
EtlFolder
EtlGenerator
etLlleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
etLlleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
etlToExamine
etubirttAbeWroFwollA.atadateM.noitadnuoF.swodniW
etubirttAcitatS.atadateM.noitadnuoF.swodniW
etubirttAcnysAetomeR.atadateM.noitadnuoF.swodniW
etubirttAdaolrevO.atadateM.noitadnuoF.swodniW
etubirttAdaolrevOtluafeD.atadateM.noitadnuoF.swodniW
etubirttAdetacerpeD.atadateM.noitadnuoF.swodniW
etubirttAdetareneGrengiseD.secivreSrelipmoC.cisaBlausiV.tfosorciM
etubirttAdetcetorP.atadateM.noitadnuoF.swodniW
etubirttAdiuG.atadateM.noitadnuoF.swodniW
etubirttAegasUetubirttA.atadateM.noitadnuoF.swodniW
etubirttAegnaR.atadateM.noitadnuoF.swodniW
etubirttAelbadirrevO.atadateM.noitadnuoF.swodniW
etubirttAelbadniB.ataD.lmaX.IU.swodniW
etubirttAelbasopmoC.atadateM.noitadnuoF.swodniW
etubirttAelbataminAyltnednepednI.noitaminA.aideM.lmaX.IU.swodniW
etubirttAelbataminAyltnednepednIyllanoitidnoC.noitaminA.aideM.lmaX.IU.swodniW
etubirttAelbatavitcA.atadateM.noitadnuoF.swodniW
etubirttAeliT.llehS.enohP.tfosorciM
etubirttAelpitluMwollA.atadateM.noitadnuoF.swodniW
etubirttAeludoMdradnatS.secivreSrelipmoC.cisaBlausiV.tfosorciM
etubirttAemaNeludoMediH.cisaBlausiV.tfosorciM
etubirttAemaNmetInoitcelloCrezilaireStnetnoC.tnetnoC.krowemarF.anX.tfosorciM
etubirttAepyTemitnuRrezilaireStnetnoC.tnetnoC.krowemarF.anX.tfosorciM
etubirttAepyTnruteRnoisnetxEpukraM.pukraM.lmaX.IU.swodniW
etubirttAerapmoCnoitpO.secivreSrelipmoC.cisaBlausiV.tfosorciM
etubirttAerongIrezilaireStnetnoC.tnetnoC.krowemarF.anX.tfosorciM
etubirttAerusserPCG.atadateM.noitadnuoF.swodniW
etubirttAerutaeF.atadateM.noitadnuoF.swodniW
etubirttAesuM.atadateM.noitadnuoF.swodniW
etubirttAetatSlausiVetalpmeT.lmaX.IU.swodniW
etubirttAgnidaerhT.atadateM.noitadnuoF.swodniW
etubirttAgnirtSmorFetaerC.atadateM.noitadnuoF.swodniW
etubirttAlahsraMatadateM.atadateM.noitadnuoF.swodniW
etubirttAlanretnI.atadateM.noitadnuoF.swodniW
etubirttAlatnemirepxE.atadateM.noitadnuoF.swodniW
etubirttAlmXI.moD.lmX.ataD.swodniW
etubirttAlmX.moD.lmX.ataD.swodniW
etubirttAmroftalP.atadateM.noitadnuoF.swodniW
etubirttAneddiHtsoHbeW.atadateM.noitadnuoF.swodniW
etubirttAnoisreV.atadateM.noitadnuoF.swodniW
etubirttAnoisreVepyTrezilaireStnetnoC.tnetnoC.krowemarF.anX.tfosorciM
etubirttAnoisreVtcartnoC.atadateM.noitadnuoF.swodniW
etubirttAnoisreVtcartnoCsuoiverP.atadateM.noitadnuoF.swodniW
etubirttAnoitacidnySI.noitacidnyS.beW.swodniW
etubirttAnoitacidnyS.noitacidnyS.beW.swodniW
etubirttAnoititraPipAlauD.atadateM.noitadnuoF.swodniW
etubirttAnoitpircseDRS.redniBemitnuR.prahSC.tfosorciM
etubirttAnoitpircseDRS.srorrE.redniBemitnuR.prahSC.tfosorciM
etubirttAoTevisulcxE.atadateM.noitadnuoF.swodniW
etubirttAredivorPatadateMlmaXlluF.pukraM.lmaX.IU.swodniW
etubirttArezilaireStnetnoC.tnetnoC.krowemarF.anX.tfosorciM
etubirttAroivaheBgnilahsraM.atadateM.noitadnuoF.swodniW
etubirttAsIhtgneL.atadateM.noitadnuoF.swodniW
etubirttAtcartnoCipA.atadateM.noitadnuoF.swodniW
etubirttAtluafeD.atadateM.noitadnuoF.swodniW
etubirttAtnairaV.atadateM.noitadnuoF.swodniW
etubirttAtnairaVsaH.atadateM.noitadnuoF.swodniW
etubirttAtraPetalpmeT.lmaX.IU.swodniW
etubirttAtxeTnoitpO.secivreSrelipmoC.cisaBlausiV.tfosorciM
etubirttAtxeTyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
etubirttAyrogetaCRS.redniBemitnuR.prahSC.tfosorciM
etubirttAyrogetaCRS.srorrE.redniBemitnuR.prahSC.tfosorciM
etubirttAytreporPdepyTelytS.lmaX.IU.swodniW
etubirttAytreporPtnetnoC.pukraM.lmaX.IU.swodniW
etuoRdelahsraM.secivreS.spaM.enohP.tfosorciM
etuoRecnadiuG.ecnadiuG.spaM.secivreS.swodniW
etuoRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
etuoRnpVI.npV.gnikrowteN.swodniW
etuoRnpV.npV.gnikrowteN.swodniW
etuoRpaMI.slortnoC.spaM.enohP.tfosorciM
etuoRpaMI.spaM.secivreS.swodniW
etuoRpaM.slortnoC.spaM.enohP.tfosorciM
etuoRpaMSOM.slortnoC.spaM.enohP.tfosorciM
etuoRpaM.spaM.secivreS.swodniW
etuoR.secivreS.spaM.enohP.tfosorciM
EtwEventActivityIdControl
EtwEventEnabled
EtwEventRegister
EtwEventSetInformation
EtwEventUnregister
EtwEventWrite
EtwEventWriteNoRegistration
EtwEventWriteTransfer
EtwGetTraceEnableFlags
EtwGetTraceEnableLevel
EtwGetTraceLoggerHandle
EtwLogger
EtwLogTraceEvent
EtwRegisterTraceGuidsW
EtwSendNotification
EtwTraceMessage
EtwUnregisterTraceGuids
euCaideMI.eroC.aideM.swodniW
euCataD.eroC.aideM.swodniW
euCataDI.eroC.aideM.swodniW
euCegamI.eroC.aideM.swodniW
euCegamII.eroC.aideM.swodniW
euChceepS.eroC.aideM.swodniW
euChceepSI.eroC.aideM.swodniW
euCretpahC.eroC.aideM.swodniW
euCretpahCI.eroC.aideM.swodniW
euCtxeTdemiT.eroC.aideM.swodniW
euCtxeTdemiTI.eroC.aideM.swodniW
eudcedit.pdb
eueuQaideM.aideM.krowemarF.anX.tfosorciM
eueuQrehctapsiDI.metsyS.swodniW
eueuQrehctapsiD.metsyS.swodniW
eulaHashHR
eulaVdepyTpamtiB.gnigamI.scihparG.swodniW
eulaVdepyTpamtiBI.gnigamI.scihparG.swodniW
eulaVemaNepocStupnI.tupnI.lmaX.IU.swodniW
eulaVerutaeFegamI.gninraeLenihcaM.IA.swodniW
eulaVerutaeFegamII.gninraeLenihcaM.IA.swodniW
eulaVerutaeFledoMgninraeLI.gninraeLenihcaM.IA.swodniW
eulaVetisopmoCataDnoitacilppA.egarotS.swodniW
eulaVgnitseRaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
eulaVgnitseRaitrenIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
eulaVlanoitidnoCnoitisopmoCI.snoitcaretnI.noitisopmoC.IU.swodniW
eulaVlanoitidnoCnoitisopmoC.snoitcaretnI.noitisopmoC.IU.swodniW
eulaVniPoipG.oipG.seciveD.swodniW
eulaVniPoipGredivorP.redivorP.oipG.seciveD.swodniW
eulaVnosJI.nosJ.ataD.swodniW
eulaVnosJ.nosJ.ataD.swodniW
eulaVredaeHatleDrOetaDpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHatleDrOetaDpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHegnaRtnetnoCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHegnaRtnetnoCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHegnellahCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHegnellahCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHepyTaideMpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHepyTaideMpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHeulaVemaNpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHeulaVemaNpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHgnidoCrefsnarTpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHgnidoCrefsnarTpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHgnidoCtnetnoCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitatcepxEpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitatcepxEpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitisopsiDtnetnoCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitisopsiDtnetnoCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitpOnoitcennoCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHnoitpOnoitcennoCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHofnItcudorPpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHofnItcudorPpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHriaPeikooCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHriaPeikooCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHslaitnederCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHslaitnederCpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHtcudorPpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHtcudorPpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWegnaRegaugnaLpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWegnaRegaugnaLpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWepyTaideMpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWepyTaideMpttH.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
eulaVredaeHytilauQhtiWgnidoCtnetnoCpttH.sredaeH.pttH.beW.swodniW
eulaVrotpircseDnoitarugifnoCcitsiretcarahCtneilCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
eulaVtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
eulaVtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
eulaVtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
eulaVtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
eulaVtsoCkroWdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
eulaVytreporPI.noitadnuoF.swodniW
eulaVytreporPmaertS.secivreSremaG.krowemarF.anX.tfosorciM
eulaVytreporP.noitadnuoF.swodniW
eulaVytreporP.secivreSremaG.krowemarF.anX.tfosorciM
!EUniformScaleRegionValueW|.
euqinhceTtceffE.scihparG.krowemarF.anX.tfosorciM
eUUUUUUS!fffff
Evaluated correlation state as negative.
Evaluated correlation state as positive.
EvaluatingRegistration
evcreate.pdb
EvDvD)1)1
Event[0]
Event[1]
EventActivityIdControl
event added successfuly.
EVENT API:
_eventArgs
eventArgs
EventArgs
EventArrivedEventArgs
EventArrivedEventHandler
eventCode
EventCode
EventCount
eventData
EventData
eventDataPtr data length mismatch
eventDataPtr is NULL
EventDataSize
eventDescriptor
EventEnabled
EventEnum
Event::Event
EventFactory
Event filtering disabled.
Event Filtering enabled.
eventFilterWd
eventGuid
EventGuid
_eventHandle
EventHandle
EventHandler
EventHandlerReason
_eventId
EventIdOffset
eventInfo
EventInfo
eventKind
eventkpe
Event listener thread created successfully
Event::Lock: Wait complete - error.
eventlog
EventLog
EVENTLOG
_eventLog1
Event Log Cleared
EventLogEntryType
Event Log Frozen
EventLogger
EventLogger.dll
EventLogger.Net
EventLogInstaller
EventLogPropertySelector
EventLogQuery
EventLogReader
EventLogReaderRealm
EventLogRecord
EventLog_src
EventLogWatcher
_eventManager
Event Manager
EventManagerFactory
EventManager Initialize failed
EventManagerRealm
EventManifest
eventmgr.cpp
eventmgr.h
eventMsg
Event Name
Event not registered by the system.
eventObject
EventOffset
EventOnTransition
Event opened successfully!
EventProvider
EventProviderDll
EventProviderEnabled
EventProviderVersionTwo
EventQuery
EventQueueType
Event recieved from spooler
EventRecord
EventRecords
EventRecordWrittenEventArgs
EventRegister
EventRegistrationToken
EVENT_RESET
EventResetMode
EventSensorType
EVENT_SET
EventSetInformation
EventSeverity
Event::signal
_eventSink
|eventSinkWWW
events [namespec] [appspec]                   Display all events registered in the Event Manager
EventSourceAttribute
eventSourceName
EventSourceType
EventsQueueType
eventStr
EventTime
_eventTimeoutLength
eventTimeoutLengthInMinutes
EventTimestamp
EventTraceEvent_V0
EventTraceEvent_V1
EventTrace_Header
EventTracer
EventTrace_V0_Header
EventTrace_V1_Header
_eventType
eventType
EventType
Event type not found
eventTypeWWW
EventUnregister
eventviewer
eventvwr.pdb
EventWaitHandle
EventWaitHandleAccessRule
EventWaitHandleRights
EventWaitHandleSecurity
EventWrite
EventWriteEx
EventWriteLaunchStart
EventWriteLaunchStop
EventWriteString
EventWriteTransfer
eventXml
Every header in a multipart file should have a name
Every header in a multipart file should have a type
Evidence
evilApeeKtekcoSbeW.stekcoS.gnikrowteN.swodniW
evitaNCSD.poretnI.llehS.enohP.tfosorciM
evitaN.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
eVNdWE)M0
evruC.krowemarF.anX.tfosorciM
EvtClose
EvtCreateRenderContext
EvtExportLog
EvtFormatMessage
EvtGetChannelConfigProperty
evtHandle
EvtOpenChannelConfig
EvtOpenPublisherMetadata
evt_path
EvtQuery
EvtRender
EvtSaveChannelConfig
EvtSetChannelConfigProperty
eV)V*(UF
EV*wZp*Ya
evZ.uNJN
EwH98u H
eWoVSetupErrorCodes
Ex9FTtqA
Ex9GTtwA
) Examine log for details
.?E?xc	)
Exceeded allowed time between entering PIN and enrolling fingerprint
Exceeded storage allocation
 exceeds size_type
except has no content
Exception
Exception caught: 
exception.cpp
ExceptionFailure
exception.h
_exceptionHandler
_exception_handling_state_pointers_t
exceptionMessage
Exception occured: 
Exception occured in ServiceControlHandler function 
Exception occured in ServiceMain function 
Exception occured on client socket: 
Exception ocurred: 
_EXCEPTION_POINTERS
?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
?__ExceptionPtrCompare@@YA_NPEBX0@Z
?__ExceptionPtrCopyException@@YAXPEAXPEBX1@Z
?__ExceptionPtrCopy@@YAXPEAXPEBX@Z
__ExceptionPtrCreate
?__ExceptionPtrCreate@@YAXPEAX@Z
__ExceptionPtrCurrentException
?__ExceptionPtrCurrentException@@YAXPEAX@Z
__ExceptionPtrDestroy
?__ExceptionPtrDestroy@@YAXPEAX@Z
?__ExceptionPtrRethrow@@YAXPEBX@Z
?__ExceptionPtrToBool@@YA_NPEBX@Z
Exception raised in JHI service:
?exceptions@ios_base@std@@QEAAXH@Z
Exception while parsing extended data
exceptNameClass allows only a single except node
excessive array size: 
excessive object size: 
Excessive password length for proxy auth
EXCESSIVE_SBE_INTERRUPTS
Excessive user name length for proxy auth
Exchange
exclamdbl
exclamdown
exclamdownsmall
exclamsmall
ExcludeClipRect
Exclude leaf cert
ExcludeNilProperties
ExcludeSubClassProperties
exclusion_data.h
exclusionlist.cpp
exclusionlist.h
exclusionmanager.hpp
EXCLUSIVE
ExclusiveIoAcquireTooLong
Exclusive_Process
ExclusiveProcess
EXCLUSIVE_PROCESS
Exclusive_Thread
ExclusiveThread
EXCLUSIVE_THREAD
exclusive-thread device already in use by a different thread
Exclusive_Thread was deprecated! Use value 3:Exclusive_Process instead.
exe.46iugnktr
exe.46tnegaopaxc
exe.46xavh
exe.46xivh
ExecAction
exe.cerdnuos
Exec format error
exe.citatstia
exe.cnyl.cnyl
exec save: allocation failed
exe.cuosm
executable format error
ExecutableName: 
_execute
ExecuteCmdsFromBuffer
ExecuteCommand
ExecuteCustomAction
                                         Execute 'GET' Primitive With Automatic
?_Execute_once@std@@YAHAEAUonce_flag@1@P6AHPEAX1PEAPEAX@Z1@Z
_execute_onexit_table
                                         Execute 'SET' Primitive
ExecuteUmsThread
Executing action get
Executing as a service application.
Executing command asynchronously
EXECUTING_COMMAND_FAILURE
Executing command synchronously
Executing in server mode.
Executing in shell mode.
Executing MalCommand failed
Executing scheduled commands: 
Execution
executionCategoryFlags
executionCategoryId
executionCategoryPolicyIdCount
execution_flags
ExecutionFlags
Execution of scheduled commands will be performed at thread: 
ExecutionStrategy
exe.d3tnirp
exe.daolniw
exe.diarksid
exe.drowniw
exe.emit
exe.enignebw
exe.enignemrbtnirp
exe.erahsetoneno
exe.etadpuaab
exe.etats_tenpsa
exe.etupmocmv
exe.evoorg
exe.gifnocptthnamsw
exe.golaidnoitamrifnocgninnip
exe.gtw_rekcoltibdso
exe.hcnualbct
exe.hsten
exe.ipamcu.cnyl
exe.iuhcraes
exe.iuhtlaehces
exe.iumrbtnirp
exe.iussergorpst
exe.kcolnuedb
exe.kooltuo
exe.latropevitpackrowteneboo
exe.lecxe
exe.ledsi_
exe.lenrekeruces
exe.liater-46yalrevotxetothceeps
exe.lnrksotn
exe.mietoneno
exe.mmipparadnelacxh
exe.mocotstm
exe.mrbtnirp
exe.neercstramsxhc
exe.nhtuarotshe
exe.niac
exe.nipegnahcedb
exe.osiasl
exe.osicgn
exe.osioib
exe.osisf
exe.padaimw
exe.perpsys
exe.ppakcol
exe.ppapaucpw
exe.ppategraterahssrednimer
exe.ppatupni.tupnitxet.secneirepxe.llehselbasopmoc.lanretniswodniw
exe.pw_tenpsa
exe.rabemag
exe.rdlsdv
exe.rellatsnippa
exe.rotaluclac
exe.rvsnpd
exe.rvsyalpd
exe.snoisnetxeaidembew.tfosorcim
exe.srniw
exe.ssasl
exe.sseccasm
exe.tidedcb
exe.tpircsc
exe.tpircsw
exe.tpmorpevf
exe.tsohfduw
exe.tsohgolaidderc
exe.tsohlortnocstnuocca
exe.tsohnoinapmocfduw
exe.tsohtnemllorneoib
exe.tsohvorpmsw
exe.ttanuei
exe.vnc21lx
exe.vnoclmthcnyl.cnyl
exe.vrspaimw
exe.vsdapemi
exe.vsloops
exe.weiverprennacsedocrabaremac
exe.weiv.oidutstniap
exe.wolfnoitcennockrowteneboo
exe.yfitonevf
EXFAT   
EXFAT   H9B
EXIF tag for ActiveFilters
EXIF tag for AppCMSID
EXIF tag for AppShortName
EXIF tag for AppTitleName
EXIF tag for DRSName
EXIF tag for DRSProfileName
EXIF tag 'ImageDescription'
EXIF tag 'Make'
EXIF tag 'MakerNote'
EXIF tag 'Model' and 'UniqueModel'
EXIF tag 'Software'
existential
Existing container service stopped
ExistingDxDbVersion
ExistingTokenHandle
 exists in TPM's persistent handle [0x
]ExistsWW
_exit_callback
exitcode
exitCode
ExitCode
ExitCode_DismCliRun
ExitContextMenuMode
Exit due to dynamic plugin load failure
Exit due to failing to update directory listener
Exited early due to user intervention
exitEventName
Exiting...
Exiting Function...
Exiting game bar because we ended desktop broadcast
Exiting on WM_ENDSESSION message
	exit         leave shell
__exit_list_size_app_domain
?ExitLogOnUserMode@ImpersonateUser@@UEAAXXZ
ExitMainViaCRT
exit on data error
exit_on_error
ExitProcess
[Exit status: SUCCESS]
ExitThread
ExitTray
ExitWindowsEx
eXK_Yqpug
) * exp2(
ExpandableObjectConverter
ExpandAhsWithMargin
Expand callback failed to expand SDB
expandedInformation
ExpandedSQL
ExpandEnvironmentStringsA
ExpandEnvironmentStringsForUserW
ExpandEnvironmentStringsW
ExpandEnvironmentVariables
Expand.exe
expand.pdb
expandstr.cpp
expandstr.h
expandToPast
ExpansionFactor
ExpansionROMBaseAddress
Expect: 100-continue
expect100-timeout
':' expected
']' expected
: expected 
; expected 
expected ;
expected a positive numerical parameter
expected a proper numerical parameter
Expected a tiled file but the file is not tiled.
expected attribute name
expected element name
 Expected is '
 Expected is ( 
 Expected is one of ( 
ExpectedLife
expected ' or "
 Expected size: 
 Expected status: 
 Expected version: 
Expecting ']'
Expecting a char range
Expecting an element got text
Expecting an except node
expecting close tag for 
Expecting the end of a char range
ExpeditedUpdateNthLogonDisplayStatus
Expiration
ExpirationDate
ExpirationTime
Expire Date
ExpiryTime
explicit
Explicitly activating the plugin.
ExplicitPFNMatches
ExplicitSelectionCount
explodecabpage.cpp
explodecabpage.h
Exponent
exponent out of range
ExportAuditLogSignature
Export directory invalid or invalid image format
                                            Export DV keys to ASL or DV File
ExporterEventKind
exports.cpp
exportstests.cpp
EXP_ParseCommandLine
Expresii
expresiiExePath
expression
expression (
Expression: 
expression evaluator ran out of stack space
ExpressionType
ExpungeConsoleCommandHistory
ExpungeConsoleCommandHistoryW
EXTEND ASCII
Extended
ExtendedData
ExtendedDeviceEventInfo
EXTENDED_DISPLAY_PARAMETERS_
extendedDynamicState
extendedDynamicState2
extendedDynamicState2LogicOp
extendedDynamicState2PatchControlPoints
ExtendedExceptionHandler
ExtendedResourceType
ExtendedWindowStyles
ExtendLun
ExtendProvisioningPeriod
[extension] 
extension
Extension
ExtensionAttribute
ExtensionDrivers
extensionName
extensionpointdatareaderutils.hpp
extensionpointexclusiondatafactory.hpp
extensionpointgenericxmlreader.h
extensionpoint.h
extensionPointName
 : extension revision 
 Extensions
Extensions
ExtensionType
ExtentStatus
external
EXTERNAL
ExternalBusClockSpeed
ExternalException
EXTERNAL_GENERAL_PARSED_ENTITY 
EXTERNAL_GENERAL_UNPARSED_ENTITY 
External hook removed
External hook set
ExternalLogger
EXTERNAL_PARAMETER_ENTITY 
external parsed entities cannot be standalone
externalRef
extern "C" 
extern HINSTANCE               g_hInst;
extern HINSTANCE               g_hInstRes;
 .extern .shared .align 1 .b8 _ZN4cask5smem_E[];5
.extern .shared .align 4 .b8 _ZN7cutlass17S!
ExtFileCount
ExtFileHash
ExtFloodFill
ext-ms-win-advapi32-encryptedfile-l1-1-0.dll
ext-ms-win-advapi32-eventlog-l1-1-0.dll
ext-ms-win-appmodel-deployment-l1-1-0.dll
ext-ms-win-appmodel-deployment-l1-1-1.dll
ext-ms-win-biometrics-winbio-core-l1-1-0.dll
ext-ms-win-biometrics-winbio-core-l1-1-1.dll
ext-ms-win-branding-winbrand-l1-1-0.dll
ext-ms-win-cmd-util-l1-1-0.dll
ext-ms-win-com-ole32-l1-1-0.dll
ext-ms-win-com-ole32-l1-1-1
ext-ms-win-com-ole32-l1-1-1.dll
ext-ms-win-composition-ghost-l1-1-0.dll
ext-ms-win-core-iuri-l1-1-0.dll
ext-ms-win-core-resourcepolicy-l1-1-0.dll
ext-ms-win-devmgmt-dm-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-1.dll
ext-ms-win-drvinst-desktop-l1-1-0.dll
ext-ms-win-dwmapi-ext-l1-1-0.dll
ext-ms-win-edputil-policy-l1-1-0.dll
ext-ms-win-edputil-policy-l1-1-2.dll
ext-ms-win-feclient-encryptedfile-l1-1-0.dll
ext-ms-win-gdi-dc-create-l1-1-0.dll
ext-ms-win-gdi-dc-l1-2-0.dll
ext-ms-win-gdi-devcaps-l1-1-0.dll
ext-ms-win-gdi-draw-l1-1-0.dll
ext-ms-win-gdi-draw-l1-1-1.dll
ext-ms-win-gdi-font-l1-1-0.dll
ext-ms-win-gdi-font-l1-1-1.dll
ext-ms-win-gdi-font-l1-1-2.dll
ext-ms-win-gdi-internal-desktop-l1-1-0.dll
ext-ms-win-imm-l1-1-0.dll
ext-ms-win-kernel32-package-l1-1-0.dll
ext-ms-win-networking-wlanapi-l1-1-0.dll
ext-ms-win-newdev-config-l1-1-0.dll
ext-ms-win-ntuser-caret-l1-1-0.dll
ext-ms-win-ntuser-chartranslation-l1-1-0.dll
ext-ms-win-ntuser-dc-access-ext-l1-1-0.dll
ext-ms-win-ntuser-dialogbox-l1-1-0
ext-ms-win-ntuser-dialogbox-l1-1-0.dll
ext-ms-win-ntuser-dialogbox-l1-1-2.dll
ext-ms-win-ntuser-draw-l1-1-0.dll
ext-ms-win-ntuser-gui-l1-1-0.dll
ext-ms-win-ntuser-gui-l1-1-1.dll
ext-ms-win-ntuser-gui-l1-3-0.dll
ext-ms-win-ntuser-keyboard-l1-1-0.dll
ext-ms-win-ntuser-menu-l1-1-0.dll
ext-ms-win-ntuser-menu-l1-1-1.dll
ext-ms-win-ntuser-message-l1-1-0
ext-ms-win-ntuser-message-l1-1-0.dll
ext-ms-win-ntuser-message-l1-1-1.dll
ext-ms-win-ntuser-misc-l1-1-0.dll
ext-ms-win-ntuser-misc-l1-2-0.dll
ext-ms-win-ntuser-misc-l1-5-0.dll
ext-ms-win-ntuser-mouse-l1-1-0.dll
ext-ms-win-ntuser-rectangle-ext-l1-1-0.dll
ext-ms-win-ntuser-rotationmanager-l1-1-0.dll
ext-ms-win-ntuser-server-l1-1-0.dll
ext-ms-win-ntuser-synch-l1-1-0.dll
ext-ms-win-ntuser-sysparams-ext-l1-1-0.dll
ext-ms-win-ntuser-sysparams-ext-l1-1-1
ext-ms-win-ntuser-sysparams-ext-l1-1-1.dll
ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll
ext-ms-win-ntuser-window-l1-1-0
ext-ms-win-ntuser-window-l1-1-0.dll
ext-ms-win-ntuser-window-l1-1-1.dll
ext-ms-win-ntuser-window-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-3.dll
ext-ms-win-ntuser-window-l1-1-4.dll
ext-ms-win-ntuser-windowstation-l1-1-0.dll
ext-ms-win-ole32-bindctx-l1-1-0.dll
ext-ms-win-pinenrollment-enrollment-l1-1-0.dll
ext-ms-win-printer-winspool-core-l1-1-0.dll
ext-ms-win-printer-winspool-l1-1-4.dll
ext-ms-win-resources-languageoverlay-l1-1-0.dll
ext-ms-win-resources-languageoverlay-l1-1-2.dll
ext-ms-win-rtcore-gdi-object-l1-1-0.dll
ext-ms-win-rtcore-ntuser-cursor-l1-1-0.dll
ext-ms-win-rtcore-ntuser-dc-access-l1-1-0.dll
ext-ms-win-rtcore-ntuser-rawinput-l1-1-0.dll
ext-ms-win-rtcore-ntuser-syscolors-l1-1-0.dll
ext-ms-win-rtcore-ntuser-sysparams-l1-1-0.dll
ext-ms-win-rtcore-ntuser-window-ext-l1-1-0.dll
ext-ms-win-security-authbrokerui-l1-1-0.dll
ext-ms-win-security-capauthz-l1-1-0.dll
ext-ms-win-security-cfl-l1-1-0.dll
ext-ms-win-security-chambers-l1-1-0.dll
ext-ms-win-security-credui-l1-1-0.dll
ext-ms-win-security-efs-l1-1-1.dll
ext-ms-win-security-ngc-local-l1-1-0.dll
ext-ms-win-security-slc-l1-1-0.dll
ext-ms-win-session-usermgr-l1-1-0.dll
ext-ms-win-session-usertoken-l1-1-0.dll
ext-ms-win-session-winsta-l1-1-0.dll
ext-ms-win-session-wtsapi32-l1-1-0.dll
ext-ms-win-setupapi-classinstallers-l1-1-0.dll
ext-ms-win-setupapi-classinstallers-l1-1-1.dll
ext-ms-win-setupapi-classinstallers-l1-1-2.dll
ext-ms-win-shell32-shellfolders-l1-1-0.dll
ext-ms-win-shell-shell32-l1-2-0.dll
ext-ms-win-shell-shell32-l1-2-1.dll
ext-ms-win-shell-shlwapi-l1-1-0.dll
ext-ms-win-uiacore-l1-1-0.dll
ext-ms-win-uiacore-l1-1-1.dll
ext-ms-win-uxtheme-themes-l1-1-0.dll
ext-ms-win-wer-reporting-l1-1-0.dll
ext-ms-win-wevtapi-eventlog-l1-1-0.dll
ext-ms-win-wwan-wwapi-l1-1-0.dll
extrac32.pdb
Extra content at the end of the document
extra content at the end of well balanced chunk
ExtractAllDatesEtls
ExtractIconExW
Extraction successful... Moving contents outside of temp folder to actual destination
ExtractToFile
ExtractToShortXml
Extra data in the document
extra_fields.cpp
extra_fields.h
extra_fields_test.cpp
extraPrimitiveOverestimationSizeGranularity
ExtSelectClipRgn
ExtTextOutA
ExtTextOutW
EY25!utQe
eyEratavA.secivreSremaG.krowemarF.anX.tfosorciM
Eyf2b@EL6
EyGetAuditLogs
E]zbN;Lq
EZI0rg"m
eziSaideMtnirP.gnitnirP.scihparG.swodniW
eziSeliT.neercStratS.IU.swodniW
eziSerutciPresU.metsyS.swodniW
eziSerutciPtnuoccAbeW.slaitnederC.ytiruceS.swodniW
eziS.noitadnuoF.swodniW
eziSnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
eziSpamtiB.gnigamI.scihparG.swodniW
eziStnemelExednI.scihparG.krowemarF.anX.tfosorciM
eziStxeTdemiT.eroC.aideM.swodniW
eziSyalrevOaremaCtsacdaorBppA.erutpaC.aideM.swodniW
eziSyeK.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
eZNAQ-04
eZZd|veIP
........f
:):F:_:|:
F0D8#ubD8c
F0T0k0x0
f0u0F1U1e2
F0W0"1d1
F0W0o0w0
F0WININET.dll
f0x062E2
F12ChooserLibWWW
f12ProcessIdd
F2119V	.62
"f2[)4f21r
@_f25071
__f25071
"f26Q"f2
'"f2@G	c
"f2h(3f21
F2IkK_ts
:"f2lz6f22
.F2NThMv
"f2rrRf2056JCC290]
F2U264E4
F2X2N4_4s4P6a6u6
	_f30191
F3024W	.62
f333Fffffffc1
f	3ajZGM
f3G f3G4f
F'3GhJm?_Z 
F3oNz7f 
F3W3'4c4
f424 473
f43b6ec556b2ba66a77328991ceff4378770bb5dcd90f105f9f49b9a115aa74f30d491fd8c75dbd3dcf634feff7d4f73683fdf763287fa8ddb4ec6870ee3b693
F47F- *47888M6(
F*)4(dQb?vg
*F4G4"(#(
F4HJ"U9T
f536 47C
f5!vFi;_
f821cd8fc0eba6cdc750ea1257003ca6f37313f88840f707f1e234ca63013a8ce03ea8f5498cac02a6de853b5e37dcf2df55f618eccb17168d2bec4b90c1d796
F89P0tEH
;F8F8#;";_8a8
F8fSe("Z
f942f92973f5d6bbda991fd3d3878c69450034d8db08283ddd555c0f2e4fad2e0bb52b78da2261849b4d425b46377822869fc17974aad1abd0b8aeafbba54b2d
f99ac1a08649f2427816a9026b1ad5aaa645d5c8381cacba1f1652963392665933adaca2aaa63b8b59336ccbc08e2d6f56e40d565b13434e332b7c96ba77536e
f99tHfA92
F 9A t"P
f9c6b10f3e4ebfe3566c25ab6b763a8792c9f14e7f7308b7dbd50c195f904fbfa919a175fa04431dd9cf58b73dcd6d4fe3ffdff73487f6f36d2773a8dfb8ed64
f9EXuBD8
F 9G u"H
F 9G u)H
f9s9F:R:
f9)u4H9j
fa1e4542c2173dbfa6fffceabdbb5574940b517940d6909be8bf5c2e17589c37f49c3c3a2b260d823068f50bfd1a40e53e6edc1eb7c6ad429f06a0f91c569a71
fa3528a6243ddf43d7c25673b85d6d0159327aec8477c360d26ee4ca4b144443115d6a8a254be5a1584bd00bc6270050408a24493db959e1259a43140f112567
fA9I4sk@
FA9Qhu	A
fA9VHv(A
faadb081f196af190c6a98242f8467912ab0a651ad6a5a548d8cc3c1aafb6121653923699635d3ca2aaa6abab39835c3b60cecd8f26645de60b53531e434b3c2
Face detection instance released
Face detection sensor data updated
FaceDetectionSensor does not exist. Setting privacy switch status to UserSensorPrivacySwitchStatus::NO_SENSOR_CHANGE_REQUIRED.
Face detection sensor not available
faceforward
faceforward(
@@factory
fAeAZEYEG)F)
FAFAF*E*E
    --fail-early
fail-early
 ...failed.
" failed
... failed.
...failed.
--- Failed begin downloading the user's xbox live pic
Failed binding local connection end
failed build URL
Failed copy string
FAILED_CORR_PEX
Failed creating event handle thread
failed creating thread for client request
failedCustomactions
FAILED_DATA
FAILED_DBE
Failed determine ring map size in registry.
failed downloading Spooler Applet to DAL FW
FailedDriverPackageId
?FailedDryRun@VolumeFveStatus@@QEBA_NXZ
Failed due to CE PEX error
Failed due to DBE ECC error
Failed due to FA PEX error
Failed due to GPU data mismatch
Failed due to NF PEX error
Failed due to RC error
Failed due to SBE ECC error
Failed due to SW error.  Stacktrace in result.xml
Failed due to TDR error
Failed due to UN PEX error
Failed EPSV attempt. Disabling EPSV
FAILED_FATAL_PEX
Failed get ETag from registry.
failed getting all the applet versions that match the selected FW vesion
Failed getting FW version from FW
failed getting heci device details
Failed getting timezone info. 
failed.  HTTP return code:
Failed in GetWideStringFromBase64
Failed initialization
failed in SafeLoadDll
Failed in StringCbPrintf.
Failed in StringCchCopyNW
FAILED_NONFATAL_PEX
...failed. Not supported OS version.
FAILED_RC
failed reading applet blob from dalp file
Failed reading the chunked-encoded stream
Failed read operation
failed removing all attributes from file
Failed required length for TokenUser.
FAILED_SBE
Failed sending CONNECT to proxy
Failed sending data to the peer
Failed sending DICT request
Failed sending Gopher request
Failed sending HTTP POST request
Failed sending HTTP request
Failed sending POST request
Failed sending PUT request
Failed sending RTSP request
FAILED_TDR
Failed to acquire credentials.
Failed to activate IKsControl interface! Result: 0x
failed to add a new substitution container
failed to add the schema bucket to the hash
failed to allocate buffer
Failed to allocate compat layers buffer
Failed to allocate DB structure
Failed to allocate directory listener
Failed to allocate memory
Failed to allocate memory for custom etag header
Failed to allocate memory for secure MJPEG session
Failed to allocate memory for text blob
Failed to allocate memory for the result buffer when creating context
Failed to allocate process history buffer
Failed to allocate sdb context
Failed to allocate search path parts
Failed to allocate sh table for Relax-NG types
Failed to allocate temp buffer
Failed to alloc memory for big header!
Failed to alloc scratch buffer
Failed to alloc scratch buffer!
Failed to Append Node
Failed to attach device
Failed to attach device to domain
Failed to build file path.
failed to build node
Failed to calculate file path length
Failed to calculate string length.
Failed to call PathCchAppend
Failed to call StringCchCopy
Failed to change BI session state to SessionOemPreinstallComplete
Failed to change BI session state to SessionOemPreinstallStart
Failed to check MATCHING_REG entry
Failed to check MATCHING_TEXT entry
Failed to check MATCHING_WILDCARD_REGISTRY entry
Failed to clear the command channel (CCC)
failed to close heci handle
Failed to close local database
failed to close socket
Failed to CoCreate an instance of the TaskService class:
Failed to CoCreateInstance 0x
Failed to communicate with CSME.
failed to compile 
Failed to compile the content model
failed to compute a canonical value
Failed to connect task service 0x
Failed to connect to FU client
FAILED_TO_CONNECT_TO_QUEUE
Failed to connect with ESWS
Failed to construct full key path
Failed to conver API name
failed to convert 
Failed to convert device GUID! Result: 0x
Failed to convert dll name
Failed to convert extra info
Failed to convert name to multi-byte
failed to convert non-namespace part
Failed to convert tagid to tagref
Failed to convert time difference to SYSTEMTIME.
Failed to copy arp
Failed to copy directory name
Failed to copy export name
Failed to copy file id
Failed to copy file path
Failed to copy package full name
Failed to copy parameter
Failed to copy path
Failed to copy program id
Failed to copy string
failed to create a component hash table
Failed to create a connection
Failed to create a data connection
Failed to create an instance of ITaskService: 
failed to create an XPath validation context
failed to create a regex context
Failed to create a stream on the manifest.
failed to create a temp. parser context
Failed to create a window!
Failed to create bitmap from nv12
Failed to create directory listener thread.
Failed to create IFirmwareInfo instance
Failed to create interleaves hash table
Failed to create key of type 
Failed to create listener thread
Failed to create message queue
Failed to create or open the output file for FileLogManager. errorcode:
Failed to create parent process tracking thread.
Failed to create search DB context
Failed to create shared device
Failed to create specific action request
FailedToCreateTextServiceLink
Failed to create the siufloc directory.
Failed to create the Spooler Session
Failed to create XML document
Failed to delete file.
Failed to detach device
Failed to detach device from domain
Failed to determine display lanaguage.
Failed to determine EK cert presence. Abandoning recertification.
failed to determine process state
Failed to determine runtime platform
Failed to determine user name.
Failed to disconnect from FU client
Failed to do PORT
Failed to download gamer pic.
Failed to enable correlation reset timer.
Failed to enable event filtering.
Failed to enable IOMMU for partition
Failed to enumerate IE history
Failed to establish a connection with the server.
failed to eval the item type of a base type
Failed to evaluate correlation!
failed to evaluate the item type
failed to expand attributes
Failed to extract a sensible file name from the URL to use for storage!
Failed to figure out path
Failed to filter IE history
failed to find a compatible FW version in the DALP file
Failed to find any device
Failed to find any matching device(s)
Failed to find any metric to display
Failed to find any supported device
Failed to find Attribute to use for sdb tag
Failed to find CapabilityRegisters
failed to find IPV4 or IPV6 address
Failed to find scenario id and question version giuds
Failed to find specified file
Failed to find the Cor20Header
Failed to find the session context for the active session
Failed to generate a session uuid
Failed to get activation factory for RuntimeClass_Windows_Data_Json_JsonValue
failed to get adderss info
Failed to get all the applet versions that match the SIGN_ONCE_FW_VERSION.
Failed to get Application data
Failed to get buffer for TokenUser and Account Name.
Failed to get Chrome Preferences JSON object
--- Failed to get d2d device context
Failed to get device from collection! Result: 0x
Failed to get device id! Result: 0x
--- Failed to get drawing context
Failed to get drawing context!
Failed to Get Existing Task: 
Failed to get fallback value
Failed to get file from web.
Failed to get filetime: underflow
Failed to get FW properties from FW.
Failed to get GetQuestionVersion.
Failed to get GetVersion.
failed to get heci device handle
Failed to get HWID
Failed to get information about the installed flash devices.
Failed to get key path tag
Failed to get Local AppData folder
Failed to get MATCHING_TEXT file path
Failed to get native system information
Failed to get new display value. Using old value.
Failed to get NVLink device index
Failed to get NVLink device name
Failed to get path to windows directory
failed to get primitive type
Failed to get procedure address.
failed to get process creation time
Failed to get root tag
Failed to get scenario list.
Failed to get SID.
Failed to get SiufData node value
Failed to get SIUF State.
Failed to get SMBIOS type 1 - system structure. Return: 
Failed to get spooler applet blobs.
Failed to get TAG_REG_VALUE_DATA_BINARY
Failed to get TAG_REG_VALUE_DATA_DWORD
Failed to get TAG_REG_VALUE_DATA_QWORD
Failed to get TAG_REG_VALUE_DATA_SZ
Failed to get task 0x
Failed to get task folder 0x
Failed to get text to match blob
Failed to get the child index from root
Failed to get the database id
Failed to get the database ID
Failed to get the monitor handles
Failed to get the monitor position info
Failed to get the monitor position info.
Failed to get the string from the database
Failed to get throughput counters
--- Failed to get user's Xbox Live profile
Failed to hash CSE file data.
Failed to identify any devices from command-line args
Failed to identify any devices from the log file
Failed to identify host in URI
Failed to identify job type (panorama type) by the folder contents
Failed to impersonate.
Failed to initialise security context.
Failed to initialise SSL crypto engine
Failed to initialize COM device interface! Result: 0x
Failed to initialize file logger
Failed to initialize iclsClientCaller: 
Failed to Initialize Monitor Handler
Failed to initialize SEARCHDBCONTEXT
Failed to initialize SPI interface.
Failed to install control handler
Failed to install the control handler
Failed to instantiate ACE_Reactor
Failed to instantiate ACE_Service_Repository
Failed to load a library. 
failed to load CUPTI function
failed to load CURAND function
failed to load dalp schema
failed to load external entity: NULL filename 
failed to load HTTP resource
Failed to load MUI Resource Library... Exiting.
failed to load nvml
failed to load nvml::nvmlDeviceGetCount
failed to load nvml::nvmlDeviceGetHandleByIndex
failed to load nvml::nvmlDeviceGetName
failed to load nvml::nvmlDeviceGetPciInfo
failed to load nvml::nvmlDeviceGetUUID
failed to load nvml::nvmlInit
Failed to load plugins. Exiting
Failed to load the mix format 
Failed to load user32.dll library!
Failed to locate the main schema resource
Failed to log stats to persistent storage
Failed to look up account
Failed to lookup in namespace list
Failed to map device domain page
Failed to map secure section
Failed to modify VTL protections
Failed to obtain ETag
Failed to open Chrome Cookies database: 
Failed to open Chrome Favicons database: 
Failed to open Chrome History database: 
Failed to open Chrome Logins database: 
Failed to open Chrome Preferences file
Failed to open database
Failed to open device property store! Result: 0x
Failed to open dormant pdb
Failed to open file for gamer pic.
Failed to open file to write gamer pic.
Failed to open output filestream
Failed to open Qihoo360SE Favicons database: 
Failed to open QQBrowser Favicons database: 
Failed to open SDB - File size too large or small.
Failed to open secure section
Failed to open service control manager.
Failed to open the database
 failed to parse
Failed to parse Chrome Preferences - invalid JSON
Failed to parse Chrome Preferences JSON
Failed to parse configuration file provided.
failed to parse content
Failed to parse counter arguments specified at the command-line
Failed to parse counter specified at the command-line
Failed to parse device(s) specified at the command-line
Failed to parse device string on command line
Failed to parse FETCH response.
Failed to parse graphics clock at the command-line
Failed to parse link specified at the command-line
Failed to parse memory clock at the command-line
Failed to parse profile id at the command-line
Failed to parse SIUF Payload.
Failed to parse start of message
Failed to parse temperature at the command-line
--- Failed to parse user's Xbox Live profile response
failed to preprocess 
Failed to process command line
Failed to process command line 
FailedToProcessOedNotificationException
Failed to properly clean up on exit
Failed to properly unmap memory
Failed to query __COMPAT_LAYER from environment
Failed to query device index
Failed to query next connector IPart interface! Result: 0x
Failed to query security context attributes.
Failed to query starting connector IPart interface! Result: 0x
Failed to read connector local id! Result: 0x
Failed to read data
Failed to read database header
Failed to read device enumerator name! Result: 0x
Failed to read device friendly name! Result: 0x
Failed to read device GUID! Result: 0x
Failed to read dynamic record.
Failed to read EK certificate from NVRam! ErrorCode: 
Failed to read encoding type
Failed to read FPF HW.
Failed to read FPF in UEP.
Failed to read FPT NVARs config file.
Failed to read HWID attribute
Failed to read key path
Failed to read MATCHING_REG entry
Failed to read matching text blob
Failed to read MATCHING_TEXT entry
Failed to read MATCHING_TEXT file path
Failed to read MATCHING_WILDCARD_REGISTRY entry
Failed to read modules list! Result: 0x
Failed to read NVRAM area at index 
Failed to read service name from registry
Failed to read size of file: 
Failed to read supported EK types from FW (fTPM)!
Failed to read text encoding
Failed to read text to match
Failed to read the SiufData node
Failed to read value
Failed to read value data
Failed to read value type
Failed to receive IXmlReader instance.
Failed to receive SOCKS4 connect request ack.
Failed to receive SOCKS5 connect request ack.
Failed to receive SSPI authentication response.
Failed to receive SSPI authentication token.
Failed to receive SSPI encryption response.
Failed to receive SSPI encryption type.
Failed to record LastDownloadTime
Failed to redirect output
Failed to redirect to stdout
failed to register for HECI events
failed to register heci device notification
Failed to register the window class!
Failed to register to proximity sensor
Failed to remove
failed to remove abandoned shared session
failed to remove a non-shared session of a dead application
Failed to remove crashed session.
Failed to remove higher API level applets from list.
Failed to reset IE history filter
Failed to resolve matching dir
Failed to resolve matching file
Failed to resolve matching text file
Failed to retrieve 5K port setting.
Failed to retrieve attributes
Failed to retrieve child element
Failed to retrieve feature.
Failed to retrieve Intel (R) FIT version.
Failed to retrieve Intel (R) Internal Build Version.
Failed to retrieve list of BIST tests to run from FW.
Failed to retrieve LSPCON Port setting.
Failed to retrieve modules list size! Result: 0x
Failed to retrieve namespace prefix
Failed to retrieve namespace URI
Failed to retrieve next part from incoming parts! Result: 0x
Failed to retrieve node name
Failed to retrieve password from SPI.
Failed to retrieve power package setting.
Failed to retrieve power rule from SPI.
Failed to retrieve power source.
Failed to retrieve PP Module API version! Result: 0x
Failed to retrieve process history
Failed to retrieve PROC_MISSING NVAR setting.
Failed to retrieve root element
Failed to retrieve sibling
Failed to retrieve test result from SPI.
Failed to retrieve text value
Failed to retrieve the uninstall string. 3DVision uninstall data not found on the system
Failed to retrieve wave filer device! Result: 0x
Failed to Run Monitor Handler
Failed to run uninstaller
Failed to secure dest buffer ptr
Failed to secure source buffer ptr
Failed to select input selector! Result: 0x
Failed to select output selector! Result: 0x
Failed to send presence events.
Failed to send SOCKS4 connect request.
Failed to send SOCKS5 connect request.
Failed to send SOCKS5 sub-negotiation request.
Failed to send SSPI authentication request.
Failed to send SSPI authentication token.
Failed to send SSPI encryption request.
Failed to send SSPI encryption type.
Failed to serialize element
Failed to serialize XML document
Failed to set DLL path: NULL.
Failed to set sensor presence DPPE value.
Failed to set SNI
Failed to set test time timer. Exiting
Failed to shut down the SSL connection
Failed to signal the start directory listener.
Failed to split the wildcard path
Failed to start correlation reset timer.
Failed to start directory listener. Exiting
Failed to start directory listener (no quit event).
Failed to start directory listener (no start event).
Failed to start directory listener thread.
Failed to start event filtering.
Failed to start service
Failed to start service in the required time
Failed to start the process
Failed to unmarshal command code.
Failed to unmarshal command size.
Failed to unmarshal tag.
Failed to update process utilization values in data structures
Failed to update State Repository Cache
failed to validate a schema attribute value
Failed to validate log file
failed to validate the value constraint of an element declaration
Failed to verify signature of OEM or RoT key manifests. For example: Error on update from Production to Pre-Production.
failed to write address type at registry.
Failed to write gamer pic image to file.
Failed to write pixel data to image file "
failed to write service port at registry.
Failed to write the entire flash contents to file.
FAILED[TRACK]
...failed. Vendor of the TPM is not Intel. PTT recertification is not supported.
Failed while getting the MCCS Data
 failed with 
Failed write operation
Failed Writing Certificate
Failed writing data
Failed writing header
Failed writing RTP data
FailFast
Fail fast with no output on HTTP errors
FailIfNotTrackable
FailIfThere
FAIL_INFO
Fail on HTTP errors but save the body
FailThroughSupported
Fail to allocate AppData
Fail to allocate dsp entry
Fail to allocate esif_ccb file
Fail to allocate esif_ipc
Fail to allocate EsifUp
Fail to allocate linked list or hash table
Fail to allocate memory for ToolStartArgs
Fail to allocate response buffer
Fail to create IOStream
Fail to create verbose log file.
Fail to launch DPPA
Fail to read FW Status Register value.
Fail to schedule the chore!
failureCode
failureCount
FailureData
failureId
FailureInfo
Failure in IPC call.
Failure in reading PCIe Data.
Failure in writing PCIe Data.
Failure occurred during ME disconnect.
Failure opening specified shell script file.
Failure reading maximum attribute.
Failure reading minimum attribute.
Failure Reason
FailureTrigger
FailureTriggerTimeInterval
failureType
Failure when receiving data from the peer
Failure writing output to destination
    --fail-with-body
fail-with-body
fake node libxslt
fallback
FallbackError
false literal
    --false-start
false-start
FalseWake
FamilyBlues
FamilyName
FamilyOtherBlues
fan_info
Fan Info
Fan Participant
fan.speed
fan_speed
Fan Speed
fan_state
fanStatus
Fapi-ms-win-core-com-l1-1-1.dll
FarfieldClientMethods
FarfieldClientSafeHandle
fast_attack_alpha
__fastcall
FastConnectionRateClearTime
FastConnectionRateThreshold
fast_release_alpha
FastRoamingSupported
FastSystemS4
FastUserISDRunningMutex
fAsynchronous
FAT12   
FAT16   A
FAT32   f
Fatal flash logs exist in NVM.
# Fatal libcurl error
fatal_pex_errors
?Fatal@PROGRAM@@UEBAXKKPEADZZ
?Fatal@PROGRAM@@UEBAXXZ
FATBOOTVOL
fA;(t(fA98t
fA;(t)fA98t
F ;A t'h Nj
FaultCode: 
FaultDetail: 
FaultReason: 
faultrep.dll
FaultSubCode: 
FaxClose
FaxConnectFaxServerW
FAXCOVER-VER002
FAXCOVER-VER003
FAXCOVER-VER004
FAXCOVER-VER005a
FAXCOVER-VER005w
FaxDevAbortOperation
FaxDevEndJob
FaxDevInitialize
FaxDevReceive
FaxDevReportStatus
FaxDevSend
FaxDevShutdown
FaxDevStartJob
FaxDevVirtualDeviceCreation
FaxEnumPortsExW
FaxExtInitializeConfig
FaxFreeBuffer
FaxRouteDeviceChangeNotification
FaxRouteDeviceEnable
FaxRouteGetRoutingInfo
FaxRouteInitialize
FaxRouteSetRoutingInfo
    Fax Service
FaxSetExtensionDataW
FaxSetPortExW
    Fax Unattanded Setup
fB94ht	H
Fbad allocation
Fbad_weak_ptr
--fbcsessions
fbcsessions
 FBC SESSIONS:
    fbcsessions -- Display FBC Sessions information.
    fbcsessions                 Displays device FBC sessions information. "nvidia-smi fbcsessions -h" for more information.
fbc_stats
    FBC Stats
FBC Stats
FBFC9tnj
FB_LINK_TRAINING_FAILURE_ERROR
FB Memory
FB_MEMORY_ERROR
fb_memory_usage
    FB Memory Usage
FB Memory Usage
fBOKOJSO
!#fC33333FffffE
fc33334ffffffdFffA
fcDDf2"""""ffffff
fcDFfb"""""ffffff1
FCERR is not equal to zero.
fc"""Fffa
fclip.pdb
"FClipStage"
fclose()
FCR specified more than once
fD;1t.ff
fD;1ulf;Y
FD3DffDDDC34ffffffffC
fD90t1f9(u
fD91uTL9r
fD92t?A;
fD93u6H;
fD94pt	H
fD9aXt]L
fD9ePu4H
fD9o"uHD
fD9tDnuYH
fD9 u8E3
fD9?uJfD9
@FdateTime
f**d bXEc
fD;C0t?H
F*DcjP:'k-
FDepVector
Fdf9Gduq
FDGDGnWoWw2x2
FDIDestroy failed
:f?d?I;F;l
fdi_notify(): Malloc(FILEPROCESSINFO) failed.
fdi_notify() new CFDIFileFile failed.
fdi_notify_scan() spanning cabinets is not supported.
fdi_open() new CFDIFileFile failed.
fdi_open() - Passed file name is invalid.
FDMCfgUtils.dll
fD;pHs#H
 fD; u5I
fD;(u	fD
fD;z0sVH
fE_"43pW
fE94wuQI
fE9FHrxA
 -feature 
-feature
_feature
FEATURE_ACA
FEATURE_AEC
featureBaseVersion
feature deprecated
FeatureDisabled
FeatureEnabled
FeatureError
Feature_Gaming
_featureId
featureId
FEATURE_MICSELECTOR
Feature name not set.
Feature not available.
Feature not found.
feature not yet implemented
Feature_Quadro
Features
Features:
FEATURES
Features der Software separat zu verwenden oder zu virtualisieren; 
FEATURE_SETTINGS_APP_DRIVERW
FEATURE_SETTINGSt
featureStage
FEATURE_STATEWWWx
FeatureToParamId
Feature_Unknown
FeatureUsage
FeatureVariantUsage
featureVersion
FeatureVersion
Feature_Vgpu
FEATURE_WOV
February
feccontext.cpp
feccontext.h
FeClient.dll
fecserver.cpp
fecserver.h
FeedEnrollmentData
FeedEnrollmentDataDelegate
fEnterMode
Fep|FOcU
fE;rBs*I
fE;rDs*I
feRgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
feRoNgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
*F*E*R#R#
#fet	#28WV
fET3;5R:
fetch from texture failed
--- Fetching
FetchLanguageOverlayPackageForFirstLogon
FException
FExpansionLevelWWl 
fExpiresSet
	#FF0080FF
f f0f1f.f
F F0F1F.F
f@f0f8f6f
F@F0F8F6F
	#FF191919
	#FF2C2C2C
ff2""""Ffffa
!#ff3333333ffffffffUE6ffd
ff3DB""""""fffffd
ff4DC""""""Fffffd
f!f!6N6N
F*f9G*uo
	#FFACA3A3
f@fAf8f:f
F@FAF8F:F
fFailureActionsOnNonCrashFailures
(f|F)(alse)?|0
F#F#@#B#
FfbFailedWithSuccess
ffc3CDDDFffCFcDfffc33333ff5UDDDFffDDFd4DffC33333FfUUTDfffdD4FdDDFf333333FfUU
ffc4"""""""fffffd
ffcD2""""""ffffff
ffcDDDB""""""""fffffffA
_ffClientPtr
ffd33FffffffffffffA
ffdDDDd4DFdD44DD
	#FFE6E0E0
@@@fff@@@
fff05554n
fff2""""ffffd
#fff33334fffffffffffffffA
fff3DC"""""""""fffffffa
-F-FfAgA
fffC4B""""""""#fffffffa
fffd#34ffffffffffffffffd1
ffff((((
fffff32""""""""6ffffffff
""""""ffffff1
ffffffc2""""""""fffffffffd
ffffffd1
-fffffff
.fffffff
"""""""fffffffa
""""""""fffffffA
fffffffd
Fffffffd
FFFFFFFE3F091B420975E84F80702926430D00A1
FFFFFFFE3F091B420975E84F80702926430D00A3
   fffffffff@@@
---fffffffff
@@@fffffffff
@@@fffffffff   
@@@fffffffff@@@
fffffffff
fffffffff@@@
---fffffffff333
@@@fffffffff333
fffffffff333
''?FFFFFFFFF4'44444??????CCEEE5				
""""""""Fffffffffa
""""FffffffffA
'FFFFFFFFFFF4'44444???????CC"				
   ffffffffffff
   ffffffffffff   
@@@ffffffffffff@@@
ffffffffffff
ffffffffffff   
ffffffffffff---
@@@fffffffffFFF
fffffffffFFF
FFFfffffffff
FFFfffffffff@@@
FFFFFFFFFFFF"
@@@ffffffffffff999
ffffffffffffe
ffffffffffffff
@@@fffffffffffffff@@@
fffffffffffffff@@@
FFFffffffffffff@@@
FFFFFFFFFFFFFFFF'''44444
fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdffffff04000000fefffffffefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffff@@@
FFFfffffffffffffff@@@
@@@ffffffffffffffffff333
F	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F	F
fffffffffffffffffffff
fffffffffffffffffffff@@@
FFFffffffffffffffffff@@@
@@@fffffffffffffffffffff333
fffffffffffffffffffffffffffDDDDffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
"""?FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC777777777)4FFFFFFFFFFFFC
!!FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
fffffffffffffffffffff@@@fffffffff333
#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
?FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000005e
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000c07d
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000e056
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000003034
!#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
FFFfffffffffffffffffffffffffffFFF
!!FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 
#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
fffffffffffffffffffffffffffffffffffff
!!FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
?FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE
!#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
!!#FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE; 
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e3c623a536f757263657320786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e78
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c42534f39393939323920786d6c6e733d22687474703a2f2f7777772e64617465762e64652f42534f66666963652f393939393239223e39383264303138302d373930642d343936352d393130612d3264623735373337396332623c2f42
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c42534f39393939323920786d6c6e733d22687474703a2f2f7777772e64617465762e64652f42534f66666963652f393939393239223e61653235656438652d646238362d343938342d613762302d3434376365633366386338373c2f42
!!!!.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffDDDffffffffffffffffffffffffffffB""24ffffffffffffffffffffffffffd
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
@@@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffMMM
@@@fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffMMM
@@@ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffMMM
fffffffff@@@fffffffffffffffYYY
ffffffffffffffffffffi
FFFffffffffffffSSS
@@@ffffffffffffMMM
FFFfffffffffSSS
@@@ffffffffffffSSS@@@fffffffff333
fffffffffgwwwwwwwwwwwwwwvx
@@@fffffffffMMM
fffffffffMMM
fffffffffSSS
@@@fffffffffYYY
fffffffffYYY
ffffffffT
@@@ffffffSSS
ffffHHHH
FFFFWWWW
f_f[fXfW
    -f filename       Load the file and execute the contained shell commands.
FFLLLH@HSXZdmx
ffLSf79WgtLSf79PgiLSf79Vg:LSfq'RgnLSfeLRf
fflush()
ffnen. Grund: Es liegt ein Malware-Befall vor.
f@fPfQfNf
F@FPFQFNF
f@fPfXfVf
F@FPFXFVF
f#f#_#_#Q
f;FqRODB
]F]FwAwAU(V(V4U4
?F@FXBYBB)B)
Fgdiplus.dll
FGetPackageDisplayNameAndVersionWd
_fgetwchar
fgggggQFgggigiFVkkjjkkikkkkbkkkkk
FG'G'S5T5
F-G-'K(K
;!"F'go8
F:g;RCEP9
"F*G*z)z)
fh"""""""
F(H9F(tLH
F(H9F u!D9eo
F(H9G(un3
F H9G uxH
F(Hc8L9v8
Fhf9GhuO
:fHfHF#F#d
FHGHHH@HAH
FHh4!If_
FhH;Fpt|@
F#'hK799
fhmanagew.pdb
FhServiceBlockBackup
FhServiceClearProtectionState
FhServiceClosePipe
FhServiceMigrationFinished
FhServiceMigrationStarting
FhServiceOpenPipe
FhServiceStartBackup
FhServiceStopBackup
FhServiceUnblockBackup
fhsvcctl.dll
fhuxcommon
fhuxpresentation
F I9@ uoA
FIA MUX error - getting laned limit.
FIA MUX error - max config sku mismatch.
FIA MUX error - no config found.
FIA MUX error - prompting to global reset.
FIA MUX error - reading configuration from file.
FIA MUX error - reading configuration from straps.
FIA MUX error - reading configuration to file.
FIELD_ALTERNATIVEWWW
fieldControlMask
FieldInfo
field resolves to a CT with simple content but the CT is missing the ST definition
fieldset
fieldset legend 
figuredash
fIInputRangeW
__FILE__
fileAccess
FileAccess
FileAccessMode
File already completely downloaded
File already completely uploaded
File already exists.
FILE_ANY_ACCESS
FILE_APPEND_DATA
fileassocbuilder.cpp
fileassocbuildertests.cpp
fileassoc.cpp
fileassoc.h
FILE_ATTRIBUTE_NORMAL
FileAttributes
FileAttributeWWW
FileClusters
_fileContent
fileCount
file.cpp
FILE_DELETE_CHILD
FILE_DEVICE_UNKNOWN
FileDirectory
File does not exist
File does not exist.
file_enum_utils.h
file error
FileError
fileexclusiondetector.h
fileexclusiondetectorut.cpp
FILE_EXECUTE
file exists
File exists
FileExistsWW
fileextension.cpp
fileextension.h
FILE_EXTRACT_IO_ERROR
FILE_EXTRACT_UNAUTHORIZED_ACCESS_ERROR
file-fat.cpp
FILE_FLAG_NO_BUFFERING
FILE_FLAG_OVERLAPPED
FILE_FLAG_RANDOM_ACCESS
FILE_FLAG_WRITE_THROUGH
File for reading random data from
FILE_GENERIC_EXECUTE
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FileHash
FileHistory
FileHistory.exe
FileHistory.pdb
File ID was too long
-fileinfo
_fileInfo
fileInfo
FileInfo
fileinfo.cpp
fileinfo.h
FileInfoPtr
FileInUse
FileIo_Create
FileIo_DirEnum
FileIo_Info
FileIo_Name
FileIo_OpEnd
FileIo_PathOperation
FileIo_ReadWrite
FileIo_SimpleOp
fileiothread.cpp
fileiothread.h
FileIo_V0
FileIo_V0_Name
FileIo_V1
FileIo_V1_Name
FileIo_V2
FileIo_V2_Create
FileIo_V2_DirEnum
FileIo_V2_Info
FileIo_V2_MapFile
FileIo_V2_Name
FileIo_V2_OpEnd
FileIo_V2_ReadWrite
FileIo_V2_SimpleOp
File is invalid.
File is missing first index block
File is not an image file.
FILE_LAYOUT_ENTRY
_filelength
filelist.h
FileLogger
filelookup.h
File mapping invalid
FileMode
File mode for created files
--filename
filename
fileName
Filename
FileName
__FILE_NAME__
filename_effective
filenameI9
Filename is null
                                        file name is used based on the timestamp;
  filename - Name of the file to extract from the cabinet.
fileNames
filename too long
filename_too_long
Filename too long
   File name to redirect replay information
file not found
File not found.
FileNotFound
FileNotFoundCmdSwitch
FileNotFoundException
FileNotSigned
File output failed.
 file packed size   :
_filepath
filepath
_filePath
filePath
FilePath
FilePath.cpp
File path is too long
FILE protocol options
filepublishserver.cpp
filepublishserver.h
FILE_READ_ACCESS
FILE_READ_ATTRIBUTES
FILE_READ_DATA
FILE_READ_EA
fileresource.cpp
fileresource.h
filesCleanedUp
filesDownloaded
filesecurity.hpp
filesecurity_ut.cpp
fileserverpackage.cpp
fileserverpackage.h
fileserverpackageversion.cpp
fileserverpackageversion.h
FileShare
FILE_SHARE_READ
FILE_SHARE_WRITE
file_size
FileSizeInBytes
File size is zero.
filesNotFound
filesNotModified
FileSpecL
filesSkipped
__FILE_STEM__
FileStream
filesystemcmd_tests.cpp
FileSystem_FileMetadata
FileSystem_FolderMetadata
FileSystemInfo
filesystemlogger.cpp
filesystemmetadatadoc.cpp
filesystemmetadatadocfactory.cpp
filesystemmetadatadocmock.h
filesystemmetadataenumeratormock.cpp
filesystemmetadataenumeratormock.h
filesystemmetadatafactory.cpp
filesystemmetadatafactorymock.cpp
filesystemmetadatafactorymock.h
filesystemmetadata.h
filesystemmetadataimpl.cpp
filesystemmetadataimpl.h
filesystemmetadatamock.cpp
filesystemmetadatamock.h
filesystemmetadatatest.cpp
filesystemmetadatatests.cpp
filesystemmetadatatests.h
filesystemmetadataxmltest.cpp
FileSystem_NamedElement
Filesystem output
FilesystemPermissionEnforcer
filesystem_writer.cpp
filesystem_writer.h
 file table size    :
file_tests.cpp
FILETIME CreationTime;
FILETIME                    Date;
FILETIME        ExpireTime;
FILETIME                    ftTime;
FILETIME        LastModifiedTime;
FILETIME                    NextUpdate;
FILETIME                    NextUpdate; 
FILETIME                    NextUpdate;         
FILETIME        NextUpdateTime;
FILETIME                    NotAfter;
FILETIME            NotAfter;
FILETIME                    NotBefore;
FILETIME            NotBefore;
FILETIME                    PendTime;
FILETIME                            *pLastSyncTime;
FILETIME                    ProducedAt;
FILETIME        PublishTime;    
FILETIME                    RevocationDate;
FILETIME            RevocationDate;
FILETIME                    ThisUpdate;
FILETIME        ThisUpdateTime;
FileTimeToDosDateTime
FileTimeToLocalFileTime
FileTimeToSystemTime
FileTimeToVariantTime
file too large
File too large
FileTransferDirectionSent
FileTransferEnded
fileType
FileType
filetypeaction.cpp
filetypeaction.h
FileTypeAssociation
filetype.cpp
filetypedlg.cpp
filetype.h
filetypelistview.cpp
filetypelistview.h
filetypespage.cpp
filetypespage.h
 file unpacked size :
fileutilities.hpp
FileUtils
fileutils.cpp
fileutils.h
file_utils.hpp
fileutilsserver.cpp
fileutilstests.cpp
file_util_tests.cpp
FileVersion.cpp
FileVersionInfo
fileVersionLS
fileVersionMS
FileVersionW
FileWaitingEnded
                    File will be written to the current working directory.
FILE_WRITE_ACCESS
FILE_WRITE_ATTRIBUTES
FILE_WRITE_DATA
FILE_WRITE_EA
?FillAndReadByte@BYTE_STREAM@@AEAAEPEAE@Z
FillAttribute
FillColorInfo
FillConsoleOutput
FillConsoleOutputAttribute
FillConsoleOutputCharacter
FillConsoleOutputCharacterW
filledbox
filledrect
FillInColumn: Dropout contains one intersection (black above)
FillInColumn: Dropout contains one intersection (black below)
FillInInflection: 'known' must *not* be an xtra Cross
FillInRange: invalid path direction
FillInRange: Pixel range illegal
FillMediaExtensionMapFromExtensionInfo
FillMediaExtensionMapFromInprocActivatablePackInfo
fillModeNonSolid
FillRect
FillRectClr
filter1xL98u
FilterAttach
FilterAttachAtAltitude
FilterConnectCommunicationPort
FilterCreationEnabled
FilterCreationHandles
FilterDetach
FilterDialectRequestedUnavailable
FilterDirection
Filtered enumeration is not supported.
FilterFindClose
FilterFindFirst
FilterFindNext
FilterGetDosName
FilterGetMessage
Filter Handle
FilterIjLb1ELi16
FilteringNotSupported
Filtering over the event source is not supported
FilteringRequired
FilterInstanceFindClose
FilterInstanceFindFirst
FilterInstanceFindNext
filterkeys
FilterLoad
FilterMatched
filterMinmaxImageComponentMapping
filterMinmaxSingleComponentFormats
FilterOnPaste
FilterProfile
FilterProfileData
FilterReplyMessage
filterrequestprocessor.cpp
FilterType
FilterUnload
FilterVolumeFindClose
FilterVolumeFindFirst
FilterVolumeFindNext
FilterVolumeInstanceFindClose
FilterVolumeInstanceFindFirst
FilterVolumeInstanceFindNext
finalDefault
FindAcerRing
FindAcerRingWithEdge
FindActCtxSectionStringW
FindAllAsync
FindAtomW
       !FindAutochkBlockers
FindBinding
FindCertsByIssuer(
?Find@CHString@@QEBAHG@Z
?Find@CHString@@QEBAHPEBG@Z
FindClose
FindCloseChangeNotification
FindClosePrinterChangeNotification
FindCloseUrlCache
finddependencies.cpp
finddependencies.h
?FindDescendent@Element@DirectUI@@QEAAPEAV12@G@Z
FindDialogUsed
FindDllCsvPath
FindDllNewtonPath
findencoding
FindEvents
FindExistingDefragWindow
FindFirstChangeNotificationW
FindFirstFileA
FindFirstFileExA
FindFirstFileExW
FindFirstFile failed.
FindFirstFileNameW
FindFirstFileTransactedW
FindFirstFileW
FindFirstPrinterChangeNotification
FindFirstStreamWStub
FindFirstUrlCacheEntryW
FindFirstUrlCacheGroup
FindFirstVolumeW
findfont
FindHighestDeviceTemp
FindIndex
FindIndexForHbaPort
FindIndexForIAdapter
FindIndexForPort
FindIndexForTPortal
Finding compatible face detection sensor
Finding compatible proximity sensor
FindNextButtonClickedTotal
FindNextChangeNotification
FindNextFileA
FindNextFileNameW
FindNextFileW
FindNextPrinterChangeNotification
FindNextStreamWStub
FindNextUrlCacheEntryW
FindNextUrlCacheGroup
FindNextVolumeW
FindNLSString
?FindOneOf@CHString@@QEBAHPEBG@Z
FindPackagesByPackageFamily
FindPackagesForUser
find.pdb
FindPnPDevice
FindPnPDeviceAndRemoveIfNecessary
FindResourceExW
FindResourceW
Finds all virtual processesWWW
Find setup in installer cache
Finds GUIDs given a package URL.WW@
FindStringOrdinal
findstr.pdb
Finds users virtual processesW
FindSystemTimeZoneById
FindTimeZoneChangeEvents
FindTimeZoneId
FindVolumeClose
FindWindowExA
FindWindowExW
FindWindowW
finger.pdb
FINISHED!
FinishedErring
FinishedGlitching
FinishedWriteToNvm
FinishInstallAction
FinishInstallUI
FinishPath: First Cross must be xtra Cross
FinishSplice: Invalid back link 1
FinishSplice: Invalid back link 2
'Finner ikke f
fInValue
?_Fiopen@std@@YAPEAU_iobuf@@PEBDHH@Z
?_Fiopen@std@@YAPEAU_iobuf@@PEBGHH@Z
?_Fiopen@std@@YAPEAU_iobuf@@PEB_WHH@Z
:F;i;p;y;
?FireClickEvent@TouchButton@DirectUI@@UEAAXIIW4ClickDevice@12@PEAUtagPOINT@@@Z
?FireEvent@Element@DirectUI@@QEAAXPEAUEvent@2@_N1@Z
?FireRightClickEvent@TouchButton@DirectUI@@UEAAXIPEAUtagPOINT@@@Z
FirewallAPI.dll
Firewall_PredefinedRuleGroup
Firewall_PredefinedRuleGroup_Baseline
Firewall_Profile_Domain
Firewall_Profile_Parameters
Firewall_Profile_Private
Firewall_Profile_Public
firmware
Firmware
FirmwareCallAttempts
Firmware call failed. Trying one more time after 
FirmwareCallTimeout
FirmwareDate
Firmware Error
FirmwareReceiveResponseTimeout
FirmwareResetReasonEmbeddedController
FirmwareResetReasonEmbeddedControllerAdditional
FirmwareResetReasonPch
FirmwareResetReasonPchAdditional
FirmwareResetReasonSupplied
FirmwareRevision
FirmwareSendCommandTimeout
Firmware update cannot be initiated because the OEM ID given for FW Update did not match the OEM ID in the FW.
FirmwareUpdateCompleteEventInfo
FirmwareUpdateCompleteInfo
FirmwareUpdateCompleteStatus
Firmware Update Failed
Firmware update failed due to an internal error
Firmware update failed due to an internal error 364.
Firmware update failed due to an internal error 365.
Firmware update failed due to an internal error 367.
Firmware update failed due to an internal error 368.
Firmware update failed due to an internal error 369.
Firmware update failed due to an internal error 371.
Firmware update failed due to an internal error 455.
Firmware update failed due to an internal error 456.
Firmware update failed due to an internal error 458.
Firmware update failed due to an internal error 459.
Firmware update failed due to an internal error 461.
Firmware update failed due to an internal error 465.
Firmware update failed due to an internal error 476.
Firmware update failed due to an internal error 477.
Firmware update failed due to an internal error 478.
Firmware update failed due to an internal error 501.
Firmware update failed due to an internal error 518.
Firmware update failed due to an internal error caused by a failure in event publishing.
FirmwareUpdateInfo
Firmware Update Manager
Firmware Update operation not initiated because a firmware update is already in progress.
FirmwareUpdateRealm
Firmware Update Started
FirmwareUpdateState
FirmwareUpdateStatusInput
FirmwareUpdateStatusOutput
FirmwareVerbosity
Firmware Version
FirmwareVersion
    first 4 supported devices under natural enumeration (starting
First argument must be CONTROLLER
First argument must be DRIVE
First argument must be LUN
First argument must be SUBSYSTEM
First argument must be TARGET
first bucket but it's an include or redefine
FirstBusySQL
_firstContractBrokerRequestEvent
FirstErrorTime
FirstFailure
FirstGlitchTime
                    first gpu in the system conforming to the DevSim schema.
FirstHardwareId
First input must be PLEX
first_layer
FirstOrDefault
first provider can't be empty
FirstRestorePerformed
firstRun
FirstStage
FIRST_X509_NOT_FOUND
fIsInterlaced
fIsLocalAnchor
fiTXtXML:com.adobe.xmp
fiveeighths
fiveinferior
fiveoldstyle
fivesuperior
FIVR Participant
FixAllCascadingInDeploymentPartition
FixAllCascadingInMachinePartition
[fixed] 
FixedAddressValueTypeAttribute
FixedPanel
FixedWWW
FixFileSystemPermissions
FixImcServiceRegistry
fixing namespaces
fixmapi.pdb
fixpackagestore.cpp
FixPermissions
FixPinActionInvoke
FjAjA'(((6474
F J;D* t
F(jgYjGZ
Fk'9WSa3|
FkCkCm0m0
FKIKn[o[
!flA	E.idxR
FLAG_DAMAGEROUTINE
FLAG_DEVIDHACK
FLAG_DRIVERHACKFORSLI
FLAG_FUSEERROR
FLAG_MULTIMON
FLAG_OVERCLOCKG
FLAG_OVERCLOCKMEM
FLAG_OVERCLOCKR
FLAG_OVERCLOCKS
FLAG_POWERMIZER
FlagRecordForOverwrite
FlagsAttribute
?flags@ios_base@std@@QEBAHXZ
FLAG_SLIMODE
Flash corruption.
Flash descriptor does not have correct signature.
Flash Image content is invalid.
Flash is not blank.
Flash Wear-Out Counters Reset
Flash wear out violation.
FlashWindowEx
[flatten] 
FLCN_DPU
FLCN_FBFLCN
FLCN_GSP
FLCN_HDA
FLCN_MSENC0
FLCN_MSENC1
FLCN_MSENC2
FLCN_NVDEC0
FLCN_NVDEC1
FLCN_NVDEC2
FLCN_NVDEC3
FLCN_NVDEC4
FLCN_NVDEC5
FLCN_NVDEC6
FLCN_NVDEC7
FLCN_NVLINK
FLCN_PMU
FLCN_SEC2
FlcnSecurity
FLCN_SECURITY_MODEL_HEAVY
FLCN_SECURITY_MODEL_LIGHT
FLCN_SECURITY_MODEL_NONE
flexIndx error in otherFLEX
FlightIds
FLIGHTSIGNING
float16_t
float2x2
float3x3
float4(tex2Dlod(
float4x4
floating point literal
- floating point support not loaded
floatvector
Flow control error.
FlowLayoutPanel
flowLayoutPanel1
flowLayoutPanel1_Layout
FlsAlloc
FlsGetValue
FlsSetValue
fl.sync.idx
flt_[1360O
flt_[1440N
flt_[15360
flt_[259
flt_[26656
flt_[400N
FLTLIB.DLL
fltMC.pdb
_flushall
FlushBuffer
FlushConsoleInputBuffer
FlushControllerCache
Flushed system file buffers.
FlushEfsCache
flush error
FlushFileBuffers
FlushInProcTraceSession
FlushInstructionCache
FlushProcessWriteBuffers
_flushTimeout
Fmapistub.dll
FMapType
fma.rn.f32g
fma.rnSE
fma.rnZE
(FMGM6;7;
FMicrosoft.AppV.Client.StreamingUX.PublishingActivityProgressBarControl
FM_l]DzL
FmNNNiBBB
FmtLength
-f|mUq6Z
F;-N6mifo
FNAPA?(?(F4F4
fnCreateBlockedForUpgradeNotification
fnCreateUserNotification
fnFindWindow
fnFindWindowEx
fnGetChildButtonWindows
fnGetNotifyAreaButtonRectangle
fnGetTaskBarInfo
fnGetWindowRect
fnGetWorkingArea
fnMutexSecurityFactory
(FNn)N2UjA
FNNNNNNNNNNNNNNNNNNNNNNNNNNJ
fnObservableAppCollectionFactory
fnObservablePublishingActivityCollectionFactory
fnObservableRefreshCollectionFactory
fnRegistratorFactory
fnSinkFactory
_fnTaskDialogIndirect
FnTaskDialogIndirectType
	fntid.x
fny1f13FM1f13
FocusHWndUpdated
FocusManager
FodHelper.pdb
FODState
FODStateHR
FODVersion
FODVersionHR
FO.E)IUn
FOEPYTRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
f-|Of149 
FolderExists
FolderPathWW
FolderPreviewTypeMenuItemsVisibilityConverter
FolderPreviewViewType
folder_redirection_task.cpp
folder_redirection_task.h
folderredirectiontasktest.cpp
FolderRestoreClickCount
FolderRestoreToClickCount
FoldersW
foldertree.stub.cpp
FolderViewTypeChangeCount
FoldStringW
 'following' 
following
following-sibling
 'following-siblings' 
Follow redirects
FonDUE.pdb
FontBBox
FontDirectory
fontdrvhost.pdb
font-family:
FontFamily
FontMatrix
FontName
font-size:
			font-size: 14px;
			font-size: 44px;
FontSizeX
FontSizeY
FontType
fontview.pdb
FontWeight
			font-weight: 200;
foorPnoissessoPlairetaMmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
foorPnoissessoPlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
                                                  (for all domains)
For all options use the manual or "--help all".
                                        for all the available participants
ForAppending 
Forbidden variable
-force_add_update
force_add_update
ForceBold
ForceBoldThreshold
ForceCDorDVDBoot
Force closing the spooler applet session...
forceDebugModeOnlyWWd
ForceDiagnosticBoot
FORCEDISABLE
ForceDismount
forced line break 
forced M
forced N
ForcedProgressEvents
-forced_update
ForceEnableStatus
ForceHardDriveBoot
ForceHardDriveSafeModeBoot
FORCEINLINE
Force lossless image output
ForcePXEBoot
			ForceRemove 'Programmable'
			ForceRemove Programmable
            ForceRemove 'Programmable'
Forces addition and updates for the app with provided cmsid. Only supported with the default api. Use is not recommended.
ForceSingleVa2ndStageConfigName
ForceSyncFgPolicy
Force-terminate container as it is resuming is safe mode
Force use of RANGE for local port numbers
forceWWW
ForceWWW@
;forcu"f
FOREGROUND_FEATURE_LOADWd
For example:
For example: Error on updating from Consumer to Corporate.
forfiles.pdb
ForgotPinActionInvoke
For information on how your program can cause an assertion
    for Kepler or newer GPUs under x64 and ppc64 bare metal Linux.
FORMAT_A1R5G5B5_UNORM_PACK16
FORMAT_A2B10G10R10_SINT_PACK32
FORMAT_A2B10G10R10_SNORM_PACK32
FORMAT_A2B10G10R10_SSCALED_PACK32
FORMAT_A2B10G10R10_UINT_PACK32
FORMAT_A2B10G10R10_UNORM_PACK32
FORMAT_A2B10G10R10_USCALED_PACK32
FORMAT_A2R10G10B10_SINT_PACK32
FORMAT_A2R10G10B10_SNORM_PACK32
FORMAT_A2R10G10B10_SSCALED_PACK32
FORMAT_A2R10G10B10_UINT_PACK32
FORMAT_A2R10G10B10_UNORM_PACK32
FORMAT_A2R10G10B10_USCALED_PACK32
formatA4B4G4R4
FORMAT_A4B4G4R4_UNORM_PACK16
formatA4R4G4B4
FORMAT_A4R4G4B4_UNORM_PACK16
FORMAT_A8B8G8R8_SINT_PACK32
FORMAT_A8B8G8R8_SNORM_PACK32
FORMAT_A8B8G8R8_SRGB_PACK32
FORMAT_A8B8G8R8_SSCALED_PACK32
FORMAT_A8B8G8R8_UINT_PACK32
FORMAT_A8B8G8R8_UNORM_PACK32
FORMAT_A8B8G8R8_USCALED_PACK32
FormatApplicationUserModelId
FORMAT_ASTC_10x10_SFLOAT_BLOCK
FORMAT_ASTC_10x10_SRGB_BLOCK
FORMAT_ASTC_10x10_UNORM_BLOCK
FORMAT_ASTC_10x5_SFLOAT_BLOCK
FORMAT_ASTC_10x5_SRGB_BLOCK
FORMAT_ASTC_10x5_UNORM_BLOCK
FORMAT_ASTC_10x6_SFLOAT_BLOCK
FORMAT_ASTC_10x6_SRGB_BLOCK
FORMAT_ASTC_10x6_UNORM_BLOCK
FORMAT_ASTC_10x8_SFLOAT_BLOCK
FORMAT_ASTC_10x8_SRGB_BLOCK
FORMAT_ASTC_10x8_UNORM_BLOCK
FORMAT_ASTC_12x10_SFLOAT_BLOCK
FORMAT_ASTC_12x10_SRGB_BLOCK
FORMAT_ASTC_12x10_UNORM_BLOCK
FORMAT_ASTC_12x12_SFLOAT_BLOCK
FORMAT_ASTC_12x12_SRGB_BLOCK
FORMAT_ASTC_12x12_UNORM_BLOCK
FORMAT_ASTC_4x4_SFLOAT_BLOCK
FORMAT_ASTC_4x4_SRGB_BLOCK
FORMAT_ASTC_4x4_UNORM_BLOCK
FORMAT_ASTC_5x4_SFLOAT_BLOCK
FORMAT_ASTC_5x4_SRGB_BLOCK
FORMAT_ASTC_5x4_UNORM_BLOCK
FORMAT_ASTC_5x5_SFLOAT_BLOCK
FORMAT_ASTC_5x5_SRGB_BLOCK
FORMAT_ASTC_5x5_UNORM_BLOCK
FORMAT_ASTC_6x5_SFLOAT_BLOCK
FORMAT_ASTC_6x5_SRGB_BLOCK
FORMAT_ASTC_6x5_UNORM_BLOCK
FORMAT_ASTC_6x6_SFLOAT_BLOCK
FORMAT_ASTC_6x6_SRGB_BLOCK
FORMAT_ASTC_6x6_UNORM_BLOCK
FORMAT_ASTC_8x5_SFLOAT_BLOCK
FORMAT_ASTC_8x5_SRGB_BLOCK
FORMAT_ASTC_8x5_UNORM_BLOCK
FORMAT_ASTC_8x6_SFLOAT_BLOCK
FORMAT_ASTC_8x6_SRGB_BLOCK
FORMAT_ASTC_8x6_UNORM_BLOCK
FORMAT_ASTC_8x8_SFLOAT_BLOCK
FORMAT_ASTC_8x8_SRGB_BLOCK
FORMAT_ASTC_8x8_UNORM_BLOCK
FORMAT_B10G11R11_UFLOAT_PACK32
FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
FORMAT_B16G16R16G16_422_UNORM
FORMAT_B4G4R4A4_UNORM_PACK16
FORMAT_B5G5R5A1_UNORM_PACK16
FORMAT_B5G6R5_UNORM_PACK16
FORMAT_B8G8R8A8_SINT
FORMAT_B8G8R8A8_SNORM
FORMAT_B8G8R8A8_SRGB
FORMAT_B8G8R8A8_SSCALED
FORMAT_B8G8R8A8_UINT
FORMAT_B8G8R8A8_UNORM
FORMAT_B8G8R8A8_USCALED
FORMAT_B8G8R8G8_422_UNORM
FORMAT_B8G8R8_SINT
FORMAT_B8G8R8_SNORM
FORMAT_B8G8R8_SRGB
FORMAT_B8G8R8_SSCALED
FORMAT_B8G8R8_UINT
FORMAT_B8G8R8_UNORM
FORMAT_B8G8R8_USCALED
FORMAT_BC1_RGBA_SRGB_BLOCK
FORMAT_BC1_RGBA_UNORM_BLOCK
FORMAT_BC1_RGB_SRGB_BLOCK
FORMAT_BC1_RGB_UNORM_BLOCK
FORMAT_BC2_SRGB_BLOCK
FORMAT_BC2_UNORM_BLOCK
FORMAT_BC3_SRGB_BLOCK
FORMAT_BC3_UNORM_BLOCK
FORMAT_BC4_SNORM_BLOCK
FORMAT_BC4_UNORM_BLOCK
FORMAT_BC5_SNORM_BLOCK
FORMAT_BC5_UNORM_BLOCK
FORMAT_BC6H_SFLOAT_BLOCK
FORMAT_BC6H_UFLOAT_BLOCK
FORMAT_BC7_SRGB_BLOCK
FORMAT_BC7_UNORM_BLOCK
?Format@CHString@@QEAAXPEBGZZ
Format Converter
FormatCorruptionRecordW
FORMAT_D16_UNORM
FORMAT_D16_UNORM_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT
FORMAT_D32_SFLOAT_S8_UINT
FormatDescription
FORMAT_E5B9G9R9_UFLOAT_PACK32
FORMAT_EAC_R11G11_SNORM_BLOCK
FORMAT_EAC_R11G11_UNORM_BLOCK
FORMAT_EAC_R11_SNORM_BLOCK
FORMAT_EAC_R11_UNORM_BLOCK
format: ERROR - bad format
FormatErrorCode
FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
FORMAT_ETC2_R8G8B8_SRGB_BLOCK
FORMAT_ETC2_R8G8B8_UNORM_BLOCK
FormatEx2
FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
FORMAT_FEATURE_2_BLIT_DST_BIT
FORMAT_FEATURE_2_BLIT_SRC_BIT
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT
FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT
FORMAT_FEATURE_2_DISJOINT_BIT
FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT
FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV
FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT
FORMAT_FEATURE_2_STORAGE_IMAGE_BIT
FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT
FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
FORMAT_FEATURE_2_TRANSFER_DST_BIT
FORMAT_FEATURE_2_TRANSFER_SRC_BIT
FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT
FORMAT_FEATURE_2_VERTEX_BUFFER_BIT
FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR
FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR
FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR
FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR
FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
FORMAT_FEATURE_BLIT_DST_BIT
FORMAT_FEATURE_BLIT_SRC_BIT
FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
FORMAT_FEATURE_DISJOINT_BIT
FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT
FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
FORMAT_FEATURE_STORAGE_IMAGE_BIT
FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
FORMAT_FEATURE_TRANSFER_DST_BIT
FORMAT_FEATURE_TRANSFER_SRC_BIT
FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
FORMAT_FEATURE_VERTEX_BUFFER_BIT
FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR
FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR
FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR
FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR
FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
FORMAT_G16B16G16R16_422_UNORM
FORMAT_G16_B16R16_2PLANE_420_UNORM
FORMAT_G16_B16R16_2PLANE_422_UNORM
FORMAT_G16_B16R16_2PLANE_444_UNORM
FORMAT_G16_B16_R16_3PLANE_420_UNORM
FORMAT_G16_B16_R16_3PLANE_422_UNORM
FORMAT_G16_B16_R16_3PLANE_444_UNORM
FORMAT_G8B8G8R8_422_UNORM
FORMAT_G8_B8R8_2PLANE_420_UNORM
FORMAT_G8_B8R8_2PLANE_422_UNORM
FORMAT_G8_B8R8_2PLANE_444_UNORM
FORMAT_G8_B8_R8_3PLANE_420_UNORM
FORMAT_G8_B8_R8_3PLANE_422_UNORM
FORMAT_G8_B8_R8_3PLANE_444_UNORM
formatID
formatln: ERROR - bad format
FormatMessageA
FormatMessageW
FormatMismatch
Format modifier is not recognized.
formatMsg
FormatNumberString
Format options and one or more properties to be queried need to be provided as comma separated values for this switch.
Format Properties
FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG
FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
FORMAT_R10X6G10X6_UNORM_2PACK16
FORMAT_R10X6_UNORM_PACK16
FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
FORMAT_R12X4G12X4_UNORM_2PACK16
FORMAT_R12X4_UNORM_PACK16
FORMAT_R16G16B16A16_SFLOAT
FORMAT_R16G16B16A16_SINT
FORMAT_R16G16B16A16_SNORM
FORMAT_R16G16B16A16_SSCALED
FORMAT_R16G16B16A16_UINT
FORMAT_R16G16B16A16_UNORM
FORMAT_R16G16B16A16_USCALED
FORMAT_R16G16B16_SFLOAT
FORMAT_R16G16B16_SINT
FORMAT_R16G16B16_SNORM
FORMAT_R16G16B16_SSCALED
FORMAT_R16G16B16_UINT
FORMAT_R16G16B16_UNORM
FORMAT_R16G16B16_USCALED
FORMAT_R16G16_SFLOAT
FORMAT_R16G16_SINT
FORMAT_R16G16_SNORM
FORMAT_R16G16_SSCALED
FORMAT_R16G16_UINT
FORMAT_R16G16_UNORM
FORMAT_R16G16_USCALED
FORMAT_R16_SFLOAT
FORMAT_R16_SINT
FORMAT_R16_SNORM
FORMAT_R16_SSCALED
FORMAT_R16_UINT
FORMAT_R16_UNORM
FORMAT_R16_USCALED
FORMAT_R32G32B32A32_SFLOAT
FORMAT_R32G32B32A32_SINT
FORMAT_R32G32B32A32_UINT
FORMAT_R32G32B32_SFLOAT
FORMAT_R32G32B32_SINT
FORMAT_R32G32B32_UINT
FORMAT_R32G32_SFLOAT
FORMAT_R32G32_SINT
FORMAT_R32G32_UINT
FORMAT_R32_SFLOAT
FORMAT_R32_SINT
FORMAT_R32_UINT
FORMAT_R4G4B4A4_UNORM_PACK16
FORMAT_R4G4_UNORM_PACK8
FORMAT_R5G5B5A1_UNORM_PACK16
FORMAT_R5G6B5_UNORM_PACK16
FORMAT_R64G64B64A64_SFLOAT
FORMAT_R64G64B64A64_SINT
FORMAT_R64G64B64A64_UINT
FORMAT_R64G64B64_SFLOAT
FORMAT_R64G64B64_SINT
FORMAT_R64G64B64_UINT
FORMAT_R64G64_SFLOAT
FORMAT_R64G64_SINT
FORMAT_R64G64_UINT
FORMAT_R64_SFLOAT
FORMAT_R64_SINT
FORMAT_R64_UINT
FORMAT_R8G8B8A8_SINT
FORMAT_R8G8B8A8_SNORM
FORMAT_R8G8B8A8_SRGB
FORMAT_R8G8B8A8_SSCALED
FORMAT_R8G8B8A8_UINT
FORMAT_R8G8B8A8_UNORM
FORMAT_R8G8B8A8_USCALED
FORMAT_R8G8B8_SINT
FORMAT_R8G8B8_SNORM
FORMAT_R8G8B8_SRGB
FORMAT_R8G8B8_SSCALED
FORMAT_R8G8B8_UINT
FORMAT_R8G8B8_UNORM
FORMAT_R8G8B8_USCALED
FORMAT_R8G8_SINT
FORMAT_R8G8_SNORM
FORMAT_R8G8_SRGB
FORMAT_R8G8_SSCALED
FORMAT_R8G8_UINT
FORMAT_R8G8_UNORM
FORMAT_R8G8_USCALED
FORMAT_R8_SINT
FORMAT_R8_SNORM
FORMAT_R8_SRGB
FORMAT_R8_SSCALED
FORMAT_R8_UINT
FORMAT_R8_UNORM
FORMAT_R8_USCALED
formatRgba10x6WithoutYCbCrSampler
FORMAT_S8_UINT
FormatSecurityTocken
format specifier requires numeric argument
Format specifier requires numeric argument.
format specifier requires signed argument
formatString
FORMAT_UNDEFINED
formatVersion
FORMAT_X8_D24_UNORM_PACK32
form control 
form control group 
form-data
    --form-escape
form-escape
FormFactor
form field label text 
FormRestart
form-string
#         FOR NVIDIA ENGINEERING USE ONLY.          #
Fort Collins1
forward compatibility was attempted on non supported HW
forwarded-tcpip
ForwardFolderClickCount
fosqssss
Found anyName attribute without oneOrMore ancestor
Found a setup candidate in
---     Found candidate output
Found device that matches new INF!
Found directory change event queued during suspend. Raising it now..
Found Face Detection Sensor
Found face detection sensor during OnSensorEnter event
FoundIoKeyAndObjectMismatchFileId
FoundIoKeyAndObjectMismatchOffset
FoundIoKeyShouldNotBeMaxNotFound
Found motion sensor during OnSensorEnter event
Found non-native class hit.
Found nsName attribute without oneOrMore ancestor
Found pending candidate for reuse and CURLOPT_PIPEWAIT is set
Found Proximity Sensor
Found proximity sensor during OnSensorEnter event
Found setup at path
Found setup defined by ARP
Found setup in
Found user context for active session.
fourinferior
fouroldstyle
foursuperior
fp16.hppE
fp16_i8816cudnn_int8
fp16_s16816gemm_fp16
fp16_s1688cudnn_fp16
fp16_s1688gemm_fp16
fp16_s884cudnn_fp16
fp16_s884gemm_fp16
fp16_scuI
fp16x2_hcudnn_fp16x2
fp16x2_hcudnn_winograd_fp16x2
fp32_i8816cudnn
fp32_icudnn
fp32_igemm_int8
fp32_s1684tf32cudnn_fp32
fp5XA!3_
fPANELSELFREFRESH_NOT_SUPPOREDWWW
fpcEventPtr is NULL
fpcEventPtr is NULL 
Fpc?n4'C
FPF is not written.
FPFs are not committed to HW.
FPJ;D18u'H
FPROPSYS.dll
FPT is not found in the image.
Fq9b|All
 - frac(
fraction
Fractional sampling not implemented yet
fractionDigits
fragmentDensityInvocations
fragmentDensityMap
fragmentDensityMapDeferred
fragmentDensityMapDynamic
fragmentDensityMapNonSubsampledImages
fragmentShaderPixelInterlock
fragmentShaderSampleInterlock
fragmentShaderShadingRateInterlock
fragmentShadingRateNonTrivialCombinerOps
fragmentShadingRateStrictMultiplyCombiner
fragmentShadingRateWithConservativeRasterization
fragmentShadingRateWithCustomSampleLocations
fragmentShadingRateWithFragmentShaderInterlock
fragmentShadingRateWithSampleMask
fragmentShadingRateWithShaderDepthStencilWrites
fragmentShadingRateWithShaderSampleMask
fragmentStoresAndAtomics
framebufferColorSampleCounts
framebufferDepthSampleCounts
framebufferIntegerColorSampleCounts
framebufferNoAttachmentsSampleCounts
framebufferStencilSampleCounts
framedynos.dll
FrameRect
FrameworkDisplayName
FrameworkElement
FrameworkGetProperty
freeaddrinfo
FreeAddrInfoW
freeBytes
freeBytesAfter
freeBytesBefore
FreeClusters
FreeCMCResponse
FreeConsole
FreeCoTaskMem
FreeEncryptedFileKeyInfo
FreeEncryptionCertificateHashList
FreeEnvironmentStringsW
Free handle
FreeHGlobal
FreeLibrary
FreeLibraryAndExitThread
?FreeLibraryHandle@SYSTEM@@SAXPEAX@Z
FreeLibraryWhenCallbackReturns
FreeMode
FreeResource
FreeSpaceWWW
FreeUrlCacheSpaceW
FRegDeleteKeyExW
frequency
Frequency
Frequency(Hz)
friendlyName
FriendlyName
FromDefaultContext
FromEmptyOptions
FromIntPtr
From "kd" to list the files which may be preventing autochk from running.
FromMilliseconds
FromMinutes
                                        from now.
FromSeconds
FromVisual
frontend.cpp
frontend.h
frontendsettings.cpp
frontendsettings.h
FRtlDllShutdownInProgress
fs_48000
f;S8tDH;C
fsdismountmanager.h
fsdismountmananger.cpp
_fseeki64
fSfPfQfVfW
fSfSfUfh
fSIDE_BY_SIDE_HALF_HORIZONTAL_SUB_SAMPLINGWWW
fsinterface.cpp
fsinterface.h
fsinter.h
fsmetadatacreator.hpp
fsmetadatacreator_ut.cpp
fsmetadataentry.hpp
fsmetadataentry_ut.cpp
fsmetadata.hpp
fsmetadataiterator.hpp
fsmetadata_ut.cpp
fsod_process_runtime.cpp
fsod_process_runtime.h
fsod_runtime.cpp
fsod_runtime.h
_fstat64
ftaction.cpp
ftaction.h
ftaheader.h
fta_notifier_ipc_c.c
fta_notifier_ipc.h
ftaobject.cpp
ftaobject.h
fta_packager.cpp
fta_packager.h
fta_packager_subsystem.cpp
fta_publish_operations.cpp
fta_publish_operations.h
fta_registrator.cpp
fta_registrator.h
fta_registrator_test.cpp
FTargetWW@
fta_rpc_server_api.cpp
fta_rpc_server.cpp
fta_rpc_server.h
fta_rpc_server::start_rpc_server
ftExpires
FTL specified more than once
ftmanager.cpp
ftmanager.h
ftoEtamroFeriWyalpsiD.eroC.yalpsiD.seciveD.swodniW
FTP: Accepting server connect has timed out
ftp-account
ftp-alternative-to-user
FTP: can't figure out the host in the PASV response
FTP: command PORT failed
FTP: command REST failed
FTP: couldn't retrieve (RETR failed) the specified file
FTP: couldn't set file type
    --ftp-create-dirs
ftp-create-dirs
ftp_entry_path
: FTP error
ftp@example.com
ftp-method
    --ftp-pasv
ftp-pasv
ftp-port
    --ftp-pret
ftp-pret
FTP protocol options
FTP response timeout
ftp server doesn't support SIZE
    --ftp-skip-pasv-ip
ftp-skip-pasv-ip
    --ftp-ssl-ccc
ftp-ssl-ccc
ftp-ssl-ccc-mode
    --ftp-ssl-control
ftp-ssl-control
ftp-ssl-reqd
FTP: The server did not accept the PRET command.
FTP: The server failed to connect to data port
FTP: unknown 227 response format
FTP: unknown PASS reply
FTP: unknown PASV reply
ftype.cpp
[Full Certificate History]
Full chain
FULL_CONFIGW
fullDrawIndexUint32
FullInfPath
FullName
fullPathToFolder
fullScreenExclusiveSupported
FullscreenSupported
_Full_ScreenW
-fullsync
FullWake
fullyCoveredFragmentShaderInputVariable
_function
function
Function
FUNCTION
FunctionDescription
_functionName
functionName
function not supported
functionpointer
Funknown.file
future already retrieved
FveAddAuthMethodInformation
FveAddAuthMethodInformation(
FveAddAuthMethodSid(
FveAddPredictiveTpmProtector(
FVEAPI.dll
FveApiFound
FveApplyGroupPolicy(
FveApplyNkpCertChanges(
FveAttemptAutoUnlock(
FVE_AUTH_DPAPI_NG DpapiNgInfo;
FveAuthElementFromPassPhraseW(
FveAuthElementFromPinW(
FveAuthElementFromRecoveryPasswordW(
FveAuthElementGetKeyFileNameW(
FveAuthElementReadExternalKeyW(
FveAuthElementToRecoveryPasswordW(
FveAuthElementWriteExternalKeyW(
FVE_AUTH_EXTERNAL_KEY ExternalKey;
FVE_AUTH_INFO_CLEAR_KEY ClearKeyInfo;
FVE_AUTH_INFO_PUBLIC_KEY PublicKeyInfo;
FVE_AUTH_PASSPHRASE PassPhrase;
FVE_AUTH_PIN Pin;
FVE_AUTH_PREDICTED_TPM_INFO PredictedTpmInfo;
FVE_AUTH_PRIVATE_KEY PrivateKey;
FVE_AUTH_PUBLIC_KEY PublicKey;
FVE_AUTH_RECOVERY_PASSWORD RecoveryPassword;
FVE_AUTH_TPM Tpm;
FveBackupRecoveryInformationToAD(
FveBackupRecoveryInformationToADEx
FveBackupRecoveryInformationToADEx(
FveBackupRecoveryPasswordToCloudDomain
FveBackupRecoveryPasswordToSkyDrive
FveBindDataVolume
FveBindDataVolume(
FveCanPinExceptionPolicyBeApplied(
FveCanStandardUsersChangePassphraseByProxy(
FveCanStandardUsersChangePin(
FveCheckADRecoveryInfoBackupPolicy(
FveCheckADRecoveryInfoBackupPolicyEx(
FveCheckBootFileW(
FveCheckPassphrasePolicy(
FveCheckTpmCapability
FveCheckTpmCapability(
FveClearUserFlags(
FveCloseHandle(
FveCloseVolume
FveCloseVolume(
FveCommitChanges
FveCommitChanges(
FveCommitChangesEx
FveCommitChangesEx(
FveConversionDecrypt(
FveConversionDecryptEx(
FveConversionEncrypt(
FveConversionEncryptEx(
FveConversionEncryptPendingReboot(
FveConversionEncryptPendingRebootEx(
FveConversionPause(
FveConversionResume(
FveConversionStop(
FveConversionStopEx(
FveDecrementClearKeyCounter(
FveDeleteAuthMethod
FveDeleteAuthMethod(
FveDeleteDeviceEncryptionOptOutForVolumeW(
FVE_DEVICE_MAX
FVE_DEVICE_TYPE DevType;
FveDisableDeviceLockoutState(
FveDiscardChanges(
FveDraCertPresentInRegistry(
FveEnableLoggingProvider
FveEnableRawAccess(
FveEnableRawAccessEx(
FveEnableRawAccessW(
FVE-EOWBH9
FVE-EOWBM
FVE-EOWBR
FveEraseDrive(
FveEraseDriveExW(
FveEscrowEncryptedRecoveryKeyForRetailUnlock(
FveFindFirstVolume(
FveFindNextVolume(
FveFlagsToProtectorType(
-FVE-FS-
-FVE-FS-H
FveGenerateNbp(
FveGenerateNkpSessionKeys(
FveGetAllowKeyExport(
FveGetAuthMethodGuids
FveGetAuthMethodGuids(
FveGetAuthMethodInformation
FveGetAuthMethodInformation(
FveGetAuthMethodSid(
FveGetAuthMethodSidInformation(
FveGetClearKeyCounter(
FveGetDataSet(
FveGetDescriptionW(
FveGetDeviceLockoutData(
FveGetExternalKeyBlob(
FveGetFipsAllowDisabled(
FveGetFveMethod(
FveGetFveMethodEDrv(
FveGetFveMethodEx(
FveGetIdentificationFieldW(
FveGetIdentity
FveGetIdentity(
FveGetKeyPackage(
FveGetRecoveryPasswordBackupInformation(
FveGetSecureBootBindingState
FveGetSecureBootBindingState(
FveGetStatus
FveGetStatus(
FveGetStatusW
FveGetStatusW(
FveGetUserFlags(
FveGetVolumeNameW
FveGetVolumeNameW(
FVE_HANDLE_MAX
FveInitializeDeviceEncryption(
FveInitializeDeviceEncryption2(
FveInitVolume(
FveInitVolumeEx(
FVE_INTERFACE_MAX
FveIsAnyDataVolumeBoundToOSVolume(
FveIsBoundDataVolume(
FveIsBoundDataVolumeToOSVolume
FveIsBoundDataVolumeToOSVolume(
FveIsDeviceLockable(
FveIsDeviceLockedOut
FveIsDeviceLockedOut(
FveIsHardwareReadyForConversion(
FveIsHybridVolume(
FveIsHybridVolumeW(
FveIsPassphraseCompatibleW(
FveIsRecoveryPasswordGroupValidW
FveIsRecoveryPasswordGroupValidW(
FveIsRecoveryPasswordValidW(
FveIsSchemaExtInstalled(
FveIsTpmProtectorType(
FveIsVolumeEncryptable(
FveKeyManagement
FveKeyManagement(
FveLockDevice(
FveLockVolume(
FveLogRecoveryReason(
FveNeedsDiscoveryVolumeUpdate(
FveNotifyVolumeAfterFormat(
FveOpenVolumeByHandle(
FveOpenVolumeExW(
FveOpenVolumeW
FveOpenVolumeW(
FvepCanPinExceptionPolicyBeApplied(
FVE_PROTECTOR_TYPE ProtectorType
FveProtectorTypeToFlags(
FveQuery(
FveQueryDeviceEncryptionSupport(
FVE_QUERY_MAX
FveRecalculateOffsetsAndMoveMetadata(
FveRegenerateNbpSessionKey(
FveResetTpmDictionaryAttackParameters(
FveRevertVolume(
FveSaveRecoveryPasswordBackupFlag(
FVE_SCENARIO_TYPE FveScenario
FVE_SECUREBOOT_BINDING_BOUND
FveSelectBestRecoveryPasswordByBackupInformation
FveSelectBestRecoveryPasswordByBackupInformation (
FveServiceDiscoveryVolume(
FveSetAllowKeyExport
FveSetAllowKeyExport(
FveSetDescriptionW(
FveSetFipsAllowDisabled(
FveSetFveMethod(
FveSetIdentificationFieldW(
FveSetRecoveryPasswordBackupInformation(
FveSetupTpmCallback(
FveSetUserFlags(
FVESKYBACKUP.dll
FveSysClearUserFlags(
FveSysCloseVolume(
FveSysGetUserFlags(
FveSysOpenVolumeW(
FveSysSetUserFlags(
FveuipClearFveWizOnStartup
FveuiWizard
FveUnbindAllDataVolumeFromOSVolume(
FveUnbindDataVolume(
FveUnlockVolume(
FveUnlockVolumeAuthMethodSid(
FveUnlockVolumeWithAccessMode(
FveUpdateBandIdBcd(
FveUpdateDeviceLockoutState(
FveUpdateDeviceLockoutStateEx(
FveUpdatePinW (
FveUpgradeVolume(
FveValidateDeviceLockoutState(
FveValidateExistingPassphraseW(
FveValidateExistingPinW(
FVEWIZ.dll
fVf@fPfH
fvgfvgggg
FvMinorVersion4:
FwArrayAppend
FwArrayErase
fwbase.dll
FwCriticalSectionCreate
FwCriticalSectionDestroy
FwCriticalSectionEnter
FwCriticalSectionLeave
FwEmptyWFAddresses
FwHResultToWindowsError
FwpmEngineClose0
FwpmEngineGetOption0
FwpmEngineOpen0
FwpmEngineSetOption0
FwpmFilterAdd0
FwpmFreeMemory0
FwpmNetEventSubscribe4
FwpmNetEventUnsubscribe0
FwpmProviderAdd0
FWPolicyIOMgr.dll
fwprintf
fwprintf_s
fwpuclnt.dll
FwSidAndAttributesFree
FwSidCopy
FwStringCopy
FwuClient
FW Version:
FWVersion
FW|yOcYL
Fxf9(u-3
fXfRfSf3
fXfXfXfX
fXfXfXfXfar
FXJ;D1@u
:F;X;t;z;
fYfYfYfY
fYfZfQfVf
fY[ZfYfY
fZfYfBfQfV
G0D8g@t(H
g24Slq|G
g5L9mXt	H
G8D9g(rWA
G8H9(t!H
G8x'XJ@;
gaBytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
gain_lfe
gain_lrs
gain_ltm
gain_rrs
gain_rtm
galFgnidniB.scitnameS.redniBemitnuR.prahSC.tfosorciM
GALFRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
galFtinIlacoLcitatS.secivreSrelipmoC.cisaBlausiV.tfosorciM
galFtnevEtupnI.tupnI.krowemarF.anX.tfosorciM
GAME_AVAILABLE_PROFILES_WRONG_STRUCTURE
GAME_DETECTED_USING_OFFLINE_DATA
GAME_DETECTION_ACTIONS_ARE_MISSING
GAME_DETECTION_DATABASE_SAVE_ERROR
GAME_DETECTION_RECORD_IS_MISSING
GAME_DETECTION_TABLE_WRONG_STRUCTURE
GAME_DETECTION_WRONG_EXE_LOCATION
GAME_DETECTION_WRONG_STARTUP_ARGUMENTS
GameInfo
GAME_INFO_MISSING
GAME_INFO_TABLE_WRONG_STRUCTURE
GAME_NOT_DETECTED
GAME_NOT_DETECTED_USING_OFFLINE_DATA
GAME_PROVIDER_WRONG_PATH
GamerServices.Platforms.Web
GAMESETTINGS_APPLY
GAMESETTINGS_CHECK
GAMESETTINGS_CLEAR
GAMESETTINGS_RESTORE
GAME_START_FAIL
GAME_START_OPTION_UNDEFINED
GammaLevelWWd
GAMMALUT_ABSOLUTE_GAMMA_NOT_ENABLEDW
GAMMALUT_INVALID_CURVEWW
GAMMALUT_INVALID_DISPLAYIDWW
GAMMALUT_INVALID_GAMMA_TYPEW
GAMMALUT_INVALID_NUMPOINTSWW
GAMMALUT_SET_FAILEDW
GAMMALUT_SUCCESS
GammaLUTType 
GAMMA_LUT_TYPEWW
GammaWWW
GamutCompression
GamutWWW
GCGetPackageCustomData
GCHandle
GCHandleType
GCHIPSET_FAMILY_VLV_DESKTOPWW
GCHIPSET_FAMILY_WLW_DESKTOPWW
G D8mOu!I
GDI32.dll
GdiAlphaBlend
GdiFlush
GdipAlloc
GdipCloneImage
GdipCreateBitmapFromFile
GdipCreateBitmapFromStream
GdipCreateFromHDC
GdipCreateHBITMAPFromBitmap
GdipCreateHICONFromBitmap
GdipCreateLineBrushI
GdipCreateSolidFill
GdipDeleteBrush
GdipDeleteGraphics
GdipDisposeImage
GdipFillRectangleI
GdipFree
GDIPLUS.dll
GdiplusShutdown
GdiplusStartup
GdiSetBatchLimit
.gehcont
@.gehcont
@.gehcont 
geLetuoRdelahsraM.secivreS.spaM.enohP.tfosorciM
geLetuoRpaMI.spaM.secivreS.swodniW
geLetuoRpaM.spaM.secivreS.swodniW
geLetuoR.secivreS.spaM.enohP.tfosorciM
GeminiLake
GEN_ADDR
GENERAL COMMANDS:
General DNS options
generaltel.dll
GenerateConsoleCtrlEvent
GeneratedCodeAttribute
GeneratedInternalTypeHelper
). Generated using the 
?GenerateLabelNotification@SUPERAREA@@SAJPEBVWSTRING@@PEAV2@PEAU_FILE_FS_SIZE_INFORMATION@@PEAU_FILE_FS_VOLUME_INFORMATION@@@Z
GenerateLogFilepath
generationQualifier
GENERIC_ALL
genericcontext.cpp
genericcontext.h
Generic Exception
GENERIC_EXECUTE
genericfsinterface.cpp
genericfsinterface.h
Generic Participant
GENERIC_READ
genericshellnotify.cpp
genericshellnotify.h
generic-type-
GENERIC_WRITE
GenuineIntel
geometryShader
geometryStreams
Gerenciador do teclado
Gestione tastiera
Gestionnaire clavier
Gestor de teclado
Gestor do Teclado
GetAbsolutePathNameWL
GetAcaApiVersion
get_AcaDetectionData
GetAcaDetectorApiVersion
GetAcaDetectorDllInstallationDir
GetAcaEndpoint
get_AcaMode0
get_AcaMode1
get_AcaMode2
get_AcaMode3
get_AcaMode4
get_AcaMode5
get_AcaMode6
get_AcaMode7
get_AcaMode8
get_AcaMode9
GetAcaModeCapabilities
GetAcceptExSockaddrs
?GetAccessibleImpl@Element@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDElement@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDHost@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
GetAccumulateScrollData
GetAccumulateScrollData_PST
GetAclInformation
GET_AC_PEAK_POWER
get_Acronym
GetActionInterface
?GetActionType@CDriveConfiguration@@QEAA?AW4BDECFG_ACTION_TYPE@@XZ
GetActivationFactory failed
GET_ACTIVE_CONTROL_POINT_RELATIONSHIP_TABLE
GetActiveEndpointId
GetActiveProcessorCount
GET_ACTIVE_RELATIONSHIP_TABLE
GetActiveWindow
GET_ACTIVITY_COUNTER_WIDTH
get_ActualHeight
get_ActualWidth
GET_ACUR
GET_ADAPTER_POWER_RATING
GetAdaptersAddresses
GET_ADAPTIVE_PERFORMANCE_ACTIONS_TABLE
GET_ADAPTIVE_PERFORMANCE_CONDITIONS_TABLE
GET_ADAPTIVE_PERFORMANCE_PARTICIPANT_CONDITION_TABLE
GET_ADAPTIVE_USER_PRESENCE_TABLE
getaddrinfo
getaddrinfo failed: 
getaddrinfo() thread failed to start
GetAddrInfoW
?GetAdjacent@Element@DirectUI@@UEAAPEAV12@PEAV12@HPEBUNavReference@2@K@Z
GetAecGain
GET_AGGRESSIVENESS_LEVEL
get_AGSCorePath
get_AGSTargetEnvironment
GetAlertDataActivity
GetAllDefaultApps
GetAllVirtualProcessesWW
GET_AMBIENT_CAPICITANCE_COEF
GET_AMBIENT_NOTIFICATION_THRESHOLD
get_AmpPath
GetAncestor
GetAntiSpoofingPolicyUser
GetAntiSpoofingPolicyWildcard
GET_AP01
GET_AP02
GET_AP10
GetAPGestureList
get_ApiSwitch
GET_APIVERSION
_getApiVersionDelegate
GetAPOptimize
GetAppDataFolderPathForAllUsersOfTheSystem
GetAppDataFolderPathForFirstUserOfTheSystem
get_AppId
GetAppInfo
getAppletBlobs(): isSignOnce() failed.
Get applet property was callled for an applet without an open session. A session needs to be created.
GetApplicationInterfaceV2
get_ApplicationName
GetApplicationsInPackaged
GetApplicationUserModelIdFromToken
get_AppliedProfile
get_AppvErrorCodeHigh
get_AppvErrorCodeLow
GetAppXLogMessageFromDataFailure
get_AreCapsPopulated
get_Args
GetArgsDictionary
get_Arguments
get_ASCII
GetAspectScalingCapabilities
GetAsrGain
GetAssemblies
get_Assembly
GetAssembly
get_AssemblyDirectory
_GetAssetIntelligenceData
get_Assistant
GetAssistantInfo
get_Assistants
GetAssistants
GetAsyncKeyState
GetAttributes
get_AutoCommit
GET_AUTONOMOUS_BATTERY_LIFE_MANAGEMENT_STATE
GetAutoRotationState
GetAvailableConnectorsWW
GET_AVAILABLE_DEVICES
get_AvailableProfiles
get_AverageBytesPerSecond
get_AvgBytesPerSec
GET_AVG_TEMPERATURE
GET_AVG_TEMPERATURE_TIME_WINDOW
GET_AVOL
GetAwaitedEvents
GetAwaiter
get_BarStyle
get_BaseAddress
get_BaseDirectory
GET_BASELINE_SSC_GUARD_BAND
GET_BASELINE_SSC_SPREAD_VALUE
GET_BASELINE_SSC_THRESHOLD
get_BaseStream
get_BaseType
GET_BATTERY_HIGH_FREQUENCY_IMPEDANCE
GET_BATTERY_INFORMATION
GET_BATTERY_MAX_PEAK_CURRENT
GET_BATTERY_NO_LOAD_VOLTAGE
GET_BATTERY_PERCENTAGE
GET_BATTERY_STATUS
GET_BATTERY_TEMPERATURE
getb                                        Get Binary Buffer Size
GetBigParameter
get_Bitness
get_BitsPerSample
get_Blob
get_BlobMd5
get_BlockAlign
get_Body
GetBooleanFromString
get_Bottom
?GetBuffer@CHString@@QEAAPEAGH@Z
get_BufferMetadata
get_BufferPtr
?GetBufferSetLength@CHString@@QEAAPEAGH@Z
get_BufferSize
GetBufferSize
GetBufferTimeoutInMs
GetBusTypeDisplayString
GetBusTypeFromString
?GetByClassIndex@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
GetBytes
get_CacheDirPath
GetCallerSignature
GetCapabilitiesStringLength
get_CapabilityBuffer
get_CapabilityReader
get_Capacity
GetCapture
GetCaretBlinkTime
get_Category
GetCensusRegistryLocation
GetChamberSidFromId
GetChanges() called but !db.IsOpen()
get_ChannelId
GetChannelObjectActivity
GetChannelObjectHelperActivity
get_Channels
get_ChannelsCount
GetCharABCWidthsW
GET_CHARGER_TYPE
GetCharWidth32W
?GetCheckedState@TouchCheckBox@DirectUI@@QEAA?AW4CheckedStateFlags@2@XZ
?GetChildren@ClassInfoBase@DirectUI@@UEBAHXZ
GetCITData
get_CLASS
GetClassInfoA
GetClassInfoExA
GetClassInfoExW
?GetClassInfoPtr@Edit@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Element@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDElement@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@ItemList@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@RichText@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchButton@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchCheckBox@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchEdit2@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchHyperLink@DirectUI@@SAPEAUIClassInfo@2@XZ
GetClassInfoW
?GetClassInfoW@HWNDElement@DirectUI@@UEAAPEAUIClassInfo@2@XZ
GetClassLongPtrW
get_ClassName
GetClassName
GetClassNameA
GetClassNameW
get_ClassPath
get_ClientName
GetClientProxy
get_ClientProxyApiVersionSelector
GetClientRect
get_ClientWrapper
GetClientWrapper
GetClientWrappers
GetClipboardData
GetClipboardFormatNameW
GetClipBox
GET_CLOCK_COUNT
GET_CLOCK_ORIGINAL_FREQUENCY
_GetCoCreateInstanceAsAdminHandle
get_Code_0200000516
get_CodeBase
?_Getcoll@_Locinfo@std@@QEBA?AU_Collvec@@XZ
GetColorDirectoryW
GetColorFromPreference
GetColorProfileFromHandle
GetColorValueFromString
get_CommandLine
GetCommandLineA
GetCommandLineW
get_CommandStart
get_ComponentMask
get_CompositionTarget
GetCompressedFileSizeW
GetComputerNameExW
GetComputerNameW
GetComputerObjectNameW
GetConfig
GET_CONFIG
GET_CONFIG_ACCESS_CONTROL_SUR
get_ConfigBlobMd5
get_ConfigBlobSize
get_ConfigData
get_ConfigDataFilePath
GET_CONFIG_DATAVAULT_DESCRIPTION
GET_CONFIG_DATAVAULT_SUR
GetConfigItem
get_ConfigPath
GetConfigPath
GET_CONFIG_TDP_CONTROL
GET_CONFIG_TDP_LEVEL0
GET_CONFIG_TDP_LEVEL1
GET_CONFIG_TDP_LEVEL2
GET_CONFIG_TDP_LOCK
get_ConfigType
get_Configuration
GetConfiguration
GetConfigurationBlob
GetConfigurationBlobHash
GetConfigurationData
get_ConfigurationFilePath
GetConfigurationHash
GetConfigurations
get_ConfiguratorSequence
get_ConfiguratorType
GetConjureInterface
GetConnectionGroupCustomData
GetConnectorAttachedStatusWW
GetConsoleAlias
GetConsoleAliases
GetConsoleAliasesLength
GetConsoleAliasesLengthW
GetConsoleAliasesW
GetConsoleAliasExes
GetConsoleAliasExesLength
GetConsoleAliasExesLengthW
GetConsoleAliasExesW
GetConsoleCommandHistory
GetConsoleCommandHistoryLength
GetConsoleCommandHistoryLengthW
GetConsoleCommandHistoryW
GetConsoleCP
GetConsoleCursorInfo
GetConsoleDisplayMode
GetConsoleFontSize
GetConsoleHistory
GetConsoleHistoryInfo
GetConsoleInput
GetConsoleLangId
GetConsoleMode
GetConsoleOriginalTitle
GetConsoleOutputCP
GetConsoleProcessList
GetConsoleScreenBufferInfo
GetConsoleScreenBufferInfoEx
GetConsoleSelectionInfo
GetConsoleTitle
GetConsoleTitleW
GetConsoleWindow
?GetContentSize@Edit@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentSize@Element@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentSize@RichText@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentStringAsDisplayed@Edit@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentStringAsDisplayed@Element@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentString@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
GetContractBrokerInstance
get_ContractRequest
GetControllerAtIndex
GetControllerComponent
GetControllerRequests
GetControlWW
GetConverter
GET_CORE_ACTIVITY_COUNTER
get_CoreDriverController
get_CoreRegistryController
get_CoreStreamAndNotificationsManager
get_CortanaCreatedEvent
GetCortanaLanguage
GetCortanaRearmTimeout
get_CortanaStatus
get_Count
GetCount
GetCPInfo
GetCPUTypeWW
GetCreateInstanceSupported
get_Culture
GetCultureInfo
get_Current
GetCurrent
GetCurrentConsoleFont
GetCurrentConsoleFontEx
get_CurrentCulture
get_CurrentDirectory
GetCurrentDirectoryW
get_CurrentDomain
GetCurrentDpiInfo
GetCurrentIoctlControl
GetCurrentMethod
GetCurrentPackageId
GetCurrentPowerPolicies
GetCurrentProcess
GetCurrentProcessId
GetCurrentProcessorNumber
GetCurrentProcessorNumberEx
GetCurrentProcessPrivilege
get_CurrentStatus
GetCurrentThemeName
get_CurrentThread
GetCurrentThread
GetCurrentThreadId
GetCurrentUmsThread
get_CurrentWritePosition
GetCursorPos
GetCustomAttribute
GetCustomAttributes
GetCustomModesWW
?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
GetDapParam
GetDataArray
get_DataBlobSize
?GetData@CHString@@IEBAPEAUCHStringData@@XZ
GetDataFromReport() failed
GetDataMethod
get_DataSize
GetDataSizeOffset
getdatatest.cpp
GetDateFormatA
GetDateFormatEx
GetDateFormatW
GetDateTimeString
_Getdays
?_Getdays@_Locinfo@std@@QEBAPEBDXZ
GET_DC_PEAK_POWER
GetDebugData
get_DeclaringType
GetDecoratedKey
get_Default
GetDefaultAudioEndpoint
get_DefaultDirPath
GetDefaultIdentityProvider
get_DefinedTypes
GetDeploymentError
get_DERIVATION
get_Description
GetDesktopWindow
get_Detected
get_DetectionData
GetDetectionDataDetails
get_DetectionEndPc
get_DetectionStartPc
get_DetectorDllApi
get_DetectorDllClientManager
GetDevice
get_DeviceAddedEvent
GET_DEVICE_ADDRESS_ON_PARENT_BUS
GetDeviceCaps
GET_DEVICE_COMPATABILITY_ID
GetDeviceDataExW
GET_DEVICE_DESCRIPTION
get_DeviceEnumerator
GetDeviceGammaRamp
GET_DEVICE_HARDWARE_ID
get_DeviceId
GetDeviceInformation
GetDeviceList failed
GetDevicePath
get_DeviceState
GET_DEVICE_STATUS
GET_DEVICE_UNIQUE_ID
GetDfTracingDirectory
GetDiagTrackStorePath failed.
GetDirectories
get_Directory
get_DirectoryName
GetDirectoryName
GET_DISENGAGED_STABILITY_WINDOW
GetDiskFreeSpaceExW
GetDiskFreeSpaceW
GET_DISK_INFO
get_Dispatcher
GET_DISPLAY_BRIGHTNESS
GET_DISPLAY_BRIGHTNESS_LEVELS
GET_DISPLAY_BRIGHTNESS_SOFT
GET_DISPLAY_CAPABILITY
GetDisplayConfigBufferSizes
GET_DISPLAY_DEPTH_LIMIT
get_DisplayName
GetDisplayPolicy
GetDlgCtrlID
GetDlgItem
GetDlgItemInt
GetDlgItemTextA
GetDlgItemTextW
GetDllClientWrapper
get_DllConfiguration
get_DllPath
GetDlsServerResponse
GetDomainInstance
GET_DOMAIN_PRIORITY
GetDoNotConfigureWovOnReference
GetDoNotUpdateMicArrayGeo
GetDpiForMonitor
GetDpiForSystem
GetDpiForWindow
GetDpiMetrics
GetDriveAtIndex
GetDriveFlagDisplayString
GetDriveFlagDisplayStringDetail
GetDriveFreeSpace
get_DriverController
GetDriverController
GetDriverOption
GetDriveTypeW
get_DspBlobFileName
GetDspBlobPath
get_DspMd5
get_DspPath
GetDumpGetBufferAudioSnippets
get_DuplicateCount
get_DvConfigEntries
GetDvFileDumpEnable
GetDwordFromString
GetDwordFromString for new controller index
GetDwordFromString for new controller port index
GetDwordFromString for new drive index
GetDwordFromString for new target index
GetDwordFromString for new target portal group index
GetDwordFromString for new target portal index
GetDwordFromString for storage pool index
GetDwordFromString for subsystem index
GetDwordFromString for target drive index
GetDwordFromString for target index
GetDwordFromString to get LUN index
GetDwordFromString to get plex index
GetDwordFromString to get target portal index
GET_DYNAMIC_BATTERY_POWER_ACTION
GetDynamicTimeZoneInformation
GetDynamicUserConfigurationPathWd
get_DYNASTY
GetEffectiveSiufStateResult
get_EhscMd5
get_EhscPath
get_Elapsed
?GetElementProviderImpl@Element@DirectUI@@UEAAJPEAVInvokeHelper@2@PEAPEAVElementProvider@2@@Z
GET_EMERGENCY_CALL_MODE_TABLE
get_Empty
get_Enabled
GetEnabledXStateFeatures
?GetEncodedContentString@Element@DirectUI@@QEAAJPEAG_K@Z
GetEncoding
GetEncSChannel(
get_EndpointActionController
get_EndpointActionScheduler
get_EndpointManager
GetEndpointMigrationErrorNotificationDelay
GetEndpoints
get_EndpointSelector
GetEnrollmentAadResourceUrl
GetEnrollmentClientCertThumbprint
GetEnrollmentEntDmId
GetEnrollmentPartnerOpaqueID
GetEnrollmentSID
GetEnrollmentState
GetEnrollmentType
get_Entries
GetEntryAssembly
GetEnumDescription
GetEnumerator
GetEnvironmentStringsW
GetEnvironmentVariable
GetEnvironmentVariableA
GetEnvironmentVariableW
GET_EPP_SENSITIVITY_HINT
GET_EPP_SENSITIVITY_HINT_MODEL
_get_errno
get_Error
get_ErrorCode
geterrorlevel
geterrorlevel                            Get Current Error level
GetErrorMessage
GetErrorMode
GET_ES_DISPLAY_REQUIRED
GetETDGestureEventData
GetETDMultiGestureEventData
GetETDPSTGestureEventData
get_EthPath
get_EventId
GetEventManagerInstance
get__eventMgrserviceControlHandler
GetEventParameters
get_EventReaction
get_EventRecord
get_EventType
GetExceptionMessage
get_ExecutableLocation
GetExecutingAssembly
get_Exists
get_ExitCode
GetExitCode
GetExitCodeProcess
GetExitCodeThread
GET_EXPECTED_BATTERY_LIFE
GetExportedTypes
?GetExtendedFlags@VolumeFveStatus@@QEBA_KXZ
GetExtension
GetExtensionNameL
get_Factory
?GetFactoryLock@Element@DirectUI@@SAPEAU_RTL_CRITICAL_SECTION@@XZ
GetFailureMessageContent
?_Getfalse@_Locinfo@std@@QEBAPEBDXZ
GET_FAN_CAPABILITIES
GET_FAN_INFORMATION
GET_FAN_PERFORMANCE_STATES
GET_FAN_STATUS
GetFarfieldEnabled
GET_FAST_POLL_TIME
GetFeatureList
get_Features
GetField
GetFileAttributesA
GetFileAttributesExW
GetFileAttributesTransactedW
GetFileAttributesW
get_FileBuildPart
?GetFile@CIniW@@QEBAPEBGXZ
getfiledatatest.cpp
GetFileFromOneSettings
GetFileFromOneSettingsResult
GetFileFullPath
GetFileInfo
GetFileInformationByHandle
GetFileInformationByHandleEx
get_FileMajorPart
get_FileMinorPart
GetFileModificationDateString
get_FileName
GetFileName
get_FileNameEnding
get_FileNames
GetFileNameWithoutExtension
GetFileNameWL
GetFilePath
get_FilePrivatePart
get_Files
GetFiles
GetFileSecurityW
GetFileSigningInfo
get_FileSize
GetFileSize
GetFileSizeEx
GetFileSizeOffset
get_FileSizeRollOverKb
GetFileTime
GetFileType
get_FileVersion
GetFileVersionInfoA
GetFileVersionInfoExW
GetFileVersionInfoSizeA
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
GetFileVersionString
!GetFileVersionWW
:GetFileW
GetFinalPathNameByHandleW
GetFinalResponse
GetFingerDeltaAndCount
get_FinishedProcessing
GetFirmwareType
GetFirstLpCapableArrayEndpointId
GET_FIVR_VERSION
GET_FIVR_VERSION_SUR
GET_FIVR_VERSION_SUR_PLATFORM
GetFocus
GetFolderPath
GetFolderWWW
GetFontData
GetForceSingleVa2ndStageConfig
?GetForegroundColorRef@TouchButton@DirectUI@@UEAAJPEAK@Z
GetForegroundWindow
get_FormatTag
GetFormatVersion
GetFromOneSetting failed.
get_FullName
GetFullPath
GetFullPathNameA
GetFullPathNameW
GetFunctionDelegate
GetGainOffsetFromMap
GetGammaRamp
get_GENUS
GetGestureInfo
?GetGlobalIndex@ClassInfoBase@DirectUI@@UEBAIXZ
?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ
GetGrabData
get_GroupCount
getgroups
GET_GT_CLIP_REASONS
get_Guid
GetGUIThreadInfo
get_Handle
GetHandleInformation
GetHandler
get_HandlerType
GetHashCode
get_HasReferences
get_HasValue
GetHbaPortAtIndex
GetHbaPortStatusString
GetHbaPortTypeString
get_Header
get_Headers
get_Height
Get help for commands
GetHGlobalFromStream
GET_HID_ACCESS_INFO
GetHintForRoamingDataExists
get_Hive
GetHostNameW
GetHotKeyMapList
GetHpalAlignmentOffset
GetHpalFilesDumpValue
get_HscMd5
get_HscPath
?GetHWND@HWNDElement@DirectUI@@UEAAPEAUHWND__@@XZ
?GetHWND@HWNDHost@DirectUI@@UEAAPEAUHWND__@@XZ
GET_HWPF_CONFIG
GET_HWPF_STATE
GET_IA_CLIP_REASONS
GetIAdapterAtIndex
get_icon
GetIconOf
GetIdentificationNonce
GetIdentityProviderInfoByGUID
GetIgnoreStartupConditions
get_IGTAvailable
GetImcDeviceCount
get_ImControllerVersion
?GetImmersiveFocusRectOffsets@Element@DirectUI@@UEAAXPEAUtagRECT@@@Z
?GetImmersiveFocusRectOffsets@TouchButton@DirectUI@@UEAAXPEAUtagRECT@@@Z
get_ImmutableStorage
GetImmutableStorageProvider
get_ImplementedInterfaces
GetIndexForObject
GetIndexForPath
GetIndexForStoragePool
GetIndexForSubsystem
get_Info
GET_INFO
get_Information
GetInfoW
_get_initial_narrow_environment
_get_initial_wide_environment
get_InnerException
get_InputChannelsCount
GetInputChapType
get_InputFormat
GetInputLbpType
GetInputLoginType
GetInputLunType
get_Installers
get_Instance
GetInstance
?GetInstance@ConfigAgentFactory@@SAPEAV1@XZ
?GetInstance@ConfigPolicyAgent@@SAPEAV1@XZ
?GetInstance@DeployAgent@@SAPEAV1@XZ
?GetInstance@DeveloperSettings@UDC@@SAPEAV12@XZ
GetInstances
?GetInstance@SMBiosInformationRetriever@@SAPEAV1@XZ
GET_INSTANTANEOUS_POWER
get_IntelAcaPropertySetId
get_IntelClientProxy
GET_INTELLIGENT_THERMAL_MANAGEMENT_TABLE
get_IntelMultiPaSetupProxy
GetInvalidFileNameChars
GetInvalidPathChars
get_InvariantCulture
get_InvariantCultureIgnoreCase
GetInverterParamsWWW
GetInvocationList
GET_IOCTL
get_IOCTL_CMD_APP_TO_AUDIODSP_ISSUPPORTED
get_IoctlControl
GetIoctlControl
get_IoctlManager
get_IoctlRegistryReader
GetIpAddressString
GetIPortalAtIndex
get_Is64BitOperatingSystem
get_Is64BitProcess
get_IsAbstract
get_isActive
get_IsAlive
get_IsAllocated
get_IsAutoSubscribed
get_IsCancellationRequested
get_IsClosed
get_IsCompleted
get_IsConfigured
get_IsCreated
GET_IS_CVF_SENSOR
get_IsElevated
get_IsEnabled
GET_IS_EXTERNAL_MONITOR_CONNECTED
get_IsGlobal
get_IsInitialized
get_IsInitializing
get_IsInterface
get_IsInvalid
get_IsKsControlActive
get_IsLoaded
get_IsLocalSystem
get_IsLoggingEnabled
get_IsMandatory
get_IsMessageComplete
get_IsProcessing
get_IsReaderThreadAlive
get_IsRunAsAdmin
get_IsRunning
get_IsStreamCreated
get_IsSynchronized
get_IsTIME_CREATEDNull
get_IsWovArmed
get_Item
get_Item1
get_Item2
GetKBCData
GetKernelObjectSecurity
GetKeyboardLayout
GetKeyboardLayoutList
GetKeyboardLayoutNameW
GetKeyboardState
?GetKeyFocused@Element@DirectUI@@UEAA_NXZ
?GetKeyFocused@HWNDHost@DirectUI@@UEAA_NXZ
get_KeyLeadingPattern
GetKeyNameTextW
get_KeyPath
get_KeyPhraseBegin
get_KeyPhraseBeginInFrames
get_KeyPhraseEnd
get_KeyPhraseEndInFrames
get_KeyPhraseId
get_KeyPhraseIdPart
get_KeyPhraseScore
get_KeyPhraseScorePart
get_KeyPhraseStart
get_Keys
GetKeyState
get_Keywords
get_KnownModesList
get_KpBufOutPin
get_KpdSensitivity
get_KpdSensitivityFloat
GetKpdStatisticsEnable
GetKpdStatisticsInterval
get_KpId
get_KpScore
get_KsProperty
get_KsPropSetIdAudioProcessing
GetKsStatus
get_Language
GetLanguageCultureName
GetLanguageId
GetLanguages
GetLargestConsoleWindowSize
GetLastActivePopup
?GetLastConvertStatus@VolumeFveStatus@@QEBAJXZ
GetLastDownloadTimeFromWnf
GetLastDownloadTimeFromWnf result
GetLastError
GET_LAST_EWMA_POWER
GET_LAST_HID_INPUT_TIME
GetLastInputInfo
GetLastInsertRowID() called but !db.IsOpen()
GET_LAST_POWER_USED
GetLastWin32Error
get_LastWriteTime
GetLastWriteTime
get_LateBoundObject
GetLaunchAppPath
get_LaunchSuspendedDueToCostWarning_buttonOk
get_LaunchSuspendedDueToCostWarning_labelMessage
GetLayout
get_LCID
?_Getlconv@_Locinfo@std@@QEBAPEBUlconv@@XZ
get_Left
get_Length
GetLengthSid
get_Level
?GetLexeme@ARGUMENT@@QEAAPEAVWSTRING@@XZ
GetLibraryVersion
get_LibsDirPath
getlicensetest.cpp
GetLoadBalancePolicyString
get_LoadingPrimaryFeatureBlock
GetLocaleInfoA
GetLocaleInfoEx
GetLocaleInfoW
GetLocalName failed
GetLocalTime
get_Location
GetLocFileOneSettings
GetLocFileOneSettings failed
?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
GetLockStatus
get_LogDate
get_LogDirectory
GetLogFileName
GetLoggedInUserSID
GetLoggedOnUsers
GetLoggingToFileEnabled
GetLogicalDrives
GetLogicalDriveStringsW
GetLogicalProcessorInformation
GetLogicalProcessorInformationEx
get_LogIdentifier
get_LogLevel
GetLogLevel
get_LogTime
GetLongPathNameW
get_LoopbackFormat
GetLpeDataSize
GetLunAtIndex
GetLunPlexIdAtIndex
GetLunTypeString
GetMailslotInfo
__getmainargs
get_MainIcon
get_Major
get_ManagedThreadId
get_ManagementClassName
GetMaskMicrophoneArrayProperty
get_MatchPattern
GetMaxWupConfigSize
GetMediaComponentPackageInfoForPackageExtension
GetMediaComponentPackageInfoInternal
GetMember
GetMenuCheckMarkDimensions
GetMenuDefaultItem
GetMenuItemCount
GetMenuItemID
GetMenuItemInfoW
get_Message
GetMessageA
GetMessageFromPhase
GetMessagePos
GetMessageTime
GetMessageW
getmetadatatest.cpp
getmetadatatest.h
GetMethod
GetMethodCall
get_MethodName
GetMethods
GetMetroMonitorMode
get_m_handle
GetMicArray
get_MicArrayGeometry
get_MicArrayLength
get_MicChannelsCount
GetMicrophoneAccessibility
get_MicrophoneAccessVerifier
GetMicrophoneAccessVerifier
GetMicselConfigPath
get_Milliseconds
GET_MINIMUM_SAMPLE_PERIOD
get_Minor
get_Mode
get_ModeId
get_Model
get_ModelFilePath
get_ModelId
get_ModelInfoList
GetModelInfoList
GetModelInfoRepository
GetModelLanguage
GetModels
get_ModelsConfigs
GetModelsController
get_ModelsCount
get_ModeManager
GetModuleAndCode
?GetModule@ClassInfoBase@DirectUI@@UEBAPEAUHINSTANCE__@@XZ
getmoduledata
GetModuleFileNameA
GetModuleFileNameW
GetModuleHandleA
GetModuleHandleExA
GetModuleHandleExW
GetModuleHandleW
get_ModuleId
GetModulePath failed
getmodulesingroup
GetMonitorBrightness
GetMonitorCapabilities
GetMonitorContrast
GetMonitorInfo
GetMonitorInfoW
GetMonitorTechnologyType
_Getmonths
?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
get_m_svcHost
GetMuiString
GetMultiPaApiVersion
GetMultiPaDirectoryExplorer
GetMultiPaModels
GetMultiPaModelsExplorer
get_MultiPaSetupProxy
GetMultiplexedDataPtr
get_MultiplexedFormat
get_MutableStorage
GetMutableStorageProvider
get_Name
get_name_and_domain_tests.cpp
get_name_and_domain_tests.h
?GetName@ClassInfoBase@DirectUI@@UEBAPEBGXZ
GetNamedObject failed
GetNamedSecurityInfoW
GetNamedString failed
GetNameInfoW
?_Getname@_Locinfo@std@@QEBAPEBDXZ
get_NAMESPACE
GetNativeSystemInfo
GET_NEGATIVE_EVENT_FILTERING_STATE
get_NetworkCredential
getnetworkstatisticstest.cpp
getnetworkstatisticstest.h
?GetNewDriveLetter@CDriveConfiguration@@QEAAGXZ
get_NewEvent
get_NewLine
get_NewState
get_NewValue
GetNextCommand
GetNextDlgTabItem
get_next_fpc_domain
GetNextIntermediateResponse
GetNextUmsListItem
get_None
getNonSignOnceAppletBlobs(): copyBlobsFromList() failed.
GetNotification
get_NotificationClient
get_NotificationDataSize
get_NotificationDialogDefaultParent
get_NotificationHandler
GetNotificationQueueSupport
GetNotificationReadyEvent
get_NotificationsManager
GET_NOTIFICATION_TEMP_THRESHOLD
get_NotificationType
GET_NOT_PRESENT_STABILITY_WINDOW
get_NrmPath
GetNumaHighestNodeNumber
GetNumaNodeProcessorMaskEx
GetNumberFormatW
get_NumberOfChannels
GetNumberOfConsoleInputEvents
GetNumberOfConsoleMouseButtons
GetNumberOfPhysicalMonitorsFromHMONITOR
GetObject
GetObjectAtIndex
GetObjectIdAtIndex
GetObjectListFromString
GetObjectW
GetObjectWWW
GetOEMCP
GET_OEM_VARS
get_OffsetToStringData
get_OnMonitorPowerEvent
get_OnPowerEvent
get_OnSessionLogoff
get_OnsetBufferBegin
get_OnsetBufferBeginInFrames
get_OnsetBufferEnd
get_OnsetBufferEndInFrames
get_OnsetBufferLength
GetOnsetBufferLength
get_OnsetBufferStart
GetOpenFileNameW
get_Optimizable
get_Optimized
getOptions
get_OrdinalIgnoreCase
get_OriginatingNamespace
_get_osfhandle
GET_OS_FOREGROUND_APPLICATION
GetOSMajorVersion
GetOsSafeBootMode
GetOsVersion
GetOSVersion
get_OutOfSequenceStreamingRate
GetOutPinId
get_Output
get_OutputFormat
get_OutputTypeName
GetOverlappedResult
GetOverrideOnsetBufferSize
get_Owner
get_PaAcronym
get_PackageCount
GetPackageFamilyName
GetPackageFullName
GetPackageFullNameFromToken
GetPackageGroupDisplayNameWWd
GetPackageGroupPriorityW
GetPackageGroupPublishedStateWWWd
GetPackageGroups
getpackageguidtest.cpp
getpackageguidtest.h
get_PackageId
get_PackageID
get_PackageInformation
get_PackageList
GetPackageLoadedSize
get_PackageName
GetPackagePathWW
GetPackagePublishedState
GetPackagesByPackageFamily
GetPackageStatus
GetPackageStatusForUser
get_PackageVersionID
get_PaConfigurations
GetPaConfigurations
get_PaCount
GetParameter
GetParameterBase
GetParameters
get_ParameterType
get_Parent
GetParent
GetParentFolderNameWL
GetParentProcessId
GET_PARTICIPANT_CURRENT_CONTROL_CAPABILITY
get_participant_data
GET_PARTICIPANT_ENERGY_THRESHOLD
GET_PARTICIPANT_PERF_PRESENT_CAPABILITY
GetParticipantPtyp
GET_PARTICIPANT_RESIDENCY_UTILIZATION
GET_PARTICIPANT_SAMPLE_PERIOD
GET_PARTICIPANT_SKU
GET_PARTICIPANT_TYPE
GET_PARTICIPANT_UTILIZATION
GET_PARTICIPANT_UTILIZATION_THRESHOLD
GET_PASSIVE_RELATIONSHIP_TABLE
?GetPasswordId@BuiVolume@@QEAAJPEAPEAG@Z
get_Path
get_PATH
GetPathIdAtIndex
GetPathRoot
GetPathStatusString
get_PathToPlugin
get_PaVendorId
get_Payload
GetPchType
GetPeeledKey
GetPendingUpdateFilePath
GET_PERFMON_FIXED_COUNTER
get_PerformanceCount
GET_PERF_PSTATE_DEPTH_LIMIT
GET_PERF_SUPPORT_STATES
GET_PERF_SUPPORT_STATES_SUR
GetPersistedFileLocationW
GetPersistedRegistryLocationW
GetPersonalAssistant
get_PhmPath
get_PhraseDetected
GetPhysicalMonitorsFromHMONITOR
get_PhysicalRequest
?GetPICount@ClassInfoBase@DirectUI@@UEBAIXZ
GET_PID_ALGORITHM_TABLE
GET_PID_KI_TERM
GET_PID_KP_TERM
GET_PID_TIME_AVERAGE_CONSTANT
GetPixel
GET_PLATFORM_BATTERY_STEADY_STATE
GET_PLATFORM_MAX_BATTERY_POWER
GET_PLATFORM_POWER_LIMIT
GET_PLATFORM_POWER_LIMIT_DUTY_CYCLE
GET_PLATFORM_POWER_LIMIT_ENABLE
GET_PLATFORM_POWER_LIMIT_TIME_WINDOW
GET_PLATFORM_POWER_SOURCE
GET_PLATFORM_REST_OF_POWER
GetPlatformTypeW
GET_PLATFORM_VMIN
get_Plugin
get_pluginEntryPath
GetPluginHostInstallationLocation
get_pluginId
GetPluginInstallationLocation
get_PluginLocation
get_pluginName
get_PluginName
GetPluginPathWithPluginName
get_PluginType
GET_PORT
GetPortAtIndex
GetPortIdAtIndex
GetPortProperties 
GetPortSpeedString
GetPosition_Offload
GET_POSITIVE_EVENT_FILTERING_STATE
GET_POWER_ALPHA
GET_POWER_BOSS_ACTIONS_TABLE
GET_POWER_BOSS_CONDITIONS_TABLE
GET_POWER_BOSS_MATH_TABLE
GetPowerConsCaps
GET_POWER_DELTA
GetPowerPolicyWW
GET_POWER_SAMPLE_PERIOD
GET_POWER_SEED
GET_POWER_SHARE_EFFECTIVE_BIAS
GET_POWER_SHARE_POLICY_POWER
GET_POWERSHARE_POWER_LIMIT_TIME_WINDOW
GET_POWER_SHARE_TEMPERATURE_THRESHOLD
GET_POWER_SHARING_ALGORITHM_TABLE
GET_POWER_SHARING_ALGORITHM_TABLE_2
GET_POWER_THRESHOLD_COUNT
GET_POWER_THRESHOLD_HYSTERESIS
GET_POWER_THRESHOLDS
getp_part
GetPpClientWrapper
GetPpConfigBlobPath
GetPpConfiguration
GetPpData
GetPpDllClient
GetPpDllClientConfig
GetPpDllConfigurationFilePath
GetPpDllName
GetPpDllWrapper
get_PpVendorDllFile
get_PreferenceEventHandler
GetPreinstalledWoVDriverMode
get_Preprocessed
GetPreProcLatency
GET_PRESENT_STABILITY_WINDOW
get_PrimaryFeatureBlockPercentDownloaded
?GetPrimaryRegPath@CIniW@@QEBAPEBGXZ
GetPrivacyLevel
get_PrivateMemorySize64
GetPrivateProfileIntA
GetPrivateProfileIntW
GetPrivateProfileSectionA
GetPrivateProfileSectionW
GetPrivateProfileStringA
GetPrivateProfileStringW
GetProcAddress
GET_PROC_BRAND_MODIFIER
GetProcessAffinityMask
GetProcessById
GetProcessDefaultLayout
GetProcesses
GetProcessExecutablePath
GetProcessHeap
GetProcessId
GetProcessImageFileNameW
get_ProcessingChunkIn10ms
get_ProcessingEnabled
GetProcessMemoryMultiplier
GetProcessMitigationPolicy
get_ProcessName
GetProcessorName
GetProcessTimes
GetProcessWindowStation
GetProcessWorkingSetSizeEx
GetProcessWorkingSetSizeExExport
GET_PROC_HDC_OOB_ENABLE
GET_PROC_HWP_ENABLE
GET_PROC_HWP_SUPPORT_CHECK
GET_PROC_IO_THROTTLE_STATUS
GET_PROC_LOGICAL_PROCESSOR_AFFINITY
GET_PROC_LOGICAL_PROCESSOR_COUNT
GET_PROC_MFM_LPM_SUPPORTED
GET_PROC_MFM_MAX_EFFICIENCY_RATIO
GET_PROC_MFM_MIN_SUPPORTED_RATIO
GET_PROC_PER_CORE_CSTATE_RESIDENCY
GET_PROC_PER_CORE_UTILIZATION
GET_PROC_PERF_MAX_TIME
GET_PROC_PERF_PRESENT_CAPABILITY
GET_PROC_PERF_PSTATE_CURRENT_MAX_TODO
GET_PROC_PERF_PSTATE_DEPTH_LIMIT
GET_PROC_PERF_PSTATE_STATUS_TODO
GET_PROC_PERF_SUPPORT_STATES
GET_PROC_PERF_THROTTLE_CONTROL
GET_PROC_PERF_THROTTLE_PRESENT_CAPABILITY
GET_PROC_PERF_TSTATE_DEPTH_LIMIT
GET_PROC_PKG_CSTATE_RESIDENCY
GET_PROC_RF_TUNING_AVAILABLE
GET_PROC_RP_STATE_CAPABILITY
GET_PROC_THERMAL_DESIGN_POWER
GET_PROC_THREAD_STALL_COUNTER
GET_PROC_THREAD_STALL_COUNTER_STATUS
GET_PROC_TJMAX
GET_PROC_TSC
GET_PROC_TURBO_ACTIVATION_RATIO
GET_PROC_TURBO_POWER_STATE
GET_PROC_TURBO_STATE
get_ProductIcon
GetProductInfo
GetProfileIntA
GetProfileStringA
GetProfileType
get_Properties
GetProperties
GetProperties failed
GetPropertiesSupported
get_PROPERTY_COUNT
get_PropertyDescriptor
GetPropertyValue
GetPropW
GetProviderAtIndex
GetProviderSupport
GetProviderSupportString
GetProviderType
get_Proxy
GetPSTAPOptimize
GetPSTUIDisplay
getp_u32
GetPublishFromXMLStatusW
get_PublishingActivities
get_PublishingRefreshDeployingPackages
get_PublishingRefreshes
get_PublishingRefreshPackageCount
get_PublishingRefreshTimeEstimate
GetPwrCapabilities
get_Query
GetQueryProperties
GetQuestionIdFromSifActionNode failed
GetQueuedCompletionStatus
GETQUOTAROOT
GetRaidTypeString
GetRange
GET_RAPL_ENERGY
GET_RAPL_ENERGY_COUNTER_WIDTH
GET_RAPL_ENERGY_UNIT
GET_RAPL_FLOOR_STATE
GET_RAPL_POWER
GET_RAPL_POWER_CONTROL_CAPABILITIES
GET_RAPL_POWER_DEFAULT
GET_RAPL_POWER_LIMIT
GET_RAPL_POWER_LIMIT_DUTY_CYCLE
GET_RAPL_POWER_LIMIT_ENABLE
GET_RAPL_POWER_LIMIT_LOCK
GET_RAPL_POWER_LIMIT_TIME_WINDOW
GET_RAPL_POWER_MAX
GET_RAPL_POWER_MAX_TIME_WINDOW
GET_RAPL_POWER_MIN
GET_RAPL_POWER_UNIT
GET_RAPL_TIME_UNIT
GET_RAPL_TIME_WINDOW
GetRawData
GetRawInputData
GetRawInputDeviceInfoW
get_ReadPtr
get_Reason
get_RefChannelsCount
GetRegisteredAssistants
get_RegistryController
GetRegistryController
GetRegistryKey
get_RegistryKeyChangeData
GetRegistryKeyValue
get_RegistryTreeChangeData
get_RegistryValueChangeData
GetRegKeyValue
GetRegKeyValueExport
GetRelated
get_RELPATH
GetRemoteBackupCollectionIds
GetRemoteRoamingCollectionIds
get_RequestFactory
get_RequestId
GetRequestId
get_RequestManager
GetRequests
get_RequestType
get_Reserved
get_ReservedObjSize
GetResourceData
get_ResourceManager
get_Resources_da_DK
get_Resources_de_DE
get_Resources_en_US
get_Resources_es_ES
get_Resources_fi_FI
get_Resources_fr_FR
get_Resources_it_IT
get_Resources_ja_JP
get_Resources_ko_KR
get_Resources_nb_NO
get_Resources_nl_NL
get_Resources_pt_BR
get_Resources_pt_PT
get_Resources_sv_SE
GetResourceString
get_Resources_zh_CN
get_Resources_zh_HK
get_Resources_zh_TW
GetResourceWithID
GetResponse
get_ResponseCount
getresponseheaderstests.cpp
getresponseheaderstests.h
getresponseheadertests.cpp
getresponseheadertests.h
getresponsepayloadtests.cpp
getresponsepayloadtests.h
GetResponseStream
GetRestrictedErrorInfo
get_Result
GetResult
get_ReturnCode
GET_RF_CHANNEL_INFO
GET_RFPROFILE_CENTER_FREQUENCY
GET_RFPROFILE_CENTER_FREQUENCY_FIVR
GET_RFPROFILE_CENTER_FREQUENCY_FIVR_PLATFORM
GET_RFPROFILE_CENTER_FREQUENCY_MCIVR
GET_RFPROFILE_CLIP_PERCENT_LEFT
GET_RFPROFILE_CLIP_PERCENT_RIGHT
GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY
GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY_FIVR
GET_RFPROFILE_DEFAULT_CENTER_FREQUENCY_MCIVR
GET_RFPROFILE_FIVR_RFI_XTAL_19_24
GET_RFPROFILE_FIVR_RFI_XTAL_19_24_PLATFORM
GET_RFPROFILE_FIVR_RFI_XTAL_38
GET_RFPROFILE_FIVR_RFI_XTAL_38_PLATFORM
GET_RFPROFILE_FREQUENCY_ADJUST_RESOLUTION
GET_RFPROFILE_MAX_FREQUENCY
GET_RFPROFILE_MAX_FREQUENCY_XTAL_19_2
GET_RFPROFILE_MAX_FREQUENCY_XTAL_24
GET_RFPROFILE_MAX_FREQUENCY_XTAL_38_4
GET_RFPROFILE_MIN_FREQUENCY
GET_RFPROFILE_MIN_FREQUENCY_XTAL_19_2
GET_RFPROFILE_MIN_FREQUENCY_XTAL_24
GET_RFPROFILE_MIN_FREQUENCY_XTAL_38_4
GET_RFPROFILE_SSC
GET_RFPROFILE_SSC_FIVR
GET_RFPROFILE_SSC_FIVR_PLATFORM
GET_RFPROFILE_SSC_MCIVR
GET_RFPROFILE_WIFI24_FREQ_GUARD_BAND
GET_RFPROFILE_WIFI5_FREQ_GUARD_BAND
GET_RFPROFILE_WWAN_FREQ_GUARD_BAND
get_Right
GET_RING_CLIP_REASONS
GetRingMapAndSIUFConfigFromOneSettingsResponse
GetRingMapETagHeaderFromReg
?GetRoot@Element@DirectUI@@QEAAPEAV12@XZ
get_RootFolder
get_RootPath
get_RpcServer
get_RunAsApp
get_RunnerPath
get_RunningIsGroup
get_RunningVeId
get_RunningVeVersion
GetRuntimeDirectory
GetSafeEventHandle
get_SafeWaitHandle
get_SampleRate
get_SamplesPerSecond
GetSaveFileNameW
GetScaleFactorForDevice
GetScenarioId
GetScenarioId failed
GetScenariosList
GetScenariosListResult
get_Scope
GetScrollInfo
GetScrollPos
GetSecondStagePpConfigurationFilePath
GetSecondStagePpDllConfigurationFilePath
GetSecureConnectionParams
GetSecureIdentitySigningKey
get_SECURITY_DESCRIPTOR
GetSecurityDescriptorControl
GetSecurityDescriptorDacl
GetSecurityDescriptorGroup
GetSecurityDescriptorLength
GetSecurityDescriptorOwner
GetSecurityDescriptorSacl
GetSecurityInfo
?GetSelection@Selector@DirectUI@@QEAAPEAVElement@2@XZ
?GetSelection@TouchEdit2@DirectUI@@QEAAJPEAJ0@Z
GetSelfBargeInSupport
get_SelfBargeInSupported
get_SERVER
).GetServerPoliciesWWW
get_ServerURL
GetServiceBaseDir
GetServiceCore
GetServiceDirectory
GetServiceDirectoryExport
GetServiceLogComponentsMask
GetServiceLogLevel
get_ServiceName
GetServiceRegistryStateKey
GetServiceRegistryStateKeyExport
GetServiceRegKeyValue
getServiceStartType(): LocalAlloc failed
get_SessionId
GetSessionUserToken
GetSettingsPayloadActivity
Gets Frame InfoWWW
?GetSheet@DUIXmlParser@DirectUI@@QEAAJPEBGPEAPEAVValue@2@@Z
GetShellWindow
GetShortPathNameW
?GetShrinkSize@CDriveConfiguration@@QEAA_KXZ
GetSidIdentifierAuthority
GetSidLengthRequired
GetSidSubAuthority
GetSidSubAuthorityCount
get_Signature
GetSignedReport
getSignOnceAppletBlobs(): copyBlobsFromList() failed.
GetSinglePaDirectoryExplorer
GetSinglePaModelsExplorers
gets instance of D3D Interface 
gets instance of Display Interface 
gets instance of Utilities InterfaceWW
gets instance of Video InterfaceWW
GetSiufLocPath failed.
GetSiufPayloadFromJson failed.
get_Size
GetSizeDisplayString
GetSizeDisplayString-2
GetSizeFromString
GET_SLOWPOLL_POWER_THRESHOLD
GET_SLOW_POLL_TIME
?GetSnapshotErrorMessage@SNAPSHOT@@SAEJPEAVWSTRING@@@Z
?GetSnapshotNtDeviceName@SNAPSHOT@@QEAAPEAGXZ
get__socketPort
getsockname failed with error: 
GET_SOCWC_AC_POLLING_PERIOD
GET_SOCWC_DC_POLLING_PERIOD
GET_SOCWC_SLOW_POLLING_PERIOD
GET_SOC_WORKLOAD
GetSoundsListSize
GetSpeechDeviceId
get_SpeechInputFormat
GetSpeechIpApiMultiPaBasePath
GetSpeechIpApiMultiPaConfigurationFile
get_SpeechMode
GetSstNotificationEventHandle
get_StackTrace
get_Stage
GetStageConfigurationObject
GetStagedPackageOrigin
GetStageFiles
?GetStandardError@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Error_Stream
?GetStandardInput@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Input_Stream
?GetStandardOutput@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Output_Stream
GetStandardStreamWWW
GetStandardValues
GetStandardValuesExclusive
GetStandardValuesSupported
GET_STANDBY_TEMPERATURE_SAMPLE_PERIOD
GetStartupDelay
GetStartupInfoA
GetStartupInfoW
GetState
get_StateRegistryReader
GetStateSeparatedSiufMachineRegRoot failed
GetStateSettingsFolder
get_StaticScope
get_Status
GetStatus
get_StatusCode
?GetStatusFlags@VolumeFveStatus@@QEBAKXZ
GetStatusTargetCode
get_StatusType
GetStdHandle
GetStockObject
GET_STORAGE_BUS_CONTROLLER_LOCATION
get_StorageController
get_StorageDirPath
GetStoragePoolAtIndex
GetStoragePoolIdAtIndex
GetStoragePoolTypeString
GET_STORAGE_SAMPLE_PERIOD
get_strclosebuttondesc
get_strcontentmismatch
GetStream
get_StreamAndNotificationsManager
_get_stream_buffer_pointers
get_StreamConfigurators
get_StreamController
get_StreamInfo
get_StreamingManager
get_StreamStarted
get_StreamStartupConfig
get_strfilenotfounddesc
get_strhashmismatchdesc
GetString
GetStringPropertyForDevice
GetStringResourceForCulture
GetStringTypeExW
GetStringTypeW
GetStripeSizesDisplayString
get_strsignaturenotfounddesc
get_strtitle
get_strtitlekbdmgr
get_strtrustedinstallermismatch
GetStructParameter
get_strupdatebuttondesc
get_strupdatedesckbdmgr
get_strupdatedescription
get_SubFolders
get_SubFormat
GetSubKeyNames
GetSubMapFromMap
GetSubMenu
GetSubscribeStrategy
GetSubscriptionAsync
get_SubstageId
GetSubsystemAtIndex
GetSubsystemCapabilitiesDisplayString
get_Success
get_SUPERCLASS
GetSupportedInterconnects
GetSupportedInterconnectsDisplayString
GetSupportedLanguages
GetSupportedModesFor
GetSupportedModesInConfigFor
GetSupportedModulesOnMode
GET_SUPPORTED_POLICIES
get_SupportedSoundList
GET_SUPPORT_EPP_HINT
GET_SUPPORT_SOC_WORKLOAD
get_SvId
get_SvModels
get_SvScore
get_SvSensitivity
get_SyncRoot
GetSysColor
GetSysColorBrush
GetSystemAppDataKey
GetSystemData
GetSystemDefaultLangID
GetSystemDefaultLocaleName
GetSystemDefaultUILanguage
GetSystemDeviceInstanceId
GetSystemDirectoryA
GetSystemDirectoryW
GetSystemDriveIndex
GetSystemFirmwareTable
GetSystemInfo
GetSystemMenu
GetSystemMetrics
GetSystemMetricsForDpi
GetSystemPowerStatus
get_SystemProperties
GetSystemTime
GetSystemTimeAsFileTime
GetSystemTimePreciseAsFileTime
GetSystemWebProxy
GetSystemWindowsDirectoryA
GetSystemWindowsDirectoryW
GetSystemWow64DirectoryW
GetTaggedData
GetTaggedDataSize
GetTakeOwnAnswerForCurrentCulture
get_Target
GetTargetAtIndex
?GetTargetDiskNumber@CDriveConfiguration@@QEAAKXZ
?GetTargetDriveLetter@CDriveConfiguration@@QEAAGXZ
get_TargetEnvironment
?GetTargetPartitionNumber@CDriveConfiguration@@QEAAKXZ
?GetTargetPartitionSize@CDriveConfiguration@@QEAA_KXZ
getTA_SessionCount start
get_Task
get_TaskId
GetTaskmanWindow
get_Tasks
GET_TCC_OFFSET
GET_TEMPERATURE
GET_TEMPERATURE_APPROX_TABLE
GET_TEMPERATURE_SUR
GET_TEMPERATURE_SURACPI
GET_TEMPERATURE_THRESHOLD_COUNT
GET_TEMPERATURE_THRESHOLD_HYSTERESIS
GET_TEMPERATURE_THRESHOLDS
GetTempFileNameA
GetTempFileNameW
GetTempNameWL
GetTempPathA
GetTempPathW
GetTermsrCompatFlagsEx
get_Text
GetTextAlign
get_Text_ApplicationCouldNotBeLoaded
get_Text_ApplicationFailedToLaunch
get_Text_ApplicationLaunchFailedDiskFull
get_Text_ApplicationLaunchFailedNetwork
get_Text_ApplicationLaunchFailedScriptFailure
get_Text_ApplicationLaunchFailurePrimary
get_Text_ErrorCode
GetTextExtentPoint32W
GetTextExtentPointW
GetTextFaceW
GetTextMetricsW
get_Text_ReconnectAndRetry
GetTheInitialStartupCmdScriptFilepath
GetThemeColor
GetThemeFont
GetThemePartSize
GetThemeSysColor
GetThemeSysFont
GET_THERMAL_MBOX_CMD_DATA
GET_THERMAL_MBOX_CMD_REG
GET_THERMAL_MBOX_DATA_REG
GET_THERMAL_RELATIONSHIP_TABLE
GetThreadDesktop
GetThreadGroupAffinity
GetThreadId
GetThreadInformation
GetThreadLocale
GetThreadPreferredUILanguages
GetThreadPriority
get_ThreadState
GetThreadTimes
GetThreadUILanguage
GetThreshold
get_ThrowOnInvalidPropertyName
GetTickCount
GetTickCount64
get_TIME_CREATED
GetTimeFormatA
GetTimeFormatEx
GetTimeFormatW
GetTimeZoneInformation
GetTimeZoneInformationForYear
GetTimingReport
Getting camera temp
Getting display brightness...
Getting vendor information failed!
get_Title_AppVStreamingUXDialog
GetTitleBarInfo
get_TitleId
get_TitleName
_Gettnames
get_Token
GetTokenInformation
GetTopLevelWindow
GetTopologyDetailsForDisplayPort
GetTopologyW
GetTopWindow
GetTotalChanges() called but !db.IsOpen()
get_TotalProgressBarCount
get_TotalSeconds
GetTouchInputInfo
GetTouchPadUIDisplay
GetTPGroupAtIndex
GetTPortalAtIndex
GetTPortalIdAtIndex
GetTraceEnableFlags
GetTraceEnableLevel
GetTraceLoggerHandle
get_TransformToDevice
get_Transparent
get_TresholdPath
GET_TRIP_POINT_ACTIVE
GET_TRIP_POINT_CRITICAL
GET_TRIP_POINT_HOT
GET_TRIP_POINT_PASSIVE
GET_TRIP_POINT_WARM
?_Gettrue@_Locinfo@std@@QEBAPEBDXZ
GET_TSC_WIDTH
GET_TSTATE_CURRENT
GET_TSTATES
get_Type
GetTypeFromHandle
GetTypes
?GetUIAElementProvider@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?GetUiaFocusDelegate@Element@DirectUI@@UEAAPEAV12@XZ
GetUILanguage
GetUILanguage failed.
GetUILanguageResult
GetUiUserAccessLevelMain
GetUlongFromString
GetUlonglongFromString
GetUmsCompletionListEvent
GetUName
GetUName.dll
get_Unicode
GetUniqueVolumeForPath
GetUniversalFile
GetUpdateManagerInstance
GetUpdateRect
GetUrlCacheConfigInfoW
GetUrlCacheEntryInfoW
geturlrequesthandletest.cpp
geturlrequesthandletest.h
geturlresponsetest.cpp
geturlresponsetest.h
GetUseDetectionMode
get_User
GetUserColorPreference
GetUserDefaultGeoName
GetUserDefaultLangID
GetUserDefaultLCID
GetUserDefaultLocaleName
GetUserDefaultUILanguage
get_UserDomainName
GetUserInformation
get_UserInteractive
get_UserName
GetUserNameAsync
GetUserNameExW
GetUserNameW
GetUserObjectInformationA
GetUserObjectInformationW
GetUseRpc
GetUserPreferredUILanguages
GetUserPreferredUILanguages failed
GetUserProfileDirectoryW
GetUserVirtualProcesses
GetUserVirtualProcessesW
GetUseStateRegistryKeyInsteadOfIoctl
get_UTF8
GET_UVTH
GetValidationStatus
get_ValidBitsPerSample
GetValidDPTopologyPortsW
GetValidDPTopologyPortsWWW
get_Value
GetValue
get_ValueCount
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@P6APEBUPropertyInfo@2@XZHPEAUUpdateCache@2@@Z
GetValueKind
get_ValueName
GetValueOrDefault
get_Values
GetValues
GetValueString failed.
get_VaPhraseId
get_VaVendorId
GetVCPFeatureAndVCPFeatureReply
GetVDMCurrentDirectoriesStub
GetVendorAndLanguage
get_VerboseEnabled
GetVerificationDllPath
get_Version
GetVersion
GetVersionEx
GetVersionExA
GetVersionExW
get_VersionId
GetVersionInfo
get_VirtualApplications
GetVirtualApplicationsWW
get_VirtualEnvironmentBlocked_ButtonCancel
get_VirtualEnvironmentBlocked_ButtonCloseApplications
get_VirtualEnvironmentBlockedDuringUpgradeNoApps_ScenarioDescription
get_VirtualEnvironmentBlockedDuringUpgrade_ScenarioDescription
get_VirtualEnvironmentBlocked_ScenarioAction
get_VirtualEnvironmentBlocked_ScenarioDescription
get_VirtualEnvironmentBlocked_TitleCloseApplications
get_VirtualEnvironmentId
get_VirtualEnvironmentVersion
GET_VIRTUAL_SENSOR_CALIB_TABLE
GET_VIRTUAL_SENSOR_POLLING_TABLE
GET_VIRTUAL_TEMPERATURE
get_Visibility
get_VoiceAssistantId
GET_VOLTAGE_THRESHOLD_MATH_TABLE
GetVolumeInformationW
GetVolumeMediaId
GetVolumeNameForVolumeMountPointW
GetVolumePathNamesForVolumeNameW
GetVolumePathNameW
?GetVolumeSnapshot@SNAPSHOT@@SAJPEAVWSTRING@@PEAPEAV1@@Z
get_Warning
GET_WEIGHTED_SLOWPOLL_CONSTANT
get_Width
GetWindow
GetWindowBand
?GetWindowClassNameAndStyle@HWNDElement@DirectUI@@UEAAXPEAPEBGPEAI@Z
GetWindowDC
GetWindowDPI
GetWindowDpiAwarenessContext
GetWindowInfo
GetWindowLong
GetWindowLongIndex
GetWindowLongPtrA
GetWindowLongPtrW
GetWindowLongW
GetWindowPosition
GetWindowRect
GetWindowRectDelegate
GetWindowsDirectoryA
GetWindowsDirectoryW
GetWindowSize
GetWindowTextLength
GetWindowTextLengthW
GetWindowTextW
GetWindowThreadProcessId
_GetWMIFolder
_GetWMITask
GetWovAPIMode
GetWovChannelNumber
GetWovConfiguration
GetWovLogComponentMask
GetWovLogLevel
GetWovMode
GetWovModelsPath
GetWovNotification
GetWovSession
get_WovStartupData
GetWriteCommandSignal
get_WriteOffset
get_WritePositionInBlocks
get_WritePtr
GetWsInterface
GetWwnString
GetXStateFeaturesMask
GetXYMax
gfffffff
gfffffffH
gfffffffI
gfffffffL
gfgfgfgFgggggjFUggkgkgWgWWWgWgWVV
-)GFo|(v
GfxDownloadWrapper
GfxDownloadWrapper.exe
GfxGameSettingsDownload
GfxSDKWW
ggggggMHkgiWgiFk
gggggkHNkikikVL
 @ggivi	
GHdwDisplayUID
gIGFX_DISPLAYTYPE_CRT
g	?Initialize@HWNDElement@DirectUI@@QEAAJPEAUHWND__@@_NIPEAVElement@2@PEAK@Z
GIntelAudioService.MultiPa.ParametersHandling.OnsetBufferLengthParameter
giSkcabllaCetirW.seciveD.tfosorciM
giSkcabllaCkeeS.seciveD.tfosorciM
giSkcabllaCredaeR.seciveD.tfosorciM
Given file does not exist
givenName
GLITCH_TOTAL
glitchTypeEnum
glitchTypeString
GlobalAddAtomW
GlobalAlloc
GlobalCollection
globalcp.cpp
GlobalDeleteAtom
GlobalFindAtomW
GlobalFlags
GlobalFree
GlobalGetAtomNameW
GlobalHandle
GlobalLock
GLOBAL_MachineOU
Global Memory Stats: 
GlobalMutex
GlobalMutex::GlobalMutex()
GlobalPendingWWW
globalPriorityQuery
GlobalReAlloc
globals.h
GlobalSize
GlobalUnlock
globaluserpackagegrouptests.cpp
globaluserpackagetests.cpp
globalWWd
?g_log@UDC@@3VLog@1@A
gMONITOR_ONWWX
_gmtime64
gnidaeRdapemaG.tupnI.gnimaG.swodniW
gnidaeRedutittA.srosneS.seciveD.tfosorciM
gnidaeRelgnAegniHI.srosneS.seciveD.swodniW
gnidaeRelgnAegniH.srosneS.seciveD.swodniW
gnidaeRepocsoryG.srosneS.seciveD.tfosorciM
gnidaeRkcitSedacrA.tupnI.gnimaG.swodniW
gnidaeRkcitSthgilF.tupnI.gnimaG.swodniW
gnidaeRleehWgnicaR.tupnI.gnimaG.swodniW
gnidaeRnoitagivaNIU.tupnI.gnimaG.swodniW
gnidaeRnoitoM.srosneS.seciveD.tfosorciM
gnidaeRretemitlAI.srosneS.seciveD.swodniW
gnidaeRretemitlA.srosneS.seciveD.swodniW
gnidaeRretemodePI.srosneS.seciveD.swodniW
gnidaeRretemodeP.srosneS.seciveD.swodniW
gnidaeRretemonilcnII.srosneS.seciveD.swodniW
gnidaeRretemonilcnI.srosneS.seciveD.swodniW
gnidaeRretemoraBI.srosneS.seciveD.swodniW
gnidaeRretemoraB.srosneS.seciveD.swodniW
gnidaeRretemoreleccAI.srosneS.seciveD.swodniW
gnidaeRretemoreleccA.srosneS.seciveD.swodniW
gnidaeRretemoreleccA.srosneS.seciveD.tfosorciM
gnidaeRretemoryGI.srosneS.seciveD.swodniW
gnidaeRretemoryG.srosneS.seciveD.swodniW
gnidaeRretemotengaMI.srosneS.seciveD.swodniW
gnidaeRretemotengaM.srosneS.seciveD.swodniW
gnidaeRrosneSI.srosneS.seciveD.tfosorciM
gnidaeRrosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
gnidaeRrosneSmotsuC.motsuC.srosneS.seciveD.swodniW
gnidaeRrosneSnoitatneirOI.srosneS.seciveD.swodniW
gnidaeRrosneSnoitatneirO.srosneS.seciveD.swodniW
gnidaeRrosneSthgiLI.srosneS.seciveD.swodniW
gnidaeRrosneSthgiL.srosneS.seciveD.swodniW
gnidaeRrosneSytimixorPI.srosneS.seciveD.swodniW
gnidaeRrosneSytimixorP.srosneS.seciveD.swodniW
gnidaeRrosneSytivitcAI.srosneS.seciveD.swodniW
gnidaeRrosneSytivitcA.srosneS.seciveD.swodniW
gnidaeRssapmoCI.srosneS.seciveD.swodniW
gnidaeRssapmoC.srosneS.seciveD.swodniW
gnidaeRssapmoC.srosneS.seciveD.tfosorciM
gnidaeRweiverPerutsoPeciveDdegniHlenaPowTI.weiverP.metsyS.swodniW
gnidaeRweiverPerutsoPeciveDdegniHlenaPowT.weiverP.metsyS.swodniW
gnidaoLlatnemercnItroppuSI.ataD.lmaX.IU.swodniW
gniddaPcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
gniddaPtxeTdemiT.eroC.aideM.swodniW
gnidniB.ataD.lmaX.IU.swodniW
gnidniBetaLweN.secivreSrelipmoC.cisaBlausiV.tfosorciM
gnidniBI.ataD.lmaX.IU.swodniW
gnidniBledoMgninraeL.gninraeLenihcaM.IA.swodniW
gnidniBledoMgninraeLI.gninraeLenihcaM.IA.swodniW
gnidniBnoitacifitoNI.snoitacifitoN.IU.swodniW
gnidniBnoitacifitoN.snoitacifitoN.IU.swodniW
gnidniBnoitaralceD.scihparG.krowemarF.anX.tfosorciM
gnidniBreffuBxetreV.scihparG.krowemarF.anX.tfosorciM
gnidniBtegraTredneR.scihparG.krowemarF.anX.tfosorciM
gnidniBtnirP.gnitnirP.scihparG.swodniW
gnidocnEedocinU.smaertS.egarotS.swodniW
gnidocnEgnirtSyraniB.yhpargotpyrC.ytiruceS.swodniW
gnidocnElexiPtamroFeriWyalpsiD.eroC.yalpsiD.seciveD.swodniW
gnidocnElexiPyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
gnidocnEsmS.smS.seciveD.swodniW
gnidroceRaideMgaLwoL.erutpaC.aideM.swodniW
gnidroceRaideMgaLwoLI.erutpaC.aideM.swodniW
gniggoLecarT.enohP.tfosorciM
gniggoL.noitacifitoN.enohP.tfosorciM
gniggoL.noitagivaN.swodniW.metsyS
gniggoL.noitamrofnIkrowteN.teN.enohP.tfosorciM
gniggoL.ofnI.enohP.tfosorciM
gniggoL.poretnI.llehS.enohP.tfosorciM
gniggoLtnevE.TRniW.derahS.gnisitrevdA.tfosorciM
gnikcolBegasseMtahC.tahC.ledoMnoitacilppA.swodniW
gnikcolBllaCenohP.sllaC.ledoMnoitacilppA.swodniW
gnilacShtaPyalpsiD.eroC.yalpsiD.seciveD.swodniW
gnilacSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
gnilacSweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
gnildnaHrorrE.srorrE.redniBemitnuR.prahSC.tfosorciM
gnimmirTtxeT.lmaX.IU.swodniW
gninoisivorPdraCtramSI.sdraCtramS.seciveD.swodniW
gninoisivorPdraCtramS.sdraCtramS.seciveD.swodniW
gninraWrevuenaMI.spaM.secivreS.swodniW
gninraWrevuenaM.spaM.secivreS.swodniW
gnippaMirU.noitagivaN.swodniW.metsyS
gnippaMreniatnoCmetII.slortnoC.lmaX.IU.swodniW
gnippaMtroppuS.krowemarF.anX.tfosorciM
gnipparWtxeTdemiT.eroC.aideM.swodniW
gnipparWtxeT.lmaX.IU.swodniW
gnipuorGelacoLdetroS.noitazilabolG.enohP.tfosorciM
gnipuorGretcarahCI.noitalloC.noitazilabolG.swodniW
gnipuorGretcarahC.noitalloC.noitazilabolG.swodniW
gniredroBtnirP.gnitnirP.scihparG.swodniW
gniretliFhtiWscitatSppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
gniretliFhtiWscitatSrotalumiSppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
gniriaPmotsuCnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
gniriaPmotsuCnoitamrofnIeciveD.noitaremunE.seciveD.swodniW
gniriaPnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
gniriaPnoitamrofnIeciveD.noitaremunE.seciveD.swodniW
gnirorriMnoitacifitoN.snoitacifitoN.IU.swodniW
gniRssergorPI.slortnoC.lmaX.IU.swodniW
gniRssergorP.slortnoC.lmaX.IU.swodniW
gnirtSezilacoL.enohP.tfosorciM
gnirtSrosneT.gninraeLenihcaM.IA.swodniW
gnirtSrosneTI.gninraeLenihcaM.IA.swodniW
gnisaCretcarahC.slortnoC.lmaX.IU.swodniW
gnissecorPnoitacifitoNnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
gnissecorPoiduA.aideM.swodniW
gnitseTtiHhcuoTeroCI.eroC.IU.swodniW
gnitsiLtcudorP.erotS.ledoMnoitacilppA.swodniW
gnitsiLtcudorPI.erotS.ledoMnoitacilppA.swodniW
gnitteSecafretnIbsU.bsU.seciveD.swodniW
gnitteSecafretnIbsUI.bsU.seciveD.swodniW
gnitteSegelivirPremaG.secivreSremaG.krowemarF.anX.tfosorciM
gnitteSetadpUotuA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
gnitteSeviLnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
gnitteSgifnoCnoisseShcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
gnitteSgnimaoRataDralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
gnitteSnoitacifitoN.snoitacifitoN.IU.swodniW
gniwarDknIsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
gniwarDknIsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
gniziSdnuorgkcaB.slortnoC.lmaX.IU.swodniW
gnoS.aideM.krowemarF.anX.tfosorciM
goFtceffEI.scihparG.krowemarF.anX.tfosorciM
goHGadelXDICNMC
goHGadelXDICNRSCgoHGadelXDISARMCgoHGadelXDISARNCgoHGadelXDISBPt
goHGadelXDISEBPtgoHGadelXDISEWPtgoHGadelXDISMIPCgoHGadelXDISPPCCgoHGadelXDISRCR
goHGadelXDISSGXCgoHGadelXDISWPt
goHGadelXDISX86C
golaiDegasseMI.spupoP.IU.swodniW
golaiDegasseM.spupoP.IU.swodniW
golaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
golaiDtnetnoC.slortnoC.lmaX.IU.swodniW
golaiDwodniWeroC.eroC.IU.swodniW
golaiDwodniWeroCI.eroC.IU.swodniW
golataCecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
golataCegakcaPI.ledoMnoitacilppA.swodniW
golataCegakcaP.ledoMnoitacilppA.swodniW
golataCnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
golataCnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
goLfreP.enohP.tfosorciM
?good@ios_base@std@@QEBA_NXZ
?G*-OSKd
Got 0 as major version.
Got 417 while waiting for a 100
Got error status from HCI_GET_FW_VERSION.
Got more output options than URLs
GoToState
Got same data as current sensor state.
Got SID.
Got unexpected imap-server response
Got unexpected pop3-server response
Got user token.
gpfile.cpp
gpfile.h
g_pfnPowerRegisterEnvironmentalMonitor is NULL
GpH;X8tT
gpobject.cpp
gpobject.h
?GPPB@CIniW@@QEBAHPEBG0H@Z
?GPPI@CIniW@@QEBAKPEBG0K@Z
?GPPS@CIniW@@QEBAPEAGPEBG00@Z
GPU id : 
                    gpu in the system conforming to the DevSim Portability Subset schema.
GrantedCompleted
GrantShutdownPrivilege
Granularity
graphic-equalizer-bands
graphic_equalizer_config
graphic-equalizer-enable
graphic_equalizer_enable
 Graphics AGS
 Graphics Command Center
 Graphics Command Center Service
 Graphics Control Panel
GraphicsOptions::BackgroundDefault should be handled by _SetDefaultColorHelper
GraphicsOptions::ForegroundDefault should be handled by _SetDefaultColorHelper
GraphicsOptions::Off should be handled by _SetDefaultColorHelper
GraphicsOutputProtocolWW
GraphicsPropertiesNotification
GRAPHICSPSTATE_ERROR_CODESWW@
GRAPHICSPSTATE_GET_FAILEDWWW@
GRAPHICSPSTATE_INVALID_LEVEL
GRAPHICSPSTATE_NOT_SUPPORTED@
GRAPHICSPSTATE_SUCCESSWW@
GRAPHICSRENDERSTANDBY_GET_FAILED
GRAPHICSRENDERSTANDBY_NOT_SUPPORTEDWL
GRAPHICSRENDERSTANDBY_SET_FAILED
grArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
GrayStringW
grdProgressBar
grdProgressMsg
Greater Manchester1
GreenDefaultLevelWWW81
GreenMaximum81
GreenMinimum81
'GreenValueWW81
GreenWWW
group_count
groupFailed
GroupOption
groupSucceeded
groupsWW
groupTotal
GroupVersion
growthFileCount
growthInboxAppMB
growthOtherAppMB
growthOtherMB
growthSizeMB
growthSystemMB
growthUserMB
__GSHandlerCheck
:';G;S;o;
 GSS-API confidentiality
GSS-API delegation permission
GSSAPI handshake failure (empty challenge message)
GSSAPI handshake failure (empty security message)
GSSAPI handshake failure (invalid security data)
GSSAPI handshake failure (invalid security layer)
 GSS-API integrity
GTbs7T3G
gtClipReasons
gtet. Fordi disse er ber
gtet. Fordi oprindelige filer erstattes af uautoriserede programmer.
gtet. Fordi programleverand
gTextStreamWW
GuidAttribute
GUID buffer too small
GUID                    ChainId;
GUID: DG1
GUID Identifier;
GUID: PCH
GuidSize
GUID    Subtype;
GUID    Type;
GV2ff"hA
GVerticalCropMaximumW|.
gvrZ_kg8
GWL_EXSTYLE
GWL_HINSTANCE
GWL_HWNDPARENT
GWL_STYLE
GWL_USERDATA
GWL_WNDPROC
GWulResolutionHeightWW
GXe9uc1[
gxShareNameWWW
GY6l!!x7h
H!0!1H!2I
 H3E H3E
H!]8!](!] !]0H
h@8u0uRD
.       H9
..      H9
H98u0A8h9t
H99uzH!9H
(H9A8s_D8
H9ExtNH;
)H9i0u0H;
H9s(t#9s t
H9Ypt!H9YHu
(H9Y t#M;
had unsupported trailing garbage
HAIT[8rT
HAL_ALREADY_INSTALLED
HAL_BUFFER_TOO_SMALL
HAL_CONNECTION_CLOSED
HAL_COUNTER_MISMATCH
HAL_FAILURE
HAL_FW_VERSION_MISMATCH
HAL_ILLEGAL_FORMAT
HAL_ILLEGAL_PLATFORM_ID
HAL_ILLEGAL_POLICY_SECTION
HAL_ILLEGAL_SIGNATURE
HAL_ILLEGAL_VERSION
HAL_INTERNAL_ERROR
HAL_INVALID_HANDLE
HAL_INVALID_PARAMS
HAL_LIBRARY_VERSION_MISMATCH
HAL_LINKER_ERROR
HAL_MAX_INVOCATIONS
HAL_MISSING_POLICY
HAL_NO_EVENTS
HAL_NOT_INITIALIZED
HAL_NOT_READY
HAL_NOT_SUPPORTED
HAL_OMK_NOT_PROVISIONED
HAL_OUT_OF_MEMORY
HAL_OUT_OF_RESOURCES
HAL_OUT_OF_STORAGE
HAL_PLATFORM_AFTER_EOM
HAL_TA_ENCRYPTION_KEY_INVALID
HAL_TA_ENCRYPTION_KEY_NOT_SET
HAL_TIMED_OUT
HAL_UNSUPPORTED_API_LEVEL
HAL_UNSUPPORTED_CPU_TYPE
HAL_UNSUPPORTED_FEATURE_SET
HAL_UNSUPPORTED_PCH_TYPE
HAL_UNSUPPORTED_PLATFORM_TYPE
HAL_VERIFIER_ERROR
HandleAcaNotificationReceived
HandleAppRequest
HandleAutomagicFlags
HandleCommandLine
HandleDefaultDeviceChange
HandleDetectedSession
HandleDeviceRemoval
HandleDriverEvent
HandleEndpointChange
HandleEndpointConfigurationMismatch
HandleEvent
HandleEventMethod
HandleExitEvent
HANDLE FveHandle
HANDLE FveSys
HANDLE FveVolumeHandle
HANDLE hEvent);
HANDLE hFveVolume
HandleHwkwsLanguagePriority
HandleImcCommandLine
HandleInitializeAsync
HandleInstallPackages
handle_manager.cpp
HandleMonitorPowerEvent
HandleNotDetectedSession
HANDLE *phEvent);
HANDLE * phFveSys
HANDLE * phVolume
HandleProtocolEvent
HandlePublishingActivityStatusChanged
HandlePublishingRefreshStatusChanged
_handler
HandleResumeAsync
handlerFactories
HandleSessionLogoff
HandleSuspendAsync
HandleTimeBasedEventTrigger
Handle type
?HandleUiaDestroyListener@Element@DirectUI@@UEAAXXZ
?HandleUiaEventListener@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?HandleUiaPropertyChangingListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@@Z
?HandleUiaPropertyListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
HandleUninitializeAsync
HandleUserChange
HandleWatchDog_Activity
HandleWovEvent
HandleWW
happy-eyeballs-timeout-ms
    --haproxy-protocol
haproxy-protocol
HardwareId
HardwareID
hardwareIssue
hasActions
HasAssetIntelligenced
 has been obtained
hasCallback
HasConfigurationChanged
hasCredentialDataUI
?HasExternalKey@VolumeFveStatus@@QEBA_NXZ
                          Hash
HashAlgId
HashAlgorithm
HASHALGORITHM_ENUM                      hashAlgorithm;
HASHALGORITHM_ENUM      hashAlgorithm;
hash_base32
' has not been found
?HasPassphraseProtector@VolumeFveStatus@@QEBA_NXZ
?HasPBKDF2RecoveryPassword@VolumeFveStatus@@QEBA_NXZ
?HasPinProtector@VolumeFveStatus@@QEBA_NXZ
hasPrimary
?HasRecoveryData@VolumeFveStatus@@QEBA_NXZ
?HasRecoveryPassword@VolumeFveStatus@@QEBA_NXZ
hasRender
?HasSmartCardProtector@VolumeFveStatus@@QEBA_NXZ
?HasStartupKeyProtector@VolumeFveStatus@@QEBA_NXZ
HasSurpassedThreshold
hasTimeout
?HasTpmProtector@VolumeFveStatus@@QEBA_NXZ
?HasWildCard@PATH@@QEBAEXZ
H AUAVAWH
'hb0 !OPE"
'H;BMB0FY
HBPP_8_BITWWWD
h)CD2F l
HCERTCHAINENGINE            hChainEngine;
HCERTCHAINENGINE    hChainEngine;
HCERTCHAINENGINE hChainEngine
HCERTCHAINENGINE* phChainEngine
HCERT_SERVER_OCSP_RESPONSE
HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse
HCERTSTORE
HCERTSTORE                  hAdditionalStore;
HCERTSTORE          hAdditionalStore;
HCERTSTORE              hCertStore;
HCERTSTORE hCertStore
HCERTSTORE                  hCrlStore;
HCERTSTORE  hExclusiveRoot;
HCERTSTORE  hExclusiveTrustedPeople;
HCERTSTORE hMsgCertStore
HCERTSTORE  hRestrictedOther;
HCERTSTORE  hRestrictedRoot;
HCERTSTORE  hRestrictedTrust;
HCERTSTORE hSiblingStore
HCERTSTORE  *phStore
HCERTSTOREPROV      hStoreProv;
HCERTSTORE                  *rgCertStore;
HCERTSTORE* rghAdditionalStore;
HCERTSTORE              *rghCertStore;
HCERTSTORE              *rghCtlStore;       
HCERTSTORE              *rghSignerStore;    
hcnuPeloHtnirP.gnitnirP.scihparG.swodniW
HCodePageInput
hcraeStxeTyreuQliamEI.liamE.ledoMnoitacilppA.swodniW
hcraeStxeTyreuQliamE.liamE.ledoMnoitacilppA.swodniW
hcraeStxeTyreuQtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
hcraeStxeTyreuQtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
HCRYPTASYNC hAsync
HCRYPTASYNC hAsyncRetrieval
HCRYPTASYNC hAsyncRetrieve
HCRYPTDEFAULTCONTEXT *phDefaultContext
HCRYPTHASH  hHash
HCRYPTHASH  *phHash
HCRYPTKEY CspKeyHandle;
HCRYPTKEY                   hContentEncryptKey;
HCRYPTKEY   hKey
HCRYPTKEY                       hKeyEncryptionKey;
HCRYPTKEY                   hKeyEncryptionKey;
HCRYPTKEY *phContentEncryptKey
HCRYPTKEY *phEncryptKey
HCRYPTKEY   *phKey
HCRYPTKEY *phKey
HCRYPTKEY   *phUserKey
HCRYPTMSG
HCRYPTMSG               hCryptMsg;
HCRYPTMSG hCryptMsg
HCRYPTOIDFUNCADDR   hStoreProvFuncAddr2;
HCRYPTOIDFUNCADDR *phFuncAddr
HCRYPTOIDFUNCSET
HCRYPTPROV CspProviderHandle;
HCRYPTPROV                      hCryptProv;
HCRYPTPROV                  hCryptProv;
HCRYPTPROV          hCryptProv;
HCRYPTPROV_LEGACY                   hCryptProv;
HCRYPTPROV_LEGACY           hCryptProv;
HCRYPTPROV_LEGACY       hCryptProv;
HCRYPTPROV_LEGACY   hCryptProv;
hctaBdepocSnoitisopmoCI.noitisopmoC.IU.swodniW
hctaBdepocSnoitisopmoC.noitisopmoC.IU.swodniW
hctaBegasseMliamEI.liamE.ledoMnoitacilppA.swodniW
hctaBegasseMliamE.liamE.ledoMnoitacilppA.swodniW
hctaBetirpS.scihparG.krowemarF.anX.tfosorciM
hctaBksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
hctaBksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
hctaBnoitasrevnoCliamEI.liamE.ledoMnoitacilppA.swodniW
hctaBnoitasrevnoCliamE.liamE.ledoMnoitacilppA.swodniW
hctaBtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
hctaBtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
hctaBtimmoCnoitisopmoCI.noitisopmoC.IU.swodniW
hctaBtimmoCnoitisopmoC.noitisopmoC.IU.swodniW
hctertS.aideM.lmaX.IU.swodniW
hctertSnoitisopmoC.noitisopmoC.IU.swodniW
hctertStnoF.txeT.IU.swodniW
hctiwSelggoTI.slortnoC.lmaX.IU.swodniW
hctiwSelggoT.slortnoC.lmaX.IU.swodniW
hcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
HD9NDsjE3
HDAudBus_DMA
HDAudioBus_Enum
HDMI_ERROR_CODES
HDMIFeatures
HDMI_GBD_DataWWWx
HDMI_IT_CONTENT_TYPE
HDMI_QUANTIZATION_RANGEW
hdX2Z_a#
Header_BuildInfo_TypeGroup
Header_DbgIdRSDS_TypeGroup
Header_Extension_TypeGroup
Header_Extension_V0_TypeGroup
Header_Extension_V1_TypeGroup
header_json
Header_LastDroppedTimes_TypeGroup
Header_PartitionInfoExtension_TypeGroup
Header_PartitionInfoExtensionV2_TypeGroup
Header_ProviderBinaryPath_TypeGroup
HeaderSize
header_unmarshal
Header without colon
HeadIndex
headphone
healthStateFlags
HeapAlloc
HeapAlloc failed
HeapAlloc failed.
heapBudget
HeapCreate
HeapCreate_V2
HeapDestroy
HeapFree
heapIndex
HeapQueryInformation
HeapReAlloc
HeapSetInformation
HeapSize
HeapSnapShot_V2
Heap_SubsegmentGroup
HeapTrace_V2
Heap_TypeGroup1
heapUsage
HeapValidate
Heap validation failed.
HeciCallerLibraryName
HECI Command Failed
HECI device removal failed
HECI device removed
HeciServer
HeciServerBase::ExecuteMalCommand
HeciWin deinitialized
HeciWin::_doIoctl
HeciWin dtor: deinitialization exception
HeciWin::Init
hector.bejarano@intel.com0
height-filter-mode
height_filter_mode
	?HeightProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
help                                     Displays this text
helper.cpp
helper.h
helperinterface.h
helperio.cpp
helperio.h
hexBinary
HexStringToBinary
HFailedOutsideRange
HFfA9	ri
HFfA9	rX
hfgdheVah
hFooterIcon
hGetAssetIntelligenceDataInPackageWWWd
H;G r H;G(s
H;G rXH;G(sRH
H!_(H!_0H!_8H!_@3
H!_(H!_0H!_8H!_@I
H!]@H!]HH
HH:mm:ss
?HHorizontalStretchFactorValue|.
Hiberboot
HiberFilePresent
HiberFileType
HiddenClusters
HiddenWW
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetFeature
HidD_GetPreparsedData
HidD_SetOutputReport
HideDelay
hideUIWW
HidP_GetCaps
HighPower
hInstance
HistoryBufferSize
HistoryBuffersNumber
HistoryNoDuplicates
historytask.cpp
hive_file_utils.hpp
hive_file_utils_test.cpp
hive_manager.cpp
hive_manager.h
hive_manager_impl.cpp
hive_manager_impl.h
hive_manager_mocks.cpp
hive_manager_mocks.h
hive_manager_test.cpp
H;J r H;J(s
hJVerticalCropMinimumW|.
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY                hKey;
HKEY                hKeyBase;
HKEY_LOCAL_MACHINE
HKEY_USERS
hKm0R	gvQ
hkxjgeZ9;7
hlastErrorWWW
HLPS?hgi8;;
?	?h?l?p?t?
hMainIcon
hMonitor
HNet_ApplicationProtocol
HNet_BackupIpConfiguration
HNet_BridgeMember
HNet_Connection
HNet_ConnectionAutoconfig
HNet_ConnectionIcmpSetting
HNet_ConnectionPortMapping2
HNet_ConnectionProperties
HNet_FirewallLoggingSettings
HNet_FwIcmpSettings
HNet_IcsSettings
HNet_PortMappingProtocol
HNet_ResponseRange
hnsDeadline
	hnsNewestItem
hnsOldestItem
	hnsStartTS
ho.jGzP"
HorizontalActivePixelsWW
HorizontalBackPorchW
HorizontalFrontPorch
HorizontalScanRateWW
HorizontalStretchFactorDefaultLevelW|.
HorizontalSyncWidthW
HORIZONTALWW
    -h or -v or -?    Display This Help.
Host down
HostName
	?Host@NativeHWNDHost@DirectUI@@QEAAXPEAVElement@2@@Z
Host not found
hostpubmd5
hostpubsha256
hostQueryReset
hostRunner
HostRunner
HostRuntime
host unreachable
host_unreachable
Host unreachable
HotkeyActionRotate180Default
HotkeyActionRotate270Default
HotkeyActionRotate90Default
HotkeyActionRotateZeroDefault
HotkeyConfig
HotPlugEjectDeviceEx
How long to wait for 100-continue
hpackagePathW
HpalAlignmentLoopbackOffsetName
HpalCaptureThread
HpalClientConfigurator
HpalConfiguration
HpalFilesDumpValueName
_hpalIoctlControl
HpalIoctlControl
HpalPolicyVerifier
HpalStreamConfigurator
hpargaraPI.stnemucoD.lmaX.IU.swodniW
hpargaraPsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
hpargaraPsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
hpargaraP.stnemucoD.lmaX.IU.swodniW
hparGoiduAI.oiduA.aideM.swodniW
hparGoiduA.oiduA.aideM.swodniW
HPBIOS_BIOSEnumeration
HPBIOS_BIOSEvent
HPBIOS_BIOSInteger
HPBIOS_BIOSNumericSensor
HPBIOS_BIOSOrderedList
HPBIOS_BIOSPassword
HPBIOS_BIOSSettingInterface
HPBIOS_BIOSStateSensor
HPBIOS_BIOSString
HPBIOS_BIOSUserInterface
HP_BIOSEnumeration
HP_BIOSEvent
HP_BIOSInteger
HPBIOS_ManufacturingSensor
HP_BIOSNumericSensor
HP_BIOSOrderedList
HP_BIOSPassword
HPBIOS_PlatformEvents
HP_BIOSSensor
HP_BIOSSetting
HP_BIOSSettingInterface
HP_BIOSStateSensor
HP_BIOSString
HP_BIOSUser
HP_BIOSUserInterface
HPcttunesvrLib
H!]PH!]X!]@H
HP_PlatformEvents
_hProcess
HProcessesConnectedCodesCount
HProcessesConnectedFailedCodesCount
HProcessesConnectedFailedOutsideCount
HrCreateDesktopIcon
hRecipient
HRESULT_FAIL
HRESULT LastConvertStatus; 
HRESULT NotUsed;
HRESULT SupportStatus;
HRESULT TpmStatus;    
hrGetUsedSpace
HrLaunchConnection
HrLaunchConnectionEx
HR of SessionInitiate
HRT6E__h
HSA_GetUISetting_ToRegistry
hsaHcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
HSATAUAVAWVWL
HSATAUAVAWVWQL
HSATAUAVAWVWUL
HSATAUAVVWUL
HSATAUVW
HSA_Update_PTPEnabled
hSCManager
hSCObject
hsc_path
hseMD3gnitnirP.D3gnitnirP.scihparG.swodniW
hseMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
hseMecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
hseMecafruSlaitapS.secafruS.laitapS.noitpecreP.swodniW
hseMenecSI.senecS.noitisopmoC.IU.swodniW
hseMenecS.senecS.noitisopmoC.IU.swodniW
hseMledoM.scihparG.krowemarF.anX.tfosorciM
hService
Hsinchu County1*0(
HStartedUsingAtSeconds
hStdError
hStdInput
hStdOutput
hsurB.aideM.lmaX.IU.swodniW
hsurBcilyrcA.aideM.lmaX.IU.swodniW
hsurBcilyrcAI.aideM.lmaX.IU.swodniW
hsurBdirGeniNnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBdirGeniNnoitisopmoC.noitisopmoC.IU.swodniW
hsurBdnuorgkcaBlaeveR.aideM.lmaX.IU.swodniW
hsurBdnuorgkcaBlaeveRI.aideM.lmaX.IU.swodniW
hsurBecafruSnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBecafruSnoitisopmoC.noitisopmoC.IU.swodniW
hsurBegamI.aideM.lmaX.IU.swodniW
hsurBegamII.aideM.lmaX.IU.swodniW
hsurBeliT.aideM.lmaX.IU.swodniW
hsurBeliTI.aideM.lmaX.IU.swodniW
hsurBI.aideM.lmaX.IU.swodniW
hsurBksaMnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBksaMnoitisopmoC.noitisopmoC.IU.swodniW
hsurBlaeveR.aideM.lmaX.IU.swodniW
hsurBlaeveRI.aideM.lmaX.IU.swodniW
hsurBnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBnoitisopmoC.noitisopmoC.IU.swodniW
hsurBpordkcaBnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBpordkcaBnoitisopmoC.noitisopmoC.IU.swodniW
hsurBredroBlaeveR.aideM.lmaX.IU.swodniW
hsurBredroBlaeveRI.aideM.lmaX.IU.swodniW
hsurBroloCdiloS.aideM.lmaX.IU.swodniW
hsurBroloCdiloSI.aideM.lmaX.IU.swodniW
hsurBroloCnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBroloCnoitisopmoC.noitisopmoC.IU.swodniW
hsurBtceffEnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBtceffEnoitisopmoC.noitisopmoC.IU.swodniW
hsurBtneidarG.aideM.lmaX.IU.swodniW
hsurBtneidarGI.aideM.lmaX.IU.swodniW
hsurBtneidarGlaidaRnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBtneidarGlaidaRnoitisopmoC.noitisopmoC.IU.swodniW
hsurBtneidarGnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBtneidarGnoitisopmoC.noitisopmoC.IU.swodniW
hsurBtneidarGraeniL.aideM.lmaX.IU.swodniW
hsurBtneidarGraeniLI.aideM.lmaX.IU.swodniW
hsurBtneidarGraeniLnoitisopmoCI.noitisopmoC.IU.swodniW
hsurBtneidarGraeniLnoitisopmoC.noitisopmoC.IU.swodniW
hsurBweiVbeWI.slortnoC.lmaX.IU.swodniW
hsurBweiVbeW.slortnoC.lmaX.IU.swodniW
HSUVWATAUAVAW
H SUVWATAUAVAWH
HSUVWATAUAVAWL
H SUVWATAVAWH
HSUVWATL
H SUVWAVAWH
H SUVWAVH
H SUWATAVAWH
H SVWATAUAVAWH
H SVWAVH
](H;] tAH
htaPetuoRdelahsraM.secivreS.spaM.enohP.tfosorciM
htaPetuoRI.secivreS.spaM.enohP.tfosorciM
htaPI.sepahS.lmaX.IU.swodniW
htaPnoitisopmoCI.noitisopmoC.IU.swodniW
htaPnoitisopmoC.noitisopmoC.IU.swodniW
htapoeGI.noitacoloeG.seciveD.swodniW
htapoeG.noitacoloeG.seciveD.swodniW
htaP.sepahS.lmaX.IU.swodniW
htaPyalpsiD.eroC.yalpsiD.seciveD.swodniW
htaPyalpsiDI.eroC.yalpsiD.seciveD.swodniW
htaPytreporPI.lmaX.IU.swodniW
htaPytreporP.lmaX.IU.swodniW
htaPytreporPtegraTI.lmaX.IU.swodniW
htaPytreporPtegraT.lmaX.IU.swodniW
_@H;_@tbE3
](H;] tCH
HTCLIENT
HTEMFEDERP.scitnameS.redniBemitnuR.prahSC.tfosorciM
htgneLdedocnEsmS.smS.seciveD.swodniW
htgneLdirG.lmaX.IU.swodniW
HTGNELYARRARPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
htlaeHmetsySnpVI.npV.gnikrowteN.swodniW
htlaeHmetsySnpV.npV.gnikrowteN.swodniW
HtmlHelpW
htnoMfOkeeWksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
htnoMfOkeeWtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
htpeDredloF.hcraeS.egarotS.swodniW
HTristateTrue 
    --http0.9
    --http1.1
    --http2
    --http2-prior-knowledge
http2-prior-knowledge
    --http3
HTTP and HTTPS protocol options
httpclientcertselector.cpp
http_code
http_connect
http.cpp
httpdcresource.cpp
httpdcresource.h
httpdcserver.cpp
httpdcserver.h
httpdnld.cpp
httpdnld.h
: HTTP error
httpinternalrc.h
httponly
#HttpOnly_
HTTP POST ASCII data
HTTP POST binary data
HTTP POST data
HTTP POST data URL encoded
HTTP POST JSON
HTTP Post specific options
http_proxy
httpproxyconfigtest.cpp
httpproxyconfigtest.h
httppublishserver.cpp
httppublishserver.h
httppublishservertests.cpp
httppublishservertests.h
HttpQueryInfoW
httpreportingresource.cpp
httpreportingresource.h
httprequest.cpp
httprequest.h
httprequestimp.cpp
httprequestimp.h
httpresource.cpp
httpresource.h
httpresourceprovider.cpp
HTTP response code said error
HTTP server doesn't seem to support byte ranges. Cannot resume.
httpsession.cpp
httpsessionmgr.cpp
httpsessionmgr.h
HTTPS-proxy
HTTPStatus
HttpStatusCode
httpstreamingresource.cpp
httpstreamingresource.h
http_version
HttpWebRequest
HttpWebResponse
htuoMratavA.secivreSremaG.krowemarF.anX.tfosorciM
H UATAUAVAWH
h UAVAWH
H UAVAWH
HUE_ERROR_CODESW
HUE_GET_FAILEDWW
HUE_INVALID_DISPLAY_IDWW
HUE_INVALID_VALUEWWW0
HueMaximumWWp0
HueMinimumWWp0
HUE_NOT_SUPPORTEDWWW
;HUE_SET_FAILEDWW
HueStepWp0
HUE_SUCCESSW
HueValuep0
H!u@H!u8H!5_W
H USVWATAUAVAWH
H UVWATAUAVAWH
H UWATAVAWH
H UWAUAVAWH
h VAVAWH
HVCIAutoDisabledAfterUnsuccessfulBoot
HvfA9	rj
HV_Hypercall
Hvis du vil opdatere handlingen for din brugerdefinerede n
HvLEuFE3
HvlExchangeDispatchInterface
HvlLaunchHypervisor
HvlLoadHypervisor
HvlPreloadHypervisor
HvlQueryConnection
HvlRegisterRuntimeRange
HvlRescindVsm
HvlUpdateMcUpdateStatus
h VWATAUAVH
H VWATAUAWH
h VWATAVAWH
H VWATAVAWH
h VWAUAVAWH
HW3DLUTPopup
H WATAUAVAWH
h WAVAWH
H WAVAWH
hwIdPart
HWINV_AudioDriverInfo
HWINV_CosmosMapping
HWINV_CRMscriptconfiguration
HWINV_DoNotDisableAddinList
HWINV_DotNetVersions
HWINV_HRE_Info
HWINV_IEAddonStatus
HWINV_IEVersion
HWINV_ImageWaterMark
HWINV_LocalAdmins
HWINV_LogoffEvents
HWINV_LSA_Info
HWINV_Machine_OU_Details
HWINV_MetroAppInv
HWINV_MSIT_DA_Status
HWINV_NetworkAdapterDevices
HWINV_Office2013_C2R
HWINV_Office2013SP1_C2R
HWINV_Office_C2R
HWINV_OfficeLanguages
HWINV_OfficeLoggingInfo
HWINV_OperatingSystemEx
HWINV_OSD_Details
HWINV_PenTouch
HWINV_Preferred_OSLang
HWINV_Seville
HWINV_TPM_BitLocker
HWINV_VirtualSmartCardArchival
HWINV_WiFiAdapterDriverInfo
HWINV_WindowsSelfHost
HWINV_WindowsTelemetryKeys
HWINV_WiredAdapterDriverInfo
HwkwsAssistant
HwkwsSettingsNodePath
hwndChildAfter
HWND  hwndApp;
hwndInsertAfter
hwndParent
hWndParent
HwndSource
HwndTarget
HxpQWo6.
H;X r	H;
HXVYCC_HDMI_GBD_DATA_EXCEEDED_MAXSIZEP
hy2c4uZr
I2C_AUX_READ
I2C_AUX_WRITE_MOTWWW
I2C_AUX_WRITE_STATUS_REQ
I2C_AUX_WRITE_STATUS_REQ_MOT
I2C_AUX_WRITEWWW
_i64toa_s
i8042prt
.       I9
..      I9
I92u)A8h
I9:u)A8h9t
I9v0tFA96uAH
I9X0tRIi
IAcaCapabilityBuffer
IAcaCapabilityReader
IAcaDetectionDetails
IAcaDetectorDllApi
IAcaDetectorDllClientManager
IAcaDetectorDllClientWrapper
IAcaEndpointSelectionPolicy
IAcaEndpointSelector
IAcaFeature
IAcaFeatureBuilder
IAcaFeatureRegistryController
IAcaKsProperty
IAcaLogicalRequest
IAcaNotificationHandler
IAcaNotificationsManager
IAcaPhysicalRequest
IAcaProxy
IAcaRequest
IAcaRequestFactory
IAcaRequestManager
IAcaStreamConfigurator
IAcaStreamController
IACCTemperature interface discovered
iaClipReasons
iAddCustomTimingW
IA N(8)J
IapModule
IAppAndTagManager
IAppVClientEventSink
IAppVClientEventSink Interfaceh
IAppVClient InterfaceW-
IAppVClientWd
IasBrokerName
IasPortNum
IAsyncResult
IAsyncStateMachine
IAudioRegistryController
IAudioServiceLogger
IAudioSnippetWriter
IAudioSnippetWriterFactory
IBDEUILauncher InterfaceWW
IBDEUILauncherWWd
IBrokerResponseAgent
I_CertProtectFunction
ICfgBlobHeader
icleanupcommandlineparser.h
icleanupcoordinator.h
icleanupmodule.h
IClientComConsumerEventSink
IClientEventSinkRegistrator
IClientProxyApiVersionSelector
ICLogger
ICLS_CACERT_PATH
iclsCaidDestroy
iclsCaidProtect
iclsCaidProtect failed.
iclsClient
iCLS Client
ICLS_CLIENT_DEBUG_LOG_LEVEL
ICLS_CLIENT_FILE_LOG_LEVEL
ICLS_CLIENT_LOG_PATH
IclsClient returns STATUS_CONNECTION_ERROR. Waiting 30 min for next call.
ICLS_CONFDIR_PATH
iclsConfigDestroy
iclsConfigPrepare
iclsDestroyPermitInfo
iclsDestroyPlatformInfo
ICLS_EPID1_PARAMCERT_PATH
ICLS_EPID2_PARAMCERT_PATH
ICLS_EPID_LEGACY_CERT_PATH
iclsESInit
iCLS ESInit status: 
iclsExtendedServicingMessage
iclsGetClientVersion
iclsGetGlobalAttribute
iclsGetPermitAttribute
iclsGetPermitInfo
iclsGetPermitInfoCapability
iclsGetPlatformInfo
iclsGetPlatformType
ICLS_HTTP_PROXY_ADDRESS
ICLS_HTTP_PROXY_PORT
ICLS_HTTPS_PROXY_ADDRESS
ICLS_HTTPS_PROXY_PORT
ICLS_IAS_ADDRESS
ICLS_IAS_PORT
iclsInit
iclsInitDG1
iclsInitH
iclsInitPCH
iCLS init status: 
ICLS_LOGDIR_PATH
iclsMessage
iclsMessage_Ex
iclsPassThrough
ICLS_PEK
iclsPermitInstall
iclsPermitInstallIndirect
iclsProxy
ICLS_PROXY_CONF_PATH
ICLS_PROXY_DEBUG_LOG_LEVEL
ICLS_PROXY_FILE_LOG_LEVEL
ICLS_PROXY_LOG_PATH
ICLS_PTT_CONF_PATH
ICLS_PTT_RECERT_LOG_PATH
ICLS_SOCKET_SVC_CONF_PATH
icls stack not installed
ICLS_TCP_RECONNECT_ATTEMPTS
ICLS_TCP_SEND_RECV_TIMEOUT
ICLS_TPM_PROVISIONING_SERVICE_CONF_LOG
ICLS_TPM_PROVISIONING_SERVICE_CONF_PATH
iclsUtils::FileUtils::getIclsDirectory
iclsUtils::PrivilegeUtils::IsLowIntegrityLevel
ICLS_X509_CERT_PATH
icodecnta.h
ICollageBezelDetails
ICollection
IColorCurves
iColumnWW
ICommand
IComparable
IComponentConnector
icon.cpp
IconData
iconfigapplicator.h
iconfigitem.h
IconHelper
IConnDwn Class
IConnDwn Message
IConnectedDisplaysWW
IconSize
IContainer
IControl
IconUnion
ICoreDriverController
ICoreEndpointActionController
ICoreRegistryController
ICoreStorageController
ICoreStreamAndNotificationsManager
ICPU_TYPE_MAXh
iCPU_TYPE_SERVERW
ICreateTypeLib
I_CryptConvertIriToAsciiOrUnicodeWithFlags
I_CryptCreateLruCache
I_CryptCreateLruEntry
I_CryptFindLruEntry
I_CryptFreeLruCache
I_CryptGetLruEntryData
I_CryptInsertLruEntry
I_CryptNetEnumUrlCacheEntry
I_CryptReleaseLruEntry
I_CryptRemoveLruEntry
I_CryptWalkAllLruCacheEntries
ICtTuner Interface
ICUIDownScale InterfaceWWW
ICUIDownScaleWWWL
ICUIExtClientNotify InterfaceW
ICUIExtClientNotifyW
ICUIExternal3 InterfaceWWW
ICUIExternal4 InterfaceWWW
ICUIExternal5 InterfaceWWW
ICUIExternal6 InterfaceWWW
ICUIExternal7 InterfaceWWW
ICUIExternal8 InterfaceWWW
ICUIExternal Interface
IDataCleanup
idataretriever.h
ID DSP PACKAGE  VERSION GUID
ID DSP PACKAGE  VERSION HID      TYPE UID SCOPE
ID DSP PACKAGE  VERSION VENDOR DEVICE BS DV FN RV SC PI
IDefaultConfigurationsControl
identifier removed
identify
identity
IDENTITY
Identity for SASL PLAIN authentication
IdentityReference
idesktopcontent.h
idetectorenumerator.h
idetector.h
IDictionary
IDirectoryExplorer
IDISABLEW
IDisplay
IDisplayAudioWWW
IDisplayBasicModeDetails
IDisplayBrightnessWW
IDisplayContrast 
IDisplayCustomTiming
IDisplayGammaLUT
IDisplayGammaWWWL
IDisplayModeList
IDisplayPowerSavingTechnologyWWWX4
IDisposable
ID Module      Description               Version 
ID   Name     Description                     Enum Ver Status       Active DSP     
ID Name         Description                         Type    Version
ID Name         Description                         Type   Version     
ID Name         Description                         Version
ID Name                   Library      Description                         Type   Version     
ID Name     Qual PRI Capability Device Type
ID Name                                Type   
IdnToAscii
IdnToNameprepUnicode
IdnToUnicode
IDriveCollection
IDriverControl
IDriverController
IDriveWW
IDspBlob
IDspPackageCreator
iDt!@8iAr
iDt"D8yAr
iDtG@8iArA
IDynamicFrameRateControlX4
IEasingFunction
IEndpointActionScheduler
IEndpointDeviceManager
IEndpointMigrationErrorReportingPolicy
IEndpointMigrationStateMachine
IEnumerable
IEnumerator
ieq-amount
ieq_amount
ieq_bands
ieq-bands-set
ieq-enable
ieq_enable
iertutil.dll
IETM not found
IETM path too long
IExecutingAssemblyFactory
IFarfieldClient
IFeature
ife.daolniw
ife.rgmtoob
ife.wfgmtoob
IFileCollectionWl
 i file originali sono stati sostituiti da applicazioni non autorizzate.
ifilesearch.h
IFileSystemW
IFileWWWl
If-Modified-Since
if_nametoindex
                                        If no arguments are specified for start
If-None-Match: ""
(if non-rotational disk) 
IFormatProvider
IfsUtil.dll
If-Unmodified-Since
             If you want to change the Windows User Account Control level replace the 
IGamutCompressionWWW
igccservice
IGCC Service
IGCCService
igfxCUIServiceLibWWW
IGFX_DISPLAYTYPE
IGFX_DISPLAYTYPE_Built_In_DisplayWWW
IGFX_DISPLAYTYPE_DISPLAYPORT
IGFX_DISPLAYTYPE_HDMIWWW
IGFX_DISPLAYTYPE_LFP
IGFX_DISPLAYTYPE_WIRELESS_DISPLAYWWW
IGFX_DP_AUX_INFOd
IGFX_DP_DISPLAYWx
IGFX_DP_RELATIVE_ADDRESS
IGFX_DP_TOPOLOGY_PORTWWW
igfxEMLibWWW
IgfxExt 1.0 Type LibraryWW
IGFX_PORT_TYPESWd
IGFX_POWER_STATE_DATAWWW
igfxSDKLibWW
IGfxSDKWX
[IGFX_SMARTFRAME_INFO
IGFX_TIMING_STANDARD_GTF
Ignore chunked response-body
    --ignore-content-length
ignore-content-length
Ignore session cookies read from file
Ignores instruction to use SSLv2
Ignores instruction to use SSLv3
IgnoreStartupConditionsName
Ignore the size of the remote resource
Ignoring duplicate digest auth header.
Ignoring the response-body
IGraphicsOutputProtocolW4:
igtAvailable
IGT_DELETING_REGISTRY_VALUE_ERROR
IGT_DRIVER_REQUIREMENTS_NOT_MET
IGT_ENABLING_ERROR
IGT_ENABLING_REGISTRY_VALUE_ERROR
IGT_GENERIC_ALREADY_ENABLED
IGT_LIBRARY_DESCRIPTION_INCOMPLETE
IGT_LIBRARY_DESCRIPTION_NOT_FOUND
IGT_LIBRARY_NOT_FOUND
IGT_MANAGER_DLL_NOT_FOUND
IGT_NOT_ENABLED
IGT_PROFILED_ALREADY_ENABLED
IHost_ClassWH
IIDFromString
(IIFIIFAFAADA888
iiiit D;
IInformation4:
IInstanceEnforcer
IIntelClientProxy
IIntelIOCTLControl
IIntelListenerControl
IIntelMultiPaSetupProxy
IIntelWovControl
IIntelWovSdk
IIntelWovSdkControl
I_InvokeCommand
IIoctlControlFactory
IIoctlManager
IIpcResponder
iis_binding.h
iis_cert.h
iis_deploy.h
iis_error.h
iis_manager.cpp
iis_manager.h
iis_metadata_mgr.cpp
iis_metadata_mgr.h
iis_monitor.cpp
iis_monitor.h
iis_msdeploy.cpp
iis_msdeploy.h
iis_msdeploy_iis6_provider.cpp
iis_msdeploy_iis6_provider.h
iis_msdeploy_iis7_provider.h
iis_msdeploy_provider.h
iis_msdeploy_wrapper.cpp
iis_msdeploy_wrapper.h
iis_prereqs.h
IIsPurgeAborted
iis_registrator.cpp
iis_registrator.h
iis_runtime.cpp
iis_runtime.h
iis_utils.cpp
iis_utils.h
iis_ve_wrapper.cpp
iis_ve_wrapper.h
iis_visualizer.cpp
iis_visualizer.h
iis_wmi_provider_6.cpp
iis_wmi_provider_6.h
iis_wmi_provider_7.cpp
iis_wmi_provider_7.h
iis_wmi_provider.h
IIWWZZRR
IKsPropertyWrapper
Il?333333c?
illegal applet UUID length
illegal byte sequence
Illegally formatted content-type field!
Illegally formatted input field!
Illegal or missing hexadecimal sequence
Illegal port number in EPSV reply
Illegal STS header skipped
illegal use of spooler applet UUID
ILogEntry
ILogProvider
*ILSPCONSvcCOMChanneld
IMachineInformationManager
imageCubeArray
imagehlp.dll
imageIdentifier
imagelessFramebuffer
ImageList_Add
ImageList_AddMasked
ImageList_Create
ImageList_Destroy
ImageList_ReplaceIcon
Image_Load
Image_Load_V2
imageName
__ImagePolicyMetadata
imageSize
ImageSource
IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
IMAGE_TILING_LINEAR
IMAGE_TILING_OPTIMAL
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
IMAGE_USAGE_SAMPLED_BIT
IMAGE_USAGE_STORAGE_BIT
IMAGE_USAGE_TRANSFER_DST_BIT
IMAGE_USAGE_TRANSFER_SRC_BIT
IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR
Image_V0
Image_V0_Load
Image_V1
Image_V1_Load
Image_V2
imageView2DOn3DImage
imageViewFormatReinterpretation
imageViewFormatSwizzle
imanifest_reader.h
IMAP protocol options
ImcEvent
ImcInstallerService
ImcInstallerServiceName
ImControllerCommands
ImControllerCoreDataFolder
ImController.InfInstaller
ImController.InfInstaller.exe
_imControllerInstaller
ImControllerService
ImControllerServiceDescription
ImControllerServiceDisplayName
ImControllerServiceName
_imControllerServiceProcessInstaller
ImDriverFileList
ImDriverId
ImDriverIdV2
IMDRIVER_INF_FILE_NAME
IMergableNotification
IMicrophoneAccessVerifier
IMicSelBlobComposer
IMM32.dll
IMMDevice
IMMDeviceCollection
IMMDeviceEnumerator
ImmDisableIME
Immersive
IMMNotificationClient
_immutableDirPath
ImmutableDirType
IModeManager
ImpersonateAsLoggedOnUser
ImpersonateAsLoggedOnUserResult
ImpersonateLoggedOnUser
ImpersonateLoggedOnUser failed
ImpersonateSelf
impersonation.cpp
impersonation.h
impersonator.cpp
impersonator.h
impersonatormock.cpp
impersonatormock.h
impersonatortests.cpp
implementationAcid
implementation version
implementationVersion
importfuzzer.cpp
ImportTarget
IMultiPaModelsExplorer
IMultiPpDllController
IMultiPpDllControllerV2
InAppBinding
InAppBindingDefinition
InAppLicenses
InAppLicensesType
InAppPurchases
InAppPurchasesType
inappropriate io control operation
InAppType
INarrowGamut
InAuthBufferSize
inBaseType
inboxAppMB
#include "afxres.h"
_includeHwKws
Include protocol response headers in the output
includesubdomains
incompatible version
INCOMPLETE
Incomplete data structure. 
incomplete distance tree
incomplete dynamic bit lengths tree
incomplete UTF-8 string; last byte: 0x
Inconclusive
Inconsistent state data size in wnf_query
incorrect data check
Incorrect Expiration Option - cannot calculate expiration date
incorrect header check
INCORRECT_INPUT
INCORRECT_RUNNER_PATH
IncreaseDriveContributionInList
IncreaseDriveContributionInLunList
?_Incref@facet@locale@std@@UEAAXXZ
IncrementPackageStatusVersion
IncrementRefCnt
IncrementResponseCount
INDEPENDENT_AUDIOWWW
independentBlend
independentResolve
independentResolveNone
index.cpp
index.hpp
                                              index - Index of the KPE based on
IndexInDisplaysArray
Indexing
Index missing TAG_INDEX_BITS
Index missing TAG_INDEX_KEY
Index missing TAG_INDEX_TAG
IndexOfAny
indexTypeUint8
indexWWW
IndexWWW
IND)ind)
IND)ind)COMSPEC
IND)ind)S
inet_pton
InetThreadFunc() aborted.
InetThreadFunc() aborted. No connection
InetThreadFunc() no download success.
INetworkAgent
InfiniteTimeSpan
InfInstallerSource
InfInstallerSourcex86
INFINSTALL_PROGRESS_DELAY_MS
InflateRect
influence
info                                     Get Kernel Version
INFO Message(3)
Information
INFORMATION_ERROR_CODESWP
INFORMATION_GET_CHIPSET_FAILEDWW
INFORMATION_GOP_GET_FAILEDWWP
InformationLevel
|INFORMATION_SUCCESSWP
INFORMATION_VBIOS_NOT_ACTIVEP
InformationW
InfUninstallation
	Inherited
inheritedConditionalRendering
inheritedQueries
InhibitOldImcInstaller
Inhibit using EPRT or LPRT
Inhibit using EPSV
iniparser_mock.hpp
inisearch.hpp
inisearch_test.cpp
InitArgs() bad PBKFILE - no backslash.
InitArgs() bad PBKFILE - no dot.
InitArgs() can't give both a profile and a URL on the command line.
InitArgs() invalid parameter.
InitArgs() must give AF_URL on command line when AF_NO_PROFILE is given.
InitArgs() must use AF_NO_PROFILE if no profile given on command line.
InitArgs() URL expected after AF_URL flag.
?Init@BuiVolume@@QEAAJPEAG@Z
?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBD@Z
?Init@CmLogFile@@QEAAJPEAUHINSTANCE__@@HPEBG@Z
InitCommonControlsEx
?Init@ConfigPolicyAgent@@QEAAXXZ
Init (EPID cert provisioning) transaction failed with error:
Init(EPID cert provisioning) transaction failed with error : 
Init failed - cannot find applet repository directory. Searched location:
Init failed - setAppletsFolder failed.
Init failed - setServiceFolder failed.
Init failed - the service file location does not exist
InitGadgets
Init HeciWin client for FST
Init HeciWin client for FW_UPDATE
Init HeciWin client for MKHI
Init HeciWin client for PAVP
Init HeciWin client for PTHI
Initial Complete
InitialiseAllPortIndexCaches
InitialiseControllerIndexCache
InitialiseDriveIndexCache
InitialiseLunIndexCache
InitialiseLunPlexIndexCache
InitialisePathIndexCache
InitialisePortIndexCache
InitialiseStoragePoolIndexCache
InitialiseStoragePools
InitialiseSubsystemIndexCache
InitialiseSubsystems
InitialiseTargetIndexCache
InitialiseTPGroupIndexCache
InitialiseTPortalIndexCache
Initialization of TPM communication channel procedure
Initialization procedure finished.
Initialization successfull with version: 
InitializationTime
Initialize
InitializeAcl
InitializeActivity
InitializeAGS
?Initialize@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
InitializeArray
?Initialize@ARRAY@@QEAAEKK@Z
InitializeBuffer
InitializeBufferMethod
?Initialize@BYTE_STREAM@@QEAAEPEAVSTREAM@@K@Z
?Initialize@CDriveConfiguration@@QEAAJPEBU_BDECFG_PARAMS@@QEAU_BDECFG_SIZE_REQUIREMENTS@@PEAVIConfigurationProgress@@@Z
?Initialize@CHKDSK_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
?Initialize@CLASS_DESCRIPTOR@@QEAAEPEBD@Z
InitializeCOM
InitializeComponent
InitializeConditionVariable
InitializeCriticalSection
InitializeCriticalSectionAndSpinCount
InitializeCriticalSectionAndSpinCount failed with error: 
InitializeCriticalSectionEx
_initializedEvent
?Initialize@DP_DRIVE@@QEAAEPEBVWSTRING@@PEAVMESSAGE@@EE@Z
?Initialize@FLAG_ARGUMENT@@QEAAEPEAD@Z
InitializeForRequests
?Initialize@FSN_FILTER@@QEAAEXZ
?Initialize@FSTRING@@QEAAPEAVWSTRING@@PEAGK@Z
?Initialize@HMEM@@QEAAEXZ
InitializeKsControl
InitializeLogTiming
?Initialize@LONG_ARGUMENT@@QEAAEPEAD@Z
InitializeMethod
?Initialize@MOUNT_POINT_MAP@@QEAAEXZ
?Initialize@MULTIPLE_PATH_ARGUMENT@@QEAAEPEADEE@Z
_initialize_narrow_environment
InitializeObject
InitializeOfflinePackage
_initialize_onexit_table
?Initialize@PATH_ARGUMENT@@QEAAEPEADE@Z
?Initialize@PATH@@QEAAEPEBGE@Z
?Initialize@PATH@@QEAAEPEBV1@E@Z
?Initialize@PATH@@QEAAEPEBVWSTRING@@E@Z
InitializePipeClient
InitializePipeServer
InitializeProcThreadAttributeList
?Initialize@PROGRAM@@QEAAEKKK@Z
?Initialize@REST_OF_LINE_ARGUMENT@@QEAAEXZ
InitializeSecurity...
InitializeSecurityContext
InitializeSecurityDescriptor
InitializeSecurityDescriptor failed
InitializeSecurityDescriptor failed: err: 
|	?Initialize@Selector@DirectUI@@QEAAJPEAVElement@2@PEAK@Z
InitializeSid
InitializeSListHead
InitializeSRWLock
?Initialize@STREAM_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
?Initialize@STRING_ARGUMENT@@QEAAEPEAD@Z
initializetests.cpp
	?Initialize@TouchButton@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
_initialize_wide_environment
?Initialize@WSTRING@@QEAAEPEBDK@Z
?Initialize@WSTRING@@QEAAEPEBGK@Z
?Initialize@WSTRING@@QEAAEPEBV1@KK@Z
Initializing  server...
initials
InitialStartupCmdScriptFilename
InitialStartupCmdValueName
InitiateDisplayChangeWWWd
InitiatePowerChangeW
InitiateShutdownW
InitiateSystemShutdownExW
InitiateSystemShutdownW
Initiator
INITIATOR must be specified
InitInstance() RegisterWindowMessage() failed.
?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z
InitLocalMsCtfMonitor
InitNetworkAddressControl
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceGetStringTableOffset
InitOnceGetStringTableOffset succeeded but failed to find string table
InitOnceScanIndexes
InitProcessPriv
InitPropVariantFromBuffer
InitPropVariantFromCLSID
InitPropVariantFromFileTimeEx
InitPropVariantFromInt32Vector
InitPropVariantFromSystemTimeEx
InitResourceReader
InitRpcLauncherDll
InitRpcServer
InitSecurityInterfaceA
InitSupportedUICulture
InitSvcForRunasApp
_initterm
_initterm_e
InitThread
InitTime
InitVariantFromBuffer
inlinefuncs.h
inlineUniformBlock
In-Motion event detected
innerException
*INoiseReductionW
INotificationHandler
INotifyPropertyChanged
In page exception error while trying to write XML file
InprocHandler
InprocHandler16
InprocServer
InprocServer16
InputArguments
input buffer
_inputBuffer
_inputBufferSize
_inputBufSize
input_channel_count_
_inputContainerSize
_inputData
_inputDataLength
input_format_
input parameter is NULL
Input Parameter is NULL
INPUT_RANGE_DRIVER_FULLW
INPUT_RANGEW
InputRangeWW
input_reference_level
_inputStartPositionInBuffer
inputStarvation
inputString
insecure
InsertBOOLInMap
	?Insert@Element@DirectUI@@UEAAJPEAPEAV12@II@Z
InsertGUIDInMap
InsertListItem
InsertMenuW
InsertMode
InsertRange
InsertStatusListItem
InsertStringInMap
InsertSubMapInMap
InsertTypeVectorInMap
in SessionsManager constructor
in SessionsManager destructor
InstallationLocator
installationreportpage.cpp
InstallCertificateWithScepHelper
InstallColorProfileW
InstallCompleteEvent
InstallDateW
Install dateWW
InstallDevice
InstallDir64
Installed location
InstalledLocationWWW
InstallerCollection
Install error: Couldn't change the description
Install error: Couldn't set the service to delayed auto-start.
InstallEventArgs
InstallEventHandler
InstallException
Install failed: service already exist.
INSTALLFLAG_FORCE
InstallFlags
InstallFromRegEntries
InstallFromRegEntriesStart
InstallFunction
InstallHelper
InstallHinfSectionW
Installing the Spooler...
    install           Installs the helper service.
InstallPackagesWithReboot
installpage.h
installRebootPackages
InstallServerCertificates
InstallService
installsetupactions.cpp
installsetupactions.h
InstallStart
InstallStatus
InstallStop
InstallSubscription
installtask.cpp
installtask.h
installutils.cpp
installutils.h
installvfs.cpp
installwizard.cpp
installwizard.h
installwzrd2dlg.cpp
_instance
Instance
instance already set
_instanceContainer
InstanceContainer
_instanceEnforcer
InstanceId
Instance Layers
_instanceMemory
instantaneousPower
InstantiateAssemblyAndInvoker
InstantiationTime
_instListSem
insufficient memory
InsufficientResources
__int128
INT32       iExpiration;
Int32Rect
INTC1040
INTC1043
INTC1044
INTC1045
INTC1047
INTC1050
IntcAudioTypes
int             CertIndex;
Intc_IsSupported
IntcKpDataEntry
Intc_WOV_API_MAX_Mode
Intc_WOV_API_Mode
Intc_WOV_API_Mode_Intel
Intc_WOV_API_Mode_Windows_VAD
INT_DP_APORTd
INT_DP_CPORTd
INT_DP_EPORTd
INT_DP_FPORTd
INT_DVIPORTWd
integerDotProduct16BitMixedSignednessAccelerated
integerDotProduct16BitSignedAccelerated
integerDotProduct16BitUnsignedAccelerated
integerDotProduct32BitMixedSignednessAccelerated
integerDotProduct32BitSignedAccelerated
integerDotProduct32BitUnsignedAccelerated
integerDotProduct4x8BitPackedMixedSignednessAccelerated
integerDotProduct4x8BitPackedSignedAccelerated
integerDotProduct4x8BitPackedUnsignedAccelerated
integerDotProduct64BitMixedSignednessAccelerated
integerDotProduct64BitSignedAccelerated
integerDotProduct64BitUnsignedAccelerated
integerDotProduct8BitMixedSignednessAccelerated
integerDotProduct8BitSignedAccelerated
integerDotProduct8BitUnsignedAccelerated
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating16BitSignedAccelerated
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating32BitSignedAccelerated
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating64BitSignedAccelerated
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating8BitSignedAccelerated
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
IntegerToVisibilityConverter
integral cannot be stored in charT
integral cannot have a precision
IntegratedArraySelectionPolicy
integration_backup_store.cpp
integration_backup_store_tests.cpp
integration_cleanup_registry_access.cpp
integration_command.h
integration_commands.cpp
integration_errors.h
integration_main.cpp
integrationmanageradapter.cpp
integration_manager.cpp
integration_manager_factory.cpp
integration_manager_factory.h
integration_manager.h
integrationmanagertests.cpp
integration_ownership_store.cpp
integration_ownership_store_tests.cpp
integration_package_store.cpp
integration_package_store_tests.cpp
integration_registry_access.cpp
integration_rpc_client.hpp
integration_rpc_task.hpp
integration_status_store.cpp
integration_status_store_tests.cpp
integration_store_utils.cpp
integration_store_utils.h
integration_store_util_tests.cpp
integration_subsystem_data.h
integration_utils.cpp
integrity
IntelAca.DataTypes
IntelAca.Extensions
INTEL_AUDIO_API_VERSION_MAJOR
INTEL_AUDIO_API_VERSION_MINOR
IntelAudioService
IntelAudioService.Aca
IntelAudioService.Aca.AcaDetectorDll
IntelAudioService.Aca.AcaRequest
IntelAudioService.Aca.AcaStreamManagement
IntelAudioService.Aca.AcaStreamManagement.StreamConfigurators
IntelAudioService.Aca.Capability
IntelAudioService.Aca.DataTypes
IntelAudioService.Aca.EndpointManagement
IntelAudioService.Aca.Feature
IntelAudioService.Aca.KsProperty
IntelAudioService.Aca.Notification
IntelAudioService.Aca.Proxy
IntelAudioService.Aca.Registry
IntelAudioService.AudioService.resources
IntelAudioService.ConfigurationComposers
IntelAudioService.Controllers
IntelAudioService.Controllers.IoctlControl
IntelAudioService.Controllers.PreProcessingControl
IntelAudioService.Controllers.PreProcessingControl.Configuration
IntelAudioService.Controllers.RegistryControllers
IntelAudioService.Controllers.StreamAndNotifications
IntelAudioService.Controllers.StreamConfigurators
IntelAudioService.ControlModuleWrapper
IntelAudioService.ControlModuleWrapper.Core
IntelAudioService.ControlModuleWrapper.Core.DriverControl
IntelAudioService.ControlModuleWrapper.DllClientWrapper
IntelAudioService.ControlModuleWrapper.Farfield
IntelAudioService.ControlModuleWrapper.Ioctl
IntelAudioService.ControlModuleWrapper.WovControl
IntelAudioService.Core
IntelAudioService.Core.Builders
IntelAudioService.Core.Controllers
IntelAudioService.Core.Controllers.DriverControl
IntelAudioService.Core.Controllers.EndpointControl
IntelAudioService.Core.Controllers.RegistryControl
IntelAudioService.Core.Controllers.StorageControl
IntelAudioService.Core.Controllers.StreamAndNotificationsControl
IntelAudioService.Core.Controllers.StreamControl
IntelAudioService.Core.DataTypes
IntelAudioService.Core.DriverRelatedStuff
IntelAudioService.Core.EndpointManagement
IntelAudioService.DataTypes
IntelAudioService.DataTypes.ComInterfaces
IntelAudioService.DataTypes.ComTypes
IntelAudioService.DataTypes.DvTypes
IntelAudioService.DataTypes.Exceptions
IntelAudioService.DataTypes.FwHeaders
IntelAudioService.DataTypes.ModelInfoTypes
IntelAudioService.DataTypes.OedNotificationTypes
IntelAudioService.DataTypes.PchType
IntelAudioService.DataTypes.Preprocessing
IntelAudioService.DataTypes.RpcTypes
IntelAudioService.DataTypes.StreamingSession
IntelAudioService.DataTypes.WaveHeader
IntelAudioService.EndpointTracking
IntelAudioService.exe
IntelAudioService.Feature
IntelAudioService.Feature.Wov
IntelAudioService.IntelWovSdk
IntelAudioService.Logger
IntelAudioService.Logger.LoggerSettings
IntelAudioService.Misc
IntelAudioService.Misc.AudioSnippet
IntelAudioService.Misc.DirectoryExplorer
IntelAudioService.MultiPa
IntelAudioService.MultiPa.ParametersHandling
IntelAudioService.MultiPa.Strategies
IntelAudioService.MultiPa.WovSessions
IntelAudioService.OedNotifications
IntelAudioService.ProjectInstaller.resources
IntelAudioService.Proxy
IntelAudioService.Proxy.AcaProxy
IntelAudioService.Proxy.ApiVersionSelection
IntelAudioService.Proxy.ClientProxy
IntelAudioService.Proxy.MultiPaSetupProxy
IntelAudioServiceQ
IntelAudioService.RpcService
IntelAudioService.StatisticsReaders
IntelAudioService.StorageControl
INTEL_AUDIO_V2_API_VERSION_MAJOR
INTEL_AUDIO_V2_API_VERSION_MINOR
IntelClientProxyImplementation
	intel.com0
Intel Corporation
Intel Corporation0
Intel Corporation1
Intel Corporation1 0
Intel Corporation1907
 Intel Corporation.  All rights reserved.
		'IntelCpHDCPSvc.EXE'
Intel External Issuing CA 7B
Intel External Issuing CA 7B0
IntelGraphicsAGS
IntelGraphicsAGS.exe
IntelIOCTLSafeHandle
IntelListenerSafeHandle
IntelMultiPaSetupProxyImplementation
INTEL_MULTI_PA_SETUP_VERSION_MAJOR
INTEL_MULTI_PA_SETUP_VERSION_MINOR
IntelNativeWinAPI
Intel Platform License Manager Service [Version: 
IntelPreprocessingConfguration
IntelPTTEKRecertification
IntelPTTEKRecertification: 
IntelPTTEKRecertification already running. Closing this instance...
IntelPTTEKRecertification has been started.
Intel(R) Dynamic Tuning: 
IntelRegistryMethods
Intel(R) Graphics Control Panel
Intel(R) Platform License Manager Service [Version: 
Intel(R) RealSense(TM) 3D Camera Participant
Intel(R) TPM Provisioning Service [Version: 
Intel(R) Trust Services1
IntelSpeechModeDetection
IntelSpeechModeDinged
IntelSpeechModeDingless
IntelSpeechModeSpeechOnly
IntelSstBasicConfiguration
IntelSstBasicConfigurationWrapper
INTEL_SST_BLOB_PARSING_FAILED
IntelSstBurstInput
INTEL_SST_FAILURE
INTEL_SST_FORMAT_MISMATCH
IntelSstInput
INTEL_SST_INVALID_PARAMETER
INTEL_SST_LOCK_TAKEN
INTEL_SST_NOT_ENOUGHT_RESOURCES
INTEL_SST_OPERATION_NOT_SUPPORTED
IntelSstPpConfigFormat
IntelSstPpErrorCodes
IntelSSTPreprocBlobHeader
IntelSstPreProcBurstProcess
IntelSstPreProcGetLatency
IntelSstPreProcGetSize
IntelSstPreProcInitialize
IntelSstPreProcProcess
IntelSstPreProcRelease
IntelSstPreProcReset
IntelSstPreProcSetConfig
IntelSSTPreprocStreamerDllName
INTEL_SST_SUCCESS
INTEL_SST_UNSUPPORTED_FORMAT
Intel TPM Provisioning Service [Version: 
IntelWovModelCfg
IntelWovSafeHandle
INTELWOVSDK_ATTRIBUTE_ACCU_BUFFER_DELAY_ENABLED
INTELWOVSDK_ATTRIBUTE_API_VERSION
INTELWOVSDK_ATTRIBUTE_AUDIO_QUALITY_MIN_UTTERANCE_DURATION_MS
INTELWOVSDK_ATTRIBUTE_AUDIO_QUALITY_NORMALIZATOR
INTELWOVSDK_ATTRIBUTEBIN_COUNT
INTELWOVSDK_ATTRIBUTEBIN_KPD_AM
INTELWOVSDK_ATTRIBUTEBIN_KPD_ENROLLMENT_ZNORM_POPULATION
INTELWOVSDK_ATTRIBUTE_BUILD_VERSION
INTELWOVSDK_ATTRIBUTE_COUNT
INTELWOVSDK_ATTRIBUTE_ENDPOINT_COMPENSATION
INTELWOVSDK_ATTRIBUTE_ENDPOINT_SCORE_STABILITY
INTELWOVSDK_ATTRIBUTE_ENDPOINT_TIMEOUT_IN_MS
INTELWOVSDK_ATTRIBUTE_KPD_THRESHOLD
INTELWOVSDK_ATTRIBUTE_LOG_COMPONENTS
INTELWOVSDK_ATTRIBUTE_LOG_INIT_STRING
INTELWOVSDK_ATTRIBUTE_LOG_LEVEL
INTELWOVSDK_ATTRIBUTE_LPE_CONSTRAINTS
INTELWOVSDK_ATTRIBUTE_MAX_PHRASE_LENGTH
INTELWOVSDK_ATTRIBUTE_OBSOLETE
INTELWOVSDK_ATTRIBUTE_RESET_CONFIGURATION_TO_DEFAULT
INTELWOVSDK_ATTRIBUTE_SESSION_RESET_KPD
INTELWOVSDK_ATTRIBUTE_SILENCE_SCORING_WEIGHT
INTELWOVSDK_ATTRIBUTE_VAD_LEADER
INTELWOVSDK_ATTRIBUTE_VAD_LONG_MEAN_FRAMES
INTELWOVSDK_ATTRIBUTE_VAD_LONG_MEAN_RAMP_FRAMES
INTELWOVSDK_ATTRIBUTE_VAD_LONG_MEAN_SPEECH_UPDATE_FRAMES
INTELWOVSDK_ATTRIBUTE_VAD_MAX_SILENCE
INTELWOVSDK_ATTRIBUTE_VAD_MIN_SPEECH
INTELWOVSDK_ATTRIBUTE_VAD_RANGE
INTELWOVSDK_ATTRIBUTE_VAD_SHORT_MEAN_FRAMES
INTELWOVSDK_ATTRIBUTE_VAD_THRESHOLD
IntelWovSdkComponent
INTELWOVSDK_COMPONENT_ALL
INTELWOVSDK_COMPONENT_KPD
INTELWOVSDK_COMPONENT_MFCC
INTELWOVSDK_COMPONENT_VAD
IntelWovSdkConfigAttribute
IntelWovSdkConfigBinAttribute
IntelWovSDK.dll
IntelWovSdkImport
IntelWovSdkStatus
INTELWOVSDK_STATUS_ALLOWED_MAXIMUM_EXCEEDED
INTELWOVSDK_STATUS_ALREADY_STARTED
INTELWOVSDK_STATUS_INSUFFICIENT_DATA
INTELWOVSDK_STATUS_INVALID_COMPONENT
INTELWOVSDK_STATUS_INVALID_MODEL
INTELWOVSDK_STATUS_INVALID_SESSION
INTELWOVSDK_STATUS_INVALID_SIZE
INTELWOVSDK_STATUS_INVALID_VALUE
INTELWOVSDK_STATUS_NOT_ALLOCATED
INTELWOVSDK_STATUS_NOT_CONFIGURED
INTELWOVSDK_STATUS_NOT_STARTED
INTELWOVSDK_STATUS_OK
INTELWOVSDK_STATUS_OPERATION_FAILED
INTELWOVSDK_STATUS_PACKAGE_SIZE_EXCEEDED
INTELWOVSDK_STATUS_PLATFORM_CONSTRAINTS_UNDEFINED
INTELWOVSDK_STATUS_UNKNOWN_ERROR
INTELWOVSDK_STATUS_UNKNOWN_ID
INTELWOVSDK_STATUS_UNRECOVERABLE_STATE
INTELWOVSDK_STATUS_VERSION_NOT_SUPPORTED
InteractiveW
                    interest. This number can be determined by running
interface
interface.cpp
Interface ptr is NULL
Interface released
interfacetests.cpp
Interface to use for DNS requests
InterfaceTypeAttribute
InterlacedWW
Interlocked
InterlockedFlushSList
InterlockedPopEntrySList
InterlockedPushEntrySList
internal error
Internal Error
internal error: failed to add event data to the session queue
internal error: failed to send event
Internal error occured when trying to update config file.
Internal error: Unexpected packet
InternalName
Internal problem setting up the POST
InternalRenewActivity
internals.cpp
internal_speaker
Internal state machine error
InternetCanonicalizeUrlW
InternetCloseHandle
InternetConnection
InternetCrackUrlW
InternetCreateUrlW
InternetFreeCookies
InternetGetConnectedState
InternetGetCookieEx2
InternetGetCookieEx2() failed
InternetOpenUrlW
InternetOpenW
InternetQueryDataAvailable
InternetReadFile
InternetSetCookieExW
Interrupt
interrupted
Intersect
IntersectRect
interval
Interval time for keepalive probes
INT FveMethod
INT_HDMI_BPORTWWd
INT_HDMI_CPORTWWd
int                         iDeltaCrlIndicator;
int                 iIterations;        
INT_MIPI_APORTWWd
INT_MIPI_CPORTWWd
IntPtrExtensions
int     *rgNoticeNumbers;
introinstallpage.cpp
IntToVisConverter
INT_TVOUTPORTWWWd
invagent.dll
Invalid ACL size
Invalid action : Action function pointer is NULL
Invalid action count (0) returned for ESIF_E_NEED_LARGER_BUFFER
Invalid ansi string
invalid AppId
invalid applet file extension!
invalid applet fw version in DALP file
invalid applet record in DALP file
Invalid applet record in dalp file - failed to get applet version from dalp file.
Invalid applet record in dalp file - failed to get fw version from dalp file.
Invalid applet version in dalp file.
Invalid AppName
invalid argument
invalid_argument
Invalid argument
Invalid arguments
InvalidateControllerCache
invalidated
invalidatedAll
InvalidateRect
InvalidateRgn
invalid bit length repeat
invalid blocksize value in OACK packet
invalid block type
invalid BOM; must be 0xEF 0xBB 0xBF if given
Invalid Buffer Length
Invalid buffer size
Invalid Bus Type
InvalidCastException
Invalid character is found in given range. A specified range MUST have only digits in 'start'-'stop'. The server's response to this request is uncertain.
Invalid Chrome profile folder path
Invalid COM Descriptor virtual address encountered
Invalid Command ID
invalid command: illegal data in request.
invalid command: illegal id in request
invalid const void* type
Invalid Content-Length: value
Invalid COR20 Metadata signature encountered
Invalid COR20 Metadata virtual address encountered
Invalid dalp file extension.
Invalid dalp file received.
Invalid data passed
Invalid destination passed
INVALID_DETECTOR_ARGS
Invalid directory buffer returned
invalid distance code
Invalid driver count (0) returned for ESIF_E_NEED_LARGER_BUFFER
Invalid element path pointer
Invalid element value pointer
InvalidEnumArgumentException
Invalid Event Data Received
Invalid event GUID
Invalid Feature ID
invalid file index
Invalid file index
Invalid file size
Invalid fill (too long).
invalid floating point type
Invalid format string.
Invalid fw version in dalp file.
invalid hash bucket count
Invalid HMAC
Invalid index
invalid integral type
Invalid IPv6 address format
invalid_iterator
Invalid length of the message. Bytes received: 
invalid literal
Invalid loadedLibrariesIterator
invalidmanifestdetector.h
invalidmanifestdetectorut.cpp
Invalid match file length
Invalid MaxPSASize (0)
INVALID_MESSAGE
Invalid message pointer
Invalid message received: 
Invalid message received form client.
Invalid message status. Status: 
Invalid module returned
Invalid namespace pointer
Invalid normalization root type
invalid number; expected digit after '-'
invalid number; expected digit after '.'
invalid number; expected digit after exponent sign
Invalid number of arguments
Invalid number of bytes received.
Invalid number of input arguments
InvalidOperationException
Invalid paramater
Invalid parameter
_invalid_parameter_noinfo
_invalid_parameter_noinfo_noreturn
Invalid parameter passed to C runtime function.
Invalid parameters
Invalid paramter
Invalid participant log target specified. See help for command line usage
Invalid partition table
Invalid path ID in PATHS argument
Invalid PATHS argument
Invalid path size
Invalid path weight in PATHS argument
Invalid pdb
INVALID_PLATFORM_NAME
Invalid pointer returned
INVALID_PROFILE_ID
Invalid protocol version. Version: 
Invalid QQBrowser profile folder path
invalidRectUsed
Invalid request buffer pointer
Invalid response buffer pointer
Invalid sdb lookup buffer request
Invalid sdb lookup total buffer request
invalid seek
Invalid sensor data.
Invalid size passed
Invalid sourceFilePath
invalid stof argument
invalid stoi argument
invalid stol argument
invalid stored block lengths
invalid stoull argument
invalid string: forbidden character after backslash
invalid string: ill-formed UTF-8 byte
invalid string: missing closing quote
invalid string position
invalid string type
invalid string_view position
Invalid system endpoint formfactor!
Invalid template XML (couldn't find root node).
Invalid timeout
Invalid time period attempted for perf state poll. 
Invalid TIMEVALUE
invalid tracelevel
INVALID_TYPE
Invalid TYPE argument
Invalid type specification.
Invalid U1DeviceExitLatency
Invalid U2DeviceExitLatency
Invalid unicode string
invalid UTF-8 byte at index 
Invalid value type
invalid vector subscript
Invalid Vendor Key
Invalid Vendor Signature
invalid window size
InventoryApplication
InventoryApplicationDriver
InventoryApplicationFramework
InventoryDeviceContainer
InventoryDeviceInterface
InventoryDeviceMediaClass
InventoryDevicePnp
InventoryDeviceUsbHubClass
InventoryDriverBinary
InventoryDriverPackage
InventoryFeature specified
InventoryMiscellaneousOfficeAddIn
InventoryMiscellaneousOfficeIdentifiers
InventoryMiscellaneousOfficeIESettings
InventoryMiscellaneousOfficeInsights
InventoryMiscellaneousOfficeProducts
InventoryMiscellaneousOfficeSettings
InventoryMiscellaneousOfficeVBA
InventoryMiscellaneousOfficeVBARuleViolations
InventoryVersion
InvertRect
InvokeAADPinReset
InvokeAGSHostExeRegistryWriteAsync
InvokeAppRequest
InvokeAsync
InvokeDll
InvokeDXDBGPUOverrideAsync
InvokeEventRequest
InvokeFromSettingAfterSignIn
InvokeFromSettingBeforeSignIn
InvokeIfStreamReaderNotClosed
InvokeLocalPinReset
InvokeMainViaCRT
InvokeMember
InvokeMethod
InvokeMSAPinReset
InvokeQueryTeeMetadata ERROR: Invalid params. OutputData or OutputSize are NULL
InvokeRegistryListener
InvokeSecondaryAADPinReset
InvokeUserLogonBackgroundTask
invoking JHI reset
InvStrCmpIW
__iob_func
IO cancelation result: 
IOCTL_ACA_PARAMETER
IOCTL_CMD_APP_TO_AUDIODSP
_ioctlCode
_ioctlControlType
IoctlControlType
ioctl.cpp
IOCTL_FEATURE
IoctlGetTinyParameter
_ioctlHandle
IoctlMethods
IoctlRegistryReaderIsolation
IoctlRegistryReaderIsolationNotSoPerfectImpl
_ioctlRegReader
IoctlSetTinyParameter
ioctlsocket failed with error: 
IOCTL_WOV_PARAMETER
IOedNotificationFactory
io error
IOException
IOModeWW
io_operations.cpp
io_operations.hpp
IoPriority
ios_base::badbit set
ios_base::eofbit set
ios_base::failbit set
iostream
iostream stream error
ipackagepathmanager.h
ipAgoLotuA.refsnarTdnuorgkcaB.enohP.tfosorciM
;IPanelSelfRefreshWWWX4
IParametersHandlingController
ipAstB.refsnarTdnuorgkcaB.enohP.tfosorciM
IPaSubscribeStrategy
IPC API:
ipc_autoconnect
ipccon                                   Force IPC Connect
ipc_connect
ipc_disconnect
ipcdis                                   Force IPC Disconnection
_ipcEnabled
ipc_execute
_ipcResponder
iperformancecounterreader.h
I_PFXDecrypt
I_PFXHMAC
iphlpapi.dll
IPHLPAPI.DLL
IPluginInvoker
IPluginManager
IPowerFeaturesWW
IPowerPlanWW
IPowerWW
IPpConfigurationsControl
IPpConfigurationsControlFactory
IPpDllClient
IPpDllClientWrapper
IPpDllController
IPpDllLoader
IPpDllLoaderV2
IPreprocessingConfiguration
IProcessLauncher
iprocesslauncher.h
IPS specified multiple times
ipublishclient.h
ipublishserver.h
IPv4 address to use for DNS requests
IPv6 address to use for DNS requests
IRegistryReader
ireport.h
IRequestProcessor
I_RpcBindingInqLocalClientPID
I_RpcBindingInqTransportType
I_RpcExceptionFilter
I_RpcMapWin32Status
IRpcServer
IRpolicyTimeWW
irtpsock.cpp
irtpsock.h
irUecruoSderreferPhtiWecruoSoTyalPI.oTyalP.aideM.swodniW
irUlacinonaCetulosbAhtiWssalCemitnuRirUI.noitadnuoF.swodniW
irU.noitadnuoF.swodniW
irY	SMsc
Is32Bits
Is64Bits
isAadUser
IsAcaCapable
IsAccountPasswordless
IsAddressesEmpty
is a directory
IsAllAppsShown
isAllowed
isAllVolumesEnabled
is ambiguous
IsAnotherDmClientRunning
IsAnotherInstanceRunning
IsAnotherInstanceRunningResult
IsAnyFeatureInitialized
IsApiSetImplemented
IsApiSetImplementedExport
?IsArcSystemPartition@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAE@Z
__isascii
IsAssignableFrom
IsAtMetroUI
IsAttach
ISaturationW
is badly used here
 is bigger than buffer size 
IsBitlockerResealNeeded
IsCaptureDevice
IsCharAlphaNumericW
IsClipboardFormatAvailable
IsConnectedStandbyEnabledWWW
IsConnectionAlive() failed. Out of memory
	?IsContentProtected@Edit@DirectUI@@UEAA_NXZ
	?IsContentProtected@Element@DirectUI@@UEAA_NXZ
IsConversionAvailable
?IsConverting@VolumeFveStatus@@QEBA_NXZ
?IsCorrectVersion@SYSTEM@@SAEXZ
IsCortanaCalling
iscriptbuilder.h
iscriptlauncher.h
iscriptmanager.h
ISCSI_ConnectionStaticInfo
ISCSI_IP_Address
ISCSI_LoginOptions
ISCSI_LUNList
ISCSI_Path
ISCSI_PortalInfo
ISCSI_RedirectPortalInfo
ISCSI_RedirectSessionInfo
ISCSI_SessionStaticInfo
ISCSI_Supported_LB_Policies
ISCSI_TargetMapping
ISCSI_TargetPortal
ISCSI_TargetPortalGroup
?IsCsvMetadataVolume@VolumeFveStatus@@QEBA_NXZ
?IsCurrentPINEnhanced@BuiVolume@@QEAAJPEAH@Z
IsDBCSLeadByte
IsDBCSLeadByteEx
isDeadlineEnabled
?IsDEAutoProvisioned@VolumeFveStatus@@QEBA_NXZ
IsDebuggerPresent
?IsDecrypted@VolumeFveStatus@@QEBA_NXZ
?IsDecrypting@VolumeFveStatus@@QEBA_NXZ
_isDefault
isDefault
_isDefaultConfig
IsDefined
           is designed to work with. Uncomment the appropriate elements and Windows will 
IsDeveloperModeEnabled
IsDeviceChannel
IsDialogMessageW
IsDirectoryValid
?IsDisabled@VolumeFveStatus@@QEBA_NXZ
IsDisplayLanguageEnUs
IsDlgButtonChecked
isDomainUser
isDontMigrateTask
IsDotNetVersionInstalled
)IsDownScalingSupportedWW
?IsDrive@PATH@@QEBAEXZ
?IsDriveTypeHDD@HardDiskInfoCollector@StorageCollector@@SA_NXZ
?IsEDriveVolume@VolumeFveStatus@@QEBA_NXZ
IsElevated
_isEmbedded
IsEmbeddedResAvailable
is_enabled
IsEnabled
?IsEncrypted@VolumeFveStatus@@QEBA_NXZ
?IsEncrypting@VolumeFveStatus@@QEBA_NXZ
isEnrolled
IsErrorPropagationEnabled
iservice_config_reader.h
IServiceController
IServiceCore
IServiceEventHandler
iset tiedostot.
isettingsender.h
IsException?
isExcludeEnabled
isExistingUser
_isFarfieldSupported
?IsFatalError@SNAPSHOT@@SAEJ@Z
isFeedbackHubAppInstalled
IsFeedbackHubAppInstalledResult
?IsFileValid@CertificateValidationWrapper@@SA_NPEBG@Z
?IsFrontEndPresent@AUTOREG@@SAEPEBVWSTRING@@0@Z
isGlobal
	?IsGlobal@ClassInfoBase@DirectUI@@UEBA_NXZ
IsGloballyPublishedW
?IsGuidVolName@PATH@@QEAAEXZ
 is higher than the window's level of 
isHighPriority
isHwAvailable
IsIconic
isImpersonating
IsInAutoCommitMode() called but !db.IsOpen()
IsInboxPackage
ISinglePaModelsExplorer
IsInitializationSucceed
_isInitialized
IsInRole
_isInStandby
IsIntegratedArray
IsIntegratedGloballyd
IsIntegratedToUserWW
' is invalid
IsIsolationOsVersion
IsItemsHost
IsKeyboardFocused
isLangugeSupported
isLaunching
IsLegacyLanguagePackInstalledForLanguage
IsLegacyLoaded
?IsLocked@VolumeFveStatus@@QEBA_NXZ
IsLogEntryValid
IsLoggingEnabledForSeverity
isLogoff
IsLogonAsSystem
IsLpCapable
IsLpCapableDevice
IsLpPpCapable
_isMandatory
_ismbblead
IsMiracastSupportedByWlan
IsModelPathValid
	?IsMSAAEnabled@HWNDElement@DirectUI@@UEAA_NXZ
IsNewDeviceInstallInProgress
ISnippetWriter
' is not a number
) is not a valid GPU index. 
 is not present in fTPM NV RAM.
 is not supported by FW
IsNullOrEmpty
IsNullOrWhiteSpace
IsOffload
?isOK@ComInit@UDC@@QEBA_NXZ
isolated_band
IsolationAware function called after IsolationAwareCleanup
IsolationCoreStorageController
IsolationMinOsBuild
IsolationMinOsVersion
IsolationServiceBuilder
?IsOn@VolumeFveStatus@@QEBA_NXZ
?IsOsCriticalVolume@VolumeFveStatus@@QEBA_NXZ
IsOSReadyForUser
?IsOsVolume@VolumeFveStatus@@QEBA_NXZ
 is out of range
) is out of range
IsPackageApplicable
IsPackageDownloaded
IsPackageGroupInUseWd
IsPackageInstalled
?IsPartiallyConverted@VolumeFveStatus@@QEBA_NXZ
IsPaSupported
?IsPaused@VolumeFveStatus@@QEBA_NXZ
_isPersistent
IsPhoneOS
IsPowerManagmentApiSetImplemented
IsPowerManagmentApiSetImplementedExport
IsPpCapable
_isPreprocessingEnabled
IsPreprocessingEnabled
?IsPreProvisioned@VolumeFveStatus@@QEBA_NXZ
 is present. Abandoning recertification.
#	isprint
IsProcessInJob
IsProcessInWDAGContainer
IsProcessorFeaturePresent
(IsPublishedW
IsPwrHibernateAllowed
IsReadyW
IsRectEmpty
IsRenewal
IsRequired
IsResponseDuplicateOfLastResponse
isRestored
?IsRoamingDevice@VolumeFveStatus@@QEBA_NXZ
IsRootFolder
	?IsRTLReading@Element@DirectUI@@UEAA_NXZ
                    is run.
ISR_Unexpected
IsScriptSecure
isSecurePrompt
?IsSecure@VolumeFveStatus@@QEBA_NXZ
IsSelected
isServer
IsServiceConfiguredForDelayedStart
_isSetup
isSheduled
IsSideloadingEnabled
isSilentElevation
IsSpeechModeSupported
is_srjournal_enabled
isStartWaitTask
IsStoreAppPackageInstalled
IsStreamSuspended
	?IsSubclassOf@ClassInfoBase@DirectUI@@UEBA_NPEAUIClassInfo@2@@Z
isSuccess
issuecode.h
IssuedDate
    Issuer
  Issuer
issuerAltName
Issuer check against peer certificate failed
 is supported by FW
IsSupportedUsbDevice
?IsSystemProcess@ProcessWrap@UDC@@SAHXZ
IStandardColorCorrection
    -i                Start framework with client support (Server command only).
isTaskEnabled
IStatisticsReader
IsTeamsInstalledInterface
IsTextUnicode
IsThemeActive
IsThereNewManifest
IsThisOnlyInstance
IsThreadpoolTimerSet
isTieringPolicyEngine
        is to add loadFrom attribute in manifest file. This prevents dll highjacking attack.
IStorageProvider
IStorageProvidersFactory
IStorageProvidersManager
IstorageReserveAfter
IStreamAndNotificationReader
IStreamAndNotificationsManager
IStreamConfigurator
IStreamController
istream.cpp
istream.h
IStreamingClient
IStreamingManager
IStreamingManagerFactory
istreaminguxprocessapi.h
istreaminguxprocess.h
IStream_Read
IStreamReader
IStream_Reset
IStream_Size
is_triggers_enabled
ISubscriptionManager
IsUninstallImageValid
is unknown
IsUnknownError
?IsUnknownFveVersion@VolumeFveStatus@@QEBA_NXZ
ISunlightReadAbilityX4
isUpgradedInstallation
ISupportInitialize
IsUserAdmin
isUserAnAdmin
IsUserInteractive
isUserSwitch
isValidAccelerometerEventType
IsValidCodePage
isValidFaceDetectionEventType
IsValidLanguageGroup
IsValidLocale
IsValidLocaleName
isValidMotionSensorEventType
IsValidPluginLocation
	?IsValidProperty@ClassInfoBase@DirectUI@@UEBA_NPEBUPropertyInfo@2@@Z
isValidProximitySensorEventType
IsValidSecurityDescriptor
IsValidSid
IsValidUser
?IsValueSet@ARGUMENT@@QEAAEXZ
IsVantageLaunchedAfterOOBERegistered
isvapi.cpp
isvapi.h
isvapirc.h
isvapitests.cpp
isv_appvlp_process_notifier.cpp
isv_client_session.h
isvhost.cpp
isvhost.h
isvhosttests.cpp
isvhosttests.h
IsVisible
isv_notification_listener_impl.cpp
isv_notification_listener_impl.h
isvnotificationlistenertest.cpp
IsVolatile
?IsVolumeDirty@IFS_SYSTEM@@SAEPEAVWSTRING@@PEAE1PEAJ@Z
isv_package_config_impl.h
isvparameters.cpp
isvparameters.h
isvparameterstests.cpp
isv_policy_adapter.h
isv_process_notifier.cpp
isv_process_notifier.hpp
isv_streaming_manager.cpp
isv_streaming_manager.h
isvstreampolicyadaptertest.cpp
isWaitMethod
iswalnum
iswalpha
iswascii
iswctype
iswdigit
IsWellKnown
IsWindow
IsWindowEnabled
IsWindowsInAuditBoot
IsWindowsSetupComplete
IsWindowVisible
?IsWiping@VolumeFveStatus@@QEBA_NXZ
iswlower
_isWOVEnabled
IsWovEnabled
IsWOVEnabled
IsWovEventValid
IsWovFeatureSupported
IsWovSupported
IsWOVSupported
IsWow64Process
IsWPTestEkuSigningAllowed
iswspace
iswupper
iswxdigit
isxdigit
IsZoomed
iTARGET_TYPEW
ITaskService::Connect failed: 
ITContentTypeWWWX
iterator does not fit current value
Iterator invalid
Iterator is invalid
iterator out of range
ITextStreamW
_ITheEventManagerEventsW
ITheIntelALSRadarWWW
ITheIntelSmartFrameW
ITheLaunchTimeEnhancerWW
iTimePrefix
ITLUMRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ITotalColorCorrectionWWW81
ITypeDescriptorContext
ITypeLib
IUA WS connection error
IUA WS connection SSL error
IUdcPluginHostImpl
IUerutpaCaremaC.erutpaC.aideM.swodniW
IUerutpaCaremaCI.erutpaC.aideM.swodniW
IUgarDI.lmaX.IU.swodniW
IUgarD.lmaX.IU.swodniW
IUgnitsacdaorBppA.gnitsacdaorBppA.aideM.swodniW
IUgnitsacdaorBppAI.gnitsacdaorBppA.aideM.swodniW
IUllaCneercSkcoLI.sllaC.ledoMnoitacilppA.swodniW
IUllaCneercSkcoL.sllaC.ledoMnoitacilppA.swodniW
IumSdk.dll
IUnknown_QueryService
IUnknown_Set
IUnknown_SetSite
IUoN8VemiTefiLpaM.slortnoC.spaM.enohP.tfosorciM
IUoNledoMpaM.slortnoC.spaM.enohP.tfosorciM
IUpdateManager
IUrekciPevaSeliFI.redivorP.srekciP.egarotS.swodniW
IUrekciPevaSeliF.redivorP.srekciP.egarotS.swodniW
IUrekciPnepOeliFI.redivorP.srekciP.egarotS.swodniW
IUrekciPnepOeliF.redivorP.srekciP.egarotS.swodniW
IUrekciPtcatnoCI.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
IUrekciPtcatnoC.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
IUretadpUeliFdehcaCI.redivorP.egarotS.swodniW
IUretadpUeliFdehcaC.redivorP.egarotS.swodniW
IUserInformationProvider
IUserNotification
iusl::DeviceManagerWrapper::GetDeviceList
iusl::HKeyContainer::DisplayRegistryError
iusl::HKeyContainer::GetDeviceHKEY
iusl::HKeyContainer::GetValueDword
iusl::HKeyContainer::GetValueString
iusl::HKeyContainer::HKeyContainer
iusl::HKeyContainer::InitFromString
iusl::HKeyContainer::SubKeyExists
iusl::MalCommandLocal::ExecuteInternal
iusl::MalCommandLocal::ExecuteInternalWithRetries
iusl::MalCommandLocal::Initialize
iusl::Thread::theThreadFunc
iusl::utils::GetErrorString
IUsnoitpOaremaC.erutpaC.aideM.swodniW
IValueConverter
IVideoColorWp0
;IVideoScalingWWW|.
IVirtualDisplayW
ivitetty tai muokattu.
i	wcscat_s
IWebProxy
IWideGamutWWl 
IWovConfiguration
IWovConfigurationObjectComposer
IWoVDestroySession
IWovFeature
IWoVInit
IWoVInitSession
IWovModelsController
IWovNotificationReader
IWovNotificationReaderFactory
IWoVPrepareLpeData
IWoVReset
IWovSession
IWovSessionManager
IWoVSetAttribute
IWoVSetBinAttribute
IWoVSetModel
IWoVSetModelThreshold
IWSHNamedArgumentsWW
IWSHUnnamedArguments_ClassWW
IxvYCCWWx
IYCbCrWW
J(((((-0266G4
JanFebMarAprMayJunJulAugSepOctNovDec
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
.JBT[gL3
JCHIPSET_FAMILY_KBL_MOBILEWWW
	jcSTG')
J;D10t	H
JD3D_ERROR_CODESW
jD]rp*	X"
JEEEEEEEEEEFC
JEEEEEEEEEEFD
JEFEEEEEEEEEB
Jersey City1
jffgfffHgggfggMQggggggggggggggggg
jgspackage.cpp
jgspackage.h
jgssession.cpp
jgssession.h
jgsutil.cpp
jgsutil.h
jhBdeUIContextTriggerW
JHHGGGGGGGGHI
JHI_APPLET_FATAL
JHI_APPLET_NOT_INSTALLED
JHI_APPLET_PROPERTY_NOT_SUPPORTED
JHI_APPLET_TIMEOUT
JHI_DELETE_FROM_REPOSITORY_FAILURE
JHI_ERROR_LOGGING
JHI_ERROR_OEM_SIGNING_DISABLED
JHI_ERROR_REGISTRY
JHI_ERROR_REPOSITORY_NOT_FOUND
JHI_ERROR_SD_DB_NO_FREE_SLOT
JHI_ERROR_SD_PUBLICKEY_HASH_FAILED
JHI_ERROR_SD_TA_INSTALLATION_UNALLOWED
JHI_EVENTS_NOT_SUPPORTED
JHI_FILE_ERROR_COPY
JHI_FILE_ERROR_OPEN
JHI_FILE_IDENTICAL
JHI_FILE_INVALID
JHI_FILE_NOT_FOUND
JHI_FILE_UUID_MISMATCH
JHI_FIRMWARE_OUT_OF_RESOURCES
JHI_ILLEGAL_PLATFORM_ID
JHI init failed
JHI_INSTALL_FAILED
JHI_INSTALL_FAILURE_SESSIONS_EXISTS
JHI_INSUFFICIENT_BUFFER
JHI_INTERNAL_ERROR
JHI_INVALID_APPLET_GUID
JHI_INVALID_BUFFER_SIZE
JHI_INVALID_COMMAND
JHI_INVALID_COMM_BUFFER
JHI_INVALID_FILE_EXTENSION
JHI_INVALID_HANDLE
JHI_INVALID_INIT_BUFFER
JHI_INVALID_INSTALL_FILE
JHI_INVALID_PACKAGE_FORMAT
JHI_INVALID_PARAMS
JHI_INVALID_SESSION_HANDLE
JHI_INVALID_SPOOLER
JHI is initialized. Resetting...
JHI_JOM_ERROR_DOWNLOAD
JHI_JOM_ERROR_UNLOAD
JHI_JOM_FATAL
JHI_MAX_INSTALLED_APPLETS_REACHED
JHI_MAX_SESSIONS_REACHED
JHI_MAX_SHARED_SESSION_REACHED
JHI_MISSING_ACCESS_CONTROL
JHI_NO_CONNECTION_TO_FIRMWARE
JHI_ONLY_SINGLE_INSTANCE_ALLOWED
JHI_OPERATION_NOT_PERMITTED
JHI_Plugin_CloseSession start
JHI_Plugin_CloseSpoolerSession start
JHI_Plugin_DeInit start
JHI_Plugin_DownloadApplet start
JHI_Plugin_GetAppletProperty start
JHI_Plugin_Init start
JHI_Plugin_ProvisionOemMasterKey start
JHI_Plugin_QueryTeeMetadata start
JHI_Plugin_SendAndRecv start
JHI_Plugin_SendCmdPkg start
JHI_Plugin_SetTAEncryptionKey start
JHI_Plugin_UnloadApplet start
JHI_Plugin_WaitForSpoolerEvent finished successfully
JHI_Plugin_WaitForSpoolerEvent start
JHI_READ_FROM_FILE_FAILED
jhi reset starting
jhis_create_session: Failed to get applet blobs from dalp file.
JHI_Service: 
JHI service debug trace and release prints are enabled
jhi_service.exe
***JHI_SERVICE- Failed to get heci device handle.
JHI Service installed successfully
JHI_SERVICE_INVALID_GUID
JHI service release prints are enabled
JHI Service removed successfully
JHI Service started successfully
JHI service starting
JHI Service terminated successfully
JHI_SERVICE_UNAVAILABLE
JHI_SESSION_ALREADY_REGSITERED
JHI_SESSION_NOT_REGISTERED
JHI_SHARED_SESSION_NOT_SUPPORTED
jhis_install(): Failed to get applet blobs from dalp file.
JHI_SPOOLER_NOT_FOUND
jhi stopping
***** JHI STOP SERVICE *****
JHI_SUCCESS
JHI_SVL_CHECK_FAIL
JHI_SVN_CHECK_FAIL
JHI_TA_ENCRYPTION_KEY_NOT_SET
JHI_TA_PLATFORM_MISMATCH
JHI unable to get applet property
JHI_UNINSTALL_FAILURE_SESSIONS_EXISTS
JHI_UNKNOWN_ERROR
JHI Unload failed
JHI_VM_DLL_FILE_NOT_FOUND
JHI_VM_DLL_VERIFY_FAILED
jiggeVXa
jigsaw.cpp
jigsawfile.cpp
jigsawfile.h
jigsaw.h
jigsawsftprocessor.stub.cpp
J	?InitPropSheetPage@TaskPage@DirectUI@@MEAAXPEAU_PROPSHEETPAGEW@@@Z
jitv_deployment.cpp
jitv_deployment.h
jitv_manager.cpp
jitv_runtime.cpp
jitv_runtime.h
jitv_server.cpp
JJIIIIJIIIIJJ
JJJJJJJJJHGM
.jkt?kaS
jmMNa	0M
# #J#O#]#|#
JOM delete success
Jos haluat p
 jour" ci-dessous afin d'ouvrir le Gestionnaire clavier.
journal_mode
journal_size_limit
 jour ou modifi
jpapp.cpp
JsonConvert
[json.exception.
Json not parsed
JSON patch must be an array of objects
JSON pointer has no parent
jStart af f
JSUNLIGHTREADABILITY_SET_FAILEDWW 
junk-session-cookies
_JVd[);K0
j	wcschr
JWWVDrpo
JXDHw.R8
K32EnumProcesses
K32EnumProcessModules
K32GetModuleBaseNameW
K32GetModuleInformation
K32GetPerformanceInfo
K32GetProcessImageFileNameA
K32GetProcessImageFileNameW
K7dwOperatingModeW
K8f9)v!H
K98f*#hH
K 9N v@H
KabyLake
kaerBaideMI.kcabyalP.aideM.swodniW
kaerBaideM.kcabyalP.aideM.swodniW
kaerBeniLI.stnemucoD.lmaX.IU.swodniW
kaerBeniL.stnemucoD.lmaX.IU.swodniW
KBDMgrAppName
KBDMGRInstallRelPath
KblMicSelBlobComposer
kcabdeeFrellortnoCscitpaHelpmiSI.scitpaH.seciveD.swodniW
kcabdeeFrellortnoCscitpaHelpmiS.scitpaH.seciveD.swodniW
kcabllaCdegnahCneercSlluF.slortnoC.enohP.tfosorciM
kcabllaCdegnahCytreporP.lmaX.IU.swodniW
kcabllaCdegnahCytreporPycnednepeD.lmaX.IU.swodniW
kcabllaCdetagivaN.slortnoC.enohP.tfosorciM
kcabllaCdetelpmoCdaoL.slortnoC.enohP.tfosorciM
kcabllaCdnammoCporetnI.poretnI.llehS.enohP.tfosorciM
kcabllaCegnahCdrawroFetagivaNnaC.slortnoC.enohP.tfosorciM
kcabllaCegnahCetatSPIS.slortnoC.enohP.tfosorciM
kcabllaCegnahCkcaBetagivaNnaC.slortnoC.enohP.tfosorciM
kcabllaCesaBrosneSI.srosneS.seciveD.tfosorciM
kcabllaCetarbilaCI.srosneS.seciveD.tfosorciM
kcabllaCeulaVtluafeDetaerC.lmaX.IU.swodniW
kcabllaCgnitagivaN.slortnoC.enohP.tfosorciM
kcabllaCnoitacifitoNsutatStseuqeRstBI.refsnarTdnuorgkcaB.enohP.tfosorciM
kcabllaCnoitazilaitinInoitacilppA.lmaX.IU.swodniW
kcabllaCnoituloseRemaN.noitamrofnIkrowteN.teN.enohP.tfosorciM
kcabllaCreganaMkcabyalPoiduAI.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
kcabllaCreganaMkcabyalPoiduA.oiduAdnuorgkcaB.enohP.tfosorciM
kcabllaCremiTgsM.krowemarF.anX.tfosorciM
kcabllaCrorrEetagivaN.slortnoC.enohP.tfosorciM
kcabllaCrosneS.srosneS.seciveD.tfosorciM
kcabllaCseitreporPresworBbeWdehcaCteG.slortnoC.enohP.tfosorciM
kcabllaCtesffOlacitreVemarFteG.slortnoC.enohP.tfosorciM
kcabllaCtnevEdeganaM.seciveD.tfosorciM
kcabllaCuneMretnEporetnI.poretnI.llehS.enohP.tfosorciM
kcabllaCuneMtixEporetnI.poretnI.llehS.enohP.tfosorciM
kcabllaCyfitoNtpircS.slortnoC.enohP.tfosorciM
kcarTaideMI.eroC.aideM.swodniW
kcarTatadateMdemiT.eroC.aideM.swodniW
kcarTatadateMdemiTI.eroC.aideM.swodniW
kcarToediV.eroC.aideM.swodniW
kcarToediVI.eroC.aideM.swodniW
kcarToiduAdeddebmE.gnitidE.aideM.swodniW
kcarToiduAdeddebmEI.gnitidE.aideM.swodniW
kcarToiduAdnuorgkcaB.gnitidE.aideM.swodniW
kcarToiduAdnuorgkcaBI.gnitidE.aideM.swodniW
kcarToiduA.eroC.aideM.swodniW
kcarToiduAI.eroC.aideM.swodniW
kcarToiduAI.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
kcarToiduA.oiduAdnuorgkcaB.enohP.tfosorciM
kcehCtnemeltitnEgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
kcitSedacrAI.tupnI.gnimaG.swodniW
kcitSedacrA.tupnI.gnimaG.swodniW
kcitSthgilFI.tupnI.gnimaG.swodniW
kcitSthgilF.tupnI.gnimaG.swodniW
kcolBI.stnemucoD.lmaX.IU.swodniW
KCOLBRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
kcolB.stnemucoD.lmaX.IU.swodniW
kcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
kcolBtxeThciR.slortnoC.lmaX.IU.swodniW
kcolBtxeTI.slortnoC.lmaX.IU.swodniW
kcolBtxeT.slortnoC.lmaX.IU.swodniW
kcolCemaG.krowemarF.anX.tfosorciM
kcoLcnysA.evitcaeR.enohP.tfosorciM
K D8qhth
K D9H@t[H
K D9H@tqH
KDDDDDDDDDDDD@
KDDDDDDDOp
KdInitializeLibrary
kDISABLE_ALSW
KdNetGetNetDataSize
KdNetGetParameters
KdUsb3pInitialize
KdUsb3pReadDebuggerPacket
KdUsb3pSendBuffers
KdUsbEhcipInitialize
KdUsbEhcipReadDebuggerPacket
KdUsbEhcipSendBuffers
KdUsbpControlRead
KdUsbpControlWrite
KdUsbpHaltController
KdUsbpInitializeDevice
KdUsbpInitializeHc
KdUsbpInitializeHcHw
KdUsbpLocateDebugPortRegisters
KdUsbpReadPacketOnce
KdUsbpReinitializeDevice
KdUsbpSendPacketOnce
KdUsbpTryInitializeDevice
KdUsbpTrySetupDevice
KdUsbpWait
KdUsbReceivePacket
KdUsbSendPacket
keep-alive
keepalive
keepalive-time
Keep sending data to get tossed away
keeWfOsyaDksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
keeWfOsyaDtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
keeWfOyaD.noitazilabolG.swodniW
KerbAcceptSecurityContext_End
KerbAcceptSecurityContext_Start
KerbChangePassword_End
KerbChangePassword_Start
Kerberos
KerbInitSecurityContext_End
KerbInitSecurityContext_Start
KerbLogonUser_End
KerbLogonUser_Start
KerbSetPassword_End
KerbSetPassword_Start
kernel32
kernel32.dll
kernel32.Dll
Kernel32.dll
KERNEL32.dll
KERNEL32.DLL
KERNEL ACTIONS:
KernelHookOption
KERNEL-MODE TRACE LOGGING:
KERNEL PARTICIPANT EXTENSION (KPE) DRIVERS:
KERNEL PARTICIPANTS:
(kER[rAs
keybd_event
 Keyboard Manager
Keyboard Manager
?KeyboardNavigate@Element@DirectUI@@SA?AVUID@@XZ
KeyboardTextEditingUsed
KeyboardTextSelectionUsed
_keychange
keychange_RegistryKeyChanged
KeyCollection
KeyDerivation
KeyHolder
KeyHolderInfo
KeyHolderInfoDefinition
_keyLeadingPattern
_keyName
KeyPathCollection
_keyPhraseBegin
KeyPhraseBeginIn10ms
_keyPhraseBeginInFrames
KeyPhraseDetection
KeyPhraseDetectionNotification
_keyPhraseDetectionSensitivity
_keyPhraseEnd
KeyPhraseEndIn10ms
_keyPhraseEndInFrames
_keyPhraseId
KeyPhraseIdOffset
KeyPhraseIdPartOffset
KeyPhraseModelPaths
KeyPhraseModelsData
KeyPhraseName
KeyPhraseOnly
KeyPhrases
_keyPhraseScore
KeyPhraseScoreOffset
KeyPhraseScorePartOffset
_keyPhraseStart
KeyPhraseStartOffset
KeyPhraseWithCommand
KeyProtection
Key recreation failed.
KeySource
Key support value could not be read from FW.
Key support value read from FW: 
key-type
Key type 
_keyValue
K(f9)v!H
K(H;K(r1
KH;_XtW3
KillProcessWithName
KillTimer
kjG.krowemarF.anX.tfosorciM
|||kklrpb
|||kklwtd
|||kklwvd
KMGTPEZY
KMicrosoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator
knalb.IU.TRniW.gnisitrevdA.tfosorciM
kniLkciuQI.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
kniLkciuQ.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
kniLnoitacidnySI.noitacidnyS.beW.swodniW
kniLnoitacidnyS.noitacidnyS.beW.swodniW
knilrepyHI.stnemucoD.lmaX.IU.swodniW
knilrepyH.stnemucoD.lmaX.IU.swodniW
kniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
kniLtnetnoC.stnemucoD.lmaX.IU.swodniW
kniSrorrEI.srorrE.redniBemitnuR.prahSC.tfosorciM
kniStupnIrellortnoCemaGbsuXI.motsuC.tupnI.gnimaG.swodniW
kniStupnIrellortnoCemaGdiHI.motsuC.tupnI.gnimaG.swodniW
kniStupnIrellortnoCemaGI.motsuC.tupnI.gnimaG.swodniW
kniStupnIrellortnoCemaGpiGI.motsuC.tupnI.gnimaG.swodniW
knownfolder.cpp
knuhTskcabllaCesreveRecruoSeliT.slortnoC.spaM.enohP.tfosorciM
knuhTskcabllaCesreveRpaM.slortnoC.spaM.enohP.tfosorciM
knuhTskcabllaCesreveRredniF.secivreS.spaM.enohP.tfosorciM
knuhTskcabllaCesreveRretuoR.secivreS.spaM.enohP.tfosorciM
K@packageUriWWd
#kpbfOSL
_kpdNotification
_kpdScore
KpdStatisticsConfigurator
KpdStatisticsLogger
KpdStatisticsReader
KpdStatisticsTimeIntervalName
KpdStatsEnableName
KportType
KProgIDWW
_kpScore
KPScore1
KPScore2
KpScoreResult
Kqr;1Ew[
KRAMNOITSEUQRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
kraMtrelAmdM.tnemeganaM.swodniW
kRemoveCustomModesWWWX
kroWsuonorhcnySytilasuaC.scitsongaiD.noitadnuoF.swodniW
krowteNdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
krowteNdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
krowteNelbaliavAiFiW.iFiW.seciveD.swodniW
krowteNelbaliavAiFiWI.iFiW.seciveD.swodniW
ksaMpOanU.scitnameS.redniBemitnuR.prahSC.tfosorciM
ksaMpOniB.scitnameS.redniBemitnuR.prahSC.tfosorciM
ksaTaideMerahS.sksaT.enohP.tfosorciM
ksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
ksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
ksaTbuHecalptekraM.sksaT.enohP.tfosorciM
ksaTcidoireP.reludehcS.enohP.tfosorciM
ksaTD3tnirP.D3gnitnirP.scihparG.swodniW
ksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
ksaTdeludehcS.reludehcS.enohP.tfosorciM
ksaTdnuorgkcaBgniredneRlmaX.gnigamI.aideM.lmaX.IU.swodniW
ksaTdnuorgkcaBgniredneRlmaXI.gnigamI.aideM.lmaX.IU.swodniW
ksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
ksaTdraCremaG.sksaT.enohP.tfosorciM
ksaTegasseMkrowteNeliboMgnimocnI.srotarepOkrowteN.enohP.tfosorciM
ksaTenotgniRevaS.sksaT.enohP.tfosorciM
ksaTerutpaCaremaC.sksaT.enohP.tfosorciM
ksaTesopmoCliamE.sksaT.enohP.tfosorciM
ksaTesopmoCsmS.sksaT.enohP.tfosorciM
ksaTetivnIemaG.sksaT.enohP.tfosorciM
ksaTevilApeeKpioV.pioV.gnikrowteN.enohP.tfosorciM
ksaTevisnetnIecruoseR.reludehcS.enohP.tfosorciM
ksaThcraeSecalptekraM.sksaT.enohP.tfosorciM
ksaThcraeS.sksaT.enohP.tfosorciM
ksaTI.poretnI.ledoMksaT.enohP.tfosorciM
ksaTkniLerahS.sksaT.enohP.tfosorciM
ksaTliateDecalptekraM.sksaT.enohP.tfosorciM
ksaTllaCenohP.sksaT.enohP.tfosorciM
ksaTllaCgnimocnIpttHpioV.pioV.gnikrowteN.enohP.tfosorciM
ksaTmetItellaWddA.sksaT.enohP.tfosorciM
ksaTnEVIL.beW.smroftalP.secivreSremaG
ksaT.poretnI.ledoMksaT.enohP.tfosorciM
ksaTputratSI.ledoMnoitacilppA.swodniW
ksaTputratS.ledoMnoitacilppA.swodniW
ksaTrebmuNenohPevaS.sksaT.enohP.tfosorciM
ksaTredaolnwoDpaM.sksaT.enohP.tfosorciM
ksaTresoohCotohP.sksaT.enohP.tfosorciM
ksaTresoohCrebmuNenohP.sksaT.enohP.tfosorciM
ksaTresoohCsserddAliamE.sksaT.enohP.tfosorciM
ksaTresoohCsserddA.sksaT.enohP.tfosorciM
ksaTresworBbeW.sksaT.enohP.tfosorciM
ksaTretadpUpaM.sksaT.enohP.tfosorciM
ksaTsgnitteSnoitcennoC.sksaT.enohP.tfosorciM
ksaTsnoitceriDspaMgniB.sksaT.enohP.tfosorciM
ksaTsnoitceriDspaM.sksaT.enohP.tfosorciM
ksaTspaMgniB.sksaT.enohP.tfosorciM
ksaTspaM.sksaT.enohP.tfosorciM
ksaTsserddAliamEevaS.sksaT.enohP.tfosorciM
ksaTsutatSerahS.sksaT.enohP.tfosorciM
ksaTtcatnoCevaS.sksaT.enohP.tfosorciM
ksaTtnemtnioppAevaS.sksaT.enohP.tfosorciM
ksaTtnirP.gnitnirP.scihparG.swodniW
ksaTtnirPI.gnitnirP.scihparG.swodniW
ksaTweiveRecalptekraM.sksaT.enohP.tfosorciM
ksaTyalpsiD.eroC.yalpsiD.seciveD.swodniW
ksaTyalpsiDI.eroC.yalpsiD.seciveD.swodniW
KSAUDIO_MIC_ARRAY_GEOMETRY_WRAPPER
KSAUDIO_MICROPHONE_COORDINATES
_ksInterface
KSMICARRAY_MICARRAYTYPE_3D
KSMICARRAY_MICARRAYTYPE_LINEAR
KSMICARRAY_MICARRAYTYPE_PLANAR
KsMicCoord
_ksMicCoordArrayLen
KsMultipleItem
KspPinMode
_ksProperty
KsPropertyAudioProcessing
KsPropertyCall
KsPropertyGetSizeCall
KsPropertyIntelAcaArm
KsPropertyIntelAcaDisarm
KsPropertyMethods
KsPropertyStruct
KsPropertyType
_ksStatus
K SUVWAVAWH
K SUVWAVH
K SUVWAWH
K SVWAVH
ktmw32.dll
K UAVAWH
K USVWATAVAWH
K UVWATAUAVAWH
K UVWAVH
KValueWWW
k VWATAVAWH
K VWATAVAWH
k VWAUAVAWH
K VWAUAVAWH
k WATAUAVAWH
K WATAUAVAWH
K WAVAWH
k	wcscmp
KXf9)vaH
(((('''L
L7hktl#m
..      L9
L9ahtHE3
L9wht|L9wptvL9wxtpL9
L9w@uzL9w
La4MLr4LL-4ML
Label loop
!LAbZjl[
LACOLRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
laeD.tellaW.enohP.tfosorciM
 la firma del fornitore dell'applicazione 
lairetaMD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
lairetaMdrooC2erutxeTD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMdrooC2erutxeTD3gnitnirPI.D3gnitnirP.scihparG.swodniW
lairetaMenecSI.senecS.noitisopmoC.IU.swodniW
lairetaMenecS.senecS.noitisopmoC.IU.swodniW
lairetaMesaBD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMesaBD3gnitnirPI.D3gnitnirP.scihparG.swodniW
lairetaMetisopmoCD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMetisopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
lairetaMrbPenecSI.senecS.noitisopmoC.IU.swodniW
lairetaMrbPenecS.senecS.noitisopmoC.IU.swodniW
lairetaMroloCD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMroloCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
lairetaMssenhguoRcillateMenecSI.senecS.noitisopmoC.IU.swodniW
lairetaMssenhguoRcillateMenecS.senecS.noitisopmoC.IU.swodniW
lairetaMtceffE.scihparG.krowemarF.anX.tfosorciM
lairetaMytreporPelpitluMD3gnitnirP.D3gnitnirP.scihparG.swodniW
lairetaMytreporPelpitluMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
laitnederCdekciPnpVI.npV.gnikrowteN.swodniW
laitnederCdekciPnpV.npV.gnikrowteN.swodniW
laitnederCdrowssaPI.slaitnederC.ytiruceS.swodniW
laitnederCdrowssaP.slaitnederC.ytiruceS.swodniW
laitnederCnpVI.npV.gnikrowteN.swodniW
laitnederCnpV.npV.gnikrowteN.swodniW
laitnederCyeKI.slaitnederC.ytiruceS.swodniW
laitnederCyeK.slaitnederC.ytiruceS.swodniW
LakeField
LandscapeWWW8
langiStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
langiStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
language
Language
_languageId
_languageName
languageSupported
LanguageWW
lanoitaR.sciremuN.noitadnuoF.swodniW
lanretnIepyTerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
lanruoJ.noitagivaN.swodniW.metsyS
laoGnoitazimitpOrosneS.srosneS.seciveD.swodniW
Largefile
largePoints
larrefeDdegnahCegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
larrefeDdegnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
larrefeDdegnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
larrefeDdegnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
larrefeDdegnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
larrefeDdegnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
larrefeDdegnahCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
larrefeDdegnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
larrefeDdetagivaNIUbeWI.IUbeW.IU.swodniW
larrefeDdetagivaNIUbeW.IUbeW.IU.swodniW
larrefeDdetavitcAI.IUbeW.IU.swodniW
larrefeDdetavitcA.IUbeW.IU.swodniW
larrefeDdetseuqeRdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
larrefeDdetseuqeRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
larrefeDdetseuqeRecruoSksaTtnirP.gnitnirP.scihparG.swodniW
larrefeDdetseuqeRecruoSksaTtnirPI.gnitnirP.scihparG.swodniW
larrefeDdetseuqeRevaSnoitarugifnoCksaTtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
larrefeDdetseuqeRevaSnoitarugifnoCksaTtnirP.snoisnetxE.sretnirP.seciveD.swodniW
larrefeDdetseuqeRksaTtnirP.gnitnirP.scihparG.swodniW
larrefeDdetseuqeRksaTtnirPI.gnitnirP.scihparG.swodniW
larrefeDecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
larrefeDecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
larrefeDecruoSoTyalPI.oTyalP.aideM.swodniW
larrefeDecruoSoTyalP.oTyalP.aideM.swodniW
larrefeDegnahCsutatSnoitacitnehtuAresUI.metsyS.swodniW
larrefeDegnahCsutatSnoitacitnehtuAresU.metsyS.swodniW
larrefeDgnidnepsuSI.ledoMnoitacilppA.swodniW
larrefeDgnidnepsuS.IUbeW.IU.swodniW
larrefeDgnidnepsuS.ledoMnoitacilppA.swodniW
larrefeDgnikcolnUneercSkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
larrefeDgnikcolnUneercSkcoL.neercSkcoL.ledoMnoitacilppA.swodniW
larrefeDgnisolCgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
larrefeDgnisolCgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
larrefeDgnisolCrekciPI.redivorP.srekciP.egarotS.swodniW
larrefeDgnisolCrekciP.redivorP.srekciP.egarotS.swodniW
larrefeDI.noitadnuoF.swodniW
larrefeDkcilCnottuBgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
larrefeDkcilCnottuBgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
larrefeDksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
larrefeDksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
larrefeDllaCdnEllaCneercSkcoLI.sllaC.ledoMnoitacilppA.swodniW
larrefeDllaCdnEllaCneercSkcoL.sllaC.ledoMnoitacilppA.swodniW
larrefeDnoisreVteS.egarotS.swodniW
larrefeDnoisreVteSI.egarotS.swodniW
larrefeD.noitadnuoF.swodniW
larrefeDnoitarepOgarDI.lmaX.IU.swodniW
larrefeDnoitarepOgarD.lmaX.IU.swodniW
larrefeDredivorPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
larrefeDredivorPataD.refsnarTataD.ledoMnoitacilppA.swodniW
larrefeDsgrAtnevEdetavitcAI.IUbeW.IU.swodniW
larrefeDteseRniPdraCtramSI.sdraCtramS.seciveD.swodniW
larrefeDteseRniPdraCtramS.sdraCtramS.seciveD.swodniW
larrefeDtnevEenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
larrefeDtnevEenaPsgnitteSstnuoccA.sgnitteSnoitacilppA.IU.swodniW
larrefeDtseuqeRataDI.refsnarTataD.ledoMnoitacilppA.swodniW
larrefeDtseuqeRataD.refsnarTataD.ledoMnoitacilppA.swodniW
larrefeDtseuqeReliFtegraTI.redivorP.srekciP.egarotS.swodniW
larrefeDtseuqeReliFtegraT.redivorP.srekciP.egarotS.swodniW
larrefeDtseuqeRelpmaSecruoSmaertSaideM.eroC.aideM.swodniW
larrefeDtseuqeRelpmaSecruoSmaertSaideMI.eroC.aideM.swodniW
larrefeDtseuqeRetadpUeliFI.redivorP.egarotS.swodniW
larrefeDtseuqeRetadpUeliF.redivorP.egarotS.swodniW
larrefeDtseuqeRgnitratSecruoSmaertSaideM.eroC.aideM.swodniW
larrefeDtseuqeRgnitratSecruoSmaertSaideMI.eroC.aideM.swodniW
larrefeDtseuqeRirUeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
larrefeDtseuqeRirUeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
larrefeDtseuqeRpamtiBeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
larrefeDtseuqeRpamtiBeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
larrefeDtseuqeRsmaertShctiwSecruoSmaertSaideM.eroC.aideM.swodniW
larrefeDtseuqeRsmaertShctiwSecruoSmaertSaideMI.eroC.aideM.swodniW
larrefeDtseuqeRsnoitsegguSenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
larrefeDtseuqeRsnoitsegguSenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
larrefeDtseuqeRsnoitsegguShcraeS.hcraeS.ledoMnoitacilppA.swodniW
larrefeDtseuqeRsnoitsegguShcraeSI.hcraeS.ledoMnoitacilppA.swodniW
larrefeDtseuqeRstnemelElausiVI.neercStratS.IU.swodniW
larrefeDtseuqeRstnemelElausiV.neercStratS.IU.swodniW
@Las siguientes aplicaciones han sido actualizadas o modificadas.
lastAccessTime
LastBootSucceeded
 Last error: 
Last error: 
Last Error: 
Last error code: 
lastErrorDescription
LastErrorDescription
LastErrorTime
LastFolder
LastGlitchTime
Last-Modified
Last-Modified:
; last read: '
_lastResponse
lastRunTime
LastShutdownSucceeded
lastText
LastUpdateDate
lastView
Latency1
Latency2
LaunchColorCpl
Launch DPPA successfully.
LaunchedFromShortcut
launcher.cpp
LaunchFailureNotificationDialog
LaunchFailureNotificationHandler
LaunchFontName
LaunchINFSectionEx
launchrecord.cpp
launchrecord.h
LaunchScoobe
LaunchSuspendedDueToCostWarning
LaunchSuspendedDueToCostWarningHandler
LaunchSystem32Process
LaunchSystemProcessInUserSession
launchtask.cpp
launchtask.h
LaunchTelemetryProvider
?LaunchUpdate@BuiVolume@@QEAAJXZ
LaunchVds
lausiVenecSI.senecS.noitisopmoC.IU.swodniW
lausiVenecS.senecS.noitisopmoC.IU.swodniW
lausiVepahSI.noitisopmoC.IU.swodniW
lausiVepahS.noitisopmoC.IU.swodniW
lausiVetirpSI.noitisopmoC.IU.swodniW
lausiVetirpS.noitisopmoC.IU.swodniW
lausiVI.noitisopmoC.IU.swodniW
lausiVnoitacifitoNI.snoitacifitoN.IU.swodniW
lausiVnoitacifitoN.snoitacifitoN.IU.swodniW
lausiV.noitisopmoC.IU.swodniW
lausiVreniatnoCI.noitisopmoC.IU.swodniW
lausiVreniatnoC.noitisopmoC.IU.swodniW
lausiVreyaLI.noitisopmoC.IU.swodniW
lausiVreyaL.noitisopmoC.IU.swodniW
lausiVtcerideRI.noitisopmoC.IU.swodniW
lausiVtcerideR.noitisopmoC.IU.swodniW
LAVPORPDECRUOS.ataDresU.enohP.tfosorciM
LAVPORPEC.ataDresU.enohP.tfosorciM
lavretnIecnerruceR.reludehcS.enohP.tfosorciM
lavretnIetadpU.llehS.enohP.tfosorciM
lavretnItneserP.scihparG.krowemarF.anX.tfosorciM
lavretnIytivitcennoCI.ytivitcennoC.gnikrowteN.swodniW
lavretnIytivitcennoC.ytivitcennoC.gnikrowteN.swodniW
LAVTSNOC.scitnameS.redniBemitnuR.prahSC.tfosorciM
laweneRtnenopmoC.noitcetorP.aideM.swodniW
Layer-Device
layeredShadingRateAttachments
Layer found but runtime platforms do not match.
layerName
Layer Properties
layerProperty
layoutId
LayoutRoot
LbOSEnumeratedWWWx
LbpSetLun
lBrightnessDefaultLevelWWp0
LBTMYS.scitnameS.redniBemitnuR.prahSC.tfosorciM
___lc_codepage_func
___lc_collate_cp_func
___lc_handle_func
LCIDToLocaleName
lClientEventType_StreamingUXWx
LCloseAllSessions
LCMapStringEx
LCMapStringW
lConfigurationTypeWWW
LCreateStream
LDAP_ADMIN_LIMIT_EXCEEDED
LDAP_AFFECTS_MULTIPLE_DSAS
LDAP_ALIAS_DEREF_PROBLEM
LDAP_ALIAS_PROBLEM
LDAP_ALREADY_EXISTS
LDAP_ATTRIBUTE_OR_VALUE_EXISTS
LDAP_AUTH_METHOD_NOT_SUPPORTED
LDAP_AUTH_UNKNOWN
ldap_bind_s
LDAP_BUSY
LDAP: cannot bind
LDAP_CLIENT_LOOP
LDAP_COMPARE_FALSE
LDAP_COMPARE_TRUE
LDAP_CONFIDENTIALITY_REQUIRED
LDAP_CONNECT_ERROR
LDAP_CONSTRAINT_VIOLATION
LDAP_CONTROL_NOT_FOUND
LDAP_DECODING_ERROR
LDAP_ENCODING_ERROR
LDAP_FILTER_ERROR
ldap_get_values
LDAP_INAPPROPRIATE_AUTH
LDAP_INAPPROPRIATE_MATCHING
ldap_init
LDAP_INSUFFICIENT_RIGHTS
LDAP_INVALID_CREDENTIALS
LDAP_INVALID_DN_SYNTAX
LDAP_INVALID_SYNTAX
LDAP_IS_LEAF
LDAP_LOCAL_ERROR
LDAP_LOOP_DETECT
LDAP_MORE_RESULTS_TO_RETURN
LDAP_NAMING_VIOLATION
LDAP_NO_MEMORY
LDAP_NO_OBJECT_CLASS_MODS
LDAP_NO_RESULTS_RETURNED
LDAP_NO_SUCH_ATTRIBUTE
LDAP_NO_SUCH_OBJECT
LDAP_NOT_ALLOWED_ON_NONLEAF
LDAP_NOT_ALLOWED_ON_RDN
LDAP_NOT_SUPPORTED
LDAP_OBJECT_CLASS_VIOLATION
LDAP_OFFSET_RANGE_ERROR
LDAP_OPERATIONS_ERROR
LDAP_OTHER
LDAP_PARAM_ERROR
LDAP_PARTIAL_RESULTS
LDAP_PROTOCOL_ERROR
LDAP_REFERRAL
LDAP_REFERRAL_LIMIT_EXCEEDED
LDAP_REFERRAL_V2
LDAP_RESULTS_TOO_LARGE
LDAP_SASL_BIND_IN_PROGRESS
LDAP: search failed
ldap_searh_s
LDAP_SERVER_DOWN
ldap_set_option
LDAP_SIZELIMIT_EXCEEDED
LDAP_SORT_CONTROL_MISSING
LDAP_STRONG_AUTH_REQUIRED
LDAP_TIMELIMIT_EXCEEDED
LDAP_TIMEOUT
LDAP_UNAVAILABLE
LDAP_UNAVAILABLE_CRIT_EXTENSION
LDAP_UNDEFINED_TYPE
LDAP_UNWILLING_TO_PERFORM
LDAP_USER_CANCELLED
LDAP_VIRTUAL_LIST_VIEW_ERROR
L_DEPTHW
LDestroyStream
ldpPwrParamsWW
LdrAccessResource
LdrFindResource_U
LdrGetDllHandle
LdrGetProcedureAddress
LdrInitSecurityCookie
LdrResSearchResource
LdrSetMUICacheType
LDVOBPORTd
LeaseRenewalPeriod
LeaseRequired
LeaveCriticalPolicySection
LeaveCriticalSection
lebaLnottuBrellortnoCemaG.tupnI.gnimaG.swodniW
ledoMD3gnitnirP.D3gnitnirP.scihparG.swodniW
ledoMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
ledoMecnatcelfeRtceffEgnithgiLenecS.stceffE.noitisopmoC.IU.swodniW
ledoMecruoSeliTI.slortnoC.spaM.enohP.tfosorciM
ledoMenilyloPpaMI.slortnoC.spaM.enohP.tfosorciM
ledoMenilyloPpaMSOM.slortnoC.spaM.enohP.tfosorciM
ledoMgnidaerhT.atadateM.noitadnuoF.swodniW
ledoMgninraeL.gninraeLenihcaM.IA.swodniW
ledoMgninraeLI.gninraeLenihcaM.IA.swodniW
ledoMnogyloPpaMI.slortnoC.spaM.enohP.tfosorciM
ledoMnogyloPpaMSOM.slortnoC.spaM.enohP.tfosorciM
ledoMoiduAlaitapS.oiduA.aideM.swodniW
ledoMpaMI.slortnoC.spaM.enohP.tfosorciM
ledoMpaMSOM.slortnoC.spaM.enohP.tfosorciM
ledoMredniFI.secivreS.spaM.enohP.tfosorciM
ledoMretuoRI.secivreS.spaM.enohP.tfosorciM
ledoM.scihparG.krowemarF.anX.tfosorciM
ledoMtnemelEpaMI.slortnoC.spaM.enohP.tfosorciM
ledoMyaceDrettimEedoNoiduAI.oiduA.aideM.swodniW
ledoMyaceDrettimEedoNoiduA.oiduA.aideM.swodniW
ledoMyalrevOpaMI.slortnoC.spaM.enohP.tfosorciM
ledoMyalrevOpaMSOM.slortnoC.spaM.enohP.tfosorciM
ledoMytilaeRdexiMeliTI.neercStratS.IU.swodniW
ledoMytilaeRdexiMeliT.neercStratS.IU.swodniW
leehWgnicaRI.tupnI.gnimaG.swodniW
leehWgnicaR.tupnI.gnimaG.swodniW
			left: 50px;
?Left@CHString@@QEBA?AV1@H@Z
LegacyApiClientProxyDecorator
LegacyApiMode
LegacyConfigurationsControl
LegacyCoreStorageController
legacyexception.h
LegacyHardwareIdDownlevel
LegacyHardwareIdUplevel
LegacyKMS
LegacyServiceBuilder
LegacyStreamReader
LegacyWovNotificationHandler
LEGDATADIR
LEGDRIVERDIR
LEGDVDIR
lenaPamaronaP.sevitimirP.slortnoC.enohP.tfosorciM
lenaPdnuorgkcaBniahCpawSI.slortnoC.lmaX.IU.swodniW
lenaPdnuorgkcaBniahCpawS.slortnoC.lmaX.IU.swodniW
lenaPevitaleRI.slortnoC.lmaX.IU.swodniW
lenaPevitaleR.slortnoC.lmaX.IU.swodniW
lenaPgnizilautriVdetneirOI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPgnizilautriVdetneirO.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPgnizilautriVI.slortnoC.lmaX.IU.swodniW
lenaPgnizilautriV.slortnoC.lmaX.IU.swodniW
lenaPhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
lenaPI.slortnoC.lmaX.IU.swodniW
lenaPkcatSgnizilautriVI.slortnoC.lmaX.IU.swodniW
lenaPkcatSgnizilautriV.slortnoC.lmaX.IU.swodniW
lenaPkcatSI.slortnoC.lmaX.IU.swodniW
lenaPkcatS.slortnoC.lmaX.IU.swodniW
lenaPkcatSsmetII.slortnoC.lmaX.IU.swodniW
lenaPkcatSsmetI.slortnoC.lmaX.IU.swodniW
lenaPlesuoraCI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPlesuoraC.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPniahCpawSI.slortnoC.lmaX.IU.swodniW
lenaPniahCpawS.slortnoC.lmaX.IU.swodniW
lenaP.noitaremunE.seciveD.swodniW
lenaPnoitresnII.slortnoC.lmaX.IU.swodniW
lenaPradnelaCI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPradnelaC.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPredaeHtoviPI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPredaeHtoviP.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPreyaLpaM.slortnoC.spaM.enohP.tfosorciM
lenaProtceleSgnipooLI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaProtceleSgnipooL.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaP.slortnoC.lmaX.IU.swodniW
lenaPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
lenaPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
lenaPtoviPI.sevitimirP.slortnoC.lmaX.IU.swodniW
lenaPtoviP.sevitimirP.slortnoC.lmaX.IU.swodniW
	Length: 
LengthOfProgressBarUpdateAnimation
LENGTHS:0:
LENGTHS:1:
lengthWW
lennahCcdA.cdA.seciveD.swodniW
lennahCcdAI.cdA.seciveD.swodniW
lennahCegamIrosruCrevieceRtsacariMI.tsacariM.aideM.swodniW
lennahCegamIrosruCrevieceRtsacariM.tsacariM.aideM.swodniW
lennahCegasseMnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
lennahCegasseMnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
lennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
lennahCgniggoL.scitsongaiD.noitadnuoF.swodniW
lennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
lennahCnoitacifitoNhsuP.snoitacifitoNhsuP.gnikrowteN.swodniW
lennahCnoitacifitoNpttH.noitacifitoN.enohP.tfosorciM
lennahCnpVI.npV.gnikrowteN.swodniW
lennahCnpV.npV.gnikrowteN.swodniW
lennahCrePstiByalpsiD.eroC.yalpsiD.seciveD.swodniW
lennahCtnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
lennahCvsHrekciProloC.slortnoC.lmaX.IU.swodniW
lennahCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
lennahCytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
LENNUT6PAf'
LENNUTPICW
LenovoCompanion_InputSectionURI
LenovoCompanioPackageVersion
Lenovo Group Limited
Lenovo Group Ltd.
Lenovo.Modern.ImController
Lenovo.Modern.ImController.CommandLineServices
Lenovo.Modern.ImController.ContractBroker
Lenovo.Modern.ImController.ContractBroker.Services
Lenovo.Modern.ImController.EventManager
Lenovo.Modern.ImController.EventManager.Services
Lenovo.Modern.ImController.EventManager.Services.EventMonitors.UsageMonitor.AppUsageMonitor
Lenovo.Modern.ImController.exe
Lenovo.Modern.ImController.ImClient
Lenovo.Modern.ImController.ImClient.Models
Lenovo.Modern.ImController.ImClient.Services
Lenovo.Modern.ImController.ImClient.Services.Umdf
Lenovo.Modern.ImController.ImClient.Utilities
Lenovo.Modern.ImController.PluginHost
Lenovo.Modern.ImController.PluginHost.AppDomain
Lenovo.Modern.ImController.PluginHost.AppDomain.Services
Lenovo.Modern.ImController.PluginHost.exe
Lenovo.Modern.ImController.PluginHost.Services
Lenovo.Modern.ImController.PluginHost.Services.PluginManagers
Lenovo.Modern.ImController.PluginHost.Utilities
Lenovo.Modern.ImController.PluginManager
Lenovo.Modern.ImController.PluginManager.Services
Lenovo.Modern.ImController.ProjectInstaller.resources
Lenovo.Modern.ImController.Services
Lenovo.Modern.ImController.Shared
Lenovo.Modern.ImController.Shared.Model.Packages
Lenovo.Modern.ImController.Shared.Model.Subscription
Lenovo.Modern.ImController.Shared.Services
Lenovo.Modern.ImController.Shared.Services.Contracts.SystemInformation.AppTag
Lenovo.Modern.ImController.Shared.Telemetry
Lenovo.Modern.ImController.Shared.Utilities
Lenovo.Modern.ImController.Shared.Utilities.Interop
Lenovo.Modern.ImController.Shared.Utilities.Ipc
Lenovo.Modern.ImController.Shared.Utilities.Validation
Lenovo.Modern.ImController.UpdateManager
Lenovo.Modern.ImController.UpdateManager.Services
Lenovo.Modern.Utilities
Lenovo.Modern.Utilities.Patterns.Ioc
Lenovo.Modern.Utilities.Services
Lenovo.Modern.Utilities.Services.Logging
Lenovo.Modern.Utilities.Services.SystemContext.Interop
Lenovo.Modern.Utilities.Services.SystemContext.ProcessLauncher
Lenovo.Modern.Utilities.Services.SystemContext.Shared
Lenovo.Modern.Utilities.Services.Wrappers.Network
Lenovo.Modern.Utilities.Services.Wrappers.Process
Lenovo Setting
 Lenovo Settings
 Lenovo Settings 
Lenovo Settings
LenovoSettings_InputSectionURI
Lenovo.Udc.ClientBroker.Dotnet
Lenovo.UdcPluginHost
Lenovo.UdcPluginHost.Logging
Lenth of system32 path is too long
|Les applications suivantes n'ont pas 
Les applications suivantes n'ont pas 
leveLdnuoS.aideM.swodniW
leveLecarTytilasuaC.scitsongaiD.noitadnuoF.swodniW
leveLegasUyromeMppA.metsyS.swodniW
leveLgnidaeHnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
leveLgniggoL.scitsongaiD.noitadnuoF.swodniW
leveLkcehChtlaeHsoPdeifinU.ecivreSfOtnioP.seciveD.swodniW
Level	Label	Modules    Routes Targets
leveLnoitacitnehtuAredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
leveLnoitcelloCataDmroftalP.eliforP.metsyS.swodniW
leveLnoitcetorPgniriaPeciveD.noitaremunE.seciveD.swodniW
leveLnoitcetorPtekcoS.stekcoS.gnikrowteN.swodniW
leveLnoitcetorPttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
leveLnoitcetorPyeK.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
leveLnoitcirtseRsseccAtnetnoC.snoitcirtseRtnetnoC.aideM.swodniW
leveLrewoPlennahC.noitacifitoN.enohP.tfosorciM
leveLtnemecrofnE.ataDesirpretnE.ytiruceS.swodniW
LevelWWW 5
leveLytivitcennoCkrowteN.ytivitcennoC.gnikrowteN.swodniW
leveLytivitcennoCniamoD.ytivitcennoC.gnikrowteN.swodniW
LEXf9]Zf
lffffffFQffffgQHggggfgfggffffffdQ
LF_REMOVED
lgende apper er oppdatert eller endret.
lgende apper. Fordi appens leverand
lgende apper. Fordi de opprinnelige filene er erstattet av uautoriserte apper.
lgende dokumenter blev n
lgende dokumenter. Fordi disse er manipulert av skadelig programvare.
lgende filer eller apper
lgende filer eller programmer blev ikke fundet
lgende programmer blev n
lgende programmer er opdateret eller 
LGetBufferMetadata
LGetDetectionData
;L'GZ"tGZ"tGZ"tN"
liamecioVenohPI.sllaC.ledoMnoitacilppA.swodniW
liamecioVenohP.sllaC.ledoMnoitacilppA.swodniW
liamEtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
liamEtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
lianbmuhTeciveD.noitaremunE.seciveD.swodniW
lianbmuhTmetIegarotS.seitreporPeliF.egarotS.swodniW
lianbmuhTmetIlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
lianbmuhTmetIlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
liateDksaTD3tnirP.D3gnitnirP.scihparG.swodniW
liateDreggirTdegnahCyrotsiHnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
liateDreggirTdegnahCyrotsiHnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
liateDreggirTnoitcAnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
liateDreggirTnoitcAnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
liateDwolfkroWD3tnirP.snoisnetxE.sretnirP.seciveD.swodniW
lIAutomaticDisplayBrightnessWX4
libiclshecicallerclient.so
LibJson.dll
Library Error
libsDirPath
LicenseCategory
LicenseDefinition
LicenseID
LicenseIdentifier
LicenseInfo
LicenseInfoDefinition
LicenseInstanceID
LicenseType
LicenseUsage
licnetSretneserPknII.gniknI.tupnI.IU.swodniW
LidPresent
(Liegfgf
LifcycleActivity
Lifetime
lifetimetests.cpp
lifetimetests.h
LIMITED_RANGEWWW
limit-rate
Limit transfer speed to RATE
 LINE_ALTERNATIVE
linearTiling
linearTilingFeatures
lineClose
lineConfigDialogW
lineDeallocateCall
lineDrop
lineGetAddressCapsW
lineGetAppPriorityW
lineGetDevCapsW
lineGetRequestW
lineGetTranslateCapsW
			line-height: 20px;
lineInitializeExW
lineMakeCallW
LINEMODE
lineNegotiateAPIVersion
lineNumber
LineNumber
lineOpenW
lineRegisterRequestRecipient
LineSelection
lineSetAppPriorityW
lineShutdown
lineSubPixelPrecisionBits
LinesWWW
lineTranslateAddressW
lineTranslateDialogW
lineWidthGranularity
lineWidthRange
Link list creation failed
linksgclient.cpp
ListControllerLine
ListControllers
ListDriveLine
ListDriveLine2
ListDrives
                                            Listed GUIDs Below:
ListenAndRespondToIpcCommandsAsync
listener.cpp
listener.h
listeneripc_c.c
Listen failed with error: 
Listen for incoming connection
[Listen Socket] Socket server exception occured: 
listenumeratortests.cpp
listenumeratortests.h
ListFcPathLbpLine
ListFcPathLine
ListHbaPortLine
ListHbaPorts
ListIAdapterLine
ListIAdapters
ListIdentifier
ListInitiatorLine
ListIPortalLine
ListIPortals
ListIscsiPathLbpLine
ListIscsiPathLine
 list is NULL. No Data to Log
ListLunLine
ListLunLine2
ListLunLineLunNumber
ListLuns
List of controllers absent
_listOfDomainInstances
List of hosts which do not use proxy
List of ports absent
List of targets absent
list-only
List only mode
ListPortLine
ListPorts
ListProviderLine
ListProviders
ListStoragePoolLine
ListStoragePools
ListSubsystemLine
ListSubsystems
ListTargetLine
ListTargets
list too long
ListTPGroupLine
ListTPGroups
ListTPortalLine
ListTPortals
litUemiT.srosneS.seciveD.tfosorciM
litUfreP.noitagivaN.swodniW.metsyS
litUrekraMfrePstB.refsnarTdnuorgkcaB.enohP.tfosorciM
lj5h6sj5
ljande dokument. Eftersom de har manipulerats av sabotageprogram.
ljande filer eller program
ljande program har uppdaterats eller 
ljande program nekades att startas. Eftersom originalfilerna har ersatts av obeh
ljande program nekades att startas. Eftersom programleverant
llaCenohPpioVI.sllaC.ledoMnoitacilppA.swodniW
llaCenohPpioV.sllaC.ledoMnoitacilppA.swodniW
LLACRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
LLA_PPA_RETLIF_ELIT_MUNE_MP.llehS.enohP.tfosorciM
lld.0000atadsln
lld.00020xfduw
lld.001lta
lld.001pcvsm
lld.001rcvsm
lld.001rls
lld.001trm
lld.001yxorpmdp
lld.0040rlc_021pcvsm
lld.0040rlc_021rcvsm
lld.0040v_2cminep
lld.0040v_evitannoitatneserp
lld.0040v_tsohnoitatneserp
lld.0040v_xfgfpw
lld.007mid3d
lld.00mcfbirb
lld.00mffbirb
lld.00mlfbirb
lld.00mpfbirb
lld.00mrfbirb
lld.00mtfbirb
lld.011bilroccv
lld.0-1-1l-46wow-eroc-niw-sm-ipa
lld.0-1-1l-cvsniw-ecivres-niw-sm-ipa
lld.0-1-1l-daolyaled-eroc-niw-sm-ipa
lld.0-1-1l-dekcolretni-eroc-niw-sm-ipa
lld.0-1-1l-elacol-trc-niw-sm-ipa
lld.0-1-1l-eldnah-eroc-niw-sm-ipa
lld.0-1-1l-elif-eroc-niw-sm-ipa
lld.0-1-1l-eliforp-eroc-niw-sm-ipa
lld.0-1-1l-eliforpetavirp-eroc-niw-sm-ipa
lld.0-1-1l-elosnoc-eroc-niw-sm-ipa
lld.0-1-1l-emitetad-eroc-niw-sm-ipa
lld.0-1-1l-emitlaer-eroc-niw-sm-ipa
lld.0-1-1l-emitnur-trc-niw-sm-ipa
lld.0-1-1l-emit-trc-niw-sm-ipa
lld.0-1-1l-enozemit-eroc-niw-sm-ipa
lld.0-1-1l-epipdeman-eroc-niw-sm-ipa
lld.0-1-1l-eroc-ecivres-niw-sm-ipa
lld.0-1-1l-esab-ytiruces-niw-sm-ipa
lld.0-1-1l-etatsx-eroc-niw-sm-ipa
lld.0-1-1l-etavirp-23lenrek-eroc-niw-sm-ipa
lld.0-1-1l-etavirp-ecivres-niw-sm-ipa
lld.0-1-1l-etavirp-loopdaerht-eroc-niw-sm-ipa
lld.0-1-1l-etavirp-trc-niw-sm-ipa
lld.0-1-1l-etelosbo-gnirts-eroc-niw-sm-ipa
lld.0-1-1l-etelosbo-ipawlhs-eroc-niw-sm-ipa
lld.0-1-1l-etelosbo-paeh-eroc-niw-sm-ipa
lld.0-1-1l-etelosbo-ygolopotssecorp-eroc-niw-sm-ipa
lld.0-1-1l-etybitlum-trc-niw-sm-ipa
lld.0-1-1l-gifnoc-secived-niw-sm-ipa
lld.0-1-1l-gnildnahrorre-eroc-niw-sm-ipa
lld.0-1-1l-gnirts-eroc-niw-sm-ipa
lld.0-1-1l-gnirts-trc-niw-sm-ipa
lld.0-1-1l-gubed-eroc-niw-sm-ipa
lld.0-1-1l-hcnys-eroc-niw-sm-ipa
lld.0-1-1l-htam-trc-niw-sm-ipa
lld.0-1-1l-ipaotpyrc-ytiruces-niw-sm-ipa
lld.0-1-1l-isnagnirts-eroc-niw-sm-ipa
lld.0-1-1l-ldds-ytiruces-niw-sm-ipa
lld.0-1-1l-litu-eroc-niw-sm-ipa
lld.0-1-1l-litu-esab-niw-sm-ipa
lld.0-1-1l-lru-eroc-niw-sm-ipa
lld.0-1-1l-maerts-erochs-niw-sm-ipa
lld.0-1-1l-metsyselif-trc-niw-sm-ipa
lld.0-1-1l-mmoc-eroc-niw-sm-ipa
lld.0-1-1l-moc-eroc-niw-sm-ipa
lld.0-1-1l-noisrev-eroc-niw-sm-ipa
lld.0-1-1l-nwodtuhs-eroc-niw-sm-ipa
lld.0-1-1l-ofnisys-eroc-niw-sm-ipa
lld.0-1-1l-oidts-trc-niw-sm-ipa
lld.0-1-1l-oi-eroc-niw-sm-ipa
lld.0-1-1l-oinoc-trc-niw-sm-ipa
lld.0-1-1l-paeh-eroc-niw-sm-ipa
lld.0-1-1l-paeh-trc-niw-sm-ipa
lld.0-1-1l-redaolyrarbil-eroc-niw-sm-ipa
lld.0-1-1l-redivorpcissalc-gnitneve-niw-sm-ipa
lld.0-1-1l-redivorp-gnitneve-niw-sm-ipa
lld.0-1-1l-redivorp-ytiruces-niw-sm-ipa
lld.0-1-1l-rellortnoc-gnitneve-niw-sm-ipa
lld.0-1-1l-remusnoc-gnitneve-niw-sm-ipa
lld.0-1-1l-sdaerhtssecorp-eroc-niw-sm-ipa
lld.0-1-1l-srebif-eroc-niw-sm-ipa
lld.0-1-1l-ssecorp-trc-niw-sm-ipa
lld.011lta
lld.0-1-1l-tnemeganam-ecivres-niw-sm-ipa
lld.0-1-1l-tnemnorivnessecorp-eroc-niw-sm-ipa
lld.0-1-1l-tnemnorivne-trc-niw-sm-ipa
lld.0-1-1l-trevnoc-trc-niw-sm-ipa
lld.0-1-1l-troppusltr-eroc-niw-sm-ipa
lld.0-1-1l-ycagel-23lenrek-eroc-niw-sm-ipa
lld.0-1-1l-ycagel-gnitneve-niw-sm-ipa
lld.0-1-1l-ycagel-goltneve-niw-sm-ipa
lld.0-1-1l-ycagel-ipawlhs-eroc-niw-sm-ipa
lld.0-1-1l-ycagel-loopdaerht-eroc-niw-sm-ipa
lld.0-1-1l-ycilopasl-ytiruces-niw-sm-ipa
lld.0-1-1l-yromem-eroc-niw-sm-ipa
lld.0-1-1l-yrtsiger-eroc-niw-sm-ipa
lld.0-1-1l-ytilitu-trc-niw-sm-ipa
lld.011pcvsm
lld.011rcvsm
lld.0-1-2l-elif-eroc-niw-sm-ipa
lld.0-1-2l-etatsx-eroc-niw-sm-ipa
lld.0-1-2l-gnirts-eroc-niw-sm-ipa
lld.0-1-2l-pukoolasl-ytiruces-niw-sm-ipa
lld.0-1-2l-tnemeganam-ecivres-niw-sm-ipa
lld.0-1-2l-yrtsiger-eroc-niw-sm-ipa
lld.018wdwyk
lld.018wewyk
lld.018wuwyk
lld.0_1_9tupnix
lld.01d3d
lld.01palosm
lld.01psu
lld.01rgmcil
lld.01rtswsm
lld.01sddwyk
lld.01sdewyk
lld.01sduwyk
lld.01tadwsm
lld.0_1vsm
lld.021bilroccv
lld.021cfm
lld.0-2-1l-elif-eroc-niw-sm-ipa
lld.0-2-1l-etelosbo-noitazilacol-eroc-niw-sm-ipa
lld.0-2-1l-hcnys-eroc-niw-sm-ipa
lld.0-2-1l-loopdaerht-eroc-niw-sm-ipa
lld.0-2-1l-noitazilacol-eroc-niw-sm-ipa
lld.0-2-1l-ofnisys-eroc-niw-sm-ipa
lld.0-2-1l-tnemnorivnessecorp-eroc-niw-sm-ipa
lld.021mcfm
lld.021pcvsm
lld.021pmacv
lld.021pmocv
lld.021rcvsm
lld.022ehdbk
lld.02dehcir
lld.02dnacsm
lld.02mf
lld.02rnr
lld.02trcvsm
lld.03081g_c
lld.03csiw
lld.03paossm
lld.03pxeasm
lld.03tsxf
lld.041bilroccv
lld.041cfm
lld.041emitnurcv
lld.041mcfm
lld.041pcvsm
lld.041pmacv
lld.041pmocv
lld.041trcnoc
lld.04aceclqs
lld.04bdeloeclqs
lld.04bdelotejsm
lld.04cfm
lld.04edbpsm
lld.04edbxsm
lld.04eseclqs
lld.04hcxesm
lld.04lcxesm
lld.04lpersm
lld.04lrcdism
lld.04pqeclqs
lld.04retjsm
lld.04setjsm
lld.04sutlsm
lld.04tcapmoceclqs
lld.04tejsm
lld.04tnijsm
lld.04trcvsm
lld.04txetsm
lld.04x2drsm
lld.04x3drsm
lld.05561trau_tendk
lld.0-62-0-1-1-nakluv
lld.063oad
lld.06mvbvsm
lld.06pcvsm
lld.07iud
lld.08mcvsm
lld.08pcvsm
lld.08rcvsm
lld.09mcvsm
lld.09pcvsm
lld.09rcvsm
lld.0htdbk
lld.1_01d3d
lld.101dbk
lld.1069lhnc
lld.10arfbirb
lld.10iffbirb
lld.10jpfbirb
lld.10nebirb
lld.10rpfbirb
lld.11010rellatsniocfdw
lld.1-1-1l-eliforpetavirp-eroc-niw-sm-ipa
lld.1-1-1l-emitetad-eroc-niw-sm-ipa
lld.1-1-1l-eroc-ecivres-niw-sm-ipa
lld.1-1-1l-etavirp-23lenrek-eroc-niw-sm-ipa
lld.1-1-1l-etavirp-ecivres-niw-sm-ipa
lld.1-1-1l-gifnoc-secived-niw-sm-ipa
lld.1-1-1l-gnildnahrorre-eroc-niw-sm-ipa
lld.1-1-1l-gubed-eroc-niw-sm-ipa
lld.1-1-1l-oi-eroc-niw-sm-ipa
lld.1-1-1l-redaolgnirts-eroc-niw-sm-ipa
lld.1-1-1l-redaolyrarbil-eroc-niw-sm-ipa
lld.1-1-1l-sdaerhtssecorp-eroc-niw-sm-ipa
lld.1-1-1l-srebif-eroc-niw-sm-ipa
lld.1-1-1l-ycagel-23lenrek-eroc-niw-sm-ipa
lld.1-1-1l-yromem-eroc-niw-sm-ipa
lld.1-1-2l-elif-eroc-niw-sm-ipa
lld.1-1-2l-pukoolasl-ytiruces-niw-sm-ipa
lld.114srdap
lld.11d3d
lld.1-2-1l-elif-eroc-niw-sm-ipa
lld.1-2-1l-noitazilacol-eroc-niw-sm-ipa
lld.1-2-1l-ofnisys-eroc-niw-sm-ipa
lld.13slsm
lld.16swodniwtros
lld.18w3xbph
lld.1adbk
lld.1bci0pe
lld.1bimteni
lld.1d2d
lld.1dci0pe
lld.1ebnidbk
lld.1ffspxms
lld.1hpgbdbk
lld.1htdbk
lld.1ifdbk
lld.1lclhnc
lld.1lcwhnc
lld.1lpdbk
lld.1lsdbk
lld.1mfxn0pe
lld.1-nakluv
lld.1nci0pe
lld.1nsasm
lld.1nsatn
lld.1nsdbk
lld.1ondbk
lld.1rfxn0pe
lld.1rgdbk
lld.1rhgudbk
lld.1rudbk
lld.1rysdbk
lld.1sfxn0pe
lld.1srosdbk
lld.1tldbk
lld.1uhdbk
lld.1urdbk
lld.1viddbk
lld.1vldbk
lld.1vorpegdirbimwmd
lld.1vsferu
lld.1vtsohnoc
lld.1zcdbk
lld.201ttdbk
lld.20mbidbk
lld.20nebirb
lld.2-1-1l-sdaerhtssecorp-eroc-niw-sm-ipa
lld.2-1-1l-yromem-eroc-niw-sm-ipa
lld.214srdap
lld.21d3d
lld.21no9d3d
lld.2202si_c
lld.23_05ri
lld.2311ugvdr
lld.23_23ri
lld.23_2sw
lld.23aducvn
lld.23batnoc
lld.23baw
lld.23bdelo
lld.23cbdo
lld.23cdivsm
lld.23d3ltc
lld.23divucvn
lld.23dmugvdr
lld.23elo
lld.23elrsm
lld.23esbddo
lld.23fimsi
lld.23fmlg
lld.23gfcmc
lld.23gldmoc
lld.23gmism
lld.23idg
lld.23ijcbdo
lld.23ilcelo
lld.23ipam
lld.23ipamlo
lld.23ipasar
lld.23ipastw
lld.23ipat
lld.23ipaten
lld.23ipavda
lld.23ivaicm
lld.23kbpmc
lld.23kcosw
lld.23khtelo
lld.23laidmc
lld.23lcnepo
lld.23lcnepovn
lld.23lcogvdr
lld.23lcrosm
lld.23lenrek
lld.23lgnepo
lld.23lgneporfivn
lld.23lgogvdr
lld.23lifiva
lld.23llaclx
lld.23llehs
lld.23ltcmoc
lld.23lxedo
lld.23lxpcsm
lld.23mcasm
lld.23mci
lld.23mdwwfv
lld.23mihslgovn
lld.23mmi
lld.23namicd
lld.23ngissm
lld.23_niawt
lld.23niwmic
lld.23opamf
lld.23orpelo
lld.23paciva
lld.23padlw
lld.23pccbdo
lld.23pissm
lld.23pmnsw
lld.23pxsmo
lld.23pxsxf
lld.23rccbdo
lld.23redaolyranibtafvn
lld.23relipmoctijxtpvn
lld.23relipmocvn
lld.23resu
lld.23rgmgfc
lld.23ruces
lld.23rvselo
lld.23sckdei
lld.23smetsysbustnevppa
lld.23tacsm
lld.23tejabv
lld.23tjcbdo
lld.23tpyrc
lld.23tspncs
lld.23tuaelo
lld.23txesxf
lld.23txetdo
lld.23uccbdo
lld.23ulg
lld.23vlgovn
lld.23vrslqs
lld.23_vuyi
lld.23wfvsm
lld.23wfxt
lld.23wmtk
lld.23wow
lld.23wptwx
lld.23wsflc
lld.23xdpdo
lld.23xhsr
lld.23xofdo
lld.23xrptsp
lld.23zl
lld.23ztqicm
lld.241tidbk
lld.24cfm
lld.2a91_20_dk
lld.2adbk
lld.2alehdbk
lld.2avxd
lld.2dci0pe
lld.2ebnidbk
lld.2-elpmaserws
lld.2emarfppa21f
lld.2ffxn0pe
lld.2gbdsm
lld.2gmtcwrx
lld.2htdbk
lld.2ifitdbk
lld.2ipami
lld.2ipam.reldnahlocotorp.hcraes
lld.2iunaltn
lld.2kunidbk
lld.2ledomatadgnigassem
lld.2lmoc
lld.2mroftalp21f
lld.2nci0pe
lld.2nigneds
lld.2reganamgifnoc
lld.2rysdbk
lld.2sfxn0pe
lld.2spuw
lld.2svvneercsss
lld.2tldbk
lld.2treosm
lld.2viddbk
lld.2vimc
lld.2vimwbms
lld.2vimwiscsi
lld.2v.ipaevitansrosnes
lld.2vnoisuf
lld.2vslitusrosnes
lld.2xadbk
lld.2zcdbk
lld.3010246ocnegadhvn
lld.301dbk
lld.30nebirb
lld.3adbk
lld.3alehdbk
lld.3b51_20_dk
lld.3bppwrx
lld.3dci0pe
lld.3etilqs
lld.3etilqs_e
lld.3etilqsniw
lld.3htdbk
lld.3ipat
lld.3lbehdbk
lld.3lcpiph
lld.3lmxsm
lld.3ltadsm
lld.3nci0pe
lld.3sfxn0pe
lld.404srdap
lld.408srdap
lld.40nebirb
lld.4142lhnc
lld.4_1tupnix
lld.42fxs0pe
lld.46063hls
lld.4611ugvdr
lld.462htfmcnevn
lld.46aad3pr
lld.46aducvn
lld.46catrea
lld.46cbfvn
lld.46corpatadtr
lld.46corpfs
lld.46cvsvn
lld.46d3ccls
lld.46dhstls
lld.46divucvn
lld.46dmugvdr
lld.46gfcktr
lld.46iiscls
lld.46iitsniocr
lld.46ipaedocnevn
lld.46ipaktr
lld.46ipapcltr
lld.46ipavn
lld.46khnfs
lld.46lcnepo
lld.46lcnepovn
lld.46lcogvdr
lld.46lgneporfivn
lld.46lgogvdr
lld.46mdvtn
lld.46mihslgovn
lld.46milhls
lld.46mmocfs
lld.46mocfs
lld.46mocrs
lld.46moctr
lld.46ocnegadhvn
lld.46ocnegd3rivn
lld.46ocnegpsidvn
lld.46ocpsidvn
lld.46opadfs
lld.46opafs
lld.46opahfs
lld.46opaktlr
lld.46opamf
lld.46opars
lld.46opasfs
lld.46opauls
lld.46padhvn
lld.46phscls
lld.46ppivls
lld.46qegls
lld.46qivls
lld.46ratrea
lld.46rdlocktr
lld.46redaolyranibtafvn
lld.46relipmoctijxtpvn
lld.46relipmocvn
lld.46rfivn
lld.46rtprrs
lld.46smetsysbustnevppa
lld.46thd3pr
lld.46tinils
lld.46tsohnoisnetxeaiw
lld.46tspncs
lld.46vlgovn
lld.46vxamls
lld.46wow
lld.46wowca
lld.46wowredaoldtt
lld.46xegptr
lld.4867346ocnegpsidvn
lld.4867346ocpsidvn
lld.4bppwrx
lld.4e41_20_dk
lld.4-elacsws
lld.4enignebew
lld.4fa1_20_dk
lld.4sncpr
lld.4trcpr
lld.50nebirb
lld.5141_70_dk
lld.51hrdasm
lld.51odasm
lld.51rodasm
lld.55-lituva
lld.59cendbk
lld.5sfxn0pe
lld.5tpircsp
lld.601dbk
lld.60nebirb
lld.6123fm
lld.65n81iuci
lld.6808_20_dk
lld.6808_c0_dk
lld.6cvscpchd
lld.6egaugnallarutan
lld.6erocpchd
lld.6lcpspxsm
lld.6lmxsm
lld.6pihsw
lld.6-retlifva
lld.6sfxn0pe
lld.70nebirb
lld.7311_20_dk
lld.74_relipmocd3d
lld.74tlmdbk
lld.75-cedocva
lld.75-ecivedva
lld.75-tamrofva
lld.7bwsm
lld.7ebv
lld.7msg_c
lld.7sfxn0pe
lld.8038ihnc
lld.8038lhnc
lld.8038whnc
lld.80nebirb
lld.8_2oiduax
lld.84tlmdbk
lld.8d3d
lld.8ldhreas
lld.8lfgmias
lld.8nwtoorvrd2aiwph
lld.8nwvrdrtnacsph
lld.8nwvrdstnacsph
lld.8puncr
lld.8rdnimas
lld.8sfxn0pe
lld.8srvercr
lld.8tlkbcr
lld.8tupnid
lld.8wtlfcph
lld.9000atadsln
lld.9084lhnc
lld.90fxs0pe
lld.90wsdbk
lld.913ehdbk
lld.9_2oiduax
lld.9_2_pwu_041tserppc
lld.9691_20_dk
lld.99matdbk
lld.9d3d
lld.9ftrp
lld.9hprom
lld.9level01d3d
lld.9sfxn0pe
lld.9tpircsj
lld.9txtp
lld.a01ihnc
lld.a01lhnc
lld.a01whnc
lld.a0embirb
lld.a0mmbirb
lld.a101dbk
lld.a11ihnc
lld.a11lhnc
lld.a11whnc
lld.a14kldbk
lld.a21ihnc
lld.a21lhnc
lld.a21whnc
lld.a46deetr
lld.a46geetr
lld.a46leetr
lld.a46peetr
lld.aamn
lld.abvltuo
lld.abydbk
lld.acdbk
lld.actrec
lld.adcicm
lld.addbk
lld.adrihsw
lld.aducvn
lld.afdbk
lld.agwls
lld.ahctapsm
lld.aidem.noitadnuof.xobx
lld.aidemoidarcfn
lld.aidemoidarhtb
lld.aidem.swodniw
lld.aiw4fmrb
lld.aldbk
lld.amicpimw
lld.anatroc_sreldnahsgnittes
lld.anighs
lld.anosrep.anatroc
lld.aooegdbk
lld.aosxs
lld.aowlqs
lld.apfxl0pe
lld.aps.anatroc
lld.apsdvmw
lld.aremacswodniw
lld.arkahc
lld.aroadsm
lld.arosdbk
lld.asanidbk
lld.asdtropsnart
lld.asfxn0pe
lld.aslenilffo
lld.asudbk
lld.atadatemmetsyselifvppa
lld.atadatemor
lld.atade
lld.atadelittrats
lld.atad.metsys
lld.atadneercskcol
lld.atadnoitacilppa.egarots.swodniw
lld.atadtuoyal.tupnitxet.secneirepxe.llehselbasopmoc.lanretniswodniw
lld.atledsm
lld.atouqksd
lld.atramtn
lld.atsniw
lld.aulipat
lld.aulmc
lld.aulptsmc
lld.b0mmbirb
lld.b101dbk
lld.bat21f
lld.bdeloeca
lld.bdelolqs
lld.bdgnalniw
lld.behdbk
lld.bew.swodniw
lld.bfkdsniw
lld.bhbhxf
lld.bilgfcdhedb
lld.billet
lld.billitullatsni
lld.billitumcc
lld.billitupsf
lld.bilmas
lld.bilmta
lld.bilncxeppa
lld.bilpsw
lld.bilrekorb
lld.bilrocniw
lld.biltenbd
lld.biltlf
lld.bilu
lld.bilww
lld.bilxu
lld.bimpct
lld.bksbat
lld.bltissm
lld.bmsmv
lld.bojsmid
lld.bolbytilibacilppaxppa
lld.boniwpps
lld.bpscciu
lld.brutsidtonod.anatroc
lld.bsbew
lld.bsfxn0pe
lld.bsosm
lld.bsudk
lld.bsuniw
lld.bsu.secived.swodniw
lld.btdaa
lld.btusm
lld.bupprasms
lld.bupserdf
lld.buptfos
lld.busildbk
lld.bustnof
lld.butsdk
lld.butsipam
lld.buts.noitpecrep.swodniw
lld.butsyxorpagmm
lld.butsyxorp.anatroc.swodniw
lld.butsyxorp.aps.anatroc
lld.butsyxorpbrutsidtonod
lld.butsyxorpcnysanatroc
lld.butsyxorpcsw
lld.butsyxorpdn
lld.butsyxorp.ecafretnikcod
lld.butsyxorpecivresselur
lld.butsyxorperocanatroc
lld.butsyxorp.evilxobx.gnikrowten.swodniw
lld.butsyxorpfismv
lld.butsyxorp.gninoisivorp.tnemeganam.swodniw
lld.butsyxorp.golana.kcabdeef.lanretni.swodniw
lld.butsyxorp.guaniojniamodduolc.swodniw
lld.butsyxorphtlaehytiruces
lld.butsyxorp.ipaanatroc
lld.butsyxorp.ipatrniwecivreshceeps
lld.butsyxorpirunoitca
lld.butsyxorp.kcabyalp.aidem.swodniw
lld.butsyxorpllehselbasopmoc
lld.butsyxorp.nogol.iu.lanretni.swodniw
lld.butsyxorpnommoceroceno
lld.butsyxorpnommocgolana
lld.butsyxorpnommocllehscp
lld.butsyxorpnommocnommocllehs
lld.butsyxorpnommocpaueroceno
lld.butsyxorpreganamslangisanatroc
lld.butsyxorp.rekovnisae
lld.butsyxorp.renetsiltrelamd
lld.butsyxorp.replehipamanatroc
lld.butsyxorpsecalp
lld.butsyxorpselur
lld.butsyxorpslangisanatroc
lld.butsyxorpsnoissimreptcatnoc
lld.butsyxorp.snottubllac
lld.butsyxorpsrednimer
lld.butsyxorp.tnemllorneoib.iu.lanretni.swodniw
lld.butsyxorptseggusotuasecalp
lld.bwtlfcph
lld.bzudbk
lld.c0mmbirb
lld.c0nebirb
lld.c101dbk
lld.c46tspncs
lld.cacctmi
lld.cacpjmi
lld.cacrkmi
lld.cadlmthsm
lld.camdbk
lld.cartcbdo
lld.cbdoeca
lld.cbfvn
lld.ccaelo
lld.ccydbk
lld.cdadsm
lld.cdrbil
lld.cdrsm
lld.ce01_20_dk
lld.ceaamwfm
lld.ced9pvsm
lld.ceda2gepmsm
lld.cedgepjmfm
lld.cedjfmrb
lld.cedocfomim
lld.cedocnibim
lld.cedv2gepmsm
lld.cedvdfm
lld.cendbk
lld.ceqgst
lld.cerco.cnyl
lld.cerotsp
lld.ceslacol
lld.cesnalw
lld.cespihsn
lld.cespiniw
lld.cesqm
lld.cessd
lld.cestdi
lld.cexexad
lld.cfcepsca
lld.cfdbk
lld.cgn.noitartsigerecivedresu
lld.cgntpyrc
lld.ch3tod
lld.chaln
lld.charsm
lld.chbdbk
lld.chces2l
lld.chctapsm
lld.cherocten
lld.chfhsniw
lld.chfw
lld.chgnipuorg
lld.chkcosniw
lld.chmcu
lld.chnalw
lld.chnaww
lld.chpf
lld.chprnp
lld.chsidn
lld.chsnd
lld.chteniw
lld.chtgdbk
lld.cidbk
lld.cidctmi
lld.cidkpjmi
lld.ciffart
lld.cilbupipaeabm
lld.cilvrsst
lld.cinhtnysmv
lld.cipea
lld.cisumd
lld.citehtnyspigxobx
lld.citsongaid
lld.citsongaidyromem
lld.cmmcsnd
lld.cmmrocsm
lld.cne2gepmsm
lld.cne362hfm
lld.cne3casm
lld.cne462hfm
lld.cnecaafm
lld.cneftrhyblod
lld.cnetamyblod
lld.cnetrec
lld.cnexpvsm
lld.cnys.anatroc
lld.cnysatadenohp
lld.cnysgnittes
lld.cnysgnittesresworb
lld.cnysksatpxd
lld.cnysniw
lld.coldmsm
lld.colrs
lld.colsttsm
lld.corpatadtr
lld.corpces
lld.corpcescpiniw
lld.corpfrep
lld.corpsms
lld.corpvsm
lld.cossaxpnp
lld.coxaniojgniteem.cnyl
lld.cpdlsda
lld.cpfxl0pe
lld.cpilc
lld.cpismniw
lld.cpmocmpt
lld.cpps
lld.cpraiw
lld.cprsniw
lld.cq_05ri
lld.cq_14ri
lld.crpitdbk
lld.crpninpw
lld.crstenfm
lld.crsvcercm
lld.csadsm
lld.csdiscsi
lld.csidnuf
lld.csimlapniwnoitacol
lld.csvmpt
lld.csvrdas
lld.ctnvdbk
lld.ctrorvmmtr
lld.cu.cnyl
lld.cuuci
lld.cvresaiw
lld.cvrsoibw
lld.cvs3tod
lld.cvsacn
lld.cvsacp
lld.cvsaln
lld.cvsapl
lld.cvsbat
lld.cvsbewhs
lld.cvscespi
lld.cvscew
lld.cvscgn
lld.cvsci
lld.cvscidemsaaw
lld.cvscncw
lld.cvscpchd
lld.cvscsc
lld.cvscsw
lld.cvsdehcs
lld.cvsdilw
lld.cvsdippa
lld.cvsdtll
lld.cvsedb
lld.cvsedomdeddebme
lld.cvsfb
lld.cvsfl
lld.cvsforp
lld.cvsfrepscihparg
lld.cvsgaid
lld.cvsgarfed
lld.cvsger
lld.cvshda
lld.cvshf
lld.cvshml
lld.cvshsuppawmd
lld.cvshtf
lld.cvsimw
lld.cvsipatenxobx
lld.cvsisn
lld.cvskempttpyrc
lld.cvsmcw
lld.cvsmebw
lld.cvsmforpten
lld.cvsmsud
lld.cvsmsw
lld.cvsmurs
lld.cvsnalw
lld.cvsnaww
lld.cvsnompotksedcpw
lld.cvsod
lld.cvsp2p
lld.cvspae
lld.cvspdc
lld.cvspg
lld.cvspigxobx
lld.cvspilc
lld.cvsplhpi
lld.cvspm
lld.cvsppapcrvahtb
lld.cvsprnp
lld.cvsptcvahtb
lld.cvsptss
lld.cvsputesten
lld.cvsrds
lld.cvsreganamesnecil
lld.cvsreganamsseccadengissa
lld.cvsresupdc
lld.cvsretuorsms
lld.cvsrew
lld.cvsrgmes
lld.cvsrgmnocsdfw
lld.cvsrntccgn
lld.cvsrocsm
lld.cvsrots
lld.cvsrsnes
lld.cvssd
lld.cvssfe
lld.cvsskw
lld.cvsspm
lld.cvssredlofkrow
lld.cvstactpyrc
lld.cvstbspam
lld.cvstekramatad
lld.cvstentsoh
lld.cvstluav
lld.cvstmgmppaesirpretne
lld.cvstpyrc
lld.cvstsidreep
lld.cvstsil
lld.cvstsohpew
lld.cvstsohvh
lld.cvstvew
lld.cvsvorp
lld.cvsvrs
lld.cvsvs
lld.cvsytilaerderahs
lld.cvuctm
lld.cxrpptth
lld.cytupjmi
lld.d3.gnitnirp.scihparg.swodniw
lld.dalsle
lld.daolnwodatled
lld.daphcnualgcc
lld.daqm
lld.darsai
lld.datsidreep
lld.dbktfos
lld.dcbps
lld.dced34pm
lld.dced4gpm
lld.dceds4pm
lld.dcedsisp
lld.dcedsvmw
lld.dcnesvmw
lld.dcnexvmw
lld.dcpjmi
lld.debme2t
lld.deddebmemcc
lld.deganamnu.evitan.erutcurtsarfni.tnemeganam.tfosorcim
lld.dehcs
lld.dehsp
lld.deiscsi
lld.dekni
lld.delmthsm
lld.demudrv
lld.derahsenignesccm
lld.derahsfso
lld.derahsmltn
lld.derahspnu
lld.derahstneilcbrek
lld.derahsxh.lmax.iu.eciffo
lld.derahs.xobni
lld.derahsxs
lld.derc.iu.swodniw
lld.deretliflmxssecorpmd
lld.derppjmi
lld.detageledegnahcxeatadecneirepxepordgard
lld.detaveleecivedevomer
lld.dfasm
lld.dfom
lld.dgisci
lld.dgistib
lld.dgpufci
lld.dhcsgaids
lld.dhcsksat
lld.dhvtoob
lld.dienilno.noitacitnehtua.ytiruces.swodniw
lld.dierawdrah.eliforp.metsys.swodniw
lld.dihsrosnes
lld.dimcc
lld.dimetsys.eliforp.metsys.swodniw
lld.diten
lld.diumoc
lld.divcci
lld.divtoob
lld.divucvn
lld.diwlqs
lld.djhrkmi
lld.dkmh
lld.dlmccsms
lld.dlmcpjmi
lld.dmcsrniw
lld.dmlcsm
lld.dmodasm
lld.dnabelpoep
lld.dnabmd
lld.dnarbniw
lld.dnekbgfc
lld.dnettanu
lld.dngbcwrx
lld.dnhism
lld.dnlrgdbk
lld.dnuorgkcabemit
lld.dnuorgkcab.reganamyreviledtnetnoc
lld.dnuorgkcab.secived.swodniw
lld.dnuosd
lld.docedvmw
lld.docnevmw
lld.domd3pm
lld.domdamw
lld.domdpsmw
lld.domrotsmrs
lld.dracsniw
lld.draugecived_23niw
lld.draziwiutpyrc
lld.drhtvorp
lld.drocerdtt
lld.drooctoober
lld.drowkg
lld.drow.lmax.iu.eciffo
lld.drowssaperutcip.iu.swodniw
lld.drpitdbk
lld.drukdbk
lld.drzwsxf
lld.dssndfad
lld.dssnd.yrevocsidecivres.gnikrowten.swodniw
lld.dsupwrx
lld.dsvrpimw
lld.dswdf
lld.dswfad
lld.duolcmcc
lld.dvdq
lld.dvsdv
lld.dwftvew
lld.dwnttbno
lld.dzvrdas
lld.eagdbk
lld.ebdbk
lld.ebooresu
lld.ebxeca
lld.ecafretnisl
lld.ecalpkrow.tnemeganam.swodniw
lld.ecapsim
lld.ecapskrownep
lld.ecapskrowst
lld.ecartaiw
lld.ecartmrs
lld.ecartpdd
lld.ecartssv
lld.ecartten
lld.ecdasm
lld.eciffoco.cnyl
lld.ecivedecafretninamuh.secived.swodniw
lld.ecivedotyalp
lld.ecivedvscp
lld.ecivresatadresu
lld.ecivresbcn
lld.ecivresemeht
lld.ecivresenohp
lld.ecivreserutpac
lld.ecivresfotniop.secived.swodniw
lld.ecivresgatb
lld.ecivresgnigassem
lld.ecivresgnirehtet
lld.ecivreshcraeslacolgnib
lld.ecivres.htooteulb.tfosorcim
lld.ecivresllatsni
lld.ecivresnpw
lld.ecivresppaecruos
lld.ecivresppaemit
lld.ecivrespparedoced
lld.ecivresreniatnocisvh
lld.ecivresresu.htooteulb.tfosorcim
lld.ecivresresunpw
lld.ecivresresurvdtsacb
lld.ecivresretsarspx
lld.ecivresrosnes
lld.ecivresselur
lld.ecivrestellaw
lld.ecivrestij.praw.swodniw
lld.ecivrestsohpa
lld.ecivrestupni
lld.ecivrestxetelbat
lld.ecivreswolfkrowtnirp
lld.ecivresxdr
lld.ecivresytimixorp
lld.eclqsmcc
lld.ecnanetniamxednimip
lld.ecnaveler.elpoep.lanretniswodniw
lld.ecnaveler.elpoep.tfosorcim
lld.ecneirepxeerahs.nommocllehs.lanretni.swodniw
lld.ecneirepxeerahsraen-llehs-lanretni-swodniw-tfosorcim
lld.ecneirepxelortnocstnuocca.nommocllehs.lanretni.swodniw
lld.ecneirepxerekcipecived.noisnetxemroftalp.lanretni.swodniw
lld.ecneirepxerellortnoctsacarim
lld.ecneirepxerennabtsacarim.noisnetxemroftalp.lanretni.swodniw
lld.ecneirepxetnirp.nommocllehs.lanretni.swodniw
lld.ecneirepxetuoylfkcolc
lld.ecneirepxetuoylfyrettab
lld.ecneuqes.aimul
lld.ecnonrei
lld.ecruosaidemaremacdr
lld.ecruosaidemdnrp
lld.ecruosatadgnimaertsxppaelif
lld.ecruosatadsptth
lld.ecruosbnrmasm
lld.ecruoseriu
lld.ecruostnemeleecived
lld.ecruos.wolfkrow.tnirp
lld.ecruosyrevocsidimw
lld.edargpu.seton.tfosorcim
lld.edargpusw
lld.edargpuyrotisoperetats.swodniw
lld.edirrevosgnitteserutaef
lld.edirrevospuorgtnof
lld.edirrevossenthgirb.yalpsid.scihparg.swodniw
lld.edirrevotnemecnahneyalpsid.yalpsid.scihparg.swodniw
lld.edmniw
lld.edocinulcw
lld.edocsnartfm
lld.edomemag
lld.eerocsm
lld.egakcapnoisivorpxppa
lld.egamicw
lld.egappca
lld.egarim.swodniw
lld.egarots_cw
lld.egarotsdednapxeerugifnoc
lld.egarots.evilxobx.gnimag.swodniw
lld.egarots.iu.swodniw
lld.egarotsrekcartdaeh
lld.egarotssom
lld.egarots.swodniw
lld.egassemetats
lld.egasuegarots
lld.egasutad
lld.egasuyrettab_sreldnahsgnittes
lld.egdirbecaps
lld.egdirbmcs
lld.egdirbnommoc.veu.tfosorcim
lld.egdirbsj_tnemssessaeruces
lld.egnahcxeatad
lld.ehcacbmuht
lld.ehcacco
lld.ehcacnrp
lld.ehcacsd3d
lld.ehcactnf
lld.ehcac.ylimaf
lld.ehdbk
lld.ehssiv
lld.eirt
lld.ekinpv
lld.elacoldcbtes
lld.elbatrop.secived.swodniw
lld.eldiger
lld.eldism
lld.elgnaegde
lld.eliatdbk
lld.elibom.nommoc.tnemniatretne.sm
lld.elibom.tnemniatretne.erotsniw
lld.elifcpiniw
lld.eliforptccahs
lld.elorsd
lld.elosnoc
lld.elytsmd
lld.emantsoh.gnikrowten.swodniw
lld.emanuteg
lld.emarfaidemtr
lld.emarfei
lld.emarfnoitacilppa
lld.emarfppa21f
lld.emarfrerolpxe
lld.emehtxu
lld.emenohpesenapaj.noitazilabolg.swodniw
lld.emignirtsgnidaerxhc
lld.emimd
lld.emimltuo
lld.emimsxe
lld.emit23w
lld.emitnurllehsoloh
lld.emitnur.rotcellocdradnats.buhscitsongaid
lld.emoegdbk
lld.emor_secneirepxederahs_sreldnahsgnittes
lld.emradbk
lld.emrutdbk
lld.emulovelbatpyrcne_23niw
lld.enapelpoep
lld.endbk
lld.enebdbk
lld.enigneaidemfm
lld.enigneatadwolfksat
lld.enignebew
lld.enignecnys.ylimaf
lld.enignectro
lld.enigneerutpacfm
lld.enignegnigami
lld.enignehf
lld.enigneims
lld.enignellornemd
lld.enignemgbx
lld.enignepm
lld.enigneputesten
lld.enignerroc
lld.enignesttsm
lld.enigneteser
lld.enignevorp
lld.enigneysetruoc
lld.enigneytilibacilppaxppa
lld.enilemit
lld.enilnogneteser
lld.enohpeganam_sreldnahsgnittes
lld.enohp.lmax.iu.swodniw
lld.enohp.sdractrams.secived.swodniw
lld.eomdamw
lld.eomdpsmw
lld.epipsubmv
lld.epolevne
lld.eprocsm
lld.eriatilos
lld.erifocism
lld.eroc01d3d
lld.eroc1_01d3d
lld.eroc.anatroc
lld.eroc.bew.noitacitnehtua.ytiruces.swodniw
lld.eroccimv
lld.eroccnysgnittes
lld.eroccsd
lld.erocctmi
lld.eroc.daa
lld.erocdso
lld.eroceca
lld.eroceno.anatroc.swodniw
lld.eroceno_colsttsm
lld.eroceno.egarots.swodniw
lld.eroceno_enignesttsm
lld.eroceno_gnersps
lld.eroceno_ipas
lld.eroceno.snoisnetxetnemyolpedxppa
lld.eroceno_xrsps
lld.erocevitangnigassem
lld.erocfm
lld.erocfrep
lld.erocfrv
lld.erocgbd
lld.erocgim
lld.erochs
lld.erocjbokni
lld.eroc.ledomnoitacilppa.swodniw
lld.eroc.lmax.iu.eciffo
lld.erocloptidua
lld.eroclortnocpam
lld.erocmcc
lld.erocmcvppa
lld.erocmebw
lld.erocmsid
lld.erocmwd
lld.erocnoitamotuaiu
lld.erocnpw
lld.erocosu
lld.erocpchd
lld.erocpdr
lld.erocpp
lld.erocppa.ipaniwt
lld.erocppa.iuniwt
lld.erocppa.lenrek
lld.eroc.redivorpnekot.tnuoccatfosorcim
lld.erocretlifdraobyek
lld.erocretuorhsupmd
lld.erocrossecorpecaf
lld.erocrs
lld.erocsbc
lld.erocsbonk
lld.erocsdw
lld.erocsfe
lld.erocsle
lld.erocsliatedrorre
lld.erocsms
lld.erocss
lld.erocst
lld.eroctaeh
lld.eroctenfm
lld.eroctsohsom
lld.erocvdrmv
lld.erocvmw
lld.erocvorp
lld.eroc.yrotisoperetats
lld.erocyrotisoperetats.swodniw
lld.erotsatadmv
lld.erotsatadsai
lld.erotsatadvni
lld.erotsatadvorp
lld.erotsatemcnysniw
lld.erotsdi
lld.erotsduolc.swodniw
lld.erotsetatsic
lld.erotsgim
lld.erotsic
lld.erotsinu
lld.erotslaitaps
lld.erots.ledomnoitacilppa.swodniw
lld.erotslop
lld.erotsmip
lld.erotspg2l
lld.erotsresullaxppa
lld.erotssetadpu
lld.erotsspam
lld.erotssxs
lld.erotsvrd
lld.erots.wenstahw
lld.eruces_evalcnetco
lld.erucesmsvretpadarosnesnoitingocerecaf
lld.erutcurtsarfnicnys
lld.erutluc
lld.erutpacscihparg
lld.erutpactekcaptneveten
lld.esabcmm
lld.esabevitangnigassem
lld.esabipaevf
lld.esablenrek
lld.esabmmniw
lld.esabmoc
lld.esabmui
lld.esabotohp
lld.esabpdr
lld.esabredivorpimwmcc
lld.esabrevrespdr
lld.esabtpyrc
lld.esabtrcu
lld.esabwf
lld.escrsumcc
lld.esctidua
lld.eskoidua
lld.esnecilmeo
lld.esnesegarots_sreldnahsgnittes
lld.esnpxw
lld.esopmocsxf
lld.esrapsd
lld.esuoherawatad.buhscitsongaid
lld.etadltnico.cnyl
lld.etadpuotuazt
lld.etadpuppaotuauw
lld.etadpurd
lld.etargimmada
lld.etargimswda
lld.etargimvorp
lld.etatstneilc
lld.etatstnuoccadetcennoc
lld.etillmx
lld.etirwd
lld.etirwdaerfm
lld.etlpsc
lld.etomertrcpr
lld.etoneno.lmax.iu.eciffo
lld.etuorsxf
lld.etupmocmv
lld.eueuqgsm23niw.cnyl
lld.eueuqnoitca
lld.evalcne_esabtrcu
lld.evalcnetco
lld.evasemaglbx
lld.evawicm
lld.evawq
lld.evawsd
lld.evisremmi.iu.swodniw
lld.evitan.derahs.ppaaremac.tfosorcim
lld.evitannigulpreweiv.aimul
lld.evitan.noitatnemirepxe.sotohp
lld.evitan.nommoc.rotideoediv
lld.evitan.pdixobx
lld.evitan.ppaaremac.tfosorcim
lld.evitan.rotcartxeemarfoediv
lld.evitan.wolfkrow.gnitnirp.scihparg.swodniw
lld.exeiscsi
lld.ezadbk
lld.fd01_20_dk
lld.fdotrao
lld.fdp.atad.swodniw
lld.fdp_pxe
lld.fduu
lld.fedcg
lld.ferblt
lld.ferpnalw
lld.ferpnaww
lld.ffitsxf
lld.fiehsm
lld.fismv
lld.fitmgmten
lld.fivsicsw
lld.fksctmi
lld.fkspjmi
lld.fksrkmi
lld.fmlmxosm
lld.fmst
lld.fnips
lld.fnoccbdo
lld.fodxisnoitalumisnoitpecrep
lld.forprwop
lld.forprwoplcw
lld.foxd3d
lld.frepbsu
lld.frepdaol
lld.frepgaid
lld.frepipat
lld.frepkrowemarf
lld.frepmcc
lld.frepstib
lld.frep_tenpsa
lld.frepxften
lld.frptnese
lld.fsamw
lld.fsamxd
lld.fsaq
lld.fsdbk
lld.fso.lmax.iu.eciffo
lld.fstpit
lld.ftcsm
lld.ftisdvmd
lld.ftmism
lld.ftnimd
lld.fuis_sreldnahsgnittes
lld.futdbk
lld.gaid9tpircsj
lld.gaidadsm
lld.gaidarkahc
lld.gaiddgi
lld.gaidsar
lld.gaidtenoda
lld.gbdmdv
lld.gepjmtfmcedvn
lld.gercnys
lld.gerffo
lld.gersd
lld.geru
lld.gerwx
lld.gerxppa
lld.gfc3tod
lld.gfcctmi
lld.gfchf
lld.gfcktr
lld.gfcmis
lld.gfcnalw
lld.gfcnaww
lld.gfcpipct
lld.gfcppae
lld.gfcsltt
lld.gfctalxpi
lld.gfctenh
lld.gfctlism
lld.gfcwf
lld.gfcwfhtua
lld.gfnocilc
lld.gifnocmdmvjr
lld.gifnocmroftalptnirp
lld.gifnoctnirp
lld.gifnocxften
lld.gimcsc
lld.gimecivrestxetelbat
lld.gimftcsm
lld.gimhs
lld.gimmoc
lld.gimoiten
lld.gimpjmi
lld.gimpnp
lld.gimpps
lld.gimrkmi
lld.gimsii
lld.gimtxetrtnc
lld.gimxhc
lld.gkpst
lld.gld3tod
lld.glddracs
lld.gldelo
lld.gldlpcar
lld.gldmmocpps
lld.gldnalw
lld.gldsar
lld.gldtpyrc
lld.glubdbk
lld.gnalm
lld.gnegaids
lld.gnegbd
lld.gneloptrec
lld.gnemihs
lld.gnenigulpvorp
lld.gneoidua
lld.gneriu
lld.gnersps
lld.gnesni
lld.gneteser
lld.gneuauw
lld.gneziwps
lld.gnicarttrniw
lld.gnicivrestneilc
lld.gnidnaltfos.iu.swodniw
lld.gnidnibnekot
lld.gnigakcap.aidemhcir.tfosorcim
lld.gnigakcap.buhscitsongaid
lld.gnigakcapxppa
lld.gnigami.aimul
lld.gnigassemeroc
lld.gnigassemst
lld.gnigatsmv
lld.gnihsilbupvppa
lld.gnikni.tupni.iu.swodniw
lld.gnikrowtenelibom
lld.gnikrowten.swodniw
lld.gnimaerts.aidem.swodniw
lld.gnimag_sreldnahsgnittes
lld.gnimaoretatsegakcap
lld.gnimaorroknpj
lld.gnimaorshc
lld.gnimaortluav
lld.gninoisivorperocmpt
lld.gninoitpacdesolc_sreldnahsgnittes
lld.gnirahsaidempmw
lld.gniriapecived
lld.gnisitrevda.tfosorcim
lld.gnitarsm
lld.gnitide.aidem.swodniw
lld.gnitnirp.scihparg.swodniw
lld.gnitpircsvppa
lld.gnitropermcd
lld.gnitropervppa
lld.gnitsohpotksed.llehselbasopmoc.lanretniswodniw
lld.gnitsohweiv.secneirepxe.llehselbasopmoc.lanretniswodniw
lld.gnittamrofrebmunenohp.noitazilabolg.swodniw
lld.gnittesnacs
lld.gniward.iu.kirelet
lld.golaidtnirp
lld.golana.kcabdeef.lanretni.swodniw
lld.golatacatadssenisub.ssecca.eciffo.tfosorcim
lld.golatacvppa
lld.golctdsm
lld.golfxt
lld.golmdmw
lld.goltnevesms
lld.gpetomer
lld.gpjhcir.gnigakcap.tfosorcim
lld.gsdbk
lld.gsmrpm
lld.guaniojniamodduolc
lld.gubdbk
lld.gulptoh
lld.hceeps.aidem.swodniw
lld.hclodbk
lld.hcnualtsac
lld.hcraescisumanatroc
lld.hcraes.egarots.swodniw
lld.hcraes.iu.swodniw
lld.hcraeslacol.anatroc
lld.hcraes.xednitniartsnoc
lld.hcrssm
lld.hctiwstupni
lld.hcxeeca
lld.hdtnim
lld.higelxtm
lld.hneasr
lld.hnessd
lld.hpargenecs.ktppa.tide
lld.hpargp2p
lld.hparg.tneilc.gnib.tfosorcim
lld.hpgbdbk
lld.hphcrshf
lld.hpipam
lld.hpltuo
lld.hpmradbk
lld.hpssm
lld.hpyhsle
lld.hsabdbk
lld.hsapdbk
lld.hsncpr
lld.hstd
lld.hstenncw
lld.hstenp2p
lld.hstsidreep
lld.htbdf
lld.htbfad
lld.htbhsw
lld.htlaeh_psw
lld.htnysmd
lld.htooteulb.lanretni.swodniw
lld.htooteulb.secived.swodniw
lld.htuabt
lld.htualarutan
lld.htuamis
lld.htuasd
lld.htuasltt
lld.htuauwerots
lld.iabewdr
lld.iaeetsurtpuorg
lld.iaenozemit
lld.iaetaddellatsnieites
lld.iaetadpuevf
lld.iagerledomecivres
lld.iakcosniw
lld.iallatsnielifei
lld.iaptth
lld.iapunaelc
lld.iaputessii
lld.iaputesten
lld.iarevresppa
lld.iasidsst
lld.iastnenopmoclanoitpoeierugifnoc
lld.iatidedcb
lld.iatooberuces
lld.iatsidreep
lld.iatsohmv
lld.ibdracs
lld.ibdrocsm
lld.ic_dpw
lld.ichtb
lld.ic_its
lld.icks
lld.icmaerts
lld.icmm
lld.icoxtm
lld.icssnpmw
lld.icu.lmax.iu.eciffo
lld.idim.secived.swodniw
lld.idwgxd
lld.idwlcw
lld.ieerocsm
lld.ifdbk
lld.ifitdbk
lld.ifiw.secived.swodniw
lld.ifsmsdbk
lld.igxd
lld.iicsi_c
lld.ilcacp
lld.ilcdehcs
lld.ilcdilw
lld.ilcecs
lld.ilcipss
lld.ilcmas
lld.ilcnogol
lld.ilcrgmresu
lld.ilcsdk
lld.ilcsfd
lld.ilcskw
lld.ilcsse
lld.ilctluav
lld.ilctorpyeksm
lld.ilctrec
lld.ilcvrs
lld.ilcworb
lld.imotimw
lld.imwbupst
lld.imwctdsm
lld.imwegarots
lld.imwfwu
lld.imwgfcst
lld.imwic
lld.imwiscsi
lld.imwnwodkcoldeddebme
lld.imwopmu
lld.imwpps
lld.imwrs
lld.imwsdv
lld.imwsoq
lld.imwssv
lld.imwtnega.veu.tfosorcim
lld.inkdbk
lld.ipa3tod
lld.ipaabh
lld.ipaacn
lld.ipaaln
lld.ipaanatroc
lld.ipaaww
lld.ipabac
lld.ipabad
lld.ipacbsu
lld.ipaccu.cnyl
lld.ipacew
lld.ipacne
lld.ipacpw
lld.ipacsc
lld.ipacsw
lld.ipacvsedomdeddebme
lld.ipaderekorbhceeps
lld.ipadippa
lld.ipadlc
lld.ipadpjmi
lld.ipadssubm
lld.ipadsw
lld.ipadtll
lld.ipaeabm
lld.ipaecivedelbatrop
lld.ipaeddn
lld.ipaedocnevn
lld.ipaekinpv
lld.ipaenigneycilopdippa
lld.ipaenilffollawerif
lld.ipaevf
lld.ipaevitansrosnes
lld.ipafdn
lld.ipaforp
lld.ipager
lld.ipagmiw
lld.ipagsmw
lld.ipahcrshf
lld.ipahda
lld.ipahsppa.cnyl
lld.ipaiul
lld.ipaiup
lld.ipajasm
lld.ipajbocn
lld.ipakjmi
lld.ipalfc
lld.ipallawerif
lld.ipallehseroc
lld.ipamcw
lld.ipamdamo
lld.ipamec
lld.ipamf
lld.ipami
lld.ipammh
lld.ipamocpps
lld.ipampbsu
lld.ipamqs
lld.ipamr
lld.ipamsid
lld.ipamsud
lld.ipamurs
lld.ipamwd
lld.ipanalw
lld.ipanaphtb
lld.ipanaww
lld.ipancw
lld.ipaniwt
lld.ipannocifiw
lld.ipanoitacol
lld.ipaomanyd
lld.ipaosu
lld.ipapcltr
lld.ipapd
lld.ipapdss
lld.ipaperppa
lld.ipapfv
lld.ipapg
lld.ipapjmi
lld.ipaplhpi
lld.ipapmns
lld.ipaprs
lld.ipaptth
lld.ipaputes
lld.ipaputesten
lld.ipapwuger
lld.iparalullec
lld.ipareganamesnecil
lld.ipareganamputesecived
lld.iparkmi
lld.iparotshe
lld.iparpm
lld.ipas
lld.ipasbc
lld.ipasbv
lld.ipasdtn
lld.ipasihdu
lld.ipasi_tenpsa
lld.ipasmsbm
lld.ipasnd
lld.ipasnes
lld.ipasp
lld.ipaspchd
lld.ipasrosnes
lld.ipassv
lld.ipasulc
lld.ipasxf
lld.ipatasniw
lld.ipatcennocecivedelbatrop
lld.ipatesco
lld.ipatfehtitnacdd
lld.ipatiduapde
lld.ipatmgm
lld.ipatneilctco
lld.ipatnemllorne
lld.ipatniprw
lld.ipatsar
lld.ipatvew
lld.ipauw
lld.ipavedmm
lld.ipavn
lld.ipavnw
lld.ipawlhs
lld.ipaww
lld.ipaxfid
lld.ipazzuc
lld.ipims
lld.iroamdbk
lld.ironidbk
lld.iscn
lld.isma
lld.isnniw
lld.its3surb
lld.iu23niw
lld.iu3tod
lld.iu5sp
lld.iuacp
lld.iubdr
lld.iubsu
lld.iucdar
lld.iucsc
lld.iuctgnimag
lld.iudaphcuotlautriv
lld.iudeboosm
lld.iuderc
lld.iudercgnc
lld.iudercniw
lld.iudinp
lld.iudnacsm
lld.iudpmw
lld.iudptwx
lld.iuecnanetniam
lld.iuedb
lld.iuegnevacs
lld.iuei
lld.iuelorza
lld.iuemeht
lld.iuerutpacaremac
lld.iuesworb
lld.iuevf
lld.iufedaiw
lld.iufirevppa
lld.iufso
lld.iuftcsm
lld.iugfcppae
lld.iuhdp
lld.iuhtua
lld.iulacol
lld.iulaires
lld.iulca
lld.iullornetrec
lld.iulortnocstnuocca
lld.iulteniniw
lld.iumacbew
lld.iumci
lld.iumedom
lld.iunalw
lld.iunaptb
lld.iungppae
lld.iuniwt
lld.iunompct
lld.iuouqksd
lld.iupdrmccs
lld.iupg3tod
lld.iupgnalw
lld.iupnp
lld.iuppteni
lld.iuputesniw
lld.iurekciperahs
lld.iurekorbhtua
lld.iurekorbnekot
lld.iurew
lld.iurhstn
lld.iuroloc
lld.iusd
lld.iusrednimer
lld.iussnpmw
lld.iu.swodniw
lld.iusxf
lld.iutcennockciuq
lld.iuth
lld.iutnemllorneoib
lld.iutnirp
lld.iutpyrc
lld.iutrats
lld.iutspmoc
lld.iuvrdinu
lld.iuweivpmuj
lld.iuwolfksat
lld.iuwolfnimdadlohserhtsgnittesmetsys
lld.iuwolfsecived
lld.iuxeno
lld.iuxfsys
lld.iuytt
lld.ivorplmx
lld.jbocsc
lld.jboecivreshsdpw
lld.jboiup
lld.jbojpimw
lld.jbokni
lld.jborcs
lld.jboreganamedargpunoitide
lld.jboved
lld.jpvrdas
lld.jugnidbk
lld.kaydbk
lld.kcabdeefoib.iu.swodniw
lld.kcabllaceliforpegaugnalresu
lld.kcabllaciumetademit
lld.kcabyalpaidemdnuorgkcab.aidem.swodniw
lld.kcapvda
lld.kcapvdaei
lld.kcartfrep
lld.kcartgaid
lld.kcatsobrut
lld.kcehcbew
lld.kcehcerpreganamycilop
lld.kcoswsm
lld.kdsicmcc
lld.kdsmrdmw
lld.kdsmui
lld.kdstnemeganamtnetnoc
lld.kds.troppus.tfosorcim
lld.kdsycilopmcc
lld.kht8d3d
lld.kijatdbk
lld.kni.aidemhcir.tfosorcim
lld.knila
lld.knilh
lld.knisbnrmasm
lld.knscrs2gepmfm
lld.knscrs4pmfm
lld.knscrsfm
lld.knscrsfsafm
lld.knscrsvkmfm
lld.knuhcpdd
lld.knuhtarkahc
lld.knuhtlta
lld.knuht.secivresesirpretne.metsys
lld.koohegassemhtuamcc
lld.koohlanretxelenapemag
lld.koohllornenu
lld.koohtsetreffubtide
lld.kpops
lld.krhtfdbk
lld.krowemarfgnitset.erots.ledomnoitacilppa.swodniw
lld.krowemarfgnitsohkcol
lld.krowemarfkcolsseccadengissatoi
lld.krowemarfnoitacol
lld.krowemarfresopmoc
lld.krowemarfsetageledaidemhcir
lld.krowemarftupnitxet
lld.krowemarftxellehseroc
lld.ksatbsu
lld.ksatcnysemit
lld.ksatdnuorgkcab.anatroc
lld.ksatdnuorgkcabbuheciffo
lld.ksatdnuorgkcabcvsgc
lld.ksatdnuorgkcabipas
lld.ksatdnuorgkcabppa
lld.ksategnahcxeesnecildengispmet
lld.ksatetadpuspam
lld.ksathcteferptnetnoc.refsnartdnuorgkcab.gnikrowten.swodniw
lld.ksathf
lld.ksathserfercpw
lld.ksatlavemcc
lld.ksatmcc
lld.ksatnoitcellocelifvni
lld.ksatnoitcellocmetsyselifvni
lld.ksatnoitcellocvni
lld.ksatpde
lld.ksatpunaelcputes
lld.ksatsm
lld.ksatsp
lld.ksattnegaer
lld.ksattneverwp
lld.ksattropervni
lld.ksattsaotspam
lld.ksatygrene
lld.ksatyreuqmetsyselifvni
lld.ksidfrep
lld.ksidtriv
lld.ktoediv.aimul
lld.kudbk
lld.lacolcgn
lld.lada
lld.ladbk
lld.ladomrekorbnekot.nommocllehs.lanretni.swodniw
lld.ladomrevloserppa.nommocllehs.lanretni.swodniw
lld.laidtupni
lld.lairesmv
lld.laitnedercecived
lld.laitnederctnirpregnif
lld.laitnedercyxorptes
lld.lamnidbk
lld.lanigiro23_05ri
lld.lanigiro23_14ri
lld.lanigiro23_23ri
lld.lanigirocq_05ri
lld.lanigirocq_14ri
lld.lanigiroxcq_05ri
lld.lanigiroxcq_14ri
lld.lanretni.egarim.swodniw
lld.lanretnirekcartecaf
lld.lanretnitupniezag
lld.lanretxebutsevitangnigassem
lld.lanrtxca
lld.lapcvsnalw
lld.lapcvsrgmes
lld.lapecivresytimixorp
lld.laphceeps
lld.lapipatrytimixorp
lld.lapmtr
lld.lapmtr.cnyl
lld.lapnommocytimixorp
lld.lapsccm
lld.larnegca
lld.lavepm
lld.lawener.aidem.swodniw
lld.lcbnu
lld.lcferppg
lld.lcnepo
lld.lcnepovn
lld.lcriti
lld.lcxeeca
lld.lcydbk
lld.ldndi
lld.ldsln
lld.lecxekg
lld.ledomatadbat
lld.ledomatadiuhtlaehces
lld.ledomatadoibniw
lld.ledomatadrehctiws
lld.ledomatadrehctiwspotksed
lld.ledomatad.sgnittesmetsys
lld.ledomatadsnoitcakciuq
lld.ledomatad.swolfecived
lld.ledomatadvorpderc
lld.ledomctm
lld.ledomcvu
lld.ledome
lld.ledomerolpxe
lld.ledomgbd
lld.ledom.kooltuoxh
lld.ledomnoitacilppa.swodniw
lld.ledomtratsderahs
lld.ledomweiv.kooltuoxh
lld.ledomweiv.oidutstniap
lld.ledomytreporp.e.cnyl
lld.lenaplortnocllawerif
lld.lennahcs
lld.lesjbo
lld.letlareneg
lld.letncd
lld.letnidbk
lld.levelwol.secived.swodniw
lld.lezadbk
lld.lgoco.cnyl
lld.lhshf
lld.liamdnes
lld.liamtenretni
lld.liam.xh.lmax.iu.eciffo
lld.lilcdiosm
lld.litucitsongaidhceeps
lld.litucitsongaidhtooteulb
lld.litucitsongaidoidua
lld.litucnys
lld.lituctu
lld.lituee
lld.lituegaugnalatadresu
lld.lituemitatadresu
lld.lituenohp
lld.litufmm
lld.litufow
lld.litugmi
lld.litumc
lld.litumd
lld.litunalw
lld.litunioj
lld.litupde
lld.litureplehepytatadresu
lld.litureplehmroftalpatadresu
lld.litusdv
lld.litusdw
lld.litusfe
lld.litusfi
lld.litutrei
lld.lituyalrevoegaugnal
lld.lkgdbk
lld.llatsniaul
lld.llatsnifom
lld.llatsniothsup
lld.llatsnirevirdten
lld.lldcsc
lld.lldetadpu
lld.lldfd
lld.lldhcraesemi
lld.lldipaegakcapvorp
lld.lldlitu
lld.lldmoctr
lld.lldmui
lld.lldptftw
lld.lldtfmredoced1cv.cnyl
lld.lldtn
lld.lldtpyrc
lld.lldtrc
lld.lldtrev
lld.lldtrevnocmpseira
lld.llehs.amehcs.erotsduolc.swodniw
lld.llehsbat_sreldnahsgnittes
lld.llehscp.iuniwt
lld.llehseroc
lld.llehs.hceeps.swodniw
lld.llehs.iu.swodniw
lld.llehsmrs
lld.llehspmw
lld.llehspotksed.amehcs.erotsduolc.swodniw
lld.llehsrotshe
lld.llehssredlofkrow
lld.llehsten
lld.llornetrec
lld.lluf23idg
lld.lmax.iu.swodniw
lld.lmax.iu.tfosorcim
lld.lmniw
lld.lmthegde
lld.lmthln
lld.lmthsm
lld.lmvn
lld.lmx2imw
lld.lmxgim2imc
lld.lmxtpyrc
lld.lonttbno
lld.lootegami.epyks.tfosorcim
lld.loredivorpnioj
lld.lortnocaidem.aidem.swodniw
lld.lortnocecaps
lld.lortnocecartlenrek
lld.lortnocelit
lld.lortnocpampj
lld.lortnocppa_sreldnahsgnittes
lld.lortnocredrocerecnamrofrepswodniw
lld.lortnocsredlofkrow
lld.lortnocstnuocca.swodniw
lld.losigim
lld.lowdbk
lld.lpcaidemerahs
lld.lpcds
lld.lpcemeht
lld.lpcevf
lld.lpcgaid
lld.lpcgh
lld.lpchf
lld.lpciscsi
lld.lpcmetsys
lld.lpcnocrew
lld.lpcpwrx
lld.lpcrabksat
lld.lpcresu
lld.lpcretnecnoitca
lld.lpcrewop
lld.lpcsegaugnalresu
lld.lpcvn
lld.lpcxuhceeps
lld.lpcytilibissecca
lld.lpdbk
lld.lpermoc
lld.lpimwmsw
lld.lpmicesrocsm
lld.lpminuhs
lld.lpmtmda
lld.lpot23w
lld.lprpaimw
lld.lps23niw
lld.lpsidib
lld.lpslacol
lld.lqsadsm
lld.lrinulqs
lld.lrtcger
lld.lrtcpwmv
lld.lruadsm
lld.lrunonac
lld.lsdbk
lld.lspk8wyk
lld.lsudbk
lld.ltccvshf
lld.ltcdivsm
lld.ltncmebw
lld.ltndbk
lld.ltrved
lld.ltuwcp
lld.lxedoeca
lld.lx_vrsmx
lld.lx_wrlmx
lld.maertsma
lld.mahgodbk
lld.maorsmid
lld.masenilffo
lld.massai
lld.matnidbk
lld.mccserocpdr
lld.mcosxf
lld.mdacp
lld.mdatprcs
lld.mddrpm
lld.mderifoc
lld.mdmwec
lld.mdmwsm
lld.mdplhppa
lld.mdss
lld.mdxtm
lld.memecneirepxegniriapecived
lld.memecneirepxerekcipelif.nommocllehs.lanretni.swodniw
lld.memnydmv
lld.meradsm
lld.meshc
lld.metsysce
lld.mexhc
lld.mfcemi
lld.mforpten
lld.mftlpmtr
lld.mftlpmtr.cnyl
lld.mhtiroglabdamotsucrosnes
lld.mi2mocai
lld.mibilw
lld.mibtstua
lld.micadten
lld.miccnten
lld.micmaethctiwsten
lld.micmln
lld.micretpadaten
lld.micsafw
lld.mictalpmisidn
lld.mictneilcsnd
lld.mictsidreepten
lld.micttten
lld.mid3d
lld.midehcir
lld.midrpm
lld.midtorpnaww
lld.migvsosm
lld.mihsdmuvn
lld.mihsfd
lld.mihsledomtratsderahs
lld.mihsputesten
lld.mihsretlifdraobyek
lld.mihsss
lld.minanogoltsrifeboosm
lld.miniamno
lld.mise.srotarepokrowten.gnikrowten.swodniw
lld.mitrahc
lld.mitrao
lld.mixfg
lld.mixgi
lld.mlemi
lld.mlpdtt
lld.mm3tod
lld.mmad
lld.mmi01khcqes
lld.mmi02osm
lld.mmi03osm
lld.mmi05osm
lld.mmi7foorpsm
lld.mmi89osm
lld.mmictr
lld.mmiderahsfso
lld.mmiemitnuremllet
lld.mmifso
lld.mmiisc
lld.mmiiu04osm
lld.mmiosm
lld.mmireganamecioveciffo
lld.mmisltpsm
lld.mmitneilcsco
lld.mmituarmo
lld.mmituasmo
lld.mmiyxorpfso
lld.mmnalw
lld.mmnaww
lld.mmniw
lld.mmocteni
lld.mmocxh
lld.mmsar
lld.mocdimw
lld.mocdk
lld.mocfs
lld.mochsppa.cnyl
lld.mociu
lld.mocnepdr
lld.mocpmsm
lld.mocptthniw
lld.mocrs
lld.mocstr
lld.mocsxf
lld.mocvhdk
lld.moenohp
lld.mosp.cnyl
lld.motnenopmoctrats
lld.motsucsar
lld.motsuc.secived.swodniw
lld.mpbu
lld.mpfxl0pe
lld.mpmps
lld.mpt_23niw
lld.mqslcw
lld.mrdsm
lld.mrfxmdmu
lld.mrhsw
lld.mrkctdsm
lld.mrm74pcb
lld.mrofsnarths
lld.mroftalp21f
lld.mroftalpfduw
lld.mroftalprekcip
lld.mroftalpvjr
lld.msdapemi
lld.msm3tod
lld.msmnalw
lld.msodbk
lld.mspn
lld.msvretpadarosnesnoitingocerecaf
lld.mtcmcc
lld.mtctdsm
lld.mu2fgwvn
lld.mud3dvn
lld.muiscsi
lld.muneadsm
lld.muneecivedcs
lld.munesubdpw
lld.muneved
lld.muneyekcgn
lld.murdbk
lld.muredrocerppw
lld.muwcp
lld.mwdu
lld.mxdpmw
lld.mxrpptth
lld.mztdbk
lld.n601dbk
lld.nacdbk
lld.nacmhnc
lld.nacsid
lld.nacsmrs
lld.nacsputrats
lld.naelcpnp
lld.naknidbk
lld.namcilop
lld.namnaltn
lld.namsar
lld.namten
lld.naymdbk
lld.ncwdf
lld.ncwfad
lld.ne04reeclqs
lld.nebnidbk
lld.neercskcol.ledomnoitacilppa.swodniw
lld.negordyh
lld.nelcatad
lld.nenidbk
lld.nep_sreldnahsgnittes
lld.netsildi
lld.netsilhf
lld.ngaidxd
lld.ngdbk
lld.ngnecar
lld.ngnecexe
lld.nhtuabew
lld.niamno
lld.niamsmo
lld.niamsys
lld.nibwrlmx
lld.niddacu.cnyl
lld.niddadrowno
lld.niddakooltuomu
lld.niddatppno
lld.nigolevilswodniw
lld.nigulpgimbad
lld.nigulpgimbln
lld.nigulpgimbsu
lld.nigulpgimdivwh
lld.nigulpgimdua
lld.nigulpgimegdirb
lld.nigulpgimenignegnidnibkrowten
lld.nigulpgimfad
lld.nigulpgimgcs
lld.nigulpgimgerledomecivres
lld.nigulpgimhcraesw
lld.nigulpgimhtb
lld.nigulpgimipat
lld.nigulpgimmedom
lld.nigulpgimpilc
lld.nigulpgimqm
lld.nigulpgimrcsmpt
lld.nigulpgimrots
lld.nigulpgimsai
lld.nigulpgimsar
lld.nigulpgimspam
lld.nigulpgimst
lld.nigulpgimsxs
lld.nigulpgimtnuoccalacolcgn
lld.nigulpgimvrspchd
lld.nigulpgninoisivorpaidemelbavomer
lld.nigulpgninoisivorpcfn
lld.nigulpgninoisivorpedocrab
lld.nigulphsrwp
lld.nigulpimcimw
lld.nigulpimcqm
lld.nigulpnoitargimedargpuxppa
lld.nigulpnoitargimerotselit
lld.nigulpnoitargimimw
lld.nigulpnoitargimnamppa
lld.nigulpnoitargimnamsw
lld.nigulpnoitargimspi
lld.nigulpperslt
lld.nigulpsnhduolcetavirp
lld.nigulpspi
lld.nigulpsseleriweboosm
lld.nigulpteniniw
lld.nigulpxobdnasdetpircs.buhscitsongaid
lld.nihnidbk
lld.nimdahcrs
lld.nimdamoc
lld.ningisasm
lld.niocpwrx
lld.niojten
lld.nipansevitantidua
lld.nipansevitanxuprs
lld.nitalwhsm
lld.nitpolp
lld.nitpoum
lld.niuci
lld.niw_011pcvsm
lld.niw46wow
lld.niw_pcvsm
lld.nlcputes
lld.nlesabso
lld.nlrtctmi
lld.nmocmebw
lld.nnoc3tod
lld.nnocad
lld.nnocnalw
lld.nnocnaww
lld.nobbiriu
lld.nochsw
lld.noediv
lld.nogolces
lld.nogolelosnoc
lld.nogol.iu.swodniw
lld.nogolten
lld.noinapmocbat.swodniw
lld.noinapmocichxbsu
lld.noisnetxemawdaa
lld.noisnetxemawtnuoccatfosorcim
lld.noisnetxeppa
lld.noisnetxessalcecivedelbatrop
lld.noisnetxessalcsrosnes
lld.noisnetxetnuoccatfosorcim
lld.noisnetxeyciloppuorgnoitceriderbsust
lld.noisrev
lld.noisserpmoc.egarots.swodniw
lld.noisserpmocrlc
lld.noisuf
lld.noitacifingam
lld.noitacifitonmtcmcc
lld.noitacifitonsutatsemi
lld.noitacilppadelbanehsup.stekcos.gnikrowten.swodniw
lld.noitacilppagnigassem
lld.noitacinummoclaires.secived.swodniw
lld.noitacitnehtuatopstoh.srotarepokrowten.gnikrowten.swodniw
lld.noitacitnehtua.ylimaf
lld.noitacolkrowtentes
lld.noitacoloeg
lld.noitacoloeg_sreldnahsgnittes
lld.noitacoversseccaecivedsms
lld.noitagerggatneve
lld.noitaicossaecived
lld.noitaicossaecivedresu.metsys.swodniw
lld.noitalupinamtcerid
lld.noitaminaiu
lld.noitaremune.secived.swodniw
lld.noitargetnivppa
lld.noitargimca
lld.noitargimcpw
lld.noitargimldt
lld.noitartsehcrovppa
lld.noitartsigerecived
lld.noitartsigerecivedresu
lld.noitartsigermdm
lld.noitarugifnocnoitagitim
lld.noitarugifnocpam
lld.noitarugifnoctnemeganamppa
lld.noitarugifnoctr
lld.noitatcid.hceeps.swodniw
lld.noitatsgnirehtet
lld.noitavitcaerecived
lld.noitavitcatcatnoc
lld.noitavitcatnemtnioppa
lld.noitazilabolg.swodniw
lld.noitazilanosreptupni_sreldnahsgnittes
lld.noitazilautrivtnevppa
lld.noitcaperpsyspunaelcgnal
lld.noitcartsbamroftalpenohp
lld.noitcartxetnetni.anatroc
lld.noitcartxetrams.anatroc
lld.noitciderptxetsm
lld.noitcuderthgileulb.llehs.swodniw
lld.noitisopllehs.nommocllehs.lanretni.swodniw
lld.noitomorpgnitarerots
lld.noitpecrep.secived.swodniw
lld.noitpircsnarttahcemag
lld.nombsu
lld.nomdbk
lld.nomdsw
lld.nomfi
lld.nomksed
lld.nomljp
lld.nomlru
lld.nommocmdm
lld.nommocoeg
lld.nommocrvdtsacb
lld.nommocstnegaeciov
lld.nommocstnegaevitcaer
lld.nommoctne
lld.nommoctsohecneirepxeduolc
lld.nommoc.yrtemelet
lld.nommocytimixorp
lld.nompct
lld.nomppa
lld.nomppi
lld.nomri
lld.nomsxf
lld.nomtenh
lld.nosjniw
lld.npjdbk
lld.npv.gnikrowten.swodniw
lld.nrpelo
lld.nsrocsm
lld.ntbbat
lld.nupnidbk
lld.nurrcs
lld.nwodnurwte
lld.nwodtuhsdekcolb.iu.swodniw
lld.nwodtuhsvan
lld.nydemarf
lld.nydsdv
lld.nydtgm
lld.nyojlla.secived.swodniw
lld.oadeca
lld.oadecaca
lld.oaldbk
lld.obidbk
lld.ocdasm
lld.ocicmm
lld.odssai
lld.oedivbsueruces
lld.oegdbk
lld.ofdbk
lld.ofnier
lld.ofniknil
lld.ofniliater.eliforp.metsys.swodniw
lld.ofnippa
lld.ofnitroppusmetsys
lld.oibew
lld.oibniw
lld.oidua.aidem.swodniw
lld.oiduadnuorgkcab
lld.oiebs
lld.oirptrpi
lld.okndbk
lld.omdelpmaser
lld.omdsd
lld.omdsm
lld.omnomdbk
lld.omweivpotksedcnyl.cnyl
lld.onanpdr
lld.onanxobx
lld.ondbk
lld.onpesw
lld.onsmsdbk
lld.opa23xc
lld.opa46xc
lld.opaftrh
lld.oparezilaitaps
lld.opdbk
lld.opmu
lld.ordbk
lld.orjsm
lld.osicciu
lld.osiegde
lld.osism
lld.osiyek
lld.osndbk
lld.osshtlaehytiruces
lld.osslovdns
lld.osstesermetsys
lld.osswp
lld.otohpmw
lld.otpircs
lld.otuamsw
lld.otuaprnp
lld.otuasar
lld.ozddbk
lld.pacq
lld.paduolc
lld.paduolcdaa
lld.paduolctnuoccatfosorcim
lld.pahcsar
lld.palpsar
lld.pamevitan
lld.pamfdsm
lld.pamidim
lld.pammaertsvppa
lld.pamnap
lld.pampecpr
lld.pam_trm
lld.pansai
lld.panscmp
lld.panscpp
lld.pansmoc
lld.pansmspi
lld.panssoqe
lld.partbup
lld.parw9d3dvn
lld.parwigxdvn
lld.parwyks
lld.patscitsongaid
lld.pau.erutcipnosrep
lld.paufm3bil
lld.pau.hpargenecs.ktppa.aimul
lld.paurvmmtr
lld.pautupnix
lld.pcan2l
lld.pcbcbdo
lld.pcrvahtb
lld.pdaksed
lld.pdfdilw
lld.pdixobx
lld.pdlsda
lld.pdlw
lld.pdnepdr
lld.pdrmu
lld.pdssdf
lld.pedglniw
lld.pemitimw
lld.perp
lld.perpsmln
lld.perpsysedb
lld.perpsysei
lld.perpsysipat
lld.perpsysmvytilitu
lld.perpsyssbv
lld.perpsysst
lld.perpsysvorp
lld.perpsysxppa
lld.pertluaf
lld.pf_kdsng
lld.pftcsm
lld.pfwhsn
lld.pgmln
lld.pgwfhtua
lld.pi99nioc
lld.piecbsu
lld.pigfad
lld.pipcthsw
lld.pipctten
lld.piptmdpw
lld.pisdse
lld.pishsrwp
lld.pisism
lld.pisxppa
lld.pitctmi
lld.pitemi
lld.pitorkmi
lld.pitpjmi
lld.pitps
lld.pitrkmi
lld.pleh2sw
lld.plehgbd
lld.plehppa
lld.plehteg
lld.plhdasar
lld.plhegami
lld.plhelox
lld.plhnalw
lld.plhods
lld.plhoiten
lld.plhtanpd
lld.plhtanpi
lld.pliui
lld.plsstpyrcn
lld.pmard3d
lld.pmci
lld.pmcipimw
lld.pmibaw
lld.pmlpjmi
lld.pmocd
lld.pmocdpw
lld.pmocefishc
lld.pmocfomdvrp
lld.pmocksat
lld.pmudcne
lld.pmudhsarcmv
lld.pmwps
lld.pnpdf
lld.pnpps
lld.pnpu
lld.pnpufad
lld.pnpuhnpd
lld.pnscespi
lld.poretnicsw
lld.poretnigepmff
lld.poretnipgyciloptidua
lld.poretniuks
lld.poretniytinummoc
lld.porpcod
lld.porpdcn
lld.porpi
lld.porpimw
lld.porprots
lld.porpsd
lld.porptrec
lld.potksed.anatroc.swodniw
lld.potksedd2tcerid
lld.potksedetomer.metsys.swodniw
lld.potksedhosnpv
lld.potksed.lap.anatroc.swodniw
lld.potksed.lap.hceeps.swodniw
lld.potksed.ledomweivsgnittesmetsys
lld.potksedlpmitxetesipamd
lld.potksedmroftalpvorp
lld.potksed.rekciperutpac.lanretni.swodniw
lld.potksed.snoisnetxetnemyolpedxppa
lld.potksedsnoitatnemelpmimoccdd
lld.potksed.tnemnorivnesgnittes
lld.potksedtxemispae
lld.ppa_001trm
lld.ppa_021bilroccv
lld.ppa_021pcvsm
lld.ppa_021pmacv
lld.ppa_021pmocv
lld.ppa_021rcvsm
lld.ppa_041bilroccv
lld.ppa_041emitnurcv
lld.ppa_041pcvsm
lld.ppa_041pmacv
lld.ppa_041pmocv
lld.ppa_041trcnoc
lld.ppa21f
lld.ppabuhstolip
lld.ppacissalcvjr
lld.ppaelpoep
lld.ppaepyks
lld.ppa.erotsniw
lld.ppa-iuct
lld.ppaniw_kdstserppc
lld.ppaniw_tneilcrlangis
lld.ppaotppa.anatroc
lld.ppa.radnelacxh
lld.ppaxobx
lld.ppifad
lld.pppsar
lld.ppsgaidgnisnecil
lld.ppteni
lld.praw01d3d
lld.prehcdbk
lld.psc2vnpv
lld.psccnysevitca
lld.psccpderahs
lld.psccpnaelc
lld.pscdraugnoitacilpparednefedswodniw
lld.psceciffo
lld.pscepiwetomer
lld.pscesab
lld.pscetadpu
lld.pscgninoisivorp
lld.pscgnisnecil
lld.pscgnitroper
lld.pscgolcitsongaid
lld.pscifeu
lld.pscimwmd
lld.pscjdaa
lld.pscliamtenretni
lld.pscmcw
lld.pscmdmwf
lld.pscnoitazilanosrep
lld.pscnpaesirpretne
lld.pscorpcgn
lld.pscpde
lld.pscptaw
lld.pscrednefed
lld.pscrekcolppa
lld.pscrekcoltib
lld.pscsah
lld.pscsbonk
lld.pscscciue
lld.pscsdnammocgninoisivorp
lld.pscslt
lld.pscspam
lld.pscsseccadengissa
lld.psctmgmppanredomesirpretne
lld.psctmgmppapotksedesirpretne
lld.psctmgmvppaesirpretne
lld.pscyrotnevnippa23niw
lld.pscyxorpkrowten
lld.psdbk
lld.psdoedivsm
lld.psdpw
lld.psdvfm
lld.psdxfgxflamw
lld.psgifnocgnirehtet
lld.psgifnocifiw
lld.psidarim
lld.psidmebw
lld.psipac
lld.psiw
lld.pskcgn
lld.pskcs
lld.pskpcp
lld.psmasc
lld.psmevaw
lld.psndilw
lld.psnipan
lld.psnoisivorpten
lld.psnprnp
lld.psoadsm
lld.pss_corpces
lld.pssderc
lld.pstpyrc
lld.ptcdpjmi
lld.ptesgld
lld.ptfeism
lld.ptmdpw
lld.ptrpm
lld.ptsctdsm
lld.ptth.bew.swodniw
lld.ptthcpr
lld.ptthhsn
lld.ptthmcc
lld.ptthniw
lld.pukcabyksevf
lld.punaelcegaugnalium
lld.punaelchf
lld.puorgrosnesfm
lld.pusgkppmoc
lld.putesei
lld.puteshh
lld.puteshs
lld.putesimc
lld.putesmoc
lld.putesniw
lld.puteso
lld.putesotuadcn
lld.putessys
lld.putestalpmi
lld.putestnofium
lld.putrats_sreldnahsgnittes
lld.pvorppae
lld.pvssm
lld.pwu.evitan
lld.pwu_hctap_hctam_ffid
lld.pwu_ppi
lld.pwu.sdracevitpada
lld.pxrpptth
lld.qcaotohp
lld.qelifps
lld.qesicm
lld.qkrowtr
lld.qksdpimw
lld.qtacblc
lld.qutdbk
lld.rabemag.iu.gnimag.swodniw
lld.radnelacxh
lld.radnelacxh.lmax.iu.eciffo
lld.rafdbk
lld.ralullecpsgfc
lld.ramnidbk
lld.rartsigerecruoseroidua
lld.rbdbk
lld.rcdbk
lld.rco.aidem.swodniw
lld.rdbsu
lld.rddanpd
lld.rdlfeboo
lld.rdlfnrp
lld.rdlfpiz
lld.rdmwdsdr
lld.rdptmdpw
lld.readsm
lld.redaerdractramslautriv
lld.redaermysaid
lld.redaernosj
lld.redaoldtt
lld.redaolmd
lld.redaolnwodic
lld.redaolvh
lld.redaolyranibtafvn
lld.redivorp2npvmcc
lld.redivorp2vimwssentiw
lld.redivorpadu
lld.redivorparfnipsafad
lld.redivorpauw
lld.redivorpcireneg
lld.redivorpcnysbaw
lld.redivorpcnysecivedelbatrop
lld.redivorpcnysevitca
lld.redivorpcnysgnitteseruza
lld.redivorpcnysgnittesevirdeno
lld.redivorpcnysvad
lld.redivorpcossa
lld.redivorpda
lld.redivorpdercniw
lld.redivorpderctrec
lld.redivorpdfwfad
lld.redivorpdhv
lld.redivorpdnettanu
lld.redivorpdu
lld.redivorpecart
lld.redivorpecivres
lld.redivorpecivres.llehsevisremmi.swodniw
lld.redivorpecnailpmocmcc
lld.redivorpedargpunoitideso
lld.redivorpegassemetats
lld.redivorpehcactsidreep
lld.redivorpeignirehtet
lld.redivorpemitcimv
lld.redivorpesabatemsiimcd
lld.redivorpeulavnoisserpxelabolgmcc
lld.redivorpev
lld.redivorpevilapeek
lld.redivorpgfc.tnemssessaeruces.tnemeganam.swodniw
lld.redivorpgnc
lld.redivorpgnigami
lld.redivorpgnikcodfad
lld.redivorpgnirotinomma
lld.redivorpgol
lld.redivorpgomsnart
lld.redivorpidvmcc
lld.redivorpimd
lld.redivorpims
lld.redivorpipac
lld.redivorpipapd
lld.redivorpism
lld.redivorpismmcc
lld.redivorpjpw
lld.redivorpkdsmcc
lld.redivorplaitnederc.cpderahs.swodniw
lld.redivorplaitnedercdractrams
lld.redivorplaitnedercecaf
lld.redivorplaitnedercptoad
lld.redivorplianbmuhtd3sm
lld.redivorpllornetrec
lld.redivorplocotorprennacsedocrab
lld.redivorplocotorprennacsedocrabaremac
lld.redivorplocotorpretnirp
lld.redivorplocotorprewardhsac
lld.redivorpltni
lld.redivorpmetipsidved
lld.redivorpmetsyselifmcc
lld.redivorpmiw
lld.redivorpmroftalpputes
lld.redivorpmusmcd
lld.redivorpnekottnuoccatfosorcim
lld.redivorpnoissimrepmcc
lld.redivorpnoitarepolada
lld.redivorpnoitpecreptluafed.noitadnuofaidem
lld.redivorpnpvmcc
lld.redivorpperpsys
lld.redivorppm
lld.redivorppotksedmspn
lld.redivorpppa
lld.redivorpptaw
lld.redivorpputesenilffo
lld.redivorpredlof
lld.redivorpretnirptluafed
lld.redivorprotageled
lld.redivorpsbc
lld.redivorpsbi
lld.redivorpsgnittesdrowssapmcc
lld.redivorpsgnitteshf
lld.redivorpsgnittesisvh
lld.redivorpsgnittestidua
lld.redivorpso
lld.redivorpsptneilcnpv
lld.redivorpsptneilcsnd
lld.redivorpsutatsotyalp
lld.redivorpsutatsputesecived
lld.redivorptapmoc
lld.redivorptcennoccpetomermcc
lld.redivorptnegaycilop
lld.redivorptnemeganamtnirp
lld.redivorptnirpfad
lld.redivorptnof
lld.redivorptpircs
lld.redivorpuff
lld.redivorpvorp
lld.redivorpxppa
lld.redivorpylbmessamcd
lld.redivorpyreuqdamcd
lld.redivorpyreuqhtapxmcd
lld.redivorpyreuqlqsmcd
lld.redivorpyreuqlqwmcd
lld.redivorpyrevocsideludomsp
lld.redivorpyrotnevni
lld.redivorpyrotnevnideddebme
lld.redivorpyrtsigermcc
lld.redivorpytiniffaresu
lld.redivorp.ytitnedi.noitacitnehtua.ytiruces.swodniw
lld.redliubecruoserrosruc
lld.redliubtniopdneoidua
lld.redliubtsohecivres.llehs.swodniw
lld.redlofgniriapecived
lld.redlofhcraes
lld.redlofhs
lld.redloftsilyalp
lld.redlohxapw
lld.rednerelitlmax
lld.rednerspxbph
lld.redocedbnrmasm
lld.redocedcalasm
lld.redocedcalfsm
lld.redocedcrmd
lld.redocededocrabsm
lld.redocededocrqsm
lld.redocedftm
lld.redocednpj
lld.redocedsuposm
lld.redocedxhc
lld.redocnebnrmasm
lld.redocnecalasm
lld.redocnecalfsm
lld.redocneegamisdd
lld.redocoegpam
lld.redrawroftnevedradnats
lld.refsnartatad.ledomnoitacilppa.swodniw
lld.refsnartdnuorgkcab.gnikrowten.swodniw
lld.regaid
lld.regakcap
lld.reganamaidemad
lld.reganamaidembm
lld.reganamaidemmtr
lld.reganamaidemmtr.cnyl
lld.reganamaidemnalw
lld.reganamaidemsar
lld.reganamaidemtenrehte
lld.reganamaiu
lld.reganamecivedtluafed
lld.reganamecruoseresirpretne
lld.reganamedomecnanetniam
lld.reganamegde
lld.reganamelacoltupni
lld.reganamemitnurbew
lld.reganamesnecil
lld.reganamgnimaertstnevppa
lld.reganamhtualbx
lld.reganamiuftcsm
lld.reganamkrowtenifiw
lld.reganamnb
lld.reganamnoitalumisnoitpecrep
lld.reganamnoitarugifnoc
lld.reganamnoitatcid
lld.reganamnoitavitca
lld.reganamnoitavitcaeciov
lld.reganamoidarnalw
lld.reganamoidarnaww
lld.reganamoidarpigxobx
lld.reganamotyalp
lld.reganamputesecived
lld.reganamretlifetirw
lld.reganamslangis
lld.reganamsseccadengissa
lld.reganamsseccaytilibapac
lld.reganamstibmc
lld.reganamstrelayrettabhtlaehytiruces
lld.reganamsutatsyalpsidecived
lld.reganamtnuocca.cpderahs.swodniw
lld.reganamyalpsid
lld.reganamycilop
lld.reganamycilopvrsoidua
lld.reganamyreviledtnetnoc_sreldnahsgnittes
lld.reganamytivitcaweiv.swodniw
lld.reggirtecivresbs
lld.reggolcorpni
lld.rehcdbk
lld.rehcnualfds
lld.rehcnual.metsys.swodniw
lld.rehcnualwp
lld.rehctiws.secneirepxe.llehselbasopmoc.lanretniswodniw
lld.rehtaew.nsm.tfosorcim
lld.reifirev
lld.reifirevtnesnocresu.iu.slaitnederc.ytiruces.swodniw
lld.rekcartelif
lld.rekcipelpoep.elpoep.lanretniswodniw
lld.rekciperutpac.lanretni.swodniw
lld.rekciplaitnederc.iu.slaitnederc.ytiruces.swodniw
lld.rekcip.secived.swodniw
lld.reknarnoitaretilsnart
lld.reknarnpj
lld.reknarpjmi
lld.reknarxhc
lld.rekorbemit.dnuorgkcab.ledomnoitacilppa.swodniw
lld.rekorbff
lld.rekorbgolaidderc
lld.rekorbhtua
lld.rekorb.llehs.lanretni.swodniw
lld.rekorbnekot
lld.rekorbnoitcejnitupni
lld.rekorb.nommocllehs.lanretni.swodniw
lld.rekorbppakcol
lld.rekorbpsid
lld.rekorbresworb
lld.rekorbretnecytiruces
lld.rekorbrvdtsacb
lld.rekorbsnoitagitimytiruces.lanretni.swodniw
lld.rekorbstnevemetsys.dnuorgkcab.ledomnoitacilppa.swodniw
lld.rekorbtsohecneirepxeduolc
lld.rekorbwolfsecived
lld.rekorbxukrowten
lld.rekorbyreuqved
lld.rekorbyrotisoperetats.swodniw
lld.rekorb.ytilaerdexim
lld.rekorbytivitcaresu
lld.rekovnicitsongaid
lld.rekrow.cnys.anatroc
lld.reldnahatadatemotohp
lld.reldnahauw
lld.reldnahbfuw
lld.reldnahdraugecived
lld.reldnahdraugtiolpxe
lld.reldnahecnailpmoc
lld.reldnahetanretla
lld.reldnahgnimaorbacov
lld.reldnahgnittesseliforpifiw
lld.reldnahiru.hcraes.llehs.swodniw
lld.reldnahirunoitcaselur
lld.reldnahism
lld.reldnahnoitacifitoneliforpasm
lld.reldnahnoitargimlaitnederc
lld.reldnahpcdh
lld.reldnahppabew
lld.reldnahppalacol
lld.reldnahpukcabeno
lld.reldnahsdigrntccgn
lld.reldnahsetadpu
lld.reldnahsgnittesmroftalp
lld.reldnahssergorpmae
lld.reldnahtnemeganamoc
lld.reldnahtpircs
lld.reldnahtseuqerpae.xu.gnikrowten.swodniw
lld.reldnahtxetnocecivedevomer
lld.reldnahtxetnocegarots
lld.reldnahtxetnocnaphtb
lld.reldnahtxetnocptmhtb
lld.reldnahtxetnocwb
lld.reldnahvppa
lld.reldnahx5vppa
lld.reldnahxar
lld.reldnahxppa
lld.reldnahytilibapacatadralullec
lld.reliforpmcc
lld.relipmoc.seitivitca.cisablausiv.tfosorcim
lld.relipmoctijxtpvn
lld.relipmocvn
lld.rellatsnidecnavdactdsm
lld.rellatsnidecnavdatnirp
lld.rellatsniocdgbsust
lld.rellatsniocfduw
lld.rellatsniretnirpxaf
lld.rellatsniretnuocfrep
lld.rellatsnistnenopmocegaugnal
lld.rellatsnistneve
lld.rellortnoccnys
lld.rellortnocgaidrew
lld.rellortnocgolaidderc.iu.swodniw
lld.rellortnockcol
lld.rellortnocmetsysbustnevppa
lld.rellortnocnogol
lld.rellortnocnoitacifiton
lld.rellortnoctupni
lld.rellortnocxukrowten.iu.swodniw
lld.reludehcsksatpw
lld.remitcsd
lld.remrofsnartatadnpw
lld.remrofsnartira
lld.renaelctsidreep
lld.reniatnoc
lld.reniatnocpiz
lld.reniatnocrabelpoep
lld.rennacsdih
lld.reoegdbk
lld.repipsubmv
lld.repleh
lld.repleh_2sw
lld.replehaf2vorpderc
lld.replehco.cnyl
lld.replehedargpunoitide
lld.replehetuornnocdnamedno
lld.replehfrepfm
lld.replehhtuadaa
lld.replehhw
lld.replehipamanatroc
lld.replehkrowten
lld.replehnoitatcidgniggolepi
lld.replehotua
lld.replehpwten
lld.replehrs
lld.replehsw
lld.replehtnemllornenip
lld.replehtptnirpfv
lld.replehvorpderc
lld.replehxppasdr
lld.replehyekp
lld.repparwgifnoc.veu.tfosorcim
lld.repparwsksaterotsniw
lld.rerednerdraclmax.sdracevitpada.lanretni.swodniw
lld.rerocmrm
lld.rerolpxekrowten
lld.resiarppa
lld.resrapdracv
lld.resraplmxeabm
lld.resraplmxsartxe
lld.resrapsserdda
lld.resucessm
lld.resud
lld.resuevitcaretniynohpelet
lld.resusk
lld.resu_sreldnahsgnittes
lld.resutsohecneirepxeduolc
lld.resworb
lld.retemtab
lld.retirwdtt
lld.retlifbewcpw
lld.retlifdapdrow
lld.retlifetonenootdnes
lld.retlifgnitsoh3v
lld.retlifldpmaertsrx
lld.retliflmx
lld.retlifno
lld.retlifrednerfdp
lld.retlifrednerrgwp
lld.retlif_tenpsa
lld.retliftpspxrx
lld.retneccnys
lld.retnececived
lld.retnecnoitca
lld.retnecnoitca.iu.swodniw
lld.retnecten
lld.retnuocfrep
lld.retoohselbuortkrowten.xobx.tfosorcim
lld.retpadadistfsmrotceteddrowyek
lld.retpadaegarotsmsvoibniw
lld.retpadaegarotsoibniw
lld.retpadaenignenoitingocerecaf
lld.retpadaimc
lld.retpadarosnesnoitingocerecaf
lld.retpadarosnesoibniw
lld.retrevnocidgspx
lld.rettilpsrvmmtr.cnyl
lld.retuorja
lld.retuorpam
lld.retuorsms
lld.retuortupninpj
lld.retuortupnixhc
lld.revasyrettab_eroceno_sreldnahsgnittes
lld.reviecerotyalp
lld.reviecertsacarim
lld.revirdaremacdr
lld.revirddiccbsu
lld.revirddiccbsufduw
lld.revirdecivressrosnes
lld.revirdretnirpetadpu
lld.revirdslasrosnes
lld.revirdtupnitxet
lld.revirduw
lld.revloserppa
lld.revlosnoisserpxe
lld.revrescexenredom
lld.revresdraobpilc
lld.revresegarotstalpbew
lld.revresemarf
lld.revresftm
lld.revresgninoisivorphxc
lld.revreslaid
lld.revresledomatadniojniamodduolc
lld.revresrekorbemit
lld.revresrekorbstnevemetsys
lld.revresrmd
lld.revrestnemyolpedxppa
lld.revresyalrevoegaugnal
lld.revresycilopecruoser
lld.reweivd3
lld.reweivotohp
lld.rewism
lld.rewria
lld.rexednimrm
lld.reyalatad
lld.reyalpaidemdnuorgkcab.kcabyalp.aidem.swodniw
lld.reyalpaidem.kcabyalp.aidem.swodniw
lld.rezylanayromem
lld.rfdbk
lld.rfivn
lld.rgdbk
lld.rgimkbp
lld.rgimmc
lld.rgmbmsar
lld.rgmcexe
lld.rgmdercyek
lld.rgmdncmm
lld.rgmdwprotshe
lld.rgmetadpucrs
lld.rgmetadpucs
lld.rgmgnirehtet
lld.rgmhcnualppav
lld.rgmksatic
lld.rgmksdmd
lld.rgmmret
lld.rgmniwvrs
lld.rgmnocsdfw
lld.rgmnoitca
lld.rgmoiycilopwf
lld.rgmpnpmu
lld.rgmporpved
lld.rgmppa
lld.rgmq
lld.rgmresu
lld.rgmrtm
lld.rgmrtrpi
lld.rgmtenmw
lld.rgmtor
lld.rgmtrec
lld.rgmtrtsr
lld.rgmtupnitsacarim
lld.rgmved
lld.rgmyek
lld.rgnhcdsw
lld.rgolaehw
lld.rhgudbk
lld.riaperedb
lld.ridbk
lld.ridemim
lld.ridermwd
lld.riderrrest
lld.rkoocimw
lld.rkwnigulpsp
lld.rkwnigulpspcsd
lld.rlbdbk
lld.rmhkdbk
lld.rneotuap
lld.rnrniw
lld.rntccgn
lld.rntcosicgn
lld.rokdbk
lld.rorrimesnes
lld.rosivdatessa
lld.rosseccatnuocca
lld.rossecorpecaf
lld.rossecorptaehtluafedswodniw
lld.rotagerggaemiteruces
lld.rotalumisdractrams
lld.rotaminahpylgtnof
lld.rotanidroocecnanetniam
lld.rotanimretvppa
lld.rotaremunetcudorp
lld.rotargetnimc
lld.rotargimmdm
lld.rotaulavessecorptsopmdm
lld.rotcetorpmricponiw
lld.rotcetorpmriosmniw
lld.rotinomcpchd
lld.rotinomemag
lld.rotinomftcsm
lld.rotinomgnittes
lld.rotisopmocmargoloh
lld.rotshtnysmv
lld.rovrdas
lld.rpaidemgnirahsppa.cnyl
lld.rpendbk
lld.rplhsai
lld.rplhvad
lld.rpordbk
lld.rreeca
lld.rs_psw
lld.rsudbk
lld.rtlfpaei
lld.rtnomsar
lld.rtsrrs
lld.rudbk
lld.rvlsrsnd
lld.rvsdracs
lld.rvsetomerwf
lld.rvsfm
lld.rykdbk
lld.rzserdiv
lld.s11lhnc
lld.sabsdv
lld.sailanoitucexeppa_sreldnahsgnittes
lld.sailanoitucexeppa.tsohtesipa
lld.saovha3f
lld.sarvmmtr.cnyl
lld.savnac.scihparg.tfosorcim
lld.sbat
lld.sbat.slortnoc.lmax.lanretniswodniw
lld.sbddoeca
lld.sbipnp
lld.sbsdeefsm
lld.sbuscfm
lld.sbutsyxorp.noitalumisnoitpecrep
lld.scedocmtr
lld.scedocmtr.cnyl
lld.scedocswodniw
lld.scihparg.swodniw
lld.scipremag
lld.scitpah.secived.swodniw
lld.scitsongaid.bew.swodniw
lld.scitsongaidesirpretnemd
lld.scitsongaidmdm
lld.scitsongaid.metsys.swodniw
lld.scitsongaid.nommoc.iahieb
lld.scitylanaswodniw
lld.scodym
lld.scprcr
lld.scrvmmtr.cnyl
lld.scvshs
lld.scvsmoc
lld.scvssai
lld.sdasai
lld.sddasm
lld.sddd
lld.sddecnavdashc
lld.sddecnavdaxhc
lld.sddesabelur
lld.sdds
lld.sdecivres
lld.sdecivresnpj
lld.sdecivresppaftm
lld.sdeefsm
lld.sdeijgnacthc
lld.sdeijgnahcthc
lld.sdekortskhthc
lld.sdekortsshc
lld.sdercbpw
lld.sdetadpunocixelshc
lld.sdevitca
lld.sdfm
lld.sdgathsah
lld.sdhi
lld.sdibuwshc
lld.sdijome
lld.sdijomedecnavda
lld.sdkcehcllepsftm
lld.sdkciuqthc
lld.sdniynipshc
lld.sdofomopobthc
lld.sdpa
lld.sdpahxhc
lld.sdpaxhc
lld.sdracevitpada
lld.sdractrams.secived.swodniw
lld.sdraziwx
lld.sdretlif
lld.sdretlifgnib
lld.sdretsevrahtcatnoc
lld.sdsagnib
lld.sdtcidcitats
lld.sdtcidresuxhc
lld.sdycneulf
lld.sdyxorpshc
lld.sdyzzufftm
lld.secapstoob
lld.secived.aidem.swodniw
lld.secivediumv
lld.secived_sreldnahsgnittes
lld.secivresbew
lld.secivrescnysop
lld.secivrescpo
lld.secivresenilno
lld.secivresenilnognib
lld.secivresspx
lld.secivres.tide.sotohp.tfosorcim
lld.secivres.xobx.tfosorcim
lld.secruoserisc
lld.secruoser.kooltuoxh
lld.sedbk
lld.sedirrevo-opmu
lld.seeca
lld.segassemgoltneve.veu.tfosorcim
lld.seicilopenihcamisvh
lld.seirocsm
lld.seitilituderahs.llehs.iu.swodniw
lld.seitilitu.reganamyreviledtnetnoc
lld.seitilitusl
lld.seitivitca.atad.swodniw
lld.seixorp.cpi.mmocxh
lld.seixorpevitan
lld.seixorp.tnemegagne.erots.secivres.tfosorcim
lld.seixorp.tsohepyks
lld.selifemi
lld.seliforpnacsaiw
lld.selorza
lld.semitnurcihpargoloh
lld.sepytecivedelbatrop
lld.sepytniw
lld.serodd
lld.sesoidua
lld.seton.tfosorcim
lld.sevitimirptpyrcb
lld.sf2ipami
lld.sfdpimw
lld.sfdpw
lld.sferu
lld.sfimf
lld.sfimfc
lld.sf_psw
lld.sftnu
lld.sfvrdper
lld.sgahpdbk
lld.sgldmd
lld.sgnahfv
lld.sgnal74pcb
lld.sgnitarvt
lld.sgnittesatadegasudnascitsongaidmroftalp.eliforp.metsys.swodniw
lld.sgnittescnys
lld.sgnittesecalpkrow.ecalpkrow.tnemeganam.swodniw
lld.sgnitteselibomkrowten
lld.sgnitteslortnoctnuoccaresu
lld.sgnittesmetsys
lld.sgnittesod
lld.sgnittespotksedkrowten
lld.sgnittespukcabduolc
lld.sgnittesralullecpsc
lld.sgnittesscitsongaid.eliforpresu.metsys.swodniw
lld.sgnittesthgilf
lld.si_buhscitsongaid
lld.si_enilemit
lld.sipaelpoep
lld.sipaemi
lld.sipahtooteulb
lld.sipaksat
lld.sipalaicos
lld.sipaliame
lld.sipatahc
lld.sipatcatnoc
lld.sipatnemtnioppa
lld.sipatnuoccaatadresu
lld.sipayrotsihllacenohp
lld.sisylanaecaf.aidem.swodniw
lld.sisylana.gnikni.tupni.iu.swodniw
lld.sivpm
lld.sjbopps
lld.skoohccaelo
lld.sksatcgn
lld.sksatdnuorgkcab.elpoep
lld.sksatdnuorgkcabepyks
lld.sksatdnuorgkcabrellatsnippa
lld.sksatdnuorgkcabselur
lld.sksatecivresllatsni
lld.sksatfow
lld.sksatgnidnepmcc
lld.sksatmetsysretnecerawtfos
lld.sksatmpt
lld.sksatrabemag
lld.skwcadrocsm
lld.skwkrt
lld.slangis.anatroc
lld.slangis.lanretni.swodniw
lld.slctneve
lld.sledomweiviuhtlaehces
lld.sledomweiv.secalp.anatroc
lld.sliatedrorre
lld.slitu1068osimd
lld.slituenildnammocmd
lld.slitugfcmd
lld.slituim
lld.slituimw
lld.slitunmcmd
lld.slitunommoc
lld.slitupdd
lld.slituplehlmxmd
lld.slituser
lld.slituten
lld.slitu_tenimw
lld.slitutr
lld.slitutuaelomd
lld.slortnocemit
lld.slortnoc.kni.aidemhcir.tfosorcim
lld.slortnockni.lmax.iu.swodniw
lld.slortnoc.lmax.iu.swodniw
lld.slortnocnommocelpoep
lld.slrtcdi
lld.sltpsm
lld.sltpsmco.cnyl
lld.sltsar
lld.smcsm
lld.smihse
lld.smihsei
lld.snamsar
lld.snartptthtsidreep
lld.snartsle
lld.snartxd
lld.snes
lld.snigulpeboosm
lld.snikspit
lld.snocmebw
lld.snocptms
lld.snoisnetxecihpargoloh
lld.snoisnetxe_ipas
lld.snoisnetxenoitalumisnoitpecrep
lld.snoisnetxe.sretnirp.secived.swodniw
lld.snoissimreptcatnoc.anatroc
lld.snoitacifiton_sreldnahsgnittes
lld.snoitca.anatroc
lld.snoitcacitsongaidmroftalp.gnitroperecart.scitsongaid.metsys.swodniw
lld.snoitcakciuq
lld.snoitcakciuq_sreldnahsgnittes
lld.snoitcamotsuc0102eciffo.veu.tfosorcim
lld.snoitcamotsuc3102eciffo.veu.tfosorcim
lld.snoitcamotsucretnirp.veu.tfosorcim
lld.snoitcaretni.lmax.tfosorcim
lld.snoitcasnart.metsys
lld.snoitcirtserdaolyap
lld.snoitponingis_sreldnahsgnittes
lld.snottubllac
lld.so_cfs
lld.sofrep
lld.soibten
lld.soidar.secived.swodniw
lld.sonydemarf
lld.sopfad
lld.sopmocmd
lld.soqhsw
lld.sorebrek
lld.sotohp.tfosorcim
lld.spadsm
lld.spam
lld.spam_ecartz
lld.spamgnib
lld.spam.lmax.iu.swodniw
lld.spam_sreldnahsgnittes
lld.spaosxs
lld.spaspdr
lld.sp_blb
lld.spccipacidemi
lld.sp_cexemcc
lld.spcidemsaaw
lld.spcncesnes
lld.spcpt
lld.sp_dehcs
lld.spdhcsksat
lld.sp.dnuorgkcab.secived.swodniw
lld.sp_drooctoober
lld.sp_duolcmcc
lld.specruosatadgnimaertsxppa
lld.sp_ecruoseriu
lld.spedvres
lld.sp_egassemetats
lld.sp_emiom
lld.sperocmsid
lld.sp_erotsic
lld.sp_erotssetadpu
lld.sp_erotssic
lld.sperutcurtsarfnicnys
lld.spfm
lld.spfxl0pe
lld.sp_gifnoctr
lld.sp.gnimaerts.aidem.swodniw
lld.sphcraesemi
lld.spitycilop
lld.sp_kdsicmcc
lld.sp_kdsycilopmcc
lld.spkrowemarfnoitacol
lld.splanretnikrowemarfnoitacol
lld.spmdmw
lld.spmfcemi
lld.sp.motsuc.secived.swodniw
lld.spmrbtnirp
lld.sp_mrs
lld.sp_mtcmcc
lld.spneercstrams
lld.spnitpo
lld.spovorp
lld.sppanpw
lld.sp_pdd
lld.sppmw
lld.sppscrgmc
lld.sppsdcedocmw
lld.sppxd
lld.sprekorbemi
lld.sprekorbreganamiu
lld.sprekorbreganamycilopsae
lld.sprekorbretnecytiruces
lld.spreldnahutd
lld.sprellortnocnoitacifiton
lld.sp_rgmcexe
lld.sprgmcsv
lld.sprgmes
lld.sp_rgmetadpucrs
lld.sp_rgmhcnualppav
lld.sprgmisvh
lld.sp_rgmniwvrs
lld.spscesirpretne
lld.spscmd
lld.spscud
lld.sp_sdv
lld.sp_sksatmetsysretnecerawtfos
lld.spspibat
lld.spspxsm
lld.sp_sseccatnetnoc
lld.sp_ssv
lld.sptcaxsm
lld.sp_telppapc
lld.sp_tnegaic
lld.sp_tnegamcd
lld.sp_tneganacs
lld.sp_tnegasgnittes
lld.sp_tneilcsms
lld.sptneilcvppa
lld.sp_tnemyolpedsetadpu
lld.sptrpskw
lld.sptsohcnys
lld.spuorgtnof.noitazilabolg.swodniw
lld.spuw
lld.spvrstac
lld.spx_pxe
lld.spxuhceeps
lld.spyrotisoperetats.swodniw
lld.sp_yxorpmcc
lld.sratava
lld.sredivorpch
lld.sredivorpcnysniw
lld.sredivorpenohp
lld.sredivorphtuarp
lld.srednimer.anatroc
lld.sreepei
lld.srekaerbdrow
lld.sreldnahegasuatad
lld.sreldnahetadpu
lld.sreldnahetadpusum
lld.sreldnahgninoisivorp
lld.sreldnahgolaidsum
lld.sreldnahirunoitca.anatroc
lld.sreldnahirunoitcadnd
lld.sreldnahirunoitcallehs
lld.sreldnahirunoitcarednimer
lld.sreldnahirunoitcasnoissimreptcatnoc
lld.sreldnahnoitpyrcneecived.sgnittesmetsys
lld.sreldnahoediv
lld.sreldnahoidua
lld.sreldnahpotksedhtooteulb
lld.sreldnahsgnittesbsu
lld.sreldnah.sgnittesmetsys
lld.sreldnahsgnittessnoitporepoleved
lld.sreldnahsgnittestuoba
lld.sreldnahsseccaytilibapac
lld.sreldnahstnuoccaresu.sgnittesmetsys
lld.sreldnahtnemssessaeruces
lld.sreldnahvorp
lld.sreldnahytilibisnetxesgnittes
lld.sremrofsnartevitimirp
lld.srennacs.secived.swodniw
lld.sreplehiuctgnimag
lld.sreplehnoitacifitonetadpu
lld.srerutcafunammetsys.eliforp.metsys.swodniw
lld.sretlifpc
lld.sretnirp.secived.swodniw
lld.sretnirptendnif
lld.sretnuoc_tenpsa
lld.sretpadaeroceboo
lld.sretpadasbwecioviun
lld.sreyalca
lld.srosnes.secived.swodniw
lld.srradar
lld.srtcfrep
lld.srtcsar
lld.srtncssm
lld.sruohgol
lld.sruohteiuq
lld.ssalcfrepimw
lld.ssalcreplehbms
lld.ssalcri
lld.ssalgtrams.xobx.tfosorcim
lld.sscpr
lld.ssdaiw
lld.sseccabewpdrsm
lld.sseccaecived
lld.sseccakrow_sreldnahsgnittes
lld.sseccatnetnoc
lld.sseccaytilibapac_sreldnahsgnittes
lld.ssemebw
lld.ssenidaerppa
lld.ssespimw
lld.ssloops
lld.ssrgrpps
lld.ssti
lld.ssvese
lld.ssweca
lld.stcartnocppa
lld.stcartnocppaetoneno
lld.stceffecuw
lld.stceffepmw
lld.stcejbomdssms
lld.stdfd
lld.stdmcc
lld.sterocpdr
lld.stes.swodniw
lld.stfrep
lld.sthgilf_sreldnahsgnittes
lld.sthgil.secived.swodniw
lld.stinupm
lld.stluafedppa.iu.swodniw
lld.stmgmppa
lld.stnegaeciovcpenohp
lld.stnegaeciovderahs
lld.stnegaeciovderahsdav
lld.stnegaeciovipp
lld.stnemeleweiv.oidutstniap
lld.stnemyap.swodniw
lld.stnenopmocevitan.elpoep.tfosorcim
lld.stnenopmociueroc
lld.stnevehf
lld.stneverevirdtnega.veu.tfosorcim
lld.stnof_sreldnahsgnittes
lld.stnuoccaxh.lmax.iu.eciffo
lld.stop
lld.stpircs
lld.stpnp
lld.strecevf
lld.stropsm
lld.stxeogen
lld.sucpjmi
lld.sudbk
lld.sulpidg
lld.suoengilldmeotfsm
lld.supderoc
lld.suptmdpw
lld.susildbk
lld.sutatsecivedelbatrop
lld.sutatskrowten
lld.sv4pdr
lld.svorpderc
lld.svvneercsss.cnyl
lld.swodniw.erocppa
lld.swodniw.gnissecorpsegamignivil
lld.swodniw.ppasotohp
lld.swodniw.trlituelpoep
lld.swodniw.yrtemelet.snoitacilppa.tfosorcim
lld.syslcadd
lld.sysodc
lld.sysporp
lld.tacendbk
lld.tachf
lld.tacmoc
lld.tadweca
lld.tafu
lld.tafvnc
lld.tafxeu
lld.tahcytrap
lld.talpfm
lld.talpinu
lld.talptne
lld.taluidbk
lld.tamdminu
lld.tanten
lld.tapmoc3002revrestros
lld.tapmoc6swodniwtros
lld.tapmocaiwecivedelbatrop
lld.tapmocps
lld.tapmocvrdrorrim
lld.tasniwps
lld.tatdbk
lld.tatscsms
lld.tbptmdpw
lld.tcabloc
lld.tcafaphs
lld.tcartnocetatsppallehspotksed
lld.tccahs
lld.tccasai
lld.tcejbots
lld.tcennoc
lld.tcennoceno
lld.tceridamn
lld.tceridifiw.secived.swodniw
lld.tcetorpyeksm
lld.tdradar
lld.tdurkmi
lld.tedvn
lld.tekcosbew
lld.tekcosvh
lld.teldmcikptrec
lld.tellaw.ledomnoitacilppa.swodniw
lld.tellaw.tfosorcim
lld.telppapc
lld.tendk
lld.tenfrep
lld.tenibac
lld.teniniw
lld.tenpd
lld.tenps
lld.tentpyrc
lld.tenwdf
lld.tespihcmv
lld.tfmcedduasm
lld.tfmcedyblod
lld.tfsmtxd
lld.tidbk
lld.tidecesw
lld.tidelca
lld.tidepg
lld.tideq
lld.tidetfsm
lld.tidlodbk
lld.tijrlc
lld.tijtapmoc
lld.timbuszapm
lld.tinimwd
lld.tinivn
lld.tinixu
lld.tinunoitciderp.lanretni.swodniw
lld.tldbk
lld.tlifcysa
lld.tlifemim
lld.tlifffo
lld.tlifftr
lld.tlifgnp
lld.tluav
lld.tmgmelif
lld.tmgmod
lld.tmvxfr
lld.tncendbk
lld.tnedimcc
lld.tnedism
lld.tnegaer
lld.tnegaetadpu
lld.tnegaetadpuecived
lld.tnegaexm
lld.tnegahtlaehytiruces
lld.tnegaic
lld.tnegaisc
lld.tnegamcd
lld.tnegamdamo
lld.tnegamsw
lld.tneganacs
lld.tneganoitcellockrowten
lld.tneganoitcelloctpircsavaj
lld.tnegapdp
lld.tnegappanredom.veu.tfosorcim
lld.tnegappa.veu.tfosorcim
lld.tnegasgnittes
lld.tnegast
lld.tnegasutats
lld.tnegavn
lld.tnegavni
lld.tnegaycilop
lld.tnegaytiniffa
lld.tneilc23niw02osm
lld.tneilc23niw03osm
lld.tneilc23niw05osm
lld.tneilc23niw89osm
lld.tneilc23niwiu04osm
lld.tneilc23niwl99osm
lld.tneilcagmm
lld.tneilcasmg
lld.tneilccnysmurtceps
lld.tneilcecnanetniamxednimip
lld.tneilcef
lld.tneilcelcaro.atad.metsys
lld.tneilcgfctenh
lld.tneilcgnirehtet
lld.tneilchss
lld.tneilchtualarutan
lld.tneilclaid
lld.tneilclaveirteratadatemecived
lld.tneilclaveirterrevirdecived
lld.tneilcledomcexe
lld.tneilcmr
lld.tneilcmrs
lld.tneilcnoitallatsnierawtfosecived
lld.tneilcnoitarugifnocgnib
lld.tneilcnoitavitca
lld.tneilcnpw
lld.tneilcperis
lld.tneilcplhtanpi
lld.tneilcpm
lld.tneilcrda
lld.tneilcreganamsseccaytilibapac
lld.tneilcrekorbdnamedno
lld.tneilcrekorbemit
lld.tneilcrekorbstnevemetsys
lld.tneilcrekorbstnevemetsysc
lld.tneilcretpadaroloc
lld.tneilcrlangis
lld.tneilcrs
lld.tneilcrvdtsacb
lld.tneilcsd
lld.tneilcsf
lld.tneilcsgnittesmab
lld.tneilcsms
lld.tneilcsw
lld.tneilctmgmppaesirpretne
lld.tneilctnemyolpedxppa
lld.tneilcts
lld.tneilctsohpa
lld.tneilctsohsom
lld.tneilcyawetagoiduatb
lld.tneilcycilopecruoser
lld.tneilc.ylimaf
lld.tneilcyreuq.ecnaveler.elpoep.lanretniswodniw
lld.tneilcyreuq.ecnaveler.elpoep.tfosorcim
lld.tneilcyrotceridecived
lld.tneilcyrotisoperetats.swodniw
lld.tneilcyrotsihllac
lld.tneilcyrtemeletmroftalp.yrtemelet.scitsongaid.metsys.swodniw
lld.tnemegagne.erots.secivres.tfosorcim
lld.tnemeganamgnicarttneve
lld.tnemeganamlacolmdm
lld.tnemeganam.lanretni.swodniw
lld.tnemeganammetsys.metsys.swodniw
lld.tnemeganamnoitcetorp
lld.tnemeganamwodniw
lld.tnemssessaeruces.tnemeganam.lanretni.swodniw
lld.tnemssessasaaw
lld.tnemyolpedsetadpu
lld.tnemyolpedsohuuw
lld.tnenopmocmroftalpnoitacifiton
lld.tnese
lld.tnesnocsae
lld.tnetnocdetegrat.secivres.swodniw
lld.tnetnocegde
lld.tnetnocneercskcol
lld.tneveilc
lld.tneveiu
lld.tn_frep
lld.tnievihcra
lld.tniopdnellornetrec
lld.tniopdnenoisivorptma
lld.tniopdnenoitcetorptniopdne
lld.tniopdneoiduaetomer
lld.tniopdnetnegarwp
lld.tniopdnetnegaycilop
lld.tniopdnetneilcbgb
lld.tniopdnetnevelanretxe
lld.tniopdnetr
lld.tniopdnevni
lld.tniopdneyalerlpmoc
lld.tnioprewopkg
lld.tniprw
lld.tnirpdf
lld.tnirpfv
lld.tnirpgh
lld.tnirpniw
lld.tnirpspx
lld.tnirpst
lld.tnirptegrattnemucodspx
lld.tnirptn
lld.tnlcbew
lld.tnlcimw
lld.tnlcpg3tod
lld.tnlcpglw
lld.tnlcupwf
lld.tnlcvad
lld.tnsda
lld.tn_sreldnahsgnittes
lld.tnuoccaresu_sreldnahsgnittes
lld.toifad
lld.tolipotua
lld.toohselbuort_sreldnahsgnittes
lld.tpehdbk
lld.tpircsbv
lld.tpircsj
lld.tpircsmd
lld.tpircspg
lld.tppnttbno
lld.tpvtnrp
lld.tpyrcb
lld.tpyrcmui
lld.tpyrcn
lld.tradsm
lld.trahc
lld.trao
lld.trao.lmax.iu.eciffo
lld.trcvsm
lld.trecnegmcc
lld.trepyks
lld.tricvsm
lld.trlada
lld.trniwca
lld.trniwenigne
lld.trniwgnisnecil
lld.trniwib
lld.trniwloopdaerht
lld.trniwotpyrc
lld.trniwreganamnigulp
lld.trniw.uks
lld.tropermws
lld.tropmi.aidem.swodniw
lld.tropmico.cnyl
lld.troppusiaimc
lld.troppuskso
lld.troppuslpcrew
lld.troppusrekinomecivres
lld.tropsnartmvvdr
lld.tropsnarttrd
lld.tropsnartyalerpdr
lld.trpdc
lld.trpiov
lld.trpipimw
lld.trstnuocca
lld.trva
lld.trwsae
lld.trwsfe
lld.tsaphnpd
lld.tsar9bgr
lld.tscamdbk
lld.tscersai
lld.tsedbk
lld.tsefinamvppa
lld.tseggusotua.elpoep.tfosorcim
lld.tsegidw
lld.tserppc
lld.tsgwhsm
lld.tsh3ppae
lld.tsidreep
lld.tsilsts
lld.tslcpjmi
lld.tsnichds
lld.tsnifrepimw
lld.tsnimdm
lld.tsninuso
lld.tsniocric
lld.tsnipps
lld.tsnomdbk
lld.tsohadswtnirp
lld.tsohces
lld.tsohecneirepxeduolc
lld.tsohecneirepxeduolc.tfosorcim
lld.tsohecneirepxeerots
lld.tsoheprocsm
lld.tsoherahs
lld.tsohfds
lld.tsohgmwd
lld.tsohiparednertnirp
lld.tsohlmax.iu.swodniw
lld.tsohnoitallocbolg
lld.tsohpdf
lld.tsohpfu
lld.tsohpms
lld.tsohpnpu
lld.tsohppae
lld.tsohppakcolevoba
lld.tsohrlc
lld.tsohsom
lld.tsohtnetnocneercskcol
lld.tsohtupni
lld.tsohtupnibolg
lld.tsohtxeecivresmsp
lld.tsohvorpderc
lld.tsordbk
lld.tsrosdbk
lld.tsrpadsm
lld.tssxf
lld.tsurtniw
lld.tsvldbk
lld.tszadbk
lld.ttadsm
lld.ttagrevodih.seliforp.htooteulb.tfosorcim
lld.tuaaiw
lld.tuacim
lld.tuarm
lld.tuoylfnoitacolkrowtentes
lld.tuoylfrabelpoep
lld.tupmocym
lld.tupni
lld.tupnid
lld.tupni.gnimag.swodniw
lld.tupnilautriv.gnikcod
lld.tupnin
lld.tupnitxet.eroc.iu.swodniw
lld.tupnitxet.secneirepxe.llehselbasopmoc.lanretniswodniw
lld.tuvrstac
lld.tvetn
lld.txeas
lld.txeasco.cnyl
lld.txeaslsfe
lld.txeaww
lld.txecls
lld.txecpps
lld.txecvsci
lld.txecvsforp
lld.txedmc
lld.txeeki
lld.txeerocss
lld.txeevasemaglbx
lld.txeforp
lld.txehsaiw
lld.txehsanld
lld.txehscmm
lld.txehsdpw
lld.txehsds
lld.txehsppad3vn
lld.txehsvn
lld.txehsw
lld.txehtua
lld.txehuuw
lld.txeiusd
lld.txelitusf
lld.txellehs
lld.txellehsgnitsac
lld.txellehspotksed
lld.txelqsza
lld.txenogolniw
lld.txenomfreproc
lld.txenrppg
lld.txenwodtuhs
lld.txeofnippa
lld.txeoibniw
lld.txeopmu
lld.txepahcsar
lld.txepggd
lld.txepgisvh
lld.txepgsredlofkrow
lld.txepsacmm
lld.txereganamycilopoiduaeroc
lld.txerekorbnekothtualbx
lld.txeresuasm
lld.txerpm
lld.txescedocswodniw
lld.txesfe
lld.txesltsar
lld.txesltt
lld.txesmsda
lld.txessalccmsfduw
lld.txetaasm
lld.txetininiw
lld.txetiniresu
lld.txetnof
lld.txetpg
lld.txetpyrc
lld.txevrsniw
lld.txewt
lld.txeyalrevotahcemag
lld.txeytefasylimaf
lld.txtdoeca
lld.txteca
lld.u021cfm
lld.u021mcfm
lld.u041cfm
lld.u041mcfm
lld.u04cfm
lld.u23niw
lld.u24cfm
lld.u2ukp
lld.uahdbk
lld.ubdbk
lld.udasfe
lld.udrudbk
lld.uhdbk
lld.uiuctdsm
lld.uksniw
lld.ulcxtm
lld.ummocpm
lld.unemotyalp
lld.unemyartsysemi
lld.upc46wow
lld.upcdrocerdtt
lld.urdbk
lld.urhtssap_imwegarots
lld.vajdbk
lld.vaopm
lld.vddbk
lld.vedcwrx
lld.vednidbk
lld.vedoidua
lld.vedvpupg
lld.vedvsubmv
lld.vedwen
lld.vexosm
lld.vidkni
lld.virposm
lld.vldbk
lld.vmtpxl
lld.vnc21drw
lld.vncoiduafm
lld.vncroloc
lld.vneresu
lld.vnesses
lld.vniea
lld.vnived
lld.vnocbup
lld.vnoclixd
lld.vnoctp8wyk
lld.vorpaa
lld.vorpcn
lld.vorpcvd
lld.vorpdcb
lld.vorpdehcs
lld.vorpderccgn
lld.vorpderccgnecived
lld.vorpdercdilw
lld.vorpderchserfertmgm
lld.vorpderclangisdetsurt
lld.vorpdercodif
lld.vorpdercoib
lld.vorpdfw
lld.vorpdilw
lld.vorpdts
lld.vorpee
lld.vorpegdirbimwmd
lld.vorpfim
lld.vorpfnoceroccsd
lld.vorpforp
lld.vorpimw
lld.vorpimwcadw
lld.vorpimwcar
lld.vorpism
lld.vorpiwfad
lld.vorplnrk
lld.vorpmsid
lld.vorpmsu
lld.vorpneve
lld.vorpocsiddswtsidreep
lld.vorpppamdm
lld.vorprd
lld.vorprdd
lld.vorprf
lld.vorpsd
lld.vorpsgnittesmdm
lld.vorpsvrptma
lld.vorptpyrcn
lld.vorptrd
lld.vorptsu
lld.vorpucn
lld.vorpudn
lld.vorpufv
lld.vorpursnpw
lld.vorpursppa
lld.vorpvnihrwp
lld.vorpvnihtma
lld.vorpweiv
lld.vorpygrene
lld.vpbhxf
lld.vrdbfaiw
lld.vrdcsdsw
lld.vrddwprotshe
lld.vrdinu
lld.vrdngis
lld.vrdsopetomer
lld.vrdsopo
lld.vrdsxf
lld.vrduwkhc
lld.vrdvwres
lld.vrdwdxm
lld.vrepyhhsw
lld.vresdih
lld.vreshtb
lld.vresyxorpputeskpl
lld.vrpcdimw
lld.vrpgaids
lld.vrpimpi
lld.vrpnpw
lld.vrpws
lld.vrsasl
lld.vrsdcb
lld.vrsdgmsm
lld.vrsdnsyalp
lld.vrsecs
lld.vrsesab
lld.vrsib
lld.vrsipapd
lld.vrsipat
lld.vrsipss
lld.vrsmas
lld.vrsmret
lld.vrsmsp
lld.vrsniw
lld.vrsoidua
lld.vrspdss
lld.vrsprn
lld.vrspxe
lld.vrsrsc
lld.vrssrniw
lld.vrssxs
lld.vrstac
lld.vrsumv
lld.vrsyekpopcgn
lld.vsi_corpces
lld.vsi_pss_corpces
lld.vstsnixa
lld.vtrahc
lld.vuybst
lld.vuysm
lld.wahdbk
lld.wardd
lld.warscedocswodniw
lld.wcgsar
lld.weivbac
lld.weive
lld.weiverp.erotsniw
lld.weiverp.gnimag.swodniw
lld.weiverp.gninraelenihcam.ia.swodniw
lld.weiv.kooltuoxh
lld.weivpatredluohs
lld.weivpmujrabelpoep
lld.weivtppco.cnyl
lld.wfimc
lld.wfvfm
lld.wfvorpten
lld.whrvmmtr.cnyl
lld.wmljpxl
lld.wmradbk
lld.wolfkrow.gnitnirp.scihparg.swodniw
lld.wpcdk
lld.wpfxl0pe
lld.wqoegdbk
lld.wsdbk
lld.wtefdn
lld.wtelcw
lld.wterew
lld.wtnpmnbd
lld.wvcodhs
lld.wvgmihs
lld.wvhsppa.cnyl
lld.x462htfmcnevn
lld.xacstsm
lld.xafniw
lld.xanosrep
lld.xarekorbpskw
lld.xccfn
lld.xccms
lld.xcddi
lld.xc.ledom.oidutstniap
lld.xc.ledom.tniaphserf
lld.xcmcu
lld.xcomd
lld.xcq_05ri
lld.xcq_14ri
lld.xc.slitu
lld.xcsop
lld.xcsrosnes
lld.xdimw
lld.xegfcpdr
lld.xelhssfd
lld.xemocsxf
lld.xeno
lld.xentbbat
lld.xepsid
lld.xerosdbk
lld.xevitca_lituhsalf
lld.xewardd
lld.xextm
lld.xf1lc80nnc
lld.xf2lc80nnc
lld.xfcnystne
lld.xfduw
lld.xfgaidten
lld.xgepjmtfmcedvn
lld.xgfcten
lld.xinuhsw
lld.xkcoswpd
lld.xkudbk
lld.xlitusfi
lld.xlmxlqs
lld.xmedompd
lld.xmihsdmuvn
lld.xmu2fgwvn
lld.xmud3dvn
lld.xnegdip
lld.xodasm
lld.xorpledomytreporp.cnyl
lld.xorpmebw
lld.xorpmv
lld.xorptsaf
lld.xparw9d3dvn
lld.xparwigxdvn
lld.xrpcossaxpnp
lld.xrpctdsm
lld.xrsps
lld.xsudbk
lld.xtedvn
lld.xtinivn
lld.xuemag
lld.xugnimaertsvppa
lld.xuhceeps
lld.xuhceepsanatroc
lld.xukrowten
lld.xunoissesst
lld.xunwodtuhs
lld.xupnu
lld.xutenycagel
lld.xutnesnoc
lld.xutoob
lld.xuunemtoob
lld.xyalpd
lld.yalpfm
lld.yalpotua
lld.yalpsid
lld.yalpsidcihpargolohd
lld.yalpsidcp_sreldnahsgnittes
lld.yalpsidd
lld.yalpsidifiw
lld.yalpsid_sreldnahsgnittes
lld.yartcmvn
lld.ybbolnpd
lld.ycagelbddexedni
lld.ycagelsvorpderc
lld.ycavirp_sreldnahsgnittes
lld.ycilopaidemdnuorgkcab
lld.ycilopcnysgnittes
lld.ycilopdnuorgkcabdractrams
lld.ycilopetadpu
lld.yciloppnp
lld.yciloppsgfc
lld.ycilopreganamdnuorgkcabbes
lld.ycilopreganamdnuorgkcabpca
lld.ycilopreganamdnuorgkcab.refsnartdnuorgkcab.gnikrowten.swodniw
lld.yciloptsohscsl
lld.ycilopvppa
lld.yclopsai
lld.ydaeryalp.noitcetorp.aidem.swodniw
lld.yekspjmi
lld.yfirevep
lld.yftnnrp
lld.yftnsys
lld.ygrene
lld.ygrene.swodniw
lld.yhpargotohpsm
lld.ynohpeletdih
lld.yolpedf
lld.yolpedmrm
lld.yrarbilderahs
lld.yrarbilgniggolretlifetirw
lld.yrarbilgnitroppw
lld.yrarbilhguorhtetirwretlifetirw
lld.yrarbiliugopasmqenoc
lld.yreuq
lld.yreuqderutcurts
lld.yreuqsd
lld.yreuqt
lld.yreuqveddf
lld.yrevocer
lld.yrevocercgn
lld.yrevocsidchfdn
lld.yrotcafecafrusnoitisopmoc.hkimbor
lld.yrotcafksatxdr
lld.yrotcafmetikrowten
lld.yrotisoperatadelit
lld.yrotisoperetats.swodniw
lld.yrotnevni.metsys.swodniw
lld.yrtemelethtb
lld.yrtemeletiuhtlaehces
lld.yrtemeletsl
lld.yrtemeletspam
lld.yrtemelettneilc
lld.ytilibisnetxesgnittes.sgnittesmetsys
lld.ytilibissecca_sreldnahsgnittes
lld.ytilicafgnikcehcllepssm
lld.ytilitusxf
lld.ytimixorp.gnikrowten.swodniw
lld.ytiruces
lld.ytirucesgnimaor
lld.ytirucesgnimaorsmr
lld.ytivitcaretni.lmax.tfosorcim
lld.ytivitcennoc.gnikrowten.swodniw
lld.ytmradbk
lld.yxorpbsnim
lld.yxorpca
lld.yxorpcnys
lld.yxorpcsd
lld.yxorpcvstbspam
lld.yxorpdf
lld.yxorpecivresdnuorgkcabtellaw
lld.yxorpecivresrotaidemtnemyap
lld.yxorpei
lld.yxorpenappleh
lld.yxorpenignegnireit
lld.yxorpevasemaglbx
lld.yxorpfso
lld.yxorpgarfed
lld.yxorpgnimaorbsnim
lld.yxorpgnimaorfso
lld.yxorpgniriapecived
lld.yxorphsupmd
lld.yxorphtbdf
lld.yxorp.htooteulb.tfosorcim
lld.yxorphtuapaencw
lld.yxorpiodd
lld.yxorpisma
lld.yxorpledomcexe
lld.yxorpledomcnyl.cnyl
lld.yxorplir
lld.yxorplirvhi
lld.yxorpllehssseccadengissa
lld.yxorpmcc
lld.yxorpmln
lld.yxorpmpn
lld.yxorpmsl
lld.yxorpnacsdsw
lld.yxorpnigulpreweiv.aimul
lld.yxorpnoitalositnirp
lld.yxorpnoitcartxeytitnegnigassem
lld.yxorppsc
lld.yxorpreeppaencw
lld.yxorpreganamhtualbx
lld.yxorp.retirwecneserprabemag
lld.yxorprgmresu
lld.yxorprotcartxeytitnetxet
lld.yxorp.rotcellocdradnats.buhscitsongaid
lld.yxorprotinomhtlaehnoitacilppamv
lld.yxorp.rvdtsacb
lld.yxorpsfimfc
lld.yxorpsj
lld.yxorpskfm
lld.yxorpsnh
lld.yxorpstib
lld.yxorptellaw
lld.yxorptnegasutats
lld.yxorptnirpdsw
lld.yxorptsohhtua
lld.yxorptsohnoitatneserp
lld.yxorptsohxupm
lld.yxorpwolfkrowtnirp
lld.yxorpxfopasm
lld.yxorpxs
lld.yxplpmsw
lld.yxrpal
lld.yxrpenilepipretliftnirp
lld.yxrpppae
lld.yxrpssm
lld.yxrpxtca
lld.zakdbk
lld.zcdbk
lld.zhtua
lld.zhtuapac
lld.zilamron
lld.ziwcca
lld.ziwevf
lld.ziwlpten
lld.ziwncw
lld.ziwotohp
lld.ztrauq
lld.zzucfv
llkggghhheeeWWW
|llmkklppqtuu
lmmqxxXPR[
LMResult
LMTfD9UVfD
lNt0zzaC
LoadAcceleratorsW
LoadAndInitialiseHardwareProviders
LoadAndInitialiseHbaPorts
LoadAndInitialiseInitiator
LoadBitmapW
?Load@CBdeCfgLibraryLoader@@QEAAJXZ
LoadClientWrappers
LoadComponent
load_configurations_test.cpp
LoadCursorA
LoadCursorW
LoadDllClientWrappers
loadedcomponentoverridecontroller.cpp
loadedcomponentoverridecontroller.h
loadedcomponenttests.cpp
Loaded Conjures:
Loaded Device Support Packages (DSP):
loaded_dll
LoadFfDll
LoadFile
LoadFormatStringAndPrintToConsole
LoadFrom
LoadIconA
LoadIconW
LoadImageW
LoadInformation
Loading...@
Loading web server plugin...
Loading your applications.
LoadKeyboardLayoutW
LoadKsPipeline
LoadLibrary
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
LoadMenuW
LoadPackageRangesWWW
LoadPackageW
?LoadPage@TaskPage@DirectUI@@MEAAJPEAVHWNDElement@2@PEAUHINSTANCE__@@PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?LoadParser@TaskPage@DirectUI@@MEAAJPEAPEAVDUIXmlParser@2@@Z
LoadPpDlls
LoadRequestTypeW
LoadResource
Loads all packages in a connection groupWWG
Loads one or more ranges of one or more files within a package
load start
LoadString
LoadStringA
LoadStringW
loadtask.cpp
loadtask.h
LoadUserProfileW
lobmySdleiF.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySdohteMnoitatnemelpmIecafretnI.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySdohteMyllaniFrotaretI.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySecapsemaNdeifilauQylbmessA.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySecapsemaN.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySelbairaVlacoL.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySelbairaV.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySetagerggAdevlosernU.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySetagerggArOecapsemaN.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySetagerggA.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySlebaL.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySrebmeMreifitnedItnerapsnarT.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySretemaraPepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySrexednI.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmyS.slortnoC.lmaX.IU.swodniW
lobmyStneraP.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmyStnevE.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySytreporPrOdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
lobmySytreporP.scitnameS.redniBemitnuR.prahSC.tfosorciM
LocalAlloc
LocalAlloc failed
LocalAppData
LocalContextCacheSize
Local database is corrupted
Local_Detect_Synclet
localeconv
LocaleNameToLCID
LocalFileTimeToFileTime
LocalFree
LocalGetStringForCondition
localhost
localinstallationpage.cpp
local_ip
LocalLicense
LocalLock
LocalMachine
LocalMachineEnterprise
LocalMachineGroupPolicy
LocalMessageHandler
local-port
local_port
LocalReAlloc
LocalScreenTimeExtensionGranted
LocalServer
localservice
LocalSize
localsystem
localtime
_localtime64
_localtime64_s
LocalUnlock
_local_unwind
LocateXStateFeature
location
Location:
    --location-trusted
location-trusted
locator.cpp
locator.h
locatoroverridecontroller.cpp
locatortests.cpp
LocFilesPath
Lock already taken
lock.cpp
Lock failed for 
_lock_file
LOCKFILE_READ_ERROR
locking_mode
LockResource
_lockToken
LockWorkStation
locotorPnoitacitnehtuA.IU.slaitnederC.ytiruceS.swodniW
locotorPnoitacitnehtuAredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
locotorPPIecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
locotorPPInpV.npV.gnikrowteN.swodniW
LogAndInvoke
log close
log close trace
log close [type]                  Close Log File
?Log@CmLogFile@@QEAAXW4_CMLOG_ITEM@@ZZ
_logCreationTime
_logDirectory
log                               Display Open Log Files
LogDuration
LogEndDate
LogEntries
LogError
LogErrorMessage
LogEvent
Log: Failed To Get Msg From ID
LogFileInUse Telemetry failed: No valid tag.
Log File Name : 
_logFilePath
LogFilePath
_logFilePrefix
logfilter.cpp
LogFilters
logfiltertest.h
logformatter.cpp
logformatter.h
LogFunction
_loggerDelegate
LoggerDelegate
logger.h
_loggerInitialized
LoggerLevelOptions
LoggerSettingsCustom
LoggerSettingsError
LoggerSettingsFactory
LoggerSettingsInformation
LoggerSettingsVerbose
LoggerSettingsWarning
LoggerTemplate
Logging Manager Already initialized.
LoggingServices
loggingsession.h
Logging session is already active
loggingsessionut.cpp
LoggingToFileEnabledName
log_helpers.hpp
_logicalRequest
_logIdentifier
Login denied
LOGINDISH9
LogInfoMessage
login-options
LoginTarget
logLevel
LogLevel
LOGLEVEL
LogLevel setting not found. Setting to release prints only.
log list                          Display Open Log Files
 || LogMessage: 
LogMessage
?LogMessage@CDrCallTracer@@QEAAXKPEADZZ
?Log@MESSAGE@@QEAAEPEBDZZ
LogoffSession
logoncli.dll
LogonMonitorThreadExit
LogonMonitorThreadStart
logonOptimizationFlags
logonTask
LogonTask
LogonTaskExecutionTime
LogonTaskHung
logonTypeFlags
LogonUserExExW
LogonUserExW
LogOutputString
LogoutTarget
Log path:
LogRejectionMessage
_logRolloverKb
Log Route     : 
LogServiceAndControlModuleVersion
logSeverity
LogSeverity
Log State     : Started
Log State     : Stopped
                                        Logs the participant data log to the
logstring is NULL
Log target setting not found. Defaulting to 'debugger'.
LogToFile
LogVerboseMessage
LogWarningMessage
LogWppMessage
.[[[lom#
LONG HighPart;
LONG                    lChainIndex;
LONG                    lElementIndex;
LONG    lError;
LONGLONG VolArriveTime;  
LookasideHitPeak
LookasideMissFullPeak
LookasideMissSizePeak
LookasideUsed
LookasideUsedPeak
lookielook.cpp
LookupAccountNameLocalW
LookupAccountNameW
LookupAccountSidLocalW
LookupAccountSidW
LookupAccountSidWStub
LookupNames_End
LookupNames_Start
LookupPrivilegeValue
LookupPrivilegeValue for 
LookupPrivilegeValueW
LookupSids_End
LookupSids_Start
lookup word is missing
Loopback
LoopbackAlignmentOffset
_loopbackChannels
LoopbackData
loopback_format_
looPdaerhT.gnidaerhT.metsyS.swodniW
looPemarFerutpaC11D3tceriD.erutpaC.scihparG.swodniW
looPemarFerutpaC11D3tceriDI.erutpaC.scihparG.swodniW
looPksaTyalpsiD.eroC.yalpsiD.seciveD.swodniW
looPksaTyalpsiDI.eroC.yalpsiD.seciveD.swodniW
looTrablooTknI.slortnoC.lmaX.IU.swodniW
LOpenStream
lortnoCaideM.aideM.swodniW
lortnoCaideMI.aideM.swodniW
lortnoCciremuNdiH.eciveDecafretnInamuH.seciveD.swodniW
lortnoCciremuNdiHI.eciveDecafretnInamuH.seciveD.swodniW
lortnoCdA.IU.TRniW.gnisitrevdA.tfosorciM
lortnoCdeepSosIemarF.eroC.seciveD.aideM.swodniW
lortnoCdeepSosIemarFI.eroC.seciveD.aideM.swodniW
lortnoCdeepSosII.seciveD.aideM.swodniW
lortnoCdeepSosI.seciveD.aideM.swodniW
lortnoCeciveDaideMI.seciveD.aideM.swodniW
lortnoCeciveDaideM.seciveD.aideM.swodniW
lortnoCecnalaBetihWI.seciveD.aideM.swodniW
lortnoCecnalaBetihW.seciveD.aideM.swodniW
lortnoCecneuqeSotohPgaLwoLI.seciveD.aideM.swodniW
lortnoCecneuqeSotohPgaLwoL.seciveD.aideM.swodniW
lortnoCedoMenecSI.seciveD.aideM.swodniW
lortnoCedoMenecS.seciveD.aideM.swodniW
lortnoCegnaRcimanyDhgiH.eroC.aideM.swodniW
lortnoCegnaRcimanyDhgiHI.eroC.aideM.swodniW
lortnoCehcaCpttHI.sretliF.pttH.beW.swodniW
lortnoCehcaCpttH.sretliF.pttH.beW.swodniW
lortnoCenaPtupnII.tnemeganaMweiV.IU.swodniW
lortnoCepiwSI.slortnoC.lmaX.IU.swodniW
lortnoCepiwS.slortnoC.lmaX.IU.swodniW
lortnoCerusopxEemarF.eroC.seciveD.aideM.swodniW
lortnoCerusopxEemarFI.eroC.seciveD.aideM.swodniW
lortnoCerusopxEI.seciveD.aideM.swodniW
lortnoCerusopxE.seciveD.aideM.swodniW
lortnoCgnisioneDlaropmeToediVI.seciveD.aideM.swodniW
lortnoCgnisioneDlaropmeToediV.seciveD.aideM.swodniW
lortnoCgnitaRI.slortnoC.lmaX.IU.swodniW
lortnoCgnitaR.slortnoC.lmaX.IU.swodniW
lortnoChcroTderarfnII.seciveD.aideM.swodniW
lortnoChcroTderarfnI.seciveD.aideM.swodniW
lortnoChcroTI.seciveD.aideM.swodniW
lortnoChcroT.seciveD.aideM.swodniW
lortnoChsalFemarF.eroC.seciveD.aideM.swodniW
lortnoChsalFemarFI.eroC.seciveD.aideM.swodniW
lortnoChsalFI.seciveD.aideM.swodniW
lortnoChsalF.seciveD.aideM.swodniW
lortnoCI.slortnoC.lmaX.IU.swodniW
lortnoCllaCI.seciveD.aideM.swodniW
lortnoCllaC.seciveD.aideM.swodniW
lortnoCmaertSrevieceRtsacariMI.tsacariM.aideM.swodniW
lortnoCmaertSrevieceRtsacariM.tsacariM.aideM.swodniW
lortnoCmooZI.seciveD.aideM.swodniW
lortnoCmooZ.seciveD.aideM.swodniW
lortnoCnaelooBdiH.eciveDecafretnInamuH.seciveD.swodniW
lortnoCnaelooBdiHI.eciveDecafretnInamuH.seciveD.swodniW
lortnoCnoitamrifnoCotohPI.seciveD.aideM.swodniW
lortnoCnoitamrifnoCotohP.seciveD.aideM.swodniW
lortnoCnoitarugifnoCnePrablooTknII.slortnoC.lmaX.IU.swodniW
lortnoCnoitarugifnoCnePrablooTknI.slortnoC.lmaX.IU.swodniW
lortnoCnoitasnepmoCerusopxEemarF.eroC.seciveD.aideM.swodniW
lortnoCnoitasnepmoCerusopxEemarFI.eroC.seciveD.aideM.swodniW
lortnoCnoitasnepmoCerusopxEI.seciveD.aideM.swodniW
lortnoCnoitasnepmoCerusopxE.seciveD.aideM.swodniW
lortnoCnoitazilibatSegamIlacitpOI.seciveD.aideM.swodniW
lortnoCnoitazilibatSegamIlacitpO.seciveD.aideM.swodniW
lortnoCoediVrdHI.seciveD.aideM.swodniW
lortnoCoediVrdH.seciveD.aideM.swodniW
lortnoCoediVytiroirPerusopxEI.seciveD.aideM.swodniW
lortnoCoediVytiroirPerusopxE.seciveD.aideM.swodniW
lortnoCotohPdecnavdAI.seciveD.aideM.swodniW
lortnoCotohPdecnavdA.seciveD.aideM.swodniW
lortnoCotohPgaLwoLI.seciveD.aideM.swodniW
lortnoCotohPgaLwoL.seciveD.aideM.swodniW
lortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
lortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
lortnoCrenetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
lortnoCrenetsiLtekcoSmaertS.stekcoS.gnikrowteN.swodniW
lortnoCresUI.slortnoC.lmaX.IU.swodniW
lortnoCresU.slortnoC.lmaX.IU.swodniW
lortnoC.slortnoC.lmaX.IU.swodniW
lortnoCsmetII.slortnoC.lmaX.IU.swodniW
lortnoCsmetIpaMI.spaM.slortnoC.lmaX.IU.swodniW
lortnoCsmetIpaM.spaM.slortnoC.lmaX.IU.swodniW
lortnoCsmetI.slortnoC.lmaX.IU.swodniW
lortnoCsredaeHtoviP.sevitimirP.slortnoC.enohP.tfosorciM
lortnoCsucoFemarF.eroC.seciveD.aideM.swodniW
lortnoCsucoFemarFI.eroC.seciveD.aideM.swodniW
lortnoCsucoFI.seciveD.aideM.swodniW
lortnoCsucoF.seciveD.aideM.swodniW
lortnoCtekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWegasseMrevreSI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWegasseMrevreS.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWegasseM.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWmaertSI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSbeWmaertS.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSmaertS.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSmargataDI.stekcoS.gnikrowteN.swodniW
lortnoCtekcoSmargataD.stekcoS.gnikrowteN.swodniW
lortnoCtnetnoCI.slortnoC.lmaX.IU.swodniW
lortnoCtnetnoC.slortnoC.lmaX.IU.swodniW
lortnoCtseretnIfOsnoigeRI.seciveD.aideM.swodniW
lortnoCtseretnIfOsnoigeR.seciveD.aideM.swodniW
lortnoCweiVbeWI.IU.beW.swodniW
lortnoCweiVbeW.poretnI.IU.beW.swodniW
lortnoCwolFtcejbO.secivreSrelipmoC.cisaBlausiV.tfosorciM
Lost_Event
losteventsdetector.h
losteventsdetectorut.cpp
lowerCaseArgs
@LowILConsentUILaunched
low_latency_enable
Low level networking operations
LowPowerConfigurationComposer
LpalStreamConfigurator
LpalWupConfigurator
lpApplicationName
lpBuffer
lpc.46gmnstr
lpCallbackData
lpc.apcn
lpc.cptelbat
lpc.crgfcsms
lpc.etademit
lpc.gfcrewop
LPCGUID AuthMethodGuid
LPCGUID AuthMethodGUID
LPCGUID ProtectorGuid
lpc.ipas
lpc.iucsw
lpc.ksed
lpClassName
lpc.llawerif
lpc.lpcteni
lpc.ltni
lpc.mdsys
lpc.niam
lpc.nohpelet
lpCommand
lpCommandLine
lpc.ppalpcreyalphsalf
lpc.sporphtb
lpc.sporpri
LPCSTR *ppszError
LPCSTR pszCredentialsOid;
LPCSTR  pszObjId;
LPCSTR pszObjId
LPCSTR          pszOID;
LPCSTR  pszOID;
LPCSTR pszOID
LPCSTR pszOverrideFuncName
LPCSTR                      pszRevocationOid;
LPCSTR              pszSystemStore;
LPCSTR                      pszTSAPolicyId;             
LPCSTR                                  pszUsageIdentifier;
LPCSTR pszUsageIdentifier
LPCSTR            szSubsystemProtocol
lpc.sysmm
lpCurrentDirectory
LPCWSTR *ppszError
LPCWSTR pszAlgId;
LPCWSTR pszContext);
LPCWSTR pszCreationTitle;
LPCWSTR pszDescription;
LPCWSTR pszFriendlyName;
LPCWSTR pszFunction);
LPCWSTR pwszCryptName
LPCWSTR pwszDll
LPCWSTR         pwszETag;
LPCWSTR               pwszExtendedErrorInfo;    
LPCWSTR pwszFileName
LPCWSTR     pwszLdapUrl;
LPCWSTR         pwszName;
LPCWSTR pwszStoreName
LPCWSTR             pwszSystemStore;
LPCWSTR szPrompt;
LPCWSTR            szSubsystemProtocol
lpc.ziwppa
lpc.ziwwdh
lpDatabaseName
lpDesktop
_lpeBuffer
_lpeBufferSize
lpEnumFunc
lpEnvironment
lpExistingFileName
lpFileName
LPFILETIME                          pftCacheResync;
LPFILETIME                  pftCacheResync;
LPFILETIME                  pftCurrentTime;
LPFILETIME                  pftTimeToUse;
LPFILETIME                  pLastSyncTime;
LPFILETIME                  pMaxAgeTime;
lpfRootFolder@
LPGUID AuthMethodGuid
LPGUID GUIDProtector
LPGUID IdentityGuid
LPGUID ProtectorGuid
LPGUID UnlockGUID
lpInputBuffer
LPlatSvc.exe
lpMachineName
lpNewFileName
lpProcessAttributes
lpProcessInformation
lpRebootMsg
lpReserved
lpReserved2
lPrimaryDisplayID
L"Processing a WAP message sent from OTA"
lpsaActions
LPSAFEARRAY_UserFree64
LPSAFEARRAY_UserMarshal64
LPSAFEARRAY_UserSize64
LPSAFEARRAY_UserUnmarshal64
lpServiceName
lpStartupInfo
LPSTR               pszAccessMethod;        
LPSTR           pszContentEncObjId; 
LPSTR               pszContentEncryptionObjId;
LPSTR                   pszContentType;          
LPSTR                       pszIssuerDomainPolicy;      
LPSTR       pszNoticeIdentifier;        
LPSTR       pszNSINoticeIdentifier;     
LPSTR                       pszObjId;
LPSTR                       pszObjId;   
LPSTR                   pszObjId;
LPSTR               pszObjId;
LPSTR                               pszOID;
LPSTR               pszOpenStoreProvider;   
LPSTR   pszOrganization;
LPSTR   pszPassword;
LPSTR                       pszPolicyIdentifier;    
LPSTR                       pszPolicyQualifierId;   
LPSTR                           pszPrivateKeyObjId;
LPSTR                       pszRegisteredID;    
LPSTR               pszStatementId;     
LPSTR                       pszSubjectDomainPolicy;     
LPSTR                   pszTimeStampAlgorithm;   
LPSTR                       pszTSAPolicyId;
LPSTR                       pszTSAPolicyId;         
LPSTR   pszUsername;
LPSTR                   *rgpszCertPolicyElementId;  
LPSTR               rgpszHpkpValue[2];
LPSTR               *rgpszOID;
LPSTR               *rgpszUsageIdentifier;      
LPSTR                       szCurveOid; 
lpSystemName
lpszClass
lpszWindow
lpThreadAttributes
LPVOID pPluginContext);
LPVOID pv
LPVOID pvCompletion;
LPVOID pvCredentials;
LPVOID pvFreeContext
LPVOID pvObject
LPVOID                          pVoidDecryptFunc;
LPVOID pVoidDecryptFunc);
LPVOID                          pVoidEncryptFunc;
LPVOID pVoidEncryptFunc);
LPVOID                          pVoidResolveFunc;       
LPVOID                      pVoidResolveFunc);
LPVOID                      pvOidSpecificInfo;
LPVOID pvParam
LPVOID pvReserved
lpWindowName
LPWSTR  *pEccCurveNames;
LPWSTR *ppwszCNGHashAlgid      
LPWSTR                              *ppwszErrorResponseHeaders;
LPWSTR *ppwszMimeType         
LPWSTR  pszAlgid;
LPWSTR  pszComment;
LPWSTR                                  pszDisplayText;     
LPWSTR  pszName;
LPWSTR  pszPassword;
LPWSTR      pszPracticesReference;      
LPWSTR  pszProviderName;
LPWSTR                      pszURL;
LPWSTR  pszUsername;
LPWSTR                              pwszCacheFileNamePrefix;
LPWSTR                  pwszChallengeString;        
LPWSTR                  pwszCNGPubKeyMinBitLengths; 
LPWSTR                  pwszCNGSignHashAlgids;
LPWSTR                  pwszContainerName;
LPWSTR                      pwszDNSName;        
LPWSTR                      pwszFamily;             
LPWSTR                      pwszLanguage;   
LPWSTR                      pwszMimeType;   
LPWSTR      pwszName;
LPWSTR pwszPbes2Alg; 
LPWSTR          pwszProviderName;
LPWSTR                  pwszProvName;
LPWSTR              pwszRegPath;
LPWSTR                      pwszRfc822Name;     
LPWSTR              pwszServerName;
LPWSTR                      pwszStatusString;   
LPWSTR              pwszStoreDirectory;
LPWSTR                      pwszUrl;    
LPWSTR                      pwszURL;            
LPWSTR      pwszValue;
LPWSTR*                     rgFreeText;
LPWSTR* rgwszUrl;
LPWSTR VolumeName
LQueryNotif
LQuerySpeechMode
LresultFromObject
LR_Frames_SupportedW
LRV6X0Z0
LsaCallAuthenticationPackage
LsaClose
LsaConnectUntrusted
LsaDeregisterLogonProcess
LsaFreeMemory
LsaFreeReturnBuffer
LsaLogonUser
LsaLookupAuthenticationPackage
LsaLookupNames2
LsaLookupSids
LsaLookupUserAccountType
LsaOpenPolicy
LsaQueryInformationPolicy
LsaRegisterLogonProcess
LsaRetrievePrivateData
LsaStorePrivateData
_lseeki64
lstrcatW
lstrcmpA
lstrcmpiA
lstrcmpiW
lstrcmpW
lstrcpynW
lstrcpyW
lstrlenA
lstrlenW
LtnioP.hcuoT.tupnI.krowemarF.anX.tfosorciM
)L)T)])x)
LUID_AND_ATTRIBUTES
LunMaintenanceOp
LUN not found
LUN not found in the cache
luunniiDu
L?UUUUUUU?
LVDSPORTd
LvYellowDefaultLevelWW81
LWaitHandle
]LZ.su]l
]:::::::M
m[00@Po4
M1 received from ME
M2.1 received from IAS
m_24bitSupport
M3 received from IAS
M4GetChipsetWW
M4 received from ME
M4 sent to IAS
M5 received from IAS
M7H;M?s H
m7oxy'zV
M9MhtPE3
m_acaContextQueryDelegate
m_acaDetectorDllApi
m_acaDetectorDllHandle
m_acaDetectorGetCapsDelegate
m_acaEndpointSelector
m_acaGetIpParamDelegate
m_acaKsProperty
m_acaProxy
m_acaRegisterNutificationHandleDelegate
m_acaSetIpParamDelegate
m_acaStartSoundDetectDelegate
m_acaStopSoundDetectDelegate
m_acaUnregisterNotificationHandleDelegate
machinecatalogtests.cpp
MachineID
machinepackagegrouptests.cpp
machinepackagetests.cpp
machinestate.cpp
machinestate.h
macros.h
m_actions
m_actionScheduler
m_activeRequests
m_activeSessionList
m_addSvDelegate
m_aecGain
m_aecGainOffset
maertSegamI.aideM.krowemarF.anX.tfosorciM
maertSegamI.gnigamI.scihparG.swodniW
maertSeliFevitaN.egarotS.enohP.tfosorciM
maertSmaertSI.nEVIL.secivreSremaG.krowemarF.anX.tfosorciM
maertSotohP.seciveD.tfosorciM
maertSotohP.sksaT.enohP.tfosorciM
maertSrevOmaertSsseccAmodnaR.smaertS.egarotS.swodniW
maertSrevOmaertStupnI.smaertS.egarotS.swodniW
maertSrevOmaertStuptuO.smaertS.egarotS.swodniW
maertSsisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
maertSsisehtnyShceepS.sisehtnyShceepS.aideM.swodniW
maertSsseccAmodnaReliF.smaertS.egarotS.swodniW
maertSsseccAmodnaRI.smaertS.egarotS.swodniW
maertSsseccAmodnaR.smaertS.egarotS.swodniW
maertSsseccAmodnaRyromeMnI.smaertS.egarotS.swodniW
maertStupnIeliF.smaertS.egarotS.swodniW
maertStupnII.smaertS.egarotS.swodniW
maertStuptuOeliF.smaertS.egarotS.swodniW
maertStuptuOI.smaertS.egarotS.swodniW
MagentaDefaultLevelW81
MagentaStepW81
_MagentaValue81
mail-auth
Mailbox UIDVALIDITY has changed
mail-from
Mail from this address
MAILINDEX
mail-rcpt
    --mail-rcpt-allowfails
mail-rcpt-allowfails
Mail to this address
MainBundle
main.cpp
MainDlgProc -- Got WM_ENDSESSION message
MainDlgProc -- Got WM_QUERYENDSESSION message
MainDlgProc() - WM_INITDIALOG.
mainIcon
mainInstruction
"Main Invoked."
Main Invoked.
"Main Returned."
Main Returned.
Maintain_Aspect_RatioWWW
Maintain_Display_Scaling
-maintenance
maintenance4
MainWindow
MainWindow_Loaded
Major FW version is thought to be 0. Unexpected but not critical.
Major VersionW
MakeAbsoluteSD
MakeBold
makediffsft.cpp
makediffsft.h
?MakeFileToken@MESSAGE@@SA_KPEBD@Z
?_Makeloc@_Locimp@locale@std@@CAPEAV123@AEBV_Locinfo@3@HPEAV123@PEBV23@@Z
Make next URL use its separate set of options
MakeSelfRelativeSD
Make the operation more talkative
MalCommand: MEI response expected size: 
Malformat
Malformed encoding found
Malformed option provided in a setopt
Malloc failed! GetValueString can't retrieve value.
malloc of accountName failed.
malloc of domainName failed.
malloc of event data failed .
malloc of groupName failed.
malloc of InputBuffer failed .
malloc of outputData failed .
malloc of outputData failed.
malloc of psd failed.
malloc of requestBuffers failed .
ManagedInstallerClass
ManagedMemoryRegion
managedObject
ManagedObject
managedpath.cpp
managedpath.h
managed_swexception.hpp
ManagementBaseObject
ManagementClass
ManagementEventWatcher
ManagementObject
ManagementObjectCollection
ManagementObjectEnumerator
ManagementObjectSearcher
ManagementPath
ManagementQuery
?ManagementRequiresElevation@BuiVolume@@QEBA_NXZ
ManagementScope
ManagementSystemProperties
ManageNotifications
manager.cpp
manager.h
manager.hpp
Manager Participant
managescriptsdialog.cpp
managingauthorityfactorytests.cpp
managingauthority.h
Manchester1
manifestbasedcleanup.cpp
manifestbasedcleanup.h
manifestbasedcleanuptests.cpp
manifest.cpp
manifestdocprovider.cpp
manifestdocprovider.h
manifestdocprovidertest.cpp
manifestdocument.cpp
manifestdocumentfactorymock.cpp
manifestdocumentfactorymock.h
manifestdocument.h
manifestdocumentmock.cpp
manifestdocumentmock.h
manifestdocumentnoxmlmocktests.cpp
manifestdocumentscripttests.cpp
manifestdocumentscripttests.h
manifestdocumenttests.cpp
manifestdocumenttests.h
manifesterrors.h
manifestfile.cpp
manifestfile.h
manifestfile_test.cpp
manifest.h
manifest_reader.cpp
manifest_reader.h
manifest_reader_test.cpp
manifestutilitiesmock.cpp
manifestutilitiesmock.h
manifestutilitiestest.cpp
manifestutils.cpp
manifestutils.h
manifestutilstests.cpp
manifest_virtualization_utils.hpp
manifestxmlprocessingtest.cpp
                                            Manually load a file into a DataVault Payload
ManualRegisterInterfaces
ManualResetEvent
ManualResetEventSlim
ManualUnregisterInterfaces
manufacturer
Manufacturer Name obtained from the platform is: 
MapDialogRect
MapFiles
mapi_client.cpp
mapi_client.h
m_apiImplementation
mapi_ipc.cpp
m_apiProxies
mapi_server.cpp
mapi_server.h
mappacc.cpp
mappacc.h
_mapPath
mappcmd.cpp
mappcmd.h
Mapped Events:
MapViewOfFile
MapVirtualKeyExW
MapVirtualKeyW
MapWindowPoints
			margin: 0;
			margin: 0 12px;
			margin-left: 22px;
			margin-left: -280px;
			margin-left: -80px;
margorPmaertStropsnarT.smaertSyratnemelE.aideM.enohP.tfosorciM
Mark bundle as not supporting multiuse
Marked for delete
MarkProcessTelemetryStateFailed_BrokerExe
MarshalByRefObject
MaskMicrophoneArrayPropertyName
m_asrGain
m_asrGainOffset
m_assemblyFactory
m_assistants
m_assistantSubscribeDelegate
m_assistantUnsubscribeDelegate
MASTERJSON_DESERIALIZATION_ERROR
master secret
MatchCaseAverage
MatchedGUIDs
_matchPattern
Matrix601WWW@
Matrix709WWW
m_audioSnippetFactory
mauthorizecmd.cpp
mauthorizecmd.h
m_awaitedEvents
m_awaitedEventsDictionary
m_awaitedHandlesCount
MaxAbove4GbFreeRange
MAX_ALLOWED_MEMORY_SIZE
MaxArchiveNumber
MAXARGSLENGTH
MaxBelow4GbFreeRange
MaxBezelXWWW
MaxBezelYWWW|
maxBoundDescriptorSets
maxBufferSize
MaxChannels
maxClipDistances
maxColorAttachments
maxCombinedClipAndCullDistances
maxComputeSharedMemorySize
maxComputeWorkGroupCount
maxComputeWorkGroupInvocations
maxComputeWorkGroupSize
maxComputeWorkgroupSubgroups
MaxConcurrency
maxCullDistances
maxCustomBorderColorSamplers
maxDescriptorSetAccelerationStructures
maxDescriptorSetInlineUniformBlocks
maxDescriptorSetInputAttachments
maxDescriptorSetSampledImages
maxDescriptorSetSamplers
maxDescriptorSetStorageBuffers
maxDescriptorSetStorageBuffersDynamic
maxDescriptorSetStorageImages
maxDescriptorSetSubsampledSamplers
maxDescriptorSetUniformBuffers
maxDescriptorSetUniformBuffersDynamic
maxDescriptorSetUpdateAfterBindAccelerationStructures
maxDescriptorSetUpdateAfterBindInlineUniformBlocks
maxDescriptorSetUpdateAfterBindInputAttachments
maxDescriptorSetUpdateAfterBindSampledImages
maxDescriptorSetUpdateAfterBindSamplers
maxDescriptorSetUpdateAfterBindStorageBuffers
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
maxDescriptorSetUpdateAfterBindStorageImages
maxDescriptorSetUpdateAfterBindUniformBuffers
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
maxDiscardRectangles
maxDrawIndexedIndexValue
maxDrawIndirectCount
MaxEntriesFlushed
MaxEntriesStored
maxExtraPrimitiveOverestimationSize
maxFanPercentage
MAXFILEPATHLENGTH
max-filesize
MaxFileSize
maxFragmentCombinedOutputResources
maxFragmentDensityTexelSize
maxFragmentDualSrcAttachments
maxFragmentInputComponents
maxFragmentOutputAttachments
maxFragmentShadingRateAttachmentTexelSize
maxFragmentShadingRateAttachmentTexelSizeAspectRatio
maxFragmentShadingRateCoverageSamples
maxFragmentShadingRateRasterizationSamples
maxFragmentSize
maxFragmentSizeAspectRatio
maxFramebufferHeight
maxFramebufferLayers
maxFramebufferWidth
maxGeometryCount
maxGeometryInputComponents
maxGeometryOutputComponents
maxGeometryOutputVertices
maxGeometryShaderInvocations
maxGeometryTotalOutputComponents
maxImageArrayLayers
maxImageCount
maxImageDimension1D
maxImageDimension2D
maxImageDimension3D
maxImageDimensionCube
maxImageExtent
MAXIMUM_ALLOWED
Maximum concurrency for parallel transfers
Maximum file size exceeded
Maximum file size to download
MaximumLength
Maximum number of redirects allowed
Maximum time allowed for connection
Maximum time allowed for transfer
MaximumW
MaximumWindowSize.X
MaximumWindowSize.Y
MaxInChannels
maxInlineUniformBlockSize
maxInlineUniformTotalSize
maxInstanceCount
maxInterpolationOffset
MaxKeyPhrasesCount
maxMemoryAllocationCount
maxMemoryAllocationSize
MaxMicrophoneCount
maxMultiDrawCount
maxMultiviewInstanceIndex
maxMultiviewViewCount
max_num_channels
max_num_filter_states
max_num_objects
max_num_operation_coefficients
max_num_operations
max_num_output_channels
max_num_scratch_channels
MaxOnsetLengthInMilliseconds
MaxOutChannels
MaxPACount
maxPerSetDescriptors
maxPerStageDescriptorAccelerationStructures
maxPerStageDescriptorInlineUniformBlocks
maxPerStageDescriptorInputAttachments
maxPerStageDescriptorSampledImages
maxPerStageDescriptorSamplers
maxPerStageDescriptorStorageBuffers
maxPerStageDescriptorStorageImages
maxPerStageDescriptorUniformBuffers
maxPerStageDescriptorUpdateAfterBindAccelerationStructures
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
maxPerStageDescriptorUpdateAfterBindInputAttachments
maxPerStageDescriptorUpdateAfterBindSampledImages
maxPerStageDescriptorUpdateAfterBindSamplers
maxPerStageDescriptorUpdateAfterBindStorageBuffers
maxPerStageDescriptorUpdateAfterBindStorageImages
maxPerStageDescriptorUpdateAfterBindUniformBuffers
maxPerStageResources
maxPerStageUpdateAfterBindResources
MaxPolicyElementKey
maxPrimitiveCount
maxPushConstantsSize
maxPushDescriptors
maxRayDispatchInvocationCount
maxRayHitAttributeSize
maxRayRecursionDepth
max-redirs
MaxRequestsPerPeriod
maxSampleLocationGridSize
maxSampleMaskWords
maxSamplerAllocationCount
maxSamplerAnisotropy
maxSamplerLodBias
MaxScoreChannelId
MaxScoreSpeakerId
MaxServiceRegistryStateType
maxShaderGroupStride
maxSizeKb
maxStorageBufferRange
maxSubgroupSize
maxSubsampledArrayLayers
maxTessellationControlPerPatchOutputComponents
maxTessellationControlPerVertexInputComponents
maxTessellationControlPerVertexOutputComponents
maxTessellationControlTotalOutputComponents
maxTessellationEvaluationInputComponents
maxTessellationEvaluationOutputComponents
maxTessellationGenerationLevel
maxTessellationPatchSize
maxTexelBufferElements
maxTexelGatherOffset
maxTexelOffset
max-time
maxTimelineSemaphoreValueDifference
maxTransformFeedbackBufferDataSize
maxTransformFeedbackBufferDataStride
maxTransformFeedbackBuffers
maxTransformFeedbackBufferSize
maxTransformFeedbackStreamDataSize
maxTransformFeedbackStreams
maxUniformBufferRange
maxUpdateAfterBindDescriptorsInAllPools
maxVertexAttribDivisor
maxVertexInputAttributeOffset
maxVertexInputAttributes
maxVertexInputBindings
maxVertexInputBindingStride
maxVertexOutputComponents
maxViewportDimensions
maxViewports
_maxWorkingSetSize
mbam_machine
mbam_Volume
__mb_cur_max
___mb_cur_max_func
Mbp?333333
_Mbrtowc
_mbsnbcmp
_mbsnbcpy
_mbspbrk
mbstowcs_s
MBToUnicode
m_buffer
m_bufferSize
m_bufferWithoutOnset
m_bVerbose
mca.117gsm
mca.23msgsm
mca.23pdaami
mca.23pdasm
mca.acedoc3l
m_capabilityBuffer
m_capabilityReader
mca.pcedoc3l
MCCS_ERROR_CODES
MCCS_GET_FAILEDWX
MccsGetMaxWW
MccsGetMinWW
MCCS_INVALID_INPUTWW
MCCS_INVALID_MONITOR
MCCS_INVALID_SIZEWWW
MccsOpen
MccsResetControl 
MccsSetCurrentWW
MCCS_UNSUPPORTED_FEATURE
McGenEventWriteBoot
McImageInfo
m_clientLock
m_clientName
m_clientProxy
m_clientProxyApiVersionSelector
mcommand.cpp
mcommand.h
m_commitSeppuku
m_component
m_configBlob
m_configPath
m_configsTypes
m_configTypePreProcessing
m_configurationBlob
m_configurationsControl
m_configurators
m_control
m_coreRegistryController
m_cortanaReader
m_cpApiVersionQueryDelegate
m_cpAudioFormatQueryDelegate
m_cpCreateStreamV1Delegate
m_cpCreateStreamV2Delegate
m_cpCreateStreamV3Delegate
m_cpDestroyStreamDelegate
m_cpEventQueryDelegate
m_cpFarfieldSupportQueryDelegate
m_cpGetBufferDelegate
m_cpMicArrayQueryDelegate
m_cpQueryDelegate
m_cpStartDelegate
m_cpStopDelegate
m_created
MCreateWW
m_currentConfiguration
m_currentDeviceId
m_currentEndpoint
m_currentIoctlControl
m_currentPayloadSize
m_currentPpClientWrapper
md2WithRSAEncryption
Md5HashMismatch
Md5HashMismatchCmdSwitch
Md5Helper
md5WithRSAEncryption
m_defaultClientProxy
m_defaultConfigsControl
m_defaultConfigurations
m_defaultConfigurationsControl
m_descriptions
m_detectedVaId
m_detectionBuffer
m_detectionData
m_detectionDetails
m_detectorDllApi
m_detectorDllClientManager
m_deviceAccessInformation
m_deviceAddedManagedEventInd
m_deviceAddedWatcher
m_deviceAddedWatcherExitEvent
m_deviceAddedWatcherExitEventInd
m_deviceName
m_devicePath
m_dirPath
m_disposed
m_disposedValue
m_dllFileInfo
m_dllLoader
m_dllLogger
m_dllWrapperFactory
MDM_ActiveSync_User_Accounts01_01
MDM_ActiveSync_User_ContentTypes04_01
MDM_ActiveSync_User_Options03
MDM_AppInstallJob
MDM_Application
MDM_ApplicationControl
MDM_ApplicationControl_Policies01_01
MDM_ApplicationControl_PolicyIDs03
MDM_ApplicationControl_PolicyInfo03
MDM_ApplicationControl_Token03
MDM_ApplicationControl_TokenInfo03
MDM_ApplicationControl_Tokens01_01
MDM_ApplicationFramework
MDM_ApplicationMinVersion
MDM_ApplicationSetting
MDM_AppLocker_ApplicationLaunchRestrictions01_EXE03
MDM_AppLocker_ApplicationLaunchRestrictions01_StoreApps03
MDM_AppLocker_CodeIntegrity03
MDM_AppLocker_DLL03
MDM_AppLocker_EnterpriseDataProtection01_EXE03
MDM_AppLocker_EnterpriseDataProtection01_StoreApps03
MDM_AppLocker_MSI03
MDM_AppLocker_Script03
MDM_AssignedAccess
MDM_BitLocker
MDM_BitLocker_Status01
MDM_BridgeMgmt_Transaction
MDM_BrowserSecurityZones
MDM_BrowserSettings
MDM_Certificate
MDM_CertificateEnrollment
MDM_Client
MDM_ClientCertificateInstall_Install03
MDM_ClientCertificateInstall_PFXCertInstall01_01
MDM_ClientCertificateInstall_SCEP01_01
MDM_ConfigSetting
MDM_DevDetail
MDM_DevDetail_Ext01
MDM_DevDetail_Microsoft02
MDM_DeviceManageability_Provider01_01
MDM_DeviceRegistrationInfo
MDM_DeviceStatus
MDM_DeviceStatus_Antispyware01
MDM_DeviceStatus_Antivirus01
MDM_DeviceStatus_Battery01
MDM_DeviceStatus_CellularIdentities01_01
MDM_DeviceStatus_Compliance01
MDM_DeviceStatus_DeviceGuard01
MDM_DeviceStatus_Firewall01
MDM_DeviceStatus_NetworkIdentifiers01_01
MDM_DeviceStatus_OS01
MDM_DeviceStatus_TPM01
MDM_DeviceStatus_UAC01
MDM_DeviceUpdateCenter_Enrollment01
MDM_EASPolicy
MDM_EnrollmentStatusTracking_PolicyProviders02_01
MDM_EnrollmentStatusTracking_PolicyProviders03_01
MDM_EnrollmentStatusTracking_Setup01
MDM_EnrollmentStatusTracking_TrackedResourceTypes04
MDM_EnrollmentStatusTracking_Tracking03_02
MDM_EnterpriseAPN_01
MDM_EnterpriseAPN_Settings01
MDM_EnterpriseDataProtection
MDM_EnterpriseDataProtection_Settings01
MDM_EnterpriseModernAppManagement_AppInstallation01_01
MDM_EnterpriseModernAppManagement_AppManagement01
MDM_EnterpriseModernAppManagement_AppManagement01_02
MDM_EnterpriseModernAppManagement_AppManagement01_03
MDM_EnterpriseModernAppManagement_AppSettingPolicy04
MDM_EnterpriseModernAppManagement_EffectiveRelease03
MDM_EnterpriseModernAppManagement_EffectiveRelease05
MDM_EnterpriseModernAppManagement_ReleaseManagement01_01
MDM_EnterpriseModernAppManagement_ReleaseManagement03_01
MDM_EnterpriseModernAppManagement_StoreLicenses02_01
MDM_eUICCs_01
MDM_eUICCs_Actions02
MDM_eUICCs_Policies02
MDM_eUICCs_Profiles02_01
MDM_Firewall_Action04
MDM_Firewall_App04
MDM_Firewall_DomainProfile02
MDM_Firewall_FirewallRules02_01
MDM_Firewall_Global02
MDM_Firewall_PrivateProfile02
MDM_Firewall_PublicProfile02
MDM_HealthAttestation
MDM_MgmtAuthority
MDM_MultiSIM_01
MDM_MultiSIM_Policies02
MDM_MultiSIM_Slots02_01
MDM_PassportForWork
MDM_PassportForWork_Biometrics01
MDM_PassportForWork_Device_Policies02
MDM_PassportForWork_DeviceUnlock01
MDM_PassportForWork_DynamicLock01
MDM_PassportForWork_ExcludeSecurityDevices03
MDM_PassportForWork_PINComplexity03
MDM_PassportForWork_Policies02
MDM_PassportForWork_Remote03
MDM_PassportForWork_User_Policies02
MDM_Personalization
MDM_Policy_Config01_AboveLock02
MDM_Policy_Config01_Accounts02
MDM_Policy_Config01_ActiveXControls02
MDM_Policy_Config01_ApplicationDefaults02
MDM_Policy_Config01_ApplicationManagement02
MDM_Policy_Config01_AppRuntime02
MDM_Policy_Config01_AppVirtualization02
MDM_Policy_Config01_Audit02
MDM_Policy_Config01_Authentication02
MDM_Policy_Config01_Autoplay02
MDM_Policy_Config01_Bitlocker02
MDM_Policy_Config01_BITS02
MDM_Policy_Config01_Bluetooth02
MDM_Policy_Config01_Browser02
MDM_Policy_Config01_Camera02
MDM_Policy_Config01_Cellular02
MDM_Policy_Config01_Connectivity02
MDM_Policy_Config01_ControlPolicyConflict02
MDM_Policy_Config01_CredentialProviders02
MDM_Policy_Config01_CredentialsDelegation02
MDM_Policy_Config01_CredentialsUI02
MDM_Policy_Config01_Cryptography02
MDM_Policy_Config01_DataProtection02
MDM_Policy_Config01_DataUsage02
MDM_Policy_Config01_Defender02
MDM_Policy_Config01_DeliveryOptimization02
MDM_Policy_Config01_DeviceGuard02
MDM_Policy_Config01_DeviceHealthMonitoring02
MDM_Policy_Config01_DeviceInstallation02
MDM_Policy_Config01_DeviceLock02
MDM_Policy_Config01_Display02
MDM_Policy_Config01_DmaGuard02
MDM_Policy_Config01_ErrorReporting02
MDM_Policy_Config01_EventLogService02
MDM_Policy_Config01_Experience02
MDM_Policy_Config01_ExploitGuard02
MDM_Policy_Config01_FactoryComposer02
MDM_Policy_Config01_FileExplorer02
MDM_Policy_Config01_Games02
MDM_Policy_Config01_Handwriting02
MDM_Policy_Config01_InternetExplorer02
MDM_Policy_Config01_Kerberos02
MDM_Policy_Config01_KioskBrowser02
MDM_Policy_Config01_LanmanWorkstation02
MDM_Policy_Config01_Licensing02
MDM_Policy_Config01_LocalPoliciesSecurityOptions02
MDM_Policy_Config01_LockDown02
MDM_Policy_Config01_Maps02
MDM_Policy_Config01_Messaging02
MDM_Policy_Config01_MSSecurityGuide02
MDM_Policy_Config01_MSSLegacy02
MDM_Policy_Config01_NetworkIsolation02
MDM_Policy_Config01_Notifications02
MDM_Policy_Config01_Power02
MDM_Policy_Config01_Printers02
MDM_Policy_Config01_Privacy02
MDM_Policy_Config01_RemoteAssistance02
MDM_Policy_Config01_RemoteDesktopServices02
MDM_Policy_Config01_RemoteManagement02
MDM_Policy_Config01_RemoteProcedureCall02
MDM_Policy_Config01_RemoteShell02
MDM_Policy_Config01_RestrictedGroups02
MDM_Policy_Config01_Search02
MDM_Policy_Config01_Security02
MDM_Policy_Config01_ServiceControlManager02
MDM_Policy_Config01_Settings02
MDM_Policy_Config01_SmartScreen02
MDM_Policy_Config01_Speech02
MDM_Policy_Config01_Start02
MDM_Policy_Config01_Storage02
MDM_Policy_Config01_System02
MDM_Policy_Config01_SystemServices02
MDM_Policy_Config01_TaskManager02
MDM_Policy_Config01_TaskScheduler02
MDM_Policy_Config01_TextInput02
MDM_Policy_Config01_TimeLanguageSettings02
MDM_Policy_Config01_Troubleshooting02
MDM_Policy_Config01_Update02
MDM_Policy_Config01_UserRights02
MDM_Policy_Config01_Wifi02
MDM_Policy_Config01_WindowsConnectionManager02
MDM_Policy_Config01_WindowsDefenderSecurityCenter02
MDM_Policy_Config01_WindowsInkWorkspace02
MDM_Policy_Config01_WindowsLogon02
MDM_Policy_Config01_WindowsPowerShell02
MDM_Policy_Config01_WirelessDisplay02
MDM_Policy_Result01_AboveLock02
MDM_Policy_Result01_Accounts02
MDM_Policy_Result01_ActiveXControls02
MDM_Policy_Result01_ApplicationDefaults02
MDM_Policy_Result01_ApplicationManagement02
MDM_Policy_Result01_AppRuntime02
MDM_Policy_Result01_AppVirtualization02
MDM_Policy_Result01_Audit02
MDM_Policy_Result01_Authentication02
MDM_Policy_Result01_Autoplay02
MDM_Policy_Result01_Bitlocker02
MDM_Policy_Result01_BITS02
MDM_Policy_Result01_Bluetooth02
MDM_Policy_Result01_Browser02
MDM_Policy_Result01_Camera02
MDM_Policy_Result01_Cellular02
MDM_Policy_Result01_Connectivity02
MDM_Policy_Result01_ControlPolicyConflict02
MDM_Policy_Result01_CredentialProviders02
MDM_Policy_Result01_CredentialsDelegation02
MDM_Policy_Result01_CredentialsUI02
MDM_Policy_Result01_Cryptography02
MDM_Policy_Result01_DataProtection02
MDM_Policy_Result01_DataUsage02
MDM_Policy_Result01_Defender02
MDM_Policy_Result01_DeliveryOptimization02
MDM_Policy_Result01_DeviceGuard02
MDM_Policy_Result01_DeviceHealthMonitoring02
MDM_Policy_Result01_DeviceInstallation02
MDM_Policy_Result01_DeviceLock02
MDM_Policy_Result01_Display02
MDM_Policy_Result01_DmaGuard02
MDM_Policy_Result01_ErrorReporting02
MDM_Policy_Result01_EventLogService02
MDM_Policy_Result01_Experience02
MDM_Policy_Result01_ExploitGuard02
MDM_Policy_Result01_FactoryComposer02
MDM_Policy_Result01_FileExplorer02
MDM_Policy_Result01_Games02
MDM_Policy_Result01_Handwriting02
MDM_Policy_Result01_InternetExplorer02
MDM_Policy_Result01_Kerberos02
MDM_Policy_Result01_KioskBrowser02
MDM_Policy_Result01_LanmanWorkstation02
MDM_Policy_Result01_Licensing02
MDM_Policy_Result01_LocalPoliciesSecurityOptions02
MDM_Policy_Result01_LockDown02
MDM_Policy_Result01_Maps02
MDM_Policy_Result01_Messaging02
MDM_Policy_Result01_MSSecurityGuide02
MDM_Policy_Result01_MSSLegacy02
MDM_Policy_Result01_NetworkIsolation02
MDM_Policy_Result01_Notifications02
MDM_Policy_Result01_Power02
MDM_Policy_Result01_Printers02
MDM_Policy_Result01_Privacy02
MDM_Policy_Result01_RemoteAssistance02
MDM_Policy_Result01_RemoteDesktopServices02
MDM_Policy_Result01_RemoteManagement02
MDM_Policy_Result01_RemoteProcedureCall02
MDM_Policy_Result01_RemoteShell02
MDM_Policy_Result01_RestrictedGroups02
MDM_Policy_Result01_Search02
MDM_Policy_Result01_Security02
MDM_Policy_Result01_ServiceControlManager02
MDM_Policy_Result01_Settings02
MDM_Policy_Result01_SmartScreen02
MDM_Policy_Result01_Speech02
MDM_Policy_Result01_Start02
MDM_Policy_Result01_Storage02
MDM_Policy_Result01_System02
MDM_Policy_Result01_SystemServices02
MDM_Policy_Result01_TaskManager02
MDM_Policy_Result01_TaskScheduler02
MDM_Policy_Result01_TextInput02
MDM_Policy_Result01_TimeLanguageSettings02
MDM_Policy_Result01_Troubleshooting02
MDM_Policy_Result01_Update02
MDM_Policy_Result01_UserRights02
MDM_Policy_Result01_Wifi02
MDM_Policy_Result01_WindowsConnectionManager02
MDM_Policy_Result01_WindowsDefenderSecurityCenter02
MDM_Policy_Result01_WindowsInkWorkspace02
MDM_Policy_Result01_WindowsLogon02
MDM_Policy_Result01_WindowsPowerShell02
MDM_Policy_Result01_WirelessDisplay02
MDM_Policy_User_Config01_ApplicationManagement02
MDM_Policy_User_Config01_AttachmentManager02
MDM_Policy_User_Config01_Authentication02
MDM_Policy_User_Config01_CredentialsUI02
MDM_Policy_User_Config01_Desktop02
MDM_Policy_User_Config01_Display02
MDM_Policy_User_Config01_Education02
MDM_Policy_User_Config01_EnterpriseCloudPrint02
MDM_Policy_User_Config01_Experience02
MDM_Policy_User_Config01_InternetExplorer02
MDM_Policy_User_Config01_Notifications02
MDM_Policy_User_Config01_Printers02
MDM_Policy_User_Config01_Privacy02
MDM_Policy_User_Config01_Security02
MDM_Policy_User_Config01_Settings02
MDM_Policy_User_Config01_Start02
MDM_Policy_User_Config01_System02
MDM_Policy_User_Result01_ApplicationManagement02
MDM_Policy_User_Result01_AttachmentManager02
MDM_Policy_User_Result01_Authentication02
MDM_Policy_User_Result01_CredentialsUI02
MDM_Policy_User_Result01_Desktop02
MDM_Policy_User_Result01_Display02
MDM_Policy_User_Result01_Education02
MDM_Policy_User_Result01_EnterpriseCloudPrint02
MDM_Policy_User_Result01_Experience02
MDM_Policy_User_Result01_InternetExplorer02
MDM_Policy_User_Result01_Notifications02
MDM_Policy_User_Result01_Printers02
MDM_Policy_User_Result01_Privacy02
MDM_Policy_User_Result01_Security02
MDM_Policy_User_Result01_Settings02
MDM_Policy_User_Result01_Start02
MDM_Policy_User_Result01_System02
MdmProcessConfigXmlWithAttributes
MDM_Reboot
MDM_Reboot_Schedule01
MDMRegistration.DLL
MDM_RemoteApplication
MDM_RemoteAppUserCookie
MDM_RemoteFind
MDM_RemoteFind_Location01
MDM_RemoteWipe
MDM_Reporting_EnterpriseDataProtection01_RetrieveByCount02
MDM_Reporting_EnterpriseDataProtection01_RetrieveByTimeRange02
MDM_Reporting_SecurityAuditing01_RetrieveByCount02
MDM_Reporting_SecurityAuditing01_RetrieveByTimeRange02
MDM_Restrictions
MDM_RestrictionsUser
MDM_SecureAssessment
MDM_SecurityStatus
MDM_SecurityStatusUser
MDMServerId
MDM_SharedPC
MDM_SideLoader
MDM_Update
MDM_Update_ApprovedUpdates01_01
MDM_Update_FailedUpdates01_01
MDM_Update_InstallableUpdates01_01
MDM_Update_PendingRebootUpdates01_01
MDM_Update_Rollback01
MDM_Updates
MDM_VpnApplicationTrigger
MDM_VPNv2_01
MDM_VPNv2_APNBinding02
MDM_VPNv2_AppTriggerList02_App04
MDM_VPNv2_Authentication03
MDM_VPNv2_Certificate04
MDM_VPNv2_CryptographySuite03
MDM_VPNv2_DeviceCompliance02
MDM_VPNv2_DomainNameInformationList02_01
MDM_VPNv2_Eap04
MDM_VPNv2_Manual03
MDM_VPNv2_NativeProfile02
MDM_VPNv2_PluginProfile02
MDM_VPNv2_Proxy02
MDM_VPNv2_RouteList02_01
MDM_VPNv2_Sso03
MDM_VPNv2_TrafficFilterList02_01
MDM_VPNv2_TrafficFilterList02_App04
MDM_VPNv2_User_01
MDM_WebApplication
MDM_Win32CompatibilityAppraiser_AppraiserConfigurationDiagnosis02
MDM_Win32CompatibilityAppraiser_CompatibilityAppraiser01
MDM_Win32CompatibilityAppraiser_UniversalTelemetryClient01
MDM_Win32CompatibilityAppraiser_UtcConfigurationDiagnosis02
MDM_Win32CompatibilityAppraiser_WerConfigurationDiagnosis02
MDM_Win32CompatibilityAppraiser_WindowsErrorReporting01
MDM_WindowsAdvancedThreatProtection
MDM_WindowsAdvancedThreatProtection_Configuration01
MDM_WindowsAdvancedThreatProtection_DeviceTagging01
MDM_WindowsAdvancedThreatProtection_HealthState01
MDM_WindowsDefenderApplicationGuard
MDM_WindowsDefenderApplicationGuard_Audit01
MDM_WindowsDefenderApplicationGuard_Settings01
MDM_WindowsLicensing
MDM_WindowsLicensing_Subscriptions01_01
MDM_WirelessProfile
MDM_WirelessProfileXml
MDM_WNSChannel
MDM_WNSConfiguration
m_doBurstProcess
m_driverControl
m_driverControlHandle
m_driverController
m_dspPackageCreator
m_dummyPpClientWrapper
m_dvConfigs
MeasuredLaunchCapable
MeasuredLaunchPrepared
MeasuredLaunchResume
MediaKeysInitializer
medialocatormanager.hpp
medoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
medoMdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
MEI: Error: Could not read data from HECI client
MEI: Error: Response too big: 
MEI Error: Response too big. Received: 
MeiException caught: 
MeiException::CMD_FAILED
MeiException::EPID_PARAM_READ_FAILED
MeiException::EPID_PROVISION_FAILED
MeiException::GENERIC
MeiException::HECI_COMM_FAILED
MeiException::ICLS2_NOT_SUPPORTED
MeiException::INVALID_FEATURE_ID
MeiException::PENDING_MESSAGE_OF_DIFFERENT_CLASS
MeiException::SESSMGR_CMD_FAILED
MeiException::SYS_INT_INDEX_FULL
MeiException::SYS_INT_INDEX_INVALID
MeiException::SYS_INT_SLOT_FULL
MeiException::SYS_INT_SLOT_IN_USE
MeiException::UNKNOWN_PLATFORM
MeiException::UNSUPPORTED_CLS_STATUS
melborPoiduAnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
ME LSPCON error
MemberIndex
MemberInfo
MemberRef array size overflowed
Member ref was NULL
Memcpy Failure
memcpy_s
_memicmp
:	memmove
memmove_s
memory allocation failure
Memory allocation failure
Memory allocation failure.
(memory blob)
MEMORY_HEAP_DEVICE_LOCAL_BIT
MEMORY_HEAP_MULTI_INSTANCE_BIT
memoryHeaps
MemoryMappedFile
MemoryMappedFileRights
MemoryMappedViewAccessor
Memory Participant
Memory Pools:
memoryPriority
MemoryPriority
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
MEMORY_PROPERTY_HOST_CACHED_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
MEMORY_PROPERTY_PROTECTED_BIT
MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
memory shortage
_memorySize
MemoryStream
memoryTypes
memory_vfs_decoder.h
memstats
m_endpointActionController
m_endpointActionScheduler
m_endpointDeviceManager
m_endpointEvent
m_endpointSelectionPolicy
m_endpointSelector
MenuPolicy
_mergableNotificationList
MergedLpePackage
MergedModelsDirectory
MergeModels
                                            Merge (No Replace) keys(s) to another DV
MergeStringVectorInMap
merrdisplay.cpp
merrdisplay.h
merrdisplay.stub.cpp
m_errorReportingPolicy
MesEncodeIncrementalHandleCreate
MesHandleFree
MesIncrementalHandleReset
MessageBeep
MessageBeepStub
MessageBoxA
MessageBoxExW
MessageBoxW
?MessageCallback@Edit@DirectUI@@UEAAIPEAUtagGMSG@@@Z
?MessageCallback@Element@DirectUI@@UEAAIPEAUtagGMSG@@@Z
Message received. No of bytes received: 
Messages
message size
message_size
Message specified in header is too big.
MessageTextChanged
MessageTimeout
Message too large
Message too long!
Message too small. Received message size 
Message was too large to fit into buffer and it was truncated
_metadata
metadata.cpp
metadataenumeratorfactory.cpp
metadataenumeratorfactory.h
metadata.h
metadataH
metadatahandler.cpp
metadatahandler.h
metadatalistenumerator.cpp
metadatalistenumerator.h
_metadataRepository
metadatatreeenumerator.cpp
metadatatreeenumerator.h
    --metalink
metalink
--metalink is disabled
MeteorLake
Method array size overflowed
MethodBase
method BdeUIContextTrigger
method BdeUIProcessStartWW
method ChangeActiveDevices
method DeRegisterEvent
method DeRegisterNotifyWWW
method DisableDownScalingW
method EnableDownScalingWW
method EnumActiveDevicesWW
method EnumAttachableDevicesWW
method GetAspectScalingCapabilitiesWWW!
method GetAvailableConnectorsW
method GetCloneRefreshRatesWWW
method GetConfigurationWWW
method GetConnectorAttachedStatusW
method GetConnectorSelectionWW
method GetDeviceDataEx
method GetDeviceDataWW
method GetGammaRampWWW
method GetInverterParamsWW
method GetPowerConsCapsWWW
method GetPowerPolicyW
method GetTopologyDetailsForDisplayPortWWW
method GetTvParameters
method GetUserLogonTimeWWW
MethodInfo
MethodInvokeModel
method IsDownScalingEnabledWWW
method IsDownScalingSupportedW
method MccsCloseWW
method MccsGetCurrentW
method MccsGetMaxW
method MccsGetMinW
method MccsOpenWWW
method MccsResetControlWWW
method MccsSetCurrentW
_methodName
methodName
method NotifyW
METHOD_OUT_DIRECT
_methodParameters
method PowerApiCloseWW
method PowerApiOpenWWW
method RegisterEventWW
method RegisterNotifyW
method SetAspectScalingPreferenceW
method SetAvDeviceValuesWW
method SetAvGammaLevel
method SetAvPixelStructure
method SetCloneViewWWW
method SetConfigurationWWW
method SetConnectorSelectionWW!
method SetDeviceDataEx'
method SetDeviceDataWW
method SetGammaRampWWW#
method SetInverterParamsWW
method SetPowerPolicyW
method SetTvParameters
Method was NULL
metIamaronaP.slortnoC.enohP.tfosorciM
metIbuStuoylFuneMI.slortnoC.lmaX.IU.swodniW
metIbuStuoylFuneM.slortnoC.lmaX.IU.swodniW
metIdeeFlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIdeludehcS.evitcaeR.enohP.tfosorciM
metIderahSdeeFlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIderahSdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIdlihCdeeFlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIdlihCdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
metIegarotSI.egarotS.swodniW
metIepiwSI.slortnoC.lmaX.IU.swodniW
metIepiwS.slortnoC.lmaX.IU.swodniW
metIerutpaCscihparG.erutpaC.scihparG.swodniW
metIerutpaCscihparGI.erutpaC.scihparG.swodniW
metIetadpUmetsyS.etadpU.metsyS.swodniW
metIetadpUmetsySI.etadpU.metsyS.swodniW
metIeueuQerotS.erotS.secivreS.swodniW
metIeueuQerotSI.erotS.secivreS.swodniW
metIkcabyalPaideMI.kcabyalP.aideM.swodniW
metIkcabyalPaideM.kcabyalP.aideM.swodniW
metIkroWdetacollaerP.eroC.gnidaerhT.metsyS.swodniW
metIkroWdetacollaerPI.eroC.gnidaerhT.metsyS.swodniW
metIkrowteNI.ytivitcennoC.gnikrowteN.swodniW
metIkrowteN.ytivitcennoC.gnikrowteN.swodniW
metIlaweneRdnAnoitacoveRI.noitcetorP.aideM.swodniW
metIlaweneRdnAnoitacoveR.noitcetorP.aideM.swodniW
metIllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
metIllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
metInoitacidnySI.noitacidnyS.beW.swodniW
metInoitacidnyS.noitacidnyS.beW.swodniW
metInoitarepOfOsruoHnoitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
metInoitarepOfOsruoHnoitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
metInoitcasnarTtellaW.tellaW.enohP.tfosorciM
metIpuorGI.slortnoC.lmaX.IU.swodniW
metIpuorG.slortnoC.lmaX.IU.swodniW
metIraBuneMI.slortnoC.lmaX.IU.swodniW
metIraBuneM.slortnoC.lmaX.IU.swodniW
metIredaeHesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
metIredaeHesaBweiVtsiL.slortnoC.lmaX.IU.swodniW
metIredaeHtoviPI.sevitimirP.slortnoC.lmaX.IU.swodniW
metIredaeHtoviP.sevitimirP.slortnoC.enohP.tfosorciM
metIredaeHtoviP.sevitimirP.slortnoC.lmaX.IU.swodniW
metIredaeHweiVdirGI.slortnoC.lmaX.IU.swodniW
metIredaeHweiVdirG.slortnoC.lmaX.IU.swodniW
metIredaeHweiVtsiLI.slortnoC.lmaX.IU.swodniW
metIredaeHweiVtsiL.slortnoC.lmaX.IU.swodniW
metIrotceleSgnipooLI.sevitimirP.slortnoC.lmaX.IU.swodniW
metIrotceleSgnipooL.sevitimirP.slortnoC.lmaX.IU.swodniW
metIrotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
metIrotceleS.sevitimirP.slortnoC.lmaX.IU.swodniW
metIrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
metItahCI.tahC.ledoMnoitacilppA.swodniW
metItellaWevitaN.tellaW.enohP.tfosorciM
metItellaWI.tellaW.ledoMnoitacilppA.swodniW
metItellaW.tellaW.enohP.tfosorciM
metItellaW.tellaW.ledoMnoitacilppA.swodniW
metItnemelEeruceSI.tnemelEeruceS.enohP.tfosorciM
metItnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
metItnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
metItnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
metItnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
metItoviPI.slortnoC.lmaX.IU.swodniW
metItoviP.slortnoC.enohP.tfosorciM
metItoviP.slortnoC.lmaX.IU.swodniW
metItropmIotohPI.tropmI.aideM.swodniW
metItropmIotohP.tropmI.aideM.swodniW
metItsiLpmuJI.neercStratS.IU.swodniW
metItsiLpmuJ.neercStratS.IU.swodniW
metItsiLsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
metItsiLsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
metItuoylFrablooTknII.slortnoC.lmaX.IU.swodniW
metItuoylFrablooTknI.slortnoC.lmaX.IU.swodniW
metItuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
metItuoylFrekciPetaD.slortnoC.lmaX.IU.swodniW
metItuoylFuneMelggoTI.slortnoC.lmaX.IU.swodniW
metItuoylFuneMelggoT.slortnoC.lmaX.IU.swodniW
metItuoylFuneMI.slortnoC.lmaX.IU.swodniW
metItuoylFuneM.slortnoC.lmaX.IU.swodniW
metIuneMraBnoitacilppAI.llehS.enohP.tfosorciM
metIuneMraBnoitacilppA.llehS.enohP.tfosorciM
metIuneMrellortnoClaidaRI.tupnI.IU.swodniW
metIuneMrellortnoClaidaR.tupnI.IU.swodniW
metIweiVdirGI.slortnoC.lmaX.IU.swodniW
metIweiVdirG.slortnoC.lmaX.IU.swodniW
metIweiVeerTI.slortnoC.lmaX.IU.swodniW
metIweiVeerT.slortnoC.lmaX.IU.swodniW
metIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
metIweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
metIweiVpilFI.slortnoC.lmaX.IU.swodniW
metIweiVpilF.slortnoC.lmaX.IU.swodniW
metIweiVtsiLI.slortnoC.lmaX.IU.swodniW
metIweiVtsiL.slortnoC.lmaX.IU.swodniW
metIxoBobmoCI.slortnoC.lmaX.IU.swodniW
metIxoBobmoC.slortnoC.lmaX.IU.swodniW
metIxoBtsiLI.slortnoC.lmaX.IU.swodniW
metIxoBtsiL.slortnoC.lmaX.IU.swodniW
metIyaDweiVradnelaCI.slortnoC.lmaX.IU.swodniW
metIyaDweiVradnelaC.slortnoC.lmaX.IU.swodniW
metIyrotsiHaideM.seciveD.tfosorciM
metIyrotsiHdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
metIyrotsiHdraobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
metIyrotsiHnoisseSytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
metIyrotsiHnoisseSytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
metsySecnerefeRedutitlA.noitacoloeG.seciveD.swodniW
metsySetanidrooClaitapSI.laitapS.noitpecreP.swodniW
metsySetanidrooClaitapS.laitapS.noitpecreP.swodniW
metsySetomeRI.smetsySetomeR.metsyS.swodniW
metsySetomeR.smetsySetomeR.metsyS.swodniW
metsySreganaMtellaW.metsyS.tellaW.ledoMnoitacilppA.swodniW
metsyStnemerusaeMoiduAecnadiuG.ecnadiuG.spaM.secivreS.swodniW
m_eventLock
m_eventLog
m_eventsList
m_eventWaitHandle
m_exclusiveControlMutex
m_exitEvent
m_expectedParameterSize
m_farfieldClient
MFC42u.dll
MFCreateAttributes
M;FdzaY0
m_featureReadParamType
m_featureRegistryController
m_featureType
MFEnumDeviceSources
m_fileName
m_fileNameSuffix
m_filesDictionary
mfilesystemcmd.cpp
mfilesystemcmd.h
m_firstCall
m_flushBufferTimeoutInMs
m_flushEvent
m_formatSet
MFPlat.DLL
MFShutdown
MFStartup
m_geometry
m_geometryPtr
m_getAcaApiVersionDelegate
m_getMultiPaApiVersionDelegate
m_getMultiPaParameterDelegate
m_getWovConfiguration
MgL;nHu!H
mgmtScope
m_handleName
m_handlerName
m_handlers
m_handlingMode
m_hasStreamBeenSuspended
m_header
m_headerSize
MheaderWW
mhelpcmd.cpp
mhelpcmd.h
M?H;MGs H
m_hpalIoctl
mhtiroglAgnidnuoR.gnittamroFrebmuN.noitazilabolG.swodniW
mhtiroglAgningiSemimSxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
mhtiroglAgnissecorPoediVaideM.gnidocsnarT.aideM.swodniW
mhtiroglAmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
mhtiroglAnoitpyrcnEemimSxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
mhtiroglAnoitpyrcnEydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
mhtiroglAsserpmoC.noisserpmoC.egarotS.swodniW
mhtiroglAtegraTfdK1ipaC.eroC.yhpargotpyrC.ytiruceS.swodniW
mhtiroglAyeKegarotSmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
m_hwkwsSubscribeStrategy
mi2dialog_enhancer_steering_enable
mi2dv_leveler_steering_enable
mi2ieq_steering_enable
mi2surround_compressor_steering_enable
_micArrayChannels
mic_array_geometry_
_micArrayGeometry
MicArrayGeometryExtension
_micChannelsCount
microphone
MicrophoneAccessChangedHandler
Microsoft
Microsoft.AppV.AppvClientComConsumer
Microsoft.AppV.AppvClientFacade
Microsoft App-V Client 1.0 Type LibraryWWW
Microsoft App-V Client ClassWW
Microsoft.AppV.Client.StreamingUX
Microsoft.AppV.Client.StreamingUX.Properties
Microsoft.AppV.Client.StreamingUX.Properties.Resources.resources
Microsoft.AppV.Client.StreamingUX.Tracing
Microsoft.AppV.Client.Tracing
MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
)Microsoft Authenticode(tm) Root Authority
MicrosoftCalculator
Microsoft.ClipUp
Microsoft.CodeAnalysis
 Microsoft Code Verification Root
 Microsoft Code Verification Root0
Microsoft Corporation
Microsoft Corporation1
Microsoft Corporation1!0
Microsoft Corporation1)0'
Microsoft Corporation1:08
Microsoft Corporation1;09
Microsoft Corporation1200
Microsoft Corporation1806
Microsoft Corporation1B0@
Microsoft Corporation1H0F
Microsoft.CRTProvider
Microsoft.CSharp
Microsoft.CSharp.RuntimeBinder
Microsoft.Devices
;Microsoft Digital Media Authority 2005 for preview releases
Microsoft.EMPS.Enrollment
Microsoft Enhanced Cryptographic Provider v1.0
[Microsoft Exchange]
Microsoft.FamilySafety
Microsoft.FamilySafety.Dev
Microsoft.FamilySafety.Monitor
?Microsoft Identity Verification Root Certificate Authority 2020
 Microsoft Operations Puerto Rico1
Microsoft.Phone
Microsoft Root Authority
)Microsoft Root Certificate Authority 2010
)Microsoft Root Certificate Authority 20100
)Microsoft Root Certificate Authority 2011
*Microsoft (R) Windows (R) Operating System
Microsoft Test Root Authority
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
Microsoft Unified Security Protocol Provider
Microsoft.VisualBasic
Microsoft.Win32
Microsoft.Win32.SafeHandles
Microsoft.Win32.TaskScheduler
Microsoft Windows0
Microsoft.Windows.App.Browser
Microsoft.Windows.AppMan.AppV
Microsoft.Windows.AppMan.UEV
Microsoft.Windows.AppModel.AppUriHandlerRegistrationVerifier
Microsoft.Windows.AppxDeploymentFallback
Microsoft.Windows.AppXDeploymentServer
Microsoft.Windows.AssignedAccess
Microsoft.Windows.Audio.AudioEngineUtil
Microsoft.Windows.Audio.CrossProcess
Microsoft.Windows.Audio.DeviceGraph
Microsoft.Windows.Audio.Spatial.CrossProcess
Microsoft.Windows.BootFileServicing
Microsoft.Windows.CleanupMgr
MicrosoftWindowsCodeIntegrityAuditTraceLoggingProvider
MicrosoftWindowsCodeIntegrityTraceLoggingProvider
Microsoft.Windows.Compatibility.Asl
Microsoft.Windows.Console.Host
Microsoft.Windows.Console.Launcher
Microsoft.Windows.Console.Render.VtEngine
Microsoft.Windows.Console.VirtualTerminal.Parser
Microsoft.Windows.ContentDeliveryManager
Microsoft.Windows.CredentialEnrollmentManager
Microsoft.Windows.DataExchange.DragDrop
Microsoft.Windows.Desktop.Shell.Charmap
Microsoft.Windows.Desktop.Shell.OOBEHealth
Microsoft.Windows.DeviceManagement.CDNDownloader
Microsoft.Windows.DeviceManagement.ConfigLock
Microsoft.Windows.DeviceManagement.ConfigManager2
Microsoft.Windows.DeviceManagement.DcSvc
Microsoft.Windows.DeviceManagement.DevDetailCsp
Microsoft.Windows.DeviceManagement.DevInfo
Microsoft.Windows.DeviceManagement.DmAccCsp
Microsoft.Windows.DeviceManagement.OmaCpClient
Microsoft.Windows.DeviceManagement.OmaDmApiProvider
Microsoft.Windows.DeviceManagement.OmaDmClient
Microsoft.Windows.DeviceManagement.OMADMPRC
Microsoft.Windows.DeviceManagement.RemoteFindCSP
Microsoft.Windows.DeviceManagement.SCEP
Microsoft.Windows.DeviceManagement.SecurityPolicyCsp
Microsoft.Windows.DeviceManagement.SessionManagement
Microsoft-Windows-DeviceManagement-W7NodeProcessor
Microsoft.Windows.DiskSnapshot
Microsoft.Windows.EMPS.Enrollment
Microsoft.Windows.EnterpriseManagement.ConfigManagerHook
Microsoft.Windows.EnterpriseManagement.DeclaredConfiguration
Microsoft.Windows.EnterpriseManagement.Dynamo
Microsoft.Windows.EnterpriseManagement.Enrollment
Microsoft.Windows.EnterpriseManagement.MDMPush
Microsoft.Windows.EnterpriseManagement.PolicyManager
Microsoft.Windows.EnterpriseManagement.ResourceManager
Microsoft.Windows.EnterpriseManagement.ResourceManagerUnenrollHook
Microsoft.Windows.FamilySafety.Reliability
MicrosoftWindowsFileExplorer
Microsoft.Windows.FileSystem.Chkdsk
Microsoft.Windows.Fundamentals.SiufDeployMgrClient
Microsoft.Windows.Fundamentals.UserInitiatedFeedback
Microsoft.Windows.Graphics.DirectXDatabaseHelper
Microsoft.Windows.Graphics.DirectXDatabaseUpdater
Microsoft.Windows.Inventory.Core
Microsoft.Windows.Kernel.BootEnvironment
Microsoft.Windows.Kernel.BootTools
Microsoft.Windows.Licensing.ChangePK
Microsoft.Windows.Licensing.DeviceLicenseSubscription
Microsoft.Windows.Licensing.UpgradeSubscription
Microsoft.Windows.Magnifier.Asimov
Microsoft.Windows.MediaFoundation.CallStack
Microsoft.Windows.MobilityExperience
Microsoft.Windows.Narrator.Asimov
Microsoft.Windows.OneCoreUap.Shell.Auth.CredUX
Microsoft.Windows.PlatformExtensions
Microsoft Windows Publisher0
Microsoft.Windows.Security.AppIdLogger
Microsoft.Windows.Security.Biometrics.Trustlet
Microsoft.Windows.Security.BitLocker.BcdUpdate
Microsoft.Windows.Security.BitLocker.CSP.State.Update
Microsoft.Windows.Security.BitLocker.EncryptionDelay
Microsoft.Windows.Security.DevCredTask
Microsoft.Windows.Security.LUA
Microsoft.Windows.Security.PasswordlessPolicy
Microsoft.Windows.Security.WebAuth
Microsoft.Windows.Settings.Accessibility
Microsoft.Windows.Shell.Auth.CredUIBroker
Microsoft.Windows.Shell.CloudExperienceHostClient
Microsoft.Windows.Shell.CoCreateInstanceAsSystem
Microsoft.Windows.Shell.ControlPanelBase
Microsoft.Windows.Shell.CustomShellHost
Microsoft.Windows.Shell.Desktop.LogonFramework
Microsoft.Windows.Shell.DevicePairing
Microsoft.Windows.Shell.Display
Microsoft-Windows-Shell-Launcher
Microsoft.Windows.Shell.Oobe.ExpeditedUpdate
Microsoft.Windows.Shell.OpenWith
Microsoft.Windows.Shell.Personalization.CSP
Microsoft.Windows.ShellPlacements
Microsoft.Windows.Shell.PrivacyConsentLogging
Microsoft.Windows.Shell.ScoobeEligibility
Microsoft.Windows.Shell.SystemSettings.DataUsageHandlers
Microsoft.Windows.Shell.SystemSettings.SignInOptionsPage
Microsoft.Windows.Shell.Taskbar
Microsoft.Windows.StateRepository.Core
Microsoft.Windows.StateRepository.Service
Microsoft.Windows.Storage.Defrag
Microsoft.Windows.Storage.DiskRaid
Microsoft.Windows.Storage.StorageReserve
Microsoft.Windows.TlgAggregateInternal
Microsoft.Windows.Wil.FeatureLogging
Microsoft.Xna.Framework
MicselConfigurationPathName
?Mid@CHString@@QEBA?AV1@H@Z
mi-dialog-enhancer-steering-enable
MIDisplayConfigurationWWWd
__MIDL___MIDL_itf_ihost_0001_0000_0001WW
__MIDL___MIDL_itf_ihost_0001_0000_0002WW
__MIDL___MIDL_itf_ihost_0001_0000_0003WW4
__MIDL___MIDL_itf_ihost_0001_0000_0004WW
mi-dv-leveler-steering-enable
Migrated
MigratedLicenseData
MigrateExplorerDestList
MigrateHpalToLpal
migrateuser.cpp
migrateuser.h
MigrationAlertSendFail
MigratorPatch
MigRegDB.pdb
mihS.spaM.enohP.tfosorciM
mi-ieq-steering-enable
Milli-Percent
 milliseconds. Retry number 
MilliWatts
mimeserver.cpp
mimeserver.h
mimetype.cpp
mimetype.h
mimeutil.cpp
Mime-Version
Mime-Version: 1.0
m_immutableDirs
m_immutableStorageProvider
minAccelerationStructureScratchOffsetAlignment
m_inactiveSessionList
MinConcurrency
MinCrypL_HashMemory
MincryptSetWeakCryptoPolicy
minDaysSinceFirstLogonOnCurrentInstallation
minDaysSinceScoobeLastCompleted
minDaysSinceScoobeLastShown
MinDeviceWakeState
MinEntriesFlushed
minFanPercentage
minFragmentDensityTexelSize
minFragmentShadingRateAttachmentTexelSize
MiniDumpWriteDump
minidumpwriter.cpp
minidumpwriter.h
minImageCount
minImageExtent
minImageTransferGranularity
MINIMAL(ALTERNATESHELL)
minImportedHostPointerAlignment
MinimumBurstOnsetInMs
_minimumThreshold
MinimumUnderScan
MinimumW
minInterpolationOffset
m_initCompleted
m_initSyncObject
-_MinLevelX4
minMemoryMapAlignment
MinOnsetLengthInMilliseconds
Minor VersionW
m_inputBufferReadPtr
m_inputFormat
m_inputFormatPtr
m_inputFrameSize
m_instance
minStorageBufferOffsetAlignment
minSubgroupSize
m_intelClientProxy
m_intelMultiPaSetupProxy
Minterms: 1
Minterms: 4
Minterms: 8
minTexelBufferOffsetAlignment
minTexelGatherOffset
minTexelOffset
minUniformBufferOffsetAlignment
MinValue
minVertexInputBindingStrideAlignment
_minWorkingSetSize
m_ioctlConfigParameter
m_ioctlControl
m_ioctlControlGetDelegate
m_ioctlControllers
m_ioctlFactory
m_ioctlManager
m_ioctlReader
m_ioctlRegistryReader
mipmapPrecisionBits
mi_process_disable
m_isConfigured
m_isDefaultDll
m_isDeviceAddedWatcherRunning
m_isDiposed
m_isDirValid
m_isDisposed
miSEI.srotarepOkrowteN.gnikrowteN.swodniW
miSE.srotarepOkrowteN.gnikrowteN.swodniW
m_isInitialized
m_isInitializing
Mismatched active controller count
Mismatched active port count
Mismatched active target count
Mismatched drive count
Mismatched inactive controller count
Mismatched inactive port count
m_isMicrophoneAccessible
m_isolationPolicy
m_isRpcLauncherInitialized
m_isRpcServerRunning
MISSING_CACHE_LOCATION_PATH
missingfilespage.cpp
Missing maximum attribute.
MissingMemberException
Missing minimum attribute.
Missing operating system
Missing parameter
Missing precision specifier.
MISSING_RESTORE_FILE
MISSING_USER_CONFIG_FILES
MISSING_ZIP_FILE
m_isSupported
mi-surround-compressor-steering-enable
mitigation
mitigationEntryPtr is NULL
MixerKsControl
MixerPinId
mix_matrix
mkdiffpkg.cpp
m_keyPhraseDetected
MkhiClient
MkParseDisplayName
m_ksProperties
m_ksPropertyWrapper
m_language
m_lastConfiguration
m_latency
m_latestErrorCode
m_latestState
m_listener
m_listnerHandle
mlmllhh]]]]hhhG
m_logBuffer
m_logFileName
m_loggers
m_loggingThread
m_logLevel
m_loopbackFormat
m_loopbackFormatPtr
mLSetPowerPolicyWW
m_majorApiVersion
]MMajorVersion4:
m_mandatory
m_mandatoryStages
m_maxWupDataSize
MMCSS_TypeGroup
MMDevAPI.DLL
m_memoryAccessor
m_memoryPtr
m_message
m_micAccessVerifier
m_micSelBlobComposer
m_minorApiVersion
m_mixedInputChunkDataSize
m_mmDeviceEnumerator
MMMfffffffff
MMMfffffffff@@@
MMMffffffffffffffffff@@@
MMMfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffMMM
MMMfffffffffSSS
MMMffffffYYY
mmmmllhl]]]h]hhhF
---MMMMMMMMM
MMMMMMMMM
MMMMMMMMM---
   MMMMMMMMMMMM
MMMMMMMMMMMM
MMMMMQIG99U
m_mmNotificationClient
MMMo			E
|||mmmrpb
m_mockAcaFeatureBuilder
m_modeInfoRepository
m_modelInfo
m_modelInfoRepository
m_modeManager
m_modeVsModuleOccupancyList
m_modeVsModuleSupportList
m_moduleIdToWrapperMap
m_monitorPtr
mmsllhh]]]]]hhhB
m_multiPaModels
m_multiplexedFormat
m_multiplexedFormatPtr
m_multiPpDllController
m_mutable
m_mutableDir
|||mnoqpj
m_notificationBuffer
m_notificationEvent
m_notificationFactory
m_notificationHandler
m_notificationList
m_notificationManager
m_notificationQueue
m_notificationQueueThread
m_notificationReader
m_notificationReadyEvent
m_notifications
m_notificationsManager
m_notificationsManagerThread
m_notificationsReader
m_notificationTypes
m_numberOfBytesToSkip
MobileOperatorEnrollmentID
mobjectcmd.cpp
mobjectcmd.h
_mockAcaBuilder
mock_activity_data_cache.hpp
mockactivitydatacachemanagerplus.cpp
mockactivitydatacachemanagerplus.h
mockactivitymanager.cpp
mockactivitymanager.h
mockapi.cpp
mockapi.h
mockapplicationinformationwrapper.h
mockapplicationinfostore.cpp
mockapplicationinfostore.h
mockassetintelligencewrapper.h
mockbackupstore.cpp
mockbackupstore.h
mockbase64encoding.cpp
mockbase64encoding.h
mockcachedregistry.cpp
mockcachedregistry.h
mockcachemanager.cpp
mockcachemanager.h
mock_catalog.h
mockcatalogplus.cpp
mockcatalogplus.h
mockcleanupmodule.h
mockclientapi.cpp
mockclientapi.h
mockclientcatalog.cpp
mockclientcatalog.h
mockclientcomponent.cpp
mockclientcomponent.h
mock_client_component.hpp
mockclientconfiguration.cpp
mockclientconfiguration.h
mockclienteventsink.h
mockclienthost.cpp
mockclienthost.h
mockclientmanager.cpp
mockclientmanager.h
mockclientsession.cpp
mockclientsession.h
mockclientsessionlist.cpp
mockclientsessionlist.h
mockclientsessionlistplus.cpp
mockclientsessionlistplus.h
mockclientsessionplus.cpp
mockclientsessionplus.h
mockcommandlineparser.h
mockcompackagerbinder.cpp
mockcompackagerbinder.h
mockcompackager.h
mockcompackagerreader.cpp
mockcompackagerreader.h
mockcompackagerwriter.cpp
mockcompackagerwriter.h
mockcomponentloader.cpp
mockcomponentloader.h
mockcomponentlocator.cpp
mockcomponentlocator.h
mock_controller.h
mockcontrollerinternal.cpp
mockcontrollerinternal.h
mockcontrollerplus.cpp
mockcontrollerplus.h
mockcontrollerrequestplus.cpp
mockcontrollerrequestplus.h
mockcontrollerrequests.cpp
mockcontrollerrequests.h
mock.cpp
mockcswatcher.h
mock_data.hpp
mockdataretriever.h
mockdirectorydaclmanager.hpp
mockdocumentstoreenumerator.cpp
mockembeddedscriptparser.cpp
mock_endpoint_mapper.cpp
mockevents.h
mockexception.cpp
mockfileserverpackage.cpp
mockfileserverpackageversion.cpp
mock_folder_redirection_task.cpp
mockgetserverconfigimpl.h
mock.hpp
mockhttpresource.cpp
mockhttpresource.h
mock_impersonator.cpp
mockimpersonator.cpp
mockintegrationmanager.cpp
mockintegrationmanagerfactory.cpp
mockintegrationmanagerfactory.h
mockintegrationmanager.h
mock_io_operations.cpp
mock_io_operations.h
mockisvhost.cpp
mockisvhost.h
mockmachinecatalogplus.cpp
mockmachinecatalogplus.h
mockmachinepackagegroupplus.cpp
mockmachinepackagegroupplus.h
mockmanifest.cpp
mockmanifestdocument.cpp
mockmanifestdocumentfactory.cpp
mockmanifestdocumentfactory.h
mockmanifestdocument.h
mockmanifestdocumentplus.cpp
mockmanifestdocumentplus.h
mock_manifest.hpp
mock_manifest_reader.h
MockNotification
mock_notification_listener.hpp
mock_notification_listener_imp.hpp
mocknotificationlistenerplus.cpp
mocknotificationlistenerplus.h
mocknotificationmanager.cpp
mocknotificationmanager.h
mock_notification_order_manager.hpp
mock_ownership_man.cpp
mock_ownership_man.h
mock_ownership_store.cpp
mockownershipstore.cpp
mock_ownership_store.h
mockownershipstore.h
mock_package_config_manager.hpp
mockpackageconfigmanagerplus.cpp
mockpackageconfigmanagerplus.h
mockpackagegroupdescriptordocument.cpp
mockpackagegroupdescriptordocument.h
mockpackagegroupdescriptordocumentimpl.cpp
mockpackagegroupdescriptordocumentimpl.h
mockpackagegroupdescriptordocumentplus.cpp
mockpackagegroupdescriptordocumentplus.h
mockpackagegroupdescriptorfactory.cpp
mockpackagegroupdescriptorfactory.h
mockpackagegroupdescriptor.hpp
mockpackageinformationwrapper.h
mockpackagemachinedocumentimpl.cpp
mockpackagemachinedocumentimpl.h
mockpackagemachinepolicydocument.cpp
mockpackagemachinepolicydocument.h
mockpackagemachinepolicyfactory.cpp
mockpackagemachinepolicyfactory.h
mockpackagepathmanager.hpp
mockpackagerwriter.h
mockpackagestore.hpp
mockpackageuserdocument.cpp
mockpackageuserdocumentimpl.cpp
mockpackageuserdocumentimpl.h
mockpackageuserpolicydocument.cpp
mockpackageuserpolicydocument.h
mockpackageuserpolicyfactory.cpp
mockpackageuserpolicyfactory.h
mockpathresolver.h
mockpendingtaskmanager.cpp
mockpendingtaskmanager.h
mockperformancecounterreader.h
mockpolicydocument.cpp
mockpolicydocument.h
mockpolicyidmgr.cpp
mockpolicyidmgr.h
mockprocesslauncher.h
mock_process_terminator.cpp
mock_process_terminator.h
mock_procutils.h
mockpublishclient.hpp
mockpublishingconfigurations.h
mockpublishingoperation.h
mockpublishserver.hpp
mockregistryaccess.h
mockreportingqueue.cpp
mockreportingqueue.h
mockscheduledtaskmanager.cpp
mockscheduledtaskmanager.h
mocks.cpp
mockscriptbuilder.cpp
mockscriptbuilder.hpp
mockscriptlauncher.hpp
mockscriptmanager.hpp
mockserverrecord.cpp
mockserverrecord.h
mock_service_config_reader.h
mocksettingmanager.cpp
mocksettingmanager.h
mock_shell_refresh_subsystem_registrator.hpp
mockshortcutmanifestinterface.cpp
mockshortcutmanifestinterface.h
mocks.hpp
mockstatemanager.h
mockstoreutils.cpp
mockstoreutils.h
mockstreaminguxprocessapi.h
mockstreaminguxprocess.h
mocksubscriber.cpp
mocksubscriber.h
mocksubsystemcommand.h
mock_subsystem_finder.h
mock_subsystem.h
mocksubsystempackager.h
mocksubsystemregistrator.h
mockswfileutil.h
mock_swrpcserver.cpp
mocktransaction.h
mocktransactionscheduler.cpp
mocktransactionscheduler.h
mocktransport.h
mockusercatalogplus.cpp
mockusercatalogplus.h
mockuserinfo.cpp
mockusermanager.cpp
mockusermanager.h
mockuserpackagegroupplus.cpp
mockuserpackagegroupplus.h
mockutilities.cpp
mockutilities.h
mock_vfs_runtime_configuration_loader.cpp
mock_virtual_environment_manager.h
mockvirtualenvironmentutils.cpp
mockvirtualenvironmentutils.h
mockvirtualenvironmentutils.hpp
mockvirtualenvironmentutilsplus.cpp
mockvirtualenvironmentutilsplus.h
mockvirtualservicesreader.cpp
mockvirtualservicesreader.h
mock_vreg_token_generator.cpp
mock_vreg_token_generator_results.cpp
mock_vreg_token_generator_results.h
mock_xml_fta_schema.h
mockxmlutils.cpp
mockxmlutils.h
MoD9E_t I
MODE_BPPD
_modeCapabilities
ModeCapabilitiesX
ModeIdOffset
modelcerts
_modelFile
ModelFile
ModelFile1
ModelFile2
modelFileInfo
ModelFileInfo
_modelFilePath
ModelFiles
_modelId
_model_index
_modelIndex
ModeList
ModelMetadataFileName
_modelPath
_modelsExplorer
ModernResumeEventID
ModernStandbyEventID
MODE_ROTATIONWWW8
Modified
ModifyMenuW
ModifyStatusText
Module32First
Module32Next
ModuleCollection
_moduleId
ModuleIdOffset
MOEnrollmentID
mO|F)'R.
MomentumStrikeScreenEdge
MONITOR_DEFAULTTONEAREST
MONITOR_DEFAULTTONULL
MONITOR_DEFAULTTOPRIMARY
MonitorFromRect
MonitorFromWindow
monitorHandle is NULL
MONITORINFO
monitoringsessionsavedstate.cpp
MonitorPowerState
monospace;
m_onsetBufferGetDelegate
m_onsetLengthOverride
mooZcitnameSI.slortnoC.lmaX.IU.swodniW
mooZcitnameS.slortnoC.lmaX.IU.swodniW
Morrisville1
Motion sensor released
m_outputBuffer
m_outputBufferPtr
m_outputChunkDataSize
m_outputFormat
m_outputFormatPtr
m_outputSnippet
Moved Count
MoveFile
MoveFileEx
MoveFileExA
MoveFileExW
MoveFileFlags
movefile_tests.cpp
MoveFileTransactedW
MoveFileW
MoveFileWithProgressW
MoveFolderWWL
MoveNext
m_overlappedDataBuffer
m_overlappedDataBufferPtr
MoveToAttributeByName failed
MoveToEx
MoveWindow
Moving the key under persistent handle: 
Moving trailers state machine from initialized to sending.
			-moz-background-size: cover;
mpackagecmd.cpp
mpackagecmd.h
m_paName
m_parameter
m_paramsHandling
m_pchType
MpEvent_Error
MPEvent_ServiceHost_CertificateUpdateFailure
MPEvent_ServiceHost_CertificateUpdateSuccess
MpEvent_Warning
m_phantomSessionCleanerThread
m_pidAndGuidDictionary
m_pITypeLibExporterNotifySink
MPN94)tXH
m_ppClient
m_ppClientWrapper
m_ppConfigHeader
m_ppDllClients
m_ppDllClientsWrappers
m_ppDllClientWrappers
m_ppDllConfigLoader
m_ppDllConfigurationFile
m_ppDllController
m_ppDllHandle
m_ppDllLoader
m_ppDllName
m_ppLogger
m_ppObject
m_processId
m_processKeyPhrase
m_prodAcaFeatureBuilder
m_provider
m_pStruct
m_queryCapabilitiesDelegate
m_queryCurrentLanguageDelegate
m_queueLock
m_queueNotificationHandler
m:::::::R
mralAesolCrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
mralAesolCrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
mralA.reludehcS.enohP.tfosorciM
m_rawClient
m_reader
m_readerLock
m_readerName
m_readerThread
m_readerThreadLock
m_readingInterval
m_readNotifications
m_readOffset
m_readPtrPp
m_readPtrRaw
m_refCounter
m_registerPdtDelegate
m_registerUdtDelegate
m_registryController
m_registryNodePath
m_rejectionErrorCode
m_releaseMethod
m_removeSvDelegate
m_requestFactory
m_requestLock
m_requestManager
m_requestsList
m_requestTypeName
m_resetSteamActionMethod
mroFdroWetanretlAI.txeT.ataD.swodniW
mroFdroWetanretlA.txeT.ataD.swodniW
mrofsnarT.aideM.lmaX.IU.swodniW
mrofsnarTelacS.aideM.lmaX.IU.swodniW
mrofsnarTelacSI.aideM.lmaX.IU.swodniW
mrofsnarTetalsnarT.aideM.lmaX.IU.swodniW
mrofsnarTetalsnarTI.aideM.lmaX.IU.swodniW
mrofsnarTetatoR.aideM.lmaX.IU.swodniW
mrofsnarTetatoRI.aideM.lmaX.IU.swodniW
mrofsnarTetisopmoC.aideM.lmaX.IU.swodniW
mrofsnarTetisopmoCI.aideM.lmaX.IU.swodniW
mrofsnarTI.aideM.lmaX.IU.swodniW
mrofsnarTlareneG.aideM.lmaX.IU.swodniW
mrofsnarTlareneGI.aideM.lmaX.IU.swodniW
mrofsnarTledoMenecSI.senecS.noitisopmoC.IU.swodniW
mrofsnarTledoMenecS.senecS.noitisopmoC.IU.swodniW
mrofsnarTnoitisopmoCI.noitisopmoC.IU.swodniW
mrofsnarTnoitisopmoC.noitisopmoC.IU.swodniW
mrofsnarToeretScihpargoloH.cihpargoloH.scihparG.swodniW
mrofsnarTpamtiB.gnigamI.scihparG.swodniW
mrofsnarTpamtiBI.gnigamI.scihparG.swodniW
mrofsnarTtnioPretnioPI.tupnI.IU.swodniW
mrofsnarTwekS.aideM.lmaX.IU.swodniW
mrofsnarTwekSI.aideM.lmaX.IU.swodniW
mrofsnarTxirtaM.aideM.lmaX.IU.swodniW
mrofsnarTxirtaMI.aideM.lmaX.IU.swodniW
mroftalP.atadateM.noitadnuoF.swodniW
mroftalPmetsySetomeR.smetsySetomeR.metsyS.swodniW
m_rpcAcaProxy
m_rpcIntelClientProxy
m_rpcIntelMultiPaProxy
m_rpcLauncher
MrtApplication
MrtDefaultTile
MrtPackage
MrtSharedPri
MrtUserPri
mrymD2B6BFGig6  
MSAcpi_ThermalZoneTemperature
m_safeHandle
MSAgp_Information
m_sanReader
MSATicketLength
MSATicketRetry
msAveragePumpPassDuration
m_scheduler
mscms.dll
mscoree.dll
mscorlib
MsCtfMonitor.DLL
MSDeviceUI_FirmwareRevision
MSDiskDriver_Geometry
MSDiskDriver_Performance
MSDiskDriver_PerformanceData
MSDOS5.0
MSDOS5.0H
m_selectedClientProxy
mservercmd.cpp
mservercmd.h
MserverId
m_service
m_serviceControl
m_serviceControlCallback
m_serviceCore
m_serviceHandle
m_serviceLogComponentsMask
m_serviceName
m_servicePtr
MSE specified more than once
m_sessionsLock
m_setMultiPaParameterDelegate
m_settings
m_settingsNodeName
m_settingsNodePath
MSFC_AdapterEvent
MSFC_DH_Chap_Parameters
MSFC_EventBuffer
MSFC_EventControl
MSFC_FC4STATISTICS
MSFC_FCAdapterHBAAttributes
MSFC_FibrePortHBAAttributes
MSFC_FibrePortHBAMethods
MSFC_FibrePortHBAStatistics
MSFC_FibrePortNPIVAttributes
MSFC_FibrePortNPIVMethods
MSFC_FibrePortNPIVMethodsEx
MSFC_HBAAdapterMethods
MSFC_HbaApiVersion
MSFC_HBAFCPInfo
MSFC_HBAPortAttributesResults
MSFC_HBAPortStatistics
MSFC_LinkEvent
MSFC_NPIVCapabilities
MSFC_NPIVLUNMappingInformation
MSFC_NPIVLUNMappingInformationEx
MSFC_PortEvent
MSFC_TargetEvent
MSFC_VirtualFibrePortAttributes
MSFT1200
MSFT_3DPrinter
MSFT_AttestationResult
MSFT_AutologgerConfig
MSFT_BackgroundTask
MSFT_CliAlias
MSFT_CliConnection
MSFT_CliFormat
MSFT_CliParam
MSFT_CliProperty
MSFT_CliQualifier
MSFT_CliSeeAlso
MSFT_CliTranslateTable
MSFT_CliTranslateTableEntry
MSFT_CliVerb
MSFT_ClusteredScheduledTask
MSFT_Credential
MSFT_DAClientExperienceConfiguration
MSFT_DAConnectionStatus
MSFT_DASettingsIndication
MSFT_DASiteTableEntry
MSFT_DecoupledProvider
MSFT_DedupProperties
MSFT_DeliveryOptimizationConfig
MSFT_DeliveryOptimizationExtendedConfig
MSFT_DeliveryOptimizationFile
MSFT_DeliveryOptimizationFilePeerInfo
MSFT_Disk
MSFT_DiskImage
MSFT_DiskImageToVolume
MSFT_DiskToPartition
MSFT_DiskToStorageReliabilityCounter
MSFT_DNSClient
MSFT_DNSClientCache
MSFT_DNSClientGlobalSetting
MSFT_DNSClientServerAddress
MSFT_DOBaseStatus
MSFT_DOCurrentStatus
MSFT_DODownloadUsage
MSFT_DOUploadUsage
MSFT_DOUsage
MSFT_DSCConfigurationOutput
MSFT_DSCConfigurationOutputReboot
MSFT_DSCConfigurationOutputResult
MSFT_DSCConfigurationOutputWhatIf
MSFT_DSCConfigurationOutputWriteArray
MSFT_DSCConfigurationOutputWriteError
MSFT_DSCConfigurationOutputWriteMessage
MSFT_DSCConfigurationOutputWriteObject
MSFT_DSCConfigurationOutputWriteProgress
MSFT_DSCConfigurationStatus
MSFT_DSCLocalConfigurationManager
MSFT_DSCMetaConfiguration
MSFT_DSCMethodInvoked
MSFT_DscProxy
MSFT_DSCResource
MSFT_DscTimer
MSFT_DtcAdvancedHostSettingTask
MSFT_DtcAdvancedSettingTask
MSFT_DtcClusterDefaultTask
MSFT_DtcClusterTMMappingTask
MSFT_DtcDefaultTask
MSFT_DtcLogTask
MSFT_DtcNetworkSettingTask
MSFT_DtcTask
MSFT_DtcTransactionsStatisticsTask
MSFT_DtcTransactionsTraceSessionTask
MSFT_DtcTransactionsTraceSettingTask
MSFT_DtcTransactionTask
MSFT_Engine
MSFT_EtwTraceProvider
MSFT_EtwTraceSession
MSFT_Expression
MSFT_ExpressionAssignment
MSFT_ExpressionBegin
MSFT_ExpressionCall
MSFT_ExpressionIdentifier
MSFT_ExpressionIf
MSFT_ExpressionKeywordParameter
MSFT_ExpressionKeywordValue
MSFT_ExpressionLambda
MSFT_ExpressionLet
MSFT_ExpressionLoop
MSFT_ExpressionValue
MSFT_ExpressionValue_boolean
MSFT_ExpressionValue_datetime
MSFT_ExpressionValue_real32
MSFT_ExpressionValue_real64
MSFT_ExpressionValue_sint16
MSFT_ExpressionValue_sint32
MSFT_ExpressionValue_sint64
MSFT_ExpressionValue_sint8
MSFT_ExpressionValue_string
MSFT_ExpressionValue_uint16
MSFT_ExpressionValue_uint32
MSFT_ExpressionValue_uint64
MSFT_ExpressionValue_uint8
MSFT_ExtendedStatus
MSFT_FileDirectoryConfiguration
MSFT_FileDownloadManager
MSFT_FileIntegrity
MSFT_FileResourceManager
MSFT_FileServer
MSFT_FileServerToFileShare
MSFT_FileServerToVolume
MSFT_FileShare
MSFT_FileShareAccessControlEntry
MSFT_FileStorageTier
MSFT_HealthAction
MSFT_HealthActionEvent
MSFT_HealthRecord
MSFT_HealthRecordReal64
MSFT_HealthRecordUInt64
MSFT_HgsClientConfiguration
MSFT_HgsGuardian
MSFT_HgsKeyProtector
MSFT_HgsKeyProtectorOperations
MSFT_InitiatorId
MSFT_InitiatorIdToVirtualDisk
MSFT_InitiatorPort
MSFT_InitiatorPortToiSCSIConnection
MSFT_InitiatorPortToiSCSISession
MSFT_InitiatorPortToiSCSITarget
MSFT_iSCSIConnection
MSFT_iSCSIConnectionToDisk
MSFT_iSCSIConnectionToiSCSITargetPortal
MSFT_iSCSISession
MSFT_iSCSISessionToDisk
MSFT_iSCSISessionToiSCSIConnection
MSFT_iSCSISessionToiSCSITargetPortal
MSFT_iSCSITarget
MSFT_iSCSITargetPortal
MSFT_iSCSITargetToiSCSIConnection
MSFT_iSCSITargetToiSCSISession
MSFT_iSCSITargetToiSCSITargetPortal
MSFT_KeyValuePair
MSFT_LocalizableClassQualifier
MSFT_LocalizableElement
MSFT_LocalizableMethodParameterQualifier
MSFT_LocalizableMethodQualifier
MSFT_LocalizablePropertyQualifier
MSFT_LocalizablePropertyValue
MSFT_LocalizableQualifier
MSFT_LocalPrinterPort
MSFT_LprPrinterPort
MSFT_MaskingSet
MSFT_MaskingSetToInitiatorId
MSFT_MaskingSetToTargetPort
MSFT_MaskingSetToVirtualDisk
Msft_MiCommand
Msft_MiCompare
Msft_MiCompareSuppression
Msft_MiMerge
MSFT_MintEngine
MSFT_MintPipeline
MSFT_MintPipelineDefinition
MSFT_MintPipelineExecution
MSFT_MintRunspace
Msft_MiQuery
Msft_MiStream
Msft_MiStreamTasks
MSFT_MpComputerStatus
MSFT_MpEvent
MSFT_MpHeartBeat
MSFT_MpPreference
MSFT_MpScan
MSFT_MpSignature
MSFT_MpThreat
MSFT_MpThreatCatalog
MSFT_MpThreatDetection
MSFT_MpWDOScan
MSFT_MTDisk
MSFT_MTDiskVolume
MSFT_MTEventChannel
MSFT_MTEventProvider
MSFT_MTEventRecord
MSFT_MTLogicalProcessor
MSFT_MTMemorySummary
MSFT_MTNetworkAdapter
MSFT_MTProcess
MSFT_MTProcessorSummary
MSFT_MTRegistryBinary
MSFT_MTRegistryDword
MSFT_MTRegistryKey
MSFT_MTRegistryMultiString
MSFT_MTRegistryObject
MSFT_MTRegistryQword
MSFT_MTRegistryString
MSFT_MTRegistryTasks
MSFT_MTRegistryValue
MSFT_MTTaskManager
MSFT_NCProvAccessCheck
MSFT_NCProvCancelQuery
MSFT_NCProvClientConnected
MSFT_NCProvEvent
MSFT_NCProvNewQuery
MSFT_NCSIPolicyConfiguration
MSFT_Net6to4Configuration
MSFT_Net6to4State
MSFT_NetAdapter
MSFT_NetAdapterAdvancedPropertyElementSetting
MSFT_NetAdapterAdvancedPropertySettingData
MSFT_NetAdapterBindingElementSetting
MSFT_NetAdapterBindingSettingData
MSFT_NetAdapterChecksumOffloadCapabilities
MSFT_NetAdapterChecksumOffloadElementSetting
MSFT_NetAdapterChecksumOffloadEncapsulationTypes
MSFT_NetAdapterChecksumOffloadSettingData
MSFT_NetAdapterElementSettingData
MSFT_NetAdapterEncapsulatedPacketTaskOffloadCapabilities
MSFT_NetAdapterEncapsulatedPacketTaskOffloadCapabilitiesEx
MSFT_NetAdapterEncapsulatedPacketTaskOffloadElementSetting
MSFT_NetAdapterEncapsulatedPacketTaskOffloadSettingData
MSFT_NetAdapter_Group_Affinity
MSFT_NetAdapterHardwareInfoElementSetting
MSFT_NetAdapterHardwareInfoSettingData
MSFT_NetAdapterIPsecOffloadV2ElementSetting
MSFT_NetAdapterIPsecOffloadV2SettingData
MSFT_NetAdapterLargeSendOffloadV1Capabilities
MSFT_NetAdapterLargeSendOffloadV2Capabilities
MSFT_NetAdapterLsoElementSetting
MSFT_NetAdapterLsoEncapsulationTypes
MSFT_NetAdapterLsoSettingData
MSFT_NetAdapter_PacketDirectCapabilities
MSFT_NetAdapterPacketDirectElementSetting
MSFT_NetAdapterPacketDirectSettingData
MSFT_NetAdapterPowerManagementElementSetting
MSFT_NetAdapterPowerManagement_Offload
MSFT_NetAdapterPowerManagement_Offload_Arp
MSFT_NetAdapterPowerManagement_Offload_NS
MSFT_NetAdapterPowerManagement_Offload_RsnRekey
MSFT_NetAdapterPowerManagementSettingData
MSFT_NetAdapterPowerManagement_WakePattern
MSFT_NetAdapterPowerManagement_WakePattern_Bitmap
MSFT_NetAdapterPowerManagement_WakePattern_EapolRequestId
MSFT_NetAdapterPowerManagement_WakePattern_MagicPacket
MSFT_NetAdapterPowerManagement_WakePattern_TcpSyn
MSFT_NetAdapterPowerManagement_WakePattern_WildCard
MSFT_NetAdapter_ProcessorNumber
MSFT_NetAdapter_QosCapabilities
MSFT_NetAdapter_QosClassificationElement
MSFT_NetAdapterQosElementSetting
MSFT_NetAdapterQosSettingData
MSFT_NetAdapter_QosSettings
MSFT_NetAdapter_RdmaAdapterInfo
MSFT_NetAdapterRdmaElementSetting
MSFT_NetAdapter_RdmaMissingCounterInfo
MSFT_NetAdapterRdmaSettingData
MSFT_NetAdapter_RdmaStatistics
MSFT_NetAdapterRscCapabilities
MSFT_NetAdapterRscElementSetting
MSFT_NetAdapterRscSettingData
MSFT_NetAdapter_RscStatistics
MSFT_NetAdapterRssElementSetting
MSFT_NetAdapter_RssProcessor
MSFT_NetAdapterRssSettingData
MSFT_NetAdapterSettingData
MSFT_NetAdapterSriovCapabilities
MSFT_NetAdapterSriovElementSetting
MSFT_NetAdapterSriovSettingData
MSFT_NetAdapterSriovVfElementSetting
MSFT_NetAdapterSriovVfSettingData
MSFT_NetAdapterStatisticsElementSetting
MSFT_NetAdapterStatisticsSettingData
MSFT_NetAdapterUdpSegmentationOffloadCapabilities
MSFT_NetAdapterUsoElementSetting
MSFT_NetAdapterUsoEncapsulationTypes
MSFT_NetAdapterUsoSettingData
MSFT_NetAdapterVmqElementSetting
MSFT_NetAdapter_VmqFilter
MSFT_NetAdapterVmqQueueElementSetting
MSFT_NetAdapterVmqQueueSettingData
MSFT_NetAdapterVmqSettingData
MSFT_NetAdapterVPortElementSetting
MSFT_NetAdapterVPortSettingData
MSFT_NetAddressFilter
MSFT_NetApplicationFilter
MSFT_NetBadAccount
MSFT_NetBadServiceState
MSFT_NetBaseIPProtocol
MSFT_NetBootSystemDriversFailed
MSFT_NetBranchCacheCache
MSFT_NetBranchCacheClientSettingData
MSFT_NetBranchCacheContentServerSettingData
MSFT_NetBranchCacheDataCache
MSFT_NetBranchCacheDataCacheExtension
MSFT_NetBranchCacheHashCache
MSFT_NetBranchCacheHostedCacheServerSettingData
MSFT_NetBranchCacheNetworkSettingData
MSFT_NetBranchCacheOrchestrator
MSFT_NetBranchCachePrimaryCache
MSFT_NetBranchCacheSecondaryCache
MSFT_NetBranchCacheSettingData
MSFT_NetBranchCacheStatus
MSFT_NetCallToFunctionFailed
MSFT_NetCallToFunctionFailedII
MSFT_NetCircularDependencyAuto
MSFT_NetCircularDependencyDemand
MSFT_NetCompartment
MSFT_NetConnectionProfile
MSFT_NetConnectionTimeout
MSFT_NetConSecRule
MSFT_NetConSecRuleEMAuthSet
MSFT_NetConSecRuleFilterByAddress
MSFT_NetConSecRuleFilterByInterface
MSFT_NetConSecRuleFilterByInterfaceType
MSFT_NetConSecRuleFilterByProtocolPort
MSFT_NetConSecRuleFilters
MSFT_NetConSecRuleInProfile
MSFT_NetConSecRuleMMAuthSet
MSFT_NetConSecRuleQMCryptoSet
MSFT_NetDependOnLaterGroup
MSFT_NetDependOnLaterService
MSFT_NetDnsTransitionConfiguration
MSFT_NetDnsTransitionInterfaceAssociation
MSFT_NetDnsTransitionMonitoring
MSFT_NetEventCaptureTarget_CaptureProvider
MSFT_NetEventNetworkAdapter
MSFT_NetEventPacketCaptureProvider
MSFT_NetEventPacketCaptureTarget
MSFT_NetEventProvider
MSFT_NetEventProviderBase
MSFT_NetEventSession
MSFT_NetEventSession_Provider
MSFT_NetEventVFPProvider
MSFT_NetEventVmNetworkAdapter
MSFT_NetEventVmSwitch
MSFT_NetEventVmSwitchProvider
MSFT_NetEventWFPCaptureProvider
MSFT_NetFirewallProfile
MSFT_NetFirewallRule
MSFT_NetFirewallRuleFilterByAddress
MSFT_NetFirewallRuleFilterByApplication
MSFT_NetFirewallRuleFilterByInterface
MSFT_NetFirewallRuleFilterByInterfaceType
MSFT_NetFirewallRuleFilterByProtocolPort
MSFT_NetFirewallRuleFilterBySecurity
MSFT_NetFirewallRuleFilterByService
MSFT_NetFirewallRuleFilters
MSFT_NetFirewallRuleInProfile
MSFT_NetFirstLogonFailed
MSFT_NetFirstLogonFailedII
MSFT_NetGPO
MSFT_NetIKEAuthProposal
MSFT_NetIKEAuthSet
MSFT_NetIKEBasicAuthProposal
MSFT_NetIKECertAuthProposal
MSFT_NetIKECryptoProposal
MSFT_NetIKECryptoSet
MSFT_NetIKEKerbAuthProposal
MSFT_NetIKEMMCryptoProposal
MSFT_NetIKEMMCryptoSet
MSFT_NetIKEP1AuthSet
MSFT_NetIKEP2AuthSet
MSFT_NetIKEPSKAuthProposal
MSFT_NetIKEQMCryptoProposal
MSFT_NetIKEQMCryptoSet
MSFT_NetImPlatAdapter
MSFT_NetImPlatProvider
MSFT_NetImPlatTeam
MSFT_NetInterfaceFilter
MSFT_NetInterfaceTypeFilter
MSFT_NetIPAddress
MSFT_NetIPHttpsConfiguration
MSFT_NetIPHttpsState
MSFT_NetIPInterface
MSFT_NetIPInterfaceAdapter
MSFT_NetIPInterfaceIPAddress
MSFT_NetIPInterfaceNeighbor
MSFT_NetIPInterfaceRoute
MSFT_NetIPsecDoSPSetting
MSFT_NetIPsecIdentity
MSFT_NetIPv4Protocol
MSFT_NetIPv6Protocol
MSFT_NetISATAPConfiguration
MSFT_NetISATAPState
MSFT_NetLbfoProvider
MSFT_NetLbfoTeam
MSFT_NetLbfoTeamMember
MSFT_NetLbfoTeamNic
MSFT_NetLbfoTeam_Provider
MSFT_NetLbfoTeam_TeamMember
MSFT_NetLbfoTeam_TeamNic
MSFT_NetMainModeRule
MSFT_NetMainModeRuleFilterByAddress
MSFT_NetMainModeRuleFilters
MSFT_NetMainModeRuleInProfile
MSFT_NetMainModeRuleMMAuthSet
MSFT_NetMainModeRuleMMCryptoSet
MSFT_NetMainModeSA
MSFT_NetNat
MSFT_NetNatExternalAddress
MSFT_NetNatGlobal
MSFT_NetNatSession
MSFT_NetNatStaticMapping
MSFT_NetNatTransitionConfiguration
MSFT_NetNatTransitionInterfaceAssociation
MSFT_NetNatTransitionMonitoring
MSFT_NetNeighbor
MSFT_NetNetworkLayerSecurityFilter
MSFT_NetOffloadGlobalSetting
MSFT_NetPolicyRuleFilters
MSFT_NetPrefixPolicy
MSFT_NetProtocolPortFilter
MSFT_NetQosPolicySettingData
MSFT_NetQuickModeSA
MSFT_NetReadfileTimeout
MSFT_NetRevertedToLastKnownGood
MSFT_NetRoute
MSFT_NetRuleInProfile
MSFT_NetSAActionInSARule
MSFT_NetSAAssociation
MSFT_NetSARule
MSFT_NetSARuleEMAuth
MSFT_NetSARuleMMAuth
MSFT_NetSARuleMMCrypto
MSFT_NetSARuleQMCrypto
MSFT_NetSecDeltaCollection
MSFT_NetSecuritySettingData
MSFT_NetServiceConfigBackoutFailed
MSFT_NetServiceControlSuccess
MSFT_NetServiceCrash
MSFT_NetServiceCrashNoAction
MSFT_NetServiceDifferentPIDConnected
MSFT_NetServiceExitFailed
MSFT_NetServiceExitFailedSpecific
MSFT_NetServiceFilter
MSFT_NetServiceLogonTypeNotGranted
MSFT_NetServiceNotInteractive
MSFT_NetServiceRecoveryFailed
MSFT_NetServiceShutdownFailed
MSFT_NetServiceSlowStartup
MSFT_NetServiceStartFailed
MSFT_NetServiceStartFailedGroup
MSFT_NetServiceStartFailedII
MSFT_NetServiceStartFailedNone
MSFT_NetServiceStartHung
MSFT_NetServiceStartTypeChanged
MSFT_NetServiceStatusSuccess
MSFT_NetServiceStopControlSuccess
MSFT_NetSettingData
MSFT_NetSevereServiceFailed
MSFT_NetSwitchTeam
MSFT_NetSwitchTeamMember
MSFT_NetSwitchTeam_TeamMember
MSFT_NetTakeOwnership
MSFT_NetTCPConnection
MSFT_NetTCPSetting
MSFT_NetTeredoConfiguration
MSFT_NetTeredoState
MSFT_NetTransactInvalid
MSFT_NetTransactTimeout
MSFT_NetTransportConnection
MSFT_NetTransportFilter
MSFT_NetTransportFilterTCPSetting
MSFT_NetUDPEndpoint
MSFT_NetUDPSetting
MSFT_OdbcDriver
MSFT_OdbcDriverTask
MSFT_OdbcDsn
MSFT_OdbcDsnTask
MSFT_OdbcKeyValuePair
MSFT_OdbcPerfCounter
MSFT_OdbcPerfCounterTask
MSFT_OffloadDataTransferSetting
MSFT_OptionalCompanion
MSFT_PartialConfiguration
MSFT_Partition
MSFT_PartitionToReplicaPeer
MSFT_PartitionToVolume
MSFT_PCSVDevice
MSFT_PCSVLogRecord
MSFT_PhysicalDisk
MSFT_PhysicalDiskToStorageReliabilityCounter
MSFT_PhysicalExtent
MSFT_Pipeline
MSFT_PipelineDefinition
MSFT_PipelineExecution
MSFT_PlatformIdentifier
MSFT_Printer
MSFT_PrinterConfiguration
MSFT_PrinterDriver
MSFT_PrinterNfcTag
MSFT_PrinterNfcTagTasks
MSFT_PrinterPort
MSFT_PrinterPortTasks
MSFT_PrinterProperty
MSFT_PrintJob
Msft_Providers
MSFT_ReplicaPeer
MSFT_ReplicationCapabilities
MSFT_ReplicationGroup
MSFT_ReplicationGroupToPartition
MSFT_ReplicationGroupToReplicaPeer
MSFT_ReplicationGroupToVirtualDisk
MSFT_ReplicationSettings
MSFT_ResiliencySetting
MSFT_ResourceChanged
MSFT_ResourceInDesiredState
MSFT_ResourceNotInDesiredState
MSFT_Rule
MSFT_Runspace
MSFT_ScheduledTask
MSFT_SCMEvent
MSFT_SCMEventLogEvent
MSFT_ServerBpaResult
MSFT_ServerClusterInformation
MSFT_ServerError
MSFT_ServerEventDetail
MSFT_ServerEventLog
MSFT_ServerFeature
MSFT_ServerInventory
MSFT_ServerManagerDeploymentError
MSFT_ServerManagerDeploymentTasks
MSFT_ServerManagerRequestGuid
MSFT_ServerManagerRequestState
MSFT_ServerManagerServerComponent
MSFT_ServerManagerServerComponentDescriptor
MSFT_ServerManagerTasks
MSFT_ServerNetworkAdapter
MSFT_ServerOperatingSystem
MSFT_ServerPerformanceCounterSamples
MSFT_ServerServiceDetail
MSFT_ServiceToMonitor
MSFT_SignatureValidation
MsftSil_Computer
MsftSil_ComputerIdentity
MsftSil_Data
MsftSil_ManagementTasks
MsftSil_Software
MsftSil_UalAccess
MsftSil_WindowsUpdate
MSFT_SmbBandwidthLimit
MSFT_SmbClientConfiguration
MSFT_SmbClientNetworkInterface
MSFT_SmbConnection
MSFT_SmbGlobalMapping
MSFT_SmbMapping
MSFT_SmbMultichannelConnection
MSFT_SmbMultichannelConstraint
MSFT_SmbOpenFile
MSFT_SmbServerCertificateMapping
MSFT_SmbServerConfiguration
MSFT_SmbServerNetworkInterface
MSFT_SmbSession
MSFT_SmbShare
MSFT_SmbShareAccessControlEntry
MSFT_SmbShareChangeEvent
MSFT_SmbWitnessClient
MSFT_SoftError
MSFT_SoftError_EmptyCache
MSFT_SoftError_NotAuthenticated
MSFT_SoftError_NotInCache
MSFT_SoftError_RelativePath
MSFT_SomFilter
MSFT_SomFilterStatus
MSFT_StorageAlertEvent
MSFT_StorageArrivalEvent
MSFT_StorageChassis
MSFT_StorageDepartureEvent
MSFT_StorageDiagnoseResult
MSFT_StorageEnclosure
MSFT_StorageEnclosureToPhysicalDisk
MSFT_StorageEvent
MSFT_StorageExtendedStatus
MSFT_StorageFaultDomain
MSFT_StorageFaultDomainToStorageFaultDomain
MSFT_StorageFaultEvent
MSFT_StorageHealth
MSFT_StorageHealthReport
MSFT_StorageHealthSetting
MSFT_StorageHealthStatusChangeEvent
MSFT_StorageJob
MSFT_StorageJobOutParams
MSFT_StorageJobToAffectedStorageObject
MSFT_StorageModificationEvent
MSFT_StorageNode
MSFT_StorageNodeToDisk
MSFT_StorageNodeToPhysicalDisk
MSFT_StorageNodeToStorageEnclosure
MSFT_StorageNodeToStoragePool
MSFT_StorageNodeToVirtualDisk
MSFT_StorageNodeToVolume
MSFT_StorageObject
MSFT_StoragePool
MSFT_StoragePoolToPhysicalDisk
MSFT_StoragePoolToResiliencySetting
MSFT_StoragePoolToStorageTier
MSFT_StoragePoolToVirtualDisk
MSFT_StoragePoolToVolume
MSFT_StorageProvider
MSFT_StorageProviderToStorageSubSystem
MSFT_StorageRack
MSFT_StorageReliabilityCounter
MSFT_StorageScaleUnit
MSFT_StorageSetting
MSFT_StorageSite
MSFT_StorageSubSystem
MSFT_StorageSubSystemToDisk
MSFT_StorageSubSystemToFileServer
MSFT_StorageSubSystemToFileShare
MSFT_StorageSubSystemToInitiatorId
MSFT_StorageSubSystemToMaskingSet
MSFT_StorageSubSystemToOffloadDataTransferSetting
MSFT_StorageSubSystemToPartition
MSFT_StorageSubSystemToPhysicalDisk
MSFT_StorageSubSystemToReplicaPeer
MSFT_StorageSubSystemToReplicationCapabilities
MSFT_StorageSubSystemToReplicationGroup
MSFT_StorageSubSystemToStorageEnclosure
MSFT_StorageSubSystemToStorageFaultDomain
MSFT_StorageSubSystemToStorageHealth
MSFT_StorageSubSystemToStorageNode
MSFT_StorageSubSystemToStoragePool
MSFT_StorageSubSystemToTargetPort
MSFT_StorageSubSystemToTargetPortal
MSFT_StorageSubSystemToVirtualDisk
MSFT_StorageSubSystemToVolume
MSFT_StorageTier
MSFT_Synchronized
MSFT_TargetPort
MSFT_TargetPortal
MSFT_TargetPortToTargetPortal
MSFT_TargetPortToVirtualDisk
MSFT_TaskAction
MSFT_TaskBootTrigger
MSFT_TaskComHandlerAction
MSFT_TaskDailyTrigger
MSFT_TaskDynamicInfo
MSFT_TaskEventTrigger
MSFT_TaskExecAction
MSFT_TaskIdleSettings
MSFT_TaskIdleTrigger
MSFT_TaskLogonTrigger
MSFT_TaskMaintenanceSettings
MSFT_TaskMonthlyDOWTrigger
MSFT_TaskMonthlyTrigger
MSFT_TaskNamedValue
MSFT_TaskNetworkSettings
MSFT_TaskPrincipal
MSFT_TaskPrincipal2
MSFT_TaskRegistrationTrigger
MSFT_TaskRepetitionPattern
MSFT_TaskSessionStateChangeTrigger
MSFT_TaskSettings
MSFT_TaskSettings2
MSFT_TaskSettings3
MSFT_TaskTimeTrigger
MSFT_TaskTrigger
MSFT_TaskWeeklyTrigger
MSFT_TcpIpPrinterPort
MsftUal_Admin
MsftUal_DailyAccess
MsftUal_DailyDeviceAccess
MsftUal_DailyUserAccess
MsftUal_DeviceAccess
MsftUal_Dns
MsftUal_HyperV
MsftUal_Overview
MsftUal_ServerDevice
MsftUal_ServerUser
MsftUal_SystemId
MsftUal_UserAccess
MSFT_VirtualDisk
MSFT_VirtualDiskToDisk
MSFT_VirtualDiskToPhysicalDisk
MSFT_VirtualDiskToReplicaPeer
MSFT_VirtualDiskToStorageFaultDomain
MSFT_VirtualDiskToStorageTier
MSFT_VirtualDiskToVirtualDisk
MSFT_Volume
MSFT_Volume_Repair_AsyncOutput
MSFT_VolumeToFileShare
MSFT_VpnConnection
MSFT_VsmIdkEncryptionCertificate
MSFT_VsmIdkSigningCertificate
MSFT_WdacBidTrace
MSFT_WdacBidTraceTask
MSFT_WebDownloadManager
MSFT_WebReportManager
MSFT_WebResourceManager
msftwindow
MSFT_WmiCancelNotificationSink
MSFT_WmiConsumerProviderEvent
MSFT_WmiConsumerProviderLoaded
MSFT_WmiConsumerProviderSinkLoaded
MSFT_WmiConsumerProviderSinkUnloaded
MSFT_WmiConsumerProviderUnloaded
MSFT_WmiError
MSFT_WmiEssEvent
MSFT_WmiFilterActivated
MSFT_WmiFilterDeactivated
MSFT_WmiFilterEvent
MSFT_WMI_GenericNonCOMEvent
Msft_WmiProvider_AccessCheck_Post
Msft_WmiProvider_AccessCheck_Pre
Msft_WmiProvider_CancelQuery_Post
Msft_WmiProvider_CancelQuery_Pre
Msft_WmiProvider_ComServerLoadOperationEvent
Msft_WmiProvider_ComServerLoadOperationFailureEvent
Msft_WmiProvider_Counters
Msft_WmiProvider_CreateClassEnumAsyncEvent_Post
Msft_WmiProvider_CreateClassEnumAsyncEvent_Pre
Msft_WmiProvider_CreateInstanceEnumAsyncEvent_Post
Msft_WmiProvider_CreateInstanceEnumAsyncEvent_Pre
Msft_WmiProvider_DeleteClassAsyncEvent_Post
Msft_WmiProvider_DeleteClassAsyncEvent_Pre
Msft_WmiProvider_DeleteInstanceAsyncEvent_Post
Msft_WmiProvider_DeleteInstanceAsyncEvent_Pre
MSFT_WmiProviderEvent
Msft_WmiProvider_ExecMethodAsyncEvent_Post
Msft_WmiProvider_ExecMethodAsyncEvent_Pre
Msft_WmiProvider_ExecQueryAsyncEvent_Post
Msft_WmiProvider_ExecQueryAsyncEvent_Pre
Msft_WmiProvider_GetObjectAsyncEvent_Post
Msft_WmiProvider_GetObjectAsyncEvent_Pre
Msft_WmiProvider_InitializationOperationEvent
Msft_WmiProvider_InitializationOperationFailureEvent
Msft_WmiProvider_LoadOperationEvent
Msft_WmiProvider_LoadOperationFailureEvent
Msft_WmiProvider_NewQuery_Post
Msft_WmiProvider_NewQuery_Pre
Msft_WmiProvider_OperationEvent
Msft_WmiProvider_OperationEvent_Post
Msft_WmiProvider_OperationEvent_Pre
Msft_WmiProvider_ProvideEvents_Post
Msft_WmiProvider_ProvideEvents_Pre
Msft_WmiProvider_PutClassAsyncEvent_Post
Msft_WmiProvider_PutClassAsyncEvent_Pre
Msft_WmiProvider_PutInstanceAsyncEvent_Post
Msft_WmiProvider_PutInstanceAsyncEvent_Pre
Msft_WmiProvider_UnLoadOperationEvent
MSFT_WmiRegisterNotificationSink
MSFT_WmiSelfEvent
MSFT_WmiThreadPoolEvent
MSFT_WmiThreadPoolThreadCreated
MSFT_WmiThreadPoolThreadDeleted
MSFT_WsdPrinterPort
MSFT_WUOperations
MSFT_WUSettings
MSFT_WUUpdate
msgbox.cpp
msgbox.h
msGlleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
msGlleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
MsgWaitForMultipleObjects
MsgWaitForMultipleObjectsEx
m_sharedMemory
m_sharedMemoryName
m_sharedMemorySizeEx
MSHTML.dll
MSIde_PortDeviceInfo
MSI_Detect_Synclet
MSI_Install_Synclet
msilogconfig.cpp
msilogconfig.h
MSIMG32.dll
msinahceMnoitacitnehtuAnyoJllA.nyoJllA.seciveD.swodniW
m_singlePaModels
MSI_Repair_Synclet
MSiSCSI_BootConfiguration
MSiSCSI_ConnectionStatistics
MSiSCSI_DiscoveryConfig
MSiSCSI_Eventlog
MSiSCSI_HBAInformation
MSiSCSI_HBASessionConfig
MSiSCSIInitiator_ConnectionInformation
MSiSCSIInitiator_DeviceOnSession
MSiSCSIInitiator_IKEPresharedKeyAuthenticationInfo
MSiSCSIInitiator_InitiatorClass
MSiSCSI_InitiatorInstanceFailureEvent
MSiSCSI_InitiatorInstanceStatistics
MSiSCSIInitiator_iSNSServerClass
MSiSCSI_InitiatorLoginStatistics
MSiSCSIInitiator_LUNList
MSiSCSIInitiator_MethodClass
MSiSCSI_InitiatorNodeFailureEvent
MSiSCSIInitiator_PersistentDevices
MSiSCSIInitiator_PersistentLoginClass
MSiSCSIInitiator_Portal
MSiSCSIInitiator_PortalGroup
MSiSCSIInitiator_SendTargetPortalClass
MSiSCSIInitiator_SessionClass
MSiSCSI_InitiatorSessionInfo
MSiSCSIInitiator_TargetAddress
MSiSCSIInitiator_TargetClass
MSiSCSIInitiator_TargetLoginOptions
MSiSCSIInitiator_TargetMappings
MSiSCSI_LB_Operations
MSiSCSI_ManagementOperations
MSiSCSI_MMIPSECStats
MSiSCSI_NICConfig
MSiSCSI_NICPerformance
MSiSCSI_PortalInfoClass
MSiSCSI_QMIPSECStats
MSiSCSI_QueryLBPolicy
MSiSCSI_RADIUSConfig
MSiSCSI_RedirectPortalInfoClass
MSiSCSI_RequestTimeStatistics
MSiSCSI_SecurityCapabilities
MSiSCSI_SessionStatistics
MSiSCSI_TCPIPConfig
msIso.dll
MSI_Uninstall_Synclet
MSKeyboard_ClassInformation
MSKeyboard_ExtendedID
MSKeyboard_PortInformation
_msLatency
MSLSA_LookupIsolatedNameInTrustedDomains
MSLSA_LookupIsolatedNameInTrustedDomains_TypeGroup1
MSMCAEvent_BusError
MSMCAEvent_CPUError
MSMCAEvent_Header
MSMCAEvent_InvalidError
MSMCAEvent_MemoryError
MSMCAEvent_MemoryHierarchyError
MSMCAEvent_MemoryPageRemoved
MSMCAEvent_PCIBusError
MSMCAEvent_PCIComponentError
MSMCAEvent_PlatformSpecificError
MSMCAEvent_SMBIOSError
MSMCAEvent_SwitchToCMCPolling
MSMCAEvent_SwitchToCPEPolling
MSMCAEvent_SystemEventError
MSMCAEvent_TLBError
MSMCAInfo_Entry
MSMCAInfo_RawCMCEvent
MSMCAInfo_RawCorrectedPlatformEvent
MSMCAInfo_RawMCAData
MSMCAInfo_RawMCAEvent
MSMouse_ClassInformation
MSMouse_PortInformation
MSNdis_80211_AddWEP
MSNdis_80211_AuthenticationMode
MSNdis_80211_BaseServiceSetIdentifier
MSNdis_80211_BssIdListScan
MSNdis_80211_BSSIList
MSNdis_80211_Configuration
MSNdis_80211_ConfigurationFH
MSNdis_80211_ConfigurationInfo
MSNdis_80211_DataRates
MSNdis_80211_DesiredDataRates
MSNdis_80211_Disassociate
MSNdis_80211_FragmentationThreshold
MSNdis_80211_InfrastructureMode
MSNdis_80211_NetworkInfrastructure
MSNdis_80211_NetworkType
MSNdis_80211_NetworkTypeInUse
MSNdis_80211_NetworkTypesSupported
MSNdis_80211_NumberOfAntennas
MSNdis_80211_PowerMode
MSNdis_80211_PrivacyFilter
MSNdis_80211_ReceiveAntennaSelected
MSNdis_80211_ReceivedSignalStrength
MSNdis_80211_ReceivedSignalStrengthEventTrigger
MSNdis_80211_ReloadDefaults
MSNdis_80211_RemoveWEP
MSNdis_80211_RTSThreshold
MSNdis_80211_ServiceSetIdentifier
MSNdis_80211_Statistics
MSNdis_80211_TransmitAntennaSelected
MSNdis_80211_TransmitPowerLevel
MSNdis_80211_WEPStatus
MSNdis_80211_WLanBssId
MSNdis_AtmHardwareCurrentAddress
MSNdis_AtmMaxAal0PacketSize
MSNdis_AtmMaxAal1PacketSize
MSNdis_AtmMaxAal34PacketSize
MSNdis_AtmMaxAal5PacketSize
MSNdis_AtmMaxActiveVciBits
MSNdis_AtmMaxActiveVcs
MSNdis_AtmMaxActiveVpiBits
MSNdis_AtmReceiveCellsDropped
MSNdis_AtmReceiveCellsOk
MSNdis_AtmSupportedAalTypes
MSNdis_AtmSupportedServiceCategory
MSNdis_AtmSupportedVcRates
MSNdis_AtmTransmitCellsOk
MSNdis_CoDriverVersion
MSNdis_CoHardwareStatus
MSNdis_CoLinkSpeed
MSNdis_CoMacOptions
MSNdis_CoMediaConnectStatus
MSNdis_CoMediaInUse
MSNdis_CoMediaSupported
MSNdis_CoMinimumLinkSpeed
MSNdis_CoReceivePduErrors
MSNdis_CoReceivePdusNoBuffer
MSNdis_CoReceivePdusOk
MSNdis_CoTransmitPduErrors
MSNdis_CoTransmitPdusOk
MSNdis_CountedString
MSNdis_CoVendorDescription
MSNdis_CoVendorDriverVersion
MSNdis_CoVendorId
MSNdis_CurrentLookahead
MSNdis_CurrentPacketFilter
MSNdis_DeviceWakeOnMagicPacketOnly
MSNdis_DriverVersion
MSNdis_EnumerateAdapter
MSNdis_EnumerateAdapterEx
MSNdis_EnumeratePorts
MSNdis_EnumerateReceiveFilters
MSNdis_EnumerateReceiveQueues
MSNdis_EthernetCurrentAddress
MSNdis_EthernetMacOptions
MSNdis_EthernetMaximumMulticastListSize
MSNdis_EthernetMoreTransmitCollisions
MSNdis_EthernetMulticastList
MSNdis_EthernetOneTransmitCollision
MSNdis_EthernetPermanentAddress
MSNdis_EthernetReceiveErrorAlignment
MSNdis_FddiAttachmentType
MSNdis_FddiDownstreamNodeLong
MSNdis_FddiFrameErrors
MSNdis_FddiFramesLost
MSNdis_FddiLConnectionState
MSNdis_FddiLctFailures
MSNdis_FddiLemRejects
MSNdis_FddiLongCurrentAddress
MSNdis_FddiLongMaximumListSize
MSNdis_FddiLongMulticastList
MSNdis_FddiLongPermanentAddress
MSNdis_FddiRingManagmentState
MSNdis_FddiShortCurrentAddress
MSNdis_FddiShortMaximumListSize
MSNdis_FddiShortMulticastList
MSNdis_FddiShortPermanentAddress
MSNdis_FddiUpstreamNodeLong
MSNdis_GroupAffinity
MSNdis_HardwareStatus
MSNdis_HDSplitCurrentConfig
MSNdis_HDSplitParameters
MSNdis_InterruptModerationParameters
MSNdis_LinkParameters
MSNdis_LinkSpeed
MSNdis_LinkState
MSNdis_LinkStateData
MSNdis_MacOptions
MSNdis_MaximumFrameSize
MSNdis_MaximumLookahead
MSNdis_MaximumSendPackets
MSNdis_MaximumTotalSize
MSNdis_MediaConnectStatus
MSNdis_MediaInUse
MSNdis_MediaSupported
MSNdis_NdisEnumerateVc
MSNdis_NetworkAddress
MSNdis_NetworkDirectAdapterCapabilities
MSNdis_NetworkDirectAdapterInfo
MSNdis_NetworkDirectCapabilities
MSNdis_NetworkDirectState
MSNdis_NetworkDirectVersion
MSNdis_NetworkLinkSpeed
MSNdis_NetworkShortAddress
MSNdis_NicSwitchCapabilities
MSNdis_NotifyAdapterArrival
MSNdis_NotifyAdapterRemoval
MSNdis_NotifyFilterArrival
MSNdis_NotifyFilterRemoval
MSNdis_NotifyVcArrival
MSNdis_NotifyVcRemoval
MSNdis_ObjectHeader
MSNdis_PciDeviceProperty
MSNdis_PhysicalMediumType
MSNdis_PMAdminConfig
MSNdis_PMAdminConfigParam
MSNdis_PMAdminConfigState
MSNdis_PMCapabilities
MSNdis_PMCapabilitiesParam
MSNdis_PMCapabilityState
MSNdis_PortArray
MSNdis_PortAuthParameters
MSNdis_PortChar
MSNdis_PortStateData
MSNdis_QueryInterruptModeration
MSNdis_QueryNicSwitchCurrentCapabilities
MSNdis_QueryNicSwitchHardwareCapabilities
MSNdis_QueryPciDeviceCustomProperty
MSNdis_QueryPhysicalMediumTypeEx
MSNdis_QueryPortState
MSNdis_QueryReceiveFilterCurrentCapabilities
MSNdis_QueryReceiveFilterGlobalParameters
MSNdis_QueryReceiveFilterHardwareCapabilities
MSNdis_QueryReceiveFilterParameters
MSNdis_QueryReceiveQueueParameters
MSNdis_QueryStatisticsInfo
MSNdis_ReceiveBlockSize
MSNdis_ReceiveBufferSpace
MSNdis_ReceiveError
MSNdis_ReceiveFilterCapabilities
MSNdis_ReceiveFilterFieldParameters
MSNdis_ReceiveFilterGlobalParameters
MSNdis_ReceiveFilterInfo
MSNdis_ReceiveFilterInfoArray
MSNdis_ReceiveFilterParameters
MSNdis_ReceiveNoBuffer
MSNdis_ReceiveQueueInfo
MSNdis_ReceiveQueueInfoArray
MSNdis_ReceiveQueueParameters
MSNdis_ReceiveScaleCapabilities
MSNdis_ReceivesOk
MSNdis_RSSEnabled
MSNdis_SetHDSplitParameters
MSNdis_SetInterruptModeration
MSNdis_SetLinkParameters
MSNdis_SetPortParameters
MSNdis_SetTcpOffloadParameters
MSNdis_StatisticsInfo
MSNdis_StatusDevicePowerOff
MSNdis_StatusDevicePowerOffEx
MSNdis_StatusDevicePowerOn
MSNdis_StatusDevicePowerOnEx
MSNdis_StatusDot11AssociationCompletion
MSNdis_StatusDot11AssociationStart
MSNdis_StatusDot11ConnectionCompletion
MSNdis_StatusDot11ConnectionStart
MSNdis_StatusDot11Disassociation
MSNdis_StatusDot11LinkQuality
MSNdis_StatusDot11MPDUMaxLengthChange
MSNdis_StatusDot11PhyStateChange
MSNdis_StatusDot11PmkidCandidateList
MSNdis_StatusDot11RoamingCompletion
MSNdis_StatusDot11RoamingStart
MSNdis_StatusDot11ScanConfirm
MSNdis_StatusDot11TkipmicFailure
MSNdis_StatusExternalConnectivityChange
MSNdis_StatusHDSplitCurrentConfig
MSNdis_StatusLinkSpeedChange
MSNdis_StatusLinkState
MSNdis_StatusMediaConnect
MSNdis_StatusMediaDisconnect
MSNdis_StatusMediaSpecificIndication
MSNdis_StatusMediaSpecificIndicationEx
MSNdis_StatusNetworkChange
MSNdis_StatusOperationalStatus
MSNdis_StatusPacketFilterChange
MSNdis_StatusPortState
MSNdis_StatusProtocolBind
MSNdis_StatusProtocolUnbind
MSNdis_StatusResetEnd
MSNdis_StatusResetStart
MSNdis_StatusTaskOffloadChange
MSNdis_TcpConnectionOffloadCurrentConfig
MSNdis_TcpConnectionOffloadHardwareConfig
MSNdis_TcpOffloadCurrentConfig
MSNdis_TcpOffloadHardwareConfig
MSNdis_TcpOffloadParameters
MSNdis_TokenRingCurrentAddress
MSNdis_TokenRingCurrentFunctional
MSNdis_TokenRingCurrentGroup
MSNdis_TokenRingCurrentRingState
MSNdis_TokenRingCurrentRingStatus
MSNdis_TokenRingLastOpenStatus
MSNdis_TokenRingLineErrors
MSNdis_TokenRingLostFrames
MSNdis_TokenRingPermanentAddress
MSNdis_TransmitBlockSize
MSNdis_TransmitBufferSpace
MSNdis_TransmitsError
MSNdis_TransmitsOk
MSNdis_VendorDescription
MSNdis_VendorDriverVersion
MSNdis_VendorID
MSNdis_VlanIdentifier
MSNdis_WmiEnumAdapter
MSNdis_WmiHDSplitCurrentConfig
MSNdis_WmiIPSecOffloadV1
MSNdis_WmiIPSecOffloadV1_IPv4AH
MSNdis_WmiIPSecOffloadV1_IPv4ESP
MSNdis_WmiIPSecOffloadV1_Supported
MSNdis_WmiMethodHeader
MSNdis_WmiOffload
MSNdis_WmiOutputInfo
MSNdis_WmiReceiveScaleCapabilities
MSNdis_WmiSetHeader
MSNdis_WmiTcpConnectionOffload
MSNdis_WmiTcpIpChecksumOffload
MSNdis_WmiTcpIpChecksumOffload_IPv4TransmitReceive
MSNdis_WmiTcpIpChecksumOffload_IPv6TransmitReceive
MSNdis_WmiTcpLargeSendOffloadV1
MSNdis_WmiTcpLargeSendOffloadV1_IPv4
MSNdis_WmiTcpLargeSendOffloadV2
MSNdis_WmiTcpLargeSendOffloadV2_IPv4
MSNdis_WmiTcpLargeSendOffloadV2_IPv6
MSNT_CKCLTraceProvider
MSNT_FileBaseTrace_OptionalData
MSNT_FileBaseTrace_Set1
MSNT_FileBaseTrace_Set2
MSNT_FileBaseTrace_VolumeToLog
MSNT_SystemTrace
MSParallel_AllocFreeCounts
MSParallel_DeviceBytesTransferred
MSPower_DeviceEnable
MSPower_DeviceWakeEnable
MS Protected Media Test Root
MSP specified more than once
MSRedbook_DriverInformation
MSRedbook_Performance
MSR specified more than once
MSSerial_CommInfo
MSSerial_CommProperties
MSSerial_HardwareConfiguration
MSSerial_PerformanceInformation
MSSerial_PortName
MSSignedWinLoadDriverLoadSuccessAudit
MS_SM_AdapterEvent
MS_SM_AdapterInformationQuery
MS_SmBios
MSSmBios_RawSMBiosTables
MSSmBios_SMBiosEventlog
MSSmBios_Sysid1394
MSSmBios_Sysid1394List
MSSmBios_SysidUUID
MSSmBios_SysidUUIDList
MS_SM_EventControl
MS_SM_FabricAndDomainManagementMethods
MS_SM_HbaApiVersion
MS_SMHBA_BINDINGENTRY
MS_SMHBA_FC_PHY
MS_SMHBA_FC_Port
MS_SMHBA_PORTATTRIBUTES
MS_SMHBA_PORTLUN
MS_SMHBA_PROTOCOLSTATISTICS
MS_SMHBA_SAS_PHY
MS_SMHBA_SASPHYSTATISTICS
MS_SMHBA_SAS_Port
MS_SMHBA_SCSIENTRY
MS_SM_PortEvent
MS_SM_PortInformationMethods
MS_SM_ScsiInformationMethods
MS_SM_TargetEvent
MS_SM_TargetInformationMethods
m_sstEvent
MSStorageDriver_ATAPISmartData
MSStorageDriver_ClassErrorLog
MSStorageDriver_ClassErrorLogEntry
MSStorageDriver_FailurePredictData
MSStorageDriver_FailurePredictEvent
MSStorageDriver_FailurePredictFunction
MSStorageDriver_FailurePredictStatus
MSStorageDriver_FailurePredictThresholds
MSStorageDriver_ScsiInfoExceptions
MSStorageDriver_ScsiRequestBlock
MSStorageDriver_SenseData
MS_SystemInformation
m_stageConfigComposers
m_stageConfigurations
m_stateMachine
m_stateReader
m_statisticsReaders
m_status
m_statusLength
m_statusPtr
m_stopLoggingThread
m_storageDir
m_storageManager
m_storageProvider
m_storageProviders
m_storageProvidersFactory
m_storageProvidersManager
m_storege
m_streamAction
m_streamAndNotificationReader
m_streamAndNotificationsManager
m_streamConfigurators
m_streamController
m_streamingManagerFactory
m_streamReader
m_streamState
m_streamStateLock
m_subscribeStrategy
MSV1_0DebugTrace
MSV1_0Trace
msvcp110_win.dll
MSVCP140.dll
msvcp_win.dll
msvcrt.dll
Msvm_AbstractResourcePoolSettingData
Msvm_ActiveConnection
Msvm_AffectedJobElement
Msvm_AffectedStorageJobElement
Msvm_AggregationMetricDefinition
Msvm_AggregationMetricValue
Msvm_AllocationCapabilities
Msvm_AssignableDeviceDismountSettingData
Msvm_AssignableDeviceService
Msvm_BasedOn
Msvm_BaseMetricDefinition
Msvm_BaseMetricValue
Msvm_Battery
Msvm_BatterySettingData
Msvm_BindsToLANEndpoint
Msvm_BIOSElement
Msvm_BootSourceComponent
Msvm_BootSourceSettingData
Msvm_ClusterV2ElementConformsToProfile
Msvm_CollectedCollections
Msvm_CollectedReferencePoints
Msvm_CollectedSnapshots
Msvm_CollectedVirtualSystems
Msvm_CollectionManagementService
Msvm_CollectionRecoveryPoint
Msvm_CollectionReferencePointExportJob
Msvm_CollectionReferencePointExportSettingData
Msvm_CollectionReferencePointService
Msvm_CollectionReferencePointSettingData
Msvm_CollectionReplicationService
Msvm_CollectionReplicationSettingData
Msvm_CollectionReplicationStatistics
Msvm_CollectionSettingData
Msvm_CollectionSnapshotExportSettingData
Msvm_CollectionSnapshotService
Msvm_CompatibilityVector
Msvm_ComponentCS
Msvm_ComputerSystem
Msvm_ComputerSystemSummaryInformation
Msvm_ConcreteComponent
Msvm_ConcreteDependency
Msvm_ConcreteIdentity
Msvm_ConcreteJob
Msvm_ControlledBy
Msvm_CopyFileToGuestJob
Msvm_CopyFileToGuestSettingData
Msvm_DeviceSAPImplementation
Msvm_DiskDrive
Msvm_DisketteController
Msvm_DisketteDrive
Msvm_DiskMergeSettingData
Msvm_DVDDrive
Msvm_DynamicForwardingEntry
Msvm_ElementAllocatedFromNumaNode
Msvm_ElementAllocatedFromPool
Msvm_ElementCapabilities
Msvm_ElementConformsToProfile
Msvm_ElementSettingData
Msvm_EmulatedEthernetPort
Msvm_EmulatedEthernetPortSettingData
Msvm_Error
Msvm_EthernetDeviceSAPImplementation
Msvm_EthernetPortAllocationSettingData
Msvm_EthernetPortData
Msvm_EthernetPortFailoverSettingDataComponent
Msvm_EthernetPortInfo
Msvm_EthernetPortSettingDataComponent
Msvm_EthernetSwitchBandwidthData
Msvm_EthernetSwitchData
Msvm_EthernetSwitchExtension
Msvm_EthernetSwitchExtensionCapabilities
Msvm_EthernetSwitchFeatureCapabilities
Msvm_EthernetSwitchFeatureSettingData
Msvm_EthernetSwitchHardwareOffloadData
Msvm_EthernetSwitchHardwareOffloadSettingData
Msvm_EthernetSwitchInfo
Msvm_EthernetSwitchOperationalData
Msvm_EthernetSwitchPort
Msvm_EthernetSwitchPortAclSettingData
Msvm_EthernetSwitchPortBandwidthData
Msvm_EthernetSwitchPortBandwidthSettingData
Msvm_EthernetSwitchPortExtendedAclSettingData
Msvm_EthernetSwitchPortFeatureSettingData
Msvm_EthernetSwitchPortIsolationSettingData
Msvm_EthernetSwitchPortOffloadData
Msvm_EthernetSwitchPortOffloadSettingData
Msvm_EthernetSwitchPortProfileSettingData
Msvm_EthernetSwitchPortRdmaSettingData
Msvm_EthernetSwitchPortRoutingDomainSettingData
Msvm_EthernetSwitchPortSecuritySettingData
Msvm_EthernetSwitchPortTeamMappingSettingData
Msvm_EthernetSwitchPortVlanSettingData
Msvm_ExternalEthernetPort
Msvm_ExternalEthernetPortCapabilities
Msvm_ExternalFcPort
Msvm_FailoverIndication
Msvm_FailoverNetworkAdapterSettingData
Msvm_FcActiveConnection
Msvm_FcDeviceSAPImplementation
Msvm_FcEndpoint
Msvm_FcPortAllocationSettingData
Msvm_FcSwitchPort
Msvm_FeatureSettingData
Msvm_FeatureSettingsDefineCapabilities
Msvm_FlexIoDevice
Msvm_FlexIoDeviceSettingData
Msvm_GpuPartition
Msvm_GpuPartitionSettingData
Msvm_GuestClusterInformation
Msvm_GuestCommunicationService
Msvm_GuestCommunicationServiceSettingData
Msvm_GuestFileService
Msvm_GuestNetworkAdapterConfiguration
Msvm_GuestService
Msvm_GuestServiceInterfaceComponent
Msvm_GuestServiceInterfaceComponentSettingData
Msvm_GuestServiceInterfaceSettingDataComponent
Msvm_HeartbeatComponent
Msvm_HeartbeatComponentSettingData
Msvm_HostedDependency
Msvm_HostedEthernetSwitchExtension
Msvm_HostedResourcePool
Msvm_HostedService
Msvm_HostedSwitchService
Msvm_IDEController
Msvm_ImageManagementService
Msvm_InstalledEthernetSwitchExtension
Msvm_InteractiveSessionACE
Msvm_InternalEthernetPort
Msvm_Keyboard
Msvm_KvpExchangeComponent
Msvm_KvpExchangeComponentSettingData
Msvm_KvpExchangeDataItem
Msvm_LANEndpoint
Msvm_LastAppliedSnapshot
Msvm_LogicalDisk
Msvm_LogicalIdentity
Msvm_ManagementCollection
Msvm_MediaPresent
Msvm_MemberOfCollection
Msvm_Memory
Msvm_MemorySettingData
Msvm_MetricCollectionDependency
Msvm_MetricDefForME
Msvm_MetricForME
Msvm_MetricInstance
Msvm_MetricService
Msvm_MetricServiceCapabilities
Msvm_MetricServiceSettingData
Msvm_MigrationJob
Msvm_MostCurrentSnapshotInBranch
Msvm_MountedStorageImage
Msvm_MoveUnmanagedVhd
Msvm_NetworkConnectionDiagnosticInformation
Msvm_NetworkConnectionDiagnosticSettingData
Msvm_NumaNode
Msvm_NumaNodeTopology
Msvm_OwningJobElement
Msvm_ParentChildSettingData
Msvm_ParentEthernetSwitchExtension
Msvm_PartitionableGpu
Msvm_PciExpress
Msvm_PciExpressSettingData
Msvm_PersistentMemoryController
Msvm_Physical3dGraphicsProcessor
Msvm_PhysicalGPUInfo
Msvm_PlannedComputerSystem
Msvm_Processor
Msvm_ProcessorPool
Msvm_ProcessorSettingData
Msvm_ProtocolControllerForUnit
Msvm_Ps2Mouse
Msvm_RdvComponent
Msvm_RdvComponentSettingData
Msvm_RecoveryPointOfVirtualSystemCollection
Msvm_RedundancySet
Msvm_ReferencedProfile
Msvm_ReferencePointCollection
Msvm_ReferencePointOfVirtualSystem
Msvm_ReferencePointOfVirtualSystemCollection
Msvm_RegisteredGuestService
Msvm_RegisteredProfile
Msvm_ReplicaCollectionDependency
Msvm_ReplicaSystemDependency
Msvm_ReplicationAuthorizationSettingData
Msvm_ReplicationProvider
Msvm_ReplicationRelationship
Msvm_ReplicationService
Msvm_ReplicationServiceSettingData
Msvm_ReplicationSettingData
Msvm_ReplicationStatistics
Msvm_ResourceAllocationFromPool
Msvm_ResourceAllocationSettingData
Msvm_ResourceDependentOnResource
Msvm_ResourcePool
Msvm_ResourcePoolConfigurationCapabilities
Msvm_ResourcePoolConfigurationService
Msvm_ResourcePoolSettingData
Msvm_S3DisplayController
Msvm_SCSIProtocolController
Msvm_SecurityElement
Msvm_SecurityService
Msvm_SecuritySettingData
Msvm_SerialController
Msvm_SerialPort
Msvm_SerialPortOnSerialController
Msvm_SerialPortSettingData
Msvm_ServiceAffectsElement
Msvm_ServiceOfVssComponent
Msvm_ServicingSettings
Msvm_SettingDataComponent
Msvm_SettingsDefineCapabilities
Msvm_SettingsDefineState
Msvm_SharedDiskSetReplicationRelationship
Msvm_SharedDiskSetReplicationRelationshipOfVirtualSystemCollection
Msvm_ShutdownComponent
Msvm_ShutdownComponentSettingData
Msvm_SnapshotCollection
Msvm_SnapshotOfVirtualSystem
Msvm_SnapshotOfVirtualSystemCollection
Msvm_StandaloneV2ElementConformsToProfile
Msvm_StorageAlert
Msvm_StorageAllocationSettingData
Msvm_StorageJob
Msvm_StorageSettingData
Msvm_SummaryInformation
Msvm_SummaryInformationBase
Msvm_SwitchPortDynamicForwarding
Msvm_Synth3dVideoPool
Msvm_Synthetic3DDisplayController
Msvm_Synthetic3DDisplayControllerSettingData
Msvm_Synthetic3DService
Msvm_Synthetic3DServiceSettingData
Msvm_SyntheticDisplayController
Msvm_SyntheticDisplayControllerSettingData
Msvm_SyntheticEthernetPort
Msvm_SyntheticEthernetPortSettingData
Msvm_SyntheticFcPort
Msvm_SyntheticFcPortSettingData
Msvm_SyntheticKeyboard
Msvm_SyntheticMouse
Msvm_SystemBIOS
Msvm_SystemComponent
Msvm_SystemComponentSettingData
Msvm_SystemDevice
Msvm_SystemExportSettingData
Msvm_SystemReplicationRelationship
Msvm_SystemTerminalConnection
Msvm_TerminalConnection
Msvm_TerminalService
Msvm_TerminalServiceSettingData
Msvm_TimeSyncComponent
Msvm_TimeSyncComponentSettingData
Msvm_TPM
Msvm_TransparentBridgingDynamicForwarding
Msvm_TransparentBridgingService
Msvm_VHDSetInformation
Msvm_VHDSnapshotInformation
Msvm_VideoHead
Msvm_VideoHeadOnController
Msvm_VirtualEthernetSwitch
Msvm_VirtualEthernetSwitchBandwidthSettingData
Msvm_VirtualEthernetSwitchManagementCapabilities
Msvm_VirtualEthernetSwitchManagementService
Msvm_VirtualEthernetSwitchNicTeamingMember
Msvm_VirtualEthernetSwitchNicTeamingSettingData
Msvm_VirtualEthernetSwitchSettingData
Msvm_VirtualEthernetSwitchSettingDataComponent
Msvm_VirtualFcSwitch
Msvm_VirtualFcSwitchSettingData
Msvm_VirtualHardDiskSettingData
Msvm_VirtualHardDiskState
Msvm_VirtualLogicalUnitSettingData
Msvm_VirtualMachineToDisks
Msvm_VirtualSystemCapabilities
Msvm_VirtualSystemCollection
Msvm_VirtualSystemExportSettingData
Msvm_VirtualSystemManagementCapabilities
Msvm_VirtualSystemManagementService
Msvm_VirtualSystemManagementServiceSettingData
Msvm_VirtualSystemMigrationCapabilities
Msvm_VirtualSystemMigrationNetworkSettingData
Msvm_VirtualSystemMigrationService
Msvm_VirtualSystemMigrationServiceSettingData
Msvm_VirtualSystemMigrationServiceSettingDataComponent
Msvm_VirtualSystemMigrationSettingData
Msvm_VirtualSystemReferencePoint
Msvm_VirtualSystemReferencePointExportJob
Msvm_VirtualSystemReferencePointExportSettingData
Msvm_VirtualSystemReferencePointService
Msvm_VirtualSystemReferencePointSettingData
Msvm_VirtualSystemSettingData
Msvm_VirtualSystemSettingDataComponent
Msvm_VirtualSystemSnapshotService
Msvm_VirtualSystemSnapshotSettingData
Msvm_VLANEndpoint
Msvm_VssComponent
Msvm_VssComponentSettingData
Msvm_VssService
Msvm_WiFiDeviceSAPImplementation
Msvm_WiFiEndpoint
Msvm_WiFiPort
MSWIN4.1
MSWmi_Guid
MSWmi_GuidRegistrationInfo
MS_WmiInternal
MSWmi_MofData
MSWmi_PnPDeviceId
MSWmi_PnPInstanceNames
MSWmi_ProviderInfo
MSWSOCK.dll
Msxml2.DOMDocument.6.0
Msxml2.XMLSchemaCache.6.0
m_syncCalls
m_syncEventTypeObject
m_syncObj
m_syncWoVAPIMode
msystemcmd.cpp
msystemcmd.h
MTAThreadAttribute
m_tempBuffer
m_temporaryConfiguration
m_timeoutFlush
m_timerDueTime
m_triggersDictionary
_Mtx_current_owns
_Mtx_destroy_in_situ
_Mtx_init_in_situ
_Mtx_lock
_Mtx_unlock
mtypecmd.cpp
mtypecmd.h
mublA.aideM.krowemarF.anX.tfosorciM
mublAerutciP.aideM.krowemarF.anX.tfosorciM
muideMegarotStropmIotohPI.tropmI.aideM.swodniW
muideMegarotStropmIotohP.tropmI.aideM.swodniW
muiResourceFileName
MuiTraceData_String
_mulitPaSetupProxyImplementation
multi(0)disk(0)
MultiByteToWideChar
MultiByteToWideChar failed
MulticastDelegate
MULTICHANNELWOV_SID_DATA_PROCESSING_DETERMINISTIC
MULTICHANNELWOV_SID_DATA_PROCESSING_MAX_COUNT
MULTICHANNELWOV_SID_DATA_PROCESSING_NONDETERMINISTIC
MULTICHANNELWOV_SID_DATA_PROCESSING_NONE
MultiChannelWoVSidInternalDataProcessingType
MultiChannelWovStatusCode
MULTICHANNELWOV_STATUS_INVALID_CONFIGURATION
MULTICHANNELWOV_STATUS_INVALID_VALUE
MULTICHANNELWOV_STATUS_NO_RESOURCES
MULTICHANNELWOV_STATUS_OK
MULTICHANNELWOV_STATUS_OPERATION_FAILED
MultiChip Package
multicwd
multiDraw
multiDrawIndirect
multiloadtask.cpp
multiloadtask.h
MultiPaAlreadySubscribed
MultiPaAnotherEnrollmentSessionInProgress
MultiPaAssistantNotSubscribed
MultiPaComCommunicationError
MultiPaDirectoryName
MultiPaDspPackageSizeExceeded
MultiPaEnrollmentProcessNotStarted
MultiPaEnrollmentSessionNotStarted
MultiPaErrorCallNotSupportedInMvaMode
MultiPaErrorModelsNotGenerated
MultiPaGenericError
MultiPaInsufficentNumberOfUtterances
MultiPaInvalidArgument
MultiPaKeyPhraseNotFound
MultiPaLanguageMismatch
MultiPaLanguageNotSupported
_multiPaLanguages
MultiPaMaxUtterancesCountExceeded
MultiPaModelIdAlreadyAdded
MultiPaModelIdAlreadyInUse
MultiPaModelNotRegistered
MultiPaModelOutdated
MultiPaModelsDirectory
MultiPaModelVersionDoesNotMatch
MultiPaNotAvailableForAlreadySubscribedAssistant
MultiPaParameterHandler
MultiPaPdtModelNotRegistered
MultiPaPdtPackageMissing
MultiPaPoorQuality
MultiPaRpcCommunicationError
MultiPaSetupErrorCodes
MultiPaSetupParameter
MultiPaSetupParameterAttribute
_multiPaSetupProxy
MultiPaSetupProxyFactory
MultiPaSidModelNotFound
MultiPaSidModelsCountLimitExceeded
MultiPaSuccess
MultiPaSvModelNotFound
MultiPaUdtModelNotFound
MultiPaUdtModelNotRegistered
MultiPaUdtModelValidationFailed
MultiPaUnknownAppId
MultiPaUnknownLanguageId
MultiPaUnknownParameterId
MultiPaUnknownSpeakerModelId
MultiPaWovCfgBlobHeader
?MultipleClick@TouchButton@DirectUI@@SA?AVUID@@XZ
MultipleInstanceException
Multiplexed connection found
MultiplexedData
multiplexed_format_
_multiplier
MultiplyProcessWorkingSetSize
multirangehttprequestprocessor.cpp
multirangerequestprocessor.cpp
multisampleArrayImage
MultiSSL
multi_stream
multiview
multiviewGeometryShader
multiViewport
multiviewTessellationShader
munEderiuqeRdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
munEdniKdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
munEdniKggA.scitnameS.redniBemitnuR.prahSC.tfosorciM
munEerutangiSdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
munEnoitnevnoCgnillaCdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
munEsetubirttAtxeTnoitamotuA.lmaX.IU.swodniW
munEtseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
m_unregisterPdtDelegate
m_unregisterUdtDelegate
muoptin.cpp
muoptin.h
murtcepSroloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
murtcepSroloC.sevitimirP.slortnoC.lmaX.IU.swodniW
 must have member '
 must have string member '
' must not begin with '0'
Must read .netrc for user name and password
Must specify the event type and KPE instance
mutableComparisonSamplers
_mutableDirPath
_mutableStorageDir
MutexAccessRule
mutex.cpp
Mutex::Mutex()
MutexRights
MutexSecurity
mutsurFgnidnuoB.krowemarF.anX.tfosorciM
mutsurFgnidnuoBlaitapS.laitapS.noitpecreP.swodniW
mutualauth.cpp
MuxlessSchemeWWW
MvaIntelClientProxyDecorator
_mvaMode
MvaModeParameter
MvaMultiPaSetupProxyDecorator
m_visitor
!MwcbjjZb(
m	wcscpy_s
m_wovApiMode
m_wovConfigLock
m_wovConfiguration
m_wovEvent
m_wovFeatureSupported
m_wovHandle
m_wovMode
m_wovModelsController
m_wovSdk
m_wovSdkControl
m_wovSessionManager
m_writeOffset
MXD specified greater than maximum allowed (ULONG_MAX)
MXD specified more than once
mXH!]HH!]PH!] H!](H!]0!]
myseqlog.cpp
myseqlog.h
myxmldocument.cpp
myxmldocument.h
n4yGUf7Vbg
N 9H t[H
naelooBrosneT.gninraeLenihcaM.IA.swodniW
naelooBrosneTI.gninraeLenihcaM.IA.swodniW
nalPevitcA.evitcaeR.enohP.tfosorciM
Named Arguments Collection Object InterfaceWWW-
Named Arguments Collection ObjectW#
NamedCallContextActivity
NamedDependency
Name     Description          Domain   Priority Capability Type               
_namedPipeClient
NamedPipeClient
NamedPipeResponder
NamedPipeServer
NamedPipeServerStream
NamedWWW
namemapper.h
namemappers.cpp
namemappers.h
namemappers_mock.cpp
namemappers_mocks.h
namemappers_test.cpp
NAME parameter must be present
_namePrefix
namespace.cpp
namespacefactory.cpp
namespace.h
namespace_impl.cpp
namespace_impl.h
namespace_impl_mock.cpp
namespace_impl_mock.h
Namespace was longer than the hit name
NameSubsystem
Name                      Tag  Size Allocs       Frees        Inuse        Bytes    
NameTarget
Name too long
?name@type_info@@QEBAPEBDXZ
Name Use
NameValueCollection
nan(ind)
NAN(IND)
nan(snan)
NAN(SNAN)
napSemiT.noitadnuoF.swodniW
napSI.stnemucoD.lmaX.IU.swodniW
napS.stnemucoD.lmaX.IU.swodniW
napSyrotsiHerotseRtahC.tahC.ledoMnoitacilppA.swodniW
narrator
NARROW_GAMUT_ERROR_CODESh
NARROW_GAMUT_GET_FAILEDWh
NARROW_GAMUT_INVALID_DISPLAY_IDWh
NARROW_GAMUT_NOT_SUPPORTEDWWh
NARROW_GAMUT_SUCCESSh
NarrowGamutWl 
NaRuleQuery
NaRuleRegister
NaRuleUnregister
NaRuleValidate
NativeEventsControlCallback
NativeIoctlErrorCodes
NativeMethods
nativepackagingsubsystemfactory.cpp
nativepackagingsubsystemfactorytests.cpp
nativepackagingsubsystem.h
NativeRegistryErrorCodes
nativesubsystemprovidertests.cpp
NativeVhdBoot
NaturalAuthClient.dll
nAvgBytesPerSec
navigator
nb_boost_sections
nb_cut_sections
N@b	gCg	
nBlockAlign
nb_output_channels
nBufferMax
NClientEventType_StreamingWWWx
NCryptCloseProtectionDescriptor
NCryptCreateClaim(
NCryptCreatePersistedKey
NCryptCreatePersistedKey(
NCryptCreateProtectionDescriptor
NCryptDecrypt
NCryptDecrypt(
NCryptDeleteKey
NCryptDeleteKey(
NCryptDeriveKey
NCryptDeriveKey(
ncrypt.dll
NCryptEncrypt
NCryptEncrypt(
NCryptEnumAlgorithms
NCryptEnumAlgorithms(
NCryptEnumKeys
NCryptEnumKeys(
NCryptEnumStorageProviders
NCryptEnumStorageProviders(
NCRYPT_EXPORTED_ISOLATED_KEY_HEADER Header;
NCryptExportKey
NCryptExportKey(
NCryptFinalizeKey
NCryptFinalizeKey(
NCryptFreeBuffer
NCryptFreeBuffer(
NCryptFreeObject
NCryptFreeObject(
NCryptGetProperty
NCryptGetProperty(
NCRYPT_HANDLE hObject);
NCryptImportKey
NCryptImportKey(
NCryptIsAlgSupported
NCryptIsAlgSupported(
NCryptIsKeyHandle
NCryptIsKeyHandle(
NCryptKeyDerivation(
NCRYPT_KEY_HANDLE hKey);
NCRYPT_KEY_HANDLE           hNCryptKey;
NCRYPT_KEY_HANDLE   hNCryptKey;
NCRYPT_KEY_HANDLE KspKeyHandle;
NCryptNotifyChangeKey(
NCryptOpenKey
NCryptOpenKey(
NCryptOpenStorageProvider
NCryptOpenStorageProvider(
NCryptSecretAgreement
NCryptSecretAgreement(
NCryptSetProperty
NCryptSetProperty(
NCryptSignHash
NCryptSignHash(
NCryptTranslateHandle(
NCryptUnprotectSecret
NCryptVerifyClaim(
NCryptVerifySignature
NCryptVerifySignature(
ndardefinierade nyckelns 
ndardefinierade tangentens funktion genom att klicka p
NDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
nDefaultButton
nDefaultRadioButton
nDenied to launch the following applications. Because original files are replaced by unauthorized applications.
NDenied to open the following documents. Because these are tampered by malware.
Ndr64AsyncClientCall
Ndr64AsyncServerCallAll
NdrAsyncServerCall
NdrClientCall3
NdrMesTypeAlignSize3
NdrMesTypeEncode3
NdrServerCall2
NdrServerCallAll
necessary data rewind wasn't possible
NeedCurrentDirectoryForExePathW
Need destination address
need dictionary
NEED_DSP
NeedMoreData
NeedReboot
?NeedsDiscoveryVolumeUpdate@BuiVolume@@QEAAJPEAH@Z
?NeedsRestart@VolumeFveStatus@@QEBA_NXZ
neercShsalpSI.noitavitcA.ledoMnoitacilppA.swodniW
neercShsalpS.noitavitcA.ledoMnoitacilppA.swodniW
neercSkcoL.eliforPresU.metsyS.swodniW
Negative precision.
Negative width.
    --negotiate
negotiate
Negotiate
Negotiate auth restarted
nekoTdm.scitnameS.redniBemitnuR.prahSC.tfosorciM
nekoTerawdraH.eliforP.metsyS.swodniW
nekoTerawdraHI.eliforP.metsyS.swodniW
nekoTnoitartsigeRtnevE.noitadnuoF.swodniW
nekoTrenetsiLdegnahCnoitcelloCkaeW.slortnoC.enohP.tfosorciM
nekoTtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
nekoTtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
;!;N;e;n;
nePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
nePmotsuCrablooTknI.slortnoC.lmaX.IU.swodniW
n es diferente.
nested brace
NETAPI32.dll
NetApiBufferAllocate
NetApiBufferFree
netascii
NetCreateProvisioningPackage
.NET Framework 4.5
.NET Framework 4.5#
.NET Framework 4.5M
.NET Framework 4.6.1
.NET Framework 4.6.2
.NET Framework 4.7.2
NetGetJoinInformation
netjoin.dll
NetJoinDomain
NetLocalGroupAddMembers
NetLocalGroupGetMembers
NetpAnalyzeProvisioningPackage
NetpProvDomainJoinLicensingCheck
NetpRequestProvisioningPackageInstallForIMC
netprovfw.dll
NetProvisionComputerAccount
netrc-file
    --netrc-optional
netrc-optional
NetRequestProvisioningPackageInstall
# Netscape HTTP Cookie File
NetScheduleJobAdd
NetScheduleJobDel
NetScheduleJobEnum
NetScheduleJobGetInfo
NetServerGetInfo
nettraffictask.cpp
NetUseAdd
NetUseDel
NetUserAdd
NetUserGetGroups
NetUserGetInfo
NetUserModalsGet
netutils.dll
NetValidatePasswordPolicy
network down
network_down
Network down
Network has been reset
NetworkIsolationEnumAppContainers
NetworkIsolationGetAppContainerConfig
NetworkIsolationSetAppContainerConfig
network reset
network_reset
networkservice
Network unavailable
network unreachable
network_unreachable
Network unreachable
NeutralResourcesLanguageAttribute
NeutralValue
newappdlg.cpp
NewCacheFile
?newCharReader@CharReaderBuilder@Json@@UEBAPEAVCharReader@2@XZ
newdev.dll
NEW-ENVIRON
New Jersey1
New line: 
New list length is too large
New list size is too large
?_New_Locimp@_Locimp@locale@std@@CAPEAV123@AEBV123@@Z
?_New_Locimp@_Locimp@locale@std@@CAPEAV123@_N@Z
newManifest
_newState
NewState
newStyle
Newtonsoft.Json
_nextafter
Next ESInit attempt in 
Next try in 5 sec. Tries left : 
    NextUpdate
NextUpdate
(*N.fa;SR
NgcChangePin
NgcDeleteContainerEx
NgcEnumContainers
NgcEnumUserIdKeys
NgcFreeEnumState
NgcGetKeyId
NgcIncrementPinRetryAttempts
NgcIsPinRemovable
NgcLocalAddCredential
NgcLocalFindCredential
NgcLocalRemoveCredential
NgcNeedProvision
NgcNeedProvisionForAccount
NgcPregenKey
NgcQueryEnabled
NgcRecoverPin
ngcrecovery.dll
NgcRemoveBioProtector
NgcTriggerTask
NgcTriggerTaskForOobe
N(GetDriveNameL
niaGecnalaBetihW.erutpaC.aideM.swodniW
niahCetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
niahCetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
niamoDydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
niamoDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
NIArguments2W
NIFolderCollectionWWW
nigirOdnammoCraBemaG.erutpaC.aideM.swodniW
nigirOegasseMtahCemaG.IU.gnimaG.swodniW
nigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
nigirOllaCenohP.redivorP.sllaC.ledoMnoitacilppA.swodniW
nIgulPnpVI.npV.gnikrowteN.swodniW
nIgulPtsacdaorBppA.erutpaC.aideM.swodniW
nIgulPtsacdaorBppAI.erutpaC.aideM.swodniW
'nIndexWW
nInputBufferSize
nioJeniLekortSnoitisopmoC.noitisopmoC.IU.swodniW
nioJeniLneP.aideM.lmaX.IU.swodniW
niPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
niPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
niPmwPI.mwP.seciveD.swodniW
niPmwP.mwP.seciveD.swodniW
niPoipGI.oipG.seciveD.swodniW
niPoipG.oipG.seciveD.swodniW
NJL)8gr"P
nlmSleepTimeMs
NlSecChanlSetup_End
NlSecChanlSetup_Start
NlServerAuth_End
NlServerAuth_Start
nMaxCount
nmuloCdraobredaeLtsalX.secivreSremaG.krowemarF.anX.tfosorciM
No accelerometer detected
No active logging session to stop
no adderss info recieved
    --no-alpn
No analysis ID
No applet blobs in dalp file match the platform API level.
No applets records in dalp file match the current platform.
No authentication method was acceptable.
no buffer space
no_buffer_space
No buffer space
No camera was found
no child process
nocIhtaPI.slortnoC.lmaX.IU.swodniW
nocIhtaP.slortnoC.lmaX.IU.swodniW
nocIlobmySI.slortnoC.lmaX.IU.swodniW
nocIlobmyS.slortnoC.lmaX.IU.swodniW
nocInwonKuneMrellortnoClaidaR.tupnI.IU.swodniW
nocIpaMI.spaM.slortnoC.lmaX.IU.swodniW
nocIpaM.spaM.slortnoC.lmaX.IU.swodniW
nocIpamtiBI.slortnoC.lmaX.IU.swodniW
nocIpamtiB.slortnoC.lmaX.IU.swodniW
nocItnoFI.slortnoC.lmaX.IU.swodniW
nocItnoF.slortnoC.lmaX.IU.swodniW
nocIxoBegasseM.secivreSremaG.krowemarF.anX.tfosorciM
    --no-clobber
NoCodeDownload
No command or subtable matches
No compatible applets where found in the dalp file.
No connections available.
No connections available in cache
No connection to FW or a Spooler error
No content
No controller selected
NoCustomMarshal
(no data): 
No DATABASE tag found
No data in the registry value.
No data record of requested type
No data was received
nodecountervisitor.cpp
NodeFilter
Node on the stack with invalid handle.
nodePtr is NULL
No Device Certificate
NoDeviceClearRegConnect
No Device Groups Found
No device query callback specified
?NO_DRIVE_LETTER@BuiVolume@@2IB
No drive selected
No EK Cert for AIK
No EK types supported by FW.
No error
NO_ERROR
NOERR specified multiple times
 noexcept
No expand callback method set. Cannot expand ZDB file.
No face detection sensor detected
NoFailureLog
No file path info
nofs.cpp
nogyloPI.sepahS.lmaX.IU.swodniW
nogyloPpaMI.spaM.slortnoC.lmaX.IU.swodniW
nogyloPpaM.slortnoC.spaM.enohP.tfosorciM
nogyloPpaM.spaM.slortnoC.lmaX.IU.swodniW
nogyloP.sepahS.lmaX.IU.swodniW
No HBA port selected
No hit info flag was set on API hit
noigeRcihpargoeGI.noitazilabolG.swodniW
noigeRcihpargoeG.noitazilabolG.swodniW
noigeRgnitirWsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
noigeRgnitirWsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
noigeRoidaR.oidaR.seciveD.tfosorciM
noigeRpooL.oiduA.krowemarF.anX.tfosorciM
noigeRtxeTdemiT.eroC.aideM.swodniW
noigeRtxeTdemiTI.eroC.aideM.swodniW
noigeRyalpsiDI.tnemeganaMwodniW.IU.swodniW
noigeRyalpsiD.tnemeganaMwodniW.IU.swodniW
No initiator adapter selected
No initiator portal selected
No initiators specified after keyword INITIATOR
noinretauQ.krowemarF.anX.tfosorciM
noinretauQrosneSI.srosneS.seciveD.swodniW
noinretauQrosneS.srosneS.seciveD.swodniW
noinretauQ.sciremuN.noitadnuoF.swodniW
NOINRETAUQ.srosneS.seciveD.tfosorciM
NOINTEGRITYCHECKS
NOINULAVEC.ataDresU.enohP.tfosorciM
NOISE_REDUCTION_APPLICATION_SETTINGS
NOISE_REDUCTION_FEATURE_SETTINGS
noisicerPemarFoediV.gnitidE.aideM.swodniW
noisnetxEaideMI.aideM.swodniW
noisnetxEdA.TRniW.derahS.gnisitrevdA.tfosorciM
noisnetxEeciveD.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
noisnetxEetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
noisnetxEetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
noisnetxEetalpmeTataDI.lmaX.IU.swodniW
noisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
noisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
noisnetxEpukraMI.pukraM.lmaX.IU.swodniW
noisnetxEpukraM.pukraM.lmaX.IU.swodniW
noisnetxErehsilbuP.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
noisnetxEresU.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
noisreVegakcaP.ledoMnoitacilppA.swodniW
noisreVmroftalPppA.enohP.tfosorciM
NOISREVNOCDENIFEDRESURPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
noisreVpaM.slortnoC.spaM.enohP.tfosorciM
noisreVpttH.pttH.beW.swodniW
noisserpmI.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
noisserpmoCegakcaPD3gnitnirP.D3gnitnirP.scihparG.swodniW
noisserpxEgnidniB.ataD.lmaX.IU.swodniW
noisserpxEgnidniBI.ataD.lmaX.IU.swodniW
noisserpxEratavA.secivreSremaG.krowemarF.anX.tfosorciM
noisseSataDecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noisseSataDecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noisseSdnammoCecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noisseSdnammoCecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noisseSdnuorgeroFnoitucexEdednetxE.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
noisseSdnuorgeroFnoitucexEdednetxEI.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
noisseSdnuorgeroFwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
noisseSdnuorgeroFwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
noisseSdnuorgkcaBwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
noisseSdnuorgkcaBwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
noisseSdssUI.srotarepOkrowteN.gnikrowteN.swodniW
noisseSdssU.srotarepOkrowteN.gnikrowteN.swodniW
noisseSecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
noisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
noisseSerutpaCscihparG.erutpaC.scihparG.swodniW
noisseSerutpaCscihparGI.erutpaC.scihparG.swodniW
noisseSesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
noisseSesneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
noisseSevitcaretnI.potkseDetomeR.metsyS.swodniW
noisseSgniggoLeliFI.scitsongaiD.noitadnuoF.swodniW
noisseSgniggoLeliF.scitsongaiD.noitadnuoF.swodniW
noisseSgniggoLI.scitsongaiD.noitadnuoF.swodniW
noisseSgniggoL.scitsongaiD.noitadnuoF.swodniW
noisseShcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
noisseSkcabyalPaideMI.kcabyalP.aideM.swodniW
noisseSkcabyalPaideM.kcabyalP.aideM.swodniW
noisseSledoMgninraeL.gninraeLenihcaM.IA.swodniW
noisseSledoMgninraeLI.gninraeLenihcaM.IA.swodniW
noisseSlortnoCnoitpecrePI.noitpecreP.seciveD.swodniW
noisseSlortnoCnoitpecreP.noitpecreP.seciveD.swodniW
noisseSmdMI.tnemeganaM.swodniW
noisseSmdM.tnemeganaM.swodniW
noisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
noisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
noisseSnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
noisseSnoitcennoC.ytivitcennoC.gnikrowteN.swodniW
noisseSnoitingoceRsuounitnoChceepSI.noitingoceRhceepS.aideM.swodniW
noisseSnoitingoceRsuounitnoChceepS.noitingoceRhceepS.aideM.swodniW
noisseSnoitucexEdednetxEI.noitucexEdednetxE.ledoMnoitacilppA.swodniW
noisseSnoitucexEdednetxE.noitucexEdednetxE.ledoMnoitacilppA.swodniW
noisseSnyoJllAI.nyoJllA.seciveD.swodniW
noisseSnyoJllA.nyoJllA.seciveD.swodniW
noisseSpcdHI.noitcetorP.aideM.swodniW
noisseSpcdH.noitcetorP.aideM.swodniW
noisseSretliF.hcuoT.tupnI.krowemarF.anX.tfosorciM
noisseSrevieceRtsacariMI.tsacariM.aideM.swodniW
noisseSrevieceRtsacariM.tsacariM.aideM.swodniW
noisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
noisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
noisseStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
noisseStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
noisseStnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
noisseStropmIotohPI.tropmI.aideM.swodniW
noisseStropmIotohP.tropmI.aideM.swodniW
noisseSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
noisseSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
noisseSytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
noisseSytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
noissimrePanatroC.anatroC.secivreS.swodniW
noisuFthgiLwoL.eroC.aideM.swodniW
noisulccOraBeltiTwodniWppAI.tnemeganaMwodniW.IU.swodniW
noisulccOraBeltiTwodniWppA.tnemeganaMwodniW.IU.swodniW
noisulccOweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
noisulccOweiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
noitacificepStnemugrAdemaNRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitacifitnedIerawdraH.eliforP.metsyS.swodniW
noitacifitnedImetsyS.eliforP.metsyS.swodniW
noitacifitoNdeludehcS.reludehcS.enohP.tfosorciM
noitacifitoNegdaBI.snoitacifitoN.IU.swodniW
noitacifitoNegdaB.snoitacifitoN.IU.swodniW
noitacifitoNeliTdeludehcSI.snoitacifitoN.IU.swodniW
noitacifitoNeliTdeludehcS.snoitacifitoN.IU.swodniW
noitacifitoNeliTI.snoitacifitoN.IU.swodniW
noitacifitoNeliTnwohSI.snoitacifitoN.IU.swodniW
noitacifitoNeliTnwohS.snoitacifitoN.IU.swodniW
noitacifitoNeliT.snoitacifitoN.IU.swodniW
noitacifitoN.evitcaeR.enohP.tfosorciM
noitacifitoNI.snoitacifitoN.IU.swodniW
noitacifitoNpttH.noitacifitoN.enohP.tfosorciM
noitacifitoNresUI.snoitacifitoN.IU.swodniW
noitacifitoNresU.snoitacifitoN.IU.swodniW
noitacifitoN.snoitacifitoN.IU.swodniW
noitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
noitacifitoNtsaoTdeludehcS.snoitacifitoN.IU.swodniW
noitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
noitacifitoNtsaoT.snoitacifitoN.IU.swodniW
noitacifitoNtuoylFeliTI.snoitacifitoN.IU.swodniW
noitacifitoNtuoylFeliT.snoitacifitoN.IU.swodniW
noitacifitoNwaRI.snoitacifitoNhsuP.gnikrowteN.swodniW
noitacifitoNwaR.snoitacifitoNhsuP.gnikrowteN.swodniW
noitacilppAemaGanX.krowemarF.anX.tfosorciM
noitacilppAeroC.eroC.ledoMnoitacilppA.swodniW
noitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
noitacilppAevisremmIeroCI.eroC.ledoMnoitacilppA.swodniW
noitacilppAI.lmaX.IU.swodniW
noitacilppAIUbeW.IUbeW.IU.swodniW
noitacilppA.lmaX.IU.swodniW
noitacilppA.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
noitacilppAsihTediHhtiWscitatSenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
noitacilppAsseldaeH.enohP.tfosorciM
noitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
noitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
noitacoLdelahsraM.secivreS.spaM.enohP.tfosorciM
noitacoLecruoScitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
noitacoLecruoScitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
noitacoLecruoseRtnenopmoC.sevitimirP.slortnoC.lmaX.IU.swodniW
noitacoLecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
noitacoLecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
noitacoLegdEsgnitteS.sgnitteSnoitacilppA.IU.swodniW
noitacoLeltiT.krowemarF.anX.tfosorciM
noitacoLerusolcnEI.noitaremunE.seciveD.swodniW
noitacoLerusolcnE.noitaremunE.seciveD.swodniW
noitacoLhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
noitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
noitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
noitacoLlaitapSI.laitapS.noitpecreP.swodniW
noitacoLlaitapS.laitapS.noitpecreP.swodniW
noitacoLmooZcitnameSI.slortnoC.lmaX.IU.swodniW
noitacoLmooZcitnameS.slortnoC.lmaX.IU.swodniW
noitacoLnoitisnarTegdE.sevitimirP.slortnoC.lmaX.IU.swodniW
noitacoLpaMdelebaL.sksaT.enohP.tfosorciM
noitacoLpaMI.spaM.secivreS.swodniW
noitacoLpaM.secivreS.spaM.enohP.tfosorciM
noitacoLpaM.spaM.secivreS.swodniW
noitacoLtnaveleRtellaWI.tellaW.ledoMnoitacilppA.swodniW
noitacoLtnaveleRtellaW.tellaW.ledoMnoitacilppA.swodniW
noitacoLtxeTyalpsiDrotarepOkrowteNeniLenohP.sllaC.ledoMnoitacilppA.swodniW
noitacoLyalrevOaremaCtsacdaorBppA.erutpaC.aideM.swodniW
noitadargeDredoceDoiduA.eroC.aideM.swodniW
noitadilaVretemaraP.secivreSremaG.krowemarF.anX.tfosorciM
noitadnemmoceRsisylanAenecS.eroC.aideM.swodniW
noitaicossAeciveDresU.metsyS.swodniW
noitaicossAppAmetItellaW.metsyS.tellaW.ledoMnoitacilppA.swodniW
noitaitogeNmhtiroglAnoitpyrcnEemimSdewollAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
noitalerroCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
noitalerroCnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
noitaleRytilasuaC.scitsongaiD.noitadnuoF.swodniW
noitalloCtnirP.gnitnirP.scihparG.swodniW
noitalosImedoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noitalosImedoMdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAdetcennoC.noitaminA.aideM.lmaX.IU.swodniW
noitaminAelacSI.scirteMnoitaminA.eroC.IU.swodniW
noitaminAelacS.scirteMnoitaminA.eroC.IU.swodniW
noitaminAelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAelbuoD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemarFyeK2rotceVI.noitisopmoC.IU.swodniW
noitaminAemarFyeK2rotceV.noitisopmoC.IU.swodniW
noitaminAemarFyeK3rotceVI.noitisopmoC.IU.swodniW
noitaminAemarFyeK3rotceV.noitisopmoC.IU.swodniW
noitaminAemarFyeK4rotceVI.noitisopmoC.IU.swodniW
noitaminAemarFyeK4rotceV.noitisopmoC.IU.swodniW
noitaminAemarFyeKhtaPI.noitisopmoC.IU.swodniW
noitaminAemarFyeKhtaP.noitisopmoC.IU.swodniW
noitaminAemarFyeKI.noitisopmoC.IU.swodniW
noitaminAemarFyeKnaelooBI.noitisopmoC.IU.swodniW
noitaminAemarFyeKnaelooB.noitisopmoC.IU.swodniW
noitaminAemarFyeKnoinretauQI.noitisopmoC.IU.swodniW
noitaminAemarFyeKnoinretauQ.noitisopmoC.IU.swodniW
noitaminAemarFyeK.noitisopmoC.IU.swodniW
noitaminAemarFyeKralacSI.noitisopmoC.IU.swodniW
noitaminAemarFyeKralacS.noitisopmoC.IU.swodniW
noitaminAemarFyeKroloCI.noitisopmoC.IU.swodniW
noitaminAemarFyeKroloC.noitisopmoC.IU.swodniW
noitaminAemehTesolCtilpSI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTesolCtilpS.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTkcaBepiwSI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTkcaBepiwS.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTmetIgarDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTmetIgarD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTmetItegraTporDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTmetItegraTporD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnepOtilpSI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnepOtilpS.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIedaFI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIedaF.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIllirDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIllirD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIpoPI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnIpoP.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnoitisopeRI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnoitisopeR.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnwoDretnioPI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTnwoDretnioP.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTpUretnioPI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTpUretnioP.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTrevOgarDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTrevOgarD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtniHepiwSI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtniHepiwS.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOedaFI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOedaF.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOllirDI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOllirD.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOpoPI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAemehTtuOpoP.noitaminA.aideM.lmaX.IU.swodniW
noitaminAnoisserpxEI.noitisopmoC.IU.swodniW
noitaminAnoisserpxE.noitisopmoC.IU.swodniW
noitaminAnoitalsnarT.scirteMnoitaminA.eroC.IU.swodniW
noitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
noitaminAnoitisopmoC.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceVecnuoBI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceVecnuoB.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceVgnirpSI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceVgnirpS.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceVI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN2rotceV.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceVecnuoBI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceVecnuoB.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceVgnirpSI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceVgnirpS.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceVI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN3rotceV.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaN.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacSecnuoBI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacSecnuoB.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacSgnirpSI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacSgnirpS.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacSI.noitisopmoC.IU.swodniW
noitaminAnoitoMlarutaNralacS.noitisopmoC.IU.swodniW
noitaminAratavAI.secivreSremaG.krowemarF.anX.tfosorciM
noitaminAratavA.secivreSremaG.krowemarF.anX.tfosorciM
noitaminAroloCI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAroloC.noitaminA.aideM.lmaX.IU.swodniW
noitaminAtnioPI.noitaminA.aideM.lmaX.IU.swodniW
noitaminAtnioP.noitaminA.aideM.lmaX.IU.swodniW
noitaminAyticapOI.scirteMnoitaminA.eroC.IU.swodniW
noitaminAyticapO.scirteMnoitaminA.eroC.IU.swodniW
noitaminAytreporPI.scirteMnoitaminA.eroC.IU.swodniW
noitaminAytreporP.scirteMnoitaminA.eroC.IU.swodniW
noitamotuAnoitpecrePeroC.eroC.noitamotuA.noitpecreP.swodniW
noitamrofnIcedoCpamtiB.gnigamI.scihparG.swodniW
noitamrofnIcedoCpamtiBI.gnigamI.scihparG.swodniW
noitamrofnIecioVI.sisehtnyShceepS.aideM.swodniW
noitamrofnIecioV.sisehtnyShceepS.aideM.swodniW
noitamrofnIeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noitamrofnIeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noitamrofnIeciveDI.noitaremunE.seciveD.swodniW
noitamrofnIeciveD.noitaremunE.seciveD.swodniW
noitamrofnIeciveDscihparG.krowemarF.anX.tfosorciM
noitamrofnIeciveDtneilCsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
noitamrofnIeciveDtneilCsaEI.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
noitamrofnIecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noitamrofnIecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noitamrofnIeliF.sseccAkluB.egarotS.swodniW
noitamrofnIesneciL.ecalptekraM.enohP.tfosorciM
noitamrofnIesneciL.erotS.ledoMnoitacilppA.swodniW
noitamrofnIesneciLI.erotS.ledoMnoitacilppA.swodniW
noitamrofnIesnopseRI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitamrofnIesnopseR.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitamrofnIgnitsiL.erotS.ledoMnoitacilppA.swodniW
noitamrofnIgnitsiLI.erotS.ledoMnoitacilppA.swodniW
noitamrofnIipA.atadateM.noitadnuoF.swodniW
noitamrofnIkrowteNeciveD.noitamrofnIkrowteN.teN.enohP.tfosorciM
noitamrofnIkrowteN.ytivitcennoC.gnikrowteN.swodniW
noitamrofnIlaweneRdnAnoitacoveRI.noitcetorP.aideM.swodniW
noitamrofnIlaweneRdnAnoitacoveR.noitcetorP.aideM.swodniW
noitamrofnImetIegarotSI.sseccAkluB.egarotS.swodniW
noitamrofnImooZcitnameSI.slortnoC.lmaX.IU.swodniW
noitamrofnInoitacoLdelahsraM.secivreS.spaM.enohP.tfosorciM
noitamrofnInoitacoL.secivreS.spaM.enohP.tfosorciM
noitamrofnInoitcennoCdnuobnImmocfR.dnuorgkcaB.htooteulB.seciveD.swodniW
noitamrofnInoitcennoCdnuobnImmocfRI.dnuorgkcaB.htooteulB.seciveD.swodniW
noitamrofnInoitcennoCdnuobtuOmmocfR.dnuorgkcaB.htooteulB.seciveD.swodniW
noitamrofnInoitcennoCdnuobtuOmmocfRI.dnuorgkcaB.htooteulB.seciveD.swodniW
noitamrofnIPII.ytivitcennoC.gnikrowteN.swodniW
noitamrofnIPI.ytivitcennoC.gnikrowteN.swodniW
noitamrofnIredloF.sseccAkluB.egarotS.swodniW
noitamrofnIreePI.ytimixorP.gnikrowteN.swodniW
noitamrofnIreeP.ytimixorP.gnikrowteN.swodniW
noitamrofnIrenetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
noitamrofnIrenetsiLtekcoSmaertS.stekcoS.gnikrowteN.swodniW
noitamrofnIresUegakcaPI.tnemyolpeD.tnemeganaM.swodniW
noitamrofnIresUegakcaP.tnemyolpeD.tnemeganaM.swodniW
noitamrofnIresU.eliforPresU.metsyS.swodniW
noitamrofnIrorrEretirWyraniBlmaX.pukraM.lmaX.IU.swodniW
noitamrofnIsoibmS.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
noitamrofnIsseccAeciveDI.noitaremunE.seciveD.swodniW
noitamrofnIsseccAeciveD.noitaremunE.seciveD.swodniW
noitamrofnItcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
noitamrofnItcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
noitamrofnItekcoSbeWegasseMrevreSI.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWegasseMrevreS.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWegasseM.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWI.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWmaertSrevreSI.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWmaertSrevreS.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSbeWmaertS.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSmaertSI.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSmaertS.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSmargataDI.stekcoS.gnikrowteN.swodniW
noitamrofnItekcoSmargataD.stekcoS.gnikrowteN.swodniW
noitamrofnItropsnarTpttHI.pttH.beW.swodniW
noitamrofnItropsnarTpttH.pttH.beW.swodniW
noitamrofnItsoH.poretnI.ledoMksaT.enohP.tfosorciM
noitamrofnItuoyaLI.sevitimirP.slortnoC.lmaX.IU.swodniW
noitamrofnItuoyaL.sevitimirP.slortnoC.lmaX.IU.swodniW
noitamrofnIyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
noitamrofnIyalpsiDimdHI.eroC.yalpsiD.scihparG.swodniW
noitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
noitamrofnIyalpsiD.yalpsiD.scihparG.swodniW
noitamrofnIynapmoCtcatnoC.ataDresU.enohP.tfosorciM
noitamrofnIytivitcAtekcoSI.stekcoS.gnikrowteN.swodniW
noitamrofnIytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
noitanetacnoCgnirtStnatsnoC.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitaralceDecapsemaN.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitaralceDetagerggA.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitaralceDetubirttAlabolG.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitaralceD.scitnameS.redniBemitnuR.prahSC.tfosorciM
noitaralceDxetreV.scihparG.krowemarF.anX.tfosorciM
noitarbiVdapemaG.tupnI.gnimaG.swodniW
NOITARBIV_TUPNIX.tupnI.krowemarF.anX.tfosorciM
noitarepOdaolnwoDI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitarepOdaolnwoD.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitarepOdaolpUI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitarepOdaolpU.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitarepOdaoLredaeRataD.smaertS.egarotS.swodniW
noitarepOdetagivaNIUbeWI.IUbeW.IU.swodniW
noitarepOdetagivaNIUbeW.IUbeW.IU.swodniW
noitarepOdetavitcAI.IUbeW.IU.swodniW
noitarepOdetavitcA.IUbeW.IU.swodniW
noitarepOdettimbuSwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
noitarepOdettimbuSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
noitarepOdroceRerutpaCppA.erutpaC.aideM.swodniW
noitarepOdroceRerutpaCppAI.erutpaC.aideM.swodniW
noitarepOecalptekraM.sksaT.enohP.tfosorciM
noitarepOeciveDsmSteG.smS.seciveD.swodniW
noitarepOegakcaPataD.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOegamIanX.krowemarF.anX.tfosorciM
noitarepOegasseMsmSdneS.smS.seciveD.swodniW
noitarepOegasseMsmSeteleD.smS.seciveD.swodniW
noitarepOegasseMsmSteG.smS.seciveD.swodniW
noitarepOerahSI.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOerahS.tegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOerotSretirWataD.smaertS.egarotS.swodniW
noitarepOgarDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOgnidneP.krowemarF.anX.tfosorciM
noitarepOgnidnepsuSI.ledoMnoitacilppA.swodniW
noitarepOgnidnepsuS.IUbeW.IU.swodniW
noitarepOgnidnepsuS.ledoMnoitacilppA.swodniW
noitarepOgnisolCrekciPI.redivorP.srekciP.egarotS.swodniW
noitarepOgnisolCrekciP.redivorP.srekciP.egarotS.swodniW
noitarepOgnoSevaS.snoisnetxEenohP.aideM.krowemarF.anX.tfosorciM
noitarepOlicnetS.scihparG.krowemarF.anX.tfosorciM
noitarepOnekoTredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOnekoTtseuqeRredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOnoitacitnehtuAresU.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
noitarepOnoitavitcAeniLdnammoCI.noitavitcA.ledoMnoitacilppA.swodniW
noitarepOnoitavitcAeniLdnammoC.noitavitcA.ledoMnoitacilppA.swodniW
noitarepOredivorPerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOredivorPerahS.refsnarTataD.ledoMnoitacilppA.swodniW
noitarepOredivorPtnuoccAataDresUI.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
noitarepOresUtuOngiS.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
noitarepOsegasseMsmSeteleD.smS.seciveD.swodniW
noitarepOsegasseMsmSteG.smS.seciveD.swodniW
noitarepOseikooCeveirteRredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOseikooCeveirteRredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOsgnitteSredivorPtnuoccAataDresUI.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOsgnitteSredivorPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOsrorrEevloseRredivorPtnuoccAataDresUI.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOsrorrEevloseRredivorPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOstluseRroFlocotorPI.metsyS.swodniW
noitarepOstluseRroFlocotorP.metsyS.swodniW
noitarepOtnegAtellaW.tellaW.enohP.tfosorciM
noitarepOtneliSnekoTteGredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnemtnioppAddAI.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnemtnioppAddA.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnemtnioppAecalpeRI.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnemtnioppAecalpeR.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnemtnioppAevomeRI.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnemtnioppAevomeR.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitarepOtnuoccAddAredivorPtnuoccAataDresUI.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOtnuoccAddAredivorPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarepOtnuoccAddAredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAddAredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAeganaMredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAeganaMredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAeteleDredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAeteleDredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAtuOngiSredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtnuoccAtuOngiSredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtropeResaBredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtropeRIUredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtropeRtneliSredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
noitarepOtropmIotohPI.tropmI.aideM.swodniW
noitarepOtropmIotohP.tropmI.aideM.swodniW
noitartsigeRegasseMsmSI.smS.seciveD.swodniW
noitartsigeRegasseMsmS.smS.seciveD.swodniW
noitartsigeRksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
noitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
noitartsigeRppAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
noitartsigeRppAmetsySetomeR.smetsySetomeR.metsyS.swodniW
noitartsigeRpuorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
noitartsigeRpuorGdItelppAdraCtramS.sdraCtramS.seciveD.swodniW
noitartsigeRreldnaHirUppAI.metsyS.swodniW
noitartsigeRreldnaHirUppA.metsyS.swodniW
noitartsigeRrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
noitartsigeRrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
noitaruD.lmaX.IU.swodniW
noitarugifnoCbsU.bsU.seciveD.swodniW
noitarugifnoCbsUI.bsU.seciveD.swodniW
noitarugifnoCcnyStahCI.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCcnyStahC.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCdebtalFrennacSegamI.srennacS.seciveD.swodniW
noitarugifnoCdenifederPretneserPknI.gniknI.tupnI.IU.swodniW
noitarugifnoCeciveDoiduAlaitapSI.oiduA.aideM.swodniW
noitarugifnoCeciveDoiduAlaitapS.oiduA.aideM.swodniW
noitarugifnoCecruoSnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
noitarugifnoCecruoSnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
noitarugifnoCecruoSrennacSegamII.srennacS.seciveD.swodniW
noitarugifnoCedoMediWweiVenaPowT.slortnoC.lmaX.IU.swodniW
noitarugifnoCedoMemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
noitarugifnoCedoMemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
noitarugifnoCedoMllaTweiVenaPowT.slortnoC.lmaX.IU.swodniW
noitarugifnoCeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
noitarugifnoCeniLenohP.sllaC.ledoMnoitacilppA.swodniW
noitarugifnoCerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
noitarugifnoCgnissecorPtupnIknI.gniknI.tupnI.IU.swodniW
noitarugifnoCgnissecorPtupnIknII.gniknI.tupnI.IU.swodniW
noitarugifnoCIUeroCsnoitpOksaTtnirPI.gnitnirP.scihparG.swodniW
noitarugifnoCksaTtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
noitarugifnoCksaTtnirP.snoisnetxE.sretnirP.seciveD.swodniW
noitarugifnoClennahCnpVI.npV.gnikrowteN.swodniW
noitarugifnoClennahCnpV.npV.gnikrowteN.swodniW
noitarugifnoCmaertSoediV.erutpaC.aideM.swodniW
noitarugifnoCmaertSoediVI.erutpaC.aideM.swodniW
noitarugifnoCmedoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
noitarugifnoCmedoMdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
noitarugifnoCnoitaminAdetcennoCcisaBI.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCcisaB.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoC.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCtceriDI.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCtceriD.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCytivarGI.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitaminAdetcennoCytivarG.noitaminA.aideM.lmaX.IU.swodniW
noitarugifnoCnoitatneserPneercSlluFI.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPneercSlluF.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPtluafeDI.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPtluafeD.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPwodniWppAI.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPwodniWppA.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPyalrevOtcapmoCI.tnemeganaMwodniW.IU.swodniW
noitarugifnoCnoitatneserPyalrevOtcapmoC.tnemeganaMwodniW.IU.swodniW
noitarugifnoCotuArennacSegamI.srennacS.seciveD.swodniW
noitarugifnoCredeeFrennacSegamII.srennacS.seciveD.swodniW
noitarugifnoCredeeFrennacSegamI.srennacS.seciveD.swodniW
noitarugifnoCrellortnoClaidaRI.tupnI.IU.swodniW
noitarugifnoCrellortnoClaidaR.tupnI.IU.swodniW
noitarugifnoCresUedoMemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
noitarugifnoCresUedoMemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
noitarugifnoCtamroFoiduAlaitapSI.oiduA.aideM.swodniW
noitarugifnoCtamroFoiduAlaitapS.oiduA.aideM.swodniW
noitarugifnoCtamroFrennacSegamII.srennacS.seciveD.swodniW
noitarugifnoCtnioPsseccAgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
noitarugifnoCtnioPsseccAgnirehteTrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
noitarugifnoCtnuoccAeciveDI.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarugifnoCtnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
noitarugifnoCtropsnarTegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCtropsnarTegasseMtahC.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCtropsnarTscRI.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCtropsnarTscR.tahC.ledoMnoitacilppA.swodniW
noitarugifnoCtsalX.secivreSremaG.krowemarF.anX.tfosorciM
noitarugifnoCtupnIknI.gniknI.tupnI.IU.swodniW
noitarugifnoCtupnIknII.gniknI.tupnI.IU.swodniW
noitarugifnoCweiVcihpargoloH.cihpargoloH.scihparG.swodniW
noitarugifnoCweiVcihpargoloHI.cihpargoloH.scihparG.swodniW
noitarugifnoCwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
noitarugifnoCwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
noitarugifnoCyxorPI.ytivitcennoC.gnikrowteN.swodniW
noitarugifnoCyxorP.ytivitcennoC.gnikrowteN.swodniW
noitasrevnoCliamEI.liamE.ledoMnoitacilppA.swodniW
noitasrevnoCliamE.liamE.ledoMnoitacilppA.swodniW
noitasrevnoCtahCI.tahC.ledoMnoitacilppA.swodniW
noitasrevnoCtahC.tahC.ledoMnoitacilppA.swodniW
noitaterpretnIcitnameSnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
noitaterpretnIcitnameSnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
noitativnInoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
noitativnInoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
noitatneirOegaPdetroppuS.slortnoC.enohP.tfosorciM
noitatneirOegaP.slortnoC.enohP.tfosorciM
noitatneirOelpmiS.srosneS.seciveD.swodniW
noitatneirOnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
noitatneirOoediV.seitreporPeliF.egarotS.swodniW
noitatneirOotohP.seitreporPeliF.egarotS.swodniW
noitatneirOreyalPaideM.sksaT.enohP.tfosorciM
noitatneirOrezilausiVhserfeR.slortnoC.lmaX.IU.swodniW
noitatneirO.slortnoC.lmaX.IU.swodniW
noitatneirOtnirP.gnitnirP.scihparG.swodniW
noitatneirOweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
noitatneirOyalpsiD.krowemarF.anX.tfosorciM
noitatnemelpmImoDlmXI.moD.lmX.ataD.swodniW
noitatnemelpmImoDlmX.moD.lmX.ataD.swodniW
noitatoNdtDI.moD.lmX.ataD.swodniW
noitatoNdtD.moD.lmX.ataD.swodniW
noitatonnAnoitamotuAI.noitamotuA.lmaX.IU.swodniW
noitatonnAnoitamotuA.noitamotuA.lmaX.IU.swodniW
noitatonnAreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
noitatonnAreePnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
noitatonnAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
noitatonnAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
noitatonnAtceffE.scihparG.krowemarF.anX.tfosorciM
noitatoRaideM.seitreporPaideM.aideM.swodniW
noitatoRegaPfdP.fdP.ataD.swodniW
noitatoRoediV.erutpaC.aideM.swodniW
noitatoRpamtiB.gnigamI.scihparG.swodniW
noitatoRretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
noitatoRyalpsiD.eroC.yalpsiD.seciveD.swodniW
NOITATSK
noitatSretnirPsoPdemialCnommoCI.ecivreSfOtnioP.seciveD.swodniW
noitatupmoChsaHI.eroC.yhpargotpyrC.ytiruceS.swodniW
noitaulavEytimixorPeroC.eroC.IU.swodniW
noitazilaitinIetelpmocnI.secivreSrelipmoC.cisaBlausiV.tfosorciM
noitazimitpOerutpaCaideM.seciveD.aideM.swodniW
noitazimitpOetuoRpaM.spaM.secivreS.swodniW
noitazimitpOetuoR.secivreS.spaM.enohP.tfosorciM
noitcAcnysAI.noitadnuoF.swodniW
noitcAdegnahCnoitcelloCyfitoN.poretnI.lmaX.IU.swodniW
noitcAdeludehcS.reludehcS.enohP.tfosorciM
noitcAegasseMresUdnEscRI.tahC.ledoMnoitacilppA.swodniW
noitcAegasseMresUdnEscR.tahC.ledoMnoitacilppA.swodniW
noitcAgarDthgiRtupnIknI.gniknI.tupnI.IU.swodniW
noitcAllatsnItratSetadpUmetsyS.etadpU.metsyS.swodniW
noitcAmetItnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
noitcAreggirTI.lmaX.IU.swodniW
noitcAreggirT.lmaX.IU.swodniW
noitcAresU.oiduAdnuorgkcaB.enohP.tfosorciM
noitcaretnI.cisaBlausiV.tfosorciM
noitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
noitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
noitcaretnItnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
noitcarFtnoF.lmaX.IU.swodniW
noitcasnarTetirWelbaileRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
noitcasnarTetirWelbaileRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
noitcasnarTmaertSegarotS.egarotS.swodniW
noitcasnarTmaertSegarotSI.egarotS.swodniW
noitcasnarTtellaWI.tellaW.ledoMnoitacilppA.swodniW
noitcasnarTtellaW.tellaW.enohP.tfosorciM
noitcasnarTtellaW.tellaW.ledoMnoitacilppA.swodniW
noitcasnarTtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
noitcasnarTtnemyaP.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
noitcAtiduAyciloPnoitcetorP.ataDesirpretnE.ytiruceS.swodniW
noitcAtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
noitcAtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
noitcAtnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
noitcAwolfrevOcimanyDraBdnammoC.slortnoC.lmaX.IU.swodniW
noitcAxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
noitcAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
noitcAybdnatSdetcennoCytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
noitcejorP.aideM.lmaX.IU.swodniW
noitcejorPD3xirtaM.aideM.lmaX.IU.swodniW
noitcejorPD3xirtaMI.aideM.lmaX.IU.swodniW
noitcejorPenalP.aideM.lmaX.IU.swodniW
noitcejorPenalPI.aideM.lmaX.IU.swodniW
noitcejorPI.aideM.lmaX.IU.swodniW
noitcejorPlacirehpSmrofsnarToediVI.stceffE.aideM.swodniW
noitcejorPlacirehpSmrofsnarToediV.stceffE.aideM.swodniW
noitcejorPoediVlacirehpSkcabyalPaideMI.kcabyalP.aideM.swodniW
noitcejorPoediVlacirehpSkcabyalPaideM.kcabyalP.aideM.swodniW
noitcejorPpaM.spaM.slortnoC.lmaX.IU.swodniW
noitceleStxeTdetroppuS.noitamotuA.lmaX.IU.swodniW
noitceleStxeTI.txeT.IU.swodniW
noitcelloCderedronUlausiVI.noitisopmoC.IU.swodniW
noitcelloCderedronUlausiV.noitisopmoC.IU.swodniW
noitcelloCderedronUrevieceRwodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
noitcelloCderedronUrevieceRwodahSdetcejorPnoitisopmoC.noitisopmoC.IU.swodniW
noitcelloCdiH.eciveDecafretnInamuH.seciveD.swodniW
noitcelloCdiHI.eciveDecafretnInamuH.seciveD.swodniW
noitcelloCdneirF.secivreSremaG.krowemarF.anX.tfosorciM
noitcelloCecnatsnIecivreSdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
noitcelloCecruoseR.buPmotA.beW.swodniW
noitcelloCecruoseRI.buPmotA.beW.swodniW
noitcelloCecruoSnoitcaretnInoitisopmoCI.snoitcaretnI.noitisopmoC.IU.swodniW
noitcelloCecruoSnoitcaretnInoitisopmoC.snoitcaretnI.noitisopmoC.IU.swodniW
noitcelloCedoMyalpsiD.scihparG.krowemarF.anX.tfosorciM
noitcelloCedoNenecSI.senecS.noitisopmoC.IU.swodniW
noitcelloCedoNenecS.senecS.noitisopmoC.IU.swodniW
noitcelloCeikooCpttH.pttH.beW.swodniW
noitcelloCelbuoD.aideM.lmaX.IU.swodniW
noitcelloCemarFyeKelbuoD.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCemarFyeKroloC.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCemarFyeKtcejbO.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCemarFyeKtnioP.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCenilemiT.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCenilnI.stnemucoD.lmaX.IU.swodniW
noitcelloCenoBledoM.scihparG.krowemarF.anX.tfosorciM
noitcelloCenohporciM.oiduA.krowemarF.anX.tfosorciM
noitcelloCepahSnoitisopmoC.noitisopmoC.IU.swodniW
noitcelloCerneG.aideM.krowemarF.anX.tfosorciM
noitcelloCerugiFhtaP.aideM.lmaX.IU.swodniW
noitcelloCerutciP.aideM.krowemarF.anX.tfosorciM
noitcelloCerutxeT.scihparG.krowemarF.anX.tfosorciM
noitcelloCesaBretteSI.lmaX.IU.swodniW
noitcelloCesaBretteS.lmaX.IU.swodniW
noitcelloCetanidrooCoeG.slortnoC.spaM.enohP.tfosorciM
noitcelloCetatSrelpmaS.scihparG.krowemarF.anX.tfosorciM
noitcelloCeulaVredaeHdohteMpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHdohteMpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHegaugnaLpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHegaugnaLpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHegnellahCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHegnellahCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHevitceriDehcaCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHevitceriDehcaCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHgnidoCrefsnarTpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHgnidoCrefsnarTpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHgnidoCtnetnoCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHnoitatcepxEpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHnoitatcepxEpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHnoitpOnoitcennoCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHnoitpOnoitcennoCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHofnItcudorPpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHofnItcudorPpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHriaPeikooCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHriaPeikooCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWegnaRegaugnaLpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWegnaRegaugnaLpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWepyTaideMpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWepyTaideMpttH.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCeulaVredaeHytilauQhtiWgnidoCtnetnoCpttH.sredaeH.pttH.beW.swodniW
noitcelloCeuqinhceTtceffE.scihparG.krowemarF.anX.tfosorciM
noitcelloCgaTdA.TRniW.derahS.gnisitrevdA.tfosorciM
noitcelloCgnoS.aideM.krowemarF.anX.tfosorciM
noitcelloChcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
noitcelloChseMledoM.scihparG.krowemarF.anX.tfosorciM
noitcelloChsurB.aideM.lmaX.IU.swodniW
noitcelloCkaeWtnemelEIUI.lmaX.IU.swodniW
noitcelloCkaeWtnemelEIU.lmaX.IU.swodniW
noitcelloCkcolB.stnemucoD.lmaX.IU.swodniW
noitcelloClausiVI.noitisopmoC.IU.swodniW
noitcelloClausiV.noitisopmoC.IU.swodniW
noitcelloCmetIdepuorGrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
noitcelloCmetIrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
noitcelloCmetI.slortnoC.lmaX.IU.swodniW
noitcelloCmetItalFrotceleStsiLgnoL.slortnoC.enohP.tfosorciM
noitcelloCmetItellaW.tellaW.enohP.tfosorciM
noitcelloCmrofsnarT.aideM.lmaX.IU.swodniW
noitcelloCmublA.aideM.krowemarF.anX.tfosorciM
noitcelloCmublAerutciP.aideM.krowemarF.anX.tfosorciM
noitcelloCnoisserpxEeulaVlaitinI.noitisopmoC.IU.swodniW
noitcelloCnoitaminAticilpmII.noitisopmoC.IU.swodniW
noitcelloCnoitaminAticilpmI.noitisopmoC.IU.swodniW
noitcelloCnoitamrofnIeciveD.noitaremunE.seciveD.swodniW
noitcelloCnoitatonnAtceffE.scihparG.krowemarF.anX.tfosorciM
noitcelloCnoitcAreggirT.lmaX.IU.swodniW
noitcelloCnoitceSbuH.slortnoC.lmaX.IU.swodniW
noitcelloCnoitinifeDnmuloC.slortnoC.lmaX.IU.swodniW
noitcelloCnoitinifeDwoR.slortnoC.lmaX.IU.swodniW
noitcelloCnoitisnarT.noitaminA.aideM.lmaX.IU.swodniW
noitcelloCnoitsegguShcraeS.hcraeS.ledoMnoitacilppA.swodniW
noitcelloCnoitsegguShcraeSI.hcraeS.ledoMnoitacilppA.swodniW
noitcelloCpotStneidarG.aideM.lmaX.IU.swodniW
noitcelloCpotStneidarGroloCnoitisopmoCI.noitisopmoC.IU.swodniW
noitcelloCpotStneidarGroloCnoitisopmoC.noitisopmoC.IU.swodniW
noitcelloCredaeHesnopseRpttHI.sredaeH.pttH.beW.swodniW
noitcelloCredaeHesnopseRpttH.sredaeH.pttH.beW.swodniW
noitcelloCredaeHtnetnoCpttHI.sredaeH.pttH.beW.swodniW
noitcelloCredaeHtnetnoCpttH.sredaeH.pttH.beW.swodniW
noitcelloCredaeHtseuqeRpttHI.sredaeH.pttH.beW.swodniW
noitcelloCredaeHtseuqeRpttH.sredaeH.pttH.beW.swodniW
noitcelloCredivorPkniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
noitcelloCredivorPkniLtnetnoC.stnemucoD.lmaX.IU.swodniW
noitcelloCreggirT.lmaX.IU.swodniW
noitcelloCrekraMenilemiT.aideM.lmaX.IU.swodniW
noitcelloCremaGnIdengiS.secivreSremaG.krowemarF.anX.tfosorciM
noitcelloCretemaraPtceffE.scihparG.krowemarF.anX.tfosorciM
noitcelloCretsaCwodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
noitcelloCretsaCwodahSdetcejorPnoitisopmoC.noitisopmoC.IU.swodniW
noitcelloCssaPtceffE.scihparG.krowemarF.anX.tfosorciM
noitcelloCtceffEledoM.scihparG.krowemarF.anX.tfosorciM
noitcelloCtcejbOpnP.pnP.noitaremunE.seciveD.swodniW
noitcelloCtcejbOycnednepeD.lmaX.IU.swodniW
noitcelloCtnemelEIUI.slortnoC.lmaX.IU.swodniW
noitcelloCtnemelEIU.slortnoC.lmaX.IU.swodniW
noitcelloCtnemeveihcA.secivreSremaG.krowemarF.anX.tfosorciM
noitcelloCtnemgeShtaP.aideM.lmaX.IU.swodniW
noitcelloCtnenopmoCemaG.krowemarF.anX.tfosorciM
noitcelloCtnenopmoCenecSI.senecS.noitisopmoC.IU.swodniW
noitcelloCtnenopmoCenecS.senecS.noitisopmoC.IU.swodniW
noitcelloCtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
noitcelloCtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
noitcelloCtnioP.aideM.lmaX.IU.swodniW
noitcelloCtraPhseMledoM.scihparG.krowemarF.anX.tfosorciM
noitcelloCtsaoTI.snoitacifitoN.IU.swodniW
noitcelloCtsaoT.snoitacifitoN.IU.swodniW
noitcelloCtsilyalP.aideM.krowemarF.anX.tfosorciM
noitcelloCtsitrA.aideM.krowemarF.anX.tfosorciM
noitcelloCyeKevruC.krowemarF.anX.tfosorciM
noitcelloCyrtemoeG.aideM.lmaX.IU.swodniW
noitcennoCdraCtramSI.sdraCtramS.seciveD.swodniW
noitcennoCdraCtramS.sdraCtramS.seciveD.swodniW
noitcennoCecivreSdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
noitcennoCecivreSdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
noitcennoCecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
noitcennoCecivreSppAecruoSaideM.eroC.aideM.swodniW
noitcennoCecivreSppAecruoSaideMI.eroC.aideM.swodniW
noitcennoCecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
noitcennoCgnitsaC.gnitsaC.aideM.swodniW
noitcennoCgnitsaCI.gnitsaC.aideM.swodniW
noitcennoChparGoiduAI.oiduA.aideM.swodniW
noitcennoChparGoiduA.oiduA.aideM.swodniW
noitcennoClatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
noitcennoClatroPeciveD.latroPeciveD.scitsongaiD.metsyS.swodniW
noitcennoCoTyalPI.oTyalP.aideM.swodniW
noitcennoCoTyalP.oTyalP.aideM.swodniW
noitcennoCredivorPataDksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
noitcennoCredivorPataDtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
noitcennoCredivorPecivreSttaG.dnuorgkcaB.htooteulB.seciveD.swodniW
noitcennoCredivorPecivreSttaGI.dnuorgkcaB.htooteulB.seciveD.swodniW
noitcennoCredivorPrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
noitcennoCredivorPrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
noitcennoCrevieceRtsacariMI.tsacariM.aideM.swodniW
noitcennoCrevieceRtsacariM.tsacariM.aideM.swodniW
noitcennoCtekcoSbeWlatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
noitceriDeniLretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
noitceriDgnillorcSlenaP.slortnoC.lmaX.IU.swodniW
noitceriDhctertS.slortnoC.lmaX.IU.swodniW
noitceriDlacigoL.stnemucoD.lmaX.IU.swodniW
noitceriDllorcSyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
noitceriDlluPhserfeR.slortnoC.lmaX.IU.swodniW
noitceriDnoitagivaNnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
noitceriDnoitagivaN.poretnI.ledoMksaT.enohP.tfosorciM
noitceriDnoitagivaNsucoF.tupnI.lmaX.IU.swodniW
noitceriDnoitaminA.noitisopmoC.IU.swodniW
noitceriDnoitaminA.sevitimirP.slortnoC.enohP.tfosorciM
noitceriDnoitaminA.sevitimirP.slortnoC.lmaX.IU.swodniW
noitceriDpeewS.aideM.lmaX.IU.swodniW
noitceriDrefsnarTbsU.bsU.seciveD.swodniW
noitceriDrefsnarTsucoFYXweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
noitceriDrotareneG.sevitimirP.slortnoC.lmaX.IU.swodniW
noitceriDtroSyreuQliamE.liamE.ledoMnoitacilppA.swodniW
noitceriDtuoyaLegaugnaL.noitazilabolG.swodniW
noitceriDwolF.lmaX.IU.swodniW
noitceriDwolFtxeTdemiT.eroC.aideM.swodniW
noitceriDwolFwodniWeroC.eroC.IU.swodniW
noitceSataDClmXI.moD.lmX.ataD.swodniW
noitceSataDClmX.moD.lmX.ataD.swodniW
noitceSataDtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
noitceSataDtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
noitceSbuHI.slortnoC.lmaX.IU.swodniW
noitceSbuH.slortnoC.lmaX.IU.swodniW
noitcetorPpcdH.noitcetorP.aideM.swodniW
noitciderPemarFcihpargoloH.cihpargoloH.scihparG.swodniW
noitciderPemarFcihpargoloHI.cihpargoloH.scihparG.swodniW
noitcnuFdnelB.scihparG.krowemarF.anX.tfosorciM
noitcnuFerapmoC.scihparG.krowemarF.anX.tfosorciM
noitcnuFgnisaEnoitisopmoCI.noitisopmoC.IU.swodniW
noitcnuFgnisaEnoitisopmoC.noitisopmoC.IU.swodniW
noitcnuFgnisaEpetSI.noitisopmoC.IU.swodniW
noitcnuFgnisaEpetS.noitisopmoC.IU.swodniW
noitcnuFgnisaEraeniLI.noitisopmoC.IU.swodniW
noitcnuFgnisaEraeniL.noitisopmoC.IU.swodniW
noitcnuFgnisaEreizeBcibuCI.noitisopmoC.IU.swodniW
noitcnuFgnisaEreizeBcibuC.noitisopmoC.IU.swodniW
noitcurtsnIgnissecorPlmXI.moD.lmX.ataD.swodniW
noitcurtsnIgnissecorPlmX.moD.lmX.ataD.swodniW
noitelpmoCecivreSnoitcetorPaideMI.noitcetorP.aideM.swodniW
noitelpmoCecivreSnoitcetorPaideM.noitcetorP.aideM.swodniW
noitelpmoCksaTD3tnirP.D3gnitnirP.scihparG.swodniW
noitelpmoCksaTtnirP.gnitnirP.scihparG.swodniW
noitidnoCdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
noitidnoCmetsyS.dnuorgkcaB.ledoMnoitacilppA.swodniW
noitidnoCmetsySI.dnuorgkcaB.ledoMnoitacilppA.swodniW
noitidnoCsseccAcciU.srotarepOkrowteN.gnikrowteN.swodniW
noitinifeDdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
noitinifeDdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
noitinifeDnmuloCI.slortnoC.lmaX.IU.swodniW
noitinifeDnmuloC.slortnoC.lmaX.IU.swodniW
noitinifeDretemaraPtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
noitinifeDretemaraPtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
noitinifeDrotisopmoCoediVI.stceffE.aideM.swodniW
noitinifeDrotisopmoCoediV.stceffE.aideM.swodniW
noitinifeDsnlmX.pukraM.lmaX.IU.swodniW
noitinifeDtceffEbreveRI.oiduA.aideM.swodniW
noitinifeDtceffEbreveR.oiduA.aideM.swodniW
noitinifeDtceffEmrofsnarToediVI.stceffE.aideM.swodniW
noitinifeDtceffEmrofsnarToediV.stceffE.aideM.swodniW
noitinifeDtceffEnoitazilibatSoediV.eroC.aideM.swodniW
noitinifeDtceffEnoitceteDecaF.eroC.aideM.swodniW
noitinifeDtceffEnoitceteDecaFI.eroC.aideM.swodniW
noitinifeDtceffEoediVI.stceffE.aideM.swodniW
noitinifeDtceffEoediV.stceffE.aideM.swodniW
noitinifeDtceffEohcEI.oiduA.aideM.swodniW
noitinifeDtceffEohcE.oiduA.aideM.swodniW
noitinifeDtceffEoiduAI.stceffE.aideM.swodniW
noitinifeDtceffEoiduA.stceffE.aideM.swodniW
noitinifeDtceffEretimiLI.oiduA.aideM.swodniW
noitinifeDtceffEretimiL.oiduA.aideM.swodniW
noitinifeDtceffErezilauqEI.oiduA.aideM.swodniW
noitinifeDtceffErezilauqE.oiduA.aideM.swodniW
noitinifeDtceffEsisylanAenecS.eroC.aideM.swodniW
noitinifeDwoRI.slortnoC.lmaX.IU.swodniW
noitinifeDwoR.slortnoC.lmaX.IU.swodniW
noitinifeDytreporPmetIredivorPegarotSI.redivorP.egarotS.swodniW
noitinifeDytreporPmetIredivorPegarotS.redivorP.egarotS.swodniW
noitisnarT3rotceVI.lmaX.IU.swodniW
noitisnarT3rotceV.lmaX.IU.swodniW
noitisnarTemehTecnartnEI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTecnartnE.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTenaPI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTenaP.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTeteleDddAI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTeteleDddA.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTIUegdEI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTIUegdE.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTnoitagivaNI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTnoitagivaN.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTnoitisopeRI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTnoitisopeR.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTpupoPI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTpupoP.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTredroeRI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTredroeR.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTtnetnoCI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTemehTtnetnoC.noitaminA.aideM.lmaX.IU.swodniW
noitisnarThsurBI.lmaX.IU.swodniW
noitisnarThsurB.lmaX.IU.swodniW
noitisnarTI.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTlausiVI.lmaX.IU.swodniW
noitisnarTlausiV.lmaX.IU.swodniW
noitisnarT.noitaminA.aideM.lmaX.IU.swodniW
noitisnarTralacSI.lmaX.IU.swodniW
noitisnarTralacS.lmaX.IU.swodniW
noitisoPhctiwSrellortnoCemaG.tupnI.gnimaG.swodniW
noitisoPkcoD.noitamotuA.lmaX.IU.swodniW
noitisoPlebaLraBdnammoC.slortnoC.lmaX.IU.swodniW
noitisoPlebaLtluafeDraBdnammoC.slortnoC.lmaX.IU.swodniW
noitisopmoCaideM.gnitidE.aideM.swodniW
noitisopmoCaideMI.gnitidE.aideM.swodniW
noitisoPnoitacifitoN.secivreSremaG.krowemarF.anX.tfosorciM
noitisopoeGcisaB.noitacoloeG.seciveD.swodniW
noitisopoeGI.noitacoloeG.seciveD.swodniW
noitisopoeG.noitacoloeG.seciveD.swodniW
noitisoProtareneG.sevitimirP.slortnoC.lmaX.IU.swodniW
noitisopsiDekortSteWeroC.eroC.gniknI.tupnI.IU.swodniW
noitisopsiDetaerCataDnoitacilppA.egarotS.swodniW
noitisopsiDnepOeliF.smaertS.egarotS.swodniW
noitisopsiDnoitaerCtseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
noitisoPteraCnoitamotuA.noitamotuA.lmaX.IU.swodniW
noitisoPtxeTedocraBretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
noitisoPweiVliateDtellaW.tellaW.ledoMnoitacilppA.swodniW
noitisoPweiVyrammuStellaW.tellaW.ledoMnoitacilppA.swodniW
noitisoPyalrevOtahCemaG.IU.gnimaG.swodniW
noitoMaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
noitoMaitrenIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
noitoMI.srosneS.seciveD.tfosorciM
noitoMlarutaNaitrenI2rotceVrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
noitoMlarutaNaitrenI2rotceVrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
noitoMlarutaNaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
noitoMlarutaNaitrenIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
noitoM.srosneS.seciveD.tfosorciM
noitpecxEataD.ataD.metsyS
noitpecxEbD.nommoC.ataD.metsyS
noitpecxEdaoLtnetnoC.tnetnoC.krowemarF.anX.tfosorciM
noitpecxEdelbasiDoidaR.oidaR.seciveD.tfosorciM
noitpecxEdeliaFgnidniBcimanyD.redniBemitnuR.prahSC.tfosorciM
noitpecxEdeliaFretemoreleccA.srosneS.seciveD.tfosorciM
noitpecxEdeliaFrosneS.srosneS.seciveD.tfosorciM
noitpecxEderiuqeRetadpUemaG.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxEdetcennoCenohporciMoN.oiduA.krowemarF.anX.tfosorciM
noitpecxEdniBteseR.redniBemitnuR.prahSC.tfosorciM
noitpecxEeciveDscihparGelbatiuSoN.scihparG.krowemarF.anX.tfosorciM
noitpecxEecivreSreludehcS.reludehcS.enohP.tfosorciM
noitpecxEegelivirPremaG.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxEelbaliavAtoNkrowteN.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxEelbaliavAtoNsecivreSremaG.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxEelbisiVydaerlAediuG.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxEerawdraHoiduAoN.oiduA.krowemarF.anX.tfosorciM
noitpecxEgnipyTgnortS.ataD.metsyS
noitpecxEkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
noitpecxEkrowteN.secivreSremaG.krowemarF.anX.tfosorciM
noitpecxElanretnIrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.enohP.tfosorciM
noitpecxEnoitagivaNresworBbeW.slortnoC.enohP.tfosorciM
noitpecxEredniBemitnuR.redniBemitnuR.prahSC.tfosorciM
noitpecxErelipmoClanretnIredniBemitnuR.redniBemitnuR.prahSC.tfosorciM
noitpecxEresraPmaertSyratnemelEdezitekcaP.smaertSyratnemelE.aideM.enohP.tfosorciM
noitpecxErorrElanretnI.secivreSrelipmoC.cisaBlausiV.tfosorciM
noitpecxErotcartxEtiB.smaertSyratnemelE.aideM.enohP.tfosorciM
noitpecxEteseRtoNeciveD.scihparG.krowemarF.anX.tfosorciM
noitpecxEtimiLyalPecnatsnI.oiduA.krowemarF.anX.tfosorciM
noitpecxEtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
noitpecxEtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
noitpecxEtrobAtnegA.enohP.tfosorciM
noitpecxEtsoLeciveD.scihparG.krowemarF.anX.tfosorciM
noitpecxExumeDmaertStropsnarT.smaertSyratnemelE.aideM.enohP.tfosorciM
noitpircsbuStnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
noitpircsbuStnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
noitpircseDaideMeliforPoediVerutpaCaideM.erutpaC.aideM.swodniW
noitpircseDaideMeliforPoediVerutpaCaideMI.erutpaC.aideM.swodniW
noitpircseDecafruSD3tceriD.11D3tceriD.XtceriD.scihparG.swodniW
noitpircseDegaPtnirP.gnitnirP.scihparG.swodniW
noitpircseDelpmasitluMD3tceriD.11D3tceriD.XtceriD.scihparG.swodniW
noitpircseDenalPpamtiB.gnigamI.scihparG.swodniW
noitpircseDlortnoCciremuNdiH.eciveDecafretnInamuH.seciveD.swodniW
noitpircseDlortnoCciremuNdiHI.eciveDecafretnInamuH.seciveD.swodniW
noitpircseDlortnoCnaelooBdiH.eciveDecafretnInamuH.seciveD.swodniW
noitpircseDlortnoCnaelooBdiHI.eciveDecafretnInamuH.seciveD.swodniW
noitpircseDnoitaminAI.scirteMnoitaminA.eroC.IU.swodniW
noitpircseDnoitaminA.scirteMnoitaminA.eroC.IU.swodniW
noitpircseDratavA.secivreSremaG.krowemarF.anX.tfosorciM
noitpircseDreffuBD3gnitnirP.D3gnitnirP.scihparG.swodniW
noitpircseDtnetnoCdetaRI.snoitcirtseRtnetnoC.aideM.swodniW
noitpircseDtnetnoCdetaR.snoitcirtseRtnetnoC.aideM.swodniW
noitpircseDyramirPyalpsiD.eroC.yalpsiD.seciveD.swodniW
noitpircseDyramirPyalpsiDI.eroC.yalpsiD.seciveD.swodniW
noitpOeteleDegarotS.egarotS.swodniW
noitpOetirWttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
noitpOevaSlaitnederC.IU.slaitnederC.ytiruceS.swodniW
noitpOgnidahSD3ledoMpaM.spaM.slortnoC.lmaX.IU.swodniW
noitpOgnipmalCrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
noitpOgnippihStnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
noitpOgnippihStnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
noitpOhserfeResneciL.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
noitpOkcatSetaD.hcraeS.egarotS.swodniW
noitpOnoisilloCemaN.egarotS.swodniW
noitpOnoisilloCnoitaerC.egarotS.swodniW
noitpOnoitaerClaitnederCyeK.slaitnederC.ytiruceS.swodniW
noitpOnoitelpmoCpttH.pttH.beW.swodniW
noitpOoreZdengiSI.gnittamroFrebmuN.noitazilabolG.swodniW
noitpOrdHyalpsiDimdH.eroC.yalpsiD.scihparG.swodniW
noitpOrednuoRrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
noitpOrexednI.hcraeS.egarotS.swodniW
noitpOstigiDtnacifingiSI.gnittamroFrebmuN.noitazilabolG.swodniW
noitpOstnevEssecorPeroC.eroC.IU.swodniW
noitpOtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
noitpOtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
noitpOtohsneercSevaSgnidroceRppA.gnidroceRppA.aideM.swodniW
noitpOtropxE.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
noitpOyciloPretcarahCniPdraCtramS.sdraCtramS.seciveD.swodniW
noitsegguShcraeS.eroC.hcraeS.ledoMnoitacilppA.swodniW
noitsegguShcraeSI.eroC.hcraeS.ledoMnoitacilppA.swodniW
noitsegnoCciffarT.spaM.secivreS.swodniW
noitubirttAytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
noitubirttAytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
noituloseRdaolrevO.secivreSrelipmoC.cisaBlausiV.tfosorciM
noituloseRemaNelpmiSrOepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
noituloseRemaN.noitamrofnIkrowteN.teN.enohP.tfosorciM
noituloseRnoisrevnoC.secivreSrelipmoC.cisaBlausiV.tfosorciM
noituloseRoediVxaMIUerutpaCaremaC.erutpaC.aideM.swodniW
noituloseRotohPxaMIUerutpaCaremaC.erutpaC.aideM.swodniW
noituloseRrennacSegamI.srennacS.seciveD.swodniW
    --no-keepalive
No known authentication mechanisms supported
no lock available
nolog                             Stop Logging To File
no longer available
No LUN selected
No mapping for iCls key type: 
NO MEMORY
no message
no message available
(no message found)
nommoCdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
no more activations available
No motion sensor detected
no multipart to terminate!
NO NAME    
NO NAME    FAT12   3
NO NAME    FAT32   3
nonCoherentAtomSize
NonEchoConfigId
No need to store backward compatibility SocketPort. Key does not exist.
    -none-            Start the application as a framework helper service.
 (non-permanent)
    --no-npn
NON_PRIMARY_FEATURE_LOAD
NON_S3DW(#
(non-sparse)
(non-transient)
No NV handle defined for given key type: 
_nonVolatile
No output file specified
No parameter is required for tools command
No persistent place in TPM for Endorsment Key!
No port selected
    --no-progress-meter
no protocol option
no_protocol_option
No provider selected
No proximity sensor detected
no_proxy
NO_PROXY
	NoRemove AppID
    NoRemove AppID
		NoRemove Classes
			NoRemove CLSID
	NoRemove CLSID
    NoRemove CLSID
	NoRemove Software
NoRetryStatus
No return context was supplied for InitOnceGetStringTableOffset
No return context was supplied for InitOnceScanIndexes
Normaliz.dll
NormalWW
NormBlob
North Carolina1
nosaeRdegnahCdelbanEtceffEnoitazilibatSoediV.eroC.aideM.swodniW
nosaeRdegnahCetartiBdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
nosaeRdegnahCmetIkcabyalPaideM.kcabyalP.aideM.swodniW
nosaeRdekcolBllaCenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
nosaeRdekoveRdnuorgeroFnoitucexEdednetxE.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
nosaeRdekoveRnoitucexEdednetxE.noitucexEdednetxE.ledoMnoitacilppA.swodniW
nosaeRderiuqeRnoitnettAetadpUmetsyS.etadpU.metsyS.swodniW
nosaeRdesolCecruoSmaertSaideM.eroC.aideM.swodniW
nosaeRdesolCnoitcennoClatroPeciveD.latroPeciveD.scitsongaiD.metsyS.swodniW
nosaeRdesolCtceffEaideM.stceffE.aideM.swodniW
nosaeRdesolCwodniWppA.tnemeganaMwodniW.IU.swodniW
nosaeRdessimsiDllaCgnimocnIenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
nosaeRdessimsiD.secivreSremaG.krowemarF.anX.tfosorciM
nosaeRdetavitcaeDnoitcennoCrotalumEdraCtramS.sdraCtramS.seciveD.swodniW
nosaeRdetcennocsiDnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
nosaeRdnuorgeroFnoitucexEdednetxE.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
nosaeRedoMtsacdaorBtixEtsacdaorBppA.erutpaC.aideM.swodniW
nosaeRegnahCaremaCpaM.spaM.slortnoC.lmaX.IU.swodniW
nosaeRegnahCtxeTxoBnoitsegguSotuA.slortnoC.lmaX.IU.swodniW
nosaeReruliaFedocsnarT.gnidocsnarT.aideM.swodniW
nosaeReruliaFtratseRppA.eroC.ledoMnoitacilppA.swodniW
nosaeRgnitadpUtamroFtxeTeroC.eroC.txeT.IU.swodniW
nosaeRhcnuaLtnegAPIoV.stsnoCderahStnegAdnuorgkcaB.enohP.tfosorciM
nosaeRhcnuaLtnegAssergorPnIllaCpioV.pioV.gnikrowteN.enohP.tfosorciM
nosaeRhctaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
nosaeRhctaMtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
nosaeRlassimsiDtsaoT.snoitacifitoN.IU.swodniW
nosaeRlavomeRecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
nosaeRnoitadargeDredoceDoiduA.eroC.aideM.swodniW
nosaeRnoitagivaNsucoFecruoSlmaX.gnitsoH.lmaX.IU.swodniW
nosaeRnoitallecnaCksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
nosaeRnoitanimreTtsacdaorBppA.erutpaC.aideM.swodniW
nosaeRnoitavitcaeD.llehS.enohP.tfosorciM
nosaeRnoitcirtsnoCoediVnoisseSkcabyalPaideM.kcabyalP.aideM.swodniW
nosaeRnoitelpmoCdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
nosaeRnoitucexEdednetxE.noitucexEdednetxE.ledoMnoitacilppA.swodniW
nosaeRreggirTytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
nosaeRrorrEsoPdeifinU.ecivreSfOtnioP.seciveD.swodniW
nosaeRsucoFevoMlortnoCweiVbeW.poretnI.IU.beW.swodniW
nosaeRtcejeRllaCenohPpioV.sllaC.ledoMnoitacilppA.swodniW
nosaeRtcennocsiDrevieceRtsacariM.tsacariM.aideM.swodniW
nosaeRteseRreggirTlennahClortnoC.stekcoS.gnikrowteN.swodniW
nosaeRtixEtnegA.reludehcS.enohP.tfosorciM
nosaeRtsoLnoisseSnyoJllA.nyoJllA.seciveD.swodniW
NoScratch
;No se han encontrado los siguientes archivos o aplicaciones
No sensors detected
    --no-sessionid
NO_SETTINGS_TO_CLEAN
NO_SETTINGS_TO_RESTORE
No SIUF scenarios. Leaving...
NoSnapshot
no space on device
nosrePnoitacidnySI.noitacidnyS.beW.swodniW
nosrePnoitacidnyS.noitacidnyS.beW.swodniW
no state
No storage pool selected
no stream resources
No stringtable in DB
No subsystem pointer
No subsystem selected
no such device
no such device or address
no such file or directory
no such process
No suitable blobs found for Spooler session creation
not a directory
  NotAfter
not allowed
No target portal group selected
No target portal selected
No target selected
not a socket
not_a_socket
not a stream
  NotBefore
not compatible
not connected
not_connected
NOT DEFINED
Not empty
not enough memory
not enough size
- not enough space for arguments
- not enough space for environment
- not enough space for locale information
- not enough space for lowio initialization
- not enough space for stdio initialization
- not enough space for thread data
notepad.cpp
                    Note: This option does not affect html or json output;
' not found
_notifcation
_notification
Notification
NotificationAttributes
NotificationBaseWrapper
NotificationCallBackFunction
_notificationClient
_notificationData
_notificationDataSize
NotificationDataSizeOffset
NotificationDialogProperties
NotificationHandleAlreadyRegistered
NotificationHandleNotRegistered
_notificationHeaderData
notification_listener.h
notification_listener_impl.cpp
notification_listener_impl.h
notificationlistenertest.cpp
notificationmanager.cpp
notificationmanager.h
notificationmanagertests.cpp
notification_order_manager.h
notification_order_manager_impl.cpp
notification_order_manager_impl.h
notificationordermanagertests.cpp
_notificationReaderFactory
NotificationsReadThreshold
_notificationType
NotificationTypeOffset
notifier_manager.hpp
notifier_manager_test.cpp
notifier_process.hpp
NotifyCollectionChangedEventArgs
NotifyCollectionChangedEventHandler
NotifyEnable
NotifyETDCtrlClose
NotifyExceptForCortana
NotifyServiceStatusChangeW
notify_shell_session.hpp
NotifyUifSvc
NotifyUIFSvcConnnectFailure
NotifyUifSvcFailed
NotifyUIFSvcSuccess
NotifyWinEvent
NotImplementedException
not installed
Not meeting HDCP Minimum Requirement
not possible
NotPresent
no transfer performed
NOT_READY
...not revoked.
not successful (No compatible upgrades)
not supported
Not supported.
NotSupportedClientProxyApiVersionSelector
NotSupportedException
NotSupportedIntelClientProxyDecorator
NotSupportedMultiPaSetupProxyDecorator
nottuBelggoTI.sevitimirP.slortnoC.lmaX.IU.swodniW
nottuBelggoTmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBelggoTmotsuCrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBelggoTrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBelggoTrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
nottuBelggoTraBppA.slortnoC.lmaX.IU.swodniW
nottuBelggoT.sevitimirP.slortnoC.lmaX.IU.swodniW
nottuBgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
nottuBI.slortnoC.lmaX.IU.swodniW
nottuBknilrepyHI.slortnoC.lmaX.IU.swodniW
nottuBknilrepyH.slortnoC.lmaX.IU.swodniW
nottuBlicnePrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBlicnePrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBlicnetSrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBlicnetSrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBlooTmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBlooTmotsuCrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBlooTrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBlooTrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBnePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBnePmotsuCrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBnePrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBnePrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBnePtniopllaBrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBnePtniopllaBrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBnocIraBnoitacilppAI.llehS.enohP.tfosorciM
nottuBnocIraBnoitacilppA.llehS.enohP.tfosorciM
nottuBnwoDporDI.slortnoC.lmaX.IU.swodniW
nottuBnwoDporD.slortnoC.lmaX.IU.swodniW
nottuBoidaRI.slortnoC.lmaX.IU.swodniW
nottuBoidaR.slortnoC.lmaX.IU.swodniW
nottuBraBppAI.slortnoC.lmaX.IU.swodniW
nottuBraBppA.slortnoC.lmaX.IU.swodniW
nottuBreluRrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBreluRrablooTknI.slortnoC.lmaX.IU.swodniW
nottuBreppilF.sevitimirP.slortnoC.enohP.tfosorciM
nottuBresarErablooTknII.slortnoC.lmaX.IU.swodniW
nottuBresarErablooTknI.slortnoC.lmaX.IU.swodniW
nottuBrethgilhgiHrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBrethgilhgiHrablooTknI.slortnoC.lmaX.IU.swodniW
nottuB.slortnoC.lmaX.IU.swodniW
nottuBslortnoCtropsnarTaideMmetsyS.aideM.swodniW
nottuBtaepeRI.sevitimirP.slortnoC.lmaX.IU.swodniW
nottuBtaepeR.sevitimirP.slortnoC.lmaX.IU.swodniW
nottuBtilpSelggoTI.slortnoC.lmaX.IU.swodniW
nottuBtilpSelggoT.slortnoC.lmaX.IU.swodniW
nottuBtilpSI.slortnoC.lmaX.IU.swodniW
nottuBtilpS.slortnoC.lmaX.IU.swodniW
nottuBtratS.seciveD.tfosorciM
nottuBuneMrablooTknII.slortnoC.lmaX.IU.swodniW
nottuBuneMrablooTknI.slortnoC.lmaX.IU.swodniW
NO Tuning File Found! Please check with your driver vendor!
No type found
No URL set
no URL specified!
No user input for required time
nOutputBufferSize
November
No WWN specified after keyword WWN
npsgilmoq
nPublishFromServerWWW
nRegistrationIDW
nrettaPetyBtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
nrettaPetyBtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
nrettaP.evitcaeR.enohP.tfosorciM
nrm_path
NRRP4RRRR4RTUUTTTTTTC
NRUTERRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
Nr]x'poc2[
nSamplesPerSec
nSizeCfg
nSizeRRArray
nSizeWWW
NtAdjustPrivilegesToken
ntainterface.h
NtAllocateLocallyUniqueId
NtAllocateVirtualMemory
NtAlpcAcceptConnectPort
NtAlpcConnectPort
NtAlpcCreatePort
NtAlpcOpenSenderProcess
NtAlpcQueryInformationMessage
NtAlpcSendWaitReceivePort
NtCancelIoFile
NtCancelSynchronousIoFile
NtClearEvent
NtCompareSigningLevels
NtCreateEvent
NtCreateFile
NtCreateKey
NtCreateWnfStateName
NtDelayExecution
NtDeleteKey
NtDeleteWnfStateName
NtDeviceIoControlFile
NtDisplayString
ntdll.dll
NtDrawText
NTDSAPI.dll
NtDuplicateObject
NtDuplicateToken
NtEnumerateBootEntries
NtFlushBuffersFile
NtFreeVirtualMemory
NTFS    
NTFS 4.0
NTFS 5.0
NtFsControlFile
NTFS    H
NTFS    H9N
ntfstofsmetadataconverter.hpp
NtGetCachedSigningLevel
nthSkippedReasonFlag
NtImageInfo
NTLDR      
NTLDR is compressed
NTLDR is missing
    --ntlm
NTLM auth restarted
NtlmClientInitialize_End
NtlmClientInitialize_Start
NTLM handshake failure (empty type-2 message)
NTLM handshake failure (internal error)
NTLM handshake rejected
NtlmLogonUser_End
NtlmLogonUser_Start
NtlmServerAccept_End
NtlmServerAccept_Info
NtlmServerAccept_Start
NtlmValidateUser_End
NtlmValidateUser_Start
    --ntlm-wb
NtLoadDriver
NtLoadKeyEx
NTMARTA.dll
NtOpenDirectoryObject
NtOpenFile
NtOpenKey
NtOpenProcess
NtOpenProcessToken
NtOpenProcessTokenEx
NtOpenSymbolicLinkObject
NtOpenThreadToken
NtOpenThreadTokenEx
NtPowerInformation
NtPrivilegeCheck
NtQueryAttributesFile
NtQueryBootEntryOrder
NtQueryBootOptions
NtQueryDirectoryObject
NtQueryInformationFile
NtQueryInformationProcess
NtQueryInformationThread
NtQueryInformationToken
NtQueryLicenseValue
NtQueryMutant
NtQueryPerformanceCounter
NtQuerySecurityPolicy
NtQuerySymbolicLinkObject
NtQuerySystemEnvironmentValue
NtQuerySystemInformation
NtQuerySystemInformationEx
NtQuerySystemTime
NtQueryValueKey
NtQueryVolumeInformationFile
NtQueryWnfStateData
NtQueryWnfStateData failed.
NtReadFile
NtReadVirtualMemory
NtResetEvent
NtSerializeBoot
NtSetEvent
NtSetInformationFile
NtSetInformationProcess
NtSetInformationThread
NtSetInformationVirtualMemory
NtSetSecurityObject
NtSetSystemInformation
NtSetThreadExecutionState
NtSetValueKey
NtSetVolumeInformationFile
NtShutdownSystem
NTStatus
NTSTATUS
NTSTATUS __stdcall
NTSYSAPI
NtTerminateProcess
NtTerminateThread
NtTranslateFilePath
NtUpdateWnfStateData
NtWaitForMultipleObjects
NtWaitForSingleObject
NtWriteFile
NtWriteVirtualMemory
Nul byte in header
NullableAttribute
NullableContextAttribute
NullableFlags
NULL action pointer received
NULL argument pointer for EsifToolExecute
NULL argument pointer for EsifToolTerminate
nullband_high
nullband_low
NULL buffer
NULL buffer returned
nullDescriptor
Null environment
NULL GUID
NULL instance of 
NULL interface pointer
null literal
NULL object pointer parameter
NULL pguidDB passed in
nullptr parameter input!
NULL request pointer
NULL string pointer for tool argument
NULL string pointer for tool name
nullusercatalog.cpp
nullusercatalog.h
NumAllocationFailures
Number is too big
Number is too big.
number literal
_numberOfActivePas
NumberOfBytesToReadW
Number of files is too big
NumberOfPagesCheckpointed
Number of persistent handles: 
Number of redirects hit maximum amount
NumberOfRefChannels
Number of supported devices exceeded
_numberOfSupportedLanguages
Number of XML attributes greater than expected maximum
number overflow parsing '
NumBucketLimitReached
NumBytes
num_connects
numDuplicates
NumFlushes
numGlitches
num_headers
NumLargeEventFailures
NumPointsWWW
#numPorts
NumRecords
num_redirects
nuRI.stnemucoD.lmaX.IU.swodniW
nuR.stnemucoD.lmaX.IU.swodniW
nvapi_pepQueryInterface
nvapi_QueryInterface
NVIDIAWW
nXL9nPt4A
?!?.?:?N?Z?o?
o1K	U|N@
O2ePowerPowerW 5
O8H;9ulH;
O8H;O8r0
O8H;OHuVL
o" abaixo para abrir Lenovo Settings 
o" abaixo para abrir o Gerenciador do teclado.
_o_abort
_o___acrt_iob_func
oauth2-bearer
OAuth 2 Bearer Token
OAUTHBEARER
o autorizadas.
o autorizados.
			-o-background-size: cover;
_o__beginthreadex
objCollection
Object dump complete.
ObjectExtensions
objectGetOptions
ObjectGetOptions
object_hooks.cpp
object_hooks.h
object key
objectpointer
ObjectQuery
object separator
.ObjectWW
objsFree
objsGranted
objsInUse
obK715Jbo
_o_bsearch_s
ObsoleteAttribute
Obtain AIK failed.
Obtain AIK Failed.
Obtain AIK task executed successfully.
Obtaining AIK
_o__callnewh
_o_calloc
occlusionQueryPrecise
_o__cexit
ocK826Kco
_o__configthreadlocale
_o__configure_narrow_argv
_o__configure_wide_argv
ocPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
ocPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
ocQDG[do
_o__crt_atexit
OCSP_CERT_ID                CertId;
oCSPPublishWWd
OCSP_SIGNATURE_INFO         SignatureInfo;
oD9eTu]H
o da tecla definida pelo usu
od[GCRco
OdwFeatureWWWX4
o e diferente.
OedIoctlControl
oediVerotS.erotS.secivreS.swodniW
oediVerotSI.erotS.secivreS.swodniW
oediVevitaN.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
OedNotification
OedNotificationsHandlingModes
OedNotificationType
oemAppSpecified
oemAppValid
OEM BIOS-Embedded DataVault
oemGroupBranding
_o__errno
_o__exit
_o_fclose
O(fD99toA
office_interface.cpp
office_streaming_manager.cpp
office_streaming_manager.h
OfflineController
OfflineDrive
OfflineLun
OfflinePackageHandler
OFFLINE_PACKAGE_NOT_FOUND
OFFLINE_PACKAGE_OPERATION_IO_ERROR
OFFLINE_PACKAGE_OPERATION_UNAUTHORIZED_ACCESS_ERROR
offlinePackageZipPath
OfflineSubsystem
OffloadPositionAdjustment
_o_fflush
Offset and region size add up to cause an integer overflow or underflow
OffsetRect
OffsetRgn
OffsetViewportOrgEx
||offZZZJj
_o_fgetc
_o_fgetpos
_o_fgetwc
_o__fileno
OFilePathL
_o_floor
ofnIboJeliTeviLMPI.llehS.enohP.tfosorciM
ofnIboJtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
ofnIboJtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
ofnIbolBevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
ofnIbolBevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
ofnIcedoC.eroC.aideM.swodniW
ofnIcedoCI.eroC.aideM.swodniW
ofnIcitsongaiDmetsySI.scitsongaiD.metsyS.swodniW
ofnIcitsongaiDmetsyS.scitsongaiD.metsyS.swodniW
ofnIcitsongaiDppAI.metsyS.swodniW
ofnIcitsongaiDppA.metsyS.swodniW
ofnIcitsongaiDssecorPI.scitsongaiD.metsyS.swodniW
ofnIcitsongaiDssecorP.scitsongaiD.metsyS.swodniW
ofnIcnysAI.noitadnuoF.swodniW
ofnIdapemaGtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIdapemaGtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIdedoCemiTenOrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIdedoCemiTenOrotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIdetavitcAeliTI.noitavitcA.ledoMnoitacilppA.swodniW
ofnIdetavitcAeliT.noitavitcA.ledoMnoitacilppA.swodniW
OFNIDLEIFRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ofnIdohteMdenifederP.scitnameS.redniBemitnuR.prahSC.tfosorciM
OFNIDOHTEMRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ofnIdraobyeKtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIdraobyeKtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIecafretnIkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
ofnIecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
ofnIecafruSlaitapS.secafruS.laitapS.noitpecreP.swodniW
ofnIecalPI.spaM.secivreS.swodniW
ofnIecalP.spaM.secivreS.swodniW
ofnIecapsemaNnpVI.npV.gnikrowteN.swodniW
ofnIecapsemaNnpV.npV.gnikrowteN.swodniW
ofnIecarTcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
ofnIecarTcitsongaiDmroftalPI.gnitropeRecarT.scitsongaiD.metsyS.swodniW
ofnIeciveDtroppuSmetsySI.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
ofnIeciveDtroppuSmetsyS.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
ofnIecivreSmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
ofnIecivreSmiSE.srotarepOkrowteN.gnikrowteN.swodniW
ofnIecivreSnyoJllAI.nyoJllA.seciveD.swodniW
ofnIecivreSnyoJllA.nyoJllA.seciveD.swodniW
ofnIecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
ofnIecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
ofnIedoMyalpsiD.eroC.yalpsiD.seciveD.swodniW
ofnIedoMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
ofnIegamImetIgnitaRI.slortnoC.lmaX.IU.swodniW
ofnIegamImetIgnitaR.slortnoC.lmaX.IU.swodniW
ofnIegaPtnirP.gnitnirP.scihparG.swodniW
ofnIegaPtnirPI.gnitnirP.scihparG.swodniW
ofnIegasseMnyoJllAI.nyoJllA.seciveD.swodniW
ofnIegasseMnyoJllA.nyoJllA.seciveD.swodniW
ofnIegatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIegatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIegnaRsmetII.ataD.lmaX.IU.swodniW
ofnIeliTMPI.llehS.enohP.tfosorciM
ofnIemaNevitanretlAtcejbuSI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIemaNevitanretlAtcejbuS.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIemaNniamoDnpVI.npV.gnikrowteN.swodniW
ofnIemaNniamoDnpV.npV.gnikrowteN.swodniW
ofnIemitnuRecarTcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
ofnIemitnuRecarTcitsongaiDmroftalPI.gnitropeRecarT.scitsongaiD.metsyS.swodniW
ofnIenaLecnadiuG.ecnadiuG.spaM.secivreS.swodniW
ofnIenaLecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
ofnIesuoMtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIesuoMtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIgarDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
ofnIgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
ofnIgnidaerhTnoitasrevnoCtahCI.tahC.ledoMnoitacilppA.swodniW
ofnIgnidaerhTnoitasrevnoCtahC.tahC.ledoMnoitacilppA.swodniW
ofnIgninoisivorPecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
ofnIgninoisivorPecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
ofnIgnitaRnoitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
ofnIgnitaRnoitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
ofnIgniteeMliamEI.liamE.ledoMnoitacilppA.swodniW
ofnIgniteeMliamE.liamE.ledoMnoitacilppA.swodniW
ofnIhcuoTtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIhcuoTtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIkcabllaCraBppA.poretnI.llehS.enohP.tfosorciM
ofnIkcabyalPnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
ofnIkcabyalPnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
ofnIkdS.TRniW.derahS.gnisitrevdA.tfosorciM
ofnIkniLtnetnoCI.txeT.IU.swodniW
ofnIkniLtnetnoC.txeT.IU.swodniW
ofnIliateR.eliforP.metsyS.swodniW
ofnImaertSecivreSdnuorgkcaBtsacdaorBppA.erutpaC.aideM.swodniW
ofnImaertSecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
ofnImetIgnitaRI.slortnoC.lmaX.IU.swodniW
ofnImetIgnitaR.slortnoC.lmaX.IU.swodniW
ofnImrIliamEI.liamE.ledoMnoitacilppA.swodniW
ofnImrIliamE.liamE.ledoMnoitacilppA.swodniW
ofnIneercSkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
ofnIneercSkcoL.neercSkcoL.ledoMnoitacilppA.swodniW
ofnInePtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
ofnInePtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnInIngiSecivreSdnuorgkcaBtsacdaorBppA.erutpaC.aideM.swodniW
ofnInIngiSecivreSdnuorgkcaBtsacdaorBppAI.erutpaC.aideM.swodniW
ofnInoisreVrellortnoCemaG.motsuC.tupnI.gnimaG.swodniW
ofnInoisreVscitylanA.eliforP.metsyS.swodniW
ofnInoisreVscitylanAI.eliforP.metsyS.swodniW
ofnInoisseSdnAstnuoccAderetsigernUrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoisseSdnAstnuoccAderetsigernUrotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
ofnInoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
ofnInoisseSrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoisseSrotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoitacifitnedImetsyS.eliforP.metsyS.swodniW
ofnInoitacifitnedImetsySI.eliforP.metsyS.swodniW
ofnInoitartsigeRlaitnederCyeKesirpretnEI.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoitartsigeRlaitnederCyeKesirpretnE.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnInoitcafsitaSesneciLI.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
ofnInoitcafsitaSesneciL.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
ofnInoitceleSI.ataD.lmaX.IU.swodniW
ofnInoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
ofnInoitcennoCmetsySetomeR.smetsySetomeR.metsyS.swodniW
ofnInoitcetorPataD.ataDesirpretnE.ytiruceS.swodniW
ofnInoitcetorPataDI.ataDesirpretnE.ytiruceS.swodniW
ofnInoitcetorPeliF.ataDesirpretnE.ytiruceS.swodniW
ofnInoitcetorPeliFI.ataDesirpretnE.ytiruceS.swodniW
ofnInoitcetorPmetIegarotSataDresUI.noitcetorPataD.ytiruceS.swodniW
ofnInoitcetorPmetIegarotSataDresU.noitcetorPataD.ytiruceS.swodniW
ofnInoitisnarTnoitagivaNecnartnEI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNecnartnE.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNedilSI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNedilS.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNmuunitnoCI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNmuunitnoC.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNnIllirDI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNnIllirD.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaN.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNnommoCI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNnommoC.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNsserppuSI.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitisnarTnoitagivaNsserppuS.noitaminA.aideM.lmaX.IU.swodniW
ofnInoitpircsbuSerotS.erotS.secivreS.swodniW
ofnInoitpircsbuSerotSI.erotS.secivreS.swodniW
ofnIpmaLI.sthgiL.seciveD.swodniW
ofnIpmaL.sthgiL.seciveD.swodniW
ofnIpmatsemiTsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIpmatsemiTsmC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIppAcissalCdellatsnII.weiverP.tnemyolpeD.tnemeganaM.swodniW
ofnIppAcissalCdellatsnI.weiverP.tnemyolpeD.tnemeganaM.swodniW
ofnIppAI.ledoMnoitacilppA.swodniW
ofnIppA.ledoMnoitacilppA.swodniW
ofnIpuorGecruoseRppAI.metsyS.swodniW
ofnIpuorGecruoseRppA.metsyS.swodniW
ofnIputeSmetsyS.eliforP.metsyS.swodniW
ofnIrebmuNenohP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
ofnIrebmuNenohPI.gnittamroFrebmuNenohP.noitazilabolG.swodniW
ofnIredivorPemarFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
ofnIredivorPemarFnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
ofnIredivorPreggirTtsacdaorBppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
ofnIredivorPreggirTtsacdaorBppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
ofnIredivorPrellortnoCemaG.weiverP.tupnI.gnimaG.swodniW
ofnIrellatsnIppAI.ledoMnoitacilppA.swodniW
ofnIrellatsnIppA.ledoMnoitacilppA.swodniW
ofnIrengiSsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIrengiSsmC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
ofnIreniatnoCevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
ofnIreniatnoCevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
ofnIrerutcafunaMerawdraHerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnIrerutcafunaMerawdraHerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnIresoohC.sksaT.enohP.tfosorciM
ofnIresUlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
ofnIresUlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
ofnIretnioPtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
ofnIroloCdecnavdAI.yalpsiD.scihparG.swodniW
ofnIroloCdecnavdA.yalpsiD.scihparG.swodniW
ofnIrorrEtsaLetadpUmetsyS.etadpU.metsyS.swodniW
ofnIrorrEtsaLetadpUmetsySI.etadpU.metsyS.swodniW
ofnIrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
ofnIscitylanA.eliforP.metsyS.swodniW
ofnIslleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
ofnIslleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
ofnIstnioPpanSllorcSI.sevitimirP.slortnoC.lmaX.IU.swodniW
ofnIsuBipSI.ipS.seciveD.swodniW
ofnIsuBipS.ipS.seciveD.swodniW
ofnItcudorPweiverPerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnItcudorPweiverPerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnItegraTerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
ofnItegraTerahS.refsnarTataD.ledoMnoitacilppA.swodniW
ofnItegraTsecivreSraBemaG.erutpaC.aideM.swodniW
ofnItegraTsecivreSraBemaGI.erutpaC.aideM.swodniW
ofnItiduAyciloPnoitcetorP.ataDesirpretnE.ytiruceS.swodniW
ofnItiduAyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
ofnItnahcreMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
ofnItnahcreMtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
ofnItnemugrAprahSC.redniBemitnuR.prahSC.tfosorciM
ofnItnetnoCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
ofnItnetnoCytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
ofnItnoFmetIgnitaRI.slortnoC.lmaX.IU.swodniW
ofnItnoFmetIgnitaR.slortnoC.lmaX.IU.swodniW
ofnItnuoccArentraPtnuoccAataDresUI.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
ofnItnuoccArentraPtnuoccAataDresU.redivorP.stnuoccAataDresU.ledoMnoitacilppA.swodniW
ofnItohsneercSdevaSgnidroceRppA.gnidroceRppA.aideM.swodniW
ofnItohsneercSdevaSgnidroceRppAI.gnidroceRppA.aideM.swodniW
ofnItooRcnySredivorPegarotSI.redivorP.egarotS.swodniW
ofnItooRcnySredivorPegarotS.redivorP.egarotS.swodniW
ofnItroppuSkcarToediV.eroC.aideM.swodniW
ofnItroppuSkcarToediVI.eroC.aideM.swodniW
ofnItroppuSkcarToiduA.eroC.aideM.swodniW
ofnItroppuSkcarToiduAI.eroC.aideM.swodniW
ofnItroppuSmeOI.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
ofnItroppuSmeO.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
ofnItroppuSmetsyS.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
ofnItseuqeR.refsnarTdnuorgkcaB.enohP.tfosorciM
ofnItseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
ofnItsoH.poretnI.ledoMksaT.enohP.tfosorciM
ofnItuoyaLecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
ofnIukSweiverPerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnIukSweiverPerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
ofnIvnoCdU.scitnameS.redniBemitnuR.prahSC.tfosorciM
ofnIyalpsiDppAI.ledoMnoitacilppA.swodniW
ofnIyalpsiDppA.ledoMnoitacilppA.swodniW
ofnIyeKegarotSmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
ofnIyeKegarotSmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
ofnIyrettaBrellortnoCemaGI.tupnI.gnimaG.swodniW
ofnIyrevileDtneipiceRtahCI.tahC.ledoMnoitacilppA.swodniW
ofnIyrevileDtneipiceRtahC.tahC.ledoMnoitacilppA.swodniW
ofnIytreporPdenifederP.scitnameS.redniBemitnuR.prahSC.tfosorciM
ofnIytreporPeliTMPI.llehS.enohP.tfosorciM
ofnIytreporPnoitaminAI.noitisopmoC.IU.swodniW
ofnIytreporPnoitaminA.noitisopmoC.IU.swodniW
ofnIytreporPRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
o foi permitido abrir os documentos seguintes. Porque foram alterados por software malicioso.
o foi permitido iniciar as aplica
o foi poss
o foram encontrados
o foram encontrados os seguintes ficheiros ou aplica
_o_fputc
_o_fputwc
_o_fputws
_o_fread
_o__fseeki64
_o_fsetpos
_o_fwrite
_o__get_errno
_o__get_initial_narrow_environment
_o__get_initial_wide_environment
_o__get_narrow_winmain_command_line
_o__get_stream_buffer_pointers
_o__get_wide_winmain_command_line
_o__gmtime64
ognaMemitefiLporetnI.slortnoC.enohP.tfosorciM
oidaRI.soidaR.seciveD.swodniW
oidaRMF.oidaR.seciveD.tfosorciM
oidaR.soidaR.seciveD.swodniW
OIeliF.egarotS.swodniW
OIhtaP.egarotS.swodniW
_o__initialize_narrow_environment
_o__initialize_onexit_table
_o__initialize_wide_environment
_o__invalid_parameter_noinfo
_o__invalid_parameter_noinfo_noreturn
;@;O;i;p;
oiranecSedirrevOroloCyalpsiD.yalpsiD.scihparG.swodniW
oiranecSedirrevOssenthgirByalpsiD.yalpsiD.scihparG.swodniW
oiranecSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
oiranecSnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
oiranecSssenthgirByalpsiD.yalpsiD.scihparG.swodniW
_o_isalnum
_o_isdigit
_o_isspace
_o_iswalnum
_o_iswalpha
_o_iswascii
_o_iswdigit
_o_iswprint
_o_iswspace
_o_iswxdigit
_o_isxdigit
oitaRaideMI.seitreporPaideM.aideM.swodniW
oitaRaideM.seitreporPaideM.aideM.swodniW
OItnemucoDlmXI.moD.lmX.ataD.swodniW
_o__itoa_s
_o__itow_s
oldcatalogmanager.cpp
oldcatalogmanager.h
OLD-ENVIRON
ole32.dll
OLE32.dll
OLE32.DLL
OLEACC.dll
Oleaut32.dll
OLEAUT32.dll
OleInitialize
OleLockRunning
oLes documents ci-apr
OleUninitialize
_o__lock_file
olProductVersionWW
OLRDHEVFE
OmaCpCheckAndCreateEnrollmentRecord
OmaCpCheckAndCreateEnrollmentRecord: Creating new OMACP enrollment
OmaCpConfiguration
OmaCpConfigurationInformation
OMACP EnrollmentID
omadmapi.dll
OmaDmRegistryGetAllSubKeys
OmaDmRegistryGetDWORD
OmaDmRegistrySetBinary
OmaDmRegistrySetDWORD
OmaDmRegistrySetString
_o_malloc
OmDmRegistryAllocAndGetString
_o_memcpy_s
omeMepyThtiWmyS.srorrE.redniBemitnuR.prahSC.tfosorciM
omeMtsnIhtiWporPhteM.srorrE.redniBemitnuR.prahSC.tfosorciM
OMI_BaseResource
OMI_ConfigurationDownloadManager
OMI_Error
OMI_MetaConfigurationResource
OMI_ReportManager
OMI_ResourceModuleManager
?OnAdjustWindowSize@HWNDHost@DirectUI@@UEAAHHHI@Z
OnAppCollectionChanged
onButtonClicked
OnButtonClicked
?OnCompositionChanged@HWNDElement@DirectUI@@UEAAXXZ
OnContinue
OnCortanaStatusChanged
?OnCtrlThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnCustomCommand
OnDefaultDeviceChange
OnDefaultDeviceChanged
?OnDestroy@Element@DirectUI@@UEAAXXZ
?OnDestroy@HWNDElement@DirectUI@@UEAAXXZ
?OnDestroy@HWNDHost@DirectUI@@UEAAXXZ
OnDeviceAdded
OnDeviceRemoved
OnDeviceStateChanged
OneApp.IGCC.CommunicationService
OneApp.IGCC.CoreLibrary
OneApp.IGCC.CoreLibrary.D3D.DXDB
OneApp.IGCC.CoreLibrary.Logging
OneApp.IGCC.CoreLibrary.SystemInformation
OneApp.IGCC.CoreLibrary.SystemInformation.Svc
OneApp.IGCC.CoreLibrary.Video
OneApp.IGCC.WinService
OneApp.IGCC.WinService.BackgroundActivity
OneApp.IGCC.WinService.BackgroundActivity.Game
OneApp.IGCC.WinService.BackgroundActivity.SysmanEnvironment
OneApp.IGCC.WinService.BackgroundActivity.System
OneApp.IGCC.WinService.BackgroundActivity.Video
OneApp.IGCC.WinService.COMManager
OneApp.IGCC.WinService.exe
OneApp.IGCC.WinService.igccservice.resources
OneApp.IGCC.WinService.ProjectInstaller.resources
OneApp.IGCC.WinService.RegistryManager
One of lpBuffer or lpcbBufferSize should not be null
OnErrorEventHandler
OneSettingsClient.dll
OneSettingsCreateDownloadConfig
OneSettingsDownloadEndpoint
OneSettingsEndDownloadSession
OneSettingsFreeDownloadConfig
OneSettingsFreeDownloadResponse
OneSettingsGetResponseDwordProperty
OneSettingsGetResponseStringProperty
OneSettingsGetResponseWideStringProperty
OneSettingsSetConfigWideStringProperty
OneSettingsStartDownloadSession
OneTimeScrollTriger
?OnEvent@HWNDElement@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDHost@DirectUI@@UEAAXPEAUEvent@2@@Z
OnEventRecordWritten
?OnEvent@Selector@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@TouchButton@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnGetDlgCode@HWNDElement@DirectUI@@UEAAXPEAUtagMSG@@PEA_J@Z
?OnGroupChanged@Element@DirectUI@@UEAAXH_N@Z
?OnGroupChanged@HWNDElement@DirectUI@@UEAAXH_N@Z
?OnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
?OnHosted@TouchButton@DirectUI@@UEAAXPEAVElement@2@@Z
?OnImmersiveColorSchemeChanged@HWNDElement@DirectUI@@UEAAXXZ
OnInitDialogMain
?OnInput@Edit@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDElement@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Selector@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@TouchButton@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnKeyFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnKeyFocusMoved@Selector@DirectUI@@UEAAXPEAVElement@2@0@Z
OnKpDetectionEventHandler
OnlineController
OnlineDrive
OnlineHbaPort
OnlineLun
OnlineSubsystem
?OnListenedInput@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEAUInputEvent@2@@Z
?OnListenedPropertyChanged@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenedPropertyChanging@TaskPage@DirectUI@@MEAA_NPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenerAttach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
?OnListenerDetach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
Only 64-bit addressing is supported
Only fixed VHDXs are supported.
Only one item should be returned
?OnMessage@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnMessage@TaskPage@DirectUI@@MEAA_NI_K_JPEA_J@Z
OnMicrophoneDeviceAccessChanged
?OnMouseFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnNoChildWithShortcutFound@HWNDElement@DirectUI@@UEAAXPEAUKeyboardEvent@2@@Z
?OnNotify@Edit@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnPackageLaunchPreventedDueToCost
OnPowerChange
OnPowerEvent
OnPrimaryFeatureBlockLoadFinished
OnPrimaryFeatureBlockLoadStarted
OnPrimaryFeatureBlockPercentageChanged
OnPropertyChanged
?OnPropertyChanged@Edit@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDElement@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@ItemList@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@TouchButton@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
OnPropertyValueChanged
OnPublishingActivityCollectionChanged
OnPublishingActivityStatusChanged
OnPublishingRefreshStatusChanged
?OnQueryCancel@TaskPage@DirectUI@@MEAA_JXZ
?OnQueryInitialFocus@TaskPage@DirectUI@@MEAAPEAVElement@2@XZ
OnRefreshCollectionChanged
OnRegistryKeyChanged
OnRegistryTreeChanged
OnRegistryValueChanged
?OnReset@TaskPage@DirectUI@@MEAA_JXZ
On Screen Display
?OnServiceControlHandle@@YAKKKPEAX0@Z
OnSessionChange
_onsetBegin
_onsetBufferBegin
_onsetBufferBeginInFrames
_onsetBufferDiscontinuous
OnsetBufferDiscontinuous
_onsetBufferEnd
_onsetBufferEndInFrames
_onsetBufferLength
OnsetBufferLengthParameter
OnsetBufferSizeConfigurator
_onsetBufferStart
OnsetBufferStartOffset
_onsetDiscontinuous
_onsetEnd
_onsetInMilliseconds
OnShutdown
?OnSinkThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnSourceInitialized
OnStartup
?OnStart@@YAXPEAUSERVICE_STATUS_HANDLE__@@@Z
?OnStop@@YAXXZ
OnStreamCreationHandler
OnStreamDataReadyEventHandler
OnStreamFaultFailed
OnStreamStoppedEventHandler
OnSvcCtrlHandlerEx
OnSvcExit
OnSvcInit
?OnSysChar@HWNDHost@DirectUI@@UEAA_NG@Z
?OnThemeChanged@HWNDElement@DirectUI@@UEAAXPEAUThemeChangedEvent@2@@Z
OnTimerAGSHostRegWriteEvent
?_OnUIStateChanged@HWNDElement@DirectUI@@MEAAXGG@Z
?OnUnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnUnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
?OnUnHosted@TouchButton@DirectUI@@UEAAXPEAVElement@2@@Z
OnVirtualEnvironmentBlocked
OnVirtualEnvironmentTerminated
OnVirtualProcessCreated
OnVirtualProcessCreateFailed
O"N_	W|c
OnWindowsEvent
?OnWindowStyleChanged@HWNDHost@DirectUI@@UEAAX_KPEBUtagSTYLESTRUCT@@@Z
?OnWizBack@TaskPage@DirectUI@@MEAA_JXZ
?OnWizFinish@TaskPage@DirectUI@@MEAA_JXZ
?OnWizNext@TaskPage@DirectUI@@MEAA_JXZ
?OnWmSettingChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
?OnWmThemeChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
ooaa88		
oobbKK771155JJbcoo
oobbKK771155KJcboo
oobbPPCCFFZZccoo
oobbYYFFBBPPaaoo
OOBEComplete
OOBEHealthMetric
OOBEHealthNonCriticalMetric
_oobeWaitStepDelay
ooccKK-.
ooccKK..
ooEEHHcc
oo__II771155HH__oo
oooo]]  
oooooooooo
oooooooooooooo
;;ooooYY22
-o or --output must be followed by a filename
oostest.cpp
oostest.h
ooYYAAIIbb
op_Addition
_o___p___argc
_o___p___argv
opcheck.cpp
opcheck.h
_o___p__commode
 "Opdater" nedenfor for at 
OpenAppServiceConnection
OpenClipboard
OpenComponentLibraryEx
OpenDapControl
OpenDatabase
OpenDebugLogFile
OpenDesktopW
OpenEnrollAuthorizationSession
OpenEventA
OpenEventW
OpenExisting
OpenFileMappingW
OpenIcon
opening command server
OpenInputDesktop
OpenInputScriptFile
openIntelSD start
OpenJobObjectW
OpenMessageTransmitter
OpenMessageTransmitterEx
OpenMutexA
OpenMutex failed: err: 
OpenMutexW
_open_osfhandle
OpenPolicy_End
OpenPolicy_Start
OpenPrinterW
OpenPrivateNamespaceW
OpenProcess
OpenProcess returned NULL
OpenProcessToken
OpenProcessToken returned INVALID_HANDLE_VALUE
OpenProcessToken returned INVALID_HANDLE_VALUE.
OpenPropertyStore
OpenRead
OpenRegistryKey
OpenSCManager
OpenSCManager failed: error 
OpenSCManagerW
OpenSecureSection
OpenSemaphoreW
OpenService
OpenService failed: error 
OpenServiceW
OpenStateExplicit
Open storage
OpenStreamMethod
OpenSubKey
OpenTextFile
OpenThemeData
OpenThread
OpenThreadToken
OpenThreadToken failed.
OpenTrace failed to open logfile for processing
OpenTraceW
OpenTrustedDomain_End
OpenTrustedDomain_Start
OpenWaitableTimerW
OpenWrite
op_Equality
Operate through an HTTP proxy tunnel (using CONNECT)
operating_mode
operation
operation '
operation aborted by callback
operation aborted by pre-request callback
operation aborted by trailing headers callback
operation canceled
OperationCanceledException
OPERATION_DEFERRED_KHR
operationId
operation in progress
operation_in_progress
operationMask
OPERATION_NOT_DEFERRED_KHR
operation not permitted
operation not supported
operation_not_supported
Operation not supported
OperationSucceeded
operation value '
Operation was aborted by an application callback
operation would block
operation_would_block
operator
operator "" 
operator co_await
op_Explicit
op_Implicit
op_Inequality
OpL9optGI
OpolicyWW
Oppdater
 Oppdater nedenfor for 
OPrimaryFeatureBlockLoadFinishedW
optimalBufferCopyOffsetAlignment
optimalBufferCopyRowPitchAlignment
OptimalResolutionNotifications
OptimalResPopUpMessage2
OptimalResPopUpMessage3
optimalTiling
optimalTilingFeatures
optimizable
optimizationPercent
optimizecp.cpp
optimizecp.h
optimized
OptimizeQueue
OptionalBundle
OptionalBundlePackage
OptionalBundleResource
      []-Optional parameters
optiondialog.cpp
optiondialog.h
 [options]
Options:
OPTIONS:
options.h
optionsParam
Options related to any kind of command line output of curl
optionstask.cpp
Options that don't fit into any other category
OpTrustedDomByName_End
OpTrustedDomByName_Start
_o__purecall
_o___p___wargv
_o_qsort
ORA specified greater than maximum allowed (ULONG_MAX)
ORA specified more than once
orchestration.cpp
orchestrationrc.h
ORCloseHive
ORCloseKey
ORCreateHive
ORCreateHiveEx
ORCreateKey
ORDeleteKey
ORDeleteValue
OrderByDescending
_o_realloc
_o__recalloc
_o__register_onexit_function
OREnumKey
OREnumValue
_o__resetstkoflw
ORFlushHive
ORGetKeySecurity
ORGetValue
ORGetVirtualFlags
OrientationData
ORIENTATION_DISP_INDETERMINATE
ORIENTATION_DISP_LANDSCAPE
ORIENTATION_DISP_LANDSCAPE_INVERTED
ORIENTATION_DISP_PORTRAIT
ORIENTATION_DISP_PORTRAIT_INVERTED
ORIENTATION_PLAT_FLAT_DOWN
ORIENTATION_PLAT_FLAT_UP
ORIENTATION_PLAT_UPRIGHT
ORIENTATION_PLAT_UPRIGHT_INVERTED
Original End
Original Start
originatingBinary
originatingContextId
originatingContextMessage
originatingContextName
Originator address of the original email
originCallerModule
originCallerReturnAddressOffset
originFile
OriginLeft
originLineNumber
originModule
originName
OriginTop
OR[KMUPPY
OROpenHive
OROpenHiveByHandle
OROpenKey
_o_roundf
?_Orphan_all@_Container_base12@std@@QEAAXXZ
ORQueryInfoKey
ORQueryInfoKeyEx
ORQueryInfoKeyValueEx
ORRenameKey
ORSaveHive
ORSaveHiveEx
ORSaveHiveToHandle
ORSetKeySecurity
ORSetValue
ORSetVirtualFlags
ORS specified greater than maximum allowed (ULONG_MAX)
ORS specified more than once
:Os arquivos ou aplicativos a seguir n
_osBuild
OscBackgroundColor
OscColorTable
OscForegroundColor
OsComponentWd
OscResetCursorColor
OscSetCursorColor
OscWindowTitle
osDeploymentState
osdfile.cpp
osdfile.h
osdscript.cpp
osdscript.h
_o__seh_filter_exe
_o__set_app_type
_o__set_errno
_o__set_fmode
_o_setlocale
_o__setmode
_o__set_new_mode
_o_set_terminate
_o_setvbuf
osgfile.cpp
osgfile.h
osgfileio.cpp
osgfileio.h
osgparser.h
osgprocess.h
osgsection.cpp
osgsection.h
osguardfile.cpp
osguardfileimpl.cpp
OslAdvancedMenu
OsLaunch
OslGenRandomBytes
OslGetControlSubkey
OslGetDrtmSvn
OslGetExportRoutineInModule
OslGetLocalApicId
OslGetStringValueAtKey
OslGetValueAtKey
OsLicense
OslIsRunningInSecureKernel
OslLoadMicrocodeUpdate
OsMajorVersion
OsProductPfn
_o_srand
OSR specified more than once
_o___std_exception_copy
_o___std_exception_destroy
_o___stdio_common_vfprintf
_o___stdio_common_vfwprintf
_o___stdio_common_vsnprintf_s
_o___stdio_common_vsnwprintf_s
_o___stdio_common_vsprintf
_o___stdio_common_vsprintf_s
_o___stdio_common_vswprintf
_o___stdio_common_vswprintf_s
_o___stdio_common_vswscanf
_o___std_type_info_name
_o__stricmp
_o_strncpy_s
_o_strtoul
OSUNINST.dll
OSVERSIONINFO
_osVersionMajor
OSW specified more than once
_o_terminate
otherAppMB
                                        Other arguments list descriptions are
other_error
Other's _id
Other's Id
otohPderutpaCdecnavdA.erutpaC.aideM.swodniW
otohPderutpaCdecnavdAI.erutpaC.aideM.swodniW
otohPderutpaC.erutpaC.aideM.swodniW
otohPderutpaCI.erutpaC.aideM.swodniW
_o_tolower
_o_toupper
_o_towlower
_o_towupper
oTspanSredilS.sevitimirP.slortnoC.lmaX.IU.swodniW
Ou@f9MBA
_o__ultow_s
_o_ungetc
_o_ungetwc
_o__unlock_file
OutAuthBufferSize
OutBuff[
out_BuildWWW
out_CountWWW
out GSS-API data
Outlet is NULL
out_Name
Out of file descriptors
out of memory
out of memory!
Out of memory
Out of memory 
Out of memory for field header!
Out of memory for field headers!
Out of memory trying to create extra info
out_of_range
Out of range
out_Path
out_ppnamedW
out_ppts
--output
_outputBufferSize
OutputChannelsCount
outputChannles
_outputContainerSize
_outputData
OutputDebugStringA
OutputDebugStringW
output-dir
_outputFileName
output file name has no length
output_format_
output glob produces empty string!
OUTPUT MARKING
output-mode
output_mode
output-mode-partial-height-virtualizer-enable
output-mode-partial-surround-virtualizer-enable
outputOverfill
outputPath
OutputProgramUsageData
outputTypeName
out_ScriptFullNameWWd
out_TimeoutW
out_ValueWWW
 ouverts. Parce qu'ils ont 
OVe"r9CX
			overflow: auto;
Overflow Content-Length: value
Overflow creating the new length
Overflow doing pointer addition
			overflow: hidden;
overflow in filename generation
override
OVERRIDE
OverrideOnsetBufferSizeName
overrides.cpp
overrides.h
oversubscribed distance tree
oversubscribed dynamic bit lengths tree
-overwrite
overwrite
_OverwriteExistingTask
OverWriteFilesWW@
OverwriteVpnFileWithUpdate -- VPN file update failed.
OverwriteVpnFileWithUpdate -- VPN file update succeeded!
OverwriteWWW
Overwriting error to S_FALSE--NOERR specified
Overwriting error to S_FALSE:  NOERR was specified
Overwriting hResult to S_FALSE:  NOERR specified
OWA specified greater than maximum allowed (ULONG_MAX)
OWA specified more than once
_o_wcscat_s
_o_wcscpy_s
_o__wcsdup
_o__wcsicmp
_o__wcslwr
_o__wcslwr_s
_o_wcsncpy_s
_o__wcsnicmp
_o_wcstok
_o_wcstok_s
_o_wcstol
_o_wcstombs_s
_o__wcstoui64
_o_wcstoul
_o_wcstoull
_o__wcsupr
_o__wcsupr_s
_o__wfopen
_o_wmemcpy_s
owner dead
_o__wsetlocale
_o__wsplitpath_s
OWS specified greater than maximum allowed (ULONG_MAX)
OWS specified more than once
_o__wstat64i32
_o__wtoi
_o__wtoi64
Ox@87tkH
O_|XU|t_
***@***@***@***p***
***p***@***@
***p***@***@***@
***p***0
P0pCapsWWW 
P4F(D(@(:(2(0(((
.P6AHH@Z
.P6AHPEAX@Z
.P6AJAEAVCOOKED_READ_DATA@@AEA_NAEAKAEAG@Z
.P6AJPEAUHKEY__@@@Z
.P6APEAXPEAX@Z
.P6AXPEAUaddrinfo@@@Z
.P8VtEngine@Render@Console@Microsoft@@EAAJXZ
@P9GPv	H
	paAcronym
paCekortSnoitisopmoC.noitisopmoC.IU.swodniW
paCeniLneP.aideM.lmaX.IU.swodniW
PackageAppInstaller
packageavailabilitymap.cpp
packageavailabilitymap.h
packageavailabilitymaptests.cpp
PACKAGE_BACKGROUND_LOADW
package_config_impl.cpp
package_config_impl.h
package_config_manager.h
packageconfigtest.cpp
_packageCount
_packageCountBase
package.cpp
packagedata.cpp
packagedata.h
Package display nameWW
packageenumerator.cpp
packageenumerator.h
packageenumeratortests.cpp
PackageExtension
PackageExternalLocation
packagefactory.cpp
packagefactory.h
packagefactorymock.cpp
packagefactorymock.h
packageFailed
PackageFamily
PackageFamilyName
PackageFamilyNameFromFullName
PackageFamilyNameFromId
PackageFamilyPolicy
PackageFamilyUser
PackageFamilyUserResource
packagefileadapter.h
packageFullName
PackageGroup
packagegroupdescriptordocument.cpp
packagegroupdescriptordocumentfactory.cpp
packagegroupdescriptordocumentfactory.h
packagegroupdescriptordocumentfactorytests.cpp
packagegroupdescriptordocument.h
packagegroupdescriptordocumenttests.cpp
packagegroupdescriptordocumenttests.h
packagegroupfactory.cpp
packagegroupfactory.h
packagegroupfactorymock.cpp
packagegroupfactorymock.h
packageGroupGUID
packagegroup.h
packageGroupIDWWd
packagegroupimpl.cpp
packagegroupimpl.h
packagegroupmock.cpp
packagegroupmock.h
packagegrouprefreshhelper.cpp
packagegrouprefreshhelper.h
packagegrouprefreshhelpertests.cpp
packagegroupschemacompatibilitytests.cpp
packagegroupschemacompatibilitytests.h
packagegrouptemplatetests.cpp
packagegrouptests.cpp
packagegrouptests.h
packageGroupVersionGUIDW
packageGUIDW
package.h
packageId
PackageId
Package ID
PackageID
PackageIdentity
PackageIdFromFullName
packageimpl.cpp
packageimpl.h
PackageInfoCache::GetPackageInfo
packageinfo.cpp
packageinfo.h
packageinformationwrapper.cpp
packageinformationwrapper.h
packageinformationwrappertests.cpp
packageinformationwrappertests.h
PackageInfo::RuntimeClassInitialize
PackageInfo::SavePackageInfo
PACKAGE_LOAD
PackageLocation
packagelockmgr.cpp
packagemachinepolicydocument.cpp
packagemachinepolicydocumentfactory.cpp
packagemachinepolicydocumentfactory.h
packagemachinepolicydocumentfactorytests.cpp
packagemachinepolicydocument.h
packagemachinepolicydocumenttests.cpp
PackageMachineStatus
PackageManager
PackageManager pointer was NULL
packagemgr.cpp
packagemgr.h
packagemock.cpp
packagemock.h
_packageName
packageName
PackageName
PackageNameAndPublisherIdFromFamilyName
PackageNameChanged
PackageNameLenovoCompanion
PackageNameLenovoSettings
PackageNameLSForEnterprise
PackageNameProperty
PackageNameWd
Package nameWW
packagepathmanager.cpp
packagepathmanager.h
packagepathmanagertest.cpp
package_path_utils.cpp
package_path_utils.h
package_path_utils_test.cpp
PackagePolicy
PackagePropertiesWWW
PackageProperty
PackagePublisherIdLenovoCompanion
PackagePublisherIdLenovoSettings
PackagePublisherNameLenovoCompanion
PackagePublisherNameLenovoSettings
PackagePublisherNameLSForLenovoSettings
packagerefreshtests.cpp
PackageRegistered
packageregistry.cpp
packageregistry.h
packageregistrymock.cpp
packageregistrymock.h
packageregistrytests.cpp
packageregistryutilities.cpp
packageregistryutilities.h
PackageRemoved
packager.hpp
PackageRow was not initialized with lazy init info. Cannot query external location info.
packagertests.cpp
PackageSettingsAgent
PackageSidFromFamilyName
packagesLocation
PackageSourceUri
PackageStatusUpdateBad_ModifiedPackage
packageSucceeded
PackageSuperceded
packagetest.cpp
packagetests.cpp
packagetests.h
packageTotal
PackageUser
packageuserpolicydocument.cpp
packageuserpolicydocumentfactory.cpp
packageuserpolicydocumentfactory.h
packageuserpolicydocumentfactorytests.cpp
packageuserpolicydocument.h
packageuserpolicydocumenttests.cpp
PackageUser rows for Bundle but no other Package(s) sourced from the bundle
PackageUserStatus
PackageVersion
packageVersionGUIDWW
Package version ID
Package version number5
packagexmldiffer.cpp
packagexmldiffer.h
packagexmldiffertest.cpp
packgeVersion
pacmancfg.cpp
pacmancfg.h
pacmancfg_tests.cpp
pa_count
pActivationParams
padding:
			padding: 8px 12px;
PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING
pageableDeviceLocalMemory
@PAGECONS
PAGECONST
@PAGEDATA 
PAGEDATA
PageFault_HardFault
PageFault_HeapRangeCreate
PageFault_HeapRangeDestroy
PageFault_HeapRangeRundown
PageFault_HeapRangeRundown_V2
PageFault_HeapRangeTypeGroup
PageFault_ImageLoadBacked
PageFault_MemReset
PageFault_TypeGroup1
PageFault_V2
PageFault_VirtualAlloc
PageFault_VirtualAllocRundown
PageFault_VirtualRotate
PAGER32C
-painiketta ;
-painiketta.
?Paint@Element@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
?Paint@HWNDHost@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
?Paint@RichText@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
paMderedrOsepyTeliFrekciPeliF.srekciP.egarotS.swodniW
paMecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
paMecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
paMedoNdemaNlmXI.moD.lmX.ataD.swodniW
paMedoNdemaNlmX.moD.lmX.ataD.swodniW
paMelbavresbOreifilauQecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
paMetubirttAlairetaMhseMenecSI.senecS.noitisopmoC.IU.swodniW
paMetubirttAlairetaMhseMenecS.senecS.noitisopmoC.IU.swodniW
paMgnirtS.snoitcelloC.noitadnuoF.swodniW
_paModels
paM.slortnoC.spaM.enohP.tfosorciM
pamtiBderotSyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
pamtiBderotSyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
pamtiBelbaetirW.gnigamI.aideM.lmaX.IU.swodniW
pamtiBelbaetirWI.gnigamI.aideM.lmaX.IU.swodniW
pamtiBerawtfoS.gnigamI.scihparG.swodniW
pamtiBerawtfoShtiWemarFderutpaCI.erutpaC.aideM.swodniW
pamtiBerawtfoShtiWemarFpamtiBI.gnigamI.scihparG.swodniW
pamtiBerawtfoShtiWredocnEpamtiBI.gnigamI.scihparG.swodniW
pamtiBerawtfoSI.gnigamI.scihparG.swodniW
pamtiBtegraTredneR.gnigamI.aideM.lmaX.IU.swodniW
pamtiBtegraTredneRI.gnigamI.aideM.lmaX.IU.swodniW
PANELSELFREFRESH_ERROR_CODES
PANELSELFREFRESH_SET_FAILEDW
PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING
 para abrir el Gestor de teclado.
Para atualizar a a
parallel
    --parallel-immediate
parallel-immediate
parallel-max
 param: 
PARAM_ACA_ENABLE_FLAG
PARAM_ACA_MODULE_CONFIGURATION
PARAM_ACA_NOTIFICATION_READ
PARAM_ACA_REGISTER_EVENT_HANDLE
PARAM_ACA_UNREGISTER_EVENT_HANDLE
ParamArrayAttribute
parameter
_parameterData
ParameterData
_parameterHandlerClass
_parameterId
ParameterInfo
parameter is NULL
Parameter is NULL
                                         parameter is on a separate line
_parameterNames
Parameter pDatabase is NULL
Parameter pszQuery is empty
_parameters
ParametersHandlersFactory
_parameterSize
_parameterValue
Parameter wasn't the correct size
PARAM_HPAL_CONFIGURATION
_paramId
PARAM_MAX_WUP_DATA_SIZE
PARAM_MVA_MODE
_paramSize
_paramValue
PARAM_WOV_API_MODE
PARAM_WOV_DETECTION_CLASSIFICATION
PARAM_WOV_DRIVER_STAGE_CONFIG
PARAM_WOV_DRIVER_STAGE_ENABLE
PARAM_WOV_DRIVER_STAGE_PP_CONFIG
PARAM_WOV_ENABLE_FLAG
PARAM_WOV_IAS_NOTIFICATION_READ
PARAM_WOV_KP_BUFFER_SIZE
PARAM_WOV_ONSET_BUFFER_SIZE
PARAM_WOV_STAGE_REFERENCE_CONFIG
PARAM_WOV_STAGE_STATS_ENABLE
PARAM_WOV_STAGE_STATS_READ
PARAM_WUP_CONFIG_DATA
PARAM_WUP_ULP_CONFIG_DATA
: Parce que la signature de l'
: Parce que les fichiers originaux ont 
parentId
ParentLID
ParentProcessInformation
__p___argc
pArgsWWW
__p___argv
ParseCache
ParseCMCResponse
ParseCommandLineArguments
_parsedArguments
parsed_vfs_decoder.h
parse error
parse_error
Parse ETag from a request and save it to a file
ParseGainValue
ParseNetworkString
Parse past end of buffer
ParseRegistryKeyValue
parser_singleton.h
parser_utils.h
ParseURLW
parsing.hpp
parsing_tests.cpp
PartA_PrivTags
PartA_UserSid
participant
Participant
PARTICIPANT COMMANDS:
participant delete  NAME                 Delete and Destroy Persisted Dynamic Participant
Participant destroyed
participant destroy NAME                 Destroy Upper Framework Participant
participantk
participantlist
participantlog
Participant logging started
participantlog interval [time]          Sets the polling interval for logging
participantlog route [ALL | [target ... [filename]]] 
participantlog schedule [delay] [all |[PID DID capMask]...]
participantlog start [all |[PID DID capMask]...]
participantlog stop                     Stops participant data logging if
Participant log target set to all
Participant marked for delete
participant_min
Participant not available
Participant pointer is NULL
participants
Participants
participantsk
participantsk                            List Kernel Participants
participants                              List Active Participants
Participant version is 0
Partition
PARWRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
__pascal
Pass an ETag from a file as a custom header
Pass custom header(s) to proxy
Pass custom header(s) to server
Passed in buffer was NULL
Passed in List pointer is NULL
Passed in NULL list
Pass in NULL pointer
Pass phrase for the private key
Pass phrase for the private key for HTTPS proxy
password
passwordlessType
[Password Token]
Password Token
PAT0 received
PAT1 received
p ATAVAWH
patchendinstallpage.cpp
patchendinstallpage.h
PathAllocCanonicalize
path_and_data_parser.cpp
path_and_data_parser.h
path_and_data_parser_interface.h
PathAppendW
    --path-as-is
path-as-is
_pathBuffer
Path buffer is NULL
_pathBufferLength
PathCanonicalizeW
PathCchAppend
PathCchCanonicalize
PathCchCanonicalizeEx
PathCchCombine
PathCchRemoveBackslash
PathCchRemoveExtension
PathCchRemoveFileSpec
PathCchSkipRoot
path contains control characters
PathFileExistsW
PathFindExtensionA
PathFindExtensionA returned a NULL pointer
PathFindExtensionW
PathFindFileNameW
PathGetArgsW
pathhelper.cpp
pathhelper.h
PathIsFileSpecW
PathIsSameRootW
PathIsUNCW
PathIsURLW
'Pathname
PathQuoteSpacesW
PathRemoveBackslashW
PathRemoveBlanksW
PathRemoveExtensionW
PathRemoveFileSpecW
pathresolver.cpp
pathresolvertests.cpp
PathStripPathW
PathStripToRootW
_pathToLogDirectory
_pathToModelMetadataXml
PathTooLongException
PathType
PathUnquoteSpacesW
PatsburgChipsets
PaUdtConfiguration
Pausing DV loading
Pausing participant registration with app
*PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA;
*PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS;
*PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA;
PavpClient
PaWovConfiguration
_payload
PayloadOffset
payloadorganizer.hpp
PayloadSizeVerification
PBCryptBuffer pBuffers;       
PBOOLEAN DatasetWasUpdated
PBOOL IsHybrid
PBOOL NeedsUpdate
PBOOL ptCertPresent
PBOOL ptStandardUsersCanChangePassphraseByProxy
PBOOL ptStandardUsersCanChangePin
PBOOL ReadOnly
PBOOL Result
PBOOL SchemExtInstalled
pbProgressBar
pbstrFileSystemW
pbstrNameWWW@
pbstrResultWL
pbstrShareNameWWx
pbstrTypeWWW@
PBT_APMBATTERYLOW
PBT_APMOEMEVENT
PBT_APMPOWERSTATUSCHANGE
PBT_APMQUERYSTANDBY
PBT_APMQUERYSTANDBYFAILED
PBT_APMQUERYSUSPEND
PBT_APMQUERYSUSPENDFAILED
PBT_APMRESUMEAUTOMATIC
PBT_APMRESUMECRITICAL
PBT_APMRESUMESTANDBY
PBT_APMRESUMESUSPEND
PBT_APMSTANDBY
PBT_APMSUSPEND
PBT_POWERSETTINGCHANGE
PBUPDATE.EXE
PBUPDATE.INF
PBUpdateMessage
PBUPDATE.PBD
PBUPDATE.VER
pButtons
PBYTE Blob;         
PBYTE                   OsLoaderAuthoritySignature;           
PBYTE pabResult);
PBYTE pbData
PBYTE UEFIVariableValue;          
pcasvc.dll
PCCERT_CHAIN_CONTEXT
PCCERT_CHAIN_CONTEXT pChainContext
PCCERT_CHAIN_CONTEXT pCrlIssuerChain;
PCCERT_CHAIN_CONTEXT* ppChainContext
PCCERT_CHAIN_CONTEXT pPrevChainContext
PCCERT_CHAIN_CONTEXT** pprgpSelection
PCCERT_CHAIN_CONTEXT* prgpSelection
PCCERT_CHAIN_CONTEXT*   rgpLowerQualityChainContext;
PCCERT_CONTEXT
PCCERT_CONTEXT          pCertContext;
PCCERT_CONTEXT        pCertContext;
PCCERT_CONTEXT pCertContext
PCCERT_CONTEXT              pIssuerCert;
PCCERT_CONTEXT *ppCertContext
PCCERT_CONTEXT *ppProvCertContext
PCCERT_CONTEXT pPrevCertContext
PCCERT_CONTEXT          *ppSigner;          
PCCERT_CONTEXT *ppSignerCert
PCCERT_CONTEXT *ppStoreContext
PCCERT_CONTEXT *ppXchgCert
PCCERT_CONTEXT              pSigningCert;
PCCERT_CONTEXT pSigningCert
PCCERT_CONTEXT              pSubjectCert;
PCCERT_CONTEXT              *rgpMsgCert;
*PCCERT_SERVER_OCSP_RESPONSE_CONTEXT;
PCCERT_SERVER_OCSP_RESPONSE_CONTEXT
PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext
*PCCERT_STORE_PROV_FIND_INFO;
PCCRL_CONTEXT
PCCRL_CONTEXT           pBaseCrlContext;
PCCRL_CONTEXT           pCrlContext;
PCCRL_CONTEXT        pCrlContext;
PCCRL_CONTEXT pCrlContext
PCCRL_CONTEXT           pDeltaCrlContext;
PCCRL_CONTEXT *ppCrlContext
PCCRL_CONTEXT *ppProvCrlContext
PCCRL_CONTEXT pPrevCrlContext
PCCRL_CONTEXT *ppStoreContext
PCCRL_CONTEXT               *rgpMsgCrl;
PCCRYPT_OID_INFO
PCCRYPT_OID_INFO pInfo
PCCTL_CONTEXT
PCCTL_CONTEXT pCtlContext
PCCTL_CONTEXT pCtlContext;
PCCTL_CONTEXT           *ppCtl;             
PCCTL_CONTEXT *ppCtlContext
PCCTL_CONTEXT *ppProvCtlContext
PCCTL_CONTEXT pPrevCtlContext
PCCTL_CONTEXT *ppStoreContext
pcDevices
PCERT_ACCESS_DESCRIPTION    rgAccDescr;
PCERT_ALT_NAME_ENTRY        pRequestorName;     
PCERT_ALT_NAME_ENTRY    rgAltEntry;
PCERT_ALT_NAME_INFO     rgDistPoint;
PCERT_BIOMETRIC_DATA        rgBiometricData;
PCERT_BLOB              certs;      
PCERT_BLOB                  rgCertEncoded;
PCERT_CHAIN_ELEMENT*  rgpElement;
PCERT_CHAIN_PARA    pChainPara;
PCERT_CHAIN_POLICY_STATUS pPolicyStatus
PCERT_CREATE_CONTEXT_PARA pCreatePara
PCERT_ENHKEY_USAGE    pApplicationUsage;    
PCERT_ENHKEY_USAGE    pIssuanceUsage;       
PCERT_ENHKEY_USAGE pUsage
PCERT_EXTENSION
PCERT_EXTENSION             rgExtension;
PCERT_EXTENSION             rgExtension;        
PCERT_EXTENSION             rgExtension;            
PCERT_EXTENSION             rgExtension;                
PCERT_EXTENSION     rgExtension;
PCERT_EXTENSION rgExtension;
PCERT_EXTENSIONS            pExtensions
PCERT_GENERAL_SUBTREE   rgExcludedSubtree;
PCERT_GENERAL_SUBTREE   rgPermittedSubtree;
PCERT_HASHED_URL            rgHashedUrl;
PCERT_ID                    pSenderId;
PCERT_INFO pCertId           
PCERT_INFO pCertId2
PCERT_INFO                  pCertInfo;
PCERT_INFO              pCertInfo;
PCERT_INFO pCertInfo
PCERT_INFO pciCountersigner
PCERT_INFO pIssuerInfo
PCERT_INFO          pSigner;        
PCERT_INFO                  *rgpRecipients;
PCERT_LOGOTYPE_AUDIO_INFO   pLogotypeAudioInfo; 
PCERT_LOGOTYPE_AUDIO        rgLogotypeAudio;
PCERT_LOGOTYPE_DATA         pLogotypeDirectInfo;
PCERT_LOGOTYPE_IMAGE_INFO   pLogotypeImageInfo; 
PCERT_LOGOTYPE_IMAGE        rgLogotypeImage;
PCERT_LOGOTYPE_INFO         pIssuerLogo;        
PCERT_LOGOTYPE_INFO         pSubjectLogo;       
PCERT_LOGOTYPE_INFO         rgCommunityLogo;
PCERT_LOGOTYPE_REFERENCE    pLogotypeIndirectInfo;
PCERT_NAME_BLOB pCertName2
PCERT_NAME_INFO pName
PCERT_OR_CRL_BLOB       rgItem;
PCERT_OTHER_LOGOTYPE_INFO   rgOtherLogo;
PCERT_OTHER_NAME            pOtherName;         
PCERT_POLICY_ID         rgCertPolicyId;
PCERT_POLICY_MAPPING        rgPolicyMapping;
PCERT_PRIVATE_KEY_VALIDITY  pPrivateKeyUsagePeriod;     
PCERT_PUBLIC_KEY_INFO pPublicKey
PCERT_PUBLIC_KEY_INFO pPublicKey2
PCERT_QC_STATEMENT      rgStatement;
PCERT_RDN_ATTR
PCERT_RDN_ATTR  rgRDNAttr;
PCERT_RDN pRDN
PCERT_RDN   rgRDN;
*PCERT_REVOCATION_CHAIN_PARA;
PCERT_REVOCATION_CHAIN_PARA pChainPara;
PCERT_REVOCATION_CRL_INFO   pCrlInfo;
PCERT_REVOCATION_INFO pRevocationInfo;
PCERT_REVOCATION_STATUS pRevStatus
*PCERT_SERVER_OCSP_RESPONSE_CONTEXT;
PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA pOpenPara
PCERT_SIMPLE_CHAIN*     rgpChain;
PCERT_STORE_PROV_INFO pStoreProvInfo
PCERT_STRONG_SIGN_SERIALIZED_INFO   pSerializedInfo;
PCERT_TRUST_LIST_INFO pTrustListInfo;
PCERT_X942_DH_VALIDATION_PARAMS pValidationParams;  
PCFVE_AUTH_ELEMENT pRecoveryPassword
PCFVE_AUTH_INFORMATION Information
PchTypes
PCI Attributes
pciDevice
pciDomain
PCI Enumerated DSP Candidates:
pciFunction
PCMC_PEND_INFO              pPendInfo;
PCMC_TAGGED_ATTRIBUTE       rgTaggedAttribute;
PCMC_TAGGED_CERT_REQUEST   pTaggedCertRequest;
PCMC_TAGGED_CONTENT_INFO    rgTaggedContentInfo;
PCMC_TAGGED_OTHER_MSG       rgTaggedOtherMsg;
PCMC_TAGGED_REQUEST         rgTaggedRequest;
PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO *rgpKeyAgreeKeyEncryptInfo;
PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO   pKeyAgree;
PCMSG_KEY_AGREE_RECIPIENT_INFO   pKeyAgree;
PCMSG_KEY_AGREE_RECIPIENT_INFO  pKeyAgree;
PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO   pKeyTrans;
PCMSG_KEY_TRANS_RECIPIENT_INFO   pKeyTrans;
PCMSG_KEY_TRANS_RECIPIENT_INFO  pKeyTrans;
PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO   pMailList;
PCMSG_MAIL_LIST_RECIPIENT_INFO   pMailList;
PCMSG_MAIL_LIST_RECIPIENT_INFO  pMailList;
*PCMSG_RECIPIENT_ENCODE_INFO;
PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients;
*PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO;
PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO   *rgpRecipientEncryptedKeys;
PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO   *rgpRecipientEncryptedKeys;
PCMSG_SIGNER_ENCODE_INFO rgCountersigners
PCMSG_SIGNER_ENCODE_INFO    rgSigners;
PCMSG_SIGNER_INFO   pSignerInfo;                
PCMSG_STREAM_INFO pStreamInfo
__p__commode
pContext
pCookieItem is NULL
PCRL_BLOB                   rgCrlEncoded;
PCRL_DIST_POINT         rgDistPoint;
PCRL_ENTRY              pCrlEntry;
PCRL_ENTRY           pCrlEntry;
PCRL_ENTRY *ppCrlEntry
PCRL_ENTRY                  rgCRLEntry;
PCRL_INFO               pCrlInfo;
PCRL_INFO pCrlInfo
PCRL_INFO rgpCrlInfo[]
PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm;
PCRYPT_ATTR_BLOB    rgValue;
PCRYPT_ATTRIBUTE
PCRYPT_ATTRIBUTE     rgAttr;
PCRYPT_ATTRIBUTE            rgAttribute;
PCRYPT_ATTRIBUTE        rgAttribute;
PCRYPT_ATTRIBUTE    rgAttribute;                
PCRYPT_ATTRIBUTE            rgAuthAttr;
PCRYPT_ATTRIBUTE            rgUnauthAttr;
PCRYPT_ATTRIBUTES           pAttributes;
PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr;
PCRYPT_CONTEXT_CONFIG pConfig);
PCRYPT_CONTEXT_CONFIG pConfig); 
PCRYPT_CONTEXT_CONFIG *ppBuffer);
PCRYPT_CONTEXT_FUNCTION_CONFIG pConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer);
PCRYPT_CONTEXT_FUNCTION_PROVIDERS *ppBuffer);
PCRYPT_CONTEXT_FUNCTIONS *ppBuffer);
PCRYPT_CONTEXTS *ppBuffer);
PCRYPT_DATA_BLOB pIdentifier);
PCRYPT_DATA_BLOB                    *ppErrorContentBlob;
PCRYPT_DATA_BLOB *ppIdentifier);
PCRYPT_DATA_BLOB rgBlob;
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC pDecryptPrivateKeyFunc;
PCRYPT_DER_BLOB pEncodedAttributes
PCRYPT_DER_BLOB     rgValue;
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc;
*PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO;
PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo
PCRYPT_IMAGE_REF pKM;
PCRYPT_IMAGE_REF pUM;
PCRYPT_IMAGE_REG pKM;
PCRYPT_IMAGE_REG pUM;
PCRYPT_INTEGER_BLOB pDeltaCrlIndicator;
PCRYPT_INTEGER_BLOB pInt2
PCRYPT_INTERFACE_REG *rgpInterfaces;
PCRYPT_KEY_PROV_PARAM   rgProvParam;
PCRYPTNET_URL_CACHE_FLUSH_INFO      pFlushInfo;
PCRYPTNET_URL_CACHE_PRE_FETCH_INFO  pPreFetchInfo;
PCRYPTNET_URL_CACHE_RESPONSE_INFO   *ppResponseInfo;
PCRYPT_PROPERTY_REF *rgpProperties;
PCRYPT_PROVIDER_REF *rgpProviders;
PCRYPT_PROVIDER_REFS *ppBuffer);
PCRYPT_PROVIDER_REG *ppBuffer);
PCRYPT_PROVIDERS *ppBuffer);
PCRYPT_RESOLVE_HCRYPTPROV_FUNC  pResolvehCryptProvFunc; 
PCRYPT_RETRIEVE_AUX_INFO pAuxInfo
PCRYPT_SMIME_CAPABILITY rgCapability;
PCRYPT_TIMESTAMP_ACCURACY   pvAccuracy;                 
PCRYPT_TIMESTAMP_INFO       pTimeStamp;
*PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO;
*PCRYPT_VERIFY_CERT_SIGN_WEAK_HASH_INFO;
PCTL_ENTRY
PCTL_ENTRY    pCtlEntry;
PCTL_ENTRY                  rgCTLEntry;         
PCTL_FIND_USAGE_PARA    pUsagePara; 
PCTL_INFO               pCtlInfo;
PCTL_VERIFY_USAGE_STATUS pVerifyUsageStatus
__pctype_func
PCURVES_INVALID_CONTRAST_VALUEWWW
pCustomModeW
PCWSTR Description;
PCWSTR DiscoveryVolumeType
PCWSTR IdentificationField
PCWSTR Passphrase
PCWSTR   Path
PCWSTR pwszPassword
PCWSTR  pwszServerName;
PCWSTR  *rgpwszCNGHashAlgid;
PCWSTR VolumeDescription
PCWSTR VolumePath
pDataWWW
pdateWWW@
PDB was not supplied for InitOnceGetStringTableOffset
PDB was not supplied for InitOnceScanIndexes
PdcActivationClientActivityRequest
PdcActivationClientRegister
PdcActivationClientUnregister
Pdcv2ActivationClientActivate
Pdcv2ActivationClientDeactivate
Pdcv2ActivationClientRegister
Pdcv2ActivationClientRenewActivation
Pdcv2ActivationClientUnregister
pDISABLE_BLCW
pDispCfg
pDisplayConfigWW
pDISPLAY_MODELIST_SUCCESS
pDownScaleParams
pDrmFormatModifierProperties
pdsWwXPo:M5
PdtThreshold
pDVODPORTd
pdwAspectScalingCaps
pdwConnector
pdwConnectorsWWW
pdwCurrentAspectScalingPreferenceWWW
pdwErrorL
PDWORD pcbCountersignature
PDWORD pcbData
PDWORD pcbEncryptParameters
pdwState
pdwStatusWWW
.PEAVBaseException@@
.PEAVCArchiveException@@
.PEAVCException@@
.PEAVCInvalidArgException@@
.PEAVCMemoryException@@
.PEAVCNotSupportedException@@
.PEAVCObject@@
.PEAVCOleException@@
.PEAVCResourceException@@
.PEAVCSimpleException@@
.PEAVCUserException@@
.PEAVexception@@
.PEAVException@@
.PEAVexception@std@@
.PEAVSystemException@Uev@@
.PEAVUevException@Uev@@
.PEBVGlobals@@
PeekConsoleInput
PeekConsoleInputW
PeekMessageA
PeekMessageW
PeekNamedPipe
pendingtaskmanagerent.cpp
pendingtaskmanagerent.h
pendingtaskmanagerenttests.cpp
pendingtaskmanagerisv.cpp
pendingtaskmanagerisv.h
pendingtasks.cpp
pendingtasks.h
_pendingUpdateMaxDelay
_pendingUpdateMinDelay
Perc_Ctor
PERC detection complete
PERC device detection complete
PERC enabled
percentageComplete
percentageCompleteWW
Perc_eptual Computing Action
Perc_ExecuteGetTemp
Perc_FindPxcDevice
Perc_GetTemp
Perc_HandleQueryTempFailure
Perc_InitPxcInterface
PercMgr_Ctor
PercMgr_GetAssociatedPercObject
PERC not enabled
Perc_PxcDetectionThread
Perc_ReleasePxcInterface
PERF_CONTROL		Has Performance Controls
PerfInfo_V0
PerfInfo_V1
PerfInfo_V2
perfmgr.cpp
perfmgr.h
Performance
performance_cc
_performanceCount
_performanceCounter
performanceCounterMultipleQueryPools
performanceCounterQueryPools
performancecounterreader.cpp
performancecounterreader.h
performancecounterreadertests.cpp
PerformanceCountOffset
_performanceDiff
PerformanceWarningLevel
PerformAssemblyRegistration
PerformAssemblyUnregistration
Performing cleanup
Performing global service reset...
Perform transfers in parallel
PerformTypeLibraryCreationAndRegistration
PerformTypeLibUnRegistration
PeriodSeconds
permission denied
permission_denied
permissions
PermissionToReboot
persistappdata.cpp
persistappdata.h
Persistent-Auth:
persistentdatatest.cpp
PersonalAssistantsData
personalize
peruserdata.cpp
peruserdata.h
pEscapeDataW
petStnemecalPmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
petStnemecalPmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
*PEV_EXTRA_CERT_CHAIN_POLICY_PARA;
pExecutionResource
pExtClientNotify
pExtraDataWW
pExtraErrorCodeW
pFaviconImageItem is NULL
pfCallback
pFeature
pfExistsL
PFILETIME           pTime;
PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFindCallback;
PFN_CERT_CREATE_CONTEXT_SORT_FUNC   pfnSort;    
PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum
PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum
PFN_CERT_ENUM_SYSTEM_STORE pfnEnum
PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK   pfnUpdateCallback;
PFN_CMSG_ALLOC              pfnAlloc;
PFN_CMSG_FREE               pfnFree;
PFN_CMSG_STREAM_OUTPUT  pfnStreamOutput;
PFN_CRYPT_ALLOC         pfnAlloc;           
PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree
PFN_CRYPT_ASYNC_PARAM_FREE_FUNC* ppfnFree
PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion;
PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc
PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo
PFN_CRYPT_FREE                      pfnFree;    
PFN_CRYPT_FREE          pfnFree;            
PFN_CRYPT_GET_SIGNER_CERTIFICATE    pfnGetSignerCertificate;
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER pfnFreeIdentifier;
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD pfnFreePassword;
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE pfnFree;
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET pfnGet;
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE pfnRelease;
PFN_NCRYPT_ALLOC        pfnAlloc;
PFN_NCRYPT_FREE         pfnFree;
pfnPowerCloseEnvironmentalMitigation() failed
pfnPowerCloseEnvironmentalMonitor() failed
pfnPowerCloseEnvironmentalPolicy() failed
pfnPowerRegisterEnvironmentalPolicy() failed 
pfnPowerUpdateEnvironmentalMitigation() failed
pfnPowerUpdateEnvironmentalMonitor() failed
pfnPowerUpdateEnvironmentalMonitorThresholds() failed
PFVE_AUTH_ELEMENT AuthElement
PFVE_AUTH_ELEMENT * Elements;
PFVE_DE_SUPPORT DeviceEncryptionSupport
PFVE_FIND_DATA_V1 FindData
PFVE_PROTECTOR_TYPE ProtectorType
pfVerificationFlagChecked
PFVE_SECUREBOOT_BINDING_STATE SecureBootBindingState
PFVE_STATUS_V8 Status
PFVE_TPM_CAPS Capability
PFVE_TPM_INFO FveTpmInfo
PFVE_TPM_PCR4_INFO FveTpmPcr4Info; 
PFVE_TPM_PCR7_INFO FveTpmPcr7Info; 
PFVE_TPM_PROTECTOR_INFO FveTpmProtectorInfo;
PFVE_TPM_STATE FveTpmState;
PFVE_TPM_STATE TpmStateInfo;
PFVE_UEFI_VARIABLE_INFO AllowedDatabaseVariableInfo;          
PFVE_UEFI_VARIABLE_INFO ForbiddenDatabaseVariableInfo;        
PFVE_UEFI_VARIABLE_INFO KekDatabaseVariableInfo;              
PFVE_UEFI_VARIABLE_INFO PlatformKeyVariableInfo;              
PFWEvent
PFXExportCertStore
PFXExportCertStore(
PFXExportCertStoreEx
PFXExportCertStoreEx(
PFXImportCertStore
PFXImportCertStore(
PFXIsPFXBlob
PFXIsPFXBlob(
PFXVerifyPassword(
.pGammaRampWW
_PgO241K2
pHabv.Onr
pHandleW
PHCRYPTASYNC phAsync
PhH;8t6I
phm_path
PhoneBookFreeFilter
PhoneBookLoad
PhoneBookMergeChanges
PhoneBookParseInfoA
PhoneBookUnload
_phraseId
PhraseModel
_phraseModelPath
pHwProvider is NULL
physicalDevices
PHYSICAL_DEVICE_TYPE_CPU
PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
PHYSICAL_DEVICE_TYPE_OTHER
PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU
_physicalRequest
PhysicalSizeGB
PicFreeFileInfo
Pick any authentication method
Pick any proxy authentication method
PicRetrieveFileInfo
PicRetrieveFileInfoAppx
PicRetrieveFIleInfoAppx returned an invalid program id
pihsnoitaleRtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
pihsrenwOlanruoJ.noitagivaN.swodniW.metsyS
pilCaideM.gnitidE.aideM.swodniW
pilCaideMI.gnitidE.aideM.swodniW
pilCcirtemoeGnoitisopmoCI.noitisopmoC.IU.swodniW
pilCcirtemoeGnoitisopmoC.noitisopmoC.IU.swodniW
pilCnoitisopmoCI.noitisopmoC.IU.swodniW
pilCnoitisopmoC.noitisopmoC.IU.swodniW
pilCtesnII.noitisopmoC.IU.swodniW
pilCtesnI.noitisopmoC.IU.swodniW
pilFpamtiB.gnigamI.scihparG.swodniW
PinDisabledByPolicyReason
pInfoWWW
PING_PONG_STATE_CORRUPTION
PingTrustlet
pinnedpubkey
PinRefreshAccountInfo
PinRefreshEnrollmentStatus
PinRefreshFixPinStatus
PinRefreshPolicy
PinRules
pinrules.stl
PinSettingInvoke
PINT FveMethod
PIO *!OA
_pipeClient
PipeDirection
pipelineCacheUUID
PIPELINE_COMPILE_REQUIRED
pipelineCount
pipelineCreationCacheControl
pipelineExecutableInfo
pipelineFragmentShadingRate
pipelineStatisticsQuery
pipeName
_pipeServer
PipeStream
PipeTransmissionMode
PiQ8r'un
piTlooTI.slortnoC.lmaX.IU.swodniW
piTlooT.slortnoC.lmaX.IU.swodniW
PixelClockWW
PixelStructureWW
:pJh'(YD
PkeyconfigSource
pkgmgr_tests.cpp
pkiengineering@intel.com0
PkUQktPm
platform
Platform Configuration
Platform Enumerated DSP Candidates:
platform.h
PlatformHwIds
Platform identifier is: 
PLATFORM_INFO_SUPPORTWWW(
PlatformLicenseManagerService
PlatformLicenseManagerService: 
PlatformLicenseManagerService::PlatformLicenseManager::Run
. Platform not eligible for ExS anymore.
Platform Orientation flat down max angle is not aligned with upright inverted min angle
Platform Orientation flat down min angle is not aligned with upright max angle
Platform Orientation flat up max angle is not aligned with upright min angle
Platform Orientation flat up min angle is not aligned with upright inverted max angle
platformPowerDutyCycle3
platformPowerLimit1
platformPowerLimit2
platformPowerLimit3
platformPowerLimit4
platformPowerTimeWindow1
platformPowerTimeWindow3
PlatformsGPUOverrideNeededAsync
platformType
	PlatformType: 
_PLATFORM_TYPE_ALLWWW
PLATFORM_TYPE_DESKTOPWWW
_PLATFORM_TYPE_INFOW
?PLATFORM_TYPE_MOBILE
PLATFORM_TYPE_TABLET
PLATFORM_TYPE_UNKNOWNWWW
PlaySoundW
plCountW@
Please contact the application's support team for more information.
Plex to be added must be different from current LUN
pllUserLogonTime
pLoginItem is NULL
plProcHandled
pLtFo	Xx
PLTimeMax
PLTimeMin
PluginCount
PluginDetailsRequest
_pluginDomainManager
PluginDomainManager
pluginFlags
Plugin function pointer is NULL
PluginHostContext
pluginId
_pluginInfo
PluginInformation
PluginInitializedCount
pluginName
_pluginNotifyMethod
_pluginObject
PluginPolicyConverter
PluginPolicyData
pluginRegister start
PluginRepository
PluginRepositoryException
_pluginRequestInfo
PluginRequestInformation
_pluginRequestMtx
PluginsInstallationRelativePath
_pluginStopMethod
_pluginVerifier
PluginVerifier
pmaLI.sthgiL.seciveD.swodniW
pmaL.sthgiL.seciveD.swodniW
pMarInset
pmatsemiTecruoSnoitisoPhtiWetanidroocoeGI.noitacoloeG.seciveD.swodniW
pmatsemiTnoitpecrePI.noitpecreP.swodniW
pmatsemiTnoitpecreP.noitpecreP.swodniW
PmcCounterConfig_V2
_pMicArrayGeometry
pmt.55b2mcc
pmwOT1Wn
pnButton
_pnButtonPtr
pne Keyboard Manager.
pne Lenovo Settings 
pnnnnononnAs
pnRadioButton
pnVerificationFlagChecked
POCSP_BASIC_RESPONSE_ENTRY  rgResponseEntry;
POCSP_BASIC_REVOKED_INFO    pRevokedInfo;
POCSP_REQUEST_ENTRY         rgRequestEntry;
POCSP_SIGNATURE_INFO        pOptionalSignatureInfo; 
POGOLRESURPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
pointClippingBehavior
POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
pointPolygons
pointSizeGranularity
pointSizeRange
policy_adapter.h
policy_adapter_impl.h
policyapitests.cpp
policyapplierloadtests.cpp
Policy Configuration IDWWW
PolicyConversionTaskResult
policy.cpp
policyDataPtr is NULL
policydocument.cpp
policydocumenttests.cpp
policyerrors.h
policyfactory.cpp
policyfactorymock.cpp
policyfactorymock.h
policy.h
policyidmanager.cpp
policyidmanager.h
policyidmgrtests.cpp
policymanager.cpp
policymanager.dll
PolicyManager_FreeGetPolicyData
PolicyManager_FreeStringValue
PolicyManager_GetPolicy
PolicyManager_GetPolicyInt
PolicyManager_GetPolicyString
PolicyManager_IsPolicySetByMobileDeviceManager
policymock.cpp
policymock.h
policyName
PolicyParams:
Policy path:
PolicyPlatform_AuthoredConfigPointReport
PolicyPlatform_AuthorityScopeFilter
PolicyPlatform_BaselineOptimization
PolicyPlatform_BooleanCollectionState
PolicyPlatform_BooleanState
PolicyPlatform_CollectionState
PolicyPlatform_ComputerPolicyProcessor
PolicyPlatform_Condition
PolicyPlatform_ConfigPoint
PolicyPlatform_ConfigPointState
PolicyPlatform_ConfigPointToConfigPoints
PolicyPlatform_ConfigPointToRules
PolicyPlatform_ConfigPointVariable
PolicyPlatform_ConfigPointWithError
PolicyPlatform_ConformantStatus
PolicyPlatform_Context
PolicyPlatform_ContributionReport
PolicyPlatform_DateTimeCollectionState
PolicyPlatform_DateTimeState
PolicyPlatform_DesiredStateGoal
PolicyPlatform_Detail
PolicyPlatform_DiscoveryDetail
PolicyPlatform_DiscoveryError
PolicyPlatform_DiscoveryErrorStatus
PolicyPlatform_Document
PolicyPlatform_DocumentId
PolicyPlatform_DocumentIdMapping
PolicyPlatform_DocumentScopeFilter
PolicyPlatform_EnactmentContext
PolicyPlatform_EnactmentJobMetrics
PolicyPlatform_ExtendedStatus
PolicyPlatform_FunctionTacticStepIdMapping
PolicyPlatform_GeneralOptimization
PolicyPlatform_Goal
PolicyPlatform_InstanceConfigPointReport
PolicyPlatform_InstanceRule
PolicyPlatform_InventoryGoal
PolicyPlatform_InventoryReport
PolicyPlatform_InversionData
PolicyPlatform_InversionReport
PolicyPlatform_JobSummaryReport
PolicyPlatform_LiteralInstanceVariable
PolicyPlatform_MinimalChangeOptimization
PolicyPlatform_MissingPolicy
PolicyPlatform_ModelInstance
PolicyPlatform_ModelReport
PolicyPlatform_NotApplicableStatus
PolicyPlatform_NotConformantStatus
PolicyPlatform_ObjectCollectionState
PolicyPlatform_ObjectState
PolicyPlatform_Optimization
PolicyPlatform_Policy
PolicyPlatform_PolicyMappingReport
PolicyPlatform_PolicyProcessor
PolicyPlatform_PolicyReference
PolicyPlatform_PolicyStatus
PolicyPlatform_PostRemediationAction
PolicyPlatform_PrincipalDocumentBinding
PolicyPlatform_ProcessingErrorStatus
PolicyPlatform_ProcessorRequestBase
PolicyPlatform_Real32CollectionState
PolicyPlatform_Real32State
PolicyPlatform_Real64CollectionState
PolicyPlatform_Real64State
PolicyPlatform_Registration
PolicyPlatform_ReificationDetail
PolicyPlatform_ReificationError
PolicyPlatform_RelationalErrorStatus
PolicyPlatform_RemediationErrorStatus
PolicyPlatform_Report
PolicyPlatform_ReportedAuthoredConfigPoint
PolicyPlatform_ReportedConfigPoint
PolicyPlatform_ReportedContainer
PolicyPlatform_ReportedContext
PolicyPlatform_ReportedInstanceConfigPoint
PolicyPlatform_ReportedVariable
PolicyPlatform_RPF_Condition
PolicyPlatform_RPF_FunctionTactic
PolicyPlatform_RPF_Link
PolicyPlatform_RPF_Matcher
PolicyPlatform_RPF_Reference
PolicyPlatform_RPF_RuleIdCondition
PolicyPlatform_RPF_RuleIdMatcher
PolicyPlatform_RPF_Step
PolicyPlatform_RPF_StepReference
PolicyPlatform_RPF_Strategy
PolicyPlatform_RPF_StrategyReference
PolicyPlatform_RPF_TableLookupTactic
PolicyPlatform_RPF_Tactic
PolicyPlatform_RPF_ValueTable
PolicyPlatform_RPF_ValueTableEntry
PolicyPlatform_Rule
PolicyPlatform_RuleErrorStatus
PolicyPlatform_RuleId
PolicyPlatform_RuleIdMapping
PolicyPlatform_RulePrioritizationDetail
PolicyPlatform_RulePrioritizationMappingReport
PolicyPlatform_RulePrioritizationReport
PolicyPlatform_RuleReference
PolicyPlatform_RuleStatus
PolicyPlatform_RuleStatusDetailReport
PolicyPlatform_RuleStatusReport
PolicyPlatform_RuleToConfigPoints
PolicyPlatform_RuleToStateReport
PolicyPlatform_ScopeFilter
PolicyPlatform_SelectorToSelectors
PolicyPlatform_SingleRuleFeasibilityDetail
PolicyPlatform_SingletonState
PolicyPlatform_Sint16CollectionState
PolicyPlatform_Sint16State
PolicyPlatform_Sint32CollectionState
PolicyPlatform_Sint32State
PolicyPlatform_Sint64CollectionState
PolicyPlatform_Sint64State
PolicyPlatform_Sint8CollectionState
PolicyPlatform_Sint8State
PolicyPlatform_StateReport
PolicyPlatform_StateToRuleReport
PolicyPlatform_StepIdMapping
PolicyPlatform_StringCollectionState
PolicyPlatform_StringState
PolicyPlatform_SynchronizationDetail
PolicyPlatform_SynchronizationDetailReport
PolicyPlatform_SynchronizationError
PolicyPlatform_SynchronizationErrorReport
PolicyPlatform_TableLookupTacticStepIdMapping
PolicyPlatform_TattooDetectionReport
PolicyPlatform_Uint16CollectionState
PolicyPlatform_Uint16State
PolicyPlatform_Uint32CollectionState
PolicyPlatform_Uint32State
PolicyPlatform_Uint64CollectionState
PolicyPlatform_Uint64State
PolicyPlatform_Uint8CollectionState
PolicyPlatform_Uint8State
PolicyPlatform_UserPolicyProcessor
PolicyPlatform_ValueContribution
PolicyPlatform_ValueContribution2
PolicyPlatform_Variable
PolicyPlatform_VersionCollectionState
PolicyPlatform_VersionState
PolicyPlatform_WMIMethodAction
policyString
policyutilitiestest.cpp
policyutilitiestest.h
policyValue
policy_version
Policy XML.
PollingTime
Polyline
PolyTextOutW
PONIBRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ponoooooonA
pooledthread.cpp
pooledthread.h
pOoN8VemiTefiLpaM.slortnoC.spaM.enohP.tfosorciM
pOoNledoMpaM.slortnoC.spaM.enohP.tfosorciM
pOoNresworBbeW.slortnoC.enohP.tfosorciM
POP3 protocol options
PopFromObjectIdList
PopFromObjectPropertyList
PopFromObjectPropertyList2
PopFromPathInfoList
PopupAttributes
PopupFillAttribute
poretnIecafretnItsoHeliT.spaM.enohP.tfosorciM
poretnIepocsoryG.srosneS.seciveD.tfosorciM
poretnIkcarToiduA.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
poretnInoitacifitoNlacoL.llehS.enohP.tfosorciM
poretnInoitacifitoNmetsyS.reludehcS.enohP.tfosorciM
poretnInoitoM.srosneS.seciveD.tfosorciM
poretnIraBppAI.poretnI.llehS.enohP.tfosorciM
poretnIreganaMkcabyalPoiduA.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
poretnIresworBbeWI.slortnoC.enohP.tfosorciM
poretnIresworBbeW.slortnoC.enohP.tfosorciM
poretnIretemoreleccA.srosneS.seciveD.tfosorciM
poretnIssapmoC.srosneS.seciveD.tfosorciM
poretnIsutatSeciveD.ofnI.enohP.tfosorciM
poretnItsiLI.poretnI.llehS.enohP.tfosorciM
poretnIyarTsySI.poretnI.llehS.enohP.tfosorciM
PORPFEDERP.scitnameS.redniBemitnuR.prahSC.tfosorciM
PORPRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
--portability
) portability features and properties. Generated using the 
portability.json
--portability       Produce a json version of vulkaninfo to standard output of the first
PortCls_AudioEngine
PortCls_IrpProcessing
PortCls_PinState
PortCls_Position
PortCls_PowerPolicy
PortCls_PowerState
PortCls_ServiceGroup
PortCls_SubDevice
portDetailsW
PortList
PortMaintenanceOp
PORT_NUMBER
Portrait_Flipped
			position: absolute;
_positionNotification
    --post301
    --post302
    --post303
postalCode
?_PostEvent@Element@DirectUI@@AEAAXPEAUEvent@2@H@Z
PostFixAllCascadingInMachinePartition
postgain
PostMessageA
PostMessageW
PostQuitMessage
PostStreamCreation
PostThreadMessageW
potStneidarG.aideM.lmaX.IU.swodniW
potStneidarGI.aideM.lmaX.IU.swodniW
potStneidarGroloCnoitisopmoCI.noitisopmoC.IU.swodniW
potStneidarGroloCnoitisopmoC.noitisopmoC.IU.swodniW
Pour modifier l'action de la Touche d
*PowerApiOpen 
POWER_AUTOMATICDISPLAYBRIGHTNESS_FAILEDW
POWERBROADCAST_SETTING
PowerBroadcastStatus
PowerButtonPresent
power_cc
PowerCloseEnvironmentalMonitor
PowerCloseLimitsMitigation
PowerCloseLimitsPolicy
POWER_CONTROL		Has RAPL Power Controls
PowerCreateRequest
PowerDeterminePlatformRoleEx
POWER_DISPLAYREFRESHRATESWITCHING_FAILED
powerDutyCycle3
POWER_DYNAMICFRAMERATECONTROL_FAILED
POWER_ERROR_CODESWWW
POWER_EVENT_POWERSETTINGCHANGE
POWER_EVENT_RESUME
POWER_EVENT_SUSPEND
POWER_FEATURE_FAILED
PowerFeaturesMax
PowerFeaturesWWW
PowerGetActiveScheme
POWER_GRAPHICSPSTATE_FAILEDW
POWER_GRAPHICSRENDERSTANDBY_FAILEDWW
powerLimit1
powerLimit2
powerLimit3
powerLimit4
PowerModeChangedEventArgs
PowerModeChangedEventHandler
PowerModes
POWER_MONITOR_ON
Power Participant
PowerPlanBestPowerSavingsWWW
POWER_PLAN_FAILEDWWW4
PowerPlanGetCurrentW
POWER_PLAN_GET_FAILEDWWWl
PowerPlanGoodPowerSavingsWWW
PowerPlanMax
_POWER_PLAN_SET_FAILEDWWW
POWER_PLAN_SUCCESSWWl
PowerPlanWWW
PowerReadACValueIndex
PowerReadDCValueIndex
PowerRegisterEnvironmentalMonitor
PowerRegisterForEffectivePowerModeNotifications
PowerRegisterLimitsMitigation
PowerRegisterLimitsPolicy
PowerRemovePowerSetting
PowerReportLimitsEvent
PowerReportThermalEvent
PowerSetActiveScheme
PowerSetRequest
PowerSetting
PowerSettingGuid
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
powerShareEffectiveBias
powerSharePolicyPower
power_slider_init
POWER_SMART2DDISPLAYTECHNOLOGY_FAILEDWWW
PowerStateACX4
PowerStateDC
_powerStatus
powerStatus
POWER_STATUS				Has RAPL Power Feature
POWER_SUCCESSWWW
POWER_SUNLIGHTREADABILITY_FAILED
PowerSystemHibernate
PowerSystemMaximum
PowerSystemShutdown
PowerSystemSleeping1
PowerSystemSleeping2
PowerSystemSleeping3
PowerSystemUnspecified
PowerSystemWorking
powerTimeWindow1
powerTimeWindow3
PowerUnregisterFromEffectivePowerModeNotifications
PowerUpdateEnvironmentalMonitorState
PowerUpdateEnvironmentalMonitorThresholds
PowerUpdateLimitsMitigation
PowerWriteACValueIndex
PowerWriteDCValueIndex
PowerWriteSettingAttributes
PowerWWWl9
powrprof.dll
POWRPROF.dll
POYRANURPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
PP9E u:PPVWP
PPaaooooooaa@@
ppAcciUdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
ppAcciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
pPackageGroupPropertiesWWX
ppackages
ppAlaiDI.locotorPlaiD.aideM.swodniW
ppAlaiD.locotorPlaiD.aideM.swodniW
ppAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
ppAmetsySetomeR.smetsySetomeR.metsyS.swodniW
ppApotkseDdellatsnII.yrotnevnI.metsyS.swodniW
ppApotkseDdellatsnI.yrotnevnI.metsyS.swodniW
ppApplicationsWWX
ppArevieceRlaiDI.locotorPlaiD.aideM.swodniW
ppArevieceRlaiD.locotorPlaiD.aideM.swodniW
ppAtnerruC.erotS.ledoMnoitacilppA.swodniW
ppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
PpBufferSize
_ppCapable
PpChunkSizeIn10ms
PpClientConfiguration
_ppConfig
PpConstVariables
ppDataWWd
PpDefaultConfigsDirName
PpDefaultConfigsFileName
ppDevice
ppDevices
_ppDllClientHandle
PpDllClientSafeHandle
_ppDllConfigBlob
PpDllMethods
PpDllNameRegKey
_ppDllPath
ppdrivesL
ppdriveW@
ppEndpoint
ppenumWW
ppfilesW@
 @ppfileWW
ppfolder@
PPFVCSVTG
ppGroupsd
ppInterface
_ppMemoryName
PpModuleGuid
PpModuleType
ppna Lenovo Settings 
ppna Tangentbordshanteraren.
@@@@@@@@@ppp
ppPackagesWWd
ppp@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ppp
PPPPPPPP
PPPPPPPPPPPPPPPPPKMNNNNNNNNNNOLO
ppProperties
PPPS57PPS57PPPNNPPRV
PPPzQRRx
pProviderNode is NULL
ppSessionInfo
_ppSharedMemory
_ppSharedMemoryName
pptauth.cpp
pptauth.h
PPTP00|[
PPTP000u
PPTP001u
PPTP002u
PPTP003u
PPTP004u
PPTP008u
PPTP009u
PPTP00a[
PPTP00Au
PPTP00Cu
PPTP00Du
PPTP00Fu
PPTP00FW
PPTP00Gu
PPTP00GW
PPTP00h[
PPTP00HW
PPTP00i[
_PPTP00.k
PPTP00l[
PPTP00m[
PPTP00n[
PPTP00p[
PPTP00t[
PPTP00 u
PPTP00!u
PPTP00'u
PPTP00(u
PPTP00)u
PPTP00:u
PPTP00v[
ppVirtualProcessorRoots
Pq(kR44C
pRadioButtons
#pragma endregion
#pragma endregion Input Buffer SAL 1 compatibility macros
#pragma once
PRAGMA optimize;
#pragma region App Family or OneCore or Games Family
#pragma region Application Family or OneCore Family
#pragma region Application Family or OneCore or Games Family
#pragma region Desktop Family
#pragma region Desktop Family or Games
#pragma region Desktop Family or OneCore Family
#pragma region Desktop Family or OneCore or Games Family
#pragma region Desktop Family or Wintrust Package or Games Family
#pragma region Desktop or Games Family
#pragma region Input Buffer SAL 1 compatibility macros
#pragma warning(default:4214) 
#pragma warning(disable:4001) 
#pragma warning(disable:4201)   
#pragma warning(disable:4201)    
#pragma warning(disable:4214) 
#pragma warning(disable:4214)   
#pragma warning(disable:4668) 
#pragma warning(disable:4668)    
#pragma warning(disable:4820) 
#pragma warning(disable:4820)    
#pragma warning(pop)
#pragma warning(push)
	PreAdjustedPosition
Precision is not an integer.
Precision not allowed for this argument type.
precompiled_header.h
_predicate
predictivestream.cpp
predictivestream.h
PreferredOs
PrefixWW
pRegistrationIDW
PreInstallPackageAsync
PrepareBargeInData
PrepareBuffer
PrepareDetectionDataBuffer
PrepareDetectionInputData
PrepareForUpdatesFromFolder
PrepareInputData
prepare install failed - applet file not found
prepareInstallFromFile(): Failed to get applet blobs from dalp file.
PrepareLpePackage
PrepareNotificationBuffer
?PrepareToParse@ARGUMENT_LEXEMIZER@@QEAAEPEAVWSTRING@@@Z
Preparing for accepting server on data port
prepere install failed - applet file not written properly
preppage.cpp
_preprocessed
_preprocessedData
_preprocessedDataSize
_preprocessingVendor
PreprocessingVendor
_preprocessingVendorName
_preprocessingVendorNameSize
preproxy
PresenceMonitorClearCache
PresenceMonitorEnumAll
PresenceMonitorGetChanges
PresenceMonitorSetLifetimeInSeconds
PresenceMonitorUpdate
Presentable Surfaces
PresentationBuildTasks
PresentationCore
PresentationFramework
PresentationSource
presentationVersion
Present Capabilities
presentId
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
Present modes
Present Modes
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
present support
presentWait
[PreSetupCommandsSection]
Press any key to restart
?PressedProp@TouchButton@DirectUI@@SAPEBUPropertyInfo@2@XZ
PreStreamCreation
PreviousDeviceId
PreviousState
PRGMEMRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
primarydetectors.cpp
primarydetectors.h
PrimaryFeatureBlockLoadStartedWW
_primaryFeatureBlockPercentDownloaded
primaryMajor
primaryMinor
PrimaryTile
PrimaryTileUser
PrimaryTileUserChangelog
PRIMITIVE EXECUTION API:
Primitive failed.
primitiveFragmentShadingRate
primitiveFragmentShadingRateWithMultipleViewports
primitiveOverestimationSize
Primitive Overrides
Primitive Request:
PRIMITIVES AND ACTIONS:
primitiveTopologyListRestart
primitiveTopologyPatchListRestart
primitiveUnderestimation
printerdriverdetector.cpp
printerdriverdetector.h
printerdriverdetectorut.cpp
printerenumerator.cpp
printerenumerator.h
printerenumerator.stub.cpp
printerenumeratorut.cpp
PrintFileDateModified
PrintFileVersion
PrintMessage
PrintMessageFromHR
PrintMessageFromID
PrintMessage(MSG_INFO_NO_SELECTED_PORT)
PrintMessage(MSG_INFO_NO_SELECTED_STORAGEPOOL)
PrintMessage(MSG_INFO_NO_SELECTED_SUBSYSTEM)
PrintMessage(MSG_INFO_NO_SELECTED_TPGROUP)
PrintMessage(MSG_INFO_SELECTED_STORAGEPOOL)
PrintMessage(MSG_INFO_SELECTED_SUBSYSTEM)
PrintMessageWithArguments
PrintMessageWithArguments(MSG_INFO_LIST_DRIVE_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_INITIATOR_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_LUN_LINE_2)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_FC_LINE_FIRST)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_FC_LINE_NEXT)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_ISCSI_LINE_FIRST)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_ISCSI_LINE_NEXT)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_LBP_FC_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_PATH_LBP_ISCSI_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_STORAGEPOOL_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_SUBSYSTEM_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_Target_LINE)
PrintMessageWithArguments(MSG_INFO_LIST_TPORTAL_LINE)
PrintMessageWithArguments(MSG_INFO_SELECTED_STORAGEPOOL)
PrintMessageWithArguments(MSG_INFO_SELECTED_SUBSYSTEM)
                    Print output to a new file whose name is specified by filename.
PrintPoolAllocatedLuns
PrintPoolAllocatedPools
PrintPoolAttributes
PrintPoolContributingDrives
PrintString
PrintUsage
PrintWelcomeMessage
priorities
priority
priorityCount
Priorityd
PrivacyConsentCompleted
privacyConsentState
PrivacyConsentStatus
private: 
PrivateCoInternetCombineIUri
privateCreateSpatialCrossProcessEndpoint
privateData
Private key file name
Private key file type for proxy
Private key for HTTPS proxy
[Private Keys]
_privateLateBoundObject
PrivateLateBoundObject
Private Namespace created!
Private Organization1
_privateSystemProperties
PrivateSystemProperties
privColObj
PrivilegeCheck
PrivilegeCount
privObjEnum
problem parsing
Problem with the local SSL certificate
Problem with the SSL CA cert (path? access rights?)
Process32FirstW
Process32NextW
ProcessCabinet() FDIDestroy() failed.
ProcessCommandLine
Process completed
process.cpp
processcreationhelper.cpp
processcreationhelper.h
processcreationhelper_test.cpp
ProcessData
Process_Defunct_TypeGroup1
ProcessDeploymentData
ProcessDetection
ProcessesConnected
Process exception occured: 
Process given URLs as metalink XML file
ProcessHandle
processId
Process ID
ProcessID
ProcessIdToSessionId
ProcessInformation
PROCESS_INFORMATION
processing_chunk_10ms_
processing_enabled_
ProcessingErrorValue
ProcessingPassCount
ProcessingSQL
processlauncher.cpp
processlauncher.h
processlaunchertests.cpp
Process limit reached
PROCESS_MEMORY_MONITORING_DELAY_MS
ProcessMemoryMultiplierName
ProcessMessage
ProcessMethod
process_monitor.cpp
processName
Process nameWW
ProcessNativeMethods
process_notifier.h
process-optimizer-bands
process_optimizer_config
process-optimizer-enable
process_optimizer_enable
processor
ProcessorMaxThrottle
ProcessorMinThrottle
ProcessorNamePatterns
Processor Participant
ProcessorThrottle
processpathtrackertests.cpp
ProcessPrivilegeDetector
ProcessRequest
Process started
ProcessStartInfo
Process_Terminate_TypeGroup1
process_terminator.cpp
process_terminator.h
processterminatormock.cpp
processterminatormock.h
process_terminator_tests.cpp
process_terminator_tests.h
process_tests.cpp
ProcessTrace
Process_V0
Process_V0_TypeGroup1
Process_V1
Process_V1_TypeGroup1
Process_V2
Process_V2_TypeGroup1
Process_V2_TypeGroup2
Process_V2_TypeGroup3
Process_V2_TypeGroup4
Process_V2_TypeGroup5
Process_V3
Process_V3_TypeGroup1
Process_V4
Process_V4_TypeGroup1
ProcessWindowStyle
procutils.h
Product has been uninstalled
Product ID
ProductID
ProductIDWWW
production
ProductNameW
Product nameWW
ProductType
Product versionWWW	
profapi.dll
PROFILE_DIRECTORY_NOT_FOUND
ProfileItem
ProfileList
ProgIDFromCLSID
Program: 
ProgramFiles
Program ID was too long
Program ID was too short
ProgramW6432
progress-bar
ProgressBarDataRepositoryViewModel
(ProgressBar.IsIndeterminate)
ProgressBarStyle
progressinstallpage.cpp
progress-meter
progressStatusWWd
projectfileinfo.hpp
ProjectInstaller
ProjectInstaller_Committed
ProjectionIsForced
ProjectionRevertCounterExpires
ProjectionRevertDialogAppears
promise already satisfied
promoteOemTiles
prooftst
_properties
Properties
propertiesreader.cpp
propertiesreadertests.cpp
property
Property
propertyBuffer
propertyBufferSize
PropertyChangedCallback
PropertyChangedEventHandler
_propertyData
PropertyData
PropertyDataCollection
_propertyDataSize
PropertyDescriptor
PropertyDescriptorCollection
propertyFlags
propertyInfo
PropertyInfo
PROPERTYKEY
propertyName
propertyRegDataType
PropertySheetW
_propertySize
propertystore.h
propertystoreimpl.cpp
propertystoreimpl.h
propertystoremock.cpp
propertystoremock.h
propertystoretests.cpp
propertystoretests.h
property SupportedEventsWW
propertyValues
propGuid
?PropSheet_SendMessage@TaskPage@DirectUI@@IEAA_JI_K_J@Z
PROPSYS.dll
PropVariantClear
PropVariantCompareEx
PropVariantGetElementCount
PropVariantGetStringElem
PropVariantToBoolean
PropVariantToInt16
PropVariantToStringAlloc
PropVariantToStringWithDefault
PropVariantToUInt32
protected: 
protectedMemory
protectedNoFault
Protocol
protocol error
protocolEventRegValueName
protocolEventValue
ProtocolEventValue
Protocol family not supported
Protocol is unsupported
protocol not supported
protocol_not_supported
Protocol option is unsupported
Protocols: 
proto-default
proto-redir
_provider
Provider
Provider is not selected
PROVIDER_MICROSOFT_APPV_CLIENT
ProvisionedPackage
ProvisionedPackageDeleted
ProvisionedPackageExclude
provokingVertexLast
provokingVertexModePerPipeline
Proximity instance released
Proximity sensor privacy event not yet unregistered
proxy1.0
    --proxy-anyauth
proxy-anyauth
Proxy-authenticate:
Proxy-authorization
    --proxy-basic
proxy-basic
proxy-cacert
proxy-capath
proxy-cert
proxy-cert-type
proxy-ciphers
Proxy CONNECT aborted
Proxy CONNECT aborted due to timeout
Proxy CONNECT connection closed
Proxy-Connection
Proxy-Connection:
Proxy-Connection: Keep-Alive
proxy-crlfile
ProxyDebugLogLevel
    --proxy-digest
proxy-digest
ProxyFileLogLevel
ProxyFileLogName
proxy handshake error
proxy-header
    --proxy-insecure
proxy-insecure
proxy-key
proxy-key-type
    --proxy-negotiate
proxy-negotiate
    --proxy-ntlm
proxy-ntlm
proxy-pass
proxy-pinnedpubkey
ProxyPort
ProxyServer
proxy-service-name
proxysettingpage.cpp
ProxySettingsPerUser
    --proxy-ssl-allow-beast
proxy-ssl-allow-beast
    --proxy-ssl-auto-client-cert
proxy-ssl-auto-client-cert
proxy_ssl_verify_result
proxy support is disabled in this libcurl
proxy-tls13-ciphers
proxy-tlsauthtype
proxy-tlspassword
proxy-tlsuser
    --proxy-tlsv1
proxy-tlsv1
proxytunnel
PROXY UNKNOWN
proxy-user
Proxy user and password
_pRpcLauncher
PSAPI.DLL
PS_BackgroundTask
pScheduler
PS_ClusteredScheduledTask
PSCreateMemoryPropertyStore
PS_DnsClientNrptGlobal
PS_DnsClientNrptPolicy
PS_DnsClientNrptRule
PS_EapConfiguration
pSecndRRToSetWWW
pSecondaryRR
pseudonym
PS_MMAgent
PS_Module
PS_ModuleFile
PS_ModuleToModuleFile
PSPropertyBag_ReadDWORD
PSPropertyBag_WriteDWORD
PSPropertyBag_WriteInt
pss call error
PS_ScheduledTask
pss connection error
*PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA;
PS_StorageCmdlets
PSTAPOptimizeToKernel
pStateMax
pst.enohpdih
pst.mdminu
pst.psddmk
pst.psetomer
PS_UpdateAndCompareCIPolicy
PS_VpnConnection
PS_VpnConnectionIPsecConfiguration
PS_VpnConnectionProxy
PS_VpnConnectionRoute
PS_VpnConnectionTrigger
PS_VpnConnectionTriggerApplication
PS_VpnConnectionTriggerDnsConfiguration
PS_VpnConnectionTriggerTrustedNetwork
PS_VpnServerAddress
pszCollapsedControlText
pszContent
pszExpandedControlText
pszExpandedInformation
pszFooter
pszMainInstruction
pszVerificationText
pszWindowTitle
pTaskConfig
PthiClient
pThreadProxy
PtInRect
pTotalSizeWWW
ptree contains data that cannot be represented in JSON format
PtrToMemorySafeHandle
PtrToStringAuto
PtrToStringUni
PtrToStructure
PTT Recertification status for key type 
PTT transaction is not supported on this platform
PtVisible
pTvParameter
:p;t;x;|;
pu64Position
pu64QPCPosition
|)P!?Ua0
public: 
publicapi.cpp
publicapi.h
publicapitests.cpp
publicapitests.h
publiceventsdetector.h
publiceventsdetectorut.cpp
PublicKey
Public Key Algorithm
publishcomponent.cpp
publishcomponent.h
PublishCounter
PublishCounterWW
publishdlg.cpp
publishdlg.h
publisher
PublisherCacheFolder
PublisherCommonName
publisherName
PublisherW
PublisherWWW
Publishes a package groupW
Publishes a packageWWW1
PublishFromAppVServer
PublishFromMDM
PublishFromXMLAsyncW
PublishGroupFinished
_publishingActivities
publishingactivities.cpp
publishingactivities.h
PublishingActivityEventArgs
publishingActivityItemsControl
publishingActivityProgress
PublishingActivityProgressBarControl
PublishingActivityStatusChangedWx
publishingactivitytests.cpp
publishingcommands.h
publishing_manager.cpp
publishing_manager.h
publishingmanagertests.cpp
publishingrc.h
_publishingRefreshes
PublishingRefreshEventArgs
PublishingRefreshProgressBarControl
PublishingRefreshStatusChangedWW
publishingrefreshtests.cpp
publishingserver.cpp
publishingserver.h
publishingservertest.cpp
PublishingStatusType
publishingXMLWWWd
publishmanager.cpp
publishmanager.h
publishmanagertests.cpp
publishoperationstests.cpp
publish_operation_tests.cpp
PublishPackage
publishpackageactivitytests.cpp
publishpackagegrouptests.cpp
"PublishPackageGroupWd
publishpackagetests.cpp
publishserverfactory.cpp
pubutils.cpp
pubutils.h
PUCHAR      pbAuthData;
PUCHAR                          pbBuffer;       
PUCHAR      pbIV;
PUCHAR  pbKeyAuth;
PUCHAR  pbKeyBlob;
PUCHAR   pbLabel;
PUCHAR      pbMacContext;
PUCHAR      pbNonce;
PUCHAR  pbOID;
PUCHAR      pbOtherInfo;
PUCHAR      pbTag;
PUCHAR pbValue);
PUCHAR pbValue;
PUCHAR *ppbValue);
puidMonitorW
PUINT NumGuids
pukooLrebmeM.scitnameS.redniBemitnuR.prahSC.tfosorciM
Pulled out a non-stringtable item
PULONG AuthMethodCount
PULONG ClearKeyCounter
PULONG Count
PULONG FlagsOut
PULONG FveMethodFlags
PULONG SidBufferSize
PULONG TypeFlags
PULONG UserFlags
PulseEvent
pulSerialNumberW
punaelCnoitarepOcnysA.krowemarF.anX.tfosorciM
;puND8s	uH
puorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
puorGdItelppAdraCtramS.sdraCtramS.seciveD.swodniW
puorGecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
puorGecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
puorGetatSlausiVI.lmaX.IU.swodniW
puorGetatSlausiV.lmaX.IU.swodniW
puorGlairetaMdrooC2erutxeTD3gnitnirP.D3gnitnirP.scihparG.swodniW
puorGlairetaMdrooC2erutxeTD3gnitnirPI.D3gnitnirP.scihparG.swodniW
puorGlairetaMesaBD3gnitnirP.D3gnitnirP.scihparG.swodniW
puorGlairetaMesaBD3gnitnirPI.D3gnitnirP.scihparG.swodniW
puorGlairetaMetisopmoCD3gnitnirP.D3gnitnirP.scihparG.swodniW
puorGlairetaMetisopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
puorGlairetaMroloCD3gnitnirP.D3gnitnirP.scihparG.swodniW
puorGlairetaMroloCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
puorGlairetaMytreporPelpitluMD3gnitnirP.D3gnitnirP.scihparG.swodniW
puorGlairetaMytreporPelpitluMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
puorGlortnoCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
puorGlortnoCnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
puorGmrofsnarT.aideM.lmaX.IU.swodniW
puorGmrofsnarTI.aideM.lmaX.IU.swodniW
puorGnoitacitnehtuAecaFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
puorGnoitacitnehtuAecaFnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
puorGnoitalerroCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
puorGnoitalerroCnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
puorGnoitaminAnIedilStoviP.slortnoC.lmaX.IU.swodniW
puorGnoitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
puorGnoitaminAnoitisopmoC.noitisopmoC.IU.swodniW
puorGnoitartsigeRksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
puorGnoitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
puorGnoitelpmoCrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
puorGnoitelpmoCrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
puorGrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
puorGrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
puorGtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
puorGtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
puorGtnetnoCegakcaPI.ledoMnoitacilppA.swodniW
puorGtnetnoCegakcaP.ledoMnoitacilppA.swodniW
puorGtnoFegaugnaLI.stnoF.noitazilabolG.swodniW
puorGtnoFegaugnaL.stnoF.noitazilabolG.swodniW
puorGweiVnoitcelloCI.ataD.lmaX.IU.swodniW
puorGyrtemoeG.aideM.lmaX.IU.swodniW
puorGyrtemoeGI.aideM.lmaX.IU.swodniW
pupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
pupoPneercSlluF.slortnoC.enohP.tfosorciM
pupoP.sevitimirP.slortnoC.lmaX.IU.swodniW
_purecall
- pure virtual function call
PurgeClients
purgeTimeMs
purposes
?PushEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
PushInitiatedSession
PUSHORT BackupInfoTypeMask
PushStatus
?Put@ARRAY@@UEAAEPEAVOBJECT@@@Z
puteSrotpyrceDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
?PutMultipleSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
putOptions
PutOptions
?PutSeparators@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
Put the post data in the URL and use GET
p UWATAVAWH
pvarAvailWWW
pvarTotalWWW
pVIDEO_SCALING_INVALID_INPUTW
PVOID hNcryptDescriptor;
PVOID   pvBuffer);
PVOID   pvBuffer;             
PVOID   pvInput);
PVOID                                           pvUpdateCallbackArg;
PVOID TpmContext;
__p___wargv
p WATAUAVAWH
p WAUAWH
p WAVAWH
pwstrDefaultDeviceId
pwstrDeviceId
PWSTR pszFunction;
PWSTR pszImage;
PWSTR pszProperty;
PWSTR pszProvider;
PWSTR                                           pwszOcspDirectory;
PWSTR *rgpszAliases;
PWSTR *rgpszContexts;
PWSTR *rgpszFunctions;
PWSTR *rgpszProviders;
pwszDomain
pwszName
pwszPath
pwszValue
pwwwwwwww
pwwwwwwwwwwwwwwwp
pwzCommandline
pxDDDDDDDDD@
pxDDDDDDDDDDDDDDpx
pxDDDDDDDDDH
pxDDDDDDpx
pxwwwwwwpxDDD
pxwwwwwwwwwwwwwxpx
PzzzKzzz(
Q5GetConnectedDisplaysX
q7#khjdw
Q aTyF	4
qbranchDetailsWWW
QDataChannelWX
QDDeviceWW
qdhbTQQNZbba]Q]bqhQA@:
qEFZA@KC
QException
QFolderWWT
QGRAPHICSRENDERSTANDBY_ERROR_CODESWWW
QI8N@T47i(D
QIHOO360SE
Qihoo360SE Favicons database not initialized
qISwitchableGraphicsW
qkY@xQVY
qLAZ'IJCC
QNO_ASPECT_RATIOW
QPackageLaunchPreventedDueToCostW
qPartA_PrivTags
QQBROWSER
QQBrowser Favicons database not initialized
.Qqhh )!
qqqqqqq)A
QQSWj0j@
    -q                Quit after running the command specified by the -c option.
QryInfoTrustDom_End
QryInfoTrustDom_Start
QryTrstDomByNam_End
QryTrstDomByNam_Start
QtheStatusWWW
quadDivergentImplicitLod
quadOperationsInAllStages
QuadraticEase
QualityW|.
_queriedDevice
Queries whether a load request for the package is currently in progressWWW)
QueryActCtxW
query_active_session
QueryActiveSession
QueryActiveSession failed.
QueryApplicationCapabilities
QueryAuthorizedEnrollments
?QueryAutochkTimeOut@VOL_LIODPDRV@@SAEPEAK@Z
?QueryCanonicalNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
QueryCapabilities
QueryContextAttributes
QueryCredentialAttributes
?QueryCurrentDosDriveName@SYSTEM@@SAEPEAVWSTRING@@@Z
QueryCurrentLanguage
QueryDepthSList
?QueryDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@E@Z
QueryDirectXDatabaseForConfigImpl called with invalid arguments.
QueryDisplayConfig
QueryDomainInfoPolicy_End
QueryDomainInfoPolicy_Start
QueryDosDeviceW
?QueryDriveType@SYSTEM@@SA?AW4DRIVE_TYPE@@PEBVWSTRING@@@Z
QueryEncapsulationSettings
QueryEnrollmentConfiguration
QueryEnrollmentConfigurationDelegate
?QueryFileSystemName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@PEAJ1@Z
?QueryFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVPATH@@EPEAE@Z
QueryForestTrustInfo_End
QueryForestTrustInfo_Start
?QueryFsnodeArray@FSN_DIRECTORY@@QEBAPEAVARRAY@@PEAVFSN_FILTER@@@Z
?QueryFullPath@PATH@@QEBAPEAV1@XZ
?QueryFullPathString@PATH@@QEBAPEAVWSTRING@@XZ
QueryFullProcessImageNameW
QueryFullProcessImageNameWStub
QueryHiveLocation
?QueryID@DP_DRIVE@@QEAAEPEAU_GUID@@PEBVWSTRING@@@Z
QueryInfoPolicy2_End
QueryInfoPolicy2_Start
QueryInfoPolicy_End
QueryInfoPolicy_Start
QueryInterface call failed for IEventTrigger: 
QueryInterface call failed for IExecAction: 
?QueryInterface@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
QueryInterface: IID_IVdsHbaPort
QueryInterface: IID_IVdsHwProvider
QueryInterface: IID_IVdsIscsiInitiatorAdapter
QueryInterface: IID_IVdsIscsiInitiatorPortal
QueryInterface: IID_IVdsProvider
QueryInterface: IID_IVdsServiceHba
QueryInterface: IID_IVdsServiceIscsi
?QueryInvalidArgument@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@XZ
?QueryIsSystemUEFI@IFS_SYSTEM@@SAEXZ
?QueryLibraryEntryPoint@SYSTEM@@SAP6A_JXZPEBVWSTRING@@0PEAPEAX@Z
QueryLSPCONW
?QueryNextLibraryEntryPoint@SYSTEM@@SAP6A_JXZPEAXPEBVWSTRING@@@Z
?QueryNumber@WSTRING@@QEBAEPEAJKK@Z
?QueryPackedLog@MESSAGE@@QEAAEPEAVHMEM@@PEAK@Z
_Query_perf_counter
_Query_perf_frequency
QueryPerformanceCounter
QueryPerformanceFrequency
QueryPolicy
QueryProcessCycleTime
QueryRecoveryAgentsOnEncryptedFile
QueryRequestData
?QueryResourceString@BASE_SYSTEM@@SAEPEAVWSTRING@@KPEBDZZ
QuerySecret_End
QuerySecret_Start
QuerySecurityAccessMask
queryserverdlg.cpp
QueryServiceConfig call no. 1 failed: error 
QueryServiceConfig call no. 2 failed: error 
query_service_config.hpp
QueryServiceConfigW
QueryServiceObjectSecurity
QueryServiceStatus
QueryServiceStatusEx
?QuerySnapshotDiffAreaVolume@SNAPSHOT@@QEAAEPEAVWSTRING@@@Z
Query statement not initialized
?QueryStepPercentComplete@CDriveConfiguration@@QEAAJPEAK@Z
QueryStorageReserve
?QueryStream@FSN_FILE@@QEAAPEAVFILE_STREAM@@W4STREAMACCESS@@K@Z
queryStringWMIRegistryKeyChange
queryStringWMIRegistryTreeChange
QueryStringWMIRegistryValueChange
?QueryString@WSTRING@@QEBAPEAV1@KK@Z
?QuerySystemDirectory@SYSTEM@@SAPEAVPATH@@XZ
QueryUmsThreadInformation
QueryUnbiasedInterruptTime
QueryUsersOnEncryptedFile
query_user_token
QueryUserToken
?QueryVolumeLabel@SYSTEM@@SAPEAVWSTRING@@PEAVPATH@@PEAU_VOL_SERIAL_NUMBER@@@Z
?QueryVolumeSize@IFS_SYSTEM@@SAEPEBVWSTRING@@PEA_K@Z
?QueryWCExpansion@PATH@@QEAAPEAV1@PEAV1@@Z
?QueryWindowsErrorMessage@SYSTEM@@SAEKPEAVWSTRING@@@Z
?QueryWSTR@WSTRING@@QEBAPEAGKKPEAGKE@Z
QUEUE_COMPUTE
queueCopy
queueCount
queueFlags
QUEUE_GLOBAL_PRIORITY_HIGH_KHR
QUEUE_GLOBAL_PRIORITY_LOW_KHR
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
QUEUE_GRAPHICS
QueueHistoryProducerNewestItem
QueueHistoryProducerOldestItem
QueueNotificationHandler
queueProperties
QUEUE_PROTECTED
QUEUE_SPARSE_BINDING
QUEUE_TRANSFER
QueueUserAPC
QueueUserWorkItem
QUEUE_VIDEO_DECODE_BIT_KHR
QUEUE_VIDEO_ENCODE_BIT_KHR
QUIC connection error
QuickEdit
QuickEditCopyProcUsed
QuickEditCopyRawUsed
QuickEditPasteProcUsed
QuickEditPasteRawUsed
quickReturn
quit or exit                             Leave
QUOTA_LIMITS_HARDWS
QUOTA_LIMITS_HARDWS_MAX_DISABLE
QUOTA_LIMITS_HARDWS_MAX_ENABLE
QUOTA_LIMITS_HARDWS_MIN_DISABLE
QUOTA_LIMITS_HARDWS_MIN_ENABLE
Quote command returned error
quoted-printable
QuoVadis Issuing CA G4
QuoVadis Issuing CA G40
QuoVadis Limited1
qVirtualEnvironmentTerminated
R3GetConfiguration
r4MLr4MLr4ML AHMi4ML AIMx4ML ANMq4ML ALMt4ML
R4T(F(D(@(:(2(0(((
raBdnammoCI.slortnoC.lmaX.IU.swodniW
raBdnammoC.slortnoC.lmaX.IU.swodniW
raBdnammoCtuoylFraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
raBdnammoCtuoylFraBdnammoC.sevitimirP.slortnoC.lmaX.IU.swodniW
raBeltiTweiVnoitacilppAeroC.eroC.ledoMnoitacilppA.swodniW
raBeltiTweiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
raBeltiTweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
raBeltiTweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
raBeltiTwodniWppAI.tnemeganaMwodniW.IU.swodniW
raBeltiTwodniWppA.tnemeganaMwodniW.IU.swodniW
raBemaG.IU.gnimaG.swodniW
raBkciTI.sevitimirP.slortnoC.lmaX.IU.swodniW
raBkciT.sevitimirP.slortnoC.lmaX.IU.swodniW
raBllorcSI.sevitimirP.slortnoC.lmaX.IU.swodniW
raBllorcS.sevitimirP.slortnoC.lmaX.IU.swodniW
rablooTknII.slortnoC.lmaX.IU.swodniW
rablooTknI.slortnoC.lmaX.IU.swodniW
raBnoitacilppAI.llehS.enohP.tfosorciM
raBnoitacilppA.llehS.enohP.tfosorciM
raBppAI.slortnoC.lmaX.IU.swodniW
raBppA.slortnoC.lmaX.IU.swodniW
raBssergorPI.slortnoC.lmaX.IU.swodniW
raBssergorP.slortnoC.lmaX.IU.swodniW
raBuneMI.slortnoC.lmaX.IU.swodniW
raBuneM.slortnoC.lmaX.IU.swodniW
racediStropmIotohPI.tropmI.aideM.swodniW
racediStropmIotohP.tropmI.aideM.swodniW
RadarConfig
radnelaCI.noitazilabolG.swodniW
radnelaCnOenoZemiTI.noitazilabolG.swodniW
radnelaC.noitazilabolG.swodniW
radnelaCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
radnelaCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
raii.cpp
RaiseException
?RaiseFailFastException
RaiseFailFastException
RaiseToastActivity
ralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
ramdisk(0)
RamDiskW
random-file
RangeBase
range overflow
RAPIDMEMORYMANAGEMENT_ERROR_CODESWWW
RAPIDMEMORYMANAGEMENT_GET_FAILED
_RAPIDMEMORYMANAGEMENT_NOT_SUPPORTEDW@
RAPIDMEMORYMANAGEMENT_SET_FAILED
RapidMemoryManagementWWW
RAPL_DEVICE
raSannetnAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
raSannetnAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
RASAPI32.dll
RasConnectionNotificationW
RasDeleteEntryW
RasEnumConnectionsA
RasEnumDevicesW
RasEnumEntriesW
RasGetConnectionStatistics
RasGetConnectStatusW
RasGetEntryPropertiesW
RasSetAutodialAddressW
RasSetCredentialsW
RasSetEntryPropertiesW
    --raw
_rawBuffer
RawBufferSize
RawClient
_rawMemoryName
RawPerformance
_rawSharedMemory
_rawSharedMemoryName
raw_vfs_decoder.h
RAX_Detect_Synclet
RAX_Install_Synclet
RAX_Uninstall_Synclet
rayQuery
rayTracingPipeline
rayTracingPipelineShaderGroupHandleCaptureReplay
rayTracingPipelineShaderGroupHandleCaptureReplayMixed
rayTracingPipelineTraceRaysIndirect
rayTraversalPrimitiveCulling
rBasicModeDetails
RBdeUIProcessStartWWW
RB)ED(UA
RBP specified greater than maximum allowed (VDS_REBUILD_PRIORITY_MAX)
RBP specified more than once
rbrbrbry
RBV specified more than once
*#R(b'XPs_
RCenter_ScreenWWW
rcerrors.h
RCE specified more than once
rcMonitor
RCPU_TYPE_DT_WORKSTATIONW
RCUN4VTVR;
RDATA length
@rd-blmH
RDComplete_V0
RDComplete_V1
rd genom att klicka p
rDH9jJYJ
Reached max applet blob size.
ReactivateOS
ReadAllBytes
ReadAllLines
ReadAllText
readAndSaveDefaultPpmSetting
ReadBuffer
ReadBufferLength
ReadByte
ReadBytes
Read callback asked for PAUSE when not supported
Read config from a file
ReadConsole
ReadConsoleInput
ReadConsoleInputW
ReadConsoleOutput
ReadConsoleOutputAttribute
ReadConsoleOutputCharacter
ReadConsoleOutputString
ReadConsoleW
READ_CONTROL
ReadDataFromFile
ReadDspBlobData
Read fault
ReadFile
readFileAsBlob: caught exception.
ReadFileEx
ReadFileScatter
ReadFromRegistry
Read function fail to finish. Error: 
read function returned funny value
Reading config from file: 
Reading from unfinished list
Reading Old Thumbprint failed
Reading TPM revocation state from FW failed.
Reading transaction limit parameters from registry
ReadInt32
ReadInt64
ReadInterfaceRegistryKey
ReadInterfaceRegistryKeyExport
ReadIntPtr
ReadKpdStatistics
ReadLine
?ReadLine@STREAM@@QEAAEPEAVWSTRING@@E@Z
ReadNotification
ReadNotificationDataSize
ReadNotifications
READONLY
read only file system
ReadPowerCapabilities
ReadProcessMemory
_readPtr
ReadQueueNotification
ReadRegistry
ReadSstNotifications
ReadStatistics
ReadStatusFile
ReadString
readtests.cpp
ReadThresholdFromFile
ReadUInt32
ReadWrite
ReadWriteECRamLCFC
Ready to accept data connection from server
RealChildWindowFromPoint
ReAllocCoTaskMem
_RealMain
ReapplyAcls
rebmeMlmaXI.pukraM.lmaX.IU.swodniW
rebmeMnoitcnuFetadidnaC.scitnameS.redniBemitnuR.prahSC.tfosorciM
rebmuNenohPtcatnoC.ataDresU.enohP.tfosorciM
RebootComputer
RebootCSPScheduledRebootTriggered
RebootHandlerActivity
rebootMsg
recarTytilasuaCcnysA.scitsongaiD.noitadnuoF.swodniW
recBackgrnd
 received: 
Received 101
Received APP event
Received a response from the client instead of graceful socket closure.
Received buffer of size 0
Received command to dppe_bright
Received command to get brightness
Received command to set brightness
Received data instead of graceful socket closure.
Received Domain event
Received Event
Received invalid version in initial SOCKS5 response.
Received Participant event
Received privacy value same as before. Nothing to update.
received reset complete event!
Received status 
Received too short packet
ReceiveResponseFromPlugin
Receiving message failed with error: 
recieved invalid fw version format from devplatform
recieved invalid input
reconnect
RecordDiagnosticsError
RecoverLun
RecoveryEnabled
Recovery error
Recovery return successful
Recovery upgrade successful
rectangle
rectangularLines
RectVisible
recudorPnyoJllAI.nyoJllA.seciveD.swodniW
_recursionPromptAnswer
recursive
redaeHelpmaSevitaNrosneS.srosneS.seciveD.tfosorciM
redaeHmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
redaeHmetIweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
redaeHoediVmaertStsacdaorBppA.erutpaC.aideM.swodniW
redaeHoediVmaertStsacdaorBppAI.erutpaC.aideM.swodniW
redaeHoediVmaertSweiverPtsacdaorBppA.erutpaC.aideM.swodniW
redaeHoediVmaertSweiverPtsacdaorBppAI.erutpaC.aideM.swodniW
redaeHoiduAmaertStsacdaorBppA.erutpaC.aideM.swodniW
redaeHoiduAmaertStsacdaorBppAI.erutpaC.aideM.swodniW
redaeHtnetnoCydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
redaeHtnetnoCydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
redaeLbaT.txeT.IU.swodniW
redaeR23tnI.tnetnoC.krowemarF.anX.tfosorciM
redaeR23tnIU.tnetnoC.krowemarF.anX.tfosorciM
redaeR2rotceV.tnetnoC.krowemarF.anX.tfosorciM
redaeR3rotceV.tnetnoC.krowemarF.anX.tfosorciM
redaeR46tnI.tnetnoC.krowemarF.anX.tfosorciM
redaeR46tnIU.tnetnoC.krowemarF.anX.tfosorciM
redaeR4rotceV.tnetnoC.krowemarF.anX.tfosorciM
redaeR61tnI.tnetnoC.krowemarF.anX.tfosorciM
redaeR61tnIU.tnetnoC.krowemarF.anX.tfosorciM
redaeRataDI.smaertS.egarotS.swodniW
redaeRataD.smaertS.egarotS.swodniW
redaeRD2erutxeT.tnetnoC.krowemarF.anX.tfosorciM
redaeRD3erutxeT.tnetnoC.krowemarF.anX.tfosorciM
redaeRdraCtramSI.sdraCtramS.seciveD.swodniW
redaeRdraCtramS.sdraCtramS.seciveD.swodniW
redaeRdraobredaeLnEVIL.beW.smroftalP.secivreSremaG
redaeRdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
redaeRebuCerutxeT.tnetnoC.krowemarF.anX.tfosorciM
redaeRecnerefeRlanretxE.tnetnoC.krowemarF.anX.tfosorciM
redaeRegasseMliamEI.liamE.ledoMnoitacilppA.swodniW
redaeRegasseMliamE.liamE.ledoMnoitacilppA.swodniW
redaeRegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
redaeRegasseMtahC.tahC.ledoMnoitacilppA.swodniW
redaeRegnahCegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
redaeRegnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
redaeRegnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
redaeRegnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
redaeRegnahCoipGI.oipG.seciveD.swodniW
redaeRegnahCoipG.oipG.seciveD.swodniW
redaeRegnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
redaeRegnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
redaeRegnahCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
redaeRegnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
redaeRegnahCyrarbiLegarotS.egarotS.swodniW
redaeRegnahCyrarbiLegarotSI.egarotS.swodniW
redaeRelbuoD.tnetnoC.krowemarF.anX.tfosorciM
redaeRelgnatceR.tnetnoC.krowemarF.anX.tfosorciM
redaeRelgniS.tnetnoC.krowemarF.anX.tfosorciM
redaeReliforPnEVIL.beW.smroftalP.secivreSremaG
redaeRemarFaideMecruoSitluMI.semarF.erutpaC.aideM.swodniW
redaeRemarFaideMecruoSitluM.semarF.erutpaC.aideM.swodniW
redaeRemarFaideMI.semarF.erutpaC.aideM.swodniW
redaeRemarFaideM.semarF.erutpaC.aideM.swodniW
redaeRemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
redaeRemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
redaeRemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
redaeRemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
redaeRemarFrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
redaeRemarFrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
redaeRemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
redaeRemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
redaeRemiTetaD.tnetnoC.krowemarF.anX.tfosorciM
redaeRenalP.tnetnoC.krowemarF.anX.tfosorciM
redaeRepirtScitengaMdemialC.ecivreSfOtnioP.seciveD.swodniW
redaeRepirtScitengaMdemialCI.ecivreSfOtnioP.seciveD.swodniW
redaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
redaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
redaeRepyTtnetnoC.tnetnoC.krowemarF.anX.tfosorciM
redaeRerehpSgnidnuoB.tnetnoC.krowemarF.anX.tfosorciM
redaeRerutxeT.tnetnoC.krowemarF.anX.tfosorciM
redaeRetyBS.tnetnoC.krowemarF.anX.tfosorciM
redaeRetyB.tnetnoC.krowemarF.anX.tfosorciM
redaeRevruC.tnetnoC.krowemarF.anX.tfosorciM
redaeRgnirtS.tnetnoC.krowemarF.anX.tfosorciM
redaeRgnoS.tnetnoC.krowemarF.anX.tfosorciM
redaeRhcraeStahCI.tahC.ledoMnoitacilppA.swodniW
redaeRhcraeStahC.tahC.ledoMnoitacilppA.swodniW
redaeRksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
redaeRksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
redaeRlairetaMtceffE.tnetnoC.krowemarF.anX.tfosorciM
redaeRlamiceD.tnetnoC.krowemarF.anX.tfosorciM
redaeRledoM.tnetnoC.krowemarF.anX.tfosorciM
redaeRlmaXI.pukraM.lmaX.IU.swodniW
redaeRlmaX.pukraM.lmaX.IU.swodniW
redaeRmaertStsacdaorBppA.erutpaC.aideM.swodniW
redaeRmaertStsacdaorBppAI.erutpaC.aideM.swodniW
redaeRmaertSweiverPtsacdaorBppA.erutpaC.aideM.swodniW
redaeRmaertSweiverPtsacdaorBppAI.erutpaC.aideM.swodniW
redaeRmutsurFgnidnuoB.tnetnoC.krowemarF.anX.tfosorciM
redaeRnaelooB.tnetnoC.krowemarF.anX.tfosorciM
redaeRnapSemiT.tnetnoC.krowemarF.anX.tfosorciM
redaeRnekoTrentraPnEVIL.beW.smroftalP.secivreSremaG
redaeRnoinretauQ.tnetnoC.krowemarF.anX.tfosorciM
redaeRnoitaralceDxetreV.tnetnoC.krowemarF.anX.tfosorciM
redaeRnoitasrevnoCliamEI.liamE.ledoMnoitacilppA.swodniW
redaeRnoitasrevnoCliamE.liamE.ledoMnoitacilppA.swodniW
redaeRnoitasrevnoCtahCI.tahC.ledoMnoitacilppA.swodniW
redaeRnoitasrevnoCtahC.tahC.ledoMnoitacilppA.swodniW
redaeRrahC.tnetnoC.krowemarF.anX.tfosorciM
redaeRreffuBxednI.tnetnoC.krowemarF.anX.tfosorciM
redaeRreffuBxetreV.tnetnoC.krowemarF.anX.tfosorciM
redaeRroloC.tnetnoC.krowemarF.anX.tfosorciM
redaeRsegelivirPnEVIL.beW.smroftalP.secivreSremaG
redaeRstnemeveihcAnEVIL.beW.smroftalP.secivreSremaG
redaeRtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
redaeRtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
redaeRtceffEcisaB.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffEdennikS.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffEdnuoS.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffEerutxeTlauD.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffEpaMtnemnorivnE.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffE.tnetnoC.krowemarF.anX.tfosorciM
redaeRtceffEtseTahplA.tnetnoC.krowemarF.anX.tfosorciM
redaeRtcejbO.tnetnoC.krowemarF.anX.tfosorciM
redaeRtnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
redaeRtnetnoC.tnetnoC.krowemarF.anX.tfosorciM
redaeRtnioP.tnetnoC.krowemarF.anX.tfosorciM
redaeRtnoFetirpS.tnetnoC.krowemarF.anX.tfosorciM
redaeRtsalX.secivreSremaG.krowemarF.anX.tfosorciM
redaeRxirtaM.tnetnoC.krowemarF.anX.tfosorciM
redaeRxoBgnidnuoB.tnetnoC.krowemarF.anX.tfosorciM
redaeRyaR.tnetnoC.krowemarF.anX.tfosorciM
redaeRyrtnEyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
redaeRyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
redaoLataDdeyaleDdraCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
redaoLataDdeyaleDdraCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
redaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
redaoLecruoseRlmaXmotsuCI.secruoseR.lmaX.IU.swodniW
redaoLecruoseRlmaXmotsuC.secruoseR.lmaX.IU.swodniW
redaoLecruoseR.secruoseR.ledoMnoitacilppA.swodniW
redaoLlobmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
redaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
redaolnwoDdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
redaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
redaolpUdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
redaoLtnetnoCecruoseRegaP.noitagivaN.swodniW.metsyS
RedDefaultLevelW81
redilSI.slortnoC.lmaX.IU.swodniW
redilSrekciProloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
redilSrekciProloC.sevitimirP.slortnoC.lmaX.IU.swodniW
redilS.slortnoC.lmaX.IU.swodniW
redirected
redirect_url
redivorPatadateMlmaXI.pukraM.lmaX.IU.swodniW
redivorPataDateMlmaX.ofnIepyTlmaX_gnisitrevdAtfosorciM.gnisitrevdA.tfosorciM
redivorPataDlexiP.gnigamI.scihparG.swodniW
redivorPataDlexiPI.gnigamI.scihparG.swodniW
redivorPc2II.redivorP.c2I.seciveD.swodniW
redivorPcdAI.redivorP.cdA.seciveD.swodniW
redivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
redivorPcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
redivorPdirGI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPdlihCtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPeciveDc2II.redivorP.c2I.seciveD.swodniW
redivorPeciveDipSI.redivorP.ipS.seciveD.swodniW
redivorPecivreSmmocfRI.mmocfR.htooteulB.seciveD.swodniW
redivorPecivreSmmocfR.mmocfR.htooteulB.seciveD.swodniW
redivorPecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
redivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
redivorPegarotS.egarotS.swodniW
redivorPegarotSI.egarotS.swodniW
redivorPegnaRtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPekovnII.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPelbaTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPelggoTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPemarFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
redivorPepyTtnetnoCI.smaertS.egarotS.swodniW
redivorPerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
redivorPerahS.refsnarTataD.ledoMnoitacilppA.swodniW
redivorPespalloCdnapxEI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPetagerggAseciveDleveLwoLI.seciveD.swodniW
redivorPetagerggAseciveDleveLwoL.seciveD.swodniW
redivorPeulaVegnaRI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPeulaVI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
redivorPevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
redivorPgarDI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPgnirahSataDenohP.ataDresU.enohP.tfosorciM
redivorPgnirahSstcatnoC.ataDresU.enohP.tfosorciM
redivorPgnirahSstnemtnioppA.ataDresU.enohP.tfosorciM
redivorPhtiWseitreporPmetIegarotSI.egarotS.swodniW
redivorPipSI.redivorP.ipS.seciveD.swodniW
redivorPkcarTatadateMdemiTI.eroC.aideM.swodniW
redivorPkcoDI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPkniLtnetnoCecalPI.stnemucoD.lmaX.IU.swodniW
redivorPkniLtnetnoCecalP.stnemucoD.lmaX.IU.swodniW
redivorPkniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
redivorPkniLtnetnoC.stnemucoD.lmaX.IU.swodniW
redivorPkniLtnetnoCtcatnoCI.stnemucoD.lmaX.IU.swodniW
redivorPkniLtnetnoCtcatnoC.stnemucoD.lmaX.IU.swodniW
redivorPledoMtcejbOI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPllorcSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetIdezilautriVI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetIdirGI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetIelbaTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetIllorcSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetInoitceleSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmetIteehsdaerpSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmhtiroglAcaM.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAcaMI.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAhsaH.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAhsaHI.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAnoitavireDyeK.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAyeKcirtemmysA.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAyeKcirtemmysAI.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAyeKcirtemmyS.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmhtiroglAyeKcirtemmySI.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPmrofsnarTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPmwPI.redivorP.mwP.seciveD.swodniW
redivorPniPoipGI.redivorP.oipG.seciveD.swodniW
redivorPnoitagivaNmotsuCI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPnoitatonnAI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPnoitceleSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPnoitcetorPataDI.noitcetorPataD.yhpargotpyrC.ytiruceS.swodniW
redivorPnoitcetorPataD.noitcetorPataD.yhpargotpyrC.ytiruceS.swodniW
redivorPofnIkdS.TRniW.derahS.gnisitrevdA.tfosorciM
redivorPoipGI.redivorP.oipG.seciveD.swodniW
redivorPrehctiwSweiVI.noitavitcA.ledoMnoitacilppA.swodniW
redivorPrellortnoCc2II.redivorP.c2I.seciveD.swodniW
redivorPrellortnoCcdAI.redivorP.cdA.seciveD.swodniW
redivorPrellortnoCemaGbsuXI.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGbsuX.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGdiHI.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGdiH.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGI.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGpiGI.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCemaGpiG.motsuC.tupnI.gnimaG.swodniW
redivorPrellortnoCipSI.redivorP.ipS.seciveD.swodniW
redivorPrellortnoCmwPI.redivorP.mwP.seciveD.swodniW
redivorPrellortnoCoipGI.redivorP.oipG.seciveD.swodniW
redivorPreniatnoCmetII.redivorP.noitamotuA.lmaX.IU.swodniW
redivorProhcnAllorcSI.slortnoC.lmaX.IU.swodniW
redivorProtarepOledoMgninraeLI.gninraeLenihcaM.IA.swodniW
redivorPsecivreSremaGI.butS.secivreSremaG.krowemarF.anX.tfosorciM
redivorPselytSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPteehsdaerpSI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPtegraTporDI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPtidEtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
redivorPtnuoccAbeW.slaitnederC.ytiruceS.swodniW
redivorPtupnIdezinorhcnySI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPtxeTI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPweiVelpitluMI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPwodniWI.redivorP.noitamotuA.lmaX.IU.swodniW
redivorPyeKdetsisreP.eroC.yhpargotpyrC.ytiruceS.swodniW
redivorPytreporPmotsuCI.ataD.lmaX.IU.swodniW
redliuBdraCevitpadA.llehS.IU.swodniW
redliuBekortSknI.gniknI.tupnI.IU.swodniW
redliuBekortSknII.gniknI.tupnI.IU.swodniW
redliuBgnirtSresU.srorrE.redniBemitnuR.prahSC.tfosorciM
redliuBksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
redliuBksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
redliuBsetubirttAygolobmySedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
redliuBsetubirttAygolobmySedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
redloFegarotS.egarotS.swodniW
redloFegarotSI.egarotS.swodniW
redloFegarotSlanretxE.egarotS.enohP.tfosorciM
redloFliamEI.liamE.ledoMnoitacilppA.swodniW
redloFliamE.liamE.ledoMnoitacilppA.swodniW
redloFsdaolnwoD.egarotS.swodniW
RedMaximumWW81
RedMinimumWW81
Redmond1
redneGecioV.sisehtnyShceepS.aideM.swodniW
redniBaideM.eroC.aideM.swodniW
redniBaideMI.eroC.aideM.swodniW
redniBekovnIBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBekovnIprahSC.redniBemitnuR.prahSC.tfosorciM
redniBemitnuR.redniBemitnuR.prahSC.tfosorciM
redniBeulaVrebmeMteG.redniBemitnuR.prahSC.tfosorciM
redniBkcabllaFtluafeDekovnIBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBllaCBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBnoisrevnoCBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBnoisserpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
redniBnoitarepOyraniBprahSC.redniBemitnuR.prahSC.tfosorciM
redniBnoitarepOyranUprahSC.redniBemitnuR.prahSC.tfosorciM
redniBODI.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBrebmeMekovnIprahSC.redniBemitnuR.prahSC.tfosorciM
redniBrebmeMekovnIrOekovnIprahSCI.redniBemitnuR.prahSC.tfosorciM
redniBrebmeMteGBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBrebmeMteGprahSC.redniBemitnuR.prahSC.tfosorciM
redniBrebmeMteSprahSC.redniBemitnuR.prahSC.tfosorciM
redniB.redniBemitnuR.prahSC.tfosorciM
redniBrotarepOyraniBBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBrotarepOyranUBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBrotcurtsnoCekovnIprahSC.redniBemitnuR.prahSC.tfosorciM
redniBteGBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBteSBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBteSxednIBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBtluafeDekovnIBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBtnevEsIprahSC.redniBemitnuR.prahSC.tfosorciM
redniBtrevnoCprahSC.redniBemitnuR.prahSC.tfosorciM
redniBxednIteGprahSC.redniBemitnuR.prahSC.tfosorciM
redniBxednIteSprahSC.redniBemitnuR.prahSC.tfosorciM
redniBxelpmoCteSBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniBxelpmoCteSxednIBV.secivreSrelipmoC.cisaBlausiV.tfosorciM
redniFetuoRpaM.spaM.secivreS.swodniW
redniFnoitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
redniFnoitacoLpaM.spaM.secivreS.swodniW
redniFreeP.ytimixorP.gnikrowteN.swodniW
redniFSOM.secivreS.spaM.enohP.tfosorciM
rednimeR.reludehcS.enohP.tfosorciM
rednimeR.sksaT.enohP.tfosorciM
rednuoRrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
rednuoRrebmuNstigiDtnacifingiS.gnittamroFrebmuN.noitazilabolG.swodniW
rednuoRrebmuNstigiDtnacifingiSI.gnittamroFrebmuN.noitazilabolG.swodniW
rednuoRrebmuNtnemercnI.gnittamroFrebmuN.noitazilabolG.swodniW
rednuoRrebmuNtnemercnII.gnittamroFrebmuN.noitazilabolG.swodniW
redoceDerutciP.enohP.tfosorciM
redoceDlrUmroFwwW.noitadnuoF.swodniW
redoceDpamtiB.gnigamI.scihparG.swodniW
redoceDpamtiBI.gnigamI.scihparG.swodniW
redoceDtxD.scihparG.krowemarF.anX.tfosorciM
redocnEpamtiB.gnigamI.scihparG.swodniW
redocnEpamtiBI.gnigamI.scihparG.swodniW
redocsnarTaideM.gnidocsnarT.aideM.swodniW
redocsnarTaideMI.gnidocsnarT.aideM.swodniW
RedrawWindow
redroBI.slortnoC.lmaX.IU.swodniW
redroB.slortnoC.lmaX.IU.swodniW
redrOemaNtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
redrOetyB.smaertS.egarotS.swodniW
redrOgnidaeRtxeT.lmaX.IU.swodniW
RedStepW81
RedValue81
ReenumerateDrives
ReenumerateSubsystems
reePnoitamotuAamaronaP.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAataDmetIrotceleSgnipooLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIrotceleSgnipooL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetItoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetItoviP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVdirG.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVpilF.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIxoBobmoC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAataDmetIxoBtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAbmuhTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAbmuhT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAbuHI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAbuH.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
reePnoitamotuAegamII.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAegamI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAemarF.sreeP.noitamotuA.swodniW.metsyS
reePnoitamotuAerutciPnosrePI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAerutciPnosreP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBegnaRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBegnaR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBnottuBI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBnottuB.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAesaBweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAgniRssergorPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAgniRssergorP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAhctiwSelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAhctiwSelggoT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAkcolBtxeThciRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAkcolBtxeThciR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAkcolBtxeTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAkcolBtxeT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCgnitaRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCgnitaR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCpaMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCpaM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCsmetII.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAlortnoCsmetI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIamaronaP.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAmetII.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIpuorGI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIpuorG.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIraBuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIraBuneM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHesaBweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHesaBweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHtoviP.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAmetIredaeHweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHweiVdirG.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIredaeHweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIrotceleSgnipooLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIrotceleSgnipooL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIrotceleSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIrotceleS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIrotceleStsiLgnoL.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAmetI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItoviP.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAmetItoviP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItuoylFuneMelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItuoylFuneMelggoT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItuoylFuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetItuoylFuneM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVdirG.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVeerTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVeerT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVnoitagivaNI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVnoitagivaN.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVpilF.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIxoBobmoC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmetIxoBtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmooZcitnameSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmooZcitnameS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmurtcepSroloCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAmurtcepSroloC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnoitceSbuHI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnoitceSbuH.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBelggoTraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBelggoTraBppA.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBelggoT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBknilrepyHI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBknilrepyH.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBnwoDporDI.slortnoC.lmaX.IU.swodniW
reePnoitamotuAnottuBnwoDporD.slortnoC.lmaX.IU.swodniW
reePnoitamotuAnottuBoidaRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBoidaR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBraBppA.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuB.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBtaepeRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBtaepeR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAnottuBtilpSelggoTI.slortnoC.lmaX.IU.swodniW
reePnoitamotuAnottuBtilpSelggoT.slortnoC.lmaX.IU.swodniW
reePnoitamotuAnottuBtilpSI.slortnoC.lmaX.IU.swodniW
reePnoitamotuAnottuBtilpS.slortnoC.lmaX.IU.swodniW
reePnoitamotuApaM.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAraBllorcSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBllorcS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArablooTknII.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArablooTknI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBppA.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBssergorPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBssergorP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAraBuneM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAredilSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAredilSrekciProloCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAredilSrekciProloC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAredilS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPemiTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPemiT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPetaDI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPetaDradnelaCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPetaDradnelaC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArekciPetaD.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAresworBbeW.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAretneserPtuoylFI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPemiTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPemiT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPetaDI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPetaD.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFrekciPtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylF.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAretneserPtuoylFuneM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAreweiVllorcSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAreweiVllorcS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArotceleSgnipooLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArotceleSgnipooL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArotceleSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArotceleS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuArotceleStsiLgnoL.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAslortnoCtropsnarTaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAslortnoCtropsnarTaideM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEaideM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEerutpaCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEerutpaC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEkrowemarFI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEkrowemarF.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEreyalPaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtnemelEreyalPaideM.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtoviP.sreeP.noitamotuA.enohP.tfosorciM
reePnoitamotuAtoviP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtsiLweiVeerTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtsiLweiVeerT.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtuoylFsgnitteSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAtuoylFsgnitteS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVdirG.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVpilF.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAweiVtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAwolfrevOkcolBtxeThciRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAwolfrevOkcolBtxeThciR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBdrowssaPI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBdrowssaP.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBhcraeSI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBhcraeS.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBkcehCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBkcehC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBobmoC.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtidEhciRI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtidEhciR.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtsegguSotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtsegguSotuA.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtsiL.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtxeTI.sreeP.noitamotuA.lmaX.IU.swodniW
reePnoitamotuAxoBtxeT.sreeP.noitamotuA.lmaX.IU.swodniW
Re-evaluate participant capabilities request received
_refChannelsCount
RefConfigId
_referenceChannelsCount
_referenceConfig
_referenceConfiguration
referenceData
Referrer URL
reffuBcihpargotpyrC.yhpargotpyrC.ytiruceS.swodniW
reffuBdeganamnU.noitamrofnIkrowteN.teN.enohP.tfosorciM
reffuBecruoSesM.eroC.aideM.swodniW
reffuBecruoSesMI.eroC.aideM.swodniW
reffuBhseMecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
reffuBhseMecafruSlaitapS.secafruS.laitapS.noitpecreP.swodniW
reffuBI.smaertS.egarotS.swodniW
reffuBofnIhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
reffuBoiduA.aideM.swodniW
reffuBoiduAI.aideM.swodniW
reffuBpamtiB.gnigamI.scihparG.swodniW
reffuBpamtiBI.gnigamI.scihparG.swodniW
reffuB.smaertS.egarotS.swodniW
reffuBtekcaPnpVI.npV.gnikrowteN.swodniW
reffuBtekcaPnpV.npV.gnikrowteN.swodniW
reffuBxednIcimanyD.scihparG.krowemarF.anX.tfosorciM
reffuBxednI.scihparG.krowemarF.anX.tfosorciM
reffuBxetreVcimanyD.scihparG.krowemarF.anX.tfosorciM
reffuBxetreV.scihparG.krowemarF.anX.tfosorciM
reffuByromeMI.noitadnuoF.swodniW
reffuByromeM.noitadnuoF.swodniW
RefFunc() bad PBK FILE - no backslash.
Reffunc() bad PBK FILE - no dot.
Reffunc() out of memory.
reflectedbasenode.cpp
reflectedbasenode.h
reflectedcomplexnode.cpp
reflectedcomplexnode.h
reflectedsinglenode.cpp
reflectedsinglenode.h
reflectionmanager.cpp
reflectionmanager.h
refreshalltask.cpp
RefreshFinishedW
refreshItemsControl
RefreshLogSeverity
refreshProgress
RefreshRateW
RefreshRunningWWL
RefreshStartedWWL
?RefreshStatus@BuiVolume@@QEAAJ_N@Z
RefreshStatusType
RefreshStatusTypeWWWL
reganaMataDnoitacilppA.eroC.tnemeganaM.swodniW
reganaMataDnoitacilppAI.eroC.tnemeganaM.swodniW
reganaMboJeliTeviLMPI.llehS.enohP.tfosorciM
reganaMboJeliTeviLMP.llehS.enohP.tfosorciM
reganaMcnySradnelaCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
reganaMcnySradnelaCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
reganaMcnyStahCI.tahC.ledoMnoitacilppA.swodniW
reganaMcnyStahC.tahC.ledoMnoitacilppA.swodniW
reganaMcnyStsiLksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
reganaMcnyStsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
reganaMcnyStsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
reganaMcnyStsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
reganaMcnySxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
reganaMcnySxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
reganaMD3tnirP.D3gnitnirP.scihparG.swodniW
reganaMD3tnirPI.D3gnitnirP.scihparG.swodniW
reganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
reganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
reganaMeciveDscihparGderahS.krowemarF.anX.tfosorciM
reganaMeciveDscihparGI.krowemarF.anX.tfosorciM
reganaMeciveDscihparG.krowemarF.anX.tfosorciM
reganaMecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
reganaMecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
reganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
reganaMegakcaP.tnemyolpeD.tnemeganaM.swodniW
reganaMegasseMresUdnEscRI.tahC.ledoMnoitacilppA.swodniW
reganaMegasseMresUdnEscR.tahC.ledoMnoitacilppA.swodniW
reganaMegasseMtahC.tahC.ledoMnoitacilppA.swodniW
reganaMeikooCpttHI.pttH.beW.swodniW
reganaMeikooCpttH.pttH.beW.swodniW
reganaMeldnaH.beW.smroftalP.secivreSremaG
reganaMeliFdehcaC.egarotS.swodniW
reganaMeliTMPI.llehS.enohP.tfosorciM
reganaMeliTMP.llehS.enohP.tfosorciM
reganaMemaN.xatnyS.redniBemitnuR.prahSC.tfosorciM
reganaMepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
reganaMeroCnoitacitnehtuAbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
reganaMerutpaCppA.erutpaC.aideM.swodniW
reganaMesneciL.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
reganaMetadpUegdaB.snoitacifitoN.IU.swodniW
reganaMetadpUeliT.snoitacifitoN.IU.swodniW
reganaMetadpUmetsyS.etadpU.metsyS.swodniW
reganaMetadpUtuoylFeliT.snoitacifitoN.IU.swodniW
reganaMetatSlausiVI.lmaX.IU.swodniW
reganaMetatSlausiV.lmaX.IU.swodniW
reganaMeziseRwodniWeroC.eroC.IU.swodniW
reganaMeziseRwodniWeroCI.eroC.IU.swodniW
reganaMgnidroceRppA.gnidroceRppA.aideM.swodniW
reganaMgnidroceRppAI.gnidroceRppA.aideM.swodniW
reganaMgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
reganaMgnirehteTrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
reganaMgnisitrevdA.eliforPresU.metsyS.swodniW
reganaMkaerBaideMI.kcabyalP.aideM.swodniW
reganaMkaerBaideM.kcabyalP.aideM.swodniW
reganaMkcabyalPoiduAI.poretnI.oiduAdnuorgkcaB.enohP.tfosorciM
reganaMknI.gniknI.tupnI.IU.swodniW
reganaMknII.gniknI.tupnI.IU.swodniW
reganaMksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
reganaMksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
reganaMlaitnederCyeK.slaitnederC.ytiruceS.swodniW
reganaMlennahCnoitacifitoNhsuP.snoitacifitoNhsuP.gnikrowteN.swodniW
reganaMliamE.liamE.ledoMnoitacilppA.swodniW
reganaMllaCenohP.sllaC.ledoMnoitacilppA.swodniW
reganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
reganaMllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
reganaMlmaXswodniW.gnitsoH.lmaX.IU.swodniW
reganaMlmaXswodniWI.gnitsoH.lmaX.IU.swodniW
reganaMmiSE.srotarepOkrowteN.gnikrowteN.swodniW
reganaMneercStratSI.neercStratS.IU.swodniW
reganaMneercStratS.neercStratS.IU.swodniW
reganaMnigirOllaCenohP.redivorP.sllaC.ledoMnoitacilppA.swodniW
reganaMnIgulPtsacdaorBppA.erutpaC.aideM.swodniW
reganaMnIgulPtsacdaorBppAI.erutpaC.aideM.swodniW
reganaMniPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
reganaMniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
reganaMnoisnetxEaideM.aideM.swodniW
reganaMnoisnetxEaideMI.aideM.swodniW
reganaMnoisseSmdM.tnemeganaM.swodniW
reganaMnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
reganaMnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
reganaMnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
reganaMnoitacilppAmralA.dnuorgkcaB.ledoMnoitacilppA.swodniW
reganaMnoitacitnehtuArotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
reganaMnoitacitnehtuArotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
reganaMnoitacoveReliF.ataDesirpretnE.ytiruceS.swodniW
reganaMnoitagivaNmetsyS.eroC.IU.swodniW
reganaMnoitagivaNmetsySI.eroC.IU.swodniW
reganaMnoitaralceD.scihparG.krowemarF.anX.tfosorciM
reganaMnoitaremunEMPI.llehS.enohP.tfosorciM
reganaMnoitaremunEMP.llehS.enohP.tfosorciM
reganaMnoitartsigeRlaitnederCyeKesirpretnEI.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
reganaMnoitartsigeRlaitnederCyeKesirpretnE.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
reganaMnoitartsigeRreldnaHirUppAI.metsyS.swodniW
reganaMnoitartsigeRreldnaHirUppA.metsyS.swodniW
reganaMnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
reganaMnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
reganaMnoitcejorP.tnemeganaMweiV.IU.swodniW
reganaMnoitcelloCecruoSeliT.slortnoC.spaM.enohP.tfosorciM
reganaMnoitcelloCtnemelEpaM.slortnoC.spaM.enohP.tfosorciM
reganaMnoitcelloCtsaoTI.snoitacifitoN.IU.swodniW
reganaMnoitcelloCtsaoT.snoitacifitoN.IU.swodniW
reganaMnoitcetorPaideMI.noitcetorP.aideM.swodniW
reganaMnoitcetorPaideM.noitcetorP.aideM.swodniW
reganaMnoitcetorPataD.ataDesirpretnE.ytiruceS.swodniW
reganaMnoitcetorPataDresUI.noitcetorPataD.ytiruceS.swodniW
reganaMnoitcetorPataDresU.noitcetorPataD.ytiruceS.swodniW
reganaMnoitcetorPeliF.ataDesirpretnE.ytiruceS.swodniW
reganaMnoitinifeDdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
reganaMnoitsegguShcraeS.eroC.hcraeS.ledoMnoitacilppA.swodniW
reganaMnoitsegguShcraeSI.eroC.hcraeS.ledoMnoitacilppA.swodniW
reganaMnoitucexEdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reganaMnwodtuhS.metsyS.swodniW
reganaMoTyalPI.oTyalP.aideM.swodniW
reganaMoTyalP.oTyalP.aideM.swodniW
reganaMpaM.spaM.secivreS.swodniW
reganaMporDgarDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
reganaMporDgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
reganaMppAcissalC.weiverP.tnemyolpeD.tnemeganaM.swodniW
reganaMppAdetsoHecapskroWknI.ecapskroWknI.weiverP.ledoMnoitacilppA.swodniW
reganaMppAdetsoHecapskroWknII.ecapskroWknI.weiverP.ledoMnoitacilppA.swodniW
reganaMppAgnikcolBnoitacinummoC.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
reganaMppArengiseD.gnitsoH.lmaX.IU.swodniW
reganaMppArengiseDI.gnitsoH.lmaX.IU.swodniW
reganaMppAtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
reganaMppAtnemyaP.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
reganaMppAytiruceSI.llehS.IU.swodniW
reganaMppAytiruceS.llehS.IU.swodniW
reganaMrabksaTI.llehS.IU.swodniW
reganaMrabksaT.llehS.IU.swodniW
reganaMraSdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
reganaMraSdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
reganaMredaeRepyTtnetnoC.tnetnoC.krowemarF.anX.tfosorciM
reganaMredivorPemarFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
reganaMredivorPofnIlaicoS.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
reganaMrefsnarTataDI.refsnarTataD.ledoMnoitacilppA.swodniW
reganaMrefsnarTataD.refsnarTataD.ledoMnoitacilppA.swodniW
reganaMrefsnarTrohcnAlaitapS.laitapS.noitpecreP.swodniW
reganaMrewoP.rewoP.metsyS.swodniW
reganaMreyaLpaM.slortnoC.spaM.enohP.tfosorciM
reganaMreyaLtooR.slortnoC.spaM.enohP.tfosorciM
reganaMrohcnAlaitapS.laitapS.noitpecreP.swodniW
reganaMscR.tahC.ledoMnoitacilppA.swodniW
reganaMsdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
reganaMsdliuBweiverP.etadpU.tnemeganaM.swodniW
reganaMsdliuBweiverPI.etadpU.tnemeganaM.swodniW
reganaMsecivreSraBemaG.erutpaC.aideM.swodniW
reganaMsecivreSraBemaGI.erutpaC.aideM.swodniW
reganaMsecivreStxeTeroC.eroC.txeT.IU.swodniW
reganaMsecivreStxeTeroCI.eroC.txeT.IU.swodniW
reganaMseitilibapaCoediVllaCenohP.sllaC.ledoMnoitacilppA.swodniW
reganaMseitilibapaCtahC.tahC.ledoMnoitacilppA.swodniW
reganaMseludoMeciveDoiduAI.seciveD.aideM.swodniW
reganaMseludoMeciveDoiduA.seciveD.aideM.swodniW
reganaMsnoissimrePanatroC.anatroC.secivreS.swodniW
reganaMsnoissimrePanatroCI.anatroC.secivreS.swodniW
reganaMsseccAegarotSderahS.refsnarTataD.ledoMnoitacilppA.swodniW
reganaMsseccAgnikcolBnoitacinummoC.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
reganaMsseccAmetsyStnuoccAataDresU.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
reganaMstceffEerutpaCoiduAI.stceffE.aideM.swodniW
reganaMstceffEerutpaCoiduA.stceffE.aideM.swodniW
reganaMstceffEoiduA.stceffE.aideM.swodniW
reganaMstceffEredneRoiduAI.stceffE.aideM.swodniW
reganaMstceffEredneRoiduA.stceffE.aideM.swodniW
reganaMsucoFI.tupnI.lmaX.IU.swodniW
reganaMsucoF.tupnI.lmaX.IU.swodniW
reganaMtcatnoCdenniPI.stcatnoC.ledoMnoitacilppA.swodniW
reganaMtcatnoCdenniP.stcatnoC.ledoMnoitacilppA.swodniW
reganaMtcatnoCetagerggAI.stcatnoC.ledoMnoitacilppA.swodniW
reganaMtcatnoCetagerggA.stcatnoC.ledoMnoitacilppA.swodniW
reganaMtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
reganaMtellaW.tellaW.ledoMnoitacilppA.swodniW
reganaMtnegAecivreS.srerutcafunaMeciveD.enohP.tfosorciM
reganaMtneilCgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
reganaMtnemllornEetacifitreCresUI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
reganaMtnemllornEetacifitreCresU.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
reganaMtnemllornEetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
reganaMtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
reganaMtnetnoCecruoseR.tnetnoC.krowemarF.anX.tfosorciM
reganaMtnetnoC.tnetnoC.krowemarF.anX.tfosorciM
reganaMtnirP.gnitnirP.scihparG.swodniW
reganaMtnirPI.gnitnirP.scihparG.swodniW
reganaMtnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
reganaMtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
reganaMtooRcnySredivorPegarotS.redivorP.egarotS.swodniW
reganaMtropmIotohP.tropmI.aideM.swodniW
reganaMtsacdaorBppA.erutpaC.aideM.swodniW
reganaMtseuqeRytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
reganaMtseuqeRytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
reganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
reganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
reganaMyciloPnoitcetorP.ataDesirpretnE.ytiruceS.swodniW
reganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
reganaMyeKsseccAI.tupnI.lmaX.IU.swodniW
reganaMyeKsseccA.tupnI.lmaX.IU.swodniW
reganaMygrenEdnuorgeroF.rewoP.metsyS.swodniW
reganaMygrenEdnuorgkcaB.rewoP.metsyS.swodniW
reganaMyromeM.metsyS.swodniW
reganaMyrotcaFrellortnoCemaG.motsuC.tupnI.gnimaG.swodniW
reganaMyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
reganaMytivitcAresUeroC.eroC.seitivitcAresU.ledoMnoitacilppA.swodniW
reganaMytivitcennoC.ytivitcennoC.gnikrowteN.swodniW
REGAPI.dll
RegCloseKey
RegCloseKeyExport
reg_config.hpp
reg_config_test.cpp
RegConnectRegistryW
RegCreateKeyA
RegCreateKeyExA
RegCreateKeyEx failed creating or opening SIUF_REG_PATH
RegCreateKeyExW
RegCreateKeyExW failed creating SIUF_DATA_PATH
RegCreateKeyTransactedW
RegCreateKeyW
RegDeleteKeyExW
RegDeleteKeyTransactedW
RegDeleteKeyValueW
RegDeleteKeyW
RegDeleteTreeW
RegDeleteValueW
RegDisablePredefinedCacheEx
RegEnumKeyExA
RegEnumKeyExW
RegEnumKeyW
RegEnumValueA
RegEnumValueW
RegEventComponent
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
REGEX_MISMATCHED
RegexOptions
regexPattern
REGEX_REPLACEMENT_ERROR
RegFlushKey
RegFreeUtilityCommandList
RegGetKeySecurity
RegGetMachinePolicyNew
RegGetValueA
RegGetValueW
RegGetValueW error
reggirTdegnahCnoitacifitoNresU.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdegnahCnoitceleSxoBobmoC.slortnoC.lmaX.IU.swodniW
reggirTdegnahCtnetnoCyrarbiLegarotS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdegnahCtnetnoCyrarbiLegarotSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdegnahCyrotsiHnoitacifitoNtsaoT.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdevieceRegasseMsmS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdlohserhTataDrosneS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdlohserhTataDrosneSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdraCtramS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTdraCtramSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTecnanetniaM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTecnanetniaMI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTecruoSetadpU.ataD.lmaX.IU.swodniW
reggirTegasUataDrotarepOkrowteN.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCataDocPdnabdaorBeliboM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCetatSkcoLniPdnabdaorBeliboM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCetatSnoitartsigeRdnabdaorBeliboM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCetatSoidaRdnabdaorBeliboM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCnoitcennoCeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTegnahCnoitcennoCeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTelbaliavAegasseMresUdnEscR.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTelbaliavAegasseMresUdnEscRI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTemiT.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTemiTI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTenohP.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTenohPI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTesUeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTesUeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTetatSI.lmaX.IU.swodniW
reggirTetatS.lmaX.IU.swodniW
reggirTevitcAsAteSppAgnikcolBnoitacinummoC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTevitcAsAteSppAgnikcolBnoitacinummoCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTevitpadAI.lmaX.IU.swodniW
reggirTevitpadA.lmaX.IU.swodniW
reggirTgnicivreSeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTgnicivreSeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTgnidaoLlatnemercnI.slortnoC.lmaX.IU.swodniW
reggirTgnissecorPaideM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTgnissecorPaideMI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirThcteferPtnetnoC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirThcteferPtnetnoCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTkcehCtnemeltitnEgnirehteT.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTlennahClortnoCI.stekcoS.gnikrowteN.swodniW
reggirTlennahClortnoC.stekcoS.gnikrowteN.swodniW
reggirTmetsyS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTmetsySI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNcitsiretcarahCttaG.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNdevieceRegasseMtahC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNdevieceRegasseMtahCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNecivreSeciveDdnabdaorBeliboM.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNegasseMtahC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNegasseMtahCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotSliamE.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotSliamEI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotStcatnoC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotStcatnoCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotStnemtnioppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNerotStnemtnioppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNhsuP.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNrerutcafunaMeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNrerutcafunaMeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNrotarepOkrowteN.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacifitoNrotarepOkrowteNI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacilppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacilppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacitnehtuAtopstoHrotarepOkrowteN.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacitnehtuAtopstoHrotarepOkrowteNI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacoL.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitacoLI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitcAnoitacifitoNtsaoT.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitcennoCmmocfR.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTnoitcennoCmmocfRI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTredivorPecivreSttaG.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTredivorPecivreSttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehctaWeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehctaWeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehctaWtnemesitrevdAELhtooteulB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehctaWtnemesitrevdAELhtooteulBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehsilbuPtnemesitrevdAELhtooteulB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrehsilbuPtnemesitrevdAELhtooteulBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrekcarTegnahCyrarbiLegarotS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTretadpUeliFdehcaC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTretadpUeliFdehcaCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrosneSytivitcA.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTrosneSytivitcAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtisivoeG.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtisivoeGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtnegAlanoitasrevnoC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtnemyaPekaMnaCppAtnemyaP.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtnevEI.lmaX.IU.swodniW
reggirTtnevE.lmaX.IU.swodniW
reggirTtnevEmetsySmotsuC.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtnevEmetsySmotsuCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtsacdaorBppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTtsacdaorBppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTytivitcAtekcoS.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggirTytivitcAtekcoSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
reggoLdAIdetcejorP.TRniW.derahS.gnisitrevdA.tfosorciM
reggoL.gniggoL.enohP.tfosorciM
reggoL.gniggoL.poretnI.enohP.tfosorciM
reggoL.krowemarF.anX.tfosorciM
reggoLtnevE.spaM.enohP.tfosorciM
reg_interface.hpp
reg_interface_test.cpp
region can't be empty
RegionFile
region missing in parameters or hostname
Register
RegisterApplicationRecoveryCallback
RegisterApplicationRestart
RegisterAssembly
RegisterClassA
RegisterClassExA
RegisterClassExW
?Register@ClassInfoBase@DirectUI@@QEAAJXZ
RegisterClassW
RegisterClipboardFormatW
register_command.hpp
RegisterComponents
RegisterControlHandler
RegisterDeviceDualEnrollMmpcUsingAADDeviceCredentials
RegisterDeviceNotificationW
RegisterDeviceWithManagementUsingAADCredentials
RegisterDeviceWithManagementUsingAADDeviceCredentials
Registered
REGISTERED
registeredAcid
      Registered Events:
REGISTERED EVENTS:
?Register@Edit@DirectUI@@SAJXZ
REGISTERED_SUSPENDED
RegisteredUserWW
Registered userWWW
RegisterEndpointNotificationCallback
RegisterEventSourceW
RegisterEventWWW
RegisterFeature
RegisterForEvents
register_for_power_notification_win_imp
register_for_system_metrics_notification_win
RegisterHotKey
?Register@HWNDElement@DirectUI@@SAJXZ
Registering accelerometer
Registering App Event
Registering esif events
Registering event
Registering face detection sensor
Registering for matching any participant event
Registering for privacy changed event
Registering for sensor events
Registering for sensor manager events
Registering motion sensor
Registering proximity sensor
Registering PTT event completed!
Registering STOP event completed!
Registering to TPM Event...
RegisterInstance
?Register@ItemList@DirectUI@@SAJXZ
RegisterLibs
RegisterListenerManager
register_local_power_notification
RegisterManager
RegisterNotificationCallback
RegisterNotifyWW
_register_onexit_function
RegisterParticipant
RegisterPdt
RegisterPowerSettingNotification
RegisterPowerSettingNotificationExport
RegisterPVLBehaviorFactory
RegisterRawInputDevices
RegisterScaleChangeNotifications
RegisterServiceCtrlHandle
RegisterServiceCtrlHandlerEx
RegisterServiceCtrlHandlerExW
RegisterServiceCtrlHandlerExWExport
RegisterServiceCtrlHandlerW
RegisterShellHookWindow
RegisterSuspendResumeNotification
_register_thread_local_exe_atexit_callback
?Register@TouchButton@DirectUI@@SAJXZ
RegisterTouchWindow
RegisterTraceGuidsW
RegisterTrigger
RegisterTypeLibForUser
RegisterUdt
RegisterWaitForSingleObject
RegisterWebPlatformPermanentSecurityManager
RegisterWindowMessageA
RegisterWindowMessageW
RegistrationServices
_registrator
registratortest.cpp
Registry
Registry_AbsentValue
registryaccessortest.cpp
registry_api_action.h
registry_api_key.cpp
registry_api_key_factory.h
registry_api_key.h
registry_api_key_iterator.cpp
registry_api_key.stub.cpp
registry_api_marshaller.h
registry_api_template.cpp
registry_api_template.h
registry_api_value.cpp
registry_api_value.h
registry_api_value_iterator.cpp
registry_api_value.stub.cpp
Registry_BooleanValue
RegistryChangeBaseWatcher
Registry_ChangeNotification
Registry_Config
registryconfigitem.cpp
registryconfigitem.h
registryconfigitem_test.cpp
_registryControl
Registry_Counters
Registry_DwordValue
Registry_EmbeddedObjectPropertyMapping
Registry_Entry
Registry entry for device 
RegistryEventComponentCollection
RegistryEventComponentEnumerator
Registry found for matched device.
Registry_HiveDestroy
Registry_HiveDirty
Registry_HiveInitialize
Registry_HiveLink
Registry_HiveRundown
registry_interception_test_plugin.cpp
_registryKey
RegistryKey
RegistryKeyChangedEventArgs
RegistryKeyChange_EventArrived
RegistryKeyChangeEventComponentCollection
RegistryKeyChangeEventEnumerator
RegistryKeyChangeWatcher
RegistryKey_CPUInformation
Registry_KeyExists
RegistryKeyPermissionCheck
Registry_ModelValue
Registry_MultiValuedEntry
Registry_Path
RegistryPath
Registry path not set.
Registry_PropertyMapping
Registry_PropertyMappingSynclet
Registry_PropertyValueMapping
Registry_QwordValue
_registryReader
RegistryReaderCortana
RegistryReaderFactory
RegistryReaderLegacy
Registry_ScalarArrayPropertyMapping
Registry_ScalarPropertyMapping
registry_section_parser.cpp
registry_section_parser.h
registry_section_parser.stub.cpp
registryserver.cpp
Registry_Sint16Value
Registry_Sint32Value
Registry_Sint64Value
Registry_Sint8Value
registry_staging_config.cpp
registry_staging_config.h
registry_staging_deployment.cpp
registry_staging_deployment.h
registry_staging_deployment_test.cpp
registry_staging_hive_staging.cpp
registry_staging_hive_staging.h
registry_staging_package_info.cpp
registry_staging_package_info.h
registry_staging_package_info_test.cpp
registry_staging_policy_staging.cpp
registry_staging_policy_staging.h
registry_staging_process_runtime.cpp
registry_staging_process_runtime.h
registry_staging_runtime.cpp
registry_staging_runtime.h
Registry_StateValue
Registry_StringValue
RegistrySubKey_ProcessorNameString
RegistrySubKey_VendorIdentifier
RegistrySubKey_VendorIdentifier_Value
Registry_Synclet
Registry_SzValue
RegistryTreeChangedEventArgs
RegistryTreeChange_EventArrived
RegistryTreeChangeEventComponentCollection
RegistryTreeChangeEventComponentEnumerator
RegistryTreeChangeWatcher
Registry_TxR
Registry_TypeGroup1
Registry_Uint16Value
Registry_Uint32Value
Registry_Uint64Value
Registry_Uint8Value
Registry updated successfully
RegistryUtils
Registry_V0
Registry_V0_TypeGroup1
Registry_V1
Registry_V1_TypeGroup1
RegistryValueChangedEventArgs
RegistryValueChangeEventComponentCollection
RegistryValueChangeEventEnumerator
registryvalue.h
RegistryValueKind
registryvaluetest.cpp
registry_writer.cpp
registry_writer.h
RegKeyChangeEventComponent
regKeyPath
regKeyString
RegLoadAppKeyW
RegLoadKeyW
RegLoadMUIStringW
regnesseMDNI.ydaeRyalP.noitcetorP.aideM.swodniW
regnesseMPCTDN.ydaeRyalP.noitcetorP.aideM.swodniW
RegNotifyChangeKeyValue
RegOpenCurrentUser
RegOpenKeyExA
RegOpenKeyExW
RegOpenKeyTransactedW
RegOpenKeyW
reg_ownership_guard_tests.cpp
RegQueryInfoKeyW
RegQueryUtilityCommandList
RegQueryValueExA
RegQueryValueExW
RegQueryValueW
regreflectioninfo.cpp
regreflectioninfo.h
regRootKey
RegSaveKeyExW
RegSetKeySecurity
RegSetKeyValueW
RegSetValueExA
RegSetValueEx failed for SIUF_REG_RING_MAP_VALUE_NAME
RegSetValueExW
reg_tests.cpp
regtests.cpp
RegTreeChange
RegTreeChangeEventComponent
regulator-enable
regulator_enable
regulator-overdrive
regulator_overdrive
regulator-relaxation-amount
regulator_relaxation_amount
regulator-speaker-dist-enable
regulator_speaker_distortion_enable
regulator-timbre-preservation
regulator_timbre_preservation
regulator-tuning
regulator_tuning
RegUnLoadKeyW
regValueChange
RegValueChange
RegValueChangeEventComponent
RegValueChangeWatcher
Reg value is not DWORD
rehcnuaLecalptekraM.sksaT.enohP.tfosorciM
rehcnuaLetomeR.metsyS.swodniW
rehcnuaL.metsyS.swodniW
rehcnuaLreyalPaideM.sksaT.enohP.tfosorciM
rehcnuaLssecorP.metsyS.swodniW
rehcnuaLssecorPtsurTlluF.ledoMnoitacilppA.swodniW
rehctapsiDcnysAresU.krowemarF.anX.tfosorciM
rehctapsiDemaG.krowemarF.anX.tfosorciM
rehctapsiDeroC.eroC.IU.swodniW
rehctapsiDeroCI.eroC.IU.swodniW
rehctapsiDkrowemarF.krowemarF.anX.tfosorciM
rehctapsiDsecivreSremaG.secivreSremaG.krowemarF.anX.tfosorciM
rehctapsiDtnegAdnuorgkcaB.enohP.tfosorciM
rehctapsiDtnegAdnuorgkcaBI.enohP.tfosorciM
rehctaWeciveDI.noitaremunE.seciveD.swodniW
rehctaWeciveD.noitaremunE.seciveD.swodniW
rehctaWecivreSdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
rehctaWecivreSdssnDI.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
rehctaWecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
rehctaWecruoSemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
rehctaWecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
rehctaWecruoSemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
rehctaWecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
rehctaWecruoSemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
rehctaWeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
rehctaWeniLenohP.sllaC.ledoMnoitacilppA.swodniW
rehctaWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
rehctaWmetsySetomeR.smetsySetomeR.metsyS.swodniW
rehctaWmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
rehctaWmiSE.srotarepOkrowteN.gnikrowteN.swodniW
rehctaWnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
rehctaWnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
rehctaWofnIcitsongaiDppAI.metsyS.swodniW
rehctaWofnIcitsongaiDppA.metsyS.swodniW
rehctaWofnIpuorGecruoseRppAI.metsyS.swodniW
rehctaWofnIpuorGecruoseRppA.metsyS.swodniW
rehctaWreePI.ytimixorP.gnikrowteN.swodniW
rehctaWreeP.ytimixorP.gnikrowteN.swodniW
rehctaWresUI.metsyS.swodniW
rehctaWresU.metsyS.swodniW
rehctaWtcejbOpnPI.pnP.noitaremunE.seciveD.swodniW
rehctaWtcejbOpnP.pnP.noitaremunE.seciveD.swodniW
rehctaWtnapicitraPnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
rehctaWtnapicitraPnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
rehctaWtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
rehctaWtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
rehctaWtnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
rehctaWtnuoccAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
rehctaWytitnElaitapSI.laitapS.noitpecreP.swodniW
rehctaWytitnElaitapS.laitapS.noitpecreP.swodniW
rehcteferPtnetnoCI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
rehcteferPtnetnoC.refsnarTdnuorgkcaB.gnikrowteN.swodniW
rehctiwSweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
rehctiwSweiVnoitavitcAI.tnemeganaMweiV.IU.swodniW
rehctiwSweiVnoitavitcA.tnemeganaMweiV.IU.swodniW
rehsilbuP.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
rehsilbuPtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
rehsilbuPtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
rehsilbuPtnemesitrevdAtceriDiFiWI.tceriDiFiW.seciveD.swodniW
rehsilbuPtnemesitrevdAtceriDiFiW.tceriDiFiW.seciveD.swodniW
rehtOtnacifingiStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
rehtOtnacifingiStcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
rehydrator.h
reifidoMaitrenI2rotceVrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
reifidoMaitrenI2rotceVrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
reifidoMaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
reifidoMaitrenIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
reifidoMsliateDtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
reifidoMsliateDtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
reifidoMyciloPnoitardyHredivorPegarotS.redivorP.egarotS.swodniW
reifilauQecruoseRdexednII.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
reifilauQecruoseRdexednI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
reifilauQecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
reifilauQecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
reifireVtnesnoCresU.IU.slaitnederC.ytiruceS.swodniW
reifitnedInaLI.ytivitcennoC.gnikrowteN.swodniW
reifitnedInaL.ytivitcennoC.gnikrowteN.swodniW
reifitoNenignEdaolnwoDDNI.ydaeRyalP.noitcetorP.aideM.swodniW
reifitoNenignEdaolnwoDDN.ydaeRyalP.noitcetorP.aideM.swodniW
reifitoNlangiS.eroC.gnidaerhT.metsyS.swodniW
reifitoNlangiSI.eroC.gnidaerhT.metsyS.swodniW
reifitoNresraPmaertSDNI.ydaeRyalP.noitcetorP.aideM.swodniW
reifitoNresraPmaertSDN.ydaeRyalP.noitcetorP.aideM.swodniW
reifitoNtsaoTI.snoitacifitoN.IU.swodniW
reifitoNtsaoT.snoitacifitoN.IU.swodniW
ReInstallImDriver
RejectFunctionCall
rekcarTecaFI.sisylanAecaF.aideM.swodniW
rekcarTecaF.sisylanAecaF.aideM.swodniW
rekcarTegnahCegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
rekcarTegnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
rekcarTegnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
rekcarTegnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
rekcarTegnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
rekcarTegnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
rekcarTegnahCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
rekcarTegnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
rekcarTegnahCyrarbiLegarotS.egarotS.swodniW
rekcarTegnahCyrarbiLegarotSI.egarotS.swodniW
rekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
rekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
rekcehCcitnameSC.scitnameS.redniBemitnuR.prahSC.tfosorciM
rekciPeciveDgnitsaC.gnitsaC.aideM.swodniW
rekciPeciveDgnitsaCI.gnitsaC.aideM.swodniW
rekciPeciveDI.noitaremunE.seciveD.swodniW
rekciPeciveDlaiDI.locotorPlaiD.aideM.swodniW
rekciPeciveDlaiD.locotorPlaiD.aideM.swodniW
rekciPeciveD.noitaremunE.seciveD.swodniW
rekciPemiTI.slortnoC.lmaX.IU.swodniW
rekciPemiT.slortnoC.lmaX.IU.swodniW
rekciPerutpaCscihparG.erutpaC.scihparG.swodniW
rekciPerutpaCscihparGI.erutpaC.scihparG.swodniW
rekciPetaDI.slortnoC.lmaX.IU.swodniW
rekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
rekciPetaDradnelaC.slortnoC.lmaX.IU.swodniW
rekciPetaD.slortnoC.lmaX.IU.swodniW
rekciPevaSeliFI.srekciP.egarotS.swodniW
rekciPevaSeliF.srekciP.egarotS.swodniW
rekciPlaitnederC.IU.slaitnederC.ytiruceS.swodniW
rekciPnepOeliFI.srekciP.egarotS.swodniW
rekciPnepOeliF.srekciP.egarotS.swodniW
rekciPredloFI.srekciP.egarotS.swodniW
rekciPredloF.srekciP.egarotS.swodniW
rekciPresUI.metsyS.swodniW
rekciPresU.metsyS.swodniW
rekciProloCI.slortnoC.lmaX.IU.swodniW
rekciProloC.slortnoC.lmaX.IU.swodniW
rekciPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
rekciPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
rekniLkcabllaCkrowemarF.krowemarF.anX.tfosorciM
rekorBleveLdnuoS.weiverP.eroC.aideM.swodniW
rekorBnoitacitnehtuAbeW.beW.noitacitnehtuA.ytiruceS.swodniW
rekovnIcitsongaiDI.scitsongaiD.metsyS.swodniW
rekovnIcitsongaiD.scitsongaiD.metsyS.swodniW
rekraMaideMI.aideM.swodniW
rekraMaideMkcabyalPI.kcabyalP.aideM.swodniW
rekraMaideMkcabyalP.kcabyalP.aideM.swodniW
rekraMenilemiT.aideM.lmaX.IU.swodniW
rekraMenilemiTI.aideM.lmaX.IU.swodniW
related_name_resolver.cpp
related_name_resolver.h
related_name_resolver_test.cpp
relativeAddressW
RELATIVE_COMPRESSION
RelativePathToLogsFolder
RelativePathToLogsRegistryKey
RelayCommand
reldnaHdegnahCtseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
reldnaHdehctapsiDeldI.eroC.IU.swodniW
reldnaHdehctapsiD.eroC.IU.swodniW
reldnaHdekovnIdnammoCIU.spupoP.IU.swodniW
reldnaHdekovnIdnammoCredivorPtnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
reldnaHdekovnIdnammoCtnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
reldnaHdespalEremiT.gnidaerhT.metsyS.swodniW
reldnaHdeteleDlaitnederCdnammoClaitnederC.sgnitteSnoitacilppA.IU.swodniW
reldnaHdetelpmoClarrefeD.noitadnuoF.swodniW
reldnaHdetelpmoCnoitcAcnysA.noitadnuoF.swodniW
reldnaHdetseuqeRataDeliFdemaertS.egarotS.swodniW
reldnaHdetseuqeRecruoSksaTD3tnirP.D3gnitnirP.scihparG.swodniW
reldnaHdetseuqeRecruoSksaTtnirP.gnitnirP.scihparG.swodniW
reldnaHdettimsnarTegasseM.ytimixorP.gnikrowteN.swodniW
reldnaHdevieceRegasseM.ytimixorP.gnikrowteN.swodniW
reldnaHdeyortseDremiT.gnidaerhT.metsyS.swodniW
reldnaHeueuQrehctapsiD.metsyS.swodniW
reldnaHgnizinekoTstnemgeSdroWelbatceleS.txeT.ataD.swodniW
reldnaHgnizinekoTstnemgeSdroW.txeT.ataD.swodniW
reldnaHlangiS.eroC.gnidaerhT.metsyS.swodniW
reldnaHmaertSweNddA.smaertSyratnemelE.aideM.enohP.tfosorciM
reldnaHmetIkroW.gnidaerhT.metsyS.swodniW
reldnaHmetIoTyeKweiVtsiL.slortnoC.lmaX.IU.swodniW
reldnaHnoisreVteSataDnoitacilppA.egarotS.swodniW
reldnaHnoitacitnehtuAecaFpotSnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
reldnaHnoitacitnehtuAecaFtratSnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
reldnaHnoitadilaVeulaV.tellaW.enohP.tfosorciM
reldnaHnoitalupinaM.slortnoC.spaM.enohP.tfosorciM
reldnaHnoitpircsbuS.ofnI.enohP.tfosorciM
reldnaHredivorPataD.refsnarTataD.ledoMnoitacilppA.swodniW
reldnaHredivorPerahS.refsnarTataD.ledoMnoitacilppA.swodniW
reldnaHrorrE.secivreSremaG.krowemarF.anX.tfosorciM
reldnaHteseRniPdraCtramS.sdraCtramS.seciveD.swodniW
reldnaHtnevEatleDgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevEatleDnoitalupinaM.tupnI.lmaX.IU.swodniW
reldnaHtnevEdedeecxEnoitatimiLdroceR.erutpaC.aideM.swodniW
reldnaHtnevEdedeeNtoobeR.noitcetorP.aideM.swodniW
reldnaHtnevEdegnahCesneciL.erotS.ledoMnoitacilppA.swodniW
reldnaHtnevEdegnahCetatSlausiV.lmaX.IU.swodniW
reldnaHtnevEdegnahCeulaVesaBegnaR.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCeziS.lmaX.IU.swodniW
reldnaHtnevEdegnahCeziSwodniW.lmaX.IU.swodniW
reldnaHtnevEdegnahCnoitceleS.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCnoitcelloCyfitoN.poretnI.lmaX.IU.swodniW
reldnaHtnevEdegnahCrotceVelbadniB.poretnI.lmaX.IU.swodniW
reldnaHtnevEdegnahCsmetI.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCsutatSeciveDsmS.smS.seciveD.swodniW
reldnaHtnevEdegnahCsutatSkrowteN.ytivitcennoC.gnikrowteN.swodniW
reldnaHtnevEdegnahCtsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
reldnaHtnevEdegnahCtxeT.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCweiVmooZcitnameS.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCweiVnIsnoitceS.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdegnahCytilibisiVwodniW.lmaX.IU.swodniW
reldnaHtnevEdegnahCytreporP.ataD.lmaX.IU.swodniW
reldnaHtnevEdegnahCytreporPycnednepeD.lmaX.IU.swodniW
reldnaHtnevEdelecnaCksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reldnaHtnevEdeliaFdaoLtnenopmoC.noitcetorP.aideM.swodniW
reldnaHtnevEdeliaFerutpaCaideM.erutpaC.aideM.swodniW
reldnaHtnevEdeliaFgnidniB.lmaX.IU.swodniW
reldnaHtnevEdeliaFnoitagivaN.noitagivaN.lmaX.IU.swodniW
reldnaHtnevEdeliaFnoitagivaN.noitagivaN.swodniW.metsyS
reldnaHtnevEdeliaFnoitagivaNweiVbeW.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdeppaTelbuoD.tupnI.lmaX.IU.swodniW
reldnaHtnevEdeppaTthgiR.tupnI.lmaX.IU.swodniW
reldnaHtnevEdeppaT.tupnI.lmaX.IU.swodniW
reldnaHtnevEdeppotSnoitagivaN.noitagivaN.lmaX.IU.swodniW
reldnaHtnevEdeppotSnoitagivaN.noitagivaN.swodniW.metsyS
reldnaHtnevEdesolCwodniW.lmaX.IU.swodniW
reldnaHtnevEdesserPdapyeK.seciveD.aideM.swodniW
reldnaHtnevEdetagivaN.IUbeW.IU.swodniW
reldnaHtnevEdetagivaN.noitagivaN.lmaX.IU.swodniW
reldnaHtnevEdetavitcAdnuorgkcaB.IUbeW.IU.swodniW
reldnaHtnevEdetavitcA.IUbeW.IU.swodniW
reldnaHtnevEdetavitcAwodniW.lmaX.IU.swodniW
reldnaHtnevEdetelpmoCdaoL.noitagivaN.lmaX.IU.swodniW
reldnaHtnevEdetelpmoCgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdetelpmoCksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reldnaHtnevEdetelpmoCnoitalupinaM.tupnI.lmaX.IU.swodniW
reldnaHtnevEdetrapeDeciveD.ytimixorP.gnikrowteN.swodniW
reldnaHtnevEdetratSgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevEdetratSnoitalupinaM.tupnI.lmaX.IU.swodniW
reldnaHtnevEdetseuqeRecivreS.noitcetorP.aideM.swodniW
reldnaHtnevEdetseuqeRlaideR.seciveD.aideM.swodniW
reldnaHtnevEdetseuqeRlaiD.seciveD.aideM.swodniW
reldnaHtnevEdetuoRdegnahCetaR.aideM.lmaX.IU.swodniW
reldnaHtnevEdetuoR.lmaX.IU.swodniW
reldnaHtnevEdetuoRnoitpecxE.lmaX.IU.swodniW
reldnaHtnevEdetuoRrekraMenilemiT.aideM.lmaX.IU.swodniW
reldnaHtnevEdevieceRegasseMsmS.smS.seciveD.swodniW
reldnaHtnevEdevirrAeciveD.ytimixorP.gnikrowteN.swodniW
reldnaHtnevEdevomeRtsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
reldnaHtnevEdnuorgkcaBderetnE.IUbeW.IU.swodniW
reldnaHtnevEdnuorgkcaBderetnE.lmaX.IU.swodniW
reldnaHtnevEdnuorgkcaBgnivaeL.IUbeW.IU.swodniW
reldnaHtnevEdnuorgkcaBgnivaeL.lmaX.IU.swodniW
reldnaHtnevEegaPweiverPteG.gnitnirP.lmaX.IU.swodniW
reldnaHtnevEetanigaP.gnitnirP.lmaX.IU.swodniW
reldnaHtnevEetelpmoCtseuqeRtnegA.enohP.tfosorciM
reldnaHtnevEetsaPlortnoCtxeT.slortnoC.lmaX.IU.swodniW
reldnaHtnevEgarD.lmaX.IU.swodniW
reldnaHtnevEgnidloH.tupnI.lmaX.IU.swodniW
reldnaHtnevEgnidnepsuS.IUbeW.IU.swodniW
reldnaHtnevEgnidnepsuS.lmaX.IU.swodniW
reldnaHtnevEgnignahCmetIyaDweiVradnelaC.slortnoC.lmaX.IU.swodniW
reldnaHtnevEgnignahCtnerruC.ataD.lmaX.IU.swodniW
reldnaHtnevEgnimuseR.IUbeW.IU.swodniW
reldnaHtnevEgninepOuneMtxetnoC.slortnoC.lmaX.IU.swodniW
reldnaHtnevEgnitratSaitrenInoitalupinaM.tupnI.lmaX.IU.swodniW
reldnaHtnevEgnitratSnoitalupinaM.tupnI.lmaX.IU.swodniW
reldnaHtnevEgnitratSsmetIgarD.slortnoC.lmaX.IU.swodniW
reldnaHtnevEkcilCkcaB.slortnoC.lmaX.IU.swodniW
reldnaHtnevEkcilCmetI.slortnoC.lmaX.IU.swodniW
reldnaHtnevEkcilCredaeHnoitceSbuH.slortnoC.lmaX.IU.swodniW
reldnaHtnevElecnaCgnitagivaN.noitagivaN.lmaX.IU.swodniW
reldnaHtnevEllorcS.sevitimirP.slortnoC.lmaX.IU.swodniW
reldnaHtnevElortnoCllaC.seciveD.aideM.swodniW
reldnaHtnevEmetIdezilautriVpUnaelC.slortnoC.lmaX.IU.swodniW
reldnaHtnevEnoitagivaNtnemgarF.noitagivaN.swodniW.metsyS
reldnaHtnevEnoitpecxEdeldnahnU.lmaX.IU.swodniW
reldnaHtnevEretnioP.tupnI.lmaX.IU.swodniW
reldnaHtnevEsegaPddA.gnitnirP.lmaX.IU.swodniW
reldnaHtnevEseitreporPyalpsiD.yalpsiD.scihparG.swodniW
reldnaHtnevEssergorPdaolnwoD.gnigamI.aideM.lmaX.IU.swodniW
reldnaHtnevEssergorPksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
reldnaHtnevEyeK.tupnI.lmaX.IU.swodniW
reldnaHtnevEyfitoN.slortnoC.lmaX.IU.swodniW
reldnaHyeKoTmetIweiVtsiL.slortnoC.lmaX.IU.swodniW
reldnaHyfitoNsutatStseuqeR.refsnarTdnuorgkcaB.enohP.tfosorciM
release_alpha
ReleaseBold
?ReleaseBuffer@CHString@@QEAAXH@Z
ReleaseCapture
?Release@ClassInfoBase@DirectUI@@UEAAHXZ
ReleaseDC
ReleaseHandle
ReleaseHandlers
ReleaseIdentityProviderEnumContext
ReleaseMutex
ReleasePtr
ReleaseSemaphore
ReleaseSRWLockExclusive
ReleaseSRWLockShared
releasetransportbuffertest.cpp
releasetransportbuffertest.h
?Release@Value@DirectUI@@QEAAXXZ
?ReleaseVolumeSnapshot@SNAPSHOT@@SAEPEAV1@@Z
Releasing acc
Releasing acc instance
Releasing face detection sensor instance
Releasing interface
Releasing motion sensor instance
Releasing proximity sensor instance
Releasing sensor
Releasing sensors.
Releasing sensors for S3
Releasing sensors for S3 done
ReliabilityContractAttribute
relipmoCgnaL.scitnameS.redniBemitnuR.prahSC.tfosorciM
relliFeliforPremaG.secivreSremaG.krowemarF.anX.tfosorciM
relliFesaB.secivreSremaG.krowemarF.anX.tfosorciM
relliFnmuloCdraobredaeLI.butS.secivreSremaG.krowemarF.anX.tfosorciM
relliFnmuloCdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
relliFnoitcelloCstnemeveihcA.secivreSremaG.krowemarF.anX.tfosorciM
relliFnoitcelloCyrtnEdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
relliFnoitcelloCytreporPI.butS.secivreSremaG.krowemarF.anX.tfosorciM
relliFremaGnIdengiS.secivreSremaG.krowemarF.anX.tfosorciM
relliFremaG.secivreSremaG.krowemarF.anX.tfosorciM
relliFtnemeveihcA.secivreSremaG.krowemarF.anX.tfosorciM
relliFyrtnEdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
relliFytreporPI.butS.secivreSremaG.krowemarF.anX.tfosorciM
rellortnoCc2I.c2I.seciveD.swodniW
rellortnoCc2II.c2I.seciveD.swodniW
rellortnoCcdA.cdA.seciveD.swodniW
rellortnoCcdAI.cdA.seciveD.swodniW
rellortnoCC.srorrE.redniBemitnuR.prahSC.tfosorciM
rellortnoCeciveDaideMI.seciveD.aideM.swodniW
rellortnoCeciveDerutpaCoediVdecnavdAI.seciveD.aideM.swodniW
rellortnoCeciveDoediVI.seciveD.aideM.swodniW
rellortnoCeciveDoediV.seciveD.aideM.swodniW
rellortnoCeciveDoiduAI.seciveD.aideM.swodniW
rellortnoCeciveDoiduA.seciveD.aideM.swodniW
rellortnoCecneuqeSotohPelbairaV.eroC.seciveD.aideM.swodniW
rellortnoCecneuqeSotohPelbairaVI.eroC.seciveD.aideM.swodniW
rellortnoCecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
rellortnoCecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
rellortnoCemaGI.tupnI.gnimaG.swodniW
rellortnoCemaGwaRI.tupnI.gnimaG.swodniW
rellortnoCemaGwaR.tupnI.gnimaG.swodniW
rellortnoCemarF.eroC.seciveD.aideM.swodniW
rellortnoCemarFI.eroC.seciveD.aideM.swodniW
rellortnoCenilemiTaideM.aideM.swodniW
rellortnoCenilemiTaideMI.aideM.swodniW
rellortnoCetarbiVevitaN.seciveD.tfosorciM
rellortnoCetarbiV.seciveD.tfosorciM
rellortnoCeueuQrehctapsiDI.metsyS.swodniW
rellortnoCeueuQrehctapsiD.metsyS.swodniW
rellortnoCffOnOyalpsiDrosneSytimixorP.srosneS.seciveD.swodniW
rellortnoCipSI.ipS.seciveD.swodniW
rellortnoCipS.ipS.seciveD.swodniW
rellortnoClaidaRI.tupnI.IU.swodniW
rellortnoClaidaR.tupnI.IU.swodniW
rellortnoCmwPI.mwP.seciveD.swodniW
rellortnoCmwP.mwP.seciveD.swodniW
rellortnoCnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
rellortnoCnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
rellortnoCnoitagivaNIUI.tupnI.gnimaG.swodniW
rellortnoCnoitagivaNIU.tupnI.gnimaG.swodniW
rellortnoCnoitaminAI.noitisopmoC.IU.swodniW
rellortnoCnoitaminA.noitisopmoC.IU.swodniW
rellortnoCnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
rellortnoCnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
rellortnoCoipGI.oipG.seciveD.swodniW
rellortnoCoipG.oipG.seciveD.swodniW
rellortnoCredniBemitnuR.redniBemitnuR.prahSC.tfosorciM
rellortnoCrotisopmoC.eroC.noitisopmoC.IU.swodniW
rellortnoCrotisopmoCI.eroC.noitisopmoC.IU.swodniW
rellortnoCscitpaHelpmiSI.scitpaH.seciveD.swodniW
rellortnoCscitpaHelpmiS.scitpaH.seciveD.swodniW
rellortnoCseciveDleveLwoLI.seciveD.swodniW
rellortnoCseciveDleveLwoL.seciveD.swodniW
rellortnoCtsiLpmuJ.slortnoC.enohP.tfosorciM
reload_active_power_scheme
reludehcSdaerhTtnerruC.evitcaeR.enohP.tfosorciM
reludehcSdaerhTweN.evitcaeR.enohP.tfosorciM
reludehcSdA.TRniW.derahS.gnisitrevdA.tfosorciM
reludehcSetaidemmI.evitcaeR.enohP.tfosorciM
reludehcS.evitcaeR.enohP.tfosorciM
reludehcSI.evitcaeR.enohP.tfosorciM
reludehcSlooPdaerhT.evitcaeR.enohP.tfosorciM
reludehcSlooPksaT.evitcaeR.enohP.tfosorciM
reludehcSrehctapsiD.evitcaeR.enohP.tfosorciM
reludehcStxetnoCnoitazinorhcnyS.evitcaeR.enohP.tfosorciM
reluRretneserPknI.gniknI.tupnI.IU.swodniW
reluRretneserPknII.gniknI.tupnI.IU.swodniW
remaertSaideM.aideM.enohP.tfosorciM
remaertSoiduA.oiduAdnuorgkcaB.enohP.tfosorciM
remaGdneirF.secivreSremaG.krowemarF.anX.tfosorciM
remaGlaicoS.secivreSremaG.krowemarF.anX.tfosorciM
remaGnEVIL.beW.smroftalP.secivreSremaG
remaGnIdengiS.secivreSremaG.krowemarF.anX.tfosorciM
remaG.secivreSremaG.krowemarF.anX.tfosorciM
remiTemaG.krowemarF.anX.tfosorciM
remiTeueuQrehctapsiDI.metsyS.swodniW
remiTeueuQrehctapsiD.metsyS.swodniW
remiTlooPdaerhT.gnidaerhT.metsyS.swodniW
remiTlooPdaerhTI.gnidaerhT.metsyS.swodniW
remiTrehctapsiDI.lmaX.IU.swodniW
remiTrehctapsiD.lmaX.IU.swodniW
Remote error
Remote file already exists
Remote file name has no length!
Remote filename has no length!
Remote file not found
remote-header-name
remote_ip
remote-name
    --remote-name-all
remote-name-all
remote_port
RemoteServer
remote-time
RemoteWW
RemotingException
RemovableWWW
remove_AccessChanged
RemoveAll
RemoveAssistant
RemoveAt
?RemoveBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
remove_CanExecuteChanged
?RemoveChild@ClassInfoBase@DirectUI@@UEAAXXZ
remove_CortanaStatusChanged
remove_DefaultDeviceChanged
RemoveDevice
remove_DeviceAdded
RemoveDeviceLicense
remove_DeviceRemoved
remove_DeviceStateChanged
RemoveDirectoryA
RemoveDirectoryTransactedW
RemoveDirectoryW
Remove disks or other media.
REMOVEDW
?Remove@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
RemoveEnrollment
RemoveEnrollmentDelegate
RemoveEnumeratedBatteries
RemoveEventHandle
RemoveEventHandler
remove_EventRecordWritten
RemoveFilesIfPresent
RemoveIcon
?RemoveListener@Element@DirectUI@@QEAAXPEAUIElementListener@2@@Z
?RemoveLocalValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZ@Z
RemoveMenu
RemoveObjectIdFromList
remove_OnAcaEventNotificationReceived
remove_OnDefaultEndpointChanged
remove_OnDefaultEndpointDeviceChanged
remove_OnDriverNotification
    --remove-on-error
remove-on-error
remove_OnErrorEvent
remove_OnKpDetectionEvent
remove_OnPermissionChanged
remove_OnPreprocessingDataReady
remove_OnStopStreamRequest
remove_OnStreamCreated
remove_OnStreamCreationEnd
remove_OnStreamCreationStart
remove_OnStreamStopped
remove_OnWovStatusChanged
Remove output file on errors
RemovePackage
removepackageactivitytests.cpp
removepackagegrouptests.cpp
!RemovePackageGroupWWd
remove_PackageLaunchPreventedDueToCostCalled
removepackagetest.cpp
removepackagetest.h
removepackagetests.cpp
RemovePdt
RemovePhantomSessions
RemovePinInvoke
remove_PreferenceEvent
remove_PrimaryFeatureBlockLoadFinishedCalled
remove_PrimaryFeatureBlockLoadStartedCalled
remove_PrimaryFeatureBlockPercentageChangedCalled
remove_PropertyChanged
RemovePropW
RemovePublishingActivity
remove_PublishingActivityStatusChangedCalled
RemovePublishingRefresh
remove_PublishingRefreshStatusChangedCalled
RemoveRange
remove_RegistryKeyChanged
remove_RegistryTreeChanged
remove_RegistryValueChanged
remove_RequerySuggested
RemoveRequest
RemoveSession
RemoveSessionsOwnedByTheUser
_RemoveShieldIcon
RemoveSid
RemoveSidDelegate
Removes the policy for a packageWW
Removes the virtual displayWWW"
remove_StreamFaultFailedCalled
remove_StreamingStarted
remove_StreamingStopped
RemoveSv
            Remove this element if your application requires this virtualization for backwards
?RemoveTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?RemoveTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
RemoveTPGroupTPortal
RemoveUdt
RemoveUninstallImage
remove_UserPreferenceChanged
RemoveUsersFromEncryptedFile
RemoveVirtualApplication
remove_VirtualEnvironmentBlockedCalled
remove_VirtualEnvironmentTerminatedCalled
remove_VirtualProcessCreatedCalled
remove_VirtualProcessCreateFailedCalled
remove_WorkCompleted
RemoveWW
Removing HECI device...
 remplac
rename file failed
r en annan.
renderMajor
renderMinor
renetsiLdegnahCnoitcelloCkaeW.slortnoC.enohP.tfosorciM
renetsiLedoNoiduAI.oiduA.aideM.swodniW
renetsiLedoNoiduA.oiduA.aideM.swodniW
renetsiLhtiWedoNoiduAI.oiduA.aideM.swodniW
renetsiLnoitacifitoNresUI.tnemeganaM.snoitacifitoN.IU.swodniW
renetsiLnoitacifitoNresU.tnemeganaM.snoitacifitoN.IU.swodniW
renetsiLnoitativnInoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
renetsiLnoitativnInoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
renetsiLnoitavitcAtupnII.tupnI.IU.swodniW
renetsiLnoitavitcAtupnI.tupnI.IU.swodniW
renetsiLnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
renetsiLnoitcennoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
renetsiLoiduA.oiduA.krowemarF.anX.tfosorciM
renetsiLresoohC.sksaT.enohP.tfosorciM
renetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
renetsiLtekcoSmaertS.stekcoS.gnikrowteN.swodniW
RenewActivity
reniatnoCataDnoitacilppA.egarotS.swodniW
reniatnoCataDnoitacilppAI.egarotS.swodniW
reniatnoCdiA.scitnameS.redniBemitnuR.prahSC.tfosorciM
reniatnoCecivreSemaG.krowemarF.anX.tfosorciM
reniatnoCekortSknI.gniknI.tupnI.IU.swodniW
reniatnoCekortSknII.gniknI.tupnI.IU.swodniW
reniatnoCeltiT.krowemarF.anX.tfosorciM
reniatnoCevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
reniatnoCevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
reniatnoChserfeRI.slortnoC.lmaX.IU.swodniW
reniatnoChserfeR.slortnoC.lmaX.IU.swodniW
reniatnoCIUenilnII.stnemucoD.lmaX.IU.swodniW
reniatnoCIUenilnI.stnemucoD.lmaX.IU.swodniW
reniatnoCmetIraBnoitacilppA.llehS.enohP.tfosorciM
reniatnoCmetIuneMraBnoitacilppA.llehS.enohP.tfosorciM
reniatnoCmooZnaP.slortnoC.enohP.tfosorciM
reniatnoCnoitatneserPpaM.slortnoC.spaM.enohP.tfosorciM
reniatnoCnottuBnocIraBnoitacilppA.llehS.enohP.tfosorciM
reniatnoCrezingoceRknI.gniknI.tupnI.IU.swodniW
reniatnoCrezingoceRknII.gniknI.tupnI.IU.swodniW
reniatnoCtnemelEraBppAI.slortnoC.lmaX.IU.swodniW
reniatnoCtnemelEraBppA.slortnoC.lmaX.IU.swodniW
reniatnoCtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
reniatnoCtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
reniatnoCtupnIlanretxEekaF.slortnoC.spaM.enohP.tfosorciM
renioJnoisseStpeccAnyoJllAI.nyoJllA.seciveD.swodniW
rennacSedocraBdemialC.ecivreSfOtnioP.seciveD.swodniW
rennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
rennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
rennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
rennacSegamII.srennacS.seciveD.swodniW
rennacSegamI.srennacS.seciveD.swodniW
renwOrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
Repairs extension points for a package
repeat_delay
     ...-Repeated parameters
Replaced
ReplaceDrive
ReplaceExisting
repleHataDlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
repleHataDlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
repleHD3xirtaM.D3aideM.aideM.lmaX.IU.swodniW
repleHD3xirtaMI.D3aideM.aideM.lmaX.IU.swodniW
repleHdiuG.noitadnuoF.swodniW
repleHdiuUhtooteulB.htooteulB.seciveD.swodniW
repleHecnetsisrePweiVtsiLI.slortnoC.lmaX.IU.swodniW
repleHecnetsisrePweiVtsiL.slortnoC.lmaX.IU.swodniW
repleHeerTlausiV.aideM.lmaX.IU.swodniW
repleHeerTlausiVI.aideM.lmaX.IU.swodniW
repleHeliFegarotSDNI.ydaeRyalP.noitcetorP.aideM.swodniW
repleHeliFegarotSDN.ydaeRyalP.noitcetorP.aideM.swodniW
repleHemiTyeKI.noitaminA.aideM.lmaX.IU.swodniW
repleHemiTyeK.noitaminA.aideM.lmaX.IU.swodniW
repleHepyT.slortnoC.enohP.tfosorciM
repleHeziSI.lmaX.IU.swodniW
repleHeziS.lmaX.IU.swodniW
repleHgatoeG.seitreporPeliF.egarotS.swodniW
repleHgnidniBlmaXI.pukraM.lmaX.IU.swodniW
repleHgnidniBlmaX.pukraM.lmaX.IU.swodniW
repleHgnirtS.reludehcS.enohP.tfosorciM
repleHgnisraPirU.noitagivaN.swodniW.metsyS
repleHgolaiDnoitcA.secivreSremaG.krowemarF.anX.tfosorciM
repleHhctapsiD.poretnI.ledoMksaT.enohP.tfosorciM
repleHhtaM.krowemarF.anX.tfosorciM
repleHhtgneLdirGI.lmaX.IU.swodniW
repleHhtgneLdirG.lmaX.IU.swodniW
repleHmaertS.seciveD.tfosorciM
repleHnoitaruDI.lmaX.IU.swodniW
repleHnoitaruD.lmaX.IU.swodniW
repleHnoitatsettAyeK.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
repleHnoitisoProtareneGI.sevitimirP.slortnoC.lmaX.IU.swodniW
repleHnoitisoProtareneG.sevitimirP.slortnoC.lmaX.IU.swodniW
repleHnoitpecxEresworBbeW.slortnoC.enohP.tfosorciM
repleHofnIecalP.hcraeSlacoL.spaM.secivreS.swodniW
repleHoiduAdnuorgkcaB.oiduAdnuorgkcaB.enohP.tfosorciM
repleHoiduA.oiduA.krowemarF.anX.tfosorciM
repleHpiD.spaM.enohP.tfosorciM
repleHpiS.slortnoC.swodniW.metsyS
repleHpmatsemiTnoitpecreP.noitpecreP.swodniW
repleHporetnIevitaN.poretnI.llehS.enohP.tfosorciM
repleHpukraMlmaXI.pukraM.lmaX.IU.swodniW
repleHpukraMlmaX.pukraM.lmaX.IU.swodniW
repleHrebmeMredaeRevitcelfeR.tnetnoC.krowemarF.anX.tfosorciM
repleHredaeRlmX.beW.smroftalP.secivreSremaG
repleHredniB.redniBemitnuR.prahSC.tfosorciM
repleHreganaMeroCnoitacitnehtuAbeWI.weiverP.erotS.ledoMnoitacilppA.swodniW
repleHreganaMeroCnoitacitnehtuAbeW.weiverP.erotS.ledoMnoitacilppA.swodniW
repleHresoohC.sksaT.enohP.tfosorciM
repleHrezilaniFaideM.aideM.krowemarF.anX.tfosorciM
repleHrezilaniFrehctapsiDcnysAresU.krowemarF.anX.tfosorciM
repleHrezilaniFtceffEdnuoS.oiduA.krowemarF.anX.tfosorciM
repleHroivaheBtaepeRI.noitaminA.aideM.lmaX.IU.swodniW
repleHroivaheBtaepeR.noitaminA.aideM.lmaX.IU.swodniW
repleHroloCI.IU.swodniW
repleHroloC.IU.swodniW
repleHroloC.spaM.enohP.tfosorciM
repleHscisyhP.slortnoC.spaM.enohP.tfosorciM
repleHseitreporPdednetxE.ofnI.enohP.tfosorciM
repleHslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
repleHslortnoCtropsnarTaideM.slortnoC.lmaX.IU.swodniW
repleHssenkcihTI.lmaX.IU.swodniW
repleHssenkcihT.lmaX.IU.swodniW
repleHsuidaRrenroCI.lmaX.IU.swodniW
repleHsuidaRrenroC.lmaX.IU.swodniW
repleHtamroFlmtH.refsnarTataD.ledoMnoitacilppA.swodniW
repleHtceRI.lmaX.IU.swodniW
repleHtceR.lmaX.IU.swodniW
repleHtegraTredneR.scihparG.krowemarF.anX.tfosorciM
repleHtnetnoCscihparG.scihparG.krowemarF.anX.tfosorciM
repleHtnioPI.lmaX.IU.swodniW
repleHtnioP.lmaX.IU.swodniW
repleHtseuqeRerotS.erotS.secivreS.swodniW
repleHxirtaM.aideM.lmaX.IU.swodniW
repleHxirtaMI.aideM.lmaX.IU.swodniW
repleHxueM.sksaT.enohP.tfosorciM
reportappstatustest.cpp
reportappstatustest.h
ReportEndpointMigrationErrorAfterTimoutPolicy
reportentry.h
reporter.hpp
ReportError
ReportEvent
ReportEventW
reportexporter.h
ReportFailure
ReportIetmToLf
reportingactivities.cpp
reportingactivities.h
reportingactivitytests.cpp
reportingcomponent.cpp
reportingcomponent.h
reportingcomponenttests.cpp
reportingqueue.cpp
reportingqueue.h
reportingrc.h
reportingServerW
reportinguploader.cpp
reportinguploader.h
reportingut.cpp
reportlogmessagetest.cpp
reportlogmessagetest.h
reportmgr.cpp
reportmgr.h
reportsheet.h
reportsheetwriter.cpp
reportsheetwriter.h
reppaMetanidrooCdetalerroChtpeD.eroC.seciveD.aideM.swodniW
reppaMetanidrooCdetalerroChtpeDI.eroC.seciveD.aideM.swodniW
reppaMetanidrooCdetalerroChtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
reppaMetanidrooCdetalerroChtpeDnoitpecreP.noitpecreP.seciveD.swodniW
reppaMirU.noitagivaN.swodniW.metsyS
repparWevitaN.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
repparWmaertSmoC.aideM.krowemarF.anX.tfosorciM
repparWporetnIirU.poretnI.llehS.enohP.tfosorciM
repparWporetnIkcabllaCevitaN.poretnI.llehS.enohP.tfosorciM
repparWporetnIraBppAevitaN.poretnI.llehS.enohP.tfosorciM
repparWporetnItsiLevitaN.poretnI.llehS.enohP.tfosorciM
repparWporetnIyarTmetsySevitaN.poretnI.llehS.enohP.tfosorciM
repparWraBppAngiseD.llehS.enohP.tfosorciM
repparWraBvaNevitaN.poretnI.llehS.enohP.tfosorciM
repparWtnetnoCdetcetorPevitaN.poretnI.llehS.enohP.tfosorciM
repparWtsiLraBppAngiseD.llehS.enohP.tfosorciM
repparWxobretteLevitaN.poretnI.llehS.enohP.tfosorciM
repparWyarTmetsySngiseD.llehS.enohP.tfosorciM
ReqFolder
_request
RequestAdditionalTime
Request compressed response
Request compressed transfer encoding
_requestCounter
RequestCounter
requested
requestedBytes
Requested Count
             requestedExecutionLevel node with one of the following.
requestedIid
Requested range was not delivered by the server
Requested SSL level failed
RequestExclusiveControl
request.h
Request has same path as previous transfer
_requestId
request_manager_ipc.cpp
RequestorID
Request pointer is NULL
_requestProcessorMappings
_requestQueue
requeststate.cpp
requeststate.h
request-target
requestType
requestXml
requiredapplicationspage.cpp
_requiredBufferLength
_requiredCorePackageFiles
REQUIRED_INPUT_PARAM_NOT_FOUND
REQUIRED_PROFILE_IS_ALREADY_APPLIED
_requiredSize
requiredSize
RequiredSize
requiredSubgroupSizeStages
requires parameter
rerapmoCnoitamrofnIeciveDscihparG.krowemarF.anX.tfosorciM
rerapmoCredrOetadpU.krowemarF.anX.tfosorciM
rerapmoCredrOwarD.krowemarF.anX.tfosorciM
reredneRratavA.secivreSremaG.krowemarF.anX.tfosorciM
reredneRtnemelEIU.scihparG.krowemarF.anX.tfosorciM
rerrefnIepyTdohteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
_reserved
Reserved
reserved0
reserved1
Reserved1
reserved2
reserved3
Reserved3
Reserved4
Reserved5
ReservedOffset
ResetController
ResetDriver
ResetEvent
ResetHive
ResetIfNecessary
ResetKeyPath
ResetNarratorAfterSigninSettingPostUpgrade
ResetNotifications
ResetNotificationsMethod
Reset Override request received
resetPeriod
ResetPort
ResetRootPath
ResetSECURITY_DESCRIPTOR
ResetSstNotifications
ResetStateValues
_resetstkoflw
ResetStreamAction
ResetStreamNotifications
ResetTIME_CREATED
Resetting Session Manager
ResetValueName
ResIdCloseButtonDesc
ResIdContentMismatch
residencyAlignedMipSize
residencyNonResidentStrict
residencyStandard2DBlockShape
residencyStandard2DMultisampleBlockShape
residencyStandard3DBlockShape
ResidesOnSystemDisk
ResIdFileNotFoundDesc
ResIdHashMismatch
ResIdSignatureNotFoundDesc
ResIdTitleKbdMgr
ResIdTrustedInstallerMismatch
ResIdUpdateButtonDesc
ResIdUpdateDescKbdMgr
resitrevdAecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
resitrevdAecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
?Resize@HMEM@@QEAAEKK@Z
ResolutionNotification
ResolutionSourceXWWW
ResolutionSourceYWWWD
ResolveDelayLoadedAPI
Resolve host names over DoH
RESOLVE_MODE_AVERAGE_BIT
RESOLVE_MODE_MAX_BIT
RESOLVE_MODE_MIN_BIT
RESOLVE_MODE_SAMPLE_ZERO_BIT
Resolve names to IPv4 addresses
Resolve names to IPv6 addresses
ResolveRef
Resolving the local address and port to be used by the server
resoohCcireneG.sksaT.enohP.tfosorciM
resoohCI.sksaT.enohP.tfosorciM
Resource
resourceCulture
resource deadlock would occur
ResourceDictionaryLocation
Resource exception of type 
resourcefactory.cpp
resourcefactory.h
resourceFile
resource.h
resourceId
ResourceIDPrefix
resourceMan
resourcemanager.cpp
resourcemanager.h
resourceReader
	Resources
resource unavailable try again
RespondentServerUrl
RespondentServerURL
RespondToPipeMessage
response
Response buffer is NULL
response_code
_responseCounter
responseInUnicode
Response pointer is NULL
_responseQueue
response reading failed
Response Received
resraPmaertSDNI.ydaeRyalP.noitcetorP.aideM.swodniW
resraPmaertSyratnemelEdezitekcaP.smaertSyratnemelE.aideM.enohP.tfosorciM
resraPrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
RESTART_NO_CRASH
RESTART_NO_HANG
RESTART_NO_PATCH
RESTART_NO_REBOOT
RestartRestrictions
RestartService
Rest of message was properly received.
RestoreCount
RESTORE_CREATION_ERROR
RestoreDC
restoreDefaultPpmSetting
RESTORE_DIRECTORY_SETUP_ERROR
RESTORE_FILE_MOVE_ERROR
RestoreTaskSettings
__restrict
restrict(
restricted
resUhtiWsgrAtnevEdetavitcAI.noitavitcA.ledoMnoitacilppA.swodniW
resUI.metsyS.swodniW
resultArgs
resultCode
resultCodeGroup
resultCodeLine
resultDescription
ResultEventArgs
ResultModel
result out of range
Resumed transfer offset
ResumeThread
resU.metsyS.swodniW
Resuming all dynamic participants
Resuming all participants
Resumption of all dynamic participants complete
Resumption of participants complete
resU.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
resUroFreganaMetadpUegdaBI.snoitacifitoN.IU.swodniW
resUroFreganaMetadpUegdaB.snoitacifitoN.IU.swodniW
resUroFreganaMetadpUeliTI.snoitacifitoN.IU.swodniW
resUroFreganaMetadpUeliT.snoitacifitoN.IU.swodniW
resUroFreganaMgnisitrevdA.eliforPresU.metsyS.swodniW
resUroFreganaMgnisitrevdAI.eliforPresU.metsyS.swodniW
resUroFreganaMlennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
resUroFreganaMlennahCnoitacifitoNhsuP.snoitacifitoNhsuP.gnikrowteN.swodniW
resUroFreganaMliamEI.liamE.ledoMnoitacilppA.swodniW
resUroFreganaMliamE.liamE.ledoMnoitacilppA.swodniW
resUroFreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
resUroFreganaMnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
resUroFreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
resUroFreganaMtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
resUroFreganaMtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
resUroFreganaMtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
resUroFreganaMtnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
resUroFreganaMtnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
resUroFreganaMyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
resUroFreganaMyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
resUroFrotacitnehtuAmetsySdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
resUroFrotacitnehtuAmetsySdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
resUroFsecnereferPnoitazilabolG.eliforPresU.metsyS.swodniW
resUroFsecnereferPnoitazilabolGI.eliforPresU.metsyS.swodniW
resworBbeWgnisitrevdAI.IU.TRniW.gnisitrevdA.tfosorciM
resworBbeW.slortnoC.enohP.tfosorciM
retadpUdeeFlaicoSI.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
retadpUdeeFlaicoS.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
retadpUegdaBI.snoitacifitoN.IU.swodniW
retadpUegdaB.snoitacifitoN.IU.swodniW
retadpUeliFdehcaC.redivorP.egarotS.swodniW
retadpUeliTI.snoitacifitoN.IU.swodniW
retadpUeliT.snoitacifitoN.IU.swodniW
retadpUhctaBhparGoiduA.oiduA.aideM.swodniW
retadpUmetIdraobhsaDlaicoSI.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
retadpUmetIdraobhsaDlaicoS.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
retadpUtuoylFeliTI.snoitacifitoN.IU.swodniW
retadpUtuoylFeliT.snoitacifitoN.IU.swodniW
retadpUyalpsiDslortnoCtropsnarTaideMmetsyS.aideM.swodniW
retadpUyalpsiDslortnoCtropsnarTaideMmetsySI.aideM.swodniW
retemaraPecruoStceffEnoitisopmoCI.noitisopmoC.IU.swodniW
retemaraPecruoStceffEnoitisopmoC.noitisopmoC.IU.swodniW
retemaraPtceffE.scihparG.krowemarF.anX.tfosorciM
retemitlAI.srosneS.seciveD.swodniW
retemitlA.srosneS.seciveD.swodniW
retemodePI.srosneS.seciveD.swodniW
retemodeP.srosneS.seciveD.swodniW
retemonilcnII.srosneS.seciveD.swodniW
retemonilcnI.srosneS.seciveD.swodniW
retemoraBI.srosneS.seciveD.swodniW
retemoraB.srosneS.seciveD.swodniW
retemoreleccAI.srosneS.seciveD.swodniW
retemoreleccAI.srosneS.seciveD.tfosorciM
retemoreleccA.srosneS.seciveD.swodniW
retemoreleccA.srosneS.seciveD.tfosorciM
retemoryGI.srosneS.seciveD.swodniW
retemoryG.srosneS.seciveD.swodniW
retemotengaMI.srosneS.seciveD.swodniW
retemotengaM.srosneS.seciveD.swodniW
rethgilhgiHtxeTI.stnemucoD.lmaX.IU.swodniW
rethgilhgiHtxeT.stnemucoD.lmaX.IU.swodniW
?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
retirWatadateMerutpaCppA.erutpaC.aideM.swodniW
retirWatadateMerutpaCppAI.erutpaC.aideM.swodniW
retirWataDI.smaertS.egarotS.swodniW
retirWataD.smaertS.egarotS.swodniW
retirWdraobredaeLnEVIL.beW.smroftalP.secivreSremaG
retirWdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
retirweReerTnoisserpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
retirweRllaCeerTnoisserpxE.redniBemitnuR.prahSC.tfosorciM
retirWyraniBlmaXI.pukraM.lmaX.IU.swodniW
retirWyraniBlmaX.pukraM.lmaX.IU.swodniW
retliFciffarTnpVI.npV.gnikrowteN.swodniW
retliFciffarTnpV.npV.gnikrowteN.swodniW
retliFdniKmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFdniKmetsySetomeR.smetsySetomeR.metsyS.swodniW
retliFdniKnoitazirohtuAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFdniKnoitazirohtuAmetsySetomeR.smetsySetomeR.metsyS.swodniW
retliFegAliaMtnuoccAeciveD.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
retliFegasseMsmS.smS.seciveD.swodniW
retliFeliforPnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
retliFeliforPnoitcennoC.ytivitcennoC.gnikrowteN.swodniW
retliFepyTsutatSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFepyTsutatSmetsySetomeR.smetsySetomeR.metsyS.swodniW
retliFepyTtnetnoCtropmIotohP.tropmI.aideM.swodniW
retliFepyTyrevocsiDmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFepyTyrevocsiDmetsySetomeR.smetsySetomeR.metsyS.swodniW
retliFerutxeT.scihparG.krowemarF.anX.tfosorciM
retliFhtgnertSlangiShtooteulB.htooteulB.seciveD.swodniW
retliFhtgnertSlangiShtooteulBI.htooteulB.seciveD.swodniW
retliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
retliFlocotorPesaBpttH.sretliF.pttH.beW.swodniW
retliFmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFpttHI.sretliF.pttH.beW.swodniW
retliFredivorPhtiWsnoitpOyreuQI.hcraeS.egarotS.swodniW
retliFrekciPeciveDgnitsaC.gnitsaC.aideM.swodniW
retliFrekciPeciveDgnitsaCI.gnitsaC.aideM.swodniW
retliFrekciPeciveDI.noitaremunE.seciveD.swodniW
retliFrekciPeciveDlaiDI.locotorPlaiD.aideM.swodniW
retliFrekciPeciveDlaiD.locotorPlaiD.aideM.swodniW
retliFrekciPeciveD.noitaremunE.seciveD.swodniW
retliFtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
retliFtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
retliFtnuoccAbeWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
retliFtnuoccAbeWmetsySetomeR.smetsySetomeR.metsyS.swodniW
retnarGtnemeveihcAnEVIL.beW.smroftalP.secivreSremaG
retnemgeSsdroWelbatceleSI.txeT.ataD.swodniW
retnemgeSsdroWelbatceleS.txeT.ataD.swodniW
retnemgeSsdroWI.txeT.ataD.swodniW
retnemgeSsdroW.txeT.ataD.swodniW
retneserPIUlmaX.gnitsoH.lmaX.IU.swodniW
retneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
retneserPknI.gniknI.tupnI.IU.swodniW
retneserPknII.gniknI.tupnI.IU.swodniW
retneserPmetIweiVdirGI.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPmetIweiVdirG.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPmetIweiVnoitagivaNI.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPmetIweiVnoitagivaN.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPmetIweiVtsiL.sevitimirP.slortnoC.lmaX.IU.swodniW
retneserPreyalPaideMI.slortnoC.lmaX.IU.swodniW
retneserPreyalPaideM.slortnoC.lmaX.IU.swodniW
retneserPsmetII.slortnoC.lmaX.IU.swodniW
retneserPsmetI.slortnoC.lmaX.IU.swodniW
retneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
retneserPtnetnoCllorcSI.slortnoC.lmaX.IU.swodniW
retneserPtnetnoCllorcS.slortnoC.lmaX.IU.swodniW
retneserPtnetnoC.slortnoC.lmaX.IU.swodniW
retneserPtuoylFI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPemiTI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPemiT.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPetaD.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciP.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPtsiLI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFrekciPtsiL.slortnoC.lmaX.IU.swodniW
retneserPtuoylF.slortnoC.lmaX.IU.swodniW
retneserPtuoylFuneMI.slortnoC.lmaX.IU.swodniW
retneserPtuoylFuneM.slortnoC.lmaX.IU.swodniW
retneserPwodniWppAI.tnemeganaMwodniW.IU.swodniW
retneserPwodniWppA.tnemeganaMwodniW.IU.swodniW
retneserPwolfrevOraBdnammoCI.slortnoC.lmaX.IU.swodniW
retneserPwolfrevOraBdnammoC.slortnoC.lmaX.IU.swodniW
retneserPyalrevOpaM.slortnoC.spaM.enohP.tfosorciM
retnioPI.tupnI.lmaX.IU.swodniW
retnioPseriuqeR.slortnoC.lmaX.IU.swodniW
RETNIOPSIHTRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
retnioP.tupnI.lmaX.IU.swodniW
retnioPtxeTI.stnemucoD.lmaX.IU.swodniW
retnioPtxeT.stnemucoD.lmaX.IU.swodniW
retnirPlanruoJdemialC.ecivreSfOtnioP.seciveD.swodniW
retnirPlanruoJdemialCI.ecivreSfOtnioP.seciveD.swodniW
retnirPpilSdemialC.ecivreSfOtnioP.seciveD.swodniW
retnirPpilSdemialCI.ecivreSfOtnioP.seciveD.swodniW
retnirPsoPdemialC.ecivreSfOtnioP.seciveD.swodniW
retnirPsoPdemialCI.ecivreSfOtnioP.seciveD.swodniW
retnirPsoP.ecivreSfOtnioP.seciveD.swodniW
retnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
retnirPtpieceRdemialC.ecivreSfOtnioP.seciveD.swodniW
retnirPtpieceRdemialCI.ecivreSfOtnioP.seciveD.swodniW
retnuoCegnahCoipGI.oipG.seciveD.swodniW
retnuoCegnahCoipG.oipG.seciveD.swodniW
retnuoCelttorhTksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
retpadAdeganaMecruoSeliTgA.slortnoC.spaM.enohP.tfosorciM
retpadAdeganaMlortnoCpaMgA.slortnoC.spaM.enohP.tfosorciM
retpadAdeganaMredniFgA.secivreS.spaM.enohP.tfosorciM
retpadAdeganaMretuoRgA.secivreS.spaM.enohP.tfosorciM
retpadAenilyloPpaM.slortnoC.spaM.enohP.tfosorciM
retpadAetuoRpaM.slortnoC.spaM.enohP.tfosorciM
retpadAhtooteulB.htooteulB.seciveD.swodniW
retpadAhtooteulBI.htooteulB.seciveD.swodniW
retpadAiFiW.iFiW.seciveD.swodniW
retpadAiFiWI.iFiW.seciveD.swodniW
retpadAkrowteNI.ytivitcennoC.gnikrowteN.swodniW
retpadAkrowteN.ytivitcennoC.gnikrowteN.swodniW
retpadAledoMyalrevOpaMgA.slortnoC.spaM.enohP.tfosorciM
retpadAnogyloPpaM.slortnoC.spaM.enohP.tfosorciM
retpadAscihparG.scihparG.krowemarF.anX.tfosorciM
retpadAtcejbOpaM.slortnoC.spaM.enohP.tfosorciM
retpadAyalpsiD.eroC.yalpsiD.seciveD.swodniW
retpadAyalpsiDI.eroC.yalpsiD.seciveD.swodniW
retrevnoCdnuorgeroFmetItsiLpmuJI.sevitimirP.slortnoC.lmaX.IU.swodniW
retrevnoCdnuorgeroFmetItsiLpmuJ.sevitimirP.slortnoC.lmaX.IU.swodniW
retrevnoCdnuorgeroFmetItsiLpmuJ.slortnoC.enohP.tfosorciM
retrevnoCdnuorgkcaBmetItsiLpmuJI.sevitimirP.slortnoC.lmaX.IU.swodniW
retrevnoCdnuorgkcaBmetItsiLpmuJ.sevitimirP.slortnoC.lmaX.IU.swodniW
retrevnoCdnuorgkcaBmetItsiLpmuJ.slortnoC.enohP.tfosorciM
retrevnoCecruoseRoTgnirtS.llehS.enohP.tfosorciM
retrevnoCelgnatceRnoitacoL.slortnoC.spaM.enohP.tfosorciM
retrevnoCepyTdelahsraM.slortnoC.spaM.enohP.tfosorciM
retrevnoCepyTsecivreSpaMdelahsraM.secivreS.spaM.enohP.tfosorciM
retrevnoCerotSlacoLoTirU.llehS.enohP.tfosorciM
retrevnoCetanidrooCoeG.slortnoC.spaM.enohP.tfosorciM
retrevnoCeulaVI.ataD.lmaX.IU.swodniW
retrevnoCnoitcelloCetanidrooCoeG.slortnoC.spaM.enohP.tfosorciM
retrevnoCroloC.llehS.enohP.tfosorciM
retrevnoCtnioPpaM.slortnoC.spaM.enohP.tfosorciM
retrevnoCtnuoC.llehS.enohP.tfosorciM
RetrieveGuidsFromPackageURLWd
retrieveinstructionspage.cpp
Retrieve only the bytes within RANGE
Retrieving dynamically assigned port and storing it in Windows Registry
retropeRytivitcA.TRniW.derahS.gnisitrevdA.tfosorciM
retropxErohcnAlaitapSI.laitapS.noitpecreP.swodniW
retropxErohcnAlaitapS.laitapS.noitpecreP.swodniW
Retry-After:
    --retry-all-errors
retry-all-errors
Retry all errors (use with --retry)
    --retry-connrefused
retry-connrefused
RetryCount
retry-delay
RetryEvent
(retrying all errors)
retry-max-time
Retry on connection refused (use with --retry)
Retry only within this period
Retry request if transient problems occur
retsaCwodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
retsaCwodahSdetcejorPnoitisopmoC.noitisopmoC.IU.swodniW
retsisrePmaertSesaB.llehS.enohP.tfosorciM
retsisrePmaertS.llehS.enohP.tfosorciM
rettamroFellimreP.gnittamroFrebmuN.noitazilabolG.swodniW
rettamroFemiTetaD.gnittamroFemiTetaD.noitazilabolG.swodniW
rettamroFemiTetaDI.gnittamroFemiTetaD.noitazilabolG.swodniW
rettamroFlamiceD.gnittamroFrebmuN.noitazilabolG.swodniW
rettamroFrebmuNenohP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
rettamroFrebmuNenohPI.gnittamroFrebmuNenohP.noitazilabolG.swodniW
rettamroFrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
rettamroFtnecreP.gnittamroFrebmuN.noitazilabolG.swodniW
rettamroFycnerruC.gnittamroFrebmuN.noitazilabolG.swodniW
rettamroFycnerruCI.gnittamroFrebmuN.noitazilabolG.swodniW
retteSI.lmaX.IU.swodniW
retteS.lmaX.IU.swodniW
rettimEedoNoiduAI.oiduA.aideM.swodniW
rettimEedoNoiduA.oiduA.aideM.swodniW
rettimEoiduA.oiduA.krowemarF.anX.tfosorciM
rettimsnarTtsacariMI.tsacariM.aideM.swodniW
rettimsnarTtsacariM.tsacariM.aideM.swodniW
retuoRSOM.secivreS.spaM.enohP.tfosorciM
returnCode
ReturnCode
Returned file info is invalid
Returned from ImpersonateLoggedOnUserUsingUMgr
Returned from ImpersonateLoggedOnUserUsingWTSAPI
Returned host is NULL
Returned PDU folder is NULL
Returned PDU task is NULL
Returned runtime enum is NULL
Returned task service is NULL
ReturnHr
  return (int)ret;
ReturnLength
ReturnNt
Returns connection group published stateWW(
Returns current client modeWWW5
Returns custom data stored in the connection group descriptorW
Returns list of applications in a packageW-
Returns list of connection groupsW.
Returns list of packages in a connection group(
Returns list of packagesWW3
Returns list of server policies stored by CSP 
Returns list of virtual applicationsWW
Returns Path to Dynamic User Configuration fileWWW 
Returns the display name and version of the packageWWW
Returns the display name of the package groupW)
Returns the list of asset intelligence3
Returns the list of asset intelligence in a packageWWW6
Returns the package size and the bytes loadedW9
Returns the path from which the package is being streamedW
Returns the priority of the package groupW
Returns whether the specified connection group is in useWWG
                                         Return Type and Size
Retype the value to confirm: 
RevertHpal2LpalMigration
RevertToSelf
revieceRoTyalPI.oTyalP.aideM.swodniW
revieceRoTyalP.oTyalP.aideM.swodniW
revieceRtsacariMI.tsacariM.aideM.swodniW
revieceRtsacariM.tsacariM.aideM.swodniW
revieceRwodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
revieceRwodahSdetcejorPnoitisopmoC.noitisopmoC.IU.swodniW
reviewerrorspage.cpp
_revision
revision
revloseRmaertSoTirUI.beW.swodniW
revloseRsepyTesaB.llehS.enohP.tfosorciM
revloseRsepyT.llehS.enohP.tfosorciM
revloseRtnetnoCydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
revloseRtnetnoCydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
...revoked.
RevokeDragDrop
RevokeScaleChangeNotifications
revresbOecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
revresbOecafruSlaitapS.secafruS.laitapS.noitpecreP.swodniW
revresbO.evitcaeR.enohP.tfosorciM
revresbOhseMdnaH.elpoeP.noitpecreP.swodniW
revresbOhseMdnaHI.elpoeP.noitpecreP.swodniW
revresbOnioJI.evitcaeR.enohP.tfosorciM
REVRESNA-
revreSPMPnoitcetorPaideMI.noitcetorP.aideM.swodniW
revreSPMPnoitcetorPaideM.noitcetorP.aideM.swodniW
revuenaMecnadiuG.ecnadiuG.spaM.secivreS.swodniW
revuenaMecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
revuenaMetuoRdelahsraM.secivreS.spaM.enohP.tfosorciM
revuenaMetuoRelcriCciffarT.secivreS.spaM.enohP.tfosorciM
revuenaMetuoRpaMI.spaM.secivreS.swodniW
revuenaMetuoRpaM.spaM.secivreS.swodniW
revuenaMetuoR.secivreS.spaM.enohP.tfosorciM
rewarDhsaCdemialC.ecivreSfOtnioP.seciveD.swodniW
rewarDhsaCdemialCI.ecivreSfOtnioP.seciveD.swodniW
rewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
rewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
reweiVllorcSI.slortnoC.lmaX.IU.swodniW
reweiVllorcS.slortnoC.lmaX.IU.swodniW
Rewind stream after send
rexednIecruoseRI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
rexednIecruoseR.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
rexednItnetnoC.hcraeS.egarotS.swodniW
rexednItnetnoCI.hcraeS.egarotS.swodniW
reyaLdauQcihpargoloH.cihpargoloH.scihparG.swodniW
reyaLdauQcihpargoloHI.cihpargoloH.scihparG.swodniW
reyaLdnuorgkcaBgninnaP.sevitimirP.slortnoC.enohP.tfosorciM
reyaLeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
reyaLeltiTgninnaP.sevitimirP.slortnoC.enohP.tfosorciM
reyaLgninnaP.sevitimirP.slortnoC.enohP.tfosorciM
reyaLnoitacilppAnoitagivaN.poretnI.ledoMksaT.enohP.tfosorciM
reyalPaideM.aideM.krowemarF.anX.tfosorciM
reyalPaideMdnuorgkcaB.kcabyalP.aideM.swodniW
reyalPaideMI.kcabyalP.aideM.swodniW
reyalPaideM.kcabyalP.aideM.swodniW
reyaLpaMI.spaM.slortnoC.lmaX.IU.swodniW
reyaLpaM.slortnoC.spaM.enohP.tfosorciM
reyaLpaM.spaM.slortnoC.lmaX.IU.swodniW
reyaLpaMtooR.slortnoC.spaM.enohP.tfosorciM
reyalPdnuoStnemelEI.lmaX.IU.swodniW
reyalPdnuoStnemelE.lmaX.IU.swodniW
reyalPoiduAdnuorgkcaB.oiduAdnuorgkcaB.enohP.tfosorciM
reyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
reyaLstnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
reyaLyalrevOaideM.gnitidE.aideM.swodniW
reyaLyalrevOaideMI.gnitidE.aideM.swodniW
rezilaireSedoNlmXI.moD.lmX.ataD.swodniW
rezilaireStcatnoC.ataDresU.enohP.tfosorciM
rezilaireStnemtnioppA.ataDresU.enohP.tfosorciM
rezilaireStnuoccA.ataDresU.enohP.tfosorciM
rezilaitinIretemaraPtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
rezilaitinIretemaraPtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
rezilausiVhserfeRI.slortnoC.lmaX.IU.swodniW
rezilausiVhserfeR.slortnoC.lmaX.IU.swodniW
rezinagrOtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
rezingoceRerutseGI.tupnI.IU.swodniW
rezingoceRerutseGlaitapSI.laitapS.tupnI.IU.swodniW
rezingoceRerutseGlaitapS.laitapS.tupnI.IU.swodniW
rezingoceRerutseG.tupnI.IU.swodniW
rezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
rezingoceRhceepS.noitingoceRhceepS.aideM.swodniW
rezingoceRknI.gniknI.tupnI.IU.swodniW
rezingoceRknII.gniknI.tupnI.IU.swodniW
rezinorhcnySknI.gniknI.tupnI.IU.swodniW
rezinorhcnySknII.gniknI.tupnI.IU.swodniW
rezisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
rezisehtnyShceepS.sisehtnyShceepS.aideM.swodniW
rezisehtnySidiM.idiM.seciveD.swodniW
rezisehtnySidiMI.idiM.seciveD.swodniW
rezylanAcitenohPesenapaJ.noitazilabolG.swodniW
rezylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
rezylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
R"F*:2F:H
rf_profile_cc
RFPROFILE_CONTROL			Has RF Profile Control
RFPROFILE_STATUS			Has RF Profile Status
rgCharactersWW
rGetPackagesW
rGetUserLogonTime
rG[:FyXN
RGMMYSB.scitnameS.redniBemitnuR.prahSC.tfosorciM
_rgwchSequenceTrace
ri9O vdH
ri9V vdH
riaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
riaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
riaPtniopdnE.gnikrowteN.swodniW
riaPtniopdnEI.gnikrowteN.swodniW
RICustomMatrixWWW
riga program.
			right: 50px;
ringsApplicable
ringsMatched
rInitiateDeviceChange
RipMessage
rllknnnoooccdnl_
RLNLL1---
rMCCS_INVALID_INDEXWW
rmD;C8sg
RmEndSession
RmGetList
rmo0'O4lw
RMP specified more than once
RmRegisterResources
RmStartSession
RNektet 
RNG Failure
RoActivateInstance
RoamingBootstrapAndSyncPayload1
RoamingBootstrapComplete
roaming_integration_manager.cpp
roaming_integration_manager.h
roaming_interface.cpp
RoamingSyncPayload2
robustBufferAccess
robustBufferAccess2
robustBufferAccessUpdateAfterBind
robustImageAccess
robustImageAccess2
robustStorageBufferAccessSizeAlignment
robustUniformBufferAccessSizeAlignment
RoCreatePropertySetSerializer
RoGetActivationFactory
RoGetAgileReference
RoGetBufferMarshaler
RoGetMatchingRestrictedErrorInfo
rohcnAlaitapSI.laitapS.noitpecreP.swodniW
rohcnAlaitapS.laitapS.noitpecreP.swodniW
RoInitialize
roivaheBdaeRehcaCpttH.sretliF.pttH.beW.swodniW
roivaheBdnammoCreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
roivaheBdnammoCreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
roivaheBegasUeikooCpttH.sretliF.pttH.beW.swodniW
roivaheBegdEerutxeTD3gnitnirP.D3gnitnirP.scihparG.swodniW
roivaheBeldIevitaN.llehS.enohP.tfosorciM
roivaheBesuaPerutpaCaideM.seciveD.aideM.swodniW
roivaheBetirWehcaCpttH.sretliF.pttH.beW.swodniW
roivaheBgnitpmorPkcolnUdraCtramS.sdraCtramS.seciveD.swodniW
roivaheBhcnuaLdraCtramS.sdraCtramS.seciveD.swodniW
roivaheBlliF.noitaminA.aideM.lmaX.IU.swodniW
roivaheBnoisilloCtnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
roivaheBnoisnapxEaitrenII.tupnI.lmaX.IU.swodniW
roivaheBnoisnapxEaitrenI.tupnI.lmaX.IU.swodniW
roivaheBnoitalsnarTaitrenII.tupnI.lmaX.IU.swodniW
roivaheBnoitalsnarTaitrenI.tupnI.lmaX.IU.swodniW
roivaheBnoitaretInoitaminA.noitisopmoC.IU.swodniW
roivaheBnoitatoRaitrenII.tupnI.lmaX.IU.swodniW
roivaheBnoitatoRaitrenI.tupnI.lmaX.IU.swodniW
roivaheBnoitavitcAledoMytilaeRdexiMeliT.neercStratS.IU.swodniW
roivaheBnoitelpmoCtceffEyarrApmaL.stceffE.sthgiL.seciveD.swodniW
roivaheBpotSnoitaminA.noitisopmoC.IU.swodniW
roivaheBrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
roivaheBsseccAtseuqeRyciloPnoitcetorP.ataDesirpretnE.ytiruceS.swodniW
roivaheBssergorPrellortnoCnoitaminA.noitisopmoC.IU.swodniW
roivaheBtaepeR.noitaminA.aideM.lmaX.IU.swodniW
roivaheBtiaWtneserPemarFcihpargoloH.cihpargoloH.scihparG.swodniW
roivaheByaleDnoitaminA.noitisopmoC.IU.swodniW
rojaMnmuloCrOwoR.noitamotuA.lmaX.IU.swodniW
_rolloverCount
_rolloverKb
roloC.IU.swodniW
roloC.krowemarF.anX.tfosorciM
roloCnoitisoPxetreV.scihparG.krowemarF.anX.tfosorciM
roloCnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
RoOriginateError
RoOriginateErrorW
RoOriginateLanguageException
|RootFolderWW
ROOT_INFO_LUID      luid;
Root node is NULL
RootPathCollection
RootPolicyBits
RoRegisterActivationFactories
RoReportFailedDelegate
RoRevokeActivationFactories
rorrEbeW.beW.swodniW
rorrEC.srorrE.redniBemitnuR.prahSC.tfosorciM
rorrEdeldnahnU.eroC.ledoMnoitacilppA.swodniW
rorrEdeldnahnUI.eroC.ledoMnoitacilppA.swodniW
rorrEdeldnahnUnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
rorrEdeziretemaraPC.srorrE.redniBemitnuR.prahSC.tfosorciM
rorrEecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
rorrEecruoSaideM.eroC.aideM.swodniW
rorrEecruoSaideMI.eroC.aideM.swodniW
rorrEelbarevocernUhparGoiduA.oiduA.aideM.swodniW
rorrEhsulF.scihparG.krowemarF.anX.tfosorciM
rorrEhtooteulB.htooteulB.seciveD.swodniW
rorrEkcarTatadateMdemiT.eroC.aideM.swodniW
rorrEkcarTatadateMdemiTI.eroC.aideM.swodniW
rorrEkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
rorrElaireS.noitacinummoClaireS.seciveD.swodniW
rorrElocotorPttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
rorrEmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
rorrEmetIkcabyalPaideM.kcabyalP.aideM.swodniW
rorrEnoitacidnyS.noitacidnyS.beW.swodniW
rorrEnoitcennoCoTyalP.oTyalP.aideM.swodniW
rorrEnosJ.nosJ.ataD.swodniW
rorrEredivorPbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
rorrEredivorPbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
rorrE.redniBemitnuR.prahSC.tfosorciM
rorrErefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
rorrErehctaWmetsySetomeR.smetsySetomeR.metsyS.swodniW
rorrEreyalPaideM.kcabyalP.aideM.swodniW
RORRESSECCA.scitnameS.redniBemitnuR.prahSC.tfosorciM
rorrEtceriDiFiW.tceriDiFiW.seciveD.swodniW
rorrEtekcoSbeW.stekcoS.gnikrowteN.swodniW
rorrEtekcoS.stekcoS.gnikrowteN.swodniW
roseccAredivorPsecivreSremaG.secivreSremaG.krowemarF.anX.tfosorciM
rosneSelgnAegniHI.srosneS.seciveD.swodniW
rosneSelgnAegniH.srosneS.seciveD.swodniW
rosneSgnitarbilaCI.srosneS.seciveD.tfosorciM
rosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
rosneSmotsuC.motsuC.srosneS.seciveD.swodniW
rosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
rosneSnoitatneirOelpmiS.srosneS.seciveD.swodniW
rosneSnoitatneirOI.srosneS.seciveD.swodniW
rosneSnoitatneirO.srosneS.seciveD.swodniW
rosneSthgiLI.srosneS.seciveD.swodniW
rosneSthgiL.srosneS.seciveD.swodniW
rosneSytimixorPI.srosneS.seciveD.swodniW
rosneSytimixorP.srosneS.seciveD.swodniW
rosneSytivitcAI.srosneS.seciveD.swodniW
rosneSytivitcA.srosneS.seciveD.swodniW
rosneTI.gninraeLenihcaM.IA.swodniW
rosruCeroC.eroC.IU.swodniW
rosruCeroCI.eroC.IU.swodniW
rosruCyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
rosruCyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
rossecorPtlsXI.lsX.lmX.ataD.swodniW
rossecorPtlsX.lsX.lmX.ataD.swodniW
rosserpmoceDI.noisserpmoC.egarotS.swodniW
rosserpmoceD.noisserpmoC.egarotS.swodniW
rosserpmoCI.noisserpmoC.egarotS.swodniW
rosserpmoC.noisserpmoC.egarotS.swodniW
rotacidnIssergorP.llehS.enohP.tfosorciM
rotacitnehtuAdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
rotacitnehtuAdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
rotacitnehtuAmetsySdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
rotacollAemarFoediVnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
rotacollAemarFoediVnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
rotacoLlaitapSI.laitapS.noitpecreP.swodniW
rotacoLlaitapS.laitapS.noitpecreP.swodniW
rotacoloeGI.noitacoloeG.seciveD.swodniW
rotacoloeG.noitacoloeG.seciveD.swodniW
rotadilaVtnemelExetreV.scihparG.krowemarF.anX.tfosorciM
rotagivaNecnadiuG.ecnadiuG.spaM.secivreS.swodniW
rotagivaNecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
rotaideMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
rotaideMtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
rotaitinItseuqeRcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
rotalsnarTmetsySlaremuN.gnittamroFrebmuN.noitazilabolG.swodniW
rotalsnarTmetsySlaremuNI.gnittamroFrebmuN.noitazilabolG.swodniW
rotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
rotalumEdraCtramS.sdraCtramS.seciveD.swodniW
rotalumiSppAtnerruC.erotS.ledoMnoitacilppA.swodniW
rotalumiSppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
rotaminAmrofsnarT.slortnoC.enohP.tfosorciM
rotaminAyticapO.slortnoC.enohP.tfosorciM
rotanidrooCllaCpioVI.sllaC.ledoMnoitacilppA.swodniW
rotanidrooCllaCpioV.sllaC.ledoMnoitacilppA.swodniW
rotarapeSdnammoCIU.spupoP.IU.swodniW
rotarapeSmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
rotarapeSmetIweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
rotarapeSraBppAI.slortnoC.lmaX.IU.swodniW
rotarapeSraBppA.slortnoC.lmaX.IU.swodniW
rotarapeStuoylFuneMI.slortnoC.lmaX.IU.swodniW
rotarapeStuoylFuneM.slortnoC.lmaX.IU.swodniW
rotareleccAdraobyeKI.tupnI.lmaX.IU.swodniW
rotareleccAdraobyeK.tupnI.lmaX.IU.swodniW
rotaremunEeliTllehS.llehS.enohP.tfosorciM
rotaremunEerneG.aideM.krowemarF.anX.tfosorciM
rotaremunEerutciP.aideM.krowemarF.anX.tfosorciM
rotaremunEmublA.aideM.krowemarF.anX.tfosorciM
rotaremunEmublAerutciP.aideM.krowemarF.anX.tfosorciM
rotaremunEofnIeliTMPI.llehS.enohP.tfosorciM
rotaremunEtsilyalP.aideM.krowemarF.anX.tfosorciM
rotaremunEtsitrA.aideM.krowemarF.anX.tfosorciM
rotaremunEyrarbiLgnoS.aideM.krowemarF.anX.tfosorciM
rotareneGataDATIydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
rotareneGataDATIydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
rotareneGemaN.scitnameS.redniBemitnuR.prahSC.tfosorciM
rotareneGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
rotareneGmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
rotareneGnoisrevnoCesreveRtxeTI.txeT.ataD.swodniW
rotareneGnoisrevnoCesreveRtxeT.txeT.ataD.swodniW
rotareneGnoisrevnoCtxeTI.txeT.ataD.swodniW
rotareneGnoisrevnoCtxeT.txeT.ataD.swodniW
rotareneGnoitacidnySI.noitacidnyS.beW.swodniW
rotareneGnoitacidnyS.noitacidnyS.beW.swodniW
rotareneGnoitciderPtxeTI.txeT.ataD.swodniW
rotareneGnoitciderPtxeT.txeT.ataD.swodniW
rotareneGreniatnoCmetII.slortnoC.lmaX.IU.swodniW
rotareneGreniatnoCmetI.slortnoC.lmaX.IU.swodniW
rotaretIelbadniBI.poretnI.lmaX.IU.swodniW
rotaretIesneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
rotaretIniamoDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
rotaretInoisserpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
rotaretIpaMecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
rotaretIpotSeruceSydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
rotaretIweiVpaMpaMecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
rotavitcAtnegAdnuorgkcaB.enohP.tfosorciM
rotavitcAtnegAdnuorgkcaBI.enohP.tfosorciM
rotcartorPretneserPknI.gniknI.tupnI.IU.swodniW
rotcartorPretneserPknII.gniknI.tupnI.IU.swodniW
rotcartxEtiB.smaertSyratnemelE.aideM.enohP.tfosorciM
rotcejnItupnII.noitcejnI.weiverP.tupnI.IU.swodniW
rotcejnItupnI.noitcejnI.weiverP.tupnI.IU.swodniW
rotceleSedoNlmXI.moD.lmX.ataD.swodniW
rotceleSelytSI.slortnoC.lmaX.IU.swodniW
rotceleSelytSpuorGI.slortnoC.lmaX.IU.swodniW
rotceleSelytSpuorG.slortnoC.lmaX.IU.swodniW
rotceleSelytS.slortnoC.lmaX.IU.swodniW
rotceleSetalpmeTataDI.slortnoC.lmaX.IU.swodniW
rotceleSetalpmeTataD.slortnoC.lmaX.IU.swodniW
rotceleSgnipooLI.sevitimirP.slortnoC.lmaX.IU.swodniW
rotceleSgnipooL.sevitimirP.slortnoC.lmaX.IU.swodniW
rotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
rotceleSnoitpOtpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
rotceleSnoitpOtpmorPmotsuCnpV.npV.gnikrowteN.swodniW
rotceleS.sevitimirP.slortnoC.lmaX.IU.swodniW
rotceleStsiLgnoL.slortnoC.enohP.tfosorciM
rotceleSyrogetaCscitsitatSyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
rotceleSyrogetaCscitsitatSyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
rotcelloCyrtemeleTecnadiuG.ecnadiuG.spaM.secivreS.swodniW
rotcelloCyrtemeleTecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
rotcennoCtnenopmoCI.pukraM.lmaX.IU.swodniW
rotcerideRretnioPeroCI.eroC.IU.swodniW
rotceteDecaFI.sisylanAecaF.aideM.swodniW
rotceteDecaF.sisylanAecaF.aideM.swodniW
rotceVdekcaPI.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
rotceVelbadniBI.poretnI.lmaX.IU.swodniW
rotceVelbavresbOelbadniBI.poretnI.lmaX.IU.swodniW
rotceVnoisnetxEeliF.srekciP.egarotS.swodniW
rotceVyrtnEtroS.hcraeS.egarotS.swodniW
rotinoMecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
rotinoMecnefoeGI.gnicnefoeG.noitacoloeG.seciveD.swodniW
rotinoMetatSoiduAI.oiduA.aideM.swodniW
rotinoMetatSoiduA.oiduA.aideM.swodniW
rotinoMgnitsacdaorBppA.gnitsacdaorBppA.aideM.swodniW
rotinoMgnitsacdaorBppAI.gnitsacdaorBppA.aideM.swodniW
rotinoMnoitatneserPemarFcihpargoloH.cihpargoloH.scihparG.swodniW
rotinoMnoitatneserPemarFcihpargoloHI.cihpargoloH.scihparG.swodniW
rotinoMtisivoeGI.noitacoloeG.seciveD.swodniW
rotinoMtisivoeG.noitacoloeG.seciveD.swodniW
rotinoMtnuoccAbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
rotinoMtnuoccAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
rotinoMyalpsiDI.yalpsiD.seciveD.swodniW
rotinoMyalpsiD.yalpsiD.seciveD.swodniW
rotisopmoCI.noitisopmoC.IU.swodniW
rotisopmoC.noitisopmoC.IU.swodniW
rotisopmoCoediVI.stceffE.aideM.swodniW
rotoMkcabdeeFecroFI.kcabdeeFecroF.tupnI.gnimaG.swodniW
rotoMkcabdeeFecroF.kcabdeeFecroF.tupnI.gnimaG.swodniW
rotpecretnIyrevileDdraobyeKI.tupnI.IU.swodniW
rotpecretnIyrevileDdraobyeK.tupnI.IU.swodniW
rotpircseDbsU.bsU.seciveD.swodniW
rotpircseDbsUI.bsU.seciveD.swodniW
rotpircseDecafretnIbsU.bsU.seciveD.swodniW
rotpircseDecafretnIbsUI.bsU.seciveD.swodniW
rotpircseDeciveDbsU.bsU.seciveD.swodniW
rotpircseDeciveDbsUI.bsU.seciveD.swodniW
rotpircseDerutaeFecneuqeS.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFecneuqeSI.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFegamI.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFegamII.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFledoMgninraeLI.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFpaM.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFpaMI.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFrosneT.gninraeLenihcaM.IA.swodniW
rotpircseDerutaeFrosneTI.gninraeLenihcaM.IA.swodniW
rotpircseDhcteFesneciLDNI.ydaeRyalP.noitcetorP.aideM.swodniW
rotpircseDhcteFesneciLDN.ydaeRyalP.noitcetorP.aideM.swodniW
rotpircseDlacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
rotpircseDlacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
rotpircseDmaertSaideMI.eroC.aideM.swodniW
rotpircseDmaertSatadateMdemiT.eroC.aideM.swodniW
rotpircseDmaertSatadateMdemiTI.eroC.aideM.swodniW
rotpircseDmaertSoediV.eroC.aideM.swodniW
rotpircseDmaertSoediVI.eroC.aideM.swodniW
rotpircseDmaertSoiduA.eroC.aideM.swodniW
rotpircseDmaertSoiduAI.eroC.aideM.swodniW
rotpircseDnoitarugifnoCbsU.bsU.seciveD.swodniW
rotpircseDnoitarugifnoCbsUI.bsU.seciveD.swodniW
rotpircseDtniopdnEbsU.bsU.seciveD.swodniW
rotpircseDtniopdnEbsUI.bsU.seciveD.swodniW
rotpircseDtniopdnEnIkluBbsU.bsU.seciveD.swodniW
rotpircseDtniopdnEnIkluBbsUI.bsU.seciveD.swodniW
rotpircseDtniopdnEnItpurretnIbsU.bsU.seciveD.swodniW
rotpircseDtniopdnEnItpurretnIbsUI.bsU.seciveD.swodniW
rotpircseDtniopdnEtuOkluBbsU.bsU.seciveD.swodniW
rotpircseDtniopdnEtuOkluBbsUI.bsU.seciveD.swodniW
rotpircseDtniopdnEtuOtpurretnIbsU.bsU.seciveD.swodniW
rotpircseDtniopdnEtuOtpurretnIbsUI.bsU.seciveD.swodniW
rotpircseDttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
rotpircseDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
RoTransformError
roundingModeIndependence
RoUninitialize
RoutedEventArgs
RoutedEventHandler
                                        routed to a file.*
rout_ExistsWWd
RowDefinitions
RpcAcaProxy
RpcAsyncCancelCall
RpcAsyncCompleteCall
RpcAsyncInitializeHandle
RpcBindingBind
RpcBindingCreateW
RpcBindingFree
RpcBindingFromStringBindingW
RpcBindingInqAuthClientW
RpcBindingSetAuthInfoExW
RpcBindingSetOption
RpcBindingVectorFree
rpccommon.h
RpcEpRegisterW
RpcEpResolveBinding
RpcEpUnregister
RpcExceptionFilter
RpcImpersonateClient
RpcIntelClientProxy
RpcIntelMultiPaProxy
rpcinterface_c.c
rpcinterface_h.h
RpcMgmtStopServerListening
RpcMgmtWaitServerListen
RpcObjectSetType
RpcRevertToSelf
RpcRevertToSelfEx
rpcrt4.dll
RPCRT4.dll
rpc_sec_test_c.c
rpc_sec_test.h
_rpcServer
RpcServer.dll
RpcServerInqBindings
RpcServerListen
RpcServerRegisterAuthInfoW
RpcServerRegisterIf2
RpcServerRegisterIf3
RpcServerRegisterIfEx
RpcServerUnregisterIf
RpcServerUnregisterIfEx
RpcServerUseProtseqEpW
RpcServerUseProtseqIfW
RpcServerWrapper
rpc_shell_notify_task.cpp
rpc_shell_notify_task.h
rpc_shell_notify_task.hpp
RpcSsDestroyClientContext
RpcStatus
RPC_STATUS_ERROR
RPC_STATUS_SERVER_NOT_INITIALIZED
RPC_STATUS_SUCCESS
RpcStringBindingComposeW
RpcStringFreeA
RpcStringFreeW
rpcutils.h
rp];##"h
rpnB86uYYIHH
rppPoliciesWW
RPPR5NRRP4RRRRRRRRRPNT
rpprrrrponB
rpvk error
RPXELACOLDETSIOHRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
RPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
rqE;C8skA
RRddooooooddBB
rrE;r8slA
RRONL11-
rrrrrrrpoo
rsa_construction_fips186_3
rsa_decryption
rsa_destruction
rsa_encryption
rsaEncryption
rsa_export
rsa_export_sizes
rsa_fips186_3_B36_construction_param_init
RSA Public Key
RSASSA-PSS
RSD PTR H9
RSDS4]C'
RSDSXGEk
rShortNameWWW(
rsignaturen er forskellig.
rsignatur er forskjellig.
rsodinterface.cpp
rsod_process_runtime.cpp
rsod_process_runtime.h
rsod_runtime.cpp
rsod_runtime.h
rsod_subsystem_module.cpp
rsod_subsystem_module.h
RSOP_AdministrativeTemplateFile
RSOP_ApplicationManagementCategory
RSOP_ApplicationManagementPolicySetting
RSOP_AuditPolicy
RSOP_AuditPolicyBlocked
RSOP_CentralAccessPolicySetting
RSOP_ExtensionEventSource
RSOP_ExtensionEventSourceLink
RSOP_ExtensionStatus
RSOP_File
RSOP_FileBlocked
RSOP_FolderRedirectionPolicySetting
RSOP_GlobalSaclSetting
RSOP_GPLink
RSOP_GPO
RSOP_IEAdministrativeTemplateFile
RSOP_IEAKPolicySetting
RSOP_IEAuthenticodeCertificate
RSOP_IEConnectionDialUpCredentials
RSOP_IEConnectionDialUpCredentialsLink
RSOP_IEConnectionDialUpSettings
RSOP_IEConnectionDialUpSettingsLink
RSOP_IEConnectionSettings
RSOP_IEConnectionSettingsLink
RSOP_IEConnectionWinINetSettings
RSOP_IEConnectionWinINetSettingsLink
RSOP_IEEE80211GroupPolicySetting
RSOP_IEEE80211PolicySetting
RSOP_IEEE8023GroupPolicySetting
RSOP_IEESC
RSOP_IEESCPrivacySettings
RSOP_IEESCSecurityZoneSettings
RSOP_IEFavoriteItem
RSOP_IEFavoriteItemLink
RSOP_IEFavoriteOrLinkItem
RSOP_IEImportedProgramSettings
RSOP_IELinkItem
RSOP_IELinkItemLink
RSOP_IEPrivacySettings
RSOP_IEProgramSettings
RSOP_IEProxySettings
RSOP_IERegistryPolicySetting
RSOP_IESecurityContentRatings
RSOP_IESecurityZoneSettings
RSOP_IEToolbarButton
RSOP_IEToolbarButtonLink
RSOP_IPSECPolicySetting
RSOP_PolicySetting
RSOP_PolicySettingBlocked
RSoP_PolicySettingLink
RSoP_PolicySettingStatus
RSOP_PolmkrApplicationSetting
RSOP_PolmkrDataSourceSetting
RSOP_PolmkrDeviceSetting
RSOP_PolmkrDialupOptionSetting
RSOP_PolmkrDriveSetting
RSOP_PolmkrEnvironmentSetting
RSOP_PolmkrFileSetting
RSOP_PolmkrFileTypesSetting
RSOP_PolmkrFolderOptionSetting
RSOP_PolmkrFolderOptionSettingVista
RSOP_PolmkrFolderOptionsSetting
RSOP_PolmkrFolderSetting
RSOP_PolmkrIE7Setting
RSOP_PolmkrImmediateTaskSetting
RSOP_PolmkrImmediateTaskV2Setting
RSOP_PolmkrIniFileSetting
RSOP_PolmkrInternetSetting
RSOP_PolmkrLocalGroupsSetting
RSOP_PolmkrLocalPrinterSetting
RSOP_PolmkrLocalUsersAndGroupsSetting
RSOP_PolmkrLocalUsersSetting
RSOP_PolmkrNetShareSetting
RSOP_PolmkrNetworkOptionSetting
RSOP_PolmkrNtServiceSetting
RSOP_PolmkrOpenWithSetting
RSOP_PolmkrPortPrinterSetting
RSOP_PolmkrPowerOptionsSetting
RSOP_PolmkrPowerOptionsV2Setting
RSOP_PolmkrPowerSchemeSetting
RSOP_PolmkrPowerSetting
RSOP_PolmkrPrinterSetting
RSOP_PolmkrProfileSetting
RSOP_PolmkrProSetting
RSOP_PolmkrRegionOptionSetting
RSOP_PolmkrRegistrySetting
RSOP_PolmkrSchedTaskSetting
RSOP_PolmkrSchedTaskV2Setting
RSOP_PolmkrServerSetting
RSOP_PolmkrSetting
RSOP_PolmkrSharedPrinterSetting
RSOP_PolmkrShortcutSetting
RSOP_PolmkrStartMenuSetting
RSOP_PolmkrStartMenuSettingVista
RSOP_PolmkrTaskSetting
RSOP_PushPrinterConnectionsPolicySetting
RSOP_RegistryKey
RSOP_RegistryKeyBlocked
RSOP_RegistryPolicySetting
RSOP_RegistryPolicySettingBlocked
RSOP_RegistryValue
RSOP_RegistryValueBlocked
RSOP_RestrictedGroup
RSOP_RestrictedGroupBlocked
RSOP_RestrictedGroupEx
RSOP_RestrictedGroupExBlocked
RSOP_ScriptCmd
RSOP_ScriptPolicySetting
RSOP_SecurityEventLogSettingBoolean
RSOP_SecurityEventLogSettingBooleanBlocked
RSOP_SecurityEventLogSettingNumeric
RSOP_SecurityEventLogSettingNumericBlocked
RSOP_SecuritySettingBoolean
RSOP_SecuritySettingBooleanBlocked
RSOP_SecuritySettingNumeric
RSOP_SecuritySettingNumericBlocked
RSOP_SecuritySettings
RSOP_SecuritySettingsBlocked
RSOP_SecuritySettingString
RSOP_SecuritySettingStringBlocked
RSOP_Session
RSOP_SOM
RSOP_SubcategorySystemAuditSetting
RSOP_SystemService
RSOP_SystemServiceBlocked
RSOP_UserPrivilegeRight
RSOP_UserPrivilegeRightBlocked
rsrc_app_start_app_in_active_user_session
rsrc_app_start_app_in_current_session
rsrc_app_start_persistent_app
rsrc_app_start_tool_as_user
RS.redniBemitnuR.prahSC.tfosorciM
rssignaturen 
RS.srorrE.redniBemitnuR.prahSC.tfosorciM
rstp_part
RstrtMgr.DLL
rt af malware.
RT_CONST
RT_CONST0
@RT_DATA
__RTDynamicCast
rTI;J(wNA
RtlAcquirePrivilege
RtlAcquireSRWLockExclusive
RtlAcquireSRWLockShared
RtlAddAccessAllowedAce
RtlAddAccessAllowedAceEx
RtlAddAce
RtlAddFunctionTable
RtlAddProcessTrustLabelAce
RtlAdjustPrivilege
RtlAllocateAndInitializeSid
RtlAllocateHeap
RtlAllocateMemoryBlockLookaside
RtlAllocateMemoryZone
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreBitsClear
RtlAreBitsSet
RtlAreLongPathsEnabled
RtlArrayGet failed to get the next node
RtlAssert
RtlCaptureContext
RtlCaptureStackBackTrace
RtlCharToInteger
RtlCheckPortableOperatingSystem
RtlClearAllBits
RtlClearBits
RtlCompareMemory
RtlCompareUnicodeString
RtlCompareUnicodeStrings
RtlCompressBuffer
RtlComputeCrc32
RtlConvertSidToUnicodeString
RtlCopySid
RtlCopyUnicodeString
RtlCrc64
RtlCreateAcl
RtlCreateMemoryBlockLookaside
RtlCreateMemoryZone
RtlCreateSecurityDescriptor
RtlCreateSystemVolumeInformationFolder
RtlCreateUnicodeString
RtlCreateUnicodeStringFromAsciiz
RtlDecompressBufferEx
RtlDeleteCriticalSection
RtlDeleteElementGenericTable
RtlDeleteElementGenericTableAvl
RtlDeleteElementGenericTableAvlEx
RtlDeleteFunctionTable
RtlDeleteSecurityObject
RtlDeriveCapabilitySidsFromName
RtlDestroyMemoryBlockLookaside
RtlDestroyMemoryZone
RtlDisownModuleHeapAllocation
RtlDllShutdownInProgress
RtlDosPathNameToNtPathName_U
RtlDosPathNameToNtPathName_U_WithStatus
RtlDosPathNameToRelativeNtPathName_U
RtlDosPathNameToRelativeNtPathName_U_WithStatus
RtlDowncaseUnicodeString
RtlEnterCriticalSection
RtlEnumerateGenericTableAvl
RtlEnumerateGenericTableWithoutSplaying
RtlEnumerateGenericTableWithoutSplayingAvl
RtlEqualSid
RtlEqualString
RtlEqualUnicodeString
RtlExpandEnvironmentStrings_U
RtlExtendMemoryBlockLookaside
RtlFindAceByType
RtlFindClearBits
RtlFindExportedRoutineByName
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindMessage
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFlushNonVolatileMemory
RtlFormatCurrentUserKeyPath
RtlFormatMessage
RtlFreeAnsiString
RtlFreeHeap
RtlFreeMemoryBlockLookaside
RtlFreeSid
RtlFreeUnicodeString
RtlGetCompressionWorkSpaceSize
RtlGetDeviceFamilyInfoEnum
RtlGetLastNtStatus
RtlGetNativeSystemInformation
RtlGetNtProductType
RtlGetNtSystemRoot
RtlGetNtVersionNumbers
RtlGetPersistedStateLocation
RtlGetSuiteMask
RtlGetSystemBootStatus
RtlGetVersion
RtlGUIDFromString
RtlImageDirectoryEntryToData
RtlImageDirectoryEntryToData returned ExportDirectory that was too small
RtlImageNtHeader
RtlImpersonateSelf
RtlInitAnsiString
RtlInitAnsiStringEx
RtlInitializeBitMap
RtlInitializeBootFeatureConfigurations
RtlInitializeCriticalSection
RtlInitializeDelayedFeatureUsageReportBuffer
RtlInitializeGenericTable
RtlInitializeGenericTableAvl
RtlInitializeSid
RtlInitializeSRWLock
RtlInitString
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlInitUTF8StringEx
RtlInsertElementGenericTable
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFullAvl
RtlIntegerToUnicodeString
RtlIpv4AddressToStringW
RtlIpv6AddressToStringEx failed
RtlIpv6AddressToStringExW
RtlIpv6AddressToStringW
RtlIpv6StringToAddressW
RtlIsMultiSessionSku
RtlIsMultiUsersInSessionSku
RtlIsParentOfChildAppContainer
RtlIsStateSeparationEnabled
RtlLeaveCriticalSection
RtlLengthRequiredSid
RtlLengthSecurityDescriptor
RtlLengthSid
RtlLocalTimeToSystemTime
RtlLockMemoryZone
RtlLookupElementGenericTable
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFullAvl
RtlLookupFirstMatchingElementGenericTableAvl
RtlLookupFunctionEntry
RtlMultiByteToUnicodeN
RtlNewSecurityObject
RtlNormalizeProcessParams
RtlNotifyFeatureUsage
RtlNtPathNameToDosPathName
RtlNtStatusToDosError
RtlNtStatusToDosErrorNoTeb
RtlNumberGenericTableElementsAvl
RtlNumberOfSetBits
RtlOemToUnicodeN
RtlOsDeploymentState
RT_LostEvent
RtlPcToFileHeader
RtlpEnsureBufferSize
RtlPrefixUnicodeString
RtlPublishWnfStateData
RtlQueryFeatureConfiguration
RtlQueryFeatureConfigurationChangeStamp
RtlQueryInformationAcl
RtlQueryPackageClaims
RtlQueryRegistryValuesEx
RtlQueryWnfStateData
RtlRaiseStatus
RtlRandom
RtlRandomEx
RtlReAllocateHeap
RtlRegisterFeatureConfigurationChangeNotification
RtlReleaseRelativeName
RtlReleaseSRWLockExclusive
RtlReleaseSRWLockShared
RtlReportException
RtlRunOnceBeginInitialize
RtlRunOnceComplete
RtlRunOnceExecuteOnce
RtlSecureZeroMemory
RtlSetAllBits
RtlSetBit
RtlSetBits
RtlSetDaclSecurityDescriptor
RtlSetGroupSecurityDescriptor
RtlSetHeapInformation
RtlSetLastWin32ErrorAndNtStatusFromNtStatus
RtlSetOwnerSecurityDescriptor
RtlSetSaclSecurityDescriptor
RtlSetSystemBootStatus
RtlSetThreadErrorMode
RtlSetUnhandledExceptionFilter
RtlSizeHeap
RtlSizeOfDelayedFeatureUsageReportBuffer
RtlStringFromGUID
RtlSubAuthoritySid
RtlSubscribeWnfStateChangeNotification
RtlSystemTimeToLocalTime
RtlTimeFieldsToTime
RtlTimeToSecondsSince1970
RtlTimeToTimeFields
RtlTryEnterCriticalSection
RtlUnhandledExceptionFilter
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUnicodeToMultiByteN
RtlUnicodeToOemN
RtlUnlockMemoryZone
RtlUnregisterFeatureConfigurationChangeNotification
RtlUnsubscribeWnfNotificationWaitForCompletion
RtlUnwind
RtlUnwindEx
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUTF8StringToUnicodeString
RtlUTF8ToUnicodeN
RtlValidateDelayedFeatureUsageReportBuffer
RtlValidateFeatureConfigurationBuffer
RtlValidateFeatureUsageSubscriptionBuffer
RtlValidRelativeSecurityDescriptor
RtlValidSecurityDescriptor
RtlValidSid
 RtlVerifyVersionInfo
RtlVerifyVersionInfo
RtlVirtualUnwind
RtlWriteNonVolatileMemory
RtlWriteRegistryValue
RtlxAnsiStringToUnicodeSize
RTPCNUFRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
rtpudpsock.cpp
rtpudpsock.h
rtsp.cpp
RTSP CSeq mismatch or invalid CSeq
rtspdata.cpp
rtspdata.h
rtspproxyconfigtest.cpp
rtspproxyconfigtest.h
rtsprequest.cpp
rtsprequest.h
rtspresourcemanager.cpp
rtspresourcemanager.h
rtspservicemanager.cpp
rtspservicemanager.h
rtspserviceprovider.cpp
rtspserviceprovider.h
RTSP session error
rtspworkitems.cpp
rtspworkitems.h
RTTAFEDERP.scitnameS.redniBemitnuR.prahSC.tfosorciM
RTUTILS.DLL
ruleCount
ruleName
RuleSummaryBatched_v1
RuleSummaryData
RuleSummarySingle_v1
rum_tests.cpp
RunAsPrivilege
RunAsync
RunBeforePostStartTasks
Run_Command
RunDefragUI
RunGeneralTelemetry
RunImcCommandLine
runInBackground
RunInstallerAttribute
RunInUserCxtW
RunKsStream
runMaxDuration
RUNNER_NOT_FOUND
_runnerPath
RUNNING APPLICATIONS:
runningEnvironmentID
runningEnvironmentVersionWWW
Running Init for method: 
runningIsGroup
runningIsGroupWWL
Running JHI in console is only supported in debug or emulation mode.
runningVeId
runningVeVersion
RunSetupCommand
RunStream
RunSystemContextCensus
runtimecfgapplicator.cpp
runtimecfgapplicator.h
runtimecfgeditscriptpage.cpp
runtimecfgeditscriptpage.h
runtimecfginieditdialog.cpp
runtimecfgmanager.cpp
runtimecfgmanager.h
runtimecfgmultieditdialog.cpp
runtimecfgpage.cpp
runtimecfgregeditdialog.cpp
runtimecfgregeditdialog.h
runtimecfgsearch.cpp
runtimecfgsearchdialog.cpp
runtimecfgsearch.h
runtimecfgsearchresult.cpp
runtimecfgsearchresult.h
runtimecfgsearchtask.cpp
runtimecfgsearchtask.h
runtimecfgsearch_test.cpp
runtimecfgsubsystemeditdialog.cpp
runtimecfgutils.cpp
runtimecfgutils.h
runtimecfgwizpage.cpp
runtimecfgwizpage.h
runtimecfgxmleditdialog.cpp
runtimecfgxmleditdialog.h
RuntimeCompatibilityAttribute
RuntimeConfig
runtime_database.cpp
runtimeDescriptorArray
RuntimeEnvironment
runtime error 
Runtime Error!
RuntimeFieldHandle
RuntimeHelpers
Runtime info is NULL
runtime_manager.cpp
runtimeParams.audio_optimizer_config
runtimeParams.audio_optimizer_enable
runtimeParams.bass_enhancer_boost
runtimeParams.bass_enhancer_cutoff_frequency
runtimeParams.bass_enhancer_enable
runtimeParams.bass_enhancer_width
runtimeParams.bass_extraction_cutoff_frequency
runtimeParams.bass_extraction_enable
runtimeParams.calibration_boost
runtimeParams.de_amount
runtimeParams.de_ducking
runtimeParams.de_enable
runtimeParams.graphic_equalizer_config
runtimeParams.graphic_equalizer_enable
runtimeParams.ieq_amount
runtimeParams.ieq_bands
runtimeParams.ieq_enable
runtimeParams.mi2dialog_enhancer_steering_enable
runtimeParams.mi2dv_leveler_steering_enable
runtimeParams.mi2ieq_steering_enable
runtimeParams.mi2surround_compressor_steering_enable
runtimeParams.postgain
runtimeParams.pregain
runtimeParams.process_optimizer_enable
runtimeParams.regulator_enable
runtimeParams.regulator_overdrive
runtimeParams.regulator_relaxation_amount
runtimeParams.regulator_speaker_distortion_enable
runtimeParams.regulator_timbre_preservation
runtimeParams.regulator_tuning
runtimeParams.surround_boost
runtimeParams.surround_decoder_enable
runtimeParams.system_gain
runtimeParams.virtualizer_front_speaker_angle
runtimeParams.virtualizer_height_speaker_angle
runtimeParams.virtualizer_surround_speaker_angle
runtimeParams.volmax_boost
runtimeParams.volume_leveler_amount
runtimeParams.volume_leveler_enable
runtimeParams.volume_leveler_in_target
runtimeParams.volume_leveler_out_target
runtimeParams.volume_modeler_calibration
runtimeParams.volume_modeler_enable
RuntimeTypeHandle
RunUpdate
RunUserContextCensus
ruoivaheBkcabllaFyalPtsaF.aideM.lmaX.IU.swodniW
r	wcsncmp
rwx-tTsS
rYGetTvParametersW
'ryMML6|
rZ2(mZX.
S3D_FORMATWW
S3D_MODE_CAPS_STRUCT_EXW(#
s5IcGDL;
s5vvvXZZ
S7hAak*H
SadMap Size
safe_array_with_structs.hpp
safeArrayWWW
SafeFirstOrDefault
SafeGetDlgItemText
SafeGetWindowText
SafeHandle
SafeHandleZeroOrMinusOneIsInvalid
SaferCloseLevel
SaferComputeTokenFromLevel
SafeRemove
safeRemoveWWd
SaferIdentifyLevel
SaferRecordEventLogEntry
SaferWorker
SafeServiceHandle
SafeSetDlgItemTextNoBlink
SafeSetWindowLongPtr
SafeSetWindowTextNoBlink
SafeTokenHandle
SafeWhere
SafeWideCharToMultiByte
Salford1
SamAddMemGrp_End
SamAddMemGrp_Start
SamAddMemToAlias_End
SamAddMemToAlias_Start
SamChangePwdComputer_End
SamChangePwdComputer_Start
samcli.dll
SamCloseHandle_End
SamCloseHandle_Start
SamCompCreate_End
SamCompCreate_Start
SamCompPwdSet_End
SamCompPwdSet_Start
SamConnect_End
SamConnect_Start
SamCreateAliasInDom_End
SamCreateAliasInDom_Start
SamDeleteAlias_End
SamDeleteAlias_Start
SamDeleteGrp_End
SamDeleteGrp_Start
SamDeleteUser_End
SamDeleteUser_Start
SamDelMemGrp_End
SamDelMemGrp_Start
SamDesired
                                        same as the start command.
SamEnumAliasesInDom_End
SamEnumAliasesInDom_Start
SamEnumDomInSamSrv_End
SamEnumDomInSamSrv_Start
SamEnumGrpsInDom_End
SamEnumGrpsInDom_Start
SamEnumUsersInDom_End
SamEnumUsersInDom_Start
SameRetcode
SamGetAliasMem_End
SamGetAliasMem_Start
SamGetBootKeyInfo_End
SamGetBootKeyInfo_Start
SamGetDisplayEnumIdx_End
SamGetDisplayEnumIdx_Start
SamGetDomPwdInfo_End
SamGetDomPwdInfo_Start
SamGetGrpsForUser_End
SamGetGrpsForUser_Start
SamGetMemInAlias_End
SamGetMemInAlias_Start
SamGetMemInGrp_End
SamGetMemInGrp_Start
SamGetUserDomPwdInfo_End
SamGetUserDomPwdInfo_Start
SamGrpCreate_End
SamGrpCreate_Start
SamIdByName_End
SamIdByName_Start
SamLookupDomInSamSrv_End
SamLookupDomInSamSrv_Start
SamNameById_End
SamNameById_Start
SamOpenAlias_End
SamOpenAlias_Start
SamOpenDomain_End
SamOpenDomain_Start
SamOpenGrp_End
SamOpenGrp_Start
SamOpenUser_End
SamOpenUser_Start
SAMPLE_COUNT_16_BIT
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_32_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_64_BIT
SAMPLE_COUNT_8_BIT
sampledImageColorSampleCounts
sampledImageDepthSampleCounts
sampledImageIntegerSampleCounts
sampledImageStencilSampleCounts
SampledProfileInterval_V2
SampledProfileInterval_V3
SampledProfile_V1
sampleLocationCoordinateRange
sampleLocationSampleCounts
sampleLocationSubPixelBits
sample_monitor.cpp
sample_monitor.h
sample_period
samplePeriod
sample_process_monitor.cpp
sample_process_monitor.h
sample_process_runtime.cpp
sample_process_runtime.h
samplerAnisotropy
sampleRate
SampleRate
sampleRateShading
sample_registrator.cpp
sample_registrator.h
samplerFilterMinmax
samplerMipLodBias
samplerMirrorClampToEdge
sample_runtime.cpp
sample_runtime.h
samplerYcbcrConversion
sample_ve_wrapper.cpp
sample_ve_wrapper.h
sample_visualizer.cpp
sample_visualizer.h
SamProcessMappedAttributes_End
SamProcessMappedAttributes_Start
SamPwdChng_End
SamPwdChng_Start
SamPwdPushPdc_End
SamPwdPushPdc_Start
SamQueryDisplayInfo_End
SamQueryDisplayInfo_Start
SamQueryInfoAlias_End
SamQueryInfoAlias_Start
SamQueryInfoDom_End
SamQueryInfoDom_Start
SamQueryInfoGrp_End
SamQueryInfoGrp_Start
SamQueryInfoUser_End
SamQueryInfoUser_Start
SamQuerySecurityObj_End
SamQuerySecurityObj_Start
SamRemoveMemFromAlias_End
SamRemoveMemFromAlias_Start
SamRemoveMemFromForeignDom_End
SamRemoveMemFromForeignDom_Start
SamSetBootKeyInfo_End
SamSetBootKeyInfo_Start
SamSetInfoAlias_End
SamSetInfoAlias_Start
SamSetInfoDom_End
SamSetInfoDom_Start
SamSetInfoGrp_End
SamSetInfoGrp_Start
SamSetInfoUser_End
SamSetInfoUser_Start
SamSetMemAttrsOfGrp_End
SamSetMemAttrsOfGrp_Start
SamSetSecurityObj_End
SamSetSecurityObj_Start
SamShutdownSamSrv_End
SamShutdownSamSrv_Start
SamUserCreate_End
SamUserCreate_Start
SamUserPwdSet_End
SamUserPwdSet_Start
San Francisco1!0
Sanitize
Sanitize1
SanitizeArg
SanitizeFileName
SanitizePath
SanitizePath1
SanitizeString
Santa Clara1
SARRIVALW
sasl-authzid
    --sasl-ir
@SATAUAVAWH
SATAUAWH
@SATAVAWH
SaturationDefaultLevelWWp0
SATURATION_ERROR_CODESWW0
SATURATION_GET_FAILEDWWW0
SATURATION_INVALID_DISPLAY_IDWWW0
-SaturationMaximumWWWp0
SaturationStepWW
SATURATION_SUCCESSWW0
SaturationValueWp0
SaturationWWX
Saturday
@SAUAVAWH
SAUAVAWH
savagentrpcmock.cpp
savagentrpcmock.h
savagentunittest.cpp
savcfg_crypt.cpp
savcfg_crypt.h
savcfg_crypt_test.cpp
SaveAllChanges
SavedLegacySettings
savedState
savepackagepage.cpp
savepref.cpp
savepref.h
SavePreinstalledWoVMode
SaveRingMapFromOneSettingsToReg
SaveRingMapFromOneSettingsToReg failed.
SaveRingMapResult
SaveRingMapToReg
saverrors.h
SaveToFile
SAVING_SETTING_FILE_FAILED
savnaCI.slortnoC.lmaX.IU.swodniW
savnaCknII.slortnoC.lmaX.IU.swodniW
savnaCknI.slortnoC.lmaX.IU.swodniW
savnaCporetnIresworBbeW.slortnoC.enohP.tfosorciM
savnaC.slortnoC.lmaX.IU.swodniW
savpkg.cpp
savserv.cpp
savserv.h
savsetupactions.cpp
savsetupactions.h
savsetupca.cpp
savsetupconfig.cpp
savsetupconfig.h
saxfind.cpp
saxsearch.cpp
saxsearch.h
saxutils.cpp
saxutils.h
SbArePolicyOptionsSet
SbDoesActivePolicyGrantPermission
SbFreeFileData
SbGetKernelPolicyPackage
SbGetSizeOfKernelPolicyPackage
SbIsDebugPolicyActive
SbIsEnabled
SbIsEnabled2
SbIsPolicyActive
SbIsTestRootTrusted
SbIsTestSigningBlocked
SbLoadFile
sbreVnoitcAhcnuaLredivorPstnemtnioppA.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sbreVnoitcAhcnuaLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
SbValidateSkuUnlockToken
SC_ACTION
scActions
SC_ACTION_TYPE
scalarBlockLayout
ScaleViewportExtEx
ScaleWindowExtEx
ScalingW
ScanAborted
ScanAssembly
ScanTime
SCardAccessStartedEvent
SCardBeginTransaction
SCardConnectW
SCardDisconnect
SCardEndTransaction
SCardEstablishContext
SCardFreeMemory
SCardGetCardTypeProviderNameW
SCardGetStatusChangeW
SCardListCardsW
SCardListReadersW
SCardReleaseContext
SCardStatusW
sccmuriconfig.cpp
sccmuriconfigtest.cpp
SCECLI.dll
SceConfigureConvertedFileSecurity
ScenarioId
scenariosInManifest
Scenario start count does not match end count.
SCEPEnrollmentResult
SCEPError
SCEPGetInstallStatus
SCEPInfo
SCEPInstallCertificateWithScepHelper:AlternativeNameType is not valid
SCEPInstallCertificateWithScepHelper:Can't create enrollment request message without CA certificate thumbprint
SCEPInstallCertificateWithScepHelper:Can't create enrollment request message without subject name
SCEPInstallCertificateWithScepHelper:Can't create enrollment request message with zero key length
SCEPInstallCertificateWithScepHelper:Can't create enrollment request message with zero key usage
SCEPInstallCertificateWithScepHelper:Creating certificate request message...
SCEPInstallCertificateWithScepHelper:Empty NDES Url list
SCEPInstallCertificateWithScepHelper:Error creating X509SCEPEnrollmentHelper class
SCEPInstallCertificateWithScepHelper:No challenge provided! Depending on your SCEP server configuration enrollment may fail
SCEPInstallCertificateWithScepHelper:TPM is detected as NOT available. Continue using legacy CSP provider
SCEPInstallCertificateWithScepHelper:TPM is detected as NOT available while current KSP setting is NOT allowed to fallback
SCEPInstallCertificateWithScepHelper:Use legacy CSP provider
SCEPKeyProtection
SCEPLogDisposition:Got Failure from SCEP response message
SCEPLogDisposition:Got Pending from SCEP response message
SCEPLogDisposition:Got Success from SCEP response message
SCEPLogDisposition:Integrity check failed
SCEPLogDisposition:No certificate could be identified matching the provided criteria
SCEPLogDisposition:Processing certificate response message...
SCEPLogDisposition:The signingTime attribute from the PKCS#7 authenticatedAttributes was not sufficiently close to the system time
SCEPLogDisposition:Transaction not permitted or supported
SCEPLogInfo
SCEPLogWarn
SCEPOpenRegistryKey
SCEPSendOmaDmAlert
SCEPUniqueId
SCEPUrlCount
SCEPUtilsReadChallengeSuccessful
SCEPUtilsReplaceCertThumbprint
SCEPUtilsWriteRespondentServerURL
SCEPWarn
SCEPWriteErrorCodeAndStatus
_scHandle
schannel
Schannel
schannel: an unrecoverable error occurred in a prior call
schannel: CertFindExtension() returned no extension.
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_NOT_TIME_VALID
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_REVOKED
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_UNTRUSTED_ROOT
schannel: CertGetCertificateChain trust error CERT_TRUST_REVOCATION_STATUS_UNKNOWN
schannel: CertGetNameString() returned certificate name information of unexpected size
schannel: CertGetNameString() returned no certificate name information
schannel: CryptDecodeObjectEx() returned no alternate name information.
schannel: Curl_read_plain returned CURLE_RECV_ERROR
schannel: disabled automatic use of client certificate
schannel: Empty DNS name.
schannel: enabled automatic use of client certificate
schannel: enough decrypted data is already available
schannel: failed to retrieve ALPN result
schannel: failed to retrieve remote cert context
schannel: failed to setup confidentiality
schannel: failed to setup memory allocation
schannel: failed to setup replay detection
schannel: failed to setup sequence detection
schannel: failed to setup stream orientation
schannel: failed to store credential handle
schannel: Not enough memory to list all host names.
schannel: Null certificate context.
schannel: Null certificate info.
schannel: remote party requests renegotiation
schannel: renegotiation failed
schannel: server certificate name verification failed
schannel: server closed abruptly (missing close_notify)
schannel: server closed the connection
schannel: server indicated shutdown in a prior call
schannelsocket.cpp
schannelsocket.h
schannel: this version of Windows is too old to support certificate verification via CA bundle file.
schannel: TLS 1.3 is not yet supported
schannel: unable to allocate memory
schannel: unable to re-allocate memory
schedcli.dll
schedule
Schedule
scheduledtaskmanager.cpp
scheduledtaskmanager.h
scheduledtaskmgrtests.cpp
scheduledVolumes
SchedulerKind
SchedulingProtocol
Scheduling PTT Task ...
SchemaUsed
schemautils.cpp
schemautilstests.cpp
schemaVersion
SCHIPSET_FAMILY_TGL_MOBILEWWW
SCH_USE_STRONG_CRYPTO
scisnirtnIaremaCdetalerroChtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
scisnirtnIaremaCdetalerroChtpeDnoitpecreP.noitpecreP.seciveD.swodniW
scisnirtnIaremaC.eroC.seciveD.aideM.swodniW
scisnirtnIaremaCI.eroC.seciveD.aideM.swodniW
scitatS2eciveDsmSI.smS.seciveD.swodniW
scitatS2ppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
scitatS2reganaMegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
scitatSamaronaPedisteertSI.spaM.slortnoC.lmaX.IU.swodniW
scitatSatadateMytreporPI.lmaX.IU.swodniW
scitatSataDnoitacilppAI.egarotS.swodniW
scitatSbmuhTI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSbuHI.slortnoC.lmaX.IU.swodniW
scitatScitsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSD3ledoMpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSD3mrofsnarTetisopmoCI.D3aideM.aideM.lmaX.IU.swodniW
scitatSD3mrofsnarTevitcepsrePI.D3aideM.aideM.lmaX.IU.swodniW
scitatSD3tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSdapemaGI.tupnI.gnimaG.swodniW
scitatSdeeFegamIneercSkcoLI.eliforPresU.metsyS.swodniW
scitatSdIeciveDhtooteulBI.htooteulB.seciveD.swodniW
scitatSdIecivreSmmocfRI.mmocfR.htooteulB.seciveD.swodniW
scitatSdirGI.slortnoC.lmaX.IU.swodniW
scitatSdirGparWdeziSelbairaVI.slortnoC.lmaX.IU.swodniW
scitatSdirGparWI.slortnoC.lmaX.IU.swodniW
scitatSdirGparWsmetII.slortnoC.lmaX.IU.swodniW
scitatSdleiFtcatnoCnwonKI.stcatnoC.ledoMnoitacilppA.swodniW
scitatSdnammoCIUdradnatSI.tupnI.lmaX.IU.swodniW
scitatSdnammoCIUlmaXI.tupnI.lmaX.IU.swodniW
scitatSdnammoCsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
scitatSdniKemarFnoitpecrePnwonKI.redivorP.noitpecreP.seciveD.swodniW
scitatSdniKmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatSdohteMpttHI.pttH.beW.swodniW
scitatSdraoblliBpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSdraobyrotSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSdraobyrotSnigeBI.noitaminA.aideM.lmaX.IU.swodniW
scitatSecafruSegamIdedaoLI.aideM.lmaX.IU.swodniW
scitatSecapScihpargoloHI.cihpargoloH.scihparG.swodniW
scitatSeciveDaideMI.seciveD.aideM.swodniW
scitatSeciveDbsUI.bsU.seciveD.swodniW
scitatSeciveDc2II.c2I.seciveD.swodniW
scitatSeciveDD3tnirPI.sretnirP.seciveD.swodniW
scitatSeciveDdiHI.eciveDecafretnInamuH.seciveD.swodniW
scitatSeciveDecivreSI.elbatroP.seciveD.swodniW
scitatSeciveDegarotSI.elbatroP.seciveD.swodniW
scitatSeciveDELhtooteulBI.htooteulB.seciveD.swodniW
scitatSeciveDesuoMI.tupnI.seciveD.swodniW
scitatSeciveDfOssalChtooteulBI.htooteulB.seciveD.swodniW
scitatSeciveDgnitsaCI.gnitsaC.aideM.swodniW
scitatSeciveDhtooteulBI.htooteulB.seciveD.swodniW
scitatSeciveDipSI.ipS.seciveD.swodniW
scitatSeciveDlaiDI.locotorPlaiD.aideM.swodniW
scitatSeciveDlaireSI.noitacinummoClaireS.seciveD.swodniW
scitatSeciveDledoMgninraeLI.gninraeLenihcaM.IA.swodniW
scitatSeciveDmotsuCI.motsuC.seciveD.swodniW
scitatSeciveDnePI.tupnI.seciveD.swodniW
scitatSeciveDnoitarbiVI.scitpaH.seciveD.swodniW
scitatSeciveDretnioPI.tupnI.seciveD.swodniW
scitatSeciveDsmSI.smS.seciveD.swodniW
scitatSeciveDtceriDiFiWI.tceriDiFiW.seciveD.swodniW
scitatSeciveDtropsnarTeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSeciveDytimixorPI.ytimixorP.gnikrowteN.swodniW
scitatSecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
scitatSecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSecivreSnoitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSecivreSpaMI.spaM.secivreS.swodniW
scitatSecivreSpiTlooTI.slortnoC.lmaX.IU.swodniW
scitatSecivreSreganaMredivorPemarFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
scitatSecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
scitatSecnaraeppAELhtooteulBI.htooteulB.seciveD.swodniW
scitatSecnatsnIksaTdnuorgkcaBIUbeWI.IUbeW.IU.swodniW
scitatSecnatsnIppAI.ledoMnoitacilppA.swodniW
scitatSecnerefeRfOemarFegatSlaitapSI.laitapS.noitpecreP.swodniW
scitatSecnerefeRmaertSsseccAmodnaRI.smaertS.egarotS.swodniW
scitatSecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
scitatSecruoSaideMI.eroC.aideM.swodniW
scitatSecruoSegamIgvSI.gnigamI.aideM.lmaX.IU.swodniW
scitatSecruoSeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
scitatSecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
scitatSecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
scitatSecruoSetadpUekortSteWeroCI.eroC.gniknI.tupnI.IU.swodniW
scitatSecruoSmaertSesMI.eroC.aideM.swodniW
scitatSecruoSnocIhtaPI.slortnoC.lmaX.IU.swodniW
scitatSecruoSnocII.slortnoC.lmaX.IU.swodniW
scitatSecruoSnocIlobmySI.slortnoC.lmaX.IU.swodniW
scitatSecruoSnocIpamtiBI.slortnoC.lmaX.IU.swodniW
scitatSecruoSnocItnoFI.slortnoC.lmaX.IU.swodniW
scitatSecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSecruoSpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
scitatSecruoStropmIotohPI.tropmI.aideM.swodniW
scitatSecruoStupnItnednepednIknIeroCI.eroC.gniknI.tupnI.IU.swodniW
scitatSecruoStupnItnednepednIrellortnoClaidaRI.eroC.tupnI.IU.swodniW
scitatSecruoStxeTdemiTI.eroC.aideM.swodniW
scitatSecruoSweiVnoitcelloCI.ataD.lmaX.IU.swodniW
scitatSedirrevOssenthgirBI.yalpsiD.scihparG.swodniW
scitatSedirrevOtnemecnahnEyalpsiDI.yalpsiD.scihparG.swodniW
scitatSedoMngiseDI.ledoMnoitacilppA.swodniW
scitatSedoNenecSI.senecS.noitisopmoC.IU.swodniW
scitatSedoNweiVeerTI.slortnoC.lmaX.IU.swodniW
scitatSegakcaPFM3D3gnitnirPI.D3gnitnirP.scihparG.swodniW
scitatSegakcaPI.ledoMnoitacilppA.swodniW
scitatSegakcaPpaMenilffOI.spaMenilffO.spaM.secivreS.swodniW
scitatSegamII.slortnoC.lmaX.IU.swodniW
scitatSegamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
scitatSegaPI.slortnoC.lmaX.IU.swodniW
scitatSegasseMtxeTsmSI.smS.seciveD.swodniW
scitatSegaugnaLI.noitazilabolG.swodniW
scitatSelbuoDrosneTI.gninraeLenihcaM.IA.swodniW
scitatSelgnatceRI.sepahS.lmaX.IU.swodniW
scitatSeliFegarotSI.egarotS.swodniW
scitatSeliforPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
scitatSeliTyradnoceSI.neercStratS.IU.swodniW
scitatSelpmaSmaertSaideMI.eroC.aideM.swodniW
scitatSemaNtsoHI.gnikrowteN.swodniW
scitatSemarFI.slortnoC.lmaX.IU.swodniW
scitatSemarFoediVI.aideM.swodniW
scitatSemarFyeKelbuoDenilpSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKelbuoDgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKroloCenilpSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKroloCgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKroloCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKtcejbOI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKtnioPenilpSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKtnioPgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemarFyeKtnioPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSemuloVgnidnuoBlaitapSI.laitapS.noitpecreP.swodniW
scitatSenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
scitatSenaPsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
scitatSenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
scitatSenaPtupnII.tnemeganaMweiV.IU.swodniW
scitatSenecSpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSenignEcihpargotpyrCI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSenignErcOI.rcO.aideM.swodniW
scitatSenilemiTI.noitaminA.aideM.lmaX.IU.swodniW
scitatSeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSeniLI.sepahS.lmaX.IU.swodniW
scitatSenilyloPI.sepahS.lmaX.IU.swodniW
scitatSenilyloPpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSepacsEirUI.noitadnuoF.swodniW
scitatSepahSI.sepahS.lmaX.IU.swodniW
scitatSepahSrettimEedoNoiduAI.oiduA.aideM.swodniW
scitatSepytbuStamroFoiduAlaitapSI.oiduA.aideM.swodniW
scitatSerotSytitnElaitapSI.laitapS.noitpecreP.swodniW
scitatSerugiFhtaPI.aideM.lmaX.IU.swodniW
scitatSerutangiSdehcateDsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSerutangiSdehcattAsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSerutciPnosrePI.slortnoC.lmaX.IU.swodniW
scitatSerutpaCaideMI.erutpaC.aideM.swodniW
scitatSerutpaCppAI.erutpaC.aideM.swodniW
scitatSerutseGegdEI.tupnI.IU.swodniW
scitatSesaBegnaRI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSesaBhsurBnoitisopmoClmaXI.aideM.lmaX.IU.swodniW
scitatSesaBnoitcnuFgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesaBnottuBI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSesaBtuoylFrekciPI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
scitatSesaEcitsalEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesaEecnuoBI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesaEkcaBI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesaElaitnenopxEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesaErewoPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSesnopseRdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
scitatSesoPretnioPlaitapSI.laitapS.tupnI.IU.swodniW
scitatSesoPseyEI.elpoeP.noitpecreP.swodniW
scitatSetalpmeTriaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
scitatSetuoRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
scitatSeueuQrehctapsiDI.metsyS.swodniW
scitatSeulaVerutaeFegamII.gninraeLenihcaM.IA.swodniW
scitatSeulaVgnitseRaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSeulaVlanoitidnoCnoitisopmoCI.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSeulaVnosJI.nosJ.ataD.swodniW
scitatSeulaVredaeHatleDrOetaDpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHegnaRtnetnoCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHegnellahCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHepyTaideMpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHeulaVemaNpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHgnidoCrefsnarTpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHnoitatcepxEpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHnoitisopsiDtnetnoCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHnoitpOnoitcennoCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHofnItcudorPpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHriaPeikooCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHslaitnederCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHtcudorPpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHytilauQhtiWegnaRegaugnaLpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHytilauQhtiWepyTaideMpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVredaeHytilauQhtiWgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
scitatSeulaVytreporPI.noitadnuoF.swodniW
scitatSgniggoLtnevEI__.TRniW.derahS.gnisitrevdA.tfosorciM
scitatSgnikcolBllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSgnilacSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSgninoisivorPdraCtramSI.sdraCtramS.seciveD.swodniW
scitatSgniriaPnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
scitatSgniRssergorPI.slortnoC.lmaX.IU.swodniW
scitatSgnirtSrosneTI.gninraeLenihcaM.IA.swodniW
scitatSgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
scitatSgolataCecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
scitatSgolataCegakcaPI.ledoMnoitacilppA.swodniW
scitatSgolataCnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
scitatShctiwSelggoTI.slortnoC.lmaX.IU.swodniW
scitatShpargaraPI.stnemucoD.lmaX.IU.swodniW
scitatShparGoiduAI.oiduA.aideM.swodniW
scitatShseMenecSI.senecS.noitisopmoC.IU.swodniW
scitatShsurBcilyrcAI.aideM.lmaX.IU.swodniW
scitatShsurBegamII.aideM.lmaX.IU.swodniW
scitatShsurBeliTI.aideM.lmaX.IU.swodniW
scitatShsurBI.aideM.lmaX.IU.swodniW
scitatShsurBlaeveRI.aideM.lmaX.IU.swodniW
scitatShsurBroloCdiloSI.aideM.lmaX.IU.swodniW
scitatShsurBtneidarGI.aideM.lmaX.IU.swodniW
scitatShsurBtneidarGraeniLI.aideM.lmaX.IU.swodniW
scitatShsurBweiVbeWI.slortnoC.lmaX.IU.swodniW
scitatShtaPI.sepahS.lmaX.IU.swodniW
scitatSIUgnitsacdaorBppAI.gnitsacdaorBppA.aideM.swodniW
scitatSIUsnoitpOaremaCI.erutpaC.aideM.swodniW
scitatSkcarToiduAdnuorgkcaBI.gnitidE.aideM.swodniW
scitatSkcitSedacrAI.tupnI.gnimaG.swodniW
scitatSkcitSthgilFI.tupnI.gnimaG.swodniW
scitatSkcolBI.stnemucoD.lmaX.IU.swodniW
scitatSkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
scitatSkcolBtxeTI.slortnoC.lmaX.IU.swodniW
scitatSknilrepyHI.stnemucoD.lmaX.IU.swodniW
scitatSkniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
scitatSksaTputratSI.ledoMnoitacilppA.swodniW
scitatSlairetaMesaBD3gnitnirPI.D3gnitnirP.scihparG.swodniW
scitatSlairetaMssenhguoRcillateMenecSI.senecS.noitisopmoC.IU.swodniW
scitatSlausiVenecSI.senecS.noitisopmoC.IU.swodniW
scitatSlaweneRtnenopmoCI.noitcetorP.aideM.swodniW
scitatSledoMgninraeLI.gninraeLenihcaM.IA.swodniW
scitatSledoMyaceDrettimEedoNoiduAI.oiduA.aideM.swodniW
scitatSleehWgnicaRI.tupnI.gnimaG.swodniW
scitatSlenaPevitaleRI.slortnoC.lmaX.IU.swodniW
scitatSlenaPI.slortnoC.lmaX.IU.swodniW
scitatSlenaPkcatSgnizilautriVI.slortnoC.lmaX.IU.swodniW
scitatSlenaPkcatSI.slortnoC.lmaX.IU.swodniW
scitatSlenaPkcatSsmetII.slortnoC.lmaX.IU.swodniW
scitatSlenaPniahCpawSI.slortnoC.lmaX.IU.swodniW
scitatSlennahCnpVI.npV.gnikrowteN.swodniW
scitatSlennahCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
scitatSlloRaremaCsredloFnwonKI.egarotS.swodniW
scitatSlooPdaerhTI.gnidaerhT.metsyS.swodniW
scitatSlooPemarFerutpaC11D3tceriDI.erutpaC.scihparG.swodniW
scitatSlortnoCepiwSI.slortnoC.lmaX.IU.swodniW
scitatSlortnoCgnitaRI.slortnoC.lmaX.IU.swodniW
scitatSlortnoCI.slortnoC.lmaX.IU.swodniW
scitatSlortnoCllaCI.seciveD.aideM.swodniW
scitatSlortnoCnoitarugifnoCnePrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSlortnoCresUI.slortnoC.lmaX.IU.swodniW
scitatSlortnoCsmetII.slortnoC.lmaX.IU.swodniW
scitatSlortnoCsmetIpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSlortnoCtnetnoCI.slortnoC.lmaX.IU.swodniW
scitatSmaertSsseccAmodnaReliFI.smaertS.egarotS.swodniW
scitatSmaertSsseccAmodnaRI.smaertS.egarotS.swodniW
scitatSmedoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSmetIbuStuoylFuneMI.slortnoC.lmaX.IU.swodniW
scitatSmetIepiwSI.slortnoC.lmaX.IU.swodniW
scitatSmetIerutpaCscihparGI.erutpaC.scihparG.swodniW
scitatSmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
scitatSmetIraBuneMI.slortnoC.lmaX.IU.swodniW
scitatSmetIrotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSmetItoviPI.slortnoC.lmaX.IU.swodniW
scitatSmetItsiLpmuJI.neercStratS.IU.swodniW
scitatSmetItuoylFrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSmetItuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
scitatSmetItuoylFuneMelggoTI.slortnoC.lmaX.IU.swodniW
scitatSmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
scitatSmetIuneMrellortnoClaidaRI.tupnI.IU.swodniW
scitatSmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
scitatSmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
scitatSmetIyaDweiVradnelaCI.slortnoC.lmaX.IU.swodniW
scitatSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatSmetsySreganaMtellaWI.metsyS.tellaW.ledoMnoitacilppA.swodniW
scitatSmooZcitnameSI.slortnoC.lmaX.IU.swodniW
scitatSmrofsnarTelacSI.aideM.lmaX.IU.swodniW
scitatSmrofsnarTetalsnarTI.aideM.lmaX.IU.swodniW
scitatSmrofsnarTetatoRI.aideM.lmaX.IU.swodniW
scitatSmrofsnarTetisopmoCI.aideM.lmaX.IU.swodniW
scitatSmrofsnarTwekSI.aideM.lmaX.IU.swodniW
scitatSmrofsnarTxirtaMI.aideM.lmaX.IU.swodniW
scitatSmurtcepSroloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSnaelooBrosneTI.gninraeLenihcaM.IA.swodniW
scitatSneercSkcoLI.eliforPresU.metsyS.swodniW
scitatSneercslluFweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSnocIhtaPI.slortnoC.lmaX.IU.swodniW
scitatSnocIlobmySI.slortnoC.lmaX.IU.swodniW
scitatSnocIpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSnocIpamtiBI.slortnoC.lmaX.IU.swodniW
scitatSnocItnoFI.slortnoC.lmaX.IU.swodniW
scitatSnogyloPI.sepahS.lmaX.IU.swodniW
scitatSnogyloPpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSnoigeRcihpargoeGI.noitazilabolG.swodniW
scitatSnoisseSdssUI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSnoisseSerutpaCscihparGI.erutpaC.scihparG.swodniW
scitatSnoisseSevitcaretnII.potkseDetomeR.metsyS.swodniW
scitatSnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatSnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
scitatSnoisseStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
scitatSnoisseSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSnoisuFthgiLwoLI.eroC.aideM.swodniW
scitatSnoitacifitnedIerawdraHI.eliforP.metsyS.swodniW
scitatSnoitacifitnedImetsySI.eliforP.metsyS.swodniW
scitatSnoitacilppAI.lmaX.IU.swodniW
scitatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
scitatSnoitaicossAeciveDresUI.metsyS.swodniW
scitatSnoitaminAelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTesolCtilpSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTkcaBepiwSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTmetIgarDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTmetItegraTporDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnepOtilpSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnIedaFI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnIllirDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnIpoPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnoitisopeRI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTnwoDretnioPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTpUretnioPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTrevOgarDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTtniHepiwSI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTtuOedaFI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTtuOllirDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAemehTtuOpoPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAroloCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitaminAtnioPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitamotuAnoitpecrePeroCI.eroC.noitamotuA.noitpecreP.swodniW
scitatSnoitamrofnIeciveDI.noitaremunE.seciveD.swodniW
scitatSnoitamrofnIipAI.atadateM.noitadnuoF.swodniW
scitatSnoitamrofnIkrowteNI.ytivitcennoC.gnikrowteN.swodniW
scitatSnoitamrofnIresUI.eliforPresU.metsyS.swodniW
scitatSnoitamrofnIsoibmSI.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
scitatSnoitamrofnIsseccAeciveDI.noitaremunE.seciveD.swodniW
scitatSnoitamrofnItuoyaLI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSnoitamrofnIyalpsiDimdHI.eroC.yalpsiD.scihparG.swodniW
scitatSnoitamrofnIyalpsiDI.yalpsiD.scihparG.swodniW
scitatSnoitamrofnIytivitcAtekcoSI.stekcoS.gnikrowteN.swodniW
scitatSnoitartsigeRegasseMsmSI.smS.seciveD.swodniW
scitatSnoitartsigeRgnirotinoMecneserPeciveDrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
scitatSnoitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSnoitartsigeRppAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatSnoitartsigeRrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
scitatSnoitarugifnoCeciveDoiduAlaitapSI.oiduA.aideM.swodniW
scitatSnoitarugifnoCerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
scitatSnoitarugifnoCrellortnoClaidaRI.tupnI.IU.swodniW
scitatSnoitarugifnoCresUedoMemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
scitatSnoitarugifnoCtamroFoiduAlaitapSI.oiduA.aideM.swodniW
scitatSnoitatonnAnoitamotuAI.noitamotuA.lmaX.IU.swodniW
scitatSnoitatonnAreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
scitatSnoitavitcAIUbeWI.IUbeW.IU.swodniW
scitatSnoitcasnarTtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
scitatSnoitcejorPD3xirtaMI.aideM.lmaX.IU.swodniW
scitatSnoitcejorPenalPI.aideM.lmaX.IU.swodniW
scitatSnoitcelloCretsaCwodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
scitatSnoitcennoCecivreSdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
scitatSnoitcennoCecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
scitatSnoitcennoClatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
scitatSnoitcennoCredivorPecivreSttaGI.dnuorgkcaB.htooteulB.seciveD.swodniW
scitatSnoitceSbuHI.slortnoC.lmaX.IU.swodniW
scitatSnoitinifeDnmuloCI.slortnoC.lmaX.IU.swodniW
scitatSnoitinifeDwoRI.slortnoC.lmaX.IU.swodniW
scitatSnoitisnarTemehTecnartnEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisnarTemehTenaPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisnarTemehTIUegdEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisnarTemehTnoitagivaNI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisnarTemehTpupoPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisnarTemehTtnetnoCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSnoitisopmoCaideMI.gnitidE.aideM.swodniW
scitatSnoitoMaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSnoitoMlarutaNaitrenI2rotceVrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSnoitoMlarutaNaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSnoitpircsbuStnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
scitatSnoitpircseDyramirPyalpsiDI.eroC.yalpsiD.seciveD.swodniW
scitatSnottuBelggoTI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSnottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
scitatSnottuBknilrepyHI.slortnoC.lmaX.IU.swodniW
scitatSnottuBlicnetSrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBlooTmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBlooTrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBnePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBnePrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBoidaRI.slortnoC.lmaX.IU.swodniW
scitatSnottuBraBppAI.slortnoC.lmaX.IU.swodniW
scitatSnottuBreluRrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnottuBtaepeRI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSnottuBtilpSI.slortnoC.lmaX.IU.swodniW
scitatSnottuBuneMrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSnuRI.stnemucoD.lmaX.IU.swodniW
scitatSofnIcitsongaiDmetsySI.scitsongaiD.metsyS.swodniW
scitatSofnIcitsongaiDppAI.metsyS.swodniW
scitatSofnIcitsongaiDssecorPI.scitsongaiD.metsyS.swodniW
scitatSofnIecalPI.spaM.secivreS.swodniW
scitatSofnIecivreSnyoJllAI.nyoJllA.seciveD.swodniW
scitatSofnIegamImetIgnitaRI.slortnoC.lmaX.IU.swodniW
scitatSofnIliateRI.eliforP.metsyS.swodniW
scitatSofnInoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatSofnInoitisnarTnoitagivaNecnartnEI.noitaminA.aideM.lmaX.IU.swodniW
scitatSofnInoitisnarTnoitagivaNmuunitnoCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSofnInoitisnarTnoitagivaNnommoCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSofnIputeSmetsySI.eliforP.metsyS.swodniW
scitatSofnIrebmuNenohPI.gnittamroFrebmuNenohP.noitazilabolG.swodniW
scitatSofnIredivorPrellortnoCemaGI.weiverP.tupnI.gnimaG.swodniW
scitatSofnIscitylanAI.eliforP.metsyS.swodniW
scitatSofnItnetnoCytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
scitatSofnItnoFmetIgnitaRI.slortnoC.lmaX.IU.swodniW
scitatSofnItroppuSmetsySI.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
scitatSoidaRI.soidaR.seciveD.swodniW
scitatSOIeliFI.egarotS.swodniW
scitatSOIhtaPI.egarotS.swodniW
scitatSpamtiBerawtfoSI.gnigamI.scihparG.swodniW
scitatSpamtiBtegraTredneRI.gnigamI.aideM.lmaX.IU.swodniW
scitatSpilCaideMI.gnitidE.aideM.swodniW
scitatSpiTlooTI.slortnoC.lmaX.IU.swodniW
scitatSpmaLI.sthgiL.seciveD.swodniW
scitatSporetnIweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSpotStneidarGI.aideM.lmaX.IU.swodniW
scitatSppApotkseDdellatsnII.yrotnevnI.metsyS.swodniW
scitatSppArevieceRlaiDI.locotorPlaiD.aideM.swodniW
scitatSpuorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
scitatSpuorGecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
scitatSpuorGmrofsnarTI.aideM.lmaX.IU.swodniW
scitatSpuorGrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
scitatSpuorGtnetnoCegakcaPI.ledoMnoitacilppA.swodniW
scitatSpuorGyrtemoeGI.aideM.lmaX.IU.swodniW
scitatSpupoPI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSraBdnammoCI.slortnoC.lmaX.IU.swodniW
scitatSraBemaGI.IU.gnimaG.swodniW
scitatSraBkciTI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSraBllorcSI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSrablooTknII.slortnoC.lmaX.IU.swodniW
scitatSraBppAI.slortnoC.lmaX.IU.swodniW
scitatSraBssergorPI.slortnoC.lmaX.IU.swodniW
scitatSraBuneMI.slortnoC.lmaX.IU.swodniW
scitatSrecarTytilasuaCcnysAI.scitsongaiD.noitadnuoF.swodniW
scitatSredaeRataDI.smaertS.egarotS.swodniW
scitatSredaeRdraCtramSI.sdraCtramS.seciveD.swodniW
scitatSredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
scitatSredaeRlmaXI.pukraM.lmaX.IU.swodniW
scitatSredaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
scitatSredaoLecruoseRlmaXmotsuCI.secruoseR.lmaX.IU.swodniW
scitatSredilSI.slortnoC.lmaX.IU.swodniW
scitatSredilSrekciProloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSredivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
scitatSredivorPecivreSmmocfRI.mmocfR.htooteulB.seciveD.swodniW
scitatSredivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSredivorPevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
scitatSredivorPmhtiroglAcaMI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredivorPmhtiroglAhsaHI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredivorPmhtiroglAnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredivorPmhtiroglAyeKcirtemmysAI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredivorPmhtiroglAyeKcirtemmySI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredivorPyeKdetsisrePI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSredliuBdraCevitpadAI.llehS.IU.swodniW
scitatSredloFegarotSI.egarotS.swodniW
scitatSredloFsdaolnwoDI.egarotS.swodniW
scitatSredniFetuoRpaMI.spaM.secivreS.swodniW
scitatSredniFnoitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
scitatSredniFnoitacoLpaMI.spaM.secivreS.swodniW
scitatSredniFreePI.ytimixorP.gnikrowteN.swodniW
scitatSredoceDpamtiBI.gnigamI.scihparG.swodniW
scitatSredocnEpamtiBI.gnigamI.scihparG.swodniW
scitatSredroBI.slortnoC.lmaX.IU.swodniW
scitatSreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
scitatSreePnoitamotuAtnemelEkrowemarFI.sreeP.noitamotuA.lmaX.IU.swodniW
scitatSreffuBcihpargotpyrCI.yhpargotpyrC.ytiruceS.swodniW
scitatSreffuBI.smaertS.egarotS.swodniW
scitatSreganaMataDnoitacilppAI.eroC.tnemeganaM.swodniW
scitatSreganaMD3tnirPI.D3gnitnirP.scihparG.swodniW
scitatSreganaMecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
scitatSreganaMeliFdehcaCI.egarotS.swodniW
scitatSreganaMepocStnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
scitatSreganaMeroCnoitacitnehtuAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
scitatSreganaMerutpaCppAI.erutpaC.aideM.swodniW
scitatSreganaMesneciLI.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
scitatSreganaMetadpUegdaBI.snoitacifitoN.IU.swodniW
scitatSreganaMetadpUeliTI.snoitacifitoN.IU.swodniW
scitatSreganaMetadpUmetsySI.etadpU.metsyS.swodniW
scitatSreganaMetadpUtuoylFeliTI.snoitacifitoN.IU.swodniW
scitatSreganaMetatSlausiVI.lmaX.IU.swodniW
scitatSreganaMeziseRwodniWeroCI.eroC.IU.swodniW
scitatSreganaMgnidroceRppAI.gnidroceRppA.aideM.swodniW
scitatSreganaMgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSreganaMgnisitrevdAI.eliforPresU.metsyS.swodniW
scitatSreganaMksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
scitatSreganaMlaitnederCyeKI.slaitnederC.ytiruceS.swodniW
scitatSreganaMlennahCnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
scitatSreganaMliamEI.liamE.ledoMnoitacilppA.swodniW
scitatSreganaMllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSreganaMlmaXswodniWI.gnitsoH.lmaX.IU.swodniW
scitatSreganaMmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSreganaMneercStratSI.neercStratS.IU.swodniW
scitatSreganaMnigirOllaCenohPI.redivorP.sllaC.ledoMnoitacilppA.swodniW
scitatSreganaMnIgulPtsacdaorBppAI.erutpaC.aideM.swodniW
scitatSreganaMnoisseSmdMI.tnemeganaM.swodniW
scitatSreganaMnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
scitatSreganaMnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
scitatSreganaMnoitacilppAmralAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSreganaMnoitacoveReliFI.ataDesirpretnE.ytiruceS.swodniW
scitatSreganaMnoitagivaNmetsySI.eroC.IU.swodniW
scitatSreganaMnoitartsigeRlaitnederCyeKesirpretnEI.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
scitatSreganaMnoitartsigeRreldnaHirUppAI.metsyS.swodniW
scitatSreganaMnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
scitatSreganaMnoitcejorPI.tnemeganaMweiV.IU.swodniW
scitatSreganaMnoitcetorPataDI.ataDesirpretnE.ytiruceS.swodniW
scitatSreganaMnoitcetorPataDresUI.noitcetorPataD.ytiruceS.swodniW
scitatSreganaMnoitcetorPeliFI.ataDesirpretnE.ytiruceS.swodniW
scitatSreganaMnoitinifeDdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
scitatSreganaMnoitucexEdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSreganaMnwodtuhSI.metsyS.swodniW
scitatSreganaMoTyalPI.oTyalP.aideM.swodniW
scitatSreganaMpaMI.spaM.secivreS.swodniW
scitatSreganaMpaMtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
scitatSreganaMporDgarDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSreganaMppAcissalCI.weiverP.tnemyolpeD.tnemeganaM.swodniW
scitatSreganaMppAdetsoHecapskroWknII.ecapskroWknI.weiverP.ledoMnoitacilppA.swodniW
scitatSreganaMppAgnikcolBnoitacinummoCI.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
scitatSreganaMppAtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
scitatSreganaMrabksaTI.llehS.IU.swodniW
scitatSreganaMredivorPofnIlaicoSI.redivorP.ofnIlaicoS.ledoMnoitacilppA.swodniW
scitatSreganaMrefsnarTataDI.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSreganaMrefsnarTrohcnAlaitapSI.laitapS.noitpecreP.swodniW
scitatSreganaMrewoPI.rewoP.metsyS.swodniW
scitatSreganaMrohcnAlaitapSI.laitapS.noitpecreP.swodniW
scitatSreganaMscRI.tahC.ledoMnoitacilppA.swodniW
scitatSreganaMsdliuBweiverPI.etadpU.tnemeganaM.swodniW
scitatSreganaMsecivreSraBemaGI.erutpaC.aideM.swodniW
scitatSreganaMsecivreStxeTeroCI.eroC.txeT.IU.swodniW
scitatSreganaMseitilibapaCoediVllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSreganaMseitilibapaCtahCI.tahC.ledoMnoitacilppA.swodniW
scitatSreganaMsnoissimrePanatroCI.anatroC.secivreS.swodniW
scitatSreganaMsseccAegarotSderahSI.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSreganaMsseccAgnikcolBnoitacinummoCI.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
scitatSreganaMsseccAmetsyStnuoccAataDresUI.sseccAmetsyS.stnuoccAataDresU.ledoMnoitacilppA.swodniW
scitatSreganaMstceffEoiduAI.stceffE.aideM.swodniW
scitatSreganaMsucoFI.tupnI.lmaX.IU.swodniW
scitatSreganaMtcatnoCdenniPI.stcatnoC.ledoMnoitacilppA.swodniW
scitatSreganaMtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
scitatSreganaMtellaWI.tellaW.ledoMnoitacilppA.swodniW
scitatSreganaMtnemllornEetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSreganaMtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
scitatSreganaMtnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
scitatSreganaMtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
scitatSreganaMtooRcnySredivorPegarotSI.redivorP.egarotS.swodniW
scitatSreganaMtropmIotohPI.tropmI.aideM.swodniW
scitatSreganaMtsacdaorBppAI.erutpaC.aideM.swodniW
scitatSreganaMtseuqeRytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
scitatSreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
scitatSreganaMyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
scitatSreganaMyeKsseccAI.tupnI.lmaX.IU.swodniW
scitatSreganaMygrenEdnuorgeroFI.rewoP.metsyS.swodniW
scitatSreganaMygrenEdnuorgkcaBI.rewoP.metsyS.swodniW
scitatSreganaMyromeMI.metsyS.swodniW
scitatSreganaMyrotcaFrellortnoCemaGI.motsuC.tupnI.gnimaG.swodniW
scitatSreganaMyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
scitatSreganaMytivitcAresUeroCI.eroC.seitivitcAresU.ledoMnoitacilppA.swodniW
scitatSreganaMytivitcennoCI.ytivitcennoC.gnikrowteN.swodniW
scitatSreggirTdegnahCtnetnoCyrarbiLegarotSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSreggirTegnahCnoitcennoCeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSreggirTetatSI.lmaX.IU.swodniW
scitatSreggirTevitpadAI.lmaX.IU.swodniW
scitatSreggirTredivorPecivreSttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatSrehcnuaLetomeRI.metsyS.swodniW
scitatSrehcnuaLI.metsyS.swodniW
scitatSrehcnuaLssecorPI.metsyS.swodniW
scitatSrehcnuaLssecorPtsurTlluFI.ledoMnoitacilppA.swodniW
scitatSrehctiwSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSreifireVtnesnoCresUI.IU.slaitnederC.ytiruceS.swodniW
scitatSreifitoNlangiSI.eroC.gnidaerhT.metsyS.swodniW
scitatSrekcarTecaFI.sisylanAecaF.aideM.swodniW
scitatSrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
scitatSrekciPemiTI.slortnoC.lmaX.IU.swodniW
scitatSrekciPetaDI.slortnoC.lmaX.IU.swodniW
scitatSrekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
scitatSrekciPevaSeliFI.srekciP.egarotS.swodniW
scitatSrekciPlaitnederCI.IU.slaitnederC.ytiruceS.swodniW
scitatSrekciPnepOeliFI.srekciP.egarotS.swodniW
scitatSrekciPredloFI.srekciP.egarotS.swodniW
scitatSrekciPresUI.metsyS.swodniW
scitatSrekciProloCI.slortnoC.lmaX.IU.swodniW
scitatSrekciPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
scitatSrekorBleveLdnuoSI.weiverP.eroC.aideM.swodniW
scitatSrekorBnoitacitnehtuAbeWI.beW.noitacitnehtuA.ytiruceS.swodniW
scitatSrekovnIcitsongaiDI.scitsongaiD.metsyS.swodniW
scitatSrekraMenilemiTI.aideM.lmaX.IU.swodniW
scitatSrellortnoCc2II.c2I.seciveD.swodniW
scitatSrellortnoCcdAI.cdA.seciveD.swodniW
scitatSrellortnoCemaGwaRI.tupnI.gnimaG.swodniW
scitatSrellortnoCeueuQrehctapsiDI.metsyS.swodniW
scitatSrellortnoCipSI.ipS.seciveD.swodniW
scitatSrellortnoClaidaRI.tupnI.IU.swodniW
scitatSrellortnoCmwPI.mwP.seciveD.swodniW
scitatSrellortnoCnoitagivaNIUI.tupnI.gnimaG.swodniW
scitatSrellortnoCnoitaminAI.noitisopmoC.IU.swodniW
scitatSrellortnoCoipGI.oipG.seciveD.swodniW
scitatSrellortnoCseciveDleveLwoLI.seciveD.swodniW
scitatSreludehcSdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
scitatSremiTlooPdaerhTI.gnidaerhT.metsyS.swodniW
scitatSrenetsiLnoitacifitoNresUI.tnemeganaM.snoitacifitoN.IU.swodniW
scitatSreniatnoChserfeRI.slortnoC.lmaX.IU.swodniW
scitatSreniatnoCtnemelEraBppAI.slortnoC.lmaX.IU.swodniW
scitatSreniatnoCtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
scitatSrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
scitatSrennacSegamII.srennacS.seciveD.swodniW
scitatSrepleHataDlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSrepleHD3xirtaMI.D3aideM.aideM.lmaX.IU.swodniW
scitatSrepleHdiuGI.noitadnuoF.swodniW
scitatSrepleHdiuUhtooteulBI.htooteulB.seciveD.swodniW
scitatSrepleHecnetsisrePweiVtsiLI.slortnoC.lmaX.IU.swodniW
scitatSrepleHeerTlausiVI.aideM.lmaX.IU.swodniW
scitatSrepleHemiTyeKI.noitaminA.aideM.lmaX.IU.swodniW
scitatSrepleHeziSI.lmaX.IU.swodniW
scitatSrepleHgatoeGI.seitreporPeliF.egarotS.swodniW
scitatSrepleHgnidniBlmaXI.pukraM.lmaX.IU.swodniW
scitatSrepleHhtgneLdirGI.lmaX.IU.swodniW
scitatSrepleHnoitaruDI.lmaX.IU.swodniW
scitatSrepleHnoitatsettAyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSrepleHnoitisoProtareneGI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSrepleHofnIecalPI.hcraeSlacoL.spaM.secivreS.swodniW
scitatSrepleHpmatsemiTnoitpecrePI.noitpecreP.swodniW
scitatSrepleHpukraMlmaXI.pukraM.lmaX.IU.swodniW
scitatSrepleHroivaheBtaepeRI.noitaminA.aideM.lmaX.IU.swodniW
scitatSrepleHroloCI.IU.swodniW
scitatSrepleHslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
scitatSrepleHssenkcihTI.lmaX.IU.swodniW
scitatSrepleHsuidaRrenroCI.lmaX.IU.swodniW
scitatSrepleHtamroFlmtHI.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSrepleHtceRI.lmaX.IU.swodniW
scitatSrepleHtnioPI.lmaX.IU.swodniW
scitatSrepleHtseuqeRerotSI.erotS.secivreS.swodniW
scitatSrepleHxirtaMI.aideM.lmaX.IU.swodniW
scitatSresUI.metsyS.swodniW
scitatSretadpUeliFdehcaCI.redivorP.egarotS.swodniW
scitatSretemitlAI.srosneS.seciveD.swodniW
scitatSretemodePI.srosneS.seciveD.swodniW
scitatSretemonilcnII.srosneS.seciveD.swodniW
scitatSretemoraBI.srosneS.seciveD.swodniW
scitatSretemoreleccAI.srosneS.seciveD.swodniW
scitatSretemoryGI.srosneS.seciveD.swodniW
scitatSretemotengaMI.srosneS.seciveD.swodniW
scitatSrethgilhgiHtxeTI.stnemucoD.lmaX.IU.swodniW
scitatSretirWyraniBlmaXI.pukraM.lmaX.IU.swodniW
scitatSretliFlocotorPesaBpttHI.sretliF.pttH.beW.swodniW
scitatSretneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
scitatSretneserPmetIweiVdirGI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSretneserPmetIweiVnoitagivaNI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSretneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSretneserPreyalPaideMI.slortnoC.lmaX.IU.swodniW
scitatSretneserPsmetII.slortnoC.lmaX.IU.swodniW
scitatSretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
scitatSretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
scitatSretpadAhtooteulBI.htooteulB.seciveD.swodniW
scitatSretpadAiFiWI.iFiW.seciveD.swodniW
scitatSretpadAyalpsiDI.eroC.yalpsiD.seciveD.swodniW
scitatSretrevnoCdnuorgeroFmetItsiLpmuJI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSretrevnoCdnuorgkcaBmetItsiLpmuJI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSretropxErohcnAlaitapSI.laitapS.noitpecreP.swodniW
scitatSrettamroFemiTetaDI.gnittamroFemiTetaD.noitazilabolG.swodniW
scitatSrettamroFrebmuNenohPI.gnittamroFrebmuNenohP.noitazilabolG.swodniW
scitatSrevresbOecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
scitatSrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
scitatSreweiVllorcSI.slortnoC.lmaX.IU.swodniW
scitatSrexednItnetnoCI.hcraeS.egarotS.swodniW
scitatSreyalPaideMdnuorgkcaBI.kcabyalP.aideM.swodniW
scitatSreyaLpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSreyalPdnuoStnemelEI.lmaX.IU.swodniW
scitatSreyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSrezilausiVhserfeRI.slortnoC.lmaX.IU.swodniW
scitatSrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
scitatSrezisehtnySidiMI.idiM.seciveD.swodniW
scitatSrezylanAcitenohPesenapaJI.noitazilabolG.swodniW
scitatSriaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
scitatSrohcnAlaitapSI.laitapS.noitpecreP.swodniW
scitatSrorrEbeWI.beW.swodniW
scitatSrorrElocotorPttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSrorrEnoitacidnySI.noitacidnyS.beW.swodniW
scitatSrorrEtekcoSbeWI.stekcoS.gnikrowteN.swodniW
scitatSrorrEtekcoSI.stekcoS.gnikrowteN.swodniW
scitatSrosneSelgnAegniHI.srosneS.seciveD.swodniW
scitatSrosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
scitatSrosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
scitatSrosneSnoitatneirOI.srosneS.seciveD.swodniW
scitatSrosneSthgiLI.srosneS.seciveD.swodniW
scitatSrosneSytimixorPI.srosneS.seciveD.swodniW
scitatSrosneSytivitcAI.srosneS.seciveD.swodniW
scitatSrotacitnehtuAmetsySdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
scitatSrotacitnehtuArotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
scitatSrotacoLlaitapSI.laitapS.noitpecreP.swodniW
scitatSrotacoloeGI.noitacoloeG.seciveD.swodniW
scitatSrotagivaNecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
scitatSrotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
scitatSrotanidrooCllaCpioVI.sllaC.ledoMnoitacilppA.swodniW
scitatSrotarapeSraBppAI.slortnoC.lmaX.IU.swodniW
scitatSrotareleccAdraobyeKI.tupnI.lmaX.IU.swodniW
scitatSrotareneGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
scitatSrotcejnItupnII.noitcejnI.weiverP.tupnI.IU.swodniW
scitatSrotceleSgnipooLI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSrotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
scitatSrotcelloCyrtemeleTecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
scitatSrotceteDecaFI.sisylanAecaF.aideM.swodniW
scitatSrotinoMecnefoeGI.gnicnefoeG.noitacoloeG.seciveD.swodniW
scitatSrotinoMetatSoiduAI.oiduA.aideM.swodniW
scitatSrotinoMtisivoeGI.noitacoloeG.seciveD.swodniW
scitatSrotinoMyalpsiDI.yalpsiD.seciveD.swodniW
scitatSrotisopmoCI.noitisopmoC.IU.swodniW
scitatSrotpecretnIyrevileDdraobyeKI.tupnI.IU.swodniW
scitatSrotpircseDecafretnIbsUI.bsU.seciveD.swodniW
scitatSrotpircseDnoitarugifnoCbsUI.bsU.seciveD.swodniW
scitatSrotpircseDtniopdnEbsUI.bsU.seciveD.swodniW
scitatSrotpircseDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSsavnaCI.slortnoC.lmaX.IU.swodniW
scitatSsbreVnoitcAhcnuaLredivorPstnemtnioppAI.redivorPstnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
scitatSsbreVnoitcAhcnuaLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
scitatSscitsongaiDygrenEdnuorgeroFI.scitsongaiD.rewoP.metsyS.swodniW
scitatSscitsongaiDygrenEdnuorgkcaBI.scitsongaiD.rewoP.metsyS.swodniW
scitatSsdIeliforP2gepMI.seitreporPaideM.aideM.swodniW
scitatSsdIeliforP462HI.seitreporPaideM.aideM.swodniW
scitatSsdIteSretcarahCretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
scitatSsdiuUcitsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSsdiuUecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSsdiuUrotpircseDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSsecivreStxeTeroCI.eroC.txeT.IU.swodniW
scitatSsecnereferPedoMweiVI.tnemeganaMweiV.IU.swodniW
scitatSsecnereferPnoitazilabolGI.eliforPresU.metsyS.swodniW
scitatSsegaugnaLnoitacilppAI.noitazilabolG.swodniW
scitatSseigolobmySedocraBI.ecivreSfOtnioP.seciveD.swodniW
scitatSseirogetacbuSecnaraeppAELhtooteulBI.htooteulB.seciveD.swodniW
scitatSseirogetaCecnaraeppAELhtooteulBI.htooteulB.seciveD.swodniW
scitatSseirogetaClacoLI.hcraeSlacoL.spaM.secivreS.swodniW
scitatSseirtnEteehSelytSpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSseitilibapaCmetsySetomeRnwonKI.smetsySetomeR.metsyS.swodniW
scitatSseitilibapaCnoitisopmoCI.noitisopmoC.IU.swodniW
scitatSseitreporPdnapxEI__.IU.TRniW.gnisitrevdA.tfosorciM
scitatSseitreporPecruoSemarFderarfnInoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPecruoSemarFhtpeDnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPecruoSemarFnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPecruoSemarFoediVnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPecruoSemarFroloCnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPeliforPoediVnoitpecrePnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPgnidocnEegamII.seitreporPaideM.aideM.swodniW
scitatSseitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
scitatSseitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
scitatSseitreporPmetIredivorPegarotSI.redivorP.egarotS.swodniW
scitatSseitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
scitatSseitreporPnoitpaCdesolCI.gninoitpaCdesolC.aideM.swodniW
scitatSseitreporPofnIliateRnwonKI.eliforP.metsyS.swodniW
scitatSseitreporPresUnwonKI.metsyS.swodniW
scitatSseitreporPscisnirtnIaremaCnwonKI.noitpecreP.seciveD.swodniW
scitatSseitreporPtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
scitatSseitreporPyalpsiDI.yalpsiD.scihparG.swodniW
scitatSselytStxeTnoitacifitoNevitpadAnwonKI.snoitacifitoN.IU.swodniW
scitatSsemaNerotSetacifitreCdradnatSI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNevruCccEI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAcaMI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAcirtemmysAI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAcirtemmySI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAhsaHI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNmhtiroglAyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemaNredivorPegarotSyeKI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSsemarFyeKgnisUnoitaminAelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
scitatSsemarFyeKgnisUnoitaminAroloCI.noitaminA.aideM.lmaX.IU.swodniW
scitatSsemarFyeKgnisUnoitaminAtcejbOI.noitaminA.aideM.lmaX.IU.swodniW
scitatSsemarFyeKgnisUnoitaminAtnioPI.noitaminA.aideM.lmaX.IU.swodniW
scitatSsepyTataDtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
scitatSsepytbuScedoCI.eroC.aideM.swodniW
scitatSsepytbuSgnidocnEaideMI.seitreporPaideM.aideM.swodniW
scitatSsepyTdraCredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
scitatSsepyTeciveDnwonKI.motsuC.seciveD.swodniW
scitatSsepyTrekraMaideMI.aideM.swodniW
scitatSsepyTtamroFnoitatneserPttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatSserotSetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
scitatSserutaeFsseccAdetimiLI.ledoMnoitacilppA.swodniW
scitatSserutciPdevaSsredloFnwonKI.egarotS.swodniW
scitatSsessalCeciveDbsUI.bsU.seciveD.swodniW
scitatSsetatSyrtnEteehSelytSpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatSsetubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
scitatSsgnidniBnoitacifitoNnwonKI.snoitacifitoN.IU.swodniW
scitatSsgnitteSanatroCI.anatroC.secivreS.swodniW
scitatSsgnitteSataDegasUdnAscitsongaiDmroftalPI.eliforP.metsyS.swodniW
scitatSsgnitteSecalpkroWI.ecalpkroW.tnemeganaM.swodniW
scitatSsgnitteSedirrevOroloCI.yalpsiD.scihparG.swodniW
scitatSsgnitteSedirrevOssenthgirBI.yalpsiD.scihparG.swodniW
scitatSsgnitteSedoMderahSI.eliforP.metsyS.swodniW
scitatSsgnitteSemiTetaDI.metsyS.swodniW
scitatSsgnitteSenoZemiTI.metsyS.swodniW
scitatSsgnitteSetalpmeTmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
scitatSsgnitteSetalpmeTweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
scitatSsgnitteSgubeDnoitisopmoCI.scitsongaiD.noitisopmoC.IU.swodniW
scitatSsgnitteSknIdnAnePI.gniknI.tupnI.IU.swodniW
scitatSsgnitteSnIngiStsriFI.eliforPresU.metsyS.swodniW
scitatSsgnitteSnoitacudEI.eliforP.metsyS.swodniW
scitatSsgnitteSnoitazilanosrePeliforPresUI.eliforPresU.metsyS.swodniW
scitatSsgnitteSnoitazilausiVretnioPI.tupnI.IU.swodniW
scitatSsgnitteSnoitazimitpOyrevileDI.weiverP.erotS.ledoMnoitacilppA.swodniW
scitatSsgnitteSscitsongaiDI.eliforPresU.metsyS.swodniW
scitatSsgnitteSsseccAdengissAI.eliforPresU.metsyS.swodniW
scitatSsgnitteSweiVIUI.tnemeganaMweiV.IU.swodniW
scitatSsgrAtnevEdegnahCtxeTxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
scitatSshpylGI.stnemucoD.lmaX.IU.swodniW
scitatSshtaPataDmetsySI.egarotS.swodniW
scitatSshtaPataDppAI.egarotS.swodniW
scitatSshtaPataDresUI.egarotS.swodniW
scitatSshtaPeliFmiSCnwonKI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSshtaPeliFmiSnwonKI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSshtaPeliFmiSUnwonKI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSshtaPeliFmiuRnwonKI.srotarepOkrowteN.gnikrowteN.swodniW
scitatSsliateDrorrEI.scitsongaiD.noitadnuoF.swodniW
scitatSslitUI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
scitatSslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
scitatSslortnoCtropsnarTaideMmetsySI.aideM.swodniW
scitatSsmetIepiwSI.slortnoC.lmaX.IU.swodniW
scitatSsmhtiroglAnoitpyrcnEredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
scitatSsmrofevaWrellortnoCscitpaHelpmiSnwonKI.scitpaH.seciveD.swodniW
scitatSsnoissimrePnoitacilppAegarotSI.ehcaCsseccA.egarotS.swodniW
scitatSsnoitarepOgnidniBI.ataD.lmaX.IU.swodniW
scitatSsnoitcAcitsongaiDmroftalPI.gnitropeRecarT.scitsongaiD.metsyS.swodniW
scitatSsnoitpOhseMecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
scitatSsredloFnwonKI.egarotS.swodniW
scitatSsreifitnedI2nrettaPmrofsnarTI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedIkcolCI.noitazilabolG.swodniW
scitatSsreifitnedImetsySlaremuNI.noitazilabolG.swodniW
scitatSsreifitnedInrettaPdirGI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPelbaTI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPelggoTI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPespalloCdnapxEI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPeulaVegnaRI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPeulaVI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPgarDI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPkcoDI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPllorcSI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPmetIdirGI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPmetIelbaTI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPmetInoitceleSI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPmetIteehsdaerpSI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPmrofsnarTI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPnoitatonnAI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPnoitceleSI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPselytSI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPtegraTporDI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPweiVelpitluMI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedInrettaPwodniWI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedIradnelaCI.noitazilabolG.swodniW
scitatSsreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
scitatSsreifitnedIycnerruCI.noitazilabolG.swodniW
scitatSsretcarahCedocinUI.txeT.ataD.swodniW
scitatSsretemaraPnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
scitatSsretemaraPnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
scitatSsroloCI.IU.swodniW
scitatSssapmoCI.srosneS.seciveD.swodniW
scitatSsserddAeciveDeviLxobXI.eviLxobX.gnikrowteN.swodniW
scitatSstamroFataDdradnatSI.refsnarTataD.ledoMnoitacilppA.swodniW
scitatSstceffEoediVI.aideM.swodniW
scitatSsthgieWtnoFI.txeT.IU.swodniW
scitatSsthgisnIelbanoitcAanatroCI.anatroC.secivreS.swodniW
scitatSstnatsnoCtxeTI.txeT.IU.swodniW
scitatSstniartsnoCaideMdetcejorPI__.TRniW.derahS.gnisitrevdA.tfosorciM
scitatSstniHnoitacifitoNevitpadAnwonKI.snoitacifitoN.IU.swodniW
scitatSstsilyalPsredloFnwonKI.egarotS.swodniW
scitatSsutatSnyoJllAI.nyoJllA.seciveD.swodniW
scitatStamroFeriWyalpsiDI.eroC.yalpsiD.seciveD.swodniW
scitatStamroFnoitatneserPttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
scitatStaolFrosneTI.gninraeLenihcaM.IA.swodniW
scitatStcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
scitatStcejbOnosJI.nosJ.ataD.swodniW
scitatStcejbOpnPI.pnP.noitaremunE.seciveD.swodniW
scitatStceriDlmaXI.tceriD.eroC.lmaX.IU.swodniW
scitatSteehSelytSpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatStegraTnoitisopmoCI.aideM.lmaX.IU.swodniW
scitatStekcoSmaertSI.stekcoS.gnikrowteN.swodniW
scitatStekcoSmargataDI.stekcoS.gnikrowteN.swodniW
scitatSthgiLlmaXI.aideM.lmaX.IU.swodniW
scitatStiB23tnIrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB23tnIUrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB46tnIrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB46tnIUrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB61taolFrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB61tnIrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB61tnIUrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB8tnIrosneTI.gninraeLenihcaM.IA.swodniW
scitatStiB8tnIUrosneTI.gninraeLenihcaM.IA.swodniW
scitatStneilCyrtemeleTmroftalPI.yrtemeleT.scitsongaiD.metsyS.swodniW
scitatStnemelEaideMI.slortnoC.lmaX.IU.swodniW
scitatStnemelEecruoSnocII.slortnoC.lmaX.IU.swodniW
scitatStnemelEerutpaCI.slortnoC.lmaX.IU.swodniW
scitatStnemelEIUI.lmaX.IU.swodniW
scitatStnemelEkrowemarFI.lmaX.IU.swodniW
scitatStnemelEnocII.slortnoC.lmaX.IU.swodniW
scitatStnemelEnoitamrofnItceriDiFiWI.tceriDiFiW.seciveD.swodniW
scitatStnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
scitatStnemelEreyalPaideMI.slortnoC.lmaX.IU.swodniW
scitatStnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
scitatStnemerusaeMecivreSfOytilauQeviLxobXI.eviLxobX.gnikrowteN.swodniW
scitatStnemgeScrAI.aideM.lmaX.IU.swodniW
scitatStnemgeSeniLI.aideM.lmaX.IU.swodniW
scitatStnemgeSeniLyloPI.aideM.lmaX.IU.swodniW
scitatStnemgeSreizeBcitardauQI.aideM.lmaX.IU.swodniW
scitatStnemgeSreizeBcitardauQyloPI.aideM.lmaX.IU.swodniW
scitatStnemgeSreizeBI.aideM.lmaX.IU.swodniW
scitatStnemgeSreizeByloPI.aideM.lmaX.IU.swodniW
scitatStnemhcattAsuBnyoJllAI.nyoJllA.seciveD.swodniW
scitatStnemnorivnEgniwodniWI.tnemeganaMwodniW.IU.swodniW
scitatStnemucoDfdPI.fdP.ataD.swodniW
scitatStnemucoDlmXI.moD.lmX.ataD.swodniW
scitatStnemucoDtnirPI.gnitnirP.lmaX.IU.swodniW
scitatStnenopmoCreredneRhseMenecSI.senecS.noitisopmoC.IU.swodniW
scitatStnioPretnioPI.tupnI.IU.swodniW
scitatStnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
scitatStoviPI.slortnoC.lmaX.IU.swodniW
scitatStroPnIidiMI.idiM.seciveD.swodniW
scitatStroPtuOidiMI.idiM.seciveD.swodniW
scitatStseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
scitatStsiLemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
scitatStsiLpmuJI.neercStratS.IU.swodniW
scitatStsilyalPI.stsilyalP.aideM.swodniW
scitatStsilyalPtceffEyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
scitatStsoCkroWdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
scitatStsoHnoitacilppAkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
scitatStuoylFI.slortnoC.lmaX.IU.swodniW
scitatStuoylFrekciPemiTI.slortnoC.lmaX.IU.swodniW
scitatStuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
scitatStuoylFrekciPI.slortnoC.lmaX.IU.swodniW
scitatStuoylFrekciPtsiLI.slortnoC.lmaX.IU.swodniW
scitatStuoylFsgnitteSI.slortnoC.lmaX.IU.swodniW
scitatStuoylFuneMI.slortnoC.lmaX.IU.swodniW
scitatStupnIlairetaMecafruSenecSI.senecS.noitisopmoC.IU.swodniW
scitatStxetnoCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
scitatStxetnoCerotSI.erotS.secivreS.swodniW
scitatStxetnoCnoitacitnehtuAtopstoHI.srotarepOkrowteN.gnikrowteN.swodniW
scitatStxetnoCrefsnarTweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSweiVataDtuobAnyoJllAI.nyoJllA.seciveD.swodniW
scitatSweiVbeWI.slortnoC.lmaX.IU.swodniW
scitatSweiVeerTI.slortnoC.lmaX.IU.swodniW
scitatSweiVenaPowTI.slortnoC.lmaX.IU.swodniW
scitatSweiverPecruoStupnIezaGI.weiverP.tupnI.seciveD.swodniW
scitatSweiverPedirrevOtnemecalPdraobyeKcihpargoloHI.cihpargoloH.weiverP.ledoMnoitacilppA.swodniW
scitatSweiverPenoZyaleDnoitcejeRmlaPI.weiverP.gniknI.tupnI.IU.swodniW
scitatSweiverPerutsoPeciveDdegniHlenaPowTI.weiverP.metsyS.swodniW
scitatSweiverPledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
scitatSweiverPnoitacilppAcihpargoloHI.cihpargoloH.weiverP.ledoMnoitacilppA.swodniW
scitatSweiverPnoitisopmoCtnemelEI.gnitsoH.lmaX.IU.swodniW
scitatSweiverPporetnIhparGlaitapSI.weiverP.laitapS.noitpecreP.swodniW
scitatSweiverPreganaMnoitagivaNmetsySI.weiverP.eroC.IU.swodniW
scitatSweiverPreganaMwodniWsetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
scitatSweiverPrenetsiLnoitavitcAtupnII.weiverP.tupnI.IU.swodniW
scitatSweiverPtnemeganaMwodniWI.weiverP.tnemeganaMwodniW.IU.swodniW
scitatSweiverPwodniWppAeroCI.weiverP.eroC.IU.swodniW
scitatSweiVgnitirwdnaHI.slortnoC.lmaX.IU.swodniW
scitatSweiVIUbeWI.IUbeW.IU.swodniW
scitatSweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
scitatSweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
scitatSweiVradnelaCI.slortnoC.lmaX.IU.swodniW
scitatSweiVtilpSI.slortnoC.lmaX.IU.swodniW
scitatSweiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
scitatSweiVxallaraPI.slortnoC.lmaX.IU.swodniW
scitatSwodniWI.lmaX.IU.swodniW
scitatSwodniWppAI.tnemeganaMwodniW.IU.swodniW
scitatSwolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
scitatSxoBdrowssaPI.slortnoC.lmaX.IU.swodniW
scitatSxoBgnidnuoboeGI.noitacoloeG.seciveD.swodniW
scitatSxoBhcraeSI.slortnoC.lmaX.IU.swodniW
scitatSxoBobmoCI.slortnoC.lmaX.IU.swodniW
scitatSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
scitatSxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
scitatSxoBtsiLI.slortnoC.lmaX.IU.swodniW
scitatSxoBtxeTI.slortnoC.lmaX.IU.swodniW
scitatSxobweiVI.slortnoC.lmaX.IU.swodniW
scitatSyalpsiDcihpargoloHI.cihpargoloH.scihparG.swodniW
scitatSyalpsiDeniLdemialCI.ecivreSfOtnioP.seciveD.swodniW
scitatSyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
scitatSyalrevOtahCemaGI.IU.gnimaG.swodniW
scitatSyarrAnosJI.nosJ.ataD.swodniW
scitatSyarrApmaLI.sthgiL.seciveD.swodniW
scitatSyciloPdemaNI.seiciloP.tnemeganaM.swodniW
scitatSyciloPwollAmdMI.ecalpkroW.tnemeganaM.swodniW
scitatSyciloPytirgetnIswodniWI.eliforP.metsyS.swodniW
scitatSycnednepeDmroftalPI__.TRniW.derahS.gnisitrevdA.tfosorciM
scitatSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
scitatSydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
scitatSyhpargopyTI.stnemucoD.lmaX.IU.swodniW
scitatSyrarbiLegarotSI.egarotS.swodniW
scitatSyrettaBI.rewoP.seciveD.swodniW
scitatSyrtemoeGelgnatceRI.aideM.lmaX.IU.swodniW
scitatSyrtemoeGeniLI.aideM.lmaX.IU.swodniW
scitatSyrtemoeGespillEI.aideM.lmaX.IU.swodniW
scitatSyrtemoeGhtaPI.aideM.lmaX.IU.swodniW
scitatSyrtemoeGI.aideM.lmaX.IU.swodniW
scitatSyrtnEkcatSegaPI.noitagivaN.lmaX.IU.swodniW
scitatSytilibacilppAppAI.eliforP.metsyS.swodniW
scitatSytilibapaCppAI.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
scitatSytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
scitatSytreporPycnednepeDI.lmaX.IU.swodniW
scitsiretcarahCegakcaPlairetaMmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
scitsiretcarahCegakcaPlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
scitsiretcarahCkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
scitsiretcarahClairetaMmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
scitsiretcarahClairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
scitsiretcarahCnoitceleSkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
scitsiretcarahCyeKegarotSmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
scitsiretcarahCyeKegarotSmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
scitsitatSdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
scitsitatSdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
scitsitatSemiTpirTdnuoR.stekcoS.gnikrowteN.swodniW
scitsitatShtdiwdnaB.stekcoS.gnikrowteN.swodniW
scitsongaiDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
scitsongaiDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
scitsongaiDepocSdniBlmaXI.pukraM.lmaX.IU.swodniW
scitsongaiDygrenEdnuorgeroF.scitsongaiD.rewoP.metsyS.swodniW
scitsongaiDygrenEdnuorgkcaB.scitsongaiD.rewoP.metsyS.swodniW
scm_stopwatch.cpp
scm_stopwatch.h
s contextW
s contextWWW9
ScoobeOnLogonEligibleByFrequency
ScoobeWaitForGetContentTimeout
ScoobeWaitTimeForGetContent
ScopedLock
ScopedLock dtor: Unlock failed for: 
SCP protocol options
SCRAMBLE
SCRAM-SHA-1
SCRAM-SHA-256
ScreenBufferSizeX
ScreenBufferSizeY
ScreenInfoUiaProvider::AddRef
ScreenInfoUiaProvider::Constructor
ScreenInfoUiaProvider::GetBoundingRectangles
ScreenInfoUiaProvider::GetDocumentRange
ScreenInfoUiaProvider::GetEmbeddedFragmentRoots
ScreenInfoUiaProvider::GetFragmentRoot
ScreenInfoUiaProvider::GetHostRawElementProvider
ScreenInfoUiaProvider::GetPatternProvider
ScreenInfoUiaProvider::GetPropertyValue
ScreenInfoUiaProvider::GetProviderOptions
ScreenInfoUiaProvider::GetRuntimeId
ScreenInfoUiaProvider::GetSelection
ScreenInfoUiaProvider::GetSupportedTextSelection
ScreenInfoUiaProvider::GetVisibleRanges
ScreenInfoUiaProvider::Navigate
ScreenInfoUiaProvider::QueryInterface
ScreenInfoUiaProvider::RangeFromChild
ScreenInfoUiaProvider::RangeFromPoint
ScreenInfoUiaProvider::Release
ScreenInfoUiaProvider::SetFocus
ScreenInfoUiaProvider::Signal
ScreenToClient
scriptbuilder.cpp
scriptbuilder.h
scriptbuildertests.cpp
scriptconfigitem.cpp
scriptconfigitem.h
scriptconfigitem_test.cpp
Script_Detect_Synclet
ScriptEngine
ScriptFullNameWW
scriptingcomponent.cpp
scriptingcomponent.h
scriptingcomponenttest.cpp
scriptingerrors.h
scriptinginterface.cpp
Script_Install_Synclet
scriptlauncher.cpp
scriptlauncher.h
scriptlaunchertest.cpp
scriptmanager.cpp
scriptmanager.h
scriptmanagertest.cpp
ScriptNameWW
Script_Repair_Synclet
ScriptScope
Script_Uninstall_Synclet
ScrollConsoleScreenBuffer
ScrollConsoleScreenBufferW
ScrollDC
scrollDelta
ScrollPosition.X
ScrollPosition.Y
ScrollScale
ScrollWindowEx
sCUI_EVENT_MIRACAST_HPDWW
s?D98u:D
_sDataBlobFilePath
_sDataReservedFilePath
SdbCheckForChildRuntimePlatform
SDB compression algorithm does not match callback algorithm.
SdbFileDetails missing function pointer for path.
SDB file too small to be valid
SdbFindFirstNamedTag
SdbFindFirstStringIndexedTag
SdbFindFirstTagRef
SdbFindNextLayer
SdbFindNextTag
SdbGetBinaryTagData
SdbGetDatabaseGUID
SdbGetDatabaseID
SdbGetEntryFlags
SdbGetIndex
SdbGetItemFromItemRef
SdbGetMatchingExeEx
SdbGetNextChild
SdbGetPathCustomSdb
SdbGetPathCustomSdb failed to get the database path.
SdbGetPathSystemSdb failed.
SdbGetPathSystemSdb failed to get file path for SDB_SYSTEM
SdbGetStringTagPtr
SdbGetTagDataSize
SdbGetTagFromTagID
SdbGuestHostArchsToRuntimePlatformFlag
SdbGuestTargetPlatformFlagsToRuntimePlatformFlags
SDB Handle count was decremented after zero.
SdbInitDatabase
SdbInitDatabaseEx
SdbInitDatabaseEx failed.
SdbInitDatabaseEx for FOD DxDb failed.
SDB is not compressed
SdbMakeIndexKeyFromStringEx
SdbOpenDatabaseEx
SdbpAddMatch
SdbParseLayerString
SdbpCheckAllAttributes
SdbpCheckAttribute
SdbpCheckExe
SdbpCheckMatchingDevice
SdbpCheckMatchingDir
SdbpCheckMatchingFiles
SdbpCheckMatchingRegistry
SdbpCheckMatchingRegistryEntry
SdbpCheckMatchingRegistryValue
SdbpCheckMatchingText
SdbpCheckMatchingTextEntry
SdbpCheckMatchingWildcardFiles
SdbpCheckMatchingWildcardRegistry
SdbpCheckPackageAttributes
SdbpCheckRuntimePlatformImpl failed to check runtime platform
SdbpCleanupForExclusiveMatch
SdbpCreateSDBLookupEntry
SdbpCreateSearchDBContext
SdbpCreateSearchPathPartsFromPath
SdbpEnumUserSdb
SdbpFindFirstIndexedWildCardTag
SdbpFindMatchingName
SdbpFindNextNamedTag
SdbpGetBinaryRuntimePlatform
SdbpGetCustomSdbFileName
SdbpGetExeEntryFlags
SdbpGetFirstIndexedRecord
SdbpGetIndex
SdbpGetMappedData
SdbpGetMappedStringFromTable
SdbpGetMappedTagData
SdbpGetMatchingTextAttributes
SdbpGetNamedLayerFromExe
SdbpGetNextIndexedRecord
SdbpGetNextTagId
SdbpGetPathAppPatch
SdbpGetPathAppPatchPreRS3
SdbpGetPathAppraiser
SdbpGetPathCustomSdb
SdbpGetPathCustomSdbPreRS3
SdbpGetPathSystem
SdbpGetPermLayersInternal
SdbpGetProcessHistory
SdbpGetProcessHostGuestArchitectures
SdbpGetRegistryMatchingAttributes
SdbpGetStringTableItemFromStringRef
SdbpGetStringTableItemFromStringRef failed to get tagid for string ref
SdbpGetSystemSdbFilePath
SdbpGetTagHeadSize
SdbpInitializeSearchDBContext
SdbpOpenCompressedDatabase
SdbpOpenCompressedDatabase failed to allocate expanded buffer - out of memory
SdbpOpenCompressedDatabase failed to open compressed database.
SdbpOpenDatabaseInMemory
SdbpOpenLocalDatabaseEx
SdbpQueryAppCompatFlagsByExeID
SdbpReadMappedData
SdbpReadStringRef
SdbpReadTagData
SdbpResolveInitSdbPath
SdbpResolveMatchingFile
SdbpSearchDB
SdbpValidateAndApplyCompatFlags
SdbQueryDataEx
SdbQueryDataExTagID
SdbQueryData got incorrect data type.
SdbReadBinaryTag
SdbReadDWORDTag
SdbReadQWORDTag
SdbReadWORDTag
SdbReleaseDatabase
SdbResolveDatabaseEx
SdbTagIDToTagRef
sdIeliforP2gepM.seitreporPaideM.aideM.swodniW
sdIeliforP462H.seitreporPaideM.aideM.swodniW
sdIgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
sdIkcarTredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sDISPLAY_HDMI_SET_FAILEDW
SDisplayPowerSavingTechnologyL6
sdItelppAdraCtramSnwonKI.sdraCtramS.seciveD.swodniW
sdItelppAdraCtramSnwonK.sdraCtramS.seciveD.swodniW
sdIteSretcarahCretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
sdiuGmoC.llehS.enohP.tfosorciM
sdiuGmoC.srosneS.seciveD.tfosorciM
sdiuUcitsiretcarahCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sdiuUecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sdiuUrotpircseDttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
SdkError
sdleiFderiseDyreuQtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sdleiFgniggoLI.scitsongaiD.noitadnuoF.swodniW
sdleiFgniggoL.scitsongaiD.noitadnuoF.swodniW
sdleiFhcraeSyreuQliamE.liamE.ledoMnoitacilppA.swodniW
sdleiFhcraeSyreuQtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sdlohserhTedilSssorC.tupnI.IU.swodniW
sdniKdraCtnemyaP.tellaW.enohP.tfosorciM
sdniKgniriaPeciveD.noitaremunE.seciveD.swodniW
sdniKmetsySetomeR.smetsySetomeR.metsyS.swodniW
sdniKnoitacifitoN.snoitacifitoN.IU.swodniW
sdniKtnemurtsnItnemyaP.tellaW.enohP.tfosorciM
sdniKtnetnoCtnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
sdniKtnetnoCwardrevOgubeDnoitisopmoC.scitsongaiD.noitisopmoC.IU.swodniW
sdnuoBeniLtxeT.lmaX.IU.swodniW
sdnuoBpamtiB.gnigamI.scihparG.swodniW
sdnuoBtuoyaLtxeTeroC.eroC.txeT.IU.swodniW
sdnuoBtuoyaLtxeTeroCI.eroC.txeT.IU.swodniW
sdohteMcitatSredaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sdohteMcitatSredaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sdohteMcitatSrorrErefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sdohteMcitatStnegAgninoisivorPI.srotarepOkrowteN.gnikrowteN.swodniW
sdohteMevitaNaremaC.seciveD.tfosorciM
sdohteMevitaNefaS.egarotS.enohP.tfosorciM
sdohteMevitaNefaSeliboM.krowemarF.anX.tfosorciM
sdohteMevitaNefaS.llehS.enohP.tfosorciM
sdohteMevitaNefaS.noitacifitoN.enohP.tfosorciM
sdohteMevitaNefasnU.aideM.krowemarF.anX.tfosorciM
sdohteMevitaNefasnUenohporciM.oiduA.krowemarF.anX.tfosorciM
sdohteMevitaNefasnU.scihparG.krowemarF.anX.tfosorciM
sdohteMevitaNefasnU.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaNefasnUtceffEdnuoS.oiduA.krowemarF.anX.tfosorciM
sdohteMevitaNefasnU.tupnI.krowemarF.anX.tfosorciM
sdohteMevitaNefaS.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaNefaS.tupnI.krowemarF.anX.tfosorciM
sdohteMevitaNegaP.poretnI.enohP.tfosorciM
sdohteMevitaNegdirBmoC.poretnI.enohP.tfosorciM
sdohteMevitaNeliboMefaS.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaNeliboM.krowemarF.anX.tfosorciM
sdohteMevitaNeliboM.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaNenuZsotohP.seciveD.tfosorciM
sdohteMevitaNgaBytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
sdohteMevitaN.gniggoL.enohP.tfosorciM
sdohteMevitaN.gniggoL.poretnI.enohP.tfosorciM
sdohteMevitaNhcuoTefaS.hcuoT.tupnI.krowemarF.anX.tfosorciM
sdohteMevitaNhcuoTefasnU.hcuoT.tupnI.krowemarF.anX.tfosorciM
sdohteMevitaNksaT.poretnI.ledoMksaT.enohP.tfosorciM
sdohteMevitaNnoisseSpuorGelacoL.poretnI.enohP.tfosorciM
sdohteMevitaN.noitamrofnIkrowteN.teN.enohP.tfosorciM
sdohteMevitaNofnIeciveD.ofnI.enohP.tfosorciM
sdohteMevitaN.ofnI.enohP.tfosorciM
sdohteMevitaNofnItsoH.poretnI.ledoMksaT.enohP.tfosorciM
sdohteMevitaNratavAefasnU.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaNratavAefaS.secivreSremaG.krowemarF.anX.tfosorciM
sdohteMevitaN.refsnarTdnuorgkcaB.enohP.tfosorciM
sdohteMevitaNscihparGderahSefasnU.scihparG.krowemarF.anX.tfosorciM
sdohteMevitaN.seciveD.tfosorciM
sdohteMevitaNseitilibapaCaideM.ofnI.enohP.tfosorciM
sdohteMevitaN.sksaT.enohP.tfosorciM
sdohteMevitaN.slortnoC.enohP.tfosorciM
sdohteMevitaNSO.noitamrofnIkrowteN.teN.enohP.tfosorciM
sdohteMevitaN.srosneS.seciveD.tfosorciM
sdohteMevitaN.tellaW.enohP.tfosorciM
sdohteMevitaNtsoHnoitacilppA.poretnI.ledoMksaT.enohP.tfosorciM
sdohteMevitaNyM.snoisnetxEenohP.aideM.krowemarF.anX.tfosorciM
sdohteMevitaNyrtsigeR.slortnoC.enohP.tfosorciM
sdohteMevitaNytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
sdohteMkcabllaCevitaN.poretnI.llehS.enohP.tfosorciM
sdohteMLRCDI.ofnI.enohP.tfosorciM
sdohteMmaertSotohPevitaN.seciveD.tfosorciM
sdohteMporetnImroftalP.noitamrofnIkrowteN.teN.enohP.tfosorciM
sdohteMraBppAevitaN.poretnI.llehS.enohP.tfosorciM
sdohteMrepleH.noitamrofnIkrowteN.teN.enohP.tfosorciM
sdohteMrgMnoitcennoC.noitamrofnIkrowteN.teN.enohP.tfosorciM
sdohteMtnemnorivnEevitaN.seciveD.tfosorciM
sdohteMtsiLevitaN.poretnI.llehS.enohP.tfosorciM
sdohteMyarTmetsySevitaN.poretnI.llehS.enohP.tfosorciM
Searching acp TAs in the repository...
Searching dalp TAs in the repository...
SearchPathA
SearchPathW
SebCreateOEMPreInstallEvent
SebDeleteEvent
SebEnumerateEvents
SebSignalOEMPreInstallEvent
sec1reader.cpp
sec9fixup.cpp
sec9manager.cpp
sec9_reader.cpp
sec9_reader.h
sec9_tree_browser.cpp
sec9writer.cpp
seccallback.cpp
secchannel.cpp
secchannel.h
SEC_E_ALGORITHM_MISMATCH
SEC_E_BAD_BINDINGS
SEC_E_BAD_PKGID
SEC_E_BUFFER_TOO_SMALL
SEC_E_CANNOT_INSTALL
SEC_E_CANNOT_PACK
SEC_E_CERT_EXPIRED
SEC_E_CERT_UNKNOWN
SEC_E_CERT_WRONG_USAGE
SEC_E_CONTEXT_EXPIRED
SEC_E_CROSSREALM_DELEGATION_FAILURE
SEC_E_CRYPTO_SYSTEM_INVALID
SEC_E_DECRYPT_FAILURE
SEC_E_DELEGATION_POLICY
SEC_E_DELEGATION_REQUIRED
SEC_E_DOWNGRADE_DETECTED
SEC_E_ENCRYPT_FAILURE
SEC_E_INCOMPLETE_CREDENTIALS
SEC_E_INCOMPLETE_MESSAGE
SEC_E_INSUFFICIENT_MEMORY
SEC_E_INTERNAL_ERROR
SEC_E_INVALID_HANDLE
SEC_E_INVALID_PARAMETER
SEC_E_INVALID_TOKEN
SEC_E_ISSUING_CA_UNTRUSTED
SEC_E_ISSUING_CA_UNTRUSTED_KDC
SEC_E_KDC_CERT_EXPIRED
SEC_E_KDC_CERT_REVOKED
SEC_E_KDC_INVALID_REQUEST
SEC_E_KDC_UNABLE_TO_REFER
SEC_E_KDC_UNKNOWN_ETYPE
SEC_E_LOGON_DENIED
SEC_E_MAX_REFERRALS_EXCEEDED
SEC_E_MESSAGE_ALTERED
SEC_E_MULTIPLE_ACCOUNTS
SEC_E_MUST_BE_KDC
SEC_E_NO_AUTHENTICATING_AUTHORITY
SEC_E_NO_CREDENTIALS
SEC_E_NO_IMPERSONATION
SEC_E_NO_IP_ADDRESSES
SEC_E_NO_KERB_KEY
SEC_E_NO_PA_DATA
SEC_E_NO_S4U_PROT_SUPPORT
SEC_E_NO_TGT_REPLY
SEC_E_NOT_OWNER
SEC_E_OUT_OF_SEQUENCE
SEC_E_PKINIT_CLIENT_FAILURE
SEC_E_PKINIT_NAME_MISMATCH
SEC_E_POLICY_NLTM_ONLY
SEC_E_QOP_NOT_SUPPORTED
SEC_E_REVOCATION_OFFLINE_C
SEC_E_REVOCATION_OFFLINE_KDC
SEC_E_SECPKG_NOT_FOUND
SEC_E_SECURITY_QOS_FAILED
SEC_E_SHUTDOWN_IN_PROGRESS
SEC_E_SMARTCARD_CERT_EXPIRED
SEC_E_SMARTCARD_CERT_REVOKED
SEC_E_SMARTCARD_LOGON_REQUIRED
SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
SEC_E_TARGET_UNKNOWN
SEC_E_TIME_SKEW
SEC_E_TOO_MANY_PRINCIPALS
SEC_E_UNFINISHED_CONTEXT_DELETED
SEC_E_UNKNOWN_CREDENTIALS
SEC_E_UNSUPPORTED_FUNCTION
SEC_E_UNSUPPORTED_PREAUTH
SEC_E_UNTRUSTED_ROOT
SEC_E_WRONG_CREDENTIAL_HANDLE
SEC_E_WRONG_PRINCIPAL
SeciAllocateAndSetCallFlags
SeciAllocateAndSetIPAddress
SEC_I_COMPLETE_AND_CONTINUE
SEC_I_COMPLETE_NEEDED
SEC_I_CONTEXT_EXPIRED
SEC_I_CONTINUE_NEEDED
SeciFreeCallContext
SEC_I_INCOMPLETE_CREDENTIALS
SEC_I_LOCAL_LOGON
SEC_I_NO_LSA_CONTEXT
SEC_I_RENEGOTIATE
secirtaMtceffEI.scihparG.krowemarF.anX.tfosorciM
SEC_I_SIGNATURE_NEEDED
secitoNrevuenaMpaM.spaM.secivreS.swodniW
seciveDtupnIrevieceRtsacariMI.tsacariM.aideM.swodniW
seciveDtupnIrevieceRtsacariM.tsacariM.aideM.swodniW
secivreSerutpaCppA.erutpaC.aideM.swodniW
secivreSerutpaCppAI.erutpaC.aideM.swodniW
secivreSraBemaG.erutpaC.aideM.swodniW
secivreSraBemaGI.erutpaC.aideM.swodniW
secivreStsacdaorBppA.erutpaC.aideM.swodniW
secivreStsacdaorBppAI.erutpaC.aideM.swodniW
secnereferPedoMweiVI.tnemeganaMweiV.IU.swodniW
secnereferPedoMweiV.tnemeganaMweiV.IU.swodniW
secnereferPnoitazilabolG.eliforPresU.metsyS.swodniW
secnereferPrefsnarT.refsnarTdnuorgkcaB.enohP.tfosorciM
Second argument must be TARGET
SecondaryTile
SecondaryTileUser
SecondaryTileUserChangelog
Second Chance Assertion Failed: File 
second provider can't be empty
 second(s). [
 seconds.
secondsCumulative
secondsLatency
secondsSinceBoot
secondsSinceLastStart
SecondStagePpDllConfigFileName
SECRET must be specified
secruoseRettelaProloCI.lmaX.IU.swodniW
secruoseRettelaProloC.lmaX.IU.swodniW
secruoseRIUkrowemarF.krowemarF.anX.tfosorciM
secruoseR.krowemarF.anX.tfosorciM
secruoseRkrowemarF.krowemarF.anX.tfosorciM
secruoseRllehS.poretnI.enohP.tfosorciM
secruoseR.poretnI.enohP.tfosorciM
secruoseR.seitreporP.slortnoC.enohP.tfosorciM
secruoseR.spaM.enohP.tfosorciM
"Sectigo Public Code Signing CA R36
"Sectigo Public Code Signing CA R360
Sectigo RSA Code Signing CA
Sectigo RSA Code Signing CA0
Sectigo RSA Time Stamping CA
Sectigo RSA Time Stamping CA0
#Sectigo RSA Time Stamping Signer #2
#Sectigo RSA Time Stamping Signer #20
#Sectigo RSA Time Stamping Signer #3
#Sectigo RSA Time Stamping Signer #30
sectioncodecimpl.cpp
SectorSize
secur32.dll
Secur32.dll
__Secure-
security
Security_Ace
Security_Acl
SecurityAction
security.cpp
securitydescriptormetadata.cpp
securitydescriptormetadata.h
securitydescriptormetadatareader.h
security_descriptor_metadata_ut.cpp
Security_DirectoryAce
Security_DirectorySecurityDescriptor
security.dll
Security_FileAce
Security_FileSecurityDescriptor
security.h
security.hpp
SecurityIdentifier
security_manager.cpp
SecurityPermissionAttribute
Security_RegistryKeyAce
Security_RegistrySecurityDescriptor
Security_SecurableObject
Security_SecurityDescriptor
SECURITY_STATUS
security.version
.securom
sedirrevOegaPI.slortnoC.lmaX.IU.swodniW
sedirrevOesaBegnaRI.sevitimirP.slortnoC.lmaX.IU.swodniW
sedirrevOesaBhsurBnoitisopmoClmaXI.aideM.lmaX.IU.swodniW
sedirrevOesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
sedirrevOesaBtuoylFrekciPI.sevitimirP.slortnoC.lmaX.IU.swodniW
sedirrevOhctiwSelggoTI.slortnoC.lmaX.IU.swodniW
sedirrevOksaTdnuorgkcaBgniredneRlmaXI.gnigamI.aideM.lmaX.IU.swodniW
sedirrevOlenaPgnizilautriVI.slortnoC.lmaX.IU.swodniW
sedirrevOlenaPkcatSgnizilautriVI.slortnoC.lmaX.IU.swodniW
sedirrevOlortnoCI.slortnoC.lmaX.IU.swodniW
sedirrevOlortnoCsmetII.slortnoC.lmaX.IU.swodniW
sedirrevOlortnoCtnetnoCI.slortnoC.lmaX.IU.swodniW
sedirrevOmrofsnarTlareneGI.aideM.lmaX.IU.swodniW
sedirrevOnePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
sedirrevOnoisnetxEpukraMI.pukraM.lmaX.IU.swodniW
sedirrevOnoitacilppAI.lmaX.IU.swodniW
sedirrevOnottuBelggoTI.sevitimirP.slortnoC.lmaX.IU.swodniW
sedirrevOofnInoitisnarTnoitagivaNI.noitaminA.aideM.lmaX.IU.swodniW
sedirrevOraBppAI.slortnoC.lmaX.IU.swodniW
sedirrevOredaoLecruoseRlmaXmotsuCI.secruoseR.lmaX.IU.swodniW
sedirrevOreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
sedirrevOreganaMetatSlausiVI.lmaX.IU.swodniW
sedirrevOretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
sedirrevOrotceleSelytSI.slortnoC.lmaX.IU.swodniW
sedirrevOrotceleSelytSpuorGI.slortnoC.lmaX.IU.swodniW
sedirrevOrotceleSetalpmeTataDI.slortnoC.lmaX.IU.swodniW
sedirrevOthgiLlmaXI.aideM.lmaX.IU.swodniW
sedirrevOtnemelEIUI.lmaX.IU.swodniW
sedirrevOtnemelEkrowemarFI.lmaX.IU.swodniW
sedirrevOtnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
sedirrevOxoBobmoCI.slortnoC.lmaX.IU.swodniW
sedoCrorrE.krowemarF.anX.tfosorciM
sedoCtnevErekraMfrePstB.refsnarTdnuorgkcaB.enohP.tfosorciM
sedoMnoitalupinaM.tupnI.lmaX.IU.swodniW
sedoMsixAgnidniBnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
SeedFileN
SeekOrigin
segasUmetItellaW.tellaW.enohP.tfosorciM
segasUyeKetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
segasUyeKetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
segasUyeKllornE.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
segaugnaLnoitacilppA.noitazilabolG.swodniW
segelivirPremaG.secivreSremaG.krowemarF.anX.tfosorciM
segmentid
segmenttranslator.cpp
segmenttranslator.h
Segoe UI)
Segoe UI Light)
Se ha denegado el permiso para iniciar las siguientes aplicaciones. Debido a que la firma del proveedor de la aplicaci
Se ha denegado el permiso para iniciar las siguientes aplicaciones. Debido a que los archivos originales han sido reemplazados con aplicaciones no autorizadas
sehcaCrotarepO.secivreSrelipmoC.cisaBlausiV.tfosorciM
_seh_filter_dll
_seh_filter_exe
seiciloPxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
seiciloPxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
seicnetaLreffuBtnevEcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
seigolobmySedocraB.ecivreSfOtnioP.seciveD.swodniW
SeILSigningPolicyPtr
seirogetacbuSecnaraeppAELhtooteulB.htooteulB.seciveD.swodniW
seirogetaCecnaraeppAELhtooteulB.htooteulB.seciveD.swodniW
seirogetaClacoL.hcraeSlacoL.spaM.secivreS.swodniW
seirtnEteehSelytSpaM.spaM.slortnoC.lmaX.IU.swodniW
seiticoleVnoitalupinaM.tupnI.IU.swodniW
seitilibapaCaideM.ofnI.enohP.tfosorciM
seitilibapaCdaPemaG.tupnI.krowemarF.anX.tfosorciM
seitilibapaCdeeFkraMretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCdeepSosIemarF.eroC.seciveD.aideM.swodniW
seitilibapaCdeepSosIemarFI.eroC.seciveD.aideM.swodniW
seitilibapaCdraobyeKI.tupnI.seciveD.swodniW
seitilibapaCdraobyeK.tupnI.seciveD.swodniW
seitilibapaCeciveDrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
seitilibapaCecivreShtooteulB.htooteulB.seciveD.swodniW
seitilibapaCedirrevOtnemecnahnEyalpsiDI.yalpsiD.scihparG.swodniW
seitilibapaCedirrevOtnemecnahnEyalpsiD.yalpsiD.scihparG.swodniW
seitilibapaCeliforP.scihparG.krowemarF.anX.tfosorciM
seitilibapaCeniLdeluRretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCerusopxEemarF.eroC.seciveD.aideM.swodniW
seitilibapaCerusopxEemarFI.eroC.seciveD.aideM.swodniW
seitilibapaCesuoMI.tupnI.seciveD.swodniW
seitilibapaCesuoM.tupnI.seciveD.swodniW
seitilibapaChcuoTI.tupnI.seciveD.swodniW
seitilibapaChcuoT.tupnI.seciveD.swodniW
seitilibapaChsalFemarF.eroC.seciveD.aideM.swodniW
seitilibapaChsalFemarFI.eroC.seciveD.aideM.swodniW
seitilibapaClenaPhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
seitilibapaClortnoCeciveDaideMI.seciveD.aideM.swodniW
seitilibapaClortnoCeciveDaideM.seciveD.aideM.swodniW
seitilibapaClortnoCemarF.eroC.seciveD.aideM.swodniW
seitilibapaClortnoCemarFI.eroC.seciveD.aideM.swodniW
seitilibapaCmetsySetomeRnwonK.smetsySetomeR.metsyS.swodniW
seitilibapaCnoitasnepmoCerusopxEemarF.eroC.seciveD.aideM.swodniW
seitilibapaCnoitasnepmoCerusopxEemarFI.eroC.seciveD.aideM.swodniW
seitilibapaCnoitatStnirPsoPnommoCI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCnoitcetorPI.noitcetorP.aideM.swodniW
seitilibapaCnoitcetorP.noitcetorP.aideM.swodniW
seitilibapaCnoitisopmoCI.noitisopmoC.IU.swodniW
seitilibapaCnoitisopmoC.noitisopmoC.IU.swodniW
seitilibapaCoediVllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
seitilibapaCoediVllaCenohP.sllaC.ledoMnoitacilppA.swodniW
seitilibapaCpilStpieceRnommoCI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPlanruoJ.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPlanruoJI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPpilS.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPpilSI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPtpieceR.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCretnirPtpieceRI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCroloCretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCsucoFemarF.eroC.seciveD.aideM.swodniW
seitilibapaCsucoFemarFI.eroC.seciveD.aideM.swodniW
seitilibapaCtahCI.tahC.ledoMnoitacilppA.swodniW
seitilibapaCtahC.tahC.ledoMnoitacilppA.swodniW
seitilibapaCtekciTtnirPI.tekciTtnirP.gnitnirP.scihparG.swodniW
seitilibapaCtekciTtnirP.tekciTtnirP.gnitnirP.scihparG.swodniW
SEITILIBAPAC_TUPNIX.tupnI.krowemarF.anX.tfosorciM
seitilibapaCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
seitilibapaCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
seitilibapaCyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
seitilibapaCyeKegarotSmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
seitilibapaCytreporPredivorPegarotSI.redivorP.egarotS.swodniW
seitilitUlmtHI.lmtH.ataD.swodniW
seitilitUlmtH.lmtH.ataD.swodniW
seitreporPaideMmetsyS.egarotS.swodniW
seitreporPaideMmetsySI.egarotS.swodniW
seitreporPaideMnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
seitreporPaideMnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
seitreporPartxEmetIegarotSI.seitreporPeliF.egarotS.swodniW
seitreporPcisaBI.seitreporPeliF.egarotS.swodniW
seitreporPcisaB.seitreporPeliF.egarotS.swodniW
seitreporPcisuMI.seitreporPeliF.egarotS.swodniW
seitreporPcisuMmetsyS.egarotS.swodniW
seitreporPcisuMmetsySI.egarotS.swodniW
seitreporPcisuM.seitreporPeliF.egarotS.swodniW
seitreporPcitsiretcarahCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
seitreporPdednetxEeciveD.ofnI.enohP.tfosorciM
seitreporPdednetxEresU.ofnI.enohP.tfosorciM
seitreporPdnapxE.IU.TRniW.gnisitrevdA.tfosorciM
seitreporPecnerruceRksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
seitreporPecnerruceRksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
seitreporPecruoSemarFderarfnInoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPecruoSemarFhtpeDnoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPecruoSemarFnoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPecruoSemarFoediVnoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPecruoSemarFroloCnoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
seitreporPecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
seitreporPegamII.seitreporPeliF.egarotS.swodniW
seitreporPegamImetsyS.egarotS.swodniW
seitreporPegamImetsySI.egarotS.swodniW
seitreporPegamI.seitreporPeliF.egarotS.swodniW
seitreporPeliforPoediVnoitpecrePnwonK.noitpecreP.seciveD.swodniW
seitreporPenilemiTnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
seitreporPenilemiTnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
seitreporPenilemiTslortnoCtropsnarTaideMmetsyS.aideM.swodniW
seitreporPenilemiTslortnoCtropsnarTaideMmetsySI.aideM.swodniW
seitreporPeniLenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
seitreporPenoCrettimEedoNoiduAI.oiduA.aideM.swodniW
seitreporPenoCrettimEedoNoiduA.oiduA.aideM.swodniW
seitreporPeroCsnoitpOksaTtnirPI.gnitnirP.scihparG.swodniW
seitreporPesahcruPerotS.erotS.secivreS.swodniW
seitreporPesahcruPerotSI.erotS.secivreS.swodniW
seitreporPgnidocnEaideMI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEatadateMdemiTI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEatadateMdemiT.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEegamII.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEegamI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEoediVI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEoediV.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEoiduAI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEoiduA.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEreniatnoCI.seitreporPaideM.aideM.swodniW
seitreporPgnidocnEreniatnoC.seitreporPaideM.aideM.swodniW
seitreporPledoMyaceDlarutaNrettimEedoNoiduAI.oiduA.aideM.swodniW
seitreporPledoMyaceDlarutaNrettimEedoNoiduA.oiduA.aideM.swodniW
seitreporPlianbmuhTI.seitreporPeliF.egarotS.swodniW
seitreporPlicnePsetubirttAgniwarDknI.gniknI.tupnI.IU.swodniW
seitreporPlicnePsetubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
seitreporPmetIegarotSI.egarotS.swodniW
seitreporPmetIredivorPegarotS.redivorP.egarotS.swodniW
seitreporPmetsyS.egarotS.swodniW
seitreporPmetsySI.egarotS.swodniW
seitreporPnekoTcinocI.llehS.enohP.tfosorciM
seitreporPnekoTdednetxE.llehS.enohP.tfosorciM
seitreporPnekoTelcyC.llehS.enohP.tfosorciM
seitreporPnekoTpilF.llehS.enohP.tfosorciM
seitreporPnekoTyramirP.llehS.enohP.tfosorciM
seitreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
seitreporPnoitamotuA.noitamotuA.lmaX.IU.swodniW
seitreporPnoitarenegeRksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
seitreporPnoitarenegeRksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
seitreporPnoitcennoCrotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
seitreporPnoitcennoCrotalumEdraCtramS.sdraCtramS.seciveD.swodniW
seitreporPnoitcetorPelpmaSmaertSaideM.eroC.aideM.swodniW
seitreporPnoitcetorPelpmaSmaertSaideMI.eroC.aideM.swodniW
seitreporPnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
seitreporPoediVI.seitreporPeliF.egarotS.swodniW
seitreporPoediVmetsyS.egarotS.swodniW
seitreporPoediVmetsySI.egarotS.swodniW
seitreporPoediV.seitreporPeliF.egarotS.swodniW
seitreporPofnIliateRnwonK.eliforP.metsyS.swodniW
seitreporPoiduAmetsyS.egarotS.swodniW
seitreporPoiduAmetsySI.egarotS.swodniW
seitreporPotohPmetsyS.egarotS.swodniW
seitreporPotohPmetsySI.egarotS.swodniW
seitreporPpamtiB.gnigamI.scihparG.swodniW
seitreporPpamtiBI.gnigamI.scihparG.swodniW
seitreporPrellortnoCnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
seitreporPrellortnoCnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
seitreporPresUnwonK.metsyS.swodniW
seitreporPrettimsnarTDNI.ydaeRyalP.noitcetorP.aideM.swodniW
seitreporPscisnirtnIaremaCnwonK.noitpecreP.seciveD.swodniW
seitreporPSPGmetsyS.egarotS.swodniW
seitreporPSPGmetsySI.egarotS.swodniW
seitreporPtnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
seitreporPtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
seitreporPtnemucoDI.seitreporPeliF.egarotS.swodniW
seitreporPtnemucoD.seitreporPeliF.egarotS.swodniW
seitreporPtnetnoCmetIegarotSI.seitreporPeliF.egarotS.swodniW
seitreporPtnetnoCmetIegarotS.seitreporPeliF.egarotS.swodniW
seitreporPtnioPretnioPI.tupnI.IU.swodniW
seitreporPtnioPretnioP.tupnI.IU.swodniW
seitreporPtseuqeRetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
seitreporPtseuqeRetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
seitreporPyalpsiDcisuM.aideM.swodniW
seitreporPyalpsiDcisuMI.aideM.swodniW
seitreporPyalpsiDegamI.aideM.swodniW
seitreporPyalpsiDegamII.aideM.swodniW
seitreporPyalpsiDesahcruPtcudorP.erotS.ledoMnoitacilppA.swodniW
seitreporPyalpsiDesahcruPtcudorPI.erotS.ledoMnoitacilppA.swodniW
seitreporPyalpsiDmetIaideMI.kcabyalP.aideM.swodniW
seitreporPyalpsiDmetIaideM.kcabyalP.aideM.swodniW
seitreporPyalpsiDoediV.aideM.swodniW
seitreporPyalpsiDoediVI.aideM.swodniW
seitreporPyalpsiD.yalpsiD.scihparG.swodniW
selbamusnoChtiWgnitsiLtcudorPI.erotS.ledoMnoitacilppA.swodniW
selbamusnoChtiWppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
selbamusnoChtiWrotalumiSppAtnerruCI.erotS.ledoMnoitacilppA.swodniW
SelectController
SelectDrive
selectedFilter
SelectedMainProfile
SelectedPeripheral
selectedProperties
SelectedSubProfile
Select failed
SelectHbaPort
SelectIAdapter
SelectionUpdateRegistry
SelectIPortal
SelectLun
SelectMany
SelectObject
SelectPort
SelectProvider
SelectQuery
SelectStoragePool
SelectSubsystem
SelectTarget
SelectTPGroup
SelectTPortal
selecttransformoutputpathpage.cpp
SelfBargeInParameter
_selfBargeInSupported
SelfEncryptionDriveEncryptionMethod);
SelfHost
self is NULL
Self is NULL
?_SelfLayoutDoLayout@Element@DirectUI@@MEAAXHH@Z
?_SelfLayoutUpdateDesiredSize@Element@DirectUI@@MEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
seliFgnirobhgieNhtiWsgrAtnevEdetavitcAeliFI.noitavitcA.ledoMnoitacilppA.swodniW
seluRretliFsmSI.smS.seciveD.swodniW
seluRretliFsmS.smS.seciveD.swodniW
selytSeniltuOnoitamotuA.noitamotuA.lmaX.IU.swodniW
selytStxeTnoitacifitoNevitpadAnwonK.snoitacifitoN.IU.swodniW
semaNerotSetacifitreCdradnatS.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
semaNevruCccE.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNlaicepS.redniBemitnuR.prahSC.tfosorciM
semaNmhtiroglAcaM.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNmhtiroglAcirtemmysA.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNmhtiroglAcirtemmyS.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNmhtiroglAhsaH.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNmhtiroglAnoitavireDyeK.eroC.yhpargotpyrC.ytiruceS.swodniW
semaNmhtiroglAyeK.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
semaNredivorPegarotSyeK.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
_semaphore
Semaphore
SemaphoreSlim
SemaphoreWait
semarFyeKgnisUnoitaminAelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAelbuoD.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAroloCI.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAroloC.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAtcejbOI.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAtcejbO.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAtnioPI.noitaminA.aideM.lmaX.IU.swodniW
semarFyeKgnisUnoitaminAtnioP.noitaminA.aideM.lmaX.IU.swodniW
semiTdetalerroCecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
semiTdetalerroCecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
SendAndWait
Send CCC after authenticating
SendCommandAndWait
Send command(s) to server before transfer
SendConfigBlob
SendDlgItemMessageA
SendDlgItemMessageW
SendDoubleClickSpeedValueToKernel
Send failed since rewinding of the data stream failed
Send failed with error: 
Send HAProxy PROXY protocol v1 header
Sending app event:
Sending command to FW
Sending M0 to ME
Sending M2.2 to IAS
Sending M2 to IAS
Sending M3 to ME
Sending M5 to ME
Sending message back to the client
Sending reset complete event...
SendInput
SendIpcIoctl
SEND LOCATION
SendMessage
SendMessageA
Send message called
SendMessageTimeoutW
SendMessageW
SendMethodInvokeResult
SendNotifyMessageW
SendOmaDmAlert
SendOrPostCallback
Send PRET before PASV
sendrequesttests.cpp
sendrequesttests.h
SendScreenInfoToKernel
SendSuccessfulCancelRequestMessage
SendToolCommandByIpc
SensorActivate
sensorAdapter
Sensor arrived
SensorAttach
SensorClearContext
SensorDeactivate
SensorDetach
Sensor enabling delayed
Sensor Manager not initialized
SensorNotifyPowerChange
SensorPipelineCleanup
SensorPipelineInit
SensorPushDataToEngine
Sensor released
_sensorUpdate
Sent FWU_GET_VERSION to HECI.
separateDepthStencilLayouts
separateStencilMaskRef
SeppukuDelegate
SeppukuMethod
SE_PRIVILEGE_ENABLED
September
sepyTataDtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sepytbuScedoC.eroC.aideM.swodniW
sepytbuSgnidocnEaideM.seitreporPaideM.aideM.swodniW
sepyTdenifederP.scitnameS.redniBemitnuR.prahSC.tfosorciM
sepyTdraCredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sepyTeciveDnwonK.motsuC.seciveD.swodniW
sepyTeciveD.ofnI.enohP.tfosorciM
sepyTeciveDtupnIeroC.eroC.IU.swodniW
sepyTegakcaP.tnemyolpeD.tnemeganaM.swodniW
sepyThctaBnoitisopmoC.noitisopmoC.IU.swodniW
sepyTkcabyalPgnitsaC.gnitsaC.aideM.swodniW
sepyTkrowteN.ytivitcennoC.gnikrowteN.swodniW
sepyTmetIegarotS.egarotS.swodniW
sepyTnoitcennoCsoP.ecivreSfOtnioP.seciveD.swodniW
sepyTrekraMaideM.aideM.swodniW
sepyTtamroFnoitatneserPttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sepyTyrevocsiDreeP.ytimixorP.gnikrowteN.swodniW
sepyTyromeMaideM.stceffE.aideM.swodniW
seqcli_test.cpp
seqproject.cpp
seqproject.h
seqsample_main.cpp
seqsample_packager.h
SequenceEqual
sequencerdialog.cpp
sequencerdialog.h
sequencerlog.cpp
sequencerlog.h
sequencersetupactions.cpp
sequencersetupactions.h
sequencersetupca.cpp
sequencersqm.cpp
sequencersqm.h
sequencersqmut.cpp
SequencerVersion
sequencetask.cpp
  Serial
Serialize
SerializedConfiguration
SerializeObject
Serializer
serially
serialNumber
Serial Number
SerialNumber
Serial Number obtained from the platform is: 
Series4Chipsets
Series5Chipsets
Series6Chipsets
Series7Chipsets
Series8Chipsets
Series9Chipsets
serotSetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
serutaeFMRDerawdraHydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
serutaeFsseccAdetimiL.ledoMnoitacilppA.swodniW
serutcurtSevitaNefasnU.oiduA.krowemarF.anX.tfosorciM
serutcurtSevitaNefasnUratavA.secivreSremaG.krowemarF.anX.tfosorciM
serutcurtSevitaNefasnU.scihparG.krowemarF.anX.tfosorciM
Server busy
ServerComponent_AD_Certificate
ServerComponent_ADCS_Cert_Authority
ServerComponent_ADCS_Device_Enrollment
ServerComponent_ADCS_Enroll_Web_Pol
ServerComponent_ADCS_Enroll_Web_Svc
ServerComponent_ADCS_Online_Cert
ServerComponent_ADCS_Web_Enrollment
ServerComponent_AD_Domain_Services
ServerComponent_ADFS_Federation
ServerComponent_ADLDS
ServerComponent_ADRMS
ServerComponent_ADRMS_Identity
ServerComponent_ADRMS_Server
ServerComponent_Biometric_Framework
ServerComponent_BitLocker
ServerComponent_BitLocker_NetworkUnlock
ServerComponent_BITS
ServerComponent_BITS_Compact_Server
ServerComponent_BITS_IIS_Ext
ServerComponent_BranchCache
ServerComponent_CMAK
ServerComponent_Containers
ServerComponent_Data_Center_Bridging
ServerComponent_DeviceHealthAttestationService
ServerComponent_DHCP
ServerComponent_DirectAccess_VPN
ServerComponent_Direct_Play
ServerComponent_DiskIo_QoS
ServerComponent_DNS
ServerComponent_DSC_Service
ServerComponent_EnhancedStorage
ServerComponent_FabricShieldedTools
ServerComponent_Failover_Clustering
ServerComponent_Fax
ServerComponent_FileAndStorage_Services
ServerComponent_File_Services
ServerComponent_FS_BranchCache
ServerComponent_FS_Data_Deduplication
ServerComponent_FS_DFS_Namespace
ServerComponent_FS_DFS_Replication
ServerComponent_FS_FileServer
ServerComponent_FS_iSCSITarget_Server
ServerComponent_FS_NFS_Service
ServerComponent_FS_Resource_Manager
ServerComponent_FS_SMB1
ServerComponent_FS_SMB1_CLIENT
ServerComponent_FS_SMB1_SERVER
ServerComponent_FS_SMBBW
ServerComponent_FS_SyncShareService
ServerComponent_FS_VSS_Agent
ServerComponent_GPMC
ServerComponent_HostGuardian
ServerComponent_HostGuardianServiceRole
ServerComponent_HyperV
ServerComponent_Hyper_V_PowerShell
ServerComponent_Hyper_V_Tools
ServerComponent_Internet_Print_Client
ServerComponent_IPAM
ServerComponent_IPAM_Client_Feature
ServerComponent_iSCSITarget_VSS_VDS
ServerComponent_ISNS
ServerComponent_LPR_Port_Monitor
ServerComponent_ManagementOdata
ServerComponent_Microsoft_Windows_Subsystem_Linux
ServerComponent_Migration
ServerComponent_MSMQ
ServerComponent_MSMQ_DCOM
ServerComponent_MSMQ_Directory
ServerComponent_MSMQ_HTTP_Support
ServerComponent_MSMQ_Multicasting
ServerComponent_MSMQ_Routing
ServerComponent_MSMQ_Server
ServerComponent_MSMQ_Services
ServerComponent_MSMQ_Triggers
ServerComponent_Multipath_IO
ServerComponent_MultiPoint_Connector
ServerComponent_MultiPoint_Connector_Services
ServerComponent_MultiPoint_Tools
ServerComponent_NET_Framework_45_ASPNET
ServerComponent_NET_Framework_45_Core
ServerComponent_NET_Framework_45_Features
ServerComponent_NET_Framework_Core
ServerComponent_NET_Framework_Features
ServerComponent_NET_HTTP_Activation
ServerComponent_NET_Non_HTTP_Activ
ServerComponent_NET_WCF_HTTP_Activation45
ServerComponent_NET_WCF_MSMQ_Activation45
ServerComponent_NET_WCF_Pipe_Activation45
ServerComponent_NET_WCF_Services45
ServerComponent_NET_WCF_TCP_Activation45
ServerComponent_NET_WCF_TCP_PortSharing45
ServerComponent_NetworkController
ServerComponent_NetworkVirtualization
ServerComponent_NFS_Client
ServerComponent_NLB
ServerComponent_NPAS
ServerComponent_PNRP
ServerComponent_PowerShell
ServerComponent_PowerShellRoot
ServerComponent_PowerShell_V2
ServerComponent_Print_Internet
ServerComponent_Print_LPD_Service
ServerComponent_Print_Server
ServerComponent_Print_Services
ServerComponent_qWave
ServerComponent_RDC
ServerComponent_RDS_Connection_Broker
ServerComponent_RDS_Gateway
ServerComponent_RDS_Licensing
ServerComponent_RDS_Licensing_UI
ServerComponent_RDS_RD_Server
ServerComponent_RDS_Virtualization
ServerComponent_RDS_Web_Access
ServerComponent_RemoteAccess
ServerComponent_Remote_Assistance
ServerComponent_Remote_Desktop_Services
ServerComponent_Routing
ServerComponent_RPC_over_HTTP_Proxy
ServerComponent_RSAT
ServerComponent_RSAT_AD_AdminCenter
ServerComponent_RSAT_ADCS
ServerComponent_RSAT_ADCS_Mgmt
ServerComponent_RSAT_ADDS
ServerComponent_RSAT_ADDS_Tools
ServerComponent_RSAT_ADLDS
ServerComponent_RSAT_AD_PowerShell
ServerComponent_RSAT_ADRMS
ServerComponent_RSAT_AD_Tools
ServerComponent_RSAT_Bits_Server
ServerComponent_RSAT_Clustering
ServerComponent_RSAT_Clustering_AutomationServer
ServerComponent_RSAT_Clustering_CmdInterface
ServerComponent_RSAT_Clustering_Mgmt
ServerComponent_RSAT_Clustering_PowerShell
ServerComponent_RSAT_DataCenterBridging_LLDP_Tools
ServerComponent_RSAT_DFS_Mgmt_Con
ServerComponent_RSAT_DHCP
ServerComponent_RSAT_DNS_Server
ServerComponent_RSAT_Fax
ServerComponent_RSAT_Feature_Tools
ServerComponent_RSAT_Feature_Tools_BitLocker
ServerComponent_RSAT_Feature_Tools_BitLocker_BdeAducExt
ServerComponent_RSAT_Feature_Tools_BitLocker_RemoteAdminTool
ServerComponent_RSAT_File_Services
ServerComponent_RSAT_FSRM_Mgmt
ServerComponent_RSAT_Hyper_V_Tools
ServerComponent_RSAT_NetworkController
ServerComponent_RSAT_NFS_Admin
ServerComponent_RSAT_NLB
ServerComponent_RSAT_NPAS
ServerComponent_RSAT_Online_Responder
ServerComponent_RSAT_Print_Services
ServerComponent_RSAT_RDS_Gateway
ServerComponent_RSAT_RDS_Licensing_Diagnosis_UI
ServerComponent_RSAT_RDS_Tools
ServerComponent_RSAT_RemoteAccess
ServerComponent_RSAT_RemoteAccess_Mgmt
ServerComponent_RSAT_RemoteAccess_PowerShell
ServerComponent_RSAT_Role_Tools
ServerComponent_RSAT_Shielded_VM_Tools
ServerComponent_RSAT_SMS
ServerComponent_RSAT_SMTP
ServerComponent_RSAT_SNMP
ServerComponent_RSAT_Storage_Replica
ServerComponent_RSAT_System_Insights
ServerComponent_RSAT_VA_Tools
ServerComponent_RSAT_WINS
ServerComponent_Search_Service
ServerComponent_Server_Media_Foundation
ServerComponent_Setup_and_Boot_Event_Collection
ServerComponent_Simple_TCPIP
ServerComponent_SMS
ServerComponent_SMS_Proxy
ServerComponent_SMTP_Server
ServerComponent_SNMP_Service
ServerComponent_SNMP_WMI_Provider
ServerComponent_SoftwareLoadBalancer
ServerComponent_Storage_Replica
ServerComponent_Storage_Services
ServerComponent_System_DataArchiver
ServerComponent_System_Insights
ServerComponent_Telnet_Client
ServerComponent_TFTP_Client
ServerComponent_UpdateServices
ServerComponent_UpdateServices_API
ServerComponent_UpdateServices_Database
ServerComponent_UpdateServices_RSAT
ServerComponent_UpdateServices_Services
ServerComponent_UpdateServices_UI
ServerComponent_UpdateServices_WidDB
ServerComponent_VolumeActivation
ServerComponent_WAS
ServerComponent_WAS_Config_APIs
ServerComponent_WAS_NET_Environment
ServerComponent_WAS_Process_Model
ServerComponent_WDS
ServerComponent_WDS_AdminPack
ServerComponent_WDS_Deployment
ServerComponent_WDS_Transport
ServerComponent_Web_App_Dev
ServerComponent_Web_AppInit
ServerComponent_Web_Application_Proxy
ServerComponent_Web_ASP
ServerComponent_Web_Asp_Net
ServerComponent_Web_Asp_Net45
ServerComponent_Web_Basic_Auth
ServerComponent_Web_Cert_Auth
ServerComponent_Web_CertProvider
ServerComponent_Web_CGI
ServerComponent_Web_Client_Auth
ServerComponent_Web_Common_Http
ServerComponent_Web_Custom_Logging
ServerComponent_Web_DAV_Publishing
ServerComponent_WebDAV_Redirector
ServerComponent_Web_Default_Doc
ServerComponent_Web_Digest_Auth
ServerComponent_Web_Dir_Browsing
ServerComponent_Web_Dyn_Compression
ServerComponent_Web_Filtering
ServerComponent_Web_Ftp_Ext
ServerComponent_Web_Ftp_Server
ServerComponent_Web_Ftp_Service
ServerComponent_Web_Health
ServerComponent_Web_Http_Errors
ServerComponent_Web_Http_Logging
ServerComponent_Web_Http_Redirect
ServerComponent_Web_Http_Tracing
ServerComponent_Web_Includes
ServerComponent_Web_IP_Security
ServerComponent_Web_ISAPI_Ext
ServerComponent_Web_ISAPI_Filter
ServerComponent_Web_Lgcy_Mgmt_Console
ServerComponent_Web_Lgcy_Scripting
ServerComponent_Web_Log_Libraries
ServerComponent_Web_Metabase
ServerComponent_Web_Mgmt_Compat
ServerComponent_Web_Mgmt_Console
ServerComponent_Web_Mgmt_Service
ServerComponent_Web_Mgmt_Tools
ServerComponent_Web_Net_Ext
ServerComponent_Web_Net_Ext45
ServerComponent_Web_ODBC_Logging
ServerComponent_Web_Performance
ServerComponent_Web_Request_Monitor
ServerComponent_Web_Scripting_Tools
ServerComponent_Web_Security
ServerComponent_Web_Server
ServerComponent_Web_Stat_Compression
ServerComponent_Web_Static_Content
ServerComponent_Web_Url_Auth
ServerComponent_Web_WebServer
ServerComponent_Web_WebSockets
ServerComponent_Web_WHC
ServerComponent_Web_Windows_Auth
ServerComponent_Web_WMI
ServerComponent_Windows_Defender
ServerComponent_Windows_Identity_Foundation
ServerComponent_Windows_Internal_Database
ServerComponent_WindowsPowerShellWebAccess
ServerComponent_Windows_Server_Backup
ServerComponent_WindowsStorageManagementService
ServerComponent_Windows_TIFF_IFilter
ServerComponent_WinRM_IIS_Ext
ServerComponent_WINS
ServerComponent_Wireless_Networking
ServerComponent_WoW64_Support
ServerComponent_XPS_Viewer
serverconfiguration.cpp
serverconfiguration.h
serverconfigurationtests.cpp
Server denied you to change to the given directory
Server doesn't support multiplex (yet)
SERVER_INPUT_STARVATION
ServerIpc_Init
serverlistview.cpp
Server login options
ServerMessageDelegate
SERVER_OUTPUT_QUEUE_FULL_PACKET_DROP
SERVER_OUTPUT_READ_POINTER_OVERWRITE
serverpage.cpp
ServerPolicyPropertiesWW
serverregrecord.cpp
serverregrecord.h
serverregrecordtests.cpp
server requested blksize larger than allocated
server response timeout
    server            Start the application as the framework.
Server stopped successfully
Server stopped with error: 
serverStream
servertaskrecord.cpp
servertaskrecord.h
servertaskrecordtests.cpp
ServerUnenrollAADUnjoinFailed
ServerUnenrollTBRemoveAccountFailed
serverURL
Server user and password
 -service
ServiceAccount
SERVICE_ALL_ACCESS
ServiceBase
ServiceBaseDirName
servicebasics.cpp
servicebasics.h
servicebundle.cpp
servicebundle.h
service can't be empty
SERVICE_CONFIG_FAILURE_ACTIONS
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
service_config_reader.cpp
service_config_reader.h
service_config_reader_test.cpp
SERVICE_CONTINUE_PENDING
SERVICE_CONTROL_DEVICEEVENT
ServiceControlHandler
ServiceControlHandlerDelegate
ServiceControlHandlerEx
ServiceController
ServiceControllerStatus
SERVICE_CONTROL_POWEREVENT
SERVICE_CONTROL_SESSIONCHANGE
SERVICE_CONTROL_SHUTDOWN
SERVICE_CONTROL_STOP
service.cpp
Service DACL updated successfully
servicedatatypes.h
servicedependencypage.cpp
Service did not start. (
ServiceDirectoryPersistentState
ServiceDirectoryType
ServiceDirectoryTypeMax
?ServiceDiscoveryVolume@BuiVolume@@QEAAJXZ
serviceEnforcementMode
ServiceEventBroker
_serviceEventHandler
servicefactory.cpp
servicefactory.h
SERVICE_FAILURE_ACTIONS
SERVICE_FAILURE_ACTIONS_FLAG
servicegeneralpage.cpp
_serviceHandler
service_hooks.cpp
servicehooks.cpp
ServiceHost
serviceinclusionmgr.cpp
serviceinclusionmgr.h
service_information.hpp
ServiceInitializer
serviceInstaller
ServiceInstaller
serviceInstaller1
serviceinterfaces.h
ServiceIpc_DestroyDeferredMsgList
ServiceIpc_Init
ServiceIpc_SendDeferredMsgs
Service is going to continue.
ServiceLogComponentsMaskName
ServiceLoggerSettings
servicelogonpage.cpp
ServiceLogValueName
ServiceMain
servicemanager.cpp
servicemanager.h
service_metadata.cpp
service_metadata.h
service missing in parameters or hostname
service-name
ServiceName
Service PackWW
SERVICE_PAUSED
SERVICE_PAUSE_PENDING
ServicePowerEventDispatacher
service_process.cpp
serviceProcessInstaller
ServiceProcessInstaller
serviceProcessInstaller1
SERVICE_QUERY_CONFIG
_serviceReconfigDelay
_serviceReconfigured
servicerecoverypage.cpp
ServiceRecoveryProperty
ServiceRegistryStateParameters
ServiceRegistryStatePersistent
SERVICE_REGISTRY_STATE_TYPE
service_request_proxy.cpp
service_request_proxy.h
_serviceResumed
SERVICE_RUNNING
Services
servicespage.cpp
ServiceSpecificExitCode
servicesregistrykeyenumerator.cpp
servicesregistrykeyenumerator.h
servicesregistrykeyenumerator.stub.cpp
Service started.
ServiceStarted
ServiceStartMode
SERVICE_START_PENDING
ServiceState
_serviceStateKey
serviceStatus
_serviceStatusHandle
ServiceStopped
SERVICE_STOPPED
Service stopped successfully
Service stopped with error: 
SERVICE_STOP_PENDING
service_table.cpp
service temporary unavailable
ServicingErrorCode
SE_SHUTDOWN_NAME
sesopruPpmaL.sthgiL.seciveD.swodniW
sessalCataD.srotarepOkrowteN.gnikrowteN.swodniW
sessalCeciveDbsU.bsU.seciveD.swodniW
sessalCeciveDbsUI.bsU.seciveD.swodniW
sesserddAtellaW.tellaW.enohP.tfosorciM
_session
SessionChangeDescription
SessionChangeReason
sessioncontroller.cpp
sessioncontroller.h
session.cpp
SessionEnding
session.h
sessionid
sessionId
_sessionID
sessionID
SessionId
sessionimpl.cpp
sessionimpl.h
Session info.
_sessionManager
sessionmanager.cpp
sessionmanagerfactoriestests.cpp
sessionmanager.h
sessionmanagertests.cpp
sessionmgr.cpp
sessionmgr.h
sessionmock.cpp
sessionmock.h
sessionoverrides.h
sessionqueue.h
sessionqueueimpl.cpp
sessionqueueimpl.h
sessionqueuemock.cpp
sessionqueuemock.h
sessionqueuetests.cpp
_sessions
Session Still Active
sessiontests.cpp
sessiontests.h
Session Token
SessionTracker
Set24bitSupport
SetAcaProxyAcaContextQueryDelegate
SetAcaProxyAcaDetectorGetCapsDelegate
SetAcaProxyAcaGetIpParamDelegate
SetAcaProxyAcaRegisterNotificationHandleDelegate
SetAcaProxyAcaSetIpParamDelegate
SetAcaProxyAcaStartSoundDetectDelegate
SetAcaProxyAcaStopSoundDetectDelegate
SetAcaProxyAcaUnregisterNotificationHandleDelegate
SetAcaProxyGetAcaApiVersionDelegate
?SetAccName@Element@DirectUI@@QEAAJPEBG@Z
set_Account
SetAccountPolicyUser
SetAccountPolicyWildcard
SET_AC_PEAK_POWER
Set a CRL list for proxy
set_Acronym
SET_ACTIVE_CONTROL_POINT_RELATIONSHIP_TABLE
SET_ACTIVE_POWER_SCHEME
SET_ACTIVE_PPM_PACKAGE
Set Active PPM Package request received
SET_ACTIVE_RELATIONSHIP_TABLE
SetActiveWindow
SET_ACUR
SET_ADAPTER_POWER_RATING
SET_ADAPTIVE_DIMMING_DPPE_SETTING
SET_ADAPTIVE_DIMMING_EXTERNAL_MONITOR_DPPE_SETTING
SET_ADAPTIVE_DIMMING_PRE_DIM_WAIT_TIME_DPPE_SETTING
SET_ADAPTIVE_DIMMING_PRESENTATION_MODE_DPPE_SETTING
SET_ADAPTIVE_PERFORMANCE_ACTIONS_TABLE
SET_ADAPTIVE_PERFORMANCE_CONDITIONS_TABLE
SET_ADAPTIVE_PERFORMANCE_PARTICIPANT_CONDITION_TABLE
SET_ADAPTIVE_USER_PRESENCE_TABLE
setageleDkcabllaCecruoSeliT.slortnoC.spaM.enohP.tfosorciM
setageleDkcabllaCesreveRecruoSeliT.slortnoC.spaM.enohP.tfosorciM
setageleDkcabllaCesreveRpaM.slortnoC.spaM.enohP.tfosorciM
setageleDkcabllaCesreveRredniF.secivreS.spaM.enohP.tfosorciM
setageleDkcabllaCesreveRretuoR.secivreS.spaM.enohP.tfosorciM
setageleDkcabllaCpaM.slortnoC.spaM.enohP.tfosorciM
setageleDkcabllaCredniF.secivreS.spaM.enohP.tfosorciM
setageleDkcabllaCretuoR.secivreS.spaM.enohP.tfosorciM
SET_AGGRESSIVENESS_LEVEL
set_AGSTargetEnvironment
SET_AMBIENT_TEMPERATURE_INDICATION
set_AmpPath
setanidrooCoeGdelahsraM.slortnoC.spaM.enohP.tfosorciM
SET_AP01
SET_AP02
SET_AP10
SET_APP_ALIVE_RESPONSE
set_ApplicationBase
set_ApplicationName
set_AppliedProfile
SET_APP_START
SET_APP_STOP
__set_app_type
_set_app_type
Set Appv Client modeWW
set_AreCapsPopulated
set_Args
set_Arguments
_setAsDefault
SetAsDefault
SetAspectScalingPreferenceWW
set_Assistant
set_Assistants
setatSecnefoeGderotinoM.gnicnefoeG.noitacoloeG.seciveD.swodniW
SETATSEFASNU.scitnameS.redniBemitnuR.prahSC.tfosorciM
setatSegasUkrowteN.ytivitcennoC.gnikrowteN.swodniW
setatSgnimaoR.ytivitcennoC.gnikrowteN.swodniW
setatSirT.ytivitcennoC.gnikrowteN.swodniW
setatSnoitpOtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
setatSyeKlautriVeroC.eroC.IU.swodniW
setatSyrtnEteehSelytSpaM.spaM.slortnoC.lmaX.IU.swodniW
?SetAttributes@FSN_FILTER@@QEAAEKKK@Z
?SetAttributes@FSNODE@@QEAAEKPEAK@Z
?SetAutochkTimeOut@VOL_LIODPDRV@@SAEK@Z
set_AutoCommit
SetAutomagicFlags
SET_AUTONOMOUS_BATTERY_LIFE_MANAGEMENT_STATE
set_AvailableProfiles
SetAvDeviceValuesWWW
SET_AVG_TEMPERATURE_TIME_WINDOW
SET_AVOL
SetAvPixelStructureWd
set_BackgroundColor
set_BarStyle
SET_BASELINE_SSC_GUARD_BAND
SET_BASELINE_SSC_SPREAD_VALUE
SET_BASELINE_SSC_THRESHOLD
SET_BATTERY_HIGH_FREQUENCY_IMPEDANCE
SET_BATTERY_MAX_PEAK_CURRENT
SET_BATTERY_NO_LOAD_VOLTAGE
SET_BATTERY_PERCENTAGE
SET_BATTERY_STATE_OF_CHARGE
Set Battery State Of Charge request received
SET_BATTERY_TEMPERATURE
Set Battery Temperature request received
SetBigParameter
SetBiometricUnitPolicy
set_BitsPerSample
SetBkColor
SetBkMode
set_Blob
set_BlobMd5
set_Body
set_Cancel
set_CanHandlePowerEvent
set_CanHandleSessionChangeEvent
set_CanPauseAndContinue
set_CanShutdown
set_CapabilityBuffer
set_CapabilityReader
SetCapture
?SetCaseSensitive@ARGUMENT_LEXEMIZER@@QEAAXE@Z
Set CCC mode
set_Channels
set_ChannelsCount
?SetCheckedState@TouchCheckBox@DirectUI@@QEAAJW4CheckedStateFlags@2@@Z
?Set@CHKDSK_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
?SetClass@Element@DirectUI@@QEAAJPEBG@Z
SetClassLongPtrW
set_ClassName
SET_CLEAR_ALL_SIMULATION_MODE_EVENT_TYPE
SET_CLEAR_SIMULATION_MODE_EVENT_TYPE
Set client certificate for proxy
set_ClientProxyApiVersionSelector
*SetClientRunMode
SetClipboardData
SetCloneView
SetColorProfileElement
SetColorProfileElementSize
set_ComponentMask
?SetConfigAgent@ConfigAgentFactory@@QEAAXPEAUIConfigAgent@@@Z
set_ConfigBlobMd5
set_ConfigBlobSize
set_ConfigData
set_ConfigDataFilePath
SET_CONFIG_DATAVAULT
SET_CONFIG_RESET
set_ConfigType
set_Configuration
SetConfiguration
set_ConfigurationFilePath
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCurrentFont
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleDisplayMode
SetConsoleHistory
SetConsoleHistoryInfo
SetConsoleInputExeNameW
SetConsoleMode
SetConsoleNumberOfCommands
SetConsoleNumberOfCommandsW
SetConsoleOutputCP
SetConsoleScreenBufferInfo
SetConsoleScreenBufferInfoEx
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitle
SetConsoleTitleA
SetConsoleTitleW
SetConsoleWindowInfo
set_Content
SetContentMismatchMsg
?SetContentString@Element@DirectUI@@QEAAJPEBG@Z
set_ContractResponse
SetControllerStatus
SetControllerStatus VDS_CS_OFFLINE
Set-Cookie:
Set Cooling Mode received
set_CoreDriverController
set_CoreRegistryController
set_CoreStreamAndNotificationsManager
set_Count
set_CreateNoWindow
set_Culture
SetCurrentConsoleFontEx
SetCurrentDirectory
SetCurrentDirectoryA
SetCurrentDirectoryW
SetCurrentIoctlControl
SetCurrentProcessExplicitAppUserModelID
set_CurrentWritePosition
SetCursor
SetCustomTrigger
SetCustomTriggerEx
SetDapVariantParam
set_DataBlobSize
set_DataContext
set_DataSize
SetDCBrushColor
SET_DC_PEAK_POWER
SetDefaultAllVideoSettings
SetDefaultDllDirectories
SetDefaultOffsets
SetDeploymentError
set_Description
SetDesktopColorTransform
set_Detected
set_DetectionData
SetDetectionData
SetDetectionDataDetails
set_DetectorDllApi
set_DetectorDllClientManager
SetDeviceDataWWW
set_DeviceEnumerator
SetDeviceGammaRamp
set_DeviceId
Set Device Orientation received
set_DeviceState
SET_DEVICE_TEMPERATURE_INDICATION
SetDialogControlDpiChangeBehavior
SET_DISENGAGED_STABILITY_WINDOW
SetDisplayAutoRotationPreferences
SET_DISPLAY_BRIGHTNESS
SET_DISPLAY_BRIGHTNESS_LEVELS
SET_DISPLAY_BRIGHTNESS_SOFT
SET_DISPLAY_CAPABILITY
SetDisplayConfig
SET_DISPLAY_DEPTH_LIMIT
set_DisplayName
Set Display Orientation received
SetDisplayPolicy
SetDlgItemInt
SetDlgItemTextA
SetDlgItemTextW
SetDllDirectoryW
SetDllDirectoryWExport
set_DllPath
Set Dock Mode received
SetDocString
SetDomainInfoPolicy_End
SetDomainInfoPolicy_Start
SetDriveFlag
SetDriveStatus
SetDriveStatus VDS_DRS_ONLINE
set_DspMd5
set_DspPath
set_DuplicateCount
set_DvConfigEntries
set_EasingFunction
set_EasingMode
set_EhscMd5
set_EhscPath
SET_EMERGENCY_CALL_MODE_TABLE
set_Enabled
?SetEnabled@Element@DirectUI@@QEAAJ_N@Z
SetEndOfFile
set_EndpointActionController
set_EndpointActionScheduler
set_EndpointManager
set_EndpointSelector
SET_ENERGY_THRESHOLD_COUNT
SET_ENERGY_THRESHOLD_INT_DISABLE
set_EnsureLocatable
set_Entries
SetEntriesInAcl. Error: 
SetEntriesInAcl failed: err: 
SetEntriesInAclW
SetEnvironmentStringsW
SetEnvironmentVariable
SetEnvironmentVariableA
SetEnvironmentVariableW
SET_EPP_SENSITIVITY_HINT
_set_errno
set_Error
SetError
set_ErrorCode
seterrorlevel
SetErrorMode
set_EthPath
SetEvent
SetEventFilterWWd
SetEventHandle
set__eventMgrserviceControlHandler
set_EventResponse
set_EventType
SetEventWaitHandle
SetException
set_ExecutableLocation
SET_EXECUTE_SIMULATION
set_ExitCode
SetExitEvent
SET_EXPECTED_BATTERY_LIFE
SetExtensionProperty
SET_EXTERNAL_MONITOR_EVENT_DPPE_SETTING
SET_FAILSAFE_TIMEOUT_DPPE_SETTING
SET_FAN_CAPABILITIES
SET_FAN_LEVEL
SET_FAST_POLL_TIME
set_Features
SetFileAttributesA
SetFileAttributesW
?SetFile@CIniW@@QEAAXPEBG@Z
SetFileInformationByHandle
set_FileName
set_FileNameEnding
?SetFileName@FSN_FILTER@@QEAAEPEBD@Z
?SetFileName@FSN_FILTER@@QEAAEPEBVWSTRING@@@Z
set_FileNames
SetFileNotFoundErrorMsg
SetFilePointer
SetFilePointerEx
set_Files
set_FileSize
set_FileSizeRollOverKb
SetFileTime
set_FinishedProcessing
?setf@ios_base@std@@QEAAHHH@Z
?setf@ios_base@std@@QEAAHH@Z
_set_fmode
SetFocus
Set Foreground Application received
SET_FOREGROUND_APP_RATIO_PERIOD
set_ForegroundColor
SetForegroundWindow
SetForestTrustInfo_End
SetForestTrustInfo_Start
SetFormat
set_FormatTag
SetGammaRamp
SetGestureConfig
SetGrantedCount
set_Guid
SetHandle
SetHandleAsInvalid
SetHandlers
set_HandlerType
SetHashMismatchMsg
SetHbaPortAllPathStatusStatus VDS_MPS_ONLINE
SetHbaPortAllPathStatusStatus VDS_MPS_STANDBY
SetHbaPortPathsStatus
set_Header
set_Height
SetHelpContext
SetHelpFileName
?SetHInst@CIniW@@QEAAXPEAUHINSTANCE__@@@Z
set_Hive
SetHookFlag
set_HscMd5
set_HscPath
SET_HWPF_CONFIG
set_IGTAvailable
set_Info
SetInfoPolicy2_End
SetInfoPolicy2_Start
SetInfoPolicy_End
SetInfoPolicy_Start
SetInformationJobObject
SetInfoTrustedDom_End
SetInfoTrustedDom_Start
SetInfoW 
set_InputChannelsCount
set_InputFormat
set_IntelClientProxy
SetIntelClientProxyCpApiVersionQueryDelegate
SetIntelClientProxyCpAudioFormatQueryDelegate
SetIntelClientProxyCpCreateStreamV1Delegate
SetIntelClientProxyCpCreateStreamV2Delegate
SetIntelClientProxyCpCreateStreamV3Delegate
SetIntelClientProxyCpDestroyStreamDelegate
SetIntelClientProxyCpEventQueryDelegate
SetIntelClientProxyCpFarfieldSupportQueryDelegate
SetIntelClientProxyCpGetBufferDelegate
SetIntelClientProxyCpMicArrayQueryDelegate
SetIntelClientProxyCpQueryDelegate
SetIntelClientProxyCpStartDelegate
SetIntelClientProxyCpStopDelegate
SET_INTELLIGENT_THERMAL_MANAGEMENT_TABLE
set_IntelMultiPaSetupProxy
SetIntelMultiPaSetupProxyAddSvDelegate
SetIntelMultiPaSetupProxyAssistantSubscribeDelegate
SetIntelMultiPaSetupProxyAssistantUnsubscribeDelegate
SetIntelMultiPaSetupProxyGetMultiPaApiVersionDelegate
SetIntelMultiPaSetupProxyGetMultiPaParameterDelegate
SetIntelMultiPaSetupProxyQueryCapabilitiesDelegate
SetIntelMultiPaSetupProxyQueryCurrentLanguageDelegate
SetIntelMultiPaSetupProxyRegisterPdtDelegate
SetIntelMultiPaSetupProxyRegisterUdtDelegate
SetIntelMultiPaSetupProxyRemoveSvDelegate
SetIntelMultiPaSetupProxySetMultiPaParameterDelegate
SetIntelMultiPaSetupProxyUnregisterPdtDelegate
SetIntelMultiPaSetupProxyUnregisterUdtDelegate
set_Interval
|SetInverterParamsWWWL
SET_IOCTL
set_IoctlControl
SetIoctlControl
set_IoctlManager
set_IsComplete
set_IsConfigured
set_IsCreated
set_IsEnabled
set_IsGlobal
set_IsInitialized
set_IsInitializing
set_IsKsControlActive
set_IsLoggingEnabled
set_IsMandatory
set_IsProcessing
set_IsStreamCreated
set_IsWovArmed
set_Item
SET_JAVA_HELPER_SERVICE_NOTIFICATION
SetKBHookEx
SetKernelObjectSecurity
?SetKeyFocus@Element@DirectUI@@UEAAXXZ
?SetKeyFocus@HWNDHost@DirectUI@@UEAAXXZ
set_KeyPath
?SetKeyValue@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11@Z
?SetKeyValueMultiline@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11H@Z
set_KpBufOutPin
set_KpdSensitivity
set_KsProperty
set_Language
SetLastError
SET_LAST_EWMA_POWER
SET_LAST_POWER_USED
SetLayeredWindowAttributes
SetLayout
?SetLayoutPos@Element@DirectUI@@QEAAJH@Z
set_Left
set_Length
SetLibFlags
Set Lid State received
setlocale
SetLocalTime
set_LogDirectory
SetLogFile
SetLoggingSettings
set_LogIdentifier
set_LogLevel
SetLogMessageDelegate
set_LogTime
set_LoopbackFormat
SetLunStatus
SetLunStatus VDS_LS_OFFLINE
SetLunStatus VDS_LS_ONLINE
SetMapMode
set_MatchPattern
Set maximum allowed TLS version
?SetMaxLength@Edit@DirectUI@@QEAAJH@Z
SetMenuDefaultItem
SetMenuItemBitmaps
SetMenuItemInfoW
set_Message
set_Method
SetMethod
set_MethodName
set_m_handle
set_MicArrayGeometry
set_MicArrayLength
set_MicChannelsCount
set_MicrophoneAccessVerifier
SET_MINIMUM_SAMPLE_PERIOD
SET_MISPREDICTION_1_DIM_WAIT_TIME_DPPE_SETTING
SET_MISPREDICTION_2_DIM_WAIT_TIME_DPPE_SETTING
SET_MISPREDICTION_3_DIM_WAIT_TIME_DPPE_SETTING
SET_MISPREDICTION_4_DIM_WAIT_TIME_DPPE_SETTING
SET_MISPREDICTION_FACE_DETECTION_DPPE_SETTING
SET_MISPREDICTION_TIME_WINDOW_DPPE_SETTING
Set Mixed Reality Mode request received
SetMmpcEnrollmentFlag
Set Mobile Notification request received
_setmode
set_ModeId
set_Model
set_ModelFilePath
set_ModelId
set_ModelInfoList
set_ModelsConfigs
set_ModelsCount
set_ModeManager
SetMonitorBrightness
SetMonitorContrast
SetMonitorPowerState
Set Motion Changed received
SetMouseHookEx
set_m_svcHost
set_MultiPaSetupProxy
set_MultiplexedFormat
SetMutableStorageProvider
set_Name
SetNamedPipeHandleState
SetNamedSecurityInfoW
?SetName@PATH@@QEAAEPEBVWSTRING@@@Z
set_NamespacePath
SET_NEGATIVE_EVENT_FILTERING_STATE
_set_new_mode
set_NewState
SET_NLOP_BATTERY_DPPE_SETTING
SET_NLOP_BATTERY_REMAINING_PERCENTAGE_DPPE_SETTING
SET_NLOP_DPPE_SETTING
SET_NLOP_RESET_WAIT_TIME_DPPE_SETTING
SET_NO_LOCK_ON_PRESENCE_EXTERNAL_MONITOR_DPPE_SETTING
set_NotificationClient
set_NotificationDialogDefaultParent
set_NotificationHandler
set_NotificationsManager
SET_NOT_PRESENT_STABILITY_WINDOW
set_NrmPath
SET_OEM_VARS
set_OnsetBufferLength
SetOnsetBufferLength
SET_OPERATING_SYSTEM_CAPABILITIES
set_Optimizable
set_Optimized
set_Options
SetOriginalVolumeName
SET_OS_BATTERY_PERCENTAGE
Set OS Battery Percentage received
SET_OS_COOLING_MODE
SET_OS_DOCK_MODE
SET_OS_FOREGROUND_APPLICATION
SET_OS_LID_STATE
SET_OS_MIXED_REALITY_MODE
SET_OS_MOBILE_NOTIFICATION
SET_OS_PLATFORM_TYPE
SET_OS_POWER_SOURCE
set_OutOfSequenceStreamingRate
set_Output
set_OutputFormat
set_OutputTypeName
set_PaAcronym
set_PackageCount
set_PackageId
set_PackageName
SetPackageSubscription
set_PaConfigurations
set_PaCount
SetParameter
?SetParams@CmLogFile@@QEAAJHKPEBD@Z
?SetParams@CmLogFile@@QEAAJHKPEBG@Z
SET_PARTICIPANT_CAPABILITIES_EVAL
SET_PARTICIPANT_CURRENT_CONTROL_CAPABILITY
SET_PARTICIPANT_CURRENT_LIMIT
SET_PARTICIPANT_ENERGY_THRESHOLD
SET_PARTICIPANT_HYSTERESIS_BEHAVIOR
Set Participant Hysteresis Behavior received
SET_PARTICIPANT_MAX_PERF_STATE
SET_PARTICIPANT_RESIDENCY_UTILIZATION
SET_PARTICIPANT_SAMPLE_BEHAVIOR
SET_PARTICIPANT_SAMPLE_PERIOD
SET_PARTICIPANT_UTILIZATION_THRESHOLD
SET_PASSIVE_RELATIONSHIP_TABLE
set_Password
set_Path
set_PaVendorId
SET_PBOK
set_PercentageComplete
SET_PERFMON_COUNTERS_FIXED_CTR_CTRL
SET_PERFMON_COUNTERS_GLOBAL_CTRL
set_PerformanceCount
SET_PERF_PRESENT_CAPABILITY
SET_PERF_PRESENT_CAPABILITY_SUR
SET_PERF_PSTATE_DEPTH_LIMIT
SET_PERF_SUPPORT_STATES
set_PhmPath
set_PhraseDetected
set_PhysicalRequest
SET_PID_ALGORITHM_TABLE
SET_PID_KI_TERM
SET_PID_KP_TERM
SET_PID_TIME_AVERAGE_CONSTANT
SetPixel
SetPixelV
SET_PLATFORM_BATTERY_STEADY_STATE
SET_PLATFORM_MAX_BATTERY_POWER
SET_PLATFORM_POWER_LIMIT
SET_PLATFORM_POWER_LIMIT_DUTY_CYCLE
SET_PLATFORM_POWER_LIMIT_ENABLE
SET_PLATFORM_POWER_LIMIT_TIME_WINDOW
SET_PLATFORM_POWER_SOURCE
Set Platform Power Source received
SET_PLATFORM_REST_OF_POWER
Set Platform Type received
set_pluginEntryPath
set_pluginId
set_pluginName
SET_POLICY_PRESENCE_STATE_DPPE_SETTING
SET_PORT
SET_POSITIVE_EVENT_FILTERING_STATE
SET_POWER_ALPHA
SET_POWER_BOSS_ACTIONS_TABLE
SET_POWER_BOSS_CONDITIONS_TABLE
SET_POWER_BOSS_MATH_TABLE
SET_POWER_DELTA
SET_POWER_SAMPLE_BEHAVIOR
SET_POWER_SCHEME_EPP
Set Power Scheme EPP request received
SET_POWER_SEED
SET_POWER_SHARE_EFFECTIVE_BIAS
SET_POWER_SHARE_POLICY_POWER
SET_POWERSHARE_POWER_LIMIT_TIME_WINDOW
SET_POWER_SHARE_TEMPERATURE_THRESHOLD
SET_POWER_SHARING_ALGORITHM_TABLE
SET_POWER_SHARING_ALGORITHM_TABLE_2
SET_POWER_THRESHOLD_HYSTERESIS
SET_POWER_THRESHOLDS
setp_part
SET_PPM_PACKAGE_PARAM
Set PPM Package Parameters request received
SET_PPM_PARAMS_TO_NULL
set_PpVendorDllFile
set_PreAuthenticate
set_PreferenceEventHandler
SetPreinstalledWoVDriverMode
set_Preprocessed
SET_PRESENT_STABILITY_WINDOW
set_PrimaryFeatureBlockPercentDownloaded
?SetPrimaryFile@CIniW@@QEAAXPEBG@Z
?SetPrimaryRegPath@CIniW@@QEAAXPEBG@Z
SetPriorityClass
SetPrivateObjectSecurityEx
SetProcessAffinityMask
SetProcessDefaultLayout
SetProcessDpiAwareness
SetProcessDpiAwarenessContext
SetProcessInformation
set_ProcessingChunkIn10ms
set_ProcessingEnabled
SetProcessMitigationPolicy
SetProcessPreferredUILanguages
SetProcessShutdownParameters
SetProcessWorkingSetSize
SetProcessWorkingSetSizeEx
SetProcessWorkingSetSizeExExport
SET_PROC_IO_THROTTLE_CONTROL
SET_PROC_LOGICAL_PROCESSOR_AFFINITY
SET_PROC_MAX_THROTTLE_STATE
SET_PROC_NUMBER_OFFLINE_CORES
SET_PROC_PERF_PSTATE_DEPTH_LIMIT
SET_PROC_PERF_SUPPORT_STATES
SET_PROC_PERF_TSTATE_DEPTH_LIMIT
SET_PROC_THERMAL_DESIGN_POWER
SET_PROC_TURBO_ACTIVATION_RATIO
SET_PROC_TURBO_STATE
SetPropertyValue
SetPropW
SetProtocolProperty
set_Proxy
SetProxy
?SetProxyObject@BuiVolume@@QEAAXPEAUIDispatch@@@Z
set_QueryLanguage
set_QueryString
SetQueryString
SET_RAPL_ENERGY
SET_RAPL_FLOOR_STATE
SET_RAPL_POWER
SET_RAPL_POWER_CONTROL_CAPABILITIES
SET_RAPL_POWER_LIMIT
SET_RAPL_POWER_LIMIT_DUTY_CYCLE
SET_RAPL_POWER_LIMIT_ENABLE
SET_RAPL_POWER_LIMIT_TIME_WINDOW
SET_RAPL_TIME_WINDOW
set_ReadWriteTimeout
SetRectEmpty
set_RefChannelsCount
set_RegistryController
Set (Reload) Active Power Scheme request received
set_RequestEvent
set_RequestFactory
set_RequestId
SetRequestId
set_RequestManager
set_ResponseCount
SetRestrictedErrorInfo
SetResult
set_ResultCode
set_ResultCodeGroup
set_ResultDescription
set_ReturnCode
SET_RF_CHANNEL_INFO
SET_RFPROFILE_CENTER_FREQUENCY
SET_RFPROFILE_CENTER_FREQUENCY_FIVR
SET_RFPROFILE_CENTER_FREQUENCY_MCIVR
SET_RFPROFILE_CENTER_FREQUENCY_SUR
SET_RFPROFILE_FIVR_RFI_XTAL_19_24
SET_RFPROFILE_FIVR_RFI_XTAL_38
SET_RFPROFILE_SSC_FIVR
SET_RFPROFILE_SSC_MCIVR
SET_RFPROFILE_WIFI24_FREQ_GUARD_BAND
SET_RFPROFILE_WIFI5_FREQ_GUARD_BAND
SET_RFPROFILE_WWAN_FREQ_GUARD_BAND
SetRMTag
set_RootPath
?SetRootWindowForTheming@DUIXmlParser@DirectUI@@QEAAXPEAUHWND__@@@Z
set_RpcServer
set_RunAsApp
set_SafeWaitHandle
Set Sample Behavior received
set_SamplesPerSecond
set_Scope
SET_SCREEN_AUTO_LOCK_STATE
SET_SCREEN_STATE
SetScrollInfo
SetScrollPos
SetScrollRange
SetSecurityAccessMask
set_SECURITY_DESCRIPTOR
SetSecurityDescriptorDacl
SetSecurityDescriptorDacl failed
SetSecurityDescriptorDacl failed: err: 
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityDescriptorSacl
SetSecurityInfo
SetSelectedController
SetSelectedController(-1)
SetSelectedDrive
SetSelectedDrive(-1)
SetSelectedHbaPort
SetSelectedIAdapter
SetSelectedIPortal
SetSelectedLun
SetSelectedLun(-1)
SetSelectedPort
SetSelectedProvider
SetSelectedProvider(-1)
SetSelectedStoragePool
SetSelectedStoragePool(-1)
SetSelectedSubsystem
SetSelectedSubsystem(-1)
SetSelectedTarget
SetSelectedTarget(-1)
SetSelectedTPGroup
SetSelectedTPGroup(-1)
SetSelectedTPortal
SetSelectedTPortal(-1)
?SetSelection@Selector@DirectUI@@UEAAJPEAVElement@2@@Z
?SetSelection@TouchEdit2@DirectUI@@QEAAJJJ@Z
SetSelfBargeInSupport
set_SelfBargeInSupported
SET_SENSOR_DEVICE_ORIENTATION
SET_SENSOR_DISPLAY_ORIENTATION
SET_SENSOR_HUB_ENABLE
SET_SENSOR_MOTION_CHANGED
set_ServerURL
set_ServiceName
SetServiceObjectSecurity
SetServiceObjectSecurity failed: error 
SetServiceStatus
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
Sets Frame InfoWWW
SetShellWindow
SetShellWindowEx
_SetShieldIcon
SetSignatureMismatchMsg
SET_SIMULATION_MODE_EVENT_TYPE
SET_SLOWPOLL_POWER_THRESHOLD
SET_SLOW_POLL_TIME
set__socketPort
SET_SOCWC_AC_POLLING_PERIOD
SET_SOCWC_DC_POLLING_PERIOD
SET_SOCWC_SLOW_POLLING_PERIOD
set_Source
SET_SPECIFIC_ACTION_PRIMITIVE
set_SpeechInputFormat
set_SpeechMode
set_Stage
SetStandardKernelButtonTapData
SET_STANDBY_TEMPERATURE_SAMPLE_PERIOD
set_StartType
set_StartupUri
SetState
SetStateMachine
set_StaticScope
set_StatusComment
set_StatusType
SetStdHandle
SET_STORAGE_BUS_CONTROLLER_LOCATION
set_StorageController
set_StorageDirPath
SetStreamActionResetMethod
set_StreamConfigurators
set_StreamController
set_StreamInfo
?Set@STREAM_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
set_StreamStarted
set_StreamStartupConfig
SetStretchBltMode
set_SubstageId
SetSubsystemStatus
SetSubsystemStatus VDS_SSS_OFFLINE
SetSubsystemStatus VDS_SSS_ONLINE
SET_SUPPORTED_POLICIES
set_SupportedSoundList
SET_SUPPORT_EPP_HINT
SET_SUPPORT_SOC_WORKLOAD
SetSuspendEnablePort
SetSuspendState
set_SvModels
SET_SYSTEM_HIBERNATE
SET_SYSTEM_POWER_SETTING_DISABLE
SET_SYSTEM_POWER_SETTING_ENABLE
SET_SYSTEM_POWER_SETTING_REMOVE
SetSystemPowerState
SET_SYSTEM_SHUTDOWN
SET_SYSTEM_SLEEP
set_TaskId
SetTaskmanWindow
SET_TCC_OFFSET
Set telnet option
SET_TEMPERATURE
SET_TEMPERATURE_INTERRUPT_STATE
SET_TEMPERATURE_THRESHOLD_HYSTERESIS
SET_TEMPERATURE_THRESHOLDS
SET_TEMPERATURE_THRESHOLDS_SUR
SetTermsrvAppInstallMode
set_Text
SetTextAlign
SetTextColor
Set TFTP BLKSIZE option
"Set the name to appear in the bar.
Set the remote file's time on the local output
SET_THERMAL_MBOX_CMD_DATA
SET_THERMAL_MBOX_CMD_REG
SET_THERMAL_MBOX_DATA_REG
SET_THERMAL_RELATIONSHIP_TABLE
"Set the text to appear in the bar.
"Set the value of the progress bar.
SetThreadAffinityMask
SetThreadDesktop
SetThreadDpiAwarenessContext
SetThreadExecutionState
SetThreadGroupAffinity
SetThreadInformation
SetThreadLocale
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadpoolWait
SetThreadPreferredUILanguages
SetThreadPriority
SetThreadPriorityBoost
SetThreadStackGuarantee
SetThreadToken
SetThreadUILanguage
set_ThrowOnInvalidPropertyName
set_TIME_CREATED
set_Timeout
SetTimer
settingactivities.cpp
settingactivities.h
settingcache.h
settingcachetests.cpp
settingchangedtests.cpp
settingmanager.h
settingmanagertest.cpp
Setting privacy switch status to UserSensorPrivacySwitchStatus::SUCCESS.
settings
Settings
SETTINGS_APPLIED_USING_OFFLINE_DATA
settingscollators.cpp
settingscollators.h
settingsender.h
settingsendertest.cpp
SETTINGS_IDENTICAL
SETTINGS_NOT_APPLICABLE
SETTINGS_NOT_OPTIMIZED
settingsVersion
SETTINGS_ZIP_CONFIG_FILES_ERROR
SETTINGS_ZIP_EXTRACTION_ERROR
SETTINGS_ZIP_NOT_FOUND
settingwatcher.h
settingwatchertest.cpp
set_Title
set_TitleId
set_TitleName
SetTokenInformation
SetTouchFlag
set_TresholdPath
SET_TRIGGER_EVENT
SET_TRIP_POINT_ACTIVE
SET_TRIP_POINT_CRITICAL
SET_TRIP_POINT_HOT
SET_TRIP_POINT_PASSIVE
SET_TRIP_POINT_WARM
SetTrstedDomInfoByNam_End
SetTrstedDomInfoByNam_Start
SetTrustedInstallerMismatchMsg
SET_TSTATE_CURRENT
SetTvParametersW
set_Type
setubirttAeliF.egarotS.swodniW
setubirttAgniwarDknI.gniknI.tupnI.IU.swodniW
setubirttAgniwarDknII.gniknI.tupnI.IU.swodniW
setubirttAreledoMknI.gniknI.tupnI.IU.swodniW
setubirttAreledoMknII.gniknI.tupnI.IU.swodniW
setubirttArosruCyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
setubirttArosruCyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
setubirttAyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
setubirttAyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
setubirttAygolobmySedocraB.ecivreSfOtnioP.seciveD.swodniW
setubirttAygolobmySedocraBI.ecivreSfOtnioP.seciveD.swodniW
setubirttAytreporP.ataD.metsyS
SetUmsThreadInformation
SET_UNDER_VOLTAGE_THRESHOLD
SetUnhandledExceptionFilter
setupactions.h
setupapi.dll
Setupapi.dll
SETUPAPI.dll
SETUPAPI.DLL
SetupCloseInfFile
setupconfig.cpp
setupconfig.h
setupconfigtest.cpp
setupconfigtestwithnoparam.cpp
set_UpdateInProgressEvent
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiClassGuidsFromNameExW
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoW
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfoW
SetupDiGetClassDevs
SetupDiGetClassDevsExW
SetupDiGetClassDevsW
SetupDiGetDeviceInfoListDetailW
SetupDiGetDeviceInstallParamsW
SetupDiGetDeviceInstanceIdW
SetupDiGetDeviceInterfaceDetailW
SetupDiGetDevicePropertyW
SetupDiGetDeviceRegistryProperty
SetupDiGetDeviceRegistryPropertyW
SetupDiGetDriverInfoDetailW
SetupDiGetDriverInstallParamsW
SetupDiGetINFClass
SetupDiGetINFClassW
SetupDiOpenDeviceInfoW
SetupDiOpenDeviceInterfaceW
SetupDiOpenDevRegKey
SetupDiRemoveDevice
SetupDiSetDeviceInstallParamsW
SetupDiSetDeviceRegistryProperty
SetupDiSetDeviceRegistryPropertyW
setupengine.cpp
setupengine.h
setupenginetest.cpp
SetupFileLoggers
SetupFileLoggersMethod
SetupFindFirstLineW
SetupFindNextLine
SetupGetFieldCount
SetupGetInfDriverStoreLocationW
SetupGetIntField
SetupGetLineCountW
SetupGetStringFieldW
SetupOpenInfFileW
setupparamstest.cpp
SetupSetNonInteractiveMode
SetupTimers
SetupUninstallOEMInfW
setuputils.hpp
SET_USER_DISENGAGED_DIMMING_INTERVAL_DPPE_SETTING
SET_USER_DISENGAGED_DIM_TARGET_DPPE_SETTING
SET_USER_DISENGAGED_DIM_WAIT_TIME_DPPE_SETTING
SetUserFileEncryptionKey
__setusermatherr
set_Username
SET_USER_NOT_PRESENT_DIM_TARGET_DPPE_SETTING
SET_USER_PRESENT_WAIT_TIMEOUT_DPPE_SETTING
set_UseShellExecute
SET_UVTH
set_Value
SetValue
set_ValueCount
?SetValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZHPEAVValue@2@@Z
set_ValueName
set_VaPhraseId
set_VaVendorId
SetVCPFeature
set_VerboseEnabled
SetVersion
set_VersionId
SetViewportExtEx
SetViewportOrgEx
SET_VIRTUAL_SENSOR_CALIB_TABLE
SET_VIRTUAL_SENSOR_POLLING_TABLE
SET_VIRTUAL_TEMPERATURE
Set Virtual Temperature received
?SetVisible@Element@DirectUI@@QEAAJ_N@Z
SET_VOLTAGE_THRESHOLD_MATH_TABLE
SetVolumeMountPointW
SetWaitableTimer
SET_WAKE_ON_APPROACH_STATE
set_wake_on_approach_state_win
SET_WAL_DIM_INTERVAL_DPPE_SETTING
SET_WAL_DIM_SCREEN_DPPE_SETTING
SET_WAL_DISPLAY_OFF_AFTER_LOCK_DPPE_SETTING
SET_WAL_DPPE_SETTING
SET_WAL_EVENT_DPPE_SETTING
SET_WAL_EXTERNAL_MONITOR_DPPE_SETTING
SET_WAL_HONOR_DISPLAY_POWER_REQUEST_DPPE_SETTING
SET_WAL_PRE_DIM_WAIT_TIME_DPPE_SETTING
SET_WAL_SCREEN_LOCK_WAIT_TIME_DPPE_SETTING
SET_WAL_USER_IN_CALL_DPPE_SETTING
SET_WEIGHTED_SLOWPOLL_CONSTANT
'Set which mode the bar will display in.
set_Width
SetWindowContextHelpId
?SetWindowDirection@HWNDHost@DirectUI@@UEAAXPEAUHWND__@@@Z
SetWindowExtEx
SetWindowLong
SetWindowLongPtrA
SetWindowLongPtrW
SetWindowLongW
SetWindowPos
SetWindowRgn
SetWindowsHookExW
set_WindowStyle
SetWindowTextA
SetWindowTextW
SetWindowTheme
SetWinEventHook
SET_WOA_BATTERY_REMAINING_PERCENTAGE_DPPE_SETTING
SET_WOA_DPPE_SETTING
SET_WOA_EVENT_DPPE_SETTING
SET_WOA_EXTERNAL_MONITOR_DPPE_SETTING
SET_WOA_LOW_BATTERY_DPPE_SETTING
SET_WORKSTATION_LOCK
SetWovAPIMode
SetWovMasterEnable
set_WovStartupData
set_WriteOffset
set_WritePositionInBlocks
SetWriteViewCacheVolumeName
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@0@Z
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJPEBGPEAUHINSTANCE__@@1@Z
?SetXMLFromResourceWithTheme@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@00@Z
seulaVlortnoCemarFderutpaC.erutpaC.aideM.swodniW
seulaVlortnoCemarFderutpaCI.erutpaC.aideM.swodniW
seulaVnoitcasnarTtellaW.tellaW.enohP.tfosorciM
seulaVnottuB.tupnI.krowemarF.anX.tfosorciM
seulaVtluafeDhtiWtcejbOnosJI.nosJ.ataD.swodniW
.Seuraavia tiedostoja tai sovelluksia ei l
severity
sexAtceffEkcabdeeFecroF.kcabdeeFecroF.tupnI.gnimaG.swodniW
SF_CORRUPT_BUFFERWWWX
S(fD9:t;
SF_DRIVER_ERRORWX
sfeRylbmessA.krowemarF.anX.tfosorciM
SF_FAILUREWW
sfhs_process_runtime.cpp
sfhs_process_runtime.h
sfhs_runtime.cpp
sfhs_runtime.h
_SF_IGFX_SCALING
SF_INVALID_PARAMETERX
SF_SUCCESSWWX
sftapi.h
sftcoreapi.h
sfterrors.h
sftheaders.cpp
sftheaders.h
sftlpresult.cpp
sftlpresult.h
sftmedia.cpp
sftmedia.h
sftmediaresource.cpp
sftmediaresource.h
sftmime_exec.cpp
sftmime_parse.cpp
sftmime_utdefs.h
sftmsxml.h
sftparserxmlut.cpp
SFTP protocol options
sftsecurity.h
sfttofsmetadataconverter.hpp
sfttofsmetadataconverter_ut.cpp
sftworkitemdecorators.cpp
sftworkitemdecorators.h
sftworkitems.cpp
sftworkitems.h
sftwriter.cpp
sftxml.h
SF_UNKNOWN_ERRORX
SF_UNSUPPORTED_VERSIONWWX
sgalFekortsyeK.tupnI.krowemarF.anX.tfosorciM
sgalFepyTtsbuS.scitnameS.redniBemitnuR.prahSC.tfosorciM
sgalFerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
sgalFetatStceffE.scihparG.krowemarF.anX.tfosorciM
sgalFgiSpO.scitnameS.redniBemitnuR.prahSC.tfosorciM
sgalFgoL.gniggoL.enohP.tfosorciM
sgalFgoL.gniggoL.poretnI.enohP.tfosorciM
sgalFgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
sgalFkooLmeM.scitnameS.redniBemitnuR.prahSC.tfosorciM
sgalFllaCprahSC.redniBemitnuR.prahSC.tfosorciM
sgalFnoitarepOyraniBprahSC.redniBemitnuR.prahSC.tfosorciM
sgalFofnIerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
sgalFofnItnemugrAprahSC.redniBemitnuR.prahSC.tfosorciM
sgalFredniBprahSC.redniBemitnuR.prahSC.tfosorciM
sgalFrefsnarTstB.refsnarTdnuorgkcaB.enohP.tfosorciM
sgalFstniartsnoCkcehC.scitnameS.redniBemitnuR.prahSC.tfosorciM
sgalFtfiL.scitnameS.redniBemitnuR.prahSC.tfosorciM
sgalFtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sgalFtnevEhcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
sgalFytriDtceffE.scihparG.krowemarF.anX.tfosorciM
sgatbuSnoisnetxEegaugnaLI.noitazilabolG.swodniW
sgclientdlg.cpp
sgcomipcserver.cpp
sgcomsuite.cpp
SGetElementFromSafeArrayAtWWW
sGetMonitorPowerState
sgexception.h
sgipcservercontrol.cpp
sgipcservercontrol.h
sgnidniBD3tceriD.11D3tceriD.XtceriD.scihparG.swodniW
sgnidniBnoitacifitoNnwonK.snoitacifitoN.IU.swodniW
sgnipuorGretcarahCI.noitalloC.noitazilabolG.swodniW
sgnipuorGretcarahC.noitalloC.noitazilabolG.swodniW
sgnirtS.cisaBlausiV.tfosorciM
sgnirtS.redniBemitnuR.prahSC.tfosorciM
sgnirtS.stsnoCderahStnegAdnuorgkcaB.enohP.tfosorciM
sgnitteSanatroC.anatroC.secivreS.swodniW
sgnitteSanatroCI.anatroC.secivreS.swodniW
sgnitteSataDegasUdnAscitsongaiDmroftalP.eliforP.metsyS.swodniW
sgnitteSdaoLlmXI.moD.lmX.ataD.swodniW
sgnitteSdaoLlmX.moD.lmX.ataD.swodniW
sgnitteSdecnavdAecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgnitteSdecnavdAecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgnitteSecalpkroW.ecalpkroW.tnemeganaM.swodniW
sgnitteSedirrevOroloCI.yalpsiD.scihparG.swodniW
sgnitteSedirrevOroloC.yalpsiD.scihparG.swodniW
sgnitteSedirrevOssenthgirBI.yalpsiD.scihparG.swodniW
sgnitteSedirrevOssenthgirB.yalpsiD.scihparG.swodniW
sgnitteSedoMderahS.eliforP.metsyS.swodniW
sgnitteSemiTetaD.metsyS.swodniW
sgnitteSenoZemiT.metsyS.swodniW
sgnitteSerutpaCaideM.erutpaC.aideM.swodniW
sgnitteSerutpaCaideMI.erutpaC.aideM.swodniW
sgnitteSerutpaCoediVIUerutpaCaremaC.erutpaC.aideM.swodniW
sgnitteSerutpaCoediVIUerutpaCaremaCI.erutpaC.aideM.swodniW
sgnitteSerutpaCotohPdecnavdAI.seciveD.aideM.swodniW
sgnitteSerutpaCotohPdecnavdA.seciveD.aideM.swodniW
sgnitteSerutpaCotohPIUerutpaCaremaC.erutpaC.aideM.swodniW
sgnitteSerutpaCotohPIUerutpaCaremaCI.erutpaC.aideM.swodniW
sgnitteSerutpaCppA.erutpaC.aideM.swodniW
sgnitteSerutpaCppAI.erutpaC.aideM.swodniW
sgnitteSerutseGlaitapS.laitapS.tupnI.IU.swodniW
sgnitteSerutseG.tupnI.IU.swodniW
sgnitteSetalpmeTgniRssergorPI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTgniRssergorP.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeThctiwSelggoTI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeThctiwSelggoT.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetItuoylFuneMI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetItuoylFuneM.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVdirGI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVdirG.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVeerT.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTmetIweiVtsiL.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTnottuBelggoTraBppAI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTnottuBelggoTraBppA.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTnottuBraBppAI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTnottuBraBppA.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTpiTlooTI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTpiTlooT.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBdnammoC.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBdnammoCtuoylFraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBdnammoCtuoylFraBdnammoC.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBppAI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBppA.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBssergorPI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTraBssergorP.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTretneserPtuoylFuneMI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTretneserPtuoylFuneM.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTtuoylFsgnitteSI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTtuoylFsgnitteS.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVradnelaCI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVradnelaC.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVtilpSI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTweiVtilpS.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTxoBobmoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSetalpmeTxoBobmoC.sevitimirP.slortnoC.lmaX.IU.swodniW
sgnitteSgniriaPeciveDI.noitaremunE.seciveD.swodniW
sgnitteSgnitropeRrorrEI.scitsongaiD.noitadnuoF.swodniW
sgnitteSgubeDI.lmaX.IU.swodniW
sgnitteSgubeD.lmaX.IU.swodniW
sgnitteSgubeDnoitisopmoCI.scitsongaiD.noitisopmoC.IU.swodniW
sgnitteSgubeDnoitisopmoC.scitsongaiD.noitisopmoC.IU.swodniW
sgnitteSgubeDreganaMegakcaPI.tnemyolpeD.tnemeganaM.swodniW
sgnitteSgubeDreganaMegakcaP.tnemyolpeD.tnemeganaM.swodniW
sgnitteShparGoiduAI.oiduA.aideM.swodniW
sgnitteShparGoiduA.oiduA.aideM.swodniW
sgnitteSIUI.tnemeganaMweiV.IU.swodniW
sgnitteSIU.tnemeganaMweiV.IU.swodniW
sgnitteSknIdnAneP.gniknI.tupnI.IU.swodniW
sgnitteSknIdnAnePI.gniknI.tupnI.IU.swodniW
sgnitteSlabolGtsacdaorBppA.erutpaC.aideM.swodniW
sgnitteSlabolGtsacdaorBppAI.erutpaC.aideM.swodniW
sgnitteSlennahCegamIrosruCrevieceRtsacariMI.tsacariM.aideM.swodniW
sgnitteSlennahCegamIrosruCrevieceRtsacariM.tsacariM.aideM.swodniW
sgnitteSlortnoCweiVbeWI.IU.beW.swodniW
sgnitteSlortnoCweiVbeW.IU.beW.swodniW
sgnitteSmaertSoediVrevieceRtsacariMI.tsacariM.aideM.swodniW
sgnitteSmaertSoediVrevieceRtsacariM.tsacariM.aideM.swodniW
sgnitteSmooZI.seciveD.aideM.swodniW
sgnitteSmooZ.seciveD.aideM.swodniW
sgnitteSnIngiStsriF.eliforPresU.metsyS.swodniW
sgnitteSnIngiStsriFI.eliforPresU.metsyS.swodniW
sgnitteSnoitacudE.eliforP.metsyS.swodniW
sgnitteSnoitartsigeRyrtemeleTmroftalPI.yrtemeleT.scitsongaiD.metsyS.swodniW
sgnitteSnoitartsigeRyrtemeleTmroftalP.yrtemeleT.scitsongaiD.metsyS.swodniW
sgnitteSnoitazilaitinIerutpaCaideM.erutpaC.aideM.swodniW
sgnitteSnoitazilaitinIerutpaCaideMI.erutpaC.aideM.swodniW
sgnitteSnoitazilanosrePeliforPresU.eliforPresU.metsyS.swodniW
sgnitteSnoitazilanosrePeliforPresUI.eliforPresU.metsyS.swodniW
sgnitteSnoitazilausiVretnioPI.tupnI.IU.swodniW
sgnitteSnoitazilausiVretnioP.tupnI.IU.swodniW
sgnitteSnoitazimitpOyrevileDI.weiverP.erotS.ledoMnoitacilppA.swodniW
sgnitteSnoitazimitpOyrevileD.weiverP.erotS.ledoMnoitacilppA.swodniW
sgnitteSnoitcennoCc2I.c2I.seciveD.swodniW
sgnitteSnoitcennoCc2II.c2I.seciveD.swodniW
sgnitteSnoitcennoCc2IredivorPI.redivorP.c2I.seciveD.swodniW
sgnitteSnoitcennoCc2IredivorP.redivorP.c2I.seciveD.swodniW
sgnitteSnoitcennoCipSI.ipS.seciveD.swodniW
sgnitteSnoitcennoCipS.ipS.seciveD.swodniW
sgnitteSnoitcennoCipSredivorPI.redivorP.ipS.seciveD.swodniW
sgnitteSnoitcennoCipSredivorP.redivorP.ipS.seciveD.swodniW
sgnitteSnoitsegguStnetnoClacoL.hcraeS.ledoMnoitacilppA.swodniW
sgnitteSnoitsegguStnetnoClacoLI.hcraeS.ledoMnoitacilppA.swodniW
sgnitteSnpAsmMralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
sgnitteSnpAtenretnIralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
sgnitteSredivorPtsacdaorBppA.erutpaC.aideM.swodniW
sgnitteSredivorPtsacdaorBppAI.erutpaC.aideM.swodniW
sgnitteSreniatnoCataDnoitacilppA.egarotS.swodniW
sgnitteSrettimEedoNoiduA.oiduA.aideM.swodniW
sgnitteSrevieceRtsacariMI.tsacariM.aideM.swodniW
sgnitteSrevieceRtsacariM.tsacariM.aideM.swodniW
sgnitteSrorrErekorBemitnuR.scitsongaiD.noitadnuoF.swodniW
sgnitteSscitsongaiD.eliforPresU.metsyS.swodniW
sgnitteSscitsongaiDI.eliforPresU.metsyS.swodniW
sgnitteSspaM.spaM.enohP.tfosorciM
sgnitteSsseccAdengissA.eliforPresU.metsyS.swodniW
sgnitteSsseccAdengissAI.eliforPresU.metsyS.swodniW
sgnitteSsucoFI.seciveD.aideM.swodniW
sgnitteSsucoF.seciveD.aideM.swodniW
sgnitteSweiVbeWI.slortnoC.lmaX.IU.swodniW
sgnitteSweiVbeW.slortnoC.lmaX.IU.swodniW
sgnitteSweiVIUI.tnemeganaMweiV.IU.swodniW
sgnitteSweiVIU.tnemeganaMweiV.IU.swodniW
sgnitteSycageLtceriDiFiWI.tceriDiFiW.seciveD.swodniW
sgnitteSycageLtceriDiFiW.tceriDiFiW.seciveD.swodniW
sgnitteSylpeRotuAxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
sgnitteSylpeRotuAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sgnitteSytilibisseccAI.tnemeganaMweiV.IU.swodniW
sgnitteSytilibisseccA.tnemeganaMweiV.IU.swodniW
sgnitteSytiruceSkrowteNI.ytivitcennoC.gnikrowteN.swodniW
sgnitteSytiruceSkrowteN.ytivitcennoC.gnikrowteN.swodniW
SG_NVIDIA_MUXEDW
sgrAdegnahCetatSytivitcAlennahCnpVI.npV.gnikrowteN.swodniW
sgrAdegnahCetatSytivitcAlennahCnpV.npV.gnikrowteN.swodniW
sgrAdegnahCseulaVrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAdegnahCseulaVrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAdegnahCtseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
sgrAdegnahCtseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sgrAdekovnItnuoccAbeWI.sgnitteSnoitacilppA.IU.swodniW
sgrAdekovnItnuoccAbeW.sgnitteSnoitacilppA.IU.swodniW
sgrAderetnEetatSaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSaitrenIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSeldIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSeldIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSgnitcaretnIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSgnitcaretnIrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSnoitaminAmotsuCrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderetnEetatSnoitaminAmotsuCrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderongItseuqeRrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAderongItseuqeRrekcarTnoitcaretnI.snoitcaretnI.noitisopmoC.IU.swodniW
sgrAdetseuqeRecruoSksaTD3tnirP.D3gnitnirP.scihparG.swodniW
sgrAdetseuqeRecruoSksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
sgrAdetseuqeRecruoSksaTtnirP.gnitnirP.scihparG.swodniW
sgrAdetseuqeRecruoSksaTtnirPI.gnitnirP.scihparG.swodniW
sgrAelcyceRyrotcaFtnemelEI.lmaX.IU.swodniW
sgrAelcyceRyrotcaFtnemelE.lmaX.IU.swodniW
SGraphicsPStateWW
sgrAreldnaHdehctapsiDeldI.eroC.IU.swodniW
sgrAreldnaHdehctapsiDeldII.eroC.IU.swodniW
sgrAteGyrotcaFtnemelEI.lmaX.IU.swodniW
sgrAteGyrotcaFtnemelE.lmaX.IU.swodniW
sgrAtnevEataDhserfeR.tellaW.enohP.tfosorciM
sgrAtnevEatleDgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEatleDgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdecalpeReciveDgniredneRI.noitisopmoC.IU.swodniW
sgrAtnevEdecalpeReciveDgniredneR.noitisopmoC.IU.swodniW
sgrAtnevEdedaolnwoDsegnaRrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sgrAtnevEdedaolnwoDsegnaRrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sgrAtnevEdedaoLtnetnoCMODlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdedaoLtnetnoCMODlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdedaoLtnetnoCMODweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdedaoLtnetnoCMODweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeddAaremaCecapScihpargoloH.cihpargoloH.scihparG.swodniW
sgrAtnevEdeddAaremaCecapScihpargoloHI.cihpargoloH.scihparG.swodniW
sgrAtnevEdeddAdraCI.sdraCtramS.seciveD.swodniW
sgrAtnevEdeddAdraC.sdraCtramS.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAecruoSemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdeddAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddAmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddAmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdeddAmiSE.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdeddAnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddAnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddArebmeMnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdeddArebmeMnoisseSnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdeddAtnapicitraPnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddAtnapicitraPnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdeddAtnemnorivnEgniwodniWI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdeddAtnemnorivnEgniwodniW.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdeddAtroPetomeRecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdeddAtroPetomeRecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdeddAytitnElaitapSI.laitapS.noitpecreP.swodniW
sgrAtnevEdeddAytitnElaitapS.laitapS.noitpecreP.swodniW
sgrAtnevEdednEerutseG.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdednEkaerBaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdednEkaerBaideM.kcabyalP.aideM.swodniW
sgrAtnevEdednEnoitingoceRlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdednEnoitingoceRlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdednEnoitisopmoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdednEnoitisopmoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdednEremaertSaideM.aideM.enohP.tfosorciM
sgrAtnevEdednEtcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdednEtcatnoCneercSrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdegagnesiDsucoFI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegagnesiDsucoF.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegagnEsucoFI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegagnEsucoF.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCaremaClautcApaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCaremaClautcApaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCaremaCtegraTpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCaremaCtegraTpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdekcehCnottuBlicnetSsIrablooTknII.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdekcehCnottuBlicnetSsIrablooTknI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdekcehCsInottuBtilpSelggoTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdekcehCsInottuBtilpSelggoT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdelbanEserutaeFnairtsedePpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCdelbanEskramdnaLpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCdelbanEtceffEnoitazilibatSoediV.eroC.aideM.swodniW
sgrAtnevEdegnahCdelbanEtceffEnoitazilibatSoediVI.eroC.aideM.swodniW
sgrAtnevEdegnahCdemmirTtxeTsII.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdemmirTtxeTsI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCdetroppuSdniKecivreSscRI.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCdetroppuSdniKecivreSscR.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCeciveDerutpaCoiduAtluafeD.seciveD.aideM.swodniW
sgrAtnevEdegnahCeciveDoiduAtluafeDI.seciveD.aideM.swodniW
sgrAtnevEdegnahCeciveDredneRoiduAtluafeD.seciveD.aideM.swodniW
sgrAtnevEdegnahCecneirepxEmotsuCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCecneirepxEmotsuCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCecruoSksaTD3tnirP.D3gnitnirP.scihparG.swodniW
sgrAtnevEdegnahCecruoSksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
sgrAtnevEdegnahCedoMcihpargotraCpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCedoMnoitatneserPatadateMdemiTI.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCedoMnoitatneserPatadateMdemiT.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCedoMroloCpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCedoMyalpsiDweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCedoMyalpsiDweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCegasseMtahC.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCegatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sgrAtnevEdegnahCegatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sgrAtnevEdegnahCerotSegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCerotSegasseMtahC.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCerotStnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCerotStnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCetaDrekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCetaDrekciPetaDradnelaC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCetaRreyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCetaRreyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCetartiBdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdegnahCetartiBdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdegnahCetartiBkcabyalPecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdegnahCetartiBkcabyalPecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdegnahCetatSecruoSaideM.eroC.aideM.swodniW
sgrAtnevEdegnahCetatSecruoSaideMI.eroC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCaremaCtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCaremaCtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCenohporciMerutpaCppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCenohporciMerutpaCppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCenohporciMtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSerutpaCenohporciMtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSgnidroceRerutpaCppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSgnidroceRerutpaCppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatShserfeRI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCetatShserfeR.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCetatSlausiVI.lmaX.IU.swodniW
sgrAtnevEdegnahCetatSlausiV.lmaX.IU.swodniW
sgrAtnevEdegnahCetatSmaertStsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSmaertStsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSmetsyStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCetatSmetsyStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCetatSnIgulPtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSnIgulPtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSnIngiStsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSnIngiStsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSnoissimsnarTdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdegnahCetatSnoissimsnarTdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdegnahCetatSnoitalupinaM.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEdegnahCetatSnoitcennoCdereggirTI.ytimixorP.gnikrowteN.swodniW
sgrAtnevEdegnahCetatSnoitcennoCdereggirT.ytimixorP.gnikrowteN.swodniW
sgrAtnevEdegnahCetatSnoitcennoCoTyalPI.oTyalP.aideM.swodniW
sgrAtnevEdegnahCetatSnoitcennoCoTyalP.oTyalP.aideM.swodniW
sgrAtnevEdegnahCetatSnoitucexErehctaWofnIpuorGecruoseRppAI.metsyS.swodniW
sgrAtnevEdegnahCetatSnoitucexErehctaWofnIpuorGecruoseRppA.metsyS.swodniW
sgrAtnevEdegnahCetatSraBnoitacilppA.llehS.enohP.tfosorciM
sgrAtnevEdegnahCetatSrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdegnahCetatSrezingoceRhceepS.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdegnahCetatSriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
sgrAtnevEdegnahCetatSriaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
sgrAtnevEdegnahCetatStisivoeGI.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCetatStisivoeG.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCetatStnemhcattAsuBnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdegnahCetatStnemhcattAsuBnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdegnahCetatStnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCetatStnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCetatStseuqeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCetatStseuqeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCetatSweiverPtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSweiverPtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCetatSyalP.oiduAdnuorgkcaB.enohP.tfosorciM
sgrAtnevEdegnahCetatSytilibaliavAataDresUI.noitcetorPataD.ytiruceS.swodniW
sgrAtnevEdegnahCetatSytilibaliavAataDresU.noitcetorPataD.ytiruceS.swodniW
sgrAtnevEdegnahCeulaVdetceleSrekciPemiTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVdetceleSrekciPemiT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVdetceleSrekciPetaDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVdetceleSrekciPetaD.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVesaBegnaRI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVesaBegnaR.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVniPoipGI.oipG.seciveD.swodniW
sgrAtnevEdegnahCeulaVniPoipG.oipG.seciveD.swodniW
sgrAtnevEdegnahCeulaVredivorPniPoipGI.redivorP.oipG.seciveD.swodniW
sgrAtnevEdegnahCeulaVredivorPniPoipG.redivorP.oipG.seciveD.swodniW
sgrAtnevEdegnahCeulaVrekciPemiTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVrekciPemiT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVrekciPetaDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVrekciPetaD.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCeulaVttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCeulaVttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCeziSI.lmaX.IU.swodniW
sgrAtnevEdegnahCeziS.lmaX.IU.swodniW
sgrAtnevEdegnahCeziSwodniW.eroC.IU.swodniW
sgrAtnevEdegnahCeziSwodniWI.eroC.IU.swodniW
sgrAtnevEdegnahCgnidaeHpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCgnidaeRretemitlAI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemitlA.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemodePI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemodeP.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemonilcnII.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemonilcnI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoraBI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoraB.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoreleccAI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoreleccA.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoryGI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemoryG.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemotengaMI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRretemotengaM.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSelgnAegniHI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSelgnAegniH.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSmotsuCI.motsuC.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSmotsuC.motsuC.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSnoitatneirOI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSnoitatneirO.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSthgiLI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSthgiL.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSytimixorPI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSytimixorP.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSytivitcAI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRrosneSytivitcA.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRssapmoCI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRssapmoC.srosneS.seciveD.swodniW
sgrAtnevEdegnahCgnidaeRweiverPerutsoPeciveDdegniHlenaPowTI.weiverP.metsyS.swodniW
sgrAtnevEdegnahCgnidaeRweiverPerutsoPeciveDdegniHlenaPowT.weiverP.metsyS.swodniW
sgrAtnevEdegnahCgnisopmoCtnapicitraPetomeRI.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCgnisopmoCtnapicitraPetomeR.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahChctiPpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCkniLtnetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCkniLtnetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCleveLmooZpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCmetIkcabyalPaideMtnerruCI.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCmetIkcabyalPaideMtnerruC.kcabyalP.aideM.swodniW
sgrAtnevEdegnahCniPI.noitacinummoClaireS.seciveD.swodniW
sgrAtnevEdegnahCniP.noitacinummoClaireS.seciveD.swodniW
sgrAtnevEdegnahCnoigeRelbisiV.llehS.enohP.tfosorciM
sgrAtnevEdegnahCnoisseStnerruCI.lortnoC.aideM.swodniW
sgrAtnevEdegnahCnoisseStnerruC.lortnoC.aideM.swodniW
sgrAtnevEdegnahCnoitacifitoNresUI.snoitacifitoN.IU.swodniW
sgrAtnevEdegnahCnoitacifitoNresU.snoitacifitoN.IU.swodniW
sgrAtnevEdegnahCnoitaicossAeciveDresUI.metsyS.swodniW
sgrAtnevEdegnahCnoitaicossAeciveDresU.metsyS.swodniW
sgrAtnevEdegnahCnoitatneirOrosneSnoitatneirOelpmiSI.srosneS.seciveD.swodniW
sgrAtnevEdegnahCnoitatneirOrosneSnoitatneirOelpmiS.srosneS.seciveD.swodniW
sgrAtnevEdegnahCnoitatneirO.slortnoC.enohP.tfosorciM
sgrAtnevEdegnahCnoitatoRrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdegnahCnoitatoRrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdegnahCnoitavitcArenetsiLnoitavitcAtupnII.tupnI.IU.swodniW
sgrAtnevEdegnahCnoitavitcArenetsiLnoitavitcAtupnI.tupnI.IU.swodniW
sgrAtnevEdegnahCnoitceleSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitceleS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitceleStropmIotohPI.tropmI.aideM.swodniW
sgrAtnevEdegnahCnoitceleStropmIotohP.tropmI.aideM.swodniW
sgrAtnevEdegnahCnoitceleSweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitceleSweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitcelloCyfitoNI.poretnI.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitcelloCyfitoN.poretnI.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitisoPI.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCnoitisopmoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitisopmoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCnoitisoP.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCnoitisoPredaeRneercSI.ytilibisseccA.IU.swodniW
sgrAtnevEdegnahCnoitisoPredaeRneercS.ytilibisseccA.IU.swodniW
sgrAtnevEdegnahCnoitpOksaTtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sgrAtnevEdegnahCnoitpOksaTtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sgrAtnevEdegnahCofnIkcabyalPI.lortnoC.aideM.swodniW
sgrAtnevEdegnahCofnIkcabyalP.lortnoC.aideM.swodniW
sgrAtnevEdegnahCoitaRnoitcaretnIhserfeRI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCoitaRnoitcaretnIhserfeR.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdegnahCreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdegnahCresUI.metsyS.swodniW
sgrAtnevEdegnahCresU.metsyS.swodniW
sgrAtnevEdegnahCretneCmrofsnarTpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCretneCpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCretnirPwolfkroWD3tnirPI.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdegnahCretnirPwolfkroWD3tnirP.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdegnahCroloCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCroloC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCrotceVI.snoitcelloC.noitadnuoF.swodniW
sgrAtnevEdegnahCsdnuoBwodniWetadidnaCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCsdnuoBwodniWetadidnaC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCseitilibapaCedirrevOtnemecnahnEyalpsiDI.yalpsiD.scihparG.swodniW
sgrAtnevEdegnahCseitilibapaCedirrevOtnemecnahnEyalpsiD.yalpsiD.scihparG.swodniW
sgrAtnevEdegnahCseitreporPaideMI.lortnoC.aideM.swodniW
sgrAtnevEdegnahCseitreporPaideM.lortnoC.aideM.swodniW
sgrAtnevEdegnahCseitreporPecruoSemarFnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdegnahCseitreporPecruoSemarFnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdegnahCseitreporPenilemiTI.lortnoC.aideM.swodniW
sgrAtnevEdegnahCseitreporPenilemiT.lortnoC.aideM.swodniW
sgrAtnevEdegnahCsetaDdetceleSweiVradnelaCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCsetaDdetceleSweiVradnelaC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCsmetII.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCsmetI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCsnoisseSI.lortnoC.aideM.swodniW
sgrAtnevEdegnahCsnoisseS.lortnoC.aideM.swodniW
sgrAtnevEdegnahCsnoisulccOweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
sgrAtnevEdegnahCsnoisulccOweiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
sgrAtnevEdegnahCsraBllorcSediHotuAsgnitteSIUI.tnemeganaMweiV.IU.swodniW
sgrAtnevEdegnahCsraBllorcSediHotuAsgnitteSIU.tnemeganaMweiV.IU.swodniW
sgrAtnevEdegnahCsseccAeciveDI.noitaremunE.seciveD.swodniW
sgrAtnevEdegnahCsseccAeciveD.noitaremunE.seciveD.swodniW
sgrAtnevEdegnahCsseccAytilibapaCppAI.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
sgrAtnevEdegnahCsseccAytilibapaCppA.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
sgrAtnevEdegnahCsucoFerutpaCaideM.erutpaC.aideM.swodniW
sgrAtnevEdegnahCsucoFerutpaCaideMI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCsutatSegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCsutatSegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCsutatSegakcaPnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCsutatSegakcaPnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCsutatSgnicarTI.scitsongaiD.noitadnuoF.swodniW
sgrAtnevEdegnahCsutatSgnicarT.scitsongaiD.noitadnuoF.swodniW
sgrAtnevEdegnahCsutatSI.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCsutatSlortnoCevisulcxEeciveDerutpaCaideM.erutpaC.aideM.swodniW
sgrAtnevEdegnahCsutatSlortnoCevisulcxEeciveDerutpaCaideMI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCsutatSnIdengiSSG.butS.secivreSremaG.krowemarF.anX.tfosorciM
sgrAtnevEdegnahCsutatSnoisseSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCsutatSnoisseSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCsutatS.noitacoloeG.seciveD.swodniW
sgrAtnevEdegnahCsutatSrehsilbuPtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCsutatSrehsilbuPtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCsutatSrehsilbuPtnemesitrevdAtceriDiFiWI.tceriDiFiW.seciveD.swodniW
sgrAtnevEdegnahCsutatSrehsilbuPtnemesitrevdAtceriDiFiW.tceriDiFiW.seciveD.swodniW
sgrAtnevEdegnahCsutatStnemesitrevdAredivorPecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCsutatStnemesitrevdAredivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdegnahCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCtnemnorivnEgniwodniWI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdegnahCtnemnorivnEgniwodniW.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdegnahCtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCtnuoCreweiVtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdegnahCtnuoCreweiVtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdegnahCtooRlmaXI.lmaX.IU.swodniW
sgrAtnevEdegnahCtooRlmaX.lmaX.IU.swodniW
sgrAtnevEdegnahCtropweiVevitceffEI.lmaX.IU.swodniW
sgrAtnevEdegnahCtropweiVevitceffE.lmaX.IU.swodniW
sgrAtnevEdegnahCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCtxetnoCataDI.lmaX.IU.swodniW
sgrAtnevEdegnahCtxetnoCataD.lmaX.IU.swodniW
sgrAtnevEdegnahCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCtxeTxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCtxeTxoBtsegguSotuA.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVmooZcitnameSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVmooZcitnameS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVnIsnoitceSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVnIsnoitceS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdegnahCweiVreweiVllorcSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCweiVreweiVllorcS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCwodniWppAI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdegnahCwodniWppA.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdegnahCxednIdetceleS.sevitimirP.slortnoC.enohP.tfosorciM
sgrAtnevEdegnahCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCyreuQenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCyreuQenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCyreuQxoBhcraeSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCyreuQxoBhcraeS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdegnahCyrotsiHdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCyrotsiHdraobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCytilibaliavApmaLI.sthgiL.seciveD.swodniW
sgrAtnevEdegnahCytilibaliavApmaL.sthgiL.seciveD.swodniW
sgrAtnevEdegnahCytilibaliavAtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCytilibaliavAtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
sgrAtnevEdegnahCytilibisiVenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCytilibisiVenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdegnahCytilibisiV.eroC.IU.swodniW
sgrAtnevEdegnahCytilibisiVI.eroC.IU.swodniW
sgrAtnevEdegnahCytilibisiVraBnoitagivaN.slortnoC.enohP.tfosorciM
sgrAtnevEdegnahCytreporP.ataD.lmaX.IU.swodniW
sgrAtnevEdegnahCytreporPI.ataD.lmaX.IU.swodniW
sgrAtnevEdegnahCytreporPslortnoCtropsnarTaideMmetsyS.aideM.swodniW
sgrAtnevEdegnahCytreporPslortnoCtropsnarTaideMmetsySI.aideM.swodniW
sgrAtnevEdegnahCytreporPycnednepeDI.lmaX.IU.swodniW
sgrAtnevEdegnahCytreporPycnednepeD.lmaX.IU.swodniW
sgrAtnevEdehcaeRrekraMaideMkcabyalPI.kcabyalP.aideM.swodniW
sgrAtnevEdehcaeRrekraMaideMkcabyalP.kcabyalP.aideM.swodniW
sgrAtnevEdeifitnedIemehcSirUdetroppusnUlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdeifitnedIemehcSirUdetroppusnUlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdeifitnedIemehcSirUdetroppusnUweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeifitnedIemehcSirUdetroppusnUweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeifitnedItnetnoCelbaweivnUlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdeifitnedItnetnoCelbaweivnUlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdeifitnedItnetnoCelbaweivnUweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeifitnedItnetnoCelbaweivnUweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekcilCdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEdekcilCnottuBrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdekcilCnottuBrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdekcilCnottuBtcennocsiDeciveDI.noitaremunE.seciveD.swodniW
sgrAtnevEdekcilCnottuBtcennocsiDeciveD.noitaremunE.seciveD.swodniW
sgrAtnevEdekcilCnottuBtcennocsiDlaiDI.locotorPlaiD.aideM.swodniW
sgrAtnevEdekcilCnottuBtcennocsiDlaiD.locotorPlaiD.aideM.swodniW
sgrAtnevEdekciPemiTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekciPemiT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekciPetaDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekciPetaD.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekciPsmetII.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekciPsmetI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekoveRdnuorgeroFnoitucexEdednetxE.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
sgrAtnevEdekoveRdnuorgeroFnoitucexEdednetxEI.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
sgrAtnevEdekoveRnoitucexEdednetxEI.noitucexEdednetxE.ledoMnoitacilppA.swodniW
sgrAtnevEdekoveRnoitucexEdednetxE.noitucexEdednetxE.ledoMnoitacilppA.swodniW
sgrAtnevEdekoveRtnetnoCdetcetorP.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEdekoveRtnetnoCdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEdekovnIkniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
sgrAtnevEdekovnIkniLtnetnoC.stnemucoD.lmaX.IU.swodniW
sgrAtnevEdekovnImetIepiwSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnImetIepiwS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnImetIweiVeerTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnImetIweiVeerT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnImetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnImetIweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgrAtnevEdekovnIrotareleccAdraobyeKI.tupnI.lmaX.IU.swodniW
sgrAtnevEdekovnIrotareleccAdraobyeK.tupnI.lmaX.IU.swodniW
sgrAtnevEdekovnIyeKsseccAI.tupnI.lmaX.IU.swodniW
sgrAtnevEdekovnIyeKsseccA.tupnI.lmaX.IU.swodniW
sgrAtnevEdelbanEreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdelbanEreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdelbanEtupnI.eroC.IU.swodniW
sgrAtnevEdelbanEtupnII.eroC.IU.swodniW
sgrAtnevEdelbasiDreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdelbasiDreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdelecnaCdloHlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdelecnaCdloHlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdelecnaCnoitagivaNlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdelecnaCnoitagivaNlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdelecnaCnoitalupinaMlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdelecnaCnoitalupinaMlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdeliaFdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdeliaFdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdeliaFdaoLtnenopmoCI.noitcetorP.aideM.swodniW
sgrAtnevEdeliaFdaoLtnenopmoC.noitcetorP.aideM.swodniW
sgrAtnevEdeliaFecruoSegamIgvS.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEdeliaFecruoSegamIgvSI.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEdeliaFerutpaCaideM.erutpaC.aideM.swodniW
sgrAtnevEdeliaFerutpaCaideMI.erutpaC.aideM.swodniW
sgrAtnevEdeliaFgnidniBI.lmaX.IU.swodniW
sgrAtnevEdeliaFgnidniB.lmaX.IU.swodniW
sgrAtnevEdeliaFkcarTatadateMdemiT.eroC.aideM.swodniW
sgrAtnevEdeliaFkcarTatadateMdemiTI.eroC.aideM.swodniW
sgrAtnevEdeliaFmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdeliaFmetIkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdeliaFnepOkcarToediV.eroC.aideM.swodniW
sgrAtnevEdeliaFnepOkcarToediVI.eroC.aideM.swodniW
sgrAtnevEdeliaFnepOkcarToiduA.eroC.aideM.swodniW
sgrAtnevEdeliaFnepOkcarToiduAI.eroC.aideM.swodniW
sgrAtnevEdeliaFnoitagivaNI.noitagivaN.lmaX.IU.swodniW
sgrAtnevEdeliaFnoitagivaN.noitagivaN.lmaX.IU.swodniW
sgrAtnevEdeliaFnoitagivaN.noitagivaN.swodniW.metsyS
sgrAtnevEdeliaFnoitagivaNweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeliaFnoitagivaNweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeliaFrellortnoCenilemiTaideM.aideM.swodniW
sgrAtnevEdeliaFrellortnoCenilemiTaideMI.aideM.swodniW
sgrAtnevEdeliaFremaertSaideM.aideM.enohP.tfosorciM
sgrAtnevEdeliaFreyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdeliaFreyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdeliaFtsaoTI.snoitacifitoN.IU.swodniW
sgrAtnevEdeliaFtsaoT.snoitacifitoN.IU.swodniW
sgrAtnevEdellatsnIegakcaPnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdellatsnIegakcaPnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdemrifnoCrekciPI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdemrifnoCrekciP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdemuseRsseccAdetcetorP.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEdemuseRsseccAdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEdenepOecruoSegamIgvS.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEdenepOecruoSegamIgvSI.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEdenepOgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdenepOgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdenepOlenaPgnitirwdnaHI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdenepOlenaPgnitirwdnaH.slortnoC.lmaX.IU.swodniW
sgrAtnevEdenepOmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdenepOmetIkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdenepOremaertSaideM.aideM.enohP.tfosorciM
sgrAtnevEdenepOrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdenioJnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdenioJnoisseSnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdenruteRksaTdlihC.poretnI.ledoMksaT.enohP.tfosorciM
sgrAtnevEdeppaTI.tupnI.IU.swodniW
sgrAtnevEdeppaTlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdeppaTlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdeppaTthgiRerutaeFtisnarTlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiRerutaeFtisnarTlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiRI.tupnI.IU.swodniW
sgrAtnevEdeppaTthgiRkramdnaLssenisuBlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiRkramdnaLssenisuBlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiRpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiRpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdeppaTthgiR.tupnI.IU.swodniW
sgrAtnevEdeppaT.tupnI.IU.swodniW
sgrAtnevEdeppikSkaerBaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdeppikSkaerBaideM.kcabyalP.aideM.swodniW
sgrAtnevEdeppotSrecudorPnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdeppotSrecudorPnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdeppotSrehctaWnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdeppotSrehctaWnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdeppotSrehctaWtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdeppotSrehctaWtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdeppotStcejbOsuBnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdeppotStcejbOsuBnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEderedneR.aideM.lmaX.IU.swodniW
sgrAtnevEderedneRelpmaSecruoSmaertSaideM.eroC.aideM.swodniW
sgrAtnevEderedneRelpmaSecruoSmaertSaideMI.eroC.aideM.swodniW
sgrAtnevEderedneRI.aideM.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPerutaeFtisnarTlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPerutaeFtisnarTlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPkramdnaLssenisuBlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPkramdnaLssenisuBlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPreyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPreyaLstnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPtnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderetnEretnioPtnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEderiuqcAlortnoCrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEderiuqcAlortnoCrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEderrefeDnoisseSecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEderrefeDnoisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEderrefsnarTnoitcennoCoTyalPI.oTyalP.aideM.swodniW
sgrAtnevEderrefsnarTnoitcennoCoTyalP.oTyalP.aideM.swodniW
sgrAtnevEderruccOrorrEelbarevocernUhparGoiduAI.oiduA.aideM.swodniW
sgrAtnevEderruccOrorrEelbarevocernUhparGoiduA.oiduA.aideM.swodniW
sgrAtnevEderruccOrorrEnoitcennoCgnitsaC.gnitsaC.aideM.swodniW
sgrAtnevEderruccOrorrEnoitcennoCgnitsaCI.gnitsaC.aideM.swodniW
sgrAtnevEderruccOrorrEredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEderruccOrorrEredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEderruccOrorrErehctaWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEderruccOrorrErehctaWmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEderruccOrorrErennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEderruccOrorrErennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEderucsbO.slortnoC.enohP.tfosorciM
sgrAtnevEderutpaCnoitamrifnoCotohP.erutpaC.aideM.swodniW
sgrAtnevEderutpaCnoitamrifnoCotohPI.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohPecnerefeRlanoitpO.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohPecnerefeRlanoitpOI.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohPelbairaV.eroC.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohPelbairaVI.eroC.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohP.erutpaC.aideM.swodniW
sgrAtnevEderutpaCotohPI.erutpaC.aideM.swodniW
sgrAtnevEdesaeleRnottuBrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdesaeleRnottuBrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdesarEsekortSknI.gniknI.tupnI.IU.swodniW
sgrAtnevEdesarEsekortSknII.gniknI.tupnI.IU.swodniW
sgrAtnevEdesolCecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sgrAtnevEdesolCecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
sgrAtnevEdesolCecruoSmaertSaideM.eroC.aideM.swodniW
sgrAtnevEdesolCecruoSmaertSaideMI.eroC.aideM.swodniW
sgrAtnevEdesolCgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdesolCgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdesolClenaPgnitirwdnaHI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdesolClenaPgnitirwdnaH.slortnoC.lmaX.IU.swodniW
sgrAtnevEdesolCnoitcennoClatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
sgrAtnevEdesolCnoitcennoClatroPeciveD.latroPeciveD.scitsongaiD.metsyS.swodniW
sgrAtnevEdesolCredaeRepirtScitengaMdemialC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCredaeRepirtScitengaMdemialCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCrennacSedocraBdemialC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCrennacSedocraBdemialCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCretnirPsoPdemialC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCretnirPsoPdemialCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCrewarDhsaCdemialC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCrewarDhsaCdemialCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCtekcoSbeWI.stekcoS.gnikrowteN.swodniW
sgrAtnevEdesolCtekcoSbeW.stekcoS.gnikrowteN.swodniW
sgrAtnevEdesolCwodniWppAI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdesolCwodniWppA.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdesolCyalpsiDeniLdemialC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdesolCyalpsiDeniLdemialCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdespalloCweiVeerTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdespalloCweiVeerT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdesserPdapyeKI.seciveD.aideM.swodniW
sgrAtnevEdesserPdapyeK.seciveD.aideM.swodniW
sgrAtnevEdesserPnottuBrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdesserPnottuBrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdesserPnottuBslortnoCtropsnarTaideMmetsyS.aideM.swodniW
sgrAtnevEdesserPnottuBslortnoCtropsnarTaideMmetsySI.aideM.swodniW
sgrAtnevEdesserPyeKrotareleccAlortnoCweiVbeWI.poretnI.IU.beW.swodniW
sgrAtnevEdesserPyeKrotareleccAlortnoCweiVbeW.poretnI.IU.beW.swodniW
sgrAtnevEdessimsiDtsaoTI.snoitacifitoN.IU.swodniW
sgrAtnevEdessimsiDtsaoT.snoitacifitoN.IU.swodniW
sgrAtnevEdessimsiDyalpsiDyeKsseccAI.tupnI.lmaX.IU.swodniW
sgrAtnevEdessimsiDyalpsiDyeKsseccA.tupnI.lmaX.IU.swodniW
sgrAtnevEdetadilavnIrOdeliaFshtaPreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdetadilavnIrOdeliaFshtaPreganaMyalpsiDI.eroC.yalpsiD.seciveD.swodniW
sgrAtnevEdetadilosnoCweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
sgrAtnevEdetadilosnoCweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
sgrAtnevEdetadpUecnadiuG.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetadpUecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetadpUegakcaPnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdetadpUegakcaPnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEdetadpUmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetadpUmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetadpUmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdetadpUmiSE.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdetadpUnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetadpUnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetadpUnoitagivaNlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetadpUnoitagivaNlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetadpUnoitalupinaMI.tupnI.IU.swodniW
sgrAtnevEdetadpUnoitalupinaMlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetadpUnoitalupinaMlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetadpUnoitalupinaM.tupnI.IU.swodniW
sgrAtnevEdetadpUsutatSredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUsutatSyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetadpUtnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdetadpUtnuoccAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdetadpUytitnElaitapSI.laitapS.noitpecreP.swodniW
sgrAtnevEdetadpUytitnElaitapS.laitapS.noitpecreP.swodniW
sgrAtnevEdetaerCecruoSaideMrevieceRtsacariMI.tsacariM.aideM.swodniW
sgrAtnevEdetaerCecruoSaideMrevieceRtsacariM.tsacariM.aideM.swodniW
sgrAtnevEdetaerCecruoseR.scihparG.krowemarF.anX.tfosorciM
sgrAtnevEdetaerCnoitcennoCrevieceRtsacariMI.tsacariM.aideM.swodniW
sgrAtnevEdetaerCnoitcennoCrevieceRtsacariM.tsacariM.aideM.swodniW
sgrAtnevEdetaerCriaPtniopdnEdnuobnIeviLxobX.eviLxobX.gnikrowteN.swodniW
sgrAtnevEdetaerCriaPtniopdnEdnuobnIeviLxobXI.eviLxobX.gnikrowteN.swodniW
sgrAtnevEdetaerCsecivreSraBemaGreganaMsecivreSraBemaG.erutpaC.aideM.swodniW
sgrAtnevEdetaerCsecivreSraBemaGreganaMsecivreSraBemaGI.erutpaC.aideM.swodniW
sgrAtnevEdetaerCweiVIUbeWweNI.IUbeW.IU.swodniW
sgrAtnevEdetaerCweiVIUbeWweN.IUbeW.IU.swodniW
sgrAtnevEdetaerCwodniWI.lmaX.IU.swodniW
sgrAtnevEdetaerCwodniW.lmaX.IU.swodniW
sgrAtnevEdetagivaNIUbeWI.IUbeW.IU.swodniW
sgrAtnevEdetagivaNIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetareneGeliFerutpaCppA.erutpaC.aideM.swodniW
sgrAtnevEdetareneGeliFerutpaCppAI.erutpaC.aideM.swodniW
sgrAtnevEdetareneGeliFgoLI.scitsongaiD.noitadnuoF.swodniW
sgrAtnevEdetareneGeliFgoL.scitsongaiD.noitadnuoF.swodniW
sgrAtnevEdetareneGnoitaruDerutpaCppA.erutpaC.aideM.swodniW
sgrAtnevEdetareneGnoitaruDerutpaCppAI.erutpaC.aideM.swodniW
sgrAtnevEdetareneGsisehtopyHnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetareneGsisehtopyHnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetareneGtluseRnoitingoceRsuounitnoChceepSI.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetareneGtluseRnoitingoceRsuounitnoChceepS.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetavitcAdenruteRrekciPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAdenruteRrekciP.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAdnammoCecioVI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAdnammoCecioVIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAdnammoCecioV.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAdnuorgkcaBI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAdnuorgkcaB.IUbeW.IU.swodniW
sgrAtnevEdetavitcAdnuorgkcaB.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeciveDI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeciveDIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAeciveD.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcaeD.llehS.enohP.tfosorciM
sgrAtnevEdetavitcaeDnoitcennoCrotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
sgrAtnevEdetavitcaeDnoitcennoCrotalumEdraCtramS.sdraCtramS.seciveD.swodniW
sgrAtnevEdetavitcAegasseMtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAegasseMtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAegasseMtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeliFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeliFIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAeliF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAemarFemiTwohSredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAemarFemiTwohSredivorPstnemtnioppAIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAemarFemiTwohSredivorPstnemtnioppA.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeniLdnammoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAeniLdnammoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAeniLdnammoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAgniriaPeciveDI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAgniriaPeciveDIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAgniriaPeciveD.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcnuaLdetcirtseRI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcnuaLdetcirtseRIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAhcnuaLdetcirtseR.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcnualerPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcnuaLI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcnuaLIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAhcnuaL.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcraeSI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAhcraeSIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAhcraeS.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAIUwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetavitcAIUwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetavitcAksaTdnuorgeroFwolfkroWtnirPIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAksaTputratSI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAksaTputratSIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAksaTputratS.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAlenaPtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAlenaPtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAlenaPtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCneercSkcoLI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCneercSkcoLIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAllaCneercSkcoL.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCoediVtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCoediVtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAllaCoediVtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAllaCtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAllaCtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcA.llehS.enohP.tfosorciM
sgrAtnevEdetavitcAlocotorPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAlocotorPIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAlocotorP.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAneercSkcoLI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAneercSkcoLIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAneercSkcoL.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAnoitacifitoNtsaoTI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAnoitacifitoNtsaoTIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAnoitacifitoNtsaoT.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAnoitaunitnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAnoitcAtellaWI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAnoitcAtellaWIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAnoitcAtellaW.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcApaMtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcApaMtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcApaMtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPIUemaGI.IU.gnimaG.swodniW
sgrAtnevEdetavitcAredivorPIUemaG.IU.gnimaG.swodniW
sgrAtnevEdetavitcAredivorPstcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAataDresUI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAataDresUIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAataDresU.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAbeWI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAbeWIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAredivorPtnuoccAbeW.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPevaSeliFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPevaSeliFIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcArekciPevaSeliF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPnepOeliFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPnepOeliFIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcArekciPnepOeliF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArekciPtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcArekciPtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAretadpUeliFdehcaCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAretadpUeliFdehcaCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAretadpUeliFdehcaC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArevieceRlaiDI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcArevieceRlaiDIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcArevieceRlaiD.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsgnitteSaremaCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsgnitteSaremaCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAsgnitteSaremaC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsgnitteSksaTtnirPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsgnitteSksaTtnirPIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAsgnitteSksaTtnirP.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsliateDtnemtnioppAwohSredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAsliateDtnemtnioppAwohSredivorPstnemtnioppAIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAsliateDtnemtnioppAwohSredivorPstnemtnioppA.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAstluseRroFlocotorPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAstluseRroFlocotorPIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAstluseRroFlocotorP.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtegraTerahSI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtegraTerahSIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtegraTerahS.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAddAredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAddAredivorPstnemtnioppAIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtnemtnioppAddAredivorPstnemtnioppA.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAecalpeRredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAecalpeRredivorPstnemtnioppAIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtnemtnioppAecalpeRredivorPstnemtnioppA.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAevomeRredivorPstnemtnioppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnemtnioppAevomeRredivorPstnemtnioppAIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtnemtnioppAevomeRredivorPstnemtnioppA.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtnenopmoCneercSkcoLIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtnenopmoCneercSkcoL.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtsaoTI.snoitacifitoN.IU.swodniW
sgrAtnevEdetavitcAtsaoT.snoitacifitoN.IU.swodniW
sgrAtnevEdetavitcAtsoPtcatnoCI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAtsoPtcatnoCIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAtsoPtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAweiverPrennacSedocraBI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAweiverPrennacSedocraBIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAweiverPrennacSedocraB.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAweiVnoitacilppAI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAwodniW.eroC.IU.swodniW
sgrAtnevEdetavitcAwodniWI.eroC.IU.swodniW
sgrAtnevEdetavitcAwolfkroWD3tnirPI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetavitcAwolfkroWD3tnirPIUbeW.IUbeW.IU.swodniW
sgrAtnevEdetavitcAwolfkroWD3tnirP.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEdetceleSeciveDgnitsaC.gnitsaC.aideM.swodniW
sgrAtnevEdetceleSeciveDgnitsaCI.gnitsaC.aideM.swodniW
sgrAtnevEdetceleSeciveDI.noitaremunE.seciveD.swodniW
sgrAtnevEdetceleSeciveDlaiDI.locotorPlaiD.aideM.swodniW
sgrAtnevEdetceleSeciveDlaiD.locotorPlaiD.aideM.swodniW
sgrAtnevEdetceleSeciveD.noitaremunE.seciveD.swodniW
sgrAtnevEdetceleSecruoSoTyalPI.oTyalP.aideM.swodniW
sgrAtnevEdetceleSecruoSoTyalP.oTyalP.aideM.swodniW
sgrAtnevEdetcelloCsekortSknI.gniknI.tupnI.IU.swodniW
sgrAtnevEdetcelloCsekortSknII.gniknI.tupnI.IU.swodniW
sgrAtnevEdetcennoCnoisseStpeccAotuAecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetcennoCnoisseStpeccAotuAecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetcennocsiDnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetcennocsiDnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetcennocsiDrevieceRtsacariMI.tsacariM.aideM.swodniW
sgrAtnevEdetcennocsiDrevieceRtsacariM.tsacariM.aideM.swodniW
sgrAtnevEdetceteDecaF.eroC.aideM.swodniW
sgrAtnevEdetceteDecaFI.eroC.aideM.swodniW
sgrAtnevEdetceteDeruliaFaideMlaitraP.aideM.lmaX.IU.swodniW
sgrAtnevEdetceteDeruliaFaideMlaitraPI.aideM.lmaX.IU.swodniW
sgrAtnevEdetceteDlangiStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetceteDlangiStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetceteDnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetceteDnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetceteDrorrEdeldnahnU.eroC.ledoMnoitacilppA.swodniW
sgrAtnevEdetceteDrorrEdeldnahnUI.eroC.ledoMnoitacilppA.swodniW
sgrAtnevEdetceteDtpircSgninnuRgnoLlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdetceteDtpircSgninnuRgnoLlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdetceteDtpircSgninnuRgnoLweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetceteDtpircSgninnuRgnoLweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCdaoLecruoSegamIdedaoL.aideM.lmaX.IU.swodniW
sgrAtnevEdetelpmoCdaoLecruoSegamIdedaoLI.aideM.lmaX.IU.swodniW
sgrAtnevEdetelpmoCdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdetelpmoCdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdetelpmoCdloHlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCdloHlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCemarFoiduAI.oiduA.aideM.swodniW
sgrAtnevEdetelpmoCemarFoiduA.oiduA.aideM.swodniW
sgrAtnevEdetelpmoCerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCerahS.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCesnopseRtseuqeRredivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
sgrAtnevEdetelpmoCesnopseRtseuqeRredivorPcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
sgrAtnevEdetelpmoCevloseRpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdetelpmoCgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoChctaBnoitisopmoCI.noitisopmoC.IU.swodniW
sgrAtnevEdetelpmoChctaBnoitisopmoC.noitisopmoC.IU.swodniW
sgrAtnevEdetelpmoChcteFesneciLDNI.ydaeRyalP.noitcetorP.aideM.swodniW
sgrAtnevEdetelpmoCksaTD3tnirP.D3gnitnirP.scihparG.swodniW
sgrAtnevEdetelpmoCksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
sgrAtnevEdetelpmoCksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCksaTtnirP.gnitnirP.scihparG.swodniW
sgrAtnevEdetelpmoCksaTtnirPI.gnitnirP.scihparG.swodniW
sgrAtnevEdetelpmoCmetIeueuQerotS.erotS.secivreS.swodniW
sgrAtnevEdetelpmoCmetIeueuQerotSI.erotS.secivreS.swodniW
sgrAtnevEdetelpmoCnoitagivaNlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitagivaNlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitagivaNlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdetelpmoCnoitagivaNlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdetelpmoCnoitagivaNweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCnoitagivaNweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCnoitalupinaMI.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitalupinaMlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitalupinaMlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitalupinaM.tupnI.IU.swodniW
sgrAtnevEdetelpmoCnoitaremunEmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetelpmoCnoitaremunEmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetelpmoCnoitarepOaremaC.seciveD.tfosorciM
sgrAtnevEdetelpmoCnoitarepOI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCnoitarepOnepOecruoSaideM.eroC.aideM.swodniW
sgrAtnevEdetelpmoCnoitarepOnepOecruoSaideMI.eroC.aideM.swodniW
sgrAtnevEdetelpmoCnoitarepO.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetelpmoCnoitartsigeRDNI.ydaeRyalP.noitcetorP.aideM.swodniW
sgrAtnevEdetelpmoCnoitceteDytimixorPDNI.ydaeRyalP.noitcetorP.aideM.swodniW
sgrAtnevEdetelpmoCnoitingoceRsuounitnoChceepSI.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetelpmoCnoitingoceRsuounitnoChceepS.noitingoceRhceepS.aideM.swodniW
sgrAtnevEdetelpmoCnoitisopmoCtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEdetelpmoCnoitisopmoCtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEdetelpmoCporDI.lmaX.IU.swodniW
sgrAtnevEdetelpmoCporD.lmaX.IU.swodniW
sgrAtnevEdetelpmoCsmetIgarDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCsmetIgarD.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCsmetIgarDweiVeerTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCsmetIgarDweiVeerT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetelpmoCtohspanSetaerC.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEdetixEppArengiseD.gnitsoH.lmaX.IU.swodniW
sgrAtnevEdetixEppArengiseDI.gnitsoH.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPerutaeFtisnarTlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPerutaeFtisnarTlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPkramdnaLssenisuBlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPkramdnaLssenisuBlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPreyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPreyaLstnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPtnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetixEretnioPtnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetpeccAetivnI.secivreSremaG.krowemarF.anX.tfosorciM
sgrAtnevEdetpurretnInoisseStnegAlanoitasrevnoCI.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetpurretnInoisseStnegAlanoitasrevnoC.tnegAlanoitasrevnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetratSdloHlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSdloHlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetratSgarD.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetratSgnireffuBnoisseSkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdetratSgnireffuBnoisseSkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdetratSkaerBaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdetratSkaerBaideM.kcabyalP.aideM.swodniW
sgrAtnevEdetratSmutnauQedoNtupnIemarFI.oiduA.aideM.swodniW
sgrAtnevEdetratSmutnauQedoNtupnIemarF.oiduA.aideM.swodniW
sgrAtnevEdetratSnoitagivaNlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitagivaNlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitalupinaMI.tupnI.IU.swodniW
sgrAtnevEdetratSnoitalupinaMlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitalupinaMlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitalupinaM.tupnI.IU.swodniW
sgrAtnevEdetratSnoitingoceRlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitingoceRlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEdetratSnoitisopmoCtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEdetratSnoitisopmoCtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEdetratSnoitisopmoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetratSnoitisopmoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetratStcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdetratStcatnoCneercSrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdetropmImetItropmIotohPI.tropmI.aideM.swodniW
sgrAtnevEdetropmImetItropmIotohP.tropmI.aideM.swodniW
sgrAtnevEdetseuqeRataDI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRataD.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRdaeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdetseuqeRdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdetseuqeRdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdetseuqeRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEdetseuqeRdnEllaCneercSkcoLI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRdnEllaCneercSkcoL.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeReciveDesaeleRretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetseuqeReciveDesaeleRretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdetseuqeRecivreSI.noitcetorP.aideM.swodniW
sgrAtnevEdetseuqeRecivreS.noitcetorP.aideM.swodniW
sgrAtnevEdetseuqeRecruoseRbeWlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdetseuqeRecruoseRbeWlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdetseuqeRecruoseRbeWweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRecruoseRbeWweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRecruoSmaertSaideMezilaitinI.eroC.aideM.swodniW
sgrAtnevEdetseuqeRecruoSmaertSaideMezilaitinII.eroC.aideM.swodniW
sgrAtnevEdetseuqeRecruoSoTyalPI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRecruoSoTyalP.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCdelbanEelffuhS.aideM.swodniW
sgrAtnevEdetseuqeRegnahCdelbanEelffuhSI.aideM.swodniW
sgrAtnevEdetseuqeRegnahCecruoSI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCecruoS.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCedoMtaepeRotuA.aideM.swodniW
sgrAtnevEdetseuqeRegnahCedoMtaepeRotuAI.aideM.swodniW
sgrAtnevEdetseuqeRegnahCemiTtnerruCI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCemiTtnerruC.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCemuloVI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCemuloV.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetaRkcabyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetaRkcabyalPI.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetaRkcabyalPI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetaRkcabyalP.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetuMI.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCetuM.oTyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCnoitisoPkcabyalP.aideM.swodniW
sgrAtnevEdetseuqeRegnahCnoitisoPkcabyalPI.aideM.swodniW
sgrAtnevEdetseuqeReliFtegraTI.redivorP.srekciP.egarotS.swodniW
sgrAtnevEdetseuqeReliFtegraT.redivorP.srekciP.egarotS.swodniW
sgrAtnevEdetseuqeRelpmaSecruoSmaertSaideM.eroC.aideM.swodniW
sgrAtnevEdetseuqeRelpmaSecruoSmaertSaideMI.eroC.aideM.swodniW
sgrAtnevEdetseuqeResolCwodniWppAI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdetseuqeResolCwodniWppA.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdetseuqeRetadpUeliFI.redivorP.egarotS.swodniW
sgrAtnevEdetseuqeRetadpUeliF.redivorP.egarotS.swodniW
sgrAtnevEdetseuqeRetadpUyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
sgrAtnevEdetseuqeRetadpUyarrApmaL.stceffE.sthgiL.seciveD.swodniW
sgrAtnevEdetseuqeRetirWttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdetseuqeRetirWttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sgrAtnevEdetseuqeRetucexEI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRetucexEnaCI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRetucexEnaC.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRetucexE.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRevaSnoitarugifnoCksaTtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdetseuqeRevaSnoitarugifnoCksaTtnirP.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdetseuqeRgniriaPeciveDI.noitaremunE.seciveD.swodniW
sgrAtnevEdetseuqeRgniriaPeciveD.noitaremunE.seciveD.swodniW
sgrAtnevEdetseuqeRhserfeRI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRhserfeR.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRirUeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRirUeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRkcaB.eroC.IU.swodniW
sgrAtnevEdetseuqeRkcaBI.eroC.IU.swodniW
sgrAtnevEdetseuqeRkcaBweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRkcaBweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRksaTD3tnirP.D3gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRksaTtnirP.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRksaTtnirPI.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRlaideRI.seciveD.aideM.swodniW
sgrAtnevEdetseuqeRlaideR.seciveD.aideM.swodniW
sgrAtnevEdetseuqeRlaiDI.seciveD.aideM.swodniW
sgrAtnevEdetseuqeRlaiD.seciveD.aideM.swodniW
sgrAtnevEdetseuqeRlianbmuhTslortnoCtropsnarTaideM.aideM.lmaX.IU.swodniW
sgrAtnevEdetseuqeRlianbmuhTslortnoCtropsnarTaideMI.aideM.lmaX.IU.swodniW
sgrAtnevEdetseuqeRnioJnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetseuqeRnioJnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdetseuqeRnoisseSecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetseuqeRnoisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetseuqeRnoissimrePlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdetseuqeRnoissimrePlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdetseuqeRnoissimrePweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRnoissimrePweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRnoitacifireVslaitnederCnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdetseuqeRnoitacifireVslaitnederCnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdetseuqeRnoitacifitoNoiduAecnadiuG.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetseuqeRnoitacifitoNoiduAecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetseuqeRnoitadilaVmotsuCrevreSpttHI.sretliF.pttH.beW.swodniW
sgrAtnevEdetseuqeRnoitadilaVmotsuCrevreSpttH.sretliF.pttH.beW.swodniW
sgrAtnevEdetseuqeRnoitadilaVmotsuCrevreStekcoSbeWI.stekcoS.gnikrowteN.swodniW
sgrAtnevEdetseuqeRnoitadilaVmotsuCrevreStekcoSbeW.stekcoS.gnikrowteN.swodniW
sgrAtnevEdetseuqeRnoitceleStxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRnoitceleStxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRnoitcennoCI.ytimixorP.gnikrowteN.swodniW
sgrAtnevEdetseuqeRnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetseuqeRnoitcennoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
sgrAtnevEdetseuqeRnoitcennoC.ytimixorP.gnikrowteN.swodniW
sgrAtnevEdetseuqeRpamtiBeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRpamtiBeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRpamtiByarrApmaLI.stceffE.sthgiL.seciveD.swodniW
sgrAtnevEdetseuqeRpamtiByarrApmaL.stceffE.sthgiL.seciveD.swodniW
sgrAtnevEdetseuqeRppAlluFhcnuaLlenaPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRppAlluFhcnuaLlenaPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRputeSdnuorgeroFwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRputeSdnuorgeroFwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRputeSdnuorgkcaBwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRputeSdnuorgkcaBwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdetseuqeRredivorPnoitamotuA.eroC.IU.swodniW
sgrAtnevEdetseuqeRredivorPnoitamotuAI.eroC.IU.swodniW
sgrAtnevEdetseuqeRrohcnAI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRrohcnA.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRsdnammoCenaPsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
sgrAtnevEdetseuqeRsdnammoCenaPsgnitteS.sgnitteSnoitacilppA.IU.swodniW
sgrAtnevEdetseuqeRsdnammoCenaPsgnitteSstnuoccAI.sgnitteSnoitacilppA.IU.swodniW
sgrAtnevEdetseuqeRsdnammoCenaPsgnitteSstnuoccA.sgnitteSnoitacilppA.IU.swodniW
sgrAtnevEdetseuqeRsdnuoBevitcaretnItsesolC.eroC.IU.swodniW
sgrAtnevEdetseuqeRsdnuoBevitcaretnItsesolCI.eroC.IU.swodniW
sgrAtnevEdetseuqeRslaitnederCnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdetseuqeRslaitnederCnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdetseuqeRsmaertShctiwSecruoSmaertSaideM.eroC.aideM.swodniW
sgrAtnevEdetseuqeRsmaertShctiwSecruoSmaertSaideMI.eroC.aideM.swodniW
sgrAtnevEdetseuqeRsnoitsegguSenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRsnoitsegguSenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRsnoitsegguShcraeS.eroC.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRsnoitsegguShcraeSI.eroC.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRsnoitsegguSxoBhcraeSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRsnoitsegguSxoBhcraeS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRsredivorPerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRsredivorPerahS.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRstnemelElausiVI.neercStratS.IU.swodniW
sgrAtnevEdetseuqeRstnemelElausiV.neercStratS.IU.swodniW
sgrAtnevEdetseuqeRsucoFekaTecruoSlmaXwodniWpotkseD.gnitsoH.lmaX.IU.swodniW
sgrAtnevEdetseuqeRsucoFekaTecruoSlmaXwodniWpotkseDI.gnitsoH.lmaX.IU.swodniW
sgrAtnevEdetseuqeRsucoFevoMlortnoCweiVbeWI.poretnI.IU.beW.swodniW
sgrAtnevEdetseuqeRsucoFevoMlortnoCweiVbeW.poretnI.IU.beW.swodniW
sgrAtnevEdetseuqeRtaebtraeHtsacdaorBppA.erutpaC.aideM.swodniW
sgrAtnevEdetseuqeRtaebtraeHtsacdaorBppAI.erutpaC.aideM.swodniW
sgrAtnevEdetseuqeRtegraTnoitarepOporDeroC.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRtegraTnoitarepOporDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRtnirPwolfkroWD3tnirPI.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdetseuqeRtnirPwolfkroWD3tnirP.snoisnetxE.sretnirP.seciveD.swodniW
sgrAtnevEdetseuqeRtuoyaLtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRtuoyaLtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRtxetnoCI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxetnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxetnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxetnoCreyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxetnoCreyaLstnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxetnoC.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRtxeTtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRtxeTtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEdetseuqeRweiVotnIgnirBI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRweiVotnIgnirB.lmaX.IU.swodniW
sgrAtnevEdetseuqeRwodniWweNlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEdetseuqeRwodniWweNlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEdetseuqeRwodniWweNweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRwodniWweNweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetseuqeRyalpsiDyeKsseccAI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRyalpsiDyeKsseccA.tupnI.lmaX.IU.swodniW
sgrAtnevEdetseuqeRytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
sgrAtnevEdetseuqeRytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
sgrAtnevEdetsujdAmetsySetanidrooCwaRrohcnAlaitapSI.laitapS.noitpecreP.swodniW
sgrAtnevEdetsujdAmetsySetanidrooCwaRrohcnAlaitapS.laitapS.noitpecreP.swodniW
sgrAtnevEdettimbuStxeTxoBobmoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdettimbuStxeTxoBobmoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEdettimbuSwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdettimbuSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEdettimbuSyreuQenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdettimbuSyreuQenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEdettimbuSyreuQxoBhcraeSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdettimbuSyreuQxoBhcraeS.slortnoC.lmaX.IU.swodniW
sgrAtnevEdettimbuSyreuQxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdettimbuSyreuQxoBtsegguSotuA.slortnoC.lmaX.IU.swodniW
sgrAtnevEdetuoRatleDnoitalupinaMI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRatleDnoitalupinaM.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdegnahCetaR.aideM.lmaX.IU.swodniW
sgrAtnevEdetuoRdegnahCetaRI.aideM.lmaX.IU.swodniW
sgrAtnevEdetuoRdeliaFaideMI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeliaFaideM.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaTelbuoDI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaTelbuoD.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaTI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaTthgiRI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaTthgiR.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdeppaT.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdetelpmoCnoitalupinaMI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdetelpmoCnoitalupinaM.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdetratSnoitalupinaMI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdetratSnoitalupinaM.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdevieceRretcarahCI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRdevieceRretcarahC.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoreRecnadiuG.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetuoreRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
sgrAtnevEdetuoRgnidloHI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRgnidloH.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRgnitratSaitrenInoitalupinaMI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRgnitratSaitrenInoitalupinaM.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRgnitratSnoitalupinaMI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRgnitratSnoitalupinaM.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRI.lmaX.IU.swodniW
sgrAtnevEdetuoR.lmaX.IU.swodniW
sgrAtnevEdetuoRnoitpecxEI.lmaX.IU.swodniW
sgrAtnevEdetuoRnoitpecxE.lmaX.IU.swodniW
sgrAtnevEdetuoRrekraMenilemiT.aideM.lmaX.IU.swodniW
sgrAtnevEdetuoRrekraMenilemiTI.aideM.lmaX.IU.swodniW
sgrAtnevEdetuoRretnioPI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRretnioP.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRyeKI.tupnI.lmaX.IU.swodniW
sgrAtnevEdetuoRyeK.tupnI.lmaX.IU.swodniW
sgrAtnevEdeunitnoCtcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEdeunitnoCtcatnoCneercSrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEdevieceRataDdraCavmaAredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDdraCavmaAredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDdraCcificepSrodneVredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDdraCcificepSrodneVredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDdraCknaBredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDdraCknaBredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdevieceRataDecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdevieceRataDnoitpaCdesolCDNI.ydaeRyalP.noitcetorP.aideM.swodniW
sgrAtnevEdevieceRataDrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRataDreyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRataDreyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRdniweRreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRdniweRreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRdrawroFtsaFreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRdrawroFtsaFreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRedoMtaepeRotuAreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRedoMtaepeRotuAreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRegasseMidiM.idiM.seciveD.swodniW
sgrAtnevEdevieceRegasseMidiMI.idiM.seciveD.swodniW
sgrAtnevEdevieceRegasseMsmSI.smS.seciveD.swodniW
sgrAtnevEdevieceRegasseMsmS.smS.seciveD.swodniW
sgrAtnevEdevieceRegasseMtahCemaGI.IU.gnimaG.swodniW
sgrAtnevEdevieceRegasseMtahCemaG.IU.gnimaG.swodniW
sgrAtnevEdevieceRegasseMtekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRegasseMtekcoSbeWegasseM.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRegasseMtekcoSmargataDI.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRegasseMtekcoSmargataD.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRelffuhSreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRelffuhSreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceResnopseRredivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
sgrAtnevEdevieceResnopseRredivorPcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
sgrAtnevEdevieceResuaPreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceResuaPreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRetaRreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRetaRreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRnoitacifitoNhsuPI.snoitacifitoNhsuP.gnikrowteN.swodniW
sgrAtnevEdevieceRnoitacifitoNhsuP.snoitacifitoNhsuP.gnikrowteN.swodniW
sgrAtnevEdevieceRnoitativnInoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevieceRnoitativnInoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevieceRnoitcennoCrenetsiLtekcoSmaertSI.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRnoitcennoCrenetsiLtekcoSmaertS.stekcoS.gnikrowteN.swodniW
sgrAtnevEdevieceRnoitisoPreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRnoitisoPreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRretcarahC.eroC.IU.swodniW
sgrAtnevEdevieceRretcarahCI.eroC.IU.swodniW
sgrAtnevEdevieceRrorrEI.noitacinummoClaireS.seciveD.swodniW
sgrAtnevEdevieceRrorrE.noitacinummoClaireS.seciveD.swodniW
sgrAtnevEdevieceRsuoiverPreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRsuoiverPreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRteSeulaVnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevieceRteSeulaVnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevieceRtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdevieceRtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sgrAtnevEdevieceRtropeRtupnIdiH.eciveDecafretnInamuH.seciveD.swodniW
sgrAtnevEdevieceRtropeRtupnIdiHI.eciveDecafretnInamuH.seciveD.swodniW
sgrAtnevEdevieceRtseuqeRecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sgrAtnevEdevieceRtseuqeRecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
sgrAtnevEdevieceRtseuqeRnoitcennoClatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
sgrAtnevEdevieceRtseuqeRnoitcennoClatroPeciveD.latroPeciveD.scitsongaiD.metsyS.swodniW
sgrAtnevEdevieceRtseuqeRnoitcennoCtekcoSbeWlatroPeciveDI.latroPeciveD.scitsongaiD.metsyS.swodniW
sgrAtnevEdevieceRtxeNreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRtxeNreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRudpArotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
sgrAtnevEdevieceRudpArotalumEdraCtramS.sdraCtramS.seciveD.swodniW
sgrAtnevEdevieceRweiverPegamIrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRweiverPegamIrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevieceRyalPreganaMdnammoCkcabyalPaideMI.kcabyalP.aideM.swodniW
sgrAtnevEdevieceRyalPreganaMdnammoCkcabyalPaideM.kcabyalP.aideM.swodniW
sgrAtnevEdevirrAemarFaideMecruoSitluMI.semarF.erutpaC.aideM.swodniW
sgrAtnevEdevirrAemarFaideMecruoSitluM.semarF.erutpaC.aideM.swodniW
sgrAtnevEdevirrAemarFaideMI.semarF.erutpaC.aideM.swodniW
sgrAtnevEdevirrAemarFaideM.semarF.erutpaC.aideM.swodniW
sgrAtnevEdevirrAemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevirrAemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevirrAemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevirrAemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevirrAemarFredaeRemarFrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevirrAemarFredaeRemarFrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEdevirrAemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevirrAemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRaremaCecapScihpargoloH.cihpargoloH.scihparG.swodniW
sgrAtnevEdevomeRaremaCecapScihpargoloHI.cihpargoloH.scihparG.swodniW
sgrAtnevEdevomeRdraCI.sdraCtramS.seciveD.swodniW
sgrAtnevEdevomeRdraC.sdraCtramS.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFderarfnInoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFderarfnInoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFhtpeDnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFhtpeDnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFroloCnoitpecrePI.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeRecruoSemarFroloCnoitpecreP.noitpecreP.seciveD.swodniW
sgrAtnevEdevomeReliFI.redivorP.srekciP.egarotS.swodniW
sgrAtnevEdevomeReliF.redivorP.srekciP.egarotS.swodniW
sgrAtnevEdevomeRmetI.ehcaCsseccA.egarotS.swodniW
sgrAtnevEdevomeRmetII.ehcaCsseccA.egarotS.swodniW
sgrAtnevEdevomeRmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdevomeRmiSE.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEdevomeRnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRofnIecivreSnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdevomeRofnIecivreSnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdevomeRrebmeMnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEdevomeRrebmeMnoisseSnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEdevomeRtcatnoCI.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdevomeRtcatnoC.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEdevomeRtnapicitraPnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRtnapicitraPnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sgrAtnevEdevomeRtnemnorivnEgniwodniWI.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdevomeRtnemnorivnEgniwodniW.tnemeganaMwodniW.IU.swodniW
sgrAtnevEdevomeRyrtnElanruoJ.noitagivaN.swodniW.metsyS
sgrAtnevEdevomeRytitnElaitapSI.laitapS.noitpecreP.swodniW
sgrAtnevEdevomeRytitnElaitapS.laitapS.noitpecreP.swodniW
sgrAtnevEdeyortseDecruoseR.scihparG.krowemarF.anX.tfosorciM
sgrAtnevEdezylanAenecS.eroC.aideM.swodniW
sgrAtnevEdezylanAenecSI.eroC.aideM.swodniW
sgrAtnevEdiapV.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEdnammoCsecivreSraBemaG.erutpaC.aideM.swodniW
sgrAtnevEdnammoCsecivreSraBemaGI.erutpaC.aideM.swodniW
sgrAtnevEdnuoFetadidnaCsucoFoNI.tupnI.lmaX.IU.swodniW
sgrAtnevEdnuoFetadidnaCsucoFoN.tupnI.lmaX.IU.swodniW
sgrAtnevEdnuorgkcaBderetnEI.ledoMnoitacilppA.swodniW
sgrAtnevEdnuorgkcaBderetnE.IUbeW.IU.swodniW
sgrAtnevEdnuorgkcaBderetnE.ledoMnoitacilppA.swodniW
sgrAtnevEdnuorgkcaBgnivaeLI.ledoMnoitacilppA.swodniW
sgrAtnevEdnuorgkcaBgnivaeL.IUbeW.IU.swodniW
sgrAtnevEdnuorgkcaBgnivaeL.ledoMnoitacilppA.swodniW
sgrAtnevEdnuorgkcaBnIgninnuR.llehS.enohP.tfosorciM
sgrAtnevEdraobpilCoTgnittuClortnoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdraobpilCoTgnittuClortnoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdraobpilCoTgniypoClortnoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEdraobpilCoTgniypoClortnoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEdraobredaeLetirWSG.butS.secivreSremaG.krowemarF.anX.tfosorciM
sgrAtnevEecruoSnoitcaretnIlaitapSI.laitapS.tupnI.IU.swodniW
sgrAtnevEecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
sgrAtnevEecruoStnevErewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEediH.llehS.enohP.tfosorciM
sgrAtnevEegaPweiverPteG.gnitnirP.lmaX.IU.swodniW
sgrAtnevEegaPweiverPteGI.gnitnirP.lmaX.IU.swodniW
sgrAtnevEegnahCetatSkcoL.poretnI.llehS.enohP.tfosorciM
sgrAtnevEegnahCetatSllaCI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEegnahCetatSllaC.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEegnahCetuMI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEegnahCetuM.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEegnahCnoigeRelbisiV.poretnI.llehS.enohP.tfosorciM
sgrAtnevEelbaliavAataDspXwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEelbaliavAataDspXwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sgrAtnevEelbaliavAcitsongaiDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEelbaliavAcitsongaiDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
sgrAtnevEelbaliavAegasseMresUdnEscRI.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEelbaliavAegasseMresUdnEscR.tahC.ledoMnoitacilppA.swodniW
sgrAtnevEerutseGdloHdnApaT.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGegdEI.tupnI.IU.swodniW
sgrAtnevEerutseGegdE.tupnI.IU.swodniW
sgrAtnevEerutseGelacS.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGhcniP.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGhctertS.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGkcilF.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGnaP.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMdloHdnApaT.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMhctertShcniP.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMkcilF.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMnaP.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMpaTelbuoD.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaMpaT.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaTelbuoD.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseGpaT.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEerutseG.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEesuoMI.tupnI.seciveD.swodniW
sgrAtnevEesuoM.tupnI.seciveD.swodniW
sgrAtnevEetadpUekortSteWeroC.eroC.gniknI.tupnI.IU.swodniW
sgrAtnevEetadpUekortSteWeroCI.eroC.gniknI.tupnI.IU.swodniW
sgrAtnevEetanigaP.gnitnirP.lmaX.IU.swodniW
sgrAtnevEetanigaPI.gnitnirP.lmaX.IU.swodniW
sgrAtnevEetarbilaCevitaN.srosneS.seciveD.tfosorciM
sgrAtnevEetelpmoCnoitacitnehtuAnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEetelpmoCnoitacitnehtuAnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEetelpmoCtseuqeRtnegA.enohP.tfosorciM
sgrAtnevEetsaPlortnoCtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEetsaPlortnoCtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEeuCaideM.eroC.aideM.swodniW
sgrAtnevEeuCaideMI.eroC.aideM.swodniW
sgrAtnevEevoMretnioP.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEeziminiM.llehS.enohP.tfosorciM
sgrAtnevEgarDI.lmaX.IU.swodniW
sgrAtnevEgarD.lmaX.IU.swodniW
sgrAtnevEgnidaeRretemoreleccA.srosneS.seciveD.tfosorciM
sgrAtnevEgnidaoLtnetnoClortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEgnidaoLtnetnoClortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEgnidaoLtnetnoCweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnidaoLtnetnoCweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnidargeDytilauQnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
sgrAtnevEgnidargeDytilauQnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
sgrAtnevEgnidilSssorCI.tupnI.IU.swodniW
sgrAtnevEgnidilSssorC.tupnI.IU.swodniW
sgrAtnevEgnidloHI.tupnI.IU.swodniW
sgrAtnevEgnidloHnottuBrellortnoClaidaRI.tupnI.IU.swodniW
sgrAtnevEgnidloHnottuBrellortnoClaidaR.tupnI.IU.swodniW
sgrAtnevEgnidloH.tupnI.IU.swodniW
sgrAtnevEgnidnapxEweiVeerTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnidnapxEweiVeerT.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnidnepsuSI.ledoMnoitacilppA.swodniW
sgrAtnevEgnidnepsuS.IUbeW.IU.swodniW
sgrAtnevEgnidnepsuS.ledoMnoitacilppA.swodniW
sgrAtnevEgnidnepsuSsseccAdetcetorP.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEgnidnepsuSsseccAdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
sgrAtnevEgnidniBaideM.eroC.aideM.swodniW
sgrAtnevEgnidniBaideMI.eroC.aideM.swodniW
sgrAtnevEgnigatSegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEgnigatSegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEgnigatSpuorGtnetnoCegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEgnigatSpuorGtnetnoCegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEgniggarDI.tupnI.IU.swodniW
sgrAtnevEgniggarD.tupnI.IU.swodniW
sgrAtnevEgnignahCaremaClautcApaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCaremaClautcApaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCdrowssaPxoBdrowssaPI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCdrowssaPxoBdrowssaP.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCmetIyaDweiVradnelaCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCmetIyaDweiVradnelaC.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCnoitceleSxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCnoitceleSxoBtidEhciR.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCnoitceleSxoBtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCnoitceleSxoBtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCsmetIwolfrevOcimanyDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCsmetIwolfrevOcimanyD.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCsutatSnoitacitnehtuAresUI.metsyS.swodniW
sgrAtnevEgnignahCsutatSnoitacitnehtuAresU.metsyS.swodniW
sgrAtnevEgnignahCtimiLegasUyromeMppAI.metsyS.swodniW
sgrAtnevEgnignahCtimiLegasUyromeMppA.metsyS.swodniW
sgrAtnevEgnignahCtnerruC.ataD.lmaX.IU.swodniW
sgrAtnevEgnignahCtnerruCI.ataD.lmaX.IU.swodniW
sgrAtnevEgnignahCtnetnoCreniatnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtnetnoCreniatnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTerofeBxoBtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTerofeBxoBtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTxoBtidEhciR.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTxoBtxeTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCtxeTxoBtxeT.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCweiVpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEgnignahCweiVreweiVllorcSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnignahCweiVreweiVllorcS.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnihcnuaLerahS.llehS.enohP.tfosorciM
sgrAtnevEgnihcnuaL.llehS.enohP.tfosorciM
sgrAtnevEgnihcnuaLredivorPstnemtnioppAenohP.llehS.enohP.tfosorciM
sgrAtnevEgnihcnuaLrekciPevaSeliFenohP.llehS.enohP.tfosorciM
sgrAtnevEgnihcnuaLrekciPnepOeliFenohP.llehS.enohP.tfosorciM
sgrAtnevEgnikcolnUneercSkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
sgrAtnevEgnikcolnUneercSkcoL.neercSkcoL.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsnIegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsnIegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsninUegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsninUegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsninUegakcaPnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEgnillatsninUegakcaPnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEgninruteRekovnI.poretnI.llehS.enohP.tfosorciM
sgrAtnevEgniredneR.aideM.lmaX.IU.swodniW
sgrAtnevEgniredneRI.aideM.lmaX.IU.swodniW
sgrAtnevEgnisolCenaPweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCenaPweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCenaPweiVtilpSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCenaPweiVtilpS.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCesaBtuoylF.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolCgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnisolClenaPtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEgnisolClenaPtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEgnisolC.llehS.enohP.tfosorciM
sgrAtnevEgnisolCrekciPI.redivorP.srekciP.egarotS.swodniW
sgrAtnevEgnisolCrekciP.redivorP.srekciP.egarotS.swodniW
sgrAtnevEgnisolCweiVdetsoH.eroC.ledoMnoitacilppA.swodniW
sgrAtnevEgnisolCweiVdetsoHI.eroC.ledoMnoitacilppA.swodniW
sgrAtnevEgnissergorPksaTtnirP.gnitnirP.scihparG.swodniW
sgrAtnevEgnissergorPksaTtnirPI.gnitnirP.scihparG.swodniW
sgrAtnevEgnitadpUegakcaPI.ledoMnoitacilppA.swodniW
sgrAtnevEgnitadpUegakcaP.ledoMnoitacilppA.swodniW
sgrAtnevEgnitadpUegakcaPnoisnetxEppAI.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEgnitadpUegakcaPnoisnetxEppA.snoisnetxEppA.ledoMnoitacilppA.swodniW
sgrAtnevEgnitadpUnoitceleStxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEgnitadpUnoitceleStxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEgnitadpUtamroFtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEgnitadpUtamroFtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEgnitadpUtxeTtxeTeroC.eroC.txeT.IU.swodniW
sgrAtnevEgnitadpUtxeTtxeTeroCI.eroC.txeT.IU.swodniW
sgrAtnevEgnitagivaN.slortnoC.enohP.tfosorciM
sgrAtnevEgnitavitcaeDgnikcarTlanoitisoProtacoLlaitapSI.laitapS.noitpecreP.swodniW
sgrAtnevEgnitavitcaeDgnikcarTlanoitisoProtacoLlaitapS.laitapS.noitpecreP.swodniW
sgrAtnevEgnitratSaitrenInoitalupinaMI.tupnI.IU.swodniW
sgrAtnevEgnitratSaitrenInoitalupinaM.tupnI.IU.swodniW
sgrAtnevEgnitratSecruoSmaertSaideM.eroC.aideM.swodniW
sgrAtnevEgnitratSecruoSmaertSaideMI.eroC.aideM.swodniW
sgrAtnevEgnitratSgarDI.lmaX.IU.swodniW
sgrAtnevEgnitratSgarD.lmaX.IU.swodniW
sgrAtnevEgnitratSnoitagivaNlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEgnitratSnoitagivaNlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEgnitratSnoitagivaNweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitratSnoitagivaNweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitratSnwodtuhSeueuQrehctapsiDI.metsyS.swodniW
sgrAtnevEgnitratSnwodtuhSeueuQrehctapsiD.metsyS.swodniW
sgrAtnevEgnitratSsmetIgarDI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitratSsmetIgarD.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitratSsmetIgarDweiVeerTI.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitratSsmetIgarDweiVeerT.slortnoC.lmaX.IU.swodniW
sgrAtnevEgnitseTtiHhcuoT.eroC.IU.swodniW
sgrAtnevEgnitseTtiHhcuoTI.eroC.IU.swodniW
sgrAtnevEgniwohSnoitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
sgrAtnevEgniwohSnoitacifitoNtsaoTdeludehcS.snoitacifitoN.IU.swodniW
sgrAtnevEgniwohSpupoPwodniWeroC.eroC.IU.swodniW
sgrAtnevEgniwohSpupoPwodniWeroCI.eroC.IU.swodniW
sgrAtnevEhcraeSstcatnoC.ataDresU.enohP.tfosorciM
sgrAtnevEhcraeSstnemtnioppA.ataDresU.enohP.tfosorciM
sgrAtnevEirUlennahCnoitacifitoN.noitacifitoN.enohP.tfosorciM
sgrAtnevEkcabllaCnoitacifitoN.srosneS.seciveD.tfosorciM
sgrAtnevEkcilCerutaeFtisnarTlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCerutaeFtisnarTlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCkcaBI.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCkcaB.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCknilrepyHI.stnemucoD.lmaX.IU.swodniW
sgrAtnevEkcilCknilrepyH.stnemucoD.lmaX.IU.swodniW
sgrAtnevEkcilCkramdnaLssenisuBlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCkramdnaLssenisuBlortnoCpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCmetII.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCmetI.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCnottuBgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCnottuBgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCnottuBtilpSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCnottuBtilpS.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCredaeHnoitceSbuHI.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCredaeHnoitceSbuH.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCreyaLstnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCreyaLstnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCtnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEkcilCtnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEksaT.sksaT.enohP.tfosorciM
sgrAtnevElanruoJ.noitagivaN.swodniW.metsyS
sgrAtnevElecnaCgnitagivaNI.noitagivaN.lmaX.IU.swodniW
sgrAtnevElecnaCgnitagivaN.noitagivaN.lmaX.IU.swodniW
sgrAtnevEleehWesuoM.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEllorcSI.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevEllorcS.sevitimirP.slortnoC.lmaX.IU.swodniW
sgrAtnevElooB.llehS.enohP.tfosorciM
sgrAtnevEmetIdezilautriVpUnaelCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEmetIdezilautriVpUnaelC.slortnoC.lmaX.IU.swodniW
sgrAtnevEmetIreganaMllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
sgrAtnevEmetIreganaMllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
sgrAtnevEmetItnemelEeruceSretsigeR.tnemelEeruceS.enohP.tfosorciM
sgrAtnevEmetItoviPI.slortnoC.lmaX.IU.swodniW
sgrAtnevEmetItoviP.slortnoC.enohP.tfosorciM
sgrAtnevEmetItoviP.slortnoC.lmaX.IU.swodniW
sgrAtnevEnekahSretemoreleccAI.srosneS.seciveD.swodniW
sgrAtnevEnekahSretemoreleccA.srosneS.seciveD.swodniW
sgrAtnevEnesohCnoitacilppAtegraTI.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEnesohCnoitacilppAtegraT.refsnarTataD.ledoMnoitacilppA.swodniW
sgrAtnevEnesohCnoitsegguStluseRenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEnesohCnoitsegguStluseRenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEnesohCnoitsegguStluseRxoBhcraeSI.slortnoC.lmaX.IU.swodniW
sgrAtnevEnesohCnoitsegguStluseRxoBhcraeS.slortnoC.lmaX.IU.swodniW
sgrAtnevEnesohCnoitsegguSxoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
sgrAtnevEnesohCnoitsegguSxoBtsegguSotuA.slortnoC.lmaX.IU.swodniW
sgrAtnevEnIdengiS.secivreSremaG.krowemarF.anX.tfosorciM
sgrAtnevEnItpurretnIbsU.bsU.seciveD.swodniW
sgrAtnevEnItpurretnIbsUI.bsU.seciveD.swodniW
sgrAtnevEnoitacifitoNeludoMeciveDoiduAI.seciveD.aideM.swodniW
sgrAtnevEnoitacifitoNeludoMeciveDoiduA.seciveD.aideM.swodniW
sgrAtnevEnoitacifitoNkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
sgrAtnevEnoitacifitoN.noitacifitoN.enohP.tfosorciM
sgrAtnevEnoitacifitoNpttH.noitacifitoN.enohP.tfosorciM
sgrAtnevEnoitadilaVeulaV.tellaW.enohP.tfosorciM
sgrAtnevEnoitagivaNI.noitagivaN.lmaX.IU.swodniW
sgrAtnevEnoitagivaN.noitagivaN.lmaX.IU.swodniW
sgrAtnevEnoitagivaNtnemgarF.noitagivaN.swodniW.metsyS
sgrAtnevEnoitarbilaC.srosneS.seciveD.tfosorciM
sgrAtnevEnoitaunitnoCrekciPevaSeliFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekciPevaSeliFIUbeW.IUbeW.IU.swodniW
sgrAtnevEnoitaunitnoCrekciPevaSeliF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekciPnepOeliFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekciPnepOeliFIUbeW.IUbeW.IU.swodniW
sgrAtnevEnoitaunitnoCrekciPnepOeliF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekciPredloFI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekciPredloFIUbeW.IUbeW.IU.swodniW
sgrAtnevEnoitaunitnoCrekciPredloF.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekorBnoitacitnehtuAbeWI.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitaunitnoCrekorBnoitacitnehtuAbeWIUbeW.IUbeW.IU.swodniW
sgrAtnevEnoitaunitnoCrekorBnoitacitnehtuAbeW.noitavitcA.ledoMnoitacilppA.swodniW
sgrAtnevEnoitazilaeRmetI.slortnoC.enohP.tfosorciM
sgrAtnevEnoitcAmetItnemelEeruceS.tnemelEeruceS.enohP.tfosorciM
sgrAtnevEnoitcAresU.tnemelEeruceS.enohP.tfosorciM
sgrAtnevEnoitcelloCtnenopmoCemaG.krowemarF.anX.tfosorciM
sgrAtnevEnoitcennoClennahCnoitacifitoN.noitacifitoN.enohP.tfosorciM
sgrAtnevEnoitpecxEdeldnahnUI.lmaX.IU.swodniW
sgrAtnevEnoitpecxEdeldnahnU.lmaX.IU.swodniW
sgrAtnevEnwoDretnioP.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEpaM.slortnoC.spaM.enohP.tfosorciM
sgrAtnevErefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.enohP.tfosorciM
sgrAtnevErehctaWeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevErehctaWeniLenohP.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevErehctaWofnIcitsongaiDppAI.metsyS.swodniW
sgrAtnevErehctaWofnIcitsongaiDppA.metsyS.swodniW
sgrAtnevErehctaWofnIpuorGecruoseRppAI.metsyS.swodniW
sgrAtnevErehctaWofnIpuorGecruoseRppA.metsyS.swodniW
sgrAtnevEremiTemaG.krowemarF.anX.tfosorciM
sgrAtnevEreniatnoCmetIgnisoohCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEreniatnoCmetIgnisoohC.slortnoC.lmaX.IU.swodniW
sgrAtnevEreniatnoCredaeHpuorGgnisoohCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEreniatnoCredaeHpuorGgnisoohC.slortnoC.lmaX.IU.swodniW
sgrAtnevErenioJnoisseStpeccAnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevErenioJnoisseStpeccAnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEretnioP.eroC.IU.swodniW
sgrAtnevEretnioPI.eroC.IU.swodniW
sgrAtnevErevOdekeeSkaerBaideMI.kcabyalP.aideM.swodniW
sgrAtnevErevOdekeeSkaerBaideM.kcabyalP.aideM.swodniW
sgrAtnevErewsnAllaCI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevErewsnAllaC.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevErorrEdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevErorrEdA.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevErorrEdA.TRniW.derahS.gnisitrevdA.tfosorciM
sgrAtnevErorrElennahCnoitacifitoN.noitacifitoN.enohP.tfosorciM
sgrAtnevErorrEnoitcennoCoTyalPI.oTyalP.aideM.swodniW
sgrAtnevErorrEnoitcennoCoTyalP.oTyalP.aideM.swodniW
sgrAtnevErosneSevitaN.srosneS.seciveD.tfosorciM
sgrAtnevErotareleccAdraobyeKssecorPI.tupnI.lmaX.IU.swodniW
sgrAtnevErotareleccAdraobyeKssecorP.tupnI.lmaX.IU.swodniW
sgrAtnevEsegaPddA.gnitnirP.lmaX.IU.swodniW
sgrAtnevEsegaPddAI.gnitnirP.lmaX.IU.swodniW
sgrAtnevEsgnitteSeciveDgniraperP.krowemarF.anX.tfosorciM
sgrAtnevEssergorPdaolnwoD.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEssergorPdaolnwoDI.gnigamI.aideM.lmaX.IU.swodniW
sgrAtnevEssergorPksaTdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
sgrAtnevEssergorPksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
sgrAtnevEsucoFgnisoLI.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFgnisoL.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFgnitteGI.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFgnitteG.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFtoGecruoSlmaXwodniWpotkseD.gnitsoH.lmaX.IU.swodniW
sgrAtnevEsucoFtoGecruoSlmaXwodniWpotkseDI.gnitsoH.lmaX.IU.swodniW
sgrAtnevEsucoFtoGreganaMsucoFI.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFtoGreganaMsucoF.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFtsoLreganaMsucoFI.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFtsoLreganaMsucoF.tupnI.lmaX.IU.swodniW
sgrAtnevEsucoFYXgnirrefsnarTweiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
sgrAtnevEsucoFYXgnirrefsnarTweiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
sgrAtnevEtcejeRllaCI.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEtcejeRllaC.sllaC.ledoMnoitacilppA.swodniW
sgrAtnevEtluseRevloseRecruoStxeTdemiT.eroC.aideM.swodniW
sgrAtnevEtluseRevloseRecruoStxeTdemiTI.eroC.aideM.swodniW
sgrAtnevEtneStseuqeRredivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
sgrAtnevEtneStseuqeRredivorPcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
sgrAtnevEtnuoccAbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
sgrAtnevEtnuoccAbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
sgrAtnevEtnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEtnuoccAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sgrAtnevEtseTtinU.slortnoC.spaM.enohP.tfosorciM
sgrAtnevEtseuqeRcnySreganaMcnySradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnySradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnyStsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnyStsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnyStsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnyStsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnySxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRcnySreganaMcnySxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRecnerruccOpikStsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRecnerruccOpikStsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRegasseMdaolnwoDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRegasseMdaolnwoDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeResnopseRgniteeMetadpUradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeResnopseRgniteeMetadpUradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeResnopseRgniteeMetadpUxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeResnopseRgniteeMetadpUxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMdrawroFradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMdrawroFradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMdrawroFxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMdrawroFxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMlecnaCradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMlecnaCradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMroFemiTweNesoporPradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMroFemiTweNesoporPradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMroFemiTweNesoporPxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRgniteeMroFemiTweNesoporPxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRhctaBdaeRhcraeSrevreStsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRhctaBdaeRhcraeSrevreStsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRhctaBdaeRhcraeSrevreSxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRhctaBdaeRhcraeSrevreSxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTetadpUrOetaerCtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTetadpUrOetaerCtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTeteleDtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTeteleDtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTetelpmoCtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRksaTetelpmoCtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFetaerCxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFetaerCxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFeteleDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFeteleDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFevoMxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFevoMxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFytpmExobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRredloFytpmExobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRreggirTerawtfoSpotSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRreggirTerawtfoSpotSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRreggirTerawtfoStratSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRreggirTerawtfoStratSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRrennacSelbanErennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRrennacSelbanErennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRrennacSelbasiDrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRrennacSelbasiDrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRseigolobmySevitcAteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRseigolobmySevitcAteSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRsetacifitreCetadilaVxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRsetacifitreCetadilaVxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRsetubirttAygolobmySteGrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRsetubirttAygolobmySteGrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRsetubirttAygolobmySteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRsetubirttAygolobmySteSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRsgnitteSylpeRotuAteGxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRsgnitteSylpeRotuAteGxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRsgnitteSylpeRotuAteSxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRsgnitteSylpeRotuAteSxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRstneipiceRevloseRxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRstneipiceRevloseRxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtcatnoCetadpUrOetaerCtsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtcatnoCetadpUrOetaerCtsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtcatnoCeteleDtsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtcatnoCeteleDtsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtnemhcattAdaolnwoDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtnemhcattAdaolnwoDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtnemtnioppAetadpUrOetaerCradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRtnemtnioppAetadpUrOetaerCradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sgrAtnevEtseuqeRweiverPoediVediHrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtseuqeRweiverPoediVediHrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sgrAtnevEtsoLnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
sgrAtnevEtsoLnoisseSnyoJllA.nyoJllA.seciveD.swodniW
sgrAtnevEtsoLssecorPetarapeSweiVbeWI.slortnoC.lmaX.IU.swodniW
sgrAtnevEtsoLssecorPetarapeSweiVbeW.slortnoC.lmaX.IU.swodniW
sgrAtnevEtuOdengiS.secivreSremaG.krowemarF.anX.tfosorciM
sgrAtnevEtupnIdraobyeKnOsucoFgnitseuqeR.eroC.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEtupnIdraobyeKnOsucoFgnitseuqeRI.eroC.hcraeS.ledoMnoitacilppA.swodniW
sgrAtnevEtupnIpaMI.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEtupnIpaM.spaM.slortnoC.lmaX.IU.swodniW
sgrAtnevEuneMtxetnoCI.slortnoC.lmaX.IU.swodniW
sgrAtnevEuneMtxetnoC.slortnoC.lmaX.IU.swodniW
sgrAtnevEweiverPdeddArehctaWeciveDezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdeddArehctaWeciveDezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdegnahCtnemecalPetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
sgrAtnevEweiverPdegnahCtnemecalPetoN.setoN.weiverP.ledoMnoitacilppA.swodniW
sgrAtnevEweiverPdegnahCytilibisiVetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
sgrAtnevEweiverPdegnahCytilibisiVetoN.setoN.weiverP.ledoMnoitacilppA.swodniW
sgrAtnevEweiverPderetnEezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPderetnEezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdetadpUrehctaWeciveDezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdetadpUrehctaWeciveDezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdetixEezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdetixEezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdetseuqeResolCnoitagivaNmetsySI.weiverP.eroC.IU.swodniW
sgrAtnevEweiverPdetseuqeResolCnoitagivaNmetsyS.weiverP.eroC.IU.swodniW
sgrAtnevEweiverPdevomeRrehctaWeciveDezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdevomeRrehctaWeciveDezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdevoMezaGI.weiverP.tupnI.seciveD.swodniW
sgrAtnevEweiverPdevoMezaG.weiverP.tupnI.seciveD.swodniW
sgrAtnevEwodniWeroC.eroC.IU.swodniW
sgrAtnevEwodniWeroCI.eroC.IU.swodniW
sgrAtnevEwohS.llehS.enohP.tfosorciM
sgrAtnevEydaeRdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
sgrAtnevEydaeRtnetnoC.seciveD.tfosorciM
sgrAtnevEyeK.eroC.IU.swodniW
sgrAtnevEyeKI.eroC.IU.swodniW
sgrAtnevEyeKrotareleccA.eroC.IU.swodniW
sgrAtnevEyeKrotareleccAI.eroC.IU.swodniW
sgrAtnevEyfitoNI.slortnoC.lmaX.IU.swodniW
sgrAtnevEyfitoN.slortnoC.enohP.tfosorciM
sgrAtnevEyfitoN.slortnoC.lmaX.IU.swodniW
sgrAtnevEyfitoNtpircSlortnoCweiVbeWI.IU.beW.swodniW
sgrAtnevEyfitoNtpircSlortnoCweiVbeW.IU.beW.swodniW
sgrAtnevEytilibisiVenaPtupnII.tnemeganaMweiV.IU.swodniW
sgrAtnevEytilibisiVenaPtupnI.tnemeganaMweiV.IU.swodniW
sgrAtnevEytivitcAlennahCnpVI.npV.gnikrowteN.swodniW
sgrAtnevEytivitcAlennahCnpV.npV.gnikrowteN.swodniW
sgregistrykey.cpp
sgremoteapiexceptions.h
sgrpcclient.cpp
sgrpcclient.h
sgsec8fileiotraits.h
sgservicing.h
sgsftldrexceptions.h
sgsuite.cpp
sgvfontipcserver.cpp
sgvregistry.cpp
sgvregistry.h
sgvregistrytest.cpp
sha1WithRSAEncryption
sha224WithRSAEncryption
sha256WithRSAEncryption
sha384WithRSAEncryption
sha512WithRSAEncryption
shaderBufferFloat16AtomicAdd
shaderBufferFloat16AtomicMinMax
shaderBufferFloat16Atomics
shaderBufferFloat32AtomicAdd
shaderBufferFloat32AtomicMinMax
shaderBufferFloat32Atomics
shaderBufferFloat64AtomicAdd
shaderBufferFloat64AtomicMinMax
shaderBufferFloat64Atomics
shaderBufferInt64Atomics
shaderClipDistance
shaderCullDistance
shaderDemoteToHelperInvocation
shaderDenormFlushToZeroFloat16
shaderDenormFlushToZeroFloat32
shaderDenormFlushToZeroFloat64
shaderDenormPreserveFloat16
shaderDenormPreserveFloat32
shaderDenormPreserveFloat64
shaderDeviceClock
shaderDrawParameters
shaderFloat16
shaderFloat64
SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
shaderGroupBaseAlignment
shaderGroupHandleAlignment
shaderGroupHandleCaptureReplaySize
shaderGroupHandleSize
shaderImageFloat32AtomicAdd
shaderImageFloat32AtomicMinMax
shaderImageFloat32Atomics
shaderImageGatherExtended
shaderImageInt64Atomics
shaderInputAttachmentArrayDynamicIndexing
shaderInputAttachmentArrayNonUniformIndexing
shaderInputAttachmentArrayNonUniformIndexingNative
shaderInt16
shaderInt64
shaderInt8
shaderIntegerDotProduct
shaderOutputLayer
shaderOutputViewportIndex
shaderResourceMinLod
shaderResourceResidency
shaderRoundingModeRTEFloat16
shaderRoundingModeRTEFloat32
shaderRoundingModeRTEFloat64
shaderRoundingModeRTZFloat16
shaderRoundingModeRTZFloat32
shaderRoundingModeRTZFloat64
shaderSampledImageArrayDynamicIndexing
shaderSampledImageArrayNonUniformIndexing
shaderSampledImageArrayNonUniformIndexingNative
shaderSampleRateInterpolationFunctions
shaderSharedFloat16AtomicAdd
shaderSharedFloat16AtomicMinMax
shaderSharedFloat16Atomics
shaderSharedFloat32AtomicAdd
shaderSharedFloat32AtomicMinMax
shaderSharedFloat32Atomics
shaderSharedFloat64AtomicAdd
shaderSharedFloat64AtomicMinMax
shaderSharedFloat64Atomics
shaderSharedInt64Atomics
shaderSignedZeroInfNanPreserveFloat16
shaderSignedZeroInfNanPreserveFloat32
shaderSignedZeroInfNanPreserveFloat64
SHADER_STAGE_ALL
SHADER_STAGE_ALL_GRAPHICS
SHADER_STAGE_ANY_HIT_BIT_KHR
SHADER_STAGE_CALLABLE_BIT_KHR
SHADER_STAGE_CLOSEST_HIT_BIT_KHR
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_INTERSECTION_BIT_KHR
SHADER_STAGE_MESH_BIT_NV
SHADER_STAGE_MISS_BIT_KHR
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
SHADER_STAGE_TASK_BIT_NV
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_VERTEX_BIT
shaderStorageBufferArrayDynamicIndexing
shaderStorageBufferArrayNonUniformIndexing
shaderStorageBufferArrayNonUniformIndexingNative
shaderStorageImageArrayDynamicIndexing
shaderStorageImageArrayNonUniformIndexing
shaderStorageImageArrayNonUniformIndexingNative
shaderStorageImageExtendedFormats
shaderStorageImageMultisample
shaderStorageImageReadWithoutFormat
shaderStorageImageWriteWithoutFormat
shaderStorageTexelBufferArrayDynamicIndexing
shaderStorageTexelBufferArrayNonUniformIndexing
shaderSubgroupClock
shaderSubgroupExtendedTypes
shaderSubgroupUniformControlFlow
shaderTerminateInvocation
shaderTessellationAndGeometryPointSize
shaderUniformBufferArrayDynamicIndexing
shaderUniformBufferArrayNonUniformIndexing
shaderUniformBufferArrayNonUniformIndexingNative
shaderUniformTexelBufferArrayDynamicIndexing
shaderUniformTexelBufferArrayNonUniformIndexing
shaderZeroInitializeWorkgroupMemory
SHAppBarMessage
shareAccess
ShareDenyNone
ShareDenyRead
ShareDenyWrite
shared_errors.h
SharedFolderTempLocation
_sharedMemorySize
sharedPresentSupportedUsageFlags
ShareExclusive
SharpnessWWWP-
SHBindToObject
SHBindToParent
shb_proc
SHChangeNotify
SHChangeNotifyRegisterThread
SHChangeNotifySuspendResume
SHCoCreateInstance
SHCORE.dll
SHCreateItemFromParsingName
SHCreateItemInKnownFolder
SHCreateMemStream
SHCreateStreamOnFileW
SHCreateThread
SHCreateThreadRef
SHCreateWorkerWindowW
SHDeleteKeyW
SHDeleteValueW
shell32.dll
Shell32.dll
SHELL32.dll
ShellAboutW
shell access disabled
shell disabled
shell enabled
ShellExecuteExW
ShellExecuteW
ShellExecuteWorker
shellextensiondetector.cpp
shellextensiondetector.h
shellextensiondetectorut.cpp
shellextensionenumerator.cpp
shellextensionenumerator.h
shellextensionsnotifieripc_c.c
shellextensionsnotifieripc.h
shellextensionspackagerbinder.cpp
shellextensionspackager.cpp
shellextensionspackager.h
shellextensionspackagerwriter.cpp
shellextensionspublishingoperation.cpp
shellextensionsregistrator.cpp
shellextensionsregistrator.h
shellextensionsrpcserverapi.cpp
shellextensionsrpcserver.cpp
shellextensionsrpcserver.h
ShellHandled
Shell_LaunchSessionGeneric
shellnfy.h
shell_notification_manager.cpp
shell_notification_manager_impl.cpp
shellnotifycommand.hpp
Shell_NotifyIconW
    shell             Start two instances; one as the framework and the other
Shell Unavailable
SHEvaluateSystemCommandTemplate
SHExpandEnvironmentStringsW
SHFileOperationW
SHGetDesktopFolder
SHGetFileInfoW
SHGetFolderPathAndSubDirW
SHGetFolderPathW
SHGetIDListFromObject
SHGetKnownFolderIDList
SHGetKnownFolderItem
SHGetKnownFolderPath
SHGetKnownFolderPath failed to get FOLDERID_Windows.
SHGetMalloc
SHGetPathFromIDListEx
SHGetPathFromIDListW
SHGetPropertyStoreForWindow
SHGetSpecialFolderLocation
SHGetSpecialFolderPathA
SHGetSpecialFolderPathW
SHGetStockIconInfo
SHGetThreadRef
SHGetValueW
ShimExceptionHandler
ShipAssert
SHLWAPI.dll
sHorizontalSyncPolarityWW
shortcutbuilder.cpp
shortcutbuildertests.cpp
shortcut.cpp
shortcut_file_check.hpp
shortcut_file.cpp
shortcut_file.h
shortcut.h
shortcut_handler.cpp
shortcut_handler.h
shortcut_handler.stub.cpp
shortcut_manifest_factory.cpp
shortcut_manifest_factory.h
shortcut_manifest_interface.h
shortcut_manifest_test.cpp
shortcutmgr.cpp
shortcutmgr.h
shortcut_notifier_ipc_c.c
shortcut_notifier_ipc.h
shortcut_ownership_man.cpp
shortcut_ownership_man.h
shortcut_ownership_man_tests.cpp
shortcut_ownership_store.cpp
shortcut_ownership_store.h
shortcut_ownership_store_tests.cpp
shortcut_packager.cpp
shortcut_packager.h
shortcut_packager_subsystem.cpp
shortcut_packaging_unit_tests.cpp
shortcut_registrator.cpp
shortcut_registrator.h
shortcutresolver.cpp
shortcut_rpc_server_api.cpp
shortcut_rpc_server.cpp
shortcut_rpc_server.h
shortcut_rpc_server::start_rpc_server
shortcut_save_ownership_store_command.hpp
shortcutserver.cpp
shortcutserver.h
ShortNamesModelsDirectoryExplorer
short_path_redirector.cpp
short_paths.hpp
shortpathtablebuilder.cpp
shortpathtablebuilder.h
shortpathtable.cpp
shortpathtable.h
ShortPathWWW@
ShouldSerializeTIME_CREATED
ShouldSerializeValue
ShouldSync
ShouldTryAcquiringLicense
ShowAccessDeniedWarning
ShowCursor
Show document info only
show-error
Show error even when -s is used
--show-formats
--show-formats      Display the format properties of each physical device.
showing headers and --remote-header-name cannot be combined
ShowInTaskbar
--show-tool-props
--show-tool-props   Show the active VkPhysicalDeviceToolPropertiesEXT that vulkaninfo finds.
?ShowUIState@HWNDElement@DirectUI@@QEAAX_N0@Z
*ShowUsageWWW
Show version number and quit
ShowWindow
?ShowWindow@NativeHWNDHost@DirectUI@@QEAAXH@Z
SHParseDisplayName
shpylGI.stnemucoD.lmaX.IU.swodniW
shpylGmotsuCyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
shpylGmotsuCyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
shpylG.stnemucoD.lmaX.IU.swodniW
SHQueryInfoKeyW
SHRegGetValueW
ShrinkLun
SHSetThreadRef
SHSetValueW
SHStrDupW
shtaPataDmetsyS.egarotS.swodniW
shtaPataDmetsySI.egarotS.swodniW
shtaPataDppA.egarotS.swodniW
shtaPataDppAI.egarotS.swodniW
shtaPataDresU.egarotS.swodniW
shtaPataDresUI.egarotS.swodniW
shtaPeliFmiSCnwonK.srotarepOkrowteN.gnikrowteN.swodniW
shtaPeliFmiSnwonK.srotarepOkrowteN.gnikrowteN.swodniW
shtaPeliFmiSUnwonK.srotarepOkrowteN.gnikrowteN.swodniW
shtaPeliFmiuRnwonK.srotarepOkrowteN.gnikrowteN.swodniW
SHTaskPoolAllowThreadReuse
SHTaskPoolQueueTask
shtdiWnaisAtsaEtnoF.lmaX.IU.swodniW
SHUnicodeToAnsi
Shutdown
shutDownAction
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
S.HW#r'_s
SIDATAC2H
SIDATAC2L
SIDATACE
SIDATACED
SIDATAP2I
SIDATAPEL
SIDE_BY_SDIE_HALF_QUINCUNX_SUB_SAMPLINGW
SIDE_BY_SIDE_FULLWWW
s_IFTANotify_ShellNotify
Signal activity done event
SignalDefaultEndpointChanged
SignalDefaultEndpointDeviceChanged
Signal delete event
SignalError
SignalHaveDataEventWhenPushClientHasMsg
Signaling end of chunked upload after trailers.
Signaling end of chunked upload via terminating chunk.
SignalKpDetectionEvent
Signal Name
SignalObjectAndWait
SignalPreprocessingDataReady
signal_service_stopped
Signature
Signature Algorithm
SignatureMismatch
SignatureMisMatchCmdSwitch
signatureState
SigningPolicyCheckFlags
SigningTime
SignInSuggestionsActivity
SignInSuggestionsGetContentActivity
SignInSuggestionsPerformActionActivity
SignInSuggestionsTimeout
SignInSuggestionsWaitAndTotalTime
siH9QxscE3
SilenceMonitor
Silent mode
simplesetupactions.hpp
Simulate a HTTP 304 response
SING error
singlecwd
SinglePa
_singlePaLanguages
SinglePaWovCfgBlobHeader
Singleton
Singleton::getInstance()
SipaGetDataPointers
SipapAppendEntry
SipapCreateQueue
SipaQueueConfigEntry
SipaQueueConfigEntryToQueue
SipaReadPcrsByMask
SIPolicyClearAllActivePolicy
SIPolicyDeletePersistentVariable
SIPolicyGetOptions
SIPolicyGetPolicyHandle
SIPolicyGetPolicyInfoFromType
SIPolicyGetSerializedPolicies
SIPolicyGetSerializedPoliciesSize
SIPolicyHashActiveCodeExecutionPolicies
SIPolicyInvalidateEAsOnRebootEnabled
SIPolicyIsPolicyActive
SIPolicyIsSignedPolicyRequired
SIPolicySetTrialMode
SIPolicyUmciEnabled
sisehtopyHnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
sisehtopyHnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
s_IShellExtensionNotify_ShellNotify
s_IShortcutNotify_ShellNotifyPath
sitellyt asiakirjoja.
SITE NAMEFMT 1
SITheEventManager
siufAuthority
Siufpayload not found. Empty record.
SIXA_ETANIDROOC.srosneS.seciveD.tfosorciM
sixteenbitappdetector.h
sizeBytes
SizeChangedEventArgs
SizeChangedEventHandler
size_download
sizeestimatorvisitor.h
Size greater than ULONG_MAX
size_header
?SizeInLayoutProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
SizeInPages
Size not zero
SizeofResource
size_request
SIZE_T * ActualDataSetBufferSize
SIZE_T BufferLength
size_t cb
size_t cbSize
SIZE_T cbSize
SIZE_T * DataSize
SIZE_T PassphraseLength
SIZE_T * RequiredSize
size_upload
skcabllaCecruoSeliT.slortnoC.spaM.enohP.tfosorciM
skcabllaCksaT.poretnI.ledoMksaT.enohP.tfosorciM
skcabllaCpaM.slortnoC.spaM.enohP.tfosorciM
skcabllaCporetnIresworBbeW.slortnoC.enohP.tfosorciM
skcabllaCredniF.secivreS.spaM.enohP.tfosorciM
skcabllaCretuoR.secivreS.spaM.enohP.tfosorciM
skcabllaCtsoHnoitacilppA.poretnI.ledoMksaT.enohP.tfosorciM
skcitSbmuhTdaPemaG.tupnI.krowemarF.anX.tfosorciM
SkipLatencyAndCopyData
SkipLine
skipLocFiles
Skipping GetLocFileOneSettings...
Skipping run
Skipping SaveRingMapFromOneSettingsToReg...
Skipping time comparison
Skipping wrong character
skipRingMap
Skip the IP address for PASV
SkipVerification
*@*S*[*k*s*
SkyLakeChipsets
slaitnederCnyoJllAI.nyoJllA.seciveD.swodniW
slaitnederCnyoJllA.nyoJllA.seciveD.swodniW
slatipaCtnoF.lmaX.IU.swodniW
slautriVnoNcilbuP2VdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuP2VreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPataDI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPdAlaititsretnII__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPdoPdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPeciveDI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPecruoseRoediVI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPegakcaPdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPegamIevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPegamII__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPeltiTI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPeludehcSdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPevitaNI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPgniggoLtnevEI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPknalbI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPlortnoCdAI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoisnetxEdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoisnetxEeciveDI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoisnetxErehsilbuPI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoisnetxEresUI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoisserpmII__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoitacilppAI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnoitcelloCgaTdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPnommoCdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPoediVevitaNI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPredivorPataDateMlmaXI__.ofnIepyTlmaX_gnisitrevdAtfosorciM.gnisitrevdA.tfosorciM
slautriVnoNcilbuPredivorPofnIkdSI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPreePnoitamotuAdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPreggoLdAIdetcejorPI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPrehsilbuPI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPreludehcSdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPrepparWevitaNI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPresUI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPretropeRytivitcAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPseitreporPdnapxEI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEdegnahCetatSnoitalupinaMI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEdekcilCdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEdiapVI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEevoMretnioPI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEleehWesuoMI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEnwoDretnioPI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevErorrEdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevErorrEdAI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevErorrEdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPsgrAtnevEydaeRdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPslitUI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPstniartsnoCaideMdetcejorPI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtcejbOdewollAbeWI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtessAI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtluseReludehcSdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtnemecalPdAevitaNI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtnemecalPdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtnemesitrevdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtseuqeRBTRnepOI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtseuqeRrepparWevitaNI__.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtxetnoCdetcejorPI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPtxetnoCrehsilbuPdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPycnednepeDmroftalPI__.TRniW.derahS.gnisitrevdA.tfosorciM
slautriVnoNcilbuPytreporPycnednepeDdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNcilbuPytreporPycnednepeDseciohCdAI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNdetcetorP2VreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNdetcetorPdAlaititsretnII__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNdetcetorPlortnoCdAI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNdetcetorPnommoCdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
slautriVnoNdetcetorPreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
SLConsumeWindowsRight
SleepButtonPresent
SleepConditionVariableCS
SleepConditionVariableSRW
Sleeping for 3 seconds before reading form mailbox
Sleeping then retrying...
SleepWWW
slennahCetirWroloC.scihparG.krowemarF.anX.tfosorciM
slennahCoiduA.oiduA.krowemarF.anX.tfosorciM
sliateDcitsiugniLhtiWsgrAtnevEdetavitcAhcraeSI.noitavitcA.ledoMnoitacilppA.swodniW
sliateDcitsiugniLhtiWsgrAtnevEdettimbuSyreuQenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sliateDcitsiugniLyreuQenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sliateDcitsiugniLyreuQenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sliateDcitsiugniLyreuQhcraeS.hcraeS.ledoMnoitacilppA.swodniW
sliateDcitsiugniLyreuQhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
sliateDeliforPnoitcennoCnalWI.ytivitcennoC.gnikrowteN.swodniW
sliateDeliforPnoitcennoCnalW.ytivitcennoC.gnikrowteN.swodniW
sliateDeliforPnoitcennoCnawWI.ytivitcennoC.gnikrowteN.swodniW
sliateDeliforPnoitcennoCnawW.ytivitcennoC.gnikrowteN.swodniW
sliateDesUeciveD.dnuorgkcaB.seciveD.swodniW
sliateDesUeciveDI.dnuorgkcaB.seciveD.swodniW
sliateDetatSppAlaiDI.locotorPlaiD.aideM.swodniW
sliateDetatSppAlaiD.locotorPlaiD.aideM.swodniW
sliateDgnicivreSeciveD.dnuorgkcaB.seciveD.swodniW
sliateDgnicivreSeciveDI.dnuorgkcaB.seciveD.swodniW
sliateDmetImotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDmetImotsuCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOedoMroloCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOedoMroloCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOegnaRegaPtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOegnaRegaPtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOelggoTmotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOelggoTmotsuCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOelpatStnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOelpatStnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOepyTaideMtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOepyTaideMtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOeziSaideMtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOeziSaideMtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOgnidniBtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOgnidniBtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOgniredroBtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOgniredroBtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOhcnuPeloHtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOhcnuPeloHtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOksaTtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOksaTtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOmotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOnoitalloCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOnoitalloCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOnoitatneirOtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOnoitatneirOtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOrebmuNtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOseipoCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOseipoCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtsiLmetImotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtsiLmetImotsuCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtsiLmetItnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtxeTmotsuCtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtxeTmotsuCtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOtxeTtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOxelpuDtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOxelpuDtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOytilauQtnirPI.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDnoitpOytilauQtnirP.sliateDnoitpO.gnitnirP.scihparG.swodniW
sliateDralulleCeniLenohPI.sllaC.ledoMnoitacilppA.swodniW
sliateDralulleCeniLenohP.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdegnahCeniLenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdegnahCeniLenohPI.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdegnahCtnetnoCyrarbiLegarotS.hcraeS.egarotS.swodniW
sliateDreggirTdegnahCtnetnoCyrarbiLegarotSI.hcraeS.egarotS.swodniW
sliateDreggirTdekcolBllaCenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdekcolBllaCenohPI.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdessimsiDllaCgnimocnIenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdessimsiDllaCgnimocnIenohPI.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTdevieceRegasseMsmSI.smS.seciveD.swodniW
sliateDreggirTdevieceRegasseMsmS.smS.seciveD.swodniW
sliateDreggirTdlohserhTataDrosneSI.srosneS.seciveD.swodniW
sliateDreggirTdlohserhTataDrosneS.srosneS.seciveD.swodniW
sliateDreggirTdraCtramSI.sdraCtramS.seciveD.swodniW
sliateDreggirTdraCtramS.sdraCtramS.seciveD.swodniW
sliateDreggirTecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sliateDreggirTecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
sliateDreggirTegasseMliamecioVweNenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTegasseMliamecioVweNenohPI.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTegasUataDrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegasUataDrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCataDocPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCataDocPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSkcoLniPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSkcoLniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSnoitartsigeRkrowteNdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSnoitartsigeRkrowteNdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSoidaRdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCetatSoidaRdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTegnahCnoitcennoCeciveDI.noitaremunE.seciveD.swodniW
sliateDreggirTegnahCnoitcennoCeciveD.noitaremunE.seciveD.swodniW
sliateDreggirTelbaliavAegasseMresUdnEscRI.tahC.ledoMnoitacilppA.swodniW
sliateDreggirTelbaliavAegasseMresUdnEscR.tahC.ledoMnoitacilppA.swodniW
sliateDreggirTgnissecorPaideM.aideM.swodniW
sliateDreggirTgnissecorPaideMI.aideM.swodniW
sliateDreggirTkcehCtnemeltitnEgnirehteTI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTkcehCtnemeltitnEgnirehteT.srotarepOkrowteN.gnikrowteN.swodniW
sliateDreggirTnoitacifitoNcitsiretcarahCttaG.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTnoitacifitoNegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNegasseMtahC.tahC.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotSliamEI.liamE.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotSliamE.liamE.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotStcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotStcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotStnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacifitoNerotStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacilppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
sliateDreggirTnoitacilppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
sliateDreggirTnoitcennoCmmocfR.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTnoitcennoCmmocfRI.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTpuorGnoitelpmoCrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sliateDreggirTpuorGnoitelpmoCrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sliateDreggirTredivorPataDksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPataDtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
sliateDreggirTredivorPecivreSttaG.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTredivorPecivreSttaGI.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTredivorPrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
sliateDreggirTredivorPrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
sliateDreggirTredivorPtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
sliateDreggirTrehctaWeciveDI.noitaremunE.seciveD.swodniW
sliateDreggirTrehctaWeciveD.noitaremunE.seciveD.swodniW
sliateDreggirTrehctaWtnemesitrevdAELhtooteulB.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTrehctaWtnemesitrevdAELhtooteulBI.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTrehsilbuPtnemesitrevdAELhtooteulB.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTrehsilbuPtnemesitrevdAELhtooteulBI.dnuorgkcaB.htooteulB.seciveD.swodniW
sliateDreggirTrekcarTegnahCyrarbiLegarotS.hcraeS.egarotS.swodniW
sliateDreggirTrekcarTegnahCyrarbiLegarotSI.hcraeS.egarotS.swodniW
sliateDreggirTretadpUeliFdehcaC.dnuorgkcaB.ledoMnoitacilppA.swodniW
sliateDreggirTretadpUeliFdehcaCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
sliateDreggirTrosneSytivitcAI.srosneS.seciveD.swodniW
sliateDreggirTrosneSytivitcA.srosneS.seciveD.swodniW
sliateDreggirTtisivoeGI.noitacoloeG.seciveD.swodniW
sliateDreggirTtisivoeG.noitacoloeG.seciveD.swodniW
sliateDreggirTtnemyaPekaMnaCppAtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
sliateDreggirTtnemyaPekaMnaCppAtnemyaP.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
sliateDreggirTtsacdaorBppA.erutpaC.aideM.swodniW
sliateDreggirTtsacdaorBppAI.erutpaC.aideM.swodniW
sliateDreggirTtseuqeRataDnigirOllaCenohP.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTtseuqeRataDnigirOllaCenohPI.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
sliateDreggirTwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
sliateDreggirTwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sliateDreggirTytivitcAtekcoSI.stekcoS.gnikrowteN.swodniW
sliateDreggirTytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
sliateDrorrEI.scitsongaiD.noitadnuoF.swodniW
sliateDrorrE.scitsongaiD.noitadnuoF.swodniW
sliateDsutatSgnidroceRppA.gnidroceRppA.aideM.swodniW
sliateDsutatSgnidroceRppAI.gnidroceRppA.aideM.swodniW
sliateDsutatSgnitsacdaorBppA.gnitsacdaorBppA.aideM.swodniW
sliateDsutatSgnitsacdaorBppAI.gnitsacdaorBppA.aideM.swodniW
sliateDtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
sliateDtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sliateDtnevEdevieceRsmSI.smS.seciveD.swodniW
sliateDtnevEdevieceRsmS.smS.seciveD.swodniW
sliateDtnevEegnahCetatSkrowteNI.ytivitcennoC.gnikrowteN.swodniW
sliateDtnevEegnahCetatSkrowteN.ytivitcennoC.gnikrowteN.swodniW
sliateDtnevEnoitacifitoNrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDtnevEnoitacifitoNrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
sliateDtnevEnoitacifitoNtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
sliateDtnevEnoitacifitoNtnirP.snoisnetxE.sretnirP.seciveD.swodniW
sliateDtnevEnoitacitnehtuAtopstoHI.srotarepOkrowteN.gnikrowteN.swodniW
sliateDtnevEnoitacitnehtuAtopstoH.srotarepOkrowteN.gnikrowteN.swodniW
sliateDtnevEreggirTlennahClortnoCI.stekcoS.gnikrowteN.swodniW
sliateDtnevEteseRreggirTlennahClortnoCI.stekcoS.gnikrowteN.swodniW
SLIsGenuineLocal
slitUeliT.llehS.enohP.tfosorciM
slitUenoZdaeDdaPemaG.tupnI.krowemarF.anX.tfosorciM
slitUflaH.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
slitUkcaP.rotceVdekcaP.scihparG.krowemarF.anX.tfosorciM
slitUnawW.noitamrofnIkrowteN.teN.enohP.tfosorciM
slitUnoitpecxE.secivreSrelipmoC.cisaBlausiV.tfosorciM
slitUODI.secivreSrelipmoC.cisaBlausiV.tfosorciM
slitU.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
slitUrgMnoitcennoC.noitamrofnIkrowteN.teN.enohP.tfosorciM
slitUsdohteMbeW.slortnoC.enohP.tfosorciM
slitU.secivreSrelipmoC.cisaBlausiV.tfosorciM
slobmyS.secivreSrelipmoC.cisaBlausiV.tfosorciM
slocotorP.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
SLOpenFailure
slortnoCkcabyalPaideM.sksaT.enohP.tfosorciM
slortnoCkcabyalPnoisseSslortnoCtropsnarTaideMmetsySlabolGI.lortnoC.aideM.swodniW
slortnoCkcabyalPnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
slortnoClaitinIrablooTknI.slortnoC.lmaX.IU.swodniW
slortnoCreyalPdelbanE.oiduAdnuorgkcaB.enohP.tfosorciM
slortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
slortnoCtropsnarTaideMmetsyS.aideM.swodniW
slortnoCtropsnarTaideMmetsySI.aideM.swodniW
slortnoCtropsnarTaideM.slortnoC.lmaX.IU.swodniW
SMagentaMaximumWW81
SmallIcon
smaraPadbmaL.scitnameS.redniBemitnuR.prahSC.tfosorciM
smaraPkcabllaCnoitazilaitinInoitacilppAI.lmaX.IU.swodniW
smaraPkcabllaCnoitazilaitinInoitacilppA.lmaX.IU.swodniW
smaraPnoitacifitoNtseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
smaraPrefsnarTstB.refsnarTdnuorgkcaB.enohP.tfosorciM
smargotpyrChtiWsgrAtnevEdevieceRudpArotalumEdraCtramSI.sdraCtramS.seciveD.swodniW
SMART2DDISPLAYTECHNOLOGY_ERROR_CODES
SMART2DDISPLAYTECHNOLOGY_SET_FAILEDW
SMART2DDISPLAYTECHNOLOGY_SUCCESS
SMART_FRAME_ERROR_CODESWX
SmartMotionSlowDown
SmartQueue
SMBIOS Table TYPE 01 is not programmed
smetIepiwSI.slortnoC.lmaX.IU.swodniW
smetIepiwS.slortnoC.lmaX.IU.swodniW
smhtiroglAnoitpyrcnEredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
smL9;thH
smoothLines
smrofevaWrellortnoCscitpaHelpmiSnwonK.scitpaH.seciveD.swodniW
SMS_ActiveMPCandidate
SMS_AI_InstalledSoftwareDupDetect
SMS_AI_InstalledSoftwareSetPropertyValue
SMS_AI_Office14ProductMapping
SMS_AppClient_ContentDownloadFailure
SMS_AppClient_EnforceFailure
SMS_AppClient_EvaluationFailure
SMS_AppClient_FailureMessage
SMS_AppClient_LaunchFailure
SMS_AppClient_StatusMessage
SMS_Authority
SMS_AutoStartSoftware
SMS_BrowserHelperObject
SMS_Client
SMS_Client2
SMS_Client_ComponentException
SMS_ClientReboot_ResumeBitLocker_Failure
SMS_ClientReboot_ResumedBitLocker
SMS_ClientReboot_SuspendBitLocker_Failure
SMS_ClientReboot_SuspendedBitLocker
SMS_Client_StatusMessage
SMS_DCM_CIDecompressionFailure
SMS_DCM_CIDownloadFailed
SMS_DCM_CIDownloadTimeout
SMS_DCM_CIHashMismatch
SMS_DCM_CIInternalFailure
SMS_DCM_DiscoveryLaunchFailure
SMS_DCM_DiscoveryProcessFailure
SMS_DCM_DiscoveryViolations
SMS_DCM_DotNetMissing
SMS_DCM_ModelViolations
SMS_DCM_PackageDecompressionFailure
SMS_DCM_PackageInternalFailure
SMS_DCM_SdmCompliant
SMS_DCM_SdmDownloadFailed
SMS_DCM_SdmDownloadTimeout
SMS_DCM_SdmEvaluationFailed
SMS_DCM_SdmHashMismatch
SMS_DCM_SdmNonCompliant_Error
SMS_DCM_SdmNonCompliant_Info
SMS_DCM_SdmNonCompliant_Warn
SMS_DCM_SdmReportingFailed
SMS_DCM_SdmStatusMessage
SMS_DCM_StatusMessage
SMS_DefaultBrowser
SMS_DesiredConfiguration
SMS_Event
SMS_FileCollectionAgent_Policy
SMS_Firmware
SMS_FolderRedirectionHealth
SMS_Framework_StatusMessage
SMS_GenericStatusMessage
SMS_GenericStatusMessage_Error
SMS_GenericStatusMessage_Info
SMS_GenericStatusMessage_Warning
SMS_ImageDeployment_Event
SMS_InstalledExecutable
SMS_InstalledSoftware
SMS_InventoryAgent_EmbeddedObject
SMS_InventoryAgent_Policy
SMS_LocalMP
SMS_LogicalDisk
SMS_LookupMP
SMS_MaintenanceTaskRequests
SMS_MIFGroup
SMS_MPInformation
SMS_MPInformationEx
SMS_MPList
SMS_MPListEx
SMS_MPProxyInformation
SMS_MP_StatusMessage
SMS_NAPLocationFilter
SMS_PatchMgmt_Event
SMS_PatchMgmt_Event_Auto_Postponed_Install
SMS_PatchMgmt_Event_Auto_Postponed_Preinst_Reboot
SMS_PatchMgmt_Event_Auto_Postponed_Reboot
SMS_PatchMgmt_Event_Install_Summary
SMS_PatchMgmt_Event_Invalid_ChangeWindow_CmdLine
SMS_PatchMgmt_Event_Low_Disk_Space
SMS_PatchMgmt_Event_No_Assignment_Schedule
SMS_PatchMgmt_Event_No_Reboot_Required
SMS_PatchMgmt_Event_No_Scan_Path
SMS_PatchMgmt_Event_Preinst_Reboot_Required
SMS_PatchMgmt_Event_Reboot_Required
SMS_PatchMgmt_Event_Scan_Failed
SMS_PatchMgmt_Event_Suppressed_Reboot_Svr
SMS_PatchMgmt_Event_Suppressed_Reboot_Ws
SMS_PatchMgmt_Event_Update_Cancelled
SMS_PatchMgmt_Event_Update_Failed
SMS_PatchMgmt_Event_Update_Reboot_Mandatory
SMS_PatchMgmt_Event_Update_Reboot_Optional
SMS_PatchMgmt_Event_Update_Succeeded_Mandatory
SMS_PatchMgmt_Event_Update_Succeeded_Optional
SMS_PatchMgmt_Event_Update_Time_Expired
SMS_PatchMgmt_Event_User_Postponed_Install
SMS_PatchMgmt_Event_User_Postponed_Preinst_Reboot
SMS_PatchMgmt_Event_User_Postponed_Reboot
SMS_PatchMgmt_Event_User_Rescheduled_Install
SMS_PatchMgmt_Event_User_Rescheduled_Preinst_Reboot
SMS_PatchMgmt_Event_User_Rescheduled_Reboot
SMS_PatchMgmt_Event_Warning_Early_Start
SMS_PatchMgmt_Event_Warning_Late_Start
SMS_PatchMgmt_Event_Window_Expired_Install
SMS_PatchMgmt_Patch_Event
SMS_PatchMgmt_PerPatch_Event
SMS_PendingReRegistrationOnSiteReAssignment
SMS_PendingSiteAssignment
SMS_PolicyAgent_BitsPolicyDownloadFailed
SMS_PolicyAgent_CompileFailure
SMS_PolicyAgent_PolicyAuthorizationFailure
SMS_PolicyAgent_PolicyMismatch
SMS_PortalCertificateInformation
SMS_PortalInformation
SMS_PowerAgent_StatusMessage
SMS_PowerSettings
SMS_Processor
SMS_RegLookupEntry
SMS_RemoteClient_AssignmentUnchanged
SMS_RemoteClient_ClientIdUpdated
SMS_RemoteClient_ClientNotAssigned
SMS_RemoteClient_DataTransferService_BITS_SecureFailure
SMS_RemoteClient_Installed
SMS_RemoteClient_Install_PendingReboot
SMS_RemoteClient_ManagementPointCertificate_CrossVerificationFailure
SMS_RemoteClient_Reassigned
SMS_RemoteClient_Repaired
SMS_RemoteClient_SiteSigning_AuthFailure_Expired
SMS_RemoteClient_SiteSigning_AuthFailure_Revoked
SMS_RemoteClient_SiteSigning_AuthFailure_Trust
SMS_RemoteClient_Uninstalled
SMS_RemoteClient_Upgraded
SMS_ServiceHost_CertificateOperationsFailure
SMS_ServiceHost_CertificateUpdateFailure
SMS_ServiceHost_CertificateUpdateSuccess
SMS_ServiceHost_LowMemoryMode_Enter
SMS_ServiceHost_LowMemoryMode_Recover
SMS_SoftwareDistributionCacheEvent
SMS_SoftwareDistribution_OfferRejectedPlatform
SMS_SoftwareMetering_StatusMessage
SMS_SoftwareShortcut
SMS_SoftwareTag
SMS_SofwareDistribution_Event
SMS_SourceListUpdate_Event
SMS_StatusMessage
SMS_SUMAgentAssignmentError_AdvanceDownloadInitiate
SMS_SUMAgentAssignmentError_AdvanceDownloadInitiate_Mom
SMS_SUMAgentAssignmentError_AdvanceDownloadJob
SMS_SUMAgentAssignmentError_AdvanceDownloadJob_Mom
SMS_SUMAgentAssignmentError_EnforcementInitiate
SMS_SUMAgentAssignmentError_EnforcementInitiate_Mom
SMS_SUMAgentAssignmentError_EnforcementJob
SMS_SUMAgentAssignmentError_EnforcementJob_Mom
SMS_SUMAgentAssignmentError_EvaluationInititate
SMS_SUMAgentAssignmentError_EvaluationInititate_Mom
SMS_SUMAgentAssignmentError_EvaluationJob
SMS_SUMAgentAssignmentError_EvaluationJob_Mom
SMS_SUMAgentAssignmentError_InvalidPolicy
SMS_SUMAgentAssignmentError_InvalidPolicy_Mom
SMS_SUMAgentAssignmentError_NonCompliance
SMS_SUMAgentAssignmentError_NonCompliance_Mom
SMS_SUMAgentAssignmentError_NoServiceWindow
SMS_SUMAgentAssignmentError_NoServiceWindow_Mom
SMS_SUMAgentAssignmentError_PostRestartDectect
SMS_SUMAgentAssignmentError_PostRestartDectect_Mom
SMS_SUMAgentAssignmentError_UpdatesFailures
SMS_SUMAgentAssignmentError_UpdatesFailures_Mom
SMS_SUMAgentAssignmentEvent
SMS_SUMAgentBundleError_FailedContent
SMS_SUMAgentBundleError_FailedContent_Mom
SMS_SUMAgentBundleError_FailedEvaluate
SMS_SUMAgentBundleError_FailedEvaluate_Mom
SMS_SUMAgentBundleError_FailedExecute
SMS_SUMAgentBundleError_FailedExecute_Mom
SMS_SUMAgentEvent
SMS_SUMAgentUpdateError_CreateProcess
SMS_SUMAgentUpdateError_CreateProcess_Mom
SMS_SUMAgentUpdateError_DownloadFailed
SMS_SUMAgentUpdateError_DownloadFailed_Mom
SMS_SUMAgentUpdateError_HashMismatch
SMS_SUMAgentUpdateError_HashMismatch_Mom
SMS_SUMAgentUpdateError_InstallerPath
SMS_SUMAgentUpdateError_InstallerPath_Mom
SMS_SUMAgentUpdateError_InsufficientCache
SMS_SUMAgentUpdateError_InsufficientCache_Mom
SMS_SUMAgentUpdateError_InsufficientCacheSize
SMS_SUMAgentUpdateError_InsufficientCacheSize_Mom
SMS_SUMAgentUpdateError_Internal
SMS_SUMAgentUpdateError_Internal_Mom
SMS_SUMAgentUpdateError_InvalidCommandline
SMS_SUMAgentUpdateError_InvalidCommandline_Mom
SMS_SUMAgentUpdateError_NoContent
SMS_SUMAgentUpdateError_NoContent_Mom
SMS_SUMAgentUpdateError_NoScanTool
SMS_SUMAgentUpdateError_NoScanTool_Mom
SMS_SUMAgentUpdateError_NoServiceWindow
SMS_SUMAgentUpdateError_NoServiceWindow_Mom
SMS_SUMAgentUpdateError_ResumeProcess
SMS_SUMAgentUpdateError_ResumeProcess_Mom
SMS_SUMAgentUpdateError_ScanFailed
SMS_SUMAgentUpdateError_ScanFailed_Mom
SMS_SUMAgentUpdateError_TimeExpired
SMS_SUMAgentUpdateError_TimeExpired_Mom
SMS_SUMAgentUpdateError_UpdateFailed
SMS_SUMAgentUpdateError_UpdateFailed_Mom
SMS_SUMAgentUpdateEvent
SMS_SUMScanAgentError_ScanFailed
SMS_SUMScanAgentError_ScanTimeout
SMS_SUMScanAgentError_UnableToStart
SMS_SUMScanAgentError_UpdateSourceConfigurationFailed
SMS_SUMScanAgentEvent
SMS_SUMScanAgentInfo_ScanStarted
SMS_SUMScanAgentInfo_SuccessfulScan
SMS_SUMScanAgentWarning_ScanSucceededWithErrors
SMS_SystemConsoleUsage
SMS_SystemConsoleUser
SMS_UnknownStatusMessage
SMS_UserLogonEvents
SMS_WebServiceInformation
SMS_Windows8Application
SMS_Windows8ApplicationUserInfo
SMTP protocol options
 SMTPUTF8
SMTPUTF8I9F
SnapshotActivity
snapshotTime
SnapsToDevicePixels
SndVolSSO.DLL
SNIGIRO_KEES.ataDresU.enohP.tfosorciM
snigraMdelahsraM.slortnoC.spaM.enohP.tfosorciM
_snippetFactory
snoCcepS.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnemiDegaPfdP.fdP.ataD.swodniW
snoisnemiDegaPfdPI.fdP.ataD.swodniW
snoisnetxEdniKnoisserpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnetxEeciveDscihparG.scihparG.krowemarF.anX.tfosorciM
snoisnetxEelbavresbO.evitcaeR.enohP.tfosorciM
snoisnetxEelbavresbOksaT.evitcaeR.enohP.tfosorciM
snoisnetxEelbavresbOrehctapsiD.evitcaeR.enohP.tfosorciM
snoisnetxEepyTmetIraBuneM.poretnI.llehS.enohP.tfosorciM
snoisnetxEepyTytilitU.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnetxE.gnigamI.aideM.swodniW.metsyS
snoisnetxEhsurBoediVaremaC.seciveD.tfosorciM
snoisnetxElobmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnetxEnoitpecxE.evitcaeR.enohP.tfosorciM
snoisnetxEredniBemitnuR.redniBemitnuR.prahSC.tfosorciM
snoisnetxEresworBbeW.slortnoC.enohP.tfosorciM
snoisnetxERPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnetxEtcejbOycnednepeD.nommoC.slortnoC.swodniW.metsyS
snoisnetxEtekcoS.noitamrofnIkrowteN.teN.enohP.tfosorciM
snoisnetxEtseuqeRbeW.noitamrofnIkrowteN.teN.enohP.tfosorciM
snoisnetxEtsiL.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisnetxEyrarbiLaideM.snoisnetxEenohP.aideM.krowemarF.anX.tfosorciM
snoisreVmroftalPppA.enohP.tfosorciM
snoisrevnoCC.scitnameS.redniBemitnuR.prahSC.tfosorciM
snoisrevnoCredniBetaL.secivreSrelipmoC.cisaBlausiV.tfosorciM
snoisrevnoC.secivreSrelipmoC.cisaBlausiV.tfosorciM
snoissimrePnoitacilppAegarotS.ehcaCsseccA.egarotS.swodniW
snoitacifitoNoiduAecnadiuG.ecnadiuG.spaM.secivreS.swodniW
snoitalumiSelytS.aideM.lmaX.IU.swodniW
snoitarepOetirWdetimiLtsiLksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
snoitarepOetirWdetimiLtsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
snoitarepOetirWdetimiLtsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
snoitarepOetirWdetimiLtsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
snoitarepOgnidniB.ataD.lmaX.IU.swodniW
snoitarepOgnidniBI.ataD.lmaX.IU.swodniW
snoitarepOnoitatonnAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
snoitarepOyreuQredloFegarotSI.hcraeS.egarotS.swodniW
snoitarepOyreuQrexednItnetnoCI.hcraeS.egarotS.swodniW
snoitaroceDtxeT.txeT.IU.swodniW
snoitatneirO.poretnI.ledoMksaT.enohP.tfosorciM
snoitatneirOyalpsiD.yalpsiD.scihparG.swodniW
snoitcAcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
snoitcAtnuoccAbeWdetroppuS.sgnitteSnoitacilppA.IU.swodniW
snoitceriDwolFnoitamotuA.noitamotuA.lmaX.IU.swodniW
snoitcirtseRetuoRpaM.spaM.secivreS.swodniW
snoitcirtseRtnetnoCdetaRI.snoitcirtseRtnetnoC.aideM.swodniW
snoitcirtseRtnetnoCdetaR.snoitcirtseRtnetnoC.aideM.swodniW
snoitcnuFyortseDporetnI.slortnoC.spaM.enohP.tfosorciM
snoitpecxEporetnI.poretnI.llehS.enohP.tfosorciM
snoitpOataDteS.scihparG.krowemarF.anX.tfosorciM
snoitpOcnysAtratSDN.ydaeRyalP.noitcetorP.aideM.swodniW
snoitpOdaeRbsU.bsU.seciveD.swodniW
snoitpOdniF.txeT.IU.swodniW
snoitpOdraCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOdraCtcatnoClluFI.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOdraCtcatnoClluF.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOdraCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOedirrevOssenthgirByalpsiD.yalpsiD.scihparG.swodniW
snoitpOegakcaPecruoseRddA.ledoMnoitacilppA.swodniW
snoitpOegelivirPremaG.secivreSremaG.krowemarF.anX.tfosorciM
snoitpOegnaRegaPtnirP.gnitnirP.scihparG.swodniW
snoitpOegnaRegaPtnirPI.gnitnirP.scihparG.swodniW
snoitpOehcaCsseccA.ehcaCsseccA.egarotS.swodniW
snoitpOeliFdehcaC.redivorP.egarotS.swodniW
snoitpOeliT.neercStratS.IU.swodniW
snoitpOesuoMtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
snoitpOetadpUppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
snoitpOetadpUppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
snoitpOetaerCofnIecalPI.spaM.secivreS.swodniW
snoitpOetaerCofnIecalP.spaM.secivreS.swodniW
snoitpOetaerCpamtiB.gnigamI.aideM.lmaX.IU.swodniW
snoitpOetirWbsU.bsU.seciveD.swodniW
snoitpOetoNwohSweiverPreganaMwodniWsetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
snoitpOetoNwohSweiverPreganaMwodniWsetoN.setoN.weiverP.ledoMnoitacilppA.swodniW
snoitpOezilanoitcnuFetatSyalpsiD.eroC.yalpsiD.seciveD.swodniW
snoitpOgniggoLI.scitsongaiD.noitadnuoF.swodniW
snoitpOgniggoL.scitsongaiD.noitadnuoF.swodniW
snoitpOgnihctiwSweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
snoitpOgnirorriMaideM.seitreporPaideM.aideM.swodniW
snoitpOgnivirDetuoRpaMI.spaM.secivreS.swodniW
snoitpOgnivirDetuoRpaM.spaM.secivreS.swodniW
snoitpOgolaiDegasseM.spupoP.IU.swodniW
snoitpOgoLerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
snoitpOhcteferPytreporP.seitreporPeliF.egarotS.swodniW
snoitpOhseMecafruSlaitapSI.secafruS.laitapS.noitpecreP.swodniW
snoitpOhseMecafruSlaitapS.secafruS.laitapS.noitpecreP.swodniW
snoitpOIUerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
snoitpOIUerahS.refsnarTataD.ledoMnoitacilppA.swodniW
snoitpOIUrehcnuaLI.metsyS.swodniW
snoitpOIUrehcnuaL.metsyS.swodniW
snoitpOIUrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
snoitpOIUrezingoceRhceepS.noitingoceRhceepS.aideM.swodniW
snoitpOksaTtnirPdradnatS.gnitnirP.scihparG.swodniW
snoitpOksaTtnirP.gnitnirP.scihparG.swodniW
snoitpOksaTtnirPI.gnitnirP.scihparG.swodniW
snoitpOlaiDenohPI.sllaC.ledoMnoitacilppA.swodniW
snoitpOlaiDenohP.sllaC.ledoMnoitacilppA.swodniW
snoitpOlavomeR.tnemyolpeD.tnemeganaM.swodniW
snoitpOlennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
snoitpOlennahCgniggoL.scitsongaiD.noitadnuoF.swodniW
snoitpOlianbmuhT.seitreporPeliF.egarotS.swodniW
snoitpOllatsnIegakcaPerotS.erotS.secivreS.swodniW
snoitpOllatsnIegakcaPerotSI.erotS.secivreS.swodniW
snoitpOllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
snoitpOllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
snoitpOllatsnI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
snoitpOmaertStupnI.smaertS.egarotS.swodniW
snoitpOmetIkroW.gnidaerhT.metsyS.swodniW
snoitpOnepOegarotS.egarotS.swodniW
snoitpOnoisseSledoMgninraeL.gninraeLenihcaM.IA.swodniW
snoitpOnoisseSledoMgninraeLI.gninraeLenihcaM.IA.swodniW
snoitpOnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
snoitpOnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
snoitpOnoitacitnehtuAbeW.beW.noitacitnehtuA.ytiruceS.swodniW
snoitpOnoitagivaNemarFI.noitagivaN.lmaX.IU.swodniW
snoitpOnoitagivaNemarF.noitagivaN.lmaX.IU.swodniW
snoitpOnoitceleStnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
snoitpOnoitceleS.txeT.IU.swodniW
snoitpOnoitciderPtxeT.txeT.ataD.swodniW
snoitpOnoitcudeRecaFD3gnitnirP.D3gnitnirP.scihparG.swodniW
snoitpOnoitcudeRecaFD3gnitnirPI.D3gnitnirP.scihparG.swodniW
snoitpOnoitpircsbuStnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
snoitpOnoitpircsbuStnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
snoitpOraelC.scihparG.krowemarF.anX.tfosorciM
snoitpOredneRegaPfdP.fdP.ataD.swodniW
snoitpOredneRegaPfdPI.fdP.ataD.swodniW
snoitpOreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
snoitpOrehcnuaLetomeRI.metsyS.swodniW
snoitpOrehcnuaLetomeR.metsyS.swodniW
snoitpOrehcnuaLI.metsyS.swodniW
snoitpOrehcnuaL.metsyS.swodniW
snoitpOrehcnuaLredloFI.metsyS.swodniW
snoitpOrehcnuaLredloF.metsyS.swodniW
snoitpOrehcnuaLssecorPI.metsyS.swodniW
snoitpOrehcnuaLssecorP.metsyS.swodniW
snoitpOrekciPlaitnederCI.IU.slaitnederC.ytiruceS.swodniW
snoitpOrekciPlaitnederC.IU.slaitnederC.ytiruceS.swodniW
snoitpOrellatsnIppAyBegakcaPddA.tnemyolpeD.tnemeganaM.swodniW
snoitpOretnioPtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
snoitpOrettamroFrebmuNI.gnittamroFrebmuN.noitazilabolG.swodniW
snoitpOrezisehtnyShceepSI.sisehtnyShceepS.aideM.swodniW
snoitpOrezisehtnyShceepS.sisehtnyShceepS.aideM.swodniW
snoitpOrorrE.scitsongaiD.noitadnuoF.swodniW
snoitpOslaitnederCtseuqeRlennahCnpV.npV.gnikrowteN.swodniW
snoitpOsradnelaCtnemtnioppAdniF.stnemtnioppA.ledoMnoitacilppA.swodniW
snoitpOssecorPlortnoCweiVbeWI.poretnI.IU.beW.swodniW
snoitpOssecorPlortnoCweiVbeW.poretnI.IU.beW.swodniW
snoitpOsthgisnIelbanoitcAanatroC.anatroC.secivreS.swodniW
snoitpOsthgisnIelbanoitcAanatroCI.anatroC.secivreS.swodniW
snoitpOstnemtnioppAdniFI.stnemtnioppA.ledoMnoitacilppA.swodniW
snoitpOstnemtnioppAdniF.stnemtnioppA.ledoMnoitacilppA.swodniW
snoitpOsutatSyalpsiDrekciPeciveD.noitaremunE.seciveD.swodniW
snoitpOtcetorpnUeliF.ataDesirpretnE.ytiruceS.swodniW
snoitpOtcetorpnUeliFI.ataDesirpretnE.ytiruceS.swodniW
snoitpOtcudorPerotS.erotS.secivreS.swodniW
snoitpOtcudorPerotSI.erotS.secivreS.swodniW
snoitpOteGtxeT.txeT.IU.swodniW
snoitpOteStxeT.txeT.IU.swodniW
snoitpOtnemecalPmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
snoitpOtnemelEtxeNdniFI.tupnI.lmaX.IU.swodniW
snoitpOtnemelEtxeNdniF.tupnI.lmaX.IU.swodniW
snoitpOtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
snoitpOtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
snoitpOtnemyolpeD.tnemyolpeD.tnemeganaM.swodniW
snoitpOtnetnoCdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
snoitpOtnetnoCdraobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
snoitpOtnioP.txeT.IU.swodniW
snoitpOtnirPretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
snoitpOtnirPretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
snoitpOtroSemaNtsoH.gnikrowteN.swodniW
snoitpOweiVotnIgnirBI.lmaX.IU.swodniW
snoitpOweiVotnIgnirB.lmaX.IU.swodniW
snoitpOweiVrehcnuaLI.metsyS.swodniW
snoitpOwohStuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
snoitpOwohStuoylF.sevitimirP.slortnoC.lmaX.IU.swodniW
snoitpOyeKtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
snoitpOylppAetatSyalpsiD.eroC.yalpsiD.seciveD.swodniW
snoitpOyreuQedoMyalpsiD.eroC.yalpsiD.seciveD.swodniW
snoitpOyreuQ.hcraeS.egarotS.swodniW
snoitpOyreuQI.hcraeS.egarotS.swodniW
snoitpOyreuQksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
snoitpOyreuQksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
snoitpOyreuQliamEI.liamE.ledoMnoitacilppA.swodniW
snoitpOyreuQliamE.liamE.ledoMnoitacilppA.swodniW
snoitpOyreuQtahCI.tahC.ledoMnoitacilppA.swodniW
snoitpOyreuQtahC.tahC.ledoMnoitacilppA.swodniW
snoitpOyreuQtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOyreuQtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
snoitpOyreuQyrtnEyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
snoitpOyreuQyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
s n'ont pas 
snosaeRlaweneRdnAnoitacoveR.noitcetorP.aideM.swodniW
snosaeRtnemeriuqeRppAdetroppusnU.eliforP.metsyS.swodniW
snottuBaremaC.seciveD.tfosorciM
snottuBdapemaG.tupnI.gnimaG.swodniW
snottuBdaPemaG.tupnI.krowemarF.anX.tfosorciM
snottuBkcitSedacrA.tupnI.gnimaG.swodniW
snottuBkcitSthgilF.tupnI.gnimaG.swodniW
snottuBleehWgnicaR.tupnI.gnimaG.swodniW
snottuBnePtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
snottuBnoitagivaNIUderiuqeR.tupnI.gnimaG.swodniW
snottuBnoitagivaNIUlanoitpO.tupnI.gnimaG.swodniW
snottuB.tupnI.krowemarF.anX.tfosorciM
SNReaders
_snwscanf_s
sock.cpp
socket.cpp
socket.h
Socket has been shut down
SocketHeciServer
SocketHeciServer: 
SocketHeciServer service was stopped.
SocketHeciServer::SocketServer::AcceptClientSocket
SocketHeciServer::SocketServer::InitializeInternal
SocketHeciServer::SocketServer::ReceiveData
SocketHeciServer::SocketServer::WaitForClientToCloseSocket
Socket Heci Server [Version: 
Socket is already connected
Socket is not connected
Socket is unsupported
SocketPort
Socket server error on accept operation occured. 
Socket server initialization succeded
Socket server initialize called. Initializing Winsock
[SocketServerMessageHeader]
SocketServerMessageHeader was properly received. Message size read from header is: 
SocketServer::WaitForClientToCloseSocket called. Waiting for client to close socket.
SocketServiceName
SOCKS4: too long host name
    --socks5-basic
socks5-basic
    --socks5-gssapi
socks5-gssapi
    --socks5-gssapi-nec
socks5-gssapi-nec
SOCKS5 GSSAPI per-message authentication is not supported.
SOCKS5 GSS-API protection not yet implemented.
socks5-gssapi-service
socks5-hostname
SOCKS5 proxy service name for GSS-API
SOCKS5 reply has wrong address type.
SOCKS5 request granted.
sOD90uJH
sofnIgrA.scitnameS.redniBemitnuR.prahSC.tfosorciM
softgriddcserver.cpp
softgriddcserver.h
SoftLidWake
softwareclientpackager.cpp
softwareclientpackager.h
softwareclientpackagerwriter.cpp
softwareclientregistrator.cpp
softwareclientregistrator.h
SoftwareCode
Software codeW
SoftwareInventory_AppInfo
	SolarKMCS1
Someone attempted to double-_Initialize VtIo
Something is stale
 sono infetti da malware.
_soundDesc
_soundId
_soundList
SoundMnemonic
SoundsCount
Source and Target drives ought to be different
_sourceArray
_sourceBuffer
_sourceBufferSize
SourceBundle
_sourceData
Source differencing disks are not supported.
sourceDirectory
Source disk must use 4KB logical sector size.
[SourceDisksNames]
sourceDisplayMapd
SourceExists
 || SourceFunction: 
SourceIDd
_sourceIndex
SourceListUpdate_Error_Event
SourceListUpdate_LS_Error_Event
SourceListUpdate_LS_Warning_Event
SourceListUpdate_Success_Event
SourceListUpdate_Warning_Event
 || SourceName: 
sourcePath
_sourceReadOffset
sourceTopology
sourceType
SourceWWL
Space allocated for extra info wasn't large enough
SPACEDRTH
SPACEDRTH9
SPACELOGA
SPACELOGH
SPACES_HealthActionEvent
SPACES_InitiatorId
SPACES_InitiatorIdToVirtualDisk
SPACES_MaskingSet
SPACES_MaskingSetToInitiatorId
SPACES_MaskingSetToVirtualDisk
SPACES_PhysicalDisk
SPACES_PhysicalDiskToStorageReliabilityCounter
SPACES_ResiliencySetting
SPACES_StorageAlertEvent
SPACES_StorageArrivalEvent
SPACES_StorageChassis
SPACES_StorageDepartureEvent
SPACES_StorageEnclosure
SPACES_StorageEnclosureToPhysicalDisk
SPACES_StorageFaultDomainToStorageFaultDomain
SPACES_StorageFaultEvent
SPACES_StorageHealthStatusChangeEvent
SPACES_StorageJob
SPACES_StorageJobToAffectedStorageObject
SPACES_StorageModificationEvent
SPACES_StorageNode
SPACES_StorageNodeToPhysicalDisk
SPACES_StorageNodeToStorageEnclosure
SPACES_StorageNodeToStoragePool
SPACES_StorageNodeToVirtualDisk
SPACES_StoragePool
SPACES_StoragePoolToPhysicalDisk
SPACES_StoragePoolToResiliencySetting
SPACES_StoragePoolToStorageTier
SPACES_StoragePoolToVirtualDisk
SPACES_StorageProvider
SPACES_StorageProviderToStorageSubsystem
SPACES_StorageRack
SPACES_StorageReliabilityCounter
SPACES_StorageScaleUnit
SPACES_StorageSite
SPACES_StorageSubsystem
SPACES_StorageSubsystemToInitiatorId
SPACES_StorageSubsystemToMaskingSet
SPACES_StorageSubsystemToPhysicalDisk
SPACES_StorageSubsystemToStorageEnclosure
SPACES_StorageSubsystemToStorageFaultDomain
SPACES_StorageSubsystemToStorageNode
SPACES_StorageSubsystemToStoragePool
SPACES_StorageSubsystemToVirtualDisk
SPACES_StorageTier
SPACES_VirtualDisk
SPACES_VirtualDiskToPhysicalDisk
SPACES_VirtualDiskToStorageFaultDomain
SPACES_VirtualDiskToStorageTier
SPACES_VirtualDiskToVirtualDisk
SpaceUsed
spadpackager.cpp
spadpackager.h
spadpackagermanifest.cpp
spadpackagervirtualregistryreader.cpp
spadpublisher.cpp
spadpublishoperations.cpp
spadregistrator.cpp
spadregistrator.h
spaMtaeHgubeDnoitisopmoCI.scitsongaiD.noitisopmoC.IU.swodniW
spaMtaeHgubeDnoitisopmoC.scitsongaiD.noitisopmoC.IU.swodniW
s par des applications non autoris
sparseAddressSpaceSize
(sparse and transient only)
sparseBinding
sparseImageFloat32AtomicAdd
sparseImageFloat32AtomicMinMax
sparseImageFloat32Atomics
sparseImageInt64Atomics
(sparse only)
sparseProperties
sparseResidency16Samples
sparseResidency2Samples
sparseResidency4Samples
sparseResidency8Samples
sparseResidencyAliased
sparseResidencyBuffer
sparseResidencyImage2D
sparseResidencyImage3D
s par un logiciel malveillant.
spatial_audio
SPATIAL_BLOCK_INVALID_STATE
Spatializer
SpatialObjectResourceStats
SpawnPhysicalRequest
SPCallIsAppLicensedFailure
SP_DEVINFO_DATA
SPDRP_HARDWAREID
speaker_virtualizer_mode
specialFolder
SpecialFolder
SpecialFolderConstWW4
_#SpecialFolderWWWL
SpecialInstruction
Spec ID Event02
Spec ID Event03
SPECIFIC_RIGHTS_ALL
                                        specified target.
Specified UUID already present
Specified UUID not found
Specify FILE for netrc
            Specifying requestedExecutionLevel element will disable file and registry virtualization. 
                    specifying the gpu-number associated with the gpu of 
Specify multipart MIME data
Specify request method to use
Specify the target for this request
specVersion
SpeechFormat
SpeechIpApiConfigurationFileNameName
SpeechIpApiDllNameName
SpeechIpApiMultiPaBasePathName
SpeechIpApiMultiPaConfigurationFileName
SpeechIpApiPackagePackagePathName
_speechMode
_speechPinId
SpeechPinId
SpeechPositionNotification
speed_download
speed-limit
speed-time
speed_upload
sp_error.h
SPI_MAX311XE
SpinLockConfig_V2
SpinLockConfig_V3
SpinUntil
SpinWait
SPLicenseBlock
SPLicenseId
SplitIo_Info
splitToken
spmatsemiTesnopseRtseuqeRredivorPcitsongaiDpttHI.scitsongaiD.pttH.beW.swodniW
spmatsemiTesnopseRtseuqeRredivorPcitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
sp_monitor.cpp
sp_monitor.h
SPNEGO handshake failure (empty challenge message)
SPNEGO proxy service name
SPNEGO service name
Spooler applet crashed or Spooler session was killed - trying to load it again
Spooler data is too short - must contain session uuid at least.
Spooler is installed.
Spooler session created successfully
SPORP_RPMIP.ataDresU.enohP.tfosorciM
spPercentComplete
@SpPrimaryRRWW
spProgressBar
sppublish.cpp
sppublish.h
spRefreshProgress
sp_registrator.cpp
sp_registrator.h
sprintf_s
sp_rpc_client.cpp
sp_rpc_client.h
sp_server.cpp
sputils.cpp
sputils.h
sp_ve_wrapper.cpp
sp_ve_wrapper.h
sp_visualizer.cpp
sp_visualizer.h
sqlite3_bind_blob
sqlite3_bind_int
sqlite3_bind_int64
sqlite3_bind_null
sqlite3_bind_text16
sqlite3_busy_timeout
sqlite3_changes
sqlite3_clear_bindings
sqlite3_close
sqlite3_column_blob
sqlite3_column_bytes
sqlite3_column_int
sqlite3_column_int64
sqlite3_column_text
sqlite3_column_text16
sqlite3_column_type
sqlite3_create_function_v2
sqlite3_db_config
sqlite3_db_filename
sqlite3_db_handle
sqlite3_db_status
sqlite3_errcode
sqlite3_errmsg
sqlite3_exec
sqlite3_expanded_sql
sqlite3_extended_errcode
sqlite3_extended_result_codes
sqlite3_file_control
sqlite3_finalize
sqlite3_free
sqlite3_get_autocommit
sqlite3_last_insert_rowid
sqlite3_log
sqlite3_malloc
sqlite3_next_stmt
sqlite3_open16
sqlite3_open_v2
sqlite3_prepare_v2
sqlite3_profile
sqlite3_reset
sqlite3_result_blob
sqlite3_result_error16
sqlite3_result_error_code
sqlite3_result_error_nomem
sqlite3_result_int
sqlite3_result_int64
sqlite3_result_text16
sqlite3_snprintf
sqlite3_sql
sqlite3_step
sqlite3_stmt_busy
sqlite3_total_changes
sqlite3_trace
sqlite3_user_data
sqlite3_value_blob
sqlite3_value_bytes
sqlite3_value_int
sqlite3_value_int64
sqlite3_value_text16
sqlite3_value_type
sqlite3_wal_autocheckpoint
sqlite3_wal_checkpoint_v2
?SqmExportOnError@SQMEXPORT@@SAXKKEE_KU_GUID@@@Z
sqmsender.h
sqmuploadmanager.cpp
sqmuploadmanager.h
sqmuploadmanagerut.cpp
sqmut.cpp
srahClortnoC.cisaBlausiV.tfosorciM
src is NULL
src param is NULL
srebmeMdenifederP.scitnameS.redniBemitnuR.prahSC.tfosorciM
srebmuNenohPtellaW.tellaW.enohP.tfosorciM
sredloFnwonK.egarotS.swodniW
sreggirTdaPemaG.tupnI.krowemarF.anX.tfosorciM
sRegisterForEventsWWW
sreifidoMporDgarD.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
sreifidoMyeKlautriV.metsyS.swodniW
sreifitnedI2nrettaPmrofsnarTI.noitamotuA.lmaX.IU.swodniW
sreifitnedI2nrettaPmrofsnarT.noitamotuA.lmaX.IU.swodniW
sreifitnedIkcolC.noitazilabolG.swodniW
sreifitnedImetsySlaremuN.noitazilabolG.swodniW
sreifitnedInrettaPdirGI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPdirG.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPelbaTI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPelbaT.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPelggoTI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPelggoT.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPespalloCdnapxEI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPespalloCdnapxE.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPeulaVegnaRI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPeulaVegnaR.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPeulaVI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPeulaV.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPgarDI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPgarD.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPkcoDI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPkcoD.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPllorcSI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPllorcS.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIdirGI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIdirG.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIelbaTI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIelbaT.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetInoitceleSI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetInoitceleS.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIteehsdaerpSI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmetIteehsdaerpS.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmrofsnarTI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPmrofsnarT.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPnoitatonnAI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPnoitatonnA.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPnoitceleSI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPnoitceleS.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPselytSI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPselytS.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPtegraTporDI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPtegraTporD.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPweiVelpitluMI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPweiVelpitluM.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPwodniWI.noitamotuA.lmaX.IU.swodniW
sreifitnedInrettaPwodniW.noitamotuA.lmaX.IU.swodniW
sreifitnedIradnelaC.noitazilabolG.swodniW
sreifitnedItnemelEnoitamotuAI.noitamotuA.lmaX.IU.swodniW
sreifitnedItnemelEnoitamotuA.noitamotuA.lmaX.IU.swodniW
sreifitnedIycnerruC.noitazilabolG.swodniW
srekraMaideMI.aideM.swodniW
srekraMenaLecnadiuG.ecnadiuG.spaM.secivreS.swodniW
srepleHevitaN.tellaW.enohP.tfosorciM
srepleH.krowemarF.anX.tfosorciM
srepleHratavA.secivreSremaG.krowemarF.anX.tfosorciM
srepleHscihparG.scihparG.krowemarF.anX.tfosorciM
srepleHtceffE.scihparG.krowemarF.anX.tfosorciM
srepleHtekcaP.scihparG.krowemarF.anX.tfosorciM
sretcarahCedocinU.txeT.ataD.swodniW
sretemaraPcitsiretcarahClacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraPcitsiretcarahClacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraPetadpUreyaLdauQcihpargoloH.cihpargoloH.scihparG.swodniW
sretemaraPetadpUreyaLdauQcihpargoloHI.cihpargoloH.scihparG.swodniW
sretemaraPgnidliuBniahCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPgnidliuBniahC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPgniredneRaremaCcihpargoloH.cihpargoloH.scihparG.swodniW
sretemaraPgniredneRaremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
sretemaraPgnisitrevdAredivorPecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraPgnisitrevdAredivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraPhcnuaL.krowemarF.anX.tfosorciM
sretemaraPhcuoTtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
sretemaraPleehWesuoMI.tupnI.IU.swodniW
sretemaraPleehWesuoM.tupnI.IU.swodniW
sretemaraPnePtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
sretemaraPnoitadilaVniahCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPnoitadilaVniahC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPnoitatneserP.scihparG.krowemarF.anX.tfosorciM
sretemaraPnoitavireDyeK.eroC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPnoitavireDyeKI.eroC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
sretemaraPnoitcennoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
sretemaraPnoitoM.slortnoC.enohP.tfosorciM
sretemaraPrefsnarT.refsnarTdnuorgkcaB.enohP.tfosorciM
sretemaraProtpircseDlacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraProtpircseDlacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sretemaraPtropmIxfPI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPtropmIxfP.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
sretemaraPtropweiVaremaCcihpargoloH.cihpargoloH.scihparG.swodniW
sretemaraPtropweiVaremaCcihpargoloHI.cihpargoloH.scihparG.swodniW
sretnioPnoitcnuFkcabllaCraBppA.poretnI.llehS.enohP.tfosorciM
SRJournal
SRJournalArchive
srmaszvMI
sroivaheBnoitaerCriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
sroloCI.IU.swodniW
sroloC.IU.swodniW
sroptions
srorrEbv.secivreSrelipmoC.cisaBlausiV.tfosorciM
srosneSegdirtraCretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
srotareleccAgnittamroFdelbasiD.slortnoC.lmaX.IU.swodniW
srotarepO.scitnameS.redniBemitnuR.prahSC.tfosorciM
srotarepO.secivreSrelipmoC.cisaBlausiV.tfosorciM
srpapi.dll
SrrO7K fLo
srvcli.dll
ssalCataDnawW.ytivitcennoC.gnikrowteN.swodniW
ssalCeciveDbsU.bsU.seciveD.swodniW
ssalCeciveDbsUI.bsU.seciveD.swodniW
ssalCeciveD.noitaremunE.seciveD.swodniW
ssalCegasseMpiG.motsuC.tupnI.gnimaG.swodniW
ssalCegasseMsmS.smS.seciveD.swodniW
ssalCeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
ssalCemitnuRecnatsnIksaTdnuorgkcaBIUbeW.IUbeW.IU.swodniW
ssalCemitnuRirUI.noitadnuoF.swodniW
ssalCemitnuRredoceDlrUmroFwwWI.noitadnuoF.swodniW
ssalCralulleC.smS.seciveD.swodniW
ssalCretemaraPtceffE.scihparG.krowemarF.anX.tfosorciM
ssalCrojaMhtooteulB.htooteulB.seciveD.swodniW
ssalCroniMhtooteulB.htooteulB.seciveD.swodniW
SSALCRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
ssapmoCI.srosneS.seciveD.swodniW
ssapmoCI.srosneS.seciveD.tfosorciM
ssapmoC.srosneS.seciveD.swodniW
ssapmoC.srosneS.seciveD.tfosorciM
ssaPtceffE.scihparG.krowemarF.anX.tfosorciM
sscanf_s
sseccAdaeRppArehtOradnelaCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sseccAdaeRppArehtOtnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
sseccAdaeRppArehtOtsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
sseccAdaeRppArehtOtsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sseccAdaeRppArehtOxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sseccAdaeRppArehtOyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
sseccAetirWppArehtOradnelaCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sseccAetirWppArehtOtsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
sseccAetirWppArehtOtsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sseccAetirWppArehtOxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
SSECCA.scitnameS.redniBemitnuR.prahSC.tfosorciM
ssecorPdnuorgkcaBpioV.pioV.gnikrowteN.enohP.tfosorciM
ssecorPlortnoCweiVbeWI.poretnI.IU.beW.swodniW
ssecorPlortnoCweiVbeW.poretnI.IU.beW.swodniW
ssendednaHecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
ssendednaHneP.gniknI.tupnI.IU.swodniW
ssenkcihT.lmaX.IU.swodniW
sserddAciviCI.noitacoloeG.seciveD.swodniW
sserddAciviC.noitacoloeG.seciveD.swodniW
sserddAdelahsraM.secivreS.spaM.enohP.tfosorciM
sserddAeciveDeviLxobX.eviLxobX.gnikrowteN.swodniW
sserddAeciveDeviLxobXI.eviLxobX.gnikrowteN.swodniW
sserddAliamEtcatnoC.ataDresU.enohP.tfosorciM
sserddApaMI.spaM.secivreS.swodniW
sserddApaM.secivreS.spaM.enohP.tfosorciM
sserddApaM.spaM.secivreS.swodniW
sserddAtcatnoC.ataDresU.enohP.tfosorciM
sserddAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
sserddAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sserddAtellaW.tellaW.enohP.tfosorciM
sserddAtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
sserddAtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sserddAyrtnEyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
sserddAyrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
ssergorPdaolnwoDdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
ssergorPdaolpUdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
ssergorPetadpUerawmriFpiG.motsuC.tupnI.gnimaG.swodniW
ssergorPlaveirteR.noitacidnyS.beW.swodniW
ssergorPllatsnIegakcaP.ledoMnoitacilppA.swodniW
ssergorPllatsnIeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
ssergorPpttH.pttH.beW.swodniW
ssergorPrefsnarT.noitacidnyS.beW.swodniW
ssergorPtnemyolpeD.tnemyolpeD.tnemeganaM.swodniW
ssergorPtropmIotohP.tropmI.aideM.swodniW
sShortDate
SSH protocol options
SSH Public key file name
    --ssl
    --ssl-allow-beast
ssl-allow-beast
    --ssl-auto-client-cert
ssl-auto-client-cert
SSL_CERT_DIR
SSL_CERT_DIR environment variable
SSL_CERT_FILE
SSL ciphers to use
SSL ciphers to use for proxy
SSL Client Certificate required
SSL connect error
SSL crypto engine not found
SslEnumEccCurves
SslEnumProtocolProviders
SSL: failed retrieving public key from server certificate
SslFreeBuffer
SslFreeObject
    --ssl-no-revoke
ssl-no-revoke
SslOpenProvider
SSL peer certificate or SSH remote key was not OK
SSL public key does not match pinned public key
SSL: public key does not match pinned public key
    --ssl-reqd
ssl-reqd
    --ssl-revoke-best-effort
ssl-revoke-best-effort
SSL server certificate status verification FAILED
ssl_verify_result
SSL versions not supported
SspiCli.dll
SSPI: couldn't get auth info
ssrs_monitor.cpp
ssrs_monitor.h
ssrs_registrator.cpp
ssrs_registrator.h
ssrs_visualizer.cpp
ssrs_visualizer.h
SSSffffff333
SSSffffff999
SSSfffffffff
SSSfffffffff333
SSSfffffffffFFF
SSSfffffffffffffffffffff@@@
SSSffffffffffffffffffffffffffffff333
SSSfffffffffffffffffffffffffffffffffffffffffffffSSS
SSSfffffffffMMM
SSSfffffffffSSS
SSSLOM!H"
ssssssop
SSSSSSSS
sssXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXppp
'SS("YaaY
StackFrame
StackPanel
StackWalk_Event
StackWalk_Key
StackWalk_TypeGroup1
StageEnrollment: Enrollment complete
StageEnrollment: Enrollment not complete
StageInfo
StageNgcAuth: Enrollment complete
StageNgcAuth: Enrollment not complete
_stageType
StageType
stamroFataDdradnatS.refsnarTataD.ledoMnoitacilppA.swodniW
Standard
StandardColorCorrectionW81
STANDARD_RIGHTS_ALL
STANDARD_RIGHTS_REQUIRED
standardSampleLocations
StandardStreamTypeWW
StandardValuesCollection
standby_poll
                                        Start a delayed logging thread ms
]Start af f
?Start@CmLogFile@@QEAAJH@Z
Start Date
?StartDefer@Element@DirectUI@@QEAAXPEAK@Z
                                        started already
 starte f
StartEnrollment
StartEnrollmentDelegate
Start ESIF Event Thread
Start ESIF Upper Framework Shell
StartFragment:
StartHTML:
StartIfSupported
Starting
Starting EK recertification for key type: 
Starting EPID provisioning
Starting ESInit...
Starting iclsInit...
Starting PERC detection
Starting program in client mode.
Starting PTT recertification for key type: 
Starting reading config file: 
Starting the service control dispatcher.
Starting thread 
Starting Upper Framework Polling... 
Starting VM type discovery...
StartKsStream
StartLayoutInitMigration
StartMessagePump
[StartMetering] Start metering
StartMonitor
StartNew
StartOrResume
_startPcValue
startPhaseEnd
startPhaseStart
_startPosition
_startPositionInBuffer
StartProcess
StartReading
StartRegistryListener
StartRequest
StartRpcServer
StartRpcServerDll
                                        Starts data logging for that particular
StartSelection:
StartService
StartServiceCtrlDispatcherW
StartServiceW
StartSession
    start             Starts the helper service.
StartStopService
StartStream
StartsWith
StartThread
StartThreadpoolIo
STARTTLS
STARTTLS denied
STARTTLSH9
STARTTLSI9F
STARTTLS not available.
STARTTLS not supported.
StartTrace failed
StartTraceW
Start type is 'manual' - no need to apply workaround
StartupConditionsNotSatisfiedException
Startup Configuration
StartupEventArgs
StartupFlags
STARTUPINFO
StartWaitForUnenrollment
StartWithRawOutput
_stat64i32
 stata negata l'apertura dei seguenti documenti perch
stateactivities.cpp
stateactivities.h
stateactivitytests.cpp
_stateInfo
stateMachine
StateMachine_Action
StateMachine_EnterState
StateMachine_Event
StateMachine_Execute
StateMachine_ExecuteFromEscape
StateMachine_NewChar
StateMachine_PrintRun
StateMachine_Sequence_FAIL
StateMachine_Sequence_OK
statemanager.cpp
statemanager.h
StatementCache.Count
StatementCache.Hits
	StatementCache.Lifespan
	StatementCache.Misses
StatementCount
StatementPtr
StatementUsed
state not recoverable
StateRegistryReaderIsolation
StateRepository.Core.dll
StateRepository.Database.Statistics
StateRepository.FailFastBusySnapshot
StateRepository.FailFastBusySnapshot.StatementInProgress
StateRepository.ResourcePriority.Inadequate
stateSaver
_stateType
STAThreadAttribute
StatisticsReaderExtension
_statMgmtScope
 stato negato l'avvio delle seguenti applicazioni perch
	Status: 
StatusCode
STATUS_CONNECTION_ERROR
STATUS_EPID_GROUP_REVOKED
STATUS_EPID_KEY_REVOKED
STATUS_EPID_SIG_REVOKED
STATUS_ERROR
statusFilePath
statusFileText
STATUS_IAS_BROKER_STATUS_WAIT
STATUS_IN_PROGRESS
STATUS_INVALID_BUFFER_SIZE
STATUS_INVALID_CAID
STATUS_INVALID_MESSAGE
STATUS_INVALID_PARAM
STATUS_INVALID_SCP_VERSION
STATUS_MEI_COMMUNICATION_ERROR
STATUS_MISSING_CONFIG
STATUS_MISSING_MEI
STATUS_NEED_EPID_REKEY
STATUS_NEED_SUBSEQUENT_CALL
STATUS_NOT_SUPPORTED_PLATFORM
STATUS_OK
StatusOperationFailed
statusPath
STATUS_PENDING_TRANSACTION
STATUS_PROVISIONING_IN_PROGRESS
STATUS_SERVICE_UNAVAILABLE
statusToClear
statusToSet
statusType
STATUS_UNKNOWN_PARAM
STATUS_UNKNOWN_PLATFORM
stcaFepyTdenifederP.scitnameS.redniBemitnuR.prahSC.tfosorciM
stcaFnekoT.xatnyS.redniBemitnuR.prahSC.tfosorciM
stcaFrorrE.srorrE.redniBemitnuR.prahSC.tfosorciM
stcatnoC.ataDresU.enohP.tfosorciM
stcatnoChcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
stceffEetirpS.scihparG.krowemarF.anX.tfosorciM
stceffEoediV.aideM.swodniW
stceffEreyalPaideMI.kcabyalP.aideM.swodniW
stcejbOnekoTredivorPtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
stdafx.h
__stdcall
__std_exception_copy
__std_exception_destroy
StdInWWW
__stdio_common_vfprintf
__stdio_common_vfwprintf
__stdio_common_vfwprintf_s
__stdio_common_vsprintf
__stdio_common_vsprintf_s
__stdio_common_vsscanf
__stdio_common_vswprintf_s
std::nullptr_t
std::nullptr_t 
stdole2.tlbWWW
__std_terminate
__std_type_info_compare
__std_type_info_destroy_list
__std_type_info_name
stegraTetubirttA.atadateM.noitadnuoF.swodniW
stegraTetubirttAroC.scitnameS.redniBemitnuR.prahSC.tfosorciM
stereo_cp_bypass_mode
stgmAccess
StgOpenStorageEx
sthgieWtnoFI.txeT.IU.swodniW
sthgieWtnoF.txeT.IU.swodniW
sthgiLtceffEI.scihparG.krowemarF.anX.tfosorciM
sthgisnIelbanoitcAanatroC.anatroC.secivreS.swodniW
sthgisnIelbanoitcAanatroCI.anatroC.secivreS.swodniW
stippledBresenhamLines
stippledRectangularLines
stippledSmoothLines
STLS not supported.
stluafeDemaG.secivreSremaG.krowemarF.anX.tfosorciM
stluseRecnailpmoCsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
stluseRecnailpmoCsaEI.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
stluseResahcruP.erotS.ledoMnoitacilppA.swodniW
stluseResahcruPI.erotS.ledoMnoitacilppA.swodniW
stluseResahcruPweiverPerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
stluseResahcruPweiverPerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
stluseRH.srosneS.seciveD.tfosorciM
stluseRpukooLrebmeMC.scitnameS.redniBemitnuR.prahSC.tfosorciM
stluseRrekciPlaitnederCI.IU.slaitnederC.ytiruceS.swodniW
stluseRrekciPlaitnederC.IU.slaitnederC.ytiruceS.swodniW
stluseRtnemucoDlmXmorFnoisivorPI.srotarepOkrowteN.gnikrowteN.swodniW
stluseRtnemucoDlmXmorFnoisivorP.srotarepOkrowteN.gnikrowteN.swodniW
stmUlleCdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
stmUlleCdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
stnairaVtnoF.lmaX.IU.swodniW
stnatsnoC.cisaBlausiV.tfosorciM
stnatsnoChctaBetirpS.scihparG.krowemarF.anX.tfosorciM
stnatsnoCralulleC.noitamrofnIkrowteN.teN.enohP.tfosorciM
stnatsnoC.reludehcS.enohP.tfosorciM
stnatsnoCscisyhP.slortnoC.enohP.tfosorciM
stnatsnoCsecivreStxeTeroC.eroC.txeT.IU.swodniW
stnatsnoCtxeT.txeT.IU.swodniW
stnemelElausiVeliTyradnoceSI.neercStratS.IU.swodniW
stnemelElausiVeliTyradnoceS.neercStratS.IU.swodniW
stnemelElausiVytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
stnemelElausiVytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
stnemtnioppA.ataDresU.enohP.tfosorciM
STNEMUGRAEPYTRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
stnenopmoCmurtcepSroloC.slortnoC.lmaX.IU.swodniW
stnenopmoCnoitisnarT3rotceV.lmaX.IU.swodniW
stnevEnoitamotuA.sreeP.noitamotuA.lmaX.IU.swodniW
stnevErekraMfreP.enohP.tfosorciM
stnevErekraM.noitagivaN.swodniW.metsyS
stniartsnoCaideMdetcejorP.TRniW.derahS.gnisitrevdA.tfosorciM
stniartsnoCcnyStsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
stniartsnoCcnyStsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
stniHnoitacifitoNevitpadAnwonK.snoitacifitoN.IU.swodniW
stnI.stsnoCderahStnegAdnuorgkcaB.enohP.tfosorciM
stnuoCmetIliamEI.liamE.ledoMnoitacilppA.swodniW
stnuoCmetIliamE.liamE.ledoMnoitacilppA.swodniW
stof argument out of range
stoi argument out of range
stol argument out of range
StopAndWait
?Stop@CmLogFile@@QEAAJXZ
_stopEvent
StopHpStream
StopKsStream
[StopMetering] Stopped metering
StopMethod
stopNumber
StopPackageGroupd
StopPackageWd
Stopped participant logging
Stopped thread
 Stopping server.
Stopping server...
Stopping service...
Stopping thread
Stopping Upper Framework Polling...
Stopping web server...
StopProcess
StopReading
StopRegistryListener
StopRequest
StopRpcServer
StopRpcServerDll
Stops a connection group by terminating all the virtual processes in itWWW8
Stops a package by terminating all the virtual processes in it-
StopServer
StopService
Stop service event has been abandoned. Exiting now
Stop service event signaled.
StopSession
    stop              Stops the helper service.
StopStream
_stopStreamingOnWup
StopThread
StopThreads
Stop transfers slower than this
StopWaitForUnenrollment
stopWaitingForActions
Stopwatch
_storage
StorageActivate
storageAdapter
StorageAttach
storageBuffer16BitAccess
storageBuffer8BitAccess
StorageCacheClear
StorageCacheExportBegin
StorageCacheExportEnd
StorageCacheExportNext
StorageCacheImportBegin
StorageCacheImportEnd
StorageCacheImportNext
StorageClearContext
StorageCollector.dll
StorageCreateDatabase
StorageDeactivate
StorageDeleteRecord
StorageDetach
storageDirPath
storageImageSampleCounts
storageInputOutput16
StorageManagerExportBegin
StorageManagerExportEnd
StorageManagerExportNext
StorageManagerImportBegin
StorageManagerImportEnd
StorageManagerImportNext
StorageNotifyPowerChange
Storage Participant
StoragePipelineCleanup
StoragePipelineInit
StoragePoolMaintenanceOp
_storageProviderManager
storagePushConstant16
storagePushConstant8
StorageQueryExtendedInfo
storageReserveBefore
storageTexelBufferOffsetAlignmentBytes
storageTexelBufferOffsetSingleTexelAlignment
storebasedcleanup.cpp
storebasedcleanup.h
storebasedcleanuptests.cpp
Store metadata in extended file attributes
storePolicy
StorePolicyActivity
Storing EK certificate in the file system
Storyboard.
stoull argument out of range
strcat_s
?Strcat@WSTRING@@QEAAEPEBV1@@Z
StrChrIW
StrChrNW
?Strchr@WSTRING@@QEBAKGK@Z
StrCmpIW
StrCmpNA
StrCmpNIW
StrCmpNW
StrCpyNW
strcpy_s
?Strcspn@WSTRING@@QEBAKPEBV1@K@Z
strDeviceNameWWW
_streamAndNotifications
_streamConfig
_streamConfiguration
StreamConfiguratorExtension
StreamContextId
StreamDataReady
stream end
stream error
_streamInfo
streamingactivities.cpp
streamingactivities.h
streamingactivitytests.cpp
_streamingClient
streaminginterfacetest.cpp
_streamingManager
streaming_manager.cpp
streaming_manager_errors.h
streaming_manager.h
streamingmanager.h
StreamingManagerHighCostLaunchAborted
streamingmanagertest.cpp
streamingtest.cpp
StreamingUXDebugEvents
StreamingUXDebugEventsLoggerHandler
streaminguxerrors.h
StreamingUXEventSink
streamingUxMainWindow
streaminguxmanager.cpp
streaminguxmanager.h
streaminguxmanagertests.cpp
streaminguxprocessapi.h
streaminguxprocess.cpp
streaminguxprocess.h
streaminguxprocesstests.cpp
streammapdocument.cpp
streammapdocumentfactory.cpp
streammapdocument.h
streammapdocumentimpl.cpp
streammapdocumentimpl.h
streammapdocumentmock.cpp
streammapdocumenttest.cpp
_streamMode
StreamNotExistedException
StreamResumed
stream timeout
_streamType
StreamWriter
streetAddress
strerror
StretchBlt
?strEventName
StrFormatByteSizeW
strftime
_Strftime
STR_HKEY_CURRENT_CONFIG
_stricmp
?Stricmp@WSTRING@@QEBAJPEBV1@@Z
strictLines
Strict-Transport-Security:
StringBuilder
string cannot be localized
string cannot have a leading zero
string cannot have an alternative representation
string cannot have a sign
StringCchCopy failed
StringCchCopy failed to copy the language string
StringCchPrintf candidateFQCid
StringCchPrintf fQCidFilter
StringCchPrintfW failed
StringCchPrintfW failed to build loc file path string.
StringCchPrintfW failed to build loc folder string.
StringCchPrintfW failed to concat to full database dir.
StringComparer
StringComparison
StringFromCLSID
StringFromGUID2
StringFromIID
String is too long
StringLengthAverage
string literal
StringParam
StringParam1
StringParam2
String pointer is null.
StringReader
 [string representation not defined for this value of 
stringresources.cpp
#Strings
[Strings]
StringSplitOptions
(string too long
string too long
String to replace USER [name]
StringType
stringutils.hpp
StringWriter
strncpy_s
_strnicmp
StrRChrW
StrStrIW
strTargetAssemblyFilePath
StrToIntExW
StrToIntW
StrTrimW
struct _NCRYPT_CIPHER_PADDING_INFO
StructureToPtr
strUICulture
?Strupr@WSTRING@@QEAAPEAV1@XZ
strValue
stseTtinUledoMpaM.slortnoC.spaM.enohP.tfosorciM
STS specified greater than maximum allowed (ULONG_MAX)
STS specified more than once
stubclasses.cpp
stub.cpp
stub.dll
stubheader.h
stub_msgbox.cpp
stub.pdb
stuoemiTrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
stuoemiTrezingoceRhceepS.noitingoceRhceepS.aideM.swodniW
    --styled-output
styled-output
@SUATAUAVAWH
@SUATAUAVH
@SUATAUH
@SUATAVAWH
@SUAVAWH
subgroupBroadcastDynamicId
SUBGROUP_FEATURE_ARITHMETIC_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_CLUSTERED_BIT
SUBGROUP_FEATURE_PARTITIONED_BIT_NV
SUBGROUP_FEATURE_QUAD_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
SUBGROUP_FEATURE_VOTE_BIT
subgroupQuadOperationsInAllStages
subgroupSize
subgroupSizeControl
subgroupSupportedOperations
subgroupSupportedStages
  Subject
subjectAltName
SubmitThreadpoolWork
SUBOPTIMAL_KHR
subPixelInterpolationOffsetBits
subPixelPrecisionBits
SubProfileItem
SubProfileList
subsampledCoarseReconstructionEarlyAccess
subsampledLoads
SubscribeAssistantForOldApi
SubscribedPackageManager
SubscribeHwkwsAfterFirstPaMpaSetupProxyImpl
SubscribeProvider
subscriber.cpp
subscriber.h
subscribertests.cpp
SubscribeWWW
Subscription
SubscriptionId
SubscriptionID
subsetAllocation
_substageId
Substring
subsys_reg.cpp
subsystem_command.h
subsystem_composite_detokenizer.h
subsystemconfigitem.cpp
subsystemconfigitem.h
subsystemconfigitem_test.cpp
subsystem_controller.cpp
subsystem_controller_errors.h
subsystemcontrollerexportstests.cpp
subsystem_controller.h
subsystemcontrollertest.cpp
subsystem_deployment.h
subsystem_error.h
subsystem_errors.h
subsystem_initializer.hpp
SubsystemMaintenanceOp
subsystem_manager.cpp
subsystem_manager.h
subsystem_module_collection.cpp
subsystem_module_collection.h
subsystem_module.cpp
subsystem_module.h
subsystem_monitor.h
SubsystemName
subsystem_packager.h
subsystem_process_monitor.h
subsystem_process_runtime.h
subsystem_registrator.h
subsystem_registrator_rpc_server.h
subsystem_rpc_servers.hpp
subsystem_runtime.h
subsystems.cpp
subsystem_server.hpp
subsystem_settings_validator.hpp
subsystems.h
subsystems_vnext.h
subsystem_tokenizer_collection.cpp
subsystem_tokenizer_collection_factory.h
subsystem_tokenizer_collection_tests.cpp
subsystem_utils.cpp
subsystem_utils.h
subsystem_utils_vnext.h
subsystem_vemgr_utils.h
subsystem_ve_wrapper.h
subsystem_virtualization_errors.h
subsystem_virtualization_error_utils.h
subsystem_visualizer.h
subTexelPrecisionBits
SubtractRect
"subtype": 
 succeeded.
SUCCEEDED
SucceededWWW
... success.
...success.
 ...Success.
successful
Successful
SuccessfulConversions
Successfully compiled trailers.
Success! Task successfully registered.
sucoFswolloFnoitceleSweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
Suffixes
suidaRrenroC.lmaX.IU.swodniW
suite.cpp
--summary
--summary           Show a summary of the instance and GPU's on a system.
SUNLIGHTREADABILITY_ERROR_CODESW 
SUNLIGHTREADABILITY_GET_FAILEDWW 
SUNLIGHTREADABILITY_NOT_SUPPORTEDWWW
SUNLIGHTREADABILITY_SUCCESSW 
SunlightReadAbilityWX4
SunMonTueWedThuFriSat
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
SUPDUP OUTPUT
suppConfigWW
SupplierPackage
_support
SupportApp_Exit
SupportApp_Init
SupportApp_Restart
SupportApp_Start
SupportApp_Stop
supported
supportedCompositeAlpha
SupportedConfig_AliasWWWd
SupportedConfigListWd
supportedDepthResolveModes
SupportedEventsW
SupportedFeaturesWWW
SupportedITContentTypesW
_supportedLanguages
_supportedModules
supportedOperations
SupportedRotationsWW
_supportedSound
supportedStages
supportedStencilResolveModes
supportedSurfaceCounters
Supported Tools:
supportedTransforms
supportedUICultures
supportedUsageFlags
SupportedWWWx
SupportNotificationQueue
supportsProtected
    --suppress-connect-headers
suppress-connect-headers
SuppressFinalize
SUPPRESS GO AHEAD
Suppress proxy CONNECT response headers
SuppressUnmanagedCodeSecurityAttribute
SURFACE_COUNTER_VBLANK_BIT_EXT
SurfaceFormat
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
SURFACE_TRANSFORM_INHERIT_BIT_KHR
SURFACE_TRANSFORM_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_ROTATE_90_BIT_KHR
Surface type
Surface types
SurrogateClassFactoryImpl::CreateInstance
SurrogateClassFactoryImpl::GetMarshalSizeMax
SurrogateClassFactoryImpl::GetRealClassFactory
SurrogateClassFactoryImpl::MarshalInterface
SurrogateClassFactoryImpl::UnmarshalInterface
SurrogateImpl::FreeSurrogate
SurrogateImpl::LoadDllServer
surround-boost
surround_boost
surround-decoder-enable
surround_decoder_enable
_suspend
suspended
SUSPENDED
SUSPENDED_NEEDDSP
suspendEvent
suspendHandler
Suspending all dynamic participants
_suspendResumeSem
SuspendThread
Suspension of all dynamic participants complete
sutatsbuSppAytiruceS.llehS.IU.swodniW
sutatScnysA.noitadnuoF.swodniW
sutatScnySradnelaCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sutatScnyStsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
sutatScnyStsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sutatScnySxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sutatSdaoLecruoSegamIdedaoL.aideM.lmaX.IU.swodniW
sutatSdaoLecruoSegamIgvS.gnigamI.aideM.lmaX.IU.swodniW
sutatSdaolnwoDtratSegakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
sutatSdaoLyrotcaFtceffEnoitisopmoC.noitisopmoC.IU.swodniW
sutatSdesolCecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sutatSdettimbuSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sutatSdloHerutseG.hcuoT.tupnI.krowemarF.anX.tfosorciM
sutatSdnammoCdneS.seciveD.aideM.swodniW
sutatSdraCtramS.sdraCtramS.seciveD.swodniW
sutatSeciveDkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
sutatSeciveD.ofnI.enohP.tfosorciM
sutatSeciveDscihparG.scihparG.krowemarF.anX.tfosorciM
sutatSeciveDsmS.smS.seciveD.swodniW
sutatSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sutatSecruoSaideM.eroC.aideM.swodniW
sutatSecruoSirUredivorPegarotS.redivorP.egarotS.swodniW
sutatSegakcaPerotSllatsninUerotS.erotS.secivreS.swodniW
sutatSegakcaPI.ledoMnoitacilppA.swodniW
sutatSegakcaP.ledoMnoitacilppA.swodniW
sutatSegakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
sutatSegakcaP.tnemyolpeD.tnemeganaM.swodniW
sutatSegasseMtahC.tahC.ledoMnoitacilppA.swodniW
sutatSegnahCytreporPecruoSemarFnoitpecreP.noitpecreP.seciveD.swodniW
sutatSelbamusnoCerotS.erotS.secivreS.swodniW
sutatSeliFhcnuaL.metsyS.swodniW
sutatSenoZemiTetadpUotuA.metsyS.swodniW
sutatSerutaeFsseccAdetimiL.ledoMnoitacilppA.swodniW
sutatSesahcruPerotS.erotS.secivreS.swodniW
sutatSesahcruPtcudorP.erotS.ledoMnoitacilppA.swodniW
sutatSesahcruPtcudorPweiverPerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
sutatSesneciLnaCerotS.erotS.secivreS.swodniW
sutatSesnopseRcitamotuAdraCtramS.sdraCtramS.seciveD.swodniW
sutatSesnopseRecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sutatSesnopseRecivreSppAsseletatS.ecivreSppA.ledoMnoitacilppA.swodniW
sutatSetadpUegakcaPerotS.erotS.secivreS.swodniW
sutatSetadpUeliF.redivorP.egarotS.swodniW
sutatSetadpUerawmriFpiG.motsuC.tupnI.gnimaG.swodniW
sutatSeteleDeliforPnoitcennoC.ytivitcennoC.gnikrowteN.swodniW
sutatSeulaVteGnoitisopmoC.noitisopmoC.IU.swodniW
sutatSgnidaoLpaM.spaM.slortnoC.lmaX.IU.swodniW
sutatSgnidroceRppA.gnidroceRppA.aideM.swodniW
sutatSgnidroceRppAI.gnidroceRppA.aideM.swodniW
sutatSgninetsiLrevieceRtsacariM.tsacariM.aideM.swodniW
sutatSgnitsacdaorBppA.gnitsacdaorBppA.aideM.swodniW
sutatSgnitsacdaorBppAI.gnitsacdaorBppA.aideM.swodniW
sutatShctaBliamE.liamE.ledoMnoitacilppA.swodniW
sutatShctaBtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
sutatShtaPyalpsiD.eroC.yalpsiD.seciveD.swodniW
sutatSiFiWrevieceRtsacariM.tsacariM.aideM.swodniW
sutatSirUhcnuaLetomeR.metsyS.swodniW
sutatSirUhcnuaL.metsyS.swodniW
sutatSIU.redivorP.egarotS.swodniW
sutatSkcabyalPaideM.aideM.swodniW
sutatSkcabyalPnoisseSslortnoCtropsnarTaideMmetsySlabolG.lortnoC.aideM.swodniW
sutatSlaitnederCyeK.slaitnederC.ytiruceS.swodniW
sutatSlamrehTerutpaCaideM.erutpaC.aideM.swodniW
sutatSlavorppAnoisseSrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSlaweneR.noitcetorP.aideM.swodniW
sutatSllatsnIppAI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
sutatSllatsnIppA.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
sutatSlortnoCevisulcxEeciveDerutpaCaideM.erutpaC.aideM.swodniW
sutatSmaertSfOdnEesM.eroC.aideM.swodniW
sutatSmedoMdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sutatSmetIeueuQerotS.erotS.secivreS.swodniW
sutatSmetIeueuQerotSI.erotS.secivreS.swodniW
sutatSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSnalPataDI.ytivitcennoC.gnikrowteN.swodniW
sutatSnalPataD.ytivitcennoC.gnikrowteN.swodniW
sutatSnepOoipG.oipG.seciveD.swodniW
sutatSnepOttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sutatSnioJnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSnoisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sutatSnoisseSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sutatSnoisseSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
sutatSnoitacinummoCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sutatSnoitacitnehtuAbeW.beW.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitacitnehtuAhsiniFrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitacitnehtuAnoisseSrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitacitnehtuAresU.metsyS.swodniW
sutatSnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitadilaVegasseMtahC.tahC.ledoMnoitacilppA.swodniW
sutatSnoitadilaVetacifitreCliamE.liamE.ledoMnoitacilppA.swodniW
sutatSnoitaerCecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
sutatSnoitaerCedoNeciveDoiduA.oiduA.aideM.swodniW
sutatSnoitaerCedoNeliFoiduA.oiduA.aideM.swodniW
sutatSnoitaerCedoNtupnIoiduAecruoSaideM.oiduA.aideM.swodniW
sutatSnoitaerChparGoiduA.oiduA.aideM.swodniW
sutatSnoitaerCnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSnoitaerCriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
sutatSnoitarepOetatSyalpsiD.eroC.yalpsiD.seciveD.swodniW
sutatSnoitarepOgnirehteT.srotarepOkrowteN.gnikrowteN.swodniW
sutatSnoitarepOmiSE.srotarepOkrowteN.gnikrowteN.swodniW
sutatSnoitarepOppAcciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sutatSnoitarepOrotareneGmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
sutatSnoitartsigeRdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
sutatSnoitartsigeRgnirotinoMecneserPeciveDrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitartsigeRrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
sutatSnoitartsigeRyrtemeleTmroftalP.yrtemeleT.scitsongaiD.metsyS.swodniW
sutatSnoitarugifnoCspWiFiW.iFiW.seciveD.swodniW
sutatSnoitatsettAlaitnederCyeK.slaitnederC.ytiruceS.swodniW
sutatSnoitatsettAyeKcihpargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
sutatSnoitavreseRecruoseRllaCenohPpioV.sllaC.ledoMnoitacilppA.swodniW
sutatSnoitazirohtuArettimsnarTtsacariM.tsacariM.aideM.swodniW
sutatSnoitcAdeludehcS.reludehcS.enohP.tfosorciM
sutatSnoitcennoCecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
sutatSnoitcennoChtooteulB.htooteulB.seciveD.swodniW
sutatSnoitcennoCiFiW.iFiW.seciveD.swodniW
sutatSnoitcennoClennahC.noitacifitoN.enohP.tfosorciM
sutatSnoitcennoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
sutatSnoitcennoCtnemeganaMnpV.npV.gnikrowteN.swodniW
sutatSnoitcetorPataD.ataDesirpretnE.ytiruceS.swodniW
sutatSnoitcetorPeliF.ataDesirpretnE.ytiruceS.swodniW
sutatSnoitcetorPmetIegarotSataDresU.noitcetorPataD.ytiruceS.swodniW
sutatSnoitelpmoCtseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sutatSnoitisoP.noitacoloeG.seciveD.swodniW
sutatSnoituloseRtneipiceRliamE.liamE.ledoMnoitacilppA.swodniW
sutatSnyoJllA.nyoJllA.seciveD.swodniW
sutatSredaeRdraCtramS.sdraCtramS.seciveD.swodniW
sutatSredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
sutatSredloFetaerCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sutatSredloFeteleDxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sutatSredloFytpmExobliaMliamE.liamE.ledoMnoitacilppA.swodniW
sutatSredniFetuoRpaM.spaM.secivreS.swodniW
sutatSredniFnoitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
sutatSredniFnoitacoLpaM.spaM.secivreS.swodniW
sutatSredoceDaideM.eroC.aideM.swodniW
sutatSreffuBtekcaPnpV.npV.gnikrowteN.swodniW
sutatSrefsnarTc2I.c2I.seciveD.swodniW
sutatSrefsnarTc2IredivorP.redivorP.c2I.seciveD.swodniW
sutatSrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
sutatSrefsnarT.refsnarTdnuorgkcaB.enohP.tfosorciM
sutatSreggirTlennahClortnoC.stekcoS.gnikrowteN.swodniW
sutatSrehctaWeciveD.noitaremunE.seciveD.swodniW
sutatSrehctaWecivreSdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
sutatSrehctaWeniLenohP.sllaC.ledoMnoitacilppA.swodniW
sutatSrehctaWmiSE.srotarepOkrowteN.gnikrowteN.swodniW
sutatSrehctaWnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSrehctaWofnIcitsongaiDppA.metsyS.swodniW
sutatSrehctaWofnIpuorGecruoseRppA.metsyS.swodniW
sutatSrehctaWreeP.ytimixorP.gnikrowteN.swodniW
sutatSrehctaWresU.metsyS.swodniW
sutatSrehctaWtnapicitraPnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSrehctaWtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sutatSrehctaWtnuoccAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
sutatSrehctaWytitnElaitapS.laitapS.noitpecreP.swodniW
sutatSrehsilbuPtnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
sutatSrehsilbuPtnemesitrevdAtceriDiFiW.tceriDiFiW.seciveD.swodniW
sutatSrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
sutatSretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
sutatSretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
sutatSrevaSygrenE.rewoP.metsyS.swodniW
sutatSrevieceRtsacariMI.tsacariM.aideM.swodniW
sutatSrevieceRtsacariM.tsacariM.aideM.swodniW
sutatSrewarDhsaC.ecivreSfOtnioP.seciveD.swodniW
sutatSrewarDhsaCI.ecivreSfOtnioP.seciveD.swodniW
sutatSrewoPyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
sutatSrorrEbeW.beW.swodniW
sutatSrorrEecruoSmaertSaideM.eroC.aideM.swodniW
sutatSrorrEevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
sutatSrorrEnoisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sutatSrorrEnoitacidnyS.noitacidnyS.beW.swodniW
sutatSrorrEnoitcennoCgnitsaC.gnitsaC.aideM.swodniW
sutatSrorrEnosJ.nosJ.ataD.swodniW
sutatSrorrEtekcoS.stekcoS.gnikrowteN.swodniW
sutatSrorrEtnemeganaMnpV.npV.gnikrowteN.swodniW
sutatSrotinoMecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
sutatSsgnitteSylppArevieceRtsacariM.tsacariM.aideM.swodniW
sutatSsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
sutatSsseccAcitsongaiD.metsyS.swodniW
sutatSsseccAdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
sutatSsseccAeciveD.noitaremunE.seciveD.swodniW
sutatSsseccAecruoSemarFnoitpecreP.noitpecreP.seciveD.swodniW
sutatSsseccAiFiW.iFiW.seciveD.swodniW
sutatSsseccAmetsySetomeR.smetsySetomeR.metsyS.swodniW
sutatSsseccAmralA.dnuorgkcaB.ledoMnoitacilppA.swodniW
sutatSsseccAnoitacoloeG.noitacoloeG.seciveD.swodniW
sutatSsseccAnoitarbiV.scitpaH.seciveD.swodniW
sutatSsseccAnoitpecrePlaitapS.laitapS.noitpecreP.swodniW
sutatSsseccAoidaR.soidaR.seciveD.swodniW
sutatSsseccArenetsiLnoitacifitoNresU.tnemeganaM.snoitacifitoN.IU.swodniW
sutatSsseccAtupnIezaG.tupnI.IU.swodniW
sutatSsseccAytilibapaCppA.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
sutatSstB.refsnarTdnuorgkcaB.enohP.tfosorciM
sutatSstnuoccAbeWllAdniF.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
sutatStamroFoiduAlaitapStluafeDteS.oiduA.aideM.swodniW
sutatStcetorpnUreffuBataDresU.noitcetorPataD.ytiruceS.swodniW
sutatStekciTmetsySdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
sutatStluseRgniriaPeciveD.noitaremunE.seciveD.swodniW
sutatStluseRgniriapnUeciveD.noitaremunE.seciveD.swodniW
sutatStluseRnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
sutatStluseRsmetIyrotsiHdraobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
sutatStluseRtnemyaPekaMnaCtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sutatStnemeltitnEteG.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
sutatStnemerusaeMecivreSfOytilauQeviLxobX.eviLxobX.gnikrowteN.swodniW
sutatStnemesitrevdAecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
sutatStnemesitrevdAredivorPecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
sutatStnemtnioppA.ataDresU.enohP.tfosorciM
sutatStnetnoCsAmetIyrotsiHteS.refsnarTataD.ledoMnoitacilppA.swodniW
sutatStratSnoisseSrevieceRtsacariM.tsacariM.aideM.swodniW
sutatStratSredaeRemarFaideMecruoSitluM.semarF.erutpaC.aideM.swodniW
sutatStratSredaeRemarFaideM.semarF.erutpaC.aideM.swodniW
sutatStroppuSyreuQhcnuaL.metsyS.swodniW
sutatStropxEtropmIdetcetorP.ataDesirpretnE.ytiruceS.swodniW
sutatStseuqeRnekoTbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
sutatStseuqeR.refsnarTdnuorgkcaB.enohP.tfosorciM
sutatStseuqeRstB.refsnarTdnuorgkcaB.enohP.tfosorciM
sutatStseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
sutatStsurTscihparG.noitcetorP.aideM.swodniW
sutatSweiveRdnAetaRerotS.erotS.secivreS.swodniW
sutatSwolfkroWD3tnirP.snoisnetxE.sretnirP.seciveD.swodniW
sutatSyalpsiDeciveDlaiD.locotorPlaiD.aideM.swodniW
sutatSyeKlacisyhPeroC.eroC.IU.swodniW
sutatSylppuSrewoP.rewoP.metsyS.swodniW
sutatSyrettaB.rewoP.metsyS.swodniW
sutatSyreuQegakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
sutatSyreuQ.secivreS.spaM.enohP.tfosorciM
SUTATSYSUB.ataDresU.enohP.tfosorciM
sutatSysuBtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
sutatSytivitcennoCsoM.spaM.enohP.tfosorciM
sutatSytreporPeciveDteGrellortnoCeciveDoediV.seciveD.aideM.swodniW
sutatSytreporPeciveDteSrellortnoCeciveDoediV.seciveD.aideM.swodniW
sutatSytreporPteGecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
sutatSytreporPteSecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
@SUVATAUAVAWH
SUVATAUAVAWH
@SUVATAUAWH
@SUVAVAWH
@SUVWATAUAVAW
@SUVWATAUAVAWH
SUVWATAUAVAWH
SUVWATAUAVAWL
@SUVWATAUAVH
SUVWATAUAVH
@SUVWATAUAWH
SUVWATAUAWH
@SUVWATAVAWH
SUVWATAVAWH
@SUVWATAVH
SUVWATAVH
@SUVWATH
@SUVWAUAVAWH
SUVWAUAVAWH
SUVWAUAVH
@SUVWAUAWH
@SUVWAUH
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
@SUWATAUAVAW
SUWATAUAVAWH
@SUWATAUAVH
@SUWATAUH
s UWATAVAWH
@SUWATAVAWH
@SUWAVAWH
suwkmphjlegjdfihjlkmpsuwz|
SVATAUAVAWH
SVATAUAVH
@SVATAUAWH
@SVATAUH
@SVATAVAWH
SVATAVAWH
@SVATAVH
@SVATAWH
@SVAUAVH
@SVAVAWH
svcapiclnt.cpp
_svcCtrlCallback
SvcCtrlForRunAsApp
_svcUserBackgroundManager
SvcUserBackgroundManager
SvIdOffset
_svModelIdentifier
_svModelPath
_svScore
SvScoreOffset
SvScoreResult
SvThreshold
svvvvvvvgA
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
@SVWATAUAWH
SVWATAUAWH
@SVWATAUH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
SVWATAVH
@SVWATAWH
@SVWAUAVAWH
SVWAUAVAWH
SVWAUAVH
@SVWAVAWH
SVWAVAWH
sw3x1s01ww
SwapButton
swapp.cpp
swappmgr.cpp
swappmgr.h
s WATAUAVAWH
SWATAUAVAWH
@SWATAUAWH
@SWATAVAWH
s WATAVH
s WAUAVH
@SWAUAWH
s WAVAWH
swcore.cpp
swcore.h
swexception.h
swfile.cpp
swfile.h
swfilemgr.cpp
swfilemgr.h
swfileutil.h
swfileutilmock.cpp
swfileutilmock.h
swguidclass.cpp
swguidclass.h
swicon.h
swiconmgr.cpp
swiconmgr.h
__swift_1
__swift_2
__swift_3
swinterface.cpp
swinterface.stub.cpp
SwitchableGraphicsTPVTypeWWW
SwitchableGraphicsWW
Switch from POST to GET
SwitchingToCloudExperience
SwitchingToCloudExperiencePostLogon
SwitchIoctlControl
SwitchPTPMode
switchState
SwitchToPreinstalledWoVMode
SwitchToPS2Command
SwitchToSMBusCommand
SwitchToStandard
SwitchToThisWindow
SwitchToThread
SwitchWovEndpoint
swlistener.cpp
swlistener.h
swlog.cpp
swlog_stub.cpp
swminidump.cpp
swmonitorshelltasks.cpp
SWMtr_Status_Create_UsageReport_Failed
SWMtr_Status_Received_MeterRule
SWMtr_Status_Send_UsageReport_Failed
SWMtr_Status_WMIFailure
swosdmgr.cpp
swosdmgr.h
SWP_FRAMECHANGED
SWP_NOMOVE
SWP_NOSIZE
SWP_NOZORDER
swprintf_s
swrc_exception.h
swrpcasyncclient.h
swrpcclient.cpp
swrpcclient.h
swrpcserver.cpp
swrpcserver.h
swscanf_s
swservice.h
swthread.cpp
swthread.h
SWUserInfo::LoadUserProfileExtended
SxCompressLogFile
SxEnableTraceCustom
SxEnableTraceDefault
SxGet0XLogFileCount
SxGetUniqueVolumeForPath
SxGetUserAccessLevelForHandle
SxGetVolumeDescription
SxLoadSystem32LibraryEx
SxMergeExtraLogs
SxQueryDeviceSupportedOperations
SxRegCreateKeyExStateSeparated
SxRegReadDWORD
SxRegReadString
SxRegWriteDWORD
SxRegWriteString
SxRotateLogs
sxsassemblyid.cpp
sxsconflictlog.cpp
SxSelectOperationForVolume
SXSHARED.dll
SxShellExecuteWithElevate
SxShowLuaMessage
sxs_packager.cpp
sxs_packager.h
sxs_packager_tests.cpp
sxspathmanager.cpp
sxspe.cpp
sxsprivateassembly.h
sxspublicassembly.cpp
sxspublicassemblywalker.cpp
sxspublictoprivate.cpp
sxs_registrator.cpp
sxs_registrator.h
sxs_registrator_tests.cpp
sxssequencerlog.h
SxStartTracing
SxStopTracing
sxsxmldoc.cpp
SxTracerDebuggerBreak
SxTracerGetThreadContextRetail
SxTracerShouldTrackFailure
syeKrotareleccAeroC.eroC.IU.swodniW
syeKrotareleccAeroCI.eroC.IU.swodniW
syeKtuctrohSetanretlAerutpaCppA.erutpaC.aideM.swodniW
syeKtuctrohSetanretlAerutpaCppAI.erutpaC.aideM.swodniW
syeK.tupnI.krowemarF.anX.tfosorciM
Symantec Corporation1
Symantec SHA256 TimeStamping CA
Symantec SHA256 TimeStamping CA0
(Symantec SHA256 TimeStamping Signer - G3
(Symantec SHA256 TimeStamping Signer - G30
SymbolicLinkValue
SymCryptGcmAuthPart
SymCryptGcmDecryptFinal
SymCryptGcmDecryptPart
SymCryptGcmEncryptFinal
SymCryptGcmEncryptPart
SymCryptGcmExpandKey
SymCryptGcmInit
SymCryptHmacSha256
SymCryptHmacSha256ExpandKey
SymCryptHmacSha512Selftest
SymCryptInit
SymCryptMarvin32
SymCryptMarvin32ExpandSeed
SymCryptRdrandGet
SymCryptRdrandStatus
SymCryptRdseedGet
SymCryptRdseedStatus
SymCryptRngAesFips140_2Generate
SymCryptRngAesFips140_2Instantiate
SymCryptRngAesFips140_2Uninstantiate
SymCryptRngAesGenerateSelftest
SymCryptRngAesInstantiateSelftest
SymCryptRngAesReseedSelftest
SymCryptSha1
SymCryptSha256
SymCryptSha256Append
SymCryptSha256Init
SymCryptSha256Result
SymCryptSha512
SymCryptSha512Append
SymCryptSha512Init
SymCryptSha512Result
SymCryptSp800_108
syncdef.h
synchronization2
SYNCHRONIZE
Synchronized
synchronous
sync_lf_participants
syncmgr.cpp
syncmgr.h
syncobject.cpp
syncobject.h
syntax error 
sys.1smmgxd
sys.2dmacbsu
sys.2smmgxd
sys.3buhbsu
sys.46x06mvn
sys.46x26mvn
sys.46x36i1e
sys.6pmsidnr
sys.atapmud
sys.bilcms
sys.bilimw
sys.bmsxrm
sys.cindk
sys.cprsm
sys.cttab
sys.dbsu
sys.ddcesk
sys.ehtuaved
sys.epat
__sys_errlist
?_Syserror_map@std@@YAPEBDH@Z
sys.esabk23niw
sys.esrapdih
SysException::What
sys.godhctaw
sysguardfile.cpp
sys.ifiwidw
sys.ipampbsu
sys.ipatsidn
sys.ipca
sys.k23niw
sys.kmrd
sys.lcmkbmv
sys.lenrekrew
sys.llufk23niw
sys.lnrkgxd
sys.maerts
sys.mkmddlvn
sys.mpmatb
__sys_nerr
sys.oiten
sys.pmdhsarc
sys.pmsidnr
sys.pmudksid
sys.pnpssalc
sys.pspilc
sys.psvrots
sys.pusadb
sys.rdlfdw
sys.redrocerppw
sys.rekorbpedrwptenk
sys.replehydutspeels
sys.rgmevvppa
sys.rgmtlf
sys.rlcmkbmv
sysroot_mapper.cpp
sysroot_mapper.h
sysroot_mapper_test.cpp
sys.rvhniw
sys.sdnepedsf
sys.sflc
sys.sidn
sys.slctrop
sys.ssalcdih
sys.ssbdr
sys.tekcosvh
SystemBatteriesPresent
System Call
SystemClusters
systemcmd_tests.cpp
System.CodeDom.Compiler
System.Collections
System.Collections.Concurrent
System.Collections.Generic
System.Collections.IEnumerable.GetEnumerator
System.Collections.ObjectModel
System.Collections.Specialized
System.ComponentModel
SystemConfig_Boot
SystemConfig_PnP
System.Configuration
System.Configuration.Install
SystemConfig_V0
SystemConfig_V0_CPU
SystemConfig_V0_IRQ
SystemConfig_V0_LogDisk
SystemConfig_V0_NIC
SystemConfig_V0_PhyDisk
SystemConfig_V0_PnP
SystemConfig_V0_Power
SystemConfig_V0_Services
SystemConfig_V0_Video
SystemConfig_V1
SystemConfig_V1_CPU
SystemConfig_V1_IRQ
SystemConfig_V1_LogDisk
SystemConfig_V1_NIC
SystemConfig_V1_PhyDisk
SystemConfig_V1_PnP
SystemConfig_V1_Power
SystemConfig_V1_Services
SystemConfig_V1_Video
SystemConfig_V2
SystemConfig_V2_CodeIntegrity
SystemConfig_V2_CPU
SystemConfig_V2_Defrag
SystemConfig_V2_DeviceFamily
SystemConfig_V2_DPI
SystemConfig_V2_FlightIds
SystemConfig_V2_IDEChannel
SystemConfig_V2_IRQ
SystemConfig_V2_LogDisk
SystemConfig_V2_MobilePlatform
SystemConfig_V2_Network
SystemConfig_V2_NIC
SystemConfig_V2_NumaNode
SystemConfig_V2_OpticalMedia
SystemConfig_V2_PhyDisk
SystemConfig_V2_Platform
SystemConfig_V2_PnP
SystemConfig_V2_Power
SystemConfig_V2_Processors
SystemConfig_V2_ProcGroup
SystemConfig_V2_ProcNumber
SystemConfig_V2_Services
SystemConfig_V2_TelemetryInfo
SystemConfig_V2_Video
SystemConfig_V3
SystemConfig_V3_CPU
SystemConfig_V3_IRQ
SystemConfig_V3_MobilePlatform
SystemConfig_V3_PnP
SystemConfig_V3_Services
SystemConfig_V4
SystemConfig_V4_PnP
SystemConfig_Virtualization
System.Core
System.Diagnostics
System.Diagnostics.Eventing
System.Diagnostics.Eventing.Reader
System.Diagnostics.Tracing
SYSTEM_DIS_PWRSETTING
 - System does not support CNG
System.Drawing
System.Drawing.Icon
System.Drawing.Size
SYSTEM_ENA_PWRSETTING
SystemEvents
SystemEventsBrokerClient.dll
SystemException
SystemFolder4
SystemFunction036
system-gain
system_gain
System.Globalization
SYSTEM_HIBERNATE
SYSTEM_HIBERNATE command received - system hibernate...
SystemIcons
SystemID
SystemInfo
System Integrator Index Full
System Integrator Index Invalid
System Integrator Slot Full
System.IO
System.IO.Compression
System.IO.Compression.FileSystem
System.IO.MemoryMappedFiles
System.IO.Pipes
System.Linq
System.Linq.Expressions
System.Management
systemManufacturer
systemMB
System Metrics GUID not supported
systemmock.cpp
systemmock.h
System.Net
SystemPageRedirect
SystemPageRedirectFailure
SystemParametersInfoA
SystemParametersInfoW
SystemPartition
SYSTEM_POWER_CAPABILITIES
SYSTEM_POWER_STATE
SystemProcessLauncher
systemProductName
SYSTEM_REBOOT
SYSTEM_REBOOT command received - system reboot...
System.Reflection
  System Registered Events:
SYSTEM_REM_PWRSETTING
System.Resources
System resume event received
System.Runtime.CompilerServices
System.Runtime.ConstrainedExecution
System.Runtime.InteropServices
System.Runtime.InteropServices.ComTypes
System.Runtime.InteropServices.WindowsRuntime
System.Runtime.Remoting
System.Runtime.Versioning
SystemS1
SystemS2
SystemS3
SystemS5
System.Security
System.Security.AccessControl
System.Security.Cryptography
System.Security.Permissions
System.Security.Policy
System.Security.Principal
systemserver.cpp
System.ServiceModel
System.ServiceModel.Channels
System.ServiceProcess
SYSTEM_SHUTDOWN
SYSTEM_SLEEP
SYSTEM_SLEEP command received - system suspend...
System suspend event received
SystemSvcInterface
System.Text
System.Text.RegularExpressions
System.Threading
System.Threading.Tasks
System.Timers
SystemTimeToFileTime
SystemTimeToTzSpecificLocalTime
SystemTimeToTzSpecificLocalTimeEx
System.Windows
System.Windows.Controls
System.Windows.Controls.Primitives
System.Windows.Data
System.Windows.Input
System.Windows.Interop
System.Windows.Markup
System.Windows.Markup.IComponentConnector.Connect
System.Windows.Media
System.Windows.Media.Animation
System.Windows.Media.Imaging
System.Windows.Shapes
System.Windows.Threading
System.Windows.Visibility
System.Windows.VisualState
System.Windows.VisualStateGroup
!System.Windows.VisualStateManager
SystemWW
System.Xaml
System.Xml
System.Xml.Serialization
sys.tenvrs
sys.tlfifiwv
sys.tmvxfr
sys.tnlckpwf
sys.tropata
sys.tropbsu
sys.tropds
sys.tropdspmud
sys.trophtb
sys.tropiscs
sys.troprots
sys.troprotspmud
sys.trpoediv
sys.txecmimc
sys.txereifirev
sys.txesotn
sys.vhniw
sys.xediicp
sys.ycilopwh
S'-yzsH"
szCSDVersion
szFullPath
szHelpDir
szHelpFileName
szInfPath
SzToWzWithAlloc
T(-(('(''
t0H9sHt*H
T11100***
T2RIxty*
t3fD92t-L
t4D8a	t.L
t4fD93t.@
t4fD; t.H
t5H;*u!A
t5I;8u!A
t6H9S tTL
t7fE;0t1L
t8fD;8t2H
t8f;(t3L
t9A8_xt3H
t9L9s@u3I
):t9!R!D
TabbedTextOutW
tableobject
TableObject_Convert
TableObject_LoadXML
TableObject_Save
TACACS UID
TACNOCRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tad.46serocr
taef_verify_swrc.h
tAfA9(t;H
tAfD97t;H
tAfD9	t	H
TailIndex
TakeOwnership
TakeOwnershipForSystem
TakeValidPpConfig
TakeWhile
tamroFatadateMrdH.yalpsiD.scihparG.swodniW
tamroFataDATIydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tamroFataDsmS.smS.seciveD.swodniW
tamrofbuStxeTdemiT.eroC.aideM.swodniW
tamrofbuStxeTdemiTI.eroC.aideM.swodniW
tamroFdleiFgniggoL.scitsongaiD.noitadnuoF.swodniW
tamroFdnoceS.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFdraobpilCtidEhciR.slortnoC.lmaX.IU.swodniW
tamroFecafruS.scihparG.krowemarF.anX.tfosorciM
tamroFecnetsisrePknI.gniknI.tupnI.IU.swodniW
tamroFeeuqraMyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
tamroFegakcaPlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
tamroFegamIanX.krowemarF.anX.tfosorciM
tamroFemarFaideMhtpeDI.semarF.erutpaC.aideM.swodniW
tamroFemarFaideMhtpeD.semarF.erutpaC.aideM.swodniW
tamroFemarFaideMI.semarF.erutpaC.aideM.swodniW
tamroFemarFaideMoediVI.semarF.erutpaC.aideM.swodniW
tamroFemarFaideMoediV.semarF.erutpaC.aideM.swodniW
tamroFemarFaideM.semarF.erutpaC.aideM.swodniW
tamroFemarFoediVlacirehpS.seitreporPaideM.aideM.swodniW
tamroFeriWyalpsiD.eroC.yalpsiD.seciveD.swodniW
tamroFeriWyalpsiDI.eroC.yalpsiD.seciveD.swodniW
tamroFesnopseRnoitamrifnoCegakcaPlairetaMmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
tamroFetaDredlofbuStropmIotohP.tropmI.aideM.swodniW
tamroFetuniM.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFhpargaraPtxeTI.txeT.IU.swodniW
tamroFhtnoM.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFhtpeD.scihparG.krowemarF.anX.tfosorciM
tamroFkeeWfOyaD.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFlexiPaideM.seitreporPaideM.aideM.swodniW
tamroFlexiPpamtiB.gnigamI.scihparG.swodniW
tamroFlexiPXtceriD.XtceriD.scihparG.swodniW
tamroFlianbmuhTaideM.seitreporPaideM.aideM.swodniW
tamroFniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tamroFnoitacidnyS.noitacidnyS.beW.swodniW
tamroFnoitatneserPttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tamroFnoitatneserPttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tamroFnoitazilamroNetanretlA.txeT.ataD.swodniW
tamroFnoitpaCdesolCDN.ydaeRyalP.noitcetorP.aideM.swodniW
tamroFoediVIUerutpaCaremaC.erutpaC.aideM.swodniW
tamroFoiduA.oiduA.krowemarF.anX.tfosorciM
tamroFotohPIUerutpaCaremaC.erutpaC.aideM.swodniW
tamroFraeY.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFrebmuNenohP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
tamroFreffuBD3gnitnirP.D3gnitnirP.scihparG.swodniW
tamroFrennacSegamI.srennacS.seciveD.swodniW
tamroFretcarahCtxeTI.txeT.IU.swodniW
tamroFruoH.gnittamroFemiTetaD.noitazilabolG.swodniW
tamroFtnemelExetreV.scihparG.krowemarF.anX.tfosorciM
tamroFtsilyalP.stsilyalP.aideM.swodniW
tamroFyaD.gnittamroFemiTetaD.noitazilabolG.swodniW
Tangentbordshanteraren
taolFrosneT.gninraeLenihcaM.IA.swodniW
taolFrosneTI.gninraeLenihcaM.IA.swodniW
TAPI32.dll
TargetDeviceFamily
targetDirectory
TargetEdition
targetEndpoint
targetEnvironment
TargetFrameworkAttribute
TARGET must be specified
TargetOSVersion
TargetOversubscriptionFactor
TargetPathWW
targetType
TargetType
TaskAwaiter
TaskBarAlignment
TaskbarOutOfSpaceForPin
taskbarPinReason
TaskCollection
TaskCreationOptions
Task Deleted sucessfully
TaskDialogButton
TaskDialogCallback
TaskDialogCallbackProc
TaskDialogCommonButtonFlags
TaskDialogConfig
TaskDialogFlags
TaskDialogIcons
TaskDialogIndirect
TaskDialogNotifications
TaskFactory
TaskFolder
TaskFolderCollection
Task is runnig... 
taskName
taskscanner.cpp
taskscanner.h
taskscannerut.cpp
TaskScheduler
TaskService
Tastaturmanager
|t A;sTu
TB_BUTTONCOUNT
tbD88u]H
TB_GETBUTTON
TB_GETITEMRECT
T-BGFGNQ
tBH9x(t1H
TB"L4e6n
TBSHashAlgID
Tbsi_Context_Create
Tbsi_GetDeviceInfo
Tbsip_Cancel_Commands
Tbsip_Context_Close
Tbsip_Submit_Command
TBSTATE_HIDDEN
tC97u?j4
tcartnoCatadateMerutpaCppA.erutpaC.aideM.swodniW
tcartnoCataDesirpretnE.ataDesirpretnE.ytiruceS.swodniW
tcartnoCD3gnitnirP.D3gnitnirP.scihparG.swodniW
tcartnoCdnuorgkcaBsllaC.dnuorgkcaB.sllaC.ledoMnoitacilppA.swodniW
tcartnoCecapskroWknIweiverP.ecapskroWknI.weiverP.ledoMnoitacilppA.swodniW
tcartnoCeciveDelbatroP.elbatroP.seciveD.swodniW
tcartnoCeciveDmotsuC.motsuC.seciveD.swodniW
tcartnoCeciveDrennacS.srennacS.seciveD.swodniW
tcartnoCecnadiuG.spaM.secivreS.swodniW
tcartnoCedoMderahSeliforP.eliforP.metsyS.swodniW
tcartnoCeliforPresU.eliforPresU.metsyS.swodniW
tcartnoCenohPsllaC.sllaC.ledoMnoitacilppA.swodniW
tcartnoCeroChcraeS.eroC.hcraeS.ledoMnoitacilppA.swodniW
tcartnoCeroCnoitamotuAnoitpecreP.eroC.noitamotuA.noitpecreP.swodniW
tcartnoCerotS.erotS.secivreS.swodniW
tcartnoCerutpaCppA.erutpaC.aideM.swodniW
tcartnoCgnidroceRppA.gnidroceRppA.aideM.swodniW
tcartnoCgnikcolBnoitacinummoC.gnikcolBnoitacinummoC.ledoMnoitacilppA.swodniW
tcartnoCgnilacSweiVtnemeganaMweiV.tnemeganaMweiV.IU.swodniW
tcartnoCgninraeLenihcaM.gninraeLenihcaM.IA.swodniW
tcartnoCgnitsacdaorBppA.gnitsacdaorBppA.aideM.swodniW
tcartnoCgnitsoH.gnitsoH.lmaX.IU.swodniW
tcartnoChcraeS.hcraeS.ledoMnoitacilppA.swodniW
tcartnoChcraeSlacoL.spaM.secivreS.swodniW
tcartnoCipAegarotS.eviLxobX.gnimaG.swodniW
tcartnoCipAlasrevinU.noitadnuoF.swodniW
tcartnoCipAsmSycageL.smS.seciveD.swodniW
tcartnoCIUerutpaCaremaC.erutpaC.aideM.swodniW
tcartnoCksaTputratS.ledoMnoitacilppA.swodniW
tcartnoClaweneRnoitcetorP.noitcetorP.aideM.swodniW
tcartnoCleveLwoLseciveD.seciveD.swodniW
tcartnoCllaCneercSkcoL.sllaC.ledoMnoitacilppA.swodniW
tcartnoClortnoCaideM.aideM.swodniW
tcartnoClortnoCllaC.seciveD.aideM.swodniW
tcartnoCnawW.ytivitcennoC.gnikrowteN.swodniW
tcartnoCneercSkcoLeliforPresU.eliforPresU.metsyS.swodniW
tcartnoCnekoTerawdraHeliforP.eliforP.metsyS.swodniW
tcartnoCnoitacilppAmralAdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
tcartnoCnoitadnuoF.noitadnuoF.swodniW
tcartnoCnoitaremunEsemaG.weiverP.gnimaG.swodniW
tcartnoCofnIlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
tcartnoCofnIliateReliforP.eliforP.metsyS.swodniW
tcartnoCpioVsllaC.sllaC.ledoMnoitacilppA.swodniW
tcartnoCppAtsurTlluF.ledoMnoitacilppA.swodniW
tcartnoCraBemaG.erutpaC.aideM.swodniW
tcartnoCredivorPIUgnimaG.IU.gnimaG.swodniW
tcartnoCreganaMppAytiruceS.llehS.IU.swodniW
tcartnoCreggirTdnuorgkcaBdraCtramS.sdraCtramS.seciveD.swodniW
tcartnoCreggirTlennahClortnoC.stekcoS.gnikrowteN.swodniW
tcartnoCrexednIecruoseR.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
tcartnoCrezylanAcitenohPesenapaJnoitazilabolG.noitazilabolG.swodniW
tcartnoCrotalumEdraCtramS.sdraCtramS.seciveD.swodniW
tcartnoCsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tcartnoCscirteMnoitaminA.scirteMnoitaminA.eroC.IU.swodniW
tcartnoCscitsongaiDpttH.scitsongaiD.pttH.beW.swodniW
tcartnoCseliFduolC.redivorP.egarotS.swodniW
tcartnoCsetoNweiverP.setoN.weiverP.ledoMnoitacilppA.swodniW
tcartnoCsgnitteSaremaCnoitavitcA.noitavitcA.ledoMnoitacilppA.swodniW
tcartnoCsgnitteSecalpkroW.ecalpkroW.tnemeganaM.swodniW
tcartnoCsgnitteSsnoitacilppA.sgnitteSnoitacilppA.IU.swodniW
tcartnoCsgolaiDwodniWeroC.eroC.IU.swodniW
tcartnoCsnoisnetxE.snoisnetxE.sretnirP.seciveD.swodniW
tcartnoCsrerutcafunaMmetsyS.srerutcafunaMmetsyS.eliforP.metsyS.swodniW
tcartnoCsretnirP.sretnirP.seciveD.swodniW
tcartnoCsrotarepOkrowteNycageL.srotarepOkrowteN.gnikrowteN.swodniW
tcartnoCstekcoSeruceSeviLxobX.eviLxobX.gnikrowteN.swodniW
tcartnoCstnevEdetavitcAhcraeSIUbeW.noitavitcA.ledoMnoitacilppA.swodniW
tcartnoCstnevEdetavitcA.noitavitcA.ledoMnoitacilppA.swodniW
tcartnoCstnevEdetavitcAtcatnoC.noitavitcA.ledoMnoitacilppA.swodniW
tcartnoCstsilyalP.stsilyalP.aideM.swodniW
tcartnoCtceriDlmaX.tceriD.eroC.lmaX.IU.swodniW
tcartnoCtellaW.tellaW.ledoMnoitacilppA.swodniW
tcartnoCtnemeganaMmetsyS.metsyS.swodniW
tcartnoCtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
tcartnoCtsacdaorBppA.erutpaC.aideM.swodniW
tcartnoCweiverPgninraeLenihcaM.weiverP.gninraeLenihcaM.IA.swodniW
tcartnoCweiverPtnemyolpeD.weiverP.tnemyolpeD.tnemeganaM.swodniW
tcartnoCweiverPtupnIgnimaG.tupnI.gnimaG.swodniW
tcartnoCyalrevOtahCemaG.IU.gnimaG.swodniW
tcatnoC.ataDresU.enohP.tfosorciM
TCATNOC.ataDresU.enohP.tfosorciM
tcatnoChcuoT.hcuoT.tupnI.krowemarF.anX.tfosorciM
tcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
tcatnoCneercSrellortnoClaidaRI.tupnI.IU.swodniW
tcatnoCneercSrellortnoClaidaR.tupnI.IU.swodniW
tcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
TcbLaunch
TcbLaunchRamDiskAllocationRetry
TCBRepeaterTime
tceffEcisaB.scihparG.krowemarF.anX.tfosorciM
tceffEdennikS.scihparG.krowemarF.anX.tfosorciM
tceffEdiloSyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tceffEdiloSyarrApmaL.stceffE.sthgiL.seciveD.swodniW
tceffEdnuoS.oiduA.krowemarF.anX.tfosorciM
tceffEecroFcidoirePI.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFcidoireP.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFnoitidnoCI.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFnoitidnoC.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFpmaRI.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFpmaR.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFtnatsnoCI.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEecroFtnatsnoC.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEegdEnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
tceffEerutxeTlauD.scihparG.krowemarF.anX.tfosorciM
tceffEgnithgiLenecSI.stceffE.noitisopmoC.IU.swodniW
tceffEgnithgiLenecS.stceffE.noitisopmoC.IU.swodniW
tceffEkcabdeeFecroFI.kcabdeeFecroF.tupnI.gnimaG.swodniW
tceffEknilByarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tceffEknilByarrApmaL.stceffE.sthgiL.seciveD.swodniW
tceffEmotsuCyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tceffEmotsuCyarrApmaL.stceffE.sthgiL.seciveD.swodniW
tceffEnoitaminA.scirteMnoitaminA.eroC.IU.swodniW
tceffEnoitazilibatSoediV.eroC.aideM.swodniW
tceffEnoitazilibatSoediVI.eroC.aideM.swodniW
tceffEnoitceteDecaF.eroC.aideM.swodniW
tceffEnoitceteDecaFI.eroC.aideM.swodniW
tceffEnoitisnarTnoitagivaNedilS.noitaminA.aideM.lmaX.IU.swodniW
tceffEoediVcisaBI.stceffE.aideM.swodniW
tceffEoiduAcisaBI.stceffE.aideM.swodniW
tceffEoiduAI.stceffE.aideM.swodniW
tceffEoiduA.stceffE.aideM.swodniW
tceffEpamtiByarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tceffEpamtiByarrApmaL.stceffE.sthgiL.seciveD.swodniW
tceffEpaMtnemnorivnE.scihparG.krowemarF.anX.tfosorciM
tceffEpmaRroloCyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tceffEpmaRroloCyarrApmaL.stceffE.sthgiL.seciveD.swodniW
tceffEscihparGI.stceffE.scihparG.swodniW
tceffE.scihparG.krowemarF.anX.tfosorciM
tceffEsisylanAenecS.eroC.aideM.swodniW
tceffEsisylanAenecSI.eroC.aideM.swodniW
tceffEtamroF.txeT.IU.swodniW
tceffEtseTahplA.scihparG.krowemarF.anX.tfosorciM
tceffEyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tcejbOdewollAbeW.IU.TRniW.gnisitrevdA.tfosorciM
tcejbOenecSI.senecS.noitisopmoC.IU.swodniW
tcejbOenecS.senecS.noitisopmoC.IU.swodniW
tcejbOnoitaminAI.noitisopmoC.IU.swodniW
tcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
tcejbOnoitisopmoC.noitisopmoC.IU.swodniW
tcejbOnosJI.nosJ.ataD.swodniW
tcejbOnosJ.nosJ.ataD.swodniW
tcejbOpaMSOM.slortnoC.spaM.enohP.tfosorciM
tcejbOpnPI.pnP.noitaremunE.seciveD.swodniW
tcejbOpnP.pnP.noitaremunE.seciveD.swodniW
tcejbOsuBnyoJllAI.nyoJllA.seciveD.swodniW
tcejbOsuBnyoJllA.nyoJllA.seciveD.swodniW
tcejbOtceriDlmaXI.tceriD.eroC.lmaX.IU.swodniW
tcejbOtnetnoCdetegraTI.tnetnoCdetegraT.secivreS.swodniW
tcejbOtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
tcejbOtupnIelbahcattAI.tupnI.IU.swodniW
tcejbOtupnIelbahcattA.tupnI.IU.swodniW
tcejbOycnednepeDI.lmaX.IU.swodniW
tcejbOycnednepeD.lmaX.IU.swodniW
tcennoCdraCtramSI.sdraCtramS.seciveD.swodniW
tceriDlmaXI.tceriD.eroC.lmaX.IU.swodniW
tceriDlmaX.tceriD.eroC.lmaX.IU.swodniW
tceR.noitadnuoF.swodniW
TCER.poretnI.ledoMksaT.enohP.tfosorciM
    --tcp-fastopen
tcp-fastopen
TcpIp_Fail
TcpIp_SendIPV4
TcpIp_SendIPV6
TcpIp_TypeGroup1
TcpIp_TypeGroup2
TcpIp_TypeGroup3
TcpIp_TypeGroup4
TcpIp_V0
TcpIp_V0_TypeGroup1
TcpIp_V1
TcpIp_V1_Fail
TcpIp_V1_Receive
TcpIp_V1_Send
TcpIp_V1_TypeGroup1
TcpIp_V1_TypeGroup2
TcpIp_V1_TypeGroup3
    --tcp-nodelay
tcp-nodelay
tcpsock.cpp
tcpsock.h
                                                  TCPU)
tcti-common.c
TCTI: Insufficient Buffer.
TCTI module for communication with Windows TPM Base Services
tcti-tbs
tcti-tbs.c
tcti_tbs_cancel
tcti_tbs_finalize
tcti_tbs_receive
tcti_tbs_transmit
tcudorPerotS.erotS.secivreS.swodniW
tcudorPerotSI.erotS.secivreS.swodniW
t(D8Gxt"L
t(D9eHu"E
TDCBF_CANCEL_BUTTON
TDCBF_CLOSE_BUTTON
TDCBF_NO_BUTTON
TDCBF_OK_BUTTON
TDCBF_RETRY_BUTTON
TDCBF_YES_BUTTON
tDDDDDDDg
tDDDDDDFx
tDf9)u8H
TDF_ALLOW_DIALOG_CANCELLATION
TDF_CALLBACK_TIMER
TDF_CAN_BE_MINIMIZED
TDF_ENABLE_HYPERLINKS
TDF_EXPANDED_BY_DEFAULT
TDF_EXPAND_FOOTER_AREA
TDF_NO_DEFAULT_RADIO_BUTTON
TDF_POSITION_RELATIVE_TO_WINDOW
TDF_RTL_LAYOUT
TDF_SHOW_MARQUEE_PROGRESS_BAR
TDF_SHOW_PROGRESS_BAR
TDF_USE_COMMAND_LINKS
TDF_USE_COMMAND_LINKS_NO_ICON
TDF_USE_HICON_FOOTER
TDF_USE_HICON_MAIN
TDF_VERIFICATION_FLAG_CHECKED
TdhEnumerateProviderFieldInformation
TdhFormatProperty
TdhGetEventInformation
TdhGetEventMapInformation
tDL91u9H9Y
TDN_BUTTON_CLICKED
TDN_CREATED
TDN_DESTROYED
TDN_DIALOG_CONSTRUCTED
TDN_EXPANDO_BUTTON_CLICKED
TDN_HELP
TDN_HYPERLINK_CLICKED
TDN_NAVIGATED
TDN_RADIO_BUTTON_CLICKED
TDN_TIMER
TDN_VERIFICATION_CLICKED
TDPPower
tdwEventMaskW
@teD9-FV
teehSelytSpaMI.spaM.slortnoC.lmaX.IU.swodniW
teehSelytSpaM.spaM.slortnoC.lmaX.IU.swodniW
TEE_STATUS_CMD_FAILURE
TEE_STATUS_CMD_FAILURE_SESSIONS_EXISTS
TEE_STATUS_COUNTER_MISMATCH
TEE_STATUS_IDENTICAL_PACKAGE
TEE_STATUS_ILLEGAL_PLATFORM_ID
TEE_STATUS_INTERNAL_ERROR
TEE_STATUS_INVALID_HANDLE
TEE_STATUS_INVALID_PACKAGE
TEE_STATUS_INVALID_PARAMS
TEE_STATUS_INVALID_SIGNATURE
TEE_STATUS_INVALID_TA_SVN
TEE_STATUS_INVALID_UUID
TEE_STATUS_MAX_INVOCATIONS
TEE_STATUS_MAX_SVL_RECORDS
TEE_STATUS_MAX_TAS_REACHED
TEE_STATUS_MISSING_ACCESS_CONTROL
TEE_STATUS_NO_FW_CONNECTION
TEE_STATUS_OMK_NOT_PROVISIONED
TEE_STATUS_PLATFORM_AFTER_EOM
TEE_STATUS_PLUGIN_MISSING
TEE_STATUS_PLUGIN_VERIFY_FAILED
TEE_STATUS_REGISTRY_ERROR
TEE_STATUS_REPOSITORY_ERROR
TEE_STATUS_SD_DB_NO_FREE_SLOT
TEE_STATUS_SD_INTERFCE_DISABLED
TEE_STATUS_SD_INVALID_PROPERTIES
TEE_STATUS_SD_PUBLICKEY_HASH_VERIFY_FAIL
TEE_STATUS_SD_SD_DOES_NOT_EXIST
TEE_STATUS_SD_SD_INSTALL_UNALLOWED
TEE_STATUS_SD_TA_DB_NO_FREE_SLOT
TEE_STATUS_SD_TA_INSTALLATION_UNALLOWED
TEE_STATUS_SERVICE_UNAVAILABLE
TEE_STATUS_SPOOLER_INVALID
TEE_STATUS_SPOOLER_MISSING
TEE_STATUS_SUCCESS
TEE_STATUS_SVL_CHECK_FAIL
TEE_STATUS_TA_DOES_NOT_EXIST
TEE_STATUS_TA_ENCRYPTION_KEY_INVALID
TEE_STATUS_TA_ENCRYPTION_KEY_NOT_SET
TEE_STATUS_TA_PLATFORM_MISMATCH
TEE_STATUS_UNSUPPORTED_PLATFORM
TEE_Transport_Create
TEE_UNKNOWN_ERROR
tEfD91u8H
TEGITLUMRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tegraTeliFdehcaC.redivorP.egarotS.swodniW
tegraTgniggoLI.scitsongaiD.noitadnuoF.swodniW
tegraTmaertSwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
tegraTmaertSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
tegraTnoitarepOporDeroCI.eroC.porDgarD.refsnarTataD.ledoMnoitacilppA.swodniW
tegraTnoitingoceRknI.gniknI.tupnI.IU.swodniW
tegraTnoitisopmoC.aideM.lmaX.IU.swodniW
tegraTnoitisopmoCI.aideM.lmaX.IU.swodniW
tegraTnoitisopmoCI.noitisopmoC.IU.swodniW
tegraTnoitisopmoC.noitisopmoC.IU.swodniW
tegraTtceffEnoitaminA.scirteMnoitaminA.eroC.IU.swodniW
tegraTwodniWpotkseDI.potkseD.noitisopmoC.IU.swodniW
tegraTwodniWpotkseD.potkseD.noitisopmoC.IU.swodniW
tegraTwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
tegraTwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
tegraTyalpsiD.eroC.yalpsiD.seciveD.swodniW
tegraTyalpsiDI.eroC.yalpsiD.seciveD.swodniW
tekcaPputeSbsU.bsU.seciveD.swodniW
tekcaPputeSbsUI.bsU.seciveD.swodniW
tekciTecivreSdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tekciTecivreSdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tekciTtnirPwolfkroWI.tekciTtnirP.gnitnirP.scihparG.swodniW
tekciTtnirPwolfkroW.tekciTtnirP.gnitnirP.scihparG.swodniW
tekcoSbeWegasseMI.stekcoS.gnikrowteN.swodniW
tekcoSbeWegasseMrevreSI.stekcoS.gnikrowteN.swodniW
tekcoSbeWegasseMrevreS.stekcoS.gnikrowteN.swodniW
tekcoSbeWegasseM.stekcoS.gnikrowteN.swodniW
tekcoSbeWI.stekcoS.gnikrowteN.swodniW
tekcoSbeWmaertSI.stekcoS.gnikrowteN.swodniW
tekcoSbeWmaertSrevreSI.stekcoS.gnikrowteN.swodniW
tekcoSbeWmaertSrevreS.stekcoS.gnikrowteN.swodniW
tekcoSbeWmaertS.stekcoS.gnikrowteN.swodniW
tekcoSmaertSI.stekcoS.gnikrowteN.swodniW
tekcoSmaertS.stekcoS.gnikrowteN.swodniW
tekcoSmargataDI.stekcoS.gnikrowteN.swodniW
tekcoSmargataD.stekcoS.gnikrowteN.swodniW
TelemetryAssert
TelemetryAssertDiagTrack
TelemetryClient
TelemetryController::RunTelemetry
telemetryFlags
TelemetryProvider::Initialize
TelemetryProvider::RunCommand
TelemetryProvider::SendTelemetry
TelemetryRunMode::Maintenance
TelemetryRunMode::Normal
TelemetryRunMode::Oobe
tellaWevitaN.tellaW.enohP.tfosorciM
tellaW.tellaW.enohP.tfosorciM
telluBknIsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
telluBknIsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
telmanPath
telnet-option
TELNET protocol options
tempAux0
tempAux1
TempCacheCount
TempCacheDeletedCount
temp_directory.hpp
TEMP_DIRECTORY_SETUP_ERROR
tempHyst
TemplateAction
TemplateEventDescriptor
TemplateGeneratorVersion
TemplateID
TemplateName
template-parameter-
TemplatePrimaryFeatureBlockLoadStartedT
TemplatePrimaryFeatureBlockPercentageChangedT
TemplatePublishingRefreshStatusChangedT
TemplateTEMPLATE_APPV_ERROR
TemplateTEMPLATE_CLIENT_APPVERROR
TemplateTEMPLATE_CLIENT_CATALOG_FOLDER
TemplateTEMPLATE_CLIENT_CATALOG_FOLDER_WIN32ERROR
TemplateTEMPLATE_CLIENT_CONFIGURE_PACKAGE
TemplateTEMPLATE_CLIENT_CONFIGURE_PACKAGE_FAILURE
TemplateTEMPLATE_CLIENT_CONFIGURE_PACKAGE_GROUP
TemplateTEMPLATE_CLIENT_CONFIGURE_PACKAGE_GROUP_FAILURE
TemplateTEMPLATE_CLIENT_GUID
TemplateTEMPLATE_CLIENT_GUID_RC
TemplateTEMPLATE_CLIENT_HRESULT
TemplateTEMPLATE_CLIENT_ID_VERSION_PATH
TemplateTEMPLATE_CLIENT_IMPERSONATION_LEVEL
TemplateTEMPLATE_CLIENT_ITEM_WIN32ERROR
TemplateTEMPLATE_CLIENT_PUBLISH_PACKAGE
TemplateTEMPLATE_CLIENT_PUBLISH_PACKAGE_FAILURE
TemplateTEMPLATE_CLIENT_PUBLISH_PACKAGE_GROUP
TemplateTEMPLATE_CLIENT_SCRIPTINGSCOPE_GUID_STRING
TemplateTEMPLATE_CLIENT_SCRIPTINGSCOPE_GUID_STRING_MULT
TemplateTEMPLATE_CLIENT_SCRIPTINGSCOPE_STRINGS_ULONG
TemplateTEMPLATE_CLIENT_SCRIPTINGSCOPE_STRINGS_WIN32ERROR
TemplateTEMPLATE_CLIENT_STRING_APPVERROR
TemplateTEMPLATE_CLIENT_STRING_GUID_PID_RC
TemplateTEMPLATE_CLIENT_STRING_HRESULT
TemplateTEMPLATE_CLIENT_STRING_STRING
TemplateTEMPLATE_CLIENT_STRING_STRING_APPVERROR
TemplateTEMPLATE_CLIENT_WIN32ERROR
TemplateTEMPLATE_COM_ERROR
TemplateTEMPLATE_ERROR_PID_PACKAGE_VERSION
TemplateTEMPLATE_GROUP_AND_VERSION
TemplateTEMPLATE_GROUP_AND_VERSION_AND_RC_AND_SID
TemplateTEMPLATE_GROUP_AND_VERSION_PACKAGE_AND_VERSION
TemplateTEMPLATE_GROUP_VERSION_ACTIVITY
TemplateTEMPLATE_GUID_GUID
TemplateTEMPLATE_GUID_GUID_GUID
TemplateTEMPLATE_GUID_GUID_RC
TemplateTEMPLATE_GUID_GUID_ULONG_ULONG
TemplateTEMPLATE_GUID_STRING_ERROR
TemplateTEMPLATE_GUID_STRING_HRESULT
TemplateTEMPLATE_LOAD_XML_ERROR
TemplateTEMPLATE_PACKAGE_AND_VERSION
TemplateTEMPLATE_PACKAGEMONIKER_PACKAGEGROUPMONIKER
TemplateTEMPLATE_PACKAGE_VERSION_ACTIVITY
TemplateTEMPLATE_PACKAGE_VERSION_AND_HR
TemplateTEMPLATE_POWERSHELL_INVOKE_ERROR_WARNING
TemplateTEMPLATE_STRING_BOOLEAN
TemplateTEMPLATE_STRING_BOOLEAN_BOOLEAN_RC
TemplateTEMPLATE_STRING_BOOLEAN_RC
TemplateTEMPLATE_STRING_PACKAGE_VERSION
TemplateTEMPLATE_STRING_PID
TemplateTEMPLATE_STRING_PID_SID
TemplateTEMPLATE_SUBSYSTEM_STARTUP_FAILURE
TemplateTEMPLATE_UINT
TemplateTEMPLATE_UINT_APPVRC
TemplateTEMPLATE_UINT_STRING
TemplateTEMPLATE_UINT_UINT
TemplateTEMPLATE_VALIDATE_XML_ERROR
TemplateTWStringUInt64
TemplateTWUInt32
TemplateTWUInt64
TemplateTWUInt64UInt64
TemplateVersion
TEMPORARY_BACKUP_CONFIGURATION_ERROR
TemporaryFolderWL
tempstatus
TEMP_STATUS		Has Temp Sensor
temp_store
TEMP_THRESHOLD		Has Temp Thresholds
terminalhandler.cpp
terminalhandler.h
terminate
(terminated by 
TerminateFirstSignInAnimation
TerminateProcess
TerminateThread
?terminate@@YAXXZ
TERM SPEED
TermsrvAppInstallMode
TERM TYPE
tesdaeHI.tupnI.gnimaG.swodniW
tesdaeH.tupnI.gnimaG.swodniW
teserPdeepSosI.seciveD.aideM.swodniW
teserPerutarepmeTroloC.seciveD.aideM.swodniW
teserPnoitaminAratavA.secivreSremaG.krowemarF.anX.tfosorciM
teserPsucoF.seciveD.aideM.swodniW
teSeulaV.snoitcelloC.noitadnuoF.swodniW
tessAataD.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
tessA.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
tessellationIsolines
tessellationPointMode
tessellationShader
test_classes.hpp
test.cpp
test_devicedriver.cpp
test-event
--test-event is ignored unless a debug build!
test_filepublishserver.cpp
test_fileserverpackage.cpp
test_fileserverpackageversion.cpp
test_fileserverpackageversion.h
TestHookSet
test_interface.cpp
testmanager.cpp
testmanager.h
test_mocks.h
test_new_parser.cpp
test_old_parser.cpp
test_path_map.cpp
test_publishcomponent.cpp
test_publishserverfactory.cpp
testschannell.cpp
tests.cpp
TEST SCRIPT COMMANDS:
TESTSIGNING
testsubsystem.cpp
testsubsystem.h
test_utils.cpp
testutils.cpp
testutils.h
test_xml.cpp
teSytreporPaideM.seitreporPaideM.aideM.swodniW
teSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
teSytreporPegakcaPataD.refsnarTataD.ledoMnoitacilppA.swodniW
teSytreporPelpmaSmaertSaideM.eroC.aideM.swodniW
teSytreporPI.snoitcelloC.noitadnuoF.swodniW
teSytreporPnoitisopmoCI.noitisopmoC.IU.swodniW
teSytreporPnoitisopmoC.noitisopmoC.IU.swodniW
teSytreporPpamtiB.gnigamI.scihparG.swodniW
teSytreporP.snoitcelloC.noitadnuoF.swodniW
texelBufferAlignment
			text-align: right;
TextBlock
TextCompareWX
text file busy
TextFileLogger
TextOutW
--text              Produce a text version of vulkaninfo output to stdout. This is
TextProperty
TextReader
			text-shadow: 4px 4px 5px #000;
textureCompressionASTC_HDR
textureCompressionASTC_LDR
textureCompressionBC
textureCompressionETC2
TextWriter
t?fA99t9L
t:fA9(t4H
t?fA9(t9H
t"fA9)u#M
t'fD;3u!I
t*fD;6t I
tfD8"taH
t:fD90t4H
t?fD97t9H
t_fD9"tYH
tFfE; t@D9e
tFH9S tQH
TFileSystemWW
tFM;;u2H
TFTP Aborted
TFTP: Access Violation
tftp-blksize
TFTP buffer too small for options
TFTP file name too long
TFTP: File Not Found
TFTP finished
TFTP: Illegal operation
    --tftp-no-options
tftp-no-options
TFTP: No such user
TFTP protocol options
tftp_rx: internal error
tftp_send_first: internal error
TFTP: Unknown transfer ID
tFZ"tS1 uFZ"tRichGZ"t
tG9oHtBH
tGfD;m0t@I
t;H;2u'L
t-H9]@v'L
t H9X8t]
Thales TSS ESN:0E37-9649-08C51
thdkeeper.h
The action interface does not meet requirements
The app data was not found from app handle
_The application belongs to a package or a connection group that is scheduled to be unpublished.
The application could not be started properly because a software upgrade is in progress. Please try again in several minutes once the update is complete.
!The application failed to launch.
The app was not found from handle
The array should have an unused character
The available GPUs are in the range of 0 to 
                                                  the available participants
The command is AC_INSTALL_JTA
The command is AC_INSTALL_SD
The command is AC_UNINSTALL_JTA
The command is AC_UNINSTALL_SD
The command is AC_UPDATE_SVL
The command line tool itself
                    the default output.
The device does not support the IACCTemperature interface.
The domain data was not found from domain handle
The edp or fpc file size is larger than maximum
The entire document is already downloaded
theEvent
The file does not exist
                                        the file name.*
The file pointer or IO stream is NULL
The fpc pointer or dsp pointer is NULL
the given option can't be reversed with a --no- prefix
The HW provider interface pointer is not set in the cache
                                            the IDSP in override.dv
the installed libcurl version doesn't support this
TheIntelALSRadar
The LUN number passed in was not found
The max connection limit is reached
ThemeInfoAttribute
The meta data pointer is NULL
   them yourself.
The number of matching EXEs exceeded the max allowed
theObject
The only available GPU selection is 0.
                                              the order of driversk (0-based)
The PackageManager component has thrown an exception: 
The participant data pointer is NULL
The participant device path pointer is NULL
The participant handle pointer is NULL
The participant HID pointer is NULL
The participant name pointer is NULL
The power or dsp pointer is NULL
The product platform extension registry is invalid. There are multiple extensions and no default registered for the extension point.
The provided parameter value and its confirmation do not match!
The provider does not support storage pools
The provider doesn't support LUN number
The prticipant data pointer is NULL
There is insufficient disk space to open the application. You should delete any unnecessary files using the Disk Cleanup Tool and then try again.
There is negative response in cache while serv connect
The requested document is not new enough
The requested document is not old enough
The required function pointer of EsifConjureInterface is NULL
The Retry-After: time would make this command line exceed the maximum allowed time for retries.
There was an unhandled in-flight excepion in the thread being destroyed (was it ever joined?). Ex was:
There was an unhandled unrecognized in-flight excepion in the thread being destroyed (was it ever joined?)
thermalapi
ThermalApi_CmdMitigation
ThermalApi_CmdMonitor
ThermalApi_CmdPolicy
ThermalApi_LoadLibrary
ThermalApiMitigation_AddParticipantToList
ThermalApiMitigation_AddToList
ThermalApiMitigation_Create
ThermalApiMitigation_CreateInst
Thermal API mitigation disabled
ThermalApiMitigation_Enable
thermalapi_mitigation_event_callback
ThermalApiMitigation_Exit
ThermalApiMitigation_GetNodeFromListWLock
ThermalApiMitigation_Init
ThermalApiMitigation_InitFunctionPointers
ThermalApiMitigation_InitializeEntry
ThermalApiMitigation_IsAvailable
ThermalApiMitigation_UninitializeEntry
ThermalApiMitigation_Unregister
ThermalApiMitigation_Update
ThermalApiMitigation_Update() Input Parameter is NULL
ThermalApiMonitor_AddParticipantToList
ThermalApiMonitor_AddToList
ThermalApiMonitor_Create
ThermalApiMonitor_CreateInst
Thermal API monitor disabled
ThermalApiMonitor_Enable
ThermalApiMonitor_EventCallback
ThermalApiMonitor_Exit
ThermalApiMonitor_Init
ThermalApiMonitor_InitFunctionPointers
ThermalApiMonitor_InitializeEntry
ThermalApiMonitor_PollingCallback
ThermalApiMonitor_UninitializeEntry
ThermalApiMonitor_Unregister
ThermalApiMonitor_UpdateState
ThermalApiMonitor_UpdateThreshold
ThermalApiPolicy_AddToList
ThermalApiPolicy_Create
ThermalApiPolicy_CreateInst
Thermal API policy disabled
ThermalApiPolicy_Enable
ThermalApiPolicy_EventCallback
ThermalApiPolicy_Exit
ThermalApiPolicy_GetNodeFromListWLock
ThermalApiPolicy_Init
ThermalApiPolicy_InitFunctionPointers
ThermalApiPolicy_IsAvailable
ThermalApiPolicy_Register
ThermalApiPolicy_Unregister
ThermalApi_ReleaseLibrary
ThermalApi_UnloadLibrary
ThermalControl
Thermal Mitigation Report Disabled
Thermal Policy Report Disabled
Thermistor
The selected gpu (
TheServiceName
                                        The target can be any of the following:
The temperature or dsp pointer is NULL
The thread completed.
The thread has not completed within the specified timeout 
The time or DSP pointer is NULL
The wait function failed for:
                    they will always print format properties.
thfE9(tbH
thgieHeniLgnitirwdnaH.gniknI.tupnI.IU.swodniW
thgieWtnoF.txeT.IU.swodniW
thgieWtxeTdemiT.eroC.aideM.swodniW
thgiLlanoitceriD.scihparG.krowemarF.anX.tfosorciM
thgiLlmaX.aideM.lmaX.IU.swodniW
thgiLlmaXI.aideM.lmaX.IU.swodniW
thgiLnoitisopmoCI.noitisopmoC.IU.swodniW
thgiLnoitisopmoC.noitisopmoC.IU.swodniW
thgiLtnatsiDI.noitisopmoC.IU.swodniW
thgiLtnatsiD.noitisopmoC.IU.swodniW
thgiLtneibmAI.noitisopmoC.IU.swodniW
thgiLtneibmA.noitisopmoC.IU.swodniW
thgiLtnioPI.noitisopmoC.IU.swodniW
thgiLtnioP.noitisopmoC.IU.swodniW
thgiLtopSI.noitisopmoC.IU.swodniW
thgiLtopS.noitisopmoC.IU.swodniW
tHH93uCH9s
ThirdPartySignedWinLoadDriverLoadSuccessAudit
ThirdStage
This application has requested the Runtime to terminate it in an unusual way.
__thiscall
This controller does not provide debug capability.
# This file was generated by libcurl! Edit at your own risk.
This indicates a bug in your application.
                        This is based off of the VDS_DISK_EXTENT structure.
This is caused by a driver holding a file opened for write access.
ThisLateBoundObject
This may take a while...
thisObjCollection
thisObject
thisObjEnumerator
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
!This program cannot be run in DOS mode.
thisResponse
This should never occur
ThisSystemProperties
    ThisUpdate
_Thrd_id
_Thrd_join
 thread 
Thread completed. Name: 
thread.cpp
THREAD_DONE_KHR
thread.h
Thread has no token attached. Proceed with impersonation.
threadId
THREAD_IDLE_KHR
ThreadInterruptedException
threadmgr.cpp
threadmgr.h
ThreadPool
threadpool.cpp
threadpool.h
ThreadPoolTrace_V2
ThreadRun
Thread::Start
ThreadStart
Thread started. Name: 
threadsyncdata.cpp
threadsyncdata.h
Thread terminated due to exception: 
Thread terminated due to unrecognized exception.
threadTerminationWaitInterval
Thread::theThreadFunc - NULL data
Thread_TypeGroup1
Thread_V0
Thread_V0_TypeGroup1
Thread_V1
Thread_V1_TypeGroup1
Thread_V1_TypeGroup2
Thread_V2
Thread_V2_TypeGroup1
Thread_V3
Thread_V3_TypeGroup1
Thread_V4
Thread::Wait
_threshold
_thresholdFile
_thresholdFilePath
threshold_high
threshold_low
threshold_path
ThrottlingCleanupEvent null value
ThrottlingSemaphore null value
ThrottlingTimer null value
?_Throw_C_error@std@@YAXH@Z
?_Throw_Cpp_error@std@@YAXH@Z
_throwException
?_Throw_future_error@std@@YAXAEBVerror_code@1@@Z
_throwOnError
Thumbprint
Thunderbolt Participant
[thunk]:
Thursday
Ti3tQ][Z
tI97uEjD
tIArgumentsWW
tiB23tnIrosneT.gninraeLenihcaM.IA.swodniW
tiB23tnIrosneTI.gninraeLenihcaM.IA.swodniW
tiB23tnIUrosneT.gninraeLenihcaM.IA.swodniW
tiB23tnIUrosneTI.gninraeLenihcaM.IA.swodniW
tiB46tnIrosneT.gninraeLenihcaM.IA.swodniW
tiB46tnIrosneTI.gninraeLenihcaM.IA.swodniW
tiB46tnIUrosneT.gninraeLenihcaM.IA.swodniW
tiB46tnIUrosneTI.gninraeLenihcaM.IA.swodniW
tiB61taolFrosneT.gninraeLenihcaM.IA.swodniW
tiB61taolFrosneTI.gninraeLenihcaM.IA.swodniW
tiB61tnIrosneT.gninraeLenihcaM.IA.swodniW
tiB61tnIrosneTI.gninraeLenihcaM.IA.swodniW
tiB61tnIUrosneT.gninraeLenihcaM.IA.swodniW
tiB61tnIUrosneTI.gninraeLenihcaM.IA.swodniW
tiB8tnIrosneT.gninraeLenihcaM.IA.swodniW
tiB8tnIrosneTI.gninraeLenihcaM.IA.swodniW
tiB8tnIUrosneT.gninraeLenihcaM.IA.swodniW
tiB8tnIUrosneTI.gninraeLenihcaM.IA.swodniW
TICUIExternal2WWW
TICUIExternal3WWWX
TICUIExternal4WWW
TICUIExternal5WWW 
TICUIExternal6WWW
TICUIExternal7WWW
TICUIExternal8WWW
TigerLake
time_appconnect
time-cond
time_connect
timed out
timed_out
Timed out
Time for IPv6 before trying IPv4
timelineSemaphore
Time (ms)
time_namelookup
: timeout
Time-out
TimeoutException
timeoutHit
timeOutInterval
timeoutmSecs
Timeout occured on receive operation.
Timeout occured on recv after number of retries: 
Timeout occured while reading from heci device.
Timeout occured while waiting for graceful socket closure.
Timeout occured while writing to heci device.
Timeout occured while writing to heci device. Timeout was set to: 
Timeout passed. Retrying ESInit
TimeoutW
Timeout was reached
                                        time - Polling interval in ms. Supported
time_pretransfer
_timerAGSHostWrite
TimerCallback
time_redirect
Timer expired for correlation reset. Resetting correlation.
timer not active
TimerPeriod
timerstart
timerstart                               Start Interval Timer
timerstop
timerstop                                Stop Interval Timer
TimeSpan
timestamp
timeStamp
TimeStamp-2048-30
TimeStamp-2048-60
timestampComputeAndGraphics
timestamp.intel.com
timestamp.intel.com0
timestampPeriod
timestampValidBits
time_starttransfer
time_total
timeupload.cpp
TIMING MARK
TINIOREZRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
TINIRRARPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tinUecnerruceRksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
tinUecnerruceRtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
tinUegnaRtxeT.txeT.IU.swodniW
tinU.evitcaeR.enohP.tfosorciM
tinUhtgneLreffuBlacirotsiHerutpaCppA.erutpaC.aideM.swodniW
tinUledoMD3gnitnirP.D3gnitnirP.scihparG.swodniW
tinUmooZ.noitamotuA.lmaX.IU.swodniW
tinUnoitarenegeRksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
tinUnoitaruDerotS.erotS.secivreS.swodniW
tinUtxeTdemiT.eroC.aideM.swodniW
tinUtxeT.txeT.noitamotuA.lmaX.IU.swodniW
TINY_GET
TINY_SET
_tiriggerObject
tisivoeGI.noitacoloeG.seciveD.swodniW
tisivoeG.noitacoloeG.seciveD.swodniW
TITLEJSON_DESERIALIZATION_ERROR
titleName
tixEnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
tjD8"teH
t:jeee1NSg
tjfD98tdD8
tjH99teE
tkf9(tfH
tkH9.tZH
tKL9g0uEH
t_ksambmys.scitnameS.redniBemitnuR.prahSC.tfosorciM
t(LcuoH;
tlD8"tgH
TlgAggregateSummary
__TlgCV__
tLgloballyPublishedWWWd
TLOSS error
 TLPValue: 
 TLPVersion: 
tls13-ciphers
TLS 1.3 cipher suites to use
TLS 1.3 proxy cipher suites
TlsAlloc
TLS authentication type
TLS authentication type for HTTPS proxy
tlsauthtype
TlsGetValue
tlspassword
TLS password
TLS password for HTTPS proxy
TlsSetValue
tlssock.cpp
tlssock.h
TLS user name
TLS username for HTTPS proxy
    --tlsv1.0
    --tlsv1.1
    --tlsv1.2
    --tlsv1.3
tluaVdrowssaPI.slaitnederC.ytiruceS.swodniW
tluaVdrowssaP.slaitnederC.ytiruceS.swodniW
tluseRatadateMeliforPdaolnwoDmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRatadateMeliforPdaolnwoDmiSE.srotarepOkrowteN.gnikrowteN.swodniW
tluseRcirteMecivreSfOytilauQeviLxobX.eviLxobX.gnikrowteN.swodniW
tluseRcirteMecivreSfOytilauQeviLxobXI.eviLxobX.gnikrowteN.swodniW
tluseRcitsiretcarahClacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRcitsiretcarahClacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRcnysAdeppalrevOX.krowemarF.anX.tfosorciM
tluseRcnysAnoitpircseDratavA.secivreSremaG.krowemarF.anX.tfosorciM
tluseRdaeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRdaolnwoDecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
tluseRdaolnwoDecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
tluseRdaolnwoDtratSegakcaPpaMenilffOI.spaMenilffO.spaM.secivreS.swodniW
tluseRdaolnwoDtratSegakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
tluseRdaolyaPetavirPecivreSfOytilauQeviLxobX.eviLxobX.gnikrowteN.swodniW
tluseRdaolyaPetavirPecivreSfOytilauQeviLxobXI.eviLxobX.gnikrowteN.swodniW
tluseRdeeFegamIteS.eliforPresU.metsyS.swodniW
tluseRdegnahCtseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
tluseRdegnahCtseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
tluseRdnammoCecivreSeciveDdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRdnammoCecivreSeciveDdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tluseRdnammoCeludoMI.seciveD.aideM.swodniW
tluseRdnammoCeludoM.seciveD.aideM.swodniW
tluseRdneSDNI.ydaeRyalP.noitcetorP.aideM.swodniW
tluseRdniFerutangiSrotarepOyranU.scitnameS.redniBemitnuR.prahSC.tfosorciM
tluseRdnuorgeroFnoitucexEdednetxE.dnuorgeroF.noitucexEdednetxE.ledoMnoitacilppA.swodniW
tluseRdroceRdaeRppAcciUdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRdroceRdaeRppAcciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tluseRecruoSmorFsmetIdetropmIeteleDtropmIotohPI.tropmI.aideM.swodniW
tluseRecruoSmorFsmetIdetropmIeteleDtropmIotohP.tropmI.aideM.swodniW
tluseRedocsnarTeraperP.gnidocsnarT.aideM.swodniW
tluseRedocsnarTeraperPI.gnidocsnarT.aideM.swodniW
tluseRedoNtupnIeciveDoiduAetaerCI.oiduA.aideM.swodniW
tluseRedoNtupnIeciveDoiduAetaerC.oiduA.aideM.swodniW
tluseRedoNtupnIeliFoiduAetaerCI.oiduA.aideM.swodniW
tluseRedoNtupnIeliFoiduAetaerC.oiduA.aideM.swodniW
tluseRedoNtupnIoiduAecruoSaideMetaerCI.oiduA.aideM.swodniW
tluseRedoNtupnIoiduAecruoSaideMetaerC.oiduA.aideM.swodniW
tluseRedoNtuptuOeciveDoiduAetaerCI.oiduA.aideM.swodniW
tluseRedoNtuptuOeciveDoiduAetaerC.oiduA.aideM.swodniW
tluseRedoNtuptuOeliFoiduAetaerCI.oiduA.aideM.swodniW
tluseRedoNtuptuOeliFoiduAetaerC.oiduA.aideM.swodniW
tluseRegakcaPecruoseRddAgolataCegakcaPI.ledoMnoitacilppA.swodniW
tluseRegakcaPecruoseRddAgolataCegakcaP.ledoMnoitacilppA.swodniW
tluseRegakcaPerotSllatsninUerotS.erotS.secivreS.swodniW
tluseRegakcaPerotSllatsninUerotSI.erotS.secivreS.swodniW
tluseRegakcaPlanoitpOddAgolataCegakcaPI.ledoMnoitacilppA.swodniW
tluseRegakcaPlanoitpOddAgolataCegakcaP.ledoMnoitacilppA.swodniW
tluseRegasseMdneSsmSI.smS.seciveD.swodniW
tluseRegasseMdneSsmS.smS.seciveD.swodniW
tluseRegnahCetatSnoitucexEppAI.metsyS.swodniW
tluseRegnahCetatSnoitucexEppA.metsyS.swodniW
tluseRegnahCsnoissimrePanatroC.anatroC.secivreS.swodniW
tluseRegnahCyciloPnoitavitcAdraCtramS.sdraCtramS.seciveD.swodniW
tluseRegnahCytreporPecruoSemarFnoitpecrePI.noitpecreP.seciveD.swodniW
tluseRegnahCytreporPecruoSemarFnoitpecreP.noitpecreP.seciveD.swodniW
tluseRelbamusnoCerotS.erotS.secivreS.swodniW
tluseRelbamusnoCerotSI.erotS.secivreS.swodniW
tluseReliFddA.redivorP.srekciP.egarotS.swodniW
tluseReludehcSdA.TRniW.derahS.gnisitrevdA.tfosorciM
tluseRemaNeliFteS.redivorP.srekciP.egarotS.swodniW
tluseRerutciPtnuoccAteS.eliforPresU.metsyS.swodniW
tluseResahcruPerotS.erotS.secivreS.swodniW
tluseResahcruPerotSI.erotS.secivreS.swodniW
tluseResneciLeriuqcAerotS.erotS.secivreS.swodniW
tluseResneciLeriuqcAerotSI.erotS.secivreS.swodniW
tluseResneciLeriuqcAnaCerotS.erotS.secivreS.swodniW
tluseResneciLeriuqcAnaCerotSI.erotS.secivreS.swodniW
tluseResraPrebmuNenohP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
tluseResuaPerutpaCaideM.erutpaC.aideM.swodniW
tluseResuaPerutpaCaideMI.erutpaC.aideM.swodniW
tluseRetadpUegakcaPerotS.erotS.secivreS.swodniW
tluseRetadpUegakcaPerotSI.erotS.secivreS.swodniW
tluseRetadpUerawmriFpiGI.motsuC.tupnI.gnimaG.swodniW
tluseRetadpUerawmriFpiG.motsuC.tupnI.gnimaG.swodniW
tluseRetadpUnoitacifitoN.snoitacifitoN.IU.swodniW
tluseRetaerCeliFdetcetorP.ataDesirpretnE.ytiruceS.swodniW
tluseRetaerCeliFdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
tluseRetirWttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRetirWttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRgnidroceRppA.gnidroceRppA.aideM.swodniW
tluseRgnidroceRppAI.gnidroceRppA.aideM.swodniW
tluseRgniriaPeciveDI.noitaremunE.seciveD.swodniW
tluseRgniriaPeciveD.noitaremunE.seciveD.swodniW
tluseRgniriapnUeciveDI.noitaremunE.seciveD.swodniW
tluseRgniriapnUeciveD.noitaremunE.seciveD.swodniW
tluseRgnirtSteGpttHI.pttH.beW.swodniW
tluseRgnirtSteGpttH.pttH.beW.swodniW
tluseRgnitadpUnoitceleStxeTeroC.eroC.txeT.IU.swodniW
tluseRgnitadpUtamroFtxeTeroC.eroC.txeT.IU.swodniW
tluseRgnitadpUtxeTtxeTeroC.eroC.txeT.IU.swodniW
tluseRgolaiDnoitcA_SG.secivreSremaG.krowemarF.anX.tfosorciM
tluseRgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
TLUSERH.ataDresU.enohP.tfosorciM
tluseRhcnuaLppAlaiD.locotorPlaiD.aideM.swodniW
tluseRhctaMrebmuNenohP.gnittamroFrebmuNenohP.noitazilabolG.swodniW
tluseRhcteFesneciLDNI.ydaeRyalP.noitcetorP.aideM.swodniW
tluseRH.noitadnuoF.swodniW
tluseRhparGoiduAetaerCI.oiduA.aideM.swodniW
tluseRhparGoiduAetaerC.oiduA.aideM.swodniW
tluseRhtaProFofnItnetnoCteGredivorPegarotSI.redivorP.egarotS.swodniW
tluseRhtaProFofnItnetnoCteGredivorPegarotS.redivorP.egarotS.swodniW
tluseRhtgneLdrowssaPniMsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRirUhcnuaLI.metsyS.swodniW
tluseRirUhcnuaL.metsyS.swodniW
tluseRirUtnetnoCroFhtaPteGredivorPegarotSI.redivorP.egarotS.swodniW
tluseRirUtnetnoCroFhtaPteGredivorPegarotS.redivorP.egarotS.swodniW
tluseRkcoLemiTytivitcanIxaMsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRksaT.sksaT.enohP.tfosorciM
tluseRlaveirteRlaitnederCyeKI.slaitnederC.ytiruceS.swodniW
tluseRlaveirteRlaitnederCyeK.slaitnederC.ytiruceS.swodniW
tluseRliamE.sksaT.enohP.tfosorciM
tluseRmaertStupnIteGpttHI.pttH.beW.swodniW
tluseRmaertStupnIteGpttH.pttH.beW.swodniW
TLUSER_MC.noitamrofnIkrowteN.teN.enohP.tfosorciM
tluseRmetItellaWddAmrifnoC.tellaW.enohP.tfosorciM
tluseRmetItellaWddA.sksaT.enohP.tfosorciM
tluseRnacSrennacSegamII.srennacS.seciveD.swodniW
tluseRnacSrennacSegamI.srennacS.seciveD.swodniW
tluseRnIngiStsacdaorBppA.erutpaC.aideM.swodniW
tluseRnioJnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
tluseRnioJnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
tluseRnogoLecneinevnoCwollasiDsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRnoisuFthgiLwoL.eroC.aideM.swodniW
tluseRnoisuFthgiLwoLI.eroC.aideM.swodniW
tluseRnoitacifireVhseMD3gnitnirP.D3gnitnirP.scihparG.swodniW
tluseRnoitacifireVhseMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
tluseRnoitacifireVtnesnoCresU.IU.slaitnederC.ytiruceS.swodniW
tluseRnoitacifitoNtneilCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRnoitacifitoNtneilCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRnoitacitnehtuAbeW.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitacitnehtuAbeWI.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitacitnehtuArotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitacitnehtuArotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitacitnehtuAslaitnederCtopstoHI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitacitnehtuAslaitnederCtopstoH.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitadilaVegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
tluseRnoitadilaVegasseMtahC.tahC.ledoMnoitacilppA.swodniW
tluseRnoitadilaVerutangiS.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
tluseRnoitadilaVniahC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
tluseRnoitadilaVtekciTtnirPwolfkroWI.tekciTtnirP.gnitnirP.scihparG.swodniW
tluseRnoitadilaVtekciTtnirPwolfkroW.tekciTtnirP.gnitnirP.scihparG.swodniW
tluseRnoitaerCecruoSaideMevitpadA.evitpadA.gnimaertS.aideM.swodniW
tluseRnoitaerCecruoSaideMevitpadAI.evitpadA.gnimaertS.aideM.swodniW
tluseRnoitaerCnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
tluseRnoitaerCnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
tluseRnoitaerCriaPtniopdnEeviLxobX.eviLxobX.gnikrowteN.swodniW
tluseRnoitaerCriaPtniopdnEeviLxobXI.eviLxobX.gnikrowteN.swodniW
tluseRnoitagivaNsucoFecruoSlmaX.gnitsoH.lmaX.IU.swodniW
tluseRnoitagivaNsucoFecruoSlmaXI.gnitsoH.lmaX.IU.swodniW
tluseRnoitalipmoCnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tluseRnoitalipmoCnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tluseRnoitamrifnoCdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
tluseRnoitamrifnoCdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
tluseRnoitarepOetatSyalpsiD.eroC.yalpsiD.seciveD.swodniW
tluseRnoitarepOetatSyalpsiDI.eroC.yalpsiD.seciveD.swodniW
tluseRnoitarepOevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
tluseRnoitarepOevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
tluseRnoitarepOgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitarepOgnirehteTrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitarepOlaitnederCyeKI.slaitnederC.ytiruceS.swodniW
tluseRnoitarepOlaitnederCyeK.slaitnederC.ytiruceS.swodniW
tluseRnoitarepOmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitarepOmiSE.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitarepOniPdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitarepOniPdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tluseRnoitaripxEdrowssaPsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRnoitartsigeRdssnD.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
tluseRnoitartsigeRdssnDI.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
tluseRnoitartsigeRrotcaFnoitacitnehtuAyradnoceSI.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitartsigeRrotcaFnoitacitnehtuAyradnoceS.redivorP.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRnoitartsigeRyrtemeleTmroftalPI.yrtemeleT.scitsongaiD.metsyS.swodniW
tluseRnoitartsigeRyrtemeleTmroftalP.yrtemeleT.scitsongaiD.metsyS.swodniW
tluseRnoitarugifnoCspWiFiW.iFiW.seciveD.swodniW
tluseRnoitarugifnoCspWiFiWI.iFiW.seciveD.swodniW
tluseRnoitatsettAlaitnederCyeKI.slaitnederC.ytiruceS.swodniW
tluseRnoitatsettAlaitnederCyeK.slaitnederC.ytiruceS.swodniW
tluseRnoitaugibmasiDdnammoCecioVI.sdnammoCecioV.ledoMnoitacilppA.swodniW
tluseRnoitaugibmasiDdnammoCecioV.sdnammoCecioV.ledoMnoitacilppA.swodniW
tluseRnoitaulavEledoMgninraeL.gninraeLenihcaM.IA.swodniW
tluseRnoitaulavEledoMgninraeLI.gninraeLenihcaM.IA.swodniW
tluseRnoitaulavEyciloPnoitcetorP.ataDesirpretnE.ytiruceS.swodniW
tluseRnoitavitcAppAI.metsyS.swodniW
tluseRnoitavitcAppA.metsyS.swodniW
tluseRnoitcAcitsongaiDI.scitsongaiD.metsyS.swodniW
tluseRnoitcAcitsongaiD.scitsongaiD.metsyS.swodniW
tluseRnoitcafsitaSesneciLI.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
tluseRnoitcafsitaSesneciL.tnemeganaMesneciL.erotS.ledoMnoitacilppA.swodniW
tluseRnoitcennoCiFiW.iFiW.seciveD.swodniW
tluseRnoitcennoCiFiWI.iFiW.seciveD.swodniW
tluseRnoitcetorPteSpcdH.noitcetorP.aideM.swodniW
tluseRnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tluseRnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tluseRnoitingoceRknI.gniknI.tupnI.IU.swodniW
tluseRnoitingoceRknII.gniknI.tupnI.IU.swodniW
tluseRnoitpyrcnEeriuqeRsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRnoitucexEdednetxE.noitucexEdednetxE.ledoMnoitacilppA.swodniW
tluseRnoituloseRemaN.noitamrofnIkrowteN.teN.enohP.tfosorciM
tluseRnoituloseRtneipiceRliamEI.liamE.ledoMnoitacilppA.swodniW
tluseRnoituloseRtneipiceRliamE.liamE.ledoMnoitacilppA.swodniW
tluseRoNksaTetivnIemaG.sksaT.enohP.tfosorciM
tluseRotohP.sksaT.enohP.tfosorciM
tluseRpotSerutpaCaideM.erutpaC.aideM.swodniW
tluseRpotSerutpaCaideMI.erutpaC.aideM.swodniW
tluseRpotSppAlaiD.locotorPlaiD.aideM.swodniW
tluseRrcOI.rcO.aideM.swodniW
tluseRrcO.rcO.aideM.swodniW
tluseRrebmuNenohP.sksaT.enohP.tfosorciM
tluseRredivorPecivreSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRredivorPecivreSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRredloFetaerCxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
tluseRredloFetaerCxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
tluseRredniFetuoRpaMI.spaM.secivreS.swodniW
tluseRredniFetuoRpaM.spaM.secivreS.swodniW
tluseRredniFnoitacoLlacoL.hcraeSlacoL.spaM.secivreS.swodniW
tluseRredniFnoitacoLlacoLI.hcraeSlacoL.spaM.secivreS.swodniW
tluseRredniFnoitacoLpaMI.spaM.secivreS.swodniW
tluseRredniFnoitacoLpaM.spaM.secivreS.swodniW
tluseRreffuBteGpttHI.pttH.beW.swodniW
tluseRreffuBteGpttH.pttH.beW.swodniW
tluseRrefsnarTc2I.c2I.seciveD.swodniW
tluseRrefsnarTc2IredivorP.redivorP.c2I.seciveD.swodniW
tluseRreganaMyalpsiD.eroC.yalpsiD.seciveD.swodniW
tluseRreggirTeciveD.dnuorgkcaB.ledoMnoitacilppA.swodniW
tluseRreggirTgnissecorPaideM.dnuorgkcaB.ledoMnoitacilppA.swodniW
tluseRreggirTnoitacilppA.dnuorgkcaB.ledoMnoitacilppA.swodniW
tluseRreggirTredivorPecivreSttaG.dnuorgkcaB.ledoMnoitacilppA.swodniW
tluseRreggirTredivorPecivreSttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
tluseRrehcnuaLssecorPI.metsyS.swodniW
tluseRrehcnuaLssecorP.metsyS.swodniW
tluseRrevocsiDmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRrevocsiDmiSE.srotarepOkrowteN.gnikrowteN.swodniW
tluseRrotpircseDlacoLttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRrotpircseDlacoLttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRrotpircseDnoitarugifnoCcitsiretcarahCtneilCdaeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRrotpircseDnoitarugifnoCcitsiretcarahCtneilCdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRscitsiretcarahCegakcaPlairetaMmargotpyrCllAteGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
tluseRscitsiretcarahCegakcaPlairetaMmargotpyrCllAteGmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
tluseRscitsiretcarahClairetaMmargotpyrCllAteGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
tluseRscitsiretcarahClairetaMmargotpyrCllAteGmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
tluseRscitsiretcarahCttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRscitsiretcarahCttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRscitsiretcarahCyeKegarotSmargotpyrCllAteGmargotpyrCdraCtramSI.sdraCtramS.seciveD.swodniW
tluseRscitsiretcarahCyeKegarotSmargotpyrCllAteGmargotpyrCdraCtramS.sdraCtramS.seciveD.swodniW
tluseRsecivreSeciveDmmocfRI.mmocfR.htooteulB.seciveD.swodniW
tluseRsecivreSeciveDmmocfR.mmocfR.htooteulB.seciveD.swodniW
tluseRsecivreSeciveDttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRsecivreSeciveDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRsegakcaPecruoseRevomeRgolataCegakcaPI.ledoMnoitacilppA.swodniW
tluseRsegakcaPecruoseRevomeRgolataCegakcaP.ledoMnoitacilppA.swodniW
tluseRsegakcaPlanoitpOevomeRgolataCegakcaPI.ledoMnoitacilppA.swodniW
tluseRsegakcaPlanoitpOevomeRgolataCegakcaP.ledoMnoitacilppA.swodniW
tluseRsgnitteSylppArevieceRtsacariMI.tsacariM.aideM.swodniW
tluseRsgnitteSylppArevieceRtsacariM.tsacariM.aideM.swodniW
tluseRsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
tluseRsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
tluseRsliateDdroceRppAcciUdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRsliateDdroceRppAcciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tluseRsmetIdniFtropmIotohPI.tropmI.aideM.swodniW
tluseRsmetIdniFtropmIotohP.tropmI.aideM.swodniW
tluseRsmetIeroMdaoL.ataD.lmaX.IU.swodniW
tluseRsmetItropmItropmIotohPI.tropmI.aideM.swodniW
tluseRsmetItropmItropmIotohP.tropmI.aideM.swodniW
tluseRsmetIyrotsiHdraobpilCI.refsnarTataD.ledoMnoitacilppA.swodniW
tluseRsmetIyrotsiHdraobpilC.refsnarTataD.ledoMnoitacilppA.swodniW
tluseRsnoisseSteGrotcaFitluMtnuoccAtfosorciM.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRsnoisseSteGrotcaFitluMtnuoccAtfosorciMI.eroC.ytitnedI.noitacitnehtuA.ytiruceS.swodniW
tluseRsppAcciUdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tluseRsppAcciUdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tluseRsretcarahCxelpmoCdrowssaPniMsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRsrotpircseDttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRsrotpircseDttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tluseRsserddA.sksaT.enohP.tfosorciM
tluseRstnuoccAllAdniF.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRstnuoccAllAdniFI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRstpmettAdeliaFdrowssaPxaMsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRtamroFoiduAlaitapStluafeDteSI.oiduA.aideM.swodniW
tluseRtamroFoiduAlaitapStluafeDteS.oiduA.aideM.swodniW
tluseRtcatnoCddA.redivorP.stcatnoC.ledoMnoitacilppA.swodniW
tluseRtcatnoCevaS.sksaT.enohP.tfosorciM
tluseRtceffEdaoLkcabdeeFecroF.kcabdeeFecroF.tupnI.gnimaG.swodniW
tluseRtcetorpnUreffuBataDresUI.noitcetorPataD.ytiruceS.swodniW
tluseRtcetorpnUreffuBataDresU.noitcetorPataD.ytiruceS.swodniW
tluseRtcetorpnUtcetorPreffuB.ataDesirpretnE.ytiruceS.swodniW
tluseRtcetorpnUtcetorPreffuBI.ataDesirpretnE.ytiruceS.swodniW
tluseRtcilfnoCtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
tluseRtcilfnoCtnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
tluseRtcudorPerotS.erotS.secivreS.swodniW
tluseRtcudorPerotSI.erotS.secivreS.swodniW
tluseRteGbolBevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGbolBevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGofnIbolBevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGofnIbolBevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGofnIreniatnoCevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGofnIreniatnoCevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGredivorPevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
tluseRteGredivorPevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
tluseRtekciTmetsySdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tluseRtekciTmetsySdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tluseRtimbuStseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtimbuStseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtnemeltitnEteGI.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
tluseRtnemeltitnEteG.lortnoCllatsnI.weiverP.erotS.ledoMnoitacilppA.swodniW
tluseRtnemevoMsucoFI.tupnI.lmaX.IU.swodniW
tluseRtnemevoMsucoF.tupnI.lmaX.IU.swodniW
tluseRtnemllifluF.erotS.ledoMnoitacilppA.swodniW
tluseRtnemyaPekaMnaCtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtnemyaPekaMnaCtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtnemyolpeDI.tnemyolpeD.tnemeganaM.swodniW
tluseRtnemyolpeD.tnemyolpeD.tnemeganaM.swodniW
tluseRtneserPemarFcihpargoloH.cihpargoloH.scihparG.swodniW
tluseRtohsneercSevaSgnidroceRppA.gnidroceRppA.aideM.swodniW
tluseRtohsneercSevaSgnidroceRppAI.gnidroceRppA.aideM.swodniW
tluseRtpeccAnoitcasnarTtnemyaPI.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtpeccAnoitcasnarTtnemyaP.redivorP.stnemyaP.ledoMnoitacilppA.swodniW
tluseRtratSDNI.ydaeRyalP.noitcetorP.aideM.swodniW
tluseRtratSnoisseSrevieceRtsacariMI.tsacariM.aideM.swodniW
tluseRtratSnoisseSrevieceRtsacariM.tsacariM.aideM.swodniW
tluseRtropmIreniatnoCdetcetorP.ataDesirpretnE.ytiruceS.swodniW
tluseRtropmIreniatnoCdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
tluseRtropxEreniatnoCdetcetorP.ataDesirpretnE.ytiruceS.swodniW
tluseRtropxEreniatnoCdetcetorPI.ataDesirpretnE.ytiruceS.swodniW
tluseRtsaCggA.scitnameS.redniBemitnuR.prahSC.tfosorciM
tluseRtsaCtsnoC.scitnameS.redniBemitnuR.prahSC.tfosorciM
tluseRtseuqeRdneSerotS.erotS.secivreS.swodniW
tluseRtseuqeRdneSerotSI.erotS.secivreS.swodniW
tluseRtseuqeRerutaeFsseccAdetimiLI.ledoMnoitacilppA.swodniW
tluseRtseuqeRerutaeFsseccAdetimiL.ledoMnoitacilppA.swodniW
tluseRtseuqeRnekoTbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRtseuqeRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tluseRtseuqeRpttHI.pttH.beW.swodniW
tluseRtseuqeRpttH.pttH.beW.swodniW
tluseRtseuqeRrefsnarTdeniartsnocnUI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
tluseRtseuqeRrefsnarTdeniartsnocnU.refsnarTdnuorgkcaB.gnikrowteN.swodniW
tluseRweiveRdnAetaRerotS.erotS.secivreS.swodniW
tluseRweiveRdnAetaRerotSI.erotS.secivreS.swodniW
tluseRweiverPrennacSegamII.srennacS.seciveD.swodniW
tluseRweiverPrennacSegamI.srennacS.seciveD.swodniW
tluseRyreuQdegaPtcudorPerotS.erotS.secivreS.swodniW
tluseRyreuQdegaPtcudorPerotSI.erotS.secivreS.swodniW
tluseRyreuQegakcaPpaMenilffOI.spaMenilffO.spaM.secivreS.swodniW
tluseRyreuQegakcaPpaMenilffO.spaMenilffO.spaM.secivreS.swodniW
tluseRyreuQeliFegarotS.hcraeS.egarotS.swodniW
tluseRyreuQeliFegarotSI.hcraeS.egarotS.swodniW
tluseRyreuQmetIegarotS.hcraeS.egarotS.swodniW
tluseRyreuQmetIegarotSI.hcraeS.egarotS.swodniW
tluseRyreuQredloFegarotS.hcraeS.egarotS.swodniW
tluseRyreuQredloFegarotSI.hcraeS.egarotS.swodniW
tluseRyreuQsdItcatnoCdenniPI.stcatnoC.ledoMnoitacilppA.swodniW
tluseRyreuQsdItcatnoCdenniP.stcatnoC.ledoMnoitacilppA.swodniW
tluseRyreuQtcudorPerotS.erotS.secivreS.swodniW
tluseRyreuQtcudorPerotSI.erotS.secivreS.swodniW
tluseRyrotsiHdrowssaPsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
tluseRytilibaliavAetadpUegakcaPI.ledoMnoitacilppA.swodniW
tluseRytilibaliavAetadpUegakcaP.ledoMnoitacilppA.swodniW
tluseRytilibapaCnoitcetorP.noitcetorP.aideM.swodniW
tluseRytreporPeciveDteGrellortnoCeciveDoediVI.seciveD.aideM.swodniW
tluseRytreporPeciveDteGrellortnoCeciveDoediV.seciveD.aideM.swodniW
tluseRytreporPteGecruoSemarFaideMI.semarF.erutpaC.aideM.swodniW
tluseRytreporPteGecruoSemarFaideM.semarF.erutpaC.aideM.swodniW
tM5UxQ9K
tmpfile_tests.cpp
TMSAMVOF
TMTSRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tnapicitraPnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
tnapicitraPnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
tnapicitraPtnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
TNATSNOCRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tnegAdnuorgkcaB.enohP.tfosorciM
tnegAecivreSdnuorgkcaBtseT.enohP.tfosorciM
tnegAecivreS.srerutcafunaMeciveD.enohP.tfosorciM
tnegAemitefiLdnuorgeroFpioV.pioV.gnikrowteN.enohP.tfosorciM
tnegAgnimaertSoiduA.oiduAdnuorgkcaB.enohP.tfosorciM
tnegAgninoisivorPI.srotarepOkrowteN.gnikrowteN.swodniW
tnegAgninoisivorP.srotarepOkrowteN.gnikrowteN.swodniW
tnegAksaTdeludehcS.reludehcS.enohP.tfosorciM
tnegAreyalPoiduA.oiduAdnuorgkcaB.enohP.tfosorciM
tnegAssergorPnIllaCpioV.pioV.gnikrowteN.enohP.tfosorciM
tnegAtellaW.tellaW.enohP.tfosorciM
tnegAtnemeganaMnpVI.npV.gnikrowteN.swodniW
tnegAtnemeganaMnpV.npV.gnikrowteN.swodniW
tnegnaTevruC.krowemarF.anX.tfosorciM
tneidarGlaidaRhtiWrotisopmoCI.noitisopmoC.IU.swodniW
tneilCbuPmotA.buPmotA.beW.swodniW
tneilCbuPmotAI.buPmotA.beW.swodniW
tneilCdebircsbuSttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tneilCdebircsbuSttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tneilCDNI.ydaeRyalP.noitcetorP.aideM.swodniW
tneilCDN.ydaeRyalP.noitcetorP.aideM.swodniW
tneilCgnirehteTrotarepOkrowteNI.srotarepOkrowteN.gnikrowteN.swodniW
tneilCgnirehteTrotarepOkrowteN.srotarepOkrowteN.gnikrowteN.swodniW
tneilCnoitacidnySI.noitacidnyS.beW.swodniW
tneilCnoitacidnyS.noitacidnyS.beW.swodniW
tneilCpttHI.pttH.beW.swodniW
tneilCpttH.pttH.beW.swodniW
tneilCyrtemeleTmroftalP.yrtemeleT.scitsongaiD.metsyS.swodniW
tneipiceRliamEI.liamE.ledoMnoitacilppA.swodniW
tneipiceRliamE.liamE.ledoMnoitacilppA.swodniW
tneipiceRlortnoCbsU.bsU.seciveD.swodniW
tnemecalPdAevitaN.TRniW.derahS.gnisitrevdA.tfosorciM
tnemecalPdA.TRniW.derahS.gnisitrevdA.tfosorciM
tnemecalPenaPweiVtilpS.slortnoC.lmaX.IU.swodniW
tnemecalPgolaiDtnetnoC.slortnoC.lmaX.IU.swodniW
tnemecalPkciT.sevitimirP.slortnoC.lmaX.IU.swodniW
tnemecalPlausiVsucoFredaeHtoviP.slortnoC.lmaX.IU.swodniW
tnemecalPredaeHpuorG.sevitimirP.slortnoC.lmaX.IU.swodniW
tnemecalP.spupoP.IU.swodniW
tnemecalPtuoylFnottuBrablooTknI.slortnoC.lmaX.IU.swodniW
tnemecalPwodniWppAI.tnemeganaMwodniW.IU.swodniW
tnemecalPwodniWppA.tnemeganaMwodniW.IU.swodniW
tnemeganaMesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tnemeganaMesneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tnemelEaideMI.slortnoC.lmaX.IU.swodniW
tnemelEaideM.slortnoC.lmaX.IU.swodniW
tnemelEecruoSnocII.slortnoC.lmaX.IU.swodniW
tnemelEecruoSnocI.slortnoC.lmaX.IU.swodniW
tnemelEerutpaCI.slortnoC.lmaX.IU.swodniW
tnemelEerutpaC.slortnoC.lmaX.IU.swodniW
tnemelEIUI.lmaX.IU.swodniW
tnemelEIU.lmaX.IU.swodniW
tnemelEkrowemarFI.lmaX.IU.swodniW
tnemelEkrowemarF.lmaX.IU.swodniW
tnemelElausiVI.noitisopmoC.IU.swodniW
tnemelElmXI.moD.lmX.ataD.swodniW
tnemelElmX.moD.lmX.ataD.swodniW
tnemelEnocII.slortnoC.lmaX.IU.swodniW
tnemelEnocI.slortnoC.lmaX.IU.swodniW
tnemelEnoitamrofnItceriDiFiWI.tceriDiFiW.seciveD.swodniW
tnemelEnoitamrofnItceriDiFiW.tceriDiFiW.seciveD.swodniW
tnemelEnoitavitcAtidEelbaknirhSI.slortnoC.enohP.tfosorciM
tnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
tnemelEpaM.slortnoC.spaM.enohP.tfosorciM
tnemelEpaM.spaM.slortnoC.lmaX.IU.swodniW
tnemelEraBdnammoCI.slortnoC.lmaX.IU.swodniW
tnemelEreyalPaideMI.slortnoC.lmaX.IU.swodniW
tnemelEreyalPaideM.slortnoC.lmaX.IU.swodniW
tnemelEtpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
tnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
tnemelEtxeT.stnemucoD.lmaX.IU.swodniW
tnemelExetreV.scihparG.krowemarF.anX.tfosorciM
tnemeriuqeRppAdetroppusnU.eliforP.metsyS.swodniW
tnemeriuqeRppAdetroppusnUI.eliforP.metsyS.swodniW
tnemerusaeMecivreSfOytilauQeviLxobX.eviLxobX.gnikrowteN.swodniW
tnemerusaeMecivreSfOytilauQeviLxobXI.eviLxobX.gnikrowteN.swodniW
tnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
tnemesitrevdAELhtooteulB.tnemesitrevdA.htooteulB.seciveD.swodniW
tnemesitrevdAtceriDiFiWI.tceriDiFiW.seciveD.swodniW
tnemesitrevdAtceriDiFiW.tceriDiFiW.seciveD.swodniW
tnemesitrevdA.TRniW.derahS.gnisitrevdA.tfosorciM
tnemeveihcAnEVIL.beW.smroftalP.secivreSremaG
tnemeveihcA.secivreSremaG.krowemarF.anX.tfosorciM
tnemgarFtnemucoDlmXI.moD.lmX.ataD.swodniW
tnemgarFtnemucoDlmX.moD.lmX.ataD.swodniW
tnemgeScrA.aideM.lmaX.IU.swodniW
tnemgeScrAI.aideM.lmaX.IU.swodniW
tnemgeSdaoRecnadiuG.ecnadiuG.spaM.secivreS.swodniW
tnemgeSdaoRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
tnemgeSdroWelbatceleSI.txeT.ataD.swodniW
tnemgeSdroWelbatceleS.txeT.ataD.swodniW
tnemgeSdroWI.txeT.ataD.swodniW
tnemgeSdroW.txeT.ataD.swodniW
tnemgeSeniL.aideM.lmaX.IU.swodniW
tnemgeSeniLI.aideM.lmaX.IU.swodniW
tnemgeSeniLyloP.aideM.lmaX.IU.swodniW
tnemgeSeniLyloPI.aideM.lmaX.IU.swodniW
tnemgeSgniredneRekortSknI.gniknI.tupnI.IU.swodniW
tnemgeSgniredneRekortSknII.gniknI.tupnI.IU.swodniW
tnemgeShtaP.aideM.lmaX.IU.swodniW
tnemgeShtaPI.aideM.lmaX.IU.swodniW
tnemgeSnoitisopmoCtxeTeroC.eroC.txeT.IU.swodniW
tnemgeSnoitisopmoCtxeTeroCI.eroC.txeT.IU.swodniW
tnemgeSoediVtropmIotohPI.tropmI.aideM.swodniW
tnemgeSoediVtropmIotohP.tropmI.aideM.swodniW
tnemgeSreizeB.aideM.lmaX.IU.swodniW
tnemgeSreizeBcitardauQ.aideM.lmaX.IU.swodniW
tnemgeSreizeBcitardauQI.aideM.lmaX.IU.swodniW
tnemgeSreizeBcitardauQyloP.aideM.lmaX.IU.swodniW
tnemgeSreizeBcitardauQyloPI.aideM.lmaX.IU.swodniW
tnemgeSreizeBI.aideM.lmaX.IU.swodniW
tnemgeSreizeByloP.aideM.lmaX.IU.swodniW
tnemgeSreizeByloPI.aideM.lmaX.IU.swodniW
tnemgeStxeT.txeT.ataD.swodniW
tnemhcattAegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
tnemhcattAegasseMtahC.tahC.ledoMnoitacilppA.swodniW
tnemhcattAliamEI.liamE.ledoMnoitacilppA.swodniW
tnemhcattAliamE.liamE.ledoMnoitacilppA.swodniW
tnemhcattAsuBnyoJllAI.nyoJllA.seciveD.swodniW
tnemhcattAsuBnyoJllA.nyoJllA.seciveD.swodniW
tnemllifluFhtiWesneciLtcudorPI.erotS.ledoMnoitacilppA.swodniW
tnemmoClmXI.moD.lmX.ataD.swodniW
tnemmoClmX.moD.lmX.ataD.swodniW
tnemngilAbaT.txeT.IU.swodniW
tnemngilAeniLtxeTdemiT.eroC.aideM.swodniW
tnemngilAhpargaraP.txeT.IU.swodniW
tnemngilAlacitreV.lmaX.IU.swodniW
tnemngilAlacitreVyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
tnemngilAlaremuNtnoF.lmaX.IU.swodniW
tnemngilAlatnoziroH.lmaX.IU.swodniW
tnemngilAlatnoziroHyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
tnemngilAnigraMlacitpO.lmaX.IU.swodniW
tnemngilArekraM.txeT.IU.swodniW
tnemngilAretcarahClacitreV.txeT.IU.swodniW
tnemngilAretcarahClatnoziroH.txeT.IU.swodniW
tnemngilAretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
tnemngilAstnioPpanS.sevitimirP.slortnoC.lmaX.IU.swodniW
tnemngilAtnemecalPlenaPgnitirwdnaH.slortnoC.lmaX.IU.swodniW
tnemngilAtxeT.lmaX.IU.swodniW
tnemngilAweiVotnIllorcS.slortnoC.lmaX.IU.swodniW
tnemngilAwodniWetadidnaC.slortnoC.lmaX.IU.swodniW
tnemngilAyalpsiDtxeTdemiT.eroC.aideM.swodniW
tnemngissAecapsemaNnpVI.npV.gnikrowteN.swodniW
tnemngissAecapsemaNnpV.npV.gnikrowteN.swodniW
tnemngissAemaNniamoDnpVI.npV.gnikrowteN.swodniW
tnemngissAemaNniamoDnpV.npV.gnikrowteN.swodniW
tnemngissAetuoRnpVI.npV.gnikrowteN.swodniW
tnemngissAetuoRnpV.npV.gnikrowteN.swodniW
tnemngissAretliFciffarTnpVI.npV.gnikrowteN.swodniW
tnemngissAretliFciffarTnpV.npV.gnikrowteN.swodniW
TNEMNGISSARPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tnemnorivnEgniwodniWI.tnemeganaMwodniW.IU.swodniW
tnemnorivnEgniwodniW.tnemeganaMwodniW.IU.swodniW
tnemnorivnE.seciveD.tfosorciM
tnemtnioppA.ataDresU.enohP.tfosorciM
TNEMTNIOPPA.ataDresU.enohP.tfosorciM
tnemtnioppAI.stnemtnioppA.ledoMnoitacilppA.swodniW
tnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
tnemtsujdAtsartnoChgiHknI.gniknI.tupnI.IU.swodniW
tnemtsujdAtsartnoChgiHnoitacilppA.lmaX.IU.swodniW
tnemtsujdAtsartnoChgiHtnemelE.lmaX.IU.swodniW
tnemucoDecivreS.buPmotA.beW.swodniW
tnemucoDecivreSI.buPmotA.beW.swodniW
tnemucoDfdP.fdP.ataD.swodniW
tnemucoDfdPI.fdP.ataD.swodniW
tnemucoDlmXI.moD.lmX.ataD.swodniW
tnemucoDlmX.moD.lmX.ataD.swodniW
tnemucoDtnirP.gnitnirP.lmaX.IU.swodniW
tnemucoDtnirPI.gnitnirP.lmaX.IU.swodniW
tnemucoDtxeTI.txeT.IU.swodniW
tnemucoDtxeTtidEhciR.txeT.IU.swodniW
tnemugrAnoitavitcAdnuorgeroF.erutpaC.aideM.swodniW
tnemurtsnItnemyaPenilnO.tellaW.enohP.tfosorciM
tnemurtsnItnemyaP.tellaW.enohP.tfosorciM
tnenopmoCD3gnitnirP.D3gnitnirP.scihparG.swodniW
tnenopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
tnenopmoCemaGelbawarD.krowemarF.anX.tfosorciM
tnenopmoCemaGI.krowemarF.anX.tfosorciM
tnenopmoCemaG.krowemarF.anX.tfosorciM
tnenopmoCenecSI.senecS.noitisopmoC.IU.swodniW
tnenopmoCenecS.senecS.noitisopmoC.IU.swodniW
tnenopmoCetalpmeTataDI.pukraM.lmaX.IU.swodniW
tnenopmoCnoitaminAdetcennoC.noitaminA.aideM.lmaX.IU.swodniW
tnenopmoCreredneRenecSI.senecS.noitisopmoC.IU.swodniW
tnenopmoCreredneRenecS.senecS.noitisopmoC.IU.swodniW
tnenopmoCreredneRhseMenecSI.senecS.noitisopmoC.IU.swodniW
tnenopmoCreredneRhseMenecS.senecS.noitisopmoC.IU.swodniW
tnenopmoCsecivreSremaG.secivreSremaG.krowemarF.anX.tfosorciM
tnesnoCresUredaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
tnesnoCresUredaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
tnetnoCataDmroFtrapitluMpttHI.pttH.beW.swodniW
tnetnoCataDmroFtrapitluMpttH.pttH.beW.swodniW
tnetnoCdedocnElrUmroFpttH.pttH.beW.swodniW
tnetnoCdeeFlaicoSI.ofnIlaicoS.ledoMnoitacilppA.swodniW
tnetnoCdeeFlaicoS.ofnIlaicoS.ledoMnoitacilppA.swodniW
tnetnoCdetcetorPevitaN.poretnI.llehS.enohP.tfosorciM
tnetnoCecalptekraM.sksaT.enohP.tfosorciM
tnetnoCecruoSwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCecruoSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCelbaxednI.hcraeS.egarotS.swodniW
tnetnoCelbaxednII.hcraeS.egarotS.swodniW
tnetnoCeliFecruoSledoMtcejbOwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCeliFecruoSledoMtcejbOwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCgnirtSpttH.pttH.beW.swodniW
tnetnoCmaertSloopSwolfkroWtnirPI.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCmaertSloopSwolfkroWtnirP.wolfkroW.gnitnirP.scihparG.swodniW
tnetnoCmaertSpttH.pttH.beW.swodniW
tnetnoCnoitacidnySI.noitacidnyS.beW.swodniW
tnetnoCnoitacidnyS.noitacidnyS.beW.swodniW
tnetnoCnoitacifitoNevitpadAI.snoitacifitoN.IU.swodniW
tnetnoCpttHI.pttH.beW.swodniW
tnetnoCreffuBpttH.pttH.beW.swodniW
tnetnoCtnirP.IUbeW.IU.swodniW
tnetnoCtrapitluMpttHI.pttH.beW.swodniW
tnetnoCtrapitluMpttH.pttH.beW.swodniW
tnevEdetuoRI.lmaX.IU.swodniW
tnevEdetuoR.lmaX.IU.swodniW
tnevEerutpaC.seciveD.tfosorciM
tnevE.evitcaeR.enohP.tfosorciM
tnevEgniggoL.krowemarF.anX.tfosorciM
tnevErehctaWeciveDI.noitaremunE.seciveD.swodniW
tnevErehctaWeciveD.noitaremunE.seciveD.swodniW
tnevErevocsiDmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
tnevErevocsiDmiSE.srotarepOkrowteN.gnikrowteN.swodniW
TNEVERPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tnfD9"thH
tniartsnoCcipoTnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tniartsnoCcipoTnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tniartsnoCeliFrammarGnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tniartsnoCeliFrammarGnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tniartsnoCnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tniartsnoCnoitinifeDdnammoCecioVnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tniartsnoCnoitinifeDdnammoCecioVnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tniartsnoCtsiLnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
tniartsnoCtsiLnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
tniopdnEegnaRnrettaPtxeT.txeT.noitamotuA.lmaX.IU.swodniW
tniopdnEgnituoRoiduAenohP.sllaC.ledoMnoitacilppA.swodniW
tnioPhtiWetanidroocoeGI.noitacoloeG.seciveD.swodniW
tnioPknI.gniknI.tupnI.IU.swodniW
tnioPknII.gniknI.tupnI.IU.swodniW
tnioP.krowemarF.anX.tfosorciM
tnioP.noitadnuoF.swodniW
tniopoeGI.noitacoloeG.seciveD.swodniW
tniopoeG.noitacoloeG.seciveD.swodniW
tnioPretnioPI.tupnI.IU.swodniW
tnioPretnioP.tupnI.IU.swodniW
tnioPtupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
tnioPtxeTdemiT.eroC.aideM.swodniW
tniopyaWdecnahnEI.spaM.secivreS.swodniW
tniopyaWdecnahnE.spaM.secivreS.swodniW
tnoFegaugnaLI.stnoF.noitazilabolG.swodniW
tnoFegaugnaL.stnoF.noitazilabolG.swodniW
tnoFetirpS.scihparG.krowemarF.anX.tfosorciM
tnuoccA.ataDresU.enohP.tfosorciM
TNUOCCA.ataDresU.enohP.tfosorciM
tnuoccAataDresUI.stnuoccAataDresU.ledoMnoitacilppA.swodniW
tnuoccAataDresU.stnuoccAataDresU.ledoMnoitacilppA.swodniW
tnuoccAbeWI.slaitnederC.ytiruceS.swodniW
tnuoccAbeW.slaitnederC.ytiruceS.swodniW
tnuoccAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
tnuoccAdnabdaorBeliboM.srotarepOkrowteN.gnikrowteN.swodniW
tnuoccAecivreSdetcennoCtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
tnuoccAecivreSdetcennoCtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
tnuoCegnahCoipG.oipG.seciveD.swodniW
tnuoCesUnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
tnuoCtiBpotSlaireS.noitacinummoClaireS.seciveD.swodniW
tnuomAerusserPCG.atadateM.noitadnuoF.swodniW
tnuomAllorcS.noitamotuA.lmaX.IU.swodniW
tnuomAycnerruCI.noitazilabolG.swodniW
tnuomAycnerruC.noitazilabolG.swodniW
tnuomAycnerruCtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
tnuomAycnerruCtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
ToAcaConfBlob
ToAcaConfBlobList
ToAcaDetection
ToAcaSoundDesc
ToAcaSoundList
ToastLaunched
ToBase64String
toBeRemovedPids
ToBoolean
ToByteArray
ToCharArray
tof90tjH
tofD9"tiH
TOGB9EVO
ToIntPtr
TOKEN_ADJUST_PRIVILEGES
tokenizerinstance.hpp
TOKEN_PRIVILEGES
TOKEN_QUERY
ToleranceDiff
ToleranceMax
ToLowerInvariant
ToNotNullString
Too few parameters
Too few parameters 
too large number
Tooling Info
Too long hexadecimal number
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
TOOL_PURPOSE_MODIFYING_FEATURES_BIT
TOOL_PURPOSE_PROFILING_BIT
TOOL_PURPOSE_TRACING_BIT
TOOL_PURPOSE_VALIDATION_BIT
tools                                    List all supported tools
toolstart
toolstop
Too many arguments for tool start
too many files open
too_many_files_open
too many files open in system
too many globs
Too many indexes in file: recompile and increase SDB_MAX_INDEXES
too many length or distance symbols
too many links
Too many references
too many symbolic link levels
Too many users
tooRlmaXI.lmaX.IU.swodniW
tooRlmaX.lmaX.IU.swodniW
tooRsisylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
tooRsisylanAknI.sisylanA.gniknI.tupnI.IU.swodniW
tooRtnetnoCIUI.IU.swodniW
tooRtnetnoCIU.IU.swodniW
Too small
			top: -10px;
			top: 80px;
			top: 8px;
TopologyChange
TopologyChangeActivity
topologyChangeSource
TO;QJdvm
ToSingle
ToString
totalActions
TotalAttempted
totalBytes
totalCount
TotalEntriesFlushed
totalHits
TOTAL_NO_OF_CHIPSET_VALUESWW
TotalPluginScanned
TotalPluginsGetSpaceFailed
TotalPluginsPurgeFailed
TotalPluginsPurgeSucceed
TotalPurgedPlugins
TotalPurgeTime
TotalQualifiedPluginsToPurge
TotalScanFailed
TotalScanSize
TotalScanSucceeded
TotalScanTime
TotalScanZeroSizePlugin
TotalSelectedPlugins
totalSize
TotalSkippedPlugins
totalTime
TotalWWW
TotalZeroSizesPlugins
                                        to the time specified in ms.
ToUInt16
ToUInt32
ToUInt64
ToUnicodeEx
ToUniversalTime
ToUpperInvariant
to validate InputW
toviPI.slortnoC.lmaX.IU.swodniW
toviPnoitalupinaMI.tupnI.lmaX.IU.swodniW
toviPnoitalupinaM.tupnI.lmaX.IU.swodniW
toviP.slortnoC.enohP.tfosorciM
toviP.slortnoC.lmaX.IU.swodniW
ToWaveFormatEx
towlower
towupper
TpAllocWait
T_PAn?Tk
tPara actualizar la acci
tPara atualizar a a
 tPD8k2u3H
tPI9@@vJH
tpircStxeT.txeT.IU.swodniW
tpm2b-types.c
TPM2 manufacturer could not be read from FW.
TPM2 response size is larger than the provided buffer: future use of this TCTI will likely fail.
TpmApiCheckSecureNVIndex20
TpmApiCreateSecureNVIndex20
TpmApiCreateSrk20
TpmApiGetKeyPublicProperty20
TpmApiGetTpmVersion
TpmApiReadPublic20
TpmApiSeal20Ex
TpmApiUnsealEx
tpma-types.c
TpmCoreProvisioning.DLL
TPM Error
Tpm event signaled.
TpmGetCapLockoutInfo
TpmGetDictionaryAttackParameters
TpmHelper::getKeyTypesSupportedByFW
TpmHelper::GetVendor
TpmHelper::IsEkCertPresent
TpmHelper::IsEkCertRevoked
TPM initialization
TpmIsFIPS
TpmIsReadyInformation
tpml-types.c
TPM not initialized!
tpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
TPMProvisioningService
TPMProvisioningService: 
TPMProvisioningService::TPMProvisioning::Run
TPMProvisioningService::TPMProvisioning::RunPTTEKRecertification
tpms-types.c
tpmu-types.c
.tPolicy
TPPPPPPT
TpPrimRRToSet
tP;QHrKB
TpReleaseWait
TpSetWait
TP_V2_CBCancel
TP_V2_CBDequeue
TP_V2_CBEnqueue
TP_V2_PoolCreateClose
TP_V2_ThreadSet
TP_V2_TimerCancelled
TP_V2_TimerExpiration
TP_V2_TimerExpirationGroup
TP_V2_TimerSet
TP_V2_TimerSetNtTimer
TP_V2_WTNodeSwitch
TpWaitForWait
tqD80tlH
tQD8c:u0M
tQf9*vLE
tQfD9 tK
trace-ascii
TraceDeregisterExA
TraceDumpExA
TraceEvent
trace level  [level]              View or Set Global Trace Level
trace log close                   Close Trace Log File
TraceLoggingCorrelationVector::Increment failed
TraceLoggingInfo
traceLoggingMessage
TraceLoggingRegister failed
TraceMessage
TracePrintfA
TracePrintfExA
TraceRegisterExA
trace                             Show User Mode Trace Settings
    --trace-time
trace-time
trackingInfo
TrackMemory
TrackMouseEvent
TrackPopupMenu
TrackPopupMenuEx
TrackSystemEffectBehavior
 trafiqu
Trailing data after quoted form parameter
tranclnt.h
trandefs.h
Transacted
. Transaction allowed
TransactionCallerID
transactionclasses.h
transaction.cpp
transactionfactory.h
transaction.h
transactioninterface.h
Transaction limit is disabled
TransactionLimitParamValue
TransactionLimitParamVersion
TransactionLimitValue
Transaction limit value could not be updated in registry
Transaction limit value equals 
TransactionLimitVersion
Transaction limit version could not be updated in registry
Transaction limit version not supported: 
transaction_manager.cpp
transaction_manager.h
. Transaction not allowed
transactionscheduler.cpp
transactionscheduler.h
transactionschedulertests.cpp
transactiontests.cpp
Transfer aborted due to critical error in another transfer
Transfer based on a time condition
transfer closed with outstanding read data remaining
Transfer-Encoding
Transfer-Encoding:
Transfer-Encoding: chunked
Transfer local FILE to destination
Transferred a partial file
transformapp.cpp
transformFeedback
transformFeedbackDraw
transformFeedbackPreservesProvokingVertex
transformFeedbackPreservesTriangleFanProvokingVertex
transformFeedbackQueries
transformFeedbackRasterizationStreamSelect
transformFeedbackStreamsLinesTriangles
transformfile.hpp
transforms.cpp
transformserrors.h
transforms.h
transformsheaderwriter.cpp
transformsoptimizationwriter.cpp
transforms_reporter.hpp
(transient only)
TransitionLatency
TranslateAcceleratorW
TranslateCharsetInfo
TranslateMessage
TranslateMessageEx
TranslateNameW
transportapiwrapper.cpp
transportapiwrapper.h
transportcallback.cpp
transportcallback.h
transport.cpp
transporterrors.h
transportimpl.cpp
transportimpl.h
transportinterface.h
transportstub.cpp
transporttestinterface.h
traPhseMledoM.scihparG.krowemarF.anX.tfosorciM
TRAP_SSERDDA.ataDresU.enohP.tfosorciM
traPtnetnoCrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
traPtnetnoCrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
TRAP_YNAPMOC.ataDresU.enohP.tfosorciM
trayicon.h
traymenu.cpp
_treechange
treechange_RegistryTreeChanged
treeenumeratortests.cpp
treeenumeratortests.h
treemodel.cpp
treemodel.h
trelAmdMI.tnemeganaM.swodniW
trelAmdM.tnemeganaM.swodniW
    --tr-encoding
tr-encoding
T;requestTypeWd
trH9_0toL
tRI9_0uLD
triangleFans
tricklequeue.cpp
tricklequeue.h
trickle_tests.cpp
Triggered by CRE dispatching a SIUF
Triggered by UTC's WNF
triggeredByWNF
_triggerObject
Triggers
Trigger 'speed-limit' abort after this time
TrimLeadingZeros
TrimStart
trippoint
trippoints
TristateFalseWWW 
tropeRegasUksiDssecorPI.scitsongaiD.metsyS.swodniW
tropeRegasUksiDssecorP.scitsongaiD.metsyS.swodniW
tropeRegasUupCmetsySI.scitsongaiD.metsyS.swodniW
tropeRegasUupCmetsyS.scitsongaiD.metsyS.swodniW
tropeRegasUupCssecorPI.scitsongaiD.metsyS.swodniW
tropeRegasUupCssecorP.scitsongaiD.metsyS.swodniW
tropeRegasUyromeMmetsySI.scitsongaiD.metsyS.swodniW
tropeRegasUyromeMmetsyS.scitsongaiD.metsyS.swodniW
tropeRegasUyromeMssecorPI.scitsongaiD.metsyS.swodniW
tropeRegasUyromeMssecorP.scitsongaiD.metsyS.swodniW
tropeRegnahCetatSecnefoeG.gnicnefoeG.noitacoloeG.seciveD.swodniW
tropeRegnahCetatSecnefoeGI.gnicnefoeG.noitacoloeG.seciveD.swodniW
tropeRegnahCgnidaeRrosneSytivitcAI.srosneS.seciveD.swodniW
tropeRegnahCgnidaeRrosneSytivitcA.srosneS.seciveD.swodniW
tropeRerutaeFdiH.eciveDecafretnInamuH.seciveD.swodniW
tropeRerutaeFdiHI.eciveDecafretnInamuH.seciveD.swodniW
tropeRetatSpuorGecruoseRppAI.metsyS.swodniW
tropeRetatSpuorGecruoseRppA.metsyS.swodniW
tropeRkrowteNiFiW.iFiW.seciveD.swodniW
tropeRkrowteNiFiWI.iFiW.seciveD.swodniW
tropeRksaTdnuorgkcaBpuorGecruoseRppAI.metsyS.swodniW
tropeRksaTdnuorgkcaBpuorGecruoseRppA.metsyS.swodniW
tropeRnoitatneserPemarFcihpargoloH.cihpargoloH.scihparG.swodniW
tropeRnoitatneserPemarFcihpargoloHI.cihpargoloH.scihparG.swodniW
tropeRredaeRepirtScitengaM.ecivreSfOtnioP.seciveD.swodniW
tropeRredaeRepirtScitengaMI.ecivreSfOtnioP.seciveD.swodniW
tropeRrennacSedocraB.ecivreSfOtnioP.seciveD.swodniW
tropeRrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
tropeRtupnIdiH.eciveDecafretnInamuH.seciveD.swodniW
tropeRtupnIdiHI.eciveDecafretnInamuH.seciveD.swodniW
tropeRtuptuOdiH.eciveDecafretnInamuH.seciveD.swodniW
tropeRtuptuOdiHI.eciveDecafretnInamuH.seciveD.swodniW
tropeRyrettaBI.rewoP.seciveD.swodniW
tropeRyrettaB.rewoP.seciveD.swodniW
tropeRyromeMppAI.metsyS.swodniW
tropeRyromeMppA.metsyS.swodniW
tropeRyromeMpuorGecruoseRppAI.metsyS.swodniW
tropeRyromeMpuorGecruoseRppA.metsyS.swodniW
tropeRyromeMssecorPI.metsyS.swodniW
tropeRyromeMssecorP.metsyS.swodniW
troPnIidiM.idiM.seciveD.swodniW
troPnIidiMI.idiM.seciveD.swodniW
troppuSeciveDtegraTksaTtnirPI.gnitnirP.scihparG.swodniW
tropsnarTegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
tropsnarTegasseMtahC.tahC.ledoMnoitacilppA.swodniW
tropsnarTeniLenohP.sllaC.ledoMnoitacilppA.swodniW
tropsnarTnoitcennoCtropmIotohP.tropmI.aideM.swodniW
tropsnarTscRI.tahC.ledoMnoitacilppA.swodniW
tropsnarTscR.tahC.ledoMnoitacilppA.swodniW
troPtuOidiM.idiM.seciveD.swodniW
troPtuOidiMI.idiM.seciveD.swodniW
tropweiV.scihparG.krowemarF.anX.tfosorciM
Trpb-#Vc
TrueForAll
true literal
TrueWake
TRUNCATE
?TruncateBase@PATH@@QEAAEXZ
TrustedInstalllerNotFound
TrustedInstalllerNotFoundCmdSwitch
TryAcquireSRWLockExclusive
TryActivateContractExtension
TryDeleteFile
TryDeleteFolder
TryDeleteFolderAndEmptyParent
TryDeleteRegSubtree
TryDequeue
TryEnterCriticalSection
TryGetRegistryPreference
TryGetSupportedSound
TryGetValue
Trying to cancel IO...
Trying to receive rest of message.
Trying to receive SocketServerMessageHeader
TryLookupExtensionPointImplementationAcid
TryParse
TryParse failed
TryRemove
TrySelfCopy
TrySubmitThreadpoolCallback
TSACRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tsaoTllehS.llehS.enohP.tfosorciM
tSe ha denegado el permiso para abrir los siguientes documentos. Debido a que estos han sido manipulados por malware.
tseretnIfOnoigeRI.seciveD.aideM.swodniW
tseretnIfOnoigeR.seciveD.aideM.swodniW
tseTredniF.secivreS.spaM.enohP.tfosorciM
tseTtinU8VemiTefiLpaM.slortnoC.spaM.enohP.tfosorciM
tseuqeRataDeliFdemaertS.egarotS.swodniW
tseuqeRataDeliFdemaertSI.egarotS.swodniW
tseuqeRataDI.refsnarTataD.ledoMnoitacilppA.swodniW
tseuqeRataD.refsnarTataD.ledoMnoitacilppA.swodniW
tseuqeRBTRnepO.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
tseuqeRcnySreganaMcnySradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnySradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnyStsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnyStsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnyStsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnyStsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnySxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRcnySreganaMcnySxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRdaeRttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tseuqeRdaeRttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tseuqeRdesolCecruoSmaertSaideM.eroC.aideM.swodniW
tseuqeRdesolCecruoSmaertSaideMI.eroC.aideM.swodniW
tseuqeRecivreSevaeLniamoDydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSevaeLniamoDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnioJniamoDydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnioJniamoDydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitacoveRydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitacoveRydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitazilaudividnIydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitazilaudividnIydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitcetorPaideMI.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitisiuqcAesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSnoitisiuqcAesneciLydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSpotSeruceSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSpotSeruceSydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSppA.ecivreSppA.ledoMnoitacilppA.swodniW
tseuqeRecivreSppAI.ecivreSppA.ledoMnoitacilppA.swodniW
tseuqeRecivreStropeRgnireteMydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreStropeRgnireteMydaeRyalP.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecivreSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
tseuqeRecnerruccOpikStsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRecnerruccOpikStsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRecruoSoTyalPI.oTyalP.aideM.swodniW
tseuqeRecruoSoTyalP.oTyalP.aideM.swodniW
tseuqeRegasseMdaolnwoDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRegasseMdaolnwoDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRegnahCytreporPnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
tseuqeRegnahCytreporPnoitpecreP.redivorP.noitpecreP.seciveD.swodniW
tseuqeReliFtegraTI.redivorP.srekciP.egarotS.swodniW
tseuqeReliFtegraT.redivorP.srekciP.egarotS.swodniW
tseuqeRelpmaSecruoSmaertSaideM.eroC.aideM.swodniW
tseuqeRelpmaSecruoSmaertSaideMI.eroC.aideM.swodniW
tseuqeResnopseRgniteeMetadpUradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeResnopseRgniteeMetadpUradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeResnopseRgniteeMetadpUxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeResnopseRgniteeMetadpUxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRetadpUeliFI.redivorP.egarotS.swodniW
tseuqeRetadpUeliF.redivorP.egarotS.swodniW
tseuqeRetirWttaG.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tseuqeRetirWttaGI.eliforPetubirttAcireneG.htooteulB.seciveD.swodniW
tseuqeRevaSnoitarugifnoCksaTtnirPI.snoisnetxE.sretnirP.seciveD.swodniW
tseuqeRevaSnoitarugifnoCksaTtnirP.snoisnetxE.sretnirP.seciveD.swodniW
tseuqeRgniteeMdrawroFradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMdrawroFradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMdrawroFxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRgniteeMdrawroFxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRgniteeMlecnaCradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMlecnaCradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMroFemiTweNesoporPradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMroFemiTweNesoporPradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRgniteeMroFemiTweNesoporPxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRgniteeMroFemiTweNesoporPxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRgnitratSecruoSmaertSaideM.eroC.aideM.swodniW
tseuqeRgnitratSecruoSmaertSaideMI.eroC.aideM.swodniW
tseuqeRhctaBdaeRhcraeSrevreStsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRhctaBdaeRhcraeSrevreStsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRhctaBdaeRhcraeSrevreSxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRhctaBdaeRhcraeSrevreSxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRirUeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
tseuqeRirUeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
tseuqeRksaTD3tnirP.D3gnitnirP.scihparG.swodniW
tseuqeRksaTD3tnirPI.D3gnitnirP.scihparG.swodniW
tseuqeRksaTetadpUrOetaerCtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTetadpUrOetaerCtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTeteleDtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTeteleDtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTetelpmoCtsiLksaTataDresUI.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTetelpmoCtsiLksaTataDresU.redivorPataD.sksaTataDresU.ledoMnoitacilppA.swodniW
tseuqeRksaTtnirP.gnitnirP.scihparG.swodniW
tseuqeRksaTtnirPI.gnitnirP.scihparG.swodniW
tseuqeRnekoTbeW.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tseuqeRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
tseuqeRnekoTredivorPbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
tseuqeRnekoTredivorPbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
tseuqeRnioJnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
tseuqeRnioJnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
tseuqeRnoisreVteS.egarotS.swodniW
tseuqeRnoisreVteSI.egarotS.swodniW
tseuqeRnoisseSecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
tseuqeRnoisseSecivreStceriDiFiW.secivreS.tceriDiFiW.seciveD.swodniW
tseuqeRnoissimrePderrefeDlortnoCweiVbeWI.IU.beW.swodniW
tseuqeRnoissimrePderrefeDlortnoCweiVbeW.IU.beW.swodniW
tseuqeRnoissimrePderrefeDweiVbeWI.slortnoC.lmaX.IU.swodniW
tseuqeRnoissimrePderrefeDweiVbeW.slortnoC.lmaX.IU.swodniW
tseuqeRnoissimrePlortnoCweiVbeWI.IU.beW.swodniW
tseuqeRnoissimrePlortnoCweiVbeW.IU.beW.swodniW
tseuqeRnoissimrePweiVbeWI.slortnoC.lmaX.IU.swodniW
tseuqeRnoissimrePweiVbeW.slortnoC.lmaX.IU.swodniW
tseuqeRnoitagivaNsucoFecruoSlmaX.gnitsoH.lmaX.IU.swodniW
tseuqeRnoitagivaNsucoFecruoSlmaXI.gnitsoH.lmaX.IU.swodniW
tseuqeRnoitceleStxeTeroC.eroC.txeT.IU.swodniW
tseuqeRnoitceleStxeTeroCI.eroC.txeT.IU.swodniW
tseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
tseuqeRnoitcennoCmetsySetomeR.smetsySetomeR.metsyS.swodniW
tseuqeRnoitcennoCtceriDiFiWI.tceriDiFiW.seciveD.swodniW
tseuqeRnoitcennoCtceriDiFiW.tceriDiFiW.seciveD.swodniW
tseuqeRpamtiBeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
tseuqeRpamtiBeliTpaM.spaM.slortnoC.lmaX.IU.swodniW
tseuqeRredivorPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
tseuqeRredivorPataD.refsnarTataD.ledoMnoitacilppA.swodniW
tseuqeRredloFetaerCxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFetaerCxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFeteleDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFeteleDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFevoMxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFevoMxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFytpmExobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRredloFytpmExobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.enohP.tfosorciM
tseuqeRreggirTerawtfoSpotSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRreggirTerawtfoSpotSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRreggirTerawtfoStratSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRreggirTerawtfoStratSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRrennacSelbanErennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRrennacSelbanErennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRrennacSelbasiDrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRrennacSelbasiDrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRrepparWevitaN.rekorBdA.stseuqeR.sdA.gnisitrevdA.tfosorciM
tseuqeRsdnammoCenaPsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
tseuqeRsdnammoCenaPsgnitteS.sgnitteSnoitacilppA.IU.swodniW
tseuqeRseigolobmySevitcAteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRseigolobmySevitcAteSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRsetacifitreCetadilaVxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsetacifitreCetadilaVxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsetubirttAygolobmySteGrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRsetubirttAygolobmySteGrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRsetubirttAygolobmySteSrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRsetubirttAygolobmySteSrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRsgnitteSylpeRotuAteGxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsgnitteSylpeRotuAteGxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsgnitteSylpeRotuAteSxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsgnitteSylpeRotuAteSxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRsmaertShctiwSecruoSmaertSaideM.eroC.aideM.swodniW
tseuqeRsmaertShctiwSecruoSmaertSaideMI.eroC.aideM.swodniW
tseuqeRsnoitsegguSenaPhcraeS.hcraeS.ledoMnoitacilppA.swodniW
tseuqeRsnoitsegguSenaPhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
tseuqeRsnoitsegguShcraeS.hcraeS.ledoMnoitacilppA.swodniW
tseuqeRsnoitsegguShcraeSI.hcraeS.ledoMnoitacilppA.swodniW
tseuqeRstneipiceRevloseRxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRstneipiceRevloseRxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRstnemelElausiVI.neercStratS.IU.swodniW
tseuqeRstnemelElausiV.neercStratS.IU.swodniW
tseuqeRtcatnoCetadpUrOetaerCtsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRtcatnoCetadpUrOetaerCtsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRtcatnoCeteleDtsiLtcatnoCI.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRtcatnoCeteleDtsiLtcatnoC.redivorPataD.stcatnoC.ledoMnoitacilppA.swodniW
tseuqeRtekciTecivreSdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tseuqeRtekciTecivreSdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
tseuqeRteseRniPdraCtramSI.sdraCtramS.seciveD.swodniW
tseuqeRteseRniPdraCtramS.sdraCtramS.seciveD.swodniW
tseuqeRtnemhcattAdaolnwoDxobliaMliamEI.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRtnemhcattAdaolnwoDxobliaMliamE.redivorPataD.liamE.ledoMnoitacilppA.swodniW
tseuqeRtnemtnioppAetadpUrOetaerCradnelaCtnemtnioppAI.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRtnemtnioppAetadpUrOetaerCradnelaCtnemtnioppA.redivorPataD.stnemtnioppA.ledoMnoitacilppA.swodniW
tseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
tseuqeRtnemyaP.stnemyaP.ledoMnoitacilppA.swodniW
tseuqeRtuoyaLtxeTeroC.eroC.txeT.IU.swodniW
tseuqeRtuoyaLtxeTeroCI.eroC.txeT.IU.swodniW
tseuqeRtxeTtxeTeroC.eroC.txeT.IU.swodniW
tseuqeRtxeTtxeTeroCI.eroC.txeT.IU.swodniW
tseuqeRweiverPoediVediHrennacSedocraBI.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRweiverPoediVediHrennacSedocraB.redivorP.ecivreSfOtnioP.seciveD.swodniW
tseuqeRyalpsiDI.yalpsiD.metsyS.swodniW
tseuqeRyalpsiD.yalpsiD.metsyS.swodniW
tseuqeRytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
tseuqeRytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
tSf91tNH
tsH9YXuE
tsiLdesUyltneceRtsoMmetIegarotS.ehcaCsseccA.egarotS.swodniW
tsiLdesUyltneceRtsoMmetIegarotSI.ehcaCsseccA.egarotS.swodniW
tsiLecafretnIkrowteN.noitamrofnIkrowteN.teN.enohP.tfosorciM
tsiLedoNlmXI.moD.lmX.ataD.swodniW
tsiLedoNlmX.moD.lmX.ataD.swodniW
tsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
tsiLkcabyalPaideMI.kcabyalP.aideM.swodniW
tsiLkcabyalPaideM.kcabyalP.aideM.swodniW
tsiLkcarTaideMtceleSelgniSI.eroC.aideM.swodniW
tsiLkcarTatadateMdemiTkcabyalPaideMI.kcabyalP.aideM.swodniW
tsiLkcarTatadateMdemiTkcabyalPaideM.kcabyalP.aideM.swodniW
tsiLkcarToediVkcabyalPaideM.kcabyalP.aideM.swodniW
tsiLkcarToiduAkcabyalPaideM.kcabyalP.aideM.swodniW
tsiLksaTataDresUI.sksaTataDresU.ledoMnoitacilppA.swodniW
tsiLksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
tsiLmetItellaWevitaN.tellaW.enohP.tfosorciM
tsiLnoitatonnAtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
tsiLnoitatonnAtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
tsiLpmuJI.neercStratS.IU.swodniW
tsiLpmuJ.neercStratS.IU.swodniW
tsiLreffuBecruoSesM.eroC.aideM.swodniW
tsiLreffuBecruoSesMI.eroC.aideM.swodniW
tsiLreffuBtekcaPnpVI.npV.gnikrowteN.swodniW
tsiLreffuBtekcaPnpV.npV.gnikrowteN.swodniW
TSILRPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
tsiLsseccAmetIegarotS.ehcaCsseccA.egarotS.swodniW
tsiLsseccAmetIegarotSI.ehcaCsseccA.egarotS.swodniW
tsiLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
tsiLtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
tsiLweiVeerTI.slortnoC.lmaX.IU.swodniW
tsiLweiVeerT.slortnoC.lmaX.IU.swodniW
tsiLweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
tsiLweiVnoitagivaN.slortnoC.lmaX.IU.swodniW
tsilyalP.aideM.krowemarF.anX.tfosorciM
tsilyalPI.stsilyalP.aideM.swodniW
tsilyalP.stsilyalP.aideM.swodniW
tsilyalPtceffEyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
tsilyalPtceffEyarrApmaL.stceffE.sthgiL.seciveD.swodniW
tsitrA.aideM.krowemarF.anX.tfosorciM
tsize parsed from OACK
tSMART2DDISPLAYTECHNOLOGY_NOT_SUPPORTEDWW
tsnIhtiWhteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
tsnIhtiWporPhteM.scitnameS.redniBemitnuR.prahSC.tfosorciM
tsoCkroWdnuorgkcaB.dnuorgkcaB.ledoMnoitacilppA.swodniW
tsoCnoitcennoCI.ytivitcennoC.gnikrowteN.swodniW
tsoCnoitcennoC.ytivitcennoC.gnikrowteN.swodniW
tsoHeliTekaF.slortnoC.spaM.enohP.tfosorciM
tsoHemaGeliboM.krowemarF.anX.tfosorciM
tsoHemaG.krowemarF.anX.tfosorciM
tsoHnoitacilppAkcoLI.neercSkcoL.ledoMnoitacilppA.swodniW
tsoHnoitacilppAkcoL.neercSkcoL.ledoMnoitacilppA.swodniW
tsoHnoitacilppA.poretnI.ledoMksaT.enohP.tfosorciM
tsoHreldnaHirUppAI.metsyS.swodniW
tsoHreldnaHirUppA.metsyS.swodniW
tsoHretneserPIUlmaXI.gnitsoH.lmaX.IU.swodniW
tsoHretneserPknIeroC.eroC.gniknI.tupnI.IU.swodniW
tsoHretneserPknIeroCI.eroC.gniknI.tupnI.IU.swodniW
tsopngiSdaoRecnadiuG.ecnadiuG.spaM.secivreS.swodniW
tsopngiSdaoRecnadiuGI.ecnadiuG.spaM.secivreS.swodniW
TSS2 error: 
TSS2 initialization of SysContext failed
TSS2_LOG
Tss2_MU_BYTE_Marshal
Tss2_MU_TPM2B_CREATION_DATA_Unmarshal
Tss2_MU_TPM2B_DATA_Marshal
Tss2_MU_TPM2B_DATA_Unmarshal
Tss2_MU_TPM2B_DIGEST_Marshal
Tss2_MU_TPM2B_DIGEST_Unmarshal
Tss2_MU_TPM2B_ECC_PARAMETER_Marshal
Tss2_MU_TPM2B_ECC_PARAMETER_Unmarshal
Tss2_MU_TPM2B_MAX_NV_BUFFER_Unmarshal
Tss2_MU_TPM2B_NAME_Unmarshal
Tss2_MU_TPM2B_NV_PUBLIC_Unmarshal
Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Marshal
Tss2_MU_TPM2B_PUBLIC_KEY_RSA_Unmarshal
Tss2_MU_TPM2B_PUBLIC_Marshal
Tss2_MU_TPM2B_PUBLIC_Unmarshal
Tss2_MU_TPM2B_SENSITIVE_CREATE_Marshal
Tss2_MU_TPM2B_SENSITIVE_DATA_Marshal
Tss2_MU_TPM2_CC_Unmarshal
Tss2_MU_TPM2_ST_Marshal
Tss2_MU_TPM2_ST_Unmarshal
Tss2_MU_TPMA_ALGORITHM_Unmarshal
Tss2_MU_TPMA_CC_Unmarshal
Tss2_MU_TPMA_LOCALITY_Unmarshal
Tss2_MU_TPMA_NV_Unmarshal
Tss2_MU_TPMA_OBJECT_Marshal
Tss2_MU_TPMA_OBJECT_Unmarshal
Tss2_MU_TPMA_SESSION_Marshal
Tss2_MU_TPMA_SESSION_Unmarshal
Tss2_MU_TPMI_ALG_HASH_Marshal
Tss2_MU_TPMI_ALG_HASH_Unmarshal
Tss2_MU_TPML_ALG_PROPERTY_Unmarshal
Tss2_MU_TPML_CCA_Unmarshal
Tss2_MU_TPML_CC_Unmarshal
Tss2_MU_TPML_ECC_CURVE_Unmarshal
Tss2_MU_TPML_HANDLE_Unmarshal
Tss2_MU_TPML_INTEL_PTT_PROPERTY_Unmarshal
Tss2_MU_TPML_PCR_SELECTION_Marshal
Tss2_MU_TPML_PCR_SELECTION_Unmarshal
Tss2_MU_TPML_TAGGED_PCR_PROPERTY_Unmarshal
Tss2_MU_TPML_TAGGED_TPM_PROPERTY_Unmarshal
Tss2_MU_TPMS_AUTH_COMMAND_Marshal
Tss2_MU_TPMS_ECC_PARMS_Marshal
Tss2_MU_TPMS_ECC_POINT_Marshal
Tss2_MU_TPMS_KEYEDHASH_PARMS_Marshal
Tss2_MU_TPMS_PCR_SELECTION_Marshal
Tss2_MU_TPMS_PCR_SELECTION_Unmarshal
Tss2_MU_TPMS_RSA_PARMS_Marshal
Tss2_MU_TPMS_SCHEME_ECDAA_Marshal
Tss2_MU_TPMS_SCHEME_HASH_Marshal
Tss2_MU_TPMS_SCHEME_XOR_Marshal
Tss2_MU_TPMS_SENSITIVE_CREATE_Marshal
Tss2_MU_TPMS_SYMCIPHER_PARMS_Marshal
Tss2_MU_TPMS_TAGGED_PCR_SELECT_Unmarshal
Tss2_MU_TPMU_ASYM_SCHEME_Marshal
Tss2_MU_TPMU_KDF_SCHEME_Marshal
Tss2_MU_TPMU_PUBLIC_ID_Marshal
Tss2_MU_TPMU_PUBLIC_PARMS_Marshal
Tss2_MU_TPMU_SCHEME_KEYEDHASH_Marshal
Tss2_MU_TPMU_SYM_KEY_BITS_Marshal
Tss2_MU_TPMU_SYM_MODE_Marshal
Tss2_MU_UINT16_Marshal
Tss2_MU_UINT16_Unmarshal
Tss2_MU_UINT32_Marshal
Tss2_MU_UINT32_Unmarshal
Tss2_MU_UINT8_Marshal
Tss2_MU_UINT8_Unmarshal
Tss2_Sys_CreatePrimary returned with status: 
Tss2_Sys_ExecuteFinish
Tss2_Sys_GetCapability() failed. Error: 
Tss2_Sys_Initialize
Tss2_Tcti_Tbs_Init
tTD8(tOH
tTf99tOH
ttfD9 tnH
|||tttYYYYYT
tuctrohStupnIdetcejnI.noitcejnI.weiverP.tupnI.IU.swodniW
TUDIntelAudioService.DataTypes.OedNotificationTypes.OedNotificationType
TuneList
tuning-cp
tuning_date
TuningFileName
tuning_version
tuning-vlldp
TunnelFile
tuoemiT.slortnoC.spaM.enohP.tfosorciM
tuonacSyalpsiD.eroC.yalpsiD.seciveD.swodniW
tuonacSyalpsiDI.eroC.yalpsiD.seciveD.swodniW
tuoyaLlexiPrCbCY.seciveD.tfosorciM
tuoylFhtiWnottuBI.slortnoC.lmaX.IU.swodniW
tuoylFhtiWscitatSnottuBI.slortnoC.lmaX.IU.swodniW
tuoylFI.slortnoC.lmaX.IU.swodniW
tuoylFmetIraBuneMI.slortnoC.lmaX.IU.swodniW
tuoylFmetIraBuneM.slortnoC.lmaX.IU.swodniW
tuoylFraBdnammoCI.slortnoC.lmaX.IU.swodniW
tuoylFraBdnammoC.slortnoC.lmaX.IU.swodniW
tuoylFraBdnammoCtxeTI.slortnoC.lmaX.IU.swodniW
tuoylFraBdnammoCtxeT.slortnoC.lmaX.IU.swodniW
tuoylFrekciPemiTI.slortnoC.lmaX.IU.swodniW
tuoylFrekciPemiT.slortnoC.lmaX.IU.swodniW
tuoylFrekciPetaDI.slortnoC.lmaX.IU.swodniW
tuoylFrekciPetaD.slortnoC.lmaX.IU.swodniW
tuoylFrekciPI.slortnoC.lmaX.IU.swodniW
tuoylFrekciP.slortnoC.lmaX.IU.swodniW
tuoylFrekciPtsiLI.slortnoC.lmaX.IU.swodniW
tuoylFrekciPtsiL.slortnoC.lmaX.IU.swodniW
tuoylFsgnitteSI.slortnoC.lmaX.IU.swodniW
tuoylFsgnitteS.slortnoC.lmaX.IU.swodniW
tuoylF.slortnoC.lmaX.IU.swodniW
tuoylFuneMI.slortnoC.lmaX.IU.swodniW
tuoylFuneM.slortnoC.lmaX.IU.swodniW
tuoylFwodniWeroC.eroC.IU.swodniW
tuoylFwodniWeroCI.eroC.IU.swodniW
Tuple pointer is NULL
tupnIdessecorpnUknI.gniknI.tupnI.IU.swodniW
tupnIdessecorpnUknII.gniknI.tupnI.IU.swodniW
tupnIekortSknI.gniknI.tupnI.IU.swodniW
tupnIekortSknII.gniknI.tupnI.IU.swodniW
tupnIlairetaMecafruSenecSI.senecS.noitisopmoC.IU.swodniW
tupnIlairetaMecafruSenecS.senecS.noitisopmoC.IU.swodniW
tupnIlairetaMenecSI.senecS.noitisopmoC.IU.swodniW
tupnIlairetaMenecS.senecS.noitisopmoC.IU.swodniW
tupnInaelooBtpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
tupnInaelooBtpmorPmotsuCnpV.npV.gnikrowteN.swodniW
tupnItxeTtpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
tupnItxeTtpmorPmotsuCnpV.npV.gnikrowteN.swodniW
tuptuOegnaRcimanyDhgiH.eroC.aideM.swodniW
tuptuOegnaRcimanyDhgiHI.eroC.aideM.swodniW
tVf91tQH
tVfD93tPH
TW-841492240
twfD9 tqH
twfE90tq3
TWINAPI.dll
TWriteReadWWW
twucii	g
tXD8mwtRD8mot@E
txeTdnuorgeroF.neercStratS.IU.swodniW
txeTlmXI.moD.lmX.ataD.swodniW
txeTlmX.moD.lmX.ataD.swodniW
txetnoCdekcehC.scitnameS.redniBemitnuR.prahSC.tfosorciM
txetnoCdetcejorP.TRniW.derahS.gnisitrevdA.tfosorciM
txetnoCecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
txetnoCecruoseRI.eroC.secruoseR.ledoMnoitacilppA.swodniW
txetnoCegnellahCdraCtramSI.sdraCtramS.seciveD.swodniW
txetnoCegnellahCdraCtramS.sdraCtramS.seciveD.swodniW
txetnoCemarFoediVetisopmoCI.stceffE.aideM.swodniW
txetnoCemarFoediVetisopmoC.stceffE.aideM.swodniW
txetnoCemarFoediVssecorPI.stceffE.aideM.swodniW
txetnoCemarFoediVssecorP.stceffE.aideM.swodniW
txetnoCemarFoiduAssecorPI.stceffE.aideM.swodniW
txetnoCemarFoiduAssecorP.stceffE.aideM.swodniW
txetnoCerotS.erotS.secivreS.swodniW
txetnoCerotSI.erotS.secivreS.swodniW
txetnoCgnidniB.scitnameS.redniBemitnuR.prahSC.tfosorciM
txetnoCgnirahSataDenohP.ataDresU.enohP.tfosorciM
txetnoChtiWweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
txetnoChtiWwodniWeroCI.eroC.IU.swodniW
txetnoCIUI.IU.swodniW
txetnoCIU.IU.swodniW
txetnoCkrowteNdaerhT.ataDesirpretnE.ytiruceS.swodniW
txetnoCkrowteNdaerhTI.ataDesirpretnE.ytiruceS.swodniW
txetnoClobmySlabolG.scitnameS.redniBemitnuR.prahSC.tfosorciM
txetnoCnoisnetxEtnirP.snoisnetxE.sretnirP.seciveD.swodniW
txetnoCnoitacilppAspaM.spaM.enohP.tfosorciM
txetnoCnoitacitnehtuAtopstoHI.srotarepOkrowteN.gnikrowteN.swodniW
txetnoCnoitacitnehtuAtopstoH.srotarepOkrowteN.gnikrowteN.swodniW
txetnoCnoitagivaN.noitagivaN.swodniW.metsyS
txetnoCnpAralulleCI.ytivitcennoC.gnikrowteN.swodniW
txetnoCnpAralulleC.ytivitcennoC.gnikrowteN.swodniW
txetnoCporetnIecivreSataDmooP.ataDresU.enohP.tfosorciM
txetnoCporetnII.ataDresU.enohP.tfosorciM
txetnoCrefsnarTweiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
txetnoCrefsnarTweiVnoitacilppA.tnemeganaMweiV.IU.swodniW
txetnoCrehsilbuPdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
txetnoCtidEtxeTeroC.eroC.txeT.IU.swodniW
txetnoCtidEtxeTeroCI.eroC.txeT.IU.swodniW
txetnoCtsbuS.scitnameS.redniBemitnuR.prahSC.tfosorciM
txetnoCtuptuO.scitnameS.redniBemitnuR.prahSC.tfosorciM
txetnoCytivitcAtekcoSI.stekcoS.gnikrowteN.swodniW
txetnoCytivitcAtekcoS.stekcoS.gnikrowteN.swodniW
txeTnoitacidnySI.noitacidnyS.beW.swodniW
txeTnoitacidnyS.noitacidnyS.beW.swodniW
txeTnoitacifitoNevitpadAI.snoitacifitoN.IU.swodniW
txeTnoitacifitoNevitpadA.snoitacifitoN.IU.swodniW
txeTtpmorPmotsuCnpVI.npV.gnikrowteN.swodniW
txeTtpmorPmotsuCnpV.npV.gnikrowteN.swodniW
TxtErrorCode
txtMessage
txtPackageComplete
txtPackageLoadingMessage
txtPackageName
txtPercentComplete
txtPercentSign
TxtRegistersValid
TxtStatus
TxtSupported
txtWaitingMessage
tYfD9"tSfD9dj
tyfD9 tsH
ty;M4utE
Type array size overflowed
TypeConverterAttribute
typedef  
typedef BCryptBufferDesc NCryptBufferDesc;
typedef BCryptBufferDesc* PNCryptBufferDesc;
typedef BCryptBuffer     NCryptBuffer;
typedef BCryptBuffer*    PNCryptBuffer;
typedef BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_AUTH_TAG_LENGTHS_STRUCT;
typedef BOOL (__stdcall *PCRYPT_DECRYPT_PRIVATE_KEY_FUNC)(
typedef BOOL (__stdcall *PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC)(
typedef BOOL (__stdcall *PCRYPT_RESOLVE_HCRYPTPROV_FUNC)(
typedef BOOL (__stdcall *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC) (
typedef BOOL (__stdcall *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK)(
typedef BOOL (__stdcall *PFN_CERT_CREATE_CONTEXT_SORT_FUNC)(
typedef BOOL (__stdcall *PFN_CERT_DLL_OPEN_STORE_PROV_FUNC)(
typedef BOOL (__stdcall *PFN_CERT_ENUM_PHYSICAL_STORE)(
typedef BOOL (__stdcall *PFN_CERT_ENUM_SYSTEM_STORE)(
typedef BOOL (__stdcall *PFN_CERT_ENUM_SYSTEM_STORE_LOCATION)(
typedef  BOOL (__stdcall *PFN_CERT_IS_WEAK_HASH)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_CONTROL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CERT)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CRL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_DELETE_CTL)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CERT)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CRL)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_FIND_CTL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CERT)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CRL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_FREE_FIND_CTL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CERT_PROPERTY)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CRL_PROPERTY)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_GET_CTL_PROPERTY)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CERT)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CRL)(
typedef   BOOL (__stdcall *PFN_CERT_STORE_PROV_READ_CTL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CERT_PROPERTY)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CRL_PROPERTY)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_SET_CTL_PROPERTY)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CERT)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CRL)(
typedef BOOL (__stdcall *PFN_CERT_STORE_PROV_WRITE_CTL)(
typedef BOOL (__stdcall *PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY) (
typedef BOOL (__stdcall *PFN_CMSG_CNG_IMPORT_KEY_AGREE) (
typedef BOOL (__stdcall *PFN_CMSG_CNG_IMPORT_KEY_TRANS) (
typedef BOOL (__stdcall *PFN_CMSG_EXPORT_ENCRYPT_KEY) (
typedef BOOL (__stdcall *PFN_CMSG_EXPORT_KEY_AGREE) (
typedef BOOL (__stdcall *PFN_CMSG_EXPORT_KEY_TRANS) (
typedef BOOL (__stdcall *PFN_CMSG_EXPORT_MAIL_LIST) (
typedef BOOL (__stdcall *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY) (
typedef   BOOL (__stdcall *PFN_CMSG_GEN_ENCRYPT_KEY) (
typedef BOOL (__stdcall *PFN_CMSG_IMPORT_ENCRYPT_KEY) (
typedef BOOL (__stdcall *PFN_CMSG_IMPORT_KEY_AGREE) (
typedef BOOL (__stdcall *PFN_CMSG_IMPORT_KEY_TRANS) (
typedef BOOL (__stdcall *PFN_CMSG_IMPORT_MAIL_LIST) (
typedef BOOL (__stdcall *PFN_CMSG_STREAM_OUTPUT)(
typedef BOOL (__stdcall *PFN_CRYPT_CANCEL_RETRIEVAL)(
typedef BOOL (__stdcall *PFN_CRYPT_ENUM_KEYID_PROP)(
typedef BOOL (__stdcall *PFN_CRYPT_ENUM_OID_FUNC)(
typedef BOOL (__stdcall *PFN_CRYPT_ENUM_OID_INFO)(
typedef BOOL (__stdcall *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC) (
typedef BOOL (__stdcall *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC) (
typedef BOOL (__stdcall *PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC)(
typedef BOOL (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH)(
typedef BOOL (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET)(
typedef BOOL (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE)(
typedef BOOL (__stdcall *PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC)(
typedef BOOL (__stdcall *PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC)(
typedef BOOL (__stdcall *PFN_EXPORT_PRIV_KEY_FUNC) (
typedef BOOL (__stdcall *PFN_IMPORT_PRIV_KEY_FUNC) (
typedef BOOL (__stdcall *PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC) (
typedef const BYTE *PCBYTE;
typedef const CERT_CHAIN_CONTEXT *PCCERT_CHAIN_CONTEXT;
typedef const CERT_CHAIN_ELEMENT* PCCERT_CHAIN_ELEMENT;
typedef const CERT_CONTEXT *PCCERT_CONTEXT;
typedef const CERT_CRL_CONTEXT_PAIR *PCCERT_CRL_CONTEXT_PAIR;
typedef const CERT_ENHKEY_USAGE* PCCERT_ENHKEY_USAGE;
typedef const CERT_EXTENSION* PCCERT_EXTENSION;
typedef const CERT_SELECT_CHAIN_PARA*    PCCERT_SELECT_CHAIN_PARA;
typedef const CERT_SELECT_CRITERIA*     PCCERT_SELECT_CRITERIA;
typedef const CERT_SERVER_OCSP_RESPONSE_CONTEXT
typedef const CERT_SIMPLE_CHAIN* PCCERT_SIMPLE_CHAIN;
typedef const CERT_STRONG_SIGN_PARA *PCCERT_STRONG_SIGN_PARA;
typedef const CRL_CONTEXT *PCCRL_CONTEXT;
typedef const CTL_CONTEXT *PCCTL_CONTEXT;
typedef const CTL_USAGE* PCCTL_USAGE;
typedef const FVE_AUTH_DPAPI_NG *PCFVE_AUTH_DPAPI_NG;
typedef const FVE_AUTH_ELEMENT *PCFVE_AUTH_ELEMENT;
typedef const FVE_AUTH_EXTERNAL_KEY * PCFVE_AUTH_EXTERNAL_KEY;
typedef const FVE_AUTH_INFO_PUBLIC_KEY * PCFVE_AUTH_INFO_PUBLIC_KEY;
typedef const FVE_AUTH_INFORMATION *PCFVE_AUTH_INFORMATION;
typedef const FVE_AUTH_PASSPHRASE * PCFVE_AUTH_PASSPHRASE;
typedef const FVE_AUTH_PIN * PCFVE_AUTH_PIN;
typedef const FVE_AUTH_PREDICTED_TPM_INFO * PCFVE_AUTH_PREDICTED_TPM_INFO;
typedef const FVE_AUTH_PRIVATE_KEY * PCFVE_AUTH_PRIVATE_KEY;
typedef const FVE_AUTH_PUBLIC_KEY * PCFVE_AUTH_PUBLIC_KEY;
typedef const FVE_AUTH_RECOVERY_PASSWORD * PCFVE_AUTH_RECOVERY_PASSWORD;
typedef const FVE_AUTH_TPM * PCFVE_AUTH_TPM;
typedef const FVE_DE_SUPPORT * PCFVE_DE_SUPPORT;
typedef const FVE_STATUS_V1 * PCFVE_STATUS_V1;
typedef const FVE_STATUS_V2 * PCFVE_STATUS_V2;
typedef const FVE_STATUS_V3 * PCFVE_STATUS_V3;
typedef const FVE_STATUS_V4 * PCFVE_STATUS_V4;
typedef const FVE_STATUS_V5 * PCFVE_STATUS_V5;
typedef const FVE_STATUS_V6 * PCFVE_STATUS_V6;
typedef const FVE_STATUS_V7 * PCFVE_STATUS_V7;
typedef const FVE_STATUS_V8 * PCFVE_STATUS_V8;
typedef const FVE_TPM_CAPS * PCFVE_TPM_CAPS;
typedef const FVE_TPM_CAPS_TPM_PRESENCE * PCFVE_TPM_CAPS_TPM_PRESENCE;
typedef CRYPT_ATTRIBUTES CMSG_ATTR;
typedef CRYPT_ATTRIBUTES *PCMSG_ATTR;
typedef CRYPT_PASSWORD_CREDENTIALSA CRYPT_PASSWORD_CREDENTIALS;
typedef enum
typedef enum CertKeyType 
typedef HANDLE HCERTCHAINENGINE;
typedef HRESULT (__stdcall *PFVE_TPM_API_CALLBACK)(
typedef   long HRESULT;
typedef   LONG NTSTATUS;
typedef LONG SECURITY_STATUS;
typedef LPVOID (__stdcall *PFN_CRYPT_ALLOC)(
typedef LPVOID (__stdcall *PFN_NCRYPT_ALLOC)(
typedef NTSTATUS *PNTSTATUS;
typedef PCCERT_CONTEXT (__stdcall *PFN_CRYPT_GET_SIGNER_CERTIFICATE)(
typedef PCRYPT_PASSWORD_CREDENTIALSA PCRYPT_PASSWORD_CREDENTIALS;
typedef PVOID BCRYPT_ALG_HANDLE;
typedef PVOID BCRYPT_HANDLE;
typedef PVOID BCRYPT_HASH_HANDLE;
typedef PVOID BCRYPT_KEY_HANDLE;
typedef PVOID BCRYPT_SECRET_HANDLE;
typedef struct _BCRYPT_ALGORITHM_IDENTIFIER
typedef struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
typedef struct _BCRYPT_DH_KEY_BLOB
typedef   struct _BCRYPT_DH_PARAMETER_HEADER
typedef struct _BCRYPT_DSA_KEY_BLOB
typedef struct _BCRYPT_DSA_KEY_BLOB_V2
typedef struct _BCRYPT_DSA_PARAMETER_HEADER
typedef struct _BCRYPT_DSA_PARAMETER_HEADER_V2
typedef struct _BCRYPT_ECC_CURVE_NAMES
typedef struct _BCRYPT_ECCFULLKEY_BLOB
typedef struct _BCRYPT_ECCKEY_BLOB
typedef struct _BCRYPT_INTERFACE_VERSION
typedef struct _BCRYPT_KEY_BLOB
typedef struct _BCRYPT_KEY_DATA_BLOB_HEADER
typedef struct __BCRYPT_KEY_LENGTHS_STRUCT
typedef struct _BCRYPT_MULTI_OBJECT_LENGTH_STRUCT
typedef struct _BCRYPT_OAEP_PADDING_INFO
typedef struct _BCRYPT_OID
typedef struct _BCRYPT_OID_LIST
typedef struct _BCRYPT_PKCS1_PADDING_INFO
typedef struct _BCRYPT_PROVIDER_NAME
typedef struct _BCRYPT_PSS_PADDING_INFO
typedef struct _BCRYPT_RSAKEY_BLOB
typedef struct _CERT_REVOCATION_CHAIN_PARA
typedef struct _CERT_SELECT_CHAIN_PARA
typedef struct _CERT_SELECT_CRITERIA
typedef struct _CERT_SERVER_OCSP_RESPONSE_CONTEXT
typedef struct _CRYPT_CONTEXT_CONFIG
typedef struct _CRYPT_CONTEXT_FUNCTION_CONFIG
typedef struct _CRYPT_CONTEXT_FUNCTION_PROVIDERS
typedef struct _CRYPT_CONTEXT_FUNCTIONS
typedef struct _CRYPT_CONTEXTS
typedef struct _CRYPT_IMAGE_REF
typedef struct _CRYPT_IMAGE_REG
typedef struct _CRYPT_INTERFACE_REG
typedef struct _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE
typedef struct _CRYPT_PKCS12_PBE_PARAMS
typedef struct _CRYPT_PROPERTY_REF
typedef struct  _CRYPTPROTECT_PROMPTSTRUCT
typedef struct _CRYPT_PROVIDER_REF
typedef struct _CRYPT_PROVIDER_REFS
typedef struct _CRYPT_PROVIDER_REG
typedef struct _CRYPT_PROVIDERS
typedef struct _CRYPT_TIMESTAMP_ACCURACY
typedef struct _CRYPT_TIMESTAMP_CONTEXT
typedef struct _CRYPT_TIMESTAMP_INFO
typedef struct _CRYPT_TIMESTAMP_PARA
typedef struct _CRYPT_TIMESTAMP_REQUEST
typedef struct _CRYPT_TIMESTAMP_RESPONSE
typedef struct _FVE_AUTH_DPAPI_NG
typedef struct _FVE_AUTH_PASSPHRASE
typedef struct _HTTPSPolicyCallbackData
typedef struct _NCryptAlgorithmName
typedef struct _NCRYPT_EXPORTED_ISOLATED_KEY_ENVELOPE
typedef struct _NCRYPT_EXPORTED_ISOLATED_KEY_HEADER
typedef struct _NCRYPT_ISOLATED_KEY_ATTESTED_ATTRIBUTES
typedef struct __NCRYPT_KEY_ACCESS_POLICY_BLOB
typedef struct _NCRYPT_KEY_BLOB_HEADER
typedef struct NCryptKeyName
typedef struct __NCRYPT_PCP_HMAC_AUTH_SIGNATURE_INFO
typedef struct __NCRYPT_PCP_RAW_POLICYDIGEST
typedef struct __NCRYPT_PCP_TPM_FW_VERSION_INFO
typedef struct __NCRYPT_PCP_TPM_WEB_AUTHN_ATTESTATION_STATEMENT
typedef struct NCryptProviderName
typedef struct __NCRYPT_SUPPORTED_LENGTHS
typedef struct NCRYPT_TPM_LOADABLE_KEY_BLOB_HEADER
typedef struct _NCRYPT_TPM_PLATFORM_ATTESTATION_STATEMENT
typedef struct __NCRYPT_UI_POLICY
typedef struct _NCRYPT_VSM_KEY_ATTESTATION_CLAIM_RESTRICTIONS
typedef struct _NCRYPT_VSM_KEY_ATTESTATION_STATEMENT
typedef struct _PKCS12_PBES2_EXPORT_PARAMS 
typedef struct _SSL_ECCKEY_BLOB
typedef ULONG_PTR HCRYPTHASH;
typedef ULONG_PTR HCRYPTKEY;
typedef ULONG_PTR HCRYPTPROV;
typedef ULONG_PTR HCRYPTPROV_LEGACY;
typedef ULONG_PTR HCRYPTPROV_OR_NCRYPT_KEY_HANDLE;
typedef ULONG_PTR NCRYPT_HANDLE;
typedef ULONG_PTR NCRYPT_HASH_HANDLE;
typedef ULONG_PTR NCRYPT_KEY_HANDLE;
typedef ULONG_PTR NCRYPT_PROV_HANDLE;
typedef ULONG_PTR NCRYPT_SECRET_HANDLE;
typedef unsigned int ALG_ID;
typedef VOID *HCERT_SERVER_OCSP_RESPONSE;
typedef void *HCERTSTORE;
typedef void *HCERTSTOREPROV;
typedef void *HCRYPTDEFAULTCONTEXT;
typedef void *HCRYPTMSG;
typedef void *HCRYPTOIDFUNCADDR;
typedef void *HCRYPTOIDFUNCSET;
typedef VOID (__stdcall *PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK)(
typedef void (__stdcall *PFN_CERT_STORE_PROV_CLOSE)(
typedef void * (__stdcall *PFN_CMSG_ALLOC) (
typedef void (__stdcall *PFN_CMSG_FREE)(
typedef VOID (__stdcall *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC) (
typedef VOID (__stdcall *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC) (
typedef VOID (__stdcall *PFN_CRYPT_FREE)(
typedef void (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE)(
typedef void (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER)(
typedef void (__stdcall *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD)(
typedef void (__stdcall * PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE)(
typedef VOID (__stdcall *PFN_FREE_ENCODED_OBJECT_FUNC) (
typedef VOID (__stdcall *PFN_NCRYPT_FREE)(
type def was NULL
 Type Descriptor'
TypeDescriptor
type_error
Type  Event Name                                                           Part  Domain  Application
TypeInfo
TYPEKIND
TypeLibConverter
TypeLibExporterFlags
TypeLibraryFilename
_typeName
Type ref array size overflowed
Type ref was NULL
tz@8x(tt
TzSpecificLocalTimeToSystemTime
TzSpecificLocalTimeToSystemTimeEx
U0JMPdP)
u32Flags
u38S u.I
u5fD9	t'f
u5L98u0H
u64ValidFramesRead
u6fPfSfW
u6H9shu)H9spu#H
u8D9u@ua
u8;y r3H;
u:9uHu9H
u@A9X u:I9@(
@UATAUAVAWH
UATAUAVAWH
@UATAUAVH
UATAUAVI
@UATAVAWH
uAUTOMATICDISPLAYBRIGHTNESS_ERROR_CODESWW
UAutomaticDisplayBrightnessWW
[ UAVAWH
UAWAVAUATVWSH
Ubad locale name
ucAddressWWW
uCallbackMessage
UCHAR Count;
UCHAR                                   Count[4];
UCHAR                   Count[4];
UCHAR           Count[4];
UCHAR   Count[4];
UCHAR ProvisioningComplete;
UCHAR ProvisioningStarted;
UCHAR           q[20];
UCHAR   q[20];
UCHAR Secure;
UCHAR SecureBootBinding;
UCHAR           Seed[20];
UCHAR   Seed[20];
ucTotalLinkCount
u|D8mHtvL
udc_config
UdcPluginHost
UdcPluginHost.exe
_udcProcessId
UdcServiceDll.dll
_udcServiceStopMutex
_udcStatusCheckingTask
udcStatusCheckThreadProc
uDM99t?H
udpAesnopseRcitamotuAdraCtramSI.sdraCtramS.seciveD.swodniW
udpAesnopseRcitamotuAdraCtramS.sdraCtramS.seciveD.swodniW
UdpIp_Fail
UdpIp_TypeGroup1
UdpIp_TypeGroup2
UdpIp_V0
UdpIp_V0_TypeGroup1
UdpIp_V1
UdpIp_V1_TypeGroup1
udpsock.cpp
udpsock.h
_udtModelIdentifier
_udtModelPath
_udtPackagePath
UdtThreshold
uee*))))00
UEFI_DBGPORT
UfAppMgrPartQueue
U@fD9T0Hv
UgRestoreDefaultWW0*
uG;Z |BH;
u-H99u(H
uh9E(tc!E(A
u]H9khtW
u H9Q8tqH
uHA;6w9I
UHA;G@s*A
UhHcEHHk
uHL9n8tBL
UI2C_AUX_READ_MOT
_ui64toa_s
_ui64tow
_ui64tow_s
UiaGetReservedNotSupportedValue
UiaHostProviderFromHwnd
UiaRaiseAutomationEvent
UiaReturnRawElementProvider
UiaTextRange::AddRef
UiaTextRange::AddToSelection
UiaTextRange::Clone
UiaTextRange::Compare
UiaTextRange::CompareEndpoints
UiaTextRange::Constructor
UiaTextRange::ExpandToEnclosingUnit
UiaTextRange::FindAttribute
UiaTextRange::FindText
UiaTextRange::GetAttributeValue
UiaTextRange::GetBoundingRectangles
UiaTextRange::GetChildren
UiaTextRange::GetEnclosingElement
UiaTextRange::GetText
UiaTextRange::Move
UiaTextRange::MoveEndpointByRange
UiaTextRange::MoveEndpointByUnit
UiaTextRange::QueryInterface
UiaTextRange::Release
UiaTextRange::RemoveFromSelection
UiaTextRange::ScrollIntoView
UiaTextRange::Select
UIBackupTaskSettings
UI COMMANDS:
uidMonitorWW
UIDVALIDITY
UIElement
(UIElement.Visibility)
UifEscalationInfo
UIFileSystem3
ui getgroups [appname]                   Get List Of Groups of Left Hand Tabs
ui getxslt   [appname]                   Return XSLT Formatting information
uiInterlaced(#
UINT16      major1;
UINT16      major2;
UINT16      minor1;
UINT16      minor2;
UINT32 cbCertifyInfo;
UINT32 cbSignature;
UINT32 cbTpmPublic;
UINT32 HeaderSize;  
UINT32 Magic;  
UINT32 TpmPcrIndex;                     
UINT32 TpmVersion
UINT32 Version;  
UIOperationExit
UIOperationStart
UI path:
UIPropertyMetadata
UIRestoreTaskSettings
uiutils.cpp
uiutils.h
UIVideoQualityWWW
uiwizard.cpp
uiwizard.h
uk9EPufD
ukL9-4	#
ukL9-4s#
ukL9-6Z#
ukL9-D"#
ukL9-dL#
ukL9-dp 
ukL9-dW"
ukL9-ln#
ukL9-t0!
ukL9-Tv#
ukSerotS.erotS.secivreS.swodniW
ukSerotSI.erotS.secivreS.swodniW
u L9eXr	H
u(L9s t"L9s(t
ulib.dll
uLibFlags
ULONG AllowDebugging : 1; 
ULONG AuthFlags;
ULONG   BitLength;
ULONG BlobOffset;
ULONG BlobSize;
ULONG   BufferType;           
ULONG cAliases;
ULONG       cbAAD;
ULONG   cbAlgName;          
ULONG cbAlgName;       
ULONG cbAttributes; 
ULONG       cbAuthData;
ULONG cbAuthTag;       
ULONG                           cbBuffer;
ULONG   cbBuffer;             
ULONG                   cbCofactor;             
ULONG                   cbFieldLength;          
ULONG                                   cbGroupSize;
ULONG                   cbGroupSize;
ULONG cbIsolatedKey;   
ULONG       cbIV;
ULONG                                   cbKey;
ULONG   cbKey;
ULONG   cbKeyAuth;
ULONG   cbKeyBlob;
ULONG   cbKeyData;
ULONG                   cbKeyLength;
ULONG           cbKeyLength;
ULONG   cbLabel;
ULONG                   cbLength;
ULONG           cbLength;
ULONG       cbMacContext;
ULONG   cbModulus;
ULONG       cbNonce;
ULONG cbNonce;         
ULONG   cbOID;
ULONG       cbOtherInfo;
ULONG               cbOutput );
ULONG cbPcrs;       
ULONG   cbPerElement;           
ULONG   cbPerObject;
ULONG   cbPrime1;
ULONG   cbPrime2;
ULONG   cbPublicExp;
ULONG cbPublicKeyBlob;
ULONG cbQuote;      
ULONG cbReport;     
ULONG               cbSalt;             
ULONG   cbSalt;
ULONG                   cbSeed;                 
ULONG                                   cbSeedLength;
ULONG                   cbSeedLength;
ULONG cbSignature;  
ULONG       cbSize;
ULONG   cbSize;             
ULONG cbSize
ULONG                   cbSubgroupOrder;        
ULONG       cbTag;
ULONG   cBuffers;             
ULONG cbValue;
ULONG cbWrappingKey;   
ULONG cContexts;
ULONG cFunctions;
ULONG cInterfaces;
ULONG CompletionWaitTime;
ULONG ConversionFlags
ULONG                   CountSeparatorEvents;                 
ULONG cProperties;
ULONG cProviders;
ULONG DEInitializationFlags
ULONG   dwClass;
ULONG   dwCurveType;
ULONG   dwEccCurveNames;
ULONG                   dwFlags);
ULONG                dwFlags);
ULONG               dwFlags);
ULONG       dwFlags;
ULONG   dwFlags);
ULONG   dwFlags;
ULONG dwFlags;
ULONG   dwIncrement;
ULONG       dwInfoVersion;
ULONG dwInterface;
ULONG                                   dwMagic;
ULONG                   dwMagic;
ULONG           dwMagic;
ULONG   dwMagic;
ULONG   dwMaxLength;
ULONG   dwMinLength;
ULONG       dwOIDCount;
ULONG dwPosition);
ULONG dwReserved;
ULONG                   dwVersion;              
ULONG   dwVersion;
ULONG ElementFlags;
ULONG ElementsCount;
ULONG ElementType;
ULONG ExportedPublicKeyOffset;
ULONG ExportedPublicKeySize;
ULONG  Flags;         
ULONG  Flags;            
ULONG Flags
ULONG Flags;   
ULONG FlagsExpected;      
ULONG FlagsMask;          
ULONG FveBackupFlags
ULONG FveFindVersion;
ULONG FveTpmInfoVersion;
ULONG FveTpmProtectorInfoCount;
ULONG                           iHash;          
ULONG InitializationFlags
ULONG KeyUsage;        
ULONGLONG   cbData;
ULONGLONG EncryptionCompleteMask;
ULONGLONG EncryptionEnabledMask;
ULONGLONG EncryptionRequiredMask;
ULONGLONG ExtendedFlags; 
ULONGLONG ExtendedFlags2;
ULONGLONG ProtectionArmedMask;
ULONGLONG ReadOnlyEnabledMask;
ULONGLONG ReadOnlyRequiredMask;
ULONGLONG RecoveryPasswordAbsentMask;
ULONGLONG TrustletId;     
ULONGLONG WimBootHashedSizeActual;  
ULONGLONG WimBootHashedSizeRequired;    
ULONG   magic;  
ULONG  magic;  
ULONG   Magic;
ULONG Magic;        
ULONG MinSvn;             
ULONG NotUsed2;
ULONG                   OsLoaderAuthoritySignatureSizeBytes;  
ULONG *OutputSize
ULONG pcrAlg;       
ULONG PcrBitmap;
ULONG  pcrMask;
ULONG PerBootKey : 1;  
ULONG *PerUserSize
ULONG PerUserSize
ULONG QueryFlags;
ULONG Reserved : 31;   
ULONG Reserved : 31;      
ULONG  StructureSize;
ULONG StructureSize;
ULONG StructureSize;     
ULONG  StructureVersion;
ULONG StructureVersion;
ULONG StructureVersion;  
ULONG SupportFlags;
ULONG UEFIVariableSizeBytes;     
ULONG   ulVersion;            
ULONG UserFlags
ULONG Version; 
ULONG Version;      
ULONG Version;         
ULONG Version;            
ULONG WcosBspProtectLevel;
ULONG WcosDppProtectLevel;
ULONG WcosOsDataProtectLevel;
ULONG WcosOsMainProtectLevel;
ULONG WcosPreInstalledProtectLevel;
ULONG WcosUserDataProtectLevel;
ULONG WcosWspProtectLevel;
ULONG WipeCount;         
ULONG WipeState;         
UlpConfigurationComposer
UlpWupConfigurator
ulSFCustomCompXW
ulSFCustomCompYW
ulSrcHeightW
ulSrcWidthWW
_ultow_s
UltraLowPower
UMC specified more than once
UMgrEnumerateSessionUsers
UMgrFreeSessionUsers
UMgr not available
UMgrQueryDefaultAccountToken
UMgrQueryUserContext
UMgrQueryUserContextFromName
UMgrQueryUserContextFromSid
UMgrQueryUserToken
UMgrQueryUserToken failed.
uMH;Q |GI;
UMPDC.dll
um_pmdevice_object.h
UmsThreadYield
Unable to ACPI device list
Unable to ACPI device list size
Unable to acquire reference on participant
Unable to add param value
Unable to allocate context.
Unable to allocate controller ID array
Unable to allocate Drive ID array
Unable to allocate inactive controller ID array
Unable to allocate inactive controller port ID array
Unable to allocate IPC channel object.
Unable to allocate memory
Unable to allocate memory.
Unable to allocate memory for directory path
Unable to allocate memory for full name
Unable to allocate memory for log data
Unable to allocate new node for storage pool
Unable to allocate new node for subsystem
Unable to allocate partcipant handle
Unable to allocate port ID array
Unable to allocate process history buffer
Unable to allocate service IPC channel object.
Unable to allocate target ID array
Unable to call CoInitializeEx
Unable to cast - not enough data
Unable to cast - not enough data in the buffer
Unable to CoCreateInstance for CLSID_CUrlHistory
Unable to connect IPC.
Unable to create accelerometer
Unable to create accelerometer statics
Unable to create event doorbell
Unable to create HID ETW control thread
Unable to create IPC thread.
Unable to create LF exit event
Unable to create worker thread.
Unable to decide which file shall be deleted.
Unable to delete app table entry
Unable to delete table 
unable to determine path for given KNOWNFOLDERID
Unable to do an IPC connect
Unable to enable event doorbell
unable to find applets repository location from registry
Unable to find domain data map for participant handle
Unable to find empty participant data map
Unable to find participant data map for participant handle
UNABLE_TO_FIND_STEAM_LOCATION
Unable to get a battery index from the device path. Battery will not be created. 
Unable to get Chrome Cookies database file path
Unable to get Chrome Favicons database file path
Unable to get Chrome History database file path
Unable to get Chrome Logins database file path
Unable to get Chrome Preferences file path
Unable to get DACL information from registry key
Unable to get domain
Unable to get HAL instance ID
Unable to get HAL list
Unable to get HAL list size
Unable to get HAL PDO name
Unable to get handles
Unable to get IETM instance
Unable to get IETM path
Unable to get IETM path size
Unable to get parameters
Unable to get Qihoo360SE Favicons database file path
Unable to get QQBrowser Favicons database file path
Unable to get sensor count
Unable to get session id.
Unable to get size of ACLs set for registry key. Error: 
Unable to get TEMP folder path
- unable to initialize heap
Unable to initialize server. Error message: 
Unable to initialize service. Error message: 
Unable to initialize the IPC channel object.
Unable to initialize the service IPC channel object.
Unable to load schema 
Unable to negotiate SOCKS5 GSS-API context.
- unable to open console device
unable to open file '
Unable to open log file for writing
Unable to open registry key with ACCESS_SYSTEM_SECURITY permissions. Error: 
Unable to parse command line.
Unable to parse FTP file list
UNABLE_TO_PERFORM_OPERATION_IN_OFFLINE_MODE
unable to query file location from registry
Unable to read DC value index
Unable to read - not enough data in the buffer
Unable to receive initial SOCKS5 response.
Unable to receive SOCKS5 sub-negotiation response.
Unable to register for V1 power slider notifications
Unable to register for V2 power slider notifications
Unable to remove file(s): 
Unable to reserve space (required:
Unable to retrieve active power scheme
Unable to save table 
Unable to send initial SOCKS5 request.
Unable to set ACLs on key. Error: 
Unable to set active power scheme
Unable to set ciphers to passed via SSL_CONN_CONFIG
UNABLE_TO_START_AGS_HOST
Unable to store SocketHeciServer's port in Windows Registry
Unable to validate PIN. Please try again later.
Unable to write AC value index
Unable to write data (space required:
Unable to write DC value index
Unable to write - not enough data
__unaligned
UnaryOperation
UnauthorizedAccessException
__uncaught_exception
?uncaught_exception@std@@YA_NXZ
Unchanged
uncompress
unconjure
unD;ATrh
undefined
Undefined
Undefined orientation
UnderScanWWW
Undocumented SOCKS5 mode attempted to be used by server.
uneMpupoPI.spupoP.IU.swodniW
uneMpupoP.spupoP.IU.swodniW
uneMrellortnoClaidaRI.tupnI.IU.swodniW
uneMrellortnoClaidaR.tupnI.IU.swodniW
UnenrollSource
UnescapeDataString
unexpected 
Unexpected CLASS
unexpected close bracket
Unexpected continuation response
Unexpected error opening SIUF_DATA_PATH
- unexpected heap error
Unexpectedly short EHLO response
Unexpected Message
- unexpected multithread lock error
Unexpected negative value returned by m_heciClient.ReceiveMessage
Unexpected registry value type.
unexpectedResults
Unexpected.stl
Unexpected TYPE
uNH9]8uHH
UnhandledExceptionFilter
UnhookWindowsHookEx
UnhookWinEvent
UnicodeString
UnicodeToMB
UnicodeW
uniformAndStorageBuffer16BitAccess
uniformAndStorageBuffer8BitAccess
uniformBufferStandardLayout
uniformTexelBufferOffsetAlignmentBytes
uniformTexelBufferOffsetSingleTexelAlignment
?UnInit@ConfigPolicyAgent@@QEAAXXZ
Uninitialize
UNINITIALIZED_AUDIOW
UninitializeMethod
UninitializeWindowsRuntimeComponent
UninitLocalMsCtfMonitor
UnInitProcessPriv
UnInitThread
[Uninstall]
Uninstall
UnInstallAndDeleteOldManifest
UninstallColorProfileW
UninstallDxDbFOD
UnInstallImController
Uninstall: Invoked for an app that does not exist in app table 
?UninstalllAllPackages@DeployAgent@@QEAA_NXZ
UninstallPackage
UninstallPackages
UnInstallPackages
UninstallService
uninstallsetupactions.cpp
uninstallsetupactions.h
UNINSTALL specified multiple times
    uninstall         Uninstalls the helper service.
UnionRect
UniqueId
UniqueID
unittestbase.h
unittestglobals.h
unittestmodule.cpp
unittestmodule.h
UniversalFilesDirectoryName
UniversalFilesExplorer
unix-socket
UnixSockets
UnKBHookEx
: Unknown.
Unknown category type
unknown compression method
UNKNOWN_DETECTION_ACTION
unknown error
Unknown error
UNKNOWN_ERROR
Unknown exception
Unknown exception occured
Unknown exception occured.
Unknown exception occured. Stopping server.
unknown.file
Unknown file encoding
Unknown file root type.
Unknown format specifier.
Unknown heci client type requested
UNKNOWN_KEYBOARD
UnknownLogon
Unknown Platform
UNKNOWN_PLATFORM
UNKNOWNPORTWd
unknown proxytype option given
Unknown registry value data type
Unknown registry value type
Unknown RuntimeBehavior
Unknown SMBIOS field requested: 
Unknown state
unknown token
Unknown TrustLevel
Unknown type exception occured.
UnknownTypeW
Unknown Vendor
UNKNOWN_VkColorSpaceKHR_value
UNKNOWN_VkDriverId_value
UNKNOWN_VkFormat_value
UNKNOWN_VkImageTiling_value
UNKNOWN_VkPhysicalDeviceType_value
UNKNOWN_VkPointClippingBehavior_value
UNKNOWN_VkPresentModeKHR_value
UNKNOWN_VkQueueGlobalPriorityKHR_value
UNKNOWN_VkResult_value
UNKNOWN_VkShaderFloatControlsIndependence_value
UNKNOWNW0*
unlimited
?Unload@CBdeCfgLibraryLoader@@QEAAXXZ
UnloadDomain
UNLOADED
Unloaded library
Unloading web server plugin...
UnloadKsControl
UnloadPpClient
UnloadUserProfile
_unlock_file
UnlockToken
?UnlockWithKey@BuiVolume@@QEAAJPEBGPEAH@Z
?UnlockWithPassphrase@BuiVolume@@QEAAJPEBGPEAH@Z
?UnlockWithPassword@BuiVolume@@QEAAJPEBGPEAH@Z
?UnlockWithSmartCard@BuiVolume@@QEAAJPEAUHWND__@@PEAH@Z
UnmanagedCode
UnmanagedMemoryAccessor
UnmapViewOfFile
unmatched brace
UnMouseHookEx
Unnamed Arguments Collection Object InterfaceW
Unnamed Arguments Collection ObjectWWW
?UnnamedWd
Unplugged
Unpublishes a package groupWWW
UnpublishPackage
unpublishpackageactivitytests.cpp
unpublishpackagegrouptests.cpp
UnpublishPackageGroupWWWX
unpublishpackagetests.cpp
UnrealizeObject
Unrecognized
Unrecognized fatal error ocurred
Unrecognized or bad HTTP Content or Transfer-Encoding
Unrecognized parameter passed via CURLOPT_SSLVERSION
Unrecognized parameter value passed via CURLOPT_SSLVERSION
Unrecognized type of exception occured
Unrecoverable error in call to nameserver
UnregisterAssembly
UnregisterClassA
UnregisterClassW
unregister_command.hpp
UnregisterDeviceNotification
UnregisterEndpointNotificationCallback
Unregister for App-V Client event notificationsWWW6
UnregisterForEventsWd
UnregisterHotKey
Unregistering accelerometer
Unregistering App event:
Unregistering ESIF sensor events
Unregistering face detection sensor
Unregistering for proximity sensor privacy event
Unregistering for sensor manager events
Unregistering from matching any participant event
Unregistering from sensor events
Unregistering motion sensor
Unregistering proximity sensor
UnregisterKsEventHandle
UnregisterNotificationCallback
UnRegisterParticipant
Unregister participant in UP manager due to participant data creation failure
UnregisterPdt
unregister_power_notification_win_imp
UnregisterPowerSettingNotification
UnregisterPowerSettingNotificationExport
UnregisterSuspendResumeNotification
unregister_system_metrics_notification_win
UnregisterTouchWindow
UnregisterTrace
UnregisterTraceGuids
UnRegisterTypeLib
UnRegisterTypeLibForUser
UnregisterUdt
UnregisterWait
UnregisterWaitEx
UnregisterWebPlatformPermanentSecurityManager
unresolved reference token '
unrestricted
UnsetHook
unsigned 
unsigned char   CertLabel[36];
unsigned char DecryptionState[11][16];
unsigned char DecryptionState[15][16];
unsigned char EncryptionState[11][16];      
unsigned char EncryptionState[15][16];      
unsigned char Feedback[16];
unsigned char Feedback[8];
unsigned char i;
unsigned char IV[16];
unsigned char IV[8];
unsigned char j;
unsigned char Key[16];
unsigned char Key[24];
unsigned char Key[32];
unsigned char Key[8];
unsigned char SBox[256];
unsigned char   SerialNumber[8];
unsigned __int64
unsigned long
UnsignedWinLoadDriverLoadSuccessAudit
.UnSubscribeW
UnsubsribeProviders
unsuccessful: 
Unsupported
Unsupported command.
Unsupported device. The device is a TPM 1.2
unsupporteddriverdetector.cpp
unsupporteddriverdetector.h
unsupporteddriverdetectorut.cpp
unsupporteddriverenumerator.cpp
unsupporteddriverenumerator.h
Unsupported event version received
Unsupported Formats
Unsupported HTTP version in response
unsupported MDTM reply format
Unsupported protocol
unsupported PTT_PLUGIN_KEY_TYPE
unsupported range point
Unsupported response code in HTTP response
Unsupported SASL authentication mechanism
UNTFS: Can't read log file signature.
(unused)
UnverifiableCodeAttribute
unzip64.cpp
unzip64.h
unzip64_test.cpp
]U?;oaah
]U?;oaam
UOQQ63QOQ57WV
UpdateApixData
UpdateAvStatus
UpdateBaseSku
UpdateButton
Update_Click
UpdateCore
UpdateCorePackage
UpdateCorePackageVersion
UpdateDeviceParameter
UpdateDisplayNamePadding
UpdatedLicenseAcquisitionFailure
Updated line: 
UpdateDriverForPlugAndPlayDevices
UpdateDriverForPlugAndPlayDevicesW
UpdateDriverOption
Updated store permissions
UpdateDvConfiguration
UpdateFiveButtonAreaValue
UpdateGainValues
UpdateHeapTrace
UpdateImControllerFilesNReg
_updateInProgressEvent
UpdateInventory
_updateManager
UpdateManagerFactory
UpdateMbr
UpdateMicGeoConfiguration
UpdateOffsets
UpdatePackagePrimaryFeatureBlockInfo
UpdatePackageStatus
UpdatePackageStatusForUser
UpdatePollOnLoginTaskAfterUpgradeFailed
UpdatePpConfiguration
UpdateProcThreadAttribute
UpdateProgressBarsText
UpdatePSTDisplay
UpdatePublishingRefreshProgress
updateReceiver
UpdateReferenceWovConfiguration
UpdateRegistry
UpdateRequestData
UpdateSize
UpdateSmartPadDisplay
UpdateSoftwareInventory
UpdateSoftwareInventoryW
UpdateStatistics
UpdateStatus
UpdateSubscriptionFile
UpdatesupportedGrid
?UpdateTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?UpdateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
UpdateUrl
UpdateUserDefineTPState
UpdateVpnFileForProfile -- not connected ... aborting.
UpdateWindow
UpdateWindowDisplay
UpdateWindowDisplayIfOpen
_UpdateWMIDefragTaskFromDef
UpdateWovConfiguration
Updating registry values
upe_*.dll
upes                                     List User-mode Participant Extensions
upgradeable platform verification failed
UpgradeActivity
UpgradeCodeW
Upgrade CodeWW
upgradesetupactions.cpp
upgradesetupactions.h
uPH9yhtJE3
uphpackager.cpp
uphpackager.h
uphpackagermanifest.cpp
uphpackagerregistry.cpp
uphpublisher.cpp
uphpublishoperations.cpp
uphregistrator.cpp
uphregistrator.h
upload-file
Uploading to a URL without a file name
uploadmgr.h
UploadReportingDataW
	Uppdatera
Uppdatera den anv
 Uppdatera nedan f
Upper Framework Polling Stopped
upPtr is NULL
UpsPresent
UQPXY]Y[
UReadAllW
UriBuilder
urivalidator.h
url_effective
urlmon.dll
URL to work with
UrlUnescapeW
urn:dalp
urn:schemas-microsoft-com:windows:store:licensing:ls
usable for
Usage for UWD must be specified!
?Usage@PROGRAM@@UEBAXXZ
@USATAUAVAWH
@USATAUAVH
@USATAUAWH
@USATAVAWH
USATAVAWH
@USATAVH
@USATAWH
@USAUAVAWH
@USAUAVH
@USAVAWH
USBTARGET
use-ascii
Use auto client certificate for proxy (Schannel)
Use auto client certificate (Schannel)
Use AWS V4 signature authentication
Use Basic authentication on the proxy
UseCustomMatrixW
UseDetectionModeName
Use Digest authentication on the proxy
used '--no-' for option that isn't a boolean
_useDummy
Use either .netrc or URL
UseHeciServer
Use "--help category" to get an overview of all categories.
Use HTTP 1.0
Use HTTP 1.1
Use HTTP 2
Use HTTP Basic Authentication
Use HTTP Digest Authentication
Use HTTP Negotiate (SPNEGO) authentication
Use HTTP Negotiate (SPNEGO) authentication on the proxy
Use HTTP NTLM authentication
Use HTTP NTLM authentication with winbind
Use HTTP v3
Use LOAD_WITH_ALTERED_SEARCH_PATH flag to load library: 
Use network INTERFACE (or address)
Use NTLM authentication on the proxy
Use output FORMAT after completion
Use PORT instead of PASV
_usePpStream
USEPRIVATE
Use 'proof' to check parameter replacements
Use PROTOCOL for any URL missing a scheme
user32.dll
User32.dll
USER32.dll
USER ACTIONS:
user-agent
User-Agent
usercatalogtests.cpp
[User Certificate]
userConfigValue
usercontext.cpp
usercontext.h
UserContextLogPath
User context token is invalid.
UserControl
user.cpp
usercreds.cpp
usercreds.h
UserData
userdcc.cpp
userdcc.h
UserDefinedKeyCmdSwitch
USERENV.dll
userinfo.cpp
userinfo.h
userInputID
UserInputTime
UserLoggedIn
UserLoginHandlerActivity
usermanager.cpp
usermanager.h
usermanagerimpl.cpp
usermanagerimpl.h
usermanagermock.cpp
usermanagermock.h
usermanagertests.cpp
usermanagertests.h
usermgr.cpp
usermgr.h
USER-MODE PARTICIPANT DATA LOGGING:
USER-MODE TRACE LOGGING:
userOobeExitReason
userpackagegrouptests.cpp
userpackagetests.cpp
USER PARTICIPANT EXTENSIONS:
UseRpcName
UserPendingW
userpolicyapplierimpl.cpp
userpolicyapplierimpl.h
userpolicy.cpp
userpolicy.h
UserPreferenceCategory
UserPreferenceChangedEventArgs
UserPreferenceChangedEventHandler
UserProfile
USERPROFILE
userRegionCode
User requested boot debugger break!
USER_SETTINGS_DIRECTORY_ERROR
_userSIDForLastResume
userSIDW
User SIDWW
User Space Constant
?UserTextChanged@TouchEditBase@DirectUI@@SA?AVUID@@XZ
User Token
usertokenmanager.cpp
usertokentest.cpp
UserUtility
[User X.500 Name]
UseSocketServer
_usesPpDll
Use SSLv2
Use SSLv3
UseStateRegistryKeyInsteadOfIoctlName
USE_STRONG_CRYPTO
Use TCP Fast Open
Use the header-provided filename
Use the remote file name for all URLs
Use the TCP_NODELAY option
Use this CRL list
Use this proxy
Use this proxy first
Use TLSv1.0 or greater
Use TLSv1.1 or greater
Use TLSv1.2 or greater
Use TLSv1.3 or greater
Use TLSv1 for HTTPS proxy
usFrequencyBandHi
usFrequencyBandLo
USHORT Block[(8)];
USHORT DescriptorLength;
USHORT DpapiNgFlags;        
USHORT FveVersion;
USHORT MajorVersion;
USHORT MinorVersion;
USHORT Size;
USHORT Version;
Using --anyauth or --proxy-anyauth with upload from stdin involves a big risk of it not working. Use a temporary file or a fixed auth type instead!
Using CNG API
Using legacy registry
USING_OFFLINE_CORE_FILES
usMicArrayType
usNumberOfMicrophones
usrctxutil.cpp
usrstate.cpp
usrstate.h
USSRRSaa__M
@USVATAUAVAWH
USVATAUAVAWH
@USVATAUAVH
@USVATAUAWH
USVATAUAWH
@USVATAUH
USVATAUI
@USVATAWH
USVATAWI
@USVAUAVAWH
@USVAVAWH
usVersion
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
@USVWATAUH
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
@USVWATAWH
@USVWATH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAUAVH
USVWAUAVH
@USVWAUAWH
@USVWAUH
@USVWAVAWH
USVWAVAWH
@USVWAVH
@USVWAWH
@USWATAUAVAWH
USWATAUAVAWH
USWATAUI
@USWATAVAWH
USWATAVAWH
USWATAVI
@USWAUAVAWH
@USWAUAVH
USWAUAVH
@USWAUAWH
@USWAVAWH
USWAVAWH
uT9E@uOL
utcontext.h
ut_cpfiles.cpp
UTCReplace_AppSessionGuid
UtcThrottle::Initialize
UtcThrottle::InitializeSecurityDesc
UtcThrottle::Throttle
ut_driver_console.cpp
UTF-16LE
UTF-16LEUNICODE
utfsinterface.h
Utilities
utilities.cpp
utilities.h
UtilitiesWWW
Utillity
utils.cpp
UtilsDeleteCertPrivateKey
UtilsIsCertThumbprintPresentInRegistryFailed
UtilsReplaceCertThumbprint
UTIL_STATUS			Reports Device Utilization
UtilsWriteRespondentServerURL
utsftprocessor.cpp
utsftprocessor.h
utsyncobject.cpp
_utteranceAudioData
_utteranceDataSize
_utteranceTranscript
_utteranceType
ut_vreg.cpp
UuidCreate
UuidFromStringA
UuidFromStringW
UuidIsNil
UuidToStringA
UuidToStringA failed
UuidToStringW
uunnlkhhhfddd_z
UUS3333335
UUU6RRR8SSS-WWW
UUUUUUUUH
UUUUUUUUI
UUUUUUUUI;
UUUUUUUUL;
UUUUUUUUM
@UVATAUAVAWH
UVATAUAVAWI
@UVATAUAVH
@UVATAUAWH
UVATAUAWH
@UVATAVAWH
UVATAVAWH
@UVATAVH
@UVAVAWH
uvH9]hupL
UVWATAUAVAW
@UVWATAUAVAWH
[ UVWATAUAVAWH
UVWATAUAVAWH
UVWATAUAVAWI
UVWATAUAVH
[ UVWATAUH
UVWATAUH
@UVWATAVAWH
@UVWATAVH
UVWATAVH
UVWATAWH
@UVWAUAVH
UVWAUAVH
@UVWAUAWH
UVWAUAWH
@UVWAVAWH
[ UVWAVAWH
UVWAVAWH
UVWAVAWI
@UWATAUAVAWH
UWATAUAVH
@UWATAUAWH
UWATAUAWH
@UWATAUH
@UWATAVAWH
UWATAVAWH
@UWATAVH
@UWAUAVAWH
UWAUAVAWH
@UWAUAVH
@UWAUAWH
@UWAVAWH
uWE8n!uQE8n
uwwwXttt*ttt
UWZJLOPRUegj
uXE9X uRI9x
;*uxfD9c
UxTheme.dll
u;;Y |6H
u@;y r;H;
uZD8mytTH
v0E9f tKI
v100.5_vb_release_svc_2021-10-19T12:58:38_2021-10-19T12:58:38
V1_DriverCompleteRequest
V1_DriverCompleteRequestReturn
V1_DriverMajorFunctionCall
V1_DriverMajorFunctionReturn
V2DeviceInstallationSemaphoreName
v3@8kpt	
v4.0.30319
v*@8ipt	
VA2K;Y I
ValidateAndConvertLegacyFileFail
ValidateChannelsCount
ValidateCommandLineParameters
validate.cpp
ValidateErrorCode
ValidateGenuineAuthzSessionId
validate.h
ValidateHardwareId
ValidateHive
ValidateKeyPathList
ValidateRect
validatesftuser.cpp
ValidateStatus
?ValidateVersion@PROGRAM@@UEBAXKK@Z
ValidFrom
Valid HID event detected!
validHiveList
Valid message received. Executing command
 (value)
_valuechange
ValueChanged
valuechange_RegistryValueChanged
ValueCollection
ValueConversionAttribute
ValueCount
_valueName
valueName
valueNameCollection
valuename.h
valuenametest.cpp
Value of msftwindow option is invalid
ValueProperty
                                        values: 250 to 65535ms (Default 1000ms)
value too large
ValueType
VantageUtility
variableMultisampleRate
variablePointers
variablePointersStorageBuffer
variableSampleLocations
variantKind
VariantTimeToFileTime
vas_server.hpp
@VATAUAVAWH
VATAUAVAWH
@VATAUAVH
VATAUAWH
@VATAVAWH
VaultAddItem
VAULTCLI.dll
VaultCloseVault
VaultCreateItemType
VaultEnumerateItems
VaultFindItems
VaultFree
VaultGetItem
VaultGetItemType
VaultOpenVault
VaultRemoveItem
VaVendorIds
vCHIPSET_FAMILY_IRONLAKE_MOBILEWW
VClientRunMode_UninstallWd
vcom_deployment.cpp
vcom_deployment.h
vcom_deployment_test.cpp
vcom_ipc_server.cpp
vcom_monitor.cpp
vcom_monitor.h
vcom_process_monitor.cpp
vcom_process_monitor.h
vcom_process_runtime.cpp
vcom_process_runtime.h
vcom_runtime.cpp
vcom_runtime.h
vcom_runtime_policies.hpp
vcomruntimepoliciestests.cpp
VCRUNTIME140_1.dll
VCRUNTIME140.dll
vcruntimedetector.cpp
vcruntimedetector.h
vcruntimedetectorut.cpp
Vd22Nt::
VEBlockedEventArgs
__vectorcall
vector too long
velocityForcedPasswordless
velocityNewDevices
velocityWin10S
velocityWin10SKillSwitch
vemgr_api_test.cpp
_vendorAcronym
VENDOR_APP_NOT_PRESENT
vendorid
_vendorId
vendorID
VendorIdentifier
_vendorName
venv_configurator.cpp
venv_configurator.h
venv_document_handler.cpp
venv_document_handler.h
venv_package_reader.hpp
venv_process_runtime.cpp
venv_process_runtime.h
venv_rewriter.cpp
venv_rewriter.h
venv_runtime.cpp
venv_runtime.h
venv_runtime_test.cpp
venvvarrewritertest.cpp
]VePowerStateW
VerificationDllPathName
VerificationFileType
VerificationStatus
_verifiedPlugins
VerifyAllInstalled
VerifyAndHandleInvalidNotificationsSequence
VerifyFromFile
VerifyFromWeb
VerifyIfDataOverwritten
VerifyIfInitialized
VerifyMultiPaModelsAreSupported
VERIFY_PARENT_PROCESS
VerifyPlugin
VerifyPropertyName
VerifySingleModelsAreSupported
_verifyStatus
Verify the status of the DoH server cert via OCSP-staple
Verify the status of the server cert via OCSP-staple
VerifyVersionInfoW
VeriSign Trust Network1:08
ve_rpc_client.cpp
ve_rpc_client.h
VerQueryValueA
VerQueryValueW
VerSetConditionMask
 version 
_version
	Version: 
 : Version 
[Version]
Version:0.9
Version2xApiClientProxyDecorator
Version block has bad size
Version block invalid
VersionBlock is too long
VersionBlock not long enough
Version block out of range
VersionDlg
VERSION.dll
versionId
Version ID
VersionIDWWW
VersionMajor
VersionMinor
VersionW
vertexAttributeAccessBeyondStride
vertexAttributeInstanceRateDivisor
vertexAttributeInstanceRateZeroDivisor
vertexInputDynamicState
vertexPipelineStoresAndAtomics
VERTICAL
VerticalActiveLinesW
VerticalCropDefaultLevel|.
VerticalCropValueWWW|.
VerticalFrontPorhWWW
VerticalSyncWidthWWW
Ver   Type Flags    Segment  Payload  
Vesion2xMode
vfD9!|pfA;
vfont_ipc_server.cpp
vfont_ipc_server.cpp.good.cpp
vfontsbuilder.cpp
vfontsbuilder.h
vfonts_configurator.cpp
vfonts_configurator.h
vfontshelper.cpp
vfontshelper.h
vfonts_monitor.cpp
vfonts_monitor.h
vfonts_process_monitor.cpp
vfonts_process_monitor.h
vfonts_process_runtime.cpp
vfonts_process_runtime.h
vfonts_runtime.cpp
vfonts_runtime.h
vfonts_runtime_test.cpp
vfsbuilder.cpp
vfsbuilder.h
vfs_config_manager.cpp
vfs_config_manager.h
vfs_config_manager_mock.cpp
vfs_config_manager_test.cpp
vfs_configuration_loader_helper.cpp
vfs_configuration_loader_helper.h
vfs_create_test.cpp
vfs_csidl_root_map_builder.cpp
vfs_csidl_root_map_builder.h
vfs_decoder.cpp
vfs_deployment.cpp
vfs_deployment.h
vfs_deployment_test.cpp
vfs_download_splitter.cpp
vfs_download_splitter.h
vfs_filesys_test.cpp
vfshelper.cpp
vfslist.cpp
vfs_lookup_tests.cpp
vfsmapper.cpp
vfsmapper.h
vfs_namespace_factory.cpp
vfs_namespace_test.cpp
vfs_path_helper.cpp
vfs_path_helper.h
vfs_policy.cpp
vfs_policy.h
vfs_policy_mock.cpp
vfs_policy_mock.h
vfs_policy_test.cpp
vfs_process_runtime.cpp
vfs_process_runtime.h
vfs_query_attr_test.cpp
vfs_query_dir_test.cpp
vfs_rename_tests.cpp
vfs_runtime_configuration_loader.cpp
vfs_runtime_configuration_loader.h
vfs_runtime.cpp
vfs_runtime.h
vfs_runtime_test.cpp
vfs_section_reader.cpp
vfs_section_reader.h
vfs_section_visitor.h
vfs_uploaddownload.cpp
vfsvisitor.cpp
vfwprintf
VgkgjjHU
V?GreenStepWWW81
vGRVyNFv
vhd2fileI9
vhdxfileH
vhdxfileI9
vHeapSetInformation
VHe*cf0SF
VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT
VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT
VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT
VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT
videoCodecOperations
VIDEO_COLOR_ERROR_CODESW
VIDEO_COLOR_ERRORWWW
VIDEO_COLOR_INPUT_RANGE_NOT_SUPPORTEDWWW
VIDEO_COLOR_INPUT_RANGE_SET_FAILEDWW
VIDEO_COLOR_INVALID_INPUTWWW
VIDEO_COLOR_SCC_NOT_SUPPORTEDWWW
VIDEO_COLOR_SCC_SET_FAILEDWW
VIDEO_COLOR_SUCCESSW
VIDEO_COLOR_TCC_NOT_SUPPORTEDWWW
VIDEO_COLOR_TCC_SET_FAILEDWW
VideoDimPresent
VIDEO_ERROR_CODESWWW
VIDEO_GAMUT_COMPRESSION_NOT_SUPPORTEDWWW
VIDEO_GAMUT_COMPRESSION_SET_FAILEDWW
VIDEO_GAMUT_ERRORWWWT
[VIDEO_GAMUT_SUCCESSW
VideoHandler
VIDEO_QUALITY_ACE_NOT_SUPPORTEDWT
VIDEO_QUALITY_ACE_SET_FAILEDT
VIDEO_QUALITY_ERROR_CODESWWWT
VIDEO_QUALITY_ERRORW
VIDEO_QUALITY_FMD_NOT_SUPPORTEDWT
VIDEO_QUALITY_FMD_SET_FAILEDT
VIDEO_QUALITY_INVALID_INPUTW
VIDEO_QUALITY_IS_NOT_SUPPORTEDWWT
VIDEO_QUALITY_IS_SET_FAILEDWT
VIDEO_QUALITY_NR_NOT_SUPPORTEDWWT
VIDEO_QUALITY_SHARPNESS_NOT_SUPPORTEDWWWT
VIDEO_QUALITY_STE_NOT_SUPPORTEDWT
 VIDEO_SCALING_ERROR_CODESWWW
VIDEO_SCALING_ERRORW
VIDEO_SCALING_NOT_SUPPORTEDW
VIDEO_SCALING_SET_FAILED
VIDEO_SCALING_SUCCESSWWW
VIDEO_SUCCESSWWW
ViewHeight
ViewModelBase
ViewModelTextAnimationBase
viewportBoundsRange
viewportSubPixelBits
ViewWidth
virtappregistratortest.cpp
virtual 
VirtualAlloc
virtualapplauncher.cpp
virtualapplauncher.h
virtualapplauncher_test.cpp
virtualapplicationcollectorimpl.cpp
virtualapplicationpackager.cpp
virtualapplicationpackager.h
virtualapplicationpackagerwriter.cpp
!VirtualApplicationProperties
virtualapplicationregistrator.cpp
virtualapplicationregistrator.h
_virtualApplications
virtual_bass_process_enable
virtualcom.cpp
virtualcom.h
VirtualDisplayWW
virtualDispSupportFlagsWX
virtualdrivers.cpp
virtualenv.cpp
virtualenv.h
VirtualEnvironmentBlockedNotificationDialog
VirtualEnvironmentBlockedNotificationHandler
VirtualEnvironmentBlockedWWW
virtual_environment.h
virtual_environment.hpp
virtual_environment_manager.cpp
virtual_environment_manager.h
virtualenvironmentmanagertest.cpp
virtual_environment_map.hpp
virtualenvironmentmaptest.cpp
virtualenvironmenttest.cpp
virtualenvironmentutils.h
virtualenvmanager.cpp
virtualenvmanager.h
virtualenvrpcserver.cpp
virtualenvtask.cpp
virtualenvtask.h
virtualeventing.cpp
virtualeventing.h
virtualfilesystem.cpp
virtualfilesystem.h
VirtualFree
virtualinifile.cpp
virtualinifile.h
virtualizableextensions.h
virtualization_errors.h
virtualization_manager.cpp
virtualizationmanagerenttest.cpp
virtualizationmanagerexportstests.cpp
virtualization_manager.h
virtualizationmanagerisvtest.cpp
virtualizationmanagertest.cpp
virtualizationmanagertest.h
virtualizationmanagertest.hpp
VirtualizationPackageUpgradeInProgress
virtualizer-front-speaker-angle
virtualizer_front_speaker_angle
virtualizer_headphone_late_gain
virtualizer-height-speaker-angle
virtualizer_height_speaker_angle
virtualizer-surround-speaker-angle
virtualizer_surround_speaker_angle
VirtualProcess
virtualprocessactivities.cpp
virtualprocessactivities.h
virtualprocessactivitytests.cpp
virtual_process.cpp
VirtualProcessCreatedWWW
VirtualProcessCreateFailedWW
virtual_processesWWWd
virtual_process.h
VirtualProtect
VirtualQuery
virtualregistry.cpp
virtualregistry.h
virtual_service_agent.cpp
virtual_service_agent.h
virtualserviceagentipc_c.c
virtualserviceagentipc.h
virtualserviceagentipc_s.c
virtual_service_control_manager.cpp
virtual_service_control_manager.h
virtualserviceipc_c.c
virtualserviceipc.h
virtualservicemgripc_c.c
virtualservicemgripc.h
virtualservicerequestmanageripc.h
virtualservicerequestmanageripc_s.c
virtualservicerequestmgr_c.c
VirtualServiceRequestMgr_c.c
virtualservicerequestmgr.h
virtual_service_request_proxy.cpp
virtual_service_request_proxy.h
virtualservices.cpp
virtualservices.h
virtualservicesreader.cpp
virtualservicesreader.h
virtualservicesreadertests.cpp
VirtualSizeGB
VirtualTerminalLevel
vIsCollageWWW
?VisibleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
VisLoadingWWWd
visualization_provider.h
VisualizerConfig
VisualState
VisualStateGroup
VisualStateGroups
VisualStateManager
--vkconfig_output
vkCreateDebugReportCallbackEXT
vkCreateDevice
vkCreateImage
vkCreateInstance
vkCreateWin32SurfaceKHR
vkDestroyDebugReportCallbackEXT
vkDestroyDevice
vkDestroyImage
vkDestroyInstance
vkDestroySurfaceKHR
VkDrmFormatModifierPropertiesList2EXT
VkDrmFormatModifierPropertiesListEXT
vkEnumerateDeviceExtensionProperties
vkEnumerateInstanceExtensionProperties
vkEnumerateInstanceLayerProperties
vkEnumerateInstanceVersion
vkEnumeratePhysicalDeviceGroups
vkEnumeratePhysicalDeviceGroupsKHR
vkEnumeratePhysicalDevices
VK_EXT_4444_formats
VK_EXT_astc_decode_mode
VK_EXT_blend_operation_advanced
VK_EXT_border_color_swizzle
VK_EXT_buffer_device_address
VK_EXT_color_write_enable
VK_EXT_conditional_rendering
VK_EXT_conservative_rasterization
VK_EXT_custom_border_color
VK_EXT_depth_clip_control
VK_EXT_depth_clip_enable
VK_EXT_descriptor_indexing
VK_EXT_device_memory_report
VK_EXT_discard_rectangles
VK_EXT_display_surface_counter
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2
VK_EXT_external_memory_host
VK_EXT_fragment_density_map
VK_EXT_fragment_density_map2
VK_EXT_fragment_shader_interlock
VK_EXT_full_screen_exclusive
VK_EXT_global_priority_query
VK_EXT_host_query_reset
VK_EXT_image_drm_format_modifier
VK_EXT_image_robustness
VK_EXT_image_view_min_lod
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_memory_budget
VK_EXT_memory_priority
VK_EXT_multi_draw
VK_EXT_pageable_device_local_memory
VK_EXT_pci_bus_info
VK_EXT_physical_device_drm
VK_EXT_pipeline_creation_cache_control
VK_EXT_primitive_topology_list_restart
VK_EXT_private_data
VK_EXT_provoking_vertex
VK_EXT_rgba10x6_formats
VK_EXT_robustness2
VK_EXT_sample_locations
VK_EXT_sampler_filter_minmax
VK_EXT_scalar_block_layout
VK_EXT_shader_atomic_float
VK_EXT_shader_atomic_float2
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_shader_image_atomic_int64
VK_EXT_subgroup_size_control
VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr
VK_EXT_transform_feedback
VK_EXT_vertex_attribute_divisor
VK_EXT_vertex_input_dynamic_state
VK_EXT_ycbcr_2plane_444_formats
VK_EXT_ycbcr_image_arrays
VkFormatProperties3
VkFormatProperties3KHR
vkGetBufferMemoryRequirements
vkGetDeviceGroupPresentCapabilitiesKHR
vkGetDeviceProcAddr
vkGetDeviceQueue
vkGetImageMemoryRequirements
vkGetImageSparseMemoryRequirements
vkGetInstanceProcAddr
vkGetPhysicalDeviceFeatures
vkGetPhysicalDeviceFeatures2
vkGetPhysicalDeviceFeatures2KHR
vkGetPhysicalDeviceFormatProperties
vkGetPhysicalDeviceFormatProperties2
vkGetPhysicalDeviceFormatProperties2KHR
vkGetPhysicalDeviceImageFormatProperties
vkGetPhysicalDeviceMemoryProperties
vkGetPhysicalDeviceMemoryProperties2
vkGetPhysicalDeviceMemoryProperties2KHR
vkGetPhysicalDeviceProperties
vkGetPhysicalDeviceProperties2
vkGetPhysicalDeviceProperties2KHR
vkGetPhysicalDeviceQueueFamilyProperties
vkGetPhysicalDeviceQueueFamilyProperties2
vkGetPhysicalDeviceQueueFamilyProperties2KHR
vkGetPhysicalDeviceSurfaceCapabilities2EXT
vkGetPhysicalDeviceSurfaceCapabilities2KHR
vkGetPhysicalDeviceSurfaceCapabilitiesKHR
vkGetPhysicalDeviceSurfaceFormats2KHR
vkGetPhysicalDeviceSurfaceFormatsKHR
vkGetPhysicalDeviceSurfacePresentModesKHR
vkGetPhysicalDeviceSurfaceSupportKHR
vkGetPhysicalDeviceToolPropertiesEXT
vkGetPhysicalDeviceWin32PresentationSupportKHR
VK_IMG_format_pvrtc
VkKeyScanW
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_acceleration_structure
VK_KHR_buffer_device_address
VK_KHR_depth_stencil_resolve
VK_KHR_device_group
VK_KHR_device_group_creation
VK_KHR_driver_properties
VK_KHR_dynamic_rendering
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_format_feature_flags2
VK_KHR_fragment_shading_rate
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_global_priority
VK_KHR_imageless_framebuffer
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_maintenance4
VK_KHR_multiview
VK_KHR_performance_query
VK_KHR_pipeline_executable_properties
VK_KHR_portability_subset
VK_KHR_present_id
VK_KHR_present_wait
VK_KHR_push_descriptor
VK_KHR_ray_query
VK_KHR_ray_tracing_pipeline
VK_KHR_sampler_ycbcr_conversion
VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_atomic_int64
VK_KHR_shader_clock
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_integer_dot_product
VK_KHR_shader_subgroup_extended_types
VK_KHR_shader_subgroup_uniform_control_flow
VK_KHR_shader_terminate_invocation
VK_KHR_shared_presentable_image
VK_KHR_surface
VK_KHR_surface_protected_capabilities
VK_KHR_swapchain
VK_KHR_synchronization2
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_video_queue
VK_KHR_vulkan_memory_model
VK_KHR_win32_surface
VK_KHR_workgroup_memory_explicit_layout
VK_KHR_zero_initialize_workgroup_memory
VkPhysicalDevice16BitStorageFeatures
VkPhysicalDevice16BitStorageFeaturesKHR
VkPhysicalDevice4444FormatsFeaturesEXT
VkPhysicalDevice8BitStorageFeatures
VkPhysicalDevice8BitStorageFeaturesKHR
VkPhysicalDeviceAccelerationStructureFeaturesKHR
VkPhysicalDeviceAccelerationStructurePropertiesKHR
VkPhysicalDeviceASTCDecodeFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeatures
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR
VkPhysicalDeviceColorWriteEnableFeaturesEXT
VkPhysicalDeviceConditionalRenderingFeaturesEXT
VkPhysicalDeviceConservativeRasterizationPropertiesEXT
VkPhysicalDeviceCustomBorderColorFeaturesEXT
VkPhysicalDeviceCustomBorderColorPropertiesEXT
VkPhysicalDeviceDepthClipControlFeaturesEXT
VkPhysicalDeviceDepthClipEnableFeaturesEXT
VkPhysicalDeviceDepthStencilResolveProperties
VkPhysicalDeviceDepthStencilResolvePropertiesKHR
VkPhysicalDeviceDescriptorIndexingFeatures
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
VkPhysicalDeviceDescriptorIndexingProperties
VkPhysicalDeviceDescriptorIndexingPropertiesEXT
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT
VkPhysicalDeviceDiscardRectanglePropertiesEXT
VkPhysicalDeviceDriverProperties
VkPhysicalDeviceDriverPropertiesKHR
VkPhysicalDeviceDrmPropertiesEXT
VkPhysicalDeviceDynamicRenderingFeatures
VkPhysicalDeviceDynamicRenderingFeaturesKHR
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
VkPhysicalDeviceExternalMemoryHostPropertiesEXT
VkPhysicalDeviceFeatures
VkPhysicalDeviceFloat16Int8FeaturesKHR
VkPhysicalDeviceFloatControlsProperties
VkPhysicalDeviceFloatControlsPropertiesKHR
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
VkPhysicalDeviceFragmentDensityMapFeaturesEXT
VkPhysicalDeviceFragmentDensityMapPropertiesEXT
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
VkPhysicalDeviceFragmentShadingRateFeaturesKHR
VkPhysicalDeviceFragmentShadingRatePropertiesKHR
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
VkPhysicalDeviceHostQueryResetFeatures
VkPhysicalDeviceHostQueryResetFeaturesEXT
VkPhysicalDeviceIDProperties
VkPhysicalDeviceIDPropertiesKHR
VkPhysicalDeviceImagelessFramebufferFeatures
VkPhysicalDeviceImagelessFramebufferFeaturesKHR
VkPhysicalDeviceImageRobustnessFeatures
VkPhysicalDeviceImageRobustnessFeaturesEXT
VkPhysicalDeviceImageViewMinLodFeaturesEXT
VkPhysicalDeviceIndexTypeUint8FeaturesEXT
VkPhysicalDeviceInlineUniformBlockFeatures
VkPhysicalDeviceInlineUniformBlockFeaturesEXT
VkPhysicalDeviceInlineUniformBlockProperties
VkPhysicalDeviceInlineUniformBlockPropertiesEXT
VkPhysicalDeviceLimits
VkPhysicalDeviceLineRasterizationFeaturesEXT
VkPhysicalDeviceLineRasterizationPropertiesEXT
VkPhysicalDeviceMaintenance3Properties
VkPhysicalDeviceMaintenance3PropertiesKHR
VkPhysicalDeviceMaintenance4Features
VkPhysicalDeviceMaintenance4FeaturesKHR
VkPhysicalDeviceMaintenance4Properties
VkPhysicalDeviceMaintenance4PropertiesKHR
VkPhysicalDeviceMemoryPriorityFeaturesEXT
VkPhysicalDeviceMemoryProperties
VkPhysicalDeviceMultiDrawFeaturesEXT
VkPhysicalDeviceMultiDrawPropertiesEXT
VkPhysicalDeviceMultiviewFeatures
VkPhysicalDeviceMultiviewFeaturesKHR
VkPhysicalDeviceMultiviewProperties
VkPhysicalDeviceMultiviewPropertiesKHR
VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
VkPhysicalDevicePCIBusInfoPropertiesEXT
VkPhysicalDevicePerformanceQueryFeaturesKHR
VkPhysicalDevicePerformanceQueryPropertiesKHR
VkPhysicalDevicePipelineCreationCacheControlFeatures
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
VkPhysicalDevicePointClippingProperties
VkPhysicalDevicePointClippingPropertiesKHR
VkPhysicalDevicePortabilitySubsetFeaturesKHR
VkPhysicalDevicePortabilitySubsetPropertiesKHR
VkPhysicalDevicePresentIdFeaturesKHR
VkPhysicalDevicePresentWaitFeaturesKHR
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
VkPhysicalDevicePrivateDataFeatures
VkPhysicalDevicePrivateDataFeaturesEXT
VkPhysicalDeviceProperties
VkPhysicalDeviceProtectedMemoryFeatures
VkPhysicalDeviceProtectedMemoryProperties
VkPhysicalDeviceProvokingVertexFeaturesEXT
VkPhysicalDeviceProvokingVertexPropertiesEXT
VkPhysicalDevicePushDescriptorPropertiesKHR
VkPhysicalDeviceRayQueryFeaturesKHR
VkPhysicalDeviceRayTracingPipelineFeaturesKHR
VkPhysicalDeviceRayTracingPipelinePropertiesKHR
VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
VkPhysicalDeviceRobustness2FeaturesEXT
VkPhysicalDeviceRobustness2PropertiesEXT
VkPhysicalDeviceSampleLocationsPropertiesEXT
VkPhysicalDeviceSamplerFilterMinmaxProperties
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
VkPhysicalDeviceSamplerYcbcrConversionFeatures
VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR
VkPhysicalDeviceScalarBlockLayoutFeatures
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
VkPhysicalDeviceShaderAtomicInt64Features
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
VkPhysicalDeviceShaderClockFeaturesKHR
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
VkPhysicalDeviceShaderDrawParametersFeatures
VkPhysicalDeviceShaderFloat16Int8Features
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
VkPhysicalDeviceShaderIntegerDotProductFeatures
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
VkPhysicalDeviceShaderIntegerDotProductProperties
VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
VkPhysicalDeviceShaderTerminateInvocationFeatures
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
VkPhysicalDeviceSparseProperties
VkPhysicalDeviceSubgroupProperties
VkPhysicalDeviceSubgroupSizeControlFeatures
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
VkPhysicalDeviceSubgroupSizeControlProperties
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
VkPhysicalDeviceSynchronization2Features
VkPhysicalDeviceSynchronization2FeaturesKHR
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
VkPhysicalDeviceTexelBufferAlignmentProperties
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
VkPhysicalDeviceTextureCompressionASTCHDRFeatures
VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
VkPhysicalDeviceTimelineSemaphoreFeatures
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR
VkPhysicalDeviceTimelineSemaphoreProperties
VkPhysicalDeviceTimelineSemaphorePropertiesKHR
VkPhysicalDeviceTransformFeedbackFeaturesEXT
VkPhysicalDeviceTransformFeedbackPropertiesEXT
VkPhysicalDeviceUniformBufferStandardLayoutFeatures
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR
VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceVariablePointersFeaturesKHR
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
VkPhysicalDeviceVulkan11Features
VkPhysicalDeviceVulkan11Properties
VkPhysicalDeviceVulkan12Features
VkPhysicalDeviceVulkan12Properties
VkPhysicalDeviceVulkan13Features
VkPhysicalDeviceVulkan13Properties
VkPhysicalDeviceVulkanMemoryModelFeatures
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
VkQueueFamilyGlobalPriorityPropertiesKHR
VkQueueFamilyProperties
VkQueueFamilyQueryResultStatusProperties2KHR
VkSharedPresentSurfaceCapabilitiesKHR
VkSurfaceCapabilities2EXT
VkSurfaceCapabilitiesFullScreenExclusiveEXT
VkSurfaceCapabilitiesKHR
VkSurfaceProtectedCapabilitiesKHR
VkVideoQueueFamilyProperties2KHR
|v|llhl]h
Vml::VmSharableObject::WaitUntilAllocatedObjectCountIsZero
VNekade att 
vobjbuilder.cpp
vobjbuilder.h
vobjects_deployment.cpp
vobjects_deployment.h
vobjects_deployment_test.cpp
vobjects_monitor.cpp
vobjects_monitor.h
vobjects_process_monitor.cpp
vobjects_process_monitor.h
vobjects_process_runtime.cpp
vobjects_process_runtime.h
vobjects_runtime.cpp
vobjects_runtime.h
vobjects_runtime_test.cpp
vobjects_utils.hpp
vobjects_utils_tests.cpp
_voiceAssistantId
VoiceAssistantIdOffset
void const *pvCtrlPara
void**    ppPara;
void **ppPluginContext);
void            *pReserved;         
void *pv
void                    *pvArg;
void  *pvArg
void *pvArg
void* pvAuxInfo                        
void* pvAuxInfo                                
void                *pvBase;
void                        *pvEncryptionAuxInfo;
void *pvExtra
void                    *pvExtraPolicyPara;     
void                    *pvExtraPolicyStatus;   
void                                    *pvFindArg;
void *pvFindArg
void                                *pvFree;    
void    *pvFuncAddr;
void                                *pvGetArg;
void                        *pvHashAuxInfo;
void                                *pvInfo;
void                        *pvKeyEncryptionAuxInfo;
void                            *pvKeyEncryptionKey;
void                        *pvKeyEncryptionKey;
void                        *pvKeyWrapAuxInfo;
void        *pvLdapSessionHandle;   
void *pvReserved
void                *pvSigner;
void                                *pvSort;    
void *pvSort
void                    *pvSubject;
void                *pvSystemStore;
void                **rgpvStoreProvFunc;
 volatile
volatile
volatile 
volmax-boost
volmax_boost
VolumeDetail
volumeGuid
VolumeGuid
volume-leveler-amount
volume_leveler_amount
volume-leveler-enable
volume_leveler_enable
volume-leveler-in-target
volume_leveler_in_target
volume-leveler-out-target
volume_leveler_out_target
volume-modeler-calibration
volume_modeler_calibration
volume-modeler-enable
volume_modeler_enable
VolumeNameWW
volumePath
VolumeSnapshot
VolumeSummary
volumeType
VolumeType
VolumeWW
VPN Servers
vPowerApiCloseWWW 
VPPSupportLink
VPPTP00A
vrd.23mcasm
vrd.duamdw
vrd.loopsniw
vregbuilder.cpp
vregbuilder.h
vreg_cow_utils.cpp
vreg_cow_utils.h
vreg_deployment.cpp
vreg_deployment.h
vreg_deployment_test.cpp
vregeditdlg.cpp
vregeditdlg.h
vregpage.cpp
vreg_passthrough.cpp
vreg_passthrough.h
vreg_process_runtime.cpp
vreg_process_runtime.h
vregreflectiontest.cpp
vreg_runtime_configurator.cpp
vreg_runtime_configurator.h
vreg_runtime_configurator_test.cpp
vreg_runtime_configurator_test.h
vreg_runtime_configurator_test_mocks.h
vreg_runtime.cpp
vreg_runtime.h
vregsearch.cpp
vregsearch.h
vregsearch_test.cpp
vreg_token_generator.cpp
vreg_token_generator.h
vreg_token_generator_test.cpp
vregvisitor.cpp
VrfD;*tu
_vscprintf
_vscwprintf
vs_error.h
vservices_config_reader.cpp
vservices_config_reader.h
vservices_config_reader_tests.cpp
vservices_ipc_c.c
vservices_ipc.h
vservices_monitor.cpp
vservices_monitor.h
vservices_process_monitor.cpp
vservices_process_monitor.h
vservices_process_runtime.cpp
vservices_process_runtime.h
vservices_runtime.cpp
vservices_runtime.h
vservices_runtime_tests.cpp
vservices_server.cpp
vshell_ipc_c.c
vshell_ipc.h
vshelllruntimepoliciestests.cpp
vshell_map_utils.cpp
vshell_policies_loader.cpp
vshell_policies_loader.h
vshell_process_runtime.cpp
vshell_process_runtime.h
vshell_relaunch_hooks.cpp
vshell_relaunch_hooks.h
vshell_runtime.cpp
vshell_runtime.h
vshell_server.cpp
vs_monitor.cpp
vs_monitor.h
VS!-N88J(
_vsnprintf
_vsnprintf_s
	_vsnwprintf
_vsnwprintf
_vsnwprintf_s
vsprintf_s
vs_registrator.cpp
vs_registrator.h
vs_runtime.cpp
vs_runtime.h
VSSAPI.DLL
VssFreeSnapshotPropertiesInternal
VssTracingEventClass_VssTracingEventTypeClass
vs_utils.cpp
vs_utils.h
vs_ve_wrapper.cpp
vs_ve_wrapper.h
vs_visualizer.cpp
vs_visualizer.h
vswprintf_s
vt@8kpt	
VtEngine_TraceEndPaint
VtEngine_TraceInvalidate
VtEngine_TraceInvalidateAll
VtEngine_TraceLastText
VtEngine_TraceStartPaint
VtEngine_TraceString
VTPVPORTWd
vulkan-1.dll
		"vulkanApiVersion": "
vulkaninfo
VULKANINFO
vulkaninfo could not find any GPU's.
vulkaninfo.html
                    "vulkaninfo.html" in the directory in which the command
vulkaninfo.json
vulkaninfo - Summarize Vulkan information in relation to the current environment.
vulkaninfo.txt
                    vulkaninfo without any options specified.
	"Vulkan Instance Version": "
Vulkan Instance Version: 
vulkanMemoryModel
vulkanMemoryModelAvailabilityVisibilityChains
vulkanMemoryModelDeviceScope
) Vulkan version 
vunhhhgggkkksss|||
VUUUUUUU
VUUUUUUUH
VUUUUUUUI
VUUUUUUUM
::;;VVoooo
vvvvvvvpf
VWATAUAVAWH
VWATAUAVAWL
VWATAUAVH
@VWATAUAWH
VWATAUAWH
VWATAVAW
@VWATAVAWH
VWATAVAWH
@VWATAWH
@VWAUAVAWH
[ VWAUAVAWH
VWAUAVAWH
@VWAUAVH
@VWAVAWH
vwprintf
vx@8kpt	
VxEvEV8!8
??_V@YAXPEAX@Z
vYL9uPu7E
vYL9u@u7E
W1E72T5V
W1E7TMG7
w6t [|@(
W7'''''7A
WabCreateWebRuntimeCoreControl
WabCreateWebRuntimeCoreVisualViewport
WabImmDisableLegacyIME
WaitAsync
WaitCallback
WaitForCdmRegistrationToComplete
WaitForConnection
WaitForCortanaRearm
Wait For Custom Install Worker process failed!
WaitForExit
WaitForExitEvent
WaitForExitEventFromManager
WaitForInputIdle
WaitForMultipleObjects
WaitForMultipleObjectsEx
WaitForPipeDrain
WaitForServiceReady
WaitForSingleObject
WaitForSingleObjectEx
WaitForSingleObject returned WAIT_FAILED: Extended error code: 0x
WaitForSpoolerEvent: Memory allocation error!
WaitForStatus
Wait for task
WaitForTestToSignalPushClientToCallPushRouter_Close
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
WaitForThreadpoolWorkCallbacks
_waitHandle
Waiting for background IO operations...
Waiting for delete event...
Waiting for event failed with error: 
Waiting For EVENT Thread To Exit...
Waiting for event timed out
Waiting for message...
Waiting over. dwObject value: 
WaitMessage
waitName
WaitNamedPipeW
WaitOnShellStartup
waitPhaseEnd
waitPhaseStart
waitResult
WaitResult
waitRetVal
WaitServiceState
waitsvc.cpp
waitTime
Wait time between retries
WakeAlarmPresent
WakeAllConditionVariable
WakeConditionVariable
Warning: 
WARNING: curl and libcurl versions do not match. Functionality may be affected.
WarningMessageForAllConfigs1
WarningMessageForAllConfigs2
WarningMessageForClone
WarningMessageForSingle
Warning: More than one device interface instance found. Selecting first matching device.
WARNING: using weak random seed
WARN Message(2)
Washington1
wasImplementationReturned
wasRedirectorUsed
_wassert
 was thrown
@WATAUAVAWH
WATAUAVAWH
WATAUAWH
@WATAVAWH
WaveDeviceId
WaveFormat
WAVE_FORMAT_PCM
WaveKsControl
WbioQueryEngineInterface
WbioQuerySensorInterface
WbioQueryStorageInterface
wBitsPerSample
WBXMLToTextXMLGeneric
WCE specified more than once
wcGetBaseNameWL
WCHAR BootMgrFilePath[MAX_PATH];  
WCHAR DpapiNgDescriptor[ANYSIZE_ARRAY];
WCHAR           *pwszServerName; 
WCHAR   wszErrorText[256];  
WCHAR   wszErrorText[512];  
wCHIPSET_FAMILY_GRANTSDALE_GW
wcscat_s
_Wcscoll
wcscpy_s
wcscpy_s failed
WcsCreateIccProfile
WcsDisassociateColorProfileFromDevice
_wcserror
_Wcsftime
WcsGetCalibrationManagementState
WcsGetDefaultColorProfile
WcsGetUsePerUserProfiles
	_wcsicmp
_wcsicmp
	_wcslwr
_wcslwr_s
wcsncat_s
wcsncpy_s
	_wcsnicmp
_wcsnicmp
_wcsnset
WcsOpenColorProfileW
WcsSetCalibrationManagementState
WcsSetDefaultColorProfile
wcstok_s
wcstombs
wcstombs_s
	_wcstoui64
_wcstoui64
	_wcsupr
_Wcsxfrm
WDF_WorkItem
WdiAddParameter
WdiCloseInstance
WdiCreateInstance
WdiDiagnose
WdiGetParameterByName
WdiGetParameterData
WdiGetParameterDataLength
WdiGetResult
WdiResolve
wdscore.dll
WDSCORE.dll
WdsGenericSetupLogInit
WdsInitialize
WdsSetupLogDestroy
-WdsSetupLogInit
WdsSetupLogInit
WdsSetupLogMessageA
WdsSetupLogMessageW
WdsTerminate
We are completely uploaded and fine
WebApp_Detect_Synclet
WebApp_Install_Synclet
WebApp_Uninstall_Synclet
WebException
WebHeaderCollection
			-webkit-background-size: cover;
web server already started
web server not started
web server started
Web server stopped
webservices.dll
Web-to-App linking (AppUriHandlers) is disabled in Group Policy.
WEDL_AssignedAccess
Wednesday
We got a 421 - timeout
Weighted Eq: (GUID(1))
Weirdly formatted EPSV reply
Weird server reply
weiVataDtuobAnyoJllAI.nyoJllA.seciveD.swodniW
weiVataDtuobAnyoJllA.nyoJllA.seciveD.swodniW
weiVbeWI.slortnoC.lmaX.IU.swodniW
weiVbeW.slortnoC.lmaX.IU.swodniW
weiVdirGI.slortnoC.lmaX.IU.swodniW
weiVdirG.slortnoC.lmaX.IU.swodniW
weiVdraCyrammuStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
weiVeerTI.slortnoC.lmaX.IU.swodniW
weiVeerT.slortnoC.lmaX.IU.swodniW
weiVegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
weiVegakcaPataD.refsnarTataD.ledoMnoitacilppA.swodniW
weiVenaPowTI.slortnoC.lmaX.IU.swodniW
weiVenaPowT.slortnoC.lmaX.IU.swodniW
weiverPdniKeciveDledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPdniKerutaeFledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPdniKtnemelEerutaeF.weiverP.gninraeLenihcaM.IA.swodniW
weiverPeciveDezaGI.weiverP.tupnI.seciveD.swodniW
weiverPeciveDezaG.weiverP.tupnI.seciveD.swodniW
weiverPecnerefeRfOemarFporetnIhparGlaitapSI.weiverP.laitapS.noitpecreP.swodniW
weiverPecnerefeRfOemarFporetnIhparGlaitapS.weiverP.laitapS.noitpecreP.swodniW
weiverPecruoStupnIezaGI.weiverP.tupnI.seciveD.swodniW
weiverPecruoStupnIezaG.weiverP.tupnI.seciveD.swodniW
weiverPedirrevOtnemecalPdraobyeKcihpargoloH.cihpargoloH.weiverP.ledoMnoitacilppA.swodniW
weiverPedirrevOtnemecalPdraobyeKcihpargoloHI.cihpargoloH.weiverP.ledoMnoitacilppA.swodniW
weiverPenoZyaleDnoitcejeRmlaPI.weiverP.gniknI.tupnI.IU.swodniW
weiverPenoZyaleDnoitcejeRmlaP.weiverP.gniknI.tupnI.IU.swodniW
weiverPerotSI.weiverP.erotS.ledoMnoitacilppA.swodniW
weiverPerotS.weiverP.erotS.ledoMnoitacilppA.swodniW
weiverPerutsoPeciveDdegniHlenaPowTI.weiverP.metsyS.swodniW
weiverPerutsoPeciveDdegniHlenaPowT.weiverP.metsyS.swodniW
weiverPetatSnoitarugifnoCeciveDezaG.weiverP.tupnI.seciveD.swodniW
weiverPgnidniBledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
weiverPgnidniBledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
weiverPledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPnoitacilppAcihpargoloH.cihpargoloH.weiverP.ledoMnoitacilppA.swodniW
weiverPnoitisopmoCtnemelE.gnitsoH.lmaX.IU.swodniW
weiverPnoitisopmoCtnemelEI.gnitsoH.lmaX.IU.swodniW
weiverPnoitpircseDledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
weiverPnoitpircseDledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPoediVerutpaCaideMI.erutpaC.aideM.swodniW
weiverPporetnIhparGlaitapS.weiverP.laitapS.noitpecreP.swodniW
weiverPreganaMnoitagivaNmetsySI.weiverP.eroC.IU.swodniW
weiverPreganaMnoitagivaNmetsyS.weiverP.eroC.IU.swodniW
weiverPreganaMwodniWsetoNI.setoN.weiverP.ledoMnoitacilppA.swodniW
weiverPreganaMwodniWsetoN.setoN.weiverP.ledoMnoitacilppA.swodniW
weiverPrehctaWeciveDezaGI.weiverP.tupnI.seciveD.swodniW
weiverPrehctaWeciveDezaG.weiverP.tupnI.seciveD.swodniW
weiverPrenetsiLnoitavitcAtupnI.weiverP.tupnI.IU.swodniW
weiverProtpircseDelbairaVecneuqeSI.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVecneuqeS.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVegamII.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVegamI.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVpaMI.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVpaM.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVrosneTI.weiverP.gninraeLenihcaM.IA.swodniW
weiverProtpircseDelbairaVrosneT.weiverP.gninraeLenihcaM.IA.swodniW
weiverPsnoitpOgnicnerefnII.weiverP.gninraeLenihcaM.IA.swodniW
weiverPsnoitpOgnicnerefnI.weiverP.gninraeLenihcaM.IA.swodniW
weiverPtluseRnoitaulavEledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
weiverPtluseRnoitaulavEledoMgninraeL.weiverP.gninraeLenihcaM.IA.swodniW
weiverPtnemeganaMwodniWI.weiverP.tnemeganaMwodniW.IU.swodniW
weiverPtnemeganaMwodniW.weiverP.tnemeganaMwodniW.IU.swodniW
weiverPtnioPezaGI.weiverP.tupnI.seciveD.swodniW
weiverPtnioPezaG.weiverP.tupnI.seciveD.swodniW
weiverPtsacdaorBppA.erutpaC.aideM.swodniW
weiverPtsacdaorBppAI.erutpaC.aideM.swodniW
weiverPwodniWppAeroCI.weiverP.eroC.IU.swodniW
weiverPwodniWppAeroC.weiverP.eroC.IU.swodniW
weiVetuoRpaMI.spaM.slortnoC.lmaX.IU.swodniW
weiVetuoRpaM.spaM.slortnoC.lmaX.IU.swodniW
weiVgnitirwdnaHI.slortnoC.lmaX.IU.swodniW
weiVgnitirwdnaH.slortnoC.lmaX.IU.swodniW
weiVgubeDredivorPtcejbOateMcimanyD.redniBemitnuR.prahSC.tfosorciM
weiVIUbeWI.IUbeW.IU.swodniW
weiVIUbeW.IUbeW.IU.swodniW
weiVkrowemarFI.eroC.ledoMnoitacilppA.swodniW
weiVkrowemarFI.lmaX.IU.swodniW
weiVkrowemarF.lmaX.IU.swodniW
weiVnoitacilppAeroC.eroC.ledoMnoitacilppA.swodniW
weiVnoitacilppAeroCI.eroC.ledoMnoitacilppA.swodniW
weiVnoitacilppAI.tnemeganaMweiV.IU.swodniW
weiVnoitacilppA.tnemeganaMweiV.IU.swodniW
weiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
weiVnoitagivaN.slortnoC.lmaX.IU.swodniW
weiVnoitcelloCI.ataD.lmaX.IU.swodniW
weiVpaMpaMecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
weiVpaMreifilauQecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
weiVpilFI.slortnoC.lmaX.IU.swodniW
weiVpilF.slortnoC.lmaX.IU.swodniW
weiVppArengiseD.gnitsoH.lmaX.IU.swodniW
weiVppArengiseDI.gnitsoH.lmaX.IU.swodniW
weiVradnelaCI.slortnoC.lmaX.IU.swodniW
weiVradnelaC.slortnoC.lmaX.IU.swodniW
weiVreweiVllorcSI.slortnoC.lmaX.IU.swodniW
weiVreweiVllorcS.slortnoC.lmaX.IU.swodniW
weiVrotceVelbadniBI.poretnI.lmaX.IU.swodniW
weiVrotceVetadidnaCecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
weiVrotceVreifilauQecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
weiVrotceVsegaugnaLtxetnoCecruoseR.eroC.secruoseR.ledoMnoitacilppA.swodniW
weiVseitreporPpamtiB.gnigamI.scihparG.swodniW
weiVseitreporPpamtiBI.gnigamI.scihparG.swodniW
weiVteSytreporPegakcaPataDI.refsnarTataD.ledoMnoitacilppA.swodniW
weiVteSytreporPegakcaPataD.refsnarTataD.ledoMnoitacilppA.swodniW
weiVtilpSI.slortnoC.lmaX.IU.swodniW
weiVtilpS.slortnoC.lmaX.IU.swodniW
weiVtneilCtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
weiVtneilCtnuoccAbeW.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
weiVtsiLI.slortnoC.lmaX.IU.swodniW
weiVtsiL.slortnoC.lmaX.IU.swodniW
weiVtupnIeroC.eroC.tnemeganaMweiV.IU.swodniW
weiVtupnIeroCI.eroC.tnemeganaMweiV.IU.swodniW
weiVxallaraPI.slortnoC.lmaX.IU.swodniW
weiVxallaraP.slortnoC.lmaX.IU.swodniW
weiVyalpsiD.eroC.yalpsiD.seciveD.swodniW
weiVyalpsiDI.eroC.yalpsiD.seciveD.swodniW
weiVyrtnEtsiLsseccA.ehcaCsseccA.egarotS.swodniW
weiVytilibisseccA.sreeP.noitamotuA.lmaX.IU.swodniW
WellKnownSidType
Wenn Sie die Aktion Ihrer benutzerdefinierten Taste aktualisieren m
WerGetFlags
WerRegisterCustomMetadata
WerRegisterMemoryBlock
WerSetFlags
wevtapi.dll
_wfopen_s
wFormatTag
_wfsopen
_wfullpath
_W_Getdays
?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
_wgetenv
__wgetmainargs
_W_Getmonths
?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
_W_Gettnames
WH9Q8t(H
?what@exception@@UEBAPEBDXZ
                    where N is the GPU desired.
Where to redirect stderr
Whether the application is integrated to the current userWE
Whether the connection group is available to all the users on the machineW
Whether the connection group is published for the current user
Whether the package is published for the current userWe
Whether there is Asset Intelligence data for this packageW
while parsing 
white-space:pre;
wHorizontalAngle
wHorizontalAngleBegin
wHorizontalAngleEnd
W@H;WHt	D
WideCharToMultiByte
(WIDE_GAMUT_ERROR_CODESWW
WIDE_GAMUT_INVALID_DISPLAY_IDWWW
"WIDE_GAMUT_INVALID_VALUE
WIDE_GAMUT_NOT_SUPPORTED
WIDE_GAMUT_SET_FAILEDWWW
WIDE_GAMUT_SUCCESSWW
WideGamutWWW
wideLines
			width: 160px;
			width: 400px;
?width@ios_base@std@@QEAA_J_J@Z
?width@ios_base@std@@QEBA_JXZ
Width is not an integer.
?WidthProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
wilActivity
Wildcard - Parsing started
WilError_03
wilResult
WilStaging_02
Win32_1394Controller
Win32_1394ControllerDevice
Win32_Account
Win32_AccountSID
Win32_ACE
Win32_ActionCheck
Win32_ActiveRoute
Win32_AllocatedResource
Win32_ApplicationCommandLine
Win32_ApplicationService
Win32_AssociatedProcessorMemory
Win32_AutochkSetting
Win32_BaseBoard
Win32_BaseService
Win32_Battery
Win32_Binary
Win32_BindImageAction
Win32_BIOS
Win32_BitLockerEncryptionDetails
Win32_BootConfiguration
Win32_Bus
Win32_CacheMemory
Win32_CDROMDrive
Win32_CheckCheck
Win32_CIMLogicalDeviceCIMDataFile
Win32_ClassicCOMApplicationClasses
Win32_ClassicCOMClass
Win32_ClassicCOMClassSetting
Win32_ClassicCOMClassSettings
Win32_ClassInfoAction
Win32_ClientApplicationSetting
Win32_ClusterShare
Win32_CodecFile
Win32_CollectionStatistics
Win32_COMApplication
Win32_COMApplicationClasses
Win32_COMApplicationSettings
Win32_COMClass
Win32_ComClassAutoEmulator
Win32_ComClassEmulator
Win32_CommandLineAccess
Win32_ComponentCategory
Win32_ComputerShutdownEvent
Win32_ComputerSystem
Win32_ComputerSystemEvent
Win32_ComputerSystemProcessor
Win32_ComputerSystemProduct
Win32_COMSetting
Win32_Condition
Win32_ConnectionShare
Win32_ControllerHasHub
Win32_CreateFolderAction
Win32_CurrentProbe
Win32_CurrentTime
Win32_DCOMApplication
Win32_DCOMApplicationAccessAllowedSetting
Win32_DCOMApplicationLaunchAllowedSetting
Win32_DCOMApplicationSetting
Win32_DefragAnalysis
Win32_DependentService
Win32_Desktop
Win32_DesktopMonitor
Win32_DeviceBus
Win32_DeviceChangeEvent
Win32_DeviceGuard
Win32_DeviceMemoryAddress
Win32_DeviceSettings
Win32_DfsNode
Win32_DfsNodeTarget
Win32_DfsTarget
Win32_Directory
Win32_DirectorySpecification
Win32_DiskDrive
Win32_DiskDrivePhysicalMedia
Win32_DiskDriveToDiskPartition
Win32_DiskPartition
Win32_DiskQuota
Win32_DisplayConfiguration
Win32_DisplayControllerConfiguration
win32dllloader.h
win32dllloader_tests.cpp
Win32_DMAChannel
Win32_DriverForDevice
Win32_DuplicateFileAction
Win32_EncryptableVolume
Win32_Environment
Win32_EnvironmentSpecification
Win32ErrCode
Win32ErrorCode
Win32Exception
Win32_ExtensionInfoAction
Win32_Fan
Win32_FileSpecification
Win32_FolderRedirection
Win32_FolderRedirectionHealth
Win32_FolderRedirectionHealthConfiguration
Win32_FolderRedirectionUserConfiguration
Win32_FontInfoAction
Win32_Group
Win32_GroupInDomain
Win32_GroupUser
Win32_HeatPipe
Win32_IDEController
Win32_IDEControllerDevice
Win32_ImplementedCategory
Win32_InfraredDevice
Win32_IniFileSpecification
Win32_InstalledProgramFramework
Win32_InstalledSoftwareElement
Win32_InstalledStoreProgram
Win32_InstalledWin32Program
Win32_IP4PersistedRouteTable
Win32_IP4RouteTable
Win32_IP4RouteTableEvent
Win32_IRQResource
Win32_JobObjectStatus
Win32_Keyboard
Win32_LaunchCondition
Win32_LoadOrderGroup
Win32_LoadOrderGroupServiceDependencies
Win32_LoadOrderGroupServiceMembers
Win32_LocalTime
Win32_LoggedOnUser
Win32_LogicalDisk
Win32_LogicalDiskRootDirectory
Win32_LogicalDiskToPartition
Win32_LogicalFileAccess
Win32_LogicalFileAuditing
Win32_LogicalFileGroup
Win32_LogicalFileOwner
Win32_LogicalFileSecuritySetting
Win32_LogicalProgramGroup
Win32_LogicalProgramGroupDirectory
Win32_LogicalProgramGroupItem
Win32_LogicalProgramGroupItemDataFile
Win32_LogicalShareAccess
Win32_LogicalShareAuditing
Win32_LogicalShareSecuritySetting
Win32_LogonSession
Win32_LogonSessionMappedDisk
Win32_LUID
Win32_LUIDandAttributes
Win32_ManagedSystemElementResource
Win32_MappedLogicalDisk
Win32_MemoryArray
Win32_MemoryArrayLocation
Win32_MemoryDevice
Win32_MemoryDeviceArray
Win32_MemoryDeviceLocation
Win32_MethodParameterClass
Win32_MIMEInfoAction
Win32_ModuleLoadTrace
Win32_ModuleTrace
Win32_MotherboardDevice
Win32_MountPoint
Win32_MoveFileAction
Win32_MSIResource
Win32_NamedJobObject
Win32_NamedJobObjectActgInfo
Win32_NamedJobObjectLimit
Win32_NamedJobObjectLimitSetting
Win32_NamedJobObjectProcess
Win32_NamedJobObjectSecLimit
Win32_NamedJobObjectSecLimitSetting
Win32_NamedJobObjectStatistics
Win32NativeMethods
Win32_NetworkAdapter
Win32_NetworkAdapterConfiguration
Win32_NetworkAdapterSetting
Win32_NetworkClient
Win32_NetworkConnection
Win32_NetworkLoginProfile
Win32_NetworkProtocol
Win32_NTDomain
Win32_NTEventlogFile
Win32_NTLogEvent
Win32_NTLogEventComputer
Win32_NTLogEventLog
Win32_NTLogEventUser
Win32_ODBCAttribute
Win32_ODBCDataSourceAttribute
Win32_ODBCDataSourceSpecification
Win32_ODBCDriverAttribute
Win32_ODBCDriverSoftwareElement
Win32_ODBCDriverSpecification
Win32_ODBCSourceAttribute
Win32_ODBCTranslatorSpecification
Win32_OfflineFilesAssociatedItems
Win32_OfflineFilesBackgroundSync
Win32_OfflineFilesCache
Win32_OfflineFilesChangeInfo
Win32_OfflineFilesConnectionInfo
Win32_OfflineFilesDirtyInfo
Win32_OfflineFilesDiskSpaceLimit
Win32_OfflineFilesFileSysInfo
Win32_OfflineFilesHealth
Win32_OfflineFilesItem
Win32_OfflineFilesMachineConfiguration
Win32_OfflineFilesPinInfo
Win32_OfflineFilesSuspendInfo
Win32_OfflineFilesUserConfiguration
Win32_OnBoardDevice
Win32_OperatingSystem
Win32_OperatingSystemAutochkSetting
Win32_OperatingSystemQFE
Win32_OptionalFeature
Win32_OSRecoveryConfiguration
Win32_PageFile
Win32_PageFileElementSetting
Win32_PageFileSetting
Win32_PageFileUsage
Win32_ParallelPort
Win32_Patch
Win32_PatchFile
Win32_PatchPackage
Win32_PCMCIAController
Win32_Perf
Win32_PerfFormattedData
Win32_PerfFormattedData_AFDCounters_MicrosoftWinsockBSP
Win32_PerfFormattedData_APPPOOLCountersProvider_APPPOOLWAS
Win32_PerfFormattedData_ASPNET4030319_ASPNETAppsv4030319
Win32_PerfFormattedData_ASPNET4030319_ASPNETv4030319
Win32_PerfFormattedData_ASPNET_ASPNET
Win32_PerfFormattedData_ASPNET_ASPNETApplications
Win32_PerfFormattedData_aspnetstate_ASPNETStateService
Win32_PerfFormattedData_AuthorizationManager_AuthorizationManagerApplications
Win32_PerfFormattedData_BalancerStats_HyperVDynamicMemoryBalancer
Win32_PerfFormattedData_BalancerStats_HyperVDynamicMemoryVM
Win32_PerfFormattedData_BITS_BITSNetUtilization
Win32_PerfFormattedData_CcmFramework_CCMEndpoint
Win32_PerfFormattedData_CcmFramework_CCMMessageQueue
Win32_PerfFormattedData_Counters_AppVClientStreamedDataPercentage
Win32_PerfFormattedData_Counters_BluetoothDevice
Win32_PerfFormattedData_Counters_BluetoothRadio
Win32_PerfFormattedData_Counters_DNS64Global
Win32_PerfFormattedData_Counters_EventLog
Win32_PerfFormattedData_Counters_EventTracingforWindows
Win32_PerfFormattedData_Counters_EventTracingforWindowsSession
Win32_PerfFormattedData_Counters_FileSystemDiskActivity
Win32_PerfFormattedData_Counters_GenericIKEv1AuthIPandIKEv2
Win32_PerfFormattedData_Counters_HTTPService
Win32_PerfFormattedData_Counters_HTTPServiceRequestQueues
Win32_PerfFormattedData_Counters_HTTPServiceUrlGroups
Win32_PerfFormattedData_Counters_HyperVDynamicMemoryIntegrationService
Win32_PerfFormattedData_Counters_HyperVVirtualMachineBus
Win32_PerfFormattedData_Counters_HyperVVirtualMachineBusPipes
Win32_PerfFormattedData_Counters_HyperVVirtualMachineBusProviderPipes
Win32_PerfFormattedData_Counters_HyperVVirtualStorageDevice
Win32_PerfFormattedData_Counters_IPHTTPSGlobal
Win32_PerfFormattedData_Counters_IPHTTPSSession
Win32_PerfFormattedData_Counters_IPsecAuthIPIPv4
Win32_PerfFormattedData_Counters_IPsecAuthIPIPv6
Win32_PerfFormattedData_Counters_IPsecConnections
Win32_PerfFormattedData_Counters_IPsecDoSProtection
Win32_PerfFormattedData_Counters_IPsecDriver
Win32_PerfFormattedData_Counters_IPsecIKEv1IPv4
Win32_PerfFormattedData_Counters_IPsecIKEv1IPv6
Win32_PerfFormattedData_Counters_IPsecIKEv2IPv4
Win32_PerfFormattedData_Counters_IPsecIKEv2IPv6
Win32_PerfFormattedData_Counters_KPSSVC
Win32_PerfFormattedData_Counters_Netlogon
Win32_PerfFormattedData_Counters_NetworkQoSPolicy
Win32_PerfFormattedData_Counters_PacerFlow
Win32_PerfFormattedData_Counters_PacerPipe
Win32_PerfFormattedData_Counters_PacketDirectECUtilization
Win32_PerfFormattedData_Counters_PacketDirectQueueDepth
Win32_PerfFormattedData_Counters_PacketDirectReceiveCounters
Win32_PerfFormattedData_Counters_PacketDirectReceiveFilters
Win32_PerfFormattedData_Counters_PacketDirectTransmitCounters
Win32_PerfFormattedData_Counters_PerProcessorNetworkActivityCycles
Win32_PerfFormattedData_Counters_PerProcessorNetworkInterfaceCardActivity
Win32_PerfFormattedData_Counters_PhysicalNetworkInterfaceCardActivity
Win32_PerfFormattedData_Counters_PowerShellWorkflow
Win32_PerfFormattedData_Counters_ProcessorInformation
Win32_PerfFormattedData_Counters_QualysAgent
Win32_PerfFormattedData_Counters_RDMAActivity
Win32_PerfFormattedData_Counters_ReFS
Win32_PerfFormattedData_Counters_RemoteFXGraphics
Win32_PerfFormattedData_Counters_RemoteFXNetwork
Win32_PerfFormattedData_Counters_SMBClientShares
Win32_PerfFormattedData_Counters_SMBDirectConnection
Win32_PerfFormattedData_Counters_SMBServer
Win32_PerfFormattedData_Counters_SMBServerSessions
Win32_PerfFormattedData_Counters_SMBServerShares
Win32_PerfFormattedData_Counters_StorageQoSFilterFlow
Win32_PerfFormattedData_Counters_StorageQoSFilterVolume
Win32_PerfFormattedData_Counters_StorageSpacesDrt
Win32_PerfFormattedData_Counters_StorageSpacesTier
Win32_PerfFormattedData_Counters_StorageSpacesVirtualDisk
Win32_PerfFormattedData_Counters_StorageSpacesWriteCache
Win32_PerfFormattedData_Counters_Synchronization
Win32_PerfFormattedData_Counters_SynchronizationNuma
Win32_PerfFormattedData_Counters_TeredoClient
Win32_PerfFormattedData_Counters_TeredoRelay
Win32_PerfFormattedData_Counters_TeredoServer
Win32_PerfFormattedData_Counters_ThermalZoneInformation
Win32_PerfFormattedData_Counters_VFPPortAverageInboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPPortAverageOutboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPPortTotalInboundDroppedNetworkPackets
Win32_PerfFormattedData_Counters_VFPPortTotalInboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPPortTotalOutboundDroppedNetworkPackets
Win32_PerfFormattedData_Counters_VFPPortTotalOutboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPQoSQueueAverageInboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPQoSQueueAverageOutboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPQoSQueueTotalInboundNetworkTraffic
Win32_PerfFormattedData_Counters_VFPQoSQueueTotalOutboundNetworkTraffic
Win32_PerfFormattedData_Counters_WFP
Win32_PerfFormattedData_Counters_WFPClassify
Win32_PerfFormattedData_Counters_WFPReauthorization
Win32_PerfFormattedData_Counters_WFPv4
Win32_PerfFormattedData_Counters_WFPv6
Win32_PerfFormattedData_Counters_WSManQuotaStatistics
Win32_PerfFormattedData_Counters_XHCICommonBuffer
Win32_PerfFormattedData_Counters_XHCIInterrupter
Win32_PerfFormattedData_Counters_XHCITransferRing
Win32_PerfFormattedData_DdmCounterProvider_RAS
Win32_PerfFormattedData_DistributedRoutingTablePerf_DistributedRoutingTable
Win32_PerfFormattedData_ESENT_Database
Win32_PerfFormattedData_ESENT_DatabaseDatabases
Win32_PerfFormattedData_ESENT_DatabaseInstances
Win32_PerfFormattedData_ESENT_DatabaseTableClasses
Win32_PerfFormattedData_EthernetPerfProvider_HyperVLegacyNetworkAdapter
Win32_PerfFormattedData_FaxService_FaxService
Win32_PerfFormattedData_GmoPerfProvider_HyperVVMSaveSnapshotandRestore
Win32_PerfFormattedData_GPUPerformanceCounters_GPUAdapterMemory
Win32_PerfFormattedData_GPUPerformanceCounters_GPUEngine
Win32_PerfFormattedData_GPUPerformanceCounters_GPULocalAdapterMemory
Win32_PerfFormattedData_GPUPerformanceCounters_GPUNonLocalAdapterMemory
Win32_PerfFormattedData_GPUPerformanceCounters_GPUProcessMemory
Win32_PerfFormattedData_HvStats_HyperVHypervisor
Win32_PerfFormattedData_HvStats_HyperVHypervisorLogicalProcessor
Win32_PerfFormattedData_HvStats_HyperVHypervisorPartition
Win32_PerfFormattedData_HvStats_HyperVHypervisorRootPartition
Win32_PerfFormattedData_HvStats_HyperVHypervisorRootVirtualProcessor
Win32_PerfFormattedData_HvStats_HyperVHypervisorVirtualProcessor
Win32_PerfFormattedData_HyperVReplicaStats_HyperVReplicaVM
Win32_PerfFormattedData_HyperVStorageStats_HyperVConfiguration
Win32_PerfFormattedData_IdePerfProvider_HyperVVirtualIDEControllerEmulated
Win32_PerfFormattedData_LmPerfProvider_HyperVVMLiveMigration
Win32_PerfFormattedData_LocalSessionManager_TerminalServices
Win32_PerfFormattedData_Lsa_SecurityPerProcessStatistics
Win32_PerfFormattedData_Lsa_SecuritySystemWideStatistics
Win32_PerfFormattedData_LSM_UserInputDelayperProcess
Win32_PerfFormattedData_LSM_UserInputDelayperSession
Win32_PerfFormattedData_MicrosoftWindowsBitLockerDriverCountersProvider_BitLocker
Win32_PerfFormattedData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsc_RemoteFXSynth3DVSCVMDevice
Win32_PerfFormattedData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsc_RemoteFXSynth3DVSCVMTransportChannel
Win32_PerfFormattedData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSP
Win32_PerfFormattedData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSPVMDevice
Win32_PerfFormattedData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSPVMTransportChannel
Win32_PerfFormattedData_MicrosoftWindowsW32TimePerf_WindowsTimeService
Win32_PerfFormattedData_MmPerfProvider_HyperVVMWorkerProcessMemoryManager
Win32_PerfFormattedData_MSDTCBridge4000_MSDTCBridge4000
Win32_PerfFormattedData_MSDTC_DistributedTransactionCoordinator
Win32_PerfFormattedData_NETCLRData_NETCLRData
Win32_PerfFormattedData_NETCLRNetworking4000_NETCLRNetworking4000
Win32_PerfFormattedData_NETCLRNetworking_NETCLRNetworking
Win32_PerfFormattedData_NETDataProviderforOracle_NETDataProviderforOracle
Win32_PerfFormattedData_NETDataProviderforSqlServer_NETDataProviderforSqlServer
Win32_PerfFormattedData_NETFramework_NETCLRExceptions
Win32_PerfFormattedData_NETFramework_NETCLRInterop
Win32_PerfFormattedData_NETFramework_NETCLRJit
Win32_PerfFormattedData_NETFramework_NETCLRLoading
Win32_PerfFormattedData_NETFramework_NETCLRLocksAndThreads
Win32_PerfFormattedData_NETFramework_NETCLRMemory
Win32_PerfFormattedData_NETFramework_NETCLRRemoting
Win32_PerfFormattedData_NETFramework_NETCLRSecurity
Win32_PerfFormattedData_NETMemoryCache40_NETMemoryCache40
Win32_PerfFormattedData_NvspNicDropReasonsStats_HyperVVirtualNetworkAdapterDropReasons
Win32_PerfFormattedData_NvspNicStats_HyperVVirtualNetworkAdapter
Win32_PerfFormattedData_NvspNicVRSSStats_HyperVVirtualNetworkAdapterVRSS
Win32_PerfFormattedData_NvspPortStats_HyperVVirtualSwitchPort
Win32_PerfFormattedData_NvspSwitchProcStats_HyperVVirtualSwitchProcessor
Win32_PerfFormattedData_NvspSwitchStats_HyperVVirtualSwitch
Win32_PerfFormattedData_OfflineFiles_ClientSideCaching
Win32_PerfFormattedData_OfflineFiles_OfflineFiles
Win32_PerfFormattedData_PeerDistSvc_BranchCache
Win32_PerfFormattedData_PeerNameResolutionProtocolPerf_PeerNameResolutionProtocol
Win32_PerfFormattedData_PerfDisk_LogicalDisk
Win32_PerfFormattedData_PerfDisk_PhysicalDisk
Win32_PerfFormattedData_PerfNet_Browser
Win32_PerfFormattedData_PerfNet_Redirector
Win32_PerfFormattedData_PerfNet_Server
Win32_PerfFormattedData_PerfNet_ServerWorkQueues
Win32_PerfFormattedData_PerfOS_Cache
Win32_PerfFormattedData_PerfOS_Memory
Win32_PerfFormattedData_PerfOS_NUMANodeMemory
Win32_PerfFormattedData_PerfOS_Objects
Win32_PerfFormattedData_PerfOS_PagingFile
Win32_PerfFormattedData_PerfOS_Processor
Win32_PerfFormattedData_PerfOS_System
Win32_PerfFormattedData_PerfProc_JobObject
Win32_PerfFormattedData_PerfProc_JobObjectDetails
Win32_PerfFormattedData_PerfProc_Process
Win32_PerfFormattedData_PerfProc_Thread
Win32_PerfFormattedData_PowerMeterCounter_EnergyMeter
Win32_PerfFormattedData_PowerMeterCounter_PowerMeter
Win32_PerfFormattedData_rdyboost_ReadyBoostCache
Win32_PerfFormattedData_RemoteAccess_RASPort
Win32_PerfFormattedData_RemoteAccess_RASTotal
Win32_PerfFormattedData_RemoteDesktopConnectionBrokerRedirectorPerformanceCounterProvider_RemoteDesktopConnectionBrokerRedirectorCounterset
Win32_PerfFormattedData_RemoteFXPerformanceCounterProvider_RemoteFXSoftware
Win32_PerfFormattedData_RemotePerfProvider_HyperVVMRemoting
Win32_PerfFormattedData_ServiceModel4000_ServiceModelEndpoint4000
Win32_PerfFormattedData_ServiceModel4000_ServiceModelOperation4000
Win32_PerfFormattedData_ServiceModel4000_ServiceModelService4000
Win32_PerfFormattedData_SMSvcHost4000_SMSvcHost4000
Win32_PerfFormattedData_Spooler_PrintQueue
Win32_PerfFormattedData_Synth3dVideoPerfProvider_RemoteFXRootGPUManagement
Win32_PerfFormattedData_TapiSrv_Telephony
Win32_PerfFormattedData_TCPIPCounters_TCPIPPerformanceDiagnostics
Win32_PerfFormattedData_TCPIPCounters_TCPIPPerformanceDiagnosticsPerCPU
Win32_PerfFormattedData_Tcpip_ICMP
Win32_PerfFormattedData_Tcpip_ICMPv6
Win32_PerfFormattedData_Tcpip_IPv4
Win32_PerfFormattedData_Tcpip_IPv6
Win32_PerfFormattedData_Tcpip_NBTConnection
Win32_PerfFormattedData_Tcpip_NetworkAdapter
Win32_PerfFormattedData_Tcpip_NetworkInterface
Win32_PerfFormattedData_Tcpip_TCPv4
Win32_PerfFormattedData_Tcpip_TCPv6
Win32_PerfFormattedData_Tcpip_UDPv4
Win32_PerfFormattedData_Tcpip_UDPv6
Win32_PerfFormattedData_TermService_TerminalServicesSession
Win32_PerfFormattedData_UGatherer_SearchGathererProjects
Win32_PerfFormattedData_UGTHRSVC_SearchGatherer
Win32_PerfFormattedData_usbhub_PercentTotalBandwidthUsedforIso
Win32_PerfFormattedData_usbhub_USB
Win32_PerfFormattedData_VidPerfProvider_HyperVVMVidDriver
Win32_PerfFormattedData_VidPerfProvider_HyperVVMVidNumaNode
Win32_PerfFormattedData_VidPerfProvider_HyperVVMVidPartition
Win32_PerfFormattedData_VMBusPipeIOPerfProvider_HyperVVMVirtualDevicePipeIO
Win32_PerfFormattedData_VmmsVirtualMachineStats_HyperVVirtualMachineHealthSummary
Win32_PerfFormattedData_VSmbPerfProvider_HyperVVirtualSMB
Win32_PerfFormattedData_W3SVCW3WPCounterProvider_W3SVCW3WP
Win32_PerfFormattedData_W3SVC_WebService
Win32_PerfFormattedData_W3SVC_WebServiceCache
Win32_PerfFormattedData_WASW3WPCounterProvider_WASW3WP
Win32_PerfFormattedData_WindowsMediaPlayer_WindowsMediaPlayerMetadata
Win32_PerfFormattedData_WindowsWorkflowFoundation4000_WFSystemWorkflow4000
Win32_PerfFormattedData_WinNatCounters_WinNAT
Win32_PerfFormattedData_WinNatCounters_WinNATICMP
Win32_PerfFormattedData_WinNatCounters_WinNATInstance
Win32_PerfFormattedData_WinNatCounters_WinNATTCP
Win32_PerfFormattedData_WinNatCounters_WinNATUDP
Win32_PerfFormattedData_WorkerVpProvider_HyperVWorkerVirtualProcessor
Win32_PerfFormattedData_WorkflowServiceHost4000_WorkflowServiceHost4000
Win32_PerfFormattedData_WSearchIdxPi_SearchIndexer
Win32_PerfRawData
Win32_PerfRawData_AFDCounters_MicrosoftWinsockBSP
Win32_PerfRawData_APPPOOLCountersProvider_APPPOOLWAS
Win32_PerfRawData_ASPNET4030319_ASPNETAppsv4030319
Win32_PerfRawData_ASPNET4030319_ASPNETv4030319
Win32_PerfRawData_ASPNET_ASPNET
Win32_PerfRawData_ASPNET_ASPNETApplications
Win32_PerfRawData_aspnetstate_ASPNETStateService
Win32_PerfRawData_AuthorizationManager_AuthorizationManagerApplications
Win32_PerfRawData_BalancerStats_HyperVDynamicMemoryBalancer
Win32_PerfRawData_BalancerStats_HyperVDynamicMemoryVM
Win32_PerfRawData_BITS_BITSNetUtilization
Win32_PerfRawData_CcmFramework_CCMEndpoint
Win32_PerfRawData_CcmFramework_CCMMessageQueue
Win32_PerfRawData_Counters_AppVClientStreamedDataPercentage
Win32_PerfRawData_Counters_BluetoothDevice
Win32_PerfRawData_Counters_BluetoothRadio
Win32_PerfRawData_Counters_DNS64Global
Win32_PerfRawData_Counters_EventLog
Win32_PerfRawData_Counters_EventTracingforWindows
Win32_PerfRawData_Counters_EventTracingforWindowsSession
Win32_PerfRawData_Counters_FileSystemDiskActivity
Win32_PerfRawData_Counters_GenericIKEv1AuthIPandIKEv2
Win32_PerfRawData_Counters_HTTPService
Win32_PerfRawData_Counters_HTTPServiceRequestQueues
Win32_PerfRawData_Counters_HTTPServiceUrlGroups
Win32_PerfRawData_Counters_HyperVDynamicMemoryIntegrationService
Win32_PerfRawData_Counters_HyperVVirtualMachineBus
Win32_PerfRawData_Counters_HyperVVirtualMachineBusPipes
Win32_PerfRawData_Counters_HyperVVirtualMachineBusProviderPipes
Win32_PerfRawData_Counters_HyperVVirtualStorageDevice
Win32_PerfRawData_Counters_IPHTTPSGlobal
Win32_PerfRawData_Counters_IPHTTPSSession
Win32_PerfRawData_Counters_IPsecAuthIPIPv4
Win32_PerfRawData_Counters_IPsecAuthIPIPv6
Win32_PerfRawData_Counters_IPsecConnections
Win32_PerfRawData_Counters_IPsecDoSProtection
Win32_PerfRawData_Counters_IPsecDriver
Win32_PerfRawData_Counters_IPsecIKEv1IPv4
Win32_PerfRawData_Counters_IPsecIKEv1IPv6
Win32_PerfRawData_Counters_IPsecIKEv2IPv4
Win32_PerfRawData_Counters_IPsecIKEv2IPv6
Win32_PerfRawData_Counters_KPSSVC
Win32_PerfRawData_Counters_Netlogon
Win32_PerfRawData_Counters_NetworkQoSPolicy
Win32_PerfRawData_Counters_PacerFlow
Win32_PerfRawData_Counters_PacerPipe
Win32_PerfRawData_Counters_PacketDirectECUtilization
Win32_PerfRawData_Counters_PacketDirectQueueDepth
Win32_PerfRawData_Counters_PacketDirectReceiveCounters
Win32_PerfRawData_Counters_PacketDirectReceiveFilters
Win32_PerfRawData_Counters_PacketDirectTransmitCounters
Win32_PerfRawData_Counters_PerProcessorNetworkActivityCycles
Win32_PerfRawData_Counters_PerProcessorNetworkInterfaceCardActivity
Win32_PerfRawData_Counters_PhysicalNetworkInterfaceCardActivity
Win32_PerfRawData_Counters_PowerShellWorkflow
Win32_PerfRawData_Counters_ProcessorInformation
Win32_PerfRawData_Counters_QualysAgent
Win32_PerfRawData_Counters_RDMAActivity
Win32_PerfRawData_Counters_ReFS
Win32_PerfRawData_Counters_RemoteFXGraphics
Win32_PerfRawData_Counters_RemoteFXNetwork
Win32_PerfRawData_Counters_SMBClientShares
Win32_PerfRawData_Counters_SMBDirectConnection
Win32_PerfRawData_Counters_SMBServer
Win32_PerfRawData_Counters_SMBServerSessions
Win32_PerfRawData_Counters_SMBServerShares
Win32_PerfRawData_Counters_StorageQoSFilterFlow
Win32_PerfRawData_Counters_StorageQoSFilterVolume
Win32_PerfRawData_Counters_StorageSpacesDrt
Win32_PerfRawData_Counters_StorageSpacesTier
Win32_PerfRawData_Counters_StorageSpacesVirtualDisk
Win32_PerfRawData_Counters_StorageSpacesWriteCache
Win32_PerfRawData_Counters_Synchronization
Win32_PerfRawData_Counters_SynchronizationNuma
Win32_PerfRawData_Counters_TeredoClient
Win32_PerfRawData_Counters_TeredoRelay
Win32_PerfRawData_Counters_TeredoServer
Win32_PerfRawData_Counters_ThermalZoneInformation
Win32_PerfRawData_Counters_VFPPortAverageInboundNetworkTraffic
Win32_PerfRawData_Counters_VFPPortAverageOutboundNetworkTraffic
Win32_PerfRawData_Counters_VFPPortTotalInboundDroppedNetworkPackets
Win32_PerfRawData_Counters_VFPPortTotalInboundNetworkTraffic
Win32_PerfRawData_Counters_VFPPortTotalOutboundDroppedNetworkPackets
Win32_PerfRawData_Counters_VFPPortTotalOutboundNetworkTraffic
Win32_PerfRawData_Counters_VFPQoSQueueAverageInboundNetworkTraffic
Win32_PerfRawData_Counters_VFPQoSQueueAverageOutboundNetworkTraffic
Win32_PerfRawData_Counters_VFPQoSQueueTotalInboundNetworkTraffic
Win32_PerfRawData_Counters_VFPQoSQueueTotalOutboundNetworkTraffic
Win32_PerfRawData_Counters_WFP
Win32_PerfRawData_Counters_WFPClassify
Win32_PerfRawData_Counters_WFPReauthorization
Win32_PerfRawData_Counters_WFPv4
Win32_PerfRawData_Counters_WFPv6
Win32_PerfRawData_Counters_WSManQuotaStatistics
Win32_PerfRawData_Counters_XHCICommonBuffer
Win32_PerfRawData_Counters_XHCIInterrupter
Win32_PerfRawData_Counters_XHCITransferRing
Win32_PerfRawData_DdmCounterProvider_RAS
Win32_PerfRawData_DistributedRoutingTablePerf_DistributedRoutingTable
Win32_PerfRawData_ESENT_Database
Win32_PerfRawData_ESENT_DatabaseDatabases
Win32_PerfRawData_ESENT_DatabaseInstances
Win32_PerfRawData_ESENT_DatabaseTableClasses
Win32_PerfRawData_EthernetPerfProvider_HyperVLegacyNetworkAdapter
Win32_PerfRawData_FaxService_FaxService
Win32_PerfRawData_GmoPerfProvider_HyperVVMSaveSnapshotandRestore
Win32_PerfRawData_GPUPerformanceCounters_GPUAdapterMemory
Win32_PerfRawData_GPUPerformanceCounters_GPUEngine
Win32_PerfRawData_GPUPerformanceCounters_GPULocalAdapterMemory
Win32_PerfRawData_GPUPerformanceCounters_GPUNonLocalAdapterMemory
Win32_PerfRawData_GPUPerformanceCounters_GPUProcessMemory
Win32_PerfRawData_HvStats_HyperVHypervisor
Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor
Win32_PerfRawData_HvStats_HyperVHypervisorPartition
Win32_PerfRawData_HvStats_HyperVHypervisorRootPartition
Win32_PerfRawData_HvStats_HyperVHypervisorRootVirtualProcessor
Win32_PerfRawData_HvStats_HyperVHypervisorVirtualProcessor
Win32_PerfRawData_HyperVReplicaStats_HyperVReplicaVM
Win32_PerfRawData_HyperVStorageStats_HyperVConfiguration
Win32_PerfRawData_IdePerfProvider_HyperVVirtualIDEControllerEmulated
Win32_PerfRawData_LmPerfProvider_HyperVVMLiveMigration
Win32_PerfRawData_LocalSessionManager_TerminalServices
Win32_PerfRawData_Lsa_SecurityPerProcessStatistics
Win32_PerfRawData_Lsa_SecuritySystemWideStatistics
Win32_PerfRawData_LSM_UserInputDelayperProcess
Win32_PerfRawData_LSM_UserInputDelayperSession
Win32_PerfRawData_MicrosoftWindowsBitLockerDriverCountersProvider_BitLocker
Win32_PerfRawData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsc_RemoteFXSynth3DVSCVMDevice
Win32_PerfRawData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsc_RemoteFXSynth3DVSCVMTransportChannel
Win32_PerfRawData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSP
Win32_PerfRawData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSPVMDevice
Win32_PerfRawData_MicrosoftWindowsRemoteDesktopServicesRemoteFXSynth3dvsp_RemoteFXSynth3DVSPVMTransportChannel
Win32_PerfRawData_MicrosoftWindowsW32TimePerf_WindowsTimeService
Win32_PerfRawData_MmPerfProvider_HyperVVMWorkerProcessMemoryManager
Win32_PerfRawData_MSDTCBridge4000_MSDTCBridge4000
Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
Win32_PerfRawData_NETCLRData_NETCLRData
Win32_PerfRawData_NETCLRNetworking4000_NETCLRNetworking4000
Win32_PerfRawData_NETCLRNetworking_NETCLRNetworking
Win32_PerfRawData_NETDataProviderforOracle_NETDataProviderforOracle
Win32_PerfRawData_NETDataProviderforSqlServer_NETDataProviderforSqlServer
Win32_PerfRawData_NETFramework_NETCLRExceptions
Win32_PerfRawData_NETFramework_NETCLRInterop
Win32_PerfRawData_NETFramework_NETCLRJit
Win32_PerfRawData_NETFramework_NETCLRLoading
Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads
Win32_PerfRawData_NETFramework_NETCLRMemory
Win32_PerfRawData_NETFramework_NETCLRRemoting
Win32_PerfRawData_NETFramework_NETCLRSecurity
Win32_PerfRawData_NETMemoryCache40_NETMemoryCache40
Win32_PerfRawData_NvspNicDropReasonsStats_HyperVVirtualNetworkAdapterDropReasons
Win32_PerfRawData_NvspNicStats_HyperVVirtualNetworkAdapter
Win32_PerfRawData_NvspNicVRSSStats_HyperVVirtualNetworkAdapterVRSS
Win32_PerfRawData_NvspPortStats_HyperVVirtualSwitchPort
Win32_PerfRawData_NvspSwitchProcStats_HyperVVirtualSwitchProcessor
Win32_PerfRawData_NvspSwitchStats_HyperVVirtualSwitch
Win32_PerfRawData_OfflineFiles_ClientSideCaching
Win32_PerfRawData_OfflineFiles_OfflineFiles
Win32_PerfRawData_PeerDistSvc_BranchCache
Win32_PerfRawData_PeerNameResolutionProtocolPerf_PeerNameResolutionProtocol
Win32_PerfRawData_PerfDisk_LogicalDisk
Win32_PerfRawData_PerfDisk_PhysicalDisk
Win32_PerfRawData_PerfNet_Browser
Win32_PerfRawData_PerfNet_Redirector
Win32_PerfRawData_PerfNet_Server
Win32_PerfRawData_PerfNet_ServerWorkQueues
Win32_PerfRawData_PerfOS_Cache
Win32_PerfRawData_PerfOS_Memory
Win32_PerfRawData_PerfOS_NUMANodeMemory
Win32_PerfRawData_PerfOS_Objects
Win32_PerfRawData_PerfOS_PagingFile
Win32_PerfRawData_PerfOS_Processor
Win32_PerfRawData_PerfOS_System
Win32_PerfRawData_PerfProc_JobObject
Win32_PerfRawData_PerfProc_JobObjectDetails
Win32_PerfRawData_PerfProc_Process
Win32_PerfRawData_PerfProc_Thread
Win32_PerfRawData_PowerMeterCounter_EnergyMeter
Win32_PerfRawData_PowerMeterCounter_PowerMeter
Win32_PerfRawData_rdyboost_ReadyBoostCache
Win32_PerfRawData_RemoteAccess_RASPort
Win32_PerfRawData_RemoteAccess_RASTotal
Win32_PerfRawData_RemoteDesktopConnectionBrokerRedirectorPerformanceCounterProvider_RemoteDesktopConnectionBrokerRedirectorCounterset
Win32_PerfRawData_RemoteFXPerformanceCounterProvider_RemoteFXSoftware
Win32_PerfRawData_RemotePerfProvider_HyperVVMRemoting
Win32_PerfRawData_ServiceModel4000_ServiceModelEndpoint4000
Win32_PerfRawData_ServiceModel4000_ServiceModelOperation4000
Win32_PerfRawData_ServiceModel4000_ServiceModelService4000
Win32_PerfRawData_SMSvcHost4000_SMSvcHost4000
Win32_PerfRawData_Spooler_PrintQueue
Win32_PerfRawData_Synth3dVideoPerfProvider_RemoteFXRootGPUManagement
Win32_PerfRawData_TapiSrv_Telephony
Win32_PerfRawData_TCPIPCounters_TCPIPPerformanceDiagnostics
Win32_PerfRawData_TCPIPCounters_TCPIPPerformanceDiagnosticsPerCPU
Win32_PerfRawData_Tcpip_ICMP
Win32_PerfRawData_Tcpip_ICMPv6
Win32_PerfRawData_Tcpip_IPv4
Win32_PerfRawData_Tcpip_IPv6
Win32_PerfRawData_Tcpip_NBTConnection
Win32_PerfRawData_Tcpip_NetworkAdapter
Win32_PerfRawData_Tcpip_NetworkInterface
Win32_PerfRawData_Tcpip_TCPv4
Win32_PerfRawData_Tcpip_TCPv6
Win32_PerfRawData_Tcpip_UDPv4
Win32_PerfRawData_Tcpip_UDPv6
Win32_PerfRawData_TermService_TerminalServicesSession
Win32_PerfRawData_UGatherer_SearchGathererProjects
Win32_PerfRawData_UGTHRSVC_SearchGatherer
Win32_PerfRawData_usbhub_PercentTotalBandwidthUsedforIso
Win32_PerfRawData_usbhub_USB
Win32_PerfRawData_VidPerfProvider_HyperVVMVidDriver
Win32_PerfRawData_VidPerfProvider_HyperVVMVidNumaNode
Win32_PerfRawData_VidPerfProvider_HyperVVMVidPartition
Win32_PerfRawData_VMBusPipeIOPerfProvider_HyperVVMVirtualDevicePipeIO
Win32_PerfRawData_VmmsVirtualMachineStats_HyperVVirtualMachineHealthSummary
Win32_PerfRawData_VSmbPerfProvider_HyperVVirtualSMB
Win32_PerfRawData_W3SVCW3WPCounterProvider_W3SVCW3WP
Win32_PerfRawData_W3SVC_WebService
Win32_PerfRawData_W3SVC_WebServiceCache
Win32_PerfRawData_WASW3WPCounterProvider_WASW3WP
Win32_PerfRawData_WindowsMediaPlayer_WindowsMediaPlayerMetadata
Win32_PerfRawData_WindowsWorkflowFoundation4000_WFSystemWorkflow4000
Win32_PerfRawData_WinNatCounters_WinNAT
Win32_PerfRawData_WinNatCounters_WinNATICMP
Win32_PerfRawData_WinNatCounters_WinNATInstance
Win32_PerfRawData_WinNatCounters_WinNATTCP
Win32_PerfRawData_WinNatCounters_WinNATUDP
Win32_PerfRawData_WorkerVpProvider_HyperVWorkerVirtualProcessor
Win32_PerfRawData_WorkflowServiceHost4000_WorkflowServiceHost4000
Win32_PerfRawData_WSearchIdxPi_SearchIndexer
Win32_PhysicalMedia
Win32_PhysicalMemory
Win32_PhysicalMemoryArray
Win32_PhysicalMemoryLocation
Win32_PingStatus
Win32_PNPAllocatedResource
Win32_PnPDevice
Win32_PnPDeviceProperty
Win32_PnPDevicePropertyBinary
Win32_PnPDevicePropertyBoolean
Win32_PnPDevicePropertyBooleanArray
Win32_PnPDevicePropertyDateTime
Win32_PnPDevicePropertyReal32
Win32_PnPDevicePropertyReal32Array
Win32_PnPDevicePropertyReal64
Win32_PnPDevicePropertyReal64Array
Win32_PnPDevicePropertySecurityDescriptor
Win32_PnPDevicePropertySecurityDescriptorArray
Win32_PnPDevicePropertySint16
Win32_PnPDevicePropertySint16Array
Win32_PnPDevicePropertySint32
Win32_PnPDevicePropertySint32Array
Win32_PnPDevicePropertySint64
Win32_PnPDevicePropertySint8
Win32_PnPDevicePropertySint8Array
Win32_PnPDevicePropertyString
Win32_PnPDevicePropertyStringArray
Win32_PnPDevicePropertyUint16
Win32_PnPDevicePropertyUint16Array
Win32_PnPDevicePropertyUint32
Win32_PnPDevicePropertyUint32Array
Win32_PnPDevicePropertyUint64
Win32_PnPDevicePropertyUint8
Win32_PnPEntity
Win32_PnPSignedDriver
Win32_PnPSignedDriverCIMDataFile
Win32_PointingDevice
Win32_PortableBattery
Win32_PortConnector
Win32_PortResource
Win32_POTSModem
Win32_POTSModemToSerialPort
Win32_PowerManagementEvent
Win32_PowerMeter
Win32_PowerMeterConformsToProfile
Win32_PowerMeterEvent
Win32_PowerPlan
Win32_PowerSetting
Win32_PowerSettingCapabilities
Win32_PowerSettingDataIndex
Win32_PowerSettingDataIndexInPlan
Win32_PowerSettingDefineCapabilities
Win32_PowerSettingDefinition
Win32_PowerSettingDefinitionPossibleValue
Win32_PowerSettingDefinitionRangeData
Win32_PowerSettingElementSettingDataIndex
Win32_PowerSettingInSubgroup
Win32_PowerSettingSubgroup
Win32_PowerSupply
Win32_PowerSupplyConformsToProfile
Win32_PowerSupplyProfile
Win32_Printer
Win32_PrinterConfiguration
Win32_PrinterController
Win32_PrinterDriver
Win32_PrinterDriverDll
Win32_PrinterSetting
Win32_PrinterShare
Win32_PrintJob
Win32_PrivilegesStatus
Win32_Process
Win32_Processor
Win32_ProcessStartTrace
Win32_ProcessStartup
Win32_ProcessStopTrace
Win32_ProcessTrace
Win32_Product
Win32_ProductCheck
Win32_ProductResource
Win32_ProductSoftwareFeatures
Win32_ProgIDSpecification
Win32_ProgramGroupContents
Win32_ProgramGroupOrItem
Win32_Property
Win32_ProtocolBinding
Win32_ProviderEx
Win32_PublishComponentAction
Win32_QuickFixEngineering
Win32_QuotaSetting
Win32_RDAllowListFileAssociation
Win32_RDFileAssociation
Win32_Refrigeration
Win32Reg_AddRemovePrograms
Win32Reg_AddRemovePrograms64
Win32_Registry
Win32_RegistryAction
Win32Reg_MBAMPolicy
Win32Reg_MBAMPolicy_64
Win32Reg_OfficeAddins
Win32Reg_OfficeAddins64
Win32Reg_SMSAdvancedClientPorts
Win32Reg_SMSAdvancedClientSSLConfiguration
Win32Reg_SMSGuestVirtualMachine
Win32Reg_SMSGuestVirtualMachine64
Win32Reg_SMSWindowsUpdate
Win32Reg_WindowsUpdate
Win32Reg_WindowsUpdate64
Win32_Reliability
Win32_ReliabilityRecords
Win32_ReliabilityStabilityMetrics
Win32_RemoteAppChangeEvent
Win32_RemoveFileAction
Win32_RemoveIniAction
Win32_ReserveCost
Win32_RoamingProfileBackgroundUploadParams
Win32_RoamingProfileMachineConfiguration
Win32_RoamingProfileSlowLinkParams
Win32_RoamingProfileUserConfiguration
Win32_RoamingUserHealthConfiguration
Win32_ScheduledJob
Win32_SCSIController
Win32_SCSIControllerDevice
Win32_SecurityDescriptor
Win32_SecurityDescriptorHelper
Win32_SecuritySetting
Win32_SecuritySettingAccess
Win32_SecuritySettingAuditing
Win32_SecuritySettingGroup
Win32_SecuritySettingOfLogicalFile
Win32_SecuritySettingOfLogicalShare
Win32_SecuritySettingOfObject
Win32_SecuritySettingOwner
Win32_SelfRegModuleAction
Win32_SerialPort
Win32_SerialPortConfiguration
Win32_SerialPortSetting
Win32_ServerConnection
Win32_ServerFeature
Win32_ServerSession
Win32_Service
Win32_ServiceControl
Win32_ServiceSpecification
Win32_ServiceSpecificationService
Win32_Session
Win32_SessionConnection
Win32_SessionProcess
Win32_SessionResource
Win32_SettingCheck
Win32_ShadowBy
Win32_ShadowContext
Win32_ShadowCopy
Win32_ShadowDiffVolumeSupport
Win32_ShadowFor
Win32_ShadowOn
Win32_ShadowProvider
Win32_ShadowStorage
Win32_ShadowVolumeSupport
Win32_Share
Win32_ShareToDirectory
Win32_ShortcutAction
Win32_ShortcutFile
Win32_ShortcutSAP
Win32_SID
Win32_SIDandAttributes
Win32_SMBIOSMemory
Win32_SoftwareElement
Win32_SoftwareElementAction
Win32_SoftwareElementCheck
Win32_SoftwareElementCondition
Win32_SoftwareElementResource
Win32_SoftwareFeature
Win32_SoftwareFeatureAction
Win32_SoftwareFeatureCheck
Win32_SoftwareFeatureParent
Win32_SoftwareFeatureSoftwareElements
Win32_SoundDevice
Win32_StartupCommand
Win32_SubDirectory
Win32_SubSession
Win32_SystemAccount
Win32_SystemBIOS
Win32_SystemBootConfiguration
Win32_SystemConfigurationChangeEvent
Win32_SystemDesktop
Win32_SystemDevices
Win32_SystemDriver
Win32_SystemDriverPNPEntity
Win32_SystemEnclosure
Win32_SystemLoadOrderGroups
Win32_SystemMemoryResource
Win32_SystemNetworkConnections
Win32_SystemOperatingSystem
Win32_SystemPartitions
Win32_SystemProcesses
Win32_SystemProgramGroups
Win32_SystemResources
Win32_SystemServices
Win32_SystemSetting
Win32_SystemSlot
Win32_SystemSystemDriver
Win32_SystemTimeZone
Win32_SystemTrace
Win32_SystemUsers
Win32_TapeDrive
Win32_TCPIPPrinterPort
Win32_TemperatureProbe
Win32_Terminal
Win32_TerminalError
Win32_TerminalService
Win32_TerminalServiceSetting
Win32_TerminalServiceSettingError
Win32_TerminalServiceToSetting
Win32_TerminalSetting
Win32_TerminalTerminalSetting
Win32_Thread
Win32_ThreadStartTrace
Win32_ThreadStopTrace
Win32_ThreadTrace
Win32_TimeZone
Win32_TokenGroups
Win32_TokenPrivileges
Win32_Tpm
Win32_Trustee
Win32_TSAccount
Win32_TSApplicationFileExtensions
Win32_TSClientSetting
Win32_TSDeploymentLicensing
Win32_TSDeploymentSettings
Win32_TSDiscoveredLicenseServer
Win32_TSEnvironmentSetting
Win32_TSExpandEnvironmentVariables
Win32_TSGeneralSetting
Win32_TSGetIcon
Win32_TSLogonSetting
Win32_TSNetworkAdapterListSetting
Win32_TSNetworkAdapterSetting
Win32_TSPermissionsSetting
Win32_TSPublishedApplication
Win32_TSPublishedApplicationList
Win32_TSRemoteControlSetting
Win32_TSRemoteDesktop
Win32_TSSessionDirectory
Win32_TSSessionDirectorySetting
Win32_TSSessionSetting
Win32_TSStartMenuApplication
Win32_TSSystemInfo
Win32_TSVirtualIP
Win32_TSVirtualIPSetting
Win32_TypeLibraryAction
Win32_USBController
Win32_USBControllerDevice
Win32_USBDevice
Win32_USBHub
Win32_UserAccount
Win32_UserDesktop
Win32_UserInDomain
Win32_UserProfile
Win32_UserStateConfigurationControls
Win32_UTCTime
Win32_VideoConfiguration
Win32_VideoController
Win32_VideoSettings
Win32_VoltageProbe
Win32_Volume
Win32_VolumeChangeEvent
Win32_VolumeQuota
Win32_VolumeQuotaSetting
Win32_VolumeUserQuota
Win32_WindowsUpdateAgentVersion
Win32_WinSAT
Win32_WMIElementSetting
Win32_WMISetting
win32wtsSessionNotification
WinAPINativeMethods
WinBioAsyncEnumBiometricUnits
WinBioAsyncOpenFramework
WinBioAsyncOpenSession
WinBioCancel
WinBioCloseFramework
WinBioCloseSession
WinBioDeleteTemplate
WinBioFree
WinBioGetDomainLogonSetting
WinBioGetEnabledSetting
WinBioGetEnrolledFactors
WinBioGetLogonSetting
WINBRAND.dll
WindowAlpha
Window_Closing
WindowEdgeOffset
WindowFromPoint
windowheight
WindowInteropHelper
Window_Loaded
Window_LocationChanged
WindowOriginX
WindowOriginY
WindowPositioning
Windows8App_Detect_Synclet
Windows8App_Install_Synclet
Windows8App_Uninstall_Synclet
Windows.ApplicationModel
WindowsBase
WindowsBuiltInRole
WindowsCompareStringOrdinal
Windows::Compat::Shared::UtcLogger::DoesServiceExist
Windows::Compat::Shared::UtcLogger::SetServiceState
WindowsConcatString
Windows Console Host
WindowsCreateString
WindowsCreateStringReference
WindowsDeleteString
Windows.Devices.Enumeration
WindowsDuplicateString
WindowsFolderWWW4
Windows.Foundation
Windows.Foundation.FoundationContract
Windows.Foundation.UniversalApiContract
WindowsGetStringLen
WindowsGetStringRawBuffer
WindowsIdentity
WindowsIdentityManager
Windows::Internal::Feedback::SiufPayloadImpl::GetQuestionVersion
Windows::Internal::Feedback::SiufPayloadImpl::GetVersion
Windows::Internal::Feedback::SiufPayloadImpl::Init
Windows::Internal::Feedback::SiufPayloadImpl::Parse
WindowsIsStringEmpty
windowsize
Window_SizeChanged
WindowSizeX
WindowSizeY
Windows.Management.Deployment
WindowsPrincipal
WindowsReplaceString
WindowsRuntimeMarshal
Windows Script Host Object
Windows Script Host (Ver 5.6)W)
WindowsStringHasEmbeddedNull
WindowsSubstring
WindowsSubstringWithSpecifiedLength
Windows.UI.Immersive.dll
windowTitle
WindowUiaProvider::AddRef
WindowUiaProvider::Create
WindowUiaProvider::ElementProviderFromPoint
WindowUiaProvider::GetBoundingRectangle
WindowUiaProvider::GetEmbeddedFragmentRoots
WindowUiaProvider::GetFocus
WindowUiaProvider::GetFragmentRoot
WindowUiaProvider::GetHostRawElementProvider
WindowUiaProvider::GetPatternProvider
WindowUiaProvider::GetPropertyValue
WindowUiaProvider::GetProviderOptions
WindowUiaProvider::GetRuntimeId
WindowUiaProvider::Navigate
WindowUiaProvider::QueryInterface
WindowUiaProvider::Release
WindowUiaProvider::SetFocus
WindowUiaProvider::Signal
WindowViewport
windowwidth
wine_get_version
?_Winerror_map@std@@YAHH@Z
?_Winerror_map@std@@YAPEBDH@Z
WinHelpW
WinHttpCloseHandle
WinHttpConnect
WinHttpCrackUrl
WinHttpCreateProxyResolver
WINHTTP.dll
WinHttpFreeProxyResult
WinHttpGetDefaultProxyConfiguration
WinHttpGetIEProxyConfigForCurrentUser
WinHttpGetProxyForUrl
WinHttpGetProxyForUrlEx
WinHttpGetProxyResult
WinHttpOpen
WinHttpOpenRequest
WinHttpQueryDataAvailable
WinHttpQueryHeaders
WinHttpReadData
WinHttpReceiveResponse
winhttpresponse.cpp
winhttpresponse.h
WinHttpSendRequest
WinHttpSetOption
WinHttpSetStatusCallback
WinHttpSetTimeouts
WININET.dll
WininetProxyRegistryMutex
WINIOCTL_DEVICETYPE
winload_prod.pdb
winload.sys
Winlogon
WinMainImpl
WinReIsWimBootEnabled
WinRePostBCDRepair
winresume.dll
winresume.pdb
WinRTInitialization
WinSCard.dll
Winsock library is not ready
Winsock library not initialised
Winsock version not supported
winsqlite3.dll
WinSqmAddToStream
WinSqmAddToStreamEx
WinSqmEndSession
WinSqmIncrementDWORD
WinSqmIsOptedIn
WinSqmIsOptedInEx
WinSqmSetDWORD
WinSqmStartSession
WINSTA.dll
WinStationDisconnect
WinStationIsSessionRemoteable
WinStationQueryInformationW
wintrust.dll
WINTRUST.dll
WintrustGetRegPolicyFlags
WintrustSetRegPolicyFlags
WinVerifyTrust
W"IqtQw3
WIRapidMemoryManagementWWX4
Wireless Participant
With extra info hit is now too long
wkscli.dll
WlanCloseHandle
WlanConnect
WlanEnumInterfaces
WlanFreeMemory
WlanGetInterfaceCapability
WlanGetProfile
WlanGetProfileMetadata
WlanOpenHandle
WlanQueryInterface
WLDAP32.dll
Wldp.dll
WldpGetLockdownPolicy
WldpIsClassInApprovedList
WldpQueryWindowsLockdownMode
?w@Log@UDC@@QEAAXPEBGZZ
wMajorVerNum
wmD8k@tAI
WM_DWMCOMPOSITIONCHANGED
wmi_class_entry.cpp
wmi_class_entry.h
wmi_class_entry_test.cpp
WMICLNT.dll
WmiCloseBlock
WmiDevInstToInstanceNameW
wmi_error.h
WmiExecuteMethodW
WMI_extension
wmi_metadata.cpp
wmi_metadata.h
wmi_metadata_test.cpp
wmi_mof_generator.cpp
wmi_mof_generator.h
wmi_mof_generator_test.cpp
wmi_monitor.cpp
wmi_monitor.h
wmi_monitor_test.cpp
WmiNamespaceClass
wmi_namespace.h
wMinorVerNum
WmiOpenBlock
wmi_process_runtime.cpp
wmi_process_runtime.h
wmi_provider_host_hooks.cpp
wmi_provider_host_hooks.h
WmiQuerySingleInstanceW
wmi_registrator.cpp
wmi_registrator.h
wmi_registrator_test.cpp
wmi_snapshot.cpp
wmi_snapshot.h
wmi_snapshot_test.cpp
wmi_subsystem_utils.cpp
wmi_subsystem_utils.h
wmi_subsystem_utils.mock.cpp
wmi_subsystem_utils_test.cpp
WMI_Tracing
WMI_Tracing_Client_Operations
wmi_utils.cpp
wmi_utils.h
WMIValTypeConverter
WMIValueTypeConverter
wmi_visualizer.cpp
wmi_visualizer.h
WM_LBUTTONDOWN
WM_MBUTTONDOWN
WM_NCHITTEST
WM_POWERBROADCAST
WM_RBUTTONDOWN
WM_SETCURSOR
WM_SETICON
WMsgAPI.dll
WmsgSendMessage
WM_WTSSESSION_CHANGE
WM_XBUTTONDOWN
?WndProc@HWNDElement@DirectUI@@UEAA_JPEAUHWND__@@I_K_J@Z
WNetAddConnection2W
WNetAddConnection2WStub
WNetAddConnection3W
WNetCancelConnection2W
WNetCancelConnection2WStub
WNetGetConnectionWStub
WNetGetLastErrorW
WnfStateName
WnfTrigger
WNoiseReductionWW
wnsprintfW
:':?:W:o:
wodahS.aideM.lmaX.IU.swodniW
wodahSdetcejorPhtiWrotisopmoCI.noitisopmoC.IU.swodniW
wodahSdetcejorPnoitisopmoCI.noitisopmoC.IU.swodniW
wodahSdetcejorPnoitisopmoC.noitisopmoC.IU.swodniW
wodahSemehT.aideM.lmaX.IU.swodniW
wodahSemehTI.aideM.lmaX.IU.swodniW
wodahSI.aideM.lmaX.IU.swodniW
wodahSnoitisopmoCI.noitisopmoC.IU.swodniW
wodahSnoitisopmoC.noitisopmoC.IU.swodniW
wodahSporDI.noitisopmoC.IU.swodniW
wodahSporD.noitisopmoC.IU.swodniW
wodniWemaGderahSeliboM.krowemarF.anX.tfosorciM
wodniWemaGeliboM.krowemarF.anX.tfosorciM
wodniWemaG.krowemarF.anX.tfosorciM
wodniWeroC.eroC.IU.swodniW
wodniWeroChtiWezilaitinII.eroC.IU.swodniW
wodniWeroCI.eroC.IU.swodniW
wodniWI.lmaX.IU.swodniW
wodniW.lmaX.IU.swodniW
wodniWppAI.tnemeganaMwodniW.IU.swodniW
wodniWppA.tnemeganaMwodniW.IU.swodniW
wodniWyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
wodniWyalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
WofShouldCompressBinaries
wolfkroWD3tnirPI.snoisnetxE.sretnirP.seciveD.swodniW
wolfkroWD3tnirP.snoisnetxE.sretnirP.seciveD.swodniW
wolfrevOkcolBtxeThciRI.slortnoC.lmaX.IU.swodniW
wolfrevOkcolBtxeThciR.slortnoC.lmaX.IU.swodniW
worbeyEratavA.secivreSremaG.krowemarF.anX.tfosorciM
WORD    reserved;
WORD            wResponseFlags;
WORD            wResponseType;
Workaround applied. Stopping service...
workerThread
WorkerThread_StartStop_V2
WorkerThread_V1
workgroupMemoryExplicitLayout
workgroupMemoryExplicitLayout16BitAccess
workgroupMemoryExplicitLayout8BitAccess
workgroupMemoryExplicitLayoutScalarBlockLayout
workitems.cpp
workitems.h
workload
?WorkOnReparsePoint@FSNODE@@QEAAEE@Z
WovArtifacts
WovArtifactsDirectoryName
WoVartifactsPathName
_wovConfig
WovConfigurationFactory
WovConfigurationUpdate
WovConfigWaitHandle
_wovControllerPtr
WovControlMethods
WovDetectionVerificationConfigurator
WovDisabledIntelClientProxyDecorator
WovListenerMethods
WovLogComponentsMask
WovLogLevelName
_wovMasterEnable
WovMicrophoneChannelSelectName
WovNonEcho
WovRefDetectionVerificationConfigurator
WovReference
WovRefSecondStageConfigurator
WovRefUmdfDllConfigurator
WovSecondStageConfigurator
WovServiceBuilder
WovServiceCore
WOV_SETUP_ERROR_CONNETION_LOST
WOV_SETUP_ERROR_INVALID_VALUE
WOV_SETUP_ERROR_OTHER
WOV_SETUP_SUCCESS
WovStartupConfiguration
_wovStatus
WovStatusChangedHandler
WovStorageController
WovUmdfDllConfigurator
wow64_mapper.cpp
wow64_mapper.h
wow64_mapper_test.cpp
wow64_redirect.hpp
WowDependencyGraph
WpCurrentConnectionStatusd
WppLogger
WppLoggerDll.dll
WrapNonExceptionThrows
_wrapper
WRAPPER_DLL_NOT_FOUND
WRAPPER_HANDSHAKE_FAILED
WRAPPER_OK
WrapText
WriteAddCounterFailed
write address to registry failed
write address to registry success
Write a debug trace to FILE
WriteAllLines
WriteAllText
Write_APPV_CLIENT_Evt_ActiveProcessingCouldNotBeShutdown
Write_APPV_CLIENT_Evt_APIAccessDenied
Write_APPV_CLIENT_Evt_APILogonFailed
Write_APPV_CLIENT_Evt_APIRequiresMinimumImpersonateLevel
Write_APPV_CLIENT_Evt_AppLaunchFailedAmbiguousVE
Write_APPV_CLIENT_Evt_AppLaunchFailedDependentServiceFailed
Write_APPV_CLIENT_Evt_AppLaunchFailedPackageNotPublished
Write_APPV_CLIENT_Evt_AppLaunchFailedServiceNotRunning
Write_APPV_CLIENT_Evt_AppLaunchFailedSubsystemInitFailed
Write_APPV_CLIENT_Evt_AppLaunchFailedUserNotEntitled
Write_APPV_CLIENT_Evt_AppVErrorConnectingToServiceShuttingDown
Write_APPV_CLIENT_Evt_BackgroundLoadManagerRequiresStore
Write_APPV_CLIENT_Evt_BackgroundLoadQueueCreationFailed
Write_APPV_CLIENT_Evt_BackgroundStreamingResumed
Write_APPV_CLIENT_Evt_BackgroundStreamingResumedCS
Write_APPV_CLIENT_Evt_BackgroundStreamingResumedDueToIdle
Write_APPV_CLIENT_Evt_BackgroundStreamingSuspended
Write_APPV_CLIENT_Evt_BackgroundStreamingSuspendedCS
Write_APPV_CLIENT_Evt_BackgroundStreamingSuspendedDueToIdle
Write_APPV_CLIENT_Evt_ClientErrorStoppingPackageOrGroup
Write_APPV_CLIENT_Evt_CmpLoadFailed
Write_APPV_CLIENT_Evt_CoImpersonateFailed
Write_APPV_CLIENT_Evt_ComErrorConnectingToServiceShuttingDown
Write_APPV_CLIENT_Evt_ConfigurePackageFailedDeploymentConfigIDMismatch
Write_APPV_CLIENT_Evt_ConfigurePackageFailedDeploymentConfigInvalid
Write_APPV_CLIENT_Evt_ConfigurePackageFailedDeploymentConfigNotFound
Write_APPV_CLIENT_Evt_ConfigurePackageFailedFolderAlreadyExists
Write_APPV_CLIENT_Evt_ConfigurePackageFailedIncompatibleArchitecture
Write_APPV_CLIENT_Evt_ConfigurePackageFailedInsufficientDiskSpace
Write_APPV_CLIENT_Evt_ConfigurePackageFailedInsufficientRights
Write_APPV_CLIENT_Evt_ConfigurePackageFailedInvalidPackageArchitecture
Write_APPV_CLIENT_Evt_ConfigurePackageFailedInvalidURI
Write_APPV_CLIENT_Evt_ConfigurePackageFailedNonNTFSPackageStore
Write_APPV_CLIENT_Evt_ConfigurePackageFailedOSMismatch
Write_APPV_CLIENT_Evt_ConfigurePackageFailedPackageCorrupt
Write_APPV_CLIENT_Evt_ConfigurePackageFailedPackageNotFound
Write_APPV_CLIENT_Evt_ConfigurePackageGroupFailedDescriptorInvalid
Write_APPV_CLIENT_Evt_ConfigurePackageGroupFailedDescriptorNotFound
Write_APPV_CLIENT_Evt_ConfigurePackageGroupFailedInsufficientRights
Write_APPV_CLIENT_Evt_ConfigurePackageGroupFailedPackageNotConfigured
Write_APPV_CLIENT_Evt_ConnectionGroupGetPackagesError
Write_APPV_CLIENT_Evt_CorruptPackageDetectedAndRemoved
Write_APPV_CLIENT_Evt_CorruptPackageGroupDetectedAndRemoved
Write_APPV_CLIENT_Evt_CouldNotDeterminingLegacyAppVInstallPath
Write_APPV_CLIENT_Evt_CouldNotGetCatalogFolder
Write_APPV_CLIENT_Evt_CreationOfIdleStateDetectorFailed
Write_APPV_CLIENT_Evt_DisableAppVFailed
Write_APPV_CLIENT_Evt_EnableAppVFailed
Write_APPV_CLIENT_Evt_EnumSessionsFailed
Write_APPV_CLIENT_Evt_ErrorGettingExitCodeForSFTMIMECommand
Write_APPV_CLIENT_Evt_ErrorGivingBackExtensionPointsTo46
Write_APPV_CLIENT_Evt_ErrorReadingManagingAuthorityPolicy
Write_APPV_CLIENT_Evt_ErrorReadingOldManagingAuthorityPolicy
Write_APPV_CLIENT_Evt_ErrorTakingOverExtensionPointsFrom46
Write_APPV_CLIENT_Evt_ErrorWaitingForSFTMIMECommand
Write_APPV_CLIENT_Evt_FailedToAddProcessLaunchData
Write_APPV_CLIENT_Evt_FailedToAddProcessTerminationData
Write_APPV_CLIENT_Evt_FailedToDeleteUserPublishedGroup
Write_APPV_CLIENT_Evt_FailedToHandleProcessLaunchFailure
Write_APPV_CLIENT_Evt_FailedToHandleVirtualEnvironmentCreated
Write_APPV_CLIENT_Evt_FailedToHandleVirtualEnvironmentTerminated
Write_APPV_CLIENT_Evt_failedToRegisterAssembly
Write_APPV_CLIENT_Evt_FailedToSendReportingData
Write_APPV_CLIENT_Evt_FailedToUnpublishUserGroup
Write_APPV_CLIENT_Evt_GetApplicationPropertiesError
Write_APPV_CLIENT_Evt_GetConfigurationPropertiesError
Write_APPV_CLIENT_Evt_GetConnectionGroupPropertiesError
Write_APPV_CLIENT_Evt_GetPackagePropertiesError
Write_APPV_CLIENT_Evt_GetPublishingServerPropertiesError
Write_APPV_CLIENT_Evt_GivingBackExtensionPointsTo46
Write_APPV_CLIENT_Evt_GlobalMaintenanceFailed
Write_APPV_CLIENT_Evt_GlobalPublishRunningConnectionGroupFailed
Write_APPV_CLIENT_Evt_GlobalPublishRunningPackageFailed
Write_APPV_CLIENT_Evt_GlobalPublishRunningPackageGroupScheduled
Write_APPV_CLIENT_Evt_GlobalPublishRunningPackageScheduled
Write_APPV_CLIENT_Evt_GlobalUnpublishRunningConnectionGroupFailed
Write_APPV_CLIENT_Evt_GlobalUnpublishRunningPackageFailed
Write_APPV_CLIENT_Evt_GlobalUnpublishRunningPackageGroupScheduled
Write_APPV_CLIENT_Evt_GlobalUnpublishRunningPackageScheduled
Write_APPV_CLIENT_Evt_InvalidGatewayErrorInTransport
Write_APPV_CLIENT_Evt_InvalidPackageRootOwner
Write_APPV_CLIENT_Evt_JITVEnabledReadError
Write_APPV_CLIENT_Evt_JITVIsDisabled
Write_APPV_CLIENT_Evt_LaunchSuspendedDueToCost
Write_APPV_CLIENT_Evt_LoadXMLError
Write_APPV_CLIENT_Evt_MalformedRegistryPath
Write_APPV_CLIENT_Evt_ManifestScriptParsingFailed
Write_APPV_CLIENT_Evt_MigrateCatalogFolderFailed
Write_APPV_CLIENT_Evt_MigrateCatalogFolderTargetExists
Write_APPV_CLIENT_Evt_MigrateCatalogFolderWarning
Write_APPV_CLIENT_Evt_MountPackageFailedConnectionLost
Write_APPV_CLIENT_Evt_MountPackageFailedConnectionTimeout
Write_APPV_CLIENT_Evt_MountPackageFailedInsufficientDiskSpace
Write_APPV_CLIENT_Evt_MountPackageFailedUserLoggedOff
Write_APPV_CLIENT_Evt_PackageConfigurationFailed
Write_APPV_CLIENT_Evt_PackageConfigured
Write_APPV_CLIENT_Evt_PackageCOWDataHasBeenDeleted
Write_APPV_CLIENT_Evt_PackageGetApplicationsError
Write_APPV_CLIENT_Evt_PackageGroupConfigurationFailed
Write_APPV_CLIENT_Evt_PackageGroupConfigured
Write_APPV_CLIENT_Evt_PackageGroupCOWDataHasBeenDeleted
Write_APPV_CLIENT_Evt_PackageGroupHasNotBeenMigrated
Write_APPV_CLIENT_Evt_PackageGroupPublished
Write_APPV_CLIENT_Evt_PackageGroupPublishedGlobally
Write_APPV_CLIENT_Evt_PackageGroupRemoved
Write_APPV_CLIENT_Evt_PackageGroupUnpublished
Write_APPV_CLIENT_Evt_PackageGroupUnpublishedGlobally
Write_APPV_CLIENT_Evt_PackageHasNotBeenMigrated
Write_APPV_CLIENT_Evt_PackagePublished
Write_APPV_CLIENT_Evt_PackagePublishedGlobally
Write_APPV_CLIENT_Evt_PackageRemoved
Write_APPV_CLIENT_Evt_PackageUnpublished
Write_APPV_CLIENT_Evt_PackageUnpublishedGlobally
Write_APPV_CLIENT_Evt_PendingPublishFailedNoNetwork
Write_APPV_CLIENT_Evt_PendingUnpublishTaskVECannotStartGroupGlobal
Write_APPV_CLIENT_Evt_PendingUnpublishTaskVECannotStartGroupUser
Write_APPV_CLIENT_Evt_PendingUnpublishTaskVECannotStartPackageGlobal
Write_APPV_CLIENT_Evt_PendingUnpublishTaskVECannotStartPackageUser
Write_APPV_CLIENT_Evt_PowerNotificationRegistrationFailure
Write_APPV_CLIENT_Evt_PowerNotificationUnregistrationFailure
Write_APPV_CLIENT_Evt_PowerShellInvokeError
Write_APPV_CLIENT_Evt_PowerShellInvokeWarning
Write_APPV_CLIENT_Evt_PowershellProcessExecutionError
Write_APPV_CLIENT_Evt_PowershellProcessStartOrExitError
Write_APPV_CLIENT_Evt_ProcessAlreadyBelongsToJob
Write_APPV_CLIENT_Evt_PublicApi_EnterComMethod
Write_APPV_CLIENT_Evt_PublicApi_ExitComMethod
Write_APPV_CLIENT_Evt_publishConnectionGroupFailedVCOMSettingsMismatch
Write_APPV_CLIENT_Evt_publishConnectionGroupFailedVobjSettingsMismatch
Write_APPV_CLIENT_Evt_PublishGetPackageGroupListFailed
Write_APPV_CLIENT_Evt_publishingServerBadURL
Write_APPV_CLIENT_Evt_PublishNoMandatoryPackagesInConnectionGroupDocument
Write_APPV_CLIENT_Evt_PublishNoPackagesInConnectionGroupDocument
Write_APPV_CLIENT_Evt_PublishPackageFailedDueToErrorInitializingIntegrationSettings
Write_APPV_CLIENT_Evt_PublishPackageFailedPackageNotConfigured
Write_APPV_CLIENT_Evt_PublishPackageFailedUserConfigIDMismatch
Write_APPV_CLIENT_Evt_PublishPackageFailedUserConfigInvalid
Write_APPV_CLIENT_Evt_PublishPackageFailedUserConfigNotFound
Write_APPV_CLIENT_Evt_publishPackageFailedVcomSettingsMismatch
Write_APPV_CLIENT_Evt_publishPackageFailedVfsSettingsMismatch
Write_APPV_CLIENT_Evt_publishPackageFailedVobjSettingsMismatch
Write_APPV_CLIENT_Evt_PublishPackageGloballyFailedInsufficientRights
Write_APPV_CLIENT_Evt_PublishPackageGloballyFailedUserConfigSupplied
Write_APPV_CLIENT_Evt_PublishPackageGroupFailedPackageGroupNotConfigured
Write_APPV_CLIENT_Evt_PublishPackageGroupFailedPackageNotPublished
Write_APPV_CLIENT_Evt_PublishPackageGroupGloballyFailedInsufficientRights
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshFailed
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshOnAddFailed
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshOnGroupPublishFailed
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshOnPublishFailed
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshOnRemoveFailed
Write_APPV_CLIENT_Evt_PublishPackageGroupRefreshOnUnpublishFailed
Write_APPV_CLIENT_Evt_PublishPackageNotAvailable
Write_APPV_CLIENT_Evt_PublishPackageWarningDueToGlobalHybridGroup
Write_APPV_CLIENT_Evt_PublishRoamingGroupsFailed
Write_APPV_CLIENT_Evt_PublishRoamingPackagesFailed
Write_APPV_CLIENT_Evt_ReconfigureNonexistentPackage
Write_APPV_CLIENT_Evt_refreshConfigServerDayOutOfRange
Write_APPV_CLIENT_Evt_refreshConfigServerDuplicatedUrl
Write_APPV_CLIENT_Evt_refreshConfigServerHourOutOfRange
Write_APPV_CLIENT_Evt_refreshConfigServerIdOutOfRange
Write_APPV_CLIENT_Evt_refreshConfigServerInvalidIntervalUnit
Write_APPV_CLIENT_Evt_refreshConfigServerNoUrl
Write_APPV_CLIENT_Evt_refreshConfigServerReadRegFailed
Write_APPV_CLIENT_Evt_refreshCreateDefaultMachinePolicyDocumentFailed
Write_APPV_CLIENT_Evt_refreshCreateMachinePolicyDocumentFailed
Write_APPV_CLIENT_Evt_refreshCreatePackageGroupDescriptorDocumentFailed
Write_APPV_CLIENT_Evt_refreshCreateUserPolicyDocumentFailed
Write_APPV_CLIENT_Evt_refreshDeimpersonationFailed
Write_APPV_CLIENT_Evt_refreshGetClientDataFailed
Write_APPV_CLIENT_Evt_refreshGetClientInfoFailed
Write_APPV_CLIENT_Evt_refreshGetServerDataFailed
Write_APPV_CLIENT_Evt_refreshGroupFailedDueToPackageFailure
Write_APPV_CLIENT_Evt_refreshHttpContentCannotCovertToUnicode
Write_APPV_CLIENT_Evt_refreshHttpRequestInitializeFailed
Write_APPV_CLIENT_Evt_refreshHttpRequestSendRequestFailed
Write_APPV_CLIENT_Evt_refreshInvalidXmlContentFromServer
Write_APPV_CLIENT_Evt_refreshPartialOrNoneGroupsPublished
Write_APPV_CLIENT_Evt_refreshPartialOrNoneGroupsUnPublished
Write_APPV_CLIENT_Evt_refreshPartialOrNonePackagesPublished
Write_APPV_CLIENT_Evt_refreshPartialOrNonePackagesUnPublished
Write_APPV_CLIENT_Evt_refreshReadPolicyIdsFailed
Write_APPV_CLIENT_Evt_refreshRefreshStart
Write_APPV_CLIENT_Evt_refreshRefreshStop
Write_APPV_CLIENT_Evt_refreshServerProtocolUnknown
Write_APPV_CLIENT_Evt_refreshSettingsSynced
Write_APPV_CLIENT_Evt_refreshSettingsSyncFailed
Write_APPV_CLIENT_Evt_refreshShellRefreshFailed
Write_APPV_CLIENT_Evt_refreshShellRefreshSucceeded
Write_APPV_CLIENT_Evt_refreshSyncAppvPublishingServerComplete
Write_APPV_CLIENT_Evt_refreshSyncAppvPublishingServerPowerShellError
Write_APPV_CLIENT_Evt_refreshWritePolicyIdsFailed
Write_APPV_CLIENT_Evt_RegistrationForCostcallBackFailed
Write_APPV_CLIENT_Evt_RegistrationForSystemIdlecallBackFailed
Write_APPV_CLIENT_Evt_RemoveGroupBlockedByPendingTask
Write_APPV_CLIENT_Evt_RemovePackageBlockedByPendingTask
Write_APPV_CLIENT_Evt_RemovePackageFailedInsufficientRights
Write_APPV_CLIENT_Evt_RemovePackageFailedPackageNotConfigured
Write_APPV_CLIENT_Evt_RemovePackageGroupFailedInsufficientRights
Write_APPV_CLIENT_Evt_RemovePackageGroupFailedPackageGroupNotConfigured
Write_APPV_CLIENT_Evt_RemovePackageInConnectionGroupFailed
Write_APPV_CLIENT_Evt_RemoveRunningConnectionGroupFailed
Write_APPV_CLIENT_Evt_RemoveRunningPackageFailed
Write_APPV_CLIENT_Evt_RepairPackageFailedPackageNotConfigured
Write_APPV_CLIENT_Evt_RepairPackageGroupFailedPackageGroupNotConfigured
Write_APPV_CLIENT_Evt_RepairPackageSucceededButIsConfiguredInGroup
Write_APPV_CLIENT_Evt_ReportingBadReportCacheFile
Write_APPV_CLIENT_Evt_ReportingCacheRollover
Write_APPV_CLIENT_Evt_ReportingDataSaveFailed
Write_APPV_CLIENT_Evt_ReportingRecordProcessingAborted
Write_APPV_CLIENT_Evt_ReportingSaveAfterCacheUpdateFailed
Write_APPV_CLIENT_Evt_ReportingSaveCachePathToRegistryFailed
Write_APPV_CLIENT_Evt_RestoreToDeimpersonatedFailed
Write_APPV_CLIENT_Evt_RestoreToImpersonatedFailed
Write_APPV_CLIENT_Evt_ScriptDefinedButNotEnabled
Write_APPV_CLIENT_Evt_ScriptEnabledReadError
Write_APPV_CLIENT_Evt_ScriptExitErrorIgnored
Write_APPV_CLIENT_Evt_ScriptExitErrorRollback
Write_APPV_CLIENT_Evt_ScriptingFailedToRevertToSelf
Write_APPV_CLIENT_Evt_ScriptLauncherAboutToCreateProcess
Write_APPV_CLIENT_Evt_ScriptLauncherCreateProcessFailed
Write_APPV_CLIENT_Evt_ScriptLauncherIgnoreElapsedTimeout
Write_APPV_CLIENT_Evt_ScriptLauncherTimeoutElapsed
Write_APPV_CLIENT_Evt_ServiceShutdown
Write_APPV_CLIENT_Evt_ServiceStarted
Write_APPV_CLIENT_Evt_ServiceStartFailedDueToDisabled
Write_APPV_CLIENT_Evt_ServiceStartRebootRequired
Write_APPV_CLIENT_Evt_SettingChangesWillRequireReboot
Write_APPV_CLIENT_Evt_SFTMIMECommandExitedWithCode
Write_APPV_CLIENT_Evt_SLAPIFailure
Write_APPV_CLIENT_Evt_StreamFaultFailed
Write_APPV_CLIENT_Evt_StreamFilterInitFailed
Write_APPV_CLIENT_Evt_StreamFilter_SendMessageTimeout
Write_APPV_CLIENT_Evt_StreamRequestProcessedAsAltUser
Write_APPV_CLIENT_Evt_StreamRequestProcessedAsSystem
Write_APPV_CLIENT_Evt_SubsystemJITVInjectionFailed
Write_APPV_CLIENT_Evt_SubsystemStartupError
Write_APPV_CLIENT_Evt_TakingOverExtensionPointsFrom46
Write_APPV_CLIENT_Evt_TimedoutWaitingForSFTMIMECommand
Write_APPV_CLIENT_Evt_UnpublishGetPackageGroupListFailed
Write_APPV_CLIENT_Evt_UnpublishPackageFailedPackageNotPublished
Write_APPV_CLIENT_Evt_UnpublishPackageGloballyFailedInsufficientRights
Write_APPV_CLIENT_Evt_UnpublishPackageGroupFailedPackageGroupNotPublished
Write_APPV_CLIENT_Evt_UnpublishPackageGroupGloballyFailedInsufficientRights
Write_APPV_CLIENT_Evt_UnpublishPackageInConnectionGroupFailed
Write_APPV_CLIENT_Evt_UpdateDriverMappingsOnPackageAddFailed
Write_APPV_CLIENT_Evt_UpdateDriverMappingsOnPackagePublishFailed
Write_APPV_CLIENT_Evt_UpdateDriverMappingsOnPackageRemoveFailed
Write_APPV_CLIENT_Evt_UpdateDriverMappingsOnPackageUnpublishFailed
Write_APPV_CLIENT_Evt_UserCowStateDeleted
Write_APPV_CLIENT_Evt_UserCowStateDeletionFailed
Write_APPV_CLIENT_Evt_UserCowValidationFailed
Write_APPV_CLIENT_Evt_UserLogoffFailed
Write_APPV_CLIENT_Evt_UserLogonFailed
Write_APPV_CLIENT_Evt_UserMaintenanceFailed
Write_APPV_CLIENT_Evt_UserPublishRunningConnectionGroupFailed
Write_APPV_CLIENT_Evt_UserPublishRunningPackageFailed
Write_APPV_CLIENT_Evt_UserPublishRunningPackageGroupScheduled
Write_APPV_CLIENT_Evt_UserPublishRunningPackageScheduled
Write_APPV_CLIENT_Evt_UserSIDImpersonationFailed
Write_APPV_CLIENT_Evt_UserUnpublishRunningConnectionGroupFailed
Write_APPV_CLIENT_Evt_UserUnpublishRunningPackageFailed
Write_APPV_CLIENT_Evt_UserUnpublishRunningPackageGroupScheduled
Write_APPV_CLIENT_Evt_UserUnpublishRunningPackageScheduled
Write_APPV_CLIENT_Evt_ValidateXMLError
Write_APPV_CLIENT_Evt_VEBlockedByPublishingGroup
Write_APPV_CLIENT_Evt_VEBlockedByPublishingPackage
Write_APPV_CLIENT_Evt_VfsDeleteFailedForMergedDirectory
Write_APPV_CLIENT_Evt_VfsDeleteFailedForMergedDirectoryWithPath
Write_APPV_CLIENT_Evt_VFSFolderACLModified
Write_APPV_CLIENT_Evt_VfsRenameFailedForMergedDirectory
Write_APPV_CLIENT_Evt_VirtualAppLaunchFailed
Write_APPV_CLIENT_Evt_VirtualServicesAttemptingAutoStart
Write_APPV_CLIENT_Evt_VirtualServicesChangeServiceConfigFailed
Write_APPV_CLIENT_Evt_VirtualServicesCreateServiceIsNotVirtual
Write_APPV_CLIENT_Evt_VirtualServicesDeleteServiceFailed
Write_APPV_CLIENT_Evt_VirtualServicesDependentServiceStartFailed
Write_APPV_CLIENT_Evt_VirtualServicesFailedToAcquireStartLock
Write_APPV_CLIENT_Evt_VirtualServicesGetServicesFromManifestFailed
Write_APPV_CLIENT_Evt_VirtualServicesHandlingControlMessageFailed
Write_APPV_CLIENT_Evt_VirtualServicesServiceAutostartFailed
Write_APPV_CLIENT_Evt_VirtualServicesServiceFailedToStop
Write_APPV_CLIENT_Evt_VirtualServicesServiceStartFailed
Write_APPV_CLIENT_Evt_VirtualServicesSetServiceSecurityFailed
Write_APPV_CLIENT_Evt_VirtualServicesUnsupportedServiceStartupType
Write_APPV_CLIENT_Evt_VobjEnableConflict
Write_APPV_CLIENT_Evt_VobjPackageGroupConflict
Write_APPV_CLIENT_Evt_VregEnabledSettingPolicyMismatch
WriteAppVStreamingUXAlreadyRunning
WriteArray
WriteBlankLinesW
Write callback asked for PAUSE when not supported
WriteCollectQueryDataFailed
WriteConsole
WriteConsoleInput
WriteConsoleInputW
WriteConsoleOutput
WriteConsoleOutputAttribute
WriteConsoleOutputCharacter
WriteConsoleOutputString
WriteConsoleW
WriteCoord.X
WriteCoord.Y
WriteCreateAsUserCommandLine
WriteCreateCommandLine
WriteCreateDataRetrievalStopEventEventFailed
WriteCreatedStreamingUXProcess
WriteCreateStreamingUXProcessFailed
WRITE_DAC
WriteData
WriteDataForOemApp
WriteDataRetrievalStartedSuccessfully
WriteDefaultRegistry
WriteDeimpersonationForDataRetrievalFailed
WriteEntry
write error
WriteErrorCodeAndStatus
WriteEvent
WriteEventEntry
WriteFile
WriteFileEx
WriteFileGather
Write function fail to finish. Error: 
WriteGetFormattedCounterArrayFailed
WriteGetRawCounterValueFailed
WriteInt32
WriteKBCCommand
WriteKickoffThreadForDataRetrievalFailed
WriteLastRunData
WriteLaunchClientMgmtUXFailed
WriteLaunchProcessInUserSessionFailed
WriteLine
WriteLineWWW
WriteMessage
WriteMessageVA
_WriteNewTaskFrequency
WriteOpenLivePerformanceCounterQueryFailed
write-out
Write output to a file named as the remote file
WRITE_OWNER
WritePerformanceCounterQueryStateIsInvalid
write port number to registry failed
write port number to registry success
_writePositionInBlocks
writePpmSettingDcValueIndex
WritePrimaryFeatureBlockLoadStarted
WritePrimaryFeatureBlockPercentageChanged
WritePrivateProfileSectionW
WritePrivateProfileStringA
WritePrivateProfileStringW
_writePtrBegin
WritePublishingRefreshStatusChanged
WriteRegisterApplicationRestartFailed
WriteReimpersonationForDataRetrievalFailed
writertests.cpp
_writeSemaphore
WriteSetSecurityOnMutexFailed
WriteStartDataRetrievalFailed
WriteStatus
WriteStatusFile
WriteStopDataRetrievalFailed
WriteStoppedPollingDueToAllFullyLoadedPolicy
WriteStoppedPollingDueToDataUnchangedPolicy
WriteStopStreamingUXProcess
WriteStopStreamingUXProcessError
WriteThrough
Write to device failed. Return code: 
Write to file instead of stdout
WriteToLogFile
WriteUserKeyValue
"Writing new Thumbprint to registry"
Writing new Thumbprint to registry
Wrong command for ClsClient
Wrong command for FwuClient
Wrong command for MkhiClient
Wrong command for PthiClient
Wrong ICV
Wrong Input Parameter
wrong key was used
Wrong NONCE
wrong protocol type
wrong_protocol_type
WS2_32.dll
ws33;;;;;;;;3xxwp
WSAAddressToString failed
WSAAddressToStringW
WSACloseEvent
WSACreateEvent
WSAEnumNetworkEvents
WSAEventSelect
WSAIoctl
WSAResetEvent
WSASocketW
WSAStartup failed
WSAStartup failed: 
WSAT_TraceEvent
WSAT_TraceProvider
WSAT_TraceRecord
WSAWaitForMultipleEvents
WS_BORDER
WS_CAPTION
WS_CHILD
WS_CLIPCHILDREN
WS_CLIPSIBLINGS
WsCreateError
WsCreateHeap
WsCreateReader
WsDateTimeToFileTime
WS_DISABLED
WS_DLGFRAME
_wsetlocale
WS_EX_ACCEPTFILES
WS_EX_APPWINDOW
WS_EX_CLIENTEDGE
WS_EX_COMPOSITED
WS_EX_CONTEXTHELP
WS_EX_CONTROLPARENT
WS_EX_DLGMODALFRAME
WS_EX_LAYERED
WS_EX_LAYOUTRTL
WS_EX_LEFT
WS_EX_LEFTSCROLLBAR
WS_EX_LTRREADING
WS_EX_MDICHILD
WS_EX_NOACTIVATE
WS_EX_NOINHERITLAYOUT
WS_EX_NOPARENTNOTIFY
WS_EX_OVERLAPPEDWINDOW
WS_EX_PALETTEWINDOW
WS_EX_RIGHT
WS_EX_RIGHTSCROLLBAR
WS_EX_RTLREADING
WS_EX_STATICEDGE
WS_EX_TOOLWINDOW
WS_EX_TOPMOST
WS_EX_TRANSPARENT
WS_EX_WINDOWEDGE
WsFindAttribute
WsFreeError
WsFreeHeap
WsFreeReader
WsGetErrorProperty
WsGetErrorString
WsGetReaderNode
WsGetReaderPosition
WS_GROUP
wShowWindow
WS_HSCROLL
WSH-Timer
WS_ICONIC
WS_MAXIMIZE
WS_MAXIMIZEBOX
WS_MINIMIZE
WS_MINIMIZEBOX
WsMoveReader
WS_OVERLAPPED
WSP_Disk
WSP_DiskToPartition
WSP_DiskToStorageReliabilityCounter
WSP_FileServer
WSP_FileServerToFileShare
WSP_FileServerToVolume
WSP_FileShare
WSP_FileShareAccessControlEntry
WSPFreeBuffer
WSP_FsStorageArrivalEvent
WSP_FsStorageDepartureEvent
WSP_FsStorageModificationEvent
WSP_HealthAction
WSP_HealthActionEvent
WS_POPUP
WSP_Partition
WSP_PartitionToReplicaPeer
WSP_PartitionToVolume
WSP_ReplicaPeer
WSP_ReplicationCapabilities
WSP_ReplicationGroup
WSP_ReplicationGroupStorageArrivalEvent
WSP_ReplicationGroupStorageDepartureEvent
WSP_ReplicationGroupStorageModificationEvent
WSP_ReplicationGroupToPartition
WSP_ReplicationGroupToReplicaPeer
WSP_ReplicationGroupToVirtualDisk
WSP_ReplicationSettings
wsprintfW
WSP_StorageAlertEvent
WSP_StorageArrivalEvent
WSP_StorageDepartureEvent
WSP_StorageFaultEvent
WSP_StorageHealth
WSP_StorageHealthStatusChangeEvent
WSP_StorageModificationEvent
WSP_StorageNodeToDisk
WSP_StorageNodeToVolume
WSP_StoragePoolToVolume
WSP_StorageSubsystemToDisk
WSP_StorageSubSystemToFileServer
WSP_StorageSubSystemToFileShare
WSP_StorageSubsystemToPartition
WSP_StorageSubsystemToReplicaPeer
WSP_StorageSubsystemToReplicationCapabilities
WSP_StorageSubsystemToReplicationGroup
WSP_StorageSubsystemToStorageHealth
WSP_StorageSubsystemToVolume
WSP_Synchronized
WSP_VirtualDiskToReplicaPeer
WSP_Volume
WSP_VolumeToFileShare
WsReadBytes
WsReadChars
WsReadElement
WsReadEndAttribute
WsReadNode
WsReadStartAttribute
WsReadStartElement
WsReadToStartElement
WsReadValue
WsReadXmlBufferFromBytes
WsSetInputToBuffer
WsSetReaderPosition
WS_SIZEBOX
WsSkipNode
WS_SYSMENU
WS_TABSTOP
WS_THICKFRAME
WS_TILED
WS_VISIBLE
WS_VSCROLL
WsXmlStringEquals
WTC specified more than once
wtDDDDDG
WTGetSignatureInfo
WTHelperGetProvCertFromChain
WTHelperGetProvSignerFromChain
WTHelperProvDataFromStateData
	_wtoi64
wtsapi32.dll
WTSAPI32.dll
WTS APIs not present.
WTSDisconnectSession
WTSEnumerateProcessesW
WTSEnumerateSessionsA
WTSEnumerateSessionsExW
WTSEnumerateSessionsExW failed
WTSEnumerateSessionsW
WTSFreeMemory
WTSFreeMemoryExW
WTSGetActiveConsoleSessionId
WTSGetActiveConsoleSessionIdExport
WTSLogoffSession
WTSQuerySessionInformationW
WTSQueryUserToken
WTSRegisterSessionNotification
WTSSESSION_NOTIFICATION
WTSUnRegisterSessionNotification
wtt6Wwxx
_wupEvent
_wupMode
[W@u@vWZ
wvector too long
wVerMajor
wVerMinor
wVerticalAngle
wVerticalAngleBegin
wVerticalAngleEnd
wvsprintfW
WwanCloseHandle
WwanEnumerateInterfaces
WwanFreeMemory
WwanOpenHandle
WwanQueryInterface
wWinMain
WWNs or initiators must be specified after ADD
wwvvvvgfvgfvp
|||wwwaaa__Z
WWW-Authenticate:
www.digicert.com1!0
|||wwwjjjXXU
wwwwgwxp
wwwwvwwwx
wwwwwwpp
wwwwwwwpx
wwwwwwww
wwwwwwwwp
wwwwwwwwwg
wwwwwwwwww
wwwwwwwwwwp
wwwwwwwwwwpx
wwwwwwwwwwww
wwwwwwwwwwwwwwp
wwwwwwwwwwwwwww
wwwwwwwwwwwwwwwpx
wwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwxh
wwwwwwwwx
wwxoqwmrywxy
(wXFilesWWW
wxwwwxwwwwwwwwwwx
wxxwxwwv
w_Y1CTL:3
WzToSzWithAlloc
***x***@***
?(?@?]?x?
X500UniqueIdentifier
X64folder
X86folder
x8I;6t3H
x9fD9e@u
xa.23_14ri
xa.23_52cai
xa.atad2gepm
xa.cdoc117g
xa.cedocibv
xa.crsfvi
xa.enutvtsk
xa.frusibv
XamlGeneratedNamespace
xA_NewEnum
xa.niglpadb
xa.pacdiv
xa.pacmdwsk
xa.pnbvdsm
xa.rabxsk
xa.rdnrsisp
xa.regaptsw
x ATAUAVAW
x ATAUAVAW@
x ATAUAVAW3
x ATAUAVAWD
x ATAUAVAWH
x ATAUAVAWL
x ATAUAVH
x ATAUAWH
x ATAVAW
x ATAVAWD
x ATAVAWE
x ATAVAWH
xa.tlps2gpm
    --xattr
x AUAVAW3
x AUAVAWD
x AUAVAWE3
x AUAVAWH
x AUAVE3
x AVAWE3
xa.yxorpsk
?_Xbad_alloc@std@@YAXXZ
?_Xbad_function_call@std@@YAXXZ
XboxPackage
xco.hsalf
xco.lrtchh
xco.mohsw
xco.mxdsm
xco.nomsys
xco.tpircssm
xco.weivmd
_XcptFilter
 xd6V9T@
x(D8moutH
xDeleteWW
XDe volgende documenten mogen niet worden geopend. Omdat er mee is geknoeid door malware.
XDG_CONFIG_HOME
XDISPLOC
xednIepyTlmaX.tceriD.eroC.lmaX.IU.swodniW
xednIreyalP.krowemarF.anX.tfosorciM
xednItnevElmaX.tceriD.eroC.lmaX.IU.swodniW
XEDNIYARRARPXE.scitnameS.redniBemitnuR.prahSC.tfosorciM
xednIytreporPlmaX.tceriD.eroC.lmaX.IU.swodniW
xeIsSupportedWd
xelpuDtnirP.gnitnirP.scihparG.swodniW
xetreVhseMdnaH.elpoeP.noitpecreP.swodniW
xGD8mgtAH
xGD9uHt8
xGfA;.t3
xGraphicsRenderStandbyWWW
]XH;]PtAH
]XH;]Pt:H
]xH;]ptlL
?_Xinvalid_argument@std@@YAXPEBD@Z
xirtaM.aideM.lmaX.IU.swodniW
xirtaMhtiWtnenopmoCD3gnitnirP.D3gnitnirP.scihparG.swodniW
xirtaMhtiWtnenopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
xirtaM.krowemarF.anX.tfosorciM
xirtaMnoitatoRrosneSI.srosneS.seciveD.swodniW
xirtaMnoitatoRrosneS.srosneS.seciveD.swodniW
';xJkF9u
xkD9e0t[H
?_Xlength_error@std@@YAXPEBD@Z
xMCCS_INVALID_CONTROLCODE
XmlArrayAttribute
XmlArrayItemAttribute
XmlAttributeAttribute
xmlattributeimpl.cpp
xmlconfigitem.cpp
xmlconfigitem.h
xmldll.cpp
xmldll.h
XmlElementAttribute
xmlelement.h
xmlelementimpl.cpp
xmlfile.cpp
_xmlFileName
_xmlFilePath
XMLHSkipXMLProlog
XmlIgnoreAttribute
xml_integration_utils.hpp
xml_interface.hpp
xml_interface_test.cpp
XmlLite.dll
xmlparser.h
xmlparserimpl.cpp
XML parse was unsuccessful but no failure was given.
xmlprocessing.cpp
xmlprocessing.h
xmlprocessingmock.cpp
xmlprocessingmock.h
XmlRootAttribute
xmlsearch.cpp
xmlsearch.h
xmlsearch_test.cpp
xmlsearchtestsink.h
XmlSerializer
XmlTextAttribute
xmlutils.cpp
xmlutils.h
xmlutilsmock.cpp
xmlutilsmock.h
xmlutilsmocks.hpp
xmlutils.stub.cpp
xmlutilstest2.cpp
xmlutilstest.cpp
xmlutilstest.h
xml_variants.hpp
xml_variants_test.cpp
xml_version
xml_writer.cpp
xmVerticalCropStep|.
XNektet 
xoBdetneirOgnidnuoBlaitapS.laitapS.noitpecreP.swodniW
xoBdrowssaPI.slortnoC.lmaX.IU.swodniW
xoBdrowssaP.slortnoC.lmaX.IU.swodniW
xoBgnidnuoBenecSI.senecS.noitisopmoC.IU.swodniW
xoBgnidnuoBenecS.senecS.noitisopmoC.IU.swodniW
xoBgnidnuoB.krowemarF.anX.tfosorciM
xoBgnidnuoBlaitapS.laitapS.noitpecreP.swodniW
xoBgnidnuoboeGI.noitacoloeG.seciveD.swodniW
xoBgnidnuoboeG.noitacoloeG.seciveD.swodniW
xoBhcraeSI.slortnoC.lmaX.IU.swodniW
xoBhcraeS.slortnoC.lmaX.IU.swodniW
xoBkcehCI.slortnoC.lmaX.IU.swodniW
xoBkcehCmotsuCnpVI.npV.gnikrowteN.swodniW
xoBkcehCmotsuCnpV.npV.gnikrowteN.swodniW
xoBkcehC.slortnoC.lmaX.IU.swodniW
xobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
xobliaMliamE.liamE.ledoMnoitacilppA.swodniW
xoBobmoCI.slortnoC.lmaX.IU.swodniW
xoBobmoCmotsuCnpVI.npV.gnikrowteN.swodniW
xoBobmoCmotsuCnpV.npV.gnikrowteN.swodniW
xoBobmoC.slortnoC.lmaX.IU.swodniW
xoBrorrEmotsuCnpVI.npV.gnikrowteN.swodniW
xoBrorrEmotsuCnpV.npV.gnikrowteN.swodniW
xoBtidEhciRI.slortnoC.lmaX.IU.swodniW
xoBtidEhciR.slortnoC.lmaX.IU.swodniW
xoBtidEmotsuCnpVI.npV.gnikrowteN.swodniW
xoBtidEmotsuCnpV.npV.gnikrowteN.swodniW
xoBtsegguSotuAI.slortnoC.lmaX.IU.swodniW
xoBtsegguSotuA.slortnoC.lmaX.IU.swodniW
xoBtsiLI.slortnoC.lmaX.IU.swodniW
xoBtsiL.slortnoC.lmaX.IU.swodniW
xoBtxeTI.slortnoC.lmaX.IU.swodniW
xoBtxeTmotsuCnpVI.npV.gnikrowteN.swodniW
xoBtxeTmotsuCnpV.npV.gnikrowteN.swodniW
xoBtxeT.slortnoC.lmaX.IU.swodniW
xobweiVI.slortnoC.lmaX.IU.swodniW
xoBweiVnoitisopmoCI.noitisopmoC.IU.swodniW
xoBweiVnoitisopmoC.noitisopmoC.IU.swodniW
xobweiV.slortnoC.lmaX.IU.swodniW
xOH9u(t"L
xOI;7tJH
?_Xout_of_range@std@@YAXPEBD@Z
xp8]0tkH
xPD9EGuJH
-XpvarSize
?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z
?_Xruntime_error@std@@YAXPEBD@Z
xserverURLWWW
xSfA;.t?D
XSOIBTEN
XSxAllocateEventTraceProp
xthbZQO;?
_Xtime_get_ticks
XtnemngilA.aideM.lmaX.IU.swodniW
x UATAUAVAWH
x UATAUH
x UATAVH
x UATAWH
x UAUAVH
x UAUAWH
x UAVAWH
xumeDmaertStropsnarT.smaertSyratnemelE.aideM.enohP.tfosorciM
X UVWATAUAVAWH
X UVWAVAWH
X UWATAUAWH
'X)viJQQW
XVYCC_GET_FAILED
XVYCC_INVALID_DISPLAY_TYPEWW
XVYCC_NOT_SUPPORTEDW
XVYCC_SET_FAILED
XVYCC_SUCCESSWWW
xvYCCWWW
x	wcsspn
xWD8e@tQ
xWI96tRI
XWIZARD_TRACE_GUID
xwJwwIJI
@xwv@onm@
xX8Mhu)H
xXI96tSI
|||xxvzyr
xxwxwwwwgx
XXX8Pvh8v
xxxiiiji[
xxxnnmcc[
xxxrrrdc]fdY
xxxs3;;;;3xx
xxxxgwww
xxxxxxxxxx
xxxxxxxxxxwx
xxxxxxxxxxxxxxwph
y0123456789ABCDEF
Y08AHt	H
y-2.g@dl
Y3PanelSelfRefresh
yalpsiDcihpargoloH.cihpargoloH.scihparG.swodniW
yalpsiDcihpargoloHI.cihpargoloH.scihparG.swodniW
yalpsiDeniLdemialC.ecivreSfOtnioP.seciveD.swodniW
yalpsiDeniLdemialCI.ecivreSfOtnioP.seciveD.swodniW
yalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
yalpsiDeniLI.ecivreSfOtnioP.seciveD.swodniW
yalrevOaideM.gnitidE.aideM.swodniW
yalrevOaideMI.gnitidE.aideM.swodniW
yalrevOpaM.slortnoC.spaM.enohP.tfosorciM
yalrevOtahCemaGI.IU.gnimaG.swodniW
yalrevOtahCemaG.IU.gnimaG.swodniW
yaR.krowemarF.anX.tfosorciM
yaRlaitapS.laitapS.noitpecreP.swodniW
yarrAepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
yarrAhsaDekortSnoitisopmoC.noitisopmoC.IU.swodniW
yarrAnosJI.nosJ.ataD.swodniW
yarrAnosJ.nosJ.ataD.swodniW
yarrApmaLI.sthgiL.seciveD.swodniW
yarrApmaL.sthgiL.seciveD.swodniW
yarrAseliFdetceleSrekciPeliF.srekciP.egarotS.swodniW
yarTmetsyS.llehS.enohP.tfosorciM
yASPECT_RATIO_4_3
YCAGELNAth
ycaruccAderiseDnoitacoLpaM.spaM.secivreS.swodniW
ycaruccAesoPtnioJ.elpoeP.noitpecreP.swodniW
ycaruccAgnidaeHgnidaeRssapmoCI.srosneS.seciveD.swodniW
ycaruccAnoitisoPecruoSnoitcaretnIlaitapS.laitapS.tupnI.IU.swodniW
ycaruccAnoitisoP.noitacoloeG.seciveD.swodniW
ycaruccAralacShtiWrotacoloeGI.noitacoloeG.seciveD.swodniW
ycaruccAretemotengaM.srosneS.seciveD.swodniW
ycaruccAwaYgnidaeRretemonilcnII.srosneS.seciveD.swodniW
ycaruccAwaYgnidaeRrosneSnoitatneirOI.srosneS.seciveD.swodniW
ycbcr2plane444Formats
ycbcrImageArrays
YCbCrWWW@
yciloPcnySgnigasseM.ecalpkroW.tnemeganaM.swodniW
yciloPcnySnIredivorPegarotS.redivorP.egarotS.swodniW
yciloPdemaN.seiciloP.tnemeganaM.swodniW
yciloPecruoSwodahSporDnoitisopmoC.noitisopmoC.IU.swodniW
yciloPeliforPmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
yciloPeliforPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
yciloPerutpaCtegraTraBemaG.erutpaC.aideM.swodniW
yciloPesworBsnoitcirtseRtnetnoCI.snoitcirtseRtnetnoC.aideM.swodniW
yciloPesworBsnoitcirtseRtnetnoC.snoitcirtseRtnetnoC.aideM.swodniW
yciloPetuoRI.ytivitcennoC.gnikrowteN.swodniW
yciloPetuoR.ytivitcennoC.gnikrowteN.swodniW
yciloPknildraHredivorPegarotS.redivorP.egarotS.swodniW
yciloPmdM.ecalpkroW.tnemeganaM.swodniW
yciloPmiSEI.srotarepOkrowteN.gnikrowteN.swodniW
yciloPmiSE.srotarepOkrowteN.gnikrowteN.swodniW
yciloPniahCetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yciloPniPdraCtramSI.sdraCtramS.seciveD.swodniW
yciloPniPdraCtramS.sdraCtramS.seciveD.swodniW
yciloPnoitalupoPredivorPegarotS.redivorP.egarotS.swodniW
yciloPnoitardyHredivorPegarotS.redivorP.egarotS.swodniW
yciloPnoitavitcApuorGdItelppAdraCtramS.sdraCtramS.seciveD.swodniW
yciloPtamroFoiduAlaitapSytilaeRdexiM.oiduA.aideM.swodniW
yciloPtnemelbanErotalumEdraCtramS.sdraCtramS.seciveD.swodniW
yciloPtsoCrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
yciloPyalpsiDenaPtupnItxeTeroC.eroC.txeT.IU.swodniW
yciloPytirgetnIswodniW.eliforP.metsyS.swodniW
yciloPytiruceStneilCsaE.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
yciloPytiruceStneilCsaEI.gninoisivorPcnySevitcAegnahcxE.ytiruceS.swodniW
ycnednepeDmroftalP.TRniW.derahS.gnisitrevdA.tfosorciM
ycneiciffuStropxErohcnAlaitapSI.laitapS.noitpecreP.swodniW
ycneiciffuStropxErohcnAlaitapS.laitapS.noitpecreP.swodniW
ycneuqerFenilrewoP.erutpaC.aideM.swodniW
yDe volgende toepassingen mogen niet worden gestart. Omdat de handtekening van de leverancier van de toepassing anders is.
yDt#@8yAr
YDt"8YAr
YDYNAMICFRAMERATECONTROL_SET_FAILEDWW
YEipJq8J
yeKcihpargotpyrC.eroC.yhpargotpyrC.ytiruceS.swodniW
yeKcihpargotpyrCI.eroC.yhpargotpyrC.ytiruceS.swodniW
yeKdauQ.slortnoC.spaM.enohP.tfosorciM
yeKdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
yeKetalpmeTataDI.lmaX.IU.swodniW
yeKetalpmeTataD.lmaX.IU.swodniW
yeKevruC.krowemarF.anX.tfosorciM
yeKlautriV.metsyS.swodniW
yeKmetsySnoitagivaN.poretnI.ledoMksaT.enohP.tfosorciM
yeKynohpeleT.seciveD.aideM.swodniW
'YellowMaximumWWW81
*YellowMinimumWWW81
YellowValueW81
YepCustomTimingWWWt'
ygetartSgnikcatSeniL.lmaX.IU.swodniW
ygetartSnoitagivaNsucoFYX.tupnI.lmaX.IU.swodniW
ygolobmySedocraBtellaW.tellaW.ledoMnoitacilppA.swodniW
ygolopoTevitimirPXtceriD.XtceriD.scihparG.swodniW
yhpargopyTI.stnemucoD.lmaX.IU.swodniW
yhpargopyT.stnemucoD.lmaX.IU.swodniW
Y(H;Y0tK@
yisGlobal
y:IsParametersValidWWW
Y@jSSg p
ylimaFtnoF.aideM.lmaX.IU.swodniW
ylimaFtnoFI.aideM.lmaX.IU.swodniW
ylnOfeRgrArrE.srorrE.redniBemitnuR.prahSC.tfosorciM
yLoadPackageGroupd
ylpeRdssUI.srotarepOkrowteN.gnikrowteN.swodniW
ylpeRdssU.srotarepOkrowteN.gnikrowteN.swodniW
ylpeRotuAxobliaMliamEI.liamE.ledoMnoitacilppA.swodniW
ylpeRotuAxobliaMliamE.liamE.ledoMnoitacilppA.swodniW
YNK specified more than once
ynnistys estettiin. Koska sovellustoimittajan allekirjoitus on erilainen.
ynnistys estettiin. Koska valtuuttamattomat sovellukset ovat korvanneet alkuper
yONotifyWW
YourPhoneTaskbarIconCreated
YPANELSELFREFRESH_GET_FAILEDW
yranoitciDecruoseRI.lmaX.IU.swodniW
yranoitciDecruoseR.lmaX.IU.swodniW
yranoitciDnoitcasnarTtellaW.tellaW.enohP.tfosorciM
yranoitciDytreporP.secivreSremaG.krowemarF.anX.tfosorciM
yranoitciDytreporPtellaWmotsuC.tellaW.enohP.tfosorciM
yrarbiLaideM.aideM.krowemarF.anX.tfosorciM
yrarbiLegarotS.egarotS.swodniW
yrarbiLegarotSI.egarotS.swodniW
yrettaBI.rewoP.seciveD.swodniW
yrettaB.rewoP.seciveD.swodniW
yreuQcedoC.eroC.aideM.swodniW
yreuQcedoCI.eroC.aideM.swodniW
yreuQedocoeGesreveR.secivreS.spaM.enohP.tfosorciM
yreuQedocoeG.secivreS.spaM.enohP.tfosorciM
yreuQeliFnommoC.hcraeS.egarotS.swodniW
yreuQetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yreuQetacifitreC.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yreuQetuoR.secivreS.spaM.enohP.tfosorciM
yreuQnoisulccO.scihparG.krowemarF.anX.tfosorciM
yreuQofnIbolBevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
yreuQofnIbolBevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
yreuQofnIreniatnoCevaSemaG.egarotS.eviLxobX.gnimaG.swodniW
yreuQofnIreniatnoCevaSemaGI.egarotS.eviLxobX.gnimaG.swodniW
yreuQredloFnommoC.hcraeS.egarotS.swodniW
yreuQrexednItnetnoC.hcraeS.egarotS.swodniW
yreuQrexednItnetnoCI.hcraeS.egarotS.swodniW
yreuQtxeTcitnameSI.txeT.ataD.swodniW
yreuQtxeTcitnameS.txeT.ataD.swodniW
yrogetaCaideM.erutpaC.aideM.swodniW
yrogetaCcedoC.eroC.aideM.swodniW
yrogetaCdleiFtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
yrogetaCedoCrorrEtropsnarTtahC.tahC.ledoMnoitacilppA.swodniW
yrogetaClareneGedocinU.txeT.ataD.swodniW
yrogetaCnoitacidnySI.noitacidnyS.beW.swodniW
yrogetaCnoitacidnyS.noitacidnyS.beW.swodniW
yrogetaCnoitalumEdraCtramS.sdraCtramS.seciveD.swodniW
yrogetaCoiduA.aideM.lmaX.IU.swodniW
yrogetaCoiduAreyalPaideM.kcabyalP.aideM.swodniW
yrogetaCredneRoiduA.redneR.aideM.swodniW
yrogetaCtnetnoCdetaR.snoitcirtseRtnetnoC.aideM.swodniW
yrogetaCtsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
yrotcaF2VreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFaremaCpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFatadateMytreporPI.lmaX.IU.swodniW
yrotcaFataDdohteMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFataDmotsuCDNI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFataDnoitacifitoNI.snoitacifitoN.IU.swodniW
yrotcaFataDrerutcafunaMELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
yrotcaFataDrorrEsoPdeifinUI.ecivreSfOtnioP.seciveD.swodniW
yrotcaFbreVtellaWI.tellaW.ledoMnoitacilppA.swodniW
yrotcaFbuHI.slortnoC.lmaX.IU.swodniW
yrotcaFD3ledoMpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFD3mrofsnarTI.D3aideM.aideM.lmaX.IU.swodniW
yrotcaFdeeFnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFdIecafretnInpVI.npV.gnikrowteN.swodniW
yrotcaFdIppAnpVI.npV.gnikrowteN.swodniW
yrotcaFdirGI.slortnoC.lmaX.IU.swodniW
yrotcaFdleiFegasseMtnatsnItcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
yrotcaFdleiFnoitacoLtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
yrotcaFdleiFtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
yrotcaFdleiFtcatnoC.stcatnoC.ledoMnoitacilppA.swodniW
yrotcaFdlohserhTataDretemodePI.srosneS.seciveD.swodniW
yrotcaFdlohserhTataDrosneSytimixorPI.srosneS.seciveD.swodniW
yrotcaFdnammoCIUdradnatSI.tupnI.lmaX.IU.swodniW
yrotcaFdnammoCIUI.spupoP.IU.swodniW
yrotcaFdnammoCIUlmaXI.tupnI.lmaX.IU.swodniW
yrotcaFdnammoClaitnederCI.sgnitteSnoitacilppA.IU.swodniW
yrotcaFdnammoCredivorPtnuoccAbeWI.sgnitteSnoitacilppA.IU.swodniW
yrotcaFdnammoCsgnitteSI.sgnitteSnoitacilppA.IU.swodniW
yrotcaFdnammoCtnuoccAbeWI.sgnitteSnoitacilppA.IU.swodniW
yrotcaFdohteMpttHI.pttH.beW.swodniW
yrotcaFdraoblliBpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecafruSgniwarDlautriVnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFecafruSgniwarDnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFeciveDledoMgninraeLI.gninraeLenihcaM.IA.swodniW
yrotcaFecnatsnIecivreSdssnDI.dssnD.yrevocsiDecivreS.gnikrowteN.swodniW
yrotcaFecnefoeGI.gnicnefoeG.noitacoloeG.seciveD.swodniW
yrotcaFecneirepxEedisteertSI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecneirepxEmotsuCpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSataDeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSataDeliTpaMlacoLI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSataDeliTpaMmotsuCI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSataDeliTpaMpttHI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSegamIecafruSI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFecruoSegamIecafruSlautriVI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFecruoSegamIgvSI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFecruoSegamII.aideM.lmaX.IU.swodniW
yrotcaFecruoSeliTpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSevitaleRI.ataD.lmaX.IU.swodniW
yrotcaFecruoSlmaXwodniWpotkseDI.gnitsoH.lmaX.IU.swodniW
yrotcaFecruoSmaertSaideMI.eroC.aideM.swodniW
yrotcaFecruoSnocIhtaPI.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSnocII.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSnocIlobmySI.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSnocIpamtiBI.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSnocItnoFI.slortnoC.lmaX.IU.swodniW
yrotcaFecruoSpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFedoClortnoCOII.motsuC.seciveD.swodniW
yrotcaFedocraBtellaWI.tellaW.ledoMnoitacilppA.swodniW
yrotcaFedoMehcaCI.aideM.lmaX.IU.swodniW
yrotcaFedoNnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFedoNweiVeerTI.slortnoC.lmaX.IU.swodniW
yrotcaFegamIpamtiBI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFegaPI.slortnoC.lmaX.IU.swodniW
yrotcaFegasseMdssUI.srotarepOkrowteN.gnikrowteN.swodniW
yrotcaFegasseMedoCemiTidiMI.idiM.seciveD.swodniW
yrotcaFegasseMegnahCdneBhctiPidiMI.idiM.seciveD.swodniW
yrotcaFegasseMegnahClortnoCidiMI.idiM.seciveD.swodniW
yrotcaFegasseMegnahCmargorPidiMI.idiM.seciveD.swodniW
yrotcaFegasseMerusserPlennahCidiMI.idiM.seciveD.swodniW
yrotcaFegasseMerusserPyeKcinohpyloPidiMI.idiM.seciveD.swodniW
yrotcaFegasseMesnopseRpttHI.pttH.beW.swodniW
yrotcaFegasseMevisulcxEmetsySidiMI.idiM.seciveD.swodniW
yrotcaFegasseMffOetoNidiMI.idiM.seciveD.swodniW
yrotcaFegasseMnOetoNidiMI.idiM.seciveD.swodniW
yrotcaFegasseMretnioPnoitisoPgnoSidiMI.idiM.seciveD.swodniW
yrotcaFegasseMtceleSgnoSidiMI.idiM.seciveD.swodniW
yrotcaFegasseMtseuqeRpttHI.pttH.beW.swodniW
yrotcaFegaugnaLI.noitazilabolG.swodniW
yrotcaFegnaRegaPtnirPI.gnitnirP.scihparG.swodniW
yrotcaFegnaRxednImetII.ataD.lmaX.IU.swodniW
yrotcaFeikooCpttHI.pttH.beW.swodniW
yrotcaFekortSknIlatnemercnIeroCI.eroC.gniknI.tupnI.IU.swodniW
yrotcaFelbaretIesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFelbaretIniamoDydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFelbaretIpotSeruceSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFelcricoeGI.noitacoloeG.seciveD.swodniW
yrotcaFeliTyradnoceSI.neercStratS.IU.swodniW
yrotcaFeluRretliFsmSI.smS.seciveD.swodniW
yrotcaFelytSI.lmaX.IU.swodniW
yrotcaFelytSpuorGI.slortnoC.lmaX.IU.swodniW
yrotcaFemaNepocStupnII.tupnI.lmaX.IU.swodniW
yrotcaFemaNtsoHI.gnikrowteN.swodniW
yrotcaFemarFI.slortnoC.lmaX.IU.swodniW
yrotcaFemarFoediVI.aideM.swodniW
yrotcaFemarFoiduAI.aideM.swodniW
yrotcaFemarFyeKelbuoDI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFemarFyeKroloCI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFemarFyeKtcejbOI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFemarFyeKtnioPI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFenilemiTI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFenilnII.stnemucoD.lmaX.IU.swodniW
yrotcaFepahSI.sepahS.lmaX.IU.swodniW
yrotcaFepahSnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFepyT.scitnameS.redniBemitnuR.prahSC.tfosorciM
yrotcaFerutangiSdehcateDsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yrotcaFerutangiSdehcattAsmCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yrotcaFerutciPnosrePI.slortnoC.lmaX.IU.swodniW
yrotcaFesaBegnaRI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFesaBgnidniBI.ataD.lmaX.IU.swodniW
yrotcaFesaBhsurBnoitisopmoClmaXI.aideM.lmaX.IU.swodniW
yrotcaFesaBmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFesaBmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFesaBnoisserpxEgnidniBI.ataD.lmaX.IU.swodniW
yrotcaFesaBnoitcnuFgnisaEI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFesaBnottuBI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFesaBreggirTetatSI.lmaX.IU.swodniW
yrotcaFesaBreggirTI.lmaX.IU.swodniW
yrotcaFesaBrethgilhgiHtxeTI.stnemucoD.lmaX.IU.swodniW
yrotcaFesaBretteSI.lmaX.IU.swodniW
yrotcaFesaBtuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFesaBtuoylFrekciPI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFesnopseRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
yrotcaFesnopseRnekoTredivorPbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
yrotcaFetacifitreCI.setacifitreC.yhpargotpyrC.ytiruceS.swodniW
yrotcaFetalpmeTataDI.lmaX.IU.swodniW
yrotcaFetalpmeTkrowemarFI.lmaX.IU.swodniW
yrotcaFetalpmeTmrIliamEI.liamE.ledoMnoitacilppA.swodniW
yrotcaFetubirttAnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFetuoRnpVI.npV.gnikrowteN.swodniW
yrotcaFeulaVdepyTpamtiBI.gnigamI.scihparG.swodniW
yrotcaFeulaVredaeHegnaRtnetnoCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHegnellahCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHepyTaideMpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHeulaVemaNpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHgnidoCrefsnarTpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHnoitatcepxEpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHnoitisopsiDtnetnoCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHnoitpOnoitcennoCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHofnItcudorPpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHriaPeikooCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHslaitnederCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHtcudorPpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHytilauQhtiWegnaRegaugnaLpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHytilauQhtiWepyTaideMpttHI.sredaeH.pttH.beW.swodniW
yrotcaFeulaVredaeHytilauQhtiWgnidoCtnetnoCpttHI.sredaeH.pttH.beW.swodniW
yrotcaFgnidniBI.ataD.lmaX.IU.swodniW
yrotcaFgnidniBledoMgninraeLI.gninraeLenihcaM.IA.swodniW
yrotcaFgolaiDegasseMI.spupoP.IU.swodniW
yrotcaFgolaiDtnetnoCI.slortnoC.lmaX.IU.swodniW
yrotcaFgolaiDwodniWeroCI.eroC.IU.swodniW
yrotcaFhsurBcilyrcAI.aideM.lmaX.IU.swodniW
yrotcaFhsurBdnuorgkcaBlaeveRI.aideM.lmaX.IU.swodniW
yrotcaFhsurBeliTI.aideM.lmaX.IU.swodniW
yrotcaFhsurBI.aideM.lmaX.IU.swodniW
yrotcaFhsurBlaeveRI.aideM.lmaX.IU.swodniW
yrotcaFhsurBnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFhsurBredroBlaeveRI.aideM.lmaX.IU.swodniW
yrotcaFhsurBroloCdiloSI.aideM.lmaX.IU.swodniW
yrotcaFhsurBtneidarGI.aideM.lmaX.IU.swodniW
yrotcaFhsurBtneidarGnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFhsurBtneidarGraeniLI.aideM.lmaX.IU.swodniW
yrotcaFhtaPI.sepahS.lmaX.IU.swodniW
yrotcaFhtaPnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFhtapoeGI.noitacoloeG.seciveD.swodniW
yrotcaFhtaPytreporPI.lmaX.IU.swodniW
yrotcaFhtaPytreporPtegraTI.lmaX.IU.swodniW
yrotcaFkaerBaideMI.kcabyalP.aideM.swodniW
yrotcaFkcarTatadateMdemiTI.eroC.aideM.swodniW
yrotcaFkcolBI.stnemucoD.lmaX.IU.swodniW
yrotcaFkniLnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFksaTdnuorgkcaBgniredneRlmaXI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFksaTI.poretnI.ledoMksaT.enohP.tfosorciM
yrotcaFksaT.poretnI.ledoMksaT.enohP.tfosorciM
yrotcaFlairetaMenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFlairetaMrbPenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFlaitnederCI.slaitnederC.ytiruceS.swodniW
yrotcaFlarrefeDI.noitadnuoF.swodniW
yrotcaFlausiVI.noitisopmoC.IU.swodniW
yrotcaFlausiVreniatnoCI.noitisopmoC.IU.swodniW
yrotcaFlaVtsnoC.scitnameS.redniBemitnuR.prahSC.tfosorciM
yrotcaFlenaPdnuorgkcaBniahCpawSI.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPevitaleRI.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPgnizilautriVdetneirOI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPgnizilautriVI.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPI.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPkcatSI.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPlesuoraCI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFlenaPniahCpawSI.slortnoC.lmaX.IU.swodniW
yrotcaFlennahCegasseMnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFlennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
yrotcaFlortnoCepiwSI.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCgnitaRI.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCI.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCnoitarugifnoCnePrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCresUI.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCsmetII.slortnoC.lmaX.IU.swodniW
yrotcaFlortnoCtnetnoCI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIepiwSI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIkcabyalPaideMI.kcabyalP.aideM.swodniW
yrotcaFmetIkroWdetacollaerPI.eroC.gnidaerhT.metsyS.swodniW
yrotcaFmetInoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFmetIpuorGI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIraBuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIredaeHesaBweiVtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIredaeHtoviPI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFmetIredaeHweiVdirGI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIredaeHweiVtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIrotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFmetItellaWI.tellaW.ledoMnoitacilppA.swodniW
yrotcaFmetItnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFmetItoviPI.slortnoC.lmaX.IU.swodniW
yrotcaFmetItuoylFrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFmetItuoylFuneMelggoTI.slortnoC.lmaX.IU.swodniW
yrotcaFmetItuoylFuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIweiVdirGI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIweiVpilFI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIweiVtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIxoBobmoCI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIxoBtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFmetIyaDweiVradnelaCI.slortnoC.lmaX.IU.swodniW
yrotcaFmrofsnarTI.aideM.lmaX.IU.swodniW
yrotcaFmrofsnarTlareneGI.aideM.lmaX.IU.swodniW
yrotcaFmrofsnarTnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFmurtcepSroloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFmyScsiM.scitnameS.redniBemitnuR.prahSC.tfosorciM
yrotcaFmyS.scitnameS.redniBemitnuR.prahSC.tfosorciM
yrotcaFnapSI.stnemucoD.lmaX.IU.swodniW
yrotcaFnekoTtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFnePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnocIhtaPI.slortnoC.lmaX.IU.swodniW
yrotcaFnocIlobmySI.slortnoC.lmaX.IU.swodniW
yrotcaFnocIpamtiBI.slortnoC.lmaX.IU.swodniW
yrotcaFnocItnoFI.slortnoC.lmaX.IU.swodniW
yrotcaFnoigeRcihpargoeGI.noitazilabolG.swodniW
yrotcaFnoisnetxEdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
yrotcaFnoisnetxEpukraMI.pukraM.lmaX.IU.swodniW
yrotcaFnoisserpxEgnidniBI.ataD.lmaX.IU.swodniW
yrotcaFnoisseSesneciLydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFnoisseSgniggoLeliFI.scitsongaiD.noitadnuoF.swodniW
yrotcaFnoisseSgniggoLI.scitsongaiD.noitadnuoF.swodniW
yrotcaFnoisseSledoMgninraeLI.gninraeLenihcaM.IA.swodniW
yrotcaFnoitacifitoNegdaBI.snoitacifitoN.IU.swodniW
yrotcaFnoitacifitoNeliTdeludehcSI.snoitacifitoN.IU.swodniW
yrotcaFnoitacifitoNeliTI.snoitacifitoN.IU.swodniW
yrotcaFnoitacifitoNtsaoTdeludehcSI.snoitacifitoN.IU.swodniW
yrotcaFnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
yrotcaFnoitacifitoNtuoylFeliTI.snoitacifitoN.IU.swodniW
yrotcaFnoitacilppAI.lmaX.IU.swodniW
yrotcaFnoitalerroCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
yrotcaFnoitalosImedoMdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
yrotcaFnoitaminAemarFyeKI.noitisopmoC.IU.swodniW
yrotcaFnoitaminAnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFnoitaminAnoitoMlarutaN2rotceVI.noitisopmoC.IU.swodniW
yrotcaFnoitaminAnoitoMlarutaN3rotceVI.noitisopmoC.IU.swodniW
yrotcaFnoitaminAnoitoMlarutaNI.noitisopmoC.IU.swodniW
yrotcaFnoitaminAnoitoMlarutaNralacSI.noitisopmoC.IU.swodniW
yrotcaFnoitamrofnIeliFI.sseccAkluB.egarotS.swodniW
yrotcaFnoitamrofnIeliF.sseccAkluB.egarotS.swodniW
yrotcaFnoitarugifnoCnoitaminAdetcennoCcisaBI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFnoitarugifnoCnoitaminAdetcennoCI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFnoitarugifnoCnoitaminAdetcennoCtceriDI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFnoitarugifnoCnoitaminAdetcennoCytivarGI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFnoitarugifnoCnoitatneserPwodniWppAI.tnemeganaMwodniW.IU.swodniW
yrotcaFnoitatonnAnoitamotuAI.noitamotuA.lmaX.IU.swodniW
yrotcaFnoitatonnAreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFnoitavitcAteGI.noitadnuoF.swodniW
yrotcaFnoitcAreggirTI.lmaX.IU.swodniW
yrotcaFnoitcejorPI.aideM.lmaX.IU.swodniW
yrotcaFnoitcelloCkaeWtnemelEIUI.lmaX.IU.swodniW
yrotcaFnoitcelloCtcejbOycnednepeDI.lmaX.IU.swodniW
yrotcaFnoitcelloCtsaoTI.snoitacifitoN.IU.swodniW
yrotcaFnoitcennoCecivreSppAecruoSaideMI.eroC.aideM.swodniW
yrotcaFnoitceSataDtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
yrotcaFnoitceSbuHI.slortnoC.lmaX.IU.swodniW
yrotcaFnoitcnuFgnisaEnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFnoitidnoCmetsySI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFnoitinifeDrotisopmoCoediVI.stceffE.aideM.swodniW
yrotcaFnoitinifeDtceffEbreveRI.oiduA.aideM.swodniW
yrotcaFnoitinifeDtceffEoediVI.stceffE.aideM.swodniW
yrotcaFnoitinifeDtceffEohcEI.oiduA.aideM.swodniW
yrotcaFnoitinifeDtceffEoiduAI.stceffE.aideM.swodniW
yrotcaFnoitinifeDtceffEretimiLI.oiduA.aideM.swodniW
yrotcaFnoitinifeDtceffErezilauqEI.oiduA.aideM.swodniW
yrotcaFnoitisnarT3rotceVI.lmaX.IU.swodniW
yrotcaFnoitisnarThsurBI.lmaX.IU.swodniW
yrotcaFnoitisnarTI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFnoitisnarTlausiVI.lmaX.IU.swodniW
yrotcaFnoitisnarTralacSI.lmaX.IU.swodniW
yrotcaFnoitpircseDnoitaminAI.scirteMnoitaminA.eroC.IU.swodniW
yrotcaFnoitpircseDtnetnoCdetaRI.snoitcirtseRtnetnoC.aideM.swodniW
yrotcaFnoitpircseDyramirPyalpsiDI.eroC.yalpsiD.seciveD.swodniW
yrotcaFnoitpOgnippihStnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFnoitubirttAytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
yrotcaFnosrePnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFnottuBelggoTI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBelggoTmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBelggoTrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBelggoTraBppAI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBknilrepyHI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBlicnePrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBlicnetSrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBlooTmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBlooTrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBnePmotsuCrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBnePrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBnePtniopllaBrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBnwoDporDI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBoidaRI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBraBppAI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBreluRrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBresarErablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBrethgilhgiHrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBtilpSelggoTI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBtilpSI.slortnoC.lmaX.IU.swodniW
yrotcaFnottuBuneMrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFnrettaPetyBtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
yrotcaFofnIdapemaGtupnIdetcejnII.noitcejnI.weiverP.tupnI.IU.swodniW
yrotcaFofnIecapsemaNnpVI.npV.gnikrowteN.swodniW
yrotcaFofnIecivreSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFofnIegamImetIgnitaRI.slortnoC.lmaX.IU.swodniW
yrotcaFofnIegasseMnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFofnIemaNniamoDnpVI.npV.gnikrowteN.swodniW
yrotcaFofnImetIgnitaRI.slortnoC.lmaX.IU.swodniW
yrotcaFofnImrIliamEI.liamE.ledoMnoitacilppA.swodniW
yrotcaFofnInoitisnarTnoitagivaNI.noitaminA.aideM.lmaX.IU.swodniW
yrotcaFofnIrebmuNenohPI.gnittamroFrebmuNenohP.noitazilabolG.swodniW
yrotcaFofnItiduAyciloPnoitcetorPI.ataDesirpretnE.ytiruceS.swodniW
yrotcaFofnItnahcreMtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFofnItnoFmetIgnitaRI.slortnoC.lmaX.IU.swodniW
yrotcaFpamtiBelbaetirWI.gnigamI.aideM.lmaX.IU.swodniW
yrotcaFpamtiBerawtfoSI.gnigamI.scihparG.swodniW
yrotcaFpilCnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFpiTlooTI.slortnoC.lmaX.IU.swodniW
yrotcaFpuorGdItelppAdraCtramSI.sdraCtramS.seciveD.swodniW
yrotcaFpuorGlairetaMdrooC2erutxeTD3gnitnirPI.D3gnitnirP.scihparG.swodniW
yrotcaFpuorGlairetaMesaBD3gnitnirPI.D3gnitnirP.scihparG.swodniW
yrotcaFpuorGlairetaMetisopmoCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
yrotcaFpuorGlairetaMroloCD3gnitnirPI.D3gnitnirP.scihparG.swodniW
yrotcaFpuorGlairetaMytreporPelpitluMD3gnitnirPI.D3gnitnirP.scihparG.swodniW
yrotcaFpuorGlortnoCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
yrotcaFpuorGnoitacitnehtuAecaFnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
yrotcaFpuorGnoitalerroCnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
yrotcaFpuorGnoitartsigeRksaTdnuorgkcaBI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFpuorGtnoFegaugnaLI.stnoF.noitazilabolG.swodniW
yrotcaFraBdnammoCI.slortnoC.lmaX.IU.swodniW
yrotcaFraBdnammoCtuoylFraBdnammoCI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFrablooTknII.slortnoC.lmaX.IU.swodniW
yrotcaFraBppAI.slortnoC.lmaX.IU.swodniW
yrotcaFraBssergorPI.slortnoC.lmaX.IU.swodniW
yrotcaFraBuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFradnelaCI.noitazilabolG.swodniW
yrotcaFraSannetnAdnabdaorBeliboMI.srotarepOkrowteN.gnikrowteN.swodniW
yrotcaFredaeHmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFredaeHtnetnoCydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFredaeRataDI.smaertS.egarotS.swodniW
yrotcaFredaeRegnahCoipGI.oipG.seciveD.swodniW
yrotcaFredaoLecruoseRI.secruoseR.ledoMnoitacilppA.swodniW
yrotcaFredaoLecruoseRlmaXmotsuCI.secruoseR.lmaX.IU.swodniW
yrotcaFredaolnwoDdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
yrotcaFredaolpUdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
yrotcaFredilSI.slortnoC.lmaX.IU.swodniW
yrotcaFredilSrekciProloCI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFredivorPerahSI.refsnarTataD.ledoMnoitacilppA.swodniW
yrotcaFredivorPetagerggAseciveDleveLwoLI.seciveD.swodniW
yrotcaFredivorPgnirahSataDenohP.ataDresU.enohP.tfosorciM
yrotcaFredivorPkniLtnetnoCI.stnemucoD.lmaX.IU.swodniW
yrotcaFredivorPnoitcetorPataDI.noitcetorPataD.yhpargotpyrC.ytiruceS.swodniW
yrotcaFredivorPtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
yrotcaFreePnoitamotuAataDmetItoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAataDmetIweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAataDmetIweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAataDmetIweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAataDmetIxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAataDmetIxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAbmuhTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAbuHI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFreePnoitamotuAegamII.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAerutciPnosrePI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAesaBegnaRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAesaBnottuBI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAesaBweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAgniRssergorPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAhctiwSelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAkcolBtxeThciRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAkcolBtxeTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAlortnoCgnitaRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAlortnoCsmetII.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetII.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIpuorGI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIraBuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIredaeHesaBweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIredaeHweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIredaeHweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIrotceleSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetItoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetItuoylFuneMelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetItuoylFuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIweiVeerTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIweiVnoitagivaNI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmetIxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmooZcitnameSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAmurtcepSroloCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnoitceSbuHI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBelggoTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBelggoTraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBknilrepyHI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBnwoDporDI.slortnoC.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBoidaRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBtaepeRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBtilpSelggoTI.slortnoC.lmaX.IU.swodniW
yrotcaFreePnoitamotuAnottuBtilpSI.slortnoC.lmaX.IU.swodniW
yrotcaFreePnoitamotuAraBllorcSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAraBppAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAraBssergorPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAraBuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAredilSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAredilSrekciProloCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuArekciPemiTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuArekciPetaDI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuArekciPetaDradnelaCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAretneserPtuoylFI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAretneserPtuoylFuneMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAreweiVllorcSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuArotceleSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAslortnoCtropsnarTaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtnemelEaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtnemelEerutpaCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtnemelEkrowemarFI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtnemelEreyalPaideMI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtoviPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtsiLweiVeerTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAtuoylFsgnitteSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAweiVdirGI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAweiVpilFI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAweiVtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAwolfrevOkcolBtxeThciRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBdrowssaPI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBhcraeSI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBkcehCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBobmoCI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBtidEhciRI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBtsegguSotuAI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBtsiLI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreePnoitamotuAxoBtxeTI.sreeP.noitamotuA.lmaX.IU.swodniW
yrotcaFreffuBI.smaertS.egarotS.swodniW
yrotcaFreffuBtekcaPnpVI.npV.gnikrowteN.swodniW
yrotcaFreffuByromeMI.noitadnuoF.swodniW
yrotcaFreganaMetatSlausiVI.lmaX.IU.swodniW
yrotcaFreganaMppArengiseDI.gnitsoH.lmaX.IU.swodniW
yrotcaFreganaMsdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFreganaMseludoMeciveDoiduAI.seciveD.aideM.swodniW
yrotcaFreggirTdegnahCnoitacifitoNresUI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTdegnahCyrotsiHnoitacifitoNtsaoTI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTdevieceRegasseMsmSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTdlohserhTataDrosneSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTdraCtramSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTecnanetniaMI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTemiTI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTenohPI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTevitpadAI.lmaX.IU.swodniW
yrotcaFreggirThcteferPtnetnoCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTlennahClortnoCI.stekcoS.gnikrowteN.swodniW
yrotcaFreggirTmetsySI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitacifitoNcitsiretcarahCttaGI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitacifitoNhsuPI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitacifitoNrerutcafunaMeciveDI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitacifitoNrotarepOkrowteNI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitacoLI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTnoitcAnoitacifitoNtsaoTI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTrekcarTegnahCyrarbiLegarotSI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTrosneSytivitcAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTtnevEmetsySmotsuCI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFreggirTtsacdaorBppAI.dnuorgkcaB.ledoMnoitacilppA.swodniW
yrotcaFregnesseMPCTDNI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFrehctapsiDtnegAdnuorgkcaB.enohP.tfosorciM
yrotcaFrehctapsiDtnegAdnuorgkcaBI.enohP.tfosorciM
yrotcaFrehctaWtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
yrotcaFrehsilbuPtnemesitrevdAELhtooteulBI.tnemesitrevdA.htooteulB.seciveD.swodniW
yrotcaFreifidoMaitrenI2rotceVrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
yrotcaFreifidoMaitrenIrekcarTnoitcaretnII.snoitcaretnI.noitisopmoC.IU.swodniW
yrotcaFreifidoMsliateDtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFrekciPemiTI.slortnoC.lmaX.IU.swodniW
yrotcaFrekciPetaDI.slortnoC.lmaX.IU.swodniW
yrotcaFrekciPetaDradnelaCI.slortnoC.lmaX.IU.swodniW
yrotcaFrekciProloCI.slortnoC.lmaX.IU.swodniW
yrotcaFrekraMaideMkcabyalPI.kcabyalP.aideM.swodniW
yrotcaFrellortnoCemaGmotsuCI.motsuC.tupnI.gnimaG.swodniW
yrotcaFrellortnoCnoisseSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFreluRretneserPknII.gniknI.tupnI.IU.swodniW
yrotcaFremaertSaideM.aideM.enohP.tfosorciM
yrotcaFremiTrehctapsiDI.lmaX.IU.swodniW
yrotcaFreniatnoChserfeRI.slortnoC.lmaX.IU.swodniW
yrotcaFreniatnoCmetIraBnoitacilppA.llehS.enohP.tfosorciM
yrotcaFreniatnoCtnemelEraBppAI.slortnoC.lmaX.IU.swodniW
yrotcaFrepleHataDlortnoCpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFresitrevdAecivreStceriDiFiWI.secivreS.tceriDiFiW.seciveD.swodniW
yrotcaFretemaraPecruoStceffEnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFrethgilhgiHtxeTI.stnemucoD.lmaX.IU.swodniW
yrotcaFretirWataDI.smaertS.egarotS.swodniW
yrotcaFretliFciffarTnpVI.npV.gnikrowteN.swodniW
yrotcaFretliFdniKmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFretliFdniKnoitazirohtuAmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFretliFepyTsutatSmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFretliFepyTyrevocsiDmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFretliFtnuoccAbeWmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFretnemgeSsdroWelbatceleSI.txeT.ataD.swodniW
yrotcaFretnemgeSsdroWI.txeT.ataD.swodniW
yrotcaFretneserPmetIweiVdirGI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPmetIweiVnoitagivaNI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPmetIweiVtsiLI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPreyalPaideMI.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPtnetnoCI.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPtuoylFI.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPtuoylFuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFretneserPwolfrevOraBdnammoCI.slortnoC.lmaX.IU.swodniW
yrotcaFretnuoCegnahCoipGI.oipG.seciveD.swodniW
yrotcaFrettamroFellimrePI.gnittamroFrebmuN.noitazilabolG.swodniW
yrotcaFrettamroFemiTetaDI.gnittamroFemiTetaD.noitazilabolG.swodniW
yrotcaFrettamroFlamiceDI.gnittamroFrebmuN.noitazilabolG.swodniW
yrotcaFrettamroFtnecrePI.gnittamroFrebmuN.noitazilabolG.swodniW
yrotcaFrettamroFycnerruCI.gnittamroFrebmuN.noitazilabolG.swodniW
yrotcaFretteSI.lmaX.IU.swodniW
yrotcaFrettimEedoNoiduAI.oiduA.aideM.swodniW
yrotcaFrevreSPMPnoitcetorPaideMI.noitcetorP.aideM.swodniW
yrotcaFrexednIecruoseRI.tnemeganaM.secruoseR.ledoMnoitacilppA.swodniW
yrotcaFreyaLdauQcihpargoloHI.cihpargoloH.scihparG.swodniW
yrotcaFreyaLpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFreyaLyalrevOaideMI.gnitidE.aideM.swodniW
yrotcaFrezilausiVhserfeRI.slortnoC.lmaX.IU.swodniW
yrotcaFrezingoceRerutseGlaitapSI.laitapS.tupnI.IU.swodniW
yrotcaFrezingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
yrotcaFrezylanAknII.sisylanA.gniknI.tupnI.IU.swodniW
yrotcaFriaPtniopdnEI.gnikrowteN.swodniW
yrotcaFrorrEC.srorrE.redniBemitnuR.prahSC.tfosorciM
yrotcaFrorrEredivorPbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
yrotcaFrosruCeroCI.eroC.IU.swodniW
yrotcaFrossecorPtlsXI.lsX.lmX.ataD.swodniW
yrotcaFrosserpmoceDI.noisserpmoC.egarotS.swodniW
yrotcaFrosserpmoCI.noisserpmoC.egarotS.swodniW
yrotcaFrotacollAemarFoediVnoitpecrePI.redivorP.noitpecreP.seciveD.swodniW
yrotcaFrotalsnarTmetsySlaremuNI.gnittamroFrebmuN.noitazilabolG.swodniW
yrotcaFrotarapeSmetIweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFrotarapeSraBppAI.slortnoC.lmaX.IU.swodniW
yrotcaFrotarapeStuoylFuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFrotareleccAdraobyeKI.tupnI.lmaX.IU.swodniW
yrotcaFrotareneGnoisrevnoCesreveRtxeTI.txeT.ataD.swodniW
yrotcaFrotareneGnoisrevnoCtxeTI.txeT.ataD.swodniW
yrotcaFrotareneGnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFrotareneGnoitciderPtxeTI.txeT.ataD.swodniW
yrotcaFrotavitcAtnegAdnuorgkcaB.enohP.tfosorciM
yrotcaFrotcartorPretneserPknII.gniknI.tupnI.IU.swodniW
yrotcaFrotceleSelytSI.slortnoC.lmaX.IU.swodniW
yrotcaFrotceleSelytSpuorGI.slortnoC.lmaX.IU.swodniW
yrotcaFrotceleSetalpmeTataDI.slortnoC.lmaX.IU.swodniW
yrotcaFrotceleSI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFrotpircseDhcteFesneciLDNI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFrotpircseDmaertSatadateMdemiTI.eroC.aideM.swodniW
yrotcaFrotpircseDmaertSoediVI.eroC.aideM.swodniW
yrotcaFrotpircseDmaertSoiduAI.eroC.aideM.swodniW
yrotcaFrpxE.scitnameS.redniBemitnuR.prahSC.tfosorciM
yrotcaFsavnaCI.slortnoC.lmaX.IU.swodniW
yrotcaFsavnaCknII.slortnoC.lmaX.IU.swodniW
yrotcaFscisnirtnIaremaCI.eroC.seciveD.aideM.swodniW
yrotcaFsecruoseRettelaProloCI.lmaX.IU.swodniW
yrotcaFseitreporPdnapxEI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFseitreporPesahcruPerotSI.erotS.secivreS.swodniW
yrotcaFseitreporPyalpsiDesahcruPtcudorPI.erotS.ledoMnoitacilppA.swodniW
yrotcaFseluRretliFsmSI.smS.seciveD.swodniW
yrotcaFsgnipuorGretcarahCI.noitalloC.noitazilabolG.swodniW
yrotcaFsgnitteSetalpmeTmetIweiVeerTI.slortnoC.lmaX.IU.swodniW
yrotcaFsgnitteSetalpmeTweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFsgnitteShparGoiduAI.oiduA.aideM.swodniW
yrotcaFsgnitteSnoitcennoCc2II.c2I.seciveD.swodniW
yrotcaFsgnitteSnoitcennoCipSI.ipS.seciveD.swodniW
yrotcaFsgnitteSnoitcennoCipSredivorPI.redivorP.ipS.seciveD.swodniW
yrotcaFsgrAelcyceRyrotcaFtnemelEI.lmaX.IU.swodniW
yrotcaFsgrAteGyrotcaFtnemelEI.lmaX.IU.swodniW
yrotcaFsgrAtnevEatleDgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFsgrAtnevEdeddArebmeMnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdegnahCetatSnoitalupinaMI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFsgrAtnevEdegnahCeulaVredivorPniPoipGI.redivorP.oipG.seciveD.swodniW
yrotcaFsgrAtnevEdegnahCnoitceleSI.slortnoC.lmaX.IU.swodniW
yrotcaFsgrAtnevEdegnahCnoitcelloCyfitoNI.poretnI.lmaX.IU.swodniW
yrotcaFsgrAtnevEdegnahCweiVnIsnoitceSI.slortnoC.lmaX.IU.swodniW
yrotcaFsgrAtnevEdegnahCytreporPI.ataD.lmaX.IU.swodniW
yrotcaFsgrAtnevEdenioJnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdeppotSrecudorPnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdeppotSrehctaWnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdeppotStcejbOsuBnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdetelpmoCgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFsgrAtnevEdetratSgarDI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFsgrAtnevEdetuoRdetratSnoitalupinaMI.tupnI.lmaX.IU.swodniW
yrotcaFsgrAtnevEdetuoRI.lmaX.IU.swodniW
yrotcaFsgrAtnevEdetuoRnoitpecxEI.lmaX.IU.swodniW
yrotcaFsgrAtnevEdevomeRofnIecivreSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEdevomeRrebmeMnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevEgnignahCtnerruCI.ataD.lmaX.IU.swodniW
yrotcaFsgrAtnevErenioJnoisseStpeccAnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsgrAtnevErorrEdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
yrotcaFsgrAtnevEtsoLnoisseSnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFsliateDcitsiugniLyreuQhcraeSI.hcraeS.ledoMnoitacilppA.swodniW
yrotcaFsliateDtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFslortnoCtropsnarTaideMI.slortnoC.lmaX.IU.swodniW
yrotcaFsmetIepiwSI.slortnoC.lmaX.IU.swodniW
yrotcaFsnoitcirtseRtnetnoCdetaRI.snoitcirtseRtnetnoC.aideM.swodniW
yrotcaFsnoitpOgniggoLI.scitsongaiD.noitadnuoF.swodniW
yrotcaFsnoitpOlennahCgniggoLI.scitsongaiD.noitadnuoF.swodniW
yrotcaFsnoitpOnoitagivaNemarFI.noitagivaN.lmaX.IU.swodniW
yrotcaFsnoitpOtcetorpnUeliFI.ataDesirpretnE.ytiruceS.swodniW
yrotcaFsnoitpOwohStuoylFI.sevitimirP.slortnoC.lmaX.IU.swodniW
yrotcaFsnoitpOyreuQI.hcraeS.egarotS.swodniW
yrotcaFsnoitpOyreuQliamEI.liamE.ledoMnoitacilppA.swodniW
yrotcaFsnoitpOyreuQtcatnoCI.stcatnoC.ledoMnoitacilppA.swodniW
yrotcaFssalCemitnuRirUI.noitadnuoF.swodniW
yrotcaFssalCemitnuRredoceDlrUmroFwwWI.noitadnuoF.swodniW
yrotcaFssecorPlortnoCweiVbeWI.poretnI.IU.beW.swodniW
yrotcaFsserddAyrtnEyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
yrotcaFstniartsnoCaideMdetcejorPI__.TRniW.derahS.gnisitrevdA.tfosorciM
yrotcaFtamroFeriWyalpsiDI.eroC.yalpsiD.seciveD.swodniW
yrotcaFtceffEdiloSyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
yrotcaFtceffEecroFcidoirePI.kcabdeeFecroF.tupnI.gnimaG.swodniW
yrotcaFtceffEecroFnoitidnoCI.kcabdeeFecroF.tupnI.gnimaG.swodniW
yrotcaFtceffEknilByarrApmaLI.stceffE.sthgiL.seciveD.swodniW
yrotcaFtceffEmotsuCyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
yrotcaFtceffEnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFtceffEnoitisopmoC.noitisopmoC.IU.swodniW
yrotcaFtceffEpamtiByarrApmaLI.stceffE.sthgiL.seciveD.swodniW
yrotcaFtceffEpmaRroloCyarrApmaLI.stceffE.sthgiL.seciveD.swodniW
yrotcaFtcejbOecruoSnoitcaretnIlausiVI.snoitcaretnI.noitisopmoC.IU.swodniW
yrotcaFtcejbOenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFtcejbOnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFtcejbOsuBnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFtcejbOtupnIelbahcattAI.tupnI.IU.swodniW
yrotcaFtcejbOycnednepeDI.lmaX.IU.swodniW
yrotcaFtegraTnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFtekcaPputeSbsUI.bsU.seciveD.swodniW
yrotcaFthgiLlmaXI.aideM.lmaX.IU.swodniW
yrotcaFthgiLnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFtluseRdegnahCtseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFtluseRnoitagivaNsucoFecruoSlmaXI.gnitsoH.lmaX.IU.swodniW
yrotcaFtluseRtnemyaPekaMnaCtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFtneilCbuPmotAI.buPmotA.beW.swodniW
yrotcaFtneilCDNI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFtneilCnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFtneilCpttHI.pttH.beW.swodniW
yrotcaFtneipiceRliamEI.liamE.ledoMnoitacilppA.swodniW
yrotcaFtnemecalPdAevitaNI__.TRniW.derahS.gnisitrevdA.tfosorciM
yrotcaFtnemecalPdAI__.TRniW.derahS.gnisitrevdA.tfosorciM
yrotcaFtnemelEecruoSnocII.slortnoC.lmaX.IU.swodniW
yrotcaFtnemelEI.lmaX.IU.swodniW
yrotcaFtnemelEIUI.lmaX.IU.swodniW
yrotcaFtnemelEkrowemarFI.lmaX.IU.swodniW
yrotcaFtnemelEnocII.slortnoC.lmaX.IU.swodniW
yrotcaFtnemelEpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFtnemelEreyalPaideMI.slortnoC.lmaX.IU.swodniW
yrotcaFtnemelEtxeTI.stnemucoD.lmaX.IU.swodniW
yrotcaFtnemgeShtaPI.aideM.lmaX.IU.swodniW
yrotcaFtnemhcattAegasseMtahCI.tahC.ledoMnoitacilppA.swodniW
yrotcaFtnemhcattAliamEI.liamE.ledoMnoitacilppA.swodniW
yrotcaFtnemhcattAsuBnyoJllAI.nyoJllA.seciveD.swodniW
yrotcaFtnemucoDtnirPI.gnitnirP.lmaX.IU.swodniW
yrotcaFtnenopmoCenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFtnenopmoCreredneRenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFtnetnoCataDmroFtrapitluMpttHI.pttH.beW.swodniW
yrotcaFtnetnoCdedocnElrUmroFpttHI.pttH.beW.swodniW
yrotcaFtnetnoCgnirtSpttHI.pttH.beW.swodniW
yrotcaFtnetnoCmaertSpttHI.pttH.beW.swodniW
yrotcaFtnetnoCnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFtnetnoCreffuBpttHI.pttH.beW.swodniW
yrotcaFtnetnoCtrapitluMpttHI.pttH.beW.swodniW
yrotcaFtniartsnoCcipoTnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
yrotcaFtniartsnoCeliFrammarGnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
yrotcaFtniartsnoCtsiLnoitingoceRhceepSI.noitingoceRhceepS.aideM.swodniW
yrotcaFtnioPknII.gniknI.tupnI.IU.swodniW
yrotcaFtniopoeGI.noitacoloeG.seciveD.swodniW
yrotcaFtniopyaWdecnahnEI.spaM.secivreS.swodniW
yrotcaFtnuoccAbeWI.slaitnederC.ytiruceS.swodniW
yrotcaFtnuomAycnerruCI.noitazilabolG.swodniW
yrotcaFtnuomAycnerruCtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFtoviPI.slortnoC.lmaX.IU.swodniW
yrotcaFtoviPnoitalupinaMI.tupnI.lmaX.IU.swodniW
yrotcaFtraPtnetnoCrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
yrotcaFtropeRrennacSedocraBI.ecivreSfOtnioP.seciveD.swodniW
yrotcaFtseuqeRecivreSpotSeruceSydaeRyalPI.ydaeRyalP.noitcetorP.aideM.swodniW
yrotcaFtseuqeRnekoTbeWI.eroC.beW.noitacitnehtuA.ytiruceS.swodniW
yrotcaFtseuqeRnoitagivaNsucoFecruoSlmaXI.gnitsoH.lmaX.IU.swodniW
yrotcaFtseuqeRnoitcennoCmetsySetomeRI.smetsySetomeR.metsyS.swodniW
yrotcaFtseuqeRtekciTecivreSdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
yrotcaFtseuqeRtnemyaPI.stnemyaP.ledoMnoitacilppA.swodniW
yrotcaFtsiLweiVeerTI.slortnoC.lmaX.IU.swodniW
yrotcaFtsiLweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFtsoHreldnaHirUppAI.metsyS.swodniW
yrotcaFtuoylFI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFmetIraBuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFraBdnammoCI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFraBdnammoCtxeTI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFsgnitteSI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFuneMI.slortnoC.lmaX.IU.swodniW
yrotcaFtuoylFwodniWeroCI.eroC.IU.swodniW
yrotcaFtupnIlairetaMenecSI.senecS.noitisopmoC.IU.swodniW
yrotcaFtxetnoCrehsilbuPdAevitaNI__.IU.TRniW.gnisitrevdA.tfosorciM
yrotcaFtxetnoCytivitcAtekcoSI.stekcoS.gnikrowteN.swodniW
yrotcaFtxeTnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFudpAesnopseRcitamotuAdraCtramSI.sdraCtramS.seciveD.swodniW
yrotcaFweiVdirGI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVeerTI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVenaPowTI.slortnoC.lmaX.IU.swodniW
yrotcaFweiverPgnidniBledoMgninraeLI.weiverP.gninraeLenihcaM.IA.swodniW
yrotcaFweiVetuoRpaMI.spaM.slortnoC.lmaX.IU.swodniW
yrotcaFweiVgnitirwdnaHI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVnoitagivaNI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVnoitcelloCI.ataD.lmaX.IU.swodniW
yrotcaFweiVpilFI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVradnelaCI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVtilpSI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVtneilCtnuoccAbeWI.redivorP.beW.noitacitnehtuA.ytiruceS.swodniW
yrotcaFweiVtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFweiVxallaraPI.slortnoC.lmaX.IU.swodniW
yrotcaFwodahSemehTI.aideM.lmaX.IU.swodniW
yrotcaFwodahSI.aideM.lmaX.IU.swodniW
yrotcaFwodahSnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFxoBgnidnuoboeGI.noitacoloeG.seciveD.swodniW
yrotcaFxoBhcraeSI.slortnoC.lmaX.IU.swodniW
yrotcaFxoBkcehCI.slortnoC.lmaX.IU.swodniW
yrotcaFxoBobmoCI.slortnoC.lmaX.IU.swodniW
yrotcaFxoBtidEhciRI.slortnoC.lmaX.IU.swodniW
yrotcaFxoBtsiLI.slortnoC.lmaX.IU.swodniW
yrotcaFxoBtxeTI.slortnoC.lmaX.IU.swodniW
yrotcaFyalrevOaideMI.gnitidE.aideM.swodniW
yrotcaFyciloPetuoRI.ytivitcennoC.gnikrowteN.swodniW
yrotcaFyeKetalpmeTataDI.lmaX.IU.swodniW
yrotcaFylimaFtnoFI.aideM.lmaX.IU.swodniW
yrotcaFyranoitciDecruoseRI.lmaX.IU.swodniW
yrotcaFyreuQtxeTcitnameSI.txeT.ataD.swodniW
yrotcaFyrogetaCnoitacidnySI.noitacidnyS.beW.swodniW
yrotcaFyrotcaFnoitamrofnIeliFI.sseccAkluB.egarotS.swodniW
yrotcaFyrtemoeGI.aideM.lmaX.IU.swodniW
yrotcaFyrtemoeGnoitisopmoCI.noitisopmoC.IU.swodniW
yrotcaFyrtnEkcatSegaPI.noitagivaN.lmaX.IU.swodniW
yrotcaFytitnElaitapSI.laitapS.noitpecreP.swodniW
yrotcaFytivitcAgniggoLI.scitsongaiD.noitadnuoF.swodniW
yrotcaFytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
yrotcaFytreporPmotsuCmetItellaWI.tellaW.ledoMnoitacilppA.swodniW
yrotsiHaideM.seciveD.tfosorciM
yrotsiHnoitacifitoNtsaoTI.snoitacifitoN.IU.swodniW
yrotsiHnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
yrotsiHnoitcasnarTtellaWI.tellaW.enohP.tfosorciM
yrtemoeG.aideM.lmaX.IU.swodniW
yrtemoeGelgnatceR.aideM.lmaX.IU.swodniW
yrtemoeGelgnatceRdednuoRnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGelgnatceRdednuoRnoitisopmoC.noitisopmoC.IU.swodniW
yrtemoeGelgnatceRI.aideM.lmaX.IU.swodniW
yrtemoeGelgnatceRnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGelgnatceRnoitisopmoC.noitisopmoC.IU.swodniW
yrtemoeGeniL.aideM.lmaX.IU.swodniW
yrtemoeGeniLI.aideM.lmaX.IU.swodniW
yrtemoeGeniLnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGeniLnoitisopmoC.noitisopmoC.IU.swodniW
yrtemoeGespillE.aideM.lmaX.IU.swodniW
yrtemoeGespillEI.aideM.lmaX.IU.swodniW
yrtemoeGespillEnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGespillEnoitisopmoC.noitisopmoC.IU.swodniW
yrtemoeGhtaP.aideM.lmaX.IU.swodniW
yrtemoeGhtaPI.aideM.lmaX.IU.swodniW
yrtemoeGhtaPnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGhtaPnoitisopmoC.noitisopmoC.IU.swodniW
yrtemoeGI.aideM.lmaX.IU.swodniW
yrtemoeGnoitisopmoCI.noitisopmoC.IU.swodniW
yrtemoeGnoitisopmoC.noitisopmoC.IU.swodniW
yrtnEdraobredaeLnEVIL.beW.smroftalP.secivreSremaG
yrtnEdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
yrtnEetirWdraobredaeLnEVIL.beW.smroftalP.secivreSremaG
yrtnEkcatSegaPI.noitagivaN.lmaX.IU.swodniW
yrtnEkcatSegaP.noitagivaN.lmaX.IU.swodniW
yrtnElanruoJI.noitagivaN.swodniW.metsyS
yrtnElanruoJ.noitagivaN.swodniW.metsyS
yrtnEredoceDlrUmroFwwWI.noitadnuoF.swodniW
yrtnEredoceDlrUmroFwwW.noitadnuoF.swodniW
yrtnEtroS.hcraeS.egarotS.swodniW
yrtnEtsiLemaGI.noitaremunEsemaG.weiverP.gnimaG.swodniW
yrtnEtsiLemaG.noitaremunEsemaG.weiverP.gnimaG.swodniW
yrtnEtsiLppA.eroC.ledoMnoitacilppA.swodniW
yrtnEtsiLppAI.eroC.ledoMnoitacilppA.swodniW
yrtnEtsiLsseccA.ehcaCsseccA.egarotS.swodniW
yrtnEyrotsiHllaCenohPI.sllaC.ledoMnoitacilppA.swodniW
yrtnEyrotsiHllaCenohP.sllaC.ledoMnoitacilppA.swodniW
yrtsigeR.ofnI.enohP.tfosorciM
yrtsigeR.slortnoC.enohP.tfosorciM
Ysssssss
yticapOnoitpaCdesolC.gninoitpaCdesolC.aideM.swodniW
ytilacoLataDnoitacilppA.egarotS.swodniW
ytilauQgnidocnEoediV.seitreporPaideM.aideM.swodniW
ytilauQgnidocnEoiduA.seitreporPaideM.aideM.swodniW
ytilauQtnirP.gnitnirP.scihparG.swodniW
ytilibaborPtniartsnoCnoitingoceRhceepS.noitingoceRhceepS.aideM.swodniW
ytilibacilppAppA.eliforP.metsyS.swodniW
ytilibaileRlennahCegasseMnoisseSmetsySetomeR.smetsySetomeR.metsyS.swodniW
ytilibaliavAataDresU.noitcetorPataD.ytiruceS.swodniW
ytilibaliavAerotS.erotS.secivreS.swodniW
ytilibaliavAerotSI.erotS.secivreS.swodniW
ytilibaliavAetadpUegakcaP.ledoMnoitacilppA.swodniW
ytilibaliavAhtiWseitreporPeliFegarotSI.egarotS.swodniW
ytilibaliavAreifireVtnesnoCresU.IU.slaitnederC.ytiruceS.swodniW
ytilibaliavAtnetnoCdetegraT.tnetnoCdetegraT.secivreS.swodniW
ytilibapaCeciveDyalpsiD.eroC.yalpsiD.seciveD.swodniW
ytilibapaCgnirehteT.srotarepOkrowteN.gnikrowteN.swodniW
ytilibapaCppAI.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
ytilibapaCppA.sseccAytilibapaCppA.noitazirohtuA.ytiruceS.swodniW
ytilibapaCtuoyaLreganaMeziseRwodniWeroCI.eroC.IU.swodniW
ytilibarevocsiDetatSnetsiLtnemesitrevdAtceriDiFiW.tceriDiFiW.seciveD.swodniW
ytilibatacoLlaitapS.laitapS.noitpecreP.swodniW
ytilibisiVecafkcaBnoitisopmoC.noitisopmoC.IU.swodniW
ytilibisiV.lmaX.IU.swodniW
ytilibisiVmetIegarotStneceR.ehcaCsseccA.egarotS.swodniW
ytilibisiVnottuBkcaBweiVppA.eroC.IU.swodniW
ytilibisiVnottuBwolfrevOraBdnammoC.slortnoC.lmaX.IU.swodniW
ytilibisiVraBeltiTwodniWppAI.tnemeganaMwodniW.IU.swodniW
ytilibisiVraBeltiTwodniWppA.tnemeganaMwodniW.IU.swodniW
ytilibisiVraBllorcS.slortnoC.lmaX.IU.swodniW
ytilibitapmoCpaM.slortnoC.spaM.enohP.tfosorciM
ytilibitapmoCresworBbeW.slortnoC.enohP.tfosorciM
ytiraloPegnahCoipG.oipG.seciveD.swodniW
ytiraloPesluPmwP.mwP.seciveD.swodniW
ytiralunarGegasUataD.ytivitcennoC.gnikrowteN.swodniW
ytiralunarGetubirttAtxeTyalpsiDeniL.ecivreSfOtnioP.seciveD.swodniW
ytiraPlaireS.noitacinummoClaireS.seciveD.swodniW
ytireveSgninraWrevuenaM.spaM.secivreS.swodniW
ytireveSrorrElsStekcoS.stekcoS.gnikrowteN.swodniW
ytireveSrorrEsoPdeifinU.ecivreSfOtnioP.seciveD.swodniW
ytiroirPatadateMerutpaCppA.erutpaC.aideM.swodniW
ytiroirPecarTcitsongaiDmroftalP.gnitropeRecarT.scitsongaiD.metsyS.swodniW
ytiroirPeueuQrehctapsiD.metsyS.swodniW
ytiroirPksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
ytiroirPksaThtiWrehctapsiDeroCI.eroC.IU.swodniW
ytiroirPmetIkroW.gnidaerhT.metsyS.swodniW
ytiroirPnoitacifitoNtsaoT.snoitacifitoN.IU.swodniW
ytiroirPnoitarepOrefsnarTdnuorgkcaBI.refsnarTdnuorgkcaB.gnikrowteN.swodniW
ytiroirPnoitcennoC.stsnoCderahStnegAdnuorgkcaB.enohP.tfosorciM
ytiroirPrefsnarTdnuorgkcaB.refsnarTdnuorgkcaB.gnikrowteN.swodniW
ytiroirPrehctapsiDeroC.eroC.IU.swodniW
ytiroirPweiVenaPowT.slortnoC.lmaX.IU.swodniW
ytitnedIdraobredaeL.secivreSremaG.krowemarF.anX.tfosorciM
ytitnedImetsySdIenilnO.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
ytitnedImetsySdIenilnOI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
ytitnedIresU.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
ytitnedIresUI.dIenilnO.noitacitnehtuA.ytiruceS.swodniW
ytitnEdtDI.moD.lmX.ataD.swodniW
ytitnEdtD.moD.lmX.ataD.swodniW
ytitnElaitapSI.laitapS.noitpecreP.swodniW
ytitnElaitapS.laitapS.noitpecreP.swodniW
ytiunitnoCevruC.krowemarF.anX.tfosorciM
ytivarGegnaR.txeT.IU.swodniW
ytivitcAgniggoLI.scitsongaiD.noitadnuoF.swodniW
ytivitcAgniggoL.scitsongaiD.noitadnuoF.swodniW
ytivitcAresUI.seitivitcAresU.ledoMnoitacilppA.swodniW
ytivitcAresU.seitivitcAresU.ledoMnoitacilppA.swodniW
YTIVITISNES.ataDresU.enohP.tfosorciM
ytivitisneSksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
ytivitisneSrellortnoC.secivreSremaG.krowemarF.anX.tfosorciM
ytivitisneStnemtnioppA.stnemtnioppA.ledoMnoitacilppA.swodniW
ytluciffiDemaG.secivreSremaG.krowemarF.anX.tfosorciM
YtnemngilA.aideM.lmaX.IU.swodniW
ytreporPdinA.ofnI.enohP.tfosorciM
ytreporPmetIredivorPegarotSI.redivorP.egarotS.swodniW
ytreporPmetIredivorPegarotS.redivorP.egarotS.swodniW
ytreporPmotsuCI.ataD.lmaX.IU.swodniW
ytreporPmotsuCmetItellaWI.tellaW.ledoMnoitacilppA.swodniW
ytreporPmotsuCmetItellaW.tellaW.ledoMnoitacilppA.swodniW
ytreporPnoitamotuAI.noitamotuA.lmaX.IU.swodniW
ytreporPnoitamotuA.noitamotuA.lmaX.IU.swodniW
ytreporPretemaraP.poretnI.ledoMksaT.enohP.tfosorciM
ytreporPslortnoCtropsnarTaideMmetsyS.aideM.swodniW
ytreporPtellaWlanretnI.tellaW.enohP.tfosorciM
ytreporPtellaWmotsuC.tellaW.enohP.tfosorciM
ytreporPtnoFretnirPsoP.ecivreSfOtnioP.seciveD.swodniW
ytreporPtnoFretnirPsoPI.ecivreSfOtnioP.seciveD.swodniW
ytreporPtroSyreuQksaTataDresU.sksaTataDresU.ledoMnoitacilppA.swodniW
ytreporPtroSyreuQliamE.liamE.ledoMnoitacilppA.swodniW
ytreporPtsalX.secivreSremaG.krowemarF.anX.tfosorciM
ytreporPycnednepeDdAevitaN.IU.TRniW.gnisitrevdA.tfosorciM
ytreporPycnednepeDI.lmaX.IU.swodniW
ytreporPycnednepeD.lmaX.IU.swodniW
ytreporPycnednepeDseciohCdA.IU.TRniW.gnisitrevdA.tfosorciM
YUniformScaleRegionDefaultLevelWW|.
*yUniformScaleRegionMaximumWWW|.
yUppdatera den anv
:yW0j0D0
y	wcsstr
ywfvsdxvf
YWH|Wk4M
ywk|zhwuevtdmk]
ywwwwwwwwwp
yxxxxxxx
yxxxxxxxH
yxxxxxxxI
yxxxxxxxL
yxxxxxxxMi
YYellowStepWW
|yysjjjdddYXW]]W
|yyuuusbbbbaaaaYYYYPYNYNNNs
YYY0RRRp@@A
|||yyyffeVVU
YYYfffffffff
YYYfffffffff@@@
YYYffffffYYY
|yyyuububbbaaaaaYYYYNYNPNNs
y|yyuuubsbbbaaaYZYPYPPPNNNs
y|yyybusubbaaaaaZYZPPPPPPNs
Z0t*OIUSIDN
z2@.6462(0(((
Z45Aq"nF
z?801i:It6
za3;OVK3
ZanNE#_S
zAUX_TIMEOUTWX
ZbForceModeAdditionWW
;ZcIHHw2
zDisplayCustomModeWWW
?_ZeroRelease@Value@DirectUI@@AEAAXXZ
zerouHD;
:zerou#L
Zhaoyang K29
Zhaoyang K49
ZIHostWWW
			z-index: -1;
Z	?Initialize@ClassInfoBase@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG_NPEBQEBUPropertyInfo@2@I@Z
zip64.cpp
zip64_test.cpp
ZipArchive
ZipArchiveEntry
ZIP_FILE_ERROR
ZipFileExtensions
ZIP_FILE_NOT_FOUND
zMccsCloseWWW
[znv[Z[?
z@o@P8z;
zout_ArgumentsWWW
zrf"xodTwncvwpd
-zRightBezelCorrectionValueWWW
zrSSOnjf
zSeuraavien sovellusten k
Z"tS1#uBZ"tS1*uUZ"tS1
ZU?(:n0U
ZwAddBootEntry
ZwAllocateUuids
ZwCreateFile
ZwCreateKey
ZwCreateSection
ZwDeleteBootEntry
ZwDeleteFile
ZwDeleteKey
ZwDeleteValueKey
ZwDeviceIoControlFile
ZwEnumerateBootEntries
ZwEnumerateKey
ZwEnumerateValueKey
ZwFilterBootOption
ZwFlushKey
zwkH2wYl
ZwLoadKey
ZwLoadKey2
ZwMapViewOfSection
ZwModifyBootEntry
ZwOpenDirectoryObject
ZwOpenFile
ZwOpenKey
ZwOpenMutant
ZwOpenProcess
ZwOpenSymbolicLinkObject
ZwQueryAttributesFile
ZwQueryBootEntryOrder
ZwQueryBootOptions
ZwQueryDirectoryFile
ZwQueryDirectoryObject
ZwQueryInformationFile
ZwQueryInformationProcess
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQuerySystemEnvironmentValueEx
ZwQuerySystemInformation
ZwQueryValueKey
ZwQueryVolumeInformationFile
ZwQueryWnfStateData
ZwReleaseMutant
ZwSaveKey
ZwSetBootEntryOrder
ZwSetBootOptions
ZwSetInformationProcess
ZwSetSecurityObject
ZwSetSystemEnvironmentValueEx
ZwSetValueKey
ZwTranslateFilePath
ZwUnloadKey
ZwUnloadKey2
ZwUnmapViewOfSection
ZwWaitForSingleObject
zXVYCC_INVALID_DISPLAYIDW
		ZZoooo
zzzhhhXWT
zzzqqrZZZSSQ
zzzwwxllleeeebcbbm
								
									
										
											
												
														
															
																			
																									
																										
																												
  	     
        
         
           
            
             
                 
                     
                        
                          
                    "
      (       
    .      
   !    
   !    	
   !    (
   !    :
  '     
  '     ?
  *     
  -     
  :     
  ;     
  ;     -
  ?     
  ]     .
  _     
  |     
 ))))))))#
 @@@@@@@@
 ||||||||||||||||||||||||||||||||||||||||||
!!!!!!!!!!!
!@@@@@@@@
""""""""
""""""""""
"""""""""""
""""""""""""""
"""""""""""""""
""""""""""""""""
"""""""""#;
""||||||
"((;-)""
")||||||||||||
")||||||||||||||||||||
"*(("!!#!
#"||||||
##########
#-........
'!||||||
'(((	((;
'@@@@@@@@
'||@;||(;||
'||||||||||||||
'|||||||||||||||||
(  :     *
(''(''''''''
(((''##!!
((()	))))(
((_[[[[[[[[
()")")")")")"
(*(*!(*(
(**;;;--)
(@@@@@@@@
(]*****)
(||||||||||||||
)(((	((;	
)((((((((((((((((((((
))	))))(
))	)))))
))(())))
)))(((((
)))))()))
)))))))()))
))))))))
))))))))*
)))][][]
))@)))))
))[)))))
))[)))*)
))])))))
))_))))(
))_)))))
))|())))
))|))))(
))|)))))
)*******
)*******.
)@@@@@@@@
)||||||||||||
)||||||||||||||||||||
)||||||||||||||||||||||||||||||||||||
* *!*"*#*
******""""""""""""""""""""
**********;
*||||||||||
*||||||||||||||||||
*||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-")||||@
---------
--------------
----------------
----------------------------------
------------------------------------
------------------------------------------------
-@@@@@@@@
-||||||||||||||||||||||||||
.")||||@
..........
.............
.@@@@@@@@
:"**""!!!
:|||||||
;;;;;;;;
;@@@@@@@@
;@@@@@@@@@
;||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?	?	?	?	
?"?"?"?"
?"?"?"?"?"
?????????????
??????????????????????
?||||||||||||||
?||||||||||||||||||||||
?||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@	@	@	@	
@	@	@	@	@	
@ @!@"@#@
@@@@@@@@
@@@@@@@@@
@@@@@@@@@@@
@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;
@|||||||
@||||||||
[	[[[;[[[
[ [ [ [ 
[ [ [ [ [ 
[.[:[)[?[
[.[:[)[?[[[
[@@@@@@@@
[@@@@@@@@@
[[[	[[[ 
[[[	[[["
[[[	[[[#
[[[	[[[*
[[[	[[[.
[[[	[[[;
[[[	[[[?
[[[	[[[@
[[[	[[[[
[[[	[[[[-
[[[	[[[|
[[['[[[?
[[[([[[(
[[[([[[;
[[[)[[[?
[[[*[[[;
[[[-[[[;
[[[.[[[] 
[[[:[[[.
[[[:[[[:
[[[:[[[?
[[[:[[[]
[[[;[[[ 
[[[;[[[)
[[[;[[[-
[[[;[[[;
[[[;[[[@
[[[;[[[_
[[[?[[['
[[[?[[[)
[[[?[[[.
[[[?[[[:
[[[?[[[;
[[[?[[[?
[[[?[[[]
[[[@[[[|[[[
[[[[[[[.
[[[[[[[[
[[[[[[[[[[[[[[[[[[[[[[[[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[[[_[[[@[[[
[[[_[[[|[[[
[[[|[[[@
[[[|[[[]
[[[|[[[_
[||@||||
[|||||||
[||||||||
[||||||||||
]   !    
]]]]]]]]]]]]]]]]
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
]]]]]]_]
]|||||||
_	_	_	_	
_||||||||||||||
|@@@@@@@@
|]|||||||:
||@||||||||||||
||||))))))
||||:.?|||||
||||]|||||||
||||_|||||||
|||||(|	|
|||||))))))
||||||##
||||||#:.
||||||#;
||||||:|
||||||:||||||||
||||||:||||||||?
||||||:||||||||||||||||
||||||_|||||||
|||||||	
|||||||#
|||||||##
|||||||#(
|||||||#;
|||||||(
|||||||(	
|||||||(|
|||||||(|	|
|||||||)
|||||||)|
|||||||-|
|||||||.
|||||||.|
|||||||:
|||||||:|
|||||||;|
|||||||?
|||||||?|
||||||||
||||||||##
||||||||#(
||||||||#;
||||||||(
||||||||)
||||||||.
||||||||?
||||||||@
|||||||||
|||||||||#
|||||||||(|
|||||||||)
|||||||||)|
|||||||||*|
|||||||||-	
|||||||||.|
|||||||||:|
|||||||||;|
|||||||||?|
||||||||||
||||||||||.
|||||||||||
|||||||||||:|
||||||||||||
|||||||||||| 
|||||||||||||
||||||||||||||
|||||||||||||||
||||||||||||||||
||||||||||||||||'
|||||||||||||||||
||||||||||||||||| |.|
|||||||||||||||||.|
||||||||||||||||||
|||||||||||||||||||
||||||||||||||||||||
|||||||||||||||||||||
||||||||||||||||||||||
||||||||||||||||||||||||
||||||||||||||||||||||||||
||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||:
|||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
         0                                               
      0  
      0  *
   !     0  
  "     0  
  #!    0
  ;      0  
  0     
 "    0  
!     0  
))0)))))
).*;	0:;
).*;	0:?
**(((0(("
*.*'	0*;
*.*'	0*?
*.*'	0:?
*.*;	0*'
*.*;	0*;
*.*;	0*?
*.*;	0:'
*.*;	0:;
*.*;	0:?
-0.@@@@@
[:[([0[([
[[[	[[[0
[[[0[[["
[[[0[[[(
[[[0[[[@
[[[0[[[|
|  0     
||||:.0|||||
||||||#0.
|||||||||||||0|
|||||||0
|||||||0|
||||0 ||
||0	||(	||
0@@@@@@@@@@@
    0 0   #    
-000000000000-
00000000000000000000000000000000
0000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
:000444555
0*'	0:0F(
0*;	0:0F(
001OP_DEFER_ACTIONW
003q314_J__F_
003q314_K__O_
004618q314_
006  :1?6S
006  SSSSSSS
007:;0UUeUU
0*'	0*7K
:00*8)0)
00@B@A@Lp@Sp
00@B@@@Hp@S
00!cmiLanguageModeLangPackW
00)cmiRegQwordW
00googgG
00gqgg:.D
00gUDgfG
00H00xxx
0:;	0*?J
.00mD!7](
'00UUAUU
'00UUBUU
0!!0'UUJUU
0#0;UUJUUP
'00UUNUU
0'#0'UUOUU
*.*;	0:;	1-?
010509231922Z
01:1UUrUU
01234567
0123456789
0123456789-
0123456789abcdef
0123456789ABCDEF
0123456789ABCDEF0
0123456789ABCDEF0123456789abcdef
0123456789abcdefABCDEF
0123456789abcdefghijklmnopqrstuvwxyz
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz._
0123456789ABCDEFMpCommon
0123456789abcdefx
0123456789ABCDEFX
0	1	2	3	4	5	-	7	8	9	
0|| 1||4D||
   !     0  1A
0*;	1*(F(
0:'	1*(F(
01llllllllmllllOllylmc;
01Npgppepq
0;1UU[UU
0;1UUZUU
02'0;2??S
021222324252627282
0!:#'21?6
02#21:?:':6 S
024UUuUU
0?2  :5:6!S#62''!
0?2  :5:6!ScSSSSQSS
02??66#20867S
0;'2 8r1:'S
!029cmiFileAttributeNotContentIndexedWWW
02GgWkgfG9
02gOtgfG1
0 2gsmgfG
02LdT[[[
02llllllllmllllOllylm
02#  P     ]Y]]
:02!SgSSSSQKSeS
02VBpgppepq
*.*'	0*3
*.*;	0*?	3-?
*.*;	0*3
*.*;	0:3
031323334353
0);32!2 #3;)
0*3	3:0F(
0:3	3:7O
!0#(!34n
03?7fnohi
0("?389484.
0*'	3*(F(
0*;	3*(F(
0:'	3*(F(
03igqggO
0:?	3:'J
0*3J0*0F(
*.*;	0*3J3
0*?	3*;J3
0*3K1*4F(
0:3K3*0F(
0*3L1:(F(
0*3M0:4F(
0:3M0:4F(
0*3M0:;O
*.*;	0*3M1-?
0:3M3*8F(
*.*;	0:3N0-?
0*3N0*?K
0*3N3:8F(
0*3O0:0F(
0:3O3*(F(
'03;-Yyxix?
0  4     
'04!0UUCUU
041UUHUU
041UUwUU
043UUGUU
:;!0-! 49
-049@B@A@@
!"0!4(@@A@@dp@E]P
!"0!4(@@@C@np@J
!"0!4(@@@@@dp@JX
04gYrgfG
!"0!4(@@@@@JQ@M
04llllllllmllllOllylm
!"0!4(@@@@@Lp@P
04pgppepq
04q314_Q__O_
!04ucmiQueryGetRedirectedToIdentitiesWWW8
*[[[04WdW[[[
04wg-kgfG
;04YllllllllmllllOllylm
053(@B@A@@
054@B@A@@
054@B@A@B
058cmiFileWindowClassWWd
05[cmiEnableDelegationPrivilege
'05cZDyyy
05GgcbgfG
0[[[5?Jd][[[7[[[
0:""- 5L
05QdO[[[
0*5xyxhy
05xyxiy2
':!06!:'
[[[0[[[6[[[
060425214036Z
0'60;!UUBUU
-06 !0UUNUU
06:10UUKUU
06:'1UUJUU
06))35-	
-06 !4790
06?4AM6L
06;4UUsUU
06;4UU|UU
06!':5:02'6Spr
069 UUwUU][
0;6cmiSettingDefinitiond
06dIMAPISecureMessageTypeWW
[[[06fd_[[[@[[[
[[[06fd_[[[F[[[i[[[
[[[06fdJ[[[
[[[06fdS[[[2[[[
[[[06fdS[[[D[[[:[[[
0[[[6ftdZ[[[
06Gmggfw
06Jhggfwm
06L;xx]Y]]	lY
:?06!SxSSSSQSSsS
:;;06!UUDUU
':!06!UUEUUN
0;6UUiUU
':!06!:'UUKUU_
-06UUNUUS0
;?06!:'UUqUUH
':!06!UUrUU
:;;06!UUrUU3
06#UU[UU
*.*'	0*7
*.*;	0*7
*.*;	0:7
070403125309Z
0'70'UUKUU
!:0;72'2ShSSSSQSSkW
*.*;	0:7	3
07*)665W
0[[_7[[!7[[
:0788yxJy
_]-07:D)
_]-07:D*
_]07:D1GI3Q;
_]-07:D3-72Q?
_]07:D3-72Q*
_]07:D3-72Q-
_]07:D3-72Q?
_]-07:D3-72Q2
_]-07:D3-72Q8
_]07:D3-72Q8
_]07:D.)-D)
0:7J0:3	3M
0*7J1:0F(
0:7J1:(F(
*.*;	0:7K0
0*7L0*4F(
0*7L1*8F(
0:7L1*8F(
0:7L3:?J
0:7M0:0F(
*.*;	0*7M1*3
0*7N1*4F(
0:7N3:4F(
*.*;	0:7O0:
0*7O0:3K
0*7O1*(F(
*.*;	0*7O3
07RUoecgfG
0*7]TgfGe
?0!*7";TM0!*7";T 
"07UUaUU
07UUvUUfO
:07VIXEX
:07_xxx?xxyxyxyxY[4
:07yxPy?x
  0     8
||||||||#08
0#||||||||#8	
08@@@@@@
0;:80;UUtUU
08:#4790
08##"(6!
08 6:1t'0!UUeUU
08 6:1UUBUU
08 6:1UUHUU
08 6:1UUHUUC
08 6:1UUrUU
08pgppepq
08tdL[[[f[[[e[[[
08UUwUU"2y
"08vcmiUnattendPrimitiveNameValidationWW
      0  9
0906!UU@UU
093UUwUUS
095"gWegfG
09@@@@B@A@2 @P
 09@@@@B@A@2 @Y
09@B@A@Jp@H 
09@@@@@gpJF
09h!pgppepq
09nr@@@@@dp@H-
 ;;09UU@UU
;0(9WRV;T-4
[[[0[[[a
[[[0[[[A
0@@@@@@@@@@@@A@
0@@@@@@A
0@@@@@@A@@
0@@@@@@A@"0@@CC@@CC@@@
0AAAAAA@AAAAAC
0AAAAAA@AAAAAC|?
0AAAAAA@AAAAAC2-
0AAAAAA@AAAAACf
0@@@@@@ABHpBbN
0acgfGF4*
@0A;D3Lu	I
0aD8gqgfG
0@@A@@@@@@@DDA@
0)))A]DE
0@@@@@A@@Ep@J
0Ag]egfGT
!0Agqgg(
0Agqgg8i
0@@A@h Ca
0@@A@h EM
0@@@@@@A@h EZ
0@@@@@@A@HpBF
0)))AHSH[Mv]FBLGvN[HKKL[v_
0@@A@h ST
0aKcmiStage2PassWWW
0AllllllllmllllOllylm
0)))]A@[MZL[_@JLALEYL[
0Apgppepq
??0ARGUMENT_LEXEMIZER@@QEAA@XZ
??0ARRAY@@QEAA@XZ
0)))A@SE@ZL[_@Z
@0A@T@AEac
@0A@U@DEac
0)))A]w]Yw
0)))A]]Y
0AycmiCmiLogConfigWd
0)))A]]YZ
0)))]A@Z
[[[0[[[B
0b3cmiRegDwordBigEndian
0B3gqggd
!0@B@A@@
0!.@B@A@@
0@@@@@@@@@@B@A@
)0@@@@B@A@2 @E
0@@@@B@A@2 @Ef
0@@@@B@A@2 @M
0@@B@@@A@@@@@A@
0@BAA@Hp@Z
!0@B@A@B
0@@@@BAB@
0@@@@B@AB_p@bN
??0bad_cast@@QEAA@AEBV0@@Z
??0bad_cast@@QEAA@PEBD@Z
0@@@@B@B@
0_@@@@BBA@
0B@B@JQ@S
0@@@@B@CANp@H
@@@@@0B@d@AEac
0)))B@EEHEE
0BflO!dx"
0bFRS3 [SSS@S90
0bg@B@A@@
0bg@B@A@Hp@[0bg@@@@@@@A@XpY[0bg@
0Bg'egfG
[0bgfGK4BLgqgg
_?0Bg'gggG_?0Bgqgg
[0bg@IJ N@o@@A@ACac
0bg@]Y]]
0)))BHOBHJFGGLJ]LG_@[FGDLG]
0@@@@B@@@Hp@N
0@@@@B@@@Hp@S
0@@@@B@@@JQ@N
0)))[BL[GLE
0)))BL[GLE
0BllllllllmllllOllylm
0@@@@@@B@Lp@S
0@@@@@@B@Np@Gkd
0Bpgppepq
      0  bQ
0BT[[[Z[[[O[[[
??0Button@DirectUI@@QEAA@XZ
	0Bw)dgfG
0?B[[[Z[[[K[[[
0B[[[Z[[[K[[[
0C)5gWYgfG
0c@@@@B@A@@
0)))CCJJCC
0C(dY[[[5[[[
0C(dZ[[[
0)))CF]]@NF
'0CgfG#-
0cgfGRb[
.0cgooggG
0cgqggDY)
??0ClassInfoBase@DirectUI@@QEAA@XZ
0)))CLJ]
'0	c		Ln
0cMcmiUtf8EncodingW
0[ cmiAssignPrimaryTokenPrivilegeWW
0cmiInstallerCapabilityReplicateComponentsWWW
0cmiInstanceAnswerWWWd
0cmiQueryGetIdentitiesFilteredOnIdentityAttributesWWW8
0c@@@@@o@@A@ADac
0Cq	pgppepq
??0CritSecLock@DirectUI@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
[[[0[[[D
0D1llllllllmllllOllylm
0_dA[[[0[[[6[[[
@0@@D@ACac
@@@@@0@@D@ADac
0d[[[[B[[[D[[[u
@@@@@0@@D@BEac
0dB[[[p[[[
0'dC[[[G[[[F[[[ 
0dC[[[L[[[C[[[
|0DdH[[[
0DdH[[[N[[[L[[[
0DdK[[[t[[[
0D(dO[[[
0DdQ[[[n[[[
0Dd][[[s[[[
0DdT[[[7[[[
0]dDyxhy
0DdZ[[[2[[[
]0DdZ[[[g[[[
0)))D@E@]H[PN[HMLHENF[@]ADZ
0)))D@E@]H[PN[HMLLGJ[PY]@FG
0dE[[[i[[[
0)))D@GL[
0dgqggfR
0dH[[[K[[[I[[[j4XfG[[[
0dI[[[w[[[
0)))D@J[FZFO]
0())D@J[FZFO]LQJLEFGE@GL
0dJ[[[g[[[
0dJ[[[h[[[
0dJ[[[S[[[W[[[
0dK[[[l[[[
[[[0[[[[[[dL[[[
0)))DLDAHGMEL[Z
0dLM'd[!!g
0dM[[[*[[[
0dN[[[?[[[
0dO[[[|[[[
0[[[[[[dO[[[7[[[
0dO[[[B[[[
0dO[[[d[[[
0dO[[[r[[[u[[[
0dO[[[S[[[
0!_dP[[[7[[[5[[[
0dpgppepq
0dP[[[M[[[F[[[e
0)))DPvLDH@E
0[[[[[[dQ[[[
[[[0[[[[[[dS[[[
??0DSTRING@@QEAA@XZ
0[[[[[[dT[[[
0dT[[[	[[[
0dT[[[;[[[
0dT[[[B[[[
0dU[[[N[[[
0DutH'pRgfG
0dU[[[Z[[[@[[[
|0]dV[[[
#0DVcmiQueryGetComponentsFromIdentitiesW8
0dX[[[Z[[[
0dY[[[#[[[
0)))]]DY
0dY[[[g[[[
0dz[[[7[[[.[[[
0dZ[[[l[[[g[[[Y
0)))DZMH]H
|0e[[[[[[
0||e0||L0||;0||"0||	0||
0e@[[[7[[[6[[[
0eA[[[8[[[
@0@@E@AAac
@@@@@0@@E@ACac
@0@@E@ACac
@0@@E@AEac
[[[0[[[eCBdP[[[
@0@@E@CCac
0"Ed_[[[
0EdB[[[][[[
0)))E@D@]ZvDH@EZvYL[vZLJFGM
0eE[[[t[[[n[[[l]
0efGVC78x
0)))EFMS
0EfOtnJlA
0eF[[[U[[[
0EgAnggG
0eJ[[[K[[[J[[[
0eK[[[2[[[0[[[
0eK[[[T[[[
!0eK[[[Z[[[
0e][[[l[[[
0)))E@_L
0eL[[[A[[[y[[[ti
??0Element@DirectUI@@QEAA@XZ
0ellllllllmllllOllylm
0EllllllllmllllOllylm
0eM[[[:[[[?[[[
0eM[[[0[[[
0eM[[[b[[[
0eM[[[V[[[T[[[a
0e_[[[o[[[
0eO[[[E[[[y[[[D
0eP[[[:[[[
0eQ[[[	[[[
0eQ[[[i[[[e[[[d1RdT[[[h[[[
0eQ[[[n[[[
|||0E	|s
0e][[[T[[[
!0eT[[[Z[[[
0eT[[[Z[[[
0e][[[w[[[
0ex[[[B[[[
??0exception@@QEAA@AEBQEBDH@Z
??0exception@@QEAA@AEBQEBD@Z
??0exception@@QEAA@AEBV0@@Z
??0exception@@QEAA@XZ
0ex[[[S[[[
0ey[[[j[[[
!0e@[[[Z[[[H[[[
0.	f.2gabc24cVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0.	f.50e7bbocVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
??0facet@locale@std@@IEAA@_K@Z
0fD[[[9[[[6[[[@
0FfC[[[L[[[C[[[!
0.	f.g0dn5533VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0FgcmiFeatureComponentW
0Fgqgg;fL
0fh0gD0fk0fd0f
0fJ[[[J[[[
0((FKCLJ]
0)))FKCLJ]
0)))FKCLJ]JH]LNF[P
??0FLAG_ARGUMENT@@QEAA@XZ
0F llllllllmllllOllylm
0F-llllllllmllllOllylm
0F llllllllmlll]Y]]
0)))F[@N@GHEO@ELGHDL
0fpgppepq
0Fpgppepq7
0Fpgppepqt
0fQ[[[V[[[I[[[V
0)))FYLG
0)))]FYr
0F[[[Z[[[K[[[
0fz[[[r[[[b[[[
      0  g
|||||||@0G
;0g3AmfGr
0G6ADQ 2(@P
0g7egfG6
?0g'AgfG
0gAggEsW
0gAgggc_sXZV
0gAgg@#j
0G@@@@@@A@HpFV
0@gAkgfG
"0g]bgfG
:	0gCdgfG
;0'gCkgfGN
0]gcugfGw
0geagfGuB
0g?egfG'
0)))@G_FBL
0gfG;)FdgqggO
0Gg1egfG
0)))G@G]AZL[_@JLALEYL[
0ggbgfG719
0ggcgfG(sV
0gg	dgfGa
0_ggegfG)
('0gGfgfG
'0ggfGhb
0ggfGQU9
'0ggfw	V
:0g;ggfG
_0ggjgfG;
]0gGkgfG
0)))@GGL[A]DE
0ggqgg9f
0)))GHDL
*0giggfw!*
0giggfw[o9
0[gigggwH
0giogfGOC
0gKegfGx
0g-kgfG[C
0g!kgfGz5
0gKSgfGB
0)))@G]L[FYZL[_@JLZ
0gllllllllmllllOllylm
#_0gMcgfG
0)))GMEE
0.gmggfwg
0g[ngfG!3
0	gOwggG
0gOwggGt
0	gq|gfGi
0@@@@gqgg
-0@gqgg0i3A
0gqgg1#B
0gqgg3oj
0gqgg61D
0gqgg9bG
0gqggbU.
0'@gqggc
0gqgg;cMz
0gqggCO;JbI(]
0gqggDWX
*0gqggF|
0gqgghs.
-0gqggIA1
0gqggi-#G
0gqggLkj
0gqggMS_
0gqggo	D"
0gqggOfw
0gqggo'H
0gqgg*QC
0gqggQHCR
0_gqgg[t
0gqggtYty
|0gqggUh
0gqggWF	
@0gqgg"Y
!0gqggyE
;0g!Rgfw
_0gSdgfG
|0gSfgfGy
0g	tgfGV
[[[0[[[*GUdB[[[
0gUXgfGv
: 0gwLggG
0gyCgfGH
@0gYfgfGI
0h5cmiNotEqualW 
0h6cmiLanguageModeOneWW
0H9wxu#H
0HAgEfgfG
0)))_H[ALHYKEFJBZ@SL
0h-cmiQueryGetComponentFromIdWW8
0HdI[[[*
0)))_H[DZN
?0HETBzQ
)))0)))_H[E@Z]@GN
0)))HFJHFDHFMHF
0())_H[FM
0Hg5dgfG
0Hggqgg2-
0hg[kgfGnH
0)))HGM[F@M
0)))HHLHHHM
0)))_H[HYYvYH]Av
0)))HJ]@FG
0((HJ]@_Li
0)))HJ]@_LM@[LJ]F[PY[F_@ML[
0)))HM_HGJLMLOZMH]H[LJF_L[P
0)))]H[NL]
0)))_H[O@[F]
0)))]][HOO
0)))][HOOO@
0)))][HOOOL
0)))HYYLGM
0)))HYYMH]Hu[FHD@GNu
0)))]HZBB@EE
0)))@]HZBMLO@G@]@FG
]0i8yxoy
 0!:#'i9 
0i:cmiRegMultiSzWWW
0IdB[[[L[[[
0IdF0-]N
??0id@locale@std@@QEAA@_K@Z
0)))iHYYMH]HM@[
0iIllllllllmllllOllylm.n
0IJhggfw
0I:llllllllmllllOllylm
0)))iLQ@]DL]AFM
0[_IMAPIMessageSiteType
0)))iMLZB]FYM@[
0iPdR[[[
0ipgppepq
0Ipgppepq
0ipgppepqv
0;ISSKKKO
0)))i@YHMM[LZZ
0IYpgppepq
0)))iZJ[@Y]GHDL
*.*;	0*'J0-?
0:?J0*3N
0:;J0:4F(
0:?J0:(F(
0:;J0*?J
0j0K0c0_0
0*'J0:;O
0:;J1*3O
0:;J1*8F(
0*'J1*(F(
0*;J1:(F(
0:;J1:(F(
*.*'	0:?J3
*.*;	0:?J3-?
0*'J3:3	
0*'J3*7J
0:;J3*8F(
0*'J3:(F(
0*;J3:(F(
0J9gqggDK
0)))JADFM
0)))JBKCJBKCJBKCr
0jCCNCCCBACC
0)))J]EME
0)))JFDFKCLJ]DZQDE
0)))JFG]LG]
0())JFGZ]
0)))JF[Lv]HZBvOE
0)))JF[LvMLZJvYLGM]
0)))JFML
0)))JFMLKPD[
0.jgGkgfG
0j*gqggAo
0)))JHELGMH[iDFFGZJ[@Y]
0Jhggfw#f
0)Jhggfw H
0)))JH]JA
0JigWwggG
0)))JJ][HOO
0jmcmiCompressionFormatDefaultW
0)))[]JZALEE
0)))JZJ[@Y]
[[[0[[[k
      0  K
).*;	0*?K
*.*;	0*;K0
0:'K0*0F(
0:;K0*0F(
0*'K0*4F(
0*;K0*4F(
0k0d0D0f0
0k0d0D0f0n0
0k0d0D0f0n0J0
0k0d0D0f0o0
0:?K0:(F(
0K0i0F0K0
0k0W0f0 
0:?K1:4F(
0*;K1:8F(
0:'K1:8F(
0:;K1:8F(
0:;K1:;J3
0*?K3:8F(
0K:@@@@B@A@dp@O
0.KcmiMigrationExcludeInformationWWd
0'kcmiSystemProfilePrivilegeWWW
0)))K@]EFJBL[M@ZBLGJ[PY]@FG
0)))KF]v@M
0)))K@GH[PZ][LHD
0KgMkgfG
0kgqgg5K
0)))KHZLvYH]A
0	kIDistListTypeWWW
0]KIMAPIViewContextType
0)))K[LHBHNL
0KpgppepqPlj
0)))KP]Lrt
0KscmiExclusive
0.K-yxry
0)))_KZJ[@Y]LGN@GLML]LJ]@FG
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||;?(0|l||
  @      0  l
[[[0[[[l
*.*;	0*?L0-?
0*;L0:7M
0*?L0:(F(
0L0Y0y0f0JRd
*.*;	0*?L1-?
0:?L1*'L
0[[[L2teO[[[
0*?L3:?	
0:;L3*4F(
0l6cmiEqual 
0@@@@@l@@A@ADac
0_LbgfGR
0*lBpgppepq
0)))LDH@E
0)LdM[[[
0LdQ[[[3[[[1[[[ 
0)LdT[[[i[[[g[[[
0LdV[[[Z[[[
0LdY[[[9[[[
0LdY[[[l[[[b[[[
0)))]LELDL][P
#0LgAggie
0)))]LG]AZL[_@JLALEYL[
0lgqgg.j
0lgWkgfG*
0)))L_HE
0)))LJAF
0)))L_LG]
0)))L_LG]Z
]0llllllllmlllLMO8) V8
0!llllllllmllllOllylm
0]llllllllmllllOllylm
0_llllllllmllllOllylm
	;0llllllllmllllOllylm(
	0llllllllmllllOllylm
_0llllllllmllllOllylm
|0llllllllmllllOllylm
0'[llllllllmllllOllylm
0llllllllmllllOllylm
0llllllllmllllOllylm_
0llllllllmllllOllylm0
0llllllllmllllOllylm2C
0llllllllmllllOllylm4e
0llllllllmllllOllylm8
0llllllllmllllOllylmb
0llllllllmllllOllylmC
;0llllllllmllllOllylmd
0llllllllmllllOllylmdJ|t
0llllllllmllllOllylmdz7f
0llllllllmllllOllylm#G
' 0llllllllmllllOllylmh
0llllllllmllllOllylmk
0llllllllmllllOllylmLK
0llllllllmllllOllylmmC
0llllllllmllllOllylmRv
0llllllllmllllOllylmw
0llllllllmllllOllylmY]
0llllllllmllllOllylmzn?U
0llllllllmlllqMO8) V8
0llllllllmlll]Y]]
0)))[LN[LHM
0)))[LNLM@]
0)))[LNZ_
0)))[LNZ_[
??0_Locinfo@std@@QEAA@PEBD@Z
??0_Lockit@std@@QEAA@H@Z
0@@@@Lp@m
0lpMDBWWW
0@@@@Lp@u
0@@@@@@@@Lp@X
0)))LQLJ
0)))LQYHGMLG_@[FGDLG]Z][@GN
0ltO9pD3
;0Lxx]Y]]
0)))[LYEHJL
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0m||
).*;	0*'M
0*'M0*0F(
0*;M0:0F(
0:;M0*;J
0*'M0*?L
0:?M1:0F(
0*'M1:4F(
0*?M1:4F(
0:'M1:4F(
0*'M1*7M
0*'M1:7M
).*;	0*'M3
0:?M3*;N
0mddgfGCsE
0mdgqggx
]0MdT[[[
)0mgfGI(
0)))MH]H
0)))M@_JEHZZ
0)))MLJBZ
0MllllllllmllllOllylm
0)))MLOvvYHJBvLQYEF@]
0)))MLZJ[@Y]@FG
0mpgppepq
.0mSSSSSSSS
0@M*((]Y]]
0mzcmiLogFacilityInfWWWXM
	0:'N0-?
!0n054@B@A@@
0*'N0:8F(
0:'N0:8F(
0n0g0o0B0
0:'N0:;O
0:'N1*0F(
0:'N3*0F(
0:;N3*0F(
	0:?N3:3
0*'N3*4F(
0*;N3*4F(
0*;N3:?J
??0NativeHWNDHost@DirectUI@@QEAA@XZ
0Nd_[[[9[[[?[[[l
0NdL[[[F[[[E[[[M
0)))NEFKHEZr
0NggwggG
0NgqggMw
0)))NLF[NZHPZ
0NllllllllmllllOllylm
0)))NN][HOO
;0n|voeo9ogo
0nxXyxey
0nxXyx[y
      0  o
      0  o	
||||||||||||||||||||0O
||||||||||||0O
0:;O0*3L
0*;O0*(F(
0:;O0*(F(
0*'O0*?K
0*'O1:0F(
0:'O1:0F(
0:;O1:0F(
0*'O1*'K
0*;O1:?O
*.*;	0*?O3-?
0*?O3:0F(
0*;O3:;M
 0o|cmiProfileSingleProcessPrivilege
0Od@[[[A[[[@[[[
0OdL[[[D[[[s[[[
0o egfGy
0)))OEHZA
0)))OEHZA_H[Z
0)))O@ELY[@_H]LGZ
0)))O[FD
0)))O[FDG@GCH
0())O[FDKHZL
0)))O[FDZHEDFGEHMML[
0og!ngfG
0.ogqggvhr
_0OgWBgfG
0)))OHBL
0(O@HllllllllmllllOllylm-
0oicmiAuditPrivilegeWWW
??0@OKLAMOL@
]0O;RXNaN
';0O@rxR
0)))@OZL]EFJHEL
0O[[[Z[[[O[[['
0)))O@[Z]ZL[_@ZLALEYL[
[[[0[[[p#
:||||||||||||||||||||||||||||||||||||||||||||||||||0P||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0P0ptzuz
0p|0qz0q
0||p1||X1||@1||.1||
[[[0P5dY[[[
??0PATH@@QEAA@XZ
0@@@@@p@@B@ACac
0P-cmiLocalizationInformationWWd
0PdH[[[w
[0peY[[[
)-"0P)F]5.YIAHR
0pg7fgfGa
_0[pgppepq
0	pgppepq
0'pgppepq
0)pgppepq
0_pgppepq
0|pgppepq
	0pgppepq)
*0pgppepq
[0pgppepq
]0pgppepq@
0pgppepq
0pgppepq!
0pgppepq#
0pgppepq*
0pgppepq-
0pgppepqaR
0pgppepqB
0pgppepqC
0pgppepqh
0pgppepqIY
0*pgppepqJ
0pgppepqK8
0pgppepql
0pgppepqM
0pgppepq?O
0pgppepqpP
0pgppepqt
0pgppepqtL
.0pgppepqvQ
0pgppepqz
0P;gsgggG
0)))PHOOL[NL
0p?lgfG#u6
0@@@@PpNw
0ppResult
0p*q*r*s*t*
0puIMAPIFormTypeWWW
0P@v-ggfG
0pwizxxx;xxyxyxyxxyxNy0
      0  Px
0pxx]Y]]
-0q314_A__F_
-0q314_@__C_
0Q4gqggs
0q9@|@@A@ACac
0@@@@@q@@A@AAacoo
0Qagqgg"2
!0)q@B@A@@
!0Q]cmiInfSerializerMarkExternalFilesWWW
-0q:':_C__O_
@0qg)kgfG
[[[0[[[Qm
0 Qn(pgppepq
) 0Qpgppepq
0Qpgppepq
?*0QSRScccvccaclc0
0QSSL3@_s
0QSSS@ST
0QSS[:XT9YUK9
0QSSZLX9
0)))QYEF[HDH@E
      0  r
0r3cmiRegExpandSzWW
0@@@@@r@@A@ACac
!0)r@B@A@@
:!0remove_all
??0REST_OF_LINE_ARGUMENT@@QEAA@XZ
.0rgUggfG
0)))rH[[HPt
0)))rJDMEL]K@GM@GN
0)))RK[LHB
0)))rKP]Lrtt
0)))rKP]Lrtti
0)))rLG_@[FGDLG]t
0RllllllllmllllOllylm
0)))r[LOELJ]@FG
0)))r[LOt
0)))rMEE@DYF[]
[[[	[[[0RNd_[[[
||0R|| R||
0)))RRRuD
0RSSBVU9
0RUgAgg?l
0)R(uW0f0J0
@0Rxx]Y]]?
0)))rZ][@GNt
:(0S[[[[
0S0h0k0J0
0S0h0L0B0
0S0h0o0B0
0||s1||M1||31||
0S	3[gEogfGs
!0)s@B@A@@
??0SC@mmcerror@@QEAA@AEBV01@@Z
??0SC@mmcerror@@QEAA@J@Z
0[[[(s eT[[[7[[[
0)))SFFD@OPv@GZ]HEEL[vv
0)))SFFDY@Jv@GZ]HEEL[vv
0Sg[fgfG
0SJhggfw
0'sNllllllllmllllOllylm	'
0*@SQSSSSQZZR
0[SSA|LC
 0!:#'SSS
0SSSSPSSSSSSSSSSSSSSS
 !0SSSSS
 !0SSSSSSS
 !0SSSSSS;SSSS;SSSS
0;SSSSSSV
0s__TgfG
??0STREAM_MESSAGE@@QEAA@XZ
??0STRING_ARGUMENT@@QEAA@XZ
0SW:ggwi
0SXgGdgfG
[[[0[[[t
[[[0[[[ T
0#[t@@A@h KY
??0task_continuation_context@Concurrency@@AEAA@XZ
!0)t@B@A@@
0[[[ TBeB[[[
0Tg7fgfG
0tg[kgfG
[[[0THdL[[[
[[[0tLdI[[[
??0TouchHWNDElement@DirectUI@@QEAA@XZ
]0.	TUH7
0T@@@@Vp@@@@@@@@@@@@@@XpwD
[.[([0[u[
      0  U
!0)u@B@A@@
0#ucmiUserW
0uddgfGO
?0UdL[[[
0UdL[[[;
0)))uHZZLDKEPu]DYuG_JH
0)))uK@G
0)))uNuYO
0'((UPUUVTUuDgqggxL
0?uRgfGI
#0;!UUAUU
#0;!UUAUU4
0-!UUfUU
0!UUFUU3
#0;!UUGUU
0'!UUHUU'
:'0UUJUU"LK
0;UULUUx
: '0UUpUU
:'0UUpUU
0!UUpUU1
#0;!UU@UU
#0;!UU@UUl
0-UUuUUY.r
 0  UyE4
 !    0  v
      0  V
!0)v@@@A@@
0VAAAA@AAAAAC
0vCountWWW
0vCountWWWL
0vDdM[[[_[[[c[[[
0VDgqgg1
0Vgqgg?tg
0vgWvgfGS3
0)))v@GZ]HEEvFOOL[ZvYFZ]
0';ViewOption_DefaultWW
0VllllllllmllllOllylm
0|voeo7ogo
0.V.ohSF[[[Z[[[K[[[A
0.V.ohSkK]Rp]Z_Z
0V(!pgppepq
0 V  Q "
#0V?udAt)mggfw
"#0VVVVV
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV!
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV8
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV9
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVl
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVs0
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVT
0.VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVx
0vz0vn0vh0vC0v
[[[0[[[w
0W0D0g0Y0K0
0;W0#mm9
0||w1||.1||
0W7llllllllmlll]Y]]
!0)w@@@A@@
|0@@@@@w@@A@AAac
0[[[)"WdA[[[
0wg#kgfGb" 
0wgqggLSk
.0WKVHIHIO
0WllllllllmllllOllylm
0WnllllllllmllllOllylm
0wO94gSjgfGe
[[[0WSm[[[[
      0  X
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0X||
0||x1||d1||P1||
0||x1||g1||H1||71||
0||x1||g1||N1||:1|| 1||
0XAYSjU.
0XCCNCCCBACC
0XD5E4ls
0:XgAgg:
0(xgAggpim
0Xg?cgfG
0Xgqggr_bf
[0xgqgg?T7
0)))X[JFML
0XL4E#t4s8
0xllllllllmllllOllylm
0@@@@XpDN
0xpgppepq
0Xpgppepq
0(xxlx]Y]]9
0xxrPxxx
0|XXXXyx
0xx]Y]]_hY
0xx]Y]]J
	0xx]Y]]ymY
0xyk3xyV3xy53xy
0xyz3xyq3xyQ3xy13xy
0XYZAXAY
0xzxwy.3;
   0    ]Y]]
0!((]Y]]
0-.((]Y]]
0Y0y0f0n0
0Y0y0f0Yu
0@@@@@y@@A@AAac
0y@@@@@@A@h GP
0)))YAYZPZ]LD
0y@@@@B@A@2 @
0)))YCKHGN
0YC]Y]]W'Y
0YdH[[[P[[[
0)))Y[@_@ELNL
0)))YFEEYH[HDL]L[ZLvZ
0)))Y[FYL[]@LZr
0)))YFZ]
0YggfGWc
0YGmggfw-
0)))Y@GNPHGMLQ
0)))Y[GvJFG][HJ]vMFJvFGEFHM
0)))YH[HDGHDL
0[[[YJ-fY[[[
!0ymL[[[
      0  yN
0)))YPDYEP
0)))YPYPBH]S
'0]_YVKC
0YXXXXXXXXZX]XXX
0YXXXXXXXXZXXXXX
0YXXXXXXXXZXXXXX9
0YXXXXXXXXZXXXXXc
0YXXXXXXXXZXXXXXC
0YXXXXXXXXZXXXXXN
0YXXXXXXXXZXXXXX)w
0yxx]Y]]a
0yy0Uyyq
0yy)0yy 0yy
0yy[3yy03yy
0yyf3yyF3yy
0yyg3yy83yy
0yyh3yyT3yy03yy
0yyhyyyuyu
0yyhyyyyyyy
0yyj3yyK3yy*3yy
0yym3yy13yy
0yy]pyyyyyyEyyy
0yyr3yyU3yy43yy
0yyu3yyd3yyU3yy
0yyxyyyuyu
0yyyiyyy)yyyy
0yyyyyyEyyy
0yyyyyyQyyy)yyy
0yyyyyy-yyy
0yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyy
0z2"4@6d:
0)))ZAHYL
0)))ZALEE
0.ZcmiUnattendSyntacticValidationWW
0Zd][[[d[[[
0Zg?aggw
0zgAmgfG
0Z"gSggfG
0zgwjgfG
0)))Z]H[]
0)))ZHGZ@G]L[GL]Z]F[DJLG]L[
0)))ZJ[@Y]
0)))ZLGM
0)))ZL]]@GNZ
0)))ZLH[JA
0)))Z@]LJF[[LJ]EPKHJBMFF[LM
0)))ZLJ[L]BLP
0)))ZLLDZvYHJ
0.ZllllllllmllllOllylm
0)))Z][[L_L[ZL
0)))ZL]ZALEEFKC
0)))ZLZZ@FGvZ]F[HNLvYH[HD
0	ZMllllllllmllllOllylm
0Zpgppepq
0zpgppepqr
0)))ZPZ]LD
0zyi3zyS3zy53zy
0zy]kxyPkxyWkxy
0zyn3zy;3zy
0zzllllllllmllllOllylm
0zzzrzzxzzz
  _!    1
  1     
))1)))))
*.*;	1*;
*.*;	1*?
*.*;	1:'
*.*;	1:;
*.*;	1:?
[[[1[[[(
[[[1[[[?
[[[1[[[|
||||||#1
||||||||#1
|||||||||||||||||1|
|||||||||||||||1|
|||||||||||1
|||||||||||1|
|||||||||1
|||||||||1|
|||||||||1|	|
|||||||||1|.|
||||||||1
|||||||1
|||||||1|
1||||||||||||||||||||||||||||||||||||||||||||||||||||||
*.*;	1*;	0
[[[1[[[0[[[
10.0.0.0
10.0.10011.16384
100623215724Z
100701213655Z
100706204017Z
100831221932Z
1;0-48)?
105llllllllmllllOllylm
1:?	0:7K
1:?	0:7L
1*'	0:8F(
1:'	0:8F(
1;09UUrUU
1;09UUrUUkzJ
10gukgfG**I
1*'	0*;M
10;on_O__z_
10;_Q__z_
'10'UUHUU
'10'UUIUU
'10'UUIUU!
:10UUIUU8
;10-UUOUU
1*;	1*0F(
	110xx]Y]]
111019184142Z
1	1	1	1	1	1	1	1	
11111111113LN
11111111L
1	1	1	1	1	1	1	1	y
1.1.18500.10
1.1.19900.2
111H111yxB
' .111yxhy7
||||1|1|||||q|
|||||11S
|||1|1|S|
11'UUIUU
11'UUIUU-
1	1	y	1	.	
! !12*;;
1.2.0.11
1202?:7Sr
120418234838Z
120830174903Z
12#2lpgppepq
1234567890
124):#aS
#;#12 6egSr
1.2.840.10045.3.1.7
1.2.840.113549.1.1.11
1.2.840.113549.1.9.5
1.2.840.113549.1.9.6
!:?1-*2?89
12AgwtgfG
1	2Hg5kgfG
12ijjSSSSS
 12-."*o
;12pgppepqu
|?:1!2!*S
12SSSSSSSS
1|||2||x2||T2||P2||
)(1)))3)))
*.*'	1:;	3
*.*'	1:3
*.*;	1*'	3
*.*;	1*3
*.*;	1:3
[[[1[[[3
130124223339Z
130327200823Z
130327201314Z
130822121823Z0#
1*;	3*0F(
1:;	3*0F(
131130174903Z0
1.3.132.0.34
1.3.132.0.35
1*3	1:8F(
*.*;	1:3	3-?
-*1;33lmq:':]Y]]I]]
1*'	3*4F(
1.35ACCEAa1AAAAAAAAAACCEAc1AAAAAAAAAAEC@AQ1AAAAAA
1.3.6.1.4.1.311.13.1
1361:q314_D__z_
1361:q314_H__O_
1361:q314_L__y_
).*;	1:3J
*.*;	1:3J1:
*.*;	1:3K0:7
'	1*3K1*
1*3K1*7K
1:3K1*8F(
1*3K1:(F(
1*3K3:?K
1*3K3:;M
1:3L0*(F(
1*3L3:;O
*.*;	1:3M0
1*3M3:8F(
1*3N3*;M
1:3O1*0F(
1:3O3*0F(
140424223339Z0
140627200823Z0
140627201314Z0
14!0UUBUU
[[[1[[[4[[[k
14pgppepq
14ugqggCfls
14xx]Y]])
[[[1[[[5
150722190254Z
1).5.2).1
15("2*4--o
15") -?8
15gWQgfG
15rvfgfG
1;5(XEX]
:15yALIyyyyyHKLKyyyysAyyJAI
!;"(?16"
160107120000Z
160112000000Z
 ?16(6;:"
16bitappdetectorut.cpp
_16bitmachine
16cccuccacsc0
16d1)kdu@
'16J	1o7
16llllllllmllllOllylm
16pgppepq
1	6-:'q314_a__E_
1	6-:'q314_P__E_
1	6-:'q314_Q__F_
16	Q!!a	
*.*'	1*7
*.*'	1:7
*.*;	1*7
*.*;	1:7
?	1:7	06
1:7	1*0F(
171223000000Z
1*7	1*7L
1788rxsx
1788rxvx3
179EEyxty"?.
1"7GSgydgfG
1*7J0*3K
1:7J1:0F(
1*7J1:7M
1*7K1:4F(
1*7K1*?M
1*7K3*8F(
1:7K3*8F(
1*7K3:(F(
1*7L0*8F(
1*7L1:0F(
1:7L1:7K
1:7L1*7M
*.*;	1:7L3*
1_7llllllllmllllOllylm
1:7M0:8F(
*.*;	1:7M1-?
1:7M3*4F(
1*7M3:(F(
*.*;	1:7N0
1*7N0*;K
1*7O0:8F(
1:7O0*'L36
1*7O3*0F(
1*7O3:7	
1:7O3:;J
17#pgppepqo
|]17]TgfGQ
17yxvy):
1#||||||||#8	
180920174200Z
181024210740Z
181024211428Z
18:3q314_B__H_
18:3q314_B__O_
||||||||1|8|5|?|0|5|9|2|(|||||||185?0592(|||||||
1861:q314_F__O_
19041.0.GitEnlistment(sscpbld02).230105-1654
190502212032Z
190502212436Z
190502212529Z
190820002558Z0#
190906204119Z
 ;190'UUJUU
:1 90UUwUU)
191023231921Z
191219011456Z
191219011505Z
1960'SSSSSSS3
19"llllllllmllllOllylm
19llllllllmllllOllylm[L
1.A  0     
1@@@@AAA
1aaa6aalalaea@B)253[5
1AAAAAAAAAA@AAAA
1AAAAAA@@@A@AAAAAAAA
1AAAAAA@A@A@AAAAAAAA
1AAAAAAAAAA@AAAAAAAA
1AAAAAAAAAAAAAAAAAAAAEAA
1AAAAAAAAAA@AAAAAAAAAEAA
1AAAAAAaA@A@AAAAAAAECCA
1AAAAAA"A@A@AAAAAAAECCA
1AAAAAA'A@A@AAAAAAAECCA
1AAAAAA(A@A@AAAAAAAECCA
1AAAAAA)A@A@AAAAAAAECCA
1AAAAAA*A@A@AAAAAAAECCA
1AAAAAA-A@A@AAAAAAAECCA
1AAAAAA[A@A@AAAAAAAECCA
1AAAAAA]A@A@AAAAAAAECCA
1AAAAAA_A@A@AAAAAAAECCA
1AAAAAA|A@A@AAAAAAAECCA
1AAAAAAAAAA@AAACC@A
)@1AAAAAA@AAAAAC
1AAAAAA@AAAAAC
1AAAAAA@AAAAACBe
1]AAAAAA@AAAAACs!A
1A _AAAA@AAAAACR
1AAAAAAAAAAEC@AQ1AAAAAAtAAAA
1AAAAAAbA@A@AAAAAAAECCA
1AAAAAABA@A@AAAAAAAECCA
1AAAAAAcA@A@AAAAAAAECCA
1AAAAAACA@A@AAAAAAAECCA
1AAAAAAdA@A@AAAAAAAECCA
1AAAAAADA@A@AAAAAAAECCA
1AAAAAAeA@A@AAAAAAAECCA
1AAAAAAEA@A@AAAAAAAECCA
1AAAAAAfA@A@AAAAAAAECCA
1AAAAAAFA@A@AAAAAAAECCA
1AAAAAAgA@A@AAAAAAAECCA
1AAAAAAGA@A@AAAAAAAECCA
1AAAAAAhA@A@AAAAAAAECCA
1AAAAAAHA@A@AAAAAAAECCA
1AAAAAAiA@A@AAAAAAAECCA
1AAAAAAIA@A@AAAAAAAECCA
1AAAAAAjA@A@AAAAAAAECCA
1AAAAAAJA@A@AAAAAAAECCA
1AAAAAAkA@A@AAAAAAAECCA
1AAAAAAKA@A@AAAAAAAECCA
1AAAAAAlA@A@AAAAAAAECCA
1AAAAAALA@A@AAAAAAAECCA
1AAAAAAmA@A@AAAAAAAECCA
1AAAAAAMA@A@AAAAAAAECCA
1AAAAAAnA@A@AAAAAAAECCA
1AAAAAANA@A@AAAAAAAECCA
1AAAAAAoA@A@AAAAAAAECCA
1AAAAAAOA@A@AAAAAAAECCA
1AAAAAApA@A@AAAAAAAECCA
1AAAAAAPA@A@AAAAAAAECCA
1AAAAAAQA@A@AAAAAAAA
1AAAAAAqA@A@AAAAAAAECCA
1AAAAAArA@A@AAAAAAAECCA
1AAAAAARA@A@AAAAAAAECCA
1AAAAAAsA@A@AAAAAAAECCA
1AAAAAASA@A@AAAAAAAECCA
1AAAAAAtA@A@AAAAAAAECCA
1AAAAAATA@A@AAAAAAAECCA
1AAAAAAuA@A@AAAAAAAECCA
1AAAAAAUA@A@AAAAAAAECCA
1AAAAAAvA@A@AAAAAAAECCA
1AAAAAAVA@A@AAAAAAAECCA
1AAAAAAWA@A@AAAAAAAECCA
1AAAAAAxA@A@AAAAAAAECCA
1AAAAAAXA@A@AAAAAAAECCA
1AAAAAAyA@A@AAAAAAAECCA
1AAAAAAYA@A@AAAAAAAECCA
1AAAAAAzA@A@AAAAAAAECCA
1AAAAAAZA@A@AAAAAAAECCA
.1AAAAAC
1	aaia72
1aakI0aakacvI3aakacA
1(@@@@A@A@NpKJC
1AdE[[[([[[-[[[
1)))@A]DEJFDYH[L
[[[|1AdH[[[e[[[d[[[*
1Adx[[[1[[[
1af9Lkde
1)))AFGNZLGE@G
1)))@AFZ]
1ag!jgfGk
1@@A@h DZTTG
1)))AHE]
1@@A@h FMHc
1@@A@h J]3
1@@A@h MZ0
1[@@A@h NH
1@@A@h PN]
1AHyxpy:2A
1AJ]gfGeW@
1)))AKQL
1)))ALHML[Z
1allllllllmllllOllylm
1AllllllllmllllOllylm'd
1)))AL[]P
1@@@@@@A@mpVL
1[@@@@@@@@ap@J
1[@@@@@@@@ap@Ji
1[@@@@@@@@AQ@e
??1ARGUMENT_LEXEMIZER@@UEAA@XZ
??1ARRAY@@UEAA@XZ
1)))A]]Y
1)))A]]YZ
1@@@@B@@@
@1B1@6B6@
1B2C2D2E2F2G2H2I2J2
1||b2||D
1@@@@B@A@
1@@@@B@A@2 @J
??1bad_cast@@UEAA@XZ
1@@@@B@A@Hp@V
1B@A@Np@J
1@@@@BB@@
1BB758LOlpoxx_
1bblyFF_[WW
1Bd(o1d;
]1BdS[[[o[[[8[[[
1)))B@EE@GF
1BFBG73s
1bFlyFW_[W
1bfmpcei
!];1bge:
1BgfGob)
1BggcgfG
1)))BG@NA]EFNNL[Z]H[]LM
!1Bh3PSSUs)
1BKBT73s
1BLBT73s
1)))BL[GLE
1[@@@@B@@@Lp@
1:@@@@B@@@Np@F
1@@@@B@@@Np@Jyz
1BOT73BA
1bpgppepqQ
1BPgwcgfG
1BsZ73BF
1B@T73BA
1B]T73BA
1BTBU73@WBWW2@W[BWU
1BTZ73BF
1BUB_73s
1BUBC73YUs
??1Button@DirectUI@@UEAA@XZ
1BVB_73YUs
1)))BvMHBF
1BVZ73B[
1BWZ73BT
1@B@@XpS@@@@@4J
1B[[[Z[[[K[[[v
1BZZ73BF
[[[1[[[c
1C0g_bgfG'.
1CACC 1AaFb
1c@@@@B@A@2 @E
1cCCNCCCBACC:
1)))CCJJKK
1Cd@[[[E[[[D[[[
1C(dT[[[
1cg7fgfGpj
1cg)bgfGj
1CgGbgfG
1Cg_kgfG
1CgQngfG
1CIg9egfG
??1ClassInfoBase@DirectUI@@UEAA@XZ
1CllllllllmllllOllylm
1cmiLogModuleOtherWWW
1cQegfG.
??1CritSecLock@DirectUI@@QEAA@XZ
1CR[[[Z[[[
1CS;V31CS:V
1CS"VK0CS!V
1)))C@]vJFMLvFOOZL]
1CVllllllllmllllOllylm.
(1d_[[[?[[[
1d0dI[[[
1d0dQ[[['
1||d2||92||
1||d2||R2||?2|| 2||
1?d*!9d w
@1@@D@ACac
1)))DAM]@
1d#*bdKF
1#dB[[[N[[[
1Dd][[[?[[[
1DdL[[[1[[[4[[[
1DdM[[[b[[[
'1Dd][[[O[[[
'1DdT[[[W[[[
1DdT[[[Z[[[
1DdU[[[P[[[N[[[
'1DdV[[[
1Ddz[[[9[[[?[[[
]1dE[[[u[[[
1#d_[[[f[[[
1)))D@GL[
1dG	le"p	d;
;1DgqggZ
1#dH[[[;[[[
1dH[[[J[[[H[[[
(1dI[[[c
1[[[di#eC[[[
1#dK[[[;[[[:[[[
1DllllllllmllllOllylm
1dL[[[v[[[u[[[
1dM[[[5[[[
]1dM[[[_[[[j[[[
1dM[[[k[[[
1]dO[[["
1#dO[[[9[[[*[[[
??1DSTRING@@UEAA@XZ
1dV[[[d[[[
[[[1[[[dVudR[[[
1dW[[[x[[[s[[[
1[[[[[[dX[[[0[[[7[[[
1dX[[[M[[[
(1dX[[[T[[[
1dX[[[T[[[O[[[
1)))DZQDE
[[[1[[[E
1e@[[[8[[[
@@@@@1@@E@AAacoo
1eC[[[L[[[C[[[
[[[1[[[:e|dJ[[[
1EdR[[[t[[[k[[[
1Edx[[[6[[[
1)))EEHNFZ]L[H
1)))EFJHE
1)))EFJH]@FG
1)))EFN@GZALEEPHHGHBNFKEFB
1)))EFNN@GN
|1egfwzc
|1eg-kgfG!
1eI[[[V[[[C[[[
1eK[[[?[[[
1eK[[[8[[[
??1Element@DirectUI@@UEAA@XZ
1)))ELGN]A
1e(lH[[[
1)))ELHB
1)))EMJ[E@F
1Epgppepq
1eT[[[h[[[
1ex[[[:[[[0[[[
??1exception@@UEAA@XZ
1ex[[[R[[[Q[[[7
1ey[[[.[[[
1)))E@Z]
1eZ[[[1[[[
1eZ[[[:[[[9[[[
1e][[[z[[[x[[[ 
1f[[[[[[
1F3gqgg.hu
1f_[[[8[[[
1fA;3u4H
??1facet@locale@std@@MEAA@XZ
1FdF[[[?[[[
1fdK[[[#[[[
[[[1"fe][[[
[[[1"feQ[[[
1"feQ[[[b[[[
1"feW[[[
1FFlyWW_[
?1fggGWl_
1)))FGJE@JB
1)))FGLZAF]vYLvLG][PvYF@G]
:1fIAAAA@AAAAACs
1fK[[[e[[[
1FllllllllmllllOllylmA
1fO[[[C[[[B[[[
1f[[[[V[[[J[[[
1)))FYLGZZE
1)))]FYZL[_@JLZKFFZ]L[
1fZ[[[A[[[
 1g1kgfG
1g3kgfGLK)Agqgg
1g9ggfG3
1g9gqgge
1gadgfGU
1g_agfGL
1)gAgg!*mX
1!gB[[[;[[[?[[[
1@?gcAnb
]1gCdgfG:.
1g]cgfGB
1g]cgfGfw
1g]cgfGT
1)))@GCLJ]
1gEegfGs
1g?egfG)
1g]egfG8F7
1g;egfGj_@
1'gesgfG
1gesgfGL
1)))@G_FBL
1g]]ffGS
1-g#fgfG
1g'fgfGy
[1g[fggGd
1gGbgfGk
1Gg!cgfG
1ggcgfGf	
!1gGfgfG"
1g[ggfGE1
1	gggfwH
1!gGggfG"
1Ggiggfw1
1GgKbgfGz
1 ggkgfG
-1ggqgg:
1GgWfgfG
1ggygfGA
1)))GHDL
1g)hgfGH
1gIggfG;
1giggfwb
1giggfwf@
1gKegfGm
1gKggfG*
1_gkmgfG
1gKogfGH
;1gKrgfG
1gMdS[[[
1!gMegfG
1goegfGu
1g-ogfG|
1googgGwU
1gotgfG*
1g'pgfG2
1gqfgfG*I
]1(gqgg2?
 1gqgg;2jh
1gqgg36M
1gqgg6yy
?1gqgg7[
1#@gqgg7
1gqgg8)!
1gqggcnuD
 1gqggei
1)!gqggeL-
1gqgg?fi
1gqggH5T.
1gqgg'Hk
1gqgghR.H
1gqggJOf
#1gqggJv
1gqggjxf
-1'gqggl|
-1gqggm-
 1gqggO2
1gqggPBz
1gqgg#uRf
1gqggw6HKv:
1gqgg!wc
1gqggy:LD
[1gspgfGR1b
1gUcgfGc'-:gqgg
1	gWdgfG
1gWegfG@
1gwHgfGd#96gqgga
1#	gWjgfG
1gwngfG5
1gYegfGP
1gYggfGK
1gYogfG	
1Gyyyyyy
1Gyyyyyy|9yyy
1GyyyyyYn9yyyiY
1GyyyyyYo9yyy
1g'zgfG9
1)))@GZ]HEE
1)))_H[DEYN
1)))HEL[]
1)))HGGF]ZvJ[HZAvH_F@MHGJL
1)))_H[H
1HHgqggf
1)))_H[HJ]GG
1)))H[[HP
1)))HJJLZZ]FBLGOF[HHMN[HYA
1)))HJ]@_@]PvHB
1)))H]][@K
||1:?HN	R800||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||1:?HNR800|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1)))_H[O@EL
1)))]][HOO
1Hpgppepq
1Hpgppepqy
1)))_H[vvM
1h)WSSk3WSSPs
1)))HXHHHGJDGM
1HXnllllllllmllllOllylm
1hxyyyyyyyyy'hxyyiyyyyyyyyyyyyyyyyyyyyyy)hxyyyyy
1)))_H[YH]A
1)))HYYEL]JFML
1)))_HZ_
1)))]HZBB@EE
)))1)))_H[Z][FBL
1)))HZZLDKEP
[[[1[[[I
1||i2||J2||.2||
1)))iAFDLM[@_L
1)))iAFDLZAH[L
1I|Axyyzqv
1IdC[[[z[[[x[[[
1)))iFZ_L[Z@FG
1:igGwgfG
1i"gofgfG3
1 ijjSSSSS
1IllllllllmllllOllylm
1IMAPIClientShutdownTypeW
1I!mggfwef
1iNLf4Gyyyyyyh9yyy1c
1IqgUkgfG
1IwgfGai-0gqggX
1I]Y]].]]
1)))iZ]H[]
1)))iZJ[@Y]M@[
1)))iZPZ]LDM@[
*.*;	1:'J0
1*?J0:4F(
*.*;	1:'J1-?
*.*;	1:;J1-?
1*;J1*0F(
1J1Lyxly''
1J2V4xyyy
*.*;	1*'J3
1:'J3:0F(
*.*;	1*?J3:3
1*;J3*3L
1jAAAAAA@AAAAAC
1)))JADFM
1)))JFEF[
1)))JFG_L[]O[FD
1)))JF[Lv]HZBvOE
1)))JFYP
1)))JFYPM@_]FJE@YKFH[MMFNL
1Jgqgg3agvJ@
1Jgqgg'n
1|JgqggTu
1)))JHEEGLQ]AFFBLQ
1)))JHEE@GNCZL[[F[]FZ][@GN
.1(JHHyxtx
1)))JHZ@D[HM@H]F[JFDYFGLG]
1)))JHZHJAL
1)))J_LE@Z]
1)))J[LH]LFKCLJ]
1)))[]JZALEE
*.*;	1:;K0-?
1:'K0:7M
1:;K0*8F(
1*'K0:(F(
1*?K0*(F(
1:;K0:(F(
1K.*0yxjy.J
*.*'	1*?K1*
1k3jPkR]X
1:;K3*'L
1*;K3*?O
1KdF[[[h[[[
1KdX[[[9
1)))KFSSE@GL
1KHllllllllmllllOllylm
1)))KHMZ][@GNZ
1kllllllllmllllOllylm
1)))KLZ]ZL[_@JLALEYL[
1K;Mpgppepq0
1KxzxHxN
1)))_KY[FCLJ]
1kyyyyyyyyyy'kyyyiyyyyyyyyyyyyyyyyyyyyyy)kyyyyyy
*.*'	1:;L3
*.*;	1:;L3
1*;L3:?M
1l4O9l4O
1l@@A@7pQD
1L@@@@@	@@A@AEac
1l@@@@B@A@Jp@C2
1LdO[[[Q[[[J[[[
1LdU[[[L[[[
1)))LG_@[FGDLG]
1)))LGJ[PY]F[
1)))LG][PYF@G]
1)))L_HE
1liggfwU
1lKpgppepqT
1lllllllllmllllOllylm
;1*llllllllmllllOllylm
1 llllllllmllllOllylm
1!llllllllmllllOllylm
1[llllllllmllllOllylm
-1llllllllmllllOllylm
@1llllllllmllllOllylm
1llllllllmllllOllylm
1llllllllmllllOllylm"
1llllllllmllllOllylm'
1llllllllmllllOllylm[
1llllllllmllllOllylm].
1llllllllmllllOllylm_
1llllllllmllllOllylm02
1llllllllmllllOllylm8
1llllllllmllllOllylm9
1llllllllmllllOllylmAO
1llllllllmllllOllylmc
1llllllllmllllOllylmE
1llllllllmllllOllylmg@
1llllllllmllllOllylm[i[
1llllllllmllllOllylmj
1llllllllmllllOllylmL
1llllllllmllllOllylmoH
1llllllllmllllOllylm"R
	1llllllllmllllOllylmS
1llllllllmllllOllylmt
1llllllllmllllOllylmT
1llllllllmllllOllylmU
1llllllllmllllOllylmw
1llllllllmllllOllylmy
1llllllllmllllOllylmyj
1 llllllllmllllOllylmz
1llllllllmlllpMO(	
1;llllllllmlll]Y]]
1llllllllmlll]Y]]
1)))[LM@[LJ]@GN
1)))[LN[LHM
1)))[LNLM@]
1)))[LN@Z]L[
??1_Locinfo@std@@QEAA@XZ
??1_Lockit@std@@QEAA@XZ
1)))[LOL[[HEZYHDML]LJ]
1)))[LO[LZA
1[@@@@@@@@Lp@
1lpadrlistWWWD
1lpContRestrictionWWW@
1lppFolderWWW
1)))LQLJ
1)))LQYEF@]
 1)@LQYEF[L
1)))LQY[LZZ@GZ]HEEJHEEKHJB
1lubt*llllllllmllllOllylm
1lyyyyyyyyyy
1)))[LZ]H[]
1)))[LZLH[JA
*.*'	1*;M0*;
1*'M0*8F(
1*;M0*8F(
1*;M0:8F(
*.*;	1*?M1-?
).*'	1:?M16
1:?M1:?O
1:;M3*0F(
1*?M3:3	
1MdJ[[[D[[[
1mDnM[[[G[[[
1MdX[[[2[[[1[[[
1meJ[[[J[[[I[[[AUBdI[[[
1)))MEMFDH@G
1meP[[[	[[[
1mgiggfw
*1mgqgge8
-1Mgqggf9
1mgqggt0
1mH[[[#[[[
1)))MH]H]PYL
1)))M]Hv_L[Z@FG
1)))M@_JEHZZ
1)))MLDL][@Z
1)))MLJFML]FZ][@GNY@YLE@GL
1)))MLJ[PY]ALEYiDH@E
1)))MLOJA
1)))MLOY[LYH[L[FY
1M!!mggfw
1)))M@MJ[LH]LZJ[@Y]JFG]LQ]
"1MRvgSggfG1MRvxD5
1mSSSSSSSSSSSS
[[[1MTdU[[[
1MVcurWWWH
1)))mxFgjN
[[[1[[[N
1*?N0:(F(
1:'N0*?K
1*'N1*(F(
1:'N1:(F(
1*'N1*'M
*.*;	1*'N3*?
*.*;	1*?N3-?
1:;N3:4F(
1*?N3*8F(
1:'N3*8F(
??1NativeHWNDHost@DirectUI@@UEAA@XZ
_1NdA[[[
(1NdL[[[q[[[d[[[
1	Ndy[[[
1)))NEFKHEZr
1ng;egfGf
*1	ngfGN
")1 NKO"M4-
1)))NL]EHZ]HMZL[_LM]@DL
1)))NLGL[H]@GNYHJBHNL
1)))@NLGZJ[@Y]EL]]E@K
1)))NL]LG_
1 nllllllllmllllOllylm
1nllllllllmllllOllylm
1)))NL]ZYLJ@HEOFEML[
1)))][@NNL[v@GOFvELHB
1NP1Nf1NJ1NF1Nf1NP1OB1NI1NO1NH1OB1NT1Nf1N_1O[@
1nSSSSSSSSSSSSSSSSSSSSf
1nUFS_image
1nVgqgg!
1nyyyyyyyyyy
[[[1[[[O|
||||||||||||||||||||||||||||||||||||||||||||||||1O
*.*;	1:'O0
1:'O0*0F(
1*;O0*4F(
1:'O0*7M
1:'O1:3O
1*'O1:8F(
1*;O1:8F(
1:;O1*8F(
1*;O3:8F(
1*?O3:(F(
[[[1[[[o5
??1OBJECT@@UEAA@XZ
1Od_[[[.
1!o_dgfG
1OdM[[[u[[[t[[[
1)))OEHDLGNF
1)))O@ELMLEL]L
1)))O@ELvLQ]LGZ@FG
1)))O@ELY[@_H]LGZ
1)))O@ELZL]H]][@K
1)))O[FD
1)))O[FDJ[PY]F@DYF[][HGMFD
1)))O[FDvZ][@GN
1)))@OFEML[JFEELJ]@FG
1)))OF[LHJA
1og_gggw
1OgmfgfG
1)))O@GMOEHZADLDF[PY[F]LJ]
1)))O@GMZ][
1oifI[[[T[[[E[[[
1oifQ[[[m[[[l[[[
1oifS[[[
1ollllllllmllllOllylm-
1OllllllllmllllOllylm
1oOdM[[[
1)))@OO@ELLQ@Z]Z
1)))O@ZAL[DHG
1oZCCNCCCBACC
1OzhggwrC8y
1||p2||j2||U2||I2||92||(2||
??1PATH@@UEAA@XZ
1PdH[[[Z[[[
1PdJ[[[_[[[S[[[M
1PdY[[[][[[
1peJ[[[U[[[
1"pgppepq
1-pgppepq(
1?pgppepq
1_pgppepq
	1pgppepq
[1pgppepq
1pgppepq
1pgppepq	
1pgppepq' 
1pgppepq.
1pgppepq;
1pgppepq_
1pgppepq6Z
_1pgppepq8
'1pgppepqC
1pgppepqe
1pgppepqf
1 pgppepqj
1pgppepql
1pgppepqm
1pgppepq"M
1pgppepqo
1pgppepqQC
1pgppepq"R
1pgppepqt
1pgppepqU
	1'pgppepqV
1pgppepqv
1pgppepqY
1pgppepqz
1pgppept
1pg	xgfG
1PhS2llllllllmllllOllylm1
1PllllllllmllllOllylm8
1POdO[[[
1pSourceUserSidStringsWWW
1PSVR31PSUR#1PSTR
1PSYR[0PSXRK0PS_R
[[[1[[[p|yd@[[[
...1pyyyyyyxyyyHy
1||q2||X2||F2||.2||
1Q@@@@@AA@M@BCac
1Q@@@@@@A@dp@K
1Q@@@@BB@@Op@@@@@@@@@@gAgg
.1QdA[[[s[[[
1QgqggQ.
1qgqggyp
1qllllllllmllllOllylm
1QllllllllmllllOllylm
|1|q||NP|@||||OR|B||||HS|C||||I||||||||V|||
1Q@@@@@@@@_p@J
1@@@@@r@@A@AAac
1rd*cHdD
1RdL[[[c[[[f[[[E
1RdM[[[0[[[([[[
1)))REFHML[r
1RepositorySetWWW0C
1Rg[dgfGh
1rGHltTR
1rIdB[[[
1)))r[LOt
1rpgppepq
1)))RREFHML[r
1)))RRuD
1RSSBVsS
1RSSsSSSQBU
]1RxeT(6RSW(5RSWs
1RygqggY*
[[[1SBdy[[[
1SC1S@@1SB1S@@1SE1SH1S|1Sw1SC1S@@1SG@
??1SC@mmcerror@@QEAA@XZ
1SdC[[[y[[[|[[[lP
1SdT[[[Z[[[
1SearchPatternWWW81
1)))SFDK@L
1)))SHDL
1SL.eXllllllllmllllOllylm
1sLggogfG
1sllllllllmllllOllylm
1S)mggfw
1sogfGug
1[SSS@Se
1 SSSSSSSS
1SSSSSSSSSSSSS
1StllllllllmllllOllylm
??1STREAM_MESSAGE@@UEAA@XZ
??1STRING_ARGUMENT@@UEAA@XZ
[[[1[[[t
1tdGhXebh
1TdW[[[j[[[
1tg[kgfG
1T.LggfGc
??1TouchHWNDElement@DirectUI@@UEAA@XZ
1(tpgppepq
1tydgfG@pW
??1type_info@@UEAA@XZ
(1T[[[Z[[[k[[[
1T[[[Z[[[O[[[
1||u2||T2||72||
1U[73W2Z
1@@@@@u@@A@AAac
1uD704]0
1UdB[[[g[[[d[[[m
1)))uDHZZ
1udPoooo
1u)gqgg!
(1ugqggPE
1ugYagfG
1)))uJZJ[@Y]
1)))u@LLOu@G]L[OHJLZ
1uoecgfG
: ;1UUDUU
1UUgqggcnuD
;1UUJUU(TUuDtv
1[[[UukfE[[[0[[[
1)))uu]LDYuu
: ;1UULUU
;1UUOUUG
:1UUtUUb
1UZ73Y]T
1)))uZPZ]LD
1v1v1v1v1
1]V[73CV][j
-1V9:xxx
1vDmOO(9
1--)VHWIyyyy
1)V;xyxSy
1WdU[[[!
1WgopgfG
1Whg?pgfGj
1wJ@@@@BAB@
1w#((]Y]]
[[[1[[[*X
1x1111111111
1||x2||a2||N2||52||
*1(X5(KX;
1)))XFYYL[[P
1XgqggYyP
1X:L(c_I8U
;1*XllllllllmllllOllylm
1xllllllllmllllOllylm
1XllllllllmllllOllylm0
1xogqggfi
1xOxxyxyxyxxyxRz
1xRdK[[[
1XSgGrgfG
[1xxgA[Dp
1x]X;llllllllmllllOllylm
'  1.xxx
(1!xx]Y]]
1xx]Y]]D
(1xxyxKy
1xxyxoyM
'  1.x      xyxvy?
1xyh0xyI0xy40xy
1xyo0xyS0xyK0xyC0xy-0xy
1)xyxBy1x
'-1xyxjyw
"1(xyxqy5
1)xyxry1
1xyy0xyd0xyB0xy#0xy
1xyyA5]iv
1xyyxyyy
1xyyxyyyv
1XZYaq8.	@
1)((]Y]]
1y0y3y2y
1)))YB]KZ[PANOC
1)))YDFYDFY@L@
1ydgfG[:
1yeyqy)Xy	yQyiyy
1)))Y[FKELDAHZKLLGML]LJ]LM
1)))Y[FYL[]@LZr
1)))YFZ]
1Yg'kgfG
1yg'wggG
[[[1[[[Yj
1_yllllllllmllllOllylm
1YllllllllmllllOllylm
1)))YN[LY
1@@@@@@@@yp@G
1)))YPYPBH]S
-*1yxfy:
1*;yxry*
?-1yxSyJ
'  1.yxvy?
1yy)1yy*1yy
1yya0yy@0yy!0yy
1yye0yy:0yy
1yye0yyA0yy"0yy
1yyi0yyV0yy20yy
1yyj0yyV0yy20yy
1yyk2yyP2yyB2yy22yy
1yyl0yyH0yy40yy
1yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
1yyr0yyg0yyN0yy50yy
1yyT5qyT5qy3J|yB4qyB4qy
1yyx0yyc0yyJ0yy50yy
1yyxyyyzyyyzyyy
1yyy0yyd0yyA0yy"0yy
1yyydyzy
1yyyxyyy
1yyyYxyy3yyyqxyyyyyyyyyyyyy9yy
1yyyyyyQyyy)yyy
1yyyyyyy
1.yyyyyyyyyy
1yyyyyyyyyy[0yyyiyyyyyyyyyyyyyyyyyyyyyy
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyA-
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyU
1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)Yo
:1yyyzyy
1Z0gqggy
1Z0zSggfG
1)))ZALEE
1)))ZALEEuLQYEF[L
1)))ZALEEuLQYEF[LuJFDDHGM
1ZCkgwngfG
1]ZdE[[[P[[[J[[[
1)))Z@ELG]
1)))Z]FJB][HMLQ
1Zg7fgfGMK
1Z[g	agfGq
1zgqgg-z
1)))Z]H[]
1@ZhCCNCCCBACC
1)))ZHG]HGML[GL]@KL
1)))Z]H[]J
1)))ZH_L
1)))Z@]L
1)))ZL]AY
1)))ZLD@
1)))ZL]@DYELDLG]H]@FGOEHNZ
1)))ZLEO
1)))Z][LHD
1)))Z][LHDvZFJBL]
1)))ZPZ]LD
1)))ZPZ]LDJ]EMHLDFG
1Zq4g(qx
1zX[[[Z[[[O[[[
1)))Z][@YZEHZALZ
1zz[N[[W
1zzzrzzVzzz
1zzzrzzVzzzj]zz
1zzzrzzxzzz
  _!    2
  2     
  2     	
))2())))
))2)))))
[	[:[2[![
[[[	[[[2
[[[?[[[2
[[[2[[[	
[[[2[[['
[[[2[[[;
[2[)[.[([[[
|||||||||||||2
|||||||||2|
|||||||||2|	|
||||||||2
|||||||2
|||||||2|
2@@@@@@@@
2||||||||||||
2|||||||||||||
2||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[:[)[?[?[2[([0[
[[[2[[[0
[2[([0['[
|||||2|)|0|0|||||||||
|2)00||||||||
200110210740Z0
200110211428Z0
200304183039Z
200502212032Z0t1
200502212436Z0p1
200502212529Z0t1
200722153329Z
200831222932Z0y1
201015172826Z
201112182604Z
201112182605Z
201204204119Z0
201215212437Z
20130822002332Z
20130822121825.485Z0
2018-12-01 12:34:55 bf8c1b2b7a5960c282e543b9c293686dccff272512d08865f4600fb58238alt2
20190820002558.844Z0
20190820053055Z
20191207005713Z
20191207005743.95Z0
20191207010512.491Z0
20191207034550Z
20191208005713Z0t0:
20201105162547.921Z0
20201105202409Z
20210108200522.129Z0
20210108201509.554Z0
20210108201602.248Z0
20210108204703Z
20210108222207Z
20210109032300Z
20210824144827Z
20210824182154.228Z0
20210825144827Z0t0:
20220128084112Z
20220324121936Z0
20220324121937Z0
20220328025823Z
20220328041733.777Z0
20220328041735.381Z0
20220328102727Z
20220329025823Z0t0:
20220726105934.687Z0
20220726173536Z
20220727173536Z0t0:
20220822085343Z0
20220823194926.195Z0
20220824025630Z
20220923201456.947Z0
20220923201456.983Z0
20220923213242Z
20220924011341Z
20220924213242Z0t0:
20220925011341Z0t0:
20221004040630.045Z0
20221004051626Z
20221005051626Z0t0:
20221021042739.893Z0
20221021081701Z
20221104080126.031Z0
20221104080126.185Z0
20221104080128.434Z0
20221104104717Z
20221104105906Z
20221104113107Z
20221105104717Z0t0:
20221105113107Z0t0:
20221109112708Z
20221109135252.342Z0
20221110112708Z0t0:
20221120222641Z
20221121031328.625Z0
20221124025845.466Z0
20221124102006Z
20221125102006Z0t0:
20230106034742Z
20230106035003Z
20230106050728.418Z0
20230106050813.219Z0
20230107034742Z0t0:
20230109073622Z
20230109091712.677Z0
20230109192359.805Z0
20230109195035Z
20230110195035Z0t0:
2!0()#3@B@A@@
2!0()#3r
#2)04).'
#2)04@@@A@@
-20?!)6()
#2'0;67SSSSSSS
2'0;67SSSSSSSS
206?:86!S
||||208|||||
208 ?2 ;S
#20867Sr
20867SSSSSSS
#2086!SS
2086!SSSS
#208SSr'
208SSSSS
#208SSSSSSSSSS3
'20)@_CYb-N
2'0;f161d656S
20oTbgfG1G
:20):-q314_
:20):-q314_B__O_
:20):-q314_B__T_
[2[([0[r[
20rgqgg; 
 '2':0Sr
#2'0;SS!#5
2'0;SSSSSS
'2':0StSSSSQSSsS
20#[t@@A@h HT
20;UUMUUy
210101000000Z
210121231921Z0
2.1.0.135
210303183039Z0p1
210317011456Z0
210317011505Z0
210403130309Z0w1
210429000000Z
210509232813Z0_1
210509232813Z0y1
210617175559Z
210803000000Z
210913000000Z
210930182225Z
211028192744Z
211028192745Z
211202190514Z
211202190522Z
211202190523Z
211202212437Z0t1
: 21?67S
2.16.840.1.101.3.4.2.1
2.16.840.1.101.3.4.2.2
2.16.840.1.101.3.4.2.3
?#;216'S
-(2'1JJV
21TdK[[[
';2_1"Uj
220112172826Z0
220127193118Z
220127193119Z
220211182604Z0
220211182605Z0
220226000000Z
220302185118Z
220302185119Z
220302185123Z
220302185126Z
220302185129Z
220302185142Z
220310192419Z
220310195805Z
220505192215Z
220505192314Z
220505192315Z
220512205406Z
220616175559Z0
220802235959Z0l1
220822085343Z0)
220913235959Z0l1
220920202201Z
220920202203Z
220920202217Z
221104190128Z
221104190138Z
2!:21?6|
2!:21?6S
[22222222SM
2-2(245jckm]X
222"ZZZm
2!#!2!7!n
22!9	.054
22!93n!3
22!93n(!3(
22!9@@@A@@
22!9@B@A@@
22!9@B@A@2 @A
)"2!29@B@C@_p@j
22!9@DD@@@
22g[egfG
22H22yxh
2'2SSSSS
22Vd::Nt
22yxky0I
||||23.|||||
230126192744Z0
230126192745Z0
230126193118Z0z1
230126193119Z0z1
230228190514Z0
230228190522Z0
230228190523Z0
230301235959Z0
230308192419Z0p1
230308195805Z0
230504192215Z0t1
230504192314Z0p1
230504192315Z0p1
230511185118Z0
230511185119Z0
230511185123Z0
230511185126Z0
230511185129Z0
230511185142Z0
230511205406Z0p1
2(@3_]-07:D)
231214202201Z0
231214202203Z0
231214202217Z0
||||232|||||
232AOyxs
2||_3||'3||
)234@B@A@@
(!23@B@A@@
!2!-3@B@A@Lp@n
2|||3||t3||i3||]3||S3||A3||53||)3||
240202190128Z0
240202190138Z0
)2!45:jHkJ]X
)246!.4)4)3)n
)246!..)4).)n
24?6SSSSS
24?6SSSSSSSS
)249@B@A@@
!24@B@A@@
#(!2!4@B@A@@
24C0yob(S
24gqggot
24gqgg-Y
24NdH[[[
24pgppepq
[[[2[[[4t
[:[?[?[2[5[([
[?[?[2[5[([
[[[2[[[5
250701214655Z0|1
250_[[[[[[[[z[[@
(253(#45.3
)|2|5|?|3|8|9|||)|(|:|Q|M|J|0|9|||||||||)|(|:|Q|D|||||||
?2  :5:6!
?2  :5:6!i
?2  :5:6!SSSS
?2  :5:6!SSSSS
 25('8AAAAAC
 25AAAAAC
[[[25[dB[[[
25gKkgfG
25gqggAv
[2[5[m[o[
[:[?[?[2[5[([m[o[
25?nVgfG
25riggfw
25:ZalOE
261019185142Z0
[*[2[6[2[:[4[
263633333
26;:9:1;:-q:':_M__E_
26aingfG-
[[[26JdZ[[[	[[[
2##6!SbSSSSQSSuS
2! 6!SgSSSSQSSeS
?2  6 SSSSS
2!6SSSSSSS
:";*2)"'7?"#!'
[.[2[7[?[
[:[2[7["[
[2[([.[:[7[
270418235838Z0
2##72'2Srp
2;7:2SSSS
2;7:2SSSSSSS
275A73yxay13
27:5jxkz]X
27AeP[[[
27AeS[[[L[[[C[[[
27gIdgfG
[)[:[([2[7[[[R[[[Z[[[
[)[2[-[:[8["[
2#||||||||#8	
|2(800R*
|2(800R.
)2803.9r
2826.6wu
[2[8[)[4[
2867#208SSSSSSr
?28G-pgppepq
2"8gsfgfG
[.[([2[8[[[I[[[t[
	2?8rg_wggG
28x4xxx.:MY
290322235959Z0
#29045)@B@A@Hp@_
290622193254Z0
290724141512Z0
 294;1gUUeUU
 294;1UUzUU
29@@@@B@@@Hp@R
]29gD-H!:
29gqgg7S
[[[29JdZ[[[
[2[9[)[:[)["[[[K[[[t[
29-llllllllmllllOllylm
29llllllllmllllOllylm
29llllllllmllllOllylm*
29llllllllmlll]Y]]
[2[9[)[:[)["[t[
[2[9[)[:[)["[t[q[[[h[[[t[
2(9xx]Y]]4lY
[[[2[[[a
(!2@@@A@@
[[[2[[[A
!2AAAAAAAA
2AAAAAA@AAAAAC
2AAAAAA@AAAAAC*
-2AAAAAA@AmqSR
2AAAAoqAxA
2A@@A@h PNZ
2@@@@AB@@[pd@@@@@
2aCCNCCCBACCd
2@@@@@A@@Cp@KG
	[(?2agfG
2agqggCid
2@@A@h Fd
2@@@@@@A@h FN
2)))AH[M
2)))AH[MP
2)))AHZ[]
2)))[ALH
2@@@@@@A@; LUl
2amgqgg(
2)))AOBOANBBBMNNMNCOMNBCOABOH
2apgppepq
2ApgppepqP(
2)))Aw]w]wYw
2@@@@A@@@XpMD
!2!-@@@A@XpND
2_@@@@@@A@Xp@Om7f
2)))A]]Y
2)))A]]YZ
2)))]A@Z
2)))]A@Zr
[[[;[[[2b
[[[2[[[B
2@@@@B@A@2 @A
2@@@@B@A@2 @E
2B@A@2 @E
2BAA@Hp@W6
2B@A@AQ@X;G
2@@@@BAB@
2@@@@B@ACqp@b
2BA@@Hp@W
2_@@@@B@A@Lp@|
2@@@@B@A@Np@P
2@BCCXpN@@@@@
2BCgqgg7[
2bg[kgfG
2bgqgg!A
2bhggfwd
2@@@@@@B@h J
2)))@]BHJA
2bIR1)M6
2blCgggfw
2)))BL[GLE
2BllllllllmllllOllylma
2Bpgppepq
2@_B_sSSCSeQEyA
#2';bSSSSSSSSySSSSSSS
2_[BTgTBT[
2b@@@@@w@@A@AAac
2BZ1@BQssP
2B[[[Z[[[K[[[W
2:C5pgppepq
2cAAAA@AAAAACq
-2CA@AIqAS
2CCNCCCBACC?o
[[[2?Cd_[[[
[[[]2Cd][[[
2C(dY[[[
2)))CF@G
2CGITPtr::Set
2cgqggkl
2)))CH_H
2CllllllllmllllOllylm
2cmiFileAttributeHiddenWW
2cpgppepq
@2CrBZBGB
2CreateAttach
2	cubgfG
2#d_[[[?[[[
_]*;2D07:D*
_]*;2D-07:D6
2d2*_duF
2d2?mdkl
2d 8CdPb
_]*;2D.:8Q7
@2@@D@ACac
@@@@@2@@D@ADac
2DagGwggG
2dA[[[H[[[m[[[;ELd][[[O[[[n[[[
2dB[[[6[[[5[[[
@@@@@2@@D@BCac
2.dB[[[D[[[
2DBdT[[[-[[[
2DBKmggfwc.Jn
2dC[[[2[[[0[[[[[[dX[[[
2dC[[[3[[[
2[dC[[[G[[[E[[[UuWdI[[[F[[[
(2dC[[[j[[[
2[dC[[[O[[[
_]*;2D.)-D)
2DdC[[[f[[[
|2DdF[[[
2DdZ[[[V[[[
2DestinationNameW
2)))DFCF
2dG[[[e[[[d[[[4
2dgIggfG
2)))D@GL[
2dG[[[p[[[
2)))DHKE
2)))@DHYvYHPEFHMv]L
2dI[[[J[[[N[[[
2#dJ[[["[[[
2dJ[[[f[[[
2[d[[[[J[[[H[[[
2;@dJ[[[Q[[[T[[[[
2dJ[[[W[[[T[[[
(2dK[[[-
2dK[[[	[[[
'2DLDDL7Q
2[dL[[[J[[[M[[[
2dM[[[g[[[
2dM[[[H[[[
2dM[[[i[[[
2#dO[[[.[[[#[[[8
2Dpgppepq
2dQ[[[O[[[
2.dQ[[[w[[[u[[[
2dR[[[n[[[
2dS[[[P[[[W[[[
2#dS[[[q[[[
2	dT[[[|[[[a[[[*
2#dT[[[q[[[j[[[m
2dU[[[T[[[
2dV[[[)[[[
2)DvvvvU
2dX[[[B[[[
2)))@DYF[]
2dY[[[J[[[
2D:'#ykWW
2dy[[[O[[[
2:(dZ[[[
2[dZ[[[2[[[
2)))DZA]H
2dz[[[i[[[c[[[
2#dZ[[[j[[[
2)))DZJFDJ]E
2dz[[[y[[[
2e][[[	[[[
2e][[[@[[[
2eA[[[6[[[5[[[l
@@@@@2@@E@ACac
@2@@E@ACac
2eA[[[d[[[
@@@@@2@@E@AEac
2eA[[[n[[[b[[[
2||eat|a
2"eA[[[W[[[
@2@@E@BEac
2"eB[[[M[[[G[[[
2"eC[[[k[[[j[[[ 
2'Ed_[[[
[[[2[[[:e|d_[[[
2Ed@[[[3[[[
2Ed:Atdg
2EdB[[[)[[[
2EdM[[[Z[[[
2EdO[[[;[[[8[[[
2EDQllllllllmllllOllylm
[[[2[[[:e|dU[[[
2EdU[[[5[[[
2EdV[[[_[[[
2EdX[[[Z[[[l[[[
2"eE[[[:[[[9[[[
2E:E:F8F:F8
2(EFGN_H[
2)))EFN@G
2EgargfGh
2eGyyyyy
2"e][[[i[[[b[[[
2"eK[[[)[[[
2eK[[[n[[[
2)))]@]EL
2[[[E*LdQ[[[1[[[
2EllllllllmllllOllylmJ
2ellllllllmllllOllylmU
2eM[[[3[[[
2eM[[[;[[[4[[[mB
2eN[[[2[[[
2)))EOiYF
2eQ[[[m[[[l[[[
2eU[[[h[[[
2"eU[[[K[[[j[[[u
2eV[[[D[[[
2EVgAmgfG4T
2"eV[[[m[[[
2"ex[[[O[[[
2"eX[[[P[[[
2eX[[[u[[[
2eY[[[f[[[
2:EzggfG
2f@2@@D@BCac
2[fAAAA@AAAAAC
2@FB@BFMBB
2@FBTK97I9	U
2fgAggjZgryKAto
2)))FKCLJ]
2)))FKCLQLJ
2)))[FKFYZLJFGMH[PYHPEFHMAFZ]
2]fQ	?5!
2)))FZHZJ[@Y]
2g1kgfGLV
!2g5ggfGF
2:g5kgfG
_2)g7egfGOzm
2g7kgfGTT
2g9fgfGv18(gqgg
2g9kgfG7:i
2gacgfGt
2gAgg31 Bj
2?gaogfG
2gB[[[	[[[
2gC3ffGS
2gCagfGB
2)))@GCLJ]
2gcngfGJ
2GDdH[[[8[[[)[[[
2[[[(GDdJ[[[
2:g#dgfG
2gefgfG2
2g'egfG9
2'gElgfGS
2gEmgfG8
2)))@G_FBL
:;2)gfGf:;
2g	fgfG*#
2)GFGJL[]
2gfGXxTU]Y]]
2gg7dgfG
2ggbgfGr
2-ggfGE6R
2ggfGO!(
2ggfG"W.
2gG@gfG'
2g'GgfGo
2gg?ggfG
2gGkgfG	k
!2gGMgfG
!2gGMgfGj
2ggsgfGPa
2GgWjgfGB
2)))GHDL
2;gIbgfG
2-gIbggw
2giggfwc
2Gjhggfw
2"g[kgfG!
?2g]kgfG
]2g)kgfG
2g-kgfGg
2g]kgfGr
2g-kgfGw?
2gKjgfGa
2gKkgfG:
2g:llllllllmllllOllylm
2)))GL]vZL[_L[vvJE
2gngqggF
2)))@GOF[DH]@FGvZJALDH
2Gpgppepq
2gqagfG9
2:#gqgg!
2@@@@gqgg
-2gqgg4Z
2gqgg6kJ
2"gqgg7[
2@gqgg79
2gqggcnuD
2gqggcnuD*
2!gqggdu
2gqggEx0
	2|gQggfG
2gqgg'G8i
	2|gqggh
2gqgg.@j
2[gqgglA
2gqggo	D"
2[gqggoi
2gqggpGH
2gqggpWh
2:gqgg(r
2?gqggU7
2gqggV._N
2gqggw(J
"2gScgfG
2g)sgfGz
2gSugfGx
2gwagfGNr
2 gWfgfG
2gWgggG;
2g?wggG!NtFgqgg
2gwMgfGK
2?gWwggG
2gYagfGR
2?gYegfGDo
)2Gyyyyy
2Gyyyyyy
2Gyyyyyyq9yyy
2Gyyyyyys9yyy
2||h3||O3||.3||
2H@@@@B@A@Hp@L
2@HBHYULN1UJ73YAvI
2HdH[[[2[[[
2;HdW[[[
2[[[#-hdX[[[
2)))_H[E@GLZ
2)))HEL[]
2)))HFJHFDHFMHF
_2hgfGJWz
2Hgqgg)?
2)))H[[HP
2)))HJ]@_@]PvF[N
2)))HJ]@_@]PvJFD
2)))HJ]@_@]PvJ[K]
2)))HJ]@_@]PvJNLMS
2)))HM_HY@
2)))][HOOB@GN
2)))][HOO@JLE
2hpgymgfG
2)))HrA[LO
2HrGetAutoDiscoverXMLIdlW
2)))HSZ@HJLG]L[
2)))_H[v
2)HvvvvU
2)))]HZBB@EE
2)))HZZL]Z
2@@@@@I@@
2i:   !    5
2I5KyxXy
[[[2IAdH[[[
2IdJ[[[w[[[
2@IdM[[[
2;IdO[[[H[[[
2IId_[[[
2)))iJFDvL_LG]FKC
2iJgqggD
2illllllllmllllOllylm
2illllllllmllllOllylmg
2illllllllmllllOllylmj
2)))iMLZB]FYMLY]A
2)))iOH_F[@]LZM@[
2IR:UB:I
?2  isSSSS
2iyxtyK-
2)))JADFM
2)))JA[FDL
2)))JA[FDLr
2)))JA[@Z]DHZF[ML[[LO
[[[.2JdS[[[
2)))JEHZZ
2)))JFDY[LZZ@FG
2)))JFG_L[]
2)))JFGZFEL
2)))JFMLvZLJ]@FGvELGN]A
2jFODgowggG
2@jhggfw#"
2jhggfwGi
2Jhggfwr
2)))JH]JA
2;JJKKKKK
2jKdK[[[
2)))JLGHO
2)))J[LH]L]FFEALEY
2)))J[LH]L[LDF]L]A[LHM
2)))J[LH]LM@[LJ]F[P
2J)mggfw	f
2)))JO@O@ZMLO@GLM
2)))J[PY]FCZ
2jQ)mggfw xDW
2)JvvvvU
2)))[]JZALEE
[[[2[[[K
2||k3||R3||C3||-3||
2KAd_[[[Z[[[
2KdJ[[[M[[[
2)))K@]FFE
2)))K]FH
2@K[gAgg|
2)))KHH[ZYF
2)))KHZL
 ?2kKh1:
2)))KLOF[LZLGM
2KMggfGd-
2kpgppepqX
2)))KPLw
2KPMVpgppepq
[:[?[)[2[?kU]X
2L5pgppepq
2LAAAA@AAAAAC
2())LA]DE
2l@@@@@@A@lpZE
2@LBKBLMBE
2LdH[[[q[[[t[[[)
2l|dI[[[2
2LdM[[[2[[[0[[[
2LdP[[[l[[[b[[[u
2)))[LDQJANLHQ
2LdU[[[([[[
2LdU[[[*[[[
2l|dV[[[Z[[[K[[[t
2)))]LDY
2)))L[[F[@G[ZHvBLPvNLGL[H]F[
2)))L[[F[vJFMLZ
2)))[LGHDL
2)))LGJ[PY]F[
2)))LG][PvJEHZZ
2lHdA[[[V[[[T[[[
2)))L_HE
2)))LJAF
2)))_LJ]F[P
[[[2lKdY[[[
2;LKKKCKK
2)))L_LG]Z
2llllllllmlll
	2	llllllllmllllOllylm
 2@llllllllmllllOllylm
2	llllllllmllllOllylm_
2!llllllllmllllOllylm
2(llllllllmllllOllylm
2*llllllllmllllOllylm
2.llllllllmllllOllylm
2?llllllllmllllOllylm
(2llllllllmllllOllylm
-2llllllllmllllOllylm
2llllllllmllllOllylm
2llllllllmllllOllylm@
2llllllllmllllOllylm0
2llllllllmllllOllylm1
2llllllllmllllOllylm.8
2llllllllmllllOllylmB
2llllllllmllllOllylmc
2llllllllmllllOllylmd
2llllllllmllllOllylmD9[
2llllllllmllllOllylmeh
2llllllllmllllOllylmH(T
2llllllllmllllOllylmN
2llllllllmllllOllylmn2
2llllllllmllllOllylmO
2"llllllllmllllOllylmp
2llllllllmllllOllylmS@
2llllllllmllllOllylmsT
2llllllllmllllOllylmTu?
2llllllllmllllOllylmV
2llllllllmllllOllylmX
(2llllllllmllllOllylmz
2llllllllmlll]Y]]
2)))[LNZ_[
2lOllylmi#
2lpltlspl
2@@@@@@@@Lp@Q
2)))LQJAHGNL
2)))LQLJ
2)))LQYHGMLG_@[FGDLG]Z][@GNZ
2lqz2lTm
2LSSSSSSS
2lSSSSSSSSSSSSSSSS
2lSSSSSSSSSSSSSSSS?
2)LvvvvU
[[[2lWdT[[[
2)))[LYEHJL
2)))[LZ]F[LDHGHNL[iH@[DH@E
2M13M1TLC7
2)))M@DMEEJFML
2)))MEE@DYF[]
2MfF[[[x[[[u[[[
2)))MFGF][LGHDLLGJ[PY]LMO@ELZ
2	)mggfw
2'mggfwu
2m-g?kgfG
2|mgqggcD
2Microsoft Windows Hardware Compatibility Publisher0
2)))ML_@HG
2MllllllllmllllOllylm
2)))MLO@C
2)))MLOLGML[HG]@
2Mmggfw|
2m@@@@]Y]]P
2n2l2h2m2
2||n3||T3||B3||(3||
2@@@@@nA@P@AEac
2:NdA[[[
2NdE[[[I[[[N[[[
2Nd_[[[M[[[
2NdW[[[f[[[d[[[k
2)))NEFKHEZr
2)))NF]F[FZ
2NgqggAm
2)))N[H@EZ
2)))N[HGMMFNu
_(2nHTMY3
2nmSSSSSSSSJ
2NOs(E	r
2npgppepq
2nRdX[[[
([[[2ntdB[[[
_||||||||||||||||||2O
2@@@@@o@@A@AAac
2oAsqgfG3
2)))O@EE]ALOF[D
2)))OEH[L_D@GZ]HEEH]@FGZJ[@Y]
2)))O@EL[LHM
2)))O@E]L[LQYF[]
2)))O@ELMLEL]L
2)))O[FD
2)))O[FDKHZL
2#og!agfG
2OggmgfGY
2og?kgfG
2)))O@GMvC@]DLDJYPvYFZ]vZY@EE
2)))O@GMZ][
2ogYkgfGr
*;;2OJ	K
2)))@OMLO@GLMMLOLGML[vYHJBHNL
2OOegfGoX
2)))O@QAFDLZ
2 o|R:3Vd
2oRRS#4[SSS@SZ1
2oTdH[[[
2O:ugGcgfG
2oWy]Y]]
2O[[[Z[[[O[[[
-." -2?p
2pB@AANp@B
2PdO[[[k[[[h[[[
2Pd][[[p[[[
[[[2!PdQ[[[
2(pgppepq
2;pgppepq
2@pgppepq
2|pgppepq
2pgppepq
2pgppepq'
2pgppepq)
2pgppepq*
2pgppepq.)
 2pgppepq1
2*[pgppepq3M
2pgppepq!-4J
2pgppepq5m
]2pgppepq;5t
2pgppepq7
2pgppepqb
2pgppepqc
2pgppepq.F
2pgppepqFc
2pgppepqFj p
2*pgppepqH
2pgppepqk
2pgppepqn
2pgppepqo
2pgppepqP
2pgppepqY9"
2pgppepqyJ
2pgppepq]z
2pllllllllmllllOllylm
2pnSSSSSSSS
2pogfGF4
2)))][PR
2)))][PRPP
(2PSWLs9
2PVV2PVVVVVVVVVVV
2)))PWFPMFP[FPHFPNFPFFPGFPWFD
2)))]PYLt
2q314_|__O_
2q314_t__T_
2Q3CngfG
2QAAAAAACApqAV
2)))QDEA]]Y
2qgwbgfGi
2QllllllllmllllOllylm)
2qpgppepq
2qRllllllllmllllOllylm
2QSSQ(@SSW@_B_@ZBZ@VBZ
2QSSS@Sxw
.2QSWARszRSS.1QSWEQs
;(2:q:':_S__X_
;(2q:':]Y]]
2)))rDH[Z
[[[2r[dV[[[
2)))REFHML[r
2)))rF[F[[F[F[F[F[F[F[F[F[F[K
2rgqggdqU!W
2)))rJFGZFELt
2)))rK@]JFG_L[]L[t
2)))rKP]Lrtt
2)))rLG_@[FGDLG]t
2rm7]TgfGv
2RSSABLG
2RSSQBULksSSS
2)))RuK@G
2)))Ru[]O
2R[[[Z[[[
2S@@@@@@@@
2s2q2m2t2
"2s6"zz6
2 ;SaSSSSQSSuS
2S@@@@B@AAlp@Fx
2SbIAAAA@AAAAAC 
2)))SHJJA
2sKgqggD
[2spgppepq
2spgppepq7
'2!'SSSS!#5
;2 ;SSSSS
2!: SSSSS
2';SSSSS
2SSSSSSSSSSSSS
2sYMUGa(
2t9ogfGS
2@TBTM1BT3_[vLC13_W
2t	bUcN?
 2TdF[[[
2TdK[[[q[[[
2TdK[[[T[[[
2Tg#dgfG
2tggfgfG
2tgyfgfG
2)))TJH]JA
2tllllllllmllllOllylm
2TllllllllmllllOllylm
2tllllllllmllllOllylmy9!3t
2t"-llllllllmlll]Y]]
[[[2[[[U
2||u3||83||
2UdB[[[P[[[T[[[U
[[[2u|dH[[[#
2)))uFKCA]DERu
2)))uFKCE@GBRu
2UgAgg53Z
2)uHYYMH]Hu[FHD@GNu
2)))uJFD
2)))uK[HMZ
2)))uK[HYY
2)))uKHZLDLG]uLQ]LGZ@FG
2ullllllllmllllOllylm
!2ulLowLevelErrorWx
2)))uNZHOL
2)))UOF[LHJAR
2	uogfwj'F
2(uPAZ[J
2(uPAZ[K
2uz.qj6uv
2v_1?HkF
2v2v2v2v2
2v?aegfG
2)vA@ML[
2@VBVU2s
2Vd2:Nt:
2VdR[[[Q[[[
2Vegqggs
2Vg3fgfG
2VgAggHE[
2VgqggK'
2vgqggUx
2)))v_KJFDYFGLG]
 2VllllllllmllllOllylmt
2|vodo7ogo
2)))vO[FDKHZL
2vopbgfG_
2VSSQBW(6RSW(
2V@v8gSkgfG
"2w3"zr'
2w4pgppepq
2WgqgghUn
:	2:WI JA
2WPllllllllmllllOllylm[
2wwwwwwwwwwwp
[[[2[[[X
@2xaUL79
2XdO[[[0[[[6[[[y
2XdQ[[[|[[[q[[[t
2XdR[[[t[[[m[[[k
2Xg;ggfG0
2Xg?kgfG
2x"llllllllmllllOllylm
2xllllllllmllllOllylm
2xpgppepq
2@@@@XpOFQ
2(x_xxyxyxyxxyxby
|2xx]Y]]h
2"xx]Y]]T
2xyh5xy 5xy'5xy
2xyk5xyH5xy15xy
2xyl5xyK5xy65xy
2xyt5xy]5xyB5xy)5xy
2xyx5xyg5xy@5xy*5xy
2xyyiyyy	xyyy
  2!    ]Y]]
2@@@@]Y]](
 2     ]Y]]d
2yD g'zgfGaU
2YdI[[[Z[[[
2)))YF@G]
2yg!fgfG
2yg_fgfGj
2yggw_bu|:B
2	YgqggW
2ygYkgfG
2)))YH[HDGHDL
2)))YH[ZLOEFH]
2YkPRSSQL
2)))Y[@NF
2Ypgppepq
2ypgppepqfJ
2Ypgppept[
2Ypgppept2H
2)))YPYPBH]S
2)YvvvvU
2[[[yw9fZ[[[
2YxDQLc9
|?2yxdy[
2YxfQLg9
2YxsU6YxHUM1sS
2YxWUD7Y[F
2yyd2yyO2yy
2yyDByyDByyDByy
2)))_@YYH[B
2yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
2yyl5yyU5yy;5yy 5yy	5yy
2yym5yyM5yy65yy
2yym5yyO5yy15yy#5yy
2yyQ2yy32yy
2yyq5yy]5yyE5yy!5yy
2yyq5yyX5yyC5yy*5yy
2yyv5yyb5yyT5yy95yy.5yy
2yyWByyWByyWByy
2yyx5yyd5yy@5yy
2yyyYyyy5yyy
2yyyyyyyyyyyyyyyyq
2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxye
2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
2yyz5yyj5yy[5yyH5yy;5yy
2)))YZFKCLJ]
2z2m2z2m2m2q2m2m2m2
2||z3||a3||K3||73||
;2z9g7tgfG
2)))ZALEEJFML
2)))ZDZBK
2)))ZFJ@HEA@Z]F[P
2(zg5DgfG
2zgg0efGq
2)))Z]H[]
2)))Z]H[]GF]LYHM
2)))ZHJ[
2)))Z]HJBvY@_F]vNHMNL]vFOOZL]
2)))ZH_LHZ
2)(_[[[Z[[[[i[[r
2)))ZJJFGO@N
2)))ZJMLEL]L
2)))ZL]AZ]
2)))ZLGM
2)))ZL[_L[
2)))ZL]Z]H]L
2ZNbgfGZz.Ugqgg
2)))Z]PEL
2)))ZPZ]LD
2)))ZPZ]LDJ]EZ]H[]
2[[[Z[[[U[[[kW]Qp]Z_Z
2)ZvvvvU
2zyv2zyu0zyd
2zz[x[[A
2zzzzzzzs(
2zzzzzzzz7
   !    3
  :     3
  3     
########3
))3)))))
).*;	3*?
*.*;	3*'
*.*;	3*;
*.*;	3*?
*.*;	3:'
*.*;	3:;
*.*;	3:?
[)[:[([3[
[[[	[[[3
[[[	[[[3 
[[[;[[[3
[[[3[[[]
||||((3|||||
|||||||||3|
||||||||3
|||||||3
|||||||3|
  3      0  
*.*3	0*;
*.*3	0*?
*.*3	0:'
*.*3	0:?
3.0.0.135
300930183225Z0|1
301229162923Z0u1
*.*3	0*3
*.*3	0:3K0-?
*.*3	0*3L3
 304(7.a.*
 304(7.o595
3:?	0*4F(
;3_]-07:D)
?3_]07:D(
3_]-07:D)
3_]-07:D*
3_]-07:D.
3_]07:D(
3_]07:D*
3_]07:D-
3_]07:D.
3_]07:D:
3_]07:D?
3_]-07:D3-72Q*
*.*3	0*7M3
*.*3	0*7N0
[[[3[0[8[.[
3080q869_D__z_
3:;	0:8F(
||309ONR800|
30@@A@h Qrp
3*'	0:(F(
3*;	0:(F(
3*?	0*?L
*.*3	0*?L0-?
*.*3	0:'L0
*.*3	0*'L3:3
3	0*;M0M
3:?	0:'O
30(q314_Q__O_
30yxryL(--
310106000000Z0H1
310107120000Z0r1
310111235959Z0w1
||?31?(0ONR800||||||||@O
*.*3	1*?	3
*.*3	1*3
*.*3	1:3
*.*3	1:3N1-?
3*;	1*4F(
314xx]Y]]
?31||||||||8
3*'	1*8F(
?31|||||9
31AAAAAA@AAAAACe
3.1AC]JAIqAdAAAAAAAA
31Gbj-6x
31 ggfGB
*.*3	1:'L3
31llllllllmllllOllylm
*3'1llllllllmllllOllylm
3:?	1:;M
*.*3	1:?M3-?
31mgqgg.
*.*3	1:?N0
.31)o3ACY@AC
32107654;:
("3.2.'5
325(3.52;
32:5?79.r
32:5892(f
("3.2.'5j
3-2ACAKA3!Al*
_32bitmachine
32#@B@@@Lp@Y
3_]*;2D*
3_]*;2D6
32gwagfGz
	32llllllllmllllOllylm
32QdX[[[G[[[
32qllllllllmllllOllylm
3))2q:':]Y]]
32SetElementTimesW
32Wkpgppepq
*.*'	3:3
*.*;	3*3
*.*;	3:3
*.*3	3*'
*.*3	3*?
*.*3	3:;
*.*3	3:?
3*3	0*3J
3:?	3*0F(
3(313(3r
3*3	1*8F(
3:3	1*8F(
*.*3	3*3
3:?	3:?	3:?	
33333333
33333333D
33333333H
33333333I
33333333L
33333333M
3*3	3:(F(
*.*3	3*3K0*;
*.*3	3*3O0
3:'	3*4F(
3:;	3*4F(
3(.3(58a	
*.*3	3:7L3
3*'	3*8F(
3-#39.#n
)33).'@@@a@HpBTR
!33@@@A@.pPA
33Ddx[[[
*.*;	3:3J0
3:3J0:0F(
3*3J0*4F(
3*3J0:?L
3:3J0*?L
3*3J1:8F(
3:3J1:8F(
3*3J3:8F(
3:3J3:8F(
3:3J3:;J
*.*;	3:3K0
3*3K0:0F(
3:3K0:0F(
3*3K1*?K1*
*.*3	3:;K3
3:3K3*3	36
3*3K3*(F(
3:3K3*(F(
[[[33kdX[[[#[[[![[[#k
3:3L0*(F(
3:3L0*'K
3*3L0*'N
3*3L1:4F(
3:3L1:4F(
*.*;	3*3L3-?
3*3L3:0F(
3:3L3:0F(
3*3L3:4F(
3:3M0*3M
3*3M1*7M
*.*;	3*3M3
3:3M3*8F(
3*3M3:(F(
3:3M3*?O
*.*;	3*3N0
3*3N0*?L
3:3N1*0F(
3*3N3:0F(
*.*;	3*3O0-?
*.*;	3*3O0*7
3*3O0:(F(
	3*3O1-?
3*3O3*3J
33s .IgfG
;33_W__z_
;33_Y__q_
[[[3[[[4[[[
)#34!24n
3@4)4(4m4
(#(345(!#
[3[)[4[6[2[.[6[
3[[[4AOfZ[[[2[[[
!34@B@A@@
)34@B@A@@
)34@B@A@B
34@B@@@Hp@P
34gqgg]2
350209214036Z0b1
350623220401Z0
35"342@B@A@@
35"342).'@B@A@@
3537383940
35(' "5o
.35AAA@A@1AAAAAA@AAACCEA
.35AAA@A@1AAAAAA@AAAECEAQ1AAAAAAtAAACC@A
.35AAAAACAAA@1AAAAAAAAAAAAAAAAAAC
.35ACCEAs1AAAAAAAAAACCEAp1AAAAAAAAAACCEA!1AAAAAAAAAACCEA 1AAAAAAAAAAEC@AQ1AAAAAA
.35AECEAQ1AAAAAA
?3"5cc]Y]]V
3;5cpgppepq
-35gAggD_
35NdA[[[
.-.3 ##(5o
360428235959Z0i1
3)63)!U	
;(3645.(
36g5kgfG
36gkggfw7
3]6JlyD"
36Kxx]Y]]
36llllllllmllllOllylm
36M5Nxxx
).*;	3*7
*.*;	3*7
*.*;	3:7
[[[3[[[7[[[
3  7     
*.*;	3:7	0
3*7	1*3O
3:7	1:7N
3*7	1*8F(
3:7	3*?	
3*7	3:0F(
3:7	3*4F(
3*7	3*8F(
3:7	3*;J3M
3766yxZy
37d2?[dul
37gCdgfG
3:7J0*7O
*.*;	3*7J1*
3*7J1*4F(
3:7J1*4F(
	3*7J3-?
3:7J3:4F(
3:7K1:3M
3:7K1*(F(
3:7K3*(F(
).*;	3:7L
3:7L0*(F(
3:7L1*0F(
3:7L3:0F(
3:7L3:7L
[[[37Ld_[[[	[[[
3:7M0:(F(
3:7M0*'N
3*7M3:3K
3:7N1:8F(
3:7N1*(F(
3:7O0:0F(
3*7O0*8F(
3:7O0*8F(
3*7O0*?K
3:7O0:?K
3*7O1*(F(
3:7O1*?K
*.*;	3:7O3:'
37pgppepq
!37WgfG56
  3     8
3#||||||||#8	
3825 -3(#o
.38(!!4"38WWWR
385:59.f
38AAAAAA@AAAAAC
38*-]H!!]1'
38KgqggCW
3*8q314]Y]]
39]dQ[[[
3AAAAAA@AAAAAC
3AAAAAA@AAAAAC#
3AAAACACBKqAl
3._AAAAC@@ADqAK
3._AAAACY@@IqA
3AAAAUAAAOqRJ
3aaa]Y]]
3@@@@@A@@ap@K
3)))ABED
[[[3abeO[[[
.-.3ACY@AA
3ADdR[[[*[[[)[[[k
3AdM[[[H[[[f[[[
3AdM[[[Z[[[
3AdU[[[Z[[[
'3AdX[[[Z[[[a[[[5
3)))@AFZ]
3Agggfw)
3AgMagfG0s
3)))]AHKHS@DK@
3)))AHMFFYvZALEEvL[[F[JFML
3aLllllllllmllllOllylm
3A!pEpgppepqk(dF
3AQweKsu
@@@@@3A@U@ACac
3)))A]w]wYw
3)))Aw]]wYw
3@@A@XpzD
3)))A]]Y
3)))A]]YZ
3)))]A@Z
3)))]A@Zr
3@@@@@B@@
(3B@@@@5P
3@@@@B@A@
3B@A@4 @f
3@@@@B@AALp@m
3@@@@B@AC@
	.3@B@A@dp@F
!"3@B@A@Hp@M
3@@@@B@A@h @W
!3(@BB@@ 0@@@@@@@@@@@i@@A@AFac
!3(@BB@@!0@@@@@@@@@@@i@@A@AFac
3@@@@BBA@
3B@@@@B@A@2 @I
3@@@@B@BAHp@
3@@@@B@B@Hp@_
[[[3_BdF[[[m[[[
3Bd_[[[T[[[K[[[.i
3B"eT[[[
[[[3|beX[[[
3BfQ[[[k[[[o[[[hJ
3bgGcgfG
3;Bgqgg1z
3bgqgg6O
3B;gqggn9U
3bhggfwDF
3@@@@B@@@Hp@l
".#3@B@@@Hp@SWO
 3@@@@B@@@Hp@U
3bJ4GMngfG
3)))BL[GLE
3)))BL[K]@JBL]LGJ[PY]@FG]PYL
3bllllllllmllllOllylm"
3BW[73@BTBBLG
3cAAAAAA@AAAAACR
3)))C@AOKL@
]3c#@@B@XpbL
3C(dC[[[
'3CdL[[[
3)))CF@ZCP
3)))CHJBYHE
3CllllllllmllllOllylm
3cNfAAAA@AAAAAC
[[[3cOdN[[[
3CS	Vs2CS
[[[3[[[D
[[[3d0dX[[[
@3@@D@AAacoo
@@@@@3@@D@ACac
@3@@D@ACac
3]dB[[[8[[[
3)))DBM@[
3dC[[[F[[[c[[[[[[dV[[[E[[[l[[[	d
3Dd][[[;[[[
3DDDDDDDDDDDDDDDD]Y]]
 3DdE[[[-[[[
*3DdI[[[
3'DdJ[[[
3;DdK[[[e[[[
]3DdL[[[
(3DdO[[[
3(DdV[[[][[[R[[[DYSdz[[[
3|Dd_[[[X[[[
3Ddx[[[;[[[
3DdZ[[[	[[[
3DdZ[[[4[[[
3DES_112
3)))DFGL[FFJLHGvD@GL[ZL[_@JL
3dgqegfG
3 d][[[h[[[n[[[
3]dH[[[T[[[J[[[
3]dH[[[U[[[
3)))DH[ZAHE
3dH[[[Z[[[N[[[x
3]dI[[[Z[[[8[[[yk
3d_[[[j[[[
3]dJ[[[5[[[4[[[?-
3)))D@J[FZFO]
3]dK[[[l[[[
3]dK[[[n[[[
3dK[[[W[[[
3dLd[[[[Q[[[V[[[
3dllllllllmllllOllylm;
3dM[[[u[[[m[[[
.3_dN[[[
3]dO[[[9[[[?[[[
3dpgppepq
3)))DPvZE@JL
3[[[Dr@fM[[[
3dS[[[	[[[
3dT[[[)[[[
3]dT[[[D[[[s[[[
3]dT[[[P[[[
3]dU[[[M[[[
3]dU[[[Z[[[
3]dV[[[?[[[
3[[[[[[dW[[[
3]dX[[[|[[[
3 dX[[[M[[[
3]dY[[[|[[[
3dYdZ[[[y[[[
3)))@DYF[]
3"_dY[[[j[[[
3dZ[[[![[[
3)))DZ_J
3_dz[[[r[[[
3E8pgppepq
]3e9pgppepq
@3@@E@ACac
3E@@@@@@AE
3eA[[[Q[[[J[[[]iNd_[[[P[[[U[[[
3eA[[[z[[[y[[[RIQdE[[[
3(e@@@@@#@@D@BCac
3EdB[[[V[[[
3eE[[[7[[[)[[[
@@@@@3@@E@EEac
3eE[[[R[[[V[[[Y
3)))EFNDPJEHZZ][PLQYELQYEF@]
3eF[[[O[[[
@@@@@@@@3 Eg
3egMbgfG
3Egqggjh
3EgSmgfG
3eH[[[J[[[I[[[
3eH[[[u[[[
3ejgfG]S
3eK[[[2[[[
3eM[[[H[[[s[[[
3emllllllllmllllOllylm
3eN[[[t[[[
3eO[[[J[[[I[[[m
|3?Eoooo
3eO[[[z[[[x[[[
3epgppepq
3eR[[[F[[[E[[[
3eS[[[c[[[g[[[8
3eS[[[s[[[r[[[8
3eS[[[S[[[V[[[	
3eT[[[i[[[
3eUd][[[N[[[L[[[F
3eU[[[G[[[E[[[u
3ex[[[6[[[5[[[b
3eX[[[C[[[
3eX[[[N[[[C[[[
3ex[[[V[[[T[[[c
3eZ[[[i[[[
3eZ[[[K[[[
3ez[[[N[[[M[[[
[[[3[[[f
3FactoryClsid
3fA[[[E[[[
3)))]FAZYHGZ
3f[[[[b[[[
3fb!*d3F
3f][[[C[[[F[[[7
3)))[FDD@OP
3f_[[[@[[[E[[[7F
3fEgqgg2
3)))FELFKCLJ]
3fF[[[o[[[n[[[
3)))[FF]uJ@D_
)@3FgAgg
3fgfGCh.cgqgg
3Fg]fgfG
3fggw6oH
3fgqggw8
3fI[[[C[[[
3)))FKCOZF
3fL[[[ [[['[[[
3f_[[[L[[[B[[[
3fpgppepq
3fquxnLf@
3fV[[[k[[[
3fx[[[;[[[:[[[
3)))[FYO@ELGHDL
3fZ[[[i[[[h[[[
[3g1jgfG
3g1kgfG9
3g3ogfGPK
#3g7kgfG
3g7qgfGA
	3g7sgfG
3g9dgfG9
*3g9|gfGE
3g9kgfGL;_
(3gabgfG
3g[agfGn
]_3gAgg|ID
3gAggRAP
3gag_wggG
3gAkgfGD
 3@GA@N@ACac
3@gAngfG
!3:gaugfG
3gCegfG7
 3)g]cgfG
3g;cggGw
3g_dgfGH]	8gqggpy
3g'dgfGn*
3g?egfG5
3g'egfGg
3g[egfGGZ
3gE[[[V[[[
3)))@G_FBL
3g'fgfGo
3)))GFGLFZ
3gGegfGi
3ggfgfGhA
3.g#ggfG#
	3g-ggfG:
3)))GHDL
  3#giggfw
3g!kgfG"
3g-kgfGW1
3g	kgfG X
3gl!	dyLme
3GllllllllmllllOllylmcn
3Gllllllllmlll]Y]]
3glSSSSSSSS
3gOdgfG] 6
3.g]ogfG
3gowggG'
3gqagfGJ
!3)gqgg|
.3*gqgg!
3#gqgg )
3#!gqgg(
-3gqggAQuj
3gqggBes
3gqggCO4X
3gqggD6i
3gqggDWy
3gqgg'G8i
3@gqgg#h
3gqgg:hI
3 gqgg[I
3gqggljqg
3gqggPDfR
3'gqggPE
3[gqggPr
3.gqggp)z2
@3gqggQT
3[gqggRO
3gqggT3g
3gqggTZV*
-3gqggU6
3gqggUm	b*:
3gqggYj3a
3gqggz8u
!3gsfgfG
3gSggfGJo
)3gufgfG)
3guogfG(
3gWagfGz
3gWdgfG	
3gWdgfG(
3gWdgfG*
3gWdgfG;
3gWdgfG@
3gWdgfG@?
3gWdgfG]
3gWdgfG0
3gWdgfG4
3gWdgfG6
3gWdgfG9r
3gWdgfGB
3gWdgfGbf
3gWdgfGBI
3gWdgfGC
3gWdgfGd(
3gWdgfGD	
3gWdgfGg
3gWdgfGG
3gWdgfGH
3gWdgfGi
3gWdgfGJ
3gWdgfGL
3gWdgfGM3
3gWdgfGN
3gWdgfGO
3gWdgfGP
3gWdgfGpD
3gWdgfGpO
3gWdgfGQ
3gWdgfGt
3gWdgfGu
3gWdgfGU0Ztgqgg
3gWdgfGw
3gWdgfGy
3gWdgfGZ
3gWegfGr
3@;gX[[[
3g?xgfGf
3[gY3ggG
3gYkgfGf
3)))@GZ]HEEALEYL[
3[[[H1cdZ[[[
3)))_H[AC]PONJQ
3)))HAHN
3)))HBHC
3)))_H[BLP
3)))HCH@
3HD@@@@B@A@@
3)))HDHE
3)))HEHB
3)))HEL[]
3)))HFHG
3)))HFHHHOH
3)))]HFKHF
3)))HGHD
3hgifgfGE
3@hgqggg
3hgqgg.y
3)))H@HA
3)))H[HMH@H
3)))H[[HP
3)))H[HX
3H#IllllllllmllllOllylm
3)))@HJ]@FGJFEELJ]@FG
3)))HJHK
3)))HJ]@_@]@LZ
3)))HJ]@_@]PvCMEC
3)))HJ]@_@]PvKCJD
3)))HKHH
3)))HLHM
3)))HMHJ
3)))HMMJEHZZ
3)))H[MY
3)))HNHO
3)))HN[LL]FE@JLGZL
3)))HOHL
3)))HO]L[@GZ]HEE
3)))]][HOO
3)))][HOODLG
3)))][HOO@GL
3)))][HOO]LJ
3)))][HOOZL]
3)))HXHJHAH
3)))HXHY
3)))HYHF
3)))HYHKHNH
3)))]HZBB@EE
;3h[zggfG
3)))HZH[
3)))HZHLHCH
3i	||||||||
?3I2cgfG]
3[[[i94gE[[[
3IAddrBookIdl
3IB@A@2 @M8
.3idD[[[
3IdgfGlQ
.3idJ[[[
.3idL[[[
.3idN[[[
3)))iEFNFGMFDH@G
3)))iEFNFGZL[_L[
3ihpgppepq
3)))I]ILINIuQ
3IllllllllmllllOllylm
.3IllllllllmllllOllylm0u
3InfSerializerFlagsWW
[[[3iTdI[[[
3iUdR[[[
3iVggfGhH
3iwyy)hyyiI]P
3)))iY[FN[HDZM@[
[[[3[[[J
	3*'J0-?
*.*3J0*'
*.*3J0*;
*.*3J0:?
3:'J0*3J
*.*3J0*3K3
*.*3J0*3L1-?
*.*3J0*7
3*;J0:8F(
3*?J0:8F(
3:'J0:8F(
3:;J0:8F(
*.*3J0*;K3
*.*3J0*;M3
*.*3J0:'O3
	3*;J1-?
*.*3J1:'
3*?J1*0F(
3:;J1*0F(
*.*3J1:3K0-?
*.*3J1*3M3
*.*3J1*?L0
*.*3J1*;N3:7
*.*3J3*?
*.*3J3:'
*.*3J3:;
3:?J3*;	
3:'J3*0F(
3:;J3*0F(
3:?J3*0F(
*.*3J3:3
3:;J3*3O0M
3*'J3*4F(
3*;J3*4F(
3:'J3:4F(
*.*3J3:7
3*?J3*7N
*.*3J3:;J0
*.*3J3*'K3-?
*.*3J3:?K3-?
*.*3J3:;O0
3)))JA[FDL
3)))JAJN
3jbhggfw
[[[@3JdF[[[
3	JDg'dgfG
3JdH[[[f
3)))JDMvZ]H[]
3)))JEFGLDLZZLGNL[ZLZZ@FG
3)))JE@JBCHJB
3)))JE@JB]HN
3())JFDYEL]LM
3)))JFEF[
3)))J[FG]HK
3)))JFGZ]v
3)))JFJHJOJ
3)))JF[LvGL]vYF[]v@
3)))JF[LvGL]vYF[]v@G
3)))JFYP
3jgqgg8W_
3jgqggA4I
3)))JHEE
3)))JHEEMF@]
3JhggfwQ
3)))JHKYJ
3)))JH]LNF[PGHDL
3)))J@JA
3)))JJJK
3)))JJK[J
3:J@JKKJLH
3)))JKJH
3)))JKKXJ
3)))J[LH]L
3)))J[LH]LMKP
3)))J[LH]LM@[LJ]F[PHBL[GLE
3)))JLJM
3)))JMJJ
3)))JMKZJ
3)))JNJO
3)))JOJL
3J'!o LgfG
3)))JONvKPYHZZvNHMNL]vFOOZL]
3Jpgppepq
3jPnllllllllmllllOllylmdxo
3)))JXJJJAJ
3)))JYJKJNJ
3jyy1032
3)))J[Z]
3Jzcggfwg
3)))JZJ[@Y]
[[[3[[[K
*.*'	3*;K0
*.*;	3*?K0
*.*3K0*;
*.*3K0:;
*.*3K0:3
3:'K0:3M
3*;K0:3N
3*'K0*7J
3:'K0*(F(
3:;K0*(F(
3:'K0*?L
*.*3K0*;L0
*.*3K0*?L0
3:;K0:?M
*.*3K0*'O3
3*;K1:0F(
3:'K1:0F(
3:;K1:0F(
*.*3K1:3
3*'K1:4F(
3*?K1:7J
*.*3K1:7K0:
*.*3K1*'N0
*.*3K1*?N0
3K-*	2??N5;
*.*3K3*'
*.*3K3*;
*.*3K3:'
3*?K3:0F(
*.*3K3*3	1-?
*.*3K3*7
*.*3K3:?J0
3*;K3:?K0M
*.*3K3:;L0
3K@@@@@A@@ap@H
3)))KAKN
3)))KBKC
3)))KCK@
3KdH[[[e[[[
3)))KDKE
3k[dS[[[;[[[8[[[
3)))KEKB
3)))KFKG
3)))KFKHKOK
3)))K@GH[PZ][LHD
3Kg	igfG
3)))KGKD
3KgMfgfG
3)))KHHYK
3)))KJH[K
3)))KJKK
3)))K@KA
3)))KKHXK
3)))KKKH
3)))K[KMK@K
3)))K[KX
3)))KLKM
3)))KLOF[LZLGM
3)))KMHZK
3)))KMKJ
3)))KNKO
3)))KOKL
]'3[kU]X
3)))KXKJKAK
3)))KXKY
3)))KYKF
3)))KYKKKNK
3)))KZK[
3)))KZKLKCK
).*;	3:?L
*.*;	3*'L0
*.*3L0*'
*.*3L0*;
*.*3L0*?
*.*3L0:;
*.*3L0:?
3*;L0*0F(
3:?L0:0F(
*.*3L0:?	3-?
3:?L0*3M
3*;L0:4F(
3*?L0:4F(
3:'L0:4F(
3:;L0:4F(
).*3L0*7	0
*.*3L0*7L3
*.*3L0*'M1*3
3L0*'M16
*.*3L1:'
*.*3L1:;
3*'L1*0F(
3*;L1*0F(
*.*3L1*3
*.*3L1*3M1-?
3:?L1*4F(
3:?L1*7	16
*.*3L1:7O3
*.*3L1:'L0
*.*3L1:'M0
*.*3L1*;N1-?
*.*3L1:?N3
3L2m)CPs
).*3L3:;
*.*;	3*?L3
*.*;	3:?L3
*.*3L3*;
*.*3L3*?
*.*3L3:?
3*'L3*0F(
3*;L3*0F(
*.*3L3:;	1-?
).*3L3*3
*.*3L3*3
*.*3L3:3
*.*3L3:7
*.*3L3:7	3
*.*3L3:7J3:
*.*3L3:7L3
*.*3L3:7O1-?
3*;L3:?M
3L@@@@BAB@
[[[3l|d[[[[
3[[[*l|d_[[[
3l|dC[[[9[[[
3)))[LDF_L
3l|dH[[[
3l|dJ[[[
3l|dJ[[[|[[[r[[[
3l|dX[[[
3)))]LELYAFGP
3Lg'@gfG
3lggwgfG
3)))LGHKE@GN]ALM@[]PKHJBMFF[
3)))LGJ[PY]
3LgolggG
"3lgqggpI0
3)))L_HE
3)))[LHE@MLG]@
3)))[LHG@DH]F[LQ][LDLLM@]@FG
3)))[LJL@_L
:3@llllllllmllllOllylm
3"llllllllmllllOllylm
3*llllllllmllllOllylm
3-llllllllmllllOllylm
!3llllllllmllllOllylm
*3llllllllmllllOllylm
;3llllllllmllllOllylm
?3llllllllmllllOllylm
[3llllllllmllllOllylm
|3llllllllmllllOllylm
3_ llllllllmllllOllylm
3llllllllmllllOllylm
3llllllllmllllOllylm*
3llllllllmllllOllylm.
3llllllllmllllOllylm;
3llllllllmllllOllylm]
:3llllllllmllllOllylm2
3llllllllmllllOllylm6'
3llllllllmllllOllylmA
3llllllllmllllOllylmc
3llllllllmllllOllylm[e
3llllllllmllllOllylmE
3llllllllmllllOllylmfT
'3	llllllllmllllOllylmg
3llllllllmllllOllylmHg
;3llllllllmllllOllylmi
3llllllllmllllOllylmI
3llllllllmllllOllylmlDG
3llllllllmllllOllylmMcZ
)3llllllllmllllOllylmp
3llllllllmllllOllylmpAbO
3llllllllmllllOllylmu@
3|:llllllllmllllOllylmv
3llllllllmllllOllylmw
!3llllllllmllllOllylmW
3llllllllmllllOllylmW
_3llllllllmlll]Y]]
3llllllllmlll]Y]]
3)))[LM@[LJ]LQL
3)))[LNZ_[
3)))[LN@Z]L[
3lpgppepqZZ
3)))LQ]L[GHE@G]L[OHJL
3)))@]LQ]Z][LHD
3lRgqggW
3lS!d(QG-
3lSSSSSSSS
[[[3[[[M
*.*3M0*?
*.*3M0:?
*.*3M0:?	3
3*'M0:3	
).*3M0*3M3
*.*3M0*7
3M0*7M3M
3*'M0*(F(
3*;M0*(F(
3:'M0:(F(
3M0:?J3M
3:'M0*'K
*.*3M0*?K0
3:;M0:;K3M
3:?M0*?L
3:'M0:;O
3M13YULJh
*.*3M1:7K0
3:?M1:7O
*.*3M1:?L3
*.*3M1*'N3
*.*3M3*'
*.*3M3*;
*.*3M3*?
*.*3M3:?
*.*3M3*?	0-?
*.*3M3*3
*.*3M3:3
*.*3M3*3J1-?
*.*3M3:3M1-?
3:?M3:(F(
*.*3M3*?M3-?
3M8*'UgAgg
3)))MC[FFD[HM@F
3)))M@DFKCLQLJM@DZ][O[FDY[FJ
3 ?MdgfGo
3MdI[[[b[[[f[[[
3)))MEE@DYF[]
3)))MFJB
3MgedgfG
3)mggfw)
3)))MH]H
3)))M[HNFG
[[[3MldC[[[
[[[3Mld@[[[h[[[n[[[
[[[3MldM[[[
3MldM[[[n[[[
3MldV[[[e[[[
3MldY[[[
3)))MLJEH[L
3)))MLOJALJBH]]HJB
3)))MLOvvNL]vLQYEvE@GB
3mNdJ[[[
3Mpgppepq
3mUpxw64
3Myxry:)J
).*;	3:'N
*.*'	3:?N0
*.*;	3*'N0
*.*;	3:'N0
*.*3N0:'
3*'N0:0F(
3*;N0:0F(
3:'N0:0F(
*.*3N0:3
3:?N0*3	
*.*3N0*3J3-?
3*?N0*4F(
*.*3N0*7
*.*3N0:7
*.*3N0:7N0-?
3*'N0*'K
*.*3N1:'
*.*3N1:3
*.*3N1:3	3-?
*.*3N1*3O3
*.*3N1:7L3
3*'N1:7O
*.*3N1*7O0-?
3*;N1*8F(
3*'N1:(F(
3:'N1*(F(
3:;N1*(F(
).*3N1:;J
*.*3N1:;J0
*.*3N1*;K0
*.*;	3:'N3
*.*3N3*?
*.*3N3*;	1-?
*.*3N3:3
*.*3N3*7	3-?
*.*3N3:7L0-?
*.*3N3:7N0-?
3*;N3*(F(
3:'N3*(F(
3:;N3*(F(
3*;N3:'K
3*;N3*?L
*.*3N3*?N1-?
).*3N3:;N3
3*'N3*;O
*.*3N3*;O0-?
3:@@@@@n@@A@AAac
3NBdK[[[
3nDdL[[[X[[[w[[[
3Nd][[[U[[[
3NdZ[[[Q[[[L[[[-
3)))NFFNELMFJZ
3ng7)gfG
3ng9kgfGe]
3n:iDZllllllllmllllOllylm
3)))_@[N@L
3)))NL[]@FBHZ
3)))NL]][HOO
3)))NL]JA@EM@]LD	
@3nllllllllmllllOllylm
3)))NL]MFDH@G
3)))NL]ZLH[JA[LM@[LJ]@GN
3@NNHIxx]Y]]
[[[3NOdL[[[C[[[p[[[6
3@@@@@@@@np@C
3)))NPGO@]GLZ
!-!3nq@@@B@h HN 
3||Ny||||||
[[[3[[[o
||||||||||||||||||3O
*.*;	3:'O0
*.*3O0:'
*.*3O0:?
*.*3O0*3
3:;O0*4F(
*.*3O0*7
3:?O0*'J
3*;O0*'J0M
*.*3O0*'K0
3*'O0*'N
).*3O1*'
*.*;	3*?O1-?
*.*3O1*'
*.*3O1*;
*.*3O1*?
*.*3O1:'
*.*3O1:?
*.*3O1*3
*.*3O1*3	0
3:;O1*4F(
*.*3O1*7
*.*3O1*7M0-?
3*'O1:8F(
3*?O1*8F(
3:?O1*8F(
3O1(8((]Y]]
3*'O1:(F(
3*;O1:(F(
3:'O1:(F(
*.*3O1:'K3-?
*.*3O1:;M3
*.*3O3*'
*.*3O3:'
*.*3O3:;
*.*3O3:?
3:;O3:3	
3*;O3:3J
).*3O3:3N0
*.*3O3:7
3:'O3:7K
*.*3O3*'J0-?
*.*3O3:'K3
*.*3O3*'M0-?
*.*3O3:?O0
3@@@@@o@@A@AAac
3oDdV[[[Y[[[
3)))O@EE@G]ALGHDLFOZ@NGH]F[P
3)))O@ELMLJ[PY]@FGJFZ]ZDFGLP
3)))O@ELY[@_H]LGZ
3)))@O@ELZPZ]LD
3)))O[FDG@GCH
3)))O[FDOEFH]@GNZ]LYZ
3)))O[FDZYF[[HG@DYF[]EFNN@GN
3OGagfGKW
3OgYfgfG
3)))@OHJ]@FG
3)))@OJJH
3OllllllllmllllOllylm
3*OllllllllmllllOllylmS
3: oMmubgfGw
3ong3ggfG
3OOfAAAA@AAAAACz
3)))[]OuFKCLJ]u
3pcpgppepq
3PdP[[[N[[[M[[[i
3PgKLgfG
3#pgppepq
3[pgppepq
3_pgppepq
 '3pgppepq
 3pgppepq
*3pgppepq
|3pgppepq
3pgppepq
3pgppepq-
3pgppepq.
3pgppepq@
3pgppepq|
3pgppepq2
3pgppepq3
3pgppepq3L6
3pgppepq5p#
3pgppepqa
3pgppepqA
3pgppepqb
3pgppepqE
3pgppepqi
3pgppepqN
3pgppepqOTQO
3pgppepqt
3pgppepqUda
3pgppepqW
 3Pgqgg	
3)))PHDHAH
3)))PMFKLZGFYZL[
3	Ppgppepq
3)))][PR
3:pRkgfG
3)))][PRL
3pS(erU_#
@3PSSSSRCZCR
(3PSW@HBHs
3)))PvHP
3)))]PYLt
3pyr2pyd2pyV2py82py*2py
3;-q616_U__y_
[[[3[[[Q@BdS[[[	[[[
3qdH[[[n[[[l[[[
3qdI[[[v[[[u[[[
3QdJ[[[2[[[0[[[
3Qd_[[[M[[[C[[[
3qdM[[[o[[[l[[[
3qdN[[[9[[[
.3QdO[[[
3QdO[[[A[[[z[[[
3QdO[[[C[[[
3qdO[[[c[[[a[[[:
3qdP[[[|[[[
3QdQ[[[![[[
3QdW[[[4
3QgegfG)l
3qgWjgfGg
3qKmggfw
.3QllllllllmlllIMO8) V8
3qllllllllmllllOllylm
3QSSBZsSSPS
@3QSSSSRCTR
@3QSSSSRCTRF
@3QSSSSRCTRPWPPPWPQQRT[P
@3QSSSSRCZR
@3QSSSSRCZRM
@3QSSSSZCCR
@3QSSSSZCZR
@3QSSSSZCZR(
3Q(VSSW(nSSWBVU
3qwgiogfG
3qxpgppepq
3RaubgfG(
3RgWggfGI
3RllllllllmllllOllylm
3RlpClassIDWWW
3!RmJ[[[
3r|pgppepq
3)))RRRuK@G
3RSSQBWLCsSSS
@3RSSSS[[R
@3RSSSSXCR
3)))Ru[]O
3SA3Ri3S
3sAAAA	qgg
3SdI[[[d[[[
3seJ[[[	[[[
3sez[[[1[[[
3s#gqgg1o
3SP4llllllllmllllOllylm
3spgppepq
3SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
@3SSSSSQR9
3SSSSSSSSS
@3SSSSSZR
3SSUS73SSUS 3SSUS
?3  S!    ]Y]]
3System.Resources.Tools.StronglyTypedResourceBuilder
[[[3[[[:t
)3"T42)cas
3Td[[[[r[[[q[[[
3T@dV[[[Z[[[
3TeI[[["[[['[[[4AOfz[[[![[[
3TgIgggw
3ti[m[-1
3tJggcgfGl
3Tllllllllmlll]Y]]
3t;O[[[Z[[[O[[[
|| 3t|]Pv|P
3TS@@A@h PJ.
!3ub7ahgfG
[[[ [[[3UCdN[[[
3)))uFKCMH]H
3)))uGCHQ
3ugfGRf3
3|ugqgg]
|3uhgfG_
3Uipgppepq
3[[[U.me][[[
3)))uNuYO
3)))uQJHuQ
3)))uQLKuQ
3)))uQLOuQOOuQOOuQOOuQ
3)))uQOJuQHLuQ
3)))uQOOuQL
3)))uQOOuQOOuQOOuQ
@3USSSSZCZCZCZR
;3:UUBUU
;3:UUCUU
;3:UUCUU":
;3:UUCUU;
;3:UUCUUc
;3:UUCUUf
;3:UUCUUj6
;3:UUHUU
3	(uuHYYMH]Hu[FHD@GNu
;3:UULUU
;3:UULUUL
;3:UUMUU
 '3UUqUU
;3:UUuUU
3)))vALHML[AHGMEL[
3V BoTbgfG:
3Vl'g;mgfG
3|voeo7ogo
3vpgppepq
3VSSBXD9
3[[[VwTdH[[[
3w	@@@@B@@@Hp@L
3wFAAAAAA@AAAAAC
3w]fggw?
3WgqggD4
3WllllllllmllllOllylmQ
3w	@@@@@@@@_p@L
@3WSSSS[CZCZR
@3WSSSS[CZCZRh
[[[3[[[(wVdC[[[
3@WxBACM
3x1x7x4xVx
3x7@@@@B@A@dp@f
3XAllllllllmllllOllylm
3XBZjiRSSBZF
3X"e@[[[
3X"eF[[[Z[[[
[[[3X"eG[[[
[[[3X"eH[[[
3X"eI[[[
3X"eM[[[g[[[
3X"eO[[[
3X"eO[[[x[[[t[[[
[[[3X"eQ[[[
[[[3X"eQ[[[k[[[
3xgqgg7[
3XgqggPq
3)Xgqggu
3xgqggzP
  3x HG1
3xoC]Y]]
3Xpgppepqz
3_xx0Q2hxxx
3xxrpyx8yMx
3xxxAxxyxyxyxY[4
)3- xx]Y]]qrY
3xyi2xyT2xy32xy
3xyM||yy||y
3xyr2xyd2xyV2xy82xy*2xy
'3!xyxvy
3xyy	yyy;xyy#yyyyyyyyyyyyyy9yy
|)#3]Y]]
3@@@@]Y]]
3y0g)kgfG
3|y;5zyD2zy
3]Y]]8]]
	3y;9fgfG
??3@YAXPEAX@Z
[[[3Y[dZ[[[
3yEfC[[[W[[[@[[[
3yEfJ[[[
3)))YELHZL][PHO]L[ZFDL]@DL
3)))Y[FJLZZJEFZL
3)))Y[FYL[]@LZr
3)))Y[@G]
3ygEcgfG
(3(ygIdgfGo
3Yg]jgfG
3)))Y@GNHMF[@
3ygqgg@R
3)))@YGYK
3)))YH]A]FZ@NGLM[LYF[]@GNLQL
3)))YH[HDL]L[ZL]GHDL
3)))YHPEFHMvZ@SL
3Yk#RSSALL_
3)))YLGGPKLLv@GZ]HEEL[vv
3yllllllllmllllOllylm
3)))YP]AFG
*3Y;p;CT2J?
[[[3[[[y;Pex[[[
3)))YPYPBH]S
3YUsSRSS
3Yx6ALLD
3yxsy;3H
3yy|2yyX2yyD2yy
3yy]3yy9Syy
3yya2yyE2yy'2yy
3yyc'yyN
3yyD2yy-2yy
3yye2yydLxyj5yy85yy
3yyk2yyH2yy)2yy
3yym2yyyyyyIyyy
3yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
3yys2yy?2yy*2yy
]3yyxyyy
	3yyxyyyuyu
3yyxyyyxyyyxyyy
3yyxyyy_yyy_yyy!0yy
3yyyiyyyyyyyyyyyyyyyyyyyyyy
3yy'#|yJjqyK
3yyyyyy1yyy
3yyyyyyEyyy
3yyyYyyy5yyy
3yyyYyyy5yyyiyyyyyyyyyyyyyy9yy
3yyyyyyyyyy
3yyyyyyyyyyyyyy
3yyyyyyyyyyyyyyyyyy
3|yZ2|y)2|y
3)))ZBPvJFML[Z
3ZdE[[[W[[[
;3Z(gAgge
3)))Z][@GN
?3ZgqggG
3)))Z]H[]
3)))Z]HGMH[M
3)))Z]H[]Y[FJLZZ
3)))ZJ]HKJ]OANQNLNAMA
3zk"XDeK.
3)))ZLELJ]
3)))ZLJFGMZL[_@JLALEYL[
3#Z.llllllllmllllOllylm
3zllllllllmllllOllylm
3Z@llllllllmllllOllylm
3)))Z][[L_L[ZL
3)))ZNG@[]Z]GLDGF[@_GLMGHYQL
[[[3ZOdP[[[
3)))ZPZ]LD
3)))ZPZ]LDACACOLJDMLQLJJHEJM
3ZQgiU]-DR@
3zyl2zy92zy
3zzzrzztzzz|zzzzrzz
    4    
  4     
))4)))))
[)[)[4[)[
[)[4[#["[
[[[	[[[4
[[[;[[[4
[4[)[![:[
||||?4(|||||
||||||||#4	
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||4
||||||||||||||||||||||||||4
||||||||||||||||||||||||4
||||||||||||||||||||||4
||||||||||||||||||4
||||||||||||||||4
|||||||||||||||4
||||||||||||||4
|||||||||||||4
||||||||||||4
||||||||||4
|||||||4
|||||||4|
||||||4|
|||||4|	|
4@@@@@@@@
4@@@@@@@@@
  4"    0
[[[4[[[([[[0
!4!	.054
[[[4[[[05Md[[[[
  4      0  aTTj
40f-21a-21d
40otRgfw
4!0UUAUU
4!0UUBUU
4!0UUCUU
4!0UUJUU
4!0UU@UU
4'0UUvUU
410;4#UUtUU
:410'UUHUU
:410'UUJUU
:410'UUJUU;
:410'UUrUUB
:410'UUuUU
'4114'0UUwUU
411.#.9AAEaAMqAl
411'UUEUU
411'UUEUUJ
!4;149:;0o
|4192)#)
..*41AEEHAC
41-llllllllmllllOllylm
41pgppepq
_41Pkg7cgfGq
 4'1UUqUU
||||?42|||||
4'20!UUJUUw
421("(.42
4!2*1:!7
42).'#(!2
42)#(!2n
42).'35"342).'@@@A@@
42).'3@B@A@@
42).'42)-@@@A@@
4!2450@@@@@
4!2450@@@A@@
4!2450@B@A@Lp@
4!2450@BBA@dp@@@@@@@@@@B@A@Np@Ge))
4!24@DD@@@
#'42" 5.3
#'42" 5.3o
42;5N":@
[4[![2[7[7[:[
.429@@@A@A
.429@B@A@@
42).'@@@A@@
#'42ACC@AjqAAAAAAAAAAAAAAAa@AIqCAAAAA
42).'@B@A@@
42).'@B@A@B
42IdX[[[Z[[[
42).'n#(!2
42).'n(!3(
42).'n)3
42).'n34!243
42).'n35"342).'@B@A@@
42).'n42)-@B@A@@
 -42)* o
430UUwUUrJj
433333333333333
433AAAACC@A
434bgg#a-t
")43@B@A@@
)43@B@A@@
)43@B@A@B
43HdG[[[L[[[C[[[H
43?	MA5LMI3
43pgppepq
43rGMngfG2
[[[43Wdx[[[
440@B@@@Cp@_
4;420'UUHUUS
)'!442z		
(4*;44!!
44444444444444
4444444444444444423
444444445
4!453@B@A@@
[4[4[7[9[:[)[
[4[4[7[9[4[#[[[J[[[
4'48UUFUU
4'!4990-Ul-llylm
4!4)#@B@A@B
44E8XT	7
|||||44F
|||4|4|F|
4*4gPgg.
4*4gPggb
4*4gPggo
4*4gPggW
4!4UUIUU
4!4UUIUUxs
4-4'UUJUU
4!4UULUU
4!4UULUU6TUeDtv
4!4UUNUU3TUeDtv
4!4UUOUU
4!4UUuUU
4  4!    ]Y]]
:44.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
[[[4[[[5
|45?32#)
4|||5||_5||O5||.5||
4(5(6(7(8(9(
45"@B@A@@
45"@B@A@Hp@aK'
45"@B@A@Lp@TN
45bCCNCCCBACC0
4.@.5cgfG
4|||5||HV||l5||h5||P5||L5||H5||D5||@5||
45llllllllmllllOllylm
!@45'LY@aa]Y]]F
!@45'LY@lk5
4--(5")o
45@S_QY:
[4[)[6[([
4!6!34@B@@@Lp@
[4[6[6[4[5[l[
:'4?:676!SSSSSSSS
 46851 P9#
'469_____92
46pgppepq
46'SSqSSSSQSSeSxSSUSSSS: 
46UdU[[[
[(["[([-[4[7[
||||47;|||||
)47!1-'1
47?16B_S
[4[7[2[8["[
4728"_[[[[[[[[q[[z
4728"_[[[[[[[[s[[D
4728"_[[[Z[[[[l[[u
4777777776
477ukV]Rq
;4790'UU|UU
4)?7925(r
47ggfG_|k
47pgppepq
4#||||||||#8	
480t0;6UU
480UUCUU
480UUCUU6
480UUFUU
'480UUHUU
480UUHUU
480UUIUU
480UUIUU 
480UUJUU
480UUpUU
480UUpUU;
480UUpUU@
480UUpUU[
480UUpUU8VUEDtv
480UUpUUf
480UUpUUH
480UUpUUj
480UUpUUK
480UUpUUw
480UUqUUr
480UUsUU
480UUtUU
480UUtUU.
480UUtUU_
480UUtUU1
480UUtUU2
480UUtUU6
480UUtUU7
480UUtUU8q
480UUtUU9'wgov
480UUtUUa!
480UUtUUb
480UUtUUFZ6
480UUtUUh
480UUtUUkk
480UUtUUL
480UUtUUm
480UUtUUn
480UUtUUQ
480UUtUU;TUeDtv
480UUtUUU
480UUtUUvI
480UUtUU|We
480UUtUUWLs
480UUtUUXm
480UUtUUY
480UU@UU
480UUvUU
480UUwUU
480UUwUU:
480UUwUU3
480UUwUUE
480UUwUUH
480UUwUUi
480UUwUUI)-mov
480UUwUUOi
480UUwUUR'
480UUwUU:TUeDtv
480UUwUUv
480UUwUUwI
480UUwUUWt
484' 0UUBUUk
[4[8[:[7[
48:7_[[[
[4[8[:[7[:[?[6[2[5[
4(88yxVy
48-gqgg;e
||||4|8|]x
)?48y8-44
490146UUpUUf
4;9:41UUJUU
4;9:41UU|UU
4;9:41UU|UUX
|#4);9|#5
499UUIUU
 !49:9UU|UU
49DdZ[[[#[[[
49g7egfG
49:]id:1*'
49pgppepq
49)rC@Dt
@;49tIfD;
49yyyyyyyyyyy
49yyyyyyyyyyy)
!4!@@@A@@
).)4@@@A@@
4@@@@@@A@@
4@@A@3 ER
4@@A@7pWD
).)4@@@A@A
4AAAAAAAAAA@Ai!GLIb
4AAAAAAAAYqMM
4AAAAACAAYqMAAAAA
4 "aaa"aacacaca@B)253[(
4@@AAh Il
4@@AAh QY
4@@ABh KN
4AdJ[[[a[[[
4)))]AF[HJ@J
4	a@gllllllllmllllOllylm
4agqgg9u
4agQkgfG
4@@A@h DN
4@@A@h EX
4@@A@h Fr
4@@A@h FS
4@@@@@@A@h Gd
4@@@@@@A@h HK
4)))AHJBKHJB][HJB
4@@A@h KJ
4@@A@h PN]
4@@A@h SN]
4@@A@lpPE
4)))ALQ]F@G]H[[HPMLJFMLALQ]FK@G
4)))]A@[MZL[_@JL
4@@@@@@@Anp@[6
[[[	[[[4AOf@[[[
4AOf@[[[
4AOf_[[[
?[[[4AOfA[[[
[[[4AOfA[[[
4AOfA[[[
[[[4AOfB[[[
4AOfB[[[
	[[[4AOfD[[[
[[[4AOfE[[[
4AOfE[[[
4AOfF[[[
4AOfF[[[:[[[
[[[4AOfH[[[
4AOfJ[[[x[[[
:[[[4AOfL[[[
[[[4AOfL[[[
4AOfL[[[
[[[4AOfM[[[
	[[[4AOfN[[[
[[[4AOfN[[[
4AOfQ[[[0[[["[[[
4AOfS[[[
4AOfT[[[1[[[
4AOfU[[[Z[[[
[[[:[[[4AOfx[[[
4AOfx[[[
4AOfX[[[
4AOfX[[[Z[[[
4AOfy[[[
4AOfz[[[ [[[
4AOfZ[[[
4apgppepq
4)))A@SE@ZL[_@Z
4ASX;ASG;AS
4)))Aw]w]wYw
4@@@@@@A@XpDW
4)))A]]Y
4)))A]]YZ
[[[4[[[.[[[b
 4@@@@@@B@@
).4@@B@@
4@@@@@B@@
4B4gSkgfGI
4b9eK[[[
4b9eM[[[z[[[u[[[
[[[4b9eT[[[
!).4@B@A@@
#"4@B@A@
)'(4@B@A@@
)4@B@A@@
!4!@B@A@@
!4(@B@A@@
)4(@B@A@@
-!4#(@B@A@@
4@@@@B@A@
4@@@@B@A@@
4B@A@2 @A#
4B@A@2 @D
4@@@@B@A@2 @G
4B@A@2 @Hp
4@@@@B@A@2 @J
4@@@@B@A@2 @K
4@@@@B@A@2 @M
4@@@@B@A@2 @Q
4@@@@B@A@2 @UjLM
).)4@B@A@A
4@@@@B@AA@
4BAAAA@AAAAAC
!)4@B@A@B
)')4@B@A@B
)4@B@A@B
)-)4@B@A@C
4@@@@@@BAdp@m
4@@@@B@A@gp@Z
4@@@@B@A@h @ML
4@@@@B@A@Hp@
!4@BA@@Hp@D#H
4B@A@Hp@W
!4!@B@A@JQ@S
)4@B@A@Lp@
!4!@B@@@AQ@ss
4@@@@B@@BHp@g
	.)4@B@B@Np@H
4@@@@B@B@pp@M;3p?@@@@B@B@pp@L
4"bBSBRM_-
4@@@@B@C@Hp@a
!4@B@C@Jp@W
.4)@BDa@
4[[[@B"e][[[
4Bf#g_wggG
4bg3hgfG
4bgfGmIy
4bg;kgfGi
4B.gScgfG
4)))][@B@]H
4bHdS[[[#[[[
4@@@@B@@@Hp@g
!4(@@BJ@yp@@@@@@@@@@@@B@
	||4B||l
4bLdW[[[Q[[[
4)))BL[GLE
4bllllllllmllllOllylm
!4@B@@@lp@
!4(@B@@@Lp@X
4B#'mggfw
4 @@@@B@@@Np@B;1N
4BpgppepqS
4bRAAAA]Y]]
4BulkImporter
;4BUQNDBT;#NTL;"IRJyxdy
4B[[[Z[[[K[[[3
)-)4@@@C@
@4CdM[[[K[[[
4C(dO[[[b[[[
4c!egfwH
4cg3dgfG
'4cgfG_Y
4CgOkgfGbCL
-4cgqgg#
4cgqggJj
4cllllllllmllllOllylm
4cllllllllmlll]Y]]y
4cmiAssemblyComponent
4cmiIdentityReferenced
4cmiImagingInformationWWWd
4cmiRemoteInteractiveLogonPrivilegeWW
4CmiXmlEncodingTypesW
4@@@@@@@@Cp@_
4cpgppepq
4|d_[[[|[[[
4:(d_[[[
4[[[[[[d_[[[
4)))[][@D
4d0dS[[[p[[[g[[[
4d0dX[[[
@4D;@0wnA
.4d_[[[;[[[2[[[
4d7*RdsF
4|dA[[[b[[[
@@@@@4@@D@ACac
4|dA[[[L[[[C[[[O
4|dA[[[m[[[
4dA[[[o[[[n[[[
	4dC[[[F[[[
4dC[[[U[[[K[[[[[[dY[[[
!4(@DD@@@
4DdE[[[f[[[
4)))D@]DFYZ]LELN[HDLQ][HJ]]FBLG
4DdN[[[?[[[
[[[4[[[__DeB[[[
4|d_[[[e[[[d[[[
4|dE[[[F[[[
4dE[[[S[[[K[[[i
4|d][[[E[[[z[[[4
4DF@@@@BAA@Lp@Ox
4|dF[[[c[[[
4)))DFM@OP
4Dg	cgfG
4!d?.gdmN
4|d@[[[G[[[F[[[
4.dgfG!mJ
4dG[[[h[[[
4)))D@GL[
4)))D@G]L[FY
4)))@DHYvJE@LG]vLQJ
4)))@DHYvZL[_L[vY[FJLZ
4)))@DHYZvJE@LG]vZ]H[
4|dI[[[b[[[
4dI[[[j[[[
4diLieh!
4dI[[[t[[[
![[[|-4dJ[[[ [[[
4dJ[[[	[[[
4dJ[[[a[[[
4)))DJAH[JFML
4)))D@J[FZFO]
4dJ[[[o[[[a[[[K
4dK[[[2[[[4[[[
4dK[[[3[[[)[[[
4dK[[[M[[[
4)))DL]AFMGHDL
4d(llllllllmllllOllylm
4dL[[[S[[[
4dL[[[z[[[r[[[
4|dM[[[K[[[J[[[
4dM[[[w[[[
4dN[[[6[[[
.4d_[[[N[[[M[[[a9CdW[[[
4dO[[[7[[[
4DOdV[[[
4|dQ[[[j[[[a[[[|"
4dR[[[ [[[
4|dR[[[e[[[
4d_[[[r[[[p[[[
4dR[[[r[[[
4|dR[[[s[[[i[[[
4|dS[[[m[[[
4dU[[[|[[[
.4dU[[[d[[[
.4dU[[[y[[[s[[[
[[[|-4dV[[[
4dV[[[k[[[j[[[
4_dV[[[_[[[W[[[L
4d][[[W[[[O[[[
4;]dX[[[
4dX[[[c[[[
4|dx[[[E[[[z[[[
4dX[[[;[[[:[[[gk
4|dx[[[J[[[H[[[
4dX[[[|[[[s[[[
4dY[[[d[[[
4Dyyyyp9
4dZ[[[?[[[
4dz[[[S[[[
4|dz[[[y[[[q[[[
4 (()e))))(
4||e5||F5||'5||
4E8wLt	H
@@@@@4@@E@ACac
@4@@E@ACac
@@@@@4@@E@AEac
4||eat|a
[[[4[[[:e|dD[[[
[[[4[[[:e|dz[[[
4)))EFJHEZ]F[HNL
4egCkgfG
4)))EGZXXol
4eH[[[7[[[
4eikgMkgfG
4)))]@]EL
4)))EL]H[[
4eO[[[g[[[
4)))EYZFJBHMM[
'@4@@F@ACac
4fdM[[[e[[[
4)))FELFKCLJ]
4fgfGDe9
4fg	wgfG
4)))[FK@GJAHAHE
"4fllllllllmllllOllylmV
4)))_F@M
4FnU-llllllllmllllOllylmR
4f)Qde?f
4F?sztU;cgfG
4FTdxyyy
4)))FYLG
4)))FYLGA]]Y
[[[4[[[G
|||||||@4G
4g1dgfGA
4g3cgfGy
:!4gAggf
4gAggJzG
4gakgfG;
'4gaNuJO
4@GBGEcQEyTBG9
4gbgfGp0
4gCdgfGu
4gcngfGo
4g-egfG:
4g'egfGD
4g'egfGTo
4@gEMggGl
4)))@G_FBL
*4|GfgfG
#4g-fgfG
4)gfGh.t
4)))@G]]FZ][
4ggcgfGi
4gGcgfGKkr
4ggdgfGq
]4gGegfG
4gGegfG 
4ggegfGH
)4g;|gfG7u
4gg-fgfG
4ggfGSn06gqgg)
4gggGsjbXgqgg9 
4)))@GGL[A]DE
4)))G@GL]LLG]AZL[_@JLALEYL[
4GgqggR)W
_4gGvgfG
4ggwgfGc
4ggwZZN"
4gGyyyyyy
4)))GHDL
4gHk 1gh
4gIkgfGAh
4gjpgppepq
4gKegfGd
4.g)kgfGc*f
4g#kgfGd
4g!kgfGx
4)))@G]LG]
4g'lgfGl	
	4gMbgfG
4gMeO[[[Z[[[O[[[
4*g	mgfG
4g#mgfG!
)4gmogfG
4)))@GNLEZL
4gOkgfGg
4gpgppepq
4gp.P4|hfggG
4GPWZWWW:
|||||4Gq
|||4Gq1xt|
|||||4GqE
#4gqgg-)
4@@@@gqgg
_4gqgga:s
4gqggb|1
4[gqggcnuD
4'#gqggcnuD
4gqggEFrG
:"4gqggh8
;'4gqggHsVQ
4gqggIet
'4gqggJ9
4gqggKSl
4gqgg@(L
4;gqggn	n
4)gqggPE
4gqggRgx
4_gqggSw
4gqggUa(
4gqggu#K
|||4Gqixt|
4GRSSSSS
4 gslgfG
4gSlgfGS
4g	TgfGo
4gUllllllllmllllOllylmg
_4gwogfGd
?4gycgfGl
4Gyyyyy9n9yyyI
4Gyyyyyya9yyy
4GyyyyyYa9yyy
4Gyyyyyye9yyy
4)))_H[[
]#(4H445gBgg
]#(4H445gRgg
]#(4H445gRggt
4HAy-47ggfGHAy-gqgg
4[[[#-hdE[[[
4HdL[[[l[[[
4Hd_[[[M[[[
4)))HEL[]L
4hf1llllllllmllllOllylm
4[[[hF"dT[[[
4)))HFGMLO@JH[
4)))HGM[F@M
4)))_H[H[[E
4)))H[[HP
4)))HJ]@_H]F[t
4)))HJ]@_@]P
4)))HJ]@_@]Pv@[
4)))_H[KF]HE
4HllllllllmllllOllylm
4hllllllllmllllOllylmT
4)))HM_HGJLM
4)))]H[NL]
4hrgqggo
	]#(4HSVVUgPgg
4hupgppepq
4!hy"OGc
4)))HYYE@JH]@FGJFD
4)))]HZBB@EE
]4i8yxuy8x
4ICmiLogConfigWWW
4)))iEFNFGMGZMFDH@G
[[[	[[['4ifL[[[
4IFllllllllmllllOllylm
4ig_egfG
4Ig[fgfGz
4Ig_lgfG
4IgUkgfG
!4iiiJiIiiiJiJJJiJi8
4)))iJFDDFGO@ELZM@[
4I*jgfGB
4)))iMLZB]FY[LO[LZA
4ipgppepq
4IppcgfG
4I(xx]Y]]U
4J@@@@@@@@
4J@@@@@3@@E@ACac
4J@3@@E@ACac
4J@6@@F@ACac
4J@@@@@@@A
4J@@@@@@A@@
4J@@@@A@@@
4J@@@@A@A@
4J@@@@A@A@7pLD
4J@@@@AAA@[pDDL
4J@AA@Cp@DL
4JAA@@lpQH
4J@@@@@A@@ap@D
4JAA@@PpDI
4JAA@@PpDS
4J@@@@@A@@AQ@D
4J@@@@A@A@XpDD
4J@@@@A@A@XpLD
4J@@@@AA@@XpTDL
4JABAC7pD@@@@@L
4J@@@@ABCBPpD@@@@@L
4JAB@@.pD@@@@@L
4J@@@@A@B@XpDD
4J@@@@@A@@Cp@DL
4J@A@@Cp@DL
4jAdW[[[
[[[4jAdZ[[[
4)))JA[FDL
4J@@@@@@A@Fp@@@@@@@@@@@@A@Ip@@@@@@@@@@@@A@XpBHz
4J@@@@@@A@Fp@@@@@@@@@@@@A@Kp@@@@@@@@@@@AA@Cp@DL
4J@@@@@@A@h DN
4J@@@@@@A@h EZ
4J@@@@@@A@h FMHc
4J@@@@@@A@h FN
4J@@@@@@A@h GN
4J@@@@@@@ALp@Z6
4J@@@@@@@@AQ@F
4J@@@@@@A@up@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@np@C
4J@@@@A@@@XpDD
4J@A@@XpDDL
4J@@@@B@A@
4J@@@@B@A@2 @K
4J@@@@B@A@2 @m
4J@@@@BAA@ap@D
4J@@@@BAA@Hp@DL
4J@@@@BAA@Hp@E
4J@@@@BAA@Hp@Eb
4JBA@@AQ@D
4JBAA@Xp@DL
4J@BABXp3@@@@@Tq
4J@@@@BACCCp@DR
4J@@@@B@A@Cp@
4JB@A@Cp@k
4JBA@@Hp@C
4J@@@@BA@@Hp@D
4JBA@@Hp@D
4JBA@@Hp@D#H
4J@@@@BA@@Hp@DL
4JBA@@Hp@DL
4JBA@@Hp@Dy	h
4J@@@@B@A@Hp@TR
4JB@A@Hp@y
4J@@@@BARAPp@L
4J@@@@B@A@yp@LS
4J@@@@BBA@Ep@@@@@@@@@@B@A@Hp@
4J@@@@BB@@Hp@@@@@@@@@@@B@@XpD@@@@@
4J@@@@BB@@Ip@@@@@@@@@@B@@@Jp@C
4J@@@@BB@@Jp@@@@@@@@@@A@@@
4J@@@@BB@@Jp@@@@@@@@@@AB@@
4J@@@@BB@@Jp@@@@@@@@@@@B@@XpK@@@@@
4J@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@A@@@
4J@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@AA@@XpDDL
4J@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@BA@@Hp@DL
4J@@@@@BCAXpL@@@@@
4J@@B@Ep@X
4J@@@@B@@@Hp@]
4J@@@@B@@@Hp@b9
4JB@@@Hp@NEf
4JB@@@Hp@w
4JB@@@Hp@y
4JB@@@Lp@m
4j@@@@@B@@np@@@@@@@@@@@B@@Ep@@@@@@@@@@B@@@lp@dA
4J@@@@@B@@XpK@@@@@
4J@@@@@@C@7p|D
4J@@@@@#@@C@ACac
4J@@@@Cp@]
4JDD@@ppJZ
4J@@@@@;@@E@ACac
4)))JEHZZ_O]Z]H]L
4)))JFDDHGM
4)))JFG]LG]
4)))JFG_L[]t
4)))JFGO@[D
4)))JFML
4J@@@@@@@@Fp@@@@@@@@@@BB@@Jp@@@@@@@@@@@A@@Cp@DL
4J@@@@@@@@Fp@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@Cp@u
]4JgghgfG)
4J@@@@gqggmqHoD
4)))JHEELQJHM]
4 jhggfw
4)))JHZL
4J@@@@@@@@Jp@@@@@@@@@@BA@@Xp@DL
4]JKtSpE
4)))J[LH]LFKCLJ]
4)))J[LM]PYL
4J@@@@@@@@Lp@lF
!4(@@@J@Lp@m
4J@@@@@@@@Lp@m
4J@@@@Lp@m
4J@@@@@@@@Op@@@@@@@@@@B@@@Hp@hP
4JPdO[[[
4jpgppepq
4jpgppepq1
4jpgppepqn
4Jpgppepqo
4J@@@@@@@@[pHL
4J@@@@(p@P
4J@@@@@u@@C@AC@@@A@Lp@Y
4J@@@@@u@@C@AC@@@A@Lp@Z
4J@@@@@u@@C@BC@@@A@@
4J@@@@@@@@up@@@@@@@@@@BBB@Jp@@@@@@@@@@@@B@
4J@v@@B@ACac
4J@@@@XpCD
4J@@@@]Y]]
4J@z@@B@AEac
4. K4K8s
4k9sDI3w
4KAAAAAA@AAAAAC:
4k@@A@h Re
4k]cgfG6xf
4Kd@[[[?[[[
4KdA[[[([[[
4)))KDFK
4KdP[[[v[[[t[[[]
4kgMDgfG
4)))KHZA
4)))KHZL
4)))KLAH_@F[
4KLKKLK@'''''F
4)))KLN@GJFGGLJ]
4)))KP]Lrt
4)))K@SS][LHD
4)))K@]ZHMD@G
4l0xx]Y]]
4)))L@]A]ZL[_@JL
4LCdE[[[
4LCgqgged*
*4LdA[[[1[[[5[[[
4)))[LDF_L
;4LdG[[[*
4ldHt@?C
4ldHt@xx]Y]]
4)))]LDYYH]A
4@Ldz[[[
[[[4l|dZ[[[
4)))LELDLG]
4)))]LG]AZL[_@JL
4lgfG-JYJzD"
4lgGSffG
4)))[LGML[vO[HDLvAFZ]v@DYEvZ@SL
4)))LG][PvJEHZZ
4lgqggCipA
4lgqwgfG
4)))L_HE
4)))]LHNPNB
4)))LJAFJ
4)))LJAFLQ
4)))LJAFOMZHOMZH
4)))LJAFP
|||4l||(l||
4#llllllllmllllOllylm
4*llllllllmllllOllylm
4[llllllllmllllOllylm
4]llllllllmllllOllylm
4_llllllllmllllOllylm
#4llllllllmllllOllylm
.4llllllllmllllOllylm
4llllllllmllllOllylm
4llllllllmllllOllylm	
4llllllllmllllOllylm#
4llllllllmllllOllylm[
4llllllllmllllOllylm]
4llllllllmllllOllylm0Z
4llllllllmllllOllylm5_
4llllllllmllllOllylm8
4llllllllmllllOllylmE
4llllllllmllllOllylmer
4llllllllmllllOllylmF
4llllllllmllllOllylmg
(4llllllllmllllOllylmi
4 llllllllmllllOllylmk
4llllllllmllllOllylmKn
4@llllllllmllllOllylmM
4llllllllmllllOllylmN
4llllllllmllllOllylmO
4llllllllmllllOllylmPZ
4llllllllmllllOllylms
4llllllllmllllOllylmu
]	'4llllllllmllllOllylmU
4llllllllmllllOllylmw
4llllllllmllllOllylmW
4llllllllmlllwMO8) V;
"4llllllllmlll]Y]]
-4?!llllllllmlll]Y]]
4llllllllmlll]Y]]
4llllllllmlll]Y]]!
4llllllllmlll]Y]]f
4llllllllmlll]Y]]F
|||4l||ln||
4)))[LNZ_[
4Lpgppepq
4lpulConnectionWW
4)))]LQ]
4)))LQJAMLO
4)))LQYF[]Z
4lRllylm
4LUpgppepqz
||4l||xb||
4)))[LYEHJL
4)lyyyyiy
4)))_L[Z
4madC[[[
4madK[[[8[[[
[[[4madT[[[
[[[4madY[[[
[[[4madZ[[[
4_MapiFileDescIdlX
4_MAPIUIDIdlW(#
4!?mavi*
4MdB[[[t[[[k[[[7
4]mddg#bgfG2
4)))M@DFKCZALEE
[[[4M"eY[[[d
4)!mggfw
4!mggfwC
4)mggfwg_j
4)mggfwrN
))4))))(M)));)))_H[H
4)))MH]H
4[[[mkTdQ[[[
4)))@MLHZ
4)))ML_LEFYL[
4MllllllllmllllOllylm
4mSSSSSSSSSSSSQ
4mSSSSSSSSSSSSSSSS
[4MVdblWWW
4mxHpyx[
4mxHpyx]
4mxHpyxY
4M|yyyyiy
!4(n#"24@B@A@B
!4(n2).4@B@A@B
!4(n3124@B@A@B
!4(n3)'.5-@B@A@B
!4(n!"3@B@A@B
!4(n!3).@B@A@B
!4(n3).(@B@A@B
!4(n3).@B@A@B
!4(n!4!.@B@A@B
!4(n4!.(@B@A@B
!4(n4!.@B@A@B
!4(n!4!.r@B@A@B
!4(n-!8@B@A@B
4)))[@NA]
!4(n-).@B@A@B
4)))NEFKHEZr
4)))NFFNEL
_4Ngqggw
4)))NL]FKCLJ]
4NM@@@@@@@@
4NM@@@@@@@@cp@HY
4nRgsmgfG*-H
4NSSUBFO9
*4o5sgfG|
4O@@@@@@A@h FMHc
4o|bgfGx
4OD	aDpgppepq
4OdK[[[;[[[
4)))O[FDJ[PY]F
4)))O[FDZDZ@GCLJ]F[
4)))OF[LHJA
4)))OF[LHJAR
4oggcgfG;V
4)))OHOH
4)))O@O]AZL[_@JL
4opgppepq
4opgppepqt
[[[4OTdH[[[*
.4O[tp*g
4oxkllllllllmllllOllylm4
)*4Oyxey
*4O[[[Z[[[O[[[
4)))O@[Z]ZL[_@JL
4.PA	bgfG
4 part version of the repositoryWW6
4!PbgfGP7
4@@@@@@@@|p@fz
4pggaggG
4!pgppepq
4'pgppepq
;4pgppepq
@4pgppepq
[4pgppepq	
4pgppepq
4pgppepq).
4pgppepq0F
4pgppepqA	
4pgppepqgq
4pgppepqj
4pgppepqkb
4pgppepqQ
4pgppepqRU-
4pgppepqu
4pgppepq]W
4pgppepqy#xO
4pgppepqZ
4PJhggfwo
4)))@PKCK
4pllllllllmlll]Y]]
4)))[PLP
4)))][PR_H[S
|||||||4Q
[[[4[[[Q0Wd][[[
4q;33_W__z_
4||q5||P5||35||
4q@@@@B@A@2 @O
4QB_ssQSSsSSS
4QdB[[[g[[[f[[[U.mez[[[
4)))@QDEMFDLELDLG]
4QdY[[[v[[[
4qgqgg"Q
4qP4ux4i
4qpgppepq
4qRWEy9K
4QSSBALd
4Qtvvz"6
4Qu[pgppepq
4'R4efG39
4||r5||]5||D5||15||
!4!.r@B@A@@
4	)rDH]A
4r@dL[[[
4ReJ[[[	[[[
4ReW[[[a[[[d[[[*
4rg_|ggG
4rgggGxcX
4)))rHMZ@ZLH[JAL[t
4)))rHYYMFDH@Gt
4)))rJFG_L[]t
4)))rLG_@[FGDLG]t
4)))rMEE@DYF[]
4rpgppepq-t
4)))RrJAH[trJFG_L[]t
4)))RRuK@G
4)))Ru[]O
4)))RYHPEFHMZ
4*r!YllllllllmllllOllylmP
4RYpgppepq2
4)))rZPZ]LD
4  s      0  
|||4s8aqjz|4
4sAYgWigfG
??4SC@mmcerror@@QEAAAEAV01@AEBV01@@Z
??4SC@mmcerror@@QEAAAEAV01@J@Z
4Sfggfwu
4Sfgqgg8v|K
4SgQggfG|
4SgqggS:
4(sg]ugfw
4sJiGpRt7
4]SllllllllmllllOllylm
4[SSQBUsSRSSsSSS
:4;SSS||
:4;SSSSS
4SubCategoryW
[[[:[[[4t
"4_T1X0E
4-TgeagfG
4tgqgg2	)j
4tJdU[[[2
4TJTLHN1
4T)mggfw
4T[[[Z[[[O[[[d
4||u5||(
4@@@@@u@@A@AAac
4)))uAY[LPFZu[LPFZZ]H[]L[
4)))uAYZFPL[uZFPL[Z]H[]L[
4uFpgppepq
4)))u@GZ]HEEHO]L[[LKFF]ZL[_@JL
4)))uHYYMH]HuEFJHEu]LDYuKQL
4	)uHYYMH]Hu[FHD@GNu
4)))uOY[X
4upgppepq
4'((UPUU
4USSS@S]X[SRS
;!:4UUEUU
:;4UUNUU
:;4UUtUU
4)))uZH_LZPZ
4)))uZL[_@J@GNuZPZ[LN
4())uZPZ]LD
4v'06#3':8UUZUUP
4v6:;;06!UU[UU
-*4V9xyxAy
-*4V9xyxp
4)))v]A@Z
?4vgfGlkG
4VgtggfG
4vgWcgfG.
"4VigAggp
4|vodo9ogo
4|voeo7ogo
4|voeo9ogo
4VP-)e[)
4VWegfGr
4||w5||G5||d5||U5||75|| 5||
4W*aa]Y]]
4wg?egfG
4wGOX?[n
4:wgqgg	
4wllllllllmllllOllylmH
4wpgppepq
4Wpgppepq
	4wrJgfw
4WSSS@S2
4WyyyWyyyYe
;|||4||x4||P4||L4||H4||
4?x74?x64?
4XAAAAAA@AAAAAC
4xAAAAAA@AAAAACza
@4xaULC9
4xllllllllmllllOllylm
4XllllllllmllllOllylm
4)))XLX_XHXEX
4X?@nggw
!4@@@@@Xp@Gnj
4Xpgppepq
*4@xx]Y]]
4!xx]Y]]
-*4xx]Y]]
4xx]Y]]1BY
4xyc7xy87xy
4xyj7xyI7xy47xy#7xy
4xymiyyyyyyyyyyyyyyyyyyyyyy
-*4xyxly'
-*4xyxny
-*4xyxuy9
4xyyyWyyyxyyyyyyyyyyyzyyyY|
4xyyyyyyy
4xyyyyyyyyy
4X[[[Z[[[O[[[
  4!    ]Y]]
|||4Y|||
4[.((]Y]]
4|y[7|y07|y
)?4.y8-44
)?4y8-44
4YdH[[[P[[[F[[[)
4[[[(Y_dO[[[
4)))YEHP
4)))YF@G]L[
4)))Y[FJLZZE@Z]
4)))Y[@G]
4|yg7|y0
4)))YH[HDGHDL
4)))YH[HDL]L[ZL]GHDL
4)))@YJFGO@N
4yLdB[[[
4)))YLGGPKLLY[Fv@GZ]HEEL[vv
4yllllllllmllllOllylm
4)))YPYPBH]S
4yTgqggME
4@@@@]Y]]xf_
-*4yxHy1x
-*4yxjy.
-*4yxny]
?4*yxuyK
4yy|7yyg7yyN7yy57yy
4yyHyyyqyq
4yym7yyL7yy-7yy
4yyn7yy@7yy!7yy
4yys7yyR7yy77yy
4yyu7yy(7yy
4yyu7yyT7yy47yy
4yyX7yy97yy
4yyxyyyqyq
4yyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
-4)yyyyy
4yyyy|yy
4yyyyyyEyyy
4yyyyyyIyyy
4yyyYyyy7yyy
4yyyyyyyy
4yyyyyyyyVA
4yyyyyyyyyyyyao
4yyyyyyyyyyyyxyyy
4yyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyQe
4yyyyyyyyyyyyxyyyyyyy
4yyyyyyyyyyyyyyyyyyyyxyyy
4yyyyyyyyyyyyyyyyyyyyyyyy
4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
4yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
4@@@@@z@@A@AAac
4zAdS[[[j[[[
4)))ZAFZ]
4)))ZALEEuFYLGuJFDDHGM
4)))ZALEEvFGE@GL
4)))ZDKJFGGLJ]@FG
4)))ZD]YvJE@LG]v[
)4#"_[[[Z[[[[F[[O
4)))Z][@GN
*4ZgQcgfGg
4Zgqggv(6b
4)))Z]H[]
4)))ZHG]HGML[LDY[LZH[@HE
4)))ZJA]HZBZ
4)))Z][JH]
4_[[[Z[[[K[[[z
4)))ZLD@
4)))ZLEO
4ZllllllllmllllOllylm
4)))Z][[L_L[ZL
4)))ZLZZ@FG
4zMgqggzk0
4z|p5z|x
4)))ZPZJ]E
4)))Z@Q]AZL[_@JL
4zQ@@@@@p@@A@AAac
[4[)[?[[[zrzzzzzzzzzzzrzzVzzzpzzz
|||4z||v|||P|r|e|e
4)))ZwL]
4)))ZY[PDLM@HE]M
4zyq7zy@7zy47zy
4zys3zyg4zy
4zyy4zyg
4)))_ZZHMD@G
4zzzrzztzzz|zzzzrzz
  -     5
  @     5
  5     
!"5"; #!
'  @     5
)(((5(('
))5)))))
*(((5(('
-5@@@@@@
[[[	[[[-5
[[[	[[[?5
[[[	[[[5
[[[:[[[5
[[[?[[[?5
[[[5[[[	
||||||| |5|
|||||||||5|
||||||||5
|||||||5
|||||||5|
50:07?6y9:
50*-;6!yI
50bkOrigin
50CgmcgfG
5.0 (compatible; MSIE 6.0; Windows NT 5.1)
[[[:[[[50#eW[[[
50g!egfG
50g;tgfG
50HllllllllmllllOllylmv
|50llllllllmllllOllylm
50llllllllmllllOllylm
50llllllllmllllOllylm-
512g'!gfG
5.()13289r
#51"38P#
?"51cccvccaclc0
51gqggd;8
51llllllllmllllOllylm
51xyxSi|
5#20867S
!':520'S
[5[-[2[?[2[:[
522@@@@BBA@
525341310010000003000000000200000000000000000000010001f3d9a4dc78c4a06f086cd63b6e12d1e611e2dfba6690220490eadcc96f5c204218eca500de46922dd1bef85c39042091fc80f1fbc7197d291728801ebf7225a7075f5c99af719765051b3443815526533efb72262888a63f11305a86c1201d6de343569587b2c9c545276248379a4b063276bf7730c6f3e26a3ae08cb3e7918dcbca3fd4d4ebc897a49c7a346ec5cd8457192fbfac174a1437c48b9fd6d1b77f43c44604e6db235b744c1e7374e36a861f00699b1940bd5ae4db67ef8954fa6464e49fa73ac649719cdb9a508ba79080b475944fef90bdd957391dcb52383d96d4ba84375c168850a7a8bdeaba4dcedbfceb3bd20d39ef06a472c5daa669ebbed6efbad9c0ba6ae616e5ca95f28b89b5c330e8b8a49a91b1989ece16d9cfa480f4eab6d32c17bb8cfb339cff486107406d6dc62496433827c71f4cfa8ef1eb5efca98eb2fd497c1b2423b19e7dfb08e28a90a3afdf83fa8c7893c5ea88ac9a04e326dc2adf6e7f7805e80dad6eb4eca862a2a70cb013842d63d9fef855abf6af758105b1daafa6f4588ca4e7838687dfbb162d5c2514045686a7fd7c8c1a806d61516a92559bc7af26cf54872a4facbe4ee2bcfa5db92777eb542c7c3ccf465e795cde5f1d2b7701a240c604b4f9cfc907f06f90ee4b0a3b1894e7fdc0e81d4ff1b98d8b0720d112cb1318bce08f815873aa5c0dd15d269f4060c083fb2bd1df
52g1dgfG
*52gC[[[m[[[
?52gqggDk
52o@@@@A
52pgppepq
.5(.325r
!533)!.@B@A@@
534@B@A@ap@a
-- 5.3(ACQ@AC
53Bllllllllmlll]Y]]
53llllllllmllllOllylm
53pgppepq
*53xx]Y]]
54054@B@A@@
5'4 l*E7
54llllllllmllllOllylm
5*4llllllllmllllOllylmw
54pgppepq
54RdV[[[a[[[
54WgqggJ
[[[5[[[?5
5 5(25("2
?55"2yxh
#55;"514P"
555hjjRt
558# 40"
5(-(58ACQCAC
5(-(58A@Q@AC
5(-(58AQQ@AC
:55fSSSSSSS
55g-kgfG
55pgppepq
55pgppepqM
55PWAIggGfgw
:55SSSSSSSS
:55SSSS;SSSSSSS
5_5W5W5xxx
5_5W5W5xxxxx
55ygOkgfG
5:?6#2';Sr
5661):#S
5-6-7-8-9-
56@@@@B@CAHp@x
56e_[[[][[[
5*6gqgg!
"5 -.6-o
5:?6SSSS|
5|||6||x6||t6||
5.6_[[[Z[[[[x[[U
[5[:[7["[([2[([
[5[7[4[8[0[
575(5r;92r
5@@@@@7A@U@CCac
57(llllllllmllllOllylm
57llllllllmllllOllylm
57mgsfgfG
57Q]]sr 55.5
""5!-?:??8
[(["[5[8[
5#||||||||#8	
[:[.[5[8[3[
587.(245
58giggfw
58jBkL]X
58jdgGbgfG
58jDkF]X
58jGkA]X
58jvkp]X
58NT[[[Z[[[O[[[
58UgqggY
58ujakc]X
58ujbkl]X
58ujckm]X
58ujDkF]X
58ujEkG]X
58ujgka]X
58ujGkA]X
58ujikk]X
58ujjkt]X
58uj@kB]X
58ujpkr]X
58ujtkv]X
58ujvkp]X
58ujzkD]X
[5[8[u[[[R[[[Z[[[
'5916xyxqy
:5?94#_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzztzzz|zzzzrzzozzzvzzzzrzzBzzz*
59697989
[[[5[[[9dXdA[[[
59g[lgfG*
5_9gO[[[
5@@@@@@A@@
! 5-!!aaa
5AAAAAA@AAAAAC
5AAAAAA@AAAAAC.lX
5AAAAAA@AAAAACV
5 AAAA]AAAZqjM
5AAAACA@AaqAN
5AAAACQ@EIqA
5AA@A.!HLIb
 5")AAAIAZqUM
5aagqggF
5A	@@@@B@A@np@j
.5ACQCAIqAcAAAAAAAA
 5)ACYCAC
5aDgSggfG
5)))AFDL
5Ag3Tggw p
:5Agqgg6uw
5@@@@@@A@h CO
5@@@@@@A@h FMHc
5@@A@h Ie
5)))AHZ]A@Z@M@F]YHPLM]AL[HGZFD
5)))ALHML[
5allllllllmllllOllylm
5)))A[LO
!5ANgYkgfGN.
5AoSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
5@@@@@@A@[pg_
[[[5aRdC[[[
5)))A@SE@ZL[_@Z
5AsgqggD
5ASU4ASO4ASx4ASh4AS
5]a@t]s*
@@@@@5A@U@AAac
5)))Aw]w]wYw
5'@@@A@Xp
5)))A]]Y
5)))A]]YZ
@5B5@4B4@6k
).)-5-@B@A@@
5@@@@@BA@
5@@@@B@A@
5@@@@B@A@2 @By
5@@@@B@A@2 @c
5@@@@B@A@2 @FM
5@@@@B@A@2 @I
5(B@A@2 @ZG.
5.b"AAAAKPAL
5@@@@BAA@Lp@S
5(B@A@AQ@N
5'@B@A@B
5@@@@BAB@
5'bagfGq
5@BA@h G@@@@@
5@@@@B@A@Hp@e
5@BA@h P@@@@@T
5.@B@A@h @T
5@@@@B@A@Jp@C
5BdI[[[][[[P[[[
5bg5egfG:
5BJhggfwQ
5BJobgfwv
5)))BL[GLE
*5B[[[Z[[[K[[[
5c][[[-[[[
5)))@CAB
5cBGyyyyy
"5Cd_[[[([[[
5c'dgfGC
5CdV[[[V[[[
5cgqggc@
5CgWegfG
5)))CH_H
5Clcji' 
5cllllllllmllllOllylm
5CllllllllmllllOllylmD-*
5cmiUnattendFileWd
5CopyProfileW
5@@@@@@@@Cp@x.D
5)))_D_@_
5d4Gqlit|
5||d6||f5||36||
*5d8oRdb
5Dd[[[[([[[
5;DdC[[[
5DdC[[[T[[[K[[[
5DdE[[[*[[[)[[[
5DdE[[[R[[[Q[[[
5d..]dON
5DdV[[[U[[[
]5DdV[[[w[[[
(5Ddx[[[
5Ddx[[[P[[[W[[[
'5Ddy[[[
?5Ddy[[[
@[5dEl4e
5'DGgGfgfGi
_5'DGgwegfG
5	Dgqggq
5)))DH]A
5)))DH@E
5dH[[[t[[[i[[[4C
5dI[[[.[[[
[[[5[[[[[[dK[[[
5Dkpgppepq
*5]DllllllllmllllOllylm
5D'llllllllmllllOllylm'JkH
?5[dM[[[
5d)mggfw 
5dM[[[r[[[
5dMt#deF
5dN[[[][[[
5dN[[[q[[[
5)))DNYE
5.dQhRef
#5dT[[[Z[[["
5dV[[[:[[[
5dV[[[M[[[C[[[Ac|dY[[[
5[dW[[[_[[[
5DW	'A.W
5dZ[[[6[[[
[[[5[[[e
5E@@@@@0@@E@ADac
5e_[[[1[[[
5e6Te(tm
5eA[[[6[[[
@@@@@5@@E@ACac
5@@@@@;@@E@ACac
@@@@@5@@E@AEac
@5@@E@AEac
5eB[[[b[[[a[[[i
|5EdK[[[
5EdL[[[P[[[V[[[
@@@@@5@@E@ECac
"5eeGfgfG
5)))EFHML[
5'egfGto
5egqggaa
5egWegfG)
[[[5eHdY[[[
5)))E@KNJ[PY]EFNJ[PY]FY[F_@ML[
5)))[EKP
5*ellllllllmllllOllylm
5eM[[[g[[[d[[[7
5EnvironmentW
5eO[[[D[[[p[[[
5)))EP[@JZN@SDv@GZ]HEEL[vv
5Eraa]Y]]V
5Etgqggadu
5eU[[[L[[[
5eX[[[N[[[x[[[
5E|xTy2 6K
@@@@@5@@F@ACac
@5@@F@BCa
@5@@F@CCac
#5f#C*dPH8d
5fCdW[[[
5fdJ[[[r[[[
5fdR[[[	[[[
5fdS[[[E[[[
5fdT[[[q[[[:[[[
5)))]F[]FDZB
5F(gAgg8
5)))FGEFHM
5FGyyyyy
5)))FKCvJFEv
5fllllllllmllllOllylm
5FllllllllmllllOllylm
5fllllllllmllllOllylmv
5fQngfG.
[[[5ftdQ[[[u
[[[5ftdX[[[
5FVT[jXTV]Z5555SPsSSSSS
5fX[[[@[[[
5fXgqgg4w
5)))[FYJAH@GJ[LH]LM]FKPYHZZMLY
5)))FYLG
5fyLKgicgfG
[[[5[[[g
5g7jgfGh
@5@@G@AA@@@A@@
)@5@@G@AA@@@A@B
@5@@G@AA@@BA@B
5@@@@@g@@A@ACac
@5@@G@A@@B@A@@
@5@@G@AC@A@A@NpHC
@5@@G@AC@@AA@PpcW4
@5@@G@AC@A@@@lpDQt
@5@@G@AC@@@A@.p
@5@@G@AC@B@A@dp@F
@5@@G@AC@B@A@dp@Q3fA
@5@@G@AC@B@A@gp@f
@5@@G@AC@B@A@Lp@m
@5@@G@AC@B@@@dp@G
@5@@G@AC@B@@@Hp@[
@5@@G@AC@B@@@Hp@_
@5@@G@AC@B@@@Hp@U
@@@@@5@@G@AC@B@@@Np@Hb
@5@@G@AC@@@@@Lp@m
@5@@G@AE@@@A@
@5@@G@AE@@@A@h EM
@5@@G@AE@B@A@3 @R
5gAggfGm)
5gAkgfGd9
@@@@@5@@G@BC@@@A@yp@K
@5@@G@CC@A@A@mpHK
@5@@G@CC@B@A@
@5@@G@CC@B@C@
@5@@G@DC@B@C@JQ@S
5GdF[[[M[[[B[[[
5g!dgfGj
5Gdgqgg!
5gedgfG"
5g'egfGe
5?gEkgfG
@5gengfG
5)))@G_FBL
5GgagfGD
@5@@G@GE@@@A@h DZTTG
:5ggegfG
5gGfgfG|Y
5ggfGJR	
5|g[ggfGY
5gGggfG8
5gg_|ggG
5GgmogfG
5ggngfGK
5[ggogfGN
5ggqggbr
5Ggqggk?
5ggWkgfGA:
5)))GHDL
5)))@G@]@HE@SLH[L_L[ZL]JYZALEE
5g[hgfG!8T
5gIggfG4L
5gIjgfG	Y
|5g!kgfG
5GllllllllmllllOllylm
5[gmdgfG
5gMegfG5z
5GmggfwI
5g#ogfG1;
5g#ogfGe[
5gOwggG4
5-gqgg0kt
"5gqgg2t
5gqgg.5To4
5gqgg6?*
5gqgg9N.
)5gqggBG
5gqggcnuD
5gqggCqy
*_5gqgg#E
5gqggE)1
5gqggEj.
5gqggE|M
5GqggfG9
5gqgg'G8i
5gqgg(Ge
5?;gqggjC
5!gqggJs
5gqggKSl
5gqggLi9
5gqggl]XV:
'5gqggo 
5gqggQ@H
5@"gqggs
5gqggt]0D
5gqggTC7(7
5gqggtwZ
5gqggu'(vz
5gqggWWP
5;gqggwZ
5gqggx(|
5gSdgfGp
*5gsfgfG
)5gsigfG
@5gUegfG5
5g'vgfG0
5gWbgfGU
5gWmgfGO
5[gwtgfGW
5GXbgfGL
5|gYkgfG
5gYkgfG-
5)))@GZ]HEEZPZ]
5h1gqggq
5)))_H[AA[LO
5[[[HbGdK[[[
5HdA[[[4[[[
5)))_H[D@GL[
5)))HDLY
5)))HEL[]
5)))HEZL
5)))HGJLMZ]F[HNLY
5)))HGM[F@M
5)))HGMGF]
5)))]HGMH[MKFMP
5-Hgqgg	
]5HgqggISi|
5())HHHLHXHHHK
5)))H[[HP
5hIIII.L
5)))HJ]@_@]PvPPJ
5)))HJ]@_@]Pv@ZKXQ
)))5)))_H[K
5HllllllllmllllOllylm
(5HllllllllmllllOllylmY2
5)))H_L[MF[]
5)))HMMvJDMEL]
5)))]H[NL]
5HNxx]Y]]
5)))Hr@t
5)))_H[v[
5hwigfGR
5;Hxx]Y]]
5hxx]Y]]
5hxyyyyyyyyy
5)))HYFZ]MH]H
5)))HYYMH]HuEFJHEu]LDYu
5)))_H[ZALEE
5)))]HZBB@EE
5)))@]HZBZL[_@JL
5)))_H[ZY[
5)))iAF]BLPY[LZZLM
?5IdJ[[[W[[[H[[[N
 5IdL[[[	[[[
5IEpgppepq
5)))iFZZL[_@JLYHJB
5i(	Ig'bgfG
5)))iLJAFFOODZN
5)))iMLZB]FYAL@NA]
5Ipgppepq]_
5iRgqgg!
5iyyEyyy
5)))iZPZ]LDM@[
5J_8egfG
5)))JADFM
5)))JA[FDL
5)))JAHGMG@
5)))JAH[JF
5JdS[[[d[[[
5JdX[[[A[[[@[[[
5)))JFDYFZLO@ELJFG]LG]
5)))JFGGLJ]KHJB
5)))JFG]LQ]
5)))JFG_L[]t
5)))JFMLJZ
5)))J[FYAPZ@
5)))JFYP
5)))JFYPAL[L
5)))JFYP[@NA]
:5Jgqggi
5Jhggfw(|
5)))J[LH]L
5-jllllllllmllllOllylm
5@@@@@@@@jp@@@@@@@@@@B@@@Hp@W
5JxgqggWA
5)))[]JZALEE
[[[5[[[k
[[[5[[[K
5k0llllllllmllllOllylm
5KAAAAAAAA
5K[AAAA@AAAAAC
5KAAAAAAAAaqAO
5KAAAAAAAAGqAAAAAAAAAAAAAAHqAAAAAAAAAAAUAA
5KAAAAAAAAGqAAAAAAAAAAAAAAHqAAAAAAAAAACAAAIqAJ
5KAAAAAAAAGqAAAAAAAAAACCAAKqAAAAAAAAAAA@AABqAEM
5KAAAAAAAAMqAmG
5KAAAAA@AADqAEe
5KAAAAAA@A.!Kq
5KAAAAAA@A.!MU
5KAAAA]AAAZqNM
5KAAAAAA@@i!GLIb
5KAAAA@@AAZqMEM
5KAAAACaAAIqAAAAAAAAAAAUAAMqA
5KAAAAC@@AIqAD
5KAAAAC@CADqAETz
5KAAAACC@AGqAAAAAAAAAA]Y]]
5KAAAAgqgg
5KAAAA]Y]]
5K@AAACA@ABqAL
5K]AAAYqYE
5kBA@@Hp@K
5K@CAAmqEAAAAA
5K@CAAQqEAAAAA"I
5"kELVkcjijjjnjioo
5"kELVkcjijjjnkcij
5 kgfGR7RHgqgg
5kgucgfGM
5kIllllllllmlll]Y]]
5)))KLAH_@F[
5k@@@@]Y]]
5KYAAAYqiE
5)))K@]ZHMD@G
[[[5[[[l
5||||||||||||||||||||||L6||||||||||U5||||||||||||||||||||||||||||||||||||||||||
5||l6||Y6||D6||76||
5|LAAAA@AAAAAC
5LagfGePumgqgg
@5LdT[[[
5)))]LELN[HDJ[HZA[LYF[]KEFJBL[
5)))LEZL@OO@ELLQ@Z]Z
5(lggfwv
5lgOkgfG
5)))LG][PYF@G]
5)))L_HE
5)))[LHM@]ZLEO
5)))LJAF
[[[5[[[LK
5)))L_LG]vE
5llllllllmlllIMO8) V8
5 llllllllmllllOllylm
5"llllllllmllllOllylm
5#llllllllmllllOllylm
5?llllllllmllllOllylm
#5llllllllmllllOllylm
5llllllllmllllOllylm
5llllllllmllllOllylm* 
5llllllllmllllOllylm:
5llllllllmllllOllylm[
5llllllllmllllOllylm0
5	llllllllmllllOllylm7
5llllllllmllllOllylmAP3
5llllllllmllllOllylmC
5llllllllmllllOllylmfh
5-llllllllmllllOllylmJ
5llllllllmllllOllylmJ
5llllllllmllllOllylmJ_
5llllllllmllllOllylmji(:q
'5llllllllmllllOllylmJVU
5llllllllmllllOllylmlB
5llllllllmllllOllylmM
5llllllllmllllOllylmoR
5llllllllmllllOllylmP
5llllllllmllllOllylmq
5llllllllmllllOllylmt
5llllllllmllllOllylm	V
5llllllllmllllOllylmy
5	llllllllmlll]Y]]
5llllllllmlll]Y]]
5llllllllmlll]Y]]l
5)))[LM@[LJ]
5lmSSSSP
5)))L@NA]
5@@@@Lp@m
5lpPropTagArrayWW
5lpRowSetd
5)))]LQ]
5)))LQ]JFGO@N
5)))LQJLE
5lRdX[[[
5lSSSSSSSS
5*lSSSSSSSSSSSS	
5)))[LYEHJL
5)))[LZYFGZL
[[[5[[[m
5M3_]*;2D-07:D*
5Md_[[[h[[[o[[[
5)))MEEJHEE
5)))MEE[LN@Z]L[ZL[_L[
5)))MFGF][LGHDLLGJ[PY]LMO@ELZ
5)))MFYH]L[Z
5!mggfwk
5)mggfwWL
5mgvKg7dgfGO
5MgWkgfG?
_5mgwogfG
5)))MH]HJFEELJ]@FGZL[_@JL
5)))[MHZAHEYAH
5)))MHZAZ]PEL
5mKgqgg!
5mkgqggV
5)))MLEJ
5)))ML_@JL@FJFG][FE
5mSSSSSSSS
5*MtllllllllmllllOllylmH
5;mzrzzzzzzzzzz]Y]]
5NdM[[[e[[[
;5NdR[[[i[[[
5nEllllllllmllllOllylm
5)))NF]F
5Ng_kgfG
[[[5NKdG[[[
5)))NL]]@DL
5)))N[LY
5Npgppepq
#||||||||||||||||||||||||||5O
||||||||||||||||||||||||||5O
||||||||||||||||||5O
||||||||||||5O
5O5Sxx]Y]]
5)))OEHZA
5)))O@ELHO@ELHH
5)))O@ELY[@_H]LGZ
5)))O@ELZL]H]][@K
5)))@O@ELZPZ]LD
5)))OFBLDHEL
5)))O[FD
5)))O[FDJ[PY]F
5)))O[FDKHZL
5)))O[FDYFJ
5)))OF[H@G
5)))OF@NBHBOCNZHO@FM@H@MMF@FXZ
'5OgEegfG
5Ogqgg0-
5oKfgfG]
5Onpgppepq
5oSSSSSSSSSSSS;m
5o@@@@@w@@A@AAac
5owCgAggObq
5(P21#5fd
5p6#oooo
5@@@@@@@@[paL
5pcgqgg"T'
5PdC[[[e[[[
5PdH[[[;[[[9[[[xz
5Pe_[[["
5Pe@[[[S[[[P[[[
5?PgAgg6@
5pgetgfG
5pgKdgfG5
5 pgppepq
5!pgppepq
5;pgppepq
5?pgppepq
	5pgppepq
#5pgppepq
.5pgppepq
:5pgppepq
5pgppepq
5pgppepq"
5pgppepq)
5pgppepq-
5pgppepq:7
5@pgppepqa
5pgppepqAl
	5pgppepqB
!5pgppepqh9
5pgppepqhZUW
5pgppepqi
5pgppepqj
5pgppepq(@k
5pgppepqk_
5pgppepqK
5pgppepqQ
5pgppepqR
5pgppepqT
@5_;pgppepqu
5pgppepqU
5pgppepqv	
5pgppepqV
5pgppepqV@
5pgppepqW
5pgppept
5pguagfG
5pMsgClassesW
5ppgppepq
5!P?rpgppepq
5PWjvnkW
5PXC]Y]]
5p|xhxO@
5)))]PYL
5pyp4pyb4pyT4pyF4py(4py
5P[[[Z[[[G[[[
5Q0U6aa]Y]]fRX
@5@Q8[IJKL
5QdJ[[[L[[[B[[[
5QdL[[[?[[[
5QdU[[[|[[[
5QdW[[[E[[[
5QdY[[[s[[[v[[[C
5qg9cgfG
5Qg#kgfG
5qId@[[[
5qKdA[[[
5QllllllllmllllOllylm
5Qmgqgg(
5QSSS@S7vDBRS#
5Q(VSSWTAPULK9
5R1gqgg!
5rg5agfG
5rg[bgfG
5rgpropWW
5)))R]H[NL]Q
5)))rJFG_L[]t
5)))RJFGZFEL
5)))rKHZL
5)))rKP]Lrtt
5RllllllllmllllOllylm
5)))r[LOt
5)))rMEE@DYF[]
5)))rMLELNH]Lt
5Rpgppepq
5#rpgppepqIS
5)))r]PYLt
5RSSEXEYQ(XSSWAXs
5RSSQ(QSSW
5RSSUK3Yk0RSSTD
5)))Ru[]O
5)))RuYH[
5;rxsx5;
5r)yxdx*
[5["[[[R[[[Z[[[
5R[[[Z[[[
.5S6'rllllllllmllllOllylm
5saFWO-@
5Sgqgg	|	
5SgqggKLg
5SitgfGYT
5SlllllllllmllllOllylm
5SllllllllmllllOllylm
5sllllllllmlll]Y]]"
!5.SoTJgfG
5[[[?SSdH[[[4[[[![[[
5SSSKRSS
# :5SSSq
[[[5[[[t04dC[[[
5T5I4gwjgfG
5TB@@@Hp@_
5TdO[[[S[[[R[[[
[[[5T"gI[[[
5 Tgqgg!
5tgqgg]*
5T"gR[[[N[[[B[[[
[[[5T"gY[[[
5tHpyxh;]
5tHpyxv;
5tillllllllmllllOllylm
5tjmZgfG[
5tllllllllmllllOllylm
5TllllllllmllllOllylm
5tllllllllmllllOllylme
5tllllllllmllllOllylmqZ
5TpgppepqRrd
5(ttttttttttttttttttttttttttttttts
5tWmZgfGm
5@@@@@u@@A@AAac
5)))uAFELM
5)))UA]]Y
5uD704]0
5UgCeggw
5)))u@GL]J
5)))uHJ]ZPZ
5)))uHYYMH]HuEFJHEu]LDY
5)))uJLQPS
5)))uK[HYYZ
5)))UKHZL
5UkOjgfG
5ullllllllmllllOllylmvN
5ullllllllmlll]Y]]
5ulSSSSSSSSSSSSSSSSH
5Upgppepq
5][UQllllllllmllllOllylm4
'5!u!u:d:u:
5@@@@?@@@?V
"5]@@@@@v@@A@AAac
5V[;dUwg
5vg7dgfG
5VgwaggG
5VllllllllmlllIMO8) V8
5|voeo7ogo
5)))vvFZ_vQ
5)))vZLGMDLZZHNL]FZL[_L[vDFMLv
5W0pgppepq
5'W'5'bv5'o]5'
5w6X[[[Z[[[O[[[
5WAAAA@AAAAAC
5Wc5agfG
[[[[5W[D
5Wd_[[[1[[[0[[[
5WdZ[[[S[[[
'5W!uuu!d!u
'5W!!W!Wu!uuu!u!uu!
5X2qgkgggw
5x2xxyxyxyxxyxE
|5xgqggQ0
**5X)Jhggfw_
5@@@@XpcD
5Xpgppepq
5xxxxxxxx
 5.xx]Y]]
5xx]Y]]'oX
5xx]Y]]Z
5xyc4xyN4xy-4xy
5xym4xyT4xy14xy
5xyw4xyQ4xyC4xy54xy'4xy
5xyyxyyytyt
5xyZ(xyJ(xyA(xyD(xyz5xy
5'((]Y]]
5]Y]]8K]
5YAAAAAA@AAAAAC
|5@@@@@y@@A@AAac
5YCNCCCBBCC*
5]Y]]ebY
5?YfgfGZ
5YgqggKSl
5)))YH[ZL@G]
5]Y]]ic_
5yllllllllmllllOllylm
5)))Y[LLLZ]H[]
5|ym4|yW4|y14|y
5You must restart your computer to apply these changes
5*-YRD0:Y
5Y;@woooo
@5"yxly5
 5.yxry:
.5!yxry:)	O 
5yy?5yy05yy75yy(5yy
5yy!5yy"5yy)5yy*5yy
5yya4yy@4yy#4yy
5yyeypyeypyeypyv
5yyHyyy9yxyayy
5yyHyyy9yxyryr
5yyHyyyxyyy
5yyn4yyO4yy.4yy
5yyq4yyg4yyL4yy44yy
5yys4yyT4yy54yy
5yyt4yyV4yy)4yy
5yyv4yyg4yyK4yy
5yyxyyyUyyyUyyy
5yyy4yyr4yyf4yyR4yyN4yy;4yy!4yy	4yy
5yyy4yyy4yye4yyM4yy54yy54yy
5YyyEyyy
5yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
5y;y*yyy
5yyyyyyEyyy
5yyyyyyyyyyR5yyyyyy
5yyyyyyyyyyyyyyyyyy
5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
:)5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
5yyz4yyf4yy
5)))ZALEE
5ZBg;kgfGjh
?5ZdB[[[w[[[u[[[
5)))ZD]YvZL[_L[
5)))_ZFY
5)))ZFZPL]LZHOLDFMLKPYHZZZALEE
5)))Z][@GN
.5]z@gowgfG
5z;gqggs#
5)))ZHDv[LDF_Lv@Ov
5)))Z]H[]DZA]H_KZJ[@Y]
5)))Z]H[]]FJELHGOF[K@MMLGO@ELZ
5)))ZH_L]FO@EL
5)))Z]H[NNO
5)))ZHOH
5)))ZJ[@Y]@GN
5)))ZLELJ]
5)))ZLELJ]LM[L_L[
5)))ZL][LNO@EL
5zOgqggaxV_
5_.zpgppepq
5Zu1fpgppepq
5zyn4zy;4zy
5)))_ZZHMD@G
   !    6
  6     	
  6     '
))6))))(
))6)))))
[[[:[[[6
[[[;[[[6
[[[6[[[|
|||||||||6|
|||||||||6|	|
||||||||6
|||||||6|	|
|||||6|	|
  6      0  
6:'008UUvUU
6"0"#?4*
60!*#'6!S
;608SdSSSSQSSsS
60DdW[[[L[[[
60e2fxdu
6@0@@E@ACa
60g_kgfGN#
60SOSSSSQSSeS8SSUSSSS
6[[[0yTdK[[[5[[[
60z60z60zp
60zgqgg6
6  1     
(61201q:':_Q__z_
(6122q;33_p__y_
(6122q;33_v__y_
(61*6;q;33_Q__z_
61;:9:1;:-q:':_N__E_
61DdM[[[V[[[K[[[ 
61dE[[[	[[[
61KgqggCMj
61LF"((]Y]]
61llllllllmlll]Y]]
61zO6vvZ
!6#?206S
62# #!2*S
62# #!2*SSSSSSS
[?[6[2[5[
!62'6';!627
	;6276!S
';!627 SSSSSSSS
;!627SSSSSSSS
62llllllllmllllOllylm
:?6#2';SuSSSSQSSeS
62wpgppepq
62XCCNCCCBACCn
63;:9:1;:-q:':_N__E_
63c*zz2"3
63Ddx[[[
63ggfgfG
6@3Kyxpy
63llllllllmllllOllylm
63MdH[[[
[63pgppepq
63pgppepq
  6 4   !355355
6:!45jBkL]X
:64;6;6!yyyy
:64;6;6!yyyyyyyyUD
64: '6!S
_64g-igfG
64@@@J@cp@N5
64llllllllmllllOllylm
64lpUnkInW
6]4pllllllllmllllOllylm
!64SSSSS
;6:;4UUJUUI
:64zxvx...
6!':5:02'6
:!6565StSSSSQSSsS
 6?576?12'
65@@@@B@A@2 @G_L
65@@@@B@A@2 @V
65fpB*dmC0d
)65gAggU
65gggfwY
[65gqggq9a
65r '2!'S
65rggfG:
6?5ShSSSSQSSeS
65 SSSSSSS
:65yALIyyyyyHKLKyyyysQyyKAI
6?5zSSSSSS
6'60'67S
!6 62!0;72'2n!;
"66226266
6 6!:2?:)6
6??*62;b
6??*62;SSSSSSS
6?642'6SSS
666363363
6'6!#!6'6!
66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
6666666666666666jjjjjjjjjjjjjjjj
-666676T)
6666aa]Y]]
6'6!#!6'6!r
6'6!#!6'6!S
6	6	6	6	w
| '*?6 ;66'S
 #667'6 'SSSSSS
6#!67:!Sr
'66AHLxxx
'66AHLyxqy
6@6A@U@ACac
66Dpgppepq
[66g60g7h 
6_6gqggcnuD?
:?6'*#6i
66LdO[[[
66llllllllmllllOllylm
;6??'6!S
6?#6!ScSSSSQSSuS
6?#6!SeSSSSQSSsS
6?#6!SkSSSSQSSsS
;6?#6!Sr
6?#6!SSS
6?#6!SSSSS
;66'SSSSSSS
6?#6!SSSSSSS
6?#6!SySSSSQSSuS
[66]Y]][
6-6]Y]]P
*6!6!yxp
#"(6" 7.'
6!*7 1  "'.
!6760?2!67
67666[6[ SUUUUUUUUUU:
?:676!SSS
6*7*8*9*:*
6.7.8.9.
6*(((7((9
67;:9:1;:-q:':_N__E_
67AAAAAA@AAAAACHc
67gkogfGj
67gYkgfG
6|||7||h7||Z7||F7||37||
67IIC55C?C@@Y
67llllllllmllllOllylm
 '!6 :7S
'!6 :7SSS
67SSSSSS||
'!6 :7SSSSSS
67:!SzSSSSQSSsS
67VfgfGx
67yxTy?(
*(((6((8	
6#||||||||#8	
68!1 5 4
681984000
6-88868'
68DdQ[[[
68;gQNgfG
68LT[WS*
6[[[8zwdW[[[
6(;:9:1;:-q:':_N__E_
6@9@@E@AAac
69gGtggG
69pgppepqO
:6!9UUGUU
:6!9UUZUU
'69.zxty
[[[6[[[A
6"@@@@@@A
6#a2!4@@BA@
6A6g!dgfG
[6AAAAAAAA
6AAAAAA@AAAAAC:
6AAAAAAAAOq]M
6AAAACA@AOqAJ
6AA@@PpDD
6A@B@[pLL
6A@B@[pNL
.6'(ACAAAeqAV_
6adO[[[?[[[
6_ADRPARMIdlW@
6Adx[[[0[[[
6)))AFZ]GHDL
6AgggfwA
6agqggZY
6@@A@h HY
6(@@A@h LI
6(@@A@h Nn
6@@A@h PN]
6(@@A@h TZTTG
[[[6ALd[[[[
6AllllllllmllllOllylm5nx
6@@@@@[A@O@AEac
6@@@@@@A@)pLY
6"@@@@@@@@AQ@UY
6ArggfGk
'*#6aSSSSS
6)))A]]Y
6A(((]Y]]5j_
6)))A]]YZ
6)))A]]YZvZL[_L[vY[FJLZ
6@@@@@@BA@
6@@@@B@A@2 @C
6B@A@2 @H
6@@@@B@A@2 @N
6@@@@B@A@2 @Y*
6@@@@BAB@
6-@@@@BACAHp@L
6@@@@B@A@Hp@V
6|BaseInterfaceWWW
6!bcbfacS
6@@@@BDA@a0@@D@@@@@@@
6bgfGZ 	
6)))][@B@]H
6)))BL[GLE
6bllllllllmllllOllylm
6|@@@@B@@@Np@G
#6@@@@B@@@Np@K
!6bpgppepqQ
'*#6bSSSSS
"6c@@@@@
6c7egfGN
[6CAAAYqAt
6caa]Y]]
"6c@@@@B@AA
6)))CBEEBCAPN]P]ZMCO@CN@OANABEBEK
"6c@@@@B@@@Lp@m
'*#6ccaSSSSSS
'*#6ccbSSSSSS
'*#6ccdSSSSSS
'*#6cceSSSSSS
'*#6ccfSSSSSS
'*#6ccgSSSSSS
'*#6cckSSSSSS
6;CdC[[[
6C(dQ[[[
[[[6C"eK[[[
6ce[pgppeptC
6ceSt[ee
6)))CF@G
6CgddgfG
:	6CgfG!
6cgooggG9
6Cg;zgfG
[[[6cHdJ[[[
6)))CHJBZ]A
6@@@@Cp@]
6@@@@@@@@Cp@Z
6)))CZNLJBFNLJBF
6d@[[[#[[[
6d0dJ[[[Z[[[
6d|(9em8
6dA[[[ [[[
_6dB[[["[[['[[[5
6dB[[[o[[[m[[[
6dC[[[c[[[f[[[[[[dK[[[b[[[a[[[
6dC]pe e
6dC[[[v[[[
6ddK[[[	[[[
6DdL[[[c[[[b[[[
6DdQ[[[o[[[b[[[
6dE[[[6[[[
6DeleteAttach
6DFggfGa
|6dggdgfGz
6dgqggcnuD
6dgqggGq
6D!gqgghpQIL
6dG[[[x[[[
6dH[[[e[[[
6)))@DHNL
6dH[[[o[[[l[[[
6)))DHPYF@G
6dI[[[D[[[
6dJ[[[l[[[f[[[z
6dK[[[a[[[
6dK[[[C[[[
6dK[[[h[[[o[[[
6)))DL]AFM
6)))DL]AFMGHDL
6dM[[[#[[[
6dM[[[6[[[
6dN[[[n[[[
6DOgqggV
6dO[[[M[[[
6]dO[[[O[[[
6dO[[[U[[[
6dO[[[z[[[
6dP[[['[[[
6dSQpgppepq
6.d]srfS
6dtgqggj"@
6dU[[[B[[[@[[[
6dU[[[E[[[
6dV[[[8[[[
6dV[[[B[[[
#6D@@@@@y@@A@AAac
6)))@DYF[]
6)))@DYF[]O@ZA
6DyyyBWinF]
6dZ[[[#[[[
6)))DZA]H
6)))D@ZJ
6)))DZNKFQJA[
@@@@@6@@E@ACac
@6@@E@ACac
@@@@@6@@E@AEac
6E@@@@B@A@@
@@@@@6@@E@CAac
6#eCCNCCCBACC
6eC[[[x[[[r[[[
6e[[[[F[[[
6)))EFJBLMv
6)))EFJHE
6)))EFJHEAFZ]
6)))EFJH]@FG
]6_'egfG
6egfG]8"
6)))EHKLEOF[
6eI[[[S[[[
6E?kgfGu
6Ek)mggfw
6E@llllllllmllllOllylm
6#EllllllllmllllOllylmm
6ellllllllmlll]Y]]
6)))ELN[HGM
6eMgqggU@
6eNllllllllmllllOllylm
6epgppepq
6eP[[[O[[[
6eU[[[D[[[
[6e.)UdM@
6eU[[[Q[[[
6||e]v|]
6E@WAG@YBY
6ExcludeReference
6eZdO[[[
6eZ[[[l[[[
6f5gqggi
6f5z*dPvEd
6||F7||||||||||	7||
@@@@@6@@F@ACac
@6@@F@ACac
6@@@@@:@@F@AFac
6#FcWdgfG
6fd_[[[b[[[
6fdS[[[9[[[
6fdU[[[h[[[
)@@@@@6@@F@FCac
@@@@@6@@F@FCac
6)))FFYZ
6fFz*dbt
6Fg'fgfGQ
6fgfw:st
6)))FGHJ]@FG
6fllllllllmllllOllylmIq
6)))FOOJL
6)))FOOL[Z
 6fpgppepq
#6f-s*d-
	(6;fxny25
6)))FYLGY[FJLZZ
6fzggpgfG
6F[[[Z[[[K[[[
6g3dgfG'
6:g7bgfGE
6g7egfG1
6g7fgfGE
6g@@@@A@A@lpJD2
6|gAbgfG"
6gAbgfGrp
-6"*g?agfG
!6'gAgg'd
6gAggKBF
	6gAggmsq
6gAjgfGa07
6g!cgfG8]
6g!cgfGsw
.6g'dgfG
6gEcgfG!
"6geugfG32MKgqggI
6)))@G_FBL
6gfG8de_gqggQ
!6ggbgfG
6ggcgfG]
6*gGfgfG
6ggfw6Xq
6ggfwP1sv
6ggfwvSb
6'g[ggfGz
6gGjgfGe
6gGngfG0
6Ggqgg|b
6ggwggGU
6gH[[[|[[[r[[[
6giggfwj
6gKcgfGRy
6gKdgfGtVi
6gKfgfG4sD
6gkgggw1@
"6gKxgfG
	.6gLggks
6gllllllllmllllOllylm
6g]mgfGq)
6GmggfwKA
6?gMkgfG
6g_ngfGp
|)6goegfG
6g)ogfGJ9R
6gOkgfG(
6gOkgfG2"
6googgGM
	6gOtgfG
6gqgg1(8@
6gqgg4|v
6gqgg6qo
6'gqggBe
6gqgg]bH
-6gqggBl
:6 gqggC
6gqggCBk
6gqggDCo
)6"gqgge
6gqggElS
6gqggG?_)
6gqgg'G8i
6;gqggGO
6gqggHKf
6#gqggjhQ
6gqggKSl
6gqggNV)
6gqggOS.
6gqggqsi
6gqgg@QXx
6gqggV02
6gqggvCoQ1d
6gqggVJ6c
6gqggW]L
6gqggxGMqF8
6gqggxgr
6gqggyNfI
6gqggz-J c
6gR[[[S[[[Q[[[P
6gSdgfGd]
6gsggfGp1
6guegfG?..
6gWaggwnH8
-6gWdgfGH
6gwdgfGS
6 gwegfGS
'6g]WgfG
6g?wggGa
'6g]WggGx
]6gYggfG!
6g]Y]]KKY
6gyVgfG7
6Gyyyyy9x9yyy
6Gyyyyyyx9yyy](V
6gzdgfGP3
6[[[gZveA[[[
6)))_H[A]DEKHF
6)))HBHDH@AM
6)))HCDF]F[ZZAFY
[[[6HcgL[[[
6)))_HDMH
6)))][HDYFMFYHY@
6)))HEEO[LLKL]Z
6)))HEH[D
6)))HE@HZEZ
6H'E@jyN9j
6)))HEL[]
6hg7fgfG]J
6)))_H[@GM
6)))HGM[F@M
6HgqggGZ
6h-gUagfG
6)))H]]HJADLG]
6)))_H[]H[NL]vO@ELvGHDL
6)))H[[HP
6)))HJ]@FG
6)))HJ]@FGZJ[@Y]JFDY@EL[
6)))HJOO@F[LG]@GH
6)))HJ]@_@]Pv@@@
6)))HJ]@_@]PvJFD
6)))_H[_L[
?6hllllllllmllllOllylm
6)))HLYYLMHL]HL
6)))HLZY[F_@ML[
6)))_H[MAHBHG
6)))_H[MFJ
6)))HM_HGJLM
6)))HMM[vvGL]vZL[_
6)))HMO@GM
6)))HN@JHN@JHN@A]YS@HF@JLNSQCPK
6HWllllllllmlll]Y]]
6:Hxx]Y]]
?;6Hxx]Y]]
[[[6[[[I
6I'0|llllllllmllllOllylmM.
6 _IAAAA@AAAAAC
6I@@@@B@A@2 @NN
6IdT[[[z[[[y[[[
6IeYZzYP?
6igqggJ 
6)))i][HP@JFGOEHZA@GN
6)))iHYYMH]HJFDDFGM@[
6iIdA[[[
6IMAPIStatusTypeW
6)))iMLZB]FYJFDDFGM@[
6IOCpgppepq
6iwyyqoyyiIPP
6j0gqggPN
6)))JADFM
6JdgfGVGY
6)))JFDY[LZZ
6)))J[FG]HK
6)))JFYP
6)))JHD@GAF
6)))JHDH
6)))JHEE
6|Jhggfw
6Jhggfw*_
6)))JH]JA
6)))JH]JAv
6)))J[LH]LFKCLJ]
.6jllllllllmllllOllylm
6'jllllllllmllllOllylmcn
6jllllllllmllllOllylmu
6)))JM[LJF[MML_
:):6(_[[[J[[[[O[[P
6J(pgppepqnL
6)))[]JZALEE
[[[6[[[k
[[[6[[[K
6KdS[[[a[[[
6Kgqggjl
6)))KHH[ZYF
6)))KHZL
6kllllllllmllllOllylm
6Kmggfw-
6KnKommmo
6Kpgppepq
6)))[LDF_L
6l[dK[[[
6LdM[[[3[[[2[[[
6LdX[[[d[[[
6[[[?l|dZ[[[
6)))[LEH]@FGZA@YZ
6L'eK[[[
6)))LEZL@O
6)))LEZLRQDEA]]Y
6)))L[[F[vJFMLZ
6)))L_HE
6)))[LHE@MLG]@O@JH
6lllllllllmllllOllylm
|6?llllllllmllllOllylm
6	llllllllmllllOllylm
6 llllllllmllllOllylm?
6"llllllllmllllOllylm
6#llllllllmllllOllylm
6'llllllllmllllOllylm
6*llllllllmllllOllylm
6.llllllllmllllOllylm
6[llllllllmllllOllylm
[6llllllllmllllOllylm*
6llllllllmllllOllylm
6llllllllmllllOllylm.
6llllllllmllllOllylm:*
6llllllllmllllOllylm0
6llllllllmllllOllylm07oF
6llllllllmllllOllylm3
6llllllllmllllOllylm5qm
]6llllllllmllllOllylm9
6llllllllmllllOllylma
6llllllllmllllOllylmA
6llllllllmllllOllylmc
6llllllllmllllOllylm)Ci:
6llllllllmllllOllylmd3
6llllllllmllllOllylmE
6.llllllllmllllOllylmG#I
	6llllllllmllllOllylmI
6llllllllmllllOllylmI
	6llllllllmllllOllylmJy
6llllllllmllllOllylmM
6llllllllmllllOllylmp
6llllllllmllllOllylm"P
6llllllllmllllOllylmp)xK
6!llllllllmllllOllylmr
6llllllllmllllOllylmy[
)6llllllllmllllOllylmz@
6llllllllmlll]Y]]
??6LMMMa6r
??6LMMMd6r
6)))[LNZH_LABLPvEFJHEvDHJA@GLuZHD
6)))[LN@Z]L[
6)))[LOELJ]@_LMEE@GCLJ]@FG]FFEB@]
6lpgppepq*
6@@@@@@@@Lp@m
6lpulObjTypeW
6)))LQLJ
6)))LQYEF@]
'6lSSSSD
6lSSSSSSSSSSSSSSSSSSSSSSSS
6Lxx]Y]]
6)))[LYEHJL
6)))[LYEP
6)))[LZYFGZL
6m 1pgppepqZ@
6||m7||Q7||77||
[6@@@@@m@@A@ACac
6M@@@@B@A@2 @J
6)))@M_EHK
6)))MFYH]L[Z
6Mg'egfGe
6)))MH]L
6mllllllllmllllOllylm
6MllllllllmllllOllylmm
6MMMmggfw
6MqqqMMqK 
6@@@@@n@@A@AAac
6NBdZ[[[
[[[@6NdB[[[
6NdJ[[[R[[[M[[[
6NgqggbY
6)))NH]L
6)))NJ@	
6Nkgqgg4
6)))NL]@DHNL
6)))NL]EHKLE
6)))NL]FKCLJ]
6nllllllllmllllOllylm
6nllllllllmlll]Y]]
6)))NQE@_L
6nSSSSSSSSSSSS
6nX[[[Z[[[O[[[
||||||||||||||||||||||||||||||||||||||||6O
||||||||||||||||||||6O
6[[o5[[S4[[
6O@BA@; R@@@@@
6OdH[[[2[[[
6OdpgppepqC
6)))@OEJHZL
6)))@OELO]
6OeU[[[2[[[1[[[
6)))O[FD
6)))OF[DHJ]@FG
6)))O[FDJ[PY]F
6)))O[FDJ[PY]FN[HYAP
6)))OFEML[LQ@Z]Z
6o;gqggf!
6)))O[@MH
6)))OO_AMCOA_M_MEBOBCZOCBMOCCOCOK
6O?[OQG	
6OP_COPYW
6OpgppepqN
6OW9cggw
:):6(O[[[[[[Z_[[[[[[ZX[[[Z[[[[y[[N
6||p7||g7||[7||H7||57||*7||
6||p7||U7||27||
6(pgppepq
6-pgppepq
6:pgppepq-
6;pgppepq
6_pgppepq
 6pgppepq
(6pgppepq
6['pgppepq
6pgppepq
6pgppepq.
6pgppepq@
6pgppepq_
6pgppepq4
6pgppepqB
6pgppepqb2
6pgppepqbPa
6pgppepq?D
6pgppepqD
6pgppepqgYe
6pgppepqi
6pgppepqia
6pgppepqm
6pgppepqP
6pgppepqR
6pgppepqwKZ7
6pgppepqz
6pgppept
6P'kgfGUl
!.!6@@@@@(p@L
6-pMpgppepq#
'6popgppepqa
6ppentryWd
6Ppgppepqls
6pRetInfod
6PSNR#6PSMR
6PSqRC5PSpRc5PSwR35PSvR#5PSuR
6q@@@@@@
6'q314_c__E_
6'q314_N__O_
;-6):q314_N__O_
6QBZsS[SSsSSS
6QdC[[[I[[[
6QdO[[[f[[[
6q*dV[[[;[[[
6QggGv7_
6)))QH]][
6Qijl#pgppepq
6qKdV[[[
6QSSBGDh
6QSSS@Smw3CRS
6QSSS@S(w
6r@@@@@@
6@r@@A@AAac
6RDdO[[[O[[[A[[[
6rgH[[[c[[[
6R|!g?kgfG
6RgqggX 
6)))rHDFGL]
6)))rJFG_L[]t
6)))r[LOt
*6'Rpgppepq
6rpgppepq
6R-PgYGgfG
6Rrbhggfws
6RSSBTsS
6RSSQB]MsSSS
6)))RuK@G
6)))Ru[]O
]6Rx0ULO9
6)))rZPZ]LD
6s@@@@@@
;:'6?: 'S
6@@@@@s@@A@AAac
6)))SAYNJFEELNL
6SdSSSSQSSsS
6[[[(s eK[[[
6SgGbgfGH
6sGGyyyyy
6sgqggK)hN
6SllllllllmllllOllylm
6sllllllllmllllOllylmQ
6sllllllllmllllOllylmRBF
:?'6!SSFW
:?6SSSS#62
 6!SSSSS
!6'SSSSS
##?6'SSSSS
 6!SSSSSS
:)6SSSSSS
:?6SSSSSS
6!SSSSSSS
:)6SSSSSSS
;6??SSSSSSS
6??SSSSSSS
6*SSSSSSSS
!:'6SSSSSSSS
*#6SSSSSSSS
:?6SSSSSSSSRRRRRRRRRRSRRSRRRRRRRRRRRRRRSSSRRRRRRRRSSSSSSSSSSSRSSSSSSSRSSSSSSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
6SubmitMessageWWW
6t@@@@@@@@
[[[6*TdM[[[
6TgGbgfG
6-Tg]kgfGM
6Tgqgg'G8i
6tgqggO[[
6tgufgfG
6)))TJH]JA
6TJllllllllmllllOllylm
6@TkeVSSUD9
[[[6tqe_[[[
[[[6tqeO[[[
6tqQ|tQy
[[[6[[[(u
6uaa]Y]]D4X
6)))UA]]Y
6)))uAYAFEML[uAFEML[Z]H[]L[
6)))uAYBLLYL[uBLLYL[Z]H[]L[
6)))uAY[LZL[_L[uYHNLZ]H[]L[
6)))uAYZHE]L[uZHE]L[Z]H[]L[
6Ugqggn0
6ugyugfG4-
6)))uGZ@ZME
6)))uHYYMH]HuEFJHEu]LDYuKEFJB
6[[[U.meO[[[
[[[6UQdz[[[b[[[
6urxx]Y]]
 ;6UUFUU
6UUyUUsJ*
.6@@@@@v@@A@AAac
6)))vF]AL[
6vllllllllmllllOllylm
6VllllllllmllllOllylm
6.VllllllllmllllOllylmG
6vpgppepq
6)))vvY[F]LJ]v[LD
6vvZvZz"O
6VygqggmJ
[-[6[[[w[[[
6 WAAAAA@AAAAAC
6wElementNameW
[[[6W"eN[[[(
6wgqggBG
6W(llllllllmllllOllylm
6wpgppepqf
6WSSS@Skm._RS
6wwwqswqswsq6
6wXX@3F[[[Z[[[K[[[
6;X)4@I7*
6@@@@@x@@A@AAac
6XCCNCCCBACCF
6x#cgcgfG
6xCxxyxyxyxxyxVzx
6XC]Y]]T
[[[?6XdG[[[	[[[
6Xd[[[[y[[[
6XllllllllmllllOllylmP1
6X)mggfw(v
6xpgppepq
6#@@@@@XpJB
*6";"X"U"
6xxpx]Y]]
!6xxqx]Y]]
6xxrx]Y]]
:6?xx]Y]]
6xyf)xy")xy
6xyj)xyU)xyL
6xyu)xyS)xy1)xy
:6?xyxVyI
6xyyTSxyyv
[[[6[[[y
  6     ]Y]]
6@@@@]Y]]
6y]7ggfGv
6||y7||X7||?7||
6@y@@A@AAacoo
6yAdU[[[
6|yb)|y )|y
!6YdV[[[
6)))@YEFNNL[
6)))Y[FN[HDMH]Hu]FFEZuNFFNEL
6)))Y[FYL[]P
6)))Y[@GJ
6)))Y@GN
)6ygqgg!
6ygqggj4J
6)))Y[H]LZ@Z
6yHrAddColumnsExIdlWWW
6)))YHZ]LK@G
6)))YJO@QJELHGL[
6())YL[G@EFGNF
6)))YL[JUR
6Y	llllllllmllllOllylm
6)))Y[LYH[LHMM[LZZ
6)))Y[LYH[LOLLMKHJB
6)))YN[LY
6)))YPYPBH]S
6)))Y@QFGL]
.(6yxJx5
.6;yxjy.6;X
6)))YXK]
*6!!!yxp
.6;yxpy-
*-!6!yxUy
6yxwy;;	
6yy4yyyyyyyyyyyy
6yy?6yy06yy76yy(6yy
6yy#6yyyyyyyyyyyyyyyyyyyyyyyyyy
6yy9yyyyyyyyyyyyiyy
6yy9yyyyyyyyyyyyiyymxyyyyyyyyyyyyyyyyyyyyyyyyyyW
6yyc)yyL)yy))yy
6yye)yyyyyyEyyy
6yyg)yyK)yy3)yy
6yyO)yyk3yy33yy
6yyp)yy[)yyB)yy-)yy
6yyp)yy_)yy*)yy
6yyq)yy')yy
6yyxyyyqyq
6yyxyyyxyyyxyyy
6yyyyyy9yyy	yyy9yyyayy
6yyyyyyIyyy
6yyyyyyyyyy
6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.6.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
!6!z	.054
6zd|awE@J
6zdE[[[_[[[b[[[
6zdE[[[V[[[G[[[p
6zdI[[[_[[[U[[[
6zdI[[[X[[[T[[[
6zdK[[[C[[[
6zdL[[[T[[[M[[[
6zd@[[[_[[[R[[[
6zdS[[[_[[[R[[[
6zdU[[[)[[[
6zdx[[[?[[[
6ZdX[[[d[[[
6zdx[[[n[[[c[[[c
6ZdY[[[9[[[3[[[
6zdZ[[[q[[[
6zdZ[[[R[[[V[[[
6)))@ZEHD@JZ]H]L
6)))ZELLY
6())Z][@GN
6)))Z][@GN
6)))Z]H]MPGHD@J
6)))[ZHOF[DH]]L[
6(_[[[Z[[[[H[[Q
6_[[[Z[[[K[[[
6_[[[Z[[[K[[[8
6)))ZLELJ]
6)))ZL]FKCZALEE
6)))ZL]@G]L[_HE
6)))ZLGM
6)))ZL[_L[
6)))ZL_LG]AZL[_@JL
6zllllllllmllllOllylm
6)))Z][[L_L[ZL
6)))ZL]vJ[LMLG]@HEZ
6ZNgWwggG
6)))@ZOHJJH
6zpgppepq
6zrzzzzzzzzzz
6_[[[[[[[zrzzzzzzzzzzzrzzxzzz	0zz
6zyX)zy	)zy
  7     
 @!    7
))7)))))
[:[)[7["[
[[[;[[[7[[[
[[[|[[[7
[[[7[[[- 
[[[7[[[?
|||||||7|
7@???@?@?
7||||||||||
*.*7	0*;
*.*7	0*?
*.*7	0:'
*.*7	0:;
*.*7	0:?
*.*7	0*'	0*?
7!-0)23n
*.*7	0*3
*.*7	0:3
*.*7	0*3	0
*.*7	0:3L0
*.*7	0:3O3
7?06!UULUU
7?06!UUMUU
7?06!UUNUU
*.*7	0*7
*.*7	0:7
7|0g[dgfG
*.*7	0*;J0
*.*7	0:'J0:?
70llllllllmllllOllylm	F
*.*7	0*?M3*
*.*7	0:'N0
*.*7	0:?N1-?
*.*7	0:'N3-?
70Nxx]Y]]
7-0pgppepq
7|||0||x0||t0||
*.*7	1*'
*.*7	1*;
*.*7	1*?
*.*7	1:'
*.*7	1:;
*.*7	1:?
*.*7	1*3
*.*7	1:3
*.*7	1:3K0
*.*7	1:3L3
*.*7	1*3O0*3
*.*7	1*7
*.*7	1:7
*.*7	1*7	3
*.*7	1*7J3
*.*7	1*7O0
71-H.J*;2
*.*7	1*;J0-?
*.*7	1*?J3
71jggfwo?
*.*7	1*'M0:?
*.*7	1:?N3
71pgppepq
72'22!62aSr
72'22!62Sr
##72'2SSSSSSSS
[7[:[2[5[
 7 25)(25.38
7").25AAACAZqWM
727666666
72@@@@B@CE2 @b
72llllllllmllllOllylm
7?2llllllllmllllOllylm
72mDgfGB
*.*7	3*'
*.*7	3*;
*.*7	3*?
*.*7	3:?
||||73.|||||
[7[.[?[:[([3[2[
*.*7	3*3
"733"zs'
_]73.6?-6D(
_]73.6?-6D*
_]73.6?-6D:
_]73.6?-6D0
_]73.6?-6D0-7--
_]73.6?-6D5
*.*7	3*7
*.*7	3:7
).*7	3*7K0
*.*7	3:7N0-?
*.*7	3*7O3-?
||||73.|||||dV
*.*7	3:'J3:'
*.*7	3*;L0
*.*7	3*;L0-?
[73M1BWBA1
73UUHUU_TUuDtv
73UUrUU]TUuDtv
73yxpy]:
73zG"bgfGp;*
?"7#" 4;# '
[7[4[.[?[
[7[4[8[0[
[7[4[9[:[7[
74dG[[[t[[[o[[[H
74dJ[[[u[[[
74dP[[[h[[[n[[[
74dP[[[J[[[
74dR[[[k[[[j[[[
74dU[[[B[[[
74g'bgfG_
[[[74HdO[[[	[[[
74!UUzUU
#  7     5
75':55SSSSSS
#75;62#S
75AAAAUHUU
75Ddy[[[
;#7_?5pgppepq0
760!*#'S
760!WSSS
76:3;618
76:3;q314_
76:3;q314_F__]_
76:3;q314_F__O_
76:3;q314_F__T_
76:3;q314_I__O_
76?5! !0S
76'60'67SSSSSSS
766!:66"3
7''(6699
766#SSfSSSSQSSsS
76llllllllmllllOllylm
76Zpgppepqq
772542(jKkU]X
776666866
7 7!7"7#7
-77777777
77777777777
77AAAAAA@AAAAACI
[[[7#7dM[[[
7!7F1-JF
77fjb*db
77gEegfG
77g	kgfGT
77g)ngfG
77"gO[[[
77"gQ[[[
77"gX[[[][[[Q[[[
77H77yxv
77HffeffffaaaW)
@'7'7.Nggwz
77V777*7
;*@77xx]Y]]
?77yu2?#
*!7!7yxv
7#||||||||#8	
[7[:[8[0[
(785.)8?
788898:8H
[[[78]dF[[[
7?8gqggW
78jgfGhI
78jgfGshhigqgg
7;8O8;8O8;8O8;8O8;8O8
78PfgfG1
7(8((]Y]]
)(((7((9
*(((7((9
||79.290ONR
|79.290ONR
79.290ONR
||||||||79.290ONR800||||?F 
|79.290ONR9
(7!'#9;:#*9'86':.#?1 !.
79@@@@B@C@2 @]
]79)vjgfGD
?7@@@@@@A@@
[[[7[[[A
7@@@@@@A@@
7A8O8O8O8O8O8O8O8
7	(AAAAAA@AAAAAC
7AAAAAA@AAAAAC
7AAAAAA@AAAAACw"
7AAAAAA@AAAAACW
7AAAAAA@AAAAACy9
7AAAA@A@AAAAACW
7:AAAA@AAAAAC
7AAAA@AAAAACJ
7AAAAC@DAMqAqC
7A'@@@@ABB@
7A'ABB@XpO@@@@@
7)AA@Ci!E[UUF
7@@ACh KL
7)))A]DELGJ[PY]@FGO[LHBSK[F]AL[Z
7AdH[[[8[[[
7AdL[[[f[[[
7]AdM[[[9[[[2[[[
7a]dZ[[[R[[[
7)))AFZ]
7a gAggtaJadv
7AggfGiU
7Agiggfw
7ag!kgfGc
7a)gqgg0O
7@@A@h FN
7@@A@h GL
7@@A@h QP
7@@A@h RR
)7!@@A@h SSF
7@@A@h ST
[[[7ALdI[[[F[[[g[[[
7)))]ALGLJAF
7)))ALHML[
7)))]A@[]LLG]AZL[_@JLALEYL[
7)))A@MMLG
7a*#_N42
7AoddgfG
7Apgppepq
7@@@@@@@@ap@J
7)))A@SE@ZL[_@Z
7ASU6ASy6AS86AS 6AS
7@@@@@A@@vpJg
7a)W5Z-[
7)))Aw]w]wYw
7)))A]]Y
7)))A]]YZ
7Az4q.()
7)))A@Z]F[P
7B||||||
7B||||||||
@7B7@0xXp
7B8A8C8A8B8O8O8
7@@@@B@A@2 @G
7@@@@B@A@2 @H
7@@@@B@A@2 @J
7@@@@B@A@2 @LL
7;@@@@B@A@C
7@@@@B@A@Np@K
7@@@@BB@@
7@@@@BBA@Np@@@@@@@@@@@@A@Op@@@@@@@@@@@@A@Cp@M
 7@@@@BBCB
7-@@@@@BCCXpK@@@@@)
7|Bd@[[[
7BDBN13s
7@@@@@B@@dp@@@@@@@@@@@B@@dp@@@@@@@@@@@@@@lpPH
7bhggfwG
7@@@@B@@@Hp@
7@@@@BLB@Hp@c
7BllllllllmllllOllylm
7@@@@@@B@Lp@U
7@@B@[paL
7Bpgppepq
7bpqg#SS
7BUBB13YxEBALL
7[[[BXrdQ[[[
7B[[[Z[[[K[[[
7cavgfGP
7cavgfGY
7C(dK[[[
7C(dK[[[!
7C(dO[[[
7;CdT[[[
7C(dV[[[f
7C(dW[[[
7C(dZ[[[
7Cdz[[[R[[[P[[[
7ceA[[[D[[[y[[[
7ceB[[[x[[[
7ceF[[[J[[[N[[[l
7ceI[[[k[[[
7ceK[[[R[[[V[[[UCEdW[[[Q[[[W[[[
7ceL[[[O[[[
7ceM[[[g[[[e[[[5
7ceM[[[o[[[
7cEpgppepq;
7ceU[[[f[[[
7ceV[[[M[[[
7!CgfGDU
7 cggwIj 
7cggwO.G
7cgN[[[s[[[r[[[
7c	gqgg_8
7C|kgfG2
7cmiFullResolutionWWWDH
7cmiUnsolicitedInputPrivilege
7@@@@@@@@cp@Q'X
7)))CSQK@ACEP
7)))CX[DH
7d_[[[	[[[
7d_[[['[[[
[[[7d0d_[[[;[[[9[[[
!7d2#xdvT
7D8N8O8O8O8
7@dA[[[e[[[
7dA[[[e[[[
7!dB[[[a[[[
7DbNameWW
7dB[[[v[[[t[[[3
7dC[[[)[[[
7dC[[[n[[[
7DdA[[[G[[[F[[[
7DdE[[[-[[[
7.DdI[[[
7DdI[[[2[[[
7)))@DDLM@H]LEP]FY[L_LG]MH]HEFZZ
7.DdO[[[
7)DdS[[[
7dE[[[1[[[0[[[
.7DefinitionWW
7@dF[[[P[[[
7dg;dgfG
7[dggfwSw
7dgqggoK
7dH[[[d[[[
7dH[[[f[[[
7dH[[[q[[[
7)))DHSL
7)))@DHYvJE@LG]vY[LYH[
7)))@DHYvZL[_L[vY[FJLZ
	7[dI[[[f[[[e[[[
7dI[[[m[[[l[[[
7dI[[[p[[[
7@dI[[[r[[[n[[[
7dJ[[[	[[[
7dJ[[[7[[[5[[[
7)))D@J[FZFO]
7dJ[[[r[[[q[[[
7dK[[[Z[[[
7)))DL]AFM
7)))DL]AFMGHDL
7dL[[[D[[[y[[[
7dllllllllmllllOllylm
7dL[[[N[[[
[[[7[[[DM
7dM[[[m[[[
"7dN[[[![[[ [[[
7:(dN[[[
7dN[[[a[[[
7d_[[[O[[[N[[[
7@dP[[[h[[[
7dP[[[q[[[a[[[
7dQ[[[v[[[
7)))DREP]EJZGMHUt]XG
7dS[[[3[[[4[[[b!
7]dT[[[G[[[
7d	UgAgg
! 7dUUMUU
7dU[[[y[[[
7dV[[[([[[
7@dV[[[E[[[q[[[
7@d][[[w[[[
7DwfgfGH.#
7dW[[[t[[[h[[[?
7dX[[[e[[[
7@dx[[[n[[[
7@dX[[[][[[V[[[
@7dygIfgfG
7DygWpgfG
7_dy[[[M[[[
7dY[[[y[[[
7dz[[[A[[[
7dZ[[[f[[[
7d_[[[Z[[[G[[[
7@dZ[[[K[[[J[[[
7)))DZ]ZJLQYE
[[[7e0dK[[[
7e4duiPIK
@@@@@7@@E@ACac
@7@@E@ACac
@@@@@7@@E@AEac
@7@@E@AEac
@7EdY[[[B[[[x[[[
7)))EFJHE
7)))EFJH]@FG
7)))EFN@G
7eg3ugfGD
7)))E@GB
7egfG#;)
7egfG#3a
7eH[[[Z[[[
7EjgqggZ
7)))ELFG_@
7E;llllllllmllllOllylm
[[[7ENdI[[[
7eO[[[x[[[s[[[
7ER?IR7M
:7-EVCaG
7EwbggfwSo
7eY[[[a[[[
7[[[F1RdY[[[
@@@@@7@@F@ACac
@7@@F@ACac
7fA[[[e[[[d[[[
@@@@@7@@F@AFac
@7@@F@AFac
7f@@@@B@A@2 @M
7fd][[[0[[[-[[[
7)))FDH@G
7fdP[[[3[[[
7fdS[[[;[[[
7fdS[[[l[[[5[[[
7Fdx[[[#
"7fgfG"57
7fgfG9SM
7Fgqggc*
7F_gqggrV
7FileRepositoriesd2
7)))FKCY[FJLZZ
7)))F[KuZYEC
7fllllllllmllllOllylm
7f-m*dk.rd
7)))FMKJJFGO
7fO[[[2[[[6[[[
7fOnSelectionChangeWWW
7fQ[[[z[[[
7)))FYLG
7)))]FYr
7)))[FYvNHMNL]Z
7G0jggwt#
7g1DgfGtn
7#g3dgfG
7g3fgfG!
[7g5egfG
:7g7fgfG
7g7fgfGY
7g!7gfGr
7g9agfGWg
7g9cgfG]Y
@"7gAggM
7?gAggxj9
7gCagfGp
*7g#cgfGl
[[[.7GdA[[[
_7gdegfG?z
7g_dgfG-
7gEagfG(
7gEbggw-rR
:7g	egfG
7g;egfGOhh0gqgg
7g'egfGR
7g)egfGs
7gEgqggA
7	gejgfGY
7gEtggG:
7)))@G_FBL
7_gfG8"R
7g?fgfG2
7gfGKzPBgqgg
7gfGpgR#gqgg
7ggegfG?
-7ggfG9_M
@!7ggfGJU
7g#gggwMjJ
7gGhgfGR
(]7(#.gGkgfG
7)))@GGL[A]DE
7)))G@GL]AZL[_@JL
7gGMgfGj
7_ggngfGr
7gGogfG1
7GgqggT[
7gIdgfGM
7giggfwe
7;gIkgfG
7gipgfG-
7gisgfG![
7gkfgfG*
 7g-kgfGdZ
7g?kgfG*j
7g[kgfGM
7g	kgfGR
7g'kgfGuz	
7g]kgfGV5
7g_kgfGY9
7g]kgfGzGn
7)))GL]Z]FYZAH[LMHJJLZZ
7-gmcgfGQ
7gmegfGg
7gMkgfG'C
[[[7GNdJ[[[
7GNT'((]Y]]
7)))@GOFYHJB@GZ]
7g'oggG93
7G:pgppepq
7gqcgfGi2
]7-gqegfG
7gqgg1|W
7-)gqgg3
7;gqgg7[
-7gqgg@a
7gqggbmaK
7gqggcnuD
7gqggcnuDz
!7gqgg!d
7"gqggD7
7	_gqggf
7gqggg(:
7gqggg	)9j
7gqggHC1
7gqggJNvX
7gqggjUH
[7gqggKSl
])7gqggKSl
7gqggKSl
7gqggnJ0S
7gqggNQT
7gqgg;P@
	7)gqggS
"7gqgg?S.
7*gqggs595
7gqggutm
7]gqggw@
"7gqgg@wds
;7gqgg#X
7gqggZ.#;p
]7gscgfG
]7gscgfG))
]7gscgfGfa
]7gscgfGi
]7gu!gfG
7gwagfGh7
!7gwaggGP
7gwCgfGG
7gwcgfGZ
7gWdgfG)0jsgqgg14
7gwdgfGWU
7'gWegfGd
7gw(gfGy
7gwlgfGO?
7gYkgfGD
[[[;[[[7h
7||h0||C0||
	]7#!H3	
7h8);q8(;);(;);CBBBBBBBO8
7)))HA_@PDO]PDO
7)))HEL[]
	7hfA[[[
	7hfB[[[
	7hfB[[[k[[[i[[[
	7hfE[[[L[[[
[[[	7hfF[[[
	7hfG[[[
	7hfH[[[
	7hfI[[[
[[[	7hfI[[[
	7hfK[[[Q[[[K[[[
@[[[	7hfP[[[
[[[	7hfT[[[
	7hfT[[[F[[[
	7hfW[[[B[[[z[[[
	7hfZ[[[w[[[
7@?H	gfG
7[hgfGem
7)))HGM[F@M
7hH4@iyxn;8x
7HH-''(K
7)))HJ]@_@]PvJFD
7)))H]][@K
7Hkgqgg6
7)))_@_HMFJ]F[
7())]H[NL]
7)))]H[NL]
7)))_H[OEHZA_H[Z
7hpgppepq
7Hr';''6
7HrEnumRowWWW
7hXdH[[[
7)))HYYE@JH]@FGZ
7)))HYYY[FYL[]@LZ
7)))]HZBB@EE
7)))HZJLG]Y[@G]
7)))HZZL[]
7i5d][[[
7i5dC[[[
7i5dI[[[
7i5dT[[[
7i5dz[[[
7i5dZ[[[s[[[
7i9*giggfw
7ibAAAA@AAAAACvOF
7I@@@@BAB@
7IdI[[[Z[[[
7IdU[[[3[[[6[[[
7)))iEFJHEHYYMH]HM@[
7Ig5egfGjV
7I]gfGZlM
7)))i][HP@JFG_@Z@KEL
7)))i_iM
7)))IJH]
7)))iLJAFL
7"IllllllllmllllOllylm9
7Illllllllmlll]Y]]
7iPgqgg_
7IQdL[[[
7)))iY[FN[HDO@ELZM@[
*.*7J0*'
*.*7J0*;
*.*7J0*?
*.*7J0:?
*.*7J0:3
*.*7J0:3O0*
*.*7J0:3O1-?
*.*7J0*7K0-?
*.*7J0:?J3
*.*7J0*?M3
*.*7J0*;N3-?
*.*7J1*?
*.*7J1:;
*.*7J1:?
*.*7J1*3
*.*7J1:?	3-?
*.*7J1:3
*.*7J1:3O0
*.*7J1*7
*.*7J1*7L0-?
*.*7J1:7N3
*.*7J1:;J3
*.*7J1:?M3:3K3-?
*.*7J1*?N0*?
*.*7J1*?O0
*.*7J3*'
*.*7J3*;
*.*7J3:;	0
*.*7J3*3
*.*7J3*3O3
*.*7J3*'L0
*.*7J3:?M3-?
*.*7J3*'N0
*.*7J3*'N3
*.*7J3*;N3
7J;8llllllllmllllOllylm
7)))JADFM
7jCgMfgfG 
7j@dB[[[
7JdM[[[;[[[
7)))_@J]@D@Y
7)))JEHZZ]LZ]YFJ
7)))JEHZZMLDFYFJ
7)))JFDY@EL[_H[
7)))JFDY[LZZ
7)))JFGGLJ]LM]FD@J[FZFO]LQJAHGNL
7())JFGJH]LGH]L
7)))JFGJH]LGH]L
7)))JFG_L[]]F
7)))JFGO@[D
7)))JFGY]PZALEE
7)))JF[Lv]HZBvOE
7)))JFML
7)))JHEE
7)))JHEEMF@]Z
7Jhggfw:
7)))JH@QHLJFGFD@JHOLML[HE
7)))JJHEH@[L
7)))J[LH]LFKCLJ]
7JllllllllmllllOllylm
7JMggfwz
7jNdM[[[
7)))JY_LEAD
7jyy5476
7)))[]JZALEE
7)))JZJ[@Y]
[[[7[[[k
[[[7[[[K
*.*7K0*'
*.*7K0*;
*.*7K0*?
*.*7K0*3
*.*7K0:3
*.*7K0*3K3
*.*7K0:3L1-?
*.*7K0:3O3-?
*.*7K0:7
*.*7K0:7K0-?
*.*7K0*;O0
*.*7K0:?O0
*.*7K1*'
*.*7K1*;
*.*7K1*?
*.*7K1:;
*.*7K1:3
*.*7K1*3N0
*.*7K1*7
*.*7K1*7J1-?
*.*7K1:7L0
*.*7K1:'K0:3
*.*7K1:?M0
*.*7K1:?N0
*.*7K1:;N3-?
*.*7K1*;O3
*.*7K3*'
*.*7K3:'
*.*7K3:;
*.*7K3:?
*.*7K3*3
7K3*3J0M
*.*7K3:7
*.*7K3:'J0:3
*.*7K3:?J3
*.*7K3*;O0-?
7:k@@@@B@@@vp@?
7k_dgfGIH
7KEdR[[[
7k[gggG.9
7#kgqgg2
7)))KHGBM[HO]FO
7)))KHZL
[7Kiggfw
7)))KLGF]ZHM
7)))K[LHB@GNEHMM
7)))K@]ZHMD@G
).*7L0:'
*.*7L0*'
*.*7L0*;
*.*7L0:'
*.*7L0:?
*.*7L0*3
*.*7L0:3
*.*7L0*3	0
*.*7L0:3L0
*.*7L0:3O0
*.*7L0:7
*.*7L0*7N1-?
*.*7L0:;N0
*.*7L0:?O1-?
*.*7L0*?O3
).*7L1:?
*.*7L1*'
*.*7L1*;
*.*7L1:'
*.*7L1:;
*.*7L1*;	0-?
*.*7L1:'	1-?
*.*7L1:;	3-?
*.*7L1:3
*.*7L1:3O1:3
*.*7L1*7
*.*7L1:7
*.*7L1*7	3
*.*7L1*7J0
*.*7L1*'J3*7
*.*7L1:'N0
7L1*'N36
*.*7L1*;O0-?
*.*7L3*?
*.*7L3:?
*.*7L3*3
*.*7L3:3
*.*7L3*3	0-?
*.*7L3*7
*.*7L3:7M3
*.*7L3*;K1-?
*.*7L3:;K3
*.*7L3:;L0:3
*.*7L3:'L1-?
*.*7L3*;O0*;
7l4GqAkt|
7'lBE'ltA'l
7Ld[[[[b[[[
7)))[LDF_L
7lDgfGTZ
:[[[7l|dH[[[
[[[ 7LdI[[[
7)))LDKLMZ[J
7LdO[[[P[[[V[[[x
[[[7l|dZ[[[
7)))lE]H@[
7)))L[[F[
7!lfggfw
7L@gggfw
7)))[LGHDL
7)))L_HE
7LIllllllllmllllOllylmYV
7li'pgppepq
7)))LJAF
7)))LJAFLGN@GLZ]H[]LM
7)))[LJ@Y@LG]
|7LLcjfgfG
7lllllllllmllllOllylm
7llllllllmlllKMO8) V8
7(llllllllmllllOllylm
 7llllllllmllllOllylm
'7llllllllmllllOllylm
.7llllllllmllllOllylm
7llllllllmllllOllylm
7llllllllmllllOllylm"
7llllllllmllllOllylm)
7llllllllmllllOllylm*[
7llllllllmllllOllylm.
7llllllllmllllOllylm@
7llllllllmllllOllylm]
7llllllllmllllOllylm3
7llllllllmllllOllylm4
7llllllllmllllOllylm4u
7llllllllmllllOllylm8D
7llllllllmllllOllylmCR
7]llllllllmllllOllylmDdwI
7llllllllmllllOllylmf
7llllllllmllllOllylm;F
7(llllllllmllllOllylmH
7llllllllmllllOllylmh
7llllllllmllllOllylmH
7llllllllmllllOllylmju
7llllllllmllllOllylmK
7llllllllmllllOllylmLCF
7llllllllmllllOllylmr
7llllllllmllllOllylmW
7llllllllmllllOllylmyA
7]llllllllmlll]Y]]
"7llllllllmlll]Y]]
7llllllllmlll]Y]]
7)))[LMKHP@
7)))L@NA]LLG]AZL[_@JLALEYL[
7)))[LNHMM
7)))[LNZ_[
7lOllylm
7lParamWWl 
7@@@@@@@@Lp@b
7lpgppepq
7@@@@@@@@Lp@m
7lpName1W
7lpName2Wd
7lpSearchPath
7)lpszPathNameX
7)))@LQYEF[L
7)))@]LQ]Z][LHD
7lxB5djY;
7)))[LYEHJL
[[[7[[[m
*.*7M0*'
*.*7M0:;
*.*7M0:?
*.*7M0*3
*.*7M0:3
*.*7M0*7
*.*7M0:7
*.*7M0:'J0
*.*7M0:;J3
*.*7M0:;M1-?
7||m0||T0||C0||*0||
*.*7M1*?
*.*7M1:'
*.*7M1:?
*.*7M1*'	0
*.*7M1*?	3-?
*.*7M1*3
*.*7M1:3
*.*7M1*3N3-?
*.*7M1*3O1-?
*.*7M1:7
*.*7M1:7J0
*.*7M1*?K0:3
*.*7M1:;L0-?
*.*7M1*?M3-?
7M2gYbgfG
*.*7M3*;
*.*7M3*?
*.*7M3:;
*.*7M3*3
*.*7M3:3
*.*7M3*7
*.*7M3:7
*.*7M3*7J3
*.*7M3*7L3-?
*.*7M3*?L0-?
*.*7M3:?L0:
*.*7M3:?N0
7mbeL[[[S[[[Q[[[
7mcRowsDeletedd
7MdT[[[s
7MdU[[[2[[[1[[[
_7Meeeee@H
7MenuItemPathL
7)))MFJ[@H
7mg5cgfG
7 Mgqgg5]
7)))MLEL]LO@ELOFEML[
7)))MLJEH[L
7mllllllllmllllOllylm
7mllllllllmlll]Y]]
7)))MLONL]vJH[MvMH]H
7)))MLZJ[@Y]@FG
7mNdA[[[
7)))MNE[H
[[[7[[[MP[dR[[[
7MRd][[[
*:7-MxyxWy
*.*7N0*'
*.*7N0*?
*.*7N0:?
*.*7N0:3
).*7N0:3M0*
*.*7N0*7
).*7N0*;K3
*.*7N0:'L0
*.*7N0*'M1*
7N0:;M3*
*.*7N1*;
*.*7N1:;
*.*7N1:?
*.*7N1*;	0
).*7N1*?	1*
*.*7N1*3
*.*7N1:3
7N1:3	3-?
*.*7N1*3K0
*.*7N1*3M1-?
*.*7N1:3M3
*.*7N1*3N3-?
*.*7N1*7
*.*7N1:7N0
7N1*7N3M
*.*7N1:'K0
*.*7N1:;N1*7
*.*7N3*'
*.*7N3*;
*.*7N3:'
*.*7N3:;
*.*7N3:?
*.*7N3*3
*.*7N3:3
7N3:'	3-?
*.*7N3:3	3
*.*7N3:3M1-?
*.*7N3*7
*.*7N3:7
*.*7N3:7K0
*.*7N3:7M0-?
*.*7N3:?L3-?
*.*7N3*;O3
7N8O8O8O8
7Nagqgg.b
@@@@@	7N|@@A@h JL
[[[7nbeH[[[
7NdB[[[R[[[
[[[7?NdS[[[
7NdSwfggfw
7)))NEFKHEZr
7:ngfG B
7ngfGJdI
7ngUggfG
7)))NHZZ]F_L
7)))_NKYHA@HMHK
7)))NL][HGMFDFEMO@ELO[FDZPZ]LD
7)))NL]]LQ]
7)))NL]Z@SL
_7NOOOOOOO8P
?[[[7nZdL[[[
||||||||||||||||||||||||||||||||||||||||||||||||||||||||7O
||||||||||||7O
*.*7O0*?
*.*7O0:'
*.*7O0:;
*.*7O0:?
*.*7O0*3
*.*7O0:3
*.*7O0*7
*.*7O0:7
*.*7O0:7K1-?
*.*7O0*7N0-?
*.*7O1*'
*.*7O1*?
*.*7O1*;	3
*.*7O1*3
*.*7O1:3
*.*7O1:3M0
*.*7O1:3M0-?
*.*7O1:7
*.*7O1*7L3
*.*7O1*7O3
*.*7O1:;M0
*.*7O3*'
*.*7O3:;
*.*7O3*3
*.*7O3*3	0
).*7O3:3J3:
*.*7O3*7
*.*7O3:7
*.*7O3:?J3:?
*.*7O3*;N1:;
*.*7O3*'N3
*.*7O3:'O1*7
7o5@@A@@
7o5@AA@B
7o5@@A@B
7O8N8O8N8O8N8N8O8N8O8N8O8N8O8N8O8N8O8O8
7O8N8O8O8O8O8
7O8O8O878;8O8O8N8N8
7O8O8O8O8
7OdA[[[h[[[
7OdK[[[o
7OdW[[[-[[["[[[9
:7OdX[[[
7)))O@EL@GZ]HEE
7)))O@ELvMH]H
7)))O@ELY[@_H]LGZ
7)))O[FD
7)))O[FD]FFEB@]
7)))O[FDJ[PY]F
7)))O@GMZ][
7ogQfgfG
7ogwcgfG3
7OldPathW
7OllllllllmllllOllylm
7]oTbgfG
7]_OUgAgg8OEr
7oV[[[Z[[[E[[[
7O[[[Z[[[O[[[w
7p5dR[[[
7[[[PABdW[[[
7pbCollapseStateW
7Pcccvccaclc0
*7-pgppepq]
7*pgppepq
7-pgppepq
7:pgppepq
7;pgppepq;
7[pgppepq
.7pgppepq
7pgppepq
7pgppepq;:?
7pgppepq1
7pgppepq3
7pgppepq8xE
7?pgppepq98
7#pgppepqb
)7pgppepqB
7pgppepqg
7pgppepql
7pgppepqp
7pgppepqS
7pgppepqT
7pgppepqU
7pgppepqV
7pgppepqW
7pgppepqX
(7pgppepqXS
7	pgppepqY
7pgppepqy
7pgppepqZ
7pgppept
7PgwEgfG
@@@@7pLE
7pPdN[[[
7Ppgppepqm
7P-QAQSQsQ
7PrgfG)hi
7Ps:_pgppepq
7PSSAELO
@@@@@@@@7pV@@@@@
@@@@7pWD
7PXP[[[Z[[[;[[[
7;;q314_e__E_
7;;q314_N__O_
7;;q314_P__O_
7Q7dV[[[
7q8);(;);
*7@@@@@q@@A@AAac
7Qd@[[[G[[[F[[[
7QdX[[[r[[[p[[[
7Q gqgg-y
7)))QH]][
7q_IAAAA@AAAAACt'X
-7"	Q)-N
7Qpgppepqq
_7QRSSSSS
7qyxyy@'a
7QZYkIkK]Qp]Z_Z
[[[7[[[r
[[[7rCgM[[[
7RdJ[[[i[[[
7rdW@@eeb
7)))rJFG_L[]t
7RllllllllmllllOllylm
7)))r[LOt
7)))rM@HNGFZ]@JZ
7rmSSSSSSSSSSSSSSSSto4mSSSSSSSS
7)))R][PRFKC
7rqgqgg2Q
7rSdH[[[
7RSS[Ls9
7	RtlLengthSecurityDescriptor
7)))RuK@G
7[rww	ho6
7||s0||S0||A0||30||
7@@@@@s@@A@AAac
??7SC@mmcerror@@QEBAHXZ
7SdC[[[i[[[
7SdF[[[r[[[
7sD(gfGZ
7SdL[[[	[[[
7SdS[[[t[[[
7SdZ[[[7[[[
7)))SFDK@L
7|Sg'fgfGc
7SjllllllllmllllOllylm4
7spgppepq
7	.sQ'lB
7[SSBNsScSS
7:SSSSSSS
	7SSSSSSS
7t4Gq;kt|
7TB_13QL
7tbllllllllmllllOllylm
7TBM13BX
7TBX13QLc9
7Tdd'g7dgfG
7t_dK[[[f[[[
7TfH[[[v
7TgCggfG
7]TgfG]1
#7]TgfG43
7]TgfG5N
!7]TgfGA
7]TgfGa4
7]TgfGb'
7tgfG_![?gqgg
7]TgfG:n
7]TgfGzl
7tg]kgfG
7THdL[[[
7)))TJH]JA
7tkgWwggG
7tZd[[[[
7Uggqgga
7uhggwQF
7)))uHYYMH]HuEFJHEu]LDYuu
7)))uHYYMH]Hu[FHD@GNu
[[[7[[[UJ
7)))uJA[FDL
7)))uK@G
7)))UKHZL
7)))u]LDYu
'.7UllllllllmllllOllylmB
 7U mmx[
7)))uQOOuQL
7URLMAPSOff
7:!UUHUU
7:!UUIUU.
7:!UUuUU
[[[7[[[v
7V1gqggEV
7v7v7v7v7
7Vfgqgg!
7VgcmgfG
7V(ggw*u
7'Vk]cgfG
.:7vkhjBkL]X
.:7vkhjCkM]X
.:7vkhkELVjoklihjkhcib
.:7vkhkELVkckoioiikkkk
.:7vkijCkM]X
.:7vkikELVjoklkjjjihhh
7vllllllllmllllOllylm
[[[7VPdH[[[
7@@@@@@@@vpR
7vxgfG5H
7"WdS[[[
7wg[dggw
7WgfG| :
7wgqggk1
7WHdU[[[
7x @@@@@A@@Cp@D#H
7[xAxxyxyxyxxyxTz
7XCCNCCCBACCm
7"XgqggT
[[[7[[[xmdez[[[
7XnUFS_hap
@7[xoooo
7Xxllllllllmlll]Y]]
-7.()xxxx
7(xx]Y]]
7xx]Y]]rj_
7xx]Y]]vzY
7xyDOyy]
7xyq6xyQ6xy16xy
7xyr6xyb6xy
7xyS7xy77xy
  7     ]Y]]
7!((]Y]]
7@@@@]Y]]
7||y0||Z0||;0||
7)))YAF]FOF[JL
7)))YAZH
7|yb6|y 6|y
[[[7yCdI[[[
7)))Y[FCHJ
7)))YF[]HKELHYYZuCALHMuCALHM
7)))YF[]X[P
7'YgfGSk
7)))YH[HDGHDL
7)))YHZZYA[HZLZ]F[HNLHGM[LJF_L[P
7)))Y[JL
7YMdU[[[
!7ypgppepq
7yppfrminfoReturnedWWW
7!yUegfG
:7" yxey
:7yxry;-
7yy]6yy06yy
7yy]6yy'6yy
7yy	7yy)7yy*7yyx6yyh6yy
7yy	7yyyyyy
7yy	7yyyyyyyyyy
7yy	7yyyyyyyyyy	H
7yyj6yy-6yy
7yym6yyW6yyJ6yy@6yy
7yyn6yyL6yy.6yy
7yyp6yy96yy
7yyr6yyT6yy 6yy
7yyv6yy06yy
7yyv6yyQ6yy86yy#6yy
7yyw6yyT6yy56yy
7yyX6yy#6yy
7yyxyyy|yyy|yyy
7yyyiyyyyyyyyyyyyyyyyyyyyyy
7|yyyyiy
7yyyyyyEyyy
7yyyyyyIyyy
7yyyyyyyyyy
7yyyyyyyyyyyyyyxyiyyyayy
7yyyyyyyyyyyyyyyyyyyyyy
7yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
7yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyy
7yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
7YZkIkK]Qp]Z_Z
7  z     
[[[7[[[Z
7||z0||a0||Q0||90||!0||
7z8dpgppepq
7ZA@A@h DI
7)))@ZALEEM@ZYH]JA
7)))ZALEEvLQLJ
7)))ZDH[]ZPZ]LDJH[LRHYYTuZZJ
7)))ZD]YvZL[_L[vY[FJLZ
7)))Z]FY
7)))Z]H[]
7)))Z]H[]@GOF
7)))ZHJH[
7)))ZH_L
7)))ZJMLEL]L
7)))ZLELJ]
7)))ZLJFGMZL[_@JL
7)))ZL_LG]LLG]AZL[_@JLALEYL[
7zllllllllmllllOllylm.y
;7ZLMM9B[[LMMMd7r
7())ZL]OZF
7ZmgfG#G
7)))Z@NG]FFE
7zpA 1)mggfw
7Zpgppepq
7)))ZPZ]LD
7zResourceTypex
7zyj6zy?6zy
7zz[v[[C
   !    8
  @     8
  8     
 8. ;; #
"*")"("8
#'8!?"#?"
#|||||#8	
#||||||||||||||8
(#||||||||#8	
)#||||||||#8	
*#||||||||#8	
-#||||||||#8	
-.#;#8#!
.#||||||||#8	
:#||||||||#8	
;#||||||||#8	
?#||||||||#8	
[[[*[[[8
[[[;[[[8
[[[[8[[[[
[[[8[[[	
[[[8[[[[ 
]]8]]]]]]
||| ||| |8|
||||||#8
||||||:8
||||||||#:8
||||||||||||||| |8|
|||||||||||||||||8|
||||||||||||||8
|||||||||8
|||||||||8|
||||||||8
|||||||8
|||||||8|
8@@@@@@@@
8||||||||||||||||||||||
8||||||||||||||||||||||||||||||||||||||||||
(  8      0  
[[[8[[[02
; 80'4!0
:80!4UUwUU
808q:':_U__E_
8!0gRgga
80llllllllmllllOllylmN
8:!0!UUNUUu[
|||||||||8|1|	|
.'#8"1.4:
')8:	 #'1'45:#!
81dV6nfu
81gucgfG
81"P"514
81pFileComClass
81pgppepq
81T_RTF_WCSINFOIdlW
           823
8;;;234cDDD
82.5.5ACAAAeqAJry
829mgggw
82g9dgfG
82gAbgfG
	:8):2!-iu8)7kD]X
	:8):2!-ju8)7kF]X
82kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
82llllllllmllllOllylm
:82')r# bS
8#2XjegfG
82y.zxlxw
[[[8[[[3
83("2AC@@AIqAG
[[[83_dU[[[n[[[f[[[0
83G0:?	0
83G0:;	3
83G0*3L3
83G0*3M3
83G0*3N3
83G0:3O1:3
83G0:7	3
83G0*7J1*'
83G0*7K3*
83G0:7L3
83G0:7O0
83G0:;J0
83G0*?J1:7N0-?
83G0:;J3
83G0:?J3
83G0:'K3
83G0:'K3*
83G0:'K3*7
83G0:;L0
83G0:?L0
83G0*?M0
83G0:?M0*
83G0:;M0:3L3-?
83G0*'M3
83G0*?N0*
83G0*;N3:?K0-?
83G0*;O1:;
83G0:;O3
83G1:;	0
83G1:3M1-?
83G1:7	0
83G1:7J0
83G1:7J1:
83G1*7K0:
83G1*7K3*
83G1:7L0
83G1:;J0*3
83G1:?K0
83G1*?L0:
83G1:?L0
83G1*'M0:?L3
83G1:'M3
83G1:?M3
83G1:'N3
83G1:'O0:
83G3*;	1*
83G3*?	1*
83G3*?	3
83G3*?	3:?	0
83G3*3K1*
83G3*3K3
83G3*3L0
83G3*3M0
83G3*3M3
83G3*3N0
83G3*3N3
83G3*3O0
83G3*3O0-?
83G3*7	0
83G3*7	0*
83G3*7	1*?O0
83G3*7	3-?
83G3*7J3
83G3*7L0
83G3*7L1*?
83G3*7L3
83G3*7M0*
83G3*7N0:'M0
83G3*7N1*'
83G3*7O0
83G3*7O0:
83G3*'J0
83G3*'J0*
83G3*;J0*
83G3*'J3
83G3*?K0
83G3*?K3*3
83G3*'L0
83G3*;L0*
83G3*?L0:
83G3*;L1:
83G3*'L3
83G3*?L3:?
83G3*;L3*3J3
83G3*'M0
83G3*?M0:
83G3*;M3*7
83G3*?N0
83G3*'N0:7
83G3*;N3:?
83G3*'O1*
83G3*'O1:
83G3*;O1:7
83gg'wggG
83GISequentialStreamWWW
[[[83ldO[[[5[[["[[[
83llllllllmllllOllylm
8*4!38.	
[8[4[6[6[4[5[
[8[4[6[6[4[5[l[
8)4@@@A@@
8!#4@B@A@@
8)4@B@A@@
84FdM[[[ [[[
[[[8[[[4KBdV[[[
:'84!UUEUU
84xx]Y]]
8"4zggwz
[[[8[[[5
[8[:[5[[[
8  5     
85145"P"514
8539llllllllmllllOllylmt
855InstallerTypeConstsWdK
85gmegfG
85gn3gfG
8:5S[[[Z[[[[[[[[k[[|
862czr:c63
862czrz#37
862czsz'3c
[8[6[8[6[
86!gqggK
8*6;:q*-3_C__F_
8*6;:q*-3_@__I_
8*#6SSSSS 8*#6
:86SSSSSSSS
[[[8[[[7
 870'UUCUU
 870'UUJUU
 870'UUJUUX)
?8*7':1 
#87.(245
#87.(245(
[#[8[7[.[([2[4[5[([
[#[8[7[.[([2[4[5[([[[
#87.(245(_[[[[[[[[|[[E
#87.(245(_[[[[[[[[F[[O
#87.(245(K[[[
#87.(245(_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz]zzz
872LMM:5:
[8[7[4[.[?[6[.[([2[8[
8(76pgppepq
87AAAAAA@AAAAACZ]
[[[8[[[7h
87U7I#gIgg2
)87yALIyyyyyHKLKyyyypeyyH
:87yALIyyyyyHKLKyyyysiyyHII
:87_[[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzzBBzzzrzztzzz|zzzzrzz
:87_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz]zzz
:87_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz]zzzBBzzzrzzVzzzj]zzzrzzTzzzzzzz[|[[E
:87_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzz
:87_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzzBBzzzrzztzzz|zzzzrzz
8#||||||||#8	
|8|8|||||1|
:884UUYUU
]8]8-8]-8
]]888888
8]8]8888
88]]]8888
8]8]]88888]
-888888877777-
88]888888
888888888
8888888888
888888889
8888]8p]
8]]8]8p8p
888"xsxGGI;1
"'(8'?*8?9-
88!90 "xx]Y]]
|8|8|9|||||2|
;889gfGh
88!9  "yxw
88B_ActDeferActionIdlWWp
88Ddy[[[
';_88ggfw
88K-Kyxfy.;!
8||(8||l
88llllllllmllllOllylm
88Lyxiy?
8 8N8O8A8O8N8O8N8O8N8O8N8O868
8'8O8A8O8O8A8B8A8B8A8B8A8
88rxmyG9.9
88xxx1xxyxyxyxY[4
88xxx2xxyxyxyxY[4
88xxx3xxyxyxyxY[
88xxx8xxyxyxyxY[4
88xxx9xxyxyxyxY[4
88xxxAxxyxyxyxY[
88xxxFxxyxyxyxY[
88xxxGxxyxyxyxY[
88xxxGxxyxyxyxY[4
88xxxWxxyxyxyxY[
88xxx?xxyxyxyxY[.
88xxx xxzxzxzxY[9
88xxx]Y]]
88xx]Y]]
88xxzx]Y]]
88xyxBx]x
88xyxgyVG9.
88xyxhyVG9.1
88xyxjy:
88xyxnyVG9.:
88xyxZy?x
88yxay9-
88yxayG9.
88yxayVG9.
88yxbyG9.
88yxcyG9.
88yxcyVG9.
88yxcyVG9.9
88yxdy9.12
88yxfyVG9.
88yxgyVG9.
88yxhyDH
88yxhyG9.
88yxhyVG9.
88yxhyVG9.0
88yxhyVG9.;3
88yxhyVG9.5
88yxiyG9.4
88yxiyVG9.
88yxiyVG9.5
88yxiyVG9.9
((88yxjy
	88yxjyVG9.(
88yxjyVG9.4
88yxjyVG9.5
88yxkyG9.
88yxkyVG9.
88yxkyVG9.3
88yxly9.;
88yxlyVG9.
88yxlyVG9.;)
88yxlyVG9.;:
88yxmyEX
88yxmyG9.
88yxmyG9.;3
88yxmyVG9.
88yxmyVG9.;4
88yxmyVG9.;7;1
88yxny9.1;
88yxnyVG9.5
88yxoyG9.
88yxoyVG9.
88yxoyVG9.;9
88yxpyG9.
88yxpyG9.;
88@yxqy:
88yxqyVG9.
88yxryVG9.
88yxsyG9.
88yxsyG9.5
88yxsyG9.9
88yxsyVG9.
88yxsyVG9.;
88yxtyG9.
@88yxtyVG9.(
88yxtyVG9.
88yxtyVG9..
88yxtyVG9.:
88yxtyVG9.3
88yxuy;(
88yxuy9.;5
88yxuyG9.
88yxuyVG9.
88yxuyVG9.;:
88yxvyVG9.
88yxvyVG9.(
88yxvyVG9.(		
88yxvyVG9.;:074
88yxvyVG9.;4
88yxvyVG9.9
88yxwy;(
88yxwy9.0
88yxwyVG9.
88yxwyVG9.;
88yxwyVG9.1
88yxwyVG9.4
88yxwyVG9.6
88yxYy9-
88yxYyVG9.
88zxmyVG9.;?
88zxtyVG9.:
88zxuyVG9.?-
88zxuyVG9.7-
88zxvy;(
[[[8[[[9
89!".08!8
||||890|||||lQ
8:9-:8q:':_R__X_
8		99yyy
8		99yyyA
89Bg]eggG
8(.9CgggG
89]d@[[[g[[[e[[[
89dIInstallerManagerWWW8J
89gqggc4X
89kngIkgfG
!.'8)!9n
89pgppepq
8.9xx]Y]]
[[[8[[[a
8@@@@@@A@
8A8A8D8A8O8O8O8
8A8N8B8B8O8
8||A9|||
8AA@@@@@@@
8aAAAAAA@AAAAACo
8AAAAAA@AAAAAC
8AAAAAA@AAAAACZD
8@AAAA@AAAAAC
8@AAAAAA@F
8AAAACAAAIqAK
8aaaa]Y]]
8AAAAYqQE
8AA@AOqmF
8AABABB@B@;N
8@@@@@@AAh FMHc
8@@AAh La
8@@@@@AA@HpBI
8Aau!8Abu
8)))AH[MMHNNL[
8@@A@h NP
8a.ISysprepModuleWW
8)))]A[LH]ZML]LJ]LM
8_Allllllllmlll]Y]]
8)))]ALO]HGMAHJB@GN
'8@@@@@@@@ap@Pr
[:[8[[[a[[[t[
8AT_SLPSTRArrayIdlWt
8a@@@@@@@@XpDY
8)))A]]Y
8)))A[YJFYLGY[@G]L[
8@@@@B@@@
8B!7egfG
8B8;8O8N8N8A8O8A8O8D8O8"8N8C8O8;8O8;8O8;8O8;8O8P8
@8B8@9xXp"@w	
8B8O8A8O8
-!8@B@A@@
8B@A@2 @A;
8@@@@B@A@2 @E
8@@@@B@A@2 @R
'8BAA@Ep@DfN
8'@@@@BAB@
_8@@@@B@A@Hp@Cr
8#@B@A@Jp@[)[
8B@A@Lp@m
8;ba!P4 
8@@@@B@A@_p@J
'8B@A@yp@G
8@@@@@BB@
'8BBA@dp@@@@@@@@@@BBA@np@@@@@@@@@@B@A@Hp@
8@@@@B@BALp@K
8#@B@B@Lp@MI0
	8[bBUTTONIdlWWW
8@@@@B@C@Hp@S
8Bd_[[[4
8(BdgfG!e
'8@B@@dp@@@@@@@@@@@@@@@
'8@B@@dp@@@@@@@@@@@@@@yp@G
8)))B@EEHEE
8)))B@EEHEE]L[D@GHE
8)))B@EEvD@GL[vY[FJ
8BgAjgfG
8|bICmiCollectionWW
8BinariesDirectoryPathsWW
8BK(NSSW_[s
8)))BL[KL[FZ
8Bllllllllmlll]Y]]
8@@@@@@B@Lp@an
8BMMPYY|
8@@@@@@B@mpXOO
8Bm[[[[u
'8@B@@.p@@@@@@
'8B@@@.p@GJ
8b*:pgppepq
'8@B@@.pI@@@@@
8@@B@[p]L
8)))BvMHB
8c0-djlWx
8CCdP[[[
8)))CCJJJJCJSQSPSSS
[[[8[[[cd
8CdG[[[e[[[
8C(dO[[[
8)))CGM@GHDL
8)))CH_H
8CHt)8CIt
8c*!mggfw
8cmiLoadDriverPrivilegeWW
8cmiNamespaceV1WWX
8cmiNamespaceV2WW
8)))CZFG
8:(d_[[[
8d][[[6[[[
8)d7O'd_
8D88u]H9C
8D8c t7L
8||D9||h
8]dB[[[A[[[t[[[U.meR[[[@[[[z[[[
8Dd@[[[1[[[6[[[K
'8DdA[[[
@8DdA[[[0[[[
8Dd_[[[D[[[r[[[
8DdH[[[:[[[?[[[
]8DdI[[[y[[[
8;DdK[[[
8DdK[[[I[[[
8)))@DDLM@H]LEPJHEE
8DdM[[[Z[[[
8DdQ[[[T[[[
8;DdS[[[
8DdV[[[2[[[0[[[
8Ddx[[[)[[[ [[[?
8Ddy[[[E[[[
8DdZ[[[a[[[
8DdZ[[[A[[[
8DdZ[[[f[[[
8deggghhqhqhhhgeeddd9 c
8DERepositoryInitializerWWW
8)))DFFGZAH[MM
8)))DFS@EEH
8dggfwLRLr
8dggfwPG
8-Dgqgg!
8*Dgqggh
8-#d.gYkgfGx
8dH[[[3[[[
8)))@DHNL
8)))@DHNLN[HK
8)))DHPKLKHPKL
8dI[[[e[[[
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10
8)))DJ[PY]v[@CGMHLE
8dK[[[t[[[
[[[8[[[[[[dL[[[
8dlgGcgfG
8)))DL[JAHG]HK@E@]P
'8dllllllllmllllOllylm55
8)))]@DLZZA@O]Z
8dml#dAB
[[[8:(dO[[[
8:(dO[[[
8DocumentMode_AuthorWd
8:(dS[[[
8D(_SMAPIFormInfoArrayIdlWW
[[[8[[[[[[dU[[[
[[[8:(dY[[[?
8)))@DYF[]CH_H
8)))@DYF[]@DHNLN[HK
8@dYpWed
8)))DZLQJALJYJHGH[P
8)))DZ@LQLJ
[[[8[[[e
8e7ggfGv
@@@@@8@@E@AAac
	@@@@@8@@E@ACac
@@@@@8@@E@ACac
@8@@E@ACac
8@@@@@;@@E@ACac
8e@[[[B[[[A[[[
8E@@@@BA@@Hp@PO:
8eD[[[@[[[
8EdA[[[u[[[
|||8Ed	c
|||8Ed	T0
|||8Ed	w
8e][[[E[[[
@8@@E@EDac
8eFh ebh
8)))EFHMvDHJAFvDHJ
8)))EFJHE
8eg!kgfG
8EgKkgfG
8egqggD9
8EH2	y4G
8)))E@KJ[PY]F
8)))ELHB
8)))E@_L]LJAG@J@HGZ
|||8El	w
8())E@OL]@DL
8epgppepq
8eR[[[J[[[
8eR[[[L[[[
8eS[[[z[[[|[[[
8eX[[[1[[[
8EyI	z|	?5G
8ez[[[n[[[m[[[N
8ez[[[V[[[O[[[A
8f@@@@A@A@
8f-_AAAA@AAAAAC
8FdDocumentModed
)8fdZ[[[f
8fE99uRI;
8)))]FFEB@]
8fgAcgfG
8)))FGEFHM
8)))FGE@GL
8fgemgfG
8fgfG0ek2gqgg
8)))FGLM[@_L
8F?gqgg7[
8f'gqggGE
8f_[[[I[[[
8fI[[[A[[[
8"fIAttachIdlWW
8fJ[[[j[[[n[[[U
8fK[[[2[[[
8)))FKCZALEE
8fK[[[D[[[
8)))]FKHZL
8fK[[[j[[[
8fL[[[0[[[#[[[
8)))FLQLJ
8fM[[[V[[[
8fN[[[G[[[
8fN[[[L[[[
8fpgppepq
8fS)mggfw[|
8fS[[[q[[[p[[[
8fV[[[u[[[
8fWAAAA@AAAAAC
8)))FYLGv@GZ]HvE@GB
8)))[FYNHMNL]Z]HKEL
8fZ[[[#[[[
8F[[[Z[[[K[[[
[[[8[[[G
8'G0*;	0
8'G0*;	0*
8'G0:'	0
8'G0:;	0
8'G0:;	0*?
8'G0:;	0:7M
8'G0*?	1*
8'G0:;	1:3L
8'G0*'	3
8'G0*;	3
8'G0*?	3
8'G0*?	3:
8'G0*3	0
8'G0:3	0
8'G0*3	0:?M06
8'G0:3	1:'M
8'G0*3	3
8'G0:3	3
8'G0*3	3M
8'G0:;	3:;J
8'G0*3J0*
8'G0:3J0:7K
8'G0:3J1:
8'G0:3J3
8'G0*3J36
8'G0*3J3*;K
8'G0*3K0*;	
8'G0*3K1*
8'G0*3K3
8'G0:3K3
8'G0*3L0
8'G0:3L0
8'G0*3L3
8'G0:3L3
8'G0:3L3:;O3
8'G0*3M0
8'G0*3M3*
8'G0*3N0
8'G0*3N0:
8'G0*3N0:?J
8'G0*3N1:
8'G0:3N1:?K3
8'G0*3N3
8'G0:3N3
8'G0*3N3:?N0M
8'G0*;	3:?O
8'G0*3O0
8'G0*3O3
8'G0*7	0
8'G0*7	0:
8'G0:7	0
8'G0*7	1:?
8'G0:7	1*
8'G0*7	3*
8'G0*7	3:7M
8'G0*7J0
8'G0:7J0
8'G0:7J0:;N
8'G0*7J3
8'G0:7J3
8'G0:7J3:?O
8'G0*7K0
8'G0:7K0
8'G0*7K3
8'G0*7K3*
8'G0:7K3
8'G0*7L0
8'G0:7L0
8'G0*7L0*7
8'G0*7L0*7N
8'G0*7L1*
8'G0:7L1*'
8'G0*7L3*;O
8'G0:7L3*'O
8'G0*7M0
8'G0*7M1*;
8'G0*7M3
8'G0:7M3
8'G0:7M3:?
8'G0*7M3*3M
8'G0*7N0
8'G0:7N0
8'G0:7N0*3	
8'G0:7N1*3K
8'G0*7N3
8'G0*7N3:
8'G0:7N3
8'G0:7N3*7
8'G0*7O0
8'G0*7O0*
8'G0:7O0
8'G0*7O1*;
8'G0*7O3
8'G0*7O3:;
8'G0*7O3*3	
8g#0gfG1
8'G0*'J0
8'G0*;J0
8'G0*?J0
8'G0:'J0*3N
8'G0*?J0:7K
8'G0*?J1:
8'G0:'J1*
8'G0:?J1*
8'G0*'J3
8'G0*;J3*
8'G0*?J3
8'G0*?J3*
8'G0:'J3*
8'G0:'J3:
8'G0:;J3
8'G0:?J3
8'G0:'J3:'L0
8'G0*'K0
8'G0*;K0
8'G0*;K0*'
8'G0:'K0
8'G0:'K0:
8'G0:'K0:'
8'G0:?K0
8'G0:;K0:7	
8'G0:?K0:?O
8'G0*;K1*
8'G0*?K1:7
8'G0:'K1*7L
8'G0:?K1:;N
8'G0*'K3
8'G0*;K3:
8'G0*?K3
8'G0:;K3
8'G0:;K3:
8'G0:;K3:;
8'G0:?K3
8'G0*;L0
8'G0*?L0*
8'G0:'L0
8'G0:;L0
8'G0:;L0*
8'G0:'L0:3
8'G0:?L06
8'G0*'L0:;L
8'G0*'L1*
8'G0*'L1*;
8'G0*'L1:
8'G0:;L1*?
8'G0:;L1*'J
8'G0*'L3*
8'G0*;L3
8'G0*?L3*;	
8'G0:'L3
8'G0:'L3:7
8'G0*;M0
8'G0*?M0
8'G0*?M0*?
8'G0:'M0
8'G0:;M0
8'G0:;M0:;
8'G0:?M0
8'G0:?M0*
8'G0*;M0*3	
8'G0*?M1*
8'G0*'M1:?J
8'G0*?M1*'L
8'G0*'M3
8'G0*;M3
8'G0*?M3
8'G0:'M3
8'G0:;M3
8'G0:;M3*
8'G0*?M3:3J
8'G0*'N0*'
8'G0*;N0
8'G0*;N0:'	
8'G0*?N0
8'G0:;N0
8'G0*;N16
8'G0:'N1:7
8'G0*;N1*7N
8'G0:;N1*7N
8'G0*'N3:
8'G0*;N3
8'G0*?N3
8'G0:'N3
8'G0:;N3
8'G0*'O0
8'G0*'O0*'
8'G0*'O0:
8'G0*;O0:
8'G0*?O0
8'G0:'O0
8'G0:'O0:?K
8'G0:;O0:'N16
8'G0*'O1*
8'G0:?O1:'
8'G0*;O3
8'G0*?O3*
8'G0*?O3:'
8'G0:'O3
8'G0:'O3:
8'G0*'O3:7O
8'G1*;	0
8'G1:?	0
8'G1*?	0:7
8'G1:'	0*7L
8'G1*?	1:
8'G1:'	1*
8'G1:;	1:
8'G1*'	3
8'G1*;	3
8'G1*;	3*'
8'G1*?	3*'	
8'G1:?	3
8'G1*3	0*
8'G1:3	1:3M
8'G1*3	3*;	
8'G1*3	3:?
8'G1*'	36
8'G1:3J0
8'G1*3J0M
8'G1*3J1*7N
8'G1*3J3
8'G1:3J3
8'G1*3K3
8'G1:3K3*
8'G1*3L0
8'G1*3L0*
8'G1*3L0M
8'G1:3L1:'M
8'G1:3M0
8'G1:3M0:;	
8'G1*3M0*3
8'G1*3M1*
8'G1:3M3
8'G1*3M3:'K
8'G1*3N0
8'G1*3N16
8'G1*3N3
8'G1:3N3:
8'G1*3O0
8'G1:3O0:
8'G1*3O3
8'G1:3O3*'
8'G1:3O3:;
8'G1:7	0
8'G1*7	3
8'G1*7	3*
8'G1:7J0*;M
8'G1:7J1*
8'G1*7J3
8'G1*7J3*'
8'G1:7J3
8'G1:7K0*
8'G1:7K1*?K
8'G1*7K3
8'G1*7K3*
8'G1*7K36
8'G1:7L0
8'G1*7L1:'
8'G1*7L3
8'G1:7L3*
8'G1*7M0
8'G1:7M0*
8'G1:7M3*7L
8'G1:7N0
8'G1*7N3
8'G1:7N3
8'G1*7O0:
8'G1:7O0
8'G1*7O1*3O
8'G1:7O1:7L0M
8'G1:7O3
8'G1*7O3:?J
8'G1*;J0*;
8'G1:'J0:;
8'G1:;J0
8'G1:?J0*
8'G1:;J0M
8'G1*;J1*
8'G1:'J1:
8'G1*'J3
8'G1*?J3
8'G1:;J3
8'G1:?K0:
8'G1:'K0*7O0M
8'G1:?K1*'
8'G1:'K1*?K
8'G1*;K1*?O
8'G1*'K3:
8'G1*?K3
8'G1:'K3:
8'G1:;K3
8'G1:'K36
8'G1:?K36
8g1kgfG8
8'G1*'L0
8'G1*?L0
8'G1:?L0
8'G1:'L1:
8'G1:;L1*7	
8'G1:;L1:7M3M
8'G1*?L1*;L
8'G1:?L3
8'G1*;M0
8'G1*;M0*
8'G1*?M0
8'G1:;M0
8'G1:;M0*
8'G1*'M0M
8'G1*?M1*7M
8'G1*'M3
8'G1*?M3*
8'G1:;M3
8'G1:?M3*
8'G1:'N0
8'G1:;N0
8'G1:?N0*?
8'G1*'N0:3K
8'G1*'N1*?
8'G1*;N1:?
8'G1*?N3
8'G1:'N3
8'G1:?N3
8'G1:?N3:
8'G1*;O0
8'G1:?O0
8'G1:;O0*7J
8'G1*?O1*
8'G1:'O1*
8'G1:;O1*
8'G1:?O1:;	06
8'G1*'O1:3	
8'G1*'O3
8'G1*;O3
8'G1*;O3:
8'G1:;O3
8'G1:?O3
8'G1*?O3:'O
8'G3*'	0
8'G3*'	0*
8'G3*'	0:'
8'G3*;	0
8'G3*;	0*
8'G3*;	0:
8'G3*?	0
8'G3*?	0*'
8'G3*?	0*7L3
8'G3*'	1:
8'G3*;	1*'
8'G3*;	1:
8'G3*?	1*7J0
8'G3*;	1:7N0
8'G3*'	1*7O3M
8'G3*;	1*;M06
8'G3*'	3
8'G3*'	3*
8'G3*;	3
8'G3*;	3*
8'G3*;	3:
8'G3*?	3
8'G3*?	3:'
8'G3*3	0
8'G3*3	3
8'G3*3	3:
8'G3*?	3:?	3:?	36
8'G3*3	3*7
8'G3*'	3*3L0M
8'G3*3	3:;L3
8'G3*;	3*7J16
8'G3*;	3:'J
8'G3*?	3*?J0
8'G3*3J0
8'G3*3J0*
8'G3*3J0:
8'G3*3J0*'O0
8'G3*3J1:
8'G3*3J1*3L0M
8'G3*3J3
8'G3*3J3*
8'G3*3J3*;	3M
8'G3*3K0
8'G3*3K0:
8'G3*3K06
8'G3*3K3
8'G3*3K3*'J0
8'G3*3L1:?
8'G3*3L3
8'G3*3L3*
8'G3*3L3:;N3
8'G3*;	3M
8'G3*3M0
8'G3*3M0*'J0
8'G3*3M0:;O
8'G3*3M1*
8'G3*3M3
8'G3*3M3*
8'G3*3M3:
8'G3*3N0
8'G3*3N0:
8'G3*3N0*7K0M
8'G3*3N1*
8'G3*3N3
8'G3*3N3:
8'G3*3N3:;K06
8'G3*3N3:'O16
8'G3*3O0
8'G3*3O0*?
8'G3*3O0:
8'G3*3O1:
8'G3*3O1:'
8'G3*3O3
8'G3*3O3*3
8'G3*3O3:7
8'G3*7	0
8'G3*7	0*
8'G3*7	0*7	36
8'G3*7	1:
8'G3*7	1:;J06
8'G3*7	3
8'G3*7	3*
8'G3*7	36
8'G3*7J0
8'G3*7J0:
8'G3*7J0:?L3M
8'G3*7J3
8'G3*7J3:3O3
8'G3*7K0
8'G3*7K0:
8'G3*7K0M
8'G3*7K1:
8'G3*7K3
8'G3*7K3*
8'G3*7K3:
8'G3*7K3*3M3M
8'G3*7K3:?K3M
8'G3*7L0
8'G3*7L0*
8'G3*7L1:
8'G3*7L1:7K36
8'G3*7L3
8'G3*7L3*
8'G3*7M0
8'G3*7M0*
8'G3*7M0*7
8'G3*7M0M
8'G3*7M1:
8'G3*7M3
8'G3*7M3:'
8'G3*7M3*?M06
8'G3*7N0
8'G3*7N0*
8'G3*7N1*
8'G3*7N1:
8'G3*7N3
8'G3*7N3*3J06
8'G3*7N3:?M36
8'G3*7O0
8'G3*7O0:3M3M
8'G3*7O1*?
8'G3*7O16
8'G3*7O1*7J3M
8'G3*7O1*'K3
8'G3*7O3
8'G3*7O3*;
8'G3*7O3:
8?g3dgfG
8'G3*'J0
8'G3*'J0*
8'G3*;J0
8'G3*;J0:
8'G3*?J0
8'G3*?J0*
8'G3*;J0:3
8'G3*?J0*3N3
8'G3*'J06
8'G3*?J06
8'G3*'J0:7N3
8'G3*'J1:;
8'G3*;J1:
8'G3*?J1:
8'G3*?J1*7
8'G3*'J3
8'G3*;J3
8'G3*;J3:'
8'G3*?J3
8'G3*?J3*
8'G3*?J3:
8'G3*;J3:3J0
8'G3*?J3*7O06
8'G3*;J3:;O36
8'G3*'K0
8'G3*;K0
8'G3*;K0*
8'G3*;K0:
8'G3*?K0
8'G3*?K0:
8'G3*?K0*7O0M
8'G3*'K0*'L16
8'G3*'K1:;
8'G3*;K1*'
8'G3*;K1*?	
8'G3*?K1*
8'G3*?K1:
8'G3*;K1*;M36
8'G3*'K3
8'G3*;K3
8'G3*;K3*
8'G3*?K3
8'G3*?K3:'
8'G3*;K3:'	0
8'G3*'K3*3L3M
8'G3*;K3:3O0
8'G3*?K3:7N16
8'G3*?K3*?J3
8'G3*?K3:;O06
8g3kgfGz
8'G3*'L0:
8'G3*;L0
8'G3*;L0*
8'G3*?L0
8'G3*?L0:
8'G3*?L0*;	06
8'G3*'L06
8'G3*?L06
8'G3*?L0:'K16
8'G3*?L0:;M0
8'G3*'L1:'
8'G3*;L1*
8'G3*;L1*?
8'G3*;L1:
8'G3*?L1*
8'G3*?L1*3
8'G3*'L1:;L16
8'G3*'L3
8'G3*;L3
8'G3*?L3
8'G3*?L3*
8'G3*?L3*'
8'G3*?L3:
8'G3*'L3:;	06
8'G3*'L3:3	16
8'G3*?L3*3K3M
8'G3*'L3*'M06
8'G3*'M0
8'G3*'M0*;
8'G3*;M0
8'G3*;M0:
8'G3*;M0:;
8'G3*?M0
8'G3*?M0*
8'G3*?M0*3
8'G3*;M0*7M0
8'G3*;M0:?O36
8'G3*;M1:
8'G3*?M1*
8'G3*?M1*?
8'G3*?M1:
8'G3*'M3
8'G3*'M3:
8'G3*;M3
8'G3*?M3
8'G3*;M3*3
8'G3*'M3:3	3
8'G3*'N0
8'G3*;N0
8'G3*;N0*
8'G3*;N0:
8'G3*?N0
8'G3*'N0*3J0M
8'G3*;N0*3O16
8'G3*?N0:;J1*;M
8'G3*'N0*;J3M
8'G3*?N0:'K3M
8'G3*?N0*;O0M
8'G3*?N1*
8'G3*?N1:3N0M
8'G3*'N1*;N16
8'G3*'N3
8'G3*;N3
8'G3*;N3*
8'G3*?N3
8'G3*?N3*
8'G3*?N3:
8'G3*'N3:3
8'G3*?N3:?O06
8'G3*'O0
8'G3*'O0:
8'G3*;O0
8'G3*;O0:'
8'G3*?O0
8'G3*?O0*
8'G3*?O0:
8'G3*?O0:;	3
8'G3*?O0*3L3
8'G3*'O1:
8'G3*;O1*
8'G3*?O1:
8'G3*?O1*7L
8'G3*?O1*?M3M
8'G3*?O1:;N0
8'G3*;O3
8'G3*;O3*
8'G3*?O3
8'G3*?O3:
8g5fgfGF
*'8g6fgfG
"8g7cgfG
8g7ggfGc 
8g7lgfGx
8gAfgfGD
!8g#agfG
8g	agfG*
8gAggqv:
8gCfgfG3
8[gCggfG
8gctgfGVW
8GdG[[[5[[[
|8g)dgfGq
8g)dgfGvJ
#8GdO[[[
8gE	gfG(
8g'egfG4
8[gEIgfG
8)))@G_FBL
8)))@G_F@JLvGF]@JL
8)))G]FZB[GE
8gGbgfGMF?6gqgg
8gGcgfGJ)
8gGdgfGq
:8gGdgfGQW
8g'@gfG;
8(ggfGBq
8gGfgfG6
8gGfgfGF
8gGFgfGw
8!g;ggfG-
8;!gggGKA
8_ggqggM
8g)gqggQ
8ggwgfGD"
8)))GHDL
_8	gIggfG
8#gIggfG
)8giggfw
8giggfwS
[[[8[[[gK
8g?kgfGCF
8gK)P#-A
8)))@G]L[FYZL[_@JLZ
8)))@G@[LHMZLJ]@FG
8)))GLQ]
8gMcgfGN
.8gOegfG
?[8?GOQY
8_gqdgfG
8gqeggws@d
8gqfgfGw
_8	gqgg#
8gqgg3eA7
8gqgg5-CJ
8gqgg]AO
8gqggC1*
8]gqggc*9
8gqggc]u
8gqgg'G8i
|8gqgg[h
8.-gqggH0"z
8gqggHEd
8gqggI-]
8(gqggI8	
8gqggj"@
8gqggJR|
8gqggKB)
8gqggKSl
[8#gqggO
|(8gqggp
|8gqggto?
8gqggv0J
 8gqggVtq
8gqggz(i
8.g_RgfG
8"*gSbgfGm
8*gSggiM
8"@G'. SM]KOI
8guagfG4
8g!ugfG;
8gUlgfGV
8gv*'d[[
8:gWCgfGf6
8gwdgfG.
8gYkgfG7!4?gqgg
8gYkgfG?V
8gysgfGe
8Gyyyyyy
8)))GZZ@G]L[GHEYBJZ
[[[8[[[h
[[[8[[[H
8())_H[D
:8HdJ[[[
8)))HEF]ZL[_@JL
8He@[[[G[[[
8HeJ[[[([[[
8HeO[[[g[[[7[[[
8HeO[[[M[[[
8HeP[[[F[[[
8HeY[[[.[[[
8HeY[[[t[[[j[[["
8hg!egfG8
8hgkegfG
8)))][HGZOL[
8)))_H[H
8)))_H[HEELQYF[]Z
8)))H[[HP
[8hHPSSPs
8)))HJ[F[M
8)))HJ[FOF[D
8)))HJJLZZ
8)))H]][@K
8)))HMFMK
8)))HMM[LZZFO]H[NL]
8)))HMO@GM
8)))]H[NL]
8HpgppepqG
8)))][HPJ[LH]L@]LD
8)))][HP@]LDMLEL]L
8)))][HPZL]]FFE]@Y
8)))][HPZL]FGL_LG]
8)))HrA[LO
8)))_H[vMM
8())_H[[XSC_YE
8HxyxXx5
8)))]HZBB@EE
8)))_H[ZHMHMZO
8I0ISecurityDescriptorReference
[[[8[[[i2XdO[[[
8iAgfG88
8)))iDH]]@OLZ]H]@FG
8!(IDictionaryW
	8IhAppEventsWWW
8)))iJJvFG
8IJxxxx@xxyxyxyxY[4
8ikpgKogfGw
8(IllllllllmllllOllylm
8I _MapiRecipDescIdlWWW
8'.IMAPITableIdlWWW@
8*iMSGCALLRELEASEIdlWWW
8INxzxby
8INxzxoy
8I*pgppepq
8i_[[[Z[[[K[[[
[[[8[[[j
8jA2d#j;-
8)))JA@EMK@[]A
8)))JA[FDLLQ]LGZ@FG
8)))JAH[
8)))JAHELGNNLZ
8)))JALHYZAAF]
8)))JALJB
8)))JALJBvZY[HPvLQY
@8JdR[[[I[[[
8Jdy[[[.[[[#[[[
8?jegfwEE8
8)))JEHZZ
8)))JEHZZD@]D]H[NL]
8)))JEHZZ]EDLZZHNL
8)))JE@LG]
8)))JFDFKCLJ]Z
8)))jfdye|zv
8)))JFDYFKCOFKC@GOF
8)))JFDY[LZZ
8)))JFFB@L
8)))JFG][FEJFDDHGM
8)))JFG][FEM@ZHKEL
8)))JFG][FENL]]LQ]
8)))JFG][FEZL]]LQ]
8)))JFGJ[L]L]LZ]Z@N
8)))JFG]LG]LM@]HKEL
8)))JFG_L[]O[FD
8)))JFY@LM]ALMEE]F
.8Jgqgg	
8J	gqgg]r
8)))JHEE
@8Jhggfw
8)))JHZL
8JJBBBBBBBB
8)))J@]@KHGB
8jkkkkkL7P
8)))J[LH]LLGJ[PY]F[
8)))J[LH]L]LQ][HGNL
8)))J[LH]LM@[LJ]F[P
8jpgppepq
8JwMQmylO
8)))]JYJEFZLZFJBL]
8)))[]JZALEE
8J_[[[Z[[[K[[[
8jZSysprepModuleWWW
[[[8[[[k
[[[8[[[K
[[[8[[[K8MdC[[[
8||k9||L9||79||
8K@@@@BBABFp@@@@@@@@@@@
8)))KEFJB
8)))KEHJBAFHEE
8)))KEHJBZLH[JA
8)))K@E@P@E@ZA
8)))KFFBDH[BOFEML[Z
8)))KF]ML]LJ]F[
8)))K@GH[P]FZ][@GN
8kglgkjih
8)))K@GvZALEEJFML
8)))K[HGMLM[FYJAH@G
8)))K[HMLZJF
8)))KHZL
8kicgfGK
[[[8kJdF[[[
8KJxyx0y:
8kpgppepq
8)))KZ]H]@Z]@JZ
||||||8	|||l||||
[[[8[[[L
8l9gQbgfG
|8ld][[[
8)))[LDF_L
8l|dK[[[
8l|dS[[[
8l|dT[[[
8l|dV[[[
8)))LEZLRHEL[]
8)))LG]L[
8)))LG]@[LHN[LLDLG]
8)))[LGML[O[HDL@DYE
8)))[LHENHDLZZ
8)))LJAF
8)))[LJF_L[@GNO@ELZ
8lllllllllmllllOllylmG
8Lllllllllmlll]Y]]|
8llllllllmlllHMO8) V8
!8*llllllllmllllOllylm
8 llllllllmllllOllylm
8.llllllllmllllOllylm
8:llllllllmllllOllylm
8@llllllllmllllOllylm
"8llllllllmllllOllylm
)8llllllllmllllOllylm
?8llllllllmllllOllylm
@8llllllllmllllOllylm
[8llllllllmllllOllylm
]8llllllllmllllOllylm
_8llllllllmllllOllylm
8llllllllmllllOllylm
8llllllllmllllOllylm	
8llllllllmllllOllylm 
8llllllllmllllOllylm.
8llllllllmllllOllylm@
8llllllllmllllOllylm_
(8llllllllmllllOllylm2
8llllllllmllllOllylm4
8llllllllmllllOllylm5
8llllllllmllllOllylmb
8llllllllmllllOllylmb1
8llllllllmllllOllylmcqZ
@8llllllllmllllOllylmF
8llllllllmllllOllylmg
8llllllllmllllOllylmh)	(
8|llllllllmllllOllylmI
8llllllllmllllOllylmi
8llllllllmllllOllylmj
8llllllllmllllOllylmJ
8llllllllmllllOllylmn
8llllllllmllllOllylmp
8llllllllmllllOllylmq?
8llllllllmllllOllylmr
8llllllllmllllOllylmR
8llllllllmllllOllylmrQh
8llllllllmllllOllylmt
8llllllllmllllOllylmTk
8llllllllmllllOllylmU
 8)llllllllmllllOllylm V
8(llllllllmllllOllylmV.
8llllllllmllllOllylmyMb6
8llllllllmllllOllylmZ
8_llllllllmllltMO8) V8
8llllllllmllluMO8) V8
8llllllllmlllwMO8
!8*llllllllmlll]Y]]
8|llllllllmlll]Y]]
-8llllllllmlll]Y]]
]8llllllllmlll]Y]]
8llllllllmlll]Y]]
8)))[LNLQ
8)))[LNQ
8)))[LNZH_LABEDuZHD
8@@@@@@@@Lp@
8@@@@@@@@Lp@e8
8l?pgppepq
8@@@@@@@@Lp@l)
8@@@@@@@@Lp@m
8lppbCollapseStateWWW
8)))]LQ]
8)))LQJLE
8)))LQLJ
8)))LQLJvJF
8)))LQ]LLLJ
.8lRllylm
8lSSSSSSSS
8lUbiggogfGO
_8L[wcubgfG
8Lxx]Y]]
8LxyxwyI@MVIJIVIOOVIOOyxvyI@MVIJIVIOOVMKyxsyLMVNKVJMVMMyxuyIIIVNOVINVJHJyxuyILJVLVJHLVIIIyxtyILJVLVJHMVLOyxtyKIVKVIKMVJKJyxuyNJVIIKVJHKVMMyxvyKOVJJ@VIMIVIKKyxuyILLVONVIKKVK@xxpx]Y]]
8L(((]Y]]
8)))LZJHYLZALEEJDM
8m8P8O8O8
8MCd[[[[
8MdJ[[[o[[[
8Mdx[[[K[[[J[[[
8)))MEEJHEEHMM[LZZ
8)))MFGF]][P[LZ]F[L
8mfL[[[e[[[d[[[Y
8mfz[[[d[[[
8mfZ[[[m[[[
8)mggfwZGQ
"8MgmogfGf
8Mgqgg3Z
8	Mgqggj
8mgwggfw
8)))MHNNL[JE@Y
[[[8[[[mkTdC[[[
8[[[m?LdL[[[
8mlIInstallContextW
8MllllllllmllllOllylm'
8)))M[@_LNL]ZL[@HE
8)))M[@_LZYHJLO[LL
||8M||	M||
8MNMAPIInterfaceTypeWWW
8)))MPGHD@JHZZLDKEP
8mpgppepq
8MPOCtaH
8!mSSSS]
8mv_SLargeIntegerArrayIdlWW
8mVvAt#j
8n   !    
8n6PrivateTestPackagerTypeConstsWWW
8N8*8O8O8O8O8O8P8P8
8N8G8I8Z8
8N8O8N8O8O8
8nCdN[[[
[[[8NDdI[[[
8)))NEFKHEZ
8ngooggGx
8)))NJ@	
8)))NL]OHJLKFFBMH]H
*.8NL]@Y
|||||||||||8O
8O8M8O8"9
8O8O8N8N8R8O8
8O8O8O8O8
8O8O8O8O8O8
8O8O8O8O8O8O8
8O8O8O8O8O8O8O8O8O8
8@@@@@o@@A@AAac
8ocH[[[z
*8oecgfG
8)))O@EEJFML_LJ]F[Z
8)))OEHZAYEHPL[
8)))O@ELFYLGM@HEFN
8)))O@ELNL]_L[Z@FG
8)))O@ELZH_LM@HEFN
8)))O@EL@ZY[F]LJ]LM
8)))OFEML[@]LD
_8OfflineInstallerRepositoryWW
8)))OF[]@][HJL[
8og_ActReplyIdl
8Og'dgfGh
8)))O@GM
8ogqgg@*
8)))O@G@ZALM]LZ]@GN
8)))@O[HDL
8)))OHOH
8OJgqggt
8)))O[LLFEMZHOL
8)))O[LLHEEZHOL
8ollllllllmllllOllylm
8OllllllllmllllOllylm
8O-llllllllmllllOllylmd
8)))@OLQ]
"8ORSsNXSSS@S
8Osg]cgfG
8oTbgfGv5
8owgqgg]
8PdJ[[[S[[[D[[[evMdW[[[R[[[
8PdY[[[I[[[
8Pg7ggfGy
8 pgfG*@
#8.pgppepq
.8_pgppepq
8	pgppepq
8!pgppepq
8_pgppepq
'8pgppepq
)8pgppepq
[8pgppepq
_8pgppepq
8pgppepq
8pgppepq	
8pgppepq"
8pgppepq*
8pgppepq.
8pgppepq|
8pgppepq2
8pgppepq3PG
8pgppepq6
8pgppepqA
8#pgppepqB
8pgppepqFs(
8pgppepqh
8pgppepqH
"8pgppepqKc
|8pgppepqL
8pgppepqq
8pgppepqS
8pgppepq?tt
8pgppepqW
8pgppepqy
8pgppeptyUSr
?8Pgqgg#
8pllllllllmllllOllylm@
8PllllllllmllllOllylm
8)))PMFKLZ
[[[8[[[pMMdB[[[
8p@Mmggfw7
8)Ppgppepq
8ppgppept# 
8)))@]PYL
|8pzrzzizzzyz|zzrzztzzz|zzzzrzz
[[[8[[[q
8||q9||X9||E9||69||#9||
|8QdC[[["
8q@dP[[[
8Qgqgg:Ws'L
8)))QJDE
8)))]QLG
8q[pgppepqt
8qqMqMMqMMMMMqK 
8q]QueryFlagsWW
.8QSllllllllmllllOllylm
8QTQQNQNNF
8quWINNBH
8r8gqggh
8R8O8N8N8N8N8N8
[8@@@@@r@@A@AAac
|8Rgqgg1
8)))rKP]Lrtt
8)))rLG_@[FGDLG]t
8RllllllllmllllOllylm
8[[[rN@fB[[[?[[[
8[[[rNUdV[[[
8RQLffCg
8RSSZsSRSS
8	RtlLengthSid
8)))RuFKCLJ]uFKCFJQ
8rxMyW[W[
8)))rZ][@GNt
8:":rzr3#7
8s@@@@@@A@
8@s@@A@AAacoo
8; sagfG
8sc_9Wcg
??8SC@mmcerror@@QEBA_NAEBV01@@Z
??8SC@mmcerror@@QEBA_NJ@Z
#8Sd@[[[
8_SdF[[[
8SelectionInstancesWW0C
8sgggw"rD
8sggsgfGY
8sgiggfwv
[[[8[[[s[i[k[o[l[w[h[r[w[
8)))SL[@FGD@G@ZALEE
8sllllllllmllllOllylm
8SllllllllmllllOllylm
8SNIGroupTrusteeWWWD
8#Spgppepq
8ssILocalizationResourcesWW
8ssMn9yg
8)))SSSH
8:#SwSSSSQOSiWQSSUSSSS
8)))S@YUZLELJ]
8TAIProfSectIdl
8)Tgqgg!
8TgwdgfG
8tJhggfw
8)))TJH]JA
8tl_SMAPIVerbArrayIdlWW
8TWRgYgg
8t(xx]Y]]
??8type_info@@QEBAHAEBV0@@Z
[[[8[[[tzTdX[[[
[)[-[8[u[:[([6[#[[[
[)[-[8[u[:[([6[#[[[	[
8U8W8V8Vg!gg
8)))uA@BFZ
8)))uC@ML[]
[[[8'UdO[[[;
8UdV[[[3
8)))uDZLMNL
8uFNEpgppepq
8)))uG@FEHZ
8u"g-kgfG
8u!gqgg7'k
8)))uHYYMH]HuEFJHEu
8uillllllllmllllOllylm
8)))uJA[FDL
8uk6@@@@B@A@2 @
'8uK'e;]H
8uLIPreGatherWW
8UllllllllmllllOllylm
8 U_MapiFileDescWIdlWWWd
8uMdO[[[
8[[[U.meZ[[[?[[[
8]'umgfG
8UPdM[[[c[[[
8upgppepq
':8UUGUU
':8UUGUU	
8 UUHUUi
:8:!:UUKUU	
:8:!:UUuUU
8)))uuY@YLuuZYFFEZZ
	8UWVR8P8VQ8Vg*gg
8)))uZPZ]LDuM@ZHKEL
[[[8[[[v
8V6gqgg6
8@@@@@v@@A@AAac
8VdE[[[:[[[8[[[
@8VdJ[[[
8VdU[[[G[[[
(8VgAgg|
8Vgi#gfG
8)))vH[[HPE@Z]
8vkv?1pXJz
8)))v[LJF[MZL]
8|vodo9ogo
8|voeo7ogo
8V]_SMAPIFormPropEnumValIdl
8)))vvY[F]Fvv
8VWUSWI!gSggt
[[[8[[[WB
8wCllllllllmllllOllylm
[[[8[[[)"WdB[[[
8WdI[[[0[[[
8WdK[[[H[[[
8Wgqgg@V
8w	hSRSSTs
8'wIStringTableEntryWWW
8Wo_dgfG
8wo_[[[q[[[
8wwww3'"r"'"x
8X4||||4
8X48E;Ts
8x4xxx(xxxJ
	8:X	8:X	8:X
8X@@@@B@A@Hp@eZ
8X@@@@BBA@AQ@@@@@@@@@@BAA@Hp@D
8XD||||4
8XD5|||4
8XD5|||8
8XD5|||s;
8XD8E X8s
8XDl|||s
8Xd||||O
8XFiAAAA
8X(((gqggB
8)))XGXFYX[XFXOX@EL
8XHx|||5
8XL||||4
8xLGyyyyy9e9yyym#
8XLi|||4
8XLK|||9O
8XLL|||4
8XLL|||5
8xllllllllmllllOllylm.
8Xl||||O
8XLw|||9
8[[[xmde@[[[
8[[[?xOdx[[[
8xOzxdyH9x
8:XRich	8:X
@8x?t0H;
8XT]|||0w
8XT]|||8
8XTr|||4
8XTx|||8
8XTy|||4
8XTy|||O
8XVr4";7
@8xxx]Y]]
8xxx]Y]]
8xxxyxcy
8xxxyxdy
8xxxyxmy
8xxxyxry
8x:xxyxyxyxxyxMz
8xxy"# !"
?)8xx]Y]](dX
8xxzx]Y]]#
8xyh;xyW;xy6;xy	;xy
8xyn:yyZ:yy
8xyo;xyK;xy7;xy
8xyq;xyf;xyA;xy4;xy
;8x(yxnx
8xyz;xye;xyJ;xy5;xy
8xzxwx?(
	(8((]Y]]
  8     ]Y]]
(8((]Y]]
(8((]Y]]_
-(8((]Y]]
|(8((]Y]]
8'((]Y]]
8*'((]Y]]
8@@@@]Y]]
8y7 fgfG
)**8y8-44
8@@@@@y@@A@AAac
8Y@AB@PpST
8Y@BB@PpT@@@@@
8)))YBJZ
8Y@@B@PpTk
8YCCNCCCBACCj
8YC]Y]]z'Y
8:YdL[[[
8YdM[[[:[[[?[[[
8)))YEHP
8[YFileRepositoryTypeConsts
8)))Y[FJLZZ
8)))Y[FJNL]MJ
8)))Y[FO@ELZvJA[FDL
8ygIcgfG
8]Y]]gyY
8)))YH]A
8)))YHPDLG]ZA@Z]F[P
8)))YHPEFHM
8)))YH[ZLv@Y_
8YIIMAPIContainerIdlWWW
8]Y]]iTY
8]Y]]IuX
8*((]Y]]*j_
8YJd_[[[q[[[
8yLyxwy0
#8?yMJNyyyyyHKLKyyyyseyyH
8ypgppepqu#
8)))Y@QLEvJFDDHGMvv
8YSSS@S]ORSRS
@8y@u6H9y(v0
@8y(uGH9y
	8YUqSSs
8yxrxRWBR
8y-y4yyy
8yy"8yy6Ayy
8yydYyyx#yy
8yyf8yyA8yy(8yy
8yyh;yyyyyyo;yyS;yyO;yy4;yy
8yyj8yyY8yyU8yyC8yy38yy"8yy
8yym;yyT;yy
8yyq;yyt;yy
8yyr;yyZ;yy9;yy-;yy
8yyt;yyb;yyH;yy8;yy6;yy
8yyt;yyg;yyH;yy?;yy#;yy
8yyU;yy	;yy)9yy 9yy
8yyu;yyY;yyM;yy5;yy
8yyxyyy|yyy|yyyA8yy58yy
8:)yy.y:
8yyyiyyyyyyyyyyyyyyyyyyyyyy
8yyyy*1?
?8yyyyOi]
8yyyyOi]
8		yyyyy1
8yyyyy6	
8yyy;yyn;yyQ;yyO;yy:;yy
?8yyyyyy
8yyyyyy!
?8yyyyyyA9yyyyyy79yyyyy
8yyyyyyy:
?8yyyyyyy9P(
8yyyyyyyy
8yyyyyyyy)
8yyyyyyyyyy
8yyyyyyyyyyyyyyyyyy
8yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
8yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
8yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
8yyz;yyi;yy
8zAAAACU@AIqA
8)))ZAH[L
8)))ZALEE
8)))ZALEEFKC
[[[8zbeQ[[[
8)))ZBPYL[FFDZPZ]LD
8)))ZDH[]ZJ[LLG
8ZdN[[[Z[[[
8ZdR[[[j[[[g[[[
8ZdT[[[Z[[[
8zg#cgfG
8Zg!fgfG
8)))Z][@GN
8)))Z][@GN][@DELO]
8)))Z][@GN]FK@GH[P
8)))Z][@GN@ZQM@N@]
8)))Z]H[]
8)))ZHO[HGL]
8)))ZJA]HZBZ
8)))z@KAH
8)))Z@KHEZHB@L
8)))ZLGM
8)))ZLGMBLLYHJ]@_L
8)))ZLJ[L]ZL[_L[
8ZllllllllmllllOllylmA
8)))ZMGZC
8ZNISettingInformationWx
:@8zpu4H
8)))ZPZHGHEPSL[
[[[8zwd[[[[
8zwd@[[[
8zwd_[[[
8zwd_[[[2[[[6[[[
8zwd][[[3[[[1[[[
8zwd_[[[5[[[
8zwd_[[[8[[[
8zwdA[[[
8zwdA[[[z[[[y[[[
8zwdB[[[
8zwdB[[[W[[[K[[[
8zwdC[[[
8zwdC[[[D[[[
8zwdD[[[v[[[k[[[
8zwdF[[[
8zwdF[[[-[[[
8zwdF[[[?[[[
[[[8zwdH[[[
8zwdH[[[
8zwdH[[[8[[[
[[[8zwdI[[[
8zwdI[[[
[[[:[[[8zwdJ[[[
8zwdJ[[[
8zwdK[[[
8zwdK[[[	[[[
'[[[8zwdL[[[
8zwdL[[[
8zwdL[[[![[[ [[[
8zwdL[[[t[[[
8zwdM[[[
8zwdM[[[N[[[
8zwdM[[[q[[[
8zwdM[[[q[[[w[[[
8zwdN[[[
8zwdO[[[
[[[8zwdP[[[
8zwdQ[[[
8zwd][[[R[[[
[[[	[[[8zwdS[[[
[[[8zwdS[[[
8zwdS[[[
8zwdT[[[
8zwdT[[[M[[[|[[[
8zwdU[[[)[[[
8zwdV[[[
8zwdx[[[
[[[8zwdX[[[![[[
][[[8zwdX[[[
8zwdy[[[
8zwdY[[[
8zwdY[[[1[[[
[[[8zwdZ[[[
8zwdZ[[[
8zwd_[[[Z[[[5[[[u
8.Zw:(jF
8)))ZXEJFML@GCLJ]LM
8)))ZYE@]
8zyf;zy1;zy	;zy
8zyf@zy:9zy
8zym;zyR;zyE;zy*;zy
8zz[G[[H
  :     9
  @     9
  9     
:|9  '     
;]']:::::9
[[[:[[[9
[[[;[[[9
[[[9[[[ 
[[[9[[[-
[[[9[[[:
[[[9[[[;
[[[9[[[]
[[[9[[[|
|||||||||||||||9|
|||||||||9|
|||||||9|
9@@@@@@@@
  9      0  
:9':!01UUqUUd
:9':!01UUvUU
:-90-2:-
*9.03.8r
904'UUFUU
904;UUgUU
90599999999999:79:599xxx
9080;!UUOUU
90Cgqgg"
90g'dgfGT7R
90g?qgfG!IY
  9      0  I9_[
90-UUKUU
90-UU|UU
90.((]Y]]
:910'UUGUU
:910'UUGUU	
:910'UUGUU 
:910'UUGUU!
:910'UUGUU"
:910'UUGUU'
:910'UUGUU(
:910'UUGUU)
:910'UUGUU*
:910'UUGUU-
:910'UUGUU:
:910'UUGUU;
:910'UUGUU?
:910'UUGUU?_
:910'UUGUU@
:910'UUGUU[
:910'UUGUU_
:910'UUGUU0
:910'UUGUU0)
:910'UUGUU0sI
:910'UUGUU1o
:910'UUGUU28
:910'UUGUU-2i
:910'UUGUU3
:910'UUGUU3 X
:910'UUGUU4
:910'UUGUU40
:910'UUGUU40"
:910'UUGUU5
:910'UUGUU5tz
:910'UUGUU6R
:910'UUGUU6s
:910'UUGUU7
:910'UUGUU7'G
:910'UUGUU8
:910'UUGUU9
:910'UUGUU9yW
:910'UUGUUa
:910'UUGUUax
:910'UUGUUb
:910'UUGUUb#
:910'UUGUUb'
:910'UUGUUB
:910'UUGUUbvQ
:910'UUGUUbZ
:910'UUGUUc
:910'UUGUUc#
:910'UUGUUC;-
:910'UUGUUce
:910'UUGUUd
:910'UUGUUD
:910'UUGUUD8
:910'UUGUUe
:910'UUGUUE
:910'UUGUUeT
:910'UUGUUEX
:910'UUGUU*F
:910'UUGUUF
:910'UUGUUFJK
:910'UUGUUg
:910'UUGUU_G
:910'UUGUUG
:910'UUGUUg1
:910'UUGUUh
:910'UUGUUHZoM
:910'UUGUUi
:910'UUGUUI
:910'UUGUUiA
:910'UUGUUi#YH
:910'UUGUUiY!L
:910'UUGUUj
:910'UUGUUJ
:910'UUGUUJ'
:910'UUGUUJN
:910'UUGUUk
:910'UUGUUl
:910'UUGUUL
:910'UUGUUlM
:910'UUGUUmkg
:910'UUGUU|n
:910'UUGUUn
:910'UUGUUn[
:910'UUGUUN
:910'UUGUUN 
:910'UUGUUnG
:910'UUGUUo
:910'UUGUUO
:910'UUGUUo0
:910'UUGUUo7
:910'UUGUUoz
:910'UUGUUp
:910'UUGUUP
:910'UUGUUP)
:910'UUGUUp]F
:910'UUGUU_pG"
:910'UUGUUq
:910'UUGUUq)
:910'UUGUUQ
:910'UUGUUr
:910'UUGUUR
:910'UUGUUr9
:910'UUGUURj
:910'UUGUUS
:910'UUGUUS7jh
:910'UUGUUt
:910'UUGUUt]
:910'UUGUUT0
:910'UUGUUTk
:910'UUGUU.u
:910'UUGUUu
:910'UUGUU]Ub
:910'UUGUUuF
:910'UUGUUus
:910'UUGUUv
:910'UUGUU?V	
:910'UUGUUV
:910'UUGUUV 
:910'UUGUUvcz*
:910'UUGUUVH
:910'UUGUUvr
:910'UUGUU"w
:910'UUGUUw
:910'UUGUUW
:910'UUGUU|W0
:910'UUGUUwF
:910'UUGUUWf
:910'UUGUUx
:910'UUGUUX
:910'UUGUUxA
:910'UUGUUXk
:910'UUGUUY
:910'UUGUUyy
:910'UUGUUz;
:910'UUGUUZ
:910'UUGUUzk
:910'UUGUUZrql
:9:1;618
9(188xyxay1
-9":1)9?
""9197M!
	919H919#yF
	919H919#yyF
	919H919#yyyF
	919H919#yyyyF
	919H919#yyyyyyF
919K93009#yF	
919K93009#yyyyyF	
919K93009#yyyyyyyF	
919K93119#yF
919K93119#yF	
919K93119#yyF
919K93119#yyyF
919K93119#yyyyF
919K93119#yyyyyF	
919K93119#yyyyyyF
919K93119#yyyyyyyF	
919K93119#yyyyyyyyF
919K93??9#yF	
919K93??9#yyyyyyyF	
919K93.M
919K99#yF
919K99#yyyF
919K99#yyyyyF
919K9!#yF
919K9!#yyyyyyyF
919:O99H9;
91Gmggfw*
91.gqggp
:9:1;:-q314_
:9:1;:-q314_@__]_
:9:1;:-q314_A__]_
:9:1;:-q314_A__O_
:9:1;:-q314_A__T_
:9:1;:-q314_D__]_
:9:1;:-q314_E__O_
:9:1;:-q314_E__T_
:9:1;:-q314_G__F_
:9:1;:-q314_G__O_
;:9:1;:-q314_@__H_
:9:1;:-q314_J__O_
;:9:1;:-q314_@__O_
;:9:1;:-q:':]Y]]L]]
91'UUpUU
9: 1UUyUUW?t[
9(1xyxai
9(1xzxay
["[9[)[2[?[
||||92(|||||
||||92)|||||
||||92;|||||
922337203685477580
923?589r
||||92)|||||4S
||||925|||||
9?#)25-##
||||926|||||lR
|||92)|||||9
||||92)|||||DS
92gMkgfGQZ
92gqgg8t
92pgppepq
[[[9[[[3
[[[9[[[3[[[
93|  ;     
(93(37( yxsy;
[[[9[[[3A
93DyyyjSyoF
93#gqggs
.93":L(H
93pgppepq
93-xyxZy(x
93Yd[[[[
[[[9[[[4[[[
:";9:410'
:";9:4101
:";9:410'o
9:410'UUHUU
:";9:410'UUpUU
:";9:410'UUqUUD
:";9:410'UUrUU
:";9:410'UUsUU
:";9:410'UUtUU
:";9:410'UU|UU
:";9:410'UU|UUn
:";9:410'UUwUU1
9462beca-5a6e-4c21-9b19-f72f66d0c87e
94):(9?19
949H98;49#yF	
949H98;49#yyyyF	
949H98;49#yyyyFF]	
949H98;4I9#yF	
949H98;4I9#yyyF	
949H98;4I9#yyyFF]
949H99#yF
949H99#yFFIF]
949H99#yyyF
949H99#yyyFF]
949H99#yyyFF]	
949H99#yyyyFF]
949H99#yyyyyyyF
949H99#yyyyyyyyF
949I98;49#yFF@
949I98;49#yFF]	
949I98;49#yFFA
949I98;49#yFF]F@79
949I98;49#yFF]FA79
949I98;49#yyFF@
949I98;49#yyFFA
949I98;49#yyFF]F@49
949I98;49#yyFF]FA49
949I98;49#yyyyFF]	
949I98;4I9#yFF]	
949I98;4I9#yyyFF]
949I99#yFF@
949I99#yFF]
949I99#yFFA
949I99#yFF]F@49
949I99#yFF]FA49
949I99#yFFL
949I99#yFFO
949I99#yyFF@
949I99#yyFFA
949I99#yyyFF]
949I99#yyyFF]	
949I99#yyyyFF]
949I99#yyyyyyFFL
949I99#yyyyyyFFO
949I99#yyyyyyyFF]
949I99#yyyyyyyyFFL
949I99#yyyyyyyyFFO
949I9I9#yFF@
949I9I9#yFFA
949I9I9#yFF]F@49
949I9I9#yFF]FA49
949I9I9#yyyyFF@
949I9I9#yyyyFFA
949I9I9#yyyyFF]F@49
949I9I9#yyyyFF]FA49
94@B@A@@
:94fgfGh
94gqggu(
94gUwgfG
9[[[4l|dS[[[
94m.@egY
94OQg'egfG
94ppAggdgfG
 94UUyUU
9[[[4wCdK[[[
94Xgqgg*U
[[[9[[[5
95AAAAAECAAQ1AAAAAAtAAAAAAAAAAACCAAD1AAAAAAAAAA@AAAAAAACCAA
95aa]Y]]
 95gqgga
95gsggfG
95llllllllmllllOllylm
?:95@L)!W
9*5P'"1  5"
9*5P ?#P
95SgcegfG
"9")")"6"
.962((245_[[[Z[[[zrzzzzzzzzzzzrzzrzzzuzzz[
963:q:':_J__z_
966gIdgfG9D
9:69?@9"9:
969H98;69#yF	
969H98;69#yyyyF	
969H98;69#yyyyFF]	
969H98;6I9#yF	
969H98;6I9#yyyF	
969H98;6I9#yyyFF]	
969H99#yF
969H99#yFFIF]
969H99#yyyF
969H99#yyyFF]
969H99#yyyyF
969H99#yyyyFF]
969I9)819#yFF]
969I98;69#yFF@
969I98;69#yFF]	
969I98;69#yFFA
969I98;69#yyFF@
969I98;69#yyFFA
969I98;69#yyFF]F@69
969I98;69#yyFF]FA69
969I98;69#yyyyFF]	
969I98;6I9#yFF]	
969I98;6I9#yyyFF]	
969I99#yFF@
969I99#yFF]
969I99#yFF]	
969I99#yFFA
969I99#yFF]F@69
969I99#yFF]FA69
969I99#yFFL
969I99#yFFO
969I99#yyFF@
969I99#yyFFA
969I99#yyFF]F@79
969I99#yyFF]FA79
969I99#yyyFF]
969I99#yyyyFF]
969I99#yyyyyyFFL
969I99#yyyyyyFFO
969I99#yyyyyyyyFFL
969I99#yyyyyyyyFFO
969I9I9#yFF@
969I9I9#yFFA
969I9I9#yFF]F@69
969I9I9#yFF]FA69
969I9I9#yyyyFF@
969I9I9#yyyyFFA
969I9I9#yyyyFF]F@69
969I9I9#yyyyFF]FA69
96gqgg1xS
96llllllllmllllOllylm
'96pgppepq
96pgppepq
96'q314_G__O_
96'q314_I__O_
96'q314_J__O_
96':-q314_L__O_
96'q314_Q__O_
96'q;-)_N__w_
'96xzxky
979H98;79#yF	
979H98;79#yyyyF	
979H98;79#yyyyFF]	
979H98;7I9#yF	
979H98;7I9#yyyF	
979H98;7I9#yyyFF]	
979H99#yF
979H99#yFFIF]
979H99#yyyF
979H99#yyyFF]
979H99#yyyyF
979H99#yyyyFF]
979I98;79#yFF@
979I98;79#yFF]	
979I98;79#yFFA
979I98;79#yFF]F@69
979I98;79#yFF]FA69
979I98;79#yyFF@
979I98;79#yyFFA
979I98;79#yyFF]F@79
979I98;79#yyFF]FA79
979I98;79#yyyyFF]	
979I98;7I9#yFF]	
979I98;7I9#yyyFF]	
979I99#yFF@
979I99#yFF]
979I99#yFFA
979I99#yFF]F@79
979I99#yFF]FA79
979I99#yFFL
979I99#yFFO
979I99#yyFF@
979I99#yyFFA
979I99#yyFF]F@49
979I99#yyFF]FA49
979I99#yyyFF]
979I99#yyyyFF]
979I99#yyyyyyFFL
979I99#yyyyyyFFO
979I99#yyyyyyyyFFL
979I99#yyyyyyyyFFO
979I9I9#yFF@
979I9I9#yFFA
979I9I9#yFF]F@79
979I9I9#yFF]FA79
979I9I9#yyyyFF@
979I9I9#yyyyFFA
979I9I9#yyyyFF]F@79
979I9I9#yyyyFF]FA79
97aa]Y]]
97llllllllmllllOllylm
#97P'"1  5"
97tg9sttFL
9:7UUyUU
97@@@@]Y]]
[[[9[[[8[[[
9#||||||||#8	
9-8*)4-*6
988888888
98gAggBP5
''9::9''
('9::9((
[[[9[[[9
9	?	9	?	-	)
991224175051Z
9919#yyF
9919#yyy
9919#yyyyF
9919#yyyyyyy
9928!!#yF
9928);?!#yF
9928!!#yyyF
9928);?!#yyyF
99:6UUsUU
99 8!09#yF
99 8!09#yyyF
99*80!#yF
99*80!#yF*
99*80!#yF.
99*80!#yF0
99*80!#yyF
99*80!#yyF*
99*80!#yyyF
99*80!#yyyyF
99*80!#yyyyyF*
99*818;19#yF
99*818;19#yyF
99 8!19#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
99*81!#yF
99*81!#yyF
99*81!#yyyF
99*81!#yyyyF
99*81!#yyyyyF
99*82!#yF
99*82!#yyF
99*82!#yyyF
99*82!#yyyyF
99 83!#yF?
99*83!#yF
99*83!#yyF
99*83!#yyyF
99*83!#yyyyF
99*84419#yF
99*84419#yyyyF
99*84449#yF
99*84449#yF	
99*84449#yyyyF
99*84449#yyyyyyF	
99*84449#yyyyyyyyF
99*8449#yF
99*8449#yyF
99*8449#yyyF
99*8449#yyyyyyF
99*84!#yF
99*84!#yyF
99*84!#yyyF
99*84!#yyyyF
99*86619#yF
99*86619#yyyyF
99*86669#yF
99*86669#yF	
99*86669#yF		
99*86669#yyF	
99*86669#yyyyF
99*8669#yF
99*8669#yyF
99*8669#yyyF
99*86!#yF
99*86!#yyF
99*86!#yyyF
99*86!#yyyyF
99*87719#yF
99*87719#yyyyF
99*87779#yF
99*87779#yF	
99*87779#yyF	
99*87779#yyyyF
99*8779#yF
99*8779#yyF
99*8779#yyyF
99*87!#yF
99*87!#yyF
99*87!#yyyF
99*87!#yyyyF
99 8)8!09#yF;
99*8)8!09#yF?
99*8)8!09#yFFK:
99(]8889!#yFFI6
99(8890##yFFI*
99(8890##yyyyy
99*8!)8!9#yFFJ:
99*8!)8!9#yFFM*
99*8!)8!9#yyyF6
9988NST6
99(88!!#yF
99 8)8!!#yF0
99(88!!#yyF
99(88!!#yyyF
99(88!!#yyyyF
.:998F8:8:1M
99*8F8.M
99 8)O8109#)O8109#9#y
99 8)O8!!#19#yF
99 8)O8!!#19#yyyF
99*8!)O8!)8!9#I9#yF*
99 8)O8!!#)O8!!#9#yF
99 8)O8!!#)O8!!#9#yyF
99 8!!#y
99 8!!#yF
99*8!!#yF
99*8!!#yF*
99*8!!#yF:
99*8);?!#yF
99*8:!#yF
99*8?!#yF
99 8!!#yyF
99*8:!#yyF
99*8?!#yyF
99*8);?!#yyyF
99*8:!#yyyF
99*8?!#yyyF
99*8!!#yyyF8
99*8:!#yyyyF
99*8:!#yyyyF	
99*8?!#yyyyF
99*8:!#yyyyyF
99*8:!#yyyyyyF
99*8!!#yyyyyyyF.
99*8:!#yyyyyyyyF
	?)9990yxP
.(9(9(9(1
99946!9903
@!)-99992
;9!999;5W
999999999)99999999999999999999999999999999999999999999999
9999999999999999999999zx
  999d9AAdddA999      
999H98yF
999H98yyF
999H98yyyF
999H98yyyyF
999H98yyyyyyyF
999H99#yFFIF]
999H99#yFFL
999H99#yFFLF]
999H99#yFFOF]
999H99#yyFFIF]
999H99#yyFFLF]
999H99#yyFFOF]
999H99#yyyFFIF]
999H99#yyyyyyFFIF]
999H99#yyyyyyFFLF]
999H99#yyyyyyFFOF]
999K99#yF
999K99#yyyF
999K99#yyyyF
999K99#yyyyyyyF
999K9!#yF
999K9!#yyF
999K9!#yyyF
999K9!#yyyyF
999K9!#yyyyyF
999K9!#yyyyyyF
999K9!#yyyyyyyF
999K9!#yyyyyyyyF
999#yFFI
999#yFFIF]
999#yyFFI
999#yyFFIF]
999#yyFFM
999#yyyF
999#yyyFFI
999#yyyFFIF]
999#yyyFFM
999#yyyyFFI
999#yyyyFFIF]
999#yyyyFFL
999#yyyyFFM
999#yyyyFFO
999#yyyyyF
999#yyyyyFFIF]
999#yyyyyyF
999#yyyyyyFFIF]
999#yyyyyyyFFIF]
999#yyyyyyyyF
99I18yyyF
99I18yyyyF
99I38yyF
99I(838yyF
99I)838yyF
99K0;yyF
99K0;yyyyyyyF
99K1;yyF
99K1;yyyF
99K1;yyyyF
99K3;yyyyF
'9:9KO9O@xyxvyVx
99llllllllmllllOllylm
99N9;@94
99O;9yyFF;
99O;9yyFF@
99O;9yyyyFF;
99pgppepq
99:VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
'99xyxdyVVV]HJ
99ymyyyyyyyyyyyyyyyyyyy
99ymyyyyyyyyyyyyyyyyyyyA
99yqyyyA
99yy8y	y
99!#yyyF
99!#yyyF	
.99yyyyA
99!#yyyyF
99yyyyqyyypyyysyyyryyyuyyywyyyiyyykyyymyyyoyyyayyycyyyeyyy]yyyIyyy
99yyyyqyyypyyysyyyryyyuyyywyyyiyyykyyymyyyoyyyayyycyyyeyyy]yyyIyyyA
99yyyyym
99yyyyyy
99yyyyyym
99yyyyyyy
99yyyyyyym
99yyyyyyysyyyyyyy
99yyyyyyyy
99yyyyyyyym
99yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
99yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
99yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
99yyyyyyyyyzyyy
99|ZllllllllmllllOllylmm
[[[9[[[a
[[[9[[[A
9@@@@@@A@@
9@@A@3 EV
9A98u6A9x
9AAAAAA@AAAAAC
9AAAAAA@AAAAACi
9AAAAYA@AYq
9AABC2!DW
9@@AAh Jgj
9A@AIAH@UA;;:ULO
9@@ABh Jgj
9AC@Ai!FAAAAA
9AddEntry
9AdG[[[o[[[l[[["
;9*a'ege5
9@@@@@A@@Ep@Hr
9)))AFFBHGHHYY
9)))]AF[HJ@J
9agfGC4XBgqgg"
9AgfGSSP
9;|agfGzJ
9AgmfgfG
;9agqggh
9)))AHE]
9@@A@h FMHc
9)))AH_LDFZ]Z
9@@@@@@A@h MN
9@@A@h PN]
9a;k)7p@gAgg
9aKdJ[[[
9aKdS[[[
?[[[9aKdT[[[
9aKdU[[[
9)))ALHML[ZYHD
9AllInstances
9AllllllllmllllOllylm
'@9AMJ;A:xyxhy
9aPaPaAa
9)))APK[@XMCZ
9@@A@(p@Mw
9@@@@ap@XR
9aQ@@@@@m@@A@ACac
9AS[8ASf8AS
:;!':9aUUJUU
9AwdwgfG
9awFggfG
9)))A]]Y
9)))A]]YJF[L
9)))A]]YYFZ]LMO@EL
9)))]A@Z
9)))]A@Zr
[[[9[[[b
[[[9[[[B
9b16kz)(R
9B4ub@8z
@9B9@?B?@#B#@ B @:xXp
9@@@@B@A@@
9@@@@B@A@2 @Cc
9@@@@B@A@2 @E
9@@@@B@A@2 @H
9@@@@B@A@2 @L
9BAAAA@AAAAAC
9@@@@BA@@Hp@F7
9B@A@Hp@L
!9@@@@B@A@Jp@B
9@@@@B@A@Jp@N
9@BB@NpL@@@@@
9bCCNCCCBACC
]9Bckzs6
9)))B@EEHEE
9)))BFGHD@BLPKFH[M
9)))BFGHD@HMHY]L[
9BgUHgfGW
9@@@@B@@@Hp@V
9BIzgCbgfG
9)))BL[GLEKHZL
9)))BL[KL[FZ
9 BllllllllmllllOllylm
9BllllllllmllllOllylm
9BMEOllllllllmllllOllylm
||9Bt|||||
9BWBTf7BW
9c8gqggP7NSW
9caaaafaaa
9CAaAMqAzk
9cCCNCCCBACC
9(#c'dgfG
9[[[cfSdJ[[[
9cgfGluT?gqgg
9CgqggC(
9c-j]kks
9CluN9ChuI
( 9cmiPairWd
9cmiRegLinkWW
9cmiUnattendSemanticValidationWWW@Q
9Copyright (c) Microsoft Corporation. All rights reserved.
9ct|Oct|
9C	u6iD"
@9C@u@AEac
9Cuycc#P
9())CY[FN[HDO@ELZM@[JFDDFGO@ELZM@[J
9)))CZFG
9)))CZJ@DHNL
[[[9[[[d
9d_[[[_[[[][[[
[[[9[[[D
9d4.OdxN
|||9D9|	q8
9dC[[[3[[[2[[[y
9_dC[[[5[[[
9dC[[[c[[[
9dC[[[O[[[C[[[[[[d_[[[N[[[
9DdA[[[!
|9DdA[[[F[[[
9DdA[[[W[[[V[[[
9DdB[[[z[[[
9DdC[[[-[[[
9dddgeggBgeBeddd99    i
9DdF[[[9[[[
9DdF[[[O[[[L[[[s
9DdH[[[F[[[l[[[
:9DdO[[[
9DdO[[[l[[[a[[[
9Ddx[[[0[[[
9DdY[[[n[[[
	9DdZ[[[Q[[[
9d_[[[f[[[
9)))DFSE@EHO[@LOFQ
9dG[[[a[[[f[[[
9dgfGoku
9)))D@GL[
9-dH[[[F[[[
9)))DH@G
9)))DH@GZ]H]@Z]@JZ
9)))DHMLKPJPKF[N
[[[9[[[[[[dI[[[
9dI[[[a[[[
 !9dJ[[[
9dJ[[[A[[[z[[[
9)))DJ[PY]vLGJ[PY]
[[[9[[[[[[dK[[[
9dK[[[R[[[W[[[
9dL[[[1[[[
9)))DL]AFM
9d][[[l[[[b[[[
9[dL[[[x[[[s[[[
9dL[[[y[[[
9dM[[[5[[[
? 9dN[[[
_!9dN[[[?
9dO[[[][[[
!9dO[[[5
9dO[[[A[[[E[[[
9)))DOHu
9dO[[[z[[[
_!9dR[[[
[[[9[[[Dr@fC[[[
9dR[[[H[[[
9dR[[[|[[[s[[[
9[dS[[[c[[[
9dU[[["[[[
9dU[[[A[[[
:;!':9dUUJUU
:;!':9dUUuUU
9dU[[[Z[[[
9[[[[[[dV[[[
9dV[[[	[[[
9dW[[[L[[[G[[[iM5eQ[[[C[[[
9dW[[[q[[[t[[[
9dXd][[[
[[[:[[[9dXdA[[[
9dXdA[[[![[[
9dXdE[[[
9dXdF[[[
[[[9dXdK[[[
9dXdL[[[8[[[-[[[
9dXdP[[[
9dXdT[[[5[[[
9dXdU[[[
9dXdV[[[
[[[9dXdx[[[
9dXdy[[[
9dXdZ[[[
9dXdz[[[3[[[0[[[
9dXdz[[[d[[[
9dxx]Y]]
9@dX[[[Z[[[
#9]dy[[[
9)))@DYF[]
9)))@DYF[]DMGZvHGZ
9)))@DYF[]HG]O@ELZ
9Dyyy1py
#)9DZJFDJ]EE@K
9)))DZNKFQ
9)))DZQD
9dZ[[[y[[[
9e_[[[8[[[-[[[4t
9eA[[[a[[[
@9@@E@AAacoo
@@@@@9@@E@ACac
9eA[[[E[[[
9eB[[[Q[[[I[[[U.meR[[[P[[[W[[[c
9eD[[[S[[[R[[[
9EEJxVy)
9)))EELAZ
9EEyxpy-
9eF[[[E[[[v[[[
9)))EFHMvDHJAFvDHJ
9)))EFHMvDHJAFv@FZ
9eF[[[j[[[
9)))EFJH]@FG
9)))EFNZ]H[]LMH]
9Eg9kgfG|m
9)))E@GBDH]L
9egfw12Iz
9eggGrgs'gqggR
9egMagfG
9egyogfG
9e@[[[h[[[
9eH[[[l[[[
9e[[[[I[[[
9eI[[[F[[[
9e_[[[i[[[o[[[
9eJ[[[R[[[P[[[
9eK[[[d[[[
9eKg'ogfG
9eK[[[K[[[
9eK[[[l[[[
9eL[[[C[[[B[[[
9)))ELHB
9)))ELHB]ALHMM[LZZ
9eL[[[J[[[H[[[0H
9eL[[[l[[[
9EllllllllmllllOllylm
9eO[[[m[[[
9eQ[[[K[[[J[[[
9eQ[[[m[[[g[[[
9eS[[[_[[[I[[[]
9e@[[[s[[[q[[[
9E t	9E(
9Etyyxy)
9eV[[[d[[[
9e][[[v[[[k[[[ 
9E@vS8EHtN@
9eV[[[Z[[[
9eX[[[9[[[
9ey[[[q[[[
9ez[[[b[[[
[[[9[[[F
	9F59Dxx]Y]]
9FAAAAAA@AAAAAC
@@@@@9@@F@ACac
@9@@F@ACac
@@@@@9@@F@BCac
9fBj9oBk9
9)))]FBLGELHBEFN@J
9fcpgppepq
@@@@@9@@F@DCac
@9@@F@DCac
[[[9[[[F"Ed[[[[
9)))_@FEL
9fffffff
9)))FFKvZ]H[]vOEHN
9F)gecgfG
9)))FGEFHM
9fgfw	?F
9f;gqgg[
9fgUigfG
9fgwmdtD
[[[9[[[fibeI[[[
[[[9fJdH[[[C
9)))FKCZALEE
9)))FK]H@GK@]JF@GZ
9)))FKvNL]vELGN]A
#9FQEQEQENE
:;!':9fUUJUU
9)))FY]@FGHEALHML[
9)))FY]@FGLQYE@J@]
9)))]FYL
9)))FYLGY[FJLZZ
..9fyyY;yysy
9F[[[Z[[[K[[[
9g*3g-fgfG
9@g7dgfG
:9g7dgfG
'9g7egfG
9g7fgfGg
9-g7kgfG
9"g7ogfGM8
9g9XgfGH
9 gadgfG;
9:gAfgfGuB
9gAgg4hl
9gAggDc15
9gAlgfGO
9#gbn4xyyy
9gC[[[?[[[
9g]cgfG[
9(?gCkgfG
9G'dF[[[
9g]dgfGQ
9G'dO[[[d[[[
9G'dR[[[
9G'dW[[[
9G'dW[[[8[[[
9G'dx[[[3[[[
9)))@G]E
 9g;egfG
9-	gEggfG
9)))GE]LZ]
9)))@G_FBL
9Gff9gWbgfG	
9gfG5-NEgqgge!
'9gfGu7I*gqgg
9ggegfG'
9ggegfG6
9ggfggwSx
9GggfwESg
9gggG1*u
9gGjgfG;
;9gGkgfG
9gGlgfG46
]!?:9ggw
9g_igfG!
9gIggfG2N
9]gIkgfG.6k
@?9giVggw
9gKfgfGzo
9g]kgfG9
9g#kgfGb
9g_kgfGL
9g[kgfGO
9g-kgfGR
9g?kgfGu
9g	lgfGL
9gllllllllmllllOllylm
9gllllllllmllllOllylmMW)" 
9g-mgfG-
|9	gmpgfG
9gmqgfGWk
9*gmrgfG
9	goEgfG
_9gowggG
9g!Pgfw(
#9gqgg[*
9gqgg[7a
9#gqgg7b
9gqgg!CE
9gqggcnuD
9gqggcnuDf1
9gqggdjN
9gqggjbp
9gqggKSl
9gqggLi9
@9gqggLU
9gqggN3e
9gqggNK_
#[9gqggO
9gqgg)P]
9-	gqggP	Y
9gqggqxY
|9gqggrs7L
9@@@@gqgg:rwHE
9gqgguiN
9gqggw;):'
9gqggwTp
9gqggxN7
9gQjgfGeh
"9gQkgfG
9gqkgfGW
9gsegfG;
9@!gsfgfG
9*gSkgfG
9gUkgfGb
9gUqgfGV;
9gwFgfGT
9gwggfwj
9)gWkgfG
9gwkgfG	
9Gyyyyyyk9yyyM5
9Gyyyyyyv9yyy
9)))@GZ]HEE
[[[9[[[H
9H0a(gAgg
9h6WSSUs
9H909#yFFIF]
9H909#yyFFIF]
9H909#yyyFFIF]
9H909#yyyyFFIF]
9H909#yyyyyFFIF]
9H909#yyyyyyFFIF]
9H909#yyyyyyyFFIF]
9H909#yyyyyyyyFFIF]
	9H99#yFFI
9H99#yFFI
9H99#yFFIF]
9H99#yyyFFIF]
9H99#yyyyFFI
9H99#yyyyyFFIF]
9H99#yyyyyyyFFIF]
9H9!#yF:
9H9!#yyF:
9H9;yyyF
9)))H[DHSLGHJAH_LZ
9)))HDZ@@G@]OH@ELM
9)))HDZ@ZJHGZ][@GN
9[[['H"e_[[[
9)))HEF]ALEYL[
9)))HEL[]
9H)fggwj
9)))][HGZOF[DGFML
9)))_H[HLOJ
9)))[HH@MKFZZ
'9HIHMN9@xyxvyVx
9)))HJ]@_LQFKCLJ]
9HK99#yyFFM*
9HK9H9#yF
9HK9I9#yF
9HK9!#yF
9)))H[K@][H[P[
9)))HKZN
9HllllllllmllllOllylm
9HllllllllmllllOllylmz#
9)))HME@K[LN@Z]L[
9)))hMHD
9)))[H@MKFZZH
9)))HMMLMv]FvZ]HNL
9HOyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
9hSgfGGtwcgqgg
9HT[[[Z[[[O[[[	1
9hXMVuoH
9)))HY@DFG@]F[
9)))HYYEPLELDLG]
9)))HYYMH]H
9)))_H[Z][
[[[9[[[I
-9IggcgfGmNk
9igUkgfG
	9IH99#yFFI
9IH99#yyFF8F]
	9IH99#yyyyyFFI
9IH99#yyyyyyFF8F]
9IH9I9#yFFIF]
9iihhhhiihhhhhhhhELLHLLLI
9ijmjmiimiijjjjjjjjjQ
9iKdS[[[
9)))iLJAFL
'9@I:MH:Oxyxty
[[[9[[[Io
9||i:||P:||5:||
9ipgppepqO
'9'Iyxmy5
9Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
9J0gqggWE
9j5KggfG
9)))JALJBv_L[Z@FGZ
9)))JE@JBL[YL[JLG]
9)))JELH[
9)))JFDYH[L
9)))JFEELJ]NH[KHNL
9)))JFFB@L
9)))JFG][FELGHKEL
9)))JFG][FENL]YFZ
9*)JFGGLJ]
9)))JFG_L[]
9)))JFG_L[]]F
9)))JFYP
9*jgMkgfG!
#9Jgqgg7
9Jgqgg"K
9)))JHDH[FM[@GM[@G
9)))JHEE
9?Jhggfw
9jhggfwL
#9)JH]JA
'9;J:;IAIxyx
9jjiijijjjiijjmijijjjmH5
9)))[JKLiLB[[A
!?9?JL")
9jllllllllmllllOllylmq
9JNfAAAA@AAAAAC
9*)J[PY]L[_
9)))J_QLQLJ
9Jxyx[yAH3
9jyyGF98
9)))[]JZALEE
9K909#yF
9K909#yyyyyyyF*
9K919#yF
9K919#yF	
9K919#yyyF
9K919#yyyF	
9K919#yyyyyF
9K919#yyyyyyF
9K919#yyyyyyyyF
9K988009#yF
9K988009#yyF
9K98818809#yF
9K98818809#yyF
9K98818809#yyyyyF
9K98818809#yyyyyyyyF
9K98818829#yF
9K98818829#yyF
9K98818829#yyyyyF
9K98818829#yyyyyyyyF
9K98818839#yF
9K98818839#yyF
9K98818839#yyyyyF
9K98818839#yyyyyyyyF
9K98818849#yF
9K98818849#yyF
9K98818849#yyyyyF
9K98818849#yyyyyyyyF
9K98818869#yF
9K98818869#yyF
9K98818869#yyyyF
9K98818869#yyyyyF
9K98818869#yyyyyyF
9K98818869#yyyyyyyyF
9K98818879#yF
9K98818879#yyF
9K98818879#yyyyyF
9K98818879#yyyyyyyyF
9K988188)8!9#yF
9K988188)8!9#yyyF
9K988188)8!9#yyyyyyF
9K988188)8!9#yyyyyyyyF
9K98yyyF
9K98yyyyF
9K98yyyyyF
9K98yyyyyyF
9K98yyyyyyyF
9K98yyyyyyyyF
9K99#yF*
9K99#yF:
9K99#yyF
9K99#yyyF
9K99#yyyyF*
9K99#yyyyF:
9K99#yyyyyF
9K99#yyyyyyF
9K99#yyyyyyF:
9K99#yyyyyyyF*
9K99#yyyyyyyyF
	9K9!#yF:
9K9!#yF	
9K9!#yF 
9K9!#yF.
	9K9!#yyF:
9K9!#yyF
9K9!#yyF	
9K9!#yyF?
9K9!#yyyF
9K9;yyyyF
9K9!#yyyyF
9K9!#yyyyyF
9K9!#yyyyyyF
9K9!#yyyyyyF.
9K9!#yyyyyyyF
9K9;yyyyyyyyF
9K9!#yyyyyyyyF
'9KA;NN;KxyxvyVx?x
[[[|9KdK[[[
9Kd[[[[l[[[b[[[
9)))KEHJB][H@E
9)))KEHJBQJLEELGJL
9)))KHGLZYH
9)))KHGM@]
9)))KHZL
9KllllllllmllllOllylm.
|9klw9pw
9*Kmggfw
9kpgppepq
9Kpgppepq
9_Kpgppepqu
9kpgppepqz
9)))KP]LZH_H@EHKEL
9)))KPYHZZ
9KrgKdgfGz
9K??zNMMM
[[[9[[[l
9LC9	QBVLK9
9)))[LDF_L
9)))[LDF]LZZH
[[[9l|dK[[[
![[[9l|dU[[[ [[[
9lEgqggU
9)))LE@]L
9	'l')F'
9)))LGJFMLMJFDDHGM
9)))LGJ[PY]@GNO@EL
9)))LGJ[PY]LMO@ELZ
9)))L_HE
9LIHxyxuy
9)))[LJF_L[DPO@ELZ
9lllllllllmllllOllylm
9@llllllllmllllOllylm@
9]llllllllmllllOllylm
"9llllllllmllllOllylm
#9llllllllmllllOllylm
'9llllllllmllllOllylm
*9llllllllmllllOllylm
_9llllllllmllllOllylm
|9llllllllmllllOllylm
9llllllllmllllOllylm
9llllllllmllllOllylm!
9llllllllmllllOllylm(
9llllllllmllllOllylm-
9llllllllmllllOllylm:
9llllllllmllllOllylm[
9llllllllmllllOllylm["
9llllllllmllllOllylm]:
9llllllllmllllOllylm_
9llllllllmllllOllylm2
9llllllllmllllOllylm3
9llllllllmllllOllylm7
9;llllllllmllllOllylma
9llllllllmllllOllylmB
9llllllllmllllOllylmd
9llllllllmllllOllylmf
9llllllllmllllOllylmg
9llllllllmllllOllylm@h
9llllllllmllllOllylmH5
9llllllllmllllOllylmHZ
9#llllllllmllllOllylmi
9llllllllmllllOllylmi*
9llllllllmllllOllylmI
9llllllllmllllOllylmJ
9llllllllmllllOllylmjN
9llllllllmllllOllylm"k
9llllllllmllllOllylmk
9(llllllllmllllOllylmm
9llllllllmllllOllylmQxLN*
9llllllllmllllOllylms![5
9llllllllmllllOllylmT;B-
]9llllllllmllllOllylmT;M
9llllllllmllllOllylmU
9llllllllmllllOllylmv
9'llllllllmllllOllylm W
!9llllllllmllllOllylmW
9llllllllmllllOllylmZS*
9;llllllllmllluMO-
9llllllllmlll]Y]]
9)))[L_L[ZL
9)))[LM@[
#9LNNNNNNNN
9)))[LN@Z]L[ZL[_L[
9lOllylmlz
9@@@@@@@@Lp@
9)))LQ@]
9)))LQ][HJ]YHPEFHM
9)))LQJLE
 9LQNNNNNNE
#9LQNNNNNNN
9)))LQYEF@]
9)))LQYEF@]H]]LDY]
9)))LQYHGM
9lSSSSSSSS
9lSSSSSSSSSSSSSSSS
9)))[LYEHJL
9LZdA[[[;[[[
9LZdC[[[
9LZdD[[[D[[[z[[[q
9LZdE[[[
9LZdF[[[
9LZdK[[[N[[[
9LZdM[[[
9LZdN[[[
[[[9LZdP[[[#
9LZdP[[[
9LZdQ[[[p[[[
9LZdU[[[
9LZdW[[[
9LZdZ[[[
9)))LZJ[@Y]
9)))[LZYFGZL
[[[9[[[M
'9M9AH99Oxyxty5x
'9M9LNA:JxyxnyVx(x
9)))MAHBHG
?9MdF[[[T[[[
9MDMPt@H
9MdO[[[A[[[
9)))M@DY@JHZHSSSSS
9	memcpy_s
9)mggfw"
9)))MH]H
'9M:;KIKLxyxvy
'9ML;9J:9xyxvy?
9)))MLEL]LHEEZ]H]Z
9)))MLEZL[_@JL
9)))@MLG]@O@JH]@FG
9)))MLJ[PY]@FG]FFE
9)))MLJ[PY]@FG]LZ]
'9MLKKIOKxyxvy
[9M'llllllllmllllOllylm	
'9;MLML@Jxyxty
9)))M[@_LNL]EHKLE
9)))M[@_LNL]M[@_L
9)))MLOJ@ZJFvEFN@G
9)))MLYEFPDLG]GHDL
9)))M[@_LZL]EHKLE
9MMC20WWW
9msgqggq
9mSSSSSSSSSSSS
9m)((]Y]]
9myygfYX
9Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
9)))M@ZHKEL]HZBDN[
9)))M@ZYEHP_L[Z@FG
[[[9[[[*n
9N8;8;8O8;8O8B8A8A8O8A8R8
9)))[@NA]
9ndgfG8m
9Ndz[[[8[[[
9)))NF]F
9*)NFFNEL
9ng7jgfGM
9Ngaggfw!
9Ng	kgfG
9)))N[HG]FOE@JLGZL
9)))NL]AFZ]KPGHDL
9)))NL[]@FBHZ
9)))NLGYE@Z]KP]LZ
9)))N@_LHZLLZ
9)))NL]vMPEMvZE@ML
9)))NL]Y[FJHMM[LZZ
9)))][@NNL[
'9NOIH9JNxyx
9Nr[a Vi
9nSSSSSSSSSSSSSSSSSSSSSSSS
9)))NvEM[vQ
#9NVSSSSSSS
[[[9[[[o
9O8O8N8K868Z8Z8
';;;9O9M@xyx
9)))OEHZA
9)))@O@EL
9)))O@ELJAHGNLM@[
9)))O@ELNL]H]][@K
9)))O@ELv@MvG
9)))O@ELZLGJ[PY]LM
9)))O@ELZL]H]][@K
9)))O@ELZv][HZAK@G
9)))OF[@
9)))O[FD]ALELO]HGM
9)))OF[LHJA
9)))OF[LHJAO@LEM@G
9)))O@GM
9OgMfgfG
9)))O@GMJFML_LJ]F[
9O)gqgg|
"9Ogqggc
9	OgqggK
9ogSdgfG
9OHtX9ODuS9O8uN
9)))O[LHBSK[F]AL[Z
9ollllllllmllllOllylm
9)))O[LLMLJ[PY]@FG
9)))@OLQ@Z]
.9oubgfG
[[[9[[[p
[[[9[[[P
9PdA[[[1[[[6[[[
9p_dV[[[
9pg9tgfG
9)pgppepq
#9pgppepq
*9pgppepq
.9pgppepq
|9pgppepq
9(-pgppepq
9pgppepq
9pgppepq!
9pgppepq(
9pgppepq)
9pgppepq.
9pgppepq_
9pgppepq|
9pgppepq2
9pgppepqC
9pgppepqD
9pgppepqG
9pgppepqKhC
9pgppepqm
9pgppepqmD
9pgppepqMIx[
9pgppepqrM
9pgppepqT
9pgppepqW
9pgppepqwA
9pgppepqy
9pgppepqz
9PgqggU*
9PllllllllmllllOllylm
9P!llllllllmllllOllylmx
9p||||||||MNLRMNIRNLMRMLM|1
9#?PPwPP
9pvgqgg2e
9pyp8pyb8pyT8pyF8py(8py
[[[9[[[Q6GfA[[[
9)))QDEA]]Y
9QdJ[[[H[[[
9Qg7kgfG
9QgOggfG
9qnnggfw
 9QNNSNNSSS
9qS;)oS2G8o'
9Q(VSSW(nSSWU
9r8k_dgfG!
9R8O8R8Y8N8N8
9@@@@@r@@A@AAac
]9RBUpSSSSS#;
9RdM[[[f[[[
9rg-kgfG
9 )RJFML
9RKOG?64
9Rkpgppepq
9RSSBIUswRSS9
9RSSD@Fk1RSSB]J
9RSSQ(XSSWPL]9
9Rsyf_c7
9)))Ru[]
9)))Ru[]O
9rxvxNNVIAAVJMIVIILxxx
9Rxyyyyyyyyy
9@@@@@@@@@@S
9S9S9W9S9S;
9S9S9W9S9S9S
9SbSfgfG
9SbSfgfG*
9SbSfgfGg
9SbSfgfGI
9SbSfgfGIrP?gqgg
9SbSfgfGL
9SbSfgfGO
9SbSfgfGU
??9SC@mmcerror@@QEBA_NJ@Z
9SFyxwyG
9sllllllllmllllOllylmz
9SSS9caw
9[SSS@S'2
 9SSSSSSSSS
9s"vggfG.
9s@@@@@w@@A@AAac
9syw8sy_8sy98sy	8sy
9T5gMggfG
9'Tgqgg.
9)))TJH]JA
[[[9tNe_[[[
9tNe][[[
[[[9tNeB[[[
9tNeK[[[v[[[i[[[
9tNeL[[[
9tNeO[[[
9tNeR[[[
9tNeZ[[[
9:T@@@@@p@@A@AAac
9t?qtggG
9TSSS@Ss]RSRS
9||t:||Y:||E:||":||
9tZQpgppept
[[[9[[[U
[.[9[u[	[4[([7["[5[
9@@@@@u@@A@AAac
9@@@@@u@@A@AEac
9)))uA@BFZ
9@UBUsSQSS9gUs
9)))uEL[]@F
9)))uG]MZuG]MZ
9UgUfgfG
'9	UgwwggG
9)))uJFGO@NuZPZ]LD
9)))uK[FP
9U_llllllllmlll]Y]]
9)))uOFMALEYL[
9upgppepq
::9UUAUU
::9UUCUU
:9:'UUMUU
9U(USSWdUs
 9;UUtUU
 9;UUtUUa
::9UU@UU
 9;UUvUU
!:;9UUZUU
!:;9UUZUUz
9)))u@@vLZ]H[]
9)))uZMBCAOM
9@@@@@v@@A@AAac
9VBag1kgfG
9*VcgmgfG
9||v:||]:||D:||3:||
:9VfvyCo
9)))vHZZLDKEP
|||||||||||||||||||||||||||||||||||9|||:|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||V|||J|||a|||a
|||||||||||||||||||||||||||||||||||9|||:|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||V|||J|||a|||a|||D|||D|||
9[[[ vJdL[[[
9VlSSSSSSSSSSSS
9vNgAggK
9vOdJ[[[w
9!vpgppepq
9[[[vPpdL[[[8[[[
9VyllllllllmllllOllylmE
[[[9[[[W
9w;3]Y]]
;|;9(wcV
9wgiggfwS
9WgqggKSl
9WSSD_WK7YQPUI	sSSS
9w!xxxIxxyxyxyxY[4
|9wyy@qv
9wyyxyyy
9wyyy|ewyy)
9)))wZJFYLY[FJLZZ
9x7gqggT
9x9a9k9z9t
9XCCNCCCBACC
'9XC]Y]]
9XE9T|bBX@TBX6@wBT
9x||	f4G
9||X:||L:||L
9xllllllllmllllOllylm
9XllllllllmllllOllylm
9xoUm6x3	
9Xpgppepq#
9xpgppepqc
*9Xpgppepqd
9x_pgppepqV
9xxxPzxyxyxrxY[9
9xxxxxxxxxxxxxtx9
9xxxx]Y]]
9xxxx]Y]]k
9xxx]Y]]
9xxx]Y]]UP_
9xxx]Y]]V]]
9xxx]Y]]W]]
.9xx]Y]]!
9xx]Y]]@
9xx]Y]]3LY
9*(xx]Y]]G
9xx]Y]]i
9xx]Y]]KOX
9xx]Y]]R
9Xxyxny*
9xym8xyS8xy98xy.8xy
9xyo8xyN8xy#8xy
9xyp8xyS8xy28xy	8xy
9xyP9xy59xy
9xyt8xy[8xy@8xy78xy
9xyx8xyf8xyD8xy'8xy
'9xyxay7
9.xyxBy9x]x
'9xyxiyW
9xyxly*VVX
9.xyxryx*
'9xyxsy7
'9xyx[yU
'9.xyxZy;
9xyy8xyl8xyW8xy:8xy!8xy
9xyY8xyZ8xy
9xyyiyyy)xyyy
9xyyyyy9
9xyz8xye8xy@8xy)8xy
9X[[[Z[[[O[[[vV	O
9")||||y|||
9#((]Y]]
9y1gqggqvg
9")||||y|||4|||
9|ya8|y"8|y
9]Y]](bX
9YCCNCCCBACC
9)))Y[F]FGDH@E
9)))Y[FJLZZ
9)))Y[FJLZZLQ@Z]Z
9YGh]Y]]
9yg	kgfG
9yg)ngfw)nWD|
9!ygqggo
9)))YH]A
9)))YHJBL]vY
9)))YH@M]FJE@JB
9)))YH[ZL@G]
9)))@YJFGO@N
9YllllllllmllllOllylm
9Ypgppepq
9)))Y@QLENL]JFEF[
9]Y]]v]]
9yvgEmgfGq 
9")||||y|||x|||
9yxbx1x5x9x(xXx(x
9yxdy1x(x
9yxky1'*
9yxkyhxxx;
9yxOyY)1
9yxvxJH@VNOVJJJVJJJyxwx]
9)?yxZy:x
9yy1:yy7:yy
9yy	3yy53yy54yy
9yy]8yy 8yy
9:#yy9yF*
9yya8yyM8yy78yy
9yyc8yyL8yy)8yy
9yyG8yy#9yy;9yy
9yy*Gyya
9yyi8yyI8yy58yy
9|yyiyyyyyyyyyyyyyyyyyyyyyy#9|y19|yO9|yQ9|yi9|y
9yyj8yyT8yy08yy
9yyk8yyR8yy?8yy
9yym8yyT8yy88yy
9YYmK[[[d
9yyn8yyI8yy38yy
9|y	(|yq
9yyq8yya8yy
9yyt8yy]8yyM8yy:8yy*8yy
9yyv8yy_8yy88yy#8yy
9yyv8yy"8yy]8yyO8yy18yy
9yyw8yy:8yy
9yyx8yyc8yyJ8yy58yy
9YyxryUYU8
9|yyxyyy
9_yyxyyyIyqyzyz
9yyxyyyxyyyxyyy
9_yyxyyyyyy
9yyy8yyu8yya8yyS8yyG8yy78yy
9Yyy9yyy9yY
9Yyy9yyyyYYy9YYyyYy
9yyyiyyyYxyyyl
9yyyiyyy)yyyy
9yyyiyyy)yyyyV
9yyyxyyyyyyyyyyyyyyy)Y
9yyyyy5yr]
9|yyyyy#F|y7F|yyyyy
9yyyyyMyr]yyyyyy
 9yyyyyy
9yyyyyy 9yyyyy
9yyyyyyy
9yYyyYyy9Yy
9YYyyyYy9Yy
|9yyyyyyyyy
9yyyyyyyyyy
9yyyYyyy;yyy
9yYyyyyyyYy
9yYyyyyyyYY
9yyyyyyyyyyy
9YYyyyyyyYyy9yy
9yyyyyyyyyyyX
_9yyyyyyyyZN
9yyz8yyb8yyL8yy.8yy
9")||||z|||
9_[[[Z[[[
?9z2IggfG
9.z4Gpgppepq
9)))ZAHK@AL[L
9ZCCNCCCBACC
[9@ZE9BYcdBZQ
9|Z:EMM6r
9)))ZFE_L[FBM@HEFN
9zFgqggGG
9zgklgfG
9)))Z][@GNJFDYH[L
9)))Z][@GN[L_L[ZL
9)))Z][@GN[LYEHJL
9)))Z][@GN@ZHEYAH
9)))Z][@GN@ZHZJ@@
9)))Z][@GN@ZM@N@]
9)))Z][@GN@ZOEFH]
9)))Z][@GNZ][@YJ[
9)))Z][@GN@ZZYHJL
9)))ZG@OOL[ZYFFOL[
9)))Z]H[]
9)))Z]H[]D@J[FZFO]
9)))ZHE]Y[FCLJ]
9)))ZHGMKFQLZJHYL
9)))Z]H]L
9)))ZH_LO@ELHZ
9zKllllllllmllllOllylm
9)))ZLGM
9)))ZLGM@GNYHPEFHM
9)))ZLGZ@]@_LO@ELZ
9ZllllllllmllllOllylm
9)))ZL]N
9)))ZLZZ@FGvZ]H[]
9)))ZMDFG@]F[
9z;?NLMM
9)))ZOJZHM
9zpgppepq
9:_[[[Z[[[[v[[
'9zxhxXXXXXXXXXXXXV
-9;zxNy?x
9")zx*y)9
9zy[8zy48zy
9)))ZYEHZA@DHNLFG
9)))ZY[HP
9)))Z@YH[@ZEL[
9)))ZZLJF[Y
9)))ZZL[MMHJF[Y]LN
  a     
))a))))(
))a)))))
)a@@@@@@@@
[[[:[[[a
[[[;[[[#a
[[[;[[[a
||||a|||||||
a@@@@@@@@@
a||||||||||
 @@@@@@A@
 @@@@@@A@@
!@@@@@@A@
'@@@@@@A@@
))A)))))
*@@@@@@A@@
*A"@"@"@"
-@@@@@@A@@
:@@@@@@A
;@@@@@A@@
@@@@@@@A
@@@@@@A@
@@@@@@A@@
@@@@@@A]@
@@@@@A@@
@@@@A@@@
[@@@@@@A@
[[[	[[[A
[[[;[[[A
[[[_[[[A[[[
[[[A[[[![[[
[|||"A||
_@@@@@@A@
|@@@@@@@A
|A|||||||
|A|||||||||
A@@@@@@@@
A||;;||!;||
@@@A@00OOKc
A0123456789abcdefghijklmnopqrstuvwxyz
a0!4(@B@K@2 @G
a*0#6gAggN
A_]07:D(
a0a9a3aQa
A0A;A4sl
A0AADA@DAAA@A2!DU
A0AAGA@BAACAA
a0a'aPa a.a	a
a0aYa6a	a3a
A0@@@@B@A@
A0D8B(t)L
A[[[0)]dR[[[
a0'((@e@@B@AE@B@A@2 @D#
a0g_lgfG
A0H!A8H!A@H
A0PgGkgfG
a*0Xsoooo
A1.0Oaaa
A13.ASQPTA
a1a"aAa a
A1AADA@BAAAAA
A1AADA@DAAA@A2!DU
A1AAGAEDAC@@A3!AF
*a1g1cgfG
A1gqggca
a1gqggsn
A1:|||	j
A1@jCyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
a1lSSSS;ZcoC
a1pgppepq_'
a1TdL[[[
A254554441441111I4n
a2a2a-a.a
a2a2a-aOa
a2aaa]Y]]
A2AAGA@BAACAA
a2aa]Y]]
A2ALA2AHA2APA2ADB
a2aUa a a a0a"a(a1aXaNa a a#aXa-a
a2d7:Ad|f
a2	g7vgfG
a2gCkgfG
a2llllllllmllllOllylm
@@A@2p@A
A2ugocgfG
A *30yxXy7
a31igfG2
a3a2a aaaa
A3A.A.A5A'A2A
a3a a"a*a5a
A3AAGA@EAAA@AA
a3@@A@h HM
a3aJa0a;a	a#aSa'a
a3@@@@B@A@Np@E0
A3[DE3S@H
@@A@3 Eb
#@@A@3 EB8'e
@@A@3 Ec
 @@A@3 EcG
A3EdC[[[
 @@a@3 Ee
@@@A@3 Efy
@@A@3 Ei
@@A@3 Ej
@@@@@@A@3 EJ
@@A@3 EKT?g
@@@@@@A@3 El
@@A@3 El
a3eL[[[k[[[
@@@A@3 Em
@@@@@@A@3 EM4
@@A@3 EM4
@@A@3 EMt'
@@A@3 EN
a3eN[[[o[[[
@@A@3 EoP
@@@@@@A@3 EP
@@A@3 Er
@@A@3 Es
@@@@@@A@3 ET
@@@A@3 ET
@@A@3 ET
@@@@@@A@3 ETD
@@A@3 ETD
@@@A@3 Eu
@@A@3 Eu
'@@A@3 Ev
!@@A@3 EV
#@@A@3 EV
)@@A@3 EV
@@@@@@A@3 EV
@@@A@3 EV
@@A@3 EV
@@A@3 E]x
a3eX[[[8[[[
@@A@3 EXQ
@@A@3 EYX
@@@@@@A@3 EZ
@@@@@@A@3p@G
a3.tkMnq0
A3@xCaCNC
A3yym3yy
A41QQVacala
a4a3a-a-a
a")4@@@A@3 EJ
A4A;A0sSM
a4AAAAAA@AAAAAC
A4AAEA@EAAA@AA
a4aPaUaMa
a#)||||4a#)||||t'")||||p
a")4@BAA@2 @D
a")4@BAA@Ep@D
a")4@B@A@qp@U
a4?BBkBgkgkkkkkklklkkkkkkkB
a4Fkkkkkkkkkkkk8
A4"gqggaJ
;||A4||H
A4H'DMV-#
@@@@@@A@4 [lc
A*4.(M2yxp
@@A@4 MX
a4Odz[[[
A4R|||	k
A||4R||*R||
a4-sllllllllmllllOllylm
@@A@4 SZ0
A4yxry(1
A5"1AYQAD
A5"1N(1A
A)551NPOPaaa
A)551NPOPaa]Y]]
A)551NPOQkaG
A)551NPOQkal
A)551NPOQkay"
A)551NPOQlklkaa]Y]]
a5a5a8aAa
a5a5a8aAa2a
a5a5a8akaI1a
a5a5a8aLa4a
a5a"a1a"a	a
a5aaaa0aabababa@B 
a5a.a.a-a#a a3aka
A5AA@A@EAQA@AA
@@A@5 afS
A5bhggfw
a5g!egfG7
A5gQagfGC[M
A5MgEfgfG
@@@@@@A@5 NM
A.?5VVVVVVVVVV7VVV
[[[a5XdI[[[
A6AADA@EAAA@AA
a6aagagaeaacahPPPPPO
a6aPa;a*a
A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6
A @6C.CsB
a6egqgg4)
a6gAsgfG
a6g'cgfG
A6IdM[[[	[[[
'A6KIEf#
A6llllllllmllllOllylm
)[[[a6Sd@[[[
*"|.)a#7
a70!4gUUNUU
A_]72211.D3
A7AAGA@BA@AAAmqEL1
a7aSaPaaagqgg!
;A7awjN2
a7A]XYae
A[[[	7hfA[[[@[[[
A[[[	7hfT[[[@[[[
A7!KggwB
a7mmm3mmmmlmmm3mllllml3lllllll
@@A@7paD
@@@@@@A@7p[D
A@@@7pD@@@@@
@@@@A@@@7pD@@@@@#H
@@@a@7pGD
a"|7pgppepq
A7pgppepq
@@A@7pKD
@@@A@7pLE
 @@A@7pQD
@@A@7pQD
@@A@7pRD
@@A@7pSD
@@A@7pTD
#@@A@7pWD
A83bpgppepq
a8a6a0a a4aRa
a8a"a7a	a
A8cgggw-
A8fdY[[[1
A8gqggx|
A8gwkgfG
A8H;A s.H
A!8|||	j
A]8|||	j
a8J(KHgAgg3
#A8llllllllmllllOllylm
a8lSSSSSSSSSSSSSSSSSSSSh
|A8LZa!J
A8pgppepqOF
A||8Q||.Q||
A'8@R;Y:
a8U9K9	T
A8"((]Y]]
a9@@@@@@@@@
a97yxry]
a9a0aVaRa
a9a8a.a'a
a9a a a a*a
a9aAaGaAa
a9aaa]Y]]x
a9a)aSa'a5a#aNa
a9aSa	aYa2a
a9geegfGX
A9gqggn*
'A:9LJNNAxyxpy 
A)9llllllllmllllOllylm
A9llllllllmllllOllylmH
A9Nl|	9Npt
A9.rZw#M
:A9WBggG
 "a@@@@@@A@
-@@@@@@AA@
.@@@@@@AA@
@@@@@@AA
@@@@@@AA@
@@@@@AA@
@@@@A@A@
@@@@A@A@@
@@@@AA@@
A;_@@A@@
A@@@@@@A
A@@@@@A@
a a0a a a*a
a a0aYa*a4aXaWa
AA@1@-@!@
@@AA1 LP
AA@@2!DU
a#a3a9a	a
a;a3aSaJa
@AA@3 EI
@@@@@@AA3 EV
a-a4a aAaNa
a-a6a'aPa
@@@@A@A@7pDD
@@@@A@A@7pKD
a;a8aWa6a
AA8ggfG5#
@@@@AA@@A
a a(a0a a
aAa1a3a.aka
aAa1a"aAa
aaa1aabababa@B
aaa1aacacaca@B 
aAa2a2a)aAa
A"A(A2A"A.A
aAa2aOa-
AA@A2!Da
 AA@A2!Db
AA@A2!DLIb
!AA@A2!DU
AA@A2!DU
aAa3a2a aAa
#).aaa3aacacaba@B)253[6
aaa3aacacaca@B
a"a-a3aOa a
a"a)a3aXa
aAa4a3a-aAa
aAa4a3a-aAa a
A(A*A5A.A
aaa5aLa3a
AA@A6qHE
aaa7aaeaeaea@B)253[7
aAa7aTaAa
aAa7aUaAa
aaa8aacacaca@B#
aAa(a1aAa
AAA@A@1AAAAAA@AAAAAAAAC@AQ1AAAAAATAAA@AAACA@A
aAa-a2a a2a2aAa
AAA@A2!DK
AAA@A2!DU
AAA@A2!DV
AAA@A2!DX
aAa(a3a"aAa"a
AAA@A3qA@
aaaa4aabababa@B 
aAa'a5a1aAa"a
a[aAa5a	a
aAa#a5a"aAa
AAA@A5!amb
[AAAA62"
AAAA666o
a(a(a)a6a
AAA@A6qFD
AAA@A6qRA
AAAA7 3a
AAAA7 3a7
AAAA7 3dsq
aAa*a7a2aAa5a
aaaa7aamamaba@B)253[5
a a a a a
aAa-a(a2a5aAa
aaaaa2a	a
a.aAa"a3a
a@aAa:a3a
aaaaa5aLa3a
AAAA.A6A A2A1A
a a a a a a
a a"a*a#a)a
aAa a-a'a
AAAA@A@A
a a a#a a(a6a
aaaaa(a.a
aaaaaaa"
aaaaaaa)
a[aAa(aAa
aAa'a'aAa
aAa(a-aAa
?AAAA]A@AA
AAAA@A@AA
AAAAA@AA
AAAAAA@A2!D]
AAAAAA@A2!DU
AAAAAA@A2!DW
a a a a a a a a
a.a a a a*a a"a
AAAA]AaAA
'AAAAAA@AA
?AAAAAAAA
@@@@@@@@AAAAAAAA
[AAAAAA@AA
[AAAAAAAA
]AAAAAAAA
AAAA@AAAA
AAAAAA@AA
AAAAAAAA
AAAAAAAA2lpltlspl
AAAAAAAA)551
AAAAaAaA6qAA
?AAAAAAAAA
AAAAAAAAA
AAAAAAAA)A5A5A1A
aaaaaaaaaa
aAa.a*aAa_aAa
aAaAa	aAaAa
AAAAAAAAAA
a a a a a a a a a a0a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
a.a a a a*a a a a"a a
aaaaaaaaaaa
AAAAAAAAAAAAA
aaaaaaaaaaaaaa
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA)A5A5A1A
aaaaaaaaaaaaaaaaa6a
AAAAAAAAAAAAAAAAAAAAAAA
aaaaaaaaaaaaaaaaaaaaaaaaaaaa
aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa5a
aAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAaAa#a
aaaaaaaaaaaaai
aAAAAAA@AAAAAC
AAAAAAA@AAAAAC
AAAAAAA@AAAAAC@-
AAAAAAA@AAAAACQ
aAAAAAA@AAAAACwg
AAAAAAAAAAaA:!H](
	AAAAAA@AAAAAC
!AAAAAA@AAAAAC
"AAAAAA@AAAAAC
#AAAAAA@AAAAAC
'"AAAAAA@AAAAAC
(;AAAAAA@AAAAAC
(AAAAAA@AAAAAC
)AAAAAA@AAAAAC
*AAAAAA@AAAAAC
*AAAAAA@AAAAAC@
-AAAAAA@AAAAAC
-AAAAAA@AAAAAC.
.AAAAAA@AAAAAC
.AAAAAA@AAAAAC'
:AAAAAA@AAAAAC
;AAAAAA@AAAAAC
;AAAAAA@AAAAAC	
;AAAAAA@AAAAAC[
?AAAAAA@AAAAAC
@_AAAAAA@AAAAAC
@AAAAAA@AAAAAC
["AAAAAA@AAAAAC
[AAAAAA@AAAAAC
](AAAAAA@AAAAAC
]AAAAAA@AAAAAC
_AAAAAA@AAAAAC
|AAAAAA@AAAAAC
AAAAAA@AAAAAC
AAAAAA@AAAAAC 
AAAAAA@AAAAAC"
AAAAAA@AAAAAC#
AAAAAA@AAAAAC'
AAAAAA@AAAAAC' 
AAAAAA@AAAAAC(
AAAAAA@AAAAAC)
AAAAAA@AAAAAC*
AAAAAA@AAAAAC-
AAAAAA@AAAAAC.
AAAAAA@AAAAAC:
AAAAAA@AAAAAC;
AAAAAA@AAAAAC;*
AAAAAA@AAAAAC;?
AAAAAA@AAAAAC@
AAAAAA@AAAAAC[
AAAAAA@AAAAAC_
AAAAAA@AAAAAC[0
AAAAAA@AAAAAC0q
AAAAAA@AAAAAC1
AAAAAA@AAAAAC@1Dz
AAAAAA@AAAAAC2
AAAAAA@AAAAAC2z
_AAAAAA@AAAAAC!3
AAAAAA@AAAAAC3
AAAAAA@AAAAAC3a
:AAAAAA@AAAAAC4
AAAAAA@AAAAAC4j
AAAAAA@AAAAAC5
AAAAAA@AAAAAC6
AAAAAA@AAAAAC6 :
AAAAAA@AAAAAC7
AAAAAA@AAAAAC?8
AAAAAA@AAAAAC8S5
*AAAAAA@AAAAAC9
AAAAAA@AAAAAC9
AAAAAA@AAAAACa
AAAAAA@AAAAAC	A
AAAAAA@AAAAACA
AAAAAA@AAAAACAf
AAAAAA@AAAAACAr
AAAAAA@AAAAACb
AAAAAA@AAAAACB
AAAAAA@AAAAACc
AAAAAA@AAAAACC
 AAAAAA@AAAAACcB
AAAAAA@AAAAAC"d
AAAAAA@AAAAACd
AAAAAA@AAAAACe
AAAAAA@AAAAACE
AAAAAA@AAAAAC(F
AAAAAA@AAAAACF
AAAAAA@AAAAACfr
AAAAAA@AAAAACg
|AAAAAA@AAAAACG
AAAAAA@AAAAACG
AAAAAA@AAAAACgoN]
"AAAAAA@AAAAAC.@h
AAAAAA@AAAAAC)h
AAAAAA@AAAAACh
AAAAAA@AAAAACH
AAAAAA@AAAAACHq
AAAAAA@AAAAACHY
AAAAAA@AAAAACi
AAAAAA@AAAAAC!I
AAAAAA@AAAAACIi
AAAAAA@AAAAACIN1
AAAAAA@AAAAACj
[AAAAAA@AAAAACJ
AAAAAA@AAAAACJ
AAAAAA@AAAAACJg
AAAAAA@AAAAACk
AAAAAA@AAAAACK
AAAAAA@AAAAACK-
AAAAAA@AAAAACk2
AAAAAA@AAAAACKK
AAAAAA@AAAAACko
AAAAAA@AAAAAC_:l
AAAAAA@AAAAACl
.AAAAAA@AAAAACL
AAAAAA@AAAAACL
!AAAAAA@AAAAACLO3
AAAAAA@AAAAAClV
'AAAAAA@AAAAAC-m
AAAAAA@AAAAACM
AAAAAA@AAAAACn
AAAAAA@AAAAACN
AAAAAA@AAAAACNc
AAAAAA@AAAAACNM
AAAAAA@AAAAACo
AAAAAA@AAAAACO
AAAAAA@AAAAACob
AAAAAA@AAAAACOH
AAAAAA@AAAAAC)Oo
AAAAAA@AAAAACp
AAAAAA@AAAAACp-;
AAAAAA@AAAAACP
AAAAAA@AAAAACP??*
"AAAAAA@AAAAACq
@AAAAAA@AAAAACq 
AAAAAA@AAAAACq
AAAAAA@AAAAAC?Q
AAAAAA@AAAAACQ
AAAAAA@AAAAACQ_
AAAAAA@AAAAACQq
AAAAAA@AAAAACqY
AAAAAA@AAAAACr
AAAAAA@AAAAACr(
AAAAAA@AAAAACR
AAAAAA@AAAAACs
AAAAAA@AAAAACS
AAAAAA@AAAAACsG
.AAAAAA@AAAAACsN
AAAAAA@AAAAACSn(z_
AAAAAA@AAAAACs.o
AAAAAA@AAAAACt
AAAAAA@AAAAACT
AAAAAA@AAAAACtm
 AAAAAA@AAAAACu
AAAAAA@AAAAACu
AAAAAA@AAAAAC:U
AAAAAA@AAAAACU
!AAAAAA@AAAAAC;v
AAAAAA@AAAAACv
AAAAAA@AAAAACV
AAAAAA@AAAAACv9*
AAAAAA@AAAAACvgS
AAAAAA@AAAAACVt
)AAAAAA@AAAAACw
AAAAAA@AAAAACw
?AAAAAA@AAAAACW
AAAAAA@AAAAACW
AAAAAA@AAAAACWp
AAAAAA@AAAAACWW
AAAAAA@AAAAACx
AAAAAA@AAAAACX
-@AAAAAA@AAAAACXA
AAAAAA@AAAAACxG;2f
"AAAAAA@AAAAACy
(AAAAAA@AAAAACy
AAAAAA@AAAAACy
AAAAAA@AAAAACY
AAAAAA@AAAAACY7
AAAAAA@AAAAACyC
AAAAAA@AAAAACy_*G"":h
AAAAAA@AAAAACZ
AAAAAA@AAAAACz8
AAAAAA@AAAAACzi
AAAAAA@AAAAACzu
AAAAAA@AAAAACzzH_
AAAAAAAAAA@Ai!FM
aAAAA@AAAAAC
aAAAA@AAAAAC!
aAAAA@AAAAAC"
aAAAA@AAAAAC:
aAAAA@AAAAAC_
@AAAAA@AAAAAC
AAAA@A@AAAAAC
AAAAA@AAAAAC
AAAAA@AAAAAC	
AAAAA@AAAAAC	;
AAAAA@AAAAAC 
AAAAA@AAAAAC#
AAAAA@AAAAAC'
AAAAA@AAAAAC(
AAAAA@AAAAAC)
AAAAA@AAAAAC*
AAAAA@AAAAAC.
AAAAA@AAAAAC:
AAAAA@AAAAAC;
AAAAA@AAAAAC?
AAAAA@AAAAAC?.
AAAAA@AAAAAC@
AAAAA@AAAAAC[)
AAAAA@AAAAAC]
AAAAA@AAAAAC_
AAAAA@AAAAAC|
AAAAA@AAAAAC0
AAAAA@AAAAAC1
AAAAA@AAAAAC1-I3
aAAAA@AAAAAC2
AAAAA@AAAAAC;2
AAAAA@AAAAAC2
AAAAA@AAAAAC2T
AAAAA@AAAAAC'3
AAAAA@AAAAAC3
AAAAA@AAAAAC4
AAAAA@AAAAAC'4i
AAAAA@AAAAAC4i
aAAAA@AAAAAC5
AAAAA@AAAAAC5
aAAAA@AAAAAC6
aAAAA@AAAAAC6#
AAAAA@AAAAAC7
aAAAA@AAAAAC8
AAAAA@AAAAAC8N5
AAAAA@AAAAAC9
AAAAA@AAAAAC9S
AAAAA@AAAAACa
AAAAA@AAAAACA
aAAAA@AAAAACb
AAAAA@AAAAACb
AAAAA@AAAAACc
AAAAA@AAAAACcYi
AAAAA@AAAAAC'd
AAAAA@AAAAACd
AAAAA@AAAAACD
AAAAA@AAAAACe
AAAAA@AAAAACE
AAAAA@AAAAACf
AAAAA@AAAAAC)F;
AAAAA@AAAAACF
AAAAA@AAAAACf9
AAAAA@AAAAACfm.Z|tH
AAAAA@AAAAACg
AAAAA@AAAAACG
AAAAA@AAAAACgI
AAAAA@AAAAACh
AAAAA@AAAAACH
aAAAA@AAAAACi
AAAAA@AAAAACi
AAAAA@AAAAAC?I
AAAAA@AAAAACI
AAAAA@AAAAACIMy
aAAAA@AAAAACj
AAAAA@AAAAAC	j
AAAAA@AAAAAC;j
AAAAA@AAAAACj
AAAAA@AAAAACJ
AAAAA@AAAAACJ;
AAAAA@AAAAACjq
AAAAA@AAAAACk
AAAAA@AAAAACK
AAAAA@AAAAACK0
AAAAA@AAAAACl
AAAAA@AAAAACL
aAAAA@AAAAACm-
aAAAA@AAAAACM
AAAAA@AAAAACm-
AAAAA@AAAAACM
a[AAAA@AAAAACN
AAAAA@AAAAAC	n
AAAAA@AAAAACn
AAAAA@AAAAACNN
AAAAA@AAAAACn(t
AAAAA@AAAAACo
AAAAA@AAAAACO
AAAAA@AAAAACO(
AAAAA@AAAAAC-oz
AAAAA@AAAAACp
AAAAA@AAAAACP
aAAAA@AAAAACQ
AAAAA@AAAAACq
AAAAA@AAAAACQ
AAAAA@AAAAACr
AAAAA@AAAAACR
AAAAA@AAAAACr0
AAAAA@AAAAACRtO
AAAAA@AAAAACRUm
AAAAA@AAAAAC;s
AAAAA@AAAAACs
AAAAA@AAAAACSD|6
aAAAA@AAAAACT@
AAAAA@AAAAACt
AAAAA@AAAAACT
AAAAA@AAAAACu
AAAAA@AAAAACv
aAAAA@AAAAACW
AAAAA@AAAAACw
AAAAA@AAAAAC!W
AAAAA@AAAAACWu
AAAAA@AAAAACx
AAAAA@AAAAACx.
AAAAA@AAAAACx?
aAAAA@AAAAACY
"AAAAA@AAAAACy
AAAAA@AAAAACy
AAAAA@AAAAACY
@AAAAAAAAAACY@AR1A
@AAAAAAAAAACY@AR1AmAAAAAAAAAAAAAAAA
AAAAA@AAAAACZ
AAAAA@AAAAACZ"
AAAAA@AAAAACZD
aAaAaAa[aAaQa
 _AAAA@AAAAAC
"AAAA@AAAAAC
@AAAA@AAAAAC
@AAAA@AAAAAC	
@AAAA@AAAAAC	;
@AAAA@AAAAAC 
@AAAA@AAAAAC!
@AAAA@AAAAAC#
@AAAA@AAAAAC'
@AAAA@AAAAAC'	
@AAAA@AAAAAC(
@AAAA@AAAAAC(]
@AAAA@AAAAAC)
@AAAA@AAAAAC*
@AAAA@AAAAAC*	
@AAAA@AAAAAC**
@AAAA@AAAAAC*:
@AAAA@AAAAAC-
@AAAA@AAAAAC.
@AAAA@AAAAAC:
@AAAA@AAAAAC;
@AAAA@AAAAAC;-
@AAAA@AAAAAC?
@AAAA@AAAAAC?:
@AAAA@AAAAAC@
@AAAA@AAAAAC@)
@AAAA@AAAAAC[
@AAAA@AAAAAC]
@AAAA@AAAAAC_
@AAAA@AAAAAC_'
@AAAA@AAAAAC_'|#
@AAAA@AAAAAC_-
@AAAA@AAAAAC|
[AAAA@AAAAAC
]AAAA@AAAAAC
_AAAA@AAAAAC
AAAA@AAAAAC
AAAA@AAAAAC#
AAAA@AAAAAC*	
AAAA@AAAAAC:
AAAA@AAAAAC[
AAAA@AAAAAC_
@AAAA@AAAAAC0
@AAAA@AAAAAC0l
 _AAAA@AAAAAC?1
@AAAA@AAAAAC:1
@AAAA@AAAAAC1
AAAA@AAAAAC1
@AAAA@AAAAAC1b
@AAAA@AAAAAC1gI?p
@AAAA@AAAAAC1h
@AAAA@AAAAAC1:K
-_AAAA@AAAAAC1n
@AAAA@AAAAAC1s
@AAAA@AAAAAC1Y
@AAAA@AAAAAC2
@AAAA@AAAAAC#2O
@AAAA@AAAAAC3
AAAA@AAAAAC3[
@AAAA@AAAAAC3J
@AAAA@AAAAAC3m
@AAAA@AAAAAC3O
@AAAA@AAAAAC3q
@AAAA@AAAAAC4
@AAAA@AAAAAC48i
@AAAA@AAAAAC4i
@AAAA@AAAAAC5
@AAAA@AAAAAC5Y
@AAAA@AAAAAC5z
@AAAA@AAAAAC?6
@AAAA@AAAAAC6
@AAAA@AAAAAC6_
@AAAA@AAAAAC6L
@AAAA@AAAAAC6r
@AAAA@AAAAAC7
AAAA@AAAAAC7
@AAAA@AAAAAC7I
@AAAA@AAAAAC7K
@AAAA@AAAAAC7V
AAAA@AAAAAC7Y
@AAAA@AAAAAC8
AAAA@AAAAAC8
@AAAA@AAAAAC8F
@AAAA@AAAAAC8!U
@AAAA@AAAAAC8z
@AAAA@AAAAAC9
@AAAA@AAAAAC94d|
@AAAA@AAAAACa
AAAA@AAAAACa
@AAAA@AAAAACA
@AAAA@AAAAACA)
@AAAA@AAAAACa7
@AAAA@AAAAACad
@AAAA@AAAAACaV
@AAAA@AAAAACb
@AAAA@AAAAACb_
@AAAA@AAAAAC-B
@AAAA@AAAAACB
@AAAA@AAAAACB8
@AAAA@AAAAAC"b9
@AAAA@AAAAACBa
@AAAA@AAAAACBP
@AAAA@AAAAAC )c
@AAAA@AAAAACc
@AAAA@AAAAACc 
@AAAA@AAAAACC
@AAAA@AAAAACc4
@AAAA@AAAAACcC
@AAAA@AAAAACcO
@AAAA@AAAAACC"P
@AAAA@AAAAACC S
@AAAA@AAAAAC'd
@AAAA@AAAAACd
AAAA@AAAAACd
@AAAA@AAAAAC[D
@AAAA@AAAAACD
@AAAA@AAAAACD!
@AAAA@AAAAACDC
@AAAA@AAAAACDdkC
@AAAA@AAAAACdQ2
@AAAA@AAAAACDQ5
@AAAA@AAAAACe
@AAAA@AAAAACE
@AAAA@AAAAACee
@AAAA@AAAAACeh
@AAAA@AAAAACEk
@AAAA@AAAAACEVxH
@AAAA@AAAAACf
@AAAA@AAAAAC|F
@AAAA@AAAAACF
@AAAA@AAAAACf0
@AAAA@AAAAACf9
@AAAA@AAAAACfd
@AAAA@AAAAACff
@AAAA@AAAAACfjDo
@AAAA@AAAAACfm.Z|tH
@AAAA@AAAAACFp
@AAAA@AAAAACfsy
@AAAA@AAAAAC#FU
@AAAA@AAAAACfY
@AAAA@AAAAACfZ
@AAAA@AAAAACg
@AAAA@AAAAACg)
@AAAA@AAAAACG
@AAAA@AAAAACh
@AAAA@AAAAACH
@AAAA@AAAAAC(h8
@AAAA@AAAAACh9
@AAAA@AAAAACHb
@AAAA@AAAAACHf
@AAAA@AAAAACHKZxk0
@AAAA@AAAAACHnI
@AAAA@AAAAACHT
@AAAA@AAAAACi
@AAAA@AAAAACI
@AAAA@AAAAACi2
@AAAA@AAAAACI4b
@AAAA@AAAAACif
@AAAA@AAAAACIF
@AAAA@AAAAACiL
@AAAA@AAAAACIMy
@AAAA@AAAAACITQ
@AAAA@AAAAACiu
 _AAAA@AAAAACj;
@AAAA@AAAAACj
@AAAA@AAAAAC'J
@AAAA@AAAAACJ
@AAAA@AAAAACJd
@AAAA@AAAAACj;DW
@AAAA@AAAAACJg"
@AAAA@AAAAACjI
@AAAA@AAAAACJs
@AAAA@AAAAACjTL#		
@AAAA@AAAAACJUs
@AAAA@AAAAACjz
@AAAA@AAAAAC#k
@AAAA@AAAAACk
@AAAA@AAAAACK
@AAAA@AAAAACK 
@AAAA@AAAAACK:
@AAAA@AAAAACK0
@AAAA@AAAAACKu)
@AAAA@AAAAACkvIy0
@AAAA@AAAAACl
@AAAA@AAAAACL
@AAAA@AAAAACm
@AAAA@AAAAACm-
@AAAA@AAAAACM
AAAA@AAAAACM
@AAAA@AAAAACMO]
@AAAA@AAAAACmrH)j
AAAA@AAAAACMz
@AAAA@AAAAACn
@AAAA@AAAAAC)]N
@AAAA@AAAAACN
@AAAA@AAAAACno
@AAAA@AAAAACnY9n
@AAAA@AAAAACo
 _AAAA@AAAAACO
@AAAA@AAAAACO
@AAAA@AAAAACO(
@AAAA@AAAAACoD 
@AAAA@AAAAACold[
@AAAA@AAAAACp
@AAAA@AAAAAC-P
@AAAA@AAAAACP
[AAAA@AAAAACP
@AAAA@AAAAACq
@AAAA@AAAAACq-
@AAAA@AAAAACq[
@AAAA@AAAAAC!Q
@AAAA@AAAAACQ
AAAA@AAAAACQ
@AAAA@AAAAACQ2
@AAAA@AAAAACQB
@AAAA@AAAAAC)r
@AAAA@AAAAAC_r
@AAAA@AAAAACr
AAAA@AAAAAC:r
@AAAA@AAAAAC@R
@AAAA@AAAAACR
@AAAA@AAAAACR*
@AAAA@AAAAACR@
AAAA@AAAAACR
@AAAA@AAAAAC_r0
@AAAA@AAAAACR3NY
@AAAA@AAAAAC	rf
@AAAA@AAAAACrJO
@AAAA@AAAAAC;s
@AAAA@AAAAACs
AAAA@AAAAAC"s
@AAAA@AAAAACS
@AAAA@AAAAACS4
@AAAA@AAAAACSD|6
@AAAA@AAAAAC(shL
@AAAA@AAAAACSWy
@AAAA@AAAAACt
@AAAA@AAAAACt*
@AAAA@AAAAAC#T
@AAAA@AAAAACT
@AAAA@AAAAACt4
@AAAA@AAAAACtm
@AAAA@AAAAAC;tpBz
@AAAA@AAAAACTzz8
@AAAA@AAAAAC]u
@AAAA@AAAAACu
@AAAA@AAAAACU
@AAAA@AAAAACU;
@AAAA@AAAAACUfj
@AAAA@AAAAACUs
@AAAA@AAAAACuZ
@AAAA@AAAAAC-v
@AAAA@AAAAACv
AAAA@AAAAACv
@AAAA@AAAAAC"V
@AAAA@AAAAAC|V
@AAAA@AAAAACV
@AAAA@AAAAACva
@AAAA@AAAAACVG
@AAAA@AAAAACvHl
@AAAA@AAAAACvl
@AAAA@AAAAACVP]T
@AAAA@AAAAACVqO
@AAAA@AAAAACvX
@AAAA@AAAAAC?w?
@AAAA@AAAAACw
@AAAA@AAAAACw 
@AAAA@AAAAACw;
[AAAA@AAAAACw
@AAAA@AAAAAC W
@AAAA@AAAAAC*W
@AAAA@AAAAACW
@AAAA@AAAAACW5
@AAAA@AAAAACwG
@AAAA@AAAAACWI! oB
@AAAA@AAAAACWUZ
@AAAA@AAAAAC'x
@AAAA@AAAAACx
@AAAA@AAAAACx:
@AAAA@AAAAACx?
@AAAA@AAAAAC_X
@AAAA@AAAAACX
AAAA@AAAAACX
AAAA@AAAAACx7
@AAAA@AAAAACxG
@AAAA@AAAAACxM
@AAAA@AAAAACy
@AAAA@AAAAAC!Y
@AAAA@AAAAACY
@AAAA@AAAAACY4?
@AAAA@AAAAACYD
@AAAA@AAAAACYil
@AAAA@AAAAACYl
@AAAA@AAAAACYxb
@AAAA@AAAAACZ
@AAAA@AAAAACz0
AAAA@AAAAACz3
AAAA@AAAAAC]za6
@AAAA@AAAAACzq-
@AAAA@AAAAACzZ;)
A@A@AAAAAAAECCA
AAAAAAAAAoA9A9AsAsApApAqAxAyAvArAwAtArAsAxArAyArAxAsAyArAxAyAxAsAvAwArAyArA9A5ArAoA9A8A;A
AAAAAAAAAoA(A6A ArA.AxAsAyAqAsArAyAxAsArAqApAqApAsAqAxApAsAqAxAsAtAtAuAtArAoA9A8A;A
AAAAAAAAAoA;A;AsAsApApAqAxAyAvA1A1A1A.ArAwAtArAsAxArAyArAxAsAyArAxAyAxAsAvAwArAyArA9A5ArAoA9A8A;A
AAAAAAAAAoApAqApAqApAqApAyAxArAvAyAxArAyAxArAqAxAsAqAxArAyAxArAxAqAsAxAyAsAqAxApAqAsA A-A-A AoA9A8A;A
AAAAAAAAAoApAqApAvAyAwArAqAxAyAvAyArAuAxArAuAyAxArAuAqAxAyArAuAvAxArAuAqA9AvAyA8AvAyAuAoA9A8A;A
AAAAAAAAAoAqAxAyArAuAvAwArAyAsAxAqAyAvAuAuAyArAxAvArAuAyAxAuArAvAtAuAyAuAtAvAoA9A8A;A
AAAAAAAAAoAqAxAyAvAwAtArAyArAvAwAtAuAyAuAvAwAuAyArAwAvAuAyAxAuAvAwAoA9A8A;A
AAAAAAAAAoAqAyAvAwArAvAyAsAvAwArAvAyArAwAvArAyAxArAwAvArAyAxAsAvAwAsAvAwArAoA9A8A;A
AAAAAAAAAoArA.AxAsAyAqAsArAyAxAsArAqApAqApAsAqAxApAsAqAxAsAtAtAuAtArAoA9A8A;A
AAAAAAAAAoArAuAwAvAvAuAyAyAtAuAyAvAtAuAyAxAuArAyAvArAxAyArAuAyAvArAuAxAuArAyAvAuArAoA9A8A;A
AAAAAAAAAoArAxAtAyAwAvAyAwAxAtAuAxArAxAuAyAxAwAyAwAvAxAwAxAuAxAwAyAvAyAtAxAtAoA"A-A(A"A*A
AAAAAAAAAoArAyAuAtAyAwAyAuAxArAyAuAyAwAyAuAxArAyAuAyAwAxAwAxAuAyAwAyAyAuAoA9A8A;A
AAAAAAAAAoAsAqAsAqAxAyArAwAyAsAtAwArAyArAwAsAxAyAxAqAqAxAsAvArAyAxAsAvArAvAyArAoA9A8A;A
AAAAAAAAAoAsAsApApAxAqAyAvArAwAtAvAyAxAqArAyAvAsAwAtAwAvAyAxAsAvAwArAyArA9A5ArAoA9A8A;A
AAAAAAAAAoAsAsAtArAsAwArAuAvAyAuArAyAxAuArAqArAuAvAuArAyAvArAyAxArAuAwAvArAuAyAvArAoA9A8A;A
AAAAAAAAAoAtAwArAvAyAxArAvAwAtAyAxAuAyAvAtAqAxAtAvAyAtAuAqAxAuArAwAvArAyAxAuAoA9A8A;A
AAAAAAAAAoAtAyAvAyAwAxAuAxAuAyAwAyAxAuAxAuAyAwAyAwAxArAxAtAyAwAxAuAoA2A)A.A1A
AAAAAAAAAoAuAvAyA5AuAyAwAvAtAuAyAvAtAuAyAxAvAyAxAuAtAyAxAuArAxAyAxAoA9A8A;A
AAAAAAAAAoAuAxAwAvAyAuAxArAyAtAyAwAyArAxAuAyAwAyArAxAtAxAwAtAoA A3A5A
AAAAAAAAAoAvAwArAyAxArAvAwArAyAxArAvAyAxAqAsAvAyArAvAyArAxAyArAvAuAyAxAsAvArAoA9A8A;A
AAAAAAAAAoAvAwAtArAwAvAyAxAsAyAvAwArAvAxAsAyAvArAwAyAxArAyAvAuAuAoA9A8A;A
AAAAAAAAAoAvAyAxAsAvAsAuAwAvArAsAyAsArAqAxAyArAuAqAxAtAuAyAtAwAxAxAqAtAuAoA9A8A;A
AAAAAAAAAoAxAyAvAyAyArAuAvAyAvAvAsAyArAxAsArAvAxArAyAvAuArAyAxArAuAyAvAuArAyAxArAuAoA9A8A;A
AAAAAAAAAoAxAyAxAqAqApAvAyAuArAwAvAyAwAvAsArAxAyAwAyAuAtAxAxAqArAsAxAoA9A8A;A
AAAAAAAAAoAyAvArAsAyAvAyAvArAuAvAyAuAtAyAvAyAxAuAtAyAvAuAtAyAvAuAtAyAvAuAtAqAqAqAqAoA9A8A;A
AAAAAAAAAoAyAvArAsAyAvAyAvArAuAvAyAvAyArAsAwAvAvAyAuArAyAxArAuAvAyArAwAvAsArAvAyAsAsAsAoA9A8A;A
AAAAAAAAAoAyAvAtArAyAxAsAwAvArAxAyArAwAvAyAxAsArAsAtArAsAsApAsAoA9A8A;A
AAAAAAAAAoAyAxArAvAyAxArAyAxArAqAxAsAqAxArAyAxArAxAqAsAxAyAsAqAxApAqAsA A-A-A AoA9A8A;A
AAAAAAAAAoAyAxAvAuArAwAvAvArAuAyAxAyAvAvAxArAuAxAqAyArAsAxAqAuAoA9A8A;A
AAAAAAAAaqAD
AAAAAAAAaqAE
AAAAAAAAaqAIGE#
AAAAAAAAaqAJ
AAAAAAAAaqAJI
AAAAAAAAaqAL]
AAAAAAAAaqAM
AAAAAAAAaqAO
AAAAAAAAaqAP
AAAAAAAAaqAQ
AAAAAAAAaqARo_
AAAAAAaAaqAS-
AAAAAAAAaqAS-
AAAAAAAAaqASc
AAAAAAAAaqASPT
AAAAAAAAaqAV
AAAAAAAAaqAY
AAAAAAAAaqAZ
AAAAAAAABqA
AAAAAAAABqAM
AAAAAAAABqANVP 
AAAAAAAABqAte
AAAAAAAACA@AaqAM
AAAAAAAACA@AiqAE
AAAAAAAACA@AIqAM
AAAAAAAACC@A
AAAAAAAACU@AIqA
AAAAAAAADqAZ
AAAAAAaA?!EE
AAAAAAAAeqAF
AAAAAAAAfqAT
AAAAAAAAfqEG
:AAAAAAaAGqAAAAAAAAAAAAaAHqAAAAAAAAAACCAAKqAAAAAAAAAACHaAIqAH
AAAAAAaA:!H](
:AAAAAAAAHqAAAAAAAAAA
AAAAAAAAHqAAAAAAAAAAAAAAJqAAAAAAAAAAAAAA
AAAAAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAaAAAmqAH
AAAAAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAA]AAAYqpE
AAAAAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAACAAAaqAN
AAAAAAAAHqAAAAAAAAAACUAAIqA
AAAAAAaA.!HU
AAAAAAaAi!DVW
AAAAAAaAi!EWl
AAAAAAaAi!GLIb
AAAAAAaAi!HLIb
AAAAAAaAi!Is
AAAAAAaAi!IU
AAAAAAaAi!IW
AAAAAAaAi!IX
AAAAAAaAi!JLIb
 AAAAAAaAi!JS
AAAAAAaAi!JS
AAAAAAaAi!JU
AAAAAAaAi!JW
AAAAAAaAi!Mb
AAAAAAaAi!MS
 AAAAAAaAi!Q[
AAAAAAAAiqAAAAAAAAAAAAAAhqAAAAAAAAAAA
AAAAAAAAiqAAAAAAAAAAAAAAhqAAAAAAAAAAAAAA
AAAAAAaAiqAAAAAAAAAAAAAAiqAAAAAAAAAA]Y]]
AAAAAAaAi!Ug*-
AAAAAAaA.!IW
AAAAAAAAKPAR
AAAAAAAAkqAAAAAAAAAAUAAAZqUM
AAAAAAAAKqGB
AAAAAAAAMqA
AAAAAAAAMqA1
AAAAAAAAMqAc
AAAAAAAAMqAc@n
AAAAAAAAMqAh
AAAAAAAAMqAH
AAAAAAAAMqAijl
AAAAAAAAMqAl
AAAAAAAAMqAo
AAAAAAAAMqAr
AAAAAAAAMqAz
;AAAAAAAAmq]D
AAAAAAAAmqEE)3
AAAAAAAAOq
AAAAAAAAoqAAAAAAAAAAAAAAmqGFd
AAAAAAAAoqAG1
AAAAAAAAoqAH
AAAAAAAAoqAI
AAAAAAAAoqAI7
AAAAAAaA.!O[UUF
AAAAAAAA_qAAAAAAAAAAAAAA
AAAAAAAA_qAAAAAAAAAAC@AAIqAK 
AAAAAAAA)qAGb
AAAAAAAA|qAM
AAAAAAAA)qAO|
AAAAAAAA*qDA
;AAAAAAAA(qGA
AAAAAAAA(qQM
AAAAAAAAxqAF
AAAAAaaAYqAAAAAA
AAAAaAAAYqAE
AAAAAaAAYqMAAAAA
AAAAAAAAYqMU
AAAAAAAAYqtQ
AAAAAAAAYqWE
AAAAAAAAYqXZ1cfA
AAAAAAAAYq[Z1cfA
AAAAAAAAZqAM
AAAAAAAAZqUM
AAAAA]AABqAbAAAAAAAA
:AAAAA]AABqAyAAAAAAAA
A@AAAAAAC
AAAAAAAC
A@AAAAAAC2
AAAAAAACiqAAAAAAAAAAAAAChqAAAAAAAAAAAAAC
AAAAAAACOqAS
AAAAAAACYqRE
AAAAAA@A.!D[
a?aaa?aaaDa
aAa_a_aAaDa
AAAAAA@A.!DLIb
AAAAA@AADqAElA
"AAAAA@AADqAI
AAAAA@AADqAR
AAAAA]AAeqAMAAAAAAAA666o
AAAAAA@A.!Fn!*
AAAAAA@AfqALz
AAAAAA@A.!FS
AAAAAA@Ai!DV
AAAAAA@Ai!GLIb
AAAAAA@Ai!K]
AAAAAA@Ai!LS
 AAAAAA@Ai!MS
AAAAAA@Ai!NL
 AAAAAA@Ai!NW
AAAAAA@Ai!NW
AAAAAA@A?!IO
AAAAAA@AiqAAAAAAAAAAAA@AhqAAAAAAAAAAA
AAAAAa@AIqCACAAA
AAAAAA@AIqCE
AAAAAAA@KqGA
AAAAAA@AKqGB
AAAAAA@AMqAl
AAAAAA@AMqAo
AAAAAA@AmqEE
AAAA@AAAmqFI
AAAA@AAAmqKJ
AAAA]AAAmqRF
AAAAAA@AOqEFm
AAAAAA@A.!P_
AAAAAA@A)qAVg
AAAAAA@A	qgg
AAAAA@AAQqwPR
aaaaaaa]Y]]
AAAAAA@AYq
AAAA@AAAYqEE
]AAAA]AAAYqTE
AAAA]AAAYqVE
AAAA]AAAZqmM
AAAAAA@AZqSM
:AAAAA@AAZqWE
aaaa.aabababa@B)253[6
AAAAAa@BYqEAAAA
A@@AAAAAC
AAAA]A@AC
AAAAAAC@
AAAAAACAaqAH
aaaa;aacacaba@B)253[5
aaaa#aacacaca@B 
aaaa	aacacaea@B14 [#
a[aaaaAcaiaiawa@B)253[6
AAAAAACApqA[
AAAAAACApqA]
AAAAAACApqA[TF
AAAAAACApqAVB]
AAAAAACApqAW
AAAAAACApqAWY
AAAAAACApqAXN
AAAAAACAqqAOF
AAAAAAC@BqABs
AAAAAACCi!LP
AAAAAacd
AAAAAA@Ci!D[
AAAAAA@Ci!DV
aAa!aAaDa
aAa_aAaDa
aaAaAadaakauN
aaAaAadaakaz
@AAA@AAAE
AAAAAAEAA@1AAAAAA@AAAAAAAAAAAC
AAAAAAEAA@1AAAAAA@AAAAAAAAAAACEA@S1AAGAAAAAAAAAAAAAAAC
AAAAAA@E.!FJ
AAAAAA@E.!MJ
aaaaaagqgg
AAAAAA@@:!H](
AAAAa@@AIqAE-cN
AAAAA@@AIqCE
AAAA]A@AOqkF
AAAA@@AA	q@@
aAa[aAaQa
AAAAAaqAC
AAAAAaqAEs
AAAAAaqAK
AAAAAaqAL]
	AAAAAaqAO
aAAAAaqAS-
a a a a a aUa
aaaaaa]Y]]
aaa;aabababa@B 
aaa	aabababa@B)253[#
aaa(aabababa@B)253[2
aaa;aabababa@B)253[5
aaa aabababa@B)253[6
aaa(aabababa@B)253[6
aaa.aabababa@B)253[6
aaaaaba]Y]]
AAAAABqA[?
AAAAABqAt
.-- #AAAAAC
AAAAAC@@A
AAAAAC@A
AAAAACAA
AAAAACA@A@1AAAAAAAAAAAAAAAAAAAC@AQ1AAAAAA
AAAAACA@A@1AAAAAAAAAAAAAAAAAAC
AAAAACA@A@1AAAAAAAAAAAAAAAAAACE@AS1AAGAAAAAAAAAAAAAAAC
AAAAACA@A@1AAAAAAAAAAAAAAAAAACIBAR1AE
AAAAACA@A@1AAAAAAAAAAAAAAAAAACYBAR1AqAAAAAAAAAAAAAAAA
aAAAACA@AA
AAAAACAAeqAAAAAAAAAAAAAAtqAAAAAAAAAAAAAAHqAAAAAAAAAACUAAIqA
AAAAACAAMqAAAAAAAAAAACAA
AAAAaCAAOqAAAAAAAAA
AAAAACAAoqAAAAAAAAAAAAAA
AAAAACABA
aaa?aacacaba@B14 [#
	!!aaa'aacacaba@B)253[6
aaa(aacacaba@B)253[6
aaa'aacacaca@B-
aaa(aacacaca@B
aaa*aacacaca@B 
aaa;aacacaca@B14 [#
aaa!aacacaca@B)253[(
aaa)aacacaca@B)253[1
aaa#aacacaca@B)253[162[6
a;a"a-a*acaw*a
AAAAAC@C
AAAAACCAAQ1AAAAAAAAAA@AAAAAAAC
AAAAAC@Ci!MAAAAAYS
AAAAACEAA@1AA@AAAAAAAAAAAAAAA
AAAAACEAA@1AAAAAAAAAAAAAAAAAAC
AAAAACEAA@1AAAAAAAAAAAAAAAAAACEAAS1AAGAAAAAAAAAAAAAAAC
AAAAACEAA@1AAAAAAAAAAAAAAAAAAE
AAAAACEAA@1AA@AAAAAAAAAAAAAAAC
AAAAACICAU1AK
AAAAA@@Ci!PEl
AAAAAC@@|qEAAAAA
AAAAACYCAU1AeAAAAAAAAAAAAAAAA
AAAAACYCAU1ASAAAAAAAAAAAAAAAA
AAAAA)D-
AAAAA@DAMqAaU
aAaAaDaQaOaSa
AAAAAEAAaqAS-
AAAAAECAAQ1AAAAAAtAAAAAAAAAAACCAAD1AAAAAAAAAA@AAAAAAACCAA
AAAAAECEAE1AAAAAAAAAAAAAAAAAAECEAE1AAAAAABAAAAAAAAAAACCAAE1AAAAAAAAAA@AAAAAAAA
AAAAAECEAE1AAAAAAAAAAAAAAAAAAECEAE1AAAAAABAAAAAAAAAAACCAAE1AAAAAAAAAA@AAAAAAAC
AAAAAeqAe
a_aaaaFcajajaja@B)253[5
AAAAAFP:#
AAAAAfqAM
AAAAAg1i
AAAAAGqAAAAAAAAAAA@AADqAIC
AAAAAGqAAAAAAAAAA]AAAYq_E
AAAAAGqAAAAAAAAAACaAAIqAAAAAAAAAAAAAAtqAAAAAAAAAAaAAAYqAE
AAAAAGqAAAAAAAAAACCAAKqAAAAAAAAAAA@AABqAEM
AAAAAGqAAAAAAAAAAgqgg
AAAAAGqAAAAAAAAAA]Y]]
AAAAAGqAAAAAAAAAA]Y]]7
AAAAAGqAAAAAAAAAA]Y]]x
aaaaagqgg
aaaaaHaZaaaaa2a
AAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAA
AAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAAA@@
AAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAA]ACAYqgE
AAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAC]AAIqATAAAAAAAA
AAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAACCAA
aaaaaiaaaaaa
AAAAAIF.
AAAaAi!JS
AAAAAIqCW
aaaaaja]Y]]
aaa!aakakaca@B)253[162[6
AaAAAKqA
AAAAAkqAAAAAAAAAAAAAAZqL_
AAAAAkqAAAAAAAAAAUAAA
AaAAAKqAB
AAAAAKqGB
a	a_aAaLaLa
aaa;aalalaea@B)253[5
AAAAAMAAIqGS
AAAAAMABOqAQ
AAAAAMqA
AAAAAMqA5'
AAAAAMqAc@n
AAAAAMqAH
AAAAAMqAIq
AAAAAMqAl
AAAAAMqAo
AAAAAMqAO
AAAAAMqAQE
AAAAAMqAt
AAAAAMqAu
AAAAAMqAV
AAAAAMqAx:
AAAAAMqAY
AAAAAMqAz
AAAAAmqFHN
AAAAAmqHLL
AAAAAmqIH
AAAAAmqka
AAAaA.!MU
AAAAan"a5 2**(--an'an
AAAAAoqAB
AAAAAoqACx
AaAAAOqAM
AAAAAoqAO3
AAAAAQ@A
AAAAAQAABqA
AAAAAQAABqA]AAAAAAAA
AAAAAQaAIqCGAAAA
AAAAAQAAMqA
AAAAAQAAqqAhAAAA
AAAAA*qAG
AAAAAQ@AIqCWAAAA
AAAAaqAK
AAAAA)qAK
AAAAA)qALv
AAAAA)qARG
AAAAA)qAW
AAAAAQ@AYqMuAAAA
AAAAAQB@
[AAAAAQ@B2!DJAAAA
AAAAAQ@B2!DJAAAA
AAAAAQBA
AAAAAQCApqALAAAAAAAAn' *#60o1)1
AAAAA	qgg
AAAAAtqAAAAAAAAAAAAAAHqAAAAAAAAAAC]AAIqAeAAAAAAAA
AAAAAtqAAAAAAAAAAAAAAHqAAAAAAAAAACCAAKqAAAAAAAAAAUAAAYq
AAAAAtqAAAAAAAAAACAAAIqAK
AAAAAUAAYqMdAAAA
aaa;aauauaca@B 
AAAAA?UY
AAAAAwqSM
a a a a#aXa
AAAAAxqAF
aaaaa]Y]]
aAaaa]Y]]
a)AAAA]Y]]
AAAAaYAAIqAMAAAAAAAA
AAAAAY@AIqCjAAAA
AAAAAY@A(qB]AAAA
AAAAAYq2E
*a|AAAAYqbE
AAAAAYqMUS
AAAAAYqTE
AAAAAYqwE
AAAAAYq[Z1cfA
AAAAAYq]Z1cfA
AaAAAZqAM
AAAAAZqAM
aAa"aBaAa"a
a)AAaBi!DJz
AA]AABqA
AA]AABqA]AAAAAAAA
AA]AABqAnAAAAAAAAd
AA]AABqAUAAAAAAAA
AAAABqAw
AA]AABqAYAAAAAAAA
.@@@@@|@@A@AAac
@@@@@	@@A@AAac
@@@@@@|@@A@AAac
@@@@@|@@A@AAac
@@A@AAac
@|@@A@AAac
]@@@@@|@@A@AAac
_@@@@@|@@A@AAac
AAAAC@@A
AAAACA@@
aaaaca1Oa
AAAACA@@3!AS
AAAACa@A
AAAACA@A
]AAAACA@A3!A-
AAAACA@A3!A0N
AAAACA@A3!AC
AAAACA@A3!AEM
AAAACA@A3!AK
AAAACA@A3!Ax
AAAACAaA
'AAAACA@AA
[AAAACA@AA
AAAACA@AA
AAAACAAA
AAAACAaA3!A@"
AAAACAaA3!AJ_
AAAACAaA3!A@O
AAAACAaA5!AM
AAAACAaAA
AAAACAAAA
AAAACAAAaqAE
AAAACAAAaqAF
AAAACAAAaqAQ
AAAACAAAaqAS
AAAACAAAaqAU
AAAACAAAaqAW
AAAACAAABqAy
AAAACAaAIqA
AAAACAAAIqA
AAAACAAAIqABs
AAAACAAAIqAF
AAAACAAAIqAfe
AAAACAAAIqAH
AAAACAAAIqAHM
.AAAACAAAIqAJ
AAAACAAAIqAJ
AAAACAAAIqAK
AAAACAAAIqAM
AAAACAAAIqAN9
AAAACAAAIqATh
AAAACAAAIqAV
)AAAACAAAIqAW
AAAACAAAIqAW
AAAACAAAIqAX
AAAACAAAKPAL
AAAACAAAKPAMK
AAAACAAAKqAD
AAAACAAAMqA
AAAACAAAMqAl
AAAACAAAMqAz
AAAACAAAOqAB
AAAACAAAOqAC
AAAACAAAOqACx
AAAACAAAoqAD|
AAAACAAAOqAd
AAAACAAAOqAD
AAAACAAAOqAD(
AAAACAAAOqAD1
AAAACAAAOqAF
AAAACAAAOqAG
!AAAACAAAOqAH
AAAACAAAOqAH
AAAACAAAOqAI
AAAACAAAOqAI9
AAAACAAAOqAJ
AAAACAAAOqAK
AAAACAAAOqAK@
AAAACAAAOqAKJ
AAAACAAAOqAL
AAAACAAAOqAM
AAAACAAAoqAN
AAAACAAAOqA[N
!AAAACAAAOqAO
AAAACAAAOqAO
AAAACAAAOqAS
AAAACAAAOqAWX
AAAACA@AaqAF
AAAACA@AaqAKj
AAAACA@AaqAK.x
AAAACA@AaqAL
AAAACA@AaqAM
AAAACA@AaqAN
AAAACA@AaqAO	
AAAACA@AaqAOp
AAAACA@AaqAQ
AAAACA@AaqAS-
AAAACA@AaqAY
AAAACAAAqqAT
AAAACaAAYqAAAAAAAAAA]Y]]
AAAACA@ABqAa
AAAACA@ADqAa.
AAAACA@AeqAQ
AAAACA@AeqAT
AAAACA@AIqA
AAAAC]AAIqA_AAAAAAAA
AAAAC]AAIqAaAAAAAAAA
AAAAC]AAIqAbAAAAAAAA
AAAACA@AIqAbm
AAAACA@AIqABs
AAAAC@AAIqAE
AAAAC@AAIqAED
AAAAC@AAIqAEM
AAAACA@AIqAGT
AAAAC@AAIqAH.
AAAACA@AIqAi
AAAAC@AAIqAI
AAAAC@AAIqAJ
AAAAC]AAIqAjAAAAAAAA
AAAAC@AAIqAJd
AAAACA@AIqAL)
AAAAC@AAIqAM
AAAACA@AIqAM
AAAAC@AAIqAMR
AAAAC]AAIqANAAAAAAAA
AAAACA@AIqAo
AAAACA@AIqAO1
AAAAC@AAIqAQ
AAAACA@AIqAQ
AAAACA@AIqAr
AAAAC]AAIqATAAAAAAAA
AAAAC]AAIqAUAAAAAAAA
AAAACA@AIqAv
AAAAC@AAIqAVwG
AAAACA@AIqAW
AAAACA@AIqAy
AAAAC]AAIqAZAAAAAAAA
AAAACA@AKPALM
AAAACA@AKqAB
AAAACA@AMqAamOa
AAAACA@AMqAe
AAAAC@AAMqAG
AAAACA@AMqAl
AAAACA@AMqAQ
AAAACA@AoqA[
AAAAC@AAOqA@
AAAAC@AAOqAEM
AAAACA@AoqAN
AAAACA@AOqAN
AAAACA@AOqAQ
AAAACA@AOqAQM
AAAA@CAAOqEAAAAAS
AAAAC@aApqAE-cN
AAAACA@AqqAL
aaaa'caaU
AAAACA@AU1AHN
AAAACA@B3!AK
AAAACAB@A
AAAACABAIqAM
AAAACABBKqAO
AAAACAB@OqAIPk
AAAACAB@OqAJ
A@@@@@a@@A@ACac
[AAAACACA!1Aa
](AAAACACA!1Aa
AAAACACA 1Aa
AAAACACA!1Aa
AAAACACA!1Aa0
AAAACACA!1Aac
AAAACACA!1Aai
AAAACACA3!Af
AAAACACAA
AAAACACAeqAH
AAAACACAeqAL
AAAACACAeqAN
AAAACACAeqAO
AAAACACAeqAQ
AAAACACAeqAU
AAAACACAfqAJ
AAAACACAIqAa
AAAACACAIqABs
AAAACACAMqAY
AAAACACApqAN
	*AAAACACApqAPC
AAAACACApqAPq
AAAACACApqAR
 AAAACACA*qAH
AAAACACBIqAYc
AAAACACCMqAh
@AAAACACCMqAr
AAAACAC@IqA
?[AAAACA@CIqAN@y.|AAAAgqgg;S
AAAACA@CIqAXr
AAAACAC@KqAJ
AAAACAD@
a[aAaCaDa
AAAACADAMqAeO
AAAACADAMqAN
AAAACADAMqAo
AAAAC@@ADqAETz
aAa[acaE!a2a
AAAACAEAaqAL
AAAAC]@AIqA
AAAACA@@IqAH
AAAAC@@AIqAJ3
AAAACA@@IqAT4
AAAAC]@AoqA
AAAACA@@oqABs
AAAAC@@A@PAM
AAAAC@@A@PAQ
AAAAC@@A@PAVwG
AAAAC@BADqAE-cN
AAAAC@BBDqAE
AAAAC@BBDqAE-cN
*AAAAC@BCIqAE
AAAAC@BDIqAE
AAAAC@B@DqAE
AAAAC@BE
AAAAC@BEDqAJ
.AAAAC@CA
AAAAC@CA
AAAACC@A
AAAACC@A3!AAAAAAAAAAAAAACCaA3!AAAAAAAAAA@AAACCaA3!AAAAAAAAAA@AAAAA@Ai!GLIb
AAAACCAA
AAAACCaA3!AAAAAAAAAAAAAAAAaAi!Is
AAAACCaA3!AAAAAAAAAAAAAAAAaAi!IW
AAAACCaA3!AAAAAAAAAA@AAAAAaAi!Is
AAAACCaA3!AAAAAAAAAA@AAAAAaAi!IW
AAAACCaA3!AAAAAAAAAA@AAAAAAAi!IW
AAAACCaA3!AAAAAAAAAAAAAAAA@Ai!IW
AAAACCaA3!AAAAAAAAAA@AAAAAaA.!Is
AAAACCaA3!AAAAAAAAAA@AAACC@A3!AAAAAAAAAA@AAAAAaAi!JS
AAAACCaA3!AAAAAAAAAA@AAACCaA3!AAAAAAAAAA@AAAAAaAi!GLIb
AAAACCaA3!AAAAAAAAAA@AAACCaA3!AAAAAAAAAA@AAAAA@Ai!GLIb
AAAACCAADqAAAAAAAAAAAUAAIqBzAAAA
AAAACCAAIqAAAAAAAAAACAAAMqAW
AAAACCAAKqAAAAAAAAAAAAAAMqAc@n
AAAACCAAKqAAAAAAAAAAA@AAQqFETz
AAAACCAAKqAAAAAAAAAACAAAIqAM
AAAACCAAKqAAAAAAAAAAC@AAYqAE"I
AAAACCAAKqAAAAAAAAAA@CAAYqEAAAAA"I
AAAACCAAOqAAAAAAAAAAACAAoqAAAAAAAAAAACAAqqAAAAAAAAAAAC@@wqFAAAAAx"
AAAACCAAOqAAAAAAAAAAAQAAYqEUAAAA
AAAACCAAqqAAAAAAAAAAAQAA
AAAACC@AjqAAAAAAAAAAAAAAAa@AIqCAAAAA
AAAACC@AkqAAAAAAAAAAAAAAAa@AIqCA@AAA
AAAACC@AOqAAAAAAAAAAAA@@MqAh
AAAACC@AoqAAAAAAAAAACA@AIqAW
AAAACC@A:qAAAAAAAAAACAD@
AAAACC@AqqAAAAAAAAAAAQ@A
AAAACC@AtqAAAAAAAAAACC@AHqAAAAAAAAAAA
AAAAC@CCIqAd
AAAAC@CCIqAU3
AAAACCEA
AAAAC@C@IqAJHC
AAAACEaAIqA
AAAACECAfqAD
AAAACECAfqAH
AAAACECAfqAI
AAAACECAfqAL
AAAACECAfqAN
AAAACECAfqAN[
AAAACECAfqAO
AAAACECAfqAO@
AAAACECAfqAS
AAAACECAfqAT
AAAACECAfqAW6
AAAACECAfqAWpu
AAAACECAfqAZ
:AAAACHaAIqAH
AAAACMAAOqAI@1
@@@@@|@@A@AAacoo
@@A@AAacoo
@|@@A@AAacoo
AAAACQ@@
AAAACQ@A
AAAACQ@A3!ALAAAAAAAA)551
AAAACQAA
AAAACQAAIqA
AAAACQAAIqAQAAAAAAAA
AAAACQAAIqAZAAAAAAAA
AAAACQAAMqA
AAAACQ@ADqAHAAAAAAAA;**;
AAAACQ@AIqA
AAAACQ@AKqAeAAAAAAAA7 3a
AAAACQB@BqA
AAAACQ@@IqA
AAAACUAAIqA
AAAACY@A3!APAAAAAAAAn"a25 35
AAAACY@AMqAXAAAAAAAA
AAAACY@AoqAwAAAAAAAA
a[aaaDa1a
a'aaadaa
a[aAaDaLaOaSa
a".aaada]Y]]
AAA@A.!DW
AA.AAEA@BAAQAAQqNkAAAAVP 
aaaaeajaja
AAAAeqAHw
a[aAaFaDa
AAAAfqEG
aa]a]agaakafRWQ
AAA@A.!Gf|
AAA@AG NJ
AAAA@GqAAAAAAAAAAAAA@HqAAAAAAAAAACCA@KqAAAAAAAAAA]A@CYqYE
AAAA@GqAAAAAAAAAAAAA@HqAAAAAAAAAACCA@KqAAAAAAAAAAQAACYq_E
AAAAgqgg
a_aaagqgg7d
aaaahcananaba@B)253[5
AAA@AHqAAAAAAAAAAAA@AJqAAAAAAAAAAC@@AIqAQ
aaaaicapapapa@B)253[6
AAA@Ai!D[
AAA@Ai!DO
AAA@Ai!Dxnu
AAA@Ai!DY
AAA@Ai!E[UUF
AAAAi!E[UUF
AAA@Ai!Fs
AAA@Ai!GW
AAA@Ai!Ha
AAA@Ai!IV
AAA@A.!ILIb
AAA@Ai!MU
AAA@Ai!OU
AAAAiqAAAAAAAAAAAAAAvqAAAAAAAAAAA@P@aqAS
AAA@AIqCW
AAAAiqII
AAaAi!QW
aa]a]ajaaSat
AAA@AJqAAAAAAAAAA]Y]]
AAA@A.!Kh
AAAAKPAL
AAAAKPAR
AAAAkqAAAAAAAAAACAAAIqAa
aAa:aLa'a[a'a
a.aAaLaAaVaOaQaaa]Y]]
a_aAaLaLa
AAA@AlqGK
AAAAlqIHfbV
Aa@AAmqAEM
AA]AAMqAjAAAAAAAA
.AAAAMqAl
AAAAMqAl
AA@AAMqAR
AAAAMqAS 
AA]AAMqAVAAAAAAAA
A]AAAmqLD
AAA@AmqSR
AAA@AmqYP
AAA@A.!MU
aAA@A.!M[UUF
AAAAM]@@ZqWPAAAAJ
AAAAn"a2")5 2*2an
AAAAn"ac
[AAAAnbbbkbbb
[AAAAo 1
AAAAo"1-
[AAAAo 11
[AAAAo2	
[AAAAo2)
a"a-a(aOa
A A-A-AoA5A9A5A
AAA@AOqLH6
AAA@A.!OU
AA]AA@PAZAAAAAAAA
@@@@@AAAap@C
AAAAPpCC5
AAA@ApqDO
AAA@A.!PU
AAAAQ@AA
?AAAAQA@AA
AAAAQA@AA
AAAAQAAA
AAAAQAAAmq
AAAAQAaAmqTe
AAAAQAAA*qVK
AAAAQAAAYqME
AAAAQAAAZq
AAAAQAAAZqZVJ
.AAAAQA@Alq
AAAAQA@AlqyP
AAAAQA@AOq
AAAAQA@AOqpE.
AAAAQA@AYq
AAAAQA@AYqyE
AAAAQA@AZqPM
AAAAQA@AZqXM
AAAAQA@AZqYM
AAAAQAC@A
AA@AA)qAEBu
AA@AA)qAFh
AAA@@aqAK
AAAAQ@@AQqUE
A@AAaqAS
AAAAQ@B@QqkE
AAAAQCAAOqdAAAAAAAAA
AAAAQC@CQq
AAAA*qDMw
AAAA(qGF
AAAA*qGF
"AAAA	qgg
AAA@A*qHK
A]AAA*q_K
AAAA*qPU
AAAAQQAA
AAAAQQAApqKKAAAAAAAAg137|".2
AAAAQQ@AQq
AA@AAQqOG
AAAA(qRM
a[aAaRaPaQaPaUaHaaaazca
aaaaSPWOSTTOPYVOXPaaN
AAAAUAAA
AAAAUAAAmqONT
AAAAUAAAYq
AAAAUAAAYqUE
AAAA@UAAQqERAAAAM
AAAAxqAF
AAAAxqAM
a	aaa]Y]]
a@aaa]Y]]
a[aaa]Y]]
aaaa]Y]]
#:AAAA]Y]]
.AAAA]Y]]
_AAAA]Y]]
AAAA]Y]]
AAAA]Y]]'
AAAA]Y]][
AAAA]Y]]28_
AAAA]Y]]3sX
#:AAAA]Y]]4#Y
#:AAAA]Y]]5#Y
#:AAAA]Y]]7#Y
a a a	aYa
AAAAYA@AA
AAAAYAAAYq
AAAAYAAAYq]E
AAAAYAAR1ASAAAAAAAA9
AAAAYA@AYq
AAAAYAB@YqiE
AAAA]Y]]H
AAAA]Y]]n
AA]AAYqAcAAAA
A@AAAYqDE
AAAAYqE@
AaAAYqEAAAA
AAA@AYqEM
AA]AAYqEZAAAA
AAAAYqfM
AAA@AYqhE
AA]AAYqMaAAAA
AAA@AYqnE
	AAA@AYqPM
A@AAAYqWE
AAAA]Y]]U
#:AAAA]Y]]	#Y
#:AAAA]Y]])#Y
#:AAAA]Y]].#Y
#:AAAA]Y]]; Y
AA]AAZqAWAAAAAAAA
AAABAaqATJ
AA@A@BAAUAAYqH
A*AABA@BAAAAA
A"AABA@BAACAA
@@@@A.AABA@BACAAAMqAl
AAABAF KX6
aaabagqgg
AAABAQqVV
AAABAQqVY]
AA@A@BAYA@AYq
AA@A?!BE
 AAaBi!Ba
AAaBi!DJz
AAaBi!GLIb
AAA@B.!MU
AAABYKBA
aAaCa2a	a
@AAACa@A
@AAACA@AaqAXV
aAaCaaa]Y]]
aAaCa'aCaaaa
AAAC]AAR1ATAAAAAAAADAJBQAAA
-@@@@@a@@A@ACac
aAaCaGaAa
AAACApqA[
AAACApqAX
AAACApqAZ
AAACA*qAG
AAACAQqA_J0
aaa"cararaka@B)253[5
aaaca]Y]]
@AAACC@AkqAAAAAAAAAAAAAAAa@AIqCA@AAA
AAA@CMqAl
AA@A.!D[
aaadagqgg
aAaDaLaOaSa
AAADAMqAb
aAaDaQaSa
AA@A.!DQ
A!AAEA@BAaA@AlqAJ
A'AAEA@EAAAaAA
aaaeagqgg
AA@A@EA]M@AA
aaaea]Y]]
aaaEa]Y]])
aaaea]Y]]X
AAAECEAQ1AAAAAA
AAAEJHGPXQ
AA@A?!EL
AA@A.!EQ
A]AAeqA_AAAAAAAA
a.aafafabaadar2
a:aafafaeaadav2
aAaFaLa"a
 AA@A.!FLIb
AA@A.!FLIb
aAaGaAa	a6a
aAaGaAaSaAa
aAaGaGaAa
aAaGaGaAaDa1a
AA@A.!G]p
aaagqgg2
aaagqgg67
aaagqggt
 AA@A.!GX
AA@A.!GX
A@@AAh C]3
 AA@A.!HLIb
AA@A.!HU
AA@A.!I]
aAaIa"aHaAa
aAaIa"aHaAaSaQaPaWaAaAa7a2aAa3a
aAaIaCaDa
aAaIaDa	a
aAaIaKaOa
'AA@Ai!BaxhW
 AA@Ai!D[
AA@Ai!DL
AA@Ai!DV
AAA@@i!DV
AA@Ai!E]
AA@Ai!Egc
AA@Ai!EO
AA@Ai!FM
AA@Ai!GL
AA@Ai!GLIb
AA@Ai!HL
!AA@Ai!HO
*AA@Ai!HO
AA@Ai!HV
AA@Ai!JU
AA@Ai!JX
AA@A.!IL
 AA@Ai!LO
AA@Ai!LS
AA@Ai!MU
!AA@Ai!Nsq
AA@Ai!NW
AA]@AIqC0AAAA
AA@Ai!R_i
AA@Ai!U_
AA@A.!IU
AA@Ai!XT
AA@A.!IZ
a)aajajaeaakat
aaaja]Y]]2
AA@A.!JLIb
aAaka	"a
aaakaapa
a	a_akaC
aAaKaKaAaZaAa2a
aaakapa1
aaakasaa
AA@A.!KLIb
aAaLaAa1a
aAaLaAa5a
aAaLaAa6a
aAaLaAa"a
aAaLaAa'a
aAaLaAaDa
aAaLaLaAa(a
AAALB_Z_FQE[Q
aaalcazazamaaka;2a
aaaLXaaaLcaaa)b
AAALXP_CXEJO
a@a@aMaAa8a
AAAMAC_Y@
a a aMaNaNaYaMa-a
 AA@A.!MbF
AA@A.!MJ
AA@AmqEE
 AA@A.!MU
AA@A.!MU
a_a]aNa0a
aAaNa2a7a"aAa_a_aAaDa
a(a)aNa2a7aWa
aAaNa"aAa
aAaNa"aAaCa
aAaNa"aAaCaDa
aAaNa'aAaNa0aAaNa2aAaDa
@@@@@AAAnp@F
AAAOLD]AJB
AA@A.!OU
AA@A.!P_
aAaPaAaLa
aAaPaAaNa
aAaPaDaAa
A@AA@PAK
aAaPaOaQa[aAa@aAa
aAaPaQaaa]Y]]
a#a*aPaSa)aPaPaWaVaaa]Y]]
(@@@@@@AAap@H
AAA@PpDD
@@@@AAA@PpKKc
@@@@@@AAap@T2
aAaQaAaGaAa
aAaQaAaLa
aAaQaAaNa
AAAQA_qAAAAAAAAAAAAAA_qAAAAAAAAAACAAAIqAM
AA@A*qEG
A@AAQqFETz
]AAA*qsK
AA@A.!Q[UUF
aaaraapa
AA@A.!RbF
aaaSa1#a
aAaSaAaGaAa
aAaSaAaIa
aAaSaQaPaQaFaAa
aAaSaQaPaQaOadaANa
aAaSaQaQaXaAa2a
aAaSaQaQaXaOa
aAaSaRaUaTa1a
a(a"aSaYa.aXa
aaataapaA
Aaat||	w
aaauagqgg
aaauagqggc
aAaWaTaTaQaQaAa
aAaWaTaTaQaQaAaAa
aAaWaTaTaQaQaAaPaSaVaOaQaOaQaOaPaaaa
a*a"aXa4a
aaa]Y]]"
aaa]Y]]#
aaa]Y]].
aaa]Y]]?
aaa]Y]]A
aaaYaaa2a
AAAYAPHHXASPPPPHHXXMMMM
aaa]Y]]c
aaa]Y]]C
aaa]Y]]cc_
aaa]Y]]h
aaa]Y]]H
aaa]Y]]hU_
aaa]Y]]i
aaa]Y]]I
aaa]Y]]k
aaa]Y]]M
AaA@@YqAE
AA@AYqEH"
AA]@AYqEkAAAA
aaa]Y]]!r_
aaa]Y]]v)_
aaa]Y]]V
aaa]Y]]X
aAaZaAa"a
aAaZaAaCaDa
AA@AZqmM
A@AAZqWE
aaazrzzzzzzzzzzzrzzzzzzzzzzzrzzAzzz?Yzzzrzz
@@@@A@AB
@@A@; AB
aaBa@aiaaka5
AABA@BAAAAA
AABA@BAAAAAfqSAAAAA
AABA@BAAAAAYqUE
AABA@BAA@AAQqXETz
AABA@BA@@AAQqER
AABA@BAACAAwqDAAAAA
AABA@BAAYAAYqEcAAAACx-2
aabababa@14 [6
aabababa@B
aabababa@B 
aabababa@B#
aabababa@B)
aabababa@B-
aabababa@B14 [#
aabababa@B)253[
aabababa@B)253["
aabababa@B)253[#
aabababa@B)253[(
aabababa@B)253[1
aabababa@B)253[2
aabababa@B)253[3
aabababa@B)253[5
aabababa@B)253[7
aabababa@B5
AABA@BACAAAIqA]
AABA@BACAAAIqAR:
AABA@BACAAAMqA
AABA@BACAAAMqAl
AABA@BACA@AaqAN
aababacaacaS
AABA@BAC@AADqAe
AABA@BACA@AMqAl
AABA@BAC@AAwqAW
AABA@BACCAA
AABA@BACY@AIqAvAAAAAAAA
aababada@B 
aababada@B)
aababada@B14 [#
aababada@B)253[(
aababada@B)253[5
aababaea@B
aababaea@B 
aababaea@B-
aababaea@B14 [#
aababaea@B)253[
aababaea@B)253[(
aababaea@B)253[)
aababaea@B)253[1
aababaea@B)253[5
aababaea@B)253[6
aababaea@B)253[7
AABA@BAEE@AOqNNw
aababafa@B
aababaga@B14 [#
aababaga@B)253[
aababaga@B)253[#
aababaga@B)253[5
aababaga@B)253[6
aababaia@B)253[(
aababaia@B)253[5	
aababaka@B)253[6
AABA@BAUAAA
AABA@BAU@AAOq
aabacaba@B14 [#
aabacada@B)253[7
aabacaia@B)253[
AABACBAAQAAQqJPAAAA
AABACBAC@BADqAETz
AAB[AMX_N]
AABAQqVL[
AABAQqVY
aaba]Y]]
a||ab||!b||
AABBEN_YGG
!AABB.!MU
@AABCp@V
AABFJPEGAL
AABH]JQBJB
AA@Bi!LS
AA@Bi!S[
AAB@.!KM
AAB@lpCD
AABQAAQSX
@@@@@AABqp@f
Aa@B@QqAE
AABXMCAC
AABXMP@KFK
AAC1AE;7t
AAC1AjAAAAAAAA)A5A5A1A
AAc1AMAAAAAAAAAAAAAAAA"A4A3A-AnA
AAC1AOAAAAAAAA@AAAoA"A-A A2A2A
@@@@AACA
a	aca32a
AACAA6qIAAAAAa
aacaa(aa
AACAAbqAAAAAAAAAAAAAA
aaCa@afaakax
AACAAoqAAAAAAAAAAA@AADqAEM
AACAAoqAAAAAAAAAAA@AADqAETz
AACAAOqLAAAAAfg
AACAaqAL
AACAA.qCAAAAA
AACAAyqDAAAAAqI[gAUAA
AACA@BAA@CAQqAf#
AACA@BAAQ@A
AACA@BAAQ@AIqCYAAAA
AACA@BAAUAAQqa_AAAA
AACA@BACAAAIqAc
AACA@BACAAAOqAK
AACA@BACA@AMqAl
AACA@BAQAAAyq]L
AACA@BAQC@AYq
@@A@ACac
A@[@ACac
aacacaba@B
aacacaba@B 
aacacaba@B)
aacacaba@B14 [#
aacacaba@B)253[
aacacaba@B)253[)
aacacaba@B)253[5
aacacacaaca#
aacacacaacaJn
aacacaca@B
aacacaca@B 
aacacaca@B-
aacacaca@B14 [#
aacacaca@B)253[ 
aacacaca@B)253[(
aacacaca@B)253[1
aacacaca@B)253[2
aacacaca@B)253[3
aacacaca@B)253[5
aacacaca@B)253[7
aacacaca@B)253[9
aacacaca@B32 1
aacacaca@B5
aacacadaaca|
aacacada@B)
aacacada@B14 [#
aacacada@B)253[)
aacacaeaaca@
aacacaea@B14 [#
aacacaea@B)253[
aacacaea@B)253[#
aacacaea@B)253[6
aacacaea@B)253[7
aacacafaacau
aacacafa@B)253[6
aacacaga@B14 [#
aacacaga@B)253[5
aacacaga@B)253[6
aaCaCaia@B)253[162[6
aacacaka@B)253[6
aacacama@B)253[5
AACACBAAA@AMqAX2Z
AACACBACA@AIqAj
AACA@DAAA@A2!DU
AACA@EAQA@AA
aacagqggY
AAC@Ai!MAAAAA
AAC@A?!KAAAAA
AA]CAMqAaAAAAAAAA
AA]CAMqAbAAAAAAAA
AA]CAMqAdAAAAAAAA
AA]CAMqAiAAAAAAAA
AA]CAoqA
AAC@AOqaAAAAA
AAC@AOqLAAAAA
AAC@A|qEAAAAA
a[acaw[aYaPaNa
@aaca]Y]]
aaca]Y]]
aaca]Y]]ABY
aaca]Y]]J
aaca]Y]]N
A]ACAYqrE
A]ACAYqtE
A]ACAYquE
A]ACAYqwE
A]ACAYqyE
AACAYqZDm
A]ACAZqeM
A@ACAZqHM
AACBAi!HAAAAAF
AACBEfqGAAAAA
AACBOqhKB
AACBOqhQ
@AACC@As1AAAAAAAAAAA
AA@Ci!DV
AAC@@i!OAAAAAA
AAC]JKEGEC
@@@@@@AAcp@]D
_AACPJXKC
@AA@Cp@R
@@@@@@AACp@UV
@@@@@@AAcp@UX4nE@@@@@@@A
@AACQCAR1AYAAAAAAAAposoyuqopprttwopouoyup
@@@@@AACvpKWO
AACYSKFABOF[E
AACZPGXX
AADA@BAAAAA
AADA@BAAAAAMqAY
AADA@BAAA@A*qDMw
AADA@BAACAA
AADA@BAACAAwqEAAAAA
AADA@BAAEAAeqAIQ
AADA@BACA@AA
AADA@BAC@AAIqAE
AADA@BACA@AMqAY
AADA@BACQAAIqAfAAAAAAAA
AADA@BACQ@AIqA
aadabada@B14 [#
AADA@BAQA@AZq
AADABBAQ@@AQqeH
@@A@ADac
AADACBACA@AIqAO
AADACBACC@AoqAAAAAAAAAACU@AIqA
AADACEAQABAA
aadadaba@B14 [#
aadadaca@B)253[5
aadadaca@B)253[6
aadadadaaba
aadadadaabaC
aadadadaacahNO
aadadadaacauN
aadadadaacaw3
aadadada@B 
aadadada@B-
aadadada@B14 [#
aadadada@B)253[#
aadadada@B)253[162[6
aadadada@B)253[5
aadadada@B)253[6
aadadada@B)253[7
aadadada@B6
aadadaeaaba)D
aadadaeaabau
aadadaeaacaEOa
aadadaeaadaz[-
aadadaea@B 
aadadaea@B)253[162[6
aadadaea@B)253S[5
aadadafaacaAD
aadadafaaca|D
aadadafa@B)253[#
aadadafa@B)253[3
aadadafa@B)253[7#(
aadadagaabaC
aadadagaacaG
aadadagaacalG
aadadagaacao2
aadadagaacaSN
aadadaga@B 
aadadaga@B14 [#
aadadaga@B)253[)
aadadaga@B)253[14 [*
aadadaga@B)253[162[6
aadadaga@B)253[6
aadadaha@"
aadadaia@B 
aadadaia@B)253[6
aadadaja@B)253[6
aadadaoa@B)253[6
AADA@EAAA@AA
AADA@EAAAaAA
aadaeada@B 
aadaeada@B)253[5
aadaeaeaacarN
aadaeafa@B)253[5
aadaeaga@B)253[5
AADA@EAQA@AA
AAD_]ANM
a[aDaPa@a
a[aDaQaOaSa
a[aDaQaSa
aada]Y]]
AA]D]DBBYBZJ
aaddeviceid
aaddeviceid_scrubbed
A]ADGAPGSHB
AAdH[[[B[[[
AADHJA_X_CM
@@@@@@AAdp@fJ41u@@@@@
aadtenantid
aadtenantid_scrubbed
AA@@.!D]y
AADYCBOJ
@@A@; AE
AaE9.OSSWAaI.NSSWAas
AAE@A@1AAAAAABAAACCEAa1AAAAAAAAAACCEAc1AAAAAAAAAACCEAs1AAAAAAAAAACCEAp1AAAAAAAAAACCEA!1AAAAAAAAAACCEA 1AAAAAAAAAACA@AR1AJ@a
AAEAA@1AAAAAACAAAC
aaeaa3aa
AAEA@BAAAAA
AAEA@BAAAAABqA]#
AAEA@BAAAAAeqAmP
AAEA@BAAAAAfqDAAAAAm
AAEA@BAAAAAMqAl
AAEA@BAAAAAxqAF
AAEA@BAACAAeqAAAAAAAAAAAAAAKPAL
AAEA@BACAAADqAFt
AAEA@BACAAAeqA_
AAEA@BACAAAeqAB(
AAEA@BACAAAfqAR
AAEA@BACAAAIqAjO
AAEA@BACAAAOqAH6F
AAEA@BAC]AAIqAWAAAAAAAA
AAEA@BACA@AMqA
AAEA@BAC]@AIqAWAAAAAAAA
AAEA@BACU@AeqALAAAAAAAA(
AAEA@BACYAAMqA|AAAAAAAA
AAEA@BACY@AeqAYAAAAAAAA
aaeabadaacaE(a
aaeabaea@B)253[
AAEA@BAQAAAYq
AAEABBACABABqAh
@@@@@|@@A@AEac
@@A@AEac
A@[@AEac
A@]@AEac
aaeacabaacaM
AAEACBACA@AaqAM
AAEA@EA]A@AA
aaeaeabaaca[G
aaeaeacaacaP
aaeaeadaaca|061
aaeaeada@B
aaeaeada@B 
aaeaeada@B14 [#
aaeaeada@B)253[ 
aaeaeada@B)253[#
aaeaeada@B)253[)
aaeaeada@B)253[14 [*
aaeaeada@B)253[5
aaeaeada@B)253[7
aaeaeaea@B
aaeaeaea@B 
aaeaeaea@B#
aaeaeaea@B-
aaeaeaea@B14 [#
aaeaeaea@B)253[
aaeaeaea@B)253[ 
aaeaeaea@B)253[#
aaeaeaea@B)253[)
aaeaeaea@B)253[1
aaeaeaea@B)253[162[6
aaeaeaea@B)253[2
aaeaeaea@B)253[5
aaeaeaea@B)253[6
aaeaeafaabay
aaeaeafa@B)253[)
aaeaeafa@B)253[5
aaeaeafa@B)253[6
aaeaeagaabaE
aaeaeaga@B 
aaeaeaga@B14 [#
aaeaeaia@B
aaeaeaia@B)253[#
aaeaeakaacaf 
aaeagqgg
@aaea]Y]]
aaea]Y]]
A@[@AE@B@A@2 @S
@AAECEAQ1AAAAAAtAAAECEAQ1AAAAAATAAAECEAQ1AAAAAAXAAAECEAQ1AAAAAA
AA]EDCZ@AGS
AAED[P[J@AKJO
)aaekJagKGacb
@@@@@AA@Ep@H
@@@@@AA@Ep@K
AA@@.!EX
aafaa"cahahaha@B)253[5
AAFA@BAAAAA
AAFA@BAAAAAaqAR
AAFA@BAAAAAMqAL
AAFA@BAAAAA*qDMw
AAFA@BAaAAAZqAM
AAFA@BAACAAeqAAAAAAAAAAAAAAMqA
AAFA@BAACAAeqAAAAAAAAAAAAAAMqATP
AAFA@BACAAAIqAK
AAFA@BACAAAIqAM
AAFA@BACAAAIqAO
AAFA@BACAAAKPAL
AAFA@BACAAAMqAt
AAFA@BAC@AAIqAE
AAFA@BAC@AAIqAE"I
AAFA@BACA@AKPAL
AAFA@BACA@AMqAlAv
AAFA@BACA@AMqAV;
AAFA@BAMC@A
AAFABBAAA@AA
AAFABBAA@BADqAETz
AAFACBAAABA
AAFACBAAQBAQqA_AAAA
AAFA@EAAA@AA
AAFA@EAQA@AA
AAFAEBAaA@AZqAM
aafafadaadau	
aafafada@B14 [#
aafafada@B)253[5
aafafaeaaday	
aafafaea@B)253[5
aafafafaacaG3a
aafafafa@B)253[#
aafafafa@B)253[5
aafafafa@B)253[6
aafafagaacat	
aafafaga@B)253[5
aafafaha@B)253[6
aafafaiaaear *-OQQVa)
aafafaia@B)253[#
aafafaia@B)253[5
aafafara@B)253[6
AA[FAKGPZ
AAF@@DAAAaAi!JS
@@AAfpED
@@AAfpEFAB
:AA@@.!FX
AAFXNQDBGB
AAGA@BAAAAA
AAGA@BAAAAAbqAEV
AAGA@BAAAAAKPALM
AAGA@BAAAAAKPAR
AAGA@BAAAAAMqAY
AAGA@BAAAAAoqAHD
AAGA@BAA@AAoqAEM
AAGA@BAAA@A*qDMw
AAGA@BA]AAAZqmM
AAGA@BAACAA
AAGA@BAACAAeqAAAAAAAAAAAAAA
AAGA@BACA@AA
AAGA@BACAAAeqAFK
AAGA@BACAAAeqAV_
AAGA@BACAAAIqAM
AAGA@BACAAAKPAL
AAGA@BACAAAMqA
AAGA@BAC@AAIqAXfi
AAGA@BACA@AKPAL
AAGA@BACA@A@PAM
AAGA@BAQAAAZqyM
AAGABBAAE@AMqAo
AAGACBACACAeqAN
AAGACBAC@BADqAEM
AAGA@DAAAaA.!Iy
AAGA@DAAA@Ai!PQ
aagadaea@B)253[5
aagadafaacam2
aagadaga@B)253[
AAGA@EAAA@AA
AAGA@EACA@AA
aagagaba@B 
aagagaba@B)
aagagaba@B14 [#
aagagada@B 
aagagada@B14 [#
aagagaea@B14 [#
aagagaea@B)253[7
aagagafaacaf
aagagafa@B)253[6
aagagagaacahNO
aagagagaacak'
aagagagaacaq
aagagaga@B 
aagagaga@B-
aagagaga@B)253[#
aagagaga@B)253[)
aagagaga@B)253[14 [6
aagagaga@B)253[5
aagagaga@B)253[6
aagagaia@B)253[#
aagagaka@B14 [#
AAGCJ[XMDH_Q
 aa.gCngfG
AAGCOAMACZCONG
A_agfGnM
AAGGGJ]Q
aagpgppepqe
AAGPH_SA
@@@@@@AAgp@X
a|agqgg(
aagqgg:8*0
aagqgg8QR
;AAgqggBG
AAgqgg'?ckR
Aa(GSSW@rBr
][A]AGYDDOX[
]AA[]@GZ
aah1a.a2a5aal
AAHA@BAAAAA
AAHA@BAAAAAaqAHU2
AAHA@BAAAAAaqAu
AAHA@BAAAAAeqA@
AAHA@BAAAAAMqAf
AAHA@BAAAAAMqAo
AAHA@BAAAAAMqAY
AAHA@BAAAAA*qAM
AAHA@BAAAAA(qFF
AAHA@BAAA@AZqaM
AAHA@BAACAAeqAAAAAAAAAAAAAA
AAHA@BAACAAeqAAAAAAAAAAAAAA(qDA
AAHA@BACAAAIqAT
AAHA@BACAAAMqAz
A]@AHA@BACA@AaqAQ
AAHA@BACA@AoqA2
AAHACBAAA@AKPAR
AAHA@DAAA@A.!MJ
AAHAGBACa@AIqAAAAA
aahahabaabaARaaa
aahahadaada#
aaHaHafaaka!Da2a
aaHaHafa@B)253[5
aaHaHagaakam a5a-a[aDa
aahahahaacau
aahahaha@B 
aahahaha@B)253[1
aahahaha@B)253[5
aaHaHaha@B)253[5
aahahaha@B)253[6
aahahaha@B)253[7
aahahaiaacas
aaHaHaiaakaw
aahahajaacafPSRO
aahahaja@B)253[ 
aaHaIafaaka|
aaHaIafaakanN
aaHaIagaakaiO
@@AAh C]3
AAH@@DAAA@Ai!JS
A[[]AHDZOG
@@AAh Elc
@@@@@@AAh ET
@@AAh ET
@@aAh EZ
@@AAh EZ
@@@@@@AAh FMHc
@@AAh FMHc
@@AAh FT
@@@@@@AAh G]3
@@@@@@AAh GK
@@AAh GSR
@@AAh HK
@@AAh HN
@@AAh Hr
@@@@@@AAh HSR
@@AAh HT
A@@A@h HX
@@AAh IM
a@@A@h IN
a@@A@h IT
'@:A@AHJMxyxvy
AAHJQK]M
@@AAh KL
!@@AAh KN
AAHKOXMO
A@@A@h LZ
!@@AAh MN
AAHNMQNA[NC
@@AAh NN]
@AA@HpBD
@@@@@AA@HpBDL
@@@@@AA@HpBJ
@@AAh PN]
@@AAh PZTTG
@@@@@@AAh QK
@@AAh QK
!@@AAh QP
@@@@@@AAh QP
@@AAh QP
@@AAh QY
!@AA@h SJ
AAHSPQCP
A@@A@h ST
'@AA@h STKN
@@AAh WN
a)))AH[ZAYHMHPHEHKLE
AAHZLKPHHMX
AAIAAMqAN
AAIA@BAAAAAA
AAIA@BAAAAAaqAM
AAIA@BAAAAAMqA|
AAIA@BAAAAAMqAW
AAIA@BAAAAAsqAAAAAAAAAAAAAAkqAAAAAAAAAACAAAIqAT
AAIA@BAAAAAxqAI
AAIA@BAAC@A
AAIA@BAACAAoqAAAAAAAAAAA@AADqAETz
AAIA@BAAY@AIqCjAAAA
AAIA@BACAAAfqAEr
AAIA@BACAAAMqAW
AAIA@BACC@AkqAAAAAAAAAACA@AIqABs
AAIA@BAQAAA
AAIACBAAAAAMqAx:
AAIACBACA@A
AAIACBACA@AA
AAIA@DAAA@A.!]U
AAIA@DAAC@Ai!RAAAAA]
aaiadaeaaca-
aaiadaiaacaH
AAIA@EAAA@AA
AAIAEDAC@@A3!AF
aaiafaea@B 
aaiagafaabam
aaiagamaaeao2
aaIaIada@B)253[#
aaiaiaeaadaQ))
aaIaIaeaakao7
aaiaiagaadaj
aaIaIagaakay
aaiaiaia@B14 [#
aaiaiaia@B)253[1
aaiaiaia@B)253[5
aaiaiakaacaGa
aaiaiaka@B 
 AA@@i!D[
!AA@@i!DV
AA@@i!DV
Aa@]@I@E@1@-@
!AA@@i!GLIb
AA@@i!GLIb
AA@@i!JG
 AA@@i!JO
Aa@]@I@N@D@
AA@@i!NW
AA@@i!V](
a)aJa'a	aYaaaa
AAJA@BAAAAAMqAl
AAJA@BAAAAA*qDMw
AAJA@BAAY@AIqCjAAAA
AAJACEAAA@AA
AAJAEBACABA
aajajaba@B)253[ 
aajajaba@B)253[6
aajajaca@B)253[5
aajajadaakaj
aajajada@B14 [#
aajajada@B5
aajajaeaadaj
aajajaea@B)253[5
aajajaea@B)253[6
aaJaJafaakae
aaJaJahaakaq(
aajajaja@B)253[5
aajajakaakal-
aajajama@B)253[5
AAJ@@DACCaA3!AAAAAAAAAA@AAACCaA3!AAAAAAAAAA@AAAAA@Ai!GLIb
AAJDBXSJHSK
 .AajgfG
AAJGGEMM
AAJJA_XAFY
A_]AJPEQM
AAJSBXYZ
AAJS_ZMZCA
AA@JUHAJNULK@@UA@
[_AAJXEQ
Aa@K@3@(@
[aakaaaKaaazQba
a_aKa]aNa
AAKA@BAAAAA
AAKA@BAAAAAMqAY
AAKA@BACAAAaqAZ
AAKA@BACAAAmqAC
AAKA@DAAA@Ai!LS
AAKA@EAAA@AA
aakaFea *-O
aakahafaaban
aakakabaaea
aakakacaada
aakakaca@B 
aakakadaaea
aakakada@B)253[5
aaKaKagaakaf
aaKaKaga@B)253[#
aakakaga@B)253[5
aakakaiaacaI
aaKaKaia@B)253[5
aakakaja@B)253[5
aakakaka@B)253[5
aakakaka@B5
a@akaM2a
a@akaO3a
a[akaO.a
a	akaW"a
a[akaW	a
a[akay1a.a1aRaAa
A]AKAYqzE
A?@AK@@BACA@AaqAQ
AAKCGHLKGYN
AAK@@DAAAaA:!H](
AAKG_ANOKZ
AAKHSCNBY
aakIEaagITaakjf
@AAKJNNAH
A]AK]KGFK
aakkJagKaaarQea
aakkJagKarQka
AA[KLM[C]BJZ[
"aakrdhv
aakrevrdJTfpdv
"aakrgfv
AALA@BACAAA
AALA@BACC@AWqAAAAAAAAAACC@A_qAAAAAAAAAACC@A
AALA@DAAA@Ai!U[UUF
aaLaIaga@B 
aalaladaaka)5
aalaladaakay@a	a
aalalada@B)253[162[6
aalalada@B)253[5
aalalaea@B)253[5
aalalaia@B)253[5
aaLaLama@B)253[1
AALCYY[[OMA
)))A]A[LHM
A@]]ALKEFJBZ
AALKNO]CL
AALKSJDGSS_
AallllllllmllllOllylmS
aalOllylm
@@@@@@AALp@
@@@@AA@@lpBC
@@@@AA@@lpCD
A@A@lpEGh
@@@@@AA@Lp@F
@@@@@@AALp@I
@@@@@@AALp@m
A@A@lp[O
@@@@AA@@lpOE
AA@@lpQH
@@@@A@A@lpRG
@@AA@Lp@u0
*@@@@AA@@lpVC
AA@@lpZHw
aalVllylm|
AAMA@BAAA@AmqIE
@@@@@AA@M@ACac
AAMAEBACABAIqAJ
aamagqgg
aamakada@B)253[5
aamamaba@B)253[5
aamamadaakay
aamamada@B 
aamamaea@B 
aamamagaakar
aamamaga@B14 [#
aamamaga@B)253[#
aamamaga@B5
aaMaMaiaakai)
aaMaMajaakamN
aamamama@B)253[5
AAMAO]CQ
AaMAPIVerbWWW
AAMBH[NBPDQCOY
AAM@@DAAAaAi!JS
A_AMK[QMK]A]DEM
AAMLGQGJZE
AAMLPY]PZ]
AA_MMQHP
AAMNG[_Y]
AAM]_NSZ
AAMOXOOMG
A@@@@@@A@mpYE
AAMZP]GXMGOQ
a[aNaNaaa]Y]]
aananabaadaf;92	
aananaba@B 
aananaba@B)253[5
a[aNaNaDa
aananaeaakaw86	
aananaea@B)253[5
aananafa@B)253[5
aananaga@B)253[5
aananana@B)253[5
a[aNaNaPaXaTaOaPaWaPaOaWaYaOaTaYaNaPaOa
a[aNaNaPaXaUaOaPaYaQaOaUaYaOaSaUaWaNa3a
a[aNaNaPaXaUaOaPaYaQaOaUaYaOaSaUaWaNa)a
a[aNaNaPaYaOaPaYaRaOaSaSaVaOaXaUaNa
a[aNaNaPaYaTaOaRaTaOaPaRaXaOaPaXaQaNa9aNaUaNa
a[aNaNaRaOaPaPaQaOaSaPaWaOaWaUaNa
a[aNaNaRaOaWaVaOaPaRaSaOaPaVaQaNa
a[aNaNaSaQaUaOaPaRaOaWaXaOaPaSaNa
a[aNaNaSaRaOaSaUaUaOaPaUaPaOaPaYaTaNa
a[aNaNaTaPaOaSaTaUaOaPaSaYaOaRaTaNa
a[aNaNaWaSaOaPaQaYaOaUaQaOaVaPaNa
AANBXG]]SGB
AAN_CN_BJLK
AaNdA[[[
AaNdE[[[
AaNdx[[[
AA_NLBO][BGD
AAN[[NHESXY@
@@@@@@AANp
][_AAN]P
@@@@@@AANp@A
@@@@A@A@NpDG
@@@@A@A@NpDR
@@@@A@A@NpGH
@@@@@@AANp@I
A@A@NpJI
@@@@A@A@NpKV
@@@@@@AAnp@Q
AANPSBJL
@@@@A@A@NpTF
AANS]OAAABJBQF
a	aOaAa1a
aaoajanaacak
AAOAKXMHOJ_
aaoaoada@B)253[5
aaoaoaga@B)253[5
[AAOCAFMNX_P
[A[]AO_CPB]ZEO_PM
AAOEPS]FBLGZ
AAOgMigfG
AAOHZXLOMN
AAOKJLMQBD
AAOKK[SZXBPNK
AAOLXKXLOL[E
[AAO]OBO
@@@@@@AAOp@@@@@@@@@@@@ABLp@G
Aa(OSSW@zBz
aa_O__X_
@@@@@A@@ap@]
@@@@@@AA[p
@@@@@@AA:p@A
AAPAAHZ_
@aA@P@ADac
aapapaea@B)253[5
aapapaiaakav2
aapapaia@B)253[5
a	aPaVaPaUaRaaaa
@@@@@A@@ap@B
@@@@@@A@ap@C
@A@@ap@Cae
@@@@@A@@ap@D
@@A@@ap@D
@A@@ap@D
@@@@@AA@_p@D
A@A@[pD@
@@@@AA@@[pDDa
@@@@@A@@ap@DL
@A@@ap@DL
@@@@@AA@[p@DL
@@@@A@A@[pDL
AA_PDMJPCPOA[
@@@@@A@@ap@e
@@@@@A@@ap@E
?@@@@@A@@ap@F
@@@@@A@@ap@F
A@A@[pGL
@A@@ap@H
 @@@@@A@@ap@I
@@@@@A@@ap@I
@@@@@A@@ap@j
AAP_JH[]DOMK
AAP]KJFQBY
@@@@A@A@[pLL
@@@@@A@@ap@N
@@@@@A@@ap@OsK
@@@@@AA@Pp
@@@@@AA@ppADm@
@@@@AA@@PpDD6
@@@@@AA@Pp]DL
@AA@PpHH
@AA@PpHK
AA@@PpNN]
@AA@PpSL.
@@AAPpY;
@@@@@AA@[pTD
@@@@A@A@[pTF
A)))APYL[E@GB
AAPZCPSCQYH
A@APZZSNOGGSHGJ
a@aQa@aaaa
AAQAAIqC_AAAA
AAQAAYqEeAAAA
AAQaAYqEPAAAA
AAQAAYqEZAAAA
AAQAAYqM
AAQ@Ai!KLAAAAY
AAQ@AIqCNAAAA
AAQ@AIqCYAAAA
a[aQaMa)a
aaqaqafaaka|
aaqaqafa@B)253[5
aaqaqagaadagE
aaqaqaha@B)253[5
aaqaqaia@B)253[162[6
aaqaqaia@B)253[5
AAQ@AYqE
AAQ@AYqEVAAAA
_AAQBGMO
AAQ@C2!DJAAAA
AAQCABqAUAAAAAAAA
AAQCA@PAUAAAAAAAA
AAQCApqALAAAAAAAAn#2*"4 o1)1
AAQCApqAXAAAAAAAAn9x"yv7"9xyv7xy"9v7o1)1
AAQCAQqA]AAAA
AAQCAQqAVAAAA
AAQCAQqAZAAAA
AAQCAYqEXAAAA
A_AQCFKSP]AQ]MBS@X
[A@]AQC_NEHA
AAQ@CQqyPAAAA
@@@@@A@@AQ@D
@A@@AQ@D#H
@@@@@A@@AQ@DL
AAQENZHOGZ[Z
AAQJAQqVVAAAAG
@@@@@A@@AQ@K
AAQLMQBY
A[AQM@AB@AYA@O_
@A@@AQ@M|P
AAQMXBL]
@A@Aqp@DL
A@AQP_OOOD
AAQQEJJC_
@@AAQqEM
AA[]QQOPB
A@@@AQqV[L
!@@@@@A@@AQ@S
aaRaOahaaka#	a
aaRaRaea@B)253[5
aaRaRahaakah3
aaRaRaiaaka
a'aRaTa'a
aarax:xxyxyxyxxyxMz
aarNa"aAa
a;aSa	aQa0a9a3aQa
a	aSaQaPaTaOaPaXaTa2a
aasasaha@B)253[5
AA@SBMYZQJS
AASJDDPES_LG[QDPM]H
AA_SPPMS
A@[ASPQZ
a*aTa9aTaUa8a2a.a0aVa
A(@ATA@EAAA@AA
aatagqgg
aatatabaaka
aatatada@B)253[162[6
aatatada@B)253[5
aatataeaakan2
aatataea@B 
aatataea@B)253[5
aatatafa@B)253[#
aatataha@B)253[5
aatataia@B)253[1
aatauadaakaAaaOa
aatauaeaakay
aatauahaakat	
aauapalaacauD
aauauacaakafE"
aauauacaaka@J4
aauauaca@B 
aauauaca@B)253[5
aauauaca@B5
aauauaea@B 
aauauafaakayN
aauauaja@B)253[5
aaua]Y]]
AAUCAMqA
Aa@vAg@YQBY
aavauafaadaT	
aavavabaakaU)
aavavadaaka
aavavagaakaxQOQOQOQA
aavavaga@B)253[5
aavavaiaakaE	
Aa@vI@JBv
a aWa2aVa
aawajaeaakaZ
a;aWaTa0aRa5a
a#aWaUa*a6a
aawawadaaka!	
aawawafa@B 
aax0xxyxyxyxxyxCz
a"aXa"aTaSaTaPaQaLaXa#aUaPaLaUaSa
aaxaxafaaka
aaxaxahaakaq7
aaxcxxyxyxyxxyxvyK
AAXEODD]YYS
aaxExxyxyxyxxyxHy
aaxgqggX
AAXGZJ_L
 aaxHxxyxyxyxxyx[yy
AAXLHJMH]M__
aaxNxxyxyxyxxyxQz
@AA@XpAJc
@AA@XpAKwz
@@@@A@@AXpCD
@@@@A@A@XpDD
@@@@@A@AXpDMt:|
@AA@XpDN
@@@@A@A@XpKD
@@@@A@A@XpLD
@@@@A@A@XpOD
AAXQ[YDSXJ@MH[JCZL]SZPDZC@PMXD
aaxRxxyxyxyxxyxey
AAXSODN_FNN
aaxVxxyxyxyxxyxYyS
aaxWxxyxyxyxxyxZz
aax.xxzxzxyxxzx1y
aax xxzxzxzxxyxPz
AAXYGFJC
AAXYQMNSS]YCYOBS
A]AXZABMGLGS[Y
	aa]Y]][
aa]Y]]!__
aa]Y]])#_
a)))A]]Y
"aa]Y]]1WY
aa]Y]]3ZY
a.aYa#aVa
AAY@AIqCOAAAA
a[aYaQaHakaIWaWaOaSaSaQaOaPaVaOaPaTaVaZa
aaYaYafaakam
aa]Y]]BxY
aa]Y]]Db_
 aa]Y]]f
aa]Y]]Fn_
aa]Y]]FTY
aa]Y]]HTY
!@aa]Y]]i
aa]Y]]IgX
aa]Y]]isY
aa]Y]]KgX
aayllllllllmllllOllylm
A[A_[YLQLG
aa]Y]]l	X
AAY]LYFZJ
!aa]Y]]"m_
@A@AYq_G 
aa]Y]]QPY
 aa]Y]]R
AAYSBQHN_]JJM
AAYSCA]DN
aa]Y]]se_
@aa]Y]]T
aa]Y]]]U_
aa]Y]]uAY
aa]Y]]Uo_
aa]Y]]]UY
@aa]Y]]vl_
@aa]Y]]W
AAYXAYHBSSQ@[BED
]AAYX]LG[W
aa]Y]]YEY
AAY[YJYP
a)))A]]YZ
aazazaiaauay"
AA]ZC[CCS
AAZDFFMEL
AAZDMZSYDLNLDM
AAZGZDDO
AAZJACSKKH
AAZO[DLA
AAZP_LHHED
]A@AZqkM
a@@@@@@B@
a@@@@B@@@@
@@@@@@A@B
@@@@@@AB
@@@@@@AB@
@@@@A@@B
@@@@AB@@
A?_]:::::B
A]@B@1@-@
a@B)253[1
@@AB3 EJ
!@@AB3 ETD
 @@AB3 ETS
@@@@@@AB3p@J
@@@@@@AB3p@JWU3
aB9gV[[[
a@@@@B@A@
a@@@@B@A@@
@@@@ABA@
A@@@@B@A@
A@@@@B@A@@
a@@@@B@A@2 @FQ
A;@@@@B@A@2 @G
A@@@@B@A@2 @P
AB@A@2 @u
.!"@ABA@7pF@@@@@Y
A*@@@@B@AA2 @x
A@]@BA@@@A@A
aBAAAA@AAAAAC
abaaaeaaa
a@@@@BAA@Hp@DL
abaakaH	
@@@@ABAANpk@@@@@
a@@@@B@A@ap@HTu
@@@@@ABAap@RD]-
A@@@@BAB@
ababababababababababS
@ABA@BEBBg
@ABABLdWBLxQBA@vBvLr
@ABABUfQEyBABU
@@@@@ABACp@K
@ABADgUs
a@@@@B@A@dp@f
aB@AE2 @W
@ABAEazBAT
abaEPaSa'a
@@@@@ABAEp@DfN
@A[BAgQEyBLLC9
A@@@@B@A@Hp@
A]@@@@B@A@Hp@
a@@@@B@A@Hp@Cr
]A@@@@B@A@Hp@L
@ABA@KHBT
@@@@ABA@lpM@@@@@G'
a@@@@B@A@Lp@_Z
ABAN_D[CQ
@@@@ABA@NpD@@@@@E
a@@@@B@A@Np@I
@@@@ABA@NpK@@@@@
@ABAOBMH
@@@@A@BA[pOL
@ABAPphC
@ABAPphC1
@ABAPphD
@@@@@ABAPp@K
ABAQ_JDD
@ABAsSCSSd
@ABAsSQSSgTB@j
@ABAsSSS
@ABAsSWSS
A@batGDKNLKB
@ABA@WBA@XTLc9
@ABA(WSSW@BBBLYdQEyPLC9
aBaXaOaQaBaQaBa
@ABAXpLMw
A@BAXpTD
A@@@@BBA@bp@@@@@@@@@@B@A@ap@]
@AB@BAfQEyB@BA
]A@@@@BBA@Ip@@@@@@@@@@BBA@Kp@@@@@@@@@@@
@ABBBBBAe
aBBBBBBB
ABBBBBBB
@ABBCp@C 
@ABBCp@L
A@@@@B@B@Hp@J
a@@@@B@B@Hp@M2
A@@BBh Qw
@@@@A@BBNpKEB
ABB@[pI@@@@@
@@@@ABB@[pM@@@@@
ABBPMBA]OCM
ABB@PpM@@@@@
 "a@@@@B@B@pp@N(g
abbreviated query algorithm search
aBBScUHW	e
aBBScUHW	f
@ABBXp@C 
@@@@ABB@XpK@@@@@
@@@@ABB@XpL@@@@@Q
@@@@ABB@XpM@@@@@rG
@@@@ABB@XpR@@@@@
ABB@XpS@@@@@
ABB@XpX@@@@@7
ABB@XpY@@@@@VB
:ABB@XpZ@@@@@
A@@@@B@C@2 @Uy
*a)b)c)d)
@'A'B'C'D'E'F'
A@B@C@D@E@F@G@
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
ABCGDJBQC_QY
ABCJBSXNDAOY
AB[CJENQPD
@@@@@AB@Cp@F
@@@@@AB@Cp@I
A@@@@@@B@Cp@L
@AB@Cp@M
@AB@Cp@MrG
@@@@@AB@Cp@R
@AB@Cp@W8
@@@@@AB@Cp@X7
@AB@Cp@Y
@@@@@AB@Cp@YVB
:@@@@@AB@Cp@Z
ABCQNC[J
[A[BC]QY[QPB
A_BCYOKBBP
ABCZSYLXLMB_]S
.ABd_[[[
A@@BDA@R0@@F@@@@@@@@
ABDD]_GGND
AB@DiB@JL
A	BdL[[[
ABDPAOYM
ABD_SBCD[KNYEP[OG
?ABdx[[[
@ABDXBOLsT
a[";be[3q
A@[@BEac
)))ABEDBLPZYL[D@ZZ@FGZ
;)))ABEDuLG_@[FGDLG]
A_BEONGPP
@@@@@AB@Ep@V
abeV[[[f[[[e[[[pN
[[[AB"eZ[[[
@@A@? bf
ABFLJS@C
ABFNB[E]SGYE@
@ABGBAK	BX
AB]_GEE]H
 a-bgfGb_
'AbgfGn'
AbgIcgfGNh
ABGJYXKGGJHCJDQ_COCY_YCBGL
ABG[KOJ[DJJ
ABGLSO]YG@
@@@@@@ABgpQQq
ABgqggWF85t
ABGXG__OY[Y
ABGZLFKLCBYDF
@@ABh EM
ABH[E]ZZXG
@@@@@@ABh FMHc
'@@ABh GI
ABH]JFP@]C
ABHJY_OEL
[ABHLAZ_BBBB
ABH_NNXLKP]B]XFZBFSBYNK
aB@@@Hp@I
a@@@@B@@@Hp@L
@@@@@@ABh PN]
@@ABh PN]
ABHZFAHL[
__ABHZQQGLQ
@@A@; Bi@
ABJCG_SB_YMGAON
ABJKHQJLCE
_ABJLBYJ[SMJHZS]L
ABJMA_XQZCO
ABJMGYOONEN
ABJOBCOMSZZ
ABJ]]XXNHQNHP_]M
ABJYLALXMOPL
AB[JYQDPJ
abj|zAfYLGjDM
ABK_KPXX
A[BKOHCOYSZ
ABKQOFSAOSHP
ABKSFAYJAASNJO
ABKSPCYL
ABKYS_GDM
@AB@[LC9
ABLDJDGPZL
Abllllllllmlll]Y]]
ABL_][]LZ
ABL_MNOC_LDJPELS_
AB]@LNZYKZG
@@@@@@ABlp
)))ABLPvEFJHEvDHJA@GL
ABLPvEFJHEvDHJA@GL
)))ABLPvEFJHEvDHJA@GLH
ABLPvEFJHEvDHJA@GLu
ABLPvJEHZZLZv[FF]uJEZ@M
ABLSBALXXHYL
ABL]@SMG
ABLXJ@QLF]C[
ABLZCGPEHS
aBmbThis file has been tampered with and
A]BM@J]M
AB]MKSF]DAA
AB_MNZAFP@
ABM[[SM]XY
@ABMYJCG_
ABMZJJFLOL]CS
AbNdA[[[P[[[
ABND[ODFCJ
ABNF]@N_SMLQOQ
AB__NHMGO
ABN_OEZCGEAGAE
Abnormal control flows detected!
A@@@@B@@@Np@A
@@@@AB@@NpD@@@@@L
@@@@AB@@NpD@@@@@R
@@@@AB@@NpE@@@@@
A[BNP_K[KA
@@@@@@ABNpLI
@@@@@@ABNp@N
A@@@@B@@@Np@N
A@BN]QC_L
ABNSZQJBQ]HZ
ABNYFKNLQA
ABNYOXADKPZNS
ABNZPNYNO_M
ABOAJMNE
ABOG]NQQ_
ABOHM]ZQE
ABOJOCMMJB
ABOK[GBKF
@A_BONAPHBK
ABO_N__Z
ABOOPLPMZ[OGSZOGZQ_
@@@@@@ABOp@@@@@@@@@@@
ABO[PGBPY
ABOPGLA_H
abort due to ROLLBACK
aborter.h
abort: heartBeat() returned false
)AbortWWW
@ABOSZ[CQDH
ABOZJ_HOC
ABOZNPYOB_]
ABP_ABLX]
A@B@[pbL
A@B@[pDL
@@@@@AB@_p@EA
A@B@[pGL
AB@@[pH@@@@@
A@B@[pHL
A@B@[pIL
@A@B@[pJL
_A@B@[pJL
A@B@[pJL
ab]PJPJ;e
A@B@[pKL
A@B@[plL
"A@B@[pLL
A@B@[pLL
 A@B@[pML
A@B@[pML
@A@B@[pNL
A@B@[pNL
A@B@[pOL
@@@@AB@@PpC@@@@@
@@@@AB@@PpD@
AB@@PpD@@@@@Y
@@@@AB@@PpD@@@@@Z
@AB@PpgNGW
[@@@@AB@@PpI@@@@@
A@B@[pPL
@AB@PpSZC
AB]PPZS_G]
A@B@[pQL
A]B[PQQ[
A@B@[pRL
ABPSDXPP
@@@@AB@@[pT@@@@@
A@B@[pZL
@ABq@[D@NQBAIsSSS
ABq|fgfGuM
ABQOPZB__X
ABQPPDANNGX
a@B@QqAETz
A_BQSPCS[
ABQSZYPF
 abqVlgAgg
AB__QXA_SN
Absatz-Standardschriftart
AB[S[BSHNLNOY[Y
ABSBXMOXC]MXZ
)))AB[SE
_ABSL]EZ
ABSLHQGG
AB]S@QKO
aBupgppepq
@ABU@TBUsSWSSfWBTxVsSWSS@TQBABTsSSS
@ABVBA|Us
[ABXFSQ[ZC]
]AB[[XLD][BSZ
ABXMSLNDZ
ABXPDYMH
@@@@A@B@XpKD
AB@@XpM@@@@@
@@ABXpwKc
ABY@_PACKLKOYZBSC
@ABYsSRSSd
|AbYXZ[Z
@AB@Y[YXCJZDCJCBCAFP[[_Q_
ABZAPXOHG
@ABZBA|UBZ@BxWBA@BZBB
ABZBYBPNFPS
ABZCDDMO
ABZDBQSK[E
")))A@B_@Z@FG
A@B@ZFO]
AB[ZGNSOXJS
!aB[[[Z[[[K[[[P
A]B[]ZOHCY]Y_X
@@@@@@AC
@@@@@@AC@
@AC1A_AAAAAAAA3A4A2A2A-A5A
@AC1AtAAAAAAAAnA A1A(AnA7A
AC@A@1AAAAAABAAAAAAAAAAACC@AQ1AAAAAAAAAA@AAAAAAACC@A11AAAAAAAAAAAAAAAAAACC@A01AAAAAAAAAAAAAAAAAACC@A31AAAAAAAAAAAAAAAAAACC@AU1AAAAAAAAAAAAAAAAAAA
ACa1AMAAAAAAAAAAAAAAAA)A5A5A1AnA
ACA@@3!AO!
ACaA2qAAAAAA
ACA@A3!A
ACA@A3!A[
ACA@A3!AB
ACA@A3!AF
ACA@A3!AG
ACA@A3!A)J
ACA@A3!AK-
ACA@A3!Al
ACA@A3!AMK
ACA@A3!ANVP 
ACA@A4!AL
aCaaaaa]Y]]
ACAaAaqAJ
ACAAAaqAR9
ACAAABqA
aCaAaCaDa
ACAAAfqALx
aCaAaGaGaAa
ACAaAIqA
ACAAAIqA
ACaaAIqAAAAAAAAAAAAAAGqAAAAAAAAAAAaAABqAAAAAAAAAA]Y]]
ACAAAIqABs
ACAAAIqAd
ACAAAIqAf3
ACAAAIqA]kH8MAAAAA
ACAAAIqAL
ACAAAIqAM
ACAAAIqAo
ACAAAIqAP(p
ACAAAIqAQ
ACAAAIqAR
ACAAAIqAS
ACAAAIqAU
ACAAAIqAUS
ACAAAIqAW
ACAAAIqAX
ACAAAIqAX[
ACAAAKPAGMK
ACAAAKPAR
ACAAAKqAB
ACAAAKqAC
ACAAAKqAD
ACAAAKqAG
aCaAaLa'a[aKaAaCaDa
ACAAAmqAE
ACAAAMqAh
ACAAAMqAl
ACAAAMqAX
ACAAAMqAz
ACAAAMqAzD
aCaAaNa	a
ACAAAnqA[Vo
ACAAAoqA-
ACAAAOqAB
ACAAAOqAF*
ACAAAOqAL
ACAAAOqALV
ACAAAOqAO
ACAAA@PAQfD8
ACA@AaqADx
ACAAA*qAIy
ACA@AaqAO
ACA@AaqAu
ACAAAxqAF
ACAAAYqAp
ACAAAyqAU
ACA@AbqAF
AC]aAIqA
AC]AAIqA
ACA@AIqA
AC]AAIqA[AAAAAAAA
AC]AAIqA_AAAAAAAA
AC@AAIqAE
AC@AAIqAE"I
AC@AAIqAEM
AC]AAIqALAAAAAAAA
AC@AAIqAM
ACA@AIqAM
ACA@AIqAMp
ACA@AIqAOJ
ACA@AIqAp
AC]AAIqAPAAAAAAAA
AC]AAIqAUAAAAAAAA
AC]AAIqAYAAAAAAAA
ACA@AKPAL
ACA@AKPAR
ACA@AKPAW
ACA@AKqA
ACA@AKqAB
ACA@AKqAC
ACA@AKqAEB
AC]AAKqAnAAAAAAAA
ACA@AKqAZ
ACA@AMqA
ACA@AMqAX
ACA@AMqAYUL4
A@CAAmqEAAAAAM
ACA@AOqAD
ACA@AOqAG
ACA@AoqAH
ACA@AOqAJ
ACA@A@PAa
ACA@@aqAe
ACA@AxqAEt;
ACA@AxqAJ
ACA@AyqAH
ACA@AzqAP
ACABA11AU
ACABADqAU
AC@ABA@EACA@AA
@ACA@BAQAAAYq
ACABBIqAFy
ACABC3!AF
ACA@BDqAb
ACAB@IqA
ACA@C3!AGR:hGAAAAAA@Ci!S[
AC]ACA@APK
A?CAcA@EAYA@AA
ACACAeqAL
ACACAfqAL
ACaCAN a
ACACA*qAJ
ACa@CIqAAAAA
ACAC@KqAJ
ACADAMqAi
AC@@ADqAE
acaE!a2a
ACAEAMqAX
acaEPQXX
AC@A.!FAAAAA
ACA@GIqA
AC@Ai!KAAAAA
AC@Ai!MAAAAA
AC]@AIqA
AC@@AIqAEM
AC@Ai!RAAAAA
acaJ("#"aaaa
aCaka]6a
aCakaI"a
ACAKApqAK
@ACAKCJBJ@YFA
@ACAKD[_KXYYKQK_JGXNMACAP
AC]@AKqA]AAAAAAAA
A]CAKZPZFYOXQP
aCaLa_aCaDa
@@@@@ACALp@H
aCaMaAa3a
aCaMaAa-a
aCaMaAaCa
aCaMaAaCa	a
aCaMaAaCaNa
aCaMaAaDa
ACAMCDoc
)))ACAMN
A@CANpMI
ACAOJBNOH@C
ACAPBJS]EDNXBYDY
@@@@@ACAPp@JQ
acaqa-a2a aAa2a
acaqaaaOaaa
ACASYDQHAF
@ACAtp@_
@@@@@ACAtp@O.
@ACAtp@Rr
@ACAtp@U
@ACAtp@WK
@ACAtp@YF
AC@A?!WAAAAA
acawKaAa1a
]ACAZq]M
acbaa]Y]]
AC@BApqAE-cN
ACBEABEN
A@CBEDGF
AC[BELDQP
#@@@@@ACBEp@N
ACBGYOHZ
AC]B_HP]G
ACBJASAMYC
A[CBLFHZMJGJ
@ACB(p@DCt
A]CBQ[CNBDS
@@@@A@CBXpDD
@@@@A@CC
@@A@; CC
ACC@A01AAAAAAAAAAAAAAAAAACC@A31AAAAAAAAAAAAAAAAAACC@AU1AAAAAAAAAAAAAAAAAAA
ACCaAHqAAAAAAAAAACCAAPqAAAAAAAAAAA
ACCAAJqAAAAAAAAAA]Y]]
ACCAAKqAAAAAAAAAAA
ACCAAKqAAAAAAAAAAA]AA
ACCAAKqAAAAAAAAAAAA@@A
ACCAAKqAAAAAAAAAAAAAA
ACCAAKqAAAAAAAAAAAAAAaqAS-
ACCAAKqAAAAAAAAAAAAAAJqAAAAAAAAAAA
ACCAAKqAAAAAAAAAAAAAAJqAAAAAAAAAAACAA
ACCAAKqAAAAAAAAAAAAAAMqAl
ACCAAKqAAAAAAAAAAAAAAYqSZ1cfA
ACCAAKqAAAAAAAAAAA@AA@PAE
ACCAAKqAAAAAAAAAA]AAAYq
ACCAAKqAAAAAAAAAAAA@@ZqTM
ACCAAKqAAAAAAAAAA]]AAZqWSAAAAAAAA
ACCAAKqAAAAAAAAAA@ACAYqRE
ACCAAKqAAAAAAAAAACAAAIqAE
ACCAAKqAAAAAAAAAAC]AAIqA
ACCAAKqAAAAAAAAAACQAAIqA
ACCAAKqAAAAAAAAAACUAAIqA
ACCAAKqAAAAAAAAAAQAAAYq
ACCAAKqAAAAAAAAAAUAAAYqVE
ACCAAKqAAAAAAAAAA]Y]]
ACCaANqAAAAAAAAAACAAAMqA
ACCAAOqAAAAAAAAAA]Y]]
ACCAAQqAAAAAAAAAACAAAMqAl
ACCAAwqAAAAAAAAAA
ACC@AeqAAAAAAAAAA@AAACA@AKPALM
ACC@AGqAAAAAAAAAACC@AKqAAAAAAAAAACQ@ABqA
ACCAi!FAAAAA
ACCAi!FAAAAA-7
AC]CAIqAjAAAAAAAA
AC]CAIqAVAAAAAAAA
ACC@AJqAAAAAAAAAACABA
ACC@AJqAAAAAAAAAACABAIqAP
ACC@AkqAAAAAAAAAAAQ@AIqCWAAAA
ACC@AKqAAAAAAAAAACC@AJqAAAAAAAAAAA
ACCA*qRAAAAA
AC]CAU1AgAAAAAAAAAAAAAAAA
ACCBAeqAAAAAAAAAACCCAbqAAAAAAAAAAAA@@yqKK
A[CCBNSJHKOLA
ACC]BZJC
	ACCC.!XAAAAA?
?AccDefActionProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
ACCELERATEABSDIIdlWW
acceleratorlog.hpp
acceleratorwrapper.hpp
AccessControlType
Accesses a context menu item by index or by nameWW0
AccessibleObjectFromEvent
AccessibleObjectFromWindow
?AccessibleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
accessmask
access permission denied
accessrights
AccessTime
Access to process was DENIED
AccessViolationException
Access violation - no RTTI data!
a)))CCJJKK
?AccNameProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
#aCCNCCCBACC
aCCNCCCBACC
aCCNCCCBACC[
aCCNCCCBACCr
#ACCNCCCBACC:y
ACC_NX[N@]E_OLEOQ_QE
AC]COMES
ACCOSQJQFYH[ON[
AccountChanged
AccountCreated
accountexpires
AccountExpires
accountid
accountid_scrubbed
A@CCPNA]
ACCP_[NO@LA
?AccRoleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
?AccStateProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
ACCYLDBOOQDOQ
ACCZYBKJ
ACDA]DZZ
]ACDAYOMJ_
AcDdU[[[X[[[
ACdG[[[i[[[
ACDGP_[XG
ACDGQZNQAXP
A_@CDGXX[[HP
ACDHXEOGF
[ACDNESOH
aCdN[[[J[[[
[]ACDOSQLB]AEPS@KJA
ACDSZBGH
AC]DYX[J
ACEAA@1AA@AAAAAAAAAAA
ACEAA@1AAAAAAAAAAAAAAC
ACEAA@1AA@AAAAAAAAAAAC
ACEAA@1AAAAAAAAAAC
ACEAA@1AAAAAAAAAACEAAS1AAGAAAAAAACCEAa1AAAAAAAAAACCEAc1AAAAAAAAAACCEAt1AAAAAAAAAACYAAR1ASAAAAAAAA9
ACEAA@1AAAAAAAAAACEAAS1AAGAAAAAAACCEAc1AAAAAAAAAACCEAt1AAAAAAAAAAC]AAR1ATAAAAAAAADAJBQAAA
ACEAA@1AAAAAAAAAAECAAQ1AAAAAA
ACEAAOqAKB
A@[@CEac
ACEDQONZ
ACEGXBBYNX
A[CEGYXAAOPDBSKNYC
@ACE@JZNSDEZSZ
AC[ELJXPX_N
ACE_OBAL
A_CES_FO_
(AceSfx)
|AcgAkgfGk
ACGBDCBD
ACGBH[YG
ACGCSOZBH
A[]CGDS]_
A!cgfG3A
aCgfG)BD!]Y]]
AcgfGXoB
AC	ggfGkg
aCg'ggfG
ACGJXYQPS
ACgkggfw
ACGM]GD]
AC]GOCQ]M[A
ACGPXX@YK
acgqfgfG
acgqgg[#
Acgqggj"
ac|gqggM
acgqgg-Pb
A*cgWegfG
@@A@; CH
ACHaAIqAH
@@ACh Dfb
 @@ACh EW
@@ACh EY
!@@ACh EZ
@@@@@@ACh FMHc
@@ACh GOa
 @@ACh G[T
a@CHJB))
!)))A@CHJB
A@CHJB@GN
A@CHJBMEE
 @@ACh KN
@@ACh KN
)@@ACh NL
ACHNXLSKJ
ACHOXOAN_SCDN
ACH_PABJH
@@ACh RL
ACHXQEZ[Q
ACH]YDMXML
A_CHY_J]AXP_XQGAL
AC@@i!EAAAAA
ACJAZJE_NDMM
ACJBSBND
ACJBXNSN
ACJECZMOJ[[LFSJ
[ACJHSA_
AC@JMCQ@HJ]CY
ACJN@AKKY]PXONJLXM
ACJOJHMB[FXZJQKOP
ACJ[SZCB
AC]KAIqA_AAAAAAAA
ACKDFQGDPN
A_C]KL[FG
ACKMPZSS
ACLCOG]XN
ACLGQGYQH
AcllllllllmllllOllylm
ACllllllllmllllOllylmUE
ACLMJHHLMM
@@@@@@ACLp@
ACLPHGXGK
aclutils.cpp
aclutils.h
aclutilsmock.cpp
aclutilsmock.h
aclutils_tests.cpp
ACLXYJXBBALSFSOQY
AC[LYPHY
ACMD@L[_J
ACM]FOG_A
ACMGC_DNMEA
ACMGJG[QSYBBYGS
acmiReadWrite
AcmiTrusteeAccountWWW|
_ACMKPFSP
ACMLENBK
ACMOKZYY_
ACMXQNMSB
ACMXZAO_JDH
ACN]AAH[Y
@ACNA[LO
AC_NAY_KB@OOSG
ACNC]JGO
ACNKBNAJNB
ACNKMCP[Y
ACNNS_[O
@@@@@@ACNpNC
[A[CNY]]
ACNYZBLE[S
ACOAJJJLSYGJ_
ACODFKJX
A[COLXSS
ACOMEZLX
ACON_JMLGK
A*CopyPropsWWW
AC_OQQBHHKA
@@A@Cp@@
@@@@@@@ACp@[6
ACP_AOZPP
@@@@@A@@cp@Bw
@A@@Cp@C
ACPCN_YBD
@A@@Cp@D
@@@@@A@@Cp@D#H
@A@@Cp@D#H
@A@@Cp@DL
@@@@@A@@Cp@Dm@
ACPFBXCC
@@@@@@A@cp@foC04@@@@@@A@cp@f
acpgppepq
aCpgppepq
ACP_HYJL
@@@@@A@@Cp@I
@@@@@A@@Cp@I"i
 ACPIRESETUNUSABLE 
)@@@@@A@@Cp@J
@@@@@@A@cp@L
@@@@@@A@cp@Lx
@@@@@@A@cp@M
AC_P[MBXN
@@@@@@A@cp@N5
@@@@@A@@Cp@O
]ACPOLEML
AC]PONJQ
@@@@@@@Acp@P
@@@@@@A@cp@P
@@ACPpSg
@@@@@@@Acp@Q'X
@A@@Cp@R
@@@@@@A@cp@Vb
_AC]_PZK
ACPZLXPKQZABAF
ACQAABqA
ACQAAIqA
ACQAAIqAdAAAAAAAA
ACQAAIqAfAAAAAAAA
ACQ@ABqA
ACQ@AIqA
ACQ@A@PA
ACQBA3!A]AAAAAAAA7(342
ACQ@@BqA
ACQCA@PAPAAAAAAAA   
ACQCAR1A
ACQCAR1AXAAAAAAAAposoyuqopprttwopouosqxq
ACQCAR1AYAAAAAAAAposoyuqopprttwopouoyup
ACQCAU1A
ACQC@BqA
ACQCCR1A
@aCQCMCEC5C-C
A[CQKELAMDOA
ACQLBHJZOLHD
AC[QL_DQ
AC@QLM]_P_KFSJ
ACQLXPY]PXJCA
ACQM_YZX]KCHM
A]C]@Q[PDN
ACQQDKCPC
ACQ[QH[X@JGN
ACQSJ]PDCYKJ[
AcquireSRWLockExclusive
AcquireSRWLockShared
A[CQYHQ[B
@aCRCHC-C
AcroForm
ACSAQL_ZD
actDeferActionWWD
action context is missing
actionid
_ACTIONIdlWW
actionname
ActionName
Action not found
actionstatus
ActionTagArMatch
ActionTagDesktopMatch
ActionTagDriverLoad
ActionTagEtwMatch
ActionTagFileChange
ActionTagFileCreate
ActionTagFileDelete
ActionTagFileHardLink
ActionTagFileOpen
ActionTagFileRename
ActionTagFolderCreate
ActionTagFolderEnum
ActionTagFolderRename
ActionTagInternalMatch
ActionTagMbrChange
ActionTagModuleLoad
ActionTagNetworkAccept
ActionTagNetworkConnect
ActionTagNetworkData
ActionTagNetworkListen
ActionTagNetworkMatch
ActionTagProcessOpen
ActionTagProcessStart
ActionTagProcessTerminate
ActionTagRegistryBlockCreate
ActionTagRegistryBlockDelete
ActionTagRegistryBlockRename
ActionTagRegistryBlockReplace
ActionTagRegistryBlockRestore
ActionTagRegistryBlockSet
ActionTagRegistryKeyCreate
ActionTagRegistryKeyDelete
ActionTagRegistryKeyRename
ActionTagRegistryReplace
ActionTagRegistryRestore
ActionTagRegistryValueDelete
ActionTagRegistryValueSet
ActionTagRemoteThreadCreate
ActionTagUnknownAction
ActionTagVbrChange
ActionTagVolumeMountMatch
Action to do
ActionType
ActivateActCtx
activate_extensions
ActivateNext
?ActivateTooltip@Element@DirectUI@@MEAAXPEAV12@K@Z
?ActivateTooltip@TouchHWNDElement@DirectUI@@UEAAXPEAVElement@2@K@Z
activation_marshaller_client.cpp
activation_marshaller.cpp
activation_marshaller.h
ActiveDesktop
(ActiveMime)
activereason
ActiveScopeNodeW
Activesetupcomponent
activexpackagerbinderhelper.cpp
activexpackager.cpp
activexpackager.h
activexpackagerwriter.cpp
activexpublishoperations.cpp
activexregistrator.cpp
activexregistrator.h
activities.cpp
activitybucketinstancetracker.h
activitybucketinstancetrackerimpl.cpp
activitybucketinstancetrackerimpl.h
activitybucketinstancetrackermock.cpp
activitybucketinstancetrackermock.h
activitybucketinstancetrackertests.cpp
activityclienttests.cpp
activityclienttests.h
activitycoordinator.h
activitycoordinatorimpl.cpp
activitycoordinatorimpl.h
activitycoordinatormock.cpp
activitycoordinatormock.h
activitycoordinatortests.cpp
activitycoordinatortests.h
activity_data_cache.h
activity_data_cache_impl.cpp
activity_data_cache_impl.h
activitydatacachetests.cpp
activitydatacachetests.h
ActivityError
ActivityFailure
ActivityIntermediateStop
activitymanager.h
activitymanagertests.cpp
activitymanagertests.h
activitymaptests.cpp
activitymgroverrides.h
activitypublishclient.cpp
activitypublishclient.h
ActivityStoppedAutomatically
activitySucceeded
activitytestsbase.cpp
activitytests.cpp
activitytests.h
activitytransactionmap.h
_ActMoveCopyIdlW
actReplyp
ACTTYPEW
actualConfidence
ActualCount
ActualSize
ACUAAIqA
ACUCADqA
AC@VI@WBV
AC[XEG_OCHG
[ACXGGDNYZ
ACX]LZOHO
ACXNZAQBSZCPQAB
@@@@@@ACXpnD
ACXXCJCN[NQL
AC]Y]]78Y
ACY@A3!AHAAAAAAAA0c  
ACY@A3!AHAAAAAAAA0c "
ACY@A3!AHAAAAAAAA0c #
ACY@A3!AUAAAAAAAA)551
ACYAAIqA
ACYAAIqA_AAAAAAAA
ACYAAIqAgAAAAAAAA
ACYAAU1AOAAAAAAAA
ACY@ABqA
ACY@AeqAMAAAAAAAA
ACY@AIqAPAAAAAAAA
ACY@AIqASAAAAAAAA
ACY@AIqAVAAAAAAAA
ACY@AKqAPAAAAAAAA
ACY@AMqAOAAAAAAAA
ACYA@U1AOAAAAAAAA
ACYBAR1AoAAAAAAAAAAAAAAAA
ACYBAR1AqAAAAAAAAAAAAAAAA
ACYBAR1AsAAAAAAAAAAAAAAAA
ACYBAR1AyAAAAAAAAAAAAAAAA
ACYB@U1AIAAAAAAAAAAAAAAAA
ACYCAIqAbAAAAAAAA
ACYCAIqAgAAAAAAAA
ACYCAU1AjAAAAAAAAAAAAAAAA
ACYCAU1ALAAAAAAAAAAAAAAAA
ACYC@KqAtAAAA
@aCYCWCOC4C
A]C]Y]]D'Y
ACY_GCGJ
aC]Y]]L'Y
aC]Y]]''Y
ACZ_ASDDCOGXMALBN
ACZJ]PHGAEZH_ZCB
ACZ_[K_NY
ACZMOOZOZ
ACZOBOEHAJ_ZNDJ]
ACZ[@Y]]BJFC
ACZYCOLQQ
_ACZ[YXZ
A[CZYYFZ
ACZZQGBM
[[[a[[[d[[[
a)))][@D
||||A|||||||d
Ad[[[[	[[[
@@@@@@AD
@@@@@@AD@
[[[ad0dS[[[
Ad][[[2[[[
Ad@[[[3[[[2[[[
|@@@@@@AD3 EV
ad5:wdyf
A||D6||06||
Ad@[[[A[[[
AdA[[[)[[[
AdAAAAAA@AAAAACh
aDaaa]Y]]
ada;[aNaNa
ada@B)253[#
ada@B)253[2
AdA[[[C[[[
aDaCaaadaa
aDaCaMaCaDa
ADA_CLAAML
AdA[[[d[[[
aDaDaHaAaDa
]ADAJF[F
adakKaOa
adamKaOa
aDaNaDaRa
AdaptBootInput
AdapterGateway
adapterindex
AdaptiveAnomalyReport
adaptivesyncquery
aDaQaOaYa
aDaQaYa9aOa
adA[[[q[[[p[[[?
aDaSaQaSaQaQaXaaacau
aDaSaSaDaRa aSaDaSa"aDaSaSa
A data source failed to start.
ADAZESNXQA
a_dB[[[4[[[
A||dB||4
AdB[[[8[[[
AdB[[[9[[[?[[[
AdB[[[b[[[
A||dB||?B||
A@@DBBAQ0@@@@@@
a||db||Bb||
A@@DBB@P0@@@@@@
AdB[[[F[[[
adB[[[G[[[
a||Db||pb||Xb||
AdB[[[w[[[
AdB[[[z[[[
adC[[[1[[[7[[[
AdC[[[9[[[
A@@@@@ @@D@CCac
AdC[[[C[[[G[[[W
ADCGZYJ[]FCL
ADC[HK[SG
ADCHSJ]G
AdC[[[t[[[
ADCZZNS]D[S
AddAccessAllowedAce
AddAccessAllowedAceEx
AddAccessDeniedAceEx
AddAccessRule
add_action
AddAtomW
ADdA[[[v[[[
ADDBADY[O
?AddBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
AddBlockingFirewallRule
?AddChild@ClassInfoBase@DirectUI@@UEAAXXZ
add_Click
AddClipboardFormatListener
A)DdD[[[
ADDDDDDDDDDDDDDDDDDDDDDDDDDDxDD_eg
aDDDDDDDDDDDDDDDD]Y]]i
AddDeferredBMAction
AddDeferredBMAction should only be called from Cmd_HSTR sigs
AddDnsBlockListDomain
AddDnsDomain (domain)
AddDnsDomain (master list)
aD_dE[[[
add_Elapsed
?Add@Element@DirectUI@@QEAAJPEAV12@@Z
?Add@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z
AddInfInstallReg
Adding a file
Adding Ref Cycles to fixed counter slot - needed for unhalted ratio feature
Adding Ref Cycles to t0 fixed counter slot - needed for t0 unhalted ratio feature
Adding static plugin '
Adding t0 window counter to fixed counter slot
Adding t0 window counter to t0 fixed counter slot
AddIScsiConnectionW
AddIScsiSendTargetPortalW
AddIScsiStaticTargetW
AddISNSServerW
?AddItem@BookKeeping@@SAJAEAVItemHandle@@@Z
AdditionalActions
additionalfailuredata
AddLayeredRef
add_Layout
ADdL[[[X[[[y[[[
a	DdM[[[5[[[
aDdM[[[Y[[[
aDdM[[[Y[[[f[[[5
ADDO]C[A
_ADDO]GDF@
ADDOQ_JQDG
add.ovf.un
AddPersistentIScsiDeviceW
AD_DPPMKH
add_PropertyChanged
AddRange
?AddRef@ClassInfoBase@DirectUI@@UEAAXXZ
?AddRef@CMMCStrongReferences@@SAKXZ
add_related_file
add_related_process
add_related_string
AddressFamily
address family not supported
address_family_not_supported
address in use
address_in_use
address not available
address_not_available
AddressOfEntryPoint
address_scrubbed
AddressW
addr_prefx
Adds an entry to the redirection tableC
Adds a new item to the dictionaryW.
Adds a new item to the end of the collectionWW.
Adds a snapin given its CLSID or ProgIDWWWE
?AddSnapin@BookKeeping@@SAJPEBGAEAH@Z
?AddSnapinInterface@BookKeeping@@SA_NPEAUIUnknown@@PEBGAEAH@Z
]ADDSQXBO
addsubpd
addsubps
AddTelemetry
add_threat_file
add_threat_process
add_Tick
add_to_normalized_features
ADdT[[[s[[[l[[[
add_unitTestEvent
AddVectoredExceptionHandler
ADD_VFO_LOW_PRIORITY
__add_vfo_object_ex() was called on an invalid vfo handle
ADD_VFO_PEPACKED
ADD_VFO_TAKE_ACTION_ON_DAD
ADD_VFO_VOLATILE
A:DdW[[[
'ADd_[[[_[[[x[[[
	aDdZ[[[
AdE[[[0[[[7[[[
A]DEA]]Y
ADECEDOM
A]DEEHGN
A]DEFYLG
A]DEFYLGA]]Y
A]DEGHDL
ADEHD@GS[F
A]DEHZYHEH
ADEJC]JA
A]DEKFMP
ADeleteMessagesWW
A]DELGJFML
#)))A]DE]LQ]
A]DE[LYEHJL
A]DEMLJFML
A]DEMLJFML))
A]DEMLO@GL
A]DEO@EL
A]DEO@EL))
A]DEQDEGZ
A_DEQK]AFZ
AdE[[[r[[[
A]DERAL@NA]
A]DERE@GL
A device request was blocked by the IOMMU. This does not necessarily mean there is a problem.
a]DEvlGJvo[LHBSk[F]AL[Z
*-*A]DEYAY
A]DE]]YZ
A[DEZ]GQ
adE[[[z[[[x[[[
A#df28hV*
[ADFABK_BK[]G
[[[ADFdU[[[
a_dF[[[i[[[
adg1kgfG
ADg5agfGD
ad'g7ggfG
ADGCJMLL_GLSHQPA
Adg#fgfG
ADGFHZCGN
ADGHXLXAX
ADGJ_L[MS
ADGJZNKSCC
ADG_MXLC
A_DGSXH_A
]ADGZHHLF
adG[[[z[[[x[[[k
@@A@; DH
-@@ADHC_
@@ADh C]3
ADHCQ[Z[KCGXK[J]
AD]HEJSX
;)))AD_HE@MH]LAHGMEL
@@ADh EZ
@@ADh FMHc
@@ADh GL
]ADHHNGA
ADHJ]DPJNFHGJPOYXJ]DJDJQ
@@ADh MR
@@ADh NN]
ADHN[YA_YXY
AdH[[[P[[[
@@@@@@ADHpBL
@@@@@@ADhp@@@@@@@@@@@@@Dhp@@@@@@@@@@@@@Dwp@@@@@@@@@@@
ADHXKSAKQF
AdH[[[y[[[
ADHYLSP_
;"AdI[[[
AdI[[[1[[[7[[[z[
AdI[[[7[[[6[[[
AdI[[[d[[[
;AdI[[[E[[[
AdI[[[E[[[
adI[[[f[[[
AdI[[[H[[[O[[[
AdI[[[i[[[
AdI[[[J[[[
AdI[[[p[[[
AdI[[[S[[[
AdI[[[v[[[
AdI[[[V[[[
Ad@[[[J[[[
ADJAZYQCNSCBCGOJ
A@D[JBN]
ADJCYANZSMN[NSKS
ADJDZNSZ
[AD[JJYXCN
ADJL@]B[NN
a;dJ[[[M[[[
AdJ[[[P[[[N[[[
AdJ[[[t[[[
AdjustTokenPrivileges
AdjustWindowRectEx
AdjustWindowRectExForDpi
AdJ[[[x[[[k[[[
ADJZXPCPBBO
AdK[[[A[[[G[[[
ADKAOX]L
AdK[[[B[[[E[[[hmEdI[[[A[[[@[[[
AdK[[[i[[[
AdK[[[i[[[n[[[
@ADKJDBP
AdK[[[N[[[
ADKQHPPESDA
AD[KQQESE_B_D
ADKQ_X]MOMK
AdK[[[y[[[
adL[[[([[[-[[[
AdL[[[:[[[
adL[[[2[[[0[[[
AdL[[[A[[[
AdL[[[C[[[
adL[[[E[[[i[[[
ADLERRORIGNORELIST
aDlgSdgfG
]AD_LLN[
@@@@@@ADlpEE
A@D]LQBXEFLY
ADLQMPFAY
ADLQPSAH
AdL[[[V[[[
AdM[[['[[[
AdM[[[;[[[?[[[
a||DM||0b||
AdM[[[:[[[8[[[
A[DMABDG
ADMALHPGHK
ADM@BBJBCOC]
AdM[[[D[[[
]ADM[GYX_NJJ@OM
ADM@HMD@GNH]L
admincontext.cpp
admincontext.h
AdminQuietInstCmd
AdM[[[j[[[
ADM[KDHJQ
AdM[[[M[[[
[A[D[MMY[LYMGZXD
A]DMNBN_YCBAP_JAOBA]Y
ADMOZNNQQ
ADMPOYAFG
AdM[[[v[[[
]ADM[XLJBB
Ad@[[[n[[[
AdN[[[|[[[
@@@@@@A@; DN;
AdN[[[2[[[7[[[
''AdN[[[5[[[#[[[
A@_@DNHZPF]N
adN[[[O[[[
adN[[[o[[[a[[[Z
@@@@@@ADNp@D
AdN[[[r[[[
AdN[[[S[[[
AdN[[[Y[[[
ADNYKKYKEKD[X
AdN[[[Y[[[o[[[
AdO[[[([[[
AD@@@@@o@@A@AAac
_AdO[[[A[[[|[[[R
Adobe ImageReadyq
adO[[[f[[[
adO[[[G[[[
AdO[[[G[[[
[AD_@OKX[ZHPJOQ[
ADO[OACOXMD
ADOQF[ZEB
ADOQLLDGQ_N[QNCDBBHG
AdO[[[u[[[t[[[
AD[OX]MG
AD[OYOC]Q
AdO[[[Z[[[1[[[
AdP[[[3[[[
@@@A@dp@A
AD[P_AAEFX]
@@@@@A@@dp@D5|w
@@A@dp@dO
@@@@@@A@dp@F
ADPFQ[@A_HHBA
@@A@dp@g
a[[[DpHfQ[[[
*AdP[[[I[[[G[[[
A]D[PJ]L
AdP[[[k[[[
@@@@@@A@dp@KW[
ADPLCQ_K
ADPNACCY
[]ADPNGCJJXYNQ]ME
ADPOKLJKLCSQ
ADPQJHAKK_
AdP[[[W[[[H[[[J
Ad_[[[Q[[[
AdQ[[[A[[[
a	dQ!a	aQ!a
A_DQANDYCM
ADQAQYKC
AdQ[[[b[[[a[[[
adQ[[[C[[[B[[[
]ADQGM_OSLSCYGK_J
ADQOBGFHQ
AdQ[[[P[[[
ADQSQBBD
Ad][[[q[[[u[[[
aDQU9DQU9aaaa2
A_DQYZGFBHLD
AdR[[[*[[[
AdR[[[b[[[3[[[l
adreH[[[
_ADRENTRYIdl8
adreQ[[[
	[[[adreS[[[
[[[adrez[[[
a[dR[[[f[[[
AdR[[[I[[[M[[[Z
AdR[[[j[[[h[[[
_ADRLISTIdlW
AdR[[[q[[[l[[[
A||DR||:R||
adR[[[w[[[
AdS[[[)[[[.[[[
ADSADZQNLZZ
AD_SCLMND[Y
A]DSDYKNEPD[C
AdS[[[e[[[![[[
AdS[[[I[[[
ADS_KBBO
adS[[[k[[[h[[[v
ADSMKQAGF
_ADSP_DBDPD
ADSPKLQN
Ad_[[[S[[[Q[[[
ADS_SSAABPA
ADSXAE[N
ADS_YMK_
AdT[[[a[[[f[[[U
AdT[[[i[[[
AdT[[[l[[[
adT[[[U[[[
AdT[[[W[[[U[[[
AdU[[[	[[[
AdU[[[![[[
Ad@U@B@0@!@
AdU[[[K[[[*
adUUBUU#
AdU[[[Y[[[K[[[
AdvancedINF
!AdvancedInstaller
AdvanceSampleSubmission
advapi32.dll
ADVAPI32.dll
AdV[[[e[[[
AdV[[[h[[[n[[[
advicedescription
ADVPACK.DLL
advsamplesubmissionmanager
AdV[[[Z[[[
AdW[[[A[[[
adW[[[d[[[
adW[[[L[[[	[[[
AdW[[[P[[[U[[[
ad][[[w[[[t[[[
AdW[[[X[[[J[[[Al0dL[[[_[[[Q[[[d
AdW[[[X[[[V[[[
AdW[[[Y[[[M[[[
AdW[[[Z[[[
adx[[[|[[[
Adx[[[:[[[
ADXBMN_]J]NMEZ
AD[]XBQLEPQNEMY
A[dx[[[C[[[D[[[
ADXC[H][P[
adx[[[F[[[x[[[
ADXKOSHKJ
AdxllllllllmllllOllylm
Adx[[[M[[[
adx[[[M[[[L[[[
ADXNOBJKD
[A]DXNS[KC
ADXPABXSYZH_S[
ADXPDNNYQZDHQBSCYM
a_dx[[[W[[[C[[[M
AdX[[[Y[[[
ADX_Y[Q@K
AdX[[[Y[[[t[[[
:A_dy[[[
[[[A!	dY[[[
|'AdY[[[
AD[_Y__ACF][XK[
ADYB][]OSYDX
adyBUSGyyyyy
[ADYK]DHK@SOG_NJY[C_
[ADYLNEBLL
AD_YNBDMBHZ[
AD]YOMEJY
ADYpgppepq
A[DYPHCEPM
_AD[YPNM
@@@@@@A@; DYs
A]DYSCHGMOAP
]ADYSHLP
ADY]]XZ]_JDH]_Q[KYLZ
ADYYPALDQG
ADyySDyyqy
adZ[[[#[[[
Adz[[[	[[[
Adz[[[-[[[
Adz[[[1[[[
ADZADYDX
AdZ[[[B[[[
A[]D]ZBDJ
_ADZBHOBXG@
AD_Z[C[LCK
AdZ[[[d[[[
Adz[[[E[[[w[[[[
aDZgubgfGmo
]]ADZHYSBOLCLJSND
AdZ[[[I[[[
AdZ[[[J[[[
A_DZKOZDNO
AD[ZLAZXA]XKN
ADZ_LSQN
Adz[[[M[[[
ADZNJ[ZZ_
Adz[[[O[[[|[[[
Adz[[[p[[[
Adz[[[p[[[b[[[j
A[DZQMK_K
A_dZ[[[s[[[p[[[
AdZ[[[t[[[
AdZ[[[T[[[
ae[[[[[[
@@@@@@AE@
A"e[[[[6
Ae9|||	j
AEAAAA@AAAAAC
aeaakaI2a
aeaakamR
AEAALLS@HQSF
aea@B)253["
aea@B)253[5
aeal *7O
AEAMSBNEG[P
aeA[[[N[[[e[[[
AEAPCYQ[
aeav129129129129129129
[[AEAYN@B_
AEBBFMC[
AEBCODDG
[[[aebeS[[[
AEB]MOM]CL
]AEBSPZS
@AEBVgqBY@ZBV@[BZv
AEB[[[Z[[[K[[[
AECAAQ1AAAAAA
AECAGKZHGHQC
AECBJH_JH
AECEAQ1AAAAAA
AECEM]PMB
A[ECPBEPOQ
A(EdA[[[-[[[
@AEdM[[[
Ae-dT[[[
AE_dW[[[
Ae@_@E@:@
ae_[[[E[[[m[[[
aeeo'4'fleUUMUUdTUEDt
AEEOKJPOX
AE[EPP]ZD@JGBL
AEEXPY_MS
a)))EFJH]@FG
a)))EFN@GvLDH@E
AE]F[PHJBLPALDZB
aeF[[[q[[[
AE'gqgg_
;AEgqgge
AEG_XXYM[
AEG]ZMLYED
AEHAPXYJGPPXQ
A[[[e:HdL[[[
AE_HNSNL
Aeh[pgppepq
AEHQXHMPSMZJC
AEHQXL_QK
@@AEh WEa
AEHXAZOSQ
A"eI[[[([[[
Ae:|||	j
aeJAAAAA
aeJAAAAAAAA
aeJAAAAACAA)qAAAAAA
aEjgqgg7
AEJPOB_JE
!@@A@; EK
AEKB[NOB
AE[KL_HQJ
AEKNQOLN_CMQ[E
[[[AeLdI[[[
a)))EL]E@GB
AEL_]EGPB
A)))EL[J
ae|llllllllmllllOllylm)
AEllllllllmllllOllylmEe
AELLXNHCHHX
)))AELOQZ
A[E]LPAXBY[F[SMLX[
A]ELQ_]NHSC
AELXK_ON]G
Ae*m@@@@@
A"eM[[[e[[[
A@EML]LHD]G]
A]EMLQPKS
@AE_MQ@NP
A@ENAGLO
AENdP[[[
aEngine.Scan.GenStreamScan
AenllllllllmllllOllylm'
AE]NQZB[Q
aEntriesD
AENX[]XESX
@AEOJML_FJAM
AeOodgfG
@@@@@A@@Ep@CV
@@@@@A@@Ep@D!
.@@@@@@A@epDD
@@A@epDD
@@A@epEF
;@@A@epFF
@@@@@@A@epFF
A:E"pgppepq
aepgppepqE
@@@@@A@@Ep@H_
@@@@@A@@Ep@I
@@@@@A@@Ep@i7
@@@@@A@@Ep@Jy
aepkaaaaaaaAaaaaa
@@@@@A@@Ep@Mr
_AEPMS]SX
;@@@@@A@@Ep@R
@@@@@A@@Ep@R
@@@@@A@@Ep@T
AEPYAGFL[Q@_[HAA
A_EQAMHNCQEB
AEQBKPDNL[XQX
AEQHKY_M
AEQJZLX[
aeQ[[[|[[[p[[[z
AEQXHCJ]
aErJhggfw
A_ESO]SQ
AESQJPBSZBA_D_MZ[KG@_
AESWXOVVI
AESXPNCB
AESZGGYDNC
AESZXXPDSN
aEUQ9oIdgfG
AeWdB[[[
[[[]A*eX[[[.
AEXBHDDFKS
AE]XCL[C
AE]XK[ZQDJA
[A]EXMP[]LY
AEX_POHJLA[
@@@@@@AEXpY[0bg@
AEXYZX[][[
[A"eY[[[
AEYD]LJS
A_[[EYEPX
[AEYJDY]O_A_[
AEYLXCS@
AE]Y[YJNS
Aez[[[I[[[H[[[?
AEZ_OEKP
A_EZSPGZ
[[[a[[[f[[[
@@@@@@AF@
[Af[[[[A[[[
[AfA[[[_[[[
aFaAaJaAaFa
aFaAaJaAaFa2a
aFaAaJaAaFa[aNaNa
aFaaa]Y]]
afa@B)253[#
afa@B)253[2
@AFA@BAAAAAKPAR
@@@@Af@ADA@BAQ@BAQqkE
AFAEEXQHKH
)))AFAFDLAB
)))AFAFZLH[JA
AFAFZLH[JA
aFaHaaabagqgg
AF_[AJMA
aFaMaFaDa
A]FAMJBBXAZK
AFA]MMAGMS
aFapHiFD1
@AFBENAB]
]AFBGJCXO
@AFBKPLXHO
@_AFB_LC
[AFCAZ[]L
@@A@F!Cb
AFCGC]F[NYMZ
AFC]JSKJ
AFCKECJ@L
a||||||||||Fc|||l||||||||||||||||||||||||||Tb||||||Jb||||||8b||||||*b||||||
[AfC[[[N[[[
[AFC]OQJ
Af_[[[d[[[
(AF'DA'A(A)A*A*Al
AFdB[[[i[[[h[[[
aFDBKNLBU	kxa"I
AFDH[]Y[FYL[]@LZ
]AFDHZ]FGN[LHELZ]H]L
AF"dI[[[
AFDK[LZ_HE@LG]LZYFZHMHZ
aFDLeFN@G
aFDLhJ]@_@]P
AFDLJMLO
AFDLM[@_L
AFDLMLJF[Z
aFDLo[HNDLG]hJ]@_@]P
AFDLvYF[]
aFDLyH]A))
AFDLYH]A
AFDLYHNL
aFDLyHNL[hJ]@_@]P
AFDLYHNLr
AFDLZJ[FKCKG
aFDLzJ[LLG
AFDLZLH[JA
AFDL[ZZZMMM
AFDM[AHQ
AFDPZAYBLDBHXCSS[Q
_A_@F[D@Q
A]FDQAFBGGB]ZNLDQ
[AfD[[[_[[[R[[[
A[FDXPL_N
AFEEDHGDLM@H
AFEEPAFEL
A]FEESQHKL
AFeF[[[	[[[
AFEFZO@GM
AFeH[[[d[[[
AFeI[[[m[[[
AFeJ[[[K[[[
AFEJLLO[PJCHZ
[AfE[[[K[[[
AFELPQKQ_
AFeO[[[T[[[J[[[
aFEPnAFZ]
AFE@Z]@JALHE]AAL[KZ
aFFBbLPKFH[M
AFFBBLPKFH[M
AFFBDHGHNL[
;)))AFFBLQYEF[L[
AFFBvEFN
AfF[[[g[[[
AF]GAH]GNHP
AFGALH[]
afgfGaAA
afgfGh61
afgfGm].hgqggm
AFGLPAHZA
AFGLPDFFG
aFGLPkHZL
AFGLPKLL
AFGNBFGN
]AFGNHEHD
|afG N#	Z
AfG[[[o[[[
Afg@@@@@o@@A@AAac
afgqggF4u
Af!gqggm
afgqggyF
AFGQ]GLXDEAM
AfgwFgfG
AFGZNDPSBDG
AFHA@[GOX
@@@A@F!HD
AfH[[[h[[[
AF[HHYYZ
A@FHHZ@@YYNOBDOZZM
:)))]AF[HJ@J
[AfI[[[A[[[@[[[0
AFipgppepq
a)))[FJB@G
AFJ_MBHS
[AfJ[[[W[[[U[[[
AFJXBQZBY_B
[AfK[[[_[[[
AFKA_MDH@
[AfK[[[b[[[
AFK[BJOL
AFKD[C[H
AfK[[[m[[[c[[[
A@FKQLP[AMS
@@A@F!KW;K
[AfL[[['[[[
aFLBrWCFSBT	t
AF]LEJFGJAHMFDH[
AF]LEZ]F[P
AFLJALOX[_ONYGKH
AFLKPGJFXGSONN
aF]llllllllmllllOllylm3
a	fllllllllmllllOllylmw'X
AF]LMLHEZ
AFLOEL[]LQ]
AFLQ_O]YHD
AFLZM[]X_B
!a*fM[[[
[[[A.(fM[[[
AFMACFMAGNBZ
[AFMF]ALJL
AFMF[]PYLB
!AFMgwigfGPh
AFNBEAZO
AF_ND[L]QL
AFNdM[[[
AFN]J_KH]
AFNO_MLG[]SMC
@@@@@@AFNpZHU7
a_'FNRM_SetActiveFile
@@A@F!OE
AFOODHGGZN@DD@JBZ
aFormPropWWW
@@@@@@A@F!ORpgE
A#FpA;Fp
A#FpA;Fpt
@@@@@@@AFp@@@@@@@@@@BB@AJp@@@@@@@@@@D@AB
AFPJONE@
_AFPLCJHCHF]
AFPXBXMMMMZ
AF_QBOQYXSAJ
AFQOOQHCQ
AFQQQBXM
AFQS__[XXENS
af#qvm#j
@@@A@; Fs
*@@A@; FS
AF[SZ@SL
 after rename
AfTRSsjRSSS@S
afUUBUU3
AF@vYFEEF@
afW[[[z[[[
.[[[!a*fx[[[-[[[
AFX_JGLB_
A@FX]KXP
[AfX[[[N[[[
afx[[[P[[[
AF]XQO@_BL
AFxxx#xxyxyxyxxyx6z(
AFXXYZ_NXJ
[AFXZQ_SK
[Afy[[[3[[[
AFYDPHQMOJ
AFYE@]LBLPKFH[M
AFYJK_CL
AFYLEHGM
a)))FYLGZZEKHZL
AFYLZ[_G
AFYLZL[_
[Afy[[[V[[[O[[[
[Afy[[[X[[[V[[[
A@FYYJ_PNFE
	)))AFZ]
)))@AFZ]
:)))@AFZ]
?)))@AFZ]
AFZ]ALHML[
AFZ]E@Z]
aFZ]e@Z]hJ]@_@]P
aFZ]GHDL))
#)))AFZ]GHDL
)))AFZ]GHDL
AFZ]GHDL
AFZ]GHDLI
AFZ]GHDLZ
AFZ]@GNMH]H
AFZ]@GOF
AFZ]HMM[LZZ
[AFZHZKP
AFZ]JFFB@LZt
AF[[[Z[[[K[[[]
AFZLGAHZZL[
AF[ZL[HJLDHGHNL[
AFZ]L[@HLZ]@EFGF[]L
AF[ZL]SLS]HLZ
AF[ZLvCH
AFZPHGFA
AFZ]QD[YFFE
[AfZ[[[W[[[
AFZ]YF[]E@Z]
AFZY@]HE
AFZYLMHNLDMLZ@]LZ
aFZY@S[FQ
AFZ]ZiH]][@K
[AFZ]ZiJFYP
AFZ]ZiLJAF
AFZ]ZLJAF
AFZ]ZLM@]F[
AFZ]ZZLM
[[[a[[[g[[[
@@@@@@AG@
[[[A[[[G[[[
A[['@[[	G[[
Ag1WggwC
Ag"-2#|pg
Ag3fgfG#
ag3ggfG7
Ag3ggfGZ
ag5jggw*
ag7agfGh
(ag7dgfG
ag7egfGyq
*Ag7ggfG
Ag7ggfG3
Ag7ggfG4
ag7wggGc.
Ag9cgfG3
Ag9ggfGY
ag9kgfGm
AgA1Aq@f@W@
aga@B)253["
@AGA@BAC]@AIqA
a)))GABJGA@]Mr[NEGB[
AGAC[CAGA
@AgadgfG?
AgafgfGF
[AgAgg v
AGAGL[HA
AGAHLYOJZ
AgAkgfGLa
AGALPZBO
A_GA][Y]YJC@J
AG@@@@BABDHp@L
AGBAGHBCPGN@J
ag_bgfGm!
]A@GB@GN
AG_]BMZMCQ
AGBSDAOK]
#Ag]cgfG
#Ag]cgfGh
#Ag]cgfGI
AGCKSSGMFZQOJ
AGCNCAGA
AGCNGCDGZAO
AGCPHO[L][D
AgcqgfG8
AGC[]XSJGKQMAZZDG]]
AGCZKYNLALKZJG
AGCZNYJG
]AGDAPNGO
[ag'dgfG
AGDJNQAAG
AGDQBHBY
AG_D@_QON][C
AG]DZEPALKXL[
AGEANHEOLQSX
AG[EASOHLSX
a[geegfG
a]geegfG
agEegfG0
)ag!egfG
]ag'egfG0|
ag#egfGz
@[[[a_GeJ[[[
agent.cpp
agentlistener.cpp
agentlistener.h
agent_registrator.cpp
ageo'4'aeeUU@UU
age_secs
@[AGESED
AGetClassIDWW
AGetFileVersionInfoSizeW
ageUUIUU
|	"agfG!
agfG[0abgqgg
;agfG0c#
agfG0lbRgqggs
 )agfG0QI)gqgg
agfG1I)Hgqgg
agfG2'_:gqggL
agfG33)Ugqgg
agfG5AUIgqgg
)AgfG5PQxgqgg
agfG6NJJgqgg7u]kHO
agfG8v	Kgqgg
(agfG@9d8gqgg
agfG(9 Egqgg*
agfGaK4"gqgg
agfGBJlpgqgg
AGFGBM[FMXPXZKEN
agfG	.C-gqgg
agfG[		Cgqgg
agfG*;.dgqggm
A*g-fgfG
Ag'fgfGk
agfG;[@(gqgg
agfG#H' gqggK
agfGiJHFgqgg
agfGkD*Zgqgg
agfG!.k]gqgg
agfG_l|Ogqgg
agfG)MUJgqgg
agfGn:dOgqggB
agfGNI4ogqggsy#z
agfGN#SBgqgg
agfG#nyUgqggcnuD
[AgfGPcVhgqgg
agfGqg? gqgg
AgfG)|S;gqgg
'agfGS|r
AgfG#.Tygqgg
agfGu3vvgqgg	
agfGUGLHgqgg
agfGuv-Jgqgg
agfG(!vDgqgg
agfGVeHMgqgg
agfGW9xwgqgg
AgfGXFK4gqggS:h
agfG!yJRgqggW
agfGyl5!gqgg
[A@GFJEF]ALZ
AGGAPACYP
|AG||G|||A|||#RP|#|||R|||||||||||y||
agG[[[B[[[
agGcgfG"
"AggcgfG
agGdgfG3
AggegfG*
_AggfgfG
AgGfgfG!o
a[ggfGl2
A*ggfGmM1
A#ggfwB5x
?	aggfwe
aggfwupe9
aggG9n'M]Y]]
agggegfG
Agggfw)-
AgggfwGZkVvD;
Ag)gggw8
_aggGH|1
[_AGGJDB
Agg[kgfG
a@gglgfGkX
aggmcgfG
A_GGMZD@J
AG@GPBPFC
_aggqgg|:
Ag?gqgg!
AggqggM4
aggregate
Aggregated driver statistics from all logical CPUs
aggregate functions are not allowed in the GROUP BY clause
aggregate_mpattribute
aggregator
aggressiveimport
 AGGRESSIVEPOSTEDINTERRUPTS 
aggressive_trim_ws
aggw0fA0
*agGwgfG
*agGwgfG--v
AggwJ]tD
AGGX]YX@S[[
AGGZCDLA_QGM
AG]GZJO[PPLJ_[BA
@@AGh NHZ
A_GHOD[KL
AG_HODLAAH
@@AGh PN]
AGHQQ[G@BA]KYKKBHNE
[AGHSQCZ
@@@@@@AGh VR
AGHXOZXM]N_ZG[
]AGHY_LA
AgIegfG'
AgIegfG-
AgIegfGk
AgIegfGNx
AgIegfGP
agIfgfG"
agIfgfG3
agIfgfGj
agIfgfGjF
agIfgfGm
agIfgfGV
agIfgfGWo
A!giggfw
Agiggfw9
agiggfwE
A)gIkgfG.
;AgIkgfG6k
AgimgfGv*
agisgfG@
AGJEMGCFBYMC
AGJLLDZA@HL
AGJMLCKX
_AGJN_EPK
AGJPPBZLZ@
[AGJXPLLMLJEKN
A]GJYNHSDSD
;agKdgfGn	
agKdgfGw
AgkfgfG'
AGKGC]L_O@
*a;g'kgfG
.ag[kgfG-
a|g'kgfG
;Ag;kgfG
ag)kgfGb
a	g_kgfGg
Ag[kgfGgP
ag[kgfGH
ag#kgfGtj
[AGKL[Q]
AgkngfGG
AGKNMLCY[J_
AGKOJMYFCHG
AGKQN[HMBSXGAP
AGLBS[XM@PACJ[
AGLD[QQYAYASJ
AGLFJAOY
a)))@G]LG]
aGllllllllmllllOllylm
AGLXBAS_JBHAEHK
A__GL_XM
AGLYMAJM
AG]LZGCGHGBK]
A@GM@BAHKH[
AGMBLMN_
AGMCC_S]E
agmdgfG2
agmegfG.
agMkgfG:
A gMkgfGm
AGMLJNOSLD
AGMMHPO[@AKPSJ
AGM]OGQJ
AGMPNGQD@FL]
AGMXJ[HJF
AGMYPJAG
agM[[[Z[[[
AGNA[_[[
[AGNDMLFYDS
AGNH]YXG
_AGNJJZYAKKYYKA[
AGNJYPX_L
AGNMGEGQLGC
|@@@@@@AGNpBV
[AGNPODLBA
@@@@@@AGNpTO
AGNXABDKL_DYF
aG  N     ]Y]]
A@@GNYOE
A-gOBgfG
AG_OCLBY
AGOGABPCKOHSD
AGO]JOZ]Z
A_GO]QBY
A]GOS][CPLSKFSCO
A_G[_OSDP
A_GOZJBQX
AGPCF[DM[KPS
AG@PDSSBZDKKBQACN
_AG[_PFY[
AGPHMGGL
@@@@@@A@gpIJ
_AG_PLZOM
@@@@@@A@gp@O;
)))@AGPPS
_AGPQP[DHD
!@@A@gpSFu
@@A@gpSFu
@@A@gpTFu
@@@@@@A@gp@X
AGQBD@KH
AGQDOLYXAA
:	agqgg'
*Agqgg?_
A   !    gqgg
Agqgg0dV
agqgg0vX
a	gqgg(53
a gqgg7O
A)gqgg8Veb
agqgg#]a
_A#gqgga
A]gqggA_
|;agqggBz
agqggc9g
agqggdP5
AgqggeiA
[Agqgg-eJ
AgqggeL-
AgqggeU8
) agqggF
agqgg'G8i
Agqgg'G8i
agqggHsVQ
A|gqggjuYx
Agqgglmc
agqgg#]m
a--gqggM
AgqggOCon
A;gqggoN
AgqggPc#
AgqggQ02
Agqgg'Qb
agqggqiO
:agqggQs
A"gqggRgx
AgqggspS
Agqggt6b
Agqgg?U1
_-agqggW
a;gqggyCx
AgqggYU9
|Agqgg!Z
AgqggzTs2e
AgQkgfG)
AGQ[K[HDF@@
AGQLAALJO
AGQOKA[JFQ
A_@GQ_QAMJ[
A]G_QSMN
a GROUP BY clause is required before HAVING
AgSfgfG8
agS gfGE
a'gS.ggw
AGSHEJLY_
AG_SQGOKMCLE__L
[]A[GSSCGYYB
[AGSSHPQDH
@Ag?tgfG
ag	tgfGL3
Ag!tgfGoJZegqgg
agUdgfGq
ag@[[[v[[[
@@A@; G[v
agWbgfGO
agwbgfGS
a'gwdgfG
agwdgfG6
A-gwegfG
a#gWfgfG
a.g'wggG
agWjgfGL
AgwpgfGQ
AgWSgfG.
agwwgfGz
AGXDO]XGLNHM
AG]XFKYCYOPM
agxigfGh
A[GXJ_MSXY
AGXJSZAFB]G
AGXNE]B]A
AG@]XQ]JYASP
AGxx]Y]]mcY
AG]XYN_XN
A_GXZY@[XHS[
AG@_YCZXXQQC
AgydgfG?
AgYdgfGg
]agYkgfG
agy[[[K[[[M[[[
agYngfGa 
A[GYOEXSD
 aGyyyyy
AGyyyyyy
AGYZNBJKFGK@JZAJQFYLXKPP
agZ[[[c[[[
AGZGKEJC
]AGZGO_PJ
a)))@GZ]HG]]LJAGFEFNP
A[G_ZQDE
AGZZ_[DJGBS[C]
@@@@@@A@h [
!)))]AH]
@@@@@@AH@
AH1gGmgfG
aH?4qPR8
ah5.[A) 9.3
A@H9A8tTH
A@H9A8uHH
A H9B s9
AH9CHs5I
aHaAa"a	a
aHaaaaa(a6a
aHaAa[aAaDa
aHaAaBaAaDa
aHaAacaU2a
aHaAaIaQa
aHaAaSaQaPaRaAa
aHaAaSaQaPaSaLaSaQaPaUaMaAa
aHaAaSaQaPaUaLaSaQaSakaK2a
aHaAaSaQaQaVaLaSaQaPaWaAa7a2aAa3a
aHaaa]Y]]
A@@@@@h@@A@ADac
AhA[AIA?A
aha@B)253[2
aha@B)253[5
@@A@h AB3
@AHA@BAAAAAKPAL
@@A@h Ad
@@A@h aE
AhAeA7A A
@AHA@EACAaAA
A]HAE[QS
)))AHAHAH
AHAHCZLESH[
@@@@@@A@h AI
aHaka#1a	a2a
@@@A@h AL:l
AHAMAMAM
@@@@@@A@h AN
AhAOA8A*A'A
aHaOaPaWaSa
A(H;A t8H
A(H;A tAH
A(H;A tEH
AhAUAJAAAEA9A
AHAULOINUA@M@U
A]HA_YAH
aHb0gggfw
ah@@@@B@AFHp@Q
A[HBBCO[]
AH[B[BDFPAL
A||hB||DB||
A||hB||DB||LJ||
@@A@h Be
)))AHBFFGYF[]HE
AHBHLCGXXEA_
[AHBK[C[EZYX@SH[X
AH[B_KJDZGD[]Z
AHBLYDGXK
@@A@h BN
_@AH[B[PY]L[H]M@GHO@EL[DLMJ[PY]
)))_@AH[B[PY]L[L]M@GLO@EL[DLMJ[PY]
@@A@h BQ
A||hB||SB||!B||6B||
@@A@h BT
a||Hb||XR||@R||(R||
@@@a@h C]3
@@A@h C]3
@@@A@h Ca
@@A@h Ca
@@A@h CDO
@@A@h CF
@@@A@h CG
@@A@h CG
AHCGKSMAXOX
AHCH[BHGN
@@A@h C]i
@@@A@h Cn
@@@@@@A@h CP
A(HcP|L;
AHCXKPHG
AH]C[XOKXMK
@@A@h CZ
!@@A@h D]3
@@A@h D]3
@@@A@h DEHg
@@A@h DEHg
AHDEL]ZFO]
@@@A@h DF
@@A@h DF(
@@A@h Dfb
AH[DFG@H
aHdG[[[n[[[l[[[H
aHdH?985
AHDHE@]P
@@@@@@A@h DI
@@@@@@A@h DL
@@A@h DL
@@A@h DLQc;
a)))_H[DLZZHNL
@@A@h DMHc
@@@@@@A@h DN
@@@A@h DN
@@A@h DN
AH[DOZLHQE
@@@@@@A@h dp]	
@@A@h dp]	
@@A@h DP
@@@A@h DQ
AHD_QZO]
@@A@h DR
@@A@h dT
a@Hd@[[[V[[[
@@A@h DX
@@@A@h DXy
AHDYHNL[
AHDZJPCLBL
'@@A@h DZTTG
@@@@@@A@h DZTTG
@@@A@h DZTTG
@@A@h DZTTG
@@@@@@A@h E[
@@A@h ]E
@@A@h E[
@@A@h E]3
@@@@@@A@h Ea
@@@A@h Ea
@@A@h Ea
AheB[[['
AheB[[[n[[[
AheC[[[2[[[
Ahe@[[[E[[[D[[[
@@A@h EeE8z1
AheE[[[F[[[
AHEEFDHHZEHGM
AHEEXX@GHMNMDKY
@@@A@h Ef
@@@A@h EF
@@A@h EF
]AH@EHGM
@@A@h EhT'
Ahe][[[i[[[
AheI[[[k[[[j[[[q
@@@@@@A@h EIl
AheI[[[M[[[
@@A@h EJQ
!@@A@h EKz
@@@A@h EKz
@@A@h EL
#)))AH@E@L
@@@@@@A@h Elc
@@@A@h Elc
@@A@h Elc
@@@@@@A@h ELll
@@A@h ELll
@@@A@h EM
@@A@h EM
@@@@@@A@h EMHc
A)))_HE@MH]LZL]
	@@@A@h En?
@@@@@@A@h EN
@@A@h EN
AheN[[[7[[[6[[[
@@A@h EO
]A@HEO@AH[
AheP[[[d[[[
)))AHE@PFDHB
AheR[[[E[[[D[[[k
@@A@h ES
@@A@h ET
@@A@h EU
AheV[[[s[[[
 @@A@h EW
!@@A@h EW
@@@@@@A@h EW
@@@A@h EW
@@A@h EW
@@@@@@A@h EX
@@A@h EX
@@A@h Exc
Ahex[[[n[[[m[[[
!@@A@h EY
@@A@h EY
!@@A@h EZ
@@@@@@A@h EZ
@@A@h EZ
@@A@h EZ0
AheZ[[[3[[[
AheZ[[[h[[[m[[[
AHFAHFMH
@@A@h Fe
aH_F]@FG
AHFGMEFYHANNJB]
@@A@h FI
@@A@h FKz
@@A@h FM
 @@@@@@A@h FMHc
'@@A@h FMHc
(@@A@h FMHc
)@@@@@@A@h FMHc
@@@@@@A@h FMHc
@@@A@h FMHc
@@A@h FMHc
!@@A@h FN
@@@@@@A@h FN
@@@@@@A@h FN]
@@@A@h FN
@@A@h FN
@@A@h FN]
@@A@h FOU
@@A@h FP
@@@@@@A@h Fq
@@A@h Fq
AHFQYAB[
@@@@@@A@h Fr
@@A@h Fr
@@A@h Frp
@@@@@@A@h FS
@@A@h FS
#@@A@h FT
@@@A@h FV
@@A@h FY
@@A@h FY|:
@@@@@@A@h FZ
@@A@h FZ
@@A@h G]3
@@@@@@A@h Ga
@@A@h Gb
@@@A@h GBi
!)))]AHGBZ
AHGBZD@EB
]AHGBZYHNL
)))AHGC@L
@@@@@@A@h Gd
@@A@h Gf
@@A@h GF
@@A@h GH
aHGJ@]F[
@@@A@h GK
@@A@h GK
AH]G_K_MSCBZOJKX
@@A@h GL
A]HGLKQ@JHGOQA
(:@@A@h GM
@@@@@@A@h GM
@@A@h G_M
@@A@h GM
AHGMALEMO[@LGMEP
aHGMEL[e@Z]hJ]@_@]P
:)))AHGMEL[ZiZHGZ
@@A@h GMHc
AHGMKFFB
AHG[MXJ[
!@@A@h GN
@@@@@@A@h GN
@@@@@@A@h GN]
@@@A@h GN]
@@A@h GN
@@A@h GN]
AH[@GNLPDFK@EL
@@A@h GOa
@@A@h GOU
@@@@@@A@h GP
@@A@h GP
AHGQX[EBQ[BKG
@@A@h Gr
A][[HG@SC
'@@A@h GSR
@@A@h GT
@@@A@h Gui
@@A@h Gui
@@A@h GUTE
@@A@h GY
AHGYMNDXBZ[DAND
A)))][HGZYKH[[LGF
"@@A@h H_
@@A@h H[
AHH90t[L
AHHA]KQGJ
@@A@h Hb
AHHBBHQFMN]LK
A_[HHDHCKCDEEDG
aHHdO[[[
AHHEYHAYHX
@@AHh EZ
@@A@h HF
AH_H]HAD@G@
@@@A@h HK
@@A@h HK
A]H@HKZPSC
@@@@@@A@h HL
@@A@h HL
AHHLCBAEBEEAOO
AHHL]CSBZ[E
!@@A@h HLll
@@A@h HLll
@@A@h HLPn8
@@@@@@A@h Hm
@@@@@@A@h HM
@@A@h HM
_@@A@h HM
@@AHh MJ
@@@@@@A@h HN]
@@A@h HN
@@A@h HN]
A]H_]HNCY
@@AHh NHZ
@@A@h HOa
@@A@h HOh
@@@@@@A@h HP
@@AHh PJ
"@@A@h Hr
@@@@@@A@h Hr
@@A@h Hr
@@A@h Hs
@@@@@@A@h HS
@@A@h HS
@@@@@@A@h HT
@@@A@h HT
@@A@h HT
_@@A@h HTo4
AHHULIJ@ULL
@@@A@h HW
@@@@@@A@h HX
@@A@h HX
!@@A@h HY
@@@@@@A@h HY
@@A@h HY
AHHYXKXYCNGB_
@@A@h _i
@@A@h @I
@@A@h I[
@@A@h Ia
@@A@h Ie
@@@@@@A@h IK
@@A@h IK
@@@A@h IKz
@@A@h IL2JDMA?
'@@A@h IM
@@@@@@A@h IM
@@@A@h IM
@@A@h IM
@@@@@@A@h IMHc
'A;HI;M@;xyxvy
!@@A@h IN
@@@@@@A@h IN
@@A@h IN
@@A@h IO
@@@@@@A@h IOa
@@A@h IP
@@A@h I[r
@@A@h Ir
@@@@@@A@h IS
:@@A@h ISF
@@A@h ISF
@@@A@h IT
@@A@h IT
@@@A@h IU
!@@A@h IW
@@A@h IW
@@@A@h IX
@@@A@h IZ
@@@@@@A@h J]3
@@A@h J]3
@@A@h Ja
!)))AHJB
aHJB]FFE
")))AHJB@GN
:)))AHJBJFDDZHKZ][HJ]
AHJB_K_D
AHJBKHJB][HJB
!)))AHJBL[
)))AHJBL[
AHJBL[CPL
AHJBL[HAY
AHJBL[KFQ
!)))AHJBLM
AHJBL[MDPM
#)))AHJBLMKP
AHJBLMKP
AHJBLMKP))
AHJBL[ZFOZH_@F[
AHJBL[ZvFOvZH_@F[
aHJBzJ[@Y]
 )))AHJBZPZ
A[]@HJCF_AENOCC
 @@A@h JD
@@A@h Je
@@@@@@A@h JE
@@@@@@A@h JE)Z
@@@@@@A@h JF
a)))HJ]@FG
a)))_H[JF_L[]
AH[JFMLH]
A_HJFMMMF
AHJHMZZGH_LPZK_
@@@A@h JI
@@A@h JI
@@A@h JI-
@@@@@@A@h Jiu
.@@A@h JJ
@@A@h JJ
A]HJJLZZ
@@A@h JL
AHJL@KXCHY
AHJLO[ZMJN
@@@A@h JM
@@A@h JM
AHJ_ME_JBNP
@@A@h JO
@@A@h JOa
AHJOIANV*
_[AHJOQLQD
@@A@h JOUT
@@@A@h Jp
ahJpgppepqB5
AHJQ_GLAOOAQ
@@A@h JT
@@@A@h K[
a||hK||4]||
@@A@h KD
AHKDXDJLM
@@A@h KE
AHKH[@DF]F
@@A@h Ki
'@A@HKIAAxyxhy
@@A@h KJ
@@A@h KKL
(@@A@h KL
)@@A@h KL
@@@A@h KL
AHKL_QNCL
@@@@@@A@h KM
@@A@h KM
_@@A@h KM
(@@A@h KMf
@@A@h KMHc
!@@A@h KN
@@@@@@A@h KN
@@@A@h KN
@@A@h KN
@@@@@@A@h KO
@@A@h KP
AHK@PO]BZM
@@A@h KSv_
@@@@@@A@h KT
@@A@h KT
@@A@h KY
AHKYJFPLFYGNQCN
]@@A@h KZ
@@@A@h KZ0
@@A@h KZTTG
a)))_H[[L]
@@A@h ]L
@@A@h L[
@@@@@@A@h La
@@A@h La
@AH_L]ALBLP]FMLJ[PY]]ALDKHJB
@@A@h LD
AH[_LD@GNC@HGN
AHLDXNG]HQXB[AA_CA
@@A@h LE
@@A@h Lfb
A]H]LFCB
A]H]LFCBr@t
AH_LHG@JLMHP
AHLH_SPC_N]J_P
?@@A@h LHZ
@@A@h LHZ
@@A@h LI
A]HLJAFJHY]@FG
A]HLJAFw
[AHLJ[LPP
AHLJSGBLPAL
@@@@@@A@h LK
?@@A@h LL
@@@@@@A@h LL
@@A@h LL
aHllllllllmllllOllylm
]A]HLLOBH
 @@A@h LM
@@A@h LN
@@A@h LO
A]HLONPZYNKM
AHLOSXS]
@@A@h Lp]	
?@@A@h LP
@@@@@@A@h LP
@@A@h LP
_AHLPZ_Z
@@@@@@A@h LQ|
AHL[]QDDJ_
!@@A@h LR
@@@@@@A@h LR
@@A@h LR
@@A@h LS 3I7
@@@@@@A@h LT
@@@@@@A@h LZ
@@A@h LZ
@AH_LZLLG@]
@@A@h Ma
@@A@h Mb
@@A@h MD
@@A@h ME
a)))HMFKLHJ[FKH]
a)))HMFMK
AHMGB_C]ESP[ADY
AH][M[GCB[B
AHM@GGY[ENK
AH[M@GNiLHZ]DHG
@@A@h MI
@@A@h MJ
aH[MjFMLmH]H
AH[MJFMLMvBLP
AHMJHMyxwy;
A@H[[MJZHPHSDNNYE_N
@@A@h MK
AH[MKMBXLHNYYJGQXM
_A[@HMKP_KL
@@A@h ML
@@A@h MM
a)))HMMCH_HZJ[@Y]
@@A@h MMHc
")))AH[MM[@_L
!@@A@h MN
@@@@@@A@h MN
@@@A@h MN
@@A@h MN
 @@A@h Mp]	
!@@A@h Mp]	
#@@@@@@A@h Mp]	
@@A@h Mp]	
AHMPSLS_
AH]MPXSS[
@@@@@@A@h MR
@@@A@h MR
@@A@h MR
@@@@@@A@h MS
@@@@@@A@h MUP
@@A@h MY
@@A@h MZ
AH[MZ]PEL
@@@A@h MzX 3
@@A@h [N
@@A@h N[! 
AHNABZKMAEXLPLH
AHND[G[_
A_H@_NDQ
@@A@h NHZ
AH[NHZZGL[
|@@@A@h NJ
AHNKO[FNAQKC_YYXMG
AHN@]KQO
#a)]H[NL]
a)))]H[NL]
)@@A@h NL
@@@@@@A@h NL
@@@A@h NL
@@A@h NL
A)))]H[NL]
a)))HNLGJ@HMD
AHNLMYNB
@@@@@@A@h NLQc;
@@A@h Nn
@@A@h NN
@@A@h NN]
@@A@h NO
AHNON]FMM
@@@Ah NP
@@A@h NP
]@@A@h NP
@@@@@@A@h NS
@@A@h NS
@@@@@@A@h NT
@@A@h NT
*@@A@h Nv
@@@A@h Nv
@@A@h NX#
AHNXHKZ@H
@@A@h NY
@@A@h Oa
@@A@h OD
)@@A@h OE
@@@@@@A@h OF
@@@@@@A@h OFt
AHOGY[XC
@@A@h OI
@@A@h OK
[_AHOKDBXJMBNPN[H[
)@@A@h OL
@@A@h OL
@@@A@h OM
#@@A@h On
@@@@@@A@h On
@@@A@h On
@@A@h On
@@@@@@A@h ON
@@A@h ON
@@@@@@A@h OP
@@A@h OP
AHOP]FMB@ZF
_]AHOPXYLH]L[G
@@A@h OQ
@@@A@h O[r
!@@A@h OR
@@@@@@A@h OS
@@A@h OS
@@@A@h OU
@@@A@h OV
@@A@h OV
@@@@@@A@HpB
@@@@@@A@HpB]
@@@A@HpB
@@A@HpB[
@@A@HpBA
AHPBBLAY
@@@@@@A@HpBc:
@@@@@@A@HpBd
;@A@@HpBD
@@A@HpBD
@@@@@@A@HpBE
@@A@HpBHd
@@@@@@A@HpBHD5
@@@@@@a@HpBI
@@@@@@A@HpBI
@@@@@@A@HpBIL
"@@@@@@A@HpBJ
@@@@@@A@HpBJ
@@@@@@A@HpBJo
@@@@@@A@HpBK
@@A@HpB|l
'@@@@@@A@HpBL
'@@A@HpBL
@@A@HpBL
_AHPBMJL]Q
@@A@HpBN*
@@A@HpBO
@@A@HpBOdm
@@@@@@A@HpBP
@@A@HpBP
@@@@@@A@HpBQa
@@@@@@A@HpBR
@@A@HpBR
@@@@@@A@HpBS
@@A@HpBSR
@@@@@@A@HpBT
@@@A@HpBT|2
@@A@HpBU
@@@@@@A@HpBV
@@@A@HpBW
@@@@@@A@HpBY
@@A@HpBzE
@@@@@@A@h PD
@@A@h PD
@@@@@A@@Hp@DL
@@@@@@A@h PF
@@A@h PF
@@@@@@A@HpFa
@@@@@@A@HpFa[sO8x
@@A@HpFf
@@A@HpFg
@@@A@HpFh
@@@@@@A@HpFJ
@@@@@@A@HpFK
@@A@HpFk6
@@@@@@A@HpFKw
@@@@@@A@HpFKxs
@@@@@@A@HpFL
|@@A@HpFL
@@@@@@A@HpFM
@@@@@@A@HpFPW7
@@@@@@A@HpFS
@@A@HpFS
@@@@@@A@HpFT
@@@@@@A@HpFV
@@@@@@A@HpFW
@@@A@h PgJ
AHPG]NYD
Ahpgppepq
aHpgppepqvo
AHPHEBH]@K@
AHPHGZAFY
@@A@hpHHJ
@@@@@@A@h PHZ
@@A@h PHZ
@@A@h PI
@@@@@@A@h PJ
@@A@h PJ
!@@A@h PK
@@@A@h PK
@@A@h PK
@@@A@h PL
@@@@@@A@h PLjm
AHP[M@XH]
@@a@h PN]
!@@A@h PN
!@@A@h PN]
@@@@@@A@h PN]
@@@A@h PN]
@@A@h PN
@@A@h PN]
AHPNMPKO
@@A@h PO
@@@A@h PR
;@@@@@@A@h PY
@@@@@@A@h PY
@@A@h PZTTG
@@@A@h Q_
@@A@h Q[
_]A_[H[Q
@@A@h QD
@@A@h Qe
AHQEB]O@NDCCM
@@A@h QF
AH_QHOCFQA
@@@@@@A@h QK
@@@A@h QK
@@A@h QK
 @@A@h QL
@@@A@h QL
@@A@h QL
@@A@h QM
@@A@h QN
@@A@h QNZ
@@@@@@A@h Qp]	
!@@A@h QP
'@@A@h QP
@@@@@@A@h QP
@@@A@h QP
@@A@h QP
]@@A@h QP
_AHQQPKL
@@@A@h Qrp
'@@A@h Q[v
'@@A@h QW
@@@A@h QW
AHQXJJZCE
!@@A@h QY
@@@@@@A@h QY
@@A@h QY
@@@A@h QZ
@@A@h QZ
AHQZDSHJ
@@A@h RD
.@@A@h Re
@@A@h Re
]@@A@h Re
|@@A@h Re
@@A@h RE
@@@A@h RI
@@A@h RI
@@A@h RJ
@@A@h RL
@@A@h RMQ-
ahROQQa419@ea
@@@A@h RQllS
@@@@@@A@h RR
@@A@h RR
@@A@h RX
!@@A@h RZ
@@A@h RZ
@@@@@@A@h RZ8
@@@@@@A@h RZTTG
@@@A@h RZTTG
@@A@h S[
@@@@@@A@h Sa
@@@A@h Sa
@@A@h Scp
@@A@h Sd
@@A@h SD
@@A@h Se
@@A@h Se!
@@A@h SE
@@A@h SHZ
@@@@@@A@h SJ
@@A@h SJ
AHSJOP_Q
@@@A@h SL
@@A@h SLa_M
AHSLKKKC
@@A@h SN]
]AHSOSAL
@@@A@h SRpgE
#_@@@@@@A@h SS
@@@@@@A@h SS
@@A@h SS
@@A@h SSF
 @@A@h ST
!@@A@h ST
:@@A@h ST
@@A@h ST
@@A@h SX
@@A@h TE
@@A@h tF
@@A@h TI
@@A@h tJ
@@A@h TJ
@@@A@h TT
"@@A@h TZTTG
@@@@@@A@h TZTTG
@@@A@h TZTTG
@@A@h TZTTG
@@@@@@A@h Ub#
@@@@@@A@h UHZ
@@A@h UL
@@A@h Up
@@A@h UP
Ah?USSUs
@@A@h UZ
a)))_H[v
@@@A@h V!7
@@@@@@A@h VR
@@A@h We
@@A@h WEa
a)))HwJBHNL
@@A@h Wny
@@A@h WQ
ah:WSSPs
@@@@@@A@h WVdL
|@@A@h WW
@@A@h WZ
@@A@h [x
AHXBFYHE
AHXCQLGK_
@@A@h XD
@@A@h XJ
AH_XKAY[
@@@@@@A@h XL
AHXMNJAQS]LQZ@
ahxyyyyyyyyyWhxyyiyyyyyyyyyyyyyyyyyyyyyyYhxyyyyy
@@A@h YE
aH[YFFGeFJBL[
!ahYFqRtlRegisterFeatureConfigurationChangeNotification
@@A@h YI
AHYJMNAMS]
@@A@h YKH
AHYMDQNX
@@A@h YP
AH_[YQBE[
A]HYYF[M
AHYYPEHKZ
AHYYPYF[]
AHYYPYLGN
AHYYPZHG]H
aH[[[Z[[[
@@@@@@A@; HZ
A]HZACGY
AHZADH]@
AHZADPYHZZ
AHZA@DYF[]ZAH
)))AHZAE@K
AHZAFOOZL]
A]HZALEE
AHZALZr@t
)))AHZALZYL[ZLJFGM
AHZAMH]L
AHZAvYHZZ
AHZDF[LLELDLG]Z
aHZeFJH]@FGvA[LO
AHZEFNNLM
]AH@Z]FGLZAFYZ
aHZfKCvZALEE
A]HZ]H[]
AHZJFG]LG]
aHZjFMLjEFZL
-@@@@@@A@h ZL
AHZML]LJ]LM
aHZn@OaLHML[)(#)))!)))N@O
AHZ@QS[P
 @@A@h ZR
@@@@@@A@h ZR
@@A@h ZT
aHZva]DEm@_
aHZva[LO))
aHZva[LOa]]Y))
aHZvhEL[]
aHZvhMMl_LG]
aHZvjvJFML
aHZvjZZo@EL
aHZvNL]qDEa]]Y
aHZvqdemfd
aHZvyayh[[HP
aHZvyayNL]vFY]@FG
aHZvyayoF[DH]
aHZvyL[EoF[DH]
aHZyGNaLHML[)(#))) )))YGN@AM[
')))AHZYHJ
AHZZ@B]@[EHG
aHZz][cyn))
aHZz][@GNvhYHJALe@JLGZL
aHZz][@GNvqHCHQe@K
aHZz][@GNvZ@]LZJ[@Y]
aHZz][ygn))
A]@|||	i
Ai4XllllllllmllllOllylm?f-
'AI99@L@;xyxvy
A(I9A tBH
aIa3aHaAa6a
aIa3aHaAa.a
AI@@A@3 EZ
aIaaaaa a
:AIAAAAAA@AAAAAC:
AIAAAAAAAAn
aIa]akaQ3a
"(AIAAZqQMw
@AIA@BACYAAeqAJAAAAAAAA
a)))iAFDLM[@_L
aIaHa[aka_5a
'AIA;H:@Oxyxhy
AIAIAIAUAIAIAUAIAIAUAIAIAIAIAIA
AIAN:.y9*
Ai@a@U@A@9@)@
aIaUaUaTaHaaaaicaeaeada@B)253[5
a||ib||1b||
AI@[BC@TTLag
@AIBQqJrH6
A_Id@[[[
Ai@e@M@9@!@
Ai@e@M@E@1@
aIgFg	a7aXa"a
AIgfGv9kDpFD7
aIgKkgfG
!Aigqgg.O
)))AiHF]iHFii]Yiiiiiii
)))AiHFi]]Yi
)))AiHFi]]Yii
AIIBIuInI
AIIJIcIbI
AIInstallerFactoryWWW
AIIPIgnOICI
AiJMJZOw
'AIK9K;@Ixyxty
@@A@; IL
_@@A@; IL
AIllllllllmllllOllylm
AilSSSSSSSS
Ai@m@a@e@Y@]@Q@U@I@M@
aIMSLogonType
[[[AINf@[[[
[[[AINf][[[
[[[AINfM[[[
AINfS[[[
a	?Initialize@Element@DirectUI@@QEAAJIPEAV12@PEAK@Z
@@@@@@@AIp@@@@@@@@@@BAABHp@D
@@@@@@A@Ip@@@@@@@@@@BBA@Jp@@@@@@@@@@]Y]]
Aipgppepq
aIsPresentWWW
A(I;@ t*A
@[AI@TLs@UBTv
Ai@U@I@M@A@1@
aI[[[u[[[k[[[#-hdL[[[t[[[
AIWOPOQHAI
AIWOQOQHAI
aI;wPtYH
?A...iwyy
?A..iwyy
?A..iwyy9PyyoI
?A...iwyyaXyytI
)))A]]iY
)))A]i]Yii
AI@yxay(
@@@A@; IZ
@@A@; IZ
@@@@@@AJ@
aj7pgppepq
AJAAAAAAAAo -- 5.3(
aJaauauacaakaw
aja@B)253[6
@AJA@BAAAAAKPAL
AJAB@DM_EXKM
[AJACEDCSYE@YFQQO
A_]JA[C@J_XMPQJ]D_]N
[AJADGPSO
AJ_ADS_ZX
Aj@AEA@BAC@@AIqAE
a)))JA[FDL
AJAGMAMPHJ
a)))JAH[]
A@JAHGY[F]FiRT
AJAHX]_L
aJaJa_aDa
AJAJDALJMDL[C@]AXK
AJAM[ZDCDE
AJAOGN[]S
AJA[SJD]
[AJA_[]Y
a||jb||6b||
aJ@@@@B@A@Hp@T
AJBBQQ_BYY
AJBF][PH
]A@JBKFQ
a||jb||Ob||6b||
A]JBO[KMLECFCEBD
AjCAQA@BACA@AMqAl
[AJCAYLPM
aJcllllllllmllllOllylm
AJ_COONYSJG
AJCPOO[SG
AJCQZ]LYBXKL
A[JCYXYBDLM
[[[AJ;d][[[
AJ[DGEK]ON@S
aJdgfG]d8
AJ_DNGYYOA
AJDPN[KSJPO
[AJDSNZGEOXSY
AJDSPMGOP
@AJDSSJBQPQ
AJdU[[[D[[[
A@JEDFYQQH
AJ@EHMXL
AJE_NHQHCMHGQY
ajeO[[[1[[[
((AJFDDHGM
A)))JFDYFKCI
a)))JFEF[
A)))JFGGLJ]YF[]
AJFGSO]K_]
a)))JFMLKHZL
AjFpgppepq
A@JFPKHYB
AJ_FXE_PE
a)))JFYP
[AJG[CKDS_@LOPS
[AJG[CKDS_YN
AJ[g;kgfG
AJGLD@[KY
]AJGLSCL
AJGLZXJLOJ
AJGOBBPJ
)ajgqggP
[AJGSCEDG_KZ
[AJGXN@@HD@OCEJNQAP
a"|Jhggfw
aJhggfw"7
A:Jhggfwdi
aJhggfwEL
AjhggfwUc
a)))JH]JA
A@JHKNMJA_YYY
AJHNS_OL
AJ][H]OL_[MMNK
a@J[HSPB
AJHZMOZH@]HCZBX
AJJAHP_NK@LMJN
A_JJAQSKXQ
AJJ@[[@]J_O
AJJX]CQOONJ_DPZDKXD]H
AJJZ_DGMXNSYBG
AJKLXKPS_SL
A]_JK]MY
AJKOKQ]O
[AJK[YXHHB
A]JKY]YSPMQCSC
AJLDBG[HZE@KK
AJLFQZDC
a)))J[LH]LFKCLJ]
A)))J[LH]L]HKEL@OGF]LQ@Z]ZOFEML[Z
a)))J[LH]LLELDLG]
ajllllllllmllllOllylm
A]JLLOK@JBD
AJL]LZSYB
AJLO[Y]GGSS
AJLPOF]LXBBQ@E
]AJ[LSOBZXPL
AJM[DHSEKH@ZZXEYSJA
AJMEFQP[ZNA
AJMGBOZZG[N
_AJMH[HMFAA
AJMJN_HNBMMQ
AJM]KBZAYG]YGZ_AK
AJMMLC_NNNLKCNB
aJMNllllllllmllllOllylmi
AJMOCZ@A
AJMQ[GPJ
AJMQY]YD_ZG]P[BF]SJLDASYHO
AJMZOSQOJ
AJMZXJZA
@@A@; JN
AJNLXAQ[S
AJ@NMF@JM
_AJNNCBH
AJN_N[JML
AJNOK@GNXJ
AJNPOLSFHJC@EB
AJNQ]JCJK
A_JNQMYX
AJOAMLIMO
aj*oggfw
AJO[QBBQGDD
A]JOSB[DPM@
AJOXNJJS]XK
AJ[[_@OY]ZCZ
@@@@@@A@jp@@@@@@@@@@@@A@
@@@@@@A@jp@@@@@@@@@@@@A@Lp@@
@@A@JpB@
@@A@JpBA
@@@@@@@Ajp@@@@@@@@@@B@@AHp@K
@@A@JpBWX
 @@A@JpF
@@@@@@A@JpF
@@@@@@A@JpF@
@@@A@JpF
|@@A@JpF
|@@A@JpFAX
@@@@@@A@JpFC
@@A@JpFC
|@@A@JpFC
@A@@JpFD
@@A@JpFde
@@@@@@A@JpFf
@@A@JpFH
@@@@@@A@JpFNb
@@A@JpFQ
_AJPGPEX
AJ]PG@ZEXHSX]GMHZ
AJPMCHQHP
A[JPP[ZS[Q
a)))J[PY]FNEFKHE@G_LZ]DLG]
AJPYPMND
AJP[ZQ_Q_CYY
@@@@@A@@JQ@H
@AJQ@JZGP
AJ_QKPF@EGO
AJQSCSLY[L
__AJSDMBZ
_AJ[S]D_Y
AJSGO[JS
@@@A@; JSH
_AJSJXNZNXCSA
A]JSKXLQMGC[Z@
AJSOAKSS]S
A JSON parse error occurred
AJS[PKBOG
AJS[QNJCB
@@@A@; JTo4
@@A@; JTo4
@@@@@@A@; JUl
A|@j@V@kC
aJ[[[W[[[K[[[
@@A@; JX
AJX[BZPOMHF
AJXDPKS_
]A]JXG]O[A
AJYE_BXB
@[AJYGDA
ajyyxyyyEyJyqyq
ajyyxyyyqyq
ajyyxyyyyyyyQoyyhyyyzyz
ajyyyyyyyyyy!jyyyiyyyyyyyyyyyyyyyyyyyyyyOjyy1jyyQjyyyyyy
AJZDYXYG
AJZHXMPC
AJZLL[_YQG
A[JZOO_BZYH
@@A@; JZsAc_
AJZXBZMEOYNK]LM[JKCG
AJZXQANPBS[
AJZ_YGSO
:||a:||K:||.:||
A|@k@?@"@
@@@@@@AK@
aK0dN[[[
aka;2a	a
aka'*a1a
akaA3a1a"aAa1a
AkA[AUA6A
aKaauauabaakai
aka@B)253[6
akaC6a2a)a3a
Ak@a@D@:@
[AKA]]DK
Ak@a@f@P@I@@@
akaI6a2a
akaj31"1
AKAKAIUKAIAIKAUK
aKaKaKacaK(a
AK]ANK[KPG
akaQ"a a#aAa'a
akau'51O
akaW"a7a
akaW(a.a
akaW#a(a5a2aAa
AKA]XY_D[
AKAYBCCNP
AKBCXFJNCLN_D_G
[[[AKBdX[[[
AKBD_]ZCNJX_
A[K]_B_GOLBLZCMBMBX
akbhggfw
_AKBJCNYMC
AKBXGDBFLMFLZJH[SB]EZO
AKCAJB[A]PX]
AK[CBBQA
a)))KCEHZL[
AKcgfG*eP
[AKC_QJDG
AKCYZSAKGM
AKDBE_GDLX[AN@PN
A]KDDB_FB[[JCMOM_XNGLBZPX@ZJ[]SN
AK[DDODC_CGHCB
AK_DFXAN
[AKDGEYN
AKDHA_[[
A[KD[_H]QPYHB
A@KdL[[[
AKDM_JG_SMZ
AKDNO[SFCA
Ak@d@Q@YCRCOC
AKerberosBindingKey
AKerberosKeyWithMetadata
a@]K[F_@
]AKFBS[C
akffaefkS
AKFF]BLP
AKF_HGNE
AKFSHQKHY
a@Kg1kgfG
A;K.g7dgfG
AKgcegfG
]AKG[EEGKFJH
AKGGESNMFHZ
Akggfwyc
A[KGGLZSFB@DSEHXZGAQ
A[KGOEMXCQ]_
aKGOM*YMMOMMMOMMM
AK[GO_PAMBZCB
akgQbgfG|
AKGQYS_PON
AKGYNQJG
AKGyyyyy9
]_AK@HBB
AKHBPAOC
A[K[HC_B
AKHFXD_K
')))AKHGBL[Z
AKHGBL[Z
AK]HGSCQJ@E_HJ
AK_]HHXBOC
@AK_@H_LPOSDMC
AKHM_MNP
AKHNMJLA[D_
AKHQQBGG_YCSSO
aK[[[I[[[
aKIgfGbv
AKI@JOxx
A]KJAQPPSX
AKJDFEGX
AKJEP]NNKXBD@OM
[A@KJGKXEBO
AKJGZNQ[]]YDLJ
AKJJKJKBKJKBKKj
AKJJ]_QZ]CPX
[AKJKEOHGS
AKJ__K]QLG[]D[[PAQE
]]A[@KJLX
AKJ_MYED
AKJNCBOY
AKJXC[_N_X
A_KK3pgppepq
'AKK9JOI:xyxly
AKKBCYJXBGJNQ
AKKKcar]
_A_]KKMOAKGGBAY_@BB
[[AK]LBG
AKLDCQOGF[
aklg_cgfG
aklg_cgfGP
A@KL[GH]L
AKLGJQDPPY
A@KLJ@Krxly
akllllllllmllllOllylm
aKllllllllmllllOllylm
akllllllllmlll]Y]]
AKLOPD]ZLOGYCX
A][KLSYA
AKLXYSCADSBQBMS]
AKMBA_XZCOGHEJ_@S_
AKMLJKLY@EO
[_]AK_MO_
AKMOQGPPBM
A_KNGKKXX
[AKNKaaa
AKNMYODMQ
A@@KNNyx
AKNYPSOO@D
AKOADGQS
A@KOC_LNL[QH
[@AKO]GLM
AKOLBECHM
AKOPZYKO
]AKO]SKPAGLSD
AKOX@DO_]@Y[KA[KKL
AK__OZBDE
@@@@@@A@Kp@@@@@@@@@@@3@@E@ACa
@@A@Kp@@@@@@@@@@a
@@@@@@A@Kp@@@@@@@@@@B@A@Hp@L
@@@@@@A@Kp@@@@@@@@@@@BA@np@@@@@@@@@@@@A@rp@@@@@@@@@@@BA@Ep@@@@@@@@@@@@A@Fp@@@@@@@@@@@@A@Ip@@@@@@@@@@]Y]]
AKPBCSP@JHLMOCHLY
A[KPC]JXCS
Akpgppepq_
A]KPO[]EL
AKPPGNKNH
AKQ_BGG]
AKQJ]_AP
AKQJM]D_OG
AKQ[LKAF
AKSC]][H
AKSE_LNC
AKSJFH]ZJH_
AKSJHDD@PD
AKSKFZYE
AKSSLDNLSYQKEH
AKSY@]H[HDOK[[
@@A@; ]]Kt
aKugfGHo
AKULH@HUA
akWWOSUWORYO
AKXBBBXAG
AKXKKPXOPJLB
AKXLNBXYAS_BG
A[KXODHZAD]
AKXPHDQNL[YAYHHSJD
AKX_Y@OMSS
_AKYAJYN
AKYDAH]N
AK_YGMZMZKKGB
AKY]OLBA
A[KYOX@ZQNL
AKYSDJKJ]Q
Akyyyyyyyyyy
aK[[[Z[[[.
AKZBHNB_K
AKZDDZYH
a)))K@]ZHMD@G
AK_ZNBNGBAX@QPONHY
A[KZP_PC
@AKZPQ[DK
a|||l||||
@@@@@@AL@
aL[[[0[[[ [[[
AL3AL)AL2ACD
'AL9HJJOOxyxvy
ALAAAAAAAAn((((((((((
aLaAaQaAa
ALACPF_QLGX_
aLaDaQaOaSa
aLaDaQaSa
aLaDaQaYa
@ALA@EAQA@AA
]ALAF@JB
AL_AHQCFZ
]ALAH@[Z
ALAJGQ_XNKY_
aLakaE1a
]AL]A[@O]Z]F[LFGE@GL
ALASAN_LNC]QAHF_YQZAOJ
aLaUaSaXa
aLaUaYaYa
aLaVaRaRa
ALAVdat7
aLaXaRaYaTaLaQa
A@LAXDPS_FA
aLaYaQaXaSaLaUaRaYa
aLaYaSaXaQaLaUa
ALBAYMHZK
ALBBA_ZFYHND
ALBBYZFDB
_[ALBN[SP
AL_@B@[P
A[LB__PDAG
ALBP_GAC
ALBYM[ZGX
ALCCEXHFE
A(Lc@|I;
A_LC_O_ON
aLd_[[[#[[[
A;LdA[[[L[[[G[[[
ALDDNZ_JZPJDQE
A_LDDOZC
]ALD@]E@JLGZL
]ALDF_@L
ALdH[[[2[[[
]ALDHN@JHEOF[][LZZ
]ALDH][@Q
a)))LDKLMMLMZ]N
a)))LDKLMZ[J
]ALDLHYY
)))]ALDLZ
a[LdM[[[|[[[
AlD'TgAgg*
]A[LDXMFYO
((]ALD][YE
|)))]AL[@DYF[]HG]O@ELZAH_LKLLGLGJ[PY]LM
ALdY[[[W[[[
)))A[LE@
ALE9.GSSWALI.FSSWALs
_ALEA[H][XED
@@@@@@@@@@@@@@ALEE
ALEEFDF]F
ALEEFFEMDHG@
aLEEFhGM[F@M
ALEEFHGM[F@M
aLEEFhJ]@_@]P
ALEEFKFP
aLEEHm[F@M
ALEEHM[F@M
ALEE@ILIQ
ALEEJFML
ALEEvNH]L
)))ALEFK]HDH@E
ALE@FZJFY@J
ALEg7egfG
a)))[LEH]@FGZA@YZ
]ALEHZ]YLFYELFGLH[]A
aLE@JFG@H
ALE@JFG@H
)))ALE_L]@JH
ALE_L]@JH
a)))LE@O
		  alert("Error!");
                     alert (L_UnknownScriptingLanguage_ErrorMessage);
ALESLXJMY
aLEXpROTECTOR
ALEYDHZZ
ALEYDLZZHNL
@]ALEYiBLO[FG
')))ALEY[LDF_@GN
aLEYL[hJ]@_@]P
ALEY[LN@Z][H]@FG
ALEYMLZB
	)))ALEYQ
AL[[EZLAD
ALFAXZHSJGZ
]ALF]]FDHGMFGL[
]ALGAFZ]GHDL
]ALGB@EEHEE
ALGCBXKEEA
A[L[G]@DP
]ALGDZNKFQGFGJL[]LGM@O
aLgeegfG"N
]ALGFKC[LN
]ALGFKCOZF
]ALGF_L[
ALGGHJHOL
]ALG@GL]NL]
]ALG@GZ]HEEM@[
]ALGJAH]][
]ALGJE@JB@M
]ALGJFG]LG]
]ALGJHEE
]ALGKF]B@EEL[
aLgKkgfGb
]ALGKZFM
]ALG]LDY
]ALGLEZL@GL][LHM
]ALGLGM@O
)))]ALGLGM@OM@D
]ALGLGM@OM@D
]ALGLJAF
]ALGLQ@]
]ALGM@DFKCK@GH[PZ][LHDZL]FKCK@GH[PZ][LHD
]ALGMEEJHEE
]ALGM[@_LGHDL
ALGM[MPHGK_OEAAKY]JDASK
]ALGO@ELJEFZL
]ALGO@ELJFYP
]ALGO@ELZL]H]][@K
]ALGOF[@
]ALGOF[H
]ALGOF[LHJA
]ALG@OGF]
ALGOG[HYSG
]ALG@OiFZH[JA
]ALGO@QvYH]AZ
AlgorithmIdentifier
]ALG@O@ZLDY]P
ALG[PBYH[]
]ALG]PYL
]ALGQA]]Y
AL]GQGPXY]LDNCZ
]ALGvO@EL[LGHDL
]ALGvvKZFM
]ALGY[FJ
]ALGY[FJLZZJEFZL
ALGYXEFA
]ALGZELLY
]ALG@Z[FF]
]ALH[B[LHEDY[FCLJ]
)))ALH[]DHML
ALHE]APM@L]
ALHE@GNM[FYZ
ALH[FCPJCQQP@DZ
ALH[@GNZH_L[
)))A@[LHGP]A@[M
]ALHJJLG]JAH@[Z
]ALHK@NH@EKEFFDJHBLJFDYHGP
ALH_LGZHKFML
ALHMEFGN
ALHME@GL
ALHMEHGMHE
]ALHMELHO
ALHMELZZZDZZLGMZL[_@JL
)))]A[LHM@G@]@H]LM
)))]A[LHM@GN
]A[LHM@GN
ALHM@GNYH@[Z
aLHML[)(
aLHML[))
	)))ALHML[
 )))ALHML[
)))ALHML[
ALHML[))
aLHML[oEHNZ))
)))[ALHML[r
ALHML[v[@NA][@NA]
ALHML[vOEHNZ
aLHML[vo[FDvdz
@)))ALHML[Z
[ALHML[Z
aLHML[ZhMM))
ALHML[ZiR
ALHML[Zr
ALHML[Z@SL
ALHML[ZvOF[vM@ZJF_L[
aLHML[ZvzYHDvyAY
]A[LHM@M
")))ALHMMH]H
]A[LHMvHEE
ALHMYAFGL@GM@JH]F[
ALHMYAFGLZ
]A[LHMYB@EE@GOF[DL[ECH_H
[]A[LHMZ
]A[LHMZ]HJBr@tr
:)))]A[LHMZZ]H]@Z]@JZ
A]LH]QGLO
aLHSPJ[FDL
]A[LH]vE@Z]
A_LHXMPLSGM_B]
ALHYHEEFJ
ALHYJ[LH]L
ALHYvHEE@NG
]ALHYYMFLZGF][LZYFGM
aLHYZY[HP))
;)))ALHYZY[HPELGKPLG
;)))ALHYZY[HPFKCHMM[
)))ALHYZY[HPJFML
aliases_scrubbed
alId[[[[
_aligned_free
_aligned_malloc
Alignment
ALIULOLAU
a())LJAFJ
)))A@]LJAJL[HD@JZ
A@]LJAJL[HD@JZ
ALJ@DLOC
]ALJFDYHGPHYY
 )))]ALJHEE
)))]ALJHGHM@HGH[HK
ALJMKOHMM
AL[J]NOP_QQ_DJ
ALJXBX[JC
a)))[LJ]Z
A@]LJZLJ
]ALJZZ@Z@G]ALZHDLM@[LJ]F[PHZ]ALZJ[@Y]
AL'[KACD
A[LKHQSMHKHC@Y[
AL[K@J@MHEEP
]ALKOE@Q
ALKQSLNC
ALKULIKJU
ALKXEDKYDZ
ALKYONBBKZQ
]ALKZ]HJB
allancestrysha1
ALLCAss)QSS
allchildrensha1
AL[LDAGKSQEMAQFC
ALLDCSHCJHDHQBB
A[LLD_]MM[HNXDX
ALLDMXPXGOXBYY
AllDone_CompleteTime
AL]L[FNLG@J
AL[@LFY@]AL[@LFY@]
a())L]L[GHE[FDHGJL
]ALLG]L[Y[@ZLAFEM@GNZ
ALL]G]ZM_[AQ]
]A[LLHD@GFZ
]AL[LJPJE@GNDHJA@GL
ALllllllllmllllOllylm
Allllllllmlll
 a;llllllllmllllOllylm
(allllllllmllllOllylm
:allllllllmllllOllylm
;allllllllmllllOllylm
a!llllllllmllllOllylm
a*llllllllmllllOllylm
a.'llllllllmllllOllylm
a?llllllllmllllOllylm
a_llllllllmllllOllylm
allllllllmllllOllylm
allllllllmllllOllylm	
allllllllmllllOllylm!
A"llllllllmllllOllylm
A(llllllllmllllOllylm
AllllllllmllllOllylm
AllllllllmllllOllylm:
AllllllllmllllOllylm;
AllllllllmllllOllylm@
a]llllllllmllllOllylm0
allllllllmllllOllylm1
AllllllllmllllOllylm2P
:allllllllmllllOllylm;9
allllllllmllllOllylm9
@allllllllmllllOllylmB
a llllllllmllllOllylmB
AllllllllmllllOllylmb
AllllllllmllllOllylmB
a*llllllllmllllOllylmC
a;llllllllmllllOllylmEc
AllllllllmllllOllylmf.
AllllllllmllllOllylmh
allllllllmllllOllylmI"
AllllllllmllllOllylm i
AllllllllmllllOllylmI
A llllllllmllllOllylmj
allllllllmllllOllylmk
AllllllllmllllOllylmkl
AllllllllmllllOllylml
'a;llllllllmllllOllylm*Lxn
allllllllmllllOllylmp
"allllllllmllllOllylmQ
allllllllmllllOllylmR
AllllllllmllllOllylmr
AllllllllmllllOllylmR
AllllllllmllllOllylmU
allllllllmllllOllylmv
AllllllllmllllOllylm.|v
AllllllllmllllOllylmw
allllllllmllllOllylm@z
AllllllllmllllOllylmz
AllllllllmllllOllylmz'
allllllllmlll]Y]]
?Allllllllmlll]Y]]
Allllllllmlll]Y]]
ALLLQFXPJOLZ
)))]AL[LMZYP
a)))L[LN@Z]L[
AllocateAndInitializeSid
AllocateMemory
Allocation failed
allocation limit met
alloc_prot
AllocVmLocal
AllocVmRemote
AllowedAmsiAppIdSampleSubmissions
AllowedC
AllowedE
allowedFailures
Allowing SigTrigger
AllowSetForegroundWindow
ALLOZHZPE]
ALLPNSCEN
ALL_PPLJ]ZKY_MM]
allsiblingsha1
allsignames
allsigseqs
allsigshas
	AllSpecRequirementsMet
all the overrides and the default are mergedWW;
)))]AL[LuQ
ALLUSERSPROFILE
all VALUES must have the same number of terms
ALLXQPXO
AL[L@ZDPZLJ[L]
)))]AL[L@ZGFZ]F[LMJ[LMLG]@
]AL[L@ZH
)))AL[L@ZHG@G_F@JLOF[DP[LJLG]DFGLP][HGZOL[
___ALMCB
A@LMK]AF
ALMOSTRO
_AL@MXNZGOOBZQNBEOH_C
#)))AL@NA]
)))AL@NA]
AL@NA]LM
ALND[BG[B[P
_ALNDPMSODK@G]PASJY
]ALNFFMYEHG
)))]ALN@F@KMZ
]ALN[HGMK[HGMZ
ALN_LC]QYPSHXKXDAPJZCX[DH
]ALNLG]ELDHGZ
[:alnum:]
alnumalphablankcntrldigitgraphlowerprintpunctspaceunicodeuppervwordxdigit
	)))A[LO
')))A[LO
.)))A[LO
aLocalNameWWW
ALODSS[F
ALOHCHQ_ZL
]AL@O[HDL
a[LOjE@JB
ALO]KNJK
A]L@]OX]]GA
-A@LOxx]Y]]
A_L]OZ[Q
@@@@@@A@Lp@
@@@@ALp@
@@@A@Lp@
@@A@lpaN
@@@@@@A@lpaSBH
ALPBLEL_
ALPCQZOSZO[C]O
@@@@A@@@lpDE
@@A@lpdL4
A@@@lpDR9
@A@@lpED
[:alpha:]
@@@@@@A@lphM
A@@@lpIF
@@A@Lp@JW
ALP[][LMNMK
a@@@@@@@@Lp@m
"@@@@@@@ALp@m
@@@A@Lp@m
@@@@@@A@Lp@M
@@A@lpMB!]
@@@@@@A@lpMF
A@@@lpMF
@@A@lpMM
@@A@Lp@n
@@@@@@A@Lp@N
@@@@@@A@Lp@nA
ALP]NBQCGBHM
@@@@@@A@Lp@P
[ALPQHNBEBKDAJZ
@@@@@@A@Lp@S
AL[PS_OOJLH
alpSPropValue1WWW
alpSPropValue2WWWd
alpSPropValueSrcWd
AlpszTitle
@@@A@Lp@t
@@@@@@@ALp@T:
@@@@@@A@Lp@U
@@A@lpuH
@@A@lpVL
@@A@lpWE
ALPXKSKDQCZGQDOY@YLHO
ALPY[CQ[
@@A@lpYREb
a@@@@@@@@Lp@z
ALQCYYSXMYX
aLQd@QLM
	)))ALQ]F@G]H[[HPMLJFMLDvMH]HDvBLP
)))ALQ]FZ][@GN
ALQ]FZ][@GN
aLQjFG_))
ALQk[LHBL[
aLQkP]LZ))
a)))LQLJ
ALQM@NLZ]
a)))LQYHGMLG_@[FGDLG]Z][@GNZ
aLQz][@GN
A)))LQ@Z]Z
already connected
already_connected
already finalized
	ALSAL1ASSAL
ALS_BDKPYDNMOZ_
ALS_CAB_JN
@ALSH]QGSGBXGBM
ALS_PNNH
ALSS[PSGLHCPOL]EHY]P
AlSSSS]:
alSSSSSSSS
alSSSSSSSSSSSS
Al@T@1@MCBC;C0C)C.C'C
alTBTciT
AlternateRealmName
AlternateShell
Alternation operators are not allowed inside a DEFINE block.
altertab_
ALTER TABLE AtomicCounters ADD COLUMN ScalarFactor INTEGER NULL; ALTER TABLE AtomicCounters ADD COLUMN LinearFactor INTEGER NULL; ALTER TABLE AtomicCounters ADD COLUMN DecayInterval INTEGER NULL; ALTER TABLE AtomicCounters ADD COLUMN HighCount INTEGER NULL; ALTER TABLE AtomicCounters ADD COLUMN LastDecayTime INTEGER NULL; 
ALTER TABLE AtomicCounters ADD COLUMN UpdateTime INTEGER NULL;
ALTER TABLE BmHipsRuleInfo ADD COLUMN State INTEGER NULL;
ALTER TABLE BmProcessInfo ADD COLUMN Flags INTEGER;
ALTER TABLE BmProcessInfo ADD COLUMN LsassReadMemId BLOB;
ALTER TABLE BmProcessInfo ADD COLUMN MonitoringFlags_Flags2Low INTEGER;ALTER TABLE BmProcessInfo ADD COLUMN MonitoringFlags_Flags2High INTEGER;
ALTER TABLE DynSigRevisions ADD COLUMN AGBlobRevision INTEGER NULL;
ALTER TABLE DynSigRevisions ADD COLUMN BFFileAllowRevision INTEGER NULL;ALTER TABLE DynSigRevisions ADD COLUMN BFFileBlockRevision INTEGER NULL;ALTER TABLE DynSigRevisions ADD COLUMN BFCertAllowRevision INTEGER NULL;ALTER TABLE DynSigRevisions ADD COLUMN BFCertBlockRevision INTEGER NULL;
ALTER TABLE DynSigRevisions ADD COLUMN BFRevision INTEGER NULL;
ALTER TABLE DynSigRevisions ADD COLUMN EntCertRevision INTEGER NULL;
ALTER TABLE DynSigRevisions ADD COLUMN TamperRevision INTEGER NULL;
AltSecurityIdentities
AlugWcgfG
ALULHMIU
AlureonA2G
?always_noconv@codecvt_base@std@@QEBA_NXZ
AlwaysPropogateCmdExitCode
Always serialize component manifest while importing components1
Al@W@B@:@0@#@
ALXDHCCOK
ALXd@[[[W[[[U[[[
ALX__]HA
ALXOOGDNSH@
ALXOSG[B
ALX]YPXYH
ALY[[AQNH_QZYQ
Al@Y@C@	@
]ALY[FKELDFOZALEEJFML
]ALYFMZPMGLP
]ALYH[BL[Y[FCLJ]
]ALYHPEFHM@ZHYYE@JH]@FG
A]L[YKG]
ALY_L_GBDGJC
ALY[QSKSBXOCZN
_AL[Y[_QY_SN
@AL@yxtx
...alyyM9yyrI
]ALY@]Z]FYCFAGZ]FGL
ALY]ZLGHXMF
ALYZ@Z@OH
a)))]LZ]
ALZ]AYCO@FLH]
A][LZD]Y
.)))ALZEF
ALZGLMHOBO
]AL[ZGPJ
A)))LZ]HBHMH
ALZHGNFHC
AL@ZLGKL[N@GM@H
)))]AL@ZM[
A[]LZPGJSP
A_LZSFGQ
ALZYKF[A
]AL[ZZAP
@@@@@@AM@
Am#1llllllllmllllOllylm
Am#1llllllllmlll]Y]]
Am@a@A@-@!@
!@@A@M@AAac
@@@@@@A@M@ACac
AMA[CAYXO
AMA@CZQ][
AMAE@G_F@JL
AM[A[HZLQKQZAS
aMaka_6a
aMaMaMaaa]Y]];kY
amAmAmAmA
amAmAmAmAmAmAmAmAmA
AMAM[EHYGS
:AM:am:PM:pm
)))AM_AOAMAM
aMaPaUaWaTaean")
AMASOC[S@_
AMat||	U
AM]A@ZqWPAAAA
AMB[CAAYYDXC
AM]BCSDBESL
AMBGEDZQJ_OJ
ambiguous column name
AMBJYEQHQMCN
AM][BMQL
AM_[BNN[
_aMbpgppepq
_AMB[sSSQS9
AMBSYGQ[
a||mb||Ub||1b||
AM[BYQAOH
AMCAMXC@Y
AMCAQ_JMQ
AMC_EDBY
AMCEHXHN
A?@MCFC?C#B
AMCFYY_X_K
AmC|||	i
A_MCJNHYJJA_AZQL]H_XJPBQHZZGAPBX]
AM_COBCODCX
Am@c@P@I@N@ @
AMCQYDMAO
AM]CSNSYNXA
amd64_image
AMDAZKGJSNCD
AM]DDKPJ[M@L]]ALE
]AM_DHDH_E
AM@_DJAF
AMDJ_XZDH
AMDLMXNAL_OMH
aMdL[[[q[[[;[[[n
AM_dM[[[
AMDMA[GXC
AMDNOAAN
AMDQAL]YBSP
]AMDQEBHJZXMYL
AMDZ@HBDFQ@F
AME]EBM[]
A)))MEEJFML
AMEJ@PDZOMLKG]
a memory read from
a memory write to
aMessageClassWWW
AMFPB[ZL@Q
AMFZ_HCG
AMFZNXN_
AM;g(gAgg
A!)mggfw;
A!mggfw#
[a)mggfwEHbk
"A)mggfwK
A()mggfwp
A)mggfwu
A)mggfwWY
amgggws(uh
AmggwhgfG
AmggWhgfG
A[@[MGJLKS
AM_G_JZ]D
AMGOLJMLN_YYB
AMGPB]GH@_
amgqggeL
AM@GYKFM
]AM_HDGSP
AMHMHDXJ
AMHO@JNDGQB]@
aMinorWWW
AMJCHNGX
_AMJG@KAO
AMJGYKOJPA
AM@JNJHN
[A]M[J@O
AM[J[XHZ
AMKAS_QS
[AM]KBMNDAQZK@
AMKGGHNS
A[MKJCSD
AMKLNXBKN
[AMKOEXLOQS
AMKZ[_HKSXF[L
AML]ABF_]CGCS
Am@[@L@B@1@)@
AMLBNF_ZO
A@MLDFMHE
A@MLDPHZZ
A]MLE]PCES
a@MLhJ]@_@]P
AMllllllllmllllOllylm
AMLNGM_H
;)))A@MLO@ELLQ]
A@MLO@ELLQ]
AMLOLGML[
A[MLOSLLQA
A@MLSFFDKH[
)))A@MLvDL
AMLYG[ALQ
AMLYJ_GNELFNSX_XPQG
@A@MLZ][
AMLZ@ADJ
AMMC[KLX[CJB[YDO
AMMCLSMYEN
A@M@MEL]@DL
AMMGAServerStubWWd
AMM@HAXOKY_
)))AM_@MJFMLJv
AM_@MLFYEHPL[
a@MMLG))
	)))A@MMLG
!)))A@MMLG
)))A@MMLG
A@MMLG))
])))A@MMLGGHDL
A@MMLGGHDL
a@MMLGlGJFMLM))
A@MMLG[LNBLPZ
a@MMLGoFEML[))
A@MMLGuQ
A@MMLGvML
a@MMLGyHPEFHM
a@MMLGzALL]))
)))A@MMLGZL[_@JLM@[
)))A@MMLGZL[_@JLYF[]
A@MMLGZL[_@JLZ
-aM[[[M[[[n[[[
[AMMODKZ
ammSSSSSSSS
@@A@; MN
A]M@NAA]O@B_
AMNDP@_HKJN]N
AMNF[PXGEH
AMNFZDGH
AMNMJGAN
AMN_PJDE
AMNQMNDB
AMODEO[ZXECK
AMOGASNAXC@HZPBJX
AM@]OHG[
A@MO[LEZL
AMO]L[[M
AMOPQDNLYKKAQS
[AMO[XHA
AMOZYMYN
AMPAH_QXB
AMP_BMG_B[@EN
-@@A@mpDB
@@@@@@A@mpEB
AMPEBXC_
AMPEKL]D
ampersand
A@M]PEZJANYK
 @@@@@@A@mpFD
@@@@A@@@mpGB!]
-Ampgppepq
AMPGQPGB
@@@@@@A@mpHHa!A.
@@A@mpKO
AMPLMHQD_KS
AMPL_OPOX
@@@A@mpMM
@AM_PMZQ
@@@@@@A@mpNH
@@@A@mpNH
AMPNN@GXXB
@@@A@mpOL
@@@@@@A@mpQJ
@@A@mpRSa?z
@@@@@@AM[pXWK
A[__MPYHD
@@A@mpZK
AMQBZHML@
AMQCLD]GF
AMQ]C_X]LZ
AMQXDGNN_
_amsg_exit
amsiappid
amsicontentname
amsicontentname_scrubbed
AmsiFileCache
AmsiProcessList
amsiredirectchain
amsiresultcache
amsisessioncache
amsisessionid
AMSI UAC
amsiuacidentifier
AmsiUacInfo
AMSI_UAC_MSI_ACTION_INSTALL
AMSI_UAC_MSI_ACTION_MAINTENANCE
AMSI_UAC_MSI_ACTION_UNINSTALL
AMSI_UAC_MSI_ACTION_UPDATE
AMSI_UAC_REQUEST_TYPE_AX
AMSI_UAC_REQUEST_TYPE_COM
AMSI_UAC_REQUEST_TYPE_EXE
AMSI_UAC_REQUEST_TYPE_MSI
AMSI_UAC_REQUEST_TYPE_PACKAGED_APP
AMSI_UAC_TRUST_STATE_BLOCKED
AMSI_UAC_TRUST_STATE_TRUSTED
AMSI_UAC_TRUST_STATE_UNTRUSTED
AM	)SKb0
AMS PFAC internal failure
AM_SQKAZCZGLQ
amSSSSj1
amSSSSSSSS
amSSSSSSSSSSSS
amSSSSSSSSSSSSSSSSSSSS
Am@[@T@9@
AMUHLA@MAOMA
amunpacker
]A@[MvYH[]P
AMXALGBAXBMKG
AMXBXEFQPBNYNG
AMXJAGKQG
AMXJBXKH
A[MXJQ@KL
A]M[XLKD
AM@XOG[]
AMYCP[FG[BFJCDZBJJCJKX_
AMYgAggf
")))]A@[MYH[]
AMYH_]CDPPZ@
][AMYHZY
AMY@JBHZP
@AMYKD[_MP
AMYLFX_CBMBGJ
AMY_QCQDPGPJPBG
AMYSJZJAXYBAPMQHAMY_MSXXA_MABOAH
AMYS_ZBE]
AM_YY]A][
AMYYBXSKXB[
A[M@YZNH
AM_ZAELBAD]SKY[Z
AMZ[BQLXN
AMZGKJHLA[G]PCAGP
A_MZHZXG]
AMZ][LHD@GN
_AMZMJAYEYGA
AMZNCDOG
AMZ[_ONPGB
A]MZSSOE
@@@@@@AN@
An_4llllllllmllllOllylmj
'AN9I:JKKxyxvyVx0x	x
aNa1a2a7a
aNa2a(a(a#a"aNa
ANA2AJB0D
aNaaaaXca
aNa)aPaSaOa
aNaauauabaakak
aNacaq4a
aNadaC8a
aNaDaLaPaUa2aaaa
A@NAEF[M
A@NAGD@NA]P]_
aNaka7#a
An@AKA@EAAA@AA
aNakas5a
A@NAK@GML[
aNALYSIS
aNALYSIS 
ANALYSIS
?AnalyzePath@PATH@@QEAA?AW4PATH_ANALYZE_CODE@@PEAVWSTRING@@PEAV1@0@Z
A@NALZ]H_H@EHKEL
)))ANAMN
aNaNaNaYa3a#a2a
[aNaNaPaYaOaPaYaRaOaSaSaVaOaXaUaNa
[aNaNaRaOaPaPaQaOaSaPaWaOaWaUaNa
[aNaNaRaOaWaVaOaPaRaSaOaPaVaQaNa
ANAOCBEBCEB
ANAOJ@J@N@
ANAOSGECN
aNaPaPaOaQaOaWaYaWaOaRaAa2a
aNaSaPaQaXaNa
aNaSaQaYa a
aNaTaOaQaAaIa
aNaTaOaQaAaIa6a
a NATURAL join may not have an ON or USING clause
aNaUaOaQaAaIa
aNaVaXaOaQaOaRaXaUaTaOaVaXaAa2a
aNaXaVaUaUaPaXaXaVaSaVaVaYaTaSaQaWaTaXaNaXaVaWaSaTaTaUaXaQaPaSaSaPaXaUaXaWaUaNa#a
ANAXHZE_CBMBD
')))A@NAY[@F[@]P
[ANAYLEKE
ANBAHNXLA
AN_BCMEAB
ANBMNBBDOGA
A@NB]PYDC
A]NCCCNHS]M
ANCJQXNGO
A]NCNQQ]CSH_
ANCN@XZY@
A]NCOKPON
_ANCSHMZP
ANDBSDSQ
ANdE[[[![[[
[ANDFN_Y
]ANDGBJL
AND_H[OKLNAB
[[[(ANdK[[[
ANdK[[[g[[[
A_[NDLDS
_ANDMES_
_]AND[MLHSP
AND_QBPCCCD]XL
ANDQ@LNZQGKQ
An@_@E@2@
ANEAOALQL
ANE]L[HP
An empty directory that need to be created during installation.WWW?
An error occurred during assignment
A@N_E]XNLOBFZHSOZ
ANEYJOHQ_LGK
AnFdY[[[
ANF]OJMBGHHPOM
aNG7@ggw
]AN]G]AXP[]B
ANGFSKSO
_ANGHAAL
ANgiggfw?
AN[_G_MHDHGZLDONLY_H
ANGNCMDZJCG
ANGOAHONK
ANGOCMQKSEC
aNg_ogfG
aNg_ogfG'
ANG_PMG[BP
ANgqggL7
 ANgSdgfG
AN(GSSW@BBB
a)))NG@[]Z
[ANHCDBK
AN[HCOZXFMF
AN_[HPAPBDH
ANHQAAJNC
ANHQ]MJC
aNI@BUWUNIS	f
An internal error has occurred
An invalid combination of regular expression syntax flags was used.
An invalid or unterminated recursive sub-expression.
@A[NJDQCKYAPAGL
a)))N@]JEFGLA]]YZ
ANJGBMYXX
ANJHCANY_SQDS
ANJHOCMDZBLK
A]NJJCG]L
ANJPDAC[CDHCH_DYK
_[ANJQGPSLEND
ANJYHBQ_YCG
@AN]KFDXPH
ANKILKINL
ANKY@DPGNC
@@@@@@A@; NL
ANL]]EHXHX
a)))NL]FKCLJ]
@ANLGKY[F
ANLJEOMKMFF
ANLL[AHD__N
 ANllllllllmllllOllylm
AnllllllllmllllOllylmm
[ANL__PL
a)))NL]Z][@GN
ANMANyxXy x
ANMCQX]MFSZDOJ
ANMH@FONS_GESSP
ANM[OQQBB
A__[NMSES[QXHCC
[ANNBESP_DCDF]
AN_N_CJ_P_P
[_@@ANNJZ
ANNMKZCAY
ANNYXQGP
ANNZSX]OPZ[]QASYPP
ANOCAGEN[
_ANODNKQQ
AnomalyDetection
AnomalyEventLookup
AnomalyEventLookup(): precision can't be 0
AnomalyEventUpdate
AnomalyEventUpdate(): precision can't be 0
AnomalyInfo
Anomaly info not present.
AnomalyTable
AnomalyTableLookup
AnomalyTableRow
AnomalyTables
AnomalyTablesToDelete
ANONDXES
ANONHOHZQ[YONJZ
ANONOSLG
_ANOOM_N]_Y
[ANOS[_HPCCFSDQ
A[NOSL[JZ[]BSX
another row available
AnoxdgfGy
AN_OZZF_
@@@@@@A@Np
)@@A@NpAL0
@@@@@@@ANp@@@@@@@@@@@@@AXpDs
A]NPBQMPZ
|@@@@@@A@NpBR
@@@@@@A@np@C
@@@@@@A@Np]C
@@@@@@A@Np@D
@@A@NpDG
(@@@@@@@ANp@E
@@@@@@A@NpeL
@@A@NpEP
@@@@@@A@Np]F
@@@@@@A@NpFEy
@@@@@@A@NpFF
@@@@@@A@NpGC
aNpgppept
@@@@@@A@Np_GQX
@@@@@@A@Np_H!
@@@@@@A@NpHGw
@@@A@np@I
@@@@@@A@NpiK
@@@@@@A@Np]K
@@@@@@A@NpKK
ANPKXKOOAZ
@@@@@@A@NpLB
]A@NPLDCJDYZ
@@@@@@A@NpLE
@@@@@@A@NpLFo
@@@@@@A@NpLI
@@A@NpLI
@@@@@@A@NpLM
@@@@@@A@NpLN
A]NP]LQQ
@@A@NpMD
@@A@NpML
@@@@@@A@np@n
@@A@NpNK
@@@@@@A@NpNMB4I
@@@@@@@ANp@P
ANP_PPJODK@S
@@A@NpRB
@@@@@@A@NpSG
ANPSO@GC@LC
@@@@@@A@NpUD
@@@@@@A@NpUO
@@@@@@A@NpVG
@@@@@@A@NpVJ
@@@@@@A@NpwH
@@@@@@A@NpYNp
@@@@A@@@NpZH
AN[PZNYMPCJ
ANQAYO]SGXYDY
A[NQBLCYPB@]HJSHM]
ANQ_C[SM
ANQ]@DXEZKPO@
A_NQEMSZH_KJP
ANQEQL]Z
[[ANQGBQ]CCY]YGG[YP
ANQJB[B[
_A[NQKMLYH
ANQLBCNYQZYHG_
ANQLLGLJM]
A@]@NQNBBYD
AN_QPCKJ
ANQXO_XFKX
A]NS@[BLYBOCOK
ANSKD[EYDZ
ANSMKBDYBDMD]A
AN_SQLH[M[G
ANSQM@GQLOZ
A[@N]SS[[P
ANSXPZXQ@S
AntiRootkit
AntiRootkit::PlatformInputWin64Ksl::CheckPageFileVolumeAccess
AntiSpywareDisabled
AntiVirusDisabled
@@@@@@A@; NTo4
ANUAKJAU@
ANwCOKDwZ
ANXCNACQP
AN_XDD][
AN[XDYXN
ANXGEHPYQ
]ANXHGBPGGZYGMED
A]NXJ]FB[[[AHGK
ANXMPOZMCJQLQ
ANXOABHSKNZ
A@N[XQC]OK
ANXQXX]Q
ANXQYB]OM]Z@F
ANXS_GA_
ANXSPF]Q
An@YBWL]
ANYCNSG]BPHCC@
ANYG_LLDSD
]ANYMJNYM
AN_YSSG]P[GP
ANZBK_CHZO@BM_F
ANZEOM]S
a@NZGF[L
ANZL@AHG
A_N@ZOKP
ANZOSDAG[
@ANZOZLMNOZZM
[A@NZSMSPKBLOC
ao2a7a"a)a.a2a5a
'AO9OKNKKxyxty
aOaAa2a	a
aOaAa5a	a
aOaAaaaa
aOaAa aAa
aOaaaa#eakakaka@B)253[5
aOaaagqgg
aOaaagqgg1
aOaaagqggWf
aOaAaIa-a
AOAAJO_AG
aOa	akao
aOa aOa	a
@AOA@BAACaA
AO_ABNE]
aOaca1Na
aOacaM'a
aOaca]Oa
@AOACEAAA@AA
aOada71a
aOaDaQaSa
aOaDaQaUa
aOaDaQaYa
AOA]DONOGH
aoai[gAgg
aOaka_"a7a
AOAOANONAONANO
aOaOaOaaaa
aOaOaOaGa
aOaOaOaOaAa a
aOaOaOaOacau"a
AOAOAOAOAOAOAOA[AD
aOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOaOa[aAa#a
AOAOH[_K]
aOaSaQaQaXa
aOaSaRaUaTaOa
_AOASDAYMHLMGH
aOaXaSaaa]Y]]
AOB_AQSQ_XNHE
AOB[A@ZPDO
AO]B[[CPXN
_AO]BCYSOBKKDSPJ
AOB]DJMJNQL
AOBGgeagfG
AOBMQ[ZOKO
]_AOBXDYSKO
AO[BXLSP
AOBYGSJGBGD]
AOB]ZBP[
]AOCCE[PBYY
AOCDGSYC
_AOCFMKJJFGO
AO[CF_PXS
AO@C@G@;@?@
AOCJBH_@GFX_JDN[K
AOCLQHHOCSPJYPFXXJH]Y
_]AOCQ_P
AO]CYHCQLJ[
!AOdI[[[
AOdI[[[J[[[G[[[
AODKGJHXZ
A_ODNSMXPD[CG
AODPHXA[E
AODYOCBY
a)))OEHZ]L[
AO@ELFGJL
A_OENZPPM
AOE@PBLS
a)))OF[DHJ]@FG
A)))OF[K@GH[P@G
AOGAAOLJ
AOG]DC]XYAXC
!AogfGaC
AOGF]JPYOONSQ[SJJ]]
AO[GG[MO
A]O_GG@M_@ZK]
..a[Ogxez
A]OGZEDPH[FNC
A)))@O[HDL
a)))OHJLQ][HML
AO]HPBQYA
A!ohRllllllllmllllOllylmr
AOHSHFJH
A_O_JANG
AOJBCB[HM
A]]OJDE[
AOJEZJDC
AOJJKJIHOHL
AOJP]XDNLD
A_OJSXQ[
aoK2cCCNCCCBACC
[[[AOKdS[[[
AOKHOZDDX
AOK_KMSHBZPHDHPLDFKOX]K
AO_KNGZLBGY
AOKYPGXZY
AOKZDA]Z
'AOL;9NLIxyxvy
A]O[]LBPMZKPOCOH
AOLHJNY]
aOllllllllmllllOllylm
AOllllllllmllllOllylmM
AOMCAMOZACMOZAMOAMZAOMZAOAOAZAOBOABOAZOABOZABOABOAOOAMZOZAMOAZMOOAZZOAM
A]OMCGKXH
]AOMHABGD
AO[M[J_J]
]AO[MJXH]JQCBPM
AOMLMLKHGS_LYSNYCXCBYGZL[O
AOMLNKFYKYH
AOM@__NDF_CAABPH
[A]OM[OCSK_S
AOMPBSBLSDZ
AOMQPZNDBM
AOM_YLCMDD
AONAOCAG
AONJOMZOQ
AON@MHFFDJFMQL
AONQCFQC
AONSACEXBMBOG@
AONYGLDPHK
A[OOBN_MBXPFGK
AOOFXOSQMLZCAD[
_A[[OOHA
AOOLXNS[]
AOOOSYBZNM[O
AOOQJO_X
)))AO]]OYOZ
@@@@@@@AOp@@@@@@@@@@@
@@@@@@A@Op@@@@@@@@@@B@A@Hp@J
@A@@op@DZ
aOpgppepq
aopgppepqi
@@@@@@@Aop@Gu
AOPHECYYM]KHX
A@OPLY_L
AOPN@CZ_
]AO[POGE
AOPPDAEZ]Q
AOPP@]LA
AOPSOZS]
[_AO_PYDJ
AOPZGQNHPPM
]AOQGME@
AOQOAKBQ
AOQSL[YACGZH_D
_AOQ_XNX
AOQZLYGML
AOSABXOOON
A[OSAPQZQG
A_O_SBXC
AOSHES]_[J_]XO[C_
AOSJGJQOHC__ZZQL@JY[BJPB]
AOSKAGHP
[AOSMHXCL
AOSMOPMGH
AOSNANQ@M
]_AOSO[MJ
AOSQFQXCXO
_AOSSCHACH]SD
aoSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
AOSYXCJ_C
a:oTbgfG
AOU@AKNUJJAL
AOULAMLOMI
aoWApgppepqo
[AOXGXE[ZQG
AOXJPZYACJ
AOXPLAXBAM
A@O@X]QLHAOOPB
Ao@X@U@;@)@#@	@
AOXYLZBZO
AOXYOQYQE_BOXSC
AO]YCBJQJY
AOYLJCHGA
]_AOYMCAX
a)))[OYM]L
AOYO]DEQ_MQBO
AOY__PCDJ
[AOY[PNYGO
AOYQ][YGN
AOYX_OZ]
AOZHACDM
AOZHGKAXK
aO[[[Z[[[O[[[
AOZOBAKMHX
A]OZSE[SH[]G_YS
@@@@@@@@ap@
@@@@@@@@ap@[
@@@@@@@@ap@_'
@@@@ap@[
@@@@@@A@[p
Ap|||||||
aP[[[2[[[1[[[
AP4gqgg4
AP5Tpgppepqq
@@@@@@@@ap@A
aPa#a'a0a
aPa)a'aWa
ap@AA@@lpdh
aPa-aPaVaUaaa]Y]]
aPaeaA"a
@_A@P@AEac
APAFXDBYAJQCM
Ap@AHA@EAAA@AA
AP@AIA@BAAAAAYqPE
aPaMaLaSaQa
aPaPaNaNa[a
aPaPaPaPaPaLaSaSaSaSaSaLaPaQaQaQaPaLaQaQaQaQaPa
aPaPaPaPaPaLaSaSaSaSaSaLaPaQaQaQaPaLaQaQaQaQaSa
aPaPaPaPaPaLaSaSaSaSaSaLaRaQaQaQaPaLaQaQaQaQaPa
aPaPaPaPaPaLaSaSaSaSaSaLaRaQaQaQaPaLaQaQaQaQaSa
aPaPaPaPaPaLaSaSaSaSaSaLaTaQaQaQaPaLaQaQaQaQaPa
aPaPaPaPaPaLaSaSaSaSaSaLaTaQaQaQaPaLaQaQaQaQaSa
aPaPaPaPaPaLaSaSaSaSaSaLaUaQaQaQaPaLaQaQaQaQaPa
aPaPaPaPaPaLaSaSaSaSaSaLaUaQaQaQaPaLaQaQaQaQaSa
APA@PDHK
aPaRaVaLaQaQaQaQa
aPaTaRaRa!a
aPaUaPaWa
aPaUaSaPaUaSaPaSaUaRaSa5aUaRaSaUaRaSaUaRaSa
aPaWaLaXa
aPaWaQaTaXa
aPaWaSaVa
aPaXaPaaaa
APAXDCGAJP
aPaYaVaNa
aPaYaVaNa5a
@@@@@@@@ap@b
APB@BEO[A
@@@@@@A@?pBG
APBG[OAD]_
APBKCMHG_G@Q
]APB_LCKDML
@A@@|p@Bw
APBWB_BJsS
APBZKCJK]_Q
APCBCSKNQNXPCYMF@[CN
A[PC[BQ[D
@@@@@@A@?pCG
@@A@?pCGUB
@APC_K_D_DBGE
APCKQOHSC
Ap@c@M@(@
[A[_PCMYA
APCNDCGG
AP[CNNQJM@YHCQPK
APCQJ[NA
APC_XYXPN
@@@@@@@@ap@D
@@@@@A@@_p@D
@A@@)pD5
@AP@@DAAAaAi!JU
@@@@@A@@(p@DCt
APDGPMCO][PHODHCA
a.PdJ[[[#
APD@K[DQ
@@@@A@@@[pDL
A@@@[pDL
APDN_CLAQ
APdN[[[P[[[J[[[
]A[PD[[ONPSGFB
APD]PL[P
@@@@@@A@_p@E
Ap@e@8@1@#@
@A@P_EADSNMEZKOY
APECHPPG_]PG[Q]HG]NO
A[_PECL[YMGJH
a'pegfG?
APE_]HFO
APEHZSONBJSGSCC
AP]EJBLKSN
APESONYQL_
@@@@ap@f
@@@@@@A@)pFA
@@A@)pFA
APF]CQ]J
APFEZLGS
APFHYQZPOQDNO
APFJZBGXSB
_APF]KQN
Ap@f@L@2@
APFLPLLY
@@@@@@@@ap@fN
@APFPNZQB
@@@@@@@@ap@g
APg7ggfG.
aPgAggGlp[u
*@@A@;pGB
Apgg5kgfG
A@PggigfG
APgGmgfG)
Apgiggfw5C
@@A@;pGJy
apg[kgfG
AP@GMPGBK
APGPDQQ_JOO[C
 apgppepq
"apgppepq
_apgppepq
a#pgppepq
a(pgppepq
a.pgppepq
apgppepq
apgppepq"
apgppepq"	
apgppepq)
	Apgppepq
#Apgppepq
)Apgppepq
?Apgppepq
A(pgppepq
A.pgppepq
A[pgppepq'
Apgppepq
Apgppepq;
Apgppepq@
Apgppepq|
Apgppepq|:
apgppepq1
Apgppepq1
apgppepq6
Apgppepq6
apgppepq9
_apgppepqB
!apgppepqcc
Apgppepqd
ApgppepqD
apgppepqE
apgppepqF
A;pgppepqHD)2
apgppepqJ
A pgppepqK
ApgppepqK
Apgppepqk.qN
ApgppepqL
 apgppepqLV9
apgppepqM
a!pgppepqP"
Apgppepq_QZ?
apgppepqU
apgppepqV
Apgppepqv
Apgppepqv25z
apgppepqw-
ApgppepqW
apgppepqwu
apgppepqy
apgppepqY
ApgppepqYg5)B9
apgppept :
aPgqggR;QU
aPg_wggG
?@@@@@@@@ap@h
@@@@@@@@ap@H
APH9AHt8L
ApH9Axs 
ApH9AxsFH
ApH9Axs(H
ApH9Axs*H
ApH9Axs.H
ApH9AxsIL
ApH9AxslH
ApH9AxsNI
ApH9AxsPH
ApH9AxsRH
ApH9AxsuH
ApH9AxsxI
ApH9AxszA
ApH9AxszI
@@@@@@@@ap@Ha
APH[B]JHJAY]
@@A@*pHH
AP_HLCJY
APHO]KD@NLC_
AP@HSKPB]OX
APHZ_SYMKZAMQESZYZ
API called with finalized prepared statement
API called with NULL prepared statement
ApiCount
apihelper.cpp
apihelper.h
API is not implemented
apilIMIT 	  
apilIMIT 	  .
ApiLoggerStatus
api-ms-win-appmodel-runtime-l1-1-0.dll
api-ms-win-appmodel-runtime-l1-1-2.dll
api-ms-win-base-util-l1-1-0.dll
api-ms-win-core-apiquery-l1-1-0.dll
api-ms-win-core-com-l1-1-0.dll
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l2-1-0.dll
api-ms-win-core-crt-l1-1-0.dll
api-ms-win-core-crt-l2-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-datetime-l1-1-1.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-delayload-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-2.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l1-2-2.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-file-l2-1-2.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-heap-l2-1-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-1.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-libraryloader-l1-2-0.dll
api-ms-win-core-libraryloader-l1-2-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-localization-obsolete-l1-2-0.dll
API-MS-Win-Core-LocalRegistry-L1-1-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-memory-l1-1-3.dll
api-ms-win-core-path-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-processthreads-l1-1-2.dll
api-ms-win-core-processthreads-l1-1-3.dll
api-ms-win-core-processtopology-obsolete-l1-1-0.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-psapi-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
api-ms-win-core-registry-l1-1-1.dll
api-ms-win-core-registry-l2-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-1.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-string-l2-1-0.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-synch-l1-2-1.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-sysinfo-l1-2-1.dll
api-ms-win-core-threadpool-l1-2-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-url-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-versionansi-l1-1-0.dll
api-ms-win-core-versionansi-l1-1-1.dll
api-ms-win-core-version-l1-1-0.dll
api-ms-win-core-version-l1-1-1.dll
api-ms-win-core-windowserrorreporting-l1-1-0.dll
api-ms-win-core-windowserrorreporting-l1-1-3.dll
api-ms-win-core-winrt-error-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-1.dll
api-ms-win-core-winrt-l1-1-0.dll
api-ms-win-core-winrt-string-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-devices-config-l1-1-1.dll
api-ms-win-devices-query-l1-1-0.dll
api-ms-win-downlevel-shell32-l1-1-0.dll
api-ms-win-downlevel-shlwapi-l1-1-0.dll
api-ms-win-eventing-classicprovider-l1-1-0.dll
api-ms-win-eventing-controller-l1-1-0.dll
api-ms-win-eventing-legacy-l1-1-0.dll
api-ms-win-eventing-obsolete-l1-1-0.dll
api-ms-win-eventing-provider-l1-1-0.dll
api-ms-win-ntuser-sysparams-l1-1-0.dll
api-ms-win-ole32-ie-l1-1-0.dll
api-ms-win-oobe-notification-l1-1-0.dll
api-ms-win-power-base-l1-1-0.dll
api-ms-win-power-setting-l1-1-0.dll
api-ms-win-rtcore-ntuser-synch-l1-1-0.dll
api-ms-win-rtcore-ntuser-window-l1-1-0.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-lsalookup-l2-1-0.dll
api-ms-win-security-provider-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-security-trustee-l1-1-0.dll
api-ms-win-security-trustee-l1-1-1.dll
api-ms-win-service-core-l1-1-0.dll
api-ms-win-service-private-l1-1-0.dll
api-ms-win-service-winsvc-l1-1-0.dll
api-ms-win-shcore-obsolete-l1-1-0.dll
api-ms-win-shcore-path-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-1.dll
api-ms-win-shcore-scaling-l1-1-2.dll
api-ms-win-shcore-stream-l1-1-0.dll
api-ms-win-shcore-stream-winrt-l1-1-0.dll
api-ms-win-shcore-taskpool-l1-1-0.dll
api-ms-win-shell-shdirectory-l1-1-0.dll
api-ms-win-stateseparation-helpers-l1-1-0.dll
API not implemented
ApInputSourceW(
@A@@_p@Io
apiresults
ApiSetQueryApiSetPresence
)@@A@(p@J
@@@@@@@A_p@J
@@@@@@A@_p@J
@@@A@_p@J
@@@A@.pJA
APJEECXE]
]A_PJEJE[]ZK
APJPGJCOSNKJYDS[J_N
APJSEMLLH]
[APJSOOAENKCC]S
APJYONCN[L
APKFKL[[KHBZYC[@
-A@@@@@@@@_p@KH
@@@A@[pKL
A[PKMGPSKO
A_PK]QKS
@@@@@@A@[p@L
@@@@@@@@ap@L0
APLBJOBY
AP_LGOSJP
[APL]GXX
@@@@A@@@[pLL
A@@@[pLL
A]PLLNJPQJMK
AP_LNKD@
@@AP@Lp@S
@@@@@@@@ap@M
APMESJ]]ZPG@M
APM[HELHMZ
APMHKAB@K
@@@@ap@MIQp
APM[MGX_
APM[PC_NN
]APMPZ@QOQ
APMYHOCS@
@@@@ap@N
@@@@@@A@_p@N 
@@@@@@A@.pNA
@@A@.pNA
.@@@@@@@@ap@Ne
APN@JNPZZLS
APNLEHYEY
AP_NNPvEFHM@GN
Ap@n@V@5@
(@@@@ap@O
@@@A@.pOA
APOBFMSJ
!@@@@A@@@[pOL
APO]OZ]E
AP_OPNOQAYYZ[AHXLJXQMOS[
APOSORA"
apostrophe
@@@@@@A@pp@
@@@@@A@@pp@C
@@@@@@A@Pp@c
@@@@@A@@Pp_C5
appCodeName
appcompatshim
@@A@Pp@ct
@A@@@PpD]
A@@@PpDa
appdata_timestamp.cpp
appdata_timestamp.h
appdatatimestamptests.cpp
@@@@@A@@Pp[DZ
appendChild
AppendFormat
AppendMenuW
AppendPersistContext
AppendPersistContextNoPath
AppendPersistContext: UtilWideCharFromUtf8 failed
AppendText
Append to existing value.W
AppErrorCheck
AppEventsDHTMLConnectorW 
_AppEvents InterfaceWW!
AppEvents InterfaceWWW
_AppEventsWW
appfilemgr.cpp
@@@@@@A@)pPg
APPGK[JBAQ
@@@@@@A@Pp@h
apphandle.cpp
ApphelpCheckShellObject
apphelp.dll
@@A@PpHM
appidmgr.cpp
appidmgr.h
appidstorage.cpp
appid_utils.cpp
appid_utils.h
appid_utils_test.cpp
Appinitdll
AppInitDll
@A@@PpJDL
@@@@@A@@PpKDm@
@A@@PpKDm@
AppLaunched
applaunchreportdata.h
Apple_APFS 
Apple Certification Authority1
 (Apple_Free :
Apple_HFS 
Apple Root CA0
AppleScript
application
Application
applicationbuilder.cpp
applicationbuildertests.cpp
application.cpp
applicationfiledlg.cpp
applicationfiledlg.h
application.h
application_id
ApplicationId
applicationinfo.cpp
applicationinfo.h
applicationinformationwrapper.h
applicationinformationwrappertests.cpp
applicationinfostore.cpp
applicationinfostore.h
applicationinfostoretests.cpp
_Application Interface
applicationlistdetector.cpp
applicationlistdetector.h
applicationlistdetectorut.cpp
applicationlistenumerator.cpp
applicationlistenumerator.h
applicationlistenumerator.stub.cpp
applicationlistview.cpp
applicationmanager.cpp
applicationmanager.h
application_manager_singleton.h
ApplicationName
applicationpage.cpp
applicationPool
applicationprotocol
ApplicationSettingsBase
applicationsExportedEvent
Application Source Media
*ApplicationW 
Applies the redirections from unattend file to configurationWW:
Applies this unattend file to a configurationW)
ApplyDeferredActions
ApplyDeltaW
ApplyFsSddl
applypatch.cpp
applypatch.h
ApplyPatchToFileByHandles
ApplyPermissionsOnFolder
ApplyResources
ApplySuccess
APPMHYZLL[_HYJ@J
appMinorVersion
Appmodel
AppModelDeveloper
appmodelmoniker
@@A@PpNg
apppath_packager.cpp
apppath_packager.h
apppath_packager_subsystem.cpp
apppathpackagerwriter.cpp
apppath_registrator.cpp
apppath_registrator.h
AppPolicyGetMediaFoundationCodecLoading
AppPolicyGetProcessTerminationMethod
AppPolicyGetShowDeveloperDiagnostic
AppPolicyGetThreadInitializationType
AppPolicyGetWindowingModel
apppropertydlg.cpp
@@A@PpQM
approved
Appsecdll
apptask.cpp
apptask.h
apptest.cpp
appvclientcomconsumertest.cpp
appvclientconfigurationimpl.cpp
appvclientconfigurationimpl.h
appvclientconfigurationimpltest.cpp
appvclient.cpp
appvclient.h
appvclientmock.h
appverr.h
appversion
appVersion
AppVersion
appvirtserverprovider.cpp
appvstreamingengine.cpp
appvstreamingengine.h
(.@@@@@A@@PpWI
@@A@Pp@X
AppXAllUserStore.dll
A_[PPXC@Y
AppXDeploymentClient.dll
appxindextest.cpp
@A@@PpxL
APPX]L_[
@@A@Ppxn1u
appx_shortcut_manifest.cpp
appx_shortcut_manifest.h
@@@@@@A@Ppxx;L
@@@@@A@@PpyM
A[PPZEEC
AP_]QAXL
APQDSB_GXXSKJD
]APQFK[Y
APQGD]MS
APQLK[Q]XCDALMXSLJYPHXO@
A@PQNJJN
@@@@@ap@R
aProblemX
APSDKJ_FN
APSH]HXKHX@]
Ap@[@S@K@C@
@@@@@@A@[psL
@@A@[pSL
APSSWLC9
APSSZLw9
APSVOQOQOPAL
APSYBLDSLHDN
@@@@@@@@ap@T
@@A@[pTHz
@@@@@ap@TR
@@@@ap@TR
@@@@@@@@ap@U
[@@@@@@@@ap@U
APugllllllllmllllOllylm
@@@@@@@@ap@UY
@@@@@@@@ap@V
[[[ApVdQ[[[
@@A@)pVY
@@@@@@A@[pWL
@@A@[pWL
]@@A@[pWL
@@@@@@@@ap@X
APXBKZEB_Y
AP_X]JOO
APXSOPWYOQOSLPXSOPWYOQOXXAL
A]PXXBS[BJ_A
A]PXYE_H_]SEZ
A_P_XY]MQ
@@A@)p]Y
AP_Y__[KO
@@A@[pYL
 )))APYL[
aPYL[cnq
aPYL[_]@DLZPGJA[FG@SH]@FGZL[_@JL))
	)))APYL[E@GB
)))APYL[E@GB
APYL[E@GB
APYL[E@GBKHZL
APYL[E@GBZJAHGNLM
APYL[]LGZ@FG
aPYL[]LGZ@FGvhJ]@_@]P
aPYL[_MH]HLQJAHGNLZL[_@JL))
APYP]G][
@@@@@@A@(p@YuDY9
@@@@ap@z
@@@@@@@@ap@Z
APZ_CFLMXCGH
@@A@[pZJ
AP_Z_X[PN[S
APZYCO_OSNX
@@@@@@@@AQ@
@@@@@@AQ@
A  q"    0
a[[[Q6GfR[[[
AQA@A6qPE
AQA@A6qVE
AQAAAAAAAAn45(-
!	aqaa	aaca
AQAAAmqTe
AQAAAOqFJ
aQaaa]Y]]
AQAAAYqOQ
AQAAAYqPE
AQAAAYqRE
AQAAAYqSIc
AQAAAYqtE
AQAAAZqUM
AQAAKqGbAAAA
AQA@AOqpE
A@QAAQqERAAAA[
AQA@AQqRA
AQAAQXZG]
AQaa]Y]]
AQA@AYqaE
AQA@AYqhE
AQA@AYqTE
AQA@AYqUE
AQA@AZqZOJ
@AQA@DAAA@Ai!S[
aqAdF[[[
AQADHYOXOJ
@|A@Q@AEac
AQAHC[OOXQDY[
[AQ_A[@[]HPSGY
AQAJH_J_
AQ@A?!L]AAAA
aQaLa#aUaPaWaLaQaQa"aQaUa'a#aXaQaRaVaWa
AQALKZZSGPHZB
aQaMaLaSaTa
AQAMMCZYM
aQaPaMaAa
AQAPMNBM
AQAPRQPH
Aq@a@Q@A@1@!@
aQaQaPaOa
aQaQaQaLaQaQaQaQaQaQaQaQaQaQaUaWa
aQaQaQaQaQaRaQaWaLaQaQaQaQaLaQaQaQaQaLa
aQaQaQaSaOa
aQaQaQaUaQaQaQaYaaaa
aQaQaSaOa
aQaQaTaRaQaTaQaRa
aQaSaPaTaUa
aQaTa7aUa*a
aQaUaOa	a
aQaWaRaRa
aQaWaYaJa6a4a
@@@@@@@@AQ@b;
aq@@@@B@A@2 @a_
AQB_ADAQXXE_XB[
AQBAQqVYAAAAG
@AQBAsSQSSsSSS
__AQB]AX
@AQBND@OK
AQ]BPPH[PY
AQBQES_C
@@@@@@@@AQ@c
AQCALLDBXX
AQCAQqAmAAAA
A@QCAQqEFAAAA
AQ@CAQqkB
AQ@CAQqkE
AQ@CAQqkEM
AQCCAQqUAAAAAAAAA
AQCCAYqUAAAAAAAAA
AQCCAZqUAAAAAAAAA
AQCFDJSJHDBB
AQCLJHBCJ
AQCP_L_ML
AQ@C@QqkB
AQ@C@QqkE
AQ@C@QqkEM
AQ[C]SCGXDBDD
Aq@c@U@G@)@
AQCX]OZQMX_HPZB
AQD[]AACYP[ASEPJN]YXM@
AQDD_CBA[N]Z
A)))QDEMFDr
AQ_]DGASG
AQD]@JOXMA_
AQdJ[[[Q[[[F[[[
AQDKHQKNZFH
AQDMYJXL
AQDOD]PFP
A||||)(:QD|||)(:QMJ09||||||||)25?389|
AQ[D_QZJ
AQDXZGPS
AQD_YLZJSP
AQD_ZPYHCBPY
@@@@@AQ@e
@@@@@AQ@E
AQ]E_[E[G
_]]AQESJZNPG
AQEZACP]B
A@QFBQOS
AQFDXBPDH
AQFEKCNL
@@@@@AQ@f*g
AQFGYHXD@FAONOBPZB
AQFL[S_BXDQX
@@@@@@@@AQ@G
AQG][DJEKAG@GXYMKLBH_
AqgfG3#(
aQggjgfG
AQGJYS@PC
Aqg_kgfGvv
AQG[MBSQCBYFG
AQ]GP@YA_
)aQgqggdB
AQgW[[[h[[[o[[[
?Aqg'zgfG
A_Q_HCA[LZXAMHYQL
AQH[MYQXJ
AQH_QCAD
AQHQ_DZM
AQHQP_]CC
AQ_HXLP_Z
AQHZBPO[D
Aq@i@]@I@A@1@
@@@@@@@@AQ@J
Aq@j@3@)@
AQ]]JACQ]E
AQJBBMLE[YCL
AQJJJASN][QL[B
_AQJ]SGCQE[
AQKALCAY_C
AQKNBKJ[
AQKZCAOBSKMZPPQ[Q]X
AQK]ZYE[ZCA[S
aQ[[[L[[[@[[[ 
@@@@@@@@AQ@L
AQLCLDDBMAL
AQLEBGXQXSM
A]QLJMJDM
AQLMFYKS
AQLNNHJDGJK
A]QLQ]NB]D
AQLZGNS_YDAM@P
Aq@m@e@U@M@!@
AQ_M]GSX[
AQM]YBJ_@
Aq@m@Y@I@9@)@
AQ[NCHEL
AQNJJXYC@S@EQ
AQNLZE[SDCGCD
")))AQNPF
AQNPXSLAX
A[Q@NQSXS_SX
A__QNSX_QJPYGGYHLLSF
AQNY[ZF]Y
AQNZH[AGOQKHE
AQNZYJ_D
@AQOOOQOQ
@@@@@A@@qp@Dm@
AQPGCDOHX
AQPKHQXQ
AQPNKA_JSA
AQPNMB_K
AQPpgppepq
AQPSQOQM
[][AQPXYAS
Aq@Q@)@	@
@@@@@@@@AQ@Q
AQQCQBH]
AQQ[DFPJMNX
A[QQEBL]
A]Q[QGNBEA[XAN_YD_LCB_S
AqQ|||	j
AQQMCQZJF]B
AQQMQQBM]
AQQ@@PJH
AQQXHMQZKONHPZGSY_YNM_[ADMB
Aq@Q@yyy
.)))AQQYZ
A]QQZDHXLHBX
@@@@@AQ@s
AQ_SKHNDP
AQSKNSMLPN
A[]_Q][SL
AQ]SOGY_[LMQ
AQSQJ@KAJGB[J
@AQs]RSS9
@@@@@@@@AQ@T
@AQTBAsSSS
@@@@@@@@AQ@TR
.[[[AqUdY[[[
A]@Q@U@I@M@A@E@)@
Aq@u@i@m@a@Y@]@Q@U@I@M@A@E@9@1@5@)@-@!@
@AQ(VSSW(|SSWAGsSWSS
@@@@@@@@AQ@X
AQXGNMQS_ZLC
]AQXK_FAOK[_XXFO
AQXLZYOXQNJDE_SX_M
AQXZQCMNHOXX_OYPY
Aq@Y@A@9@-@
AQYEOYYGOC[
]AQYJSLZ
AQy[K0lE
AQYKASMD
Aq@Y@]@Q@E@5@)@-@
Aqy?upy"
@@@@@@@@AQ@z
AQ@@@@@z@@B@AFac
A]_QZDKNB_CLDB
AQZGY]NYCPDNP[HGPS
AQZHNSBXCY
AQZKSG[JOHNCD
AQZMZDZMM]P
A[QZOXSEH]DANLPQ[
@AQ@ZP@_BZBA
@@@@@@AR@
ar@@@A@@
aRa;a-a1a8a0aPaPa
A@@@@@r@@A@AAac
aRaaaSaaa
A@R@ACac
A@R@AEac
aRaPaMaAaQa
aRaPaMaQa
aRaPaOa#a
aRaQa a a a
aRaQaVaSaRaXaUaWaSa
aRaRaUaSa
aRaSaaaa
aRaSaAaCaDa
aRaSaAaDa
aRaSaaa]Y]]
aRaSaaa]Y]]c
aRaSaaa]Y]]K
aRaSacay
aRaSaHakaC
aRaSaMaAaQa
aRaSaNa.a
aRaSaUaSaRaUa
aRaSaUaSaRaUaRaaaa
aRaTaYaLa
aRaUaMaAaQa
aRaVaUaLa
aRaWaSaLa
aRaXaSaRa
A@@@r@@B@AFac
a||rb||?b||
A@R@CEac
.)ArchSizeLimit
@AR@@DAAAaAi!JS
@AR@@DAAAaAi!JU
a)))R]DYTu
AreFileApisANSI
AREFNFGT]]REFNFGTY
A regular expression cannot start with the alternation operator |.
ArEMSProcNames
A repetition operator cannot be applied to a zero-width assertion.
@aR#giggfw
Arg list too long
aRgqgg|D'
-ARgqggPE
argument
Argument
argument list too long
ArgumentNullException
argument of ntile must be a positive integer
argument out of domain
arguments
Arguments
(Ar*guugfGs N
a]RgWdgfG
aRgwfgfG
Ar@i@e@D@
aRMADILLO
(Armadillo)
aRMADILLO ;  W
.ARM.attributes
ARM_big_endian
a)))rMEE@DYF[]
.ARM.exidx
.ARM.extab
arm_image
ARM_legacy
ARM_unpredictable
@@@@@@A@rp@@@@@@@@@@@@A@Lp@Sh
A@"	rpgppepq
A.Rpgppepq
arpinfo.hpp
Ar@P@N@:@
Ar@Q@K@1@
ArrangedElementCollection
array_concat
array_join
array_pop
Array.prototype.concat() array too large.
Array.prototype.concat() is not a constructor
Array.prototype.concat() sparse arrays not supported.
Array.prototype.join() is not a constructor
Array.prototype.pop() is not a constructor
Array.prototype.push() is not a constructor
Array.prototype.reverse() is not a constructor
Array.prototype.shift() is not a constructor
Array.prototype.slice() is not a constructor
Array.prototype.sort() compFn parameter is not a function.
Array.prototype.sort() is not a constructor
Array.prototype.splice() is not a constructor
Array.prototype.toLocaleString is unimplemented
Array.prototype.toString() is not a constructor
Array.prototype.unshift is unimplemented
array_push
array_reverse
array_shift
array_slice
array_sort
array_splice
array too large
ARS#0TSSS@S
arscanstatus
ARScr[SSS@S
ARSc-TSSS@S
ARSSBUsS
ARSSi[SSS@SD
aRSSQBWLA
*ARSSSSS
ARSSTsSASS
A*R*sxG0'
artrigger
a)))RuFKCLJ]
a)))Ru[]O
arwllllllllmllllOllylmSh[
arWvg3bgfG
]aRxeT(6RSW(;RSWs
a(rxly;x
Ar@X@R@D@3@
a)))rZPZ]LD
aR[zrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzz
@@@@@@AS@
AS_3AS23AS
aS8mg)cgfG
aS8mg)cgfG	
aSa7aQa9aQa3a
A@@@@@s@@A@AAac
@'A@S@AAacoo
A?sAA@@lpQH
ASABD_HEK
A@S@ACac
ASAD_DCHPDZ
@ASA@EAAA@AA
A@S@AEac
A@S@AEac3)'!442z
ASAEJJZ]AHODXZ_K
A[SA]GPH
@ASAJ@KBKG
ASALANSBQSHA
aSaMaLaSaQa
ASANJDZQ
ASA_OASX
aSaQaMaAaQa
aSaQaPaQa
aSaQaPaQaOa
aSaQaPaRa!a
aSaQaPaTa!a
aSaQaPaUa!a
aSaQaPaWaMa
aSaQaPaXaOa
aSaQaSaQaOa
aSaRaUaRaSaUa
aSaSaXaQaUa
ASASBLNMHNHO
ASASPCZNGPNC
 AS]'ASu'AS
aSaTa8a2a
aSaUaRaSa
AsAwAkAoAcAgA[A_ASA'A
AsAwAkAoAcAgA[A_ASAWAKAOACA
aSaXaQaYaOa
aSaYaWaXa
ASAZK]_Z
as@B@A@AQ@T
ASBAG]ZD
A@S@BEac
ASBEMNA[J
ASBNLGGC[
AS_BODFKPJ
ASBPNAQQSSXMLK
ASCEDMBXHEGM
A[[_SC]F
@ASCGCBL_[B
ASCII escape sequence terminated prematurely.
ASCYYHGZDYB
AS[d@[[[
ASDFGHJKL
ASDKCZBO
AS]DMEQHY
ASDNNDJPCXB
[ASDPFC_MX
[ASDXMCG
A@S@ECac
aseg5kgfG
	AsEgCkgfG0
ASeggG*B
ASEngineConfig
ASES]_QJ
aSetAttribIMsgOnIStgIdlWW
	)))A@SE@ZL[_@Z
]ASFHYCPSZZ]
A_S__]FNQ
ASFOBALA_
AS_FullSystemScan
(aSfY[V@
ASG[CZBDMD
A@@SGDJYKAMY
ASGFHLKEFZ[
A[SGH@SAN
ASGMLQNHMKEPZSZQM
ASG_PLYP@KDO
aSgqggBG
asgqmgfG
AsgujgfG0
@[A_SGXCXAMZ
ASHA[PBM@FOQKEEBDKG]AAGMNKXG[AACA
;ASH:ASv:ASc:ASm:AS
ASHBBPGGLYJE
ASHDMYOK]YMJ
AShgqgg3
ASHHCNSZS]
ASHJL[XLSY
A_S_HLEO[YKLG@LP
ASHN[DJZ
_[ASH]ODDJHY
ASH]PBMGPYQYNCBX
ASHP]QP_
aSHTllllllllmllllOllylm
AS@I@M@A@E@
!#AsimovBMLuaCall_
asimovdeviceticket
AsimovKillBitList
ASJ_BC]OQC
ASJC]HAZG
ASJGCFGCFZ
A@SJGNY]J]KD
ASJGZSHLH
A_S_JHKZC
ASJJKYOO_DYF@
ASJM]GNMNHD_FNKCQ
ASJMH]G@CFJQ[
_ASJOYDZL_OHLPNAGC
ASJQ_PQCJ
AS]_KGE_LKBO
ASKKPKMAJJNOD
ASKLPNX@LAOX
[[ASKLXPA]JKJOC[HHYXGEX
_ASK_YDNXCHMQC]ZEAH_QY
ASKZHXQL
ASLBODMNY
ASL[CDYZ
ASLEANP_GN
ASLH@OPM_PKF
ASLLN]FJ
ASLOAJSQDOK
A?s@@@@@@@@lpff
AS[L_POZ@YS
aslr_bit_set
AS_M[BL@X
ASM[DPQ[
A_SMKLA_MB
ASMLA]JQMYDCM]ENQL_
A[SMSMQHBB
ASMXNSCHCM
A[SM]ZPGSGSFA
ASN1BERDecBitString
ASN1BERDecBool
ASN1BERDecCharString
ASN1BERDecEndOfContents
ASN1BERDecExplicitTag
ASN1BERDecGeneralizedTime
ASN1BERDecNotEndOfContents
ASN1BERDecObjectIdentifier
ASN1BERDecOctetString
ASN1BERDecOpenType2
ASN1BERDecPeekTag
ASN1BERDecS32Val
ASN1BERDecSkip
ASN1BERDecSXVal
ASN1BERDecU32Val
ASN1BERDecZeroCharString
ASN1BEREncBool
ASN1BEREncEndOfContents
ASN1BEREncExplicitTag
ASN1BEREncObjectIdentifier
ASN1BEREncOpenType
ASN1BEREncS32
ASN1BEREncSX
ASN1BEREncU32
ASN1bitstring_free
ASN1charstring_free
ASN1_CloseDecoder
ASN1_CloseEncoder
ASN1_CreateDecoder
ASN1_CreateEncoder
ASN1_CreateModule
ASN1DecAlloc
ASN1_Decode
ASN1DecSetError
ASN1DEREncBitString
ASN1DEREncCharString
ASN1DEREncGeneralizedTime
ASN1DEREncOctetString
ASN1_Encode
ASN1EncSetError
ASN1Free
ASN1_FreeDecoded
ASN1_FreeEncoded
ASN1intx_free
ASN1intx_setuint32
ASN1objectidentifier_free
ASN1octetstring_free
ASN1ztcharstring_free
As@@@@@n@@A@AFac
ASNBB[BO]
ASN_B@NC
ASNENAELE
ASNESOYJMM_BP[Y
ASNFCJJZQL
A]SNJY_XZ]OGO
ASNMQAPO
ASO[BB[S
ASO]GMSXS
@ASOGYMC
ASOHXOJ_X
ASOPTOPL
[ASPGLJ@YX[
ASpgppepq
A]SP@]KXC
]ASPMF]JJKQ
aspROTECT
aspROTECT ?  
asPROTECT
AS]PS__NN[JO
aSpSSSSQSSsS
ASPXKNAXZ
A[SQD[OCKCYPYZ
ASQNZQ@S
A[SQ_POP
ASQPQMA1
ASQQBBMP
ASQQXALA5	
AS_QScan_Machine
AS_QScan_User
ASQSQXXFYDY@
ASQSSAI"Haaa
Asrgqggo
ASR:PersistUserExclusion
AsrReport
A[SRScE[SSS@S
AsrThrottledAuditMachine
AsrThrottledAuditRules
ASSA[SJK_YO
ASSCSSSp
ASScWSSp
AssembliesWW
Assembly
AssemblyCompanyAttribute
AssemblyConfigurationAttribute
AssemblyCopyrightAttribute
AssemblyCultureAttribute
AssemblyDescriptionAttribute
AssemblyFileVersionAttribute
AssemblyIdsW
AssemblyLoader
assemblyName
AssemblyProductAttribute
AssemblyTitleAttribute
AssemblyTrademarkAttribute
AssemblyVersionAttribute
assembly which contains categoryDefinitions elementWWW
assembly which contains feature elementWWW3
assertion failed!
?AssertPIZeroRef@ClassInfoBase@DirectUI@@UEBAXXZ
assertVersion
AssertWithArgs
assetintelligencewrapper.h
assetintelligencewrappertests.cpp
assetPath
AS[SFX@HPH
Assign an identity definition to this identity referenceWW
?_Assign@_ContextCallback@details@Concurrency@@AEAAXPEAX@Z
AssignIdentityDefinition
assignment to invalid value
assigversion
ASSJDOC_
ASS@KFOLM
ASSnSSSnSSS
AssocGetPerceivedType
associatedfilereport
Associates an setting name with a component to which the setting appliesWW-
assocmgr.cpp
assocmgr.h
A[SSPXXLJ_HZ[YL
ASSSPQSS
a_SSS@S4qRSRS
aSSSS!#5
aSSSSS!#5
ASS[SSSp
aSSSSSS!#5
aSSSSSSS
ASSSSSSSH
aSSSSSSSS
ASSSSSSSS)
ASSSS@SYSRSRSSSSS
ASSVSSSVSSSnSSSnSSSnSSSnSSS
]A]SSZPLAALX
*AST)ASH)AS')AS
AST conversion failed
asterisk
asUgqggg
	@ASWyxp
[A]SXDK@D]Q
AS_X_DS[]GGJCCBXFD
A[SX_KOJY_B]Y
ASXXHKSO
aSygEkgfG
ASYG[QCYK]]
AsyncCallback
AsyncProcessScan
AsyncProcessSecurityContext
AsyncProcessStart
AsyncResourceScan
asyncwork
Asy_@syD@sy	@sy
ASYYOMGYP]A
)))ASZ_C
AS[ZJZCANDSOC[KXMJ@_
ASZP[MHY
ASZ]_POSAMMMSHD_K
ASZS@SKS@SuS@SgS@S
AS@ZsSSAS@YsS
ASZYLXQ@OM[
ASZZNKBYDZHSO
@@@@@@AT@
aTa0aSaXa
A@T@A@@@@A@@
ATAAAAAAAAn
@ATA@@AA]@AC
ataaSajD
A@T@ACac
A@T@AC@BBA@
:@(A@T@AEac
@)A@T@AEac
@@@@@.A@T@AEac
AT@ANA@BACAAAxqAH
aTaQaLaPaPa
aTaSaUa1aTaSaUa
aTaTaTaTaOa
aTaUaPaQaTaLaPaUaWa
aTaUaRaTa
aTaUaSaTaSaUa
ATAUAVAWWVSUH
ATAUAVAWWVSUI
ATAUAVAWWVSUL
ATAUAVAWWVSUM
ATAUAVSH
aTaVaLaUa
aTaWaVaTaYaVa
@ATBAB@1BABF73
A@@@t@@B@AFac
A||tB||cB||KB||5B||"B||
At@c@_@*@
atd_[[[#
;aTdC[[[g[[[
]ATdM[[[
atdR[[[)[[[
atdW[[[:[[[9[[['
a)TdZ[[[
)))AtErSSMXQ_
atgCggfG
atgfG9-itgqggGN
aTg_"fgw
At@g@L@#@
aTgOmgfGQU
atimeWWW
@]A|@T[iOQSSB]
at]JFg.W_!
ATJgqggD
A|@t@j@P@M@7@'@
At@KBw@DBZ
ATllllllllmllllOllylm.;
AtlThunk_AllocateData
AtlThunk_DataToCode
atlthunk.dll
AtlThunk_FreeData
AtlThunk_InitData
AT@M@E@*@
AtomicCounterAdd
Atomic counter already exists with key: 
AtomicCounterDiv
AtomicCounterErase
AtomicCounterEraseAll
AtomicCounterExpiry
AtomicCounterExtend
AtomicCounterMul
AtomicCounters
AtomicCounterSet
AtomicCounters::FinalizeInitialize
AtomicCounterSub
AtomicCounterValue
AtomicCounterValueEx
AtomicCounterValuesForPrefix
aT[[[q[[[
A||TR||JR||
aTSS[AFAELO
@'A@T@TAac
ATTACH''AS vacuum_db
attached databases must use the same text encoding as main database
.attack_probability_false_value
.attack_probability_threshold
.attack_probability_true_value
.attack_timeseries_threshold
Attempted a typeid of nullptr pointer!
Attempted to access the value of an uninitialized optional object.
attempting to create a variable list
attempting to initialise VfsData with another non-const VfsData
Attempting to schedule time in the past
attempt to write a readonly database
Attempt to write in read only table.
Attempt to write in read only table: mpengine libraries are read only!
AttentionRequired
attestationType
attribute
Attribute
AttributeCounts
AttributeCounts::FinalizeInitialize
attributelist
AttributePersistContext
AttributePersistContext::FinalizeInitialize
attributes
AttributesWW
ATTRMATCH
ATTR:Path:
AttrribPersist
aTWgqggp ?
aU[[[:[[[
@@@@@@AU@
AU3!EA06L9J
AU6llllllllmllllOllylm
Au@A@?@*@
A@U@A@@@@A@@
AUAAAYqRE
AUAAAYqUE
AUAAAYqXE
AUAAAZqcM
AU@AAQqPIC
AUACAQqP_n
AUACAQqPq
AUACAQqPv
@AUACDACA@A3!AB
.?AUAdvSampleSubmissionManagerCleanupThread@?1??advsamplesubmissionmanager_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
@@@@@:A@U@AEac
A@U@AE@@@A@h EW
A@U@AE@@@A@h KR
A@U@AE@@@A@h KY
@@@@@*A@U@AFac
AuAkAaAgA]ASAIAOAEA;A1A7A-A#A
AuAkAgA]ASA"A
AUAKIOUL
.?AUAnalyzer@@
AuAoA#A.A.A5A2A5A3A A1A
aUaPaOaQaXaOaPa
.?AUapi_list_base@data_network_impl@internal@bit_shovel@@
.?AUapi_list_base@data_network_impl@internal@bit_shovel@tdt_library_v3@@
.?AU_Application@@
aUaRaPaLaUa
aUaRaSaUaRa
aUaRaSaUaRaSaUa
aUaRaTaUaRa
.?AUArScanResultsByModule@@
aUaSaRaUaRa
aUaSaRaUaRaSa
.?AUASConfigurationCb@?1??SetupASConfigurationFromDbBlob@@YAXXZ@
.?AUAspackIsMine@?3??Unpack@AspackUnpacker@@UEAA?AW4PEError@@XZ@
.?AUAsyncResourceScanCleanupThread@?4??asyncresourcescan_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
aUaVaLaUa
.?AUAVConfigurationCb@?1??SetupAVConfigurationFromDbBlob@@YAXXZ@
aUaYaMaAaQa
.?AUBackupStoreCleanupThread@?1??BackupStore_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUbad_alloc_@exception_detail@boost@@
.?AUbad_day_of_month@gregorian@boost@@
.?AUbad_exception_@exception_detail@boost@@
.?AUbad_month@gregorian@boost@@
.?AUbad_year@gregorian@boost@@
@AUBAeaQ(VSSW(
A||uB||]B||IB||
Au@b@D@-@
aubgfGf@A7gqgg
.?AUBlockAnalyzer@@
.?AUBlockDecryptor@@
.?AUBmCloudContext@@
.?AUBmFileActions@@
.?AUBmFileInfo@@
.?AUBmMetaData@@
.?AUBmProcessInfo@@
.?AUBondNode@@
.?AUByteStream@VirtualStore@@
.?AUBytesUpdate@?1??Write@UfsNode@@UEAAJ_KPEBXKAEAK@Z@
.?AUCachedFile@FilesStash@@
.?AUCacheEntry@MemScanImagePathCache@@
.?AUCacheItem@FriendlyCache@@
.?AUcallback_info_base@data_network_impl@internal@bit_shovel@@
.?AUcallback_info_base@data_network_impl@internal@bit_shovel@tdt_library_v3@@
.?AUCleanUpdate@?1??CleanFile@UfsClientRequest@@AEAAJAEAW4fileState@@AEAUSCAN_REPLY@@PEAVUfsScannerWrapper@@@Z@
.?AUCleanupThread@@
.?AUcodes@?1??make_error_code@json@boost@@YA?AVerror_code@system@3@W4error@23@@Z@
.?AUcodes@?1??make_error_condition@json@boost@@YA?AVerror_condition@system@3@W4condition@23@@Z@
.?AUColumn@@
.?AUColumns@@
.?AUCommonHeader@RAR5@@
.?AU_Container_base0@std@@
.?AUContextData@Router@@
.?AUController@Tree@VirtualDirectory@@
.?AUCoreException@bond@@
.?AUcore_telemetry_data_buffer_t@bit_shovel_plugins@tdt_library_v3@@
.?AUCppStringAdapter@@
.?AU_Crt_new_delete@std@@
.?AUCryptHeader@RAR5@@
.?AUCStringAdapter@@
.?AUctype_base@std@@
.?AUDecryptionKey5@@
.?AUDecryptor@@
.?AUDesktopNotificationInfo@@
AuditLoggerStatus
AuditMode
aUd_[[[n[[[
.?AUDocument@@
.?AUDosPathInfo@@
A]UdP[[[
AuEgubgfG
.?AUEnvVarMapPair@@
.?AUEtwLog@@
.?AUEtwLogImpl@@
.?AUEtwNotificationInfo@@
.?AUevent_base_t@preprocessed_events@tdt_app_profiling@@
.?AUevent_base_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUEventObject@ObjectManager@@
.?AUExploitDetectionVisitor@?1??TestForFileExploit@StaticHandler@@AEAA_NAEAVProcessContext@@AEAUINotification@@@Z@
.?AUExploitReporter@?1??TestForFileExploit@StaticHandler@@AEAA_NAEAVProcessContext@@AEAUINotification@@@Z@
.?AUExtendFileCallback@?1??ExtendFile@UfsHelpers@@YAJPEAVIUfsFileIo@@QEBUUfsFileSlice@@_K@Z@
.?AUExternalContextValue@Router@@
Au@e@Y@]@E@9@-@
.?AUFailTelemetryContext@CFailureTelemetry@@
.?AUFileHeader@RAR5@@
.?AUFileNameCollector@?1??GetTargetFileInfo@DetectionItem@@MEBAJAEAUTargetFileInfo@@UFlags@3@@Z@
.?AUFileNameInfo@NtfsVolume@@
.?AUFileObject@ObjectManager@@
.?AUFilesStashCleanupThread@?1??filesstash_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUFileStashGlobalProperties@@
.?AUFindKeyNameController@?1??deleteKey@VirtualReg@@QEAA_N_K@Z@
.?AUFindNameController@?1??findNameForHandle@VirtualFS@@AEAA_N_KAEAPEB_WAEA_K@Z@
.?AUFindParentController@?1??removeFile@VirtualFS@@QEAA_N_K@Z@
a)))u_FN@ZA
.?AUFrame@@
.?AUFrameState2@@
aUg7dgfG
aUgeegfGo[;pgqgg 
AugIkgfG
 ( (AugjgggggggggiuU4
aUgKdgfG
.?AUGLOBALEVENTCONTEXT@@
AUgooggG
A"ugqgguiWtdd
aUguOgfwt
AUG@|vAAAACAAA
augwfgfG
]AuHKM]OANPNLNAMY
]AuHKM]OANPNLNAMYB
]AuHKM]OANQNLNAMY
]AuHKM]OANQNLNAMYB
A|@u@h@o@e@Y@_@R@H@O@8@*@'@
.?AUHookWowCleanupThread@?1??ResmgrhookwowInit@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUhresult_access_denied@winrt@@
.?AUhresult_canceled@winrt@@
.?AUhresult_changed_state@winrt@@
.?AUhresult_class_not_available@winrt@@
.?AUhresult_error@winrt@@
.?AUhresult_illegal_delegate_assignment@winrt@@
.?AUhresult_illegal_method_call@winrt@@
.?AUhresult_illegal_state_change@winrt@@
.?AUhresult_invalid_argument@winrt@@
.?AUhresult_no_interface@winrt@@
.?AUhresult_not_implemented@winrt@@
.?AUhresult_out_of_bounds@winrt@@
.?AUhresult_wrong_thread@winrt@@
.?AUHtmlDocumentHandle@@
.?AUHtmlDocumentProvider@@
.?AUIAccessible@@
.?AUIAccPropServer@@
.?AUIAdviseSink@@
.?AUIAtlMemMgr@ATL@@
.?AUIAtlStringMgr@ATL@@
.?AUIAttributeDatabaseCallback@@
.?AUIAttributeItem@@
.?AUIAttributeItemEnumerator@@
.?AUIAttributeValueStore@@
.?AUIAudioEndpointVolumeCallback@@
.?AUIAxWinAmbientDispatch@@
.?AUIAxWinHostWindow@@
.?AUIBehaviorEnumerator@@
.?AUIBehaviorItem@@
.?AUIBMItemHandler@@
.?AUIBootRecordCleanStore@BootRecordCleanStore@@
.?AUIClassFactory@@
.?AUIClassInfo@DirectUI@@
.?AUICmdOptionsLookup@CommonUtil@@
.?AUICollectVisitor@@
.?AUIConnectionPointContainer@@
.?AUIConsoleTree@@
.?AUIDetectionController@@
.?AUIDetectionDispatcher@@
.?AUIDetectionHandler@@
.?AUIDetectionItem@@
.?AUIDispatch@@
.?AUIDocHostUIHandler@@
.?AUIDocHostUIHandlerDispatch@@
.?AUIDropSource@@
.?AUIDropTarget@@
.?AUIDynamicConfigContainer@@
.?AUIEapMethodConfig@Peer@EapLm@@
.?AUIEapMethod@EapLm@@
.?AUIElementBehavior@@
.?AUIElementBehaviorFactory@@
.?AUIEngineStateStore@@
.?AUIEnumConnectionPoints@@
.?AUIEnumConnections@@
.?AUIEnumFiles@CommonUtil@@
.?AUIEnumFilesFilter@CommonUtil@@
.?AUIEnumString@@
.?AUIEnumUnknown@@
.?AUIEnumVARIANT@@
.?AUIEnvMatch@@
.?AUIEtwRundownProvider@@
.?AUIExplicitAccessControl@CommonUtil@@
.?AUIExternalConnection@@
.?AUIFailureTelemetry@@
.?AUIFile@@
.?AUIFileCollection@@
.?AUIFindFileHandle@@
AUIHNMULO
.?AUIHostingTask@@
.?AUIInspectable@@
.?AUIKernel32Interface@@
.?AUILockingProcessProperty@@
.?AUimage_load_event_t@preprocessed_events@tdt_app_profiling@@
.?AUimage_load_event_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUIMetadataValueStore@@
.?AUIMigPluginSurrogate@@
.?AUIMMCListView@@
.?AUIMMNotificationClient@@
.?AUIMpCompletionPort@CommonUtil@@
.?AUIMpHash@CommonUtil@@
.?AUIMpPrivateThreadPool@CommonUtil@@
.?AUIMpThreadPool@CommonUtil@@
.?AUIMpThreadPoolProvider@CommonUtil@@
.?AUIMpThreatEnumerator@@
.?AUIMpThreatItem@@
Au@i@m@U@I@M@A@E@9@-@
AUINALUL
.?AUINoteMgrPlugin@@
.?AUINotification@@
.?AUINotificationFactory@@
.?AUinstr_info_t@@
.?AUinstr_x64_info_t@@
.?AUInternalContextValue@Router@@
.?AUInternalNotificationInfo@@
.?AUIObjectSafety@@
.?AUIObjectWithSite@@
.?AUIOleClientSite@@
.?AUIOleContainer@@
.?AUIOleControlSite@@
.?AUIOleInPlaceFrame@@
.?AUIOleInPlaceSite@@
.?AUIOleInPlaceSiteEx@@
.?AUIOleInPlaceSiteWindowless@@
.?AUIOleInPlaceUIWindow@@
.?AUIOleWindow@@
.?AUIParseDisplayName@@
.?AUIProvideClassInfo@@
.?AUIProvideClassInfo2@@
.?AUIReader@ValidateTrust@@
.?AUIRefObject@CommonUtil@@
.?AUIRegEnumerator@@
.?AUIRegistryKey@@
.?AUIRegistryValue@@
.?AUIResizeFileCallback@@
.?AUIResourceEnumerator@@
.?AUIResourceItem@@
.?AUIResourceProperty@@
.?AUIRestorationResult@BootRecordCleanStore@@
.?AUISAXContentHandler@@
.?AUISAXErrorHandler@@
.?AUIScanHandler@@
.?AUIScanVisitor@@
.?AUISecurityAttributes@CommonUtil@@
.?AUIServiceProvider@@
.?AUIsMineContext@@
.?AUISnapshotsCollection@VSS@@
.?AUISnapshot@VSS@@
.?AUIStateCollector@@
.?AUIStateProvider@@
.?AUIStringTablePrivate@@
.?AUIStringTablePrivate2@@
.?AUISupportErrorInfo@@
.?AUISyncMgrStatusAdviseCallback@@
.?AUISysIoContext@@
.?AUISysIoHandle@@
.?AUISysIoInfo@@
.?AUISysioSecurityDescriptor@@
.?AUITaskPadHost@@
.?AUIteratorStateImpl@VirtualDirectory@@
.?AUIteratorState@Tree@VirtualDirectory@@
.?AUIThreatDataDictionary@@
.?AUITimerCallback@CommonUtil@@
.?AUITimerHandle@CommonUtil@@
.?AUITlsKey@CommonUtil@@
.?AUITsdBase@CommonUtil@@
.?AUIUfsUpdateCallback@@
.?AUIUfsUpdateOp@@
.?AUIUfsUpdateRequest@@
.?AUIUnknown@@
.?AUIUserDatabaseCallback@@
.?AUIUtilRegEnumSubKeys@CommonUtil@@
.?AUIValidator@ValidateTrust@@
.?AUIValueMapConsumer@@
.?AUIValueStore@@
.?AUIVhdReader@@
.?AUIWeakReference@@
.?AUIWeakReferenceSource@@
.?AUIWebSink@@
.?AUIWinSecurityAcl@CommonUtil@@
@'A@U@JEac
AUJK@MUL
.?AUJsArgumentsObject@@
.?AUJsArgumentsTree@@
.?AUJsArrayLiteralTree@@
.?AUJsArrayObject@@
.?AUJsAssignExprTree@@
.?AUJsBinaryExprTree@@
.?AUJsBlockStmtTree@@
.?AUJsBooleanLiteralTree@@
.?AUJsBufString@@
.?AUJsCallExprTree@@
.?AUJsCaseStmtTree@@
.?AUJsCatchStmtTree@@
.?AUJsComplexString@@
.?AUJsComplexType@@
.?AUJsConcatString@@
.?AUJsConditionalExprTree@@
.?AUJsConstExprTree@@
.?AUJsConstructor_Array@@
.?AUJsConstructor_Boolean@@
.?AUJsConstructor_Error@@
.?AUJsConstructor_Function@@
.?AUJsConstructor_Number@@
.?AUJsConstructor_Object@@
.?AUJsConstructorObject_Date@@
.?AUJsConstructor_RegExp@@
.?AUJsConstructor_String@@
.?AUJsControlFlowStmtTree@@
.?AUJsDate@@
.?AUJsDelegateObject_Global@@
.?AUJsDomObject@@
.?AUJsEmptyStmtTree@@
.?AUJsEvaluationMonitor@@
.?AUJsExprStmtTree@@
.?AUJsForeignFunctionObject@@
.?AUJsForInStatmentTree@@
.?AUJsForStatementTree@@
.?AUJsFuncExprTree@@
.?AUJsFunctionObject@@
.?AUJsFunctionProxyObject_Eval@@
.?AUJsGlobalObject_Math@@
.?AUJsHeap@@
.?AUJsHeapObject@@
.?AUJsIdentifierTree@@
.?AUJsIfStmtTree@@
.?AUJsLabeledStmtTree@@
.?AUJsLazyObject@@
.?AUJsMegaBinaryExprTree@@
.?AUJsMemberExprTree@@
.?AUJsMultiExprTree@@
.?AUJsMultiVarDeclStmtTree@@
.?AUJsNativeFunctionObject@@
.?AUJsNavigatorObject@@
.?AUJsNewExprTree@@
.?AUJsNodeListObject@@
.?AUJsNodeObject@@
.?AUJsNonNativeFunctionObject@@
.?AUJsNullLiteralTree@@
.?AUJsNumber@@
.?AUJsNumericLiteralTree@@
.?AUJsObject@@
.?AUJsObjectLiteralTree@@
.?AUJsProgramTree@@
.?AUJsPropertyTree@@
.?AUJsPrototypeObject_Array@@
.?AUJsPrototypeObject_Boolean@@
.?AUJsPrototypeObject_Date@@
.?AUJsPrototypeObject_Error@@
.?AUJsPrototypeObject_Function@@
.?AUJsPrototypeObject_Number@@
.?AUJsPrototypeObject_Object@@
.?AUJsPrototypeObject_RegExp@@
.?AUJsPrototypeObject_String@@
.?AUJsReference@@
.?AUJsRefString@@
.?AUJsRegExpEngine@@
.?AUJsRegexpLiteralTree@@
.?AUJsRegExpObject@@
.?AUJsRuntimeState@@
.?AUJsSecondarySideEffectTree@@
.?AUJsStringAdapter@@
.?AUJsStringLiteralTree@@
.?AUJsStringObject@@
.?AUJsStringReplaceTree@@
.?AUJsSubString@@
.?AUJsSwitchStmtTree@@
.?AUJsThisTree@@
.?AUJsThrowStmtTree@@
.?AUJsToNumberTree@@
.?AUJsToPrimitiveTree@@
.?AUJsToStringTree@@
.?AUJsTree@@
.?AUJsTryStmtTree@@
.?AUJsUnaryExprTree@@
.?AUJsUndefinedLiteralTree@@
.?AUJsVarDeclStmtTree@@
.?AUJsWhileStatementTree@@
.?AUJsWithStmtTree@@
.?AUkcrcuserdata_t@@
AulAttachmentNumW
@AULHHKU@
.?AU_LIST_ENTRY@@
AU@LLJUN
aUllllllllmllllOllylm
AULMIHU@N
aulPropTagWW4
.?AULuaContextHolder@@
.?AUlzwinfo_t@@
.?AUMainHeader@RAR5@@
.?AUMatchedProcessInfo@@
.?AUmessages_base@std@@
Au@m@I@F@"@
]AuMKM]OANPNLNAMY
]AuM[M]OANPNLNAMR
]AuM[M]OANPNLNAMS
]AuM[M]OANPNLNAMY
.?AUModification@@
.?AUmoney_base@std@@
.?AUMpContainerHandleType@@
.?AUMpFileDataEntry@@
.?AUMpOpaqueUserProfile@@
Au@m@Q@M@E@5@!@	@
.?AUMutableStore@@
.?AUMutantObject@ObjectManager@@
.?AUMyAppReadOnlyByteStream@@
auNdZ[[[
.?AUNode@@
.?AUNodeFilter@@
.?AUNodes@@
.?AUNodeTagFilter@@
.?AUNodeTypeFilter@@
.?AUNodeUpdateCallback@?1??StartUpdate@UfsNode@@UEAAJXZ@
AUNOLIULNN
aunotification
.?AUNscriptJSMonitor@@
.?AUNtfsFileRecord@NtfsVolume@@
.?AUObject@ObjectManager@@
.?AUOfflineFileCallback@@
AUOH@LULK
AuoTbgfGy
.?AUPackedFileInfo@@
.?AUPage@Modification@@
@@@@@@A@up@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@np@C
.?AUPartitionInfo@nUFSP_sect@@
.?AUPathCollector@?1??IsValidForFlightRecorder@ProcessContext@@AEAA_NPEBUINotification@@@Z@
.?AUpmi_event_t@preprocessed_events@tdt_app_profiling@@
.?AUpmi_event_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUpmi_event_v2_t@preprocessed_events@tdt_app_profiling@@
.?AUpmi_event_v2_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUprocess_event_t@preprocessed_events@tdt_app_profiling@@
.?AUprocess_event_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUProcessInfoMapItem@@
.?AUPropertyContainer@ResourcesProperties@@
AU(;PSW@VQM9
AU(:PSW@WQL_9
 )))A]]uQ
 )))A]uQ
.?AUReadOnlyStore@@
.?AURelationShipInfo@@
.?AURemoveUpdate@?1??RemoveFile@UfsClientRequest@@QEAAJPEAVUfsPluginBase@@@Z@
.?AUResmgrCleanupThreads@?1??ResmgrFileInit@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUResmgrPluginInfoT@@
.?AUResmgrPluginTemplateT@@
.?AUResourceId@@
.?AURpfVersionStringIterator@@
.?AUscheduler_interface@Concurrency@@
.?AUSearchData@@
.?AUSemaphoreObject@ObjectManager@@
.?AUSerializableExceptionBase@bond@@
.?AUShrinkFileCallback@?1??ShrinkFile@UfsHelpers@@YAJPEAVIUfsFileIo@@QEBUUfsFileSlice@@_K@Z@
.?AUSigDeliveryNotifierCleanupThread@?1??dssspynetcontext_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUSignatureLoaderCleanupThread@?1??BmSignatureLoader_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AUSizeUpdate@?1??SetSize@UfsNode@@UEAAJ_K@Z@
]Au[SM]OANPNLNAMS
.?AUSRemediationDetails@@
AUSSBGsSRSS9l
.?AUSSFFileInterface@@
.?AUSSFFindData@@
.?AUSSFFindHandle@@
.?AUSSFFindItem@@
.?AUSSFHandleInterface@@
.?AUSSFStreamInterface@@
.?AUSSigOverride@CDcGlobal@@
.?AUStreamException@bond@@
.?AUStringAdapter@@
.?AUSUrlExtraData@@
.?AUtagMP_GLOBAL_VAR_HANDLE@@
.?AU_Task_impl_base@details@Concurrency@@
.?AUTaskManagerCleanupThread@?1??taskmanager_init_module@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
.?AU_TaskProcHandle@details@Concurrency@@
AuthenticAMD
AuthenticodeContentType
AuthenticodeContentTypeHash
authenticodehash
authenticodehash256
AuthenticodeIndirectContent
AuthFlags
authorization denied
AuthorsW
authpackage
.?AUthread_event_t@preprocessed_events@tdt_app_profiling@@
.?AUthread_event_t@preprocessed_events@tdt_app_profiling@tdt_library_v3@@
.?AUThreadObject@ObjectManager@@
authtask.cpp
authtask.h
.?AUtime_base@std@@
AutoComplete
autoCompleteSetting
autoconfigurl
AutodialDLL
autoelevate
AutoElevate
AUTOEXECBAT 4.0
autofeaturecontrol
AutoFeatureControl
AutoFolderLatent
AUTOINCREMENT is only allowed on an INTEGER PRIMARY KEY
AUTOINCREMENT not allowed on WITHOUT ROWID tables
auto-index
AutoInitModules::Initialize
!AutoIt_
!AutoIt_.*
AutoIt3ExeInRarSfx
AutoItAssumeV3_3
AutoIT Compressed:
AutoIT_GUID_
AutoItIgnoreMaxSizes
AutoItIgnoreNonResource
AutoIT_OFFSET_
AutoIT Open Error - Compression sizes are 0
AutoIT Open Error - Decryptor is NULL
AutoIT reading compression parameters failed!
AutoitScan
AutoItScriptInRarSfx
AutoIT String:
Automatic
automatic_index
AutomaticStep
automaticstepstaken
AutorunInf
autosampleoptin
autosampleoptinvalue
AutoScaleMode
.?AUTree@VirtualDirectory@@
Au@]@U@'@
.?AUUberContextCleaner@@
A)))uu]LDYuuJHEJ
.?AUUnpackContextBase@@
.?AUUnpackContextWrapper@?DH@??HandleUnpacker@@YA?AW4scanresult_t@@PEAUpe_vars_t@@@Z@
.?AUunp_jcalg3_t@@
.?AUUnplibCancelCb@?1??DecompressLzNt1Buffer@@YAJAEAKPEAXK01K@Z@
.?AUUpdateCallback@?1??Update@UfsClientRequest@@AEAAJPEAVUfsPluginBase@@PEAUIUfsUpdateOp@@@Z@
.?AUUSNCacheIdData@USNCacheProvider@@
.?AUuso_updater_exception@UO@Windows@@
A[[[UuWdM[[[
.?AUv2_updater_exception@UO@Windows@@
.?AUVfsFileData@@
.?AUVfsFileDataManager@@
.?AUView@@
.?AUViews@@
.?AUVirtualReg@@
.?AUVirtualStore@@
.?AUVolumeCacheEntry@@
.?AUVolumeMountNotificationInfo@@
.?AUwork_not_scheduled_exception@UO@Windows@@
.?AUWow64Info@@
.?AUX64E8E9Decryptor@?1??ResolveE8E9@Upxw64NRVE@@MEAA?AW4PEError@@XZ@
@@A@; UZ
a)))uZAF[]JJJKFFZ]
a)))uZAF[]JKFFZ]
A|@u@Z@B@1@)@
]AuZKM]OANPNLNAMY
aV[[[:[[[
@@@A@? V
aV6u@sgllllllllmllllOllylm
A|@v@8@)@
aVa1aWa*a
A@V@ACac
.?AVace2stream@@
.?AVace_block_header@@
.?AVace_file_header@@
.?AVAcpiIfDriver@ITS_IFC@@
.?AVActClipper@@
.?AVActExpando@@
A@V@AEac
.?AVAesDataIO@@
.?AVagent@tdt_api@@
A'?VAgfG
aVaLaUaVa
.?AVAllocationTypeCallback@@
.?AVAlreadyOpenedFileInterface@@
.?AVALUx86@0@
.?AVAmsiResultCache@0@
.?AVAmsiSessionCache@0@
Av@ANA@BAAAAA*qDMw
aVaPaLaXaYaRa
.?AVapiRedirection@@
.?AVAPLib@@
.?AVAPLibPECompact2@@
.?AVAPLibUPC@@
.?AVApplicationError@@
.?AVApplyFixup@@
aVaRaLaPaPa
aVaRaMaAaQa
.?AVArbitrarySpynetMap@@
.?AVArcDyn@@
.?AVArcNCR@@
.?AVArcSqueeze@@
.?AVArDetectionItem@@
.?AVArithContext@@
.?AVArmFilter@XZStream@@
.?AVArModuleInfo@@
.?AVArmThumbFilter@XZStream@@
.?AVArNotification@@
.?AVArResourceItem@@
.?AVArScan@@
.?AVArScanScheduler@@
.?AVArScanTask@@
.?AVarsenic@@
.?AVarsenicRandom@@
.?AVArTelemetry@@
.?AVAscii85Decode@@
.?AVAsciiHexDecode@@
AVAS_FullSystemScan
AVAS_Maintenance_Scan_Machine
AVAS_Maintenance_Scan_User
.?AVAspack1FixE8E9@@
.?AVAspack2FixE8E9@@
.?AVAspackUnpacker@@
.?AVAspackUnpacker10@@
.?AVAspackUnpacker105@@
.?AVAspackUnpacker108@@
.?AVAspackUnpacker1083@@
.?AVAspackUnpacker21@@
AVAS_PostSigUpdate_Scan_Machine
AVAS_QScan_Machine
AVAS_QScan_User
.?AVAsyncDssAdaptor@@
.?AVAsyncResourceAdaptor@@
.?AVAsyncWorkCleanupThread@?1??InitModule@AsyncWork@@YA?AW4MP_ERROR@@PEAVAutoInitModules@@@Z@
aVaTaMaAaQa
.?AVAttachedFileReader@?A0xab9be007@@
.?AVAttributeDatabase@@
.?AVAttributeItemEnumerator@@
.?AVAttributeItemFromStore@@
.?AVAttributeMap@@
.?AVAttributeValueStore@@
.?AVAttributeWorker@@
aVaUaMaAaQa
aVaUaSaLa
.?AVAutoCleanup@?1??javan_scanfile@@YA?AW4scanresult_t@@PEAUSCAN_REPLY@@@Z@
.?AVAutoCoInitialize@@
.?AVAutoITCancelAdaptor@@
.?AVAutoITDecrypt@@
.?AVAutoITDecrypt_V3_2@@
.?AVAutoITDecrypt_V3_3@@
.?AVAutoITGenerateScript@@
.?AVAutoITReadAdaptor@@
.?AVAutoITWriteAdaptor@@
.?AVAutoMPLuaState@@
.?AVAutoNetVmHandle@@
.?AVAutoPrintableStringA@@
.?AVAutoRegKey@@
.?AVAutoScanT@@
.?AVAutoScanT_CollectSpynet@@
.?AVAutoScanT_GetSpynet@@
.?AVAutoScanT_ParseBondSpynet@@
.?AVAutoScanT_ParseSpynet@@
.?AVAutoScriptRunnerGuard@@
.?AVAutoSelfVfsInject@@
.?AVAutoUnmanageThread@@
.?AVAutoVfoHandle@@
aVaVaVaVa'a
aVaVaWaLaUaVaSa
.?AVavpackEncryptedInStream@@
.?AVavpackInStream@@
aVaWaMaAaQa
aVaWaQa2a9aUa
Av@a@Z@'@
a||vb||ab||Mb||:b|| b||
.?AVbacc@@
.?AVBackwardWriter@@
.?AVbad_alloc@std@@
.?AVbad_any_cast@boost@@
.?AVbad_array_new_length@std@@
.?AVbad_cast@@
.?AVbad_cast@std@@
.?AVbad_exception@std@@
.?AVbad_format_string@io@boost@@
.?AVbad_function_call@boost@@
.?AVbad_function_call@std@@
.?AVbad_lexical_cast@boost@@
.?AVbad_optional_access@boost@@
.?AVbad_optional_access@std@@
.?AVbad_regexpr@regex@@
.?AVbad_typeid@std@@
.?AVbad_variant_access@std@@
.?AVbad_weak_ptr@std@@
.?AVBaseEapLibraryManager@EapLm@@
.?AVBaseEapMethodConfig@Peer@EapLm@@
.?AVBaseReport@@
.?AVBasicBlocksInfo@@
.?AVBBinfo_LF@@
.?AVBehaviorEnumerator@@
.?AVBehaviorItem@@
.?AVBinaryInstaller@@
.?AVbincTree@@
.?AVbinTree@@
.?AVBitmap@Gdiplus@@
.?AVbitstream@@
.?AVbitstreamACE@@
.?AVbitstreamArcSqz@@
.?AVbitstreamLSB@@
.?AVbitstreamLX@@
.?AVbitstreamLZMA@@
.?AVbitstreamLZMAT@@
.?AVbitstreamMSB@@
.?AVbitstreamNeolite@@
.?AVbitstreamNLSB@@
.?AVbitstreamNT1@@
.?AVbitstreamRAR@@
.?AVbitstreamRAR5@@
.?AVbitstreamUCExe@@
.?AVbitstreamUPACK@@
.?AVBlobInfoNotifier@@
.?AVBlobState@@
.?AVblob_tdt_config_imp@tdt_library@@
.?AVblob_tdt_config_imp@tdt_library_v3@@
.?AVBmBufferWriter@ConnectionCacheInfo@@
.?AVBmController@@
.?AVBmDetectionDetails@@
.?AVBmExclusions@@
.?AVBmInternalInfo@@
.?AVBMItemHandler@@
.?AVBMReport@@
.?AVBMSDetectionHandler@@
.?AVBmStringReader@ConnectionCacheInfo@@
.?AVBond_ActiveDesktop@@
.?AVBond_ActiveX@@
.?AVBond_AdapterGateway@@
.?AVBond_AdaptiveAnomalyReport@@
.?AVBond_AmsiUacInfo@@
.?AVBond_AnomalyTable@@
.?AVBond_AnomalyTableRow@@
.?AVBond_AntiRootkit@@
.?AVBond_API@@
.?AVBond_AsrReport@@
.?AVBond_Audit@@
.?AVBond_AutomaticStep@@
.?AVBond_AVProduct@@
.?AVBond_AVState@@
.?AVBond_AzSubmitFeedback@@
.?AVBond_BackendMetadata@@
.?AVBond_Behavior@@
.?AVBond_BehaviorReport@@
.?AVBond_BHO@@
.?AVBond_BinaryURL@@
.?AVBond_BootExec@@
.?AVBond_BootRemoval@@
.?AVBond_BootSampleSubmissionAttempt@@
.?AVBond_BootThreatReport@@
.?AVBond_CertificateChain@@
.?AVBond_CheckpointRegkey@@
.?AVBond_CLSID@@
.?AVBond_ConnectedToInternet@@
.?AVBond_ContainerReferral@@
.?AVBond_ContextMenuHandler@@
.?AVBond_CoreReport@@
.?AVBond_DefaultBrowser@@
.?AVBond_DefaultBrowsers@@
.?AVBond_DependentFile@@
.?AVBond_DesktopBehavior@@
.?AVBond_Deviation@@
.?AVBond_DigitalCertificate@@
.?AVBond_DigitalSignature@@
.?AVBond_DigitalSignatureQuery@@
.?AVBond_DnsCache@@
.?AVBond_DnsRecord@@
.?AVBond_DnsServer@@
.?AVBond_DnsServers@@
.?AVBond_Driver@@
.?AVBond_DriverData@@
.?AVBond_EtwBehavior@@
.?AVBond_Exclusion@@
.?AVBond_Exclusions@@
.?AVBond_File@@
.?AVBond_FileAssociation@@
.?AVBond_FileAssociations@@
.?AVBond_FileQuery@@
.?AVBond_FileReport@@
.?AVBond_FirewallApprovedFile@@
.?AVBond_FirewallPort@@
.?AVBond_FirewallRuleReport@@
.?AVBond_FirmwareEnvironmentNameSpace@@
.?AVBond_FirmwareEnvironmentVariable@@
.?AVBond_ForwardReferral@@
.?AVBond_Hardware@@
.?AVBond_HeartbeatError@@
.?AVBond_HeartbeatErrors@@
.?AVBond_HookChain@@
.?AVBond_Hooked@@
.?AVBond_HostsFile@@
.?AVBond_IEExplorerBar@@
.?AVBond_IEExtension@@
.?AVBond_IEMenuExtension@@
.?AVBond_IEPlugin@@
.?AVBond_IEShellBrowser@@
.?AVBond_IEToolbar@@
.?AVBond_IEURL@@
.?AVBond_IEURLSearchHook@@
.?AVBond_IEWebBrowser@@
.?AVBond_ImageFileExecOption@@
.?AVBond_INIFileMapping@@
.?AVBond_InternalBehavior@@
.?AVBond_InternalInfo@@
.?AVBond_LowfiContext@@
.?AVBond_MapsLatency@@
.?AVBond_Memory@@
.?AVBond_MemoryReport@@
.?AVBond_MemoryScanReport@@
.?AVBond_MemoryThreatReport@@
.?AVBond_MitigationOption@@
.?AVBond_MitigationOptionInfo@@
.?AVBond_MpKeyValuePair@@
.?AVBond_MputData@@
.?AVBond_MputDataPoint@@
.?AVBond_NameServerProtection@@
.?AVBond_NetworkAccess@@
.?AVBond_NetworkConnection@@
.?AVBond_NetworkConnectionRegistry@@
.?AVBond_NetworkConnectionReport@@
.?AVBond_NetworkConnectionReportV2@@
.?AVBond_NetworkInformation@@
.?AVBond_NetworkInformationRegistry@@
.?AVBond_NonfileSampleAvailable@@
.?AVBond_OpenProcessBehavior@@
.?AVBond_ParticipatingModule@@
.?AVBond_PeExport@@
.?AVBond_PersistedInfo@@
.?AVBond_PrevalentFileReport@@
.?AVBond_PrevalentFileReportStats@@
.?AVBond_PrevalentUrlReport@@
.?AVBond_ProcessFilePair@@
.?AVBond_ProcessInfo@@
.?AVBond_ProcessModifier@@
.?AVBond_ProcessStartupDetails@@
.?AVBond_RecoveredResource@@
.?AVBond_REG@@
.?AVBond_Registry@@
.?AVBond_RegistryManipulation@@
.?AVBond_RelatedString@@
.?AVBond_RemediationCheckpointReport@@
.?AVBond_RemediationCheckpointResource@@
.?AVBond_RemediationConfiguration@@
.?AVBond_RemediationStatusReport@@
.?AVBond_ReportQuery@@
.?AVBond_ResearchDataEx@@
.?AVBond_RestrictRun@@
.?AVBond_RootCertReport@@
.?AVBond_RootkitThreatReport@@
.?AVBond_RsignalLog@@
.?AVBond_RTPContextualData@@
.?AVBond_RtpProcessInfo@@
.?AVBond_RtpScanTelemetry@@
.?AVBond_Sample@@
.?AVBond_SampleRequest@@
.?AVBond_Samples@@
.?AVBond_Segment@@
.?AVBond_Service@@
.?AVBond_ShellColumnHandler@@
.?AVBond_ShellExecuteHook@@
.?AVBond_ShellOpenCommand@@
.?AVBond_ShellServiceObjectDelayLoad@@
.?AVBond_SignatureGenerationMetadata@@
.?AVBond_SignatureInfo@@
.?AVBond_SignatureMatch@@
.?AVBond_SignaturePatch@@
.?AVBond_SignatureRequest@@
.?AVBond_SpynetCollectionErrors@@
.?AVBond_SpynetError@@
.?AVBond_SpynetReport@@
.?AVBond_SpynetReportResponse@@
.?AVBond_StartupRegistrykey@@
.?AVBond_StringReport@@
.?AVBond_SubmitSpynetReportResult@@
.?AVBond_SystemCacheFile@@
.?AVBond_TableHook@@
.?AVBond_ThreadThreatReport@@
.?AVBond_ThreatDetails@@
.?AVBond_ThreatFileManipulation@@
.?AVBond_ThreatNotFound@@
.?AVBond_ThreatSeverityDefaultAction@@
.?AVBond_TimestampChain@@
.?AVBond_TxtRecord@@
.?AVBond_UniversalQuery@@
.?AVBond_UnknownFileManipulation@@
.?AVBond_UrlContext@@
.?AVBond_UrlContextElement@@
.?AVBond_UrlElement@@
.?AVBond_UrlList@@
.?AVBond_UrlReport@@
.?AVBond_UrlResponse@@
.?AVBond_UrlResponseContext@@
.?AVBond_UrlResponseContextElement@@
.?AVBond_UrlResult@@
.?AVBond_User@@
.?AVBond_UserShellFolder@@
.?AVBond_VolumeMountBehavior@@
.?AVBond_WindowsUpdateStatus@@
.?AVBond_WmiThreatReport@@
.?AVBootChangeNotification@@
.?AVBootChangeResourceItem@@
.?AVBootRecordCleanStoreImpl@BootRecordCleanStore@@
.?AVBreakpoint2Attribute@@
.?AVBreakpointCallback@@
.?AVBreakpointContainer@@
.?AVBreakpointManager@@
.?AVBriefLZ@@
.?AVBSWRandom@@
.?AVBtrReport@@
.?AVBuffer_7Z@@
.?AVBufferDeleter@cloud_store@wil@@
.?AVBufferReader@@
.?AVbuffer_view_overflow@@
.?AVBufferWriter@@
.?AVBuffTracer@@
.?AVButton@DirectUI@@
a||vb||Wb||1b||
a||vb||Wb||;b||
.?AVBZip2@@
.?AVC7ZPasswordDictionary@@
.?AVCabInterface@@
.?AVCabUnplibWriter@@
.?AVCAccel@@
.?AVCachedFile@@
.?AVCachedFileReader@@
.?AVCacheMgr@@
.?AVCAction@Actions@@
.?AVCActionPane@@
.?AVCActionPaneSection@@
.?AVCActionPaneTask@@
.?AVCActionPaneZone@@
.?AVCActionsPaneView@@
.?AVCActionTracker@Actions@@
.?AVCAddFavDialog@@
.?AVCAddFavGroupDialog@@
.?AVCAdler32Analyzer@@
.?AVCAdvSampleSubmission@@
.?AVCAdvSampleSubmissionManager@@
.?AVCAlgorithmIdentifierParser@@
.?AVCallbackContext@@
.?AVCAllocSMSScanner@@
.?AVCAMCApp@@
.?AVCAMCDoc@@
.?AVCAMCDocManager@@
.?AVCAMCDocumentObserver@@
.?AVCAMCHeaderCtrl@@
.?AVCAMCListView@@
.?AVCAMCMultiDocTemplate@@
.?AVCAMCNavigator@@
.?AVCAMCProgressCtrl@@
.?AVCAMCStatusBar@@
.?AVCAMCTreeView@@
.?AVCAMCView@@
.?AVCAMCViewObserver@@
.?AVCAMCViewToolbars@@
.?AVCAMCViewToolbarsMgr@@
.?AVCAMCViewToolbarsObserver@@
.?AVCAMCWebViewCtrl@@
.?AVCancelAdaptor_Filter@@
.?AVCanceler@?1??xz_unpack_helper@@YAHAEAUSCAN_REPLY@@AEAUxz_context@XZStream@@@Z@
.?AV_CancellationTokenRegistration@details@Concurrency@@
.?AVCAnomalyEvent@@
.?AVCAnomalyManager@@
.?AVCAnomalyTable@@
.?AVCAntimalwareProduct@@
.?AVCApiIdExtractor@@
.?AVCApplication@@
.?AVCArchitecturePicker@@
.?AVCArea51Unpacker@@
.?AVCArea51V11Unpacker@@
.?AVCAsyncProcess@@
.?AVCAsyncResource@@
.?AVCAtlException@ATL@@
.?AVCAtlStringMgr@ATL@@
.?AVCAuthenticodeContentInfo@@
.?AVCAuthenticodeContentInfoParser@@
.?AVCAuthenticodeEnhancedHash@@
.?AVCAuthenticodeEnhancedHashParser@@
.?AVCAuthorityInfoAccessParser@@
.?AVCAutoBelowNormalThreadPriority@@
.?AVCAutoBoostThreadPriority@@
.?AVCAutoBoostThreadPriorityWithRestore@@
.?AVCAutoFreeSecDesc@@
.?AVCAutomaticStepsAction@Actions@@
.?AVCAxFrameWindow@ATL@@
.?AVCAxHostWindow@ATL@@
.?AVCAxUIWindow@ATL@@
.?AVCBackgroundProcessingSysIoInfo@@
.?AVCBaseCharStream@@
.?AVCBaseThreatHandler@Actions@@
.?AVCBitmap@@
.?AVcbitstream@@
.?AVcbitstreamQuantum@@
.?AVcbitxpress@@
.?AVCBookmark@@
.?AVCBrightnessTile@@
.?AVCBrush@@
.?AVCBufferContentReader@@
.?AVCBufferSubmissionEntry@@
.?AVCButton@@
.?AVCCCListViewCtrl@@
.?AVCCheckpoint@@
.?AVCCheckpointResource@@
.?AVCCheckpointScanParams@@
.?AVCCheckpointScanTask@@
.?AVCChildFrame@@
.?AVCCleanAction@Actions@@
.?AVCCleanFileData@@
.?AVCCleanFileDataEntry@@
.?AVCCleanFileTelemetry@@
.?AVCCleanUrlDataEntry@@
.?AVCClientDC@@
.?AVCCmdOptionsLookupMap@CommonUtil@@
.?AVCCmdTarget@@
.?AVCCmdUI@@
.?AVCCod1Decrypter@?3??DecryptCod1@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCColumn@@
.?AVCColumnInfo@@
.?AVCColumnInfoList@@
.?AVCColumnsBase@@
.?AVCComClassFactory@ATL@@
.?AVCCommandLineInfo@@
.?AVCCommonDialog@@
.?AVCCommonRequest@winHttp@@
.?AVCComObjectObserver@@
.?AVCComObjectRootBase@ATL@@
.?AVCCOMSnapInReference@@
.?AVCConfigurableObject@winHttp@@
.?AVCConnection@winHttp@@
.?AVCConsoleDialog@@
.?AVCConsoleDocument@@
.?AVCConsoleEventDispatcher@@
.?AVCConsoleFilePersistor@@
.?AVCConsoleFrame@@
.?AVCConsolePropPage@@
.?AVCConsolePropSheet@@
.?AVCConsoleStatusBar@@
.?AVCConsoleTree@@
.?AVCConsoleView@@
.?AVCCountSvchostVisitor@?1??QuarantineSvchostKeys@CResmgrService@@QEAAKPEB_WPEAVCQuaResource@Quarantine@@@Z@
.?AVCCRC32Decrypter@@
.?AVCCriticalSection@@
.?AVCCritSectionBase@@
.?AVCCryptDecrypter@?3??Crypt@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCCrypter@@
.?AVCCrypter1337Unpacker@@
.?AVCCrypter1337V2Unpacker@@
.?AVCCtlContentInfo@@
.?AVCCtlContentInfoParser@@
.?AVCCtrlView@@
.?AVCDC@@
.?AVCDcData@@
.?AVCDcState@@
.?AVCDECADA82Decrypter@?3??DecryptDECADA82@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCDefaultDataList@@
.?AVCDeferredLayout@CAMCView@@
.?AVCDeferredRenameListItem@@
.?AVCDeferredResultPaneActivation@@
.?AVCDelayedBmAction@@
.?AVCDelayedStartupTask@?2??ScheduleDelayedStartupTasks@@YAXXZ@
.?AVCDeleteSysioRepositoryFile@CleanStore@@
.?AVCDescriptionCtrl@@
.?AVCDialog@@
.?AVCDiffRegKey@@
.?AVCDirectUIRender@@
.?AVCDiskCleanupPage@@
.?AVCDisplayOrientationTile@@
.?AVCDistinguishedName@@
.?AVCDistinguishedNameParser@@
.?AVCDllCacheRepository@CleanStore@@
.?AVCDlpController@@
.?AVCDocHostUIHandlerDispatch@@
.?AVCDockSite@@
.?AVCDockWindow@@
.?AVCDocManager@@
.?AVCDocTemplate@@
.?AVCDocument@@
.?AVCDriverInterface@ITS_IFC@@
.?AVCDumpPathParser@@
.?AVCDynamicPathEntry@@
.?AVCEccPublicKey@@
.?AVCEdit@@
.?AVCElementBehaviorFactory@@
.?AVCEmbeddedFiles@@
.?AVCEMSContext@@
.?AVCEmsProgressCallback@@
.?AVCEMSTele@@
.?AVCEngineEtwRundownProvider@@
.?AVCEnhancedKeyUsageParser@@
.?AVCEntry@@
.?AVCError@@
.?AVcert@@
.?AVCertFileOpenInterface@@
.?AVCEtwRundownProviders@@
.?AVCEventDispatcherBase@@
.?AVCEventSourceBase@@
.?AVCExplicitAccessControl@CommonUtil@@
.?AVCExtensibleTile@@
.?AVCExternalDisplayTile@@
.?AVCFailureTelemetry@@
.?AVCFavFolderDialog@@
.?AVCFavObject@@
.?AVCFavorites@@
.?AVCFavoriteXMLList@@
.?AVCFavTreeCtrl@@
.?AVCFileContentReader@@
.?AVCFileDialog@@
.?AVCFileDialogEx@@
.?AVCFileIdentifier@CleanStore@@
.?AVCFileQueryParser@Spynet@@
.?AVCFixChromeShortcutsAction@Actions@@
.?AVCFixEdgeAction@Actions@@
.?AVCFixEdgeExtensionsAction@Actions@@
.?AVCFixIeAction@Actions@@
.?AVCFixIeShortcutsAction@Actions@@
.?AVCFixPolicyAction@Actions@@
.?AVCFixRegSettingAction@Actions@@
.?AVCFixRestoreWU_BITS@Actions@@
.?AVCFlatEnumFiles@CommonUtil@@
.?AVCFocusHandler@@
.?AVCFocusSubclasser@@
.?AVCFolderGuardController@@
.?AVCFolderTabMetrics@@
.?AVCFolderTabView@@
.?AVCFont@@
.?AVCFontLinker@@
.?AVCFrameState@@
.?AVCFrameSubclasser@@
.?AVCFrameSubclasser@CToolbarTracker@@
.?AVCFrameWnd@@
.?AVCFxSnapInReference@@
.?AVCGdiObject@@
.?AVCGearAdlSignatureUpdate@@
.?AVCGearContainer@@
.?AVCGearEngine@@
.?AVCGearLib@@
.?AVCGearManager@@
.?AVCGearObject@@
.?AVCGearQuarantine@@
.?AVCGearScan@@
.?AVCGearSignatureUpdate@@
.?AVCGearUncSignatureUpdate@@
.?AVCGetProcessInfo@@
.?AVCGlobalNullSysIoInfo@@
.?AVCHalftoneClientDC@@
.?AVCHandleByteStream@@
.?AVChangeCacheIdDataT@@
.?AVcharNode@@
.?AVCHash@@
.?AVCHeaderCtrl@@
.?AVCheckHWowPath@@
.?AVCheckMemory@?A0xab9be007@@
.?AVCheckMOACPath@@
.?AVCHipsDetectionEnumerator@@
.?AVCHResultException@CommonUtil@@
.?AVCHResultExceptionImpl@CommonUtil@@
.?AVCHWowFileMapper@@
.?AVCIdleTask@@
.?AVCIlKernel32@@
.?AVCImageContext@@
.?AVCImageList@@
.?AVCImageList@WTL@@
.?AVCInvertDecrypter@?3??Invert@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCIsuConfiguration@@
.?AVCItem@AsyncWork@@
.?AVCJDPack090Unpacker@@
.?AVCJDPack101bUnpacker@@
.?AVCJDPack101Unpacker@@
.?AVCJDPack20Unpacker@@
.?AVCJDPackUnpacker@@
.?AVCKeyboardNavDelay@CAMCTreeView@@
.?AVCKeyboardNavDelayTimer@@
.?AVCKeyOperation@@
.?AVCKslManager@@
.?AVclassifier@bit_shovel_plugins@@
.?AVclassifier@bit_shovel_plugins@tdt_library_v3@@
.?AVclassifier_config@bit_shovel_plugins@@
.?AVclassifier_config@bit_shovel_plugins@tdt_library_v3@@
.?AVclassifier_detect@bit_shovel_plugins@@
.?AVclassifier_detect@bit_shovel_plugins@tdt_library_v3@@
.?AVclassifier_factory@bit_shovel_plugins@@
.?AVclassifier_factory@bit_shovel_plugins@tdt_library_v3@@
.?AVclassifier_plugin@bit_shovel_plugins@@
.?AVclassifier_plugin@bit_shovel_plugins@tdt_library_v3@@
.?AVClassInfoBase@DirectUI@@
.?AVCleanFileTelemetryCallback@@
.?AVCLegacyFixIeAction@Actions@@
.?AVCListCtrl@@
.?AVCListFontLinker@@
.?AVCListView@@
.?AVCListViewActivationObserver@@
.?AVCListViewObserver@@
.?AVCLKRhashAllocator@@
.?AVCLKRhashDefaultAllocator@@
.?AVCLKRLinearHashTable@LKRhash@@
.?AVCLocalCacheRepository@CleanStore@@
.?AVCLocalFileRepository@CleanStore@@
.?AVCLogicalVolumeOwner@@
.?AVclone_base@exception_detail@boost@@
.?AVCLowerEngineCallbackUserDataBase@@
.?AVCLsaFfrLib@@
.?AVCLsaRemediationLib@@
.?AVCLuaScriptAction@Actions@@
.?AVCMachOCDHashesParser@@
.?AVCMainFrame@@
.?AVCMaintenanceCleanFileTelemetryTask@@
.?AVCMaintenanceMetaStoreTask@@
.?AVCMaintenanceOriginalFileNameTask@@
.?AVCMaintenanceScanTask@@
.?AVCMasterStringTable@@
.?AVCMCSlider@@
.?AVCMCVolumeSlider@@
.?AVCMDIChildWnd@@
.?AVCMDIClientWnd@@
.?AVCMDIFrameWnd@@
.?AVCMDIMenuDecoration@@
.?AVCMDIMenuDecorationAccessible@@
.?AVCMemento@@
.?AVCMenu@@
.?AVCMenuBar@@
.?AVCMenuButtonsMgr@@
.?AVCMenuButtonsMgrImpl@@
.?AVCMessageBoxDecrypter@?3??ProcessMessageBox@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCMessageMap@ATL@@
.?AVCMigPluginSurrogate@@
.?AVCMMCApplication@@
.?AVCMMCApplicationFrame@@
.?AVCMMCAxHostWindow@@
.?AVCMMCAxWindow@@
.?AVCMMCCommandLineInfo@@
.?AVCMMCDocument@@
.?AVCMMCDropSource@@
.?AVCMMCDropTarget@@
.?AVCMMCResultNode@@
.?AVCMMCToolBar@@
.?AVCMMCToolBarAccServer@@
.?AVCMMCToolBarCtrlEx@@
.?AVCMMCToolbarIntf@@
.?AVCMMCView@@
.?AVCMMCViewBehavior@@
.?AVCMMCViewDropTarget@@
.?AVCMMCViewFrame@@
.?AV_CMMCViews@@
.?AVCMobilityCenter@@
.?AVCModernFixIeAction@Actions@@
.?AVCModMonController@@
.?AVCMoleBox@@
.?AVCMoleBox_230@@
.?AVCMoleBox_23640@@
.?AVCMpAsimovRegisterAggregate@@
.?AVCMpCompletionPort@CommonUtil@@
.?AVCMpContainerFileReaderHandle@@
.?AVCMpContainerHandle@@
.?AVCMpContainerHandleOverIFile@@
.?AVCMpCrc32@CommonUtil@@
.?AVCMpCryptHashStreamDownlevel@CMpCryptProviderDownlevel@CommonUtil@@
.?AVCMpCryptHashStreamVista@CMpCryptProviderVista@CommonUtil@@
.?AVCMpCryptProviderDownlevel@CommonUtil@@
.?AVCMpCryptProviderVista@CommonUtil@@
.?AVCMpGlobalVarHolder@CommonUtil@@
.?AVCMpGlobalVarsTable@CommonUtil@@
.?AVCMpMd5@CommonUtil@@
.?AVCMpOverlappedBase@CommonUtil@@
.?AVCMpOverlappedCommonBase@CommonUtil@@
.?AVCMpPrivateThreadPool@CommonUtil@@
.?AVCMpScanner@@
.?AVCMpSha1@CommonUtil@@
.?AVCMpSha256@CommonUtil@@
.?AVCMpShutter@CommonUtil@@
.?AVCMpShutterWait@CommonUtil@@
.?AVCMpSigStubLog@@
.?AVCMpSigStubTable@@
.?AVCMpSimpleThreadPool@CommonUtil@@
.?AVCMpThreadPoolItemBase@CommonUtil@@
.?AVCMpThreadPoolProviderVista@CommonUtil@@
.?AVCMpThreadPoolTimerVista@CommonUtil@@
.?AVCMpThreadPoolVistaHelper@CommonUtil@@
.?AVCMpUpperEngineComponent@@
.?AVCMpUtilsLibrary@CommonUtil@@
.?AVCMsiFileInfo@@
.?AVCMultiDocTemplate@@
.?AVCNamespaceProvider@@
.?AVCNodes@@
.?AVCNullAction@Actions@@
.?AVCObject@@
.?AVCObjectDirectoryIter@@
.?AVCObjHashInfo@@
.?AVCObjMetadataInfo@@
.?AVCObserverBase@@
.?AVCOCXCtrlWrapper@@
.?AVCOCXHostActivationObserver@@
.?AVCOCXHostView@@
.?AVcodecvt_base@std@@
.?AVCOfflineRegKey@@
.?AVCOffsetFindFileHandle@@
.?AV_com_error@@
.?AVCommiter@@
.?AVCompactBinaryV1Serializer@@
.?AVCompletedOverlapped@ThrottlingAgent@@
.?AVComplexDecode@@
.?AVCompress5@@
.?AVCompressMethod@@
.?AVConfiguration@Uev@@
.?AVConfigUtil@Uev@@
.?AVContentReaderAdapter@@
.?AVContextualData@@
.?AVcore_telemetry_data_buffer_base_t@bit_shovel_plugins@tdt_library_v3@@
.?AVcore_telemetry_preprocessor@bit_shovel_plugins@@
.?AVcore_telemetry_preprocessor@bit_shovel_plugins@tdt_library_v3@@
.?AVcore_telemetry_publisher_api@bit_shovel_plugins@@
.?AVcore_telemetry_publisher_api@bit_shovel_plugins@tdt_library_v3@@
.?AVcore_telemetry_publisher@bit_shovel_plugins@@
.?AVcore_telemetry_publisher@bit_shovel_plugins@tdt_library_v3@@
.?AVCOrganizeFavDialog@@
.?AVCPage_AskClean@@
.?AVCPage_AskCleanLowMed@@
.?AVCPage_AskFullScan@@
.?AVCPage_Disinfect@@
.?AVCPage_EULA@@
.?AVCPage_Results@@
.?AVCPage_ScanProgress@@
.?AVCPage_ScanType@@
.?AVCPage_Welcome@@
.?AVCParserBase@Spynet@@
.?AVCPasswordDictionary@@
.?AVCPathExclusionCtx@@
.?AVCPathExclusionCtxInfo@@
.?AVCPathExclusionsCache@@
.?AVCPathParser@@
.?AVCPathQueueData@@
.?AVCPECompact2Unpacker@@
.?AVCPECompact2V20x_21xFix@@
.?AVCPECompact2V20x_21xUnpacker@@
.?AVCPECompact2V230Unpacker@@
.?AVCPECompact2V250FixE8E9@@
.?AVCPECompact2V250Unpacker@@
.?AVCPeFileInfo@@
.?AVCPen@@
.?AVCPeriodicAtomicCountersScavenge@?2??ScheduleDelayedStartupTasks@@YAXXZ@
.?AVCPeriodicRollingQueueScavenge@?2??ScheduleDelayedStartupTasks@@YAXXZ@
.?AVCPeriodicSupportLogsFlush@?2??ScheduleDelayedStartupTasks@@YAXXZ@
.?AVCPESpinUnpacker@@
.?AVCPetite12Unpacker@@
.?AVCPetite13Unpacker@@
.?AVCPetite14Unpacker@@
.?AVCPetite21_22Unpacker@@
.?AVCPetite23Unpacker@@
.?AVCPetiteUnpacker@@
.?AVCPkcs6Certificate@@
.?AVCPkcs7ContentInfo@@
.?AVCPkcs7DataContentInfo@@
.?AVCPkcs7SignedData@@
.?AVCPkcs7SignedDataParser@@
.?AVCPkcs7SignerInfo@@
.?AVCPkcs7SignerInfoParser@@
.?AVCPluginDecryptor@@
.?AVCPMEnvironmentVariable@CPMEnvironmentVariableList@@
.?AVCPMEnvironmentVariableList@@
.?AVCPMProfile@@
.?AVCPMUser@@
.?AVCPowerTile@@
.?AVCPrecheckAction@Actions@@
.?AVCPrecheckThreatHandler@Actions@@
.?AVCPredefinedMpHeapsHolder@CommonUtil@@
.?AVCPresentationTile@@
.?AVCProcessCommitAction@Actions@@
.?AVCProcessExclusions@@
.?AVCProfileMgr@@
.?AVCProgressCtrl@@
.?AVCProperty@CleanStore@@
.?AVCPropertyFileIdentifier@CleanStore@@
.?AVCPropertyPage@@
.?AVCPropertyRule@CleanStore@@
.?AVCPropertySheet@@
.?AVCProxyManager@winHttp@@
.?AVCPseudoLockBase@@
.?AVcpt@@
.?AVCPtrList@@
.?AVCPtrObject@CommonUtil@@
.?AVCPtrObjectProcessHeap@CommonUtil@@
.?AVCPUALatentRecurseFilter@@
.?AVCPUContext@@
.?AVCPUContextAdaptor@@
.?AVCQexQuaEntry@QexQuarantine@@
.?AVCQexQuaResourceData@QexQuarantine@@
.?AVCQexQuaResource@QexQuarantine@@
.?AVCQuaEntry@Quarantine@@
.?AVCQuaEnum@Quarantine@@
.?AVCQuarantineAction@Actions@@
.?AVCQuarantineCommitAction@Actions@@
.?AVCQuarantineSizeCheckAction@Actions@@
.?AVCQuaResourceData@Quarantine@@
.?AVCQuaResource@Quarantine@@
.?AVCQuaStore@Quarantine@@
.?AVCRarEncryptedStream@@
.?AVCRawDiffFindFileHandle@@
.?AVCRawFile@@
.?AVCRawFindFileHandle@@
.?AVCRCHashContext@@
.?AVCRebarDockWindow@@
.?AVCRebarWnd@@
.?AVCRecoverDetails@@
.?AVCRecursiveEnumFiles@CommonUtil@@
.?AVCRefCountedBase@@
.?AVCRefCountedBaseX@@
.?AVCRefObject@CommonUtil@@
.?AVCRefVirtualObject@CommonUtil@@
.?AVCRegionReader@@
.?AVCRegistrySecurityDescriptor@@
.?AVCRegValue@@
.?AVCRemovalAction@Actions@@
.?AVCRemoveSvchostVisitor@?1??RemoveSvchostKeys@CResmgrService@@QEAAKPEB_W@Z@
.?AVCRepositoryFile@CleanStore@@
.?AVCRequestedSubmissions@@
.?AVCRequest@winHttp@@
.?AVCReRemovalAction@Actions@@
.?AVCResetChromeAction@Actions@@
.?AVCResetNewEdgeAction@Actions@@
.?AVCResmgrAmsi@@
.?AVCResmgrAmsiUac@@
.?AVCResmgrAppmodel@@
.?AVCResmgrBehavior@@
.?AVCResmgrBitsJob@@
.?AVCResmgrBoot@@
.?AVCResmgrBootSync@@
.?AVCResmgrCertStore@@
.?AVCResmgrCmdLine@@
.?AVCResmgrCmdLineFile@@
.?AVCResmgrCommandline@@
.?AVCResmgrDumpFile@@
.?AVCResmgrElam@@
.?AVCResmgrems@@
.?AVCResmgrFile@@
.?AVCResmgrFileIdentifier@CleanStore@@
.?AVCResmgrFileRedir@@
.?AVCResmgrFolder@@
.?AVCResmgrGenStream@@
.?AVCResmgrHookWow@@
.?AVCResmgrIoavStream@@
.?AVCResmgrKeyentry@@
.?AVCResmgrListval@@
.?AVCResmgrLsp@@
.?AVCResmgrNetworkIP@@
.?AVCResmgrNoscanBase@@
.?AVCResmgrPlugin@@
.?AVCResmgrProcess@@
.?AVCResmgrRegkey@@
.?AVCResmgrRemediationCheckpoint@@
.?AVCResmgrRootkit@@
.?AVCResmgrService@@
.?AVCResmgrSfcFile@@
.?AVCResmgrSMS@@
.?AVCResmgrSpecialfolder@@
.?AVCResmgrStub@@
.?AVCResmgrSysIoInfo@@
.?AVCResmgrUefiFirmware@@
.?AVCResmgrUefiVar@@
.?AVCResmgrWebscript@@
.?AVCResmgrWmi@@
.?AVCResourceAction@Actions@@
.?AVCResponseParser@Spynet@@
.?AVCRestRequest@winHttp@@
.?AVCResultItem@@
.?AVCResultViewType@@
.?AVCRgn@@
.?AVCRHandleVhdReader@@
.?AVCriticalSection@@
.?AVCRnd5Decrypter@?1??Rnd5Polymorph0@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCRnd5Polymorph@?1??Rnd5Polymorph1@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCRnd5Polymorph@?1??Rnd5Polymorph2@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCRsaPublicKey@@
.?AVCRsaPublicKeyParser@@
.?AVCrypter1337V2Decryptor@@
.?AVCSafeCriticalSection@UICoreLib@@
.?AVCSampleException@@
.?AVCSampleSubmission@@
.?AVCSaveFileDialog@@
.?AVCScanUserDataBoot@@
.?AVCScanUserDataBootClean@@
.?AVCScanUserDataBootScan@@
.?AVCScanUserDataFile@@
.?AVCScanUserDataFileClean@@
.?AVCScanUserDataFileScan@@
.?AVCScanUserDataFolder@@
.?AVCScanUserDataProcess@@
.?AVCScriptAction@Actions@@
.?AVCSecurityAttributesHolder@CommonUtil@@
.?AVCSensor@AntiRootkit@@
.?AVCSerialObject@@
.?AVCServicePrequeryAction@Actions@@
.?AVCSession@winHttp@@
.?AVCSetCurrentPUAUser@@
.?AVCSharedRemediationDetails@Actions@@
.?AVCShutdownOverlapped@CommonUtil@@
.?AVCSignature@@
.?AVCSignatureInfo@@
.?AVCSignaturePackage@@
.?AVCSignaturePackages@@
.?AVCSignatureUpdateObject@@
.?AVCSimpleCRC32Decrypter@?7??CRC32@CPECompact2V250Unpacker@@IEAA_NKKKAEAK@Z@
.?AVCSimpleMapItem@CCmdOptionsLookupMap@CommonUtil@@
.?AVCSingletonClassFactory@@
.?AVCSmartIcon@@
.?AVCSMSContext@@
.?AVCSMSScanner@@
.?AVCSnapInReference@@
.?AVCSnapInReferencePtr@@
.?AVCSoapRequest@winHttp@@
.?AVCSpynetReport@Spynet@@
.?AVCStandardToolbar@@
.?AVCStatBar@@
.?AVCStatic@@
.?AVCStdVerbButtons@@
.?AVCStr@@
.?AVCStrArgsIter@CommonUtil@@
.?AVCStringEnumerator@@
.?AVCStringTable@@
.?AVCStringTableString@@
.?AVCStringTableStringBase@@
.?AVCSubclasser@@
.?AVCSubjectAltNameParser@@
.?AVCSubmissionEntry@@
.?AVCSupportLog@@
.?AVCSvchostVisitor@@
.?AVCSxsBackupRepository@CleanStore@@
.?AVCSxSDeCompressor@CleanStore@@
.?AVCSxSLzmsDeCompressor@CleanStore@@
.?AVCSxSNoneDeCompressor@CleanStore@@
.?AVCSxsNullDeltaDeCompressor@CleanStore@@
.?AVCSymbolImageRepository@CleanStore@@
.?AVCSyncObject@@
.?AVCSyncTile@@
.?AVCSyscleanRPFProcessor@@
.?AVCSyscleanScriptAction@Actions@@
.?AVCSysColorImageList@@
.?AVCSysIoInfoAllowVssProxy@@
.?AVCSysIoInfoAllowVssUsingExistingSnapshotProxy@@
.?AVCSysIoInfoBlockRawProxy@@
.?AVCSysIoInfoForceImpersonationProxy@@
.?AVCSysIoInfoForceOplockNoRawProxy@@
.?AVCSysIoInfoProxyBase@@
.?AVCSysIoNtFindFileHandle@@
.?AVCSysioPeFileReader@@
.?AVCSysIoRawDiffModeInfoProxy@@
.?AVCSysIoRawFirstModeInfoProxy@@
.?AVCSysIoRawModeInfoProxy@@
.?AVCSysioRepositoryFile@CleanStore@@
.?AVCSysIoRequestBestOplockProxy@@
.?AVCSysIoRequestOplockProxy@@
.?AVCTabAccessible@@
.?AVCTaskPadHost@@
.?AVCTcg@@
.?AVCTcgLogIter@@
.?AVCThreatDataDictionary@@
.?AVCThreatHandler@Actions@@
.?AVCTiedComObjectRoot@@
.?AVCTiedObject@@
.?AVCTile@@
.?AVCTimerCallbackBase@AsyncWork@@
.?AVCTimerHandle@CommonUtil@@
.?AVCTimestampTokenInfo@@
.?AVCTimestampTokenParser@@
.?AVCTitanApp@@
.?AVCTitanDisinfectDlg@@
.?AVCTitanThreatsDlg@@
.?AVCTitanWizard@@
.?AVCTitanWizardPageBase@@
.?AVCTlsItemConfig@@
.?AVCTlsKey@CommonUtil@@
.?AVCTlsManager@CommonUtil@@
.?AVCToolBarCtrl@@
.?AVCToolBarCtrlBase@@
.?AVCToolBarCtrlEx@@
.?AVCToolbarNotify@@
.?AVCToolbarTracker@@
.?AVCToolbarTrackerAuxWnd@@
.?AVCToolCmdUIEx@@
.?AVCTpmRegistration@@
.?AVCTrackingSubclasserBase@@
.?AVCTransportProvider@@
.?AVCTreeCtrl@@
.?AVCTreeFontLinker@@
.?AVCTreeObserver@@
.?AVCTreeObserverTreeImpl@@
.?AVCTreeSource@@
.?AVCTreeView@@
.?AVCTreeViewMap@@
.?AVCTreeViewObserver@@
.?AVCTriggerAsyncResourceScan@@
.?AVCTsdBase@CommonUtil@@
.?AVCUdfBootImage@@
.?AVCUdfDirectory@@
.?AVCUdfDisk@@
.?AVCUdfFile@@
.?AVCUdfObject@@
.?AVCUdfObjectInfo@@
.?AVCUdfVolume@@
.?AVCUfsReader@@
.?AVCUnjunk@@
.?AVCUnjunkCall@@
.?AVCureFileWriter@@
.?AVCurrentFileReader@@
.?AVCUserDbQuaEnum@@
.?AVCUserDbQuaStore@QexQuarantine@@
.?AVCUserOnlySysIoInfo@@
.?AVCUserProfiles@@
.?AVCustomKCRCManager@@
.?AVCUtf8Stream@@
.?AVCUtilRegEnumSubKeys@CommonUtil@@
.?AVCVerbObserver@@
.?AVCVerifyDecrypter@?3??CRCVerify@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVCVersion20x_21xCRC32Decrypter@?1??ExecuteCodecPlugin@CPECompact2V20x_21xUnpacker@@AEAA_NW4compress_t@@T_CODEC_SUB_VERSION@CPECompact2V250Unpacker@@W4PLUGIN_TYPE@5@KKKAEAK@Z@
.?AVCView@@
.?AVCViewSettings@@
.?AVCViewSubclasser@@
.?AVCViewTemplateList@@
.?AVCViewTracker@@
.?AVCVistaEnvMatch@@
.?AVCVolumeCache@@
.?AVCVolumeShadowBackupRepository@CleanStore@@
.?AVCVolumeTile@@
.?AVCVolumeTrackBar@@
.?AVCVssSnapshottedFile@@
.?AVcwcOutStream@@
.?AVCWebEventSink@@
.?AVCWimCompressedResource@@
.?AVCWin32File@@
.?AVCWin32FindFileHandle@@
.?AVCWin32Heap@ATL@@
.?AVCWin32RegKey@@
.?AVCWin32VhdReader@@
.?AVCWinApp@@
.?AVCWincryptDecryptor@?1??WinCrypt@CPECompact2V250Unpacker@@IEAA_NPEAEKKKAEAK@Z@
.?AVCWindow@ATL@@
.?AVCWinHttpObject@winHttp@@
.?AVCWinTCGSensor@AntiRootkit@@
.?AVCWinThread@@
.?AVCWizard@@
.?AVCWizardPage@@
.?AVCWnd@@
.?AVCX509CertificateParser@@
.?AVCXMLBinaryValue@@
.?AVCXmlDumper@@
.?AVCXMLEnumeration@@
.?AVCXMLIcon@@
.?AVCXMLImageList@@
.?AVCXML_IStream@@
.?AVCXMLObject@@
.?AVCXMLPersistableIcon@@
.?AVCXmlStream@@
.?AVCXMLValueExtension@@
.?AVCXMLWindowPlacement@@
.?AVCXorDecrypter@?3??Xor@CPECompact2V250Unpacker@@IEAA_NKKAEAK@Z@
.?AVDataCallback@?1??GetNtfsDataFromRecord@NtfsVolume@@QEBAJPEAPEBVINtfsData@@QEBUNtfsFileRecord@2@AEBUAttributeQuery@2@@Z@
.?AVdata_source_base@bit_shovel@@
.?AVdata_source_base@bit_shovel@tdt_library_v3@@
.?AVDCLExplode@@
AVDd_[[[x[[[
A@V@DEac
.?AVDebugConfig@@
.?AVDebuggerCheck@@
.?AVDebugRegisters@@
.?AVDecoderMemread@@
.?AVDecoderMemwrite@@
.?AVDecommiter@@
.?AVDecompress@jb01@@
.?AVDecompressNotification@@
.?AVDecryptionCache3@@
.?AVDecryptionKeyCache@@
.?AVDecryptorBeforeDecompression@@
.?AVDecryptorCRC@?1??GetDecryptor@PECompact_0975@@IEAAPEAUDecryptor@@XZ@
.?AVDecryptorForEPData@@
.?AV_DefaultPPLTaskScheduler@details@Concurrency@@
.?AVdefault_resource@detail@json@boost@@
.?AVDeltaFilter@XZStream@@
.?AVDesktopNotification@@
.?AVDesktopResourceItem@@
.?AVDetectionController@@
.?AVDetectionItem@@
.?AVDetectionQueue@@
.?AVdetection_reporter@bit_shovel_plugins@@
.?AVdetection_reporter@bit_shovel_plugins@tdt_library_v3@@
.?AVdetection_reporting_impl@bit_shovel_plugins@@
.?AVDFT_prefetch_x32_buff@@
.?AVDFT_prefetch_x32_PE@@
.?AVDFT_prefetch_x64_buff@@
.?AVDFT_prefetch_x64_PE@@
.?AVDirtyProtector@@
.?AVDispatcher@@
.?AVDispatcherBase@@
.?AVDllInstaller@@
.?AVDllUsageAutoHandler@@
.?AVDNameNode@@
.?AVDNameStatusNode@@
.?AVDnsRecord@@
.?AVDnsRecordA@@
.?AVDnsRecordAaaa@@
.?AVDnsRecordMx@@
.?AVDnsRecordPtr@@
.?AVDontUseNewUseMake@Details@WRL@Microsoft@@
AV[dP[[[
.?AVDriverInstaller@@
.?AVDriverLoadResourceItem@@
.?AVDssSpynetContext@@
.?AVdt_base@tdt@@
.?AVDT_context@@
.?AVDTProcessor@@
.?AVDTProcessor_32@@
.?AVDTProcessor_64@@
.?AVDTProcessor_x86@@
.?AVdt_rfc_common@tdt@@
.?AVdt_rfc_cpu_multi@tdt@@
.?AVdt_rfc_cpu@tdt@@
.?AVdt_rfc_gpu_directx@tdt@@
.?AVDT_vmcache@@
.?AVDynamicAnalysisManager@@
.?AVDynamicConfigContainer@@
.?AVDynamicHuffmanSit@@
.?AVDynVhdVolume@@
.?AVEapException@EapHost@@
.?AVEapLibraryManagerConfig@Peer@EapLm@@
.?AVEapLibraryManager@Peer@EapLm@@
.?AVEapMethodConfig@Peer@EapLm@@
.?AVEapMethodType@EapHost@@
.?AVEapType@EapHost@@
.?AVElement@DirectUI@@
.?AVEmptyNotifier@?1??ProcessSignatureResponses@CSpynetResponse@@QEAAXPEAVDssSpynetContext@@PEAVspynet_wrapper@@_N2PEB_W2@Z@
.?AVEmuSync@@
AVEngineConfig
.?AVentropyworkercontext_t@@
.?AVEntryCallback@@
.?AVEnvMatchImpl@@
AverageNotificationVisitCount
averagerttime
aVERcRYPTOR
.?AVerror_category@std@@
.?AVerror_category@system@boost@@
.?AVerror_exception@errorlib@@
.?AVesft2_deleter_wrapper@detail@boost@@
.?AVEtwController@@
.?AVEtwNotification@@
.?AVEtwResourceItem@@
.?AVEtwTraceHelper@@
av_event_handler.hpp
.?AVexception@@
.?AVException@@
.?AVException@bond@@
.?AVexception@boost@@
.?AV_ExceptionPtr_normal@?A0x327206fc@@
.?AVexception@std@@
.?AVExclusionInfo@@
.?AVExe32Pack@@
.?AVExe32Unpacker@@
.?AVExePack@@
.?AVexepack_unplib_reader@@
.?AVexepack_unplib_writer@@
.?AVexestream@@
.?AVExplode@@
.?AVExtendedAttributesValidator@@
.?AVExtendedStreamAttributeCallback@@
.?AV_Facet_base@std@@
.?AVfacet@locale@std@@
.?AVfailure@ios_base@std@@
.?AVFastpathNotifier@@
.?AVFileAssociationUserData@FileAssociation@@
.?AVFileCollection@@
.?AVFileDumper@@
.?AVFileHandleWrapper@@
.?AVFileImageVolume@@
.?AVFileInfoCallback@?1??GetMftFileData@NtfsVolume@@AEAAJPEAPEAVNtfsFileData@@@Z@
.?AVFileName@@
.?AVFileNotification@@
.?AVFileOpenViaSysIo@@
.?AVfile_parser_error@property_tree@boost@@
.?AVFileQueryBlob@ElfFileQueryUtil@@
.?AVFileQueryHeaderBlob@ElfFileQueryUtil@@
.?AVFileQuerySectionBlob@ElfFileQueryUtil@@
.?AVFileQuerySegmentBlob@ElfFileQueryUtil@@
.?AVFileReader@@
.?AVFileReaderAdaptor@?A0x8e938335@@
.?AVFileResourceItem@@
.?AVFileSampleReader@@
.?AVFileScanMap@@
.?AVFileStashCopyResult@@
.?AVfilesystem_error@filesystem@boost@@
.?AVfilesystem_error@filesystem@std@@
.?AVfile_tdt_config_imp@tdt_library@@
.?AVfile_tdt_config_imp@tdt_library_v3@@
.?AVFileUpdateView@nUFSP_native@@
.?AVFileWriter@@
.?AVFilter7Z@@
.?AVFilter7Z_BCJ@@
.?AVFilter7Z_BCJ2@@
.?AVFilterOplock@@
.?AVFilterRelocBySection@AntiRootkit@@
.?AVFilter@XZStream@@
.?AVFindDataWVirtualMap@@
.?AVFixE8E9@@
.?AVFixE8E90F@@
.?AVFixE8E90F_Version23@@
.?AVFixupInfoCallback@@
.?AVFlateDecode@@
.?AVfop_processor@FopScanner@@
.?AVformat_error@io@boost@@
.?AVForwardWriter@@
.?AVForwardZeroByteAnalyzer@@
.?AVFpSmartNotifier@?CM@??FastpathLoadBlobsFromStore@@YA?AW4MP_ERROR@@XZ@
.?AVFPU_state_stor@@
.?AVFriendlyCache@@
.?AVfrontend_prefetch@@
.?AVFSGUnpacker@@
.?AVFSGUnpacker_1_0@@
.?AVFSGUnpacker_1_33@@
.?AVFSGUnpacker_2_0@@
.?AVFullOpenFileInfo@@
AV_FullSystemScan
.?AVfusion_switch@@
.?AV_Future_error_category2@std@@
.?AVfuture_error@std@@
avgcpupercentuse
.?AVGdiplusBase@Gdiplus@@
AvgebgfG
.?AVgeneric_error_category@?A0x90fe97d7@system@boost@@
.?AVgeneric_error_category@detail@system@boost@@
.?AV_Generic_error_category@std@@
.?AVGenericSfxCab@@
.?AVGenericVolumeBuilder@@
aV*gGagfG8WL
A:!vggfGn
.?AVGlobalBlocksInfo@@
.?AVGlobalHeapCheck@@
.?AVGlobalNotifier@@
.?AVgpu_directx@tdt@@
.?AVgpu_interface@tdt@@
avg_severity_of_last_n_detections
.?AVHandleReader@@
.?AVhapArithContext@unhap@@
.?AVHintFinder@?A0xbe84d880@@
.?AVHipsAsyncFileDelete@@
.?AVhr_error@ipx@@
.?AVhuffBitStream@@
.?AVhuffBS@@
.?AVHuffmanTreeACE@@
.?AVHWowFileReader@@
.?AVHWowWorker@?1??HookProcess@HWowContext@@QEAAKPEAXKU_FILETIME@@0W4HWow_level_t@@0PEB_W_N4@Z@
.?AVI7Z@@
.?AVI7Z_IOHelper@@
.?AVI7ZPasswordDictionary@@
.?AVIA64Filter@XZStream@@
.?AVIAllocSMSScanner@@
.?AVIApiIdExtractor@@
.?AVIAsn1Callback@@
.?AVIAsyncResource@@
.?AVIATDecOperator@@
.?AVIATIncOperator@@
.?AVIATOperator@@
.?AVIBBhash@@
.?AVIBondElement@@
.?AVIBondSerializer@@
.?AVIByteStream@@
.?AVICacheMgr@@
.?AVICharStream@@
.?AVICheckpoint@RemediationCheckpoint@@
.?AVICheckpointResource@RemediationCheckpoint@@
.?AVICheckTrustedPath@@
.?AVICompressor@@
.?AVIContentReader@@
.?AVIDataIO@@
.?AVIDisinfectCallback@@
AVIdJ[[[
.?AVIDynamicHuffman@@
.?AVIEmsProgressCallback@@
.?AVIEnumHSTR@@
.?AVIExpressionParser@@
.?AVIExtendTaskPadWrapper@@
.?AVIFileIdentifier@CleanStore@@
.?AVIFileRepository@CleanStore@@
.?AVIGenericStream@@
.?AVIGetProcessInfo@@
.?AVIHookWow@@
.?AVIHuffmanTree@@
.?AVIHWowFileMapper@@
.?AVIL_container@@
.?AVIL_emulator@@
.?AVIL_emu_translator@@
.?AVIL_native_translator@@
.?AVILockable@@
.?AVILogicalVolume@@
.?AVILsaLibraryResult@@
.?AVILuaStandaloneLibrary@@
.?AVIL_x64_translator@@
.?AVIL_x86_common@@
.?AVImage@Gdiplus@@
.?AVImageNameConfigAsimov@@
.?AVIMaintenanceTask@@
.?AVIMemScanTele@@
.?AVIMetadataSignatureHasher@@
.?AVIMetaVaultQuery@MetaStore@@
.?AVIMetaVaultRecord@MetaStore@@
.?AVIMOACEntry@@
.?AVIMpAsimovRegister@@
.?AVIMpCryptHashStream@CommonUtil@@
.?AVIMpCryptProvider@CommonUtil@@
.?AVImportHandler@@
.?AVImportReconstructor@@
.?AVImportsDumperAdaptor@@
.?AVImportsDumperInterface@@
.?AVincompatible_processes@bit_shovel_plugins@@
.?AVincompatible_processes@bit_shovel_plugins@tdt_library_v3@@
.?AVincompatible_processes_imp@bit_shovel_plugins@@
.?AVincompatible_processes_imp@bit_shovel_plugins@tdt_library_v3@@
.?AVIndentObserver@@
.?AVINetworkNameCollector@@
.?AVInflate@@
.?AVinfo_parser_error@info_parser@property_tree@boost@@
.?AVInitialVMMDumper@@
.?AVInjectorExceptionFilterCallback@@
.?AVINormalizeDmgStruct@@
.?AVInStreamsArray@@
.?AVInStreamsInterface@@
.?AVIntegrityAnalyzer@@
.?AVInternalNotification@@
.?AVInternalResourceItem@@
.?AV_Interruption_exception@details@Concurrency@@
.?AVINtfsData@@
.?AVINtfsIndexEntryIterator@@
.?AVinvalid_argument@std@@
.?AVInvalidMemoryReader@@
.?AVinvalid_operation@Concurrency@@
.?AVIObjInfo@@
.?AVIOfficeDecryptor@@
.?AVIOHelper@@
.?AVios_base@std@@
.?AV_Iostream_error_category2@std@@
.?AV_Iostream_error_category@std@@
.?AVIoViewOverFile@?1??CreateIoView@UfsFile@@QEAAJPEAPEAVIUfsIoView@@@Z@
.?AVIParseDataCallback@NtfsVolume@@
.?AVIParseRecordCallback@NtfsVolume@@
.?AVIPasswordDictionary@@
.?AVIPhysicalVolume@@
.?AVIProvider@@
.?AVIProxyManager@winHttp@@
.?AVIPublicKey@@
.?AVIReader@@
.?AVIRefCounted@@
.?AVIReporterOutput@@
.?AVIRepositoryFile@CleanStore@@
.?AVIResultDataCompareExWrapper@@
.?AVIResultDataCompareWrapper@@
.?AVIRouter@@
.?AVISampleReader@@
.?AVIScan@@
.?AVIScanCallback@@
.?AVIScheduledTaskCallback@@
.?AVISetCurrentUser@@
.?AVISigRoutineParser@@
.?AVISMSContext@@
.?AVISMSScanner@@
.?AVISnapInFactoryWrapper@@
.?AVISubmissionEntry@@
.?AVISupportLog@@
.?AVisv_sample@bit_shovel_plugins@@
.?AVisv_sample@bit_shovel_plugins@tdt_library_v3@@
.?AVITCG@@
.?AVItemHandle@@
.?AVIThreatData@@
.?AVIThrottlingAgent@@
.?AVIUdfBootImage@@
.?AVIUdfDirectory@@
.?AVIUdfFile@@
.?AVIUdfObjectInfo@@
.?AVIUdfVolume@@
.?AVIUdfVolumeSet@@
.?AVIUfsClientCmd@@
.?AVIUfsFileIo@@
.?AVIUfsFileIoProvider@@
.?AVIUfsFindData@@
.?AVIUfsIoCallback@@
.?AVIUfsIoView@@
.?AVIUfsMtOnScanCallback@@
.?AVIUfsNode@@
.?AVIUfsNodeCallbacks@@
.?AVIUfsNodeFinder@@
.?AVIUfsScannerDbConfigCb@@
.?AVIUnknownWrapper@@
.?AVIUnpackDumper@@
.?AVIVirusFamily@@
.?AVIVolumeBuilder@@
.?AVIVolumeFile@@
.?AVIVolumeFileData@@
.?AVIVolumeFileIterator@@
.?AVIVolumePathIterator@@
.?AVIVolumeVolumeIterator@@
.?AVIWorkUnit@@
.?AVIWorkUnitFactory@@
.?AVIXmlStream@@
.?AVIZipAdvance@@
.?AVIZipEncryption@@
.?AVJCAlg3DumpHelper@@
?AV*jgfw
?AvJhggfw
.?AVJsInputStream@@
.?AVjson_exception@json@web@@
.?AVjson_parser_error@json_parser@property_tree@boost@@
.?AVjson_reporter@bit_shovel_plugins@@
.?AVjson_reporter@bit_shovel_plugins@tdt_library_v3@@
.?AVJsUfsStream@@
.?AVJumpTableDecryptor@@
.?AVKCRCHashContext@@
@@A@V![Kgk
.?AVKslDriver@@
.?AVKstoreUnlocker@@
.?AVLayer0Decryptor@@
.?AVLayer1Decryptor@@
.?AVLayer2Decryptor@@
.?AVleaf_node@@
.?AVLegacyEapMethodConfig@Peer@EapLm@@
.?AVlength_error@std@@
.?AVLib_7Z@@
.?AVlibrary_reporter@bit_shovel_plugins@@
.?AVlibrary_reporter@bit_shovel_plugins@tdt_library_v3@@
.?AVLinearDecryptor@@
.?AVlist_allocator@@
AVllllllllmllllOllylm
AVllllllllmllllOllylmCmT
AVllllllllmlll]Y]]
.?AVlocal_telemetry_server@bit_shovel_plugins@@
.?AVlocal_telemetry_server@bit_shovel_plugins@tdt_library_v3@@
.?AVlocal_telemetry_server_impl@bit_shovel_plugins@@
.?AVlocal_telemetry_server_impl@bit_shovel_plugins@tdt_library_v3@@
.?AV_Locimp@locale@std@@
.?AVLockingProcessProperty@@
.?AVLogFile@@
.?AVlogic_error@std@@
.?AVLogSkip@@
.?AVLowFiCache@@
.?AVLowMemoryError@@
.?AVLsaCrypto@@
.?AVLsaDetectionLib@@
.?AVLsaKernelLib@@
.?AVLsaMpCommonLib@@
.?AVLsaMpDetectionLib@@
.?AVLsaSysIoLib@@
.?AVLsaTriggerLib@@
.?AVLsaVersioning@@
.?AVLuaHipsLib@@
.?AVLuaSignatureRoutineInfo@@
.?AVLZ4@@
.?AVlzcomp@@
.?AVlzcomprle@@
.?AVlzfstream@@
.?AVlzma2BitStream@@
.?AVlzmaBitStream@@
.?AVlzmaOutStream@@
.?AVlzmastream@@
.?AVlzmat@@
.?AVlzmatstream@@
.?AVlzsstream@@
.?AVlzstream@@
.?AVlzstreamCPT@@
.?AVlzstreamNeolite@@
.?AVlzstreamNT1@@
.?AVlzstreamRAR@@
.?AVlzstreamRAR5@@
.?AVlzstreamRM@@
.?AVlzstreamTP@@
.?AVLZWDecode@@
.?AVlzwdstream@@
.?AVlzwstream@@
.?AVLZX@@
.?AVMachoParser@@
.?AVmanifest_platform@bit_shovel@@
.?AVmanifest_platform@bit_shovel@tdt_library_v3@@
.?AVMappedViewOfFile@@
.?AVmatch_state_t@@
.?AVMD5Analyzer@@
.?AVMDynamicHuffman@@
.?AVmemoryBlock@@
.?AVMemoryReader@@
.?AVmemory_resource@pmr@container@boost@@
.?AVMemorySampleReader@@
.?AVMemoryWriter@@
.?AVMemScanImagePathCache@@
.?AVMemTracker@@
.?AVmetabTree@unrar@@
.?AVMetadataCustomValue@@
.?AVMetadataSignatureHasher@@
.?AVMetadataValue@@
.?AVMetadataValueStore@@
.?AVMetaStore@?A0xafa1b6fa@0@
.?AVMetaStoreLowFiCache@0@
.?AVMetaVaultQueryBase@MetaStore@@
.?AVMetaVaultRecordAmsiFileCache@MetaStore@@
.?AVMetaVaultRecordAmsiFileCacheQuery@MetaStore@@
.?AVMetaVaultRecordAnomaly@MetaStore@@
.?AVMetaVaultRecordAnomalyQuery@MetaStore@@
.?AVMetaVaultRecordAtomicCounters@MetaStore@@
.?AVMetaVaultRecordAtomicCountersQuery@MetaStore@@
.?AVMetaVaultRecordAttributeCounts@MetaStore@@
.?AVMetaVaultRecordAttributeCountsQuery@MetaStore@@
.?AVMetaVaultRecordAttributePersistContext@MetaStore@@
.?AVMetaVaultRecordAttributePersistContextQuery@MetaStore@@
.?AVMetaVaultRecordAutoFeatureControl@MetaStore@@
.?AVMetaVaultRecordAutoFeatureControlQuery@MetaStore@@
.?AVMetaVaultRecordBackupProcessInfo@MetaStore@@
.?AVMetaVaultRecordBackupProcessInfoQuery@MetaStore@@
.?AVMetaVaultRecordBackupRansomwareDetections@MetaStore@@
.?AVMetaVaultRecordBackupRansomwareDetectionsQuery@MetaStore@@
.?AVMetaVaultRecordBmFileInfo@MetaStore@@
.?AVMetaVaultRecordBmFileInfoQuery@MetaStore@@
.?AVMetaVaultRecordBmFileStartupActions@MetaStore@@
.?AVMetaVaultRecordBmFileStartupActionsQuery@MetaStore@@
.?AVMetaVaultRecordBmProcessInfo@MetaStore@@
.?AVMetaVaultRecordBmProcessInfoQuery@MetaStore@@
.?AVMetaVaultRecordBootSectors@MetaStore@@
.?AVMetaVaultRecordDatabase@MetaStore@@
.?AVMetaVaultRecordDynSigRevisions@MetaStore@@
.?AVMetaVaultRecordDynSigRevisionsQuery@MetaStore@@
.?AVMetaVaultRecordFileHashes@MetaStore@@
.?AVMetaVaultRecordFileHashesQuery@MetaStore@@
.?AVMetaVaultRecordFileLowFiAsync@MetaStore@@
.?AVMetaVaultRecordFileLowFiAsyncQuery@MetaStore@@
.?AVMetaVaultRecordFolderGuardPaths@MetaStore@@
.?AVMetaVaultRecordFolderGuardPathsQuery@MetaStore@@
.?AVMetaVaultRecordNetworkIpFirewallRules@MetaStore@@
.?AVMetaVaultRecordNetworkIpFirewallRulesOutgoing@MetaStore@@
.?AVMetaVaultRecordNetworkIpFirewallRulesOutgoingQuery@MetaStore@@
.?AVMetaVaultRecordNetworkIpFirewallRulesQuery@MetaStore@@
.?AVMetaVaultRecordNetwork@MetaStore@@
.?AVMetaVaultRecordProcessBlockHistoryByProcess@MetaStore@@
.?AVMetaVaultRecordProcessBlockHistoryByProcessQuery@MetaStore@@
.?AVMetaVaultRecordProcessBlockHistory@MetaStore@@
.?AVMetaVaultRecordProcessBlockHistoryQuery@MetaStore@@
.?AVMetaVaultRecordRollingQueues@MetaStore@@
.?AVMetaVaultRecordRollingQueuesQuery@MetaStore@@
.?AVMetaVaultRecordSdnEx@MetaStore@@
.?AVMetaVaultRecordSdnExQuery@MetaStore@@
.?AVMetaVaultRecordSystemFileCache@MetaStore@@
.?AVMetaVaultRecordSystemFileCacheQuery@MetaStore@@
.?AVMetaVaultRecordSystemRegistryCache@MetaStore@@
.?AVMetaVaultRecordSystemRegistryCacheQuery@MetaStore@@
.?AVMetaVaultRecordValueMapArray@MetaStore@@
.?AVMetaVaultRecordValueMapArrayQuery@MetaStore@@
.?AVMethodDecoder@@
.?AVmew@@
.?AVMftFile@@
.?AVMissingDefaultGateway@RegistryNetworkNameCollector@@
.?AVMissingProfileGuid@RegistryNetworkNameCollector@@
.?AVMmapAutoCursor@@
.?AVMOACEntryExtension@@
.?AVMOACEntryFriendly@@
.?AVMOACEntryUnFriendly@@
.?AVMOACLookupEntry@@
.?AVMOAC_revoke_data@@
.?AVModelPPM@ppmii@@
.?AVMoleBoxDecryptor@@
.?AVMoleBoxDecryptor_230@@
.?AVMoleboxDecryptor_236V1@@
.?AVMoleboxDecryptor_236V2@@
.?AVMoveHelper@@
.?AVMpEngineConfig@@
.?AVMpEngineConfigProxy@@
.?AVMpeng_VB6_PEParser@@
.?AVMpGearDynamicConfig@@
.?AVMpInitCommonUtils@@
.?AVMpPostDTAttributeRefresh@@
.?AVMpStdException@@
.?AVMpStream@@
.?AVMpThreatEnumerator@@
.?AVMpThreatItem@@
.?AVmrmw_t@@
.?AVMSILAttributeWorker@@
.?AVmsil_fop_processor@@
.?AVMSILPEMapper@@
.?AVMyFileInfo@?2??ScanFileSandboxed@@YA?AW4MP_ERROR@@PEAVUfsClientRequest@@PEBUscanfile_tsw_t@@K@Z@
.?AVMyFixupInfoCallback@@
.?AVMyFixupInfoCallbackProbe@@
.?AVNamedBreakpoint@@
.?AVNanomite13Decrypt@@
.?AVnative_IL_context@@
.?AVnative_IL_translator@@
.?AVNativeRPFFileReader@@
.?AVNbinderHeaderParser@@
.?AVNbinderHeaderParser500@@
.?AVNbinderHeaderParser550@@
.?AVNbinderReader@@
.?AVNeolite@@
.?AVNETEmu_env_plugin_base@@
.?AVNetvm32Runtime@@
.?AVNetvmModule@@
.?AVNetvmRPFRuntime@@
.?AVNetworkNotification2@@
.?AVNetworkResourceItem2@@
.?AVNoCompressXorCompressor@@
.?AV_Node_assert@std@@
.?AV_Node_back@std@@
.?AV_Node_base@std@@
.?AV_Node_capture@std@@
.?AV_Node_end_group@std@@
.?AV_Node_endif@std@@
.?AV_Node_end_rep@std@@
.?AV_Node_if@std@@
.?AV_Node_rep@std@@
.?AVNodesClass@NameTree@@
.?AVnoncopyable@noncopyable_@boost@@
.?AV__non_rtti_object@std@@
.?AVNopAnalyzer@?A0xfb482be6@@
.?AVNoPasswords@@
.?AVNormalizeBlkxTable@@
.?AVNormalizeKolyBlock@@
.?AVnormalizer_agent@bit_shovel_plugins@@
.?AVnormalizer_agent@bit_shovel_plugins@tdt_library_v3@@
.?AVnormalizer_api@bit_shovel_plugins@@
.?AVnormalizer_api@bit_shovel_plugins@tdt_library_v3@@
.?AVnormalizer@bit_shovel_plugins@@
.?AVnormalizer@bit_shovel_plugins@tdt_library_v3@@
.?AVnormalizer_config@bit_shovel_plugins@@
.?AVnormalizer_config@bit_shovel_plugins@tdt_library_v3@@
.?AVNoteMgrArPlugin@@
.?AVNoteMgrEtwPlugin@@
.?AVNoteMgrFilePlugin@@
.?AVNoteMgrInternalPlugin@@
.?AVNoteMgrNetworkPlugin@@
.?AVNoteMgrPlugin@@
.?AVNoteMgrProcessPlugin@@
.?AVNoteMgrRegistryPlugin@@
.?AVNoteMgrSystemPlugin@@
.?AVNotificationFactory@@
.?AVNotificationImpl@@
.?AVNotificationItem@@
.?AVNRISigattrNotifier@@
.?AVNSPack@@
.?AVNtfsCompressedData@@
.?AVNtfsDirectoryFileData@@
.?AVNtfsDirectoryFileIterator@@
.?AVNtfsDirectoryIndexEntryIterator@@
.?AVNtfsDirectoryPathIterator@@
.?AVNtfsFile@@
.?AVNtfsFileAdsIterator@@
.?AVNtfsFileData@@
.?AVNtfsFileIterator@@
.?AVNtfsIndexAllocation@@
.?AVNtfsIndexEntry@@
.?AVNtfsIndexEntryIterator@@
.?AVNtfsNonResidentData@@
.?AVNtfsPathIteratorBase@@
.?AVNtfsResidentData@@
.?AVNtfsVolume@@
.?AVNtfsVolumeBuilder@@
.?AVNtGlobalFlagCheck@@
.?AVnUFSP_7z@@
.?AVnUFSP_ace@@
.?AVnUFSP_ar@@
.?AVnUFSP_arc@@
.?AVnUFSP_arj@@
.?AVnUFSP_asad@@
.?AVnUFSP_AutoIT@@
.?AVnUFSP_bga@@
.?AVnUFSP_bh@@
.?AVnUFSP_binhex@@
.?AVnUFSP_c2rdat@@
.?AVnUFSP_cab@@
.?AVnUFSP_cf@@
.?AVnUFSP_chm@@
.?AVnUFSP_chmitss@@
.?AVnUFSP_cpio@@
.?AVnUFSP_cpt@@
.?AVnUFSP_dbx@@
.?AVnUFSP_dfsp@@
.?AVnUFSP_dmg@@
.?AVnUFSP_dzip@@
.?AVnUFSP_eadata@@
.?AVnUFSP_emb1@@
.?AVnUFSP_fsd@@
.?AVnUFSP_hap@@
.?AVnUFSP_html@@
.?AVnUFSP_image@@
.?AVnUFSP_inno@@
.?AVnUFSP_instcrea@@
.?AVnUFSP_ishld@@
.?AVnUFSP_ishldnew@@
.?AVnUFSP_lh@@
.?AVnUFSP_machofat@@
.?AVnUFSP_mar@@
.?AVnUFSP_mbx@@
.?AVnUFSP_mimen@@
.?AVnUFSP_mof@@
.?AVnUFSP_native@@
.?AVnUFSP_nbinder@@
.?AVnUFSP_nsis@@
.?AVnUFSP_nsv1@@
.?AVnUFSP_ole2@@
.?AVnUFSP_pdf@@
.?AVnUFSP_proc@@
.?AVnUFSP_pst@@
.?AVnUFSP_quantum@@
.?AVnUFSP_rar@@
.?AVnUFSP_rar5@RAR5@@
.?AVnUFSP_replayablecontainer@@
.?AVnUFSP_rtfn@@
.?AVnUFSP_sect@@
.?AVnUFSP_sft@@
.?AVnUFSP_sit@@
.?AVnUFSP_strm@@
.?AVnUFSP_svfobase@@
.?AVnUFSP_svfohigh@@
.?AVnUFSP_svfolow@@
.?AVnUFSP_tnef@@
.?AVnUFSP_udf@@
.?AVnUFSP_uefi@@
.?AVnUFSP_unicode@@
.?AVnUFSP_vfz@@
.?AVnUFSP_wim@@
.?AVnUFSP_wise@@
.?AVnUFSP_xar@@
.?AVnUFSP_zip@@
.?AVnUFSP_zoo@@
.?AVNullCallback@?1??WrappCallback@@YAPEAVBreakpointCallback@@PEAV2@@Z@
.?AVNullDecryptor@@
.?AVnull_streambuf@logger_client@@
.?AVnull_streambuf@logger_client@tdt_library_v3@@
.?AVnull_stream@logger_client@@
.?AVnull_stream@logger_client@tdt_library_v3@@
.?AVobject_pool_stats@bit_shovel_plugins@@
.?AVobject_pool_stats@bit_shovel_plugins@tdt_library_v3@@
A|vodo7ogo
a|vodo9ogo
a|voeo9ogo
.?AVOfficeEcma376AgileDecryptor@@
.?AVOfficeEcma376StandardDecryptor@@
.?AVOffRegKeyEnumerator@@
.?AVOffRegValueEnumerator@@
.?AVOffsetPreserver@@
.?AVOnlineIdTicketIterator@@
.?AVOnlineIdTicketVector@@
.?AVOnScanFileCallback@?1??scanFolder@CResmgrFolder@@AEAAKPEB_WPEAVCResmgrFile@@@Z@
.?AVOnTheFlyEncryptor@@
.?AVop_manager@@
.?AVout_of_range@std@@
.?AVOVBAHandlerBase@ValidateTrust@@
.?AVOVBAHandlerExcelOLE@ValidateTrust@@
.?AVOVBAHandlerPptOLE@ValidateTrust@@
.?AVOVBAHandlerWordOLE@ValidateTrust@@
.?AVoverflow_error@std@@
.?AVPackDumper@@
.?AVPackDumperRelocation32Adaptor@@
.?AVpairNode@@
.?AVParentProcessCodeDecryptor@@
.?AVparse_error@rapidxml@detail@property_tree@boost@@
.?AVPartitionVolume@@
.?AVPartitionVolumeIterator@@
.?AVPatchedBytesWriter@@
.?AVPathTable@@
.?AVPattProcessor@@
.?AVpcharNode@@
.?AVPDF_Array@@
.?AVPdfAutoPreventDeepNesting@@
.?AVPDF_Boolean@@
.?AVPDF_Constant@@
.?AVPDF_Container@@
.?AVPdfDecodeFn@@
.?AVPDFDecryptorAES@@
.?AVPDFDecryptorRC4@@
.?AVPDF_Dictionary@@
.?AVPdfFileReader@@
.?AVPDF_HexString@@
.?AVPDF_Integer@@
.?AVPdfLzw@@
.?AVPdfMemReader@@
.?AVPDF_Null@@
.?AVPDF_Reference@@
.?AVPdfRLE@@
.?AVPDF_String@@
.?AVPDF_Value@@
.?AVPdfVfoReader@@
.?AVPdfVfoWriter@@
.?AVPDFXrefObject@nUFSP_pdf@@
.?AVpDNameNode@@
@@@@@@A@vpE
.?AVPe@AntiRootkit@@
.?AVPECompact@@
.?AVPECompact_091@@
.?AVPECompact_093@@
.?AVPECompact_0971@@
.?AVPECompact_0975@@
.?AVPECompact_0978@@
.?AVPECompact_09781@@
.?AVPECompact_099@@
.?AVPEEmulatorAdaptor@@
.?AVPEEmuMapper@?EA@??kvscanpage4sig@@YA?AW4scanresult_t@@PEAUpe_vars_t@@_KPEBE1@Z@
.?AVPEEmuSync@@
.?AVPEExports@@
.?AVPeFile@AntiRootkit@@
.?AVPefileBufferReader@@
.?AVPefileExtendedAttributesValidator@@
.?AVPeFileHelper@?A0x6c760348@@
.?AVPeFileHelperKSL@?A0x6c760348@@
.?AVPEFileReader@@
.?AVPeFileReaderAdapter@ValidateTrust@@
.?AVPEFileWriter@@
.?AVPEMapper@@
.?AVPEMapperAdaptor@@
.?AVPeMemory@AntiRootkit@@
.?AVPeMemoryHelper@?A0xe676adc3@@
.?AVpe_morphine@@
.?AVpe_morphine_1_2@@
.?AVpe_morphine_1_x@@
.?AVpe_morphine_2_x@@
.?AVPEReaderWrapper@?1??GetOverlayOffset@@YA_KPEAVIUfsFileIo@@_K@Z@
.?AVPERelocations@@
.?AVPersistUserDatabaseCallback@@
.?AVPetite21_22@@
.?AVPetite23@@
.?AVPetiteBase@@
.?AVPetiteOutStream@@
.?AVPEUnpackCallbackContext@?A0x8e938335@@
.?AVPEUnpacker@@
.?AVPEUnpackReadAdaptor@?A0x8e938335@@
.?AVPEUnpackWriteAdaptor@?A0x8e938335@@
.?AVpe_upack@@
.?AVPEVirtualMemory@@
.?AVPEVMMReaderInterface@@
.?AVPEVMMWriterInterface@@
@@@@@@A@vpE]W
.?AVPEZeroByteFinder@@
@@@A@vpGU]|
@@@@@@A@vpIkO@
@@@@@A@@vpJg
@@A@vpJT
.?AVpklite@@
.?AVpkliteEncryptedInStream@@
.?AVpkliteLarge@@
.?AVpkliteTiny@@
.?AVpkliteTiny2@@
.?AVPKLiteUnpacker@@
.?AVpksat@@
.?AVpksmart@@
.?AVpksmartStream@@
.?AVplaceholder@any@boost@@
.?AVPlatformInput@AntiRootkit@@
.?AVPlatformInputWin64Ksl@AntiRootkit@@
.?AVplugin_base@bit_shovel@@
.?AVplugin_base@bit_shovel@tdt_library_v3@@
.?AVplugin_callback_executor_base@internal@bit_shovel@@
.?AVplugin_callback_executor_base@internal@bit_shovel@tdt_library_v3@@
.?AVPNGPredictorDecode@@
.?AVpolyAL@@
.?AVPolyBoxDecryptor@@
.?AVPPCFilter@XZStream@@
.?AVProcessContext@@
.?AVProcessContextLogger@@
.?AVProcessInfoContainer@@
.?AVProcessMemoryScanCache@@
.?AVprocess_monitor_service_api_impl@process_monitor_service@bit_shovel_plugins@@
.?AVprocess_monitor_service_api_impl@process_monitor_service@bit_shovel_plugins@tdt_library_v3@@
.?AVprocess_monitor_service@bit_shovel_plugins@@
.?AVprocess_monitor_service@bit_shovel_plugins@tdt_library_v3@@
.?AVprocess_monitor_service_query_api@tdt_app_profiling@@
.?AVprocess_monitor_service_query_api@tdt_app_profiling@tdt_library_v3@@
.?AVprocess_monitor_service_update_api@tdt_app_profiling@@
.?AVprocess_monitor_service_update_api@tdt_app_profiling@tdt_library_v3@@
.?AVProcessNotification@@
.?AVProcessOpenResourceItem@@
.?AVProcessQueue@@
.?AVProcessStartResourceItem@@
AVProduct
.?AVProgressTracker@@
.?AVProtector@@
.?AVProxyVMMDumper@@
.?AVptree_bad_data@property_tree@boost@@
.?AVptree_bad_path@property_tree@boost@@
.?AVptree_error@property_tree@boost@@
*@@@@@@A@vpX
.?AVPythonIndentationHelper@@
AVQ)pgppepq;
AV_QScan_Machine
AV_QScan_User
.?AVQuantum@@
.?AVQuantumArithContext@Quantum@@
.?AVQueueController@@
.?AVr6w6emu@@
.?AVRangeCoder@@
.?AVrange_error@std@@
.?AVRarPasswordContainer@@
.?AVRarVM@@
.?AVRawScanList@@
.?AVRawWriteHandler@@
.?AVRealVolume@@
.?AVRebootActionUserDatabaseCallback@@
.?AVRecordCallback@?1??EnumerateFileRecordWithCallback@NtfsVolume@@QEBAJPEAVIParseDataCallback@2@QEBUNtfsFileRecord@2@@Z@
.?AVrecorddumper@@
.?AVRefCount_7z@@
.?AV_Ref_count_base@std@@
.?AV_RefCounter@details@Concurrency@@
.?AVReferenceCounted@@
.?AVReferenceToStringTableMap@@
.?AVregex_error@boost@@
.?AVregex_error@std@@
.?AVregister_stack@@
.?AVRegistryNetworkNameCollector@@
.?AVRegistryNotification@@
.?AVRegistryResourceItem@@
.?AVRegKeyEnumerator@@
.?AVRegKeyValueContext@@
.?AVRegValueEnumerator@@
.?AVRelocation32Adaptor@unpackers@@
.?AVRemediationCheckpointAttributeCallback@@
.?AVremote_process@@
.?AVRemoteThreadCreateNotification@@
.?AVRemoteThreadCreateResourceItem@@
.?AVRemoveProvider@?1??Remove@UfsFile@@QEAAJXZ@
.?AVReporter@@
.?AVreporter_base@bit_shovel_plugins@@
.?AVreporter_base@bit_shovel_plugins@tdt_library_v3@@
.?AVReporterFile@@
.?AVResDataCallback@@
.?AVResourceAnalyzer@@
.?AVResourceEnumerator@@
.?AVResourceFileReader@@
.?AVResourceItemBase@@
.?AVResourceReader@@
.?AVResourcesProperties@@
.?AVresource_tree@@
.?AVRestorationResultImpl@BootRecordCleanStore@@
.?AVResultException@wil@@
.?AVResultItemIndexCache@@
.?AVReverseZeroByteAnalyzer@@
.?AVrFilter@@
.?AVrFilterBZ@@
.?AVrInStream@@
.?AVrlestream@@
.?AVrlestreamARC@@
.?AV_Root_node@std@@
.?AVrOutCptRle@@
.?AVRouter@@
.?AVrOutStream@@
.?AVrOutStreamBSW@@
.?AVRPF_BBhash@@
.?AVRpfFileReader@@
.?AVRpf_MpContainerLock@@
.?AVRpfSignatureRoutineInfo@@
.?AVRPF_VB6_PEParser@@
.?AVrstream@@
.?AVRunLengthDecode@@
.?AVRunSet@@
.?AVRuntimeClassBase@Details@WRL@Microsoft@@
.?AVruntime_error@std@@
.?AVSafeIntException@safeint3@msl@@
.?AVSafeIntException@utilities@msl@@
.?AVSampleReaderBase@@
.?AVSampleSubmissionFeedbackReport@@
.?AVscan_context@@
.?AVscan_context_b@@
.?AVScanHandlerBase@@
.?AVscan_PE_context@@
.?AVScanRequestEtwHelper@@
.?AVscan_x16_context@@
.?AVscan_x32_context@@
.?AVscan_x64_context@@
.?AVScavengerTask@@
.?AVScheduledTask@@
.?AVSC@mmcerror@@
.?AVscope_guard_func@utility@appv@@
.?AVSDSSQuery@@
.?AVSectionDumper@?1??DumpSection@PackDumper@@IEAAHPEAVVfoImpl@@PEBUpe_section_t@@@Z@
.?AVSectionDumper@?A0xab9be007@@
.?AVServerScanWorker@@
.?AVServiceStateStore@@
.?AVset_process_configuration_ignore_list_api@bit_shovel_plugins@@
.?AVset_process_configuration_ignore_list_api@bit_shovel_plugins@tdt_library_v3@@
.?AVSettingBase@Uev@@
.?AVSFCStore@@
.?AVSfxCabUnpackBase@@
.?AVSfxCabUnpacker@@
.?AVsha1workercontext_t@@
.?AVshared_memory_comm@bit_shovel_plugins@@
.?AVSharedSectionCommiter@@
.?AVShrinkerDecryptor@@
.?AVShrinkerUnpacker@@
.?AVSigattr_AttributeNotifier@@
.?AVSigDetectionContext@@
.?AVSigGenAttributeWorker@@
avsignaturebuildtime
.?AVSignatureContainer@@
avsignaturedue
.?AVSignatureHandler@@
.?AVSignatureInfo@@
.?AVSignatureInfoAdaptor@@
.?AVSignatureMatcher@@
.?AVSignatureRoutineInfo@@
.?AVSignatureRoutineLogger@@
.?AVSigQueryReport@@
avsigversion
.?AVSimpleLogger@@
.?AVSimpleLoggerBase@@
.?AVSimpleLoggerLocker@@
.?AVSimpleProcessor@@
.?AVsitleaf_node@@
.?AVSmartHandleException@Uev@@
.?AVSnapinInterfaceWrapper@@
.?AVSnapshotsCollection@VSS@@
.?AVSnapshot@VSS@@
.?AVSparcFilter@XZStream@@
.?AVsp_counted_base@detail@boost@@
.?AVSpynetBufferReader@@
.?AVSpynetElementData@@
.?AVSpynetFileReader@@
.?AVspynet_report@@
.?AVspynet_wrapper@@
.?AVSpynetXmlNode@@
.?AVSquash@@
.?AVSSFCacheInterface@@
.?AVSSFFile@@
.?AVSSFFileDIFAT@@
.?AVSSFFileDir@@
.?AVSSFFileFAT@@
.?AVSSFFileHeader@@
.?AVSsfFileIo@?1??GetSsfOverlayOffset@@YA_KPEAVIUfsFileIo@@@Z@
.?AVSSFFileStream@@
.?AVSSFMhandle@@
.?AVSsfReaderAdapter@ValidateTrust@@
.?AVSSFRhandle@@
.?AVSSFSectorCache@@
.?AVSSFVhandle@@
.?AVStateCollector@@
.?AVStaticHandler@@
.?AVStatsClass@VfsFileData@@
.?AVstl_condition_variable_interface@details@Concurrency@@
.?AVstl_condition_variable_win7@details@Concurrency@@
.?AVstl_critical_section_interface@details@Concurrency@@
.?AVstl_critical_section_win7@details@Concurrency@@
.?AVStreamBufferWrapper@@
.?AVStringReader@@
.?AVStringWriter@@
.?AVStrongReference@Details@WRL@Microsoft@@
.?AVSubAllocator@ppmii@@
.?AVSwfHstrCleanup@?1??swf_scan@@YA?AW4scanresult_t@@PEAUSCAN_REPLY@@@Z@
.?AVSwfOffsetPreserver@@
.?AVSWUnhandledException@@
.?AVSysIo@@
.?AVSysIoFileReaderAdapter@@
.?AVSystemError@@
.?AVsystem_error_category@?A0x90fe97d7@system@boost@@
.?AVsystem_error_category@detail@system@boost@@
.?AV_System_error_category@std@@
.?AVsystem_error@std@@
.?AV_System_error@std@@
.?AVsystem_error@system@boost@@
.?AVSystemException@Uev@@
.?AVsystem_process@telemetry_publisher@@
.?AVsystem_process@telemetry_publisher@tdt_library_v3@@
.?AVTaskButton@@
.?AVtask_canceled@Concurrency@@
.?AVtdt_agent_impl@tdt_library@@
.?AVtdt_agent_impl@tdt_library_v3@@
.?AVtdt_compressor_imp@tdt_telemetry_blob@@
.?AVtdt_compressor_imp@tdt_telemetry_blob@tdt_library_v3@@
.?AVtdt_compressor@tdt_telemetry_blob@@
.?AVtdt_compressor@tdt_telemetry_blob@tdt_library_v3@@
.?AVtdt_config@tdt_library@@
.?AVtdt_config@tdt_library_v3@@
.?AVTdtController@@
.?AVtdt_dt@tdt@@
.?AVtdt_log_base@tdt@@
.?AVtdt_logger@tdt@@
.?AVtdt_log@tdt@@
.?AVtdt_workload_base@tdt@@
.?AVTEARewired@@
.?AVThirdPartyEapMethodConfig@Peer@EapLm@@
.?AVthread_pool_imp@tdt_threads@@
.?AVthread_pool_imp@tdt_threads@tdt_library_v3@@
.?AVthread_pool@tdt_threads@@
.?AVthread_pool@tdt_threads@tdt_library_v3@@
.?AVthreatcontext_info@@
.?AVThreatData@@
.?AVThrottlingAgent@@
.?AVtime_update_service_api_impl@tdt_app_profiling@@
.?AVtime_update_service_api_impl@tdt_app_profiling@tdt_library_v3@@
.?AVtime_update_service@bit_shovel_plugins@@
.?AVtime_update_service@bit_shovel_plugins@tdt_library_v3@@
.?AVtime_update_service_query_api@tdt_app_profiling@@
.?AVtime_update_service_query_api@tdt_app_profiling@tdt_library_v3@@
.?AVtime_update_service_update_api@tdt_app_profiling@@
.?AVtime_update_service_update_api@tdt_app_profiling@tdt_library_v3@@
.?AVtinycontext@@
.?AVtinyprog@@
.?AVTokenizedStringExpressionEvaluator@@
.?AVTokenizedStringExpressionParser@@
.?AVtoo_few_args@io@boost@@
.?AVtoo_many_args@io@boost@@
.?AVTotalPackersList@@
.?AVtpack@@
.?AVTriggerScanWorker@?1??TriggerScan@@YAXPEB_W0G0_K@Z@
.?AVTrustCheckReader@@
.?AVTrustedRpfMethodDecoder@@
.?AVTrustedRpfModule@@
.?AVtype_info@@
.?AVUCExe@@
.?AVUEICallback@SWUnhandledException@@
.?AVUevException@Uev@@
.?AVUfsClientRequest@@
.?AVUfsCmdBase@@
.?AVUfsError@@
.?AVUfsFile@@
.?AVUfsFileBase@@
.?AVUfsFileIoAdapter@@
.?AVUfsFileIoView@@
.?AVUfsFileReaderAdapter@@
.?AVUfsFindData@@
.?AVUfsInvalidIoView@@
.?AVUfsIoCache@@
.?AVUfsIoNotifyHelper@@
.?AVUfsMtScanFolderCmd@@
.?AVUfsMtScanUnit@@
.?AVUfsMtScanUnitFactory@@
.?AVUfsNode@@
.?AVUfsNodeCallbacks@?1??AnalyzeNode@UfsClientRequest@@QEAAJPEB_WPEAVUfsNode@@@Z@
.?AVUfsNodeFinder@@
.?AVUfsOpenFileInfo@@
.?AVUfsOpenIoViewOp@@
.?AVUfsPluginBase@@
.?AVUfsPluginMemory@@
.?AVUfsPluginWrapper@@
.?AVUFSReader@@
.?AVUfsRemoveFileOp@@
.?AVUfsRemoveFileOpResult@@
.?AVUfsScanBufferCmd@@
.?AVUfsScanFileCmd@@
.?AVUfsScanFileCmdEx@@
.?AVUfsScanFolderCmd@@
.?AVUfsScannerWrapper@@
.?AVUfsTar@@
.?AVUfsUpdateFileOp@@
.?AVUfsUpdateFileOpResult@@
.?AVUfsUpdateRequest@@
.?AVUFSWriter@@
Av@U@K@@@
.?AVun624@@
.?AVunace@@
.?AVunarj@@
.?AVunas@@
.?AVUnAutoIt@@
.?AVunavpack@@
.?AVUncompress@@
.?AVuncwc@@
.?AVunFFCE@@
.?AVunhap@@
.?AVUniquePathItem@ProcessMemoryScanCache@@
.?AVunjc@@
.?AVunjc_3@@
.?AVunjc_4@@
.?AVunjc_42@@
.?AVunjc_45@@
.?AVunjc_451@@
.?AVunjc_453@@
.?AVunjc_454@@
.?AVunjc_46@@
.?AVunlglzLarge@@
.?AVunlglzSmall@@
.?AVunlzmbox@@
.?AVunlznt1@@
.?AVunMSG@@
.?AVUnpackerContext@@
.?AVUnpackerData@@
.?AVUnpackFilter@lzstreamRAR@@
.?AVUnplibCancelInterface@@
.?AVUnplibCanceller@@
.?AVUnplibMemread@@
.?AVUnplibMemwrite@@
.?AVUnplibNullWriter@@
.?AVUnplibReadAdaptor@@
.?AVUnplibReaderInterface@@
.?AVUnplibStored@@
.?AVUnplibWriteAdaptor@@
.?AVUnplibWriterInterface@@
.?AVUnputilCancel@@
.?AVunrar@@
.?AVunrar3@@
.?AVunrar5@@
.?AVunreduce@@
.?AVunRelocs@@
.?AVUNShrink@@
.?AVunsit@@
.?AVunsit5@@
.?AVunsitd@@
.?AVUnTrustedDynamicMethodDecoder@@
.?AVUnTrustedMethodDecoder@@
.?AVUnTrustedNetModule@@
.?AVupack@@
.?AVupack10@@
.?AVupack20@@
.?AVupack22@@
.?AVupack24@@
.?AVupack24s@@
.?AVupack33@@
.?AVupack35@@
.?AVupack37@@
.?AVupack38@@
.?AVupack39@@
.?AVUpackE8E9@@
.?AVUPCCRC@@
.?AVUPCUnpacker@@
.?AVUpx30LZMAUnpacker@@
.?AVUpxFilter_0x13@@
.?AVUpxFilter_0x16@@
.?AVUpxFixComplicated@@
.?AVUpxFixDissasm@@
.?AVUpxFixE8@@
.?AVUpxFixE8E9@@
.?AVUpxFixE8E9_v060@@
.?AVUpxFixSimpleBE@@
.?AVUpxFixSimpleLE@@
.?AVupxw@@
.?AVUpxw60Unpacker@@
.?AVUpxw64@@
.?AVUpxw64LZMA@@
.?AVUpxw64NRVB@@
.?AVUpxw64NRVE@@
.?AVUpxw80Unpacker@@
.?AVUpxw896nUnpacker@@
.?AVUpxw896Unpacker@@
.?AVUpxwUnpacker@@
.?AVUrlRepCacheImpl@UrlRepCache@@
.?AVUrlReputationMaps@@
.?AVUrlReputationReport@@
.?AVUsedIntervals@@
.?AVuser_buffer_view@bit_shovel_plugins@tdt_library_v3@@
.?AVUtilFilePath@@
.?AVvail_random_forest_classifier@bit_shovel_plugins@@
.?AVvail_random_forest_classifier@bit_shovel_plugins@tdt_library_v3@@
.?AVvail_random_forest_classifier_factory@bit_shovel_plugins@@
.?AVvail_random_forest_classifier_factory@bit_shovel_plugins@tdt_library_v3@@
.?AVvail_random_forest_classifier_impl@internal@bit_shovel_plugins@@
.?AVvail_random_forest_classifier_impl@internal@bit_shovel_plugins@tdt_library_v3@@
.?AVValidateTrustFileReader@?1??ProcessFile@CCleanFileTelemetry@@AEAA_NPEB_WW4CleanPathCollectionType@@_NPEAUISysIoContext@@_KPEAUPrevalentFileReportStats@@4W4_CACHE_CLASSIFICATION@@@Z@
.?AVValidateTrustPluginBase@ValidateTrust@@
.?AVValidateTrustPluginCAB@ValidateTrust@@
.?AVValidateTrustPluginCatalog@ValidateTrust@@
.?AVValidateTrustPluginMachO@ValidateTrust@@
.?AVValidateTrustPluginMsi@ValidateTrust@@
.?AVValidateTrustPluginOfficeVba@ValidateTrust@@
.?AVValidateTrustPluginPe@ValidateTrust@@
.?AVValidateTrustPluginPS@ValidateTrust@@
.?AVValidatorImpl@ValidateTrust@@
.?AVValueInfo@@
.?AVValueMap@@
.?AVValueMapPublisher@@
.?AVValueStore@@
.?AVvamkm@@
.?AVvampm@@
.?AVVariantData@@
.?AVVB6_PEParser@@
.?AVvb_fop_processor@@
.?AVVBPEMapper@@
.?AVvdll_data_t@@
.?AVVfoDumper@?M@??DumpHeader@PackDumper@@AEAAHPEAVVfoImpl@@@Z@
.?AVVfoImpl@@
.?AVVFOReader@@
.?AVVfoTracker@?1??DecompressData@nUFSP_inno@@AEAAPEAVVfoImpl@@PEAV3@_KW4inno_compression_t@2@1@Z@
.?AVVfoWrapper@?1??xz_unpack_helper@@YAHAEAUSCAN_REPLY@@AEAUxz_context@XZStream@@@Z@
.?AVVFOWriter@@
.?AVVFOWriter_InfoPath@@
.?AVVfsRunState@@
.?AVVFWUnplibReadAdaptor@@
.?AVVFWUnplibWriteAdaptor@@
.?AVVhdVolume@@
.?AVVirtualDeCommiterInterface@@
.?AVVirtualExePage@@
.?AVvirtual_filesystem_config_imp@tdt_library@@
.?AVvirtual_filesystem_config_imp@tdt_library_v3@@
.?AVVirtualFileWrapper@@
.?AVVirtualMemory@UnitStorage@@
.?AVVirtualProtectCallback@@
.?AVVirtualString@@
.?AVVirusFamily@@
.?AVVm@AntiRootkit@@
.?AVVmCache@AntiRootkit@@
.?AVVMM_context@@
.?AVVMM_context_ex@@
.?AVVMMDumper@@
.?AVVMM_NETRPF_context@@
.?AVVMM_x16_context@@
.?AVVMM_x32_context@@
.?AVVMM_x64_context@@
.?AVvmp_32_parser@@
.?AVvmp_BB_mgr@@
.?AVvmp_ctx@@
.?AVvmp_ctx_tracer@@
.?AVvmp_env_plugin@@
.?AVVMP_IL_translator@@
.?AVVmProcessProtectionInfo@VmProcessProtection@@
.?AVvmp_s32_parser@@
.?AVVolumeMountNotification@@
.?AVVolumeMountResourceItem@@
.?AVVolumeWrapper@@
.?AVVssApiVistaPlus@VSS@@
.?AVVssApi@VSS@@
.?AVvstack_translator@@
)))AvvvvU
.?AVWCharFactory@@
.?AVWeakReferenceImpl@Details@WRL@Microsoft@@
.?AVWExtractUnpacker@@
.?AVWideVirtualString@@
.?AVWin64DbgHookSensor@AntiRootkit@@
.?AVWin64DeviceObject@AntiRootkit@@
.?AVWin64DeviceObjectsSensor@AntiRootkit@@
.?AVWin64DispatchEntry@AntiRootkit@@
.?AVWin64DriverObject@AntiRootkit@@
.?AVWin64DriverObjectsSensor@AntiRootkit@@
.?AVWin64ExportsSensor@AntiRootkit@@
.?AVWin64FltCallbackTableSensor@AntiRootkit@@
.?AVWin64ImportsSensor@AntiRootkit@@
.?AVWin64IrpHookSensor@AntiRootkit@@
.?AVWin64Kernel@AntiRootkit@@
.?AVWin64ModuleEntry@AntiRootkit@@
.?AVWin64ModuleList@AntiRootkit@@
.?AVWin64ModulesSensor@AntiRootkit@@
.?AVWin64NdisProtocolBlock@AntiRootkit@@
.?AVWin64NdisSensor@AntiRootkit@@
.?AVWin64Object@AntiRootkit@@
.?AVWin64ObjMgr@AntiRootkit@@
.?AVWin64ObjMgrObject@AntiRootkit@@
.?AVWin64Sensor@AntiRootkit@@
.?AVWin64SrvDispatchTableSensor@AntiRootkit@@
.?AVWin64UefiSensor@AntiRootkit@@
.?AVWin64Vm@AntiRootkit@@
.?AVwindows_exception@@
.?AVWinError@@
.?AVWmiMofDataContext@@
.?AVWmiSensorConfig@0@
.?AVWorkItemHelper@?1??dispatchWork@ThrottlingAgent@@AEAAJPEAUtagMP_THREAD_POOL@@AEAKK@Z@
.?AVWrapperOpenFileInfo@@
.?AVWriteAdaptor_Filter@@
.?AVWriter@?3??DecompressBlock@Parser@XZStream@@AEAAJAEBUHeader@3@AEBUBlockHeader@3@AEAUBlockInformation@3@@Z@
.?AVWriteViewProvider@?1??AttachViewForWrite@UfsFile@@QEAAJPEAVIUfsIoView@@@Z@
.?AVWrongCancel@@
.?AVWrongRead@@
.?AVWrongWriter@@
.?AVWscDpaClientWorker@BackupStore@@
.?AVWWPack@@
.?AVx64_fop_processor@FopScanner@@
.?AVx64_IL_translator@@
.?AVx86_16_context@@
.?AVx86_32b_context@@
.?AVx86_32_context@@
.?AVx86_64b_context@@
.?AVx86_64_context@@
.?AVx86_BBhash@@
.?AVx86_code_cost@@
.?AVx86_common_context@@
.?AVX86Filter@XZStream@@
.?AVx86_fop_processor@FopScanner@@
.?AVx86_IL_common@@
.?AVx86_IL_emulator@@
.?AVx86_IL_translator@@
aV@@@@@x@@A@AAac
.?AVXF_Reader@@
.?AVXMLListCollectionBase@@
.?AVXMLMapCollectionBase@@
.?AVXmlOutStream@@
.?AVxml_parser_error@xml_parser@property_tree@boost@@
.?AVXMLPoint@@
.?AVXMLRect@@
.?AVXmlTag@@
.?AVXORBuffer@@
.?AVXorDecryptor@@
.?AVXorDecryptor@?6??DeofuscateImage@Upxw60Unpacker@@MEAA?AW4PEError@@XZ@
.?AVxpress@@
.?AVXZReader@?1??xz_unpack_helper@@YAHAEAUSCAN_REPLY@@AEAUxz_context@XZStream@@@Z@
.?AVXZReaderAdaptor@?1??DecompressXZStream@@YAXAEAUunpackdata_t@@@Z@
.?AVXZWriterAdaptor@?1??DecompressXZStream@@YAXAEAUunpackdata_t@@@Z@
avyyEvyy
.?AVZAdditionalStreamsInfo@@
.?AVZArchiveProperties@@
.?AVZArchiveProperty@@
.?AVZCoders@@
.?AVZCRCs@@
.?AVZeroByteAnalyzer@@
.?AVZeroInterval@@
.?AVZeroMemoryReader@@
.?AVZeroSector@@
.?AVZFilesInfo@@
.?AVZFolder@@
avzgqggm
.?AVZHeader@@
.?AVZHeaderEncoded@@
.?AVZID@@
.?AVZipAdvanceFull@@
.?AVZipAdvanceLocal@@
.?AVZipAesCtr@@
.?AVZipAESEncryption@@
.?AVZipFilename@@
.?AVZipFileReader@@
.?AVZipPKWareEncryption@@
.?AVZipWrongRead@@
.?AVZlibXorCompressor@@
.?AVZMainStreamsInfo@@
.?AVZNames@@
.?AVZNumUnpackStream@@
.?AVZoo@@
.?AVZPackInfo@@
.?AVZParse7Z@@
.?AVZReadOnRequest@@
.?AVZSizes@@
.?AVZstreamMgr@?1??ConsumeInputCompressed@DispatchProxy@@AEAA?AW4MP_ERROR@@PEAXKKKPEB_W@Z@
.?AVZStreamsInfo@@
.?AVZSubstreamInfo@@
.?AVZUnpackInfo@@
.?AVZUnpackSizes@@
@@@@@@AW@
AW@;@2C(C'C
.?AW4MP_ERROR@@
.?AW4tdt_return_code_@tdt_api@@
A?W7ngfG
a)"@@@@@w@@A@AAac
A;_@w@@A@AAacoo
A@W@AAac
A@W@A@ac
A@W@AEac
A@W@AFac
aWaPaMaAaQa
aWaRaMaAaQa
aWaSaMaAaQa
aWaUa"a	a
aWaUaAaIa
aWaUaAaPaSaRaUaTaAa
aWaUaHaAa a
aWaUaMaAaQa
aWaUaZaAa
aWaVa*a#aQa
aWaVaQaVaVa
@AwAwXw_X
aWaXaMaAaQa
aWaXaRaPaYaWa
aWaYaLaRaTa
aWaYaMaAaQa
aWaYaSaLaUa
a||wb||]b||Lb||
aWd][[[:[[[8[[[
AwDCwDwSwJEO
?AWdF[[[
Aw@d@U@B@3@ @
Aw@FYKFwSw_wG
AWhwkhwX
A|@w@K@A@F@?@4@-@"@
AWLgKkgfGj
AwllllllllmllllOllylm
aWllllllllmllllOllylm4
Aw@o@S@K@?@7@
aWPdZ[[[
A	wpgppepq
awQ[P[[[Z[[[?[[[
a.WRSca]SSS@S2a
AWSCUpdateProvider
AwSdP[[[([[[#[[[
aWSS[:Xk
AWsUHMFIcHPIKHFCBU
awvwwsssCqcCwww
)))Aw]]wYw
?)))Aw]]wYw
@Aw]]wYw
awxsUHMFIcHPIKHFCBU
)))A]]wY
Awyb@wy5Bwy
AwyMxyyyyyyyyyy
Awy[yyyyyyyyyyy
aX[[[|[[[
@@@@@@AX@
ax3weQQ2
aXa1a a a a*a a a(a
AxAAAAAA@AAAAAC
AXAAAAAA@AAAAAC
aXa"aQa"a'a aTaYaLaRa aWa'aLaTaPa
A@X@AC@@@A@_p@J
AXACXN[OG
A@X@ADac
A@X@AEac
AXALOPJ[
AXA[MX_[
AXANHCC][
aXaPaPaOa
aXaQaQaLa
AXAQ_HEJN_H
aXaSaNaQaNa
aXaSaVaRaUaLa
aXaUa-a"a"a
aXaWaRaLa
aXaXaLaPaQaPa
aXaYaXaXa
a||Xb||)b||
A||xB||@B||
[AXBBNE[
AXBHZHGQZ]AJJ
AXBKMQJHE
AXBPFLPGMCYJ_
AX[[@CBK
AXCESYBS
AX[CGX[JDO
A]XC@HJ_LG
@AXCHZAO@XNAJ
AXCLNYMPLYS_XC
AXCMMCX]
AXCNFBLQHPZAJ
AXCOQCE_MJZ]L]A[QQKEHQ
AX@CQYDHGYQSFSY
AXCZQXH[JQB
AXD[BZC_]
AXD[CLG[
AXDD__JS
axDHpgppepq
AXDHSGNYG
a*xdI[[[h[[[
AXDJADCO
AX_D@JBSM]L
_AXDJQQNH
AXDJZXMJD__ACZXYHYNHL@FJD
A[XDKJOA]KXQGHQGJJ
AXD@KQPY
AXDM[GAPSKE]ZH
AXDPBYOCDC
aXdT[[[z[[[
AXDYQK@DJDDK
_AXEAMM][ZAM
AXEEXOACCZA
AXEHCLQPF[[X
[AXELQXDMCHXO]L
A[[XESDFPBM]A@ADK
AXEY@LAO[
AXFFM_CKXGX
]AXFKGGM
AXFZKKJ[
AXg7bgfG
a:(XgAgg
AXGAYJYNP
AX@GHBPJDGJ
Axg	ngfG
A[XGPDQOD
A]XGQAKAXJXEY
@axgqgg"
AX_gqgg"
AxgqggcnuD
AXgqggKSl
axgqggl:
Ax(GSSW@IBI
_@[]AX_HGJ
AXHHQS_P
aX.ijiN-
AxisEnabled
A)x:jm	!
AXJNAGDN@M
A[XJOMZCB
AXJP_NZZZHX@G
A@XJSAOLXM
A_XJZDGDZM
AXK[JM_H
AXKQO[H[Y
AXK]SFAO
A_X]KSX_
AXLCDGY]XDQ@LKDJ
*aXllllllllmllllOllylmH
aXllllllllmllllOllylmV
AXL_MFBAM
A||xM||7M||
A[XMJDNL[
AXMJDYG@NYX_]XSZ]
A[XMJ]MNFXY
AXMJ[ZHAQPZDZYFE_GD
AX@M[LZJ_
A[XMX]CQMLH
AX_NAZSC
AXNBEJPK
AXNBP]HDSNYH[
__]AXNHJF
]AXNXQAAH
A_XNZEJQY]MOMPM[EXGYCHXY
A]XNZSOZAAMY
AXOAOLL@SZLYYNZB[KNL
A@X]OCSPEB
AXOCXS@B
AXODA@_N
AXOH]DC[OCY
AXO|||	j
A]XOJ]X]ZQLSS
AXOLBZPPLACJB
AXOMYSNK@NOX
AXONA]CBMZ]
]AXOO]GD]
AXOOPCOBN
A[X__[OP
AXOSDQ]MPBP
AX[O@XBMC[
aXOXOOGKG
@@@@@@@AXp
@@@@@@A@Xp
@@@@@@A@Xp4D
@@@@@@A@Xp6D
_@@A@Xp6PSe
AXPA@YM_BEL
_@@@@@@A@XpbD
AXPBDPQK
)@@@@@@A@XpcD
@@@@@@A@Xp#D
@@@@A@@@Xp_D
@A@@Xp@D
@@A@XpDa
@@A@XpDcJ|8a
@@@@@A@@XpDD
@@@@A@@@XpDD
@@A@XpDe
@@A@XpDf
@@A@XpDg
@A@@XpDGbq
@@A@XpDGu
@@A@XpDHz
)@@A@XpDIQ
@@@@@@A@XpDK
@A@@XpDM
@@A@XpDQt
@@A@XpDQT
@@A@XpD]R
@@A@XpDR
@@A@XpDRb
@@A@XpDss
@@A@XpDT
#@@@@@@A@XpDW
_AXPDXCEH[]Q
@@@@A@@@XpED
 @A@@XpEI
@@A@Xp	G
@@@@@@A@XpGD
A@@@XpGE
AXPGSXO@GLPJ
@@@@@@A@XphD
A@@@XpHD
@@A@XpHSQ
@@@@A@@@XpID
@@@@@A@@Xp@J
AXPJCAHABJ
@@@@@@@AXpJD
@@@@@@A@XpJD
@@@@@A@@Xp@L
@@@@@@@AXpLD
@@@@@@A@XpLD
@@A@XpLD
AXP_@]LJAAAQZCBE]J][CMBEO_]ZCO
@A@@XpLK
@@@A@XpLP
@@A@XpLW
@@A@XpLY
@@@A@XpMD
)@@@@A@@@XpMH_
@@@@@A@@Xp@M|P
@@A@XpnD
A@@@XpND
_@@A@XpNPSe
@A@@Xp@O
@@A@XpOD
@@A@XpPD
@@A@XpqD
@@@@@@A@XpQD
@@@@@@A@XprP
@@@@@@A@XpsD
@@A@XpSD
@@@a@XpTD
@@@@@@A@XpTD
@@A@Xpu[0bg@vq
@@A@XpuD
@@@@A@@@XpUD
@@A@Xpw[0bg@
@@@@@@A@XpWaK'
@@@@@@A@XpwD
@@A@XpWD
:@@A@XpYD
@@A@XpYD
AXPYEG[_[M
@@A@XpZ[0bg@
A@X]QAKC
A]XQ]A@O]
AXQCZJPAPM
[AXQEG[A
AXQHQQMMH
AXQLDNB[J]CL
AXQOXLG_
Ax@q@t@k@e@Q@V@M@@@:@6@ @
A@XQYF]]@XQYFY
AXQZBXY]COQDKHPCBOQ
A[X[QZQK
Ax@r@l@f@
Ax@r@l@Y@_@U@A@
A||xR||nR||
Ax@S@@@;@4@
AXS9AXS*AXS
AXSBPNDQ
AXSCQ]ENYB
AXS]EHM[
AXSGBSG[N
_AXSGG[NZY[_K
AXSHJJ]N]ZD
]AXSMHZP
AXSPH@FKDMB_
AXSP]XAX[MQQOP
AXSP@XS@@XSq@XSb@XS
Ax@s@w@m@c@f@P@0@6@-@
Ax@u@n@[@E@
axurl_scrubbed
	aX@@@@x
AXXBXEGYB
A_X[X_[DF
AXXdJ[[[
AXXOD_JZZML
AX]]XPDZXLZ
AX]XPJZP
AX]XQDNZ
axxrtqpPbxxr
Ax@X@W@-@#@
axxx0xxzxzxyxY[4
|AxxxWxx
axxxxxxxxxxxx6
Axxx?xxyxyxyxY[4
axxxxyxv
axxxyxry
AxxxyxRyw
):Axx]Y]]
|Axx]Y]]
axx]Y]]b4_
AXXYK[DL
Axxy]ngU
Axx]Y]]PnY
axxyx]Y]]
Axya@xyK@xy5@xy
Ax@Y@F@'@
AXYJ@KNQ@
Axyl@xyS@xyF@xy-@xy
Axyl@xyU@xy2@xy
A_XYMBYGB]JFXPG
]AXYMGAMX
[AX_@[YMHL]BKA]CGH
A_X]YOC[LF
AXY[SLP_
Axyt@xyU@xy2@xy
Axyw@xyZ@xyA@xy4@xy
AXYXBHLH[
AX_Y[XHASXX]HN
Axyy@4iv
Axyy|Axyy
AxyyB|)ih6v
AXYY[G]D
Axyyiyyy
Axyyyyyq
AXyyyyyyyyyyyyyysyyy
Axyyz(Iz
AXZENPBL_C
AXZHC]BLCH
AXZJ]NFYCQ[KPND@S
AXZL__QX]
A]XZMNZ@
AXZPCMOJA
]]AXZYMJ
))a))))(Y)))
	)))A]]Y
 )))A]]Y
!)))A]]Y
")))A]]Y
.)))A]]Y
:)))A]]Y
;)))A]]Y
?)))A]]Y
@)))A]]Y
@@@@@@AY@
A]Y]]**_
A]Y]]@"_
A]Y]][	_
A]Y]]:1_
AY6pgppepqn
Ay9yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEy4#
aYa)a6a	a
AYA@AYqgE
AYA@AYqPE
@AYA@BACAaA
A@Y@ACac
AYAC[X@HJGEQQP
A@Y@AEac
A@Y@AE@@@A@h GP
A@Y@AE@@@A@h HZ
A@Y@AE@@@A@h IT
AYA_GB_BC
AYAGBN]C_LEOGNC
AYAGZFYB
@A]]YAHGMEL[
AY@Ai!@gAAAA
AYAMEKGQ@
aYaPaLaUaVaWaWaLa
aYaQaSaLa
AYAS[DPL_BGQBF
AYAS@ZLP
aYaTaUaYaQaOa
aYaVaTaRa
aYaVaWaPa aTaSaTaLaYaYaXaPaLaUa
aYaVaYaWaVa
aYaXaUaWa
AYAXEKFLO_[KG
A]]YA]]Y
aYaYaQaQaPaWa
AY__A_YYH
**-A]]YA]]YZ
AYBGOBBSBDFCY
AYBHKZ_SY
AYBNAKXHF
AYBOOAP[
[AYBX[BG[[Q_
  a     ]Y]]c
*AYCCNCCCBACC
_AYCEY[P@CZS
AYC_@FDB
AYcgfGAs
A[Y@C]G_K
A]YCJ]BQS_]KSHM
AY[][CNG[JLD[
AYCNYM_HKXY
AYCOKKKZ
AYCPKLEH_[
AYCY]SNSFPZQJJDSNG
@AY@@DACCaA3!AAAAAAAAAA@AAAAA@Ai!JS
A]Y[DBSGQX
]AYDGDZH_L
AYDHCO_K
A]]YDL]AFM
]AYDLSPO
a)ydX[[[
_AYDXBGMCA
A@Y@ECac
A]]YE@GB)(
AYEHE[_P
AY@EMPLP
A]]YE@Z]LGL[
a)))Y[FCLJ]
a)))Y[FJLZZ
AY[FJLZZ
a())Y[FJLZZY
AY]FX_XK
a)))YFZ]
A)))YFZ]D
AY[FZHJJF
AYGCDQY_MPPYZY
AY[GCTErMMZ
AYGDJDXX
AYGDLPBSBPZPH
AygfG*Z!egqggfwT;
aYggfwHA
aYg;gggG
AYGGZLCK]_QGN
a!ygodgfG
AYG]PDFSZ
AY]G]PZKZ
A[YGQC[_
AygQegfG
AYgqggH4z
aygqggPE
AY]G]QGX
A_YGQZY@E
A]YGX[]MB]YOP
AYGYAAFM
A|yg@|yA@|y
AYHGOCXJ
AYHKKB[D
AYHKZHPAY[CYOYE
AYHS_YP_MGHN
A)))YH[ZL@G]
Ay@|@i@d@
Ay@i@m@a@I@M@A@E@)@
Ay@i@m@a@I@M@A@E@9@-@
Ay@i@m@yyuy1xyy
AyIWgAggs
AYJCMACZ
A]]YJFGGLJ]@FGYFFE
A]]YJFG]LQ]
AYJGSZQNYDM
A[YJHMMY[@G]L[M[@_L[LQ
)))A[YJ[LDF]LO@GMO@[Z]Y[@G]L[JAHGNLGF]@O@JH]@FGLQ
AYJMZCQC
AY[JNGYKHH[QA
[AYJOPXCK
AYJOSHQDJ
AYJQKJBMPCJ
*-*A]]Y]JYMLO@G@]@HE@SL
*-*A]]Y]JYZL[_L[
AyKdM[[[
AYKHAXEA
AY[KMYN]PP[NJCXZK]
AYK]XKNOPKQPD@]OO
AYL__B[N
AY[LCJCPPEHB
AYLDSS[H
AylDyymEA
a]]YlGJ))
[_A@YLHCFZ
AYL@H_DS
AYL][J_L
AYLL[AQCF[FBX[OD
)))a]]Yl_LG]jFEELJ]F[l[[F[aHGMEL[
A]YLPGPK
)))A]]Y[LX
ay[[[L[[[@[[[XX
A]]Y[LYF[]
	)))A]]Y[LZYFGZL
AY@?@mCHC:C
Ay@m@e@I@A@5@-@
Ay@M@G@?@
Ay@m@M@F@*@
]AYMQMLJX
A_YMYCKG
AYNBE]QKM
AYNBQH@CZ
AYNEL@HQL
AYNGQMZZXJ
A_YNHOZNSH
AYNKFJGLJLQSMCXK
a]]YnL]))
a]]YnL]v|[Eh[[HPe@Z]))
AY]NMJG[MJX]OHLL
AYNM]NC]
AYN_[PD_H
A[@YNXYDL
]]A_YNYGBNPEAKQJ[
AY@OOSJA[L@M]G@CN
AYOS]HYDCBLEM
A]Y]]P)_
A]@y||	P4
AYPBCCYSZ_CZYHZ
AYP]EHYPB
AYP]GE@N]MASN@LL
aypgppepq
aypgppepqs
AYPLCO[NMD]
AYPONF_]PPL
AYQANLEJ_EZFEZN
Ay@q@e@Q@I@9@5@
AYQ[HNZ[
AYQJQ_X_
Ay@q@l@e@
@A@YQOYC_@G
AYQSLNZ[J
AYQXSJPL
AYQXZZ[GKL[Y
Ay@@@?@RCCC
AyRdX[[[9[[[
A]Y]]re_
AY[SA[QJE
AYSDYCNDAH
AYSESEHH
Ay@s@m@g@Q@K@E@?@)@#@
AYSM__HGBPKPC
AYSMHQH[
AY_SN_LSD
Ay'@spgppepqm
AY[SYF]AD
[A@YSZ@___
AYSZZB]GJ
Ay@u@a@]@I@E@1@-@
Ay@u@]@U@A@)@!@
A]]YvAFZ]
A]]YvEFNZ
)))A]]YvFKC
A]]YvFKC
)))A]]YvFKCLJ]
;)))AYvMFJBHJJLZZF[P
A]]YvNL]
A]]YvO]Y))
A]Y]]vx_
A]]YvZL[_L[
[]AYX@ADL_OCB
AYXJ_P]Y
Ayxmy" EV
AYXPDBJN@FOZ
AY[X]Q@GEO
AY]X@SYOA]B
Ayxuy59O
AYXXSFJMH
Ay@Y@9@5@)@
a]]Yyay|[EyH[HD))
Ayya@yy*@yy
AY_YCDCAJJC
ayydayyKayy2ayy
AYY[DDKL
ayyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy
A]]YYF[]
a]]YyFZ]o@EL))
AYYHGKE@_GHOY
ayyhyyyEylyuyu
ayyhyyyEyoyuyu
a[yyhyyyuyu
Ayyi@yyR@yy;@yy @yy
AYYJAXLXKDOKON
AYYJQK]G
@_AYYKDXO
AyykNyy5Oyy
Ayyk@yy"@yy
AY[Y@L_@]DQB
AY_YLMACE
Ayyp@yy[@yyC@yy(@yy
AYYQC]BX
ayyQoyy:oyy-oyy
ayyQyyyy
Ayyr@yyV@yy.@yy
ayysyyyyyy
Ayyt@yyd@yyJ@yy1@yy'@yy
]AYYXAEXBDDK
ayyxcyyCcyy
Ayyx@yyc@yyJ@yy3@yy
a[yyxyyy
Ayyxyyy1zyy1zyy
Ayyxyyy3zyy3zyy
a_yyxyyyIy
ayyxyyyoyyyoyyy
a[yyxyyyqyq
ayyy9xyycyyyaxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ayyy|iwyy
ayyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
ayyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
ayyyIyyycyyyayyyyyyyyyyyyyy9yy
ayyyiyyyyyyyyyyyyyyyyyyyyyy
Ayyypyyy
ayyyqyyyYyyy
AYyyxyyy
AyyY@yyC@yy-@yy
ayyy	yyycyyyGyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ayyyyyyEyyy
ayyyyyyQyyy)yyy
AyyyyyyQyyy)yyy
Ayyyyyyy
ayyyYyyycyyy
ayyyyyyyyyy
A@yyyyyyyyyy
ayyyyyyyyyyyyyyywyyy
Ayyyyyyyyyyyyyyyyy
ayyyyyyyyyyyyyyyyyy
Ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1y4#
Ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
AyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyOy4#
Ay@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
AyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMy4#
Ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Ayyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
a)))]]YZ
	)))A]]YZ
#	)A]]YZ
#)))A]]YZ
#:)A]]YZ
#?)A]]YZ
')))A]]YZ
)))A]]YZ
.)))A]]YZ
:)))A]]YZ
;)))A]]YZ
?)))A]]YZ
@)))A]]YZ
|)))A]]YZ
AY]ZENBHAJ
AYZFD@G_Z
A]]YZGHYZAF]QDEGZ
[A[YZHQ]
A]]YZL[_EL][LZYFGZL[
A]]YZLGM))
[A[Y[@]Z__LSDGG
A]]YZvZL
AYZXD]_SMJZ
a@YzY[LP
az[[[;[[[
")))]A@Z
:)))]A@Z
?)))]A@Z
@@@@@@AZ@
[)))]A@Z
az8dN[[[
aZaaagqgg
A||ZA||@@A|BBA|YA||SA||QA||WA||VA||
aZaauauabaakap
A@Z@ACac
A@Z@AC@BBA@
A@Z@ADac
A@Z@AEac
A@Z@AE@B@A@2 @P
AZAJ@KNLP]PBLHX
A)))ZALL]
AZAPY_NG
A_ZAQXCPGQ
AZASPH[G__A
AZA[XCYPEM
aZ[[[B[[[
AZBCF[FZ[
AZ]]BCGB
AZBGJGHZJ
AZBQOMHHDJ
AZBYCNJC]GD_DZS
aZ[[[C[[[
AZCAZDANEL
]]AZC]BH
a?ZCCNCCCBACC
AZ@C@F@]C.C
AZCFEZKXZMAF_CQFSDB
AZC]PG]XC
AZCXFAMX]H_LQK
az|Dcz|x
]A@ZDFM@O@JH]@FG@Z[L_L[Z@KEL
AZDGNJPX
]A@ZDHP]
AZDMKKGXJA_CQ[K[
AZDSLBZNDS
AZDY[AY]MYGNOKQ
AZEA]PLO
AZECJKKPZ
A@ZEDQ]MDFJCSO
A@Z@EEac
AZ_[EJZFKDALSJSAQQ
AZELEHHNCCHBKP@P
Az@e@M@7@
AZ@EMABAZMEOZZMOZBECMAOZBCM
a)))Z@E@[@ZLQYF[]
AZ@FDCJ_QJJAD
A)))ZFGHZA@YDHGHNLDLG]
a)))ZFJBL]Z
a@Z]F[P))
)))A@Z]F[P
a@Z]F[PhJ]@_@]P
A@Z]F[Prv
)))A@Z]F[PvYH]A
Az@f@W@D@1@.@
a)))ZFY[HGF
aZg7egfGr
A[[ZGDAYDM
AZGDLMPH
aZ'gfGUt
AZgiSgfG
__A]ZGJHA
AZGKSBKN
AZGMBKYMQ]KB_KJKPA
A[]ZG_MZMHL
a)))Z][@GN
A)))Z][@GNrrOHEZL
A.ZgOegfG#?Pdgqgg
AZGOZLLPH
AZ	gqggQ
aZgWkgfG
AZGYPDQ][M[P
AZGZHXFB
@AZHDOHYLD
AZ_HDYNPOFQQANNJ
azhGhGhGh
AZHKQ]YOL
AZHLZCHH
AZHPM_[J
AZH_S_A_EXSQE
aZIdW[[[h
aZiegfG1
]A@ZJAH[
AZJAL@L[
AZJCJDLJLBH
AZJ]DLLEQ]
AZ[]JHZEL[
AZJNCNZG
AZJPPQ]N
AZJQCH[JNCBGPH
AZJSD]EOAE]OP
A)))ZJ[@Y]
a@_[[[Z[[[K[[[
a_[[[Z[[[K[[[
A_[[[Z[[[K[[[
A|:_[[[Z[[[K[[[
AZKHH_KQZBXXZJ
A@ZKH@[P
AZKLAAKYL
AZKNCZNDX
AZKN_QOKPS
AZKOHKOHG[O
AZKSYOE[
A_ZKXNJB
A_Z[]LAC
AZ[LAQGQFQH
AZLBPOOXO
A[ZLBY@XL[
 )))A@ZLGZL
AZLJ[ZKQC
az@llllllllmllllOllylm
AZllllllllmllllOllylm
AZ[LMBZ__[LCO
AZLNCCO]CFFN
aZ-LUCwG
AZMC_HMA
A_Z]MDYN
_A[[ZME[JYDXLMDZQM
AZMGLLBP
AZMHOYZH]SY_
AZMN__F[JQNS@OM
A)))Z@NG@G
A[Z[NHNHBS
a)))Z@NL
A_ZN_ZBJJ
AZNZH@H]QOHXBJY
AZOBKHJNS@
AZODGMPZ
A@Z]O@EL
aZoicgfG
AZO[KGCXA
AZ@OMYCXXJGZDXA
AZONSDL]JM
A]ZOSYPZSJHYXSX
AZPBD]K_JH
AZPBPLAXOS]LBSPGDQ]
A@Z_[PCA]_XLZZX
[AZP_CM[JN
a)))ZPGJL[
aZpgppepq
AZpgppepq
A]Z[PHOOO
Az@P@K@.@
AZPMD@ZA
]AZ@[[]PS
AZPS@DNS@[POLYLDHHXLZYMHODAB
a'Z'PYu'
AZQHFYDN
AZQJZ]XJ
AZQL]CJOP
A[Z[Q@@[MB
	)))]A@Zr
 )))]A@Zr
')))]A@Zr
)))]A@Zr
]A@Zr]A@Zr
)))]A@ZrZ][@GN
]A@ZrZJGLOCSBt
]A@Zr[@Zt
AZSCNCG@F
AZSLD[JK
AZSNSEMX_K
A][ZS]SLO
AzSubmitFeedback
AZSX]QQJ
azurenodeid
azurenodeid_scrubbed
azurevirtualmachinename
azurevirtualmachinename_scrubbed
AZ(VVVVVVVVVVX
]A@ZvY[FKELD
AZX[]CLC
AZXCOMPJA
AZXPXQBS@
AZXZMOZDGZ
A[ZYDCSB
AZ[YEPBJ[
AZYOBNGDB
[AZYONX]C
AZY_YP]ZEG
Azy[@zy3@zy
AZY]@ZZMM
]A@ZZA@]
AZZAACGEE[ZBKM[M
)))]A@Z@Z]ALJE@LG]AHGMEL[
AZZ__C_NDJZX
|Az@zCzBzEzDzGzFz9z8z;z
AZZGESGQQ
)))]A@Z@ZHAHJB
]A@Z@ZHM@J]@FGH[P
;)))]A@Z@ZHZDHEEYH[]
]A@Z@ZNEFKHE
A]Z_Z]P_D
@AZZP]KKZLYC
AZZXBKQPES
aZZXkIkK]Qp]Z_Z
))b)))))
[[[	[[[b
[[[)[[[b
[[[|[[[b
|||||||b
||||b|||||||
b?||||||||||||||||
b||||||||||
b|||||||||||
""""""""""B"""" 
(@@@@@B@@
))B)))))
)@@@@@@B@
*@@@@B@@@
.	_@@@@B
@@@@@@@B
@@@@@@@B@
@@@@@@B@
@@@@@@B@@
@@@@@B@@
@@@@B@@@
@@@@B@@@@
[@@@@@B@@
[[[	[[[B
[[[*[[[B
[[[?[[[B
_@@@@B@@@
B"||||||
B.........(.((.(
B||||||||
B||||||||||||||
B||||||||||||||||||||||
B||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
b0"9lgfGh(
B0agAogfG
b0dO[[[f[[[d[[[
B0E;B8sUI
b0g!tgfG
b0g!tgfG#
B0llllllllmllllOllylm
b||||||||||||||||||||||||||0O
B0pgppepq
b0ppMessageSiteWWW
B0XVXXXVL
b1gOVgfG
b1gqgg_D
B1llllllllmllllOllylm
@@@@@B@@1pB@@@@@
B1pgppepq
B1wggegfG
b2Aaa]Y]]
B@@@2 @D
.b2egfwj
"B@@@2 @H
B2lgqggZBS*
B[2@MZvD9
b3[g)kgfG
B3g-kgfG_(.UgqggQ
B3gqggPJns8
b3HNGsggfGb3HNgqgg
B3|Knjl1
b3l*wV"w
b3PQllllllllmllllOllylm
|B3|voeo9ogo
B4C4D4E4F4G4H4
B4dR[[[O[[[A[[[
B4dX[[[p[[[
B@@@@@4@@E@ACac
B4Hd@[[[
b4|llllllllmllllOllylm
b4llllllllmllllOllylmK
B4!mggfw6
B4)n)!Rg
b4_[[[Z[[[K[[[
B5DdF[[[
b5KnKoKKoKKg
B67]TgfG
b6KooooooooooooI
B6llllllllmllllOllylm
b6llllllllmllllOllylmx
B6ngqggW
B"6uF|gESgfGf
B6v7_ogAgg
B6xxx]Y]]
b79XUeR#n
B7C7D7E7F7G7H7I7J7K7
b[[[7CSdK[[[a[[[
B7DdJ[[[
b[[[7f0d_[[[a[[[
b7 gqgg#
b_7gqggX
b7gUUMUUp
B7llllllllmllllOllylm
b||||||||||||||||||||||||||7O
@@@@@B@@7pG@@@@@
@@@@@B@@7pG@@@@@_L
b7UUBUUXVZ
b7wgAggD
b??7wgfw
b||||||||||||||8
b||||||8b||||||Db||||||Tb||||||||||||||
b8gqgg9(
b:8gqggo
b8llllllllmllllOllylm
B8lSSSSK0:
B?8-lTllylm
B8r@BCAvpI@@@@@
B8xxyxk9
b(8((]Y]]
B(8((]Y]]
B-90ggw1
b]91vSzPG
B(9A(u3D
B 9A uGL
B9@@@@B@AHHp@_
B9llllllllmllllOllylm9	
b9Rx0gWngfG
B9.((]Y]]
b9yyyyyy
b@@@@@@A@
@@@@B@a@
 @@@@B@A@
 @@@@B@A@@
"@@@@@@BA@
#@@@@B@A@
(@@@@B@A@
)'.@B@A@@
)@@@@B@A@
*@@@@B@A@
-).@B@A@@
-@@@@B@A@@
.@@@@B@A@
:@@@@B@A@
;@@@@B@A@
;@@@@B@A@@
;@@@@BA@@
?(@@@@B@A@@
@@@@@@BA
@@@@@@BA@
@@@@@B@A
@@@@@B@A@@
@@@@@BA@
@@@@B@A@
@@@@B@A@@
@@@@BA@@
@BA@; [@@@@@
[@@@@@@BA
[@@@@B@A@@
[[[;[[[BA
[[[B[[[A[[[
|@@@@B@A@
B@@@@@@A@@
@BA@10Q@@@@@r
!B@A@2 @
!B@A@2 @[
(@@@@B@A@2 @
.@@@@B@A@2 @]
.@@@@B@A@2 @_
@@@@B@A@2 @
@@@@B@A@2 @[
@@@@B@A@2 @]
@B@A@2 @]
]@@@@B@A@2 @[
B@A@2 @[
B@A@2 @]
@@@@B@A@2 @0
@BA@20]@@@@@
B@A@2 @[3
@@@@B@A@2 @]6
@@@@B@A@2 @]7
@@@@B@a@2 @A
@@@@B@A@2 @a
@@@@B@A@2 @a	
B@A@2 @a
B@A@2 @a	
)@@@@B@A@2 @A
.@@@@B@A@2 @A
:@@@@B@A@2 @A
;@@@@B@A@2 @A
@@@@B@A@2 @A
@@@@B@A@2 @A"@
@@@@B@A@2 @A#
@@@@B@A@2 @A;
@@@@B@A@2 @A@!
@@@@B@A@2 @A_
@B@A@2 @A_
B@A@2 @A
B@A@2 @A#
B@A@2 @A:
B@A@2 @A_
@@@@B@A@2 @AFP
@@@@B@A@2 @ag
)@@@@B@A@2 @AG
@@@@B@A@2 @AG
B@A@2 @AG
@@@@B@A@2 @Akml
@@@@B@A@2 @Al@
@@@@B@A@2 @aP
B@A@2 @aR
@@@@B@a@2 @As
@@@@B@A@2 @As
@@@@B@A@2 @AW
)@@@@B@A@2 @AX
@@@@B@A@2 @AX
B@A@2 @AX
@@@@B@A@2 @b
()@@@@B@A@2 @B
@@@@B@A@2 @'B
@@@@B@A@2 @B
B@A@2 @B
B@A@2 @B"
@@@@B@A@2 @BI
B@A@2 @Bx
@@@@B@A@2 @By
B@A@2 @By
.@@@@B@A@2 @c
@@@@B@A@2 @c
B@A@2 @c
B@A@2 @c 
 @@@@B@A@2 @C
!@@@@B@A@2 @C
(@@@@B@A@2 @C
@@@@B@A@2 @C
@B@A@2 @C
B@A@2 @C
@@@@B@A@2 @C0
@@@@B@A@2 @C5t
@@@@B@A@2 @C9
B@A@2 @Cb
@@@@B@A@2 @CC
@@@@B@A@2 @CE
B@A@2 @CE
B@A@2 @ceL
@@@@B@A@2 @CK
@@@@B@A@2 @ClZ
 B@A@2 @Cq
@@@@B@A@2 @Cq
B@A@2 @Cq3
@@@@B@A@2 @Cr
@@@@B@A@2 @Cu
@@@@B@A@2 @CU
 B@A@2 @d:
@@@@B@A@2 @d
@B@A@2 @d
 @@@@B@A@2 @D
!B@A@2 @D
'@@@@B@A@2 @D
)@@@@B@A@2 @D
*@@@@B@A@2 @D
@@@@B@A@2 @D
]B@A@2 @D
B@A@2 @D
B@A@2 @D:
@@@@B@A@2 @D0
@@@@B@A@2 @Ddy
B@A@2 @DK
 @@@@B@A@2 @DL
@@@@B@A@2 @DL
B@A@2 @DL
@@@@B@A@2 @Dm
@@@@B@A@2 @dP
@@@@B@A@2 @Dr
B@A@2 @Dr
@@@@B@A@2 @Ds
B@A@2 @dtC
@@@@B@A@2 @Du:
B@A@2 @Du:
@@@@B@A@2 @dX6
@@@@B@A@2 @e
B@A@2 @e
 @@@@B@A@2 @E:
!@@@@B@A@2 @E
'@@@@B@A@2 @E
@@@@B@A@2 @E
@@@@B@A@2 @E(
@B@A@2 @E
]@@@@B@A@2 @E
B@A@2 @E
@@@@B@A@2 @E0
B@A@2 @E0
B@A@2 @e2T
B@A@2 @E5E
@@@@B@A@2 @Ek*
B@A@2 @EN
@@@@B@A@2 @EQ
@@@@B@A@2 @EUW
@@@@B@A@2 @Ev1
B@A@2 @ew
@@@@B@A@2 @EygZ
B@A@2 @EZ
)@@@@B@A@2 @f
@@@@B@A@2 @f
@@@@B@A@2 @f#
B@A@2 @f
?@@@@B@A@2 @F
@@@@@B@A@2 @F
@@@@B@A@2 @F
B@A@2 @F
B@A@2 @F?
B@A@2 @F[
!B@A@2 @F2
@@@@B@A@2 @F4
@@@@B@A@2 @F9
@@@@B@A@2 @FaT
@@@@B@A@2 @FB-
@@@@B@A@2 @FD
B@A@2 @FD
@@@@B@A@2 @FD_i0@@@@B@A@2 @F8
@@@@B@A@2 @F)E
]@@@@B@A@2 @Fh7
B@A@2 @Fk
 @@@@B@A@2 @FP
!B@A@2 @FT
@@@@B@A@2 @Fx
@@@@B@A@2 @g
@B@A@2 @g
B@A@2 @g
 B@A@2 @G"
(@@@@B@A@2 @G
@@@@@B@A@2 @G;
@@@@B@A@2 @G
@@@@B@A@2 @G;
B@A@2 @G
B@A@2 @G1c
B@A@2 @Gb_
B@A@2 @Gc
B@A@2 @GJc
@@@@B@A@2 @G_L
B@A@2 @G_L
@@@@B@A@2 @GM0
@@@@B@A@2 @Go
B@A@2 @GOZ
"@@@@B@A@2 @GQyn
@@@@B@A@2 @Gr
@@@@B@A@2 @Gt
@@@@B@A@2 @h
 @@@@B@A@2 @H
 B@A@2 @H
'B@A@2 @H
@@@@B@A@2 @H
@B@A@2 @H
B@A@2 @H
B@A@2 @H#
B@A@2 @H0
B@A@2 @Ha(
@@@@B@A@2 @Hb
B@A@2 @HG
B@A@2 @Hj
@@@@B@A@2 @HJ[
@@@@B@A@2 @HK
B@A@2 @Hp
B@A@2 @HP
B@A@2 @Hq
@@@@B@A@2 @HR
B@A@2 @HR
@@@@B@A@2 @hS:
B@A@2 @Hy
B@A@2 @Hz
@@@@B@A@2 @i
-@@@@B@A@2 @I
.@@@@B@A@2 @I
@@@@B@A@2 @I
@@@@B@A@2 @I 
@@@@B@A@2 @I#
@B@A@2 @I
B@A@2 @I
@@@@B@A@2 @I7
(@@@@B@A@2 @Ie
'@@@@B@A@2 @IEh
@B@A@2 @I	L
@@@@B@A@2 @IPP
!B@A@2 @IS
@@@@B@A@2 @It
B@A@2 @Iy
@@@@B@A@2 @IY
@@@@B@A@2 @IY-
@@@@B@A@2 @j
)@@@@B@A@2 @J
:@@@@B@A@2 @J
?@@@@B@A@2 @J
@@@@B@A@2 @J
@@@@B@A@2 @J)
@@@@B@A@2 @J||
@B@A@2 @J
B@A@2 @J
B@A@2 @J- 
B@A@2 @JA
@B@A@2 @Jb-
|@@@@B@A@2 @JC
B@A@2 @JC
B@A@2 @JD4c
@@@@B@A@2 @JI
B@A@2 @JI
@@@@B@A@2 @jl
@@@@B@A@2 @J;T
B@A@2 @J;T
	B@A@2 @J-V
@@@@B@A@2 @JyT
 @@@@B@A@2 @k
@@@@B@A@2 @k
@B@A@2 @k
B@A@2 @k
;B@A@2 @K
@@@@B@A@2 @K
@B@A@2 @K
B@A@2 @K
@@@@B@A@2 @Kgf
@@@@B@A@2 @KJBJ
@@@@B@A@2 @Km
@@@@B@A@2 @kp
@@@@B@A@2 @kq
B@A@2 @Krd 
!B@A@2 @l
B@A@2 @l
@@@@B@A@2 @L
@@@@B@A@2 @L ?
@@@@B@A@2 @L_
B@A@2 @L
B@A@2 @l0nS
B@A@2 @LC
@@@@B@A@2 @L	F
B@A@2 @L	F
B@A@2 @Ll
@B@A@2 @Ln	
@B@A@2 @LQ
@@@@B@A@2 @ls)z
@B@A@2 @m
B@A@2 @m
(@@@@B@A@2 @M#
@@@@B@A@2 @M
@@@@B@A@2 @M"
@@@@B@A@2 @M#
@@@@B@A@2 @M]
]@@@@B@A@2 @M
B@A@2 @M
@@@@B@A@2 @M01
@@@@B@A@2 @M2
@@@@B@A@2 @M7
B@A@2 @Mc
@B@A@2 @MG
@@@@B@A@2 @MI
B@A@2 @MmH
@@@@B@A@2 @Mru
@@@@B@A@2 @MTg?
@@@@B@A@2 @mv
@@@@B@A@2 @Mw
B@A@2 @MW
B@A@2 @MX
@@@@B@A@2 @Mz
@@@@B@A@2 @n
B@A@2 @n
@@@@B@A@2 @N
@@@@B@A@2 @N;
B@A@2 @N
B@A@2 @N.
@@@@B@A@2 @N80?
B@A@2 @N8V
@@@@B@A@2 @Na
@@@@B@A@2 @NaX
B@A@2 @Ne
B@A@2 @NlK
B@A@2 @NUT
@@@@B@A@2 @NY
@@@@B@A@2 @O
@@@@B@A@2 @O?
@B@A@2 @O
B@A@2 @O
B@A@2 @OFq
@@@@B@A@2 @Oh6
@@@@B@A@2 @oI?Q
*@@@@B@A@2 @#oku
@@@@B@A@2 @#oku
;@@@@B@A@2 @oSY
@@@@B@A@2 @OY
@@@@B@A@2 @Oz
@@@@B@A@2 @p
@@@@B@A@2 @p?#
 B@A@2 @P
!@@@@B@A@2 @P
@@@@B@A@2 @P
@B@A@2 @P
B@A@2 @P
B@A@2 @P 
B@A@2 @P*
B@A@2 @P:
@@@@B@A@2 @Pb
B@A@2 @pb9l
@@@@B@A@2 @Q
@@@@B@A@2 @Q#
B@A@2 @Q
B@A@2 @Q?
@@@@B@A@2 @Q4
@@@@B@A@2 @Qs
@@@@B@A@2 @Qw
@@@@B@A@2 @QW
B@A@2 @QYg
@@@@B@A@2 @Q(Z
@@@@B@A@2 @R
@B@A@2 @R
B@A@2 @R
B@A@2 @RH
@@@@B@A@2 @Rm
@@@@B@A@2 @RR
@@@@B@A@2 @s
?@@@@B@A@2 @S
@@@@B@A@2 @S
@@@@B@A@2 @S"
@@@@B@A@2 @S;
B@A@2 @S
@@@@B@A@2 @SF!
B@A@2 @sg
@B@A@2 @sW
B@A@2 @t
(@@@@B@A@2 @T
;@@@@B@A@2 @T
@@@@B@A@2 @T
B@A@2 @T
B@A@2 @T4
B@A@2 @tk
@@@@B@A@2 @u
@B@A@2 @u
B@A@2 @u
@@@@B@A@2 @U
@B@A@2 @U
B@A@2 @U
B@A@2 @U]
@@@@B@A@2 @UIL
@@@@B@A@2 @UO
@@@@B@A@2 @V
B@A@2 @V
B@A@2 @VL
@B@A@2 @VW
B@A@2 @VW
@@@@B@A@2 @W
@@@@B@A@2 @W"
B@A@2 @W
B@A@2 @W"
@@@@B@A@2 @WB
@@@@B@A@2 @WG
@@@@B@A@2 @WO
@@@@B@A@2 @x
)@@@@B@A@2 @X
@@@@B@A@2 @X
@@@@B@A@2 @X?
B@A@2 @X
@@@@B@A@2 @X2
@@@@B@A@2 @X6
.@@@@B@A@2 @XG
@@@@B@A@2 @xgQN
@@@@B@A@2 @x'|L
@@@@B@A@2 @XQ
'@@@@B@A@2 @Xra
@@@@B@A@2 @y
@@@@B@A@2 @y;
B@A@2 @y;
@@@@B@A@2 @Y
B@A@2 @Y
B@A@2 @YB
@@@@B@A@2 @YF
@@@@B@A@2 @Ym
B@A@2 @Ynh
@@@@B@A@2 @YRo
B@A@2 @Y]S;
:@@@@B@A@2 @z
@@@@B@A@2 @z
B@A@2 @z
 B@A@2 @Z
@@@@B@A@2 @Z
B@A@2 @Z
@B@A@2 @Z9a
:@@@@B@A@2 @Z!i#
@@@@B@A@2 @Z!i#
@@@@B@A@2 @zW
@B@A@3 @MZ
@@@@B@A@3 @oP
@B@A@3 @u
B@A@3 @V
B@A@4 @d
@B@A@4 @h
@@@@B@A@4 @MHc
B@A@4 @MHc
B@A@4 @P
B@A@4 @S
B@A@4 @T
@@@@B@A@4 @U
B@A@4 @U
B@A@4 @X
@@@@B@A@4 @ZTTG
B@A@4 @ZTTG
B@A@5 @a
B@A@5 @ko
@B@A@5p@L
@@@@@BA@7p
B@A@7p@E
@BA@7pf@@@@@
Ba8GausH
ba___9994
"@BA@; A@@@@@
)@BA@; A@@@@@
:@BA@; A@@@@@
@@@@@BAA
@@@@B@A@A
@@@@B@AA
@@@@B@AA@
@@@@BAA@
@@@@BAA@@
@BA@; A@@@@@
@B@A@A0@@@@@@@@@@B
@@@@B@AA2 @
B@AA2 @[
)@@@@B@AA2 @A
@@@@B@AA2 @A
B@AA2 @A
@@@@B@AA2 @Bi
@@@@B@AA2 @D
@BAA@2 @D
BAA@2 @D
@BAA@2 @Db
@@@@BAA@2 @DL
BAA@2 @DL
@BAA@2 @e
@BAA@2 @f
B@AA2 @F
B@AA2 @FD
@@@@BAA@2 @J
B@AA2 @J
BAA@2 @J
B@AA2 @Jb-
B@AA2 @K 
B@AA2 @L
@@@@BAA@2 @Le
@@@@B@AA2 @M
B@AA2 @N
!B@AA2 @P
@@@@BAA@2 @S
@@@@B@AA2 @Ub
@@@@B@AA2 @WA
@@@@B@AA2 @x
BAA@2 @x
@@@@B@AA2 @Yj
BAA@3 @N
B@AA4 @d
B@AA4 @U
.B@AA4 @X
BaA8CaunI
@@@@BAA@A
@@@@BAAA
baaa""#a
bAAAAAA@AAAAAC
bAAAA@AAAAAC
BAAAA@AAAAAC
BAAAA@AAAAAC 
BAAAA@AAAAAC!
BAAAA@AAAAAC!'
BAAAA@AAAAAC"
BAAAA@AAAAAC#
BAAAA@AAAAAC'
BAAAA@AAAAAC)
BAAAA@AAAAAC*
BAAAA@AAAAAC*	
BAAAA@AAAAAC*;
BAAAA@AAAAAC-
BAAAA@AAAAAC.
BAAAA@AAAAAC:
BAAAA@AAAAAC;
BAAAA@AAAAAC?
BAAAA@AAAAAC@
BAAAA@AAAAAC_
BAAAA@AAAAAC|
BAAAA@AAAAAC0
BAAAA@AAAAAC"01
BAAAA@AAAAAC0O
BAAAA@AAAAAC1
BAAAA@AAAAAC2
BAAAA@AAAAAC3
BAAAA@AAAAAC4
BAAAA@AAAAAC5
BAAAA@AAAAAC6
BAAAA@AAAAAC6ji
BAAAA@AAAAAC7'
BAAAA@AAAAAC7HT
BAAAA@AAAAAC7I(
BAAAA@AAAAAC8
BAAAA@AAAAAC8F
BAAAA@AAAAAC9
BAAAA@AAAAAC9o
BAAAA@AAAAACa
BAAAA@AAAAACA
BAAAA@AAAAACa(7
BAAAA@AAAAAC-B
BAAAA@AAAAACB
BAAAA@AAAAACb3
BAAAA@AAAAACc
BAAAA@AAAAACC
BAAAA@AAAAACCZ
BAAAA@AAAAACd
BAAAA@AAAAACD
BAAAA@AAAAACe
BAAAA@AAAAACe:
BAAAA@AAAAACE
BAAAA@AAAAACeh
BAAAA@AAAAACEP
BAAAA@AAAAACf
BAAAA@AAAAACF
BAAAA@AAAAACF"
BAAAA@AAAAAC#g
BAAAA@AAAAACg
BAAAA@AAAAACGk
BAAAA@AAAAAC'gq	
BAAAA@AAAAACHL
BAAAA@AAAAAChV
BAAAA@AAAAACi'
BAAAA@AAAAACI
BAAAA@AAAAACJ
BAAAA@AAAAACja
BAAAA@AAAAACk
BAAAA@AAAAACK
BAAAA@AAAAAC.Kf
BAAAA@AAAAACl
BAAAA@AAAAAC|L
BAAAA@AAAAACL
BAAAA@AAAAAClN!K
BAAAA@AAAAACm
BAAAA@AAAAACM
BAAAA@AAAAACM 
BAAAA@AAAAACn
BAAAA@AAAAAC)]N
BAAAA@AAAAACN_
BAAAA@AAAAACo
BAAAA@AAAAACO
BAAAA@AAAAACOiT
BAAAA@AAAAACp
bAAAA@AAAAACq
BAAAA@AAAAACq
BAAAA@AAAAACQ
BAAAA@AAAAACqL
BAAAA@AAAAACqp
BAAAA@AAAAACqw
BAAAA@AAAAACr
BAAAA@AAAAACs
BAAAA@AAAAACS
BAAAA@AAAAACt
BAAAA@AAAAACT
BAAAA@AAAAACu
BAAAA@AAAAACU
BAAAA@AAAAACUp]
BAAAA@AAAAACVfm
BAAAA@AAAAACVN
BAAAA@AAAAACw
BAAAA@AAAAACW
BAAAA@AAAAACwbT0V
BAAAA@AAAAACx
BAAAA@AAAAACX
BAAAA@AAAAACy
BAAAA@AAAAAC]Y
BAAAA@AAAAACY 
BAAAA@AAAAACz
BAAAA@AAAAACZ
BAAAA@AAAAAC]za6
BAAAA@AAAAACzd
BAAAAAAAANqAAAAAAAAAAAAAAMqA
BAAAACAAAKPAL
BAAAACAAAOqAJ
BAAAACA@AKqAF
BAAAAMqA
baaaa]Y]]
baaaa]Y]]e
@@B@AAac
@@B@AAacoo
@@@@BAAAHp@G
@@@@BAAAHp@])t
@@@@BAAAHp@Y
@@@@BAAALp@h
@@@@BAAALp@[R
@@@@BAA@ap@[
@@@@BAA@ap@DfN
@@@@BAA@ap@DL
[@@@@BAA@ap@F
.BAA@ap@K
@@@@BAA@ap@Kg
@@@@BAA@ap@N
@BAA@ap@N
@@@@BAAApp@P
@@@@BAAA_p@V
@@@@B@AAap@yN
@@@@BAA@AQ@Kc
BaaaZaaa1b
*B@@@@@AAB
@@@@BAA@B
@@@@BAABdp@Q
"BAABEp@Dm@
@@@@BAABHp@E
@@@@BAABHp@F
@@@@BAABHp@J
@@@@BAABHp@J3Rj
@@@@BAABLp@Or
@@@@BAABXp@D#H
@@@@BAABXp@H
@@B@A@ac
@b@@A@ACac
@@@@BAA@Cp@DL
BAACZ@YJ@
@@@@B@AAdp@Q
bAAECEAQ1AAAAAA
BAAECEAQ1AAAAAA
BAA@Ep@C
*@@@@BAA@Ep@Dm@
@@@@BAA@Ep@I
@@@@BAA@Ep@K
@@@@BAA@Ep@WzE!
B@AAFJYG
]B]AA_GC__
B@AAgp@@@@@@@@@@@@@ALp@r
@@@@B@AAgp@R
@@@@B@AAgp@S
@@@@BAA@h @CX
@@@@@BAAh E@@@@@
@@@@BAA@Hp@[
B@AAHp@[
@@@@B@AAHp@c
B@AAHp@Cr
@@@@BAA@Hp@D
BAA@Hp@D
BAA@Hp@D0
@@@@BAA@Hp@DfN
@@@@BAA@Hp@D#H
@BAA@Hp@D#H
@@@@BAA@Hp@DL
BAA@Hp@DL
@@@@BAA@Hp@EV
@@@@BAA@Hp@[G8|
[@@@@BAA@Hp@H
@@@@BAA@Hp@H8
@@@@B@AAHp@I
@@@@BAA@Hp@I
BAA@Hp@I
B@AAHp@j
@@@@BAA@Hp@J
@@@@BAA@Hp@J)
@BAA@Hp@k
@@@@BAA@Hp@l
@@@@B@AAHp@L
@@@@BAA@Hp@L
@@@@BAA@Hp@L-4
@@@@BAA@Hp@N
@@@@B@AAHp@O
BAA@Hp@O
@BAA@Hp@P19
@@@@BAA@Hp@Q
BAA@Hp@Q
@@@@BAA@Hp@U2u:
@@@@BAA@Hp@V
@@@@BAA@Hp@w
@@@@B@AAJp@C
B@AAJQ@NW
B@AAJQ@S
BA@AKBCNZABNX
@@@@B@AALp@0
B@AALp@a
@@@@BAA@Lp@Dk
@@@@BA@ALp@F9
 @@@@BAA@Lp@Hb
@@@@B@AALp@i
@@@@BAA@Lp@_J
@@@@B@AALp@m
B@AALp@m
@@@@BAA@Lp@M
@@@@BAA@Lp@Ox
BAA@Lp@P
@@@@BAA@Lp@R-
@@@@BAA@Lp@S
@@@@BAA@Lp@T0
@@@@BAA@Lp@X
@@@@B@AALp@YM
B@AALp@z
BAAME[EF
B]]AA@MSO
@@@@BAA@np@D
[@@@@B@AAnp@Ljyb|@@@@BACBEp@D
|@@@@B@AANp@M@*bF@@@@B@AALp@v
'@@@@B@AANp@O
@@@@B@A@ap@
@B@A@ap@
[@@@@B@A@ap@
_B@A@ap@
B@A@ap@	
B@A@ap@[
@@@@B@A@ap@F
@@@@B@A@ap@H
@@@@B@A@ap@Hs'
@@@@B@A@ap@I
B@A@ap@J
@@@@BAA@_p@J
@@@@B@A@ap@K
B@AA_p@K
@@@@B@A@ap@L
@@@@B@A@ap@L|
@B@A@ap@L
@B@A@ap@L)
@@@@B@A@ap@N
@@@@B@A@ap@P
@@@@B@A@ap@PL7
@@@@BAA@_p@R
@@@@B@A@ap@T
@@@@B@A@ap@u
@B@A@ap@u
@@@@B@A@ap@U
BAA@_p@U
@@@@B@A@ap@v
@@@@B@A@ap@V
@@@@B@A@ap@VI4o
@@@@B@A@ap@	Y
B@A@AQ@|]4
@@@@B@A@AQ@a
B@A@AQ@a
@@@@B@A@AQ@a0
@@@@BA@@AQ@D
@@@@B@A@AQ@e
B@A@AQ@GuyEL@@@@@
@@@@B@A@AQ@K
@B@A@AQ@K
@@@@B@A@AQ@M
@@@@B@A@AQ@M_
@@@@B@A@AQ@o
B@A@AQ@O
@@@@B@A@AQ@P
#@@@@B@A@AQ@R
-@@@@B@A@AQ@S
@@@@B@A@AQ@S
BAAQ[SK[
@@@@B@A@AQ@Sx
@@@@@@BAAQ@T
@B@A@AQ@T
@@@@B@A@AQ@u
@@@@B@A@AQ@U
@@@@B@A@AQ@XL
@@@@B@A@AQ@Y
@BAA@Xp@DR
@@@@BAA@Xp@K7
@@@@BA@AXp@Mt:|
BA_AYA_J
baa]Y]]k
@@@@B@AAyp@K
BAA]YZMCH
  @@@@BAB@
!@@@@B@AB@
"@@@@BAB@
)'.@B@A@B
*@@@@BAB@
:@@@@BAB@
@@@@@BAB@
@@@@B@A@B
@@@@B@AB
@@@@B@AB@
@@@@BAB@
[@@@@BAB@
|@@@@BAB@
B@Ab0G@@@@@s
)@@@@B@AB2 @A
:@@@@B@AB2 @A"@
@@@@B@AB2 @A
B@AB2 @A
 B@AB2 @C
@@@@B@AB2 @C
@@@@B@AB2 @M[yU
@@@@B@AB2 @O
@@@@B@AB2 @P
B@AB2 @u
BAbABBACEBAfqAF
BABADE[PG
@@@@BABAHp@c
BABAHp@K
@@@@BABAHp@M
@@@@BABAlp@M
@@@@B@ABap@
@@@@BAB@ap@E
@@@@BAB@ap@F
@@@@BABA(p@M
	@@@@BABAPp@L[Q7N@@@@BABAPp@L
)@@@@B@ABAQ@c
 @@@@BABB
@@@@B@ABB
# @@@@BABBHp@C
@@@@BABBHp@O
@@@@BABBXp@O
@@@@B@ABCp@
B@@@@@AB@Cp@F
BABCP[YMM]XJO_]NC
@@@@BABDHp@J
]@@@@BABDHp@Jq
@@@@BABDHp@L-
@BABdp@@@@@@@@@@gqgg
@@@@BAB@Ep@D0
@@@@BAB@Ep@J
@@@@BAB@Ep@P
bAbgAggk
@@@@@BABgp[@@@@@
@@@@B@ABgp@G
@@@@BAB@Hp@H
@@@@BAB@Hp@I
@@@@BAB@Hp@J
|@@@@BAB@Hp@J
@@@@BAB@Hp@k
@@@@BAB@Hp@K
@@@@BAB@Hp@L
B@ABHp@L7Q
@@@@BAB@Hp@M
@@@@BAB@Hp@O
@@@@BAB@Hp@p
@@@@B@ABHp@Q
@@@@B@ABHp@S
@@@@B@ABHp@T
@@@@B@ABHp@V
@@@@B@ABHp@W
@BABh X@@@@@
BAB@JOFLAQYB
BABKDXADMSQJEMEYG]
BABLJKQMH@L
@@@@BAB@lp@R
[BABM[MS
@@@@BAB@np@f
@@@@B@ABNp@G
@@@@B@ABNp@H
@@@@B@ABNp@K
@@@@B@ABNp@O
@@@@B@ABNp@W
;@@@@BAB@np@Y
BAB]NZZCOF]
@@@@BAB@_p@L
@[BABqfUB[D
[BABX__JH
]BABX]MGQK
BAB@Xp@I
@@@@BAB@Xp@K
BabyWimExists
;@@@@BAC@
@@@@B@A@C
@@@@B@AC
@@@@B@AC@
@@@@BAC@
@@@@B@AC2 @A
@@@@B@AC2 @A;
B@AC2 @A
B@AC2 @H
B@AC2 @I
:@@@@B@AC2 @R
@@@@B@AC2 @SF
@|@@B@ACa
@@@@BACA
BACA2 @I
 @ @@B@ACac
@	@@B@ACac
@@@@@	@@B@ACac
@@@@@|@@B@ACac
@@B@ACac
@|@@B@ACac
@@@@BACAEp@b
@@@@BACAEp@c
@@@@BACAEp@j
@@@@BACAHp@G
@@@@BACAHp@J
@@@@BACAHp@K
@@@@BACAHp@O
@@@@BACAHp@Qs
@@@@B@ACap@
@@@@BAC@ap@I
@@@@BACApp@M
@@@@B@ACap@U
BAC@A)qAAAAAA
@@@@B@ACAQ@c
@@@@BACAqp@F0B
@@@@BACAqp@L
@@@@BACAqp@My'
@@@@BACAXp@DL
@@@@BACB
BACBEp@D
	@@@@BACBEp@S
@@@@BACBHp@LP-
@@@@BACBLp@J
@@@@BACBLp@J(
@@@@BACBLp@K1
@@@@BACBLp@R-
[@@@@BACBPp@DL
BACC7"eo
"@@@@BACCap@]
@@@@BACCap@K#l
@@@@BACCap@M_
@@@@BACCap@O
@@@@BACCap@P
@@@@BACCap@[q
BACCCp@DL
@@@@BACCHp@G
@@@@BACCHp@Hw
@@@@BACCHp@I
@@@@BACCHp@KX9
@@@@BACCHp@Q
@@@@BACCLp@ekE
@@@@BACCLp@G
@@@@BACCLp@N
@@@@BACCLp@S
@@@@BACDHp@f
[@@@@BACDHp@L
[B]A]CGS_S
@@@@BAC@Hp@I
@@@@B@ACHp@IEY
BAC@Hp@JI
@@@@BA@CHp@p
@@@@B@ACHp@Ys
)B@ACHp@Z
BACJBCZP]PCZO
[BACJCYNY
BACJDSXZSOJ
BACJHOXP@
@@@@B@ACJp@B
BACJZ[B]NXC
bACKDOOR
Backdoor
BackendMetadata
background_load_manager.cpp
background_load_manager.h
backgroundloadmanagertest.cpp
background_load_queue.cpp
background_load_queue.h
background_load_task.cpp
background_load_task.h
backslash
backspace
backupfilename
backupfilename_scrubbed
BackupPerfRegistryToFileW
BackupProcessInfo
backupProfile
BackupRead
BackupStore
BackupWrite
@@@@B@ACLp@m
@@@@B@ACLp@P
B@ACLp@Y
BACNPLQC
@@@@B@ACNp@M
@@@@B@A@Cp@
@@@@B@A@Cp@_
@@@@B@A@Cp@_ 
B@A@Cp@b
@@@@B@A@Cp@c
@@@@B@A@cp@D
BA@@Cp@DR
;@@@@BAC@_p@Ea
@@@@B@A@cp@F
@@@@B@A@cp@i
@@@@B@A@cp@J
@@@@BAC@_p@J
@@@@B@A@Cp@l
B@A@cp@N
@@@@B@A@Cp@N 
@@@@B@A@Cp@ qK7
@@@@B@A@Cp@RF'
@@@@B@A@Cp@S
@@@@BA@@cp@Wl
@@@@B@ACqp@k@
BACS[JKQZDQNGDC[
 @@@@B@AD@
;@@@@B@AD@
@@@@B@AD
@@@@B@AD@
@BA@; D@@@@@
.@@@@B@AD2 @A
:@@@@B@AD2 @A
@@@@B@AD2 @A
@@@@B@AD2 @Akml
B@AD4 @ZTTG
@@B@ADac
bad address
bad_address
Bad address
bad allocation
@@@@B@ADap@
!@@@@B@ADAQ@H
bad argument to math function
bad array new length
bad cast
B]A@]DCCCN
(BadCOM)
bad constant
bad conversion
-@@@@B@ADCp@Z
Bad dynamic_cast!
bad exception
bad extension sequence
bad file descriptor
bad_file_descriptor
Bad file descriptor
bad function call
@@@@B@ADgp@RQ
bad header
bad hex input to decodeURIComponent()
@@@@BA@DHp@k
B@ADHp@L
bad HtmlDocument::Iterator (adjustHtmlEnd)
bad HtmlDocument::Iterator (adjustHtmlStart)
bad HtmlDocument::Iterator (setName)
bad HtmlDocument::Iterator (setValue)
b)))A@DHYLDO@Z@Y
bad integer
B#AdJ[[[
BADKBGSB
bad lexical cast: source type value could not be interpreted as target
bad locale name
@@@@B@ADLp@i
]BADMAYLN_X
bad message
BadMOACV2Path
Bad optional access
@@@@B@A@dp@[
@@@@B@A@dp@]
_@@@@B@A@dp@[
@@@@B@A@dp@a
@@@@B@A@dp@af|[L@@@@B@A@Hp@e 
bad parameter or other API misuse
-@@@@B@A@dp@C!
@@@@B@A@dp@dK
@@@@B@A@dp@G
B@A@dp@]h
@@@@B@A@dp@hA
@@@@@@BAdp@Ix
B@A@dp@K
-@@@@B@A@dp@L
@@@@B@A@dp@L
)@B@A@dp@LD
:@@@@@@BAdp@M
_B@A@dp@MKUZ
@@@@B@A@dp@Nj
@@@@B@A@dp@O
@@@@BA@@dp@O
@@@@B@A@dp@PvO
@@@@B@A@dp@S
-@@@@B@A@dp@Tp
@@@@B@A@dp@Um
BadPwCount
@@@@B@A@dp@X
BADQABHHYA]
BADQM[G_]
Bad read pointer - no RTTI data!
bad regular expression flags
bad regular expression pattern
BadResourceID
BadSignature
bad variant access
bad_weak_ptr
B[AD]XLKFDB
BA_DXZHS
Ba|dY[[[
-@@@@B@AE@
@@@@B@AE@
@@@@B@AE2 @A
@@@@B@AE2 @AFP
@@@@B@AE2 @Akml
@@@@@|@@B@AEac
@@B@AEac
BAEBG[QYKBCAQQ
'@@@@B@AECp@Y
BAEG]N@LZZN]ZPPHXOCKDFAP
@@@@B@AEHp@O
@@@@B@AEHp@Xy:
BA[ELFZJ
@@@@B@AELp@C
BAENZ]MQ_X
BAEOXSH@]
@B@A@Ep@
@@@@B@A@Ep@a
@@@@B@A@Ep@b
@@@@@BA@Ep@@@@@@@@@@BAA@Hp@DL
@@@@B@A@Ep@c
@@@@B@A@Ep@d
_@@@@BA@@Ep@Dm@
@BA@@Ep@Gg
@@@@B@A@Ep@j4
BA@@Ep@K
@@@@B@A@Ep@p
B@A@Ep@q
@@@@B@A@Ep@]V
@@@@B@A@Ep@Y
B@A@Ep@Z
@@@@B@AF@
@BA@; F@@@@@
.@@@@B@AF2 @A
:@@@@B@AF2 @A
@@@@B@AF2 @A
@@@@B@AF2 @AX
@@B@AFac
@@BA@F!D@@@@@
@BA@F!G@@@@@
@@@@B@AFHp@_"@
@BA@F!K@@@@@J
@@@@B@AFLp@i
@@@@B@AFNp@LWd
bafsextendedtimeoutvalue
[]BAFXLDYBKS]ON
@@@@@B@AG@
@@@@B@AG@
baga0gfG
@@@@B@AGAQ@V
BA[G_[AYXLP
BA]GBNSLGANMDKY
BagccgfGb
BAGCSDSJ[HP
BAG_]CSQYJKHPJZP
bagfG_eo
@@@@B@AGHp@V
BAG[LOZGGP
B_AGNLCQ
@B@A@gp@E*
@@@@B@A@gp@G
@@@@B@A@gp@GF
B@A@gp@P
@BA@gpP@@@@@X
@@@@@BA@gpq@@@@@p
@@@@B@A@gp@R
@Ba@gpS@@@@@L
@Ba@gpT@@@@@
@BA@gpT@@@@@
BAGQDEMO
BAgQEyBEsSSCSdTsSSCSxQBE@
BAgqgga@
@bAgqggcY
BAGQ]OLN
BAG@ZFMY_M
_BAGZZQ[_PAAKDXDN]GGYBBXQLCXP
@@@@B@AH@
bahahaha@B)253[5
BAHALCAHCH
)@BA@h C@@@@@
@BA@h C@@@@@
@@@@B@AHCp@Z
@BA@h D@@@@@
@BAH; D@@@@@
@@@@@@BAh DL
_@@@@B@AHEp@o
@BA@h E@@@@@sg
B@@A@h EUM
B@@A@h EZ
@@@@@BA@h F@@@@@
@@BA@h F@@@@@
@BA@h F@@@@@.CV
b@@@@@@A@h FMHc
@@@@B@A@h @g
@@@@@BA@h G@@@@@
@BA@h G@@@@@
@@@@@BA@h G@@@@@a
@@BA@h G@@@@@a
@BA@h G@@@@@M5
@@BA@h G@@@@@Xl
@BA@h H@@@@@_
@BA@h H@@@@@2
B@@@@@@A@h Hui
@@BAh IM
@B@A@h @IUfo
@BA@h J@@@@@
@@BA@h J@@@@@eJ7
@BA@h K@@@@@
@BA@h K@@@@@)
@@@@@BA@h K@@@@@5)O
)))BAHKKHZ
B@@A@h KY
@BA@h L@@@@@
(-@@@@B@A@h @L9
@BA@h L@@@@@	F
b'@@A@h LHZ
@@BAh LV
@BA@h M@@@@@
b'@@@@@@A@h Mp]	
BAHMSOEZX
@BA@h M@@@@@vvx
@@@@B@A@h @N
@@BA@h N@@@@@
@BA@h N@@@@@
@@@@B@A@h @P
@BA@h P@@@@@
	B@A@Hp@
")@@@@BA@@Hp@[
)@@@@B@A@Hp@
)@@@@B@A@Hp@_
@@@@B@A@Hp@
@@@@B@A@Hp@[
@@@@B@A@Hp@]
@@@@B@A@Hp@_
@B@A@Hp@
@B@A@Hp@_
[@@@@B@A@Hp@
|@@@@B@A@Hp@
B@A@Hp@[
@@@@B@A@Hp@"0a[
@@@@B@A@Hp@[0bg@@@@@@@A@Xpe[0bg@
@@@@B@A@Hp@[0bg@@@@@@@A@Xpj[0bg@d
@@@@B@A@Hp@[0bg@@@@@@@A@Xpk[0bg@
@@@@B@A@Hp@a
@@@@B@A@Hp@b
@@@@B@A@Hp@B
@B@A@Hp@B
@@@@B@A@Hp@c
@@@@B@A@Hp@c#
@@@@B@A@Hp@]C
@@@@BA@@Hp@C
B@A@Hp@]C
BA@@Hp@C
@@@@B@A@Hp@Cr
@B@A@Hp@Cr
B@A@Hp@Cr
@@@@BA@@Hp@d!
BA@@Hp@d
	@@@@B@A@Hp@D
?@@@@BA@@Hp@D
@@@@BA@@Hp@D
@BA@@Hp@D
BA@@Hp@D
BA@@Hp@D0
@@@@BA@@Hp@D0(56@@@@@@@@
@@@@BA@@Hp@D6
@@@@B@A@Hp@de
@@@@BA@@Hp@DE
*@@@@BA@@Hp@D#H
@@@@BA@@Hp@D#H
BA@@Hp@D#H
"@@@@BA@@Hp@DL
@@@@BA@@Hp@DL
BA@@Hp@DL
@BA@@Hp@DR
@@@@BA@@Hp@DZ
")@@@@BA@@Hp@E
BA@@Hp@E
@@@@B@A@Hp@f
@B@A@Hp@f
@@@@BA@@Hp@F
@@@@BA@@Hp@F7
@@@@B@A@Hp@FU
@@@@BA@@Hp@g
@B@A@Hp@g
@@@@B@A@Hp@G
@@@@BA@@Hp@G*
B@A@Hp@G
@B@A@Hp@gn
@@@@B@A@Hp@Gnj
@B@A@Hp@Gnj
B@A@Hp@Gnj
@@@@BA@@Hp@H
@B@A@Hp@H
B@A@Hp@H
BA@@Hp@H
@@@@BA@@Hp@H3
@BA@@Hp@HA0
@@@@B@A@Hp@hD
@@@@B@A@Hp@Hz
B@a@Hp@I
B@A@Hp@i;
@@@@B@A@Hp@I
@@@@BA@@Hp@I
@B@A@Hp@I
BA@@Hp@I
@@@@B@A@Hp@IL
B@A@Hp@IL
@@@@B@A@Hp@It
@B@A@Hp@j
B@A@Hp@j|
@@@@B@A@Hp@J
@@@@BA@@Hp@J
B@A@Hp@J
@@@@B@A@Hp@Jf
@@@@B@A@Hp@k
@@@@B@A@Hp@K
@@@@BA@@Hp@K
@@@@BA@@Hp@K(
@@@@BA@@Hp@K.
@B@A@Hp@K
B@A@Hp@K
BA@@Hp@K
B@A@Hp@kCU
@@@@B@A@Hp@k'd
B@A@Hp@k'd
B@A@Hp@Kxs
.B@A@Hp@L
@@@@B@A@Hp@[L
@@@@BA@@Hp@L
@B@A@Hp@L
]B@A@Hp@L
B@A@Hp@L
@@@@BA@@Hp@L*9
BA@@Hp@L|LW
@@@@BA@@Hp@LS
@@@@B@A@Hp@m
@@@@B@A@Hp@]M
@@@@B@A@Hp@M
@@@@B@A@Hp@M_
@@@@BA@@Hp@M
@@@@BA@@Hp@M!
@B@A@Hp@M
BA@@Hp@M|P
@@@@BA@@Hp@MSC
@@@@BA@@Hp@Mv
@@@@B@A@Hp@N
@@@@BA@@Hp@N
B@A@Hp@N0
@@@@B@A@Hp@NB
@@@@B@A@Hp@NPS
#@@@@B@A@Hp@Nv
@@@@B@A@Hp@Nw
@@@@B@A@Hp@NxP
]@@@@B@A@Hp@o
@@@@B@A@Hp@O
@@@@B@A@Hp@O#
@@@@BA@@Hp@O
BA@@Hp@O
@@@@B@A@Hp@O]0
@@@@BA@@Hp@Oe
@@@@BA@@Hp@OM
@@@@B@A@Hp@Ot
"@@@@BA@@Hp@P
@@@@B@A@Hp@P
@@@@BA@@Hp@P
|B@A@Hp@P
B@A@Hp@P
@@@@B@A@Hp@pU
@@@@B@A@Hp@q
@@@@B@A@Hp@Q
B@A@Hp@Q
BA@@Hp@Q
B@A@Hp@Qcoj3@@@@@@A@
@@@@B@A@Hp@QT
	@@@@BA@@Hp@R
@@@@B@A@Hp@R
@@@@BA@@Hp@R
B@A@Hp@R
BA@@Hp@R
)@@@@B@A@Hp@R5
?@@@@BA@@Hp@R8
'B@A@Hp@S
@@@@B@A@Hp@S
@B@A@Hp@S
B@A@Hp@S
@@@@B@@AHp@SJu
]@@@@B@A@Hp@Sq
B@A@Hp@S:r
@@@@B@A@Hp@T
@@@@BA@@Hp@T
@B@A@Hp@T
B@A@Hp@T
@@@@B@A@Hp@TR
B@A@Hp@TR
:@@@@B@A@Hp@U
@@@@B@A@Hp@U
@@@@B@A@Hp@U 
@@@@BA@@Hp@U
B@A@Hp@U
B@A@Hp@UM
@@@@B@A@Hp@Ur
B@A@Hp@v
@@@@B@@AHp@V
@@@@B@A@Hp@V
B@A@Hp@V
")@@@@BA@@Hp@VUK
@@@@B@A@Hp@VYb]
@@@@B@A@Hp@w
 @@@@B@A@Hp@W
#B@A@Hp@W
@@@@B@A@Hp@W
@@@@BA@@Hp@W
B@A@Hp@W
@@@@B@A@Hp@W(j
@@@@B@A@Hp@WK
@@@@BA@@Hp@WvF
@@@@B@A@Hp@x
BA@@Hp@X
@BA@h P@@@@@Y
@@@@B@A@Hp@Y
@@@@BA@@Hp@Y
B@A@Hp@Y
@@@@B@A@Hp@YqW
@@@@B@A@Hp@Ys
B@A@Hp@Ys
@@@@B@A@Hp@Z
@@@@B@A@Hp@Z1X
@@@@B@A@Hp@Zd
BAH_]PZNCZPXE[K
@@@@B@A@h @Q3
B@@A@h QP
@BA@h R@@@@@
B@@A@h Re
@@@@B@A@h @S
@@BA@h S@@@@@
@BA@h S@@@@@
b@@A@h SSF
@@@@B@A@h @T
@@@@B@A@h @TC
@@@@B@A@h @U
@B@A@h @U
@@@@B@A@h @V
@BA@h V@@@@@
@@@@B@A@h @V9
@@@@B@A@h @Vy
@@@@B@A@h @W
@@@@B@A@h @W-
@@@@@BA@h X@@@@@
BAHXQBZNNMO
@@@@B@A@h @Y
BAH_YHPN][D
BAH[@ZDHJLDL[EHGNHKHM@
@@@@B@AI@
@@@@B@AI2 @O
 @BAI; F@@@@@
@@@@B@AIHp@_
@@@@B@AIHp@V
@@@@B@AILp@
@@@@B@AJ@
@BA@; J@@@@@
@@@@B@AJ2 @R
@BA@; J@@@@@A
bajajaja@B)253[6
BAJBPENDODO
@@@@B@AJHp@Zd
_BAJ]H_QOKNCHGM[]GPAB
@@@@B@AJLp@TB
_@@@@B@AJNp@F
?@@@@B@A@Jp@@
@@@@B@A@Jp@
@@@@B@A@Jp@@
@@@@BA@@Jp@[	
)@@@@B@A@Jp@A
?@@@@B@A@Jp@A
@@@@B@A@Jp@A
B@A@Jp@A
@@@@B@A@Jp@B
@@@@B@A@Jp@B)
@@@@B@A@Jp@C
B@@@@@@A@JpFC
b]AJpgppepq
@@@@B@A@Jp@N
@@@@B@A@Jp@N;
@@@@B@A@Jp@Q
@@@@B@A@Jp@T!
@@@@B@A@Jp@U
@@@@B@A@Jp@UI
@@@@B@A@JQ@M
@@@@B@A@JQ@M!
@B@A@JQ@M
B@A@JQ@M
@@@@@@BAJQ@Mf
@@@@B@A@JQ@ML
@@@@B@A@JQ@N
@B@A@JQ@NW
@@@@B@A@JQ@S
@B@A@JQ@S
B@A@JQ@S
@B@A@JQ@T'
@B@A@JQ@V
BAKDGQSXGY
BAKGMYXSJB
@@@@B@AKHp@c#
B]AKJZNK
]B@AKKNHSK
BAKLFQEJ
BAK[]M_ADK_MJYBX[BP_
B_AKSENNOM_[]LD]Z_B]]_NGO
[BAKXJBE_E
@BA@; L@@@@@
BaLallllllllmllllOllylm
BALAX]]A_NA
[B[ALBMJ
b)))]ALFGEP
BALFJG[]
b)))]ALG
BALGY_[MY
B]A[LHMM@t
BALHQ]JJ
BAL]JE[SAJ[HMGB
BALLOGDOCD_
_BALOLZNHJ
@@@@@BA@lp[@@@@@
 @@@@B@A@Lp@
@@@@B@A@Lp@
@@@@B@A@Lp@_
@@@@B@A@Lp@|
@B@A@Lp@
@B@A@Lp@[
B@A@Lp@	
B@A@Lp@[
B@A@Lp@_
@@@@B@@Alp@B
@@@@B@A@Lp@b
B@A@Lp@b
@@@@B@A@Lp@C
@@@@B@A@Lp@d
@@@@B@A@Lp@D
B@A@lp@D2
B@A@lp@e
@@@@B@A@Lp@Fe
@@@@B@A@Lp@fF
@B@A@Lp@g
@@@@BA@@Lp@G
@@@@B@A@Lp@h'
@@@@B@A@Lp@Hp
@@@@B@A@Lp@i
B@A@Lp@i
@@@@B@A@Lp@I
@@@@B@A@Lp@IwYB
@@@@B@A@lp@K
@@@@B@A@Lp@k
@B@A@Lp@l3(
?@@@@B@A@Lp@lF
.@@@@B@A@Lp@m
@@@@B@A@Lp@m
@B@A@Lp@m
B@A@Lp@m
@@@@B@A@Lp@M
B@A@Lp@M
	@@@@B@A@Lp@n
.B@A@Lp@n
@@@@B@A@Lp@n
@B@A@Lp@n
]@@@@B@A@Lp@n
B@A@Lp@n
@@@@B@A@Lp@N
B@A@Lp@N
@@@@B@A@Lp@O
@@@@B@A@Lp@p
@@@@B@A@Lp@P64a	@@@@BBA@Op@@@@@@@@@@B@A@
@@@@B@A@Lp@P7V
B@A@Lp@PD
@@@@B@A@Lp@q
@B@A@Lp@q
@B@A@Lp@Q
B@A@Lp@Q
@@@@BA@@lp@R
|@@@@BA@@Lp@R
B@A@Lp@R
@@@@B@A@Lp@rc
@@@@B@A@Lp@S
@@@@BA@@Lp@S
@B@A@Lp@S
B@A@Lp@S
@@@@B@A@Lp@TW
@@@@B@A@Lp@u
@@@@B@A@Lp@U
B@A@Lp@U
@B@A@Lp@uB
@@@@B@A@Lp@UQ
B@A@Lp@UR
@@@@BA@@Lp@v
B@A@Lp@V5
@@@@B@A@Lp@W:
!"@B@A@Lp@WL
@@@@B@A@Lp@X
@B@A@Lp@X;
B@A@Lp@X
@B@A@Lp@y;
B@A@Lp@y;
@@@@B@A@Lp@Y
B@A@Lp@YG
@@@@B@A@Lp@YM
@@@@B@A@Lp@z
@@@@B@A@Lp@_Z
@BALXYQ[OL]POAZE
BA]LZLBPBFFG
@BA@; M@@@@@
B@AMCp@oq
]BAMDOBOBB
B]AM_]GZH
[B[AMGZSX
BAM[JHQNA
BAM]JMHGQANJ
BAMKNADPFQY
]BAMNYHZJ
B@A@mp@B
@@@@B@A@mp@c
@@@@B@A@mp@H
@@@@B@A@mp@S
bamSSQA2
@BA@; N@@@@@
@BA@N@AEac
bananapaaca-
@@@@B@A@np@@
@@@@@BA@Np
B@A@Np@[
B@A@np@3
@@BA@np@@@@@@@@@@@AA@Ep@DL
@@@@@BA@Np@@@@@@@@@@@@AALp@y;
@@@@@B@ANp@@@@@@@@@@@@AB@
@@@@B@A@Np@B
@@@@@B@ANp@@@@@@@@@@@B@A
@BA@np@@@@@@@@@@@BA@pp@@@@@@@@@@@@A@lp@B!]
@@@@B@A@Np@C
@@BANpcJC
@@@@B@A@Np@D
@@@@BA@@Np@DL
@@@@B@A@Np@E	
B@A@np@F
- @@@@B@A@Np@F
@@@@B@A@Np@F
@@@@B@A@Np@G
@@@@B@A@Np@G;
@@@@B@A@Np@gW
	@@@@B@A@Np@H
@@@@B@A@Np@H
@@@@B@A@Np@H#
@B@A@Np@HQj
.@@@@B@A@np@I
"@@@@B@A@Np@I
@@@@B@A@Np@I
B@A@Np@I
@@@@B@A@Np@I7G
@@@@B@A@Np@J
|B@A@Np@J
@@@@@@BANpJG
@@@@B@A@np@K
B@A@np@K
@@@@B@A@Np@K
 @@@@B@A@Np@L
@@@@@BA@NpL@@@@@
b@@@@@@A@NpLEA
@@@@B@A@Np@M
@@@@B@A@np@N'
B@@ANp@N)
@@@@B@@ANp@NN
@@@@B@A@Np@NN
@@@@BA@@np@O
@@@@B@A@Np@O
[@@@@B@A@Np@O
@@@@B@A@np@P
@@@@B@A@np@Q
B@A@Np@R
@@@@@B@ANp@@@@@@@@@@@s@@B@AEac
@@@@B@A@np@T
@@@@B@A@Np@T
@@@@B@A@Np@UIL
@@@@B@A@np@v
@@@@@BA@NpV@@@@@
@@@@B@A@np@w
@@@@B@A@np@X
@@BANpZJC
@@@@B@A@Np@ZO
BANQFAKX
BANSYB[L
BANXNXYYHZLXY]@A
BAOHDKJBX
B]AOJSHEEM
_BAOKKDN__PG
BAOLXDJM
BAOP@AQF[N_S
@B[AOZYA[YH
@@@@B@@@ap@
@@@@@BA@(p@@@@@@
@@@@B@A@_p@]
@B@A@_p@_
@@@@B@@@ap@a
@BA@|p@@@@@@@@@@@@A@mpDB
BAP_A@[NDD
BA_PASK@K
@@@@B@A@_p@c:
@@@@@BA@?pC@@@@@|
@@@@B@A@_p@C8W
BAPD_CXXLO
@@BA)pE@
	@B@A@_p@Fm
@@@@B@A@_p@G
B@A@_p@G
BAPGEAAYDS]M
 @@@@B@@@ap@h
@@@@@@BA[pHL
?B@@@ap@I
B@@@ap@I
@@@@B@A@_p@I
@@@@B@A@_p@It
@@@@B@a@_p@J
@@@@B@A@_p@J
@@@@B@A@|p@J
@@@@B@A@_p@K
BAPKDLDA
@@@@B@@@ap@L
@@@@@BA@.pL@@@@@
@@@@B@A@[p@L
@@@@B@A@_p@L
@B@A@_p@L
B@A@_p@L
@@@@B@A@_p@Ls
@@@@B@A@|p@N
B@A@_p@O
@@@@B@@@ap@oq
b@@@@@A@@(p@P
@@@@B@A@pp@@
@@@@@BA@Pp
@@@@@BA@pp@@@@@@@@@@a
B@A@@PpCM
@@@@@BA@PpH@@@@@
@@@@B@A@Pp@hJ
[B@A@pp@I";
B@A@pp@K
@@@@@BA@Ppk@@@@@CU
B@A@pp@L
@@@@B@A@pp@M
B@A@pp@M
B@A@pp@M;3p?@@@@@@A@
@@@@B@A@pp@N
B@A@pp@N
@@@@B@A@pp@O
@@BApp@O
@@@@B@A@pp@P
@@@@B@A@pp@Q
@@@@B@A@pp@R
B@A@pp@R
@@@@B@A@pp@Rj
B@A@pp@S
@B@A@Pp@S
@@@@@BA@Pps@@@@@s
@@@@B@A@pp@T	
@@@@B@A@_p@PW7
@@@@@BA@pp@@@@@@@@@@]Y]]
@B@@@ap@q8
@@@@B@@@ap@v
@@@@B@a@_p@V
@@@@B@@@ap@X
BAQAKPQLDAZC
BAQDLKBCDS[
@B@AQFDYYSJZ
@_B_AqLw
B@@@AQ@N
#@B@A@qp@_
B@A@qp@]
@@BAqpFAkml
@@@@B@A@qp@i
@@@@B@A@qp@o
@@@@B@A@qp@pN"
@@@@B@A@qp@t
@@@@B@A@qp@v
BAQXK]N_Y[XN
BAQYK[MZ
@B@A@R0@@F@@@@@@@DBA@P0@@@@@@
B@ASAJ@KAD]
(Base64)
Base64Decode
Base64Decode(): empty string
Base64Decode() failed
Base64Encode
Base64Encode(): buffer is empty
Base64Encode(): failed
base64encoding.cpp
base64encoding.h
base64encodingtest.cpp
base_addr
BASE[B][GMAA]ZL
 Base Class Array'
 Base Class Descriptor at (
__based(
BaseDllName
Base interface for all extensible CMI interfaceWWW
baselog.cpp
baselog.h
BaseName
BaseOfCode
BaseOfData
base out of range
baseparser.cpp
BasePath
basesimplemanifestitem.cpp
basesimplemanifestitem.h
base_vfs_decoder.h
basexmlelement.cpp
basexmlelement.h
basexmlparser.cpp
basexmlparser.h
basicenumeratordetector.h
basicenumeratordetectorut.cpp
__basicstring
B_AS]LJMY
BASNAXYALGZLO
B_ASOKZABF[
B[[[asQdH[[[
baSSSSS!#5
baSSSSSS
BASXYZJGCJHEH
B@A@T0@E
BatchCommitSizeW81
BatMeter.dll
BatMeterIconThemeReset
BatMeterOnDeviceChange
BAT_PREPROC
BatTokenizerError
@BA@; U@@@@@
B A;@ uhI
@@B@@AULs9
@@@@B@A@U!@X
B@A@U!@X
@@@@B@A@vp@hZuHN@@@@B@A@Lp@IwYB
@@@@@BA@vpJ@@@@@
@BA@vpR@@@@@
B@A@vp@]W
B@A@V!@Vq
@B@A@V!@Y
@BA@; W@@@@@
bawGDKNLKBUJWQDI
BA[[XB@KKSO
BAXCAZLO
BAXCBGBQZNJGAJOB
BAXMDXX]PH
BAXMLYDLNA
BAX[]MZ[
BAXOOMO[
@@@@B@A@Xp@
BA@@Xp@C
@@BAXpcD
@BA@@Xp@D
@@BAXpDa
@@BAXpDr
@@BAXpDW
 @BA@XpE@@@@@
B@A@Xp@P
@@@@B@A@xp@Q
B@A@Xp@R
@@@@B@A@xp@Rp!k:@@@@@
@BA@XpS@@@@@
BA@@Xp@T
@@@@B@@AXp@TR
BAXXX_SOX
[BAXZQNX_@FHNK[PX
b)))A]]Y
@BA@; Y@@@@@
bayayaya@B)253[5
BA?YdgfG
BAygqgg.JDDW
B]AYLHEAJGZ
bA@@@@]Y]]M
BAYMG[JH_COYCNM[
[BAYMQZG_E
@@@@B@A@yp@C
B@A@yp@Du:
B@A@yp@Fk
@@@@B@A@yp@G
B@A@yp@G
BAYQMCCQ
#b)A]]YZ
b)))A]]YZ
B)))A]]YZ
B[AYZEDZ[HY
B[AZ_BOMGJZ[@
BAZ_GEDJ
BAZHABABAZBHZAHBBAZZBAHBAZHBAHZBAHZBAHZBHABHABHZA
BA[ZJPDJP_AAC
]BAZJQQ]
[BA]ZMDFCDH]MB
BAZMDP[DASP
@@@@B@A@; @ZOu
@@@@B@A@zp@G*
@@@@B@A@zp@GnK
"@@@@B@A@zp@N
BA@ZXENDOO_S[
 ;@@@@B@B@
*@@@@@@BB@
:@@@@B@B@@
@@@@@@BB
@@@@@@BB@
@@@@@B@B@@
@@@@@BB@
@@@@B@B@
@@@@B@B@@
@@@@BB@@
@@B[@_B_
_@@@@B@B@@
_@]B_@]B
B@B0@QR|
@@@@BB@@1p@@@@@@@@@@BB@@
b'B)225t
BB2@]B]@UB[B]
@@@@B@B@2 @C
@@@@B@B@2 @F8D
BB2@FBTLL
@@@@B@B@2 @Fi
@@@@B@B@2 @j
@@@@B@B@2 @jf#
@@@@B@B@2 @jp
@@@@B@B@2 @KQ
@@@@B@B@2 @Me
@@@@B@B@2 @Ru
@@@@B@B@2 @W
BB3:PQyxay0
.'BB4C;)
@[bB85@@@@@u@@A@AAac
b'@@@@B@A@
@@@@BBa@
@@@@@BBA@
@@@@B@BA
@@@@BBA@
|@@@@BBA@
B@@@@@@BA@
B@@@@B@A@@
b'@@@@B@A@2 @A
b(@@@@B@A@2 @A
b(@@@@B@A@2 @A_
@@@@BBA@2 @@@@@@@@@@@@A@h FMHc
BBA@2 @@@@@@@@@@@@A@h FMHc
BBA@2 @@@@@@@@@@@@A@h HV
@@@@BBA@2 @@@@@@@@@@@@A@h JD
b(@@@@B@A@2 @Am
b'@@@@B@A@2 @B
@@@@BBA@2 @@@@@@@@@@B@A@2 @D
BBA@2 @@@@@@@@@@B@A@2 @DL
@@@@BBA@2 @@@@@@@@@@B@A@2 @H
)@@@@BBA@2 @@@@@@@@@@B@A@2 @K 
@@@@BBA@2 @@@@@@@@@@B@A@2 @LJI
@@@@B@BA2 @e
B@@@@B@A@2 @F
@@@@B@BA2 @H
b@@@@B@A@2 @M
@@@@B@BA2 @M
@@@@B@BA2 @N
|B@@@@B@A@2 @N
@@@@B@BA2 @Na
@@@@B@BA2 @O
B@@@@B@A@2 @P
@@@@B@BA2 @R9
@@@@B@BA2 @U
@@@@B@BA2 @WE
@@@@B@BA2 @X9
@@@@B@BA2 @Y
@@B@BAacoo
@@@@BBAAHp@@@@@@@@@@@@ABhp@@@@@@@@@@@@ABip@@@@@@@@@@@!@@C@ACac
b'BAA@Hp@Lg
@@@@BBAAJp@@@@@@@@@@@@@AKp@@@@@@@@@@@
b@@@@B@A@ap@I
BB@A@ap@Q
@BBa@AQ@@@@@@@@@@B@@@
b@@@@BAB@
B@@@@BAB@
@BBABBdQEyBBBA
BBABFp@@@@@@@@@@@:@@F@CCac
BBAB@Hp@Ic
*"@@@@BBABIp@@@@@@@@@@@
@@@@BBABIp@@@@@@@@@@@(@@E@ACac
@@@@BBA@bp@@@@@@@@@@B@A@
@@@@BBA@bp@@@@@@@@@@B@A@ap@KL
(.@@@@BBA@bp@@@@@@@@@@B@A@ap@O
@@@@BBA@bp@@@@@@@@@@B@A@ap@O
@@@@BB@Abp@@@@@@@@@@@@CB
@@@@BBAC
b@@@@BACCEp@D
@@@@B@BACp@
B@BADKK@
@@@@BBADkp@@@@@@@@@@BBADjp@@@@@@@@@@]Y]]
@@@@BBA@dp@@@@@@@@@@@
B@@@@B@A@dp@af|[L@@@@@
@@@@BBA@dp@@@@@@@@@@B@A@Hp@K
b@@@@B@A@dp@e
B@b@AEac
@@@@BBA@Ep@@@@@@@@@@B@A@Hp@
@@@@BBA@Fp@@@@@@@@@@@
@@@@BBA@Fp@@@@@@@@@@B@A@@
@@@@BBA@Fp@@@@@@@@@@B@A@ap@
@@@@BBA@Fp@@@@@@@@@@B@A@Cp@
|BBA@Fp@@@@@@@@@@@BA@JpF@@@@@'
BBA@Fp@@@@@@@@@@gqgg
@@@@BBA@Fp@@@@@@@@@@@y@@B@ACac
B]BA_@G_PHH
@BBAgpK@@@@@cFgm@BBAgp_@@@@@
b@@@@@BA@h E@@@@@0
BB]AHGJFKP[O
@@@@B@BAHp@
@@@@BBA@Hp@@@@@@@@@@@
B@@@@B@A@Hp@
BB@A@Hp@
@@@@BBA@Hp@@@@@@@@@@@BA@Ep@@@@@@@@@@BBA@Hp@@@@@@@@@@@@A@Fp@@@@@@@@@@@@A@Ip@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@Kp@@@@@@@@@@BAA@Hp@DL
@@@@BBA@Hp@@@@@@@@@@@BA@Ep@@@@@@@@@@BBA@Hp@@@@@@@@@@@@A@Fp@@@@@@@@@@@@A@Ip@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@Kp@@@@@@@@@@B@A@Hp@D
@@@@BBA@hp@@@@@@@@@@B@A@Hp@
[@@@@BBA@Hp@@@@@@@@@@B@A@Jp@C
@@@@BBA@Hp@@@@@@@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@_p@KH
@@@@B@BAHp@Cr
@@@@B@BAHp@Nm
@@@@B@BAHp@Oi
BB@A@Hp@R"T
@@@@B@BAHp@v
@@@@B@BAHp@vZ
B@BAHp@X?
BBA@Ip@@@@@@@@@@@
|BBA@Ip@@@@@@@@@@B@A@
@@@@BBA@Ip@@@@@@@@@@BBA@Kp@@@@@@@@@@B@A@Hp@_
@@@@BBA@Ip@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@
@@@@BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@"@@C@ACac
'@@@@BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@"@@C@AEac
@@@@BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@)@@D@ACac
BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@)@@D@ACac
@@@@BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@)@@E@AFac
BBA@Ip@@@@@@@@@@@(@@D@ACac
@@@@BBA@Ip@@@@@@@@@@@z@@B@ACac
@@@@BBA@Jp@@@@@@@@@@@
@@@@BB@AJp@@@@@@@@@@@@@ACp@Hz
BBa@jp@@@@@@@@@@@@a@HpBK
BBA@jp@@@@@@@@@@@@A@HpBV
BBA@jp@@@@@@@@@@@@A@HpBY[H
@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@Lp@
@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@Lp@O8
@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@_p@Gnj
@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@BAALp@@@@@@@@@@@@AAOp@@@@@@@@@@@
@@@@BBA@Jp@@@@@@@@@@B@A@lp@k
@@@@BBA@Jp@@@@@@@@@@BBA@Jp@@@@@@@@@@BBA@Jp@@@@@@@@@@BBA@Jp@@@@@@@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@Cp@Gnj
BBA@Kp@@@@@@@@@@@
BBA@kp@@@@@@@@@@@@A@HpB__
@@@@BBA@Kp@@@@@@@@@@B@A@
BBA@kp@@@@@@@@@@B@A@np@Z
@@@@BBA@Kp@@@@@@@@@@BBA@
BBA@Kp@@@@@@@@@@@!@@D@ACac
@@@@BBA@Kp@@@@@@@@@@@MA@N@AEac
BBALEAXLQZY_HJZ]
@@@@B@BALp@m
@@@@B@BALp@TH
BBAMXM[XH_
@@@@BBA@Np@@@@@@@@@@@
@@@@BBA@np@@@@@@@@@@B@A@@
@@@@BBA@np@@@@@@@@@@B@A@pp@M
@@@@BB@ANp@@@@@@@@@@@-@@D@BCac
BBA@Op@@@@@@@@@@@@AA
@@@@BBA@.p@@@@@@@@@@@
@@@@BBA@;p@@@@@@@@@@
@BBA@P0@@@@@@@@@@BBA@R0@@@@@@@@@@B
@@@@BBA@!p@@@@@@@@@@B@A@
@@@@BBA@?p@@@@@@@@@@B@A@@
BBA@!p@@@@@@@@@@B@A@Lp@N
@@@@BBa@#p@@@@@@@@@@BBa@
@BBA@!p@@@@@@@@@@BBA@Vp@@@@@@@@@@BBA@
@@@@B@BA|p@D
@BBA@Pp@@@@@@@@@@@o@@A@ACac
@@@@BBA@Qp@@@@@@@@@@@
BBA@Qp@@@@@@@@@@@!@@D@ACac
BBA@Qp@@@@@@@@@@@#@@D@ACac
BBA@Qp@@@@@@@@@@gqgg
;@@@@BBA@Qp@@@@@@@@@@]Y]]
@@@@BBA@rp@@@@@@@@@@B@A@Lp@S
@BBA@S0@@@@@@@@@@BBA@T0@@@@@@@@@@@
BBA@T0@@@@@@@@@@@*@@D@A@ac
@@@@BBA@tp@@@@@@@@@@@BA@
@@@@BBA@up@@@@@@@@@@BBA@Ip@@@@@@@@@@B@A@Hp@T
@@@@BBA@up@@@@@@@@@@BBA@Ip@@@@@@@@@@BBA@6p@@@@@@@@@@@
@BBA@Vp@@@@@@@@@@BBA@
b@@@@BB@@
@@@@BBB@
BB@B0[@@@@@
BB@B0[@@@@@	
BB@B0[@@@@@|
BB@B0]@@@@@
BB@B0_@@@@@
BB@B0]@@@@@'1
BB@B0[@@@@@2
BB@B0]@@@@@5
BB@B0a@@@@@
BB@B0a@@@@@m
BB@B0a@@@@@_W
B@Bb0B@@@@@]
BB@B0b@@@@@
BB@B0[@@@@@c
BB@B0c@@@@@
BB@B0c@@@@@'
BB@B0c@@@@@(
BB@B0c@@@@@?
BB@B0c@@@@@]
BB@B0c@@@@@_
BB@B0c@@@@@0
BB@B0c@@@@@1
BB@B0c@@@@@2
BB@B0c@@@@@E]
BB@B0c@@@@@G
BB@B0c@@@@@H
BB@B0c@@@@@I
BB@B0c@@@@@J
BB@B0c@@@@@l
BB@B0c@@@@@P
BB@B0c@@@@@RY
BB@B0c@@@@@*So[
BB@B0c@@@@@SX	
BB@B0c@@@@@tJ7
BB@B0c@@@@@y
BB@B0d@@@@@
BB@B0d@@@@@ 
BB@B0d@@@@@!
BB@B0d@@@@@-
BB@B0d@@@@@:
BB@B0d@@@@@;
BB@B0d@@@@@@
BB@B0d@@@@@]
BB@B0d@@@@@1
BB@B0d@@@@@6
BB@B0d@@@@@7
BB@B0d@@@@@78g
BB@B0d@@@@@8
BB@B0d@@@@@B
BB@B0d@@@@@C
BB@B0d@@@@@DRF
BB@B0d@@@@@g
BB@B0d@@@@@I
BB@B0d@@@@@j?
BB@B0d@@@@@J
BB@B0d@@@@@jI
BB@B0d@@@@@M
BB@B0d@@@@@mR
BB@B0d@@@@@N
BB@B0d@@@@@O
BB@B0d@@@@@O2
BB@B0d@@@@@p
BB@B0d@@@@@Ppq
BB@B0d@@@@@q
BB@B0d@@@@@s
BB@B0d@@@@@SV
BB@B0d@@@@@T
BB@B0d@@@@@U
BB@B0d@@@@@W
BB@B0d@@@@@X6
BB@B0d@@@@@Y
BB@B0d@@@@@Z
BB@B0e@@@@@
BB@B0e@@@@@"
BB@B0e@@@@@0u
BB@B0e@@@@@2)
BB@B0e@@@@@3
BB@B0e@@@@@5D
BB@B0e@@@@@7
BB@B0e@@@@@bY
BB@B0e@@@@@c
BB@B0e@@@@@D
BB@B0e@@@@@e4
BB@B0e@@@@@	g
BB@B0e@@@@@gh
BB@B0e@@@@@I
BB@B0e@@@@@J
BB@B0e@@@@@[K
BB@B0e@@@@@K
BB@B0e@@@@@l
BB@B0e@@@@@n
BB@B0e@@@@@O
BB@B0e@@@@@p
BB@B0e@@@@@Pk6
BB@B0e@@@@@t
BB@B0e@@@@@w
BB@B0e@@@@@z"
BB@B0f@@@@@
BB@B0f@@@@@(
BB@B0f@@@@@)
BB@B0f@@@@@*
BB@B0f@@@@@-
BB@B0f@@@@@?
BB@B0f@@@@@]
BB@B0f@@@@@0F
BB@B0f@@@@@2
BB@B0f@@@@@3
BB@B0f@@@@@'B
BB@B0f@@@@@d
BB@B0f@@@@@ e
BB@B0f@@@@@E
BB@B0f@@@@@f
BB@B0f@@@@@F
BB@B0f@@@@@G
BB@B0f@@@@@_H?
BB@B0f@@@@@HLj'
BB@B0f@@@@@hy
BB@B0f@@@@@iG
BB@B0f@@@@@J
BB@B0f@@@@@K
BB@B0f@@@@@;o
BB@B0f@@@@@P
BB@B0f@@@@@Q
BB@B0f@@@@@r
BB@B0f@@@@@R
BB@B0f@@@@@u
BB@B0f@@@@@xZ
BB@B0f@@@@@YQ
BB@B0g@@@@@
BB@B0g@@@@@"
BB@B0g@@@@@#
BB@B0g@@@@@.
BB@B0g@@@@@@:
BB@B0g@@@@@[
BB@B0g@@@@@4
BB@B0g@@@@@5
BB@B0g@@@@@6
BB@B0g@@@@@809
BB@B0g@@@@@9
BB@B0g@@@@@A
BB@B0g@@@@@C
BB@B0g@@@@@d
BB@B0g@@@@@g
BB@B0g@@@@@j
BB@B0g@@@@@j	U-
BB@B0g@@@@@L
BB@B0g@@@@@M
BB@B0g@@@@@p
BB@B0g@@@@@;rj
BB@B0g@@@@@s
BB@B0g@@@@@U
BB@B0g@@@@@V
BB@B0g@@@@@y
BB@B0g@@@@@Z
BB@B0]@@@@@h
BB@B0h@@@@@
BB@B0h@@@@@!
BB@B0h@@@@@"
BB@B0h@@@@@:
BB@B0h@@@@@;
BB@B0h@@@@@5
BB@B0h@@@@@6
BB@B0h@@@@@6B
BB@B0h@@@@@8]
BB@B0h@@@@@b
BB@B0h@@@@@B
BB@B0h@@@@@C
BB@B0h@@@@@hq93
BB@B0h@@@@@M
BB@B0h@@@@@N
BB@B0h@@@@@NH
BB@B0h@@@@@Oc
BB@B0h@@@@@pA
BB@B0h@@@@@!S
BB@B0h@@@@@T
BB@B0h@@@@@U
BB@B0h@@@@@@Wm
BB@B0h@@@@@WS8Z
BB@B0h@@@@@ xk
BB@B0h@@@@@Xr
BB@B0h@@@@@Y
BB@B0h@@@@@YL
BB@B0h@@@@@Z
BB@B0[@@@@@i
BB@B0i@@@@@
BB@B0i@@@@@"
BB@B0i@@@@@*
BB@B0i@@@@@;
BB@B0i@@@@@?
BB@B0i@@@@@|
BB@B0i@@@@@08
BB@B0i@@@@@1
BB@B0i@@@@@2
BB@B0i@@@@@3
BB@B0i@@@@@3S
BB@B0i@@@@@a
BB@B0i@@@@@A	
BB@B0i@@@@@c
BB@B0i@@@@@d
BB@B0i@@@@@d4
BB@B0i@@@@@ED
BB@B0i@@@@@F
BB@B0i@@@@@gV
BB@B0i@@@@@h
BB@B0i@@@@@i
BB@B0i@@@@@j
BB@B0i@@@@@l#
BB@B0i@@@@@l6
BB@B0i@@@@@m
BB@B0i@@@@@M9
BB@B0i@@@@@mJ
BB@B0i@@@@@n
BB@B0i@@@@@N
BB@B0i@@@@@o
BB@B0i@@@@@p
BB@B0i@@@@@P
BB@B0i@@@@@pm
BB@B0i@@@@@pR
BB@B0i@@@@@s
BB@B0i@@@@@s0
BB@B0i@@@@@v
BB@B0i@@@@@w
BB@B0i@@@@@y
BB@B0i@@@@@z
BB@B0i@@@@@Z
BB@B0i@@@@@zN
BB@B0j@@@@@
BB@B0j@@@@@	
BB@B0j@@@@@'
BB@B0j@@@@@(
BB@B0j@@@@@)
BB@B0j@@@@@*
BB@B0j@@@@@-
BB@B0j@@@@@.
BB@B0j@@@@@:
BB@B0j@@@@@;
BB@B0j@@@@@?
BB@B0j@@@@@@
BB@B0j@@@@@]
BB@B0j@@@@@_
BB@B0j@@@@@|
BB@B0j@@@@@0
BB@B0j@@@@@1
BB@B0j@@@@@2
BB@B0j@@@@@2c
BB@B0j@@@@@3)
BB@B0j@@@@@3S
BB@B0j@@@@@4c
BB@B0j@@@@@5s
BB@B0j@@@@@6.3(
BB@B0j@@@@@8
BB@B0j@@@@@9
BB@B0j@@@@@a
BB@B0j@@@@@b
BB@B0j@@@@@B
BB@B0j@@@@@c
BB@B0j@@@@@C
BB@B0j@@@@@d
BB@B0j@@@@@d!
BB@B0j@@@@@e
BB@B0j@@@@@E
BB@B0j@@@@@!*f
BB@B0j@@@@@f
BB@B0j@@@@@F
BB@B0j@@@@@g
BB@B0j@@@@@G
BB@B0j@@@@@Gi
BB@B0j@@@@@H
BB@B0j@@@@@HeY
BB@B0j@@@@@I
BB@B0j@@@@@j
BB@B0j@@@@@J
BB@B0j@@@@@k
BB@B0j@@@@@K#
BB@B0j@@@@@Ks
BB@B0j@@@@@KW
BB@B0j@@@@@KYO
BB@B0j@@@@@l
BB@B0j@@@@@l*
BB@B0j@@@@@L
BB@B0j@@@@@lKqX
BB@B0j@@@@@m
BB@B0j@@@@@	M
BB@B0j@@@@@M
BB@B0j@@@@@]mk
BB@B0j@@@@@My-
BB@B0j@@@@@n
BB@B0j@@@@@N
BB@B0j@@@@@!O
BB@B0j@@@@@O4
BB@B0j@@@@@owg
BB@B0j@@@@@p
BB@B0j@@@@@P
BB@B0j@@@@@pH
BB@B0j@@@@@Px2
BB@B0j@@@@@Q
BB@B0j@@@@@QS
BB@B0j@@@@@R
BB@B0j@@@@@rhr!
BB@B0j@@@@@s
BB@B0j@@@@@S
BB@B0j@@@@@SF
BB@B0j@@@@@t
BB@B0j@@@@@T
BB@B0j@@@@@u
BB@B0j@@@@@U
BB@B0j@@@@@?v
BB@B0j@@@@@v
BB@B0j@@@@@"w
BB@B0j@@@@@w
BB@B0j@@@@@W
BB@B0j@@@@@X!
BB@B0j@@@@@x8y
BB@B0j@@@@@xs22
BB@B0j@@@@@)Y:
BB@B0j@@@@@Y 
BB@B0j@@@@@z
BB@B0j@@@@@zj
BB@B0k@@@@@
BB@B0k@@@@@"
BB@B0k@@@@@#
BB@B0k@@@@@'
BB@B0k@@@@@(
BB@B0k@@@@@(:
BB@B0k@@@@@)
BB@B0k@@@@@)?
BB@B0k@@@@@?
BB@B0k@@@@@@
BB@B0k@@@@@[
BB@B0k@@@@@]
BB@B0k@@@@@_
BB@B0k@@@@@0
BB@B0k@@@@@1
BB@B0k@@@@@2
BB@B0k@@@@@3
BB@B0k@@@@@3U
BB@B0k@@@@@4
BB@B0k@@@@@5
BB@B0k@@@@@6
BB@B0k@@@@@8
BB@B0k@@@@@a
BB@B0k@@@@@A
BB@B0k@@@@@A*
BB@B0k@@@@@a6
BB@B0k@@@@@C
BB@B0k@@@@@cJ
BB@B0k@@@@@D
BB@B0k@@@@@Dfln
BB@B0k@@@@@Ds
BB@B0k@@@@@DVo
BB@B0k@@@@@EB0
BB@B0k@@@@@EM
BB@B0k@@@@@]etk
BB@B0k@@@@@EX]]
BB@B0k@@@@@f
BB@B0k@@@@@F1:
BB@B0k@@@@@g
BB@B0k@@@@@G
BB@B0k@@@@@h
BB@B0k@@@@@H
BB@B0k@@@@@I
BB@B0k@@@@@i3
BB@B0k@@@@@j
BB@B0k@@@@@J
BB@B0k@@@@@K
BB@B0k@@@@@K_X
BB@B0k@@@@@l
BB@B0k@@@@@L
BB@B0k@@@@@lj
BB@B0k@@@@@M
BB@B0k@@@@@MH
BB@B0k@@@@@mT
BB@B0k@@@@@n
BB@B0k@@@@@o
BB@B0k@@@@@P
BB@B0k@@@@@Q
BB@B0k@@@@@Q5oS
BB@B0k@@@@@R
BB@B0k@@@@@RI
BB@B0k@@@@@RS
BB@B0k@@@@@S
BB@B0k@@@@@Sb9
BB@B0k@@@@@t
BB@B0k@@@@@tN
BB@B0k@@@@@u
BB@B0k@@@@@u[
BB@B0k@@@@@v
BB@B0k@@@@@*V
BB@B0k@@@@@V.
BB@B0k@@@@@w
BB@B0k@@@@@W
BB@B0k@@@@@x
BB@B0k@@@@@?X
BB@B0k@@@@@X
BB@B0k@@@@@X@[
BB@B0k@@@@@y
BB@B0k@@@@@Z
BB@B0k@@@@@ZL
BB@B0k@@@@@zP
BB@B0l@@@@@
BB@B0l@@@@@!
BB@B0l@@@@@"
BB@B0l@@@@@(
BB@B0l@@@@@;
BB@B0l@@@@@@
BB@B0l@@@@@]
BB@B0l@@@@@1
BB@B0l@@@@@2
BB@B0l@@@@@;5
BB@B0l@@@@@5
BB@B0l@@@@@5E'a
BB@B0l@@@@@6
BB@B0l@@@@@8
BB@B0l@@@@@8hS.
BB@B0l@@@@@"Ar
BB@B0l@@@@@@b
BB@B0l@@@@@B
BB@B0l@@@@@BR
BB@B0l@@@@@C
BB@B0L@@@@@C
BB@B0l@@@@@C?M
BB@B0l@@@@@d
BB@B0l@@@@@D
BB@B0l@@@@@d-s
BB@B0l@@@@@H
BB@B0l@@@@@i
BB@B0l@@@@@I
BB@B0l@@@@@J
BB@B0l@@@@@L
BB@B0l@@@@@m
BB@B0l@@@@@M
BB@B0l@@@@@MO
BB@B0l@@@@@N
BB@B0l@@@@@(P
BB@B0l@@@@@PZ
BB@B0l@@@@@rD
BB@B0l@@@@@S
BB@B0l@@@@@?T
BB@B0l@@@@@T
BB@B0l@@@@@T;
BB@B0l@@@@@V5Y
BB@B0l@@@@@W
BB@B0l@@@@@Wf
BB@B0l@@@@@wH54
BB@B0l@@@@@X
BB@B0l@@@@@Y
BB@B0l@@@@@z
BB@B0l@@@@@Z
BB@B0l@@@@@ZK
BB@B0[@@@@@m
BB@B0m@@@@@
BB@B0m@@@@@	
BB@B0m@@@@@ 
BB@B0m@@@@@!
BB@B0m@@@@@"
BB@B0m@@@@@'
BB@B0m@@@@@(
BB@B0m@@@@@)
BB@B0m@@@@@*
BB@B0m@@@@@-
BB@B0m@@@@@:
BB@B0m@@@@@:(
BB@B0m@@@@@;
BB@B0m@@@@@?
BB@B0m@@@@@_
BB@B0m@@@@@|
BB@B0M@@@@@
BB@B0m@@@@@0
BB@B0m@@@@@2v.E
BB@B0m@@@@@3
BB@B0m@@@@@3w
BB@B0m@@@@@5
BB@B0m@@@@@6
BB@B0m@@@@@7
BB@B0m@@@@@8B
BB@B0m@@@@@A
BB@B0m@@@@@am
BB@B0m@@@@@b
BB@B0m@@@@@B"
BB@B0m@@@@@B7
BB@B0m@@@@@)C
BB@B0m@@@@@C
BB@B0m@@@@@C	
BB@B0m@@@@@Co
BB@B0m@@@@@d
BB@B0m@@@@@D
BB@B0m@@@@@e
BB@B0m@@@@@E
BB@B0m@@@@@e"-9
BB@B0m@@@@@f
BB@B0m@@@@@f!
BB@B0m@@@@@F
BB@B0m@@@@@FM
BB@B0m@@@@@g)
BB@B0m@@@@@G
BB@B0m@@@@@H
BB@B0m@@@@@h3
BB@B0m@@@@@@H-8
BB@B0m@@@@@I!0
BB@B0m@@@@@j
BB@B0m@@@@@J
BB@B0m@@@@@J|
BB@B0m@@@@@k
BB@B0m@@@@@K
BB@B0m@@@@@L
BB@B0m@@@@@M
BB@B0m@@@@@N
BB@B0m@@@@@O
BB@B0m@@@@@p-
BB@B0m@@@@@)P
BB@B0m@@@@@P
BB@B0m@@@@@q
BB@B0m@@@@@Q
BB@B0m@@@@@QI
BB@B0m@@@@@r
BB@B0m@@@@@r!
BB@B0m@@@@@R
BB@B0m@@@@@s
BB@B0m@@@@@S
BB@B0m@@@@@sy
BB@B0m@@@@@t
BB@B0m@@@@@T
BB@B0m@@@@@u
BB@B0m@@@@@U3
BB@B0m@@@@@*v
BB@B0m@@@@@V
BB@B0m@@@@@WLx
BB@B0m@@@@@]x
BB@B0m@@@@@x
BB@B0m@@@@@X
BB@B0m@@@@@xZ
BB@B0m@@@@@Y
BB@B0m@@@@@y7[
BB@B0m@@@@@Z
BB@B0[@@@@@n
BB@B0n@@@@@
BB@B0n@@@@@	
BB@B0n@@@@@ |
BB@B0n@@@@@!|
BB@B0n@@@@@"
BB@B0n@@@@@#
BB@B0n@@@@@-
BB@B0n@@@@@:
BB@B0n@@@@@;
BB@B0n@@@@@@
BB@B0n@@@@@[
BB@B0n@@@@@_
BB@B0N@@@@@
BB@B0n@@@@@1'_
BB@B0n@@@@@3
BB@B0n@@@@@4
BB@B0n@@@@@6F
BB@B0n@@@@@6mnP
BB@B0n@@@@@6x
BB@B0N@@@@@7g
BB@B0n@@@@@7S_c
BB@B0n@@@@@7x
BB@B0n@@@@@a
BB@B0n@@@@@!B
BB@B0n@@@@@B
BB@B0n@@@@@c
BB@B0n@@@@@C
BB@B0n@@@@@e
BB@B0n@@@@@f	
BB@B0n@@@@@g7
BB@B0n@@@@@Gw
BB@B0n@@@@@h
BB@B0n@@@@@hu
BB@B0n@@@@@!i;
BB@B0n@@@@@j
BB@B0n@@@@@k
BB@B0N@@@@@L
BB@B0n@@@@@M
BB@B0n@@@@@Ng
BB@B0n@@@@@NL
BB@B0n@@@@@O
BB@B0n@@@@@OLf
BB@B0n@@@@@Or2
BB@B0n@@@@@OY
BB@B0n@@@@@p3
BB@B0n@@@@@q
BB@B0n@@@@@Q6YU
BB@B0n@@@@@r
BB@B0n@@@@@s2i
BB@B0n@@@@@sb
BB@B0n@@@@@sq
BB@B0n@@@@@]t
BB@B0n@@@@@t
BB@B0n@@@@@T
BB@B0n@@@@@U
BB@B0n@@@@@v
BB@B0n@@@@@V
BB@B0n@@@@@ W
BB@B0n@@@@@X
BB@B0n@@@@@X]
BB@B0n@@@@@XH3
BB@B0n@@@@@Xvg
BB@B0n@@@@@y
BB@B0n@@@@@Yc
BB@B0n@@@@@YHV?
BB@B0n@@@@@z
BB@B0o@@@@@
BB@B0O@@@@@
BB@B0O@@@@@A
BB@B0o@@@@@ck
BB@B0o@@@@@L
BB@B0o@@@@@o
BB@B0o@@@@@xL-h
BB@B0p@@@@@
BB@B0]@@@@@P
BB@B0P@@@@@
BB@B0P@@@@@"
BB@B0P@@@@@*
BB@B0P@@@@@-
BB@B0P@@@@@_
BB@B0P@@@@@0
BB@B0P@@@@@b
BB@B0P@@@@@B
BB@B0P@@@@@F
BB@B0P@@@@@j
BB@B0P@@@@@|J
BB@B0P@@@@@q
BB@B0q@@@@@;
BB@B0Q@@@@@
BB@B0Q@@@@@1
BB@B0Q@@@@@4
BB@B0Q@@@@@5u
BB@B0Q@@@@@ 9
BB@B0Q@@@@@b
BB@B0Q@@@@@e
BB@B0Q@@@@@f
BB@B0Q@@@@@H
BB@B0Q@@@@@hE
BB@B0Q@@@@@lB
BB@B0Q@@@@@o
BB@B0Q@@@@@U
BB@B0Q@@@@@Y
BB@B0]@@@@@r
BB@B0r@@@@@
BB@B0R@@@@@
BB@B0R@@@@@	
BB@B0R@@@@@ 
BB@B0R@@@@@'
BB@B0R@@@@@.#*
BB@B0R@@@@@:
BB@B0R@@@@@2Yic
BB@B0R@@@@@7
BB@B0R@@@@@ca
BB@B0R@@@@@D
BB@B0R@@@@@F
BB@B0R@@@@@h
BB@B0R@@@@@H
BB@B0R@@@@@I
BB@B0R@@@@@IB
BB@B0R@@@@@ljN
BB@B0R@@@@@o
BB@B0R@@@@@q
BB@B0R@@@@@qoP4
BB@B0R@@@@@R
BB@B0R@@@@@t
BB@B0R@@@@@;)	V
BB@B0R@@@@@w
BB@B0R@@@@@y
BB@B0R@@@@@Y
BB@B0[@@@@@S'
BB@B0S@@@@@
BB@B0S@@@@@"
BB@B0S@@@@@(
BB@B0S@@@@@)
BB@B0S@@@@@;
BB@B0S@@@@@?
BB@B0S@@@@@@
BB@B0S@@@@@]@
BB@B0S@@@@@]1
BB@B0S@@@@@4
BB@B0S@@@@@*8;
BB@B0S@@@@@A
BB@B0S@@@@@c9
BB@B0S@@@@@D
BB@B0S@@@@@D:
BB@B0S@@@@@G
BB@B0S@@@@@IH
BB@B0S@@@@@In
BB@B0S@@@@@ k
BB@B0S@@@@@KD
BB@B0S@@@@@:lfQ
BB@B0S@@@@@!M
BB@B0S@@@@@M
BB@B0S@@@@@m?k
BB@B0S@@@@@O
BB@B0S@@@@@oq
BB@B0S@@@@@Q
BB@B0s@@@@@tb
BB@B0S@@@@@t)h1
BB@B0S@@@@@u
BB@B0S@@@@@V
BB@B0S@@@@@vc1	
BB@B0S@@@@@W
BB@B0S@@@@@X
BB@B0t@@@@@
BB@B0[@@@@@T
BB@B0T@@@@@
BB@B0T@@@@@'[
BB@B0T@@@@@.
BB@B0T@@@@@[:
BB@B0T@@@@@]
BB@B0T@@@@@|
BB@B0T@@@@@0
BB@B0T@@@@@Av
BB@B0T@@@@@B
BB@B0T@@@@@ll5
BB@B0T@@@@@sd
BB@B0T@@@@@z
BB@B0u@@@@@
BB@B0U@@@@@
BB@B0U@@@@@ 
BB@B0U@@@@@)
BB@B0U@@@@@@
BB@B0U@@@@@1k;A
BB@B0U@@@@@9
BB@B0U@@@@@9x
BB@B0U@@@@@c
BB@B0U@@@@@i
BB@B0U@@@@@U_
BB@B0U@@@@@w
BB@B0U@@@@@x
BB@B0U@@@@@z
BB@B0V@@@@@
BB@B0V@@@@@?
BB@B0V@@@@@4m1
BB@B0V@@@@@4qM
BB@B0V@@@@@A
BB@B0V@@@@@G
BB@B0V@@@@@W
BB@B0[@@@@@W
BB@B0W@@@@@
BB@B0W@@@@@-
BB@B0W@@@@@?
BB@B0W@@@@@a*O
BB@B0W@@@@@If
BB@B0W@@@@@j6v
BB@B0W@@@@@*mkp
BB@B0X@@@@@
BB@B0X@@@@@#
BB@B0X@@@@@(
BB@B0X@@@@@[
BB@B0X@@@@@C
BB@B0X@@@@@N
BB@B0X@@@@@q@;
BB@B0X@@@@@s)b1
BB@B0X@@@@@Z
BB@B0_@@@@@y
BB@B0Y@@@@@
BB@B0Y@@@@@2
BB@B0Y@@@@@47
BB@B0Y@@@@@i
BB@B0Y@@@@@ID
BB@B0Y@@@@@M
BB@B0Y@@@@@n
BB@B0Y@@@@@w
BB@B0Y@@@@@z
BB@B0Z@@@@@
BB@B0Z@@@@@#
BB@B0Z@@@@@;)
BB@B0Z@@@@@]
BB@B0Z@@@@@@1
BB@B0Z@@@@@1
BB@B0Z@@@@@2t.
BB@B0Z@@@@@D
BB@B0Z@@@@@KLV2
BB@B0Z@@@@@M
BB@B0Z@@@@@q
BB@B0Z@@@@@Qn
BB@B0Z@@@@@x
b@@@@B@B@2 @j9
@BBB4Eb_UBBK
@BB@BA	@@BAD9
BBBA@Fp@@@@@@@@@@@
BBBA@Fp@@@@@@@@@@B@A@pp@Jt
BBBA@Fp@@@@@@@@@@@y@@B@ACac
@@@@BBBAkp@@@@@@@@@@@@BA
@@@@B@BBap@h
@@@@B@BBap@M
BBBA@pp@@@@@@@@@@BBA@
b	b	b	b	
???B??B??B??B
@BBBBAUsGWSS9
b	b	b	b	b	
b	b	b	b	b	b	
@BBBBBBB
[BBBBBBB
]BBBBBBB
_BBBBBBB
bBBBBBBB
BBBBBBBB
bbb"bbb"bbb
?BB?BB?BB?BBB
@BBBBCdPZ
@BBBB_fQEyB[LC9
BBB]BPSu[QWJPL[IYZ
@BBBBZeVBB[f]BWD
@BBB@CEBCo
@@@@B@BBCp@Y
@BBBDfUs
@BBBDgQEyBBs
@BBBh H@@@@@
@BBBh H@@@@@M
@BBBh J@@@@@
@BBBh L@@@@@v
@@@@B@BBHp@K
B@@@@B@B@Hp@M
B@@BBh Rw
@BBBJ7BB2N
b@@@@BB@@Jp@@@@@@@@@@@
@@@@B@BBJp@
@@@@B@BBJp@H
B]BBLODZJJ[GN
@BBBLsgUBB@CxWLs@C[BCo
BBBMA_SK
@BBB@NB@D
@@@@BB@@bp@@@@@@@@@@B@@@Hp@L
:?BBB@Pp@@@@@@@@@@@ @@D@ACac
@BBBsSPSSg
@BBBsSRSS
@BBBsSRSSdTsSRSSxQBB@CBCYBCi
@BBBsSUSSBW
@BBBTaMBBXZD
@BB[BVLk9
BBBvvvKD@PTUP
BBBX@GXZY[
@@@@B@BC2 @aH
B@BC2 @J
B@@@@B@CAap@D
@@B@BCac
BB]CAQHJF
BBCB_HX_
BBCdI[[[
@@@@@BBCgpR@@@@@
_B__BCHA
BBCKOZMCKO_GBZGBM
B[BCKXOHA
__BBCMJG_YDJ
BBCPLJOBYF
@@@@B@B@Cp@x
BBCSGO[S_FQ_
BBCSXSPP[GSDZ
BBC[[YPG@GBZ
b@@BDA@R0@@Q@@@@@@@B@A@S0@C
b@@@@BDBAHp@]q
BBDG_[[BY[G
Bb-dgfG8
BBDKOJMP
B@@@@BD@@lp@h
@@@@BB@@dp@@@@@@@@@@@@@@
B@B@dp@M
@@@@B@B@dp@V
B]BDQBPBX]
BBdQEyBBBY
BBdV[[[:[[[
@BBDXBOBB
@@B@BEac
@@@@BB@@Ep@@@@@@@@@@BA@@Hp@D
@@@@BB@@Ep@@@@@@@@@@B@@@Hp@r
@@@@BB@@Ep@@@@@@@@@@@@@@HpBV
@@@@B@B@Ep@Q
@@@@B@B@Ep@X
@BBEsSCSS
BBFCYCHHB[[
BBFKXY]LGZ
@@@@BB@@Fp@@@@@@@@@@@
BB@@Fp@@@@@@@@@@B@@@
BBfQEyBVL_9
@@B@B[fWB[xQB@@[Zs
@BBGBBBA
BbGCCPQTt
#B[BGd9B[BusSQSS
BBGFCDPYBOQ]O[Y
bbgfG1q8
bbgfGieO
BbgfGPdy
@@B@BGfQEyQB@ZsSSS
bbggfwv2
BB[GGPXODE
BBG@JBBB
BBGLFE_O
BBGM_LMK[B]HZ
@@@@B@B@gp@PH
*BBgqggp
bBgqggri
"BBgqggtP
bbgWdgfG
BBHHF[OBN
@@BBh Ow
BB@@hp@@@@@@@@@@@@@@
@@@@B@B@Hp@
@@@@B@B@Hp@]
 ;@@@@B@B@Hp@]7
BB@@hp@@@@@@@@@@@@@@AQ@L
[*@@@@BB@@Hp@@@@@@@@@@BB@@Jp@@@@@@@@@@@@CA
|@@@@B@@BHp@d
@@@@B@B@Hp@h
@@@@B@B@Hp@J
@@@@B@B@Hp@M
@@@@B@B@Hp@M-
@@@@B@B@Hp@M1
@@@@B@B@Hp@Mj
@@@@B@B@Hp@MK
@@@@B@B@Hp@Mvz9h@@@@B@B@Hp@MH
@@@@B@B@Hp@MWk
@@@@B@B@Hp@Q
@@@@B@B@Hp@U
@@@@BB@@hp@@@@@@@@@@]Y]]
@@BBh Qw
@@BBh Sw
@@BBh Uvbu
@@BBh Uw
@@BBh Vvbu
@@BBh [w
@@BBh Xvbu
bbilcmbyVQ
@@@@BB@@Ip@@@@@@@@@@@
B]BJBQ]A
BBJNMZ_HJ
BBJOALS@QQQDNB]
BBJOSPCJK
BB@@Jp@@@@@@@@@@@
BB@@Jp@@@@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@A@@@
@@@@BB@@Jp@@@@@@@@@@@A@@_p@D
)@@@@BB@@Jp@@@@@@@@@@@@@@AQ@cE
@@@@BB@@Jp@@@@@@@@@@B@@@
BB@@Jp@@@@@@@@@@@|@@B@ACac
@@@@BB@@Jp@@@@@@@@@@BA@@Hp@D#H
@@@@BB@@jp@@@@@@@@@@B@@@ap@c
# @@@@BB@@Jp@@@@@@@@@@BA@@Xp@H
@@@@BB@@Jp@@@@@@@@@@BB@@Jp@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@BB@@Kp@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@BB@@Kp@@@@@@@@@@A@@@
@@@@BB@@Jp@@@@@@@@@@B@@@Hp@_
@@@@BB@@Jp@@@@@@@@@@B@@@Hp@WK
@@@@BB@@Jp@@@@@@@@@@B@@@Hp@xe
@@@@BB@@Jp@@@@@@@@@@B@@@vp@MG
@@@@BB@@Jp@@@@@@@@@@@(@@D@ADac
 ;@@@@BB@@Jp@@@@@@@@@@@*@@D@AEac
@@@@BB@@Jp@@@@@@@@@@@@@@dp@G@
"@@@@BB@@Jp@@@@@@@@@@@;@@E@ACac
@@@@BB@@Jp@@@@@@@@@@@@@@Ip@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@A@@@
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@AB@@XpD@@@@@#H
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@AB@@XpS@@@@@
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@A@@Cp@D#H
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@ap@_
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@ap@oq
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@B@@@Hp@H
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@B@@@Hp@J
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@:@@E@ACac
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@Lp@a
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@lpND
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@_p@Pp
@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@]Y]]V
@@@@BB@@Jp@@@@@@@@@@@@@@Lp@m
:#@@@@BB@@Jp@@@@@@@@@@@@@@Lp@q
@@@@BB@@Jp@@@@@@@@@@@@@@Lp@q
BBJ_P]Q]Z
@"@@@@B@B@Jp@R
@@@@BB@@Jp@@@@@@@@@@@@@@XpPD
@@@@BB@@Jp@@@@@@@@@@]Y]]
[@@@@B@B@JQ@M
[@@@@B@B@JQ@T'
BBJSXSKM
@[BBJXG[HMJXG
B]BJXN[PADQEEAJ
BBJZ]_[FHEYAYKA
]B_BJZO]GEA
b[[[BK0dQ[[[
@@B]B@K	B_
'b[bkggfw
BBKGMEGQ
bbkkaSSSSSS
[BBKLZJJD
BB_[KN_Q_
b)))BKZG]GM
BBLAZ[BS
@_B_BLBV
BBLC73M7BBLC1BBsS
B_BLCD[O
BB@LD_SBL
BB@LJGQGY
bBllllllllmllllOllylm
BBLNAAYLAA_QCLQKJ
B[B_]LOZB
"@@@@B@B@Lp@dE
@@@@B@B@Lp@G
@@@@B@B@Lp@[M
.@@@@B@B@Lp@Q)s'6@@@@B@B@Lp@Q
@@@@B@B@Lp@RH	
)!'@B@B@Lp@T
@@@@B@B@Lp@U
@@@@B@B@Lp@U	
@@@@B@B@Lp@W
]BBLQSQ]]O
BBLYBC[]H_OLNB[
BBMA@QGAQFQN[
BB@MASPHQZZ
BBMBGMGZ[SB@BE[ONMA
BBM[CBBP
BBMSBKFDCP
BBNDCDN[MA]
BBNGEDAAMZ
@@@@B@B@Np@]
@@@@BB@@Np@@@@@@@@@@@
@@@@BB@@Np@@@@@@@@@@@@AALp@m
@@@@BB@@Np@@@@@@@@@@@@AA[pKL
@@@@BB@@Np@@@@@@@@@@@A@@Cp@DL
@@@@BB@@Np@@@@@@@@@@BA@@Hp@D#H
@@@@BB@@Np@@@@@@@@@@BA@@Hp@Ke
@@@@BB@@Np@@@@@@@@@@B@@@Hp@d
@@@@BB@@Np@@@@@@@@@@B@@@Hp@L
@@@@BB@@Np@@@@@@@@@@@@B@XpDlm
@@@@BB@@Np@@@@@@@@@@@@CA
@@BBNpcP
|@@@@B@B@Np@D
@@@@B@B@Np@Dni
@@@@BB@@Np@@@@@@@@@@@@@@dp@Ek
@@@@@@BBNp@Gk
@@@@B@@BNp@H
@@@@B@@BNp@JK
@@@@B@B@Np@K
@@@@B@B@Np@L
@@@@BB@@Np@@@@@@@@@@@@@@Lp@G9
@@@@BB@@Np@@@@@@@@@@@@@@Lp@M
@@@@BB@@Np@@@@@@@@@@@@@@Lp@t
@@@@BB@@Np@@@@@@@@@@@@@@Lp@T
@@@@BB@@Np@@@@@@@@@@@@@@Lp@Y5
@@@@@BB@NpM@@@@@
@@@@B@B@Np@M|
@@@@B@@BNp@N
@@@@BB@@Np@@@@@@@@@@@@@@Op@@@@@@@@@@@@AALp@
@@@@BB@@Np@@@@@@@@@@@@@@Op@@@@@@@@@@@B@@dp@@@@@@@@@@@@@@
@@@@BB@@Np@@@@@@@@@@@@@@Op@@@@@@@@@@@@CA
@@@@BB@@Np@@@@@@@@@@@@@@Op@@@@@@@@@@@@@@gp@K
@@@@B@B@Np@P
_@@@@B@B@Np@P
BB_NPPNZCDLXDNMPP]
@@@@B@B@Np@R
@@@@B@B@Np@S
@@@@BB@@Np@@@@@@@@@@@s@@B@ACac
;@BB@NpT@@@@@
@@@@B@B@Np@VM
@@@@B@B@Np@W
@@@@BB@@Np@@@@@@@@@@@x@@B@ACa
@@@@BB@@Np@@@@@@@@@@@@@@XpDlm
@@@@BB@@Np@@@@@@@@@@@@@@XpWWK
@@@@BB@@Np@@@@@@@@@@]Y]]
@@BBNpZP
BB[OBG]B]
B]B]OC]NB
B[BOdMB[BAfWBAxQB[@ABBB[
BBO[EECG
_BBOHFQYZK]__OPH
B]BOJ]XBXKJS@
@@@@BB@@Op@@@@@@@@@@@
BB_OPYCJ
BBOQZXYCHY
BB@@*p@@@@@@@@@@@
BB@@;p@@@@@@@@@@BB@@
@@@@BB@@'p@@@@@@@@@@BB@@ip@@@@@@@@@@@
BB@@;p@@@@@@@@@@B@@@hp@H
@BB@[pd@@@@@
@BB@[pe@@@@@
Bbpgppepq
@BB@[pi@@@@@ak
@@@@B@B@_p@iE
B@B@[p@L
@@@@BB@@pp@@@@@@@@@@@@@@
*@@@@B@B@Pp@]
@@@@B@B@Pp@[
@@@@BB@@pp@@@@@@@@@@@A@@
@@@@B@B@Pp@a
@@@@BB@@pp@@@@@@@@@@BB@@pp@@@@@@@@@@@B@@
@BB@Ppc@@@@@R
@@@@B@B@Pp@cU
BB__]PPG
@BB@PpI@@@@@
@BB@PpK@@@@@
@@@@B@B@pp@K 5
#@@@@B@B@pp@M
@@@@B@B@pp@M"
@@@@B@B@Pp@Q
@BB@PpQ@@@@@
@@@@B@B@Pp@Y
@BB@[pR@@@@@
@BB@.pT@@@@@WB
@@@@B@B@_p@WX
@@@@BB@@;p@@@@@@@@@@x
BBP[XKDJALZDXJAO_PG
BBPXKDMML@@GMOG
@BB@.pY@@@@@
BBPYSPDFCE[[AJG
BBPYZ]YJGOJK
BBPZJH]OLXMJ_POHC_
B_BQBL@H
BBQKZ]ZF
BBQM[KKHLOLXYKEBO
@@@@BB@@Qp@@@@@@@@@@@
@@@@BB@@Qp@@@@@@@@@@@(@@D@ACac
"@@@@BB@@Qp@@@@@@@@@@@p@@B@ACac
B_]BQQCSXGX
BBQXQMK[KD]]_
BBSDBAZJ]L_
BBSGAXCEKJSL
BBSGEXGCLLPPO
BBS]GXD[[C
B[B]SJ]_LN
BBsKRSSgQEyE@_AzL
BBSN_DHXMLJJZNPAD_
_BBSP[NH_
bbSSSSS!#5
bbSSSSSS
]BBSXAOQP_AAZ
BBSYQ[XS[KBL
@B@B@T0@j|
@BBUBBgUs
@BBULsBB
@@@@BB@@up@@@@@@@@@@BB@@Ip@@@@@@@@@@@1@@E@A@ac
@@@@BB@@up@@@@@@@@@@BB@@Ip@@@@@@@@@@BA@@Hp@DL
bbUUmUUQ6
@BBVBBa7x
@BBWBBgbBBBW
@_B_BWdJB_T
B_BWgtBWB_
@@@@BB@@wp@@@@@@@@@@@
@@@@BB@@wp@@@@@@@@@@@B@@9p@@@@@@
@@@@BB@@wp@@@@@@@@@@BB@@
BB@@wp@@@@@@@@@@BB@@:p@@@@@@@@@@@
@@@@BB@@wp@@@@@@@@@@@B@@:p@@@@@@
@@@@BB@@wp@@@@@@@@@@UPUU
B_BXAEOCO
@BBXB_BB
B]BXDAP[CL
BBXDDJOGODOX
[B[BXG@N
B@BXHAQ]
BBXHMZ_]DE
B@B@Xp@G
B@B@Xp@Rd.
B@B@Xp@S
_BBXQPSSDO
@@B@BXsSQSS
BBXXDYY_DP
BB[X_XE_
BB][XXKNGXZ
BBxxxDyx|x|xixY[9
BBxyxsyW
B[BXZ@BS_]
BBYBCASBL]
BBYCXLSNKNB@Q[
@]B]BYdsB]BFBY
BBYFOCJCYX
BBY[GCQGZJC
B@BYG_QC
BBYHB[EC
BBYHJCN]
BBYM]EEB_
BBYMOOSC_J_NQLL[ZDSXB
B]BYOPAD
@@@@B@B@yp@I
B]BYQLJP]OMSPZ
BByxdy9x
BByxex]HJ
BBY_ZPYCQ
BBZD[CDDN[PX]ZZ
@[B[BZeUs
@[B[BZfQEyQB[BUsSSS
BBZGGXPMHLK]
BB[[[Z[[[K[[[
BBZOSAYPCB
BBZO[]Z[P
BB_[_ZQ]Q
]@BBZSMG
B[BZSQGAMSZP_
BBZYO@M@]OMH
B]B]ZZAQ
!#@@@@B@C@
.@@@@B@C@
@@@@B@C@
B@C1AOAAAAAAAAAAAAAAAAoA"A-A A2A2A
b||_c||1c||
BC2@ABVE
@@@@B@C@2 @Jo
@B@C@2 @P
@@@@B@C@2 @s
@@@@@BCA
@@@@B@CA
@@@@B@CA2 @Gu
B@CA2 @L
BCAAAA@AAAAAC
@@@@B@CAap@
]BCA@ASPLBHGO
BCAC@!1Aa
B@c@ACac
@@@@B@CACp@S4
@	B@c@ADac
@@@@B@CAdp@HO8
"?@@@@B@CAdp@Ljyb|@@@@B@BAHp@Ztt
@@@@B@CAdp@Q 
B@c@AEac
B@ @@C@AEac
@@@@B@CAEp@
@@@@B@CAEp@Y
[BCAGDKQYOLH
@BCAh J@@@@@
(@@@@@BCAh J@@@@@w
)@@@@B@CAHp@]
@@@@B@CAHp@
@@@@B@CAHp@I
@@@@B@CAHp@Q
@@@@B@CAHp@Y
@@@@B@CAJp@N0
@@@@B@CALp@
@@@@B@CALp@m
@@@@B@CALp@Pj
B@CALp@Qrk.
BC_ALSH_JBZ
@@@@B@CANp@E
@@@@B@CANp@I
@@@@B@CANp@I-nJV@@@@B@CANp@M
.@@@@B@CANp@J
@@@@B@CANp@J
@@@@B@CANp@K
B@CANp@U.m
@@@@B@CApp@N
@@@@B@CApp@N:tB
@@@@B@CApp@O
@@@@B@CApp@Q
@@@@B@CApp@S
@@@@B@CApp@V
@@@@@BCAPpV@@@@@
@B@C@ap@Ys
@@@@B@CAqp@]
@@@@B@CAqp@a
BCASAJ@H
BCA[S]BKF
bCategoryInstancesWWW
B@CAXp@]J
@@@@@BCAXpq@@@@@4s
@BCAXpr@@@@@'
BCAZNMOEBCZM
!@@@@B@CB
@@@@B@CB
(@@@@B@CB2 @B
@@@@B@CB2 @B"
B@CB2 @D
@@@@B@CB2 @I
?@@@@B@CBap@]
BCBBQ_XDPL
bcbcmyVQ
B@CBCp@YAQf
BcbEntryID1WW
BcbEntryID2WW
@@@@B@CBEp@QH
BCBHEOFONEYJCEO
@BCBh J@@@@@
@BCBh J@@@@@8X
@@@@B@CBJp@H
@@@@B@CBJQ@M
@@@@B@CBJQ@S
BCBMNSOP_EH
@@@@B@CBNp@I
@@@@B@CBNp@J
@@@@B@CBqp@]
@@@@B@CBqp@QH
	@@@@B@CBqp@VA
@@@@B@CBqp@X'
BC]BZGPY
BCCCCCABCABCAC
BCCCCCABCAZMOBCAC
_B_CCD[_
BCCEEZGES
BC_CHJZ_
b)))CCJJKKOEHZ]L[
BCCK]CCBKGM
BCCKJKSZQC
bCCNCCCBACC
bCCNCCCBACC@
bCCNCCCBACCK
(bCCNCCCBACCms7t
bCCNCCCBACCQ
bCCNCCCBACCw
@@@@B@CCNp@Q'
@@@@@BCC:p@@@@@@
@@@@B@CC_p@H
@@BCCp@K
BCCPKMZEJ
BCCSGXNBB
@BCCXpO@@@@@1
@BCCXpX@@@@@
BC@CZZZE
BCDBDYK]H
BCD_BOOLEAN_ADVANCED_OPTIONS
BCD_BOOLEAN_AUTORECOVERY_ENABLED
BCD_BOOLEAN_EMS_ENABLED
BCD_BOOLEAN_OPTIONS_EDIT
BCD_BOOLEAN_TEST_SIGNING
BCDBPSFP]_
BcdCloseObject
BcdCloseStore
B)C)D)E)
B#C#D#E#F#G#H#I#
B(C(D(E(F(G(H(I(
B-c'dgfG
_BCDGPOD[
BCDgqggN
BCD_INTEGER_BOOT_STATUS_POLICY
BCDJC[ES
BCDJ]JEGLJZ
BCDN[MGB
BcdOpenObject
BcdOpenSystemStore
@@@@B@C@dp@B
[BCDPDQX
BcdSetElementData
BCD@SKJQG
BCDZY]SBNG
@@@@B@CE2 @d	
B@CE2 @d
@@@@B@CE2 @iIi
[B]C[EHA
@@@@B@C@Ep@axg
BCEQ[DDZX]
BcEXEUE9E*E
Bcg][[["[[[
BCG4()4#l4(
BCGD@ACASMASQ[LDOKXGPG[YNZ[EXKKBY
bcgfG5lO
bCggngfG
BC]GJAKD@HH]K
BCGNLMOEOLG
(BcgolgfG
BC[GOYOKM
@@@@B@C@gp@G
@@@@@@BCgp@X
Bcgqgg'G8i
bCgqgg"Ou
B_CG]QHDFZS
BCGSZHLJCO_SQAL]
BCHAPY]ESYPL][BM
BCHHASAEYYSO
BCHKSYOGD
BCHNLY]NHYQNA_LO
@@@@B@C@Hp@
@@@@B@C@Hp@]
@@@@B@C@Hp@_"@
@@@@B@C@Hp@a
@@@@B@C@Hp@d
@@@@B@C@Hp@g
@B@C@Hp@L
@@@@B@C@Hp@N
@@@@B@C@Hp@P
@@@@B@C@Hp@S
@@@@B@C@Hp@U
@@@@B@C@Hp@U5
@@@@B@C@Hp@V
@@@@B@C@Hp@Ys
@@@@B@C@Hp@Zd
@@@@B@C@Hp@Zf
BCHQPOK[OO
BC_[HSEA
BCH[XOMCLL
B|||C||iC||VC||CC||*C||
[[[BCIdB[[[
B|||C||jC||
BCJC]B]K
BCJCE_ADFG]Z
BC_JJYEG]
BCJ@MPLGDS
BCJQDY]XLZD
@@@@@@BCJQ@M
@@@@@@BCJQ@S
BCJSBNSJH
)))BCJXBF]CPMAHS@]XD@]ZM@]ZO@]PBMA
BCJXBFDLHNHHQ
[BCJZJSCAH]NS_
@BC[K__FYHMSM@
BCK_KBYJLX
BC[]@KLHYXZ
BCK[NXCP
BCKOEOJZFSOQ
BCKOQKOY
BCLC73M7BCLC1BCsS
BC]LCDZH]ZC
[BCL[_CZK
]BCLELJ][FG@JZ
BCLJ[YYCQMX_N
BCLK1BCM73BBLC7BBLC132BALK7BAM132BW
bcllllllllmllllOllylmc
BCL]_OBE_
BCLOGDD[
)))BCLOM
@@@@B@C@Lp@hf
]@@@@B@C@Lp@zM
BCM[CXS]M
BCMJLZON
BCMJOCKE
BCMNDCPM
)))BCMNEENAZMCAZCM
BCMQMYN@ZK
]BCMS]XAB
BCNCCCBACC
BCNCCCBACC(
BCN][CJB
BCNJ@CKS
BCNJNKEEE
BCNKD_SAX@XO__GL
B_C@N][KSA
bcnlSSSSSSSS
BCNQY_A]G
BCNYPPM[OO
BCOC]XPGDHO
BCODJ[YBH
_BCOELXG
BCO"gmcgfG
BCOONHPJY[ZXM
BCOZOYPY
@@@@@@B@Cp@]
@@@@@B@@Cp@@@@@@@@@@
@@@@@B@@Cp@@@@@@@@@@@
Bcp47GetMuiForm
Bcp47Langs.dll
BCPDM[KBLL_CNYF[KJ
@@@@@@B@cp@f
@@@@@@B@cp@f4C
.@@@@@@B@cp@f)B[
BCPFJZGQ[HD
@@@@@@B@cp@foC04@@@@@@B@cp@f
bCpgppepq
@@@@@@B@cp@H
]BCPHOMGDQC
@@@@@@B@cp@HY
BCPHZ_QYGY
@@@@@@B@cp@I
@@@@B@@@cp@I
@@@@@@B@cp@IP
@@@@@@B@cp@Ju
@@@B@Cp@K
@@@@@@B@cp@L
@@@@@@B@Cp@LO
@@@@@@B@cp@Lx
#@@@@@@B@cp@M
@B@@@cp@N
).@B@C@(p@NGN4T@@@@B@B@Pp@W
@@@@@@B@cp@P
@B@C@Pp@a
@@BC@PpS@@@@@
@@@@B@@@cp@Q
[@@@@@@B@cp@Q'X
BCP[SDNFHO[ML
@@@@@@B@cp@T6
@@@@B@@@cp@V
@@@@B@@@cp@X
@@@@@@B@Cp@Z
@@@B@Cp@Z
@@@@B@@@Cp@Zg
BC[QCGM@
BCQGLL]BLK
BCQLHOMX
BCQNJM_QC
BCQOSJZGBP
@@@@B@C@qp@a
@@@@B@C@qp@_L
B[_CQQOZJ
BCryptCloseAlgorithmProvider
BCryptCreateHash
BCryptDecrypt
BCryptDeriveKey
BCryptDestroyHash
BCryptDestroyKey
BCryptDestroySecret
bcrypt.dll
BCryptDuplicateKey
BCryptEncrypt
BCryptExportKey
BCryptFinalizeKeyPair
BCryptFinishHash
BCryptGenerateKeyPair
BCryptGenerateSymmetricKey
BCryptGenRandom
BCryptGetProperty
BCryptHash
BCryptHashData
BCryptImportKey
BCryptImportKeyPair
BCryptIsoKeyData
BCryptIumCheckKey
BCryptIumCloseAlgorithmProvider
BCryptIumContextManagerCreateContext
BCryptIumCreateClaim
BCryptIumDecrypt
BCryptIumDeriveKey
BCryptIumDestroyKey
BCryptIumDestroySecret
BCryptIumDuplicateKey
BCryptIumEncrypt
BCryptIumExportKey
BCryptIumFinalizeKeyPair
BCryptIumGenerateKeyPair
BCryptIumGenerateSymmetricKey
BCryptIumGetClientContext
BCryptIumGetIdkSPub
BCryptIumGetProperty
BCryptIumImportKey
BCryptIumImportKeyGeneric
BCryptIumImportKeyPair
BCryptIumKeyDerivation
BCryptIumOpenAlgorithmProvider
BCryptIumPingTrustlet
BCryptIumReleaseContext
BCryptIumRpcCleanup
BCryptIumRpcInit
BCryptIumRpcInitStatus
BCryptIumSecretAgreement
BCryptIumSetProperty
BCryptIumSignHash
BCryptIumVerifySignature
BCryptKeyDerivation
BCryptOpenAlgorithmProvider
BCryptSecretAgreement
BCryptSetProperty
BCryptSignHash
BCryptVerifySignature
bCS2PSaCS1PKaCS0PcaCS7P
bCSdA[[[
BCS[GYPL
BCSJDECB
BCSNK]CBD
B[CSO@NS
BCSPSLBZG
bcSSSSS!#5
bcSSSSSS
bcSSSSSSS
bcSSSSSSScSSSSSSSbSSSSSSS
@bCTCFC7C
[[[BCUdO[[[
@bCXCQCLCBC;C2C!C
BCXN]JS[
@@@@@BC@XpR@@@@@
BCXSCFBQ
_BCXZAX]
bC]Y]]1*Y
BC]Y_CDS
BCY_DFYM
BC]]YSHCX[]M
BCZC_@LF
BC]Z[KOAO
BCZPO]QDYKB
_B[C[ZQCDJ
BCZZOZMOO
BCZZOZMOZ
[[[#b|d[[[[
||||b|||||||D
Bd@[[[2[[[
Bd.4XdLz
bd_[[[9[[[?[[[
bdA[[[	[[[
bdA[[[)[[[
@@@@BDa@
@BD@@A0@@@@@@@@@@B
BdA[[[7[[[
bdA8um|8
bDAAAA@AAAAAC3
@@@@@'B@d@AAac
BdA[[[c[[[
BDACNX@AS
B_DACZOGKN
bdA[[[d[[[
BdA[[[d[[[
Bd)a:d5w
B]DADLA]JO@
[B@DAHHDN
@@@@BD@AHp@K
B_DAMPBFXBH
BDAMP_CAB]]A
BDANCQOBY
BDANDE_Q
[BDANJFKM
@@@@BDA@Np@D
bdA[[[O[[[
@BDA@_p@V
_BDAQFEALNAYBZD[
B_dA[[[q[[[n[[[GPLdV[[[p[[[i[[[
@@@BDA@R0@@F@@@@@@@B
@BDA@R0@@F@@@@@@@DBA@P0@@@@@@
BDAYB_PSJCJODLLNLXD[SOOALZ
BDAYPGCAX[KASBAP@B
BdB[[[0[[[7[[[
B||db||Ac||
(@@@@BDBAHp@_F
BDBASHCLSDJY
b'@@@@@(@@D@BCac
@@@@BDB@lp@B
BDBLZOYFKX
BdB[[[N[[[
BDBNLCSG_NGQ
BdB[[[N[[[M[[[P
BDB[OZKAE_
BDBSHC]GD
BDBVguBTD
b_DBWSNHIxwo
BDBXQHMPBZHG
BDBZQKXJ
B _dC[[[
BdC[[[	[[[
BdC[[[:[[[
B[]DCBBXS
[BDCCE[[JJYH
B_DCDHMOAOY
BdC[[[e[[[
BDCGHPMDC
BDC_GN]PHANF
BDCGOQABM
BdC[[[k[[[
BDCSGXBKG
b'dC[[[s[[[r[[[-
B(dC[[[V[[[U[[[[[[dH[[[
Bd@[[[d[[[
BdD[[[![[[
BdDDDB3DxD
BDDD[ZY@
BDDE[[O[Z
BDDHNAXEQJCD
BDDJ[DK]DF
b)))D@DL
BDDLJYOZDK
	[[[;BDdM[[[
BDDMDCHAQHEED
bDdM[[[Y[[[
BDDN_PJY]H]
BDDSLS@JMXNKHDCF
bDdY[[[Y[[[
B'DdZ[[[
BDDZNHJE
BDDZO_QCOGQ]D
bdE[[[*[[[)[[[
@]B]De@B]D
BdE[[[C[[[@[[[.
BdE[[[D[[[
]BDEGCGC]OM
BdE[[[H[[[N[[[
BDEHP[@[Y
B@D_@E@OPJFGO@MHG]LMLYFZ@]F[MLJ[LDLG][LE@JJFDYELDLG]
BDEPLMM[
BD@ESMP]DXNKK_PBH
bdF[[[	[[[
bdF[[[#[[[
bdF[[[)[[[
Bd][[[f[[[
BdF[[[a[[[
[[BDFCAPFLAYO
BdF[[[f[[[
BdF[[["[[[ [[[J
BdF[[[m[[[
BdF[[[O[[[M[[[
bdF[[[u[[[
@]B]DfUs
BdF[[[Y[[[
BdG[[[:[[[
bdgCagfG
BDGD]MJ[
bdgfGNo3
BDG]HDQO]
B]_DG[JLDKCHAJZ[M
BD_GJYNAJDBA[KCOSFYJ
BDg#kgfGE
B)))@D@GLG]
BDGOALGY
BDG]Q_K[
BdgqkgfG
@_B_DgUs
bdG[[[z[[[h[[[H
b'dH[[[;[[[:[[[
b)))DH]A
BDHAYMQC
BDH_BJZESC]YP
B@D[HBOE
BDHCAMZA
B_DHCMMN
BdH[[[d[[[
BdH[[[E[[[|[[[
BD@[H@G]
BdH[[[H[[[N[[[
BDHKBSA_KX_
BD_[HOPGS
@@@@BD@@Hp@
@@@@BD@@Hp@I
@@@@BD@@Hp@L
@@@@B@@DHp@M
@@@@BD@@Hp@q
BDHZOLC_AQ
BdI[[[.[[[
bdI[[[8[[[
Bd[[[[i[[[h[[[
bdI[[[T[[[
BdI[[[V[[[
BdJ[[[([[[
BdJ[[[.[[[
BdJ[[[c[[[
bdJ[[[e[[[d[[[
B[DJFZS]KSH
B_D]J__GAXY
BDJGZHPQY]
BDJ]NZJJJN
_BDJQZDJX
BDJ]SZO_OCCSQ
BdJ[[[x[[[
bdJ[[[z[[[
bdK[[[	[[[
Bd_[[[K[[[
BDKAQQDZ[OADXG@D
BDKBHXAD
BdK[[[c[[[
BDKKMMqMqMMqMqqqqMKB
BdK[[[m[[[
]BDKMSHC
BdK[[[R[[[
@BDKYDBHL]
bdL[[[:[[[
BdL[[[2[[[
bdL[[[6[[[
BdL[[[a[[[
BDLA_EM]O
_BD_LGGXBZD
BDLGZOYNQ]
[BD_LHOS
BdL[[[i[[[o[[[
BDLLJ[FQH]S
BDLPL@XYJ
@B@DLYD_AN
BdL[[[Z[[[|[[[
B[[[[[[dM[[[
BdM[[[([[[
:)))BDM]
BdM[[[8[[[
B)dM9He |
b)))DMFYH]L[Z
BDMGCSPGNS[MC
B[DMHNPXL
bdM[[[J[[[O[[[
BDMJPQ_GHC[
BDMKZQ[[N
BDM]LHON[Z
_B_D_[MMBLK[
BDMM_M[X[SL
B]DMNAHQ]LH
BdM[[[o[[[
BDMPNO]G
b'dM[[[q[[[
BD]MQDO[CQ
BDM]SB[PA
bd_[[[n[[[
Bd][[[N[[[
B*dN05fw
B_DNAHAO
BDN@JSXYSK]A@N
BDNK@OMGQYDSMG
BdN[[[O[[[F[[[T
BDN[OLA_L
@@@@BD@@Np@H
BDNPHQ[J
BdN[[[P[[[W[[[
BdN[[[u[[[
BdN[[[v[[[t[[[
BDNXQOZSN
BDNY[HKXX
BdN[[[Z[[[
BDNZP[QQ
BDNZ@Q[H_KJK
BdO[[[3[[[
b_dO[[[C[[[
BDOHA_SJCG
BdO[[[H[[[O[[[
BdO[[[I[[[H[[[
BD(oRSWBD(nRSWsSSS
BDOXXXA_PAHJP
@@@@@B@@dp@@@@@@@@@@@@@@
B[[[[[[dP[[[
BdP[[[2[[[
BdP[[[4[[[
@@B@@dp@@@@@@@@@@BB@@
@@@@@B@@dp@@@@@@@@@@B@@@Hp@ss
@@@@@@B@dp@d
BDPDSMEO
BDPE[NQYB_
@B@@@dp@F
@@@@@@B@dp@G
b;dpgppepq
Bdpgppepq
@@@@@@B@dp@J
@@B@@dp@@@@@@@@@@@@@@jp@@@@@@@@@@B@@@Hp@K
@@@@@B@@dp@@@@@@@@@@@@@@JQ@M!
_@@@@@@B@dp@l
@@B@@dp@@@@@@@@@@@@@@lpIFp
@@@@@B@@dp@@@@@@@@@@@@@@Lp@S-
BDPLXL]YOD_J]
bdP[[[][[[M[[[
BDPMKQJ_K
B@@@@@@@@dp@N
@@@@B@@@dp@NN]
@@@@@@B@dp@O
BDPOBD]O
BDPOP]D@ZLQ
@@@@@@B@dp@P
@@@@B@@@dp@P
@@@@B@@@dp@P*
*@@@@@B@@dp@@@@@@@@@@@@@@[paL
@@@@B@@@dp@Pd
@@@@@B@@dp@@@@@@@@@@@@@@(p@I[
@@@@@@B@dp@Q
B@@@dp@Q"
@@@@@@B@dp@R
BdP[[[R[[[J[[[y
BD?pSSSSSSw
@B@@@dp@Tm
@@@@B@@@dp@V#
Bd_[[[P[[[V[[[s
B@@@dp@vYx
Bd[[[[P[[[W[[[
@@@@@@B@dp@X
BdP[[[y[[[
bdQ[[[*[[[
BdQ[[[1[[[*[[[
BD[Q]AM_N
BD[QDZMKZ
BdQ[[[H[[[
B@D[QHAG
BDQH]YKY
BD__QJ][Z
bd_[[[q[[[p[[[
BdQ[[[P[[[
BdQ[[[Q[[[V[[[
BdQ[[[U[[[O[[[h
BdR[[[@[[[
@BD@@R0@@F@@@@@@@@D@@A0@@@@@@A@@@BD@@a0@@D@@@@@@@B
bdR[[[l[[[c[[[
BdR[[[M[[[s[[[
b_dR[[[Q[[[H[[[
BdR[[[Q[[[U[[[
BdR[[[W[[[N[[[
b'dS[[[a[[[
BDS[BPQJYHPL_LA
BDSCJAMDE
]_B_DSCSPXO
BdS[[[d[[[
BDS]G[PC]Z
BDSHPNSM
BDSJ[__G_BY
[BDSNEGGNGF_PCQM
BDS_QHZO
Bd[[[[s[[[r[[[
BdS[[[U[[[
BdS[[[V[[[
BdS[[[W[[[
BDSYZ@FFG]_HNQ[DLGZXZOS
	b_dT[[[
bdT[[[*[[[)[[[
BdT[[[|[[[
BdT[[[0[[[
bdT[[[b[[[
bdTCKCKCK6KiT
BdT[[[d[[[
BdT[[[j[[[
BdT[[[K[[[
BdtllllllllmllllOllylm
BdT[[[p[[[
BdT[[[P[[[y[[[
BdT[[[W[[[O[[[
bdU[[[*[[[-[[[
b'dU[[[b
BDUBwAmI
bdugWkgfG
bdU[[[R[[[
BdU[[[S[[[
bdU[[[z[[["
BdU[[[Z[[[
bdV[[[7[[[
BdV[[[C[[[@[[[
Bd][[[V[[[C[[[c
BdV[[[d[[[
BdV[[[l[[[
BdV[[[P[[[
BdW[[[j[[[
BdW[[[o[[[
[BdW[[[w[[[t[[[
BdX[[[#[[[![[[
Bdx[[[4[[[
Bdx[[[b[[[
]B@_DXBQ
bdX[[[c[[[
bdX[[[C[[[
BdX[[[C[[[
BdX[[[_[[[E[[[
bdX[[[E[[[D[[[
BDXHJ[XB@HMOY_]QOYFDCND
BDXJQNH_QYL@@S
BD@XLbBYs
BDXLS[DJ_YYZLDJPXK
Bdx[[[P[[[H[[[c
bdx[[[T[[[K[[[
BdX[[[x[[[
Bdy[[[![[[
Bd#((]Y]]
BdY[[[a[[[
BD_YDZCP
BDYJQQGOS
bdY[[[l[[[
]_[B_DYL
BdY[[[l[[[b[[[
BDYL_YA@A
BD]YMS_D
BDYNQCECSE
BD[YPMKSZH_
BD@YZDYZEYYJZA
BD@YZD@YZLE
bdz[[[.[[[![[[
.)BdZ[[[
BdZ[[["[[[
BdZ[[[*[[[
BdZ[[[0[[[*[[[
Bdz[[[2[[[
BDZ]AYNQS
[B@DZCNP
b"dZ[[[E[[[
Bdz[[[g[[[e[[[
Bdz[[[G[[[s[[[
B_DZHXJLJ
Bdz[[[L[[[
bdzlG]L[jFMLhJ]@_@]P
bdZ[[[N[[[
BD_ZNBE_A
BD_Z]NDC
Bdz[[[P[[[
Bdz[[[q[[[
BdZ[[[V[[[
Bdz[[[W[[[
Bdz[[[y[[[
BDZYBCMYFXYY@QKNGL[
BDZYGKZYHQQ
][BDZYKZ
be@[[[	[[[
"||b"||E"||("||
B-e[[[[[[
Be[[[[[[
be@[[[1[[[0[[[
beA[[[B[[[A[[[
BEAD[ZKBP
BE[A]MBYQAQ
B[EAOFMBAJ
beA[[[W[[[K[[[V
B'[EbgfG
beB[[[m[[[
BEBNALYXHQ]KMCFE
BEBZHGGMC
BECA[JHA
be);cdFd
BE_C[KDBNZ_NBHLCHQDEFG
BECNFQ@GA
BeC[[[O[[[B[[[B
BeD[[[?[[[6[[[@
b)))EDHF
BEDNSS_LZXA
BEDOAP[LNXPLH
BE[DPPMCAJH
BeDRDCD0D|FuFjFcFXFQFVFOF9F3F
bEdR[[[U[[[C[[[
BEDSK[JLK
b@E@Dvb@EEjA[FDL))
b@E@DveFJHEz]F[HNL))
b@E@Dv|[EjALJB))
b@E@DvJFGO@N)(
b@E@DvJFGO@Nv
b@E@DvKEHJBE@Z])())))Q)))rR
B_EDXQO[
BEDZAL][
b(e_[[[e[[[
beE[[[:[[[
.)))B@EE
BeE[[[9[[[2[[[
B@EE]AL[DHE
beE[[[E[[[h[[[6
B@EEFEMO@ELZYB@EE
b@EEgF[]FG))
B@EE@GNAHSH[M
 )))B@EEHEE
)))B@EEHEE
;)))B@EEHEE
BeEHE;E6E
B@EEHEED@GL[NH]L
B@EEHEE]L[D@GHE
B@EEHEE]L[D@GHELQ@]YB
B@EEHEE]L[D@GHEYB
B@EEHEEQD[@N
B@EEHEEY[FJ
b@EEjAH@G|]@EZ
b@EEknvyL[D))
b@EEL[hG]@kF]
B@EEMLJ[PY]))
BEEN[MZAQ[
b@EEo@EL
BeETE)ElDFD
:)))B@EEvD@GL[vY[FJ
[[[BE*eV[[[f[[[
B@EEY[FJLZZY@M
B@EEZHYHJAL
BEEZXSNZP
BE@FBF@VBF
B]EFHJHL
beF[[[K[[[B[[[
BeforeNavigateWW
BeforeWWl 
BEFPXAAP[
@@B@EfQEyB@sSQSSdQEyB[
?)))BEFZ
be_[[[G[[[
beG[[[3[[[2[[[k
B]eg5kgfG
BEGDH@EKFQ
begfG37w
begfG[]F
B'!egfGu
.?begfws
BEggagfG
BEGHNLG]
BEGHNLG]))
	beGijggfw
BeginBufferedPaint
BeginDeferWindowPos
BeginGdiRendering
BEGIN IMMEDIATE;
BeginInit
BeginInvoke
BeginPaint
_beginthreadex
BeginTransaction methodWWW
B_EG[OA[
Begqggd?
Behavior
behaviordetails
behaviorname
behaviorprocessinfo
BehaviorReport
behaviortime
behaviorvalue
behaviorvalue_scrubbed
BEHDKiDHGAH]]HGE@OL
B|EhE[ETE8E(E
:)))BEHFFF
]BEHGCXD[P[JOB
BEHLKLG@_SY[[
beH[[[M[[[C[[[I
be@[[[H[[[N[[[
BEHPDF[L
_BE]HSKEYB]CPM
BEHXHBBB
B)))EHZ]vHJ]@_L
beI[[[S[[[P[[[
@B"eJ[[[
BEJA_M]YLB
(B(!#E(J.G(H(I(
BEJhggfw
B_EJSXXJDYMBYH
beK[[[|[[[
@B"eK[[[
[[[.B"eK[[[
b"eK[[[5[[[4[[[
bEKdN[[[D[[[
B!EKF)Fyyy
beK[[[K[[[@[[[
BEKK]_Y[
]]BEKSPB
)))@B@ELDB@]HY
@B@ELDB@]HY
beL[[[F[[[
bElgfGZi
B_ELHS_Z_ZACZS
|bellllllllmllllOllylm
bellllllllmllllOllylm
BellllllllmllllOllylm
BE]LLP[CCJ
_@B]_E]LQ
beM[[[7[[[
beM[[[:[[[9[[[
@[B[@EMB[
B_EMHKZB
be@[[[M[[[L[[[K
__BE_MPA
BE[MPDENG
B[]]_[EMQ
BEMYGQPMZ
)))BEMZOB
beN[[[b[[[
BEN]DZ]]Y
B_ENE1E"E
_BENG__AXN
BENGCCAEKQ_YP
BENLG_OK
B"eN[[[q[[[p[[[q
BE_NXHCNDONACLAAM
[]]BENY]X
[[[||beO[[[
[B"eO[[[
beO[[[B[[[F[[[
beoecgfGD
[B_EOHZJK
BEOJDYLNM[KGH
beO[[[L[[[B[[[
BEOMXYSC
be@[[[P[[[
@@@@@@B@Ep@|
@B@@Ep@@@@@@@@@@B@@@Hp@
@@@@@B@@Ep@@@@@@@@@@B@@@Hp@U
@@@@B@@@Ep@ct
bePg]bgfGzR
@bepgppepq
@@@@B@@@Ep@Gu
BEPHPSNOYL
@@@@B@@@Ep@k)
BEPKDNGS
B"eP[[[L[[[
.@@@@B@@@Ep@m
beP[[[N[[[C[[[
BEPNQYCZ
beP[[[S[[[
@@@@B@@@Ep@tB
@@@@@@B@Ep@w
@@@@B@@@Ep@x
B]E]P[ZH
BEQCEJN_AMMFNKD
@[B[E|QEyBYM9
BEQM[EKDEYMDZ
beQ[[[Q[[[P[[[p
BEQXQ_[NDYZS
beQ[[[x[[[v[[[
be][[[r[[[
b[[[@	#eR[[[
beR[[[f[[[
beR[[[G[[[x[[[#
beR[[[S[[[
beR[[[u[[[
be run i
B|EsEoEdE]EREBE0E.E
B@ESJ_YHJZPZ
BESOAJDLAOEMYQYNJ
beS[[[p[[[:[[[Qk
BEsS3SSd
BESSN[GQ
beSSSSS!#5
BEsSSWSeZBEsSS_Sd
BESXSLKO
BESYQKLYHEXDXG
B|EtEAE:EnD[D
beT[[[v[[[
be][[[U[[[
@BE@UEBBg'BK@VBV
BEuJCUFNTYY
BeU[[[M[[[
beU[[[Z[[[
beV[[[g[[[
B"eV[[[([[[-[[[h
beV[[[u[[[j[[[
beW[[[j[[[i[[[lK
;B"eX[[[
B[eXB[sJ
beX[[[d[[[
BEXDB]ZS
bEXEQL_9
BEXJYAQMZ
bex[[[O[[[B[[[
BE[XO_GKCJ_N
b(eX[[[P[[[W[[[
BEXQPCEBXSMC
BEXZAKG_L
beY[[[b[[[
b(eY[[[C[[[
BEYCQOCANA
B.EyD?D	D
bey[[[f[[[e[[[
[B]EYKFA
bey[[[q[[[
BEYS@AZB
[BE_[YXM
BE@YY@]HYY
be@[[[z[[[
(B"eZ[[[
[[[[B"eZ[[[
BeZ[[[([[[
beZ[[[3[[[
[[[@B"eZ[[[6
BEZANBXXA
B"eZ[[[i[[[
B@EZK@DJ
)))BEZMO
bez[[[v[[[
Bf[[[[[[
BF"8llllllllmllllOllylm
_BF_ASFGBHZDCGSGZPBKJDX
)))BFBBLEL[@GN
BFBFEFBF
BFBFEHDLQ@JF
B[FBFMPE
BFBPM_]@SSNS
BFBSO]ZYNX
 )))BFB@ZL[
BfC?-d[[
bfcertallowversion
bfcertblockversion
.BFcgggw
BFC[JJEXY
BFCNSDH[K
BFCOZD_M
bfC[[[S[[[I[[[
Bf][[[d[[[
B fD9A r
BFDAHXJH_CY
]BFD@CZJHYCG
BFDF[G@B
bFDFM@Hh
	)))BFDL
BFDYBML_
BFDYELBZ
@_B_@FEBFge
BFEeMBTD9
BFEFEOB_HN@GH
BFEFZFZ_HN@GH
BFEHYMENG[F@MLBCZOCAF[NMON
bfF[[[A[[[s[[[
)))BFFEOLLMKHJB
BFFFB@GN
bF_FG@FGS
bffileallowversion
bffileblockversion
BFGAF_[KCJLX
BFGFD@ZBL
bF*ggfG'
_BFG]HB]L
b[FGHEMHEL[
BFgqgg9|e_
"bfgqggf
BF[H_]B[
]BFHDEFJY
BF_HEZB@P
BF@_HKBSB
BF[HMALG_EGDGL
B[Fh*SSSB]K9
bfI[[[t[[[
bfJ[[[a[[[
@BFJC[[GJ_K
B__FJCK[[D_YZ
BfJ[[[D[[[
BFJD__PZJ_QMQ
bf@[[[j[[[i[[[
BFJPLO]Z]A
BFKALOXL
b)))FKCE@GB
BF]KG[DBPBCYA
BFkgqggQ
BFKHEMAXLK
BFKSJQD]OJ
BF_]L[))
BF[LCLKLA@A_QZ
)))BFLEG
bF_]L[eGB
|@BFLGN@GLMEE))
B)))F[LN
BFLX[OXX
BFMdU[[[
bfM[[[L[[[
BFMNQNY[
bfM[[[t[[[m[[[
BFMYQS[[HSCHDZOZ
BFNCYPPO]
BFN[]KAB]HEAN
BFNS@ZGYCHZGNMC]J_NNGH
bf[[[[O[[[@[[[
bfO[[[s[[[w[[[
B_FPAPHHNMHSYHOZ
@@@@@B@@fpD@@@@@
Bfpgppepq
BFPL_Y_PCGA
B[FPP[GK]_KYMY
BFPY[CYZJXBXDOBYC
BFPYNZAKSE
@[[B[fQEy[B[
BFQGBML[BZC
BFQGMBYJPG]MNCS[]K
B[FQJYJ_LYP@
B]_FQY_QYK
BFSFFD]LZ]ZLGM
bfsigversion
bfsigversionnew
BFS@NNQ_Q
bfSSSSS!#5
BFUh[RSSk
bfV[[[l[[[c[[[o
BfW[[[A[[[G[[[
B!fwggfG
bfx[[[B[[[
BF]]_XG]ZHP
BFXH[MY@YQ@
@]B][fXs
:)))B]FY
BFY]BMLJBM_
[[BFYBNM
BF[YF[H]LEEJ
BFYF[]HZ
BFYKOONB
BFYL[G@B
bf@[[[@[[[z[[[
BFZDFM[F
bfz[[[k[[[
BFZ]OF[YELCG@GNL[GLZ
BFZS]NBHBO_BZHQGLO
bFZTb"egfw@
[[[B[[[G[[[
Bg1dgfG!
B-g_2gfGc
B?g3ggfG
Bg3ggfG8t
b'g3jgfG
.B?g59ggG
@bg5egfGc
B|g7fgfG'
bg7fgfGx
@bg7uK@@@@B@A@@
@bg7uK@@@@B@AE@
bg 8  nE
 bg9kgfG
bg9ngfGw0b
BGACLJGGL_
BGADAB]DNH
|BGA_Generated
bg'agfG[
	Bg[agfG
bg[AgfGxvS;gqgg
BgAggC35
BgAggfue
BG@A]HEE[X
BGAJH[DJZOBJ_YJKA
@BgAkgfG
BGA]LGFE
B@GAMFAF]LE
[BgAmgfG
@BGA_MPOKLPNYYPM
BgAqgfGc
BGASCHBLHC
B[[G]ASYN
_BGA]ZLDZLJP[
B][g[BBBAgOx
@@B@@GBG@Ax
BGB[GQOY
BGBJJ[EMN
_B[GBK]J
]B[GBXQPJHOZ_LD[SNH
BGBYJJAQJE
B[GBYPFCBNJGE[QNHY
bgcbgfG-
b||gc||*c||
bgcdgfG]
BgcdgfG@
B';GCegfGm
B@G[CGKA
bgchgfGi
BGCJD]OBJKPZSJ
B[GCKZOGL
BGCOA_OZHA
BGCPAGKXNH
BG[CY]ZHG
B[G]]DA[
BGD_AS_[XN
BgDdK[[[
BGDDXPX]YH[MNA
BGDJLXJ]_XODSLNG_OS_PY[EYJ
BGDNPZBZ
BGDOKLAG
BGDXOPHH
fragmentDensityMapDeferred
fragmentDensityMapDynamic
fragmentDensityMapNonSubsampledImages
FragmentDialectNotSupported
FragmentLevelAccess
Fragment not allowed
fragmentShaderPixelInterlock
fragmentShaderSampleInterlock
fragmentShaderShadingRateInterlock
fragmentShadingRateNonTrivialCombinerOps
fragmentShadingRateStrictMultiplyCombiner
fragmentShadingRateWithConservativeRasterization
fragmentShadingRateWithCustomSampleLocations
fragmentShadingRateWithFragmentShaderInterlock
fragmentShadingRateWithSampleMask
fragmentShadingRateWithShaderDepthStencilWrites
fragmentShadingRateWithShaderSampleMask
fragmentStoresAndAtomics
FragmentTransfer
frameborder
framebufferColorSampleCounts
framebufferDepthSampleCounts
framebufferIntegerColorSampleCounts
framebufferNoAttachmentsSampleCounts
Frame buffer slice name cannot be an empty string.
framebufferStencilSampleCounts
framecouL9	u
framecount
framedynos.dll
Frame Rate Limit
FrameRect
FrameRgn
frameset
frametime
frametimL9	u
__FrameUnwindFilter
FrameworkDisplayName
FrameworkElement
Frederiksberg1
freeaddrinfo
FreeAddrInfoW
Free catalog entry
FreeConsole
FreeCoTaskMem
	free         display memory usage
FreeEnvironmentStringsA
FreeEnvironmentStringsW
FreeGameConfigStoreClient
FreeHGlobal
FreeIdentityProtectorList
FreeLibrary
FreeLibraryAndExitThread
FreeLibraryWhenCallbackReturns
FreePasswordSiloInformation
FreePropVariantArray
FreeResource
FREERUN_NO_CHECK
FreezeLog
freleas3
freleasf
freleasj
freleasP
freleasZ
freq-transfer-alpha
freq-transfer-input
frequency in Hz
Frequency is too high.
Frequency is too low.
Frequency transfer interpolation coefficient
	.FR*gu*
FrN2OUhH
FromArgb
FromBuffer
fromDate
FromDays
FromEmptyOptions
FromHours
FromIdAsync
FromImage
FromIntPtr
FromMilliseconds
FromMinutes
FromSeconds
FromVisual
FrontEndX
FrontEndY
	*frT2	k
fRUbnrxs
f;S8tDH;C
f[S9'lc7W
fsavailux.pdb
FSecur32.dll
_fseeki64
?"?F?S?h?u?
FSidqx.w
FsIso.exe
FsIso.pdb
FsIsoTracelogProvider
fsquirt.pdb
Fs)r)-8-8
FSRRRRRRRRRRRRRRRRRRSF
fsutil.pdb
@(;F(t;B
F-tDWjoP
:":F:T:f:v:
f[thb;qk[
FTj9D"nX
:":F:T:m:v:
;";F;T;m;v;
?"?F?T?m?v?
FTP: Accepting server connect has timed out
FTP: can't figure out the host in the PASV response
FTP: command PORT failed
FTP: command REST failed
FTP: couldn't retrieve (RETR failed) the specified file
FTP: couldn't set file type
ftp@example.com
ftp_proxy
FTP_PROXY
ftp_proxy_password
ftp_proxy_user
FTP response timeout
FTPR invalid.
FTPR partition hash and calculated hash are not the same.
FTP server asking for ACCNT on anonymous
ftp server doesn't support SIZE
FTP: The server did not accept the PRET command.
FTP: The server failed to connect to data port
FTP: unknown 227 response format
FTP: unknown PASS reply
FTP: unknown PASV reply
ftXM_ure
FU2W2W:W:
FullChargeCapacity
fullColorKingAppName
fullDrawIndexUint32
FullDuplex
-full                      - full-picture processing (requires more memory)
Full FW Update using same version is not allowed. Include -allowsv in command line to allow it.
FullInfPath
FullName
fullScreenExclusiveSupported
- Full Support
FullUpdate
fullyCoveredFragmentShaderInputVariable
fULp'[h.DnLp
function
Function: 
Functional Tree failure
Functional Tree search unsupported
': function is missing an implementation
function must return a value
Function Not Found
Function not implemented
function not supported
': function parameters cannot be declared 'extern'
': function parameters cannot be declared 'groupshared'
': function parameters cannot be declared 'static'
': function parameters cannot be void
': function return type cannot have any qualifiers
': function return value is missing semantics
fUnregister
future already retrieved
FUz5@9a!
f)VCf238
FveGetStatusW
FVE_LaunchConsentPromptUI
fvenotify.exe
fvenotify.pdb
fveprompt.exe
fveprompt.pdb
F)VOlRTo
FwdParams(
FW failed to read FWSTS register.
FW failed to set ISH configuration file.
fwh82bDXd0
fwprintf
FW returned status: Erase token failure.
fwrite()
FW status test failed.
;F;W;u;|;
FwuCheckUpdateProgress
FWU_DATA Heci command has invalid data length (too big).
FwuPartialUpdateFromFile
FwuPartitionInstances
FwUpdateEventInfoToInfo
FW Update is not possible on UFS Flash after End Of Post (after the OS is running).
FW Update OEM ID incorrectly set to 00 or FF.
FwUpdatePartial
FW Update process received Heci command message with unknown command type.
FWUpdate_QueryStatus_Get_Response
FWU_START_MSG Heci message contains invalid value in UpdateEnvironment.
FW|yOcYL
Fx1wp0[F
FX@KB.cN
FXSAPI.dll
FXSCOVER.pdb
FXSSVC.pdb
FXSTIFF.dll
FXSTIFFInitialize
FXSUNATD.pdb
fz@1f15@#
]fz8N#dxD:
FzAyAW(W(a4c4 - -
[[[FZZZeggg
G;;;;;;;;;
*!" "g0i0
G	1126;9
G#1#1@9@9
g!26Kh)26
G	!29B#	
G2C1Cx@x@iDiD
g2MzfSc#
G3*3*)5*5
G3E3E3M4M
)"G*4KnyD
*G5F5n8m8
G6!29U65294N
G?*@*6565
G67GVsavv
G6F6[M[M
g6GdC!v?I
G6H697:7
G6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE_t
G6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE_t
G7151v8v8
G 7 7H)I)
-G7F7TATA3434
'G7F7U1U1c"c"s-s-
g8Cf32	?
G8D9g(rWA
|g9E |bj
g9zWtVqI
"Ga0itkW
G_AaAO)N)
GameBarPresenceWriter.pdb
GAME_PANEL
GamePanelExternalHook.dll
GamePanel.pdb
GamesGuide::BeamChat::BeamImageProvider::BitmapInfo::GetD2DBitmap
GamesGuide::BeamChat::BeamImageProvider::BitmapInfo::PrepareForUse
GamesGuide::BeamChat::BeamImageProvider::GetImage
GamesGuide::BeamChat::BeamImageProvider::TryReadyImage
GamesGuide::BeamChat::WebSocketReader::WaitForNextMessage
GamesGuide::BeamChat::Worker::Connect
GamesGuide::BeamChat::Worker::Disconnect
GamesGuide::BeamChat::Worker::DoWorkBlocking
GamesGuide::BeamChat::Worker::DoWorkChatLoopBlocking
GamesGuide::BeamChat::Worker::ParseEvent
GamesGuide::CChatView::HandleEvents
GamesGuide::CChatView::LayoutSubviews
GamesGuide::CChatView::OnDeviceResourcesLost
GamesGuide::ChatDetails::ChatChildView::Render
GamesGuide::CSceneManager::StartBroadcasting
GamesGuide::CScreenshot::SnapshotInBackgroundThread
GamesGuide::CStreamPreview::OnDeviceResourcesLost
GamesGuide::CStreamPreview::OnStreamChangedCallback
GamesGuide::CStreamPreview::Start
GamesGuide::CStreamPreview::Stop
GamesGuide::XboxLiveGamer::GetGamerProfileComplete
GamesGuide::XboxLiveGamer::PopulateGamerInformation
gamma productions
gamma ramp: 
Gamma Ramp: 
gateway_mac_addressW
gattBatteryService
GattCharacteristic
GattCharacteristicUuids
GattClientCharacteristicConfigurationDescriptorValue
GattCommunicationStatus
GattDeviceService
GATTMessage
GattProtectionLevel
GattReadResult
GattServiceUuids
GattValueChangedEventArgs
:gaV*tmh?
GB*A*s5s5
GB*B*c5e5
GBE Region read access permissions don't match Intel recommended values.
GBE Region write access permissions don't match Intel recommended values.
GBST partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
GbstrMacAddressWW
g;;;;;;;;C
Gc#a#);(;
GCDoLock failed in DoTriXLock
GCDoLock failed in DoTriYLock
GCDoLock failed in Postpass of RXLock
gCeCgRhR
GCHandle
gcircumflex
Gcircumflex
gcommaaccent
Gcommaaccent
g_d[5lc@
Gd9Fdt#H
gDDMMMMMMMDDDD
GDDR3_BGA136
GDDR3_BGA144
gdi32.dll
GDI32.dll
gDiDdDdD
GdipAddPathEllipse
GdipAddPathPieI
GdipAddPathString
GdipAlloc
GdipBitmapLockBits
GdipBitmapSetResolution
GdipBitmapUnlockBits
GdipCloneBrush
GdipCloneFontFamily
GdipCloneImage
GdipCombineRegionPath
GdipCreateBitmapFromFile
GdipCreateBitmapFromHBITMAP
GdipCreateBitmapFromHICON
GdipCreateBitmapFromScan0
GdipCreateBitmapFromStream
GdipCreateBitmapFromStreamICM
GdipCreateFont
GdipCreateFontFamilyFromName
GdipCreateFontFromDC
GdipCreateFontFromLogfontW
GdipCreateFromHDC
GdipCreateHBITMAPFromBitmap
GdipCreateMatrix
GdipCreatePath
GdipCreatePen1
GdipCreateRegionPath
GdipCreateSolidFill
GdipCreateStringFormat
GdipDeleteBrush
GdipDeleteFont
GdipDeleteFontFamily
GdipDeleteGraphics
GdipDeleteMatrix
GdipDeletePath
GdipDeletePen
GdipDeleteRegion
GdipDeleteStringFormat
GdipDisposeImage
GdipDrawImage
GdipDrawImageI
GdipDrawImageRect
GdipDrawImageRectI
GdipDrawPath
GdipFillPath
GdipFillRectangle
GdipFree
GdipGetFamily
GdipGetFamilyName
GdipGetGenericFontFamilySansSerif
GdipGetImageBounds
GdipGetImageFlags
GdipGetImageGraphicsContext
GdipGetImageHeight
GdipGetImagePalette
GdipGetImagePaletteSize
GdipGetImagePixelFormat
GdipGetImageRawFormat
GdipGetImageWidth
GdipGetWorldTransform
GdipGraphicsClear
GdipIsStyleAvailable
Gdiplus.Brush.Clone
Gdiplus.Brush.__vecDelDtor
gdiplus.dll
Gdiplus.GdiplusBase.delete
Gdiplus.Graphics.FillRectangle
GdiplusShutdown
Gdiplus.SolidBrush.__vecDelDtor
GdiplusStartup
GdipResetClip
GdipResetWorldTransform
GdipRestoreGraphics
GdipRotateMatrix
GdipRotateWorldTransform
GdipSaveGraphics
GdipSetClipGraphics
GdipSetClipRegion
GdipSetInterpolationMode
GdipSetSmoothingMode
GdipSetStringFormatAlign
GdipSetStringFormatLineAlign
GdipSetWorldTransform
GdipTransformRegion
GdipTranslateWorldTransform
gDMMMMMQQMQMMWMOMWMWMWMMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMOMQMWMQMWMMWMMWMWMMMMm
gDMQMOMWMOMMWMMQQQQQDDD
gDMQMQMMQMMQMMQMQDDD
gDMQMQMQMMQMMQMDDDD
gDMQMQQMQQMWMQMQMQDDD 
gDMQWM_MOQWQM_M_MMQQQQMDD
gdotaccent
Gdotaccent
gDQ_M_MWQWM_M_WM_Q_MWWQMMMD
gDW_WWQ__Q_Q__WWWW__WWWWWWWWMMD
gD_WW_______WWWWWWWWWWWWWWWWWQQQD
gD_WWW_WWWWWWWWWWWWWWWWWWW_WWWWWQQQD
G	E	|	|	
G(E10777
?GEFE8D9Dv@v@
GeForce RTX
.gehcont
@.gehcont 
GemmImpl
GENERAL_ERROR
GeneralInfoRealm
GeneralPropertyValueConverter
GeneralPunctuation
Generate
GeneratedCodeAttribute
GenerateKeyPair
--generate-line-info 
GenerateLogFilepath
GenerateMessage
GeneratePKCS10RequestEx
GenerateXml
Generating file in System Folder is not allowed
generationQualifier
GENERIC_ALL
GenericCoInstUtils.cpp
GenericDriver
generic embedded object 
GENERIC_EXECUTE
GENERIC_FAILURE
generic metainformation 
GENERIC_READ
generic-type-
GENERIC_WRITE
GenValObj 1.0 Type Library
GenValObject Class
GenValObjLib
GenValObj.pdb
GeometricShapes
geometryShader
geometryStreams
Georgian
germandbls
get_AboutMenuItem
GetAbsEnd
get_AbsoluteUri
GetAbsStart
?GetAccessibleImpl@Element@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDElement@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
GetAccumulateScrollData
GetAccumulateScrollData_PST
GetAclEnabledState
GetAclInformation
GetActionEac
get_Actions
GetActiveFileNameTitle
GetActiveWindow
GetAdapter
GetAdaptersAddresses
GetAdaptersInfo
get_Address
getaddrinfo
getaddrinfo failed
getaddrinfo() thread failed to start
GetAddrInfoW
?GetAdjacent@Element@DirectUI@@UEAAPEAV12@PEAV12@HPEBUNavReference@2@K@Z
GetAdminAclEntry
GetAdminAclEntryStatus
GetAdminNetAclEntryStatus
get_AffectsPresence
GetAllCharacteristics
GetAllocatedBlocks
?GetAllVolumes@BuiVolume@@SAJPEAPEAU_BuiVolumeNode@@@Z
GetAMTVersionWWW
GetAnalyzers
GetAncestor
GetAPGestureList
GetApiVersion
GetAPOptimize
get_application
GetApplicationAttributes
get_ApplicationName
GetApplicationUserModelId
GetApprovedConnections
get-appxpackage 
get-appxpackage -allusers 
(Get-AppxPackage -name 
GetArgsDictionary
get_Arguments
get_Arrow
get_Assembly
get_ASunday
GetAsyncKeyState
GetATDeviceInfoW
GetAutoWakeEventTimes
GetAwaiter
get_AxisX
get_AxisY
get_BackgroundDeviceWatcherSelectors
get_BaseDirectory
?getBaseInfo@Shader@cask@@QEBAPEBVBaseKernelInfo@2@XZ
get_Battery
get_BatteryLevel
GetBiosBuildID
GetBiosID
GetBitmapBits
GetBkColor
get_Black
GetBlockAttributes
get_Bluetooth
get_BluetoothLE
get_BluetoothLEPairedOnly
get_BluetoothLEUnpairedOnly
get_BluetoothPairedOnly
get_BluetoothUnpairedOnly
GetBoundsRect
?GetBuffer@CHString@@QEAAPEAGH@Z
?GetBufferSetLength@CHString@@QEAAPEAGH@Z
get_Build
?GetByClassIndex@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
GetBytes
GetBytesAvailable
get_CanPair
get_Capacity
GetCapture
GetCertificateInfo
GetCharacteristics
get_CharacteristicValue
get_Chars
get_ChartAreas
get_ChartLegendGPU
get_ChartLegendMemory
get_checksum
?GetChildren@ClassInfoBase@DirectUI@@UEBAHXZ
get_Choices
GetClassInfoA
GetClassInfoExW
?GetClassInfoPtr@CCPushButton@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Element@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDElement@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchSwitch@DirectUI@@SAPEAUIClassInfo@2@XZ
GetClassInfoW
?GetClassInfoW@HWNDElement@DirectUI@@UEAAPEAUIClassInfo@2@XZ
GetClassLongPtrW
GetClassLongW
GetClassNameA
GetClassNameW
GetClientRect
GetClipboardData
GetClipBox
get_Code
get_Color
GetColorAt
GetComboBoxInfo
GetCommandLineA
GetCommandLineW
get_CommandName
get_CommandNameQueueMessageAction
get_CommonDeviceSelectors
GetCommTimeouts
get_CompareInfo
get_CompositionTarget
GetCompressedFileSizeW
get_ComputeEnabled
GetComputerNameA
GetComputerNameExA
GetComputerNameExW
GetComputerNameW
GetComputerObjectNameW
get_Confidence
GetConfidence
GetConfigurationInfo
get_ConnectionStatus
GetConnectorCount failed! Result: 0x
GetConnector failed! Result: 0x
GetConsoleCP
GetConsoleMode
GetConsoleOutputCP
GetConsoleProcessList
GetConsoleScreenBufferInfo
GetConsoleWindow
?getConstantMemParamOffset@ConvDgradShader@cask@@QEBA_KXZ
?getConstantMemParamOffset@ConvShader@cask@@QEBA_KXZ
get_Content
?GetContentSize@Element@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentStringAsDisplayed@Element@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentString@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
get_ContractName
get_ContractResponse
GetControDevicelSymbolicLinkOutput
--getcontrol
get_Control
get_ControlCenterEvent
GetControlDeviceSymbolicLink
get_ControlLightLight
get_Controls
?GetConvertedPercent@BuiVolume@@QEBANXZ
get_Count
--getcounters
GetCount for devices list failed! Result: 0x
GetCPInfo
GetCredentialCacheState
GetCudaVisibleDevices
get_Culture
get_Current
GetCurrent
GetCurrentApplicationHandle
get_CurrentCulture
get_CurrentDirectory
GetCurrentDirectoryA
GetCurrentDirectoryW
get_CurrentDomain
get_CurrentIndex
get_CurrentManagedThreadId
GetCurrentObject
GetCurrentPackageFamilyName
GetCurrentPackageFullName
GetCurrentPackageId
GetCurrentProcess
GetCurrentProcessId
GetCurrentProcessorNumber
GetCurrentProcessorNumberEx
GetCurrentThemeName
get_CurrentThread
GetCurrentThread
GetCurrentThreadId
get_CurrentUICulture
GetCurrentUmsThread
GetCursorInfo
GetCursorPos
GetCustomerTypeW
?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
get_Data
get_DataBindings
?GetData@CHString@@IEBAPEAUCHStringData@@XZ
get_DataContext
GetDataFlow failed! Result: 0x
get_Date
GetDateFormatEx
GetDateFormatW
get_DateTime
get_DaylightName
get_DayOfWeek
get_Days
?_Getdays@_Locinfo@std@@QEBAPEBDXZ
GetDebugData
get_Default
__get_default_appdomain
GetDefaultFileSystem
?getDescription@Convolution@cask@@QEBAAEBUDescription@Operation@2@XZ
?getDescription@ConvolutionDgrad@cask@@QEBAAEBUDescription@Operation@2@XZ
?getDescription@ConvolutionWgrad@cask@@QEBAAEBUDescription@Operation@2@XZ
?getDescription@Gemm@cask@@QEBAAEBUDescription@Operation@2@XZ
?getDescription@PoolingOperation@cask@@QEBAAEBUpoolingDescription@12@XZ
?getDescription@SoftmaxOperation@cask@@QEBA?BUsoftmaxDescription@12@XZ
GetDesktopWindow
get_Device
GetDeviceAdapters
GetDeviceCaps
get_DeviceClassSelector
GetDeviceComputeMode
GetDeviceCount
GetDeviceDriverModel
GetDeviceEccMode
GetDevice failed! Result: 0x
GetDeviceGammaRamp
get_DeviceHandle
GetDeviceHandleByIndex
GetDeviceId failed! Result: 0x
get_DeviceIndex
get_DeviceInformation
GetDeviceInformation
get_DeviceInformationKinds
GetDeviceLocation
GetDeviceMemoryInfo
GetDeviceName
GetDevicePath
GetDevicePciInfo
get_DevicePickerSelectors
GetDeviceProperty
getDeviceReservedSize fail
GetDeviceSelector
GetDeviceSelectorFromPairingState
GetDeviceSelectorFromUuid
GetDeviceUtilizationRates
GetDeviceUUID
get_DeviceWatcherSelectors
get_DialAllApps
GetDialogBaseUnits
GetDIBits
.GetDimensions(
?getDim@TensorDesc@cask@@QEBA_JH@Z
GetDirectoryName
GetDiskFreeSpaceA
GetDiskFreeSpaceExA
GetDiskFreeSpaceExW
GetDiskFreeSpaceW
get_Dispatcher
GetDispIDWWW
GetDisplayConfigBufferSizes
get_DisplayName
GetDlgCtrlID
GetDlgItem
GetDlgItemTextA
GetDlgItemTextW
get_DOCK_BUTTON
get_DOCK_MSG
get_DOCK_TBT_SLOW_CHARGE_MSG
get_DOCK_TBT_SLOW_CHARGE_TITLE
get_DOCK_TITLE_TBT
get_DOCK_TITLE_TBT4
get_DOCK_TITLE_USBC
GetDoubleClickTime
getDownloadDestinationPath
GetDpiForMonitor
GetDpiForWindow
_getdrive
get_DriverModel
get_DriverModelChangePending
GetDriverOption
_GetDriverVersion@8
GetDriverVersion failed
GetDriveTypeA
GetDriveTypeW
GetDWordValue
GetDynamicTimeZoneInformation
GetEacOptions
get_EccDisabled
get_EccEnabled
get_EccModeChangePending
get_EccSupported
get_EccTooltip
?GetElementProviderImpl@Element@DirectUI@@UEAAJPEAVInvokeHelper@2@PEAPEAVElementProvider@2@@Z
GetElementsByTagName
get_Empty
get_Enabled
GetEnabledXStateFeatures
GetEnhMetaFileBits
GetEnhMetaFileHeader
GetEntryAssembly
GetEnumerator
GetEnvironmentStrings
GetEnvironmentStringsW
GetEnvironmentVariable
GetEnvironmentVariableA
GetEnvironmentVariableW
_get_errno
GetErrorMode
GetETDGestureEventData
GetETDMultiGestureEventData
GetETDPSTGestureEventData
GetEventParameters
GetEventsTime
get_EventTime
GetEventVariableLengthData
_get_exception_handling_state
_get_exception_handling_state_uplevel
GetExceptionPointers
GetExecutingAssembly
get_Exists
get_ExitCode
GetExitCodeProcess
GetExitCodeThread
get_ExitMenuItem
?GetExtendedFlags@VolumeFveStatus@@QEBA_KXZ
GetExtendedTcpTable
?GetFactoryLock@Element@DirectUI@@SAPEAU_RTL_CRITICAL_SECTION@@XZ
get_FamilyName
GetFeaturesState
_getFiberPtrId
GetField: no such field named "
GetFileAttributesA
GetFileAttributesExA
GetFileAttributesExW
GetFileAttributes() failed: 
GetFileAttributesTransactedW
GetFileAttributesW
GetFileInformationByHandle
GetFileInformationByHandleEx
GetFileInformationByHandleExW
GetFileMUIPath
get_FileName
GetFileName
get_FileNameEnding
getFilenameFromUrl
GetFileNameWithoutExtension
get_FilePath
GetFileSecurityW
GetFileSize
GetFileSizeEx
get_FileSizeRollOverKb
GetFileTime
GetFileTitleW
GetFileType
get_FileVersion
GetFileVersion
GetFileVersionInfoA
GetFileVersionInfoExW
GetFileVersionInfoSizeA
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
get_Fill
GetFinalPathNameByHandleW
get_FindAllAsyncSelectors
GetFingerDeltaAndCount
GetFirmwareUpdateStatus
GetFocus
GetFolderPath
get_FolderViewType
get_FolderViewTypeContent
get_FolderViewTypeDetails
get_FolderViewTypeExtraLargeIcons
get_FolderViewTypeLargeIcons
get_FolderViewTypeList
get_FolderViewTypeMediumIcons
get_FolderViewTypeSmallIcons
get_FolderViewTypeTiles
GetFontData
get_FontFamily
GetFontRealizationInfo
GetFontResourceInfoW
GetForegroundWindow
get_Frames
get_FrequentDayOfWeekNum
GetFrequents
get_FriendlyName
get_FullName
GetFullName
GetFullPath
GetFullPathNameA
GetFullPathNameW
GetFunctionPointer
GetFWInfoWWW
GetFwUpdateInfoStatus
GetGestureInfo
?GetGlobalIndex@ClassInfoBase@DirectUI@@UEBAIXZ
?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ
GetGlobalStorageAttributes
get_GlyphBitmapImage
get_Gold
get_GpuUtilization
GetGrabData
get_GraphicsAndCompute
get_GraphicsOnly
get_Green
get_Hand
get_Handle
get_HasConfirmed
GetHashCode
get_HasNon100Interval
get_HasValue
GetHbitmap
get_Headers
get_Height
get_HelpMenuItem
get_HomeButtonTooltip
gethostbyname address mismatch
gethostbyname failed
GetHostControllerInfo
GetHostNameW
getHostReservedSize fail
GetHotKeyMapList
get_Hour
get_HWnd
?GetHWND@HWNDElement@DirectUI@@UEAAPEAUHWND__@@XZ
GetIconInfo
?GetImmersiveFocusRectOffsets@Element@DirectUI@@UEAAXPEAUtagRECT@@@Z
GetIMSSEventHistoryW
get_info_button
?getInfo@ConvDgradShader@cask@@UEBAPEBVConvDgradKernelInfo@2@XZ
?getInfo@ConvShader@cask@@UEBAPEBVConvKernelInfo@2@XZ
?getInfo@ConvWgradShader@cask@@UEBAPEBVConvWgradKernelInfo@2@XZ
?getInfo@GemmShader@cask@@UEBAPEBVGemmKernelInfo@2@XZ
?getInfo@PoolingShader@cask@@UEBAPEBVPoolingKernelInfo@2@XZ
_get_initial_narrow_environment
_get_initial_wide_environment
get_InnerException
GetInputReportAsync
get_Installers
get_installer_url
get_Instance
GetInstance
?GetInstance@CGamePanelExternalHook@@SAAEAV1@XZ
?GetInstance@ConfigAgentFactory@@SAPEAV1@XZ
?GetInstance@ConfigPolicyAgent@@SAPEAV1@XZ
?GetInstance@DeployAgent@@SAPEAV1@XZ
?GetInstance@DeveloperSettings@UDC@@SAPEAV12@XZ
GetInstances
?GetInstance@SMBiosInformationRetriever@@SAPEAV1@XZ
GetInterfaceInfo
GetIntervalSummaries
get_InvariantCulture
GetIpAddrTable
GetIpuPartitionAttributes
GetIPv6NetworkSettingsWW
get_Is64BitOperatingSystem
get_Is64BitProcess
get_IsAgedEnough
get_IsAttached
get_IsCancellationRequested
get_IsClosed
get_IsCompleted
get_IsContentLoaded
get_IsElevated
get_IsEnabled
get_IsFrozen
get_IsInvalid
get_IsLocalSystem
get_IsLoggingEnabled
get_IsMaximusQuadro
get_IsMaximusTesla
get_IsOnBoardRetimerAccessSupported
get_IsPaired
get_IsPresenceDataSufficient
get_IsRestoring
get_IsRTLEnabled
get_IsTwoStageFirmwareUpdateSupported
get_IsUsb4DevicesDromReadSupported
GetIsVersionSelected
get_Item
GetKBCData
?getKernelInfo@Shader@cask@@QEBAPEBVKernelInfo@2@XZ
GetKernelObjectSecurity
GetKernelProc
GetKeyboardLayout
GetKeyboardLayoutList
GetKeyboardState
?GetKeyFocused@Element@DirectUI@@UEAA_NXZ
?GetKeyFocusedElement@HWNDElement@DirectUI@@SAPEAVElement@2@XZ
GetKeyNameTextW
GetKeyState
get_Kind
GetKVMRedirectionStateWW
get_LabelStyle
GetLastActivePopup
?GetLastConvertStatus@VolumeFveStatus@@QEBAJXZ
GetLastError
GetLastInputInfo
GetLastResetReasonWW
GetLastUpdateResetType
GetLastWin32Error
get_LastWriteTime
GetLastWriteTime
GetLayout
get_LayoutRoot
get_LCID
get_Left
get_Legends
get_LegendText
get_Length
GetLength
GetLengthSid
get_LEP_TITLE
get_LE_TITLE
get_LibrariesRootDisplayName
get_Lime
get_Listeners
get_Local
get_LocalDateTime
GetLocaleInfoA
GetLocaleInfoEx
GetLocaleInfoW
GetLocalFeatureVersion
GetLocalizedPath
get_LocalPath
GetLocalTime
get_Location
?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
get_LogDirectory
GetLogicalDriveStringsW
GetLogicalProcessorInformation
GetLogicalProcessorInformationEx
get_LogIdentifier
GetLongPathNameW
GetLowAccuracyTimeSynch
getmac.pdb
__getmainargs
get_MainModule
get_MainWindow
get_MainWindowHandle
get_MainWindowMinimumHeight
get_MainWindowMinimumWidth
get_MainWindowTitle
get_Major
get_MajorGrid
get_MajorTickMark
GetManifestResourceStream
get_maximus_banner_img
GetMaxToGridRect
GetMemberNameWWW
GetMemberPropertiesW
get_MemoryIOUtilization
get_MemoryUtilization
GetMenageabiltyModeW
GetMenuCheckMarkDimensions
GetMenuDefaultItem
GetMenuItemCount
GetMenuItemID
GetMenuItemInfoW
GetMenuState
GetMenuStringW
get_Message
GetMessageA
GetMessageExtraInfo
GetMessagePos
GetMessageTime
GetMessageW
GetMethod
GetMethodParameters
get_Millisecond
get_Minor
get_Minute
get_Minutes
get_Module
?GetModule@ClassInfoBase@DirectUI@@UEBAPEAUHINSTANCE__@@XZ
GetModuleFileNameA
GetModuleFileNameW
get_ModuleHandle
GetModuleHandleA
GetModuleHandleExW
GetModuleHandleW
GetMonitorInfoW
?_Getmonths@_Locinfo@std@@QEBAPEBDXZ
GetMsTagDwordLong
GetMsTagFileTime
GetMsTagString
get_Name
?GetName@ClassInfoBase@DirectUI@@UEBAPEBGXZ
GetNamedPipeInfo
GetNamedSecurityInfoW
getnameinfo
GetNameInfoW
GetNameSpaceParentWW
GetNativeSystemInfo
GetNearestPaletteIndex
get_NeedApply
get_NestedException
GetNetworkConnectionStatusWW
GetNetworkSettingsWW
get_NewLine
get_NewVal
GetNextDispIDWWW
GetNextDlgGroupItem
GetNextDlgTabItem
get_NextState
GetNextUmsListItem
GetNLSVersionEx
get_None
get_NotMaximusSystemError
GetNumaHighestNodeNumber
GetNumberFormatEx
GetNumberOfPhysicalMonitorsFromHMONITOR
GetNumericControl
get_NvmlInitializationError
GetObject
GetObjectData
GetObjectForIUnknown
GetObjectType
GetObjectW
GetOccasionals
GetOEMCP
GetOffset
get_OffsetToStringData
?GetOffText@TouchSwitch@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
get_OldVal
?GetOnText@TouchSwitch@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
GetOpenFileNameW
get_Options
get_OrdinalIgnoreCase
_get_osfhandle
get_OSVersion
GetOverlappedResult
get_Owner
GetPackageFullName
get_PageState
get_page_url
get_Pairing
get_PairingSelectors
GetPaletteEntries
get_Panel1
get_Panel2
GET_PARAMETER
GetParent
GetParentPath
GetPartType failed! Result: 0x
GetPerAdapterInfo
GetPermissionsGroupAttributes
GetPermissionsGroupMembers
GetPermissionsGroups
GetPersistedRegistryLocationW
?GetPICount@ClassInfoBase@DirectUI@@UEBAIXZ
GetPixel
get_platform
get_Platform
GetPlatformTypeW
get_platform_version
get_pluginEntryPath
get_pluginId
get_pluginName
_GetPMCVersionWWW
get_PointOfServicePrinter
get_Points
get_Position
GetPosture
GetPostureHash
GetPower
GetPowerPolicyWW
get_presenceInfo
get_PreviousState
get_PrimaryScreenHeight
get_PrimaryScreenWidth
get_Principal
GetPrinterW
GetPrivateObjectSecurity
GetPrivateProfileIntW
GetPrivateProfileSectionW
GetPrivateProfileStringA
GetPrivateProfileStringW
GetProcAddress
GetProcessAffinityMask
GetProcessById
GetProcesses
GetProcessesByName
GetProcessHandleFromHwnd
GetProcessHeap
GetProcessId
GetProcessImageFileNameW
GetProcessMemoryInfo
GetProcessMitigationPolicy
get_ProcessName
GetProcessTimes
GetProcessWindowStation
GetProductInfo
GetProfileIntW
GetProfileStringW
get_Properties
get_PropertyName
GetPropertyValues
GetPropW
get_ProtectionLevel
GetProvisioningModeW
GetProxy
GetPSTAPOptimize
GetPSTUIDisplay
_getptd_noexit
GetPwrCapabilities
get_QuadroUsageModeTooltip
GetQueuedCompletionStatus
GetRawInputData
get_Reason
get_RebootPending
GetRecord
GetRecords
GetRedirectionSessionLinkTechnologyW
GetRedirectionStatus
GetRefCount
GetRegisteredApplications
get_RegistrationInfo
get_Report
get_ReportGenerated
GetResourceData
get_ResourceManager
get_Response
GetResponse
get_ResponseRetreivalTask
GetResponseStream
get_RestoreAsButtonText
get_RestoreButtonText
get_RestoreOnLoad
GetRestrictedErrorInfo
GetResult
GetRgnBox
get_Root
?GetRoot@Element@DirectUI@@QEAAPEAV12@XZ
get_RootFolder
GetRouterNvmVersion
GetRouterNvmVersionInput
GetRouterNvmVersionOutput
GetRtd3PowerResource
get_SafeWaitHandle
get_SavedColorSpaceIndex
GetSaveFileNameW
get_Scope
GetScrollInfo
GetScrollPos
GetScrollRange
get_SearchResultsViewType
get_SearchString
get_Second
GetSecureBuffer
GetSecurityDescriptorControl
GetSecurityDescriptorDacl
GetSecurityDescriptorLength
GetSecurityDescriptorOwner
GetSecurityDescriptorSacl
GetSecurityInfo
get_SelectedIndex
get_SelectedItem
get_SelectedVersion
get_SelectedVersions
get_Selector
get_Selectors
get_Series
GetSeriviceImagePath
GetServerFeatureVersion
get_ServiceHandle
get_ServiceName
get_ServicePack
GetServicePath
GetServices
GetSessionUserToken
get_Settings
get_SettingsButtonTooltip
get_SettingsMenuItem
GetShellWindow
GetShortPathNameA
GetShortPathNameW
GetSidLengthRequired
GetSidSubAuthority
GetSignalPath call failed! Result: 0x
get_Size
?getSlicesPerCol@ConvDgradShader@cask@@QEBAHXZ
?getSlicesPerCol@ConvShader@cask@@QEBAHXZ
?getSlicesPerCol@GemmShader@cask@@UEBAHXZ
?getSlicesPerRow@ConvDgradShader@cask@@QEBAHXZ
?getSlicesPerRow@ConvShader@cask@@QEBAHXZ
?getSlicesPerRow@GemmShader@cask@@UEBAHXZ
?getSMidSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
GetSocketErrorMessageW
get__socketPort
getsockopt failed
get_Source
GetSpriteParametersWd
#GetSpriteZoomWWW
get_StackTrace
?GetStandardError@PROGRAM@@UEAAPEAVSTREAM@@XZ
?GetStandardInput@PROGRAM@@UEAAPEAVSTREAM@@XZ
get_StandardName
?GetStandardOutput@PROGRAM@@UEAAPEAVSTREAM@@XZ
get_Start
get_StartInfo
GetStartupInfoA
GetStartupInfoW
GetStateFolder
get_States
get_Status
?GetStatusFlags@VolumeFveStatus@@QEBAKXZ
GetStdHandle
GetStockObject
GetStorageAllocEntry
GetStorageEaclEntry
_get_stream_buffer_pointers
GetString
GetStringPropertyForDevice
GetStringTypeA
GetStringTypeExW
GetStringTypeW
GetSubKeyNames
GetSubMenu
GetSufficientInfoText
GetSupportedApiVersions
GetSysColor
GetSysColorBrush
GetSystemBrandID
GetSystemColor
GetSystemDefaultLangID
GetSystemDefaultLCID
GetSystemDefaultLocaleName
GetSystemDefaultUILanguage
get_SystemDirectory
GetSystemDirectoryA
GetSystemDirectoryW
GetSystemDriverVersion
GetSystemInfo
GetSystemMenu
GetSystemMetrics
GetSystemMetricsForDpi
GetSystemNVMLVersion
GetSystemPaletteEntries
GetSystemPowerStatus
GetSystemTime
GetSystemTimeAdjustment
GetSystemTimeAsFileTime
GetSystemTimePreciseAsFileTime
GetSystemTimeZones
GetSystemUUIDWWW
GetSystemWindowsDirectoryW
GetSystemWow64DirectoryW
get_Target
get_TargetXml
get_Task
get_TaskId
GetTempFileName
GetTempFileNameA
GetTempFileNameW
GetTemplateContent
GetTempPath
GetTempPathA
GetTempPathW
get_TeslaUsageModeTooltip
--get-test-cmd-1
--get-test-cmd-2
--get-test-cmd-3
get_Text
GetTextCharsetInfo
GetTextColor
GetTextExtentExPointW
GetTextExtentPoint32A
GetTextExtentPoint32W
GetTextExtentPointW
GetTextFaceW
GetTextMetricsW
GetTheFeatureStateWW
GetThemeColor
GetThemeFont
GetThemePartSize
GetThemeSysColor
GetThreadDesktop
GetThreadGroupAffinity
GetThreadId
GetThreadInformation
GetThreadLocale
GetThreadPreferredUILanguages
GetThreadPriority
GetThreadTimes
GetThreadUILanguage
--getthroughput
GetTickCount
GetTickCount64
get_TimeCreated
GetTimeFormatEx
GetTimeFormatW
GetTimeNavigatedBackTo
get_TimeOfEvent
get_Timeout
GetTimeout
GetTimeoutValues
GetTimestamp
GetTimeTillFirstRestore
get_Timezone
GetTimeZoneInformation
GetTimeZonesFrom6013Events
Getting counter control is deprecated!
Getting counters using option -g is deprecated. 
getting element list
Getting metadata for timespan
getting namespace list
getting node path
get_TOAST_IMPORTANT_NOTICE
get_TOAST_NORMAL_NOTICE
get_TOAST_WIFI_DETECT_OFF_NOTICE
get_TOAST_WIFI_DETECT_ON_NOTICE
get_Today
?GetToggleValue@TouchSwitch@DirectUI@@QEAAHXZ
get_Token
GetTokenInformation
GetToolBarSize
GetTopology
GetTopologyInfoExInputData
GetTopologyObject failed! Result: 0x
GetTopWindow
get_TotalFrequentTime
get_TotalHours
get_TotalMemory
get_TotalTime
GetTouchInputInfo
GetTouchPadUIDisplay
GetTraceEnableFlags
GetTraceEnableLevel
get_TraceError
get_TraceInfo
GetTraceLoggerHandle
get_TraceWarning
GetTransactionInformation
get_TransformToDevice
get_Triggers
get_type
GetTypeFromHandle
?GetUIAElementProvider@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?GetUiaFocusDelegate@Element@DirectUI@@UEAAPEAV12@XZ
GetUIOpenDuration
GetUmsCompletionListEvent
get_Unicode
GetUnprovisionBlockingComponents
?GetUnset@Value@DirectUI@@SAPEAV12@XZ
get_UpButtonTooltip
get_UpButtonTooltipDisabledState
GetUpdateRect
get_Upnp
get_UsedMemory
get_User
GetUserAclEntryEx
GetUserAgentHeader
GetUserConsentStateW
GetUserDefaultGeoName
GetUserDefaultLCID
GetUserDefaultLocaleName
GetUserDefaultUILanguage
GetUserGeoID
GetUserInitiatedEnabledWd
get_UserInteractive
get_UserName
GetUserNameExW
GetUserNameW
GetUserObjectInformationA
GetUserObjectInformationW
GetUserPreferredUILanguages
GetUserProfileDirectoryW
get_UtcDateTime
get_UtcNow
get_UtcOffset
GetUtcOffset
get_UTF8
get_Uuid
get_Value
GetValue
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@P6APEBUPropertyInfo@2@XZHPEAUUpdateCache@2@@Z
GetValueKind
GetValueNames
GetValueOrDefault
get_version
get_Version
GetVersion
?getVersion@ConvShader@cask@@QEBAHXZ
GetVersionExA
GetVersionExW
?getVersion@GemmShader@cask@@QEBAHXZ
GetVersionInfo
get_VideoCasting
get_ViewMenuItem
GetViewportExtEx
GetViewportOrgEx
get_VirtualScreenLeft
get_VirtualScreenTop
GetVolumeInformationW
GetVolumeNameForVolumeMountPointW
GetVolumePathNamesForVolumeNameW
GetVolumePathNameW
get_WaitCursor
getwchar
get_Wddm
getWebInstallerInfoFromEndpoint
GetWebPlatformObject
GetWebRequest
getWebUIStateWWW
get_WeeklyEndOffsetInUs
get_WeeklyStartOffsetInUs
get_White
_get_wide_winmain_command_line
get_Width
get_WiFiDirect
get_WiFiDirectPairedOnly
GetWindow
GetWindowBand
get_WindowClassName
?GetWindowClassNameAndStyle@HWNDElement@DirectUI@@UEAAXPEAPEBGPEAI@Z
GetWindowContextHelpId
GetWindowDC
GetWindowExtEx
get_WindowLocation
GetWindowLongA
GetWindowLongPtrW
GetWindowLongW
GetWindowOrgEx
GetWindowPlacement
GetWindowRect
GetWindowRgn
GetWindowsBuildNumber
GetWindowsDirectoryA
GetWindowsDirectoryW
get_WindowState
GetWindowsVersion
GetWindowsVersionName
GetWindowTextLengthW
GetWindowTextW
GetWindowTheme
GetWindowThreadProcessId
GetWLANLinkInfoW
GetWriteCommandSignal
GetWriteEraseLimit
GetXStateFeaturesMask
get_XValue
GetXYMax
g"f2InFf227
g	FeHYSJ8*
gfffffff
gfffffffD
gfffffffH
gfffffffI
gfffffffL
gfffffffLi
G	F	j	m	l	n	
)?!?!g(g(
_(](G'G'
g g0g1g.g
G G0G1G.G
g@g0g8g6g
G@G0G8G6G
)g*g*6"6"k0l0
g@gAg8g:g
G@GAG8G:G
G@!GHH!GPH
*g g h#j#
 @ggivi	
  g                    -- Go (continue)
"g)g)O)M)
g@gPgQgNg
G@GPGQGNG
g@gPgXgVg
G@GPGXGVG
g#g#Q P 
)GgrfdexFetchW
gGs@mZX	)Z
Gg@t3	3F
g;G	t|.pA
G@H90t8H
G@H9_8u H
G(Hc0H9_8u"H
*G)H)F'E'
g;h hg!Lli
GHRASa]		
gI_f30350
g	?Initialize@HWNDElement@DirectUI@@QEAAJPEAUHWND__@@_NIPEAVElement@2@PEAK@Z
giP9giP9giP9giP9
Given file does not exist
givenName
given type is not a user-derived simpleType
@g-?J5V[!
G J"J1414
g!lAX8[t
(gLb-qx?qy
GLD#G|L#
GLD#O|L#
?.?G?L?h?
glicherweise stehen Ihnen je nach Bundesstaat oder Land weitergehende Rechte zu. 
GlIMisoV
(GLMoub8
 (global)
global.acquire.gpu
global.acquire.gpu[
global.acquire.gpu.b
global.acquire.gpuf2
global.acquire.gpug)
GlobalAddAtomW
GlobalAlloc
GlobalCollection
GlobalDeleteAtom
global.f32 
GlobalFindAtomW
GlobalFlags
GlobalFree
__global__ function call is not configured
GlobalGetAtomNameW
GlobalHandle
Global in use event already exists
GlobalLock
globallycoherent
GlobalMaxSupportedFilters
GlobalMaxSupportedPolicies
GlobalMemoryStatusEx
globalPriorityQuery
GlobalReAlloc
global.releas
global.release.gpu
global.releasQ
global.s8A
GlobalSettings
GlobalSign0
GlobalSign1
GlobalSign1 0
;GlobalSign Extended Validation CodeSigning CA - SHA256 - G3
;GlobalSign Extended Validation CodeSigning CA - SHA256 - G30
GlobalSign nv-sa1
GlobalSign nv-sa1)0'
GlobalSign nv-sa1D0B
GlobalSign Root CA0
GlobalSign Root CA - R31
GlobalSign Root CA - R61
GlobalSign Timestamping CA - G2
GlobalSign Timestamping CA - G20
(GlobalSign Timestamping CA - SHA384 - G4
(GlobalSign Timestamping CA - SHA384 - G40
 Globalsign TSA for Advanced - G4
 Globalsign TSA for Advanced - G40
'GlobalSign TSA for MS Authenticode - G20
GlobalSize
Global Storage Attributes Set
GlobalUnlock
global.v2
': global variables are considered 'uniform' by default
': global variables cannot be declared 'volatile'
Global version of the infoROM image. Image version just like VBIOS version uniquely describes the exact version of the infoROM flashed on the board in contrast to infoROM object version which is only an indicator of supported features.
?g_log@UDC@@3VLog@1@A
;(;G;l;y;
g MDDDDDD
g MDDDDDDD
g MDDDDDDDD
g MDDDDDDDDD
g MDDDDDDDDD 
g MDDDDDDDDDD 
g MDDDDDDDDDDD
g MDDDDDDDDDDDD 
g MDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 
g MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
gMd_ddddddddddddddddddddddddddddgddddd____WWWUQDD
gMddd_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_WWWWQQDSDDMPy
g MDDDDDDDDDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMD D
gMd__________d_d_d_d_d_d_d_d_____QWQQQDD
g MDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMDDD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DDDMMMMMMMMDm
gMggggmgggggggggggggggggggggggggggggggggggggdddQP
g MMMMMMDDDD
g MMMMMMMMMMMDDD
g MMMMMMMMMM_MMQMOMWMOMQMWMMQMOMMWMMQMOMMWMMQMOMMWMMQMMQMQMMQMMQMQMMQMMQMQMMQMMQMQMMQMMQMQMMQMMQMQMMQMMQMMQMMMMMWMMMMWMMMMMm
g MMMMMMMWMQMMOMWMMMQMOMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMWMMWMMWMQMWMM_MMMMMMM m
Gm*m*n5n5
GMO GlobalSign Pte Ltd100.
gMonthDay
_gmtime64_s
gMWM_W_QWW_Q_M_WQ_M_QWWWWMMMD
Gn*k*q5o5
*Gn lPz[
g. *: Nq
GNWNWiUgU
gNZztz#b
G:O"-'7zYj?
?G?O?c?n?
GOM allows to reduce power usage and optimize GPU throughput by disabling GPU features. Each GOM is designed to meet specific user needs.
GOM can be changed with the (--gom) flag.
gom.current
gom.pending
Got a blank Session ID
GotAllowWHQLChecksFromCmdLine
GotAllowWHQLChecksFromReg
Got an error writing an RTP packet
GOT_EMPTY_EVENT_FROM_DRIVER
Got invalid RTSP request
Got invalid RTSP request: RTSPREQ_LAST
Got NULL parser context
 Go to  
Got unexpected imap-server response
Got unexpected pop3-server response
:::G:O:V;
GPAPI.dll
GPCSTATUS
GP fault
GpGraphics
?GPHHookWindowPointerDown@CGamePanelExternalHook@@SAIXZ
GPIO file contains GPIO pin assignments that are not multiples
gPkPkBhCh
GP*O*I5I5
gprslt.pdb
gpscript.pdb
GpSolidFill
GPU access blocked by the operating system
-gpuarch
| GPU Boost Slider                                |
gpu_bus_id
gpu_check_diff_generic unprepared for datatype 
| GPU compute policies:               |
GPU Current Temp
gpu_delay_long_gpu
gpu_delay_short_gpu
GPU device ID. Provide comma
GPU device ID's. Provide comma
| GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
GPU id : 
GPU Index from packet is beyond the Max number of GPUs supported
gpu_instance_id
GPU Instance ID
GPU Instance Profile ID
                    gpu in the system conforming to the DevSim Portability Subset schema.
GPU is lost
GPU is lost.  Reboot the system to recover this GPU
        GPU Link Info
GPU Max Operating Temp
GPUMGR_BUFFER_TOO_SMALL
GPUMGR_OBJECT_NOT_FOUND
gpu_module_id
gpu_name
| GPU  Name                       | Bus-Id                       | GPU-Util   |
| GPU     Name           Value        |
GPU_OFF_BUS
    GPU Operation Mode
gpu_operation_mode.current
gpu_operation_mode.pending
gpu_part_number
GPU Part Number
gpupdate.pdb
| GPU    Power      Graphics      Memory      Temperature    Profile           |
| GPU Power Hint                                                               |
GPU_REGS
GPU requires reset
GPU_RESET
GpuSampleType
gpu_serial
GPU Shutdown Temp
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_0
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_1
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_2
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_3
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_4
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_5
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_6
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_7
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_0
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_1
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_2
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_3
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_4
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_5
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_6
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_7
| GPU     Slider       Max Value    Current Value |
GPU Slowdown Temp
    GPU statistics are displayed in scrolling format with one line
gpu_target_temperature
GPU Target Temperature
gpu_target_temp_max
gpu_target_temp_min
gpu_temp
gpu_temp_max_gpu_threshold
gpu_temp_max_mem_threshold
gpu_temp_max_threshold
gpu_temp_slow_threshold
gpu_util
gpu_utilization
GpuUtilization
GPU Utilization
    GPU Utilization Samples
gpu_uuid
GPU UUID
    GPU Virtualization Mode
gQmmgm_mggggggggggggggggggggggggaggdmgdgddd_d_QGP
gQmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgdWZ
gqpppppppp
Gq*r*D5E5
GQ_WWW_Dg
gradient
GradientStyle
grammar has no children
graphics
		Graphics:
Graphics
GRAPHICS
Graphics and Compute
GraphicsAndCompute
--graphics-clock
graphics_clock
Graphics Clock
	Graphics: 	Not Supported
Graphics Only
GraphicsOnly
    graphics processes running on each device. Metrics to be monitored
graphics_volt
gravecomb
Gravesmall
GrayStringW
greaterequal
GREATEREQUAL
Greater Manchester1
 greater than
GreekandCoptic
GreekExtended
	grep string  search for a string in the subtree
GR_ERR_TYP
GR_ERR_TYP_UNKNOWN
GR_EXCPTN_SUBTYP
GR_EXCPTN_SUBTYP_BE_CROP
GR_EXCPTN_SUBTYP_BE_ZROP
GR_EXCPTN_SUBTYP_DS_SPH0_ERR
GR_EXCPTN_SUBTYP_DS_SPH10_ERR
GR_EXCPTN_SUBTYP_DS_SPH11_ERR
GR_EXCPTN_SUBTYP_DS_SPH12_ERR
GR_EXCPTN_SUBTYP_DS_SPH13_ERR
GR_EXCPTN_SUBTYP_DS_SPH14_ERR
GR_EXCPTN_SUBTYP_DS_SPH15_ERR
GR_EXCPTN_SUBTYP_DS_SPH16_ERR
GR_EXCPTN_SUBTYP_DS_SPH17_ERR
GR_EXCPTN_SUBTYP_DS_SPH18_ERR
GR_EXCPTN_SUBTYP_DS_SPH19_ERR
GR_EXCPTN_SUBTYP_DS_SPH1_ERR
GR_EXCPTN_SUBTYP_DS_SPH20_ERR
GR_EXCPTN_SUBTYP_DS_SPH21_ERR
GR_EXCPTN_SUBTYP_DS_SPH22_ERR
GR_EXCPTN_SUBTYP_DS_SPH23_ERR
GR_EXCPTN_SUBTYP_DS_SPH24_ERR
GR_EXCPTN_SUBTYP_DS_SPH25_ERR
GR_EXCPTN_SUBTYP_DS_SPH26_ERR
GR_EXCPTN_SUBTYP_DS_SPH27_ERR
GR_EXCPTN_SUBTYP_DS_SPH28_ERR
GR_EXCPTN_SUBTYP_DS_SPH29_ERR
GR_EXCPTN_SUBTYP_DS_SPH2_ERR
GR_EXCPTN_SUBTYP_DS_SPH30_ERR
GR_EXCPTN_SUBTYP_DS_SPH3_ERR
GR_EXCPTN_SUBTYP_DS_SPH4_ERR
GR_EXCPTN_SUBTYP_DS_SPH5_ERR
GR_EXCPTN_SUBTYP_DS_SPH6_ERR
GR_EXCPTN_SUBTYP_DS_SPH7_ERR
GR_EXCPTN_SUBTYP_DS_SPH8_ERR
GR_EXCPTN_SUBTYP_DS_SPH9_ERR
GR_EXCPTN_SUBTYP_FE_CLASS_SUBCH_MISMATCH
GR_EXCPTN_SUBTYP_FE_INJECTED_BUNDLE_ERROR
GR_EXCPTN_SUBTYP_FE_SPECULATIVE_GO_IDLE
GR_EXCPTN_SUBTYP_FE_SUBCHSW_DURING_NOTIFY
GR_EXCPTN_SUBTYP_GPC_GPCCS_GCC
GR_EXCPTN_SUBTYP_GPC_GPCCS_GENERIC
GR_EXCPTN_SUBTYP_GPC_GPCCS_GPCMMU
GR_EXCPTN_SUBTYP_GPC_GPCCS_PES
GR_EXCPTN_SUBTYP_GPC_GPCCS_PROP
GR_EXCPTN_SUBTYP_GPC_GPCCS_SETUP
GR_EXCPTN_SUBTYP_GPC_GPCCS_ZCULL
GR_EXCPTN_SUBTYP_GPC_TPCCS_GENERIC
GR_EXCPTN_SUBTYP_GPC_TPCCS_L1C
GR_EXCPTN_SUBTYP_GPC_TPCCS_MPC
GR_EXCPTN_SUBTYP_GPC_TPCCS_PE
GR_EXCPTN_SUBTYP_GPC_TPCCS_SM
GR_EXCPTN_SUBTYP_GPC_TPCCS_TEX
GR_EXCPTN_SUBTYP_MEMFMT_EXTRA_INLINE_DATA
GR_EXCPTN_SUBTYP_MEMFMT_MISSING_INLINE_DATA
GR_EXCPTN_SUBTYP_MME_BRANCH_IN_DELAY_SLOT
GR_EXCPTN_SUBTYP_MME_DATA_RAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_DMA_DRAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_DMA_ILLEGAL_FIFO_CONFIG
GR_EXCPTN_SUBTYP_MME_DMA_READ_FIFOED_FROM_PB
GR_EXCPTN_SUBTYP_MME_DMA_READ_FIFOED_OVERFLOW
GR_EXCPTN_SUBTYP_MME_EXTRA_MACRO_DATA
GR_EXCPTN_SUBTYP_MME_ILLEGAL_MME_METHOD
GR_EXCPTN_SUBTYP_MME_ILLEGAL_OPCODE
GR_EXCPTN_SUBTYP_MME_INSTR_RAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_MAX_INSTR_LIMIT
GR_EXCPTN_SUBTYP_MME_MISSING_MACRO_DATA
GR_EXCPTN_SUBTYP_MME_STOP_ON_TRAP
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_INVALID_PAGEPOOL
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_LODS
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_OUTPUT
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_WARPS
GR_EXCPTN_SUBTYP_SCC_LDCONST_OOB
GR_EXCPTN_SUBTYP_SCC_LDROOTTABLE_OOB
GR_EXCPTN_SUBTYP_SKED_CHECK02_LOCAL_MEMORY_LOW_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK03_LOCAL_MEMORY_HIGH_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK04_LOCAL_MEMORY_CRS_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK05_LOCAL_MEMORY_TOTAL_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK06_REGISTER_COUNT
GR_EXCPTN_SUBTYP_SKED_CHECK07_OUTER_PUT
GR_EXCPTN_SUBTYP_SKED_CHECK08_INNER_PUT
GR_EXCPTN_SUBTYP_SKED_CHECK09_INNER_GET
GR_EXCPTN_SUBTYP_SKED_CHECK10_OUTER_GET
GR_EXCPTN_SUBTYP_SKED_CHECK11_TOTAL_THREADS
GR_EXCPTN_SUBTYP_SKED_CHECK13_PROGRAM_OFFSET
GR_EXCPTN_SUBTYP_SKED_CHECK14_SHARED_MEMORY_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK15_UNUSED
GR_EXCPTN_SUBTYP_SKED_CHECK16_CTA_THREAD_DIMENSION_ZERO
GR_EXCPTN_SUBTYP_SKED_CHECK17_MEMORY_WINDOW_OVERLAP
GR_EXCPTN_SUBTYP_SKED_CHECK18_L1_CONFIG_TOO_SMALL
GR_EXCPTN_SUBTYP_SKED_CHECK19_CTA_REGISTER_CONSUMPTION
GR_EXCPTN_SUBTYP_SKED_CHECK20_GET_PUT_TOO_LARGE
GR_EXCPTN_SUBTYP_SKED_CHECK21_CIRCULAR_QUEUE_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK22_INVALIDATE_ACTIVE_QMD
GR_EXCPTN_SUBTYP_SKED_CHECK23_CONSTANT_BUFFER_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK24_CTA_RESUME
GR_EXCPTN_SUBTYP_SKED_CHECK25_THROTTLED_IS_RESTRICTED
GR_EXCPTN_SUBTYP_SKED_CHECK27_VSPAN_OVERFLOW
GR_EXCPTN_SUBTYP_SKED_CHECK28_PCAS_WITH_SEM
GR_EXCPTN_SUBTYP_SKED_CHECK32_VSPAN_NONEMPTY_PREEMPT
GR_EXCPTN_SUBTYP_SKED_CHECK35_IGNORE_VEID_CACHE_LINE
GR_EXCPTN_SUBTYP_UNKNOWN
GR_EXCPTN_TYP_BE
GR_EXCPTN_TYP_DS
GR_EXCPTN_TYP_FE
GR_EXCPTN_TYP_GPC
GR_EXCPTN_TYP_MEMFMT
GR_EXCPTN_TYP_MME
GR_EXCPTN_TYP_PD
GR_EXCPTN_TYP_SCC
GR_EXCPTN_TYP_SKED
GR_EXCPTN_TYP_SSYNC
'|grfdexWW
griddedIntervals
GRID License
	grid mode:
GR_INTR_TYP_BUFFER_NOTIFY
GR_INTR_TYP_CLASS_ERROR
GR_INTR_TYP_DEBUG_METHOD
GR_INTR_TYP_EXCEPTION
GR_INTR_TYP_FECS_ERROR
GR_INTR_TYP_FIRMWARE_METHOD
GR_INTR_TYP_ILLEGAL_CLASS
GR_INTR_TYP_ILLEGAL_METHOD
GR_INTR_TYP_ILLEGAL_NOTIFY
GR_INTR_TYP_NOTIFY
GR_INTR_TYP_SEMAPHORE
GR_INTR_TYP_SEMAPHORE_TIMEOUT
GrIqI]I]I
GrjNjqku
G''RK'''Z
GroupAddresses
GroupBox
	groupBox1
groupBox1
GroupComponent
GroupExtendedIntervals
GroupHandle
groupMemoryBarrier
GroupMemoryBarrier()
GroupMemoryBarrierWithGroupSync()
GroupName
GroupOption
GroupPermissions
groupshared
groupshared 
growing buffer
growing buffer failed
growing input buffer
growing item list
growing nodeset
growing nodeset hit limit
growing XInclude context
grpconv.pdb
GRSTATUS
gSNTN6vcX
gSOL_SWWW
gsp_firmware_version
GSP Firmware Version
GSP_RPC_TIMEOUT
 GSS-API confidentiality
GSSAPI handshake failure (empty challenge message)
GSSAPI handshake failure (empty security message)
GSSAPI handshake failure (invalid security data)
GSSAPI handshake failure (invalid security layer)
 GSS-API integrity
GSS-Negotiate
gstOZFGY
gSubNumberBias
GSubr index out of range at cmdCALLGSUBR
!gT1DebugLevel
g_T T10F
GT"_wZjD
Guest Driver Version
_GUID_00000000_0000_0000_c000_000000000046
_GUID_00000114_0000_0000_c000_000000000046
_GUID_000214e2_0000_0000_c000_000000000046
_GUID_2ce15729_376f_4372_ad30_4148a6326ee8
_GUID_66a9cb08_4802_11d2_a561_00a0c92dbfe8
_GUID_6d5140c1_7436_11ce_8034_00aa006009fa
_GUID_90f1a06c_7712_4762_86b5_7a5eba6bdb02
_GUID_90f1a06e_7712_4762_86b5_7a5eba6bdb02
GuidAttribute
_GUID_cb2f6722_ab3a_11d2_9c40_00c04fa30a3e
_GUID_cb2f6723_ab3a_11d2_9c40_00c04fa30a3e
_GUID_dfbc7e30_f9e5_455f_88f8_fa98c1e494ca
_GUID_e93d4057_b9a2_42a5_8af8_e5bbf177d365
_GUID_fc4801a3_2ba9_11cf_a229_00aa003d7352
guidService
guidTask
guillemotleft
guillemotright
guilsinglleft
guilsinglright
Gujarati
Gurmukhi
Gu@tK*gfX
g[v9I[S#
gv?o;b(C
GW5rwuvwgwVwwwVvwwwgup
gWmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpmmmmpmpmdWW
gWppppppppppppppppppppppppppppppppppppppppppmmmdb
gWrppppppppppppppppppppppppppppppppppppppppppppgg
gw!W3q!"
G']"WZ f
GX[.30cvO
GxAxAN)N)
gxNEi1KzKK
	gYb?[#h
gYearMonth
G'yvfMJng
gzdsm)-xWr
G Zo)*|g
--------H
H0_1_L9L9
H0(2j2t2N3.5
H?0cY![y7
H0I0z4z4
H0I1I2I3I4I5ILIMINIOI
h0l0p0t0x0|0
h	!12	T	
H!13g	Br570
h16816gemm
h1688cudnn
h1688gemm
h1l1p1t1x1|1
H .:?1:y
)H2707(G55
H2T2X2d2p2t2
 H3E H3E
h3l3p3t3x3|3
h	3r14-)
[h;3	)ZP
	h402 42
h5666668778798776666-j
]h5q"*8L
@H7F7b6b6
(h7h7z0z0
H8282q4p4
h884cudnn
h884gemm
!](H!]8H
-h8i8.*-*
H8L8P8T8
H8M;MwNwN
H97u(I96u(
[H9_HuUA
	H9k tpH
H9O3j__4
H9Y u*E3
)H;A8t@H
H?A?Ai2i2
	HAf255-
H;A(|.HcA
?H?a?i?y?
HalfwidthandFullwidthForms
HandleBambooPaper
HandleBrideColor
HandleBroadcastFinished
HandleCommandLineArguments
HandleDefaultColorSpace
HandleDefaultUI_Position
HandleExprsii
HandleFocusChangeActivity
HandleIllustrator
HandleInDesign
HandleNoteLedge
HandlePhotoShop
HandleProcessCorruptedStateExceptionsAttribute
handlePSScriptWarning
HandleTextChangeActivity
?HandleUiaDestroyListener@Element@DirectUI@@UEAAXXZ
?HandleUiaEventListener@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?HandleUiaPropertyChangingListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@@Z
?HandleUiaPropertyListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
HangulCompatibilityJamo
HangulJamo
HangulSyllables
h	Ar1913
HardwareAcceleration
HardwareAssetRealm
HardwareId
Hardware sequencing failed. Make sure that you have access to target flash area.
hardware stack error
Hardware timeout occurred in SPI device.
?HasExternalKey@VolumeFveStatus@@QEBA_NXZ
HasExtractedXml
HashAlgorithm
HashData
HashIsOemDefault
HashOnlyFlag
HashType
 has non-conforming shared attributes: 
HasOnlySsdInInternalDrive
?HasPassphraseProtector@VolumeFveStatus@@QEBA_NXZ
?HasPBKDF2RecoveryPassword@VolumeFveStatus@@QEBA_NXZ
?HasPinProtector@VolumeFveStatus@@QEBA_NXZ
hasPrimary
HasRecentAwayIntervalsXml
?HasRecoveryData@VolumeFveStatus@@QEBA_NXZ
?HasRecoveryPassword@VolumeFveStatus@@QEBA_NXZ
hasRender
?HasSmartCardProtector@VolumeFveStatus@@QEBA_NXZ
?HasStartupKeyProtector@VolumeFveStatus@@QEBA_NXZ
HasSuggestions
' has to be
?HasTpmProtector@VolumeFveStatus@@QEBA_NXZ
?hasVectorization@TensorDesc@cask@@QEBA_NAEBU12@@Z
?hasVectorization@TensorDesc@cask@@QEBA_NHH@Z
?HasWildCard@PATH@@QEBAEXZ
h;?aTRgV16
#haZu38g@
HB1G@rSe
hB2030MT
		H.b5"lTu
HBaselineShift
?hBB0_36
hBB1_83#
H*BBP -t
 HBM memory temperature. in degrees C.
HBRUSH__
HCD2DResource
HcHdHc@hH
HcHpHc@tI
hcircumflex
Hcircumflex
HcKlHcCdH
hCryptMsg
HDCP Rx is not provisioned.
hDevInfo
hDg)RKt#
hd[l|EBf
hDmFm4j6j
hdr (16 bit float rgba)
HdrDestAddress
HdrDestAddressEndOfRange
HdrDestMACAddr8021
HdrDestMACMask8021
HdrDestMask
HdrDestPortEnd
HdrDestPortStart
HdrFlowLabel
HdrIPVersion
---     Hdr output converting
HdrPriorityValue8021
HdrProtocolID
HdrProtocolID8021
HdrSrcAddress
HdrSrcAddressEndOfRange
HdrSrcMACAddr8021
HdrSrcMACMask8021
HdrSrcMask
HdrSrcPortEnd
HdrSrcPortStart
HdrVLANID8021
: :(:H:d:t:
hdUB6e0t|j6
HdwWiz.pdb
header crc mismatch
HeaderFormat
Header name 
HeaderNotUnderstood
Headers in a multipart file should have name attribute.
Headers in a multipart file should have type attribute.
heading 
HEAD_REGS
HEAD_RG_UNDERFLOW
HealthPercent
HealthState
HeapAlloc
heapBudget
HeapCreate
HeapDestroy
HeapFree
heapIndex
HeapQueryInformation
HeapReAlloc
HeapSetInformation
HeapSize
heapUsage
HeapValidate
Heartbeat
Heartbeats
HeatGeneration
Heci message length is not as expected.
HECI Timeout.
HeciWatchDogExpirationAction
?HEHEO!O!"
 height 
HEKhmi*Q
hEkwRYE1L
	help         display this help
[helper component] attribute use prohibition
[helper component] QName reference
help.pdb
--help-query-accounted-apps
--help-query-compute-apps
--help-query-gpu
--help-query-remapped-rows
--help-query-retired-pages
--help-query-supported-clocks
heren Edition dieser Software besteht.
hewlett-packard
hexBinary
Hex Code
HF1656hC
hfBsUN8K
HFfA9	ri
HFfA9	rX
;	hf!fLY).L_
hfgdheVah
H;F v7H;
("'#'H*G*
HGA3gylT
?HGIGt*s*s5u5k2j2-!-!
HGIGVCVC7282[:[:w9w9@0?0I6H6
#h-g-j*j*
hGobubO[
H@]gwWG.
HGxg#|WH
	h	h	.	-	
h h0h1h.h
H H0H1H.H
H!_(H!_0H!_8H!_@3
h@h0h8h6h
H@H0H8H6H
H!_(H!_0H!_8H!_@I
hHAA51Qt
h@hAh8h:h
H@HAH8H:H
hhctrl.ocx
hhhhhhhhhhh
#h'h'j'j'l'l'n'n'p'p'r'r't't'
@Hhmd|iH
HH:mm:ss
HH:MM:SS
h@hPhQhNh
H@HPHQHNH
h@hPhXhVh
H@HPHXHVH
HHt7HHtC
HHtPHHt-H
h	h	y	w	.	-	
-H#I#|*|*A*A*
hibernate
HibernateIdleOvertime
Hibernate operation was requested by remote administrator
hic_info
HIC Info
hidDevice
HidDevice
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetFeature
HidD_GetHidGuid
HidD_GetPreparsedData
HidD_SetFeature
HideCaret
Hide_Click
 HIDECLUSTERIPI 
HidePenSettingInfo
HideSuggestions
Hiding fake cursor
Hiding real cursor
HidInputReport
HidInputReportReceivedEventArgs
HidNumericControl
HidP_GetButtonCaps
HidP_GetCaps
HidP_GetSpecificValueCaps
HidP_GetValueCaps
highcontrast
HighPart
HighPrivateUseSurrogates
highres-
HighRes.B
HighresBlender failed with (
HighresBlender version: 
HighRes.G
HighRes.R
HighSurrogates
hIgIW@X@
hijklmnopqr
hInstance
HINSTANCE__
hints exceed max allowed count
hintString
Hiragana
HistoryButtonEnableDisableConverter
HistoryButtonMenuItemTextConverter
HistoryButtonTooltipConverter
H@J@@FAF
HjHkHtHuHxHyH
HjHkHtHuHxHyHZR
hjqsOf	*[
h!j#(.XKa
Hk#7uPCf|
hKm0R	gvQ
[hl?AJ 4L
:h;l;p;t;x;|;
: :(:H:l:x:
H[LZLs-q-D7D7
HM3L3B?A?DCDC
hmenuShared
hMLlIU4:w
hmma_e8m10
hmma_e8m7
hmma_sparse
HNDKDbGdG
Hn?n?P(Q(R
H@nsU;RW
HnuPPC ;3v
:];h;n;w;
Ho	d	hI?
 * holding this one at lower clocks.
holemenu
HomeButtonClickCount
hookabovecomb
?Hook@CGamePanelExternalHook@@QEAAXPEAUHWND__@@@Z
HorizontalPixels
horizontal rule 
HorzFrontPorchPixels
HorzSyncPolarity
HorzSyncWidthPixels
HorzTotalPixels
_hostControllerInSafeModeEventName
Host down
HostingBoard
HostInitiated
HostIPAddress should have 16 byte length
Host Name: 
HostName
Host Name Set
	?Host@NativeHWNDHost@DirectUI@@QEAAXPEAVElement@2@@Z
Host not found
HostOSFQDN
hostQueryReset
Host reset is required after the last FW Update operation.
HostRouter
HostRouterInfo
HostRouterInfoToHostRouterNode
Hosts file updated
Hosts file update failed
HostSupport
host unreachable
host_unreachable
Host unreachable
Host VGPU
host_vgpu_mode
Host VGPU Mode
Host VSGA
_@H;O(sxD9g0ur
HotSwappable
How many threads the tool is allowed to use
H'p4PmW7
HPALETTE__
HpFVs_DO
HpHqHrHsHPIQI
;hpj"--D
hPrevInstance
hProcess
H)q]7U7Z
hqqpppppppppppppppppppppppppppppppppppppq
H;q s[L9e
		Hr170		
HR)2tR45
hreflang
hren und Ausgaben nicht mitgerechnet.
HR_ERROR
:H:R:m:@;F;K;R;b;p;
HSA_GetUISetting_ToRegistry
HSA_Update_PTPEnabled
Hsinchu County1*0(
hSnapshot
HSr1535;X
hStdError
hStdInput
hStdOutput
HSUVWATAUAVAWL
H SUVWATAVAWH
H SUVWAUAVAWH
H SUVWAVAWH
H SUVWAVH
HSVColor
H_SYNC_DEFAULT
H_SYNC_NEGATIVE
H_SYNC_POSITIVE
Ht3Ht!Ht
htA1513p
HtAHt7Ht-Ht#Ht
HtbHtQHt
ht eCOIp
hTemplateFile
hThis utility lets you optimize your workstation with the best possible graphics and compute performance.
Ht]Ht'Ht
Ht*Ht;HuL
htmlAttrAllowed
htmlAutoCloseTag
htmlCheckEncoding: encoder error
htmlCheckEncoding: wrong encoding meta
htmlCreateFileParserCtxt
htmlCreateMemoryParserCtxt
htmlCreatePushParserCtxt
htmlCtxtReadDoc
htmlCtxtReadFd
htmlCtxtReadFile
htmlCtxtReadIO
htmlCtxtReadMemory
htmlCtxtReset
htmlCtxtUseOptions
__htmlDefaultSAXHandler
htmlDefaultSAXHandlerInit
htmlDocContentDumpFormatOutput
htmlDocContentDumpOutput
htmlDocDump
htmlDocDumpMemory
htmlDocDumpMemoryFormat
HTML DOCUMENT
HTML document creation failed
HTML Document not expected
htmlElementAllowedHere
htmlElementStatusHere
htmlEncodeEntities
htmlEntityLookup
htmlEntityValueLookup
htmlFreeParserCtxt
htmlGetMetaEncoding
htmlHandleOmittedElem
HtmlHelpW
htmlInitAutoClose
htmlInitParserCtxt: out of memory
htmlIsAutoClosed
htmlIsBooleanAttr
htmlIsScriptAttribute
htmlNewDoc
htmlNewDocNoDtD
htmlNewParserCtxt
htmlNodeDump
htmlNodeDumpFile
htmlNodeDumpFileFormat
htmlNodeDumpFormatOutput
htmlNodeDumpOutput
htmlNodeStatus
htmlParseCharRef
htmlParseCharRef: context error
htmlParseCharRef: invalid value
htmlParseCharRef: missing semicolon
htmlParseCharRef: value too large
htmlParseChunk
htmlParseChunk: context error
htmlParseDoc
htmlParseDocTypeDecl : no DOCTYPE name !
htmlParseDocument
htmlParseDocument: context error
htmlParseElement
htmlParseElement: context error
htmlParseElementInternal: context error
htmlParseEntityRef
htmlParseEntityRef: expecting ';'
htmlParseEntityRef: no name
htmlParseFile
HTML parser 
htmlParseStartTag: context error
htmlParseStartTag: invalid element name
htmlParseTryOrFinish: invalid element name
htmlReadDoc
htmlReadFd
htmlReadFile
htmlReadIO
htmlReadMemory
htmlSaveFile
htmlSaveFileEnc
htmlSaveFileFormat
htmlSAXParseDoc
htmlSAXParseFile
htmlSetMetaEncoding
htmlTagLookup
HtOHt5Ht
HtqHt@Ht6HHt
HtrHtbHtFHt*
:(:H:T:t:
; ;@;H;T;t;
HttpClient
HttpContent
http-equiv
HTTP-EQUIV
httponly
#HttpOnly_
http_proxy
HTTP_PROXY
HttpQueryInfoW
HTTP response code said error
HttpResponseMessage
HTTP server doesn't seem to support byte ranges. Cannot resume.
HttpWebRequest
HtWHt;Ht
H UATAUAVAWH
h UAVAWH
_hudlessL9I
Huffman code size table overflow
Huffman decode error (Compressed data remains after filling expected output buffer).
Huffman decode error (Decoded an invalid symbol).
Huffman decode error (Invalid RLE length)
Huffman decode error (Invalid symbol in header).
Huffman decode error (Overrun).
Huffman decode error (RLE code with no previous symbol).
Huffman decode error (Symbol run beyond expected output buffer length).
Huge input lookup
HuI_ITIwIxIyI
hungarumlaut
Hungarumlaut
Hungarumlautsmall
HungIoEnforceAction
H USVWATAUAVAWH
H USVWAVAWH
H UVWATAUAVAWH
hvax64.exe
hvax64.pdb
HvcallStatus
HvfA9	rj
HvImageInfo
hvTaW:r2R
h VWATAUAWH
h VWATAVAWH
h VWAUAVAWH
H WATAUAVAWH
h WAVAWH
H WAVAWH
"HW Binding" state is not enabled.
HWndLayoutElement
hwndParent
HWND_UserFree
HWND_UserFree64
HWND_UserMarshal
HWND_UserMarshal64
HWND_UserSize
HWND_UserSize64
HWND_UserUnmarshal
HWND_UserUnmarshal64
    HW Power Brake Slowdown
 HW Power Brake Slowdown: External Power Brake Assertion is triggered (e.g. by the system power supply)
HW Power Brake Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of External Power Brake Assertion being triggered (e.g. by the system power supply)
HW Slowdown
HW Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of:
    HW Thermal Slowdown
HW Thermal Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of temperature being too high
 HW Thermal Slowdown: temperature being too high
h""""'ww
Hwx1164 42
HxK!zw(:
HXWiPjzy
??H@YA?AVCHString@@AEBV0@0@Z
??H@YA?AVCHString@@AEBV0@PEBG@Z
??H@YA?AVCHString@@PEBGAEBV0@@Z
HybridFirstSet
Hyperlink
HyperLink_Pen_Setting
Hyperlink_RequestNavigate
 HYPERVISORIPT 
hypheninferior
hyphensuperior
;);:;H;Z;h;l;r;|;
H_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3
        I
 [i0eQI;ms
i0n1b293
I110q|ce"
I"13V*#13
i16832geL9
i16832gemm
i16864gemm
i18n bidi over-ride 
I1P1[1g1m1
:!I2839d
I"299!3294
I2cAccessIoctlReadInputData
I2cAccessIoctlReadOutputData
I2cAccessIoctlWriteInputData
i328 54d
i37 braL
i3f273	#77
I5A3AV3T3
-i6g6D;C;
i6HFqjkLT
I6K6K*K(K
i6k6VJWJ
i'6LeC[a
I_7[12]w
i8042prt
i8816gemL9
i8816gemm
i?8dceR[
I8P9PwIvI
I8T6t'yp
I8t."OK6
I8TSPZka
I9D:I8tOH
I9H9mHmH
I9:u)A8h!t
I9:u)A8hYt
I9wq"X;Va
Iacutesmall
IAdminGenuineCheck InterfaceWW"
IAdminGenuineCheckWWd
@IAIBICIUIVIWIXIYI
iAMTxxxx
IAsyncResult
IAsyncStateMachine
IAT_Device InterfaceWW#
iBB0_313
iBB0_33"
#iBB0_33O
iBB0_33O
iBB0_34G
iBB0_36W
iBB0_37O
iBB0_40W
iBB0_41Q
iBB0_41S
iBB0_55L
IBindCtx
    IBMNPU
ICC_OVER_CLOCK_INWWW
:iCCPPhotoshop ICC profile
IChooserDispatch
icircumflex
Icircumflex
Icircumflexsmall
ICLRRuntimeHost
:?:i:C;N;
IComponentConnector
IconData
IConnector GetType failed! Result: 0x
IconSize
IContainer
ICorRuntimeHost
ICR High
Id263g	"51I
IdentificationCode
identifier
identifier '
identifier removed
Identify
IdentifyingDescriptions
#Identifying devices from the log file
IdentifyingNumber
identity
IdentityInfo
IdentityInfoType
IdentityInfoValue
IdentityReference
IdeographicDescriptionCharacters
IDERBootDevice
IDeviceAdapter
IDeviceAdaptersFactory
IDHDHHKIK
|      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
|        ID   ID                                                   Usage      |
idieresis
Idieresis
Idieresissmall
IDispatchExW
IDisposable
IdleWakeTimeout
Idn*Lamhy
IdnToAscii
Idotaccent
IDREFS split
IDriverApiData
IDriverApiProxy
idsTemplate
IEChooser.pdb
IEEE8021xAuthenticationProtocol
IEEE8021xSettingsInput
IEnumerable
IEnumerator
IeRd305]k
iertutil.dll
iEuMN[Ka
IEXDEBUGTHROW
I_f30350
IFJF2A3A3(4(
If-Modified-Since
if_nametoindex
IFormatProvider
If partition hash is zero - wrong MEU Tool was used to create the partition.
ifPK6float4S8_ii(
Ifraktur
*i)f)r(q(
if statement conditional expressions must evaluate to a scalar
IfsUtil.dll
IFU Errata Msr
IFU Errata Update
If-Unmodified-Since
             If you want to change the Windows User Account Control level replace the
            If you want to change the Windows User Account Control level replace the 
            If you want to utilize File and Registry Virtualization for backward 
I"G"3'3'?
I?GetSpriteLanguageWWW
iGF"F"F"F"F"F"F"F"F"Fi
Ignore chunked response-body
 IGNOREIFUERRATA 
                                Ignores the error that display is connected.
Ignoring driver reboot request for unstarted device.
Ignoring duplicate digest auth header.
Ignoring exception
Ignoring the response-body
Ignoring WM_ENDSESSION as required by the command line
Igravesmall
;igxT:fp
)I'H'F6F6
IH:iTE:82Q
:i?h?M:K:
I#Ho.OpUv
IH"r9UBc-
:':I:_:h:s:z:
i i0i1i.i
I I0I1I.I
i@i0i8i6i
I@I0I8I6I
i@iAi8i:i
I@IAI8I:I
IIDFromString
@i'i'e2d2
IIF mode called with incorrect channel pattern
ii.hO5be
iiiiiiiifieiccc_c_c_bc_bbbii
IIIIIIIIIIIIIIIII
IIIImmmm
#i'i'k'k'm'm'o'o'q'q's's'u'u'
i@iPiQiNi
I@IPIQINI
i@iPiXiVi
I@IPIXIVI
i	i	r	n	
'i' is only supported with debug builds.
IItemStore
i	i	t	t	
*I-J-."-"9)7)
"i-j-I)H)
I@Jul 18 2022
IkAkAV)W)p8o8
iKDa3sYJX
Il?333333c?
illegal byte sequence
Illegal byte sequence
Illegal or missing hexadecimal sequence
Illegal port number in EPSV reply
illustratorExePath
i[M0zfky
Image attribute name cannot be an empty string.
ImageBrush
" image channel is invalid.
Image channel name cannot be an empty string.
imageCubeArray
Image dimensions are not equal
IMAGE_EXCEEDS_PCIR_SIZE
 image files.  Current file format version is 
 ImageFlagsCaching
 ImageFlagsColorSpaceCMYK
 ImageFlagsColorSpaceGRAY
 ImageFlagsColorSpaceRGB
 ImageFlagsColorSpaceYCBCR
 ImageFlagsColorSpaceYCCK
 ImageFlagsHasAlpha
 ImageFlagsHasRealDPI
 ImageFlagsHasRealPixelSize
 ImageFlagsHasTranslucent
 ImageFlagsPartiallyScalable
 ImageFlagsReadOnly
 ImageFlagsScalable
ImageFormatBMP
ImageFormatEMF
ImageFormatEXIF
ImageFormatGIF
ImageFormatIcon
ImageFormatJPEG
ImageFormatMemoryBMP
ImageFormatPNG
ImageFormatTIFF
ImageFormatUndefined
Image format Unknown
ImageFormatWMF
Image Height
imagelessFramebuffer
_IMAGELIST
ImageList_AddMasked
ImageList_Create
ImageList_Destroy
ImageList_Draw
ImageList_GetIcon
ImageList_GetIconSize
ImageList_GetImageInfo
ImageList_LoadImageW
ImageList_Remove
ImageList_ReplaceIcon
imageName
__ImagePolicyMetadata
ImagePrecheckFailed
imageSize
Image Size
ImageSize
Image size is not correct
Image size is too small
IMAGE_SIZE_OUT_OF_BOUNDS
ImageSource
IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
IMAGE_TILING_LINEAR
IMAGE_TILING_OPTIMAL
Image too wide for this implementation
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
IMAGE_USAGE_SAMPLED_BIT
IMAGE_USAGE_STORAGE_BIT
IMAGE_USAGE_TRANSFER_DST_BIT
IMAGE_USAGE_TRANSFER_SRC_BIT
IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR
IMAGE_VERIFICATION_FAILURE
Image Version
imageView2DOn3DImage
imageViewFormatReinterpretation
imageViewFormatSwizzle
Image Width
IManageability_Commands ClassW!
IManageability_Commands InterfaceW
IManageability_CommandsW
ImClientRequestTask
ImdsLogTaskSchedule
ImdsSppEventResult
ImdsType
IMessageDispatcher
img_[126
img_[12672F
img_[1715
img_[171a
img_[3168N
img_[4160E
img_[544
img_[5440N
img_[6336E
img_[633wM
img_[784
img_[7840N
img_[8320E
img_version
iMicrosoft Basic Render Driver
IMM32.dll
Im@m@7)7)l7l7K.L.w#w#
IMMAFwdParamsE(
imma_sparse
ImmAssociateContext
ImmConfigureIMEW
ImmCreateContext
ImmDestroyContext
ImmDisableIME
ImmEnumRegisterWordW
ImmEscapeW
ImmGetCompositionStringW
ImmGetContext
ImmGetConversionStatus
ImmGetOpenStatus
ImmIsIME
ImmRegisterWordW
ImmReleaseContext
ImmSetCompositionStringW
ImmSetConversionStatus
(@ImPbm4
ImpersonateLoggedOnUser
ImpersonationLevel
implementation version
implementationVersion
ImplementedFeatures
ImplicitAllFoldersSelectionCount
ImplicitAllLibrariesSelectionCount
': implicit array missing initial value
?ImplicitPauseConversion@BuiVolume@@QEAAJXZ
implicit truncation of vector type
 #IMPLIED
 IMPLIED
impossible offsetSize
Improper link
Improper quantifier
:I;M;Q;U;Y;];a;e;i;m;
IM restore failure
iMsgType
inactive
InactivityTimeout
In "All On" mode everything is enabled and running at full speed.
inappropriate io control operation
Inappropriate message buffer length
inappropriate versionNum in FontDesc passed to BCSetUpValues()
incFastA..................
incFastAm.................
incFastB..................
Include document is empty
Include document root is not a grammar
INCLUDE END
Include node has no data
IncludeResultProperty
INCLUDE START
IncludeSubClassProperties
incompatible driver context
Incompatible setup executable found
incompatible version
INCOMPLETE
incomplete download and damaged media. Contact the
Incomplete IPI
inconsistent depth encountered
Inconsistent state data size in wnf_query
Inconsistent tensor sizes
Inconsistent tensor strides
Incorrect API version.
incorrect data check
incorrect header check
incorrect length check
incorrect number of arguments to numeric-type constructor
Incorrect region name in Master Access configuration file.
Incorrect Report ID received.
incorrect use of __syncthreads()
?_Incref@facet@locale@std@@UEAAXXZ
Increment
IncrementConfidence
incSlowA..................
incSlowAm.................
incSlowB..................
independentBlend
independentResolve
independentResolveNone
inDesignExePath
IndexForToolbarSettings
Index missing TAG_INDEX_BITS
Index missing TAG_INDEX_KEY
Index missing TAG_INDEX_TAG
indexTypeUint8
indexWWW
Indicates sensor reported fatal error during reset sequence. Further progress is not possible.
Indicates sensor reported non-fatal error during reset sequence.
Indicates sensor went through an unexpected reset.
IndicationFilterName
IndicationIdentifier
IndicationTime
indicatorType
IND)ind)
IND)ind).
IND)ind)cos
IND)ind)d
IND)ind)S
IND)ind)sin
IND)ind)SNAN)
IND)ind)UUUUUU
Indirect
Indirect Ink
INF file
INF files
infinity
-Infinity
Infinity
-infinity date value
InfInstaller
InfInstallerExe
InfIntallHelperDLL
 inflate 1.2.11.f Copyright 1995-2016 Mark Adler 
 inflate 1.2.3 Copyright 1995-2005 Mark Adler 
 inflate 1.2.8 Copyright 1995-2013 Mark Adler 
InflateRect
info_button
InfoFormat
infoName
Information
Information about GPU.
Information about remapped rows.
information on author 
INFOROM_DRAM_RETIREMENT_EVENT
INFOROM_DRAM_RETIREMENT_FAILURE
inforom.ecc
INFOROM_ERASE_LIMIT_EXCEEDED
inforom.image
inforom.img
inforom.oem
inforom.power
inforom.pwr
    Inforom Version
INF package name
INF source location
InHandshake
	Inherited
inheritedConditionalRendering
inheritedQueries
in interleave computation
_initatexit_app_domain
_initatexit_m
initBridegePath
?Init@BuiVolume@@QEAAJPEAG@Z
InitColorRecord
InitCommonControlsEx
?Init@ConfigPolicyAgent@@QEAAXXZ
initDeviceReservedSpace fail
initdocbDefaultSAXHandler
initGenericErrorDefaultFunc
initHostReservedSpace fail
inithtmlDefaultSAXHandler
initialHeight
initialization error
Initialization failure
Initialize
Initialize1667UserPassword
InitializeAcl
?Initialize@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
InitializeArray
?Initialize@ARRAY@@QEAAEKK@Z
?Initialize@BYTE_STREAM@@QEAAEPEAVSTREAM@@K@Z
?Initialize@CLASS_DESCRIPTOR@@QEAAEPEBD@Z
InitializeComponent
InitializeConditionVariable
InitializeCriticalSection
InitializeCriticalSectionAndSpinCount
InitializeCriticalSectionEx
InitializeCURL
initialized
Initialized
initialized successfully
?Initialize@FLAG_ARGUMENT@@QEAAEPEAD@Z
?Initialize@FSN_FILTER@@QEAAEXZ
?Initialize@FSTRING@@QEAAPEAVWSTRING@@PEAGK@Z
InitializeGdiplus
InitializeInProcLogger
InitializeInProcTraceFlushTrigger
InitializeInProcTraceSession
?Initialize@LONG_ARGUMENT@@QEAAEPEAD@Z
?Initialize@MULTIPLE_PATH_ARGUMENT@@QEAAEPEADEE@Z
_initialize_narrow_environment
_initialize_onexit_table
?Initialize@PATH_ARGUMENT@@QEAAEPEADE@Z
?Initialize@PATH@@QEAAEPEBV1@E@Z
?Initialize@PATH@@QEAAEPEBVWSTRING@@E@Z
InitializeProcThreadAttributeList
?Initialize@PROGRAM@@QEAAEKKK@Z
initializer_list
InitializeSecurityContext
InitializeSecurityDescriptor
InitializeSid
InitializeSListHead
InitializeSRWLock
?Initialize@STRING_ARGUMENT@@QEAAEPEAD@Z
_initialize_wide_environment
?Initialize@WSTRING@@QEAAEPEBDK@Z
?Initialize@WSTRING@@QEAAEPEBGK@Z
?Initialize@WSTRING@@QEAAEPEBV1@KK@Z
?Initialize@WSTRING@@QEAAEXZ
Initializing
initializing COM
 initializing deepscanline reader
initializing security
initialOutputBufferSize
initialRandomSeed
initials
': initial value (
': initial value must be a literal expression
initialWidth
InitiateShutdownA
InitiateShutdownW
InitiateSystemShutdownExW
InitiateSystemShutdownW
?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z
initLogger
initMozbiiDll
initname 
InitNetworkAddressControl
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceGetStringTableOffset
InitOnceGetStringTableOffset succeeded but failed to find string table
InitOnceScanIndexes
InitProcessPriv
InitPropVariantFromCLSID
InitReader
initScriptPath
InitSecurityInterfaceA
?initSparsityRatio@TensorDesc@cask@@QEAAXPEBX@Z
InitTelemetry
_initterm
_initterm_e
_initterm_m
InitThread
initWatcher
initxmlDefaultSAXHandler
inject_errors
inject [n] errors at random locations
InjectTools
Ink(t[O37G
inline subwindow 
inlineUniformBlock
in_memory_buffer
innerException
INotifyPropertyChanged
InprocLogger.dll
	InputAm:
	InputB:
inputBytes
                                    Input can also be a singular desired clock value
Input configurable file contains cse file name duplicates.
inputData
InputFile cannot handle parts of type 
Input file is too big.
Input File Name must be specified
Input file read error
Input graphics clock in MHz (required)
INPUT_MAN
Input memory clock in MHz (optional)
': input parameter '
inputPop
Input profile ID (required)
inputPush
Input reference outside of the buffer
inputReportReceived
?inputScalarsPerElement@PoolingShader@cask@@UEBAHXZ
Input selector activated
Input should be 0 or 1. See nvidia-smi -h.
inputStream
?inputVectorizedDim@PoolingShader@cask@@UEBAHXZ
in_pVoid
InsecureAddress
InSendMessage
inserted text
	?Insert@Element@DirectUI@@UEAAJPEAPEAV12@II@Z
InsertMenuItemW
InsertMenuW
in skip-state
Installation failed
Installation of driver by limited User is allowed
Installation of driver is blocked by policy!
InstallDate
Install Device: Configuring device.
Install Device: Configuring device completed.
Install Device: Setting up device.
Install Device: Setting up device completed.
InstalledDeviceCount
InstalledDriverUpdateCount
InstalledSoftware
InstallerCollection
installerInfo
Installer integrity check has failed. Common causes include
installerPath
installer's author to obtain a new copy.
InstallerServiceName
InstallEventArgs
InstallEventHandler
InstallFlags
Installfolder
InstallFontFile
InstallFunction
Installing NULL driver!
InstallInstantOn
InstallLegacyDeviceDriver
InstallPowerManager
InstallSecurityPromptLUA
InstallSelectedDriver
InstallTppwrDriver
_instance
Instance
INSTANCE
?instance@CHistoryVaultMainWindow@@0PEAV1@EA
instance definition
InstanceID
Instance Layers
instanceName
INSTANCE_NOT_FOUND
instance of a variable or program argument
InstanceSelected
InstantOnExeName
InstantOnInitializeSetup
InstantOnServiceName
instapick.com?
InstHelper.dll
instnaceId
instruction execution at
INSUFFICIENT_BUFFER
Insufficient External Power
insufficient memory
Insufficient Memory
Insufficient Permissions
Insufficient Resources
INSUFFICIENT_RESOURCES
InsufficientSelectors
Insufficient Size
insufficient winsock version to support telnet
__int128
int32_i8816cudnn
int32_icudnn
Int32Rect
Int8GemmMetadataReorderILb1EEEvPvPKvx
int8_i16832gemm_int8
int8_i8816cudnn
int8_i8816gemm
int8_i8816gemm_int8
int8_icudnn
int8_igemm_int8
int8x4_icudnn
Integer addition overflow.
integerDotProduct16BitMixedSignednessAccelerated
integerDotProduct16BitSignedAccelerated
integerDotProduct16BitUnsignedAccelerated
integerDotProduct32BitMixedSignednessAccelerated
integerDotProduct32BitSignedAccelerated
integerDotProduct32BitUnsignedAccelerated
integerDotProduct4x8BitPackedMixedSignednessAccelerated
integerDotProduct4x8BitPackedSignedAccelerated
integerDotProduct4x8BitPackedUnsignedAccelerated
integerDotProduct64BitMixedSignednessAccelerated
integerDotProduct64BitSignedAccelerated
integerDotProduct64BitUnsignedAccelerated
integerDotProduct8BitMixedSignednessAccelerated
integerDotProduct8BitSignedAccelerated
integerDotProduct8BitUnsignedAccelerated
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating16BitSignedAccelerated
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating32BitSignedAccelerated
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating64BitSignedAccelerated
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating8BitSignedAccelerated
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
': integer fields have the 'nointerpolation' qualifier by default
Integer multiplication overflow.
Integer overflow!
': integer parameters have the 'nointerpolation' qualifier by default
integral
integralbt
integralex
integral literal
integraltp
integrity
	intel.com0
Intel Corporation
Intel Corporation0
Intel Corporation1
Intel Corporation1)0'
Intel External Issuing CA 7B
Intel External Issuing CA 7B0
Intel ID
Intel integrated LAN setting is set incorrectly.
Intel LAN Connected Device (PHY) physical connectivity error with ME.
Intel(R) AMT
Intel(r) AMT:All
Intel(R) AMT disable attempt detected
Intel(r) AMT:Features
Intel(R) AMT Time: 
Intel(r) AMT:WiFi Endpoint User Settings 
Intel(R) MEBx
Intel (R) ME Interface : Unsupported message type.
Intel(R) ME is still in Manufacturing Mode.
Intel(R) ME WLAN Link Protection is OFF
Intel(R) ME WLAN Link Protection is ON (HIGH)
Intel(R) ME WLAN Link Protection is ON (PASSIVE)
Intel(R) test timeout (exceeded 30 seconds).
 Intel Thunderbolt(TM) Technology0
interactive form 
Interactivity with your design application may be impacted.
InterDomainConnection
InterDomainConnectionControl
InterDomainConnectionControlActionTypes
InterDomainConnectionControlData
InterDomainConnectionInfo
InterDomainConnectionNode
InterDomainConnectionState
interDomainInfo
                    interest. This number can be determined by running
interface
interfaceClassGuid
InterfaceClassGuid
Interface does not exists.
Interface ID: 
Interface ID Type: 
InterfaceIDType
Interlaced
interleaH9
interleave
InterleavePosition
Interlocked
InterlockedAdd(
InterlockedAnd(
InterlockedCompareExchange(
InterlockedExchange(
InterlockedFlushSList
InterlockedMax(
InterlockedMin(
InterlockedOr(
InterlockedPopEntrySList
InterlockedPushEntrySList
InterlockedXor(
Internal application error
Internal: ATTRIBUTE struct corrupted invalid def
Internal: ATTRIBUTE struct corrupted invalid type
internal buffer 
internal_dumpGpuComponent() succeeded
internal_dumpNvLogComponent() skipped unsupported NVLOG component
internal_dumpNvLogComponent() succeeded
internal_dumpSystemComponent() succeeded
Internal: ELEMENT content corrupted invalid type
Internal: ELEMENT cur corrupted invalid type
Internal: ELEMENT decl corrupted invalid type
Internal: ELEMENT struct corrupted invalid type
internal error
Internal error
Internal Error
InternalError
INTERNAL_ERROR
Internal error: call of CimBase::GetMetaData
Internal error - Failed to match.
Internal error - Failed to retrieve Platform Attribute.
Internal error - Illegal data length.
Internal error - Illegal data value.
Internal error - Invalid Heci response length.
Internal error - Invalid password.
Internal error! Memory allocation miscalculation
Internal error - Modified local password.
Internal error: no define
Internal error: no state
Internal error (operation failed)
Internal error (operation timeout)
Internal error - Out of memory.
Internal error - Password length is incorrect.
Internal Error (Safe function wrapper error: compose string).
Internal Error (Safe function wrapper error: compose string from list).
Internal Error (Safe function wrapper error: Invalid size).
Internal Error (Safe function wrapper error: memncpy).
Internal Error (Safe function wrapper error: strncat).
Internal Error (Safe function wrapper error: strncpy).
Internal Error (Safe function wrapper error: strtok).
Internal error - SMBus Read Byte PEC failure.
Internal error: start element not found
Internal error - Unable to compress.
Internal error - Unable to get current PP.
Internal Error. Unexpected error occurred.
Internal error: Unexpected packet
Internal error: xmlParseGetLasts
Internal exception occured
Internal found no define for parent refs
INTERNAL_GENERAL_ENTITY 
internal_getDumpBuffer
Internal: interleave block has no data
internal_loops
Internal: MIXED struct corrupted
InternalMpServer
internal: no atom generated
Internal nvidia-smi error
Internal nvidia-smi error. Unexpected modification operation.
Internal NVML error
INTERNAL_PARAMETER_ENTITY 
Internal problem setting up the POST
Internal state machine error
InternalsVisibleToAttribute
 interned
InternetCloseHandle
InternetOpenUrlW
InternetOpenW
InternetReadFile
InternetSetOptionW
' interpolation qualifiers do not match vertex shader ones
[INTERR] Format specifier has unknown type
interrupted
Interrupted function call
InterruptPin
Interrupt Request Issue
IntersectClipRect
intersection
IntersectRect
interval
Interval
INTERVAL
intervals
    interval. This tool lists the statistics for all the compute and 
in the Update Image for Full Update.
int or unsigned int type required
int(__screensize.x)
int(__screensize.y)
In use by another client
Invalid 
INVALID_ACCESS
Invalid access from: 
Invalid Access node name in Master Access configuration file.
InvalidAddress
INVALID_ADDRESS
invalid address of constant
Invalid all hashes state file.
Invalid answer to PASV
invalid argument
invalid_argument
Invalid argument
Invalid argument.
Invalid Argument
Invalid argument count
Invalid arguments
InvalidArguments
invalid argument type
InvalidateGadget
InvalidateRect
InvalidateRgn
Invalidate successful.
invalid bit length repeat
invalid bitset position
Invalid Block Erase Size.
invalid blocksize value in OACK packet
invalid block type
Invalid BMP file: bad header length
Invalid BMP file: biPlanes not equal to 1
Invalid BootGuard configuration.
invalid buffer
Invalid buffer length.
Invalid buffer size
INVALID_CERT
Invalid cert hash file.
Invalid cfg rule data.
invalid channel descriptor
invalid character in attribute value
invalid character value
Invalid CharString
INVALID_CHECKSUM
invalid code lengths set
invalid code -- missing end-of-block
Invalid color quantization mode change
Invalid combination of input arguments. Please run 'nvidia-smi -h' for help.
Invalid COM Descriptor virtual address encountered
INVALID_COMMAND
Invalid command line option(s).
invalid configuration argument
Invalid configuration server FQDN value.
Invalid Content-Length: value
Invalid context position
Invalid context size
invalid copy direction for memcpy
Invalid COR20 Metadata signature encountered
Invalid COR20 Metadata virtual address encountered
Invalid crop request
Invalid data
Invalid data window in image header.
Invalid Date
Invalid DateTime
invalid decimal character value
Invalid descriptor region.
Invalid device.
invalid device context
invalid device function
invalid device ordinal
invalid device pointer
invalid device symbol
invalid digit count
Invalid display window in image header.
invalid distance code
invalid distances set
invalid distance too far back
Invalid EHBC state file.
Invalid Enable Write Status Register Command value.
invalid entity type found
InvalidEnumerationContext
InvalidEPR
Invalid ErrAction specified
invalid escape
Invalid escape value
InvalidEvent
InvalidExpirationTime
invalid expression
Invalid expression
Invalid FIA MUX configuration.
invalid fill
InvalidFormat
invalid format specifier for char
invalid format string
InvalidFragment
Invalid Frequency
invalid function call outside of a function
Invalid FW Update enabled state.
Invalid GPU passed to --sync-boost-add. GPUs must be identical and not part of any existing groups.
Invalid handle
Invalid Handle
INVALID_HANDLE_VALUE
INVALID_HASH
invalid hash bucket count
Invalid hash certificate file.
INVALID_HASH_HEADER_VERSION
invalid hexadecimal character value
Invalid host FQDN domain name.
Invalid host FQDN file.
Invalid host FQDN hostname.
invalid host pointer
Invalid ID
Invalid idle timeout file.
invalid index in escINDEX
Invalid input packet
Invalid IPv6 address format
Invalid JPEG file structure: missing SOS marker
Invalid JPEG file structure: SOS before SOF
Invalid JPEG file structure: two SOF markers
Invalid JPEG file structure: two SOI markers
Invalid key code count (must be between 0 and 9999).
Invalid key code film manufacturer code (must be between 0 and 99).
Invalid key code film type (must be between 0 and 99).
Invalid key code number of perforations per count (must be between 20 and 120).
Invalid key code number of perforations per frame (must be between 1 and 15).
Invalid key code perforation offset (must be between 0 and 119).
Invalid key code prefix (must be between 0 and 999999).
Invalid LDAP URL
Invalid length of Manufacturing Line Configurable value.
Invalid level mode in image header.
Invalid level rounding mode in image header.
Invalid line order in image header.
Invalid match file length
InvalidMessage
InvalidMessageInformationHeader
Invalid MOF file name
Invalid MPHY length.
InvalidName
InvalidNamespace
Invalid number of arguments
invalid number of digits
invalid numeric character entity
Invalid OEM data.
invalid OpenGL or DirectX context
Invalid operand
InvalidOperationException
Invalid option format 
InvalidOptions
Invalid or incomplete context
invalid othersubr #4
InvalidParameter
INVALID_PARAMETER
_invalid_parameter_noinfo
_invalid_parameter_noinfo_noreturn
Invalid parameter passed to C runtime function.
Invalid parameter value specified by user. Use -? option to see help.
INVALID_PARAMS
Invalid Partition ID. Use a Partition ID which is on the Flash Image.
Invalid Partition ID. Use a Partition ID which is possible to do Partial FW Update on.
Invalid path size
Invalid PCI bus id format. Try format [domain:]bus:device.function E.g. 0:2:0.0
INVALID_PCI_DATA_SIG
Invalid PCIe configuration data.
INVALID_PCI_HEADER
INVALID_PCI_ROM_SIG
Invalid pdb
INVALID_PEM_FORMAT
Invalid PI name
invalid pitch argument
Invalid pixel aspect ratio in image header.
Invalid pixel type
Invalid PKI suffix file.
Invalid predicate
Invalid privacy level file.
invalid process contents
Invalid profile
invalid program counter
Invalid provisioning state file.
InvalidRealm
Invalid record format.
Invalid redirection state file.
invalid relu setting or value
InvalidRepresentation
Invalid RequiredValue node name in Master Access configuration file.
INVALID_RESOURCE
invalid resource handle
InvalidResourceURI
Invalid screen window width in image header.
Invalid sdb lookup buffer request
Invalid sdb lookup total buffer request
invalid seek
Invalid seek
InvalidSelectorAssignment
InvalidSelectors
Invalid sequence in interleave
Invalid server address.
INVALID_SESSION_ID
INVALID_SIGNATURE_HEADER_VER
Invalid SOS parameters for sequential JPEG
INVALID_STATE
invalid stoi argument
invalid stored block lengths
invalid stoul argument
invalid string position
Invalid string value entered for the Manufacturing Line Configurable.
invalid subscript '
invalid subscript on array
invalid surface reference
InvalidSystem
invalid texture reference
Invalid tile size in image header.
InvalidTimeout
Invalid timeslice value specified at the command-line. Check the nvidia-smi help command for acceptable timeslice values
Invalid TIMEVALUE
invalid token
Invalid type
invalid type for case expression - value must be an integer scalar
invalid type for index - index must be an integer scalar
invalid type specifier
Invalid user consent policy file.
InvalidValue
Invalid value for maxOccurs (must be 0 or 1)
Invalid value for minOccurs (must be 0 or 1)
Invalid value for number of samples to be displayed
Invalid value for this CVAR.
InvalidValues
Invalid value specified at the command-line. Check the nvidia-smi help command for acceptable values for vboost slider
Invalid value type
invalid vector subscript
Invalid version of compressed data block
invalid window size
Invalid Write Granularity value.
Invalid XML encoding name
Invalid XML error code conversion.
Invalid XML file with timings
Invalid Zip Mode
invbullet
invcircle
INVDESTALPHA
INVDESTCOLOR
inverted case actually used
InvertedCommunicationEventData
InvertedCommunicationEventInputData
InvertRect
InvokeFromCache registry key not found. Will not invoke setup from cache
InvokeMember
InvokeMethod
InvokeMethodOptions
invsmileface
INVSRCALPHA
INVSRCCOLOR
I;N wArLI
__iob_func
IObjectWithSite
IoctlBase
IoctlMethod
io error
IOleObject
Iommu: Break on error
IOMP partition hash and calculated hash are not the same.
IO Patrol Dog has detected a DOUBLE DISK WHAMMY!!!
ios_base::badbit set
ios_base::eofbit set
ios_base::failbit set
iostream
iostream stream error
iotadieresis
Iotadieresis
iotadieresistonos
iotatonos
Iotatonos
iOVMGTy07
 IOVTEST 
IozJMro@
IpAddress
IPAddress
IP Address Type: 
IPAExtensions
IPageState
IPart interface GetLocalId failed! Result: 0x
iphlpapi.dll
IPHLPAPI.DLL
IpRenewAddress
IPS_8021xCredentialContext
IPS_AdminProvisioningRecord
IPS_AlarmClockOccurrence
IPS_ClientProvisioningRecord
IPS_DALProvisioningRecord
IPS_HostBasedSetupService
IPS_HostBootReason
IPS_HostIPSettings
IPS_IderSessionUsingPort
IPS_IEEE8021xSettings
IPS_IPv6PortSettings
IPS_KVMRedirectionSettingData
IPS_KvmSessionUsingPort
IPS_LANEndpoint
IPS_ManualProvisioningRecord
IPS_OptInService
IPS_PowerManagementCapabilities
IPS_PowerManagementService
IPS_ProvisioningAuditRecord
IPS_ProvisioningRecordLog
IPS_RasSessionUsingPort
IPS_ScreenConfigurationService
IPS_ScreenSettingData
IPS_SecIOService
IPS_SessionUsingPort
IPS_SolSessionUsingPort
IPS_TLSProvisioningRecord
IPS_WatchDogAction
IpSyncEnabled
IP synchronization disabled
IP synchronization enabled
IPTHI_Commands InterfaceWW
?;?I?P?V?
IPv4 Address: 
IPv4_AntiSpoofingCapable
IPv4_MaxRxCounters
IPv4_MaxRxFilters
IPv4_MaxTxCounters
IPv4_MaxTxFilters
IPv6 Address: 
IPv6Address
IPv6_AntiSpoofingCapable
IPv6_MaxRxCounters
IPv6_MaxRxFilters
IPv6_MaxTxCounters
IPv6_MaxTxFilters
IPv6 parameters Set
IPv6_to_IPv4_Ratio
;(;I;P;Y;
Ir1o1F3E3
IResourceReader
'IR m|i?
I_RpcBindingIsClientLocal
I_RpcExceptionFilter
I_RpcMapWin32Status
iRrc;65Xl
IRtkAudUServiceCOMNotificationClient
IRtkAudUServiceCOMNotificationClient Interface
IRtkAudUServiceCOMObject
_IRtkAudUServiceCOMObjectEvents InterfaceW
_IRtkAudUServiceCOMObjectEventsW
IRtkAudUServiceCOMObject Interface
Is5900PortEnabled
IsAccelerator
IsActive
IsAdditionalAudio
is a directory
Is a directory
isAllowed
IsAllowWHQLChecks
IsAppThemed
IsArm64Machine
IsAtMetroUI
IsBasedOnUnderlyingRedundancy
?isBTransposed@ConvDgradShader@cask@@QEBA_NXZ
?isBTransposed@ConvShader@cask@@QEBA_NXZ
IsCharLowerW
IsClipboardFormatAvailable
IsCompatible
IsConnectedStandbySystem
	?IsContentProtected@Element@DirectUI@@UEAA_NXZ
?IsConverting@VolumeFveStatus@@QEBA_NXZ
IsCorporationInstalled
?IsCorrectVersion@SYSTEM@@SAEXZ
?IsCsvMetadataVolume@VolumeFveStatus@@QEBA_NXZ
IsCurrent
IsDBCSLeadByte
ISD_ControlPanel.exe
ISDDocLocation
?IsDEAutoProvisioned@VolumeFveStatus@@QEBA_NXZ
IsDebuggerPresent
?IsDecrypted@VolumeFveStatus@@QEBA_NXZ
?IsDecrypting@VolumeFveStatus@@QEBA_NXZ
IsDefault
IsDefaultAppDomain
	?IsDescendent@Element@DirectUI@@QEAA_NPEAV12@@Z
?isDgrad@ConvShader@cask@@UEBA_NXZ
IsDialogMessageW
?IsDisabled@VolumeFveStatus@@QEBA_NXZ
IsDlgButtonChecked
IsDontSkip
iSDp6]6|
?IsDrive@PATH@@QEBAEXZ
?IsDriveTypeHDD@HardDiskInfoCollector@StorageCollector@@SA_NXZ
-isd-securedriver-
-isd-setupexe-
ISD Stylus
ISDTabCPLComment
ISDTabCPLName
ISD_Tablet.dat
ISDTabletDefaults.xml
ISD_Tablet.dll
-isd-tabletdriver-
ISD_Tablet.exe
-isd-tabletinstaller-
ISDTabletRunningMutex
-isd-tabletservice-
ISDTabletUserDefaults.xml
ISD_TabletUser.exe
ISDTabUserDrvWinClass
ISD Touch
ISDTouchDefaults.xml
ISDTouchRunningMutex
ISD_Touch_Tablet.dll
ISDTouchUserDefaults.xml
ISD_TouchUser.exe
ISDTouch.xml
?IsEDriveVolume@VolumeFveStatus@@QEBA_NXZ
?IsEncrypted@VolumeFveStatus@@QEBA_NXZ
?IsEncrypting@VolumeFveStatus@@QEBA_NXZ
IsEnergyColorBlack
IsEnterpriseInstalled
IsEntity
?IsEntryPresent@AUTOREG@@SAEPEBVWSTRING@@@Z
IsEqualGUID
IsExplicitlyDereferenced
IsFeatureNameValid
IsFileTypeValid
?IsFileValid@CertificateValidationWrapper@@SA_NPEBG@Z
?isFilter1x1@ConvShader@cask@@QEBA_NXZ
isFixedPitch
is from the older installed drivers
IsFrozen
?IsFveNotifyNecessary@BuiVolume@@QEBA_NXZ
	?IsGlobal@ClassInfoBase@DirectUI@@UEBA_NXZ
isHardwareEncoding
ISHC partition hash and calculated hash are not the same.
IShellBrowserService
IShellItem
IShellNavigationTarget
IShellTravelLogUI
IShellView
ISH Internal Error.
?isHmmaSp16832@GemmShader@cask@@QEBA_NXZ
IsIconic
ISIC partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
ISIF partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
IsImageStateComplete
?isImma16832@GemmShader@cask@@QEBA_NXZ
?isImma8816@GemmShader@cask@@QEBA_NXZ
?isImmaSp16864@GemmShader@cask@@QEBA_NXZ
IsImplicitlyDereferenced
_isInitialized
IsInstantOnCapable
IsInstantOnSupportSystem
IsInternetConnected
) is invalid.
IsJitIntrinsic
IsLargeBuildNumber
IsLeafCertificate
IsLegacySensor
IsLocked
?IsLocked@VolumeFveStatus@@QEBA_NXZ
IsLoggingEnabledForSeverity
IsMaximusQuadro
IsMaximusTesla
_ismbblead
)IsMeasuredBootStateW"
IsMetadataServiceWithResponse
 is missing.
) is missing.
 is missing an argument
' is missing semantics
	?IsMSAAEnabled@HWNDElement@DirectUI@@UEAA_NXZ
?isNchw@ConvDgradShader@cask@@QEBA_NXZ
?isNchw@ConvShader@cask@@QEBA_NXZ
?isNchw@ConvWgradShader@cask@@UEBA_NXZ
IsNegated
?isNhwc@ConvDgradShader@cask@@QEBA_NXZ
?isNhwc@ConvShader@cask@@QEBA_NXZ
?isNhwcOutput@ConvShader@cask@@QEBA_NXZ
?isNhwcOutput@ConvWgradShader@cask@@UEBA_NXZ
is not a supported image type.
 is not a unique name.
) is not a valid GPU index. 
) is not a valid tile.
" is not compatible with the frame buffer's pixel type.
IsNullOrEmpty
IsNullOrWhiteSpace
ISO-10646-UCS-2
ISO-10646-UCS-4
ISO-2022-JP
ISO-8859-1
ISO-8859-10
ISO-8859-11
ISO-8859-13
ISO-8859-14
ISO-8859-15
ISO-8859-16
ISO-8859-2
ISO-8859-3
ISO-8859-4
ISO-8859-5
ISO-8859-6
ISO-8859-7
ISO-8859-8
ISO-8859-9
?isOK@ComInit@UDC@@QEBA_NXZ
isolat1ToUTF8
ISO LATIN 1
ISO-LATIN-1
ISO LATIN 2
ISO-LATIN-2
IsolationAware function called after IsolationAwareCleanup
?IsOn@VolumeFveStatus@@QEBA_NXZ
?IsOsCriticalVolume@VolumeFveStatus@@QEBA_NXZ
?IsOsVolume@VolumeFveStatus@@QEBA_NXZ
?isPacked5@TensorDesc@cask@@QEBA_NHHHHH@Z
?IsPartiallyConverted@VolumeFveStatus@@QEBA_NXZ
IsPartner
?IsPaused@VolumeFveStatus@@QEBA_NXZ
IsPhoneOS
?IsPreProvisioned@VolumeFveStatus@@QEBA_NXZ
IsProcessDPIAware
IsProcessInIsolatedContainer
IsProcessInJob
IsProcessOpen
IsProcessorFeaturePresent
IsPwrMgrInstalled
is?Qu*.G
IsReadOnly
IsRebootAfterProvisioningNeededW
IsRectEmpty
IsRestoreSession
?IsRoamingDevice@VolumeFveStatus@@QEBA_NXZ
IsRootCertificate
	?IsRTLReading@Element@DirectUI@@UEAA_NXZ
                    is run.
is_running
Is Running
IsSaveAsText
IsSaveAsXML
IsSaveOnly
isScreenPicking
?IsSecure@VolumeFveStatus@@QEBA_NXZ
isServerVersionSupported
_isSetup
isShellExecuteExWPresent
IsShowToast
IsSignUnspecifiedByte
?isSimilar@TensorDesc@cask@@QEBA_NAEBU12@@Z
?isSparse@GemmShader@cask@@QEBA_NXZ
?isSparse@TensorDesc@cask@@QEBA_NXZ
IsSpeedInMhz
?isSplitK@ConvDgradShader@cask@@QEBA_NXZ
?isSplitK@ConvShader@cask@@QEBA_NXZ
IsStart64Bit
?isStridedB@ConvDgradShader@cask@@QEBA_NXZ
?isStridedB@ConvShader@cask@@QEBA_NXZ
	?IsSubclassOf@ClassInfoBase@DirectUI@@UEBA_NPEAUIClassInfo@2@@Z
isSuccess
IssuedTokens
issuerAltName
Issuer check against peer certificate failed
IsSwitchingSupply
?IsSystemProcess@ProcessWrap@UDC@@SAHXZ
is the driver cache for the current installed driver
IsThemeBackgroundPartiallyTransparent
IsTimeValid
IsUdtReturn
IsUnicodeMode
?IsUnknownFveVersion@VolumeFveStatus@@QEBA_NXZ
isuperior
ISupportInitialize
isUsb4Device
IsUsb4Device
IsValidCodePage
IsValidLocale
IsValidLocaleName
	?IsValidProperty@ClassInfoBase@DirectUI@@UEBA_NPEBUPropertyInfo@2@@Z
IsValidSecurityDescriptor
IsValidSid
?IsValueSet@ARGUMENT@@QEAAEXZ
IsVantageInstalled
IsVersionNumberValid
IsVolatile
IsWakeOnGrabCapable
iswalpha
iswascii
iswctype
iswdigit
isWebAPIcompleted
IsWellKnown
?isWgrad@ConvShader@cask@@UEBA_NXZ
IsWin8OrGreater
IsWindow
IsWindowEnabled
IsWindows10
IsWindows11
IsWindowUnicode
IsWindowVisible
?IsWiping@VolumeFveStatus@@QEBA_NXZ
iswlower
IsWow64Process
IsWow64Process2
iswspace
isxdigit
IsXXXX expected
IsZoomed
ItalicAngle
italic text style
iTb_'Cnv
it[d6p	h6
_ITEMIDLIST_ABSOLUTE
_ITEMIDLIST_RELATIVE
itemType
IterationCount
IterationIdentifier
IteratorStateMachineAttribute
Itg@25;9J
It is an error for both 'length' and either of 'minLength' or 'maxLength' to be specified on the same type definition
: it is more than 
It is not allowed to do Partial Update on this partition.
It is possible only before the OS is running using Bios Capsule Update.
ITravelEntry
ITravelLog
It]s]ZAZA
iTXtXML:com.adobe.xmp
ITypeDescriptorContext
;;;I;U;_;
iUBB0_7T
IUdcPluginHostImpl
I@((UDT2
IUIVIWIXIYI
IumSdk.dll
IUnknown
IUnknown_AddRef_Proxy
IUnknown_GetWindow
IUnknown_QueryInterface_Proxy
IUnknown_Release_Proxy
IUNP partition hash and calculated hash are not the same.
_IUNSAlertEvents 
_IUNSAlertEvents Interface
IUNSAlert InterfaceWWW
IUP Not Found.
iuXl#w#mM
IValueConverter
IViewFilters
|i;Vjith
IV_'rMeo
;";I;W;b;m;t;
:I:W:c:v:
IWin32Window
iwNJTwsZ
IWRb32 pv
:?;I;X;f;n;t;
iXk@?*_(
IXmlNode
#iZ.dR"X
IZEn.3[l
iZrOs!9Aj 
 j01zecF:
*-"-"j0i0
J0O0g0l0
#J10_3DGV10_27]
j1Hd366)
j1l14O4Og0g0
j	1r10Y	1r10H	Er102
:J2648Hp
j	!30x	?303C
.J3H3S4S4l#m#g*g*
j3n3r3v3
!j3oHfyN 
j@5JKsR|
j5lMpM2b
]J6BxOiS
j6j6dMcM
j6McM[bR
_J8E_t0f
(j8k8S;R;
J932IAgN
J9N9R9V9
JanFebMarAprMayJunJulAugSepOctNovDec
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
JAOSOSSSM5MJ'@
ja|P|7C_
java applet 
JavaScriptSerializer
jBB0_222
(jBB0_43N
jBB0_55;7"26
JBd87];U
jc201 42
jcircumflex
Jcircumflex
jCkCICJC
J;D10t	H
j!D	8D7n
JD9JHtXj
?jDhuxz-
?@?J?d?n?
JdXgXJZJZ
?Jejpupl
:-:J:e:q:
Jersey City1
j;E?s|cSB
JetAttachDatabase3W
JetBeginSessionW
JetDBUtilitiesW
JetDetachDatabaseW
JetEndSession
JetGetDatabaseFileInfoW
JetGetErrorInfoW
JetGetLogFileInfoW
JetGetSystemParameterW
JetInit4W
JetRestore2W
JetSetSystemParameterA
JetSetSystemParameterW
JetTerm2
JetTestHook
J#f2BN9224
!@JF)Its
JFKFOAQA
jfMY6ebdE
jfxFilePathAI
jfxFilePathID
jfxFilePathPS
jfxFolderPath
JgEhEE5E5
|JGHx;PC
jgJhJ6;6;
jGlGgAfAi(h(
jG;'n[TX
j	_HkpW;7
j	h	p	n	
Ji4g4U8U8
JiAiAH-I-
JiC8Y(M8X
J[IgOHqz
J]IiPhvD
JIKICPDPEPFPGPHP
)]jiL0*r
JiT9aLoEF
JIUNSAlertWWW
jIX	mwl[
jIyctaid.zY
" "j)i)y)z)
#j!j!' ' !"
:J@J@ : :
j j0j1j.j
J J0J1J.J
j@j0j8j6j
J@J0J8J6J
j@jAj8j:j
J@JAJ8J:J
j	j	H#G#
[[[[jjjj
j@jPjQjNj
J@JPJQJNJ
j@jPjXjVj
J@JPJXJVJ
:-:J:[:k:
*J?K?6:7::F:F
.J_KAfsjB
!J)K)f*g*
JKnAk).2I
JKNMNWCYC 
J(kQUOwm
*J"K"w0u0
#j(l(|3|3
JLcN:SN1
JmessageArgWW
)**j(..n
jn.8*ZgW]
!Jnetwork_dns_suffixWWd
Jo4o4w?w?UCTC
j]O9?X6G
JobRunTimes
JobState
JobStatus
JOKQKTXSX
jo;RABpu
J@":ozPck
jp2a-SWD
) JpCf'0
jpCreationTimeStampWW
JPCUktZf2
JPEG datastream contains no image
jpg_count
JPG count
@jPiPI*J*H
.jPlPH1I1o3p3
;.;:;J;[;q;
"JQ_1X1[
JQAb32	l
JQHj-D|B
Jqpppppppp
JSIMD_FORCE3DNOW
JSIMD_FORCEAVX2
JSIMD_FORCEMMX
JSIMD_FORCENONE
JSIMD_FORCESSE
JSIMD_FORCESSE2
JSIMD_NOHUFFENC
JsonConvert
jS|zhri8
jubJcvT:
JudgeAutoWakeAffected
Jul 18 2022
Ju[r34252
JustFoundIoCouldntDelete
JustFoundIoMismatchFileId
JustFoundIoMismatchOffset
JUt2'T[:j	
#J v[ARI
JVCXC:G9G
j"[VWWWW
JvZ2(vsj*X
jwDrzzhv
;(;:;J;X;g;
Jyctaid.z
jY(Gbu0l
J(Y'YKcKc
JYYYYYYYYYbYYYYYYYbJ
jZa3*-1@zN
jZQBcEZ.9
K0A;[by@
k0j0lOlOc0d0
 *!*.K0Kb-a-
K0X0h0l0p0t0
	)K1151c
	#K2086a
K32EnumProcesses
K32EnumProcessModules
K32EnumProcessModulesEx
K32GetModuleBaseNameW
K32GetModuleFileNameExW
K32GetProcessImageFileNameW
k3VQ] li
K44*EvpO
-K4K4(0'0
k":517(#
 K	5)iHt
K5S5Y5e6
*K6J6B1B14!3!
)k7k7!H"H[P[P
k-7qPJv#
K7[XF(Ph
)K8L8q2r2
K9725: F
K 9N v@H
KangxiRadicals
Katakana
KatakanaPhoneticExtensions
K *auYNJB
;:kB0RxR
Kb3ELi4E
Kb5ELi4E
Kb7ELi4E
kBB0_10'
kBB0_71p
kBB0_963
KbWHwKp0'
kB:|!	yE6
kcommaaccent
Kcommaaccent
kC'OvzpF
Kd)Ff-KsCK|MK
kDH9k0t8D
KdInitializeLibrary
@	k?dQVL
kdstub.dll
KDSTUB.dll
kdt-KxU1
:"kE"['	*
;-;K;_;e;
?-?K?_?e?
keep-alive
KeepAlive
Keep sending data to get tossed away!
;KEKE6!7!
?)?K?e?o?
Kerberos
Kerberos MasterKey or Passphrase Modified
Kerberos Settings Modified
KerberosUserSid
kernel32
KERNEL32
kernel32.dll
Kernel32.dll
KERNEL32.dll
KERNEL32.DLL
kernelbase.dll
kernel calls between checks
kernelDmaProtectionEnabled
kernelDmaProtectionInfoValid
KernelGeneral
kernelGeneralReporter
KernelHookOption
kestringH
KeyAlgorithm
keybd_event
KeyboardLock
Keybox file size invalid.
Keybox is not provisioned.
key identity-constraint
KeyIndex
KeyLength
keyNameTimeZones
keyRef '
keyref identity-constraint
KeyVersion
kfg(:o!3Z
kfl)L7M[
KGgTuv-4L
kgreenlandic
KH9KDs5H
KhmerSymbols
KhO7Uq7GA
KI3989-Q
K I9N wErLH
Kib@DByx
kIcQMUBm
KIHIHIH3hhhhhhhhhhhF
kiiiiiiiiiiiiiijjjjjjjjjjjjk
KillMonitorEvent
KillProcessWithName
KillTimer
kingsley
kiss fft usage error: improper alloc
)K)J):':'
k*j*g!f!
kjiBB0_43
K;JS69faa
*K"J"u0u0
k*j*U*T*
k k0k1k.k
K K0K1K.K
k@k0k8k6k
K@K0K8K6K
k)k9kIkYkikzk
k@kAk8k:k
K@KAK8K:K
kkggfffl
kkkk::::
kkkkoooo
|||kklrpb
|||kklwtd
|||kklwvd
k@kPkQkNk
K@KPKQKNK
k@kPkXkVk
K@KPKXKVK
;K;KvMxMu8w8
#KK|ZlPxE
k"l"0R1R
KL17rxH?
"K(L(j*j*
kLpResourceStringValued
?kLrj"vW
KMGTPEZY
KMicrosoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator
KMicrosoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator	16.10.0.0
KMJMV?X?
kMR cv!K#
kmT@|--t
;K;m;v;|;
@"#K#N4f
k?N|nAL1|
K'oGF8uu
:kOjw7b3
k(o[Nm7D
KQ*|Acpi
Kqrm33-N
KrbEnabled
Krd499D"11*
Kr-p-:7;7
ksdbYYYYYW
Kseeeunn
KSHMOO_NO_CHECK
k sif?_qEs
[KSJSLHMH
KS#KQZX8
@KSLSo(r(
KsRReVs]
K SUVWATAUAVAWH
K SUVWAVAWH
ktmw32.dll
K'.|Ty"Y
K USVWAVH
K UVWATAUAVAWH
K UVWAVH
k VATAUAVAWH
Kv!@cW2A
KVM consent failed
KVM consent succeeded
KVM data channel
KVM device is already in use by other components.
KVM disabled
KVM Disabled
KVM enabled
KVM Enabled
KVM_ONLY
KVM opt-in Disabled
KVM opt-in Enabled
KVM password Changed
KVMProtocol
KVM Session Ended
KVM session requested
KVM session started
KVM Session Started
KVM session stopped
KVM user
K VWATAUAVH
k VWATAVAWH
K VWATAVAWH
KW4[12]y
K WAUAVH
k*XhF[bV
;!;:;K;X;i;v;
KXi!zd)1
K.ZOTuGN
KzQLH:#[
        L
;;;L@;;@
L12023 1103
l1_cache
L1 Cache
l1p1t1x1|1
L21563 "21
l2_cache
L2 Cache
L#!30Z#6300H
l3(	266u
(l3n3K9J9LHLH
L3O3236"
l3p3t3x3|3
-l4l4x3x3
L5:pQ|KX
l;;;;;;;;;6
l66Q!V5t
L7cvarRefArgWW
l7hi1x5W
-L7N7e;e;YHXH6
l80xgy|k
L8;6;X)X)
L96u9L97u9H
L97u5L96u5H
L9sxt	L9
@L9wHt*I
La4MLr4LL-4ML
LabelAutoFitStyles
labelECC
Label loop
	labelName
labelName
LabelStyle
LADcommNA
LAKEHOUSTONW
-LAMAe9c9
langston
language
Languaged
LanguageEdition
LanguageGroup
Languages
LanguageSupport
LAN power well setting is set incorrectly.
LargeBuildNumber
LargeIconsButtonClickCount
largePoints
large text style
                                last boost client has exited.
LastChange
LastCleaned
LastCompatibleId
LastConnectedSsidUnderMeControl
LastConnectionReason
LastErrorCode
LastInstallFunction
LastLogin
LastMajorApiVersion
LastMinorApiVersion
Last-Modified
Last-Modified:
LastOrDefault
LastResetTime
last_write_time
LAT_DeviceWWW
LatencyTimer
Latency(us)
Latin-1Supplement
LatinExtended-A
LatinExtendedAdditional
LatinExtended-B
LaunchCommandLineProcess
LaunchCurrentDirProcess
launch failed because launch would exceed cudaLimitDevRuntimePendingLaunchCount
launchFlags
launching setup.exe
LaunchInstallFolderProcess
LAUNCH_KERNEL
LaunchProcess
LaunchSystem32Process
launchType
launch uses incompatible texturing mode
launch would exceed maximum depth of nested launches
Layer-Device
layeredShadingRateAttachments
Layer found but runtime platforms do not match.
layerName
Layer Properties
layerProperty
layout10#
LayoutEventArgs
LayoutEventHandler
LayoutKind
LayoutRoot
lBB0_10eP
lBB0_262
lBB3_248
LBHHQYamx
LC_APP_ID
LcaTLciXL
___lc_codepage_func
LCDSettings.exe
LcHPHcpLH
LCIDToLocaleName
lCjCpKoK
l|?CliNw
___lc_locale_name_func
LCMapStringA
LCMapStringEx
LCMapStringW
lcommaaccent
Lcommaaccent
Lco?r(zE
	LcQ4fD#
LcS@HcCDLcCHE
@lC:|t5J
L;C(uXH9Q
LCZ"pdYbC
LDAP: cannot bind
LDAP: search failed
LD;E;W)W)m4k4
L		DF7766
ldg16_relu_stages_64x3?
ldmatrix
ldmatrix.
ldmatrix|
ldmatrix67
ldmatrix7
ldmatrix7.
ldmatrixF
ldmatrixL7
ldmatrixM
ldmatrixN
ldmatrix.sync
ldmatrix.sync.
ldmatrix.syncbd
ldmatrix.syncBQ
ldmatrix.syncf[
ldmatrix.syncPP
ldmatrix.syncSH
ldmatrixx
ldmatrixz)
ld.param
ld.paramKP
ld.paramo
LdrResSearchResource
#ldsq1.v2
Le4A9M8M
LE_APP_ID
LeaveCriticalSection
    LED State
			left: 50px;
?Left@CHString@@QEBA?AV1@H@Z
LegendCollection
legendText
lenBuildCharArray
lenBuildCharArray is out of bounds
LengthOfCertificates
Length of OEM Customizable Certificate Friendly Name setting is set incorrectly.
Length of OEM Customizable Certificate Stream is set incorrectly.
Lenovo Group Limited
Lenovo.Modern.CoreTypes
Lenovo.Modern.CoreTypes.Contracts.Messaging.v2
Lenovo.Modern.CoreTypes.Contracts.Messaging.v2.Commands
Lenovo.Modern.CoreTypes.Utilities
Lenovo.Modern.ImController.ImClient
Lenovo.Modern.ImController.ImClient.Models
Lenovo.Modern.ImController.ImClient.Services
Lenovo.Modern.Utilities
Lenovo.Modern.Utilities.Services.Logging
Lenovo Pen Setting
Lenovo Power Manager
Lenovo Smart Standby
Lenovo.Udc.ClientBroker.Dotnet
Lenovo.UdcPluginHost
Lenovo.UdcPluginHost.Logging
Lenovo.VantageService.Utilities
Lenovo.VantageService.Utilities.Messaging
LEP_NOTICE_EVENT_ACTIVE
LEP_NOTICE_EVENT_WIFI_DETECT
LEP_NOTICE_MUTEX
LEPToastLnc
LEPToastLnc.exe
LEPToastLnc.Images.dock_port.png
LEPToastLnc.Properties
LEPToastLnc.Properties.Resources.resources
LEPToastLnc.Strings
lessequal
LESSEQUAL
 less than
letraset
LetterlikeSymbols
LETTER_LOWERCASE 
LETTER_MODIFIER 
LETTER_OTHERS 
LETTER_TITLECASE 
LETTER_UPPERCASE 
Level coordinate (
lf5p'X!-
lfd1530)
@!Lfd79q
l;;;;;;;;;G
Lg4A9O8D
Lg7bKr?9
LG;E;j)i).4.4])])p!p!C(D(
Lg;QwX-[#d
LGSYT!oD
LguidServiceW
lHx|bI@H
Li8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9
libjpeg-turbo version 2.0.5 (build 20201008)
LibJson.dll
libnvenum
library. See the NVIDIA developer website for more information about NVML.
libxml2.dll
Licensed
licensed_product_name
license_status
License Status
liche Befugnis zur Durchsetzung des Verbotes eines Schiedsgerichts auf Sammelbasis oder in stellvertretender Funktion.
lichen Verwendung durch Remotenutzer zu installieren;
LifetimeSigningFlag
Li;f;x)w)G4F4s)s)z!y!L(J(
lighttracks
- Limited Support
limit is not supported on this architecture
__LINE__
LinearBIdeograms
LinearBSyllabary
linear filtering not supported for non-float type
linearTiling
linearTilingFeatures
lineClose
lineDeallocateCall
lineGetCallInfoW
lineGetCountryW
lineGetDevCapsW
lineGetLineDevStatus
lineHandoffW
			line-height: 20px;
lineInitializeExW
LINELIST
LINEMODE
lineNegotiateAPIVersion
lineNumber
lineOpenW
lineOrder
lineSetAppPriorityW
lineSetStatusMessages
lineShutdown
LINESTRIP
lineSubPixelPrecisionBits
lineTranslateAddressW
lineWidthGranularity
lineWidthRange
linkable
LinkControl
Link is supported
LinkIsUp
Link Policy: 
LinkPolicy
Link Policy Set
LinkPreference
Link preference was set to: 
LinkTechnologiesSupported
LinkTechnology
LINKTYPE
LINKTYPE 
            Link Width
linotype
l*IO6C_g
lIPTHI_CommandsWWd
L.iRHzsc
list adapters
list_adapters
List all boost sliders
List all compute policies
List all devices
list all kernels
list_all_kernels
	List all NVIDIA GPU devices in this computer
List all synchronous boost groups
--list-blacklist-gpus
list_create returned NULL
ListenerEnabled
Listener thread finished...
listen failed
Listening at port 
--list-excluded-gpus
--list-gpus
--list-info
Listing all GPUs.
list item 
list_kernels
list kernels for this SM
List of accounted compute processes.
List of currently active compute processes.
List of device memory pages that have been retired.
ListOfLanguages
List of possible memory and graphics clocks combinations that the GPU can operate on (not taking into account HW brake reduced clocks). These are the only clock combinations that can be passed to --applications-clocks flag.
List of processes having compute context on the device.
List of properties that can be queried are:
List of supported clocks.
  LIST OPTIONS:
   (Lists all of the GPU devices on this computer)
List supported input values. Incompatible with input options
list too long
list type
list type has no item-type assigned
list type 'xs:
list workloads
list_workloads
LIVE_GAMER
lj5h6sj5
LJ;I;8)7)V4W4g)g)P!P!
LJis64BitProcessWW
L)J)X!W!
-L"K"*()(
l]K(W5X3
lk@x	):ip
l l0l1l.l
L L0L1L.L
l@l0l8l6l
L@L0L8L6L
l@lAl8l:l
L@LAL8L:L
*L"L"D0D0
-L.Ld;d;
lLjAYI 1DRch
L|l?J-|Oh:9
llkggghhheeeWWW
L	L	L	L	L
LLLLLLLL@p
LLLLLLL@p
llllppppHHHHPPPP
llllVVVV
|llmkklppqtuu
l@lPlQlNl
L@LPLQLNL
l@lPlXlVl
L@LPLXLVL
(L)Ls;r;
: :L:l:t:|:
? ?@?L?l?t?
*)#)#L(L(?'?'W#X#
: :@:L:l:x:
-LLYTf9k
lmmqxxXPR[
"l*m*N5M5
l	m	Q	N	
LMS already accepted a request at 
LMS cannot connect to Intel(R) MEI driver
		'LMS.EXE'
# LMS GENERATED LINE
LMS lost connection to Intel(R) MEI driver
?#?L?m?u?
;*;;;L;];n;
?*?;?L?]?n?
lNavFlags
*L"N"f0h0
L;;;;;;;@NO;;;;;;;;L
LnslJGpE
lNYF*g98
-l"o"]*]*
LoadAcceleratorsW
LoadBitmapA
LoadBitmapFromTable
LoadBitmapW
LoadComponent
load cupti or fail
load curand or fail
LoadCursorA
LoadCursorW
Loaded configuration from JSON file
LoadedEndingAddress
LoadedStartingAddress
Loader failed to verify manifest signature of FTPR. Production vs. Pre-Production.
Loader failed to verify manifest signature of GBST.
Loader failed to verify manifest signature of IDLM.
Loader failed to verify manifest signature of IOMP.
Loader failed to verify manifest signature of ISHC.
Loader failed to verify manifest signature of ISIC.
Loader failed to verify manifest signature of ISIF.
Loader failed to verify manifest signature of IUNIT.
Loader failed to verify manifest signature of LOCL.
Loader failed to verify manifest signature of NFTP.
Loader failed to verify manifest signature of NPHY.
Loader failed to verify manifest signature of OEM KM.
Loader failed to verify manifest signature of PCHC.
Loader failed to verify manifest signature of PMC.
Loader failed to verify manifest signature of PPHY.
Loader failed to verify manifest signature of RBE.
Loader failed to verify manifest signature of SAMF.
Loader failed to verify manifest signature of SPHY.
Loader failed to verify manifest signature of TBTP.
Loader failed to verify manifest signature of WCOD.
LoadFile
LoadFrom
?LoadFromResource@DUIFactory@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG1PEAVElement@2@PEAKPEAPEAV42@1@Z
LoadIconA
LoadIconW
LoadImageA
LoadImageW
loading error
LoadLibrary
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
LoadMenuW
	load [name]  load a new document with name
LoadPercentage
LoadResource
Load Sensor Dll Failed
LoadString
LoadStringA
LoadStringW
LoadTime
LoadUtilityInformation
LoBB0_34
LO_BB2_7
.loc 1 1107
loc 1 45 1
.local .align 16 .b8 	__local_depot24[32];
.local .align 16 .b8 	__local_depot25[16];
.local .align 16 .b8 	__local_depot26[64];
LocalAlloc
(LOCAL BUILD)
local change to font 
local config
LocalContextCacheSize
Local database is corrupted
localeconv
LocaleNameToLCID
LocalFileTimeToFileTime
Local folder to treat as the server root when in test mode. All URLs will be converted into local paths starting from this folder. This parameter is required in test mode.
LocalFree
localhost
LocalityName
Localization
LocalLock
LocalMachine
LocalMachineEnterprise
LocalMachineGroupPolicy
Local MEI
local-name
LocalOrUtcTime
localProfileSynchronizationEnabled
LocalReAlloc
LocalSize
LocalTimeSyncEnabled
localUniqueId
LocalUnlock
_local_unwind
Local user
': local variables cannot be declared 'extern'
': local variables cannot be declared 'groupshared'
': local variables cannot be declared 'uniform'
': local variables cannot be textures or samplers
': local variables cannot have semantics
LocateXStateFeature
location
Location:
LocationFromTextPattern
LocationFromTextPattern2
Location missing
Location of partition to backup is not inside NFTP.
LocationSet is NULL !
Location specified more than once
Lock already taken
Lock bit FPF is not set on file.
LockBlock
_lock_file
LockFile
LockFileEx
LockKeyboard
_lock_locales
LockPowerButton
LockPresent
LockResetButton
LockResource
LockSleepButton
LockTimeoutInSeconds
LockWindowUpdate
LOCL partition hash and calculated hash are not the same.
Log begin
logConsoleMessageWWW
_logCreationTime
LogCurrentColor
_logDirectory
Log end: failure condition
LogException
-logfile
logFileNameWd
LogFilePath
_logFilePrefix
LoggedOut
logger with name '
LOGGING_DESTINATION
logicaland
LogicalId
logicalnot
logicalor
_logIdentifier
Login denied
LOGINDISABLED
LOG_INFO_DBG
LogInstanceID
LogLaunchMissingCredsPage
log level
logLevel
LogMessage
log messages to a file (Usage: -logfile filename)
LogNewColor
logoncli.dll
LogOnEvent
LogonUserW
_logRolloverKb
logSeverity
LogState
logStream
LogSuppressMissingCredsWnf
LogToFile
logWriter
?L.oJRYgC
.[[[lom#
LOMOuCvC
longdesc
LongPressEvent
long quotation 
LookupAccountNameLocalW
LookupAccountNameW
LookupAccountSidLocalW
LookupAccountSidW
LookupPrivilegeDisplayNameW
LookupPrivilegeValueA
LookupPrivilegeValueW
lookup word is missing
lossless
Low Double Precision
lowerCaseArgs
LowerFilters
LOW_POWER
LowSurrogates
LP_APP_ID
lpApplicationName
lpBuffer
lpButtons
lpBytesReturned
lpCmdLine
lpCommandLine
lpCurrentDirectory
lpDesktop
lpdwProcessId
lpEnvironment
lpExistingFileName
#lp;fG3510
lpFileName
LPGVu'r#
lpInBuffer
lpInBufferWW
)lPmPZ2Y2
lpNewFileName
lpOutBuffer
lpOverlapped
lpProcessAttributes
lpProcessInformation
lpReserved
lpReserved2
LPSAFEARRAY_UserFree64
LPSAFEARRAY_UserMarshal64
LPSAFEARRAY_UserSize64
LPSAFEARRAY_UserUnmarshal64
lpStartupInfo
lpszBuildId
lpszRegName
lpszUserName
lpThreadAttributes
(LPTHREAD_START_ROUTINE)CWintabServer::WintabCreateConnectionProc
l:p:t:x:|:
;L;P;X;d;
Lr760X@!61
lRefreshFlags
LresultFromObject
Lr-p-h1h1
; ;-;L;S;|;
L!s0D9s@
LsaClose
LsaEnumerateAccountRights
LsaFreeMemory
LsaLookupSids
LsaNtStatusToWinError
LsaOpenPolicy
LsaQueryInformationPolicy
Lslashsmall
	ls [path]    list contents of path or the current directory
lstrcatA
lstrcatW
lstrcmpA
lstrcmpiA
lstrcmpiW
lstrcmpW
lstrcpyA
lstrcpynA
lstrcpynW
lstrcpyW
lstrlenA
lstrlenW
lsuperior
?"?)?l?s?z?
LT"8lTu@
lt auch informative Links. Die Links mit Hinweisen und rechtsverbindlichen Bestimmungen sind folgende:
LTC_ERROR
lTY)-7zj
lUc0uymtY
LuCb32	O
LUID_AND_ATTRIBUTES
L?UUUUUUU?
l-value specifies const object
l-value specifies const object for an 'out' parameter
LV_Block
;*;L;V;r;
Lwuuwujz:
LX-W-P5P5
;!;L;Y;s;
LYTeWcih
LYYbYYbYYbYYYYYbYYYYYYYI
LYYbYYYYYYYYYg
lYYYYYYYY
@@.lZOr6
:";:;?;m;
*|m0'uDj;k
m16n8k16.row.col.f16
m16n8k16.row.col.f32.bf16
	m16n8k16.row.col.f32.f16
m16n8k256.row.col.s32.b1.b1
m16n8k32.row.col.s32.s8
m16n8k64.row.col.s32.s4
m16n8k8.row.col.f32.f16
M[?208HJ
m21lYw[6
M	!24Z	?247
M2666Po1d21
'm2m26969
M3abgRwi
M3 results are not available from SPI. Please run -test option to perform the BIST test.
M"438-B4396
m":517*#!31y
M5M6LH	c
M6666666666666666T
;M6L6A:@:
M6M6DbCb
;m6n6_6_6
M7"f2;7"f2"7Gf2193
M7H;M?s H
m"'83m"4521
M8D99t!H
m9ICZhg(
M('9KQsHBr
M9'uQD8f
M9'uSD8f
MACAddress
m_accessMode
macromedia
macro name 'defined' is reserved
Macronsmall
macro recursion too high
m_action
m_adapter
m_addressBarButton
MagFilter
Mailbox UIDVALIDITY has changed
MAILINDEX
MainActivity
(MAIN) Adapters (listed in cuda order):
main bucket but it's not the first one
main.cpp
(MAIN) IDX  PCIE       NAME                                     SM_VER
	mainly for programmers.
maintenance4
mainWindow
MAJOR_API_VERSION
major is wrong
major is zero
MajorVersion
Major version number of Update Image is not the same as major version number of Flash Image.
MakeAbsoluteSD
MakeGriddedAwayIntervals
MakeIoControlCode
?MakeLower@CHString@@QEAAXXZ
MakeRequestAsync
MakerNote
MakeSelfRelativeSD
Malayalam
Malformat
Malformatted trailing header ! Skipping trailer.
Malformed declaration expecting version
Malformed encoding found
Malformed telnet option
Malformed Zip Data
malloc failed
Malloc failed in OutlineGetMemory
m_AllowOnly1stDepthUsbDevice
;MAMAMBMB
Manageability enabled
ManagedElement
ManagementBaseObject
ManagementClass
ManagementObject
ManagementObjectCollection
ManagementObjectEnumerator
ManagementObjectSearcher
?ManagementRequiresElevation@BuiVolume@@QEBA_NXZ
ManagementScope
    [mandatory]
mandatory
Mandatory
Manifest not found in partition (in Update or Flash Image).
Manifest size in Update Image is too large.
man_path
Manual ID
ManualInterfaceID
ManualResetEvent
ManufactureDate
Manufacturer
MapDialogRect
MapFlags
MapGenericMask
MAPI32.DLL
MAPI Repair Tool
MAPISendMail
MAPISendMailW
mapping of buffer object failed
m_approvalType
m_Approved
m_approvedConnections
m_approveRequired
MapViewOfFile
MapViewOfFileEx
MapVirtualKeyExW
MapVirtualKeyW
MapWindowPoints
			margin: 0;
			margin: 0 12px;
marginheight
			margin-left: 22px;
			margin-left: -280px;
			margin-left: -80px;
marginMinutes
marginwidth
Mark bundle as not supporting multiuse
MARK_ENCLOSING 
MARK_NONSPACING 
MARK_SPACECOMBINING 
MarshalAsAttribute
MasterKey
MatchedGUIDs
MatchingDeviceId
MathematicalAlphanumericSymbols
MathematicalOperators
matrix dimensions must be between 1 and 4
matrix element type must be a scalar type
matrix_size_mode
matrixStrideA.............
matrixStrideAm............
matrixStrideB.............
matrixStrideC.............
;);?;M;a;v;
MaxAccessTime
max_alloc
MaxAllowedAuditors
max_avg_H9(u
MaxBlockSize
maxBoundDescriptorSets
maxBufferSize
Max bundles record reached.
maxClipDistances
    Max Clocks
MaxClockSpeed
maxColorAttachments
maxCombinedClipAndCullDistances
maxComputeSharedMemorySize
maxComputeWorkGroupCount
maxComputeWorkGroupInvocations
maxComputeWorkGroupSize
maxComputeWorkgroupSubgroups
MaxConcurrency
maxCullDistances
MaxCurrentEnabledSAPs
maxCustomBorderColorSamplers
    Max Customer Boost Clocks
MaxDataSize
maxDescriptorSetAccelerationStructures
maxDescriptorSetInlineUniformBlocks
maxDescriptorSetInputAttachments
maxDescriptorSetSampledImages
maxDescriptorSetSamplers
maxDescriptorSetStorageBuffers
maxDescriptorSetStorageBuffersDynamic
maxDescriptorSetStorageImages
maxDescriptorSetSubsampledSamplers
maxDescriptorSetUniformBuffers
maxDescriptorSetUniformBuffersDynamic
maxDescriptorSetUpdateAfterBindAccelerationStructures
maxDescriptorSetUpdateAfterBindInlineUniformBlocks
maxDescriptorSetUpdateAfterBindInputAttachments
maxDescriptorSetUpdateAfterBindSampledImages
maxDescriptorSetUpdateAfterBindSamplers
maxDescriptorSetUpdateAfterBindStorageBuffers
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
maxDescriptorSetUpdateAfterBindStorageImages
maxDescriptorSetUpdateAfterBindUniformBuffers
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
?MAX_DIMS@TensorDesc@cask@@2HB
maxDiscardRectangles
maxDrawIndexedIndexValue
maxDrawIndirectCount
MaxEacAgents
MaxElementNameLen
MaxElements
MAX_ENCODING_HANDLERS
MaxEnvelopePolicy
MaxEnvelopeSize
maxExclusive
maxExtraPrimitiveOverestimationSize
maxFragmentCombinedOutputResources
maxFragmentDensityTexelSize
maxFragmentDualSrcAttachments
maxFragmentInputComponents
maxFragmentOutputAttachments
maxFragmentShadingRateAttachmentTexelSize
maxFragmentShadingRateAttachmentTexelSizeAspectRatio
maxFragmentShadingRateCoverageSamples
maxFragmentShadingRateRasterizationSamples
maxFragmentSize
maxFragmentSizeAspectRatio
maxFramebufferHeight
maxFramebufferLayers
maxFramebufferWidth
-maxfreq
maxGeometryCount
maxGeometryInputComponents
maxGeometryOutputComponents
maxGeometryOutputVertices
maxGeometryShaderInvocations
maxGeometryTotalOutputComponents
maxImageArrayLayers
maxImageCount
maxImageDimension1D
maxImageDimension2D
maxImageDimension3D
maxImageDimensionCube
maxImageExtent
MaximumAccountsSupported
Maximum amount memory used on the device by the context.
MaximumClockTolerance
MaximumCRLSize
Maximum file size exceeded
Maximum frequency at which parts of the GPU are design to run.
Maximum frequency of graphics (shader) clock.
Maximum frequency of memory clock.
Maximum frequency of SM (Streaming Multiprocessor) clock.
MaximumSuccessiveLoginFailures
MaximumVersionsJumped
Maximum X Resolution
Maximum Y Resolution
maximus_banner_img
MaximusConfigurationUtility
.MaximusConfigurationUtility.BytesTypeConverter
MaximusConfigurationUtility.DeviceEditor.resources
Maximus Configuration UtilityF
MaximusConfigurationUtility.Form1.resources
MaximusConfigurationUtility.FormRestart.resources
MaximusConfigurationUtility.Properties
MaximusConfigurationUtility.Properties.Resources.resources
MaximusConfigurationUtility.QuadroUsageMode.resources
MaximusConfigurationUtility.TeslaUsageMode.resources
MaximusQuadroDeviceIds
MaximusTeslaDeviceIds
maxInclusive
maxInlineUniformBlockSize
maxInlineUniformTotalSize
maxInstanceCount
Max Instances
maxInterpolationOffset
MaxLatency
maxlength
maxLength
max_link_gen
max_link_width
MaxLogSize
MaxMediaSize
maxMemoryAllocationCount
maxMemoryAllocationSize
MaxMemorySpeed
max_memory_usage
Max memory usage
MaxMipLevel
MaxMpsPerPolicy
maxMultiDrawCount
maxMultiviewInstanceIndex
maxMultiviewViewCount
MaxNameLength
Max Non Partner Total Allocation Size
MaxNonPartnerTotalAllocationSize
.maxntid 
.maxntid H
MaxNumberControlled
MaxNumberOfRecords
maxOccurs
Max Partner Storage
MaxPartnerStorage
maxPerSetDescriptors
maxPerStageDescriptorAccelerationStructures
maxPerStageDescriptorInlineUniformBlocks
maxPerStageDescriptorInputAttachments
maxPerStageDescriptorSampledImages
maxPerStageDescriptorSamplers
maxPerStageDescriptorStorageBuffers
maxPerStageDescriptorStorageImages
maxPerStageDescriptorUniformBuffers
maxPerStageDescriptorUpdateAfterBindAccelerationStructures
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
maxPerStageDescriptorUpdateAfterBindInputAttachments
maxPerStageDescriptorUpdateAfterBindSampledImages
maxPerStageDescriptorUpdateAfterBindSamplers
maxPerStageDescriptorUpdateAfterBindStorageBuffers
maxPerStageDescriptorUpdateAfterBindStorageImages
maxPerStageDescriptorUpdateAfterBindUniformBuffers
maxPerStageResources
maxPerStageUpdateAfterBindResources
MaxPolicyElementKey
max_power_limit
Max Power Limit
maxPrimitiveCount
maxPushConstantsSize
maxPushDescriptors
MaxQuiesceTime
maxRayDispatchInvocationCount
maxRayHitAttributeSize
maxRayRecursionDepth
MaxReadRecords
MaxRechargeCount
MaxRechargeTime
MaxRecordSize
maxSampleLocationGridSize
maxSampleMaskWords
maxSamplerAllocationCount
maxSamplerAnisotropy
maxSamplerLodBias
maxShaderGroupStride
maxSizeKb
MaxSpeed
maxStorageBufferRange
maxSubgroupSize
maxSubsampledArrayLayers
maxTessellationControlPerPatchOutputComponents
maxTessellationControlPerVertexInputComponents
maxTessellationControlPerVertexOutputComponents
maxTessellationControlTotalOutputComponents
maxTessellationEvaluationInputComponents
maxTessellationEvaluationOutputComponents
maxTessellationGenerationLevel
maxTessellationPatchSize
maxTexelBufferElements
maxTexelGatherOffset
maxTexelOffset
maxTimelineSemaphoreValueDifference
MaxTotalActions
MaxTotalAgents
MaxTotalMpServers
MaxTotalPolicies
maxTransformFeedbackBufferDataSize
maxTransformFeedbackBufferDataStride
maxTransformFeedbackBuffers
maxTransformFeedbackBufferSize
maxTransformFeedbackStreamDataSize
maxTransformFeedbackStreams
 max: unbounded
maxUniformBufferRange
MaxUnitsBeforeCleaning
maxUpdateAfterBindDescriptorsInAllPools
maxVertexAttribDivisor
maxVertexInputAttributeOffset
maxVertexInputAttributes
maxVertexInputBindings
maxVertexInputBindingStride
maxVertexOutputComponents
maxViewportDimensions
maxViewports
maxwell_dgemm_128x64_nt_v0
maxwell_dgemm_128x64_nt_v0_1
maxwell_dgemm_128x64_nt_v0_2
maxwell_dgemm_128x64_nt_v0_3
maxwell_dgemm_128x64_nt_v0_4
maxwell_dgemm_128x64_nt_v0_5
maxwell_dgemm_128x64_nt_v0_6
maxwell_dgemm_128x64_nt_v0_END
.maxwell_dgemm_128x64_nt_v0_L1
.maxwell_dgemm_128x64_nt_v0_L2
.maxwell_dgemm_128x64_nt_v0_L3
.maxwell_dgemm_128x64_nt_v0_L4
.maxwell_dgemm_128x64_nt_v0_L5
.maxwell_dgemm_128x64_nt_v0_L6
maxwell_hgemm_256x128_nt_v0
maxwell_hgemm_256x128_nt_v0_1
maxwell_hgemm_256x128_nt_v0_2
maxwell_hgemm_256x128_nt_v0_3
maxwell_hgemm_256x128_nt_v0_4
maxwell_hgemm_256x128_nt_v0_5
maxwell_hgemm_256x128_nt_v0_6
maxwell_hgemm_256x128_nt_v0_END
.maxwell_hgemm_256x128_nt_v0_L1
.maxwell_hgemm_256x128_nt_v0_L2
.maxwell_hgemm_256x128_nt_v0_L3
.maxwell_hgemm_256x128_nt_v0_L4
.maxwell_hgemm_256x128_nt_v0_L5
.maxwell_hgemm_256x128_nt_v0_L6
maxwell_igemm_int8_128x128_ldg4_nt_v0
maxwell_igemm_int8_128x128_ldg4_nt_v0_1
maxwell_igemm_int8_128x128_ldg4_nt_v0_2
maxwell_igemm_int8_128x128_ldg4_nt_v0_3
maxwell_igemm_int8_128x128_ldg4_nt_v0_4
maxwell_igemm_int8_128x128_ldg4_nt_v0_5
maxwell_igemm_int8_128x128_ldg4_nt_v0_6
maxwell_igemm_int8_128x128_ldg4_nt_v0_END
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L1
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L2
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L3
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L4
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L5
.maxwell_igemm_int8_128x128_ldg4_nt_v0_L6
maxwell_sgemm_128x128_nt_v0
maxwell_sgemm_128x128_nt_v0_1
maxwell_sgemm_128x128_nt_v0_2
maxwell_sgemm_128x128_nt_v0_3
maxwell_sgemm_128x128_nt_v0_4
maxwell_sgemm_128x128_nt_v0_5
maxwell_sgemm_128x128_nt_v0_6
maxwell_sgemm_128x128_nt_v0_END
.maxwell_sgemm_128x128_nt_v0_L1
.maxwell_sgemm_128x128_nt_v0_L2
.maxwell_sgemm_128x128_nt_v0_L3
.maxwell_sgemm_128x128_nt_v0_L4
.maxwell_sgemm_128x128_nt_v0_L5
.maxwell_sgemm_128x128_nt_v0_L6
 * May be also reported during PState or clock change
Mb5ELi4E
mBB0_3:x
mBB0_55W
___mb_cur_max_func
Mb:O5T'I
Mbp?333333
_Mbrtowc
MbstrName
MBToUnicode
;:;M;b;u;
m_busDeviceFunction
m_bytesWritten
mc0.lEM8
M(:C_A3E
mcapz3Rn
m_cAvail
m_cCurrent
m_cEntry
MC exception
m_classGuid
m_cmNotifyCallback
m_cOAOWW
m_ConnectionID
mConnectionTypeWW
m_controlCenterEvent
m_controlCenterEventLauncher
m_controllerNum
m_cOwner
m_cQuiesced
MCTP SMBUS test failed.
MCUStringGetter
m_cWaitNeg
*;#mCyAG)
md2WithRSAEncryption
md5WithRSAEncryption
m_dataVersion
mDDDDDDDD
mDDDDDDDDD
mDDDDDDDDDD
mDDDDDDDDDDDD
mDDDDDDDDDDDDDD
mDDDDDDDDDDDDDDDD
mDDDDDDDDDDDDDDDDDDD
mDDDDDDDDDDDDDDDDDDDDD 
mDDDDDDDDDDDDDDDDDDDDDDDDD
mDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 
mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD  
mDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
mDDDDDDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM D
md___e_aaaaaaaaaaajaajajaaajajajaacajajaajaaaaaaajgcggcggcggckakakakakakakakakakakakakakakakakakakakakakakakakakakak
MD.E.j9k9
m_DeviceCertifiedForWindows
m_deviceId
m_deviceInstanceId
m_deviceInterfaceEvent
m_deviceInterfaceWatcher
m_deviceLocation
m_devicePath
m_devicePower
m_DeviceRejectionReason
m_deviceType
MDEV UUID
mDMMMMMMMMDDD
mDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM m
mDMMMMMMMQMMMMDDD
mDMMMMWQMMWMWQQWQQQWQWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQ_QWQWQWQWM_MWMMM_MW m
mDMM_M_W_d_mddmggggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgggggggda___WWMq
mDMMOM_W____g_ggdggdgddgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdgdmdgdgdggdd_____QMMm
mDMMQMOM_M_W_______________________________________________________________________________________________________W_MWMWMMm
mDMMQOW_W_dddmdmdggmgmdmgmdmgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggdmggdggggdd___WWQMm
mDMMQQQ_Q_W__ddd_ggeggdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgdgdgdgggd_ddd___W_WWWMMm
mDMMWQW__d_ggmdmmmgmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgggdg____WQMm
mDMQMQQQQ_W________a________________________________________________________________________________________g_________QWMQMm
mDMQMWMWW______g__g_ggdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd_g_m__g________M_MMm
mDMQMWOW_W__d_gdmdddddmdgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggdgdgdgdddmdgdddd___WWWMMm
mDMQOW_W__ddgdggmgmmmgmmmgmmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggmmggmgggggggd___WWMm
mDMQQQWWW_dddggdmddmddmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggdgdmddmdgdg____QWMm
mDMQQW_W__gdgmmggmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmgmmgdgdd__WQMm
mDQMM_W__dddmdmmgmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmggggggg___WWMm
mDQMM_WW__d_mgdmdmggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggddgd_d__WQMm
m_driverBuildConfiguration
m_driverBuildDate
m_driverBuildGitHash
m_driverBuildPlatform
m_driverBuildTime
m_driverEvent
m_driverEventHandle
m_driverName
m_driverVersion
m_dwPartitionCompleteKey
ME already disabled.
MediaIsLocked
ME disabled.
ME disable not needed.
ME_Event
'Meg0PeL
MEManuf Operation Failed.
MEManuf Test Failed.
membar.gl
membar.gl;
membar.glK
membar.glT
membar.glu
membar.glV
MemberHandles
MemberIndex
memberTypes
mem_clock
memcpy_s
MEME8E8E
_memicmp
memmove_s
		Memory:
Memory allocation error
Memory allocation error occurred.
Memory allocation failed
Memory allocation failure in cmdline_init.
memoryBarrier
_MEMORY_BASIC_INFORMATION
--memory-clock
Memory Clock
    Memory Clock Samples
Memory Current Temp
memory.free
MEMORY_HEAP_DEVICE_LOCAL_BIT
MEMORY_HEAP_MULTI_INSTANCE_BIT
memoryHeaps
MemoryIOUtilization
.memorylist
Memory list not compiled (MEM_LIST not defined !)
MemoryMapTiffFile
Memory Max Operating Temp
memoryPriority
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
MEMORY_PROPERTY_HOST_CACHED_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
MEMORY_PROPERTY_PROTECTED_BIT
MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
memory.reserved
memory shortage
memory size or pointer value too large to fit in 32 bit
MemoryStream
memory_temp
memory.total
MemoryType
memoryTypes
memory.used
memory_util
Memory Utilization
MemoryUtilization
    Memory Utilization Samples
Memory window not set or device is not armed for operation.
MemSpace
mem_temp
mem_util
mem_utilization
m_enabledPorts
MENAGEABILTY_MODEWWW
m_endPointInfo
m_endPoints
menu list 
ME Region read access permissions don't match Intel recommended values.
ME Region write access permissions don't match Intel recommended values.
MergeTiffFiles
merging nodeset
merging nodeset hit limit
MessageArguments
MessageBeep
messageBody
MessageBox
MessageBoxA
MessageBoxButtons
MessageBoxIndirectA
MessageBoxIndirectW
MessageBoxResult
MessageBoxW
?MessageCallback@Element@DirectUI@@UEAAIPEAUtagGMSG@@@Z
messageId
MessageID
!messageIDWWW
MessageInformationHeaderRequired
MessageQueueRequest
message size
message_size
MESSAGE_SKIPPED
MessageToast
_messageVariable
messageW
MessagingHelper
Metadata returned for timespan
METADATA_UP
Meted Queue
method AlertWW
method AllowAccess
MethodBase
method CloseUserInitiatedConnectionWWW3
method GetAMTVersionWW
method GetATDeviceInfo (DEPRECATED)WWW
method GetAuditLogsWWW
method GetConfigurationInfoWWW
method GetCustomerType#
method GetFeaturesState (DEPRECATED)WW
method GetFWInfoWW
method GetHeciVersionW'
method GetIMSSEventHistory(
method GetLastResetReasonW
method GetLMSVersionWW
method GetMenageabiltyMode
method GetPlatformType (DEPRECATED)WWW
method GetPMCVersionWW
method GetPowerPolicyW
method GetProvisioningMode (DEPRECATED)WWW*
method GetProvisioningStateWWWZ
method GetProvisioningTlsMode (DEPRECATED)
method GetRedirectionStatusWWW
method GetSpriteLanguage (DEPRECATED)W
method GetSpriteParameters
method GetSpriteZoom (DEPRECATED)W
method GetUserConsentState
method getWebUIState (DEPRECATED)W
method GetWLANLinkInfo
MethodInfo
method InitiateUserConnection(out ResponseStatus)WP
method IsMeasuredBootState
method OnAudioDeviceEventW
method OnRtkAudioServiceEventW
method OnServiceEventW4
method OpenUserInitiatedConnection (DEPRECATED)WWW#
method ProxyAddProxyEntry (DEPRECATED)g
method RegisterRtkAudUServiceCOMNotificationCallbackWW6
method RegisterServiceEventWWW
method ResetUNSstartedEvent (DEPRECATED)WW
method RiseAlertWW
method ServiceCommandFloatWithIndexWWW
method ServiceCommandIntWithIndexW#
method ServiceCommandWithIndex!
method SetLinkPreferenceToHost1
method SetSpriteLanguageWW!
method SetSpriteZoomWW
method TerminateKVMSession (DEPRECATED)WWW
method TerminateRemedySessions
methodToken
method UnregisterRtkAudUServiceCOMNotificationCallback
method UnregisterServiceEventW.
method UpdateScreenSettings2WW*
method UpdateScreenSettings (DEPRECATED)WW
method userInitiatedPolicyRuleForLocalMpsExists (Local MPS is configured with a User Initiated trigger)WWW
-MEUyphm
m_eventHandlesCount
m_eventLength
m_eventRedirectors
mE:vo#A#
m_externalGpu
:):M:e:y:
                              m - FB and Bar1 Memory
                              m - FB memory usage
MFC42u.dll
MFCreateAttributes
MFEnumDeviceSources
MFGetSecureBufferOffsetAndTimeStamp
m_fileHandle
m_filter
m_firmwareUpdateCompleteInfo
m_firmwareVersion
m_FirstDepthDevice
MFPlat.DLL
MFS is corrupted.
MFT)Et9!
m_function
m_gemm is not consistent
MgetWebInstancesW
(?(?mGnG
MgNhN@O?O
m_groupCurrent
m_groupQuiesced
mgx?pg@6Q
m_handle
M?H;MGs H
mHoHnBmB
m_hostControllerDeviceId
m_hostControllerName
m_hostRouterInfoValid
m_hostRouters
m_hostSupportsExternalGPU
mi363 58
M]IcHS9Qv
micrologic software
microsoft
Microsoft
microsoftCert
Microsoft.CodeAnalysis
 Microsoft Code Verification Root0
Microsoft Corporation
Microsoft Corporation.
Microsoft Corporation1
Microsoft Corporation1)0'
Microsoft Corporation1;09
Microsoft Corporation1200
Microsoft Corporation1806
Microsoft.CSharp
Microsoft.CSharp.RuntimeBinder
    Microsoft Fax Cover Page Editor
MicrosoftHCK
microsoftHckCert
Microsoft.Licensing.AzureCheckUtil
 Microsoft Operations Puerto Rico1
Microsoft (R) Cabinet Extraction Tool
Microsoft (R) HLSL Shader Compiler 10.1
)Microsoft Root Certificate Authority 20100
*Microsoft (R) Windows (R) Operating System
Microsoft Sans Serif Regular
Microsoft Tahoma Bold
Microsoft Tahoma Regular
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
Microsoft Unified Security Protocol Provider
Microsoft.VisualC
Microsoft_WDF_UMDF_Version
Microsoft.Win32
Microsoft.Win32.SafeHandles
Microsoft.Win32.TaskScheduler
Microsoft Windows0
Microsoft.Windows.Accessibility.EoaExperiencesProvider
Microsoft.Windows.Bluetooth
Microsoft.Windows.DataProtection.Adapters
Microsoft.Windows.DataProtection.Common.Native
Microsoft.Windows.DataProtection.Common.Sqm
Microsoft.Windows.DataProtection.Common.Tracing
Microsoft.Windows.DataProtection.UI
Microsoft.Windows.DataProtection.UI.Controls
Microsoft.Windows.DataProtection.UI.Controls.Primitives
Microsoft.Windows.DataProtection.UI.DataAdapter
Microsoft.Windows.DataProtection.UI.Framework.Data
Microsoft.Windows.DataProtection.UI.Framework.Layout
Microsoft.Windows.DataProtection.UI.Framework.Layout.Input
Microsoft.Windows.DataProtection.UI.Helpers
Microsoft.Windows.DataProtection.UI.Theming
Microsoft.Windows.Desktop.Shell.EUDCEditor
Microsoft.Windows.DeviceManagement.ConfigLock
Microsoft.Windows.DeviceManagement.ConfigManager2
Microsoft.Windows.DeviceManagement.DcSvc
Microsoft.Windows.DeviceManagement.DevDetailCsp
Microsoft.Windows.DeviceManagement.DevInfo
Microsoft.Windows.DeviceManagement.DmAccCsp
Microsoft.Windows.DeviceManagement.MdmPostProcessEvaluator
Microsoft.Windows.DeviceManagement.OmaDmApiProvider
Microsoft.Windows.DeviceManagement.OmaDmClient
Microsoft.Windows.DeviceManagement.OMADMPRC
Microsoft.Windows.DeviceManagement.SecurityPolicyCsp
Microsoft.Windows.DeviceManagement.SessionManagement
Microsoft-Windows-DeviceManagement-W7NodeProcessor
Microsoft.Windows.DirectToUpdate
Microsoft.Windows.DriverInstall
Microsoft.Windows.Dwm.BlackScreenDiag
Microsoft.Windows.DxDiag
Microsoft.Windows.EMPS.Enrollment
Microsoft.Windows.EnterpriseManagement.ConfigManagerHook
Microsoft.Windows.EnterpriseManagement.DeclaredConfiguration
Microsoft.Windows.EnterpriseManagement.Enrollment
Microsoft.Windows.EnterpriseManagement.PolicyManager
Microsoft.Windows.EnterpriseManagement.ResourceManager
Microsoft.Windows.EnterpriseManagement.ResourceManagerUnenrollHook
Microsoft.Windows.ErrorHandling.Fallback
Microsoft.Windows.ESENT.TraceLogging
Microsoft.Windows.F12.Chooser
Microsoft.Windows.GameBarPresenceWriter
Microsoft.Windows.GameOverlay
Microsoft.Windows.GameOverlayTracing
Microsoft.Windows.Graphics.DirectXDatabaseHelper
Microsoft.Windows.Graphics.DirectXDatabaseUpdater
Microsoft.Windows.HyperV.Hypervisor.Diagnostics
Microsoft.Windows.Licensing.FlexibleClip
Microsoft.Windows.Narrator.Asimov
Microsoft.Windows.OneSync.DiagCritical
Microsoft.Windows.OneSync.DiagError
Microsoft.Windows.OneSync.DiagTrace
Microsoft.Windows.OneSync.DiagWarning
Microsoft.Windows.Print.EduPrintProv
Microsoft Windows Publisher0
Microsoft.Windows.Security.Efs
Microsoft.Windows.Settings.Accessibility
Microsoft.Windows.Shell.DeviceStage
Microsoft.Windows.Shell.EM
Microsoft.Windows.Shell.GroupConverter
Microsoft.Windows.Unistack.FailureTrigger
Microsoft.Windows.Wil.FeatureLogging
?Mid@CHString@@QEBA?AV1@HH@Z
?Mid@CHString@@QEBA?AV1@H@Z
mig_device
MIG Device
| MIG devices:                                                                |
|                               |                      |               MIG M. |
mig.mode
    MIG Mode
mig.mode.current
mig.mode.pending
--migrationcap
Migration capability
Migration failure
millisecondsTimeout
m_imageLength
Mime-Version
Mime-Version: 1.0
min16float
min16float2
min16float3
min16float4
min16int
min16int2
min16int3
min16int4
min16uint
min16uint2
min16uint3
min16uint4
minAccelerationStructureScratchOffsetAlignment
MinBlockSize
MinConcurrency
MinDaysToKeep
minExclusive
MinExtendedResourceTypeBuildNumber
MinExtendedResourceTypeMajorVersion
MinExtendedResourceTypeMinorVersion
MinExtendedResourceTypeRevisionNumber
MinFilter
minFragmentDensityTexelSize
minFragmentShadingRateAttachmentTexelSize
MinGrantTime
MinGuaranteedActionListSize
minImageCount
minImageExtent
minImageTransferGranularity
minImportedHostPointerAlignment
Minimum ARB SVN value set on current platform does not match corresponding ARB SVN in FW image.
MinimumEnvelopeLimit
_minimumThreshold
minInclusive
minInterpolationOffset
m_initialInputBufferSize
m_initializing
Minizip Error
min_k_size
min K value for KSHMOO workload
minLength
minMemoryMapAlignment
.minnctapersm 2
minOccurs
MINOR_API_VERSION
minor is wrong
minor_number
Minor Number
MinorVersion
min_power_limit
Min Power Limit
m_inPreBoot
m_inputBuffer
m_inputBufferSize
m_inSafeMode
minStorageBufferOffsetAlignment
minSubgroupSize
m_interDomainConnectionInfo
m_interDomainConnections
m_interfaceId
minTexelBufferOffsetAlignment
minTexelGatherOffset
minTexelOffset
minUniformBufferOffsetAlignment
 minute(s)
minVertexInputBindingStrideAlignment
m_ioControlCode
m_ioctlCode
MipFilter
MipLevels
MipLODBias
MipMapLodBias
mipmapPrecisionBits
MIRGR0J0Jr
m_irksem
misaligned address
MiscellaneousMathematicalSymbols-A
MiscellaneousMathematicalSymbols-B
MiscellaneousSymbols
MiscellaneousSymbolsandArrows
MiscellaneousTechnical
m_isInAcl
Mismatch between FPF UEP and HW values.
Mismatch in expected NVML version.  Are you sure you are using the correct NVML version?
Mismatch in versions between nvidia-smi and NVML.
Misplaced ATTRIBUTE node
Misplaced CDATA node
Misplaced COMMENT node
Misplaced DOCTYPE declaration
Misplaced DOCTYPE node
Misplaced ELEMENT node
Misplaced ENTITY node
Misplaced ENTITYREF node
Misplaced FRAGMENT node
Misplaced NOTATION node
Misplaced PI node
Misplaced TEXT node
Missing a required partition manifest extension in the Update Image.
Missing a required partition manifest in the Update Image.
missing baseType
Missing child element(s)
Missing closing curly brace
Missing encoding in text declaration
Missing Huffman code table entry
missing #if for #elif
missing #if for #else
missing #if for #endif
': missing initial value
MISSING particle term
missing precision specifier
Missing RequiredValue xml node in Master Access configuration file.
': missing 'Texture' property
MissingValues
m_isUpdatable
 mit einem originalen Product Key oder einer
mitigationHR
mitigationResult
mitigationResultReason
mitigationSuccessWriteHR
[mixed] 
MixedContentDecl : '|' or ')*' expected
MixedContentDecl : '#PCDATA' expected
Mixed is empty
Mj-j-z1z1H2I2W!W!
MJPEG Session created
?)?M?j?w?
mj;WE_b@
mkkkkkkkkkkkkkkkkkkkkkmmmmjn
MkParseDisplayName
MlAmA5*3*
m_LaneSpeed20G
m_launcher
m_length
m_LinkAggregated
mlIZ6YoL_
ML;M;D)D)3434W)W)
#m"l"M#N#
m_LocalHostRouterUniqueID
m_LocalRouteString
m m0m1m.m
M M0M1M.M
m@m0m8m6m
M@M0M8M6M
!(#(#m!m!4"5"
m_mainWindow
m@mAm8m:m
M@MAM8M:M
mma.sync
mma.sync 
mma.sync.aligned.m16n8k8.row.col.f327
mma.syncJY
M@m@B_)k
m MDDDMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM 
m_memoryStream
m_method
mmioAdvance
mmioAscend
mmioClose
mmioCreateChunk
mmioDescend
mmioGetInfo
mmioOpenW
mmioRead
mmioSeek
mmioSetInfo
mmioWrite
;;;;MMMM
m#m.m:mEmQm]mimum
 MMMMMMDg
 MMMMMMMM m
m MMMWMMM_MWQQ_Q___W_W_______________________________________________________________________________________W_W_QWQQ_MMMMMm
MMMQMQWWWWWWWW_______________________________________________________________________________________________WW_WW_WWQMM 
|||mmmrpb
m_modelId
m_modelName
m@mPmQmNm
M@MPMQMNM
m@mPmXmVm
M@MPMXMVM
MmrAddBranding
MMUErrSrc
MMUFaultType
MMUFltAccessType
mmV[vVH.s
#"M!MZ-Z-_5_5
m_nativeEnabled
mn'Jcfqb
m_nodeType
|||mnoqpj
m_notifyContext
:MnSPI5Y
#M(N(t's'
m_numberOfPorts
m_NumBootAcl
m_numOfControllers
m_numOpenedDriverHandles
mNV_@CY3Zu
m_NvmMajorVersion
m_NvmMinorVersion
m_nvmVersion
M N X#U# 	 	
m)n)Y-X-
Mobile: ON in S0
mode......................
Mode Done settings.
model group (all)
model group (choice)
model group def.
model group definition
model group (sequence)
modified
Modified 
Modified fields:
ModifyExistingFolderDACL
ModifyMenuW
ModuleCollection
Module GUIDs found!
ModuleHandle
Module ID
ModuleLoadException
ModuleLoadExceptionHandlerException
Modules count: 
 modules size: 
_ModuleUninitializer
ModuleUninitializer
MOF buffer
MOF buffer size
MOF file name
m_offset
MOF interface is not intialized
MomentumStrikeScreenEdge
Mongolian
MonitoredEntity
MonitoredEntityDescription
MonitoredEntityOnLastExpiration
MonitorFromPoint
MonitorFromRect
MonitorFromWindow
    monitoring data is compressed and logged to a persistent storage.
    Monitoring is limited to a maximum of 4 devices. If no devices
MonitorProcess
monotype
Month number is out of range 1..12
.moooj[[[[[[[[[[Z
.moooooooooooooom.
More information at:
Morrisville1
(m(o(U8U8
MountCount
MouseButtonEventArgs
MouseButtonEventHandler
mouse_event
MouseEventArgs
MouseEventHandler
mousekeys
m_outputBuffer
m_outputBufferSize
mov.b64	
MoveAbsolute
MoveFileA
MoveFileEx
MoveFileExA
MoveFileExW
MoveFileFlags
MoveFileW
MoveNext
MoveToEx
MoveWindow
Moving trailers state machine from initialized to sending.
			-moz-background-size: cover;
MozbiiWinSDK
MozColorTool2
MozColorTool2.ColorPen
MozColorTool2.MainWindow
MozColorTool2.Properties
MozColorTool2.Properties.Resources.resources
MozColorTool2.ScreenshotWindow
MozColorTool2.SettingWindow
m_pclsOwner
m_pfnPartitionComplete
mp;nb*KP
(!(!MPNP0505
Mppppppppp
m_preBootSupported
m_ProtocolVersion
MpServer
m!Q25 26
Mq) 7cAP
mQparam5
mqqpppppppppppppppppppppppppppppppppppp
Mq.r.r2p2F4F4
:;:M:R:[:
M:"]!R8t
m_rawInputBuffer
m_refCount
m_regOffset
m_Rejected
m_remoteHostName
m_RemoteHostRouterUniqueID
m_RemoteRouteString
m_reserved1
m_reserved2
m_reserved3
m_reserved4
m_reservedStr1
m_reservedStr2
m_retimerSmBusAddr
m_retrieveEndPointNvmVersion
M_rgiRefArgWWW
mRLNRcyy
m_routeString
m_RTD3Capable
m_RTD3State
m_RTD3Supported
m_running
mrymD2B6BFGig6  
_mS5sY6Do
;|m*s8wB
mscoree.dll
mscorlib
MSCTF.dll
msdrm.dll
m_securityLevel
m_semReader
m_semWriter
m_sequenceNumber
?M?S?f?v?
MsgWaitForMultipleObjects
MsgWaitForMultipleObjectsEx
m_shader cannot implement
MSHTML.dll
MSIMG32.dll
m_skipPreChecks
MSSmBios_RawSMBiosTables
m_status
msuperior
msvcp110_win.dll
MSVCP140.dll
msvcp_win.dll
msvcrt.dll
MSWSOCK.dll
MTAThreadAttribute
MTdBB0_30w"
MTFhkEaaP
m_thread
m_threadProcDoneEvent
m_threadRunning
m_thunderboltGeneration
m_timestampMs
m_topologyInfo
mTq|f4WPm
MTUUUUUUUUUUTTTUUUUMLUL
*MU9nFeV7.
MudzuS"1
!muI]!x2g
mul.lo.s
mul.lo.sB
mul.lo.si
MULT div
MultiApplicationDriverEndPointEventArgs
MultiApplicationDriverEventsDispatcher
MultiApplicationDriverInterDomainEventArgs
MultiByteToWideChar
MulticastDelegate
multiDraw
multiDrawIndirect
multigpu_board
MultiGPU Board
MultiIorp
MultiIors
MultiIoru
multi-line text field 
Multipart files cannot have the tiled bit set
multiple
Multiple local machine checks...rebooting...
MultipleSystemSupport
Multiplexed connection found!
multiply
multiply minimum saturation by factor
multiprocessor_count
Multiprocessor count
multisampleArrayImage
multiview
multiviewGeometryShader
multiViewport
multiviewTessellationShader
MULT mod
mul.wide
mul.wide2
mul.wide4
mul.wide6
mul.wide8
mul.wideO
mul.widew
mul.widW
m_uniqueId
m_uniqueID
m_upButton
musicalnote
musicalnotedbl
MusicalSymbols
must be [crc] or [diff]
# must be followed by parameter name
must be reinitialized.
Must supply a cabinet file name
mustUnderstand
MustUnderstand
mutableComparisonSamplers
MutexAccessRule
MutexRights
MutexSecurity
MutliApplicationDriverEventsException
Mutual Authentication
MutualAuthentication
m_vendorId
m_vendorName
m_v|!F@e
MW;A0u-I
MX2226q"
m#YBbdFlCq
_MyEventWrite@12
My]Go"0E
myProgramData
MyProgramDataFolder
MyTempFolder
mYYYYYbYYY
n0Br6188
N0D8_	uPH
N0Dw.F|S9
N1"4012D4068z
*n145 26
n2Xyy4y 
 N3j:sTU
	n433 17b
N4cask15reduced_divisorES5 
N4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1
*N4O4A(@(
n4Zp"yhu
n5_:8yd70y
)n5l5B0B0
n5tA7FLN
n"?602cd
N66666666666666U
N@6?D*Ml
N6G3Gr5r5
N70908070	4
N7cutlass4conv6Stride0
 : :n7o7
.N8Q8 ) )
nAccessCodeW
namechar 
named property value 
named symbol not found
Name expected in NOTATION declaration
NameFormat
Name is NULL
	name is required (such as for dumping or decoding).
NameNamespace
NameOffset
namePush
 'namespace' 
'namespace' 
namespace
namespace 
	Namespace
Namespace default prefix was not found
namespace node is NULL
namespace-uri
Name too long
Name too long use XML_PARSE_HUGE option
NameValueCollection
nan(ind)
NAN(IND)
nan(snan)
NAN(SNAN)
napostrophe
NativeCppClassAttribute
__native_dllmain_reason
NativeMethods
__native_startup_lock
__native_startup_state
__native_vcclrit_reason
NavigationHistory
NavigationHistoryClickCount
nBB0_19J
nBB0_60w
nBB0_80t
.nBB0_89
nBB0_95e
N@b	gCg	
NBje.3va
NBSI_INCOMPLETE
nBufferMax
nButtons
NbYbYYYy
 ncKd0M"hq
;'?(?nCmC
nCmdShow
ncommaaccent
Ncommaaccent
nc_pex_errors
NCryptDeleteKey
ncrypt.dll
NCryptFreeObject
NCryptSignHash
ncwseQUo
NdrClientCall3
NdrCStdStubBuffer2_Release
NdrCStdStubBuffer_Release
NdrDllGetClassObject
NdrOleAllocate
NdrOleFree
NdrServerCall2
NdrServerCallAll
NdrStubCall3
NdrStubForwardingFunction
n d!(zz1
ne.b32 p
necessary data rewind wasn't possible
NeedApply
Need destination address
need dictionary
NeedReboot
NeedsCleaning
?NeedsRestart@VolumeFveStatus@@QEBA_NXZ
negative 
negative argument or stack underflow - escROLL
negativeInteger
negative precision
 (negative sample count detected)
negative value
negative width
Negotiate
Negotiate auth restarted
Neither character nor element content is allowed because the element is 'nilled'
nestedException
NestedException
': nested struct members are not supported
NetAdminPassEncryptionType
NetApiBufferFree
netascii
.NET Framework 4.5
.NET Framework 4.5.2:
.NET Framework 4.5.29
.NET Framework 4.6.1
.NET Framework 4.6.1A
.NET Framework 4.6.2
.NET Framework 4.7.1
.NET Framework 4.7.1F
.NET Framework 4.7.2
.NET Framework 4.7.2H
.NET Framework 4 Client Profile)
NetGetJoinInformation
# Netscape HTTP Cookie File
NetServerGetInfo
NetShareEnum
NetUserGetInfo
netutils.dll
NetWkstaTransportEnum
NetworkAddresses
Network Administration
NetworkAdminPassword
network down
network_down
Network down
Network has been reset
NetworkIDsConfigurable
NetworkIDsFormat
Network Interface: 
NetworkInterface
NetworkInterfaceEnabled
NetworkIsolationAddAllowEnterpriseIdRule
NetworkIsolationDeleteAllowEnterpriseIdRule
network reset
network_reset
Network state change
Network Time
NetworkTimeRealm
network unreachable
network_unreachable
Network unreachable
NeutralResourcesLanguageAttribute
NewAllocationSize
newBTStatus
?newCharReader@CharReaderBuilder@Json@@UEBAPEAVCharReader@2@XZ
newColor
newdev.dll
New Doc failed
NEW-ENVIRON
 New FW Version: 
New Jersey1
?_New_Locimp@_Locimp@locale@std@@CAPEAV123@AEBV123@@Z
New mix format doesn't match old mix format.  Aborting.
  newname  - New filename to give the extracted file.
NewParserCtxt: out of memory
NewState
Newtonsoft.Json
newtownDllFileName
newtownDllPath
_nextafter
NextAMTAlarmTime
nextCatalog
NextCertificate
next connector
NextVersionButtonMultiJumpCount
NextVersionButtonSingleJumpCount
NextVersionSliderMultiJumpCount
NextVersionSliderSingleJumpCount
].Nf165(
N|_f2983
nFC('J1;U
NfD;.u#H
nFmFVAWA
NFTP invalid.
NFTP partition hash and calculated hash are not the same.
ngcl(W?[
:n;:g:df
(?'?NGMG
"ngoNwu_
NGXCallBootstrapAPI
NGXCallCheckForUpdateAPI
NGXCallDefaultAPI
NGXCallDeleteAPI
NGXCallGetPathAPI
NGXCallUnregisterAPI
NGXCallUpdateAPI
NGXCheckArchitectureSupport
NGXCreateDirectoryRecursively
NGXCreateModelsFolder
NGXDownloadFile
NGXExtractZipContents
NGXGetDebugParameters
NGXGetDriverVersion
NGXGetLocalConfig
NGXGetPath
NGXGetServerConfig
NGXIsCDNStaging
NGXIsDirectory
NGXIsUpdaterEnabled
NGXLoadConfig
NGXLoadLibrary
NGXOpenEventHandle
NGXProcessAPI
NGXProcessPackageParameters
NGXProcessSystemInfo
NGXReturnModelsDirectory
NGXReturnServerURL
NGXSaveLocalConfig
NGXScopedMutex::NGXScopedMutex
NGXSignalAndCloseEvent
ngx_update_api
NGXUpdateMain
NGX_UPDATER_API_BOOTSTRAP
NGX_UPDATER_API_CHECK_FOR_UPDATE
NGX_UPDATER_API_COUNT
NGX_UPDATER_API_DEFAULT
NGX_UPDATER_API_DELETE
NGX_UPDATER_API_GETPATH
NGX_UPDATER_API_UNREGISTER
NGX_UPDATER_API_UPDATE
NGX Updater Not Allowed to run (disabled in config)!
NGX Updater reported: 
NGX Updater reported an error: 
ngx_updater_running
 NGX Updater version: 
ngx::util::logva
ngx::util::setLogFilename
_nhwc2ncL90u
NHWCEEESG_SG_(
NHWCEEESG_SG__-
NHWCEEESG_SG_iiPiSH_Pt(
_nhwckcrs_nchw_
_nhwckrsc_nchw_
[nillable] 
nillable
nInBufferSize
nInBufferSizeWWW
'nIndexWW
nineinferior
nineoldstyle
ninesuperior
nInValue
'":NJB1ic
nJp(wDZq
NkKU.sXH
NKMKKKKIGFFFF#FF#FFK!
NkpSavedReferenceTime
*N"L"f0e0
NLKKR71k
NlsMbCodePageTag
NlthM8nh
@N(M("4"4
N*M*9Q9Q
n"[m ?mx
NMOEhk|i
nmOSfb]8
n)m)qPoP
n	m	s	q	
 NMTOKEN
NmToken expected in ATTLIST enumeration
 NMTOKENS
NMTOKENS
	"	#	n	n	
n n0n1n.n
N N0N1N.N
n@n0n8n6n
N@N0N8N6N
n@nAn8n:n
N@NAN8N:N
NN(C_een
@NNL25"6-N
!NNM38OT
nnnnGGGG
******NN*N*N*N*
********NNN*NN*N
NNNNNNaaNNNNNN
NNNNNNNNN
NNNNNNNNNNNN**
NNNNNNNNNNNNNN
!NNNNNNNNNNNNNNNN 
NNNNNNNNNNNNNNNNNNNNNNNNNN
_NNNNNNNNNNNNv
NNNNNNNNNxryyV2
nnnnZZZZ
*'nNoi'*
n@nPnQnNn
N@NPNQNNN
n@nPnXnVn
N@NPNXNVN
n	n	XMXM
(n*o*2-1-R"R"
(n*o*3-1-
"n*o*'5(5
noaccess
No API passed in to the Updater. Resorting to the default API.
no app specific version trying generic
No authentication
No authentication method was acceptable.
 No base found !!!
no base type
No base type existent
No bclk adjustment found.
NO_BIT_HEADER
No broadcast providers found.
no buffer space
no_buffer_space
No buffer space
'n-o-C9A9
No certificate
no child process
No child processes
No compatible drivers found.
No connections available.
No connections available in cache
no constructor
No content
no CUDA-capable device is detected
No DATABASE tag found
No data for this clock.
No data record of requested type
No data to write to configuration file.
No data was received!
Node attribute declaration has no element name
Node attribute declaration has no name
Node doc differs from parent's one
Node has no doc
Node has no next and not last of parent list
Node has no parent
Node has no prev and not first of parent list
Node is not a DTD
Node is not a namespace declaration
Node is not an attribute declaration
Node is not an element declaration
Node is not an entity declaration
node is NULL
Node is NULL !
NodeLedge
Node on the stack with invalid handle.
nodePush
NodeSet is NULL !
NoDeviceClearRegConnect
No Device Groups Found
No device query callback specified
No devices found
No devices found.
No devices need driver update.
No devices were found
No display devices found on the system
no document
?NO_DRIVE_LETTER@BuiVolume@@2IB
no DTD found!
No entities in external subset
No entities in internal subset
No enumeration context ???
no error
No error
No error message provided
 noexcept
No excluded devices found.
No expand callback method set. Cannot expand ZDB file.
NO_EXPANSION_ROM
No facets allowed
 NOFORCESNOOP 
No frame buffer specified as pixel data destination.
No frame buffer specified as pixel data source.
noframes
No free connection available.
noheader
                                  noheader - skip the first line with column headers
NoHostCsmeSoftwarePolicy
'_NOhU*4
NoIe4ChainFlag
No information for parsing was provided with the given schema parser context.
noinline
no input
no instance to validate
nointerpolation
nointerpolation 
NOJLJHMFM
(No kernel debugger is present.) Respond with:
no kernel image is available for execution on the device
No known authentication mechanisms supported!
no link crosses yet
no lock available
No locks available
No LogManager defined with such name
No LogPrinter defined with such nume.
no main schema on constructor
No matching declaration available
No matching drivers found for device.
No matching files.
no matching function overload for '
No matching global declaration available for the validation root
no matching intrinsic overload for '
no memory
No memory
no message
No message.
no message available
|  No MIG devices found                                                       |
nominalWidthX
No more free entries in local db table
(no name) 
noNamespaceSchemaLocation
Non-blocking
NO_NBSI_BLOCK
nonCoherentAtomSize
nonCriticalPoliciesChanged
non-empty case statements must have break or return
nonfatal_pex_errors
nonNegativeInteger
Nonnumeric data in PPM file
no node or node's doc available
nonPositiveInteger
Non-present device needs reinstall.
(non-sparse)
Non SR-IOV
(non-transient)
No NVLink devices found.
noOpenClose
No Open File
No Open Zip File
No output file path specified to write configuration file.
no parser context available
No parts were found!
No pending driver updates to process.
noperspective
noperspective 
No plugins in state transition
NoPolicyUsageFlag
NoPreviewHandlerFiles
No profile exists.
no protocol option
no_protocol_option
no_proxy
NO_PROXY
NO_PUBLIC_KEY
no Pull response
NOQHDD-"-*--'*'
	NoRemove AppID
	NoRemove CLSID
noresize
NO_RESOURCE
No return context was supplied for InitOnceGetStringTableOffset
No return context was supplied for InitOnceScanIndexes
Normaliz.dll
normalize
normalize(
normalizedString
normalize-space
no root element
No route can be determined to reach the destination role defined by the WS-Addressing To.
North Carolina1
|  No running processes found                                                 |
noscript
NoSinglePointOfFailure
No space left on device
no space on device
No SPI flash device could be identified. Please verify if Fparts.txt has support.
no state
no stream resources
No stringtable in DB
no such device
No such device
no such device or address
No such device or address
no such file or directory
No such file or directory
No such node
no such process
No such process
No such profile in flash.
No such record.
|   No supported devices found                    |
No supported devices found
No supported devices in vGPU mode
No synchronous boost groups are currently configured.
No system restore point was set earlier.
Not a BMP file - does not start with BM
Not Active
not-a-date-time value
not a directory
Not a directory
notAllowed
Not applicable
no target namespace
Not a schema component
not a socket
not_a_socket
not a stream
notation
 NOTATION 
 NOTATION (
NOTATION
NOTATION 
notation declaration
Notation declaration doesn't start and stop in the same entity
Notation element not expected
Notation has no name
NOTATION: Name expected here
Not available
Not Available
Not a valid HTTP URI
not connected
not_connected
notdecimal 
NotDeleting
noteledgeAlias
notelement
Not empty
not enough arguments for function-like macro invocation '
Not enough free space
not enough memory
Not enough space
- not enough space for arguments
- not enough space for environment
- not enough space for locale information
- not enough space for lowio initialization
- not enough space for stdio initialization
- not enough space for thread data
NotEnoughSpaceInOutBufferError
notequal
NOTEQUAL
Note that the functionality of NVSMI is exposed through the NVML C-based
                    Note: This option does not affect html or json output;
Note: URLs not fired since this was run in printURL mode
Not expecting an existing timer
Not expecting a valid proxy yet
Not expecting to pull a proxy when we have one
Not Found
NOT_FOUND
not found after insert
not found. Will not invoke setup from cache
not guaranteed to be backwards compatible; NVML and the bindings are backwards
Nothing is running on the GPU and the clocks are dropping to Idle state. This limiter may be removed in a later release.
NOTICE: Disconnect and disable the display before next reboot. You are switching to TCC driver model with display active!
Notification
NotificationBaseWrapper
NotificationCallBackFunction
notifyChanged
NotifyEnable
NotifyETDCtrlClose
notifyEventCharacteristic
NotifyIcon
NotifyIpInterfaceChange
NotifyPropertyChanged
NotifyRouteChange
NotifyTo
NotifyType
NotifyUserBatteryLevel
NotifyUserColorChanged
NotifyUserWithMessage
NotifyWinEvent
NotImplementedException
Not implemented yet
Not initialized
notinitname 
not intended for the validation root
no title
NOT_KNOWNWWW
NotMaximusSystemError
notnamechar 
Not-null check failed: Blob
Not-null check failed: Context
Not-null check failed: Data
Not-null check failed: SourceString
No top grammar defined
NotPreConvRenaming
 not present
NOT_PRESENTWx
NOT_READY
notrealchar 
NotRenaming
NOT_REQUIRED
NOT_SILICON_OR_EMULATION
notspace 
notsubset
not supported
Not supported
Not Supported
NotSupported
NOT_SUPPORTED
NOTSUPPORTED
NotSupportedException
 not supported for deepscanline images in this version of the library
Not supported on the device(s)
    Not supported on vGPU host.
Not waiting for device post-install to complete when reboot required.
No type found
(N(O(U8T8;;:;lAkA
                                  nounits - don't print units for numerical
No units found in system
nounroll"
nounroll"?
nounroll"|8
nounroll"B
nounroll"	G
nounroll"s!#12
nounroll"y!
no updates found
No URL set!
nOutBufferSize
nOutBufferSizeWW
nOutValueWWW
No valid PERM UOB.
No valid PRE UOB.
No value
NO_VBIOS_FOUND
November
No vGPUs found on this device 
No XML provided
npb#1ZQN5
NPHY partition hash and calculated hash are not the same.
NPMPJ9K9
nPq'J8aW
:npQr)]ho
npr2T7Jb
npsgilmoq
N"Qfd152
N.Q-QIOLOdOdO
NrFn@iWZ
NR)(	SG#0
NRUr2178u
NRY)@V7u
?#?@?N?S?g?t?
NSIS Error
.nSizIxq
nsLog::format: ERROR - bad format
nsName has no ns attribute
Nsul.wide
nsuperior
|ns(y"qVJ
NtAdjustPrivilegesToken
NtAlpcSendWaitReceivePort
NtCommitTransaction
NtCreateFile
NtCreateKey
NtCreateTransaction
NtDeleteValueKey
NtDesktopCaptureBits
NtDeviceIoControlFile
ntdll.dll
NTDSAPI.dll
NtDuplicateObject
NtDuplicateToken
NtEnumerateBootEntries
NtEnumerateTransactionObject
NtFlushBuffersFileEx
NtGdiExtEscape
NtGetCachedSigningLevel
-nthreads
-nthreads                  - max. amount of threads
Ntildesmall
NT LM 0.12
NTLM auth restarted
NTLM handshake failure (empty type-2 message)
NTLM handshake failure (internal error)
NTLM handshake rejected
ntlp.b32	
NtOpenDirectoryObject
NtOpenFile
NtOpenKey
NtOpenProcessToken
NtOpenProcessTokenEx
NtOpenSymbolicLinkObject
NtOpenThreadToken
NtOpenThreadTokenEx
nTpReasonWd
NtQueryBootEntryOrder
NtQueryBootOptions
NtQueryDirectoryObject
NtQueryEaFile
NtQueryInformationFile
NtQueryInformationProcess
NtQueryInformationToken
NtQueryKey
NtQueryLicenseValue
NtQueryObject
NtQueryQuotaInformationFile
NtQuerySecurityObject
NtQuerySymbolicLinkObject
NtQuerySystemInformation
NtQueryValueKey
NtQueryVolumeInformationFile
NtQueryWnfStateData
NtSetInformationFile
NtSetInformationProcess
NtSetInformationThread
NtSetQuotaInformationFile
NtSetValueKey
NtSetVolumeInformationFile
NtSystemDebugControl
NtTranslateFilePath
NtUpdateWnfStateData
NullableAttribute
NullableContextAttribute
NullableFlags
NULL context pointer
NULL definition list
nullDescriptor
NULL ParseFontProcs pointer dereferenced
NULL Path list pointer
NULL PGlbColor pointer h1
NULL pguidDB passed in
NULL quit event provided. Ending thread function.
NULL response
NullSignedCertificateRequest
NullsoftInst
NulluN	E
NUMBER_DECIMAL 
Number encoding
NumberForms
number is too big
NUMBER_LETTER 
NumberOfBlocks
Number of display devices found on the system is:
NumberOfEnabledCores
Number of encoder sessions running on the GPU.
Number of IUPs in FW exceeds allowed maximum.
NumberOfMediaSupported
Number of pixels per column in the image's data window is not a multiple of the y subsampling factor of the "
Number of pixels per row in the image's data window is not a multiple of the x subsampling factor of the "
NumberOfPowerCords
Number of redirects hit maximum amount
Number of Samples
NumberOfScreens
number of widths must be greater than zero
NUMBER_OTHERS 
numbersign
numDuplicates
Numeric value out of range in BMP file
Numeric value out of range in PPM file
num of blends greater than stack size in cmdBLEND
numOfDisplaysWWW
NumPhysicalPins
[numthreads(
nuN22V@7m
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_ACTIVATE
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_DEACTIVATE
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF_GC6_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_GC6_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF_MSHYBRID_GC6_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_MSHYBRID_GC6_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF__OFFSET
NV2080_CTRL_GPU_POWER_ON_OFF_RG_RESTORE
NV2080_CTRL_GPU_POWER_ON_OFF_RG_SAVE
nvapi.dll
nvapi_pepQueryInterface
nvapi_QueryInterface
NVBusUpperFilter keywords in section
.nv.callgraph
NV_CONFIG_PCI_NV_20_READ_ERROR
.nv.constant0.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.constant0.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.constant0.ampere_dgemm_128x64_nt_v0
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
.nv.constant0.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
.nv.constant0.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.constant0.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.constant0.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.constant0.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.constant0.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
.nv.constant0.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
.nv.constant0.ampere_hgemm_256x128_nt_v0
.nv.constant0.ampere_igemm_int8_128x128_ldg4_nt_v0
.nv.constant0.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
.nv.constant0.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
.nv.constant0.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
.nv.constant0.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
.nv.constant0.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
.nv.constant0.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
.nv.constant0.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
.nv.constant0.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
.nv.constant0.ampere_sgemm_128x128_nt_v0
.nv.constant0.gpu_delay_long_gpu
.nv.constant0.gpu_delay_short_gpu
.nv.constant0.maxwell_dgemm_128x64_nt_v0
.nv.constant0.maxwell_hgemm_256x128_nt_v0
.nv.constant0.maxwell_igemm_int8_128x128_ldg4_nt_v0
.nv.constant0.maxwell_sgemm_128x128_nt_v0
.nv.constant0.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.constant0.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.constant0.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.constant0.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.constant0.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.constant0.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.constant0.turing_h1688gemm_128x128_ldg8_nt_v1
.nv.constant0.turing_h1688gemm_256x128_ldg8_nt_v1
.nv.constant0.volta_dgemm_128x64_nt_v0
.nv.constant0.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.constant0.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.constant0.volta_h884gemm_128x128_ldg8_nt_v1
.nv.constant0.volta_h884gemm_256x128_ldg8_nt_v1
.nv.constant0.volta_hgemm_256x128_nt_v0
.nv.constant0.volta_igemm_int8_128x128_ldg4_nt_v0
.nv.constant0.volta_sgemm_128x128_nt_v0
.nv.constant0._Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolCoalescedCILj0ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolCoalescedCILj1ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolCoalescedCILj1ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolCoalescedCILj2ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolCoalescedCILj2ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.constant0._Z14poolNCxHWxInt8ILj0EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.constant0._Z14poolNCxHWxInt8ILj1EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.constant0._Z14poolNCxHWxInt8ILj3EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.constant0._Z17gpu_check_crc_gpuPhyPVj
.nv.constant0._Z18gpu_check_diff_gpuIdEvPT_S1_jjPjP7error_s
.nv.constant0._Z18gpu_check_diff_gpuIfEvPT_S1_jjPjP7error_s
.nv.constant0._Z18gpu_check_diff_gpuIhEvPT_S1_jjPjP7error_s
.nv.constant0._Z18gpu_check_diff_gpuIjEvPT_S1_jjPjP7error_s
.nv.constant0._Z18gpu_check_diff_gpuIsEvPT_S1_jjPjP7error_s
.nv.constant0._Z18gpu_hist_gpu_firstI6__halfEvPT_yP10gpu_hist_sIS1_E
.nv.constant0._Z18gpu_hist_gpu_firstIaEvPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z18gpu_hist_gpu_firstIfEvPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z18poolCHWPackedHalf2ILj0EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.constant0._Z18poolCHWPackedHalf2ILj1EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.constant0._Z19gpu_hist_gpu_secondI6__halfEvjPT_yP10gpu_hist_sIS1_E
.nv.constant0._Z19gpu_hist_gpu_secondIaEvjPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z19gpu_hist_gpu_secondIdEvjPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z19gpu_hist_gpu_secondIfEvjPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z19gpu_hist_gpu_secondIiEvjPT_yP10gpu_hist_sIS0_E
.nv.constant0._Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.constant0._Z21poolCHWPackedInt8QuadILj1EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi16EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi32EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi48EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi64EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi16EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi32EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi48EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi64EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi16EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi32EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi48EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi64EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi16EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi32EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi48EEv19FirstLayerFwdParams
.nv.constant0._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi64EEv19FirstLayerFwdParams
.nv.constant0._Z22gpu_poll_all_locks_gpuPVyyjjjS0_
.nv.constant0._Z23gpu_convert_to_half_gpuP6__halfyPfy
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi64ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant0._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.constant0._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi1EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.constant0._ZN4cask19reorderImma8816BiasENS_25ReorderImma8816BiasParamsE
.nv.constant0._ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
.nv.constant0._ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask20computeOffsetsKernelILb0ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask20computeOffsetsKernelILb0ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask20computeOffsetsKernelILb1ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask20computeOffsetsKernelILb1ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask21computeBOffsetsKernelENS_21ComputeBOffsetsParamsE
.nv.constant0._ZN4cask21reorderImma8816FilterENS_27ReorderImma8816FilterParamsE
.nv.constant0._ZN4cask22computeOffsetsKernel3DILb0EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask22computeOffsetsKernel3DILb1EEEvNS_20ComputeOffsetsParamsE
.nv.constant0._ZN4cask22reorderImma8816MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.constant0._ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask23reorderImma16832MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.constant0._ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask25computeWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.constant0._ZN4cask26computeWgradBOffsetsKernelENS_26ComputeWgradBOffsetsParamsE
.nv.constant0._ZN4cask26reorderHmmaSp16832MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.constant0._ZN4cask26reorderImmaSp16864MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE
.nv.constant0._ZN4cask27compute3DWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.constant0._ZN4cask27first_layer_imma_fwd_kernelILi8ELi7ELi7ELi64EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.constant0._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.constant0._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.constant0._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.constant0._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.constant0._ZN4cask31computeWgradSplitKOffsetsKernelENS_26ComputeSplitKOffsetsParamsE
.nv.constant0._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx
.nv.constant0._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx
.nv.constant0._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.constant0._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.nv.constant2._Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
.nv.constant2._Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant2._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.constant2._ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
.nv.constant2._ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant2._ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.constant2._ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
.nv.constant2._ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.constant2._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.nv.constant3
NvContainer.exe
NvContainer - generic NV host process.
NvCplProcessName
NV_CPU_ATOM
NV_CPU_C6
NV_CPU_C62
NV_CPU_CELA
NV_CPU_CELN_M16H
NV_CPU_CORE2
NV_CPU_CORE2_EXTRM
NV_CPU_GX
NV_CPU_IA64
NV_CPU_K10
NV_CPU_K11
NV_CPU_K5
NV_CPU_K6
NV_CPU_K62
NV_CPU_K63
NV_CPU_K7
NV_CPU_K8
NV_CPU_K8_NON_OPTERON
NV_CPU_K8_OPTERON
NV_CPU_M1
NV_CPU_M2
NV_CPU_MGX
NV_CPU_P2
NV_CPU_P2XC
NV_CPU_P3
NV_CPU_P3_INTL2
NV_CPU_P4
NV_CPU_P5
NV_CPU_P55
NV_CPU_P6
NV_CPU_PPC603
NV_CPU_PPC604
NV_CPU_PPC750
NV_CPU_TM_CRUSOE
NV_CPU_UNKNOWN
nvcuda.dll
.nv_debug_line_sass
.nv_debug_ptx_txt
NV_DISP_EVENT_DP_LINKTRAIN_DISABLE
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR_8
NV_DISP_EVENT_DP_LINKTRAIN_RBR_1
NV_DISP_EVENT_DP_LINKTRAIN_RBR_2
NV_DISP_EVENT_DP_LINKTRAIN_RBR_4
NV_DISP_EVENT_DP_LINKTRAIN_RBR_8
NV_DISP_EVENT_GENERIC
NV_DISP_EVENT_HOTPLUG
NV_DISP_EVENT_HOTUNPLUG
NV_DISP_EVENT_LOAD_MAXMCLKSWITCHTIME
NV_DISP_EVENT_LOAD_MEMSYSSTATELOAD
NV_DISP_EVENT_LOAD_TEGRARAMGENROM
NV_DISP_EVENT_LOAD_TEGRASOCDISABLE
NV_DISP_EVENT_LOAD_TEGRASOCENABLE
NV_DISP_EVENT_STATE_LOAD
NV_DISP_EVENT_STATE_UNLOAD
NV_DISP_EVENT_SUPERVISOR_1
NV_DISP_EVENT_SUPERVISOR_2
NV_DISP_EVENT_SUPERVISOR_3
nvdZip_AddFile succeeded
nvdZip_Close() succeeded
NVEvent.cpp
@.nv_fatb 
.nvFatBiH	
.nv_fatbin
.nvFatBinSegment
.nv.global
NVIDIA Cloud Gaming
NVidia Complete Version r515_00
NVIDIA Corporation
Nvidia Corporation0
Nvidia Corporation1
 NVIDIA Corporation 2012
NVIDIA driver.
__NVIDIA_NVML_1190
__NVIDIA_NVML_27944
NVIDIA RTX
NVIDIA RTX Virtual Workstation
                                "nvidia-smi daemon -h" for more information.
                                "nvidia-smi dmon -h" for more information.
nvidia-smi.exe daemon_init
NVIDIA-SMI has failed because you are not:
nvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ...
                                "nvidia-smi pmon -h" for more information.
                                "nvidia-smi replay -h" for more information.
NVIDIA Virtual Applications
NVIDIA Virtual Compute Server
NVIDIA Virtual PC
nviewExecute
NvImageConvert.exe [--append-vertically|--append-horizontally] image1[.exr|.bmp|.png|.jpg] image2[.exr|.bmp|.png|.jpg] output[.exr|.bmp|.png|.jpg|.jps]
NvImageConvert.exe --convert image1[.bmp|.png|.jpg] output[.bmp|.png|.jpg]
NvImageConvert version: 
.nv.info
.nv.info.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.info.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.info.ampere_dgemm_128x64_nt_v0
.nv.info.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
.nv.info.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
.nv.info.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
.nv.info.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
.nv.info.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
.nv.info.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
.nv.info.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
.nv.info.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
.nv.info.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
.nv.info.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.info.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.info.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.info.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.info.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
.nv.info.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
.nv.info.ampere_hgemm_256x128_nt_v0
.nv.info.ampere_igemm_int8_128x128_ldg4_nt_v0
.nv.info.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
.nv.info.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
.nv.info.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
.nv.info.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
.nv.info.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
.nv.info.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
.nv.info.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
.nv.info.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
.nv.info.ampere_sgemm_128x128_nt_v0
.nv.info.gpu_delay_long_gpu
.nv.info.gpu_delay_short_gpu
.nv.info.maxwell_dgemm_128x64_nt_v0
.nv.info.maxwell_hgemm_256x128_nt_v0
.nv.info.maxwell_igemm_int8_128x128_ldg4_nt_v0
.nv.info.maxwell_sgemm_128x128_nt_v0
.nv.info.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.info.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.info.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.info.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.info.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.info.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.info.turing_h1688gemm_128x128_ldg8_nt_v1
.nv.info.turing_h1688gemm_256x128_ldg8_nt_v1
.nv.info.volta_dgemm_128x64_nt_v0
.nv.info.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.info.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.info.volta_h884gemm_128x128_ldg8_nt_v1
.nv.info.volta_h884gemm_256x128_ldg8_nt_v1
.nv.info.volta_hgemm_256x128_nt_v0
.nv.info.volta_igemm_int8_128x128_ldg4_nt_v0
.nv.info.volta_sgemm_128x128_nt_v0
.nv.info._Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolCoalescedCILj0ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolCoalescedCILj1ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolCoalescedCILj1ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolCoalescedCILj2ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolCoalescedCILj2ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.info._Z14poolNCxHWxInt8ILj0EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.info._Z14poolNCxHWxInt8ILj1EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.info._Z14poolNCxHWxInt8ILj3EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.info._Z17gpu_check_crc_gpuPhyPVj
.nv.info._Z18gpu_check_diff_gpuIdEvPT_S1_jjPjP7error_s
.nv.info._Z18gpu_check_diff_gpuIfEvPT_S1_jjPjP7error_s
.nv.info._Z18gpu_check_diff_gpuIhEvPT_S1_jjPjP7error_s
.nv.info._Z18gpu_check_diff_gpuIjEvPT_S1_jjPjP7error_s
.nv.info._Z18gpu_check_diff_gpuIsEvPT_S1_jjPjP7error_s
.nv.info._Z18gpu_hist_gpu_firstI6__halfEvPT_yP10gpu_hist_sIS1_E
.nv.info._Z18gpu_hist_gpu_firstIaEvPT_yP10gpu_hist_sIS0_E
.nv.info._Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
.nv.info._Z18gpu_hist_gpu_firstIfEvPT_yP10gpu_hist_sIS0_E
.nv.info._Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
.nv.info._Z18poolCHWPackedHalf2ILj0EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.info._Z18poolCHWPackedHalf2ILj1EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.info._Z19gpu_hist_gpu_secondI6__halfEvjPT_yP10gpu_hist_sIS1_E
.nv.info._Z19gpu_hist_gpu_secondIaEvjPT_yP10gpu_hist_sIS0_E
.nv.info._Z19gpu_hist_gpu_secondIdEvjPT_yP10gpu_hist_sIS0_E
.nv.info._Z19gpu_hist_gpu_secondIfEvjPT_yP10gpu_hist_sIS0_E
.nv.info._Z19gpu_hist_gpu_secondIiEvjPT_yP10gpu_hist_sIS0_E
.nv.info._Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.info._Z21poolCHWPackedInt8QuadILj1EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.info._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi16EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi32EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi48EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi64EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi16EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi32EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi48EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi64EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi16EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi32EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi48EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi64EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi16EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi32EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi48EEv19FirstLayerFwdParams
.nv.info._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi64EEv19FirstLayerFwdParams
.nv.info._Z22gpu_poll_all_locks_gpuPVyyjjjS0_
.nv.info._Z23gpu_convert_to_half_gpuP6__halfyPfy
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi64ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.info._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.info._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi1EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.info._ZN4cask19reorderImma8816BiasENS_25ReorderImma8816BiasParamsE
.nv.info._ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
.nv.info._ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask20computeOffsetsKernelILb0ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask20computeOffsetsKernelILb0ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask20computeOffsetsKernelILb1ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask20computeOffsetsKernelILb1ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask21computeBOffsetsKernelENS_21ComputeBOffsetsParamsE
.nv.info._ZN4cask21reorderImma8816FilterENS_27ReorderImma8816FilterParamsE
.nv.info._ZN4cask22computeOffsetsKernel3DILb0EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask22computeOffsetsKernel3DILb1EEEvNS_20ComputeOffsetsParamsE
.nv.info._ZN4cask22reorderImma8816MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.info._ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask23reorderImma16832MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.info._ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask25computeWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.info._ZN4cask26computeWgradBOffsetsKernelENS_26ComputeWgradBOffsetsParamsE
.nv.info._ZN4cask26reorderHmmaSp16832MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.info._ZN4cask26reorderImmaSp16864MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.info._ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE
.nv.info._ZN4cask27compute3DWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.info._ZN4cask27first_layer_imma_fwd_kernelILi8ELi7ELi7ELi64EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.info._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.info._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.info._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.info._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.info._ZN4cask31computeWgradSplitKOffsetsKernelENS_26ComputeSplitKOffsetsParamsE
.nv.info._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx
.nv.info._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx
.nv.info._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.info._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
 NVLINK:
    nvlink -- Display NvLink information.
    nvlink                      Displays device nvlink information. "nvidia-smi nvlink -h" for more information.
NVLINK_LINK_DISABLED
NvLog dump.
	nvlog only.
--nvlogonly
nvml_adapter
__NVML_DBG_FILE
__NVML_DBG_LVL
nvmlDeviceClearAccountingPids
nvmlDeviceClearEccErrorCounts
nvmlDeviceGetAccountingBufferSize
nvmlDeviceGetAccountingMode
nvmlDeviceGetAccountingPids
nvmlDeviceGetAccountingStats
nvmlDeviceGetActiveVgpus
nvmlDeviceGetApplicationsClock
nvmlDeviceGetArchitecture
nvmlDeviceGetAttributes_v2
nvmlDeviceGetAutoBoostedClocksEnabled
nvmlDeviceGetBAR1MemoryInfo
nvmlDeviceGetBoardId
nvmlDeviceGetBoardPartNumber
nvmlDeviceGetBrand
nvmlDeviceGetBridgeChipInfo
nvmlDeviceGetClock
nvmlDeviceGetClockInfo
nvmlDeviceGetComputeInstanceId
nvmlDeviceGetComputeMode
nvmlDeviceGetCount
nvmlDeviceGetCount_v2
nvmlDeviceGetCreatableVgpus
nvmlDeviceGetCudaComputeCapability
nvmlDeviceGetCurrentClocksThrottleReasons
nvmlDeviceGetCurrPcieLinkGeneration
nvmlDeviceGetCurrPcieLinkWidth
nvmlDeviceGetDecoderUtilization
nvmlDeviceGetDefaultApplicationsClock
nvmlDeviceGetDeviceHandleFromMigDeviceHandle
nvmlDeviceGetDisplayActive
nvmlDeviceGetDisplayMode
nvmlDeviceGetDriverModel
nvmlDeviceGetEccMode
nvmlDeviceGetEncoderSessions
nvmlDeviceGetEncoderStats
nvmlDeviceGetEncoderUtilization
nvmlDeviceGetEnforcedPowerLimit
nvmlDeviceGetFanSpeed
nvmlDeviceGetFBCSessions
nvmlDeviceGetFBCStats
nvmlDeviceGetFieldValues
nvmlDeviceGetGpcClkVfOffset
nvmlDeviceGetGpuInstanceId
nvmlDeviceGetGpuOperationMode
nvmlDeviceGetGridLicensableFeatures_v4
nvmlDeviceGetGspFirmwareVersion
nvmlDeviceGetHandleByIndex
nvmlDeviceGetHandleByIndex_v2
nvmlDeviceGetHostVgpuMode
nvmlDeviceGetIndex
nvmlDeviceGetInforomImageVersion
nvmlDeviceGetInforomVersion
nvmlDeviceGetMaxClockInfo
nvmlDeviceGetMaxMigDeviceCount
nvmlDeviceGetMaxPcieLinkGeneration
nvmlDeviceGetMaxPcieLinkWidth
nvmlDeviceGetMemoryErrorCounter
nvmlDeviceGetMemoryInfo
nvmlDeviceGetMemoryInfo_v2
nvmlDeviceGetMigDeviceHandleByIndex
nvmlDeviceGetMigMode
nvmlDeviceGetMinorNumber
nvmlDeviceGetMultiGpuBoard
nvmlDeviceGetName
nvmlDeviceGetNvLinkCapability
nvmlDeviceGetNvLinkErrorCounter
nvmlDeviceGetNvLinkRemotePciInfo_v2
nvmlDeviceGetNvLinkState
nvmlDeviceGetPcieReplayCounter
nvmlDeviceGetPcieThroughput
nvmlDeviceGetPciInfo
nvmlDeviceGetPciInfo_v3
nvmlDeviceGetPerformanceState
nvmlDeviceGetPersistenceMode
nvmlDeviceGetPowerManagementDefaultLimit
nvmlDeviceGetPowerManagementLimit
nvmlDeviceGetPowerManagementLimitConstraints
nvmlDeviceGetPowerManagementMode
nvmlDeviceGetPowerState
nvmlDeviceGetPowerUsage
nvmlDeviceGetRemappedRows
nvmlDeviceGetRetiredPages
nvmlDeviceGetRetiredPagesPendingStatus
nvmlDeviceGetRetiredPages_v2
nvmlDeviceGetRowRemapperHistogram
nvmlDeviceGetSamples
nvmlDeviceGetSerial
nvmlDeviceGetSupportedClocksThrottleReasons
nvmlDeviceGetSupportedEventTypes
nvmlDeviceGetSupportedGraphicsClocks
nvmlDeviceGetSupportedMemoryClocks
nvmlDeviceGetSupportedVgpus
nvmlDeviceGetTemperature
nvmlDeviceGetTemperatureThreshold
nvmlDeviceGetTotalEccErrors
nvmlDeviceGetUtilizationRates
nvmlDeviceGetUUID
nvmlDeviceGetVbiosVersion
nvmlDeviceGetVgpuMetadata
nvmlDeviceGetVgpuProcessUtilization
nvmlDeviceGetVgpuUtilization
nvmlDeviceGetViolationStatus
nvmlDeviceGetVirtualizationMode
nvmlDeviceIsMigDeviceHandle
nvmlDeviceRegisterEvents
nvmlDeviceResetApplicationsClocks
nvmlDeviceResetGpuLockedClocks
nvmlDeviceResetMemoryLockedClocks
nvmlDeviceResetNvLinkErrorCounters
nvmlDeviceSetAccountingMode
nvmlDeviceSetAPIRestriction
nvmlDeviceSetApplicationsClocks
nvmlDeviceSetAutoBoostedClocksEnabled
nvmlDeviceSetComputeMode
nvmlDeviceSetDefaultAutoBoostedClocksEnabled
nvmlDeviceSetDriverModel
nvmlDeviceSetEccMode
nvmlDeviceSetGpcClkVfOffset
nvmlDeviceSetGpuLockedClocks
nvmlDeviceSetGpuOperationMode
nvmlDeviceSetMemoryLockedClocks
nvmlDeviceSetMigMode
nvmlDeviceSetPersistenceMode
nvmlDeviceSetPowerManagementLimit
nvmlDeviceSetTemperatureThreshold
nvmlDeviceSetVirtualizationMode
nvmlDeviceValidateInforom
nvml.dll
nvmlErrorString
nvmlEventSetCreate
nvmlEventSetFree
nvmlEventSetWait_v2
nvmlGetExcludedDeviceCount
nvmlGetExcludedDeviceInfoByIndex
nvmlInit
NvmlInitializationError
nvmlInitialized
nvmlInit succeeded
nvmlInit_v2
nvmlInitWithFlags
nvmlInternalGetExportTable
NVML Shared Library Not Found
nvmlShutdown
nvmlSystemGetCudaDriverVersion_v2
nvmlSystemGetDriverVersion
nvmlSystemGetHicVersion
nvmlSystemGetNVMLVersion
nvmlSystemGetProcessName
nvmlUnitGetCount
nvmlUnitGetDevices
nvmlUnitGetFanSpeedInfo
nvmlUnitGetHandleByIndex
nvmlUnitGetLedState
nvmlUnitGetPsuInfo
nvmlUnitGetTemperature
nvmlUnitGetUnitInfo
nvmlUnitSetLedState
nvmlVgpuInstanceClearAccountingPids
nvmlVgpuInstanceGetAccountingMode
nvmlVgpuInstanceGetAccountingPids
nvmlVgpuInstanceGetAccountingStats
nvmlVgpuInstanceGetEccMode
nvmlVgpuInstanceGetEncoderSessions
nvmlVgpuInstanceGetEncoderStats
nvmlVgpuInstanceGetFBCSessions
nvmlVgpuInstanceGetFBCStats
nvmlVgpuInstanceGetFbUsage
nvmlVgpuInstanceGetFrameRateLimit
nvmlVgpuInstanceGetGpuInstanceId
nvmlVgpuInstanceGetGpuPciId
nvmlVgpuInstanceGetLicenseInfo_v2
nvmlVgpuInstanceGetMdevUUID
nvmlVgpuInstanceGetType
nvmlVgpuInstanceGetUUID
nvmlVgpuInstanceGetVmDriverVersion
nvmlVgpuInstanceGetVmID
nvmlVgpuTypeGetClass
nvmlVgpuTypeGetDeviceID
nvmlVgpuTypeGetFramebufferSize
nvmlVgpuTypeGetFrameRateLimit
nvmlVgpuTypeGetGpuInstanceProfileId
nvmlVgpuTypeGetLicense
nvmlVgpuTypeGetMaxInstances
nvmlVgpuTypeGetName
nvmlVgpuTypeGetNumDisplayHeads
nvmlVgpuTypeGetResolution
nvmVersionString
NvmVersionStringToNvmVersion
nvngx_deny_list
nvngx_mapping
nvngx_server_config
nvngx_update.exe
NvOptimusEnablement
NvOptimusEnablementCuda
nvpepapi.dll
NV_PFAULT_ACCESS_TYPE_PHYS_ATOMIC
NV_PFAULT_ACCESS_TYPE_PHYS_PREFETCH
NV_PFAULT_ACCESS_TYPE_PHYS_READ
NV_PFAULT_ACCESS_TYPE_PHYS_WRITE
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC_STRONG
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC_WEAK
NV_PFAULT_ACCESS_TYPE_VIRT_PREFETCH
NV_PFAULT_ACCESS_TYPE_VIRT_READ
NV_PFAULT_ACCESS_TYPE_VIRT_WRITE
NV_PFAULT_FAULT_TYPE_ATOMIC_VIOLATION
NV_PFAULT_FAULT_TYPE_COMPRESSION_FAILURE
NV_PFAULT_FAULT_TYPE_PDE
NV_PFAULT_FAULT_TYPE_PDE_SIZE
NV_PFAULT_FAULT_TYPE_PITCH_MASK_VIOLATION
NV_PFAULT_FAULT_TYPE_POISONED
NV_PFAULT_FAULT_TYPE_PRIV_VIOLATION
NV_PFAULT_FAULT_TYPE_PTE
NV_PFAULT_FAULT_TYPE_REGION_VIOLATION
NV_PFAULT_FAULT_TYPE_RO_VIOLATION
NV_PFAULT_FAULT_TYPE_UNBOUND_INST_BLOCK
NV_PFAULT_FAULT_TYPE_UNKNOWN
NV_PFAULT_FAULT_TYPE_UNSUPPORTED_APERTURE
NV_PFAULT_FAULT_TYPE_UNSUPPORTED_KIND
NV_PFAULT_FAULT_TYPE_VA_LIMIT_VIOLATION
NV_PFAULT_FAULT_TYPE_WORK_CREATION
NV_PFAULT_FAULT_TYPE_WO_VIOLATION
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GCC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GPCCS
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GPM
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_RAST
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_RGG_UTLB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_AFALCON
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DFALCON
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DNISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DONT_CARE
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_FE
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_FECS
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_GRCOPY
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST_CPU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST_CPU_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_ISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MMU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MMU_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSENC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSPDEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSPPP
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSVLD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVDEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_P2P
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PERF
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PMU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_RASTERTWOD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SCC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SCC_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SKED
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SSYNC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_VIP
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_XV
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_UNKNOWN
NvPluginGetInfo
NV_POWER_ADAPTER_D3HOT
NV_POWER_ADAPTER_FEATURE_CTXSAVED
NV_POWER_ADAPTER_OPTIMUS_GOLD
NV_POWER_ADAPTER_STATE_0
NV_POWER_ADAPTER_STATE_1
NV_POWER_ADAPTER_STATE_2
NV_POWER_ADAPTER_STATE_3
NV_POWER_ADAPTER_STATE_4
NV_POWER_ADAPTER_STATE_HIBERNATE
NV_POWER_EVENT_SET_POWER_ENTRY
NV_POWER_EVENT_SET_POWER_EXIT
NV_POWER_MONITOR_STATE_0
NV_POWER_MONITOR_STATE_1
NV_POWER_MONITOR_STATE_2
NV_POWER_MONITOR_STATE_HIBERNATE
NVProcess.cpp
.nv.rel.action
.nv.shared.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.shared.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.shared.ampere_dgemm_128x64_nt_v0
.nv.shared.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
.nv.shared.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.shared.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
.nv.shared.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.shared.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.shared.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
.nv.shared.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
.nv.shared.ampere_hgemm_256x128_nt_v0
.nv.shared.ampere_igemm_int8_128x128_ldg4_nt_v0
.nv.shared.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
.nv.shared.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
.nv.shared.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
.nv.shared.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
.nv.shared.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
.nv.shared.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
.nv.shared.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
.nv.shared.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
.nv.shared.ampere_sgemm_128x128_nt_v0
.nv.shared.gpu_delay_long_gpu
.nv.shared.gpu_delay_short_gpu
.nv.shared.maxwell_dgemm_128x64_nt_v0
.nv.shared.maxwell_hgemm_256x128_nt_v0
.nv.shared.maxwell_igemm_int8_128x128_ldg4_nt_v0
.nv.shared.maxwell_sgemm_128x128_nt_v0
.nv.shared.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.nv.shared.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.nv.shared.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.shared.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.shared.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.nv.shared.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.nv.shared.turing_h1688gemm_128x128_ldg8_nt_v1
.nv.shared.turing_h1688gemm_256x128_ldg8_nt_v1
.nv.shared.volta_dgemm_128x64_nt_v0
.nv.shared.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
.nv.shared.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
.nv.shared.volta_h884gemm_128x128_ldg8_nt_v1
.nv.shared.volta_h884gemm_256x128_ldg8_nt_v1
.nv.shared.volta_hgemm_256x128_nt_v0
.nv.shared.volta_igemm_int8_128x128_ldg4_nt_v0
.nv.shared.volta_sgemm_128x128_nt_v0
.nv.shared._Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolCoalescedCILj0ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolCoalescedCILj1ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolCoalescedCILj1ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolCoalescedCILj2ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolCoalescedCILj2ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.nv.shared._Z14poolNCxHWxInt8ILj0EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.shared._Z14poolNCxHWxInt8ILj1EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.shared._Z14poolNCxHWxInt8ILj3EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.nv.shared._Z17gpu_check_crc_gpuPhyPVj
.nv.shared._Z18gpu_check_diff_gpuIdEvPT_S1_jjPjP7error_s
.nv.shared._Z18gpu_check_diff_gpuIfEvPT_S1_jjPjP7error_s
.nv.shared._Z18gpu_check_diff_gpuIhEvPT_S1_jjPjP7error_s
.nv.shared._Z18gpu_check_diff_gpuIjEvPT_S1_jjPjP7error_s
.nv.shared._Z18gpu_check_diff_gpuIsEvPT_S1_jjPjP7error_s
.nv.shared._Z18gpu_hist_gpu_firstI6__halfEvPT_yP10gpu_hist_sIS1_E
.nv.shared._Z18gpu_hist_gpu_firstIaEvPT_yP10gpu_hist_sIS0_E
.nv.shared._Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
.nv.shared._Z18gpu_hist_gpu_firstIfEvPT_yP10gpu_hist_sIS0_E
.nv.shared._Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
.nv.shared._Z18poolCHWPackedHalf2ILj0EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.shared._Z18poolCHWPackedHalf2ILj1EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.nv.shared._Z19gpu_hist_gpu_secondI6__halfEvjPT_yP10gpu_hist_sIS1_E
.nv.shared._Z19gpu_hist_gpu_secondIaEvjPT_yP10gpu_hist_sIS0_E
.nv.shared._Z19gpu_hist_gpu_secondIdEvjPT_yP10gpu_hist_sIS0_E
.nv.shared._Z19gpu_hist_gpu_secondIfEvjPT_yP10gpu_hist_sIS0_E
.nv.shared._Z19gpu_hist_gpu_secondIiEvjPT_yP10gpu_hist_sIS0_E
.nv.shared._Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.shared._Z21poolCHWPackedInt8QuadILj1EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.nv.shared._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi16EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi32EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi48EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi64EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi16EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi32EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi48EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi64EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi16EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi32EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi48EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi64EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi16EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi32EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi48EEv19FirstLayerFwdParams
.nv.shared._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi64EEv19FirstLayerFwdParams
.nv.shared._Z22gpu_poll_all_locks_gpuPVyyjjjS0_
.nv.shared._Z23gpu_convert_to_half_gpuP6__halfyPfy
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi64ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.nv.shared._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.shared._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi1EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.shared._ZN4cask19reorderImma8816BiasENS_25ReorderImma8816BiasParamsE
.nv.shared._ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
.nv.shared._ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask20computeOffsetsKernelILb0ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask20computeOffsetsKernelILb0ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask20computeOffsetsKernelILb1ELb0EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask20computeOffsetsKernelILb1ELb1EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask21computeBOffsetsKernelENS_21ComputeBOffsetsParamsE
.nv.shared._ZN4cask21reorderImma8816FilterENS_27ReorderImma8816FilterParamsE
.nv.shared._ZN4cask22computeOffsetsKernel3DILb0EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask22computeOffsetsKernel3DILb1EEEvNS_20ComputeOffsetsParamsE
.nv.shared._ZN4cask22reorderImma8816MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.shared._ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask23reorderImma16832MatrixBENS_24ReorderImmaMatrixBParamsE
.nv.shared._ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask25computeWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.shared._ZN4cask26computeWgradBOffsetsKernelENS_26ComputeWgradBOffsetsParamsE
.nv.shared._ZN4cask26reorderHmmaSp16832MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.shared._ZN4cask26reorderImmaSp16864MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE
.nv.shared._ZN4cask27compute3DWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.nv.shared._ZN4cask27first_layer_imma_fwd_kernelILi8ELi7ELi7ELi64EEEvNS_23FirstLayerIMMAFwdParamsE
.nv.shared._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.shared._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.shared._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.nv.shared._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.nv.shared._ZN4cask31computeWgradSplitKOffsetsKernelENS_26ComputeSplitKOffsetsParamsE
.nv.shared._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx
.nv.shared._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx
.nv.shared._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.nv.shared._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
NvSmartMax64.dll
NvSmartMax.dll
NvSmartMaxNotifyAppHWND
NvSmartMax_OnSetWorkArea
NvSmartMaxShutdown
NVSMI also provides several management operations for changing the device state.
nvsmi daemon started
nvsmi daemon terminated
NVSMI provides monitoring information for Tesla and select Quadro devices.
NVSMI_PSTATE_LOCK
NVSMI_SHOW_ALL_DEVICES
NV_SYSTEM_HIBERNATE
NV_SYSTEM_NO_HIBERNATE_OR_SHUTDOWN
NV_SYSTEM_SHUTDOWN_STATE_FAST_NO_STARTUP
NV_SYSTEM_SHUTDOWN_STATE_FAST_STARTUP
NVTELEMETRY_DRIVER_REPORT
NVUnHook
N?]wy:Wby
nY4IIq.BaZ 
n@Y8aSE|
"NYMO(f4
NYYYYYYYbYYbYY
)n'zu[RN
.O0hu@)o
o0hwIvqP
O0V0i0p0
O0Y0m0y0
O!12DF1r12
|O1582l@
o1*q|q.p
o:*2_..52_2q
o2ELi32[
O-3(P4_!
O4 Q)lDq
O5090)0)0n4l4
[ O55721
O5ZHFaWn
O6070c0a0q4p4
O6N6RLQL
(O7P7".".
o7WMZo@w
O8H;O8r-
O8H;O8r0
O8H;OHuVL
)o8n8a;a;1B0B
_o_abort
_o___acrt_iob_func
Oacutesmall
oasis-xml-catalog
OAUTHBEARER
o;;;;;;B
Ob0d0k0j0B4A4
			-o-background-size: cover;
oBB0_10f
oBB0_323
oBB0_32x
oBB0_36P
oBB0_3:H
oBB0_44@
oBB0_52G
oBB0_54A
oBB0_54G
oBB0_77n
	oBB0_845
oBB0_88d
oBB0_93e
oBB1_92R
_o__beginthreadex
OBEX Object Push
ObjectClass
object does not have methods
ObjectFromLresult
Object is a Boolean : 
Object is a collapsed range :
Object is a Location Set:
Object is a Node Set :
Object is a number : 0
Object is a number : -Infinity
Object is a number : Infinity
Object is a number : NaN
Object is an XSLT value tree :
Object is a range :
Object is a string : 
Object is empty (NULL)
Object is uninitialized
Object is user defined
ObjectStublessClient3
ObjectStublessClient4
objRecord
obK715Jbo
OB restore failure
_o_bsearch
Obtaining modules list...
#oBYM79)
_o__callnewh
_o_calloc
_o__calloc_base
occasionals
occlusionQueryPrecise
occured while execution of coinstaller binary
occured while uninstalling 3DVision
_o__cexit
__ocg_const
oCIMAPISendMail
ocircumflex
Ocircumflex
Ocircumflexsmall
ocK826Kco
OcmuTZ52
.?Oc@NhFi2
_o__configthreadlocale
_o__configure_narrow_argv
_o__configure_wide_argv
ocQDG[do
_o__crt_atexit
OCWinApp
od[GCRco
odieresis
Odieresis
Odieresissmall
o|eGi0MxIL
OE;L2360
OEM Customizable Certificate Hash Algorithm setting is set incorrectly.
OEM Customizable Certificate Stream setting is set incorrectly.
OEMFilter
oem_object
OEM Object
OEMP partition hash and calculated hash are not the same.
Oem profile card violation.
OER3pZZ6
_o__errno
_o__exit
ofa_count
OFA count
_o_fclose
OfD8M_tW
                                    of desired locked GPU clock speed in MHz.
                                    of desired locked Memory clock speed in MHz.
 OFFERROOTVSM 
_o_fflush
Offset and region size add up to cause an integer overflow or underflow
OffsetRect
OffsetRgn
Offsetting of this clock is not supported.
OffsetViewportOrgEx
OffsetWindowOrgEx
_o_fgetc
_o_fgetpos
_o_fgetwc
oFnF:A:A
_o_fputwc
_o__free_base
_o_frexp
_o__fseeki64
_o_fsetpos
' of the base type
of the GPIO pin data structure.
" of type "
_o_fwrite
? ?O?f?x?
_o__Getdays
_o__get_initial_narrow_environment
_o__get_initial_wide_environment
_o__Getmonths
_o__get_narrow_winmain_command_line
_o__Gettnames
_o__get_wide_winmain_command_line
 .og(#gr
?oGmGI*J*f5h5
_o__gmtime64
 OGo 4 .b80
Ogoneksmall
Ogravesmall
o@h(8?vu
o@H9oHt0H
ohungarumlaut
Ohungarumlaut
Oi9Uilfj
OiCCPPhotoshop ICC profile
_o__initialize_narrow_environment
_o__initialize_onexit_table
_o__initialize_wide_environment
_o__invalid_parameter_noinfo
_o__invalid_parameter_noinfo_noreturn
#oIrVcPh
_o_isdigit
_o_islower
_o_isspace
_o_isupper
_o_iswalpha
_o_iswdigit
_o_isxdigit
_o__itow
?"???O?[?j?
OJ1K1S4T4
O#J)'dl*
OK[9fzON
oKbMEOTJA
_o____lc_codepage_func
_o____lc_collate_cp_func
_o____lc_locale_name_func
OLD-ENVIRON
_o_ldexp
Old FW Version: 
OldItalic
OldState
__oldXMLWDcompatibility
ole32.dll
OLE32.dll
OLE32.DLL
OLEACC.dll
OLEAUT32.dll
OleCreateMenuDescriptor
OleDestroyMenuDescriptor
OleDuplicateData
OleGetClipboard
OleInitialize
OleLockRunning
OleTranslateAccelerator
OleUninitialize
_o__lfind
_o_localeconv
_o__localtime64_s
_o__lock_file
_o__ltow_s
OM3Wgvo#
_o_malloc
_o__malloc_base
_o____mb_cur_max_func
omegatonos
Omegatonos
_o_memcpy_s
omicrontonos
Omicrontonos
ommit_group
ommit_group"
ommit_group#
ommit_group'
ommit_group[
ommit_group_
ommit_group|
ommit_groupC
ommit_grouph
ommit_groupI
ommit_groupo
ommit_groupT
ommit_groupv
ompositeEncoding
ompositeFont
ompositeFont_BDY
!o*m*Q*Q*r#r#
*#(#O"N"
ON0N02424
onceonly 
onchange
OnClosed
OnClosing
OnCmNotify
OnCommandExecuted
?OnCompositionChanged@HWNDElement@DirectUI@@UEAAXXZ
OnDataContextChanged
ondblclick
?OnDestroy@Element@DirectUI@@UEAAXXZ
?OnDestroy@HWNDElement@DirectUI@@UEAAXXZ
OnDeviceAdded
OnDeviceInterfaceEvent
OnDeviceRemoved
onedotenleader
oneeighth
onefitted
oneinferior
    [one of]
One of lpBuffer or lpcbBufferSize should not be null
oneoldstyle
oneOrMore
    One or more from the following:
One or more GPIO pads provided in file have invalid feature field value set.
One or more GPIO pads provided in file have invalid ownership mode set.
One or more GPIO pads provided in file have invalid pad mode set.
One or more options are not valid.
one or more render target(s) do not support sRGB writes (only textures with RGBA8 format do)
onequarter
onesuperior
onethird
OneTimeScrollTriger
?OnEvent@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDElement@DirectUI@@UEAAXPEAUEvent@2@@Z
__onexitbegin_app_domain
__onexitend_app_domain
OnFatalErrorPolicy
?OnGetDlgCode@HWNDElement@DirectUI@@UEAAXPEAUtagMSG@@PEA_J@Z
OnGlobalHookKeyPressed
?OnGroupChanged@Element@DirectUI@@UEAAXH_N@Z
?OnGroupChanged@HWNDElement@DirectUI@@UEAAXH_N@Z
?OnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnImmersiveColorSchemeChanged@HWNDElement@DirectUI@@UEAAXXZ
?OnInput@Element@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDElement@DirectUI@@UEAAXPEAUInputEvent@2@@Z
onkeydown
?OnKeyFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
onkeypress
OnlineDevice
Only 1 and 3 channel encoding is supported
Only 8- and 24-bit BMP files are supported
Only global element declarations can have a substitution group affiliation
Only one --query-* switch can be used at a time.
                                Only on supported devices starting from the Volta series.
only ordinary crosses have direction flags
Only support per channel scaling
onmousedown
?OnMouseFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
onmousemove
onmouseout
onmouseover
onmouseup
oNNNNNNNNNNNNNNNNNNNNNNNNp
onnnnnnnonnonnonnonnonmmmnnp
?OnNoChildWithShortcutFound@HWNDElement@DirectUI@@UEAAXPEAUKeyboardEvent@2@@Z
(((((((((((((((Onooob0(((((( 
OnPropertyChanged
?OnPropertyChanged@Element@DirectUI@@UEAAXPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDElement@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?o@n@QBQB
OnRtkAudioServiceEventWW
onselect
?OnServiceControlHandle@@YAKKKPEAX0@Z
OnServiceEventWW
OnSessionChange
OnStartup
?OnStart@@YAXPEAUSERVICE_STATUS_HANDLE__@@@Z
?OnStop@@YAXXZ
OnStreamChangedCallback - Preview Stream Failed
OnStreamChangedCallback - Preview Stream Started
OnStreamChangedCallback - Preview Stream Stopped
onsubmit
Ontario1
?OnThemeChanged@HWNDElement@DirectUI@@UEAAXPEAUThemeChangedEvent@2@@Z
?_OnUIStateChanged@HWNDElement@DirectUI@@MEAAXGG@Z
?OnUnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
onunload
?OnWmSettingChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
?OnWmThemeChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
O	O	(	(	
o o0o1o.o
O O0O1O.O
o@o0o8o6o
O@O0O8O6O
O(;O0u SPSQ
ooaa88		
o@oAo8o:o
O@OAO8O:O
oobbKK771155JJbcoo
oobbKK771155KJcboo
oobbPPCCFFZZccoo
oobbYYFFBBPPaaoo
OOBEComplete
ooccKK-.
ooccKK..
OOcxxeQOuxsieaQOPLO
ooEEHHcc
oo__II771155HH__oo
(O"O"N*N*q4q4
oooo]]  
oooooooooo
oooooooooooooo
;;ooooYY22
OOOQAfgq
oOpenUserInitiatedConnectionWd
o@oPoQoNo
O@OPOQONO
o@oPoXoVo
O@OPOXOVO
@o)o)S9U9
OO:xUBf)9Ag
o	o	x	z	
ooYYAAIIbb
-O"P""!!!
OpacityMask
op_Addition
_o___p___argc
_o___p___argv
_o___p__commode
_o___pctype_func
Open1667Device
OpenActivity
OpenAsync
OpenBaseKey
openBrowserW
openbullet
OpenClipboard
OpenColorKing
OpenDesktopW
OpenEventA
OpenEventLogW
OpenEventW
OpenExeConfiguration
OpenExisting
OPEN_EXISTING
 (open failed)
OpenFileById
OpenFileMappingW
OpenFlags
OpenInputDesktop
OpenJobObjectW
OpenMutexW
open-name-class
OpenPrinterW
OpenProcess
OpenProcessToken
OpenRead
OpenSCManager failed
OpenSCManagerW
OpenSecureSection
OpenSemaphoreW
OpenService failed
OpenServiceW
OpenState
OpenStatus
OpenSubKey
OpenThemeData
OpenThreadToken
OpenTransaction
Openwsman
op_Equality
operand stack overflow
operand stack underflow
OperatingStatus
OperatingVoltages
operation aborted by callback
operation aborted by trailing headers callback
OperationalStatus
operation canceled
Operation canceled
OperationCanceledException
OPERATION_DEFERRED_KHR
operation failed due to a previous error during capture
operation in progress
operation_in_progress
Operation in progress
Operation is not allowed after EOM.
Operation limit exceeded
OPERATION_NOT_DEFERRED_KHR
operation not permitted
Operation not permitted
operation not permitted on an event last recorded in a capturing stream
operation not permitted when stream is capturing
operation not supported
operation_not_supported
Operation not supported
OperationsSupported
Operation Status: 
Operation timed out
Operation timed out.
OperationTimeout
Operation was aborted by an application callback
operation would block
operation_would_block
operation would make the legacy stream depend on a capturing blocking stream
operation would result in a merge of separate capture sequences
operator
operator "" 
operator co_await
op_Explicit
op_GreaterThan
op_GreaterThanOrEqual
op_Implicit
op_Inequality
*O"P"k0j0
op_LessThan
op_LessThanOrEqual
*O"P"N0M0
OPPOONOAhgis
op_Subtraction
optgroup
OpticalCharacterRecognition
optimalBufferCopyOffsetAlignment
optimalBufferCopyRowPitchAlignment
optimalTiling
optimalTilingFeatures
OptimizeEnumeration
OptInCode
OptInCodeTimeout
OptInDisplayTimeout
OptInPolicy
Opt-In policy Change
OptInPolicyTimeout
OptInRequired
OptInState
	option.
 [OPTION]
[OPTION...]
optional
Optional
(optional | prohibited | required)
option group 
OptionLimit
	options.
 [options]
 options:
--options
    Options:
OPTIONS:
OptionsCleared
option selector 
OptionSet
OptionsHelpClickCount
    Options include:
Options include:
OptionsRestoreClickCount
OptionsRestoreToClickCount
OptionsSetupFHClickCount
_o__purecall
_o__putws
'O#P#v1u1
OpVWh03[
_o___p___wargv
_o_qsort
O@_r1182
_	Or179_	
_o_rand_s
OrderByDescending
ordered list 
Ordering
OrderOfAccess
 * order to maximize performance per watt. All GPUs in the sync boost group
ordfeminine
ordmasculine
_o_realloc
_o__realloc_base
_o__recalloc
_o__register_onexit_function
 or equal to
OrganizationName
original
OriginalDriverInfName
OriginalFont:
originalPosX
originalPosY
originatingBinary
originatingContextId
originatingContextMessage
originatingContextName
originCallerModule
originCallerReturnAddressOffset
originFile
originLineNumber
originModule
originName
OR[KMUPPY
]oRo@SGg
_o_roundf
 or regular debugging.
or the system is improperly configured.
orthogonal
orxIZw6B0
OS call failed or operation not supported on this OS
OsDiskTruncateBasicDiskModel
OsDiskTruncateDiskFirmwareRev
oS'd;unB]
_o__seh_filter_exe
_o__set_app_type
_o__set_errno
_o__set_fmode
_o_setlocale
_o__set_new_mode
_o_setvbuf
oslashacute
Oslashacute
Oslashsmall
OS_LIBOS
OSPowerSavingState
OSPowerSavingStateChangeSupported
OSPowerSavingStateSupported
	oSPRA*o
OS-Specific Error
_o___std_exception_copy
_o___std_exception_destroy
_o___stdio_common_vfprintf
_o___stdio_common_vfwprintf
_o___stdio_common_vsnprintf_s
_o___stdio_common_vsnwprintf_s
_o___stdio_common_vsprintf
_o___stdio_common_vsprintf_s
_o___stdio_common_vswprintf
_o___stdio_common_vswprintf_s
_o___stdio_common_vswscanf
OsTimeInitHung
_o__Strftime
_o__stricmp
_o__strlwr
_o_strncpy_s
_o_strtod
_o_strtof
_o_strtol
OS_UNITTEST
osuperior
(OT4tmO)
OTA disabled. Using embedded snippet only
_o_terminate
OtherAccessContext
OtherAlertingElementFormat
OtherAlertType
OtherAuthenticationMethod
OtherBlues
OtherChemistryDescription
OTHER_CONTROL 
OtherDedicatedDescriptions
OtherElectricalCharacteristics
OtherElementEffectsDescriptions
OtherEnabledCapabilities
OtherEnabledState
OtherEncryptionMethod
OtherErrorDescription
OtherErrorSourceFormat
OtherErrorType
OtherExtendedResourceTypeDescription
OtherFamilyDescription
OTHER_FORMAT 
OtherIdentifyingInfo
OtherInfoFormatDescription
OtherKVMProtocol
OtherLANType
OtherLinkTechnology
OTHER_NA 
OtherNameFormat
OtherNameNamespace
OtherNetworkPortType
OtherOnFatalErrorPolicy
OtherPackageType
OtherPersistenceType
OtherPolicyDescription
OtherPortType
OtherPowerCapabilitiesDescriptions
OtherPowerChangeCapabilities
OtherPowerState
OTHER_PRIVATE 
OtherProtocol
OtherProtocolDescription
OtherRecoveryAction
OtherRedirectionServiceType
OtherRegisteredOrganization
OtherRepeatNotificationPolicy
OtherRequestedPowerState
OtherSensorTypeDescription
OtherSeverity
OtherSubscriptionState
OtherSupportedAuthenticationMethods
OtherSupportedEncryptionMethods
OtherSupportedPortTypes
OtherSupportedUserPasswordEncryptionAlgorithms
OtherTargetOS
OtherTypeDescription
OtherUpgradeCondition
OtherUserPasswordEncryptionAlgorithm
Otildesmall
_o_tolower
_o_toupper
OueIs"rY
_o_ungetc
_o_ungetwc
_o__unlock_file
out_[1536E
out_[2304E
out_[307(i
out_[460
Outdirect
out GSS-API data
Out of file descriptors
out of memory
Out of memory
out of memory error
OutOfMemoryException
Out of range
OutOfReservedIoreqs
	Output:
outputData
OutputDebugStringA
OutputDebugStringW
outputDir
Output file write error --- out of disk space?
---     Output is hdr
OUTPUT MARKING
': output parameter '
': output parameters cannot be declared 'const'
?outputScalarsPerElement@PoolingShader@cask@@UEBAHXZ
Output selector activated
outputStream
OutputTraceToFile
?outputVectorizedDim@PoolingShader@cask@@UEBAHXZ
			overflow: auto;
Overflow Content-Length: value!
Overflow doing pointer addition
			overflow: hidden;
Override
OVERRIDE
OVERRIDE_EIA861
Overriding CUDA clock limit is not supported for this device.
overwrite
OverwritePolicy
#ovn7!68;
	O	V	r	z	
OwAf209v
_o_wcscat_s
_o_wcscpy_s
_o__wcsdup
_o__Wcsftime
_o__wcsicmp
_o__wcslwr
_o__wcslwr_s
_o_wcsncpy_s
_o__wcsnicmp
_o_wcstok
_o_wcstok_s
_o_wcstol
_o_wcstoul
OwDeugDup !
:":O:W:e:j:|:
OWf2328A
_o__wfopen
_o__W_Getdays
_o__W_Getmonths
_o__W_Gettnames
_o_wmemcpy_s
OwnedElement
owner dead
oWN-]f!o)
OwningElement
OwningEntity
_o__wsystem
_o__wtof
_o__wtoi
_o__wtoi64
O(W*W)I)I
OXlw :-	
OY8eY?BmdZ
o!YqT6.3w
ozEhToRtJ4
OZ_f25071
";;;;;;p
;;;;;;;P
:p03s:0@:37::6
:P0;4#:6
p0t0x0|0
p1GetProvisioningState
)p1q1i?h?
P	!21_6	
?P2C(0Gv
P2P atomics supported
P2P is supported
p33333333333333Tmoooe6333333333333333333*
P!3!3U.S.)4)4
P"43M3"430
]P?4:BKK:
'P-4EwIs
(p4q4?-@-
P4y7IYLI
P5ybra.uniR
.P6AHPEBU_CERT_CONTEXT@@@Z
.P6A_KPEBX@Z
.P6A_NAEAUDisplayGridData@@AEAUValue@@@Z
.P6A_NAEAUSystemProfileData@@AEAUValue@@@Z
.P6AXPAVACE_Message_Block@@@Z
p6--mDhhh
p6t6x6|6
p7Z:D9lq	
.P8IAppBroadcastServices@Capture@Media@Windows@@EAAJPEAPEAUHSTRING__@@@Z
)*(*(P8N8
(.(.(P8P8!;!;lAkA:3;3
p8t8x8|8
P9B6BcIdI
P9N|f@7lK
-P9R9G;G;
PA_A]_[]
PA_A]_][
pac6'#33 3
).PackageFamilyName
PackageId
Package id coresponding to Drivers oemxx.inf is different. Will not invoke setup from cache
PackageManager
PackageRedundancy
PackageType
!PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_i
packoffset
pack.sat.s8.s32
PACPassword
			padding: 8px 12px;
pageableDeviceLocalMemory
PageAction
page_retirement
PageSetupDlgW
pageState
Pai@e?h#
?Paint@Element@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
PaintType
#PANTONE Rhodamine Red U
paragraph
paragraph 
_param_0
.param .align 4 .b80
.param .align 4 .b89
.param .align 8 .b8
.param .align 8 .b8]
.param .align 8 .b80
.param .align 8 .b81
.param .align 8 .b82
.param .align 8 .b8H
.param .align 8 .b8k
.param .align 8 .b8z
.param .align 8 .b8 _ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE_param_0[512]
.param .align 8 .b8 _ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE_param_0[512]
ParamArrayAttribute
parameter
Parameter ID: 
param.f64
param has no name
ParamsE(
.param .u64
.param .u64c
.param .u64e
.param .u64p
.param .u64 _ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx_param_2
.param .u64 _ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx_param_2
parenleft
parenleftbt
parenleftex
parenleftinferior
parenleftsuperior
parenlefttp
parenright
parenrightbt
parenrightex
parenrightinferior
parenrightsuperior
parenrighttp
 'parent' 
ParentDeviceInstanceId
parentHwnd
parentKey
Parent process tracking thread finished...
parentRef
parentRef has no name
parentRef is not empty
parentWindow
__p___argc
__p___argv
Parity errors detected in CBU.
Parity errors detected in texture memory.
ParseApplicationUserModelId
ParseError
Parser input data memory error
Parsing file failed.
Parsing metadata send response
parsing new buffer: out of memory
PartA_PrivTags
PartComponent
partialdiff
Partial FW Update: the Update Image contains IUP that is different than the one that was requested to be updated in the Partial Update command.
PartialUnprovision
Partial update is allowed only to the expected instance ID of an IUP.
particle
particle is NULL
Partition
Partition name inside IUPs list (in FTPR manifest extension) is not IUP.
partnerGUID
PartNumber
Part number is not in valid range.
part or all of the requested memory range is already mapped
__pascal
PASS anonymous@
PASSING RESULT
pass is missing 'DispatchSizeX' or 'DispatchSizeY' property
pass is missing 'PixelShader' property
pass is missing 'VertexShader' property
pass is specifying both 'PixelShader' and 'ComputeShader' which cannot be used together
pass is specifying both 'VertexShader' and 'ComputeShader' which cannot be used together
Passphrase
Passport
pass state value must be a literal scalar expression
Pass-Through
password
Password
Password does not match the criteria.
PasswordExpiration
PasswordHistoryDepth
PasswordModel
p ATAVAWH
PathAddBackslashW
PathAddExtensionW
PathAllocCanonicalize
PathAllocCombine
PathAppendA
PathAppendW
PathCchCombine
PathCchRemoveBackslash
PathCchRemoveFileSpec
PathCchSkipRoot
PathCombineW
PathData exceeds limit in otherGLBCLRx
Path doesn't exist
PathFileExistsW
PathFindExtensionA
PathFindExtensionW
PathFindFileNameW
PathGetArgsW
PathGetDriveNumberW
PathIsDirectoryW
PathIsFileSpecW
PathIsNetworkPathW
Path is not a reparse point
PathIsRelativeW
PathIsUNCW
Path of current process is
       Path of directory to write to [default]:
PathParseIconLocationW
PathRelativePathToW
PathRemoveFileSpecW
PathRenameExtensionW
PathSkipRootW
PathStripPathW
PathStripToRootW
Path syntax error
_pathToLogDirectory
PathToRegion
pathType
PathType
PathUnquoteSpacesW
PathXtraCross: Invalid path direction
_pAtlReleaseManagedClassFactories
Pause-pending
.PAVCArchiveException@@
.PAVCException@@
.PAVCFileException@@
.PAVCInvalidArgException@@
.PAVCMemoryException@@
.PAVCNotSupportedException@@
.PAVCObject@@
.PAVCOleException@@
.PAVCResourceException@@
.PAVCSimpleException@@
.PAVCUserException@@
.PAVexception@std@@
PAVP oem config data: invalid edp port value.
PAVP oem config data: invalid lspcon port value.
PBDMA_ERR_ACQUIRE
PBDMA_ERR_CLEAR_FAULTED_ERROR
PBDMA_ERR_CTXNOTVALID
PBDMA_ERR_DEVICE
PBDMA_ERR_ENG_RESET_PENDING
PBDMA_ERR_GPCRC
PBDMA_ERR_GPENTRY
PBDMA_ERR_GPFIFO
PBDMA_ERR_GPPTR
PBDMA_ERR_HCE_ILLEGAL_CLASS
PBDMA_ERR_HCE_ILLEGAL_MTHD
PBDMA_ERR_HCE_PRIV
PBDMA_ERR_HCE_RE_ALIGNB
PBDMA_ERR_HCE_RE_ILLEGAL_OP
PBDMA_ERR_INVALID_HOST_SW_METHOD
PBDMA_ERR_LBACK_EXTRA
PBDMA_ERR_LBACK_TIMEOUT
PBDMA_ERR_LBCONNECT
PBDMA_ERR_LBDAT_EXTRA
PBDMA_ERR_LBDAT_TIMEOUT
PBDMA_ERR_LBREQ
PBDMA_ERR_MEMACK_EXTRA
PBDMA_ERR_MEMACK_TIMEOUT
PBDMA_ERR_MEMDAT_EXTRA
PBDMA_ERR_MEMDAT_TIMEOUT
PBDMA_ERR_MEMFLUSH
PBDMA_ERR_MEMOP
PBDMA_ERR_MEMREQ
PBDMA_ERR_METHODCRC
PBDMA_ERR_NO_CTXSW_SEG
PBDMA_ERR_PBCRC_MISMATCH
PBDMA_ERR_PBENTRY
PBDMA_ERR_PBPTR
PBDMA_ERR_PBSEG
PBDMA_ERR_PRI
PBDMA_ERR_SEMAPHORE
PBDMA_ERR_SIGNATURE
PBDMAErrType
PBDMA_ERR_UNKNOWN
PBDMA_ERR_XBARCONNECT
PBDMA_PUSHBUFFER_CRC_MISMATCH
pbnstate
pBpB'1'1j"j"
pbstrNameWWW
pbstrTemplateWWW
pCallback
pcchNewDestLength
pCertContext
pCertHashWWWd
pCharValueBuffer out of memory
PCHC partition hash and calculated hash are not the same.
PCHC partition is not in the Update Image.
PCH is not supported.
PCH is unlocked. Disable Delayed Authentication Mode and retry.
__@@_PchSym_@00@KxulyqvxgPillgKxuyzhvUuhUfgrohUwzgzkilgvxgrlmUivhglivfrCUsrhglibezfogUlyquivUznwGEUhgwzucOlyq@FileHistory
--pcibusid
pci.bus_id
pci_bus_id
PCI_CONFIG_REGS
pci.device
pci_device
pciDevice
PciDeviceConnectionConfig
PCI_DEVICE_DISABLED
pci.device_id
pci_device_id
PciDeviceId
pci.domain
pci_domain
pciDomain
PCIe connectivity failure. Unable to connect to vPro NIC through designated bus.
PCIEGENCLK
            PCIe Generation
pcie.link.gen.current
pcie.link.gen.max
pcie.link.width.current
pcie.link.width.max
pciFunction
--pci-info
PCIR_LEN_EXCEEDS_IMAGE
PCIR_VENDOR_ID_MISMATCH
PCI_SPACE
pci.sub_device_id
pci_sub_system_id
PciSubSystemId
PciTunnelingDisabled
PCI        VENDID DEVID NVML VK CU D3D  NVAPI UUID                                     NAME
pClientW
__p__commode
pConnectedWWd
pConnectionTriggerWWd
pConnectionTypeW
pContext
pControl
pControlMode
pCryptoFuseEnableWWW
__pctype_func
pcvt.s64
pcvt.u16-
PDB was not supplied for InitOnceGetStringTableOffset
PDB was not supplied for InitOnceScanIndexes
pD g#ync
pDhcpEnabled
:(:P:d:l:t:
:(:P:d:p:x:
PDQEQFQGQHQIQJQKQLQ
pDrmFormatModifierProperties
pdwContentType
pdwFlags
pdwFormatType
pdwMsgAndCertEncodingType
.PEAUSContextData@@
.PEAVCArchiveException@@
.PEAVCException@@
.PEAVCInvalidArgException@@
.PEAVCMemoryException@@
.PEAVCNotSupportedException@@
.PEAVCObject@@
.PEAVCOleException@@
.PEAVCResourceException@@
.PEAVCSimpleException@@
.PEAVCUserException@@
PEBL-;FL6
Pedometer
PeekMessageA
PeekMessageW
PeekNamedPipe
peer access has not been enabled
peer access is already enabled
peer access is not supported between these two devices
peer mapping resources exhausted
pEnabled
PenArbitrationType
PendedUntilReboot
pending_blacklist
pending_dm
PendingDriverModel
pending_ecc
Pending file.
pending_gom
pending_mig
Pending Page Blacklist
pending_retirement
Pending to revert to default.
Pending to set profile.
Pen Tablet Properties
PenWorkspaceAppLaunchOnPenDetachEnabled
PenWorkspaceVerb
PerceivedSeverity
PercentageFree
PercentageNearFull
Percentage of GPU memory utilized on the device by the context.
PercentComplete
Percent of time over the past sample period during which global (device) memory was being read or written.
Percent of time over the past sample period during which one or more kernels was executing on the GPU.
Per-channel scaling no supported
PEReference at end of document
PEReference: expecting ';'
PEReference: forbidden within markup decl in internal subset
PEReference in epilog
PEReference in prolog
PEReference: no name
PEReferences forbidden in internal subset
PerfCreateInstance
PerfDeleteInstance
PERF_LIMIT_APPLICATIONCLOCKS
PERF_LIMIT_AUX_POWER
PERF_LIMIT_AUX_PWR_STATE
PERF_LIMIT_BANDWIDTH_HCLONE
PERF_LIMIT_BIF_USBC_PMU_PCIE_MIN
PERF_LIMIT_BIF_USBC_RM_PCIE_MIN
PERF_LIMIT_BOOST
PERF_LIMIT_BUG_535734
PERF_LIMIT_BUG_660789
PERF_LIMIT_CLIENT_0_MAX
PERF_LIMIT_CLIENT_0_MIN
PERF_LIMIT_CLIENT_1_MAX
PERF_LIMIT_CLIENT_1_MIN
PERF_LIMIT_CLIENT_2_MAX
PERF_LIMIT_CLIENT_2_MIN
PERF_LIMIT_CLIENT_HARD
PERF_LIMIT_CLIENT_LOCK_DRAM_MAX
PERF_LIMIT_CLIENT_LOCK_DRAM_MIN
PERF_LIMIT_CLIENT_LOCK_XBAR_MAX
PERF_LIMIT_CLIENT_LOCK_XBAR_MIN
PERF_LIMIT_CLIENT_LOOSE_0_MAX
PERF_LIMIT_CLIENT_LOOSE_0_MIN
PERF_LIMIT_CLIENT_LOOSE_1_MAX
PERF_LIMIT_CLIENT_LOOSE_1_MIN
PERF_LIMIT_CLIENT_LOOSE_2_MAX
PERF_LIMIT_CLIENT_LOOSE_2_MIN
PERF_LIMIT_CLIENT_LOOSE_3_MAX
PERF_LIMIT_CLIENT_LOOSE_3_MIN
PERF_LIMIT_CLIENT_LOOSE_4_MAX
PERF_LIMIT_CLIENT_LOOSE_4_MIN
PERF_LIMIT_CLIENT_LOOSE_5_MAX
PERF_LIMIT_CLIENT_LOOSE_5_MIN
PERF_LIMIT_CLIENT_LOOSE_6_MAX
PERF_LIMIT_CLIENT_LOOSE_6_MIN
PERF_LIMIT_CLIENT_LOOSE_7_MAX
PERF_LIMIT_CLIENT_LOOSE_7_MIN
PERF_LIMIT_CLIENT_LOOSE_8_MAX
PERF_LIMIT_CLIENT_LOOSE_8_MIN
PERF_LIMIT_CLIENT_LOOSE_9_MAX
PERF_LIMIT_CLIENT_LOOSE_9_MIN
PERF_LIMIT_CLIENT_LOW_INTERSECT
PERF_LIMIT_CLIENT_LOW_LOCK_DRAM_MAX
PERF_LIMIT_CLIENT_LOW_LOCK_DRAM_MIN
PERF_LIMIT_CLIENT_LOW_LOCK_XBAR_MAX
PERF_LIMIT_CLIENT_LOW_LOCK_XBAR_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_0_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_0_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_1_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_1_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_2_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_2_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_3_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_3_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_4_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_4_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_5_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_5_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_6_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_6_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_7_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_7_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_8_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_8_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_9_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_9_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_DISP_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_DISP_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_DRAM_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_DRAM_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_GPC_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_GPC_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_PCIE_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_PCIE_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_PSTATE_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_PSTATE_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_XBAR_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_XBAR_MIN
PERF_LIMIT_CLIENT_STRICT_DISP_MAX
PERF_LIMIT_CLIENT_STRICT_DISP_MIN
PERF_LIMIT_CLIENT_STRICT_DRAM_MAX
PERF_LIMIT_CLIENT_STRICT_DRAM_MIN
PERF_LIMIT_CLIENT_STRICT_GPC_MAX
PERF_LIMIT_CLIENT_STRICT_GPC_MIN
PERF_LIMIT_CLIENT_STRICT_PCIE_MAX
PERF_LIMIT_CLIENT_STRICT_PCIE_MIN
PERF_LIMIT_CLIENT_STRICT_PSTATE_MAX
PERF_LIMIT_CLIENT_STRICT_PSTATE_MIN
PERF_LIMIT_CLIENT_STRICT_XBAR_MAX
PERF_LIMIT_CLIENT_STRICT_XBAR_MIN
PERF_LIMIT_CUDA_MAX
PERF_LIMIT_CUSTOMER_BOOST_MAX
PERF_LIMIT_DEEP_IDLE
PERF_LIMIT_DISPLAY_GLITCH
PERF_LIMIT_DISP_RESTRICT_GPC_MAX
PERF_LIMIT_ECC_MAX
PERF_LIMIT_EDP_POLICY_DOM_GRP_1
PERF_LIMIT_EXCEPT_VIDEO
PERF_LIMIT_EXT_PERF_CONTROL
PERF_LIMIT_FORCED
PERF_LIMIT_FORCED_DACPERFTEST
PERF_LIMIT_FORCED_LINKTRAIN
PERF_LIMIT_FORCED_STRESSTEST
PERF_LIMIT_GPU_IS_IDLE
PERF_LIMIT_GPU_IS_IDLE_GROUP1
PERF_LIMIT_GPU_STATE_LOAD_BOOST_DOM_GRP_0
PERF_LIMIT_GPU_STATE_LOAD_BOOST_DOM_GRP_1
PERF_LIMIT_HD_FRAMEDROP_WAR
PERF_LIMIT_INTERSECT
PERF_LIMIT_INTERSECT_LOGIC_0_MIN
PERF_LIMIT_INTERSECT_LOGIC_1_MAX
PERF_LIMIT_INTERSECT_LOGIC_1_MIN
PERF_LIMIT_INTERSECT_LOGIC_2_MAX
PERF_LIMIT_INTERSECT_LOGIC_2_MIN
PERF_LIMIT_INTERSECT_SRAM_0_MAX
PERF_LIMIT_INTERSECT_SRAM_0_MIN
PERF_LIMIT_INTERSECT_SRAM_1_MAX
PERF_LIMIT_INTERSECT_SRAM_1_MIN
PERF_LIMIT_INTERSECT_SRAM_2_MAX
PERF_LIMIT_INTERSECT_SRAM_2_MIN
PERF_LIMIT_ISMODEPOSSIBLE
PERF_LIMIT_ISMODEPOSSIBLE_DISP
PERF_LIMIT_LOCKED_DRIVER
PERF_LIMIT_MCLK_CLONE
PERF_LIMIT_MIN_FAN_LEVEL
PERF_LIMIT_MODS_RULES
PERF_LIMIT_MODS_RULES_INTERSECT
PERF_LIMIT_MODS_RULES_LOCK_DRAM_MAX
PERF_LIMIT_MODS_RULES_LOCK_DRAM_MIN
PERF_LIMIT_MODS_RULES_LOCK_XBAR_MAX
PERF_LIMIT_MODS_RULES_LOCK_XBAR_MIN
PERF_LIMIT_MODS_RULES_LOGIC
PERF_LIMIT_MODS_RULES_LOOSE_0_MAX
PERF_LIMIT_MODS_RULES_LOOSE_0_MIN
PERF_LIMIT_MODS_RULES_LOOSE_1_MAX
PERF_LIMIT_MODS_RULES_LOOSE_1_MIN
PERF_LIMIT_MODS_RULES_LOOSE_2_MAX
PERF_LIMIT_MODS_RULES_LOOSE_2_MIN
PERF_LIMIT_MODS_RULES_LOOSE_3_MAX
PERF_LIMIT_MODS_RULES_LOOSE_3_MIN
PERF_LIMIT_MODS_RULES_LOOSE_4_MAX
PERF_LIMIT_MODS_RULES_LOOSE_4_MIN
PERF_LIMIT_MODS_RULES_LOOSE_5_MAX
PERF_LIMIT_MODS_RULES_LOOSE_5_MIN
PERF_LIMIT_MODS_RULES_LOOSE_6_MAX
PERF_LIMIT_MODS_RULES_LOOSE_6_MIN
PERF_LIMIT_MODS_RULES_LOOSE_7_MAX
PERF_LIMIT_MODS_RULES_LOOSE_7_MIN
PERF_LIMIT_MODS_RULES_LOOSE_8_MAX
PERF_LIMIT_MODS_RULES_LOOSE_8_MIN
PERF_LIMIT_MODS_RULES_LOOSE_9_MAX
PERF_LIMIT_MODS_RULES_LOOSE_9_MIN
PERF_LIMIT_MODS_RULES_SRAM
PERF_LIMIT_MODS_RULES_STRICT_DISP_MAX
PERF_LIMIT_MODS_RULES_STRICT_DISP_MIN
PERF_LIMIT_MODS_RULES_STRICT_DRAM_MAX
PERF_LIMIT_MODS_RULES_STRICT_DRAM_MIN
PERF_LIMIT_MODS_RULES_STRICT_GPC_MAX
PERF_LIMIT_MODS_RULES_STRICT_GPC_MIN
PERF_LIMIT_MODS_RULES_STRICT_PCIE_MAX
PERF_LIMIT_MODS_RULES_STRICT_PCIE_MIN
PERF_LIMIT_MODS_RULES_STRICT_PSTATE_MAX
PERF_LIMIT_MODS_RULES_STRICT_PSTATE_MIN
PERF_LIMIT_MODS_RULES_STRICT_XBAR_MAX
PERF_LIMIT_MODS_RULES_STRICT_XBAR_MIN
PERF_LIMIT_MXM_ACPOWER
PERF_LIMIT_NO_CLIENT
PERF_LIMIT_NO_HIRES
PERF_LIMIT_OOB_CLOCK_LIMIT_MAX
PERF_LIMIT_OOB_CLOCK_LIMIT_MIN
PERF_LIMIT_OS_LEVEL
PERF_LIMIT_OVERCLOCK
PERF_LIMIT_OVERLAY
PERF_LIMIT_OVERVOLTAGE_LOGIC
PERF_LIMIT_OVERVOLTAGE_SRAM
PERF_LIMIT_PERF_CF_CONTROLLER_DRAM_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_DRAM_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_GPC_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_GPC_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_NVD_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_NVD_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_XBAR_MAX
PERF_LIMIT_PERFMON
PERF_LIMIT_PERFMON_GROUP_1
PERF_LIMIT_PERFORMANCE_CAP
PERF_LIMIT_PERFORMANCE_CAP1
PERF_LIMIT_PM_DYNAMIC
PERF_LIMIT_PMU_DOM_GRP_1
PERF_LIMIT_PMU_OVERRIDE
PERF_LIMIT_POWERMIZER
PERF_LIMIT_POWERMIZER_HARD
PERF_LIMIT_PWR_POLICY_XBAR
PERF_LIMIT_PWR_SUPPLY_CAPACITY
PERF_LIMIT_RATED_TDP_MAX
PERF_LIMIT_RATED_TDP_MIN
PERF_LIMIT_RC_ERROR
PERF_LIMIT_RELIABILITY_ALT_LOGIC
PERF_LIMIT_RELIABILITY_ALT_SRAM
PERF_LIMIT_RELIABILITY_LOGIC
PERF_LIMIT_RELIABILITY_SRAM
PERF_LIMIT_SCREEN_SAVER
PERF_LIMIT_SDI_INPUT_CAPTURE
PERF_LIMIT_SLI_DOM_GRP_0_MIN
PERF_LIMIT_SLI_GPU_BOOST_DOM_GRP_0
PERF_LIMIT_SLI_GPU_BOOST_DOM_GRP_1
PERF_LIMIT_SLI_GPU_BOOST_XBAR
PERF_LIMIT_SPDIFF_GLITCH
PERF_LIMIT_STRESSTEST_FAILURE
PERF_LIMIT_SUSPEND_POWER
PERF_LIMIT_SW_BATTPOWER
PERF_LIMIT_SYSPERF
PERF_LIMIT_THERMAL
PERF_LIMIT_THERM_POLICY_DOM_GRP_0
PERF_LIMIT_THERM_POLICY_DOM_GRP_1
PERF_LIMIT_THERM_POLICY_NVVDD
PERF_LIMIT_THERM_POLICY_XBAR
PERF_LIMIT_UNLOAD_DRIVER
PERF_LIMIT_UNLOAD_DRIVER_DISP
PERF_LIMIT_UNLOAD_DRIVER_PSTATE
PERF_LIMIT_UNLOAD_DRIVER_VOLTAGE_RAIL_0
PERF_LIMIT_UNLOAD_DRIVER_VOLTAGE_RAIL_1
PERF_LIMIT_VMIN_LOGIC
PERF_LIMIT_VMIN_SRAM
PERF_LIMIT_VPS
performance
Performance
performanceCounterMultipleQueryPools
performanceCounterQueryPools
Performance may be impacted by doing so.
performanceName
performance_state
Performance State
Performed Graceful Power down
Performed Graceful Power reset
Performed Hiberate
Performed NMI
Performed Power-Cycle
Performed Power-Down
Performed Power-Up
Performed Reset
Performed Standby
Performing driver actions via module
PerformLayout
PerfSetCounterRefValue
PerfSetCounterSetInfo
PerfSetULongCounterValue
PerfStartProvider
PerfStartProviderEx
PerfStopProvider
PerfTrackProxy
periodcentered
periodinferior
periodsuperior
Permanent
PermanentAddress
permission denied
permission_denied
Permission denied
PermissionMask
Permissions
perpendicular
PE*RrNQfw
    per sampling interval. Metrics to be monitored can be adjusted
persistence_mode
Persistence Mode
PersistenceType
Persistent-Auth
perthousand
perviousBtStatus
pExecutionResource
__pexit_list_size
PfDgD_UaU
pFhkkDO_
PFPFh?h?
pfwd@amt.intel.com
PFWUpdateDllWrapperFactory got unsupported version
pG2208W	
PG7H7I-I-
pgActionID
PgB.-HcU
PGFArray
PGFontID
PGFontType
pgKnownSubject
p*[#hA[Al
phCertStore
phhhphhhphhhphhhphhhphhhphhhphhhphhhphhhphhhphhg
phkResult
PhoneticExtensions
photoshopExePath
pHqHrHsHPIQI
PhsS-bLghP
phUserToken
]PH;]Xt2
physicalDevices
PHYSICAL_DEVICE_TYPE_CPU
PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
PHYSICAL_DEVICE_TYPE_OTHER
PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU
PhysicalLocation
PhysicalPosition
pickScreenColor
PictureBox
pictureBox1
pictureBox1_Click
PI declaration doesn't start and stop in the same entity
pIDERWWWd
pIERootPathWd
PI is not started correctly
P)I)IsOrO
PingResponseEnabled
@pInstancesOutWWW
pipelineCacheUUID
PIPELINE_COMPILE_REQUIRED
pipelineCreationCacheControl
pipelineExecutableInfo
pipelineFragmentShadingRate
pipelineStatisticsQuery
pIpv6EnableWd
.pIs64WWWd
@PISkl)@
_P is missed
Pi.tKfr5
pixelAspectRatio
PixelClock
: pixel data only contains 
PixelFormat
PixelFormat 
 PixelFormatAlpha
 PixelFormatCanonical
 PixelFormatExtended
 PixelFormatGDI
 PixelFormatIndexed
 PixelFormatPAlpha
 pixels.
PixelShader
.pixelsize)
_PIXEL_SIZE
.pixelsize * exp2(
Pixel type of "
pjb"_P5	
pJcSxG8*2
pjojWMWM
pjt)]H@"
PKCS_7_ASN_ENCODING
p              Knooo_
Place holder. This error code will not be returned by the FW.
Platform (Cuda) error
PlatformGUID
PlatformID
Platform name for this PCH type not found or not exists.
PlayEnhMetaFile
PlaySoundW
PlCnFvfY
Please contact the application's support team for more information.
Please contact the target system BIOS vendor for an option to disable
Please enter the path where this file may be
Please Note: Current S-Class products don't provide unique LEDs for each unit.
Please run as Administrator
Please run this as root 
Please see the nvidia-smi documentation for more detailed information.
Please use option -gt instead.
pLinkStatusW
pLinkTechnologyWd
pLnL.;1;1)1)
pLocalFWupdateEnable
pL'o-rDE
:::P:l:q:
PLQb32 p
Plugin-App Protocol is not available
PluginDetailsRequest
PluginHostContext
_pluginNotifyMethod
_pluginObject
Plugins are stopped
Plugins are uninitialized
pluginspace
_pluginStopMethod
pluginurl
    [plus any of]
plusminus
     [plus optional]
   [plus optional]
PLUS unary -
PLUS unary - -
PMC partition is not in the Update Image.
PMCP partition hash and calculated hash are not the same.
Pm@"dJ2Lm
Pme(2ChJ
pMEBxVersion
pMenuWidths
pmmmmmmmpmpmpmpmpmpmpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppmpmpmpmpmpmpmmmmr
    pmon                        Displays process stats in scrolling format.
PMU_BREAKPOINT
PMU_ERROR
PMU_HALT_ERROR
*P'N':-8-K'K'
pNeededWd
PngBitmapEncoder
pNhY#0n3
Pn;-:][k
!PNNNNNNNNNMMMNMMNNNP!
pNotifyContext
pNpND;E;
po0og3;5; Df
Po7)U'zS
__pobjMapEntryFirst
__pobjMapEntryLast
pointClippingBehavior
POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
pointer does not correspond to a registered memory region
POINTER_PAST_HASH_BLK
POINTER_PAST_SECURITY_BLK
POINTLIST
pointPolygons
pointSizeGranularity
pointSizeRange
PolicyActionName
PolicyCallbackData
PolicyConditionName
PolicyDecisionStrategy
Policy Handle
Policy ID: 
PolicyID
PolicyKeywords
policymanager.dll
PolicyManager_FreeGetPolicyData
PolicyManager_FreeStringValue
PolicyManager_GetPolicy
PolicyManager_GetPolicy failed
PolicyManager_GetPolicyInt
PolicyManager_GetPolicy returned wrong type
PolicyManager_GetPolicyString
PolicyManager_GetPolicyStringGivenEnrollmentId
PolicyName
PolicyPrecedence
PolicyRoles
PolicyRuleCreationClassName
PolicyRuleName
PolicySet
PolicyType
policy_version
PollingInterval
Polyline
PolymorphismMode
PolyMorphismMode
PolymorphismModeNotSupported
__ponexitbegin_e
__ponexitend_e
Pooling mode is unsupported.
--portability
--portability       Produce a json version of vulkaninfo to standard output of the first
Port Forwarding Service connected to Intel(R) MEI driver
PortInfo
PortNumber
PortProtocol
PortSpeedsSupported
PortType
position
POSITION
			position: absolute;
positional parameters
PositionAtRecord
PositionInRow
PositionToFirstRecord
PositionToNext
positiveInteger
PosPrinter
PossibleStates
PostActiveMarginMinutes
postalCode
PostAsync
Posting quit message to host on WM_DESTROY
postMargin
PostMessageW
Postpass failed GCDoLock in RBLock
PostQueuedCompletionStatus
PostQuitMessage
PostScript
PostThreadMessageW
PostureHashAlgorithm
PostureType
!p*o*u*t*
PowerButtonLock
PowerCapabilities
PowerChangeCapabilities
PowerClearRequest
PowerCreateRequest
PowerCycleFailed
PowerCycling
power.default_limit
PowerDeleteScheme
PowerDeterminePlatformRoleEx
power.draw
power_draw
Power Draw
 * Power draw is too high and Fast Trigger protection is reducing the clocks
PowerDuplicateScheme
PoweredOn
PowerEnumerate
PowerEventEnum
PowerGetActiveScheme
power-hint
 POWER HINT:
    power-hint                  Estimates GPU power usage. "nvidia-smi power-hint -h" for more information. 
power.limit
power_limit
Power Limit
power.management
power_management
Power Management
PowerManagementCapabilities
Power Management Object
PowerManagementSupported
Power Manager Install Helper
power.max_limit
PowerMgr.exe
PowerMgrInst
PowerMgrInstallerService
PowerMgrInst.exe
power.min_limit
PowerOnHours
PowerOnTime
Power Package Modified
Power Package Modified to: 
PowerReadACValue
PowerReadACValueIndex
PowerReadDCValue
PowerReadDCValueIndex
PowerReadDescription
PowerReadFriendlyName
    Power Readings
PowerReadPossibleFriendlyName
PowerReadPossibleValue
PowerReadSettingAttributes
PowerReadValueIncrement
PowerReadValueMax
PowerReadValueMin
PowerReadValueUnitsSpecifier
PowerRegisterSuspendResumeNotification
    Power Samples
PowerSetActiveScheme
PowerSetRequest
PowerSettingAccessCheck
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
powershell.exe 
PowerSource
Power source is not AC.
power_state
PowerState
PowerStateEnum
PowerStatesSupported
PowerUnregisterSuspendResumeNotification
PowerWriteACValueIndex
PowerWriteDCValueIndex
PowerWriteDescription
PowerWriteFriendlyName
POWRPROF.dll
)*"("p)p)
_P_ 'p0!
p p0p1p.p
P P0P1P.P
p@p0p8p6p
P@P0P8P6P
)]P_P4363
PP9E u!PPSVP
PP9E u:PPVWP
PPaaooooooaa@@
*:-:-P"P"a)b)
p@pAp8p:p
P@PAP8P:P
PpC@pppaB
PPHY partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
PPM output must be grayscale or RGB
                              p - Power Usage and Temperature
PPPPh8pk
PPPPh8xk
PPPPhLxk
PPPPhpEk
PPPPhtKk
PPPPhxHl
PPPPhxwk
pppppppD(
 pppppppp
pppppppp
P	P	P	P	P	P	P	P
PPPPPPPP
pppppppp6
)_ppppppppp
_ppppppppp
ppppppppp
pppppppppa
pppppppppc
pppppppppe
pppppppppf
pppppppppI
pppppppppK
pppppppppN
pppppppppp
pppppppppppppppppppppp
ppppppppq
ppppppppqO
ppppppppZ(
pppppppq
pppppppqqR
pppppppv
PPPPPPVWS
p@pPpQpNp
P@PPPQPNP
p@pPpXpVp
P@PPPXPVP
(pPqP:2:2)-*-
ppqpppppppppppppppppppppppppppppppqq
P P q q 
pPrevCertCntxt
pProvisioningMethodW
pProvisioningStateWWd
pProvisioningTlsModed
ppSessionInfo
ppStates
p p t y 
ppunkWWWd
ppvContext
ppVirtualProcessorRoots
ppvObjectWWW
pq3vQlS#s;
pq4pOdrzHY
	@	P	Q	N	
 @ P Q N 
!@!P!Q!N!
"@"P"Q"N"
#@#P#Q#N#
'@'P'Q'N'
(@(P(Q(N(
)@)P)Q)N)
*@*P*Q*N*
-@-P-Q-N-
.@.P.Q.N.
:@:P:Q:N:
;@;P;Q;N;
?@?P?Q?N?
@@@P@Q@N@
[@[P[Q[N[
]@]P]Q]N]
_@_P_Q_N_
pqqpqpppppppppppppppppppppppppppqq
PQQQRQSQTQUQVQ
PQRSTUVWXY
P Q	tzeL
P@Q@XLVL
pr63242cC3
Pr! 7LUq
pR9 XXXM
.pragma "
.pragma "	!
.pragma "(
.pragma ")
.pragma "-
.pragma "_
.pragma "4
.pragma "5
.pragma "9
.pragma "a
.pragma "c
.pragma "f
.pragma "G
.pragma "nounroll"
.pragma "nounroll";
.pragma "nounroll"6
.pragma "nounroll"7
.pragma "nounroll"9
.pragma "nounroll"u
.pragma "u
PreActiveMarginMinutes
 'preceding' 
preceding
 'preceding-sibling' 
preceding-sibling
precise 
precision is not integer
precision not allowed for this argument type
predefined entity has no content
PREDICATE
PredictActiveHours
PreferredAddressFamily
Preferred DNS Server: 
preformatted text 
PrefUtil.exe
preMargin
premature end of input
Premature end of input file
Premature end of JPEG file
PrepareConstrainedRegions
PrepareDelegate
Prepare_PWRMGRV_reg
?PrepareToParse@ARGUMENT_LEXEMIZER@@QEAAEPEAVWSTRING@@@Z
_PrepareTrace
Preparing for accepting server on data port
PrePrepareMethodAttribute
: preprocessor error: 
: preprocessor warning: 
prescription
PresenceAnalyzer
presenceDoc
presenceEvent
PresenceInfo
PresenceInfoLifetime
PresenceInfoXml
PresenceNotificationInterval
Presentable Surfaces
PresentationBuildTasks
PresentationCore
PresentationDataAdapter
PresentationFramework
PresentationSource
Present Capabilities
presentId
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
Present modes
Present Modes
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
present support
presentWait
preserve
preserve-	
PRESERV_TABLE_HASH_NOT_STARTED
(Press Retry to debug the application - JIT must be enabled)
prevAutoWakes
PreviewPageState
Previous Opt In Policy
PreviousSxState
PreviousVersionButtonMultiJumpCount
PreviousVersionButtonSingleJumpCount
PreviousVersionSliderMultiJumpCount
PreviousVersionSliderSingleJumpCount
	PRf2248*
#P(R(h3h3
PrimaryBIOS
   (*PrimaryCard)
PrimaryDNS
PrimaryDNSWW
PrimaryIndex
primaryMajor
primaryMinor
PrimaryOwnerContact
PrimaryOwnerName
PrimaryStatus
primitiveFragmentShadingRate
primitiveFragmentShadingRateWithMultipleViewports
primitiveOverestimationSize
PrimitiveTopology
primitiveTopologyListRestart
primitiveTopologyPatchListRestart
PrimitiveType
primitiveUnderestimation
PrimogenitalFontName
Primordial
	Print a detailed usage description and exit.
PrintAdjustedIntervalsFromXml
Print a more detailed version of this message
PrintDlgExW
PrintDlgW
PrinterName
Print extra information
	Print extra information while running the program
Printf function failed.
print help information
PrintIntervals
PrintIntervalSummary
	Print LOTS of extra information.
Print LOTS of extra information
   (Prints a more extensive usage message than this one)
?print@TensorDesc@cask@@QEBAXXZ
PrintTimeZoneHistory
PrintTimeZones
Print tool version
-printURL
Print usage
PrintUserPresenceMap
Print version information
	Print version information. May be combined with other
Priority
PrivacyLevel
private: 
privateData
Private Organization1
PrivateUse
PrivateUseArea
PRIV_CHECK
Privilege
Privilege Attempting to refresh token
PrivilegeCheck
Privilege Check Failed With Error
Privilege Check Running
PrivilegeGranted
Privilege Update Attempting Token Refresh
Privilege Update Not Needed
ProbableCause
ProbableCauseDescription
ProblemStatus
Problem with the local SSL certificate
Problem with the SSL CA cert (path? access rights?)
Process32FirstW
Process32NextW
ProcessAccessFlags
Process command lines from provided text file (one command line line)
processContents
processes
| Processes:                                                                  |
Processes
ProcessEvent
ProcessExtensions
ProcessIcon
Process ID
Process ID of the compute application
ProcessIdToSessionId
processInfo
PROCESS_INFORMATION
processing doc
processing-instruction
processing text
Process limit reached
ProcessMessage
ProcessModule
 Process Monitoring:
process_name
processName
Process Name
Processor
Processor Feature Update
ProcessStartInfo
    Process statistics are displayed in scrolling format per sampling
ProcessUtils
ProcessWindowStyle
PROC_MISSING NVAR setting is set incorrectly.
product_architecture
Product Architecture
product_brand
Product Brand
productId
Product Id
PRODUCTION_0
PRODUCTION_4
PRODUCTION_5
PRODUCTION_6
PRODUCTION_7
production first software
production type does not match
product_name
Product Name
ProductName
Product Serial
profapi.dll
Professional
Professional Pen
Professional Touch
--profile
Profile index is current.
Profile index is too large.
Profile is not selectable in BIOS.
profileName
Profile Name: 
profilePath
Profile Priority: 
profiler already started
profiler already stopped
profiler disabled while using external profiling tool
profiler not initialized: call cudaProfilerInitialize()
Profile sync admin
Profile sync is disabled
Profile sync is unrestricted
Profile sync user
Program: 
ProgramFiles
progress
Progress
Progressive
prohibited
Prohibited
PROHIBITED
  [prohibition] 
ProjectInstaller
PROM_CHECKSUM
promise already satisfied
PromoteHibernateLength
promptReopenPhotoshop
;P?R?O:O:
propersubset
propersuperset
Properties
property
propertyBuffer
propertyBufferSize
PropertyChanged
PropertyChangedEventArgs
PropertyChangedEventHandler
propertyFlags
propertyId
propertyName
propertyRegDataType
PropertySheetW
proportional
  props: 
PROPSYS.dll
PropVariantChangeType
PropVariantClear
PropVariantCompareEx
PropVariantCopy
PropVariantToGUID
PropVariantToString
PropVariantToStringAlloc
protected
protected: 
ProtectedAccessCredential
protectedMemory
protectedNoFault
Protected Range Registers.
ProtectionLevelSelectorInfo
ProtectionSelectorChoices
Protocol
ProtocolDescription
protocol error
Protocol family not supported
ProtocolIFType
Protocol is unsupported
Protocol Launching the Plugin-App
protocol not supported
protocol_not_supported
Protocol option is unsupported
ProtocolSupported
ProtocolType
ProvCertificateHash
provider
ProviderName
ProviderUnknown
Provisioning Completed
Provisioning Method: 
ProvisioningMode
Provisioning Server FQDN: 
ProvisioningServerOTP
Provisioning Started
ProvisioningState
Provisioning state IN
Provisioning state POST
Provisioning state PRE
ProvisioningTLSMode
ProvisionPrinterResult
provokingVertexLast
provokingVertexModePerPipeline
ProvServerFQDN
ProvServerIP
ProximityDevice
ProximitySensor
ProxyAddProxyEntryWW
Proxy-authenticate:
Proxy-Authenticate:
Proxy-authorization
Proxy CONNECT aborted
Proxy CONNECT aborted due to timeout
Proxy CONNECT connection closed
Proxy-Connection
Proxy-Connection:
Proxy-Connection: Keep-Alive
-proxy_fqdnWW
proxy_portWW
PRPC_QuerySMIVersion
PRPC_UpdateSettings
prppppppppppppppppppppppppppppppppppppppppppppppppppppppppprp
pRRILgc](
P#R_TvHV
;;;;)(;;;;ps
P;;;;;;s
PS-Adobe-
PSAPI.DLL
pScheduler
PSCreateMemoryPropertyStore
pServerDeleteDriverPackage
pServerImportDriverPackage
pSessionInfoCount
psetp.gts
pseudonym
pseudoroot
PSGetPropertyDescriptionByName
PSGetPropertyDescriptionListFromString
PSGetPropertyKeyFromName
P@@sH;;CE88
PSKPassPhrase
PSKValue
pspCallerWWW
pSP:?lS.
psstack overflow at otherNEWCOLORS
psstack overflow at otherUNIQUEID
PSTAPOptimizeToKernel
pStateWWd
pStatusW
psu_state
psVersion
PS_Version
pszFilePath
pszFindPara
pszFunction
pszStatusText
pszTitle
pt4ppppt4pt4ppv
PTAdministrationRealm
? ?(?@?P?T?d?h?l?p?t?|?
; ;(;@;P;T;d;h;l;p;t;x;|;
: :(:@:P:T:d:h:l:t:
; ;(;@;P;T;d;h;l;t;
; ;(;@;P;T;d;h;x;|;
PTHI_Commands ClassWWW
PTHI_CommandsWWWd
pThreadProxy
PtInRect
PtInRegion
pt]r1082 20
ptrA......................
ptrAm.....................
pTravelLogUI
ptrB......................
ptrBias...................
ptrC......................
ptrD......................
PtrToStringAuto
PtrToStructure
PtVisible
PTX JIT compiler library not found
pTypeParameter
pTypeWWW@
:!:;:P:u:
?)?P?_?u?
|)P!?Ua0
PubidLiteral " or ' expected
public: 
 PUBLIC 
publicId
Public ID
publicIdStartString
Public Key Algorithm
PublishedDriverUpdateCount
pucSCRscv
Pulled out a non-stringtable item
PullResponse
PUNCT_CLOSE 
PUNCT_CONNECTOR 
PUNCT_DASH 
PUNCT_FINQUOTE 
PUNCT_INITQUOTE 
PUNCT_OPEN 
PUNCT_OTHERS 
punkHLBrowseContext
_purecall
- pure virtual function call
PurgeComm
Purging metadata
purposes
push button 
pushColor
?PushEntry@AUTOREG@@SAEPEBVWSTRING@@@Z
pushing atom
pushing error
pushing input string
pushing value
put_AppServiceName
?Put@ARRAY@@UEAAEPEAVOBJECT@@@Z
put_ExpirationTime
PUTIL_THREAD_PROC( pfnPatrolDog )
PUTIL_THREAD_PROC( TMDispatch )
put_PackageFamilyName
put_ProtectionLevel
?PutSeparators@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
p UWATAVAWH
P)v10'05
PV2U2V2W2
pvarResW
pVCQb32 p
P.visible .entry _Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_ii
pvObject
PV	?tKZ0
PVv2VlmUX
PVVVYVVv
pwA|cplg:
__p___wargv
p WATAUAVAWE2
p WATAUAVAWH
p WATAUH
p WATAVH
p WAUAWH
p WAVAWH
	pwd          display current working directory
pWinStationName
pWirelessConfEnabledd
pWirelessControl
PWMIF32V.DLL
PWMTR32V.DLL
PwM@yivGuL
PwrMgrBkGndMonitor
PwrMgrInstallShieldFolderPath
PwrMgrInstallShieldGUID
pwr_object
pwszPath
pWVTData
PWWWWWWWWj
|Pwx4t-8
? ?@?P?X?|?
Px2w2s-r-3424
Px2x2f3e3
PxeTimeout
	@	P	X	V	
 @ P X V 
!@!P!X!V!
"@"P"X"V"
#@#P#X#V#
'@'P'X'V'
(@(P(X(V(
)@)P)X)V)
*@*P*X*V*
-@-P-X-V-
.@.P.X.V.
:@:P:X:V:
;@;P;X;V;
?@?P?X?V?
@@@P@X@V@
[@[P[X[V[
]@]P]X]V]
_@_P_X_V_
: ;(;P;X;x;
PYim:wqw
.p;yj r.
Python wrappers to NVML are also available.  The output of NVSMI is
pyTI|.*jAZ*
pZIIIebb
]P|@zLwY
P*z[LX]C9
PZZ*UWW_b
Q02#bzSp
q0737418
q0737418"
q073741894	
q0737418Q
q0x0I2P2X2_2g2x2*6
q100 bra
q1041 24
q1342177
q1342177v
q2684354[
q2684354N
q2684354u
q2s26M5M
Q!!30_!2303-_
q32.u64	
q5!V3o4-
q60 bra 
q6135667i!
q6135667I)
'.q64.u32	!
.q64.u32	!
q64.u32	
q64.u32	!
q64.u32	;
q64.u32	C
'Q6Q6C7A7
:Q6S6B6B6
.Q6S6x'y'
q71 bra 
q7]g1..z
q8'pMo|_f
'Q8X5(l8
QA2?2S2R2
Qa4_4b1c1
qad.lo.s
qad.lo.s'
_)QAFma:3
?qApAn0o0x5z5
:#:(:Q:a:q:
qar.sync
qar.sync#
qat5aprW
QAwu3T4C
"Qb32 ph
#Qb32 pV
QBB0_1L@
qBB0_26:
qBB0_30:"
QBB1_2Uf
qBB2_70:J
')qBc*@S
?QBQBMCMCt?u?hAhA
	qbra.uni
qbra.uni
qbra.uniF
? qbvV* 
qByybThM
[q@c4dv[
qcBB0_46
Q___d_dMg
QDtlEnTM
q-E2W97K'
"*Qf1536
qf32.f16
QF8E8[-Y-K8K8
-QfnnqrrqnhhR
QFOEOdNbN
?(?.?Q?f?s?
q.FuDGV  
qgu'gGsgVs@
Qh309 36
qhBB0_34
q]h_g4j4
QHH;Q u3H
QhQhv]v]
]qIHk4LzKK
QISearch
?qit@?1??QueryInterface@CTravelLog@@UEAAJAEBU_GUID@@PEAPEAX@Z@4QBUQITAB@@B
;	Q'JFhR
Qk5k5E0E0
qlp.b32	
qlp.b32	m
qlp.b64	F
QM8M8p-p-1828
	qmul.wid
qmul.widm
qmul.widU
qmul.widV
QName split
QnIpIhLhL
"q-n-s)r)
QoGNSEAy
QOLLLNQAfgq
qOmPd"zy
QOOOLNNAhkptt
qppppppp
.qppppppppppppppppppppppppo
!QPPPPQPPPPPPPPPPPPPQ!
QPQQQRQSQTQUQVQ
qPrPsPtP
Q]P]vlul
q q0q1q.q
Q Q0Q1Q.Q
q@q0q8q6q
Q@Q0Q8Q6Q
-Q*Q*4131
q@qAq8q:q
Q@QAQ8Q:Q
QqB1001x
"q*q*D5C5
q q f(f(
("Q!QJ3L3
Qqpppppppp
qqppppppppppppppppppppppppppppppppppp]
qqpppppppppppppppppppppppppppppppppppppq
Q'Q'pQoQ
q@qPqQqNq
Q@QPQQQNQ
q@qPqXqVq
Q@QPQXQVQ
QQQ3555Y
qqqpppppppppppppppppppppppppppppppppqr
qqqppppppppppppppppppq
qqqpppppppppppqppq
qqqpqppppppppppppppppppppppq
qQqQ(6(6
qqqqppppppppppppppppppppppppqq
QQQQPQQj
qqqqqppppppppppppppppppppppppqqq
Q	Q	Q	Q	Q	Q
QQQQQQQj
qqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqL
QQSVj8j@
QQSWj0j@
:.;-;Q?R?
q!r_837nW	
qrOzfD!P
Q#R#X!W!
Qs4s4N0K0
qscvt.u64
qSecur32.dll
q(ShgB[;PpA
q	s	t	u	:
Q t79;r!#j
qThe Maximus Configuration Utility requires a Quadro 600 or higher and a Tesla C2075. This utility will now close.
QTWyXkve
QU3S3u1u1
Q.u64	_	
_Qu_9vbQex
quadDivergentImplicitLod
quadOperationsInAllStages
QuadraryIndex
Quadro RTX
Quadro Sync
QuadroUsageMode
QuadroUsageModeTooltip
Quadro will not be used for any compute tasks such as ray tracing or simulation.
QUAL_DATA_ERROR
QUAL_DBE_ERROR
QUAL_EARLY_EXIT
qualified
(qualified | unqualified)
QualifierFormats
QualifierFormatsSupported
QUAL_PEX_CE_ERROR
QUAL_PEX_FA_ERROR
QUAL_PEX_NF_ERROR
QUAL_PEX_UN_ERROR
QUAL_RC_ERROR
QUAL_RUNTIME_ERROR
QUAL_SBE_ERROR
QUAL_TDR_ERROR
--query-accounted-apps
QueryActCtxW
QueryContextAttributes
QueryCorruptionState
QueryCredentialAttributes
QueryDepthSList
?QueryDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@E@Z
QueryDirectXDatabaseForConfigImpl called with invalid arguments.
QueryDisplayConfig
QueryDosDeviceW
?QueryFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVPATH@@EPEAE@Z
?QueryFsnodeArray@FSN_DIRECTORY@@QEBAPEAVARRAY@@PEAVFSN_FILTER@@@Z
QueryFullProcessImageNameA
QueryFullProcessImageNameW
QueryIdentityProtectors
QueryInformation
?QueryInterface@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
QueryLimitedInformation
?QueryNumber@WSTRING@@QEBAEPEAJKK@Z
?QueryOccupancyProvider@Shader@cask@@UEAAAEBUOccupancyProvider@2@XZ
  QUERY OPTIONS:
QueryPasswordSiloInformation
_Query_perf_counter
_Query_perf_frequency
QueryPerformanceCounter
QueryPerformanceFrequency
QueryServiceConfig2W
QueryServiceConfigW
QueryServiceStatus
QueryServiceStatusEx
?QueryStream@FSN_FILE@@QEAAPEAVFILE_STREAM@@W4STREAMACCESS@@K@Z
queryStringForEventData
?QueryString@WSTRING@@QEBAPEAV1@KK@Z
QueryTraceW
QueryUmsThreadInformation
?QueryWCExpansion@PATH@@QEAAPEAV1@PEAV1@@Z
QueryWorkingSetEx
question
questiondown
questiondownsmall
questionsmall
QUEUE_COMPUTE
QueueControlIoctlData
queueCount
queueFlags
QUEUE_GRAPHICS
QueueMessage
queueProperties
QUEUE_PROTECTED
QUEUE_SPARSE_BINDING
QUEUE_TRANSFER
queueType
QueueUserWorkItem
QUEUE_VIDEO_DECODE_BIT_KHR
QUEUE_VIDEO_ENCODE_BIT_KHR
QuiesceDevice
QuitBtn_Click
Quit event signaled. Ending thread function.
	quit         leave shell
QUIT_TASK
QUITTING - added game to kgl
QUITTING - app closed
QUITTING - cannot show tip
QUITTING - error panel
QUITTING - failed to show tip
QUITTING - gBroadcatMessageId
QUITTING - recording failed
QUITTING - recording stopped because app closed
QUITTING - show tip and exit
QUITTING - signal quit
QUITTING - signed in user changed
qul.lo.s
QuotaLimit
Quote command returned error
quotedbl
quotedblbase
quotedblleft
quotedblright
quoted-printable
quoteleft
quotereversed
quoteright
quotesinglbase
quotesingle
QuoVadis Issuing CA G4
QuoVadis Issuing CA G40
QuoVadis Limited1
Q.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4E
QWd__d_Qg
qwqgcScsew4wwGwGw6w
qwV5ce6segg
qy'72"@U
?!?)?@?Q?Y?p?
;Q;Y;u;z;
qZ1[_YnyO
QZ7Y7-...
'Qz9ELd(
qzA8[	_g
qZE-'*CJ
qzO1588h
r""""""""
r"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
r"""""""""'
r0737418
??_R0?AUIOleWindow@@@8
??_R0?AUIServiceProvider@@@8
??_R0?AUIShellBrowser@@@8
??_R0?AUIShellBrowserService@@@8
??_R0?AUIShellNavigationTarget@@@8
??_R0?AUITravelLog@@@8
??_R0?AUIUnknown@@@8
??_R0?AVBrush@Gdiplus@@@8
??_R0?AVCHistoryVaultMainWindow@@@8
??_R0?AVCTravelLog@@@8
??_R0?AVGdiplusBase@Gdiplus@@@8
??_R0?AVSolidBrush@Gdiplus@@@8
r0f3F800
r0f3F800a1
r0f3F800a1!p5
R10G10B10A2
r1342177
r1474836
R16G16B16A16
R16G16B16A16F
??_R17?0A@EA@GdiplusBase@Gdiplus@@8
??_R17?0A@EJ@IOleWindow@@8
??_R17?0A@EL@IUnknown@@8
??_R17?0A@EN@IShellBrowser@@8
??_R1A@?0A@EA@Brush@Gdiplus@@8
??_R1A@?0A@EA@CHistoryVaultMainWindow@@8
??_R1A@?0A@EA@CTravelLog@@8
??_R1A@?0A@EA@GdiplusBase@Gdiplus@@8
??_R1A@?0A@EA@IOleWindow@@8
??_R1A@?0A@EA@IServiceProvider@@8
??_R1A@?0A@EA@IShellBrowser@@8
??_R1A@?0A@EA@IShellBrowserService@@8
??_R1A@?0A@EA@IShellNavigationTarget@@8
??_R1A@?0A@EA@ITravelLog@@8
??_R1A@?0A@EA@IUnknown@@8
??_R1A@?0A@EA@SolidBrush@Gdiplus@@8
??_R1A@?0A@EL@IUnknown@@8
??_R1A@?0A@EN@IShellNavigationTarget@@8
??_R1BA@?0A@EL@IUnknown@@8
??_R1BA@?0A@EN@IShellBrowserService@@8
??_R1BI@?0A@EL@IUnknown@@8
??_R1BI@?0A@EN@IServiceProvider@@8
	#r1#K!12
r2147483
r25 bra y
??_R2Brush@Gdiplus@@8
??_R2CHistoryVaultMainWindow@@8
??_R2CTravelLog@@8
r2D9b(tEHcJ(H
??_R2GdiplusBase@Gdiplus@@8
R2H"ljNC
??_R2IOleWindow@@8
??_R2IServiceProvider@@8
??_R2IShellBrowser@@8
??_R2IShellBrowserService@@8
??_R2IShellNavigationTarget@@8
??_R2ITravelLog@@8
??_R2IUnknown@@8
??_R2SolidBrush@Gdiplus@@8
R32G32B32A32F
r3'7 s03;6
??_R3Brush@Gdiplus@@8
??_R3CHistoryVaultMainWindow@@8
??_R3CTravelLog@@8
??_R3GdiplusBase@Gdiplus@@8
??_R3IOleWindow@@8
??_R3IServiceProvider@@8
??_R3IShellBrowser@@8
??_R3IShellBrowserService@@8
??_R3IShellNavigationTarget@@8
??_R3ITravelLog@@8
??_R3IUnknown@@8
*R3Q3n2n2
??_R3SolidBrush@Gdiplus@@8
	_r43090
r#!45.(	
??_R4Brush@Gdiplus@@6B@
??_R4CHistoryVaultMainWindow@@6BIServiceProvider@@@
??_R4CHistoryVaultMainWindow@@6BIShellBrowser@@@
??_R4CHistoryVaultMainWindow@@6BIShellBrowserService@@@
??_R4CHistoryVaultMainWindow@@6BIShellNavigationTarget@@@
??_R4CTravelLog@@6B@
r4MLr4MLr4ML AHMi4ML AIMx4ML ANMq4ML ALMt4ML
??_R4SolidBrush@Gdiplus@@6B@
r56 bra 
r*5mf]	i
r6135667
r64 bra 3
r6r6sFrFA1B1
r7.5358(p
R8G8B8A8
!r8-Y4r88
?	'r9h)291:
raB3G8nb
raB3G(Kr
raB3GLtb
raB3GX.7@
RackMountable
    -rac  --reset-applications-clocks
RadialMenuMsgPump
radians(
radicalex
RadioButton
radioButton1
radioButton2
radioButtonECCOff
radioButtonECCOn
#RaFo:FV_JeC
ragma "nounroll"
RaiseApplicationStartupTelemetry
RaiseException
RaiseFailFastException
RandomFailedRestoreStatus
Random ID
RandomNoPreviewHandlerFileExtension
random_seed
random seed to use for repeatability
  range: 
Range1InputFrequencyHigh
Range1InputFrequencyLow
Range1InputVoltageHigh
Range1InputVoltageLow
Range2InputFrequencyHigh
Range2InputFrequencyLow
Range2InputVoltageHigh
Range2InputVoltageLow
range-inside
range-to
Range Violation: SSC is too high.
:rAqAf1f1
rar.sync
rational
ra.uni BB0_
ra.uni BB0_4u
ra.uni BB0_9
ra.uni BB0_u
RawInterval
rawIntervals
rayQuery
rayTracingPipeline
rayTracingPipelineShaderGroupHandleCaptureReplay
rayTracingPipelineShaderGroupHandleCaptureReplayMixed
rayTracingPipelineTraceRaysIndirect
rayTraversalPrimitiveCulling
Razer USA Ltd.0
Razer USA Ltd.1
rBB0_46:
rBB0_50:
rBB0_51:
rBB0_52:
rBB0_54:
rBB0_55:
rBB0_57:
RBB0_58Q
rBB0_62:
RBEP partition hash and calculated hash are not the same.
;rbra.uni
rbra.uni
RCCBRRRCBRRRRCCCCBR
RcDiagRecordType
RC?D?iMjM
rc_errors
]rCFj3KzKJ
RC"I@-OTg
r@CMFCRibbonPanelMenuBar
rcommaaccent
Rcommaaccent
rc!OYU#]
RcVBD]cE
#rcvt.s64
rcvt.s64
rcvt.s64l
rcvt.u16
rcvt.u16P
rcvt.u64
rcvt.u64k
RDATA length
rDeBk!S*
          r: Display tx and rx data payload and protocol overhead in KiB if supported
RDlBB0_21
rDMMQMWQWWWW_W_________d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d_d___________d_dWW_WWWQ_MQMr
[rdp2a.lo
rdp2a.lo
rdp2a.lo4
#rd[r!29
!rdV1!r3I
RD"Z@ca_
Reached end of collected stats
reaching arbitrary MAX_URI_LENGTH limit
ReadAllLines
read as normalized float not supported for 32-bit non float type
ReadBattery
ReadBlock
ReadBufferIoctl
ReadBytes
ReadByteVector
Read callback asked for PAUSE when not supported!
readColor
readColorCallback
ReadColorCallback
readColorFeq
ReadConsoleW
ReadCount
readData
ReadEvent
ReadEventLogW
Read failed
Read failed on temporary file
ReadField
ReadFile
ReadFileEx
Read file failed.
ReadFileScatter
read from buildCharArray exceeds bounds
Read from EMS failed
ReadFromXml
Read from XMS failed
read function returned funny value
Reading from unfinished list
ReadLength
?ReadLine@STREAM@@QEAAEPEAVWSTRING@@E@Z
?ReadMbLine@STREAM@@QEAAEPEADKPEAKEK@Z
read_note failed
ReadNvmDrom
ReadNvmIoctlInputData
ReadNvmIoctlOutputData
ReadObject
ReadOnBoardRetimerSideBandReg
readonly
ReadOnly
read only file system
Read-only file system
readPixelSampleCounts called with no valid frame buffer
ReadProcessMemory
ReadRecords
ReadRetimerSidebandRegInputData
ReadRetimerSidebandRegOutputData
ReadToEnd
ReadUintVector
ReadValueAsync
ReadVarSizeField
?ReadWLine@STREAM@@QEAAEPEAGKPEAKEK@Z
ReadWriteECRamLCFC
Ready to accept data connection from server
realchar 
RealChildWindowFromPoint
Real FFT optimization must be even.
RealizePalette
re-allocating an array of IDC node-table items
reallocating an array of key-sequences
re-allocating attribute info list
re-allocating IDC list of node-table items
re-allocating namespace bindings for SAX validation
re-allocating the element info array
re-allocating the IDC key storage list
re-allocating the IDC node table item list
re-allocating the state object history
realloc failed
ReAllocHGlobal
realloc ns map item
RealmName
real number overflow
Realtek Semiconductor Corp.0
ReArmReset
Reason: 
ReasonDetails
 Reason for failure to move contents: 
ReasonForTimeZoneChange
Reason that describes why the page was retired. Can take one of two values: 
REBOOT_INITIATED
RebootPending
* Reboot pendingD
Reboot required.
REBOOT_REQUIRED
RebootRequiredReason
Reboot required to complete device configuration.
Reboot required to complete driver update.
Reboot required to restart all devices in class.
_recalloc
-receive
Received 101
Received invalid version in initial SOCKS5 response.
--- Received message
Received too short packet
Received WM_CLOSE message. Ignored
Received WM_CLOSE message. Quit allowed. Processing...
Received WM_DESTROY message. Quit is legit but quit message has already been sent
Received WM_DESTROY message. Quit is legit. Processing...
Received WM_DESTROY message. Quit is not legit. Ignored
Received WM_QUIT message. Quit is legit but quit message has already been sent
Received WM_QUIT message. Quit is legit. Posting message to host...
Received WM_QUIT message. Quit is not legit. Ignored
Receiver
RechargeCount
RecommendedActions
Reconnect
RecordData
RecordDuration FINALIZING
RecordedData
RecordFormat
RecordHeaderFormat
RecordID
RECORDING_MANAGER
RecordLastChanged
RecordNumber
RecordTimeDurationAsync Operation SUCCEEDED
RecoveryAction
rectangle
Rectangle
rectangularLines
	rectColor
rectColor
rectColorMask
RectInRegion
RectVisible
Recursion limit exceeded
recursive #include
recv failed
redefine
redefined
redefinition of '
Redefinition of built-in simple types is not supported
redefinition of the xmlns prefix is forbidden
--redirect
Redirection Manager
RedirectionRealm
RedirectionServiceType
Redmond1
RedrawWindow
Reducing empty path
  [reference] 
ReferenceEquals
ReferenceParameters
ReferenceProperties
Reference to default namespace not in scope
Reference to default namespace not on ancestor
ref has no name
RefINS2_6half_tE
ref is not empty
ReflashBIOS
reflect(
reflexsubset
reflexsuperset
refract(
RefreshLogSeverity
RefreshRate
?RefreshStatus@BuiVolume@@QEAAJ_N@Z
Refusing to issue an RTSP SETUP without a Transport: header.
REFX_O2_D65
REFY_O2_D65
REFZ_O2_D65
             regardless of which unit is specified with this command
RegCloseKey
RegConnectRegistryW
RegCreateKeyExA
RegCreateKeyExW
RegCreateKeyTransactedW
RegCreateKeyW
RegDeleteKeyA
RegDeleteKeyExA
RegDeleteKeyExW
RegDeleteKeyTransactedW
RegDeleteKeyValueW
RegDeleteKeyW
RegDeleteTreeW
RegDeleteValueA
RegDeleteValueW
RegDisablePredefinedCacheEx
RegenerateUserEnvironment
RegEnumKeyA
RegEnumKeyExW
RegEnumKeyW
RegEnumValue
RegEnumValueA
RegEnumValueW
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
RegexOptions
 regexp: 
RegFlushKey
RegGetKeySecurity
RegGetValueW
Region does not exist.
register
-Register
RegisterAgent
RegisterApplication
RegisterApplicationRecoveryCallback
RegisterApplicationRestart
 : register(c
RegisterClassA
RegisterClassExA
RegisterClassExW
?Register@ClassInfoBase@DirectUI@@QEAAJXZ
RegisterClassW
RegisterClipboardFormatW
RegisterDeviceNotificationA
RegisterDeviceNotificationW
RegisterDevicePnpEvents
RegisterDevicePnpNotification
RegisterDragDrop
registered
RegisteredName
RegisteredOrganization
RegisteredVersion
?Register@Element@DirectUI@@SAJXZ
RegisterEventSourceW
register_file
Register File
RegisterHotKey
?Register@HWNDElement@DirectUI@@SAJXZ
Register is locked.
RegisterManifest
RegisterNotificationCallback
RegisterObjects()
_register_onexit_function
RegisterPowerSettingNotification
RegisterProvider
RegisterPVLBehaviorFactory
RegisterRawInputDevices
RegisterRtkAudUServiceCOMNotificationCallbackWWW
 : register(s
registersans
registerserif
RegisterServiceCtrlHandlerExW
RegisterServiceCtrlHandlerW
RegisterServiceEvent
RegisterSessionPort
RegisterSuspendResumeNotification
 : register(t
RegisterTaskDefinition
_register_thread_local_exe_atexit_callback
RegisterTouchWindow
RegisterTraceGuidsW
RegisterTypeLibForUser
 : register(u
RegisterWaitForSingleObject
RegisterWebPlatformPermanentSecurityManager
RegisterWindowMessageW
Registry
RegistryAccess
Registry.cpp
RegistryException: 
RegistryHive
RegistryKey
REGISTRY_NOT_FOUND
RegistryTimeZoneData
RegistryTimeZones
RegistryURIs
RegistryValueKind
Registry value name
RegistryView
RegLoadMUIStringW
REG_LSTOAST
RegNotifyChangeKeyValue
RegOpenCurrentUser
RegOpenKeyEx
RegOpenKeyExA
RegOpenKeyExW
RegOpenKeyTransactedW
RegOpenKeyW
.reg .pred
RegQueryInfoKeyW
RegQueryReflectionKey
RegQueryValueEx
RegQueryValueExA
RegQueryValueExW
RegQueryValueW
RegServer
RegSet32ForUsers
RegSet32Recursive
RegSetAccessPermission
RegSetAccessPermissionTo64Key
RegSetKeySecurity
RegSetKeyValueW
RegSetValueExA
RegSetValueExW
RegSetValueW
Regular.B
Regular.G
Regular.R
Regular-sized image to transfer frequency spectrum from
REGVAL_FALSE
REGVAL_TRUE
REGVAL_USBC_POPUP
[re*I@Ct
reinterpret_cast
.rela.debug_frame
.rela.nv.shared.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.rela.nv.shared.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.rela.nv.shared.ampere_dgemm_128x64_nt_v0
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
.rela.nv.shared.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
.rela.nv.shared.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
.rela.nv.shared.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
.rela.nv.shared.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.rela.nv.shared.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.rela.nv.shared.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
.rela.nv.shared.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
.rela.nv.shared.ampere_hgemm_256x128_nt_v0
.rela.nv.shared.ampere_igemm_int8_128x128_ldg4_nt_v0
.rela.nv.shared.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
.rela.nv.shared.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
.rela.nv.shared.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
.rela.nv.shared.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
.rela.nv.shared.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
.rela.nv.shared.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
.rela.nv.shared.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
.rela.nv.shared.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
.rela.nv.shared.ampere_sgemm_128x128_nt_v0
.rela.nv.shared.maxwell_dgemm_128x64_nt_v0
.rela.nv.shared.maxwell_hgemm_256x128_nt_v0
.rela.nv.shared.maxwell_igemm_int8_128x128_ldg4_nt_v0
.rela.nv.shared.maxwell_sgemm_128x128_nt_v0
.rela.nv.shared.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.rela.nv.shared.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.rela.nv.shared.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
.rela.nv.shared.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
.rela.nv.shared.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.rela.nv.shared.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.rela.nv.shared.turing_h1688gemm_128x128_ldg8_nt_v1
.rela.nv.shared.turing_h1688gemm_256x128_ldg8_nt_v1
.rela.nv.shared.volta_dgemm_128x64_nt_v0
.rela.nv.shared.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
.rela.nv.shared.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
.rela.nv.shared.volta_h884gemm_128x128_ldg8_nt_v1
.rela.nv.shared.volta_h884gemm_256x128_ldg8_nt_v1
.rela.nv.shared.volta_hgemm_256x128_nt_v0
.rela.nv.shared.volta_igemm_int8_128x128_ldg4_nt_v0
.rela.nv.shared.volta_sgemm_128x128_nt_v0
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rela.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.rela.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
RelativePathToLogsFolder
RelativePathToLogsRegistryKey
relaxed_ordering_mode
Relaxed Ordering Mode
RelaxNG: 
RelaxNG empty or failed to compile
RelaxNG has no top grammar
Relax-NG parser 
	relaxng rng  validate the document against the Relax-NG schemas
Relax-NG validity 
.rel.debug_frame
.rel.debug_line
?ReleaseBuffer@CHString@@QEAAXH@Z
ReleaseCapture
?Release@ClassInfoBase@DirectUI@@UEAAHXZ
ReleaseDate
ReleaseDC
ReleaseEventsQueue
ReleaseEventsQueueInputData
release.gpu
release.gpu.b
ReleaseMutex
ReleaseSemaphore
ReleaseSRWLockExclusive
ReleaseSRWLockShared
ReleaseStgMedium
?Release@Value@DirectUI@@QEAAXXZ
ReliabilityContractAttribute
.rel.nv_debug_line_sass
.rel.text._Z17gpu_check_crc_gpuPhyPVj
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.rel.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.rel.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
relu......................
relu and bias unsupported
RemainingCapacity
RemainingCapacityMaxError
RemainingConsecutiveRebootsNum
remapped_row_corr
remapped_row_failure
remapped_row_pending
                                 remapped_row_pending|remapped_row_failure|
remapped_rows
Remapped Rows
remapped_rows.correctable
remapped_rows.failure
remapped_rows.pending
remapped_rows.uncorrectable
remapped_row_unc
Remapping Failure Occurred
Remote access is allowed. This state is deprecated.
RemoteControlRealm
Remote error
Remote file already exists
Remote file not found
RemoteID
RemoteInvokeExWW
--remotelinkinfo
Remote operator entered a one-time password successfully
Remote operator failed (3 times) to enter a one-time password correctly
Remote SOL session ended
Remote SOL session started
Remote TLS State: 
Remote USBr session ended
Remote USBr session started
Removable
RemovalConditions
RemoveAccess
remove_Activated
RemoveApplication
RemoveApprovedConnectionFromAcl
RemoveApprovedEndPointFromAcl
 | Remove-AppxPackage
Remove a synchronous boost group. Provide the group id
RemoveAt
?RemoveBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
?RemoveChild@ClassInfoBase@DirectUI@@UEAAXXZ
Removed 
remove_DeviceAdded
remove_DeviceAddedHandler
remove_DeviceHandleEvent
remove_DeviceHandleEventHandler
remove_DeviceInstanceEvent
remove_DeviceInstanceEventHandler
remove_DeviceInterfaceEvent
remove_DeviceInterfaceEventHandler
remove_DeviceRemoved
remove_DeviceRemovedHandler
RemoveDirectoryA
RemoveDirectoryW
remove_Dismissed
?Remove@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
removeEventListenerWd
remove.exe
remove_Failed
RemoveFontResourceExW
RemoveFontResourceW
RemoveInstallerFiles
RemoveKey full
?RemoveListener@Element@DirectUI@@QEAAXPEAUIElementListener@2@@Z
RemoveMenu
remove_OnApproveDeviceRequired
remove_OnDeviceConnected
remove_OnDeviceDisconncted
remove_OnDeviceSecurityLevelMismatch
remove_OnDeviceSL2ChallengeFailed
remove_OnDeviceTunneled
remove_OnDriverAboutToRemove
remove_OnFirmwareUpdateComplete
remove_OnInterDomainConnected
remove_OnInterDomainDisconnected
remove_OnTopologyChanged
RemovePermissionsGroup
RemovePermissionsGroupMembers
remove_PropertyChanged
RemovePropW
Removes all binaries associated with provided cmsid
remove_ServiceClosed
RemoveStorageEaclEntry
RemoveStorageFpaclEntry
            Remove this element if your application requires this virtualization for backwards
?RemoveTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?RemoveTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
RemoveTppwrSys
RemoveUserAclEntry
remove_ValueChanged
RemoveVectoredContinueHandler
RemoveVectoredExceptionHandler
Removing external hook
Removing poller for gamepad
[Rename]
renderMajor
renderMinor
RenderTarget
RenderTargetWriteMask
reparsing a schema doc
RepeatNotificationCount
RepeatNotificationGap
RepeatNotificationInterval
RepeatNotificationPolicy
Replaceable
ReplaceColorsInFile_AI
ReplaceColorsInFile_ID
ReplaceColorsInFile_PS
Replaced
ReplaceExisting
replacing
replay_counter
Replay Number Rollovers
Replay protection disablement fuse is set.
Replay protection of UFS device is in Pre-Bind status .
Replay protection of UFS device not supported 
Replay protection of UFS device reported fatal error.
Replay protection RB fuse is not set.
Replay protection rebinding is disabled.
Replay protection rebinding of UFS device is not allowed.
replay_rollover_counter
Replays Since Reset
ReportCoreHang
ReportEventW
ReportInfoMessage
ReportQueued
RepresentsAuthorizationRights
RequestAdditionalTime
Request and Reply messages' size mismatch.
requested
             requestedExecutionLevel node with one of the following.
            requestedExecutionLevel node with one of the following.
Requested feature was omitted at compile time
RequestedLanguage
RequestedPowerState
RequestedPowerStatesSupported
Requested range was not delivered by the server
RequestedRefresh
RequestedSecurityToken
Requested sensor reset failed to complete.
RequestedSpeed
RequestedSpeedsSupported
Requested SSL level failed
RequestedState
RequestedStatesSupported
Requested unmapping of not mapped address
Request has same path as previous transfer
_requestingComponent
requestLevel
RequestMediaDeviceTableUpdate
RequestNavigateEventArgs
RequestNavigateEventHandler
RequestOSPowerSavingStateChange
RequestPowerStateChange
_requestQueue
RequestSecurityTokenResponse
RequestStateChange
RequestTotalItemsCountEstimate
required
 #REQUIRED
 REQUIRED
RequiredFrequentHours
requiredSize
RequiredSize
requiredSubgroupSizeStages
')' required to finish ATTLIST enumeration
'(' required to start ATTLIST enumeration
RequirementsDescription
                                Requires administrator privileges
                                Requires administrator privileges.
 requires an argument
RequiresDaughterBoard
                                Requires root.
rEsEH.J.
reserved
Reserved
ReservedRealm
reserved word
Reset all error counters to zero.
--reset-application-clocks
--reset-applications-clocks
resetBattery
resetBLEdevice
ResetButtonLock
ResetCapability
--resetcounters
ResetCRLList
ResetDriver
--reseterrorcounters
ResetEvent
--reset-gpu-clocks
--reset-memory-clocks
ResetOnRead
ResetSelectedStats
                                Resets the applications clocks to the default values.
                                Resets the Gpu clocks to the default values.
                                Resets the Memory clocks to the default values.
_resetstkoflw
Resetting counters is deprecated!
ResetToDefault
__RESHADE__
ReShade FX
__RESHADE_FXC__
residencyAlignedMipSize
residencyNonResidentStrict
residencyStandard2DBlockShape
residencyStandard2DMultisampleBlockShape
residencyStandard3DBlockShape
ResizeMode#
ResizeMode_NoMax
ResolutionX
ResolutionY
ResolveDelayLoadedAPI
ResolveDelayLoadsFromDll
ResolveLocaleName
ResolveMethodHandle
RESOLVE_MODE_AVERAGE_BIT
RESOLVE_MODE_MAX_BIT
RESOLVE_MODE_MIN_BIT
RESOLVE_MODE_SAMPLE_ZERO_BIT
resolving URI against base
Resource
resource already acquired
resource already mapped
Resource busy
Resource-CIDFont
Resource-CMap
resourceCulture
Resource deadlock avoided
resource deadlock would occur
Resource device
ResourceDictionaryLocation
Resource error
Resource-Font
resourceId
resourceIdWW
RESOURCE_IN_USE
resourceMan
ResourceManager
resourceName
resource not mapped
resource not mapped as array
resource not mapped as pointer
ResourceOffline
ResourceReader
	Resources
Resources
ResourceSet
Resource temporarily unavailable
resource unavailable try again
ResourceURI
response
ResponseData
_responseQueue
response reading failed
Restart failed with error
Restarting stream preview.
Restart LaterE
Restart Now
RESTART_REQUIRED
Restart required for any devices using this driver.
RestartService
RestoreButtonClickCount
RestoreDC
RESTORE_DEFAULT
RestoreLinkProtection
Restore Point Image Failure. Reboot may be required.
RestoreProperties
RestoreSettings
RestoreToButtonClickCount
RestoreUILaunchType
Restoring last installed driver on device.
Restoring time on resume from hibernate
__restrict
restrict(
RESTRICTED
[restriction] 
restriction
ResultClassName
result out of range
ResultRole
Result too large
resultValue
result.xml
?ResumeConversion@BuiVolume@@QEAAJXZ
Resumed from Hibernation
Resumed from Sleep
ResumeLayout
?ResumeStatusRefreshing@BuiVolume@@QEAAXXZ
ResumeThread
ResumeUpdates
retentionDays
retired_count
retired_page_address
retired_pagelist
retired_pages
    Retired Pages
retired_pages.address
retired_pages.cause
retired_pages.dbe
retired_pages.double_bit.count
retired_pages.pending
retired_pages.sbe
retired_pages.single_bit_ecc.count
retired_pages.timestamp
retired_page_timestamp
Retrieve
Retrieves information about factors that are reducing the frequency of clocks. If all throttle reasons are returned as "Not Active" it means that clocks are running as high as possible.
Retrieving the EOL Config list of tests failed.
Retrieving the EOL Var list of tests failed.
	return 
 returned 
                 returned from --sync-boost-list
ReturnHr
Returning from monitorHandlerInit : SUCCESS
Returning from monitorHandlerRun : SUCCESS
Returning from nvsmiReplay : SUCCESS
Returning from nvsmiSystemMon : SUCCESS
ReturnNt
ReturnPower
ReturnRtd3PowerResource
ReturnValue
ReuseDDElParam
reuse of the xmlns namespace name is forbidden
RevertedDeviceCount
RevertToSelf
RevisionID
RevisionNumber
revlogicalnot
RevocationCheckChain
RevocationCheckChainExcludeRoot
RevocationCheckEndCert
RevocationCheckNone
RevokeDragDrop
REVSUBTRACT
rev_table_const
Rewind stream after send
rewritePrefix
rewriteSystem
rewriteURI
|Rf1488]
?Rf1720Q
RFBPassword
rfen Sie jeweils nur eine dieser Versionen installieren und aktivieren.
rfen Sie nicht verkaufen.
Rfraktur
RfUSfo-|-*
RgbToLab
    -rgc  --reset-gpu-clocks
RGenValObj_InnerWd
rgvarRefArgW
RGY]'29sq P
)[RgZT9'8
rH'afdAw
rH_f25230
ri9O vdH
ri9V vdH
riBB0_675
RichEd20
RichEd32
RichEdit
RichEdit20A
			right: 50px;
RI#jt;lO
rimogenitalFont
Ringsmall
RiseAlertWWW
r jc]IloE
RK2TW1H(
RK50ki:a)
rK"Ar175
r keine Lizenz zur Nutzung der Software.
R:Kf124@1
rl:do.:b
RLE data corrupted
rllknnnoooccdnl_
rma.sync
RmcpPingResponseEnabled
    -rmc  --reset-memory-clocks
rm|_fwSatRhz[
RmGlobal_Bitfields
rMmpsd)]
rn.bf16x
rNBLh6Ko
RndStemUp
rn.f16.f32
rn.f16.sw
rNNNNNNNNNNNNNNNNs
RoActivateInstance
RoamingIdentity
RoamingSupported
robustBufferAccess
robustBufferAccess2
robustBufferAccessUpdateAfterBind
ROBUST_CHANNEL_BAD_ADDR_ACCESS
ROBUST_CHANNEL_BSP_ERROR
ROBUST_CHANNEL_BUS_MASTER_TIMEOUT_ERROR
ROBUST_CHANNEL_CE0_ERROR
ROBUST_CHANNEL_CE1_ERROR
ROBUST_CHANNEL_CE2_ERROR
ROBUST_CHANNEL_CE3_ERROR
ROBUST_CHANNEL_CE4_ERROR
ROBUST_CHANNEL_CE5_ERROR
ROBUST_CHANNEL_CE6_ERROR
ROBUST_CHANNEL_CE7_ERROR
ROBUST_CHANNEL_CE8_ERROR
ROBUST_CHANNEL_CE9_ERROR
ROBUST_CHANNEL_CONTAINED_ERROR
ROBUST_CHANNEL_CTXSW_TIMEOUT_ERROR
ROBUST_CHANNEL_DISP_MISSED_NOTIFIER
RobustChannelError
ROBUST_CHANNEL_FAKE_ERROR
ROBUST_CHANNEL_FECS_ERR_REG_ACCESS_VIOLATION
ROBUST_CHANNEL_FECS_ERR_UNIMP_FIRMWARE_METHOD
ROBUST_CHANNEL_FECS_ERR_VERIF_VIOLATION
ROBUST_CHANNEL_FECS_ERR_WATCHDOG_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_CHANNEL_BUSY
ROBUST_CHANNEL_FIFO_ERROR_FBISTATE_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_FIFO_METHOD
ROBUST_CHANNEL_FIFO_ERROR_IDLE_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_MMU_ERR_FLT
ROBUST_CHANNEL_FIFO_ERROR_PARSE_ERR
ROBUST_CHANNEL_FIFO_ERROR_PTE_ERR
ROBUST_CHANNEL_FIFO_ERROR_RUNOUT_OVERFLOW
ROBUST_CHANNEL_FIFO_ERROR_SW_METHOD
ROBUST_CHANNEL_FIFO_ERROR_UNK_METHOD
ROBUST_CHANNEL_GPU_ECC_DBE
ROBUST_CHANNEL_GPU_HAS_FALLEN_OFF_THE_BUS
ROBUST_CHANNEL_GPU_TIMEOUT_ERROR
ROBUST_CHANNEL_GR_CLASS_ERROR
ROBUST_CHANNEL_GR_ERROR_INSTANCE
ROBUST_CHANNEL_GR_ERROR_MISSING_HW
ROBUST_CHANNEL_GR_ERROR_SINGLE_STEP
ROBUST_CHANNEL_GR_ERROR_SW_METHOD
ROBUST_CHANNEL_GR_EXCEPTION
ROBUST_CHANNEL_GR_FAULT_DURING_CTXSW
ROBUST_CHANNEL_GR_ILLEGAL_NOTIFY
ROBUST_CHANNEL_GR_SEMAPHORE_TIMEOUT
ROBUST_CHANNEL_ME_ERROR_SW_METHOD
ROBUST_CHANNEL_MPEG_ERROR_SW_METHOD
ROBUST_CHANNEL_MSPDEC_ERROR
ROBUST_CHANNEL_MSPPP_ERROR
ROBUST_CHANNEL_MSVLD_ERROR
ROBUST_CHANNEL_NVDEC0_ERROR
ROBUST_CHANNEL_NVDEC1_ERROR
ROBUST_CHANNEL_NVDEC2_ERROR
ROBUST_CHANNEL_NVDEC3_ERROR
ROBUST_CHANNEL_NVDEC4_ERROR
ROBUST_CHANNEL_NVDEC5_ERROR
ROBUST_CHANNEL_NVDEC6_ERROR
ROBUST_CHANNEL_NVDEC7_ERROR
ROBUST_CHANNEL_NVENC0_ERROR
ROBUST_CHANNEL_NVENC1_ERROR
ROBUST_CHANNEL_NVENC2_ERROR
ROBUST_CHANNEL_NVJPG0_ERROR
ROBUST_CHANNEL_NVJPG1_ERROR
ROBUST_CHANNEL_NVJPG2_ERROR
ROBUST_CHANNEL_NVJPG3_ERROR
ROBUST_CHANNEL_NVJPG4_ERROR
ROBUST_CHANNEL_NVJPG5_ERROR
ROBUST_CHANNEL_NVJPG6_ERROR
ROBUST_CHANNEL_NVJPG7_ERROR
ROBUST_CHANNEL_OFA0_ERROR
ROBUST_CHANNEL_OTHER
ROBUST_CHANNEL_PARAMETER_ERROR
ROBUST_CHANNEL_PBDMA_ERROR
ROBUST_CHANNEL_PREEMPTIVE_REMOVAL
ROBUST_CHANNEL_RC_LOGGING_ENABLED
ROBUST_CHANNEL_RESETCHANNEL_VERIF_ERROR
ROBUST_CHANNEL_SCANLINE_TIMEOUT
ROBUST_CHANNEL_SEC2_ERROR
ROBUST_CHANNEL_SEC_ERROR
ROBUST_CHANNEL_UNCONTAINED_ERROR
ROBUST_CHANNEL_VBLANK_CALLBACK_TIMEOUT
ROBUST_CHANNEL_VGA_SUBSYSTEM_ERROR
ROBUST_CHANNEL_VIC_ERROR
ROBUST_CHANNEL_VP2_ERROR
ROBUST_CHANNEL_VP_ERROR
ROBUST_CHANNEL_VP_ERROR_SW_METHOD
robustImageAccess
robustImageAccess2
robustStorageBufferAccessSizeAlignment
robustUniformBufferAccessSizeAlignment
RoGetActivationFactory
RoGetMatchingRestrictedErrorInfo
RoInitialize
RoleCharacteristics
RollbackTransaction
_rolloverCount
_rolloverKb
RoOriginateError
RoOriginateErrorW
RoOriginateLanguageException
Root CA1
RootCertMaxCount
RootCertMaxSize
rootPage
RoRegisterActivationFactories
RoRevokeActivationFactories
.ROROz0z0u3u3*8*8
roundingModeIndependence
RoundRect
RoUninitialize
RoutedEventArgs
RoutedEventHandler
row_major
row_major 
Row pointers and types mismatch in count
row_remapper
row_remapper_histogram
                                      row_remapper_histogram_high|
row_remapper_histogram_high
                                      row_remapper_histogram_low|
row_remapper_histogram_low
row_remapper_histogram_max
row_remapper_histogram_none
                                      row_remapper_histogram_partial|
row_remapper_histogram_partial
?R(P(93;3
#rparam.u
rparam.uQ
RpcBindingBind
RpcBindingCreateW
RpcBindingFree
RpcBindingFromStringBindingW
RpcBindingInqAuthClientW
RpcBindingServerFromClient
RpcBindingSetAuthInfoExW
RpcBindingSetOption
RpcBindingToStringBindingW
RpcBindingVectorFree
RpcCreateMJPEGSession
RpcDecodeOneMJPGFrameSecure
RpcDeleteMJPEGSession
RpcEpRegisterW
RpcEpUnregister
RpcImpersonateClient
RpcMgmtStopServerListening
RpcMgmtWaitServerListen
RpcRevertToSelf
RpcRevertToSelfEx
RPCRT4.dll
RpcServerInqBindings
RpcServerListen
RpcServerRegisterAuthInfoW
RpcServerRegisterIf
RpcServerRegisterIf3
RpcServerRegisterIfEx
RpcServerUnregisterIf
RpcServerUnregisterIfEx
RpcServerUseProtseqEpW
RpcStringBindingComposeW
RpcStringBindingParseW
RpcStringFreeW
Rpcvt.rzi
rpkmdgdgggggggggggggggggggggggggggggggggggggggggggggggggggggggggdppprr
RpLWjIX9gK
RPMB fuse is set. Cannot commit FPFs.
RPMB manufacturing process is not complete.
RPMC enablement fuse is not set.
RPMC manufacturing process is not complete.
"RPPP*5(5
*R"P"r0r0
Rpt4rRRV
r	q	8!7!
	R	Q	p	o	
rqpppqvttw
rQsQtQuQvQwQhQiQjQkQlQ
r r0r1r.r
R R0R1R.R
r@r0r8r6r
R@R0R8R6R
(r*r*1919w;v;
Rr2002;yOd210
Rr20160Z
Rr2225QW
Rr25175 
Rr2517u 
r@rAr8r:r
R@RAR8R:R
RRddooooooddBB
R_RDx|K0s|
"r*r*I5J5
	R	R	M	M	
r@rPrQrNr
R@RPRQRNR
r@rPrXrVr
R@RPRXRVR
r!r-r9rFrSr_rlryr
RRRR;;;;
RRRR				jjjj
R	R	R	R	R	R	R
RRRRRRRRR
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpmpglcbWcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbgggppprrrr
*R"R"u0v0
RrugwgVVquewv
rrW'Ct6SaacRSC
Rs1173V.
:[RS]*51[
rsaEncryption
RSA Public Key
RSASSA-PSS
RsaVerifySignatureFailure
RSDSX'_#
RSDSX	ub
RSEPassword
rSgV6qcg
R@S@UGUG
rsuperior
!r"t"1 1 
Rtd3CtontrolInputData
Rtd3CtontrolOutputData
Rtd3CtontrolType
Rtd3State
__RTDynamicCast
RtHDVBg_ASC
RtHDVBg_BYPASS_AUDIO_EFFECT_WHEN_POWERSAVING
RtHDVBg_CTPreset
RtHDVBg_Dolby
RtHDVBg_DTS
RtHDVBg_DTS_SWVOL
RtHDVBg_LENOVO_DOLBYDRAGON
RtHDVBg_LENOVO_MICPKEY
RtHDVBg_LGWritKey
RtHDVBg_ListenToDevice
RtHDVBg_LVA
RtHDVBg_MA3Firmware
RtHDVBg_MAXX6
RtHDVBg_MISC
RtHDVBg_Nuance
RtHDVBg_PushButton
RtHDVBg_RtkSzVz
RtHDVBg_RUNEP
RtHDVBg_Session
RtHDVBg_SETSPDIFINSR
RtHDVBg_SOUNDEDGE
RtHDVBg_SRS_DOLBY_EXCLUSIVEA
RtHDVBg_SRSPSP
RtHDVBg_SRSSA
RtHDVBg_TrueHarmony
RtHDVBg_TrueHarmonyDAX2
RtHDVBg_WAVES_SKYLAKE
RtkAudUServiceCOMObject ClassW"
RtkAudUServiceCOMObjectW
RtkAudUServiceCOMServer 1.0 Type LibraryWW)
RtkAudUServiceCOMServerLibWW
RtlAcquireResourceExclusive
RtlAddFunctionTable
RtlAllocateAndInitializeSid
RtlAllocateHeap
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlArrayGet failed to get the next node
RtlCaptureContext
RtlCaptureStackBackTrace
RtlClearThreadWorkOnBehalfTicket
RtlCompareUnicodeString
RtlConvertSidToUnicodeString
RtlCopySid
RtlCopyUnicodeString
_RTL_CRITICAL_SECTION
RtlDecodeBase64LUtf8StringToLBlob
RtlDeleteFunctionTable
RtlDeleteResource
RtlDisownModuleHeapAllocation
RtlDllShutdownInProgress
RtlDosPathNameToNtPathName_U
RtlDosPathNameToNtPathName_U_WithStatus
RtlEqualSid
RtlFormatCurrentUserKeyPath
RtlFreeHeap
RtlFreeSid
RtlFreeUnicodeString
RtlGetCurrentTransaction
RtlGetDeviceFamilyInfoEnum
RtlGetNativeSystemInformation
RtlGetNtProductType
RtlGetNtSystemRoot
RtlGetNtVersionNumbers
RtlGetOwnerSecurityDescriptor
RtlGetPersistedStateLocation
RtlGetVersion
RtlGUIDFromString
RtlImageDirectoryEntryToData
RtlImageDirectoryEntryToData returned ExportDirectory that was too small
RtlImageNtHeader
RtlImpersonateSelf
RtlInitializeCriticalSection
RtlInitializeGenericTableAvl
RtlInitializeResource
RtlInitializeSid
RtlInitializeSmartLBlobWritingContext
RtlInitString
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlInsertElementGenericTableAvl
RtlIpv4StringToAddressExW
RtlIpv6StringToAddressExW
RtlIsCloudFilesPlaceholder
::RtlIsLBlobValid(Blob)
::RtlIsLBlobValid(Data)
::RtlIsLUtf8StringValid(SourceString)
RtlIsMultiSessionSku
RtlIsStateSeparationEnabled
RtlIsTextUnicode
RtlLengthSid
RtlLookupElementGenericTableAvl
RtlLookupFunctionEntry
RtlMultiByteToUnicodeN
RtlNotifyFeatureUsage
RtlNtPathNameToDosPathName
RtlNtStatusToDosError
RtlNtStatusToDosErrorNoTeb
RtlPcToFileHeader
RtlpDecodeBase64Chunklets
RtlpDecodeCharsUntilNotMatchPredicate
RtlpEnsureBufferSize
RtlPrefixUnicodeString
RtlpSmartLBlobWritingContextResizePolicy
RtlPublishWnfStateData
RtlQueryFeatureConfiguration
RtlQueryWnfStateData
RtlRaiseException
RtlRaiseStatus
RtlRandomEx
RtlReAllocateHeap
RtlReallocateLBlob
RtlRegisterFeatureConfigurationChangeNotification
RtlReleaseResource
RtlReportException
RtlRunOnceExecuteOnce
RtlSetCurrentTransaction
RtlSetThreadWorkOnBehalfTicket
RtlStringFromGUID
RtlSubAuthorityCountSid
RtlSubAuthoritySid
RtlSubscribeWnfStateChangeNotification
RtlTimeToTimeFields
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUnicodeToMultiByteN
RtlUnicodeToOemN
RtlUnregisterFeatureConfigurationChangeNotification
RtlUnsubscribeWnfNotificationWaitForCompletion
RtlUnsubscribeWnfStateChangeNotification
RtlUnwind
RtlUnwindEx
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlValidRelativeSecurityDescriptor
RtlVerifyVersionInfo
RtlVirtualUnwind
RtlWriteDataIntoSmartLBlobWritingContext
RtlxAnsiStringToUnicodeSize
RTOS_DPU_TASK_ID_DISPATCH
RTOS_DPU_TASK_ID_IDLE
RTOS_DPU_TASK_ID_REGCACHE
RTOS_DPU_TASK_ID_UNKNOWN
RTOS_DPU_TASK_ID_VRR
RTOS_PMU_TASK_ID_ACR
RTOS_PMU_TASK_ID_BIF
RTOS_PMU_TASK_ID_CMDMGMT
RTOS_PMU_TASK_ID_DISP
RTOS_PMU_TASK_ID_FAS
RTOS_PMU_TASK_ID_FBBA
RTOS_PMU_TASK_ID_GCX
RTOS_PMU_TASK_ID_HDCP
RTOS_PMU_TASK_ID_I2C
RTOS_PMU_TASK_ID_IDLE
RTOS_PMU_TASK_ID_LOWLATENCY
RTOS_PMU_TASK_ID_LPWR
RTOS_PMU_TASK_ID_LPWR_LP
RTOS_PMU_TASK_ID_NNE
RTOS_PMU_TASK_ID_PCM
RTOS_PMU_TASK_ID_PCMEVT
RTOS_PMU_TASK_ID_PERF
RTOS_PMU_TASK_ID_PERF_CF
RTOS_PMU_TASK_ID_PERF_DAEMON
RTOS_PMU_TASK_ID_PERFMON
RTOS_PMU_TASK_ID_PMGR
RTOS_PMU_TASK_ID_SEQ
RTOS_PMU_TASK_ID_SPI
RTOS_PMU_TASK_ID_THERM
RTOS_PMU_TASK_ID_UNKNOWN
RTOS_PMU_TASK_ID_WATCHDOG
RTOS_SEC2_TASK_ID_CMDMGMT
RTOS_SEC2_TASK_ID_IDLE
RTOS_SEC2_TASK_ID_UNKNOWN
RtosTaskId
rtremoveAllEventListenersWd
RTSP CSeq mismatch or invalid CSeq
RTSP session error
Rt:t:zJyJcObO
:R?U?e;c;
RuleUsage
RunDayOfWeek
RunDiagnostics
Run for specified number of monitoring cycles and exit
RunInstallerAttribute
RUN_LOOP_TASK
RunMonth
Running application:
Running Broadcast Account Check
Running DbInstaller from
Running on Windows
running regexp
Running with arguments:
RunPair: Couldn't find specified cross
RunPair: Odd number of Crosses in scanline
RunPowerCycle
RunStartInterval
RuntimeCompatibilityAttribute
runtimeDescriptorArray
runtime error 
Runtime Error!
RUNTIME_ERROR
runtime_errors
RuntimeFieldHandle
RuntimeHelpers
RuntimeMethodHandle
RuntimeTypeHandle
RVX_F.y_
RWAf140z
r;WINTRUST.dll
[rWu]QpK
rwx-tTsS
R]w-z-:A
RxDefaultCount
RxDefaultDrop
RxDefaultMatchEvent
 R[[x)g@;
RxIyIXGYG
RxribnTc
Rx Throughput
RYr.5fI9h
rzeq1''ZEp
S@-@-@-@-@-@-@-@-
S0H;S8t	
S0Q66;C;
s16816gemm
s16832gemm
s1684tf32cudnn
s1684tf32gemm
s1688cudnn_bf16
s1688cudnn_fp16
s1688gemm
S18 179c
S1f21f#Rf2188
@s1PVj@W
s*1w9!wI*mQ[
#s2-D!20
#s2QG!21
s32.u64	
S'3aRQg?V
.S3R3H(F(G
 s495L7B
s4	LB1xI)
s4t4fMfM
s4*u'3e@5
S5_ffPK20F
S666666666666666666u
#s6]Se96
s"7f229 
s884cudnn_fp16
s884gemm
s884gemm_fp16
!S8|BQ8QG
S9(0yGGr5
-s9u9M;M;@F?F
SafeCloseHandle
SafeCM_Register_Notification
SafeCM_Unregister_Notification
SafeCreateFile
SafeCreateProcessAsUser
SafeDeviceIoControl
SafeFileHandle
SafeHandle
Safe mode is ON. Optional plugins will not be loaded
SafeNativeMethods
SaferFlag
SafeSetServiceStatus
SafeSetupDiCreateDeviceInfoList
SafeSetupDiDestroyDeviceInfoList
SafeSetupDiEnumDeviceInterfaces
SafeSetupDiGetClassDevs
SafeSetupDiGetDeviceInstanceId
SafeSetupDiGetDeviceInterfaceDetail
SafeSetupDiGetDeviceRegistryProperty
SafeSetupDiOpenDeviceInterface
SafeWTSEnumerateSessions
SafeWTSFreeMemory
SafeWTSQueryUserToken
SagRprRV
Saitama1
Salford1
samcli.dll
SamCloseHandle
SamConnect
samDesired
SAMF partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
SamFreeMemory
SAMLIB.dll
samLinear
SamOpenDomain
SamOpenUser
SAMPLE_COUNT_16_BIT
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_32_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_64_BIT
SAMPLE_COUNT_8_BIT
 (sampleCountTableDataSize error)
sampledImageColorSampleCounts
sampledImageDepthSampleCounts
sampledImageIntegerSampleCounts
sampledImageStencilSampleCounts
SampleInterval
sampleLocationCoordinateRange
sampleLocationSampleCounts
sampleLocationSubPixelBits
sampler 
sampler1D
sampler1DArray
sampler1DArrayShadow
sampler1DShadow
__sampler2D
sampler2D
sampler2D __
sampler2DArray
sampler2DArrayShadow
sampler2DMS
sampler2DMSArray
sampler2DShadow
sampler3D
samplerAnisotropy
sampleRateShading
samplerCUBE
samplerFilterMinmax
samplerMipLodBias
samplerMirrorClampToEdge
samplerRECT
sampler_state
SamplerState
SamplerState __s
samplerYcbcrConversion
Sampling factors too large for interleaved scan
SamQueryInformationDomain
SamQueryInformationUser
SamQuerySecurityObject
San Jose1
Santa Clara1
? ?'?.?S?[?a?o?
@SATAUAVAWH
@SATAUAVH
@SATAUAWH
SATAUAWH
@SATAVAWH
saturate
saturate(
Saturation
Saturday
SAUAVAWH
SaveActiveHoursToRegistry
SaveButtonPushed
SaveColorRecordToCSV
	save [name]  save this document to name or the original name
SaveProperties
SaveScreenFile
SaveSetting
SaveSettings
SaveToXml
SaveWindowRect
Saving output image(s):
saving regexp
Saving result has failed with (
saving URI
SAX compatibility mode document
sBB0_22:?
_sBB0_23:?
sBB0_24:
sBB0_26:
sBB0_26:@
sBB0_53:;
sBB0_89:
sBB0_91:;
sbe_ecc_errors
sbra.uni
sC2.2a|O
scalarBlockLayout
scalar value expected
SCALE_ADAPTER
SCALE_CENTERED
SCALE_FIXED_ASPECT
SCALE_MONITOR
ScaleType
ScaleViewportExtEx
ScaleWindowExtEx
scanAppTimer
scanBatteryTimer
scanBTTimer
Scan line 
scanlineimage
Scan script does not transmit all data
ScanType
Scaronsmall
SCav6Se#G5aace'RW
scedilla
Scedilla
SCENE_MAN
schannel
Schannel
schannel: an unrecoverable error occurred in a prior call
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_NOT_TIME_VALID
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_PARTIAL_CHAIN
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_REVOKED
schannel: CertGetCertificateChain trust error CERT_TRUST_IS_UNTRUSTED_ROOT
schannel: CertGetCertificateChain trust error CERT_TRUST_REVOCATION_STATUS_UNKNOWN
schannel: CertGetNameString() returned certificate name information of unexpected size
schannel: CertGetNameString() returned no certificate name information
schannel: Curl_read_plain returned CURLE_RECV_ERROR
schannel: enough decrypted data is already available
schannel: failed to retrieve ALPN result
schannel: failed to retrieve remote cert context
schannel: failed to setup confidentiality
schannel: failed to setup memory allocation
schannel: failed to setup replay detection
schannel: failed to setup sequence detection
schannel: failed to setup stream orientation
schannel: failed to store credential handle
schannel: remote party requests renegotiation
schannel: renegotiation failed
schannel: server certificate name verification failed
schannel: server closed abruptly (missing close_notify)
schannel: server closed the connection
schannel: server indicated shutdown in a prior call
schannel: this version of Windows is too old to support certificate verification via CA bundle file.
schannel: TLS 1.3 is not yet supported
schannel: unable to allocate memory
schannel: unable to re-allocate memory
ScheduledStartTime
SchedulerKind
-scheduleTask
SchedulingProtocol
schemaLocation
Schemas: 
Schemas: NULL
Schemas parser 
Schemas validity 
schematron 
SchemaValidationError
schemaVersion
SchemeGUID
SchTaskFolder
scircumflex
Scircumflex
scommaaccent
Scommaaccent
Screen Blanking
Screen blanking end
Screen blanking start
screenCanvas
screenPixelColor
Screenshot
SCREENSHOT
screenshotHeight
--- Screenshot parameters:
screenshotWidth
screenShotWindow
ScreenshotWindow
screensiL9	u
screensize
ScreenToClient
screenWindowCenter
screenWindowWidth
scriptContent
script statements 
scrolling
ScrollWindow
ScrollWindowEx
-sctaid.y
sctaid.y
sctaid.z#
 scvt.u64
scvt.u64
scvt.u64'
scvt.u64c
ScVwCsWtv
SD2"""B5USS""R3UUUUSUUUUUUUUUUUU
sdai_Bpi
SdbApphelpNotifyEx2
SdbCheckForChildRuntimePlatform
SDB compression algorithm does not match callback algorithm.
SdbFileDetails missing function pointer for path.
SDB file too small to be valid
SdbFindFirstDWORDIndexedTag
SdbFindFirstNamedTag
SdbFindFirstStringIndexedTag
SdbFindFirstTagRef
SdbFindNextLayer
SdbFindNextTag
SdbGetBinaryTagData
SdbGetDatabaseGUID
SdbGetDatabaseID
SdbGetDatabaseMatch
SdbGetEntryFlags
SdbGetIndex
SdbGetItemFromItemRef
SdbGetMatchingExeEx
SdbGetNextChild
SdbGetPathCustomSdb
SdbGetPathCustomSdb failed to get the database path.
SdbGetPathResourceDll failed.
SdbGetPathSystemSdb failed.
SdbGetPathSystemSdb failed to get file path for SDB_SYSTEM
SdbGetPDBFromGUID
SdbGetStringTagPtr
SdbGetTagDataSize
SdbGetTagFromTagID
SdbGuestHostArchsToRuntimePlatformFlag
SdbGuestTargetPlatformFlagsToRuntimePlatformFlags
SDB Handle count was decremented after zero.
SdbInitDatabase
SdbInitDatabaseEx
SdbInitDatabaseEx failed.
SdbInitDatabaseEx for FOD DxDb failed.
SDB is not compressed
SdbMakeIndexKeyFromStringEx
SdbOpenApphelpResourceFile
SdbOpenDatabaseEx
SdbpAddMatch
SdbpApphelpExeInfo
SdbParseLayerString
SdbpCheckAllAttributes
SdbpCheckAttribute
SdbpCheckExe
SdbpCheckMatchingDevice
SdbpCheckMatchingDir
SdbpCheckMatchingFiles
SdbpCheckMatchingRegistry
SdbpCheckMatchingRegistryEntry
SdbpCheckMatchingRegistryValue
SdbpCheckMatchingText
SdbpCheckMatchingTextEntry
SdbpCheckMatchingWildcardFiles
SdbpCheckMatchingWildcardRegistry
SdbpCheckPackageAttributes
SdbpCheckRuntimePlatformImpl failed to check runtime platform
SdbpCleanupForExclusiveMatch
SdbpCreateSDBLookupEntry
SdbpCreateSearchDBContext
SdbpCreateSearchPathPartsFromPath
SdbpEnumUserSdb
SdbpFindFirstIndexedWildCardTag
SdbpFindMatchingDWORD
SdbpFindMatchingName
SdbpFindNextNamedTag
SdbpGetBinaryRuntimePlatform
SdbpGetCustomSdbFileName
SdbpGetExeEntryFlags
SdbpGetFirstIndexedRecord
SdbpGetIndex
SdbpGetMappedData
SdbpGetMappedStringFromTable
SdbpGetMappedTagData
SdbpGetMatchingTextAttributes
SdbpGetNamedLayerFromExe
SdbpGetNextIndexedRecord
SdbpGetNextTagId
SdbpGetPathAppPatch
SdbpGetPathAppPatchPreRS3
SdbpGetPathAppraiser
SdbpGetPathCustomSdb
SdbpGetPathCustomSdbPreRS3
SdbpGetPathSystem
SdbpGetPermLayersInternal
SdbpGetProcessHistory
SdbpGetProcessHostGuestArchitectures
SdbpGetRegistryMatchingAttributes
SdbpGetStringTableItemFromStringRef
SdbpGetStringTableItemFromStringRef failed to get tagid for string ref
SdbpGetSystemSdbFilePath
SdbpGetTagHeadSize
SdbpInitializeSearchDBContext
SdbpOpenCompressedDatabase
SdbpOpenCompressedDatabase failed to allocate expanded buffer - out of memory
SdbpOpenCompressedDatabase failed to open compressed database.
SdbpOpenDatabaseInMemory
SdbpOpenLocalDatabaseEx
SdbpQueryAppCompatFlagsByExeID
SdbpReadMappedData
SdbpReadStringRef
SdbpReadTagData
SdbpResolveInitSdbPath
SdbpResolveMatchingFile
SdbpSearchDB
SdbpValidateAndApplyCompatFlags
SdbQueryDataEx
SdbQueryDataExTagID
SdbQueryData got incorrect data type.
SdbReadBinaryTag
SdbReadDWORDTag
SdbReadQWORDTag
SdbReadWORDTag
SdbReleaseDatabase
SdbResolveDatabaseEx
SdbTagIDToTagRef
SD Default Policy Set
SD Filter Added
SD Filter Removed
SdggmmmmMm
SdgmmmmpQm
SD Heuristics Option Set
SD Heuristics State Cleared
SdkError
SD Policy Added
SD Policy Removed
sdr (8 bit bgra)
---     Sdr output nothing to do
SearchBox
Searching
searching namespace
SearchPageState
SearchPathA
SearchPathW
SearchRestoreCount
SearchRestoreToCount
SearchUsageCount
SearchViewTypeChangeCount
s ECC state corrects single-bit and detects double-bit errors.
SEC_E_ALGORITHM_MISMATCH
SEC_E_BAD_BINDINGS
SEC_E_BAD_PKGID
SEC_E_BUFFER_TOO_SMALL
SEC_E_CANNOT_INSTALL
SEC_E_CANNOT_PACK
SEC_E_CERT_EXPIRED
SEC_E_CERT_UNKNOWN
SEC_E_CERT_WRONG_USAGE
SEC_E_CONTEXT_EXPIRED
SEC_E_CROSSREALM_DELEGATION_FAILURE
SEC_E_CRYPTO_SYSTEM_INVALID
SEC_E_DECRYPT_FAILURE
SEC_E_DELEGATION_POLICY
SEC_E_DELEGATION_REQUIRED
SEC_E_DOWNGRADE_DETECTED
SEC_E_ENCRYPT_FAILURE
SEC_E_ILLEGAL_MESSAGE
SEC_E_INCOMPLETE_CREDENTIALS
SEC_E_INCOMPLETE_MESSAGE
SEC_E_INSUFFICIENT_MEMORY
SEC_E_INTERNAL_ERROR
SEC_E_INVALID_HANDLE
SEC_E_INVALID_PARAMETER
SEC_E_INVALID_TOKEN
SEC_E_ISSUING_CA_UNTRUSTED
SEC_E_ISSUING_CA_UNTRUSTED_KDC
SEC_E_KDC_CERT_EXPIRED
SEC_E_KDC_CERT_REVOKED
SEC_E_KDC_INVALID_REQUEST
SEC_E_KDC_UNABLE_TO_REFER
SEC_E_KDC_UNKNOWN_ETYPE
SEC_E_LOGON_DENIED
SEC_E_MAX_REFERRALS_EXCEEDED
SEC_E_MESSAGE_ALTERED
SEC_E_MULTIPLE_ACCOUNTS
SEC_E_MUST_BE_KDC
SEC_E_NO_AUTHENTICATING_AUTHORITY
SEC_E_NO_CREDENTIALS
SEC_E_NO_IMPERSONATION
SEC_E_NO_IP_ADDRESSES
SEC_E_NO_KERB_KEY
SEC_E_NO_PA_DATA
SEC_E_NO_S4U_PROT_SUPPORT
SEC_E_NO_TGT_REPLY
SEC_E_NOT_OWNER
SEC_E_OUT_OF_SEQUENCE
SEC_E_PKINIT_CLIENT_FAILURE
SEC_E_PKINIT_NAME_MISMATCH
SEC_E_POLICY_NLTM_ONLY
SEC_E_QOP_NOT_SUPPORTED
SEC_E_REVOCATION_OFFLINE_C
SEC_E_REVOCATION_OFFLINE_KDC
SEC_E_SECPKG_NOT_FOUND
SEC_E_SECURITY_QOS_FAILED
SEC_E_SHUTDOWN_IN_PROGRESS
SEC_E_SMARTCARD_CERT_EXPIRED
SEC_E_SMARTCARD_CERT_REVOKED
SEC_E_SMARTCARD_LOGON_REQUIRED
SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
SEC_E_TARGET_UNKNOWN
SEC_E_TIME_SKEW
SEC_E_TOO_MANY_PRINCIPALS
SEC_E_UNFINISHED_CONTEXT_DELETED
SEC_E_UNKNOWN_CREDENTIALS
SEC_E_UNSUPPORTED_FUNCTION
SEC_E_UNSUPPORTED_PREAUTH
SEC_E_UNTRUSTED_ROOT
SEC_E_WRONG_CREDENTIAL_HANDLE
SEC_E_WRONG_PRINCIPAL
SEC_FAULT_ERROR
SEC_I_COMPLETE_AND_CONTINUE
SEC_I_COMPLETE_NEEDED
SEC_I_CONTEXT_EXPIRED
SEC_I_CONTINUE_NEEDED
SEC_I_INCOMPLETE_CREDENTIALS
SEC_I_LOCAL_LOGON
SEC_I_NO_LSA_CONTEXT
SEC_I_RENEGOTIATE
SEC_I_SIGNATURE_NEEDED
SecondaryDevice
SecondaryDNS
SecondaryIndex
seconds. 
"Sectigo Public Code Signing CA R36
"Sectigo Public Code Signing CA R360
Sectigo RSA Code Signing CA
Sectigo RSA Code Signing CA0
Sectigo RSA Time Stamping CA
Sectigo RSA Time Stamping CA0
#Sectigo RSA Time Stamping Signer #2
#Sectigo RSA Time Stamping Signer #20
Section end
Section start
SectorSizeTooBig
secur32.dll
Secur32.dll
__Secure-
Secure_buffer_Base
Secure_buffer_size
Secure Compressed Frame GUID
SecureConnect
Secure DecodeEnd
Secure DecodeStart
SecureDNS
SecureErase
Secure Frame GUID
Secure_Time_Stamp
Secure Uncompressed Frame GUID
Security
SecurityAction
Security Admin
SecurityAnonymous
SecurityAttributes
security attributes generated successfully
Security Audit Log
Security Audit Log Cleared
Security Audit Log Disabled
Security Audit Log Enabled
Security Audit Log Exported
SecurityAuditLogRealm
Security Audit Log Recovery
Security Audit policy modified
SECURITY_BLOCK_NOT_FOUND
SecurityBreach
SecurityDelegation
Security Descriptor Override Strap (SDO) is enabled.
security.dll
SecurityException
SecurityIdentification
SecurityIdentifier
SecurityImpersonation
SECURITY_IMPERSONATION_LEVEL
SecurityLevel
SecurityPermissionAttribute
.securom
Seek failed on temporary file
_seh_filter_dll
_seh_filter_exe
sEi:'c3F
--select
selectable choice 
SelectClipRgn
selected
selectedColorSpace
selectedFilter
SelectedHashData
SelectedHashType
SelectedStatistics
select failed
Select failed
SELECT * FROM BIOSEvent
SELECT * FROM DeviceState
Selecting last installed driver.
SelectionChangedEventArgs
SelectionChangedEventHandler
SelectionUpdateRegistry
  SELECTIVE QUERY OPTIONS:
SelectMany
SelectObject
selector
Selector
SelectorLimit
SelectorSet
SelectPalette
SelectSingleNode
 'self' 
?_SelfLayoutDoLayout@Element@DirectUI@@MEAAXHH@Z
?_SelfLayoutUpdateDesiredSize@Element@DirectUI@@MEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
SelfPowered
SelfTestEnabled
selp.b32	
selp.b32	h
selp.b32	V
selp.f64	
' semantic does not match vertex shader one
_semaphore
SemaphoreSlim
Semibold
semicolon
SendAlert
SendAndWait
SendAppServiceMessage
SendBookmark
SendBookmarks
SendColorRecordAPI
SendColorToServerCallback
SendColorToTopMostApp
SendCommandAndWait
Send Consent Code Event
SendDlgItemMessageA
SendDlgItemMessageW
SendDoubleClickSpeedValueToKernel
send failed
Send failed since rewinding of the data stream failed
SendInput
SEND LOCATION
SendMessage
SendMessageA
SendMessageAsync
SendMessageTimeoutA
SendMessageTimeoutW
SendMessageW
_SendMissedEvents
SendNotifyMessageW
Send_NvcError_Event
Send_NvcLoadStats_Event
Send_NvcMemoryStats_Event
Send_NvcPluginLoadStats_Event
Send_NvcPluginResumeStats_Event
Send_NvcPluginUnloadStats_Event
Send_NvcUnloadStats_Event
Send_NvpWatchdogChildContainerProcessStats_Event
SendOptInCode
SendScreenInfoToKernel
SendToastMessageAsync
SendToClipBoard
SensorContext
SensorNumber
SensorType
SENTRY_POINT
separateDepthStencilLayouts
                 separated values for more than one device
separateStencilMaskRef
SEPAR_LINE 
SEPAR_PARA 
SEPAR_SPACE 
September
[sequence] 
sequence
SEQUENCE
SequenceContext
SequencedActions
SequenceNumber
SequentialAccess
SerializationInfo
_Serialize
Serialize
SerializeInput
SerializeObject
Serializer
serially
serialNumber
Serial Number
SerialNumber
SerialNumbers
serieName
SeriesChartType
SeriesCollection
Server Authentication
ServerCertificateIssuer
ServerCertificateName
ServerCertificateNameComparison
server config
Server denied you to change to the given directory
Server doesn't support multiplex (yet)
server requested blksize larger than allocated
SERVERWW@
ServiceAccount
ServiceBase
ServiceCommandFloatWithIndex
ServiceConfigThread finished
ServiceConfigThread: Quit event signaled
ServiceConfigThread: Timeout occurred
ServiceConfigThread: unknown wait condition
SERVICE_CONTINUE_PENDING
ServiceController
ServiceControllerStatus
Service.cpp
ServiceDescriptions
ServiceEnvelopeLimit
Service host
Service host:
Service host: Created ServiceConfigThread
Service host failed
Service host: quit disabled
Service host: quit enabled
Service host: service registration failed
ServiceInstaller
serviceInstaller1
serviceInstaller1_AfterInstall
serviceName
ServiceName
ServiceNameExe
Service_Object
SERVICE_PAUSED
SERVICE_PAUSE_PENDING
ServicePhilosophy
ServicePopup
ServicePrincipalName
ServicePrincipalProtocol
ServiceProcessInstaller
serviceProcessInstaller1
ServiceProvided
SERVICE_RUNNING
Services
ServiceStartMode
SERVICE_START_PENDING
serviceStatus
SERVICE_STOPPED
SERVICE_STOP_PENDING
SeShutdownPrivilege
Session:
session_begin
SessionChangeDescription
SessionChangeReason
session_count
session_end
session_full
SessionGuid
SessionHandle
sessionId
SessionID
Session ID cannot be set as a custom header.
SessionStart
SessionState
SessionTimeout
SessionType
sessionTypeW
?SetAccessible@Element@DirectUI@@QEAAJ_N@Z
set_Account
SetAclEnabledState
?SetActive@Element@DirectUI@@QEAAJH@Z
SetActiveWindow
?setADesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
SetAdminAclEntryEx
set_AffectsPresence
set_Alignment
?setAlpha@Convolution@cask@@QEAAXM@Z
?setAlpha@Convolution@cask@@QEAAXN@Z
?setAlpha@ConvolutionDgrad@cask@@QEAAXM@Z
?setAlpha@ConvolutionDgrad@cask@@QEAAXN@Z
?setAlpha@ConvolutionWgrad@cask@@QEAAXM@Z
?setAlpha@ConvolutionWgrad@cask@@QEAAXN@Z
?setAlpha@Gemm@cask@@QEAAXM@Z
?setAlpha@Gemm@cask@@QEAAXN@Z
?setAlpha@Gemm@cask@@QEAAXUdouble2@@@Z
?setAlpha@Gemm@cask@@QEAAXUfloat2@@@Z
?setAlpha@PoolingOperation@cask@@QEAAXM@Z
?setAlpha@SoftmaxOperation@cask@@QEAAXM@Z
?setAmDesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
SetApartmentState
set_application
set_ApplicationIcon
SetApplicationRequestedRfKill
__set_app_type
_set_app_type
set_Arguments
set_AssociatedApp
?SetAt@CHString@@QEAAXHG@Z
SetAttribute
?SetAttributes@FSN_FILTER@@QEAAEKKK@Z
SetAuditLock
SetAuditPolicy
SetAuditPolicyBulk
set_Author
set_AutoFlush
set_AutomaticDelay
set_AutoPopDelay
set_AutoScaleMode
set_AutoSize
set_BackColor
set_BackGradientStyle
set_BackgroundImage
	setbase URI  change the XML base of the node
?setBDesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
?setBeta@Convolution@cask@@QEAAXM@Z
?setBeta@Convolution@cask@@QEAAXN@Z
?setBeta@ConvolutionDgrad@cask@@QEAAXM@Z
?setBeta@ConvolutionDgrad@cask@@QEAAXN@Z
?setBeta@ConvolutionWgrad@cask@@QEAAXM@Z
?setBeta@ConvolutionWgrad@cask@@QEAAXN@Z
?setBeta@Gemm@cask@@QEAAXM@Z
?setBeta@Gemm@cask@@QEAAXN@Z
?setBeta@Gemm@cask@@QEAAXUdouble2@@@Z
?setBeta@Gemm@cask@@QEAAXUfloat2@@@Z
?setBeta@PoolingOperation@cask@@QEAAXM@Z
?setBeta@SoftmaxOperation@cask@@QEAAXM@Z
?setBiasFlag@Convolution@cask@@QEAAX_N@Z
?setBiasFlag@ConvolutionWgrad@cask@@QEAAX_N@Z
?setBiasFlag@Gemm@cask@@QEAAX_N@Z
?setBiasSimdWidth@Convolution@cask@@QEAAX_J@Z
?setBiasSimdWidth@Gemm@cask@@QEAAX_J@Z
SetBitmapBits
SetBkColor
SetBkMode
?setBlendFactor@PoolingOperation@cask@@QEAAXM@Z
SetBlockName
SetBlockVisibility
SetBootConfigRole
Set Boot Options
set_BorderWidth
SetBrushOrgEx
set_Cancel
set_CanHandleSessionChangeEvent
SetCapture
SetCaretPos
?SetCaseSensitive@ARGUMENT_LEXEMIZER@@QEAAXE@Z
SetCertificates
set_Chars
set_ChartArea
set_ChartType
set_checksum
SetClassLongA
SetClassLongPtrW
SetClassLongW
SetClipboardData
set_Command
SetCommTimeouts
SetCompatibleTextRenderingDefault
set_ComputeEnabled
set_Confidence
?SetConfigAgent@ConfigAgentFactory@@QEAAXPEAUIConfigAgent@@@Z
?SetConsoleConversions@WSTRING@@SAXXZ
SetConsoleCtrlHandler
SetConsoleCursorPosition
SetConsoleMode
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitleA
SetConsoleWindowInfo
set_Content
--setcontrol
?setConvolutionDilationD@Convolution@cask@@QEAAX_J@Z
?setConvolutionDilationD@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionDilationD@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionDilationH@Convolution@cask@@QEAAX_J@Z
?setConvolutionDilationH@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionDilationH@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionDilationW@Convolution@cask@@QEAAX_J@Z
?setConvolutionDilationW@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionDilationW@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionGroups@Convolution@cask@@QEAAX_J@Z
?setConvolutionGroups@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionGroups@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionGroupsPerPacket@Convolution@cask@@QEAAX_J@Z
?setConvolutionGroupsPerPacket@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadBack@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadBack@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadBack@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadBottom@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadBottom@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadBottom@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadD@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadD@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadD@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadFront@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadFront@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadFront@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadH@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadH@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadH@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadLeft@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadLeft@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadLeft@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadRight@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadRight@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadRight@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadTop@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadTop@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadTop@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionPadW@Convolution@cask@@QEAAX_J@Z
?setConvolutionPadW@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionPadW@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionStrideD@Convolution@cask@@QEAAX_J@Z
?setConvolutionStrideD@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionStrideD@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionStrideH@Convolution@cask@@QEAAX_J@Z
?setConvolutionStrideH@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionStrideH@ConvolutionWgrad@cask@@QEAAX_J@Z
?setConvolutionStrideW@Convolution@cask@@QEAAX_J@Z
?setConvolutionStrideW@ConvolutionDgrad@cask@@QEAAX_J@Z
?setConvolutionStrideW@ConvolutionWgrad@cask@@QEAAX_J@Z
Set-Cookie:
set_CreateNoWindow
SetCredentialCacheState
?setCrossCorrelationFlag@Convolution@cask@@QEAAX_N@Z
?setCrossCorrelationFlag@ConvolutionDgrad@cask@@QEAAX_N@Z
?setCrossCorrelationFlag@ConvolutionWgrad@cask@@QEAAX_N@Z
?setCtasPerWave@Convolution@cask@@QEAAX_J@Z
?setCtasPerWave@ConvolutionDgrad@cask@@QEAAX_J@Z
?setCtasPerWave@Gemm@cask@@QEAAX_J@Z
set_Culture
SetCurrentDirectory
SetCurrentDirectoryA
SetCurrentDirectoryW
set_CurrentUICulture
set_Cursor
SetCursor
SetCursorPos
set_DataContext
set_DaysInterval
SetDefaultDllDirectories
SetDefaultPrinterResult
SetDefaultPrinterW
set_Description
SetDesktopColorTransform
set_Device
set_DeviceClassSelector
SetDeviceComputeMode
SetDeviceDriverModel
SetDeviceEccMode
SetDeviceGammaRamp
set_DeviceHandle
set_DeviceIndex
set_DeviceInformation
set_DeviceInformationKinds
setDeviceName
set_DialogResult
SetDIBColorTable
set_DisallowStartIfOnBatteries
SetDisplayConfig
set_DisplayName
SetDlgItemTextA
SetDlgItemTextW
SetDllDirectoryW
set_Dock
set_Docking
set_DoubleBuffered
SetDoubleClickTime
set_DriverModel
SetDriverPackageRestorePoint
?setDWDesc@ConvolutionWgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
?setDXDesc@ConvolutionDgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
?setDYDesc@ConvolutionDgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
?setDYDesc@ConvolutionWgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
?setDynamicResize@Convolution@cask@@QEAAX_N@Z
?setDynamicResize@ConvolutionDgrad@cask@@QEAAX_N@Z
SetEacOptions
set_EccDisabled
set_EccEnabled
set_EccSupported
set_Enabled
set_EnablePrivileges
set_Encoding
SetEndOfFile
SetEnhMetaFileBits
SetEntriesInAclA
SetEntriesInAclW
SetEnvironmentVariable
SetEnvironmentVariableA
SetEnvironmentVariableW
_set_errno
set_ErrorImage
SetErrorMode
SetEvent
set_EventTime
SetException
setF12ShutdownStatus
SetField: no such field named "
SetFileApisToOEM
SetFileAttributesA
SetFileAttributesW
SetFileInformationByHandle
SetFileInformationByHandleW
set_FileLocation
set_FileName
set_FileNameEnding
?SetFileName@FSN_FILTER@@QEAAEPEBVWSTRING@@@Z
SetFilePointer
SetFilePointerEx
SetFileSecurityA
SetFileSecurityW
SetFileShortNameW
set_FileSizeRollOverKb
SetFileTime
SetFileValidData
set_Fill
set_FixedPanel
_set_fmode
SetFocus
set_FolderViewType
set_ForeColor
SetForegroundWindow
__set_formal
set_FrequentDayOfWeekNum
SetGlobalStorageAttributes
set_GlyphBitmapImage
set_GraphicsAndCompute
set_GraphicsOnly
set_GroupId
SetHandleCount
set_Handled
SetHandleInformation
?setHardwareInfo@Convolution@cask@@QEAAXHHH@Z
?setHardwareInfo@ConvolutionDgrad@cask@@QEAAXHHH@Z
?setHardwareInfo@Gemm@cask@@QEAAXHHH@Z
set_HasConfirmed
set_HasNon100Interval
SetHidePopup
SetHighAccuracyTimeSynch
SetHookFlag
set_hwnd
set_Indent
SetInformation
set_InitialDelay
set_InitialImage
?setInputDesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
?setInputDesc@PoolingOperation@cask@@QEAAXAEBUTensorDesc@2@@Z
?setInputDesc@SoftmaxOperation@cask@@QEAAXAEBUTensorDesc@2@@Z
set_installer_url
?SetIntercept@CGamePanelExternalHook@@QEAAX_NPEAUHWND__@@@Z
set_Interval
set_IntervalType
set_IsAgedEnough
?setIsDgrad@Convolution@cask@@QEAAX_N@Z
set is empty
set_IsEnabled
set_IsLabelAutoFit
set_IsLoggingEnabled
set_IsMarginVisible
set_IsPresenceDataSufficient
set_IsSameFontSizeForAllAxes
set_IsStartedFromZero
?setIsWgrad1x1BatchedGEMM@Gemm@cask@@QEAAXH@Z
set_Item
SetKBHookEx
SetKernelObjectSecurity
?SetKeyFocus@Element@DirectUI@@UEAAXXZ
?SetKeyValue@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11@Z
?SetKeyValueMultiline@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11H@Z
set_Kind
set_LabelAutoFitMaxFontSize
set_LabelAutoFitStyle
SetLastError
SetLayeredWindowAttributes
SetLayout
?SetLayout@Element@DirectUI@@QEAAJPEAVLayout@2@@Z
?SetLayoutPos@Element@DirectUI@@QEAAJH@Z
set_Left
SetLeftFlag: No cross
set_Legend
set_LegendText
set_LineColor
SetLinkPreference
SetLinkPreferenceToHostWd
setlocale
set_LocaleNameMaxLength
set_LogDirectory
set_LogIdentifier
set_lParam
set_MainWindowHandle
SetMapMode
set_Margin
set_MaximizeBox
set_Maximum
_SetMDMEnforced
SetMEBxPassword
SetMenuDefaultItem
SetMenuItemBitmaps
SetMenuItemInfoW
set_message
set_MinimizeBox
set_Minimum
_setmode
?setMode@Gemm@cask@@QEAAX_K@Z
SetMouseHookEx
set_Name
SetNamedPipeHandleState
SetNamedSecurityInfoW
?SetName@PATH@@QEAAEPEBVWSTRING@@@Z
set_NeedApply
set_NestedException
_set_new_mode
	setns nsreg  register a namespace to a prefix in the XPath evaluation context
?setOutputDesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
?setOutputDesc@PoolingOperation@cask@@QEAAXAEBUTensorDesc@2@@Z
?setOutputDesc@SoftmaxOperation@cask@@QEAAXAEBUTensorDesc@2@@Z
?setPaddingBottom@PoolingOperation@cask@@QEAAX_J@Z
?setPaddingLeft@PoolingOperation@cask@@QEAAX_J@Z
?setPaddingRight@PoolingOperation@cask@@QEAAX_J@Z
?setPaddingTop@PoolingOperation@cask@@QEAAX_J@Z
set_page_url
set_Palette
set_PaletteCustomColors
SetPaletteEntries
set_Parameter
SET_PARAMETER
SetParent
set_Password
setp.eq!
setp.eq'
setp.eq9
?setPerChannelAlphaDptr@PoolingOperation@cask@@QEAAXPEAM@Z
?setPerChannelAlphaDptr@SoftmaxOperation@cask@@QEAAXPEAM@Z
?setPerChannelBetaDptr@PoolingOperation@cask@@QEAAXPEAM@Z
?setPerChannelBetaDptr@SoftmaxOperation@cask@@QEAAXPEAM@Z
?setPerChannelScaling@Convolution@cask@@QEAAX_N@Z
?setPerChannelScaling@ConvolutionDgrad@cask@@QEAAX_N@Z
?setPerChannelScaling@Gemm@cask@@QEAAX_N@Z
SetPermissionsGroupName
SetPermissionsGroupPermissions
setp.gtA
SetPixel
SetPixelV
set_platform
set_platform_version
set_pluginEntryPath
set_pluginId
set_pluginName
SetPolyFillMode
?setPoolingMode@PoolingOperation@cask@@QEAAXW4poolingMode_t@12@@Z
SetPowerScheme
SetPowerState
set_presenceInfo
SetPrinterW
SetPriorityClass
SetPrivateObjectSecurity
SetProcessDefaultLayout
SetProcessDPIAware
SetProcessDpiAwareness
SetProcessMitigationPolicy
SetProcessShutdownParameters
setProcessWatcherWWW
SetPropW
set_ProtectionLevel
?SetProxyObject@BuiVolume@@QEAAXPEAUIDispatch@@@Z
set_pt_x
set_pt_y
SetQuota
Set realm Authentication mode
SetRectEmpty
SetRectRgn
?setReLuFlag@Convolution@cask@@QEAAXH@Z
?setReLuFlag@ConvolutionWgrad@cask@@QEAAXH@Z
?setReLuFlag@Gemm@cask@@QEAAXH@Z
?setReLuThreshold@Convolution@cask@@QEAAXM@Z
?setReLuThreshold@Gemm@cask@@QEAAXM@Z
?setReLuUpperBound@Convolution@cask@@QEAAXM@Z
?setReLuUpperBound@Gemm@cask@@QEAAXM@Z
set_ReportGenerated
set_RequestingComponent
set_RequestType
set_ReshowDelay
set_Resources
set_RestartCount
set_RestartInterval
SetRestrictedErrorInfo
SetResult
setrootns
	setrootns    register all namespace found on the root element
set_RunLevel
set_SavedColorSpaceIndex
?setScalingMode@PoolingOperation@cask@@QEAAX_N@Z
?setScalingMode@SoftmaxOperation@cask@@QEAAX_N@Z
SetScrollInfo
SetScrollPos
SetScrollRange
set_SearchResultsViewType
SetSecurityDescriptorControl
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityInfo
set_SelectedIndex
set_Selector
set_ServiceName
SetServiceState
SetServiceStatus
SetSessionState
set_ShowIcon
set_ShowInTaskbar
SetSigningKeyMaterial
set_SizeGripStyle
SetSmartActiveHours
set__socketPort
set_Source
?setSparsityRatio@TensorDesc@cask@@QEAAXW4sparseRatio_t@SparsityHint@12@@Z
SetSpeed
?setSplitH@ConvolutionWgrad@cask@@QEAAXH@Z
?setSplitKBuffers@Convolution@cask@@QEAAXH@Z
?setSplitKBuffers@ConvolutionDgrad@cask@@QEAAXH@Z
?setSplitKBuffers@ConvolutionWgrad@cask@@QEAAXH@Z
?setSplitKBuffers@Gemm@cask@@QEAAXH@Z
?setSplitK@Convolution@cask@@QEAAXH@Z
?setSplitK@ConvolutionDgrad@cask@@QEAAXH@Z
?setSplitK@ConvolutionWgrad@cask@@QEAAXH@Z
?setSplitK@Gemm@cask@@QEAAXH@Z
?setSplitKR@Convolution@cask@@QEAAX_N@Z
?setSplitKR@ConvolutionDgrad@cask@@QEAAX_N@Z
?setSplitKR@ConvolutionWgrad@cask@@QEAAX_N@Z
?setSplitKT@Convolution@cask@@QEAAX_N@Z
?setSplitKT@ConvolutionDgrad@cask@@QEAAX_N@Z
?setSplitKT@ConvolutionWgrad@cask@@QEAAX_N@Z
SetSpriteLanguageWWWd
SetSpriteZoomWWWd
SetStandardKernelButtonTapData
set_Start
set_StartBoundary
set_StartType
set_StartupUri
set_StartWhenAvailable
SetStateMachine
SetStdHandle
set_Stroke
set_StrokeThickness
SetSuspendEnablePort
SetSuspendState
SetSystemDefensePolicy
set_TabStop
set_Target
SetTcpEntry
--set-test-cmd-3
set_Text
SetTextAlign
SetTextColor
SetThreadAffinityMask
SetThreadDescription
SetThreadDesktop
SetThreadErrorMode
SetThreadExecutionState
SetThreadGroupAffinity
SetThreadInformation
SetThreadpoolTimer
SetThreadpoolWait
SetThreadPreferredUILanguages
SetThreadPriority
SetThreadPriorityBoost
SetThreadStackGuarantee
SetThreadToken
SetThreadUILanguage
set_time
set_TimeOfEvent
set_Timeout
SetTimeout
SetTimer
--set-timeslice
Set timeslice config for a GPU:
set_Timezone
Setting catalog preference to PUBLIC
Setting catalog preference to SYSTEM
Setting counter control is deprecated!
SettingData
Setting external hook
Setting fake cursor position to just outside window
Setting fake cursor position to match real cursor position
Setting Global Reset Failed.
Setting hooks - BEGIN
Setting hooks - END
Setting keyboard hook
Setting keyboard hook FAILED
Setting mouse hook
Setting mouse hook FAILED
Setting parameter data...
Setting poller for gamepad
Setting real cursor position to match fake cursor
Settings
SettingsBase
settingsButton
settingsData
settings to give host access to this region.
                                    Setting this will supercede application clocks
settingWindow
SettingWindow
?SetToggleValue@TouchSwitch@DirectUI@@QEAAXH@Z
SetTokenInformation
set_Topmost
set_TotalFrequentTime
set_TotalMemory
set_TotalTime
SetTouchFlag
set_type
SetUmsThreadInformation
SetUnhandledExceptionFilter
SETUPAPI
setupapi.dll
Setupapi.dll
SETUPAPI.dll
SETUPAPI.DLL
Setup ARP not found
SetupCloseInfFile
SetupCopyOEMInfW
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiChangeState
SetupDiClassGuidsFromNameExW
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoW
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfoW
SetupDiGetActualModelsSectionW
SetupDiGetActualSectionToInstallExW
SetupDiGetClassDevs
SetupDiGetClassDevsA
SetupDiGetClassDevsExW
SetupDiGetClassDevsW
SetupDiGetClassInstallParamsW
SetupDiGetDeviceInfoListDetailW
SetupDiGetDeviceInstallParamsW
SetupDiGetDeviceInstanceIdW
SetupDiGetDeviceInterfaceDetailW
SetupDiGetDevicePropertyKeys
SetupDiGetDevicePropertyW
SetupDiGetDeviceRegistryProperty
SetupDiGetDeviceRegistryPropertyA
SetupDiGetDeviceRegistryPropertyW
SetupDiGetDriverInfoDetailW
SetupDiGetDriverInstallParamsW
SetupDiGetINFClass
SetupDiGetINFClassW
SetupDiOpenDeviceInfoW
SetupDiOpenDeviceInterfaceW
SetupDiOpenDevRegKey
SetupDiSetClassInstallParamsW
SetupDiSetDeviceInstallParamsW
SetupDiSetDeviceRegistryProperty
SetupDiSetDeviceRegistryPropertyW
SetupDiSetSelectedDevice
SetupDiSetSelectedDriverW
Setup does not exist in driver store
Setup failed with
SetupFindFirstLineW
SetupFindNextMatchLineW
SetupGetFieldCount
SetupGetInfDriverStoreLocationW
SetupGetInfFileListW
SetupGetStringFieldW
Setup Guide: Enable Indirect Ink for this display?
Setup invocation failed due to exception
Setup invocation failed due to unknown exception
Setup is compatible
SetupIterateCabinetW
Setup launched successfully
SetupMode
Setup not found
setup not found at
SetupOpenAppendInfFileW
SetupOpenInfFileW
   Setup pen's function
setup_random_matrix_generic with unimpl type 
setup_random_matrix_sparse with unimpl type 
Setup returned unknown success
SetupSetupGetInfPublishedNameW
SetupUninstallOEMInfW
set_UserAgent
__setusermatherr
set_Username
set_UseShellExecute
set_UseVisualStyleBackColor
set_UtcOffset
set_Uuid
set_Value
SetValue
set_version
Set video boost slider from 0 to max value
SetViewportExtEx
SetViewportOrgEx
set_Visibility
set_Visible
?SetVisible@Element@DirectUI@@QEAAJ_N@Z
SetWaitableTimer
set_Wddm
?setWDesc@Convolution@cask@@QEAAXAEBUTensorDesc@2@@Z
?setWDesc@ConvolutionDgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
set_WeeklyEndOffsetInUs
set_WeeklyStartOffsetInUs
?setWeightDesc@Gemm@cask@@QEAAXAEBUTensorDesc@2@@Z
set_Width
SetWindowCompositionAttribute
SetWindowContextHelpId
SetWindowExtEx
set_WindowLocation
SetWindowLongA
SetWindowLongPtrW
SetWindowLongW
SetWindowOrgEx
SetWindowPlacement
SetWindowPos
SetWindowRgn
SetWindowsHookExW
set_WindowState
set_WindowStyle
SetWindowSubclass
SetWindowTextA
SetWindowTextW
SetWinEventHook
?setWithoutReduction@Gemm@cask@@QEAAXH@Z
set_wParam
?setXDesc@Convolution@cask@@QEAAXAEBUTensorDesc@2@@Z
?setXDesc@ConvolutionWgrad@cask@@QEAAXAEBUTensorDesc@2@@Z
	set xml_fragment replace the current node content with the fragment parsed in context
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@0@Z
?setYDesc@Convolution@cask@@QEAAXAEBUTensorDesc@2@@Z
seveneighths
seveninferior
sevenoldstyle
sevensuperior
severity
SF010000
SF020000
SF030000
SF040000
SF050000
SF060000
SF070000
SF080000
SF090000
SF100000
SF110000
SF190000
SF200000
SF210000
SF220000
SF230000
SF240000
SF250000
SF260000
SF270000
SF280000
s"f2ns8f238 
SF360000
SF370000
SF380000
SF390000
SF400000
SF410000
SF420000
SF430000
SF440000
SF450000
SF460000
SF470000
SF480000
SF490000
SF500000
SF510000
SF520000
SF530000
SF540000
sfixed32
sfixed64
Sg6G'rvcfcf76pp
sG8Yfee !0
SGMLDECL
SGMLDECL 
sgMVVVE?
?SGUGx)z)
__s_GUID
sGvWcRwCp
S@H9P@v	H
sha1WithRSAEncryption
sha224WithRSAEncryption
sha256WithRSAEncryption
sha384WithRSAEncryption
sha512WithRSAEncryption
SHAddToRecentDocs
shaderBufferFloat16AtomicAdd
shaderBufferFloat16AtomicMinMax
shaderBufferFloat16Atomics
shaderBufferFloat32AtomicAdd
shaderBufferFloat32AtomicMinMax
shaderBufferFloat32Atomics
shaderBufferFloat64AtomicAdd
shaderBufferFloat64AtomicMinMax
shaderBufferFloat64Atomics
shaderBufferInt64Atomics
shaderClipDistance
shaderCullDistance
shaderDemoteToHelperInvocation
shaderDenormFlushToZeroFloat16
shaderDenormFlushToZeroFloat32
shaderDenormFlushToZeroFloat64
shaderDenormPreserveFloat16
shaderDenormPreserveFloat32
shaderDenormPreserveFloat64
shaderDeviceClock
shaderDrawParameters
shaderFloat16
shaderFloat64
SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
shaderGroupBaseAlignment
shaderGroupHandleAlignment
shaderGroupHandleCaptureReplaySize
shaderGroupHandleSize
shaderImageFloat32AtomicAdd
shaderImageFloat32AtomicMinMax
shaderImageFloat32Atomics
shaderImageGatherExtended
shaderImageInt64Atomics
shaderInputAttachmentArrayDynamicIndexing
shaderInputAttachmentArrayNonUniformIndexing
shaderInputAttachmentArrayNonUniformIndexingNative
shaderInt16
shaderInt64
shaderInt8
shaderIntegerDotProduct
Shader lacks sufficient constant memory space
shaderOutputLayer
shaderOutputViewportIndex
shaderResourceMinLod
shaderResourceResidency
shaderRoundingModeRTEFloat16
shaderRoundingModeRTEFloat32
shaderRoundingModeRTEFloat64
shaderRoundingModeRTZFloat16
shaderRoundingModeRTZFloat32
shaderRoundingModeRTZFloat64
shaderSampledImageArrayDynamicIndexing
shaderSampledImageArrayNonUniformIndexing
shaderSampledImageArrayNonUniformIndexingNative
shaderSampleRateInterpolationFunctions
shaderSharedFloat16AtomicAdd
shaderSharedFloat16AtomicMinMax
shaderSharedFloat16Atomics
shaderSharedFloat32AtomicAdd
shaderSharedFloat32AtomicMinMax
shaderSharedFloat32Atomics
shaderSharedFloat64AtomicAdd
shaderSharedFloat64AtomicMinMax
shaderSharedFloat64Atomics
shaderSharedInt64Atomics
shaderSignedZeroInfNanPreserveFloat16
shaderSignedZeroInfNanPreserveFloat32
shaderSignedZeroInfNanPreserveFloat64
SHADER_STAGE_ALL
SHADER_STAGE_ALL_GRAPHICS
SHADER_STAGE_ANY_HIT_BIT_KHR
SHADER_STAGE_CALLABLE_BIT_KHR
SHADER_STAGE_CLOSEST_HIT_BIT_KHR
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_INTERSECTION_BIT_KHR
SHADER_STAGE_MESH_BIT_NV
SHADER_STAGE_MISS_BIT_KHR
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
SHADER_STAGE_TASK_BIT_NV
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_VERTEX_BIT
shaderStorageBufferArrayDynamicIndexing
shaderStorageBufferArrayNonUniformIndexing
shaderStorageBufferArrayNonUniformIndexingNative
shaderStorageImageArrayDynamicIndexing
shaderStorageImageArrayNonUniformIndexing
shaderStorageImageArrayNonUniformIndexingNative
shaderStorageImageExtendedFormats
shaderStorageImageMultisample
shaderStorageImageReadWithoutFormat
shaderStorageImageWriteWithoutFormat
shaderStorageTexelBufferArrayDynamicIndexing
shaderStorageTexelBufferArrayNonUniformIndexing
shaderSubgroupClock
shaderSubgroupExtendedTypes
shaderSubgroupUniformControlFlow
shaderTerminateInvocation
shaderTessellationAndGeometryPointSize
shaderUniformBufferArrayDynamicIndexing
shaderUniformBufferArrayNonUniformIndexing
shaderUniformBufferArrayNonUniformIndexingNative
shaderUniformTexelBufferArrayDynamicIndexing
shaderUniformTexelBufferArrayNonUniformIndexing
shaderZeroInitializeWorkgroupMemory
SHAppBarMessage
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsEE10denseBlock[2048];
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsEE10denseBlock[2048];
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsEE10denseBlock[4096];
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsEE10denseBlock[4096];
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsEE10denseBlock[4096];
.shared .align 4 .b8 _ZZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsEE10denseBlock[4096];
SharedDynamicIP
SharedFQDN
SharedMAC
SharedMessagePortRefPtr::Initialize
shared object initialization failed
shared object symbol not found
sharedPresentSupportedUsageFlags
SharedPrivilegeSupported
SharedStaticIp
shared.u32
shared.v4
SharingMode
SHAutoComplete
SHBindToParent
SHBrowseForFolderA
SHBrowseForFolderW
SHChangeNotify
SHCopyKeyW
SHCORE.dll
SHCreateDirectoryExW
SHCreateItemFromIDList
SHCreateItemFromParsingName
SHCreateItemInKnownFolder
SHCreateShellItemArrayFromIDLists
SHCreateStreamOnFileEx
SHCreateStreamOnFileW
SHELL32.dll
SHELL32.DLL
ShellAboutW
ShellExecuteA
ShellExecuteExA
ShellExecuteExW
ShellExecuteW
Shell_NotifyIconA
Shell_NotifyIconGetRect
Shell_NotifyIconW
SHELL_UTILS
SHFileOperationA
SHFileOperationW
SHFOLDER
SHGetDesktopFolder
SHGetFileInfoA
SHGetFileInfoW
SHGetFolderPathA
SHGetFolderPathAndSubDirW
SHGetFolderPathEx
SHGetFolderPathW
SHGetIDListFromObject
SHGetKnownFolderIDList
SHGetKnownFolderItem
SHGetKnownFolderPath
SHGetKnownFolderPath failed to get FOLDERID_Windows.
SHGetPathFromIDListA
SHGetPathFromIDListEx
SHGetPathFromIDListW
SHGetPropertyStoreForWindow
SHGetSpecialFolderLocation
SHGetSpecialFolderPathW
SHH;SPt	
Shift-JIS
Shift_JIS
SHIFT-JIS
SHIFT_JIS
ShimExceptionHandler
SHLWAPI.dll
shmem_reloc_ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
shmem_reloc_ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
shmem_reloc_ampere_dgemm_128x64_nt_v0
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
shmem_reloc_ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
shmem_reloc_ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
shmem_reloc_ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
shmem_reloc_ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
shmem_reloc_ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
shmem_reloc_ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
shmem_reloc_ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
shmem_reloc_ampere_hgemm_256x128_nt_v0
shmem_reloc_ampere_igemm_int8_128x128_ldg4_nt_v0
shmem_reloc_ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
shmem_reloc_ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
shmem_reloc_ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
shmem_reloc_ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
shmem_reloc_ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
shmem_reloc_ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
shmem_reloc_ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
shmem_reloc_ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
shmem_reloc_ampere_sgemm_128x128_nt_v0
shmem_reloc_maxwell_dgemm_128x64_nt_v0
shmem_reloc_maxwell_hgemm_256x128_nt_v0
shmem_reloc_maxwell_igemm_int8_128x128_ldg4_nt_v0
shmem_reloc_maxwell_sgemm_128x128_nt_v0
shmem_reloc_turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
shmem_reloc_turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
shmem_reloc_turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
shmem_reloc_turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
shmem_reloc_turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
shmem_reloc_turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
shmem_reloc_turing_h1688gemm_128x128_ldg8_nt_v1
shmem_reloc_turing_h1688gemm_256x128_ldg8_nt_v1
shmem_reloc_volta_dgemm_128x64_nt_v0
shmem_reloc_volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
shmem_reloc_volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
shmem_reloc_volta_h884gemm_128x128_ldg8_nt_v1
shmem_reloc_volta_h884gemm_256x128_ldg8_nt_v1
shmem_reloc_volta_hgemm_256x128_nt_v0
shmem_reloc_volta_igemm_int8_128x128_ldg4_nt_v0
shmem_reloc_volta_sgemm_128x128_nt_v0
ShockproofCallSMAPIBIOS
ShockproofControl
ShockproofEnableDisableSnooze
ShockproofGetAccelerometerData
ShockproofGetAutoDisable
ShockproofGetPenAbility
ShockproofGetPenDelayTime
ShockproofGetPenFeature
ShockproofGetShockStatus
ShockproofGetVersion
ShockproofInformPMevent
ShockproofInvokeSnooze
ShockproofManualSensitivitySetting
ShockproofSetAutoDisable
ShockproofSetPenDelayTime
ShockproofSetPenFeature
ShockproofSnoozeSetting
ShockproofTaskComplete
short inline quotation 
should have set visibleIndex and csDifference
ShowAccess
ShowActivated
ShowAdvancedSettingsDialog
ShowCaret
ShowCursor
ShowDialog
  SHOW DTD OPTIONS:
ShowExtensions
--show-formats
--show-formats      Display the format properties of each physical device.
ShowHelp
Showing fake cursor
Showing real cursor
Showing RecordThatCompleted toast
ShowOwnedPopups
ShowScrollBar
ShowToastByImcPluginAsync
ShowToastByVantageAddin
ShowWindow
?ShowWindow@NativeHWNDHost@DirectUI@@QEAAXH@Z
SHParseDisplayName
SHQueryUserNotificationState
shrinking locset
shrinking nodeset
SHSetLocalizedName
SHStrDupA
SHStrDupW
.shstrtab
Shutdown
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
ShutdownCURL
shutDownEvent.valid()
ShutdownGdiplus
ShutdownInProcLogger
ShutdownInProcTraceSession
ShutDownProcess
shutDownRegistration.get()
side bearing commands can only be used once as the first command in a character outline definition
sidebearing or width override out of bounds
SID_STopLevelBrowser
SigdumpType
SIG_INVALID_SIZE
Signaling end of chunked upload after trailers.
Signaling end of chunked upload via terminating chunk.
SignalObjectAndWait
SignalType
Signature
Signature Algorithm
    Signature: invalid! No more information can be displayed.
SignatureOrFileCorrupt
signature specifies invalid interpolation mode for integer component type
SigningAlgorithm
SigningKey
SigningMechanism
SigningMechanismType
SIG_UNKNOWN_DIGEST_ALGO
SIG_UNKNOWN_FORMAT
SIG_VERIFICATION_FAILURE
SILENT_RUNNING_CONSTANT_LEVEL_SET_BY_REGISTRY
SILENT_RUNNING_LEVEL_TRANS_DUE_TO_TEMP_RISE
SILENT_RUNNING_LEVEL_TRANSITION_DUE_TO_RC_ERROR
SILENT_RUNNING_PWR_REDUCED_CLOCKING
SILENT_RUNNING_STRESS_TEST_FAILURE
SILENT_RUNNING_TEMPERATURE_READ_ERROR
SILENT_RUNNING_TEMP_REDUCED_CLOCKING
)simg_[17
[simple] 
SimpleCheck
simpleContent
SimpleInterval
simple type
simpleType
simple type definition
simple type 'xs:
_simt_dgemm_128x128_8x2_nt_y
_simt_dgemm_128x128_8x3_nt_y
_simt_dgemm_128x64_8x2_nt_x
_simt_dgemm_128x64_8x4_nt_x
_simt_hgemm_128x128_8x2_nt_y
!_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE__
_simt_hgemm_256x128_8x2_nt_y
_simt_igemm_s8_128x64_32x2_nt_|
_simt_sgemm_128x128_8x2_nt_y
_simt_sgemm_128x128_8x4_nt_y
_simt_sgemm_128x128_8x5_nt_y
_simt_sgemm_128x64_8x2_nt_x
_simt_sgemm_128x64_8x5_nt_x
Simulate a HTTP 304 response!
SING error
            Single Bit            
Single Bit ECC
 - Single Bit ECC - The number of GPU device memory pages that have been retired due to multiple single bit ECC errors.
SingleClickEvent
SingleInstanceHelper
SingleIorp
SingleIors
SingleIoru
#SingleLineOutTopo
single line prompt 
single quote
SingletonDomainUnload
SIPClientData
SITE NAMEFMT 1
SITIv8v8
sixinferior
sixoldstyle
sixsuperior
SIZE_ERROR
SizeGripStyle
?sizeInBytes@TensorDesc@cask@@QEBA_JXZ
?sizeInElements@TensorDesc@cask@@QEBA_JXZ
SizeOfHeader
SizeOfRecordHeader
SizeofResource
SizeSearchFilterCount
SizeXWWW
SizeYWWW
s?Jc.mM6O
sJeDoANo
sjMlMK:L:
s:;Jsi;;;
sJtJ;4:4
Skipping time comparison
SkipVerification
Sku capabilities bits are different between the Update Image and the Flash Image.
SL?B@rxm
SleepButtonLock
SleepConditionVariableCS
SleepConditionVariableSRW
Sleep operation was requested by remote administrator
SLFireEvent
SLGetWindowsInformationDWORD
sliced1x22
?SliderUpdated@TouchSlider@DirectUI@@SA?AVUID@@XZ
SLI is supported
SlotLayout
SlowConnectionRateClearTime
SlowConnectionRateThreshold
slp.f32	
slp.f32	?
slp.f32	I
SLSLY;[;N)M)
sm06u@6o
SmallDurationLargerThan35MinTruncation
SmallDurationNotSoSmallTruncation
Smallest
SmallFormVariants
small text style
SmartBatteryVersion
SmartData
SmartDataStrConversionSawTruncatedChars
SmartMaxLookupProcessName
SmartMotionSlowDown
Smart Standby Autonomic Manager
SmartStandbyInst
SmartStandbyInstallerService
Smart Standby Install Helper
SmartStandbyInst.exe
SMBPBI_TEST_MESSAGE
SMBPBI_TEST_MESSAGE_SILENT
SMBUS connectivity failure. Unable to connect to vPro NIC through designated bus.
SMBus encountered time-out.
SMBus hardware is not ready.
sm_clock
    SM Clock Samples
s memory size and bandwidth.
smem_ptr; add
SM_GetAirplaneModeStatus
SM_GetCDRomStatus
SM_GetCPUPowerSavingOption
SM_GetCurrentRatioOfCpuFrequency
SM_GetCurrentRatioOfGpuFrequency
SM_GetDockingOption
SM_GetFANControlStatus
SM_GetIntelCpuArchitecture
SM_GetKeyboardLightControl
SM_GetLCDBrightnessStatus
SM_GetLFMAndHFMRatioOfCpuFrequency
SM_GetMaxTurboRatioOfCpuFrequency
SM_GetPCIBusPowerSavingOption
SM_GetRP0AndRP1OfGpuFrequency
SM_GetSoundStatus
SM_GetUSBPortPowerSetting
smileface
SM_IsUEFI
Smoothing not supported with nonstandard sampling ratios
smoothLines
smoothstep
smoothstep(
[S.MqzYfA
SM_SetAirplaneModeStatus
SM_SetCPUPerfControlStatus
SM_SetFANControlStatus
SM_SetLCDBrightnessStatus
|SMzOzrcrW
Snapshot
	?s]|njt
snmpEventSubscriberExistsWWW
_snwprintf_s
_snwscanf_s
SOC Config Lock is not set.
--- Socket closed while waiting for next message
--- Socket closed while waiting for welcome message
socket failed
Socket has been shut down
Socket is already connected
Socket is not connected
Socket is unsupported
--- Socket was closed
SOCKS5: connection timeout
SOCKS5: error occurred during connection
SOCKS5 GSSAPI per-message authentication is not supported.
SOCKS5 GSS-API protection not yet implemented.
SOCKS5: no connection here
SOCKS5 nothing to read
SOCKS5 read error occurred
SOCKS5 read timeout
SOCKS5 request granted.
SOFTCREEKWWW
soft union
software
Software
SoftwareElementID
SoftwareElementState
Software IO connector not found!
Software IO connector QueryInterfacet failed! Result: 0x
Software sequencing failed. Make sure that you have access to target flash area.
SoL Disabled
SoL Enabled
SolidBrush
SolidColorBrush
SoL Session Closed
SoL Session Opened
Some manifest extension is missing in FTPR.
Some manifest extension is missing in GBST. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in IDLM.
Some manifest extension is missing in IOMP. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in ISHC. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in ISIC. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in ISIF. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in IUNIT. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in LOCL.
Some manifest extension is missing in NFTP.
Some manifest extension is missing in NPHY. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in OEM KM. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in PCHC. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in PMC. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in PPHY. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in RBE.
Some manifest extension is missing in SAMF. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in SPHY. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in TBTP. Wrong MEU Tool was used to create the partition.
Some manifest extension is missing in WCOD.
Something is stale
  source   - Compressed file (a cabinet with only one file).
SOURCE_DEFAULT
SOURCE_DISPPLL
SourceExists
SOURCE_GPCPLL
SOURCE_HBMPLL
SOURCE_HOSTCLK
SOURCE_LTCPLL
SOURCE_MPLL
SOURCE_NVDPLL
SOURCE_PEXREFCLK
SOURCE_REFMPLL
SOURCE_SPPLL0
SOURCE_SPPLL1
SOURCE_SYSPLL
SOURCE_VPLL0
SOURCE_VPLL1
SOURCE_VPLL2
SOURCE_VPLL3
SOURCE_XBARPLL
SOURCE_XCLK
SOURCE_XCLK500
SOURCE_XCLKGEN3
SOURCE_XTAL
SOURCE_XTAL4X
SOURCE_XX3CLKDIV2
s	o	y	x	
Space needed here
Space required after 'ELEMENT'
Space required after '#FIXED'
Space required after 'NDATA'
Space required after 'NOTATION'
Space required after 'PUBLIC'
Space required after 'SYSTEM'
Space required after the attribute default value
Space required after the attribute name
Space required after the attribute type
Space required after the element name
Space required after the entity name
Space required after the NOTATION name'
Space required after the Public Identifier
Space required before 'NDATA'
SpacingModifierLetters
sParamsE(
sparam.u
sparseAddressSpaceSize
(sparse and transient only)
sparseBinding
sparseImageFloat32AtomicAdd
sparseImageFloat32AtomicMinMax
sparseImageFloat32Atomics
sparseImageInt64Atomics
(sparse only)
sparseProperties
sparseResidency16Samples
sparseResidency2Samples
sparseResidency4Samples
sparseResidency8Samples
sparseResidencyAliased
sparseResidencyBuffer
sparseResidencyImage2D
sparseResidencyImage3D
sparse_utils.cu
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SPDRP_DEVICEDESC
SPDRP_FRIENDLYNAME
SPDRP_HARDWAREID
SPDRP_LOCATION_INFORMATION
(SPEC_CONSTANT_
SpecialFolder
SpecialRequirements
Specials
Specified partition was not found in the Update Image.
Specified PLL is not supported
Specified register does not exist.
Specified target ID does not exist.
            Specifying requestedExecutionLevel element will disable file and registry virtualization.
            Specifying requestedExecutionLevel node will disable file and registry virtualization.
                    specifying the gpu-number associated with the gpu of 
SpecifyKind
specVersion
SpeedConfigurable
                                    speed in MHz while running applications on a GPU.
s_perror
s_pfnTravelBandOldProc
sphericalEquirect failed with (
SphericalEquirect [options] captures.txt result[.jpg|.exr]
SphericalEquirect produces equirectangular image out of tiles
SphericalEquirect version: 
SPHY partition hash and calculated hash are not the same. If partition hash is zero - wrong MEU Tool was used to create the partition.
SplicePixel: Odd number of Crosses on scanline
SplitContainer
splitContainer1
splitContainer1.Panel1
splitContainer1.Panel2
splitContainer2
splitContainer2.Panel1
splitContainer2.Panel2
splitContainer3
splitContainer3.Panel1
splitContainer3.Panel2
_splitpath_s
SplitterPanel
SPNEGO handshake failure (empty challenge message)
spotsize too great for 16-bit-multiply hack
sprintf_s
Sprite configuration change requested
Sprite is in use by another application
SPTP?9@9
SPYrX[a0
#sqa2wZ[
sqFO1z!u]
SqmVariables
s]QNNNNR_u
SQQ1977w
Sqqppppppp
S!R!0P0P
sram_correctable
SRAM Correctable
sram_uncorrectable
SRAM Uncorrectable
SRCALPHA
SrcBlend
SrcBlendAlpha
SRCCOLOR
Srdsnwcq
_s : register(s
SRGBReadEnable
SRGBTexture
SRGBWriteEnable
s.rn.f16
SR[:ozYCq
-S(R#Q Q
_s__RTTIBaseClassDescriptor
_s__RTTIClassHierarchyDescriptor
_s__RTTICompleteObjectLocator2
srvcli.dll
s s0s1s.s
S S0S1S.S
s@s0s8s6s
S@S0S8S6S
S|s6x#Wv
s*s8sGsVsdsss
Ss	AINGK
s@sAs8s:s
S@SAS8S:S
SsAutoWakeEventStr
SSC mode change is not supported.
SSCTEXTFLAGS
SScV7RSCV5apwCWacV
SsEventReporter
SSID_MISMATCH
s s J"J"
S[SjV2QS
SSL connect error
SSL crypto engine not found
SSL: failed retrieving public key from server certificate
SSL peer certificate or SSH remote key was not OK
SSL public key does not match pinned public key
SSL: public key does not match pinned public key!
SSL server certificate status verification FAILED
SspiCli.dll
SsProgramFiles
s@sPsQsNs
S@SPSQSNS
s@sPsXsVs
S@SPSXSVS
SSQSSSSh
SSSLOM!H"
SSSPVSSj
SSSSPSSj
S	S	S	S	S	S
SSSSSSSS
sssXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXppp
ssuperior
sSxYl@@H
(!" "S*T*
st1;'@	p
S!T!7G6G
:S:T:AC@C
stack consistency error in otherGLBCLRx
stack overflow - escDUP
stack overflow in cmdBLEND
stack overflow in cmdEXTENDEDNMBR
stack overflow in escPOP
stack overflow in unknown othersubr
stack overflow - otherRANDOM
stack underflow in cmdBLEND
stack underflow in cmdCALLGSUBR
stack underflow in cmdCALLSUBR
stack underflow in cmdVSINDEX
stack underflow in escDIV
stack underflow in escPOP
stack underflow in unknown othersubr
Stack usage error
StackWalk64
standalone accepts only 'yes' or 'no'
standard
Standard
STANDARD
StandardCDevProc
StandardEncoding
[standard] or [max_alloc]
standardSampleLocations
Start1667PasswordITMS
StartAppWatcher
StartData
Start Date
StartDocW
StartEdpEvaluatorTraceEnd
StartEdpEvaluatorTraceStart
StartFirmwareUpdate
start has no children
StartIndex
Starting
StartingAddress
             starting in first cabinet mentioned.
    (starting with GPU index 0) are used for monitoring purpose.
StartInProcTraceSession
Start is exiting in Error
StartListening
StartMessagePump
[StartMetering] Start metering
StartMode
StartMonitor
start more than one children
Start of Image
Start of literal
StartOptIn
StartPage
Start-pending
start-point
StartProcessAsCurrentUser
StartService
StartServiceA
StartServiceCtrlDispatcherW
StartService failed
StartServiceW
StartStatisticTime
starts-with
StartsWith
 starts with a - but has incorrect syntax
StartTag: invalid element name
StartTime
STARTTLS
STARTTLS denied
STARTTLS not supported.
StartTppwrSys
StartTraceW
StartupEventArgs
startup failure in cuda runtime
STARTUPINFO
StartupInterval
StarWebAPITimer
 state: 
StateData
State error is indicated
stateMachine
state not recoverable
StateSpace
STAThreadAttribute
static_cast
static const 
static const __sampler2D 
StatisticTime
--status
Status: 
STATUS_CERTIFICATE_DISALLOWED
STATUS_CERTIFICATE_VALIDATION_FAILED
statusCode
StatusDescriptions
statusIdd
StatusInfo
STATUS_NOT_PRESENT
STATUS_OK
statusValue
__stdcall
__std_exception_copy
__std_exception_destroy
__stdio_common_vfprintf
__stdio_common_vfprintf_s
__stdio_common_vfwprintf
__stdio_common_vfwprintf_s
__stdio_common_vsprintf
__stdio_common_vsprintf_s
__stdio_common_vswprintf
__stdio_common_vswprintf_s
std::nullptr_t
std::nullptr_t 
stdole2.tlbWWW
__std_terminate
__std_type_info_compare
__std_type_info_destroy_list
SteelSeries ApS0
SteelSeries ApS1
steelseriesCert
 SteelSeriesGGInstallerDownloader
SteelSeriesGGInstallerDownloader
SteelSeriesGGInstallerDownloader.exe
SteelSeriesGGInstallerDownloader.Verification
StemSnapH
StemSnapV
StencilDepthFail
StencilDepthFailOp
StencilEnable
StencilFail
StencilFailOp
StencilFunc
StencilMask
StencilPass
StencilPassOp
StencilReadMask
StencilRef
StencilWriteMask
StencilZFail
Step is NULL
Stepping
sterling
StgDeserializePropVariant
st.global.release.gpu
StgOpenStorageEx
stickykeys
stippledBresenhamLines
stippledRectangularLines
stippledSmoothLines
STLS not supported.
stoi argument out of range
StopBluetoothScan
_stopEvent
StopInProcTraceSession
[StopMetering] Stopped metering
Stop-pending
Stopping
StopService
StopThreadProc
storage1D
storage2D
storage3D
StorageAdapterProperty
Storage Administration
StorageAdminRealm
StorageBaseE
StorageBaseE[];
storageBuffer16BitAccess
storageBuffer8BitAccess
StorageCollector.dll
StorageDeviceCopyOffloadProperty
StorageDeviceSeekPenaltyProperty
StorageDeviceTrimProperty
Storage EACL Modified
Storage FPACL Modified
storageImageSampleCounts
storageInputOutput16
StoragePolicy
storagePushConstant16
storagePushConstant8
StorageRealm
storageTexelBufferOffsetAlignmentBytes
storageTexelBufferOffsetSingleTexelAlignment
Storage Write Operation
storage writes are only valid in compute shaders
storeProvider
STOREWV beyond buildCharArray
storing states
stoul argument out of range
s_TravelWndProc
strcat_s
?Strcat@WSTRING@@QEAAEPEBG@Z
StrChrIW
?Strcmpis@MBSTR@@SAHPEAD0@Z
?Strcmpis@WSTRING@@SAHPEAG0@Z
StrCmpNIW
?Strcmps@MBSTR@@SAHPEAD0@Z
?Strcmps@WSTRING@@SAHPEAG0@Z
?Strcmp@WSTRING@@SAHPEAG0@Z
strcpy_s
stream end
stream error
StreamingContext
Streaming Expression
STREAM_LAYOUT_ENTRY
STREAM_PREVIEW
StreamReader
Stream switch timeout - aborting...
stream timeout
StreamWriter
streetAddress
StretchBlt
StrFormatByteSizeW
StrFormatKBSizeW
_stricmp
?Stricmp@MBSTR@@SAHPEAD0@Z
?Stricmp@WSTRING@@QEBAJPEBV1@@Z
?Stricmp@WSTRING@@SAHPEAG0@Z
strictLines
(strict | skip | lax)
) stride:(
strideA...................
strideAm..................
strideB...................
strideC...................
Stride is not supported
strike-through text
strike-through text style
(string)
StringAlignment
StringBuilder
StringCchCopyW
StringCchPrintfW failed to concat to full database dir.
StringComparer
StringComparison
StringContent
StringFromCLSID
StringFromGUID2
StringFromIID
String is not a valid DateTime
string is not in UTF-8
string-length
string literal
String not closed expecting " or '
String not started expecting ' or "
stringParamValue
string pointer is null
string-range
StringResources
#Strings
StringSplitOptions
StringToCoTaskMemAuto
StringToHGlobalAnsi
StringToHGlobalAuto
StringToHGlobalUni
string too long
stringvector
_strlwr_s
strMessage
__strncnt
_strncoll
strncpy_s
_strnicmp
_strnicoll
StrokeWidth
strong emphasis
StrPBrkW
StrRChrW
StrRetToBufW
StrStrIA
StrStrIW
StrToIntW
struct has no members
StructLayoutAttribute
': struct members cannot be declared 'const'
': struct members cannot be declared 'extern'
': struct members cannot be declared 'groupshared'
': struct members cannot be declared 'in' or 'out'
': struct members cannot be declared 'static'
': struct members cannot be declared 'uniform'
': struct members cannot be void
StructSize
StructuredBootString
structures do not have methods
StructureToByteArray
StructureToPtr
?Strupr@WSTRING@@QEAAPEAV1@XZ
 S"T"s!r!R!R!
;STVTy2x2
style info 
SU1;C7mEG
Su64.ux	
s UATAUAVAWI
@SUATAUAVH
@SUATAUAWH
@SUATAUH
@SUATAVAWH
@SUATAVH
@SUATAWH
@SUAUAVAWH
Subclass
subexpr 
subgroupBroadcastDynamicId
SUBGROUP_FEATURE_ARITHMETIC_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_CLUSTERED_BIT
SUBGROUP_FEATURE_PARTITIONED_BIT_NV
SUBGROUP_FEATURE_QUAD_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
SUBGROUP_FEATURE_VOTE_BIT
subgroupQuadOperationsInAllStages
subgroupSize
subgroupSizeControl
subgroupSupportedOperations
subgroupSupportedStages
subjectAltName
SubjectCertExpired
SubjectCertificateRevoked
SubjectExplicitlyDistrusted
SubjectFormUnknown
SubjectNotTrusted
SubmissionId
SubmitThreadpoolWork
Subnet Mask: 
SubnetMask
SUBOPTIMAL_KHR
S?u*Bo	R
subPixelInterpolationOffsetBits
subPixelPrecisionBits
SubrCount
Sub resource error
SubrMapOffset
Subroutine Depth exceeded at cmdCALL(G)SUBR
Subroutine Depth exceeded at cmdCALLSUBR
Subroutine index out of range at cmdCALLSUBR
subroutineNumberBias
subsampledCoarseReconstructionEarlyAccess
subsampledLoads
Subscribe
SubscribeResponse
subscript
Subscription Alert Type: 
SubscriptionDuration
SubscriptionInfo
SubscriptionManager
SubscriptionRemovalAction
SubscriptionRemovalTimeInterval
SubscriptionStartTime
SubscriptionState
SubscriptionTimeRemaining
subsetAllocation
substitution
Substitution
substitutionGroup
substring
Substring
substring-after
substring-before
SubsVector
SubsystemID
Sub System Id
Sub System ID
SubsystemVendorID
subTexelPrecisionBits
SUBTRACT
SubtractRect
subwindow 
succeded
Succesfully downloaded gamer pic
Success.
Success: A valid signature was found in an installed Authenticode(tm) catalog
Success: A valid signature was found in an installed catalog
Success: File is self-signed.
Success: File is signed in Authenticode(tm) catalog.
Success: File is signed in catalog.
Successful
successfully
Successfully compiled trailers.
successfully copied to
Successfully ensured broadcast plugin registration.
Successfully found a provider after force launching the Plugin App
Successfully initialized RegistryStorage
Successfully mapped destination secure buffer
Successfully mapped source secure buffer
Successfully retrieved current broadcast ID
Successfully updated directory change listener
Success translate only.
suchthat
_Sul.lop
sul.wide6
sul.wideR
--summary
  SUMMARY OPTIONS:
--summary           Show a summary of the instance and GPU's on a system.
summation
SunMonTueWedThuFriSat
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
SUPDUP OUTPUT
superscript 
SuperscriptsandSubscripts
SUPERVISOR_FULL_POWER_ACQUIRE_FAILURE
SUPERVISOR_LOCK_ACQUIRE_FAILURE
SUPERVISOR_WORKER_THREAD_TIMEOUT
Supplement
SupplementalArrows-A
SupplementalArrows-B
SupplementalMathematicalOperators
SupplementaryPrivateUseArea-A
SupplementaryPrivateUseArea-B
--supported
Supported
SupportedAuthenticationMethods
SupportedAuthenticationProtocols
supported_clocks
Supported Clocks
supportedCompositeAlpha
supportedDepthResolveModes
SupportedEncryptionAlgorithms
SupportedEncryptionMethods
supported_gpu_target_temp
    Supported GPU_TARGET_TEMP
supported_graphics_clock
SupportedKeyLengths
SupportedMaximumTransmissionUnit
SupportedMethods
supportedOperations
SupportedPortTypes
Supported products:
	Supported Profiles:
supportedStages
supportedStencilResolveModes
supportedSurfaceCounters
supportedTransforms
supportedUsageFlags
SupportedUserPasswordEncryptionAlgorithms
?supportReluBias@ConvDgradShader@cask@@QEBA_NXZ
?supportReluBias@ConvShader@cask@@QEBA_NXZ
supportsProtected
SUPPRESS GO AHEAD
SuppressUnmanagedCodeSecurityAttribute
s*UQc[W:
SURFACE_COUNTER_VBLANK_BIT_EXT
SurfaceFormat
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
SURFACE_TRANSFORM_INHERIT_BIT_KHR
SURFACE_TRANSFORM_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_ROTATE_90_BIT_KHR
Surface type
Surface types
Survivability sync disabled.
Survivability table access violation.
Survivability table is too large.
Suspended
Suspending
SuspendLayout
?SuspendStatusRefreshing@BuiVolume@@QEAAXXZ
SuspendThread
SuspendUpdates
Suspension not allowed here
@SUVATAUAVAWH
@SUVATAUAVH
SUVATAUH
@SUVATAVAWH
@SUVATAVH
@SUVATAWH
@SUVAUAVAWH
@SUVAVAWH
@SUVWATAUAVAW
SUVWATAUAVAW
SUVWATAUAVAWD
@SUVWATAUAVAWH
SUVWATAUAVAWH
SUVWATAUAVAWL
@SUVWATAUAVH
SUVWATAUAVH
@SUVWATAUAWH
@SUVWATAUH
@SUVWATAV
@SUVWATAVAWH
SUVWATAVAWH
@SUVWATAVH
@SUVWATAWH
@SUVWATH
@SUVWAUAVAWH
SUVWAUAVAWH
@SUVWAUAVH
SUVWAUAVH
@SUVWAUAWH
SUVWAUAWH
@SUVWAUH
@SUVWAVAW
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
@SUWATAUAVAWH
SUWATAUAVAWH
SUWATAUAVH
@SUWATAUH
@SUWATAVAWH
@SUWATAVH
@SUWATAWH
SUWATAWH
@SUWAUAVH
SUWAUAVH
SUWAUAWH
@SUWAVAWH
suwkmphjlegjdfihjlkmpsuwz|
SVATAUAVAW
SVATAUAVAWH
@SVATAUAVH
@SVATAUAWH
@SVATAUH
SVATAVAWH
@SVATAVH
@SVATAWH
@SVAUAVAWH
@SVAUAVH
@SVAUAWH
@SVAVAWH
SV_DEPTH
SV_DEPTHH9
sVersiond
SV_ISFROH9
SV_ISFRONTFACE
SVN invalid: SVN is too large.
SV_POINTSIZE
SV_POSITION
SV_Target
SV_TARGET
s?vVc'f5E
SV_VERTEH9
SV_VERTEXID
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
@SVWATAUAVH
SVWATAUAVH
@SVWATAUAWH
SVWATAUAWH
@SVWATAUH
SVWATAUH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
@SVWATAWH
SVWATAWH
SVWAUAVAWH
@SVWAVAWH
SVWAVAWH
?_Swap_all@_Container_base12@std@@QEAAXAEAU12@@Z
SwapButton
s WATAUAVAWH
@SWATAUAVAWH
SWATAUAVAWH
@SWATAUAWH
@SWATAUH
@SWATAVH
@SWATAWH
@SWAUAVH
@SWAUAWH
s WAVAWH
@SWAVAWH
SWddmgggMm
swfte international
__swift_1
__swift_2
Swiss Army Knife of GEMM
switch (
SwitchDesktop
Switch from POST to GET
switching encoding: encoder error
switching encoding : no input
Switching target to desktop.
   Switch mode to Windows mode
SwitchPTPMode
switchState
switch statement contains no 'case' or 'default' labels
switch statement expression must evaluate to a scalar
SwitchToPS2Command
SwitchToSMBusCommand
SwitchToStandard
SwitchToThisWindow
SwitchToThread
SW_MAXIMIZE
SW_MINIMIZE
SW_NORMAL
SW Power Cap
swprintf_s
SW_RESTORE
swscanf_s
SW_SHOWDEFAULT
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
SW_SHOWNA
SW_SHOWNOACTIVATE
SW_SHOWNORMAL
SW Thermal capping algorithm is reducing clocks below requested clocks because GPU temperature is higher than Max Operating Temp.
SW Thermal Slowdown
swwwwwwwvwsgvsw7w6qwgW
sxp'?vU!
Sx#QWV|'
sXSXQQCP
S'|[yL-P
Symantec Corporation1
SymantecPKI-1-6290
SymantecPKI-1-7240
Symantec SHA256 TimeStamping CA
Symantec SHA256 TimeStamping CA0
(Symantec SHA256 TimeStamping Signer - G3
(Symantec SHA256 TimeStamping Signer - G30
Symantec Trust Network1503
Symantec Trust Network1B0@
SYMBOL_CURRENCY 
symbolicLink
symbolicLinkSuffix
SYMBOL_MATH 
SYMBOL_MODIFIER 
SYMBOL_OTHERS 
SymCleanup
SymFromAddr
SymFunctionTableAccess64
SymGetLineFromAddr64
SymGetModuleBase64
SymGetOptions
SymInitialize
SymSetOptions
.symtab_shndx
Synaptics Incorporated0
Synaptics Incorporated1
sync......................
Sync Boost
--sync-boost-add
--sync-boost-list
--sync-boost-remove
Sync Boost This GPU has been added to a Sync boost group with nvidia-smi or DCGM in
SYNCED_DUAL_WAVEFORM
SYNCED_DUAL_WAVEFORM_NO_CHECK
SYNCED_KSHMOO
SYNCED_KSHMOO_NO_CHECK
SYNCED_NO_CHECK
SYNCED_WAVEFORM
SYNCED_WAVEFORM_NO_CHECK
synchronization2
Synchronize
Synchronized
Synchronized boost is currently disabled.
sync_timeout
Syntax error
Syntax Error
syntax error: unexpected '
syntax error: unexpected identifier after 'exists'
syntax error: unexpected identifier in #include
syntax error: unexpected token '
?_Syserror_map@std@@YAPEBDH@Z
Sysprep_Generalize_Pnp_Drivers
 SYSTEM 
SYSTEMBIOS_NO_LOAD
System.CodeDom.Compiler
System.Collections
System.Collections.Concurrent
System.Collections.Generic
System.Collections.IEnumerable.GetEnumerator
System.Collections.IEnumerator.Current
System.Collections.IEnumerator.get_Current
System.Collections.IEnumerator.Reset
System.Collections.ObjectModel
System.Collections.Specialized
SystemColors
System.ComponentModel
System.Configuration
System.Configuration.Install
   (System Controller detected)
System.Core
SystemCreationClassName
(System Default) 
SystemDefaultCharSize
System Defense Manager
SystemDefenseRealm
System Defense RX traffic ceased
System Defense RX traffic reduced
System Defense state changed
System Defense TX traffic ceased
System Defense TX traffic reduced
System.Diagnostics
System.Diagnostics.Eventing.Reader
System.Drawing
System.Drawing.Bitmap
System.Drawing.ContentAlignment
System.Drawing.Font
System.Drawing.FontStyle
System.Drawing.GraphicsUnit
System.Drawing.Icon
System.Drawing.Imaging
System.Drawing.Point
System.Drawing.Size
System.Drawing.SizeF
SystemEventReporter
SystemFunction036
System.Globalization
systemId
System.IDisposable.Dispose
systemIdStartString
system_info
System.IO
SystemLevelAddress
System.Linq
SystemLiteral
SystemLiteral " or ' expected
systemLogPath
System.Management
System memory atomics supported
SystemName
System.Net
System.Net.Http
system not yet initialized
SystemParameters
SystemParametersInfoA
SystemParametersInfoW
systemPath
System.Reflection
System.Resources
System restore implementation not present.
System restore not required for signed driver package.
System restore point not required.
SystemRoot
System.Runtime.CompilerServices
System.Runtime.ConstrainedExecution
System.Runtime.ExceptionServices
System.Runtime.InteropServices
System.Runtime.InteropServices.WindowsRuntime
System.Runtime.Serialization
System.Runtime.Versioning
System.Runtime.WindowsRuntime
System.Security
System.Security.AccessControl
System.Security.Cryptography
System.Security.Permissions
System.Security.Principal
System.ServiceProcess
SystemShutdownHibernateStateEnum
System.Text
System.Text.RegularExpressions
System.Threading
System.Threading.Tasks
SystemTimeToFileTime
SystemTimeToTzSpecificLocalTime
System UUID actual value is all 0x00.
System UUID actual value is all 0xFF.
System.Web.Extensions
System.Web.Script.Serialization
System.Windows
System.Windows.Controls
System.Windows.Controls.Primitives
System.Windows.Documents
System.Windows.Forms
!System.Windows.Forms.AnchorStyles
System.Windows.Forms.DataVisualization
System.Windows.Forms.DataVisualization.Charting
System.Windows.Forms.DockStyle
"System.Windows.Forms.FlowDirection
 System.Windows.Forms.ImageLayout
System.Windows.Forms.ImeMode
System.Windows.Forms.Layout
 System.Windows.Forms.Orientation
System.Windows.Forms.Padding
System.Windows.Input
System.Windows.Interop
System.Windows.Markup
System.Windows.Markup.IComponentConnector.Connect
System.Windows.Media
System.Windows.Media.Imaging
System.Windows.Navigation
System.Windows.ResizeMode
System.Windows.Resources
System.Windows.Shapes
System.Windows.Threading
System.Xaml
System.Xml
System.Xml.Linq
!SYYbYYbs
S	Z4-	tk!
Sz] |bK(9mNq
szMessage
szOID_COMMON_NAME
szOID_COUNTRY_NAME
szPathWW
SZT|lzwo	
t043; st
t0BXC0Ty
t0fD9't*H
*@"?"T0S0
)T0zaA3-
t2.u32 [ 
t39N4t.9
t3fD9!t-H
*t|3-IKf
T4A??;Ab
t4fD9.t.
T5S4S9K;K
t6A98sCA
t6RV5ec@
t7D9@(u#H
(T8T874644#3#
t929; stE
t99p t4VVh
t9ABB2_.O
t@9p t;H
t-9p t(W
t)9X t7Ph
TabbedTextOutW
tabindex
table body 
table caption 
table column 
table column group 
TableData
table data cell
table footer 
table header 
table header cell
table row 
TabletMode
TableType
TableTypeInfo
TableTypes
TACACS UID
tAfA9(t;H
Tagbanwa
tagBNSTATE
tagLOGFONTW
tagNMHDR
tagNMTOOLBARW
tagOleMenuGroupWidths
tagPOINT
tagTPMPARAMS
tagWNDCLASSEXW
taH9;uYH
Taipei1:08
TaiXuanJingSymbols
TakeCurrentWeekAhs
TAKEOWN_RES_ID_YES
takePowerUniqueId
: :::T:a:n:
; ;:;T;a;n;
? ?:?T?a?n?
TAPI32.dll
Targa support was not compiled
TargetAlreadyExists
TargetElement
targetEtl
Target file path without extension (the tool will add jpg or png automatically)
TargetFrameworkAttribute
targetKey
##targetNamespace
targetNamespace
TargetOperatingSystem
TargetOperatingSystems
TargetOSTypes
TargetOversubscriptionFactor
targetServiceName
.target sm_6
.target sm_60
.target sm_61
.target sm_62
.target sm_70
.target sm_75
.target sm_80
.target sm_86
targetType
TargetTypes
TaskAwaiter
TaskbarItemInfo
TaskDialogIndirect
taskName
TaskPrincipal
TaskRegistrationInfo
TaskRunLevel
TaskService
TaskSettings
tb9q t]9u
 TBB0_2Xm
_TBBUTTON
TBBUTTONINFOW
T-BGFGNQ
tBH9x(t1H
TbtControlCenterToastLauncher
TbtControlCenterToastLauncher.exe
TbtDeviceAdapter
tbt_drivers_api
tbt_drivers_api_7_10
tbt_drivers_api_7_12
tbt_drivers_api_7_14
tbt_drivers_api_7_15
tbt_drivers_api_7_16
tbt_drivers_api_7_2
tbt_drivers_api_7_3
tbt_drivers_api_7_4
tbt_drivers_api_7_5
tbt_drivers_api_7_6
tbt_drivers_api_7_7
TBT_FILE_DEVICE
TBT_IOCTL_ACQUIRE_EVENTS_QUEUE
TBT_IOCTL_APPLICATION_CONNECT
TBT_IOCTL_APPLICATION_DISCONNECT
TBT_IOCTL_APPLICATION_GET_EVENT
TBT_IOCTL_APPROVE_PCI_DEVICE_CONNECTION
TBT_IOCTL_AUTH_ENDPOINT_NVM
TBT_IOCTL_BASE
TbtIoctlCode
TbtIoctlCodeAny
TbtIoctlCodeRead
TbtIoctlCodeWrite
TBT_IOCTL_EVENTS_QUEUE_CONTROL
TBT_IOCTL_GET_API_VERSION
TBT_IOCTL_GET_APPROVED_CONNECTIONS_LIST
TBT_IOCTL_GET_CONTROL_DEVICE_SYMBOLIC_LINK
TBT_IOCTL_GET_DEVICE_INFO
TBT_IOCTL_GET_ROUTER_NVM_VERSION
TBT_IOCTL_GET_TOPOLOGY_INFO
TBT_IOCTL_INTER_DOMAIN_CONNECTION_CONTROL
TBT_IOCTL_POWER_CYCLE
TBT_IOCTL_QUERY_UPDATE_FIRMWARE_STATUS
TBT_IOCTL_READ_I2C
TBT_IOCTL_READ_NVM
TBT_IOCTL_READ_NVM_DROM
TBT_IOCTL_READ_RETIMER_SIDEBAND_REG
TBT_IOCTL_RELEASE_EVENTS_QUEUE
TBT_IOCTL_REMOVE_APPROVED_CONNECTION
TBT_IOCTL_RESERVED_1
TBT_IOCTL_RETRIEVE_EVENT_DATA
TBT_IOCTL_RTD3_CONTROL
TBT_IOCTL_SNAPSHOT
TBT_IOCTL_TOGGLE_HPD_FOR_RETIMER
TBT_IOCTL_UPDATE_FIRMWARE
TBT_IOCTL_WAIT_FOR_FILTER_NOTIFICATION
TBT_IOCTL_WRITE_ENDPOINT_NVM
TBT_IOCTL_WRITE_I2C
TBT_IOCTL_WRITE_RETIMER_SIDEBAND_REG
TBTP partition hash and calculated hash are not the same.
TbtServiceUtilities
TBUB1n0n
_t*;]bWF
tbYYbYUC
tC97u?j4
TcBB0_46
Tc]FGccG
	tCHt0HHt
tcommaaccent
Tcommaaccent
TCPFlagsOff
TCPFlagsOn
tcpip-forward
TCP_NODELAY set
tCtCVDTD
tcvta.to
Td6d6I2H2
tdBB0_30
tdCompFont
: :@:T:d:l:
; ;T;d;p;x;
tdr_errors
TEARDOWN
Tearing down current listener before replacing with new one
technique
technique 
 tED8k2u7H
_TeeConnect@4
_TeeDisconnect@4
_TeeFWStatus@12
_TeeGetDeviceHandle@4
_TeeInit@12
_TeeInitGUID@12
_TeeInitHandle@12
_TeeRead@20
_TeeWrite@20
|teeWWOAAAAOOPPPPUU
TelemetryAssert
TelemetryAssertDiagTrack
teletype or monospaced text style
tempApplicationRecord
--temperature
temperature
	Temperature:
    Temperature
temperature.gpu
temperature.memory
TempInstaller regkey does not exist
TempInstaller regval is empty
template
template-parameter-
tempMarkers
_tempnam
Temporary setup found
_tensorop_bf16_s16816gemm
_tensorop_d884gemm_128x128_16x3_nt_
_tensorop_d884gemm_128x64_16x3_nt_
(_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE_f
_tensorop_d884gemm_64x64_16x4_nt_
	_tensorop_f16_s16816gemm
_tensorop_h16816gemm_128x128_32x5_nt_
_tensorop_h16816gemm_128x128_64x4_nt_
_tensorop_h16816gemm_256x128_32x3_nt_
_tensorop_h16816gemm_256x128_64x3_nt_
_tensorop_i168256andgemm_b1_128x128_1024x4_tn_
_tensorop_i168256andgemm_b1_128x128_512x5_tn_
_tensorop_i168256andgemm_b1_256x128_1024x3_tn_
_tensorop_i168256andgemm_b1_256x128_512x3_tn_
_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_
_tensorop_i168256xorgemm_b1_128x128_512x5_tn_
_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_
_tensorop_i168256xorgemm_b1_256x128_512x3_tn_
_tensorop_i16832gemm_s8_128x12
_tensorop_i16832gemm_s8_128x128_64x5_tn_
_tensorop_i16832gemm_s8_256x128_128x3_tn_
_tensorop_i16832gemm_s8_256x128_64x3_tn_
_tensorop_i16864gemm_s4_128x128
_tensorop_i16864gemm_s4_128x128_256x4_tn_
_tensorop_i16864gemm_s4_256x128
_tensorop_i16864gemm_s4_256x128_128x3_tn_
_tensorop_s16816gemm_bf16_128x128_32x5_nt_
_tensorop_s16816gemm_bf16_128x128_64x4_nt_
_tensorop_s16816gemm_bf16_256x128_32x3_nt_
_tensorop_s16816gemm_bf16_256x128_64x3_nt_
_tensorop_s16816gemm_f16_128x128_32x5_nt_
_tensorop_s16816gemm_f16_128x128_64x4_nt_
_tensorop_s16816gemm_f16_256x128_32x3_nt_
_tensorop_s16816gemm_f16_256x128_64x3_nt_
_tensorop_s1688gemm_tf32_128x128_16x5_nt_
_tensorop_s1688gemm_tf32_128x128_32x4_nt_
_tensorop_s1688gemm_tf32_256x128_16x3_nt_
_tensorop_s1688gemm_tf32_256x128_32x3_nt_
Tensor size is not supported
ter einer Bildungseinrichtung sein.
terminate
Terminate
       Terminate Daemon [Best Effort]
(terminated by 
TerminateKVMSessionWd
TerminateProcess
TerminateProcessOnMemoryExhaustion
_TerminateRemedySessionsW
TerminateSession
TerminateThread
?terminate@@YAXXZ
Terminating early due to previous errors.
Terminating early due to previous errors. Reboot required.
Terminating parent process tracking thread function.
TERM SPEED
TERM TYPE
TertiaryIndex
TESLA_SIGDUMP_PLAIN
TeslaUsageMode
TeslaUsageModeTooltip
tessellationIsolines
tessellationPointMode
tessellationShader
testingCounter
Testing PP API; comparing versions...
Test mode pattern did not match expected values.
TestPage
Test required value format is not valid.
-testroot
Tetp.g##
Tetp.g3N
Tetp.gr-
Tetp.gx 
teventNameWWW
tex2Dfetch
tex2DgatherA
tex2DgatherB
tex2DgatherG
tex2DgatherR
tex2Dlod
tex2Dlod(
tex2Dsize
tex2Dstore
TEXCOORD
texelBufferAlignment
			text-align: right;
.text.ampere_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.text.ampere_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.text.ampere_dgemm_128x64_nt_v0
.text.ampere_fp16_s16816gemm_fp16_128x128_ldg8_f2f_stages_64x3_nt_v1
.text.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_32x6_tn_v1
.text.ampere_fp16_s16816gemm_fp16_128x64_ldg8_f2f_stages_64x4_tn_v1
.text.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_nt_v1
.text.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x3_tn_v1
.text.ampere_fp16_s16816gemm_fp16_128x64_sliced1x2_ldg8_f2f_stages_64x6_nt_v1
.text.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_32x3_tn_v1
.text.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_nt_v1
.text.ampere_fp16_s16816gemm_fp16_256x128_ldg8_f2f_stages_64x3_tn_v1
.text.ampere_fp16_s16832gemm_sp_fp16_128x128_ldg8_relu_f2f_stages_64x3_nt_v1
.text.ampere_fp16_s16832gemm_sp_fp16_256x128_ldg8_relu_f2f_stages_64x3_nt_v1
.text.ampere_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.text.ampere_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.text.ampere_h16816gemm_128x128_ldg8_stages_64x3_nt_v1
.text.ampere_h16816gemm_256x128_ldg8_stages_64x3_nt_v1
.text.ampere_hgemm_256x128_nt_v0
.text.ampere_igemm_int8_128x128_ldg4_nt_v0
.text.ampere_int32_i16832gemm_int8_128x128_ldg16_stages_64x3_nt_v1
.text.ampere_int32_i16832gemm_int8_256x128_ldg16_stages_64x3_nt_v1
.text.ampere_int32_i16864gemm_sp_int8_128x128_ldg16_stages_128x3_nt_v1
.text.ampere_int32_i16864gemm_sp_int8_256x128_ldg16_stages_128x3_nt_v1
.text.ampere_int8_i16832gemm_int8_128x128_ldg16_relu_stages_64x3_nt_v1
.text.ampere_int8_i16832gemm_int8_256x128_ldg16_relu_stages_64x3_nt_v1
.text.ampere_int8_i16864gemm_sp_int8_128x128_ldg16_relu_stages_128x3_nt_v1
.text.ampere_int8_i16864gemm_sp_int8_256x128_ldg16_relu_stages_128x3_nt_v1
.text.ampere_sgemm_128x128_nt_v0
textarea
TextBlock
Text element has children !
Text element has namespace !
Text element has no content !
text file busy
TextFileLogger
.text.gpu_delay_long_gpu
.text.gpu_delay_short_gpu
text: had a child node
.text.maxwell_dgemm_128x64_nt_v0
.text.maxwell_hgemm_256x128_nt_v0
.text.maxwell_igemm_int8_128x128_ldg4_nt_v0
.text.maxwell_sgemm_128x128_nt_v0
textnoenc
TEXT no enc
TextOutW
TextReader
text serialization of document not available
TextServiceLinkCreated
			text-shadow: 4px 4px 5px #000;
tEXtSoftware
text to be entered by the user
.text.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
.text.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
.text.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
.text.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
.text.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
.text.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
.text.turing_h1688gemm_128x128_ldg8_nt_v1
.text.turing_h1688gemm_256x128_ldg8_nt_v1
texture1D
Texture1D
Texture1DArray
texture2D
Texture2D
Texture2D __
Texture2DArray
Texture2DMS
Texture2DMSArray
Texture2D __srgb
texture3D
Texture3D
textureCompressionASTC_HDR
textureCompressionASTC_LDR
textureCompressionBC
textureCompressionETC2
textureCUBE
TextureCube
TextureCubeArray
': texture does not support sRGB sampling (only textures with RGBA8 format do)
texture is not bound to a pointer
texture_memory
Texture Memory
textureRECT
Texture Shared
texture_shm
.text.volta_dgemm_128x64_nt_v0
.text.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
.text.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
.text.volta_h884gemm_128x128_ldg8_nt_v1
.text.volta_h884gemm_256x128_ldg8_nt_v1
.text.volta_hgemm_256x128_nt_v0
.text.volta_igemm_int8_128x128_ldg4_nt_v0
.text.volta_sgemm_128x128_nt_v0
TextWriter
TextWriterTraceListener
.text._Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolCoalescedCILj0ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolCoalescedCILj1ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolCoalescedCILj1ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolCoalescedCILj2ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolCoalescedCILj2ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
.text._Z14poolNCxHWxInt8ILj0EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.text._Z14poolNCxHWxInt8ILj1EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.text._Z14poolNCxHWxInt8ILj3EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
.text._Z17gpu_check_crc_gpuPhyPVj
.text._Z18gpu_check_diff_gpuIdEvPT_S1_jjPjP7error_s
.text._Z18gpu_check_diff_gpuIfEvPT_S1_jjPjP7error_s
.text._Z18gpu_check_diff_gpuIhEvPT_S1_jjPjP7error_s
.text._Z18gpu_check_diff_gpuIjEvPT_S1_jjPjP7error_s
.text._Z18gpu_check_diff_gpuIsEvPT_S1_jjPjP7error_s
.text._Z18gpu_hist_gpu_firstI6__halfEvPT_yP10gpu_hist_sIS1_E
.text._Z18gpu_hist_gpu_firstIaEvPT_yP10gpu_hist_sIS0_E
.text._Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
.text._Z18gpu_hist_gpu_firstIfEvPT_yP10gpu_hist_sIS0_E
.text._Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
.text._Z18poolCHWPackedHalf2ILj0EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.text._Z18poolCHWPackedHalf2ILj1EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
.text._Z19gpu_hist_gpu_secondI6__halfEvjPT_yP10gpu_hist_sIS1_E
.text._Z19gpu_hist_gpu_secondIaEvjPT_yP10gpu_hist_sIS0_E
.text._Z19gpu_hist_gpu_secondIdEvjPT_yP10gpu_hist_sIS0_E
.text._Z19gpu_hist_gpu_secondIfEvjPT_yP10gpu_hist_sIS0_E
.text._Z19gpu_hist_gpu_secondIiEvjPT_yP10gpu_hist_sIS0_E
.text._Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.text._Z21poolCHWPackedInt8QuadILj1EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
.text._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi16EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi32EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi48EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi3ELi3ELi64EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi16EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi32EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi48EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi2ELi4ELi4ELi64EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi16EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi32EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi48EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi3ELi5ELi5ELi64EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi16EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi32EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi48EEv19FirstLayerFwdParams
.text._Z22first_layer_fwd_kernelILi4ELi7ELi7ELi64EEv19FirstLayerFwdParams
.text._Z22gpu_poll_all_locks_gpuPVyyjjjS0_
.text._Z23gpu_convert_to_half_gpuP6__halfyPfy
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi64ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
.text._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE
.text._ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi1EEEvNS_23FirstLayerIMMAFwdParamsE
.text._ZN4cask19reorderImma8816BiasENS_25ReorderImma8816BiasParamsE
.text._ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
.text._ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE
.text._ZN4cask20computeOffsetsKernelILb0ELb0EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask20computeOffsetsKernelILb0ELb1EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask20computeOffsetsKernelILb1ELb0EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask20computeOffsetsKernelILb1ELb1EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask21computeBOffsetsKernelENS_21ComputeBOffsetsParamsE
.text._ZN4cask21reorderImma8816FilterENS_27ReorderImma8816FilterParamsE
.text._ZN4cask22computeOffsetsKernel3DILb0EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask22computeOffsetsKernel3DILb1EEEvNS_20ComputeOffsetsParamsE
.text._ZN4cask22reorderImma8816MatrixBENS_24ReorderImmaMatrixBParamsE
.text._ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
.text._ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
.text._ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE
.text._ZN4cask23reorderImma16832MatrixBENS_24ReorderImmaMatrixBParamsE
.text._ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask25computeWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.text._ZN4cask26computeWgradBOffsetsKernelENS_26ComputeWgradBOffsetsParamsE
.text._ZN4cask26reorderHmmaSp16832MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.text._ZN4cask26reorderImmaSp16864MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
.text._ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE
.text._ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE
.text._ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE
.text._ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE
.text._ZN4cask27compute3DWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
.text._ZN4cask27first_layer_imma_fwd_kernelILi8ELi7ELi7ELi64EEEvNS_23FirstLayerIMMAFwdParamsE
.text._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.text._ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.text._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
.text._ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
.text._ZN4cask31computeWgradSplitKOffsetsKernelENS_26ComputeSplitKOffsetsParamsE
.text._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx
.text._ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx
.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
.text._ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
.text._ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
TF32_19F
t:f9:t5D
tf9X tTH
t?fA99t9L
t:fA9(t4H
t?fA9(t9H
TF_CreateInputProcessorProfiles
TF_CreateThreadMgr
tFD8;t3H
t|fD9 tvH
tFfD9;t@
TffDCDffdDDDC34ffffffffffffffd4DDFfdDDfdDDD33FfffffffffffffffffCDDffDfdDDC3FffffffffffffffffffffcDDfFfDD36ffffffffffffffffffffffffDFdDDCC3DfffffffffffffffffffffD4DdfdDDDD43334FffffffffffffffCDDDfdFfdDDDDDCC333Ffffffffffd344DDff4dFfdDDDDD3
t-ffffff
tFI;2u2H
tfLLfEXXJgp0
-tflt_[72
TftM:;]N
t';F t*P
TFTP: Access Violation
TFTP file name too long
TFTP: File Not Found
TFTP finished
TFTP: Illegal operation
TFTP: No such user
TFTP response timeout
tftp_rx: internal error
tftp_send_first: internal error
TFTP: Unknown transfer ID
tG@85mc.
tg8F'Ss.
.t.GatherAlpha(
.t.GatherBlue(
.t.GatherGreen(
.t.GatherRed(
tGD86tBD
.t.GetDimensions(
tGetLMSVersionWWW
tgf;(tbH
[T(gHHF(
t.global.releas
t.global.releas(
t.global.release.gpu
tGyjO5p!
t.H9;u H
t H9X8t]
t H9X8tN
Thales TSS ESN:0E37-9649-08C51
The 2 SPI flash devices do not have compatible command sets.
The action could not be completed due to concurrency or locking problems.
The action is not supported by the service.
The address is outside the boundaries of the flash area.
       The arguments consist of character string representing the type of traffic counted:
The attempt to commit the Manufacturing Line Configurables has failed.
The attribute 'namespace' must be existent if the importing schema has no target namespace
The available GPUs are in the range of 0 to 
The base type must be a complex type
The BIOS of the GPU board.
The chain of IDC matchers is expected to be empty
The character content is not a valid value of 
The character content is not valid.
the child element was valid but neither the declaration nor the type was set
The compressed data is incorrect.
The compute mode flag indicates whether individual or multiple compute applications may run on the GPU.
The "Compute" mode is designed for running only compute tasks. Graphics operations are not allowed.
The content model is not determinist
The content must not contain element nodes since there is a fixed value constraint
The content type must be the simple base type
The content type must specify a particle
The content type of the base type must be either a simple type or 'mixed' and an emptiable particle
The content type of the base type must be either empty or 'mixed' (or 'elements-only') and an emptiable particle
The current PCI-E link generation. These may be reduced when the GPU is not in use.
The current PCI-E link width. These may be reduced when the GPU is not in use.
The current performance state for the GPU. States range from P0 (maximum performance) to P12 (minimum performance).
The current user does not have permissions to change CUDA clock mode.
The database has more matches than SDB_MAX_EXES
	             the default namespace if any uses 'defaultns' prefix
The definition is circular
The document has more than one top element
The document has no document element
The dump file will be encrypted.
The ECC mode that the GPU is currently operating under.
The ECC mode that the GPU will operate under after the next reboot.
The element cannot be 'nilled' because there is a fixed value constraint defined for it
The element declaration is abstract
The element is not 'nillable'
The entire document is already downloaded
The enumerator has timed out and is no longer valid.
The expiration time is invalid
The file format version number's flag field contains unrecognized flags.
The file type expected from the update or getpath API. Default type is bin (as used by DLSS).
The 'final' of the base type definition contains 'extension'
The 'final' of the base type definition contains 'restriction'
The Flash Image that was burned on the platform was corrupted. CSE is in Recovery Mode at first boot.
The following are supported: 
The following logged message is too long!
The FPF compare failed.
The FPF has already been committed.
the given type is not a built-in type
The GOM currently in use.
The GOM that will be used on the next reboot.
the graph update was not performed because it included changes which violated constraints specific to instantiated graph update
The host CPU does not have read access to the target flash area.
The host CPU does not have write access to the target flash area.
The internal structure of the Update Image is corrupted.
The intersection of the wildcard is not expressible.
The keyref references a keyref
the launch timed out and was terminated
the local 
The "Low Double Precision" mode is designed for running graphics applications that don't require high bandwidth double precision.
The max connection limit is reached
The maximum number of updated NVARs has been reached.
The maximum value in watts that power limit can be set to.
?ThemeChange@HWNDElement@DirectUI@@SA?AVUID@@XZ
ThemeInfoAttribute
The MIG mode that the GPU is currently operating under.
The MIG mode that the GPU will operate under after reset.
The minimum value in watts that power limit can be set to.
The minimum x coordinate of the image's data window is not a multiple of the x subsampling factor of the "
The minimum y coordinate of the image's data window is not a multiple of the y subsampling factor of the "
The number of GPU device memory pages that have been retired due to a double bit ECC error.
The number of GPU device memory pages that have been retired due to multiple single bit ECC errors.
The number of matching EXEs exceeded the max allowed
The number of NVIDIA GPUs in the system.
The number of rows that have been remapped due to correctable ECC errors.
The number of rows that have been remapped due to uncorrectable ECC errors.
    then up to first four supported devices under natural enumeration
The official product name of the GPU. This is an alphanumeric string. For all products.
The only available GPU selection is 0.
the operation cannot be performed in the present state
The operation has timed out.
The Partial Update Image size is different than the size of the IUP in it (as it is in the manifest).
The partition provided is not supported by the platform.
The printer is not associatable
the provided PTX was compiled with an unsupported toolchain.
There are no available GPUs.
There are no supported SPI flash devices installed. Please check connectivity.
The receiver did not acknowledge the event delivery.
therefore
There is a problem with the GbE binary which prevents saving the data.
there is at least one entity reference in the node-tree currently being validated. Processing of entities with this XML Schema processor is not supported (yet). Please substitute entities before validation.
There is negative response in cache while serv connect
The requested delivery mode is not supported
The requested document is not new enough
The requested document is not old enough
The requested filter could not be processed.
The requested filtering dialect is not supported.
The requested fragment filtering dialect or language is not supported.
The request message has unknown or invalid content and cannot be processed.
There should be a provider on this sku
The selected gpu (
The Selectors for the resource are not valid.
The sender attempted to create a resource which already exists.
The sender was not authorized to access the resource.
The service cannot comply with the request due to internal processing errors.
The service is busy servicing other requests.
The shader has already been loaded
The shader has not yet been loaded
The size of an Update partition is bigger than the size of the Flash partition.
The size of the circular buffer that holds list of processes that can be queried for accounting stats. This is the maximum number of processes that accounting information will be stored for before information about oldest processes will get overwritten by information about new processes.
The specified endpoint is currently unavailable.
The specified expiration type is not supported.
The specified feature is not supported.
The state object to be removed is not the first in the list
The string 
The supplied enumeration context is invalid.
The supplied SOAP violates the corresponding XML schema definition.
The supplied zero-based index of the SPI Device is out of range.
thetasym
 * the throttle reasons for other GPUs in the system to see why those GPUs are
The total size of the backup partitions is bigger than NFTP size.
The type definition is absent
The type definition is abstract
The type definition (or type definition's content type) is or is derived from ID; value constraints are not allowed in conjunction with such a type definition
". The type has already been registered.
The type is not a valid restriction of its base type
The type of sample count slice should be UINT.
The union of the wildcard is not expressible.
The union type definition is circular
The Update Image contains IUP with instance ID that is not the currently expected one by the FW.
The value is not facet-valid.
The value must be greater than or equal to 1
The value must consist of tuples: the target namespace name and the document's URI
The value must not be greater than the value of 'maxOccurs'
The value of the attribute must not match 'xmlns'
The value of the attribute 'use' must be 'optional' if the attribute 'default' is present
The value of the value constraint is not valid
The VAR compare failed.
The variety is absent
The VAR invalid data size.
The version of the installed NVIDIA display driver. This is an alphanumeric string.
The 'whitespace' value has to be equal to or stronger than the 'whitespace' value of the base type
The width of the data window exceeds the maximum width of 
The width of the tiles exceeds the maximum width of 
The wse:NotifyTo address is not usable because it is incorrect
The Wsman response was NULL.
The XML content is not valid.
The XPath expression of the selector is not valid
The x subsampling factor for the "
The y subsampling factor for the "
                    they will always print format properties.
thH9.tWH
Thickness
thirdPartyCertType
This application has requested the Runtime to terminate it in an unusual way.
 * This behavior may be removed in a later release
__thiscall
This command cannot be processed. Region is not supported on this platform.
This command is not supported on Slim SKU.
This command is not supported on SPS platforms.
This element is not expected
# This file was generated by libcurl! Edit at your own risk.
This function cannot be called on a default constructed task
this function needs a parser context
This indicates a bug in your application.
This is a DISM package
                                This is an experimental feature.
    This is an experimental feature.
                                This is an experimental feature. Not supported on Windows baremetal
|   This is an external build of NvDebugDump        |
#   This is an internal build of NvDebugDump        #
#   This is not to be released outside of NVIDIA.   #
This kernel only support cross correlation
This may be because not all required external power cables are
This means that the Update Image contains more (or less) than the IUP partition.
ThisModule
This number matches the serial number physically printed on each board. It is a globally unique immutable alphanumeric value.
	This occurs regardless of the presence of any other
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
!This program cannot be run in DOS mode.
                                This query is not supported on vGPU host.
This value is the globally unique immutable alphanumeric identifier of the GPU. It does not correspond to any physical label on the board.
': this variable type cannot be declared 'const'
This version of the library does not 
This version of the library does not support 
tHM;;u2H
t.H;NxtaH
Thornsmall
t.H;OxtaH
_Thrd_id
_Thrd_join
THREAD_DONE_KHR
threadId
THREAD_IDLE_KHR
THREAD_PROC_ALREADY_RUNNING
ThreadStart
threeeighths
threeinferior
threeoldstyle
threequarters
threequartersemdash
threesuperior
?_Throw_Cpp_error@std@@YAXH@Z
ThrowExceptionForHR
t[HtJHt*H
thumbnail
ThunderboltDesktopDeviceAdapter
ThunderboltDriverInterfaceGuid
ThunderboltDriverProxiesFactory
ThunderboltDriverProxy
ThunderboltService
ThunderboltService.exe
ThunderboltService.ProjectInstaller.resources
ThunderboltUwdProxy
[thunk]:
Thursday
tI97uEjD
tI9NhuDRP
TickMark
_tiddata_managed
TiffAddMsTags
TiffClose
TiffExtractFirstPage
TiffOpen
TiffPostProcessFast
TiffRecoverGoodPages
tildecomb
Tildesmall
tiledesc
tiledimage
Tiled image has no tile description attribute.
TiledInputFile used for non-tiledimage part.
Tile size mismatch
TimeBeforeRemoval
timechange
TimeChangeEventId
timecode
timed out
timed_out
Timed out
TimedOut
Timed out waiting for device post-install to complete.
timelineSemaphore
TimeOfLastChange
TimeOfLastExpiration
TimeOfLastMount
TimeOfLastRecord
TimeOfLastReset
TimeOfLastStateChange
TimeOnBattery
Time-out
TimeoutInterval
timeoutmSecs
TimeoutPeriod
TIMEOUT_V3
Timeout was reached
timer1_Tick
TimerCallback
TimerResolution
Time Set
Timeslice
TimeSource
TimeSpan
timestamp
Timestamp
TimeStamp
TimeStamp-2048-30
TimeStamp-2048-60
Timestamp at which the page was retired.
timestampComputeAndGraphics
timestamp.intel.com
timestamp.intel.com0
timestampPeriod
timestampValidBits
times to poll before marking slow in SYNCed workloads
TimeSubmitted
Time synchronization disabled
Time Synchronization Disabled
Time synchronization enabled
Time Synchronization Enabled
TimeToFullCharge
Time Tolerance: 
TimeTools
time_to_run
TimeWhenOutdated
TimeZoneInfo
TimeZoneMarker
timeZones
TIMING MARK
                              T - Include Time (HH:MM:SS) in scrolling output
Titan RTX
titleName
?TiUi]V]V
tiVShTDZ
tJD8;t3H
tjDecompress2(): Could not scale down to desired image dimensions
tjDecompress2(): Instance has not been initialized for decompression
tjDecompress2(): Invalid argument
tjDecompress2(): Memory allocation failure
tjDecompressHeader3(): Could not determine colorspace of JPEG image
tjDecompressHeader3(): Could not determine subsampling type for JPEG image
tjDecompressHeader3(): Instance has not been initialized for decompression
tjDecompressHeader3(): Invalid argument
tjDecompressHeader3(): Invalid data returned in header
tJfD91tDH
tjInitDecompress(): Memory allocation failure
tKH;_XtE3
TKKKKKKV	
tkP8#1Y;'
tLb1ELi8
t(LcuoH;
tLfA99tFH
__TlgCV__
T!LGw56X
.t.Load(int3(
TLOSS error
tlp.b32	c
tlp.f64	
tlp.f64	5
TlsAlloc
TlsGetValue
TLS Pre-shared Key Set
TLS Server Certificate Remove
TLS Server Certificate Set
TlsSetValue
TLS State Changed
TLS Trusted Root Certificate Added
TLS Trusted Root Certificate Removed
TMSAMVOF
tMtttnSS
tmul.widk	
tm unable to handle 
	TmXEvu6
tND8;t3H
tnH;A |!
tNI64J2g4
TNNNNNNNNNNNNNNNNNNNNY
)TNy]wcsp
tO9u tJ9u
" to an attribute of type "
ToastActivated
ToastActivatedEventArgs
ToastDismissed
ToastDismissedEventArgs
ToastEventTimer
ToastFailed
ToastFailedEventArgs
Toast Launcher
_ToastMessageId
TOAST_MESSAGE_ID
_ToastMessageIdLE
TOAST_MESSAGE_ID_LE
TOAST_MESSAGE_VARIABLE
ToastNotification
ToastNotificationManager
ToastTemplateType
" to data failed
TODO: XML_REGEXP_STRING
To enable read access for this operation you must modify the descriptorsettings to give host access to this region.
To enable write access for this operation you must modify the descriptor
    to file dump.zip)
ToggleHpdForRetimer
ToggleHpdForRetimerInputData
togglekeys
TO#I;8	d
" to image attribute "
ToIntPtr
TokenImpersonation
TokenPrimary
TokenType
TOKEN_TYPE
toL9#uaD
ToLongTimeString
ToLowerInvariant
toneMapFact
too big integer
too big negative integer
Tooling Info
Too long hexadecimal number
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
TOOL_PURPOSE_MODIFYING_FEATURES_BIT
TOOL_PURPOSE_PROFILING_BIT
TOOL_PURPOSE_TRACING_BIT
TOOL_PURPOSE_VALIDATION_BIT
toolTip1
too many blocks in cooperative launch
too many files open
too_many_files_open
too many files open in system
Too many indexes in file: recompile and increase SDB_MAX_INDEXES
too many length or distance symbols
too many links
Too many links
too many macro parameters
Too many open files
Too many open files in system
Too many references
too many resources requested for launch
too many symbolic link levels
Too many users
Too small
			top: -10px;
			top: 80px;
			top: 8px;
ToPointer
TopologyInfo
TopologyInfoToTopology
TopologyNode
TopologyNodeControlStatus
TopologyNodeInfo
TopologyNodeType
To save to subparts of a document use the 'write' command
ToShortDateString
ToString
TotalAllocationSize
totalDigits
Total errors detected across entire chip.
Total free memory.
totalHits
Total installed GPU memory.
Total Memory
TotalMemory
Total memory allocated by active contexts.
Total memory reserved by the NVIDIA driver and firmware.
TotalMountTime
TotalOutputPower
TotalPowerOnHours
TotalRecordCount
TotalWidth
ToUInt16
ToUInt32
ToUInt64
ToUnicodeEx
ToUniversalTime
towlower
towupper
t#PB16 ['
                              t - PCIe Rx and Tx Throughput
 tPD8k2u3H
tPI(qJWg
.tPolicy
@.tPolicy
tPrPF7F7
 tQD8c:u0M
tQD8c:u0M
tQfD9 tK
(T#q*qbz
tqqqqppppppppppppppppppppu
TQQVVVYfx
.(-'-t"r"?)?)
TraceEvent
TraceFileName
TraceLevel
traceLevelFlag
TraceListenerCollection
TraceLoggingError
TraceLoggingInfo
traceLoggingMessage
Tracelog provider registered
Tracelog provider unregistered
TraceMessage
tracerptPath
TraceSwitch
TrackMouseEvent
TrackPopupMenu
TrackPopupMenuEx
trademark
trademarksans
trademarkserif
  trans: 
TransactNamedPipe
transfer closed with outstanding read data remaining
Transfer-Encoding
Transfer-Encoding:
Transfer-Encoding: chunked
Transferred a partial file
TransferShouldLeaveBuildingQEmpty
TransferTimeInMS
?transformedAlphaSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
?transformedATensorSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
?transformedBetaSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
?transformedBiasSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
?transformedBTensorSize@GemmShader@cask@@UEAA_KAEAVRunInfo@2@@Z
TRANSFORMER
transformFeedback
transformFeedbackDraw
transformFeedbackPreservesProvokingVertex
transformFeedbackPreservesTriangleFanProvokingVertex
transformFeedbackQueries
transformFeedbackRasterizationStreamSelect
transformFeedbackStreamsLinesTriangles
(transient only)
TransitioningToPowerState
TransitioningToState
translate
TranslateAcceleratorW
TranslateCharsetInfo
TranslateMDISysAccel
TranslateMessage
TranslateNameW
TransmitFile
TransparentBlt
Transport
transpose
transpose(
tRD8;t3H
Treating as warning and moving on.
Trebuchet MS
_tred.andk
Trending
tRf2390A
trfD9kTukD8sVueH
trHtdHtMHt8Ht
tRH;X uLH
triangleFans
TRIANGLELIST
TRIANGLES
TRIANGLESTRIP
Tried to read scan line outside the image file's data window.
Tried to read scan line sample counts outside the image file's data window.
Tried to write more scan lines than specified by the data window.
TriggerCollection
TriggerReason
T!R!p*p*V)V)
?TruncateBase@PATH@@QEAAEXZ
TrustedCN
TrustedRootCertficate
TryAcquireSRWLockExclusive
TryDeleteFile
TryDeleteFiles
TryEnterCriticalSection
TryGetRegistryPreference
trying to free pointer from freed area
Trying to init unknown metric
Trying to read offload pin id...
TryParse
.t.Sample(
.t.SampleLevel(
tSf91tNH
tsf98tnH
tsH9YXuE
t.shared
tsize parsed from OACK
tsuperior
t t0t1t.t
T T0T1T.T
t@t0t8t6t
T@T0T8T6T
)T-T-5)4)
t@tAt8t:t
T@TAT8T:T
tTD8c:u0M
ttfE9(tnH
Tt)jhZf;
t@tPtQtNt
T@TPTQTNT
t@tPtXtVt
T@TPTXTVT
ttria[[g
(t|T)(rue)?|1
TTTpTTTp
TTTpVVVA
TTTpVVVATTTp
TTTpVVVATTTpppp
TTTsTTTo
TTTsTTTs
TTTsTTTsTTTsTTTs
TTTsWWWIXXX
tttt""""
T	T	T	T	T	T	T	T	T	T	T	T	T	T
TTT	VVVD
TTT	VVVDXXXvVVVDTTT	
|||tttYYYYYT
 T*T*v)w)
tucvta.to
tuD9]Wto
	TUD..?a
;T?U?J:I:
Tunneling
TunnelLifeTime
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_1
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_2
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_3
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_4
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_5
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_6
turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_END
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L1
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L2
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L3
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L4
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L5
.turing_bf16_s1688gemm_bf16_128x128_ldg8_f2f_nt_v1_L6
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_1
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_2
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_3
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_4
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_5
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_6
turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_END
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L1
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L2
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L3
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L4
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L5
.turing_bf16_s1688gemm_bf16_256x128_ldg8_f2f_nt_v1_L6
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r3s3c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r5s5c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r7s7c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k16r7s7c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r3s3c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r5s5c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r7s7c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k32r7s7c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r3s3c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r5s5c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r7s7c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_fprop_f16f16f32_nhwc_nhwc_k64r7s7c8_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k16r7s7c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k32r7s7c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r3s3c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r5s5c4_stride2x2
turing_cutlass_image_network_first_layer_hmma_wgrad_f16f16f32_nhwc_nhwc_k64r7s7c4_stride2x2
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_1
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_2
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_3
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_4
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_5
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_6
turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_END
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L1
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L2
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L3
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L4
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L5
.turing_fp16_s1688gemm_fp16_128x128_ldg8_f2f_nt_v1_L6
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_1
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_2
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_3
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_4
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_5
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_6
turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_END
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L1
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L2
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L3
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L4
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L5
.turing_fp16_s1688gemm_fp16_256x128_ldg8_f2f_nt_v1_L6
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_1
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_2
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_3
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_4
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_5
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_6
turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_END
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L1
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L2
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L3
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L4
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L5
.turing_fp32_s1684tf32gemm_fp32_128x128_ldg4_nt_v1_L6
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_1
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_2
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_3
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_4
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_5
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_6
turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_END
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L1
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L2
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L3
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L4
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L5
.turing_fp32_s1684tf32gemm_fp32_256x128_ldg4_nt_v1_L6
turing_h1688gemm_128x128_ldg8_nt_v1
turing_h1688gemm_128x128_ldg8_nt_v1_1
turing_h1688gemm_128x128_ldg8_nt_v1_2
turing_h1688gemm_128x128_ldg8_nt_v1_3
turing_h1688gemm_128x128_ldg8_nt_v1_4
turing_h1688gemm_128x128_ldg8_nt_v1_5
turing_h1688gemm_128x128_ldg8_nt_v1_6
turing_h1688gemm_128x128_ldg8_nt_v1_END
.turing_h1688gemm_128x128_ldg8_nt_v1_L1
.turing_h1688gemm_128x128_ldg8_nt_v1_L2
.turing_h1688gemm_128x128_ldg8_nt_v1_L3
.turing_h1688gemm_128x128_ldg8_nt_v1_L4
.turing_h1688gemm_128x128_ldg8_nt_v1_L5
.turing_h1688gemm_128x128_ldg8_nt_v1_L6
turing_h1688gemm_256x128_ldg8_nt_v1
turing_h1688gemm_256x128_ldg8_nt_v1_1
turing_h1688gemm_256x128_ldg8_nt_v1_2
turing_h1688gemm_256x128_ldg8_nt_v1_3
turing_h1688gemm_256x128_ldg8_nt_v1_4
turing_h1688gemm_256x128_ldg8_nt_v1_5
turing_h1688gemm_256x128_ldg8_nt_v1_6
turing_h1688gemm_256x128_ldg8_nt_v1_END
.turing_h1688gemm_256x128_ldg8_nt_v1_L1
.turing_h1688gemm_256x128_ldg8_nt_v1_L2
.turing_h1688gemm_256x128_ldg8_nt_v1_L3
.turing_h1688gemm_256x128_ldg8_nt_v1_L4
.turing_h1688gemm_256x128_ldg8_nt_v1_L5
.turing_h1688gemm_256x128_ldg8_nt_v1_L6
 Turn ECC Off if you are running GPU-accelerated ray tracing applications.
T	U	S	R	
TUUUUUUUL
)T-U-Y"Y"U(S(
tVf91tQH
tVfD93tPH
TW-226712990
TW-841492240
twodotenleader
twoinferior
twooldstyle
Two or more GPIO pads provided in file have same feature field value set.
Two or more GPIO pads provided in file have same pad address set.
twosuperior
twothirds
txA9u0uQI
TxDefaultCount
TxDefaultDrop
TxDefaultMatchEvent
txtColorCode1
txtColorCode2
txtColorCode3
txtColorCode4
Tx Throughput
txtSimilarColor
]T@#X]vz
T)ycps5X
tyfD9 tsH
TY[[[kaia
TypeConverter
TypeConverterAttribute
type definition
TypeDescriptions
 Type Descriptor'
type has elem content but no content model
type has no base-type assigned
type mismatch
TypeMismatch
type mismatch between conditional values
Type: NULL
TypeOfDependency
TypeOfRangeSwitching
type of workload
type prefixes for annotations are deprecated and ignored
type_traits
tyWShx9j
Tz4|4e7e7
Tz:!!aBvvv
tZfE91tTH
tzGqf0SY_B
tzliche Hinweise.
tzReporter
*u#0c|IK
u0f NZNZ
U0V0KGHGM8M8
u"1f24LS
!;*u2!_f
u2QK9(ea|q.
.U2T2U4U4
u2Vj@hhTO
u2Vj@hHwD
u2Vj@h YB
u32 smem_ptr; addH
u32 smem_ptr; addI
u32.u16	
u32.u64	
.u32.u64	S
u32.u64	W
u3I;Q r-w
u64.u32	!
u64.u32	Y
u6;Q r1H
u7E;A |1L;
u7;K r2H;
'U8U89;9;	A
(u8v8P;O;
U@!93Xeo
u|9F(uw9E0urM
u:9uHu9H
u@9xdt99
Uacutesmall
UalInstrument
UalStart
@UATAUAVAWH
UATAUAVAWH
UATAUAVH
UATAUAVI
@UATAUAW
@UATAUAWH
@UAUAVAWH
UAUAVAWH
UBB0_674
UBB0_9vj
ubergemm
UBERGEMM
UBERGEMM.BATCH_0000
UBERGEMM.COMMAND_LINE
UBERGEMM.ERROR_INFO
ubergemm.exe
UBERGEMMH
ubergemm.log
ubergemm_logger
UBERGEMM.STATUS
UBERGEMM.VERSION
Ubk[w	Ti
UB@s?hh2
uBtB0E0EA)B)
?#???U?c?
uCf207B4
ucircumflex
Ucircumflex
Ucircumflexsmall
:":U:c:|:m;
uCPPPPPVj
UCS4 2143
UCS4 3412
;uCtC0)1)
uCuC?D?D
ucvta.to
ucvta.toG(
u)D;Adu#8
u:D;a r4H;
udBB0_30
udc_config
UdcPluginHost
UdcPluginHost.exe
_udcProcessId
UdcServiceDll.dll
_udcServiceStopMutex
_udcStatusCheckingTask
udcStatusCheckThreadProc
uD;D*3sB
UdgpppppWg
udieresis
Udieresis
Udieresissmall
udIgtCa8
u	dKL@nA
".uDl?421
.UdLl	8*
uDM99t?H
UdOcO:P:PbLcL
udp-send-to@amt.intel.com
uD;S |?H
UDuoNz45
uEA;Q |?E
UEFI WiFi Profile Share is 
;U;];e;m;
uewvfKhD
U'!f1P)2f15
]Uf2672x
u'f92tPA;
u-f9G0u'f9G@u!f9GPu
uFA;P |@I
uFA;Q |@E
u fD9P u
;';U;f;p;
UfQjNviK
UFRO INCORPORATION0
UFRO INCORPORATION1
?#?#uFuFIQKQ
Uf_#z]f"A
Ugaritic
ugB"!Tvd
UgI55di_
ug"ooS_#
Ugravesmall
u H9Q8tqH
uHA;Q |BI
uHu)A;_ 
uhungarumlaut
Uhungarumlaut
_ui64tow
_ui64tow_s
	!uI6Uk5
u(I96uDL
UiaGetReservedMixedAttributeValue
UiaHostProviderFromHwnd
UiaRaiseAutomationEvent
UiaReturnRawElementProvider
       UI artifacts.
UIAutomationCore.DLL
uiBufSize
uIdSubclass
UIDVALIDITY
UIElement
uIf9r@uCD
UI#i 1y]mB
UIII9]]]F
ui_items
uI_ITIwIxIyI
ui_label
ui_label_
UILaunchType
uint16_t
uint temp
u)I;P r#w
ui_tooltip
ui_tooltip_
Uiym_cyy
ujD;r |dE
_uj@@oWG
uJ;Z |EE
u.j	Zf9U
uKLcAxMk
uKPPPPPPP
	uKq2v5J
U]l3.8NY[
@UL 'aqy
ulBytesReturnedW
ulib.dll
uL*)lA6b
ul.lo.s32
ul.lo.s32 
ul.lo.s64
ul.lo.s64h
ULONG_PTRWWWd
ulp.f32	U
UltimateResourceFallbackLocation
ULTLq;q;
_ultoa_s
ult.s32	
u_malloc() failed in key_value_create
UmsThreadYield
Unable to
Unable to allocate EKU.
Unable to allocate memory for directory path
Unable to allocate memory for full name
Unable to allocate process history buffer
Unable to allocate trailing headers buffer !
Unable to change cuda clock mode.
Unable to change permission.
Unable to communicate with GPU because it is insufficiently powered.
UNABLE_TO_COMPLETE_OPERATION
Unable to create hash for file!
Unable to create Security Descriptor
Unable to detect if the request to disable ME succeeded.
Unable to determine FW Update OEM ID status.
Unable to determine Intel(R) ME Manufacturing Mode status.
Unable to determine the number of GPUs
Unable to execute command in this Firmware State. Please reboot.
Unable to find matching LOCL.
Unable to get certificate EKU.
Unable to get current driver in use by device.
Unable to get master base address from the descriptor.
unable to get shader from cask :
Unable to identify the API provided. Resorting to the default API.
- unable to initialize heap
unable to initialize security descriptor
Unable to initialize Security Descriptor
Unable to initialize XML library
unable to locally allocate security descriptor... using default security descriptor
Unable to locate setup
Unable to negotiate SOCKS5 GSS-API context.
- unable to open console device
Unable to open reparse point: 
Unable to parse FTP file list
Unable to parse groupId after --sync-boost-remove argument.
Unable to perform CreateFile.
Unable to perform request due to permission failure.
Unable to read EKU data.
Unable to receive initial SOCKS5 response.
Unable to receive SOCKS5 sub-negotiation response.
Unable to resolve kernel : 
Unable to send initial SOCKS5 request.
Unable to set ciphers to passed via SSL_CONN_CONFIG
unable to set entries in ACL
unable to set security descriptor DACL
Unable to set Security Descriptor DACL
Unable to set window hidden from capture.
Unable to validate address range.
__unaligned
unaligned bigints
uNA;P |HE
UnauthorizeActAccess
UnauthorizedAccessException
uN;B |II;
unbounded
__uncaught_exception
?uncaught_exception@std@@YA_NXZ
UncompressedDataRate
uncompressfp16N
uncompressfp16T
uncompressint8N
uncompressint8T
uncompresstf32N
uncompresstf32T
uncorrectable ECC error encountered
Uncorrectable Error
uncorrectable NVLink error detected during the execution
undeclared identifier '
undeclared identifier or no matching intrinsic overload for '
undefined
UNDEFINED
Undefined Error
Undefined namespace prefix
Undefined Status
Undefined variable
underflow of Type 1 operand stack
underlined text style
UnderlinePosition
UnderlineThickness
underscore
underscoredbl
UndockEvent
Undocumented SOCKS5 mode attempted to be used by server.
unescaping URI value
Unexpected 0 next write offset.
Unexpected attribute type.
unexpected attr prohibition found
Unexpected change of input
unexpected change of input buffer
Unexpected CLASS
Unexpected connector type!
Unexpected continuation response
Unexpected data block length.
Unexpected data block y coordinate.
unexpected end of data
unexpected end of file in macro expansion
unexpected error number
Unexpected failure when retrieving BIST results.
Unexpected global component type
- unexpected heap error
Unexpected internal FW error occurred. Invalid parameter.
Unexpected internal FW error occurred. Object was not found.
- unexpected multithread lock error
unexpected newline
Unexpected null offsets
Unexpected NVML event
Unexpected part number 
Unexpected part number.
Unexpected redefined component type
Unexpected result in command response.
UnexpectedSelectors
Unexpected tile block length.
Unexpected tile x coordinate.
Unexpected tile x level number coordinate.
Unexpected tile y coordinate.
Unexpected tile y level number coordinate.
unexpected token
Unexpected TYPE
Unexpected type for image attribute "
UNFINISHED
unfinished adapter has been queried for return status
Unfinished entity outside the DTD
Unfinished literal
Unfinished PubidLiteral
Unfinished SystemLiteral
Unfinished System or Public ID " or ' expected
UnFreeze
ungetc failed
uNH;7tII
Unhandled compression scheme case
UnhandledExceptionFilter
?Unhook@CGamePanelExternalHook@@QEAAXXZ
Unhooking - BEGIN
Unhooking - END
Unhooking keyboard
Unhooking mouse
UnhookWindowsHookEx
UnhookWinEvent
UnicodeToMB
UnifiedCanadianAboriginalSyllabics
uniformAndStorageBuffer16BitAccess
uniformAndStorageBuffer8BitAccess
uniformBufferStandardLayout
uniform float2 __TEXEL_SIZE__ : register(c255);
': uniform global variables cannot be declared 'static'
uniformTexelBufferOffsetAlignmentBytes
uniformTexelBufferOffsetSingleTexelAlignment
?UnInit@ConfigPolicyAgent@@QEAAXXZ
Uninitialized
UNINITIALIZED_PROXY
Uninitializing
UnInitProcessPriv
UnInitThread
Uninstalling driver updates...
UninstallInstantOn
UninstallKeyPath
?UninstalllAllPackages@DeployAgent@@QEAA_NXZ
UninstallPowerManager
UnInstallSmartStandby
UninstallTask
UnionChoice
UnionRect
union simple type has no member types
union type
union type has no member-types assigned
union type 'xs:
unique '
UniqueID
unique identity-constraint
  UNIT MODIFICATION OPTIONS:
UnitsDescription
UnitsUsed
universal
UnKBHookEx
(unknown)
[unknown] 
Unknown. 
Unknown. (
UNKNOWN1
UNKNOWN4
UNKNOWN5
UNKNOWN6
UNKNOWN7
UNKNOWN9
Unknown AC Compression
unknown address family
unknown A layout
unknown attribute
UNKNOWNB
unknown B layout
UNKNOWNC
UNKNOWN_CERT_TYPE
Unknown char property
unknown chip
unknown compression method
Unknown compression method in chunk offset reconstruction
Unknown compression type in image header.
UNKNOWND
unknown data type in archive
Unknown datetime type
unknown dispatch from main thread
UNKNOWNE
unknown element type
unknown error
?? Unknown error ??
Unknown error
Unknown error !
Unknown error.
Unknown Error
UnknownError
Unknown error occured while execution of coinstaller binary
unknown esc op
?Unknown exception
Unknown exception
Unknown exception caught from Worker::DoWork
Unknown exception in logger
Unknown exception occured while uninstalling 3DVision
Unknown file encoding
unknown format specifier
Unknown hardware platform.
UNKNOWN_HASH_TYPE
unknown header flags set
Unknown IO error
Unknown LevelMode format.
Unknown module type
Unknown or unsupported hardware platform.
unknown output file format
Unknown PCM integer sample type
Unknown pixel data type.
Unknown pixel type.
unknown pragma ignored
Unknown processing type!
unknown proxytype option given
UnknownQ
UnknownRealm
Unknown registry value data type
Unknown registry value type
Unknown reparse point
Unknown result type!
Unknown source
UNKNOWN_VkColorSpaceKHR
UNKNOWN_VkDriverId
UNKNOWN_VkFormat
UNKNOWN_VkImageTiling
UNKNOWN_VkPhysicalDeviceType
UNKNOWN_VkPointClippingBehavior
UNKNOWN_VkPresentModeKHR
UNKNOWN_VkResult
UNKNOWN_VkShaderFloatControlsIndependence
Unkown shape type!
	unless you limit it to one device with the "--device"
Unlicensed
Unlicensed (Restricted)
Unlicensed (Unrestricted)
unlimited
Unloaded
UnloadTime
UnloadUserProfile
UnlockBlock
_unlock_file
UnlockFile
UnlockFileEx
_unlock_locales
UnmanagedCode
UnmanagedType
unmapping of buffer object failed
UnmapViewOfFile
unmatched ')'
UnMouseHookEx
unordered list 
UnpackDDElParam
unpaired return at cmdRETURN
unparsable
Unprovision
Unprovisioning started
UnProvisioning Started
UnpublishedDriverUpdateCount
unqualified
unreachable code
unreachable network
Unread Buffered Data
unrecognized device format.
unrecognized error code
unrecognized exception
Unrecognized input file format
Unrecognized or bad HTTP Content or Transfer-Encoding
Unrecognized parameter passed via CURLOPT_SSLVERSION
Unrecognized parameter value passed via CURLOPT_SSLVERSION
unrecognized pass state '
unrecognized preprocessing directive '
unrecognized property '
Unrecognized response.
Unrecognized value in the HSFSTS register.
Unrecoverable error in call to nameserver
unregister
-UnRegister
UnregisterApplication
UnregisterClassA
UnregisterClassW
UnregisterDeviceNotification
UnregisterDevicePnpEvents
UnregisterDevicePnpNotification
Unregistered error message
Unregistered function
UnregisterHotKey
UnregisterManifest
UnregisterNotificationCallback
UnregisterObjects()
UnregisterPowerSettingNotification
UnregisterRtkAudUServiceCOMNotificationCallbackW(
UnregisterTouchWindow
UnregisterTraceGuids
UnRegisterTypeLibForUser
UnregisterWait
UnregisterWaitEx
UnregisterWebPlatformPermanentSecurityManager
UnregServer
UnreportableSuccess
UNRESTRICTED
[unroll] 
UnsafeValueTypeAttribute
UNSAlert
UNSAlert Class
unsigned
unsigned 
unsignedByte
unsignedInt
unsignedLong
unsignedShort
unspecified launch failure
unspecified launch failure in prior launch
Unsubscribe
Unsupported
Unsupported beta value
Unsupported BMP colormap format
Unsupported color conversion request
Unsupported combination of EHBC state and privacy level files.
Unsupported dimensions or number of dimensions
UnsupportedExpirationType
UnsupportedFeature
Unsupported filter size
Unsupported Formats
unsupported header type to get chunk offset table size
Unsupported HECI bus message protocol version.
Unsupported HTTP version in response
unsupported MDTM reply format
Unsupported memory alignment or padding
Unsupported operation under current compute capability
Unsupported or inconsistent batch sizes
Unsupported or inconsistent convolution padding
Unsupported or inconsistent groups specification
Unsupported or inconsistent Split H request
Unsupported or inconsistent Split K request
Unsupported or inconsistent tensor format
Unsupported or wrong settings for split-complex
Unsupported OS.
Unsupported output file format
Unsupported protocol
unsupported regular capture format
Unsupported SASL authentication mechanism
Unsupported scalar type conversion
Unsupported SIMD type conversion
unsupported SMs
Unsupported tensor sparse ratio
UnsupportedTokenType
Unsupported vectorization
Unsupported workload pattern
unterminated #if
Unterminated quantifier
unterminated string literal
UntilTime
uNtNQ]Q]QETE
UntrustedRoot
UnusableAddress
UnverifiableCodeAttribute
Unverified
uo9Gdu7H
UoAz7m0(7K
UoBOKI|8)
UOB record is already invalid.
UOB record is too large.
uoD;B |iH;
uoD;G riH;
uofE9M"uhfE9M2uafE9MBuZfE9MRuSfE9MbuLfE9MruEA
 ]uOk	v6t3
UOUO*3(3
upButton
UpButtonClickCount
UpdateApixData
Update between engineering build vs regular build is not allowed.
UpdateColor
updated access control list for NGX cache (NGX cache should now be usable by all authenticated users)
UpdateDataContext
UpdateDeviceParameter
UpdateDriverForPlugAndPlayDevices
UpdateDriverForPlugAndPlayDevicesW
UpdateDriverOption
UpdateFiveButtonAreaValue
Update from PV bit ON to PV bit OFF is not allowed.
Update FTPR must have the same FW Type and Sub-Type as Flash FTPR.
UpdateGlyphBitmapImage
Update Image has wrong structure for Full Update operation.
Update Image has wrong structure for Partial Update operation.
Update Image length is bigger than the expected size of the image according to its size in the flash.
Update Image length is not the same as Flash Image length.
Update Image size exceeds allocated buffer.
UpdateIndicatorType
Update IUP must not have SVN smaller than SVN of Flash IUP.
Update IUP must not have VCN smaller than VCN of Flash IUP.
UpdateLayeredWindow
Update of partition between engineering build vs regular build is not allowed.
Update operation timed-out; cannot determine if the operation succeeded.
UpdatePerUserSystemParameters
Update plugins
UpdatePostureState
UpdatePresenceDataProperties
UpdateProcThreadAttribute
UpdatePSTDisplay
UpdaterCallbackLastHR
UpdaterCallbackLastRan
UpdateRegistry
UpdaterStartLastHR
UpdaterStartLastRan
UpdateScreenSettings
UpdateScreenSettings2WWW
UpdateSerie
UpdateSmartPadDisplay
UpdateStatistics
UpdateStatus
UpdateStorageFpaclEntry
Update this var is not supported if AMT is provisioned.
Update to higher SVN must be an upgrade - to higher build version.
Update to higher SVN must be to a higher Hot Fix number (the third number in the build version).
Update to higher TCB SVN must be also to higher ARB SVN.
Update to Image with lower ARB SVN is not allowed.
Update to Image with lower TCB SVN is not allowed.
Update to Image with lower VCN is not allowed.
?UpdateTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?UpdateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
Update to PV bit OFF on Revenue platform is not allowed.
UpdateType
UpdateUserAclEntryEx
UpdateUserDefineTPState
Update was blocked by one of the FW modules.
UpdateWiFiSettings
UpdateWindow
UpdateWindowPosition
UpdatingFirmware
Updating _pBroadcastButton state on UI thread 
upE;B |jE
UpgradeClientToAdmin
UpgradeCondition
Upgrade from client to admin control mode
UpgradeMethod
UPKRKL.K.
upL9-Ii.
Uploading to a URL without a file name!
upperBound................
Upper Bus filter is not supported for this driver
UpperFilters
UpperLeftX
UpperLeftXWW
UpperLeftY
UpperLeftYWW
u	PPh0ik
Upsilon1
upsilondieresis
Upsilondieresis
upsilondieresistonos
upsilontonos
Upsilontonos
UpstreamNotTunneled
UptimeId
u"PWh4rk
UQb32 pSx
!U]QbT]y
uQE;A |KM
uqL9.tlL9nHtfI
UQPXY]Y[
;:u-QQWj
u?;Q r:I;
*Ur5]*x0X
UriFormatException
UriLimitExceeded
uriStartString
UrlEscapeW
urlmon.dll
URLReference
urn:oasis:names:tc:entity:xmlns:xml:catalog
urn:publicid:
UrOrO6Q4Q
URPQQh0#G
URPQQh@HE
URPQQhPjF
URPQQh rK
uRQ.qQ(at8
urrentfile
Urv?s2Ba
usable for
Usage Mode
Usage ModeE
    Usage: nvidia-smi daemon [options]
    Usage: nvidia-smi dmon [options]
    Usage: nvidia-smi pmon [options]
    Usage: nvidia-smi replay [options]
usagePage
?Usage@PROGRAM@@UEBAXXZ
UsageRestriction
US-ASCII
@USATAUAVAWH
@USATAUAVH
USATAVAWH
@USATAVH
UsbOnlyOnFirstDepth
USBr Disabled
USBr Enabled
USBr Session Closed 
USBr Session Opened
USC4 big endian
USC4 little endian
US-DELAWARE-33484070
US-DELAWARE-38879640
  [use] 
Use at your own risk!
Use -? command line argument to get a list of available options
use_cupti
use_curand
Used an invalid input parameter to access the NVAR file.
UseDefaultOsverCheck
used_gpu_memory
            Used GPU Memory               : Not available in WDDM driver model
Used in TOUCH_SENSOR_HID_READY_FOR_DATA_RSP to indicate sensor has been disabled or reset and
used_memory
UsedMemory
Used size too big for xmlBuffer
'Use for both graphics and compute tasks
-useGFNCDN
UseIe4TrustFlag
Use of deprecated xmlCatalogGetPublic() call
Use of deprecated xmlCatalogGetSystem() call
Use of parentRef without a parent grammar
user32.dll
User32.dll
USER32.dll
USER32.DLL
UserAccessControlRealm
User-Agent
USER anonymous
User app host
UserAuthorization
UserCertificate
User consent configuration changed
User consent ended
User consent granted
_USER_CONSENT_POLICYW
User consent requested
UserContextLogPath
UserControl
User Defined Clocks
userenv.dll
USERENV.dll
userInitiatedPolicyRuleExistsWWWd
userInitiatedPolicyRuleForLocalMpsExistsX
username: 
Username
Username: 
UsernameToken
User Notification Alert - IP refresh LAN
User Notification Alert - IP refresh WLAN
User Notification Alert - Proxy synchronization disabled
User Notification Alert - Proxy synchronization enabled
UserOfService
User Opt-In
UserPassword
UserPasswordBypass
UserPasswordEncoding
UserPasswordEncryptionAlgorithm
UserPasswordEncryptionSalt
       User provided string to append the log file name
UserScopedSettingAttribute
User selected to cancel the operation.
User specified frequency at which applications will be running at. Can be changed with [-ac | --applications-clocks] switches.
User specified frequency of graphics (shader) clock.
User specified frequency of memory clock.
UserTraceSearchPattern
UserTracking
userXuid
UseSafeMode
UsesExistingXml
 uses unsupported "MinLOD" or "MaxLOD" value
 uses unsupported "MipLODBias" value
 uses unsupported "PrimitiveTopology" or "VertexCount" value
 uses unsupported "SRGBTexture" value
 uses unsupported "SRGBWriteEnable" value
Using ALL devices
Using driverless mode. Not initializing PCI.
Using driverless mode. Not initializing SPI.
UsingDxDbForReparenting
Using full-frame processing. Faster but requires significantly more memory.
using INF
Using pin id: 
Using wrong PCH SKU Emulation via Intel (R) FIT vs what's the actual HW Type.
@USVATAUAVAWH
USVATAUAVAWH
USVATAUAVH
@USVATAUAWH
USVATAUI
@USVATAVH
@USVATAWH
@USVAUAVAWH
@USVAUAWH
@USVAVAWH
USVAVAWH
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
USVWATAUI
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
@USVWATAWH
USVWATAWH
@USVWATH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAUAVH
@USVWAUAWH
@USVWAUH
@USVWAVAWH
USVWAVAWH
USVWAVAWI
@USVWAVH
@USVWAWH
@USWATAUAVAWH
USWATAUAVAWH
@USWATAUAVH
@USWATAUAWH
@USWATAUH
@USWATAVAWH
@USWATAVH
@USWATAWH
@USWAUAVAWH
@USWAUAVH
@USWAUAWH
@USWAVAWH
USWAVAWH
)	(	u	t	
UT05aPilc
"U(T(C*D*
UTCReplace_AppSessionGuid
@u?t?e;e;
UTF-16BE
UTF-16LE
UTF-16LEUNICODE
UTF8StrToWStr
UTF8StrToWStr : MultiByteToWideChar failed
UTF8ToHtml
UTF8Toisolat1
--utilization
utilization
    Utilization
Utilization
utilization.gpu
utilization.memory
UTILSCLK
utils.cu
:u?t?L;L;o;q;
'u:t:R7T7
#U*T*s#t#
**UTUUUU
u u0u1u.u
U U0U1U.U
u@u0u8u6u
U@U0U8U6U
U U 2 1 O
u@uAu8u:u
U@UAU8U:U
:UUge*0#
UuidCreate
UuidFromStringW
UuidToStringW
	U	U	i	h	
uUnF0V)V
uU;N rPH;
u@uPuQuNu
U@UPUQUNU
u@uPuXuVu
U@UPUXUVU
                              u - Utilization
UUU6RRR8SSS-WWW
UUUhVVVJjjj
UUUnTTTs
uuuu				
UUUU((((
	#UUUUUU
UUUUUUUT2
UUUUUUUUUB
UUUUUUUUUUS!
UUUUUUUUUUUT!fffffffi
U	U	U	U	U	U	U	U	U	U	U	U
UUUUUUUUUUUUUUUUUUUUU!
UUUUUUUY
U'U'V!U!
 U!V!1 2 p!p!
@UVATAUAVAWH
UVATAUAVAWH
@UVATAUAVH
UVATAUAVH
UVATAUAWH
@UVATAUH
@UVATAVAW
@UVATAVAWH
UVATAVAWH
@UVATAVH
@UVATAWH
@UVAUAVAWH
UVAUAVAWH
UVAUAVAWI
@UVAUAWH
@UVAVAWH
U.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4E
U.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4E
U.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4E
u:vri6Lg-OP]
u!VVhXfk
UVWATAUAVAW
@UVWATAUAVAWH
[ UVWATAUAVAWH
UVWATAUAVAWH
UVWATAUAVAWI
@UVWATAUAWH
@UVWATAUH
UVWATAUH
@UVWATAVAWH
@UVWATAVH
UVWATAVH
UVWATAWH
UVWAUAVH
@UVWAUAWH
UVWAUAWH
@UVWAVAWH
[ UVWAVAWH
UVWAVAWH
;";:;U;w;
@UWATAUAVH
UWATAUAVH
UWATAUAWH
@UWATAUH
@UWATAVAWH
UWATAVAWH
@UWAUAVAWH
UWAUAVAWH
@UWAUAVH
@UWAUAWH
@UWAVAWH
uW)B|vBYJ
UWP Mode: OTA Updates disabled. Snippet loading locations restricted to app and driver folders. Cannot check to load from update cache.
UWZJLOPRUegj
 uxH9s@urH9s
uX;r |SE
UxTheme.dll
U@XW;X[B
uyjoom;U
?#?@?U?Z?
uZqnKglFejCelCgkDdqLiyUr
v"""""""
V071Q1s1
V0h062H2
V#1f24A#"f2
V22dN::t
.v2v2G4G4
;V!30c*!30q*5307M
v4.0.30319
V4qWKy0'v
V5]ch@2?
v5erwCvpwW6SGpusGvRqg
V61103@S
V8)g_oFN
.V8Y8[)Z)
v8ZihQzy
V9g]Zh7	
V9H21129
[V9PUOiF
-v9t9Q;P;
-v9v9f;e;
__VA_ARGS__
vAb'KvEJ
validate
ValidateActiveHours
	validate     check the document for errors
ValidateRawIntervals
ValidateRect
?ValidateVersion@PROGRAM@@UEBAXKK@Z
validating
validating against a atomic type facet
validating against a built-in type
validating against a list type facet
validating against an enumeration facet
validating against a pattern facet
validating an item of list simple type
validating facets of atomic simple type
validating facets of list simple type
validating facets of union simple type
validating facet value
validating members of union simple type
Validating namespace
Validation failed: no DTD found !
validation using the given type is not supported while parsing a schema
validity 
validity error: 
validity warning: 
Valid UOB already present.
Value constraints are not allowed if the type definition is or is derived from xs:ID
Value data coresponding to Drivers key is empty. Will not invoke setup from cache
value is negative
valueKind
value must be a literal expression
value must be a literal scalar expression
valuePop
valuePush
                                             values
ValueSet
Value should be FWU_ENV_MANUFACTURING. (Other possible value: FWU_ENV_IFU is obsolete).
value too large
Value Tree is NULL !
valuetype
ValueType
value was not computed
VANTAGE_PFN
VaR[_34g
variableMultisampleRate
variablePointers
variablePointersStorageBuffer
variableSampleLocations
': variables cannot be declared 'in' or 'out'
': variables cannot be void
': variables declared 'groupshared' cannot have an initializer
VariableSpeed
': variables which are 'uniform' cannot be declared 'const'
variadic macros are not currently supported
variantKind
VariationSelectors
VariationSelectorsSupplement
@VATAUAVAWH
VATAUAVAWH
VATAVAWH
@VAUAVAWH
;VAWAM@M@
vAxdUfzv
v;;;;.-;;;b
.vB1W!gFg
vBB0_20:
VBB0_8qh
VBIOS_HASH_NOT_STARTED
VBiosStatus
vbios_version
VBIOS Version
--vboost
vbsFilePathID
vcG2001?
VCRUNTIME140_1.dll
VCRUNTIME140.dll
]VDLJ_9U
vebbGwm|
__vectorcall
vector dimension must be between 1 and 4
vector element type must be a scalar type
vector_init failed for storing the threads
vector too long
VendorCompatibilityStrings
VendorEquipmentType
vendorId
vendorID
Vendor Id
VendorID
VendorName
VendorType
VENDOR_UNKNOWN
--verbose
VerbosityQuiet
VerbosityScreenBlank
VerbosityVerbose
VerificationStatus
**Verify AzureStack HCI IMDS Attempt**
VerifyEmbeddedSignature
VerifyExistanceAndCertificate
Verifying file as self-signed failed.
VerifyVersionInfoA
VerifyVersionInfoW
VeriSign Trust Network1:08
VerQueryValueA
VerQueryValueW
VerSetConditionMask
 version 
--version
-version
Version 
'.version 7.1
.version 7.1
Version block has bad size
Version block invalid
VersionBlock is too long
VersionBlock not long enough
Version block out of range
VersionBox
 Version : CK XXX
VersionDlg
VERSION.dll
Version for the ECC recording data.
Version for the OEM configuration data.
Version for the power management data.
Version mismatch! 
Version mismatch between document and entity
Version number to locate in the local cache or download from the server. Expected format is major.minor.patch.0
VersionsJumped
VersionString
vertexAttributeAccessBeyondStride
vertexAttributeInstanceRateDivisor
vertexAttributeInstanceRateZeroDivisor
VertexCount
vertexInputDynamicState
vertexPipelineStoresAndAtomics
VertexShader
VertFrontPorchPixels
VerticalLines
VertSyncPolarity
VertSyncWidthPixels
VertTotalPixels
 VEzBayn
VffdD64FdC4DC#33333FfUUUVffDDCDfdD4DC333S33FfUUUTfDD4CDFdCc4C333333FfeUUQDDCF4DfdCdDC333333ffeUUU4D4d4DfdD633333333fffEUUTC6c1!
VFOt1vGv
vfreleas
V)GGz2?m
VgppppppWd
    vgpu -- Display vGPU information.
|      vGPU ID     Name           | VM ID     VM Name            | vGPU-Util  |
vgpu_instance
vGPU instance
vGPU Name
    vGPU Software Licensed Product
VGPU_START_ERROR
vGPU Type
vGPU Type ID
vGPU UUID
V;hMNy;@rSLU
vhtxr3EI
vi327 56?
video_clock
videoHeight
videoWidth
viewportBoundsRange
viewportSubPixelBits
                      violThm and xidEvent
VIP List
vIPv6DefaultRouterWWW
virtual 
VirtualAlloc
VirtualAllocEx
Virtual array controller messed up
VirtualFree
VirtualFreeEx
virtualization_mode
Virtualization Mode
VirtualKey
VirtualMemoryOperation
VirtualMemoryRead
VirtualMemoryWrite
VirtualProtect
VirtualQuery
VirtualQueryEx
VisibleAlarm
.visible .entry 
.visible .entry _
visible .entry
.visible .entry 4
.visible .entry6
.visible .entry turing_fp32_s1684tf32gemm
visible .entryU0
visible .entry w
visible .entry Y
".visible .entry _Z14poolNCxHWxInt8ILj3EEvPK19IMMA
..visible .entry _Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_i
#.visible .entry _Z22first_layer_fwd_kernelILi2ELi3
.visible .entry _ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE(
.visible .entry _ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE(
.visible .entry _ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx(
.visible .entry _ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx(
?vIuI5-3-m
Vj7VVVVV
'*vJ_#kuv
Vj_VVVVV
(*vK!#5f
--vkconfig_output
vkCreateDevice
vkCreateImage
vkCreateInstance
vkCreateWin32SurfaceKHR
vkDestroyDevice
vkDestroyImage
vkDestroyInstance
vkDestroySurfaceKHR
VkDrmFormatModifierPropertiesList2EXT
VkDrmFormatModifierPropertiesListEXT
vkEnumerateDeviceExtensionProperties
vkEnumerateInstanceExtensionProperties
vkEnumerateInstanceLayerProperties
vkEnumerateInstanceVersion
vkEnumeratePhysicalDeviceGroups
vkEnumeratePhysicalDeviceGroupsKHR
vkEnumeratePhysicalDevices
VK_EXT_4444_formats
VK_EXT_astc_decode_mode
VK_EXT_blend_operation_advanced
VK_EXT_border_color_swizzle
VK_EXT_buffer_device_address
VK_EXT_color_write_enable
VK_EXT_conditional_rendering
VK_EXT_conservative_rasterization
VK_EXT_custom_border_color
VK_EXT_depth_clip_enable
VK_EXT_descriptor_indexing
VK_EXT_device_memory_report
VK_EXT_discard_rectangles
VK_EXT_display_surface_counter
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2
VK_EXT_external_memory_host
VK_EXT_fragment_density_map
VK_EXT_fragment_density_map2
VK_EXT_fragment_shader_interlock
VK_EXT_full_screen_exclusive
VK_EXT_global_priority_query
VK_EXT_host_query_reset
VK_EXT_image_drm_format_modifier
VK_EXT_image_robustness
VK_EXT_image_view_min_lod
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_memory_budget
VK_EXT_memory_priority
VK_EXT_multi_draw
VK_EXT_pageable_device_local_memory
VK_EXT_pci_bus_info
VK_EXT_physical_device_drm
VK_EXT_pipeline_creation_cache_control
VK_EXT_primitive_topology_list_restart
VK_EXT_private_data
VK_EXT_provoking_vertex
VK_EXT_rgba10x6_formats
VK_EXT_robustness2
VK_EXT_sample_locations
VK_EXT_sampler_filter_minmax
VK_EXT_scalar_block_layout
VK_EXT_shader_atomic_float
VK_EXT_shader_atomic_float2
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_shader_image_atomic_int64
VK_EXT_subgroup_size_control
VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr
VK_EXT_transform_feedback
VK_EXT_vertex_attribute_divisor
VK_EXT_vertex_input_dynamic_state
VK_EXT_ycbcr_2plane_444_formats
VK_EXT_ycbcr_image_arrays
VkFormatProperties3
VkFormatProperties3KHR
vkGetBufferMemoryRequirements
vkGetDeviceGroupPresentCapabilitiesKHR
vkGetDeviceProcAddr
vkGetDeviceQueue
vkGetImageMemoryRequirements
vkGetImageSparseMemoryRequirements
vkGetInstanceProcAddr
vkGetPhysicalDeviceFeatures
vkGetPhysicalDeviceFeatures2
vkGetPhysicalDeviceFeatures2KHR
vkGetPhysicalDeviceFormatProperties
vkGetPhysicalDeviceFormatProperties2
vkGetPhysicalDeviceFormatProperties2KHR
vkGetPhysicalDeviceImageFormatProperties
vkGetPhysicalDeviceMemoryProperties
vkGetPhysicalDeviceMemoryProperties2
vkGetPhysicalDeviceMemoryProperties2KHR
vkGetPhysicalDeviceProperties
vkGetPhysicalDeviceProperties2
vkGetPhysicalDeviceProperties2KHR
vkGetPhysicalDeviceQueueFamilyProperties
vkGetPhysicalDeviceQueueFamilyProperties2
vkGetPhysicalDeviceQueueFamilyProperties2KHR
vkGetPhysicalDeviceSurfaceCapabilities2EXT
vkGetPhysicalDeviceSurfaceCapabilities2KHR
vkGetPhysicalDeviceSurfaceCapabilitiesKHR
vkGetPhysicalDeviceSurfaceFormats2KHR
vkGetPhysicalDeviceSurfaceFormatsKHR
vkGetPhysicalDeviceSurfacePresentModesKHR
vkGetPhysicalDeviceSurfaceSupportKHR
vkGetPhysicalDeviceToolPropertiesEXT
vkGetPhysicalDeviceWin32PresentationSupportKHR
VK_IMG_format_pvrtc
VkKeyScanExW
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_acceleration_structure
VK_KHR_buffer_device_address
VK_KHR_depth_stencil_resolve
VK_KHR_device_group
VK_KHR_device_group_creation
VK_KHR_driver_properties
VK_KHR_dynamic_rendering
VK_KHR_external_fence_capabilities
VK_KHR_format_feature_flags2
VK_KHR_fragment_shading_rate
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_imageless_framebuffer
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_maintenance4
VK_KHR_multiview
VK_KHR_performance_query
VK_KHR_pipeline_executable_properties
VK_KHR_portability_subset
VK_KHR_present_id
VK_KHR_present_wait
VK_KHR_push_descriptor
VK_KHR_ray_query
VK_KHR_ray_tracing_pipeline
VK_KHR_sampler_ycbcr_conversion
VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_atomic_int64
VK_KHR_shader_clock
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_integer_dot_product
VK_KHR_shader_subgroup_extended_types
VK_KHR_shader_subgroup_uniform_control_flow
VK_KHR_shader_terminate_invocation
VK_KHR_shared_presentable_image
VK_KHR_surface
VK_KHR_surface_protected_capabilities
VK_KHR_swapchain
VK_KHR_synchronization2
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_vulkan_memory_model
VK_KHR_win32_surface
VK_KHR_workgroup_memory_explicit_layout
VK_KHR_zero_initialize_workgroup_memory
VkPhysicalDevice16BitStorageFeatures
VkPhysicalDevice16BitStorageFeaturesKHR
VkPhysicalDevice4444FormatsFeaturesEXT
VkPhysicalDevice8BitStorageFeatures
VkPhysicalDevice8BitStorageFeaturesKHR
VkPhysicalDeviceAccelerationStructureFeaturesKHR
VkPhysicalDeviceAccelerationStructurePropertiesKHR
VkPhysicalDeviceASTCDecodeFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeatures
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR
VkPhysicalDeviceColorWriteEnableFeaturesEXT
VkPhysicalDeviceConditionalRenderingFeaturesEXT
VkPhysicalDeviceConservativeRasterizationPropertiesEXT
VkPhysicalDeviceCustomBorderColorFeaturesEXT
VkPhysicalDeviceCustomBorderColorPropertiesEXT
VkPhysicalDeviceDepthClipEnableFeaturesEXT
VkPhysicalDeviceDepthStencilResolveProperties
VkPhysicalDeviceDepthStencilResolvePropertiesKHR
VkPhysicalDeviceDescriptorIndexingFeatures
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
VkPhysicalDeviceDescriptorIndexingProperties
VkPhysicalDeviceDescriptorIndexingPropertiesEXT
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT
VkPhysicalDeviceDiscardRectanglePropertiesEXT
VkPhysicalDeviceDriverProperties
VkPhysicalDeviceDriverPropertiesKHR
VkPhysicalDeviceDrmPropertiesEXT
VkPhysicalDeviceDynamicRenderingFeatures
VkPhysicalDeviceDynamicRenderingFeaturesKHR
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
VkPhysicalDeviceExternalMemoryHostPropertiesEXT
VkPhysicalDeviceFeatures
VkPhysicalDeviceFloat16Int8FeaturesKHR
VkPhysicalDeviceFloatControlsProperties
VkPhysicalDeviceFloatControlsPropertiesKHR
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
VkPhysicalDeviceFragmentDensityMapFeaturesEXT
VkPhysicalDeviceFragmentDensityMapPropertiesEXT
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
VkPhysicalDeviceFragmentShadingRateFeaturesKHR
VkPhysicalDeviceFragmentShadingRatePropertiesKHR
VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT
VkPhysicalDeviceHostQueryResetFeatures
VkPhysicalDeviceHostQueryResetFeaturesEXT
VkPhysicalDeviceIDProperties
VkPhysicalDeviceIDPropertiesKHR
VkPhysicalDeviceImagelessFramebufferFeatures
VkPhysicalDeviceImagelessFramebufferFeaturesKHR
VkPhysicalDeviceImageRobustnessFeatures
VkPhysicalDeviceImageRobustnessFeaturesEXT
VkPhysicalDeviceImageViewMinLodFeaturesEXT
VkPhysicalDeviceIndexTypeUint8FeaturesEXT
VkPhysicalDeviceInlineUniformBlockFeatures
VkPhysicalDeviceInlineUniformBlockFeaturesEXT
VkPhysicalDeviceInlineUniformBlockProperties
VkPhysicalDeviceInlineUniformBlockPropertiesEXT
VkPhysicalDeviceLimits
VkPhysicalDeviceLineRasterizationFeaturesEXT
VkPhysicalDeviceLineRasterizationPropertiesEXT
VkPhysicalDeviceMaintenance3Properties
VkPhysicalDeviceMaintenance3PropertiesKHR
VkPhysicalDeviceMaintenance4Features
VkPhysicalDeviceMaintenance4FeaturesKHR
VkPhysicalDeviceMaintenance4Properties
VkPhysicalDeviceMaintenance4PropertiesKHR
VkPhysicalDeviceMemoryBudgetPropertiesEXT
VkPhysicalDeviceMemoryPriorityFeaturesEXT
VkPhysicalDeviceMemoryProperties
VkPhysicalDeviceMultiDrawFeaturesEXT
VkPhysicalDeviceMultiDrawPropertiesEXT
VkPhysicalDeviceMultiviewFeatures
VkPhysicalDeviceMultiviewFeaturesKHR
VkPhysicalDeviceMultiviewProperties
VkPhysicalDeviceMultiviewPropertiesKHR
VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
VkPhysicalDevicePCIBusInfoPropertiesEXT
VkPhysicalDevicePerformanceQueryFeaturesKHR
VkPhysicalDevicePerformanceQueryPropertiesKHR
VkPhysicalDevicePipelineCreationCacheControlFeatures
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
VkPhysicalDevicePointClippingProperties
VkPhysicalDevicePointClippingPropertiesKHR
VkPhysicalDevicePortabilitySubsetFeaturesKHR
VkPhysicalDevicePortabilitySubsetPropertiesKHR
VkPhysicalDevicePresentIdFeaturesKHR
VkPhysicalDevicePresentWaitFeaturesKHR
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
VkPhysicalDevicePrivateDataFeatures
VkPhysicalDevicePrivateDataFeaturesEXT
VkPhysicalDeviceProperties
VkPhysicalDeviceProtectedMemoryFeatures
VkPhysicalDeviceProtectedMemoryProperties
VkPhysicalDeviceProvokingVertexFeaturesEXT
VkPhysicalDeviceProvokingVertexPropertiesEXT
VkPhysicalDevicePushDescriptorPropertiesKHR
VkPhysicalDeviceRayQueryFeaturesKHR
VkPhysicalDeviceRayTracingPipelineFeaturesKHR
VkPhysicalDeviceRayTracingPipelinePropertiesKHR
VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
VkPhysicalDeviceRobustness2FeaturesEXT
VkPhysicalDeviceRobustness2PropertiesEXT
VkPhysicalDeviceSampleLocationsPropertiesEXT
VkPhysicalDeviceSamplerFilterMinmaxProperties
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
VkPhysicalDeviceSamplerYcbcrConversionFeatures
VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR
VkPhysicalDeviceScalarBlockLayoutFeatures
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
VkPhysicalDeviceShaderAtomicInt64Features
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
VkPhysicalDeviceShaderClockFeaturesKHR
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
VkPhysicalDeviceShaderDrawParametersFeatures
VkPhysicalDeviceShaderFloat16Int8Features
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
VkPhysicalDeviceShaderIntegerDotProductFeatures
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
VkPhysicalDeviceShaderIntegerDotProductProperties
VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
VkPhysicalDeviceShaderTerminateInvocationFeatures
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
VkPhysicalDeviceSparseProperties
VkPhysicalDeviceSubgroupProperties
VkPhysicalDeviceSubgroupSizeControlFeatures
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
VkPhysicalDeviceSubgroupSizeControlProperties
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
VkPhysicalDeviceSynchronization2Features
VkPhysicalDeviceSynchronization2FeaturesKHR
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
VkPhysicalDeviceTexelBufferAlignmentProperties
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
VkPhysicalDeviceTextureCompressionASTCHDRFeatures
VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
VkPhysicalDeviceTimelineSemaphoreFeatures
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR
VkPhysicalDeviceTimelineSemaphoreProperties
VkPhysicalDeviceTimelineSemaphorePropertiesKHR
VkPhysicalDeviceTransformFeedbackFeaturesEXT
VkPhysicalDeviceTransformFeedbackPropertiesEXT
VkPhysicalDeviceUniformBufferStandardLayoutFeatures
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR
VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceVariablePointersFeaturesKHR
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
VkPhysicalDeviceVulkan11Features
VkPhysicalDeviceVulkan11Properties
VkPhysicalDeviceVulkan12Features
VkPhysicalDeviceVulkan12Properties
VkPhysicalDeviceVulkan13Features
VkPhysicalDeviceVulkan13Properties
VkPhysicalDeviceVulkanMemoryModelFeatures
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
VkQueueFamilyProperties
VkSharedPresentSurfaceCapabilitiesKHR
VkSurfaceCapabilities2EXT
VkSurfaceCapabilitiesFullScreenExclusiveEXT
VkSurfaceCapabilitiesKHR
VkSurfaceProtectedCapabilitiesKHR
VLAN Parameters Set
vlp.b32	
VLWLp;n;
?-?V?_?m?
vmP*Z FlA
VNC Password Failed 3 Times
VnmIy34j
VN;;;;;;NV
VN:]|#@s
VO"7ijjf
': void function cannot have a semantic
void functions cannot return a value
 volatile
volatile
volatile 
        Volatile
Volatile
VOLATILE
volatile_count
VOLATILE_REGISTRY_NOT_FOUND
volta_dgemm_128x64_nt_v0
volta_dgemm_128x64_nt_v0_1
volta_dgemm_128x64_nt_v0_2
volta_dgemm_128x64_nt_v0_3
volta_dgemm_128x64_nt_v0_4
volta_dgemm_128x64_nt_v0_5
volta_dgemm_128x64_nt_v0_6
volta_dgemm_128x64_nt_v0_END
.volta_dgemm_128x64_nt_v0_L1
.volta_dgemm_128x64_nt_v0_L2
.volta_dgemm_128x64_nt_v0_L3
.volta_dgemm_128x64_nt_v0_L4
.volta_dgemm_128x64_nt_v0_L5
.volta_dgemm_128x64_nt_v0_L6
volta_first_layer_filter3x3_fwd
volta_first_layer_filter4x4_fwd
volta_first_layer_filter5x5_fwd
volta_first_layer_filter7x7_fwd
volta_first_layer_filter7x7_imma_fwd
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_1
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_2
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_3
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_4
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_5
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_6
volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_END
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L1
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L2
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L3
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L4
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L5
.volta_fp16_s884gemm_fp16_128x128_ldg8_f2f_nt_v1_L6
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_1
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_2
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_3
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_4
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_5
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_6
volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_END
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L1
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L2
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L3
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L4
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L5
.volta_fp16_s884gemm_fp16_256x128_ldg8_f2f_nt_v1_L6
    Voltage
Voltage Reg. 1
Voltage Reg. 2
Voltage Reg. 3
Voltage Reg. 4
volta_h884gemm_128x128_ldg8_nt_v1
volta_h884gemm_128x128_ldg8_nt_v1_1
volta_h884gemm_128x128_ldg8_nt_v1_2
volta_h884gemm_128x128_ldg8_nt_v1_3
volta_h884gemm_128x128_ldg8_nt_v1_4
volta_h884gemm_128x128_ldg8_nt_v1_5
volta_h884gemm_128x128_ldg8_nt_v1_6
volta_h884gemm_128x128_ldg8_nt_v1_END
.volta_h884gemm_128x128_ldg8_nt_v1_L1
.volta_h884gemm_128x128_ldg8_nt_v1_L2
.volta_h884gemm_128x128_ldg8_nt_v1_L3
.volta_h884gemm_128x128_ldg8_nt_v1_L4
.volta_h884gemm_128x128_ldg8_nt_v1_L5
.volta_h884gemm_128x128_ldg8_nt_v1_L6
volta_h884gemm_256x128_ldg8_nt_v1
volta_h884gemm_256x128_ldg8_nt_v1_1
volta_h884gemm_256x128_ldg8_nt_v1_2
volta_h884gemm_256x128_ldg8_nt_v1_3
volta_h884gemm_256x128_ldg8_nt_v1_4
volta_h884gemm_256x128_ldg8_nt_v1_5
volta_h884gemm_256x128_ldg8_nt_v1_6
volta_h884gemm_256x128_ldg8_nt_v1_END
.volta_h884gemm_256x128_ldg8_nt_v1_L1
.volta_h884gemm_256x128_ldg8_nt_v1_L2
.volta_h884gemm_256x128_ldg8_nt_v1_L3
.volta_h884gemm_256x128_ldg8_nt_v1_L4
.volta_h884gemm_256x128_ldg8_nt_v1_L5
.volta_h884gemm_256x128_ldg8_nt_v1_L6
volta_hgemm_256x128_nt_v0
volta_hgemm_256x128_nt_v0_1
volta_hgemm_256x128_nt_v0_2
volta_hgemm_256x128_nt_v0_3
volta_hgemm_256x128_nt_v0_4
volta_hgemm_256x128_nt_v0_5
volta_hgemm_256x128_nt_v0_6
volta_hgemm_256x128_nt_v0_END
.volta_hgemm_256x128_nt_v0_L1
.volta_hgemm_256x128_nt_v0_L2
.volta_hgemm_256x128_nt_v0_L3
.volta_hgemm_256x128_nt_v0_L4
.volta_hgemm_256x128_nt_v0_L5
.volta_hgemm_256x128_nt_v0_L6
volta_igemm_int8_128x128_ldg4_nt_v0
volta_igemm_int8_128x128_ldg4_nt_v0_1
volta_igemm_int8_128x128_ldg4_nt_v0_2
volta_igemm_int8_128x128_ldg4_nt_v0_3
volta_igemm_int8_128x128_ldg4_nt_v0_4
volta_igemm_int8_128x128_ldg4_nt_v0_5
volta_igemm_int8_128x128_ldg4_nt_v0_6
volta_igemm_int8_128x128_ldg4_nt_v0_END
.volta_igemm_int8_128x128_ldg4_nt_v0_L1
.volta_igemm_int8_128x128_ldg4_nt_v0_L2
.volta_igemm_int8_128x128_ldg4_nt_v0_L3
.volta_igemm_int8_128x128_ldg4_nt_v0_L4
.volta_igemm_int8_128x128_ldg4_nt_v0_L5
.volta_igemm_int8_128x128_ldg4_nt_v0_L6
volta_sgemm_128x128_nt_v0
volta_sgemm_128x128_nt_v0_1
volta_sgemm_128x128_nt_v0_2
volta_sgemm_128x128_nt_v0_3
volta_sgemm_128x128_nt_v0_4
volta_sgemm_128x128_nt_v0_5
volta_sgemm_128x128_nt_v0_6
volta_sgemm_128x128_nt_v0_END
.volta_sgemm_128x128_nt_v0_L1
.volta_sgemm_128x128_nt_v0_L2
.volta_sgemm_128x128_nt_v0_L3
.volta_sgemm_128x128_nt_v0_L4
.volta_sgemm_128x128_nt_v0_L5
.volta_sgemm_128x128_nt_v0_L6
VoltRail
VOLT_RAIL_INVALID
VOLT_RAIL_LOGIC
VOLT_RAIL_SRAM
Vonxxx2]
VO@XwG6?
                              v - Power and Thermal Violations
vQ][z@Yg
Vr1706kJ
vr1_temp
vr2_temp
vr3_temp
vr4_temp
Vrbra.uni
vRf2)B	@	c
V(R@X ZFX
vSCV5csG5cpqgvru'rwCtwpwV5vw
_vscwprintf
vsnnlkoq
_vsnprintf
vsnprintf failed !
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
vsprintf_s
VssIdToString
v SSSSWSh
vswprintf_s
V_SYNC_DEFAULT
V_SYNC_NEGATIVE
V_SYNC_POSITIVE
vsZMNa]d4
*v"t"l*l*
VToHOrigin
)V*U*;-9-
vucwVW4vugv
V;UE4w!.
vulkan-1.dll
		"vulkanApiVersion": "
vulkaninfo
VULKANINFO
vulkaninfo.html
                    "vulkaninfo.html" in the directory in which the command
vulkaninfo - Summarize Vulkan information in relation to the current environment.
                    vulkaninfo without any options specified.
	"Vulkan Instance Version": "
Vulkan Instance Version: 
vulkanMemoryModel
vulkanMemoryModelAvailabilityVisibilityChains
vulkanMemoryModelDeviceScope
) Vulkan version 
vunhhhgggkkksss|||
vUs()gcH
VUUUUUUUH
vuvwvwvwwwwvRR6R6
"V#V#) ) 
v v0v1v.v
V V0V1V.V
v@v0v8v6v
V@V0V8V6V
V!V!aPaPD5C5
v@vAv8v:v
V@VAV8V:V
#*vv"m(un
::;;VVoooo
v@vPvQvNv
V@VPVQVNV
v@vPvXvVv
V@VPVXVVV
vvusqqort
VVVATTTpooo
VVVATTTpTTTpVVVA
VVVDTTT	
VVVDTTTsTTTsTTTsVVVD
VVVDTTTsVVVD
VVVDTTTsVVVDeee
VVVDVVVD
VVVDVVVDddd
VVVDVVVDxxx
VVVDZZZyVVVDEEE
VVVgVVVJvvv
VVVJVVVg
vvvv[[[[
VVVVVVVj
@(V(VYKYK
|(|(V W 
VWATAUAV
@VWATAUAVAWH
VWATAUAVAWH
VWATAUAVAWL
@VWATAUAVH
VWATAUAVH
@VWATAUAWH
VWATAUAWH
@VWATAUH
VWATAVAW
@VWATAVAWH
VWATAVAWH
@VWATAWH
@VWAUAVAWH
VWAUAVAWH
VWAUAVAWL
@VWAUAVH
@VWAUAWH
@VWAVAWH
?#'Vw[Er
|[VWj	Y3
V:W:V;U;
vwwWgsuswwswVwwuwwusc
?V:W:Z;[;3?7?
_VY1!;5K
??_V@YAXPEAX@Z
VY"f2AY1f21
""""""""""""""""""""'w
;!;);@;w;
w""""""""
W07VjX]U
w1B:"34@
w333333337w2p
W4[rv2UY
;w6w6S6R6
;(;(W7T7[
W8TURc5m
W9sDuY95
w 9w uIH
wAA;M0w;A
WacEvent
WacEventPacket
wachidrouter_isd.inf
WacomDesktopCenter.exe
WacomISDLPenQuitEvent
WacomISDLTouchQuitEvent
Wacom ISD Service
WACOM Tablet
WaitAndRetrieveDriverEvent
WaitForDriverEvent
WaitForExit
WaitForInputIdle
WaitForMultiApplicationEvent
WaitForMultipleObjects
WaitForMultipleObjectsEx
WaitForSingleObject
WaitForSingleObjectEx
WaitForStatus
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
Waiting for device post-install to complete.
Waiting for power cycle.
Waiting for previous device install to complete.
Waiting for ServiceConfigThread to finish
Waiting for the listener thread to finish...
Waiting for the parent process tracking thread to finish...
WaitingForUserApproval
WaitMessage
WaitNamedPipeW
wait operation timed out
WaitTimeInMS
WakeAllConditionVariable
WakeConditionVariable
]wA).Nkk0
Warm reset ramp is not supported.
Warm reset required is too low.
: warning
warning : 
warning: 
warning: driver update needed to use latest features
Warning: EXCLUSIVE_THREAD mode is deprecated and will be removed in future releases.
Warning: Getting counter control is deprecated!
Warning: Getting counters using option -g is deprecated. 
WARNING: infoROM is corrupted
WARNING: Only monitoring up to 4 GPUs is supported by default.
Warning: Resetting throughput counters is deprecated!
Warning: Setting counter control is deprecated!
Warning: This option is deprecated and will be removed in future releases
warning: this shader is not a linkable shader!
WARNING: Using weak random seed
Warning: UWP compliant mode enabled. Console logging disabled.
Washington1
_wassert
WATAUAVAW
WATAUAVAWD
@WATAUAVAWH
WATAUAVAWH
WATAUAVAWL
WATAUAVH
@WATAVAWH
Watchdog
Watchdog action settings have been changed.
watcherLock
WatcherStopped
@WAUAVAWH
WAUAVAWH
Wave filter Connector GetType failed! Result: 0x
WAVEfmt 
WAVEFORM
WAVEFORM_NO_CHECK
?.?W?a?z?
WB666666CX
wBB0_20:
wBB0_20:]1
wBB0_20:f2
wBB0_21:k6
wBB0_23:
wcircumflex
Wcircumflex
WCOD partition hash and calculated hash are not the same.
wcscat_s
wcscpy_s
wcsftime
wCsgWgGVsGgW'
_wcsicmp
_wcslwr_s
wcsncpy_s
_wcsnicmp
_wcsnset
wcstok_s
_wcstoui64
_wcsupr_s
wct!*ygk
wCWDna(Q
;wCyCDDFD
wDAfe.uh
W_ddddgMg
WdggdmmQg
wdieresis
Wdieresis
wDpwpAJSk
we6V7e67pwGW67Vwquv
We are completely uploaded and fine
webAPITimer
WebClient
WebClientWithTimeout
webColorAPIFeq
WebError
WebHeaderCollection
WebInstallerCheckURL
WebInstallerInfo
			-webkit-background-size: cover;
WebRequestTimeout
WebResponse
Wednesday
Weekday is out of range 0..6
We got a 421 - timeout!
weierstrass
WeightVector
Weirdly formatted EPSV reply
Weird server reply
WellKnownSidType
WerRegisterCustomMetadata
WerRegisterFile
WerRegisterMemoryBlock
WerReportAddDump
WerReportCloseHandle
WerReportCreate
WerReportSetParameter
WerReportSubmit
WerSetFlags
WerSetMaxProcessHoldMilliseconds
WerUnregisterCustomMetadata
We tried to download the gamer pic when we had no url.
wevtapi.dll
WF!A.o5xGa.]
_wfopen_s
WfOs105@
_wfsopen
_wfullpath
.wgDc6JB
_wgetcwd
?_W_Getdays@_Locinfo@std@@QEBAPEBGXZ
_wgetenv
__wgetmainargs
?_W_Getmonths@_Locinfo@std@@QEBAPEBGXZ
[wGIaSad
:-;:;W;g;l;
Wgv|EV927
WH9Q8t(H
w-H9U@t'A
?what@exception@@UEBAPEBDXZ
	whereis      display absolute path of [path] or current working directory
                    where N is the GPU desired.
Whether or not a row remapping has failed in the past.
Whether or not there are pending row-remappings.
wHH;O@t!fff
which kernel to use
	while (
while attempting to determine logging status
while attempting to obtain and log OS and process information
while attempting to read and log device and driver information
while executing dbInstaller
while (true)
whiteColor
whiteSpace
Whitespace
WholeChain
W H;W(tlH
WICConvertBitmapSource
wICf!8#k
WideCharToMultiByte
wideLines
WidenPath
			width: 160px;
			width: 400px;
width is not integer
width not set
WiFiDirectDevice
WiFiDirectDeviceSelectorType
WiFiEndpoint
WiFiEndpointSettings
WiFiEndpointSettingsInput
wilActivity
 wildcard
wildcard (any)
Wildcard - Parsing started
             Wild cards and multiple filenames (separated by
WilError_03
 * will boost to the minimum possible clocks across the entire group. Look at
. Will not invoke setup from cache
wilResult
WilStaging_02
Win32ComboBoxBase
Win32Exception
Win32 host
win32u.dll
WinBioCloseSession
WinBioControlUnitPrivileged
WinBioDeleteTemplate
winbio.dll
WinBioEnumBiometricUnits
WinBioFree
WinBioGetDomainLogonSetting
WinBioGetEnabledSetting
WinBioGetLogonSetting
WinBioLockUnit
WinBioOpenSession
WinBioRemoveAllCredentials
WinBioUnlockUnit
wincolor_sink: write_to_file_ failed. GetLastError(): 
WINDOW_CHANNEL_REGS
WindowFromPhysicalPoint
WindowFromPoint
---     Window is fully contained in output
---     Window is not within output
Window_Loaded
WindowLocationHelper
windowMode
Window_MouseMove
Windows.ApplicationModel
Windows.ApplicationModel.AppService
WindowsBase
WindowsCodecs.dll
WindowsCompareStringOrdinal
WindowsCreateString
WindowsCreateStringReference
Windows.Data.Xml.Dom
WindowsDeleteString
WindowsDeleteStringBuffer
Windows.Devices.Bluetooth
Windows.Devices.Bluetooth.GenericAttributeProfile
Windows.Devices.Enumeration
Windows.Devices.HumanInterfaceDevice
Windows.Devices.PointOfService
Windows.Devices.Sensors
Windows.Devices.WiFiDirect
WindowsDuplicateString
Windows EUDC Editor Bitmap File (Uni-Code) 
Windows.Foundation
Windows.Foundation.Collections
Windows.Foundation.FoundationContract
Windows.Foundation.UniversalApiContract
WindowsGetStringLen
WindowsGetStringRawBuffer
WindowsIdentity
WindowsIsStringEmpty
windowsLoaction
Windows.Management.Deployment
Windows.Media.Casting
Windows.Media.DialProtocol
Windows.Networking.Proximity
WindowsPreallocateStringBuffer
WindowsPromoteStringBuffer
WindowsRuntimeMarshal
WindowsRuntimeSystemExtensions
Windows.Security.Cryptography
Windows.Storage
Windows.Storage.Streams
WindowsStringHasEmbeddedNull
window subdivision
Windows.UI
Windows.UI.Notifications
Windows.UI.Xaml.Data
Windows.UI.Xaml.Media.Imaging
windowsVersionString
wine_get_version
?_Winerror_map@std@@YAHH@Z
?_Winerror_map@std@@YAPEBDH@Z
WinHelpW
WinHttpAddRequestHeaders
WinHttpCloseHandle
WinHttpConnect
WinHttpCrackUrl
WINHTTP.dll
WinHttpOpen
WinHttpOpenRequest
WinHttpQueryAuthSchemes
WinHttpQueryDataAvailable
WinHttpQueryHeaders
WinHttpReadData
WinHttpReceiveResponse
WinHttpSendRequest
WinHttpSetCredentials
WinHttpSetOption
WinHttpSetStatusCallback
WinHttpSetTimeouts
WININET.dll
WinMainCRTStartup
WINMM.dll
WinRTInitialization
Winsock library is not ready
Winsock library not initialised
Winsock version not supported
WINSPOOL.DRV
WinSqmAddToStream
WinSqmAddToStreamEx
WinSqmEndSession
WinSqmIncrementDWORD
WinSqmIsOptedIn
WinSqmSetDWORD
WinSqmSetString
WinSqmStartSession
Wintab32.dll
WinTrust
WINTRUST_ACTION_GENERIC_VERIFY_V2
WinTrustData
WinTrustDataChoice
WinTrustDataProvFlags
WinTrustDataRevocationChecks
WinTrustDataStateAction
WinTrustDataUIChoice
WinTrustDataUIContext
wintrust.dll
WINTRUST.dll
WinTrustFileInfo
WinVerifyTrust
WinVerifyTrustEx
WinVerifyTrustResult
Wireless Configuration
Wireless Link Preference Changed
Wireless local Profile Sync Enablement changed
Wireless Profile Added
Wireless Profile Removed
Wireless profile share with UEFI enabled setting changed
Wireless profile sync enablement state changed
Wireless Profile Updated
wisEventListenerAttachedW
withBias..................
with Exception
with failure
    with GPU index 0) are used for monitoring purpose.
 with warnings:
W I;W(t.3
WiWWP9Z_
wiZeOC4L
Wj7WWWWW
wjojXQQI
WJWJQIRI
wkscli.dll
wlanapi.dll
WlanCloseHandle
WlanEnumInterfaces
WlanFreeMemory
WlanGetProfile
WlanGetProfileList
WLAN Link Control set to Host (Operating system)
WLAN Link Control set to Intel(R) ME
WLAN Link Preference set to Host (Operating system)
WLAN Link Preference set to Intel(R) ME
WLANLinkProtectionLevel
WlanOpenHandle
WLAN power well setting is set incorrectly.
WlanRegisterNotification
WLDAP32.dll
?w@Log@UDC@@QEAAXPEBGZZ
wlp.b32	
wlp.b32	#
wlp.b32	*
wlp.b32	7
wlp.b32	s
_wmakepath_s
wmemcpy_s
wMO1034c"
WM_USER_MCU_CALLBACK
wmY78S:|7
wn0Y-W(N7
?WndProc@HWNDElement@DirectUI@@UEAA_JPEAUHWND__@@I_K_J@Z
WNetAddConnection2W
WNetCancelConnection2W
WNetGetLastErrorW
WnJ6tIS C
WNMNMi[j[qVoV
woBB4_17
WORK_CHECK
WORK_DELAY_LONG
WORK_DELAY_SHORT
--- Worker context:
workgroupMemoryExplicitLayout
workgroupMemoryExplicitLayout16BitAccess
workgroupMemoryExplicitLayout8BitAccess
workgroupMemoryExplicitLayoutScalarBlockLayout
Working on device
WORK_KERNEL_FIRST
WORK_KERNEL_SECOND
WORK_KERNEL_THIRD
workload
WORK_RECALC_WAVES
WORKSTATIONW
WORK_SYNC
woS3fIl2
- Wow-64 check:
Wow64DisableWow64FsRedirection
Wow64EnableWow64FsRedirection
Wow64RevertWow64FsRedirection
WoxRealm
"wQ|F)|l
-W#qJAF 
Wqmul.wid
Wqppppppppppppppppp:
WQPRhXRb
wqqqqppppph
WQXQYQZQ[Q
wq|?xsm.
Wr496qwev
WrapNonExceptionThrows
WriteAllLines
WriteAllText
WriteBlock
WriteByte
Write callback asked for PAUSE when not supported!
WriteClientCharacteristicConfigurationDescriptorAsync
WriteColorToFileWithFolderName
Write command requires a filename argument
WriteConsoleA
WriteConsoleW
writeData
WriteDefaultRegistry
WriteEndPointFirmware
WriteEntry
write error
Write error
WriteError
Write failed
Write failed on temporary file --- out of disk space?
WriteField
WriteFile
Write file failed.
WriteFileGather
WriteI2C
WriteInt32
WriteKBCCommand
WriteLength
WriteLine
WriteLineIf
WriteLog
	write [name] write the current node to the filename
WriteObject
WriteOnBoardRetimerSideBandReg
WritePrivateProfileString
WritePrivateProfileStringA
WritePrivateProfileStringW
WriteProfileStringW
WriteRecord
Write register failure.
WriteRetimerSidebandRegInputData
writerThreadLogInit failed
writerThreadMonitorInit failed
writerThreadReplayInit failed
_writeSemaphore
WriteThrough
write to buildCharArray exceeds bounds
Write to EMS failed
WriteToFile
WriteToNvmFailed
Write to XMS failed
Writing registry for IsOrigLidCloseDoNothing
WritingToNvm
wrong arguments
WRONG_CUSTOMER_TYPEW
wrong file name size
wrong protocol type
wrong_protocol_type
Wrong structure of Update Image.
WRsCqg56v7CCspsG7V
WS2_32.dll
WS2_32.DLL
WSAAccept
WSAAddressToStringA
WSACloseEvent
WSACreateEvent
WSAEnumNetworkEvents
WSAEventSelect
WSAGetOverlappedResult
WSAIoctl
WSASetServiceW
?wScalarsPerElement@ConvShader@cask@@UEBAHXZ
_wsetlocale
wShowWindow
w_skEx"a4
wsman client not initialized
wsmand.log
wsmand.log.lock
WsmanOnlyMode
wsman_send_request
wsmc_action_invoke_fromtext
wsmc_create failed:
_wsplitpath_s
wsprintfA
wsprintfW
WStrToUTF8Str
WStrToUTF8Str : WideCharToMultiByte failed
_wsystem
wszContext
wszIssueSource
WTabletServiceISD
_wtempnam
WTfypryS
WTHelperGetProvCertFromChain
WTHelperGetProvSignerFromChain
WTHelperProvDataFromStateData
_wtmpnam
WTSActive
wtsapi32.dll
Wtsapi32.dll
WTSAPI32.dll
WTSAPI32.DLL
WTSConnected
WTSConnectQuery
WTS_CONNECTSTATE_CLASS
WTS_CURRENT_SERVER_HANDLE
WTSDisconnected
WTSEnumerateSessions
WTSEnumerateSessionsW
WTSFreeMemory
WTSGetActiveConsoleSessionId
WTSListen
WTSQuerySessionInformationW
WTSQueryUserToken
WTSRegisterSessionNotification
WTSReset
WTS_SESSION_INFO
WTSShadow
WTSUnRegisterSessionNotification
(W*U*d.d.
_wunlink
wuorghku
WUTEMjEe"g
 w*u*V*V*q#q#)1*1e8d86A5A
;(;@;W;v;
w'v'CQCQ
wVc)Xg28
?wVectorizedDim@ConvShader@cask@@UEBAHXZ
W?vh);wn[Ox
'W#V#l-l-
wvsprintfW
wvvwUpbV
w w0w1w.w
W W0W1W.W
w@w0w8w6w
W@W0W8W6W
!w)w)1)1)
w@wAw8w:w
W@WAW8W:W
wwew'sswgsSgwgp
"w#w#L'K'
w@wPwQwNw
W@WPWQWNW
w@wPwXwVw
W@WPWXWVW
wWrhPDpl
W[Ws1032a
|||wwwaaa__Z
WWW-Authenticate:
www.digicert.com1!0
WWWITTTs
|||wwwjjjXXU
w*w:wJwZwjwzw
WWWPVWWj
wwwpwwwww
WWW@TTToTTTsbbb
WWW@TTToTTTsTTTsTTTjWWW:
WWWWPWWh5
wwwwpwwwwxw
WWWWWWWj
wwwwwwww
wwwwwwwww
wwwwwwwwww
wwwwwwwwwww
wwwwwwwwwwwwww
wwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwy
wwwwwwwwwwwwwwwwwwwwwwwx
wwwwwwwwwwwwwwy
wwwwwwwwwwwwwx
wwwwwwwwwwwwwy
wwwwwwwwwwwy
wwwwwwwwwxw
wwwwwwwwwxwww
wwwwwwwwwxwwwww
wwwwwwwwwxwwwy
wwwwwwwwwy
wwwwwwwxp
wwwwwwwx""'ww
wwwwwwwxwxw
wwwwwwxw
wwwwwwxwwwww
wwwwx@Ggg
wwwxwwwww
wwwxwwwy
wwxoqwmrywxy
wwxr""""""""
wwxwwwww
wx"""""""
"w*x*R(R(s't'
wxwwwwwwwx
wxwwwwwx"""'
(';W)yX5
Wz3ydajq
W;z6RS*P8
WZ9Lp73Q
wZM@]DB!
"""""""""""x
'""""""x"
*(")"X0Y0
?x!1_@(	c
x"29h?3294
x3 216 7C
X3KBM(id|
 X3yNo;	X
	X;4101xB
?x4v4|?|?
X500UniqueIdentifier
X509_ASN_ENCODING
X509Certificate
X509IssuerName
X509SerialNumber
X5)uO@bs
x6x6WMWM
X	7283X	
x7'CdpJ#b
x7GL!W]7
X7K_zyjF
x8"13y83131
x86_64-pc-win32
'x8v83;2;
-x9y95;2;0F1F2
xaAE:OTWr
X"A[mrJv
x ATAUAVAWA
x ATAUAVAWE3
x ATAUAVAWL
x ATAUAVAWLc
x ATAUAVH
x ATAUAWH
x ATAVAW
x ATAVAWD
x ATAVAWH
x ATAVE3
XAttribute
x AUAVAWD
x AUAVAWH
x AVAWE3
xB !1W 3b
?_Xbad_alloc@std@@YAXXZ
?_Xbad_function_call@std@@YAXXZ
XBAR2CLK
xBB0_27:
xBB0_33:
xBB0_33:K
xBB0_52:
xBB0_56:
?XBB6_9B
xbfB94Ct
XContainer
_XcptFilter
;XCXCMDLD7
XD240]TC
Xda[8sqM
xDcomm x
Xd(d8dDdP
XDISPLOC
XDocument
XDomainInfoToXDomainNode
xDwD4D4D
XDzFk#DZ
XElement
x_f2507a
(XFKxPZO
XFRfRtnN 
X:GOlf8hN
xHH8Sh	z
]xH;]pt9H
X@ImageList_GetImageCount
XInclude 
XInclude error: would result in multiple root nodes
?_Xlength_error@std@@YAXPEBD@Z
XLSjt*:AU
xLvLE;C;
XM5CyLqU
xmaTsn7?
xmlACatalogAdd
xmlACatalogDump
xmlACatalogRemove
xmlACatalogResolve
xmlACatalogResolvePublic
xmlACatalogResolveSystem
xmlACatalogResolveURI
xmlAddAttributeDecl
xmlAddAttributeDecl: Table creation failed!
xmlAddChild
xmlAddChildList
xmlAddDocEntity
xmlAddDocEntity: document is NULL
xmlAddDocEntity: document without internal subset
xmlAddDtdEntity
xmlAddDtdEntity: document is NULL
xmlAddDtdEntity: document without external subset
xmlAddElementDecl
xmlAddElementDecl: Table creation failed!
xmlAddEncodingAlias
xmlAddEntity: invalid redeclaration of predefined entity
xmlAddID
xmlAddID: Table creation failed!
xmlAddNextSibling
xmlAddNotationDecl
xmlAddNotationDecl: Table creation failed!
xmlAddPrevSibling
xmlAddRef
xmlAddRef: Reference list creation failed!
xmlAddRef: Reference list insertion failed!
xmlAddRef: Table creation failed!
xmlAddSibling
xmlAllocOutputBuffer
xmlAllocParserInputBuffer
xmlAttrSerializeTxtContent
xmlAutomataCompile
xmlAutomataGetInitState
xmlAutomataIsDeterminist
xmlAutomataNewAllTrans
xmlAutomataNewCountedTrans
xmlAutomataNewCounter
xmlAutomataNewCounterTrans
xmlAutomataNewCountTrans
xmlAutomataNewCountTrans2
xmlAutomataNewEpsilon
xmlAutomataNewNegTrans
xmlAutomataNewOnceTrans
xmlAutomataNewOnceTrans2
xmlAutomataNewState
xmlAutomataNewTransition
xmlAutomataNewTransition2
xmlAutomataSetFinalState
xmlBoolToText
xmlBufContent
xmlBufEnd
xmlBufferAdd
xmlBufferAddHead
__xmlBufferAllocScheme
xmlBufferCat
xmlBufferCCat
xmlBufferContent
xmlBufferCreate
xmlBufferCreateSize
xmlBufferCreateStatic
xmlBufferDetach
xmlBufferDump
xmlBufferEmpty
xmlBufferFree
xmlBufferGrow
xmlBufferLength
xmlBufferResize
xmlBufferSetAllocationScheme
xmlBufferShrink
xmlBufferWriteChar
xmlBufferWriteCHAR
xmlBufferWriteQuotedString
xmlBufGetNodeContent
xmlBufNodeDump
xmlBufShrink
xmlBufUse
xmlBuildQName
xmlBuildRelativeURI
xmlBuildURI
xmlByteConsumed
xmlCanonicPath
xmlCatalogAdd
xmlCatalogAddLocal
xmlCatalogCleanup
xmlCatalogConvert
xmlCatalogDump
XML_CATALOG_FILES
xmlCatalogFreeLocal
xmlCatalogGetDefaults
xmlCatalogGetPublic
xmlCatalogGetSystem
xmlCatalogIsEmpty
xmlCatalogLocalResolve
xmlCatalogLocalResolveURI
xmlCatalogRemove
xmlCatalogResolve
xmlCatalogResolvePublic
xmlCatalogResolveSystem
xmlCatalogResolveURI
xmlCatalogSetDebug
xmlCatalogSetDefaultPrefer
xmlCatalogSetDefaults
xmlCharEncCloseFunc
xmlCharEncFirstLine
xmlCharEncInFunc
xmlCharEncOutFunc
xmlCharEncOutFunc: no output function !
xmlCharInRange
xmlCharStrdup
xmlCharStrndup
xmlCheckFilename
xmlCheckHTTPInput
xmlCheckLanguageID
xmlCheckUTF8
xmlCheckVersion
xmlChildElementCount
xmlCleanupCharEncodingHandlers
xmlCleanupEncodingAliases
xmlCleanupGlobals
xmlCleanupInputCallbacks
xmlCleanupMemory
xmlCleanupOutputCallbacks
xmlCleanupParser
xmlCleanupThreads
xmlClearNodeInfoSeq
xmlClearParserCtxt
XML conditional section '[' expected
XML conditional section not closed
xmlConvertSGMLCatalog
xmlCopyAttributeTable
xmlCopyChar
xmlCopyCharMultiByte
xmlCopyDoc
xmlCopyDocElementContent
xmlCopyDtd
xmlCopyElementContent
xmlCopyElementTable
xmlCopyEntitiesTable
xmlCopyEntity:: malloc failed
xmlCopyEnumeration
xmlCopyError
xmlCopyNamespace
xmlCopyNamespaceList
xmlCopyNode
xmlCopyNodeList
xmlCopyNotationTable
xmlCopyProp
xmlCopyPropList
xmlCreateDocParserCtxt
xmlCreateEntitiesTable
xmlCreateEntity: malloc failed
xmlCreateEntityParserCtxt
xmlCreateEnumeration
xmlCreateFileParserCtxt
xmlCreateIntSubset
xmlCreateIOParserCtxt
xmlCreateMemoryParserCtxt
xmlCreatePushParserCtxt
xmlCreateURI
xmlCreateURLParserCtxt
xmlCtxtGetLastError
xmlCtxtReadDoc
xmlCtxtReadFd
xmlCtxtReadFile
xmlCtxtReadIO
xmlCtxtReadMemory
xmlCtxtReset
xmlCtxtResetLastError
xmlCtxtResetPush
xmlCtxtUseOptions
xmlCurrentChar
XML_DEBUG_CATALOG
xmlDebugCheckDocument
xmlDebugDumpAttr
xmlDebugDumpAttrList
xmlDebugDumpDocument
xmlDebugDumpDocumentHead
xmlDebugDumpDTD
xmlDebugDumpEntities
xmlDebugDumpNode
xmlDebugDumpNodeList
xmlDebugDumpOneNode
xmlDebugDumpString
XML declaration allowed only at the start of the document
__xmlDefaultBufferSize
__xmlDefaultSAXHandler
xmlDefaultSAXHandlerInit
__xmlDefaultSAXLocator
xmlDelEncodingAlias
xmlDeregisterNodeDefault
__xmlDeregisterNodeDefaultValue
xmlDetectCharEncoding
xmlDictCleanup
xmlDictCreate
xmlDictCreateSub
xmlDictExists
xmlDictFree
xmlDictGetUsage
xmlDictLookup
xmlDictOwns
xmlDictQLookup
xmlDictReference
xmlDictSetLimit
xmlDictSize
xmlDocCopyNode
xmlDocCopyNodeList
xmlDocDump
xmlDocDumpFormatMemory
xmlDocDumpFormatMemoryEnc
xmlDocDumpMemory
xmlDocDumpMemoryEnc
xmlDocFormatDump
xmlDocGetRootElement
xmlDocSetRootElement
XmlDocument
xmlDOMWrapAdoptNode
xmlDOMWrapCloneNode
xmlDOMWrapCloneNode(): allocating an attr-node
xmlDOMWrapCloneNode(): allocating a node
xmlDOMWrapCloneNode(): allocating namespace
xmlDOMWrapFreeCtxt
xmlDOMWrapNewCtxt
xmlDOMWrapReconcileNamespaces
xmlDOMWrapRemoveNode
__xmlDoValidityCheckingDefaultValue
xmlDumpAttributeDecl
xmlDumpAttributeTable
xmlDumpElementDecl
xmlDumpElementTable
xmlDumpEntitiesDecl: internal: unknown type entity type
xmlDumpEntitiesTable
xmlDumpEntityDecl
xmlDumpNotationDecl
xmlDumpNotationTable
xmlElemDump
XmlElement
XML element not found
xmlEncodeEntities: char out of range
xmlEncodeEntities: input not UTF-8
xmlEncodeEntities: malloc failed
xmlEncodeEntities: realloc failed
xmlEncodeEntitiesReentrant
xmlEncodeSpecialChars
xmlEncodeSpecialChars: malloc failed
xmlEncodeSpecialChars: realloc failed
__xmlErrEncoding
xmlErrMemory
xmlEscapeEntities : char out of range
xmlEscapeFormatString
XMLException: 
xmlFAParseAtom: expecting ')'
xmlFAParseAtom: maximum nesting depth exceeded
xmlFAParseCharClass: ']' expected
xmlFAParseRegExp: extra characters
xmlFileClose
xmlFileMatch
xmlFileOpen
xmlFileRead
xmlFindCharEncodingHandler
xmlFirstElementChild
--xml-format
xmlFreeAttributeTable
xmlFreeAutomata
xmlFreeCatalog
xmlFreeDoc
xmlFreeDocElementContent
xmlFreeDtd
xmlFreeElementContent
xmlFreeElementTable
xmlFreeEntitiesTable
xmlFreeEnumeration
xmlFreeIDTable
xmlFreeInputStream
xmlFreeMutex
xmlFreeNode
xmlFreeNodeList
xmlFreeNotationTable
xmlFreeNs
xmlFreeNsList
xmlFreeParserCtxt
xmlFreeParserInputBuffer
xmlFreePattern
xmlFreePatternList
xmlFreeProp
xmlFreePropList
xmlFreeRefTable
xmlFreeRMutex
xmlFreeStreamCtxt
xmlFreeTextReader
xmlFreeURI
xmlFreeValidCtxt
xmlGcMemGet
xmlGcMemSetup
__xmlGenericError
__xmlGenericErrorContext
xmlGetBufferAllocationScheme
xmlGetCharEncodingHandler
xmlGetCharEncodingName
xmlGetCompressMode
xmlGetDocCompressMode
xmlGetDocEntity
xmlGetDtdAttrDesc
xmlGetDtdElementDesc
xmlGetDtdEntity
xmlGetDtdNotationDesc
xmlGetDtdQAttrDesc
xmlGetDtdQElementDesc
xmlGetEncodingAlias
xmlGetExternalEntityLoader
xmlGetGlobalState
xmlGetGlobalState: out of memory
xmlGetID
xmlGetIntSubset
xmlGetLastChild
xmlGetLastError
xmlGetLineNo
xmlGetNodePath
xmlGetNoNsProp
xmlGetNsList
xmlGetNsProp
xmlGetParameterEntity
xmlGetPredefinedEntity
xmlGetProp
xmlGetRefs
xmlGetThreadId
xmlGetUTF8Char
__xmlGetWarningsDefaultValue
xmlGlobalInitMutexLock: out of memory
xmlHasFeature
xmlHashAddEntry
xmlHashAddEntry2
xmlHashAddEntry3
xmlHashCopy
xmlHashCreate
xmlHashCreateDict
xmlHashDefaultDeallocator
xmlHashFree
xmlHashLookup
xmlHashLookup2
xmlHashLookup3
xmlHashQLookup
xmlHashQLookup2
xmlHashQLookup3
xmlHashRemoveEntry
xmlHashRemoveEntry2
xmlHashRemoveEntry3
xmlHashScan
xmlHashScan3
xmlHashScanFull
xmlHashScanFull3
xmlHashSize
xmlHashUpdateEntry
xmlHashUpdateEntry2
xmlHashUpdateEntry3
xmlHasNsProp
xmlHasProp
xml:id : attribute type should be ID
__xmlIndentTreeOutput
xmlInitCharEncodingHandlers
xmlInitCharEncodingHandlers : out of memory !
xmlInitGlobals
xmlInitializeCatalog
xmlInitializeDict
xmlInitializeGlobalState
xmlInitMemory
xmlInitNodeInfoSeq
xmlInitParser
xmlInitParserCtxt
xmlInitThreads
xmlIOFTPClose
xmlIOFTPMatch
xmlIOFTPOpen
xmlIOFTPRead
xmlIOHTTPClose
xmlIOHTTPMatch
xmlIOHTTPOpen
xmlIOHTTPOpenW
xmlIOHTTPRead
xmlIOParseDTD
xmlIsBaseChar
xmlIsBaseCharGroup
xmlIsBlank
xmlIsBlankNode
xmlIsChar
xmlIsCharGroup
xmlIsCombining
xmlIsCombiningGroup
xmlIsDigit
xmlIsDigitGroup
xmlIsExtender
xmlIsExtenderGroup
xmlIsIdeographic
xmlIsIdeographicGroup
xmlIsLetter
xmlIsMainThread
xmlIsMixedElement
xmlIsPubidChar
xmlIsPubidChar_tab
xmlIsRef
xmlIsXHTML
xmlKeepBlanksDefault
__xmlKeepBlanksDefaultValue
xml:lang
xmlLastElementChild
__xmlLastError
xmlLineNumbersDefault
__xmlLineNumbersDefaultValue
xmlLinkGetData
xmlListAppend
xmlListClear
xmlListCopy
xmlListCreate
xmlListDelete
xmlListDup
xmlListEmpty
xmlListEnd
xmlListFront
xmlListInsert
xmlListMerge
xmlListPopBack
xmlListPopFront
xmlListPushBack
xmlListPushFront
xmlListRemoveAll
xmlListRemoveFirst
xmlListRemoveLast
xmlListReverse
xmlListReverseSearch
xmlListReverseWalk
xmlListSearch
xmlListSize
xmlListSort
xmlListWalk
XmlLite.dll
xmlLoadACatalog
xmlLoadCatalog
xmlLoadCatalogs
xmlLoadEntityContent input error
xmlLoadEntityContent parameter error
__xmlLoadExtDtdDefaultValue
xmlLoadExternalEntity
xmlLoadSGMLSuperCatalog
xmlLockLibrary
xmlLsCountNode
xmlLsOneNode
xmlMalloc
xmlMallocAtomic
xmlMallocAtomicLoc
xmlMallocAtomicLoc : Out of free space
xmlMallocAtomicLoc : Unsigned overflow
xmlMalloc failed !
xmlMallocLoc
xmlMallocLoc : Out of free space
xmlMallocLoc : Unsigned overflow
xmlMemBlocks
XML_MEM_BREAKPOINT
xmlMemDisplay
xmlMemDisplayLast
xmlMemFree
xmlMemGet
xmlMemMalloc
xmlMemoryDump
xmlMemoryStrdup
xmlMemRealloc
xmlMemSetup
xmlMemShow
xmlMemStrdup
xmlMemStrdupLoc
xmlMemStrdupLoc : Unsigned overflow
XML_MEM_TRACE
xmlMemUsed
xml-model
xmlMutexLock
xmlMutexUnlock
xml namespace prefix mapped to wrong URI
xml namespace URI cannot be the default namespace
xml namespace URI mapped to wrong prefix
xmlNanoFTPCheckResponse
xmlNanoFTPCleanup
xmlNanoFTPClose
xmlNanoFTPCloseConnection
xmlNanoFTPConnect
xmlNanoFTPConnectTo
xmlNanoFTPCwd
xmlNanoFTPDele
xmlNanoFTPFreeCtxt
xmlNanoFTPGet
xmlNanoFTPGetConnection
xmlNanoFTPGetResponse
xmlNanoFTPGetSocket
xmlNanoFTPInit
xmlNanoFTPList
xmlNanoFTPNewCtxt
xmlNanoFTPOpen
xmlNanoFTPProxy
xmlNanoFTPQuit
xmlNanoFTPRead
xmlNanoFTPScanProxy
xmlNanoFTPUpdateURL
xmlNanoHTTPAuthHeader
xmlNanoHTTPCleanup
xmlNanoHTTPClose
xmlNanoHTTPContentLength
xmlNanoHTTPEncoding
xmlNanoHTTPFetch
xmlNanoHTTPInit
xmlNanoHTTPMethod
xmlNanoHTTPMethodRedir
xmlNanoHTTPMimeType
xmlNanoHTTPOpen
xmlNanoHTTPOpenRedir
xmlNanoHTTPRead
xmlNanoHTTPRedir
xmlNanoHTTPReturnCode
xmlNanoHTTPSave
xmlNanoHTTPScanProxy
xmlNewAutomata
xmlNewCatalog
xmlNewCDataBlock
xmlNewCharEncodingHandler
xmlNewCharEncodingHandler : no name !
xmlNewCharEncodingHandler : out of memory !
xmlNewCharRef
xmlNewChild
xmlNewComment
xmlNewDoc
xmlNewDocComment
xmlNewDocElementContent
xmlNewDocFragment
xmlNewDocNode
xmlNewDocNodeEatName
xmlNewDocPI
xmlNewDocProp
xmlNewDocRawNode
xmlNewDocText
xmlNewDocTextLen
xmlNewDtd
xmlNewElementContent
xmlNewEntity
xmlNewEntityInputStream
xmlNewInputFromFile
xmlNewInputStream
xmlNewIOInputStream
xmlNewMutex
xmlNewNode
xmlNewNodeEatName
xmlNewNs
xmlNewNsProp
xmlNewNsPropEatName
xmlNewParserCtxt
xmlNewPI
xmlNewProp
xmlNewReference
xmlNewRMutex
xmlNewStringInputStream
xmlNewText
xmlNewTextChild
xmlNewTextLen
xmlNewTextReader
xmlNewTextReaderFilename
xmlNewTextReader : malloc failed
xmlNewValidCtxt
xmlNextChar
xmlNextElementSibling
XML node
xmlNodeAddContent
xmlNodeAddContentLen
xmlNodeBufGetContent
xmlNodeDump
xmlNodeDumpOutput
xmlNodeGetBase
xmlNodeGetContent
xmlNodeGetLang
xmlNodeGetSpacePreserve
xmlNodeIsText
XmlNodeList
xmlNodeListGetRawString
xmlNodeListGetString
xmlNodeSetBase
xmlNodeSetContent
xmlNodeSetContentLen
xmlNodeSetLang
xmlNodeSetName
xmlNodeSetSpacePreserve
xmlNoNetExternalEntityLoader
xmlNormalizeURIPath
xmlNormalizeWindowsPath
XmlObjectSerializer
xmlOutputBufferClose
xmlOutputBufferCreateBuffer
xmlOutputBufferCreateFd
xmlOutputBufferCreateFile
xmlOutputBufferCreateFilename
xmlOutputBufferCreateFilenameDefault
__xmlOutputBufferCreateFilenameValue
xmlOutputBufferCreateIO
xmlOutputBufferFlush
xmlOutputBufferGetContent
xmlOutputBufferGetSize
xmlOutputBufferWrite
xmlOutputBufferWriteEscape
xmlOutputBufferWriteString
xmlParseAttribute
xmlParseAttributeListDecl
xmlParseAttributeType
xmlParseAttValue
xmlParseBalancedChunkMemory
xmlParseBalancedChunkMemoryRecover
xmlParseCatalogFile
xmlParseCDSect
xmlParseCharData
xmlParseCharEncoding
xmlParseCharRef
xmlParseCharRef: character reference out of bounds
xmlParseChunk
xmlParseChunk: encoder error
xmlParseComment
xmlParseContent
xmlParseCtxtExternalEntity
xmlParseDefaultDecl
xmlParseDoc
xmlParseDocTypeDecl
xmlParseDocTypeDecl : no DOCTYPE name !
xmlParseDocument
xmlParseDTD
xmlParseElement
xmlParseElementChildrenContentDecl
xmlParseElementContentDecl
xmlParseElementDecl
xmlParseElementDecl: no name for Element
xmlParseElementMixedContentDecl
xmlParseElementMixedContentDecl : Name expected
xmlParseEncName
xmlParseEncodingDecl
xmlParseEndTag
xmlParseEntity
xmlParseEntityDecl
xmlParseEntityDecl: no name
xmlParseEntityRef
xmlParseEntityRef: no name
xmlParseEntityValue
xmlParseEnumeratedType
xmlParseEnumerationType
xmlParseExternalEntity
xmlParseExternalID
xmlParseExternalSubset
xmlParseExtParsedEnt
xmlParseFile
xmlParseInNodeContext
xmlParseInternalSubset: error detected in Markup declaration
xmlParseMarkupDecl
xmlParseMemory
xmlParseMisc
xmlParseName
xmlParseNmtoken
xmlParseNotationDecl
xmlParseNotationType
xmlParsePEReference
xmlParsePI
xmlParsePI : no target name
xmlParsePITarget
xmlParsePITarget: invalid name prefix 'xml'
xmlParsePubidLiteral
xmlParserAddNodeInfo
xml_parser_create_doc failed
__xmlParserDebugEntities
xmlParseReference
xmlParserError
xmlParserFindNodeInfo
xmlParserFindNodeInfoIndex
xmlParserGetDirectory
xmlParserHandlePEReference
xmlParserInputBufferCreateFd
xmlParserInputBufferCreateFile
xmlParserInputBufferCreateFilename
xmlParserInputBufferCreateFilenameDefault
__xmlParserInputBufferCreateFilenameValue
xmlParserInputBufferCreateIO
xmlParserInputBufferCreateMem
xmlParserInputBufferCreateStatic
xmlParserInputBufferGrow
xmlParserInputBufferPush
xmlParserInputBufferRead
xmlParserInputGrow
xmlParserInputRead
xmlParserInputShrink
xmlParserMaxDepth
xml_parser_ns_add failed
XML parser - out of memory error.
xmlParserPrintFileContext
xmlParserPrintFileInfo
xmlParserValidityError
xmlParserValidityWarning
__xmlParserVersion
xmlParserWarning
xmlParseSDDecl
xmlParseStartTag
xmlParseStartTag: invalid element name
xmlParseStartTag: problem parsing attributes
xmlParseStringCharRef: character reference out of bounds
xmlParseStringEntityRef: no name
xmlParseStringPEReference: no name
xmlParseSystemLiteral
xmlParseTextDecl
xmlParseURI
xmlParseURIRaw
xmlParseURIReference
xmlParseVersionInfo
xmlParseVersionNum
xmlParseXMLDecl
XML parsing encountered data overflow.
XML parsing failed.
xmlPathToURI
xmlPatterncompile
xmlPatternFromRoot
xmlPatternGetStreamCtxt
xmlPatternMatch
xmlPatternMaxDepth
xmlPatternMinDepth
xmlPatternStreamable
xmlPedanticParserDefault
__xmlPedanticParserDefaultValue
xmlPointerListAddSize: re-allocating item
xmlPointerListCreate: allocating item
xmlPopInput
xmlPopInputCallbacks
xmlPopOutputCallbacks
xmlPreviousElementSibling
xmlPrintURI
xmlPushInput
__xmlRaiseError
xmlReadDoc
XmlReader
xmlReaderForDoc
xmlReaderForFd
xmlReaderForFile
xmlReaderForIO
xmlReaderForMemory
xmlReaderNewDoc
xmlReaderNewFd
xmlReaderNewFile
xmlReaderNewIO
xmlReaderNewMemory
xmlReaderNewWalker
xmlReaderWalker
xmlReadFd
xmlReadFile
xmlReadIO
xmlReadMemory
xmlRealloc
xmlRealloc failed !
xmlReallocLoc
xmlReallocLoc : Unsigned overflow
xmlReconciliateNs
xmlRecoverDoc
xmlRecoverFile
xmlRecoverMemory
xmlRegExecErrInfo
xmlRegExecNextValues
xmlRegExecPushString
xmlRegExecPushString2
xmlRegexpCompile
xmlRegexpExec
xmlRegexpIsDeterminist
xmlRegexpPrint
xmlRegFreeExecCtxt
xmlRegFreeRegexp
xmlRegisterCharEncodingHandler
xmlRegisterCharEncodingHandler: NULL handler !
xmlRegisterDefaultInputCallbacks
xmlRegisterDefaultOutputCallbacks
xmlRegisterHTTPPostCallbacks
xmlRegisterInputCallbacks
xmlRegisterNodeDefault
__xmlRegisterNodeDefaultValue
xmlRegisterOutputCallbacks
xmlRegNewExecCtxt
xmlRelaxNGCleanupTypes
xmlRelaxNGDump
xmlRelaxNGDumpTree
xmlRelaxNGFree
xmlRelaxNGFreeParserCtxt
xmlRelaxNGFreeValidCtxt
xmlRelaxNGGetParserErrors
xmlRelaxNGGetValidErrors
xmlRelaxNGInitTypes
xmlRelaxNGNewDocParserCtxt
xmlRelaxNGNewMemParserCtxt
xmlRelaxNGNewParserCtxt
xmlRelaxNGNewValidCtxt
xmlRelaxNGParse
xmlRelaxNGParseattribute: attribute has no children
xmlRelaxNGParse: could not parse schemas
xmlRelaxNGParseElement: element has no children
xmlRelaxNGParseElement: element has no content
xmlRelaxNGParse: externalRef has no href attribute
xmlRelaxNGParse: include has no href attribute
xmlRelaxNGParse: notAllowed element is not empty
xmlRelaxNGParse: nothing to parse
xmlRelaxNGSetParserErrors
xmlRelaxNGSetParserStructuredErrors
xmlRelaxNGSetValidErrors
xmlRelaxNGSetValidStructuredErrors
xmlRelaxNGValidateDoc
xmlRelaxNGValidateFullElement
xmlRelaxNGValidatePopElement
xmlRelaxNGValidatePushCData
xmlRelaxNGValidatePushElement
xmlRelaxParserSetFlag
xmlRemoveID
xmlRemoveProp
xmlRemoveRef
xmlReplaceNode
xmlResetError
xmlResetLastError
xmlRMutexLock
xmlRMutexUnlock
xmlSaveClose
xmlSaveDoc
xmlSaveFile
xmlSaveFileEnc
xmlSaveFileTo
xmlSaveFlush
xmlSaveFormatFile
xmlSaveFormatFileEnc
xmlSaveFormatFileTo
__xmlSaveNoEmptyTags
xmlSaveSetAttrEscape
xmlSaveSetEscape
xmlSaveToBuffer
xmlSaveToFd
xmlSaveToFilename
xmlSaveToIO
xmlSaveTree
xmlSaveUri
xmlSAX2AttributeDecl
xmlSAX2AttributeNs
xmlSAX2CDataBlock
xmlSAX2Characters
xmlSAX2Characters: huge text node
xmlSAX2Characters overflow prevented
xmlSAX2Characters: xmlStrdup returned NULL
xmlSAX2Comment
xmlSAX2ElementDecl
xmlSAX2EndDocument
xmlSAX2EndElement
xmlSAX2EndElementNs
xmlSAX2EntityDecl
xmlSAX2ExternalSubset
xmlSAX2GetColumnNumber
xmlSAX2GetEntity
xmlSAX2GetLineNumber
xmlSAX2GetParameterEntity
xmlSAX2GetPublicId
xmlSAX2GetSystemId
xmlSAX2HasExternalSubset
xmlSAX2HasInternalSubset
xmlSAX2IgnorableWhitespace
xmlSAX2InitDefaultSAXHandler
xmlSAX2InitDocbDefaultSAXHandler
xmlSAX2InitHtmlDefaultSAXHandler
xmlSAX2InternalSubset
xmlSAX2IsStandalone
xmlSAX2NotationDecl
xmlSAX2ProcessingInstruction
xmlSAX2Reference
xmlSAX2ResolveEntity
xmlSAX2SetDocumentLocator
xmlSAX2StartDocument
xmlSAX2StartElement
xmlSAX2StartElementNs
xmlSAX2TextNode
xmlSAX2UnparsedEntityDecl
xmlSAXDefaultVersion
xmlSAXParseDoc
xmlSAXParseDTD
xmlSAXParseEntity
xmlSAXParseFile
xmlSAXParseFileWithData
xmlSAXParseMemory
xmlSAXParseMemoryWithData
xmlSAXUserParseFile
xmlSAXUserParseMemory
xmlSAXVersion
xmlSchemaAddComponents
xmlSchemaAddSchemaDoc
xmlSchemaAssembleByLocation
xmlSchemaAssembleByXSI
xmlSchemaAugmentIDC: allocating an augmented IDC definition
xmlSchemaBucketCreate
xmlSchemaBuildAContentModel
xmlSchemaCheckAttrPropsCorrect
xmlSchemaCheckAttrUsePropsCorrect
xmlSchemaCheckCOSSTRestricts
xmlSchemaCheckCOSValidDefault
xmlSchemaCheckFacet
xmlSchemaCleanupTypes
xmlSchemaCollapseString
xmlSchemaCompareValues
xmlSchemaCompareValuesWhtsp
xmlSchemaCopyValue
xmlSchemaCreatePCtxtOnVCtxt
xmlSchemaDeriveAndValidateFacets
xmlSchemaDocWalk
xmlSchemaDump
xmlSchemaElemCheckValConstr
xmlSchemaExpandAttributeGroupRefs
xmlSchemaFixupComplexType
xmlSchemaFixupSimpleTypeStageOne
xmlSchemaFixupSimpleTypeStageTwo
xmlSchemaFixupTypeAttributeUses
xmlSchemaFormatFacetEnumSet
xmlSchemaFormatIDCKeySequence
xmlSchemaFree
xmlSchemaFreeFacet
xmlSchemaFreeParserCtxt
xmlSchemaFreeType
xmlSchemaFreeValidCtxt
xmlSchemaFreeValue
xmlSchemaFreeWildcard
xmlSchemaGetBuiltInListSimpleTypeItemType
xmlSchemaGetBuiltInType
xmlSchemaGetCanonValue
xmlSchemaGetCanonValueWhtsp
xmlSchemaGetFacetValueAsULong
xmlSchemaGetFreshAttrInfo
xmlSchemaGetFreshElemInfo
xmlSchemaGetParserErrors
xmlSchemaGetPredefinedType
xmlSchemaGetValidErrors
xmlSchemaGetValType
xmlSchemaIDCAddStateObject
xmlSchemaIDCRegisterMatchers
xmlSchemaInitTypes
xmlSchemaIsBuiltInTypeFacet
xmlSchemaIsValid
xmlSchemaLookupNamespace
xmlSchemaNewDocParserCtxt
xmlSchemaNewFacet
xmlSchemaNewMemParserCtxt
xmlSchemaNewNOTATIONValue
xmlSchemaNewParserCtxt
xmlSchemaNewQNameValue
xmlSchemaNewStringValue
xmlSchemaNewValidCtxt
xmlSchemaParse
xmlSchemaParseCheckCOSValidDefault
xmlSchemaParseIncludeOrRedefine
xmlSchemaParseNewDoc
xmlSchemaPushAttribute
xmlSchemaPValAttrNodeValue
xmlSchemaResolveRedefReferences
xmlSchemaSAXHandleCDataSection
xmlSchemaSAXHandleEndElementNs
xmlSchemaSAXHandleStartElementNs
xmlSchemaSAXPlug
xmlSchemaSAXUnplug
xmlSchemaSetParserErrors
xmlSchemaSetParserStructuredErrors
xmlSchemaSetValidErrors
xmlSchemaSetValidOptions
xmlSchemaSetValidStructuredErrors
xmlSchemaSubstGroupAdd
xmlSchemaTypeFixup
xmlSchemaValidateChildElem
xmlSchemaValidateDoc
xmlSchemaValidateElem
xmlSchemaValidateElemDecl
xmlSchemaValidateElementByDeclaration
xmlSchemaValidateElemWildcard
xmlSchemaValidateFacet
xmlSchemaValidateFacets
xmlSchemaValidateFacetWhtsp
xmlSchemaValidateFile
xmlSchemaValidateLengthFacet
xmlSchemaValidateLengthFacetWhtsp
xmlSchemaValidateListSimpleTypeFacet
xmlSchemaValidateNotation
xmlSchemaValidateOneElement
xmlSchemaValidatePredefinedType
xmlSchemaValidateQName
xmlSchemaValidateSetFilename
xmlSchemaValidateSetLocator
xmlSchemaValidateStream
xmlSchemaValidatorPopElem
xmlSchemaValidatorPushElem
xmlSchemaValidCtxtGetOptions
xmlSchemaValidCtxtGetParserCtxt
xmlSchemaValPredefTypeNode
xmlSchemaValPredefTypeNodeNoNorm
xmlSchemaValueAppend
xmlSchemaValueGetAsBoolean
xmlSchemaValueGetAsString
xmlSchemaValueGetNext
xmlSchemaVAttributesComplex
xmlSchemaVCheckCVCSimpleType
xmlSchemaVDocWalk
xmlSchemaVStart
xmlSchemaWhiteSpaceReplace
xmlSchemaXPathEvaluate
xmlSchemaXPathProcessHistory
xmlSearchNs
xmlSearchNsByHref
xmlSetBufferAllocationScheme
xmlSetCompressMode
xmlSetDocCompressMode
xmlSetEntityReferenceFunc
xmlSetExternalEntityLoader
xmlSetGenericErrorFunc
xmlSetListDoc
xmlSetNs
xmlSetNsProp
xmlSetProp
xmlSetStructuredErrorFunc
xmlSetTreeDoc
xmlSetupParserForBuffer
xmlShell
xmlShellBase
xmlShellCat
xmlShellDir
xmlShellDu
xmlShellList
xmlShellLoad
xmlShellPrintNode
xmlShellPrintXPathError
xmlShellPrintXPathResult
xmlShellPwd
xmlShellSave
xmlShellValidate
xmlShellWrite
__xmlSimpleError
xmlSkipBlankChars
xmlSnprintfElementContent
xml:space
XmlSpace
xmlSplitQName
xmlSplitQName2
xmlSplitQName3
xmlSprintfElementContent
xmlStopParser
xmlStrcasecmp
xmlStrcasestr
xmlStrcat
xmlStrchr
xmlStrcmp
xmlStrdup
xmlStreamPop
xmlStreamPush
xmlStreamPushAttr
xmlStreamPushNode
xmlStreamWantsAnyNode
xmlStrEqual
xmlStringComment
xmlStringCurrentChar
xmlStringDecodeEntities
xmlStringGetNodeList
xmlStringLenDecodeEntities
xmlStringLenGetNodeList
xmlStringText
xmlStringTextNoenc
xmlStrlen
xmlStrncasecmp
xmlStrncat
xmlStrncatNew
xmlStrncmp
xmlStrndup
xmlStrPrintf
xmlStrQEqual
xmlStrstr
xmlStrsub
__xmlStructuredError
__xmlStructuredErrorContext
xmlStrVPrintf
xml-stylesheet
xmlSubstituteEntitiesDefault
__xmlSubstituteEntitiesDefaultValue
xmlSwitchEncoding
xmlSwitchInputEncoding
xmlSwitchToEncoding
xmlSwitchToEncoding : no input
xmlTextConcat
xmlTextMerge
xmlTextReaderAttributeCount
xmlTextReaderBaseUri
xmlTextReaderByteConsumed
xmlTextReaderClose
xmlTextReaderConstBaseUri
xmlTextReaderConstEncoding
xmlTextReaderConstLocalName
xmlTextReaderConstName
xmlTextReaderConstNamespaceUri
xmlTextReaderConstPrefix
xmlTextReaderConstString
xmlTextReaderConstValue
xmlTextReaderConstXmlLang
xmlTextReaderConstXmlVersion
xmlTextReaderCurrentDoc
xmlTextReaderCurrentNode
xmlTextReaderDepth
xmlTextReaderExpand
xmlTextReaderGetAttribute
xmlTextReaderGetAttributeNo
xmlTextReaderGetAttributeNs
xmlTextReaderGetErrorHandler
xmlTextReaderGetParserColumnNumber
xmlTextReaderGetParserLineNumber
xmlTextReaderGetParserProp
xmlTextReaderGetRemainder
xmlTextReaderHasAttributes
xmlTextReaderHasValue
xmlTextReaderIsDefault
xmlTextReaderIsEmptyElement
xmlTextReaderIsNamespaceDecl
xmlTextReaderIsValid
xmlTextReaderLocalName
xmlTextReaderLocatorBaseURI
xmlTextReaderLocatorLineNumber
xmlTextReaderLookupNamespace
xmlTextReaderMoveToAttribute
xmlTextReaderMoveToAttributeNo
xmlTextReaderMoveToAttributeNs
xmlTextReaderMoveToElement
xmlTextReaderMoveToFirstAttribute
xmlTextReaderMoveToNextAttribute
xmlTextReaderName
xmlTextReaderNamespaceUri
xmlTextReaderNext
xmlTextReaderNextSibling
xmlTextReaderNodeType
xmlTextReaderNormalization
xmlTextReaderPrefix
xmlTextReaderPreserve
xmlTextReaderPreservePattern
xmlTextReaderQuoteChar
xmlTextReaderRead
xmlTextReaderReadAttributeValue
xmlTextReaderReadInnerXml
xmlTextReaderReadOuterXml
xmlTextReaderReadState
xmlTextReaderReadString
xmlTextReaderRelaxNGSetSchema
xmlTextReaderRelaxNGValidate
xmlTextReaderRelaxNGValidateCtxt
xmlTextReaderSchemaValidate
xmlTextReaderSchemaValidateCtxt
xmlTextReaderSetErrorHandler
xmlTextReaderSetParserProp
xmlTextReaderSetSchema
xmlTextReaderSetStructuredErrorHandler
xmlTextReaderSetup
xmlTextReaderSetup : malloc failed
xmlTextReaderStandalone
xmlTextReaderValue
xmlTextReaderXmlLang
xmlThrDefBufferAllocScheme
xmlThrDefDefaultBufferSize
xmlThrDefDeregisterNodeDefault
xmlThrDefDoValidityCheckingDefaultValue
xmlThrDefGetWarningsDefaultValue
xmlThrDefIndentTreeOutput
xmlThrDefKeepBlanksDefaultValue
xmlThrDefLineNumbersDefaultValue
xmlThrDefLoadExtDtdDefaultValue
xmlThrDefOutputBufferCreateFilenameDefault
xmlThrDefParserDebugEntities
xmlThrDefParserInputBufferCreateFilenameDefault
xmlThrDefPedanticParserDefaultValue
xmlThrDefRegisterNodeDefault
xmlThrDefSaveNoEmptyTags
xmlThrDefSetGenericErrorFunc
xmlThrDefSetStructuredErrorFunc
xmlThrDefSubstituteEntitiesDefaultValue
xmlThrDefTreeIndentString
xmlToExamine
__xmlTreeIndentString
xmlUCSIsAegeanNumbers
xmlUCSIsAlphabeticPresentationForms
xmlUCSIsArabic
xmlUCSIsArabicPresentationFormsA
xmlUCSIsArabicPresentationFormsB
xmlUCSIsArmenian
xmlUCSIsArrows
xmlUCSIsBasicLatin
xmlUCSIsBengali
xmlUCSIsBlock
xmlUCSIsBlockElements
xmlUCSIsBopomofo
xmlUCSIsBopomofoExtended
xmlUCSIsBoxDrawing
xmlUCSIsBraillePatterns
xmlUCSIsBuhid
xmlUCSIsByzantineMusicalSymbols
xmlUCSIsCat
xmlUCSIsCatC
xmlUCSIsCatCc
xmlUCSIsCatCf
xmlUCSIsCatCo
xmlUCSIsCatCs
xmlUCSIsCatL
xmlUCSIsCatLl
xmlUCSIsCatLm
xmlUCSIsCatLo
xmlUCSIsCatLt
xmlUCSIsCatLu
xmlUCSIsCatM
xmlUCSIsCatMc
xmlUCSIsCatMe
xmlUCSIsCatMn
xmlUCSIsCatN
xmlUCSIsCatNd
xmlUCSIsCatNl
xmlUCSIsCatNo
xmlUCSIsCatP
xmlUCSIsCatPc
xmlUCSIsCatPd
xmlUCSIsCatPe
xmlUCSIsCatPf
xmlUCSIsCatPi
xmlUCSIsCatPo
xmlUCSIsCatPs
xmlUCSIsCatS
xmlUCSIsCatSc
xmlUCSIsCatSk
xmlUCSIsCatSm
xmlUCSIsCatSo
xmlUCSIsCatZ
xmlUCSIsCatZl
xmlUCSIsCatZp
xmlUCSIsCatZs
xmlUCSIsCherokee
xmlUCSIsCJKCompatibility
xmlUCSIsCJKCompatibilityForms
xmlUCSIsCJKCompatibilityIdeographs
xmlUCSIsCJKCompatibilityIdeographsSupplement
xmlUCSIsCJKRadicalsSupplement
xmlUCSIsCJKSymbolsandPunctuation
xmlUCSIsCJKUnifiedIdeographs
xmlUCSIsCJKUnifiedIdeographsExtensionA
xmlUCSIsCJKUnifiedIdeographsExtensionB
xmlUCSIsCombiningDiacriticalMarks
xmlUCSIsCombiningDiacriticalMarksforSymbols
xmlUCSIsCombiningHalfMarks
xmlUCSIsCombiningMarksforSymbols
xmlUCSIsControlPictures
xmlUCSIsCurrencySymbols
xmlUCSIsCypriotSyllabary
xmlUCSIsCyrillic
xmlUCSIsCyrillicSupplement
xmlUCSIsDeseret
xmlUCSIsDevanagari
xmlUCSIsDingbats
xmlUCSIsEnclosedAlphanumerics
xmlUCSIsEnclosedCJKLettersandMonths
xmlUCSIsEthiopic
xmlUCSIsGeneralPunctuation
xmlUCSIsGeometricShapes
xmlUCSIsGeorgian
xmlUCSIsGothic
xmlUCSIsGreek
xmlUCSIsGreekandCoptic
xmlUCSIsGreekExtended
xmlUCSIsGujarati
xmlUCSIsGurmukhi
xmlUCSIsHalfwidthandFullwidthForms
xmlUCSIsHangulCompatibilityJamo
xmlUCSIsHangulJamo
xmlUCSIsHangulSyllables
xmlUCSIsHanunoo
xmlUCSIsHebrew
xmlUCSIsHighPrivateUseSurrogates
xmlUCSIsHighSurrogates
xmlUCSIsHiragana
xmlUCSIsIdeographicDescriptionCharacters
xmlUCSIsIPAExtensions
xmlUCSIsKanbun
xmlUCSIsKangxiRadicals
xmlUCSIsKannada
xmlUCSIsKatakana
xmlUCSIsKatakanaPhoneticExtensions
xmlUCSIsKhmer
xmlUCSIsKhmerSymbols
xmlUCSIsLao
xmlUCSIsLatin1Supplement
xmlUCSIsLatinExtendedA
xmlUCSIsLatinExtendedAdditional
xmlUCSIsLatinExtendedB
xmlUCSIsLetterlikeSymbols
xmlUCSIsLimbu
xmlUCSIsLinearBIdeograms
xmlUCSIsLinearBSyllabary
xmlUCSIsLowSurrogates
xmlUCSIsMalayalam
xmlUCSIsMathematicalAlphanumericSymbols
xmlUCSIsMathematicalOperators
xmlUCSIsMiscellaneousMathematicalSymbolsA
xmlUCSIsMiscellaneousMathematicalSymbolsB
xmlUCSIsMiscellaneousSymbols
xmlUCSIsMiscellaneousSymbolsandArrows
xmlUCSIsMiscellaneousTechnical
xmlUCSIsMongolian
xmlUCSIsMusicalSymbols
xmlUCSIsMyanmar
xmlUCSIsNumberForms
xmlUCSIsOgham
xmlUCSIsOldItalic
xmlUCSIsOpticalCharacterRecognition
xmlUCSIsOriya
xmlUCSIsOsmanya
xmlUCSIsPhoneticExtensions
xmlUCSIsPrivateUse
xmlUCSIsPrivateUseArea
xmlUCSIsRunic
xmlUCSIsShavian
xmlUCSIsSinhala
xmlUCSIsSmallFormVariants
xmlUCSIsSpacingModifierLetters
xmlUCSIsSpecials
xmlUCSIsSuperscriptsandSubscripts
xmlUCSIsSupplementalArrowsA
xmlUCSIsSupplementalArrowsB
xmlUCSIsSupplementalMathematicalOperators
xmlUCSIsSupplementaryPrivateUseAreaA
xmlUCSIsSupplementaryPrivateUseAreaB
xmlUCSIsSyriac
xmlUCSIsTagalog
xmlUCSIsTagbanwa
xmlUCSIsTags
xmlUCSIsTaiLe
xmlUCSIsTaiXuanJingSymbols
xmlUCSIsTamil
xmlUCSIsTelugu
xmlUCSIsThaana
xmlUCSIsThai
xmlUCSIsTibetan
xmlUCSIsUgaritic
xmlUCSIsUnifiedCanadianAboriginalSyllabics
xmlUCSIsVariationSelectors
xmlUCSIsVariationSelectorsSupplement
xmlUCSIsYijingHexagramSymbols
xmlUCSIsYiRadicals
xmlUCSIsYiSyllables
xmlUnlinkNode
xmlUnlockLibrary
xmlUnsetNsProp
xmlUnsetProp
xmlURIEscape
xmlURIEscapeStr
xmlURIUnescapeString
xmlUTF8Charcmp
xmlUTF8Size
xmlUTF8Strlen
xmlUTF8Strloc
xmlUTF8Strndup
xmlUTF8Strpos
xmlUTF8Strsize
xmlUTF8Strsub
xmlValidateAttributeDecl
xmlValidateAttributeValue
xmlValidateDocument
xmlValidateDocumentFinal
xmlValidateDtd
xmlValidateDtdFinal
xmlValidateElement
xmlValidateElementDecl
xmlValidateName
xmlValidateNamesValue
xmlValidateNameValue
xmlValidateNCName
xmlValidateNMToken
xmlValidateNmtokensValue
xmlValidateNmtokenValue
xmlValidateNotationDecl
xmlValidateNotationUse
xmlValidateOneAttribute
xmlValidateOneElement
xmlValidateOneNamespace
xmlValidatePopElement
xmlValidatePushCData
xmlValidatePushElement
xmlValidateQName
xmlValidateRoot
xmlValidBuildContentModel
xmlValidCtxtNormalizeAttributeValue
xmlValidGetPotentialChildren
xmlValidGetValidElements
xmlValidNormalizeAttributeValue
XmlWriter
XmlWriterSettings
xmlXIncludeFreeContext
xmlXIncludeNewContext
xmlXIncludeProcess
xmlXIncludeProcessFlags
xmlXIncludeProcessFlagsData
xmlXIncludeProcessNode
xmlXIncludeProcessTree
xmlXIncludeProcessTreeFlags
xmlXIncludeProcessTreeFlagsData
xmlXIncludeSetFlags
xmlXPathAddValues
xmlXPathBooleanFunction
xmlXPathCastBooleanToNumber
xmlXPathCastBooleanToString
xmlXPathCastNodeSetToBoolean
xmlXPathCastNodeSetToNumber
xmlXPathCastNodeSetToString
xmlXPathCastNodeToNumber
xmlXPathCastNodeToString
xmlXPathCastNumberToBoolean
xmlXPathCastNumberToString
xmlXPathCastStringToBoolean
xmlXPathCastStringToNumber
xmlXPathCastToBoolean
xmlXPathCastToNumber
xmlXPathCastToString
xmlXPathCeilingFunction
xmlXPathCmpNodes
xmlXPathCompareValues
xmlXPathCompile
xmlXPathCompiledEval
xmlXPathCompiledEval: No result on the stack.
xmlXPathCompiledEvalToBoolean
xmlXPathCompOpEval: parameter error
xmlXPathCompOpEvalPredicate: Expected a predicate
xmlXPathConcatFunction
xmlXPathContainsFunction
xmlXPathContextSetCache
xmlXPathConvertBoolean
xmlXPathConvertNumber
xmlXPathConvertString
xmlXPathCountFunction
xmlXPathCtxtCompile
xmlXPathDebugDumpCompExpr
xmlXPathDebugDumpObject
xmlXPathDifference
xmlXPathDistinct
xmlXPathDistinctSorted
xmlXPathDivValues
xmlXPathEqualValues
xmlXPathErr
xmlXPatherror
xmlXPathEval
xmlXPathEvalExpr
xmlXPathEvalExpression
xmlXPathEvalPredicate
xmlXPathEvaluatePredicateResult
xmlXPathFalseFunction
xmlXPathFloorFunction
xmlXPathFreeCompExpr
xmlXPathFreeContext
xmlXPathFreeNodeSet
xmlXPathFreeNodeSetList
xmlXPathFreeObject
xmlXPathFreeParserContext
xmlXPathFunctionLookup
xmlXPathFunctionLookupNS
xmlXPathHasSameNodes
xmlXPathIdFunction
xmlXPathInit
xmlXPathIntersection
xmlXPathIsInf
xmlXPathIsNaN
xmlXPathIsNodeType
xmlXPathLangFunction
xmlXPathLastFunction
xmlXPathLeading
xmlXPathLeadingSorted
xmlXPathLocalNameFunction
xmlXPathModValues
xmlXPathMultValues
xmlXPathNamespaceURIFunction
xmlXPathNAN
xmlXPathNewBoolean
xmlXPathNewContext
xmlXPathNewCString
xmlXPathNewFloat
xmlXPathNewNodeSet
xmlXPathNewNodeSetList
xmlXPathNewParserContext
xmlXPathNewString
xmlXPathNewValueTree
xmlXPathNextAncestor
xmlXPathNextAncestorOrSelf
xmlXPathNextAttribute
xmlXPathNextChild
xmlXPathNextDescendant
xmlXPathNextDescendantOrSelf
xmlXPathNextFollowing
xmlXPathNextFollowingSibling
xmlXPathNextNamespace
xmlXPathNextParent
xmlXPathNextPreceding
xmlXPathNextPrecedingSibling
xmlXPathNextSelf
xmlXPathNINF
xmlXPathNodeEval
xmlXPathNodeLeading
xmlXPathNodeLeadingSorted
xmlXPathNodeSetAdd
xmlXPathNodeSetAddNs
xmlXPathNodeSetAddUnique
xmlXPathNodeSetContains
xmlXPathNodeSetCreate
xmlXPathNodeSetDel
xmlXPathNodeSetFreeNs
xmlXPathNodeSetMerge
xmlXPathNodeSetRemove
xmlXPathNodeSetSort
xmlXPathNodeTrailing
xmlXPathNodeTrailingSorted
xmlXPathNormalizeFunction
xmlXPathNotEqualValues
xmlXPathNotFunction
xmlXPathNsLookup
xmlXPathNumberFunction
xmlXPathObjectCopy
xmlXPathOrderDocElems
xmlXPathParseName
xmlXPathParseNCName
xmlXPathPINF
xmlXPathPopBoolean
xmlXPathPopExternal
xmlXPathPopNodeSet
xmlXPathPopNumber
xmlXPathPopString
xmlXPathPositionFunction
xmlXPathRegisterAllFunctions
xmlXPathRegisteredFuncsCleanup
xmlXPathRegisteredNsCleanup
xmlXPathRegisteredVariablesCleanup
xmlXPathRegisterFunc
xmlXPathRegisterFuncLookup
xmlXPathRegisterFuncNS
xmlXPathRegisterNs
xmlXPathRegisterVariable
xmlXPathRegisterVariableLookup
xmlXPathRegisterVariableNS
xmlXPathRoot
xmlXPathRoundFunction
xmlXPathRunEval: last is less than zero
xmlXPathSetContextNode
xmlXPathStartsWithFunction
xmlXPathStringEvalNumber
xmlXPathStringFunction
xmlXPathStringLengthFunction
xmlXPathSubstringAfterFunction
xmlXPathSubstringBeforeFunction
xmlXPathSubstringFunction
xmlXPathSubValues
xmlXPathSumFunction
xmlXPathTrailing
xmlXPathTrailingSorted
xmlXPathTranslateFunction
xmlXPathTranslateFunction: Invalid UTF8 string
xmlXPathTrueFunction
xmlXPathValueFlipSign
xmlXPathVariableLookup
xmlXPathVariableLookupNS
xmlXPathWrapCString
xmlXPathWrapExternal
xmlXPathWrapNodeSet
xmlXPathWrapString
xmlXPtrBuildNodeList
xmlXPtrEval
xmlXPtrEval: evaluation failed to return a node set
xmlXPtrEval: object(s) left on the eval stack
xmlXPtrEvalRangePredicate
xmlXPtrFreeLocationSet
xmlXPtrLocationSetAdd
xmlXPtrLocationSetCreate
xmlXPtrLocationSetDel
xmlXPtrLocationSetMerge
xmlXPtrLocationSetRemove
xmlXPtrNewCollapsedRange
xmlXPtrNewContext
xmlXPtrNewLocationSetNodes
xmlXPtrNewLocationSetNodeSet
xmlXPtrNewRange
xmlXPtrNewRangeNodeObject
xmlXPtrNewRangeNodePoint
xmlXPtrNewRangeNodes
xmlXPtrNewRangePointNode
xmlXPtrNewRangePoints
xmlXPtrRangeToFunction
xmlXPtrWrapLocationSet
XNamespace
XNNNNNNNNNNNNNNNNNNNNNN]
xNRIhEp9
XoBB0_28
xor.popcfu
?_Xout_of_range@std@@YAXPEBD@Z
xpath: expression required
	xpath expr   evaluate the XPath expression in that context and print the result
XPath operation limit exceeded
XPath stack depth limit reached
xpointer
XppppppppppppppppppppppppppppppB
XppppppppppppppppppppppppppppppppB
)XPWP2323
xqTh-7QYI
xq*UtGWs
 -X]qZd#
xR7Ya_az
?XrP88rxy
x@r'qRB-
""""""""""xr"""""xwx
?xScalarsPerElement@ConvShader@cask@@UEBAHXZ
xs:nonNegativeInteger
(xs:nonNegativeInteger | unbounded)
xs*"zz:z""
xTC[ (_7
xTkmDo8_UY
--- Xtoken refresh failed
--- Xtoken refresh success
_xTSAgdNm
?(?@?X?t?y?
xU1z2zNt
x UATAUAVAWH
x UATAVH
x UAVAWH
?XUJfoRR
X UVWATAUAVAWH
X UVWAVAWH
-x)v)?(@(
!:xVbm	4
?xVectorizedDim@ConvShader@cask@@UEBAHXZ
X.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3
X.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3
X.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5
X.visible .entry _ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5
'x		VUUU
X_VVEw|h
XW1CpC3g
x.w.6868
x|wBTjVa6
xWI96tRI
xWlllLee
x x0x1x.x
X X0X1X.X
x@x0x8x6x
X@X0X8X6X
x	x	2	3	
x@xAx8x:x
X@XAX8X:X
xXI96tSI
x@xPxQxNx
X@XPXQXNX
x@xPxXxVx
X@XPXXXVX
xX-t(9Fht
|||xxvzyr
x"x*x2x;xCxLxUx]xfxoxxx
xxxiiiji[
xxxnnmcc[
xxxrrrdc]fdY
XXXXI2I2v.w.
xxxxxxxxA
X	Y	C"C"?
x	y	c	e	
!x*y*v*x*
XZ1Vdu'xgo
xZMS	F7kQ
"	"	Y	[	
?*?;?Y?|?
y0Hci8x@
Y1a1i1q1y1
Y1?d]a-Dw
!Y1X1n3n3n(o(V
y)_2W60YH	
Y@333333-@
y3z31M1M
Y4[XJ(z9p-)
 y4y4(;(;
*y4y4C(D(
*Y4Z4E(D(
y6S Fcx8r
y76nAV96
y 7veH9G
-y9y9E;D;
Yacutesmall
YAjkWPN.
y	Ar192b
yAwAMELED)E)
(YAXAb.a.
yBA6UXZp
y]BB0_3o1
yBB0_55:
yBB0_56:
yBB0_56:BO(09eS
yBB0_72:
yBB0_97:f
YBM@MFPEP
(YB'qIP](|Li
ybra.unik
.ybra.uniT
YbYbYYYYY?
ycbcr2plane444Formats
ycbcrImageArrays
??YCHString@@QEAAAEBV0@AEBV0@@Z
??YCHString@@QEAAAEBV0@PEBG@Z
ycircumflex
Ycircumflex
yctaid.z@
yctaid.z9
ycuda_fp16.hpp
:(:Y:D;c;q;
yDECMWu?
yDECMWuE
YDeleteMemberByDispID
ydieresis
Ydieresis
Ydieresissmall
y]dWOt'["j3"F
YDYEY.c-cSeSewcxc
Year is out of valid range: 1400..10000
YeVoiTxl
Y_f25071
yfJIO(n3
YFMe3k[N
YFv"jzni
yg1f23e)
(*yg-iN@
yH0'Rj2FT
YH[H[SdRd
yHJa2k]Z
YijingHexagramSymbols
YiRadicals
YiSyllables
yjmatrix
Y-Kb]ppIb
yKgfd12414
YKg*ZNgL*
YkmYFS54
yKx;f9Tq[
Yl2-)c!MR
yLECMWup
:Y;l;p;t;x;|;
ymc__cmyy
y?n!_1Cj
YNNNNNNNNNNNNNNNNNN_
Y?oNdKTZ
(y;p	!12-
YpEr0L5Y	
Yppppppp
YpppppprWg
ypProtectionWd
*ypSaT2J
)yPvPs2r2
yq" f||O
y[QP-[.nx5h
YrCtC5S7S
-Yrd187l'
ys8nwbX'
?yScalarsPerElement@ConvShader@cask@@UEBAHXZ
		YTNI-	
ytred.andq
Y("T'rZa[
Y			t"uT
ytype_traits
YUBr4_Ea]D
YUjrB?kj
)yU;ZX'Q
Yv		0xI-
?yVectorizedDim@ConvShader@cask@@UEBAHXZ
YvV*1VsC
:yW0j0D0
ywfvsdxvf
ywk|zhwuevtdmk]
yX4!0'sI
yxxxxxxx
yxxxxxxxH
yxxxxxxxH;]0
yxxxxxxxI
yxxxxxxxL
y y0y1y.y
Y Y0Y1Y.Y
y@y0y8y6y
Y@Y0Y8Y6Y
yY2]OE]]
Y@Y@7G8G
Y*Y*9P;P
y@yAy8y:y
Y@YAY8Y:Y
YYbYbYbS
YYbYbYbYY
YYbYYbYYbYF
y@yPyQyNy
Y@YPYQYNY
y@yPyXyVy
Y@YPYXYVY
!]yy:rD Z
-YYrT0WUq
|yysjjjdddYXW]]W
YYY0RRRp@@A
YYYbYYbYYbc
|||yyyffeVVU
(#yyyrxSqq
yyyy    
YYYY''''
@YYYYbYYbYY
YYYYbYYT#
 YYYYbYYy
YYYYGGGG
YYYYMMDD
YYYYYbYbYbm
YYYYYYbYYbY@
YYYYYYYr
YYYYYYYYYYD
yyzzz9DD
?	?	y	z	
yZcf6T@X
(|*z*.-.- "!"
::;;;;:z
"!-"-Z([(
-Z0[0C'C'
 z0y0f7e7
(Z1*3Eq*7
_Z14poolCoalescedCILj0ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolCoalescedCILj0ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolCoalescedCILj1ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolCoalescedCILj1ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolCoalescedCILj2ELi2EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolCoalescedCILj2ELi3EEvPK9half2packPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiiif
_Z14poolNCxHWxInt8ILj0EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
_Z14poolNCxHWxInt8ILj1EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
_Z14poolNCxHWxInt8ILj3EEvPK19IMMAInt8PackedArrayPS0_iiN4cask15reduced_divisorEiiiS5_iiiiiiS5_ffPK20IMMAFloatPackedArrayS8_ii
Z1;5_3hf
_Z17gpu_check_crc_gpuPhyPVj
_Z18gpu_check_diff_gpuIdEvPT_S1_jjPjP7error_s
_Z18gpu_check_diff_gpuIfEvPT_S1_jjPjP7error_s
_Z18gpu_check_diff_gpuIhEvPT_S1_jjPjP7error_s
_Z18gpu_check_diff_gpuIjEvPT_S1_jjPjP7error_s
_Z18gpu_check_diff_gpuIsEvPT_S1_jjPjP7error_s
_Z18gpu_hist_gpu_firstI6__halfEvPT_yP10gpu_hist_sIS1_E
_Z18gpu_hist_gpu_firstIaEvPT_yP10gpu_hist_sIS0_E
_Z18gpu_hist_gpu_firstIdEvPT_yP10gpu_hist_sIS0_E
_Z18gpu_hist_gpu_firstIfEvPT_yP10gpu_hist_sIS0_E
_Z18gpu_hist_gpu_firstIiEvPT_yP10gpu_hist_sIS0_E
_Z18poolCHWPackedHalf2ILj0EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
_Z18poolCHWPackedHalf2ILj1EEvPK7__half2PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifii
_Z19gpu_hist_gpu_secondI6__halfEvjPT_yP10gpu_hist_sIS1_E
_Z19gpu_hist_gpu_secondIaEvjPT_yP10gpu_hist_sIS0_E
_Z19gpu_hist_gpu_secondIdEvjPT_yP10gpu_hist_sIS0_E
_Z19gpu_hist_gpu_secondIfEvjPT_yP10gpu_hist_sIS0_E
_Z19gpu_hist_gpu_secondIiEvjPT_yP10gpu_hist_sIS0_E
z1f21@["f2
_Z21poolCHWPackedInt8QuadILj0EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
_Z21poolCHWPackedInt8QuadILj1EEvPK5char4PS0_iiiiiN4cask15reduced_divisorES5_iiiiiifPK6float4S8_ii
_Z22first_layer_fwd_kernelILi2ELi3ELi3ELi16EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi3ELi3ELi32EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi3ELi3ELi48EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi3ELi3ELi64EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi4ELi4ELi16EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi4ELi4ELi32EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi4ELi4ELi48EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi2ELi4ELi4ELi64EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi3ELi5ELi5ELi16EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi3ELi5ELi5ELi32EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi3ELi5ELi5ELi48EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi3ELi5ELi5ELi64EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi4ELi7ELi7ELi16EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi4ELi7ELi7ELi32EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi4ELi7ELi7ELi48EEv19FirstLayerFwdParams
_Z22first_layer_fwd_kernelILi4ELi7ELi7ELi64EEv19FirstLayerFwdParams
_Z22gpu_poll_all_locks_gpuPVyyjjjS0_
_Z23gpu_convert_to_half_gpuP6__halfyPfy
z2Gtj:MXL
Z|2pOR*z
-Z2Z28484l#l#_*]*
_z4KKHV5
:.z5@i.Ji
Z5X5"M!M
'z;71k(z
z7772Hg7
z?801i:It6
-z9x9U;S;
za3;OVK3
Za]5KKMIO
zAf"]X)_
ZAMR@kkk
zBB0_25:
zBB0_330
Zcaronsmall
@zctaid.y
:?:Z:_:d:
zdotaccent
Zdotaccent
*zDxDGCFC
Ze9Iu?eF
	ZEB3520
z	EN.ibz
Zero based index of the GPU. Can change at each boot.
zeroBytes
zeroinferior
zerooldstyle
zeroOrMore
zerosuperior
ZeroTouchConfigurationEnabled
*Z"["f0e0
z""f2]!1f25
zFdteWj?
Zfunction
[zgetIERootPathWWW
zGyGfFfF
z(Hf2292	
ZH[HXHYHVH
ZHnCommandd
ZhQ:K(K8
 )zHred.A
ZII?XGGKXGG?TDD0SDD
ZiML6lkG
			z-index: -1;
Z	?Initialize@ClassInfoBase@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG_NPEBQEBUPropertyInfo@2@I@Z
Zip File Already Open
Ziu[ObHP
;Z)IZ4zIZ4zIZ4z
Z?jGy#-(H
zj"	H3AV
zj.-j[*F
Zj#N:2FOE
"ZJxk19Uzh
ZjzqoDsb
zL|[16W*
zLB]e_*o2
 zlib-ng 1.9.9 forked from zlib 1.2.11 
zL;Lc.*3
ZlpOutBufferW
ZlxU;6hK
![!Z!M N 
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi2ELi8ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi3ELi8ELi5ELi5ELi64ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi32ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_fprop_kernelILi4ELi8ELi7ELi7ELi64ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi3ELi4ELi3ELi3ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi5ELi4ELi5ELi5ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi16ELi16EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi32ELi32EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN17cutlass_build_env7library43image_network_first_layer_hmma_wgrad_kernelILi7ELi4ELi7ELi7ELi64ELi64EN7cutlass4conv6StrideILi2ELi2EEENS3_8DilationILi1ELi1EEENS2_4gemm9GemmShapeILi16ELi8ELi8EEEEEvNS2_13Tensor4DCoordESB_SB_NS2_9TensorRefINS2_6half_tENS2_6layout10TensorNHWCEEESG_SG_iiPiSH_Pt
_ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi0EEEvNS_23FirstLayerIMMAFwdParamsE
_ZN4cask19conv_3x3_strided_c3ILi4ELi1ELi32EfLb1ELi1EEEvNS_23FirstLayerIMMAFwdParamsE
_ZN4cask19reorderImma8816BiasENS_25ReorderImma8816BiasParamsE
_ZN4cask19reorderImma8816ReLuENS_25ReorderImma8816ReLuParamsE
_ZN4cask20compressSparseFilterIjLb0ELi16EEEvNS_19SparseTensorsParamsE
_ZN4cask20compressSparseFilterIjLb1ELi16EEEvNS_19SparseTensorsParamsE
_ZN4cask20compressSparseFilterItLb0ELi4EEEvNS_19SparseTensorsParamsE
_ZN4cask20compressSparseFilterItLb0ELi8EEEvNS_19SparseTensorsParamsE
_ZN4cask20compressSparseFilterItLb1ELi4EEEvNS_19SparseTensorsParamsE
_ZN4cask20compressSparseFilterItLb1ELi8EEEvNS_19SparseTensorsParamsE
_ZN4cask20computeOffsetsKernelILb0ELb0EEEvNS_20ComputeOffsetsParamsE
_ZN4cask20computeOffsetsKernelILb0ELb1EEEvNS_20ComputeOffsetsParamsE
_ZN4cask20computeOffsetsKernelILb1ELb0EEEvNS_20ComputeOffsetsParamsE
_ZN4cask20computeOffsetsKernelILb1ELb1EEEvNS_20ComputeOffsetsParamsE
_ZN4cask21computeBOffsetsKernelENS_21ComputeBOffsetsParamsE
_ZN4cask21reorderImma8816FilterENS_27ReorderImma8816FilterParamsE
_ZN4cask22computeOffsetsKernel3DILb0EEEvNS_20ComputeOffsetsParamsE
_ZN4cask22computeOffsetsKernel3DILb1EEEvNS_20ComputeOffsetsParamsE
_ZN4cask22reorderImma8816MatrixBENS_24ReorderImmaMatrixBParamsE
_ZN4cask22uncompressSparseFilterI6__halfLb0ELi8EEEvNS_19SparseTensorsParamsE
_ZN4cask22uncompressSparseFilterIaLb0ELi8EEEvNS_19SparseTensorsParamsE
_ZN4cask22uncompressSparseFilterIfLb0ELi4EEEvNS_19SparseTensorsParamsE
_ZN4cask23reorderImma16832MatrixBENS_24ReorderImmaMatrixBParamsE
_ZN4cask24compressSparseTensor_2_1IjLb0ELb0EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_2_1IjLb0ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2IaLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2IaLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2IaLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2IaLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2ItLb0ELb0ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2ItLb0ELb1ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2ItLb1ELb0ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask24compressSparseTensor_4_2ItLb1ELb1ELb1EEEvNS_19SparseTensorsParamsE
_ZN4cask25computeWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
_ZN4cask26computeWgradBOffsetsKernelENS_26ComputeWgradBOffsetsParamsE
_ZN4cask26reorderHmmaSp16832MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
_ZN4cask26reorderImmaSp16864MatrixAmENS_27ReorderHmmaSpMatrixAmParamsE
_ZN4cask26uncompressSparseTensor_2_1IjLb0EEEvNS_19SparseTensorsParamsE
_ZN4cask26uncompressSparseTensor_2_1IjLb1EEEvNS_19SparseTensorsParamsE
_ZN4cask26uncompressSparseTensor_4_2IaLb0EEEvNS_19SparseTensorsParamsE
_ZN4cask26uncompressSparseTensor_4_2IaLb1EEEvNS_19SparseTensorsParamsE
_ZN4cask26uncompressSparseTensor_4_2ItLb0EEEvNS_19SparseTensorsParamsE
_ZN4cask26uncompressSparseTensor_4_2ItLb1EEEvNS_19SparseTensorsParamsE
_ZN4cask27compute3DWgradOffsetsKernelENS_25ComputeWgradOffsetsParamsE
_ZN4cask27first_layer_imma_fwd_kernelILi8ELi7ELi7ELi64EEEvNS_23FirstLayerIMMAFwdParamsE
_ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
_ZN4cask27generateWinogradTilesKernelILi0ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
_ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementI7__half2EES3_S3_EEvNS_27GenerateWinogradTilesParamsE
_ZN4cask27generateWinogradTilesKernelILi1ENS_7ElementIfEES2_S2_EEvNS_27GenerateWinogradTilesParamsE
_ZN4cask31computeWgradSplitKOffsetsKernelENS_26ComputeSplitKOffsetsParamsE
_ZN4cask33XmmaSparseInt8GemmMetadataReorderILb0EEEvPvPKvx
_ZN4cask33XmmaSparseInt8GemmMetadataReorderILb1EEEvPvPKvx
_ZN7cutlass6KernelI39
_ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI39cutlass_simt_dgemm_128x64_8x4_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI39cutlass_simt_sgemm_128x64_8x5_nt_align1EEvNT_6ParamsE
[_ZN7cutlass6KernelI4
_ZN7cutlass6KernelI40
_ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_dgemm_128x128_8x3_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_hgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_hgemm_256x128_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x4_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI40cutlass_simt_sgemm_128x128_8x5_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI43cutlass_simt_igemm_s8_128x64_32x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI44cutlass_simt_igemm_s8_128x128_32x2_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI46cutlass_tensorop_d884gemm_64x64_16x4_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI47cutlass_tensorop_d884gemm_128x64_16x3_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI48cutlass_tensorop_d884gemm_128x128_16x3_nt_align1EEvNT_6ParamsE
_ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_32x5_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_128x128_64x4_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_32x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI50cutlass_tensorop_h16816gemm_256x128_64x3_nt_align8EEvNT_6ParamsE
[_ZN7cutlass6KernelI54
_ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_128x128_64x5_tn_align16EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_i16832gemm_s8_256x128_64x3_tn_align16EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_16x5_nt_align4EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_128x128_32x4_nt_align4EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_16x3_nt_align4EEvNT_6ParamsE
_ZN7cutlass6KernelI54cutlass_tensorop_s1688gemm_tf32_256x128_32x3_nt_align4EEvNT_6ParamsE
[_ZN7cutlass6KernelI55
_ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_128x128_128x4_tn_align16EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_i16832gemm_s8_256x128_128x3_tn_align16EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_128x5_tn_align32EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_128x128_256x4_tn_align32EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_128x3_tn_align32EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_i16864gemm_s4_256x128_256x3_tn_align32EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI55cutlass_tensorop_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
[_ZN7cutlass6KernelI58
_ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_32x5_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_128x128_64x4_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_32x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI58cutlass_tensorop_f16_s16816gemm_f16_256x128_64x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_32x5_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_128x128_64x4_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_32x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_bf16_s16816gemm_bf16_256x128_64x3_nt_align8EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_i168256andgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_128x128_512x5_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI60cutlass_tensorop_i168256xorgemm_b1_256x128_512x3_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI61cutlass_tensorop_i168256andgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_128x128_1024x4_tn_align128EEvNT_6ParamsE
_ZN7cutlass6KernelI61cutlass_tensorop_i168256xorgemm_b1_256x128_1024x3_tn_align128EEvNT_6ParamsE
zoBB0_42
Z?oBB0_42
zoMqLIG_
ZO:O:GGGG
ZPbmF:-.R
'ZpiG43:::KK8
zQ2_1016
zsAIoY#6
ZSvcs!ZGIZ:
:.:@:Z:t:
?.?@?Z?t?
zt?333333
z*tFc;SB
zU25JUFn
)zU#3orP
Z(u[L;MR@5-*
z]vD.G:o
z]vLow9;;
z.VN*daX
 ZVSxnE@
zVUy6JwHx
Zv*Vn:b'
Z@v@v@v@v
Z@v@v@v@v@v@v@v@v
ZwCreateFile
ZwCreateSection
ZwEnumerateKey
ZwEnumerateValueKey
ZwMapViewOfSection
ZwOpenFile
ZwOpenKey
ZwQueryDirectoryFile
ZwQueryInformationFile
ZwQueryInformationProcess
ZwQueryKey
ZwQuerySystemInformation
ZwQueryValueKey
ZwReadVirtualMemory
ZwSetInformationProcess
ZwUnmapViewOfSection
Z?wUr!Xwt
ZxQ_z4Xk;'
zXXXlqqq
zy"6YjPR
Z;;;;;;;;;;;;Z
z z0z1z.z
Z Z0Z1Z.Z
z@z0z8z6z
Z@Z0Z8Z6Z
z(z4z@zMzZzfzsz
'z#z#A(?(r"q"
z@zAz8z:z
Z@ZAZ8Z:Z
Z-Z-dJbJ
		ZZoooo
#Z(Z(P"Q"
z@zPzQzNz
Z@ZPZQZNZ
z@zPzXzVz
Z@ZPZXZVZ
ZZQyj	JR
 Z"Z"W!W!
ZZZe[[[FWWW
zzzhhhXWT
zzzqqrZZZSSQ
ZZZ[WWW0WWW
zzzzzzzzzzzz
BGEBAPA[PKF_YX]
BgecgfG 
BGEFMA@[K
BGEKZJXSM
[BGEQJGQ
B_gEtgfG2
bGetStore
bge.un.s
b-gevgfG
BGEYMAYM
bgfG0:4zgqggj
)bgfG085
BgfG)1Pggqgg
bgfG!1u"gqgg-
bgfG46uzgqgg
!bgfG)78
bgfG9co;gqgg
bgfG@9D]gqgg
bgfG?a[)gqgg
bgfGbak2gqgg
BgfG@B:'gqgge
bgfGbMhjgqgg
bgfG|c7#gqgge
bgfGCi7tgqgg
bgfGCLjwgqgg
bgfGcpE2gqgg
bgfGD5ijgqgg:
bgfG-D8)gqgg
bgfGdj*Pgqgg
bgfGDqzdgqgg
bgfGDuPPgqggj
bgfG"Eexgqgg
bgfG#eP3gqgg
bgfGeQTogqgg
bgfGF:C"gqgg
bgfG)	Ftgqggo
bgfGG9s0gqgg
bgfGgEhEgqggQ
bgfG_gN	gqgg
Bg-fggwh
bgfGh8jWgqggPN
bgfGIEV:gqgg
bgfGilkhgqgg6	
bgfG"iR_gqgg
bgfGisvXgqggO
 bgfGKag
bgfGmnpagqgg
bgfGmTD	gqgg
bgfGm;-zgqgg
bgfGnhddgqgg
bgfGnr"Bgqgg
'bgfGo?O
bgfGpGVNoD"
bgfGQ.E|gqgg
bgfG@qVKgqgg
bgfGQWM5gqgg
bgfGrN:Jgqgg
bgfG#RoKgqggQ
bgfGrOz|gqgg
BgfG[SuDgqgg
bgfGTEsigqgg
bgfGTpW"gqggQ
bgfGtu;3gqgg
BgfG(Twqgqggd
bgfGU3*Zgqgg
(bgfGUk7
bgfGUVYJgqgg
bgfGVMYygqgg
bgfGv@S(gqgg
bgfGX0PFgqgg
bgfGybVIgqgg
bgfG:Yz-gqggu
bgfGzTpOgqggfBp
)))BGFJB
BGFJBBGFJBGLF
BGFJBFGYF[]Z
BGFJBZ][@GN
BGFJBZ][@GNT
bgfwe#BP
bgfwHgcL
_bgfwh.L
bgfwPol'
@bgfwrZb#
BGFYFGGF
bG|gAggw
BGG@AHACPB
bGgCfgfG*
bGgfGyLPEgqgg
bggfw8;B4
bggfwE[:
bggfwFU"@gv
bggfwkb9j
bggfwrzv
Bggfw(.U
bggfwU@zg
Bg'ggfG	
Bg-ggfG0
Bg#ggfGp
B gGggfG
bggGSDNZgqgg
bggjgfGn
BGGLGASK[_JG
bggngfGc
bggOggfwEG
BGgqggVUxa
BGGQYX_M[LLYYLNQ
_BGGSL_[CY
bggw@-AbR"
BGHELLKO_Q
BGHH]JX@XXZJ
BGHK@]@J
BGHLCCPC
BGHPHHYB
BGHPJDGXO_[YSMJQAJ
B[GHPPAX
Bghqqqqqqqqqhqhhhfddf
B.giagfG
BgIggfGm[
Bgiggfw*
BgikgfGa.
BgIkgfGM0c
B#gimgfGMPb
@_BGiQRSSAMK
BgitgfG5H
B)gixgfG
BG]JEGOZ_XNLA
'b(g'jgfG
BgJgibgfG
BGJJOYMMN
BGJLJLKG
BGJM@L]SQYNBZ
BGJMOM[GZZ
BGJXCYCOPS
bgkagfG7
BGKBMKXS]
BgKegfGg
bgKegfGv
bgKfgfG#I
B!g]kgfG	
Bg_kgfG0
Bg!kgfGKo.(gqggD
Bg'kgfGT
)bg;kgfGV'
BgKggfGr
B]G_KGL]JFNGOQ@XGY
bgkkgfG_
BG[KKPOJA_
B?gkmgfGs
bgKngfGdr
]BGKOGCCY
B[G]K_]PEPQX
BGKQBKANQ
BG]KQQDL
bgkSdgfG
BGKSNXYQQOY
_BGLANAHJ
[BGLCZQYK
BGL[_FZ[KXY
B[GLKABA
BGLKGH]CDPXK]
b@gllllllllmllllOllylm:
bgllllllllmllllOllylm
[BGLNOSB]]Y_B
BGLOQZLLB[
B[GL[PHSAM
BGLQ]ZLZZ@FG
BGL]_S_@GMG
b|gMagfG
BGM]C[]H
BG]MCJ[D
B@GMD@GM
BgMfgfGVg
b gm;gfG
BG[MGQBSJM
BGMKLMYFZXHN]O
	)))B@GM[LNH[MZO[FD]ALJ[
BGMN_NLZ
BGMNQDNQP@_Q
_@B@GNAHDDL[
BG@NBHZJ_
b@GNFODHZZ)(
B@GNFODHZZ
Bg'ngfGNx
*B*GNggG
B_GNHZZX
#)))B@GNJFYL
B_GN]JZLC
BGNKGGPJPZA[ENP
b@GNlEE@Z
BGNLH]HOA_[
B@GN[LHML[
B@GNMFD@]
b@GNMLOHJL[
b@GNMLOHJL[))
B@GNMLOHJL[iDZG
BGNNQEXQ
BGNQZBOKQA
BGNZJDMB
B@GNZYF@G][LZ@MLGJL
bgodgfGw
BgOmgfGx
_BGONNXEHYBZX[L
B]GOPABQS
BGOQEJBG
bgowggGm
Bg@[[[P[[[
BGPAYOCGHS[XZEOMLM
@@@@@B@@gp@@@@@@@@@@@B@@
@@@@B@@@gp@@@@@@@@@@@@@@Cp@R
@@B@gpf@@@@@
bgpgppepq
B|gpgppepq
BGpgppepq
BGP_MXK[PML
@@B@gpV@@@@@
).@B@@@gp@X
BGQ[]AQP
;bgqgg['
!Bgqgg2hv
Bgqgg4Jly
bgqgg5)W
B--gqgg8
bgqgg8@U
bgqgg?92
Bgqgg!9j
Bgqgg9Nz9Z
Bgqgg#9Q
BgqggAN!
Bgqgg)b!V
bgqggcnuD
BgqggcnuD
BgqggcnuDk
BgqggcnuD#u
BgqggcWr
*bgqggDS
bgqggeL-
BgqggeY|
BgqggG"#
bgqgg'G8i
Bgqgg'G8i
BgqgggF2
BgqgggNi
Bgqgg!h4r6
BgqggIJv_
Bgqgg@J4
bgqggK49
B)gqgg]kS9'
bgqggKSl
BgqggKSl
BgqggL7a
)Bgqggm1P
BgqggMR!1
@bgqggmV
]BgqggN8
B*?gqggNV
BgqggnzT
)Bgqggo!
bgqggOCon
BgqggOHfs
Bgqgg[Q2h
bgqgg@QXx7_
B:gqggr;
#bgqggRgx
b:gqggs1
Bgqggsd@
[B*gqggt
BgqggtD@
b)gqggUHU
bgqggUZ8
b.gqggvu
BgqggvYid
bgqggWoql
Bgqgg:X7
b.gqggXl
bgqggXLY
BgqggXsp
bgqggyQ@
b*gqggzq
BGQ_HDHBXHXDA
 bgQkgfG
BGQKGYJ]AS
BgQpgfGX
@BG_Q]S_N
BG@rBrsS
[BGSDCXZ
BgsdgfG-
BGSDHCLSB]G
B@GSEL[@DD@N[H]@FG
bgsfgfG_Od
-bg;sgfG#w
BGSJHQD_
BGSJQH]CALD
bgSkgfGN
BGs)mggfw-
BGSPH[FJZ
bgSSSSS!#5
B[g[sSWSSYx@B[[
_BGSYALHSN
BG]]SZELL
BG@TBTI9
Bg	tgfG6
bgt.un.s
"bguGgfG
bgWcgfGiz
b gwdgfG
BgWegfGY#FfgqggB
BgWjgfGZD
bgWkgfGn
bgWPgfGa
BGX_]D_]E
BGX[]EHYMMD
BgX[[[J[[[
BGXKHKNAMSQ
BGXN_A_D]Y]
BGXXDQPSYO[
BGXYOHMO
bgYegfGR(z
BgyegfGuwqpgqgg
BGYJMQ_PGOO
BGYKEONSJBZ
bgykgfGbUC
bgykgfGy
BGYNNSON
BG_YN_SXLS_BDL
B[GYPSON
BgYqgfGG
BGYSZSKN
bGyyyyyy
BGyyyyyYc9yyym
BGyyyyyYg9yyy
BGYZJGCP
BgZ[[[)[[[
@BGZCZZK
]BGZDKDQ
BGZFMDKJ
B@GZ@GNA]]Y
B@GZ@GNA]]YZ
B@GZ@GNJADFM
B@GZ@GN@O
b)))@GZ]HEE
BGZHMSOAL
B]GZP[C@OHQ
BG[[ZSE[S
BGZY[QXAP
bh2gyfgfG?
Bh4hggGz
bH5g-tgfG
BHA9Cxw'A
BHAA@@KFLFJDKKBFKHYCCCBFAF@GLAOK
BHACDDGG
BHADYPXK
B@h@AEac
B@h@AFac
B@HaxPy@MVIAMVAIVKLB@H@HW
BHAY[B_E@CX
BHBCB]QFCZZF]J
]BHBCJLNY
BHBFJBXMGA_]DK
B[HBLGJ[PY]F[
B_H]BMCQS@_S_D
BHB_OEOD
BHCE]PZ[N
@]_BHCGYLCMPA
BHC_H_JMG
BHCN[G__NNCN]
BHCS@A@GM_PP
BHC[SQD]Y
BHDA@ZYPK
BHDDL[H]ZBHKL[Z
BhDdR[[[u[[[t[[[M
_@B[HDGHNH[
BH[DHBH[
BHDHEHGMJFDYHGP
BH[DHNLMMFG
BH[DHYLM@H
BHDJ_KKKOSL
BHDK@GNDLMHG
BHDLELFG
B[HDL[ZDH[@FGGL]]LZ
BHDQ[LJHFB
B)))_H[E
@BHEBD@H
BhEbETEFE(E
bHEFJBHG
BHEF[@ZLYL]@
BHEHXGSC
b)))HEL[]
bHEL@MFZJFYL
BHEL@MFZJFYL
BHEL[YDXE
@@@Bh EZ
BH[FE@GH
_BHFHX[@G[
)))BHFLHF[HFGHFLHFEHF
]."BhfLI
@@B@h FMHc
BHFXOKJK
BhFZFLF?F'F
BH@[FZFO]
BHFZMHZM
BHGACAKNDY
BHGB@]FD
B[HGFGJY[_[BKNOBHE_DJBC
BhggfgfG
	bhggfw.
(!bhggfw
bhggfw!][
bhggfw_;
bhggfw!0
bhggfw3U
bhggfw5:
bhggfw8]G
[bhggfw9
bhggfw]9
bhggfwc]
bhggfw e
bhggfwi'
bhggfw(k
bhggfwlX
bhggfw(M
bhggfw O
bhggfwp|0
bhggfw)qe
bhggfwQYT
bhggfw?r
bhggfw	u
bhggfw	um
bhggfwvz
bhggfwWHf9na
bhggfwY0
bhggfwY8
bhggfwZ#
)))BH[@GHAHEEKL[N
BHGHM[@EE
BHGLBDCX]Z
b[HGLd@GL[
)))BH[_@GLG]L[Y[@ZL
BHGM[F@M
BHGQ]GH_JY
BHGQOFXS
BH]GXMJJXBKD
B)))HGYA_GJP[[Q]SB@E
BHH;AXuZ
B]HHBBNA_BX
)))BH]HB@GL]
BH]HB@GL]
BHHDSBHZJSEC
BHHEDQ_N
BH]HE@Z]F
BH[HG]HG@
BH@HLBAM
BH]HL_LADEGXDDK
_BHHM[_@C_P[@SZZ_H
_BHH]NZHB
BH[HOL]MFEE
b)))H[[HP
B@H@Hxxx
Bh@@@@@j@@A@ADac
bH]JAE@GB
BHJBG]A]
b)))HJ]@FG
BHJGMQLXJP
BHJ_[GXONOBXM
bHJHBZALEE
]BH_JMP_
B_hJ]@_@]P
B_H_JQN_BK]OQL
BHJY@vGF]@OP
BhKDA-Qb
BHK[H]]ND]JA
BHKLCDXEX
b[HKOHKvm[FYcz)(
]_BHKSOECS
@@B@h KV
B]HLBLNM[
BH[LGDFK@EPH
BH[LGZNH[MLG]@YZ
bH]L[HJ]
BH]L[Li_ZY
_B[HLLJOB
bhllllllllmllllOllylm
BH@LSKOJBXSX
@B[HLv@Z
BHL@_YYA
?)))BH[MDLDF[Pr
BH[MDLDF[Pr
B[HM_D]O[ZLEH
BHMFAHLPQ_FN_
BHMMDQAXC
BHMMGYKNE
BHMQMBSJSDJSO]]D
BHMXJOJCN_J
@@B@h N_
BH_N]EEJZY
Bhng9egfG*
BHN_GN[M
B]HNHBAQ
BHNKMXOQZ_GGLE
#b)]H[NL]
b)))]H[NL]
B)))]H[NL]
b)))]H[NL]DFML
BHNLNLSBCEQ
BHN[Q[JBH
)))BHNwL
BHNYGGQ@C
@B@@h O@@@@@
BHO[]D_C
Bh(o'dgfGs
BHODGLQ]
BHOGBPBBMPKC
BHOHHYN[KM
BH[OLJ[AYCPKGLQADL
BHO@_N[PH_FY[B]]QOS
BHOOLLD@]BFOOL@G
BHOQGL@XQ
bhourlwl
BHOYSDZ[X
B@H@OyxYy.
BHOZ_OC]D]
BH_OZZEY
BH_OZZEY))
 ;@@@@B@@@Hp@_
)@@@@B@@@Hp@[
@@@@B@@@Hp@
@@@@B@@@Hp@	
@@@@B@@@Hp@[
@@@@B@@@Hp@]
@@@@B@@@Hp@](
@@@@B@@@Hp@_
@@@@B@@@Hp@_"@
@@@@B@@@Hp@|
@B@@@Hp@
@B@@@Hp@]
B@@@Hp@[
B@@@Hp@]
@@@@B@@@Hp@]7
@@@@B@@@Hp@a
@@B@HpB_
@@@@@@B@HpBzR
@@@@B@@@Hp@c#
@@@@B@@@Hp@c0
@@@@B@@@Hp@Cr
@B@@@Hp@Cr
@@@@B@@@Hp@cS
@@@@B@@@Hp@d
B@@@Hp@d
@@@@B@@@Hp@D
BHP]]]DGDDXQAB
[@@@@B@@@Hp@dHh
@@@@B@@@Hp@e
!@@@@B@@@Hp@f
@@@@B@@@Hp@f
B@@@Hp@f
@@@@B@@@Hp@F?5R
@@@@B@@@Hp@g
@@@@B@@@Hp@G
@@@@B@@@Hp@G[
@B@@@Hp@G
@@@@B@@@Hp@Gnj
B@@@Hp@Gnj
BHpgppepq
@@@@B@@@hp@H
B@@@hp@H
 @@@@B@@@Hp@h
@@@@B@@@Hp@H
BHPH][@]
B@@@Hp@H9
@@@@B@@@Hp@HX
@@@@B@@@Hp@Hz
B@@@Hp@Hz
@@@@B@@@Hp@HZB
@@@@B@@@Hp@i
@@@@B@@@Hp@I
B@@@Hp@I
"@@@@B@@@Hp@IL
@@@@B@@@Hp@IL
@@@@B@@@Hp@j
"@@@@B@@@Hp@J
'@@@@B@@@Hp@J
@@@@B@@@Hp@J
@@@@B@@@Hp@J!
B@@@Hp@J
@@@@B@@@Hp@JO
@@@@B@@@Hp@jWP
@@@@B@@@Hp@k]'
@@@@B@@@Hp@k_
@@@@B@@@Hp@K
@B@@@Hp@K
B@@@Hp@K
@@@@B@@@Hp@KHHt
@@@@B@@@Hp@l
*@@@@B@@@Hp@L
.B@@@Hp@L
:B@@@Hp@L
@@@@B@@@Hp@L
@@@@B@@@Hp@L:
@B@@@Hp@L
B@@@Hp@L
@@@@B@@@Hp@lBX6
@@@@B@@@Hp@LMoN
@@@@B@@@Hp@M
B@@@Hp@M
B@@@Hp@Ma
@@@@B@@@Hp@ME
@@@@B@@@Hp@Mf
@@@@B@@@Hp@MFJ'
BHPMFZYFZ
@@@@B@@@Hp@MqZ3
@@@@B@@@Hp@N
@@@@B@@@Hp@Na	
@BHPNSYPSQ[N[PDPQOCLGDP
@B@@@Hp@Nwyb
@@@@B@@@Hp@o
@@@@B@@@Hp@O
@B@@@Hp@O
_B@@@Hp@O
.@@@@B@@@Hp@O)3
'@@@@B@@@Hp@OvV
@@@@B@@@Hp@P
@@@@B@@@Hp@P!l
B@@@Hp@P?V
[@@@@B@@@Hp@PyS
@@@@B@@@Hp@Q
@@@@B@@@Hp@Q:
@B@@@Hp@Q
B@@@Hp@Q
@@@@B@@@Hp@r
@@@@B@@@Hp@R
@B@@@Hp@R
B@@@Hp@R
@@@@B@@@Hp@RAGX
@@@@B@@@Hp@R	iA4@@@@B@@@Hp@R
@@@@B@@@Hp@R	iA4@@@@@*@@E@ACa
@@@@B@@@Hp@rR)
	@B@@@Hp@RWm
@@@@B@@@Hp@S
@@@@B@@@Hp@S;
B@@@Hp@S;
B@@@Hp@S[
@B@@@Hp@Sd.
@@@@B@@@Hp@S"L
"@@@@B@@@Hp@SR
"B@@@Hp@SR
@@@@B@@@Hp@ss
@@@@B@@@Hp@Sw
:@@@@B@@@Hp@T	
@@@@B@@@Hp@T
@B@@@Hp@T
B@@@Hp@T
@@@@B@@@Hp@tD
B@@@Hp@ThO
;B@@@Hp@TR
@@@@B@@@Hp@TR
@B@@@Hp@TR
B@@@Hp@TR
@@@@B@@@Hp@u
@@@@B@@@Hp@u[
@@@@B@@@Hp@U:
B@@@Hp@U
)@@@@B@@@Hp@V
@@@@B@@@Hp@V
B@@@Hp@V
@@@@B@@@Hp@]vLm
B@@@Hp@]vLm
@@@@B@@@Hp@W
@@@@B@@@Hp@W*
@@@@B@@@Hp@Wi
@@@@B@@@Hp@WK
?@@@@B@@@Hp@x
@@@@B@@@Hp@x
B@@@Hp@x
?@@@@B@@@Hp@X
@@@@B@@@Hp@X
B@@@Hp@X
@@@@B@@@Hp@xk
@@@@B@@@Hp@Xy:
	@B@@@Hp@Y
@@@@B@@@Hp@Y
@@@@B@@@Hp@Ycb
?.@@@@B@@@Hp@YG
@@@@B@@@Hp@Ys
)@@@@B@@@Hp@Z[
@@@@B@@@Hp@Z
"@@@@B@@@Hp@Z1
@@@@B@@@Hp@Z1
bh@@@@@q@@A@ADac
BH]QCO[BPNNNBGA
bH@Q@G))
BHQ[G[[E
BHQGSKHHMQNQ
@BHQHKYLD[]H
B@HQJKAPYBP
BHQKD[FXB[N_FASZSA]
BHQKLCGE
BH[QKZLDC
B]HQOHZP
BHQPU@HFN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHNYJ
B][HQS_J
BHQXLALG
B'Hru17MR"TjGd- 
BHSHJA@C
BHSHJALZ]_F
BHSHZECKYGYO_KCEZCS[
BHSKHGPDLKLSHENC
BHSMYQ]PDAJKHXFB@C
]BHSN]OGZ[
BHSOGG[XGF
BHS@Y[Z]
B@HTLLKC
b)))Hu@GMLOLGML[
BHX@HPOK@YHMFA
BH_XJOGDL
BH@XQSPS
BHXXA[BC[LEK
BHYA]ZXPGDCQF
BH_YKAPPO]
B_H[Y@QDS
BHYSJPSGZ
BHYYHGZQEMLZ
)))b)))_H[Z][
Bh@@@@@z@@A@AAac
B]HZBE@Z]
BHZG@JQC
BHZHLK][G]ODM]
BHZHXZ_JLA
BHZKEA]G
BHZ]LDYXYQ
b)))H_ZMH
B_h;ZSSBGD
BHZXC[DZ_
bHZYL[ZBP
bHZYL[ZBP))
")))BHZYL[ZBP
BHZYL[ZBP
_B[HZZJKDMXQA@HQ]
b@@@@@I@@
B[I9fQEyQ
bIAAAA@AAAAAC
bIAAAA@AAAAAC 
bIAAAA@AAAAAC0
BIBAHp@_
@[B[@IBYD
B[Id[[[[
bIdJ[[[![[['[[[
??Bid@locale@std@@QEAA_KXZ
bIdY[[[C[[[E[[[a
BiEaEUEME1E)E
BiE]EME9E1E!E
BIeF[[[Z[[[
BIeJ[[[j[[[
BIfJB]BI
bIgcdgfG
BIg'dgfG
Big[kgfG
bIgqggu0
BigStrcat
BigUogfGQ
big'xgfG
BigYkgfG
BI@@Hp@O5
BIjATSSE@[EBVLk9
BIJIAWHHIW
BIJVHQX?
BIKHIIIdII
B?iK_y@q
BillllllllmllllOllylm
BIllllllllmllllOllylm	
(BillllllllmllllOllylm|dL
bIllllllllmlll]Y]]
BILLY.COM
BILLY.EXE
BILLY.SYS
BilV't6!
BinaryImportPathp
binaryinjector.h
BinaryRegExpSearch
binary string
BinaryURL
bIncludeInformationWW0
bindingInfoOffset
bindingInfoSize
BIN_MOD_COOKIE
BIN_MOD_DOCSTRING
BIN_MOD_END
BIN_MOD_HELPCONTEXT
BIN_MOD_NAME
BIN_MOD_PRIVATE
BIN_MOD_READONLY
BIN_MOD_REFCONTROL
BIN_MOD_REFORIGINAL
BIN_MOD_STREAMNAME
BIN_MOD_TEXTOFFSET
BIN_MOD_TYPE_DOCUMENT
BIN_MOD_TYPE_PROCEDURAL
BIN_MOD_UNICODENAME
BIN_MOD_UNICODESTREAM
BIN_PROJ_CODEPAGE
BIN_PROJ_CONSTANTS
BIN_PROJ_COOKIE
BIN_PROJ_DOCSTRING
BIN_PROJ_EOF
BIN_PROJ_HELPCONTEXT
BIN_PROJ_HELPFILEPATH
BIN_PROJ_KIND
BIN_PROJ_LCID
BIN_PROJ_LCID_INVOKE
BIN_PROJ_LIBFLAGS
BIN_PROJ_MODULECOUNT
BIN_PROJ_NAME
BIN_PROJ_REFNAMES
BIN_PROJ_REFPROJECT
BIN_PROJ_REFREGISTERED
|BIN_PROJ_VERSION
BI(NSSW@CBCs
BIN_UNKNOWN
BiosBase
BiosMajorMinor
biosreleasedate
BiosSize
biosversion
BiosVersion
@@B@(ISSW@ABALagUBA@XxULa@XxWBX
        BitLocker Drive Encryption Command Line Tool
Bitlocker.ManageBDE.PerformActionComplete
Bitlocker.ManageBDE.PerformActionStart
Bitlocker.ManageBDE.ValidateUsableTPMPresence
Bitlocker.ManageBDE.WMainComplete
Bitlocker.ManageBDE.WMainStart
BITSJobCreate
BitsPerComp
biubgfG5
BIVAVHVIQX?
BIVOVIJQX?
BIV@VIVKQX?
B[@IxWB[@IBIQs
@_B_J7B_2N
B@j@AA@@@A@B
B_JA[BBQJL[[QZ
B@j@AC@@@A@?pAG
@[B[Ja[D@_xPE@XE@WUD
B@j@AFac
BJAHCKQSCJ
]B[JAKA]L
B@]JALG]@DL[
B[JAPD]H
BJA]Q_YCGBBY
BJAX@QYGZKNXLMP
BJB[_E_BAJS
[BJ_BJXG
BJ]B[PNNNFO
@_BJBUB_
_BJBZDZB
B@JBZ]HGM
BJCBESBQ
BJ][CBHS_DNBMK_DDEA
BjcbStoreEntryIdWW
BJC[K_CBDO_
BJCLYGK_
B]]J]C_X_C_
B_JCXOE[PGN[D_
B_JDE]OS
BJD_GJD[DJSZ
BJD[HBZMN@JPB
BJDHSYJDQ
BJdL[[[w
BJDS_KJGH_LQYCBNAP
BJdWBJxP[D
BJdWBJxP[H
BJDZYCQ]_
[BJEEDGHM
bJE@?G@6@AFa
b)))JE@JBKFQ
BJE_NMHMSZ[SYE
BjESE@E)E
BJEZLGMNA
B@J]FFNXBEBSBDCXNCM@JMG
)))[@]@BJFG]H@GL[ZL[_@JL
[@]@BJFG]H@GL[ZL[_@JL
BJFKN]MA
BJFNBS[J
B]JFOXZBHK
@[B[JfQEyB|
BJF[ZMDXG]BP
BJFZYSEF
@_B_JgQEyQ(WSSWB_D
@@B@JgQEyQ(WSSWB@K
bjgqggLi9
bjgqggwi
BJGSNCQM
BjgSngfGSb
BJGYAZMHH
BJ]H]BP]
BJHD_]QQYLDPXLPNQSAZ_
B_]JH[EHDKF
bjhggfw?
BJhggfwi
BJhggfw[q0
BJhggfwqFg
BJHHNUAUJMUILyxhyU
B)))JH]JA
BJH]]]MZCLYB
B@JHN@JHN@JH
B@JHN@JHN@JHN@AC
B@JHN@JHN@JHN@JHN@JHN@MQ
B@JHN@JHN@JHN@JHN@JHN@NEDBN[
B@JHN@JHN@JK
B@JHN@JHN@JKCKN
B@JHN@JHNYAGBFEKPK
B@JHN@MQ]SQ[A@NA
B@JHN@MQSSMYXJD
BJHQ]MDXQALK
_BJ_H@XD
BJJA[BGXND
BJJAJNLYPK
BJJB_YE[K
BJJCCPEKD_
)))BJJFG]LJA
BJJH]MKXZD
BJJJAQEX
BjjjjjjjhBh.....hhhh
Bjjjjjjjj_
B_J_JK_J[J
BJJMK]]]HQ
BJJQCOXHL
b)))JJvFG
B]jJWSSE@[EBVL
BJJXG[BL
B]JJZL[_@JLHJJLZZ@K@E@]P
BJKANMPH]APJAEEPOCHKJHKJK_A
]BJKDN@KYSGN@F
B_J[@K[GE_
BJK_NHOK
BJKONK]FS
BJK@X]XZAJNYJ
B_[]J[L[
BJLDJNCP
b)))J[LH]LFKCLJ]
B)))J[LH]LFKCLJ]
b)))J[LH]LJ[LH]LHH
bjllllllllmllllOllylm
BJ_[LLNJANOZZLBKO
@B@J@Lp@P
_B_J_LQZ
BJL[SALCYKXAOBHG
]BJ]MCMY
bj"Mfgfw
B.J)mggfwY
BJMGOSQBG
BJMH[__N]M@FJ
BJMKZQPPDKX
B_J]M]MA_KB
BJMM]HY_CAY
BJMQGDAXXNC
BJMQ@PCNN[X[HCLO
BJMZQMB@HXMFNOYHSJ]
B@[JNEXJM
BJNGHDSPPJ
BJN[HXYG]
bjninboyVQ
BJNOXHDSHBBEHNN
BJN]_PAB
BJO@GML[
]_BJOJYO_
BJOLKO]QNDAZC
B_JO@ONQECY_SXCNSQG
BJOQEMKBZXSZOLKJ
BJOSXLYB
BJOZBJQXQKK
@@@@B@@@Jp@
@@@@B@@@Jp@B
@B@@@Jp@B
@B@@JpF@@@@@'
BJPFJ[_XNX
@@@@B@@@Jp@H
@@@@B@@@Jp@J
@@@@B@@@Jp@l
BJPLHH_A
BJPNQE_HSHKMYXACBLKZS_A
BJPOESS_ZP
@@BJ@.pR@@@@@
@@@@B@@@Jp@U
@@@@@B@@JQ@@@@@@@@@@BA@@Hp@DL
 bJ.qgfG?
@@@@B@@@JQ@LJ
@@@@@@B@JQ@M
@B@@@JQ@M
@@@@B@@@JQ@ML
@@@@@@B@JQ@NW
@@@@@@B@JQ@O
@B@@@JQ@S
BJQSQBOMBGLLXGMC_BJYYZG
@B_JQSQCL
@@@@B@@@JQ@T'
]B]JSCCAA
BJSEFOSCXKND
BJ]SGM_MB
BJSJS]DC@KP[[E
BJSLBJSEX
B[JSMSK@G
BJSQSQMBSL
B]JS[X]Q[
BJvR[[[Z[[[
_BJXALNMQ_E[
BJX[AQ[G
BJ[XBX_Q
BJX[EG[HAHXB
BJXEYS@KCJD
BJXONG[]HKNB[
BJXYEDNQ@COGJC[G
BJXYJQ[ONM
BJYAJABS_AY
BJYJGBXY
BJYN[]GQ
BJYOP[OAL
BJYXJMY_
Bjyy@CBE
BJZGFPNPSX
[B][JZKEQ[X
BJZNFG]LEJC
[BJ]ZQ_ZHOY
BJZSL][EQC
bK0dV[[[0
Bk  5     
bK7aTggAgg
BKAAJEGA_
BK]A]G[OMCEC
[BKAHYGJX
BKA_YCZG
BKAYP]SL
B_KBCOJPJGD
BkBgBSBOB;B7B#B
BK]BGOSC
__BK@B]K
BK@BODYY
BKBZGQNQPDJ
B||kC||HC||-C||
[BKCJGDG
BKCKJNJQ[HSKKHZCXSN
BKCOZXLX
B||kC||WC||;C||
B[_KCXHK]P]
BKDAKSBC
B[KDAZZ@NY@
BKDDMPBCYXBPJ[Y
Bk'dgfGZ
BKDGX]DD
B_[KECSCS_XM
BKEL_]CZL
[BKEMYJCCC
B@KEXBCEGSH
BKEYKH_AYG
bKeZpgppepq1
@_B_KfXs
BK_GD[HGJYG]
bkgdservice.cpp
B@k@GEac
@]B]KgEQ(VSSWsBS
BK_GGCJYDMH@
BKGgqggn
BKGK_KLPQC
B]KGL[O]rCZHD
BkgmbgfG
 BKgqggy
BKGXNYZKMEGMYKD[ZKJ
BKHCM]@NBPBAJMAPJZG
BKHSC_BFM[_N
BK_HXGLZBYMFBYNMDKY
B)))KHZL
;BkicgfG8
BKIJ@WS]
:bKjgiegfGZ
BKJNLAPPMYG
BKKACNEXDLZCMOXJG
B]KKGNZQ
B@KKJWXU
B@KKJyxAy
B@KKJyxMyU
BKKKKxxxUU
BK[KLX[_OSAH
BKKNDPKK
BKK]NHSCQNAQZGB
B@KKOyxQy
BKKVHQX?
BKKXNM]ANEYQ
BKLg5egfG
BKLg5egfG3d
BKLg5egfGf
BKlkUSSBKK
bKllllllllmllllOllylm
bkllllllllmllllOllylmU4
[BKLOAJDY
BKLOMH[]SQLQ
BKL]YGBQ
B_KLYG@LPL
)))BKLYYFHGX
())BKLYYFHGXBJ_ZY]P]JQZ
BKMGOSCP
BKML]MLQP
BKM_LSXCD
BKMPBKJ_
BKNBXOPL
BKNBZF_J
BK(nSSW@[BJK9
BKNYOSGO
B]KOCJQPBYO@AE
_BKOKHCBL
BKOKKLYJ
BKPDXJXP
BKP[D]ZSBJYC
B#kpgppepq
BkpgppepqP
bkpgukq@r
BK]PKLPMQPM
_BKPMNGPJ
BKPM]QKXODDK
BKPQLB[XO
BKQOPSZPQL
BKQ@PCCBHSD
;BKRS3!ZSSS@S
_BK@SALS
BKSAQBDMJ]
B_K[SGPQEO[GCNXZ
BKSGYCNBNX
B[K@SKZ@Y
]BKSOA_NXYXKM_
B:	K[sP)
bkvdQ[[[
BKXCSSCDMCE[C@]CO
BKXDDM_BN]FX
[BKXGNBGC[G
_B]K][XZBBSSKGNO]
BKYF@_QGL
@BKYMGX[DCX
BKYSSA@ZHF
_BK]ZH_ND[K]LOKB@Q
BKZK_AKBSQZ[FHPZ[
[BKZKP]]CB
BK[Z_LBLLCP[BCMB
b[KzL@F))
]BKZ@MKXO
]BKZ_OL@BXSYH
bK'Z'PYu'd
B|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l||
@_B_L7g9kn
B@L9@@w H
BL_]ACQHN
B@l@AEac
@@B@LafwxWUD
B]LAHPS[
@@@@BLA@Jp@K
BL_AK[HM
BLA]MBMNPKLN
[:blank:]
BLAOEH_Z
BLAOGBSM
BL[APDGOL
BL_BBQXMKL
BLBFSP[GY_N]
BL]BG[_CHSG
@@@@BLB@Hp@JW
	@@@@BLB@Hp@L
#@@@@BLB@Hp@L
@@@@BLB@Hp@L
@@@@BLB@Hp@L2
@@@@BLB@Hp@Li
@@@@BLB@Hp@Ly
@@@@BLB@Hp@M
@@@@BLB@Hp@O
@@@@BLB@Hp@Zw1
@@B@@LBLLO
BLBYYE[A
B[LC73M7B[LC1B[sS
B]LC73M7B]LC1B]sS
B_LC73M7B_LC1B_sS
B_LCaQEyEYE9@WT9@sTLK
BLCCHEDEYNG
BLCLSXZE
BLCOEDOJ
BLCPCDPP@CSMGK_B
BLCZDOCNGN
b|||l||||||||||||||||||||||||||Db||||||6b||||||*b||||||
b"LdH[[[
BL_DNNZH
b||||||||||||||||||||||||||||||||||||||||||||||||||ld||Xd||
)))BLDY_@EH
BlDZDLD9D
bLdz[[[K[[[L[[[q
BLDZXP@Q
BlE_EWE9E
BL@EF[DF]F[@GG
b)))[LEH]@FGZA@YZ
b)))LELDLG]
b)))LEMF[G
blendvpd
blendvps
]]BL]EQO
BLESHQQHQE
ble.un.s
B[LF1B[LX73B[LI1B[O732B[LJ7B[N132AcLG
BLFGLZS_BB
BLFHBCP]LP
BL@F_JZJGF
BLFLFPD]
BL[FZEZFEPZ
BLg5kgfG
BL[GBL[G
BLG@BXZDH@
BLGDPG_ZZALC_JNHYXQD
BL[GEJH]M@JFPHCu
BLG@EOLvEFHM_EQ))
BLG@EOLvEFHMOHZ))
BL_@GEQN
BLG]FGAH[M@GALHE]A
B]L[GGM]P]N
bLGhiggGR
	)))BL[GLE
")))BL[GLE
#)))BL[GLE
')))BL[GLE
((BL[GLE
)))BL[GLE
;)))BL[GLE
?)))BL[GLE
bL[GLEjHEE
bL[GLEKHZL
bL[GLEmEE))
:bLgqggt
"]BLgUtggG
BL_[GY@D]@
bL[Gy[F]LJ]))
BLHAAPGPF
B_LHCA@J
)))BL[HD@BHMLJF[
blheap_RVA
blheap_size
BLHE]SHBS
B]LHKJCH
_BLH_L[AA
BLHMQPNSNSA
BL@HNG_JFYD_P
B]LHNXZJOOHN_FZBE
BLHO_ZYZXE
b@.@@@@@L@@HpBW
@@@@BL@@Hp@JDi
@@@@BL@@Hp@Y
BLJPDBOOO
BLJ@P@OJ
B]LJYDPJ
BLJYQACHMS@
BLJZPK@ONB
BLKFDQYOS]
BLKJSDKQP
BL[KL[FHZ]
;)))BL[KL[FZ
BL[KL[FZ
BL[KL[FZBLP
BL[KL[FZEFN@G
bL[KL[FZ|]@EZ
BL[KL[FZMFDH@GZPGJJFGO@N
bL[KlGJ))
B_LK[NM]_
BLKOLZFJ
[b[l[k[v[j[j[
bL[KzLZZ@FG))
BLLC73M7BLLC1BLsS
BLLCYYMHOM
bLLJAHB[H
_]BLLJK[JY
BLLKxx]Y]]
bLllllllllmllllOllylm
bllllllllmlll
	bllllllllmllllOllylm
*bllllllllmllllOllylm
;bllllllllmllllOllylm
@bllllllllmllllOllylm
]b*llllllllmllllOllylm
b*llllllllmllllOllylm
b[llllllllmllllOllylm
bllllllllmllllOllylm
bllllllllmllllOllylm!
bllllllllmllllOllylm*
bllllllllmllllOllylm:
bllllllllmllllOllylm[
)BllllllllmllllOllylm
;BllllllllmllllOllylm
B!llllllllmllllOllylm
B)]llllllllmllllOllylm
B_llllllllmllllOllylm
BllllllllmllllOllylm
BllllllllmllllOllylm!
BllllllllmllllOllylm-
BllllllllmllllOllylm]
'bllllllllmllllOllylm0
b(llllllllmllllOllylm1
#BllllllllmllllOllylm1
BllllllllmllllOllylm2u
bllllllllmllllOllylm4
bllllllllmllllOllylm5
B-llllllllmllllOllylm?6
bllllllllmllllOllylm7
bllllllllmllllOllylma[	
bllllllllmllllOllylmA
BllllllllmllllOllylmA
bllllllllmllllOllylmb
BllllllllmllllOllylmB
BllllllllmllllOllylmC
BllllllllmllllOllylmdy
B llllllllmllllOllylme
BllllllllmllllOllylme
BllllllllmllllOllylmFTgU
bllllllllmllllOllylmg'
BllllllllmllllOllylmg
b? llllllllmllllOllylmh:
BllllllllmllllOllylmh0v
BllllllllmllllOllylmh9
BllllllllmllllOllylmhFm
BllllllllmllllOllylmI
bllllllllmllllOllylmJ
BllllllllmllllOllylmk(M
bllllllllmllllOllylml
BllllllllmllllOllylml
bllllllllmllllOllylmLQ
BllllllllmllllOllylmnJU
[bllllllllmllllOllylmo
bllllllllmllllOllylmo4
BllllllllmllllOllylmQ
BllllllllmllllOllylmr
BllllllllmllllOllylmR
bllllllllmllllOllylm;rmCf
@bllllllllmllllOllylms
b]llllllllmllllOllylms
bllllllllmllllOllylmU
'BllllllllmllllOllylmU
BllllllllmllllOllylmU
BllllllllmllllOllylmV
bllllllllmllllOllylmw
bllllllllmllllOllylmW
BllllllllmllllOllylmX
BllllllllmllllOllylmY
B*llllllllmllllOllylm*zOX_
BllllllllmllllOllylmzz[
[bllllllllmlll]Y]]
b?llllllllmlll]Y]]
bllllllllmlll]Y]]
B;llllllllmlll]Y]]
Bllllllllmlll]Y]]
B]*llllllllmlll]Y]]i
	B-.l.llylm
	B-]l.llylm
B*l'llylm
B-l.llylm
)))BLLYDLZ@NG@G
BLLY@GN][HJBZ
BLLYHZZMH]HKHZLBLP
BLLYMH]Ht
BLLYZJF[L
bLmC[[[|[[[i[[[[[[dY[[[
BLM][DXE
@_B_LMgX[D9
BL]MJFP[PZ
B||lM||KM||
BLMOBMQZ[O
BL_MXBQZ
B[LNDH[]E@DL
B]LNHGHGCC
B)))[LNHMM
BLN[MGE]
|@@@@BL@@Np@H
@@@@BL@@Np@Hd
@@@@BL@@np@J
BL@NXOJCS
blobsasuri
BLOCKACCESS
BLOCKEXECUTION
blockingtriggersigseq
blockingtriggersigsha
blocklist.cpp
blocklist.h
blockmap.cpp
blockmap.h
BlockOnlySectorWrites
BlockProcess
BLOKKJB]PLSQ
b)))[LO[LZA
BLOQMYZHLMDCMS]M
BLOYKMAD[ZAP][C
@@@@@@B@Lp@
@@@@@@B@Lp@[
@@@@@@B@Lp@]
@@@@@B@@Lp@@@@@@@@@@@@@@
@@@@B@@@Lp@
@@@@B@@@Lp@	
@@@@B@@@Lp@[
@B@@@Lp@
B@@@@@@@@Lp@|
@@@@B@@@Lp@ab
B@@@Lp@bAo
B_LPBHKJB
blpbkPosition
BLPBM_MXGONA_HZ
@@@@@B@@Lp@@@@@@@@@@B@@@Np@H
@B@@@Lp@(c
BLPDH]L[@HE
BLPDHYYL[
@@@@B@@@lp@E
B@@@lp@E
@@@@@@B@Lp@e8
bLPEFFBL[
BLPEFNM@[
bLPEFNN@GN
bLPeFNNL[
bLPEFNNL[
")))BLPEFNNL[
BLPEFNNL[
BLPEFNNL[v]A[LHM
B@@@lp@Ei
BLPELZZYHEHJL
@@@@B@@@Lp@EPZE
bLPe@Z]hJ]@_@]P
@@@@B@@@Lp@f
@@@@@@B@lpFF
B_LPF]YP
)))BLPGHDL
@@@@@@B@lpgHm
[BLPG[H[_YOO
BLpgppepq
@@@@B@@@lp@H#
BLPH_H@EHKEL
BLPHZ[PHQ
@@@@@@B@Lp@i
@@@@B@@@Lp@I#
@@@@@@@BLp@J
BLPJADFM
BLPJAH@G
BLPJAH@GZ
BLPJFG]LG]
BLPJMFSHX
)))BLPKEFK
#)))BLPKFH[M
BLPKFH[M
BLPK]JiNDH@E
BLPKO]_ZN
bLPkP]LaFDL))
@@@@B@@@lp@L
@@@@B@@@Lp@l
B@@@Lp@L9c
BLP[LCZPDQASMAA
BLP]LDYwZ][
BLPLFKSZ
bLPlGJFM@GN))
bLPl_LG]))
B*lPllylm
B-]lPllylm
B-_lPllylm
B-lPllylm
B]]lPllylm
B.lPllylml
B-]lPllylmp_
(B@@@Lp@m
@@@@B@@@Lp@m
@B@@@Lp@m
B@@@Lp@m
@@@@@@B@Lp@M
@@@@@@B@Lp@Mg7
@B@@@Lp@Mp
B@@@Lp@n
 )))BLPO@EL
BLPOF[D]PYL
bLPo@GM)(
]BLPO@OGF
@B@@@Lp@oX
B[]LPOYZ_GPK[QG
BLP@O@Z@GZ]HGJL
@@@@@@@BLp@P
@@@@B@@@Lp@P;
@@@@@@B@Lp@Pc
@@@@@@B@Lp@q
@@@@@@B@Lp@Q
@@@B@Lp@Q
@@@@@@B@Lp@Qa
BLPQDEuu
@@@@@@B@Lp@R
BLPrBLP@GMLQt
@@@@B@@@lp@S
	@@@@@@B@Lp@S
@@@@@@B@Lp@S
@@@@@@B@Lp@S|	
[@@@@@@B@Lp@S9
BLPS[]CZMLG
@@@@@@B@Lp@SG
@@@@@@B@Lp@Sjm'
@@@@@@B@Lp@SQ
@@@@@@B@Lp@S_]T
]@@@@@@B@Lp@SuJD
@@@@@@B@Lp@S|x
@@@@@@B@Lp@Sy
@@@@@@B@Lp@T
@@@@B@@@Lp@TW
@@@@@@B@Lp@U
@@@@B@@@Lp@U
BlpulAttachmentNumWWW
BLPvHEEvHJJLZZ
@@@@@@B@Lp@Vm
')))BLPvOF
B@@@@@@@@Lp@X
@@@@B@@@Lp@y
@@@@B@@@Lp@y"
@@@@@@B@Lp@Y
@@@@B@@@Lp@Yj
BLPY[LZZ
bLPy[LZZLM))
@@@@B@@@Lp@z
@B@@@Lp@z
@@@@@@B@Lp@Z
bLPZ][FBLZ
BLPZ][FBLZ
BLPZ][@GN
BLPZLJFGMZJ[@Y]
#)))BLPZ@NA]
BLPZUZLELJ]
BLQCYKNS
BL[]Q]D_[
BLQDQXHAYQB_J
BLQGCFXCQO
BLQJA[MSN]
b)))LQLJ
B)))LQLJ
BL_QNFP_
BL_QNYYFQPAPABBEL
BLQPPA]Q_JZ]H
B)))@LQYEF[L
BLQZL]OLE
B]LQZO[DGPN
B-lRllylm
@_B_Ls9l
B[LsdVBTKeGBULsdVBVJeZB]s
BLS@_HP]
B(lSllylm
B-]lSllylm
B-lSllylm
B-lSllylm*
B.lSllylm
B-lSllylmvH
BL][SMBA
BLSOKCLKZML
BlSSSSSSSS
(blSSSSSSSSSSSS
BlSSSSSSSSSSSSSSSSSSSSSSSSSSSS
blt.un.s
B(lWllylm
B.lWllylm
B_lWllylm
B-lWllylm	2
BL[XEZPAN
B(lXllylm	
B-lXllylm;
BL_X]MDO
_B[LXOCCL
BlXSllllllllmllllOllylm
BLXZM[BHQQS[CGSNZXK@
BLYDSL[ZDAME
BLYEDJEGQEN
BLY[FAA_LGCLJY
B@]LYFBCAADBBAA
B@LYGA]G_
B_LY@HLJLXXMJ
BLY[_HPZ
B('lYllylm
BLYOCZ@GKBOC
BLY@Q@G_A
_BLZJDPXX
BLZLHEOFYPX_
	B-lZllylm
	B-]lZllylmP
B@LZLMJ_
BLZN[MZGG
BLZSFQNNA@F
B[LZYFGZL
BLZZNNZLYPOS
B".M!8.l'llylm
B[M!8.lSllylm
B_M!8.lSllylm
BMACPDGAY
BM action can't be empty
bm.add_bm_action() action can't be empty
bm.add_bm_action(): UtilWideCharFromUtf8 failed
bm.add_related_file() file name can't be empty
bm.add_related_file(): UtilWideCharFromUtf8 failed
bm.add_related_string() name can't be empty
bm.add_related_string(): UtilWideCharFromUtf8 failed
bm.add_related_string() value can't be empty
[BMA[KF@N[NB
BMALBN[JZCNO
BMAMHHLH
B_MAP[K@HKKCQCC
BMAQ_XAOOX_OYC
BMBFNK]H
B[MBJOZ_L
BM_BLKEXC:
BM_BMP_FILE
BMBPDJJX
BMBQGDHN[M_
BMBZLYPPSO]
BMB@Z[OLM
b||mc||Dc||#c||
BMC_GGJEZDJ[P[C
BMCMAMDMM[
BMCMDD@OL]
BMCNYQXN
BmController
BMCSJ]NBLZGXOQYAQMQM[P
bM.dA[[[h[[[.[[[
B	MdA[[[R[[[P[[[0tJdK[[[
[BMD]C_JCOS_K[
BMDDYLBYPQP
BM[DGPAX]BJM[HA
B]MDGYGNKZ[QFH
BMDHFG[AZPB
bm.DisableSignature() not called on a sigattr signature
BMDNDYJH
B]MDOQBM
BME[AZML[LX]AL[
BmEeE9E1E
BME;E-EQDBD4D
BmEfEIE:E*E#E
BMEOAPYNGBHP
BmEopMonitoredProcesses
BmERE;E E	E
bmeventids
BmEYE]EUE1E
BMEYLEJY
B]MFDOZ[CY
BmFileActions
BmFileChangeOverwriteExclusions
BmFileChangeOverwriteExtensionInclusionSortedList
BmFileInfo
BmFileOpenByNameList
BmFileOpenList
BmFileStartupActions
b)))MFJ]F[
BM[@FL][B
B)))MFRZY[HP
BM[FYMGXXH
BMGALOMLP
BMGCFGALQMZ
B_MGENQO
bm.GetMatchDuration() failed to get events sequences
bm.get_SMS_level(): invalid SMS level
'BMgfG6Q1
'BMgfGu'
-b)mggfw
(B)mggfw?
B)mggfwm
BM_GIF_FILE
BMG]JPCBXZ
BMgmdgfG
bmgMegfG)
BMHardenedProcesses
BmHipsRuleInfo
BMHKZNQCN[KMP
bmhresult
BMHXFBMFL]PCZMSZ_K
bminternal
BM_IsInstaller
BMJBOCAPMOQJ
B[MJC@NS_[[ZDANHJ[
[b[m[j[c[o[k[h[
B]@MJFGG
BMJGSJB]
BMJJ[YNDOCNZ
BM_JPG_FILE
bmJpgppepq
B[MJSBNL
BMKAQSY_G]MFBDO
BMKDHB_MS
BMKDNOKAOJ
]BMKGFQBAP
BMKKH_PJDXSJHSLDK
BMKLOC_QFM
BMKQPH]XFFJZ[@_PSDC]HCLXQCEZPBLBZXBXCGH@CF
BMl7VSSBMI
BMLC73M7BMLC1BMsS
BMLFZOJE]_
BMLJFGGLJ]
B?Mllllllllmlll
BmllllllllmllllOllylm
B[MLLOYP_C
_BMLPP_LH[SO
BM]LQOCJ
B_MLQQJQ
bm_lua_api_trigger_sig_*_propagate() first can't be empty
bm_lua_api_trigger_sig_*_propagate() second can't be empty
bm_lua_api_trigger_sig_*_propagate(): UtilWideCharFromUtf8 failed
bm_lua_set_detection_string first can't be empty
bm_lua_set_detection_string(): UtilWideCharFromUtf8 failed
bmmaxlivecontexts
bmmaxtimesincelastcontextscavenger
bmmaxtimesincelastdbscavenger
_BM_]MG]A
bMmggfwh.
BMMKMCXM@O
B@MM@LSAH@[SFGL
B]M]MMBJ
B[MMMQG_CNZ
BMMNXD]]@
BMM_O_LDQ
BM_MpHighlyTrustedInstaller
BM_MpIsInstaller
BM_MpIsInstallerSignedInvalid
BM_MpIsInstallerSignedUntrusted
BM_MpTrustedInstaller
BM_MpTrustedInstallerMsi
BM_MpTrustedPotentialInstaller
BMMSZBJDSQ_
BMM[]XK_QM
BMMXMNMBD[CFE
BMM_ZA_HK
BM_MZ_DLL
BM_MZ_FILE
BMMZZNJQ
BMNAAGMC[XHJLZBS
[BMNBAKJ
BMNK@[X[C
B[MNLPXGS
BmNoTaintInjectionFullPath
bmnotificationcount
BMNXKQXPGLCFMG
BMNZ]AQG
BMOBMZGMPCX
BM_OFFICE_FILE
BMOGAMMSO
BMO@HFH]
BMOHOGAZ
BM[]OJKQ_
BMONJHKHA
B[MON[QCMSG
BMOPYD]Z
B[MOY_SS
BM[PBAM[KAGO
BM@PBPCJXZPBB
BMPDOQ[O
@@@@B@@@mp@IO
BM_PNG_FILE
BMPNGYXOD[YK
bmprocessargumentcount
BmProcessInfo
BMProcessInfoContainerFull
BmProxyList
BMQCPXPSC[S]@KMJ
BMQMNZQDZD
BMQQPJJN
BMQX_PCJ
BMQYAZSKD
bm.ReadProcMem called to read 0 bytes
BM_REG_BLOCK_HARDENING
BM_REG_BLOCK_TAMPER_PROTECTION
BmRegistryPaths
bm.request_SMS(): failed to trigger SMS scan
bm.request_SMS(): invalid SMS level
BMSCHPQP
BmScriptList
bmsearch
BMSearchFile
[B[MSG_MPD
B[[M]SGPJSHG
BmSignatureLoader
BMSL_CYP
BMSODEZA
B]M]SQKLKYPPC[S
bmSSSSSSSSSSSSSSSSSSSS
B_mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@[B[(MSSW
bmstarttime
BMStartTime
BmStartupSlowFriendlyScanSet
B[MSXNAF
BMSZHGQ_JELOAXQ
BMSZLKGGCLCJ
BMSZ][XQZ
BM_TAINT_ALLOCVM_REMOTE
BM_TAINT_ALLOCVM_REMOTEBM_TAINT_ALLOCVM_REMOTE
BM_TAINT_MAPVIEW
BM_TAINT_MODULE
BM_TAINT_NONE
BM_TAINT_OTHER
BM_TAINT_PROTECTVM
BM_TAINT_QUEUESERAPC
BM_TAINT_QUEUEUSERAPC
BM_TAINT_REMOTE_THREAD
BM_TAINT_SET_THREAD_CONTEX
BM_TAINT_WRITEVM
BmTriggerSig
BmTrustedPerfList
bmurl_scrubbed
B[MwMNYwJJ
BMXASXKE
BMXE@Q]Q
BMXFGJDGZPQGS@L[AMNLFK
BMXFGJNBCQ_
B]M[XLJMHZ
BMXNPDCYOJCN
BMXXDLZ_
BMXY[DS@NYZKMEGMYKD[ZKJ
BMXYJPQGESJH
BMXYKZ[[
BMXY]SQXNK
BMXZLPYZ
B_M]Y[BZN
BMY_F][HJ_[NG]AGNXLG
BM]_YHONMB
]BMYKAH]P_]
B_M_YL]EBJ_
BMY[O_LHCBLGNSB
B@MZB@GAHGM@EP
]BMZ]GS@OL
[BMZJX[J
BMZKAKMM
]BMZNEJGB
B]M[ZPLOXS
BMZ]XPGOJPXE[
B@MZYH@G]
BMZYSSHYJK_L]B@NS
[[[][[[B[[[N
bn0gAgg?
BNAAAAAA@AAAAAC
BNAAYC[D]YLMLZJC
@@BN@AB[
BNA]M[Q]
BNAOS_[J
BNA_ZXSSBBQ@
@@B@@NBNsSRSS
B_N]BSNN
@]B]@NBVD
bnC3gAgg
B_NCBCP_P
b||nc||@c||
BNCG]QCJ
b||nc||Oc||.c||
BNC__OKYBSY_Y
BNCZ]X]@MKQ
)))BND]_DLM@H
BND]_DLM@H
BNDG_QA[QAJH@]JJ
BNDHXGP[XMOY
BN_DL_BG_
|BNdO[[[s[[[
BNDS@JZY[B]LQN_Z
[BNDS]SC]
BNDYGQLAG
@bNdZ[[[
!BNdZ[[[c
BNEDLG@K
BnEfETEKE8E
BN[EFZF]HJ[
B[NEKHL_HN[
bne.un.s
BNFNFPQ]CJ
BNGAAAHYY
BNGBFDBAD_
Bn'g#fgfG
BngfG_|Z
bn'ggegfG
BNGHXYFH
BNGJ[LCZMNB
b-Ng]kgfG
BNGKM]ZS_CQ
B[NGODC[MQ
BNGSLEOKXN[DLH@C
BngWggfGm
bngyfgfGS3	
BNGZG]BCDNP
B_[N[HGHPD_Q]N]
BNHM[JJMMKNYLJOQLXMJC[FYMS
BNH[QS]_
B|NHUbgfG
BNHX]JLD
[b[n[i[i[i[l[b[
BN][@JDZFDDQO_HHGDXQAK
BNJNDNMN
BNKDOX]AYFCF
BNKDPYKJD
@BNKMZC]Q
BNKOF]KLKHP
BN[[K_SH
BNKYOYEHB
B_NK[YP]Y
BNl8QSSBNI
BNLESNQ[HXEY_
BNLKGNO_
BnllllllllmllllOllylm
BnllllllllmllllOllylm3
bnllllllllmllllOllylmr1y
-BnllllllllmllllOllylmt
BNLPYYLZMJ
BNLY_E_J
B_NMAXQX
B]NMC_KD@G
BN]MDNZK@
BNMEMAKAJ
BnM*kR"N
B[N_]MO[C
BN]M]OMAP
B_NMOSYOS
BNMPNC[ZX]SX
BnMPpgppepq
BNMYMHBDM
BNM_ZXNHAH
BN[]]NC]C
BN@NCCMJS
BNNFA@AP[JN
BNNFHHHHGZ))
BN)Nf_R[[[Z[[[
B)))][@NNL[[LZ]F[LZALEEJFMLAFEH
BN]NPDHGXO_NX]
BN(NSSW@YBYs
[BNO[A[G
[BNOCBQB
_B]@NOGKJD[
BNOHA]QQQ
BN_[OHOOA]
BNOKPMHQ
BNOLHMAM
[BNONCYSQ
@@@@@B@@Np
@@@@B@@@Np@B
@@@@@B@@np@@@@@@@@@@@B@@Ep@@@@@@@@@@@@@@Fp@@@@@@@@@@@@@@XpY[0bg@
@@@@@B@@np@@@@@@@@@@@B@@Ep@@@@@@@@@@]Y]]
@@@@@B@@np@@@@@@@@@@@B@@pp@@@@@@@@@@B@@@Hp@K
@@@@B@@@np@-c
@@@@@B@@NpC@@@@@
@@@@B@@@Np@C
@@@@B@@@Np@d
@@@@@@@BNp@D
@@@@B@@@Np@D
@@@@B@@@Np@@@@@@@@@@@(@@D@ACac
(@@@@@@@BNp@E
(@@@@B@@@Np@E
@@@@@@B@Np@E
@@@@B@@@Np@E
@@@@B@@@Np@E"
@@@@B@@@Np@E)
@@@@B@@@Np@EB
@@@@@B@@np@@@@@@@@@@@@@@Ep@gh
@@@@B@@@Np@Ez
*@@@@B@@@Np@F
- @@@@B@@@Np@F
@@@@B@@@Np@F
B@@@Np@F
@@@@B@@@Np@FC
@@@@B@@@Np@G
@@@@B@@@Np@G3
@@@@B@@@Np@GI	
@@@@B@@@Np@Gjg
@@@@B@@@Np@G|l
@@@@@B@@NpG@@@@@nj
@@@@B@@@Np@Gu)
@@@@B@@@Np@GZ
@@@@@@B@np@H
B@@@np@H
@@@@@@B@Np@H
@@@@B@@@Np@H
@@@@B@@@Np@H	
@@@@B@@@Np@H?
@@@@B@@@Np@Hb
@@@@@@B@Np@HH
@@@@B@@@Np@Hs
@@@@B@@@Np@HZ
@@@@B@@@Np@HZ0
 @@@@@@B@Np@I
@@@@@@B@Np@I
@@@@B@@@Np@I
@@@@B@@@Np@I7
@@@@@@B@Np@J
@@@@B@@@Np@J
@@B@Np@J
@@@@B@@@Np@J6
|@@@@B@@@Np@JC
!@@@@B@@@Np@Jyz
@@@@B@@@np@Jz3
@@@@@@B@np@K
@@@@@@B@Np@K
@@@@B@@@Np@K
@B@@@Np@K
@@@@B@@@Np@Kx
@@@@@B@@NpL@@@@@
@@@@B@@@Np@L
BNP_LBQOKAZ
@@@@B@@@Np@M
@@@@B@@@Np@M|
@@@@B@@@Np@MV
@@@@B@@@Np@N
@@@B@Np@N
B@@@Np@N
@@@@B@@@Np@NN
@@@@B@@@Np@NZ
@@@@B@@@Np@O
@@@@@B@@NpO@@@@@WQ!
BNP][OZNXO
@@@@B@@@Np@P
@@@@B@@@Np@PT
@@@@B@@@Np@Q 
@@@@B@@@Np@QM
@@@@@B@@NpR@@@@@
@@@@B@@@Np@S
@@@@B@@@Np@ss
@@@@@@B@Np@T
@@@@B@@@Np@T
@@@@B@@@Np@T0
@@@@B@@@Np@TF
@@@@B@@@Np@U
@@@@B@@@Np@V
@@@@@B@@Np@@@@@@@@@@@v@@B@ACac
@@@@B@@@Np@VF
@@@@B@@@Np@VM
@@@@@B@@NpW@@@@@K
@@@@B@@@Np@@@@@@@@@@@@@@XpDs
@@@@B@@@Np@ZO
BNQ_]APPNGK
BNQCGBYD]Q
BNQ@FZOQ
B_NQH@P]
BNQMMEP_QQ
BNQS@KZ[]
BNSCXJNQH
BNSEKGM@Z
BNSJM]OY
B_N_SLOXNMO
BNSMG[BBKH
B[N_SP__JSM
BnSSSSGI
@]B](NSSWs
[B@N]XAS[
BNX]]DQB_Y
BNXGG[Y[K_OSNXB_FANLPB
BNXHZSOM[
BN_XJKKMZCHJNXY
BNXNKAAQD
B_NXNLB]Z
bnX|[pXvK
]BNX]SDZACESGPAF_B
BNYAGPOAD
BNYCLKNAZJEYM]Z[[
BNY[LOG[OSMYSZL
BNYM_ZBOC
BNZ_DMHSN_
]BNZGZDE
BNZQPBNES
B_@NZSYMZS
BNZXB[ZZ
BNZYEGHZGED]
]BNZZB__H@Z
|||||||||||BO
BoAAAAAA@AAAAAC
_BOAAEDCS@]CN]GKD[_E
BOACJMD[]
BOA_ESE]QX
BOAGDKPMKML
BO_AHSMK
BOAJYDXJ]A
BOAMBAXBNPNP
BOA_MOBDJMB
BO]ANC@K@KXQ[P
BOANXBS]JO
BOASCAOOHADXDQN
BOAZ[SNC
]BO@BAGHXS
	bO@@@@B@AI@
@]B]@OBCD
@BO[BC[MCYGAYQDLKDHJ
BO]BKF_BK
B]OBKFMO
BOBMDNBGP
B[]OB]SLHNX
[[B]OBZBQJZC
BOBZNM__DZ
BOCH]YK]
b||oc||Lc||1c||
BOCPDDSQCK
BOCPYJHQANMHCYMZS
@BOCSKQOCOXJOJY
[b[o[c[v[i[
BOC]ZMJ]
BOdA[[[K[[[
(BOdB[[[
B:OdH[[[
BO]DJPSAHXCN
BODMAJZHJ
BODMSEXMHAC
BODOQXJM[Z[SQ
BODPLOB]
BOdP[[[U[[[
BOdQ[[[l[[[g[[[
BODQZXN_
B][ODSKEL
BODSKK]M
B[]ODSYZAQ
	bOdx[[[][[[J[[[
BODZZAMC[
_BOEBH[O@HCN_N
boecgfG1
BOECSJKEAS@
BOEDEyyy
BOED]MYGMD
BOEHMPZBMN_
BO]EPBMDADGYH@JHYCZ
BOEPJH_DZSQFBB@G
BOeQEyBLL
BO@EXAXGSA@
_BOFBMXB
b)))OF[DD
B)))OF[DGHDL
BO[FDJJQ[C
b)))OFEML[
B)))OFEML[@]LD
BOF[JDM@G
B]OFJSZB
BO[]]FK_E
B_OFLYQCMDZ[EYH
B)))OFNLNALAML]P
BO[GAPG]SGB
BOGDJ[GK
BOG]LXMM
]BO]GM_K@[
BOGQN[S_H
bOgwvgfG
boGyyyyyy
b)))@O[HDL
BO][HEDM
BOHiA]]Y
@BOHJLP_E[
B_OH_K_]BZC@PGG
BOHPQDYLX
BO]HZEQHO
BOJCPZXBXMFS
BOJEDLK]
[BOJGMZJNJ
BOJ[JXGCY
BOJLHBKXY[ZN[C]AON@
BOJMQP[G]
BO_JQQP[]
B_OJXBSF
B[OJ@[X]FM
BOKDEFOX
BOK]GAYDB][HO
[]BOKM_DS
bOLEAUT32.dll
_BOLEGXSDG
b)))O@LEMZ
BOLEXFQ]H
BOL[HAXO
BOLHCKYNNYCC
BO]LJSSM
BOLKAJXKND
BOllPSSBOK
B][OLNZZJ
]_BOLOAT
BO_LPOBL
bOlSSSSg
BOLYAMHOPS]
bo!mggfw|vh
B@OMH]]XEYKH
BOM Mismatch (UTF16-utf8)
BOM Mismatch (UTF8-utf16)
@BOMP_S_[J@
BO@MQCE_D
_B@OMS@MES@B_
BOMYP]LC
B]OM[Z_KQQ
B]ON]BNG
BondDeserializationFailure
BondSerializer
BONHXPGLJY
BONJNGOYAX
BONL]JFDDHGM
BONNBH_AJJEPF]GJ_
BONNYCDEGDE
bOnpgppepq|
B]ONPPAO@
]BONQJB@FDD[
BONSNPK]ENHX_Y]
BOOA]L_]P@XH
BOODQOJEPK
b)))@OO@ELLQ@Z]Z
BOOFB_EO
BOOJPAPKP
Bookmark
bool __cdecl boost::json::value::as_bool(void) const
Boolean: 
boolean or proxy expected
Boolean.prototype.toString() is not a constructor
Boolean.prototype.valueOf() is not a constructor
Boolean.toString must be called only for Booleans
Boolean.valueOf must be called only for Booleans
bool required
bool_tostring
bool_valueof
BOONPAONX
booommll
BooowEkSH(
boost::bad_any_cast: failed conversion using boost::any_cast
boost::bad_format_string: format-string is ill-formed
boost::format_error: format generic failure
boost.json
boost::too_few_args: format-string referred to more arguments than were passed
boost::too_many_args: format-string referred to fewer arguments than were passed
Bootexec
BootExec
BootImgs
Boot Mount
BootPerf
BootRecordCleanStore
BootRemoval
bootrpfsamplesubmission_
BootSampleSubmissionAttempt
bootsectorbase64string
BootSectors
bootsigoffset
Bootsyncblock
BootThreatReport
bootverification
Bootverification
BOOYC[OD]FQ
BOoyogfG
_B[OOZBXML
BOP_BOUNCEWWW
BOPHSDXDZL@
B_O[PLZAN
B[OP]MPHDS]
BOQD@]FKZMZGQS_CHQMN
BOQEYPCYCPBN
BOQPBE_YEBD
BOQ]P[HA[[ZPDDFK[ZQ]G[P@
BOQXZCGGJX]OZL
-;boS[[[
BOS]ACLS
B@O[S_B]JMX
BOSM]PGEBA]XA
BOSOG]KYKLBZH
BOS___OGQCDA
BOSQJ[Q]
BOS]XDSZ
BOSXH]MXLM
bound_imports_inside_image
bO|voeo9ogo
b]o;wgfGQ
boX@@@@@
B_O_XBCN
boxdgfG5.
.boxloadH;
B[O[XMMXAO
BOXOFQMXHS
BOXZMEJPNDL
BOYAEE]L
BOYAJFBLBZ
BOY_B[Y]O
BOYDSZXQD
BOYFHALH_G
BOYF_QNNYY
B@OYKSJX
BOYMJHCQ
BOYZ]NZG
_BOZ[CXM
BOZHGKFLDE]
BOZHQPBKDQCX
]BOZNXNKGMOMOH
BOZO_[XOQJZXFO_J
BOZXDXONXY
BOZYN]NGBQXP@
@@@@@B@@(p@@@@@@
@@@@@B@@:p@@@@@@
@B@@(p@@@@@@
B||||||P@
B@P0@JwG1 @@@@B
B@P0@K!9
B@P0@KJck
B@P0@KnX
B@P0@KqU
B@P0@K)TH
B@P0@L] 
B@P0@L8f
B@P0@L9 
B@P0@L	d.
B@P0@Lf|
B@P0@L)-H
B@P0@Lqn
B@P0@LX]
B@P0@Lz5
B@P0@M:(
B@P0@M|1
B@P0@M3o
B@P0@M4p
B@P0@MaK
B@P0@MaS
B@P0@MB	R
B@P0@MBT
B@P0@M)ehz@@@@B
B@P0@Mej
B@P0@M;El
B@P0@M.H
B@P0@MP 
B@P0@MQN
B@P0@Mr7
B@P0@M"U
B@P0@MU"
B@P0@Muu
B@P0@MUX
B@P0@MW11
B@P0@Mww3j@@@@@j@@A@AFac
B@P0@M"z
B@P0@N1P
B@P0@N'54
B@P0@N5p
B@P0@N70
B@P0@N7_J?@@@@B
B@P0@N'-A
B@P0@NAn
B@P0@NbN
B@P0@ND|
B@P0@NgaQ
B@P0@NHW
B@P0@NjH0
B@P0@N|.Ld@@@@B
B@P0@Nlg
B@P0@Nnu
B@P0@NQh
B@P0@N-r?
B@P0@NS*
B@P0@NubGc@@@@B
B@P0@Nux.
B@P0@Nw]
B@P0@N W2
B@P0@Nyd
B@P0@O5w
B@P0@Oc1
B@P0@OOqA
B@P0@OPY
B@P0@Ov?
B@P0@Ow-
B@P0@OwM
bP8ZC@@A@h FMHc
@@@@B@@@_p@a
B@p@@A@AAac
B]PAA][_MFS@
_BP]A]CAN
@@@@@BPAdp@@@@@@@@@@@@@ALp@m
BPAH_AS]
@@B@[paL
BP[AMB]Z
BPAMYZBM
[BPBAOAO
BPBASKYCH_
BPBBZQEO
BP@BCLOMC]HY
BPBDYHOH
BPBEGPEYX_[E[
B[PB[_F@
BPBGXBD_P[J_LGOF
BPBHDGYL
@@B@[pbL
[@@B@[pbL
BpBpBpBpBpBp
BpBpBpBpBpBpBp
BpBpBpBpDpBpBpBp
b||Pc||Hc||
b||Pc||Hc||(c||
_BPCOHGSF
[]BPC]QZ
@@@@B@@@_p@d
@B@@@_p@d
BPD]AQHN[Q
BPDBMZFN
BPDBQGQM
BP_DDDMS
BPDFHQCO
@@@@B@@@_p@d:gJ
@@B@[pdL
@B@@@(p@Dl
BPDLGH_A@
BPDNNPXK
BPDOQCXO
BPDOQPBLSGB[S
BPDQMNMJ
BPDXCJDCXKMY
(Bpdxyyy	
BPDZ[PKJA]OK
@@@@@@B@_p@E
BpEiE[E)E
BpEmEfE2E#E
!BpEmsabpUIDWW
BPEPGQHGY
@@@@@@B@_p@ET
bp#Ez;Jl
@@@@B@@@	p@f
@@@@@@B@_p@F
@@B@[pfL
B[PFNLG@Q
BP_[F]N[OPXQM
B@PFZ[DOZ
B@PFZMNLXKL@SPOJF
!@@@@@@B@_p@G
@@@@@@B@_p@G
@@@@@B@@.pG@@@@@
B||pg||Bg||
bpgEugfG
@@@@@@B@_p@GH
B@@@.p@GJ
@@@@@@B@_p@Gjf
@@B@[pgL
@BPGMFSQ
.@@@@B@@@_p@GmL
BPGNMSX]
@@B@)pGP
'bpgppepq
*bpgppepq
?bpgppepq
_bpgppepq
b"pgppepq
b'|pgppepq
b:pgppepq
b[pgppepq
b]pgppepq
bpgppepq
bpgppepq)
bpgppepq;
"Bpgppepq
-Bpgppepq
B!pgppepq
B.pgppepq
Bpgppepq
Bpgppepq	
Bpgppepq(
Bpgppepq[!
Bpgppepq0;
bpgppepq3OP
!Bpgppepq4
bpgppepq4gqq
bpgppepqb
bpgppepqbZ
Bpgppepqc
Bpgppepqcj
bpgppepqD!SD
[bpgppepqe
Bpgppepqe
BpgppepqE
b*pgppepq	FX
?bpgppepqg
Bpgppepq.g
*bpgppepqJ
bpgppepqJ
BpgppepqK
bpgppepqL
B"pgppepql
BpgppepqL
-BpgppepqM
B[pgppepqM
bpgppepqN
BpgppepqNR
BpgppepqO
bpgppepqOwh
bpgppepqQ
BpgppepqQ*
"b-pgppepqQ30'
Bpgppepq-r
b"pgppepqRP
BpgppepqT
bpgppepqV
b"pgppepqx
]BPG_[[QA]PLGEKOZC_
B  p     gqgg
BPGQMLLGP_YK[DCAZ
@@@@@@B@_p@H
B@@@*p@H
BPH90teL
BPH;AhuB
BP]HDN_XHKS[XNKED
]BPHGK]AKQOYOOS
BPHHBP]_CZPOX
BPHJSKBY
BPHOKSJDMK
BPH_[]_PNZEH
BPHQCZM]
B@@@*p@Hs
BPHSXCQ_PA_D@[XS
B[_PHYK@L]CZ[DX
B@PHZHHO
@@B@)pIP
@@@@@@B@_p@IXfl#@@@@B@B@Hp@H|
@@@@B@@@_p@J
BPJAPGHHH
BPJFLBLB
BP_J]KBX
@@B@[pjL
@@@@@@B@_p@JR
B]PJSHNP
B]P_JXPH
 @@@@@@B@_p@K
BP_KBQBL
@@B@[pKL
B_PKLBGYBFMNSC]BH_HM
BPKPGL[_X
BPKYBFCQC
	@@B@[p]L
 @@B@[p[L
@@@@@@B@_p@L
@@@@B@@@[p@L
@@B@[p[L
@@B@[p]L
@@B@[p_L
@[B[PLC9
BPLCNZJXBMYN
BPLDJZS_H
BPLD]POPJAOX[CG
B@P]LFCJMC]DALLNDDHCJ]S]XHNN_ZM
BPLJMDQZP
@@@@@@B@[plL
@@B@[pLL
BPLNOG]J
BP@L[]O@KNNAZZKSCNKE
B[PLOO]FXX]P
BPL_]YELPM_MG
@@@@@@B@_p@M
B@PM]JZKB
BPMMYFN]
BPMQYYZJCDYN_LF
B@@]P[NE
@]BPNEMFSZO@][YBC
BP[]NFZD
B_PNG]@K
@@B@[pNL
BP@NONG]
BPOAABFZNC
BPOCO]YZL
BPOC]Z]SXMLZCPC@@B
BP]OJPBA
BP_OKAOX
]BPOMXGQ
b_pOnlineRegistryPathW
@@@@@B@@pp@@@@@@
@@@@@B@@pp@@@@@@@@@@@@@@
@@@@@B@@Pp
@@@@@B@@pp@@@@@@@@@@@B@@
@@@@@B@@pp@@@@@@@@@@BA@@Hp@MI
BPP_CG_]SA
 B@@@pp@D
[[B[P_P@DYZKJ
BppformcontainerW
BPpgppepq
@@@@@B@@Pph@@@@@
@@@@@B@@PpK@@@@@
BppMAPIVerbArrayW
B_PPPXCHSH
@B@@PpT@@@@@
@@@@@B@@PpT@@@@@5
@@@@@B@@PpT@@@@@R
@B@@PpY@@@@@
BPQBJSY@LPY
BP]QDOSQDK]ONGM
]B_PQENA
BP]QFYPLBAM
BPQLSLFCH]K
BP@QXA[B[SLX[
BPQ@XKBP
BPQYYOPCS
@@B@[prL
@@B@[pRL
BPSCYL_Q
BP_SCYZPCSPJ
B@PSKKO_SQ
@@B@[pSL
BPSLF_E[O
BPSQSHB[
bPSSEBVghPD9
bPSSWLC9
@BPS[ZCJQXJJ[CZN[D
@@B@[pTL
BptMFWQ@
@BP@VEYBB
@BP@VW@ZBV
B@@@[p@WK
@@B@[pWL
@@@@@B@@[pX@@@@@
BPXCDFQZZDSLPAE
BPXCN_SO
BP]XCQGP
BPXE_GPC
BPXG_S]F@GNCPMKKGFJY@SFHSZ[YJA[JB
@@B@[pXL
]BPxNfRwN
BP_XXKJN
BPXZSALL
BPYBDKZ_YGDHL
BpYD9@qKBVcpK9@rBVD
B@PYDB[CNMDKY
]BP]YDDE
b[PY]FD@Q
b[PY]Fz]LHEL[
bpYg	gifgfG
BPYHZALAL
b)))]PYL
*@@B@[pYL
BPYNNYFGZSX
bpy)[pyaypy
BpyQEpyBEpy4Epy
BPYSKJFAX
BPYXLGHN
BPZ_A@ML
bP[[[Z[[[C[[[
BPZDMABQ
B_PZDPGMXYYH
B[PZ]ELZ]PELZ
@B@@[pZ@@@@@g
BPZJBLXQ
@@B@[pZL
BPZMQ_AKSSXPP
BPZ]_SXQ
BPZXLDGX
BP[ZZDHLKJCS]KYQZM
B@Q1ALXG;G
Bq3lgKdgfG
bq8kgiggfw
B@@@@@q@@A@AAac
B_QACM_H@CCZMCKA
BQAGBF_[G
BQAJEALJL
B]]QAL[S
@BQAPXNNQX]
@BQBBKsSSS
BQ_BEPHY
BQBFCON_
B[QBJGPM@O
bQBqlxlA
@[B[@_QBW
@@B@@qB@@wTLG9
BQBXL[H_
BQBYOBPBCO
@_BQBZFKDB[ZK[FM
BqCdgfwt
BQCEJX_NDPD
B_QCKGY_NDJ
BQCYBKEJHPC_X
Bqd20leq
]]BQD]AJ
BQDAPQNL
B)))QDEA]]Y
BQDEOCQS
BQDFJNJ[E
BQDGBY]N
B] q)dgfG
bQDggfG(
BQDHCAYPNFSAC]LN
BQDJGH[J_S[
B[Q]DKSL
__@BQ]DS_EQLCNMCH]
#BQdX[[[
BqEaEQEAE1E!E
BqEeE'E	E
BQEIEME	E
BqEjEgEPEME
BqEkEDE"E
BQ[_ELQ]
[B[QEQYZC
BqEuEiEQEUE9E)E-E!E	E
BqEYE]EQEUE9E)E-E!E	E
BqEYEQEIEAE9E1E-E
BQ_EZLSSDP
BQF_ADDM
BQFS_YCEOBBMHHL[_]
BQFYNNQZ
bqg9dgfGS
bqg9fgfG
bQggcgfG 
BQGH[HXMHGBKNKGF
BQGJNJFBL]_D
bQgqgg!E
BQHBH[[ZC
BQHDQZQAD
[BQHM_X[MZAS_SO
BQHNNMK@[CDGAD[A]F
@BQH_PNELQQLLGSBH
B[QHQ]D[]YOH
@BQJ__AE
BQJE[BHG
BQJGK[NBCHOSH[LHJ[X
BQJG[PXPP[M
BQJ_]NNJYM
BQJPB[KABG
BQJQYPH[L
[BQJXFQCCBONQ
BQKAQBNJ
BQKNK]SEDO_
BQKQCLCKKM[APNS
bqKsKyKuKvKwK
BQ@KZMPKNA
BQLA_DCJNOSMOGSMQZ
BqLC73M973
_BQLCQDHGJM[Y
BQLMLQFD
BQL]OYDJB
B_QM[C]YD]
BQMOQEAXXLZZ@]ZS
@BQMQQQJ
B]QMSN@M@ZNK
b:qm*Ssm
@BQMZXKN]@MJKY
BQ_NCOPX
BQNGHOK[J
BQNGJCK_XN]CX_
BQNGXFMKP
BQNZO]SMP
BQOJQBAYH
_B[QO@]OJLFMBLG
B]QO@_PFEJ
#Bqoxdggwf
@B@@qp@@@@@@@@@@@AB@Ep@S(
.  b Qpgppepq
Bqpgppepq
BQpgppepq
BQ_PJSSS
BQP[MXNHC
BQPNAQXA
BQPOK_L]O]
BQPXZFF]
BQQA_PPKL
B]QQB[DQ_PY
]B_QQDQDAB
@[B[Q(QSSWd
BQQYQMBBM
BQsANgfGH
BQSEQOK]
BQ_@S_GB
B[QS@LCCQG
BQ]S[_LE[
bqTgqggG
BQ_X]CC]N]G]X
BQXC[HCMG
BQ]XEDCX
BQXJCXJ]DH
BQXKJXHQJ
BQXMPJ_EFH]_C
BQXNCN[NQSGPLD
BQXSAYMY@]PAYANJ
BQ_][XXO
B@QY@BDPH
bqyBF|ye
BQY]JQDCJQJSMQD
BQYJYSDQYB
BQYKO_GH
BQYM_[JDP
BQYPFYNGOS
BQYZSOHGOGXMA[A
B[]QZ[[]A
BQZBMQ_H
BQZ[CZSBQOQQ_KOA
_BQ[ZDQXCD
BQZHXKNQ
BQZOJKZ_MOPC
BQZ__SAEJC]ZDB
]_BQZSGB]FH
B_Q_ZYY_S
BrandIEActiveSetup
BrandingLoadString
br@@@@B@@@
BrBmBeBFB
B||rC||_C||DC||1C||
B||rC||PC||2C||
;B(rCyK]
B)))rDH@GtHO@M
BRdQ[[[b[[[
?bRe][[[
?bRe_[[[
?bReA[[[
                     break;
              break;
             break;
          break;
         break;
       break;
      break;
?bReB[[[
[[[?bReB[[[
bRebootRequired
?bReC[[[
BrEdEVE8E"E
BrEdEVE8E*E
?bReF[[[
bReferenceRedirectionRangeEntryWW
b)))REFJH]@FG
BRegfG"*
BrEhE]EPEME@E
?bReI[[[K[[[
?bReJ[[[
[[[:[[[?bReJ[[[
[[[;[[[?bReJ[[[
[[[?bReJ[[[
BREJEBE)E
?bReN[[[
?bReO[[[
BREOE9E E
[[[	[[[?bReP[[[
[[[?bReP[[[
?bReR[[[
[[[:[[[?bReS[[[
BresBitMaskWW
?bReU[[[@[[[
[[[?bReU[[[
?bReW[[[r[[[
brfalse.s
BRg-ggfGC
b.RgqggW
b)))r_HE@MH]LZL]
BrHgqggy
BringWindowToTop
BrJgqggvh
BrJtUUJTB
bRkicgfG12
B)))RL_HE
brllllllllmllllOllylmY
bRModifyRecipients
BrokenChain
broken pipe
Broken pipe
broken promise
BrowsableAttribute
browsefiledlg.cpp
BrowserHistory
BrowserModifier
browserpluginpackagerbinder.cpp
browserpluginpackager.cpp
browserpluginpackager.h
browserpluginpackagerwriter.cpp
browserpluginpublishoperations.cpp
browserpluginregistrator.cpp
browserpluginregistrator.h
bRpgppepq
B]rpgppepq
Brpgppepq
B@@@@rp@@@@@@@@@@@@@@np@@
BRS3tTSSS@S
BRS#5QSSS@S-u
BRScNPSSS@S
BRSCzTSSS@S
BRSSB[B@M9
bRSSBXsS3SS
BRSSE9@AQBX9T
	:BRSSpTSSS@S#	*BRS
BRSstTSSS@S
brtrue.s
brub@cs@@@
brubprC@
b)))RuFKCLJ]
b)))Ru[]O
BRUTE:JS:Feature:
BRUTE:PDF:Feature:
BRUTE:VBS:Feature:
BRWRWJHHVRAR@RVRNNRVRJMRIW
]BRxc[pSSSSS
Br'((]Y]]
b)))rZPZ]LD
Bs(2fgfGd
bS2g1ogfG
bS2g1ogfGA
bS2g1ogfGls
bS2g1ogfGYJ
bS2g1ogfGz
BS5PUOSM5;SSSS5
b@S9b@S*b@S
BSAAML]H
)))BSAFKKAD
BSALBBD]
[B_SAMQHB
BSANGGAGC
Bs@@@@B@AA@
BSBA[MZBLS
b_SBITNHI
@[B[@sB[@LTLC9
BS[BNLN@L
BSBNSSNO
b[SbP;n[SaP
BSBPSQXP
BSCCG@ACGOAJ
BSCCNDQO
BSCEXACFK_NO@YDLAYGXQPNH
BSCL@SQNS@S]
??BSC@mmcerror@@QEBA_NXZ
_BSCQDY_YMO
BSCSN[NDBLCME]PSPDSFD
B[SCYX]JPH
BSDBNN]KSYOB@HGSOZAA
BSDJHHBO
BSdL[[[@[[[
BSDMASEFBBGM
BS@DNG_DZXE]EP
BSDPZDXODZ
BSdX[[[o[[[
]BSD_YOGALA
BSE]CXNO@
B@S][EJCQDC
BsEJECE8E1E
BsEkE_EWE;E3E'E
BsEvEBE9E
BSEYGBHJ
_bSfgfG(6
BSFKJJXMQDODXZAQBODKKANO_KKLQC
B[SFOXLJF
[BSF@O]YK
bsg3dgfG*
BsgAggHFxW
BSGC_KZKSMAC
bsggagfG J;
BSGHHAGKZCBZN[
BSgH[[[@[[[x[[[v)ifJ[[[G[[[
BSg[kgfG
BS[_[GLO]N
BSGMSMZLLNH
BS@GPNZG
BSGSPLDEYD
B]SH][[ABKQ
BSHAKJXKMLNNOJPP]G
BSHCCCAS
BSHCYZ[JDNJXOFJKDM
BS[HGBHDB]LCO
BSHKLSJCYJQC
BShlFg7BgfGE
]BSH@LHFK
BSHYYYMK
B_SH]ZJY[CX_[J
[BS[JDM[
[]BSJEHOC
B[SJ_KB[AKNHA
[BSJQEDD
BSJY[X_LJK]QC
BS]JZ]JBLD
B[SKDNCC
BSK]GBYX_YA_GX
B[SKKYPQQ[M
BSKNDXCSQDN
B]SKOEK@QP
]BSKOM_MMNQPB
BSKPOFOHE_
BSKQBL@KJOX[X
BSKXJSLCXZQHFL]GMPS
B]S@KYH@KS@
]B_SLBD_S
BsLC73M973BJ
BSL_KGD_QN@C[]Y
BSLKXKGS
bsllllllllmllllOllylm
BsllllllllmllllOllylm
bsllllllllmlll]Y]]
B_SLNFSOK
BSL_[[NX
B]@S@MDG]
]BSMJKXE
BS]MJQGGY
BSM]KCKJO
B@SMMCGO
]B]SMOQB
BSMPYBGJNADAOS[A_B
BSNC]HH_
_]BSNEXZ
BSNJJCQE
@BSNYBHCOXAQYE
BSOK[][YCCHQHM[M
BSOLZM[NJB
BSON]PKHZAJ]
BSO]]PNDC
_BSOSCSY
]BSOXKLKPASNLEA
BSOYXBX[XKL
BSOZGOABON]Q[
BSOZH_[LMKOLDNQS
B@[SPCQG
bSpgppepqO2
BSPHGBYPXL[
BSPHH[JS
BSPJX]O[SK[
BSPS[OHD[_
BSPXOLONPYCS
BSPZCNLD
B_S[]PZL
BSQHHADN]
BSQLMXOY
BSQ@NF@KFK
[BS@QOGP
@]B]sqRSS9
@@B@sRCSS9
B]SS[ANHMNDFMOKK]S_A[A
BSSBFsSCSS
B]SS]@BZCX
@]B]sScSS
@[B[sSCSS
BSSCSSSp
BSSESZZEP
BS[SHJBLOS_KC
@_B_sSKSS9
B]SSMYLBE
BS]SOJ[QH
BSSPs58y@
@@B@sSQSS
@]B]sSRSS
@@B_sSRSSd
@[B[sSRSSgUs
BS_SSCOC
@@B@sSSPS
@_B_sSSPSf
@_B_sSSQS
@[B[sSSQSe_B[sSSWS
@_B_sSsRS
@@B@sSSRS
@[B[sSSRS
@|B|sSSRS
B_sSSRSd
B]SSS@S"
@[B[sS_SSgUs
@@B@sSSSR
@[B[sSSSR9
bSSSSS!#5
bSSSSS9V
B_sSsSSd
BSS[SSSp
bSSSSSSS
bSSSSSSSS
bSSSSSSSS!#5
bSSSSSSSSSSSS
bSSSSSSS(S;S.SSS(SpS.SSS
BS@[sSS|S@ZsS
@_B_sSSWSfMUsSRSSdEB_sS
-bSS'SZSWS
BSSUBFO9
bSSUS@aSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
@[B[sSWSS
@@B@sSWSSgeT
BSSYH_BPPLCZ
BSSYP[HLBJ
BSS]@_Z_
bstrText
Bs@UBUM9
B-S**U)Y
B@SVA@SFA@SwA@SgA@S
BSXBNM]PZOKKEL
BSXB_QSXYZ
BSXFYJBMEMJ
BSXGCXD[GJ
_bSx|ggrgfG
BSXHNCLL
BSXK@PQYPM
BSXLSHSXMMJ
BS]XQMMMH
BSXYLXEJ
]BS[]]Y_
]BSYAASC
[BSY[ADNM
bsydbsyMbsy2bsy
BSYEDHAL
BSYJYYPJEHMZN
BSYNKYCFSL
BSYPNX@Z
BsyrEsySEsy@Esy
bsyzesyQesyNesy7esy
BSZF]MMC
BSZH[@M@
BSZLXOXLYMCLH
BSZMAP_OH_ZM
BSZ@X[]_
b?||||||||||||||||T
b||T]||@]||
BT@0@@E@AEac
BT	8@TqSS
@[B[@TB[
B@@@t@@B@AFac
BTBCcnBT
b||tc||9c||
BTCpuSimulate
@[B[TdJB[BWf@Zs
btdY[[[t[[[
BTEBE7E*D
BtE[EFE1E
@_B_TfQEyZ
Btg[dgfG
bTgKkgfG
@bTgqggQ
bTgqggs*
btgwgggwt
BtgytgfG
BTH;Apu6
Bt]IIMSSSTTTTfrU4
BTJgQEyE@WE@CE@GE9@XE9@yE9@zBGD
btJhggfw71"
BTLA7BTL]13B
BTLC723B[
b)))TLEZLRHEL[]EFFY
BTLF1BTLX73BTLI1BTO732BTLJ7BTN132AcLG
BTLK1BTM73B[LC7B[LC132BZLK7BZM132T
BTLYsSSS
BTLZaZ]V
@_BTNhgWSSTM
bTPcicgfG
BtrDeleteFile
BtrDeleteRegKey
BtrDeleteRegValue
BtrMoveFile
BtrSetRegValueString
BtrSetRegValueStringExpand
btrtelemetry
BTs_RSS9
BTsSCSS9
_BT[sSWSS9
BtwoggGq
||||b|||||||TX
BT[[[Z[[[O[[[
BU	8@UBWqSS
BU	8@UqSS
@_BuBDK9
BuBkBaBgB]BSBIBOBEB;B1B7B-B#B
bucketArgument1
bucketArgument2
@[B[UdDB[BXfBB[U
budE[[[|[[[
BUdG[[[B[[[
@@B@UdiB@:XBY
budI[[[F[[[x[[[
@_B_UdNB_YUBC
.BUdO[[[
budP[[[H[[[O[[[
budQ[[[S[[[U[[[
budS[[[R[[[Q[[[
budS[[[X[[[D[[[
budS[[[y[[[r[[[
budX[[[|[[[k[[[
budY[[[T[[[L[[[B
BuE	EaDRD
BUEED9D5D)D
BuEiEUEIEyyy
BuEoENE E
BuEVE:E'E
BUf9[sSsSSg1E@VE[g
buffer_copy.hpp
buffered_media_res.cpp
buffered_media_res.h
BufferedPaintInit
BufferedPaintSetAlpha
BufferedPaintUnInit
buffer error
.buffer_max_records
.buffer_max_timeout
.buffer_min_records
buffer_min_records cannot be 0 for gpu and dynamic devices.
BUflUBTTU
BUg_ogfG
bUgqggXr
BuGYG_G4G!G
:buhtRSSUs
 Build 135
BuildExplicitAccessWithNameW
BuildTrusteeWithSidW
BuildTypeWWWL
Built-in UFS
bulAlignPadWW
@_B_UlBQSSB_Yk
BuLC73M973
BULF1BULX73BULI1BUO732BULJ7BUN132AbLG
BULF1BULX73BULI1BUO732BULJ7BUN132AcLG
_BulkImporterEventsW
bulkprogress.cpp
bulkprogress.h
bU@llllllllmllllOllylm:
@_BULsB_
@_B_UluQSSB_Yk
BUlWllylm
_BULY	@UZF
bUninstallDevice
bUpggfGo
b'uri'ni
BurnImage
@@B@UsGRSS9
@_B_UsGRSS9
BusinessCategory
BUsSCSSeLQBVs
busy_timeout
buttonApply
buttonApply_Click
ButtonBase
buttonCancel
buttonCancel_Click
ButtonID
buttonRestartLater
buttonRestartNow
@[BU@UBVYB[BW
B[[[UukfT[[[
bUWgqggq
_BUX[BTd
buy-buy?buyCbuyUbuyabuy
buYgqgg6
b)))uZAF[]JKFFZ]
B)))uZPZ]LD
[[[B[[[v[[[
bV0gqggdS
BV2@LZD9
B)v9.UI	G
B@@@@@v@@A@AAac
BVadJ[[[
B@@@v@@B@AFac
BVB]dCBBBV
BVCQA[L_
BVDaDBV9Bp
_BV[d	BV[sSWSS
bVd_[[[e[[[d[[[
BVDfQEyE@WBVN
bVdN[[[h[[[
bVdN[[[X[[[K[[[
[[[Bv[dO[[[
BVdQEyBV[
BVdQFyQs
BVdQFyULK9
BvEHE?E)E#E
BVfWBVx[BwsSCSS
bVgqggi1
*BvgqggL3
BVgqggnP
@[BVI3@VB[Dd
_BVI9	Ab
bViewMementoW
[b[v[i[k[
BVjYRSSBV
BVLF1BVLX73BVLI1BVO732BVLJ7BVN132AbLG
@]BVLF1BVLX73BVLI1BVO732BVLJ7BVN132AcLG
BVLGdtLBAYs
BVL]|QEysn
@_BVLsB_
')))BvMHB
)))BvMHBF
BV(NSSWYUs
@B@@vpG@@@@@
BVpgppepq	
BvpgppepqU
@@B@vpI6P
@@@@B@@@vp@Zj4d
BVsiRSSegULo9
BVsSRSSgpBWAB
'b?vs	X]
@[BV@TB[
BVv@@@@@
B||vv||||||1
BVv@@@@@@@@ap@CG 
((BvYH]A
BV@YL_QM9
BV@ZBZTM9
BvZL]O@EL]@DL
bW0f0JRd
BW_6pgppepq
BW9@pBpB@
@[BW9@TBTP
_BW9@TBTP
bw@AAAAA@AAAAAC
BwAAAACECAfqAVZ@R
BwB[BSBGB?B#B
@[BWB[dQEyBWB@gQEyBWsSWSS
@[BWB[LC9
@]BWB]LC9
@]B]@wB]@pTLG9
@]B@@WBWLCd
BwCwJDBZALEE
_BW[d	BW[sSWSS
_BW[dCBW[
BWDfQEyBWF
BWDgQEyLBA_s
BWdP[[[4[[[*[[[:
_BW[dpBW[
b_W	dud	iBSpFKLBU	t
BWdWBWxVBDB_
BWdWBWxVBEBX
BWdWBWxVBFBY
BWdWBWxVBHBC
BWdWBWxVBIB]
BWdWBWxVBTBZ
BWdWBWxVBUB[
bWdZ[[[W[[[
BWEa"BWU
BWeB[[[?[[[
BWEEE*E#E
BWeI[[[r[[[
BWe@[[[p[[[w[[[
BWeQEyAVTD
BWeS[[[T[[[K[[[
BWeW[[[u[[[
BWe_[[[x[[[|[[[
BWfQEyBLBW
BWg1kgfG
BWgadgfG
bWg_pgfG'
BWgQEyBWI
)bWgW)gfG
BW|gWmgfG
)))BwHNL
)))BwHNwL
)))BwHwNwL
[BWIsSSS
Bw]Jw@wSZALEE
BWKgrA_D
b_WKHNS	mt	f_WBU@KB	db	
BWLF1BWLX73BWLI1BWO732BWLJ7BWN132AbLG
BWLjfuEXEP
@_B_]WLO9
BWM72@WB[D9
@[BwM9	@tBtBB
BwMwOEwH
bW:NgfGBbs
bwOCgfG8
BwPdS[[[
[bwpgppepq
B*wpgppepq-
BwpgppepqD
Bw#pgppepqz
BWRWJHHVA@VIMRHRVORAWR
BWRWRIR@RNVJRHRJVRINLVRKRHW
BWsPVSS9
BWsSCSSg
@_BWsSRSSd
BWsSSRSdTsSSRSxQBW@YVBY
BWsSS[S9
BWsTVSS9
BWsUVSS9
BWsVVSS9
BWsWVSS9
BWsZVSS9
@[BW_UB[U
BW	@UBVLG9
BW@VB[@OxUBHL
BWWAJVJJJVOV
BWWALVIHJVILV
BWWALVIONVJV
BWWAMVIOKVI@KV
BWW@AVI@@VINVI@WzxRx
BWW@AVLMVILVIANW
BWWIAJVIN@VHVIBIH@HXU
BWWIAJVJJOVIOKVKKW
BWWIAMVAMVJI@VIOKW
BWWIA@VJKVJMHVJIIWIAH@Wyxcy
BWWI@AVKNVIKOV@JW
BWWIA@VMHVIILVIN
BWWIHKVJHOVKAVIMLWKHLHWIJ
BWWIHLVJKNVALV
BWWIJJVJJ@VOVJJMW
BWWIJOVHVHVIB]
BWWIJOVHVHVIBAHMH_THXyxuy
BWWIJOVHVHVIB@HHWyxky
BWWIJOVHVHVIB@KKJ
BWWIJOVHVHVIW
BWWILLVL@VJLHV@MWI@V
BWWI@MVJIMVIIKVAKWyxnx
BWWI@MVJIMVIIKVAKyxq
BWWIOAVLKVI@OVIKIW
BWWIOJVJLMVILJVKMWAAHV
BWWIONVANVIK@VIHKW
BWWI@OVIHAVINIVINLW
BWWI@VIMAVMAVJMKW	
BWW@IVIOOVJNVJHW
BWWJHHVIMAVIJ@V
BWWJHKVIAAVJHHVNIzx_y
BWWJHRHVA@RVROIVRIRNHW
BWWJH@VAMVIHLV
BWWJH@VA@VNIV@@W
BWWJH@VJLNVNMVJIMBJI@JWIV
BWWJIJVOIVJMMV
BWWJIKVIOLVILIVIIW
BWWJIOV@VIIOVNKW
BWWJJHVI@IV@OV@HW
BWW@JVA@VJKMVNKW
BWWKIVIAJVJHAV
BWWKIVIAJVJIHV
BWWKIVIAJVJIIV
BWWKIVJIHVJHVJJW
BWW@KVILAVOMVMLW
BWWLAVJKLVNMVMJW-
BWWMAVIHNVILMVM@W
BWWMHVNKVIJ@V
BWWMLVJKOVIONVAMW
BWW@MVIOVKVIMIW
BWWMVKAVIJLVIOMW
BWW@Myxcx5
BWWNIVIAVJMKV
BWWNIVIMKVJHVIINB@@W
BWWNJVJIHVJILV
BWWNKVJIAVIO@VINJW64JWG
BWWNMVJLKVIHKV@HW@Hxx
BWWNMVJLKVIHKVNJW
BWWNOVIMV
BWWOAVIJMVOVJJIW
BWWOJVJAV@HVIIKW
B;WwOMllllllllmllllOllylm
BWW@OVJKAVJJVKAW
BWW_QXSX_
BWWRWRZTXZ
BWW].W7!7
BWW_XBX_
BWWxxx]Y]]
BWWxx]Y]]
?|BWWxzxly
BWWyxly]
BWWyxmy]
BWWyxqyWG	
BWWyxRxD
BWWyxtxW
BWWyx_z-
BWWzxdyZ
B[@WxWAu
Bw:@@@@]Y]]
BWyEyQLs9
'''''''''''''''BX#]
BX_ABSL_SGD
BXACGCNA
__BX]ACN[
BXA_GBS]
BXAMOQS]DSFDO
BXANLNXGDOJ
B@XA[O_BPM_]
BX[ASDDYPYQJDS
BXA[SYDO
BX@AXJNNLZGMAK
@_B_@XB_
B[XBDOHO]
BXBLZKJB]DJ[K]@SS
B]X]BM_]
]BX[BOQSH]A
_B]XBPLAZZ[
B]@XBVvH
BXBYBEBCJ]OM
[BXCAAXB[
BXCM__MY
B||xC||pC||D
BXCPDQYJZ_
BXCSOPADQHXCO
BXD_APZY
BXDA]]X[C
BXDCQLSYPP
BXDDO]JM_[J
]BX@DFC]
bXd[[[[G[[[F[[[
BX]DHBCN
B_XdT[[[
BXEBMBDM
BXEGEO]SEX
BXEMZZ_O
BxEpEcE[EJEBE5E-E
BXEY@HH[
BXFFBQMDL
BXFQXXNHOJPN
BXGANAHNKS
BXGDP_LG
b)))XGHYvXYBN
BXG_HZGK
bxgkfgfG
@BXGKGAJQHS
BXg?kgfG
B Xgmggfw
BXGNQ]OQJD_ZE
BX]GPBFLOS
BXGPSLLXX
]bXgqgg7[
bxgqggjjC
BxgSegfG
BXGXPyxcy
]BXGXZ]E_
BXGY]M]FPS
BX[GZNQKJLABCDX
bxH81UUeU
BXHBMFA]YFHLMYMK_M
BXHBPBNN@Y[OFEA_N
_BX]HQKZML
BXIHHHHHHH
BX]I]xxx
BXJCZCABSXGK_MA
BXJD]][Y[SJEP
BXJEXHKNGHHM
BXJIururD
BXJOPPCZ_O
BXJ_OZB_Q
BX]JQAPJ_L
BX_JQZK_KLMN
BXjsRSSE@[EBVL
BXJYFAPA[PYOGOD[Y[JPL
[BX_JYQHA
B]XKDC[D
BXKFSYKO_
BXKLOCYE
BXKMEA_QMNZ]NXYG
BXKXLXSMG
BXLBN_OLCOGLD
BXLC73M7BXLC1BXsS
@BXLHQLCP
BXLJ]QQS
BXLLLOQJ]]
B-XlPllylmU
BXLQC_LJJS@O]]OPGL
B[XLY_NN
BXM!8.lSllylm
BXMDGAAD]FO_PL@
BXMJ_JNENJM
bxn@@@@B
B]XNJAY[PAH
B]XNJMBO
B@XNOGBL
BXNPOKN[N
BXNS]KZX
BX(NSSW@YBYs
B[XNXDGA
_BXNZFHH
bXOANZIEM
BXOHPQOPBBPA
BXOLPNPZ
BXO_OOZGB
BXOPHMOD
B[]XO[S_
BXOZECAYOCN
]B_XP]AXAAG@
@@B@XpDn 
@@B@XpDr
@@B@XpDs
@@B@XpDv
_BX@P]]F
BX[PF]JNOSA
bxpgppepq
B]XPHQ@X_K
@@B@XpIP
BX]PJBOALKBZ_B_YBN
@@@@@@B@XpjL
@@@@@B@@XpK@@@@@
@@B@XpKP
]BXPKXXGLQMFGFH
@@@@@B@@xpL@@@@@
@@B@XpLP
[BXPM_XH
@@@@B@@@Xp@P
B]XPQ_C]LGFDLJ@
[BX@[PQL
@@@@@@B@XpRD
@@B@XpSD
@@B@XpYHJGxcV
@@B@XpZL
B_@XQBTD
BXQCZAZ[SMMAQ
BXQEPXDZM
BXQ@GCOSZ
bX	qgfG	'
BXQGOHL[JZLXYYMNOFN
[B_XSBPAPGB_
BXS#BXS-BXS
BXSDG[G[
BX_[_SHNSYJ
BXSMGCYS
BXSNS]NEDB
BXSOJA]EK[MY
BX]SO_KBSMGCP[
BXSQDGY_FAL
BXsSRSS	2@KBJsSRSS	BXs
BXsSRSS	2@YBF_EXEBV
@B_]XSS[Y
BXSXLEZBDS
'BX#te?oooo
'BX#te?#te?S
BX@wBYBX
BXX" 6;X#U
BXXM_XXHD
BXXNMZYL
BXX[[QLQPJ
Bxxrx]Y]]
Bxxxx;94X]
]BXXXX_X
BXxxxxxx*
BXxxxxxxTX
bXXXXXXXXXX
Bxxx@xxyxyxyxY[
BXXXXXZ]
BXxxx]Y]]
BXxx]Y]]
BXxx]Y]]|
b;xxx]Y]]t
bx;xxzxzxzxxyxjy*(
Bxx]Y]]qoX
Bxx]Y]]u
BXxyxbyX
BXxyxmy9
BXxyx[yDD
BXX_Z]HYBMM
Bxy]BxyBBxy(Bxy
bxydexy9exy
bxyeexyDexy#exy
BXY]EKXEJHQDJ
BxykExyVExy7Exy
bxyoexycexykNxy
bxyqexyPexy1exy
bxysexyUexy4exy	exy
BxysExyYExyOExy4Exy
BxyuExyYExyMExy3Exy
BX	@YUL_9
BXyxiy9;
BxyxQyIMHX7
bxyy....
bxyYexyFexy
bxyyexykexy]exyOexy1exy#exy
bxyyiyyyyyyyyyyyyyyyyyyyyyy
bxyyyyyyyyy
bxyyyyyyyyygRxy
bxyyyyyyyyyyyyy
B@XZD[GBG
BXZFYGQ[J
BXZGENLYYG
BXZ@NC[NJDLF
BXZNLZyxbyWW
bX[[[Z[[[O[[[
BXZOLXKDLH
BXZXJPYKSQJZN
BXzxKy95
BXZ@YLNQ[GMAMY
b(((]Y]]
b@@@@]Y]]
]B@@@@]Y]]#
B!((]Y]]
B"((]Y]]
B#((]Y]]
B@@@@]Y]]
By1pgppepq
By_5DOgfG
BYACCHYXNS
BYACPGFXKN_CH
BYAEMLPSO
BYAG]A[[
BYAGMBJNPBB
BY]AHLJH
BYA_J[LLYC
[BYAZYNSLGDG_KMH_
B]Y]]b]]
By#@@@@B@AC@
]BYBAZPKOP
BYBJG]H]OO
BYBJ_QQK
BYBKDNSL
@@B@@YBYLo9
BY@BZCB@A@SM
BYCDEXCSJQ_
_[BYCJAC
BYDA_L[APOLLM
BYDBM_GQ[A_PKP]
BYD][DABH
BY[_D]]DQL
bYdG[[[e[[[d[[[
BY[DGGCMPA[GOMNY_]]QZGHDG
BydQEyQB]LCsSSS
_BY[dsBY[sSWSS
B]YDSPEM]
BYD_YOSQEKO_
BY[DZ_ONLCB
bYdz[[[x[[[
ByEaEMEAEEE9E)E!E
ByEeEYEEE9Eyyy
ByE]EME9E1E!E
@[BYEexB[D
BYEFBXOM
ByEhEZE;E*E!E'E
ByEiEeE]EME!E
ByEjEpG?G
BYELDLXGCYXP
ByEqEeEQEIE9E1E)E!E
ByEqEiEaEYEQEIEAE9E1E)E!E
ByEuE]EIE1E-E
ByEuEiEeEYEUEIE)E
ByEwE@E#E
BYEXPSBH_ZASQL_M
bYf][[[@[[[
BYF@GJOB
BYFJDLM]ZEZ
BY@F_MXC
BYf"[sSsSSg:E@UE[g1B]I9
b)))YFZ]LMO@EL
BYG]MMGJY
BYGPXLDNOZS
bYgqgg01
by.gqgg2
bygqgg':p
BYGXAD_G
BYGXLZKCK
B_YHCLDZ_Z]LJX
@[BYHdUB[D
B_@]YH]EB
BYHEQ]_D[_DLFPH
@B_YHF_@
B_YHGZJ_
b)))YH[HD
B)))YH[HDL]L[Z
b)))YHPEFHM
@bYh*q@@@@]Y]]
B]Y]]HsY
BYHYDGOL
b)))YHZ]L
BYH]ZMLMC
BYIdz[[[
BYJ@ACMG[
BYJAYYGEM]
BYJBAKP_KNBBXOO
B@YJFGO@N
BYJ]GDGLH_FBN
BYJNNBXC
B[Y_JOA_[PNNJC
BYJQJC_P
B_Y]JQ[MXKLL
B_YJZGQQ
BY_KC]ONX]
B[YK_DLBKPPCY_OSCHCYSOJG_@N[
BYKFDAEDD
BYKHPCQSZ
BYKY@ZX_KP
BYLBOJOBH]QA_@OY
B|ylB|y[B|yHB|yFB|y7B|y"B|y
BYLC73M7BYLC1BYsS
@@B@Y[LC9
B[YL@DLBF
_BYLJNL_EYC
BYLK1BYM73BXLC7BXLC132B_LK7B_M132[
BYL]]_KY
byllllllllmllllOllylm
_BYLN@PMG
BYLPKCGK_
B-YlPllylm.
BYlWllylm
BYLZ[KEL
BYM!8.lSllylm
BYMCNJFMSBA
B]YMDZDNDDD]MYS
BYMK_OJZEHMKKCEPQCJ_
BYMM]SBY
[[BYMXXB[J
BY_MZCDY
b]Y]]n*_
BYNAHZPLBM
BYNB][GZOBG
BYNHMPJ[X
BYNLPDZSLBON
BYNXMLEA
[BYNZGBGG@P
]BYO[ECMYZ
BYOHKJN]Z
B]YOJCB_M
BYOMBDSO[
[BYOMQKXAOYZ
BYOSMO[QNB]
BYOXALQM
[BYOYYCXP
BYPDMJJJQ[
B|ypE|yPE|yFE|y
@@@@@@B@yp@G
@B@@@yp@G
BYPKL]KH
BYPPPQ]BQ_MB
BYPYBY_E]
B[]YPYJQK_OPEG
BYQCDKMHMFS
]BY[QHZO]YM
BYQJQY[NDN
@]BYs3QSSd
BYSECKBLZBJ
B|ysE|y1E|y
B[YSH]JJYSS
BYSJNDAJG
BYSPLZ[MAX
BYSSKHSFYCLMD
BYsSSRSg
BYSXYQAPA
ByteOrderMarkWWW
byte ptr 
byte_reversed_hi
byte_reversed_low
bytes_to_decrypt
bytesTypeConverter
BytesTypeConverter
?B	]Y]]tt_
B|yuE|y]E|yOE|y)E|y#E|y
ByURSSSSS
BYvssQSS9
?'B]Y]]w'_
BYXDFDXNA
BYXMQ[_SQDBAAB
BYXQ[PSY
Byxry6292
Byxry9!9
BYX_SBQ@SBCNQ]H_DNMML
B_YX[SKQZ_
Byxsx3U;
ByxvyI@MVIJIVIOOVMKyxwyI@MVIJIVIOOVIOOyxsyLMVNKVJMVMMyxuyIIIVNOVINVJHJyxuyILJVLVJHLVIIIyxtyILJVLVJHMVLOyxtyKIVKVIKMVJKJyxuyNJVIIKVJHKVMMyxvyKOVJJ@VIMIVIKKyxuyILLVONVIKKVK@xx]Y]]
byx]Y]]K
byy5Eyy5Eyy
Byy9yqyyyy
BYYBAHYPP
Byy	ByybEyy
Byy!Byy"Byy
byyceyyJeyy)eyy
byydeyyAeyy
byydeyyAeyy.eyy
byy D]qyyv
ByyDyAyy
ByyDyAyyv
BYYDY[JFDZNXCO
byy_eyy:eyy
byy|eyy_eyy0eyy
byyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ByyfByyAByy(Byy
byyieyy@eyy
byyieyy_eyyDeyy*eyy
byyieyyieyy
ByyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
byy)iyy iyy
byyJdyy?dyy2dyy)dyy
byyjeyyHeyy)eyy
ByyjEyyQEyyDEyy*Eyy
BYYJGCLQNG_LBDGZ
byymeyyKeyyKeyy5eyy
byyneyyUeyy?eyy
byyoeyyJeyy-eyy
byypeyygeyyLeyy5eyy
byypI]S0
BYY@[POZEM
byyqeyyfeyyOeyy4eyy
byyqeyyZeyyGeyy.eyy
BYY]QQC[QE
ByyrEyy_EyyOEyy
ByyrEyyPEyy;Eyy-Eyy
ByysEyy7Eyy
By@YsSWSS@XBYvK9
ByytEyy1Eyy
ByytEyySEyy;Eyy'Eyy
ByyuByykByyaByygByy]ByySByyIByyOByyEByy;Byy1Byy7Byy-Byy#Byy
byyufyy)yyyyyyyyyyyyyyyyyyyyyyyyyyyy
byyveyyZeyyCeyy
ByywEyy?
byyweyyPeyyFeyy(eyy
byyw[yy9byyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yy
byyxyyyEy
byyxyyyEypyuyu
byyxyyyEyqyuyu
byyxyyyEy|yuyu
byyxyyyIysyuyu
byyxyyyIyuyuyu
byyxyyyUyyyUyyyacyy
Byyxyyyxyyyxyyy
byyxyyy)yjyuyu
byyxyyy-ylyuyu
byyy9xyyeyyy;yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ByyyDByyyyyy
ByyYEyyNEyy)Eyy
byyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
byyyiyyyyyyyyyyyyyyyyyyyyyy
Byyy	xymyyy
BYYYYyxly
byyYYyy1]yy
byyy	yyyeyyy;yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
byyyyyyQyyy
byyyyyyQyyy)yyy)yyyQyyyoyz
byyyyyyWeyyEeyy7eyy
byyyYyyyeyyy
ByYyyYyyy
BYYYYYYYY
byyyyyyyyyy
byyyyyyyyyy2H
byyyyyyyyyy5H
byyyyyyyyyy]eyyyiyy
byyyyyyyyyy)eyyyiyymeyyyyyyyyyy
byyyyyyyyyyweyyqiyy
byyyyyyyyyyy
byyyyyyyyyyyyyyyfyyyA
byyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3y4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ByyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYy4#
ByyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyCy4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ByyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
BYYZAG[MCM
byyzeyyLeyy
[]BYZBSP
[BY]Z_CFDJOB_B
BY__ZDX__LSOP
BYZ]GPH[G
BYZMCYQGPZ_P[KLL
_BYZSSHGK]
BYZZA@]OLJ
b)))ZAF[
B[@ZAGHZ]LLEJF[YF[H]@FG
BZAJ]XGJ]APE
BZALDBBAE
BZAOQHQOHQXSANAXN
BZ]AQQGQ]NJMXOPPLLPA[KEYHOZZ
)))BZ@ASNFDKMNDH
BZ]AYOAE
BZAYSCHDYQAFZYKX
BZ@@@@B@A@@
BZB]BLA][Z
BZBCNOZZZD
@_BZB_daBZB_B[
BZBHQQLDP
@@BZB@|iBJBU
B]ZB@JHN@A
B]ZB@JHN@JHN@JHN@JHNOXFN@JHN@JHN@A
@B]ZBJXECK
BZBJYOC[_[
BZBMASY@ZF
BzBPYL|[E))
@BZBYBZBYBZBYBZBYBZBYBZBY
BZ[]BZY]_N_X
B||zC||AC||
bZCCNCCCBACC_
BZ]C_G_J
BZC_K]AZ
B]ZCKCS@K
BZCOM@ZM
BZCQXS]AG
B]zCuff?
b||zc||Yc||4c||
BZD7JegfG 
BZDaXB[KaUWv
BZDDNNZ]
BZDKOCMBK
BZDMB]J]OZD
BZD_M@CG
B_Z]DMF_KGHFQ
BZDNLGMSPKZO
bZdS[[[h[[[
@_BzEfQEyB_sS
BzEIEOEEE8E2E(E
[B[ZEJLYDNYCBBC
BzEkE]E(E
BzEnEgERE4E
BzEpEgEKE2E
BzErEiEmEaE8E
B[ZESLM[DY
@[B[Zf2TD
BZfFB[I9
BZFHOHKFMH[E
BZfQEyBC
bZg1|gfG
Bz]g3dgfG
B[@Z[G@E]FG
BZGEQAGXPQDZQAAD
BZGGX@B[SSY
BZ@GHD@ZL_
@B]ZGJBO]PGC_LDE
BZgLBAQ(GSSW
BZGLHGANSA_J
BZGLZG]]OP[
BZ@GMLZ@NG
BZG[OJCQHLQA
]B[ZG_OKBO
B[ZGPXCHPD
BZgQEyB@BZ
BZgqgggw@
BzgqggrG
b)))Z]H[]
BZH]@AF_Y]EDSZJP
B_ZHEBAS
B)))ZHE_HCLNEHDY@GN
BZHLMGQNN
_B_ZHLX[DM
BZ_HPYDZ
B@ZHY@ZH
b)))Z]H[]YZLQLJ
bZ_IAAAA@AAAAAC
BZId[BVLMdQDyEyEy
BZIhMRSSEyB]J
_BZiyRSSk
BZJAACDNONS
BZJa BWBZ
BZJA]HZBZ
BZJ@FOHJMBON
@BZJNSDCKL_
BZJPKBFK
B_ZJSOLNB]DBAN[
BZJX[P][
BzjY]SSE9@DBT9@uE9Buo
	b_[[[Z[[[K[[[
'@B[[[Z[[[K[[[
'B[[[Z[[[K[[[
)B[[[Z[[[K[[[
:B[[[Z[[[K[[[
;B[[[Z[[[K[[[
[B[[[Z[[[K[[[
[B[[[Z[[[K[[[|
B[[[Z[[[K[[[
B[[[Z[[[K[[[(
B[[[Z[[[K[[[-
B[[[Z[[[K[[[.
B[[[Z[[[K[[[|
B[[[Z[[[K[[[0#n
B[[[Z[[[K[[[7
(B[[[Z[[[K[[[9
B[[[Z[[[K[[[c
B[[[Z[[[K[[[d
B[[[Z[[[K[[[	:e
B[[[Z[[[K[[[f
B[[[Z[[[K[[[FG
B[[[Z[[[K[[[Gn
B[[[Z[[[K[[[J
B[[[Z[[[K[[[lx#
"B[[[Z[[[K[[[N
B[[[Z[[[K[[[O
B[[[Z[[[K[[[O'
]BZKOOYA[AZA_YH
B[[[Z[[[K[[[P7
B[[[Z[[[K[[[q
B_[[[Z[[[K[[[q
B[[[Z[[[K[[[S
B[[[Z[[[K[[[u
B[[[Z[[[K[[["	U
B[[[Z[[[K[[[V
B[[[Z[[[K[[[Y
B[[[Z[[[K[[[*z
BZKZ]FMKDSLQLNQ
BZLC723BY
BZLC_Y_C[GY
BZLEO[LY
)))B[@Z]LG
b)))ZL]@G]L[_HE
b)))ZL]H
b)))Z][LHD
BZL@HKDNLAZEG[KC
_BZLJO[LSXY
]BZLKMKH
BZLSPBKZQ
@[BZLugsx
BZLX]B_OK
BZLZABXPSC_
B)))ZL]ZH
BZM73XBUD9
BZM73XBUK9
BZM73XBVLy9
BZM!8.lSllylm"m5
BZMAJXCF
BZMA_NGK
[[[;[[[BzMdG[[[
BZMGDDZYDLX]OZNSQ[XXKG
[@BZMHNZBFEELG
BZM[HQ@F[KC@
[BZMNCJX
BZMN__XDBLPQ]Y]
BZMPONCC]
BZMYSCJL
BZMZQMXB
BZ[NCYNS@N
BZNFACY_[OXB@YQDCHS
BZNGOCP[QCG
B]ZN@JHB@JHN@JHN@JK
BZNLCEKDGNP
BZNQBOCMYC_
BZ]NQ[@JQ
BZ(NSSW_[s
B_ZNXDJD[FXBF]Q
BZN_Z]]]B
_BZO[MFFOO_PLOMNP
B@_ZONS[QO
BZOXMYFCKKQBYXCPQPAHJYJGF
BZOYD]E]FAX
BZPDAXA_N
B]Z]PGMZ
bzpgppepqW
BZPHQOA_YKQ
B_ZPNANY
[[BZPQAAE
BZPSKBGM@[J
BZPSKJY]ZZSAX
@@@@B@@@zp@XW
B)))ZPZ]LD
BzQd_[[[
BZQDLZBFGAM@L
BZ[[QDNA
BZQ_GHJFK_
[BZQ__OMLCBS
B[ZQQBA@OXMX
[BZQQMNDXDO[_B
_BZQSHYM
B@@zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
BZS_DQ[QCMX
bzs@@@@@e@@B@AC@@A@@dp@f
B]Z]SFNF
B]ZSHBN[_MO
BZSH@LJ_OAXN
B_ZSLSDPX_HPCMCCDO
BZ@SLXYK_
BZSMABDS
@[BZsSCSSl
[BZSXFCHD
@[BZ@TBZYB[
b)zV647'
BZXMGGZO
BzxNyxx1x
@BZXOENYH_B
BZ[XP_]E
BZX@POJCQ
Bzxpx-*4BX]
BZXYE[SOX]DZCAZ]H]SBLYH]KHKX_O
BZYBHQQMSDGH
BZYCELOAXPX
bzyeezyFezy
bzy]ezy4ezy
BZYHSXQXY
b]ZYkIkK]Qp]Z_Z
B)))ZYLH[ALHMZ
__BZYLKZ]S
BZYMCPD_[QB
BZYNAO_MBPY
BzynEzy;Ezy
bzyy@'ev
B[ZZAJPDAQ
BZZDKDFK
BZ@ZFZFXC]MZC
BZZFZMPQP
BZZGDDHZ
BZZJAFFE
b]ZZkIkK]Qp]Z_Z
BZZM_@NMQENAS
BZZMOSDYSO
]BZZPQENDO
BZZ[QA__BY[BN]M[C]H
))c))))(
))c)))))
[[[	[[[c
[[[:[[[c
[[[;[[[c
[[[?[[[c
[[[c[[[]
||||c|||||||
c   !    
c][[[([[[
c][[[-[[[
c||||||||||
c||||||||||||||||||
))C)))))
*C||||||||"
?C||||||||
@@@@@@@C
[[[ [[[C
[[[;[[[C
[[[?[[[C
[[[_[[[C[[[
||||||||  C *
|||||||||||||||||||| | |C| |
C"||||||
C@@@@@@@@
C||||||||
C||||||||))))))
C||||||||.
C||||||||||
C|||||||||||
C||||||||||||||
C|||||||||||||||
C||||||||||||||||
C||||||||||||||||||
c0g]cgfGC
C0gqgg7N
c0gqgg#X
C0H9C(s)H
c0MgkfgfG
c0oxllllllllmllllOllylm!
c0pgppepqk
c0PXCCNCCCBACC
(c) 1999 Entrust.net Limited1301
c1dP[[[X[[[L[[[l
c1ggdgfG;
|C1gqgg!
c||||||||||||||||||1O
c1@@@@@o@@A@AAac
@c#1pgppepq
c1QdU[[[
c1TdB[[[
"c1wgfGN
C.1XCCNCCCBACCs
C[[[1z[dH[[[
C||||||||2!()))
c ;*21.T
c2BZJ	B_
c||?2||dc||T||||||||||||
C2fD9c2u
-C2:gAgg
c2llllllllmllllOllylm
c2SetPABWW
''' c2.v
c2XCCNCCCBACC
C2Xg7fgfGl
c3_]-07:D)
c3@@@@@@AAh FMHc
c3@@@@@@A@h FMHc
c3@@@@@@A@h NP
c3@@A@h TZTTG
c3@@@@B@A@2 @A
c3@@@@B@A@2 @I
c3gqgghZH
c3gqgg-k
c3Gyyyyyyd9yyyA
C3llllllllmllllOllylmG
C3[NddgfGH
c3pgppepq
C3?r0ggwl
c[[[3X"e_[[[
C3_[[[Z[[[K[[[Fn
C4[d_[[[
[c4.egfG
c[[[	4]g_[[[b[[[a[[[V_
c*4g)zgfG
C4pgppepq
[[[c4QdK[[[u
c[[[4*tdC[[[
C4YM1llllllllmllllOllylm
c  5     ?
c5@@A@h IT
c5@@A@h KM
c5B@A@2 @M
c5cgfGPx(]gqgg
C5EJhggfw
c5gqggiq
c5@IA@N@ACac
C5@@@@@m@@A@AAac
c5	pgppepq
_c5['R.H
c5|vodo7ogo
C5YGB@A@Hp@g
C||||||||659!L 
[[[c6fdJ[[[d[[[([[[Y
c6llllllllmllllOllylm
c6mSSSSSSSS
c70!4gUUNUUe
C#7dgfG*
c7egfGcHA
c7f#g*dd
C7ggfG5?
c7gomgfGf
C7	gqggq
c7llllllllmllllOllylm
C7llllllllmllllOllylm
 C7llllllllmlll]Y]]
c!7m[[[[7
c7ngfGHj
c7ng;ggfG
c7ngqgg|
c7]TgfGf
c7UdO[[[
C8dL[[[?[[[
C8H9C0uuH
C8H9C(tjH
C(@8n8tu
C8ngfGjo7
c8ppgppepq
C8rpgppepq
c  8     ]Y]]
c(8((]Y]]
c8Y1SFgfG
@c9@]B]Aa
[C9d@[[[
[C9d][[[C[[[
[C9dK[[[n[[[
[C9dL[[[
[C9dM[[[
[C9dQ[[[
[C9dQ[[[t[[[o[[[
[C9dx[[[
C9fD97u-
C9fD9?u-
C 9F wNH
c9gmdgfG
C(9G(t9D9
C 9G w6H;
c('9l0gAgg
C9pgppepq
c9yyy9yy
[[[C[[[@[[[a
@@@@@@CA
@@@@@@CA@
[[[C[[[A[[[
C@@@@@@A@
[ca0vYyQ
CA@@3!AEM
c@@@@@@AA@
c]@@@@A@A@@
CA@A3!A(
CA@A3!A@
CA@A3!AD
CA@A3!Ae
CA@A3!AE
CA@A3!AG
CA@A3!AO-
CA@A4!ALIb
CAAA3!AI
CAaA3!AJ
caaa91aa
CAAA@AAA
cAAAAAA@AAAAAC
"CAAAAAA@AAAAAC
CAAAAAA@AAAAAC
 cAAAA@AAAAAC
!cAAAA@AAAAAC
cAAAA@AAAAAC
cAAAA@AAAAAC"
cAAAA@AAAAAC)
cAAAA@AAAAAC@
cAAAA@AAAAAC[(
CAAAA@AAAAAC
cAAAA@AAAAACe
cAAAA@AAAAACh!1q
cAAAA@AAAAACI
cAAAA@AAAAACj;
cAAAA@AAAAACl
cAAAA@AAAAACM
cAAAA@AAAAACMn
cAAAA@AAAAACp
cAAAA@AAAAACso
cAAAA@AAAAACt
cAAAA@AAAAACTm
cAAAA@AAAAACU
cAAAA@AAAAACv
cAAAA@AAAAAC@XH
cAAAA@AAAAACyr
CAAAAAAAAeqAo
caAaAaqa@B14 [#
CAAAAAYAAeqAsAAAAAAAA
c)|AAAACA@A
CAAAaqAL]
caaaa]Y]]
caaaa]Y]]|
@@C@AAac
@@C@AAacoo
CAAAIqA]1S
CAAAIqAb
CAAAIqAK
CAAAIqAkcu8
[CAAAIqAL
CAAAIqAM
CAAAIqANVP 
CAAAIqAW
CAAAKPAGMK
CAAAMqAl
CAAAMqAz
CAAAoqAr
CAAApqAe
CAAApqAm
CAAA*qAL
Caaa]Y]]
@@C@A@ac
C@@@@@|@@A@ACa
@c@@A@ACac
c@@@@@AACap@X
CA@ADqAc
Caae)551
Caaea]Y]]
CA@AeqAI
@@@@@c@@A@AFac
C]AAH[]MA]LQQPQ_B_
CA@AIqAa
C@AAIqAE
C@AAIqAeN
C@AAIqAFU
C]AAIqASAAAAAAAA
C]AAIqAWAAAAAAAA
CA@AMqAl
@CAAmqEAAAAA
@CAAmqEAAAAAS
CA@AOqAQ
CA@AoqAU
C@A@A(p@Cr
@@@@@@CAap@RIx
]CAAQqUAAAAAAAAA
C@a|aqza7
C[AAXSOG
caa]Y]]dYX
__CAAYYLXBP]A]KO
CABA11ARW
'CABA11AT
CAbACEAIABAA
CabAPI.dll
Cab_CreateCab
CAB@DKKXZD@
CaBeBEB9B
c)))ABED
CABEIqAV
Cab_Extract
CAB_FixedSize
c'@@ABHpFY
Cabinet.dll
CabinetFileCountThreshold
cabinet file name
[cabinet list]
Cabinet Maker - Lossless Data Compression Tool
CabinetName*
CabinetNameTemplate
CA]BJCHOS_
CABMDMEDZ
caboperationpage.cpp
caboperationpage.h
:cAbortSubmitW
CABPDCNONQ
CaBQBMBEB5B-B
CAB_ResvCodeSigning
(CABSfx)
!CabSfxW
CabSfxW_117cbc12
CabSfxW_15e93f07
CabSfxW_4a1ba5bd
CabSfxW_8eed9710
CabSfxW_969881ed
CabSfxW_a5a63452
CabSfxW_acc113e6
CabSfxW_fbbf742e
CABSSAE_CNPQM
CA[BY__LP
CABYSGNG
C_ABYZ[C_
CAB@ZC[AJC
CAC1A_!@?
CAC@!1Aa
CAC@!1Aa5
CAC1AabQ
CAC1AaKg
CAC1AaO 
CAC1Aa!-p
CAC1A]B8
CAC1AbAAAAAAAAAAAAAAAA)A5A5A1A
CAC1A[Bx
CAC1AdAAAAAAAA)A5A5A1A
CAC1AdAAAAAAAAAAAAAAAA)A5A5A1A
CAC1Ad"G
CAC1Ad:Sh
CAC1AdWOx
CAC1Ae5u
CAC1AeIX
CAC1AeT-coAAAAAA@AAAAACm3!
CAC1AfAAAAAAAA)A5A5A1A
CAC1A[g[
CAC1AH];
CAC1Ai'M
CAC1AjAAAAAAAA)A5A5A1A
CAC1AKDUH
CAC1AKN3L
CAC1ALL|63AAAAAA@AAAAAC
CAC1ALWsn
CAC1AM3E7
CAC1AM:i
CAC1AM'y
CAC1AN||
CAC1AN0)
CAC1AnAAAAAAAA)A5A5A1A
CAC1ANo|
CAC1AO7u
CAC1A[Oaj
CAC1AOHJGnAAAAC
CAC1AO	k
CAC1ApAAAAAAAAAAAAAAAA)A5A5A1A
CAC1APTF
CAC1APVA
CAC1AQ1x
CAC1AQ9N
CAC1AQh[
CAC1AQtb
CAC1AR4@
CAC1ArAAAAAAAA)A5A5A1A
CAC1ARd(
CAC1ARGG
CAC1ArIq(
CAC1ARNb
CAC1AR"P
CAC1ArqNZrAAAAAA@AAAAAC
CAC1ARty
CAC1ARvo
CAC1ARwt
CAC1AS0	
CAC1ASAQ
CAC1AS.n
CAC1A]T:
CAC1AT. 
CAC1ATa?
CAC1AtAAAAAAAA)A5A5A1A
CAC1ATdW
CAC1ATe_
CAC1ATeZ
CAC1ATHt
CAC1ATMma
CAC1ATns
CAC1ATS59
CAC1AT[X
CAC1AU8N
CAC1AUAAAAAAAAAAAAAAAA A1A(AoA(A1AoA2A#A
CAC1AUAAAAAAAAAAAAAAAAoA.A A2A5AoA1A3A.A
CAC1AUAT*
CAC1AU#e
CAC1AU.i
CAC1AUjf
CAC1AUUK
CAC1AUV9
CAC1AUvjiRAAAAAA@AAAAACrz5J
CAC1AUZM
CAC1AV]@
CAC1AV7]
CAC1AVDI
CAC1AVq4
CAC1AVs|
CAC1AW2O
CAC1AWxB
CAC1AWyD
CAC1AxAAAAAAAA)A5A5A1A
CAC1AXAAAAAAAAAAAAAAAA)A5A5A1A
CAC1AXFZ
CAC1AXHX_
CAC1AXk-
CAC1AXTS
CAC1AYbu
CAC1AY@l
CAC1AYQ'7KAAAAAA@AAAAAC
CAC1A]z0
CAC1AZ.2NNAAAAAA@AAAAACA
CAC1AZ*4
CAC1AzAAAAAAAA)A5A5A1A
CAC1AZ@D
CAC1AZpR
CAC1AZV6f
CAC1AZVx
CA@C3!ALG
@	@@C@ACa
'@@@@@"@@C@ACac
@	@@C@ACac
@@@@@	@@C@ACac
@@@@@"@@C@ACac
@@@@@#@@C@ACac
@@@@@(@@C@ACac
@@C@ACac
CACAFSD]GCF]E
CAC[APC_[
CACAXLQ]X
CACC 1Aa
CACC 1Aal
CACCACACAANNO]O]O]O]O]O]O
CAC@F_BQBXEYLN_
cachedaccesstype
CacheDataCorrupted
cachedproxyserver
cachedproxyserver_scrubbed
cachedregistry.cpp
cachedregistry.h
cachedregistrytests.cpp
cachedtpmid
cachedtpmid_scrubbed
CacheFileError
cachemanager.cpp
cachemanager.h
cache_size
CacheSize
cache_spill
CACJHA]EB
CACJY]JQ]
CACN@Y[FO
CACPHMJX
CACPQYBMAOYP]B
@CA]]CQFPG
CActionPaneSection
CActionPaneTask
CActionPaneZone
cActions|
CActionsPaneView
CAD1A]aJ1fAAAAC
CAD1Ap1P(
CAD1Aq3_
CAD1Arv2
@@C@ADac
cADAE	ALwi
ca[DaQaUa
caDc1gc1g
CADGEFOGN
[CADHY[G
CADJPS@OH
@@@@@@CAdp@H
@C@@ADqAI
C[[[adreZ[[[
C[ADSDZPHB
CADSN@QLMC@@CEHY
_CAD@[SP
cAdU[[[w[[[
CADYNADP
'[[[CA'e][[[
CA@E3!A_
CA@E3!AI!
@CAe_[[[9[[[8[[[
)@	@@C@AEac
@@@@@ @@C@AEac
@@@@@#@@C@AEac
@@C@AEac
caeaeaia@B)253[(
_CAEBP@]O@
CAELE]LXENDO_Q
CAE[MMCJMG
CAESDO@B
CAES[]ND
@@C@AFac
cafafafa@B 
cafafafa@B)253[5
CAF]HLXJCACF
CAFJHG]LDYL[FZ
CAFPB]NYF
cag@@@@@
CA@_]GAG
cagagaga@B)253[5
CAGFJQMQ
CAGFMM_PGSHHBJDLA
C]AGG][C
CA@G_[HD
C@AGLJEKYHZ
cagqfgfG
cahahafaabaV
C@AHBESK_
CAHFKL_Y
c@@A@h JL2JDM
CAHLOXDN][Y]JHKJZ
[C@@@@@@A@h LY
CAH_MJK[BBAY
cahPSVOQOQOPcak
C@@A@h SSF
C@@A@h ST
CAHYEAMXS
cai@@@@@@A@@
cai@@@@@@A@Lp@Hp
cai@@@@BAA@Hp@D
C@@AIqAEM
cajajaga@B)253[5
CAJDBA[J
]CAJEDBZB_
CAJJC_OCPDSMYKZG[DQK]
CAJSCQ_ZPXQLS]
cakakaka@B)253[5
cakakata@B)253[7
CAKAMFCD
CAKANH]]
CAKBDQMS
CAKBYZSDPFBC
CAKDMEEGKFJH
CA]]@KFK[QA
CAKOKODD
CAK_PNO][
CALBMYPH
CalcFormPropSetW
C]ALDK[D_
CALGSGCNMGQJACS
California1
CALK_PEAO
callback
Callback
callbackaddress
callback.h
callContext
callCount
calledaddress
callerModule
callerReturnAddressOffset
CallerRVA
call expression is not an object
call expression is undefined
CallingCode
Calling parent function in MMGAServerIABContainerIdl::CopyProps
Calling parent function in MMGAServerIABContainerIdl::CopyTo
Calling parent function in MMGAServerIABContainerIdl::DeleteProps
Calling parent function in MMGAServerIABContainerIdl::GetContentsTable
Calling parent function in MMGAServerIABContainerIdl::GetHierarchyTable
Calling parent function in MMGAServerIABContainerIdl::GetIDsFromNames
Calling parent function in MMGAServerIABContainerIdl::GetLastError
Calling parent function in MMGAServerIABContainerIdl::GetNamesFromIDs
Calling parent function in MMGAServerIABContainerIdl::GetPropList
Calling parent function in MMGAServerIABContainerIdl::GetProps
Calling parent function in MMGAServerIABContainerIdl::GetSearchCriteria
Calling parent function in MMGAServerIABContainerIdl::OpenEntry
Calling parent function in MMGAServerIABContainerIdl::OpenProperty
Calling parent function in MMGAServerIABContainerIdl::SaveChanges
Calling parent function in MMGAServerIABContainerIdl::SetProps
Calling parent function in MMGAServerIABContainerIdl::SetSearchCriteria
Calling parent function in MMGAServerIAddrBookIdl::CopyProps
Calling parent function in MMGAServerIAddrBookIdl::CopyTo
Calling parent function in MMGAServerIAddrBookIdl::DeleteProps
Calling parent function in MMGAServerIAddrBookIdl::GetIDsFromNames
Calling parent function in MMGAServerIAddrBookIdl::GetLastError
Calling parent function in MMGAServerIAddrBookIdl::GetNamesFromIDs
Calling parent function in MMGAServerIAddrBookIdl::GetPropList
Calling parent function in MMGAServerIAddrBookIdl::GetProps
Calling parent function in MMGAServerIAddrBookIdl::OpenProperty
Calling parent function in MMGAServerIAddrBookIdl::SaveChanges
Calling parent function in MMGAServerIAddrBookIdl::SetProps
Calling parent function in MMGAServerIAttachIdl::CopyProps
Calling parent function in MMGAServerIAttachIdl::CopyTo
Calling parent function in MMGAServerIAttachIdl::DeleteProps
Calling parent function in MMGAServerIAttachIdl::GetIDsFromNames
Calling parent function in MMGAServerIAttachIdl::GetLastError
Calling parent function in MMGAServerIAttachIdl::GetNamesFromIDs
Calling parent function in MMGAServerIAttachIdl::GetPropList
Calling parent function in MMGAServerIAttachIdl::GetProps
Calling parent function in MMGAServerIAttachIdl::OpenProperty
Calling parent function in MMGAServerIAttachIdl::SaveChanges
Calling parent function in MMGAServerIAttachIdl::SetProps
Calling parent function in MMGAServerIDistListIdl::CopyProps
Calling parent function in MMGAServerIDistListIdl::CopyTo
Calling parent function in MMGAServerIDistListIdl::DeleteProps
Calling parent function in MMGAServerIDistListIdl::GetContentsTable
Calling parent function in MMGAServerIDistListIdl::GetHierarchyTable
Calling parent function in MMGAServerIDistListIdl::GetIDsFromNames
Calling parent function in MMGAServerIDistListIdl::GetLastError
Calling parent function in MMGAServerIDistListIdl::GetNamesFromIDs
Calling parent function in MMGAServerIDistListIdl::GetPropList
Calling parent function in MMGAServerIDistListIdl::GetProps
Calling parent function in MMGAServerIDistListIdl::GetSearchCriteria
Calling parent function in MMGAServerIDistListIdl::OpenEntry
Calling parent function in MMGAServerIDistListIdl::OpenProperty
Calling parent function in MMGAServerIDistListIdl::SaveChanges
Calling parent function in MMGAServerIDistListIdl::SetProps
Calling parent function in MMGAServerIDistListIdl::SetSearchCriteria
Calling parent function in MMGAServerIMailUserIdl::CopyProps
Calling parent function in MMGAServerIMailUserIdl::CopyTo
Calling parent function in MMGAServerIMailUserIdl::DeleteProps
Calling parent function in MMGAServerIMailUserIdl::GetIDsFromNames
Calling parent function in MMGAServerIMailUserIdl::GetLastError
Calling parent function in MMGAServerIMailUserIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMailUserIdl::GetPropList
Calling parent function in MMGAServerIMailUserIdl::GetProps
Calling parent function in MMGAServerIMailUserIdl::OpenProperty
Calling parent function in MMGAServerIMailUserIdl::SaveChanges
Calling parent function in MMGAServerIMailUserIdl::SetProps
Calling parent function in MMGAServerIMAPIContainerIdl::CopyProps
Calling parent function in MMGAServerIMAPIContainerIdl::CopyTo
Calling parent function in MMGAServerIMAPIContainerIdl::DeleteProps
Calling parent function in MMGAServerIMAPIContainerIdl::GetIDsFromNames
Calling parent function in MMGAServerIMAPIContainerIdl::GetLastError
Calling parent function in MMGAServerIMAPIContainerIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMAPIContainerIdl::GetPropList
Calling parent function in MMGAServerIMAPIContainerIdl::GetProps
Calling parent function in MMGAServerIMAPIContainerIdl::OpenProperty
Calling parent function in MMGAServerIMAPIContainerIdl::SaveChanges
Calling parent function in MMGAServerIMAPIContainerIdl::SetProps
Calling parent function in MMGAServerIMAPIFolderIdl::CopyProps
Calling parent function in MMGAServerIMAPIFolderIdl::CopyTo
Calling parent function in MMGAServerIMAPIFolderIdl::DeleteProps
Calling parent function in MMGAServerIMAPIFolderIdl::GetContentsTable
Calling parent function in MMGAServerIMAPIFolderIdl::GetHierarchyTable
Calling parent function in MMGAServerIMAPIFolderIdl::GetIDsFromNames
Calling parent function in MMGAServerIMAPIFolderIdl::GetLastError
Calling parent function in MMGAServerIMAPIFolderIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMAPIFolderIdl::GetPropList
Calling parent function in MMGAServerIMAPIFolderIdl::GetProps
Calling parent function in MMGAServerIMAPIFolderIdl::GetSearchCriteria
Calling parent function in MMGAServerIMAPIFolderIdl::OpenEntry
Calling parent function in MMGAServerIMAPIFolderIdl::OpenProperty
Calling parent function in MMGAServerIMAPIFolderIdl::SaveChanges
Calling parent function in MMGAServerIMAPIFolderIdl::SetProps
Calling parent function in MMGAServerIMAPIFolderIdl::SetSearchCriteria
Calling parent function in MMGAServerIMAPIFormInfoIdl::CopyProps
Calling parent function in MMGAServerIMAPIFormInfoIdl::CopyTo
Calling parent function in MMGAServerIMAPIFormInfoIdl::DeleteProps
Calling parent function in MMGAServerIMAPIFormInfoIdl::GetIDsFromNames
Calling parent function in MMGAServerIMAPIFormInfoIdl::GetLastError
Calling parent function in MMGAServerIMAPIFormInfoIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMAPIFormInfoIdl::GetPropList
Calling parent function in MMGAServerIMAPIFormInfoIdl::GetProps
Calling parent function in MMGAServerIMAPIFormInfoIdl::OpenProperty
Calling parent function in MMGAServerIMAPIFormInfoIdl::SaveChanges
Calling parent function in MMGAServerIMAPIFormInfoIdl::SetProps
Calling parent function in MMGAServerIMAPIStatusIdl::CopyProps
Calling parent function in MMGAServerIMAPIStatusIdl::CopyTo
Calling parent function in MMGAServerIMAPIStatusIdl::DeleteProps
Calling parent function in MMGAServerIMAPIStatusIdl::GetIDsFromNames
Calling parent function in MMGAServerIMAPIStatusIdl::GetLastError
Calling parent function in MMGAServerIMAPIStatusIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMAPIStatusIdl::GetPropList
Calling parent function in MMGAServerIMAPIStatusIdl::GetProps
Calling parent function in MMGAServerIMAPIStatusIdl::OpenProperty
Calling parent function in MMGAServerIMAPIStatusIdl::SaveChanges
Calling parent function in MMGAServerIMAPIStatusIdl::SetProps
Calling parent function in MMGAServerIMessageIdl::CopyProps
Calling parent function in MMGAServerIMessageIdl::CopyTo
Calling parent function in MMGAServerIMessageIdl::DeleteProps
Calling parent function in MMGAServerIMessageIdl::GetIDsFromNames
Calling parent function in MMGAServerIMessageIdl::GetLastError
Calling parent function in MMGAServerIMessageIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMessageIdl::GetPropList
Calling parent function in MMGAServerIMessageIdl::GetProps
Calling parent function in MMGAServerIMessageIdl::OpenProperty
Calling parent function in MMGAServerIMessageIdl::SaveChanges
Calling parent function in MMGAServerIMessageIdl::SetProps
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::AdminProviders
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::ConfigureMsgService
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::CopyMsgService
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::CreateMsgService
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::DeleteMsgService
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::GetLastError
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::GetMsgServiceTable
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::GetProviderTable
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::MsgServiceTransportOrder
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::OpenProfileSection
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::RenameMsgService
Calling parent function in MMGAServerIMsgServiceAdmin2Idl::SetPrimaryIdentity
Calling parent function in MMGAServerIMsgStoreIdl::CopyProps
Calling parent function in MMGAServerIMsgStoreIdl::CopyTo
Calling parent function in MMGAServerIMsgStoreIdl::DeleteProps
Calling parent function in MMGAServerIMsgStoreIdl::GetIDsFromNames
Calling parent function in MMGAServerIMsgStoreIdl::GetLastError
Calling parent function in MMGAServerIMsgStoreIdl::GetNamesFromIDs
Calling parent function in MMGAServerIMsgStoreIdl::GetPropList
Calling parent function in MMGAServerIMsgStoreIdl::GetProps
Calling parent function in MMGAServerIMsgStoreIdl::OpenProperty
Calling parent function in MMGAServerIMsgStoreIdl::SaveChanges
Calling parent function in MMGAServerIMsgStoreIdl::SetProps
Calling parent function in MMGAServerIProfSectIdl::CopyProps
Calling parent function in MMGAServerIProfSectIdl::CopyTo
Calling parent function in MMGAServerIProfSectIdl::DeleteProps
Calling parent function in MMGAServerIProfSectIdl::GetIDsFromNames
Calling parent function in MMGAServerIProfSectIdl::GetLastError
Calling parent function in MMGAServerIProfSectIdl::GetNamesFromIDs
Calling parent function in MMGAServerIProfSectIdl::GetPropList
Calling parent function in MMGAServerIProfSectIdl::GetProps
Calling parent function in MMGAServerIProfSectIdl::OpenProperty
Calling parent function in MMGAServerIProfSectIdl::SaveChanges
Calling parent function in MMGAServerIProfSectIdl::SetProps
Calling parent function in MMGAServerIPropDataIdl::CopyProps
Calling parent function in MMGAServerIPropDataIdl::CopyTo
Calling parent function in MMGAServerIPropDataIdl::DeleteProps
Calling parent function in MMGAServerIPropDataIdl::GetIDsFromNames
Calling parent function in MMGAServerIPropDataIdl::GetLastError
Calling parent function in MMGAServerIPropDataIdl::GetNamesFromIDs
Calling parent function in MMGAServerIPropDataIdl::GetPropList
Calling parent function in MMGAServerIPropDataIdl::GetProps
Calling parent function in MMGAServerIPropDataIdl::OpenProperty
Calling parent function in MMGAServerIPropDataIdl::SaveChanges
Calling parent function in MMGAServerIPropDataIdl::SetProps
Calling parent function in MMGAServerIStreamIdl::Read
Calling parent function in MMGAServerIStreamIdl::Write
Calling server function IABContainer::CopyEntries
Calling server function IABContainer::CreateEntry
Calling server function IABContainer::DeleteEntries
Calling server function IABContainer::ResolveNames
Calling server function IABLogon::Advise
Calling server function IABLogon::CompareEntryIDs
Calling server function IABLogon::GetLastError
Calling server function IABLogon::GetOneOffTable
Calling server function IABLogon::Logoff
Calling server function IABLogon::OpenEntry
Calling server function IABLogon::OpenStatusEntry
Calling server function IABLogon::OpenTemplateID
Calling server function IABLogon::PrepareRecips
Calling server function IABLogon::Unadvise
Calling server function IAddrBook::Address
Calling server function IAddrBook::Advise
Calling server function IAddrBook::CompareEntryIDs
Calling server function IAddrBook::CreateOneOff
Calling server function IAddrBook::Details
Calling server function IAddrBook::GetDefaultDir
Calling server function IAddrBook::GetPAB
Calling server function IAddrBook::GetSearchPath
Calling server function IAddrBook::NewEntry
Calling server function IAddrBook::OpenEntry
Calling server function IAddrBook::PrepareRecips
Calling server function IAddrBook::QueryDefaultRecipOpt
Calling server function IAddrBook::RecipOptions
Calling server function IAddrBook::ResolveName
Calling server function IAddrBook::SetDefaultDir
Calling server function IAddrBook::SetPAB
Calling server function IAddrBook::SetSearchPath
Calling server function IAddrBook::Unadvise
Calling server function IAttachmentSecurity::IsAttachmentBlocked
Calling server function IDistList::CopyEntries
Calling server function IDistList::CreateEntry
Calling server function IDistList::DeleteEntries
Calling server function IDistList::ResolveNames
Calling server function IExchangeManageStore::CreateStoreEntryID
Calling server function IExchangeManageStore::EntryIDFromSourceKey
Calling server function IExchangeManageStore::GetMailboxTable
Calling server function IExchangeManageStore::GetPublicFolderTable
Calling server function IExchangeManageStore::GetRights
Calling server function IExchangeModifyTable::GetLastError
Calling server function IExchangeModifyTable::GetTable
Calling server function IExchangeModifyTable::ModifyTable
Calling server function IMAPIAdviseSinkIdl::OnNotify
Calling server function IMAPIClientShutdown::DoFastShutdown
Calling server function IMAPIClientShutdown::NotifyProcessShutdown
Calling server function IMAPIClientShutdown::QueryFastShutdown
Calling server function IMAPIContainer::GetContentsTable
Calling server function IMAPIContainer::GetHierarchyTable
Calling server function IMAPIContainer::GetSearchCriteria
Calling server function IMAPIContainer::OpenEntry
Calling server function IMAPIContainer::SetSearchCriteria
Calling server function IMAPIFolder::CopyFolder
Calling server function IMAPIFolder::CopyMessages
Calling server function IMAPIFolder::CreateFolder
Calling server function IMAPIFolder::CreateMessage
Calling server function IMAPIFolder::DeleteFolder
Calling server function IMAPIFolder::DeleteMessages
Calling server function IMAPIFolder::EmptyFolder
Calling server function IMAPIFolder::GetMessageStatus
Calling server function IMAPIFolder::SaveContentsSort
Calling server function IMAPIFolder::SetMessageStatus
Calling server function IMAPIFolder::SetReadFlags
Calling server function IMAPIForm::Advise
Calling server function IMAPIFormAdviseSinkIdl::OnActivateNext
Calling server function IMAPIFormAdviseSinkIdl::OnChange
Calling server function IMAPIFormContainer::CalcFormPropSet
Calling server function IMAPIFormContainer::GetDisplay
Calling server function IMAPIFormContainer::GetLastError
Calling server function IMAPIFormContainer::InstallForm
Calling server function IMAPIFormContainer::RemoveForm
Calling server function IMAPIFormContainer::ResolveMessageClass
Calling server function IMAPIFormContainer::ResolveMultipleMessageClasses
Calling server function IMAPIForm::DoVerb
Calling server function IMAPIFormFactory::CreateClassFactory
Calling server function IMAPIFormFactory::GetLastError
Calling server function IMAPIFormFactory::LockServer
Calling server function IMAPIForm::GetLastError
Calling server function IMAPIForm::GetViewContext
Calling server function IMAPIFormInfo::CalcFormPropSet
Calling server function IMAPIFormInfo::CalcVerbSet
Calling server function IMAPIFormInfo::MakeIconFromBinary
Calling server function IMAPIFormInfo::OpenFormContainer
Calling server function IMAPIFormInfo::SaveForm
Calling server function IMAPIFormMgr::CalcFormPropSet
Calling server function IMAPIFormMgr::CreateForm
Calling server function IMAPIFormMgr::GetLastError
Calling server function IMAPIFormMgr::IsInConflict
Calling server function IMAPIFormMgr::LoadForm
Calling server function IMAPIFormMgr::OpenFormContainer
Calling server function IMAPIFormMgr::PrepareForm
Calling server function IMAPIFormMgr::ResolveMessageClass
Calling server function IMAPIFormMgr::ResolveMultipleMessageClasses
Calling server function IMAPIFormMgr::SelectForm
Calling server function IMAPIFormMgr::SelectFormContainer
Calling server function IMAPIFormMgr::SelectMultipleForms
Calling server function IMAPIForm::SetViewContext
Calling server function IMAPIForm::ShutdownForm
Calling server function IMAPIForm::Unadvise
Calling server function IMAPIGetSession::GetMAPISession
Calling server function IMAPIMessageSiteIdl::CopyMessage
Calling server function IMAPIMessageSiteIdl::DeleteMessage
Calling server function IMAPIMessageSiteIdl::GetFolder
Calling server function IMAPIMessageSiteIdl::GetFormManager
Calling server function IMAPIMessageSiteIdl::GetLastError
Calling server function IMAPIMessageSiteIdl::GetMessage
Calling server function IMAPIMessageSiteIdl::GetSession
Calling server function IMAPIMessageSiteIdl::GetSiteStatus
Calling server function IMAPIMessageSiteIdl::GetStore
Calling server function IMAPIMessageSiteIdl::MoveMessage
Calling server function IMAPIMessageSiteIdl::NewMessage
Calling server function IMAPIMessageSiteIdl::SaveMessage
Calling server function IMAPIMessageSiteIdl::SubmitMessage
Calling server function IMAPIProgressIdl::GetFlags
Calling server function IMAPIProgressIdl::GetMax
Calling server function IMAPIProgressIdl::GetMin
Calling server function IMAPIProgressIdl::Progress
Calling server function IMAPIProgressIdl::SetLimits
Calling server function IMAPIProp::CopyProps
Calling server function IMAPIProp::CopyTo
Calling server function IMAPIProp::DeleteProps
Calling server function IMAPIProp::GetIDsFromNames
Calling server function IMAPIProp::GetLastError
Calling server function IMAPIProp::GetNamesFromIDs
Calling server function IMAPIProp::GetPropList
Calling server function IMAPIProp::GetProps
Calling server function IMAPIProp::OpenProperty
Calling server function IMAPIProp::SaveChanges
Calling server function IMAPIProp::SetProps
Calling server function IMAPIProviderShutdown::DoFastShutdown
Calling server function IMAPIProviderShutdown::NotifyProcessShutdown
Calling server function IMAPIProviderShutdown::QueryFastShutdown
Calling server function IMAPISecureMessage::GetBaseMessage
Calling server function IMAPISession::AdminServices
Calling server function IMAPISession::Advise
Calling server function IMAPISession::CompareEntryIDs
Calling server function IMAPISession::EnumAdrTypes
Calling server function IMAPISession::GetLastError
Calling server function IMAPISession::GetMsgStoresTable
Calling server function IMAPISession::GetStatusTable
Calling server function IMAPISession::Logoff
Calling server function IMAPISession::MessageOptions
Calling server function IMAPISession::OpenAddressBook
Calling server function IMAPISession::OpenEntry
Calling server function IMAPISession::OpenMsgStore
Calling server function IMAPISession::OpenProfileSection
Calling server function IMAPISession::PrepareForm
Calling server function IMAPISession::QueryDefaultMessageOpt
Calling server function IMAPISession::QueryIdentity
Calling server function IMAPISession::SetDefaultStore
Calling server function IMAPISession::ShowForm
Calling server function IMAPISession::Unadvise
Calling server function IMAPIStatus::ChangePassword
Calling server function IMAPIStatus::FlushQueues
Calling server function IMAPIStatus::SettingsDialog
Calling server function IMAPIStatus::ValidateState
Calling server function IMAPISyncProgressCallback::Done
Calling server function IMAPISyncProgressCallback::Error
Calling server function IMAPISyncProgressCallback::Progress
Calling server function IMAPITable::Abort
Calling server function IMAPITable::Advise
Calling server function IMAPITable::CollapseRow
Calling server function IMAPITable::CreateBookmark
Calling server function IMAPITable::ExpandRow
Calling server function IMAPITable::FindRow
Calling server function IMAPITable::FreeBookmark
Calling server function IMAPITable::GetCollapseState
Calling server function IMAPITable::GetLastError
Calling server function IMAPITable::GetRowCount
Calling server function IMAPITable::GetStatus
Calling server function IMAPITable::QueryColumns
Calling server function IMAPITable::QueryPosition
Calling server function IMAPITable::QueryRows
Calling server function IMAPITable::QuerySortOrder
Calling server function IMAPITable::Restrict
Calling server function IMAPITable::SeekRow
Calling server function IMAPITable::SeekRowApprox
Calling server function IMAPITable::SetCollapseState
Calling server function IMAPITable::SetColumns
Calling server function IMAPITable::SortTable
Calling server function IMAPITable::Unadvise
Calling server function IMAPITable::WaitForCompletion
Calling server function IMAPIViewAdviseSinkIdl::OnNewMessage
Calling server function IMAPIViewAdviseSinkIdl::OnPrint
Calling server function IMAPIViewAdviseSinkIdl::OnSaved
Calling server function IMAPIViewAdviseSinkIdl::OnShutdown
Calling server function IMAPIViewAdviseSinkIdl::OnSubmitted
Calling server function IMAPIViewContextIdl::ActivateNext
Calling server function IMAPIViewContextIdl::GetLastError
Calling server function IMAPIViewContextIdl::GetPrintSetup
Calling server function IMAPIViewContextIdl::GetSaveStream
Calling server function IMAPIViewContextIdl::GetViewStatus
Calling server function IMAPIViewContextIdl::SetAdviseSink
Calling server function IMessage::CreateAttach
Calling server function IMessage::DeleteAttach
Calling server function IMessage::GetAttachmentTable
Calling server function IMessage::GetRecipientTable
Calling server function IMessage::ModifyRecipients
Calling server function IMessage::OpenAttach
Calling server function IMessage::SetReadFlag
Calling server function IMessage::SubmitMessage
Calling server function IMsgServiceAdmin2::CreateMsgServiceEx
Calling server function IMsgServiceAdmin::AdminProviders
Calling server function IMsgServiceAdmin::ConfigureMsgService
Calling server function IMsgServiceAdmin::CopyMsgService
Calling server function IMsgServiceAdmin::CreateMsgService
Calling server function IMsgServiceAdmin::DeleteMsgService
Calling server function IMsgServiceAdmin::GetLastError
Calling server function IMsgServiceAdmin::GetMsgServiceTable
Calling server function IMsgServiceAdmin::GetProviderTable
Calling server function IMsgServiceAdmin::MsgServiceTransportOrder
Calling server function IMsgServiceAdmin::OpenProfileSection
Calling server function IMsgServiceAdmin::RenameMsgService
Calling server function IMsgServiceAdmin::SetPrimaryIdentity
Calling server function IMsgStore::AbortSubmit
Calling server function IMsgStore::Advise
Calling server function IMsgStore::CompareEntryIDs
Calling server function IMsgStore::FinishedMsg
Calling server function IMsgStore::GetOutgoingQueue
Calling server function IMsgStore::GetReceiveFolder
Calling server function IMsgStore::GetReceiveFolderTable
Calling server function IMsgStore::NotifyNewMail
Calling server function IMsgStore::OpenEntry
Calling server function IMsgStore::SetLockState
Calling server function IMsgStore::SetReceiveFolder
Calling server function IMsgStore::StoreLogoff
Calling server function IMsgStore::Unadvise
Calling server function IMSLogon::Advise
Calling server function IMSLogon::CompareEntryIDs
Calling server function IMSLogon::GetLastError
Calling server function IMSLogon::Logoff
Calling server function IMSLogon::OpenEntry
Calling server function IMSLogon::OpenStatusEntry
Calling server function IMSLogon::Unadvise
Calling server function IPersistMessage::GetClassID
Calling server function IPersistMessage::GetLastError
Calling server function IPersistMessage::HandsOffMessage
Calling server function IPersistMessage::InitNew
Calling server function IPersistMessage::IsDirty
Calling server function IPersistMessage::Load
Calling server function IPersistMessage::Save
Calling server function IPersistMessage::SaveCompleted
Calling server function IProfAdmin::AdminServices
Calling server function IProfAdmin::ChangeProfilePassword
Calling server function IProfAdmin::CopyProfile
Calling server function IProfAdmin::CreateProfile
Calling server function IProfAdmin::DeleteProfile
Calling server function IProfAdmin::GetLastError
Calling server function IProfAdmin::GetProfileTable
Calling server function IProfAdmin::RenameProfile
Calling server function IProfAdmin::SetDefaultProfile
Calling server function IPropData::HrAddObjProps
Calling server function IPropData::HrGetPropAccess
Calling server function IPropData::HrSetObjAccess
Calling server function IPropData::HrSetPropAccess
Calling server function IProviderAdmin::CreateProvider
Calling server function IProviderAdmin::DeleteProvider
Calling server function IProviderAdmin::GetLastError
Calling server function IProviderAdmin::GetProviderTable
Calling server function IProviderAdmin::OpenProfileSection
Calling server function IProxyStoreObject::Placeholder1
Calling server function IProxyStoreObject::Placeholder2
Calling server function IProxyStoreObject::UnwrapNoRef
Calling server function ISequentialStream::Read
Calling server function ISequentialStream::Write
Calling server function IStream::Clone
Calling server function IStream::Commit
Calling server function IStream::CopyTo
Calling server function IStream::LockRegion
Calling server function IStream::Revert
Calling server function IStream::Seek
Calling server function IStream::SetSize
Calling server function IStream::Stat
Calling server function IStream::UnlockRegion
Calling server function ITableData::HrDeleteRow
Calling server function ITableData::HrDeleteRows
Calling server function ITableData::HrEnumRow
Calling server function ITableData::HrGetView
Calling server function ITableData::HrInsertRow
Calling server function ITableData::HrModifyRow
Calling server function ITableData::HrModifyRows
Calling server function ITableData::HrNotify
Calling server function ITableData::HrQueryRow
Calling server function ITnef::AddProps
Calling server function ITnef::EncodeRecips
Calling server function ITnef::ExtractProps
Calling server function ITnef::Finish
Calling server function ITnef::FinishComponent
Calling server function ITnef::OpenTaggedBody
Calling server function ITnef::SetProps
Calling server function IXPLogon::AddressTypes
Calling server function IXPLogon::EndMessage
Calling server function IXPLogon::FlushQueues
Calling server function IXPLogon::Idle
Calling server function IXPLogon::OpenStatusEntry
Calling server function IXPLogon::Poll
Calling server function IXPLogon::RegisterOptions
Calling server function IXPLogon::StartMessage
Calling server function IXPLogon::SubmitMessage
Calling server function IXPLogon::TransportLogoff
Calling server function IXPLogon::TransportNotify
Calling server function IXPLogon::ValidateState
callingThreadIdWd
CAllllllllmllllOllylm
CallNamedPipeW
_callnewh
CallNextHookEx
CallNtPowerInformation
_calloc_base
calls_unimplemented_api
call to empty boost::function
callvirt
CallWindowProcA
CallWindowProcW
CALMDKZGL
CALMOJ_DQPYE_ZNSD
CALYQD@CA
.CAMCApp
CAMCHNAJXPZ
CAMCStatusBar
CAMCTreeView
?CAMCView
CAMCWebViewCtrl
CAM]DNDD
CAMOZACZMACMOZCAOZOOZZAMACMOZAZMOAOMZAOMAZABOAMMOZABOMZACAMOZACZMACMOZCAOZOOZZAMACMOZAZMOAOMZAOMAZABOAMMOZABOMZAEEEEEEEE
CAMP_BmFileOpenByFullPathList
CAMP_BmFileOpenByNameList
campgradualrelease
campring
CampRing
Can6.3*n253n
CanActOnThreat
CANAYPJOC
canceldatarequesttest.cpp
CancelEventArgs
CancelIo
CancelledByLogOffException
cancelresponsetest.cpp
cancelresponsetest.h
CancelThreadpoolIo
CancelWaitableTimer
CancelWW
@CA@N@IEac
CANLOZYSZCZ
]CANL[SXJNM
Cannot add a column to a view
Cannot add a column with non-constant default
Cannot add a NOT NULL column with default value NULL
Cannot add a PRIMARY KEY column
Cannot add a REFERENCES column with non-NULL default value
Cannot add a UNIQUE column
cannot change a protected metatable
Cannot change INF generation setting
cannot commit - no transaction is active
cannot commit transaction - SQL statements in progress
CannotConnectToService
cannot convert object to primitive
cannot create trigger on system table
cannot create triggers on virtual tables
Cannot execute
Cannot find plugin '
cannot have both ON and USING clauses in the same join
Cannot load nameless profile of empty string.
Can not map a pefile
cannot move file across devices
cannot open file
cannot open file for reading
cannot open include file 
cannot open savepoint - SQL statements in progress
cannot release savepoint - SQL statements in progress
cannot resume non-suspended coroutine
cannot rollback - no transaction is active
cannot start a transaction within a transaction
cannot use window functions in recursive queries
cannot VACUUM from within a transaction
cannot VACUUM - SQL statements in progress
cannot write!
CANOA[DGQSBY]A
canonical
|@@@@@@CANpbJC
CANQQFMP
?CanSetFocus@HWNDElement@DirectUI@@UEAA_NXZ
CANSSCH[Y
Can't create log file
Can't initialize critical section
Can't store log name
can't supply flags when constructing one RegExp from another
Can't terminate a sub-expression with an alternation operator |.
CaoA1A)A1A
caoaoaoa@B)253[5
CAO[D[NKKX
CAOGHGOK
CAOLYYOHOLG]LD[GOH_
CAOOLQAMOEM
CAOPEA]J
CAOSMEGJ
CAOYSHJM
capability
C_AP_A_G_B_C
CAPASO]CNHQ
CAPEEJAMCBLJ
Capgppepq
CApgppepq
CAPJJ_H_P[QF
CAP[NBKKXCKS@@JA
CAPSJ[ZS
?_Capture@_ContextCallback@details@Concurrency@@AEAAXXZ
CAPXL[DHJXCKH
CAPXQHC[C
CAPZOYHL
CAQ1AHiU
CAQ1AJ]0
CAQ1AJ6-Kj
CAQ1AJ7g
CAQ1AJC6
CAQ1AJHP
CAQ1AJHy
CAQ1AJL#
CAQ1AJm6
CAQ1AJ_Mda
CAQ1AJMo
CAQ1AJqd
CAQ1AJ"RB
CAQ1AJri
CAQ1AJ]S
CAQ1AJ"T
CAQ1AJU|
CAQ1AJUI
CAQ1AJVWS
CAQ1AKf]
CAQ1AKrx
CAQ1AL).
CAQ1AL.[
CAQ1AL@[
CAQ1AL_:
CAQ1AL)|0
CAQ1AL1*
CAQ1AL1F	
CAQ1AL1o
CAQ1AL1p
CAQ1AL1z(
CAQ1AL2g'
CAQ1AL-3
CAQ1AL3]3
CAQ1AL3r
CAQ1AL3Z9
CAQ1AL4-
CAQ1AL4;
CAQ1AL4Z
CAQ1AL|5
CAQ1AL5J
CAQ1AL5q
CAQ1AL6:K*
CAQ1AL9?eM
CAQ1ALA 
CAQ1ALAUJ
CAQ1AL.B
CAQ1AL:B
CAQ1ALBe
CAQ1AL|c
CAQ1ALc[
CAQ1ALdK'
CAQ1ALdp
CAQ1ALdW
CAQ1ALDX
CAQ1ALDxJ_iBAAAA@AAAAAC
CAQ1AL-E
CAQ1ALE9y
CAQ1ALEA
CAQ1ALfeA
CAQ1ALfv
CAQ1ALFz
CAQ1AL*g_
CAQ1ALgD9
CAQ1ALGH
CAQ1ALgLq
CAQ1ALGW'
CAQ1ALgX
CAQ1ALh-
CAQ1ALH'
CAQ1ALhP
CAQ1AL|i
CAQ1AL I?
CAQ1ALI;
CAQ1ALI?
CAQ1ALik
CAQ1ALIqm
CAQ1AL*j
CAQ1ALJ7
CAQ1ALjl
CAQ1AL'K
CAQ1AL@K
CAQ1ALK#
CAQ1ALkf
CAQ1ALkRR
CAQ1ALkVJ
CAQ1ALL*
CAQ1ALL1
CAQ1AL_M
CAQ1ALMrM
CAQ1ALmT
CAQ1ALn)6u
CAQ1ALnN
CAQ1ALns
CAQ1ALNU
CAQ1ALPem
CAQ1AL(*q
CAQ1ALQ).
CAQ1ALq1U
CAQ1ALQ!d
CAQ1AL:r
CAQ1AL	R
CAQ1ALR0
CAQ1ALrFq
CAQ1AL_Rqg
CAQ1ALrrT
CAQ1ALS4
CAQ1ALs5q
CAQ1ALSy)W
CAQ1AL;u
CAQ1ALu_
CAQ1ALU	
CAQ1ALU#
CAQ1AL	U2
CAQ1ALu_rQ
CAQ1ALUS)
CAQ1ALVQ	
CAQ1ALvr(
CAQ1ALw(
CAQ1AL-W
CAQ1ALw8
CAQ1ALx	
CAQ1AL.X
CAQ1AL]X
CAQ1ALX)
CAQ1ALxcW
CAQ1ALXp
CAQ1ALYb
CAQ1ALyC
CAQ1ALz2u
CAQ1ALzgB
CAQ1ALZI
CAQ1ALZK
CAQ1ALzOy)
CAQ1ALZV
CAQ1AM		
CAQ1AM" 
CAQ1AM10
CAQ1AM1D.
CAQ1AM2)
CAQ1AM]3l
CAQ1AM4]
CAQ1AM 4I
CAQ1AM5d
CAQ1AM61
CAQ1AM;7d9
CAQ1AM8j|k
CAQ1AM8P
CAQ1AM8"UT 
CAQ1AM9p
CAQ1AM9w
CAQ1AMA6
CAQ1AMat
CAQ1AMB|
CAQ1AMB0r?
CAQ1AM	C
CAQ1AMCU
CAQ1AMeT
CAQ1AMf;
CAQ1AMg-
CAQ1AMG?
CAQ1AMGq
CAQ1AMgw
CAQ1AM_HH
CAQ1AMHJf
CAQ1AMHOY
CAQ1AM j
CAQ1AM_J
CAQ1AMjf
CAQ1AMjlO
CAQ1AMkc
CAQ1AMKc
CAQ1AMLGm
CAQ1AMLz
CAQ1AMmT	
CAQ1AM[N
CAQ1AMNC;6
CAQ1AM_nO
CAQ1AMNPQ
CAQ1AMovn
CAQ1AMPe
CAQ1AMPM
CAQ1AM!pR
CAQ1AM?Q
CAQ1AMqa
CAQ1AMRC
CAQ1AMrWC
CAQ1AM'S
CAQ1AMTC8
CAQ1AMtg
CAQ1AM_U
CAQ1AMU?
CAQ1AMy'
CAQ1AMy*
CAQ1AMY#
CAQ1AMYjs
CAQ1AMz-
CAQ1AMZd
CAQ1AN0D
CAQ1AN1dI
CAQ1AN1z
CAQ1AN2P
CAQ1AN2R6k
CAQ1AN9'
CAQ1ANBW
CAQ1ANCd*
CAQ1ANcl
CAQ1ANdH
CAQ1ANdri
CAQ1ANE:
CAQ1ANFG
CAQ1ANf	k
CAQ1ANfr
CAQ1ANG4
CAQ1ANgE
CAQ1ANH!
CAQ1ANhQ
CAQ1ANi|
CAQ1ANii@
CAQ1ANJMN
CAQ1ANjO
CAQ1ANk3
CAQ1ANkv
CAQ1ANmgC
CAQ1ANM@T
CAQ1ANn)
CAQ1AN(o
CAQ1ANOj
CAQ1AN.p
CAQ1ANP)
CAQ1ANp5D
CAQ1ANPr) 
CAQ1ANqkjF
CAQ1ANsb
CAQ1ANtHjz
CAQ1ANUC]
CAQ1ANV7
CAQ1ANW1
CAQ1ANXb
CAQ1AN'Y
CAQ1ANyrlJ
CAQ1AO.|
CAQ1AO@[
CAQ1AO_ 
CAQ1AO_1]
CAQ1AO16F
CAQ1AO1L
CAQ1AO1M
CAQ1AO1x
CAQ1AO2;
CAQ1AO2zV
CAQ1AO3)
CAQ1AO3ru
CAQ1AO6-
CAQ1AO67
CAQ1AO6.D?
CAQ1AO6E
CAQ1AO7Pr
CAQ1AO*8
CAQ1AO9g
CAQ1AOa	
CAQ1AO'!ac
CAQ1AOAd
CAQ1AOb"5y
CAQ1AOBb
CAQ1AObE
CAQ1AObKB
CAQ1AOd?E
CAQ1AOdHVT
CAQ1AOdKSu
CAQ1AO|e
CAQ1AOEW
CAQ1AO-f
CAQ1AOF-
CAQ1AOF0oa
CAQ1AO;g
CAQ1AO_h
CAQ1AOh7v
CAQ1AOhkT
CAQ1AOHX
CAQ1AOi]VJ
CAQ1AOjpep
CAQ1AOJq
CAQ1AO-jY
CAQ1AO.k
CAQ1AOKo
CAQ1AOlK
CAQ1AOLt
CAQ1AOm4
CAQ1AOMfct
CAQ1AON1
CAQ1AONm
CAQ1AOnp
CAQ1AO]]NWJ
CAQ1AO"O
CAQ1AO.O
CAQ1AO[(O
CAQ1AOoGZN
CAQ1AOOJ6D
CAQ1AOo	np
CAQ1AOoq
CAQ1AOP:
CAQ1AOQ[?G
CAQ1AOQK
CAQ1AOQkT
CAQ1AOQx
CAQ1AO*R6
CAQ1AORI
CAQ1AORV
CAQ1AO;s|
CAQ1AOSp5
CAQ1AOssW
CAQ1AOsxF
CAQ1AO@t
CAQ1AOTmj
CAQ1AO'u
CAQ1AOU|#
CAQ1AOU3KD
CAQ1AOu"B
CAQ1AOUDFo
CAQ1AOuq
CAQ1AOv#m
CAQ1AOwSs
CAQ1AOX-
CAQ1AOxy
CAQ1AOy6o
CAQ1AOz@
CAQ1AOZ)
CAQ1AOzc
CAQ1AOz-zr
CAQDFKPCHC
CA[QFPLCD_DLX_[Q
@@@@@@CAqpKAkml
caQQQ622c
CAQS_[DGM_JQ
car1291291291291291294aa]Y]]
CardAcquireContext
CardAcquireContextInternal
cardapps
CardDeleteContext is not available
CardModule::CardBeginTransaction
CardModule::CardEndTransaction
CardModule::CardModuleWrapper::AcquireContext
CardModule::CardModuleWrapper::AuthenticateChallenge
CardModule::CardModuleWrapper::BeginTransaction
CardModule::CardModuleWrapper::CardModuleWrapper
CardModule::CardModuleWrapper::CreateDirectory
CardModule::CardModuleWrapper::CreateFile
CardModule::CardModuleWrapper::Deauthenticate
CardModule::CardModuleWrapper::Deinitialize
CardModule::CardModuleWrapper::DeleteContext
CardModule::CardModuleWrapper::EndTransaction
CardModule::CardModuleWrapper::GetChallenge
CardModule::CardModuleWrapper::GetFileInfo
CardModule::CardModuleWrapper::Initialize
CardModule::CardModuleWrapper::InitializeCardData
CardModule::CardModuleWrapper::ValidateCardData
CardModule::CardModuleWrapper::VerifyState
CardModule::CardModuleWrapper::WriteFile
CardModule::CreateAndWriteFile
CardModule::GetCardAtr
CardModule::GetCardModuleName
CardModule::GetCardName
CardModule::GetReaderState
CardModule::GetSCardContext
CardModule::GetSCardHandle
CardModule::ProvisionCard
CardModule::VerifyEmptyOrNoFile
carriage-return
CarrierFilePaths
          case 0:
          case 1:
          case 2:
                 case "JAVASCRIPT":
                 case "JSCRIPT":
case_sensitive_like
                 case "VBS":
                 case "VBSCRIPT":
CASEX[_H
CASGKHEANG
CASJ_@SBD
CASLACYLBXFG
]C_ASL_]GMJ
C]@ASSCXPNL
CASSKMZOOG
castclass
catalogapitests.cpp
catalog.cpp
catalogexportstests.cpp
catalogfactory.cpp
catalogfactory.h
catalogfactorymock.cpp
catalogfactorymock.h
catalog.h
catalogimpl.cpp
catalogimpl.h
catalogmanager.cpp
catalogmanager.h
catalogmanagertests.cpp
catalogmanagertests.h
catalogmock.cpp
catalogmock.h
Catalog_PE
catalogrc.h
catalogtests.cpp
catalogtests.h
catatata@B3
category
Category
CategoryDependencyWW
category dependencyWWW'
CategoryInstanceh)
CategorySelectionConstsWT
c AUAVAWH
Causes a node to be expandedWW
cawaravaaca):L
cawawawaakaH]N
CAXADOLKDDOZJ
CAXA@EAAA@AA
CAXB]YHGGGGS
CAXBYHQNYGY
CAXD@MJAA
CAXDYBAS]D][[
CAX]HDKA
C_A_XOJ_QYFGP
@@@@@@CAXpDa
C@A@@XpDHA0
@@@@@@CAXpfD
[CAX[[ZHB
c)))A]]Y
_CAYCGFL[_[
CAYEXC[OA
CAYSN[CSOYX@
c)))A]]YZ
CAYZC[A_GHPXHLXDE]
c)))]A@Z
CAZAGHCQ
[CAZALHSKJNE@_
CAZBM[K]Q_JE
CAZCNGB@J[
C]AZE]]JN
C[AZEX]CQ]CYN
CAZ[G@GGJXNX
CA_ZGOKGSZBBDGJD]][G
CAZJASCPAM
CAZNEJSP
CAZOJAZ[
@CAZXGZSOYPNSZHEZ
[[[:[[[cb
[[[;[[[cb
c@@@@@@@B
c@@@@B@@@
@@@@@@CB
@@@@@@CB@
C;B4llllllllmllllOllylm
CB7gAggn
CB-83("2
c@@@@B@A@
c@@@@B@A@@
C@@@@B@A@
C@@@@B@A@@
CB@A@2 @D
C@@@@B@A@2 @E
c@@@@B@A@2 @K
C@@@@B@A@2 @Ku
C@@@@B@A@2 @L
c@@@@B@A@2 @N
c@@@@B@A@2 @R
C@@@@B@A@2 @V
[C@@@@B@A@2 @W
c@@@@BAA@Ep@E
CBA@A@NpGD
CBABCANBCNACNC
c@@@@B@AC@
@@C@B@ac
c@BACh E@@@@@7
c@@@@B@A@dp@]
C]BAGAQFP
CBAGCBHF
C"B@AH2 @J
C@@BAh Ng
C@@@@B@A@Hp@]
CBA@@Hp@HA0
c'B@A@Hp@Pk
C@@@@B@A@Hp@R 
C-@@@@B@A@Hp@y
c@BA@; L@@@@@8
c@@@@B@A@Lp@y;
C@BA@; M@@@@@T
C@@@@B@A@_p@L
c@@@@B@A@pp@Q
CBapsvoqoqopa
CBapsvoqoqopag
CBAZBZQGKY
-c@@@@BBA@
c@@@@B@BAap@
CB@@@@BBA@2 @@@@@@@@@@B@A@2 @E0
CB@@@@BBA@2 @@@@@@@@@@B@A@2 @m
cBBBBBBB
CBBBBBBB
C@@BBh Qw
C@@@@BB@@Jp@@@@@@@@@@A@@@
cBBqlxlA
CB@BX@XYH
CB@c1EAAAAA-h
CB@c1GAAAAA
CB@c1SAAAAAAAAA@AAAeA:A
-c@@@@B@CA
@cBc@aBa@fBf@eBe@
@	@@C@BCac
@@C@BCac
@CBCAwLw
@cBcBFM9
@CBCBML_9
')))CBCCCCCCCCCB
CB_C_[CDDZDM
CbCCNCCCBACC
C]BCCZMG
@C[BCdA[BZM9
@CBCDfQEyQM9
c@@@@B@C@Ep@_L
_C]BCGFOKPMD
[CBC_[HC@
CBCH@HAOAQZBNASY
@CBCJ7BC2N
@CBCLcdUBCLjeXZD
@CBCLIdUBCLNeMBZT
@CBC@MBC@NTL
CBCMM_GGOZ
@CBC(MSSW
CBCNGDZBY[CNML
c||bc||Oc||3c||
cbCollapseStateW
CBCPALXNFBY
_CBC]PGH[LDC
@CBCPLC9
@CBCsSSQSe_BCsSSPS
@CBCsSSSR9
@CBCT2sSS
@CBC@TBTL7
@CBC@yBC@WTM9
C@'B@d@ADac
CBDAY[N_K
CBDBSSF]PN
cBdB[[[t[[[o[[[
C[BDDDNDBH
CBDDXZ[Y
CB[DFLLOY
CB[DGQFZPG]
*cBdL[[[
]CBdM[[[;[[[
CBdM[[[([[[
CBdM[[[?[[[)[[[
CB]DMOPHJPY
C[BDOM]OQQGQ
C@B@DqAETz
CBdT[[[Z[[[
C[BDZY_OKDAX
@@C@BEac
C_BEB3B#B
C	b[eggG
cbEIDContainerWW
cbEIDNewEntryTpl
cbEIDWWW
cbEncodingWW
cbEntryID
CB"eQ[[[
CbeR[[[G[[[j[[[
CbeV[[[W[[[
Cbex[[[A[[[
CbeZ[[[f[[[
CbeZ[[[p[[[v[[[
@@C@BFac
_)))CBFG
c)))BF[LG
C)))BFMLEPOLK[HGM
C@[BF_ZBP
CBGBLOQA_JHJ
C?bg'egfG
cB-gEkgfG
c#bgfGtb!
[CBGGSCH
cbggugfGPnw
CBGHB_GD
CBGSBNLNJN]
C_BGYLSHA
]]CB[@H]
C]BHB:B	BbESE"E
cbhggfwj
CBHMFHPK[
c@@@@B@@@Hp@S
CBHPSGBJDMNJJZ
CB___HQJ
cbInstanceKeyWWW
CBJBFNQDJ
)))CBJDM
CBJHNAKHJ_
CBJJKZ[AG
CBJ[_NJ[
C_BJX@D[
CBJYCN]JDB
CBKAD]LBBQOO
C|BkBeBSBJBDB
C|BkBgBQBIBBB
C]BK_GCBC][]HPX
CB_KJLZA[PLY
CBKJ@Z_K
CBK@K[E]B
CBKMMYEXXBZJSNBNH
@CBKP[@Z
CBKQYQLK
c@@@@BLB@Hp@g
CBLDFC]QNHBZC
CBLDGZQC
CB@LFZ@ZQXASMQGQZB]J
c)))BL[GLE
cblist.cpp
cblist.h
CBLLSOCH
CBLN]MJZ
cBlSSSSSSSSSSSSSSSSSSSSiT
CBMCOCZXOS]P
CBMDM[_N]GMN
CBM@EXC[C@QG]YAJGC
CBM_HLB@QBC]L
__CBMJB_NEAG
CBMJCHGYAY
cbMsgEID
CBMYB@XAL
CBMYDAMD
C]BNAL[PZO
CB[NDKXK
]CB_[NHP
CBNJ_YNZG[YY_XJ
CbnllllllllmllllOllylm6
C@@@@B@@@Np@L
@@CBNpNK
@@@@@@CBNpOJ
CBOCNOMN
CBODHLOPZLGBOB
CBOG[YEJCY
CBO]JOY@SQE]K][J
cbOldIDW4
)cbOldParentIDWWW4
cbOrigEntry
cbOrigEntryW
@CBOSO]AMSDG
CBOXESP_]S
C@B@@(p@@@@@@
cbParent
]]CBPD]OZHN
CBPG@LBSSZKSAK
CBP]G]ZBQ_SQ
cB@@@*p@Hs
CBP]JZ[XCHJ
C_BP]]MMY]JGZ
CBPOOZPMN_YLEG
CB]QBXCOOSZB
@CB[Q@HGMX
CBQJZD]PC
[CBQKJEDXLCXPLSMS[
C|BrBYBWB
cbReserved1W
cbReserved2W
)CBRgUegfG
C|BsB_B;B
CbsCoreFinalize
CbsCoreInitialize
CB[SD_CL[F
cbSecurityDescriptor
[CBSMGZYSP
CBSQFBZEOX@
CBSS]CYXG
CBSS[[SM]
)cbStoreRecordKey
cbStoreRecordKey
CBSZJLLYPYQM
CBSZPJJ_
C|BtBgB_BNBFB)B!B
@CBUBi2BC
Cbullllllllmlll]Y]]
@CBULsBC
@CBUsSWSSa
cbUUBUUu
cBv(NSSW@wBws
c@@@@B@@@vp@e
@CBVYAe@qLZ_Bqv
cbwrJgfw
CBX]ELHM
C@BX[_GDK_
C_B]XLGK
CBXMYABB
CBYAHMBHXM
@CBYBBBY
CBY[C[YM
CBYEGJFLD
CB_YOLPHNSN
CBYZMBKGASCSZ_E
CB_ZJLJH
cB[[[Z[[[K[[[
CB[[[Z[[[K[[[
CB[[[Z[[[K[[[L]
CBZZD]KNFBOGJECGYQBN
c_[[[C[[[
@@@@@@CC
|  C ||||  C 
|||||| |C|C| |||||||||1
CC@@A@3 ET
CCa)551npoqLK
][C[]CA[]A
CCA@AaqAE
][C[]CA[]A][C[]CA[]A
CCaAPqAAAAAAAAAACCAAwqAAAAAAAAAACAAAKPAR
CCAAQ1AAAAAAAAAAAAAAAAAACAC@!1Aa
@@C@C@ac
CCAC1	AAAAA
CCAC1[AAAAA
CCAC1[AAAAA	
CCAC1[AAAAA!
CCAC1[AAAAA"
CCAC1[AAAAA#
CCAC1[AAAAA'
CCAC1[AAAAA(
CCAC1[AAAAA)
CCAC1[AAAAA*
CCAC1[AAAAA-_
CCAC1[AAAAA.
CCAC1[AAAAA?
CCAC1[AAAAA@
CCAC1[AAAAA@_
CCAC1[AAAAA[
CCAC1[AAAAA]
CCAC1[AAAAA][
CCAC1[AAAAA_
CCAC1[AAAAA|
CCAC1]AAAAA
CCAC1]AAAAA	
CCAC1]AAAAA 
CCAC1]AAAAA"
CCAC1]AAAAA" 
CCAC1]AAAAA#
CCAC1]AAAAA#(
CCAC1]AAAAA#?
CCAC1]AAAAA(
CCAC1]AAAAA)
CCAC1]AAAAA*
CCAC1]AAAAA-
CCAC1]AAAAA.
CCAC1]AAAAA.!"	
CCAC1]AAAAA:
CCAC1]AAAAA;
CCAC1]AAAAA?#
CCAC1]AAAAA@
CCAC1]AAAAA@"
CCAC1]AAAAA[
CCAC1]AAAAA]
CCAC1]AAAAA_
CCAC1]AAAAA|
CCAC1]AAAAA|;
CCAC1_AAAAA
CCAC1_AAAAA	
CCAC1_AAAAA 
CCAC1_AAAAA"?
CCAC1_AAAAA#
CCAC1_AAAAA'
CCAC1_AAAAA-
CCAC1_AAAAA.
CCAC1_AAAAA;
CCAC1_AAAAA?
CCAC1_AAAAA@
CCAC1_AAAAA[
CCAC1_AAAAA]
CCAC1_AAAAA_
CCAC1_AAAAA|
CCAC1|AAAAA
CCAC1[AAAAA0
CCAC1]AAAAA0
CCAC1_AAAAA0
CCAC1]AAAAA0g
CCAC1]AAAAA0Q
CCAC1[AAAAA0s:
CCAC1[AAAAA1
CCAC1]AAAAA1
CCAC1[AAAAA1N
CCAC1	AAAAA2
CCAC1[AAAAA	2
CCAC1[AAAAA2
CCAC1]AAAAA2
CCAC1_AAAAA2
CCAC1]AAAAA2]V
CCAC1[AAAAA2Zb
CCAC1[AAAAA3
CCAC1]AAAAA3
CCAC1_AAAAA3
CCAC1[AAAAA38
CCAC1]AAAAA._3Q
CCAC1]AAAAA4
CCAC1_AAAAA4
CCAC1_AAAAA4h
CCAC1]AAAAA4r
CCAC1[AAAAA5
CCAC1]AAAAA5
CCAC1_AAAAA5"
CCAC1]AAAAA6
CCAC1]AAAAA6[
CCAC1_AAAAA6L
CCAC1]AAAAA7
CCAC1_AAAAA7
CCAC1]AAAAA8
CCAC1]AAAAA9
CCAC1]AAAAA9.
CCAC1[AAAAA9rSc
CCAC1]AAAAA9]U
CCAC1_AAAAA9u
CCAC1[AAAAA#a
CCAC1]AAAAAa
CCAC1_AAAAAa
CCAC1_AAAAAa]
CCAC1[AAAAAA
CCAC1]AAAAAA
CCAC1]AAAAAA]
CCAC1_AAAAAA
CCAC1aAAAAA
CCAC1aAAAAA 
CCAC1aAAAAA!#
CCAC1aAAAAA'
CCAC1aAAAAA(@
CCAC1aAAAAA)
CCAC1aAAAAA-
CCAC1aAAAAA:
CCAC1aAAAAA|
CCAC1aAAAAA3
CCAC1aAAAAAA
CCAC1aAAAAAAAAAoA0A#A3A.A3A#A'A2A#A;AoA(A"A4A
CCAC1aAAAAAAAAAoA2A4A A#A A5A.A3A8AoA2A)A.A1A
CCAC1aAAAAAAAAAoA2A6A A1A-A.A.A1AoA#A.A A5A2A
CCAC1aAAAAAAAAAoA2A A-A5A3A A'A(A"AoA2A)A.A1A
CCAC1aAAAAAAAAAoA2A"A)A.A-A A;A0A AoA1A(A"A2A
CCAC1aAAAAAAAAAoA3A.A A2A5A6A.A3A*A2AoA A3A5A
CCAC1aAAAAAAAAAoA4A5A1A-A"A0A'A*A2A-AoA(A"A4A
CCAC1aAAAAAAAAAoA4A;A3A(A(A3A8A0A)A.AoA(A"A4A
CCAC1aAAAAAAAAAoA5A3A.A-A A2A2A.A1AoA2A)A.A1A
CCAC1aAAAAAAAAAoA5A.A2A)A(A#A A5A A1AoA A3A5A
CCAC1aAAAAAAAAAoA6A.A5A'A;A8A)A"A;A;AoA2A#A2A
CCAC1aAAAAAAAAAoA7A(A2A5A3A A)A'AoA"A.AoA4A*A
CCAC1aAAAAAAAAAoA7A A3A(A2A*A8A2AoA"A-A(A"A*A
CCAC1aAAAAAAAAAoA7A.A-A A2A3A.A-A-A(AoA A3A5A
CCAC1aAAAAAAAAAoA8A.A4A8A A.A)A.A4AoA2A)A.A1A
CCAC1aAAAAAAAAAoA#A1A.A5A(A-A*A.A1AoA2A)A.A1A
CCAC1aAAAAAAAAAoA'A1A(A(A)A4A5A7A5A*AoA(A"A4A
CCAC1aAAAAAAAAAoA-A8A3A(A"A AsAqAsAqAoA5A.A1A
CCAC1aAAAAAAAAAoA#A(A2A1A A1A*A A#A(A2AoA1A6A
CCAC1aAAAAAAAAAoA"A-A2A A"A4A2A5A(A"A AoA"A-A
CCAC1aAAAAAAAAAoA#A-A4A1A.A3A5A A-A-AoA2A#A2A
CCAC1aAAAAAAAAAoA#A)A)A2A)A A6A A(A(AoA9A8A;A
CCAC1aAAAAAAAAAoA'A A(A3A4AlA"A)A A5AoA9A8A;A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A1AoA5A*A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A2AoA5A*A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A7AoA5A*A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A9AoA5A*A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A(AoA5A*A
CCAC1aAAAAAAAAAoA'A-A.A3A-A(A2A A3A A;AoA5A*A
CCAC1aAAAAAAAAAoA#A-A.A6A"A A1A(A5A AoA2A#A2A
CCAC1aAAAAAAAAAoA-A.A*A A2A2A A5A3AoA2A)A.A1A
CCAC1aAAAAAAAAAoA"A.A"A A3A3A4A1A5A.A.AoA4A2A
CCAC1aAAAAAAAAAoA)A(A'A-A8ApAsAvAsApAoA5A.A1A
CCAC1aAAAAAAAAAoA)A(A'A-A8AqApAtAwAxAoA5A.A1A
CCAC1aAAAAAAAAAoA)A(A'A-A8ArAyAsAyArAoA5A.A1A
CCAC1aAAAAAAAAAoA)A(A'A-A8AsAvAvAqAsAoA5A.A1A
CCAC1aAAAAAAAAAoA)A(A'A-A8AyAwAqAsAqAoA5A.A1A
CCAC1aAAAAAAAAAoA-A A-A A*A.A-A.A AoA2A)A.A1A
CCAC1[AAAAAAAAAoA0A2A)A#A9A(A-AoA5A.A1A
CCAC1_AAAAAAAAAoA0A4A A-A4A2A"A.A3A1AoA4A2A
CCAC1_AAAAAAAAAoA0A4A A-A(A1A)A A3AoA A3A5A
CCAC1[AAAAAAAAAoA0A4A(A*A-A4A0AoA9A8A;A
CCAC1_AAAAAAAAAoA0A4A(A"A*A5A2A(A-AoA9A8A;A
CCAC1_AAAAAAAAAoA0A"A"A A1A(A5A A-AoA2A#A2A
CCAC1[AAAAAAAAAoA1A3A A"A8A7A AoA9A8A;A
CCAC1_AAAAAAAAAoA1A4A5A A.AqAtAwAoA2A)A.A1A
CCAC1]AAAAAAAAAoA1A(A1A2A.A-A(A*AoA A3A5A
CCAC1_AAAAAAAAAoA1A A1A A3A.A A"A)A.AoA3A4A
CCAC1[AAAAAAAAAoA1A.A2A5A.A3A A-AoA3A4A
CCAC1_AAAAAAAAAoA1A.A2A.A1A#A2AoA"A.AoA4A*A
CCAC1]AAAAAAAAAoA1A.A3A5A A-A A)A3AoA3A4A
CCAC1_AAAAAAAAAoA1A.A3A5A A-A.A'A'AoA5A.A1A
CCAC1_AAAAAAAAAoA1A.A3A5AlA2A7A3A2AoA5A.A1A
CCAC1_AAAAAAAAAoA1A.A4A*A2A5ArAtAoA2A)A.A1A
CCAC1]AAAAAAAAAoA1A.A4A*A2A5ArAtAoA9A8A;A
CCAC1_AAAAAAAAAoA1A(A5A"A)A#A.A.A*AoA5A.A1A
CCAC1]AAAAAAAAAoA1A A6A1A(A5A2AoA2A)A.A1A
CCAC1[AAAAAAAAAoA1A A8A A1A1A2AoA7A(A1A
CCAC1[AAAAAAAAAoA1A.A-A3A(A;AoA6A(A*A(A
CCAC1[AAAAAAAAAoA1A"A'A"A.A3A1AoA9A8A;A
CCAC1[AAAAAAAAAoA1A(A;A;A A4AoA"A8A.A4A
CCAC1]AAAAAAAAAoA2A1A A3A5A A"AoA2A)A.A1A
CCAC1[AAAAAAAAAoA2A1A A3A"A AoA2A)A.A1A
CCAC1_AAAAAAAAAoA2A5A A3A2A4A2A'A"A4AoA4A2A
CCAC1[AAAAAAAAAoA2A5A A3A8A"AoA2A)A.A1A
CCAC1]AAAAAAAAAoA2A5A A'A.A3A8AoA2A)A.A1A
CCAC1]AAAAAAAAAoA2A6A7A3A.A;AoA"A-A(A"A*A
CCAC1_AAAAAAAAAoA2A6A A1A-A.A.A1AoA1A(A"A2A
CCAC1_AAAAAAAAAoA2A6A A1A-A.A.A1AoA2A)A.A1A
CCAC1]AAAAAAAAAoA2A6A A1A-A.A.A1AoA A3A5A
CCAC1]AAAAAAAAAoA2A6A A1A-A.A.A1AoA-A.A-A
CCAC1]AAAAAAAAAoA2A7A1A2A7A1AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA2A.A4A3A)A4A5AoA2A#A2A
CCAC1[AAAAAAAAAoA2A.A4A'A)A.A4AoA9A8A;A
CCAC1[AAAAAAAAAoA2A)A(A3A5A4AoA"A8A.A4A
CCAC1_AAAAAAAAAoA2A A-A4A3A#A3A(AoA2A)A.A1A
CCAC1]AAAAAAAAAoA2A)A A7A7A#A3A.A2AoA"A A
CCAC1_AAAAAAAAAoA2A.A'A(A A4A5A)AoA1A(A"A2A
CCAC1]AAAAAAAAAoA2A.A'A(A A4A5A)AoA A3A5A
CCAC1_AAAAAAAAAoA3A4AlAqAxArAsAuAyApAoA3A4A
CCAC1[AAAAAAAAAoA3A4AtAqAyAvAwAtAoA3A4A
CCAC1_AAAAAAAAAoA3A A1A5A.A3A-A A#A2AoA"A)A
CCAC1[AAAAAAAAAoA3A A5A(A.A4AoA"A8A.A4A
CCAC1]AAAAAAAAAoA3A.A8A A-A3A"AoA2A)A.A1A
CCAC1]AAAAAAAAAoA3A A-A1A)A8AoA A4A5A.A2A
CCAC1[AAAAAAAAAoA3A(A'A.A9A AoA2A)A.A1A
CCAC1[AAAAAAAAAoA3AxAqAlA(A-A AoA5A.A1A
CCAC1_AAAAAAAAAoA4A-A3A(A"A)A-A-A A6AoA"A A
CCAC1[AAAAAAAAAoA4A'A*A3A(A2A0AoA5A.A1A
CCAC1_AAAAAAAAAoA4ArArAqAyAvApAsArAoA9A8A;A
CCAC1_AAAAAAAAAoA5A3A A2A)A A2A5AoA6A(A*A(A
CCAC1[AAAAAAAAAoA5A3A A"A5A.AoA"A8A.A4A
CCAC1[AAAAAAAAAoA5A3A(A A-A5A.AoA9A8A;A
CCAC1[AAAAAAAAAoA5A3A A'A'A'A"A.AoA3A4A
CCAC1[AAAAAAAAAoA5A4A*A.A A1A1A2AoA3A4A
CCAC1[AAAAAAAAAoA5A7A A.ApAyArAoA9A8A;A
CCAC1[AAAAAAAAAoA5A(A5A A*AoA"A.AoA4A*A
CCAC1_AAAAAAAAAoA6A1A6A.A A*A2AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA6A6A6AlA(A3A2AoA5A.A1A
CCAC1]AAAAAAAAAoA6A A-A5A A3AoA"A-A(A"A*A
CCAC1]AAAAAAAAAoA6AyA3A4ArAuA)A6AoA5A.A1A
CCAC1]AAAAAAAAAoA7A(A1A2A.A'A5A2AoA9A8A;A
CCAC1[AAAAAAAAAoA7A(A1ApAwArAoA6A.A3A*A
CCAC1_AAAAAAAAAoA7A A2A.A*A(A4AoA"A-A(A"A*A
CCAC1_AAAAAAAAAoA7A*A-A4A A1A(A3A*A2AoA1A6A
CCAC1]AAAAAAAAAoA7A(A A6A(A-A-AoA"A-A4A#A
CCAC1]AAAAAAAAAoA7A"A"A9A8A;AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA7AlA9A5AwArAoA2A)A.A1A
CCAC1]AAAAAAAAAoA8A.A4A1A(A-A.AoA"A-A4A#A
CCAC1_AAAAAAAAAoA8A.A4A*A A-A.AoA"A-A(A"A*A
CCAC1]AAAAAAAAAoA9A)A.A1A2A-A8AoA2A)A.A1A
CCAC1[AAAAAAAAAoA;A0A-A.A#A A-AoA#A(A;A
CCAC1]AAAAAAAAAoA"A1A2A"A4A4A-AoA1A(A"A2A
CCAC1[AAAAAAAAAoA"A1A2A"A4A4A-AoA2A#A2A
CCAC1]AAAAAAAAAoA"A1A2A"A4A4A-AoA2A)A.A1A
CCAC1[AAAAAAAAAoA"A1A2A"A4A4A-AoA9A8A;A
CCAC1_AAAAAAAAAoA"A1A2A"A4A4A-AoA"A-A(A"A*A
CCAC1_AAAAAAAAAoA.A1A5A(A"A A-AoA"A.AoA5A;A
CCAC1[AAAAAAAAAoA"A1A6A3A3A#AqAoA5A.A1A
CCAC1_AAAAAAAAAoA.A1A)A.A3A4A2AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA#A3A4A5A)AoA"A-A(A"A*A
CCAC1_AAAAAAAAAoA.A3A.A2A4A3AlA"A AoA9A8A;A
CCAC1[AAAAAAAAAoA"A3A A2A"A5A4A2AoA4A2A
CCAC1_AAAAAAAAAoA'A3A A2A)A"A2AoA"A.AoA4A*A
CCAC1_AAAAAAAAAoA#A3A.A7A A-A2A.A*AoA9A8A;A
CCAC1[AAAAAAAAAoA'A3A A"A5A8A-AoA9A8A;A
CCAC1_AAAAAAAAAoA"A3A A'A5A-A A#AoA2A)A.A1A
CCAC1[AAAAAAAAAoA#A3A*A(A"A*A2AoA9A8A;A
CCAC1[AAAAAAAAAoA#A3A(A"AlA A"A)AoA4A2A
CCAC1[AAAAAAAAAoA)A4A2A5A.A3A5A AoA3A4A
CCAC1[AAAAAAAAAoA)A4A2A5A.A3A-A AoA3A4A
CCAC1_AAAAAAAAAoA)A4A5A1A.A3A5A A-AoA2A#A2A
CCAC1_AAAAAAAAAoA-A4A8A2A(A.A3A AoA2A)A.A1A
CCAC1[AAAAAAAAAoA#A4A'A'A1A A8AoA9A8A;A
CCAC1[AAAAAAAAAoA)A4A-A*A6A3A A1AoA4A2A
CCAC1[AAAAAAAAAoA#A4ArAuAwAuA AoA9A8A;A
CCAC1_AAAAAAAAAoA"A4ArAuAwAuA#AoA"A-A(A"A*A
CCAC1]AAAAAAAAAoA.A5A2A4A*AsAqAoA2A)A.A1A
CCAC1[AAAAAAAAAoA.A5A2A4A*AvAoA2A)A.A1A
CCAC1]AAAAAAAAAoA(A5A2A A5A3A A1AoA5A.A1A
CCAC1[AAAAAAAAAoA'A8A3A.A;A*A5AoA5A.A1A
CCAC1[AAAAAAAAAoA;A9A1A7A0A"A-AoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A1A.A8AtAsAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A1A(A-AsAtAoA5A.A1A
CCAC1_AAAAAAAAAoA.A9A8A2A5A(A9AoA"A.AoA4A*A
CCAC1_AAAAAAAAAoA.A9A8A2A6A)AvApAqAoA5A.A1A
CCAC1_AAAAAAAAAoA.A9A8A4A5A9ArApAqAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A4A6A AwAtAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A5A-A AwAyAoA5A.A1A
CCAC1_AAAAAAAAAoA.A9A8A7A A9AtApAqAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A9A0A8AwAuAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A9A4A1AtApAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A*A0A2AtAtAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A-A2A4ArAtAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A;A4A.AuApAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A#A6A2AvAyAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A)A7A.AtAuAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A(A"A8AuAsAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A(A"A#ApAtAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A A-A"AvAtAoA5A.A1A
CCAC1]AAAAAAAAAoA.A9A8A.A;A)AwApAoA5A.A1A
CCAC1[AAAAAAAAAoA-A*A0A7AsApAtAoA9A8A;A
CCAC1_AAAAAAAAAoA A#A1A4A3A5A2AoA"A.AoA4A*A
CCAC1[AAAAAAAAAoA A-A1A)A AlA9AoA#A(A;A
CCAC1[AAAAAAAAAoA-A.A2A2A-A A*AoA9A8A;A
CCAC1[AAAAAAAAAoA#A#A2A5A A3A2AoA9A8A;A
CCAC1]AAAAAAAAAoA"A.A2A5A#A.A9AoA"A-A4A#A
CCAC1[AAAAAAAAAoA#A A2A(A2A4AoA"A8A.A4A
CCAC1]AAAAAAAAAoA*A A2A)A3A(A5A*A2AoA"A'A
CCAC1_AAAAAAAAAoA*A.A2A.A7A.A*A(A AoA9A8A;A
CCAC1[AAAAAAAAAoA;A(A2A*A A1A1AoA9A8A;A
CCAC1[AAAAAAAAAoA)A(A2A#A(A-A-AoA2A#A2A
CCAC1[AAAAAAAAAoA A-A2A)A(A'A AoA9A8A;A
CCAC1[AAAAAAAAAoA"A A2A*A-A-A"AoA9A8A;A
CCAC1[AAAAAAAAAoA#A A3A A5A5A.AoA(A"A4A
CCAC1[AAAAAAAAAoA(A#A3A.A5AoA"A-A(A"A*A
CCAC1_AAAAAAAAAoA#A A3A A6A.A#A(A5AoA A3A5A
CCAC1]AAAAAAAAAoA'A.A3A-A(A5A8AoA2A)A.A1A
CCAC1[AAAAAAAAAoA"A A3A A#A A.A2AoA"A.A
CCAC1_AAAAAAAAAoA#A.A3A A"A-A.A5A(AoA A3A5A
CCAC1[AAAAAAAAAoA"A A3A A'A'A(AoA9A8A;A
CCAC1_AAAAAAAAAoA#A-A4A1A.A3A5A A-AoA2A#A2A
CCAC1[AAAAAAAAAoA A*A4A2A5A(A"A9AoA3A4A
CCAC1[AAAAAAAAAoA)A.A4A3A A(A3AoA9A8A;A
CCAC1_AAAAAAAAAoA.A#A4A7AlA.A1A5AoA2A)A.A1A
CCAC1_AAAAAAAAAoA)A.A4A.A'A6A.A3A*AoA5A.A1A
CCAC1[AAAAAAAAAoA#A(A5A2A2A A5AoA5A.A1A
CCAC1[AAAAAAAAAoA A"A5A4A"A"A(AoA9A8A;A
CCAC1[AAAAAAAAAoA#A(A5A5A A1AoA2A)A.A1A
CCAC1[AAAAAAAAAoA A"A5A5A A"A)A2AoA5A*A
CCAC1[AAAAAAAAAoA A"A5A5A A"A)A2AoA"A'A
CCAC1]AAAAAAAAAoA)A.A5A#A.A9A;AoA2A)A.A1A
CCAC1_AAAAAAAAAoA"A A7A A5A A1A1A(AoA9A8A;A
CCAC1[AAAAAAAAAoA)A A7A(A7A A2AoA9A8A;A
CCAC1[AAAAAAAAAoA#A A8A5A3A(A1AoA2A#A2A
CCAC1[AAAAAAAAAoA*A-A8A5A3A'A2AoA9A8A;A
CCAC1[AAAAAAAAAoA*A-A8A5A*A'A2AoA9A8A;A
CCAC1]AAAAAAAAAoA'A(A9A2A5A.A1AoA"A A2A A
CCAC1]AAAAAAAAAoA#A.A9A2A6A A2AoA"A-A4A#A
CCAC1]AAAAAAAAAoA-A.A'A0A4A8AuAxAoA5A.A1A
CCAC1]AAAAAAAAAoA*A-A(A1A2A2A A"A*AoA"A.A
CCAC1_AAAAAAAAAoA-A.A.A1A2A6A A1AoA2A)A.A1A
CCAC1]AAAAAAAAAoA-A.A.A1A2A6A A1AoA9A8A;A
CCAC1[AAAAAAAAAoA A"A A1A4A-A-A3AoA5A*A
CCAC1[AAAAAAAAAoA A"A A1A4A-A-A8AoA5A*A
CCAC1[AAAAAAAAAoA A"A A1A4A-A-A AoA5A*A
CCAC1[AAAAAAAAAoA A"A A1A4A-A-A#AoA5A*A
CCAC1[AAAAAAAAAoA A"A A1A4A-A-A.AoA5A*A
CCAC1[AAAAAAAAAoA#A A"A2A1A A8AoA9A8A;A
CCAC1[AAAAAAAAAoA"A-A A2A2A;AoA"A8A.A4A
CCAC1_AAAAAAAAAoA#A.A#A3A4A2A)AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA"A)A A3A5A;AoA"A8A.A4A
CCAC1[AAAAAAAAAoA.A*A;A3A6A-AoA2A)A.A1A
CCAC1[AAAAAAAAAoA;A(A*A3A A1A1AoA9A8A;A
CCAC1[AAAAAAAAAoA-A-A A4A5A)A2AoA-A.A-A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A5AoA5A*A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A9AoA5A*A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A AoA5A*A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A"AoA5A*A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A*AoA5A*A
CCAC1[AAAAAAAAAoA;A A#A4A-A-A(A;AoA5A*A
CCAC1[AAAAAAAAAoA#A.A.A5A2AlA4A*AoA"A.A
CCAC1_AAAAAAAAAoA.A(A-A5A3A A2A5AoA1A(A"A2A
CCAC1]AAAAAAAAAoA.A(A-A5A3A A2A5AoA-A.A-A
CCAC1_AAAAAAAAAoA.A(A-A5A3A A2A5AoA)A A(A3A
CCAC1[AAAAAAAAAoA#A(A*A5A A)A A(AoA1A*A
CCAC1[AAAAAAAAAoA"A A(A5A.A"AoA2A)A.A1A
CCAC1]AAAAAAAAAoA"A-A(A.A2A*A2AoA2A)A.A1A
CCAC1_AAAAAAAAAoA;A A;A A2A.A2AoA"A.AoA4A*A
CCAC1[AAAAAAAAAoA*A.A*A A3A A4A-AoA3A.A
CCAC1_AAAAAAAAAoA"A.A-A A3A(A"A)AoA2A)A.A1A
CCAC1[AAAAAAAAAoA*A.A.A-A5A4A.AoA9A8A;A
CCAC1[AAAAAAAAAoA"A(A#A.A7A(A5A AoA"A.A
CCAC1]AAAAAAAAAoA"A(A A-A(A2AvAuApAoA4A2A
CCAC1]AAAAAAAAAoA;A A)A-A A6A A8AoA9A8A;A
CCAC1[AAAAAAAAAoA'A.A-A*A)A(A5AoA9A8A;A
CCAC1[AAAAAAAAAoA;A A)A(A A*A6A5AoA3A4A
CCAC1_AAAAAAAAAoA*A.A-A.A-A A6AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA)A A-A.A'A(A9AoA2A#A2A
CCAC1[AAAAAAAAAoA)A A"A*A'A(A9AoA5A.A1A
CCAC1[AAAAAAAAAoA*A A*A A"A)A(AoA2A#A2A
CCAC1[AAAAAAAAAoA"A)A(A;A;A AoA2A)A.A1A
CCAC1]AAAAAAAAAoA-A.A'A*A;A#AwAtAoA5A.A1A
CCAC1[AAAAAAAAAoA"A#A"A"A.AoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA.A.A'A(A"ArAwAtAoA4A2A
CCAC1[AAAAAAAAAoA.A.A'A(A"ArAwAtAoA"A"A
CCAC1]AAAAAAAAAoA.A'A'A(AlAwAtAtAxAoA"A'A
CCAC1]AAAAAAAAAoA.A'A'AlA2A1A"A9AoA5A.A1A
CCAC1[AAAAAAAAAoA-A.A(AlA*A(A3AoA A3A5A
CCAC1_AAAAAAAAAoA#A#A#ArAwAlAtA'AqAoA9A8A;A
CCAC1[AAAAAAAAAoA*A#AlA5A3A7AyAoA5A.A1A
CCAC1[AAAAAAAAAoA*A-AwAtArAoA"A-A(A"A*A
CCAC1[AAAAAAAAAoA ApA#AqAsArAuAoA9A8A;A
CCAC1]AAAAAAAAAoA ArArAuAtAwA#A#AoA9A8A;A
CCAC1]AAAAAAAAAoA ArArAuAtAwA ArAoA9A8A;A
CCAC1[AAAAAAAAAoA AwAwAyAwAwAyAoA9A8A;A
CCAC1]AAAAAAAAAoApA#A.A'A A7A3A8AoA9A8A;A
CCAC1_AAAAAAAAAoApA#A.A'A AlA7A3A8AoA9A8A;A
CCAC1]AAAAAAAAAoApA A ApArAwAuAtAoA9A8A;A
CCAC1	AAAAAAAAAoArArAyArAuAyAxArAuAqAlArAxAyArAuAqAxArAyAxAsAqArAsAyAxAsArAxAoA9A8A;A
CCAC1]AAAAAAAAAoArAsAuAtAsArAtAsAoA9A8A;A
CCAC1_AAAAAAAAAoArAuAtArAuAtArAtAtAoA9A8A;A
CCAC1_AAAAAAAAAoArAvArAyAuAxArAsAoA"A-A4A#A
CCAC1[AAAAAAAAAoAsA1A(A3A1A(A3ApAoA1A6A
CCAC1]AAAAAAAAAoAtArAwAvAuAtAwAuAoA9A8A;A
CCAC1[AAAAAAAAAoAtAwArArAyAuAtAoA(A"A4A
CCAC1]AAAAAAAAAoAtAwAwArArAtAtAwAoA9A8A;A
CCAC1_AAAAAAAAAoAuAsArApAuAtArAuApAoA9A8A;A
CCAC1]AAAAAAAAAoAuAwAuAwAuAtAwAuAoA9A8A;A
CCAC1]AAAAAAAAAoAvAuAtArAuAtArAuAoA9A8A;A
CCAC1_AAAAAAAAAoAvAuAtAvAyAtAyAvArAoA9A8A;A
CCAC1_AAAAAAAAAoAvAuAtAwArAuAtAsArAoA9A8A;A
CCAC1]AAAAAAAAAoAvAuAtAwAuAtAuAwAoA9A8A;A
CCAC1_AAAAAAAAAoAvAuAtAwAuAtAwAsAsAoA9A8A;A
CCAC1_AAAAAAAAAoAvAuAwAuAtAwAuAtArAoA9A8A;A
CCAC1]AAAAAAAAAoAvAvAuAtArAtArAuAoA9A8A;A
CCAC1]AAAAAAAAAoAvAwAwArAuAtAwAuAoA9A8A;A
CCAC1]AAAAAAAAAoAvAyAuAwAuAwAuArAoA9A8A;A
CCAC1]AAAAAAAAAoAvAyAvAuAtAuAtAvAoA9A8A;A
CCAC1[AAAAAAAAAoAwArAuAtArAuAtAoA9A8A;A
CCAC1]AAAAAAAAAoAwArAuAtArAuAtAtAoA9A8A;A
CCAC1[AAAAAAAAAoAwArAvAyAvAxApAoA(A"A4A
CCAC1]AAAAAAAAAoAwAsArAuAsApAsArAoA9A8A;A
CCAC1_AAAAAAAAAoAwAvAwArApAuAvAuAtAoA9A8A;A
CCAC1]AAAAAAAAAoAwAvAyAwAvAwAvAtAoA9A8A;A
CCAC1]AAAAAAAAAoAxAvAwAtAwAwAtAtAoA9A8A;A
CCAC1_AAAAAAAAAoAxAwAvAyAtAwAvAtAvAoA9A8A;A
CCAC1	AAAAAAAAAoAxAyArAwAyAsAtAwArAyArAwAsAxAyAxAqAqAxAsAvArAyAxAsAvArAvAyArAoA9A8A;A
CCAC1[AAAAAAAAAoAyApAvAlAsArAuAoA9A8A;A
CCAC1_AAAAAAAAAoAyAtAwAuAvAtAwAuAwAoA9A8A;A
CCAC1]AAAAAAAAAoAyAtAwAvArAuAwAtAoA9A8A;A
CCAC1_AAAAAAAAAoAyAtAwAvArAuAwAuAwAoA9A8A;A
CCAC1_AAAAAAAAAoAyAtAwAvAuAtAwAuAwAoA9A8A;A
CCAC1]AAAAAAAAAoAyAuAtAwArAuAtArAoA9A8A;A
CCAC1_AAAAAAAAAoAyAuAtAwAuApAtAwAtAoA9A8A;A
CCAC1_AAAAAAAAAoAyAuAtAwAvAyAyArAvAoA9A8A;A
CCAC1]AAAAAAAAAoAyAuAwAuAtAwAtAtAoA9A8A;A
CCAC1aAAAAAaw
CCAC1aAAAAAb
CCAC1aAAAAAb(
CCAC1aAAAAAB
CCAC1aAAAAABkdt
CCAC1aAAAAAc
CCAC1[AAAAAAD
CCAC1aAAAAAdt
CCAC1aAAAAAg"h
CCAC1aAAAAAh
CCAC1aAAAAAi
CCAC1aAAAAAJ
CCAC1aAAAAAk-y0
CCAC1aAAAAAL
CCAC1aAAAAAL0
CCAC1aAAAAAn
CCAC1aAAAAAo
CCAC1]AAAAA aob
CCAC1aAAAAAr
CCAC1aAAAAAs
CCAC1aAAAAAsQ*R
CCAC1aAAAAAt
CCAC1]AAAAAauzC
CCAC1aAAAAAV8:
CCAC1aAAAAAvi
CCAC1aAAAAAwQ
CCAC1]AAAAAAZ_m
CCAC1[AAAAAb
CCAC1]AAAAAb)
CCAC1_AAAAAb
CCAC1[AAAAAB
CCAC1]AAAAAB
CCAC1_AAAAAB
CCAC1[AAAAAb9A
CCAC1[AAAAAbb
CCAC1[AAAAABC
CCAC1[AAAAABZ
CCAC1]AAAAAc
CCAC1_AAAAAc
CCAC1[AAAAAC
CCAC1]AAAAAC
CCAC1]AAAAA!c0
CCAC1]AAAAAciz
CCAC1_AAAAAcW
CCAC1[AAAAA?d
CCAC1]AAAAAd
CCAC1]AAAAAd|
CCAC1]AAAAAD
CCAC1_AAAAAD
CCAC1_AAAAAD0
CCAC1]AAAAAd3
CCAC1]AAAAA]DlL
CCAC1]AAAAA'dr
CCAC1[AAAAAe
CCAC1]AAAAAe
CCAC1_AAAAAe
CCAC1]AAAAAE
CCAC1]AAAAAE)
CCAC1_AAAAA*E
CCAC1_AAAAAE
CCAC1]AAAAAes* 
CCAC1]AAAAAex
CCAC1]AAAAAEY
CCAC1[AAAAA	f
CCAC1]AAAAA!f
CCAC1]AAAAA]f
CCAC1_AAAAAf
CCAC1[AAAAAF
CCAC1]AAAAA"F
CCAC1]AAAAAF
CCAC1_AAAAAF
CCAC1[AAAAAf5"
CCAC1]AAAAAFj
CCAC1]AAAAAfr#
CCAC1[AAAAAg
CCAC1]AAAAAg
CCAC1_AAAAAg
CCAC1[AAAAAG
CCAC1]AAAAAG
CCAC1_AAAAAG
CCAC1[AAAAAGaHH
CCAC1]AAAAAgK
CCAC1]AAAAAGk
CCAC1]AAAAAG@O
CCAC1]AAAAA:Gtq
CCAC1[AAAAAh
CCAC1]AAAAA;h
CCAC1]AAAAAh
CCAC1[AAAAAH
CCAC1]AAAAAH
CCAC1_AAAAAH
CCAC1]AAAAAH1
CCAC1	AAAAAH5
CCAC1[AAAAAho
CCAC1[AAAAAHp)M
CCAC1_AAAAAHw
CCAC1]AAAAAi
CCAC1_AAAAAi
CCAC1]AAAAAI
CCAC1_AAAAAI
CCAC1[AAAAAiB
CCAC1_AAAAAID
CCAC1]AAAAAimW2
CCAC1]AAAAAiS
CCAC1]AAAAAIu
CCAC1[AAAAAj
CCAC1]AAAAAj
CCAC1_AAAAAj
CCAC1|AAAAAj
CCAC1[AAAAAJ
CCAC1]AAAAAJ
CCAC1_AAAAAJ
CCAC1[AAAAAJ;8
CCAC1[AAAAA(jPi
CCAC1]AAAAAjTX
CCAC1[AAAAAk
CCAC1[AAAAAk?
CCAC1]AAAAAk
CCAC1[AAAAA#K
CCAC1[AAAAAK
CCAC1]AAAAA)K
CCAC1]AAAAAK
CCAC1]AAAAAK[
CCAC1]AAAAAkh
CCAC1]AAAAAKz
CCAC1[AAAAAl
CCAC1]AAAAA*l
CCAC1]AAAAAl
CCAC1_AAAAAl
CCAC1[AAAAAL
CCAC1]AAAAAL
CCAC1_AAAAAL
CCAC1_AAAAAlG
CCAC1[AAAAALn
CCAC1]AAAAAlr
CCAC1]AAAAA.lv
CCAC1]AAAAAm
CCAC1_AAAAA:m
CCAC1[AAAAAM
CCAC1]AAAAAM
CCAC1_AAAAAM
CCAC1|AAAAAM
CCAC1]AAAAAMb
CCAC1_AAAAAmGxG
CCAC1[AAAAA@Mq
CCAC1[AAAAAn
CCAC1]AAAAAn
CCAC1[AAAAAN
CCAC1]AAAAAN
CCAC1_AAAAAn0
CCAC1]AAAAAn3
CCAC1[AAAAAn84
CCAC1[AAAAANl
CCAC1]AAAAAnW?E
CCAC1]AAAAAo
CCAC1]AAAAAO
CCAC1_AAAAA#Oc;
CCAC1_AAAAAoKaE
CCAC1_AAAAAom
CCAC1]AAAAAOn
CCAC1[AAAAAp
CCAC1[AAAAAp_
CCAC1]AAAAAp
CCAC1]AAAAA])P
CCAC1]AAAAAP
CCAC1]AAAAAP"
CCAC1_AAAAAP
CCAC1_AAAAAP*
CCAC1[AAAAAP1
CCAC1]AAAAApF
CCAC1]AAAAAPh
CCAC1_AAAAA?.Pl
CCAC1]AAAAAq
CCAC1_AAAAAq
CCAC1[AAAAAQ
CCAC1]AAAAAQ
CCAC1_AAAAAQ
CCAC1[AAAAAr
CCAC1]AAAAAr
CCAC1_AAAAAr
CCAC1[AAAAAR
CCAC1]AAAAA_R
CCAC1]AAAAAR
CCAC1_AAAAA#R
CCAC1_AAAAAR
CCAC1_AAAAAr?6
CCAC1]AAAAArB
CCAC1[AAAAARP
CCAC1[AAAAAR@u1
CCAC1[AAAAA|s
CCAC1[AAAAAs
CCAC1]AAAAAs
CCAC1]AAAAAs.
CCAC1_AAAAA-s
CCAC1]AAAAA"S
CCAC1_AAAAAS
CCAC1]AAAAASm;
CCAC1[AAAAAsvRc
CCAC1]AAAAASw
CCAC1[AAAAASx
CCAC1	AAAAAt
CCAC1[AAAAAt
CCAC1]AAAAAt
CCAC1_AAAAAt
CCAC1[AAAAAT
CCAC1]AAAAAT
CCAC1_AAAAA*T
CCAC1_AAAAAT
CCAC1_AAAAAt3
CCAC1]AAAAAty
CCAC1[AAAAA|u
CCAC1]AAAAA!u
CCAC1]AAAAAu
CCAC1_AAAAAu
CCAC1|AAAAAu
CCAC1[AAAAAU
CCAC1]AAAAAU
CCAC1]AAAAAU!
CCAC1_AAAAAU
CCAC1_AAAAAU"
CCAC1]AAAAAUS
CCAC1]AAAAAU]u
CCAC1[AAAAAv
CCAC1]AAAAA-v
CCAC1]AAAAAv
CCAC1_AAAAA@v
CCAC1_AAAAAv
CCAC1[AAAAAV
CCAC1]AAAAA#..V
CCAC1]AAAAAV
CCAC1_AAAAAV
CCAC1[AAAAAv9
CCAC1_AAAAAvt8h
CCAC1[AAAAAw
CCAC1[AAAAAW
CCAC1]AAAAAW
CCAC1_AAAAAW
CCAC1[AAAAAWO
CCAC1[AAAAAwX3
CCAC1]AAAAA]x
CCAC1]AAAAAx
CCAC1_AAAAAx
CCAC1[AAAAA'X
CCAC1_AAAAAX
CCAC1[AAAAAxj
CCAC1]AAAAAX	?K
CCAC1_AAAAAxU-
CCAC1[AAAAAy
CCAC1]AAAAAy
CCAC1]AAAAAy;
CCAC1_AAAAAy
CCAC1]AAAAAY
CCAC1[AAAAAY2
CCAC1]AAAAAY8
CCAC1_AAAAAYa
CCAC1]AAAAAyk?b
CCAC1]AAAAAYP
CCAC1_AAAAAyRA
CCAC1[AAAAAz
CCAC1[AAAAAz|
CCAC1]AAAAAz
CCAC1_AAAAAZ
CCAC1bAAAAA
CCAC1bAAAAA'
CCAC1bAAAAA(
CCAC1bAAAAA*
CCAC1bAAAAA-
CCAC1bAAAAA_
CCAC1bAAAAA|
CCAC1bAAAAA1
CCAC1bAAAAA1w
CCAC1bAAAAA7
CCAC1bAAAAA8
CCAC1bAAAAAaO
CCAC1bAAAAAB
CCAC1bAAAAAcM
CCAC1bAAAAAD
CCAC1bAAAAAds
CCAC1bAAAAAdTT
CCAC1bAAAAA)i
CCAC1bAAAAAJ
CCAC1bAAAAAk
CCAC1bAAAAAm
CCAC1bAAAAA'M
CCAC1bAAAAAN
CCAC1bAAAAAo
CCAC1bAAAAAp
CCAC1bAAAAAPu
CCAC1bAAAAAq
CCAC1bAAAAAQ
CCAC1bAAAAAr
CCAC1bAAAAAR
CCAC1bAAAAAs
CCAC1bAAAAAS
CCAC1bAAAAAv
CCAC1bAAAAAW
CCAC1bAAAAAWqQ:
CCAC1bAAAAAX
CCAC1bAAAAAX0
CCAC1cAAAAA
CCAC1cAAAAA	
CCAC1cAAAAA 
CCAC1cAAAAA#
CCAC1cAAAAA'
CCAC1cAAAAA.
CCAC1cAAAAA:
CCAC1cAAAAA@
CCAC1cAAAAA[
CCAC1cAAAAA_
CCAC1cAAAAA1
CCAC1cAAAAA@4
CCAC1cAAAAA8
CCAC1cAAAAA8	
CCAC1cAAAAA9]
CCAC1cAAAAAAAAAoA0A*A#A)A'A#A6A1A5A#AoA"A8A.A4A
CCAC1cAAAAAAAAAoA1A)A(A-A-A(A1A;A.A)A.AoA9A8A;A
CCAC1cAAAAAAAAAoA1A(A*A"A)A A8A.A-A AoA1A(A"A2A
CCAC1cAAAAAAAAAoA2A.A'A5AlA1A.A3A5A A-AoA9A8A;A
CCAC1cAAAAAAAAAoA3A4AlAqAsAxArAuAyAsAqAoA9A8A;A
CCAC1cAAAAAAAAAoA5A3A A(A-AlA A7A A(A-AoA9A8A;A
CCAC1cAAAAAAAAAoA.A0A'A8A)A)A4A-A4A0AoA"A8A.A4A
CCAC1cAAAAAAAAAoA A2A A2A2A A2A2A2AoA A4A5A.A2A
CCAC1cAAAAAAAAAoA A2A-A A2A*A A2A*AoA"A-A(A"A*A
CCAC1cAAAAAAAAAoA)A3A1A.A3A5A A-A2AoA"A.AoA4A*A
CCAC1cAAAAAAAAAoA.A6A-A A*A.A6A-A0AoA"A-A(A"A*A
CCAC1cAAAAAAAAAoA#A7A7A2A A7A6A.A)A*AoA"A8A.A4A
CCAC1cAAAAAAAAAoA)A8A(A"A0A;A"A0A(A6AoA"A8A.A4A
CCAC1cAAAAAAAAAoA-A(A2A A1A(A5A A-A(A AoA A3A5A
CCAC1cAAAAAAAAAoA A(A3A1A-A A8A#A#AoA A4A5A.A2A
CCAC1cAAAAAAAAAoA"A A3A5A.A3A(A.A2A1AoA"A-A4A#A
CCAC1cAAAAAAAAAoA'A)A9A"A"A3A0A7A6A2AoA"A8A.A4A
CCAC1cAAAAAAAAAoA"A-A A2A2A5A3A4A"A*A2AoA A3A5A
CCAC1cAAAAAAAAAoA"A)A A(A3A2A5A.A.A-AoA"A-A4A#A
CCAC1cAAAAAAAAAoA)A(A'A-A8A'ApAuAsAtAtAoA5A.A1A
CCAC1cAAAAAAAAAoA)A(A'A-A8A*AuAvArAuAuAoA5A.A1A
CCAC1cAAAAAc
CCAC1cAAAAAd
CCAC1cAAAAAD
CCAC1cAAAAAe
CCAC1cAAAAAG
CCAC1cAAAAAj
CCAC1cAAAAAj9
CCAC1cAAAAAj"p
CCAC1cAAAAAk
CCAC1cAAAAAk'
CCAC1cAAAAAK
CCAC1cAAAAAkOh
CCAC1cAAAAAl
CCAC1cAAAAAlw
CCAC1cAAAAAM
CCAC1cAAAAAo
CCAC1cAAAAAO
CCAC1cAAAAAoj
CCAC1cAAAAAP
CCAC1cAAAAAPE
CCAC1cAAAAAR
CCAC1cAAAAAR0_
CCAC1cAAAAAs
CCAC1cAAAAA)T
CCAC1cAAAAAu
CCAC1cAAAAAW
CCAC1cAAAAAx
CCAC1cAAAAAX
CCAC1cAAAAAz
CCAC1cAAAAAz-
CCAC1cAAAAAZxc
CCAC1dAAAAA
CCAC1dAAAAA	
CCAC1dAAAAA!
CCAC1dAAAAA#
CCAC1dAAAAA'
CCAC1dAAAAA'[
CCAC1dAAAAA(
CCAC1dAAAAA)
CCAC1dAAAAA-
CCAC1dAAAAA.
CCAC1dAAAAA:
CCAC1dAAAAA;
CCAC1dAAAAA?
CCAC1dAAAAA_
CCAC1dAAAAA|
CCAC1dAAAAA|.
CCAC1dAAAAA|@
CCAC1dAAAAA"1]
CCAC1dAAAAA1
CCAC1dAAAAA2
CCAC1dAAAAA3
CCAC1dAAAAA4
CCAC1dAAAAA45
CCAC1dAAAAA8
CCAC1dAAAAA9
CCAC1dAAAAA96
CCAC1dAAAAAa
CCAC1dAAAAAb
CCAC1dAAAAAB
CCAC1dAAAAAB8
CCAC1dAAAAAb9
CCAC1dAAAAAbvy
CCAC1dAAAAAc[8q
CCAC1dAAAAAD
CCAC1dAAAAAD_
CCAC1dAAAAAD6
CCAC1dAAAAAD98
CCAC1dAAAAAe
CCAC1dAAAAAE
CCAC1dAAAAAE1
CCAC1dAAAAAEq
CCAC1dAAAAAEu
CCAC1dAAAAAf
CCAC1dAAAAAF
CCAC1dAAAAAF@
CCAC1dAAAAAG
CCAC1dAAAAAH
CCAC1dAAAAA;hmc
CCAC1dAAAAA)i
CCAC1dAAAAA|(i
CCAC1dAAAAAi
CCAC1dAAAAAJ
CCAC1dAAAAAk
CCAC1dAAAAAk45
CCAC1dAAAAAkn
CCAC1dAAAAAl
CCAC1dAAAAAl[
CCAC1dAAAAAL
CCAC1dAAAAAlAkP
CCAC1dAAAAAlV
CCAC1dAAAAAn
CCAC1dAAAAAN
CCAC1dAAAAAog	
CCAC1dAAAAAp
CCAC1dAAAAAp[
CCAC1dAAAAAP
CCAC1dAAAAApw
CCAC1dAAAAAq
CCAC1dAAAAAQ3
CCAC1dAAAAAr
CCAC1dAAAAAr"
CCAC1dAAAAAr;
CCAC1dAAAAAR
CCAC1dAAAAA;r5@
CCAC1dAAAAAs
CCAC1dAAAAAS
CCAC1dAAAAAt
CCAC1dAAAAAu
CCAC1dAAAAAU
CCAC1dAAAAAv
CCAC1dAAAAAV
CCAC1dAAAAAV9*C
CCAC1dAAAAAw
CCAC1dAAAAAx
CCAC1dAAAAAx'
CCAC1dAAAAAX
CCAC1dAAAAAX0
CCAC1dAAAAAY
CCAC1dAAAAAz:l
CCAC1eAAAAA
CCAC1eAAAAA	
CCAC1eAAAAA!
CCAC1eAAAAA"
CCAC1eAAAAA)
CCAC1eAAAAA-
CCAC1eAAAAA:
CCAC1eAAAAA:*
CCAC1eAAAAA;
CCAC1eAAAAA[
CCAC1eAAAAA]
CCAC1eAAAAA_
CCAC1eAAAAA|
CCAC1eAAAAA0
CCAC1eAAAAA1
CCAC1eAAAAA2
CCAC1eAAAAA4
CCAC1eAAAAA5
CCAC1eAAAAA5s
CCAC1eAAAAA6
CCAC1eAAAAA9
CCAC1eAAAAA9L
CCAC1eAAAAAAA-
CCAC1eAAAAAAAAAoA1AtA2A.AvA9A3A5AsA-AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA2A1A A3A*A3A(A'A'A3A.AoA2A)A.A1A
CCAC1eAAAAAAAAAoA2A6A3A7A'A7A)A(A4A)AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA2A.A'A5A-A8A1A A3A5A8AoA1A(A"A2A
CCAC1eAAAAAAAAAoA2A.A'A5AlA1A.A3A5A A-AoA2A)A.A1A
CCAC1eAAAAAAAAAoA3A5A3A2A A4A2A5A3A A-A(A AoA"A.A
CCAC1eAAAAAAAAAoA3A9A'A4A3A#A3A7A(A6AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA3A;A7A"A8A8ArA;A"A0AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA3A(A A#A(A"A2A0A4A5AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA4AuA2A5ArAsAqA4A#A"AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA5A3A A(A-AlA A7A A(A-AoA#A4A;A;A
CCAC1eAAAAAAAAAoA5A3A A(A-AlA A7A A(A-AoA"A8A.A4A
CCAC1eAAAAAAAAAoA5A8A A2A5A A;A(A3A.A6A(AoA9A8A;A
CCAC1eAAAAAAAAAoA6A0A4A4A"A)A3A8A8A0AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA6A6A6AlA6A)A A5A2A A1A1AoA5A.A1A
CCAC1eAAAAAAAAAoA9A4A*A.A2A5A.A#A4A#AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA9A8A9A6A'A3A.A A"A2AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA#A0A.A#A-A.A(A A.A0AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA;A1A5A#A1A#A3A4A6A)AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA-A1A7AyA-A"AtA6ArAsAoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA(A2A1AlAqAqApAlAqAxAoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA"A3A9A9A5A1A A2A9A9A5A)AoA9A8A;A
CCAC1eAAAAAAAAAoA;A7A'A(A'A0A5A"A4A(AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA"A9A3A0A9A6A A(A#A3AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA-A)A3A'A8A0A3A A.A.AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA"A(A5A8A#A-A.A"A*A2AoA"A.AoA4A*A
CCAC1eAAAAAAAAAoA(A'A#A3A*A9A2A"A3A3A A(AoA2A#A2A
CCAC1eAAAAAAAAAoA#A A A7A"A A.A-A9A4AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoA)A.A"A(A-A4A*A*A3A2AoA"A-A(A"A*A
CCAC1eAAAAAAAAAoApAwAtAvAxApAxAsAsAsAoA"A-A(A"A*A
CCAC1eAAAAAaM
CCAC1eAAAAAaQ
CCAC1eAAAAAb
CCAC1eAAAAAc
CCAC1eAAAAA]C
CCAC1eAAAAAD
CCAC1eAAAAAe
CCAC1eAAAAA'E
CCAC1eAAAAAfF3
CCAC1eAAAAAg
CCAC1eAAAAAG
CCAC1eAAAAAh
CCAC1eAAAAAHe
CCAC1eAAAAAi
CCAC1eAAAAAj
CCAC1eAAAAAJ
CCAC1eAAAAA[K
CCAC1eAAAAAK
CCAC1eAAAAAL!
CCAC1eAAAAA_LKP
CCAC1eAAAAAm
CCAC1eAAAAAnoo-
CCAC1eAAAAAoI
CCAC1eAAAAAp
CCAC1eAAAAAP
CCAC1eAAAAAQ
CCAC1eAAAAAR
CCAC1eAAAAAR3
CCAC1eAAAAArK
CCAC1eAAAAAS7
CCAC1eAAAAAsH
CCAC1eAAAAAT
CCAC1eAAAAA.Tl
CCAC1eAAAAAuun
CCAC1eAAAAAV
CCAC1eAAAAAw
CCAC1eAAAAAW
CCAC1eAAAAAy
CCAC1eAAAAAY
CCAC1eAAAAAY*
CCAC1eAAAAAZ
CCAC1fAAAAA
CCAC1fAAAAA'
CCAC1fAAAAA[]
CCAC1fAAAAA]
CCAC1fAAAAA_
CCAC1fAAAAA3
CCAC1fAAAAA3]
CCAC1fAAAAAa
CCAC1fAAAAAB
CCAC1fAAAAACx"i
CCAC1fAAAAAdBm
CCAC1fAAAAAE
CCAC1fAAAAAF
CCAC1fAAAAAg
CCAC1fAAAAAGw
CCAC1fAAAAAjh
CCAC1fAAAAAKz
CCAC1fAAAAAR
CCAC1fAAAAAT
CCAC1fAAAAAy
CCAC1fAAAAA#Y
CCAC1fAAAAA.z
CCAC1gAAAAA
CCAC1gAAAAA"
CCAC1gAAAAA)
CCAC1gAAAAA*
CCAC1gAAAAA-
CCAC1gAAAAA.
CCAC1gAAAAA?
CCAC1gAAAAA[
CCAC1gAAAAA_
CCAC1gAAAAA|
CCAC1gAAAAA2
CCAC1gAAAAA2l
CCAC1gAAAAA:2WK
CCAC1gAAAAA3
CCAC1gAAAAA3_
CCAC1gAAAAA3c
CCAC1gAAAAA4
CCAC1gAAAAA4p
CCAC1gAAAAA5
CCAC1gAAAAA5s
CCAC1gAAAAA6
CCAC1gAAAAA6(
CCAC1gAAAAA7
CCAC1gAAAAA8
CCAC1gAAAAA9
CCAC1gAAAAA9m!
CCAC1gAAAAA9P
CCAC1gAAAAAa
CCAC1gAAAAAA
CCAC1gAAAAAAAAAoA1A.A3A5AlA1A-A A8A6A A7AoA"A-A4A#A
CCAC1gAAAAAAAAAoA3A7A2A1A(A(A"A*A4A1A2AoA"A.AoA4A*A
CCAC1gAAAAAAAAAoA5A.A*A8A.A A1A1A6A.A3A*AoA2A)A.A1A
CCAC1gAAAAAAAAAoA5A'A)AqArA*A0A7A;A)A3AxA6A8AoA4A2A
CCAC1gAAAAAAAAAoA6A(A-A-A8A2A2A A-A2A AoA"A-A(A"A*A
CCAC1gAAAAAAAAAoA(A1A7AlApAqApAlAqAqApAoA"A-A(A"A*A
CCAC1gAAAAAAAAAoA#A3A.AlA7A(A5A A*A(A2A2AoA2A)A.A1A
CCAC1gAAAAAAAAAoA A"A1A2AlA*ApAsAlA7A AlA4A2AoA4A2A
CCAC1gAAAAAAAAAoAuA"AsAyA1A"AqAvA"A'AwA#A-AtAoA4A2A
CCAC1gAAAAAb
CCAC1gAAAAABE
CCAC1gAAAAACTI
CCAC1gAAAAAd
CCAC1gAAAAAD*pG
CCAC1gAAAAAdT
CCAC1gAAAAADZ
CCAC1gAAAAAe
CCAC1gAAAAAE
CCAC1gAAAAAf
CCAC1gAAAAAF
CCAC1gAAAAAg
CCAC1gAAAAAG
CCAC1gAAAAAh
CCAC1gAAAAAi
CCAC1gAAAAAI
CCAC1gAAAAAIow
CCAC1gAAAAAj
CCAC1gAAAAAJ
CCAC1gAAAAAjC
CCAC1gAAAAAk
CCAC1gAAAAAK
CCAC1gAAAAAl
CCAC1gAAAAAm
CCAC1gAAAAAM
CCAC1gAAAAA#M@k
CCAC1gAAAAAN
CCAC1gAAAAAO
CCAC1gAAAAAoc
CCAC1gAAAAA:oT
CCAC1gAAAAAp
CCAC1gAAAAA(P
CCAC1gAAAAAPC1
CCAC1gAAAAAQ.
CCAC1gAAAAAqF
CCAC1gAAAAAqS
CCAC1gAAAAAr
CCAC1gAAAAAs
CCAC1gAAAAAS
CCAC1gAAAAAt
CCAC1gAAAAAT
CCAC1gAAAAAu
CCAC1gAAAAAU
CCAC1gAAAAAV
CCAC1gAAAAAw
CCAC1gAAAAAW
CCAC1gAAAAAWN
CCAC1gAAAAAx
CCAC1gAAAAAZ
CCAC1gAAAAAZF.1
CCAC1gAAAAAZP@
CCAC1hAAAAA
CCAC1hAAAAA#
CCAC1hAAAAA*
CCAC1hAAAAA;
CCAC1hAAAAA[
CCAC1hAAAAA]
CCAC1hAAAAA2
CCAC1hAAAAA3
CCAC1hAAAAA-4
CCAC1hAAAAA5
CCAC1hAAAAA5 
CCAC1hAAAAA6
CCAC1hAAAAA8
CCAC1hAAAAA8:
CCAC1hAAAAAC
CCAC1hAAAAAcz
CCAC1hAAAAAd
CCAC1hAAAAA-e	
CCAC1hAAAAAe
CCAC1hAAAAAER_
CCAC1hAAAAAGO
CCAC1hAAAAAGZL
CCAC1hAAAAAh
CCAC1hAAAAAH
CCAC1hAAAAAi
CCAC1hAAAAAj
CCAC1hAAAAAk
CCAC1hAAAAAK
CCAC1hAAAAAkm*
CCAC1hAAAAAn
CCAC1hAAAAAp
CCAC1hAAAAAP
CCAC1hAAAAA	S
CCAC1hAAAAAS
CCAC1hAAAAASg
CCAC1hAAAAAT
CCAC1hAAAAAU
CCAC1hAAAAAU5
CCAC1hAAAAAW
CCAC1hAAAAAwe
CCAC1hAAAAAx
CCAC1hAAAAAZ
CCAC1iAAAAA
CCAC1iAAAAA"
CCAC1iAAAAA)
CCAC1iAAAAA-
CCAC1iAAAAA@
CCAC1iAAAAA]
CCAC1iAAAAA_
CCAC1iAAAAA1
CCAC1iAAAAA6 
CCAC1iAAAAA885
CCAC1iAAAAAa
CCAC1iAAAAAAAAAoA0A6A.A-A(A A-A(A2A)A(A2A A*AoA9A8A;A
CCAC1iAAAAAAAAAoA5A'A)AqArA*A0A7A;A)A3AxA6A8AoA9A8A;A
CCAC1iAAAAAAAAAoA(A2A4A;A4A5A3A4A"A*A4A*AoA"A.AoA4A*A
CCAC1iAAAAAAAAAoA.A(A.A3A2A2A"A7A2A(A.A2A7A"AoA9A8A;A
CCAC1iAAAAAAAAAoAuA"AsAyA1A"AqAvA"A'AwA#A-AtAoA A3A5A
CCAC1iAAAAA'A#q
CCAC1iAAAAABO
CCAC1iAAAAADk
CCAC1iAAAAAl
CCAC1iAAAAAm
CCAC1iAAAAAm?0
CCAC1iAAAAAN
CCAC1iAAAAAP6w
CCAC1iAAAAAPMr
CCAC1iAAAAARLO
CCAC1iAAAAAs
CCAC1iAAAAASC
CCAC1iAAAAA|v
CCAC1iAAAAAw
CCAC1iAAAAAW
CCAC1iAAAAAxG
CCAC1jAAAAA
CCAC1jAAAAA 
CCAC1jAAAAA"
CCAC1jAAAAA-
CCAC1jAAAAA.
CCAC1jAAAAA;
CCAC1JAAAAA
CCAC1JAAAAA*
CCAC1JAAAAA_?
CCAC1jAAAAA2
CCAC1jAAAAA5
CCAC1jAAAAA65
CCAC1jAAAAA7
CCAC1jAAAAA;	A9
CCAC1jAAAAAB
CCAC1jAAAAAd
CCAC1jAAAAAe
CCAC1jAAAAAe2
CCAC1jAAAAAg
CCAC1jAAAAAG
CCAC1jAAAAAh
CCAC1jAAAAAi8
CCAC1jAAAAAip
CCAC1jAAAAAJ
CCAC1jAAAAAK
CCAC1jAAAAAl
CCAC1jAAAAAm
CCAC1jAAAAAm@
CCAC1jAAAAAN
CCAC1jAAAAAO
CCAC1jAAAAAp
CCAC1jAAAAAP
CCAC1jAAAAAQ
CCAC1jAAAAAr
CCAC1jAAAAAr6
CCAC1jAAAAARO
CCAC1jAAAAAs
CCAC1jAAAAAu[
CCAC1JAAAAAU
CCAC1jAAAAA'w
CCAC1jAAAAAw
CCAC1jAAAAAW0
CCAC1JAAAAAy
CCAC1kAAAAA
CCAC1kAAAAA'
CCAC1kAAAAA.
CCAC1kAAAAA[
CCAC1kAAAAA_
CCAC1kAAAAA|
CCAC1KAAAAA
CCAC1kAAAAA0
CCAC1kAAAAA3
CCAC1kAAAAA"|49
CCAC1kAAAAA)5
CCAC1kAAAAAa
CCAC1kAAAAAAAAAoA4A4AxAyAsAwAtAvAsAwAlA1A.A.A-AoA A3A5A
CCAC1kAAAAAAAAAoA5A'A)AqArA*A0A7A;A)A3AxA6A8AoA1A(A"A2A
CCAC1kAAAAAAAAAoA7A(A2A(A5A4A2A)A4A A(A AoA5A4A3AoA A3A
CCAC1kAAAAAc
CCAC1kAAAAAC
CCAC1kAAAAAD
CCAC1kAAAAAEf
CCAC1kAAAAAg-
CCAC1kAAAAAH
CCAC1kAAAAAK
CCAC1kAAAAA|L[
CCAC1kAAAAAN
CCAC1kAAAAANB
CCAC1kAAAAAQ?5
CCAC1kAAAAAR
CCAC1kAAAAARb
CCAC1kAAAAASw
CCAC1kAAAAAv-
CCAC1kAAAAAYFQK
CCAC1lAAAAA
CCAC1lAAAAA'
CCAC1lAAAAA@
CCAC1LAAAAA
CCAC1LAAAAA'	
CCAC1LAAAAA(
CCAC1lAAAAA0
CCAC1lAAAAA4
CCAC1lAAAAA6
CCAC1LAAAAA6H
CCAC1LAAAAAC
CCAC1LAAAAAc3
CCAC1LAAAAAd
CCAC1lAAAAAe
CCAC1LAAAAAfC
CCAC1LAAAAAfU
CCAC1lAAAAAh
CCAC1lAAAAAJw
CCAC1lAAAAApf
CCAC1LAAAAA(	Pi
CCAC1lAAAAAq
CCAC1lAAAAAQo
CCAC1lAAAAAT[
CCAC1lAAAAAU
CCAC1lAAAAAvM
CCAC1lAAAAAw
CCAC1lAAAAA#y
CCAC1lAAAAA]YFQ
CCAC1LAAAAAZu
CCAC1mAAAAA
CCAC1mAAAAA]
CCAC1MAAAAA
CCAC1mAAAAA4
CCAC1mAAAAA5
CCAC1MAAAAA[7
CCAC1MAAAAA8
CCAC1MAAAAA9
CCAC1mAAAAAAAAAoA1A3A(A7A A5A1A3A.A9A8AlA"A)A A5AoA9A8A;A
CCAC1mAAAAAAAAAoA.ArAwAtAxAyAvAwAtAwAyAxAyAqAyAvAoA9A8A;A
CCAC1mAAAAAAAAAoArAvAyAwAvAtAwAuAtAuAtAuAwAuAtAoA"A-A4A#A
CCAC1MAAAAAB
CCAC1MAAAAAC
CCAC1mAAAAAd
CCAC1mAAAAAfR8|
CCAC1mAAAAAI:
CCAC1mAAAAAj
CCAC1mAAAAANb
CCAC1mAAAAAQ2
CCAC1mAAAAAu
CCAC1MAAAAAu
CCAC1mAAAAA#uG	
CCAC1mAAAAAvrr
CCAC1mAAAAAw
CCAC1mAAAAA Y[
CCAC1nAAAAA
CCAC1nAAAAA.
CCAC1nAAAAA]
CCAC1NAAAAA
CCAC1NAAAAA	
CCAC1NAAAAA#
CCAC1NAAAAA(
CCAC1NAAAAA*
CCAC1NAAAAA-;
CCAC1NAAAAA?
CCAC1NAAAAA[
CCAC1NAAAAA|
CCAC1NAAAAA0
CCAC1NAAAAA1
CCAC1NAAAAA16
CCAC1NAAAAA1(I
CCAC1NAAAAA2
CCAC1NAAAAA2 
CCAC1NAAAAA2N
CCAC1NAAAAA2R
CCAC1NAAAAA]3
CCAC1NAAAAA3sS
CCAC1NAAAAA4
CCAC1NAAAAA6 
CCAC1NAAAAA6v
CCAC1NAAAAA8
CCAC1nAAAAA9
CCAC1NAAAAA9
CCAC1NAAAAA9L[
CCAC1NAAAAAA
CCAC1NAAAAAb
CCAC1NAAAAAB
CCAC1NAAAAAb)D
CCAC1NAAAAAd
CCAC1NAAAAAD
CCAC1NAAAAAE
CCAC1NAAAAA.f
CCAC1NAAAAAF
CCAC1NAAAAAg
CCAC1NAAAAAG
CCAC1NAAAAA]h"
CCAC1NAAAAAh
CCAC1NAAAAAH
CCAC1NAAAAAi
CCAC1NAAAAAj3
CCAC1NAAAAAK
CCAC1NAAAAAl
CCAC1NAAAAAL
CCAC1NAAAAAm
CCAC1NAAAAA'M
CCAC1NAAAAAM
CCAC1NAAAAAmg
CCAC1NAAAAAo
CCAC1NAAAAAoe
CCAC1NAAAAAp
CCAC1NAAAAAP6
CCAC1NAAAAApN
CCAC1NAAAAAq
CCAC1NAAAAAr
CCAC1NAAAAAS
CCAC1nAAAAAt
CCAC1NAAAAAt
CCAC1NAAAAAteT
CCAC1NAAAAA#u
CCAC1NAAAAAu
CCAC1NAAAAAV
CCAC1NAAAAAV_
CCAC1NAAAAAw
CCAC1NAAAAAW
CCAC1NAAAAAx
CCAC1NAAAAA@X
CCAC1NAAAAAX
CCAC1NAAAAAy
CCAC1nAAAAAYg
CCAC1NAAAAAz
CCAC1NAAAAAZ
CCAC1NAAAAAZI
CCAC1oAAAAA
CCAC1oAAAAA[
CCAC1OAAAAA
CCAC1OAAAAA!
CCAC1OAAAAA"
CCAC1OAAAAA)
CCAC1OAAAAA.
CCAC1OAAAAA:
CCAC1OAAAAA[
CCAC1OAAAAA]
CCAC1OAAAAA2
CCAC1OAAAAA3
CCAC1oAAAAA4
CCAC1oAAAAA4s
CCAC1OAAAAA59
CCAC1OAAAAA6w
CCAC1OAAAAA9
CCAC1OAAAAAAAAAoA2AyAoA"A9A
CCAC1OAAAAAAAAAoA3AqAoA6A'A
CCAC1OAAAAAAAAAoA4AqAoA3A2A
CCAC1OAAAAAAAAAoA5AqAoA6A'A
CCAC1OAAAAAAAAAoA6AuAoA6A'A
CCAC1OAAAAAAAAAoA8AqAoA6A'A
CCAC1oAAAAAAAAAoA*A A2A5A4A3A(A A A'A(A8A A)A)A0AoA2A)A.A1A
CCAC1OAAAAAAAAAoA)AqAoA6A'A
CCAC1OAAAAAAAAAoA"AvAoA-A"A
CCAC1OAAAAAAAAAoAqA1AoA3A2A
CCAC1oAAAAAAAAAoArAtAwAvAtAyAwAxAwAtAyAvAuAwArAtAsAoA9A8A;A
CCAC1OAAAAAAAAAoAsA5AoA6A'A
CCAC1OAAAAAAAAAoAsA(AoA6A'A
CCAC1OAAAAAAAAAoAuA6AoA3A2A
CCAC1OAAAAAAAAAoAuA6AoA6A'A
CCAC1OAAAAAAx
CCAC1oAAAAAb
CCAC1OAAAAAc
CCAC1OAAAAAE
CCAC1OAAAAAhSK
CCAC1OAAAAAj"
CCAC1OAAAAAK
CCAC1oAAAAAM
CCAC1OAAAAAM
CCAC1oAAAAAmg!
CCAC1OAAAAAo
CCAC1OAAAAAP
CCAC1OAAAAAq
CCAC1OAAAAAr
CCAC1OAAAAAsjCg
CCAC1OAAAAAv
CCAC1OAAAAAVzj
CCAC1oAAAAAW
CCAC1OAAAAAW
CCAC1oAAAAAy
CCAC1OAAAAAy[ 
CCAC1OAAAAAY
CCAC1oAAAAAZ
CCAC1OAAAAAzb
CCAC1pAAAAA
CCAC1pAAAAA[
CCAC1PAAAAA
CCAC1PAAAAA	
CCAC1PAAAAA#
CCAC1PAAAAA(
CCAC1PAAAAA)
CCAC1PAAAAA-
CCAC1PAAAAA?
CCAC1PAAAAA@
CCAC1PAAAAA[
CCAC1PAAAAA_
CCAC1PAAAAA|
CCAC1pAAAAA0#*
CCAC1PAAAAA0
CCAC1PAAAAA1
CCAC1PAAAAA3
CCAC1PAAAAA3"A5
CCAC1PAAAAA6
CCAC1PAAAAA7
CCAC1PAAAAA8T
CCAC1PAAAAAa
CCAC1PAAAAAA	
CCAC1PAAAAAc
CCAC1PAAAAAC
CCAC1PAAAAA;!d
CCAC1pAAAAAe
CCAC1pAAAAAE
CCAC1PAAAAAE#B-
CCAC1PAAAAAg
CCAC1PAAAAAg;
CCAC1PAAAAAh
CCAC1PAAAAAH
CCAC1PAAAAAi'
CCAC1PAAAAAI
CCAC1PAAAAAK
CCAC1PAAAAAl
CCAC1PAAAAAl?
CCAC1PAAAAAL
CCAC1PAAAAAL:
CCAC1pAAAAAL7
CCAC1PAAAAAMt
CCAC1PAAAAAn
CCAC1PAAAAAnK
CCAC1pAAAAAO
CCAC1PAAAAAo
CCAC1PAAAAAO
CCAC1PAAAAAo8
CCAC1PAAAAAOc
CCAC1PAAAAApIq
CCAC1PAAAAApml#
CCAC1PAAAAAr
CCAC1PAAAAAR
CCAC1PAAAAAS
CCAC1PAAAAAt
CCAC1PAAAAAT
CCAC1PAAAAAU
CCAC1PAAAAAUR
CCAC1PAAAAAv
CCAC1pAAAAA|]w
CCAC1PAAAAA_w
CCAC1PAAAAAw
CCAC1PAAAAA(wGw
CCAC1PAAAAAw'Q
CCAC1PAAAAAx
CCAC1PAAAAAX
CCAC1PAAAAAy
CCAC1PAAAAAY
CCAC1PAAAAAz
CCAC1PAAAAAzs
CCAC1qAAAAA
CCAC1qAAAAA'
CCAC1qAAAAA_
CCAC1QAAAAA
CCAC1QAAAAA#
CCAC1QAAAAA-
CCAC1QAAAAA.
CCAC1QAAAAA:
CCAC1QAAAAA1
CCAC1qAAAAA2
CCAC1qAAAAA2i
CCAC1QAAAAA4
CCAC1QAAAAA4C
CCAC1QAAAAA4hkX
CCAC1qAAAAA4#p
CCAC1QAAAAA5:
CCAC1QAAAAA7
CCAC1QAAAAA:8
CCAC1QAAAAA8
CCAC1qAAAAAA
CCAC1QAAAAA#a
CCAC1QAAAAAA
CCAC1qAAAAAAa
CCAC1QAAAAAAAAAoA1A#A"AoA*A;A
CCAC1QAAAAAAAAAoA1ApAvAoA)A4A
CCAC1QAAAAAAAAAoA2ApA-AoA4A2A
CCAC1qAAAAAAAAAoA3A4A-AtAqAqAyAsAxAqAyAyAlA2A2A-AlA(A1AoA3A4A
CCAC1QAAAAAAAAAoA3A-A8AoA A"A
CCAC1QAAAAAAAAAoA)A7A AoA"A9A
CCAC1qAAAAAAAAAoA*A A2A5A4A3A(A A A'A(A8A A)A2A A5A4AoA9A8A;A
CCAC1QAAAAAAAAAoAsA-A-AoA7A"A
CCAC1qAAAAAAAAAoAsAuAtArAwAyAwAxAwAxAwAxAsAwAvAtAwAwAoA9A8A;A
CCAC1QAAAAAAAAAoAwA0A.AoA A5A
CCAC1qAAAAAAAAAoAwAvArAwAtAsAtAvAvAxApAwAsArAxAyAxApAoA9A8A;A
CCAC1qAAAAAB
CCAC1qAAAAAcP
CCAC1QAAAAAd
CCAC1QAAAAAD
CCAC1qAAAAAH
CCAC1QAAAAAI
CCAC1qAAAAA'J
CCAC1QAAAAAk
CCAC1QAAAAAK
CCAC1qAAAAAl
CCAC1QAAAAAM
CCAC1QAAAAAn2
CCAC1QAAAAA;n:S
CCAC1QAAAAAO
CCAC1qAAAAAp
CCAC1QAAAAApK
CCAC1QAAAAAQ"
CCAC1qAAAAAq9
CCAC1QAAAAAqT'7
CCAC1qAAAAArk
CCAC1QAAAAArxZ
CCAC1QAAAAAs_
CCAC1QAAAAAT
CCAC1QAAAAAT	
CCAC1QAAAAAu
CCAC1QAAAAAU
CCAC1QAAAAAV
CCAC1QAAAAAW
CCAC1QAAAAAx
CCAC1QAAAAAx@
CCAC1QAAAAAX
CCAC1QAAAAAZ
CCAC1rAAAAA
CCAC1rAAAAA(
CCAC1rAAAAA*
CCAC1RAAAAA
CCAC1RAAAAA	
CCAC1RAAAAA!
CCAC1RAAAAA'
CCAC1RAAAAA*
CCAC1RAAAAA-
CCAC1RAAAAA. 
CCAC1RAAAAA:
CCAC1RAAAAA:;
CCAC1RAAAAA?
CCAC1RAAAAA@
CCAC1RAAAAA]
CCAC1RAAAAA_
CCAC1RAAAAA0
CCAC1RAAAAA?1
CCAC1RAAAAA1
CCAC1RAAAAA4
CCAC1rAAAAA5
CCAC1RAAAAA51
CCAC1RAAAAA5P
CCAC1rAAAAA6
CCAC1RAAAAA7_
CCAC1RAAAAA8
CCAC1RAAAAA8Q
CCAC1RAAAAA9
CCAC1RAAAAA#9x
CCAC1RAAAAAa
CCAC1RAAAAAA
CCAC1RAAAAAA.
CCAC1RAAAAAB
CCAC1RAAAAACA	j
CCAC1RAAAAAcCFE
CCAC1RAAAAAcYV
CCAC1RAAAAA]d
CCAC1RAAAAAD
CCAC1RAAAAADk
CCAC1RAAAAAE
CCAC1RAAAAAEn"P
CCAC1rAAAAAf
CCAC1RAAAAAf
CCAC1RAAAAAf|
CCAC1RAAAAAF7x7
CCAC1RAAAAAFR
CCAC1RAAAAAH
CCAC1RAAAAAi
CCAC1RAAAAAi)
CCAC1RAAAAAI
CCAC1rAAAAAiX
CCAC1RAAAAAj
CCAC1RAAAAAjb
CCAC1RAAAAAK
CCAC1RAAAAAK;
CCAC1RAAAAAkR
CCAC1RAAAAAl
CCAC1RAAAAAM
CCAC1RAAAAAm9q
CCAC1RAAAAAn
CCAC1RAAAAAN|
CCAC1RAAAAA nb
CCAC1rAAAAAO
CCAC1RAAAAAO
CCAC1RAAAAAOa
CCAC1RAAAAAP
CCAC1RAAAAAq
CCAC1RAAAAAQ
CCAC1RAAAAAr
CCAC1RAAAAAt
CCAC1RAAAAAt@
CCAC1RAAAAAT
CCAC1rAAAAAu
CCAC1RAAAAAU
CCAC1RAAAAA:v
CCAC1RAAAAAw
CCAC1RAAAAAwCp
CCAC1RAAAAAWqr
CCAC1RAAAAAx-
CCAC1RAAAAAX
CCAC1RAAAAAxn
CCAC1RAAAAAxo
CCAC1RAAAAAXO
CCAC1RAAAAAy
CCAC1RAAAAAYb
CCAC1RAAAAAz
CCAC1RAAAAAZ
CCAC1sAAAAA
CCAC1sAAAAA:
CCAC1SAAAAA
CCAC1SAAAAA	
CCAC1SAAAAA 
CCAC1SAAAAA!
CCAC1SAAAAA#
CCAC1SAAAAA'
CCAC1SAAAAA(
CCAC1SAAAAA)
CCAC1SAAAAA*
CCAC1SAAAAA.
CCAC1SAAAAA?
CCAC1SAAAAA@
CCAC1SAAAAA[
CCAC1SAAAAA_
CCAC1SAAAAA|
CCAC1SAAAAA0g
CCAC1SAAAAA0s
CCAC1SAAAAA16
CCAC1SAAAAA2
CCAC1SAAAAA2F
CCAC1SAAAAA2@M
CCAC1SAAAAA3
CCAC1sAAAAA7
CCAC1SAAAAA7
CCAC1SAAAAA72
CCAC1SAAAAA9
CCAC1SAAAAAa
CCAC1SAAAAAa|
CCAC1SAAAAAA
CCAC1SAAAAAAAAAoA1A7ApAoA#A(A;A
CCAC1SAAAAAAAAAoA2A6A2A5AoA1A*A
CCAC1SAAAAAAAAAoA2A A'A(AoA1A*A
CCAC1SAAAAAAAAAoA3A7AlA.AoA4A2A
CCAC1SAAAAAAAAAoA4A7A9A8AoA5A*A
CCAC1SAAAAAAAAAoA5A-A2A)AoA"A"A
CCAC1SAAAAAAAAAoA5A(A4A AoA4A*A
CCAC1SAAAAAAAAAoA6A"A A.AoA"A.A
CCAC1SAAAAAAAAAoA8ArA9AoA#A(A;A
CCAC1SAAAAAAAAAoA A2A1A9AoA(A.A
CCAC1SAAAAAAAAAoA.A2A-A3AoA4A*A
CCAC1SAAAAAAAAAoA-A3A6AoA-A.A-A
CCAC1SAAAAAAAAAoA(A5A A4AoA"A9A
CCAC1SAAAAAAAAAoA.A7A.A(AoA4A2A
CCAC1SAAAAAAAAAoA.A.A4A.AoA"A'A
CCAC1SAAAAAAAAAoA"A(A7A)AoA3A4A
CCAC1SAAAAAAAAAoA)A(A-A3AoA3A4A
CCAC1SAAAAAAAAAoA-A'A A9AoA4A2A
CCAC1SAAAAAAAAAoA#A#A(A-AoA4A2A
CCAC1SAAAAAAAAAoA-A"A(ApAoA"A.A
CCAC1SAAAAAAAAAoA-AtA*AoA9A8A;A
CCAC1sAAAAAAAAAoAyAvAwAvAtAyAtArAwAvAuAtAyAwAuAtArAtAsAoA9A8A;A
CCAC1SAAAAAb
CCAC1SAAAAA[B
CCAC1SAAAAAB
CCAC1SAAAAAB4
CCAC1SAAAAAc-
CCAC1SAAAAAd5HE
CCAC1SAAAAA!e
CCAC1SAAAAAE
CCAC1sAAAAAf
CCAC1SAAAAAF
CCAC1SAAAAAfl
CCAC1sAAAAAfV
CCAC1SAAAAAg
CCAC1SAAAAAh
CCAC1SAAAAAH[
CCAC1SAAAAAhC
CCAC1SAAAAAi
CCAC1SAAAAAI
CCAC1SAAAAAj]
CCAC1SAAAAAJ
CCAC1SAAAAAk
CCAC1SAAAAAM
CCAC1SAAAAAmyB
CCAC1SAAAAA-N
CCAC1SAAAAAN
CCAC1sAAAAA-NP
CCAC1SAAAAAo
CCAC1SAAAAA	p
CCAC1SAAAAA q
CCAC1SAAAAAq
CCAC1SAAAAAQ
CCAC1SAAAAAQ7
CCAC1SAAAAAr
CCAC1SAAAAArAN
CCAC1SAAAAArc
CCAC1SAAAAArr
CCAC1SAAAAAS
CCAC1SAAAAAsB
CCAC1SAAAAASq
CCAC1SAAAAAt
CCAC1SAAAAA?T-f
CCAC1SAAAAATn
CCAC1SAAAAAu
CCAC1SAAAAA'U;
CCAC1sAAAAAv
CCAC1SAAAAAv
CCAC1SAAAAAV
CCAC1SAAAAAw
CCAC1SAAAAAW
CCAC1SAAAAAWFI
CCAC1SAAAAAwj
CCAC1SAAAAAWp H
CCAC1SAAAAAx
CCAC1SAAAAAX
CCAC1SAAAAAX-
CCAC1SAAAAAy
CCAC1SAAAAAY
CCAC1SAAAAA'Z
CCAC1SAAAAAZ
CCAC1SAAAAAZ:S
CCAC1SAAAAAzz
CCAC1tAAAAA
CCAC1TAAAAA
CCAC1TAAAAA	
CCAC1TAAAAA!#
CCAC1TAAAAA"
CCAC1TAAAAA#
CCAC1TAAAAA(
CCAC1TAAAAA.
CCAC1TAAAAA:
CCAC1TAAAAA?
CCAC1TAAAAA[
CCAC1TAAAAA[[
CCAC1TAAAAA]
CCAC1TAAAAA|
CCAC1TAAAAA1
CCAC1TAAAAA3v
CCAC1TAAAAA4
CCAC1TAAAAA6
CCAC1TAAAAA6#
CCAC1TAAAAA7
CCAC1TAAAAA8
CCAC1TAAAAA9
CCAC1TAAAAA]9C
CCAC1TAAAAAA
CCAC1TAAAAAb
CCAC1TAAAAABbVM
CCAC1TAAAAABs
CCAC1TAAAAA C
CCAC1TAAAAAC
CCAC1TAAAAAD
CCAC1TAAAAAe
CCAC1TAAAAAE
CCAC1TAAAAAE!
CCAC1TAAAAA'f
CCAC1TAAAAA.f
CCAC1TAAAAAf
CCAC1TAAAAAF
CCAC1TAAAAAg
CCAC1TAAAAAG
CCAC1TAAAAA'Gf6
CCAC1TAAAAA|h
CCAC1TAAAAAh
CCAC1TAAAAAH
CCAC1TAAAAAj
CCAC1TAAAAAK
CCAC1TAAAAAKW
CCAC1TAAAAAl
CCAC1TAAAAAL
CCAC1TAAAAAm
CCAC1TAAAAAM
CCAC1TAAAAAma
CCAC1tAAAAA"n
CCAC1TAAAAAN:
CCAC1TAAAAAo
CCAC1TAAAAAO
CCAC1TAAAAAp
CCAC1TAAAAAP
CCAC1tAAAAA*Q
CCAC1TAAAAAq
CCAC1TAAAAAQ
CCAC1TAAAAAQ5
CCAC1TAAAAA:r
CCAC1TAAAAAr
CCAC1TAAAAA]R
CCAC1TAAAAAR
CCAC1TAAAAA@ry
CCAC1TAAAAAs
CCAC1TAAAAAsE
CCAC1TAAAAAt
CCAC1TAAAAATa
CCAC1TAAAAAtah1
CCAC1TAAAAAtB
CCAC1TAAAAATNi
CCAC1TAAAAAu
CCAC1TAAAAAU
CCAC1TAAAAAV
CCAC1TAAAAAV_
CCAC1TAAAAAw
CCAC1TAAAAAW
CCAC1TAAAAAwcG
CCAC1TAAAAAx
CCAC1TAAAAAx?
CCAC1TAAAAAy
CCAC1TAAAAAz
CCAC1TAAAAAZ
CCAC1TAAAAAZ492
CCAC1uAAAAA
CCAC1UAAAAA
CCAC1UAAAAA"
CCAC1UAAAAA#
CCAC1UAAAAA'
CCAC1UAAAAA(
CCAC1UAAAAA)
CCAC1UAAAAA*
CCAC1UAAAAA:
CCAC1UAAAAA;
CCAC1UAAAAA?
CCAC1UAAAAA@
CCAC1UAAAAA]
CCAC1UAAAAA|
CCAC1UAAAAA0
CCAC1UAAAAA0@A
CCAC1UAAAAA0B
CCAC1UAAAAA1
CCAC1UAAAAA1g
CCAC1UAAAAA2
CCAC1UAAAAA2#
CCAC1uAAAAA2q
CCAC1UAAAAA4
CCAC1UAAAAA5A
CCAC1UAAAAA6
CCAC1UAAAAA6cz
CCAC1UAAAAA7
CCAC1UAAAAAa
CCAC1UAAAAAA
CCAC1UAAAAAAAAAoA0A4A"A"AoA5A.A1A
CCAC1UAAAAAAAAAoA0A4A A;AoA9A8A;A
CCAC1UAAAAAAAAAoA0A6A A8A2AoA4A2A
CCAC1UAAAAAAAAAoA0A*A A5AoA5A.A1A
CCAC1UAAAAAAAAAoA1A8AlA5AoA9A8A;A
CCAC1UAAAAAAAAAoA1A'A A3AoA5A.A1A
CCAC1UAAAAAAAAAoA2A2ApAoA2A)A.A1A
CCAC1UAAAAAAAAAoA2A6A.A3A*AoA1A-A
CCAC1UAAAAAAAAAoA2A A1A1A-AoA4A2A
CCAC1UAAAAAAAAAoA2A*A7A4A2AoA4A2A
CCAC1uAAAAAAAAAoA2A)A A3A1A3A.A'A(A5A A1A1A3A.A A"A)AoA"A-A(A"A*A
CCAC1UAAAAAAAAAoA2A"A A)AoA5A.A1A
CCAC1UAAAAAAAAAoA3A(A4A5AoA5A.A1A
CCAC1UAAAAAAAAAoA3A.A A9AoA9A8A;A
CCAC1UAAAAAAAAAoA3A)A"A)A1AoA3A4A
CCAC1UAAAAAAAAAoA4A8A A9AoA9A8A;A
CCAC1UAAAAAAAAAoA5A3A'A-A*AoA"A"A
CCAC1UAAAAAAAAAoA5A4A5A(AoA1A3A.A
CCAC1UAAAAAAAAAoA5A7A9A1AoA5A.A1A
CCAC1UAAAAAAAAAoA5A9A)A4AoA5A.A1A
CCAC1UAAAAAAAAAoA5A#A"A A1AoA4A2A
CCAC1UAAAAAAAAAoA6A5AlA4AoA5A.A1A
CCAC1UAAAAAAAAAoA6A.A.A'A AoA(A3A
CCAC1UAAAAAAAAAoA7A6A A6AoA5A.A1A
CCAC1UAAAAAAAAAoA7A"A4A4AoA5A.A1A
CCAC1UAAAAAAAAAoA7A*A7A1AoA5A.A1A
CCAC1UAAAAAAAAAoA7A A-A8A4AoA4A2A
CCAC1UAAAAAAAAAoA7A"A"A9AoA-A.A-A
CCAC1UAAAAAAAAAoA8A*ApA A6AoA4A2A
CCAC1UAAAAAAAAAoA9A7A8A.A.AoA4A2A
CCAC1UAAAAAAAAAoA9A8A5A.A6AoA4A2A
CCAC1UAAAAAAAAAoA9A"A5A8A4AoA4A2A
CCAC1UAAAAAAAAAoA-A1A9A;AoA A3A5A
CCAC1UAAAAAAAAAoA#A2A5A"A4AoA4A2A
CCAC1UAAAAAAAAAoA)A2A.A A2AoA"A.A
CCAC1uAAAAAAAAAoA#A3A(A2A5A.A-A2A5A4A8A5A(A-A(A8A4A.A.AoA2A)A.A1A
CCAC1UAAAAAAAAAoA"A3AlA'AoA9A8A;A
CCAC1UAAAAAAAAAoA*A4A1A*A.AoA)A3A
CCAC1UAAAAAAAAAoA(A4A3A#AoA5A.A1A
CCAC1UAAAAAAAAAoA A4A'A4AoA5A.A1A
CCAC1UAAAAAAAAAoA A4A*A"A AoA3A4A
CCAC1UAAAAAAAAAoA"A4A"A)AoA5A.A1A
CCAC1UAAAAAAAAAoA*A5A A3A2AoA"A.A
CCAC1UAAAAAAAAAoA*A7A7A0AoA5A.A1A
CCAC1UAAAAAAAAAoA*A8A*A-A.AoA4A2A
CCAC1UAAAAAAAAAoA A9A0A9AoA9A8A;A
CCAC1UAAAAAAAAAoA;A A0A6A2AoA5A*A
CCAC1UAAAAAAAAAoA#A;A0A9AoA9A8A;A
CCAC1UAAAAAAAAAoA"A.A1A3ApAoA"A.A
CCAC1UAAAAAAAAAoA"A.A1A3AsAoA"A.A
CCAC1UAAAAAAAAAoA#A(A2A-A1AoA5A*A
CCAC1UAAAAAAAAAoA*A(A2A"A)AoA3A4A
CCAC1UAAAAAAAAAoA A A4A)AoA A3A5A
CCAC1UAAAAAAAAAoA)A"A5A"A.AoA"A.A
CCAC1UAAAAAAAAAoA"A#A7A#AoA5A.A1A
CCAC1UAAAAAAAAAoA)A(A9A1AoA5A.A1A
CCAC1UAAAAAAAAAoA A)A9A7A)AoA5A*A
CCAC1UAAAAAAAAAoA(A(A A7AoA2A#A2A
CCAC1UAAAAAAAAAoA*A A'A9AoA5A.A1A
CCAC1UAAAAAAAAAoA#A(A.A"A)AoA3A4A
CCAC1UAAAAAAAAAoA*A A A(AoA2A#A2A
CCAC1UAAAAAAAAAoA#A.A'AwAoA9A8A;A
CCAC1UAAAAAAAAAoA)AlA.A2AoA5A.A1A
CCAC1UAAAAAAAAAoA*AlA#A5AoA5A.A1A
CCAC1UAAAAAAAAAoA(ApAvApAoA5A.A1A
CCAC1UAAAAAAAAAoA(ApAxAqAoA5A.A1A
CCAC1UAAAAAAAAAoA(ApAxArAoA5A.A1A
CCAC1UAAAAAAAAAoA(ApAxAsAoA5A.A1A
CCAC1UAAAAAAAAAoA(ApAyAtAoA5A.A1A
CCAC1uAAAAAAAAAoAqAxAqAxAyAvArAwAtAuAtAvAsAyAxApAyAvArAoA2A)A.A1A
CCAC1uAAAAAAAAAoArAuAyAvArAsAxAyArAvAtAxAsAyAvAuArAvAxAxAoA5A.A1A
CCAC1uAAAAAAAAAoArAuAyAvArAsAxAyArAvAtAxAsAyAvAuArAvAxAxAoA9A8A;A
CCAC1UAAAAAak
CCAC1UAAAAAb
CCAC1UAAAAAbu
CCAC1UAAAAA	d
CCAC1UAAAAAD
CCAC1UAAAAA"E
CCAC1UAAAAA?E
CCAC1UAAAAAE
CCAC1UAAAAAEB
CCAC1UAAAAAF
CCAC1UAAAAAFP
CCAC1UAAAAAG
CCAC1UAAAAAGv
CCAC1UAAAAAi
CCAC1UAAAAAI
CCAC1UAAAAAjs
CCAC1UAAAAAJs
CCAC1UAAAAAl
CCAC1UAAAAAL
CCAC1UAAAAAltlM
CCAC1UAAAAAm
CCAC1UAAAAAM
CCAC1UAAAAAM1
CCAC1UAAAAAMe
CCAC1UAAAAAMG
CCAC1UAAAAAmo
CCAC1UAAAAAMqu
CCAC1UAAAAAn
CCAC1UAAAAAN
CCAC1UAAAAANt
CCAC1UAAAAAo
CCAC1UAAAAAO
CCAC1UAAAAAp
CCAC1UAAAAAQ
CCAC1UAAAAAr
CCAC1UAAAAArO
CCAC1UAAAAAs
CCAC1UAAAAAS
CCAC1UAAAAAsj
CCAC1UAAAAAt
CCAC1UAAAAA'T
CCAC1UAAAAAT)
CCAC1UAAAAAu
CCAC1UAAAAAu9
CCAC1UAAAAAukE
CCAC1UAAAAAv
CCAC1UAAAAAw
CCAC1UAAAAAW
CCAC1UAAAAAx
CCAC1UAAAAAYJF
CCAC1uAAAAAYL
CCAC1UAAAAAz
CCAC1UAAAAAZG
CCAC1vAAAAA
CCAC1VAAAAA
CCAC1VAAAAA	
CCAC1VAAAAA!
CCAC1VAAAAA"
CCAC1VAAAAA'
CCAC1VAAAAA'|
CCAC1VAAAAA(
CCAC1VAAAAA)
CCAC1VAAAAA-
CCAC1VAAAAA.
CCAC1VAAAAA:
CCAC1VAAAAA:#
CCAC1VAAAAA?
CCAC1VAAAAA@
CCAC1VAAAAA[|'
CCAC1VAAAAA];
CCAC1VAAAAA_
CCAC1VAAAAA|
CCAC1VAAAAA0
CCAC1VAAAAA0*
CCAC1VAAAAA1
CCAC1VAAAAA3;
CCAC1VAAAAA3O
CCAC1VAAAAA 4
CCAC1VAAAAA4
CCAC1VAAAAA4oP#
CCAC1VAAAAA5
CCAC1VAAAAA51w
CCAC1VAAAAA6
CCAC1VAAAAA7
CCAC1VAAAAA7;
CCAC1VAAAAA@8
CCAC1VAAAAA]8
CCAC1VAAAAA8
CCAC1VAAAAA9
CCAC1VAAAAAa
CCAC1VAAAAAaZ
CCAC1VAAAAAb
CCAC1VAAAAAB
CCAC1VAAAAAc
CCAC1VAAAAAC
CCAC1VAAAAAd
CCAC1VAAAAAD
CCAC1VAAAAADRq
CCAC1VAAAAAd T
CCAC1VAAAAAe
CCAC1VAAAAAei?z
CCAC1VAAAAAf
CCAC1VAAAAAF
CCAC1VAAAAAg
CCAC1VAAAAAGk
CCAC1VAAAAAh
CCAC1VAAAAAH
CCAC1VAAAAAHX
CCAC1VAAAAAi
CCAC1VAAAAAi!
CCAC1VAAAAAIe
CCAC1VAAAAAj
CCAC1VAAAAAJ
CCAC1VAAAAAK
CCAC1VAAAAAkA
CCAC1VAAAAAki
CCAC1VAAAAAKP
CCAC1vAAAAAL
CCAC1VAAAAAl
CCAC1VAAAAAL
CCAC1VAAAAAm
CCAC1VAAAAAm]
CCAC1VAAAAAM
CCAC1VAAAAAm7wm
CCAC1VAAAAA[n
CCAC1VAAAAAN
CCAC1VAAAAANz
CCAC1VAAAAA]o
CCAC1VAAAAAO
CCAC1VAAAAAp
CCAC1VAAAAAP
CCAC1VAAAAAP2
CCAC1VAAAAApq
CCAC1VAAAAAp'R
CCAC1VAAAAAq
CCAC1VAAAAAQ
CCAC1VAAAAAQ;
CCAC1VAAAAAQ2
CCAC1VAAAAAq2E
CCAC1VAAAAAQJ
CCAC1VAAAAAqK
CCAC1VAAAAAQ#W
CCAC1VAAAAAr
CCAC1VAAAAAR
CCAC1VAAAAAs
CCAC1VAAAAAS
CCAC1VAAAAASo
CCAC1VAAAAAT(
CCAC1VAAAAAu
CCAC1VAAAAAU
CCAC1VAAAAAUNI
CCAC1VAAAAAUU
CCAC1VAAAAAUwi
CCAC1VAAAAAv
CCAC1VAAAAAV
CCAC1VAAAAAvM
CCAC1VAAAAA	W
CCAC1VAAAAAx
CCAC1VAAAAAX
CCAC1VAAAAA;xU
CCAC1VAAAAAxuR9
CCAC1VAAAAAxv-
CCAC1VAAAAAXZ
CCAC1VAAAAAy
CCAC1VAAAAAY
CCAC1VAAAAAY9
CCAC1VAAAAAyt
CCAC1VAAAAAz
CCAC1VAAAAAZH
CCAC1VAAAAAzmI
CCAC1wAAAAA
CCAC1wAAAAA)
CCAC1WAAAAA
CCAC1WAAAAA	
CCAC1WAAAAA 
CCAC1WAAAAA!
CCAC1WAAAAA!|
CCAC1WAAAAA)
CCAC1WAAAAA*
CCAC1WAAAAA-
CCAC1WAAAAA;
CCAC1WAAAAA?
CCAC1WAAAAA@
CCAC1WAAAAA[
CCAC1WAAAAA]
CCAC1WAAAAA_][
CCAC1WAAAAA0
CCAC1WAAAAA1
CCAC1WAAAAA1d
CCAC1WAAAAA2
CCAC1WAAAAA2E
CCAC1WAAAAA4
CCAC1WAAAAA4L;
CCAC1WAAAAA4Nxl
CCAC1WAAAAA5h
CCAC1WAAAAA*)6
CCAC1WAAAAA6
CCAC1WAAAAA7
CCAC1WAAAAA.8S5
CCAC1WAAAAAa
CCAC1WAAAAAAAAAoA0AlA5AwAyAoA5A.A1A
CCAC1WAAAAAAAAAoA1A4A2A)A0A9AoA4A2A
CCAC1WAAAAAAAAAoA1A4A A*A2AoA9A8A;A
CCAC1WAAAAAAAAAoA1A A2A*A(AoA2A#A2A
CCAC1WAAAAAAAAAoA1A A9AlA)A*AoA"A.A
CCAC1WAAAAAAAAAoA1A-A*A4A8AoA9A8A;A
CCAC1WAAAAAAAAAoA1A A-A A.A2AoA"A"A
CCAC1WAAAAAAAAAoA2A1A'A4A2A AoA"A.A
CCAC1WAAAAAAAAAoA2A2A3A7A2AoA9A8A;A
CCAC1WAAAAAAAAAoA2A2A(A1A5A7AoA4A2A
CCAC1WAAAAAAAAAoA2A3A2A4A2AoA A3A5A
CCAC1WAAAAAAAAAoA2A4A6A)A6AoA9A8A;A
CCAC1WAAAAAAAAAoA2A A2AlA8AoA9A8A;A
CCAC1WAAAAAAAAAoA2A*A.A A-AoA5A.A1A
CCAC1WAAAAAAAAAoA2AlA4A(A-AoA5A.A1A
CCAC1WAAAAAAAAAoA3A7AlA.AoA2A)A.A1A
CCAC1WAAAAAAAAAoA3A A#A(A-A1AoA5A*A
CCAC1WAAAAAAAAAoA3A A#A(A-A5AoA5A*A
CCAC1WAAAAAAAAAoA3A A#A(A-A9AoA5A*A
CCAC1WAAAAAAAAAoA3A A#A(A-A AoA5A*A
CCAC1WAAAAAAAAAoA3A A#A(A-A)AoA5A*A
CCAC1WAAAAAAAAAoA3A A#A(A-A;AoA5A*A
CCAC1WAAAAAAAAAoA3AlA4A(A-AoA5A.A1A
CCAC1WAAAAAAAAAoA4A2A A"A7A7AoA A5A
CCAC1WAAAAAAAAAoA4A2A A"A7A7AoA"A"A
CCAC1WAAAAAAAAAoA4A6A#A A1AoA9A8A;A
CCAC1WAAAAAAAAAoA4AqA1AoA"A.AoA4A*A
CCAC1WAAAAAAAAAoA5A1A5A7A6AoA5A.A1A
CCAC1WAAAAAAAAAoA5A4A6A A8A2AoA"A.A
CCAC1WAAAAAAAAAoA5A6A(A3A1AoA5A.A1A
CCAC1WAAAAAAAAAoA5A)A6A A1AoA5A.A1A
CCAC1WAAAAAAAAAoA6A0A A(A2AoA9A8A;A
CCAC1WAAAAAAAAAoA6A3A8A-A8AoA5A.A1A
CCAC1WAAAAAAAAAoA6A5AlA4AoA#A4A;A;A
CCAC1WAAAAAAAAAoA6A(A3A3A AoA5A.A1A
CCAC1WAAAAAAAAAoA6A A*AoA3A.A"A*A2A
CCAC1WAAAAAAAAAoA7A1A1A7A-AoA5A.A1A
CCAC1WAAAAAAAAAoA7A8A)A5A8AoA9A8A;A
CCAC1WAAAAAAAAAoA7A'A7A5A*AoA5A.A1A
CCAC1WAAAAAAAAAoA7A(A7A A5AoA5A.A1A
CCAC1WAAAAAAAAAoA8A4A.A)A)AoA A3A5A
CCAC1WAAAAAAAAAoA8A.A6A"A)AoA5A.A1A
CCAC1WAAAAAAAAAoA8A A-A3A.A.AoA"A.A
CCAC1WAAAAAAAAAoA9A'ApA"A1AoA5A.A1A
CCAC1WAAAAAAAAAoA#A0A"A3A5A.AoA4A2A
CCAC1WAAAAAAAAAoA#A1AlA5A*AoA5A.A1A
CCAC1WAAAAAAAAAoA.A2A"A2A2AoA9A8A;A
CCAC1WAAAAAAAAAoA#A5A5A0A9A9AoA4A2A
CCAC1WAAAAAAAAAoA)A5A'A"A"AoA9A8A;A
CCAC1WAAAAAAAAAoA-A5A-AlA-A*AoA"A.A
CCAC1WAAAAAAAAAoA A6A'A4A-AoA5A.A1A
CCAC1WAAAAAAAAAoA)A7A;A A AoA9A8A;A
CCAC1WAAAAAAAAAoA'A8A8A7AuAoA5A.A1A
CCAC1WAAAAAAAAAoA A9A"A7A'A3AoA5A*A
CCAC1WAAAAAAAAAoA A9A"A7A'A3AoA"A'A
CCAC1WAAAAAAAAAoA-A.A1A9A5AoA5A.A1A
CCAC1WAAAAAAAAAoA*A A1A.A6AoA5A.A1A
CCAC1WAAAAAAAAAoA)A A2A5A AoA5A.A1A
CCAC1WAAAAAAAAAoA#A(A2A#A-A7AoA5A*A
CCAC1WAAAAAAAAAoA*A.A2A)A*A AoA(A3A
CCAC1WAAAAAAAAAoA A"A3A(A2AoA5A.A1A
CCAC1WAAAAAAAAAoA.A A3AwAtAoA9A8A;A
CCAC1WAAAAAAAAAoA"A"A4A3A5AoA9A8A;A
CCAC1WAAAAAAAAAoA.A#A4A4A)AoA A3A5A
CCAC1WAAAAAAAAAoA;A)A4A8A2AoA5A.A1A
CCAC1WAAAAAAAAAoA A)A4A-A-AoA5A.A1A
CCAC1WAAAAAAAAAoA-A A6A A"A5AoA4A2A
CCAC1WAAAAAAAAAoA'A(A9A8A AoA9A8A;A
CCAC1WAAAAAAAAAoA"A-A(A0A4A9AoA5A*A
CCAC1WAAAAAAAAAoA#A'A#A2A5A5AoA4A2A
CCAC1WAAAAAAAAAoA(A A'A4A2A AoA"A.A
CCAC1WAAAAAAAAAoA A-A-A7A(A1AoA"A-A
CCAC1WAAAAAAAAAoA"A A"A7A"A.AoA4A2A
CCAC1WAAAAAAAAAoA'A"A.A9A-AoA5A.A1A
CCAC1WAAAAAAAAAoA-A.A(A)A2AoA5A.A1A
CCAC1WAAAAAAAAAoA"A A-A"A A1AoA"A.A
CCAC1WAAAAAAAAAoA#A.A-A(A*AoA9A8A;A
CCAC1WAAAAAAAAAoA#A-A.A.A#AoA#A(A;A
CCAC1WAAAAAAAAAoA(A.A-AoA"A.AoA5A;A
CCAC1WAAAAAAAAAoA A"AtAwAvAoA9A8A;A
CCAC1WAAAAAAAAAoA*A-AwAtArAoA2A#A2A
CCAC1WAAAAAAAAAoA ArA*AlA"A;AoA"A"A
CCAC1WAAAAAAAAAoA)AyAyAyAoA2A)A.A1A
CCAC1WAAAAAAAAAoApApAsAwAoA6A.A3A*A
CCAC1WAAAAAAAAAoAvAuAuA0AxAoA(A"A4A
CCAC1WAAAAAAAAAoAwAwAwA9AsAoA9A8A;A
CCAC1WAAAAAAAAAoAxAqAxA7A"AoA A1A1A
CCAC1wAAAAAAAAAoAxAtAuAuAvAtAtAwAvAwArAsAtAwAuAtAvArAtAwAuAoA9A8A;A
CCAC1WAAAAAb
CCAC1WAAAAAc
CCAC1WAAAAAC
CCAC1WAAAAAcQ
CCAC1WAAAAAd
CCAC1WAAAAAD
CCAC1WAAAAAe
CCAC1WAAAAAF
CCAC1WAAAAAf2
CCAC1WAAAAAg
CCAC1WAAAAAG
CCAC1WAAAAAh
CCAC1WAAAAAHd
CCAC1WAAAAAHhL
CCAC1WAAAAAHrUx
CCAC1WAAAAAI
CCAC1WAAAAAI(
CCAC1WAAAAAI8
CCAC1WAAAAAj
CCAC1WAAAAAJ
CCAC1WAAAAA?k]
CCAC1WAAAAA@Kq
CCAC1WAAAAALIX
CCAC1WAAAAAlN
CCAC1WAAAAALZ
CCAC1WAAAAA#m
CCAC1WAAAAAm
CCAC1WAAAAAM
CCAC1WAAAAAM4o	
CCAC1WAAAAAn
CCAC1WAAAAAN
CCAC1WAAAAA'NJ
CCAC1WAAAAAo
CCAC1WAAAAAO
CCAC1WAAAAAp
CCAC1WAAAAA)P
CCAC1WAAAAAP
CCAC1WAAAAApP
CCAC1WAAAAA#Q
CCAC1WAAAAAQ
CCAC1WAAAAAQg
CCAC1WAAAAA?qQ
CCAC1WAAAAAQ?W
CCAC1WAAAAAr
CCAC1WAAAAAR
CCAC1WAAAAAR]?P
CCAC1WAAAAA_S
CCAC1WAAAAAs5
CCAC1WAAAAAu
CCAC1WAAAAA]U
CCAC1WAAAAAU
CCAC1WAAAAAv
CCAC1WAAAAAV
CCAC1WAAAAAw
CCAC1WAAAAAx
CCAC1WAAAAAX
CCAC1WAAAAAXv1
CCAC1WAAAAAy
CCAC1WAAAAAy0c
CCAC1WAAAAA	z
CCAC1WAAAAAz
CCAC1WAAAAAZ
CCAC1xAAAAA
CCAC1xAAAAA	
CCAC1xAAAAA|
CCAC1XAAAAA
CCAC1XAAAAA	
CCAC1XAAAAA*
CCAC1XAAAAA-
CCAC1XAAAAA;
CCAC1XAAAAA@
CCAC1XAAAAA]
CCAC1XAAAAA_
CCAC1XAAAAA|
CCAC1XAAAAA0I;
CCAC1XAAAAA1
CCAC1XAAAAA11
CCAC1XAAAAA(2
CCAC1XAAAAA2
CCAC1XAAAAA5
CCAC1XAAAAA6
CCAC1XAAAAA9
CCAC1XAAAAAa
CCAC1XAAAAAa5'
CCAC1XAAAAAA-K
CCAC1XAAAAAb
CCAC1XAAAAAB
CCAC1XAAAAAbz
CCAC1XAAAAAC
CCAC1XAAAAAcK
CCAC1XAAAAACr
CCAC1XAAAAA]d
CCAC1XAAAAAd
CCAC1XAAAAAEo
CCAC1XAAAAAFQGX
CCAC1XAAAAAg
CCAC1XAAAAAG
CCAC1XAAAAA)H
CCAC1XAAAAAhf
CCAC1XAAAAAih
CCAC1XAAAAAj.
CCAC1xAAAAAk
CCAC1XAAAAAK
CCAC1XAAAAA#L
CCAC1XAAAAAm
CCAC1XAAAAAn
CCAC1XAAAAAN
CCAC1XAAAAAo
CCAC1XAAAAA#O
CCAC1XAAAAAO
CCAC1XAAAAAp
CCAC1XAAAAAP
CCAC1XAAAAAp1
CCAC1XAAAAApq)Y
CCAC1XAAAAAq
CCAC1XAAAAAQi
CCAC1XAAAAAr
CCAC1XAAAAAR
CCAC1XAAAAARR
CCAC1XAAAAAs
CCAC1XAAAAAS
CCAC1XAAAAAsG
CCAC1XAAAAA-t
CCAC1XAAAAAt
CCAC1XAAAAAT
CCAC1XAAAAAUcsf
CCAC1XAAAAAw
CCAC1XAAAAAy
CCAC1XAAAAAz
CCAC1yAAAAA
CCAC1YAAAAA
CCAC1YAAAAA	
CCAC1YAAAAA 
CCAC1YAAAAA ;
CCAC1YAAAAA!
CCAC1YAAAAA"
CCAC1YAAAAA#
CCAC1YAAAAA(
CCAC1YAAAAA)
CCAC1YAAAAA-
CCAC1YAAAAA:
CCAC1YAAAAA;
CCAC1YAAAAA?
CCAC1YAAAAA@
CCAC1YAAAAA[
CCAC1YAAAAA]
CCAC1YAAAAA_
CCAC1YAAAAA|
CCAC1YAAAAA0
CCAC1YAAAAA1
CCAC1YAAAAA2
CCAC1YAAAAA2N
CCAC1yAAAAA3;
CCAC1YAAAAA3
CCAC1YAAAAA4
CCAC1YAAAAA4wy
CCAC1YAAAAA!5:
CCAC1YAAAAA5
CCAC1YAAAAA5|
CCAC1YAAAAA6
CCAC1YAAAAA6Ro
CCAC1YAAAAA6we
CCAC1YAAAAA8
CCAC1YAAAAA8G|
CCAC1YAAAAA8v
CCAC1YAAAAA9
CCAC1YAAAAA9!
CCAC1YAAAAA98
CCAC1YAAAAAa
CCAC1YAAAAAAAAAoA0A2A3A.A4AoA2A)A.A1A
CCAC1YAAAAAAAAAoA0A3A(A8A(A3AoA5A.A1A
CCAC1YAAAAAAAAAoA0A5A.A2A"A3AoA5A.A1A
CCAC1YAAAAAAAAAoA0A6A;A*A1A.AoA5A.A1A
CCAC1YAAAAAAAAAoA0A6A(A*A#A9AoA5A.A1A
CCAC1YAAAAAAAAAoA0A7A6A)A6A'AoA5A.A1A
CCAC1YAAAAAAAAAoA0A-A7A5A2A7AoA5A.A1A
CCAC1YAAAAAAAAAoA0A*A8A0A0A6AoA5A.A1A
CCAC1YAAAAAAAAAoA0A(A8A2A'A;AoA5A.A1A
CCAC1YAAAAAAAAAoA0A*A"A8A7A6AoA5A.A1A
CCAC1YAAAAAAAAAoA0A#A"A#A5A AoA5A.A1A
CCAC1YAAAAAAAAAoA1A1A*A5A7A"AoA5A.A1A
CCAC1YAAAAAAAAAoA1A2A"A#A"A0AoA5A.A1A
CCAC1YAAAAAAAAAoA1A4A A;A"A*AoA5A.A1A
CCAC1YAAAAAAAAAoA1A5A'A-A*A7AoA5A.A1A
CCAC1YAAAAAAAAAoA1A6A3A1A1A9AoA5A.A1A
CCAC1YAAAAAAAAAoA1A9A2A5A)A6AoA5A.A1A
CCAC1YAAAAAAAAAoA1A-A4A(A4A2AoA5A.A1A
CCAC1YAAAAAAAAAoA1A A5A"A'A1AoA5A.A1A
CCAC1YAAAAAAAAAoA1A(A(A8A(A2AoA5A.A1A
CCAC1YAAAAAAAAAoA1A.A*A9A A;AoA5A.A1A
CCAC1YAAAAAAAAAoA1A"A;A*A A(AoA5A.A1A
CCAC1YAAAAAAAAAoA2A1A"A.A4A"AoA5A.A1A
CCAC1YAAAAAAAAAoA2A5A4A1A-A4A2AoA(A3A
CCAC1YAAAAAAAAAoA2A6A(A1A1A1AoA9A8A;A
CCAC1YAAAAAAAAAoA2A7A A3A*A AoA#A(A;A
CCAC1YAAAAAAAAAoA2A A2A)A;A5AoA5A.A1A
CCAC1YAAAAAAAAAoA2A.A4A-A4A2AoA A3A5A
CCAC1YAAAAAAAAAoA2A'A.A.A'A-AoA5A.A1A
CCAC1YAAAAAAAAAoA3A5A7A2A"A5AoA5A.A1A
CCAC1YAAAAAAAAAoA3A9A2A1A A0AoA5A.A1A
CCAC1YAAAAAAAAAoA3A A-A1A)A2A AoA3A4A
CCAC1YAAAAAAAAAoA3A.A#A2A.A-A2AoA"A.A
CCAC1YAAAAAAAAAoA4A0A6AoA'A4A5A#A.A-A
CCAC1YAAAAAAAAAoA4A2A AlA"A7A7AoA"A"A
CCAC1YAAAAAAAAAoA4A3A7A;A#A"AoA5A.A1A
CCAC1YAAAAAAAAAoA4A4A8A1A.A7AoA5A.A1A
CCAC1YAAAAAAAAAoA4A9A)A1A1A8AoA5A.A1A
CCAC1YAAAAAAAAAoA4A A3A9A A.AoA5A.A1A
CCAC1YAAAAAAAAAoA4A"A6A9A8A6AoA5A.A1A
CCAC1YAAAAAAAAAoA4A.A7A5A*A0AoA5A.A1A
CCAC1YAAAAAAAAAoA4A'A7A;A9A AoA5A.A1A
CCAC1YAAAAAAAAAoA4A-A.A4A)A)AoA5A.A1A
CCAC1YAAAAAAAAAoA5A3A*A6A A3AoA5A.A1A
CCAC1YAAAAAAAAAoA5A3A-A.A9A3AoA5A.A1A
CCAC1YAAAAAAAAAoA5A4A9A(A2A6AoA5A.A1A
CCAC1YAAAAAAAAAoA5A6A)A-A A0AoA5A.A1A
CCAC1YAAAAAAAAAoA5A7A0A6A4A(AoA5A.A1A
CCAC1YAAAAAAAAAoA5A)A(A1A8A4AoA5A.A1A
CCAC1YAAAAAAAAAoA5A)A*A3A0A*AoA5A.A1A
CCAC1YAAAAAAAAAoA5A)A*A3A A8AoA5A.A1A
CCAC1YAAAAAAAAAoA5A)A(A"A*AoA"A8A.A4A
CCAC1YAAAAAAAAAoA6A5A3A A1A7AoA5A.A1A
CCAC1YAAAAAAAAAoA6A5A*A(A6A'AoA5A.A1A
CCAC1YAAAAAAAAAoA6A6A)A3A)A7AoA5A.A1A
CCAC1YAAAAAAAAAoA6A6A*A.A(A3AoA5A.A1A
CCAC1YAAAAAAAAAoA6A A2A4A5A8AoA9A8A;A
CCAC1YAAAAAAAAAoA6A-A'A5A9A0AoA5A.A1A
CCAC1YAAAAAAAAAoA6A'A*A)A.A(A1AoA5A*A
CCAC1YAAAAAAAAAoA6A'A"A-A*A*AoA5A.A1A
CCAC1YAAAAAAAAAoA7A1A-A)A.A6AoA5A.A1A
CCAC1YAAAAAAAAAoA7A3A9A1A1A5AoA5A.A1A
CCAC1YAAAAAAAAAoA7A;A0A-A1A5AoA5A.A1A
CCAC1YAAAAAAAAAoA7A(A3A.A2A A5AoA3A4A
CCAC1YAAAAAAAAAoA7A A8A-A0A#AoA5A.A1A
CCAC1YAAAAAAAAAoA7A#A9A0A4A*AoA5A.A1A
CCAC1YAAAAAAAAAoA7A(A-A.A4AoA2A)A.A1A
CCAC1YAAAAAAAAAoA7A-A;A.A#A3AoA5A.A1A
CCAC1YAAAAAAAAAoA7AlArAvA'AuAoA5A.A1A
CCAC1YAAAAAAAAAoA8A0A1A0A A6AoA5A.A1A
CCAC1YAAAAAAAAAoA8A4A A.A6A1A AoA3A4A
CCAC1YAAAAAAAAAoA8A9A'A;A.A9AoA5A.A1A
CCAC1YAAAAAAAAAoA8A)A4A7A;A7AoA5A.A1A
CCAC1YAAAAAAAAAoA8A.A-A4A3A*A;AoA4A2A
CCAC1YAAAAAAAAAoA8A*A-A8A7A8AoA5A.A1A
CCAC1YAAAAAAAAAoA8A.A-A*A2A2AoA5A.A1A
CCAC1YAAAAAAAAAoA8A;A(A.A(A)AoA5A.A1A
CCAC1YAAAAAAAAAoA9A4A-A)A A0AoA5A.A1A
CCAC1YAAAAAAAAAoA9A6A(A1A9A2AoA5A.A1A
CCAC1YAAAAAAAAAoA9A7A-A#A6A2AoA5A.A1A
CCAC1YAAAAAAAAAoA9A8A#A6A9A9AoA5A.A1A
CCAC1YAAAAAAAAAoA9A8A#A7A#A2AoA5A.A1A
CCAC1YAAAAAAAAAoA9A*A0A*A3A2AoA5A.A1A
CCAC1YAAAAAAAAAoA9A'A3A)A#A2AoA5A.A1A
CCAC1YAAAAAAAAAoA9A-A6A"A3A7AoA5A.A1A
CCAC1YAAAAAAAAAoA9A A9A4A(A1AoA9A8A;A
CCAC1YAAAAAAAAAoA9A'A'A4A'A-AoA5A.A1A
CCAC1YAAAAAAAAAoA9A;AlA3A ApAoA5A.A1A
CCAC1YAAAAAAAAAoA;A0A1A-A7A AoA5A.A1A
CCAC1YAAAAAAAAAoA)A0A6A0A;A)AoA5A.A1A
CCAC1YAAAAAAAAAoA;A0A(A0A#A8AoA5A.A1A
CCAC1YAAAAAAAAAoA;A0A A6A(A(AoA5A.A1A
CCAC1YAAAAAAAAAoA#A0A)A(A.A2AoA5A.A1A
CCAC1YAAAAAAAAAoA(A1A3A;A6A)AoA5A.A1A
CCAC1YAAAAAAAAAoA*A1A-A6A7A(AoA5A.A1A
CCAC1YAAAAAAAAAoA(A1A"A7A*A4AoA5A.A1A
CCAC1YAAAAAAAAAoA#A1A-A-A-A A6AoA"A A
CCAC1YAAAAAAAAAoA)A2A2AsAoA"A.AoA4A*A
CCAC1YAAAAAAAAAoA(A2A7A4A(A8AoA5A.A1A
CCAC1YAAAAAAAAAoA(A2A*A6A*A)AoA5A.A1A
CCAC1YAAAAAAAAAoA)A2A*A6A)A*AoA5A.A1A
CCAC1YAAAAAAAAAoA)A2A'A-A4A1AoA5A.A1A
CCAC1YAAAAAAAAAoA)A2A AxAoA"A.AoA4A*A
CCAC1YAAAAAAAAAoA.A3A1A(A5AoA#A4A;A;A
CCAC1YAAAAAAAAAoA-A3A2A(A2A;AoA5A.A1A
CCAC1YAAAAAAAAAoA.A3A2A A2AoA2A"A.A5A
CCAC1YAAAAAAAAAoA-A3A3A.A8A2AoA5A.A1A
CCAC1YAAAAAAAAAoA(A3A7A A9AoA2A)A.A1A
CCAC1YAAAAAAAAAoA)A3A9A4A)A7AoA5A.A1A
CCAC1YAAAAAAAAAoA#A3A(A A3A9AoA#A(A;A
CCAC1YAAAAAAAAAoA.A3A"A#A7A7AoA5A.A1A
CCAC1YAAAAAAAAAoA;A3A#A'A;A6AoA5A.A1A
CCAC1YAAAAAAAAAoA A3A"A)A A9AoA1A3A.A
CCAC1YAAAAAAAAAoA.A4A2A6A;A"AoA5A.A1A
CCAC1YAAAAAAAAAoA.A4A7A1A*A-AoA5A.A1A
CCAC1YAAAAAAAAAoA-A4A;A1A9A#AoA5A.A1A
CCAC1YAAAAAAAAAoA*A4A*A4A)A AoA9A8A;A
CCAC1YAAAAAAAAAoA#A4A A7A)A'AoA5A.A1A
CCAC1YAAAAAAAAAoA'A4A;A;A8AoA"A8A.A4A
CCAC1YAAAAAAAAAoA;A4A-A A"A A1AoA5A*A
CCAC1YAAAAAAAAAoA;A4A-A A"A A3AoA5A*A
CCAC1YAAAAAAAAAoA;A4A-A A"A A8AoA5A*A
CCAC1YAAAAAAAAAoA;A4A-A A"A A.AoA5A*A
CCAC1YAAAAAAAAAoA;A4A-A A"A A;AoA5A*A
CCAC1YAAAAAAAAAoA A5A5A9A(A(AoA5A.A1A
CCAC1YAAAAAAAAAoA"A5A6A8A7A0AoA5A.A1A
CCAC1YAAAAAAAAAoA#A5A*A2A1A2AoA5A.A1A
CCAC1YAAAAAAAAAoA"A5A*A6A.A"AoA5A.A1A
CCAC1YAAAAAAAAAoA.A5A(A-A.A.AoA#A(A;A
CCAC1YAAAAAAAAAoA.A6A9A-A#A3AoA5A.A1A
CCAC1YAAAAAAAAAoA*A7A2A-A'A7AoA5A.A1A
CCAC1YAAAAAAAAAoA;A7AlA A6ApAoA5A.A1A
CCAC1YAAAAAAAAAoA.A8A0A"A A'AoA5A.A1A
CCAC1YAAAAAAAAAoA-A8A6A2A6A(AoA5A.A1A
CCAC1YAAAAAAAAAoA"A8A"A7A4A5AoA5A.A1A
CCAC1YAAAAAAAAAoA)A8A"A9A.A1AoA5A.A1A
CCAC1YAAAAAAAAAoA)A8A)A.A6A4AoA5A.A1A
CCAC1YAAAAAAAAAoA;A8A A;A9A9AoA9A8A;A
CCAC1YAAAAAAAAAoA;A8A(A;A9A9AoA9A8A;A
CCAC1YAAAAAAAAAoA#A9A1A A9A6AoA5A.A1A
CCAC1YAAAAAAAAAoA(A9A6A)A7A-AoA5A.A1A
CCAC1YAAAAAAAAAoA"A9A8A3A;A)AoA5A.A1A
CCAC1YAAAAAAAAAoA"A9A*A2A9A*AoA5A.A1A
CCAC1YAAAAAAAAAoA'A9A"A(A;A8AoA5A.A1A
CCAC1YAAAAAAAAAoA)A9A'A*A(A#AoA5A.A1A
CCAC1YAAAAAAAAAoA'A-A0A(A*A#AoA5A.A1A
CCAC1YAAAAAAAAAoA'A(A1A1A2A5AoA5A.A1A
CCAC1YAAAAAAAAAoA-A'A1A(A.A.AoA5A.A1A
CCAC1YAAAAAAAAAoA(A.A2A1AsA1AoA9A8A;A
CCAC1YAAAAAAAAAoA A(A2A4A2A)A(AoA"A A
CCAC1YAAAAAAAAAoA#A(A2A4A(A5A2AoA3A4A
CCAC1YAAAAAAAAAoA-A.A2A A3A.A AoA5A*A
CCAC1YAAAAAAAAAoA-A.A2A A3A.A"AoA5A*A
CCAC1YAAAAAAAAAoA-A.A2A A3A.A#AoA5A*A
CCAC1YAAAAAAAAAoA-A.A2A A3A.A)AoA5A*A
CCAC1YAAAAAAAAAoA"A#A2A-A;A6AoA5A.A1A
CCAC1YAAAAAAAAAoA'A-A2A"A-A8AoA5A.A1A
CCAC1YAAAAAAAAAoA"A A3A5A(A-AoA5A.A1A
CCAC1YAAAAAAAAAoA)A A3A7A0A.AoA5A.A1A
CCAC1YAAAAAAAAAoA#A A3A A2A A5AoA3A4A
CCAC1YAAAAAAAAAoA A"A3A(A2AoA#A4A;A;A
CCAC1YAAAAAAAAAoA*A#A3A.A9A7AoA5A.A1A
CCAC1YAAAAAAAAAoA)A A3A*A A2A.AoA3A4A
CCAC1YAAAAAAAAAoA*A.A4A5A.A3A AoA3A4A
CCAC1YAAAAAAAAAoA.A"A4A-A(A2AoA2A#A2A
CCAC1YAAAAAAAAAoA-A.A5A4A*A.AoA5A.A1A
CCAC1YAAAAAAAAAoA*A(A5A"A)A A*AoA4A2A
CCAC1YAAAAAAAAAoA;A"A6A9A3A9AoA5A.A1A
CCAC1YAAAAAAAAAoA-A A6A9A3A"AoA5A.A1A
CCAC1YAAAAAAAAAoA#A"A7A6A1A0AoA5A.A1A
CCAC1YAAAAAAAAAoA)A*A7A8A'A8AoA5A.A1A
CCAC1YAAAAAAAAAoA-A-A7A9A'A1AoA5A.A1A
CCAC1YAAAAAAAAAoA*A;A8A5A7A.AoA5A.A1A
CCAC1YAAAAAAAAAoA;A;A8A;A#A.AoA5A.A1A
CCAC1YAAAAAAAAAoA'A-A8A"A.AoA2A)A.A1A
CCAC1YAAAAAAAAAoA-A.A9A"A7A*AoA5A.A1A
CCAC1YAAAAAAAAAoA;A-A9A"A'A8AoA5A.A1A
CCAC1YAAAAAAAAAoA)A A;A0A2A1AoA5A.A1A
CCAC1YAAAAAAAAAoA"A-A"A0ApAoA"A-A4A#A
CCAC1YAAAAAAAAAoA A#A*A2A3A1AoA5A.A1A
CCAC1YAAAAAAAAAoA#A;A-A3A0A#AoA5A.A1A
CCAC1YAAAAAAAAAoA)A(A"A3A4A2A)AoA"A.A
CCAC1YAAAAAAAAAoA)A.A#A5A.A8A2AoA'A3A
CCAC1YAAAAAAAAAoA"A;A A5A'A.AoA5A.A1A
CCAC1YAAAAAAAAAoA#A-A(A5A;AoA"A8A.A4A
CCAC1YAAAAAAAAAoA A.A'A6A(A1AoA5A.A1A
CCAC1YAAAAAAAAAoA)A'A'A7A2A"AoA5A.A1A
CCAC1YAAAAAAAAAoA"A#A;A7A(A.AoA5A.A1A
CCAC1YAAAAAAAAAoA(A#A#A8A.A*AoA5A.A1A
CCAC1YAAAAAAAAAoA-A)A(A9A A*AoA5A.A1A
CCAC1YAAAAAAAAAoA;A(A A9A A AoA5A.A1A
CCAC1YAAAAAAAAAoA.A-A)A)A1A2AoA5A.A1A
CCAC1YAAAAAAAAAoA"A)A-A(A2A5AoA#A(A;A
CCAC1YAAAAAAAAAoA.A-A'A#A4A9AoA5A.A1A
CCAC1YAAAAAAAAAoA'A A.A*A4A*AoA5A.A1A
CCAC1YAAAAAAAAAoA.A*A*A-A4A"AoA5A.A1A
CCAC1YAAAAAAAAAoA-A*A-A'A5A9AoA5A.A1A
CCAC1YAAAAAAAAAoA A#A A'A5AoA"A8A.A4A
CCAC1YAAAAAAAAAoA)A.A#A#A(A2AoA9A8A;A
CCAC1YAAAAAAAAAoA"A#A)A;A.A3AoA5A.A1A
CCAC1YAAAAAAAAAoA.A)A#A(A-A7AoA5A.A1A
CCAC1YAAAAAAAAAoA"A A-A#A.A9AoA9A8A;A
CCAC1YAAAAAAAAAoA A-A-A'A(A-A-AoA"A.A
CCAC1YAAAAAAAAAoA)A A.A#A(AoA2A)A.A1A
CCAC1YAAAAAAAAAoA A#A'AlA"A A1AoA"A.A
CCAC1YAAAAAAAAAoA*A;AlA-A.AsAoA5A.A1A
CCAC1YAAAAAAAAAoA"A*AlA)A.AxAoA5A.A1A
CCAC1YAAAAAAAAAoA A AsAyApAyAoA9A8A;A
CCAC1YAAAAAAAAAoA A AsAyAwAvAoA9A8A;A
CCAC1YAAAAAAAAAoA*A-AwAtArAoA"A8A.A4A
CCAC1YAAAAAAAAAoA A AwAvAyAsAoA9A8A;A
CCAC1YAAAAAAAAAoA;AlA"A A"AoA2A)A.A1A
CCAC1YAAAAAAAAAoA AqA4A5A)AoA2A)A.A1A
CCAC1YAAAAAAAAAoApAyAqAqA7A"AoA A1A1A
CCAC1yAAAAAAAAAoAqAqAwAvArAwAtAsAtAvAvAxApAwAsArAxAqAqAvAyAxAoA9A8A;A
CCAC1YAAAAAAAAAoAuA0A;A0A'A;AoA(A"A4A
CCAC1yAAAAAAAAAoAyAxAyAuAvAyArAuArAyAvAyArAuAyAxAsAxAyAvAuAoA"A-A4A#A
CCAC1YAAAAAB
CCAC1YAAAAAbs
CCAC1YAAAAAc
CCAC1YAAAAAC
CCAC1YAAAAAd
CCAC1YAAAAAD
CCAC1YAAAAAE
CCAC1YAAAAAeP
CCAC1YAAAAAf
CCAC1YAAAAAF
CCAC1YAAAAA-fu
CCAC1YAAAAA!g
CCAC1YAAAAAg
CCAC1YAAAAAG
CCAC1YAAAAAgK
CCAC1YAAAAAh
CCAC1YAAAAAH
CCAC1YAAAAAH6
CCAC1YAAAAA[Hh
CCAC1YAAAAAi
CCAC1YAAAAAI
CCAC1YAAAAAj
CCAC1YAAAAAj-
CCAC1YAAAAAJ*A)
CCAC1YAAAAAjM
CCAC1YAAAAAJPu
CCAC1YAAAAAK
CCAC1YAAAAAKC
CCAC1YAAAAAL
CCAC1YAAAAALV
CCAC1YAAAAAm[-
CCAC1YAAAAAm1
CCAC1YAAAAAMD
CCAC1YAAAAA|n
CCAC1YAAAAAN
CCAC1YAAAAAN #
CCAC1YAAAAAnK
CCAC1YAAAAAnr
CCAC1YAAAAAo
CCAC1YAAAAAo(
CCAC1YAAAAA O7
CCAC1YAAAAAp
CCAC1YAAAAAP
CCAC1YAAAAAPf
CCAC1YAAAAApI
CCAC1YAAAAAPX
CCAC1YAAAAAq
CCAC1YAAAAAQ
CCAC1YAAAAAqm@J
CCAC1YAAAAAR
CCAC1YAAAAAR!
CCAC1yAAAAAR2
CCAC1YAAAAARv
CCAC1yAAAAAs
CCAC1YAAAAAS
CCAC1YAAAAAS(
CCAC1YAAAAA:s9
CCAC1YAAAAASf
CCAC1YAAAAAssm
CCAC1YAAAAAt
CCAC1YAAAAAT
CCAC1YAAAAAt9iz
CCAC1YAAAAAu
CCAC1YAAAAAU
CCAC1YAAAAAUOT
CCAC1YAAAAAv
CCAC1YAAAAAV
CCAC1YAAAAAw
CCAC1YAAAAAW1
CCAC1YAAAAA*w'u
CCAC1YAAAAAx
CCAC1YAAAAAXr
CCAC1YAAAAAy
CCAC1YAAAAAY
CCAC1YAAAAAyO
CCAC1YAAAAAz
CCAC1YAAAAAz;
CCAC1YAAAAAZ
CCAC1zAAAAA
CCAC1zAAAAA[!
CCAC1ZAAAAA
CCAC1ZAAAAA	
CCAC1ZAAAAA!
CCAC1ZAAAAA"
CCAC1ZAAAAA"'
CCAC1ZAAAAA#
CCAC1ZAAAAA(
CCAC1ZAAAAA*
CCAC1ZAAAAA-
CCAC1ZAAAAA.
CCAC1ZAAAAA:
CCAC1ZAAAAA?
CCAC1ZAAAAA?'
CCAC1ZAAAAA[
CCAC1ZAAAAA]
CCAC1ZAAAAA_
CCAC1ZAAAAA|
CCAC1ZAAAAA"0
CCAC1ZAAAAA0
CCAC1zAAAAA0n
CCAC1ZAAAAA1
CCAC1ZAAAAA2
CCAC1ZAAAAA3
CCAC1ZAAAAA3q
CCAC1ZAAAAA4g2
CCAC1ZAAAAA5
CCAC1ZAAAAA7
CCAC1ZAAAAA75R
CCAC1ZAAAAA8
CCAC1ZAAAAA9]q
CCAC1zAAAAA9v(
CCAC1ZAAAAAa
CCAC1ZAAAAAA
CCAC1ZAAAAAB
CCAC1zAAAAAb02
CCAC1ZAAAAAb5fc
CCAC1ZAAAAAB:.O
CCAC1ZAAAAA;C
CCAC1ZAAAAAC
CCAC1ZAAAAAcU
CCAC1ZAAAAADF
CCAC1ZAAAAAe
CCAC1ZAAAAAE
CCAC1ZAAAAAeq
CCAC1ZAAAAAF
CCAC1ZAAAAAF'3
CCAC1ZAAAAAfo
CCAC1ZAAAAA'Fv
CCAC1ZAAAAAfyW
CCAC1ZAAAAA;g
CCAC1ZAAAAAG
CCAC1zAAAAAh
CCAC1ZAAAAA(h
CCAC1ZAAAAAh
CCAC1ZAAAAAH
CCAC1ZAAAAAi
CCAC1ZAAAAAI
CCAC1zAAAAAJ
CCAC1ZAAAAA]j#
CCAC1ZAAAAAJ
CCAC1ZAAAAAk
CCAC1ZAAAAAK
CCAC1ZAAAAA)L
CCAC1ZAAAAA@L
CCAC1ZAAAAAL
CCAC1ZAAAAAm
CCAC1ZAAAAAM
CCAC1ZAAAAAM]
CCAC1ZAAAAAn
CCAC1ZAAAAAN
CCAC1ZAAAAANyn
CCAC1ZAAAAAo
CCAC1ZAAAAAO
CCAC1ZAAAAAol
CCAC1ZAAAAAP
CCAC1ZAAAAAPl
CCAC1ZAAAAAPm
CCAC1ZAAAAA'q
CCAC1ZAAAAAQ
CCAC1ZAAAAAqmM
CCAC1ZAAAAAr)
CCAC1ZAAAAAR
CCAC1ZAAAAAS
CCAC1ZAAAAA(Sry
CCAC1ZAAAAAsu
CCAC1ZAAAAAt
CCAC1ZAAAAAT
CCAC1ZAAAAAtEu
CCAC1ZAAAAAu
CCAC1ZAAAAAuT_
CCAC1ZAAAAAv
CCAC1ZAAAAAV
CCAC1ZAAAAAvl
CCAC1ZAAAAAw
CCAC1ZAAAAAW
CCAC1ZAAAAAw0
CCAC1ZAAAAAWV
CCAC1ZAAAAAX
CCAC1ZAAAAAy
CCAC1ZAAAAAz
CCACCACACAANNO]O]O]O]O]O]O
"CC@AD1AAAAAAAAAA@AAAAAAA
"CC@AD1AAAAAAAAAAAAAAAAAA
CCA@D1AAAAAAAAAA@AAAAAAAA
CC[AD[XJ
CC@AGqAAAAAAAAAACC@APqAAAAAAAAAA]Y]]X
CC@@A@h EN
C@_CAHGMMB@QXSQO]YF
CCAHMDKDA
CC@@A@h MR
CC@@A@h NL
CCAJSDNQ_@
CCBDA_YPD
[CCBEACBECC
CC]BGFMPBD[
C_CBGQO]]O
CC@@B@h R_
CCBJ_MMO
CC]BMBDCPGZJO
[C@_CBSGYN
@#@@C@CCac
@@C@CCac
c]ccac[c0
cccAccac
CCCACCACACAANNO]O]O]O]O]O]O
CCCAFQO]M
)))CCCBBCCDDDDDDDDDDDDDDDDDDDDDDDDD
@|CcCBC5C#C
CCCBCBLA
cccBccacxc0
c(c(c(c(
CCCc1@AAAAA
CCCc1CAAAAA
c	c	c	c	b	
ccc*ccac c0
cccCccacyc0
[][CCCCCCCCC[
CCCCCGGG
cccEccacCc0
cc]cgfG8Uv
cccgfGHm
c)))CCJJKK
cccLccacJc0
!cCCNCCCBACC
?cCCNCCCBACC
cCCNCCCBACC
C]CCNCCCBACC]
cCCNCCCBACC0E
'cCCNCCCBACCe
cCCNCCCBACCF
[cCCNCCCBACCN
cCCNCCCBACCr"
CCCS[LGMG
ccctccacrc0
cccuccacsc0
cccUUMUUB
cccvccaclc0
?"[["  cccxccacvc0
cccxccacvc0
cccyccacwc0
ccczccacpc0
cC[[[D[[[
CCD]BQKX
CCDDPH@ZOS
CCD_FQSMZ
C@CDGG@BEXSBK
CCDHNGF@CJM
CC[_DLZSP
CCDOP_GZG
CC[DPJ_M[
CCD_PPXMEA
@@C@CEac
C[CEDSZFEL]MZBP
CC@EM@ONJ
CCEP@Z@DA
CC@EQMP]
cC"eU[[[
CCEYJYNKLHPMLQPQQ
@@C@CFac
CCFLNCXEO
CCFYAHP]
CC[GCYD]
c]cgfG.b
ccggfw5m
_[CCG[J[QYLQ
CCGLEPZCJOH]Y
CCGLOECQNHJGJ_G
CCGOJLJZGM
C]CGOO]AM
@@@@@@CCgp@O;
cC#gqgg(
cCgqgg?m
CcgsagfG5
CCGXEBQQ@GNMYJKY]ZZCX
CCGXEMSG
C]C[G_YX
CCHBM[EL
c)))CHCH@GOF
CCHDZN_S
CC]H_FXP
CcHgQkgfG
CChildFrame
]CCHJQMG[
CCHK_AXC
CCHLFCQGM
CCHOCANM_ZHA_M_CMH_N_ZHNJ_MNZ
CCHZD]BAY
CCIBAR1AG3
c[cicXcj
CCJASSSSSSSH
]C[CJC]L
cC[[[J[[[H[[[[[[dY[[[I[[[
!)))CCJJCC
!)))CCJJJC
 )))CCJJJJC
!)))CCJJKK
)))CCJJKK
)))CCJJKKBL[GLE
CCJJKKCCJJ
CCJJKKCCJJK
CCJJKKCCJJKK
CCJJKKCCJJKKH
CCJJKKCCJJKKX
CCJJKKGEFHM]F
)))CCJJKKMFYH]L[Z
	)))CCJJKKOEHZ]L[
CCJJKKOEHZ]L[
CCJLP@PMSED_XJASL
CCJMKYB[
CCJMM_QB]
CCJ[SSSSSSSSHEQG
cCKMHegfG
CCK_Q]XH
CCKYPOE]MMB
CCKYSMXK
CCLFPDCYSBK]POAGQXO
_CCLJMQADCGCZGOG
CCLKGNBBK
cCllllllllmllllOllylm
CC[LLQ@SHAKNG_KHDD
CCLMAM_YGM
CCLMCAM_YGM
CCL@M]OQX
CCLNAGCLAD
CCLZBEDC
C_CMGJFZP
CcmiMigrationTypeCreateOnlyWWH
ccmiMigrationTypeMigrateWH
CCM]_LQAZ
]CC[ML]XZZ[YKZ__
[][CCMMMCCCC[
CCMOXGZ_BLNSOH
CCMPCB_ZFA
CCMPXBJNH
CCMYJBJ]Q
CCMZ[NHOMZ
CCNAXJ_B
	_CCNCCCBACC
"CCNCCCBACC
'_CCNCCCBACC
)_CCNCCCBACC
*CCNCCCBACC
-]CCNCCCBACC
-CCNCCCBACC
._CCNCCCBACC
@CCNCCCBACC
[CCNCCCBACC
]CCNCCCBACC
]CCNCCCBACC#
]CCNCCCBACC-
__CCNCCCBACC
_CCNCCCBACC
_CCNCCCBACC#
_CCNCCCBACC#	
_CCNCCCBACC)
_CCNCCCBACC|
CCNCCCBACC
CCNCCCBACC@
[CCNCCCBACC1
]CCNCCCBACC2
CCNCCCBACC2
]CCNCCCBACC3K
_CCNCCCBACC4x
#CCNCCCBACC5
_CCNCCCBACC6
CCNCCCBACC6
]CCNCCCBACC64
]CCNCCCBACC7?
]CCNCCCBACC9
_CCNCCCBACCb
_CCNCCCBACCc
_CCNCCCBACCDC
]CCNCCCBACC@ew
_CCNCCCBACCf
CCNCCCBACCH
_CCNCCCBACCj'
_CCNCCCBACCl
]CCNCCCBACCM3
]CCNCCCBACCn
_CCNCCCBACCN
_CCNCCCBACCo
CCNCCCBACCo
_CCNCCCBACCO
]CCNCCCBACCpj
CCNCCCBACC[q
CCNCCCBACCr'
_CCNCCCBACCr2
_CCNCCCBACC#S
_CCNCCCBACCt
 CCNCCCBACCT
_CCNCCCBACCu
]CCNCCCBACCUA
]CCNCCCBACC(w
]CCNCCCBACCw
CCNCCCBACCx[*
_CCNCCCBACCY
]CCNCCCBACCz
_CCNCCCBACCZ
CCNEG]P_JCKNBJZ
CCNKK]E[XO
CCNMSXGSO[B
CCNQE_[DYO
[CCNSBSP
CCNY[LKSQQYD_PHKL
]][CCOBJ
@CCODX[O
CCOLL@AO@X]
CConsolePropPage
CConsolePropSheet
CCOYFZ_DHJEK_
C@@@@@@@@Cp@_
[]CCPAXOJ
C_CPECKC
CCpgppepq
C[CPH[@@GZ
CCP[H[OO
CCPSC]@[
CCQGODHN
ccqjqqWq-
C[CQ]J_[SXCMK@JBEMOFKS
C]CQJYZQD
CCQLKAAAD
CCQOSZKOGAXP
C[CQP]OGZE
ccqSqqWq-
[CCQYLB]Z]EZ@P
CCQ[ZGLQ
cC rllllllllmllllOllylm
CCSCHQZMBA
@cCSCJCDC6C
C_CSJLSCC
C@CSJ]YDFNu
CCSKJ@N_P[S
CC[SMJ[ASDMAKO
CCSNZ[SK
C[CSOQCMC
CCS[YSEAY]PANYD@H
CCSZHBSJK
cctZmgfG
CCXC[_DO
[CCXLHD]G@@L
[CCXLYMGM_H
ccxOxxzxzxzxxyxhy
@@@@@@CCXpKD
CCXX[QPGBSJ
cc]Y]].[_
cc]Y]][]]
cC]Y]]1'Y
cC]Y]]B'Y
CCY@FJMXSEASEMEXHLJQ
CCY]JEBF
CCYK]YYD
CCY]PY@KFL
cC]Y]]	'Y
CCZBNYCELJ@[_LC@EJDS_SA
CC@ZDCAHP
c)))CZFG
CCZHOD[XG
CCZHZ_EBQKN
CCZJ__JC_HZJ_CHJ_AHNJMAZHNAM
CCZL@_X[_M
CCZXAPMAG
CCZZMMOO
cd_[[[:[[[
!C(d_[[[
:C(d[[[[
?C(d_[[[
]"Cd_[[[
Cd@[[[	[[[
Cd][[[![[[
[[[C[[[D[[[
cD0gqgg0xs
Cd_[[[6[[[
c*d](7f5
cD8llllllllmllllOllylm
c@D9kHtkH
Cd][[[A[[[
Cd_[[[A[[[
CDABGASZ
-@CDACB_
-@CDACE_
CdA[[[D[[[
-@CDA@D_
CDADZQ[F
CDAH@NCFLLL
CdA[[[J[[[I[[[
CDA]@PLG
CDAQPSYOONLGJSKQP
CdA[[[S[[[
CDAZOJOPJ
c@@DBB@P0@@@@@@
@CDBCgdD@UQLs9
CDBCKLHL
CDB@CNJJDYB
]CDBHBEX@X]A]B[CS[DSLYQBB_HCP
-@CDBHH_
cdB[[[j[[[
CDBJONOY
CD[B][QD@@XA
CdB[[[Q[[[z[[[
'[[[:C(dC[[[
CdC[[[)[[[
CdC[[[9[[[?[[[UuWdI[[[8[[[
CdCACC 1AaZ
CDCAM]CCBYG[_Z
CdC[[[c[[[
C]DCCNOJL[]BJL[DDDA
]CdC[[[i[[[m[[[G
_CDCJMZPL
[C_DCL__
CDC]MKPNJZLDMNMZJJD]LBOQKACPC
CdC[[[P[[[
CDCZBJ]DZ
CdC[[[z[[[v[[[
Cd[[[[D[[[
CdD[[[2[[[
CDDCLSFXF
cDDDDDDDDDDDDDDDD]Y]]v _
CDDGHPZL
CD[@DHMM]KGCQKHY_P@KH]Z
CDDHSSJD
CD[DJ_[DJOJ]
C@DDJi_ZY
C@DDMLDP
cDdN[[[Y[[[
C@DDPKFEZ]HM
CDDSM_SQJQ_QZ]CA
CDdT[[[g[[[
cDdU[[[Y[[[
c DdX[[[j[[[
?[[[]cDdy[[[
CDdZ[[[_[[[][[[
)))CDDZ]F[L
cDdz[[[Y[[[
@CD_E9YBC
C.D.E.F.
C-d|(Efb
-C-D-E-F-G-H-
CdE[[[g[[[
[CDEGHX[ANSZ
]CDESOZNAJJ]
cDestFieldsW@
CDEZDMAD
CdF[[[*[[[
CdF[[[3[[[
CdF[[[B[[[A[[[
CdF[[[E[[[
-@CDFFF_
C	D	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	
CdF[[[I[[[
-@CDFIB_
-@CDFII_
CDFPKNOAC
CdF[[[U[[[T[[[
CDFVersion
CdF[[[Z[[[
CdG[[[	[[[
CDG_ADSQ
CDGBN[LCH_BFOSJO
CDGDCS_Q
CDGenerateRandomBits
cdgfGAvI2gqgg
c_dgfGhD
C?Dg)gggG
CdG[[[j[[[h[[[pm
CDG__JJL_
CDG]JX[ZA]PO[@[@JP
CDGKA_A_PPN
.CdgmcgfG
CDGPKAZB
cDgYdgfGp
CD[GYZSK
'CdG[[[Z[[[([[[
CDGZPSLK
CdH[[[#[[[
cdH[[[1[[[
:C(dH[[[4[[[
CDH[GKPB
CdH[[[_[[[L[[[
Cd[[[[H[[[L[[[u
CDH_PCBB
CDHPXOAKX[P
CdH[[[R[[[V[[[P
CDHSO_H_
CdH[[[t[[[
cdH[[[x[[[v[[[
cdH[[[z[[[x[[[r
CdI[[[7[[[
CdI[[[b[[[
CdI[[[C[[[
CdI[[[D[[[
CdI[[[i[[[
CdI[[[I[[[r[[[
CdI[[[j[[[
CdI[[[p[[[
CDirectUIRender
CDiskCleanupPage
CdI[[[T[[[G[[[
CdI[[[V[[[
'CdI[[[Z[[[
CdI[[[Z[[[![[[
cdJ[[[?[[[
CdJ[[[	[[[
-CdJ[[[2[[[*[[[
CdJ[[[3[[[
CdJ[[[4[[[![[[
CdJ[[[6[[[5[[['K
CdJ[[[:[[[9[[[|
cdJ[[[a[[[4[[[;
CDJAJPKZ
c)))D@J[FZFO]
CdJ[[[g[[[
CDjgiZgfGf
Cd][[[j[[[h[[[Q
C]DJJEEPJEL
cdjkSSSSSSS
cdJ[[[l[[[e[[[
CDJNEFGL
cdJ[[[n[[[f[[[0q
C_]D[JNGF
CD[JOQQJQ
CdJ[[[Y[[[H[[[A
[[[:C(dK[[[
C(dK[[[-
C(dK[[[@[[[
CdK[[[ [[[
CdK[[[#[[[
CdK[[[1[[[
cdK[[[5[[[ [[[Of
cdK[[[a[[[
CDKD[]Q[O
CdK[[[G[[[
CDKHKFSO_
cdK[[[i[[[m[[[
C[D[K_LG
CDK]MXL[[LJGLSO_OQXHM
CDK[N[[_[[FSQM
CdK[[[N[[[M[[[#l
cdK[[[o[[[n[[[
CDKOQPZG
CdK[[[W[[[
CdL[[[	[[[
CdL[[[;[[[
CdL[[[4[[[*[[[
cdL[[[d[[[
CDLDCDMQFO
C]DLDN]YN_
CdL[[[i[[[d[[[
CdL[[[k[[[
CDLK]N]]YSJ_LX
C_DLLQHGA_BHP]_GGYMJ
[CDLM]CEH
CDLocateCheckSum
CDLocateCSystem
"(CdL[[[P[[[
CDLQ_ZBOBH
cdL[[[r[[[a[[[
CdL[[[@[[[s[[[
CdL[[[T[[[K[[[T
CdL[[[U[[[
CdL[[[U[[[H[[[
CdL[[[y[[[d[[[2fQdH[[[x[[[h[[[R
CDLYLGMJ]
CdL[[[z[[[g[[[U
CdM[[[0[[[5[[[
CdM[[[2[[[
CdM[[[a[[[
CdM[[[H[[[
CdM[[[J[[[y[[[
CD@M]LCJ
CDML_LOE]K[C
c@dM[[[m[[[
CdM[[[m[[[
CdM[[[N[[[L[[[
CDM]QFHZ_YE
C]DMQS_B_GZ
cdM[[[r[[[
cdM[[[|[[[s[[[
C@DMSXASX]ZC
C(dM[[[V[[[K[[[
CdM[[[x[[[
CDMZYXSQBC
CdN[[[	[[[
CdN[[[?[[[3[[[
CDNCOMBM
C_DNFGMODD_BMYHMH
CdN[[[g[[[
CdN[[[i[[[
cdN[[[j[[[
CdN[[[k[[[
CDNP_CKH_
CD[NY[QLQF
C_dN[[[Z[[[
c;_dO[[[
!CdO[[[	[[[
CdO[[[#[[["[[[
CdO[[[*[[[([[[
CdO[[[1[[[)[[[o'LdF[[[0[[[*[[[
c_dO[[[a[[[
c[dO[[[C[[[B[[[
CDockWindow
CdO[[[d[[[
CdO[[[g[[[
CdO[[[l[[[
C]DOMAXAH
CdO[[[N[[[L[[[
C[DOQOKHK
CDOQQ]N]OG
c|dO[[[|[[[s[[[FX
CdO[[[T[[[y[[[Q
CdO[[[x[[[
C_DOXZDSOMQX
CDOYGYOSZD_SYAPBP
CdO[[[Y[[[H[[['
C@DOZXSNS]
Cd_[[[P[[[
CdP[[["[[[
CdP[[[4[[[([[[h
cdp9bjcdjZ
cdP[[[f[[[
Cd_[[[P[[[G[[[
CDP[]GLHYKHNNXX
cDpgppepq
CDpgppepq
C]DPKCNX
CDPKSQPHFK
cdP[[[p[[[w[[[
CDPQPHYA]
C[DP_[QSAP
CdQ[[[![[[
CdQ[[[;[[[1[[[
C||||dQ8(
CDQCMLLJZJYM_BL_OF
@C@DQDMX
CDQ]EAEAQZZ
cdQ[[[F[[[E[[[ 
CdQ[[[i[[[h[[[
CDQJFGZFEL
CdQ[[[n[[[b[[[M
CDQNJF[XAONPCDJO_PBCM@
CDQPCJAS
CdQ[[[r[[[
CdR[[[	[[[
CdR[[[d[[[
CdR[[[L[[[A[[[#
CdR[[[L[[[a[[[_mceX[[[C[[[@[[[
cdS[[[|[[[
|C(dS[[[
CdS[[[)[[[.[[[
*CdS[[[3[[[1[[[
CdS[[[9[[[
CD[SBFFGN
CDSClientGetSettingUnitsFailure
CDSClientUploadedSettingFromSettingSync
CDS_EMJNLL]P_OMO[@Q
CdS[[[g[[[
cdS[[[h[[[
CDSKJYZBMMM
C]DSKYKND]_F
CdS[[[m[[[
cd_[[[S[[[M[[[#a
CDSMXLSPE
CDSSCENLHXO
cd!sto!h
CdS[[[w[[[j[[[c
CDSYBD@Q
Cd@[[[t[[[
(C(dT[[[
Cd][[[T[[[
CdT[[[8[[[
CdT[[[Y[[[S[[[
CdT[[[Z[[[
-CdU[[[	
CdU[[[	[[[
cdU[[[2[[[-[[[
CdU[[[;[[[3[[[
c*dU-7f[[
CdU[[[a[[[g[[[
CdU[[[e[[[d[[[d_
CdU[[[i[[[
CdU[[[I[[[B[[[
?C(dU[[[U[[[
cdUUBUUQJ
C[[[[[[dV[[[
CdV[[[4[[[
cd:!vddP
CdV[[[e[[[
CdV[[[q[[[
CdV[[[s[[[u[[[
cdV[[[Z[[[
CdV[[[Z[[[G[[[F
CD]wCwFwFJ
cdW[[[N[[[L[[[
CdW[[[Z[[[
Cdx[[["[[[
CdX[[[-[[[
C_dX[[[A[[[
CdX[[[c[[[
CDXHSLZL
CdX[[[I[[[F[[[
Cdx[[[K[[[J[[[c
C]DXQJXE[CMH[S
CdX[[[T[[[M[[[
_][CDXXEA
CDXY[ESZ
#C(dY[[[
CdY[[[	[[[
CdY[[[;[[[
C(dY[[[8
CdY[[[A[[[
CDY@AZYBKQ_J]KOZA@P
CDYCQYSJ
CdY[[[F[[[
[CDYGMBKK]DPCZ@XYSNALK
Cdy[[[N[[[A[[[)"WdX[[[
CD@YQFBOO@CZYNJ@F
]CDYQ[_ZAHP
CDYYQGOZ
CDYZALEE))
c	_dz[[[
cdZ[[[*[[[
C(dZ[[[5
CdZ[[[6[[[
CD_Z[CHN
CDZEG_M[H
CdZ[[[G[[[D[[[
CdZ[[[I[[[
CDZ@_JO]G@
CdZ[[[K[[[I[[[
]CDZMKZF
CdZ[[[o[[[
CDZ_QHCD
CDZQJYHK[JCOO
CdZ[[[u[[[
CdZ[[[W[[[J[[[
CD[ZYG_PG
[[[c[[[e[[[
c#e[[[[2[[[
ce70!4UUNUUY
ceA[[[a[[[e[[[;
c@@@@@*@@E@ACa
]C_EAJNO]EN
ceA[[[N[[[
CEAOGGJO@
CEAOH[N[N[[G
CEAPCZLE
CEAPGEGQ_]K
CEAZKHEEHKGENMX
ceB[[[	[[[
c]Eb3dR(l
CEBAGCJG[]
@CEBCg"BWBV
CEBL]_QD
")))CE[BX
CEB[YLLE
[[[;C"eC[[[
C"eC[[[#
C"eC[[[(
CECBECBEEECBEEBEBEBC
cEccacCc0
CeC[[[y[[[t[[[
ced2"UdkV
C[E_DC@HKGKQC
CEDJLMC[
CEDKG[MLD
CEDPGFJNAJBY]O
CED]QFNAL
CedTIek'
CED_XEBN
CEECSN_LDX
CEEDG_KZ
cEEiNJECT 
-@CEF@E_
cEf G-dQKkg
CeF[[[j[[[
CEfpgppepq
CEFPLOZQXAXLQBJ
CeG[[[1[[[*[[[
CEGAMCOM
CegfGD[?WgqggQ
c	egfG_Nw
:C; egfw sY(x
Ceggfwgc
CEGGNLXDY]EO
c#egodgfG
C#egqgg0
CEGZNDCY
C"eH[[[7
CEHGCHPQKD
]CEHSJD_L
C	EHV@xyxiyBLMNIJW
CE[HZZ[J
C"eI[[[c[[[
ce_[[[I[[[j[[[o
ceJ[[[![[['[[[6
CEJKJB]MPMMMOY
CEJN@S[A
CEJQ_YJD_XK
c#eJ[[[X[[[B[[[dVudz[[[_[[[I[[[
_CEJYDMZB]
[[[;C"eK[[[
cEKg?agfG
CEkgqgg.z
ceKgWegfG
c)))E@K]L[D@GOF
CeK[[[y[[[
CEKYAASSJC
CeK[[[Z[[[
CELCZMCF]CE
c)))]@]ELKH[
CellContentsL
]CEL[]LF
CellllllllmllllOllylmG
cellllllllmllllOllylmN
cell_size_check
CE@LNA]ZM_P
ceL[[[V[[[I[[[
CELXEJGE
C]ELXPALPYY
CELZYOKEC
c#eM[[[5[[[
CEMA[_EDG_KZ
CEMA_PK@K
CEMCSLDY]]
_C]EMHPMYP
ceM[[[i[[[
CEMKB_MDD
ceM[[[q[[[j[[[
CEMS@GOQQEJN_G[LDJA
CeN[[[|[[[
CEN]BNZNHGDPHNB
CENJYG]_H]
CENO]OBM_L
CENO]S_ZYAOMZKDQ
cEntries8
ceN[[[V[[[
CeN[[[V[[[
[CE[NX[OAHJ
CEOB@HSHEOQALGQLS
ceO[[[E[[[y[[[
CeO[[[N[[[C[[[V
CEONEGMK
CEOQOBCHHNDYD[
ceO[[[t[[[h[[[
Ce).pcwm
ceP[[[f[[[
CEPZZB_XP
[[[-|ceQ[[[
C"eQ[[[?
C"eQ[[[g
C@EQOFZC
CEQXL_JQMGAEY
CEQXLMBS
?C"eR[[[	
CeR[[[k[[[
c#eR[[[q[[[w[[[
CertAddCertificateContextToStore
CertAddEncodedCertificateToStore
CertCloseStore
CertCreateCertificateContext
CertDeleteCertificateFromStore
CertEnumCertificatesInStore
CertFindCertificateInStore
CertFreeCertificateChain
CertFreeCertificateContext
CertGetCertificateChain
CertGetCertificateContextProperty
CertGetEnhancedKeyUsage
CertGetIntendedKeyUsage
CertGetNameStringW
CertificateChain
Certificates
certificateserialnumber
certinvaliddetails
CertNameToStrW
CertOpenStore
CertStrToNameW
cert_utils.cpp
cert_utils.h
CertVerifyCertificateChainPolicy
CESBMJHCQH
CESCJOHYYJB
[[[.|ceS[[[e[[[
CeS[[[F[[[y[[[
c#eS[[[k[[[
ceSSSSSSSS
CeS[[[@[[[y[[[U
[[[-C"eT[[[
CeT[[[@[[[
CeT[[[m[[[
CeU[[[i[[[
|ceW[[[.
c#eW[[[9[[[8[[[
Ce][[[w[[[h[[[
C"eX[[['
C]EXHGSP
CE[XLBDG
C@EX[MSX
CEXN]KL@S
CE_XOD[B
CEXS_HZB
ceX[[[Z[[[
C"eY[[[!
C"eY[[[)
CE@@@@]Y]]
C"eY[[[7
CEYAGKB_XK
CEYCYHXQ
c#eY[[[d[[[
cey[[[H[[[
CEY]KFKAN
C@EYSLJK
CEY[XKG]XC
Cez[[[?[[[
c#ez[[[6[[[
ceZ[[[9[[[
C_E[_ZADJK@XZ
CE@Z]CH_H
@CEZgzAsLC
CEZLMAQO
cEZodgfG
]CEZQZBXD
[[[c[[[f[[[
[[[C[[[F[[[
cf70!4UUNUU
CFABGYL[
c||?f||ac||Oc||1c||
C[FAEOAO
CfaExemptProcessesByScenario
CFAGBDNXDCHQ[ZEM@[
cFAGBHGL
CFAG_JXCDPHQC
CFAGLK_X
CFAGOHYZSO
CF@@@@@@A@h FMHc
CFAHGGLZ
CFAHGK[H@GS
CFA[HXKC
-@CFBAC_
[CFBDCLPQ
CfBFB Byyy
CfBg'egfG
C]FBKL]S@
cfB[[[V[[[
CfBVB8B*B"B
CFBXN]JX[@PB
CFB_XZBG
CFBZFLJ[QKA_]YL
CFCCZKPFF
	Cfcgfw7
c||fc||Oc||7c||
cfContext
c:fdC[[[
')))CFDHDKH
c:fdM[[[
CFDMXNCZ
C]FDZJ]J
CF@EEELKZKJYLKLPA_S
CFEG[ELN
CFELFGHZGYOJ
c-FFF8EFEFFFFFFFF:6466666.
)))CFG[FAHG
* c'fgfG
[cfgfGbM
CFg'fgfG
CFg!fggG
@c[fgfGst
)))CFGHZ
C[FGJCHMGJASHN[@
Cfg?kgfG
CFGMHHH]Z_J
cfgqgg:e
CFgqggZd
CFGSMKGQNHCHBEY
:)))CFGZFGZKHKPP
CFHCLLLBLSLCO@KXMP[N_YP]
CFHGCKKLJCC[
CFHGHGMA[XB
C[F]HQLFK_B
CFileDialogEx
)))CFJ@]CDD[Z
CFJDO_ZHOYSA
C]F[_JNGJ
[CF_JOGJYK
CFJZQ_XOZJQ
CFK]A[LHM
)))CFKBLP
CFKCG[KMPL
CfK--d[[
CFKDFGZ]L[
CFK[OAHHM@CMHOMN
]CFKO]]BL]YCXFNQ
CFKRYH[HD
CFKTLEZLR@LQ
CFKU[LJL@_L
CFKZLH[JA
)))CFLBZMC
CFLEELDHNHS@GL
CFLEFZ]LLE
CFL@HHPLN_EYZ]J
:)))CFLKFQJFG][FE
;)))CFLKFQZL[_L[
cFLk@HELB))
CFLK@HELB
CF]LKOB]
C)))F[LKQ
]cFllllllllmllllOllylmPwS
CF]LQJ_DY]D]
]CFL_ZX[Y
CFMDLZBHO
[[[cfMdN[[[
CFMMCDXSQ_X
CFMQ_X[@OJM]DFYYA]GX
CFNCXCCP[
cf!)NdV@
CFN]JQZX
CF[NLGBi_ZY
CF[NLJHZ]@EEF
CFNX[LJ@N]KN
CFNX[XHYGZOPPONEAY
C_FNZB]GP
C]]FODMEYC
CF@[O_KKOGBMJO
CFolderTabView
cFormsWW
CFPBSCZC
cfpevAvailableWW
CFPGB]X[
CFP]HAKEXNEZOSCNBQBEPL
CFPL[_CYBC]ABPB
Cfp-llllllllmllllOllylm
CFPYBH@NA
CFPZ]@JB
CF]QOKJ_N
CF[QSNHX
CFQ@XALAM
[[[cfSd[[[[
cfSdI[[[Z[[[;[[[yk
CFS_QFPZAQS]_
CFSXG_AG
CfW.-d@PBeb
CF[XEH[J
CFXHLM@EJM]ADBOuQ
CF@XJ]YGOJKGE
]CFXQOXX
CFY[DCMM
C)))]FYGH_
]C_FY_[JMEN
_CFY]KDQ
)))C@FY[L
CFY_OZDP[]
!@cFyyyyyyyyx
]CFZBSJCZASZMPK
C_FZEJB[HBGJOMM
C_FZGJXG
CFZLDH]LJABP
CFZMYQZOF
CF]ZYF]uQ
!Cg1kgfG
Cg5dgfGL
cg5fgfGf
cg5fgfGT
cg5gggG9t
;Cg5kgfG
Cg5kgfGk
Cg5UgfG#
CG6gGMgfGw*
cg7dgfGD"2
cg7egfGJ8
c@g7kgfG
C[g7kgfG
cg7lgfGi
cg7ogfG#
Cg7qgfGX
cg9cgfGoU
Cg9dggwav
cg9ggfG[
c@gA5gfG
CgacgfGR	
CGA@ED]ZMP@SJD
C*gafgfG
CgAfgfGeb
CgAfgfG(H
Cg'agfG@
cgAgg@"c
CgAggCx7
(CgAgg(p
cgAggUXY
CGAJD[CJO]MLY
CGAKCLP[X_
CGANHM_LDXKN
CGAPNOM]
CGASM[DDXGE
CG[AS@OJJDL
CgA[[[y[[[
CGAY_P_@H
CGA@ZBBXH]YAY_
CGAZ]PCBHZ
CgB[[[B[[[
C_GBBKECGJPA
CGBCASLZY
CG]BFCLJQE[QKM
-@CGBFI_
;Cg!bgfG
	cg	bgfG5y
cg_bgfGv
CGB@GMFD
_CGBHBZ[P
]CG[BQOA
cGccbchcM
@|CgC*C#C
cgcdgfG8T
c*GcgfGa
Cg)cgfGM
Cg[cgfGs
CGCJG[]_Z
CgCkgfGp
CGCLABDNJLH
CGCMQ[B[X
CGCNFZKKKJ
CGCOE[KQ
CGCXZJCSKPODABGY_
C]_GDCKDZ
cGDdN[[[
_Cg'dgfG
Cg-dgfGj
cg'dgfGM
CGDO_NOC
]CGDQLJ]NLKK
]CGDQMHA
[CG[DQYOO
CgeagfGg
@cgecgfG
cGegfG8P
	cgegfGJR
CGE[JQDG[
CGEYA[LO
)))CGEYvA[LO
CGEYvA[LO
CGEYvLDKLMMLM
CGEYZYLJ
cg_!fbgfG
cGfF[[[Z[[[
cGfF[[[Z[[[)[[[#eEdW[[[Y[[[
	cgfG_'	
cgfG_562gqgg]
cgfG#?58gqgg
cgfG5EzytD3
cgfG6 ;sgqgg
cGfG[[[7[[[
cgfG9R'qgqgg
cgfGAg2o]Y]]
cgfGAo'wgqgg
cgfG_bO6gqgg
CgfG;_bogqgg
cgfGcQpVgqggO
cgfG-@D gqggP
CgfGDhbOgqgg
C;gfGE1k
cgfGe3gYgqgg
cgfGeSn*gqggi
C*g'fgfGCT
cgfG|(H4gqgg
cgfGI3DZgqgg
cgfGiG| gqggq
CgfGiz_8gqggr
cgfGj]7WgqggF 
cgfG;?jEgqgg
cgfGJNj0gqggDk
cgfGK?Y!]Y]]
C?gfGmGtpgqgg
cgfG"ot@gqgg
cgfG)P ngqggz
!cgfGpp 
cgfGQAN]gqgg
[CgfG[qL_gqgg
cgfGR.2Ngqgg
;cgfG(s(ggqgg
cgfGSMJ:gqggpt
cgfGsT(QgqggG
cgfG)t3Lgqgg!
'cgfGVbH
cgfGvRCIgqgg
cgfGyD#ogqgg
cgfGYPN.gqgg
cgfGZ7)(gqggn
cgfGzci_gqgg
cgfGZ|h|gqgg
cGfH[[[Z[[[	[[[
CGFJEOD_YO
c!gFL'dd
cGfO[[[H[[[O[[[
cGfV[[[Z[[[
"cgfw	Ju-
cgfw[s3r
cgfws4z 
cGfY[[[F[[[D[[[
-'CgGagfG
|cggagfG.lKtgqgg
CG[GA]_LM
CGGBNGKCGF
?cgGdgfG
cgGdgfG:0
cgGdgfG5
[__CGGD]J]_JAS
cgGegfG@
CgGegfGL
C*ggfGC"4
cggfwb)s
cggfwhrV
CG]GG_CM
Cg#ggfGN
cg#ggfGRE
Cg_|ggGg
CG@G@GJF
cgggwfq[
cgGigfGL
CG[GJ@_PKB
c[ggkgfG
cgGlgfGg
CgglgfGtS
CGGMSMMPA
_CGGNS]LDGL]ZHB
*cgGogfG
CggogfGh
cggqgg2R
cggw )-b
CggwgfGx
CggwggG!
CGgWkgfG
"cggw@Nx
:cggygfG
CGHCBLNQX
CGHCP]SH
CGHE@OQA
Cg'hgfG6
CgHg)kgfG
CGHGYNL__JAPMX
_[CGH_JX[
CGHMQGQ[M[GJJ
_CGHQCY_C]
CGHZM_QDNLLO
CgibgfG 
c(gIdgfG
cgiggfwr
CgipgfG@
CgIsgfGj
CGITPtr::Get
_CG[JGZLX
CGJLGCZJ
C_GJQAQH
[CGJSHOHZH_ZZ
CGJS]OJPP
CGJS@PCEKX
CgKbgfG@
CG_KDBGX
;CgkfgfGy
CGKF_S]XL[MJHS
:C(g?kgfG
Cg'kgfG?
cg?kgfGC
cg#kgfGD
Cg;kgfG_V
CGKJQSHO
c(gKkgfGZoN)gqgg*
CGKLXLQQ
[[CG_KPD
CGK[_PLPXDK
CGKS@XKDJK
C@]GKZQAN
c]g	LgfGY
-c:gllllllllmllllOllylm
cgllllllllmllllOllylmI
cgllllllllmlll]Y]]
CGLSLSQDNMDL_
CGLXFDOS
CGLXFMYOSPZ
CGLYL]SGXF
c)))GL]Z]FY
CG]M]D[XLP
[@CGMHLEDHGHNLM
CG_MHSG]XG_S
CGMOCLQA
CGMQY_BD
]CG]MS]AJ]LZS
CGMSOLCYZC@JA
CG]NEQSJ]KDS@LM
Cg[ngfGG
C@GNM@HG
[C[GNQDC
CGN]SHNFAC[
CG[[NY[H]MX_NA
CGNZ[GNN
CgodgfGay
CgOegfGj
CGOG@KAY]]LOCHPGFHY
CG_OGXLDM
CGONQZNZBSD
C[GO]OB_C@L
cgooggGQ
cgoQgfG)s
C[gowggGA5
CGP_AGQN[J
_CGPBKDQY
C@GPCAASJGAAJ]OQLK
cGpgppepqO
C]@@GPHG[HM[
]CG]PHMNY
CGP]KY]LBOBJ
CG@P]LJ_B
CGPMLHLAX
C_GPMSMZ
CG_@PSNQ]NZGNA_LYNLGFY
CgQdggGHh
CG@]QF[NK
CG[QGAD[
Cgqgg0z2
*.Cgqgg5i
C._gqgg?5m
c?gqgg5ZB
*cgqgg7[
cgqgg8tS
cgqgg8zJ
#'Cgqgg9
]Cgqgg9 
 CgqggA|
CgqggA4U
cgqggcnuD
CgqggcnuDN
cgqggdbl
;cgqgge1
CgqggEdL
C:gqggeL-
CgqggeL-
CgQggfGc
:cgqgg?g
cgqgg'G8i
Cgqgg@H!
'cgqgg.J
c.gqggJi
CgqggJV]
cgqgg*@K
'cgqggk]5!
CgqggKSl
cgqggm"w
_CgqggNW
Cgqggo[:
]C@gqggp
cgqggP||I
CgqggpnM
CgqggQ65
Cgqgg?r|
Cgqggr(](
CgqggspS
"cgqgg)t
cgqgg TE
CgqggTwb
cgqgguyD
cgqggV#t]
C)gqgg?w
cgqggwX-!
cgqggx]6o
cgqggZX"
CGQHK_QG
C_GQ]]JZ_]_]OF[CQZEHSLJ_JMZLZY
cgqMgfGq
CGQ[O]Y_BZ
CGQPL]B[NSB
CGQPNKYP
CGrggfgfG
cg'sgfGG
cgSggfG.
C[GSGPXO
cgsjgfG)
[CGSMQ[PNGSX
CgsogfGE
CGSOZCA_
C_GSPOA]SQ[
CgsugfG?
CGSXQLBJPHH[Z
Cg)tgfGj
cg'UgfG1B
cg'UgfGQ	
c.guiggG
c.guiggG0
 CgukgfG
[CgUkgfG
C	guMgfGFj
!CgusgfG
Cgv*bgfGdF
c#?gWdgfG
CgWdgfGqB
cgWegfG(bu
CgWkgfGu
CgWtgfGm
CgWxgfG.
CGXB[YYO
_CGXDMNOHJMC
C_GXMHYQKCFOK
[CG]XMNMY_BE
CGXQ]EHBM
C_GXXOQML
@CGYA[FGLYDPQL
@C@GYBHFMYHY
_CG[YBZPZDX
_CGYHBDZ
_CgYmgfG|
CGYN_C_SC
C[GYX[A[
CGY[[YXQJ
CGyyyyyy
@C@GZAHG
CGZFNYDL
Cg'zgfGf
C@GZ]HEE
CG[ZHM_J
CGZHNDADPXGNBQKG
CGZ_HPZ_ZD
[CGZNBNS
C||||||||||||||||#h||||||
Ch3vdgfGj
C(H9C ua
ChainingModeCBC
ChainingModeCFB
ChainingModeECB
Chaining mode is invalid
chainresult
[CHAMGZYOPAPCYB]X]K
CHAMJBCO
ChangeClipboardChain
changedetectionname
changedetectionrecid
ChangeDisplaySettingsExW
changedsha1
changedsha256
ChangeIdleRoutine
ChangeIdleRoutineIdl
ChangeServiceConfig2W
ChangeServiceConfigW
changevalidated
Changing destination
CHAN[J_QL
]CHAOYOPB]]___
char16_t
char32_t
Character class declaration starting with [ terminated prematurely - either no ] was found or the set had no content.
character expected after backslash
Characteristics
Character set declaration starting with [ terminated prematurely - either no ] was found or the set had no content.
.charcodeat
charCodeAt
CharLowerBuffW
CharLowerW
CharNextA
CharNextExA
CharNextW
CharPrevA
CharPrevW
!Charset
ChartArea
ChartAreaCollection
ChartColorPalette
ChartLegendGPU
ChartLegendMemory
ChartNamedElement
CharUpperBuffW
CharUpperW
c@@@@@@HBgpV@@@@@
CHB[[JCQJ
CHBJEXP_
CHBLEHGL
CHBLKHZ@EL
[C[H_BMD
ChBnBNB4B
"cHB_NllllllllmllllOllylm
CHBSJJZ@M]JCYO]@QD
CHB@SLLJK
CHBYOOYQ
C[_]HBYP]LLO
ChBZBLB(B
C H;C0t2f90t-f
@|ChCdC0C
CHCGGOCL[H][
chC-JYXZ[Z
C(H;C t D
C(H;C t#H
C(H;C t'H
C(H;C tH
C(H;C u8H
C(H;C u'H
CHDAEYGNPYY
CHDAYYALX
!)))CHD@EF
C[[[#-hdF[[[
@@C@h Dfb
[[[]CHdI[[[
.)))CHDKF
)))CHDKFuCHDKFuK
CHDKJYKQJB
CHD@LG@JFE
CHDLZC[A
CHDLZO[FZ]
CH@DLZZFEM@]
CHDMNGMHN
CHDPHSGJH_X
CHDQJY[D
)))CHDSH
c[[[#-hdz[[[b[[[
CHDZ@JHKGZSXM
@@@C@h DZTTG
CHEBCJAS
CheckAdminRights
CheckApply
CHECK constraints
CheckDeveloperLicense
CheckDlgButton
CheckForValidFolder
checkhybridconnectionrulestests.cpp
checkhybridconnectionrulestests.h
checkmanifest.cpp
CheckMenuItem
checkpoint
checkpointed
checkpoint_fullfsync
CheckpointRegkey
checkprerequisites.cpp
CheckRadioButton
checks_if_debugged_documented
checks_if_debugged_undocumented
checks_ntglobalflag
checks_processheap
checks_teb_lasterror
checks_teb_laststatus
checksum
CheckSum
Checksum calculation failure
CheckSumMappedFile
ChecksumWidth
CheckSyncConditions
CheckTokenMembership
CheckUrl
CheckUrl: UtilWideCharFromUtf8 failed
CHECZSH_]S
CHEFSOCB]GBL
")))CH@EK[LHB
CH_EM_HMBXCM
CH[EQGP_
C]HEXYKB
CHFAD]NMDKY
chfgfGgj
C@HFM@KHQZ
CH@FNBCMD@L[Z
C]HFPXNMSKP
Chf_TpTU
Chg1dgfG
cH;#gAgg
CHGALAPSXNNLL
)chg-bgfG?
)))C]HGJCF
)))C]HGJCYDPCP
CHGKLMKGXY
C]HGLB_K
][C@HGMDDE]GZQ
c)))[HGMFD@SL
CHGP_P][AXKKC
CHGvOLKvD[]
cHgyagfG(
CHGZAHKM
C_][HGZYF[]LZ
@)))CH_H
chhbnbccjqks]X
chhbnbccjxkz]X
CH_HCH_HQ
CHH_CKDSQNGAZSX
ChH;Cpu!L
CH_HFG))
CH_HFKCLJ]
CHHK@FXDE
cH_Hlb))
CH_H[LJFDDLGMLM
CH_HLM@]F[
CHHMF]FFE
cH_HmHAF]lQJLY]@FG))
CHHOKCKHGPKJGD
CH_HOQv_L[Z@F
CH_HOQv_L[Z@FG
CH_HPSMLZJFDYHJ]
)))CH_HQ
:)))CH_HQ
CHHQA]NSK
)))CHHQHJHHYXHNHJJHCHKCHJHHYXHNHJJH
cH_HQzJ[@Y]lGN@GLcZ
CH_HvAFDL
CH_HvLGHKEL
	CHH|xwx
CH_H]YF@G]
cH_HZJvZ][L_HE))
cH_HZJ[@Y]
)))CH_HZJ[@Y]
CH_HZJ[@Y
CH_HZJ[@Y]
CH_HZJ[@Y]FFEZ
CH_HZJ[@Y]@G]LN[H]@FGOF[YHPYHE
CH_HZJ[@Y]HY@
CH_HZJ[@Y]uQ
cH_HZJ[@Y]z][@GN))
CH_HZJ[@Y]Z[J
CH_HZJ[@Y]ZL[@HE@SL[
@@C@h Ifb
C*HIHIy*
C*H:IIy*
childcommandline
childcommandline_scrubbed
@childCount
childimagepathname
childimagepathname_scrubbed
childindices
Child instances are not fully resolved.WWWJ
childNodes
Child page depth differs
ChildWindowFromPointEx
ChildWWW(
(ChilkatZip)
CH;iLs0L
cHIQNET	lto
cHI_uBAxJFNIx@BI	
_CHJAJDOL
c)))_H[JALBL[v
c)))_H[JB_
CHJBEDFF[L
CHJBKFFB
)))CHJBZ]A
CHJDDMCH
CH_JEPFBJX@K]ZSY]ALOXLPO
CHJGMDC]A
c)))HJHM
CHJJLY]JM
CHJJLY]@Y]HKELZ
CHJJMKXJY
CHJKBGQCL
CHJL@KLJF_
@CHJL[NNNSOKE
CHJP[FEBY[MPF
C)))HJ]@_@]PvYHJBHNL
CHJ;t8(r
CHJYMNX]_X[
@CHKBNXXK
ChkdskEx
)))CHKEHN
 )))CH]KFZZ
CHKHE]FF[
CHK]HPAGKY]D[JHS
CHKKM_KJX
cHKMMZvMAZ
)))CHKSHAXHJNKSHM
CH]KXZHH
__CHKYXB[FLAKS_EBYGMODQ
C)))_H[L
CHLALMBDYEOQM
CHLBQPCJ
C_HLBQPD
c)))H]]LG]@FG
[CHLHCJX
CHLMNOCH
CHLYKKYB
CH_@L[ZHG]FZ
CHMDJOPQDY[_LN
C[HMEQHQLAZO
@CHM]GAQMXP
c@H!mggfwQ0
CHMHOZO]
CHM@KJQNB
C)))_H[ML[@_LMvG
_CHMNK[]
CHMNOLPOZCP
CHMNYGHCJOKXZ[Y
C_HMPNNZDCX
CH]MQJLSYCAC
]_CHMSNH
CHM[SSMO
CHMXOCBMXCN_GG[_
CHNCGXNSE
)))C@HNGDLAG
C@HNGDLAG
_CHNHLAZFGPS]
C]H[NH@Y
CHNJY[ABPJLKJ
#c)]H[NL]
c)))]H[NL]
C)))]H[NL]
chNllllllllmllllOllylmI
CHN[_PZQMZMQBJM
C]][[HO_
CHODQLNML[CN
CHO[DZ[Z[XG[OM
CHOFPMMZ@NFXL
]CHOHLXHS]
CHOHXFS]CN
CHOK[EHGHKO
CH_OKZCKQB[JD
CHOM_@[J_C
CHOM[OAGZ
CH_O@MXLYY__Q
CHOOMLJ[PY]F[
CHOSKGQP
CHOYCOMS_]KAZ
cHozg3kgfG
C[@HPAECN[QXBXA
C_HPDE[E
CHPDQ_DPALF[
CHPJ]ELG
CHPKMD]GZQMLEA[@
CHPKMQGP
CHPOAXXLYZ
cHPQFM	e
CHQL[@NHBYO
C[_HQOMFZKFSLQCM@
CHQPNQXG
CH]@_QPPD
C[HQQGXL
[C@HQYBA
CHQZD[P_DAFFPLSY
@@C@h RL
chromeextensions
chromeinstall
cH[[[r[[[q[[[|
C||hR||!R||
C@]H]SEDX]GZBLG[AC
CHSEZ[EE
CHSHAZ@_X_OZ]MME[_
ChsIME.pdb
CH[SJN]Y
C]HSKEAJCXJG
CHSN@MCBNYL
C@HSQG[GPECQLS]
cHSSy@G]
CHS[XBNSQ
CHSY[YQD
ChtIME.pdb
@@C@h TZTTG
chunked.cpp
chunked.h
CHvLMLG@]L
CH[vYH]A
CHX_AHJZ
CHX_BZAOL
CHXGNP[KL
CHXGXZ]CAXSHQM
CHXMAXY[
CHXNL]BLPKBA
_CHXQENH@
C_HXQSZZFGNB
CHXXYS@B@
C[H]XZE_HYAYXF[P
CHY[DKSPALQ]AAQ]B
C||HY||dW||
CHYFG@JH
CHYFG@JHK
CHYHGAHJBL[E@GB
CHYHGLZLJFG_L[ZH]@FGZ
CHYHGLZLJFZYEHPN@[E
CHYLDAXC
chYn8gAggh
CHYP_BZMA
CHYQXLDPB]L
c||hY||_Y||NY||GY||7Y||
Chyyyyyyyyyyyyyyyyyyy
CHZDF]F[Z
CHZD@GLNEFKHE
CHZDZYGCY
CH[Z@E@F
C__HZLYE
[CHZYDBB@[
cI[[[9[[[
CI#A(A5AoA-A8A
cIAdM[[[
CIan53ac
CIBAR1ADg
CiBeB]BUBAB?B7B
CiBmBaBeBYB]BQB	B
CiBYBUBMB
cicgfGA_
cicgfG|N
cicgfGry
CIDI'BCII
CIfB[[[N[[[A[[[
CIfG[[[M[[[@[[[_
CIfH[[[A[[[G[[[
CIfH[[[T[[[J[[[
CIfJ[[[d[[[
CIfO[[[G[[[F[[[
CIf_[[[|[[[s[[[
CIfT[[[O[[[
CIfZ[[[P[[[
cI[[[g[[[e[[[
'ciggfwk
cig-kgfG
cIgqgg?m
cIgujgfG
?)))CiHFCHFJHFJHFJHFJHFC
CIHIIMy*
cIi5cIiucIi
CIIIIIIbI(OKI
CiiXYiiL]Ni
CiiXYiiL]Nii
CIJKLxyxqy;
CIl13(7 "81"
!cIllllllllmllllOllylm
cilohicljCkM]X
cilohiclj@kB]X
cilohicljxkz]X
CImeMutexElapsedTooLong
CIMigrationInformationWWW
cINIRdNv]yO
cioikkmyVQ
cioptions
CIpgppepq
Cipher invalid or not supported
circular_buffer
circumflex
ciUdO[[[
cJ9gGIgfG1q
]CJAACCONAMPG
_]CJAD@_K
CJ@@@@@@A@h FMHc
CJAMHSAY
CJAPH_C@
_CJASHCQMYCM_
CJA_XDM@
CJAZAJZNCMAQKJYZF
cj@@@@B@A@_p@J
cj@@@@B@A@_p@Jo
CjBcBPBBB
CjBeBqEtEfE
CJBFKZ@MO
C]J_BGHBQ
CJ]BGOYYA
CJ[B]HNZQELKNAC[N[M
CJBJOGYH
CJBLGGFPYS
C_JBXGASJ
@]CJCBC8C!C'C
C-j	C-k	D-k
C_JCK]XMPP
CJC_@Q_X
]CJCSDJ[
)))CJCSSSKY
CJCXCXEDCXEEBCXEECMCXEECX@CXEECXC[CXEECXCCCXEECXCCX
]CJD]DQP@HJ[CLZ
CJDG_NXCSK
CJDictsLockFailedInInit
CJDictsLockTimeoutOnMutexAcquisition
C[JD_JQO
CJdK[[[p[[[
CJ[_DOQBQ
|cJdP[[[
[CJDPF[_PE
cJdQ[[[o[[[
[[[CJ;dX[[[
[[[CJ;dX[[[![[['[[[
| C)JE1v2
c JeA_GR
C_JEC@ZKYO]LJH
c)))JE@G@JHZM@HM
CJELAGL[
c)))JE@LG]
CJEP@YFP[
CJ[EXGJMG
]C@_]J[F
CJFC_[K_
[CJ]FJP]AF
CJFJSK[S
C_JFKYNHOGNA[
CJ[F[PA]K
CJFQCBAXHML]_[MHZ@@
c)))JFYPO@EL
CJGAFDPQA_HN
C@JGCZD[ELNJDJLL
CJ]GDJGQ]ME
[CJ]GLZBZPFG
cJgocgfG
CJGOMC_[OYJBNXH]MMPG@PG
CJG[P@NH_
CJGQ_@DZ
[CJgqggt
CJGZPQOCZL
c Jhggfw
cJhggfw	
cJhggfwBl
cJhggfwjk
cJhggfwLm3
CJHHYB]L]K
CJHLE[MC[SOMDX]DX
C)))[@JH[MFK@N
CJ[H@NHYLMFN
CJHO[JML
cJ[[[J[[[
CJJAJND[MBG
[CJ_JGHQSEZ
CJJHEKSPOCMYL
[CJJMD]PLYMOJ
CJ[JNPCA
CJ[JXPBNY
CJJYOQBGX
CJ][_JZOBZ
C_[_J]K_
CJKBJKHAO@YLCDJSC
cjKgqggYr
CJKZO_C]]
[]]C][JL
CJL]__CL]O
CJLCPOSNHHBO
CJLDFQJ]JAXQ]
C)))J[LH]L
CJLHSMCK]E
@CJLNDFAS
[CJLOKDPFZXZLSDP
CJlpgppepq
CJLSFPOQLJE
]CJMCCAX
cJMgqgg!
CJMJFDJF
CJMK[NGK
CJMMNSJZ
@C[JMONLALQB
C@JMYKQK_JGXNJ
CJNLDBJGA
C_JNZPPJCFE
CJODHDCL[
C_JO_EN]MCAK
CJ]O]HJMAA
CJO[PJM[
CJO_Z[SMBYJSNYQNC[Y@
CJPAPJLX
c@@@@@@@@jp@@@@@@@@@@B@@@Hp@P
CJPGJN_OJ@X[AODSZ
cJpgppepq
CJ[PLG]N_
CJPpgppepq
CJPYDMNJE
c)))J[PY]FNEFKHE@G_LZ]DLG]
CJQBYQAMN
CJQCOECBDS
[CJQFAO]CAA
CJQKEJJH
c@@@@@@@@JQ@S
CJSJPQPJQCB
CJSL@][OSNOK
CJS@LQJPA
CJSOND_L
CJ[SQLQA[
CJSQSC[CLBOLHQ@Z]
cJ[[[V[[[U[[[
C)))JwZw]H[]wDZw@LQwLwJw[wS
CJXBHZGGYPNSBG
C_JXCXXY
CJXGJGM_M]
[CJXHC@KHSGX
CJ]XJZNM
CJXMLJPA
CJXQQZ@]P
CJXZZLAZBC]H
C]]JYEF_
CJ_]Y]JPPDZAQ
CJYQHLNP[
c)))[]JZALEE
CJZBYKLH[AB
C)))JZ]H[]
CJZ[JJQNLN[GZGQGD
_CJZ]KGDJKOO_QC_Y
CJzVB@A@2 @Juv
CJ]ZZOYJ
#cjz:zz6
cK[[[#[[["[[[
cK[[[5[[[
CK8gqggY
CKA_BSQD_HGD_P
CKADL@K[AKNKY
CKAM_YGELPCNGZ
CKA[OPSPFLH
CKAY[FJLZZMH]LMGHDL
C[[KB[['B[[
C[KBBX]L
@cKBccpK9@MBcD
C_K[BHA]
CkBRBLBFB
CKCAKD_MCKK
ckcaSSSSSSS
C[KCBPL]N_
CKCHH@SL
C_KC]ML]
C@KCMSOHLDMAKP
CKCQ]CJD[
CK]CQ]OH
CKCS_LKA[S
CK]CXQAPZ
__CKCZD_BOD
C_KD_BJDE
cKdgqggU@
CKDSDYXQHJGXZB]EDB
CK_DXOZZQACF
cKdY[[[f
cK[[[e[[[
CKE[NC_JOPGP
CKE]OLJCL
CKESKGBMMX
C_KFAEKH
ckfinite
_CK@F_Y_YA]_N
CKFZZ_L[@OPHGMLQYEF@]H]@FG]FFE
ckFZZlQY
?ckg7wgfG
CKGBL_GYDG]KGLQPJB
CKGHQGC@NZKK
C]KGJJDY
]CKGM_QP
CKGP[PL[CLCLSG][
"ckgqgg;[c
ckGqugfG
cKgqzgfG
_CKGXFPP
_CKGXQGE
CKGZ[GXOK
C[KHCXZP
C[KHOCSJ
CKHPL_DYZCASZ]S
c)))KHZ@EHGMJF
ckJhggfw
CKJ@XC[AEJ
CKKBBCZ]
CKKCDBAKO_JQSK]
CK]K@DHZS
CKKN[_B_QHJN
CKK@OXK[YNPAQY@
CKKZ[BMK
cK[[[l[[[
CKLDAMFOOMP
CKLDF[KD
CKL[DP]BH[
CK_LLBNDAX
ckllllllllmllllOllylm
CKMA[QQAAS
CKMBZBXZGOY
CKmggfwjPX
CKMH@[]E
CKM_JQPDSONJGG
CK@[M_LNHZ
CKMNOOXL
CKMYDFQYJQHNX
CKMZ]YCXPKJ
CKNMANOKAOZ_GPZ_E[
CKNOSHQ[EEDG_KZ
C[KNXA]GS_
CKOAGX[FAS[QMS
CKOHGQDB
CKOJ[GQPH
C]KOLJDYP
c||Ko||!o||
CKOPYOB[POBH]N@FO
CKOSDKDH
]C_KPC[QJ
CKPDMA@_N
_CKPG@SLL
[CKPGZAJ
CK[PK_MX[DF[BAGN_
C]KPOFD]__NO
CKPYKBMGXMY
C]K_Q]AP
CKQ]JSLY
CKQ]MLOJJ
CKQNO@DYJ[EMNGMXPAM
CKQZJJYLS]DAMFK
_C[KSH]ZXEJ]Z
CKS[MG_JO[HPOX]CSYY_KAF[
CKSZQQKXF
C_KXCH[BLO]
CKX]E]YQCNGPDNH
CKXOGGQOS
CKYFKEFZGXS]
CKYGHZHHSYBQ
Ckygqgg!
C@KYKXSX_
CKYLMSC@CP]DNXvYO_v]
CK_YNKJK
CKYQB_NZ
_]CKZJB]KYCDL@
CKZ_LZXAZ
c|||l||||
c|||l||||||||||||||||||||||
cL3jKEdggG
c@@@@@l@@A@ADac
c]@@@@@l@@A@ADac
C[L__AL[
]CLANDPJL
CL]AODSPYO
CLAOES_KK
CLA[]QPMAYC_@[NNNQYC[]_
class boost::json::value __cdecl boost::json::parser::release(void)
?ClassExist@ClassInfoBase@DirectUI@@SA_NPEAPEAUIClassInfo@2@PEBQEBUPropertyInfo@2@IPEAU32@PEAUHINSTANCE__@@PEBG_N@Z
ClassGuid
ClassGUID
 Class Hierarchy Descriptor'
?classic@locale@std@@SAAEBV12@XZ
classification
Classification device: CPU
Classification device: GPU
classification failed.
classifier initialization failed.
classifier init was not called.
classifierscore
classifierscorev2
classifierscorev3
classifier status(
className
ClassName
ClassNameSize
class std::basic_string
class std::list
ClBcB?B2B
ClBdBJBFB
CL@BEOBSAXBONFKS
ClB:G3GvFy
[CLBHAEZ
CLB@YCEENQQGHA
cLccacJc0
ClC]CDC5C"C
CLCCQDMX
c[[[LC(dY[[[b[[[
CLCMEH[]AN
@CLCP]OZQ[
C[LCQNH]
CLCQXMHJBH
CLC_YQMZCA]YSPKLK]GJ
CL_D]GJS@S@ADDEPYGSS
C]LDHJJSE
CLD]NFOHJZ
cl[dO[[[D[[[
cL[dQ[[[I[[[L[[[
CLDSGPZBHGD[]OA
CLDSX[QXBD[DZNH
CLdX[[[T[[[K[[[
CleanFileTelemetry
CleanResource
CleanResult
CleanStore
CleanStoreLocalSize
CleanupBatteryData
cleanupcommandlineparserimpl.cpp
cleanupcommandlineparserimpl.h
cleanupcoordinatorimpl.cpp
cleanupcoordinatorimpl.h
cleanupNeeded
cleanupregistryaccessortest.cpp
ClearDnsServers
Clear incompatible process name list
ClearLenovoSettingsReg
clear_mpattribute
ClearOfflineTimestamp
ClearPendingDeletionForImDriverFiles
ClearPendingFileDeletion
ClearPersistentIScsiDevices
?Clear@SC@mmcerror@@QEAAXXZ
ClearSecLog
ClearSysLog
cleartimeout
clearTimeout
clearTimeout() is not a constructor
ClearWWW
C[[[?[leB[[[B[[[
C_LEGJ@G
CLEMJSQ[CS]
_CLEZL]_
 )))CLEZS
CLFAZMKJCG
CLF]HHDHS
[CL_FLP_F
CLF[MDADHSSDGO
CLFSFileOpen
clgArgfGC
@CLGCZOSGYHQ]J
CL_[GDB]D[PZX
clGfogfG
CLGG@OL[
CLGG@OL[DF@
C@LGJOFKQGZN_ZFOSAOMLGLLH
CLGL[CLGLGLCLCLCL
CLGOGZSCPXM
CLGPGLZCC
C]LGPYE@N
Clgqgg'O
cl	gqggR
C[LGQJS]
CLGSEBP_H[B]GOMY_D
_CL[G[XKX
)clgYggfG
]CLGZJMDY
CLGZM[@EEL[
CLH[EQ]Y
CLHHPH[[
CLHJCCMQQ
CLH_PHLN
CLHX]AY[J]DLNCJQ[ZYMH_ODSDSNP
CLHYCZDXX[HB
CLHYHQF_ASJ_FQB@DF
cL[[[i[[[
cliapplicationlauncherut.cpp
?Click@Button@DirectUI@@SA?AVUID@@XZ
clientactivity.h
clientactivitytests.cpp
clientactivitytests.h
clientactivitytypes.h
clientapi.cpp
clientapi.h
clientapimock.cpp
clientapi.stub.cpp
clientcatalog.h
clientcataloginterfacetests.cpp
clientcataloginterfacetests.h
clientcomconsumer.h
clientcommonmocks.h
clientcommonoverrides.cpp
clientcommonrc.h
clientcommontests.cpp
clientcomponent.h
clientcomponentmock.cpp
clientcomponentmock.h
clientconfiguration.cpp
clientconfiguration.h
clientconfigurationrc.h
clientdefinitions.cpp
clientdefinitionstest.cpp
clientevents.h
clientexception.cpp
clientexceptionfactory.cpp
clientexceptionfactorytest.cpp
ClientFailure
clienthosting.h
clienthostrc.h
clientimpl.cpp
clientimpl.h
clientintf.cpp
clientintf.h
clientlog.cpp
clientmanager.cpp
clientmanager.h
clientmanagertests.cpp
clientmodeactivities.cpp
clientmodeactivities.h
clientmodeactivitytests.cpp
clientnotify.h
clientnotifyimpl.cpp
clientnotifyimpl.h
clientpackageutilities.cpp
clientpackageutilities.h
clientpackageutilitiesmock.cpp
clientpackageutilitiesmock.h
ClientProcessorArchitectureW
client_request_proxy.cpp
client_request_proxy.h
clientservice.h
clientservicerc.h
clientservicetests.cpp
clientsessions.h
clientstubapi.cpp
clientstubintf.cpp
clientstubintf.h
clientsync.h
ClientToScreen
clientwarning.cpp
CLIPC.dll
ClipClose
ClipCursor
ClipGatherDiagnostics
ClipGenerateDeviceLicenseRequest
ClipGetLicenseAndPolicyForPfn
ClipOpen
C|| L||@J|||(||
CLJALE_[
CL_JFBNCJE
CLJHHPJP
CLJJYMHOMXA]Q
CLJ@LQZYOG
CLJY@ZMOGBE
CL[J_ZHL
CL]KEHJB
]CLKGKDCSJJ
CLKHXYYY
clkllllllllmllllOllylmHx
CLKM@HFSZ
]]CLKMPS
C_LKQNCQQK
CLKXLN[S
CLL_[]BSQ
CL[LBZLE
CLLJZ_EP
CLLK[N]GN
CLllllllllmllllOllylmf
:cllllllllmllllOllylm
@cllllllllmllllOllylm
_cllllllllmllllOllylm
c!llllllllmllllOllylm
c!llllllllmllllOllylm-
c"llllllllmllllOllylm
c(llllllllmllllOllylm
c@llllllllmllllOllylm
c]llllllllmllllOllylm
cllllllllmllllOllylm
cllllllllmllllOllylm 
cllllllllmllllOllylm[
	CllllllllmllllOllylm
-CllllllllmllllOllylm
C!llllllllmllllOllylm
C"llllllllmllllOllylm
C'llllllllmllllOllylm
C*llllllllmllllOllylm'
C@llllllllmllllOllylm
C[llllllllmllllOllylm
CllllllllmllllOllylm
CllllllllmllllOllylm"
CllllllllmllllOllylm-#
CllllllllmllllOllylm:
CllllllllmllllOllylm|-
CllllllllmllllOllylm3
CllllllllmllllOllylm3'
CllllllllmllllOllylm4
cllllllllmllllOllylm4d
CllllllllmllllOllylm4Jd
CllllllllmllllOllylm5
	cllllllllmllllOllylm6
CllllllllmllllOllylm6
c.llllllllmllllOllylm64
CllllllllmllllOllylmAjQ_f
CllllllllmllllOllylmb
CllllllllmllllOllylmB
c	llllllllmllllOllylmc
CllllllllmllllOllylmc
CllllllllmllllOllylmC
CllllllllmllllOllylmD
C.llllllllmllllOllylmDT_)m
CllllllllmllllOllylmE
CllllllllmllllOllylmg
CllllllllmllllOllylmG
cllllllllmllllOllylmh
cllllllllmllllOllylmh	
cllllllllmllllOllylmH
CllllllllmllllOllylmH4
CllllllllmllllOllylmI
CllllllllmllllOllylmj
CllllllllmllllOllylmM
CllllllllmllllOllylmMP
CllllllllmllllOllylmo
CllllllllmllllOllylmO
cllllllllmllllOllylmp
c@llllllllmllllOllylmq
cllllllllmllllOllylms7|)
cllllllllmllllOllylmT
CllllllllmllllOllylmt[j
'c	llllllllmllllOllylmu
CllllllllmllllOllylmu
CllllllllmllllOllylmw
cllllllllmllllOllylmx
Cllllllllmlllx
cllllllllmlllx5xxyxyxyxxyx8z
	cllllllllmlll]Y]]
'cllllllllmlll]Y]]
:" cllllllllmlll]Y]]
cllllllllmlll]Y]]
cllllllllmlll]Y]](
'Cllllllllmlll]Y]]
C"llllllllmlll]Y]]
C:-llllllllmlll]Y]]
Cllllllllmlll]Y]]
CLLLLLLLLMOONNOLLMOOOOOL
CLLNNBNS_
CLLNQ]YMGALH
CLLQKZOQ
c)))LLQLJ
C@@]LLQZJ
CLLYYNLXK
C[LMCLSN_ZPM
C]L[[MFCHXSHSMXA
C[LMHXHP
CLMJJLAHLYCAD
CLMLDQGD
CLM]LND@N][K
CLMZ]K[QP
C[L_MZ[S
C())[LNBLP
#ClnCmdLine
]CLNDAGGQ
C]LNEC@X_
CLNEJOHAO
#ClnFile
#ClnFile:
#ClnFileInMin:
CLNGMPZS
CLNHM]EAY[K
C)))[LNHMM
#ClnInst
#ClnInst:
#ClnInstInMin:
CLNJSZPPD
CL]NJY]][XOA]AQ
CLNPBNLF
clntdefs.h
clnterr.h
clntprefmoc.h
C)))[LNZ_[
CL_OAYOD
CLODPHE[P
clOllylm!
CLOMJGGD
CloneWWW
CLOODAHEE
CLOOZYFFEZL[_@JLZ
C[LO@@PY_JQAA
CloseClipboard
CloseCompressor
CloseDecompressor
CloseDesktop
CloseEncryptedFileRaw
CloseHandle
::CloseHandle(h)
CloseImageStorageService
closescanscount
CloseServiceHandle
Closes the document.WW
closes the repositoryW
Closes the view window!
CloseThemeData
Close the repositoryWW#
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolTimer
CloseThreadpoolWait
CloseThreadpoolWork
CloseTrace
CloseVolumeHandle
CloseWWW
CloseWWWd
cloudblocklevel
CloudData.ConflictPolicy
CloudData.Encrypt
CloudData.MultipleInstances
CloudData.Scope
CloudData.Secure
CloudData.UploadPolicy
CloudRequest
CLOXSYP]
CLOY]GKN@NSGP
CLOZCNQPHB
ClpFldEntryIdD
CLPHEEXE
CLPKXPQPCX
CL]]PO[FDDH@G
C@@@@@@@@lp	p
CLPQPBLS
@@@@@@@CLp@R
C]LPZAPM
CLQJ]ANKKJ
)))CLQKFZZ
CLQQNYQG
]CLQY[LOQXKO
__clrcall
CLSBYZXL
CLSBZBPX
CLSC@EOCAA]_
CLSCompliantAttribute
CLS@F[SHGP
clsid:06290bd5-48aa-11d2-8432-006008c3fbfc
(CLSIDAttachment)
CLSIDFromProgID
CLSIDFromString
clsidWWW
ClsidWWWt
CL_SJO_DJ
cLsLsLsLsL
CLSMPMANOCN
CLSP_YZE
ClSSSSSSSSSSSS'
ClSSSSSSSSYB
CLsw?O:Y
clusterhash
ClusterSize
C[LvYH]A
 c")')lw
]CLXD[MZHM
CL]X[OOA]
_CLXSP[G
c|||||||||||ly|
c)))[LYEHJL
C)))[LYF[]
)))C@LYHB
CLYH[H@G]L[GH]@FGHE
_[CLY_KCBLME
CL]Y[YOLHOG
C@LZ@AL@CAX[MPN
CLZGDSHGD
CLZK[]Gi
C__LZL[E_SBNNQECL_YBY]G
C[LZ@MLiZBPE@GLN[Y
CLZ[ZHJYDO
CLZZNNGBME
CM77|gfG2
CM77|gfGTT
cMA bJygfG
CMADJKZJ
CMA[DYYHZ
CMainFrame
C[MAKDMOP
CMAKYJDGSJ
CMALNO]ZQBQ
cmAmgmAmg
cmapfile
cMAPIVerbWWWP-
C[MASNJO_
CMAXAMOJL
cMaxClassLen
cMaxSubKeyLen
cMaxValueLen
cMaxValueNameLen
CmBABDB1B*B#B
CmBaBeBYBQB5B)B-B!B
CmBcBTBCB
_[CMBD_EPC
CmBeB]BUBMB9B!B
CmBeBQB1B!B
CMBG]A]J
CmBgBMB3B
C_]MBHHL@PD[
CMBHPYPJJK
CM_]_BLJKO
C[MBMSHQBFGE
_CM_BMSMP
CM@BNFDX
CMBNNQKAO
CMCCSHQ[
CMC[LCQ[
CMCL]E[O[CLLSH_G
CMCMPADC
C_M]CNQG
CMCPZXPEKB
CMCQAGL_S
C@MCQELJ
CMCSXGXMGZJJ
@|CmCVC#C
CMDA[BAP[
cmdArguments
CmD.D@GCFyyyYry
CMD@DNYZPMBDN
CM[_DDSKF
[CMDEmbedded]
[CMDInlineScript]
cmd_line
cmdLineArg
cmdLineDownload
CmdLineExclusionRegExp
CmdLineFile
CmdLineNormalizationStandard
cmdLinePkgIds
CmdLineRegExp
cmdLineRestoreFromMachine
cmdLineRunAtLogoff
CmdLineScan_CompleteTime
cmdLineUpload
CMDSMNL[MN[
CMDSXK_]OPZAE]BM@
|cMdW[[[
[[[c-Mdz[[[
CMEAJAQQENBH
c)))MEEJHEEHMM[LZZ
CME[PJSB
[CMEZ_S]XN
CMFASFRecordingTimeProperty::SetNativeValue
cMfgfGAp
CMFKFX[OBNJ
CMFPMPServer::CreateHost
CMFPMPServer::RegisterObjectInMachineGlobalObjectTable
CMFPMPServer::RevokeObjectInMachineGlobalObjectTable
CMFPMPServer::Run
CMFPMPServer::Stop
CMFPropHandlerBase::AddProperty
CMFPropHandlerBase::Commit
CMFPropHandlerBase::ConvertGPSDoubleArrayIntoSingleDouble
CMFPropHandlerBase::ConvertGPSUIntArrayIntoDoubleArray
CMFPropHandlerBase::CreateProperty
CMFPropHandlerBase::EnsureKeyAlias
CMFPropHandlerBase::GenerateAudioThumbnailHint
CMFPropHandlerBase::GenerateValue
CMFPropHandlerBase::GetAt
CMFPropHandlerBase::GetCount
CMFPropHandlerBase::GetValue
CMFPropHandlerBase::Initialize
CMFPropHandlerBase::InternalGetAt
CMFPropHandlerBase::InternalGetCount
CMFPropHandlerBase::InternalGetValue
CMFPropHandlerBase::InternalSetValue
CMFPropHandlerBase::IsPropertyWritable
CMFPropHandlerBase::ModifyIsPropertyWritable
CMFPropHandlerBase::RemoveKey
CMFPropHandlerBase::RemoveProperty
CMFPropHandlerBase::SetValue
CMFPropHandlerBase::UpdateExistingValue
CMFPropVariant::AppendElement
CMFPropVariantConvert::Convert
CMFPropVariantConvert::GetVarTypeSize
CMFPropVariant::Copy
CMFPropVariant::CreateBlob
CMFPropVariant::CreateCLSID
CMFPropVariant::CreateString
CMFPropVariant::GetElement
CMFPropVariant::GetElementDataAsVariant
CMFPropVariant::GetElementDataPtr
CMFPropVariant::InsertElement
CMFPropVariant::SetElementData
CM_Free_Log_Conf_Handle
CM_Free_Res_Des_Handle
CMFVideoThumbnail::AnalyzeSample
CMFVideoThumbnail::CalcOffsetsForComparison
CMFVideoThumbnail::CMFSourceResolverOp::CreateInstance
CMFVideoThumbnail::CMFSourceResolverOp::CreateMediaSource
CMFVideoThumbnail::CMFSourceResolverOp::_Initialize
CMFVideoThumbnail::CMFSourceResolverOp::OnSourceResolution
CMFVideoThumbnail::CMFSourceResolverOp::QueryInterface
CMFVideoThumbnail::ConvertYUVtoRGB32
CMFVideoThumbnail::CreateAsyncSourceReader
CMFVideoThumbnail::CreateAsyncSourceReaderUsingSourceResolver
CMFVideoThumbnail::CreateSourceReaderFromDShowSource
CMFVideoThumbnail::CreateSourceReaderFromMFSource
CMFVideoThumbnail::ElapsedTime
CMFVideoThumbnail::Generate
CMFVideoThumbnail::GetMinDisplayAperture
CMFVideoThumbnail::GetRepresentativeFrame
CMFVideoThumbnail::GetStride
CMFVideoThumbnail::MFSampleToThumbnailStream
CMFVideoThumbnail::OnReadSample
CMFVideoThumbnail::QueryInterface
CMFVideoThumbnail::SelectPreferredVideoStream
CMFVideoThumbnail::SetSupportedMediaType
c)))MFvY[F]LJ]
CMFY[B[A
CM[FY@Y]HKELZ
C)))MFZALEEJFDDHGMY[FJ
CMg1cgfG
CMGCB]YNOYOM
cmgelgfG|
CM_Get_Device_Interface_List_SizeW
CM_Get_Device_Interface_ListW
CM_Get_Device_Interface_PropertyW
CM_Get_DevNode_Registry_PropertyW
CM_Get_First_Log_Conf
CM_Get_Next_Res_Des
CM_Get_Res_Des_Data
CM_Get_Res_Des_Data_Size
')CMgfGy4
CMGF_QPOD[O
|c)mggfw
|C)mggfw
c!mggfwv
Cmg;HgfG
[CMGLQ@QMADLJH
]CMGODQNAZO
CMG[O_QZ
CMg'|qg9wu|qg.2|
.CMgqggA
CMHCZFLA_]C
__CMHD[Z_
C_MH]]F[GLP
CMHF[YGACL
c)))MH]H]PYL
c)))MH]L
c)))M@HNGFZ]@JZ
C[MHQA_OO_
CMHS_NGYS_XCHEQ
CMHXONOQ]D_LXSXF
CMHZZFJ@H]LZ
Cmi20WWW
cmiAllWWT
cmiAnswerFileResolverWWWHX
cmiAssemblyDependencyWWWd
cmiAssemblyWd
cmiAtLeastOneWWWT
cmiBackupPrivilegeWW
cmiBindingRedirectWWd
cmiBootstrapPass
cmiCategoryComponent
cmiCategoryInstanceWd
cmiCleanupPassWW
"cmiCmiSecurityInformationWWWd
CmiCollectionWWW(#
cmiCompleteInstallWW
cmiComponentPackagerP_
cmiComponentSettingsd
CmiComponentType
cmiCompressionFormatDontCare
cmiCompressionFormatLznt1WWW
cmiConfigurationAnswerWWd
cmiConfigurationd
cmiConfigurationPass
cmiCreatePagefilePrivilegeWW
cmiCreateTokenPrivilegeW
cmiCustomAttributeWWd
cmiCustomElementd
cmiDebugPrivilegeWWW
cmiDefaultFileRepository
cmiDefaultRepositoryX4
cmiDefaultResolverWW
cmiDenyBatchLogonPrivilegeWW
cmiDenyInteractiveLogonPrivilege
cmiDenyNetworkLogonPrivilege
cmiDenyRemoteInteractiveLogonPrivilegeWW
cmiDependencyWWWd
cmiDesignTimeWWW
cmiDisconnectedW
cmiDomainTrusteed
CMIdV[[[r
?cmiEnvironmentWWd
CmiEventArgs
cmiEventArgumentsWWWd
cmiEventBulkImporterBeginManifestShredWW
cmiEventBulkImporterCommittedToStorageWW
cmiEventBulkImporterCommittedToTempFiles
"cmiEventBulkImporterEndManifestShred
cmiEventInstallerBeginUninstallation
cmiEventInstallerEndInstallation
cmiEventInstallerEndUninstallationWW
cmiEventOnInstanceRemovedWWW
cmiExcludeReferenceWd
cmiFileAttributeArchiveW
cmiFileAttributeNormalWW
cmiFileAttributeOfflineW
@cmiFileAttributeReadOnly
cmiFileAttributeSparseFileWW
cmiFileAttributeSystemWW
!cmiFileBasedRepositoryWW 5
cmiFileComClassWd
cmiFileComInterfaceProxyStubd
*cmiFileDependencyWWWd
#cmiFileRepositoryNoCleanupOnImportFailureWWW
cmiFileRepositorySetd
cmiFileRepositoryWWWd
cmiFileTypelibWWd
cmiFileWd
cmiFirstLevelInformation81
cmiGenericCommandWWWd
cmiGenericTrusteeWWWd
cmiGreaterThanWW 
cmiGroupTrusteeWd
(cmiHasDiskImageW
cmiIdentityDefinitionWWWd
cmiIdentityReferenceRangeWWWd
cmiImpersonatePrivilegeW
cmiIncreaseBasePriorityPrivilege
cmiInfSerializerd
cmiInfSerializerFullRegistryConversionWW
cmiInfSerializerGeneratePnpInfoW
cmiInfSerializerNoInstallConversionW
cmiInfSerializerProcessExcludeId
cmiInfSerializerProcessIdentityOnlyW
cmiInstallContextWWWd
cmiInstalledRepositoryWWd
@cmiInstallerCapabilityForceDriversCriticalWW
cmiInstallerCapabilityRollbackWW
cmiInstallerCapabilityUnattended
cmiInstallerManagerWd
cmiInstallerRegistration
cmiInstallerSequenced
cmiInstanceFactoryWWd
cmiInstanceWd
cmiInstrumentationInformationWWW
cmiInteractiveLogonPrivilege
CmiLanguageModeW
cmiLessThanW 
cmiLockMemoryPrivilegeWW
]CmiLogConfig
)cmiLogFacilityConfigurationWXM
cmiLogFacilityObjectModelWWWXM
cmiLogFacilityOtherWXM
#cmiLogFacilityRepositoryXM
cmiLogFacilityXmlWWWXM
cmiLogLevelInfoW
cmiLogLevelNoneW
CmiLogLevelW
CmiLogMessageWWW
cmiLogModuleClrW
cmiLogModuleCmiW
cmiLogModuleCryptWWW
CmiLogModuleFlagsWWW
cmiLogModuleLocDrvWWXM
cmiLogModulePnpW
cmiLogModuleSmiW
cmiLogModuleSysprepW
cmiLogModuleTrustWWW
cmiMachineAccountPrivilegeWW
cmiManageVolumePrivilege
cmiMediaFileRepositoryWWd
-cmiMigrationElementInformationWWd
cmiMigrationIncludeInformationWWd
cmiMigrationInformationWd
cmiMigrationPatternWd
cmiMigrationPluginWWd
cmiMigrationTypeInheritWH
cmiMigrationTypeNoMigrateWWWH
cmiMigrationTypeOverwriteWWWH
cmiMigrationTypeRenameWW
cmiNamespaceNoneX
cmiNoneW
;cmiNoRebootRequiredW
cmiNotComparable
cmiNotStartedWWW
]CmiObjectsWW
CmiObjectTypeWWWd
cmiOfflineInstallWWW
cmiOnlineInstall
?cmiOnlinePassWWW
cmiPathFileW
cmiPrivateInstallerWdK
cmiPrivateTestPackagerWWd
cmiPublicInstallerWWdK
cmiQualifiedSettingNameWd
[cmiQueryGetAllIdentities8
 cmiQueryGetCategoryMembershipsWW8
cmiQueryGetComponentDependencies8
cmiQueryGetComponentDependentsWW8
cmiQueryGetComponentsByTypeW8
cmiQueryGetDefaultValueForSettingDefinitionW8
cmiQueryGetFileOwnersFromSourceNameW8
cmiQueryGetFileOwnersWWW8
cmiQueryGetSecuredAttributeForSettingDefinitionW8
cmiQueryGetSecuredSettingsForComponentsW8
cmiQueryGetSettingOverridesForSettingDefinitionW8
cmiQueryGetSettingTypeForSettingDefinitionWW8
cmiReadOnlyW
cmiRebootRecommended
cmiReconfigurationPassWW
cmiReferenceAnswerWWd
cmiRegBinary
cmiRegDwordLittleEndianW
cmiRegDwordW
cmiRegFullResourceDescriptor
cmiRegistrationCommandWWd
cmiRegistryKeyWWd
cmiRegistryValued
cmiRegNoneWW
cmiRegQwordLittleEndianW
cmiRegResourceListWW
cmiRegResourceRequirementsListWW
cmiRegSz
cmiRemoteShutdownPrivilegeWW
cmiRepositoryInitializerd
cmiRepositoryWWWd
cmiResolvedW
cmiResolverWd
cmiResolvingChildren
cmiRestorePrivilegeW
cmiRunTimeWW0C
cmiSecurityDescriptorDefinitionWd
cmiSecurityDescriptorReferenceWWd
cmiSecurityPrivilege
cmiSelectionDone
cmiServiceLogonPrivilege
cmiSettingInformationWWWd
cmiSettingInstanceWWd
cmiSettingOverrideInstanceWWd
cmiShare
cmiShutdownPrivilege
cmiSimpleIdentityWWWd
cmiStagePass
cmiStringTableEntryWd
?cmiSyncAgentPrivilegeWWW
cmiSysprepInformationWWWd
cmiSysprepModuled
cmiSystemEnvironmentPrivilegeWWW
cmiSystemtimePrivilegeWW
cmiTakeOwnershipPrivilegeWWW
cmiTargetWWWd
cmiTokenReplacerd
cmiTrusteeAliasW|
cmiTrusteeComputerWW|
cmiTrusteeDeletedAccount|
cmiTrusteeInvalidWWW|
cmiTrusteeUnknownWWW|
cmiTrusteeUserWW|
cmiTrusteeVirtualAccount
cmiTrusteeWellKnownGroup|
cmiUndockPrivilegeWW
!cmiVariantMapWWWd
cmiVersionWWd
cmiWaitingForSelectionWW
.cmiWriteableTypeStaticWW
cmiWriteableTypeSystemDataWW
!cmiZeroOrGreaterThanZero
cmiZeroOrOneT
CM[JGYP[O
CM[JLDXM
CMJLGCQ_[
CMKBBJYX
cmkgfGRh
C]MKGHYZXD@SQPK
C[MKHKL@
CMK]KEGKDPJ
CMKQD[QX_HG[OZMNDL_ZYJOYS
CMLBXHLFXKLS_K
c)))MLDF
C@MLDH[_LE
c)))MLJA
CMLJDCAHB
CMLMOKJ_SZ
CMLOJYPCNHHH
CmLpgppepq
C)))ML_Y[FCLJ]Z
[CMLYZNJ
cMmggfww(
CMMJ]BEEJGS
c||@M||(M|| M||
cMMOMMMMM*YMM
CMMQGX_ACO
cM[[[N[[[
CMNAG[QLBAZCPGZCD
CMNEBXEDC
CMNE_K@A
CMNE_K@ACBQ]PSQ[
?)))CMNE_K@K
CMNGHHCPZLP@Y
cMNgqggD
CMNJGPXS
CMNJS_D@PBZ
C[MNKFKZB
CMNL]Z[[
CMNPGXZS_N
_CMNX[HBZL
CMNYA]DA
CMODFQQKZNZCOHXXL]K
CM[_O[HN]
CMO[LJ]SX_Y
CMOPJAQA
@CMOQJMSJ
CMOSXHJ[[Z
CMOXSKPBS
CMO@[YOFBZ@CY
CMPAJQP]
CMPANPGSD]PDQCOZ]]]
CM[[P]DNH
CmpgppepqG
CMPJ]D[CP
CMPOBXKHCXG
C]@MPQMZQ
cmpxch8b
CMPXNSGP
CMQXKDYM
CMQYAEDG_KZ
cmSdWXY5GEG
CMSgqgg(
CMSHHZJKAO
cMsmY[[[
_CmSSSSSSSS
C(mSSSSSSSS
CmSSSSSSSS
cmSSSSSSSSSSSSSSSSSSSSSSSSSSSS5
CMSYAN]AP
cM[[[T[[[h[[[D
CMvD@HD@
CMXCEDPD
C@MXMBDAQZNA_AO[_
C]MXYYKQK_JGXNK
C[MYA_NDEZJJ
CMYBKAMGA
CMYC_[Q[
CM[YGCAGOSDA
CMYJBFQYPFXY
CMYLSLKMGYOK]C]
C]MYYMBQ
_C]MYZ_G_PY
C_MZBQDBY
cMzhD!7]4
CMZJHSSEGEZ
CM_Z_LDC
CMZQCKMQ@[NH
CM_Z@Z]MNBNZX
C]NABESQB
[CNAEQYHH
CNAHAPH_H@ESQ
CNAJ[DOCYGQSA
CNALGHDNJB@
CNA@OJNYNO
CnB]BRBKB4B
CNBCKGHO
CNBE@MMKBC_
CNBHYSCC@
CNBKKG]QCQN
CNBQMOLKDLZKADPJ
CnBUB5B"B	B
]CNBXLHEJGZA
CNBY[]HH
_CNB]YOHDOM
)CNCCCBACC
)CNCCCBACC@
)CNCCCBACCA
)CNCCCBACCB
)CNCCCBACCo
"((CNCCCBACCW
CNCCCBBCC
CNCCCBBCC!
CNCCCBBCC#:
CNCCCBBCC(
CNCCCBBCC-
CNCCCBBCC@
CNCCCBBCC]
CNCCCBBCC0vk
CNCCCBBCC1
CNCCCBBCC1K
CNCCCBBCC2
CNCCCBBCC4
CNCCCBBCC5C
CNCCCBBCC7
CNCCCBBCC74VC
CNCCCBBCC8
CNCCCBBCC9
CNCCCBBCCC
CNCCCBBCCE
CNCCCBBCCe(B
CNCCCBBCCg
CNCCCBBCCG
CNCCCBBCCh
CNCCCBBCCj
CNCCCBBCCj[8@
CNCCCBBCCN
CNCCCBBCCNo
CNCCCBBCC?nv(
CNCCCBBCCQ
CNCCCBBCCr
CNCCCBBCCR
CNCCCBBCCR0
CNCCCBBCCs
CNCCCBBCCu
CNCCCBBCC:v
CNCCCBBCCVQ4
CNCCCBBCCY
CNCCCBBCCz
CNC_CNC][
CNCD]M@G]K
@|CnCPCEC(C
@|CnCPCGC
C_NC[[QKP_D[
CN]CSP[JP
CNCXD]YCC
[[CNCZGNB
_Cnd_broadcast
_Cnd_destroy_in_situ
_Cnd_do_broadcast_at_thread_exit
_Cnd_init_in_situ
c_NdM[[[m[[[
CNDNJODQOQ
c:ndP[[[
CNDP@JMZC
_Cnd_register_at_thread_exit
_Cnd_signal
_Cnd_timedwait
_Cnd_unregister_at_thread_exit
_Cnd_wait
	cNdW[[[M[[[
cNdy[[[:[[[
CNDZELMQ_N
CNEBOKLDQJS
CNENSQPPHHCNFQBJJD
@CNEYOJQ
C_NEZGH@D
CNFC_BJLMN[KHHLF]_
CNF_G_GOOE[GJ_KPA@OL
CNFPSDQ@
C_NFYKK@O
C#Ng7cgfG'
CNGAH[BH
CNg!egfG
CngfG!jj
CNg!kgfG
CNGOHY]GY
CNGP_HN]]
CNG@PX[YP
CNGQZ]GG
C_]NGZB@
CNHAC[GAZZ[LPJ
CNHC_AJYZ]
CNHHN@XHHYFHHHJH
CN]HHQ_Q
C_NHHZZ@
CNHLHEMPQ
CNHPHB[OO
CNHQONQN[OCDQALJKJJJ
CNJ_ENOEJLO
C[N_JEQPJ
CN[JFBBKMKBNQ[L
C@NJ[GPYYHEO
)))CNJH[YL]JELHG@GN
CNJ]PLHL
@CN]KAK_
CNKEDXMQ[MJZBM]ODQ[H
CNKEFFFYOXL]HOK
CNKKH]XJY
CNL_ABX@JCB
CNLCESSFLGBJHGD]BCZ
C@NLGH_AXJXL[MMQ
c)))NLGL[H]LYH[ZL[
CNLHOJDSM_
;CnllllllllmllllOllylm
cnLLU9APLk
CN[LMHME]LQ
CN[LMLKL
C)))N[LY
@CNMHHBDYSGQN
@[CNMKSPBA
CNMSJEQ]P
]CNMZJM[
CNn45(-n
[c[n[n[b[
cnncljbyVQ
CNND]_YN_Q[
C_NNGLZP
CNN]H@GLC
CNNJXGZPC_GHKZMY
C]NN_LK]QO_LDNANAOBKP
CNN]MOOPL_BAM
CNNQMDSB
CNNZBBBHZAYB
CNODZNPZN
@CNOEOSG
CNotificationManager::Initialize
CNotificationManager::ShowNotifyIcon
CNotificationManager::ShowNotifyIconHelper
CNotificationManager::TimerEvent
CNotificationManager::UpdateStateMachine
"cNotifWW
CNP[]CXA
CNPHONP]H
@@@@@@C@NpLO
@@C@NpLP
@_[CNPOMNQQ
cN  q"    0
CNQB[BYY
CN]QBPK_LKN]OEZKLZN
CNQD[OB]MAXGSQX]G_
C[]]NQLL
CN[Q]OCKP
CNQ[SCGJ
CNQX_YYA[H
CNQYKD]SYZN@HA[
CNSCQFQQBOL
CNSDSG]FS
CNSNYBXQ
cnSSSSSSSS
CnSSSSSSSSSSSSSSSS
C[NSY]XEA@X_Q
[:cntrl:]
CNXALYQL
CNXFQJNK_YOXHG_BYX]YNCJ@AE[
C[NX]SDOAEAL
C[NX[YSPJZL]
CN[XZBO_@JHE@ODM
CNYBJ[[K@
C_NYJ_[DG
CNY_PA__LLC]HF]CD_O@XJF
CNYSMSAEO[J_SYCOP
CNYZHQAMC
CNZDEALESS_
CNZEABZ[XA
][CN_ZLHPDO
CNZL[PGF[CYNJALZSG
CNZQDF_ZYG
))c))))(o)))
CO2g7ogfG
CO2g7ogfGp
COAALOZC
CoAddRefServerProcess
C)))@OAHZH]][
COAJPXOLMQO
CO[A__LBH
coalesce
CO]ALG@OY[FJLZZLQ@Z]Z
COA@NQZM
[_C[O[AON
COAPLZAFP
COAZS]NO
COBAAGME
CoBHB@B;B'B
C][OBHGH
]COBOPDN_MLPFNHX
COBPQJYZPYZMPSCKHN
COBSBQCDY
COBZEL@[
COCBMLLBF
CO_]CCBC
][COC]D[
COCD[MZD@
COC@E]]J@Q
COCHJ]MYANS
COCJ]BYP
coclass 
COCLN]YNKN[
]COCLQK_SA_K]KCDZN
CoCreateFreeThreadedMarshaler
CoCreateGuid
 CoCreateInstance
CoCreateInstance
CoCreateTaskScheduler
CoCreateTaskScheduler Retry
COCXHostView
C_O[[CZC
COCZSEQPCKGQ
:cOd[[[[
cO'd][[[
c)))@O[D
cO'dA[[[
cO'dB[[[z[[[y[[[[
codebase
CodebaseExec
codebase_scrubbed
cODEcRYPT
CodeDirectoryMismatch
codeintegrityoption
CodeLimit
code_on_stack
CodePage
CODEPATCH
code too deep
cO'dI[[[
CoDisconnectObject
CODLBOJHAQQ
cO'dM[[['[[[
cOdP[[[8[[[
cO'dT[[[Z[[[
cO'dU[[[Z[[[!
CODYSXQZCDB
COEQ[AYLCSYM]
COESGGJ[SXAH
coexistence_checks.h
coexistence_checks_tests.cpp
c)))OF[DDL]AFM
c)))OF[DHJ]@FG
CO__FJBBOD
COFKQ_SZ
CO]FNNLXFP
COFNOQ]H
COFQJNG_MQ]
CoFreeUnusedLibraries
C[O]FXLCLQJP
COGAYCAP
CoGetApartmentType
CoGetCallContext
CoGetClassObject
CoGetInterfaceAndReleaseStream
CoGetMalloc
CoGetObject
CoGetObjectContext
c	ogfGJ)
[CogfG.x
COGGQSS]]QKBOJ[
.cOgKfgfG
[COG]MJKOAB]
__COGPHA
COGPNSSM]SQ
COGP]_S]
C_OGPS@MB
COgqgg*a
COGXFPZ[@G
C_OGYBKS
COHHPHGL
COHOGLOZJOF_LOEEO
C]O_HOKBAPHXSMH_JBYF]
COHQH[QPGCEA@QO
C[OHXOHB
co_IAAAA@AAAAAC9
CoImpersonateClient
CoIncrementMTAUsage
CoInitialize
CoInitializeEx
coinitialize.h
CoInitialize(nullptr)
CoInitializeSecurity
CoInstaller
CoInstallerSource
CoInstallerSourcex86
cointerface 
CoInternetGetSession
coj3@@A@7pQD
coj3@@A@XpDQcoj3
COJ_DXSPYHMGCDSECY_N
C)))OJHAFDL
C_OJOG_@Y
COJO_OGQQSS_
COJPXSOXKBFBXP
C[OJQKOF
COKCNQQC
]COKD]OE
COKEGQBDJZN_O[
COKFBHOG
]COKHX_Q[D
CO[KJFPOS
COL_B_XHOAO
coLdI[[[
COLFOO]DXCCPFG
_C]OLGEDBA
CO[_L[GLN
COLHY]LAA@SBLCHG
CollapseRowW
collation_list
CollectEnded
collectgarbage
CollectGarbage
collectGarbage() is not a constructor
CollectionFlags
collectiontype
collectortests.cpp
collectreason
collectreasonex
CollectSpynetFailure
CollectStarted
COLNZQZJ
ColorFilter
colortbl
cOLOWNED
COLP[MOM
CO@LQAXP[HQ
COLQQBKLF
column index out of range
Column index value exceeds the number of total columns
Column InterfaceWW
Columns InterfaceW
ColumnSortOrderWl
(Com2Exe)
(Com2Sys)
com.apple
CoMarshalInterThreadInterfaceInStream
combase.dll
CombineRgn
com_catalog_complus.cpp
com_catalog_snapshot.cpp
ComClassesWW
comclient.cpp
comclsid
com_configuration.cpp
COMCTL32.dll
COMDLG32.dll
COMDSBC]B
com_error.cpp
com_error.h
comexceptions.h
comhelper.h
ComInterfaceExternalProxyStubsWW
ComInterfaceProxyStubsWW
COMJHKPZ
CO_MKCNZ
-command
command_helper.hpp
command_helper_test.cpp
command_line
commandline
Commandline
CommandLine
commandlinearguments
CommandLineArguments
commandlinearguments_scrubbed
command_line_cleaner.hpp
command_line_cleaner_test.cpp
commandlineparsertests.cpp
CommandLineScan
commandline_scrubbed
CommandLineToArgvW
command_scrubbed
commands.hpp
commands_test.cpp
commandstest.cpp
command_test.cpp
]CommandW
.comment
)Comments
commercial-at
CommitComplete
CommitEnlistment
CommitIEHistoryUrlCacheEntryA
CommitTransaction methodWW
CommitTransactionWWW
CommitUpdate
CommitUrlCacheEntryA
CommitWW
_commode
com_monitor.cpp
com_monitor.h
CommonName
CommonProgramFiles
COMMONPROGRAMFILES(X86)
COMN[DS@X
compackager.cpp
compackager.h
compackagertests.cpp
compackagervaluestringbackedbyregistrytests.cpp
compackagerwriter.cpp
CompanyName
CompanyW
CompareEntryIDsW
CompareExchange
CompareFileTime
CompareOptions
CompareStringA
CompareStringEx
CompareStringOrdinal
CompareStringW
CompareTo
CompareW
            compatibility then delete the requestedExecutionLevel node.
compatibilityVersion
competitivesecurityprocesses
CompetitiveSecurityProducts
CompilationRelaxationsAttribute
compiler
CompilerGeneratedAttribute
Complete
 Complete Object Locator'
completiontime
compliancepolicy
compluscatalogenumerator.cpp
compluscatalogenumerator.h
compluscatalogenumerator.stub.cpp
complusdetector.cpp
complusdetector.h
complusdetectorut.cpp
componentloader.h
componentloaderoverridecontroller.cpp
componentloaderoverridecontroller.h
componentloadertests.cpp
componentloadertests.h
ComponentResourceManager
components
ComponentSettingsWWW@Q
ComponentsToAddW@Q
ComponentsToRemoveWW@Q
ComponentsToReplaceW@Q
component that represents an atomic unit of distributionWW 
ComponentTypeWWW
"ComponentWWW
Compress
CompressedFileExtensionChar
compression
COMPRESSION_FORMAT_DEFAULT
COMPRESSION_FORMAT_LZNT1WW
COMPRESSION_FORMAT_NONEWWW
CompressionLevel
CompressionMemory
compressionticks
CompressionType
compublishingoperation.cpp
.compute_device
computeEnabled
ComputeEnabled
ComputeEntropy
ComputeMode
computerdnsname
computerdnsnamehash
computerdnsname_scrubbed
COMPUTERNAME
computernetbiosname
computernetbiosname_scrubbed
Computes effective changes without performing installation;
com_registrator.cpp
comregistrator.cpp
com_registrator.h
comregistrator.h
comrequestor
comresourcemanager.cpp
comresourcemanager.h
comserverbinary
comserver.cpp
comserver.h
com_std.h
com_ut_catalog_snapshot.cpp
com_ut_configuration.cpp
com_ut_error.cpp
com_ve_wrapper.cpp
com_ve_wrapper.h
ComVisibleAttribute
COMXPZ[OO
__concat
concatenate
CO]NDCSEHC[ZHGBQ
conectixH9
confidence
ConfigBlob2Xml
config.cpp
configentry.cpp
configentry.h
configentry_test.cpp
config.h
configmanager2.dll
configoptions.cpp
configSetting
ConfigSetting
CONFIG  SYS 4.0
_configthreadlocale
configuration.cpp
_ConfigurationEvents
configuration.h
Configuration is NULL
configuration_manager.cpp
configurationpage.cpp
"configurations": [
Configuration UI name
ConfigureImcLogRegistry
ConfigureMsgServiceW
_configure_narrow_argv
configurepackageactivitytests.cpp
configurepackagegrouptests.cpp
configurepackagetests.cpp
configuresoftwarepage.cpp
_configure_wide_argv
Configuring the thread pool with 
ConfigWW
ConfigXml2Blob
conflicting ON CONFLICT clauses specified
CON[]@G]NEN
[CONJANSLBJA_NM]XGSL
CONLQAGGMCX
connectedproc.cpp
connectedproc.h
ConnectedToInternet
connection aborted
connection_aborted
connection already in progress
connection_already_in_progress
connection.cpp
connectiongrouptemplatetests.cpp
connection.h
connectionmanager.cpp
connectionmanager.h
ConnectionOptions
connection refused
connection_refused
connection reset
connection_reset
connection_test.cpp
	connectivity
connectivity
ConnectNamedPipe
Connector class to enable access from DHTML page to the events of current MMC instance
Connects to application events and starts forwarding themW
connecttest.cpp
connecttest.h
ConnectTime
connecttotask.cpp
[_CONPYJ
CON_QXGCC
consentticks
ConsoleMenuControl
consolidatedthreattrackingids
constrained.
constraint failed
constraints.hpp
constructor
Constructor
constructor is not a function
ConstructPartialMsgVW
ConsumeInputCompressed
ConsumeInputPlain
ConsumerAsrMode
Container
ContainerControl
Containerfile
ContainerReferral
ContainerScannedCount
containertype
Contains
ContainsKey
contains_rva
contains_va
ContentInfoType
ContentInOverlay
(ContentMismatch)
?ContentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
contentsha1
contentsha256
Content-Type
ContentType
Context callback failed.
context.cpp
context.data()
CONTEXT_DATA_AMSI_APPNAME
CONTEXT_DATA_AMSI_CONTENTNAME
CONTEXT_DATA_AMSI_OPERATION_PPID
CONTEXT_DATA_AMSI_SESSIONID
CONTEXT_DATA_CONTROL_GUID
CONTEXT_DATA_CONTROL_HTML
CONTEXT_DATA_CONTROL_PATH
CONTEXT_DATA_CONTROL_VERSION
CONTEXT_DATA_DESIREDACCESS
CONTEXT_DATA_DEVICE_CHARACTERISTICS
CONTEXT_DATA_FILE_AGE
CONTEXT_DATA_FILE_ATTRIBUTES
CONTEXT_DATA_FILENAME
CONTEXT_DATA_FILEPATH
CONTEXT_DATA_FRAME_HTML
CONTEXT_DATA_FRAME_URL
CONTEXT_DATA_GENSTREAM_APPNAME
CONTEXT_DATA_GENSTREAM_CONTENTNAME
CONTEXT_DATA_GENSTREAM_SESSIONID
CONTEXT_DATA_HAS_MOTW_ADS
CONTEXT_DATA_HOSTAPPVERSION
CONTEXT_DATA_NEWLYCREATEDHINT
CONTEXT_DATA_OPEN_CREATEPROCESS_HINT
CONTEXT_DATA_OPENOPTIONS
CONTEXT_DATA_PAGE_CONTEXT
CONTEXT_DATA_PROCESSDEVICEPATH
CONTEXT_DATA_PROCESS_ID
CONTEXT_DATA_PROCESSNAME
CONTEXT_DATA_PROCESS_PPID
CONTEXT_DATA_REFERRERURL
CONTEXT_DATA_REMOTE_SESSION_DOMAINNAME
CONTEXT_DATA_REMOTE_SESSION_IP
CONTEXT_DATA_REMOTE_SESSION_USERNAME
CONTEXT_DATA_SCANREASON
CONTEXT_DATA_SESSION_ID
CONTEXT_DATA_SHAREACCESS
CONTEXT_DATA_URL
CONTEXT_DATA_URL_ZONE
context.h
contexthandle.cpp
Context is not acquired
Contextmenu
ContextMenuHandler
ContextMenu InterfaceW
ContextMenuW
contexts
ContextualExpandEnvironmentVariables
ContextualGetShellKnownFolder
ControlBindingsCollection
controlcode
ControlCollection
CONTROL_DEVEXT
control_dispatcher.cpp
control_dispatcher.h
control_dispatcher_ipc.cpp
controlguid
controlhtml
controller
controller.cpp
controller.h
controllertests.cpp
controllertests.h
control_manager.cpp
control_message.hpp
ControlObjectWWW
controlpath
Control_RunDLL
ControlService
ControlTraceW
controlversion
ControlW
conversion of data to type "
conversion of type "
ConvertGuidToStringW
ConvertInterfaceIndexToLuid
ConvertInterfaceLuidToGuid
ConvertInterfaceLuidToNameW
ConvertLengthToIpv4Mask
ConvertSecurityDescriptorToStringSecurityDescriptorA
ConvertSecurityDescriptorToStringSecurityDescriptorW
ConvertSidToStringSidA
ConvertSidToStringSidW
Converts only the identity of the driver packageWW)
ConvertStringSecurityDescriptorToSecurityDescriptorW
ConvertStringSidToSidW
ConvertTo
conv.ovf.i
conv.ovf.i1
conv.ovf.i1.un
conv.ovf.i2
conv.ovf.i2.un
conv.ovf.i4
conv.ovf.i4.un
conv.ovf.i8
conv.ovf.i8.un
conv.ovf.i.un
conv.ovf.u
conv.ovf.u1
conv.ovf.u1.un
conv.ovf.u2
conv.ovf.u2.un
conv.ovf.u4
conv.ovf.u4.un
conv.ovf.u8
conv.ovf.u8.un
conv.ovf.u.un
conv.r.un
CONXMMXDMBDHKCPSZO@N
CONYYOYPBP
CONZJLPJ
]COOCXY_[KEX]QBO]
COODEJYM
COO_GB_PJ[AHGACBXKP
CO]O_K_FAY
cookieEnabled
C@OOOOOOOO|
COOOOOOOOggO6Q
C@OOOOOOOOO
C@OOOOOOOOOOOOO
C@OOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;
|cOOOOOOOOOOOOOOOOOOOO
COO]O]QN
C]OOPPH[BZABD[COD]PS
CO@@OQ[BOJKGY[S
CO_OQB]XXM
coordinator.hpp
coordinatortests.cpp
COPAYLPY[
CO]PE]GE
COpgppepq
Copies the data object of the active scope node to the clipboardWW8
Copies the data object of the selection to the clipboardWW 
COPLKSLYSJ[][
COPQBDNYOOZODM
CopyAllowed
CopyFileA
CopyFileExW
copyFiles
CopyFileW
Copyhookhandler
CopyIcon
CopyImage
CopyImcFiles
copyinstallfilespage.cpp
CopyLocalToRemote
CopyMessages
CopyMsgServiceWW
CopyRect
CopyRemoteToLocal
CopyScopeNodeWWWL
CopySelectionWWWL
CopyString
CopyToWW
COQAJZHZOYHA
COQAMJ][_ZKS
COQBXPAS
CO@Q[G[@X_KGEQ
COQ[HPZXEPG
[COQOJJG
COQQYKDCY]G
CorBindToRuntimeEx
coreapi.cpp
CoRegisterClassObject
core_ipc_servers.cpp
core_ipc_servers.h
CoReleaseMarshalData
CoReleaseServerProcess
CoreReport
CoResumeClassObjects
core_telemetry_preprocessor
core_telemetry_publisher
core_telemetry_publisher.driver_name
core_telemetry_publisher.enable_os_process_events
core_telemetry_publisher.enable_pmu_events
CoRevertToSelf
CoRevokeClassObject
_CorExeMain
CorExitProcess
coroutine
coroutine expected
corrupt database
CorruptDir-InvalidCert
CorruptDir-ValidCert
(CorruptedCode)
Corrupted store
CorruptFile
corruptionCount
corrupt schema
COS[[CX]
COSD[MAC
CoSetProxyBlanket
COSJHZHZDZ
COSMY]H]
COSNHGOG
COSP][HL
CoSuspendClassObjects
C_O]SYK]Z
CoTaskMemAlloc
CoTaskMemFree
CoTaskMemRealloc
Could not allocate classifier
Could not allocate memory
Could not allocate SESSION
' could not be found.
could not convert calendar time to local time
Could not create DX compute device
Could not create DX compute device. retrying.
Could not create DX compute shader
Could not create thread
Could not duplicate a process handle for memory allocation
Could not initialize Decision Tree workload.
Could not obtain the work mutex lock
Could not write all contents to destination
Could not write memory
Couldn't convert array values to string
Couldn't convert return type to Int32
Couldn't obtain the publisher API pointer
Couldn't retrieve the normalized API list
CoUninitialize
CountAsrRules
count_changes
counters
CounterSigner
countofcredentialsreturned
CountryCode
CoWaitForMultipleHandles
CoWaitForMultipleObjects
coWW?M_'_
COXAQKSOHJM
COXA_XFP_[JPXH
COXCOHXFL
[CO[XJDS]]GKDEMP
COXJ@NK]
C@O[XLKJS[HCN
COYBEXAAJ
COYJBK]K
@C@OYPKOGX]CFMMQKG
COYXGNDL
CO@YY_KJHBD
COZB_EQM
COZGJGCZA
COZOHSBNLJQQ_EKZHS
COZ[X@HQB
cozygfG'z
*@@@@@@@@Cp@
@@@@@@@@Cp@
@@@@@Cp@[
@@@@Cp@	
@@@@Cp@[
]@@@@Cp@-
C||||||||P
cP8J 1)x
@@@@Cp@a
C@@@@@@@@:p@A
C@PAA[AAKY
CPAALDDOP]JPXB
CPACJSSDSSQ
CP_ACLEBH]]_MJ
CPA_CPHKXCFKADEKNJ
@@@@@@@@Cp@af;
CPAOKG@MXOOSO_DA
_CPAXO_S
CpBaBfBSB
CPBALEPS
CPB[A]]Y
CpB]BUBMB2B
CPB]HCOQZ[O[GGQGM
CPBH]DJQBC[[LZG
_[C]PBKE]L_
]CPBNA@KJ
CpBWBgEWEFE
@@@@Cp@c
cpccacnc0
C_PCJBDAC
C]PCP]QNZN
@@@@@@@@Cp@cS
]CPCSOJMCFJFK_ZB]
@@@@@cp@D
@@@@@@@@Cp@d
C_PD[_BSYAHYY[
cPdC[[[u[[[l[[[[[[dT[[[t[[[o[[[l
CPDGHJL]PLMXL]KX
C]PDGHX_
CPd_[[[R[[[
C[PDZPOC
[CP@DZQG
@@@@@@@@cp@E
cPE1gAggD
C_PECBSMZZA
@@@@@@@@Cp@eM
@@@@@@@@cp@f
CPF_[BBP
CPFCDAZOKYEYBKJ
@@@C@_p@G
C[PGBL_LHYH
C]PGC]QXH
CPGE[C[MXELOPJM
CPGOMADJYF
CPGOYFKN
!cpgppepq!?
*)cpgppepq
]cpgppepq
c pgppepq
c!pgppepq
c#pgppepq
c'pgppepq
cpgppepq
cpgppepq	
cpgppepq-
 Cpgppepq
:Cpgppepq#
;Cpgppepq
]Cpgppepq
C#pgppepq
Cpgppepq
cpgppepq2
Cpgppepq2
cpgppepq5
Cpgppepq7m3]
cpgppepq9
cpgppepqA"
Cpgppepqb
CpgppepqBj
Cpgppepqc
c@pgppepqD?
CpgppepqF
cpgppepqgl4
_cpgppepq	H
Cpgppepqj
Cpgppepqje
c)pgppepqKi
Cpgppepqm
Cpgppepq_n
Cpgppepq"p
Cpgppepqp
cpgppepqq
Cpgppepqq
C#pgppepqQ
cpgppepqs
cpgppepqS
CpgppepqS
Cpgppepqt
CpgppepqU
cpgppepqV
CpgppepqVxV
cPg[qgfG
CPgqggIT
[CPGS[QC[
]CPGYOHXS
@@@@@@@@Cp@h
CPH9Chr@H
C][PHCGJP[BPL
CPHHJGYO_
CP]HHL]QAGM
CPHHQNBALHPP
_CPHLHNMY
@@@@Cp@HN-[
CPHOAPAKNJPLA@
cphook.cpp
cphook.h
@@@@@@@@cp@I|
@@@@@@@@Cp@I
@@@@@@@@cp@J
C]PJBL]J_B
CPJC@_CS@JLB
CP_JENG_H
CPJ_JHZ_
CPJMHLBNA
@CP[KCMEZ
[@@@@@@@@cp@Kf
CPKLEGKHXLH
CP_KLKA@
CPKM_JMYDL[
CPKSZ]S@
CPKXJNMOK
@@@@@@@@Cp@L
CPL90t(H
CPL90uzH
CPL_EQ_0
CPLEQOQHB
@@@@@@@@Cp@Ln'
CPL_NEQ_0
CP@LXFZ_LMK[X
CPMBCSPYNBF
CPMDJD[JZFSPPK[
CPMELY]L
CPMNLC[_
@@@@@Cp@M:O
CPMOQ]AO
C[P]M_PL[
CPMPServerLock::LockProcess
CPMPServerLock::UnlockProcess
CPMPServerLock::WaitForUnlockProcess
CpMsgEIDW
C]PM]__X_QS
@@@@@@@@cp@N
 @@@@@@@@cp@NE
CPNEXMQ]LZH
CPNLXLYM]
CPNOZAJH
@@@@@@@@cp@O
@@@@@@@@Cp@;O
CPOAGZJ_N
CPOD[KMC]X
_@@@@@@@@Cp@og
CPO]HYBX
@@@@@@@@cp@Op
CPO]S_GQ
C[POYGCAME[@MGQB
C_POZBAL
@@@@@@@@cp@P
C]P]]PAMJBB
CPPEZ]NBKFB
c ppfcntWWd
CPPGANSG
CPPGDXYLG
CPPHXDHN
cpPixxrk
_CPPJLN_L
CPP[LXOZCY
@@C@Ppma
@@@@@@C@Ppmb
CPPMPSHC]B
CPPOYZYJ]K
@@@@@@C@PpQM
CPPSX_MQ
CPPTP00l9
CPPTP00p0
CP_PYYMQDZDAJABMBP
@@@@@@@@Cp@Q
CPQAQYDMD]XJN
CPQ[CHJAEJG@YL
@@@@@@@@Cp@QG
CPQNMJ[MY
@@@@@@@@cp@Q'X
@@@@@@@@cp@R
;'@@@@@@@@Cp@r
_@@@@@@@@Cp@r
@@@@@@@@Cp@R
cProblem
cPropNamesWW
@@@@@@@@Cp@Rw
@@@@@@@@cp@S#
@@@@@@@@Cp@s
@@@@@@@@Cp@S
CPSC]OLK_
CPSGDBZ@MJKN]
CPSGP[XAAZ
CPSKBYDKD
c@@@@[pSL
@@C@[pSM
CPSMK]PQDZ@A
CPSOJFLAMKXB
CPSPOEZBJZ_SJA
cPSSBYBK
cPSSD@WBw@VkwPSSUK9
CPSSSM@HAOQ
CPSZDL_H
@@@@Cp@T
CpThread0_GetManagerPID
CpThread0_SetBrowserAppProfile
CpThread0_SetBrowserAppProfileFailure
CpThread0_SetContentProcessSecurityPolicies
CpThread0_Start
CpThread0_StartContentProcessThread0
CpThread0_SuppressSensitiveAPIs
cp_thread.cpp
CPT[RQCAL
CptxgicgfG
cpu_brand
cpuClass
cpu_family
"cpu_info":"
CPU Info - Family: 
cpu_model
CpuSimulate
cpu_stepping
CpuSubType
cputhreshold
cputhresholdcrossed
cputoleranceinterval
cputolerancelevel
cpu_type
cpu_vendor
@@@@@@@@Cp@V
@@@@@@@@Cp@Vm
CPV]Wd4Qs
@@@@@@@@Cp@W
@@@@@@@@Cp@WvWZ
CPXKQ]HXZ
CP_X]NKDML
CPXNQP]P
CP__XXBO]
@@@@@@@@Cp@Y
@@@@@@@@cp@Y8
CP_YDSDAQZEJ
CP_YK]FF
[CPY@KJHJD_
C)))]PYL
CPY_LDJYPGBL
CPYLYSFX]XDGGMXDHY
CPYOD][L
CPYODNEOM
CP_YZNZKH_QZN
C@PZAHMZXLMLLK
CPZ_DYYX
CPZJNBXJY_K]F
@CP]_ZQ[
C||||||||Q
cq1SgqKgfG
cQ[[[3[[[2[[[
CQ3_]*;2D*
C_q3Gyyyyy
CQ@A3!AFAAAAAAAA --."
CQ_ABMZM
CQAEOZYL]JK
CQAJ_EPFGGK_P
cqallllllllmllllOllylm
cqallllllllmlll]Y]]
CQ_AMQADF
CQANJQBG
CQAOXJAY]
CQAPB]E_OO
C]QA_PZMJPMJ
CQAXZYZMQX_CO_PC
C_]QB[AB
CqBaBQBAB1B!B
CqBcBZBQB
CQBHABJQ
cQbhggfwn[r
CqBjBbBAB5B
CQ[BMQKAC
CQBW]T	][
CQBX_KCKZGCG
CqBYBQBMB5B
]CQBZGQAANANPX
CQ@C_BN]NAQ]@SAJYKPG
cqccacoc0
CQCELHPA
[CQCMQJAB
CQC_NC[OHSSACOA
C_QCPPEYM
cq!cQ!1P
CQC_SCCSXQEQJ[G
CQ_CYLJQESYXXX
CQC_ZKAB
CQDBHKDDG
	CQDgoJgfGv0K
C@QDXNQQ
CQ_DZB[N
CQEKHSJX
CQEML_LE[QXZM
CQE@XB[P
CQ_EYOXK
CQFEPK@XGJ
CQFJXYEB
CQF@YGGN
_CQg0M0j0D04X
C]Qg9egfG
Cqg9kgfG)
CQGCXQN_SQSSZ
[[[cQgdM[[[
Cqgga" --a
CQGGXGKLCJZQH@_SNDBKOGXDN_MC
C]QGHAFY[BKHXK
CQGHNCCDPQG
C[Q[GMGQPHNS
@CQGOGMO[
CQGOHG@EXHNSB
cQgqgg)f
C_]QGSDGD]DABXYXL
C_Q][G_XPM[
CQGYXALHJSJB
CQHALJEB
C[QHGDPYQLONBNMY[[]AKKZ]O
C)))QHGH]A
C_QHKHB_
CQHKKOCYPFO@K
C_]QHO[C[
CQHPEHLH[S@ZBLNHXKHD
)))CQHXHMHSHKH[HEHPH@HXH@HXH@HAHHHS
CQhza('i
cqI@@@@@@@BLp@Hp
cqI@@@@@@@BNp@D
[C[Q[JAKLAAPO
CQJBQAJC
CQ_JP_SKD[AOBZQSE
CQJYZCY_SJK
CQK]DFZ_SMBAHFMQBQ
CQ@KHD_[
CQ]KKMHY
CQKOJJZN_G
CQKPDK_Z
CQKPXXO_
CQk!TSSL
CQLANSONZJ
CQLBOMCGO
[C[[QLEYZYJJBEYHEXQNZFY
CQLHSP[OND
CQLLXHMD
CQLMFGHJHFFDZ
C@QL__MYS
CQLZLYS_H
CQMBPC_[ZZNBS
C[QMCELOX[]P@
CQM_O@LAOJBNM
CQM]OMJ_ACXBHXS
CQN[BL_X
]CQN@QGX
CQNYCLZEDD]]
Cqo#3n qq
CQo5.1u5.1o(.n
CQ_OB[YBSOHYOMB
_CQOHLB_
CQOJ_HLG
CQOOJBNN
__CQOP]A
C]QOQYLOYAAFLM]
CQOSLHXK
C_QOS]YBZXJJCD
C]QPHBOCASLGOGA]@Q[
CQP_HZPA
CQPSSYYS]
C[QPXS_SQGGM
CQP@zBY@XBYD
CQ[_QA[B
CQQDLKPQ
CQQOPPH]
@CQQQY]Q
CQ_QSLJP
CQQZGLHCDNPZDH
CQSKANGZ
[CQSKHDO
CQSNXPKSCJ
CQSRRcccFccac|c0
CQSRS??!
CQSSAqLw
CQSSBBDh[QSSUT
cQSSBWBIB[
CQSSD@@UXkUQSS[J
CQSSZcc]Y]]
CqvQgaogfG
@cQ(VSSW(nSSWU
CQ(VSSWsXS
Cq@@@@@w@@A@AAac
_C[QX_MCHO@MGO
C]Q@X_][ML[BBSP_M@
CQYDNBQE
CQ_YD]SLHN[NBFDPMHG
CQY_KBGBFHJMNXXYZY
[CQYPSAEMFJ
C[QY_[QOC
C]QY[]YL]QN@C
CQZ@CCBBKOMP
@CQZCXYYBPJ_OY
CQZDAX@CX
CQZGB]B]A
CQZSZNASJP
CrBYEUFJFyyyyxy
CRC32Buffer
C#rdygfGc[w
CreateAcceleratorTableW
CreateActCtxW
?_CreateAndSetLayout@DirectUI@@YAJPEAVElement@1@P6AJHPEAHPEAPEAVValue@1@@ZH1@Z
Create an instance of the component of the specified IdWWW8
CreateAppContainerProfile
CreateBatteryData
CreateBindCtx
CreateBitmap
CreateBitmapFromDxSurface
CreateBookmarkWW
?CreateBool@Value@DirectUI@@SAPEAV12@_N@Z
CreateBrushIndirect
CreateBulkImporterWW
CreateCAB
createcabpage.cpp
createcabpage.h
?CreateColor@Value@DirectUI@@SAPEAV12@K@Z
CreateCompatibleBitmap
CreateCompatibleDC
CreateCompressor
CreateConsoleScreenBuffer
CreateDecompressor
CreateDependencyReferenceWWW
Create dependency referenceWWW7
CreateDeploymentSession
CreateDeviceNode
CreateDialogIndirectParamW
CreateDialogParamW
CreateDIBSection
create_directories
create_directory
CreateDirectory
CreateDirectoryA
createdirectory_tests.cpp
CreateDirectoryW
?Create@DUIXmlParser@DirectUI@@SAJPEAPEAV12@P6APEAVValue@2@PEBGPEAX@Z2P6AX11H2@Z2@Z
CreateDXGIFactory
CreateDXGIFactory1
createElement
?Create@Element@DirectUI@@SAJIPEAV12@PEAKPEAPEAV12@@Z
?CreateElement@DUIXmlParser@DirectUI@@QEAAJPEBGPEAVElement@2@1PEAKPEAPEAV32@@Z
CreateEnvironmentBlock
CreateEventA
CreateEventExW
CreateEventW
CreateFile
CreateFile2
CreateFileA
CreateFileMappingA
CreateFileMappingError
CreateFileMappingFromApp
CreateFileMappingW
CreateFileW
?Create@FillLayout@DirectUI@@SAJHPEAHPEAPEAVValue@2@@Z
?Create@FlowLayout@DirectUI@@SAJHPEAHPEAPEAVValue@2@@Z
CreateFolder
CreateFontIndirectA
CreateFontIndirectW
CreateFormWW
CreateGlobalViewCtx
?CreateGraphic@Value@DirectUI@@SAPEAV12@PEAUHICON__@@_N11@Z
CreateHardlink
CreateHardLinkW
?CreateHostWindow@NativeHWNDHost@DirectUI@@UEAAPEAUHWND__@@KPEBG0KHHHHPEAU3@PEAUHMENU__@@PEAUHINSTANCE__@@PEAX@Z
?Create@HWNDElement@DirectUI@@SAJPEAUHWND__@@_NIPEAVElement@2@PEAKPEAPEAV42@@Z
Create identity referenceW
CreateIImeSystemDictInstance
CreateIImeUserDictInstance
CreateILockBytesOnHGlobal
CreateInstallerW
?CreateInt@Value@DirectUI@@SAPEAV12@HW4DynamicScaleValue@@@Z
CreateIoCompletionPort
CreateIProp
CreateIPropIdl
CreateIPropIdlWW
CreateItemMoniker
CreateIUriBuilder
CreateJunction
?Create@MbaeXmlParser@@SAJPEAPEAV1@@Z
CreateMessageWWW
CreateMutexA
CreateMutexExW
CreateMutexW
CreateNamedPipeW
?Create@NativeHWNDHost@DirectUI@@SAJPEBGPEAUHWND__@@PEAUHICON__@@HHHHHHIPEAPEAV12@@Z
CreateObject
CreateOneOff
createpackagepage.cpp
CreatePartitionAttributeChangeNotification
CreatePartitionTypeChangeNotification
CreatePen
CreatePolygonRgn
CreatePopupMenu
CreatePrivateObjectSecurityWithMultipleInheritance
CreateProcessA
CreateProcessAsUserW
createprocessclient.cpp
createprocessclient.h
createprocesscommand.cpp
create_process.cpp
create process failed
createprocessipc_c.c
createprocessipc.h
create_process_server.cpp
createprocessserver.cpp
create_process_server.h
createprocessserver.h
CreateProcessW
CreateProfileWWW
CreatePropertiesT
CreatePropertySheetPageA
CreatePropertySheetPageW
|CreateProviderWW
CreatePushLaunchScheduleActivity
CreatePushUpgradeScheduleActivity
 CreateQueryW
CreateRandomAccessStreamOnFile
CreateRectRgn
CreateRemoteThread
CreateRestrictedToken
Creates a new view rooted at a particular node2
CreateSelfSignedCertificate
CreateSemaphoreA
CreateSemaphoreExW
CreateSemaphoreW
CreateServiceW
CreateSolidBrush
Creates reference redirection table based on the lower and upper version offset providedWW;
CreateStatusWindowW
CreateStorageService
CreateStorageWWW
CreateStreamOnHGlobal
?CreateString@Value@DirectUI@@SAPEAV12@PEBGPEAUHINSTANCE__@@@Z
?CreateStyleParser@HWNDElement@DirectUI@@UEAAJPEAPEAVDUIXmlParser@2@@Z
CreateSubdirectory
CreateSubKey
createsubsystemtokenizercollectiontests.cpp
CreateSymbolicLinkW
CreateSymLnk
CreateSyncProvider
CreateSysIoContext
CreateTable
CREATE TABLE 
CreateTableIdl
CreateTableIdlWW
CREATE TABLE x
CreateTask
createTextNode
CreateThread
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWait
CreateThreadpoolWork
CreateTimerQueueTimer
CreateToolhelp32Snapshot
CreateUDicProxy
CreateUpDownControl
CreateUri
CreateVirtualSmartCard
CreateVolumeArrivalNotification
CreateVssBackupComponentsInternal
CreateWaitableTimerExW
CreateWaitableTimerW
CreateWellKnownSid
CreateWindowExA
CreateWindowExW
CreateXmlReader
CreateXmlWriter
Creating file list
creatingpackagepage.cpp
creatingpackagepage.h
creatingtransformpage.cpp
creatingtransformpage.h
creationtime
CreationTime
CreatorPTID
Credential
CredentialsXml2Blob
credentialtype
CredentialXml2Blob
CredIsProtectedW
CredManBackupCredentials
CredManIumRpcInit
CredManRead
CredUIPromptForWindowsCredentialsW
CredUnprotectW
creO[[[p[[[
cResolveMultipleMessageClassesWWW
CRg7IgfG
CRg7IgfG;
cRgAggwd
cr:g;GgfG
c rgqgg!
cRINON	s
critical
Critical
CriticalFailure
critical section address
critsec.cpp
critsec.h
CRkzTSSEyB[L
cRllllllllmllllOllylm
c)))r[LOELJ]@FG
c)))rMEE@DYF[]
CrNgqggb
cross device link
crowsMax
cRowsWWW
cR#pgppepqK
CRQPLCsSSS
cR[[[r[[[
CRS39USSS@S
CRS3QTSSS@S
CRS3 USSS@S
CRSs4QSSS@S
CRSSBU[(
CRSS[LK9
CRSs-QSSS@S
CRSS-QSSS@SSv
cRSS[:XT9YUK9
CRS#]TSSS@S
_crt_atexit
__crtCompareStringA
__crtCompareStringW
__crtGetStringTypeW
__crtLCMapStringA
__crtLCMapStringW
c)))RuFKCLJ]
cRUT@	mx
cR|voeo9ogo
crW*ggfG
CRxOPTD9
CRxPECRPy
CRxPE@VP
cRyPgAgg
CRYPT32.dll
CryptAcquireContextW
CryptBinaryToStringA
CryptBinaryToStringW
CryptCATAdminAcquireContext
CryptCATAdminAcquireContext2
CryptCATAdminCalcHashFromFileHandle
CryptCATAdminEnumCatalogFromHash
CryptCATAdminReleaseCatalogContext
CryptCATAdminReleaseContext
CryptCATCatalogInfoFromContext
CryptCATClose
CryptCATGetAttrInfo
CryptCATGetMemberInfo
CryptCATOpen
(CryptCom)
crypt.cpp
CryptCreateHash
CryptDecodeObject
CryptDecrypt
CryptDeriveKey
CryptDestroyHash
CryptDestroyKey
cryptdll.dll
CryptEncrypt
(CryptFF)
CryptGenRandom
CryptGetHashParam
CryptGetKeyParam
CryptHashCertificate
CryptHashData
CryptImportKey
CryptImportPublicKeyInfo
CryptMsgClose
CryptMsgGetParam
crypto_utils.cpp
crypto_utils.h
CryptProtectData
CryptQueryObject
CryptReleaseContext
CryptSetHashParam
CryptSetKeyParam
CRYPTSP.dll
CryptStringToBinaryA
CryptStringToBinaryW
CryptUnprotectData
CryptVerifySignatureW
-crzt-VJ2llllllllmllllOllylm*
Cs[@@@@@@@@@
C@S5C@S'C@S
c@S8c@S)c@S
CSACHOPC
CSAHLX@H
CS]@A[KXXP
C]SALZAFL
CSAMMBMXMX
CSAPXKZX[
C]SAXNQN_
CSBABKFCK]PN
CsB]BBB?B(B
CSBBJ]MCCBHZ
CsBdBJB8B
_@CSBEDPAJ
CSB@KPOQ[K
CSBNB#B'B
@CSBNY[BDQKBC
CsBQBTBGB-B
C_SB[QDOXNLJP[Q
CSBYNJ]F
CSCAPI.dll
CSCBZMMJE_[X
CS_CCNCCCBACCH
CSCFSYKE@
cscleanhash
CsCwCkCoCcCgC[C
CS[CYQHSOXPNE
@CSDB[NS
cSdC[[[*[[[)[[[
C[SDEZSQD_MN
|cSdgfGP
CSDMJABBEE
CSD]MJN]Z
CSDMXOPSB]XG
cSdO[[[;[[[
CSDPDY__QLDODJPA
CSDQPP]_FOBQPBQMQ
cSdU[[[:[[[
"CSdU[!CSkUs!CSjU
CSDZAYKHC
CSDZKKYACBN
csecIdle
]CSEGJ]P
_CSEGMZC
CSEJNZYCLJ
|CSePccCSkP
CSESL[LXG
]CSESPYLXJYCF_
CS]FAPLX]
CSFDSJDCMAXMN_S
_CSFG[BBAS][
CSFGKXLFX
CSGAJJCXN
CSGBEGLHGGPBZEZOZY
_CSGFBLBSZ
CS[GHXE]G
C_SG[NAN
.CsgqggD	
c_sgqggEO
csgtest.cpp
@CSHD@]MSAPHX
CSH]MYXYH
CSHPJOKH
CSJCMDJSM
CSJC_ZKLQ@Y_FYGHSKHQX]YXPZNX[MG
CS]JF@XPY]YEM_CKEKXM_D[
CSJHE]G_
CSJJ]ZOOJ]_M
C]SJPSQNYFJSNJPXBDJGQQ
CSJQGOOJFF
CSJSPSOA
C]SJSZEDYX
CsJVGSPsj[s
CsJVsrZCSQsjsrZs
CsJVXSRsjTs
CsJVYSQsjRs
CSJX_APFD
CSJZLA_HLXB]K
C[SKANJMM
CSK[GCLQ
CSKKZCKXF
CSKMZNQD
C]SKPGLYQ@SN]B
C[S_LAJY
_CS]LANSA
CSLBSNMOC]DCZPQ
CSllllllllmllllOllylm
CSLOQCGLK
@CSLQLJ]G
CSLXQHZSBNG_CKKPGMCOPS
CSMEASPKBANOD
CSM_][G[
CSM[HPZCJOX
CSMHQEANJ
]CSMN]EM
CSMOHSXL[]ZHQ_AGN
CSMPBFBY[P
_CSMSBYSHJ
CSNBCXJ[
CSN]CZEOEB_
CSNFAGCQJ
CSNKC]OLJ
C_S[NKDMJ
CS_N@[]X
CSODJBPM
CSOEJGA_
CSOK[BHY
CSOKKQDJB
CSOK]LB]LA
CSOKYYPD
CSO@[NSA
cSortsWW
CS_OSGBJPYKHG
__C_specific_handler
CspEnrollmentType
@CS_PGGPSC
CS]PQFK[
CSPQXHQM
CspTrackerGuid
CSQB@YAMDEAOS
CSQGSEEG
CSQGS@NOS@A@BJ
CSQK@ACEP
CSQNGM]KH
@CSQQ;@CSPQ
CSQ]XALAZC_OZL_DSZ
CSQXGDNX
CSQZSA]O
CSR   Container
csremoteresult
CSR point given is invalid
CSSBHZOLS[
CSSBNLG9
CS[SCDGJ]COG]
[CSSDEDYK
C[@SS@DXY@
C_SS@@EOYHP_AD]
C_SSE@YBX
CSSKAJDYLCE
[@CS_SM[QKFHANK
cSS@R tSS@R tSSUS
cSS@R tSSUS
CSSSCSSSsSSSSSRSCSSSQSSUSSSUSSSVSSSSSSSScSSSWSS
cSSSSS!#5
CSSSSSS77777SSSSSSSSSSSSSSSSSSSSSSSSSSS
CSSSS@SsSRSRSSSSS
cSSSSSSSS
CSSSSSSSS
CSSSSSSSSSSSCSS
cSSSSSSSSSSSS
CSSSSSSSSSSSSSSSH
CSSSVSSSVSSSVSSSVSSS
CSSSVSSSVSSSVSSSVSSSURSSURSSVSSSVSSSESSSESSSESSSESSSURSSURSSESSSESSSkRRSST_UBK
cSSUS6cSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
cSSUS	cSSUS6cSSUS
C stack overflow
CStatBar
cStrings
cStringsd
cSubKeys
'CS	U;'CS
@CSUQSGCSTQ
cswatcher.cpp
cswatcher.h
	CSWV3	CSVV#	CSUV
CSXNOKZPF[MXNDQP
CSXQ_KGLSY[
CSXQ]OXQE_A
CSYGJGC[SE]_YG
CSYHLODMP_
CsyjBsyRBsyCBsy
CSYLMP__
C[SYOHEJPN@[K
Csyyyyyyyyyyyyyyyyyyy
CS[ZAYZXZ_
CS]ZBJB[XEG
C]SZGFPPHK
[CS_ZJBK
CSZPBQMQ
CS]ZSLSC_F
ct)1g'egfG
C@@@@@t@@A@AAac
CtB]BJB3B
@CTBCBVsSSS
CtBjBIBOBgDyyy
ctbmAmgmAmg
CtBoBVBAB(B#B
ctccbcfcM
ctccbcfcMT
ctDdY[[[X[[[|[[[F
CTd_[[[h[[[m[[[
CTDkV]Rq
CTdN[[[Z[[[
CTdX[[[E[[[D[[[tomgX[[[
c#te?oooo
c#te?#te?
c#te?#te?*K
c#te?#te?#te?Gd
c#te?#te?#te?*K
c#te?#te?#te?oooo
c#te?#te?#te?S
c#te?#te?#te?#te?oooo
c#te?#te?#te?#te?#te?#te?oooo
c#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?oooo
ctg7egfG
ctgooggGg
cTIdQ[[[
CTikhkjijlihnbnb
CTikomjkkmkchbnm
ctimeWWW
CTipgppepq
ct  K!    ]Y]]
CtlContent
[CTLllllllllmllllOllylmp
CTllllllllmlll]Y]]
-CTlsManager-39790425-408B-4C8E-9007-8C9DEE698799
ctntG"|x
cT[[[p[[[
cTpgppepq. DyQ
C;T.(s A
[[[cTSdQ[[[C[[[
@CT@UBwT
CT[[[Z[[[k[[[-MH
@@@@@*C@u@AFac
c UAVAWH
CuBaBYBIB1B)B
C@u@@B@ACa
CuB]BEB-B
CuB_BLB1B7B
@CUBCBB7BCBG13
@CUBCgQEyUB@
CuBgBIB;B-B
cubgfG9I
cubgfGau'Lgqggm
cubgfGmW
CuBiBaBeB]BUB-B!B
CuBiBmBUBIBMBABEB9B-B
CuBmBAB9B
CuBmBQBMBEB5B
CuBmBQBMBEB5B!B	B
CuBRBFB#B
CuBYB_BRB
CuByyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyux4#
cUBZgxUT
C@u@@C@AC@B@A@dp@I*
cuccbcgcM
CuCkCaCgC]CSCICOCEC;C1C7C-C#C
Cuczpgppepq
cUd_[[[A[[[
CU]gKkgfG
cUGyyyyy
c)))uHYYMH]HuEFJHEuYHJBHNLZuD@J[FZFO]
c)))uHYYMH]Hu[FHD@GNuD@J[FZFO]u
CULdK[[[
cullllllllmllllOllylm
(CulLockStateW
CultureInfo
cunT[[[B
c)))u[]O
cUpgppepq
CUpgppepq
cUpgppepqM
CUri::GetScheme
CUri::_GetUrlPath
CUri::GetUrlPath
CUri::Parse
currentbmdetcount
currentbmthreatdetcount
CurrentBuild
currentcleanfailurecount
currentContextId
currentContextMessage
currentContextName
currentcrsentcount
current_date
current_error
Current file is not .lnk file
currentfqsentcount
currentfsfailurecount
currentfssuccesscount
CurrentInstance propertyWW
CurrentInstanceW
currentinvalidrtsdcount
CurrentIP
currentlba
current_path()
CurrentPolicyValue
currentqsdetectioncount
currentqsfailurecount
currentqsresourcecount
currentqssuccesscount
currentquarantinefailurecount
currentremediationsuccesscount
currentremovalfailurecount
currentresscanfailurecount
currentresscansuccesscount
currentsha1
currentsize
Current state
CurrentState
current_time
CurrentTime
current_timestamp
currenttimestamp
currentVersion
currVersion
c"U-r?zz3
cUSSS@SkYRSRS
CustomAttributeType
customdata.cpp
customdata.h
CustomInformationsWW
CustomMessage
customvisitor.cpp
cUUaUUe'
[[[cuUdZ[[[
c[[[Uukf][[[b[[[
c)))uZAF[]JJJKFFZ]
c)))uZAF[]KFFZ]
C@v@AEac
C?vaEagfG
cValuesW
C||||||||||||||||VB
C||||||||VB
CVBAB;B7B
CvBoBdB:B
CvBPBEB6B
CvBQELEND8D
CvBSB;B(B
CVBW@@BWD
CVBy9yy5yyyIH*K
cvccaclc0
cvccbcgcM
CVCCCABCC
CVCCCABCC !
CVCCCABCC#:
CVdZ[[[A[[[
cVdZ[[[P[[[
C)))vE@GBZu
.cve_ids
cV*fgfG.
CvgavgfGL
Cvg;egfG
cVggigfGb
cVggmggw5
cvgqgg!d
!C)V:gYrgfG5
CViewTracker
C*villllllllmllllOllylmHw
cvllllllllmlll]Y]]iiX
c!VlP[[[
c|vodo9ogo
c|voeo7ogo
[c[v[o[j[
 CVQ8OGyyyyyy
cVSSS@SIm._RS
cvtdq2pd
cvtdq2ps
cvtpd2dq
cvtpd2pi
cvtpd2ps
cvtpi2pd
cvtpi2ps
cvtps2dq
cvtps2pd
cvtps2pi
cvtsd2si
cvtsd2ss
cvtsi2sd
cvtsi2ss
cvtss2sd
cvtss2si
CVTSSPcQSgSSSSSSSQs
cvttpd2dq
cvttpd2pi
cvttps2dq
cvttps2pi
cvttsd2si
cvttss2si
cV@@@@@u@@A@AAac
CVUllllllllmllllOllylm
CVURSSSSS
cVVVVVVVVgm
	CVVyx9y(
CVVyyyyy
	CVVyyyyyy
CVxj]V]U
CVxO]V]U2CVx@]V6CVx_]V]U
CVxv]V]U
CVxv]V]U2CVxO]V6CVxF]U
cvxyyyyyy
Cv@@@@@y@@A@AAac
cvYHPEFHM
cV[[[Z[[[T[[[
cW5ggfw7
C@w@ACac
CwAwCwNY
cwbcbrbbb
CWBLBDB1B(B.B
CwBoBSBKB?B7B
CwBPBNBEB
C[[wB[[YA[[
cwccacmc0
cWdgfGqAT
(cWdW[[[
C[[[)"WdZ[[[B[[[
cWfgfGH78
Cwg'agfG
cwgBA@@Hp@DL
.CWg-kgfG_0D
CwGNGHwL
cW[[[h[[[
CWh2pgppepq
#;cW[[[J[[[
cWllllllllmllllOllylm#y
CWMArtistProperty::SetNativeValue
CWMEncodingTimeProperty::SetNativeValue
CWMEncodingTimeProperty::SetShellValue
CWMMCDIProperty::SetNativeValue
CWMMCDIProperty::SetShellValue
CWMProperty::SetNativeValue
CWMProperty::SetShellValue
CWMProperty::TranslateValue
CWMPropHandlerBase::AddAudioMediaTypeProperties
CWMPropHandlerBase::AddDefaultProtectionValue
CWMPropHandlerBase::AddMFMetadataProperties
CWMPropHandlerBase::AddMFStreamMetadataProperties
CWMPropHandlerBase::AddPresentationDescriptorProperties
CWMPropHandlerBase::AddProperty
CWMPropHandlerBase::AddStreamDescriptorProperties
CWMPropHandlerBase::AddVideoMediaTypeProperties
CWMPropHandlerBase::CheckForTotalBitrateProperty
CWMPropHandlerBase::CheckKeyValueType
CWMPropHandlerBase::CreateExceptionProperty
CWMPropHandlerBase::CreateNamePropMapping
CWMPropHandlerBase::CreateProperty
CWMPropHandlerBase::GetNameFromPropertyKey
CWMPropHandlerBase::GetPropertyKeyFromName
CWMPropHandlerBase::GetStreamMajorType
CWMPropHandlerBase::InternalModifyIsPropertyWritable
CWMPropHandlerBase::RemoveProperty
CWMPropHandlerBase::SelectDesiredStreams
CWMPropTranslator::AddLanguage
CWMPropTranslator::CreateExceptionProperty
CWMPropTranslator::CreateNamePropMapping
CWMPropTranslator::CWMPropTranslator
CWMPropTranslator::GetAllLanguages
CWMPropTranslator::GetAllPropertyNames
CWMPropTranslator::GetLanguage
CWMPropTranslator::GetLanguageIndex
CWMPropTranslator::GetProperty
CWMPropTranslator::SetLanguage
CWMPropTranslator::SetProperty
CWMPropTranslator::ShellToWMNativeValue
CWMPropTranslator::WMNativeToShellValue
CWMRatingProperty::SetNativeValue
CWMRatingProperty::SetShellValue
CWMThumbnailStreamProperty::FormatAsNativeBlob
CWMThumbnailStreamProperty::GetImageDataPtrAndSize
CWMThumbnailStreamProperty::ReencodeThumbnailIfNeeded
CWMThumbnailStreamProperty::SetNativeValue
CWMThumbnailStreamProperty::SetShellValue
cWmVggfG|
CwMwPPZSSOwN
C	wpgppepq'8Z
#cW[QWUSWV
CWRSSSSS
c[[[WXAeA[[[
CwyMxyyyyyyyyyy
Cwy[yyyyyyyyyyy
c|||]||x]||
cx5gqggM
cX[[[8[[[?[[[
Cx|8vx|T
cXA1llllllllmllllOllylm
-c@@@@@x@@A@ACac
C@x@AEac
[@C[XAHCNKS@JJ@O
CXAHKCPLBESGPXCPKOQDSYF]X_
CXAHYOND
CXAK@NZ]MB
cxapp.cpp
CXAYEHCKPSAYD
CxB[BOB(B
#CxBdzOxv
CxBfBDB"B
CXBH_YKQ
CxBkBTBDB
CXB[KXOKC_S[Y
CxBlB[BNB:B)B.B
]CX@B_NQPM
CxBoB]BRB'B
CxBUB?B6B
@_CX]BXC
CXBYYDHXS
C@x@CCac
cxccbcdcM
CXCGGQXB
CXCPXLLCQ
cXc-y!Xe
@[[[?cXd][[[
CXD_BMEOZ]N
C[XDDJCAEAO
CX[D[DKCB
CX]DJJXLXFMPL
CX[[DMZXM
CXDNG]BKOB
CXECH]MQA]
CXEECXCCX@YCXEECXCCX@O[CXEECXCCX@O_FCXEECXCCX@O__NCXEECXCCX@O__E[CXEECXCCX@O__EMHCXEECXCCX@O__EMKDCXEECXCCX@O__EMK]MCXEECXCCX@O__EMK]EHCXEECXCCX@O__EMK]EC]CXEECXCCX@O__EMK]ECOHCXEECXCCX@O__EMK]ECOX
CXEHYEGJ
CXEQNOHBLLDBZ
CXF[X]NDDF
CXgcogfGJ
C_xg	dgfG3d
CXGD]XJ_CK
C@x@GEac
CXGL]MJL
cx gMggfG
Cxgqgg'G8i
CxgqggV?
C[_XG]SZEX
cxHh9C5t
CXHMCD[LDLAN
CXHOMZOG
CXHQ[ONNC
C@_XHYAD
C]XHYHQJ[SCAD[[_LE
CXJ[B[LLN]@KS
CXJBXFKAHJEQCP
CXJESOBLOB
CX]JSNSML
CXJXXJLPBZO]
CXKJHBCZY
CXKYKXFLL@JKCZ@A@HYOEZY
CXLA[AJBN
CXLAYNG[
CXllllllllmlll]Y]]
_CXLOLMJQYGKYHF
]C]XLPPGGXQ[P
@C_XLPSJNZ
cxLxxyxyxyxxyx_z
CXL_YAPHCMA[_FBC
C]XLZDOCXHYLHQP
CX[MCLXQ
CXMEA@QLZ
@CXMGASLXM[P
[CXMM[GD]ZP
CX_N@CH]O
CXNG@CNB
CXNGDHYZJ
CXNJDDMBAM]@P
]CXNK@YACFXSNBLMB_
]CXN]Q]C
CXOAZEZN
CXON_G]O]C
@CX]OX[M
CX]PDGND
]C__[XPG
?cxpgppepq
CXpgppepq
CXpgppepqf
C]__XPNP_X
c@@@@@@@@Xp_P
CXP]PYDY_YALA
C[XPS@_YY
CXP[XGQEMG
CX@QCSDBJAXX
@CxQEyBXBCfQDyWPD
CXQEYNSOJ[Q
C]XQHNZM
CXQ__[JMHB[SDJ
[_C_XQNEQ
CXQ_OOB_LOPB]]LY
]C]XQPL]
CXQZXNOCCLAB[AA
CXSBKP]DD]]SQM
CXSCQC]QACYBQ
CXSCZNPMJH
CXSKFMBKS@
CX[S@LZJS
CXSPPHYDF@
CXS]SAHQ
CXSVBXSGBXSpBXSaBXS
cX[[[v[[[k[[[hQ
__CxxFrameHandler3
__CxxFrameHandler4
CXXND]POAJ
__CXXQA[N
cxxrRxxx
_CxxThrowException
CxxxCXxx
CX[]@XXKLSS
Cxx]Y]]Q
cxybbxy9bxy
CxycBxyLBxy1Bxy
CX@YCS[OMDFYKX
CXYEF]i_L[Z@FGU
CXYFXYXPX
CXYFY_]X
CxyhBxyYBxyNBxy5Bxy
CX[YHXHHMB]OACJ
CXYLCZAX@L[X
CXYLKP_X
CXYLYSGQ[ZHOOZ
CxynBxyKBxy4Bxy
CXYOGNYAAAP
C[XYONOPYXF
CxypBxyXBxyCBxy)Bxy
CxyrBxyYBxyLBxy0Bxy'Bxy
cxysbxyRbxy1bxy
cxyxbxycbxyMbxy(bxy
cxyxyyyayyywyyyqcxy
cxyYbxy;bxy
cxyYbxyDbxy#bxy
CxyyBxysBxyFBxydBxy
cxyyyyyyyyy9WxyyiyyyyyyyyyyyyyyyyyyyyyyKWxyeWxy
CXZAOSMLPQ_]NN
CXZGSQBN
CXZJKPMPGOGB
CXZKHBKYJCJP
C_XZK@Q@FH
CX[_ZZ_kIkK]Qp]Z_Z
  c!    ]Y]]
(c@@@@]Y]]
c'((]Y]]
c-((]Y]]
C*((]Y]]
c|y2c|ySe|y
_C]Y]]2*Y
!CY@@3!AMAAAAAAAA
CY@@3!AQAAAAAAAA
C]Y]]3V_
]C]Y]]4*Y
_C]Y]]7'Y
@C]Y]]99Y
CY@A3!AJAAAAAAAA
CY@A3!AKAAAAAAAA
]@C]Y]]A9Y
CYAAIqAUAAAAAAAA
C]YAB]PX
CYACO@MO
C]Y@ADQNFOBQJA
C@y@AE@@@A@h PJ
_CY@AIqAZAAAAAAAA
CYANLJ]FFY
CYA]QZZ_J
CYASAZ]BPJX
_C]Y]]a'Y
_C]Y]]A'Y
C]Y]]AZP
CYBAR1AKAAAAAAAAAAAAAAAA425 3aaA
C_YBBYFQ
CYBDB?B4B*B'B
CyBeBYB9B
CyBiBeBMB9B!B
CyBiBmBaBIB1B
CyBiBmBaBIBMBABEB)B
CYBJHO]]YSP
CyBmBeBIBAB5B-B
CyBNBEB1B4B'B
CyBqBeBQBIB9B5B
CyBqBQBUBIBMBABEB9B
CyBqBUBEB1B)B
CyBrBoBXBUBNB;B4B!B
CyBsBmBgBQBKBEB?B)B#B
CyBsBTBNB B
[CYBSQBQZ
CyBuBmB]BUBAB
CyBYBSBEB?B!B
CY@C3!AUAAAAAAAA
	cyccbcecM
cyccbcecM
CYCGCGP[AGG
CY[CHPOS
CYCMCQHXG
CYCM]PSJNZ
CYCPAS]MBMS
CYCQHLHMD
C[YC]SGJB
]C]Y]]c'Y
C]Y]]C)Y
CY[@[CZ]
CYDA[EP]D
CYdC[[[C[[[
c	YdI[[[
@[CYDLG]SMA
c	YdO[[[
CYDPGLNKXZ
CY_DSBCD
CYDYDSSXYLDLJM[
C)))Y[@_DZN
CYeggdgfG"Ta
]_CYEJPPJ
CY]ELPAN]
CYEMJ@]OBOP
CYEPEKEFE5E
CYEPHC_PY
C]Y]]e!Y
CYEYPBADN
CYFBZSOXHO]
CYFFDDCAAPP]]]]L[O_JJMOOO
c)))Y[FO
C]YFPQZX
]C]Y]]f'Y
")))C@YFZ
CYGAXBZY
C|ygB|y0B|y
CY]]GEGB]ES[BBCOMA@JHF
cYggdgfG
cYggdgfGK
_CYGGJ_C
cYg[kgfGr
CYGKMADA
CYGK@NGY
CYG]N[ZA_
:Cygqgg5
cygQkgfGM
cYgUjgfG
CYHAG[JLX
CY@HGNS_[MGE_H@Z
CYHJPQJFAZXN
c)))YHNL
]CYHOSDXGJD
_CYH]POY]A_K
CYHQZ@A]
CYHS@HOQP
CY@HX[LBCSLN
_C]Y]]h'Y
_C]Y]]H'Y
_CYHYYFMGQN@
CyIIIIIyyy
])))CYJAX
CYJAX@YN
]CYJHCGSGM
CYJZCXLL
CYK_CQG]
CYKDD_PKY
CYKH_A@@O
CYKMZA[L
CYK[QCQ@GSX[_
CYKYZYLDCG
C_YLFGA[A
cylinders
CyllllllllmllllOllylm
CYLNBBJJ
CYLN_YL_JKN@EG
C[Y[LSAOP
_C]Y]]M3Y
CYMAGASN
CY_MDKMO@
_CYMHJ]CX
CYMH_LN]_KMDZ
CYMMFSBGD]
CY@M@N@]HEYHP
CY]MNPB[G
C[]YMS_H
CYMZLBJQ_
C[YM@ZXC[J
***CYN@GO
_CYNJGNZ
CYN_KDD]Z
CYNO_BJNSX
CYNOZYNM
_C]Y]]N'Y
CYNZ@ELG]
CYOAK]ZGAGZZCX
CYOANCSD
CYO_B]BZSGJXOS_Z
CYOGG]@G
CYO][@LOLN
CY_ON_LJEB_GHOK
CYONNPSMGDE
CY]OQKCHZBY
CYOXZZYS]ASZD]
_C]Y]]o'Y
CYp4MkgfG
[CYPA[BBO]
CY[PB]CXOGKFQ
CYPBQNP]
CYP___DNOCZ
cypgppepq
cypgppeptC
CYPHLJNMJDJ@]
C]Y]]pj_
CYPJG_[HC
CY]PJONBPAKO_ONLAN
CYPSXCS[ZF
CY]PYZ_GO@[][B
CYQANSS[JQB_G
CYQAXQB_CL_OOP
CYQCK]QDENZ
C_YQDXLEPXBB]PYAJ
CYQMLJFML
CYQNDYPEYSH
_C]Y]]q'Y
C]Y]]ri_
_CYSBSQ[
CYSEHBG[E
CYSJPCXC
CYSLNCZXLY
CYSOZJEA[
cYSSS@SB?
CYSXZOCP
_C]Y]]S'Y
Cysysyyy6y
...cyu9uyu
.cyu9uyu
cYUdT[[[
|CY|vodo9ogo
@]C]Y]]V'Y
CY?Wg7kgfG
CYXAN@KP[
CY_XBFEHG
CYX_BSN[
c -yxdyF
CYXDYQSL@SCJMH_A
CyxfxSSSX9
CYXGSAYZ@Z@D
C[Y]XK_[LD
CYXLD@@D
CYXMZ[EB
cyxxyxgy
cyXxyxxJ
[C]Y]]x'Y
c|y  @     ]Y]]
:_C]Y]]['Y
]C]Y]]!*Y
_C]Y]]-'Y
_C]Y]];'Y
_C]Y]]@'Y
CyyaEyyaEyy
cyyalyyubyyWlyyJlyy
Cyy|ByyoByyUByy;Byy!Byy
CyycByySByyVByy-Byy Byy'Byy
cyyccyyScyyCcyy3cyy#cyy
:c|yycx:
cyy cyy'cyy
cyy-cyy.cyy(cyy
cyydbyyCbyy
cyyeiyyyyyyyyyyyyyyyyyyyyyy
CYYEYHAP
CY_YGBNNEOA
cyygbyyFbyy
C[YYGZCEJLA@
cyyhbyy_byyCbyy6byy
cyyHyyyyyy
CyyiByyMByy-Byy	Byy
CyyiByyRByy9Byy.Byy
cyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
cyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
cyy)iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyW
c|yyiyyyY|yyy
CyyjByy*Byy
cyykbyy1byy
cyykbyyHbyy-byy
CyykDyy;Dyy
cyyKgyyagyy5gyy
[CYYKZFP]AEDO
cyylbyyFbyy
cyylbyyyyyymbyyyyyy
[C_Y]YLP
]CY@YMYF
CyynByy7Byy
CYYNN]DCA]XM
cyyobyyJbyy7byy
cyy?oyyaVyydVyy2Vyy
cyypbyy@byy
cyyqbyytbyykbyyUbyy?byy2byy2byy
CyyrByyfByyIByy2Byy
cyyScyy|fyy
cyytbyykbyyfbyy]byyPbyyWbyy
cyytbyykbyylbyyabyydbyy
cyytbyyYbyyCbyy4byy
CyyuByy[ByyAByy6Byy
CyyuByy_ByyDByy*Byy
cyyubyyyyyyQyyy)yyy
cyyvbyy_byyDbyy!byy
cyywbyyCbyy
cyywbyyZbyyAbyy*byy
cyywcyyocyyIcyy3cyy
cyyxyyyEyiyqyq
cyyxYyynYyyTYyyEYyy
cyyxyyyxyyyxyyy
-_C]Y]]Y'Y
cyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
cyyyiyyy
Cyyyiyyy9yyyyr
cyyyiyyyIyyyy
Cyyyiyyy	yyyy
Cy)yyuyyy
CYyyyWWWyE	
CyyyYxyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyax4#
CyyyYxyyEyyy
Cyyy)yyEyyy1I
cyyy	yyyeyyy;yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
cyyyyyyQyyy
cyyyyyyQyyy)yyy)yyyQyyyoyz
Cyyyyyyyyyxyyyqyyy
cyyyyyyyyyy
cyyyyyyyyyyyyyy
cyyyyyyyyyyyyyyysyyy
cyyyyyyyyyyyyyyyuyyy
cyyyyyyyyyyyyyyyVyyy
cyyyyyyyyyyyyyyyyIyqyyyyy
cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygy4#
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3y4#
CyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyAy4#
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Cyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
CyyyYzyyEyyy
CYZAKBBDX
CYZDQMHQH
c)))YZ]H[]
CYZ]_[HS_]
CYZKNLBA
CYZLZLXS
C_Y]ZS[QAFY
_C]Y]]z!Y
CZ3pgppepq
C@z@ADac
CZAH[BLP
c)))ZALEE
c)))ZALL]
CZAPE][MP[DZK
CzBcBHB1B
CZBC@XDA
C@[@ZBF[Y@E
CZ[BH[ZSNQ
CzBIB9B#B
CZ@BJDYNJNQZZY@
CZBLEHCHOEMJ]O
CZBLMHQ[OPO
CZBNNJXGGE
CzBoBDB4B
CzBTBOBIE
CzBuBnBdB_BHBNB9B2B(B#B
CzBwBmB1B
@CZBWcHZ
CZ[BXDELGKGYD
CZ@[B_XDH[AS_
czccacpc0
	czccbcecM
czccbcecM
CZ__CC[GH
CZC]D[PYHLM
cZcF@G))
_C_Z_CGJKZ_X
CZCKGZMS
CZCNAQLMD
C_ZD_FMX
cZd@GL[e@Ko@EL))
CZDGSGBODGFJFPQ
CZDKDXHJQCOZDCX
CZDLQOBQZM
cZ|dM[[[
CZDOKZ@A[DAF_EGLB
CZDvEFHMLM
CZDvEHK[LYF[]
CZDvEHKvCH_HFG
CZDvEHKvFG
CZDvFG@G@]
CZDvHYYEL]v@GMLQ
CZDvHYYEL]vY[LO@Q
CZDvJ[LH]LZYHG
CZDvNL]HYYEL]A]DE
)))CZE@G]DHQL[[
CZEHXMMC
@CZ[ezUsS
.)))CZFG
CZFGA]]Y
CZFGO@EL
CZFGOF[QD[@NJAH]][
CZFGvLGJFML
CZFGZ@G]E
CZF]H_PEZH
c)))ZFJBL]
@CZ@FMCOF
CZFNA]AD
.)))CZFOO
CZFQBGKLN
!CZg9ygfG@
CZGAOGKYOQEPLPQPFCA][
czggfG?t
CZGGQK_]]JJLBD
Cz	giggfw
CZGJ[@BQMYH@KXSCCKD]_
CZGOL[OMNAKN
CZG[PO_@MPA[[H_
CZgqggC:
c_zgqggR
cz#gqggu
czgqgg"y
CZGQPZBJ
C@ZG@SE[BBSE_B]S
CZGvH[]@Z]HvY[F
CZGZFAEXZ
)))CZ@GZ]HEE@L
c)))Z]H[]
C_ZHBMO_
czhEL[]yELHZL))
CZHEM]HQS
)))CZHFAHFLHFEHFEHF
CZHGHF[_ALJSBC[EK
CZHJPKF[JPBS
CZHJZ]DNAGSPHS
CZ[H][LNZ_[
CZ_HOHMCH]S_X
C_ZHXDH@XJ
CZ_HX_HOY[
cZjE@YKFH[Mz]LHEL[))
CZJFDDHGMT
CZJF]]iDJLJ@
CZJJPFCQPPNSN[J
CZJL]BA[
C]ZJ_P[E
'cZJ pgppepq
CZJQSC_O
CZJXJMNM
((CZJ[@Y]
)))CZJ[@Y]
cZJ[@Y]a]]YfKCLJ]l_HE
*.#CZJ[@Y]CH_HZJ[@Y]
CZJ[@Y]@DYF[]
?)))CZJ[@Y]]PYL@GOF
CZJ[@Y]Z
]CZJYZZ_
?C_[[[Z[[[K[[[
cZkHGBL[v
cZkHGBL[vh
cZkHGBL[vk
[CZ]KHKZABKB
c)))Z][@KHZLZ
c_[[[Z[[[K[[[k
C[ZKN_JEDP
CZKOEOLHMHYCSMSSK
C_[[[Z[[[K[[[w
CZLCQSHZE
CZLHYKDX
c)))ZL]JF[G@JB
czllllllllmllllOllylm
CzllllllllmllllOllylm
CZllllllllmllllOllylm
CZllllllllmlll]Y]]
CZLNZEKM
czlQLJ))
CZL][SXY
CZ]LXODM]QLFS
CZLYXYSC@YZOK
CZLZGLJSC
;)))CZLZ]H[]D@G@GN
cZlZJHYLjAH[))
c)))ZLZZ@FG
C_ZMAGBBE@[ALQB
czmFJdHBLyH]A))
cZm[FYeGB
CZM@[GHDL
CZM]HAJPKF_GE
czmH]LdH[BH))
CZMLE@_[
CZMP__]HJF_BMNZN
CZMQGKPC_FEGC
CZMQPKSME@C
CZ_MYHHBPGYA[
CZNBZC]A
cZNC]Y]]
CZNGBPPNJMC
CZNNNSYHFY
CZNQNYXYGBZOH
CZNQS_MN
CZO@ELE@GBGF[DHEF[K
|c_zOgfG
C[ZOOMCNPD_]X
CZOQGQND]
CZOXQJNB
CZOZSAKOMPBD
C][Z[PABFAK
_CZPBPKK
C]ZPCD]K
CZPCG_SA[Z
CZPKO]HY
CZPKYDEJ
CZPXLAYG
CZQC__[M
CZQHAMN_Z
C[ZQHQGHP
_CZQJOD_ZQ@P[F
CZQJXLQXBMCHDSD]
CZQQBXSJ
CZQQ[ZHAO
cz.QWg-cgfG
CZSGJAOC
CZSGX[D[
[_C]ZS@K[
CZSPLAJXEZQX]PA
CZSSG]XZ@E
CZS_XO_LAL
]]CZ@SYOLEKK[PNBHZ
cZuggfG"W
C[zUggfw
;)))C@]Z@vDHZ]L[YHZZ
C@]Z@vDHZ]L[YHZZ))
!)))CZvFOO
')))CZvJFDDFG
CZvJFDYFZL[
CZvJFDYFZL[v
cz)(()))w)))
cz"!w[2FJ
C_Z]XCCCLD
C_ZXDQ_NHOQYJ
CZXLFKOS
CZXLF[YAM
CZXMJB[KDJC[]JL
CZXOKZYXOYD_J
[CZXXQJCYZQ@K
CZYBBG_SHA]
]CZY[B_P
Czy|BzyUBzy*Bzy
CZYDKFM[Z_DP_
CZYGZBKNX[C
CZYHQL]HGKPZMJD
_CZYKLK@B_
CZYKYQZJM
Czyl9zyRcxyB
czyMbzy#bzy
)))CZYMO
C]_ZYNMKLNH@
[CZYNPQOKHXP
CzypBzy[Bzy1Bzy
CZY@PHPCZLA
CZYS_QCMZPQOC
CZ]Y]YDB
czyZbzy5bzy
CZYZL[_[D
[CZZCAH[BAHGM
CZZDLSMAG
CZZDYKJKQSGYND[GS]_
czzeFHML[
CZ[[ZFNMOL
CZZGYQH]DG
C[ZZHJQL
cZz]LHEL[jFDDHGM
cZzL[@HE@SL[))
C_[ZZMQC@KZAM
C_ZZN]J]G
CZZQJGPOZ
CZZQYM[YQ]DAGJJ_
:czzzzr:s
	-d][[[:[[[
	d[[[[[[
 d@[[[	[[[
 d[[[[[[
![[[[[[d][[[ [[[
!d[[[[[[
"d[[[[[[
'd[[[[[[
(|||)||d)||
))d))))(
))d)))))
)||d*||||||||||||||||||
)d[[[[[[
@d_[[[([[[
[[[[[[d[[[[
[[[[[[d[[[[)
[[[[[[d][[[
[[[[[[d_[[[
[[[[[[d_[[[-[[[
[[[d[[[[
[[[d[[[[.
[[[d[[[[:
[[[d[[[[?
[[[d][[[
[[[d_[[[
[[[d_[[[	[[[
[d[[[[;[[[
[d[[[[[[[
_d_[[[	[[[
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||d
||||||||||d
||||d|||
||||d|||||||
d[[[[)[[[
d[[[[?[[[
d[[[[@[[[
d[[[[[[[[[[
d][[[	[[[
d][[["[[[
d][[['[[[
d][[[([[[
d_[[[ [[[
d_[[[ [[['[[[
d_[[[([[[-[[[
d_[[[:[[[
d_[[[_[[[|[[[
d||||||||||
d||||||||||||||
d||||||||||||||||||||||||||||||
)))[][@D
))D))))(
))D)))))
????D???
@@@@@D@@
[[["[[[D
[[[.[[[D
[[[;[[[D
[[[?[[[D
]||||||||||||||D]||||||||||||||
||||||||||||||||||||||||||D
||||||||||||||||||||D;
||||||||||||||||||D
|||||||D(
||||D|||||||
||D?|| ?||
D")||||||||||||
*d[[[[0[[[-[[[
d@[[[0[[[([[[
d][[[0[[[
D00p:N9g
d[[[[04idwz
[[[d[[[0[[[b
d||||||||||||||||||||||0b||||||
D0@]B_B]:A@L
D0:@BBBBYT
[[[#d0d_[[[
[[[)d0d][[[
D0D9D0D0D
'[[['d0dC[[[
d0dC[[[F[[[
#[[[?d0dH[[[
d0dH[[[8
)d0dN[[[1[[[6[[[V
d0dN[[[2
-d0dO[[[
d0dO[[[O[[[
d0d_[[[q[[[w[[[
d0dS[[[n
[[[-d0dT[[[
d0dV[[[)[[[
d0dV[[[G[[[
[[[)d0dY[[[
d0dY[[['
d0dY[[[i
D;0H9B H
d[[[[0H9d
D:0H9D:(tRH
d0jallllllllmllllOllylm
D0@JBIBJ
D0LA9gUs
D0llllllllmllllOllylm"
D0llllllllmllllOllylmN
D0llllllllmllllOllylmU;#
D0|pgppepq
d0SdL[[[E[[[
d0U1e@l9d|
d0]@@@@@u@@A@AAac
D0@UUBU:A[s
D0@VBWBV:AUL
D0XWT9[	Q
@d0YJ?@@@@@
:[d@[[[1[[[
||D1||@1||
[D13_ZXUF
d[[[[*1(d
d1Ddz[[[
D1E1F1G1H1I1J1K1L1M1N1
D1EdJ[[[
d1Ed][[[v[[[
d[[[[:1gdep
d1(gqggo
d1;gqggX
d[[[[1h:d
d1hreQQld
D1llllllllmllllOllylmo
d1QllllllllmllllOllylm
"(d1qndv
[[[d1RdB[[[
'?d_[[[2[[[
[[[d_[[[2[[[1[[[V
;d22Vt::N
D237egfG
d24.d(Rrf
d2BJ@@BBh Svbu
;d2(_dvB
*d2f1fJ:'d
)d!2	f:K
d2llllllllmllllOllylm
@D@@2p@A
D2]pgppepq
]d][[[3[[[
d@[[[3[[[
d?3_]*;2D6
_].)-D3-72Q-
D3-72Q(.-.
D3-72Q;	
d[[[[3[9d
D3D11CreateDevice
D3DKMTCreateContext
D3DKMTCreateDCFromMemory
D3DKMTCreateDevice
D3DKMTDestroyAllocation
D3DKMTDestroyContext
D3DKMTDestroyDCFromMemory
D3DKMTDestroyDevice
D3DKMTGetDisplayModeList
D3DKMTInvalidateActiveVidPn
D3DKMTOpenAdapterFromDeviceName
D3DKMTOpenAdapterFromHdc
D3DKMTRender
D3DKMTSetDisplayMode
D3DKMTSetDisplayPrivateDriverFormat
d[[[[)3fdGt
D3)g)bgfG
d3(gqgg;
d3gqgg:n
D@3j'VDgfG
d3mseqxMd
D3pgppepq4
D3pgppepqOK
||d3t|]sz|s
d_[[[4[[[*[[[
 |||D?"	'4
||||||||||||||||||||D4
d[[[[4|1g9
(D4*6r8.6i
d[[[[4B3d
d4Bv@YBYI
D4cgqgg-U
!d4d dtI
d4)g#fgfG
d4)gsBgfG[
d4#Kex9ld
d4l@@@@B@B@Pp@Q
d4llllllllmllllOllylm
D4LVP11T
;d?4pdcz
D4SdH[[[
d4UUBUUG
d[[[[4zKdx
-d@[[[5[[[
[d][[[5[[[
d@[[[5[[[
D*(((5(('
d[[[[5e'd
d[[[[	?5f
D5feP[[[N[[[
D5feU[[[B[[[
d[[[[5I	d
d5llllllllmllllOllylmp2O
d5MBeO..d
d[[[[5N@e
d||||||||||||||||||5O
d[[[#5QdO[[[
d5Zxyyyyyyy
'd@[[[6[[[*[[[
[[[[[[d_[[[6[[[
d_[[[6[[[-[[[
d[[[[611f
d[[[[626d
||||||||||||D63
d][[[6[[[4[[[HJ;d_[[[5[[[
	d64oe-*
||D6||77||
d6j[K0cPM
d6kn[[[[
d6llllllllmllllOllylm?
D6llllllllmllllOllylm
D6llllllllmllllOllylm|n
D6RrjgSdgfG
]d@[[[6[[[*[[[S
.d6U7fBd*d
D6XllllllllmllllOllylm3
d  7     
d_[[[7[[[
d72@@A@3 EV
d72@@AAF!KQ
d72@@AAh PK
d72@@A@h Fm
d72@@A@h KT
d72@@A@h La
d72@@A@h MR
d72@@A@h PK
d72B@A@2 @I
d72@ @@D@AEac
d72@?@@F@AEac
D74ggfwr
d@[[[7[[[6[[[
.D76888888
d7AAAAAA@AAAAACa 
d7a_[[[Z[[[K[[[a	
d7CFf"u-d
@d7cfG]w
?d7*_drF
D7fgfG1:
d7g!dgfG?
D7@IE@_EBI
]@d7Nwds
d||||||||||||||||||||||||||7O
]||||||||||||||D]||||||||||||||||||||||||||7O
d7S|e_n?d
D7@VBTBX
D7wAAAAAA@AAAAAC
D7X4EtVG0'
d_[[[8[[[
||||||||||||||||||||D8
D81uUL9r
D847u:D8s0u
d[[[[8[[[5[[[
d8B@@@@B@A@2 @G
D8cGmggfw
d[[[[8drfQ7.d
D")||||8E")||||0E")||||(E")||||
[[[	[[[d8EdK[[[
D8f4uveH
@(D8f(t1
D8g	u7E3
D8g	u8E3
d8gWbgfG
D8hKtpD8mPt	H
D8i*uDD8i(uCH
;d(8jdAb
D8JdX[[[
D8k taL9k(u[L9k8uUH
D8K	u:E3
d8llllllllmllllOllylmR
D8natDIc
D8sMusE97t
d8vgqgg!
] d(8((]Y]]
d(8((]Y]]
D8ZdO[[[
-d@[[[9[[[?[[[
d@[[[9[[[
(D9*!4;[2;97OG@J-N
d96gLo j
d9_______94446'
D9A u)eH
d[[[[9]cg
D9D9D0D9D0D0D
D9D9D0D9D0D9D*D0DAD
d[[[[9|@dg
D9E9F9G9H9I9J9K9L9M9N9O9P9Q9
D9eHtzfA
d[[[[?9|f
D9fdR[[[
D9fhu7D9e
d9Gd[[[[
d9gfGi71esD3
D9	gqggF
D9gUkgfG
D 9*H4z[
D9hhhhhhh9fYA
D9k0ugD8mauaL9
D9kHu5L;
d[[[[9kMf
.D9k u.L
]@D9o u?
*d9r8f1XGdw
d[[[[9SIdf
d[[[[9[[[?[[[u
D9uDuSH;
d_9Vp2gE-
D9y0vcL9y(t]H
D'9YjllllllllmllllOllylm
D'9Yjllllllllmlll]Y]]
[[[d_[[[a[[[
d@[[[a[[[
d[[[[a[[[
d_[[[a[[[
;dA[[[)[[[
@dA[[[	[[[
[dA[[[_[[[
]dA[[[	[[[
dA[[[#[[[
dA[[[*[[[
|D@@@@@@A@@
@@D@@A0@@@@@@A@@@BD@@R0@@F@@@@@@@DB@@P0@@@@@@u@@@
@@D@@A0@@@@@@B@@@B
[[[da0d_[[[
d[[[[a0@f
[dA[[[1[[[0[[[l
:da	1du5
?"dA[[[3[[[2[[[
dA[[[3[[[2[[[
dA[[[3[[[2[[[e
@d@@@@@@A@3 EU
"dA[[[4[[[)[[[V
dA[[[5[[[4[[[
d[[[[a5-d
dA[[[8[[[?[[[
dA[[[9[[[
dA[[[A[[[
@@D@A@@@@A@@
@@DA@A0@@@@@@A@@@DBA@P0@@@@@@
#@'@@D@AAa
@@D@AA@@@A@A
DAAAAAA@AAAAACa
dAAAAAA@AAAAACE
dAAAAAA@AAAAACM@
dAAAAAA@AAAAACq
DAAAA@AAAAAC
DAAAA@AAAAACF
DAAAA@AAAAACi
DAAAAAAAAaqA]N
DAAAACa@AqqAAAAAAAAAAAY@A
DAAAAU@AAQqXDBU
@@@@@-@@D@AAac
@@D@AAac
 @)@@D@AAacoo
"@@@@@#@@D@AAacoo
@'@@D@AAacoo
DAAB_ZGBP
@@@@@#@@D@A@ac
@@D@A@ac
@@@@@d@@A@ACac
@d@@A@ADac
@@D@AA@DD@@@
DAAECEAQ1AAAAAA
@d@@A@AFac
DAAHBEZQD@[_@C]AHOHS@
d@@@@AA@@lpWC
da;[aNaNa
D@A][AOKOA
daa]Y]]h
?dA[[[b[[[
@@D@A@@B@A@@
d@@@@ABB@XpW@@@@@8
DABE@ZKLNEAD
DA]BHAJEP
[DABMH]OY
DABPKOXA
_DABZXGL_
 dA[[[c[[[
dA[[[c[[[
@@D@AC@@@@@
@@D@AC@@@@@@
@@D@AC@@@A@@
@@D@AC@@AA@Ep@O
@@D@AC@A@A@gpR@@@@@
@@D@AC@@A@@ap@L
@@D@AC@AA@@PpDD
@@D@AC@@AA@PpHH
@@D@AC@AA@@PpNV
@@D@AC@AB@@PpD@@@@@T'
@@D@AC@AB@@PpG@@@@@RAv
@"@@D@ACac
@#@@D@ACac
@'@@D@ACac
@(@@D@ACac
@)@@D@ACac
@*@@D@ACac
@.@@D@ACac
@@@@@ @@D@ACac
@@@@@!@@D@ACac
@@@@@"@@D@ACac
@@@@@'@@D@ACac
@@@@@(@@D@ACac
@@@@@)@@D@ACac
@@@@@-@@D@ACac
@@@@@.@@D@ACac
@@D@ACac
]@@@@@*@@D@ACac
@@D@AC@@A@@Ep@D
@@D@AC@@A@@Ep@I
@@D@AC@@A@@Ep@Jt
@@D@AC@@@A@HpBu
@@D@AC@@@A@Lp@Z
@@D@AC@@@A@Np@U
@@D@AC@@@@@ap@
@@D@AC@@@A@[pHL
@@D@AC@A@@@[pJL
@@D@AC@@A@@PpRH
@@D@AC@@@@@AQ@(
@@D@AC@B@A@
@@D@AC@BAA@ap@[0
@@D@AC@BAA@Ep@I
@@D@AC@BAA@Hp@C
@@D@AC@B@A@ap@
@@D@AC@B@A@ap@	
@@D@AC@B@A@ap@L-Z
@@D@AC@BAA@Pp@O
@@D@AC@BA@@cp@S
@@D@AC@B@A@dp@F
@@D@AC@B@A@dp@GI
@@D@AC@B@A@dp@I
@@D@AC@B@A@dp@YL
@@D@AC@B@A@Ep@n
@@D@AC@B@A@gp@K8_
@@D@AC@@BA@gpS@@@@@L
@@D@AC@B@A@Hp@
@@D@AC@B@A@Hp@_
@@D@AC@BA@@Hp@D
@@D@AC@BA@@Hp@D#H
@@D@AC@BA@@Hp@H!
@@D@AC@B@A@Hp@M
@@D@AC@BA@@Hp@M
@@D@AC@B@A@Hp@O6
@@D@AC@BA@@Hp@Q
@@D@AC@B@A@Hp@x
@@D@AC@B@A@Jp@
@@D@AC@B@A@Lp@m
@@D@AC@B@A@Lp@U
@@D@AC@B@A@Lp@XTM5
@@D@AC@B@A@Lp@Z
@@D@AC@BA@@Np@E
@@D@AC@B@A@np@Ljyb|@@@@BAA@Ep@DL
@@D@AC@B@@@ap@
@@D@AC@B@@@ap@a
@@D@AC@@BA@.pK@@@@@
@@D@AC@B@A@pp@M
@@D@AC@@BA@PpU@@@@@
@@D@AC@B@@@AQ@L
@@D@AC@B@A@yp@G
@@D@AC@B@@@cp@P
@@D@AC@B@@@cp@R
@@D@AC@B@@@cp@T
@@D@AC@B@@@dp@P
@@D@AC@B@@@Hp@
@@D@AC@B@@@Hp@Cr
@@D@AC@B@@@Hp@g
@@D@AC@B@@@Hp@Hz
@@D@AC@B@@@Hp@Jae
@@D@AC@B@@@Hp@K
@@D@AC@B@@@Hp@K5GSP@@@@@@@@
@@D@AC@B@@@Hp@MY
@@D@AC@B@@@Hp@NAl
@@D@AC@B@@@Hp@O
@@D@AC@B@@@Hp@P)	
@@D@AC@B@@@Hp@R
@@D@AC@B@@@Hp@V
@@D@AC@B@@@Hp@V'
@@D@AC@B@@@Hp@Ys
@@D@AC@B@@@Hp@Z1
@@D@AC@B@@@Hp@Z8
@@D@AC@B@@@Jp@C
@@D@AC@B@@@lp@
@@D@AC@B@@@Lp@
@@D@AC@B@@@Lp@i
@@D@AC@B@@@Lp@m
@@D@AC@B@@@Lp@Y8
@@D@AC@B@@@Lp@Zx
@@D@AC@B@@@mp@Ktx
@@D@AC@B@@@Np@_
@@D@AC@B@@@.p@GJ
@@D@AC@@B@@pp@@@@@@@@@@@A@@ap@K
@@D@AC@@B@@PpS@@@@@
@@D@AC@@B@@.pS@@@@@
@@D@AC@@@@@Cp@j
@@D@AC@@@@@Cp@M
@@D@AC@@@@@Cp@UV
*!!DACD]
@@D@AC@@@@@dp@EQS
@@D@AC@@D@@_p@G
@@D@AC@@@@@dp@GZ
@@D@AC@@@@@dp@H
@@D@AC@@@@@dp@lQ
@@D@AC@@@@@dp@Ngd_
DACD]SZJCB_H@N]_]J]
@@D@AC@@@@@Ep@e
@@D@AC@@@@@Ep@X
DA_]CJQ]ONZDML
@@D@AC@@@@@Lp@
@@D@AC@@@@@lpaP
@@D@AC@@@@@Lp@i
@@D@AC@@@@@Lp@j
@@D@AC@@@@@Lp@m
@@D@AC@@@@@Lp@n
@@D@AC@@@@@Lp@O
@@D@AC@@@@@Lp@S
@@D@AC@@@@@Lp@T
@@D@AC@@@@@Lp@X
@@D@AC@@@@@Lp@_Z
@@D@AC@@@@@Lp@Z
dacl_tests.cpp
DAC[NHYMA@
DACOHAQCCP
@@D@AC@@@@@[p
@@D@AC@@@@@_p@J
@@D@AC@@@@@_p@KH
@@D@AC@@@@@[pKL
@@D@AC@@@@@[p[L
@@D@AC@@@@@[p_L
@@D@AC@@@@@[pRL
@@D@AC@@@@@[pTL
@@D@AC@@@@@|p@V
@@D@AC@@@@@[pWL
@@D@AC@@@@@XpJ[0bg@l
@@D@AC@@@@@XpjD
@@D@AC@@@@@XpmE
@@D@AC@@@@@XpSL
d[[[[-a'd
dA[[[d[[[
@@D@AD@@@A@@
@@D@ADac
DaDbDcDdDeDfDgDjD
DAdC[[[9
[DADDY]Q
d)))A]DE
[[_DADEEEG
D]ADHCSZN_N
DADJASSP
DADJ]LA_YN
@dA[[[D[[[x[[[j
DADZHYL]QZFBQN
DAdZ[[[N[[[
(dA[[[e[[[
_dA[[[E[[[
#DAE4@l(
@@D@AE@@@A@3 ET
:"@ @@D@AEac
@ @@D@AEac
@"@@D@AEac
@#@@D@AEac
@(@@D@AEac
@*@@D@AEac
@@@@@!@@D@AEac
@@@@@.@@D@AEac
@@D@AEac
D@	@AEac
Dae!akaI
@@D@AE@B@A@2 @[
@@D@AE@B@A@2 @EN
@@D@AE@B@A@2 @L
D_AEJHPY
DAENNGMGA
[[[DA"eZ[[[
'?dA[[[f[[[
dA[[[f[[[
dA[[[F[[[
@@@@@!@@D@AFac
@@D@AFac
DA_@F[CLPH
dA[[[F[[[D[[[
DaFeFYF]FQFUFIFMFyyy
DAFNNSY_NAP]Z
DaFormInfoWWW
daFPSVOQOQOPh
[d][[[a[[[g[[[
DAg3dgfG
D@AG]BQXYGGG
dA[[[g[[[d[[[
D[AG_]EH
dA[[[g[[[f[[[
DAGGQ]]A
DAGHHBPPKKZNDP_ANY
Dag	kgfG
DAGL[AOSGONPDEG_[J
D@]AGNDQ
DAGoF!Fyyy)xy
dA[[[G[[[p[[[
d|agqgg7
dagqggx'
DAgqgg;z
DaGTG;G-G
DAGY[__AY
D[AGYZXM
DAGZPFY_
dA[[[)[[[-[[[h
dA[[[h[[[
D_AH[ECSN
_D@AHEHJA@
D@@@@@@A@h FMHc
@d@@@@@@A@h JT8
d@@A@h KUTE
D@@A@h MR
dA[[[h[[[n[[[!
d@@A@h OY
D@@@@@@A@HpBF
D@@@@@@A@HpBY
DA]]HS@LD
d@@A@h SY
D@@A@h T
_DA__HX_O
dahYTOSTTOPPdamPXTOSSTOPVWOdalWXOTQOPWPOPXYbakAN
d)))AHZZ@B]@[EHG
[dA[[[i[[[
dA[[[([[["[[[I
'?dA[[[j[[[
dA[[[j[[[
[dA[[[J[[[H[[[
DAJOJEY]L
daJQSQSQSQSQSQSQSQSQSQSQSQSQSQSQSQSQSQSQSQO
DAJQ]YYP
DA[JSGNFGY
DAJXBXNLLYP
D]AJZ]YS
dA[[[k[[[
DAKAAEM]A[_HJOLLD
DAKA_N[NCY[BKZD]FQ
dA[[[k[[[a[[[T
DAKHC[LBYY[DD
DAKHHDODBLA
D[AKHQL]
D[@A[]KLYCYQZ
DAKQXGGKQH
DAKXSDFF
D]AKZ_]GMN
@D[]A]K]ZNXXGLBD
@][DAKZZBNO]_
[dA[[[l[[[
dA[[[L[[[
[dA[[[l[[[a[[[
dA[[[l[[[c[[[
d[[[[)ALdG
DAL@EH_[
d)))]ALELH[G@GNJFDYHGP
DALGKLMJ@
DALJMYZQKBBF
DA]LNCXDO
@dalWXOTQOPVTOPVYdalWXOTQOPVTOPYPbak)
DA_LY[]SG
dA[[[m[[[
dA[[[M[[[
@||dA||MA||5A||
-DAMAGED
d[[[["AmdU
D[AMP@LNJEDLS
dA[[[M[[[v[[[
DAMYJLEAC[
DAMZBB]O
)dA[[[n[[[
dA[[[n[[[
@DA@N@ADac
DANALHSAZ@DH
DANC]MNS
_DANJ_DM]
DA_N]OA[F]
DANP_D[X
DANXFSLDOL
D]AODJSO
dA[[[o[[[f[[[
DAOLLZZC
dA[[[p[[[
dA[[[P[[[
DApgppepq
[[DAPM]YEM
DAPQFA_HAJ]G
DAP[QHBNDN
dA[[[P[[[W[[[
]dA[[[Q[[[
DaQaPaQa
DAQBNZBYOX
d[[[[[Aqd
DA[_QPCXMK_XD[
DAQPSNYBC
dA[[[q[[[u[[[
[dA[[[r[[[
dA[[[r[[[
@dA[[[R[[[
_dA[[[R[[[
dA[[[r[[[g[[[D
dA[[[S[[[
D;A s3;A s.H
D[ASALHF
DAS[CAGLXC
DASDXDOC]XZNP]J
D@ASEJGGYK
DASJANCD]MM
D[AS_JGMQEZG[
DAS_JPDZP
DA_SLQPF
DASM_BREAK_ON_IJMP
DASM_BREAK_ON_JMP
DASM_DELIMIT_BBs
DASM_FLAG_DISP
DASM_FLAG_IMMED
DASM_FLAG_IMMPTR
DASM_FLAG_MODRM
DASM_FLAG_SIB
DASM_JCC_TAKEN
DASM_JMP_STACK
DASMJS_M_OZABC_
DASM_LINEAR_FLOW
DASM_OPTYPE_CONST_ABS
DASM_OPTYPE_CONST_REL
DASM_OPTYPE_CONTROL_REG
DASM_OPTYPE_DEBUG_REG
DASM_OPTYPE_FPU_RM
DASM_OPTYPE_GPR_OPC
DASM_OPTYPE_GPR_REG
DASM_OPTYPE_GPR_RM
DASM_OPTYPE_MEM_IMM
DASM_OPTYPE_MEM_RM
DASM_OPTYPE_MMX_REG
DASM_OPTYPE_MMX_RM
DASM_OPTYPE_rAX
DASM_OPTYPE_rCX
DASM_OPTYPE_rDX
DASM_OPTYPE_SELECTOR
DASM_OPTYPE_UNKNOWN
DASM_OPTYPE_XMM_REG
DASM_OPTYPE_XMM_RM
DASM_OP_WSIZE_128b
DASM_OP_WSIZE_6B
DASM_OP_WSIZE_BYTE
DASM_OP_WSIZE_DWORD
DASM_OP_WSIZE_QWORD
DASM_OP_WSIZE_TBYTE
DASM_OP_WSIZE_WORD
DASM_OP_WSIZE_XL
dA[[[|[[[s[[['oJdO[[[
dA[[[s[[[r[[[
dASRkASXkAS@kASJkASckAS
DA_SYBX_XSK
_dA[[[T[[[
dataAlloc
database
Database
database context is missing
database corruption
database disk image is malformed
database is already attached
database is locked
database_list
database or disk is full
DatabaseReset
database schema has changed
database table is locked
Data copied was truncated
datadirectories.cpp
datadirectories.h
datadirectoriesmock.cpp
datadirectoriesmock.h
datadirectoriestests.cpp
datadirectoriestests.h
datadirectoriesutilities.cpp
datadirectoriesutilities.h
DataDirectory
data error
datafile
datagram.cpp
datagram.h
Datahandler
data_latency_limit_ms
datamode
DataPoint
DataPointCollection
DataPointCustomProperties
datapointlogger.cpp
datapointlogger.h
datareader.hpp
datareadertests.cpp
.data.rel.ro
.data.rel.ro.local
datarequest.cpp
datarequest.h
dataretriever.cpp
dataretriever.h
dataretrievertests.cpp
data_scrubbed
DataSourceUpdateMode
data_store_directory
datatype
datatype mismatch
data_version
dA[[[T[[[E[[[
date_getdate
date_getday
date_getfullyear
date_gethours
date_getmilliseconds
date_getminutes
date_getmonth
date_getseconds
date_gettime
date_gettimezoneoffset
date_parse
Date.parse() is not a constructor
Date.prototype.getDate() is not a constructor
Date.prototype.getDate() must be called only for Dates
Date.prototype.getDay() is not a constructor
Date.prototype.getDay() must be called only for Dates
Date.prototype.getFullYear() is not a constructor
Date.prototype.getFullYear() must be called only for Dates
Date.prototype.getHours() is not a constructor
Date.prototype.getHours() must be called only for Dates
Date.prototype.getMilliseconds() is not a constructor
Date.prototype.getMilliseconds() must be called only for Dates
Date.prototype.getMinutes() is not a constructor
Date.prototype.getMinutes() must be called only for Dates
Date.prototype.getMonth() is not a constructor
Date.prototype.getMonth() must be called only for Dates
Date.prototype.getSeconds() is not a constructor
Date.prototype.getSeconds() must be called only for Dates
Date.prototype.getTime() is not a constructor
Date.prototype.getTime() must be called only for Dates
Date.prototype.getTimezoneOffset() is not a constructor
Date.prototype.setDate() is not a constructor
Date.prototype.setDate() must be called only for Dates
Date.prototype.setFullYear() is not a constructor
Date.prototype.setFullYear() must be called only for Dates
Date.prototype.setHours() is not a constructor
Date.prototype.setHours() must be called only for Dates
Date.prototype.setMilliseconds() must be called only for Dates
Date.prototype.setMilliSecs() is not a constructor
Date.prototype.setMins() is not a constructor
Date.prototype.setMinutes() must be called only for Dates
Date.prototype.setMonth() is not a constructor
Date.prototype.setMonth() must be called only for Dates
Date.prototype.setSeconds() is not a constructor
Date.prototype.setSeconds() must be called only for Dates
Date.prototype.setTime() is not a constructor
Date.prototype.setTime() must be called only for Dates
Date.prototype.toDateString() is not a constructor
Date.prototype.toDateString() must be called only for Dates
Date.prototype.toString() is not a constructor
Date.prototype.toString() must be called only for Dates
Date.prototype.toTimeString() is not a constructor
Date.prototype.toTimeString() must be called only for Dates
Date.prototype.valueOf() is not a constructor
Date.prototype.valueOf() must be called only for Dates
date_setdate
date_setfullyear
date_sethours
date_setmilliseconds
date_setminutes
date_setmonth
date_setseconds
date_settime
datetime
dateTime
DateTime
DateTimeIntervalType
DateTimeKind
date_todatestring
date_tostring
date_totimestring
date_utc
Date.UTC() is not a constructor
date_valueof
_dA[[[t[[[j[[[
dA[[[T[[[J[[[7
dA[[[T[[[K[[[
dA[[[u[[[
"dA[[[![[[ [[[U
]'dA[[[U[[[
dA[[[U[[[
dAuAtAdAvAyAdAwAtAdAwArAdAvAtAdAvAuAdAwAtA
@'daubgfG
_dA[[[U[[[T[[[
-dA[[[v[[[
dA[[[v[[[
!dA[[[V[[[U[[[*
dA[[[V[[[U[[[
(dA[[[v[[[u[[[E
dA[[[w[[[
dA[[[W[[[
d:aweW5Ad
dA[[[W[[[@[[[P
]dA[[[W[[[V[[[
daX25 35a
D_AXAKPMCK
DAXB[XHZS
DAXCF[PF
DAXCZDC_PDM]A
_DAXDCYBYMY]
D@AXDSQKML
]dA[[[x[[[e[[[
[DAXKZ]Z[HX
DAXM@OJ_B
DAXPLOYS
DA[XQNQ]HK
DAXYSZLZ_YY
DA][XZM]C
]dA[[[y[[[
d)))A]]Y
 )))@[DA]]Y
D)))A]]Y
DAY]ECGZ
DAY_EP[C
DAYFZ[H]Y@HJAEE
D_AYGNDQKCGHLNAYQE@[CG]
D[AYJYMMJYZG
DAYLAYJ_H
Day of month is not valid for year
Day of month value is out of range 1..31
DayOfWeek
dayPSVOQOQOPh
dA[[[y[[[r[[[
daysSinceLastCorruption
d)))A]]YZ
D)))A]]YZ
?.dA[[[z[[[
[[[d_[[[A[[[z[[[)
DAZAM]EA
DAZBAQXZ
DAZFOLDNY]L_
[DAZKXQOO
_]DA]ZLE@F[
_DAZOOZB
DA][ZSBLH]_JXQ
DAzscRSS
!dA[[[z[[[x[[[
[[[d[[[[b
d][[[b[[[
(dB[[[([[[-[[[
?.dB[[[?[[[
_dB[[["[[[
d@@@@@B@@
dB[[[	[[[
dB[[["[[[
dB[[[)[[[
dB[[[;[[[
dB[[[|[[[
@@@@@DB@
	dB[[[0[[[7[[[)
d;B1B@A@@
@@@@DB@@1pB@@@@@
dB[[[4[[[
dB[[[4[[[*[[[q
#dB[[[5[[[-[[[5
db6[e#ZjdJ
dB[[[9[[[0[[[
@dB[[[9[[[8[[[
dB[[[9[[[8[[[c
[dB[[[a[[[
!!d_[[[B[[[A[[[*
D@@@@B@A@
D@@@@B@A@2 @
D@@@@B@A@2 @B
d?B@A@2 @c
D@@@@B@A@2 @J
d@@@@B@A@2 @L
D@@@@B@A@2 @L
D@@@@B@A@2 @P
*d@@@@B@A@2 @V
|D@@@@B@AA@
DBAAPAOZNG
D@@@@B@A@AQ@V
D@@@@BAB@
D@@@@BAB@Hp@K
|D@@@@B@A@C
dB[[[A[[[E[[[
d][[[B[[[A[[[H
D@BA@h G@@@@@
D@@@@B@AK@
DB]AL[CXOL
DBALEYLBHBGLJ
D@@@@B@A@Lp@_
DB]AO]][CCH]JDZFNLDX]_BKDLKM
@@@@DBA@P0@@@@@@
@DBA@P0@@@@@@
dB[[[A[[[s[[[
*||Db||!b||
@@DB@B_2
dBBBBBBB
DBBBBBBB
DBBBFBQ[ZYHLQ
@DB]@]BD
D@@@@B@B@dp@O
]DBB@EHB]_QM
[D_BB]GB
D[_B[BH@JSO
d@@@@BB@@Jp@@@@@@@@@@@@@@
DBB@KCZMGAB_OJC
D]BBOSLD
@@@DBB@P0@@@@@@
@@DBB@P0@@@@@@
_@@DBB@P0@@@@@@
DB_BPLGSHM
D@@@@B@B@Pp@]
dBBxL4fXBWD
D[BBYDZ[OLYQHAHC_XXYFL
]dB[[[c[[[
DBC][AAPFN
@-@@D@BCac
@@@@@ @@D@BCac
@@@@@'@@D@BCac
@@@@@-@@D@BCac
@@D@BCac
@@D@BC@@AC@Pp@KQ
@@D@BC@@@A@dp@H
DB[C_A]HA
@@D@BC@@@A@Lp@
@@D@BC@BAA@np@D
@@D@BC@B@A@Lp@m
@@D@BC@B@C@Hp@R
@@D@BC@@@C@Lp@Q
@@D@BC@@@C@Lp@Y
@@D@BC@@@C@[pLL
DBCDXZ[C
d[[[[b@Cg
D@@@@B@C@Hp@J
DBCJDDQMPOBSZHA
DBCJNZ[JCN
dB;cj]z	u
D]B[C@KPJDYLQAQ
DBCLANZX]
DBCOMHJC
DBCorrupted
@@@DBC@P0@@@@@@
DBCY]DPZQ
d[[[[;b"d_
]dB[[[D[[[
@DB]D7BD
[DBDAL[M
@DBDBAgFBABZ	BD
][DBDBEG
dB(dC[[[
DBDDDDBDDD
@DBDE|TBVBU
*dB[[[D[[[i[[[
D?BdJ[[[
DBDLX]YK
@DBD(MSSW
(D@@@@@@B@dp@I
@DBD@tBtI
@DBDUdPUxQBD@pBW
dBdU[[[y[[[
DBDXQSQD
dB[[[D[[[z[[[
[d][[[b[[[e[[[
d_[[[B[[[e[[[
_D_BEA_AYLDFDHM
@@D@BEac
?[dB[[[E[[[D[[[
dB"eH[[[
DBE_HOKL_@
dB"eI[[[
D]BEJ_BGEM_
DBEL[GDBA[O][HM]DNAZ
dB"eN[[[M[[[C[[[
dB[[[E[[[o[[[
DB"eO[[[k[[[
DBE_OYZJ
DBE@PP]_H[
dB"eW[[[
_dB[[[f[[[
dB[[[f[[[
@@D@BFac
#)))D@B[F]@B
DBFG_MYMY
DBFileSize
DBFXLMJ]]MC
]DB_FZK[
dB[[[g[[[
DbG1GyIzy1yyy
DBG8G?G.G
DBGC_JAFDBC
]dbg;daE
'dB[[[G[[[E[[[
DBGJLXMP
DBGJOZ@_DKY
DBGKKBABQ
DBGKPLPZG
DB[GKPZEN
 DBGNODEMUX 
DbgPrint
DbgPrintEx
DBGQAXSD
DBgqgg6o
(DbgScr)
DBGTFyYsy
DBGXNOA]MGCP
Db@gYbgfG
D[B_GYMZSCJOHDXMBYX[X_
DB@H_BF_
D@B@h DZTTG
DB]HEE@GHJL
_DB[HGM]
D_BH_JPBS
dB[[[H[[[N[[[
d@@@@B@@@Hp@S
DBHQFCCMHQC_GBNAPL
]dB[[[i[[[
dB[[[I[[[
dB[[[I[[[H[[[
dB[[[I[[[M[[[m
dB[[[j[[[
@DBJBK	@JBKD9
]DBJKCG[[_
]DBJO_OLGCJ
DBJOSYGMNNSSZ
]]D_BJPE
DBJQZBCM
DB[JSSHHON
@DBKBDf1BKZ
DB_KD[PP
dB[[[K[[[J[[[
DBKKDKKXD
DBKMJ]SBOEOPGLX
DBKMPZOGJXE
dB[[[K[[[N[[[
DBKNFLDEA
D]_]BKPN
DBKSXSQDYM
DBKY[L]D
@DBKZBZX
DBLAXQPM
 )))DB]LDY
:)))DB]LDY
D@BLELLCZ
DBLJSJL[
dBllllllllmllllOllylm
D@@@@B@@@lp@[
DbLpgppepq
DBLS]DXHBMPC
DBLSHYC[D
dB[[[m[[[
DBMCD[_SY
DB[MDMDBYLHO]G
)))DBM@[]FFEZJM]FFEZDBM@[
d[[[[bmKf
DBM@[LQ]]HZBB@EE
_D@BMNAD
dbmpgppepq
DB]MQNHGSBB@[QYYKX
DBMZJ@E_ZO
[dB[[[n[[[
dB[[[N[[[
DBNASJCN
DBNDY[CNXY
DBNJ[NGHH
dB[[[N[[[M[[[5
DBNONEON]Y
DB[NO@SM@QQ
DBNZXBG]F
DB_OAHEQSLZH]MQYNFN
dB[[[o[[[d[[[
_DBO]@GX
DBOGXPACC[
DBOPQCGSLH
DBOPYXG[BYZ
[dB[[[p[[[
dB[[[p[[[
DBPA]SOA
]_D[]BPD
DBPD]]OH
Dbpgppepq
DB_PHCOF
@@@@@DB@_p@JdU]L@@@@@DB@_p@L
DBPLDFJK[M[
![dBPoea
_]DBP]XP
"dB[[[Q[[[
DB_QAZJX
D[B]QCMSS
DBQDJAKLY[HKGCAQQX_O
DBQJOADP@]X_
D][BQMADP
DB_QNJKH
DB_QYFFGOEL
d[[[[b)Rf
DbrubpuC@
D_B_SJQQXNPM
[DBSKXN@]X
DBSNXNAQE@
[DBSOYND
DBSSEYDH
_D][B]SXAFS
"[dB[[[t[[[
dB[[[T[[[J[[[|
DBT(NSSWs
?dB[[[u[[[
#dB[[[U[[[
dBUEBU	f
dBUL	f_TULg
?.dB[[[v[[[
DBVAR_ARRAY_B
DBVAR_ARRAY_DW
DBVAR_ARRAY_QW
DBVAR_ARRAY_STRING
DBVAR_ARRAY_STRINGN
DBVAR_ARRAY_W
DBVAR_ARRAY_WIDESTRING
DBVAR_ARRAY_WIDESTRINGN
DBVAR_DW
DBVAR_QW
DBVAR_RAW
DBVAR_STRING
DBVAR_STRINGN
DBVAR_WIDESTRING
DBVAR_WIDESTRINGN
DBvgqgg	Dr
)))DBv@GZ]HEEH]@FGvYH]A
dBVI9	@][B]AJ
dB[[[v[[[k[[[
dB[[[v[[[t[[[ TBe][[[u[[[
_dB[[[V[[[U[[[U
"dB[[[w[[[
;]dB[[[W[[[
#dB[[[W[[[J[[[m
dB[[[W[[[U[[[
_dB[[[w[[[v[[[
D[[BX_B[CE
DBXEPMP[Z
DBXJMJMCJ
D_BXKYYZEP]_
DBXOLKDJCDOQNQH
@D@BXp@q
d_BYBTdJBYBpg@D@GBXB]sScSS3
DB_Y]CFF@X
DB[YGJQ]X_[MG
DBYLBYHKMZZ_N
DBY_LJPJ_
DB@_Y[[LZBPHPDZF
DBYMMJAPS
DB]YZ@MY
DBZCNZMDNXOEB
dB[[[Z[[[K[[[@
dB[[[Z[[[K[[[[E
DbzllllllllmllllOllylm
D[BZ]NKG
DBZ(NSSWs
DBZ@XBWBXD
[[[[[[d[[[[c
[d_[[[c[[[
d_[[[c[[[
 dC[[[ [[['[[[
)dC[[[.[[[
;dC[[[:[[[
@(dC[[[#[[[
[[[dC[[[
[[[dC[[["
[[[dC[[['
d_[[[C[[[@[[[
dC[[[	[[[
dC[[['[[[
dC[[[)[[[
dC[[[)[[[.[[[
dC[[[-[[[
dC[[[.[[[
dC[[[|[[[
	-dC[[[0[[[
[dC[[[2[[[
_dC[[[?[[[2[[[
dC[[[2[[[0[[[
dc2dePand
[[[dC[[[3
d[[[[C[3f
dC[[[5[[[
[[[dC[[[7[[[5[[[[[[d[[[[
dC[[[7[[[5[[[[[[dS[[[
|dC[[[9[[[
DCAAAAAA@AAAAACo
DC[ABCMQ
DC]A_]BO_
DCA]CG_AGEKJ
DCADYLGM
-@D_@_CAEE-
dC[[[a[[[f[[[
DCAH[NS[S]Q]LN_GDP
DCALDCSAG
DCANYNJS
DCAQZGNE
dcassoccreator.cpp
dcassoccreator.h
D[CAZN_O
[[[dC[[[b[[[
d@[[[C[[[B[[[
dC[[[)[[[.[[[B
]dC[[[b[[[a[[[
DCBA]F]YDKGK
[DCBALKDZ
_DC_BDJA
D@]]CBFMQSM
dC[[[b[[[g[[[G
DCB_GMKNQB
DCBJCPSQKQJ
DC_BJLDSPXHGNM
DCBMP@YLKZLC]Y_
]dC[[[c[[[
dcc8eZFxe
dC[[[C[[[A[[[
@@@@@ @@D@CCac
@@@@@(@@D@CCac
@@D@CCac
@@D@CC@@@A@dp@G
D_CC_[BHGGY
DC@CB[Z]OFG
DccccccccT
_dC[[[C[[[E[[[
dccegfGT:
DCCEQYKX_NKY
DCCJLMGOQANSX
_DCCJYDPJJ
dccmgripc_c.c
dccmgripc.h
dccmgripc_s.c
d@CCNCCCBACC
dCCNCCCBACC
D_CCNCCCBACC
DCCNCCCBACC
dCCNCCCBACC6
DCCNCCCBACCp
DCCN]MAS
dc:contributor
DCCOXFHMAS_K@
_dC[[[C[[[p[[[B
dc:creator
dccserver.cpp
dccserver.h
D]CCXBAJD]Z@
[dC[[[d[[[
dc[dA[[[
d||cd|| d||
dc:description
DCDg1dgfG?-LNgqgg
DCDGN_DKAK_O
DCDJBQAY]
DCDOAGLN
DCdP[[[j[[[o[[[
D]]CD[PNOY
DCDQOJXPZ__PZMX
d#CdV[[[
d-c	dwEle
dC[[[e[[[
@dC[[[E[[[
dC[[[E[[[
DCE@]AZNY
DCEEDADP
DCEJM]XGLB[C
_dC[[[f[[[
dC[[[F[[[
@)@@D@CFac
d[[[[cfDd
DCFFC_LMYXHJSB
DcFgqggKSl
)))DCFGSGN
DCF[HOXOHZC
DCFLZHOOZNF[HHOZX
DCFONZ_ODB
[[[dC[[[g[[[
d_[[[C[[[G[[[
DCGA]HPXL
D@CGAKZKL
dC[[[G[[[E[[[[[[dJ[[[
dc"GeSpBd
"D.];)cgfG
DCG]ODS[A
DC[]GOSGXZKE
DC]GPLDOZG
dCgqggh?
dC@gqggp3
dCgwRgfG
DC_GXANHZGBN@
dC]gydgfG
DcGyyyyyYm9yyy
dC[[[h[[[
DCHCYF]CHX_ADODYLLD
D_][C[H]FQEYYBB
DCHGMJJJHDZ_J
DCHJ[HBZB_JND[S
_DCHJNQX
dC[[[h[[[l[[[
[dC[[[h[[[o[[[p!
D_C_H[PM[QC
DC[HQJCQGME
*dC[[[I[[[H[[[
DciidExcludeW
dC[[[i[[[o[[[
dC[[[j[[[
_DCJBAPKJDEJ
[[[dC[[[J[[[I[[[[[[d[[[[
DCJLHHS]P
DCJLKJJMA
D]_CJPMC
@DC_JYAM[KBNPC
DCJY_APF]
[[[dCKdL[[[
dCKdS[[[x[[[
DCKEOZHEG
D@]CKGGZZA
DC_KO_PSM
D@CKZ_XGQJ
dC[[[l[[[
dc:language
DCLDJX]CGEX
DC@LDOOX
DC@LGKOAPKS]BO
DCLGMQAB
_@D]CLJPPSLFXC
dcllllllllmllllOllylm
[dCllllllllmllllOllylma
.dC[[[m[[[
[dC[[[m[[[
D]CMAO[G
DCm|CNYch
DCM]CSGD
DCMCZM]JZO
DCME[_BON]
DcmiCreatePermanentPrivilegeW
DcmiEventPnpInstallerEndWaitForPnpWWW
DcmiNoMatchWW 
DCMKSO_YBQ[E
DCMOH]NQ__MC
dC[[[n[[[
[dC[[[N[[[
DCNJP___L]Z@
[[[dC[[[N[[[L[[[[[[dW[[[M[[[
[DCNMXBYCY
DCNNPEPG
DCNOCCEMY
DCNOGZ[SJ
DCNOKCDF
DCNS[BLJEYA
[[[dC[[[o[[[
[dC[[[o[[[
DCOCJYSMY
DCOKNOAZGS
DCOL[MDOBYB
dcomdetector.cpp
dcomdetector.h
dcomdetectorut.cpp
[[[dC[[[O[[[M[[[[[[dZ[[[N[[[
dcomobjectenumerator.cpp
dcomobjectenumerator.h
DCO[[NJ]P_
_dC[[[o[[[n[[[W
D_COON]FGCJH[
@DCO]PFC]K
DCO]X_YB]LGL]
d[[[C[[P
D@CPDMGOM
_DCPEFYDO
DCPEXLXJQ][CDYG_B
D[CP]GOC
@@D@@cp@H
DCPMHP]A_MD
DCPMZGCY
D]C]PNX]BQ[XC
[dC[[[p[[[o[[[	
DCPPFKZ_KOY_F
DCPQANOE
DCP]QMPNYSXX
@DCPSKDJS
dc:publisher
dcpublisher.cpp
dcpublisher.h
dC[[[q[[[
DCQ_HXES
dC[[[Q[[[I[[[a
D_CQ_JAJ
DCQJXD[PZG
DC[QKPYPGM
DCQ_M]GBO
DCQQOC_Q
[dC[[[Q[[[T[[[[[[dR[[[P[[[V[[[
dC[[[R[[[
dcrefresh.cpp
dcrefresh.h
dc:rights
_dC[[[S[[[
_dC[[[S[[[@[[[
DCSADCOYMZ_
DCSDF[GC
dcserver.cpp
dcserver.h
dcservermgr.cpp
dcservermgr.h
DCSQEKNB
DCS[QXQ[JCCNZ
dC[[[s[[[r[[[[[[dQ[[[
DCSuQ3DCStQ
DCSXOSZSXJ
DC_SYZPSQJB
|dC[[[t[[[
dC)tej]ff
[[[dC[[[t[[[f[[[[[[d_[[[k[[[
dc:title
dctypecreator.cpp
dctypecreator.h
dC[[[U[[[F[[[a
dcutils.cpp
dcutils.h
dcutils_tests.cpp
[[[dC[[[v[[[
|dC[[[v[[[
dC[[[w[[[
_dC[[[W[[[
dC[[[W[[[
DCwFwYwDw_Hw]P
[[[dC[[[W[[[T[[[[[[dJ[[[V[[[
dC[[[w[[[u[[[*X
dC[[[x[[[
DC@@XCS_[
*[[[dCXdA[[[)[[["[[[2qIdN[[[([[[
DCX@FLCHS
D ;cxg9cgfGL_
DCXKXPED
DCXZQP@GSBZ]OY
[dC[[[y[[[
dC]Y]]6(Y
[[[dcYdA[[[
DCYGQNA[S[KH
D)))C_YJB
D[CYL[O[Q
dC[[[y[[[n[[[[[[dX[[[x[[[w[[[
DCYOC]BB
DCYQXB_DNMAB
DCYSCZOKZDBYM_KGJ
DCYS[Y[XKP
dC[[[y[[[v[[[
dC[[[z[[[
DCZFZN][CJDZKOGJ
DCZHL[_NY
DCZJZMHPGC
D@CZ@KHCSG
D_CZLF_]XJJ
DCZQ@PC[[_P
DCZXJXED[N[Y
[[[d_[[[d[[[
[d@[[[d[[[
d[[[[?#*d
d[[[[@!-d
d[[[[[[d][[[
d[[[[d[[[
d_[[[d[[[
	dD[[[:[[[
 dD[[[*[[[
:-]dD[[[
]@]dD[[[
||||d|||||||D_
d_[[[D[[[
dD[[[*[[[
dD[[[-[[[
dD[[[;[[[
:Dd@[[[?[[[
??Dd[[[[
Dd@[[[([[[
Dd[[[[	[[[
Dd[[[['[[[
Dd][[[	[[[
Dd_[[["[[[
Dd_[[[([[[![[[
Dd_[[[:[[[
Dd_[[[;[[[
dD[[[?[[[0[[[L
!-d(?;d1
Dd@[[[1[[[
Dd_[[[1[[[
Dd][[[3[[[
dD[[[3[[[2[[[
 dD[[[4[[[
Dd][[[4[[[
D@D4@DF4Ad
dD[[[5[[[
Dd@[[[6[[[
dD[[[6[[[4[[[N
Dd][[[7[[[
d[[[[!)-d8
Dd_[[[9[[[
D:D9D9D)E*D
d[[[['	.da
dD[[[a[[[	[[[|
#Dd@[[[A[[[
DdA[[[-[[[
DdA[[[;[[[*[[[
DdA[[[?[[[
DdA[[[4[[[#[[[
DdA[[[6[[[
DdA[[[7[[[4[[[
;DdA[[[8[[[*[[[
DdA[[[a[[[
@DDA@A0@@@@@@B@@@B
@@@@DDAAa0@@D@@@
D_@DAAEY]
DdA[[[B[[[A[[[
DdA[[[C[[[
@@D@D@ac
DD]ACNC[
DdA[[[d[[[
DdA[[[F[[[D[[[
DdA[[[F[[[E[[[X#
dD[[[A[[[G[[[
DDAGLGODZ
dD@@A@h EM
DdA[[[I[[[F[[[3dKdI[[[H[[[G[[[
DdA[[[j[[[i[[[7
DdA[[[K[[[
DDALMXGC
DdA[[[m[[[c[[[
DDAMN[OQ
DdA[[[n[[[
DdA[[[o[[[
DdA[[[O[[[
D]DA]OESMOGG]EPHG
DdA[[[o[[[m[[[pmOd_[[[
DdA[[[P[[[
:DdA[[[p[[[k[[[*
:DdA[[[q[[[
DdA[[[q[[[u[[[
DdA[[[R[[[A[[[
DdA[[[r[[[q[[[h
DdA[[[s[[[
DDASLCSZ]@]_Q@
DdA[[[T[[[
DdA[[[w[[[
DdA[[[w[[[o[[[
]DdA[[[x[[[
Dd[[[[A[[[y[[[
D[DAZFOXA
"dD[[[b[[[
Dd][[[b[[[
DdB[[[	[[[
DdB[[["[[['[[[
DdB[[[#[[[
DdB[[[([[[
DdB[[[*[[[
DdB[[[*[[[)[[[
d[[[[dB3d]m
DdB[[[4[[[
DdB[[[5[[[
DdB[[[6[[[5[[[ TBeH[[[
@@D@D@@B@A@@
Dd][[[B[[[A[[[1-
dD@@@@B@A@2 @A
dD@@@@B@AB2 @A
DDBAQYX[NALZDMAHHNM
d@@DBB@P0@@@@@@
DdB[[[C[[[B[[[P
DdB[[[d[[[
DdB[[[D[[[
DDBDGLYY
DdB[[[F[[[
DdB[[[g[[[
D_DBHCQ[
;DdB[[[h[[[o[[[
DDB_HODBH
d@D@bH]S
d@D@BH]S
D@D@BH]S
D@D@BH]S))
d@D@BH]SdZA]H
D@D@BH]SR
D@D@BH]SvJDMF[H[NZ
DdB[[[k[[[
DdB[[[l[[[
d@D@B@]]LGS
D_DB_LHHPGE[Q
DD_BMPY[G
DDBNCPM_
;DdB[[[n[[[l[[[l
DD"boooo
_DdB[[[p[[[
DdB[[[R[[[
dD[[[B[[[s[[[
DdB[[[u[[[o[[[
 DdB[[[v[[[
DdB[[[v[[[
DdB[[[W[[[N[[[
@?DdC[[[
DdC[[["[[[
DdC[[[4[[[
@@D@DCac
Dd[[[[c[[[b[[[
DDCC_MJSYBE
DdC[[[d[[[
DdC[[[D[[[
D@DC@DCDDd
DdC[[[F[[[
DDCFKZL[_L[
_DdC[[[G[[[E[[[
DdC[[[g[[[f[[[
DdC[[[j[[[
DdC[[[K[[[
DdC[[[l[[[
DdC[[[m[[[
DdC[[[N[[[
DdC[[[p[[[u[[[
DdC[[[Q[[[M[[[
DdC[[[r[[[
DdCreateFullscreenSprite
DdC[[[s[[[r[[[
DdC[[[U[[[
DdC[[[)[[[([[[UuWdx[[[
DdC[[[V[[[H[[[B
DDCYMDQN
Dd_[[[d[[[
#:DdD[[[
DdD[[[?[[[-[[[
D*Dd_[[[
??D????D??D
?D?D??D??
?D?D?D??
DdD[[[0[[[
DdD[[[3[[[
DdD[[[3[[[)[[[L
DdD[[[6[[[([[[L
D)DdA[[[
@@D@DDac
D]DdB[[[m[[[;[[[
#D???D?D?D??
???D#D#D#D#
??D?D?D#D
?D?D?D?D???
?DD?D?D?
DDDDBC[QN
DDD_DBZJSP
?DD?D?D?D?
D?D??D?D????D
D?D?DD??D?#
D?DD?DD?
DDDDD18;DDDDD]
D@D?DDDCDCDDDFDGDHD
D#D#D?DD#D
D????D?D?D????D??D?
D#DDDDDD?
D?D?D?DD??D?D?
DDDDDDD@
D*D-D*D*D*D*D5D
dddddddd
?D?D?DD#D#D#??D??D
D???D?D????D?D?D?D?D?
DDD?D?D#D#D#D?
DD?D??D#?D?D?D#DDD?
DDDDDDDDDD
dddddddddddddddddddddddddddd
DDDDDDDDDDDDDDDDDDDDDDDDDDDD|DDSeg
DDDDDDDDDDDDDDDDDDDDDDDDDDD|DDSeg
ddddddddddddddddklkddddddddd
?DDDDDDDDDDDDDDDD]Y]]
DDDDDDDDDDDDDDDD]Y]]
DDDDDDDDDDDDDDDD]Y]](
DDDDDDDDDDDDDDDD]Y]])
DDDDDDDDDDDDDDDD]Y]]6
DDDDDDDDDDDDDeDDDdD
DDDDDDDDDLL
DDDDDDD|DDSeg
ddddddlo
ddddlddf
d'DdF[[[x[[[
D_DDGJDJ
d'DdG[[[K[[[
DdD[[[G[[[v[[[
DdD[[[I[[[
DDdI[[[Y[[[c[[[
DdD[[[J[[[3[[[@
DD@DJAH]
DDD[JMOXQ@
DdD[[[K[[[C[[[
DDDKPXQ@M
d[[[[# ddKR
DdD[[[)[[[([[[L
dddldddd
D_DD[LNZY[G
d[[[[d?.dN
DdD[[[N[[[M[[[
dDdN[[[Y[[[
dDdO[[[8[[[?[[[
DDD@QK]P
dDdU[[[w[[[g[[[u
?DD?D??w
d:Ddx[[[
DDDXK]EC
)))DD]DY
DD]DY@Z[FF]
_'d:]@de
DdE[[[)[[[-[[[
DdE[[[*[[[
DdE[[[-[[[ [[[
DdE[[[|[[[
DdE[[[3[[[
DdE[[[9[[[
d||de||Ce||
DDE]CPHMBDH[HJ
Dd_[[[e[[[d[[[
d||de||)e||
DdE[[[@[[[F[[[
DdE[[[I[[[
?DdE[[[I[[[O[[[
DdE[[[K[[[I[[[_
DdE[[[l[[[
DDEMZSMA]
DdE[[[r[[[
DdE[[[V[[[
-DdE[[[v[[[l[[[
DdE[[[z[[[y[[[
@@D@DFac
ddF[[[d[[[
ddfDfFFF
DdF[[[g[[[
DdF[[[@[[[G[[[
)))DDFG]L@[FGH_LNHJHF
@DdF[[[j[[[
DdF[[[k[[[
@DDFK@E@H[LGL[@
:DdF[[[l[[[
DdF[[[L[[[
	)))DDFMZFOEMDYMH]H
DdF[[[O[[[M[[[3
@DDFS@EEH
DdFSFyyy
DdF[[[S[[[Q[[[
:)))D@]DFYZD@]DZL[_L[
dD[[[G[[[
Dd[[[[g[[[
"DdG[[[?[[[
Dd][[[G[[[
DdG[[[	[[[
DdG[[[8[[[
DdG[[[8[[[1[[[5
DdG[[[a[[[
DdG[[[c[[[
DDGCAEZNDJJONDO[[OSOL
DdG[[[C[[[B[[[xmdeB[[[
Ddgfw'g@
DdG[[[g[[[
DdG[[[I[[[
[DDGJJ]F
DdG[[[k[[[
DdG[[[K[[[
DdG[[[l[[[
DdGLGGG*G
DDGPQPX]M
ddgqggBT
DdG[[[q[[[k[[[?5
DdG[[[u[[[
DdG[[[w[[[
DdG[[[Z[[[8[[[
DD@GZ]HEEL[ZJ[@Y]ZvIMH]L
dD[[[H[[[
(DdH[[[@[[[
DdH[[['[[[
DdH[[[1[[[0[[[D
DdH[[[2[[[1[[[xz
DdH[[[9[[[?[[[D
DDHABNBSKONG
DdH[[[B[[[G[[[
DdH[[[c[[[e[[[
DDHDLMF_
Dd@[[[h[[[e[[[
DDHLXKCQ
DDH_MLQZEQ
@DDHN@G@
@D@DHN@GNML_@JLZ
DdH[[[o[[[l[[[
DDHOZYSLJ[M
DDHQ[O[_OAXZB
DdH[[[r[[[e[[[
DdH[[[V[[[T[[[:
DdH[[[w[[[
DdH[[[W[[[
DdH[[[Z[[[?[[[
DDHZOHEL]
'Dd][[[i[[[
Dd[[[[i[[[
DdI[[[([[[
DdI[[[-[[[
DdI[[[;[[[
DdI[[[|[[[
DdI[[[0[[[
DdI[[[#[[[![[[7
DdI[[[A[[[@[[[M
!DdI[[[c[[[
d_dI[[[d[[[
DdI[[[d[[[
DdI[[[D[[[
DdI[[[f[[[
DdI[[[F[[[E[[[
)Dd_[[[i[[[h[[[
DdI[[[h[[[
*DdI[[[H[[[
DdI[[[H[[[O[[[
d[[[[dIIf
ddI[[[k[[[
DdI[[[k[[[i[[[
DdI[[[O[[[B[[[
DdI[[[p[[[
DdI[[[P[[[
DdI[[[P[[[H[[[
DdI[[[q[[[v[[[
DdI[[[r[[[w[[[u
DdI[[[s[[[c[[[
DdI[[[T[[[K[[[#-hdz[[[
@DdI[[[V[[[J[[[
DdI[[[w[[[
Dd[[[[j[[[
.]DdJ[[[_[[[][[[
DdJ[[[	[[[
DdJ[[[![[[ [[[
DdJ[[[#[[["[[[
DdJ[[[([[[
DdJ[[[-[[[
DdJ[[[@[[[
DdJ[[[1[[[
DdJ[[[3[[[
D_DJABQ]LSZ
DdJ[[[B[[[
DdJ[[[@[[[E[[[
DDJEHHBL
DDJ@GJGCEK_
Dd_[[[J[[[I[[[
DdJ[[[i[[[l[[[
DDJOOKZHPS
DdJ[[[q[[[v[[[
DdJ[[[r[[[j[[[
DdJ[[[S[[[y[[[
DdJ[[[v[[[u[[[
DDJ[]X_QSOOPZ_
@DDJYXXG
;Dd][[[K[[[
Dd[[[[K[[[
DdK[[[	[[[
DdK[[[![[[
DdK[[[![[[ [[[
DdK[[["[[[#
DdK[[[:[[[
DdK[[[@[[[
DdK[[[0[[[.[[[
DdK[[[3[[[
DdK[[[6[[[)[[[
DdK[[[6[[[5[[[
:DdK[[[7[[[
('dDK8g|
;DdK[[[a[[[
D__DKAZD
DdK[[[b[[[
DdK[[[B[[[
DDKBZJGN_NQ_B
DdK[[[d[[[
DdK[[[D[[[
d!DKeTa;f
DdK[[[i[[[
DdK[[[][[[I[[[*
DdK[[[I[[[
DdK[[[k[[[j[[[
DDKLNXXX
DdK[[[O[[[
DD_KO[]YA
 DdK[[[r[[[
DdK[[[u[[[
DdK[[[U[[[E[[[
DdK[[[V[[[
DdK[[[y[[[
DdK[[[Z[[[
Dd_[[[l[[[
 ;DdL[[[
.?DdL[[[
DdL[[[	[[[
DdL[[[#[[[
DdL[[[:[[[
DdL[[[0[[[
?DdL[[[;[[[2[[[
DdL[[[2[[[
DdL[[[2[[[ [[[
DdL[[[3[[[
DdL[[[3[[[2[[[H
DdL[[[A[[[@[[[
DD[LAH]QOY
DdL[[[b[[[
DD]LBECQ
DDL][[CNA
DdL[[[d[[[
DdL[[[E[[[s[[[S
DdL[[[f[[[
d)))DLGHDL
DDLH_ALB
#D)DL]HA]]Y
DD[LHML[
DdL[[[h[[[o[[[@
DdL[[[i[[[
D@DLJHZ]
DDLJJAENSAQ
	)))@DDLM@H]L
	@DDLM@H]LEP
@DDLM@H]LEP
@DDLM@H]L]HZB_
DdL[[[o[[[
DDLPQNAD
D@DL]PYLZ
D@DL]PYLZr
DD[LQXYMG]OLN
!DdL[[[R[[[H[[[
DDLYOYXPPA[O
@DDL[Z@_LJFG][FEYH
@DDL[Z@_LJFG][FEYHGLE
@DDL[Z@_LJFG][FEYHGLEv
d)))DLZZHNL
dD[[[M[[[
	 DdM[[[
.DdM[[[.[[[
DdM[[[	[[[
DdM[[[)[[[
DdM[[[*[[[
DdM[[[?[[[
DdM[[[0[[[
DdM[[[1[[[
ddM[[[4[[[)[[[
DdM[[[8[[[
DdM[[[8[[[5[[[
DdM[[[;[[[9[[[
DdM[[[a[[[
DD]MA]G_
DdM[[[@[[[E[[[
DdM[[[e[[[d[[[
'?DdM[[[F[[[
D@D@MFNSR
DDMHXAKHJNJQHPDND]QJ
DdM[[[i[[[
DdM[[[J[[[j[[[
Dd_[[[m[[[l[[[
Dd@[[[M[[[L[[[
DDM_L_JZ
DdM[[[M[[[
DdM[[[n[[[
(DdM[[[N[[[
DdM[[[N[[[g[[[
DdM[[[q[[[k[[[s
DdM[[[q[[[t[[[
?DdM[[[r[[[h[[[x
DdM[[[v[[[
"DdM[[[v[[[c[[[q
DdM[[[@[[[x[[[5
DdM[[[X[[[N[[[
DdM[[[Y[[[
DdM[[[Y[[[	[[[q
DdM[[[Z[[[
[[[#d_dN[[[
'	DdN[[[
?;DdN[[[
DdN[[[-[[[
DdN[[[?[[[
DdN[[[|[[[
DdN[[[4[[[([[[
D(dN[[[5[[[
DdN[[[7[[[6[[[d
DdN[[[8[[[
DdN[[[9[[[*[[[5
DdN[[[A[[[@[[[T
DDNBOAQ]C
d]d@[[[N[[[D[[[
D_DNDKB]XDCH]Z
_Dd@[[[n[[[l[[[
DdN[[[l[[[c[[[
DdN[[[o[[[
@@@@DD@@Np	K
DdN[[[q[[[
DdN[[[Q[[[P[[[
DdN[[[Y[[[
DDNYZBMH
Dd@[[[O[[[
	DdO[[[3[[[2[[[
DdO[[[5[[[
DdO[[[9[[[
DdO[[[a[[[f[[[
_DDOCBPX
DdO[[[g[[[e[[[
;DdO[[[k[[[
DdO[[[K[[[O[[[
DdOllllllllmlll]Y]]
DDOLO_KOJA
_dD[[[o[[[m[[[N
DdO[[[N[[[
d||do||#o||
DD_O[Q[LN
DDOSG[QHM
DdO[[[s[[[r[[[
DdO[[[t[[[
DdO[[[u[[[
DdO[[[w[[[v[[[n
DdO[[[Y[[[I[[[Th
DdP[[[9[[[8[[[
DDPCC_BJJG
DdPDxREyEyEyEy
DDP]H[BBDB
dd?pie|.
:DdP[[[J[[[
DdP[[[J[[[M[[[
DDPLHHBEND
D_DPMJDOX_YHD
D[DPNEDAOC
DDPNS[[]BZ[F
__DD_[PQ_AHZ
Dd_[[[P[[[U[[[
DDPWWWWW:
d)[dQ[[[
dD[[[Q[[[
Dd@[[[q[[[
Dd[[[[q[[[
Dd[[[[Q[[[
DdQ[[[@[[[
D[DQAS_BCDY_
DdQ[[[B[[[E[[[JtXdz[[[A[[[
DDQCXLMYYJAPD
DDQESLOJ
'DdQ[[[G[[[
DDQG_N]_@S
d[dQ[[[h[[[m[[[
DdQ[[[I[[[
DdQ[[[I[[[y[[[8
DdQ[[[j[[[h[[[
DdQ[[[J[[[N[[[
DdQ[[[k[[[j[[[
d]dQ[[[m[[[
DDQ@NJKHM[GMSOGZ@A[
DD[QNPYH
DdQ[[[Q[[[P[[[J
DDQ]QSDSDE
DDQS]KJL
DDQSQZ@JL__
DdQ[[[T[[[
DdQ[[[t[[[f[[[
DdQ[[[t[[[j[[[
DdQ[[[V[[[
[DDQXJHG
DdQ[[[y[[[|[[[
DdQ[[[y[[[b[[[3
DDQZOAH]
dD[[[R[[[
#;DdR[[[
DdR[[[	[[[
DdR[[[5[[[4[[[
DdR[[[6[[[
DdR[[[f[[[
DdR[[[f[[[d[[[l
DdR[[[H[[[j[[[
DdR[[[H[[[w[[[
DdR[[[I[[[
;Dd@[[[R[[[L[[[lI]dI[[[Q[[[M[[[q
dD[[[r[[[p[[[
DdR[[[r[[[
DdR[[[s[[[t[[[
Dd][[[r[[[u[[[c
DdR[[[y[[[
DdR[[[@[[[z[[[#
Dd_[[[s[[[
 Dd@[[[S[[[
@"DdS[[[@[[[
DdS[[[	[[[
DdS[[[8[[[?[[[8
ddS[[[C[[[
DdS[[[C[[[A[[[v
DDSCNYZCJS
#DdS[[[F[[[
DdS[[[I[[[
DdS[[[K[[[
DdS[[[k[[[i[[[
DDSKQFCZSP@BBEBQO[S@PFX
_DDSMLZQ
DDSMOQZB
DdS[[[o[[[
DDSQSDM[KHSMSX
DdS[[[q[[[v[[[E2
Dd][[[s[[[r[[[.
DdS[[[r[[[
DdS[[[r[[[k[[[
DdS[[[S[[[R[[[
DdS[[[t[[[
DdS[[[V[[[
DdS[[[w[[[j[[[
DdS[[[Y[[[B[[[zh
DdS[[[Z[[[p[[[]
_dD[[[t[[[
DdT[[[ [[['[[[-
DdT[[[3[[[
DdT[[[7[[[5[[[
DdT[[[9[[[1[[[R
DdT[[[J[[[A[[[A
*DdT[[[O[[[
DdT[[[U[[[
DdT[[[Y[[[ 
DdT[[[Z[[[
 ;DdU[[[
DdU[[[8[[[?[[[
DdU[[[B[[[h[[[u
DdU[[[d[[[
DdU[[[D[[[y[[[u
DdU[[[E[[[
DdU[[[E[[[D[[[Q6GfF[[[
'"DdU[[[h[[[
DdU[[[h[[[
DdU[[[i[[[
DdU[[[l[[[c[[[
DdU[[[p[[[
DdU[[[s[[[
DdU[[[t[[[
ddUUGUU 
ddUUGUUH
DdU[[[x[[[
DdU[[[Y[[[
DdU[[[y[[[r[[[u
DdU[[[Z[[[
D@dV[[[!
DdV[[[5[[[4[[[D
DdV[[[8[[[
DdV[[[b[[[
DdV[[[D[[[
D@]DvDHGHNL[
DdV[[[F[[[E[[[[z
?)))D@]DvKHZLMv@GOLJ]@FG
DdV[[[l[[[
DdV[[[|[[[r[[[
DdV[[[R[[[
(DdV[[[s[[[
-DdV[[[S[[[
DdV[[[S[[[
d[[[[[[dW[[[
Dd][[[W[[[
DdW[[[3[[[
DdW[[[c[[[
DdW[[[C[[[p[[[
ddW[[[e[[[
DdW[[[K[[[I[[[
DdW[[[k[[[j[[[
DdwllllllllmllllOllylm
"DdW[[[Q[[[P[[["sedO[[[
DdW[[[r[[[q[[[
DdW[[[u[[[t[[[
DdW[[[V[[[
DdW[[[x[[[
DdW[[[y[[[
d@[[[D[[[x[[[
 'Ddx[[[
Ddx[[[)[[[([[[
Ddx[[[.[[[
DdX[[[([[[
DdX[[[:[[[1[[[
DdX[[[2[[[
Ddx[[[7[[[([[[
DdX[[[7[[[
Ddx[[[A[[[@[[[c
Ddx[[[c[[[
DdX[[[C[[[
Ddx[[[d[[[
Ddx[[[D[[[
DdX[[[d[[[
_dd.X[dC
Ddx[[[E[[[
Dd_[[[X[[[e[[[
DdX[[[E[[[D[[[
DDXE_GLE
DDXEKAYJQ
Ddx[[[h[[[
Ddx[[[i[[[h[[[
;Ddx[[[j[[[i[[[b
Ddx[[[k[[[
DDXK_ACQ
DdX[[[l[[[
DdX[[[L[[[
dd][[[x[[[m[[[
Ddx[[[M[[[
]DDX[MMLN
DdX[[[N[[[
DD[XNSLNSXAJ
Ddx[[[O[[[L[[[_
dDxpgppepq
Ddx[[[q[[[
DdX[[[q[[[
DdX[[[Q[[[
D_[][DX]Q
[Ddx[[[Q[[[U[[[
Ddx[[[r[[[p[[[c
Ddx[[[T[[[
DdX[[[u[[[
Ddx[[[w[[[u[[[c
Ddx[[[W[[[y[[[
DDXXOCMS
DdX[[[Y[[[
Ddx[[[z[[[|[[[
DdX[[[z[[[
DdX[[[Z[[[
DDXZA@LXBOJ
DdY[[[?[[[
DdY[[[0[[[
!Ddy[[[0[[[7[[['
 -Ddy[[[2[[[
DDYA@CSP
DDYBCHDZX_K]CK]]HZMY
DDYCCOZQNO
DdY[[[d[[[
Ddy[[[F[[[
DDYFZ[JFDB
DdY[[[H[[[M[[[B
DDYKQNJCA@CK[Z
DDYKQOCK
"Ddy[[[m[[[
Ddy[[[N[[[L[[[
DDYOOHAA[N
Ddy[[[p[[[u[[[
Ddy[[[|[[[q[[[
Ddy[[[q[[[p[[[
Ddy[[[s[[[
DdY[[[s[[[
Ddy[[[u[[[t[[[
Ddy[[[w[[[
DdY[[[W[[[L[[[
Ddy[[[x[[[
DDYXM@YPH
DdY[[[Y[[[
DDYZNA_H@
DDYZQGOZ
Ddz[[[)[[[
Ddz[[[*[[[
Ddz[[[.[[[#[[[
 ?DdZ[[[
D[[[[[[dZ[[[
DdZ[[[([[[
DdZ[[[*[[[
DdZ[[[-[[[
DdZ[[[;[[[
DdZ[[[?[[[
DdZ[[[1[[[
Ddz[[[1[[[0[[[F
DdZ[[[3[[[
Ddz[[[3[[[1[[[Em
DdZ[[[5[[[
DdZ[[[7[[[
@DDZALHE]A
DdZ[[[b[[[
Dd@[[[Z[[[B[[[
DdZ[[[c[[[
DdZ[[[C[[[@[[[BUDdK[[[B[[[
;Ddz[[[D[[[
DdZ[[[d[[[
?DdZ[[[D[[[
@DDZDYLGN
Ddz[[[e[[[
Ddz[[[E[[[
DdZ[[[e[[[
DDZEEYGB
Ddz[[[f[[[
DdZ[[[f[[[
DdZ[[[G[[[
D@_DZHJ[Q
DdZ[[[i[[[
DdZ[[[I[[[
Ddz[[[J[[[I[[['
DdZ[[[j[[[o[[[
DdZ[[[K[[[
DdZ[[[K[[[I[[[
Ddz[[[K[[[I[[[D
@DDZ@LQLJ
:DdZ[[[m[[[
DdZ[[[M[[[
DdZ[[[m[[[b[[[
DdZ[[[n[[[
;DdZ[[[O[[[
DdZ[[[O[[[
DdZ[[[o[[[l[[[
Ddz[[[O[[[M[[[x)
DdZ[[[p[[[
Ddz[[[q[[[
DdZ[[[q[[[p[[[L
]]DDZQXA
_DDZQ[_[Y
DdZ[[[R[[[
DdZ[[[s[[[
Ddz[[[s[[[)[[[8
DdZ[[[s[[[q[[[
d_dz[[[T[[[
_DdZ[[[][[[T[[[!
Dd@[[[Z[[[T[[[
DdZ[[[T[[[
DdZ[[[U[[[
Ddz[[[u[[[h[[[_
Ddz[[[u[[[j[[[R
Ddz[[[V[[[
DdZ[[[v[[[
DdZ[[[V[[[
Ddz[[[v[[[u[[[
DdZ[[[w[[[
:Ddz[[[w[[[e[[[
Dd_[[[z[[[x[[[
Ddz[[[x[[[
DdZ[[[x[[[
Ddz[[[X[[[t[[[
Ddz[[[y[[[
DdZ[[[y[[[
DDZYASJ[
d@D@ZYFFE
D@D@ZYFFE
|#DdZ[[[z[[[
DdZ[[[z[[[
d@[[[e[[[
d[[[['."e
d||||||*e||||||
de[[[[_[[[][[[
d_[[[E[[[
dE[[[|[[[
||||||||||De
@dE[[[0[[[)[[[
[[[De0dK[[[0
dE[[[2[[[-[[[
[dE[[[2[[[7[[[
De@ 3dw|
d||[e||3e||
de5EeuP1d
dE[[[6[[[
de6Qecebd
']dE[[[7[[[
@dE[[[9[[[8[[[
d][[[E[[[a[[[
DeactivateActCtx
deadlock would occur?
dEagIkgfG
D[EAJZLPD
deA[[[O[[[L[[[j
deA[[[v[[[a[[[I
deB[[[-[[[![[[
deB[[[8[[[
@DEBD|6B[
dE[[[B[[[G[[[
D@EBKFFB
D_E[[BOYYZX_ZKAX
D@EBPOH]
DEB]]S]JJPJ_LMC[P
.debug_abbrev
.debug_aranges
DebugBreak
DebuggableAttribute
DEBUGGED
debugger
DebuggerNonUserCodeAttribute
debugger_scrubbed
DebuggingModes
.debug_info
.debug_line
DebugMessage
DEBUG privilege is disabled
.debug_pubnames
.debug_pubtypes
.debug_str
debug_stripped
deB[[[W[[[y[[[
de_[[[C[[[@[[[
'dE[[[C[[[@[[[
deC[[[5[[[4[[[
[DEC[BDY
DE@CDEXAJYC
DECDZ_F@
December
Decision
DecisionLoad
Decision Tree workload has not been initialized.
Decision Tree workload initialization successful.
decltype(auto)
DecodeBase64W
DecodeHtmlEntitiesUtf8
DecodeParms
DecodePointer
decodeuri
decodeURI
decodeuricomponent
decodeURIComponent
decodeURIComponent() is not a constructor
decodeURI() is not a constructor
.decompress
Decompress
DECQASCQY
DECQS_Q_LN
?_Decref@facet@locale@std@@UEAAPEAV_Facet_base@3@XZ
DECRYPT 
DecryptData
DecryptFileW
d[[[[e?_d
[[[De]d@[[[
DEdB[[[:[[[
DE@DBCSKL
dEdB[[[q[[[
_DE_@DGQ
Dedicated to compute tasksE
Dedicate to graphics-only tasks
DEDUPE_SCOPE_ALL
DEDUPE_SCOPE_EVENTLOG
DEDUPE_SCOPE_SENSE
DEDUPE_SCOPE_UI
|@deeeeeeeHh
DEEF:FFX
D@EE@FGH@[L
d)))EEH]@FG
deE[[[M[[[
deE[[[][[[N[[[
DEE]NXC_
deep_analysis
deep_apicall_limit
deepscan
[D]EEQJC[
[DEEX]@GSN
dE[[[E[[[y[[[Ah_d][[[D[[[z[[[F
D@EE@ZLJFGMZ
d[[[[#.Ef
deF[[[3[[[7[[[I
                 default:
defaultaction
?DefaultAction@Button@DirectUI@@UEAAJXZ
?DefaultAction@Element@DirectUI@@UEAAJXZ
DefaultBrowser
DefaultBrowsers
DefaultDllImportSearchPathsAttribute
DefaultFoldersInfo
defaultgatewaymac
defaultgatewaymac_scrubbed
DefaultIdentityWLO
default installer capabilities flagWWW(
defaultInstance
Default List Export optionsWWW
defaultNamingContext
Default Paragraph Font
Default plugin set is missing in configuration profile! Aborting run...
DefaultSpecialRegistry
defaultString
Default value.
DefaultValue
Default view optionsWW"
defaultWWW'
DEFBKNN_M
d[[[ef'eA[[[
Defender_Engine_AMSI_IEV_Ignored
Defender_Engine_AR_AMD_Expensive_ArUeUfiScan
Defender_Engine_AR_AMD_SPIROM_IllegalFormat
Defender_Engine_AR_AMD_SPIROM_ReadSuccess
Defender_Engine_AR_GetBiosFlashInfoFailure
Defender_Engine_AR_ReadFlashRomFailure
Defender_Engine_AR_SkipUefiScan_LockFail
Defender_Engine_AR_SPIRBarReadFailure
Defender_Engine_AR_SPIROM_IllegalFormat
Defender_Engine_AR_SPIROMReadSuccess
Defender_Engine_AR_Unsupported_SPIReadPlatforms
Defender_Engine_AttributePersist_ContextCountCap
Defender_Engine_BloomFilter_InvalidCacheVersion
Defender_Engine_BloomFilter_OpenFailure
Defender_Engine_BloomFilter_QueryEaFailure
Defender_Engine_BloomFilter_QueryEaInvalidLen1
Defender_Engine_BloomFilter_QueryEaInvalidLen2
Defender_Engine_BloomFilter_QueryEaInvalidLen3
Defender_Engine_BloomFilter_SysIoFailure
Defender_Engine_CachedSDN
Defender_Engine_CI_Untrusted
Defender_Engine_CloudMoacRevokeFailure
Defender_Engine_CloudMoacRevokeSuccess
Defender_Engine_DirectedOnUnknown
Defender_Engine_DirectedScan
Defender_Engine_DLPGetDataFailed
Defender_Engine_DLPInitFailed
Defender_Engine_DLPSetConfigFailed
Defender_Engine_Enterprise_Signed
Defender_Engine_Exclusion_Dropped
Defender_Engine_Exclusions_PathType
Defender_Engine_Exclusions_Process
Defender_Engine_Exclusions_ScanTrigger
Defender_Engine_Exclusions_ScanType
Defender_Engine_ExecuteHintNoSkip
Defender_Engine_Expensive_ArScan
Defender_Engine_Expensive_ArUeUfiScan
Defender_Engine_Global_Exclusions_Updated
Defender_Engine_InternalDetection
Defender_Engine_InvalidAttribute
Defender_Engine_Loaded
Defender_Engine_MatchedAttribute
Defender_Engine_PUA_XclLoad_AttrMapErr
Defender_Engine_PUA_XclLoad_BadBlob
Defender_Engine_PUA_XclLoad_DBErr
Defender_Engine_PUA_XclLoad_DeserializeFail
Defender_Engine_PUA_XclLoad_UserdbNA
Defender_Engine_PUA_XclMaxAllows
Defender_Engine_PUA_XclSave_DBErr
Defender_Engine_PUA_XclSave_SerializeFail
Defender_Engine_PUA_XclSave_UserdbNA
Defender_Engine_ReportInternalDetection
Defender_Engine_SandboxError
Defender_Engine_SandboxError_ClientStatServer
Defender_Engine_SandboxError_CreateContentProcess
Defender_Engine_SandboxError_CreateStartupAttrs
Defender_Engine_SandboxError_DeriveSid
Defender_Engine_SandboxError_GrantAccessCache
Defender_Engine_SandboxError_GrantAccessDb
Defender_Engine_SandboxError_InitRpcClient
Defender_Engine_SandboxError_InitRpcServer
Defender_Engine_SandboxError_InstallCP
Defender_Engine_SandboxError_InstallStub
Defender_Engine_SandboxError_LoadStub
Defender_Engine_SandboxGenerateSupportLog
Defender_Engine_SandboxGenerateSupportLogFailed
Defender_Engine_SandboxGlobalEvent
Defender_Engine_SandboxLoadBlob
Defender_Engine_SandboxNoAppContainer
Defender_Engine_Sandbox_NoDatabaseCache
Defender_Engine_SandboxRemoveBlob
Defender_Engine_SandboxSetClientConfig
Defender_Engine_SandboxSetClientConfigFailed
Defender_Engine_SandboxSubmitRequestFailed
Defender_Engine_SandboxUpdateSettings
Defender_Engine_SandboxUpdateSettingsFailed
Defender_Engine_SMS_Attribs_Dropped
Defender_Engine_SysIOFileID
Defender_Engine_SysIOFindRaw
Defender_Engine_SysIOFindRawDiff
Defender_Engine_SysIORaw
Defender_Engine_SysIORawAndVSS
Defender_Engine_SysIORawAndVSS_Direct
Defender_Engine_SysIOReopen
Defender_Engine_SysIOVss
Defender_Engine_TaintNoSkip
Defender_Engine_ThrottledArScan
Defender_Engine_TrustSignature
Defender_Engine_UsingSandbox
Defender_Engine_ValidateNonPE_CAB
Defender_Engine_ValidateNonPE_Large
Defender_Engine_ValidateNonPE_SSF
Defender_Engine_WintrustPreloadFailed
Deferred scanning policy
DeferWindowPos
'D'E'F'G'H'I'
D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?1
D@E@]F[H
DefineDosDeviceW
Defines registry value types.W
Defines the types of file repositories that can be created.WWW;
Definition propertyWWW
deF[[[][[[j[[[
DE[FO[MX]Q
deF[[[u[[[t[[[
DefWindowProcA
DefWindowProcW
deF[[[w[[[v[[[
deF[[[X[[[v[[[
deG!4dyt
D_E]GDYKL][
#dE[[[g[[[e[[[2
De?gfGGG
_DEG[KKP
D[]EG_QMJQX
deG[[[X[[[N[[[4
DE[GZGQG[G[G_QGO
d'eGZrt(
_dE[[[H[[[
deH[[[G[[[
DEHGHGP[C
D@EHGZ]HOO@GN
DEHK[BSJZNJ
D]EHK@PH[DL]AFM
D]EHK@PH[@M
DEHNA]@DPFS
DEHNCAPS
deH[[[R[[[Q[[[
deH[[[S[[[R[[[
dehydrator.h
d[[[[EI"dg
deI[[[@[[[F[[[
deI[[[F[[[E[[[p
de[[[[I[[[H[[[
deikimhhm
deI[[[L[[[G[[[
deimpersonatortests.cpp
DeinitMapiUtil
DeinitMapiUtilIdl
DeinitMapiUtilIdlWWW
[dE[[[i[[[o[[[
deI[[[_[[[Q[[[
deI[[[|[[[s[[[P
deI[[[_[[[V[[[
deI[[[X[[[J[[[
deI[[[X[[[N[[[
deI[[[X[[[O[[[
deI[[[y[[[
DEJEALSDODDQQOX
DEJ[FZFO]
DEJKAPYZ
DEJLA[CDDYH
deJ[[[X[[[][[[
deJ[[[X[[[D[[[;
dE[[[K[[[
deK[[[B[[[
DEkgqggte
deK[[[X[[[
deK[[[X[[[P[[[#l
deK[[[X[[[Q[[[#l
deK[[[X[[[W[[[#l
deL[[[:[[[
D||*E||l
DeL[[[4[[[
(delayed)
DelayLoadFailureHook
delay_load_imports_inside_image
DelayUntilReboot
DELBAZYK
DEL]D_]_HJ[XM
dE[[[l[[[e[[[
Delegate
 delete[]
DeleteAce
DELETE AmsiFileCache;
DeleteAppContainerProfile
DeleteAsync
DeleteAtom
DeleteBitsJob
?DeleteChAt@WSTRING@@QEAAXKK@Z
DeleteCriticalSection
DeleteDC
DeleteFile
DeleteFileA
DeleteFileW
DeleteFolder
DELETE FROM AnomalyInfo;
DELETE FROM AnomalyTables; DELETE FROM AnomalyInfo;
DELETE FROM AtomicCounters; 
DELETE FROM BmFileActions;DELETE FROM BmFileInfo;
DELETE FROM BmHipsRuleInfo;DELETE FROM BmProcessInfo;
DELETE FROM NetworkIpFirewallRules;
DELETE FROM NetworkIpFirewallRulesOutgoing;
DELETE FROM ProcessBlockHistory;
DELETE FROM RollingQueuesTables; DELETE FROM RollingQueuesValues; 
DELETE FROM RollingQueuesTables WHERE (Name NOT IN (SELECT DISTINCT EntryTable FROM RollingQueuesValues)); 
DELETE FROM SdnEx;
DeleteGlobalMpAttribute
delete.hpp
DeleteIEHistoryUrlCacheEntryA
DeleteImcFolders
DeleteImcRegistry
DeleteImDriverFilesAndFolders
DeleteMenu
DeleteObject
DeleteOldImcEventManifestTasks
DeleteOldIMCFolder
DeleteProcThreadAttributeList
DeleteProfileWWW
DeletePropsW
DeleteProviderWW
DeleteRegKey
DeleteRegValue
DeleteReparsePoints
DeleteScopeNodeWL
DeleteSelectionWL
DeleteService
Deletes the selected items*
Deletes the specified scope nodeWW
DeleteSubKeyTree
DeleteTimerQueueTimer
DeleteValue
DeleteVolumeMountPointW
deleting active critical section
DELFINJECTRSRC 
DELJGHB]
dellllllllmllllOllylm
DEllllllllmllllOllylm
DEllllllllmllllOllylmk
DelService
deltatsc
DELXOKCDPMP]NZKSAS]MKPEMQZYG
deL[[[X[[[_[[[s
D[@ELYSLBMK
dE[[[M[[[A[[[
DEMCPO_X
DEMDMX]@NLHMZ
DEMEQZEM_O
DEMHLXYLA
]DEMKASM
d@''eMQvd
DEMSES[H]MKHMYKX]L
deM[[[X[[[_[[[ 
dE[[[n[[[
DEN_BY_CL
d|eN[[[C[[[E[[[
DENCGJMAB
deN[[[_[[[H[[[
DENJD[@QN_HCQSHK
[[DE]NN_[AA]GK
dense_rank
de@[[[O[[[@[[[
de[[[[O[[[|[[[
dE[[[o[[[d[[[
DEOHBLL[[
dE[[[P[[[
DEPDAE@H@OH
dependencies
Dependencies
DependencyId@
DependencyStatus
DependencyWW
DependentFile
DePExRDyPcQS
D]]EPGPMC[LY]YNY@
[dE[[[P[[[I[[[
deP[[[I[[[G[[[
DEPKPQH@
de][[[_[[[P[[[L
DeploymentUnit
deploy_sa.cpp
Deprecated
DeprecatedCmdHstrLowfi
deprecatedipv6destination
deprecatedipv6source
Depth limit reached
deQ[[[a[[[
deQ[[[l[[[
DEQMNGQZ[HPBSJXMJJG
deQ[[[][[[V[[[
de_[[[_[[[r[[[
de@[[[_[[[R[[[
_dE[[[R[[[
d[[[[ER3dO
DeregisterEventSource
DeregisterIdleRoutine
DeregisterIdleRoutineIdl
DeriveAppContainerSidFromAppContainerName
deR[[[K[[[M[[[
dE[[[R[[[Q[[[p
deS[[[][[[
d|eS[[[7[[[5[[[
Describes a generic command which needs to be executed as part of the installation.WWWO
Describes the assemblies that should be replaced by the owner assembly@
Describes the files that need to be registered after the installation is done.3
.description
description
Description
 DescriptionWx
desc@type
DeselectL
Deserializes a CMI object from the given sourceWWW0
desiredAccess
deS[[[j[[[o[[[
desktopaccess
DesktopBehavior
Desktopcomponent
desktopconfig.cpp
desktopconfig.h
desktopname
desktopname_scrubbed
deS[[[_[[[L[[[]
deS[[[_[[[M[[[]
DESQAQKHCJYGO
DESQYBPQS
deS[[[_[[[R[[[
dE[[[s[[[r[[[
Destination
destinationaddress
DestinationAddressHigh
DestinationAddressLow
destination address required
destination_address_required
destinationaddress_scrubbed
DestinationDir
destination file name
destinationip
destinationip_scrubbed
destinationnetwork
DestinationPathW
destinationport
DestinationPort
destinationType
DestinationWp
DestroyAcceleratorTable
?DestroyAll@Element@DirectUI@@QEAAJ_N@Z
DestroyCursor
?Destroy@DUIXmlParser@DirectUI@@QEAAXXZ
?Destroy@Element@DirectUI@@QEAAJ_N@Z
DestroyElementWW
DestroyEnvironmentBlock
DestroyIcon
DestroyMenu
?Destroy@NativeHWNDHost@DirectUI@@QEAAXXZ
DestroyPhysicalMonitorInternal
DestroyPrivateObjectSecurity
DestroyPropertySheetPage
DestroyW 
DestroyWindow
?DestroyWindow@NativeHWNDHost@DirectUI@@QEAAXXZ
deS[[[X[[[H[[[]
deS[[[X[[[Q[[[
DetachUnloadFilterDriverInstances
DetailsW
DetectedFriendlyLimit
detected realloc leak
DetectedResourceCount
DetectedResources
detected vfo leak
detecterr
detection
?Detection:
Detection
DetectionData
Detection.DetectionName
DetectionDropped
DetectionFilter
DetectionFriendlySuppressTelemetry
DetectionInfo
detectionname
DetectionName
DetectionNoTelemetry
DetectionOrigin
DetectionOverflow
.detection_recording
.detection_recording_cache_number_of_records
.detection_recording_cache_purge_frequency
.detection_recording_cache_timespan
.detection_recording_override_throttle_reports
.detection_recording_report_compression
.detection_recording_report_only_min_number_of_records
.detection_report_type
detection_report_type
DetectionsCount
DetectionSource
DetectionSpecific
DetectionState
.detection_string
DetectionTime
DetectionType
DetectionUser
detectordefs.h
detectorerrors.h
.detector_list
detectorresult.h
detectorresultwriter.cpp
detectorresultwriter.h
detectorresultwriter.stub.cpp
detectorrunner.h
detectspyware
detects_virtualpc
detects_vm
detects_vmware
detectutctime
determination
deT[[[M[[[g[[[
detokenizerinstance.hpp
@DE@UB[s
deU[[[T[[[
deU[[[t[[[k[[[1
dE[[[u[[[t[[[o
deUUGUU]
deU[[[v[[[
!dE[[[v[[[
devDescr
DevFreeObjectProperties
DevFreeObjects
DevGetObjectProperties
DevGetObjects
[dE[[[v[[[h[[[
Deviation
Device Attached
Device Attached To Default Domain
Device Attached To Domain
Device Attached To NULL Domain
DeviceCharacteristics
DeviceComparer
Device Detached
DeviceDirtyFlags
Device Domain Created
Device Domain Deleted
devicedriver.cpp
devicedriver.h
devicedriver.hpp
DeviceEditor
deviceEditors
DeviceHandle
device_hi
deviceid
DeviceId
deviceid_scrubbed
Device implicitly Attached
deviceIndex
DeviceIndex
deviceInfoData
DeviceInfoData
deviceInfoSet
DeviceInfoSet
DeviceIoControl
deviceio.cpp
device_lo
DeviceLoad
devicename
deviceName
device_name_mapper.cpp
device_name_mapper.h
device_name_mapper_test.cpp
devicename_scrubbed
device or resource busy
DevicePath
device_PropertyChanged
__DevicePtr
DeviceType
DeviceUnload
deviceWokeUp
devirtualizer.cpp
devirtualizer_errors.h
devirtualizer.h
devirtualizer_interface.cpp
devirtualizer_interface.h
devirtualizer_ut.cpp
dE[[[v[[[j[[[
d|eV[[[S[[[W[[[
deV[[[X[[[@[[[
deV[[[X[[[A[[[
deW[[[.[[[
deW[[[E[[[
d|eW[[[R[[[Q[[[j
[dE[[[w[[[v[[[LOYd
deW[[[X[[[G[[[
@DE@XE9@OEBWgsBOI9	Aa
D_EXGSSENBB
dex[[[H[[[
DEXHG_A]
dex[[[_[[[i[[[
dex[[[][[[m[[[
dex[[[M[[[h[[[
deX[[[M[[[o[[[
DEXPGS[A
de][[[X[[[P[[[L
dex[[[_[[[q[[[
de@[[[X[[[R[[[
d|ex[[[S[[[M[[[
dex[[[U[[[
dex[[[X[[[|[[[
dex[[[X[[[k[[[
dex[[[X[[[M[[[M
dex[[[X[[[r[[[
dex[[[X[[[w[[[
deX[[[X[[[w[[[
:DEx|xxw
DEXYXBHQN
DEXZLBZS
DEYJQZXN
deY[[[P[[[|[[[
dE[[[y[[[x[[[
deY[[[X[[[u[[[
dez[[[_[[[
]dE[[[z[[[
_dE[[[z[[[
dez[[[D[[[
d[[[[EZDd
deZ[[[L[[[
]DE@Z]LG
]DE@Z]LG))
]DEZLZDSZSAJ
deZ[[[N[[[
[DEZSZHBSOQ
[DEZSZHBSOQPSB
dez[[[T[[[y[[[)
deZ[[[X[[[V[[[2
deZ[[[z[[[
[d@[[[f[[[
_d[[[[f[[[
_d][[[f[[[
d[[[[f[[[
d][[[f[[[
d_[[[f[[[
.dF[[[;[[[
?.dF[[["[[[![[[
d[[[[F[[[
d_[[[F[[[
dF[[[([[[
D.(f][[[
d(f2j*l2n
?.dF[[[6[[[
dF[[[6[[[
dF[[[:[[[8[[[
Df9Z-dsi
_dF[[[A[[[
dF[[[A[[[d[[[
DfA[[[e[[[
dF[[[A[[[E[[[q	
DF_[AF_KA
DFAHDDHM
DFANF_ZN
DfA[[[R[[[
DFAX_SCH
DFA@]ZAHG]
df:@@@@B@@BLp@
DFB@GNCHP
@dF[[[c[[[
DF[CASOZBG
")))DFCF
dFCFcZk@GM@GNZjELHG
;)))DFCFvK@GM@GNZ
D[FCJJSCN
DFCLBN[]HNBPSSP
dF[[[d[[[
DFDD[O]K[
D:fdL[[[
DFDLG]ZCF
_DFDOGA]
DFDSYCSHA]
DFdz[[[0[[[6[[[
dFEF]L[HL
dF[[[F[[[
DF]FALEEF
DFF[ALGHYYZ
DFFEHHM_
#)))_D]FFEZM
_D]FFEZM
#)))DF]F[FEH
DF]@FGLPLJE@LG]
DF]@FGYF[][H@]
DFFGZA@GL
DFFGZJ[@Y]))
DFFHADJXM
	)))DF]FJAFYYL[
DF]FKLEDF]FZ
DFFLPGKQ
DFFMZJHGGL[
dFFMzJHGGL[hJ]@_@]P
dFFZAHBL
dF[[[G[[[
Df@[[[g[[[
[)))DFG]AZvHEE
DFG]AZZAF[]
dfGbIPHtD3
DfG[[[D[[[y[[[W)
D]FGE@GF
dFg@eYskd
DfgfG3C:
DfgfG8)P6]Y]]
_DFgfGuRm	gqgg-
DFgfGxo1
DFGF[H@ELNPY]
DFGFJA[FDH]@J
)))DFG]HGLY[FYL[]@LZ
DF[GJ_M__D
DFg[kgfG
DFGL[FAHZA
DFGL[FD@GL[M
dFGL[FfJLHG))
DFGL[FFJLHG
DFGL[FFJLHGvD@GL[
DFGL[FYFFE
@DFGLGF]L
DFG]LGLN[F@G_LZ]@GN
DFGL[N@ZDKFFBZ
.)))DFGLP
])))DFGLP
dFGLPDHNGL]hJ]@_@]P
DFGLPDHNGL]@J
DFGLPDHNGL]@JZ
DFGLPKHEHGJL
DFGL]@SH]@FG
DFGMJEBZ@NOZB
DFGM@S@HrYL[DHGLGMF
DfG[[[n[[[
DF_@GNML]LJ]@FG@G]L[_HE
dfG	P!pgqgg
DFGQ@ZB]YA
DFGSPSJY]ZSCLDZAPOAJ
dF[[[H[[[
dfH[[[0[[[
DF[]HEBFDKH]
DF[HEZZZ
dF_HG@ML
dF_HG@MLk
DF[HGPHG
_DFHJBOPS
dF[[[I[[[p[[[[C9dz[[[H[[[s[[[
dF[[[J[[[
Df_[[[j[[[
DFJFGKFQ
D]FJK@]_PJM
DfJ[[[o[[[
D[]FKAHYBZ]X
DFKCPPPLJ
d)))FKCZALEE
DFK@DLG]F
DFK@EJHZA
DFK@E@]L
DFK@ELDL[@]
DFK@ELDLG]F[
DFK@ELELMNL[
DFK@ELF[N
DFK@ELHYYEFHML[
DFK@EL][H@]Z
DFK@ELJFG]LG]
DFK@EL_@MLF
DFK@ELML_Z@]L
DFK@ELUU
DFK@ELvZHDYEL
DFK@ELXX
DFK@ELXXXX
DFK@ELZHOL
)))@DFKE@OL
DFK@]FK@
DFKFYEHP
D[FK@GZFGiDPKHGBL[ZKHGB
DFKN@SYHDOJLC
DFKQ[KEHPD
DFK@YL[O
DFK@ZJHGGL[
DFK@ZPZ]LDZ
dF[[[l[[[
")))DF_L
:)))DF_L
)))DF_LDK[
dF_LDKL[kg
DF_LDKL[KG
dF_LDLD))
DF_LDLG]
DF[LEFJHELZ
DF_LEHZ]
)))DF_L]F
;)))DF_L]F
DF_@L[FE
DF_LGLQ]
DF_L[HGMYHJBL[D_Y
dF_L[hJ]@_@]P
DF_LJFGGLJ]Z
DF_@LJFMLJ
DFLK[LHB
DF[L]LH[Z
DfllllllllmllllOllylm
DFllllllllmllllOllylm
DF_LO@EL
DF_LO@ELYH]AYHM
DF_LO@[Z]
DFLPHGPDOCH
dflt_value
DF[LvFG@FG
DF[LvLNNZ
DF_@LZJ@GLDH
DF@[LZLG]@JL
DF_L@Z]L[[[H
DFMBGAKA
@DFMBLPZ@SL
DFMHDFFF
DF[MHJ@]P
DFML[GJFHZ]Z
DFML[G@S[
)))DFMLJFDY[LZZEL_LESQE
DFMLvJKJ
DFMMFFXBP
DFMOHEMF
dFM@O@HKELyH]A
dFM@O@HKELyH]A))
DFM@O@HKELYH]A
DFM@O@JH]@FG
DFM@O@LMKHZL
DFM@OPAY
DFM@OPMZ
DFM@OPvO@ELv@GYEHJL
dFM@OPzL[_@JL
DFMvEFN@G
DFMvZ]H]Z
!)))DFMYHZ
DF[M@Z]L[
]DFNDKBCZSG
d[[[[f[Nf
dFNFz]H[]
D[FNHEZB@
DFN@KLKKC__
dF[[[N[[[M[[[
_dF[[[o[[[
(dF[[[o[[[g[[[
)))DF[O@JFML[
D[FOJKAC@GSS
DFOLFPSO
DF]@OMLDFZ
_dF[[[o[[[n[[[
DFOZL]KHP
	dF[[[p[[[
]dF[[[p[[[
dF[[[P[[[
dFpgppepqe
DfpgppepqZ
DFpgqggspS
DFPHJKMNHBKB]LOA
DFPKBBJL
DFPLQKYB
DFPXALF@YOYS[PAN]XP
Df_[[[][[[Q[[[
DFQCEJYAHZH[SJBD
DF[][QE]
DFQGXNHXE
DFQNOF@BP
dF[[[q[[[p[[[
Df_QsSRSS9
dF[[[Q[[[W[[[
;dF[[[r[[[
-dF[[[R[[[
dF[[[r[[[q[[[
dF[[[R[[[U[[[
dF[[[|[[[s[[[
dF[[[S[[[
DFSCSJBKGZLL]A
)))DFS@EEH
DFS@EEH))
DFS@EEHO@[LOFQ
)))DFS@EEHO@[LOFQuNFFNELJA[FDL
DF[SFK_F
DfspVersion
df][[[S[[[R[[[7
.)))DFSS
DFSYA_SY
DFSZP@MA
dF[[[t[[[
d[[[[FtCg
d[[[[FTId
dF[[[T[[[J[[[
DFT.trace failed (ERR_DFT_NOMEM)
dF[[[u[[[
dfU[[[5[[[
dfUBVgcQULYsSSS
dFUBVgCQULYsSSS
dF[[[U[[[C[[[
dF[[[U[[[L[[[
dF[[[V[[[
;dF[[[W[[[
(dF[[[X[[[
Dfx[[[	[[[
D[FXHGHSKQ
df:@@@@]Y]]
dF[[[y[[[
DFYGM]O[]
DFY_JHL_
)))DF[YLFYELE@OL
D)))FYLG
DFYMA[MBSXEHMMMJP
DFYQ]CCCZEXGS
DFYYG_ANGHMYB@
DFYZP_GK
)dF[[[Z[[[
dfZ[[[1[[[
DFZA@DFZA@
D)))FZALEE
)))DFZLEL][FG@JFZ
)))DFZMFLYOP
DFZZ]ALMXNYML
[d_[[[g[[[
 d][[[G[[[
]dG[[["[[[
d@[[[@[[[G[[[
dG[[[.[[[ [[[
dG[[[?[[[
|||DG|||
d"G0jggw
[dg1bgfG
dg1jgfGm
dg2Ne.B[dN
Dg3agfG2
Dg3ggfG9
dG[[[5[[['[[[
D*g5ggfGy
dg7bgfG8)
dg7cgfG(
dg7egfGme
|dg7egfGx'
Dg7fgfGTa
dg7kgfG!
.dg7mgfG
dg7mgfGt[
dg7rgfG8
dG[[[8[[[7[[[
D@[g9Lggw
d@@@@@g@@A@AFac
DGADCFEQLQM
D*gAgg23
DgAggaUC
DgAggS*y
DgAgg	TWx
D@GAHO@GHGJH
	d|gAjgfG
DGANGOYM
DGAP_@ZLFGOQ
DGAXDBBA
dG[[[b[[[
]D[_GBA]C
DGBAQ[LSMSJQ
(dGb;dxl
DGB@E]LFP
d]g'bgfG
	dg[bgfGH
D@G@BH[H
d@G@bLPZ
DGBM]MPAY@ZOC[FOO
DGBO@_QPXH
DGBZYOFJZ
DGBZZHMEMBJ][
DGCAH_BK
DGCBOJOXAAQ
DgCegfGI9
[(dgcigfG
D_gCkgfG
DG]C_]PDDJ
DGCSAJC]FZ@QJHFB[SO
DgCugfG;#
dG[[[d[[[
[DGDCABPYQ
DGDCOMXMX
DGDDDDG[D[D
DGDGDKAGX_
Dg#dgfG?
DGD[HBKOX]OG[M[@L_
D@G@DHE]FMF
Dgd)I[dG
]D_GDJGD_AN
 d#"gdJV
DGDMJCSEPXNPZ
DGDOKNH[Y
D@G@D@SL
D@GDZLMNL
d||ge||2e||
D_GECJJYZ_KGD
DgedggGt
d@|gEegfG5l7
(dgeegfGD
DG]EF[[BFO
DgEFgfG-n
DgefgfG:	u
:dg]egfG
d(g?egfG
D])g'egfG!
D@G@E@GX
|DgEkgfG
DGEPGPOD_HAQ]ME
DGEQJBPFCY_GB
[d_[[[G[[[F[[[
_d@[[[G[[[F[[[
d)))@G_FBL
DGFCQZ]XY
dgfG#04|gqgga
dgfG1ScMgqgg
dgfG@3MjgqggX
dgfG4ci.gqggE
dgfG5BOogqgg
dgfG_[6*gqgg
dgfG7#I!gqggI
dgfG(8M#gqggQ
dgfG93vpgqgg
dgfG9'PvgqggX
dgfG9:s5gqggP
dgfGAe;Ggqggy
dgfGAh6hgqgg
dgfGA?#xgqgg
dgfG"Blugqggy
dgfG)Bo1gqgg
dgfGBo8kgqgg
dgfGC0vMgqgg
dgfGCC;JgqggaFF
dgfGcd9Tgqgg
dgfG"];cgqgg
dgfGcH?#gqgg
dgfGc')mgqgg
dgfGC?swgqggT
dgfGCt2Igqgg
dgfGd?Lrgqgg
dgfGd)_Ogqgg
dgfGebA6gqgghO:s
dgfGEDzpgqgg[
dgfGe]UXgqgg
dgfG*F1Sgqgg
dgfGFanTgqgg
dgfGfd(pgqgg
.dG#fgfG
dgfG!!f;gqgg#
dg	fgfGQT
dgfGFk|tpD3
dgfGFn0egqgg
dgfGFnkEgqgg
dgfGG9!Jgqgg
dgfGGC_zgqgg
dgfG].) gqgg
dgfGH6MNgqggeK
dgfGh (agqgg
dgfGhinugqggX
dgfGhix(gqgg
dgfGHsUMgqgg
dgfGIfYzgqggX
dgfGIGpMgqgg
dgfGIqdVgqgg
dgfGiwoPgqggl
dgfGj8i'gqgg
dgfGjNqBgqgg
dgfGjQh	gqggy
dgfGjs@Ugqgg
dgfGJT22gqggj"@
dgfGK9l?gqggI
dgfG'-kAgqgg
dgfG*kaQgqggZ
dgfGK*Irgqgg
dgfGKZE]gqgg
dgfGL.mHgqgg
@ dgfGlQedgqgg
dgfGM1llgqggX'h
@dgfGMcmWgqgg0
dgfG.MvKgqgg
dgfGn_2'gqgg[h
dgfGN kAgqgg[
dgfGo0wIgqggt
dgfGo8JGgqggZ
dgfGo8KRgqgg-Y
dgfGo_qWgqgg
dgfG	*Ovgqgg
dgfGP[B"gqgg
dgfGp_hEgqgg
dgfGQ*0Hgqgg
dgfG''|qgqgg
dgfG:RIdgqgg
dgfGRl7"gqggQ
dgfGs|_(gqgg
dgfGsH3ngqggw9
dgfGsQ1Xgqgg
dgfGs:r!gqgg
dgfGsx0ugqgg
dgfG'sx*gqgg
dgfGTmp2gqgge
DgfGtYPdgqggv
dgfGU5D"gqgg
dgfG;Uf	gqggn
dgfGULSvgqgg
dgfGUxnRgqggv
dgfGUY9Ggqgg
dgfG"uZygqggo
dgfGv6k(gqggX
dgfGVBM#gqgg
dgfGv_"lgqgg
dgfGvwbogqggX
dgfGVz|dgqggA
dgfGwMsQgqgg
dgfGw(Xbgqgg
dgfGX#RzgqggX
dgfG@Xu[gqgg
dgfGXupmgqgg
dgfGYLNqgqgg1Na
dgfG.y.tgqggs
dgfGZ[Augqgg
dgfG	z-d
dgfGZEF#gqgg
dgfG(@*Zgqggv
dgfGZs10gqggj"@
dgfGzt!ugqgg
DGFHS]_A
DGFLPJYJY_SGY
DGF]LYHM
D@GFMKJwJFGwO
dgfw"@5t
dgfw?b1Fa
dgfwqVYe
DG[FZO]H_QK]ZHPJS
_dG[[[g[[[
dG[[[@[[[G[[[C[
	dggegfG
dgGegfG?
DgGegfG_5;
DggegfGk3d
()DggfG3!
'd:gGfgfG
DGGFOPKH
dggfw3fC
dggfwJmB
dggfwkpE	1
d]g)ggfG[
Dgggfw-3
dgGggfGL	
-Dg#gggw;u
D@G@GNDFGL[F
dggogfG'
:DggogfG
dg)gqggN
dggw:#y- 
D]G_HAJJNJP
DGHDENSMZMC
DG]HEY@GLJA[FF]
(([D@GH]F[
((D@GH]F[
DGHGE[YM
d#g!hgfG
!Dg;hgfG
D@GHJE@LG]
DGHJ[XNY
D]GHQMYPA@
DGHY[JQXQ
DgI[[[6[[[5[[[X
.d[:(g'i'd
d!gifgfG
d	giFgfG
Dgiggfwwe'
dG[[[j[[[
dG[[[J[[[
d@G@jALJB
DGJDE]JN
DGJ_DF_AGLPH
d@GjDM))
d@G@JFDDHGML[
d@GjFDY))
D)))@G]JFGCZJ
dg-jgfGB
]DGJHLYQN
DGJHP@AQEJQBDEF
DGJJG]QFJ
]DGJKYFF
DG]JNBSBCKLXDP
[DGJPOBQXSQMS
_DGJSAYPB
"dG[[[;[[[:[[[k
[dG[[[K[[[
_DGKCCMGN
DGKC]HS_EDELB
dgKegfG!
dgKfgfGet
 Dg?kgfG
d[g?kgfG3
dg[kgfGD
Dg[kgfGI
Dg[kgfGN
dg;kgfGP
Dg)kgfGq
d]gkgggw#w
dgKkgfGFfDRgqgg
DGKP_P_G
DGK]Y_BJDP
DGKYYKEDAZ
DGKZLSGQJEB
dG[[[l[[[
#)))D@GL
')))D@GL[
.)))D@GL[
DGLAD[DOJYZ
DGLAXQKD_APY
]DGLBLLXYO]J
DGLD@GLLE
]_D]GLDM
DGLEB[FQXO
)))D@G]L[FY
D[GLGJP_J
_DGLHDJAOCOCM
D@GL[HELK@
DGLHLE]J
;)))D@GL[HZH
d@GL[jFGO@N
")))D@GLJ[HO]
D@GLJ[HO]
D@GLJ[HO]YL
dGLJIC	DFCov
dgllllllllmllllOllylm
dGllllllllmllllOllylm
D@GL]LZ]
d@GL[mFD))
D@GL[MQD[@NQD[D@GL[DFGL[FQD[
d@GL[nH]L
D@GL[NH]L
DG@LOBCMODLOOKPA
)))D@GL[O@ELLQ@Z]Z
D@G@LQYEF[L
DGLSNP]X
D@GL[vYH]A
D@GL[vZ@SL
D@G_L[Z@FG
D@GL[ZMFB@EE
DgmagfGo7Q
DGMCSMQO
D]GMG9G1G
dg_mgfGDr
dGmggfwtA
D[GMHCJGOH
D@GMLY]A
DGMN[HBN
#DgmpgfG
d';gmvgfG
DGMX[@_FJ
d@GMzYH[B
D@GMZYH[B
dG[[[n[[[
d)))][@GN
DGNCQNCA
d[[[[Gn)de
DGNGG[PLX
DGNHLBDL
)))D@GNK[@EE@HG]]AQ
d@GNKLBH[
DGNONNYZ[
d@GNq@HGc@
D@GNuKLEEH
[DGN@X[K
DGN@Y_[K]K[XHMAC
DGOAZ]ZN
(dgObgfG
DGO[CNLBME[CKNAG]QPQK
|dgohffG
]DG]OJL[KZA@
DgOkgfG.
:DgOkgfG9_
D@G@O@LM
DgOogfGk
dgoogfGV5
DGOOQE]CNNXXN
D@G@OPCZHGMLZJHYL
DGOSBCOAL
DgOwggG*
dgoxgfG!
DGOXPB]Z]QJM
DGOZHCOGK]QOC
DGPDL[EH
dgPdM[[[;[[[8[[[
D_G]@PH[H_AJ
DGPQPEFYBDQGYD
dG[[[p[[[w[[[b
DG_PZJL[
dG[[[Q[[[
DGQBGGPD[
DgQEyAPEL
Dgqgg4:61"gQ
dgqgg7dD
DgqggaVxL!R
dgqgg cA
dgqggcnuD
D]gqggDH
dgqggDl7
d-gqggeL-
Dgqgg']f
[|dgqggfa-
dgqgg'G8i
D[GQGGG)G
d	gqgg[h
-D:gqggI
"DgqggI2
Dgqggj-HX
DgqggK_f
DgqggKSl
d(gqggKu;
DgqggK]Y
dgqggljqg
Dgqgglz]
-dgqggp[
DgqggpNgS
D_gqggPp
	DgqggPV
DgqggrAjQ
dgqgg	rT
-dgqggSg*J:'
d]"gqggStw.
dgqggT1K
DgqggUi!
DgqgguNk
dgqggvOEt
D|gqggvPc
DgqggwB_
dgqggXzEC
dgqggY:y9
DGQHOAXZYL[
D@GQJFwYP
D@GQJFYP
DGQ__JGYGBLX@@JS]KMCBJ
DgQ[[[k[[[
DGQLXLDZON
DGQ_NGA@A
DGQ_@Q_DXB
dgQ[[[Q[[[N[[[
dgR[[[Q[[[
DGRRRRRRQQQQQQQQQQQQQQS[]CB
_dG[[[S[[[
DgS[[[1[[[
DGSAGDYDSC
dgscgfGz
DGS[_@C]O
D[GSDDQ]JDS
d@gSeLmxe i
DgSkgfGk
DgSkgfGq4;
DGSLAKZK
D]G@SMACFMXPPSPPDM_BPCAAPDX
DGS_M[BG
DgsngfGK
DGS@O_JNN]B
DGSQ_BBBSEAMQY
DGSSQYG[
!_dG[[[U[[[
dguegfGI
D]GUG9G5G-G
D|GuG]GWGAGGG
-dguqgfG '.Qgqgg
d[[[[g@vf
D_g'vgfG
DgwbgfGwMa
d-gWCgfG
)DgWdgfG"
D@gWdgfG
!dgWegfG
DgwegfG4 
dgwegfGsTiIgqgg
dg;WgfGV
(dG[[[X[[[
DgX[[[#[[[![[[
DGXEHMJO]BYEYMCS[J]
D@GxPE@GBG
DGXPLO_]
DGXPO]H_OZ[[XY
DGXSPJ[PFKPCPG
')))D@G@XXME
DGXZQESEF
dG[[[y[[[
DGYCSGXMM]
DgyegfGf
D@G@YEHPL[
D@G@YHGLE
DGYH[H@HDD[YD
DGYHXGZC_DE
dgYkgfGM
dgYkgfGz@
dgYlgfGp
D@GYLMFDLY
D@G@YLYYL[
DGYO_B@HZ
d(?Gyyyyy
DGyyyyy9m9yyyq
DGyyyyyyz9yyyQ
DGYZGFHGCDXN
dG[[[Z[[[![[[
Dgz[[[8[[[2[[[
D@G@ZALEE
DGZDXKGOJJ
D@GZE@GNZu
D@G@Z][F
D@GZF[DF[LOF[][HGZHJ]@FGJFGO@[DH]@FG
d:g'zgfG
DGZMCDKLLP
DGZNCPKN
dG[[[Z[[[q[[[4
dgZ[[[T[[[
_dG[[[Z[[[v[[[4
!dH[[[)[[[([[[
")||||d*")||||H
"dH[[[][[[
[[[:[[[::(dH[[[
[[[[[[dH[[[
[[[dH[[[
[[[dH[[[![[[
[[[dH[[[)
[[[dH[[[:[[[-[[[
]dH[[[)[[[
]dH[[[-[[[
||||d|||H
|dH[[[@[[[
dH[[[	[[[
dH[[[-[[[
dH[[[:[[[
dH[[[@[[[
dH[[[_[[[][[[
Dh@@@@@@@@
.)))D@[H@
[[[dH[[[1[[[
[[[[[[dH[[[2
]dH[[[2[[[)[[[s
|dH[[[?[[[3[[[
@dH[[[4[[[)[[[
[[[dH[[[4[[[
|dH[[[4[[[#[[[m
.dH[[[6[[[5[[[
[[[[[[dH[[[7
dH[[[![[[7
[[[dH[[[8[[[
dH[[[8[[[
(dH[[[:[[[8[[[r
dH[[[9[[[
|dH[[[9[[[8[[[w
D; H9A u
dH[[[a[[[
dH[[[A[[[
	)))DH]A
.)))DH]A
?)))DH]A
DHAAHZ]@
DHACFGNN
[[[dH[[[A[[[G[[[p
D_HA_HG[C_CAPM]
dH]Ah[[HP))
DHAHMZBDQNO
DH]AJLMZ
_DHALLCA
D_[_HANZ
DH]A]PYL]@DLZ
D]H[AQDY
DH]A@vHDF[@D
'dH[[[B[[[
dH[[[b[[[a[[[
dH[[[b[[[a[[[_
dH[[[B[[[A[[[
Dh@@@@B@A@
DH@@@@B@A@2 @Jf
)))DH[BAFZ]@GN
][DHBALS]
Dh@@@@BBA@
D]HBBCQ[_
dH[[[B[[[D[[[
)))DHBFZFO]
)))DHB@GLDFMLE
DH]BGNYHN]X@XNKA_[
DH[B@GOF
DHBinariesFilePathsWWW
DHBJG[D@DX
DH]BJS[]ZHG_
DHBLA@[K[[OHY
DHBLDLZZ
DH@BLEYQXNG[]NCMAKMHZ
DH[BL]@GN
)))DH[BL]@GNJFHJA]A
)))DHBL@GOF
DHBL@GOF
DHBL@GZ]HEE
dH[BL]hJ]@_@]P
d)))]HBLHZJ[LLGZAF]FG]H[NL]
[DHBLJ[FGEFJB
)))DHBLJHKJ
)))DHBL]JYJFGGLJ]@FGOF[[L_L[ZLZALEEZFJBL]
DHBLM@[Z
)))DH[BL]YEHJL
DHBL]YENAYPP[SFM
DHBLZAF[]
dHBLZA@O]h
dHBM@JA@
DHBPYDDBJNN
DH[BSFGL
DH[BXK_[J
D]HB@X]SXDM
DH[BYFEHB
)))_DH[BZ
@dH[[[c[[[
dH[[[c[[[
dH[[[C[[[@[[[A
DH[@CCMHB[_
DHCF[BL[GLEYHG@J
DHCF[_L[Z@FG
DHC@HGNE@GBNHDL
DHCKLAQQH[QX
DHCLZ]@J[HO]
DhcpAcquireParameters
dhcpcsvc6.DLL
dhcpcsvc.DLL
DhcpEnumClasses
DhcpHandlePnPEvent
DhcpIsEnabled
DhcpReleaseParameters
Dhcpv6AcquireParameters
Dhcpv6GetUserClasses
Dhcpv6IsEnabled
Dhcpv6ReleaseParameters
Dhcpv6SetUserClass
DHCQB]CNLQ[_NLXQHZXCMEFLXX
DHCYADELCE
DHCZ_FM]KBK
(dH[[[d[[[*[[[
dH[[[d[[[
[[[dH[[[D
dH[[[D[[[
DHD]AJQAP
DHDAYMNY
DHD_[AZZGEOY
DHDEHDKF
dH[[[D[[[f[[[
dHdF[[[s[[[
DHDHD@iN@_DH@E
DH[DHEHMLZBP
DHDHMB@GN
DH[DH[@Z
)))D@HD@[LJPJELJLG]L[Z
DHDM[LPKX_EHAPX_QZ
dHdX[[[Z[[[j[[[
dhdYSSPs
 )))DH@E
!)))DH@E
.)))DH@E
D||H]||E]||
dHEA]HJJLZZ
DHECOMZ@QABXM
]dH[[[E[[[D[[[
dH@EdLZZHNL))
DH@EDLZZHNL
[[[dH[[[E[[[D[[[VE
d)))HEEY[FJHKE@GN
]DHEEY[FQP
__DH@EFG
dHEFKSeBFDHI
d)))_H[EFN@
)))DHEH]
)))DHEH][HML
dHEhJ]F[dHDHD@
dHEhJ]F[jPKF[N
dHEhJ]zLJzALEE))
dHEhMD@GzLJzALEE))
DH@EHNLG]
DH@EHNLG]CH_H
dHEH@]ZH
dHEHZPY]
DH@EJA@DY
dHEjFG]HJ]
)))DH@EKFQ
DH@EKFQGHDL
DH@EKFQ@M
DH@EKFQOFEML[YL[D@ZZ@FG
DH@EKFQYL[D@ZZ@FG
DH@EKvO@Q
DH@EKZ@E_H
DH@E@]LD
DH@EL[E@GB_H[O
)))DH@ELGHKEL
DH@E[LJF_L[LM
dHELO@JhDZ
dHEMFJnLGlZ
DH@EM@ZYH]JACH_H
dHEN@]KF]
_DHENM_JSNPZP[N[Z_YGN
dHEO[DLQ
DH@EOF[D
dHEOF[DLMmFJ
_[DHEOXE
D[HE[P]DA
)))DHEPZA
DHES[PH]P
dH@EvaLHML[
dH@Ev@GvK[HJBL]
DHEvH]][vjALJBzL[_@JLZ))
DHEvH]][vMFDH@G))
DHEvH]][vz]FYzL[_@JLzHOLMFN
DH@EvNDH@E
DHE_XZ[BBENMDKY
dH[[[E[[[y[[[
DH@EYF[]
dH@E[ZDA
dH@EZG@YL[
dHE@ZH@NG
dHEzJ[@Y]
dHEZJ[@Y]
DH@EZL[_@JLHNLG]ALEYL[t
	dH[[[f[[[
dH[[[@[[[F[[[
)))D@HF_@MLF
DH]FN[FZZF
DHFXNYFCP
d||hg||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[dH[[[g[[[
dH[[[g[[[
dH[[[@[[[G[[[
')))DH@G
?)))DH@G
DhGbG1G*G
DHG[DKSDN
)))DHGFAH[OE@HDLG]Z
DHG@]FKH
DHGFZJA@EF]HZ
dH@GgH_@NH]@FGhJ]@_@]P
DHGHJELuu
dH@GhJ]@_@]P
DH@GhJ]@_@]P
dH@GhJ]@_@]Pj
dH@GhJ]@_@]Pv
;)))DHGHNL[
dHGHNLdFG@]F[ZhJ]@_@]P
?)))DHGHNLDLG]
DHGHNLDLG]
DHGHNLDLG]FKCLJ]
DHGHNLDLG]FKCLJ]MZ@Z
dHGHNLjFG]HJ]ZhJ]@_@]P
dH@Gh_]@_@]P
dH@GhYYhJ]@_@]P
DHG@JAF[M
[DHGKELDMONHJOY
DH[]@GKF[CLZZFG
DH@GKFMP
D[HGKSPBZXKX
)))DH@GL[
DHGLDHGL
DH@G]LGHGJL
DH@GLNEHZZ
DH[@GLYH[BLQ]L[D@GH]F[Z
DH[@GLZPZ]LDZ
DHGMH]F[P
DH@GMLYEFPL[
DHGNEFKHEZGMP
DHGNE@ZA
DHGNFGZA@GL
DHGNFZYF]
DH]]GNXX]M@K
DH@GO@EL
dH@Go[FG]hJ]@_@]P
dH@GO[HDL
dHG@OLZ]))
DHG@OLZ]
DHG@OLZ]H]@FG
DHG@OLZ]]LQ]
DHG@OLZ]_L[Z@FG
dHG@OLZ]o@EL)(
DHG@OLZ]v_L[Z@FG
)))DHG@OLZ]YHJBHNLJFD
D]HGONML
d)))HGPJAHGNLZ@GLGJ[PY]LMO@ELZDHPLG]H@EMHDHNLFO]ALY[@_H]LBLPHGM]ALEFZZFOHEEMH]H
Dhgqgg8B
DhGRSSUs
)))DH@GSr
DH@GvD@]D
DH@GvJFDY@ELM
DH@GvLGJ[PY]
DH@GvLGN
DH@GvM@[
DH@GYH]A
DH]GYHSE
dH@Gy[LOL[LGJLZ
dH@Gyz))
dH@GzJ[LLG
dH@GzJ[LLGOF[z]H[]
dH@GzL]]@GNZhJ]@_@]P
)))DH@GZ][LL]K
dH@GzYE@]))
dH@GzYEHZAhJ]@_@]P
dH@GzY[HP
[[[dH[[[H[[[
dH[H]AFG
DH[H]AFGMLEFZHGMLZ
]DHHAYLQM_
)))DH[]HBBF[M
d[[[[H@Hd
DH[HDHHK[FF
DHHG[AXDGKHLMFM_
DHHJYNLX@E]E]J_J]
DHHKHZBL]Z
dH[[[h[[[l[[[
dH[[[H[[[M[[[
DH[HM@SF
DHH]]NCCZNAEG
)))DHHNHPH][@EFN@Z]@JZ
DH[[@HNL
DHHXSMDKZ@Q
[DHHZFQH
dH[[[i[[['[[[
"dH[[[I[[[
|dH[[[I[[[H[[[w
)))DH]JA
dH]JAa@MLH]][@K))
DH]JAELZZ][H_LEZ
DHJAFFBvMHDFG
DHJA@GLBLPDHZ]L[BLPY[F_@ML[
dHJA@GLbLPo@GML[
DHJA@GLBLPZLJ]@FG
DHJA@GLGHDL
DHJA@GL]PYL
)))DHJA@GLv@M
DH]JA@GMLQLZ
DHJAH[@HBHAFGNL
DH]JAJFG]LQ]
DH]JAJFG]LQ]rK@GH[Pt
dH]JAL[hJ]@_@]P
DH]JALZZLELJ]F[
dH]JANL[Y
DHJAOF[D
d)))][HJB@GNJE@JB
dHJBHPzJAFFE
dHJbLLYL[
DHJBLLYL[
DHJBLLYL[HYY
DHJDGZ_J
DHJDGZ_J))
D]HJDSM]DN[X
DHJE[N[LXO
dHJ[FdF_Lo@EL
DHJ[FDHGLGJFM@GN
DHJ[FDLM@H
[)))[DHJ]@FG
D)))HJ]@FG
dHJ[FjFYPmEE
dHJ[F[LGHDLo@EL
dHJ[FlQLjDM
)))DH[J@F@MHE@GF
DHJ[FM@LQJLE
DHJ[FZALL]
DHJ[FZALL]QDEGZ
DHJ[FZALL]Z
dH[JFZm@LS
dHJfzvd@GL[
dHJfzvgLJ[FkF]vh
dHJfzvmgzjahvj
dHJfzvmgzjahvl
dHJfzvmH[]Ad@GL[
dHJfzvnLGL[@J
dHJfzvy@[[@]
dHJfzv|YMH]LhNG]
dHJfzvyPd@GL[
dHJfzvyPdHOBH
dHJfzvyPz]LHEL[
dHJfzvy@[[@]vkq
dHJfzvz@NNLG
DH[JFZYFL[E
DHJ[FZY[LZLG]
DHJ@G]FZA
)))_D[HJ@GN
DHJ@GZ]HEEL[
DHJ@GZ]HEEL[@GOF
d)))HJHMMFJ
dHJhYOLEE
dHJkFFZ]L[
DHJKFFZ]L[
DHJKYKCA
dHJoEPy[F
DHJOEPY[F
DHJQFDM_OG[
DHJQQAPGKD
dHJzA@GP
DHJZA@GP
DHKANYCYXY
dH[[[K[[[C[[[
dH[[[k[[[h[[[
@_dH[[[k[[[j[[[
D||Hk||L]||
DHKLKONYEPL]B
DH_K_NBCLJON
_dH[[[K[[[y[[[
]dH[[[l[[[
_dH[[[l[[[
dH[[[l[[[
dH[[[L[[[
DH]LBH[]L
DH]LEF]LZ
DH[LEKYP
DHLGBXOKXXO
DH]L[@HE]LH]@DL[
DH]L[@HEOK
DH]]@LHYYZ
DHLJZJAOCP[G
d]hllllllllmllllOllylm7
DHLMNZOXAAY]FM
D]]HLMS[
dH[[[L[[[o[[[R
DHLOSC_M
DHLSQ]]X
DHLYZYOF[DYPKD
')))DHL[]Z
DHL[ZBE@GL
DHL[ZBZA@YY@GNE@GL
'd][[[h[[[m[[[
[[[[[[dH[[[m
]dH[[[M[[[A[[[6
DHMDHQDHM
DH[M@GFZ
!)))DHMJHY
dhmleijhm
D]HMNNA_L]ND
DHMSACOKHMB[N[
DHMSGQCC
DH_MXLQEGA
dH[[[n[[[
'dH[[[N[[[
?dH[[[N[[[
DHN_AHKSENA
DHNBHYCCNK[P_XX
DHNBPADKAG]KZSB_XH
DHNDLOGJM@Y
dHN@d@Qo[LL
DHN@D@QO[LL
')))@DHNFMM
)))DH[N@G
DH[N@GAL@NA]
DH[N@GELO]
DHNGFE@HG
DH[N@G]FY
DH[N@GKF]]FD
DH[N@G[@NA]
dHNG@ZFJdLZZHNL
dHNG@ZFJm@HEFN
DHNHS@GL
dHNHS@GLhJ]@_@]P
d@]H[NJ[F
DHN@JFALEYL[
dHN@J|G@JF[G
DHNJGQHPJ][[KESCB
DHN@JHEHKZ
DHN@JLOOLJ]Z
#d)]H[NL]
d)))]H[NL]
 )))@DHNL
")))DHNL
#D)]H[NL]
)))@DHNL
D)))]H[NL]
DHNLEEHGF
@DHNLG]@
@DHNLGHDLLX
@DHNLGHDLLXEZHZZ
@DHNLGHDLLXJDM
@DHNLJFMLJ@GOF
@DHNLJFMLJ@GOFt
dHNLJH[]
DHNLJH[]
)))@DHNLJH[LYAF]FN[HYAP
@dH[[[n[[[l[[[K
@DHNLKHZLHMM[
@DHNLLM@]
')))@DHNL[LZ
@DHNL[LZ
@DHNLMH]H
")))@DHNLN[HK
@DHNLN[HK
@DHNLO@EL]PYL
@DHNLO@ELZ
@DHNLOF[DH]
@DHNLOF[DH]t
@DHNLO[FG]
@DHNLO@LEM
@DHNLvG]vFY]@FGHEvAM[
@DHNLYH]A
D)))]H[NL]YH]A
)))@DHNLZ[J
@DHNLZ@SL
DHN]]MQAGYQ[P_DJMN
DHNQOPXFBZ
DhNRSSAx
DHN@Z][P
_d][[[H[[[O[[[
]DHO_CYGS
DHOH]HF]
DH]]@OLZ]H]@FG
[[[dH[[[o[[[m[[[
dH[[[O[[[s[[[
DHOSPXAD
DHO[[YYMJ@XB
dH[[[p[[[
dH[[[_[[[P[[[
DH[PA@EE
DH[]PBHG
DHPDPK]ZLX
DH[]P[FEFNL
)))DHPGLDPE]O
DhpgppepqF
DHPHvYH]A
dH[[[P[[[K[[[
D[HPLG[_Y
DHPMBPK]QMPJOQB
DHP]MP_M@NCMK_B
 @dH[[[P[[[O[[[
DH[PPBK[F@GA
DHPQZKOB
DHPSESX[
)))DHPYF@G
DHPZJ[@Y]
D]HPZMNOM
Dh@@@@@q@@A@ADac
DHQBPZEXXGLB
DHQ@D@E@HG
DHQ@D@E@HGB[HDL[
DHQ@DHEvHJJLZZ
DHQ@D@SL
DHQELGN]A
DHQ@FHCFZOBZQ
]DHQFHLMCQO
DHQ]F[QZ]D
DHQJE@JBZFG_@MLF
DHQLLQBA
DHQMLY]A
DHQONQAYBCGLXHKOLJK
DH]QQ[[QZ
DHQ@SFGL[
DHQvH]]LDY]Z
[DHQZ@KGAK
DHQZL]SFDL]HZ_C
dH[[[R[[[Q[[[
dH[[[s[[[
dH[[[_[[[S[[[
DH[@SHOFFMZ
d)))[HSHYYH[LEZKM
DHSLMLJ[PY]
DHSP@KZKH]_
D[HSPSZC
Dh.SSSQWs
dH[[[T[[[
DHtFyxdy
)dH[[[T[[[H[[[
dH[[[t[[[k[[[
dHTSFDFT	e	
dHTSFDFT	f	
(dH[[[u[[[
_dH[[[u[[[
dH[[[u[[[
]dH[[[U[[[
dHUCdRSSBU	e
dHUCdRSSBU	f
DH[uEHYHu
dH[[[U[[[L[[[6F
dh@USSkN@SSPsUl
dH[[[u[[[t[[[
)dHuXe o
dH[[[v[[[
dH[[[][[[V[[[
dH[[[V[[[
d@[H@vDFSS))
dH[[[![[['[[[vF"dS[[[ [[[
d@[H@vG]YJE@LG]))
[[[dH[[[w
dH[[[w[[[
dH[[[W[[[
	[dH[[[x[[[
[[[dH[[[x
dH[[[x[[[
||d*||H*||X
D())_H[X
D]HX_CGPLQSHZ[
DHXCHXPJJQZ
D_HXC]LLO
DHXCM]_DJ
DHXD_PXAGPSP
DHXKGZZG
DHX[NY]CAQZ[DO
_]D_HXQOQ
DHXS]_S]AG[A_
dH[[[X[[[T[[[
DHXXG_MNQ
DHXZBAJQ
-*dH[[[y[[[
dH[[[y[[[
DHY@DLHA
d)))HYE@JH]@_FiD
DHYGXDJZP@
dhyhJ]@_@]P
dHYhJ]@_@]P
d[[[[HYId
DHYJCG[B
]DHY[JM_[SLZ
DHYQLCPSCMK
dh YSSPsIB
[[[dH[[[y[[[x[[[
DHYYLMO@EL
dHYYLMo@ELl
DHYYLM]PYLZ
DHYZ[LYF[]@GN
DHYZ[LYF[]@GNKHZ@J
	dH[[[Z[[[
dH[[[Z[[[
D]H_[]ZA
DHZA[DH@E
 )))DH[ZAHE
)))DH[ZAHE
dH[ZAHEhEEFJ))
DH[ZAHEHZ
dH[ZAHEHZh]][@K))
DH[ZAHEHZi
dH[ZAHEjFYP))
dH[ZAHEo[LL))
DH[ZAHEt
DH[ZAJLG][L
d)))_H[ZALEE
@D]HZBAF
@D]HZBDNG
)))DHZBJF_EM
dHZBXMLB
DHZBYH[]
D@[HZD@]AP
 )))DHZDHHH
DH[@ZHZMLE@
"dH[[[Z[[[I[[[x
DHZKBDQSDDX
d)))_H[Z]LGZF[
dHZ]L[hJ]@_@]P
D[_HZ[LHPH]
DHZ]L[JH[LKH]A
DHZ]L[KFF][LJF[M
DHZLN[GOGJO
DHZ]L[OE@Q
DHZLPB]GBAL
DHZ]L[ZCH[_@Z
DHZ]L[ZE@ML[
DHZ[]MS[ZC
DHZ@NHiF@L
D]HZNOGMZJ
DH[ZNQLQ]LDON[M
dHZ]oL]JA
_dH[[[Z[[[O[[[x
!dH[[[Z[[[T[[[x
DHZXK@GH[P
_]DHZXODSM]BHMS
DHZY[OQ[G
;)))DHZZ
DHZZAASND
DHZZD@D@BH]S
DHZZDH@EL[
dHZZdH@ElQJLY]@FGgHDLZYHJL((
dHZZEFNNL[
DHZZLGSHM[@EE@GN[@N
dHZZMLOH
DHZZQYEF@]
[d[[[[i[[[
|d][[[i[[[
d_[[[i[[[
[[[[[[dI[[[
[[[dI[[[
[dI[[[@[[[
||d'||I'||
|dI[[[|[[[
d_[[[I[[[
dI[[[#[[[ [[[
dI[[[-[[[#[[[
dI[[[:[[[
dI[[[@[[[
D_i0@@a@h KT
D_i0@@A@h LeJ
D_i0B@A@2 @E
D_i0B@A@2 @L
D_i0B@A@4 @Y
D_i0B@A@5 @Y
D_i0@@CFh LN
dI[[[1[[[4[[[yk
@dI[[[3[[[
dI[[[3[[[
[[[dI[[[4
_dI[[[*[[[-[[[4
dI[[[4[[[
dI[[[5[[[)[[[
dI[[[5[[[4[[[
@dI[[[6[[[
dI[[[8[[[
dI[[[8[[[?[[[?
]Di8yxvyh8x
dI[[[9[[[
*dI@9fd;
?dI[[[A[[[@[[[
_dI[[[A[[[@[[[
DiAAAA@AAAAAC
D_IAAAA@AAAAAC
DiacriticalGrave
d[[[[.iAe8(
d[[[[iAff
DiagnosticConfigExists
diagnosticscan
DiagnosticsToolActivities
DiagnosticsTool end
DiagnosticsToolEnd
DiagnosticsTool end. Runtime exception caught
DiagnosticsTool start
DiagnosticsToolStart
DialogBoxIndirectParamW
DialogBoxParamW
DialogResult
diamond.exe
	DI@@@@B@@@
dI[[[_[[[B[[[1
[[[dibeO[[[
	DI@@@@B@@@Hp@e
*d@[[[i[[[c[[[
@dI[[[c[[[
[[[dI[[[c[[[b[[[
DICD_GENERATE_ID
"dI[[[C[[[	[[[s
DictionaryWW
d][[[i[[[d[[[
dI[[[d[[[![[[
dId[[[[3[[[
DIdC[[[l
dId@[[[k[[[
DIdM[[[h
[[[d[IdS[[[b[[[
dI[[[e[[[
[dI[[[E[[[
dI[[[E[[[
dI[[[e[[[d[[[
d||ie||.e||
di#eR[[[
[[[di#eU[[[
di#eX[[[w[[[
_dI[[[f[[[
dI[[[f[[[
dI[[[F[[[
d][[[I[[[F[[[4
Different CMI namespacesWW
DifferentParent
different pointer types
Different types of installersW
Different types of resolution stagesWW.
Different types of token replacers
diffsfterrors.h
dI[[[g[[[
dIg1egfG#N
DiGaGUGMG1G)G
DIGCF_ALLCLASSES
DIGCF_DEVICEINTERFACE
[[[dI[[[G[[[D[[[
DiGeG]GMG9G!G
DiGeGMG9G!G
d;igfG01
dI[[[G[[[F[[[UL
dighashtable.cpp
dighashtable.h
DigiCert Assured ID Root CA0
DigiCert Inc1
(DigiCert SHA2 Assured ID Timestamping CA
(DigiCert SHA2 Assured ID Timestamping CA0
DigiCert Timestamp 20210
DigiCert Trusted Root G40
[:digit:]
DigitalCertificate
DigitalSignature
DigitalSignatureQuery
DiGLG:G0G
DIG l;qlx
Di)gqggR
Digqgg:y
.digraphs_file
DiGRGEG1G
 dIgWcgfG
DIGyyy)|y
dIGyyyyy
d@[[[i[[[h[[[
"dI[[[H[[[
dI[[[H[[[
dI[[[h[[[b[[[1
dIHdR[[[
dIhFe]Iyd
D[[[iHIdQ[[[
dI[[[H[[[O[[[
:@dI[[[I[[[
]dI[[[I[[[
DiInstallDriverW
_dI[[[j[[[
dI[[[j[[[
dIj5Z2gW5gfGxE#
dI[[[J[[[M[[[
dI[[[k[[[e[[[@7fdQ[[[j[[[i[[[
-dI[[[K[[[I[[[
*dI[[[l[[[
[dI[[[l[[[
dI[[[l[[[b[[[;?fdN[[[
DIlllkJ8
dIllllllllmllllOllylm
dI[[[m[[[
[dI[[[)[[[-[[[M
dI[[[M[[[C[[[
Dimension
Dimensions of CSR point do not match with other CSR points used
dinjection
[[[dI[[[o[[[
[dI[[[o[[[
dI[[[o[[[
"dI[[[O[[[
-di;Of]NJd
#dI[[[o[[[n[[[UO
dI[[[P[[[
dipce__	f
dIPersistMessageIdlWW
DIpgppepq
]dI[[[P[[[L[[[
dI[[[p[[[v[[[0
|dI[[[q[[[
;_dI[[[_[[[Q[[[
[dI[[[Q[[[U[[[.;ogT[[[P[[[
]dI[[[r[[[
[[[dI[[[R[[[
(dI[[[R[[[D[[[
Directed
direction
Direction
Directive file name missing
Directory
directorydaclmanager.hpp
directorydaclmanagertest.cpp
directory_entry::last_write_time
directory_entry::status
DirectoryInfo
directory_iterator::directory_iterator
directory not empty
Directory not empty
DirectorySeparatorChar
DirectX API error
d[[[[Ir]f4
D;I(r@I;
;@dI[[[R[[[K[[[0
dI[[[r[[[p[[[
]dI[[[R[[[P[[[
dirtyshutdowndetected
dirty_wx_branch
dI[[[r[[[u[[[
dI[[[r[[[w[[[
dI[[[s[[[
DisableAnimations
disable_apicall_limit
disableblob
DisableContextData
disabled
 DISABLEDMAPROTECTION 
disable_drop_mz_only
disable_dropper_rescan
 DISABLEGUESTSTATESCRUBBING 
 DISABLEHARDWAREMBEC 
DisableHvsiRegKeyHResult
DisableHvsiRegKeyValue
DisableIEProtection
 DISABLEIOMMUERRORS 
disable_io_redirection
 DISABLEIPT 
DisableIsu
 DISABLEMAKEROOTUNCACHEABLE 
disable_microcode
 DISABLEOPPORTUNISTICL1DCACHEFLUSH 
DisablePasswordCaching
 DISABLEPOSTEDINTERRUPTS 
disableresourcemonitoring
disableroutinelytakingaction
disable_seh_limit
DisableSignature
disable_static_unpacking
 DISABLESVM 
disable_thread_apicall_limit
disable_vmprotect
DisconnectNamedPipe
disconnectpolling.cpp
disconnectpolling.h
Disconnects from applicationWWV
disconnecttest.cpp
disconnecttest.h
DisconnectTime
Discoverablex
DiscpAllocMemory
DiscpEnumerateDeviceInterfaces
DiscpExecuteMethod
DiscpFreeDeviceInterfaceList
DiscpFreeMemory
DiscpSetRegistryValue
DiscpTextAddrToBinary
@dI[[[s[[[h[[[
DiskDirectory*
disk directory name
DiskDirectoryTemplate
DiskLabel*
disk label name
DiskLabelTemplate
[disk list]
disksize
DiskSpaceActual
DiskSpaceRequirement
DiskSpaceRequirementMet
DismApi.DLL
DismCloseSession
DismDisableFeature
DismEnableFeature
DismInitialize
DISMISSMODELESSIdlWW
DismOpenSession
DispatchMessageA
DispatchMessageW
DisplayLicense
?Display@MESSAGE@@QEAAEPEBDZZ
displayname
DisplayNameAttribute
DisplayNameW
DisplayPositionW
DisplayScopeNodePropertySheetWWWL
DisplaySelectionPropertySheetWWWL
Displays Help for the consoleW
Displays the property for the current selectionWWW@
disposed
disposing
disposition
DISTINCT aggregates must have exactly one argument
DISTINCT is not supported for window functions
Distribution
dI[[[T[[[
dI[[[t[[[i[[[
dI[[[t[[[j[[[
]dI[[[.[[[-[[[u
 dI[[[U[[[
dI[[[U[[[
dI[[[u[[[j[[[
DiUninstallDevice
_dI[[[v[[[
dI[[[v[[[
dI[[[_[[[V[[[
dI[[[V[[[
d[[[[i[Vd
 dI[[[V[[[E[[[
divide by zero
[dI[[[V[[[U[[[
:dI[[[w[[[
dI[[[W[[[
dI[[[W[[[I[[[
dI[[[W[[[J[[[M
'	dIWmeo
dI[[[x[[[
(dI[[[Z[[[
dI[[[Z[[[
d[[[[Izrd
 dJ[[["[[[
"dJ[[[*[[[
'?dJ[[[_[[[][[[
; !dJ[[[#[[[
?dJ[[[([[[
[[[([[[[[[dJ[[[
[[[?:(dJ[[[
[[[[[[dJ[[[
[[[[[[dJ[[[?
[[[dJ[[[
[[[dJ[[[*
[[[dJ[[[:
[[[dJ[[[|[[[
_dJ[[[ [[['[[[
d[[[[][[[J[[[
dJ[[["[[[
dJ[[[-[[[ [[[
dJ[[[.[[[-[[[
dJ[[[:[[[
dJ[[[;[[[
dJ[[[?[[[
dJ[[[?[[["[[[
dJ[[[?[[[0[[[;
dJ[[[1[[[7[[[9
dj1iDagfGx
dJ[[[4[[[([[[
[dJ[[[5[[["[[[;
dJ[[[5[[[
[[[dJ[[[7[[[
dJ[[[7[[[)[[[
dj71ecJhd
d[[[[j7Xd
d[[[[j82d.
[[[[[[dJ[[[9
dJ[[[9[[[
dJ9voooo
|D@@@@@j@@A@ADac
DJABNKZCMGAN
d)))JADFM
@DJA[FDL
DJ[AGKCPMEK
D@JAHEMHKZB@
D@JAHENFEHG
DJAH[JFML
D@JAHLECHJBZFG
D@JALEEL]HQZL[_@JLZ
D@[JA_MF
D@JA@NHGHYYLEEH]LKEFN
DJ_APZCEY_]
DJAS]CHLKSMDO
[[[[[[dJ[[[b
dJ[[[B[[[
|D@@@@@jB@a@ACac
D[JBDDECF]
djbgfGW_
DJ]B_HABYDAKDL][
]D_JBOCO
D[JBODGZPDQ[
]DJB_Q@CP
[DJBXDQP
DJBXZM@XO[
DJBZQYPZCNZN
dJ[[[c[[[a[[[.
DJC[]CSO
[dJ[[[C[[[D[[[;
DJCJ[B[AGHX
DJ]CK]SXFKY
[][DJ[CM
DJ[C[ONDGOZ
DJ@CPLXA[AE
[DJ]CSKQ
d[[[[j[[[c[[[u
d[[[[[j!d]
DJD_AOKD
[[[Dj|dC[[[
DJDCOHPMPK
DJDDFLQZ]GP
DJDGQ_K_A
DJ]DGZOY
DjDHD9D0D
DJ@_D_@HGC[BCJPDGC
?dJdJ[[[
_DJD@J[FZFO]
DJDJZHEEGDBEZDZ[E
dJdK[[[7
DJDMLDHBZ
d)))JDMZ
dJdN[[[S[[[D[[[
D())JD_]Q@HDXN_CHN
[dJ[[[E[[[
d||je||Be||"e||
dJ[[[E[[[D[[[
DjEdU[[[][[[
D[J_@EEHANF@B[L
DJE@HMFI|x
DJE_OLZNGBEA
D]JEPJN_
D||jE||QE||:E||
DJEYLX]YZM_KSAB]FQBJCCOA]
)[dJ[[[f[[[
DJFC]@HOYY
'dJ[[[f[[[d[[[
d)))JFDDHGMH[NZ
D@J[FDH]A
D@J[F]@DL
@DJFFB@L
DJ]FFEKH[v
D@J[F[HGZFD
D@J[FH_Q]
D@J[FKJSQO
D@J[F]LJGF
D@J[F][LLEP
DJFXGMGXEHYMOACA
)))D@J[FZFG]
;)))d@J[FZFO]
d@J[FZFO]
((D@J[FZFO]
)))D@J[FZFO]
)))DJ[FZFO]
;)))D@J[FZFO]
D@[JFZFO]
D@J[FZFO]
D@J[FZFO]BK
D@J[FZFO]DFG@]F[@GNHNLG]
D@J[FZFO]EFN@G
D@J[FZFO]FGE@GL
D@J[FZFO]FOO@JL
D@J[FZFO]FOO@JLZL[_@JL
D@J[FZFO]G_KZ
D@J[FZFO]@G]L[GH]@FGHE
)))D@J[FZFO]@G]L[GL]@GOF[DH]@FGZL[_@JLZ
D@J[FZFO]@G]L[GL]LQYEF[L[
)))D@J[FZFO]JFD
)))D@J[FZFO]JF[YF[H]@FG
D@J[FZFO]JF[YF[H]@FG
D@J[FZFO]L[[F[
?)))D@J[FZFO]]LJAG@J@HGZ
D@J[FZFO]LMNL
D@J[FZFO]LQJAHGNL
)))D@J[FZFO]LQJLE
D@J[FZFO]LQJLE
D@J[FZFO]LQJLEFGE@GL
:)))D@J[FZFO]ML]LJ]LM
D@J[FZFO]NL]
D@J[FZFO]UEFN@G
)))D@J[FZFO]uu
D@J[FZFO]vEFNF
D@J[FZFO]Z
)))D@J[FZFO]ZAH[LYF@G]]LHDZL[_@JLZ
D@J[FZFO]Z]F[L
D@J[FZFO]ZL[_@JLZ
D@J[FZFO]ZYLJ@HE@Z]
?)))D@J[FZFO]ZYLJ@HE@Z]Z
D@J[FZFO]ZYLJ@HE@Z]Z
())D@J[FZW
)))D@J[FZW
@dJ[[[g[[[
]dJ[[[G[[[
dJ[[[@[[[G[[[
dJ[[[G[[[
Djg3egfG
DjgAggq3
dJ[[[G[[[b[[[
dJ[[[G[[[F[[[
]DJGGFXCS]NZSP[M
]DJGLBBQ_@H
D]JGNJAGK
DJGOZAXXXKX
DjGRGEG(G
DJGZ[XNQ_K]MBH[NH_XA_[
d][[[j[[[h[[[
dJ[[[h[[[
d[[[[J[[[H[[[
dJ[[[h[[[a[[[8)
DJH[CLM_SG
[@]D@JHDLG]L
DJHDYH@NG
dJhggfwJG
DJHGKSPBY
DJ]HJ]BB
DJHNQEZN
DJHOGZ_FAY
DJHOLGO@
dJhOLLlGN@GLzL[_@JL))
DJHOLLLGN@GLZL[_@JL
dJHOLLlgzmLOLGML[
DJ@HOP]HJZ[
DJHPYHJSA
_DJHSANGZ
DJ]HZBDHGHNL[
[[[dJ[[[i
_dJ[[[][[[I[[[;
[[[[[[dJ[[[i[[[f[[[xt
dJ[[[J[[[
D@JJB_[[KG[
*dJ[[[j[[[d[[[
 dJ[[[J[[[H[[[
]DJJHQ_HYAPX
dJ[[[j[[[i[[[
DJJKFOSYOCJFQ
DJJKGNBF
D@JJ]KS_P@O
||DJ||@J||l1||
DJJS]PC_X
DJJYKMKP][D
DJJYL_BC[
DJJYOA_YMAE__
dJ[[[k[[[
DJKDF__QEGC
DJ[K@DPDZF
#)))D@[JKFF]
DJK]GBANQJ
DJKK]DPA
DJKKPHA@QFK
DJKMFSQHDKX
DJKQQLAGPD
dJkRebZ*d0
DJKXLOCJL
)dJ[[[l[[[
dJ[[[l[[[
dJ[[[L[[[
_[DJL]C[
[[[dJ[[[l[[[d[[[
DJLD]H_A_
dJ[LH]F[
D)))J[LH]LFKCLJ]
D)))J[LH]LLELDLG]
DJ_LHME]]X
d)))JLKY
djllllllllmllllOllylm
dJllllllllmllllOllylm_
_DjllllllllmllllOllylm
DjllllllllmllllOllylm
DJ|llllllllmllllOllylmd
djllllllllmlll]Y]]
Djllllllllmlll]Y]]
D][@JLMED[
DJ]LOJBHX@O
@D][JLQL]EY
dJ[[[M[[[
DJMADQNL]
dJ[[[M[[[B[[[
_DJMD_O[CLXNO[FM
DJMDQ_GDZHF_QHFJMY]_
D@JM[F@M
DJML_OEBN
D[JMNG_QGZ
D@JMXLD@
DJ]NBYLN
][DJNCNYPJBG
DJN[LNF[P[
DJNO]E[[
DJNQB]DZM[E
D jnR!mggfw
D[JN_XEKBDH
dJ[[[o[[[
DJOAZYOJS]ZCNZ
DJOBXYYQQND_D
DJOCQXCPC
DJ]O]CZCJZ@ON
@DJOGBQBY
DJOJACS]MCPP
__D_JOLQ
_dJ[[[o[[[m[[[
DJOQDO_PL
D]JOQKNA
dJ[[[P[[[F[[[
'dJ[[[P[[[H[[[c
DJPJDYOQ
dJ[[[P[[[O[[[
DJ]PPCLKDPZ[
@@DJPP]LDBN
_dJ[[[P[[[W[[[
')))DJ[PY]vDFMLv
;)))DJ[PY]vJ[LH]Lv@_
[[[dJ[[[Q[[[
dJ[[[Q[[[
DJQBXSHC]PO[
]DJQDNFPJCXCOQHBX
DJQFFQZQSAGKP
DJQH@CNAGPGXFYDPBCZXXDH
DJQ@KSJJ
DJQLQXJ]
dJ[[[Q[[[P[[[
'dJ[[[q[[[v[[[3
[dJ[[[Q[[[W[[[P
dJ[[[r[[[
DjRgKcgfG
dJ[[[R[[[Q[[[
dJ[[[|[[[s[[[
DJ_@SALK
D[[JSCJ[]MLXJ_PCG[S[P
DJSGPJK]
DJSJXCY]
[DJSLGBKO]
dJ[[[t[[[
dJ[[[T[[[
dJ[[[t[[[c[[[
djTg1hgfG
dJ[[[u[[[
_D@Ju]FF[
'_dJ[[[u[[[l[[[
dJ[[[v[[[
dJ[[[v[[[j[[[
dJ[[[w[[[
 dJ[[[W[[[
dJWdI[[[U[[[T[[[
dJ[[[w[[[v[[[
dJ[[[X[[[C[[[
DJXD_NL]GP
DJXE_YYN[GJ_QCPD_
D[JXHF[MO
DJXJ]MAXDC
[DJXNOCJPEDSC
DJXS[_OB
DJYAN]LMEENMA
D[J_YDXEC
D]JY_G[C
DJ]Y]GPOKMSY
DJYHNM[ZSXO
DJYKJYQLA
DJYLC_BYYQB
DJYLZH[FKAYANGONLA_GAGGJYB
dJ[[[Y[[[O[[[
DJYOBXAZGACQZ
DJ@YON_X_QNEGYFS
[DJYOZC]JB
DJYQSGZG]
DJYSKMCHD]GLAEG_[KALBQ
[DJ_YXM]D[Y@J
DJYYSPXFP]HES
DJYYZQNMNZM
_DJYZAL]O
[[[dJ[[[Z[[[
dJzA@LEM))
DJZA@LEM
DJZAY]_XZ
DJZCGGJM_
dJz]e[[[[[[
D@J[ZFO]
DJZGFXYYLP
_DJZK[QJSP
d_[[[k[[[
"dK[[['[[[
"dK[[[|[[[
([[[[[[dK[[[
-dK[[[:[[[
.dK[[[-[[[
:!]dK[[[
[[[	[[[[[[dK[[[
[[[*!	dK[[[
[[[:[[[[[[dK[[[
[[[[[[dK[[[
[[[[[[dK[[[	[[[
[[[[[[dK[[["
[[[[[[dK[[[@[[[
[[[dK[[[
[[[dK[[[ 
[[[dK[[[#[[[
[[[dK[[[;
[dK[[[?[[[
]dK[[[#[[[
|dK[[[#[[[
dK[[[	[[[
dK[[[	[[[:[[[:
dK[[[ [[[
dK[[[#[[['[[[;
dK[[[([[[
dK[[[*[[[
dK[[[:[[[
dK[[[;[[[
dK[[[;[[[)[[[
dK[[[@[[[
dK[[[_[[[
"dK[[[0[[[*[[[
[dK[[[0[[[
dK[[[0[[[6[[[AN
[[[dK[[[1[[[5[[[
d[[[[K	1d
[dK[[[2[[[
dK[[[2[[[
dK[[[3[[[
dK[[[3[[[2[[[
[[[dK[[[4
||d	||K	||4
dK[[[4[[[)
!!dK[[[5[[[
)dK[[[5[[[([[[
[[[dK[[[5
dK[[[5[[[
dK[[[5[[[)[[[
d_[[[k[[[5[[[d
dK[[[6[[[
dK[[[?[[[7[[[
dK[[[7[[[6[[[
dk7 pgfGb
?.dK[[[8[[[
'?dK[[[:[[[9[[[
dK[[[9[[[
!!dK[[[a
]dK[[[a[[[
]dK[[[A[[[
:dK[[[a[[[2[[[[w
DK[AAAA@AAAAACp
DK[AB]XG]Q
dK[[[a[[[g[[[
DKAK_A_L
DK__AKY@@MHOF
DKALEY]FFEL[MHLDFG
DKAM[BOJXQQDY]N
DKANL[JO
DKAPJ_Q]AS
DKAXGPANL
DKAZZGHKD
][dK[[[b[[[
;dK[[[B[[[
DkBB@@fp@@@@@@@@@@]Y]]
DKBDQXHLOE
DKB@J[BKPLONN
D][KBLH_L
DKBN[LP@E_
D]KBYHOK
DKBY[Y_SC
dK[[[c[[[
 *dK[[[C[[[A[[[
dK[[[c[[[a[[[ s
dK[[[c[[[b[[[
@@DKCCJNGMBJP@A_M_Q]]
)))D@@K@CHGKNBXAB@N
D@@K@CHGKNBXAB@N
DKCLLHY]ZK
D_KCQPJB
DKCSYYNJ@AAG
d[[[[;[kd
#dK[[[d[[[
[[[[[[dK[[[d[[[
[[[dK[[[d[[[
dK[[[d[[[
@dK[[[D[[[
dK[[[D[[[
 DKdB[[[
dkddijoimh
dkddojdikk
DKDH[BSH
D[KDHCZKO
DKDJGM@MO
dkdkilleo
dkdkjjdlo
[D]K]DN_DSH
dkdnlnjim
DKDNPZXKG
dK[[[D[[[p[[[y
]d'#kdRT
dkdtr!l7
DKdW[[[s[[[
@DKDXOX[_]_BZG_
#DKdy[[[
@dK[[[e[[[
[[[[[[dK[[[e
dK[[[e[[[
@dK[[[E[[[
)dKe#dKe
DKEGKGKQ
")))_DKEHZ]ZN
_DKEHZ]ZN
@]D@KE@VEBT|
dK[[[E[[[z[[[FA"eZ[[[D[[[
[[[dK[[[f
dK[[[f[[[
)))D@@KFCHGKNBXAB@N
dkfllllllllmllllOllylm
_DK]FYLEE
DKGBNPOG
DkgfG[vGMgqgg
Dk(gggfw?
DKG_H]JPA__PLK
DKg-kgfG
DKGKM_AECB
DkgooggGv]a!gqgg
D[KGPH@YCPA
dKgqggHj
dkgscgfG
DK]GXYJGNYXHHHEO
DK]GZXOY
?dK[[[H[[[
dK[[[H[[[
(dK[[[h[[[b[[[
dKHCHP	e"wn
dKHCHP	fx
dkhdzL[_@JL))
DKHDZL[_@JL
@DKH]]EL
DKHH_HCH
[DKHLLGEEJ@
DKH[]LMX
DKHM_JSQ
DKHNSMAHQX[HB]J]O
DK@_HQOY_CNH
D)))KHZA
d)))KHZL
_dK[[[i[[[
dK[[[i[[[
"[[[[[[dK[[[![[[ [[[I
[dK[[[I[[[
]dK[[[I[[[
d@[[[K[[[I[[[
dK[[[i[[[o[[[
[[[dK[[[j
dK[[[j[[[
 dK[[[J[[[
dK[[[J[[[A[[[
d[[[[kj.d
DKJ@EEJZO]NP_
d]KJeNYId
DkjhggfwXcD"@
DKJ_@KEHHXH
DKJ[LPJOO
dK[[[j[[[m[[[
_DKJMDPF@F
[_DKJ[NOP
DK@JOEFXNSLJLD_NOHYLNH_O
DKJSBGDJD[P
DKJZJBEJ
D[_KJZOD
DKKAPBPP@
dK[[[K[[[B[[[
DKKK]CCNQ
Dkkkkkkkkki4
DKKKMMK:
DK]KMPOG[
DK[KP]LZ
]d][[[k[[[l[[[
[dK[[[L[[[
dK[[[L[[[
dK[[[L[[[A[[[.y:dQ[[[
dK[[[L[[[C[[[
DK]LCAQAPDDHB
DKLCFKYEGS
_dK[[[l[[[g[[[
dklGMYF@G]hNLG]))
DKLGMYF@G]HNLG]
DKLGZDMB@][FA@B[_DGDYCNSM
DKLJ][XXJ[
dkllllllllmllllOllylm
dKllllllllmllllOllylm
D_[KLOKZEP
DKLQCGQK
@D]KLQG_C
DKLY_DJB
dK[[[M[[[
DKM@ACAXG
DKMBOEGMANMZFJEHD
dKMdH[[[
DKM@EXPFOQMDHL
dKmggfwXg
D@KMNOEB]DDQBLPX
DKMXGGSLAD
@DKMX]Z[AL
]dK[[[N[[[B[[[B
]DK@NCNBGBACLD
dK[[[n[[[l[[[
_D_K]NYBA
 dK[[[O[[[
]dK[[[O[[[
dK[[[O[[[
D[KOABME
DKOOCADHYC
DKOPBKLKS
DKO@QJZSAFNDMOGJAJ
DKOYLDLXKS
]D]KOYQOCM_PD
[[[dK[[[p[[[
dK[[[_[[[P[[[
DKPF_J@[AMQ[FQ
"dKpgppepq
DKPHFGMH
D[KPHQD[LZO[QZ]E
D]KP_H_XBA_LDD]P
DKPKKJDM
DKPNQP]BNA
D@[kpRSSTs5
dK[[[q[[[
_dK[[[Q[[[
dK[[[][[[Q[[[
DKQBNHNQFB
D]KQDKSBF][SN
@D[KQPGL
D]KQSFJX
D]KQ_X@GQXBJ
dK[[[r[[[
dK[[[R[[[
dK[[[R[[[K[[[Z
[dK[[[R[[[Q[[[
dK[[[s[[[
d[[[[ksGe
DK_]SLJM[AK
D[]KSNLM[
DKSNXF__MQA@L
DK[SPGX_[JZN
DKSPL]ZZL[H_
@DkSRSSBFF
_dK[[[S[[[T[[[
DKS@XMSCN
dK[[[t[[[
dK[[[T[[[
#dK[[[T[[[F[[[7_Fd][[[K[[[A[[[H
DkTgqggM
dKtpgppepq
dK[[[v[[[
!!dK[[[][[[V[[[4C
 dK[[[v[[[b[[[
DKv@JFGL[[F[
DKvJFG_L[]vLGJFM@GN
dK[[[v[[[u[[[
DKvZPZ]LDDFMHE
DK@vZZEvZAH[LM
dK[[[|[[[w[[[
dK[[[w[[[
dKWFPI]	f!C!
d[[[[KwWe
dK[[[x[[[
;dK[[[X[[[
[dK[[[X[[[
_dK[[[X[[[
dK[[[X[[[
DKXLFKNGO
DKXOMG[JNNBGYNOOM
#Dk@@@@Xp@K
DKXPNCAY
dK[[[x[[[r[[[
DKXSPSHA
dK[[[X[[[U[[[
D[_KXZ_]D
DKXZEHSSY
dK[[[y[[[
DKY]_BCAB
DKYDAXLOLN[[SOY
DKYFSNAM
dK[[[Y[[[G[[[
[DK[YKNNP
DKYLM]GGXM
dkyyxyyC
DKYZSNEKXZ
[[[dK[[[z
]dK[[[Z[[[
]dK[[[Z[[[!
DK]ZDBZK
dKzhJl@8
DK[[ZKOK]]]
DKZ[MHCQHK
DKZNJEYAJANMNPDAX]@K[YACQPG
DKZSZQQLQ
_d@[[[|[[[l[[[
||||d|||l
d[[[[[[l
d][[[l[[[
"dL[[[*[[[
'?dL[[["[[[
-[[[[[[dL[[[
?dL[[[([[[
[[[#[[[[[[dL[[[
[[[[[[dL[[[
[[[dL[[[
[[[dL[[[*[[[
[[[dL[[[.
[[[dL[[[;[[[?[[[
[dL[[[.[[[
_d_[[[L[[[
_dL[[[	[[[
_dL[[[ [[['
_dL[[[![[[
_dL[[[*[[[)[[[
dL[[[	[[[
dL[[[	[[[;[[[
dL[[["[[[
dL[[[)[[[
dL[[[*[[[
dL[[[-[[["[[[
dL[[[;[[[
)))]@]DL
[dL[[[0[[[
dl0gqggQ
dL[[[	[[[1[[[
|dL[[[2[[[
dL[[[2[[[
dL[[[3[[[5[[[Y
dL[[[3[[[7[[[
dL[[[4[[[
@dL[[[?[[[5[[[
dL[[[6[[[#[[[
@dL[[[:[[[9[[[
_dL[[[;[[[9[[[?
dL[[[a[[[
dL[[[A[[[
dL[[[A[[[@[[[
DLAAAA@AAAAACT
d@@@@@l@@A@ADac
@]DLAASC
 )))DL]AFM
)))DL]AFM
|)))DL]AFM
)))DL]AFMGHDL
;)))DL]AFMGHDL
DL]AFMGHDL
DL]AFMGHDLJFDY[LZZ
	)))DL]AFM@GOF
)))DL]AFM@GOF
DL]AFM@GOF
DL]AFMNL]
DL]AFMQ][PRHMM
#)))DL]AFMv
dL]AFMyFZ]
DL]AFM	YFZ]	
DL]AFMYFZ]
dL]AFMyFZ]aLHML[Z))
DL]AFMYH]JA
DL]AFMZv
)))DL]A_@G
DLA[HGH[SHG@
Dl@@A@HpF
dL[[[A[[[k[[[e
DL_APBJOJKHE
D[LAQOG[KPF
]DLA_SJ[
)dL[[[b[[[
!d_[[[L[[[B[[[
;dL[[[B[[[
[dL[[[B[[[
]d_[[[L[[[B[[[F
dLBF]@FeGBlGMeFJHE
dLBF]@FeGBmLEoF[JL
dLBF]@FeGBzL]eFJHE
!dL[[[B[[[m[[[
D[LBQ[JXBACBBZJ
DLBSZOLXN[MS
dlBWL	fjTD
D_LBYJFZ
DLB_YX[[
DL_BZZKM
d_[[[L[[[c[[[
]_dL[[[C[[[
dL[[[C[[[@[[[
DLCAP]Y[M
DLCDGO_LN
DLcpgppepq
D]LCQOHAP[
D]L]CS_BLAA
[[[dL[[[d[[[
DLDALPPM_
|dldddfFg
	)))DLDF
dLDFe@Z]hJ]@_@]P
	)))DLDF[P
DLDF[PKFFZ]L[
dLDF[PnHDL
DLDF[PNHDL
DLDF[Pr@t
DLDF[PY[FJHMM[LZZ
DLDF[PY[F]LJ]@FGt
')))dLDF[Pz][LHD
dLDF[Pz][LHD
DLDF[PZ][LHD
DLDF[PZ][LHDDZF
DLDF[PZ][LHDt
DLDF[PZ][LHDtrJFG_L[]t
DLDF[PZ][LHDtrZPZ]LD
DLDH[D_Z_A
DLD]]HFHMY__DLC@B
@DL@DHGHNL[
]@DLDHGHNL[
DLDJYP))
DLDKDKDLD
)))DLDK[HGLAH[]LKLLZ]
d)))LDK[HJLYHM
dLDKL[))
DLDKL[GF]LY[FYL[]P
DLDKL[GHDLTUOF[LHJA
DLDKL[@GOF[DH]@FG
DLDKL[MLO@G@]@FG
)))DLDKL[]PYLGF]LY[FYL[]P
DLDKL[]PYLGF]LY[FYL[]P
DLDKL[ZA@Yt
)))DLDLBL[
')))DLDNL]Z]H]Z
dLDOMj[LH]L
dLDOMj[LH]LlDY]PgHDL))
DLdS[[[1
d[[[[lDVd
DLDvJFDD@]
DLDvJFDD@]UDLDv[LZL[_L
DLDv[LZL]
DLDv[LZL[_L
DLDYPC[_K]Z
|dLdz[[[
dLDZL]))
dLDz][LHDvYZ))
dLDz@SL))
[[[dL[[[e
]dL[[[e[[[
D[[[?[le[[[[
.)))D@]LE
d||Le||0e||
DLEAF[ML_
_DL][EALN]Y]FYPYCO]
DLEBF@GFB@HZ
@DL_@EBKBD
dlefUUAUUHVUEDtv
!)))DL[E@G
dL[E@Gh[FQv
]@DLE@GL
DLEGOJYF@K
dL[E@Gy[HGBv
DLEHBEDHC
DLE@]HLHZ
]@DLEHYZL
dle_k	d[[
]@DLE@_L
D@LE@ME9@vD9@wEW
][DL]EMSKEX
_DLEMSX][B
DLEO_AGMNACCE
D[L[EQ[AB
dL[[[E[[[z[[[
dL[[[_[[[F[[[
dL[[[F[[[
DLFAAJCAJ
dL[[[F[[[D[[[
dL][FGFDL
DL][FGFDL
D)))LFKCLQ
DLFKEHZ]
)))DL][FKL[[PEFJHEDH[BL]@GN
DLFL@X[AYCOAHZSC
dL[[[g[[[
]@DL[@G@]
dlg3fgfG
;dLg7agfGB
DlgazgfG#
DLGCCFYOHHXXLQF
dL[[[g[[[f[[[
)))DLG@FG
DLGFGHGMDLGFGE@D@]LM
;)))@DLG]]FNL]AL
DlG[G2G!G
DlG[GJG0G G
DLG]HE@]@LZ]LJAG@JFEF[
DLG_HGYM[A
#)))DLGHJL
DLGJAD[K
d)))LGJFMLM
D_[LGJPAGZS
DLGL]__A
DlGQGBG)G
DLgqgg'!
Dlgqggsz
DLgqggYp
DLGqlx l;
DlGTG G	G
!)))DLG]Z
DLGZHYEHG
dL[[[|[[[h[[[
.)))DL]H
:)))DL]H
D_LHAOQ@__SGS[][LAFHQGM
[dL[[[H[[[A[[[Y
)))DL]HA]]Y
)DL]HA]]Y
DL]HA]]Y
DL]HGHDL
DL]HJAH[ZL]
)))DL]HJFG]LG]
@)))DL]HJFG]LG]
DL]HJFG]LG]
DL][HJL[]@MLG]
DLHKZOLKP_
D[LH]LM@@SSSSSSSKY
]@DL][HM@GNKM
dL]HMH]H
DL]HMH]H
DL]HMH]HDL]HMH]HZL]FKCLJ]BLPZL]
DL]HMH]HMH]L
DL]HMH]HZL]FKCLJ]BLPZL]
dLHMN@_L
|D|L|H|N|
DLHNDZDOH]YBMCPO
DL]HNHEEL[P
DL]HOE@Y
DL[]HQD[ZQZ_M
DL]HYAPZ@Ju[LHMDL
DL]HY[FYL[]P
*#"DLH[ZBE@GLDHL[ZBE@GLZ
dL]HZYEF@]
DL]HZYEF@]
DL]HZYEF@]DP
dL]HZYEF@]kHZL
dL]HZYEF@]vdL]L[Y[L]L[a]]Y
dL]HZYEF@]vh[DyHPEFHM
dL[[[i[[[
dlibMove
)))DLJAHG@JHE]FFEZ
]D[LJANACE
DLJCOLYXXC
DL][@J]@DL
dljgsngfG
DL[JHMFE@_[L
D_LJLDKS[O
D)))[LJLY]@FG[LYF[]J
dL[[[k[[[
DLKAXFGM
DLKDZH__
DLKMPHP_BEJO[CHJDY
_dL[[[K[[[s[[[c
_DLKYCYSHPPFQA@
DllCanUnloadNow
dL[[[l[[[c[[[cwMdA[[[
D?L|LCgfG
DllCharacteristics
DLLCPAQ[ZS
DLLEBJSX
dllexporttests.cpp
[[[[[[dL[[[l[[[g[[[
DllGetClassObject
d[[[LlGfA[[[
dLL]@GN|A[hJ]@_@]P
DLL]@GNvO@ELZ
DLL]@GNYFEEAHGMEL[
DllImportAttribute
dllimports
DllImportSearchPath
DllInstall
DL@LL]KNC
dlllllllllmllllOllylm
DlllllllllmllllOllylmH
	d@llllllllmllllOllylm
#;d!llllllllmllllOllylm
(dllllllllmllllOllylm
)dllllllllmllllOllylm	
:dllllllllmllllOllylm
;dllllllllmllllOllylm
@dllllllllmllllOllylm
d*llllllllmllllOllylm
d.llllllllmllllOllylm
d;llllllllmllllOllylm
d?llllllllmllllOllylm[
d|llllllllmllllOllylm
dllllllllmllllOllylm
dllllllllmllllOllylm)
dllllllllmllllOllylm.(
dllllllllmllllOllylm;
dllllllllmllllOllylm@
dllllllllmllllOllylm[
dllllllllmllllOllylm]
dllllllllmllllOllylm|'
'DllllllllmllllOllylm
(DllllllllmllllOllylm
)-DllllllllmllllOllylm
.DllllllllmllllOllylm
|DllllllllmllllOllylm@
D!llllllllmllllOllylm
D(llllllllmllllOllylm
D*llllllllmllllOllylm
D.llllllllmllllOllylm
D;llllllllmllllOllylm
DllllllllmllllOllylm
DllllllllmllllOllylm)
DllllllllmllllOllylm.
DllllllllmllllOllylm]
DllllllllmllllOllylm_
)dllllllllmllllOllylm6s
dllllllllmllllOllylm#8
dllllllllmllllOllylma#
dllllllllmllllOllylmAR
DllllllllmllllOllylmc
-dllllllllmllllOllylmd
d#llllllllmllllOllylmD
DllllllllmllllOllylmE
DllllllllmllllOllylmF
!dllllllllmllllOllylmfe
DllllllllmllllOllylmg
D|llllllllmllllOllylmHp
DllllllllmllllOllylmj
dllllllllmllllOllylmk
-_DllllllllmllllOllylmm
(.dllllllllmllllOllylm_N)
DllllllllmllllOllylmN
DllllllllmllllOllylm(o
DllllllllmllllOllylmo
DllllllllmllllOllylmov
DllllllllmllllOllylmQu
dllllllllmllllOllylmr
dllllllllmllllOllylmR
DllllllllmllllOllylmr
DllllllllmllllOllylmR
DllllllllmllllOllylmR4n
DllllllllmllllOllylmRa Y
dllllllllmllllOllylms
DllllllllmllllOllylmSe
dllllllllmllllOllylmth
dllllllllmllllOllylmtO
dllllllllmllllOllylmtz
dllllllllmllllOllylmv
DllllllllmllllOllylmv
DllllllllmllllOllylmV
DllllllllmllllOllylm*VfI
d#llllllllmllllOllylmxZqBp
dllllllllmllllOllylmyU
dllllllllmlll]Y]]
dllllllllmlll]Y]]]
[Dllllllllmlll]Y]]
Dllllllllmlll]Y]]
DllllllllmlllzMO8) V:
DL[LM@]A
dllmain.cpp
DLLNA_JX_LDE
D@][L[LOL[LGJL
__dllonexit
DLLParameter
DLLQOPBADD
D[_LLX]EMQ
dL]L[Y[L]L[
dL]L[Y[L]L[))
DL]L[Y[L]L[
dL]L[Y[L]L[vzj))
dL]L[Y[L]L[y[FJLZZ
DL]L[Y[L]L[Y[FJLZZ
dL]L[Y[L]L[zFJBL]
DL]L[Y[L]L[ZFJBL]
'dL[[[m[[[
"dL[[[M[[[#[[[
DLMANHQCPB
DLMCJCZN[YAOQCC[OO
)))DLM_F[
]@DL[M[F@M
)))DLMF[NHG@J
DLMF[NHG@J
DL]]_[MH
)))DL[MHF
DLM@H]F[
DLM@]H]@FG
DLM@]H]@FGHZZ@Z]HG]
]@DL[MH]HEFNL
DLM@HJF[L
DLM@HKFQ
DLM@HKFQr
DLM@HML_@JLZ
DLM@HM@N@]HE
DLM@HO@[L
DLM@HvJHEE[LJF[M@GN
DLM@HYEHPL[
DLM@HYEHPL[@GZ]HEEH]@FG
DLM@HYEHPL[Y[F
DLM@HZH_L[
DLM@HZLDHZH
DLM@HZYF[]HE
DLM@JHE[LYF[]JF_@M
D_L@MJYH[EQ
]@DL[M@OO
]@DL[@MrLDY]PZ]PEL
DLMS_GLZLN_
DLMSPPB_HNAN
]@DLMZJ[LLGZAF]
DLMZXO[O
 dL[[[|[[[n[[[
[[[dL[[[N[[[
DLNFZL[@
DLNHE@GB
DLNHGSZJ[
dLNHjF[]LQ
dLNHjH[]
DLNHM@J]
D)))[LNHMM
DLNJJQZMABGG
]@DL[NLGL[@GM[@GNLGMLGZH
dL[NLhJ]@_@]P
!)))DL[NLM
DL[NLOF[DH]uuMTT
DLNMGA]FO
D_@LNXSDFBQJ
DLNYGJEH[OMCA
@D[LNZ_[
_dL[[[o[[[
dL[[[O[[[
dL[[[o[[[a[[[l
DLOA@MLKS
_dL[[[o[[[b[[[
d||lo||bo||
d||Lo||Bo||
]@DLOEFH]
d[[[[l Of
]@DLO[HDL
DLOJZ_COY]YJ
DlOllylmK
]@DL[@ON
DL[O[QDP
D_[LOXJOJO
dL[[[P[[[
DLPAJ_J]KQ
DLPAOGXS
DlpBlanketPolicyExemption
DlpBlanketPolicyProcesses
@@D@@Lp@(c
DlpClipboardApplicationSettings
DlpCloudSyncExclusionPathList
DlpDetoursInjectionPolicyExclusionProcesses
DlpDetoursInjectionPolicyInclusionProcesses
DLPDJ]DCGJ]P
!)(DLP[F[
DlpIsSetWindowsHooksUsed
DlpIsUnallowedRDPApp
DL[[PJA[@Z]DHZ
DLPJBXQ]L
@@@@@D@@Lp@Ju5
DL_PKSS[
DlpPrintFileHeuristicPolicyExemption
DlpPrintFileHeuristicPolicyProcesses
DlpProcessesCommandLineExclusionList
DlpProcessesExclusionList
DlpQueryCloudSyncExclusionPath
DLPSBOPNL
DlpSetWindowsHooksUsedList
DlpUnallowedRDPAppsList
dL[[[P[[[V[[[
DLPYXENE[SLB@LE
D[LP_ZBOK
[[[[[[dL[[[#[[['[[[q
@DLQKZXE_
d)))LQLJ
dL[[[|[[[q[[[OJ
dL[[[Q[[[V[[[
DLQXYEJCBL
d)))@LQYEF[L
@D@LQYEF[L
@D@LQYEF[L[
@DLQYEF[L[
dL[[[Q[[[z[[[1v
_D@LQZ_QOY_DNOFO@
#dL[[[R[[[
d|||l||||||||||||||||||||||||||Rd||||||Bd||||||6d||||||
dL[[[][[[S[[[
DLSABOKBK
d[[[[l)sd
]@DLSFGL
DLS@GFOP_Lr
DLSLBPDHJ
@DLSLQ]JO_QQ
[dL[[[s[[[q[[[
dL[[[s[[[r[[[
DlSSSSoug
?dlSSSSSSSS
DlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSc
)@dL[[[t[[[
[dL[[[T[[[H[[[
]dL[[[t[[[j[[[
dL[[[T[[[N[[[
"""d'LuC
dlUUbUUsl
((DLvOFEM
]@DLvSFGL
dL[[[V[[[T[[[
dL[[[w[[[
#dL[[[W[[[K[[[
*dL[[[W[[[U[[[3
'dL[[[x[[[
;dL[[[X[[[l[[[
DLXM[NPY
DLX@]OQY
DLXQLMMH
dL[[[x[[[r[[[
DL[XSJFEM
dL[[[X[[[x[[[*
DLXY[QDY[
DLXZX_ECLCSOA
 dL[[[Y[[[
dL[[[y[[[a[[[T)
[dL[[[y[[[c[[[
]@DLY[F]LJ]@FG
**.DL]YHPEFHM
DLYOLOL]PLOP[
_DLYPYNCQLMY
DL]YSB[C][
dL[[[Y[[[y[[[7
D_[LYZ_XNP
 dL[[[z[[[
dL[[[z[[[
@dL[[[Z[[[
DLZABMDHNY]P_
]@DLZALL]
dL[[[Z[[[b[[[
[DL]Z[__B_D
DLZDL[@SL
dL[[[Z[[[F[[[mT
D@[[LZGEH_
 dL[[[Z[[[h[[[
DLZHCG@JBHMD@G
")))]@DLZ]HDY
]@DLZ]HDY
]@DLZ]HDY))
DLZKSBXGBKMJKECL
]@DLZL[@HE
]@DLZL]LGM
dLZMLAvLQJLY]@FG)(
dLZML]]P|[E
dLZML]]PhGZ
DL[@[ZMS[@GND_
D]LZMZMKK
_]@DLZPGJA[FG@SH]@FGZL[_@JL
:)))DL]ZPZ]JLCKF
D_LZ[]][Q
DLZSXHBKB
dL[[[Z[[[w[[[I
dL]ZyEFJ
]@DLZYHG
DLZZHN@GN
dLZZHNL))
")))DLZZHNL
)))DLZZHNL
)))DLZZHNLJFG]H@GZ
DLZZHNLKFQt
DLZZHNL@M]LQ]Y[@DH[PBLP
DLZZHNL]PYL
DLZZHNL]PYLUJAHGGLE@MUYHPEFHMZ@SL
DLZZHNLT
DLZZHNLUUM
DLZZHNLvKP]LZ
)))DLZZHNLv]PYLZ
DLZZHNLZ
DLZZHNLZr
DLZZHNN@Fv
DLZZLGNL[
"dM[[[)[[[
"dM[[[*[[[)[[[
-dM[[[;[[[
@dM[[[-[[[
[[[[[[dM[[[
[[[[[[dM[[[.[[[
[[[dM[[[
[[[dM[[[([[[
[[[dM[[[*
[dM[[[?[[[
_dM[[["[[[
dM[[["[[[
dM[[[([[[
dM[[[:[[[
dM[[[;[[[
dM[[[;[[[?[[[
dM[[[?[[[
dM[[[][[[
dM[[[|[[[
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||Dm||
 )))[[DM@[
)))[DM@[
?.dM[[[0[[[
_dM[[[0[[[
dM[[[0[[[
dM[[[0[[[5[[[
]dM[[[1[[[0[[[@
(dM[[[3[[[
dM[[[3[[[1[[[
;dM[[[3[[[2[[[
[[[dM[[[3[[[2[[[
[[[dM[[[4[[[
]dM[[[4[[[
dM[[[4[[[
dM[[[4[[[.[[[
"||d#||M#||6#||
[[[dM[[[6
dM[[[7[[[
[[[dM[[[8[[[
[[[dM[[[9[[[
*dM[[[a[[[
dM[[[a[[[
DM[ABN_E
DMAJ[QEDOQYJDFLGNQ
DMAllUsersPollOnFirstLoginSetupFail
DMAllUsersPollOnFirstLoginSetupSuccess
DMAMDYY_XC
DMA@NJLNQSGON
DMA[NXGN
DMAS]B[X]_
DMASMZN@K
DM[ASYK]NBN
dM[[[A[[[w[[[D
D[M[AYJZ]
dM[[[b[[[
[dM[[[B[[[G[[[
DMB]OOOO
DMBPLEGMEQNPS
]DMBQ[[@P
D_MBXLBQEP]AC_AHYYB
DMBXOXYDL
DMB[@YHGOD
D_M_BZ]CON[DOZDLDKC
[[[[[[dM[[[c[[[
]dM[[[][[[c[[[
dM[[[C[[[
@dM[[[c[[[a[[[
dM[[[C[[[E[[[
DMCGBDMKAAG
DMCGC@KDJ
DMCmnUtils.dll
D@MC]NO@QYS
DM]CPC]YE_@O
DMCP]H_AM
DMCSKPPPB
d[[[[m!?d
dM[[[d[[[
DMDC]XJBY
d[[[[mD-d
DmdgAgg@
d[[[[MDGfTe-d[[
DMDHNSGHM]
DmDisableTask
DMDJKHLFP
DMDJ[LH_
[[[D)MdL[[[
DMdO[[[4[[[
d)))M_DQIDYN@
DMDQ_NDMEG
DMDZL[_L[Z
dM[[[e[[[
.dM[[[E[[[
@dM[[[E[[[
]]DMEAYM][
DMEBXKKHHFLN
@DMEEAFZ
dm	 em	 em	 em	 em	 em	 em
dmEnrollEngine.DLL
DMEPNHKONSMLSMLPJ
d||me||Ze||Ee||2e||
DMFJZDQF[HZC
_D]MFLAQ
DMFYH]L[Z
DMFZYHQG
]dM[[[g[[[
dM[[[g[[[
dM[[[@[[[G[[[
dmg_decompress
_DMGDQO]
DMGEBKCFN
DmGeGQG9G5G
dmg_entrypoint
DmGetAadUserToken
DmGetActiveUserSid
DMGEZO]P
dM[[[g[[[f[[[
dMgfcgfG!
dmg_filealignment
DMGGAPMHB_Z
d	)mggfw
D:!mggfw
d)mggfw4
dmggxgfG
[[[dM[[[G[[[h[[[
dmg_imagebase
dmg_imagesize
dmg_imports
dmg_invaliddata
DM[GLAFN
]@DMGLOJPMQ
dmg_machine
D@MG@NA]B@GMZ
dmg_notcontiguous
dmg_not_executable_image
dmg_optional_magic
dmg_overlapping_sections
dmg_pointertorawdata
?Dmgqggc
d?MgqggP
D]MG]QZ_QLN
dmg_relocations
dmg_resource_levels
dmg_resource_names
dmg_resource_offset
dmg_resource_unordered
dmgscanner
dmg_sectionalignment
dmg_sizeofheaders
dmg_sizeofrawdata
dmg_special_section
dmg_truncated
d[[[[Mgud
dmg_unsupported
dmg_virtualaddress
dmg_virtualsize
DMGZBCJLO
dM[[[h[[[
DMH[B]BX[A[
DMHFCYSH
@D@@M]HGF
DMH@HOX_M
DMHMLPFCO_
DMHNGMBBF[]A
DMHOF[EFFY))
DMHPHQH[
DMHQEDA_S
DMHSEYSGJYZH
]DMHSGSZ[
DMHSMCJZY
DMH_Y[SJQCBO@
DMHZYPC]
dM[[[i[[[
"dM[[[I[[[
dM[[[I[[[
dM[[[I[[[H[[[
DmImpersonate
]dM[[[I[[[O[[[
dmiso8601utils.dll
DmIsSystemOrAdmin
DmIsTaskScheduled
;dM[[[_[[[j[[[
?dM[[[j[[[
DMJDX]N_Y_
_D[]MJF]JEX
DMJG_]DL
DM[JG[X]
[DMJJ_B]
DM]JJXLQJY
:)))@DMJ]LQ]
dM[[[j[[[o[[[L
DMJXMH_AQ
D]MJYNPAB]G
dM[[[k[[[
.)))D@MK
)dM[[[k[[[:[[[a
D@MKCSEE
DMKFAKPN
DM@KGAPQE@BJYBHSK@MG
DM_@KGFHSA
DMKGKDNN
DM]KJ[EZB]XZY
#DMKKMqMMqMqMK:
DM_KNMSXKH
_DMKOJD[D
DMK]@QBX
DMKYGBZP[GN
DMK]Z_AO@JF
)dM[[[L[[[
@dM[[[l[[[c[[[
D]MLCMX_L
]dM[[[L[[[F[[[
DMLHCQMHG
D)))M@[LJ]F[PH
DMllllllllmllllOllylm
DM[LLLSS_P
DMLLOO[J
DMLOHLHG_P]M
dMLpgppepq
DMLPSOO]Q
DM]LQOHM
dM[[[L[[[x[[[x
dM[[[m[[[
DMM_ALHA
DMMJ[HAZ
DMM@KGLSDQJS_AEX
_D][MMNABZ_B
DMMOPMME
DMMYCP_HCLGJ
[[[dM[[[n[[[
DMNAEFH]XFJ]Z
DMNASRSdRSSt
DMNBKNXH[SPLBXK]LJA
DMNGNKGG]
D]_M]NJKQP
DMNLKCLD
DMNM@LKD_
DM[]NSDZCZPFGGOCNPGDE
DMN]SMQO
[D[MNS_N
DmnSSSSSSSS
]_]DMNZ_DHG[
@D@]MOAMLEJ
DMOBHGSLH
DMOBYHEOGD]
DmOg)agfG
DMOH_]O]OGE
DMPEPXK]O][F
dmpgppepqR
DMPHC[SE
DMPJD_LNDJ[SL]SJ
DMPKHNBYYX
DMPKMB_O
dM[[[p[[[k[[[Z
@@@@@D@@mpLO"85
D_MPLSJJ[_C
DMPollAuxiliaryScheduleSetupFail
DMPollLoginSetupFail
DMPollScheduleSetupFail
DMPollSecondAuxiliaryScheduleSetupFail
dM[[[q[[[
[dM[[[Q[[[
dM[[[Q[[[
DMQFS]_BP
DM[Q_G]Z]
dM[[[q[[[j[[[
dmqJ:LbQ
dM[[[q[[[l[[[
DMQL]FJYLJ
dM[[[q[[[o[[[
[DMQPBZQ
DM@Q]QEM[GH
dM[[[Q[[[T[[[
DmRevertToSelf
dM[[[r[[[j[[[
dM[[[R[[[U[[[
dM[[[s[[[
d[[[[msde
DMSEDDDMH
DMSL]KMDDQXND
DMSNMMKEGO[KD
DMSPKPANBB_KHANXB
D_MSPOLNXO
D]MSQKSBMYN
DmSSSSSSSSSSSS
DmSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSU
_DMSXYNP[ZJQ]
DMSYBQ[H
DMSZGHE][QN]
"dM[[[t[[[
]dM[[[t[[[
dM[[[t[[[
dM[[[T[[[
[[[dM[[[u
d[[[[mUFe)
d[[[[mung
dM[[[w[[[
DMXAY_BO]MJFX@ZG_Y]A[DO
DM_[XE_Q]ZLN_
 dM[[[X[[[R[[[
[DMXZDCXGK
[[[[[[dM[[[y[[[f[[[
dM[[[Y[[[o[[[
DMYPXLBQXGN
_DMY_SGY__
dM[[[y[[[t[[[
dM[[[z[[[
 dM[[[Z[[[
'dM[[[Z[[[
*dM[[[Z[[[
?dM[[[Z[[[
_dM[[[Z[[[
DMZA@OH]
DMZCDAXPSNK
(dM[[[Z[[[e[[[
DMZEMQXH]]
DMZH]HEAF
DMZ]JCSF
@DM@ZJF[M
dM[[[z[[[w[[[
@dM[[[z[[[x[[[
DMZX[AOBGONKH
d_[[[n[[[
	-dN[[[	[[[
'dN[[[	[[[
*[[[[[[dN[[[)[[[-[[[
[[[	[[[[[[dN[[[
[[[[[[dN[[[
[[[[[[dN[[['[[[
[[[dN[[[
[[[dN[[[!
[[[dN[[['
[[[dN[[[|[[[
_d_[[[N[[[
_dN[[[;[[[
dN[[[	[[[
dN[[[![[[
dN[[[#[[[
dN[[[([[[-[[[
dN[[[)[[["[[[
	-dN[[[0[[[([[[
dN[[[1[[[
]dN[[[1[[[7[[[
dN[[[3[[[7[[[
dN[[[4[[[*[[[
dN[[[5[[[*[[[
!d@[[[n[[[7[[[
[[[[[[dN[[[9
dN[[[:[[[9[[[
'?dN[[[a[[[
dN[[[a[[[
dN[[[A[[[@[[[a
DnAAAAAAAAaqAZA	m
D@@@@@n@@A@AAac
DNACBHPD
DNACLGBJY]YBHPZ
]DNADDYHLA]NM[M
_dN[[[A[[[G[[[
@DNAL@NA]
D_NA@M[XXQ_LM]YDPJ
DNA[PCYE
D@NA]Pv]LHD
D@NA]PvY@[H]L
DNAPZ[[ZO[AYHA
dN[[[A[[[w[[[
DNAXM_SCX_K[BON
DN@AYLGZYO
[dN[[[b[[[
d][[[N[[[B[[[
dN[[[b[[[a[[[
DNBGYLYMC
DNBQO[OK
DNB[XB_ZZBAK
dN[[[C[[[
DNCNJOQPHG
DNCQJBXH
dN[[[([[[-[[[d
dN[[[d[[[
dN[[[D[[[
DNDAHHF_Y
DN_DCDGB[][ANGC
????D?nD???D
D@N_DDQO]BBS
DnDfDIDAD0D(D
?DNdH[[[
dndH@GhJ]@_@]Pv
DN[[DHZA
DNDL]BGL
DNDMPPDOG
????D?nDn?
dN[[[D[[[w[[[0o
DNdZ[[[C[[[@[[[
_DNDZNEJO_[C@
]dN[[[e[[[
 dN[[[E[[[
[[[dN[[[E[[[
DNE_DMMJKLOOXY
D||nE||'E||
d!n;e!i]dP
DNEMLESD
DNENFALE
dN:*erIHf
d*NEY*ge
DNE_ZZBH
d][[[n[[[f[[[
dN[[[f[[[
DNFAZ]_]XC_BPYQQC[]J
DN]F]B[F
[[[dN[[[f[[[:[[[h
DNFHYBND
DNFOYXNQ
DNFQNZK]ZOS
Dng3fgfG
dNg7kgfGUdSqgqgg
DNGAXFYE[SZNYBAGO
#_d.NgfG
Dng]fgfG
_@D_NGKCS]ESPC
DnGMG3G.G
DNGQY[Q]EQ_E
dN[[[h[[[
dN[[[h[[[a[[[
D@N]HDAXPKF
D@N[H]@FG
D@N[H]@FGZ
d)))N[HGLEZLLMZ
D@N[H]LuZ
dN[[[H[[[O[[[0
DNHQLZHCPLMBG]]SYDDXXZQL
DNHSYAJF
DNHYSQS]
;dN[[[i[[[e[[[0o
@dN[[[i[[[m[[[
@DNJEHZZ
DNJ_JOZO
dN[[[J[[[M[[[
DN[JSAQSBNHOOKOK]
DNJXHSNN
DNJZG_SON
*dN[[[k[[[
dN[[[K[[[C[[[
@DNKF[ML[
[DNKHYYGN
@DN_[KJJ]MOM_
DNKPECKLJHHAPDQ
DNKYAHFZBC
dNKzeAqye!.
@d_[[[n[[[l[[[
;dN[[[_[[[l[[[
d)))NL]@]
d][[[N[[[L[[[7
DNLC]]X]P
d)))NL]FKCLJ]
D@NLGO@F
[DNLOPZN
d[[[[NLUf
!!d][[[N[[[M[[[
"dN[[[M[[[
D@N_]M[B
DNMJHMDC
D_NMLYCSCNB
)))DNMO[HD@GN
DNMQ[O]NSJEBY]K
DNMSJXLE
dN[[[n[[[
D???n?n????
DNNAYH_L
dN[[[n[[[b[[[
d[[[[NNbd
_D_NNLG]
DNNMXHPAB]SEGEZ
"dN[[[o[[[
dN[[[o[[[
DNOJD]ASG
[dN[[[O[[[M[[[a
dN[[[o[[[n[[[
"dN[[[o[[[n[[[a
DNO]XHBOOYXG]NGD
 dN[[[p[[[
dN[[[P[[[
[dN[[[][[[P[[[6
_DNPCXKJ]M
(@@@@@@@DNp@E
DN]PE[GGYL
_#dnpgppepq
DNPHDGCL@
DNPOCQ@]S
_dN[[[P[[[z[[[
DNQC_HGNBOGYZBGP_X
dNQdO[[[L[[[C[[[mITdN[[[
DNQDPEDBDH
DNQ@NLL]
DN@QP[LKJAG
d[[[[nQWe(
DNQYO@KJ
	@DNRmqh
DNSAPI.dll
DnsCache
DnsDomainsFindFirst (domain)
DnsDomainsFindFirst (master list)
DnsFlushResolverCache
DnsFreeConfigStructure
_DNsgdbSYl
DnsGetCacheDataTable
DnsGetCacheDataTableEx
d[[[[nSIe
DN]SKNLKELP
d:nsKRDx
dnsname_scrubbed
DNS]OYYA
DnsQueryConfigAllocEx
DnsQuery_W
 dN[[[S[[[Q[[[W
DnsRecord
DnsResolverOp
DnsServer
DnsServers
dnSSSSSSSS
'DnSSSSVSSSVSSSLSSSXSSSXSSSXSSSXSSSZSSS[SSSYSSSYSSSVSSSSSSS
DNSXLKKHL_Z@OO@OAMB[NQ
dN[[[t[[[
"dN[[[u[[[
_dN[[[U[[[
dN[[[U[[[M[[[
dN[[[U[[[O[[[
dN[[[][[[v[[[
dN[[[_[[[V[[[
@DNvEFHM
DNvE@KvM@[LQLJ
@DNvJEHZZ
")))@DNvJE@JB
DNvK@GvM@[
:@dN[[[W[[[
|dN[[[_[[[W[[[
dnWdZ[[[
dN[[[X[[[
dN[[[X[[[a[[[
DNX@APNMM
]DNXBANB
_DNX@BQGE_
DNXCZ_P]
DnxllllllllmllllOllylm
;dN[[[X[[[m[[[
DNXNFXCC[SAK_
]dN[[[X[[[r[[[
DNXZCSNSH
dN[[[Y[[[
DNy2BuoSdgfG;
DNYDALNLH
D[NYEBSBOGDXZH_QCH
DN_YFBCDSPZKCKXJ
dnYm-v82
DNYMXDMCOS
DNYZH@P]D
D]NYZKLPOD
"@dN[[[Z[[[
*dN[[[Z[[[
[[[dN[[[Z[[[
]dN[[[Z[[[
]dN[[[Z[[[	[[[
_dN[[[Z[[[
dN[[[Z[[[
dN[[[Z[[[a[[[
dN[[[z[[[b[[[
DNZBEGCS
DNZBZBBMLM_JK_EJKEE[JC
-dN[[[Z[[[d[[[
dN[[[Z[[[d[[[
DNZDG]]BX
)))@DNZ[J
;)))@DNZ[J
DNZ[J[OAFDFYBBOAK
DNZMYG@NN
D]NZSNCP
_@D]NZZANY
dnzzqqmhcd
@[dO[[[][[[
[[[[[[dO[[[
[[[[[[dO[[[ 
[[[dO[[[
[[[dO[[[.[[['[[[
[dO[[[	[[[
]dO[[[-[[["[[[
d_[[[O[[[
dO[[[ [[[
dO[[["[[[
dO[[['[[[
dO[[[)[[[
dO[[[)[[[([[[
dO[[[:[[[?[[[
dO[[[?[[[
dO[[[][[[
Do0llllllllmllllOllylm
?dO[[[1[[[
dO[[[1[[[
dO[[[2[[[4[[[
[[[dO[[[3
_dO[[[3[[[)[[[
d[[[[o?4f
dO[[[5[[[4[[[
d[[[[O57d8
d[[[[o5	dk
dO[[[6[[[
?.dO[[[6[[[5[[[
*dO[[[7[[[
@dO[[[8[[[
dO[[[8[[[
dO[[[;[[[8[[[A6Ld[[[[:[[[
dO[[[a[[[
DOACNGZ@
DOADYEZK
dO[[[a[[[e[[[
[[[dO[[[a[[[f[[[O
_DOAGQKY
[]]DOAJKM
DOANN_SQLSY]QDQN
DOAOMSM_
DOAPZLCL[NG
d@@@@@oA@Q@DEac
DO_ASJCG
D]OAZX[HAX
d][[[o[[[b[[[
_dO[[[b[[[
@dO[[[B[[[
)d[[[[O[[[B[[[2
dO[[[b[[[f[[[N
]DOBH[LG
DOB_[M_PNGNB
D[OBS_CZD_Y
*dO[[[B[[[@[[[U
D@O]B][YNJLSC
DOBZJPXFAGL
d][[[o[[[c[[[.
@dO[[[c[[[
dO[[[c[[[
-d_[[[O[[[C[[[6
d[[[[oC8g
[[[dO[[[c[[[a[[[u
DO]_CBX]Y
dO[[[c[[[b[[[Z
)D]oCCOl
D@OCDNEMOCDNEQOCDNEBEOCDNEHLOOCDNE[OCDNEG@AOCDNEPOCDNEFuQ
DOCDQY]KCZ
_d@[[[o[[[c[[[gK
DOCHGDMJ
DockStyle
DO_[CLCBYX@
docllllllllmllllOllylmr
DOCMDPQ_
DO_COBAG
DOCOH[OC
doconnecttest.cpp
?document
Document
document.body not allowed.
document.createElement() - argument required
document.createElement() called with empty DOM?
document.createElement() called without DOM?
document.createElement() is not a constructor
document.createTextNode() - argument required
document.createTextNode() called with empty DOM?
document.createTextNode() called without DOM?
document.createTextNode() is not a constructor
document.getElementById() is not a constructor
Document Interface
Document Mode enumerationW
DocumentMode_User_MDIWWWd
DocumentMode_User_SDIWWW
]_DocumentModeWWWd
Document opens in Author ModeW'
Document opens in Full-Access User ModeWWW@
Document opens in Limited-Access User Mode with single windowW
documentstore.cpp
documentstoreenumerator.cpp
documentstoreenumerator.h
documentstoreenumeratormock.cpp
documentstoreenumeratormock.h
documentstore.h
documentstoreimpl.cpp
documentstoreimpl.h
documentstoremock.cpp
documentstoremock.h
documentstoretests.cpp
DocumentWrite
document.write() is not a constructor
   document.write(szCssText);
[DocWrite]
DocWrite
d[[[[]O"d
dO[[[d[[[
[dO[[[D[[[
D@ODA]DNX_G
 do]"d'b
DODHPBAMB_
dOdJ[[[9
DODJDQDRDSDTDUDVDYDXDXDYD[DWD
DoDragDrop
D_ODS[JAG]H
dO[[[D[[[z[[[
[[[dO[[[e[[[
dO[[[e[[[
dO[[[E[[[
dO[[[e[[[8[[[
D]O]EAKXMQY[SM
DOEGFYA_QND
D)))@OEJHZL
DOELCNCJJOMLB]CD_
d)))O@ELHO@ELH
d)))O@ELZ][@GNJHEE]ZL
D)))@O@ELZPZ]LD
D)))@@[O@E]L[Zr@t
DO[ENPNSEEDSY
DOEYCQSPMS[
dO[[[E[[[z[[[
dO[[[f[[[
?dO[[[@[[[F[[[
DOF4Fyyyivy
DO]@FBQ[[JM
DOFDOCQSL][SJQHHJ
D)))O[@_FE@]P
DOFGQSCYYA
dofilefuzzer.cpp
D@O]FLDA
d)))OF[LHJA
DOFLXLBYAL[Q@
d)))OFNLNALAML]P
dO[[[g[[[
dO[[[G[[[
@[Dog7egfG
)?d#OgdK
dog	egfG
Dog'egfG
DoGeGPGIG6G
DOGEMPZ]
[dO[[[g[[[f[[[
dO[[[G[[[F[[[
dogfG'4D
DogfGfkm7gqgg
DoGfG]GAG
*DOgfG*R
dog__gfG
DO!gggw(5E*PJ
DOG[JG@P
DOGKQQZE
dOg	lgfG
DOGNZHZJ
DOGPKP]B@OOXOHK
dOgqggnb
_DOGQYYS
D[OG[SHLD
#dogufgfG
!_dO[[[@[[[h[[[
DO@HANCSS_QCA[XJ
dO[[[H[[[O[[[
DO[[HO]AL
DOH[P@GNQO]
D_OHQJOZ
@DOHSD[Y@QEY
(dO[[[I[[[
|dO[[[j[[[
dO[[[J[[[
DOJCSS[ZZL[JA
dO[[[J[[[H[[[w
DOJML[LF_MJ]@CY
dO[[[J[[[m[[[s*TdO[[[
DOJ_[X@Q[PLPOBF
dO[[[k[[[
DOKDYCHD
d[[[[o:Kf
[[[dO[[[k[[[j[[[ 
D@OKMGBLKOF_XDPN_L
dO[[[K[[[O[[[(
@DOKO_]GGJHLQ
DOKQD[ZHYAYS]E
DOKYAQXJ
DOK_YFJ]]CKFJGB[GJ
@dO[[[L[[[
DOLDDZ))
DO]LJDQJC
dollar-sign
DOLLJSB[F
dollllllllmllllOllylm
@DO@[LOFQ
DOLO@[L))
d)))@OLQ@Z]
DOL_]Y))
DOLYGA_H
|d][[[o[[[m[[[
[[[dO[[[:[[[.[[[m
dO[[[m[[[
.dO[[[M[[[
Domain error
DomainId
domainname
[DomainName]
domainname_scrubbed
DoMaintenance
DoMaintenance On Demand
DO]MAOMX
dO[[[M[[[B[[[J
DOMD[]G]SXGG
[[DOMGAZY
DOMK[ZHQLJ
DOMO[Y_Z[LNOZ
DOMOZNGQ
dO[[[M[[[x[[[
DOM_YE_ZS_@
dO[[[n[[[
DONCNNSZDMNMGXFQPONYJY_[XM
@_DONG_AG
DONJYCCJBPX
DONKLZ]XAK
D]ONLHKH]HQOG
DONMJ_C_D
DONNX]@X
DoNotCopyFiles
Don't migrateW1
dO[[[o[[[
DOOA]APAPM
]]DOOCOY
DOOC_SGGQ
D]_OO[DHE
dO[[[o[[[l[[[L
_dO[[[o[[[m[[[
D[OOMAMMNDBE
DOO@M_B[L
DOOMJDJ_EGMAOCENCAJBOZ@XY
(DoomPak)
dO[[[o[[[n[[[
DO[OODMPNESL[LJGMPJOA
Dooo'MMM
DO]OXXCM
[DOOY]ZY[KGCH
-dO[[[P[[[
dOp6ejsBe
D_OPAKO_KZYZS]CSQDDHDKLMLO
?DoParsing@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
DOP]CSJ[P[
DOPDHLYNY
DOPEMOXSAD
DOpenProfileSectionWW
DOpenProperty
D@OPGKDCZKH
D_OPLDND]
DOPMKK@OGP
dO[[[P[[[O[[[
Doppleganging
DOPS]XM[
DOQCKOQYB@HAB_A
DOQDNPHQJG
[do(Qeh8
DOQLSHHD_Q
"dO[[[Q[[[P[[[
DO]_QP_]JAPNA
dO[[[Q[[[P[[[;ySd@[[[
DOQSSGZPH_
_dO[[[Q[[[U[[[
dO[[[Q[[[V[[[	
@dO[[[Q[[[W[[[
d[[[[Oqxg
DO[QYLBP
DO[_QZASPNCKZADFGN
)dO[[[r[[[
dO[[[R[[[
d|||o||ro||
dO[[[r[[[q[[[
_dO[[[r[[[w[[[8
]dO[[[s[[[
DO]_SCK]Q
DosDateTimeToFileTime
d*oSdgfG
DOSDHZD[B
?DosDriveNameToNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
__doserrno
doserviceprovider.cpp
doserviceprovider.h
!DOSExpkHandler
 (DOS_FAT_16
 (DOS_FAT_32
DOSHPKZX
DOSNDQNYOLP
DOSNGBYZ
'dO[[[S[[[Q[[[
(DosSfx)
DOSS]PLSAAG
DosTimeToFileTime
DOS[XCJ]_A
DOSXHAOJLZCN
#dO[[[t[[[
dotest.cpp
dO[[[T[[[I[[[g
dO[[[u[[[
DoubleParent
?]dO[[[U[[[J[[[
_dO[[[U[[[N[[[
doVbgfGk
dO[[[_[[[V[[[e
dO[[[v[[[j[[[
dO[[[V[[[N[[[6
dO[[[V[[[s[[[
dO[[[_[[[W[[[#
dO[[[W[[[
dOWdO[[[
dO[[[W[[[H[[[c
_dO[[[W[[[J[[[Y
Downgrades an object.W*
Download
DownloadBeginWWW
DownloadComplete
downloaderr
downloadJobId
downloadResult
Downloads are still needed prior to UA install
downloadSettings
DownloadSettingUnits
downloadutctime
dO[[[W[[[T[[[
|dO[[[*[[[)[[[wV
_dO[[[x[[[|[[[7
DOXCZZBNGJDXS
DOXFZZQGHQDQ]
DOXGMMOFPCBEOPQ]N
;dO[[[X[[[R[[[
DOXSLA]X
dO[[[X[[[W[[[c
_dO[[[y[[[
dO#]Y]]F
DOY]KOJLG_[G
DO@YOYQM
dO[[[z[[[
[[[dO[[[Z[[[
dO[[[Z[[[
dO[[[Z[[[A[[[
d#ozeLN	d
DOZFLOPQXHQNOQM]OGPSM
dOzgqgg4
DOZHNGFPH
DOZHPQJA
_dO[[[Z[[[H[[[tg
DO]ZL_DZHB@]Q@_GB]SXS]PGG
[DOZLZNFP]
[DO[ZOCP
DOZPHCHXKZ
DO]_Z@SA]X
DOZS]M[M
dO[[[Z[[[U[[[
DO_Z][Y_XD
DOZYZASXSB[NOPECCH
DOZZD]DPHSG
@@@@@@@@dp@@
]d@[[[p[[[
d@[[[p[[[
@dP[[[)[[[.[[[
[[[[[[dP[[[
[[[dP[[[
[dP[[[	[[[
_dP[[[@[[[
d][[[P[[[
dP[[[*[[[
dP[[[.[[["[[[
]dP[[[2[[[
[[[dP[[[3[[[
|dP[[[?[[[3[[[
DP7ogAgg
d[[[[P9.d	
@@@@@dp@A
[[[dP[[[a[[[
dP[[[a[[[
DPACADQ]O
DPAFJ_BLL]CPLPL
DPAFZ]GHDLU
D_PA@GSYZ
DPANCBHL
dParentInstanceWW0C
DPBCXMLMAH@
@dp@@@@@@@@@@@B@@dp@@@@@@@@@@@B@@dp@@@@@@@@@@@B@@dp@@@@@@@@@@@
.dP[[[B[[[E[[[
DPBKJPOKM
)))DPBOON@
d[[[[PbWgG
@dP[[[c[[[
dP[[[C[[[
D]PCAGPX
DPCBHM[N
_DPCBPQKAFK[KL
_DPCCKDNMQYCL_CKCDG
DPCCSBHA]
DPCG@HYYE@JH]@FG
d[[[pCNdR[[[
DPCXBNLM
@@@@@@@@dp@d
@@@@@dp@D
dP[[[d[[[
dP[[[D[[[
dPdL[[[	[[[
DPDPJ[PY]
]DPDS@KA]O
d[[[[ :pe
@@@@@@@@dp@E
dP[[[E[[[
@@@@@D@@_p@E
DPEG_X@QK
)))DPEHHJJLZF[@FZ
:dpentryWW
[DP]EODQ[SAK
@@@@@@@@dp@E@sG
]DPEZLYCNA
@@@@@@@@dp@f
(@@@@dp@F
@@@@@@@@dp@F
@@@@@dp@F
_dP[[[f[[[
dP[[[F[[[
DpFdz[[[
"dP[[[f[[[e[[[R
@@@@dp@Ft
@@@@@@@@dp@Fu
DPFY@JDFK@EL
DPFZ_L[Z@FGU
@@@@@@@@dp@G
dP[[[@[[[G[[[
DPGA[@LMN_M
d[[[[pg-d
dP[[[g[[[f[[[
DP@G_FJH]@FG
dpg*gwdgfG
DPGHB]]QXAMO]PBBEH
DPGHDL@Z
dPgH]@_LhJ]@_@]P
DpGlFGF5F)F
DpGnGPGMG
@)dpgppepq'
@dpgppepq
]d;pgppepq
]dpgppepq
d*pgppepq)
d-pgppepq
d[pgppepq
d|pgppepq
dpgppepq
dpgppepq	
dpgppepq)
dpgppepq;
dpgppepq|
!Dpgppepq
(Dpgppepq
;Dpgppepq
|'Dpgppepq
D pgppepq
D-pgppepq
Dpgppepq
Dpgppepq0
Dpgppepq1
dpgppepq1"A-cf
dpgppepq20*"
Dpgppepq62
dpgppepqA0U
dpgppepqap
dpgppepqc5[
Dpgppepqc l
dpgppepqDT
Dpgppepqg
DpgppepqG
dpgppepqH#
dpgppepqIIXM
D;pgppepqj
.dpgppepqK!
Dpgppepqk
Dpgppepql
dpgppepq?m
dpgppepqN
Dpgppepqn
#dpgppepqo
DpgppepqOh
DpgppepqOq
Dpgppepq;p
dpgppepqs
DpgppepqU
dpgppepqv
dpgppepqV
dpgppepqv3bm
dpgppepqW
dpgppepqWt
Dpgppepq Yj-ie
*dpgppepqz
DpgppepqZo
Dpgppept
Dpgppept|
]@DPGXY]
DPGYBEYOPLELPB
@@@@@@@@dp@GYZ
DPGZ_NGMSJMXK_EMX
@@@@@@@@dp@H
@@@@@dp@H
@@@@dp@H
_dP[[[H[[[
)))DPH[[
DPHA_AHCLBAAFHK
]DPHC]D_][
DPHCOZ]JE
dPhGM[F@My[FCLJ]hJ]@_@]P
DPHHBQ@@JC
DP[HHSLDK[E
DPHJJLZZ@K@E@]PZL[_@JL
dPhJ]@_@]P
 )))DPHMD@G
)))DPHMD@G
DPHMM[Y[FQP
DPHNLJ]PSAD
DPHSL@SLXX]OYQMJAJ
@@@@@@@@dp@Hw
DPH]X][H[XX
DPHYYE@JH]@FG
)))DPHYYE@JH]@FG]LZ]
DPHYYE@JH]@FG]LZ]
D_PHZFACXPGDHDGY
@@@@@@@@dp@I
dP[[[i[[[
DPiJHGH@Z
DPimubgfG
d_[[[p[[[j[[[
@@@@@@@@dp@J
dP[[[j[[[a[[[
_DPJAG]QCGO
d[[[[pjdd
DPJEHZZ[FFD]@DL
)))DPJE@LG]ZMLDF
)))DPJFDDHGM
DPJFDDHGM
DPJFDYHGP
DPJFEF[ZYHJL
DPJFG]LG]
DPJ[F]PQ
DP_JGOOZ
DPJH[FE@GL[LM
[DPJ_H]OJNE
DPJNCOAADMNSB_[HC
DP@JN[Q@D
DPJX_FXKK
DPJYNGNDPPHBM
@@@@@dp@k
@@@@@@@@dp@K
DP_KBBQOBCSPK
DPKBKAFXN_O[ZQNQ_GK
dPkFFBhJ]@_@]P
DPKFFELHG
DPK@GFJZ
@DPKLZ]FOOL[Z]FMHP
DPKLZ]FOOL[Z]FMHP
DPKNS@LJ
DPKOSE[M
D_PKX]MEHK
DPKXX[_KCSSJJOPH
@@@@@@@@dp@L
@@@@@dp@L)
dP[[[L[[[
DPLEM[XNCZMK
DPLGHLKQ
DP[LHML[
DP]LH_ML
)))DP[LJL@_L[@G]LG]
@@@@@@@@dp@lKc"
DpllllllllmllllOllylm
DPLMCHSKM
DPL@MJXB
DPL[MMM[[G
D@PLOOALXXB
DPLPZS]A]ZDNQ
DPLQ]L[GHE@Y
DPLXGPXO]O]QP[
D]PLXSDBNOMAN
_DPLZMPMJA
]dP[[[m[[[
dP[[[m[[[
D]PM[_BGAMJPQCD
DPMFDH@GU
DPM[F@ME@NA]
DP]]MH]CH
)))DPMH]H
DPMLZ]O@EL
DP@MOOMLHOKLLM
DPM[S[MQ
@@@@@@@@dp@N
@@@@@dp@N
"dP[[[.[[[-[[[N
dP[[[N[[[
DPNJF]OCHPK]NF[GADAYDLN
DPN[LH]ELH[G@GN
DPNXHC_HY_SQGMYCQ
D]PNXP[J_LP
DPNZGPPKM
d][[[p[[[o[[[
@DPOB@XQK
D[POFCYAL]NZ
DPOF[DDL]AFM
DPOFEML[
DPOMJBDH_NEJM_H
'DpOnlineFilePathW
DP]OOY_GDLSYZ
DPOZLHGJYGASM
@@@@@@@@dp@P
dP[[[_[[[P[[[
dP[[[P[[[
@||DP||:P||
@DPPBJP[]]XNSXCQD_
DPPCHNMCESGX[OB
DPP[DNCCJDGZ_SCJ_
DPPELNXN
D#ppfgfG
DPPFQ_OJ@
'd)Ppgggfwp
dPpgppepqp
DPPHCDKQL
@D@P@PJ@OP@P
DPPJPHYSDNM]O[HSPSO
D]PPMOZOXMNX]Z@C
@@@@@@@@dp@Q
DPQCSCL_DZQ
DP[QDC]]YDSJ
d[[[[pqEe..
D_[PQLK_
D[P[QM[L
]_DPQ_NG
DPQQLDPHX
DPQSECDG
DPQX_MLPNS
_dP[[[R[[[
D)))][PR
D_PRSSSSS
@@@@@@@@dp@S
]dP[[[|[[[s[[[
DPSBY@QS_XCJ
DPSdA[[[
_DPSDF_KSE
DPSdM[[[
[[[DPSdS[[[
DPSdT[[[
[[[DPSdW[[[
DPSdZ[[[
DPS_EP[HPQ
DPSJCHYY
DPSLKO]J]_D
]DPS[OEG
DPSSS@S|a#TRSSSSS
DPSZMQSO_
@@@@@@@@dp@T
(d][[[p[[[t[[[XJ;dK[[[
[dPTxRDXTy
dPTxRUXUBXH
D[[[P]UdW[[[
]dP[[[U[[[L[[[
DPvDH[BL]vH[LHv
DPvDPO@LEMZ
DPvEFNFGEFNZ
DPvHYYEFJBL[EFNZ
DPvHYYEFJBL[LGHKELM
DPvHYYJ[LMZ
)))DPvJFDDHGM
;)))DPvLDH@E
DPvLDH@E
DPvL_]J[LMZ
DPvMAHBHG
DPv[MYJFGGLJ]@FGZ
DPvNYFMLELNH]@FGZ
)))DPvZE@JL
DPvZE@JL
DPvZFJBL]v[LHMvYH[]vMLJ
DPvZL[_L[
_d[[[[P[[[W[[[
*dP[[[x[[[
?dP[[[X[[[B[[[
D@P]XEJK
DPXJ_DZAKOL_PNXCQ
DpxNewJob
dP[[[X[[[T[[[S
DPYAFGLLQYEF[L[
dPyAFGLnHYhJ]@_@]P
DPYC[[YNO]X
DPYDFMCX_B
DPYEHGL]
DP]YEZCYYN
DPY[FD@ZL
DPY[FJLZZAHGMEL[
DPYF[]OFE@F
DPY[@G]ZJ[LLG
DPY]MX]AEOZBG
DpywGpy@Gpy2Gpy
D[PYX]HSH
DpyyIxyyGpyyaxyyyyyyyyyyyyy9yy
DPYZOLAY
dP[[[z[[[
]dP[[[Z[[[
DPZADS_NKQ
DPZALEELQLJ
DPZDKLJG
DPZDYNXAZCZEE]AA
DPZGKD[PEL
dPz]H[]zLH[JA)(
DPZ]H[]ZLH[JA
DPZ]@JBPLELDLG]Z
?)))DPZL[_@JLJFGGLJ]
?)))DPZL[_@JLKFFZ]L[
)))DPZ@]LZ
DPZ_MJN[Y
]DPZNXLZBK
@||dP||ZP||
DPZPXEYY
DPZPZOBEN
DPZQJ[[XH
dPZXEvJFGGLJ]))
DPZXEvL[[F[
DPZXODDF
DPZ_YAOZS_
DPZYEHZA
dPzYEHZAhJ]@_@]P
DPZYE@]]L[
DPZYYPZS
DPZZNZBGB
@d@[[[q[[[
)dQ[[[?[[[
;:(dQ[[[
;dQ[[[([[[-[[[
[[[[[[dQ[[[
[[[dQ[[[
[[[dQ[[['
[[[dQ[[[.[[["[[[
[dQ[[[#[[['[[[
_d@[[[][[[Q[[[
_d[[[[Q[[[
_dQ[[[	[[[
d@[[[Q[[[
d_[[[Q[[[
dQ[[[:[[[
dQ[[[_[[[
|||||||DQ
dQ[[[0[[[
(dQ[[[;[[[1[[[
.dQ[[[1[[[0[[[
|dQ[[[2[[[
d[[[[Q2Ed
_dQ[[[3[[[([[[3
d[[[[Q4Ed
[[[dQ[[[5[[[
dQ[[[5[[[
||||dQ8(
dQ[[[	[[[8[[[Z9adX[[[
dQ[[[9[[[
D[[[Qa0dM[[[
D@@@@@q@@A@AAac
DQAAHZ]XOYGBNKP
DQAFPCHLLD
dQ[[[a[[[g[[[
dQ[[[A[[[G[[[p
DQAHHFBGN[KBHBNEOG
DQA_JS]JP
]DQAKS]NDLC
DQALLQXDBCM_
DQAMGXDN]QG
dQ[[[b[[[
dQ[[[B[[[@[[[
DQbaxFLG
DQBJLLC_
DQBLSZYZBXP
D[QBP[PDN
dQ[[[c[[[
dQ CCNCCCBACC
DQ]_CCQX
D_QCKJM@X
DQCLZPNCZOSE[PYQB
DQCOZ@ZMGX
D[Q]C__Y
||D)||Q*||D
DQ_DCXGE
[DQDJSLCESN
DQDJXYJZ
dQdK[[[B[[[@[[[
DQDKLLYJ]X[
DQDMKKG@]
DQdM[[[Z[[[
DQDNAY_Z
[D[QDQLCBBLZ
DQD]YGHKMDYYC
DQD[YPGOHDAH@S
dQ[[[e[[[
.dQ[[[E[[[
dQ[[[E[[[
*d#q|e9n
_DQEC[JGZ]JNQ
d||qe||(G||de||Me|| G||He||1e||
DQEHGM@GN
[DQEJMYJB
D[QEOJGDQSA
DQEOO[HDQDBE
d||qe||Pe||1e||
dQEyBKBrdQEyPBr
dQEyBVBTLG9
dQEyBVBW
dQEyBVsS
DQEYDQ_GO]JSOOK
dQEyE@VEBT
dQEyE@XEBC
dQEy[L_9
dQEyQBEsSRSSsSSS
dQEyQBKsRRSSsSSS
dQEyQBTL
dQEyQBWL
dQEyQBXsSRSSsSSS
dQEyQ[LosSSS
dQEyQ[LXsSSS
dQEyQ[ssCSSsSSS
dQEyQTIsSSS
dQEyQTsSQSSsSSS
dQEyQT[sSSS
dQEyQ[UsSSS
dQEyQZL@sSSS
dQEy[TdQEyQ[ZsSSS
dQEyTUdQEyTM
dQEyUTdQEyUM
@]dQ[[[f[[[
[[[dQ[[[f[[[
dQ[[[f[[[
d[QFe[Add[
dqfllllllllmllllOllylm
DQF l;qlxo
DQ_FMABK[LQQFQXA[HOBQ
DQFSYY[D
dQFyEYB[@TEBT|
[[[dQ[[[g
dQ[[[@[[[G[[[
dQ[[[G[[[
dqg7xgfG
DQGAZCQHLYD
D]Q_[GBXS]YP_KZ]
d[[[[qg.d
D]QGEZSZO
DqGhGcGTGOGFG1G(G#G
DqGIGAG5G!G
DqGiGeGMGEG1G
dQgKkgfG
DQG_LDQG_L
D]QGLHMHN]
dqgmfgfGj
DqGmGeGUGMG!G
DqgocgfG
d_qg@O#j
DQ]GQEAOSYQ
DqgQegfG*
DQ]gqgg!
DQgqgg_ 
Dq:gqggX
DqGuGiG]GMGAGEG-G
DqGUGIGMGEG
dQ[[[G[[[y[[[-
DQG[@YGL__
DqGYGQGMG5G-G
:dQ[[[h[[[
dQ[[[h[[[
;dQ[[[H[[[
?dQ[[[H[[[
DQHAKZP]CX_ZXZ_
dQ[[[h[[[b[[[Oe-dT[[[o[[[n[[[
]@DQHDD@
DQH[EHXGC@@K[E[
DQHEP@[H
D@QHEYAH
DQHHKZOOG
D]]Q@[HJH
DQ@HK_LHGX[LBNAB
DQ]H@_LBOKHXAHB]EP
DQHM@DKGGA
dQ[[[H[[[M[[[q
@DQHND]ENH@XN
DQHXCJPQP
.dQHxfxn?d
D[QH_YZP
#dQ[[[i[[[
dQ[[[i[[[
dQ[[[j[[[
DQJAQEHO
DQJC]FD[YEDJDN
]DQJDBCAY
]dQ[[[J[[[I[[[
DQJOECSS]L[AGL
DQJ_PZ_X
[[[d_[[[Q[[[K[[['
D[QKACXZ
DQKCC[M_MO
[DQKC]LO
DQKC[XXJYXQ
DQKKDAO_
DQ_KMBA]FN
dQ[[[k[[[o[[[
D_QKOZBBMD
DQKZ]@QZ
!dQ[[[l[[[
dQ[[[L[[[
DQLBGFFEJJ
D@QL@DKE[SXY
DQLDM[ASLYAC]
DqLdO[[[
dQ[[[L[[[F[[[
DQLKGGDKD[DLHBAYJ
DQ@LK_KJ
dq"llllllllmllllOllylm
DQllllllllmllllOllylm
DQL[LZGO
DQLN]OHM]EK
@DQLQN_QJBG
DQLZ@DD[OAX@]B
DQ_LZX[L
]dQ[[[][[[M[[[!
DQMAGCMB]XC
DQM_CGMJLSLF
dqMdL[[[
DQMDXKMLJA]@D[N
@dQ[[[M[[[F[[[
_D_Q[MOAFSOCKQODSGA[C
d[[[[QMod
DQMOGXHJNY
DQ_MPDEZ
DQNAJOJ_]HD
dQ[[[n[[[l[[[
[DQNQ[_C
D[@QN@QQ
dQ[[[o[[[
DQO_BM]G
[DQOCZPYQNX
_DQO_H[OKK
D@]_QOJ[X
 dQ[[[O[[[M[[[u
]DQOSBQDPBMX]PB@SS]F
[d_[[[Q[[[P[[[
@@@@@D@@qp@Akml
DQPD]CDS]PQLLB
DQPEQSGS
DQpgppepq
DQpgppepq.
D@qpgppepqs
dQpgppepqX
_dQ[[[P[[[H[[[
*dQ[[[p[[[k[[[
DQ[PLQ[KK
DQ_P]_NS[M
[DQPPB]SN]KYN
_DQPQ_ONZ
d][[[q[[[p[[[t
d_[[[Q[[[P[[[U
DQPYZPNGZO
dQ[[[q[[[
_dQ[[[Q[[[
dQ[[[_[[[Q[[[
DQQABDMP
DQQAQBPB
DQQBAOCMPXM
DQQBCCGLAOONKJ
DQQCQ_A_QQ[MDJS[GB]
DQ]QDHGP
dQQ*empbd
DQ_QG]EYN
_DQ@Q_JS]PSDZ
DQQOKDNYS_JLGM
dQQQ622c
DQQY]BDY
_dQ[[[r[[[
d[[[[qRgd
dQ[[[r[[[t[[[
dQ[[[|[[[s[[[
:'[dQ[[[S[[[
DQSL[O]GNSJCCMZ
DQSOBDO_
_dQ[[[s[[[q[[[
DQSQJFP[BDJFP
DQ(@SSWT
DQ[S]YYJHO
*dQ[[[u[[[
dQ[[[U[[[
dQ[[[u[[[k[[[
dQ[[[v[[[
dQ[[[V[[[
")))DQv[LJF[M
dQ[[[V[[[T[[[
dQ[[[W[[[I[[[
_dQ[[[W[[[U[[[
DQWYScSS
|dQ[[[x[[[
DQ[_XDNAP
_dQ[[[x[[[h[[[ 
DQ_XHDJ_
DQ_XH]@SYML
[DQXPOXLP
D[[[QXX]]M@
DQYBZN_X
DQYK_ZZKK
]dQ[[[z[[[
dQ[[[z[[[
DQZ_A]PE
DQZ_C[SNS
_DQZE[LXAZ
DQZO_JGDYBS
DQZPQXJQH
DQZQXAGF
[DQZSOKNB
DQ]ZXGYP
D[Q_ZZOY]
d][[[r[[[
'[[[[[[dR[[[
?dR[[[*[[[
[[[[[[dR[[[
[[[dR[[[
[[[dR[[[)[[[([[[
_d_[[[R[[[
d_[[[R[[[
dr1Ke	fXd
[dR[[[8[[[4[[[
d@@@@@r@@A@AAac
Dragdrophandler
DrawEdge
DrawFocusRect
DrawFrameControl
DrawIconEx
DrawStateW
DrawTextExW
DrawTextW
DrawThemeBackground
DrawThemeText
DrawThemeTextEx
dR[[[b[[[
[dR[[[d[[[
_dR[[[D[[[
dR[[[D[[[
DRD:D#D	D
DrDSDODBD
dRdX[[[n[[[
'dR[[[e[[[
dR[[[e[[[
d||re||be||Le||Ge||1e||
;dR[[[E[[[k[[[
dR[[[f[[[
[[[:[[[Dr@f@[[[
[[[Dr@f][[[
[[[Dr@fB[[[
[[[Dr@fC[[[
dR[[[f[[[d[[[
[[[Dr@f@[[[d[[[
dR[[[f[[[d[[[k
dR[[[f[[[e[[[
[[[Dr@fF[[[
[[[Dr@fJ[[[
[[[Dr@fL[[[
Dr@fL[[[
[[[Dr@fM[[[
Dr@fM[[[
[[[Dr@fT[[[l[[[
[[[Dr@fy[[[
[[[Dr@fZ[[[
[[[Dr@fz[[[m[[[a[[[
Dr@fZ[[[u[[[h[[[@
@dR[[[g[[[
dR[[[g[[[
!dR[[[G[[[|[[[
drg'egfG#
DrGIGFG5G
d;RgIkgfG
DRg'kgfG
D	rgqggK
drgqgg	kY
DR.gqggm
dR[[[G[[[z[[[
dR[[[H[[[
_dR[[[i[[[h[[[
DriverData
DriverEnd
DriverEntry
Driver failed to register PMI callback
DriverLoad
driverlog
driverModel
DriverModel
DriverModelChangePending
.driver_name
drivername
DriverName
DriverNameHash
Driver Object
DriverPackageClose
DriverPackageGetPropertyW
DriverPackageOpenW
driverpath
__DriverPtr
DriverStart
DriverUnload
_dR[[[k[[[n[[[
DrllllllllmllllOllylm
DR llllllllmllllOllylm.:
dr@-llllllllmllllOllylme
d[[[[rMAg
dRMdO[[[
d*))rMEE@DYF[]
*dR[[[n[[[
dR[[[n[[[
dR[[[n[[[m[[[
?dR[[[o[[[
dR[[[o[[[
Dr@@@@@o@@A@AAac
dR[[[O[[[M[[[
DRootNode(
Drophandler
DroppedDetectionsCount
DroppedMissingProcessNotification
Dropping SigTrigger
DROP TABLE IF EXISTS File; DROP TABLE IF EXISTS FileInstance; DROP TABLE IF EXISTS ProcessInfo; DROP TABLE IF EXISTS RecordIdentifier; DROP TABLE IF EXISTS ScanInfo; 
DROP TABLE IF EXISTS TrustedInstallerHistory; 
droptype
@dR[[[p[[[c[[[
@D@!rpgfGL
dR[[[p[[[k[[[
d[[[[r[[[q[[[
dR[[[|[[[s[[[
|dR[[[S[[[
DRSc:ZSSS@Sb;
dR[[[s[[[r[[[
DRSRS3:ZSSS@SYKRSRS
DRSSBIsSCSS
dRSSBTLA
dRSSBUK9
dRSSE@UBUD
DRSsJXSSS@S
DRSSUsSRSS3YkCRSSTD
dR[[[S[[[V[[[
d[[[[rtAg
!!d][[[R[[[T[[[JJ;dT[[[
dR[[[T[[[K[[[9
dR[[[u[[[
d)))Ru[]O
D)))Ru[]O
drvstore.dll
_d[[[[r[[[w[[[2
dR[[[w[[[v[[[
dR[[[x[[[
dR[[[X[[[L[[[
d)))rZPZ]LD
_d_[[[s[[[
 dS[[[([[[#[[[
'dS[[[![[[ [[[
[[[	[[[[[[dS[[[
[[[[[[dS[[[
[[[[[[dS[[[)
[[[dS[[[
[[[dS[[[-
[[[dS[[[-[[[#[[[
[d@[[[S[[[
]d@[[[S[[[
dS[[[	[[[
dS[[[ [[['[[[
dS[[[-[[[
dS[[[.[[[
dS[[[;[[[?[[[
[[[dS[[[0
?dS[[[1[[[
dS[[[?[[[3[[[
d@S6d@S)d@S
)||d*||S*||7*||
dS[[[7[[[5[[[	
)Ds7*Jhggfw
dS[[[9[[[
dS[[[9[[[3[[[
@dS[[[9[[[6[[[
(dS[[[A[[[
DSACPKMBM
DSADJ_OS_XHB
DSADSMKBPSL
_DSAHH[LOJKOSB
DSA][]HMPZJ
DSAKDBLKQYBJD
dsaLHML[
dsaLHML[))
dsaLHML[mLJ))
DSAPNQMAJY][PEDKSL
dsapp.cpp
DSAQ_NZC_O
DSASZPKZ
DSAYZBHXGKHH
DSBG]X[P
DS[B_]HOKJ]
DS[BLKZQ
DSBP_P]N
DSBY]YSGLNZ
DS]]CHXP
DSCZHYZX
d[[[[s'#d
d[[[[	S'd
dS[[[d[[[
 dS[[[D[[[
d][[[S[[[D[[[
DSDECS]D
DSDJAPLDN
DSDJMJXY
dS[[[D[[[k[[[z
dS[[[D[[[n[[[
DS_DPYHXOOQ_XKEONQQJX_K
DSD]SP[PZGBS@ZGK_
*d"!SdTP
dS[[[D[[[z[[[
]dS[[[e[[[
_dS[[[e[[[
dS[[[e[[[
:dS[[[E[[[
dS[[[e[[[d[[[]
DSEDXXYNFO_MG
DSEPPGSNHJM
D[SEQSLO
DSEXLKN]SJYPAAZOSF[YB
dS[[[F[[[
DSF_BN@SL
[[[[[[dS[[[f[[[d[[[
DSFGQAG[NG[
DSFJOCLNGEQA]YG
DS[FM[JQ@K
dsftmediaresource.cpp
dsftmediaresource.h
dS[[[g[[[
:dS[[[G[[[
DsG0G4G*G
Ds'g)agfG
DSGC]BQNZXCXZ[ONP
DSGCG?G!G
DSGEAQ]XF
DsGetDcNameW
]dS[[[G[[[E[[[v
D[SGE]ZBMXZQ__CM_N
D]]SGGMKL
DsGiG*G G
DSGLYZNMLX]M
D_SGMD_SGM
DSGPAO@OD
DSGSEHODS]N
DS]]GSX]
DSgUdgfG
DSgwjgfG
D]SGYLECQK[
DSGZ_OMDOP
D@]S_HADHGYAF]FZ
DS_HCBSS
[[[dsHdP[[[
]DS]H@[M
dShSdmg]sn
DSHSDMG]SN
D_SHXBBPY
[[[DsIdB[[[
d[[[[Sipf
DSJDDXQN
D]SJFCDNP_
DSJJP[_BJZ[]BQJDABX
DSJJQHKZHK]
DSJLMZXO[
D@SJYJDMHQDG
DSJYK]SXXO_SZXZES]H[XYKGS[FLJL
|dS[[[K[[[
dS[[[K[[[
DSKGAQO_LGDCKQZKZP]CEF
dS[[[k[[[j[[[8
(dS[[[k[[[j[[[p
DSKXALGGP
DSK_XE@G
(dS[[[l[[[
dS[[[L[[[@[[[]
!dS[[[L[[[C[[[v
@dS[[[L[[[E[[[
|dSlgAgg
d@SLGF]H
DSL[HY[XODN
D]SLHZN_YDN]ADOX
DSLJH@GELA
DslO-MlD
_DSLQAL@
DSL[SO@S
_dS[[[m[[[b[[[
DSMJXJXG
DSMMGZOO
DSMOJJX_XO
D_S]MS[GZS
DSMXDFZ_
dS[[[N[[[
dS[[[n[[[c[[[
(dS[[[n[[[l[[[
_DSNQGMZ]Z
D_S[NXJYE
dS[[[o[[[
[[[dS[[[O[[[
DS]OAQAOH
D_SO[CHS
DS]O]CPOSKK
DSOQ][CKZGABPLJH]YD
]DSOSCAO
DS_]OSZAXXZLQ
DS]OZXD_GSBN
]DSPADDCXD
dsPd[[[[B[[[
DSPDNPQE
DSPEEYHX
DspgppepqG
Dspgppepq' -p
DSP[MZSACPNXA
DSPSJGN[
dsPUgUTD
_dS[[[p[[[w[[[
DSPYKXYQQD[
dS[[[q[[[
DSQDYNLOOOOAB
DSQNCD_O
[dS[[[Q[[[V[[[
DSQZXE@CG
_dS[[[_[[[R[[[ei
#dS[[[r[[[i[[[l!
dS[[[r[[[q[[[
[[[dS[[[s
DSS8DSS*DSS
DSSCSSSWSSS
d[[[[s)Sd
dsservice.h
DSSGZOK[JX
DSSNFEK[
DSSNSSSSSSSSSSSSSSSSSSSSSSSSSSS)FSS
dssrecoveryreportsdropped
dsssource
dssspynetcontext
dSSSQSSSTSSS_SSSBSSSESSSHSSSsSSSvSSSySSS|SSS
dSSSSSS!#5
DSSSSSSPSSS#GSS
dSSSSSSS
dSSSSSSSS
DSS[SSSTSSS
@DsSTSS@XxYB[@DTB[
_dS[[[S[[[V[[["
DSSVSSSVSSS
_DSSX]JP
[dS[[[t[[[i[[[
d@STk@SEk@Svk@Sfk@S
d!sto!ho
?DSTYuFI
[[[dS[[[v[[[
dS[[[v[[[k[[[	
_dS[[[V[[[N[[[
[[[dS[[[V[[[o[[[
 dS[[[V[[[U[[[
_dS[[[w[[[
dS[[[w[[[n[[[G
dS[[[w[[[v[[[
[[[dS[[[x[[[
DSXLGQCZ]]
D@S[XM_@@GOJYSL
DS@XMQZK[GNN
DSXQ[]SZLLODCBJ[JMNY
D_S_YAKMA
DSYBH]GGQC]BDOLNHGQG]]M
]DS_YB[NPABA]
]DSYCX_@@LHHJA
d[[[[Sy-d'
DSYGDMBHOF@EDQLQGP
DS[YJPYD
dsykgsy@gsy	gsy
[dS[[[y[[[l[[[
D_SYLHE_
DSYLXBQL
DSYNS_E@
DSYS_MKGQNG[Q
]DSZGDHP
[D_SZGGS_QMO
D@SZK@SJK@SxK@SjK@S
D_SZMKN[_
D_[SZPSMADCCCEGGFM_JLYAMMS
D]	s#zqk
dS[[[Z[[[t[[[]
d][[[t[[[
	dT[[[*[[[)[[[
	dT[[[:[[[?[[[
![[[[[[dT[[[
"dT[[[*[[[
@dT[[[|[[[
[[[[[[dT[[[
[[[[[[dT[[[;
[[[dT[[[
[[[dT[[[ [[[
[[[dT[[[#
[[[dT[[[?
_d@[[[T[[[
_d_[[[T[[[
d][[[T[[[
dT[[[#[[[
dT[[[:[[[
dT[[[|[[[
(||D)||T
dT[[[?[[[0[[[
dT[[[0[[[
[[[[[[dT[[[1
d[[[[T1;g
_dT[[[2[[[7[[[
dt2gqgg"
_dT[[[3[[[
dT[[[5[[[
'dT[[[5[[[*[[[K7
[[[[[[dT[[[6
[[[dT[[[6[[[)[[[
Dt7llllllllmllllOllylm
Dt7llllllllmlll]Y]]
dT[[[8[[[7[[[
dT[[[:[[[8[[[_JsdA[[[9[[[
dT[[[9[[[
dT[[[9[[[1[[[
dT[[[9[[[8[[[
[[[dT[[[a
dT[[[A[[[
]'dT[[[A[[[F[[[
 *dT[[[b[[[
.dT[[[b[[[
[[[[[[dT[[[b
[[[dT[[[b[[[
)dT[[[c[[[
dT[[[c[[[e[[[
dt_continue_after_unpacking
dt_continue_after_unpacking_damaged
[[[[[[dT[[[d
[[[dT[[[d[[[
dT[[[d[[[
dT[[[D[[[
dtDdO[[[
dtdK[[[m[[[
d||te||[e||:e||
dt 'eKlmd
 dT[[[E[[[q[[[
dt_error_bb_limit
dt_error_failed_to_translate
dt_error_heur_API_limit
dt_error_heur_exit_criteria
dt_error_invalid_opcode
dt_error_loop_too_complex
dt_error_not_enough_memory
dt_error_too_many_operands
dt_error_too_many_prefixes
dt_error_vmm_page_fault
dT[[[F[[[E[[[h
D@TF@VWL?9
dTg@@@@@
dT[[[g[[[e[[[v
DTggdgfG
DtGmGaGeGYG]GQGUGIG
DtGMGGG3G
dtgWegfG
)d@[[[t[[[h[[[
dT[[[h[[[
@dT[[[H[[[O[[[4
'?dT[[[i[[[
dT[[[i[[[
]'d_[[[T[[[I[[[#a
@dT[[[I[[[O[[[
[||dT||IT||*T||
dT[[[J[[[
dT[[[j[[[o[[[
[[[[[[dT[[[k
[[[dT[[[k
D@Tk	USSBWWLG9
D@Tk_USSUD9
d@[[[t[[[l[[[
DTllllllllmllllOllylm
DtllllllllmllllOllylm?T
[[[[[[dT[[[m[[[
[[[dT[[[m
dT[[[m[[[
dT[[[M[[[@[[[
dT[[[M[[[F[[[
dT[[[n[[[e[[[
dtNEe|#:d
dT[[[n[[[m[[[
@dT[[[o[[[
d[[[[T[[[O[[[
dT[[[O[[[5
#]dT[[[O[[[G[[[
;dT[[[o[[[n[[[]
dT[[[p[[[
DT_params
dtpgppepq
d|Tpgppepq
[||dT||PT||0T||
dT[[[Q[[[
D||T]||Q]||
dT[[[q[[[p[[[J
dT[[[r[[[
[dT[[[R[[[
dT[[[-[[[#[[[R
dT[[[R[[[Q[[[
dT[[[R[[[W[[[2C(d_[[[Q[[[
dT[[[s[[[
dT[[[S[[[Q[[[?y4eA[[[
?dT[[[t[[[
d[[[[_Ttd
[[[DTTdK[[[k
[||dT||TN||
dT[[[U[[[
[[[dT[[[v[[[
d[[[[tV4d
dT[[[v[[[j[[[
DT_VMP_32
DT_VMP_3H
dTVZe:@id
d||||||||||||||||||tW||||||||||||||||||||||||||||||||||||||
[[[dT[[[w
'dT[[[W[[[
[dT[[[W[[[
dtWindowActivateWW
dT[[[W[[[K[[[
d[[[[TWld
dT[[[x[[[
;dT[[[X[[[
dT[[[X[[[
||||d|||||||tY
dT[[[*[[[)[[[y
Dt?]Y]]s
_dT[[[Z[[[
dT[[[Z[[[
dT[[[Z[[[ 
d[[[[T'Zfd
[d][[[u[[[
d][[[u[[[
!dU[[[.[[[
(dU[[[	[[[
-[[[[[[dU[[[
@dU[[[;[[[
[[[[[[dU[[[
[[[dU[[[
[dU[[[|[[[
]'dU[[[	[[[
]dU[[[([[[.[[[
]dU[[[*[[[([[[
_dU[[[@[[[
dU[[[.[[[
dU[[[:[[[
dU[[[?[[[
dU[[[][[[
dU[[[_[[[
*du0lz#Df1g
"dU[[[1[[[6[[[I
dU[[[1[[[7[[[
d[[[[u4@d
[dU[[[5[[[
[dU[[[5[[['
[dU[[[6[[[
dU[[[9[[[8[[[n
]dU[[[a[[[
d@@@@@u@@A@AAac
d[[[[Ua"f
d)))uAHZ]
[[[[[[dU[[[b
dU[[[B[[[
dUBUL	eKBUL2dUBUL)e_BULcdnBULjfd[T
dUBWL	eKBWL2dUBWL)e_BWLcd
dUBWL	eMBWL2dUBWL)eABWLc
d[[[[uBzf6
dU[[[c[[[
dU[[[C[[[
dU[[[c[[[a[[[u
d[[[[uCld
[[[[[[dU[[[d[[[
d[[[[U['d
DuDkDaDgD]DSDIDODED;D1D7D-D#D
[[[dU]dV[[[9
dU[[[e[[[
dU[[[E[[[o[[[u
(dU[[[f[[[
[[[dU[[[f[[[
dU[[[f[[[
d)))u_FN@ZA
_dU[[[F[[[x[[[6
dU[[[g[[[
"dU[[[G[[[
Dug7ogfG
DUG@GrFVF
DuGHGNG7G
Dug'igfGH
DuGiGIGMG-G!G
DuGiGmGQGAGEG9G!G	G
DUGLGGG"G
DuGmGeGQG9G5G
DuGmGQGMGEG
Dugnpgppepq
_dugqgg!
d)))uHYYMH]Hu[FHD@GNuD@J[FZFO]uZ]F[LuEF]
DUI70.dll
DuiCreateObject
dU[[[J[[[
d][[[U[[[J[[[gg
DuJhggfwv
dUjYes	te-p
dU[[[k[[[
|d][[[U[[[K[[[MJ;dO[[[
dU[[[l[[[
dU[[[L[[[
dU[[[L[[[C[[[
dullllllllmllllOllylm
dUllllllllmllllOllylm
dumb_client_mocks.h
*dU[[[M[[[i[[[P
dummybin
DumpFile
[[[dU[[[n
dU[[[N[[[
*dU[[[o[[[
[[[dU[[[o
dU[[[o[[[
D)))u[]O
]dU[[[o[[[l[[[
d[[[[u[[[o[[[u
[dU[[[p[[[
_dU[[[p[[[
Dupgppepq
DuplicateHandle
DuplicateIcon
DuplicateToken
DuplicateTokenEx
@dU[[[@[[[p[[[u
DupWithNewFlag
[[[dU[[[|[[[q[[[
dU[[[q[[[p[[[
dU[[[Q[[[P[[[g
dU[[[q[[[t[[[
@dU[[[R[[[
dU[[[R[[[
duration
Duration
durationMs
duRdW[[[Z[[[
]dU[[[s[[[
DUsCRSS9
DUser.dll
dU[[[s[[[p[[[
(dU[[[t[[[
]'dU[[[t[[[
dU[[[t[[[
]dU[[[u[[[
"dU[[[U[[[
dU[[[U[[[
d"UUBUU*
d UUBUU4
d!UUBUU5TUeDtv
[[[[[[dU[[[u[[[h[[[
dUUJUU]d
dUUKUUvF
dUUnUU9J
 dU[[[u[[[t[[[
[[[dU[[[u[[[t[[[
dUUtUUhI
dUU|UUel)H
D[[[UuWdx[[[
dUUzUUGr
-dU[[[v[[[
*dU[[[v[[[n[[[l
[dU[[[v[[[t[[[[
[[[[[[dU[[[w
dU[[[w[[[
_dU[[[W[[[
[[[dU[[[x[[[
;dU[[[X[[[
dU[[[X[[[
D@UxoBWs
@dU[[[X[[[S[[[
D@UxtD@UxqUD9
dU[[[y[[[
dU[[[Y[[[
DUYUUURUU
Duyyyyyyy
*dU[[[Z[[[@[[[
;dU[[[Z[[[
[dU[[[Z[[[
]dU[[[Z[[[
_dU[[[Z[[[
dU[[[Z[[[
dU[[[Z[[[1[[[NWAdY[[[Y[[[f[[[F
d)))uZAF[]JJJKFFZ]
d)))uZAF[]JKFFZ]
dU[[[Z[[[B[[[
dU[[[Z[[[C[[[
?dU[[[Z[[[E[[[
Du|zEu|qEu|iEu|bEu|NEu|5Eu|"Eu|
dU[[[Z[[[M[[[
dU[[[Z[[[N[[[
dU[[[z[[[y[[[
[d][[[v[[[
d@[[[v[[[
d][[[v[[[
d_[[[|[[[v[[[
 dV[[[([[[
"d_[[[V[[[
*:(dV[[[
[[[[[[dV[[[
[[[[[[dV[[[-
[[[[[[dV[[[:
[[[dV[[[
[[[dV[[[	
[[[dV[[[	[[[
[[[dV[[['[[[
]d][[[V[[[
_d[[[[V[[[
d@[[[V[[[
d[[[[V[[[
dV[[[ [[[
dV[[[![[[
dV[[[![[['[[[-
dV[[["[[[
dV[[[:[[[
dV[[[@[[[
[[[D[[[v[[[
dv1mgfG)9
[[[dV[[[3[[[2[[[
[[[dV[[[4
[dV[[[4[[[
dV[[[4[[[
dV[[[4[[[([[[
[[[dV[[[5[[[*[[[
dV[[[6[[[4[[[Z
dv7gqggF
dV[[[:[[[8[[[
dV[[[8[[[?[[[
?dV[[[8[[[1[[[
"dV[[[9[[[8[[[
d[[[[	'va
[[[dV[[[a
[[[dV[[[a[[[
dV[[[A[[[
[[[[[[dV[[[a[[[g[[[
dV[[[b[[[
[dV[[[B[[[
dV[[[B[[[
?dV[[[b[[[a[[[
d@@@@@v@@B@ACac
dvB.di6uf[[
d[[[[Vbfd
[dV[[[B[[[v[[[
[dV[[[c[[[
dV[[[c[[[
dV[[[C[[[A[[[
dV[[[c[[[b[[[
[dVCCNCCCBACC
dvCdO[[[
DvC@]JFMLvHMM[
(dV[[[d[[[
[[[[[[dV[[[d
[[[[[[dV[[[d[[[
dV[[[d[[[
'dV[[[D[[[
]dV[[[D[[[e[[[
[DvDFM))
DvDnD_DCD
[dV[[[e[[[
dV[[[e[[[
d*VeA@B@[pTL
DvEGA]FQGHGZ
DvEKCGPPJD
_dV[[[_[[[E[[[t
dV[[[F[[[
DvFeFyyy
:)))DvFZ][@GNY@MC
[[[[[[dV[[[g[[[
[[[dV[[[g[[[
dV[[[g[[[
(dV[[[G[[[
dV[[[g[[[e[[[
@dV[[[G[[[E[[[
dV[[[g[[[f[[[
DvGlG@G.G
dvgqgg:l
dV[[[H[[[
dV[[[H[[[j[[[(:
[[[dV[[[h[[[o[[[
dV[[[i[[[
|d_[[[v[[[j[[[
[[[[[[dV[[[J[[[N[[[
dV[[[k[[[
dV[[[l[[[
DvLGHKELM
	d_[[[v[[[m[[[
dV[[[M[[[
[[[dV[[[m[[[c[[[?c|dZ[[[l[[[
DvMdU[[[
#dV[[[n[[[
dV[[[|[[[n[[[|
dV[[[n[[[
d[[[[v;Nd
._dV[[[N[[[M[[[
dV[[[o[[[b[[[
dV[[[O[[[B[[[i
d|voeo7ogo
]dV[[[o[[[f[[[
D|vofo9ogo
Dvpgppepq
dV[[[p[[[k[[[
dV[[[q[[[
d[[[[VQog
dV[[[q[[[p[[[
dV[[[q[[[w[[[
[[[dV[[[R[[[
DVRQQQQVWvW6W
[[[dV[[[s[[[q[[[
dV[[[s[[[r[[[
'?d[[[[V[[[T[[[2
_dV[[[T[[[J[[[
[[[dV[[[u
dV[[[u[[[
d_[[[V[[[U[[[
dV[[[u[[[c[[[B
dVudA[[[
dVudI[[[v[[[j[[[M
[[[dVudL[[[
[[[dVudL[[[_[[[@[[[8
[[[dVudL[[[_[[[A[[[
[[[dVudN[[[X[[[M[[[
dVudS[[[
[[[dVudU[[[X[[[
[[[dVudy[[[_[[[U[[[
dVudZ[[[h[[[
dVudZ[[[w[[[v[[[q
[dV[[[u[[[h[[[
dVUL	eIUL2dVUL)eCULc
dVUL	eVUL
]@dV[[[V[[[
dV[[[V[[[
"dV[[[w[[[
dVwgqgg*m
dV[[[W[[[V[[[
dV[[[X[[[
@[D@VxcB@
"dV[[[X[[[T[[[
@_D@VxTUB[H
dV[[[y[[[
dV[[[Y[[[
D]vYHPvJALJB
[[[dV[[[z[[[
dV[[[z[[[
	dV[[[Z[[[
(dV[[[Z[[[
[dV[[[Z[[[
_dV[[[Z[[[
|dV[[[Z[[[
dV[[[Z[[[
dvzALL]v
?dV[[[Z[[[B[[[
dV[[[Z[[[C[[[
*dV[[[Z[[[D[[[
dV[[[Z[[[K[[[4
dV[[[Z[[[M[[[V
_@DvZXELQY
dV[[[Z[[[y[[[
@d][[[w[[[
]d_[[[w[[[
_d@[[[w[[[
?dW[[[ [[[
[[[[[[dW[[[
[[[[[[dW[[['
[[[[[[dW[[[;
[[[dW[[[
[[[dW[[[ 
[[[dW[[[:
d_[[[][[[W[[[
dW[[[	[[[
dW[[[([[[
dW[[[;[[[
[dW[[[0[[[
dW[[[0[[[
DW0IFxyxtyx'
	dW[[[1[[[
|dW[[[1[[[7[[[
]dw1llllllllmllllOllylme
	dW[[[3[[[
[[[dW[[[3
dW[[[3[[[2[[[lK
dW[[[4[[[
dw]'5'ER
[dW[[[7[[[
dW[[[7[[[5[[[9
DW7Fyx6y*x
dW[[[:[[[8[[[
dW[[[8[[[
[[[dW[[[9[[[8[[[
	dW[[[9[[[?[[[9
DW9Fzxty:
]dW[[[:[[[9[[[k
DWAAAAA@AAAAAC
dwAlignPadWW
DW@@@@@@@@AQ@Ze
?.dW[[[B[[[
dWBUxQBV@UBVD
dWB[xWBW[
[[[[[[dW[[[C[[[A[[[l
[[[dW[[[d
dW[[[D[[[
DwD[DSDGD?D#D
?d-#wdLT
?#DwD#?wD#
dW[[[E[[[
dW[[[E[[[D[[[r:cdM[[[
d||we||Pe||;e||
d[[[[wEYg
;dW[[[f[[[
_d@[[[W[[[F[[[
dW[[[@[[[F[[[
dWgadgfG
dW[[[g[[[f[[[5
dw-g_fgfG"
D!WGigfG1C	
DwGoGSGyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?x4#
dw*gqggy
dWgsfgfG
DwGTG)G!G
"dW[[[h[[[
[[[[[[dW[[[h
d[[[[]wHd
dwHighDateTimeWW
 dW[[[H[[[N[[[
dW[[[I[[[H[[[
d[[[[w[[[j[[[:
@dW[[[j[[[
[[[dW[[[j
dW[[[J[[[
[[[[[[dW[[[k
[d][[[W[[[K[[[
dwKdN[[[
dW?ke_]Sd
[[[dW[[[l
[[[dW[[[l[[[d[[[
dwllllllllmllllOllylm
dWllllllllmllllOllylm6
dwLockTypeWW
dwLowDateTimeWWW(
dwmapi.dll
[[[dwMdO[[[
DwmExtendFrameIntoClientArea
DwmIsCompositionEnabled
DwmSetWindowAttribute
dW[[[O[[[N[[[2
dword ptr 
dwOrigin
.dW[[[p[[[
'dW[[[p[[[w[[[x
dW[[[Q[[[P[[[w
d][[[_[[[W[[[qT
*dW[[[q[[[v[[[
[[[dW[[[|[[[r[[['
@dW[[[R[[[Q[[[
[[[dW[[[s
_dW[[[S[[[
@dW[[[S[[[L[[[
)dW[[[s[[[p[[[Q
[[[dW[[[s[[[r[[[2
d@[[[w[[[t[[[
[[[dW[[[u
dW[[[U[[[
d[[[[[WUg
DwUgqgg@
dW[[[u[[[k[[[
d_[[[w[[[v[[[
?Dw???wD#
;dW[[[w[[[v[[[
dW[[[@[[[x[[[
dW[[[x[[[
dW[[[X[[[
dW[[[X[[[][[[
dW[[[Y[[[
dW[[[y[[[s[[[
;dW[[[Z[[[
_dW[[[Z[[[
dW[[[Z[[[
)))DwZAw]wHAw]]wYw
dW[[[Z[[[O[[[
dW[[[z[[[q[[[
	-dx[[[:[[[?[[[
;dx[[[.[[[![[[
@dx[[[.[[[
[dx[[[*[[[
|||dx|||
d][[[x[[[
dx[[[	[[[
dx[[[)[[[
dx[[[.[[[
dx[[[;[[[
	[[[[[[dX[[[
@#[dX[[[
[[[[[[dX[[[
[[[dX[[[
[[[dX[[[ 
[dX[[[?[[[
dX[[[ [[[
dX[[["[[[
dX[[[;[[[:[[[
!_dX[[[0[[[
[[[[[[dX[[[0[[[)[[[
-dX[[[1[[[#[[[
dX[[[3[[[2[[[
[dX[[[3[[[7[[[D
(dX[[[4[[[
dX[[[4[[[
d[[[[X"4d
dX[[[5[[[
_dx[[[6[[[
!dX[[[7[[[*[[[
dX[[[7[[[
[dx[[[7[[[4[[[
dx[[[7[[[5[[[c
[[[dX[[[7[[[6[[[X1
dx[[[8[[[
dX[[[8[[[
D@@@@@x@@A@AAac
DXAB_P]E
D]XABZE_MSPC
[[[dX[[[A[[[G[[[
DXAJPAFLG[
DXAKLZJL
D_XAKY_AAKZCNC
DXAPN]LNQ[KYYHGNX
DXAYDH]BDMN[H_QPB
[dx[[[b[[[
dX@@@@B@A@2 @L;
D@X@BBDN
D[X_[BBPOG
DXBDEDGJ_QL[YJYLLM
dx[[[B[[[g[[[?
dx[[[b[[[g[[[M
DXBGN@HM@MM
DXB[PH[PS
_D@XBV@YxPD@NBBL
DXBXDJM[
dX[[[c[[[
dX[[[C[[[
[[[[[[dX[[[c[[[g[[[-'
D@XCN[DQPOPB[N
DXC_NGOYONM
DXCOMS[G
DX[CPXAB
DXCQNGXOZJXANLL
DXCSGXD_AN
DXCYFBAC
[dx[[[d[[[
dx[[[d[[[
_dX[[[d[[[
dX[[[d[[[
D[XDCB[P
D]X[@]DDS@
dXdF[[["[[[
DxdH[[[B[[[t[[[
DX_DJQK]M@
DXDKKSXQJ
DXDK]MMADKGXYQ
]D_XDLPMG[QLB
DXDMKGKQHQ[
dXdM[[[p[[[n[[[
dXdQ[[[1[[[5[[[
DXDQXYAJMSX
DX_DSYKZQ
[[[|dXdx[[[E[[[
DX[DXPHDK
dXdY[[[j[[[n[[[
DXDZC_EK
dx[[[e[[[
dX[[[e[[[
dX[[[E[[[
DXEACLJX
|||||d|x|e|e
d||xe||he||Xe||Ie||5e||"e||
d||xe||Ie||
DX]EPMDNQG[N
|||D XEs
DXE_ZCFHOP[ZGB
[[[dX[[[f
dX[[[f[[[
@DXFAH[LQSBK_
dx[[[F[[[D[[[_
|dx[[[F[[[E[[[7
DxfwggfG'
dx[[[g[[[
_dx[[[][[[G[[[?
dx[[[G[[[
|dX[[[g[[[
dX[[[g[[[
DxgAggDS
DxGcGLGEG-G	G
DXGE[Y[OSQE]
_dx[[[g[[[f[[[
dXg	mgfG
DxGmG;G1G7G'G
D_XGNP[NN
DXGNSNXD]KK
dX!gqgg6
DXGSGZMP[MO
dxgWcgfG
DX]GXL@KK
DXGXOLC_OY
D[XGZCMLP_
dX[[[h[[[
dX[[[H[[[
DXHCPYJ_PC]AMZCZPB
DXHGXEOMNMASZCGQ]XBY
DXHHCXPDA
d||Xh||Nh||
dx[[[h[[[o[[[
DXHX[CEP
D@XHXD_LCX]ELHC
]dx[[[i[[[
dx[[[I[[[
dX[[[i[[[f[[[
DXIgqggR
dX[[[][[[J[[[
DXJBMC@FZ
dX[[[J[[[e[[[
_dX[[[J[[[G[[[
DX]J]G[A
_D@XJGNPYJCLDGXGFGXH@EPGBS
dX[[[j[[[i[[[KL
[[[[[[dX[[[j[[[m[[[
[dX[[[j[[[n[[[P
DXJOBOH[
DXJYDF[HO
dX[[[k[[[
D@xkCVSSTU
DXKDFLFPQ
DX_K@@L_ADHD[O
DXKL[J[G
]DXKNNHLN
DX[KNZAKSGSCMD
D[XKPO[C
|dX[[[L[[[
dX[[[L[[[@[[[
DXLCGXQDQ
DXLCHOZEH
@DXL]DHLDCKKKFKF[MLXEXBHB
DX]_LLEKGZG
DXLs4h4B
]DXLXJYL
dx[[[-[[["[[[M
dX[[[M[[[B[[[
D[[[xmdeO[[[
d[[[[XMGf
D_XMggwK
@DXMLYDJGOJ]P
DXMNJYMYPFANC
DXMPFHJL
dX[[[M[[[v[[[
dx[[[n[[[
[[[[[[dX[[[n
dX[[[n[[[
@dX[[[n[[[c[[[
DXNFYJA]KM[
DXN_GJGBBOGYGM
D_XNHOLM
[D_XNLCAF
]DXNSEZPKH
dXNweBacd
DXNYJBSNXNDBNMLK
DXNZMJBQHP
dX[[[o[[[
dX[[[_[[[O[[[
DXOH[QHQD]OA_LX
DXOKXYXJ
dX[[[o[[[l[[[
DX[OMDQX_B
DXOOSBNX
dX[[[p[[[
-dX[[[P[[[
DXPCZK_[BAQQDAFAOMB
D@XPDKPJKM@]
d@@@@XpDMJo
]_DXPGCH_SDQYHBJH]J
DXpgppepq[:mQ
DXPHPANAP
(D@@@@@@@@XpqP
DXPQPKMJZ
DXP]SJ_[OCLQFF
@DXPXOOAH
DXPXOZLAD
DXPZBNOOHM
[dx[[[q[[[
|dX[[[][[[Q[[[
]DXQBJCJ
]DX][Q_EHPYQMOOP
dx[[[Q[[[H[[[M
D@[X]QH_Z_]
DXQJMNLOBQMBAJXL]C
DXQMNH_BG
_@DXQONXLE
DX_Q]][P
DXQSNCDG
]DXQZCZO[
-dx[[[r[[[
dX[[[r[[[
dx[[[r[[[q[[[c
?dX[[[R[[[U[[[?
dX[[[r[[[v[[[
dx[[[S[[[
[[[[[[dX[[[s
dX[[[s[[[
dX[[[][[[S[[[
DXS9DXS*DXS
d[[[[XSag
@D]XSAODD@MYBQXS
__DXSAQQ[E
DX_SEJCH
DXSFBAB_
DXSHBDGHDO]MCQP
DXSHS]ON
@DXSQGLD
DXSQKYGZ]QZ
DXS[SK]LHFZAKS
DXSZBPJ_N
]d@[[[X[[[T[[[
?dX[[[T[[[H[[[
dX[[[t[[[m[[[
|dx[[[U[[[
dX[[[u[[[
_dX[[[U[[[
d@[[[X[[[U[[[
d][[[X[[[U[[[
]dX[[[U[[[I[[[
dX[[[U[[[I[[[
dX[[[u[[[t[[[
D@_xvB[Dd
dx[[[V[[[O[[[
@dx[[[W[[[
d@[[[X[[[W[[[
d[[[[xW-g
_dX[[[W[[[V[[[
D[X[XBLYQNB
DXXC@ZPM
[DXXHEGLX
dX[[[X[[[i[[[5
DXXJQQOYMZM
]DXXMYGJBE[Q
DXXNXLB_OFNK
DXxoQBV9BT
DXX[QLGGEXHAPO
dx[[[X[[[u[[[
DXxUEXxQEXTy
dX[[[X[[[v[[[
(dX[[[X[[[w[[[
Dxxxyx]Y]]
Dxx]Y]]5
Dxx]Y]]D
.dxx]Y]]kwY
DX[YAJABBZ
DX[YBS_OB[
dxycgxyLgxy-gxy
dxyfgxyLgxyDgxy
DXYGGNXL
dxyhgxyAgxy.gxy
DxylGxyVGxy1Gxy
dxyngxyOgxy gxy
DXY@P_[KX
dxyqgxybgxyWgxy8gxy-gxy
DxyUcpgppepqb]
dxywgxyTgxy7gxy
dxyxgxyjgxy
Dxyyy	K	W	
dxyyyyyyyyy
dxyyyyyyyyy#[xy
dx[[[z[[[
dX[[[Z[[[
_]_D_XZD
dX[[[Z[[[d[[[5
dX[[[Z[[[e[[[
_dX[[[Z[[[e[[[5
dX[[[Z[[[e[[[5
DXZGODH_
D]XZ[HH]
DXZHLXJSBSLB]_
]dX[[[Z[[[k[[[
DX_ZKQPNO
D[[X_ZLS
@dX[[[Z[[[o[[[
DXZPHQ@Q@CFY
DX]_ZPLYY
Dxz]VA[M
	dy[[[][[[
_d[[[[y[[[
d[[[[y[[[
d][[[y[[[
d_[[[y[[[
dy[[["[[[
dy[[[;[[[
*dY[[["[[[
-dY[[[.[[[-[[[
?"dY[[[([[[
@dY[[[@[[[
[[[[[[dY[[[
[[[dY[[[
|dY[[[.[[[
d ((]Y]]
d'((]Y]]
dY[[[#[[[
dY[[[:[[[
dY[[[|[[[
-D@@@@]Y]]
D'((]Y]]
D(((]Y]]
D@@@@]Y]]
dY[[[;[[[0[[[
dY[[[0[[["[[[
dy[[[0[[[5[[[
)dY[[[1[[[
	]dy[[[2[[[.[[[
dy[[[2[[[
dy[[[2[[[)[[[
dY[[[2[[[4[[[q
)_dy[[[3[[[
dy[[[;[[[3[[[
[[[dY[[[3
dy[[[4[[[
dY[[[4[[[
	dy5oe)y
dY5yfllllllllmllllOllylmn
[[[dY[[[6
[[[dY[[[6[[[
dy[[[6[[[5[[[ T
dy[[[7[[[
dY[[[7[[[
dy[[[7[[[6[[[
D]Y]]8TY
dy[[[8[[[?[[[XX
]dy[[[9[[[
dy[[[9[[[
"dY[[[9[[[?[[[
dY[[[9[[[
dY[[[9[[[5[[[
Dy9xy)yyy
Dy9|y1xyy1M9L
'dY[[[a[[[
)dY[[[A[[[
[dY[[[A[[[
DYAAAACAAAIqAq
DYADJX[Q_Z_PH[OMJD[
DYAFAZPDAO
DYANSMS[L
DYAYGDM_CXDGJ
*dy[[[b[[[
DYBA@@Hp@D
DYBLJ@_LN@
DyBWBTeWBTxQBW@]VB]
DYBY[XDDOQO
dy[[[c[[[b[[[
dY[[[c[[[f[[[
DYCKKHCPG
DY[[CL_A
DYCMABNG
DYCMZAMM
DYC@PQDG]ECLA]X@D
DYC]SP[HLDDG
D@@YCXBAJ@XA
dy[[[d[[[
dYd#eL!Od
d|YdI[[[
DYDK_LJ_OJGAAC
DYDOXGSJNK
D]Y]]dTY
DY]DYKK_OJ
]dy[[[D[[[z[[[
DYEGKZSKOC
@DYEHPL[
)))@DYEHZ]LJ
@DYE@J@][LEH]@_L
@DYELDLG]
)))@DYELDLG]H]@FG
@DYELDLG]H]@FG
@DYELDLG]H]@FGv@M
@DYELDLG]Z
 )))@DYE@LM
DYENXGSZFL
d[[[[yEpd
dy[[[E[[[x[[[
DyEyEyEy
DyEyEyEyEy
DyEyEyEyEyEyEyEyEy
DyEyEyEyPcWSaSSSVSSBQ
DyEyEyPcWSdRSSyWSBQ
DyEyPcQSUSSSSSSSP
DyEyPcWS
dy[[[F[[[
_dY[[[F[[[
')))@DYF[]
)))@DYF[]
;)))@DYF[]
?)))@DYF[]
@DYF[]AHZAE@K
")))@DYF[]BLP
@DYF[]BLP
')))@DYF[]CH_HQ
@DYF[]DHPH
)))@DYF[]E@K
@DYF[]E@K
#)))@DYF[]FZ
@DYF[]FZ
@DYF[]FZuG_HJJ@GLvYH]A
.DYfgfww#
DYF]GGZNDJ
)))@DYF[]GHDLZYHJL
@DYF[]GHDLZYHJL
")))@DYF[]HG]
@DYF[]HG]
)))@DYF[]HG]@GOF[DH]@FG
@DYF[]HG]@GOF[DH]@FG
@DYF[]HG]L
((DYF[][HGMFD
@DYF[]H[J
@DYF[]][HJLKHJB
_DYFHP]KGG
d)))Y[FJ[FZZF_L[
@DYF[]K@GHZJ@@
')))@DYF[]KHZL
@DYF[]KHZL
@DY[F_LDLG]
@DYF[]L[[GF
DYFLGMKM
@DYF[]LM
)))@DYF[]SE@K
DyFyFyFy
')))@DYF[]YHGMHZ
DyFyPcWS
;)))@DYF[]YPHLZJ[PY]
d)))YFZ]
')))@DYF[]ZFJBL]
@DYF[]ZFJBL]
@DYF[]ZFJBL]@DYF[]]@DL@DYF[]ZPZ@DYF[]]A[LHM@GN@DYF[]H[NYH[ZL
@DYF[]ZO[FDdHJ[F))
@DYF[]ZPZ
@DYF[]ZPZuu[uuG
#)))@DYFZZ@K
DYGDZQPPJ
)dy[[[g[[[f[[[
@dy[[[G[[[F[[[
dY[[[g[[[f[[[9
d[[[[Y*)ggm'dU
D]YGGNGMQZG@P]
DyG]GUG)G!G
DyGhG[GLG
[DYG]H[YYPAJAL
DyGiGeG]GMGEG
DyGiGQGAG)G!G
DYG_JMJYZODPHBCLOQ_AL
]DYGKND@L
DyGmGeGIGyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?x4#
DYGPBNAY
DyGqGaG]GEG1G
DyGqGiGaGYGQGIGAG9G1Gyyy)|y
DyGQGUG-G!G
DyGqGwGmG
DyGuG]GIG1G-G
DyGuGmG]GIG1G-G
DyGYG)G	G
DyGyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUy4#
D]YGZGSB
DYGZGXOG
[[[[[[dY[[[H
dY[[[H[[[
d)))YH]A
D)))YH]A
DY]HB_GH
DYHCQZGYJ_DS
DYHCSPHO@OAJSGNXB_PGSA
.)))DYH]D
D@]YHD][HGZ
D[YHD]PN
DYH]HCXZ
DYHHHPDM@QE]H
")))@DYHJBL]_
_DYHLZYN
dY[[[H[[[N[[[
DYHOGHAKH[
DYHOSMZLKSC
]DYH[[r@t
DYHZMLZJ
@DYHZZHKEL
@DYHZZHKELO@ELY[@_H]LGZ
@dY[[[i[[[
d_[[[Y[[[i[[[
(.)Dyiyy
DyIyyIyyyyIqIiIaIYIQIIIAI9I1I)I!I
dY[[[j[[[
D]Y]]J7Y
DYJB@DLSA]
DYJCHGZZLG
_DYJCHZ]NJ
]dYjFDDFG
DYJG[BQA@
DYJGJJONHJ
dY[[[J[[[H[[[
]DYJ[LH]LLELDLG]MH]H]PYLK@G
_dy[[[J[[[N[[[
DYJN]BBBDJLOD
DYJ]N[EHH
DY]JOPGPXCCZJSSQJ
[@DYJ]PZXBZ
DY@JSSNOCJDSL
D]Y]]jTY
dy[[[][[[K[[[
dy[[[K[[[@[[[
dY[[[k[[[
DY_KBDJ_
[dy[[[K[[[H[[[
DYKHCC[LNKQPLOXZ[
dY[[[K[[[J[[[r
d[[[[YKmd
D]YKQCCMDANHQQO
dyKvV:fhn-j
DY]@K@YSQ
dy[[[L[[[
dY[[[l[[[
:(dY[[[L
dY[[[l[[[b[[[
DYL]CGDCMSGNYH
dyLdG[[[
@DYLEEL[
dY[[[l[[[g[[[
@DYL[@HE]FFEZ
D_Y[L[J_N
dyllllllllmllllOllylm
DyllllllllmllllOllylmgqBy
DYLMALL_
DYLM[]EL_]DQAL
]DYLQLO@EL
DYL_XZGOPFF_A_Y
[dY[[[L[[[	[[[Y
D]YL]YDDLYY_BAP
@DYL[ZFGH]@FG
((@DYL[ZFGH]@FGEL_LE
@DYL[ZFGH]L
@DYL[ZFGH]LT
@DY[LZZ@FG
@DY[LZZ[LDF]L
_dy[[[M[[[
[dY[[[m[[[
dY[[[M[[[
D]Y]]M-_
DYMA]ANA
DY[M]A_ZHO_MY
DYMDE[DZLQF
DYM]ENBS
DYMEXM[S_D
dY[[[m[[[l[[[
DY]M[YD_A
:)))@DYN
.dynamic
DynamicConfig
DynamicConfigFinalize
Dynamic device scheduling has been disabled!
dynamicloaded
DynamicSigFailure
DynamicSigIncludeFailure
DynamicSignature
[DynDrop]
DY_NJO[Z
dynmem_APIcall
dynmem_checks_if_debugged_doc
dynmem_checks_if_debugged_undoc
dynmem_checks_ntglobalflag
dynmem_checks_processheap
dynmem_detects_virtualpc
dynmem_detects_vm
dynmem_detects_vmware
dynmem_kernel_scan
dynmem_reads_vdll_code
dynmem_self_modifying_code
dynmem_uses_access_violation
dynmem_uses_bound_exceptions
dynmem_uses_breakpoints
dynmem_uses_div_by_zero
dynmem_uses_int_overflow
dynmem_uses_invalid_opcodes
dynmem_uses_privinstr
dynmem_uses_single_stepping
dynmem_uses_udbgrd
dynmem_uses_udbgwr
dynmem_uses_unusual_breakpoint
DYNNGLNL
D@YNPXJALQQ
DynSigRevisions
D]Y]]nTY
DYNXNP@SZSYQCY
;dy[[[o[[[
'?dY[[[o[[[
DY]OA_G_[B
DYOBEJKHOA
DYOC_BSC
DYOCMJEP
]DYO@ELYBNZA
]DYOF[H@G
D|yoG|yAG|y3G|y
DYOHDZHQLAGACJA
DYOJ]JMC
dY[[[o[[[m[[[a
 dY[[[o[[[m[[["]IdM[[[
DYOOZYANN[
_D[YPCG_QJGM
D[YPCXNYGK
DyPEaQEyP6_QM9
DYpgppepq
D@@@@@@@@yp@L
DYPMNGQ_KA
DYPOE_LDY
DYPSQE_DY_G]C
[dy[[[p[[[u[[[ T
DYPYKDBOG_KZCG
dy[[[q[[[
dY[[[Q[[[
D]Y]]Q]]
DyQ0KgfGW
DYQEPBEGQD[
DyqgqggC
#dY[[[q[[[k[[[
DYQL]OLAFLMXZ
_dy[[[Q[[[P[[[
dY[[[q[[[p[[[M
DY]_QXY]LZM
d|y(?qy(?qyJ
dyqyx""czayyys
|dy[[[r[[[
dY[[[R[[[
dy[[[][[[R[[[2
DYRdP[[[
#dy[[[][[[S[[[
dY[[[s[[[
dY[[[_[[[S[[[
dy[[[][[[S[[[2
D[YS[KPM
DY[[_SLGCM
D]YSLQPOMSGMK
dY[[[S[[[L[[[R
DYSXPMDLFA
DY[SZOHJYNDOBQ
dY[[[t[[[
dY[[[T[[[
@dY[[[t[[[j[[[
dy[[[t[[[j[[[ T
_dy[[[T[[[K[[[
dY[[[T[[[K[[[
DyT@TEXEBT
D]Y]] TY
D]Y]]"TY
D]Y]])TY
D]Y]]?TY
 dY[[[U[[[
dY[[[U[[[
DyU[eP[xRU@UVBU
]DYu@G_F@JL
]DYuJALJB@]
dY[[[U[[[M[[[
?dY[[[U[[[N[[[
*dy[[[U[[[O[[[ T
]dy[[[v[[[
.dY[[[v[[[
DYVCCNCCCBACC
]DYvGHDL
D|yvG|y6G|y
]DYvYH]A
	_dy[[[w[[[
dy[[[w[[[l[[[8zwdX[[[v[[[j[[[
)dY[[[w[[[u[[[
?dy[[[w[[[v[[[
DYXDPHHH
d'*yxdyC
DYXJHHYDPBHSAD
DYXL[QPL
dY[[[X[[[R[[[T
DyxSi|g7K
DYXSPDLJ
dy|xuxE(
dyy*****
dY[[[y[[[
dyy!2yypy
dyyagyyGgyy
DyyaGyy:Gyy
DyyaGyyHGyy3Gyy
DyyaGyyVGyy3Gyy
dyya_yy]_yy
dyybdyyIdyy;dyy-dyy
dyybgyyZgyyZgyyDgyy.gyy
dyyD7xyqgxy
dyydgyy9gyy
DyydGyyDGyy Gyy
DyyEGyyKGyyeGyyuGyy
dyy!eyy!eyy
dyy|gyyngyy
Dyy|GyynGyySGyyDGyy0Gyy"Gyy
DyyIiyyuDyyyyyyyyyy5Gyyyiyy-Dyyyyyyyyyy
dYYKet4od
DyykGyyQGyyFGyy.Gyy
DyykGyyyyyy
DyykGyyyyyyyyyy'H
dyylgyy4gyy
DYY[LOL[LGJL
]_DY_YLYXO
]DYYMOO@EL
dyymZyyZZyyKZyyBZyy2Zyy
dyyogyy3gyy
dyyogyyJgyy3gyy
Dyy[OyyiOyyQOyyoOyyeOyy
DyyPGyy.Gyy
dyypgyyRgyy
DY[YPK]C
dyypXyyfXyyLXyy;Xyy
DyyqGyyUGyy)Gyy
DyyqGyyYGyy@Gyy*Gyy
DyyqGyyYGyyVGyy3Gyy
DYYQLQ@K
@DYYQODHE
dyyrgyyggyyJgyy5gyy
dyyrgyy]gyy
DyyrGyyYGyyNGyy7Gyy
DyysGyy_Gyy8Gyy'Gyy
dyysgyyRgyy4gyy	gyy
D]Y[YSXSSLDNO
DyytGyy_GyyFGyy!Gyy
DyyuDyyaDyygDyySDyyIDyyODyyEDyy1Dyy7Dyy-Dyy#Dyy
dyyugyyTgyy!gyy
dyyugyyYgyyAgyy5gyy
dyyvgyyTgyy*gyy
dyywgyy:gyy	gyy
DyyWOyyMOyy
dyyxyyyEyqyryr
dyyxyyyEytyzyz
dyyxyyyEyuy
dyyygyyagyyMgyy1gyy
dyyygyylgyy[gyyRcyyVgyy3gyy
DyyyIxyuyyysJyyy9xy
dyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
DYYY_JA]G
dyy|yK?:
(]Dyyy!v
Dyyy)xy1yyygI
DyyyyEXTTY:
Dyyyyxysy
DyyyYxyuyyy	AyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYx4#
Dyyyyxyzy
Dyyyyy9a9yyy
Dyyyyyyj9yyy
DyyyyyyNy6yyy)
Dyyyyyyo9yyya
Dyyyyyyqy
DyyyyyyQyyy)yyy
Dyyyyyyryxyyy
Dyyyyyyxy
Dyyyyyyxyxyyy
DyyyyyyxyxyyyYuy
dyyyYyyygyyy
@Dyyyyyyyy
d|yyyyyyyyy
Dyyyyyyyyyy
dyyyyyyyyyyCgyyyiyy
dyyyyyyyyyyyyyy
dyyyyyyyyyyyyyyyyyyyyyyyyyy
dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[y4#
DyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyCy4#
DyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyCy4#
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Dyyyyzyyy
dyyzgyyagyyPgyy9gyy*gyy
dyyzgyyXgyyBgyy*gyy
[[[dY[[[z
!)))D@YZ
DYZCBEMNZYMSO
DY[ZEGABZ[Q[N
DYZEH[DD@YZQ
DYZJFDXD[Y@Z
dyZllllllllmllllOllylm
D]_YZMZY
DYZNZDH_YHO]Q
]DYZPAN[GM
]_DYZQQ_D
[D]YZZQMO
[[[d_[[[z[[[
d@[[[z[[[?[[[
d][[[z[[[
dz[[[	[[[
dz[[[@[[[
	 !dZ[[[
@dZ[[[*[[[
[[[[[[dZ[[[
[[[[[[dZ[[[ 
[[[dZ[[[
[[[dZ[[["
[[[dZ[[[#[[[
[[[dZ[[[*
[[[dZ[[[.
[[[dZ[[[.[[[
[dZ[[[@[[[
_dZ[[[#[[[
_dZ[[[][[[
dZ[[["[[[
dZ[[[)[[[
dZ[[[*[[[
dZ[[[-[[[
dZ[[[.[[[
dZ[[[:[[[
dZ[[[:[[[?[[[
dZ[[[;[[[
dZ[[[?[[[
dZ[[[@[[[
.dZ[[[0[[[
[[[dZ[[[0[[[
_dZ[[[0[[[
dZ[[[0[[[
*]dZ[[[1[[[
[[[dZ[[[1
dZ[[[1[[[
dZ[[[1[[[0[[[
[dz[[[1[[[0[[[Z
dz[[[2[[[
dZ[[[2[[[
	-dZ[[[2[[[7[[[
dz[[[3[[[
	dZ[[[3[[[
'?dZ[[[3[[[
[[[[[[dZ[[[3
dZ[[[3[[[
dz[[[3[[[6[[[TGUdK[[[2[[[
dz3xesw4feV*d
[[[[[[dZ[[[6
?.dZ[[[7[[[
[dZ[[[7[[[
[dZ[[[8[[[
]dZ[[[8[[[
dZ[[[9[[[
dz[[[A[[[
-dZ[[[A[[[
@dZ[[[A[[[
dzAAAAAA@AAAAAC
dZA]DEvDZ@]Z]F[Lv@GC))
dZA]DEv]LDYEL]Lv@GC))
dZA]DEv]LDYEL]Lv@GCvh))
dZA]DEv]LDYEL]Lv@GCvjhk))
DZAEJMMYBQ
DZAGODYH
")))DZA]H
')))DZA]H
)))DZA]H
.)))DZA]H
:)))DZA]H
;)))DZA]H
?)))DZA]H
')))DZA]HA]]Y
)))DZA]HA]]Y
DZA]HA]]Y
DZA]HA]]YZ
)))DZA]HCH_HZJ[@Y]
DZA]HCH_HZJ[@Y]
dZA]HcH_HZJ[@Y]lQLJ
dZA]HcH_HZJ[@Y]nL]fKCLJ]
DZA]HiHiuiHFiiLQJiiLE
DZA]H_KZJ[@Y]
dZAH[LLQ
dZA]HLQJLE
dZA]Hme)(
dZA]Hz][@GN))
[]DZAJFPS
DZALAHSF
d)))ZALL]
D)))ZALL]
D_ZAS_QM_F
*||dZ||AZ||
_dz[[[B[[[
[[[dZ[[[b[[[
[dZ[[[b[[[
dZ[[[b[[[
[dZ[[[B[[[
dZ[[[B[[[
dZ[[[B[[[@[[[
dz[[[B[[[@[[[3
]DZ]BAZA
DZBBOBGLA[
[dz[[[b[[[e[[[
DZBKDJ]NKBLZZKDY
D[Z_BMNM
DZB]_PG@_Q
*dZ[[[c[[[
[[[[[[dZ[[[c
_dZ[[[c[[[
dZ[[[c[[[
?d_[[[Z[[[C[[[
_dZ[[[C[[[
dZ[[[C[[[
dZCCNCCCBACC)
DZCDLYKN
DZCNNQMLS
DZC[XSQ[D
|]dz[[[C[[[z[[["
dz[[[d[[[
[[[dZ[[[d[[[
d[[[[#Z d
dZ[[[d[[[
DZD]BLQ@K
@DZDH[]ZJ[LLG
dZdQ[[[Q[[[P[[[t
DZDZ[[SK
?dZ[[[e[[[
dZ[[[E[[[
d||Ze||6e||
d;|Ze9c_de
d .Ze9kadf
dz[[[E[[[d[[[rS
D_ZE_EYYJLA
DZ_EJ][CMH
d)))Z@ELGJLM
DZELHJHK
d@ZELHM@GN
DZEN_J[MA
D||zE||p
[dz[[[f[[[
dz[[[f[[[
|dz[[[F[[[
dZ[[[f[[[
@dZ[[[F[[[
]dZ[[[F[[[
dZ[[[F[[[
DZFEJFDYHGP@GOF[DH]@FG
DZFEZL[_@JL
DZFEZL[_@JLY[@GJ@YHE
DZFGE@GLZL[_L[Z
DZ[FJQY@PG
DZFNKHHPP
DZFOO@JL
DZFOO@JLvMFJJi
DZFOO@JLvMFJZi
DZFOO@JLZPZ]LDZ
@DZFSCA_C
dzfvo[HNDLG]
DZFXJSCX
DZ_F@YZL[_@JL
dZ[[[g[[[
?dZ[[[G[[[
	dZgAgg]9
dzg'egfG
DZGHCKNAPZAN
D]ZGJGSAJ@KZK
D_ZGKCZ[B
dzgKkgfGN
D_ZGNZQN
D@ZG]PQPO[[SY
DzGqGuGiGHG"G
DzGsGcGFG?G4G-G"G
DZGSGHGAG
DZgW[[[3[[[2[[[9
DZgZ[[[7[[[
(dZ[[[h[[[
d)))Z]H[]
dZ[[[H[[[
D]ZHDEYHXZ
_DZHGGNHPKYGOBQD
d@Z@]HJ]
DZH]LJAGFEFNP
d)))Z]HNLv
DZ]HPGYHJ_OKEBBS_YYEO
@DZHP_Z@][
DZHXXGADEQMA_GJOSK
DZHYPEAAG[BX]XQK@
DZHYYE@JH]@FG
[dz[[[i[[[
[[[dZ[[[i
dZ[[[i[[[
|dZ[[[I[[[
dZ[[[I[[[
dz[[[@[[[j[[[
]dz[[[J[[[
)dZ[[[j[[[
_dZ[[[j[[[
dZ[[[J[[[
((DZ_J[]
)))DZ_J[]
d)))ZJA]HZBZ
DZJCG@S[BOLSA
dZJg3kgfG.yoMgqgg
|[dZ[[[j[[[h[[[]
DZJJFDDHGMYH]A
DZJO@ELYH]A
DZJPSDGSPFHD]O[SX
DZJQBPJFM
D@ZJvHMMFGZvML]LJ]
DZJZkIkK]Qp]Z_Z
D@ZJ[ZO]FGE@GL
dZ[[[k[[[
[dZ[[[K[[[
d_[[[Z[[[K[[[
dZKtepQ_d
|d|Z|K|V|j|h|
DZKYLP@O[]Y
_dz[[[l[[[
@dZ[[[l[[[
dZ[[[l[[[
d_[[[Z[[[L[[[(
dZ[[[L[[[
dZ[[[l[[[c[[[
DZLCAQQDBP[]
[__DZLCJXE
DZLEHDJL[]@GOF@M
D)))ZLEO
)))DZL]]@GN@L
DZL]]@GN@L
dz[[[L[[[G[[[R
D)))ZLGZF[
D[Z]LHDL[Z
DZL]HPL]NKN
dZllllllllmllllOllylm
dZllllllllmlll]Y]]
DZ]LLMDY
DZLLNKJ_QZB
D]Z[LPGH@Q
DZLQJAHGNLD]H
DZLQJAHGNL@DHY
DZLQJAHGNLDND]
DZLQJAHGNLHM]FYFEFNP
DZLQJAHGNLHM]FYFEFNP))
dzlQJAHGNLlz))
DZLQJAHGNLLZ
DZLQJAHGNL@Z
dzlQJAHGNLzh))
DZLQJAHGNLZH
DZLQJAHGNLZ[Z
DZLQJALJYJHGH[P
)))DZLQJLE
!)(DZ@LQLJ
)))DZ@LQLJ
?)))DZ@LQLJ
@DZ@LQLJ
dZ@lQLJcFKo@EL))
dZ@lQLJcFKyH[HD
dZ@LQLJmEE))
DZ@LwQLJ
DZLY[KXH
d@Z]L[zYP
dz[[[m[[[
dZ[[[m[[[
d_[[[Z[[[M[[[
DZMBBPFZ
DZMCEXLSLHM
DZMEEFY]
DZMJSXEXYBQB
DZMK@OOCG
DZMML@AQYXS
DZM_QQAX
dZm]ZzL[_L[
dZm]ZzL[_L[))
DZM]ZZL[_L[
dz[[[N[[[
dZ[[[n[[[
dZ[[[N[[[
DZNF[PN]]Z
D@ZNGQSB
DZN[HYAHY@
DZNJEHZZ
DZNJQP@]P
 )))DZNKFQ
)))DZNKFQ
DZNN][N]CHMMAOE
DZNS_QM[E
DZNv]PYL
DZN]XZN]Y
DZN[YGGBSS
_DZNYXHL[[K
dz[[[O[[[@[[[-
[dZ[[[o[[[
|dZ[[[o[[[
dZ[[[o[[[
dZ[[[O[[[
dz[[[o[[[a[[[
DZOADLKMDS
dZ[[[o[[[a[[[f
d@ZOA@GN
]DZO_[BH
 dz[[[o[[[c[[[
DZ[OCH_[QFNM_]
)))DZO@GZ]HEE
DZO@GZ]HEE
DZO@GZ]HEE[D
#)))DZO_LGFD
DZO_LGFD
DZO]LZXE
DZO]LZXE))
DZOM]ALZP
dz[[[O[[[p[[[
DZO]vDYY[LOL[LGJL
D[ZOZDODDHDA
DZOZ]HNLM
|||dz||p|
dZ[[[p[[[
|dZ[[[P[[[
dZ[[[P[[[
_DZP_]ALH
;dzpgppepq
dZpgppepq
DZ]PHG[PBJ
_DZ[@[PHP
DZPOKOLXQNQN
DZPOZCZPMLH
DZPQGGLL
dz[[[P[[[x[[[
DZPXL]SBCQ]S]
@DZPZ[LN
]dz[[[Q[[[
'?dZ[[[Q[[[
[dZ[[[Q[[[
_dZ[[[Q[[[
dZ[[[Q[[[
DZQCKDNH
)))DZQDE
?)))DZQDE
DZQDE[GQDEA]]Y
*-#DZQEDZQE
DZQGPMQMS
D_ZQMKFYD_OHAD
DZQ[MMDPDZEAKOL
D@ZQsWRSS9
dz[[[q[[[t[[[T
dz[[[q[[[u[[[
]DZQYLFEXBK
dZ[[[r[[[
@dZ[[[R[[[
dZ[[[][[[R[[[
dZ[[[R[[[
_dz[[[r[[[p[[[
dZ[[[R[[[V[[[7
Dzrzzzzzzzzzz]Y]]
@dZ[[[s[[[
dZ[[[s[[[
[[[dZ[[[S[[[
DZSGZJJGCP
DZ]SllllllllmllllOllylm
_dz[[[s[[[m[[[
d@[[[z[[[t[[[
dz[[[t[[[
dz[[[T[[[
_dZ[[[t[[[
dZ[[[t[[[
dZ[[[T[[[
dZTgqggp
dz[[[t[[[j[[[
@dZ[[[u[[[
[dZ[[[U[[[
dZ[[[U[[[
dZ[[[u[[[k[[[
dZUL	fWZD
[dz[[[|[[[v[[[
dz[[[v[[[
dz[[[_[[[V[[[
)dZ[[[v[[[
dzvEFN@GveLN@]Z@]L
dzveLN@]vFGLM[@_LZ@]L
dZ[[[v[[[j[[[6
dz[[[v[[[o[[[
#dZ[[[v[[[t[[[
dz[[[w[[[
]'dZ[[[W[[[
)))DZwAw]HA]w]Y
dz[[[w[[[i[[[
dZ[[[w[[[i[[[
dZ[[[W[[[O[[[
D)))Zw]wH[]wDwZ@wLwQLJHM
_d@[[[z[[[x[[[
[dZ[[[x[[[
dZ[[[x[[[
D@_ZXDYG
DZXEOZFOO
DZXHLCPED
DZXLOSLX[
DZXMLPFJX
D]ZX]MON
DZXXCHO_]_CQZL_@QN@_
DZXZGPH_
d_[[[z[[[y[[[
dZ[[[y[[[
dz[[[y[[[1[[[8
DZYFPS]PSAH
DZ]YHSCM
DZ_][YJOBDOOMN]MS
DZY@KHQKSP[
DZYMBSO]KD
DZYOL[NB_[A
[DZYOYJHHH
DZ@YP_QGPYN_
D[_ZYQDZPABQHME
DZYSZBGBGL
dzyvgzy;gzy
(dz[[[z[[[
dZ[[[z[[[
DZZCECZNGA
D[ZZFCSLCM
D@ZZ@GNEFN@GZ
)))DZZH_LF[FYLGKEFK
DZZH_LF[FYLGKEFK
DZZH_LKEFK
d)))@ZZL]
DZZL[_@JLRT
D@ZZLM_F@JL_FEY
D@ZZLMGF]@O@JH]@FGZ[LD@GML[
D@ZZLMvOFG]vKEFJB
D@ZZNH[O@LEMOH[D
DZZPGPSX
DZZSNGKL]KN
DZZXE_@DvZXELQY))
DZZXEZL[_L[
dzzxezL[_L[fehyzL[_@JL))
DZZXEZL[_L[FEHYZL[_@JL
dzzxezL[_L[hmaLEYL[
dzzxezL[_L[hmaLEYL[))
DZZXEZL[_L[HMALEYL[
DZ]ZZPAZNPH
Dzzzrzzizzzy
	e_[[[.[[[
#e[[[[[[
(e*****)
(e.....)
))e)))))
:e_[[['[[[
[[[	[[[e
]e[[[[[[
||||e|||||||
e@[[[	[[[
e@[[[	[[[?[[[
e@[[[ [[[
e@[[["[[[![[[
e@[[[#[[[ [[[
e@[[[*[[[)[[[
e@[[[:[[[
e@[[[;[[[
e@[[[?[[[
e@[[[_[[[][[[
e@[[[|[[[
e[[[[	[[[
e[[[[![[[ [[[
e[[[["[[[
e[[[[)[[[
e[[[[.[[[
e[[[[;[[[
e[[[[@[[[
e[[[[][[[
e[[[[_[[[
e[[[[|[[[
e][[[	[[[
e][[[ [[[
e][[[ [[['[[[
e][[["[[[-
e][[[#[[[
e][[['[[[
e][[[([[[
e][[[([[[-[[[;
e][[[-[[[
e][[[.[[[-[[[
e][[[;[[[:[[[
e][[[@[[[
e][[[][[[
e][[[|[[[
e_[[[ [[[
e_[[[![[[
e_[[["[[[
e_[[[#[[[
e_[[['[[[
e_[[[)[[[
e_[[[)[[[.[[[
e_[[[*[[[
e_[[[*[[[)[[[
e_[[[-[[[
e_[[[-[[['[[[
e_[[[:[[[
e_[[[;[[[:[[[
e_[[[?[[[
e_[[[?[[[)[[[
e_[[[@[[[
e_[[[][[[
e_[[[_[[[
e_[[[_[[[][[[
e_[[[|[[[
e||||||||
e||||||||||||||||||||||||||||;
e||||||||||||||||||||||||||||||||||||||||||||||||||
e||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||)
e||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||?
e||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
))E())))
))E))))(
))E)))))
[[[![[[E
[[[;[[[E
E	?	@	?	
E@@@@@@@@
E||@_||#_||
e[[[[0[[[
e_[[[0[[[*[[[
E00pgppept
e06F0xnn
e][[[0[[[7[[[
e_[[[0[[[7[[[
e||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||0d||||||||||
e0dT[[[![[[ [[[
[[[]e0dY[[[
e0dY[[[)
e0dZ[[[:[[[
e0g-bgfG
E0g'bgfG
e0gqgg8e
E0llllllllmlll]Y]]
e'0nd)avdG
E0OdN[[[
E'.*0'PeM'
E0pgppepqW
E0tgscgfGA
!e[0VdZq
e0wZdyjPd
e*"0x6Ue
|e0;Ydwd
|e_[[[1[[[![[[
e][[[1[[[
e_[[[1[[[
e@[[[1[[[0[[[
e@[[[1[[[5[[[
E1@AA@h RWV
E1AdD[[[
e1DdS[[[a[[[
e1dlduv5d
?e1gAggu
e1g'bgfGc
E1g	cgfG4*
e1gKkgfG
e1;gqgg:
e][[[1[[[([[[H
E*1llllllllmllllOllylm
e1Rdd!BjdV
e1T(6RSW(4RSWs
E1uxTyx|x|x
E1WdV[[[
E1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyya
[[[E1ZdB[[[
*e@[[[2[[[
e[[[[2[[[.[[[
e_[[[2[[[
e24qF5BG
e27AxC4g
e][[[2[[[7[[[h
E2AdX[[[
E2@@B@vpOU
E2@@B@vpSn
E2@@B@vpSU
E2@@B@vpSxG
"E2gqggI2eJ
e2Jhggfw
E2upgppepq3*
e2UsWRSS9
e2XwdweVd
e][[[3[[[
e_[[[3[[[2[[[
E32o[mgfG
e@[[[3[[[7[[[
e3BUpSSSSS
E3E3E2E2E2E3E
e_[[[3[[[![[[k
e3LLdr6Bd
e3pgppepq
E3UdA[[[
e3Ysd#SmdU
[[[	[[[e4
e_[[[4[[[
E4E8E2E3E
e4EdS[[[j[[[o[[[
e4G7d	r4
e4g#egfG
e4gqggPE
:E4gWdgfG
e4NjllllllllmllllOllylm
E4pgppepqHi
E4pgppepqv
e[[[[5[[[
e_[[[5[[[
e@[[[5[[[4[[[
e_[[[5[[[4[[[
e_[[[5[[[4[[[y
E]59;yxYyW
e5	_d:VFd
e5f5g5h5i5j5k5H
E5F5G5H5I5J5K5L5M5N5O5P5
)E5gcfgfG
e5g'cgfG
e5.@gGdgfG
e5ggfGn9
e5'lggfw
|||e5n|5
e][[[6[[[
e_[[[;[[[6[[[
e_[[[6[[[([[[
e_[[[6[[[.[[[
e62@@A@@
e_[[[6[[[4[[[
E6@@A@h Re
e6cgfG#5
E6d?BZdl
e6gIcgfG
E6gqgg6WS
e6Id][[[v[[[t[[[
e6igMbgfG
E6jtggfG
e6llllllllmllllOllylm
e6llllllllmllllOllylmx
E6mmmmmmmmmmmmmmmI
e6ogdOU?d
e|||6||r6||g6||
e6SdO[[[
e6UsSPSS9
e][[[7[[[
e_[[[7[[[
e_[[[7[[[)[[[2
e[[[[7[[[*[[[4
e_[[[7[[[4[[[q
e_[[[7[[[5[[[
e][[[7[[[6[[[y
E*(((7((9
e7fgfGe2
E_7"giggfw[
E7gqggKSl
E7llllllllmllllOllylm
e7pgppepq
e7UUGUUd
e@[[[;[[[8[[[
e[[[[8[[[
e_[[[8[[[
E#||||||||#8	
e_?(80.00:00(
E8f98ttH
E8fD9 ucf
E8gaCgfGk#
.e8gqgg7Yj
E8JdO[[[
e8Kg3lgfG
E[[[8l|dL[[[
E8PdW[[[V[[[T[[[?
E8#uggfG
E8 uKE8x
"e'8UU|UU
"E8Wu-PnP
|||E8X(s
e(8((]Y]]
e8zgd1aWdv
e[[[[:[[[9[[[:
e][[[9[[[
e_[[[;[[[9[[[
e_[[[9[[[
e_[[[9[[[.[[[
e_[[[9[[[6[[[
e_[[[9[[[8[[[
e[[[[9[[[8[[[p
)E9@@@@@@A
e9bndeKOd
@[E9_E9B[gb[P
E@@@@@9@@F@ACac
?e9gSNgfG
E9KKKKKKKKKKKKKKKKKKKI
E9llllllllmllllOllylm
E9Q(VSSW(
E9S066Vg
E9sgqgg|
E9@UE@VTL
E9@WEX@UBU
E9@WQvscRSS9
E9(xxx#xxyxyxyxY[4
_E9YE9[gxUBV
E9YPUM9	AR
E9Y;@wY;@woooo
e[[[[)[[[.[[[a
e[[[[a[[[
e][[[a[[[
e_[[[a[[[
:eA[[[	[[[
e@[[[A[[[
e@[[[A[[[@[[[
e][[[A[[[
e][[[A[[[@[[[ 
e_[[[_[[[A[[[#
e_[[[A[[[
e_[[[A[[[|[[[
eA[[[	[[[
eA[[[ [[[
eA[[[![[[
eA[[[![[[ [[[
eA[[["[[[
eA[[[#[[["[[[
eA[[[([[[
eA[[[([[[#[[[
eA[[[)[[[
eA[[[)[[[-[[[
eA[[[)[[[.[[[
eA[[[*[[[([[[
eA[[[-[[[
eA[[[.[[[
eA[[[:[[[
eA[[[:[[[?[[[
eA[[[;[[[
eA[[[;[[[:[[[
eA[[[?[[[
eA[[[@[[[
eA[[[][[[
eA[[[_[[[
eA[[[|[[[
	E@@@@@@A@@
E@@@@@@A@
eA[[[0[[[
eA[[[0[[['[[[
eA[[[0[[[7[[[
eA[[[1[[[
eA[[[1[[[0[[[
eA[[[1[[[5[[[
eA[[[1[[[6[[[
eA[[[2[[[
eA[[[2[[['[[[-
eA[[[3[[[
eA[[[4[[[
eA[[[4[[[*[[[Q
eA[[[5[[[
eA[[[5[[[4[[[
eA[[[5[[[4[[[	X
eA[[[6[[[
eA[[[7[[[
eA[[[7[[[5[[[
eA[[[7[[[![[[H.LdA[[[6[[[4[[[D
_eA[[[8[[[?[[[
eA[[[8[[[
eA[[[	[[[9[[[
eA[[[:[[[9[[[
eA[[[9[[[
eA[[[;[[[9[[[i
eA[[[a[[[
eA[[[A[[[
eA[[[A[[[@[[[
@@E@A@@@@A@@
;('eAA@AA
@@E@AA@@@A@A
EAAAA62"3(15an
Eaaa	aaa
eAAAAAAAA)551
eAAAAAA@AAAAAC
EAAAAAA@AAAAAC
EAAAAAA@AAAAAC 
eAAAA@AAAAAC
#EAAAA@AAAAAC_
EAAAA@AAAAAC
EAAAA@AAAAAC1
EAAAA@AAAAACc
eAAAA@AAAAACi
EAAAA@AAAAACY
e!AAAAAAAAkqAAAAAAAAAAAUAA
EAAAAAAAAlqGI
eAAAAAAAAoqAH
*EAAAAAA@AmqSR
!e@@@@@|@@A@AAac
eAAAACAAAIqAS
EAAAACABA
E[AAAAUPUU
@@E@AAacoo
eaaaSQQQaaaa
@@E@A@ac
@@@@@e@@A@ACac
@@@@@e@@A@ADac
eAAECEAQ1AAAAAA
eA[[[a[[[f[[[
eA[[[A[[[F[[[
@@@@@e@@A@AFac
|@@@@@e@@A@AFac
EAAFEHDPANSS_YMXGOAG
eA[[[A[[[G[[[
EAAHO]HJ
e[aalOllylme
EAAODEHB
EAA@@PpNN9
EAA@@PpNV
EAAS[QBKNPGE
-Eaa]Y]]
eA[[[B[[[
eA[[[B[[[A[[[
@@E@A@@B@A@@
eA[[[b[[[e[[[
EA_BG]B]FPX
EABG[KZB
EAB]HOS]LHQZ__MOL]MQ][
EABJZQPFX
EABOSPAF
EA[@BPLCOSCMSL
eA[[[|[[[b[[[uALd_[[[s[[[h[[[
eA[[[c[[[
eA[[[C[[[
@@E@AC@@@@@
@@E@AC@@@@@@
EAC1AKN3L
EAC1ANo|
EAC1AQ9N
EAC1AY|C
eA[[[c[[[a[[[
@@@@@"@@E@ACa
@@@@@'@@E@ACa
@@E@AC@@@A@
@@E@AC@@@A@@
@@E@AC@A@@@
@@E@AC@A@A@lpMN
 @@@@@'@@E@ACac
;@@@@@-@@E@ACac
@-@@E@ACac
@.@@E@ACac
@:@@E@ACac
@;@@E@ACac
@?@@E@ACac
@@@@@'@@E@ACac
@@@@@*@@E@ACac
@@@@@.@@E@ACac
@@@@@:@@E@ACac
@@@@@;@@E@ACac
@@E@ACac
_@@@@@'@@E@ACac
@@E@AC@@AC@PpS[*
@@E@AC@@@A@dp@Q
@@E@AC@@A@@Ep@P
@@E@AC@@@A@lp
@@E@AC@@@A@mpJP
@@E@AC@@A@@np@Hj
@@E@AC@@@A@NpjC
@@E@AC@@@A@NpLI
@@E@AC@@@@@ap@b
@@E@AC@@@A@_p@J
@@E@AC@@@@@ap@K
@@E@AC@@@A@.pOA
@@E@AC@@@@@ap@Ry
@@E@AC@@@@@ap@S
@@E@AC@@@@@AQ@[
@@E@AC@@@A@Xp	G
eA[[[C[[[B[[[
@@E@AC@@B@@
@@E@AC@B@A@
@@E@AC@BAA@Ep@DfN
@@E@AC@BAA@Hp@_
@@E@AC@BAA@Hp@DL
@@E@AC@@BA@dp@@@@@@@@@@@@A@[pVL
@@E@AC@B@A@dp@KS
@@E@AC@B@A@dp@|y
@@E@AC@B@A@dp@Y
@@E@AC@BA@@Hp@D#H
@@E@AC@B@A@Hp@P
@@E@AC@B@A@Hp@s
@@E@AC@B@A@Hp@S
@@E@AC@B@A@JQ@M
@@E@AC@B@A@JQ@NW
@@E@AC@B@A@Lp@E"
@@E@AC@B@A@Lp@k7T
@@E@AC@B@A@Lp@m
@@E@AC@B@A@Lp@T
@@E@AC@B@A@Lp@Tq
@@E@AC@B@A@Lp@X
@@E@AC@B@A@Np@N
@@E@AC@B@@@cp@T
@@E@AC@BD@@Hp@	
@@E@AC@B@@@Hp@
@@E@AC@B@@@Hp@G
@@E@AC@B@@@Hp@I
@@E@AC@B@@@Hp@J
@@E@AC@B@@@Hp@JL
@@E@AC@B@@@Hp@L
@@E@AC@B@@@Hp@N
@@E@AC@B@@@Hp@O
@@E@AC@B@@@Hp@R
@@E@AC@B@@@Hp@U
eA[[[C[[[B[[[l
@@E@AC@B@@@lp@E
@@E@AC@@B@@lpG@@@@@
@@E@AC@B@@@Lp@m
@@E@AC@B@@@Lp@q
@@E@AC@B@@@Lp@W:
@@E@AC@B@@@Lp@y;
@@E@AC@B@@@mp@H#
@@E@AC@@@@@cp@B
@@E@AC@@@@@cp@H
@@E@AC@@D@@
@@E@AC@@@@@dp@f
@@E@AC@@@@@dp@G
@@E@AC@@@@@dp@J
@@E@AC@@@@@dp@J-Z9
@@E@AC@@@@@dp@K
@@E@AC@@@@@dp@Kh
@@E@AC@@@@@dp@m
@@E@AC@@@@@dp@Q
@@E@AC@@@@@dp@S
@@E@AC@@@@@dp@VX
EACHHD_]MJQDMCMBQF
@@E@AC@@@@@JQ@M
@@E@AC@@@@@JQ@T'
EaClearOriginalFileName
@@E@AC@@@@@Lp@
@@E@AC@@@@@Lp@[
@@E@AC@@@@@lpAB
@@E@AC@@@@@Lp@m
@@E@AC@@@@@Lp@O7
@@E@AC@@@@@Lp@S
@@E@AC@@@@@Lp@u
@@E@AC@@@@@Lp@X
@@E@AC@@@@@Lp@_Z
eA[[[C[[[@[[[p
@@E@AC@@@@@|p@H
@@E@AC@@@@@_p@J
@@E@AC@@@@@[pLL
@@E@AC@@@@@ppJN!?
EACSYDS]EGE[KPCF[GOLKQ
eA[[[C[[[v[[[
@@E@AC@@@@@Xp
@@E@AC@@@@@yp@K
eA[[[d[[[
eA[[[D[[[
[[[Ea[d][[[
@@E@AD@@@A@@
EAD@DHGY
e)))A]DE
-e':adRf
EAdU[[[M[[[
E@A]DXCLN
EaDZD@D9D
e_[[[A[[[e[[[
eA[[[e[[[
eA[[[E[[[
@.@@E@AEac
@@@@@(@@E@AEac
@@@@@*@@E@AEac
@@@@@.@@E@AEac
@@E@AEac
@@E@AE@@@A@h MYPm
@@E@AE@BAA@2 @H
EAE_HG@G@G
E]AEJK[C
EAELDJ_L
'E@@@@@A@@Ep@E
E@AE@XAN@YBY
EAEXSNMDJLEM
e][[[a[[[f[[[
e][[[a[[[f[[[.
eA[[[f[[[
eA[[[F[[[
@@@@@'@@E@AFac
@@@@@*@@E@AFac
e)))AF]LE
EAFMA][A
EAF_]PBXQ
e@[[[a[[[g[[[
eA[[[g[[[
e[[[[A[[[G[[[
e][[[A[[[G[[[
eA[[[G[[[
eA[[[g[[[f[[[
:e*agfGN
eA[[[g[[[f[[[P
EaggEgfG
e@[[[a[[[g[[[K
eA[[[G[[[k[[[
EA@GME_P]NFB
EAGMQ_BZ
E_AGMSPDQJF
eA	gqgg!
eA[[[G[[[t[[[
eA[[[h[[[
eA[[[H[[[
E_AHAJ]JSL
]EAHCBAXN
EAHFO]QFMS[BFCJEG
EAHGBNPDMSX_XYDDJC
E@@A@h Gui
EAHJDGH@SF]HBPYHP
eA[[[H[[[L[[[
eA[[[h[[[n[[[*
E]AHNMXM
eA[[[H[[[N[[[t
EAHO_QOJ
e@@@@@@A@HpBP
E@@@@@@A@HpBU;
E@@@@@@A@h PY
EAHQNLPSQZSZAB
]EAHQQDQ
e@@A@h QV	w
EAHSJQOEO_H
EAHXBDQEMQOOHCH
 eA[[[i[[[
eA[[[i[[[
eA[[[I[[[
eA[[[I[[[N[[[
eA[[[I[[[O[[[
eA[[[j[[[
eA[[[J[[[
EA_JFCEQK
_EAJH[EHDKF
eA[[[J[[[I[[[
eA[[[_[[[J[[[N
eA[[[k[[[
eA[[[K[[[
eA[[[K[[[@[[[
eA[[[K[[[E[[[
eA[[[k[[[h[[[
EA_KH_KJPHM[
eA[[[k[[[i[[[
eA[[[K[[[I[[[
EAKJKPCY]
EA@KKQKMML
eA[[[K[[[N[[[|qNdC[[[J[[[O[[[	
eA[[[L[[[
eA[[[l[[[a[[[L
eA[[[L[[[B[[[
EA[LBMZYM
eA[[[l[[[c[[[
eA[[[L[[[C[[[d
eA[[[l[[[d[[[
EALDBD@@LB
EAL]JXEZJX
EALKCS_JK[K
e)))]ALKFQH[]
eallllllllmllllOllylm
E)AllllllllmllllOllylm
EALMDJEQZ
EALOOHBZS
eA[[[L[[[q[[[7
|eA[[[L[[[v[[[ QLdM[[[
eA[[[M[[[A[[[
eA[[[m[[[b[[[
eA[[[M[[[B[[[
EA@M@BAQ
eA[[[M[[[B[[[d
EAM]B_HXEHCH
eA[[[M[[[C[[[s
eamcUUAUULVUEDtv
eA[[[M[[[D[[[
eameUUAUU
EAMK_HG]L@
EAMPLLEN
EAmPMKxQ
EAMYGQOQ
eA[[[n[[[
eA[[[N[[[
[EA@NALZ]
eA[[[n[[[b[[[
eA[[[N[[[B[[[
EA]NB[XCP
EANDHCXENH
e)))ANGGKCA
EANGGXYNPXQ
eA[[[N[[[G[[[wCIdE[[[M[[[A[[[
eA[[[n[[[m[[[
EANO]LQGSMD
e@@@@@@@ANp@D
eAnxd8Fmdb
eA[[[o[[[
eA[[[o[[[f[[[
EAO]JLK]SEC]
EAOKAZFY
eA[[[o[[[l[[[
eA[[[O[[[l[[[
eA[[[o[[[m[[[
eA[[[o[[[n[[[7Q
eA[[[p[[[
eA[[[P[[[
eA[[[P[[[|[[[
@eA@P@AEac
EAPDBHKHFG
]E[@AP]F
Ea-pgppepq
Eapgppepq
EapHostPeerInvokeIdentityUI Entry:
EapHostPeerInvokeIdentityUI Exit:
EapHostPeerInvokeInteractiveUI Entry:
EapHostPeerInvokeInteractiveUI Exit:
)eA[[[P[[[I[[[
eapLd]m4d
EAPLYBG@
Eap method DLL path
eA[[[p[[[n[[[
EapPeerConfigBlob2Xml Entry:
EapPeerConfigBlob2Xml Exit
EapPeerConfigXml2Blob Entry:
EapPeerConfigXml2Blob Exit:
EapPeerCredentialsXml2Blob Entry:
EapPeerCredentialsXml2Blob Exit:
EapPeerFreeMemory
EapPeerInvokeConfigUI Entry:
EapPeerInvokeConfigUI Exit
EapPeerInvokeIdentityUI Entry:
EapPeerInvokeIdentityUI Exit
EapPeerInvokeInteractiveUI Entry:
EapPeerInvokeInteractiveUI Exit
EapPeerQueryCredentialInputFields Entry:
EapPeerQueryCredentialInputFields Exit
EapPeerQueryInteractiveUIInputFields Entry:
EapPeerQueryInteractiveUIInputFields Exit
EapPeerQueryUIBlobFromInteractiveUIInputFields Entry:
EapPeerQueryUIBlobFromInteractiveUIInputFields Exit
EapPeerQueryUserBlobFromCredentialInputFields Entry:
EapPeerQueryUserBlobFromCredentialInputFields Exit
ea[pSSSSS
EAPS@_ZB
eA[[[p[[[u[[[
eA[[[p[[[v[[[
eA[[[p[[[w[[[
EAPXAOCNLQDZC_
	eA[[[q[[[
eA[[[_[[[][[[q
eA[[[|[[[q[[[
eA[[[q[[[
eA[[[][[[Q[[[
eA[[[Q[[[
EAQ_BNJ[K]_
[EAQEDAA]F
eA[[[Q[[[H[[[3
[EAQ[H_S[
]EAQLGHXDCLBSYNBP]Q
eA[[[Q[[[L[[[m!OdO[[[P[[[J[[[7
eA[[[Q[[[P[[[a
EAQXDYLPXQHNJ
eA[[[|[[[r[[[
eA[[[r[[[
]eA[[[R[[[
@@@@@eA@R@AC@@@A@epCE
@eA@R@AE@B@A@2 @G_L
earlyboot
EarlyBootSignaturePayload
 EARLYKDINIT 
eA[[[r[[[p[[[
eA[[[R[[[Q[[[
eA[[[R[[[Q[[[j
eA[[[R[[[Q[[[p
eA[[[R[[[U[[[
eA[[[r[[[w[[[[
eA[[[R[[[W[[[
[eA[[[s[[[
eA[[[|[[[s[[[
eA[[[s[[[
eA[[[S[[[
EA@SHBYM_ABMC
E[[ASJOC
eA[[[s[[[q[[[
eA[[[S[[[Q[[[
eA[[[S[[[R[[[
eA[[[t[[[
'eA[[[T[[[
.eA[[[T[[[
eA[[[T[[[
eA[[[t[[[a[[[
E@[A@@TBT
eA[[[t[[[i[[[
eA[[[t[[[i[[[qz
eA[[[t[[[j[[[8
eA[[[T[[[K[[[
eA[[[T[[[K[[[Q
eA[[[u[[[
eA[[[][[[U[[[
eA[[[U[[[I[[[UKTdZ[[[T[[[
eA[[[u[[[t[[[
eA[[[U[[[T[[[
eA[[[v[[[
eA[[[V[[[
eA[[[v[[[h[[[
eA[[[V[[[U[[[
eA[[[|[[[w[[[
eA[[[w[[[
eA[[[W[[[
eA[[[W[[[F[[[
eA[[[W[[[K[[[
eA[[[w[[[u[[[
E_AWXAWM
eA[[[@[[[x[[[
eA[[[x[[[
eA[[[X[[[_[[[
EAXAGYKQ[EP
eA[[[X[[[D[[[
EAX@_LP[MBHONA
E]A[X]NM]
E@@A@XpD]
EAXPJZXZ
eA[[[x[[[q[[[JQLdB[[[
EAXSJ_YHY
e)))A]]Y
eAYdO[[[
E]AYFMZXDMBDM
e_[[[A[[[y[[[hD
EAYHSBOKSY
eA[[[z[[[
e)))]A@Z
eA[[[Z[[[@[[[
@EAZQY]X]BNOHZCG]
|||eaz|r
EAZXXSK[P
eA[[[z[[[y[[[
'e_[[[b[[[
.e][[[b[[[
e@[[[b[[[
e[[[[b[[[
e][[[b[[[
e_[[[b[[[
@eB[[[)[[[
e@[[[B[[[
e@[[[B[[[@[[[
e[[[[B[[[
e_[[[B[[[
eB[[[	[[[
eB[[[ [[[
eB[[[#[[[
eB[[[#[[[![[[
eB[[[#[[["[[[
eB[[[)[[[.[[[)
eB[[[*[[[
eB[[[-[[[
eB[[[.[[[
eB[[[:[[[
eB[[[;[[[
eB[[[;[[[:[[[
eB[[[?[[[
eB[[[@[[[
eB[[[][[[
eB[[[|[[[
E@@@@@@B@
eB[[[;[[[0[[[
eB[[[?[[[0[[[
eB[[[0[[[
eB[[[0[[[6[[[ TBeO[[[
eB[[[0[[[7[[[
eB[[[0[[[7[[[c
eB[[[1[[[
eB[[[1[[[0[[[
eB[[[1[[[6[[[5
eB[[[1[[[7[[[
@_EB_(1PSW
eB[[[2[[[
eB[[[3[[[
eB[[[3[[[1[[[
eB[[[3[[[2[[[
eB[[[4[[[
eB[[[4[[[#[[[
eB[[[)[[[#[[[5
eB[[[5[[[
eB[[[5[[[4[[[B
[eB[[[6[[[
eB[[[6[[[
eB[[[6[[[([[[
eB[[[6[[[)[[[
eB[[[6[[[4[[[
eB[[[7[[[
eB[[[7[[[6[[[
	eB[[[8[[[
eB[[[8[[[
eB[[[8[[[0[[[h
eB[[[:[[[9[[[
eB[[[9[[[
eB[[[9[[[?[[[
eB[[[9[[[4[[[
eB[[[9[[[8[[[
e][[[b[[[a[[[
e_[[[b[[[a[[[
eB[[[a[[[
e@@@@B@A@
e@[[[B[[[A[[[
eB[[[A[[[
E@@@@B@A@2 @A:
*e@@@@B@A@2 @Bz
e@@@@B@A@2 @C
E@@@@B@A@2 @E
E@@@@B@A@2 @F
E@@@@B@A@2 @H"
!E@@@@B@A@2 @I
E@@@@B@A@2 @J
EB@A@2 @J
E*@@@@B@A@4 @i
EB@AA2 @A
EBA[A@SPBHM
EB_A][BDB_LPDG
e'bA@B@[pJL
@@@@@e@@B@AC@@@@@
	E@@@@B@AC@
  "    @e@@B@AC@@@A@@
_@@@@@e@@B@AC@@@A@dp@KW
@e@@B@AC@@@A@HpB]
@e@@B@AC@A@@@lpDP
@e@@B@AC@@@A@Lp@W
@e@@B@AC@@@A@Lp@Z
@e@@B@AC@A@@@mpWD
@e@@B@AC@@@A@PpKc
@e@@B@AC@B@A@ap@T
-((@e@@B@AC@BA@@Ep@D
@e@@B@AC@BA@@Hp@J
@e@@B@AC@B@A@Jp@
@e@@B@AC@B@A@Lp@N*
@e@@B@AC@B@A@Lp@Q
@e@@B@AC@B@@@dp@H"2
@e@@B@AC@@@C@[p
)@e@@B@AC@@@@@JQ@T'
(((@e@@B@AC@@@@@Lp@_
@e@@B@AD@@@A@@
@e@@B@AD@@@B@@
E'@@@@B@A@dp@]
eB[[[A[[[E[[[
eB[[[A[[[F[[[
eB[[[a[[[g[[[
eB[[[A[[[G[[[
e@[[[b[[[a[[[L
e:@@BA[pKL
)))EBAZH
eB[[[b[[[
eB[[[B[[[
E@@@@BB@@
eB[[[b[[[a[[[[
eB[[[B[[[A[[[
@eB@b@AD@@@A@@
E@@@@BBA@Fp@@@@@@@@@@B@A@ap@
eBBBBBBB
EBBBBBBB
@e@@B@BC@B@A@Hp@S
@EB_BEdlB_BE[
eB[[[b[[[f[[[
'e@@@@B@B@Hp@M
e)))BBIFMU]uBBIFMU]
e@@@@BB@@Jp@@@@@@@@@@@@@@
@]E@BBKEf
EB]B_LNM[FQQ
E@@@@B@B@Np@R
EBBNQBFO
e@@@@B@B@pp@L
EBBQO@@ZKBC@EPSGJH]K
EBB][]YSC][]H
eB[[[c[[[
eB[[[C[[[
@@@@@'@@E@BCac
@@E@BCac
eB[[[c[[[b[[[
eB[[[c[[[b[[[00
@@E@BC@B@A@Hp@
@@E@BC@B@C@
@@E@BC@B@C@Ep@UO
@@E@BC@@@C@dp@L
@@E@BC@@@C@Ep@v
@@E@BC@@@C@HpBS
@@E@BC@@@C@Lp@Y
E]BCC[PL
E	bcgGdgfG
#eB[[[C[[[k[[[
@@E@BC@@@@@Lp@U
]EBC[OMKS[[
EBCPB]LDM
@EBCsSCSS
	eB[[[d[[[
eB[[[d[[[
eB[[[D[[[
EBD.DpG"G
EBdgqgga
eB[[[D[[[n[[[
|[[[eb[dP[[[
ebdPdM1Gd
@EBDPLC9
E@@@@@@B@dp@S
Eb_dV[[[][[[
E@BD@VDBq
EBDXCXSNOFH
EB_]DZLN
[E_BDZS_
	eB[[[e[[[
[[[eB"e_[[[
eB[[[e[[[
eB[[[E[[[
@EBEBqLk
EBECNHPD
eB[[[e[[[d[[[
EBEECFXGADOQ
EBEGCD]XKDXGGJ
@EBE@IBEYU9@TUEekQ(VSSW(
@EBEL?gfTD9
eB[[[E[[[q[[[
@EBEsSRSS
@EBEsSSFS
@EBEsSSSQ9eUs
eB"eX[[[
E@BEYAMJ
e_[[[B[[[f[[[
eB[[[f[[[
e_[[[B[[[F[[[
eB[[[F[[[D[[[
eB[[[f[[[d[[[P
eB[[[f[[[e[[[
eB[[[F[[[E[[[3
]e[[[[b[[[f[[[g
E@]@BF_GH
'eB[[[F[[[k[[[5
eB[[[F[[[k[[[L
ebfpd45edzx
eB[[[g[[[
eB[[[G[[[
EBg1kgfGZ
eB[[[g[[[e[[[ TBeI[[[
eB[[[g[[[f[[[
eB[[[G[[[F[[[
EBGHD]]ZC]
@_EB_gkBUQ
E@@@@B@@@gp@X
e(Bgqgg!
eBgqggxu
E_BGQPXN
eB[[[h[[[
eB[[[H[[[
eB[[[H[[[B[[[
eB[[[H[[[D[[[U.meM[[[O[[[@[[[
E@?bhggfw
Ebhggfwd.
eB[[[H[[[L[[[
eB[[[H[[[M[[[
EBH[MZKPYO
eB[[[h[[[n[[[F
eB[[[h[[[o[[[
eB[[[h[[[o[[[c
e@@@@B@@@Hp@_
eB@@@Hp@OIP
E]BHQ@BQ
E[BHYAMDCB]A[
eB[[[i[[[
eB[[[I[[[
eB[[[i[[[f[[[
eB[[[i[[[g[[[F
@[EB[(ISSWh
eB[[[j[[[
EBJB_FNEPMQNPZ@GMC_
[EBJ[CHNOPX
@EB[Jd:BFK3@Fx2BED
][EB[J]GJ
eB[[[j[[[i[[[P
E_BJM_E__@JBEJ
EBJMHKX[EQM
EBJMPJPS
eB[[[J[[[q[[[
e@@@@B@@@JQ@S
EB@JZ[QLASG
eB[[[k[[[
eB[[[K[[[
EBKGD[FZF_JXEDGM
@eBkgfGFx
eB[[[k[[[i[[[7
eB[[[k[[[j[[[
EB[@KKKQLP[S[PQLF
EB[KKNKJJXAXYLQC_L
]EBKPCXBSH]
EBK[PCYYB
EBKYJMO_
EBKYLENPK
eB[[[K[[[z[[[
eB[[[l[[[
eB[[[L[[[
eB[[[L[[[A[[[5
eB[[[L[[[C[[[1
)))E@BL]@JBL]Z
e@BLjE@JBcHJB))
_EBLJ_]ZJJ
e@BLKEFNZv
#EbllllllllmllllOllylm
EbllllllllmllllOllylm[
eBllllllllmllllOllylmJd
E@BLNLJBF
e@@@@@@B@Lp@O
e@BLY[FDF
e@BLZAH[LJFY@LM))
E@BLZA@]KFQ
eB[[[m[[[
EBMCBSYNEQCS
EBM[_GOXMDKJ
@E[]BMOSN
EBM]QHDP
'eB[[[n[[[
eB[[[n[[[
|eB[[[N[[[
eB[[[N[[[
E@BNBK[XFZ
eB[[[N[[[E[[[
eB[[[n[[[l[[[
EB[NL_ZSOC
eB[[[n[[[m[[[
[E]BNMSLPAQLS
E@@@@B@@@Np@I7G
e@@@@B@@@Np@T
eB[[[o[[[
eB[[[O[[[
eB[[[O[[[@[[[
eB[[[O[[[B[[[
EBOJNG[_HJ
eB[[[o[[[m[[[
eB[[[O[[[M[[[X
?'eB[[[o[[[n[[[
eB[[[O[[[N[[[|
eB[[[o[[[n[[[F
E[BO@XZQB
eB[[[p[[[
eB[[[P[[[
eBPBP(P.T_l
EbPdC[[[)[[[-[[[x-|dO[[[
eB[[[P[[[J[[[
EBPJBOAGKJ
eB[[[p[[[j[[[i
eB[[[P[[[K[[[
eB[[[P[[[K[[[l
e@@@@@@B@_p@QR
E@BpsrLK
eB[[[p[[[u[[[
eB[[[p[[[v[[[P
eB[[[Q[[[
E]_BQCFBKB[NY
EBQHEBED
|eB[[[q[[[i[[[
eB[[[Q[[[J[[[
E[BQJSSOSG
E@Bqlxoq
E[BQMHBJP
eB[[[Q[[[P[[[
EBQ_PDOCZ
EBQPJNKN
EBQ]PZOYM
EBQYJNPJY]ZBNC
eB[[[r[[[
eB[[[r[[[p[[[
eB[[[R[[[P[[[
eB[[[r[[[q[[[|
eB[[[s[[[
eB[[[_[[[S[[[
eB[[[S[[[
EBSCSCE[XLY
EBSFLYSYZ_[ZX
E)bS-	JWB)bS*	JWyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
EB]SKDKKJ
EBS@NP[MM
EBSOGF_KC
eB[[[][[[S[[[P
eB[[[s[[[q[[[
eB[[[S[[[Q[[[1
EBSQG_KA_
eB[[[s[[[r[[[
eB[[[S[[[R[[[Q
EB_S_ZJA
:eB[[[t[[[
eB[[[t[[[
eB[[[T[[[
eB[[[T[[[K[[[|
eB[[[T[[[M[[[
]eB[[[T[[[N[[[
eB[[[u[[[
eB[[[U[[[
EBuildWWW
eB[[[U[[[K[[[
@EBUK3@UBEF
eB[[[U[[[K[[[5
eB[[[U[[[N[[[
eb'uri'n
ebUUhUUc
eB[[[v[[[
eB[[[V[[[
@@EBVgdP
EBVgiPD9
@@EBVgvPD9
@_EBVgxPXB_P
eB[[[V[[[H[[[
eB[[[V[[[J[[[
@EBVJ7BE2N
eB[[[V[[[J[[[U
ebVnd:(NdfB
eB[[[V[[[U[[[
eB[[[V[[[U[[[l
'eB[[[w[[[
eB[[[w[[[
_eB[[[W[[[
eB[[[W[[[
eB[[[w[[[j[[[U
eB[[[w[[[o[[[
eB[[[w[[[o[[[U
eB[[[W[[[V[[[m
eB[[[x[[[
eB[[[X[[[
]@EBXB]L
_EBXB[PYQYM
eB[[[x[[[p[[[
eB[[[y[[[
EBYDSEQHOA_
EBYDXYAP
EBYFALHESNM_K]LLBBP_@DD
EBYLH@]JMC
eB[[[z[[[
eB[[[z[[[|[[[
e[BZ@DB[@FBZD
EBZHGFMNOZFPZ
EBZLSLHKZQS
EBZMLKLQ
EBZMPXYBOCAD
eB[[[z[[[|[[[P
EBZ@SGYGY
eB[[[z[[[x[[[
eB[[[z[[[x[[[7
e[[[[c[[[
e][[[c[[[
e_[[[c[[[
)eC[[[|[[[
;eC[[[*[[[
_eC[[[)[[[
e][[[C[[[
e_[[[C[[[
eC[[[ [[[
eC[[[ [[['[[[#
eC[[["[[[
eC[[[([[[-[[[
eC[[[)[[[
eC[[[*[[[
eC[[[-[[[
eC[[[.[[[
eC[[[;[[[
eC[[[?[[[
eC[[[@[[[
eC[[[@[[[|[[[
eC[[[][[[
eC[[[_[[[
eC[[[_[[[][[[
eC[[[|[[[
eC[[[0[[[
eC[[[0[[[6[[[
eC[[[0[[[7[[[
!eC[[[0[[[7[[[[[[dM[[[
eC[[[1[[[
eC[[[2[[[
eC[[[2[[[0[[[G
eC[[[2[[[7[[[
eC[[[2[[[*[[[[[[dJ[[[1[[[0[[[U
eC[[[3[[[7[[[A
eC[[[4[[[*[[[0w
eC[[[4[[[*[[[B
eC[[[5[[[4[[[
eC[[[6[[[
eC[[[6[[[4[[[
eC[[[6[[[5[[[
eC[[[;[[[8[[[
eC[[[9[[[
eC[[[:[[[9[[[B
eC[[[a[[[
*eC[[[A[[[
eC[[[A[[[
*ECA@AIqAS
ECAAQ1AAAAAAtAAAAAAAAAAAa
ECACC 1Aa
eC[[[a[[[g[[[
eC[[[A[[[G[[[	
ECA]GPYOHO
eC@@@@@A@@Lp@fn
ECAP[ZKOGNMKM_CBN
ECASQDSZJHMCJ]ZSZ]
eC[[[A[[[@[[[UuWdz[[[
eC[[[A[[[z[[[
E[C_AZCL
ECAZDQSY
e_[[[c[[[b[[[
eC[[[|[[[b[[[
eC[[[b[[[
e][[[C[[[B[[[
eC[[[B[[[
eC[[[B[[[A[[[[[[dV[[[
E]CB_C@[G
eC[[[B[[[D[[[[[[dN[[[A[[[@[[[m
EcBdy[[[
e][[[c[[[b[[[F
)#eC[[[B[[[n[[[[[[dU[[[A[[[y[[[Z
E]CBNYDNSKJX
]ECBOCMG
@ECB_SJ[@
eC[[[B[[[t[[[[[[dK[[[
ECBZCJPM[MHBN
e_[[[C[[[c[[[
eC[[[c[[[
eC[[[][[[C[[[
eC[[[C[[[
eC[[[C[[[A[[[
@.@@E@CCac
@@@@@'@@E@CCac
@@@@@.@@E@CCac
@@E@CCac
EccDisabled
EccEnabled
ECC Enabled
e)))CCJJKK
E]C]C[M_
EccModeChangePending
eCCNCCCBACC
eCCNCCCBACC?
ECCNCCCBACC
EccSupported
EccTooltip
eC[[[C[[[z[[[[[[dU[[[B[[[
eC[[[;[[[:[[[[[[d[[[[
eC[[[d[[[
@eC[[[D[[[
e@[[[C[[[D[[[
eC[[[D[[[
e|c(d|cHk|c
eCdE[[[r[[[
__ECDGHJO[
@ECDGSF[
eC[[[D[[[j[[[
ECDK]LBQHBO
@ECD[LZFM[OL[
ECDON]AQF
ec)'dQ)8g
eC[[[.[[[ [[[[[[dV[[[-[[[#[[['ftdJ[[[
eC[[[D[[[y[[[
ECDYHYSXML
eC[[[D[[[z[[[
eC[[[e[[[
eC[[[E[[[b[[[[[[dK[[[D[[[o[[[
E_CEBM_PA
EC[EC[OQQN
eC[[[e[[[d[[[-
eC[[[E[[[D[[[w
[[ECEEMP]MAD
E@CE@IBr@Gs
eCeoX_eh
[[["eceW[[[
eC[[[E[[[x[[[[[[d_[[[D[[[
eC[[[E[[[x[[[UuWdA[[[D[[[
eC[[[E[[[z[[[
E@CEZgwAc@HBH
e@[[[c[[[f[[[
eC[[[f[[[
eC[[[F[[[
E_CFBHJN[
ECFDFEFFFGFBE
.eC[[[F[[[D[[[w
eC[[[f[[[e[[[
ECFQZHJN
eC[[[F[[[z[[[
eC[[[F[[[z[[[[[[dJ[[[E[[[D[[[I
e@[[[c[[[g[[[
eC[[[g[[[
eC[[[G[[[
ecg9dgfG
eC[[[G[[[E[[[	
:eC[[[g[[[f[[[
eC[[[g[[[f[[[
ecggUUmUU2
EC]GHABZ
eC[[[G[[[k[[[
ecg-kgfGy
@ECGKPKOO
ECGOMXKB
EcgooggG*
	)))ECGOQHKECGO
ECGPLAYN
_ECGPOC@MPZFJMNFAL
eC[[[@[[[h[[[
eC[[[h[[[
eC[[[H[[[
eC[[[H[[[C[[[[[[dN[[[O[[[
ECHCMGAL
ECHD]DNH[BZD
ECHECLYQZ@DAA
@ECHG]@QS
[)))ECH_H
eC[[[H[[[L[[[
eC[[[H[[[M[[[	
eC[[[H[[[N[[[
ECHOC_LN]Z
eC[[[h[[[o[[[G
ECH_QYLN@@YYDBDO
E_CHS[KZYX
eC[[[i[[[
eC[[[I[[[
eC[[[I[[[H[[[
ECIItIuXI
eC[[[i[[[l[[[[[[dV[[[h[[[
eC[[[I[[[N[[[
eC[[[I[[[N[[[[[[dM[[[H[[[O[[[k
eC[[[I[[[O[[[p!
eC[[[J[[[
EC_JA[C_J
ECJAQEFZB
eC[[[J[[[C[[[
EC[JFCP@F[
eC[[[j[[[i[[[
eC[[[J[[[L[[[
eC[[[j[[[n[[[
ECJO]H]AOQXQZHBHYZ
e[[[[C[[[j[[[u
eC[[[k[[[
eC[[[K[[[
eC[[[K[[[I[[[[[[dJ[[[J[[[
eC[[[K[[[J[[[M
eC[[[k[[[j[[[o
ECK_PZZDOO
E]CKSAJJO@QJG]HQFG[X
eC[[[l[[[
eC[[[L[[[
E_CLB][SQQ
eC[[[L[[[B[[[y
ECLCXQYGLY[G
ECLFMQNG]PSGMKYSB
ECLGXZBXNL]
]E]C]LKKD]EM
ecLllllllllmllllOllylm
EcllllllllmllllOllylm
ECllllllllmllllOllylmk
e)))CLOO@EDZ
ECLOOJFH]ikHJH[M@
eC[[[L[[[x[[[
eC[[[m[[[
eC[[[M[[[
ecmascript
eC[[[m[[[b[[[
ECMCB[AAHZO
eC[[[M[[[C[[[[[[d[[[[
ecmiMatch 
ecmiReferenceFactoryWd
eC[[[M[[[L[[[d
ECMLOPODDXH
EC_MNO]B_
ECMOAXELB]ZBE
EC]MPEODC
ECM]ZJASN
eC[[[n[[[
eC[[[N[[[
ECNAEOZF
eC[[[N[[[C[[[M
ECNDONMEKXXHS]Z
]ECNgAgg7
eC[[[N[[[M[[[
eC[[[n[[[m[[[A
ECN[MNJGFXACXNFS
ECNOY_CQDBLJODD[_NK[HDCDD
ECNXOOAA_[Z
eC[[[o[[[
eC[[[O[[[
]ECO]BO]
ECOCHJLPNS]
ECOGQEMKHL]PJ_CYY[
eC[[[O[[[L[[[[[[dY[[[
ECO[MQQYXX[P
ECO@NDC_SCLXJYDP
eC[[[O[[[n[[[[[[dM[[[N[[[w[[[@
eC[[[o[[[n[[[[[[dT[[[
[]ECO@QBL
@ECO[QKO
ECOQZ@XJM
e][[[C[[[p[[[
eC[[[p[[[
]_E_]C@P
e_cparhdr
ECPASPPP
eCpegfGL3W
eC[[[P[[[F[[[
:_[EcPFxR[y
e@@@@@@@@Cp@ge?
ecpgppepq
eC[[[P[[[J[[[
_E]]CPKAG[P
eC[[[P[[[K[[[UuWd@[[[W[[[
ECPLP_XY
eC[[[P[[[M[[[UuWdL[[[
e@@@@@@@@cp@N
eC[[[P[[[O[[[B
ECPSD][K@YJQ
ECPSGS_QQ
eC[[[p[[[u[[[
]ECPXLBZN
EC[PZBMHX
eC[[[Q[[[
eC[[[q[[[c[[[[[[dH[[[p[[[t[[[u
E_[CQEBKKBC_EC]
]ECQEBXFK[
ECQHJH@ZCLXYJMZC]
eC[[[Q[[[J[[[
]EC[QKZC]L
ECQNAHEO]
eC[[[Q[[[P[[[[[[d[[[[
E_CQX][Z
ECQZPQLQ_[L
eC[[[r[[[
eC[[[R[[[
eC[[[r[[[j[[[
eC[[[r[[[j[[[[[[dN[[[q[[[w[[[0
eC[[[R[[[K[[[
eC[[[R[[[P[[[[[[dW[[[
eC[[[R[[[P[[[[[[dZ[[[Q[[[
eC[[[R[[[Q[[[
eC[[[r[[[q[[[A
eC[[[R[[[W[[[[[[d_[[[Q[[[
eC[[[r[[[w[[[UuWdy[[[
eC[[[|[[[s[[[
eC[[[s[[[
ECSAKMHBONQH[GB
ECSpQSDCSwQsDCSvQ
eC[[[S[[[Q[[[[[[dY[[[
eC[[[S[[[R[[[[[[dK[[[
eC[[[][[[S[[[w
eC[[[t[[[
eC[[[T[[[
eC[[[t[[[a[[[d
eC[[[T[[[J[[[[[[dK[[[K[[[
eC[[[T[[[K[[[[[[dK[[[
eC[[[T[[[n[[[[[[d][[[K[[[I[[[J:ndU[[[J[[[
eC[[[T[[[z[[[
eC[[[U[[[
eC[[[u[[[k[[[A
eC[[[U[[[N[[[B
eC[[[u[[[t[[[-
eC[[[U[[[T[[[
eC[[[U[[[T[[[c1
eC[[[*[[[)[[[UuWd@[[[
eC[[[v[[[
eC[[[V[[[G[[[
eC[[[v[[[t[[[
eC[[[V[[[T[[[[[[dI[[[U[[[
eC[[[V[[[U[[[[[[dZ[[[
*eC[[[w[[[
eC[[[w[[[
eC[[[W[[[
eC[[[W[[[@[[[
eC[[[@[[[w[[[[[[dS[[[G[[[F[[[
eC[[[W[[[F[[[
eC[[[W[[[O[[[
eC[[[W[[[V[[[
eC[[[W[[[V[[[[[[dK[[[
eC[[[x[[[
ECXB]JEL
e[[[c]XdK[[[d[[[
ECXDP]L[M
ECX_HPMAS
eC[[[x[[[t[[[[[[dK[[[
|eC[[[y[[[
eC[[[@[[[y[[[
eC[[[y[[[
ECYFA[KEB
E@_CYH_]
ECYPHPSC
eC[[[z[[[
ECZ_HGOO
ecz@ngAgg
E_[]CZYB
 e(?!d'*
.e[[[[d[[[
:e|d@[[[
[[[e[[[d[[[
|e-d][[[:
e@[[[d[[[
e[[[[d[[[
e][[[d[[[
e_[[[d[[[
	eD[[[|[[[
'eD[[[	[[[
*eD[[[:[[[
||||e|||||||D
|eD[[[ [[[
e@[[[D[[[
e@[[[D[[[|[[[
e][[[D[[[
e_[[[][[[D[[[
e_[[[D[[[
eD[[[![[[
eD[[[([[[
eD[[[)[[[
eD[[[-[[[#[[[@
eD[[[.[[[
])Ed_[[[
Ed@[[[![[[ [[[
Ed[[[[-[[["[[[
Ed][[[.[[[
Ed][[[?[[[
Ed_[[[![[[
_____E_D_____
eD[[[1[[[*[[[
eD[[[2[[[#[[[
eD[[[3[[[
Ed][[[3[[[2[[[
Ed@[[[5[[[
Ed_[[[6[[[.[[[
[eD[[[7[[[([[[L
eD[[[8[[[
E@D88tjH
E@D88tqH
E@D8 t3H
.Ed@[[[:[[[9[[[
Ed@[[[9[[[
Ed][[[9[[[
eD[[[a[[[
Ed@[[[A[[[
EdA[[[	[[[
EdA[[[:[[[*[[[
EdA[[[@[[[
EdA[[[0[[[*[[[
EdA[[[3[[[
EdA[[[?[[[5[[[s
EdA[[[7[[[([[[
EdA[[[8[[[
EdA[[[9[[[
EdA[[[C[[[
e@@@@@ @@D@ACac
e@@@@@ @@D@ADac
EdA[[[G[[[
EdA[[[i[[[h[[[*
EdA[[[j[[[
EdA[[[J[[[B[[[
EdA[[[@[[[k[[[
EdA[[[K[[[
EDALHML[JALJB))
EdA[[[N[[[
[E]DANMX
EdA[[[p[[[
EdA[[[q[[[
EDA[_QFN
EdA[[[q[[[w[[[O
EdA[[[S[[[R[[[
EdA[[[u[[[
EdA[[[w[[[v[[[
:e|dB[[[
;eD[[[B[[[
eD[[[B[[[
Ed@[[[b[[[
Ed_[[[B[[[
EdB[[["[[[
EdB[[[.[[[
EdB[[[][[[
EdB[[[0[[[
EdB[[[5[[[([[[
EdB[[[7[[[5[[[
EdB[[[8[[[
EdB[[[9[[[?[[[c
E@@DBB@P0@@@@@@
E@@DBB@P0@@@@@@U@@@DBB@P0@@@@@@V@@@DBB@P0@@@@@@W@@@DBB@P0@@@@@@Y@@@DBB@P0@@@@@@
e-dBdaE#d
Ed_[[[b[[[f[[[
Ed_[[[B[[[F[[[
_EDBHAXM
EdB[[[L[[[G[[[
EdB[[[m[[[
EdB[[[p[[[t[[[
EdB[[[S[[[
"EdB[[[t[[[
E||Db||t-||p-||
EdB[[[V[[[
EdB[[[x[[[
EdB[[[y[[[r[[[
EdB[[[y[[[x[[[
eD[[[c[[[
Ed][[[c[[[
EdC[[[_[[[
ed_c1e[)
EdC[[[9[[[0[[[
Ed_[[[C[[[A[[[
@@E@DC@@@A@
E[DCAAHFFHSJEY
eD[[[c[[[d[[[
EdC[[[d[[[
e!#	dCEme
EDCFLHLBJSSJBKAH[OQMO
EdC[[[J[[[H[[[M
edC[[[j[[[i[[[[[[dZ[[[
EdC[[[M[[[
EdC[[[p[[[
EdC[[[R[[[P[[[
EdC[[[T[[[O[[[
EdC[[[u[[[
EdC[[[v[[[h[[[
edC[[[x[[[
edC[[[y[[[
EdD[[[	[[[
EdD[[[;[[[
E"Dd_[[[
eD[[[d[[[0[[[
EdD[[[8[[[
eD[[[d[[[9[[[
EDDC_Z_NSOY
EDdE[[[o[[[
e-DdF[[[
E:DdI[[[r[[[p[[[
 EdD[[[j[[[
E@DdJ[[[
E	DdK[[[k[[[
E:DdO[[[
E]D DsG*G
EdD[[[v[[[
eDDvdvbId
ED[DXO_C
]E@DDY[B
EdE[[[ [[[
EdE[[[;[[[?[[[
eD[[[e[[[2[[[|
EdE[[[?[[[2[[[
EdE[[[-[[[#[[[7
EdE[[[?[[[7[[[
E@DE9XE9B]o
EDEBEYKYANXBLAXEZ_FKO@DDO
EdE[[[B[[[F[[[Q
Ed_[[[e[[[d[[[d
EDEDEEEBEGEIEJE	FLE
E|DeDJD3D
E|DeDOD	D
ED]EDODN
EdE[[[F[[[
E[[[|d#eH[[[
e]dE[[[J[[[N[[[Uo_dI[[[I[[[O[[[
EdE[[[K[[[C[[[f4
EdE[[[L[[[F[[[
E@D@]ELZZKFHZ]L[
EDENAJCQ]@JC_XA
EdE[[[|[[[r[[[gN
EdE[[[U[[[
EdE[[[u[[[k[[[
edE[[[V[[[
EdE[[[W[[[
EdE[[[w[[[j[[[Y]
EdE[[[x[[[r[[[2
EDEYCCQHP__NZMLCP
eD[[[F[[[
Ed@[[[F[[[
EdF[[[ [[[
EdF[[[;[[[
EdF[[[2[[[7[[[
EdF[[[4[[[ [[[
EdF[[[7[[[
EdF[[[A[[[
EdF[[[D[[[
EdF[[[E[[[
e||df||?f||
|[EdFG))
;)))EDFG
e)))DFGHKHKEH
EdF[[[H[[[
e-dFIGfY
EdF[[[k[[[
[]EDF_LDLDF[P
EdF[[[m[[[
EdF[[[n[[[
EdF[[[o[[[
EdF[[[O[[[M[[[[C9dz[[[
EdF[[[P[[[J[[[s
EdF[[[P[[[W[[[bM.d@[[[
EdF[[[Q[[[W[[[
edF[[[r[[[w[[[I
EDFSYDOBJ[
EdF[[[t[[[
EdF[[[u[[[e[[[
Ed_[[[F[[[x[[[
eD[[[g[[[
Ed_[[[G[[[
EdG[[[([[[
EdG[[[2[[[1[[[
eD[[[g[[[9[[[
EdG[[[a[[[f[[['
EdgebgfG
EdgeContent.dll
EDG_EG_[E
edgeIso.dll
	 eDgfG:
EdgfGOF0(gqgg
EdgfGr-q
|#EdG[[[G[[[
ED]GJLCH
EDGJSGGE
edg;kgfG
Ed)gkogfGj
EdG[[[M[[[h[[[
EDGNANHD[
EdG[[[p[[[u[[[
edgqgg9j
EdgqggKSl
EDGQOH]Y
EdG[[[r[[[q[[[
EdG[[[y[[[p[[[H
;eD[[[H[[[
Ed_[[[h[[[
Ed[[[[H[[[
e_dH[[[	[[[1[[[
EdH[[[?[[[2[[[
EdH[[[2[[[
EdH[[[:[[[8[[[
EdH[[[b[[[g[[[.d
EdH[[[D[[[
edH[[[e[[[
e)))DH@E@]LD
|)))EDHF
e)))DH@G
EdH[[[h[[[
EdH[[[i[[[l[[[
EdH[[[j[[[
EdH[[[J[[[
E[DHJZ[XD
EDHKGGG[
EdH[[[K[[[J[[[
EDHKJG_KDLGK@CZXMPHP
E]DHLPQD
edH[[[M[[[
EdH[[[M[[[
EdH[[[P[[[
EdH[[[q[[[p[[[u#
]@E]DHSLZ
EdH[[[t[[[h[[[
EdH[[[Y[[[
EdH[[[z[[[
EdH[[[Z[[[
E[d][[[i[[[
Ed@[[[i[[[
EdI[[[)[[[
EdI[[[0[[[
EdI[[[1[[[([[[
EdI[[[2[[[
EdI[[[3[[[
EdI[[[4[[[
EdI[[[8[[[
EdI[[[8[[[?[[[
EdI[[[9[[[
EdI[[[a[[[d[[[X
'EdI[[[A[[[@[[[#-hdK[[[
EdI[[[d[[[
EdI[[[e[[[
EdI[[[f[[[
EdI[[[G[[[
EdI[[[J[[[
eD[[[i[[[m[[[
EdI[[[N[[[
EdI[[[Q[[[
EdI[[[s[[[r[[[
EdI[[[s[[[v[[[
EditorBrowsableAttribute
EditorBrowsableState
EditSequenceNumberWW
EdI[[[x[[[
EdI[[[z[[[y[[[
EdI[[[Z[[[	[[[yk
:e|dJ[[[
edJ[[['[[[
EdJ[[[2[[[7[[[
EdJ[[[3[[[1[[[
-EdJ[[[6[[[-[[[
EdJ[[[8[[[
EdJ[[[:[[[8[[[Q
EdJ[[[b[[[
[[EDJCNXQ_FZLJGN
EDJDQXQGHGEJCXC
EdJ[[[g[[[f[[[
edJgggfgfGedJggqgg
ed@[[[J[[[I[[[
EdJ[[[i[[[
EdJ[[[J[[[
EdJ[[[J[[[O[[[re
EdJ[[[K[[[J[[[
EDJK[@MLiZ]PELE@GL
EdJ[[[m[[[c[[[
Ed][[[J[[[O[[['
_EDJPC_XGO
e_[[[D[[[j[[[q
EdJ[[[s[[[r[[[
EdJ[[[x[[[
EdJ[[[x[[[n[[[
EDJ]XPOPB[
eD[[[J[[[z[[[
edK[[[#[[[
edK[[[*[[[)[[[
e_[[[D[[[k[[[
eD[[[K[[[
Ed@[[[k[[[
Ed][[[k[[[
Ed@[[[K[[[
EdK[[[	[[[
EdK[[['[[[
EdK[[[)[[[
EdK[[[-[[[
EdK[[[_[[[
!EdK[[[7[[[6[[[
EdK[[[8[[[
EdK[[[a[[[
EDKAAP]LA
EdK[[[C[[[
EdK[[[C[[[G[[['
EdK[[[K[[[
EdK[[[l[[[
EdK[[[m[[[f[[[
@E_DKPJPNMDKY
EdK[[[q[[[
EdK[[[r[[[
EdK[[[R[[[H[[[
EdK[[[r[[[q[[[
]e-dK[[[T[[[J[[[
EDk*UgW(q
EdK[[[X[[[
EdK[[[Z[[[
[[[*[[[:e|dL[[[
eD[[[L[[[
Ed_[[[l[[[
EdL[[['[[[
EdL[[[*[[[
EdL[[[?[[[
EdL[[[0[[[
EdL[[[4[[[
EdL[[[4[[[*[[[KXUd][[[
EdL[[[9[[[
#e)DL]AFM
EdL[[[d[[[
E@D@]LDY
EDLEHJOZE
Ed][[[L[[[f[[[
)))]@EDLGPF[LZLE
#)))E@DL[H
EDL[HBNGSPQ
EdL[[[l[[[f[[[
EdllllllllmllllOllylm
EdL[[[p[[[
EdL[[[P[[[B[[[
edL[[[Q[[[
EDLQ@Z]))
EdL[[[s[[[q[[[
edL[[[u[[[g[[[
EdL[[[u[[[j[[[
EdL[[[w[[[h[[[
EdL[[[Y[[[R[[[
EdL[[[z[[[
EdL[[[z[[[s[[[4j
eD[[[m[[[
EdM[[[([[[
EdM[[[:[[[
EdM[[[1[[[
EdM[[[1[[[*[[[
EdM[[[5[[[
EdM[[[5[[[4[[[@
EdM[[[8[[[?[[[
EdM[[[8[[[2[[[
EdM[[[;[[[9[[[
E_DMD2D-D"D
eD|mec-	d
EDMEPZ]OK
Ed_[[[M[[[F[[[B
EdM[[[g[[[e[[[E
EDMGYOMA
EdM[[[j[[[
Ed][[[m[[[l[[[
Ed[[[[M[[[L[[[
EdM[[[M[[[k[[[
EdM[[[n[[[
EdM[[[o[[[
EdM[[[q[[[v[[[
edM[[[Q[[[W[[[
EdM[[[][[[S[[[
EdM[[[S[[[R[[[L
EdM[[[T[[[K[[[J
EdM[[[U[[[
EdM[[[X[[[][[[
EDMX[_EG
EdM[[[Y[[[Q[[[
EdM[[[Z[[[
eD[[[n[[[
eD[[[N[[[
eD[[[N[[[-[[[@
Ed_[[[N[[[
EdN[[["[[[
EdN[[[|[[[
EdN[[[9[[[?[[[
EdN[[[a[[[
EdN[[[B[[[F[[[6
EdN[[[d[[[
e!DNdobXd
EDN[_DY]ZC
EdN[[[e[[[
EdN[[[h[[[
EdN[[[l[[[
EDNN]S[_C]AZEBXGNP
EdN[[[][[[P[[[
EDN@P_MPGQ]_JP@FBA
EDNPZFJBY
EdN[[[s[[[p[[[
EdN[[[v[[[
EdN[[[X[[[h[[[
EdN[[[X[[[n[[[
EdN[[[X[[[u[[[
EdN[[[Y[[[
EdN[[[Y[[[C[[[
EdN[[[Y[[[J[[[
EdN[[[Y[[[O[[[
:e|dO[[[)[[[-[[[
|e-dO[[[
EdO[[[:[[[
#EdO[[[0[[[)[[[
EdO[[[0[[[
EdO[[[6[[[5[[[
EdO[[[7[[[*[[[
E@DOA[DCJ_
EdO[[[b[[[g[[[u
EDOBJJQMOHMC
EdO[[[d[[[
EDODZJONNCMHB
edO[[[f[[[
ED]OGBO_X[JJ
edO[[[H[[[
_EDOHHJC@KMEX
EDOJKLG[
EdO[[[J[[[O[[[(
EdO[[[k[[[
ed_[[[o[[[l[[[
E[DOLQDB
Ed@[[[O[[[N[[[
EdO[[[s[[[
EdO[[[s[[[u[[[
EdO[[[t[[[j[[[
e[[[[[[dP[[[
EdP[[[3[[["[[[
EdP[[[4[[[([[[
EdP[[[6[[[*[[[
EdP[[[A[[[
[EDP_BDH
Ed[[[[P[[[C[[[u
edpgppepq
(EDpgppepq
E:Dpgppepqt
EdP[[[I[[[
EdP[[[j[[[
EdP[[[O[[[G[[[
EdP[[[][[[Q[[[
EdP[[[][[[Q[[[h
|EdP[[[Q[[[P[[[
EdP[[[Q[[[P[[[
EdP[[[T[[[z[[[
EdP[[[v[[[l[[[#.HdB[[[u[[[j[[[
Ed@[[[p[[[w[[[
eDPWA]A]s[RSS
ED"!p]Y]]
EdQ[[[6[[[4[[[
EdQ[[[7[[[#[[[D?RdL[[[6[[[-[[[(
EdQ[[[b[[[
EdQ[[[B[[[F[[[
EdQ[[[C[[[A[[[6wndW[[[
EdQ[[[c[[[f[[[
EdQ[[[d[[[
E]DQD5D)D-D!D
|e-dQ[[[f
EdQ[[[g[[[
Ed][[[Q[[[H[[[
EDQHZ]AO
Ed@[[[Q[[[J[[[
EdQ[[[k[[[
EdQ[[[K[[[L[[[
EdQ[[[L[[[
EDQ[QHDOBP
EdQ[[[r[[[a[[[
EdQ[[[r[[[w[[[
EdQ[[[w[[[
EdQ[[[y[[[
EdQ[[[z[[[
Ed][[[r[[[
#!EdR[[[
EdR[[[|[[[
edR[[[1[[[7[[[
EdR[[[2[[[4[[[
EdR[[[C[[[A[[[
E[DRDED2D
eD[[[R[[[P[[[
eD[[[r[[[q[[[Xp@eA[[[
EdR[[[r[[[
EdR[[[S[[[
EdR[[[U[[[
:e|dR[[[u[[[k[[[
eD[[[R[[[V[[[
EdR[[[X[[[][[[
Ed_[[[s[[[
?EdS[[[*[[[
EdS[[[;[[[
EdS[[[e[[[
E_]DSEZNLAXNZBZ
EdS[[[I[[[G[[[]
eD[[[s[[[j[[[|
EdS[[[k[[[
EdS[[[L[[[
_ED_[SL[Y
Ed[[[[s[[[r[[[
Ed[[[[S[[[R[[[
EdS[[[r[[[p[[[v
EdS[[[|[[[s[[[
EdS[[[s[[[p[[[
EdS[[[s[[[r[[[
EdS[[[t[[[
EDsUpgppepq
eD[[[s[[[v[[[
EdS[[[X[[[C[[[]
EdS[[[X[[[L[[[]
EDSYN_C@
EdS[[[Y[[[s[[[
:e|dT[[[
e_dT[[[([[[
eD[[[t[[[
EdT[[[.[[[
EdT[[[1[[[
:e|dT[[[2[[[
EdT[[[2[[[
EdT[[[4[[[
EdT[[[d[[[
EdT[[[E[[[
EdT[[[g[[[
EdT[[[h[[[
Ed_[[[T[[[H[[[
EdT[[[H[[[
EdT[[[J[[[
EdT[[[Q[[[
EdT[[[v[[[t[[[
EdT[[[X[[[
EdT[[[@[[[y[[[
EdT[[[Z[[[
edU[[[;[[[
eD[[[u[[[
Ed_[[[U[[[
EdU[[[][[[
EdU[[[0[[[
EdU[[[2[[[0[[[
EdU[[[8[[[
EdU[[[a[[[
*eD[[[u[[[b[[[
EdU[[[J[[[
EdU[[[k[[[
EdU[[[l[[[
EdU[[[M[[[G[[[U
EdU[[[n[[[
EdU[[[O[[[
EdU[[[S[[[
edUsgTSS9
edUs?RSS9
Ed[[[[U[[[@[[[u
EdU[[[u[[[
EdU[[[v[[[k[[[B
EdU[[[W[[[
EdU[[[x[[[
EdU[[[X[[[
EdU[[[Y[[[
EdU[[[Y[[[K[[[
EdU[[[Y[[[P[[[
EdU[[[Y[[[Q[[[
EdU[[[Y[[[R[[[
EdU[[[Y[[[S[[[
EdU[[[Y[[[U[[[
EdU[[[Y[[[W[[[T
@e-dU[[[z
EdU[[[Z[[[
EdU[[[Z[[[ 
[[[@e-dV[[[
EdV[[[:[[[?[[[
EdV[[[][[[
EdV[[[5[[[)[[[
EdV[[[B[[[
EdV[[[e[[[
Ed@[[[V[[[I[[[
EdV[[[i[[[h[[[
EdV[[[r[[[
eD[[[v[[[u[[[@
EdV[[[U[[[
EdV[[[X[[[
EdV[[[Y[[[
EdV[[[Y[[[I[[[
EdV[[[Y[[[J[[[
EdV[[[Y[[[S[[[
EdV[[[Y[[[U[[[
EdV[[[Y[[[V[[[
:e|dW[[[
edW[[[;[[[
eD[[[w[[[
Ed][[[w[[[
Ed_[[[w[[[
EdW[[[.[[[
EdW[[[_[[[
EdW[[[7[[[
EdW[[[a[[[
EdW[[[C[[[
EdW[[[g[[[
EdW[[[G[[[
EdW[[[j[[[h[[[*
Ed@[[[W[[[K[[[
EdW[[[M[[[
EdW[[[O[[[
EdW[[[P[[[K[[[?
EdW[[[R[[[
EdW[[[r[[[k[[[
EdW[[[R[[[K[[[
EdW[[[T[[[
EdW[[[T[[[J[[[
EdW[[[U[[[
EdW[[[Y[[[
EdW[[[Y[[[J[[[
:e|dX[[[
eD[[[X[[[][[[
Ed][[[x[[[
Edx[[[*[[[
Edx[[[.[[["[[[
Ed_[[[X[[[
EdX[[['[[[
EdX[[[*[[[)[[[
EdX[[[1[[[7[[[-
Edx[[[b[[[
Edx[[[b[[[a[[[
EdX[[[B[[[p[[[1
E_dX[[[C[[[B[[[
edx|dHu|v.z
Ed_[[[X[[[e[[[
EdX[[[F[[[x[[[
Edx[[[h[[[
EdX[[[h[[[o[[[
Edx[[[i[[[
EdX[[[J[[[
EdX[[[J[[[O[[[
EdX[[[m[[[l[[[
Edx[[[n[[[b[[[_
Edx[[[N[[[M[[[
(Edx[[[P[[[
EdX[[[p[[[t[[[
Edx[[[p[[[v[[[b
EdX[[[q[[[
Edx[[[r[[[
EdX[[[R[[[
eD[[[X[[[S[[[
#Edx[[[S[[[
Edx[[[s[[[r[[[M
Edx[[[T[[[I[[[
EdX[[[u[[[k[[[z
Ed_[[[X[[[v[[[
eD[[[X[[[V[[[q
EdX[[[y[[[
EdX[[[Y[[[V[[[u!edV[[[
EdX[[[Z[[[
Edy[[[)[[['[[[
Edy[[[:[[[
EdY[[[@[[[
Edy[[[b[[[
	Edy[[[C[[[B[[[
Edy[[[d[[[
EDYFM[X@O]J
EDYGABLOAMBQ
EDYGACNC
E@DYH[]L[[LGF
")))E@DYH[[LN
EdY[[[j[[[
EdY[[[J[[[
Edy[[[N[[[G[[[ T
Edy[[[n[[[m[[[
EdY[[[O[[[
EdY[[[p[[[v[[[
Edy[[[P[[[W[[[
Ed_[[[Y[[[Q[[[
EdY[[[Q[[[N[[[
Edy[[[Q[[[P[[[
EdY[[[R[[[F[[[#
EdY[[[R[[[P[[[
EdY[[[s[[[
Ed@[[[y[[[x[[[
ED]YYHKY]LF
eDyyiwDyyYy
edyyryp!.
EDyyyym9
EDyyyyyyyyyy
:e|dz[[[
eD[[[z[[[
Ed_[[[z[[[
Edz[[[][[[
EdZ[[[![[[
EdZ[[[.[[[
EdZ[[[|[[[
EdZ[[[8[[[
EdZ[[[9[[[
E]dZ[[[b[[[
EdZ[[[b[[[a[[[
EDZ_BLJDX
EdZ[[[c[[[
EdZ[[[c[[[f[[[
Edz[[[e[[[d[[[ 
EdZ[[[F[[[E[[[2
EdZ[[[g[[[
EdZ[[[G[[[
ED_ZGEHS]
EdZ[[[h[[[
EdZ[[[I[[[L[[[
edZ[[[j[[[
EdZ[[[K[[[
EdZ[[[k[[[j[[[H
edZ[[[l[[[
e|dZ[[[L[[[
ED]]Z_LJ
Edz[[[|[[[m[[[TP
EdZ[[[o[[[
EdZ[[[][[[Q[[[
EdZ[[[t[[[
Edz[[[t[[[b[[[
Edz[[[t[[[i[[[lxYdZ[[[k[[[j[[[
EdZ[[[u[[[
Edz[[[w[[[
EdZ[[[w[[[
Edz[[[w[[[t[[[m
e@[[[e[[[
e][[[e[[[
e][[[e[[[	[[[;
e_[[[e[[[
ee[[[[[[
e@[[[@[[[E[[[
e[[[[E[[[
e][[[E[[[
e_[[[@[[[E[[[
eE[[[	[[[
eE[[[#[[[
eE[[[-[[[
eE[[[.[[[-[[[
eE[[[:[[[
eE[[[:[[[?[[[
eE[[[;[[[
eE[[[?[[[
eE[[[@[[[
eE[[[][[[
eE[[[_[[[
eE[[[0[[[
eE[[[0[[[)[[[
eE[[[0[[[4[[[
eE[[[0[[[6[[[
_eE[[[0[[[7[[[
Ee@[[[0[[[7[[[
eE[[[0[[[7[[[ZW
?eE[[[1[[[4[[[e
E:E1gQngfG?
eE[[[2[[[
eE[[[2[[[1[[[
Ee_[[[2[[[1[[[
e[[[E2KdP[[[d[[[
eE[[[3[[[6[[[.H
eE[[[4[[[
eE[[[4[[[#[[[
*ee7@od|
eE9djaaa
ee9eXXXXXXXXX
E_E9@YP[
eE[[[a[[[
eEaaaaaa]Y]]
eEaa]Y]]7
eE[[[A[[[E[[[
EeA[[[@[[[G[[[pFVdy[[[
EE[AMSPN
EE[APDQEJ
EeA[[[T[[[
EeA[[[X[[[
!E;'EA(Y
EEA@ZB[G
eE[[[B[[[
eE[[[B[[[|[[[
EeB[[[_[[[
EeB[[[0[[[7[[[eE_gJ[[[
eE[[[b[[[a[[[;
@@E@E@@B@A@@
EEBBN]]]HH
EEBB[ZASPCXBO
#)))EE@BBZH]
E]E@B[C]
eE[[[B[[[E[[[
EeB[[[F[[[
EeB[[[N[[[L[[[
EEBSHOYDJ
EeB[[[X[[[
EEB_[XQX
eE[[[c[[[
eE[[[C[[[
@'@@E@ECac
@@E@ECac
eeCapabilities
eE[[[c[[[b[[[
eE[[[C[[[B[[[
@@E@EC@B@A@@
E]E_CB]B
EECGGALH
EECMDHA_
eECPdpnff
EECxx]Y]]
e[[Ed[[_
eE[[[d[[[
e@[[[E[[[D[[[
e_[[[E[[[D[[[
eE[[[D[[[
EeD]D1D)D
-EEDDG@GC_
EED#DyyyYyy
!)))EEDG[
E@[__EDHYQ
EED__MPHZZGB_
eE[[[D[[[r[[[
ee'*drg3f:B*d
EeDUDAD9D
eedUUqUU8usK
EEdZ[[[y[[[
eE[[[e[[[
E@]E@_EAqLw
_E@E[;Eb
EEE@CGH]OQ[G
e[[[e|Ed][[[
e	e	e	e	e	
eeeeeedm
eeeeeee7
e	e	e	e	e	e	e	b
eeeeeeee
EEEEEEEEE
EEEEEEEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
eeeeeeeeeeZZZZZZZ
eeeeeeel
EEEEEEyxkyEEEEEEE
EEEEEEyxqy
EeE[[[S[[[R[[[U
eE[[[f[[[
eE[[[F[[[
EeF[[[c[[[
eE[[[F[[[E[[[
eeffffafW*
EE'(F';-I
e)))EFJH]@FG
eE[[[F[[[y[[[@
_EEFZZDDY
EeG[[[c[[[
eE[[[g[[[d[[[R
eE[[[G[[[E[[[
eE[[[g[[[e[[[Y*
eE[[[g[[[f[[[
eEgfGGUjjgqgg
eegfGW]#
EEG l'qlxl
EEGN[YPXBSAODBXO
E_EGOMAXZ
.eEgqgg[
EEGqlx l;l
eE[[[G[[[x[[[
eE[[[G[[[y[[[
EE]GYLZGY
eE[[[H[[[
E|Eh1gAbggG
EEHDHJF[Y
eE[[[h[[[e[[[(
)))E@E@H]FDF_H
[EEHFN_CDKFGC
eE[[[h[[[g[[[
eE[[[h[[[n[[[
EeH[[[n[[[
EEHNJDACYSC
]EEH]SSD]
_@EEHvvv
eE[[[H[[[x[[[
EeH[[[X[[[P[[[e
EEHXSDYSXBE
EEHZX@CCY_Y
eE[[[I[[[
EeI[[[h[[[
eE[[[I[[[M[[[
eeI[[[s[[[
eE[[[j[[[
eE[[[j[[[:[[[(
eE[[[J[[[
EeJ[[[3[[[2[[[
eE[[[j[[[c[[[
eE[[[J[[[D[[[
eejdllji
EEJHSJPA
eE[[[J[[[I[[[L
eE[[[j[[[n[[[s
eE[[[k[[[
eE[[[_[[[K[[[
_@EEKC_A
EEKDGEKN
eE[[[k[[[n[[[
EEKqpsrutwvyx
eE[[[l[[[
eE[[[L[[[
eE[[[l[[[a[[[
eE[[[L[[[B[[[
|EeLgAggM
EELGD]CJ
EELJPHPJSO][_]N@
E@]]ELKFQLZ@GZE
E@]]ELK@NYEHP
E@]]ELLGM@HGKP]LH[[HP
[EellllllllmllllOllylm
EellllllllmllllOllylmA
eE[[[L[[[@[[[@m
;)))EE[LN@Z]L[ZL[_L[
[EELPMMB_
eE[[[L[[[z[[[
E@]]ELZG@]JA
E@]]ELZ@[LJAF
eE[[[m[[[
[eE[[[M[[[
eE[[[M[[[
eE[[[m[[[8[[[
EeM[[[:[[[8[[[
eeM[[[A[[[
eE[[[m[[[a[[[
EEMJ[BOYJ
eE[[[m[[[l[[[
[eE[[[M[[[L[[[
EeM[[[_[[[O[[[ 
EEMQXAA[
EeM[[[w[[[u[[[
eE[[[M[[[x[[[
EeM[[[X[[[N[[[ 
*eE[[[n[[[
eE[[[n[[[
eE[[[_[[[N[[[
eE[[[N[[[
EeN[[[B[[[
EEN[]BEM
EENEENEEN
E]ENEJ_N
eE[[[n[[[l[[[
eE[[[N[[[L[[[
eE[[[N[[[M[[[
eEnumActionResults
eEnumThreats
eE[[[N[[[z[[[
eE[[[o[[[
eE[[[O[[[C[[[
eE[[[O[[[M[[[[
eE[[[O[[[s[[[
eE[[[![[[ [[[ovUdT[[[
e@[[[E[[[p[[[
[EEP@A_CN
|||eEp|E
eE[[[P[[[F[[[
E_EPghQX]W
EEP_[HGAP
eE[[[P[[[J[[[5
]E_EPOQG_LN
eE[[[p[[[u[[[
eE[[[p[[[v[[[?
Ee][[[p[[[w[[[
eE[[[P[[[W[[[2
EEPXPGKE_PC[
eE[[[|[[[q[[[
eE[[[q[[[
eE[[[Q[[[|[[["
EEQ_]_NNGBXLG
eE[[[Q[[[O[[[
E@EQOD]XB_D
EE[QS]GYO
eE[[[q[[[t[[[
eEQ(VSSWsZ
eEQ(VSSWsZ3S
EeQ[[[X[[[K[[[t
EeQ[[[X[[[Q[[[t
EeQ[[[z[[[
EEQZXF[DXSF
eE[[[_[[[r[[[
ee?rd]Kud
EerggfG5_
eE[[[R[[[O[[[lp_dS[[[
eE[[[R[[[P[[[
eE[[[r[[[q[[[d!
eE[[[s[[[
eE[[[][[[S[[[
eE[[[S[[[
eE[[[|[[[s[[[A2
EESASYPEXOBLPB
eE[[[s[[[h[[[ld_dS[[[r[[[q[[[	
EeS[[[n[[[c[[[]
EE[SN_J[@ONHLLQ]DOJMHZNYGQYH
EES[NMDEE
EESPJOGOA
eE[[[s[[[r[[[
EeS[[[w[[[
EE]SXCS@
EeS[[[X[[[W[[[
ee@[[[T[[[
eE[[[t[[[
.eE[[[T[[[
E@[E@TE@@EBU
eE[[[t[[[i[[[
eE[[[t[[[j[[[
eE[[[t[[[l[[[
eE[[[T[[[L[[[Qa_dx[[[K[[[
EeT[[[_[[[S[[[
EeT[[[X[[[B[[[
eE[[[u[[[
eE[[[U[[[
E@]E@UAK@VBV
E@]EUgwAy@GBG
eE[[[u[[[i[[[
Ee_[[[u[[[l[[[
EEulContextWWW
eE[[[U[[[T[[[
eeUUbUUp_UU
EeU[[[X[[[H[[[|
EeU[[[X[[[O[[[
_eE[[[v[[[
eE[[[_[[[v[[[
EeVD@TxPE@TBT
eE[[[V[[[O[[[
eE[[[V[[[T[[[
eE[[[w[[[
eE[[[W[[[J[[[
eE[[[w[[[k[[[
EeW[[[n[[[
eE[[[W[[[U[[[
EeW[[[X[[[
eE[[[x[[[
Eex[[[5[[[)[[[M
eE[[[X[[[a[[[L
eE[[[x[[[b[[[
E[EXBJDJS
EEXCZHZSSPOBH
EeX[[[_[[[H[[[
Eex[[[H[[[M[[[c
EEXJLNPP
@EEXPGHL
eE[[[x[[[q[[[
eex|vHl|v
|||eex|vHv|v.z
-)EExxxx
EExx]Y]]g
EExyxmy6).29-
)EExyxny
EExyxqyO
EExyxvyx
EExyx*yx-02
EeX[[[Z[[[
EExzxryx
eE[[[y[[[
Eey[[[8[[[
E_E@YEB[
E_EYEXE@XE9@YEVg
EEYM_P[HF
eE[[[y[[[p[[[
eE[[[Y[[[S[[[
EeY[[[X[[[][[[
")EEyx8y!JI
")EEyxdy*J.H-K
EEyxly*?
")EEyxly"J.H
.eE[[[z[[[
eE[[[_[[[z[[[
eE[[[z[[[
Ee@[[[z[[[
Eez[[["[[['[[[
EeZ[[[f[[[e[[[
EeZ[[[m[[[l[[[
[EEZ_]@Q
E;#]E;ZS5
eE[[[z[[[y[[[
e@[[[f[[[
e][[[f[[[
e_[[[f[[[
(eF[[[*[[[
-||e.||F.||#.||
.e[[[[F[[[
e@[[[F[[[
e[[[[F[[[
e][[[F[[[
e_[[[@[[[F[[[)|
e_[[[_[[[F[[[.
e_[[[F[[[
eF[[[![[[
eF[[[#[[[![[[
eF[[['[[[
eF[[[([[[
eF[[[)[[[![[[
eF[[[*[[[([[[
eF[[[.[[[
eF[[[:[[[
eF[[[:[[[)[[[
eF[[[;[[[
eF[[[?[[[
eF[[[@[[[
eF[[[][[[
eF[[[_[[[
eF[[[|[[[
eF[[[0[[[
eF[[[0[[[5[[[
eF[[[0[[[7[[[
eF[[[1[[[
eF[[[1[[[*[[[
eF[[[1[[[0[[[PKLdU[[[
eF[[[2[[[7[[[
eF[[[	[[[3[[[
eF[[[3[[[0[[[*
eF[[[3[[[7[[[
eF[[[4[[[#[[[
eF[[[5[[[
eF[[[6[[[
eF[[[6[[[4[[[
eF[[[6[[[5[[[
eF[[[7[[[
eF[[[8[[[
E'f8llllllllmllllOllylm
eF[[[:[[[9[[[
eF[[[9[[[7[[[
eF[[[a[[[
eF[[[A[[[
EfAAAA@AAAAACYQ
EFA[DSX_CYPE
EFA[@FEMKB
EFAHY@ZL
EFAMJPXPG
eF[[[A[[[z[[[c
eF[[[B[[[
eF[[[B[[[@[[[
eF[[[B[[[E[[[q	
eF[[[B[[[F[[[8
eF[[[B[[[y[[[8
 eF[[[C[[[
eF[[[C[[[
EFCAG_GON]EB
eF[[[C[[[m[[[
EFCQX[QOHZGL
EFCYG[MFQZ
e_[[[f[[[d[[[
'eF[[[d[[[
eF[[[d[[[
eF[[[D[[[
EFDH[M@H
eFDHTS	f
EFDK[M@H
eFDLCHHU
eFd][[[L[[[G[[[
e_[[[F[[[D[[[Y
e[[[[f[[[e[[[
ef'e[[[[
_eF[[[e[[[
eF[[[e[[[
e@[[[F[[[E[[[
e[[[[F[[[E[[[
E@FE9@VBYU
ef'eA[[[
ef'eA[[[j[[[i[[[x
E)))FEEFEE
)))EFEFEFZA
EFEFEFZA
EFEFFYYF
ef'eG[[[
eF[[[E[[[i[[[
)))EFE@JF[L
EFE@JF[L
eF[[[@[[[E[[[l
EFELJFDYFKC@FKC@GOF
eF[[[E[[[o[[[
ef'eX[[[L[[[
EFEZYLLM
eF[[[F[[[
EF_FBZ_X
E;F;F;F;F
')))EFFY
?)))EFFY
EFFYLGM@O
EFFYLGM@OJFGZ]Q
EFFYLGM@OJFGZ]_ZL
eFFYoHEZL)(
EFFYY@GN
E]F?Fyyy
eF[[[F[[[z[[[
eF[[[F[[[z[[[t
eF[[[g[[[
eF[[[G[[[
efG*8T1gqgg
EFGAZGNC
_e[fgfG4 
EfgfG[Dk#gqgg
*efgfG]y
eF[[[G[[[F[[[t
efggfgfG
ef#gggfwo
efggghhijjkklmmmmm
E@FGGL]Z
E:F:G:H:
e#f#g#h#i#j#k#
efGhTaSgqgg
eFGJK2Q_GZG_G_GZG
eFgKegfG
EFGNK[@MNL
EFGN]LQ]
'EfgqggFu
EfgqggIB
EFgqggM!
EFgWagfG
E@FGZE@GB
eF[[[h[[[
eFHMa]DEhZmee
EFHM]@DL
EFHM@DNZBFASBD
EFHME@GB
eFHMe@K[H[P
EFHME@K[H[P
EFHME@K[H[PH
EFHME@K[H[PHZZALEE
EFHME@K[H[PLQ
EFHMFLSK[LKOZK
EFHM]FO@ELH
)))EFHM@GN
EFHM@GNDF[L
eFHM@GNhJ]@_@]P
EFHM@GNH[LHZ
;)))EFHM@GNMF]MF]MF]
eFHMhJ]@_@]P
eFHMHY@))
")))EFHMKP]LZ
!)))EFHML[
EFHML[[[
EFHML[A@MMLG
EFHML[vM@[
EFHML[v@Y
EFHML[v@YvALQ
EFHMO@EL
)))EFHMO[FDO@EL
EFHMO[FDO@EL
EFHM_[OZHBDKLC
)))EFHMQDEMFJ
EFHMS][HDAAKAA
((EFHMv_H[Z
((EFHMvO@EL
EFHMZ][@
EFHMZJ[@Y]@GNLGN@GL
eFHNAFZ]
EFHSJ[]G
e_[[[F[[[i[[[[
eF[[[@[[[i[[[
eF[[[i[[[
;eF[[[I[[[
eF[[[I[[[
eFICRDL	f
eF[[[I[[[H[[[
[eF[[[I[[[H[[[mi#dI[[[
eF[[[i[[[m[[[
eF[[[I[[[M[[[
EFI PARTH9
eF[[[I[[[z[[[
eF[[[j[[[
eF[[[J[[[
 )))EFJBK@]
eFJBK@]dFM
!)))EFJBL[
eFJBL[hJ]@_@]P
eFJBLM))
!)))EFJBLM
EFJBLMO@LEM
EFJBLMvO@EEL
EFJBO@EL
EFJBPMLJ[PY]F[
EFJBvHMO[LL
EFJBvO@EL
:)))EFJBvOFEML[v
eFJBzJ[LLG
EFJBZJ[LLG
eFJBZ[LLG
eF[[[J[[[C[[[
EFJFvYH[HDZ
eF[[[j[[[h[[[
!)))EFJHE
)))EFJHE
EFJHEAFZ]
EFJHEAFZ]W
[EFJHEDHJA@GL
EFJHEDHJA@GL
EFJHEDHJA@GLZ
eFJHEfE@_L
EFJHEHMD@G
eFJHEhMD@GhJJLZZ))
EFJHEHMD@GHJJLZZ
EFJHEHMD@GHJJLZZR
EFJHEHYYMH]H
EFJHEHYYMH]Hu
EFJHEHYYMH]Hu[L_L[ZLZALEE
EFJHEHYYMH]Hu[L_L[ZLZALEEvEFNZv
EFJHEJFGZ]
EFJHELJAF
eFJHELjALJB))
EFJHELJFDYH[L
eFJHELlG|Z))
EFJHELZJHEH]@FGH]]LDY]
EFJHEMLYHNHDLG]F
EFJHEO@EL
EFJHE@SH]@FG
eFJHE@SLMmH]H))
EFJHE@SLMMH]H
EFJHEu]LDYu
?)))EFJHEu]LDYuS
EFJHEUN[LY
EFJHEvHMM[
EFJHEvH[[r
EFJHEvM@[
EFJHEvvH[NZ
EFJHEvv]Z
EFJHEvYH]A
EFJHEv@YZ
EFJHEYEHPL[
EFJHEYF[]
[EFJHEY[F]FJFE
)))EFJHEYH]A
EFJHEYHNL
)))EFJHEY@M@[
EFJHEZALEEJFML
EFJHEZ]F[HNL
)))EFJHEZ]F[HNLr
EFJHEZ]F[HNLr
EFJHEZL[_@JL
EFJHEZL[_L[
EFJHEZLZZ@FGDHGHNL[
eFJH]@FG
eFJH]@FG))
")))EFJH]@FG
)))EFJH]@FG
)EFJH]@FG
;)))EFJH]@FG
EFJH]@FG
EFJH]@FGA]]YZ
EFJH]@FG@M
EFJH]@FGrv
EFJH]@FGUU
EFJH]@FGYEF]]L[
eFJH]@FGyEF]]L[hJ]@_@]P
EFJH]@FGZAH[L
eFJH]@FGzPZ]LDmEE))
:)))EFJH]LO
)))EFJH]LY[FO]YM
EFJH]LY[FO]YM
E]F]J_[KMXNJYAS
eF[[[j[[[m[[[
EFJvO@EL@LEL[
E@FJXHCK@
eF[[[k[[[
E@FKE]NPHXZP
e)))[FKF@G]LE@NLG]LMLJFDLG]H[@FZ
EFKHEFEH
eF[[[K[[[M[[[|
EF[KS[LJGFMNASX
eF[[[l[[[
eF[[[L[[[
.)))EF[L[
eF[[[l[[[6[[[
efla_ispython2exe
eF[[[l[[[b[[[
@EF_LB@Z
.eF[[[L[[[C[[[
eF[[[L[[[C[[[
eFLcK[[[
EF_LDL]L[
eF[[[L[[[F[[[
EF[LGSiAL@MLEKL[NJLDLG]
EFLJAC[XELZ
-eFllllllllmllllOllylm
eFllllllllmllllOllylm
EF_LN[LLGYLGJ@EZ
E_FLQF_C
EF_LYFLDZ
eF_LyFLDZhJ]
eF[[[m[[[
eF[[[M[[[
eF[[[M[[[C[[[
EFM_KCB[K
EFMSDBGPCB
eF[[[N[[[
EFN@DYF[]NL]EFNNL[
EFNEL_LEZ
EFNFGEFNZ
EFNFGHDL
EFNFGL_LG]Z
EFNFGL_LG]Z]F]ALZL[_L[
EFNFG][@NNL[
EFNFGOF[D
EFNFG]PYL
EFNFGZL[_L[
eFNFGzLZZ@FG))
eFNFhJ@]_@]P
eFNFhJ]@_@]P
EFNFhJ]@_@]P
EFN]FJFGZFEL
eFNFzJ[LLG
)))EFNFZ@Z]LD@Z
)))EFN@G
EFN@GDH@E
EFN@GD@J[FZ
)))EFNGF]@JLO@ELJ
EFN@GFOO@JL
_-eFngggmfG
eFN@GhJ]@_@]P
[EFN@GJFGGLJ]@FGZ
EFN@GKFQ
EFN@GMH]H
EFN@GOD]
EFN@GOF[D
]EFN@GOF[Dt
EFN@GvKN
)))EFN@GvLDH@E
EFN@GvL[[F[vDZN
EFN@GvOF[D
EFN@GvOF[DHJ]@FG
EFN@GvOF[DZ]PEL
EFN@GYEHJLAFEML[
eFN@GyHGLE
EFN@GY[LZZ
EFN@GYMO
EFN@G@ZFB
eFN@GzJ[LLG
EFN@GZLZZ@FGAHZLQY@[LM
eFNhJ]@_@]P
EFNJELHGL[
eFNJH]hJ]@_@]P
')))EFNLGMLMH]
EFNL_LG]
eF[[[n[[[l[[[t
	)))EFNN@GN
?)))EFNN@GN
eFNN@GNjFGO@N
)))EFNNL[
EFNNLMFG
eFNO@EL)(
EFNQGBJBG
EFNTTJH]JAR
EFNUN[LYZZA
EFNvDH@EDZN
EFNvJHEEKHJB
EFNvO[FDDZNr
eF[[[N[[[y[[[
EFN@Z]@JH
EFN@Z]@JZ
EFNZL[_L[
eF[[[o[[[
eF[[[O[[[
eF[[[o[[[c[[[
eF[[[o[[[c[[[q0
eF[[[O[[[D[[[
EFODOQSYXYPJXCN
***EFOEOG
eF[[[o[[[l[[[
eF[[[O[[[M[[[s
e)))FOO@JL
eF[[[_[[[p[[[
eF[[[p[[[
EF_]PADKBMS@DA
E_FPG_YXS
EFP[NY]BBPNN
eF[[[p[[[u[[[
eF[[[Q[[[
eF[[[q[[[1[[[
_[EfQEy[D
EfQEyQ(WSSW@FBFs
eF[[[q[[[k[[[
eF[[[Q[[[L[[[9ZYd_[[[
eF[[[q[[[p[[[s
]EFQQYBG
eF[[[q[[[t[[[
EFQTT5d*
eF[[[q[[[v[[[
eF[[[q[[[v[[[t
eF[[[r[[[
eF[[[R[[[
eF[[[R[[[@[[[
eF[[[r[[[b[[[
eF[[[r[[[k[[[
eF[[[r[[[o[[[
eF[[[r[[[w[[[
eF[[[_[[[s[[[
eF[[[s[[[
eF[[[S[[[
 )))EFS@GBH
eF[[[S[[[O[[[
eF[[[|[[[s[[[q	
eF[[[s[[[r[[[
eF[[[S[[[R[[[
)))EFS@YF]FM
eF[[[t[[[
eF[[[T[[[
eFTddQiFd
eF[[[u[[[
eF[[[U[[[A[[[
eF[[[U[[[J[[[
]eF[[[v[[[
eF[[[_[[[v[[[
eF[[[v[[[
eF[[[v[[[:[[[;
eF[[[V[[[
eF[[[V[[[N[[[q	
eF[[[w[[[
eF[[[W[[[
eF[[[x[[[
E[[[-fXdK[[[
e@[[[F[[[x[[[gK
EFXJJP]G[XMY]L_
EF][XJSMZLD
eF[[[X[[[L[[[
eF[[[X[[[M[[[
eF[[[X[[[N[[[
eF[[[x[[[p[[[
ef@@@@@@@@XpDW5
eF[[[@[[[y[[[
eF[[[y[[[
eF[[[Y[[[
"eF[[[Y[[[a[[[
eF[[[y[[[b[[[
"eF[[[Y[[[j[[[
EF@@YLOGG
eF[[[y[[[s[[[
eF[[[y[[[x[[[
EFYXXQ@A_GOHNBK_
efyyyyyyyyyy
EFYZHGFYFZM
eF[[[z[[[
eF[[[Z[[[
e)))FZHZJ[@Y]
EfzI-d[[
EFZ][LHED
EFZLOHJL
EFZNGYFNXBEFBBL
eF[[[z[[[p[[[
eF[[[z[[[t[[[
EFZXALIQt]MBJ
	e_[[[g[[[
[e@[[[g[[[
e@[[[g[[[
e[[[[g[[[
e_[[[g[[[
e@[[[G[[[
e[[[[@[[[G[[[
e[[[[G[[[
e][[[@[[[G[[[
e][[[@[[[G[[[]
e][[[G[[[
e_[[[@[[[G[[[
eG[[[	[[[
eG[[[ [[[
eG[[[![[[
eG[[[![[[ [[[
eG[[[#[[[
eG[[['[[[
eG[[[)[[[
eG[[[)[[[#[[[
eG[[[*[[[
eG[[[.[[[#[[[
eG[[[;[[[
eG[[[?[[[
eG[[[@[[[
eG[[[|[[[
eG[[[0[[[
_eG[[[1[[[
eG[[[;[[[1[[[
eg1egfG[
-_eg1kgfGV
Eg1ngfGM
eG[[[2[[[
eG[[[2[[[*[[[
eG[[[2[[[5[[[
eG[[[2[[[6[[[0
eG[[[3[[[
]eg31gfG
eG[[[3[[[4[[[
eg3kgfGZ
eg3wgfGgX
eG[[[4[[[#[[[-
eG[[[4[[[*[[[
eG[[[4[[[.[[[
eg@[[[5[[[
eG[[[5[[[
Eg5fgfGV
eG[[[6[[[5[[[
?E"g7kgfGrW
e'g7wggG
eG[[[8[[[?[[[
eG[[[8[[[2[[[u
eG[[[:[[[9[[[
eG[[[:[[[9[[[.
E-;g9dgfG
eG[[[a[[[
eG[[[A[[[
eG[[[A[[[@[[[
egA6llllllllmllllOllylm
eG[[[a[[[9[[[
!egaaaaa]Y]]
eg;AAAACAAAMqA
eg;AAAACAAAOqAJ
egaagfGG
ega]dP|Uef-
eG[[[a[[[e[[[L
[eG[[[a[[[f[[[z
eG[[[a[[[g[[[
E@gAggkw
egAHgfGO
EG[AHHGHYH@BQ]YE
EGAOFLOLY_G]O
EgapgfGibh
EGAPOJLC[
)egaqe**
EGAQHSXJ
_EGAYOJM
eG[[[b[[[
e@GBAF[][P
_E@GBAFZ]@GN
)))E@GBA[LO
E@GBA[LO
eG[[[B[[[A[[[R
_EGBBH[MA
EGBBXAYDLHYKKMMY_H
]EGBDCGA]HSC
EGBDLDPF
eG[[[B[[[F[[[
e@GBFDDL[
E@GBFDG@H
E@GBF@YBEB_
-eg'bgfG
eg'bgfGb
_eg_bggw
E@GBGHDL
E@GB][HJB
EGBH_JZAM
e@G@BH]S
egbjA[FDLeFHMlQ])(
E@GBJFY@LM]FJE@YKFH[M
e@GBLEMF[
e@GBLEMF[lQJLY]@FG))
e@GBLEMF[vLQJLY]@FG))
E@GBLM]FO@EL
E@GBLM@G
E@GBLMK@]
E@GB[LM@[LJ]
E@GBML][HZA
EGBOFEML[
EGBPXZHS_
E@GB]PYL
_EGBSP[OQD
)))E@GBS@Y
EGBu@G]L[GL]LQYEF[L[u@LQYEF[L
EGBvJDMvNL]FKCLJ]))
egbvjFDDLG]vymo)(
EGBvO@EL))
EGBvOFEML[))
egbvxKF]
EGBvYH[ZL[)(
E@GBvZLJ]@FG
E@GBvZPDKFEvG]B[GEDY))
eGByA@ZA
E@GBZAF[]GL[
E@GBZ][@GN
E@GBZ][@GNZL]OZF
E@GBZHDL
e@GBzHDLhJ]@_@]P
 )))E@GBZPZ
E@GBZr@t
E@GBZYLLM
eG[[[C[[[
eG[[[c[[[a[[[@
egccgfGuJ
!eg'cgfG
E"g'cgfG
eg'cgfGD
EGCNGCE_
E_[GCO]KK_KG
E@GCQQBCP_FSEO
EGCQwMEDwH
egCvgfG_
egCvgfGS?xNgqgg
]EGCX_XG[QYM
eG[[[d[[[
eG[[[D[[[
E[GDBA]NA
EGDDBASEKE
EgD@D?D*D"D
eg[dgfG 
E"g'dgfG
EGDM_[MMD
EGD]OYJE
eG[[[D[[[p[[[
EgDUD?D4DOG
Eg[dx[[[
e@[[[G[[[E[[[
e_[[[G[[[E[[[
eG[[[E[[[
e[[[[G[[[E[[[4
EGEBYGZH_
)))EGECANXPENP_C@KSAOKYL
eg]edV8ed
eG[[[e[[[d[[[z
E@GE@@E@OE@HBT
EgeFggw2Pv
eg*egfG5
Eg#egfGI
Eg_egfGo
eG[[[E[[[j[[[z
)))@EGEKN_CMJHX@NSPK
EGELPDSEJ
EGEQMZZL
e][[[G[[[F[[[;
e_[[[G[[[F[[[
eG[[[F[[[
e)))@G_FBL
eG[[[F[[[D[[[pm
eG[[[f[[[e[[[
EGFECPM@
EgfG|02Xgqgg
egfG161Jgqgg
egfG-1Pi
egfG*;2rgqgg
egfG2Y3Pgqgg
egfG3U3"gqgg
egfG4"Jegqgg
EgfG-5ISgqgg
egfG5PgKgqgg
egfG6*mUgqgg
egfG7UymgqggZv
egfG 7UZgqgg
egfG]7w6gqgg
egfG8pnZgqgg
egfG9[53gqgg
egfG9t_vgqgg
egfG9wZ*gqgg
egfGAdKbgqgg
egfGA	*Ogqgg
egfGaY]agqgg6
egfG Ay'gqgg
egfG-bf*gqgg
egfGBF:wgqgg
egfGc"]jgqgg
egfGD8Udgqgg3L
egfGeBx	gqgg
EgfG;efqgqgg
egfGF5DigqggpP
_:egfG?F80gqgg
egfG_fb5gqgg
Eg'FgfGR
Eg;fgfGw)
egfGF?M gqgg
egfGfoASgqgge
egfG_[fqgqgg)
egfG-!;:gqggP-
egfGg	T@gqgg4
egfG_gvdgqgg
egfGH4#ygqggB
egfG;H7Agqgg
EgfGhBd'gqgg3
egfGHG@kgqgg
egfGI9[fgqggS
egfGIAOygqgg_
egfGIP]*gqgg
egfGIvjlgqgg8-
egfGJc-pgqgg
egfGK1jYgqgg
egfGKa@[gqggw
egfGKi;Zgqgg'
egfGK	R gqggeZ
egfGkRl5gqggO5
egfG:L1Bgqgg
egfGln;GCD3
egfGLoa gqgg7
egfGlxd-gqgg
egfGMOgCgqgg
egfGmwsUgqgg
EgfGn7Ocgqggb
egfGn?fVgqgg
egfG	O1qgqgg!
EgfG*O@Dgqgg
egfGOEd1gqgg
egfGpf08gqgg
egfGq7Y:aD
egfGq7Y:pD3
egfGqJM8gqgg
egfGR-kQgqgg
egfGrR.Cgqgg
egfG'RYzgqgg
egfGsmjqgqgg
egfGSO@qgqgg]L
egfGSr4vgqgg
egfGsxA@gqgg
egfGt](7gqgg
egfGtIl[gqgg ]
'(EgfGTP
egfGTpEI]Y]]
egfGtwwHgqgg0
egfG#"U;gqgg_
egfGUj1p]Y]]b
egfGu@LDgqgg
egfGVAlrgqgg!
egfG	Vb6gqgg:b
egfG@w]1gqgg
egfGwERz]Y]]X
egfGwIhogqggZ
egfGWJqegqgg
egfGxk;0gqgg'
egfG'XKogqgg
egfGxmb	gqgg
egfG'ybvgqgg;s
egfGyg61gqgg
egfG;YLggqgg9KZ
egfGYsL1gqgg]L
egfG!YSogqggD
egfGZrLvgqgg
egfw1ZK O
egfwK7BBu
egfw LS.E
eG[[[g[[[
eG[[[_[[[G[[[4
EGGAEDM_M@
EG]G]BAO
eggbgfGc
EGGBYCOYZS
EGGCEG_GE
e-ggcgfG
egGcgfGK
eggdgfG?3
e	ggegfG
eggegfGO
EgGegfG.P?
EggfG6(-!gqggR
eg?"gfG"H
EGG_FSKB@XAKB
eggfw0 @
eggfwH(Yqk[
eggfwV1gn
Eg;ggfGS
eggGHp'"gqgg
EggGI|8pgqgg
eggGS7oEgqggg
eggG	W0fgqgg
|eggigfG
EGG[JLDDHC[M
EGGJSP]BYJD[S
e)))@GGL[QDE
EGG l;qlx
eG[[[G[[[q[[[
eggqgg(0
!Eggqggm
EggtgfG6(
eggw1gV	
:EggwegfGE
eG[[[h[[[
eG[[[H[[[
EGHA@Z]HGLJMJOAD
E[_GHBHDS
EGHBZLKP
())EGHDL
EGHDLrJZZ]LQ]
eG[[[H[[[F[[[
eG[[[H[[[F[[[pm
.eG[[[h[[[n[[[
eG[[[H[[[N[[[
eG[[[h[[[n[[[pm
eG[[[@[[[h[[[z
eG[[[I[[[
EgIagfGN
EgIbgfG0)
egifgfG.
egifgfGpfO
eG[[[I[[[G[[[
(egiggfw
egIhgfGL
eg  j     
?'eG[[[j[[[
eG[[[j[[[
EG][J@CB
egjcbdgfS
Eg[JffwJ
eG[[[J[[[I[[[
EGJKBAAEPJ
EG_[JKJQFQP
EGJMDQSPN
eG[[[j[[[o[[[p
E]G]KBYN[O
egkcgfG';
EgKdgfGG
e;g'kgfG
E!g;kgfG
Eg;kgfGZ
eG[[[k[[[j[[['
eG[[[K[[[J[[[
eG[[[k[[[j[[[3*feK[[[
eG[[[K[[[J[[[4
EgKsggw8-s
eG[[[l[[[
eG[[[L[[[C[[[
EG_LCCA]]
EGLCYOXJ
egleUUyUU
E)))GLH]ELLMFGL
E@GLH[@JFGZ
E@GLKLN@G
?EGllllllllmllllOllylm
eGllllllllmlll]Y]]
EGLMGAALE
EGLMPGDL]P
_E]_[GLOYGFOQDG
E@G l;qlxo"1-
EGLQ]OYG@FOZOZ]BDY]_Z@NC@
eG[[[L[[[r[[[4
]egLrjxP
E@GLv@DN
E@GLY[[X
e@GLzLELJ]@FGhJ]@_@]P
E@GLZLN]LQ]YFZ
eG[[[m[[[
)))E_GMBG
EGMB[@LBSN
EGMCYLLQJ
EGM]DJL]
EgmegfG 
Eg_mgfGO
egMggfG8
EgMggfGTc
Eg_mggG_
Eg_mggG|
Eg_mggG0
Eg_mggG12
Eg_mggG2-
Eg_mggG3
Eg_mggG3a
Eg_mggGA
Eg_mggGb
Eg_mggGe
Eg_mggGEZZ
Eg_mggGHM
Eg_mggGk
Eg_mggGN
Eg_mggGQ@*
Eg_mggGv
Eg_mggGV
Eg_mggGz
((EGMHD[[[
E@GMJ[LM@]
EgMkgfGl
EGMQGCDB
EGM[[XJ[
EG]MYJAA
eG[[[N[[[@[[[
EG_NBYCMN]DB]SA__H
EGNC@[NSP
EGND_MMZ
E@GN_@JF
eG[[[n[[[l[[[
E_GNLNGD@L
EGNN]CQH[
E_G@NOPFDSJPDBJP_
eG[[[o[[[
EG(O_8|X
eG[[[O[[[C[[[
(egoegfG
E!g'ogfG
egOggfwk8
EGOGXSQ]DJYGNJCJBBX[ZDOKG@QHDCO[]
EgoIgfG!
egooggG;
eG[[[O[[[q[[[z
EGOXKXH[JJ
EG]PBZZCHLO[Z]Z
EGPDEXOYZJ
EGPN[SDEXJO
eG[[[p[[[w[[[
EGPYLM_O
eG[[[q[[[
E]GQ_AG]QCJABOM]PXSSMLQLG_FL
EG[]QFSESY]ABSKL[MJD[
e gqgg!0
(egqgg!4D
-Egqgg5'
e;*gqgg6
egqgg|6V
E@@@@gqgg8
E?gqgg8hQH
egqggb?nm
egqggcnuD
EgqggcnuD
EgqggcnuDB
egqggD0q
Egqgg@F 
.egqggg0
|egqgg'G8i
egqgg'G8i
EgqggguZ
EgQgggw3
egqggHR0
egqggHsVQ
@e;gqggi
egqggIA1
)Egqggiix
egqggIK(
Egqggj"@
egqggJN0!
egqggKSl
EgqggKSl
 Egqgg]L
egqggli7
Egqggo-u
e|gqggp 
?)EgqggP
e[*gqggq
E_gqggqC
Egqgg-QDE
Egqggrrx
Egqgg-s	
egqggT'v]
egqggtYtyY
Egqgg"u2
egqggVbO
Egqgg#WO
EgqggWoql
;:Egqgg?X
egqggXDt4
E gqggyWg
e )gqggz
EGQJHJQ]G
EGQ]JJH_QOG
eG[[[Q[[[K[[[
]EGQLPZXKKX
E]GQNP[DOZGEMO
EGQOZP[]A
E[G]Q[SQASP
|e(gqVgfG
eG[[[q[[[w[[[pm
_EGQXYM_
_EGQY__AMAN
EGQ[YMOKZMF
eG[[[r[[[
:eG[[[R[[[
eG[[[r[[[k[[[Dr@fC[[[q[[[p[[[
eG[[[r[[[m[[[
E_grR-d.6Df
eG[[[R[[[T[[[
eG[[[r[[[t[[[H
eG[[[R[[[V[[[pm
eG[[[s[[[
eG[[[S[[[
EGSAFKOB
EGSB_JHCX
egScgfGn
egScggGn
EGSCYDQQ
EGSJZZDXPO]E
EGS]_KGXDXYSKB
E_GSNOZBB
EGSNQGMP
e;gssggwE:_a
egStgfGq
eG[[[s[[[v[[[N
EGSXSM@HOJMBCE
E_G_[SYM
eG[[[t[[[
eG[[[_[[[T[[[
eG[[[_[[[T[[[4
eG[[[t[[[a[[[Dr@fz[[[k[[[o[[[
eG[[[T[[[J[[[
eG[[[u[[[
eG[[[U[[[
eG[[[u[[[4[[[?5
eGUdB[[[x[[[
eG[[[U[[[F[[[
E]GUG(G G
EguiggGO
egUkgfGk
eG[[[U[[[K[[[M
_eGUqg7agfG
egUsgfG'
eG[[[U[[[T[[[
egUUxUUw?
e][[[G[[[v[[['
e_[[[G[[[v[[[
eG[[[V[[[H[[[
eG[[[v[[[i[[[
EgwbgfGm
egWcgfGh
EgWdgfGk
EgWdgfGR
EgwdgfGv#
(EgWegfG
egWggfGI
?egwggfw
:egWmgfG
eG[[[W[[[O[[[
egwogfGJx
EgWRgfG82
E[gWsgfG
e][[[g[[[:[[[x
eG[[[x[[[
EgxbgfGf
eG[[[x[[[c[[[
EGXDSCAFLAF]P
EGXK_HMBNSX
eG[[[X[[[M[[[4
eG[[[![[[ [[[xmde@[[[
EGXOXNGE
EGXY]CGJ
eG[[[x[[[|[[[z
eG[[[y[[[
eG[[[Y[[[
eG[[[Y[[[@[[[
E;gyagfG
E;gyagfGQ
eG[[[Y[[[e[[[
E]GYEHJL
egyfgfGl]
]E_GYFPHZZP
EgYkgfGe
e@GYLHZaLEYjFG]LG]Z))
e@GYLHZm@ZJEH@DL[))
e@GYLHZzLH[JA|ZL[GHDL))
egYllllllllmllllOllylm6
eG[[[;[[[ [[[y;PeL[[[:[[[#[[[
EGYQYDLD
e)*gysgfG
e)*gysgfGJT
e)*gysgfGp
e)*gysgfGW
EGYXMYCJH
egyy*****
eG[[[Y[[[y[[[
"EGyyyyy
EGyyyyy9s9yyy
eGyyyyyyn9yyye
eG[[[Z[[[
eG[[[Z[[[)[[[
eG[[[Z[[[5[[[
EGZAKKBJ
e][[[G[[[z[[[d
E@G@@Z@DYEL
Eg'zgfGszk
_[EGZKB@D_ZH
EGZKS_KJX]
EGZLHBHP
egz|pHm|p
egz|pHn|p
EGZQDCGK
EgZRSSSSS
eG[[[z[[[y[[[M
?e_[[[h[[[
e@[[[h[[[
e_[[[h[[[
e@[[[H[[[
e[[[[H[[[
e][[[H[[[
e_[[[_[[[H[[[
e_[[[H[[[
eH[[[	[[[
eH[[[ [[[
eH[[[![[[
eH[[["[[[
eH[[["[[[ [[[
eH[[["[[[![[[
eH[[['[[[
eH[[[)[[[
eH[[[)[[[([[[
eH[[[*[[[
eH[[[*[[["[[[
eH[[[-[[[
eH[[[-[[["[[[
eH[[[-[[[#[[[
eH[[[.[[[#[[[
eH[[[.[[[-[[[
eH[[[:[[[
eH[[[:[[[?[[[)
eH[[[;[[[
eH[[[;[[[:[[[
eH[[[?[[[
eH[[[][[[
eH[[[_[[[
eH[[[|[[[
eH[[[	[[[0[[[
eH[[[0[[[
eH[[[0[[[5[[[
E']H082AO
eH[[[?[[[0[[[N
:eH[[[1[[[
eH[[[1[[[
eH[[[1[[[0[[[7
eH[[[2[[[
eH[[[?[[[2[[[N
eH[[[3[[[
eH[[[3[[[0[[[9
eH[[[3[[[0[[[D
eH[[[3[[[6[[[
eH[[[4[[[
eH[[[5[[[
eH[[[5[[[4[[[
eH[[[5[[[([[[Gg
eH[[[6[[[
eH[[[6[[[![[[
eH[[[7[[[
eH[[[7[[[5[[[
eH[[[7[[[6[[[
:eH[[[8[[[
eH[[[:[[[8[[[
eH[[[:[[[8[[[)
eH[[[8[[[
eH[[[8[[[?[[[
eH[[[8[[[0[[[)
eH8Qd7oHds
eH[[[9[[[
eH[[[9[[[1[[[
eH[[[9[[[?[[[8
eH[[[9[[[8[[[
E H9K@t3H
E H9O8t-H
eH[[[a[[[
e_[[[H[[[A[[[
eH[[[A[[[
eH[[[A[[[@[[[
EHAJHEXK_HN@HHNKEHNDHMHHNHN
[[E]HAOX
EHAY]LOL
e@[[[h[[[b[[[
e][[[h[[[b[[[;
eH[[[b[[[
eH[[[B[[[
eH[[[b[[[a[[[
eH[[[B[[[A[[[
]EHBA[PE
EHBB[DDBN]LMF
EHBDGBBK
eH[[[B[[[G[[[
E]H]BJGX
EHBLDDDXAG
eH[[[B[[[r[[[
eH[[[c[[[
eH[[[C[[[
eH[[[c[[[b[[[
eH[[[C[[[B[[[
EHCB[BD_NJPEE
EHCBBYBA
eH[[[c[[[b[[[D
eH[[[c[[[b[[[I
EHC]CE_C_ADLK
EHC]CYFX
EH[_CEGM[K[N
eH[[[c[[[g[[[
eH[[[C[[[p[[[R
eH[[[d[[[
eH[[[D[[[
eH[[[d[[[9[[[
[EHDD@PY
e):hd) -f
EH[@DFS@FGLM@J[PY]
EHDH][@JLQ@Z]L
EHDKFEL[F
E[H@DKL[G
)))EHDKMHvvHO]L[
EHDND7D#D
EHDNJOGMY
EhDoDBD4D
EHDOPCMXPSLC
e?HdV[[[
eH[[[D[[[y[[[q
EHDYZAHML
eH[[[D[[[z[[[
eH[[[e[[[
eH[[[E[[[
eH[[[e[[[d[[[
eH[[[E[[[D[[[R
EHEHEFEF
EHEHEHHESMHOHES
E]HEMOJJHNJ
eH[[[@[[[e[[[R
_e h|eyh
*eH[[[f[[[
eH[[[f[[[
eH[[[F[[[
EHFAHGNL
eH[[[f[[[d[[[:
e"hFd8bkda
eH[[[F[[[E[[[
eH[[[f[[[e[[[J
E@HFE@_L
eH[[[@[[[F[[[F@@eM[[[
EHF@NSM_D[
EHFPA[LAZM]]ABXC
E||hF||PF||PY||
eH[[[F[[[r[[[
.eh_frame
.eh_frame_hdr
EHFXAMHMCYQPBG
eH[[[F[[[y[[[R
eH[[[g[[[
	eH[[[G[[[
*eH[[[G[[[
eH[[[G[[[
E H;G0t'H9X(s
EHGDAFDHJN@@
eH[[[G[[[D[[[.d
eH[[[G[[[F[[[
eH[[[G[[[F[[[*
E@HGH@KHFM@HG
EHgIcgfGon
EhG l'qlx
eHGM@GNhJ]@_@]P
eHGMN[LP))
EHGMN[LP
')))EHGNAF[]
e@HGNzALGN
eHG@OPGFY
Eh_gqgg8
EHGQKGMY[FA
Eh@gWvgfG
EHGXEQBB
EHGZJOSJ
E[HGZQNLKD
EHGZYDHD
eH[[[H[[[
EHH9EPv7H
EH]@_HAN[LLGL
EHH_CZAJE
EH_HDLHYY
]EHHGNSO[
EHHHHHHxyxXy
EHHHQCLANDZA
EHHHZQ_YPJDD]DECJO
EH[H_LECZ
eH[[[h[[[o[[[
e)))H[[HP
E|hhSSSSk
EHHYPOJD
eH[[[i[[[
eH[[[i[[[c[[[6
eH[[[I[[[H[[[
eHI@HtOBKK	f
eH[[[i[[[l[[[
eHIme' 	dF
eH[[[i[[[n[[[
eH[[[I[[[N[[[
eH[[[@[[[i[[[R
EHIyxgy]
eH[[[j[[[
eH[[[J[[[
eH[[[j[[[4[[[
eH[[[J[[[B[[[
eH[[[j[[[b[[[u
eHJENTO	f
)))EHJH@@QH
eH[[[J[[[I[[[
)))EHJLAFEML[
E)))_H[JO
E_HJPBXJYLC
eH[[[K[[[
eH[[[K[[[A[[[
EHK@]A@AADSM
eH[[[K[[[E[[[:
")))E@HK@E@]P
eH[[[K[[[J[[[D
E)))_H[KJJ
EHKLEEHKLE
EHKLEJEHZZ
EHKLE]LQ]
EHKLE@MLQY[LZZ@FG
EHKLEOF[
!)))EHKLEv
EHKLEZ][@GN
EHKLEZ]PEL
E@HKLNNLIOyxly)
eH[[[k[[[n[[[
eH[[[k[[[o[[[
EHKPQXQY
EHKXJKXSZN
EHK_XPPPLOLJCJYL
EHKZ[ELM
EHKZ]F[P
e[[[[h[[[l[[[
eH[[[l[[[
e)))_H[[L
eH[[[_[[[L[[[
eH[[[L[[[
eH[[[L[[[A[[[
eH[[[L[[[B[[[1
EH]LGZYL[@FMLG
EHllllllllmllllOllylmE
eH_LLZFJ
EHLNYPEBLBPOH]YAY
EH[LNYSMGC]
EHLQ]N_MCLFCH]A]POJKN
)))EH]LZ]
e_[[[h[[[m[[[
eH[[[|[[[m[[[
eH[[[m[[[
eH[[[M[[[
EHMJPO]EMZMN_G_DMGMO
E]HMK]XYSHFCQN[]O
eH[[[m[[[l[[[
eH[[[M[[[L[[[
)))EHML[
EH[MMABAHN[YHCAC_
|ehmMe()
EHMPYLH[E
e[[[[h[[[n[[[
eH[[[n[[[
eH[[[N[[[
eH[[[N[[[@[[[
EHNBBNDY
EH]NGHQO
eH[[[][[[N[[[hu
_EHNJZNDQ
e)))]H[NL]
#E)]H[NL]
EH[NLK]G
eH[[[n[[[m[[[
eH[[[N[[[M[[[
EHNN[MGO
]EHNP_]Q
EHNQLB]J
EhnSSSSSSSSSSSSSSSSSSSS
EHNYQ[C]Q
e[[[[h[[[o[[[
eH[[[o[[[
e[[[[H[[[O[[[
e][[[H[[[O[[[
eH[[[O[[[
eH[[[O[[[A[[[R
EHOCPB_]
eHOH_EFS
e)))]HOHNAFM@
]EH@OJK[KOPC]P
EHOKGSOQ
[E@]H_]OKO[[LZ
eH[[[O[[[L[[[q
eH[[[o[[[m[[[
EHOMACO_
eH[[[o[[[n[[[
EH[O][SLJ_XBL
EhOWSSPs
eH[[[P[[[
EHpgppepqg
EH]PGYEZ@HGZ@]PY
EHPHP]NSYX
e)))][HP@JFGA@ML
eH[[[p[[[j[[[k
EHPL[ZE@ML[
eH[[[p[[[o[[[
eH[[[p[[[u[[[
eH[[[P[[[V[[[
eH[[[P[[[W[[[
eH[[[q[[[
]eH[[[Q[[[
eH[[[Q[[[
EHQBO]AZC
EHQCG_EEZBC
eH[[[q[[[h[[[R
eH[[[Q[[[I[[[
eH[[[Q[[[I[[[)
eH[[[Q[[[I[[[:
E[HQPL[ZSK
eH[[[q[[[v[[[
eH[[[q[[[w[[[
eH[[[Q[[[W[[[
eH[[[r[[[
eH[[[R[[[
eH[[[r[[[j[[[3
eH[[[R[[[P[[[
eH[[[r[[[q[[[
eH[[[R[[[Q[[[
eH[[[r[[[v[[[
eH[[[R[[[V[[[
eH[[[R[[[W[[[
eH[[[|[[[s[[[
eH[[[][[[S[[[
eH[[[S[[[
EHSES]JK@
EHSFXZ@JXPX
EHSGFMXFBB
eHshdGVfd
 )))EHSHNGL
EHSHNGL))
EHSHNGLuEHSHNGL
eH[[[s[[[p[[[
eH[[[S[[[P[[[
eH[[[S[[[R[[[
EHSZAS[JF
eH[[[t[[[
eH[[[][[[T[[[
eH[[[T[[[
ehT(6RSW(5RSWs
eH[[[T[[[B[[[)
eH[[[T[[[G[[[R
eH[[[t[[[h[[[U
|eH[[[T[[[I[[[
eH[[[T[[[J[[[
eH[[[t[[[j[[[A
')))EHtQ
eH[[[ [[['[[[u#
eH[[[u[[[
eH[[[U[[[
eH[[[u[[[h[[[
eH[[[u[[[k[[[
eH[[[U[[[K[[[q|
eH[[[U[[[T[[[r
EHuu@uu[
eH[[[v[[[
eH[[[V[[[A[[[
]@EHv]@GF
E]HV@ ]HV@ ]HV@ ]HV@ yxOx
E]HVJ ]HVJ ]HVJ ]HVJ ]HVJ ]HVJ ]HVJ ]HVL ]HVJ ]HVL yxhx
eH[[[V[[[L[[[
eH[[[v[[[t[[[
eH[[[V[[[T[[[
eH[[[V[[[U[[[DpHfP[[[
eH[[[_[[[W[[[
eH[[[w[[[f[[[R
eH[[[W[[[H[[[
eH[[[W[[[J[[[
eH[[[w[[[k[[[
eH[[[W[[[K[[[
eH[[[W[[[T[[[
eH[[[x[[[
eH[[[X[[[
eH[[[X[[[_[[[
E]HXA[[QK
E||HX||EX||pF||@X||fY||TF||PY||
EHXEZ[NBM[
EHXKOAJC
eH[[[X[[[Q[[[I
EH[XQZQQC
E__HXSQNMPCDBQA
e-'HxvF9Y
eH[[[y[[[
EHYDPBLNLAPBEY
eH[[[Y[[[F[[[e
E)))_H[YFY]LQ]
_EHYGJHP
EHYHM]DG
eH[[[y[[[j[[[
eH[[[Y[[[j[[[
EHY]LJJFML[
eH[[[Y[[[P[[[
EHYPAXPZE]
eH[[[Y[[[q[[[
eHYRSC.PSSS@S0e)ZRS
eH[[[y[[[w[[[
E]H@ yxlx
E)))HYYEL]H[JA@_L
e)))HYYvM@[
eH[[[Y[[[z[[[e
*eH[[[Z[[[
eH[[[Z[[[
eH[[[Z[[[1[[[
EHZAL[HZ
EHZ]DFM@O@LMKP
eH[[[z[[[g[[[
EHZ]@GMLQFO
EHZ]HJJLZZ]@DL
EHZ]HJJLZZ]@DL))
EHZ]JAH[
eHZ]jAHGJL))
EHZLG]LH
EHZ][LNH[@Z]F[HG]L
)))EHZL[OF[LPLZ
EHZL[OF[LPLZ
EHZS_OHL
EH_ZSSMLNO
)))EH[ZZFG
e][[[i[[[
e_[[[i[[[
#eI[[[:[[[
.eI[[[|[[[
?eI[[[	[[[
]eI[[[|[[[
e@@@@@I@@
e@[[[_[[[I[[[
e@[[[I[[[
e][[[I[[[
e_[[[I[[[
eI[[[	[[[
eI[[[ [[[
eI[[[ [[['[[[
eI[[[![[[
eI[[["[[[
eI[[["[[[![[[
eI[[["[[[#
eI[[[)[[[
eI[[[*[[[
eI[[[*[[["[[[
eI[[[-[[["[[[
eI[[[.[[[
eI[[[.[[[ [[[
eI[[[:[[[
eI[[[;[[[
eI[[[@[[[
eI[[[][[[
eI[[[_[[[
eI[[[_[[[][[[
eI[[[|[[[
E  i     *
E@@@@@I@@
eI[[[0[[[
'eI[[[1[[[
eI[[[1[[[
eI[[[1[[[5[[[
eI[[[1[[[7[[[
eI[[[;[[[2[[[
eI[[[2[[[
eI[[[2[[[0[[[
eI[[[2[[[1[[[
eI[[[3[[[
eI[[[3[[[1[[[t
eI[[[?[[[3[[[(M
eI[[[4[[[![[[
eI[[[4[[[)[[[
eI[[[*[[[)[[[4AOfy[[[
eI4cdB|_d
eI[[[5[[[
eI[[[5[[[4[[[
eI[[[5[[[4[[[)
eI[[[6[[[
eI[[[6[[[5[[[
eI[[[#[[["[[[7
eI[[[7[[[
eI[[[7[[[)[[[
E  i     7
eI[[[;[[[8[[[
eI[[[8[[[
eI[[[8[[[3[[[
eI[[[:[[[9[[[
eI[[[9[[[
eI[[[9[[[?[[[
eI[[[9[[[8[[[
eI[[[a[[[
eI[[[A[[[
e[[[[I[[[A[[[2
EiAAAACA@A
eI[[[A[[[F[[[
eI[[[a[[[g[[[
eI[[[A[[[G[[[
eI[[[A[[[@[[[J
eI[[[A[[[n[[[
eI[[[A[[[w[[[
eI[[[b[[[
eI[[[B[[[
eI[[[b[[[a[[[
eI[[[B[[[A[[[
Ei@@@@B@A@ap@C
eI[[[B[[[E[[[
Ei@@@@B@@@Hp@C
EI!B||	T
eI[[[B[[[z[[[
eI[[[c[[[
eI[[[C[[[
eI[[[C[[[|[[[
eI[[[c[[[a[[[
eI[[[C[[[B[[[
eI[[[C[[[D[[[
eI[[[d[[[
eI[[[D[[[
:[[[#EIdA[[[9[[[
EiDeD]DMD5D-D
EiDeD]DMD9D!D
#EIdF[[[
eI[[[D[[[y[[[
eIdz[[[?[[[
EIdZ[[[6[[[
?eId_[[[Z[[[A[[[
eI[[[D[[[z[[[M
eI[[[|[[[e[[[
eI[[[e[[[
eI[[[E[[[
eI[[[E[[[c[[[
eI[[[e[[[)[[[s
eI[[[E[[[v[[[
eI[[[E[[[w[[[
eI[[[E[[[y[[[M
eI[[[E[[[z[[[
eI[[[E[[[z[[[.X
*eI[[[f[[[
eI[[[f[[[
eI[[[F[[[
eI[[[F[[[b[[[
eI[[[F[[[l[[[yk
eI[[[F[[[p[[[
eI[[[g[[[
e_[[[I[[[G[[[
eI[[[G[[[
eI[[[G[[[D[[[
]eI[[[G[[[e[[[
eI[[[G[[[E[[[
eI[[[G[[[F[[[2
eI[[[G[[[h[[[M
EIgiggfw
EIG l'qlxl
eI[[[G[[[o[[[
eigqggQ5
E?Igqgg:vkN
EIGqlx l'
EIGqlx l;l
'eI[[[h[[[
(eI[[[h[[[
eI[[[h[[[
;eI[[[H[[[
e@[[[I[[[H[[[
e][[[I[[[H[[[
eI[[[_[[[H[[[
eI[[[H[[[
eI[[[h[[[a[[[
eI[[[h[[[c[[[
.[[[EiHdJ[[[
e@[[[I[[[H[[[gK
e][[[I[[[H[[[H
EIHHHHxxx
EIHMOIyx[y
eI[[[h[[[n[[[
eI[[[H[[[N[[[M
eI[[[i[[[
eI[[[I[[[
eiidnkenj
eI[[[I[[[G[[[
eI[[[I[[[H[[[
EIIIIIIIIUIIIIUIIIIUIIIIUIIH
EIIIIIIOHxx]Y]]
EIIJJKKLLMMNNxxfx]Y]]
EIIJJKKLLMMNNyx7yD
eI[[[i[[[l[[[
eI[[[I[[[L[[[1
EIInstallerSequenceWWl 
eI[[[i[[[o[[[
eI[[[j[[[
eI[[[J[[[h[[[
eI[[[J[[[I[[[b
EIJNxxsx]Y]]
eI[[[J[[[O[[[
eI[[[J[[[v[[[
eI[[[k[[[
eI[[[K[[[
EIKHLN@HHKH@JKrxayW
EIKHyxSy
"eI[[[k[[[i[[[
eI[[[k[[[i[[[l9fdZ[[[j[[[
EIKINMKI
eI[[[k[[[i[[[X
eI[[[K[[[L[[[
eI[[[l[[[
eI[[[_[[[L[[[
eI[[[L[[[
eI[[[L[[[@[[[
eI[[[l[[[b[[[
eI[[[L[[[B[[[
eI[[[L[[[C[[[#-hdC[[[
eI[[[L[[[C[[[M
eI[[[l[[[d[[[
[[[eILdP[[[
'eI[[[L[[[G[[[
EILIyxSx
EILIyxVx
EILIyx_x
eI[[[m[[[
eI[[[M[[[@[[[
e[[[iM5eQ[[[
EIMANMIrxny
EIMANMIX
eI[[[M[[[G[[[
eI[[[m[[[l[[[
eI[[[M[[[u[[[
eI[[[M[[[y[[[
eI[[[n[[[
eI[[[N[[[
eI[[[o[[[
e[[[[I[[[O[[[
eI[[[_[[[O[[[
eI[[[O[[[
eI[[[o[[[f[[[(M
eI[[[O[[[M[[[
eI[[[O[[[N[[[
eI[[[o[[[n[[[4AOf@[[[
:eI[[[p[[[
eI[[[p[[[
e_[[[][[[I[[[P
eI[[[P[[[
eI[[[p[[[m[[[
eI[[[|[[[p[[[M
eI[[[P[[[O[[[
eI[[[p[[[t[[[
eI[[[P[[[T[[[v
eI[[[p[[[u[[[
;eI[[[p[[[v[[[
eI[[[P[[[V[[[
eI[[[p[[[v[[[D
eI[[[P[[[W[[[
eI[[[P[[[W[[[|
eI[[[q[[[
	eI[[[Q[[[
eI[[[][[[Q[[[
eI[[[_[[[Q[[[
eI[[[Q[[[
eI[[[q[[[7[[[
eI[[[q[[[m[[[
eI[[[|[[[q[[[M
eI[[[Q[[[P[[[
eI[[[Q[[[T[[[
eI[[[q[[[v[[[Z
eI[[[r[[[
eI[[[R[[[
e|||i||ri||
eI[[[|[[[r[[[J
eI[[[R[[[J[[[
eI[[[R[[[K[[[
eI[[[R[[[L[[[J
e[[[iRMdW[[[
eI[[[R[[[N[[[
eI[[[r[[[w[[[X
eI[[[@[[[s[[[
eI[[[|[[[s[[[
eI[[[s[[[
eI[[[S[[[
eI[[[s[[[i[[[M
eI[[[s[[[o[[[?bReV[[[r[[[p[[[
eI[[[s[[[p[[[u
eI[[[S[[[Q[[[
#eI[[[s[[[r[[[
eI[[[s[[[r[[[
eI[[[t[[[
eI[[[][[[T[[[
eI[[[T[[[
eI[[[T[[[d[[[0
eI[[[T[[[G[[[
eI[[[u[[[
 eI[[[U[[[
eI[[[_[[[U[[[
eI[[[U[[[
eI[[[U[[[J[[[
EIur-*4E;*BIWyxgy9
eI[[[u[[[t[[[
eI[[[v[[[
eI[[[_[[[V[[[
eI[[[V[[[
eI[[[v[[[t[[[
eI[[[v[[[u[[[
eI[[[V[[[U[[[
eI[[[w[[[
eI[[[W[[[
E@]I@WBWD
eI[[[W[[[I[[[
eI[[[w[[[k[[[
eI[[[w[[[t[[[
eI[[[W[[[T[[[
eI[[[W[[[U[[[
eI[[[w[[[u[[[0
eI[[[W[[[V[[[
eI[[[x[[[
eI[[[x[[[|[[[
eI[[[X[[[
eI[[[X[[[K[[[
eI[[[X[[[P[[[
eI[[[X[[[U[[[
eI[[[x[[[|[[[v
eI[[[X[[[V[[[
eIXVdXCVe
EIxx]Y]]
EIxyxcyD
eI[[[y[[[
eI[[[y[[[|[[[
eI[[[Y[[[
"eI[[[Y[[[b[[[M
eI[[[Y[[[e[[[s
eI[[[Y[[[G[[[
eI[[[Y[[[h[[[M
eI[[[y[[[i[[[
"eI[[[Y[[[i[[[M
eI[[[y[[[j[[[
"eI[[[Y[[[j[[[M
eI[[[Y[[[n[[[M
"eI[[[Y[[[r[[[M
eI[[[Y[[[S[[[
eI[[[Y[[[t[[[M
eI[[[y[[[w[[[
eI[[[Y[[[w[[[M
eI[[[y[[[x[[[
EIyxuy0K44
Eiyyiyhy
eI[[[Y[[[z[[[
eI[[[z[[[
eI[[[Z[[[
eI[[[z[[[|[[[7
eI[[[Z[[[8[[[yk
eI[[[Z[[[9[[[yk
eI[[[Z[[[![[[e
eI[[[z[[[y[[[
eI[[[Z[[[#[[[yk
e@[[[j[[[
e][[[j[[[
e_[[[j[[[
e@[[[J[[[
e][[[J[[[
e_[[[J[[[
eJ[[[	[[[
eJ[[[![[[
eJ[[["[[[
eJ[[[#[[[
eJ[[['[[[
eJ[[[([[[	
eJ[[[)[[[
eJ[[[)[[[([[[;
eJ[[[*[[[
eJ[[[*[[[![[[
eJ[[[*[[['[[[
eJ[[[-[[[
eJ[[[.[[[
eJ[[[:[[[
eJ[[[?[[[
eJ[[[@[[[
eJ[[[@[[[|[[[
eJ[[[][[[
eJ[[[_[[[
eJ[[[?[[[0[[[(
eJ[[[0[[[
eJ[[[0[[[4[[[
eJ[[[1[[[
eJ[[[1[[[0[[[
	eJ[[[2[[[
eJ[[[?[[[2[[[
eJ[[[2[[[
eJ[[[2[[[*[[[
eJ[[[2[[[5[[[
eJ[[[2[[[6[[[
eJ[[[3[[[
eJ[[[3[[[0[[[
eJ[[[3[[[2[[[]
eJ[[[4[[[
eJ[[[4[[[*[[[
eJ[[[5[[[
Ej5gGegfG
eJ[[[6[[[
eJ[[[6[[[5[[[
eJ[[[?[[[7[[[
eJ[[[7[[[
eJ[[[8[[[?[[[
eJ[[[9[[[
eJ[[[9[[[2[[[9dXdx[[[8[[[?[[[b
eJ[[[;[[[9[[[Q
eJ[[[a[[[	[[[;
eJ[[[A[[[
#E@@@@@j@@A@ADac
e@@@@@j@@A@AFac
|[EjAB))
eJ[[[A[[[E[[[Yh[dU[[[@[[[
EJAHNMHI@'IIMV
EJ[AJGXLC
EJA]JMZ_JA
EJ_AN[XP
EJAONFZ]
eJ[[[b[[[
e_[[[J[[[B[[[
eJ[[[B[[[
eJ[[[b[[[a[[[c_
EJ:bBH_Generated
E]J]BDDBP
EJBdL[[[-[[["[[[
eJ[[[b[[[e[[[|2
eJ[[[b[[[e[[[3v
E_JB[F_AM
eJ[[[B[[[G[[[
EJBKAHLHPSZB_
EJBPX_KKK
EJBYPJQCPGP
eJ[[[c[[[
EJCDGOJJJ]SDOSK]QX
EJC[DZY[
EJCFZB_Y
@EJCKHNYDLBJ
E]J_CKXQ[
@EJCLSSE
])))EJCMD
@EJCM]GSB[NJ
EJCOFZD_LGS
eJ[[[d[[[
eJ[[[@[[[D[[[
EJDA]FOCA]]G
EJDECEBG_KQKAJDESK
[EJDE]JN
eJdI[[[1
eJdJ[[[:
EJDMZSQK_JG[O
[[[.EJdO[[[
E]JDQMCG@E@GMQ[F
EJDSAQNMP]AY
eJd_[[[x[[[
[[[;[[[!eJdY[[[
eJ[[[D[[[y[[[
eJ[[[D[[[z[[[
EjDzGsGhGbG[GSGOG
eJ[[[@[[[E[[[
E@_[JE@JALJB
EJEJJZHY
EJ]E[MCZ
eJ[[[E[[[z[[[K
*eJ[[[f[[[
eJ[[[f[[[
eJ[[[F[[[
e||jf||6f||
ejfbekajk
eJ[[[f[[[d[[[
eJ[[[F[[[E[[[
EJFG][FEBLPR
E)))JFGGLJ]@FG[L][@LZ
e)))JFGZFEL
eJ[[[F[[[l[[[dVudM[[[E[[[o[[[s
e)))JFYP
.eJ[[[g[[[
eJ[[[g[[[
Ejg#bgfG
E#JgckgfG
EJGDYOXXAM
]eJ[[[g[[[e[[[
eJ[[[g[[[f[[[
eJ[[[G[[[F[[[
'eJg')gfG
ejGKd@C[d
EJGNBNF]DC
EJGND]M@K[FGK
eJ[[[G[[[p[[[;
EJGSBH]]
eJ[[[G[[[y[[[
EJG]YB_MDJ_XMJN
e_[[[j[[[h[[[
 eJ[[[h[[[
eJ[[[h[[[
eJ[[[H[[[
eJ[[[H[[[C[[[
eJHd_[[[
e)))JHEEDHML@[HZ
ejhenmijd
e__JHFcv
.EJhggfw
Ejhggfwp#
e@[[[j[[[h[[[gK
EJHIxyxay;
ejhjhjek
EJHJZF_P
eJ[[[h[[[m[[[B
EJ_HM_DC
EJHMFBPB_
EJHNMXAJBZB]PS
eJ[[[h[[[o[[[
ejh:pgppepq
e@[[[j[[[i[[[
e][[[j[[[i[[[
?#eJ[[[i[[[
eJ[[[i[[[
e@[[[J[[[I[[[
e_[[[J[[[I[[[
eJ[[[I[[[
eJ[[[|[[[i[[[3MldY[[[s[[[
e][[[j[[[i[[[F
eJ[[[i[[[g[[[
eJ[[[i[[[h[[[
eJ[[[I[[[H[[[
eJ[[[I[[[H[[[D
ejimknmn
eJ[[[i[[[o[[[P
eJ[[[I[[[z[[[[i
eJ[[[j[[[)[[[;
EJ]JANQGYXC
eJ[[[j[[[h[[[
EJ[JHJPLFMDDGFYJL
ejjhkidj
EJ[J@KEC
eJ[[[j[[[m[[[
eJ[[[j[[[m[[[Q
EJJ_NSDC_[MDNYG
eJ[[[j[[[o[[[
e?jjoggfw
[E_JJ]PBO
]!EJ?-Jt
eJ[[[k[[[
eJ[[[K[[[
EJKF]QOOQZCQYQ
eJ[[[K[[[H[[[
eJ[[[k[[[h[[[m
eJ[[[k[[[i[[[Q
E[JKL]AC_SOBDC
EJKMCOX[G
eJ[[[K[[[N[[[Y
EJKODGSPF
EJKP]NKM
EJKXSBMK
eJ[[[l[[[
eJ[[[l[[[:[[[;
eJ[[[][[[L[[[;
eJ[[[L[[[
eJ[[[l[[[c[[[
eJ[[[L[[[C[[[
e@JLGZ@GN
 )))E@JLGZL
E@JLGZL))
E@JLGZLBLP
_E@JLGZLHJ]@_H]F[LQLYH]A
;)))E@JLGZLHN[LLDLG]
)))E@JLGZLiY[LZ]HZAFY
e@JLGZLjALJBhJ]@_@]P
E@JLGZLMD@]
')))E@JLGZLN[HG]
E@JLGZLZ
EjllllllllmllllOllylm
EJ]LLO_Z
EJLMOPEAMLZ
EJLOQYSLS
EJlSSSSC
e[[[[j[[[l[[[u
eJlV7Dl6
eJ[[[m[[[
eJ[[[M[[[
eJ[[[m[[[b[[[
E@JM@BBH
eJ[[[m[[[f[[[
E@J@M@FDHZ
ejmiiloj
E_JM_JOB
:eJ[[[M[[[L[[[
E[JMX]ODO
e_[[[j[[[n[[[
eJ[[[n[[[
e][[[J[[[N[[[
[@[_[]EJN]
eJ[[[N[[[C[[[p
eJ[[[n[[[g[[[k
eJ[[[N[[[L[[[
EJNXMCK]SPM
e_[[[j[[[o[[[
eJ[[[o[[[
@e@[[[J[[[O[[[
e[[[[J[[[O[[[
eJ[[[O[[[
eJ[[[o[[[b[[[
eJ[[[o[[[c[[[
eJ[[[O[[[C[[[s
eJ[[[o[[[l[[[
EJOLHKLAAOxxx
EJ]OLQEQZY]QAX_EBP]
eJ[[[O[[[M[[[K
EJ@OMKCS
eJ[[[O[[[N[[[
EJON_D]NX_
EJ_O[P_B]JZ]N]B
]EJ]OSCG
eJ[[[O[[[y[[[N
eJ[[[|[[[p[[[
eJ[[[p[[[
eJ[[[P[[[
eJ[[[p[[[a[[[
EJPCGPDA]XSA
eJ[[[p[[[h[[[
EJPH@BZMLPG
EJ[PHPDL][[
EJPQGMBD]
eJ[[[P[[[W[[[
eJ[[[_[[[q[[[
eJ[[[|[[[q[[[
eJ[[[q[[[
eJ[[[_[[[Q[[[
eJ[[[Q[[[
EJQGC_[_GFZP_XGP
eJ[[[q[[[i[[[;
eJ[[[Q[[[I[[[
E_J[Q]L]AC
EJQLKZK_YZZK
EJQSDMY]
eJ[[[r[[[
eJ[[[R[[[
eJ[[[r[[[j[[[
eJ[[[_[[[R[[[J
eJ[[[s[[[
eJ[[[_[[[S[[[
eJ[[[S[[[
EJ]S_BD]QXLL
EJ[SOM@LN]OLHXOONKXXS
eJ[[[S[[[P[[['
eJ[[[S[[[R[[[
eJ[[[_[[[T[[[
eJ[[[T[[[|[[[;
eJ[[[T[[[K[[[ 
eJ[[[T[[[K[[[P
eJtlego	d
eJ[[[u[[[
eJ[[[U[[[
eJ[[[u[[[i[[[
eJ[[[U[[[K[[[
eJ[[[u[[[k[[[X
eJ[[[U[[[O[[[
ejUscTSS9
eJ[[[v[[[
eJ[[[][[[V[[[
eJ[[[][[[V[[[;
eJ[[[_[[[V[[[
eJ[[[_[[[V[[[	
eJ[[[V[[[
EJvDLZZHNLZ
eJ[[[v[[[j[[[
eJ[[[v[[[n[[[q
eJ[[[w[[[
eJ[[[_[[[W[[[
eJ[[[W[[[
eJ[[[W[[[U[[[
eJ[[[x[[[
eJ[[[X[[[
eJ[[[X[[[_[[[
eJ[[[X[[[a[[[dVudN[[[_[[[M[[[
EJXAHGHDZ
EJXAYBMGXFN[
eJ[[[X[[[b[[[dVudM[[[_[[[M[[[
"eJ[[[X[[[b[[[dVudN[[[_[[[I[[[
eJ_XdHnad
eJ[[[X[[[h[[[dVud_[[[_[[[w[[[
EJXJHX[PM_
EJXKEOP[QMXM
E]JXNNYYPZ@
eJ[[[X[[[P[[[
eJ[[[X[[[P[[[b'
eJ[[[X[[[R[[[
eJ[[[X[[[R[[[[
eJ[[[X[[[S[[[
eJ[[[X[[[S[[[t
EJXXPCCDS
EJXYSXJX
eJ[[[y[[[
eJ[[[Y[[[
eJ[[[Y[[[I[[[
eJ[[[Y[[[J[[[
_EJYM]K_SYJLP
EJY]NZYP_F
eJ[[[Y[[[Q[[[
eJ[[[Y[[[T[[[
EjYyw6llllllllmllllOllylm
EJZAADQXYY]ML
EJZDGXGYYB__
e)))JZFMHDHEFD
EJZJNBX[[
EJZPCSJYJ
@EJ[ZQNN
eJ[[[z[[[u[[[
eJ[[[z[[[w[[[
eJ[[[z[[[y[[[
e@[[[|[[[k[[[
e@[[[k[[[
e[[[[k[[[
e][[[k[[[
e_[[[k[[[
*eK[[['[[[
[e][[[K[[[
]eK[[[([[[
e@[[[K[[[
e[[[[][[[K[[[
e[[[[K[[[
e][[[K[[[
e_[[[K[[[
eK[[[	[[[
eK[[[![[[
eK[[[![[[ 
eK[[["[[[
eK[[["[[[![[[
eK[[[#[[[
eK[[['[[[
eK[[[([[[
eK[[[)[[[
eK[[[*[[[
eK[[[*[[[([[[
eK[[[-[[[
eK[[[.[[[
eK[[[:[[[
eK[[[;[[[
eK[[[;[[[:[[[
eK[[[?[[[
eK[[[@[[[
eK[[[][[[
eK[[[_[[[
eK[[[|[[[
eK[[[0[[[
eK[[[1[[[
eK[[[1[[[6[[[vPpdA[[[0[[[
eK1pgppepqg
eK[[[?[[[2[[[
eK[[[2[[[
eK[[[2[[[0[[[
eK[[[2[[[1[[[
eK[[[2[[[5[[[
EK2ggwFd
eK[[[:[[[3[[[
eK[[[3[[[
eK[[[5[[[
eK[[[5[[[([[[
eK[[[5[[[*[[[
eK5-d]DBf
eK[[[6[[[
eK[[[6[[[4[[[I
eK[[[7[[[
eK[[[7[[[)[[[
eK[[[7[[[5[[[
eK[[[8[[[
eK[[[8[[[?[[[
]eK[[[;[[[8[[[6
eK[[[9[[[
eK[[[9[[[?[[[
eK[[[:[[[9[[[2
eK[[[a[[[
eK[[[A[[[
ekaa]Y]]
eK[[[a[[[f[[[
eK[[[A[[[F[[[
eK[[[A[[[F[[[Y
EKAGKBZQM[GBKOLXGK]N
EKAXQBY]J
EKAYENOLQQX]GKK
e[[[[k[[[b[[[
eK[[[b[[[
eK[[[B[[[
eK[[[B[[[A[[[G
eK[[["[[['[[[@B"eT[[[![[[ [[[l
|eK[[[b[[[g[[[
eKBGBWI9
e[[[[K[[[B[[[u
EKB[YSDO
eK[[[B[[[z[[[*
EKBZGLMQJMQ@CC
	eK[[[c[[[
eK[[[c[[[
eK[[[C[[[
eK[[[c[[[a[[[
@]]]E[KCGFA
E@KC]MXG]XA][
eK[[[C[[[y[[[
eK[[[d[[[
eK[[[@[[[D[[[
eK[[[D[[[
eK[[[D[[[|[[[0
EKDCFB_Z[
EK_DDSF]FPN
ekdejoenm
e*#KdGV;dx
E@KDHEEFJFZQEFJHE[FF]
ekdhlljj
EKdK[[[b[[[a[[[
ekdkelnj
EKDKZPMK]GFQ[AOMGM
EK_D[MMSSA
ekdnkhkl
ekdnnnjjo
[[[	[[[;eKdQ[[[
eK[[[D[[[u[[[
eKdY[[[f
eK[[[e[[[
e@[[[K[[[E[[[
eK[[[E[[[
EKE]FHHLDH@EMLZJ[@Y]@FG
EKE_SNG_NPH_NK
eK[[[E[[[z[[[
eK[[[f[[[
eK[[[F[[[
EKFAJCM]
EK]FA]X@
eK[[[F[[[D[[[
eKFDHKBuBAkHPAN
EKF][D[MX
eK[[[f[[[e[[[R
e||kf||?f||
EkFmFnFoFpFqFrFsF
eK[[[g[[[
eK[[[G[[[
eK[[[g[[[8[[[
eK[[[g[[[d[[[
eK[[[G[[[D[[[
'EkgfGm!1
e[kgfG]w
E@KGFvLQ
e)))K@GH[PZ][LHD
EkGjAkC]X
EKG l;qlxo
e'KgoogfGb
EK@GOQBYKQ
EKGPNLGGFJ
Ekgqggzx
EKG[SBMHYF
EKGSBZS[@
EKG[SYZ@_P
EKGXGHS]HENOP
?'eK[[[h[[[
eK[[[|[[[h[[[
eK[[[h[[[
eK[[[H[[[
EKHGJQ]_KMAKYABCHJA[
E@K[H_H]H[
eK[[[H[[[L[[[duAdx[[[
EKHLHCBZXNBF
E@K[H[@LZ
eK[[[h[[[n[[[
eK[[[H[[[N[[[
EK_HOCJX
 )))E@K[H[P
E@K[H[PFOLGNEHGMvKFFBZ
e@K[H[PhJ]@_@]P
E@KHYHJAL
e[[[[k[[[i[[[
_eK[[[i[[[
eK[[[i[[[
eK[[[I[[[
eK[[[i[[[f[[[
eK[[[I[[[H[[[
eK[[[i[[[n[[[
eK[[[I[[[N[[[
e@[[[k[[[j[[[
eK[[[j[[[
e_[[[K[[[J[[[(
eK[[[J[[[
eK[[[j[[[a[[[
eK[[[J[[[C[[[
EKJdU[[[
EKJHA]MS
eK[[[J[[[I[[['
eK[[[J[[[N[[[
EKJNNLZFMAHHGSJAJ
eK[[[k[[[
)eK[[[K[[[
ekKdI[[[e[[[
eK[[[K[[[J[[[
E[[KKLQK]C]
@[E[KKXB
EK_KZ[AE
EKKZNJQS[
e@[[[k[[[l[[[
eK[[[l[[[
'eK[[[L[[[
eK[[[L[[[
E@K[L]F[[LG]
E@K[LFOO@JL
E)))K[LHB
E@KL[H]@FGZHGZ
E@KL[H]LZ
)))E@K[L]HZBZ
EKllllllllmllllOllylm
Ekllllllllmlll]Y]]
EKLLQQC[QS_
EKLOKXHKD_
E@KL[]PD@EEZE@D@]LM
E@KL[]PDF_LDLG]
eK[[[L[[[x[[[N
EKLZJY_B]
EKLZ_QNDPEZ
eK[[[m[[[
eK[[[M[[[
EK_M_ALCD
eK[[[M[[[C[[[?C
eK[[[M[[[C[[[#l
;eK[[[m[[[g[[[
EKmggfwi
E@KMZYE@KZ
e][[[k[[[n[[[ 
eK[[[n[[[
e][[[K[[[N[[[
eK[[[N[[[
EK	n4EaJ
eK[[[n[[[c[[[
ekNcv#?W
eK[[[N[[[E[[[x.Fd[[[[
eKNICONIC	f	tSUHISNRJ
E[KNLSB]@
eK[[[n[[[l[[[vPpdW[[[m[[[
eK[[[n[[[m[[[q
EKNNPEXDGGDSMXD[YM]A
eK[[[N[[[q[[[
EKNSNBNOJXJAYJJQ_
EKNZQZCEAS]_F_X
EKNZZLDLDD[PG
eK[[[o[[[
eK[[[O[[[
eK[[[O[[[A[[[
EK]OCCJMNLQL
eK[[[O[[[C[[[D
EK[O_DGY
eK;Odiu]d
E@KOFFKH[
eK[[[O[[[M[[[vPpdA[[[N[[[
EKOohbgfG
E@KOY][v]HQvGF
eK[[[p[[[
eK[[[_[[[P[[[
eK[[[P[[[
")))[EKP
EKPCLCJEYM
E)))KP]Lrt
eK[[[p[[[v[[[
eK[[[q[[[
eK[[[Q[[[
ekQeo Zl
E]KQQYKN
*eK[[[r[[[
eK[[[|[[[r[[[
eK[[[r[[[
eK[[[R[[[
eK[[[R[[[H[[[
eK[[[][[[R[[[#l
eK[[[_[[[R[[[WB
eK[[[|[[[s[[[
eK[[[s[[[
eK[[[S[[[
eK[[[_[[[S[[[#l
EKS_PC_A
EKSSP[SDN
eK[[[s[[[t[[[
eK[[[S[[[U[[[J
eK[[[t[[[
'eK[[[T[[[
eK[[[T[[[
ekT(6RSW(5RSWs
eK[[[T[[[I[[[
eK[[[T[[[I[[[LA
eKtP"Qpgppepq
eK[[[u[[[
[eK[[[U[[[
eK[[[_[[[U[[[
eK[[[U[[[
eK[[[u[[[a[[[?qEdB[[[t[[[o[[[00
eK[[[U[[[C[[[
E@KuHKZN
eK[[[u[[[j[[[
]eK[[[v[[[
eK[[[v[[[
eK[[[V[[[
eK[[[V[[[I[[[
eK[[[V[[[K[[[
eK[[[v[[[u[[[
eK[[[w[[[
eK[[[W[[[
eK[[[W[[[K[[[B
eK[[[x[[[
"eK[[[X[[[
eK[[[X[[[
eK[[[X[[[][[[
eK[[[X[[[_[[[
EKXALQM_S
EKXMAOZXCC[
eK[[[X[[[O[[[
EKXPLZZSGAMOA_JZ
eK[[[X[[[Q[[[#l
eK[[[x[[[r[[[
E_KXSLOL
eK[[[X[[[t[[[
eK[[[y[[[
"eK[[[Y[[[
eK[[[Y[[[
]eKYfgfG
E@KY[FJLZZA@ML[
eKyllllllllmllllOllylmD
EKYNH[[JD
eK[[[Y[[[R[[[
EK[YXPXAGBE_LX@
ekyyyyyyyyyy
eK[[[z[[[
eK[[[Z[[[
eK[[[Z[[[-
e'KzBgfG
EKZGJGYG[
EKZLOPG]]
E@KZPZ]LD
EKZQNCABAZBYNYO
eK[[[z[[[r[[[]
eK[[[z[[[s[[[
eK[[[z[[[u[[[
eK[[[z[[[y[[[
||||e|||||||l_
e_[[[l[[[
e|||l||||||||||||||||||||||||||
|e_[[[L[[[
e@[[[L[[[
e[[[[L[[[
e][[[L[[[
e_[[[L[[[
eL[[[	[[[
eL[[[![[[
eL[[[![[[ [[[?
eL[[["[[[
eL[[[#[[[
eL[[[#[[[![[[
eL[[['[[[
eL[[[([[[
eL[[[)[[[
eL[[[)[[[ [[[
eL[[[*[[[
eL[[[*[[[([[[
eL[[[-[[[
eL[[[-[[[#[[[
eL[[[.[[[-[[[
eL[[[:[[[
eL[[[;[[[
eL[[[;[[[:[[[
eL[[[?[[[
eL[[[?[[[*[[[
eL[[[@[[[
eL[[[_[[[@[[[
eL[[[_[[[][[[[
eL[[[|[[[
)))]@]EL
eL[[[0[[[
eL[[[0[[[7[[[m
eL[[[;[[[1[[[
eL[[[1[[[
eL[[[;[[[1[[[xw
eL[[[2[[[
eL[[[2[[[0[[[
eL[[[2[[[6[[[
EL2gqgg6F
eL[[[3[[[
eL[[[3[[[1[[[
eL[[[3[[[7[[[
el3md	O9e
eL[[[4[[[
eL[[[5[[[
eL[[[5[[[4[[[
eL[[[6[[[
e][[[l[[[6[[[#vKdS[[[c[[[a[[[
eL[[[;[[[7[[[
eL[[[7[[[
eL[[[7[[[5[[[
eL[[[7[[[6[[[-
eL[[[7[[[6[[[i
?eL[[[8[[[
eL[[[8[[[
eL[[[:[[[9[[[
eL[[[9[[[4[[[bQ[dA[[[8[[[1[[[
eL[[[9[[[8[[[
e@[[[l[[[a[[[
eL[[[a[[[
eL[[[A[[[
[ELA[BCCD
ELADAMD]AB
eL[[[A[[[D[[[T
E?lAgfGX	6
_E]L[@AHO
elamfile
E]LAMJZJ]S]EXG
ElapsedEventArgs
ElapsedEventHandler
elapsedTime
ElapsedTime
eL[[[A[[[s[[[
[ELAXQ@M
eL[[[b[[[
)e][[[L[[[B[[[ 
eL[[[B[[[
eL[[[B[[[A[[[
eL[[[B[[[A[[[	
eL[[[b[[[a[[[x
ELBBL[FYMLDL]
ELBCMYMN
eL[[[b[[[e[[[
eL[[[B[[[F[[[
ELBHOYAQKN@[ABLS_[HX
ELBQCBDPXHD
e[[[[l[[[c[[[
e_[[[l[[[c[[[
_eL[[[c[[[
eL[[[c[[[
'eL[[[C[[[
e@[[[L[[[C[[[
e_[[[L[[[C[[[
eL[[[C[[[
ELCACY]]ZCQXSH
eL[[[C[[[A[[[*L
ELCAPHQMPYOKMLBA
eL[[[C[[[D[[[3
eL[[[c[[[e[[[
eL[[[C[[[G[[[
E@_LCHNH]
E[LCPLDF
ELCSSHSZ
eL[[[C[[[z[[[
ELCZ_NAE]
e|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l||D|||
eL[[[d[[[
eL[[[d[[[	[[[
eL[[[D[[[
ElDAD9D-D
ELDA_DPD
e||ld||bd||
ELDBLC_LGJ
EL]DHBL[
ELDK[L]LZ
eL]DL@Gha))
eL]DL@Ghb))
eL]DL@Ghc))
eL]DL@Ghd))
eL]DL@Ghe))
eL]DL@Ghf))
eL]DL@Ghg))
eL]DL@Ghh))
eL]DL@Ghj))
eL]DL@Ghk))
eL]DL@Ghl))
eL]DL@Ghm))
eL]DL@Ghn))
eL]DL@Gho))
eL]DL@Ghx))
eL]DL@Ghy))
eL]DL@Ghz))
ELDLYKOZP@YC
ELDLZEEDB
ELDNBCMGQDM_YOM
e)LdO[[[
eL[[[D[[[x[[[
eLdX[[[b[[[
ELDYLGMLZHZZ@D@EL[LGMLYF]HNLZBLL[ZZ][KLD[BG@GNL[GL
ELdY[[[q[[[p[[[;
eL[[[e[[[
eL[[[@[[[E[[[
eL[[[E[[[
elec	ne)
ELECQ[NQ
e[|ledm	d
EL]EFAHY@ZL
]EL]EFHMLE@D@GH]@FG]A@GB]AH]DH]A
EL]EFJHEvH[[
)))EL]E@GB
e	leggfw
]@ELELZZDHY
element.getElementsByTagName() called on non-DOM object
element.getElementsByTagName() is not a constructor
Elements
e||||||||||le||Tk||
e[[[?[leU[[[
ElevationType
'eL[[[E[[[w[[[9@
e)))LEZL@O
eL[[[f[[[
)))EL[]@F
elfa_exec_segmentpacked
elfa_hasconstructors
elfa_hascrypto
elfa_hasdestructors
elfa_hasinterpreter
elfa_haskernelaritfacts
elfa_hasnonstandardsections
elfa_hasoverlay
elfa_hassoname
elfa_isconstructorsuspicious
elfa_isepvalid
elfa_isgocompiled
elfa_isgrubmodule
elfa_isharedlib
elfa_iskernelmodule
elfa_isnxbitset
elfa_ispacked
elfa_ispie
elfa_isptdyanamicarraymalformed
elfa_isstatic
elfa_isstripped
elfa_isvalid
e_lfanew
e_lfarlc
elfattributes
eL[[[f[[[d[[[
ELFEDJJL
eL[[[F[[[E[[[n
)))ELFG_@
eLFGH[MF
ELFGH[MF
elfheader
elfheaderinfo
E@_L_F@Y
ELFYHA[JJ
eL[[[g[[[
eL[[[_[[[G[[[
eL[[[_[[[G[[['
eL[[[G[[[
E LG3dgfGUc
ELGBDSXL
ELGBKCDXLLA_
ELGDYZ@SH
eL[[[g[[[e[[[*
eL[[[G[[[E[[[
eL[[[g[[[f[[[J
eLgGdgfG
.)))@ELGH
.)))ELGHD
!)))ELGHDL
EL@GH[M@
ELGIj@pgppepq
ELGKLAKOYGJ]NJZQLMK_QSQK
eL[[[G[[[l[[[
)))ELGN]A
ELGN]Atr
ELGN]AtT
ELGN]ATTT
e[[[[L[[[G[[[q
ELgSfgfG
E[LGX_[J
elGyyyyyy
EL[GZ__N]Q]X[NHJMBMC
eL[[[h[[[
eL[[[H[[[
:)))ELHB
ELHBJHGH[P
(*ELHBL[
?)))ELHBLMvMH]HJLG]L[v@M
)))ELHBL[vHMM[
")))ELHBvFKC
ELHBv_]HKEL
eL[[[h[[[c[[[
e)))L_HE
ELHE[M_][H
E@]L[HEYH]
E@]L[HEYH]A
ELH_L]A@ZYHNL
ELH_LvYHNL
")))ELH_LYHNL
ELH_LYHNL
eLH_Lz]HPyHNL))
ELHM@GM@H
e@_LhMlQJAHGNL[
EL@HM@ZYEHP
eL[[[h[[[n[[[
eL[[[H[[[N[[[
eL[[[h[[[o[[[
ELHODH@EL[
ELHOJJDOPX
_[ELHOY_CGSOM
EL[HPANL[GDC
eL[[[H[[[r[[[
ELHZ]Y[@_@ELNL
eL[[[i[[[
eL[[[_[[[I[[[
e||li||bi||
e||Li||Bi||
eL[[[I[[[H[[[
"eL[[[_[[[i[[[si
eL[[[@[[[j[[[
eL[[[j[[[
eL[[[J[[[
E)))LJAF
e)))LJAF	N
ELJCZG[KL[E
E]LJELHGL[OFZZ
E@_LJFDH
eL[[[J[[[L[[[
eL[[[J[[[N[[[
eL[[[_[[[j[[[o
ElJ[[[O[[[
ELJ[PK_PYQK
E@@LJPOJ_
eLJYL]LQ
eL[[[k[[[
eL[[[K[[[
eL[[[_[[[K[[[7
E@@L@KCQLK
ELKEZAGB@OAQXBS_B
ELKGMMNGJDEYOJAY
]@]ELKH[
eL[[[K[[[I[[[
[ELKNXAEL_F
eL[[[l[[[
eL[[[L[[[
eLL]aFSL[
eL[[[l[[[b[[[
ELLBJOEAA
eL[[[L[[[B[[[N
eL[[[L[[[C[[[
EL_LEGF@]HGFZ[LYD@R
eL[[[l[[[g[[[
eL[[[L[[[h[[[J|
ELLJYQMZ_X]SPJZZELD[
ELLLEDXBZ
ellllllllmlllIMO8) V8
(ellllllllmllllOllylm
;ellllllllmllllOllylm
e'llllllllmllllOllylm
e)llllllllmllllOllylm
e]llllllllmllllOllylm
ellllllllmllllOllylm
ellllllllmllllOllylm"
ellllllllmllllOllylm(
ellllllllmllllOllylm-
ellllllllmllllOllylm:
ellllllllmllllOllylm[
ellllllllmllllOllylm_
	EllllllllmllllOllylm
!EllllllllmllllOllylm
"E|llllllllmllllOllylm
#EllllllllmllllOllylm
(EllllllllmllllOllylm
)EllllllllmllllOllylm
E!llllllllmllllOllylm
E[llllllllmllllOllylm
EllllllllmllllOllylm
EllllllllmllllOllylm"
EllllllllmllllOllylm(
EllllllllmllllOllylm)
EllllllllmllllOllylm:
EllllllllmllllOllylm1
EllllllllmllllOllylm3
EllllllllmllllOllylm5
!EllllllllmllllOllylm5Qg
ellllllllmllllOllylm6
(|ellllllllmllllOllylm7
ellllllllmllllOllylmaB
ellllllllmllllOllylmB
EllllllllmllllOllylmbo
EllllllllmllllOllylmC
ellllllllmllllOllylmD
EllllllllmllllOllylm	d
.EllllllllmllllOllylmF
E|llllllllmllllOllylm_F
ellllllllmllllOllylmg
ellllllllmllllOllylmG
'ellllllllmllllOllylmgH#
ellllllllmllllOllylm?H
EllllllllmllllOllylmh
EllllllllmllllOllylmi
EllllllllmllllOllylmJ
ellllllllmllllOllylmK
EllllllllmllllOllylmk
!ellllllllmllllOllylmL
E:"llllllllmllllOllylml
EllllllllmllllOllylml
EllllllllmllllOllylmL
ellllllllmllllOllylmM
EllllllllmllllOllylmM
EllllllllmllllOllylmn
EllllllllmllllOllylmnI3
ellllllllmllllOllylmo
ellllllllmllllOllylmO
ellllllllmllllOllylmP
ellllllllmllllOllylmq
EllllllllmllllOllylmQ
:ellllllllmllllOllylmr
ellllllllmllllOllylmr
EllllllllmllllOllylmr
ellllllllmllllOllylms2
EllllllllmllllOllylmt
ellllllllmllllOllylmu
EllllllllmllllOllylmu
EllllllllmllllOllylmV.
EllllllllmllllOllylmy
ellllllllmllllOllylmZGsm
e'llllllllmlll]Y]]
ellllllllmlll]Y]]
!Ellllllllmlll]Y]]
E*llllllllmlll]Y]]
Ellllllllmlll]Y]]
EL]LOM_GP
ELLOYLDJK
.)))@ELLQ
ELLXNMAG@K
EL]]L[ZEL]]L[Z
E_LLZ_K_FZ
EL]]L[ZYHJ@GN
]eL[[[m[[[
eL[[[_[[[M[[[
eL[[[M[[[
eL[[[m[[[a[[[
eL[[[M[[[A[[[l
eL[[[m[[[a[[[ti
eL[[[M[[[B[[[
eL[[[m[[[c[[[h*
ELM[CQSO_NAN
ELMEDCKYEQZC
EL_MGM[]EA
ELMKGZZP
eL[[[m[[[l[[[L
ELMLZGNSYMGCFOB
ELMNL[PMOY
ELMNL[SH[
e[[[[L[[[n[[[
eL[[[n[[[
eL[[[N[[[
ELNANH@QMNAO
eL[[[n[[[g[[[
ELNGPQCEQD
ELNHB]MBKSSDG
ELNHEFYZY[
ELNHEJFML
ELNHJPJFG][HJ]F[Z@GJ
ELNHJPMG
ELNLGM@S@GN
ELNLGMZFO]
eL[[[N[[[m[[[
eL[[[_[[[N[[[M
eL[[[N[[[M[[[
ELN@]MFJZ
E)))[LNMLEL]L
[@E]LNN@L]
ELNNQCOXY
EL][NO_KDDLPHLFHG
_E[LNPSGBX
eL[[[o[[[
)))EL]O_
ELOABY_M
e[[[L.OdS[[[d[[[
eL[[[O[[[E[[[
E]LOGC]]
ELOHZKF[
ELO]JE@JB
eL[[[O[[[L[[[
E@LOL[ZJAL@G
E@LOL[ZJAL@Gv
eL[[[O[[[M[[[Ea
eL[[[o[[[m[[[nG
eL[[[O[[[N[[[iG
E[LOS[[APY
ELO]X[AX_M
ELOXE__F][J]JGQMYLCPGQQ
_]E]LOZA[[ZN@A]
eL[[[p[[[
eL[[[P[[[
eLPBd	Dwd
ELPCXY[]
ELPD_QZLJ_
eL[[[P[[[H[[[(
E[@@@@@@@@lpHD
eL[[[P[[[I[[[
eL[[[p[[[k[[[*L
ELPOMCBQZ
elppEntryIDWW
ElpszDateReceived
ElpulTableTypeWWW
eL[[[p[[[u[[[y
E_LPXCXJ_HG]
eL[[[q[[[
eL[[[Q[[[
_ELQGS][
ELQNCYY[]
ELQNS]MDMC
ELQ_OZCY
eL[[[q[[[p[[[-
eL[[[q[[[p[[[T
ELQSCAKZ[
e)))@LQYEF[L
eL[[[|[[[r[[[
eL[[[r[[[
eL[[[][[[R[[[
eL[[[R[[[
eL[[[R[[[G[[[J
eL[[[r[[[t[[[
eL[[[R[[[U[[[8
eL[[[|[[[s[[[
eL[[[s[[[
eL[[[S[[[
ELS[CHSXDQ
[ELSDHXQJCH
      else
ELSFQ[H_S
ELSKYBLSLXGO
ElSllllllllmllllOllylm
ELSLSPAYNM]OZKH
ELSNNGGQ
eL[[[s[[[p[[[
eL[[[s[[[q[[[
"eL[[[_[[[s[[[Qt
eL[[[s[[[q[[[z
eL[[[s[[[q[[[z!
eL[[[S[[[R[[[
?ElSSSSSSSSSSSS
ElSSSSSSSSSSSSSSSS
elSSSSSSSSSSSSSSSSSSSSi
ElSSSSSSSSSSSSSSSSSSSSSSSS
ElSSSSSSSSZ
eL[[[_[[[S[[[v
eL[[[:[[[?[[[t
eL[[[t[[[
eL[[[t[[[b[[[
eL[[[T[[[E[[[D
ElTggGffG
eL[[[t[[[k[[[
eL[[[T[[[L[[[
EL TORITO SPECIFICATION
eL[[[u[[[
eL[[[U[[[
ELUdR[[[
eL[[[U[[[I[[[:
eL[[[u[[[j[[[
eL[[[u[[[k[[[
elUsoRSS9
elUs?[SS9
elUsWQSS9
eL[[[U[[[T[[[
eL[[[U[[[T[[[V
eL[[[U[[[x[[[f
eL[[[v[[[
eL[[[V[[[
)))ELvA@ML
eL[[[V[[[B[[[
e"LvdM|Cf
eL[[[v[[[h[[[[
eL[[[v[[[u[[[
eL[[[V[[[U[[[
eL[[[|[[[w[[[
eL[[[w[[[
eL[[[W[[[
eL[[[W[[[O[[[8
eL[[[w[[[v[[[
eL[[[X[[[
eL[[[X[[[|[[[
eL[[[X[[[A[[[
ELXDO[KK@L
E_LXDPPMY
eL[[[X[[[h[[[
eL[[[X[[[J[[[
eL[[[X[[[k[[[
eL[[[X[[[K[[[
eL[[[X[[[L[[[
eL[[[x[[[m[[[
eL[[[X[[[M[[[
eL[[[X[[[N[[[
eL[[[X[[[O[[[
"eL[[[X[[[o[[[a
eL[[[X[[[p[[[
eL[[[X[[[P[[[]
"eL[[[X[[[s[[[
EL@]XSMC
E||lX||UX||
"eL[[[X[[[v[[[
eL[[[X[[[V[[[
eL[[[X[[[y[[[
eL[[[X[[[y[[[8u
eL[[[y[[[
eL[[[Y[[[
eL[[[Y[[[@[[[
eL[[[Y[[[_[[[8
eL[[[Y[[[a[[[
eL[[[Y[[[b[[[(
eL[[[Y[[[B[[[
ELYB@OSYX
eL[[[Y[[[C[[[
eL[[[Y[[[D[[[
ELY@EEL[
eL[[[Y[[[E[[[fC
E)))[LYEHJL
eL[[[Y[[[F[[[
	())EL]]YGXCZYHHKS[
eL[[[Y[[[h[[[
eL[[[Y[[[H[[[
@ELYHE@O[LL
eL[[[y[[[i[[[
eL[[[Y[[[k[[[]
eL[[[Y[[[L[[[
ELYL_Z@A
eL[[[Y[[[M[[[
"eL[[[Y[[[S[[[
eL[[[Y[[[v[[[[
ELYY[ZPN_D
eL[[[Y[[[z[[[
@ELYZXX_]Q
eL[[[z[[[
eL[[[Z[[[
eL[[[z[[[a[[[
EL]ZAHJB@]
E[LZA]JNZ
ELZBPAQAN[JJK]_ZD
ELZDXXBHQY[P
]@]ELZFOYH[]Z
@EL@ZGF]M@ZYEHPLMJF[[LJ]EP
E@_L_ZKL[D@
eL[[[z[[[l[[[d
]@]ELZL]]@GNZ
EL@ZMDLZ
ELZMSYJBJD_HZ
EL]Z@NGLMvJAH[Z
ELZ]PCCDOF@XBQM
]ELZPSSD
@ELZPZ]LDFKCLJ
ELZPZ]LDFKCLJ]
ELZQEYJZ
ELZSYJDQQLNG
EL]ZvJAFYL[
eL[[[z[[[x[[[
E@_LZ@XLZ9@WBA@YBY
E@]LZYLLM
ELZZL[YHM
eLZZL[yHMe@Z]hJ]@_@]P
ELZZN[X[BZ
e[[[[m[[[
e][[[m[[[
e_[[[m[[[
	e_[[[M[[[
e@[[[M[[[|[[[
e[[[[M[[[
e_[[[M[[[
e_[[[M[[[@[[[
eM[[[	[[[
eM[[[ [[[
eM[[[ [[['[[[
eM[[[![[[
eM[[[#[[[
eM[[['[[[
eM[[[([[[.[[[
eM[[[)[[[
eM[[[)[[[([[[
eM[[[*[[[
eM[[[*[[[([[[
eM[[[-[[[
eM[[[.[[[
eM[[[:[[[
eM[[[:[[[-[[[
eM[[[?[[[
eM[[[@[[[
eM[[[][[[
eM[[[_[[[
eM[[[_[[[][[[
*eM[[[0[[[
eM[[[0[[[
eM[[[0[[[)[[[
eM[[[0[[[*[[[
eM[[[0[[[5[[[
eM[[[1[[[
eM[[[2[[[
eM[[[2[[[0[[[
eM[[[2[[[1[[[
em2Rdr|Sf
eM[[[3[[[
eM[[[3[[[2[[[
eM[[[3[[[2[[[r
eM[[[4[[[
eM[[[4[[[*[[[
eM[[[;[[[5[[[
eM[[[_[[[@[[[5
eM[[[5[[[4[[[::(dJ[[[
eM[[[6[[[
eM[[[6[[[5[[[l
eM[[[6[[[.[[[puJdF[[[5[[[*[[[
eM[[[7[[[
eM[[[-[[[#[[[8
eM[[[;[[[8[[[
eM[[[8[[[
e.m8llllllllmllllOllylm"
eM[[[9[[[
eM[[[9[[[3[[[?
eM[[[9[[[8[[[
eM[[[:[[[9[[[s
E@_M9@WBTI9
e[[[[m[[[a[[[
eM[[[a[[[
e_[[[M[[[A[[[
eM[[[A[[[
e_[[[m[[[a[[[4t
#E@@@@@m@@A@AAac
EMAASAHJ
'eM[[[A[[[E[[[
eM[[[A[[[G[[[
eM[[[A[[[G[[[l
EMAHZAY@D
EMAO_NBD@JHMC]EL]
eM[[[A[[[u[[[
e_maxalloc
)))EM[A]]Y
EMAYP@[JK
eM[[[A[[[@[[[z
eM[[[A[[[@[[[Z
eM[[[A[[[z[[[]2#dI[[[@[[[E[[[
e@[[[m[[[b[[[
eM[[[b[[[
eM[[[B[[[
eM[[[b[[[a[[[
E[MBCAPO
(Embedded)
(EmbeddedCode)
EmbeddedData
[EmbeddedEnc]
(Embedded EXE)
[EmbeddedScript]
embeddedscriptparser.cpp
embeddedscriptparser.h
embeddedscriptparsertests.cpp
embeddedscriptparsertests.h
[EmbeddedString]
-Embedding
(EmbedHTML)
embedservice.cpp
eM[[[B[[[G[[[
EMBJ@LGPCF
EM_@@BPGC
eM[[[C[[[B[[[
e][[[M[[[C[[[F
E[MCFHY]CJ@D
EMCGSPJG
EMCLPE_DK[Z
EMCpgppepqB"2b(L
EMC@_PMNMDKY
EMCPYSCXP_BC[SYMXQSY
[EMCSLQMSK
eM[[[C[[[@[[[U
EMCXGCJSMGHZGC
e@[[[m[[[d[[[
eM[[[d[[[
eM[[[D[[[
EMDBS]ZKHC]
EmDeDQD9D1D-D
EMDGXFFGX_
EMdI[[[p[[[m[[[Q1fdJ[[[w[[[
eM[[[D[[[n[[[
EMDOZBNS
eM[[[D[[[u[[[x
eMdV[[[2[[[0[[[
EmDXDGD*D
eM[[[D[[[z[[[
[eM[[[e[[[
eM[[[e[[[
.eM[[[E[[[
eM[[[E[[[
]E[MEAMH
e)))MEEJHEE
E_MELHX[
eM[[[E[[[r[[[
eM[[[@[[[f[[[
eM[[[f[[[
eM[[[F[[[
eM[[[F[[[D[[[
|[EmFDH@G
eM[[[f[[[e[[[5
e||mf||[f||@f||3f||!f||
eM[[[F[[[n[[[
E||mF||XF||EF||(F||
e_[[[m[[[g[[[
]eM[[[g[[[
eM[[[g[[[
:eM[[[G[[[
eM[[[G[[[
EMGBNH@QAX]
EMGCAQNDD_B
[EMGCO]N
eM[[[G[[[E[[[
#E!mggfw
?E!mggfwm
EMGHH@@LCS_JQ
EMGHXCK]LP
E__MGJCC]
EM]G][JCP]NG
EMGKMQHFHN[
EMGKXZMFY_
EMGNMLGQLQA
E_MGOlggw
EMGOPEQZ
EMgqgg85
eM[[[G[[[u[[[
EM[GZEOOLOM
eM[[[h[[[
eM[[[H[[[
eM[[[H[[[i[[[
e)))MH]L
eM[[[h[[[n[[[
EM_HNBHMZH
eM[[[H[[[O[[[
 )))EMHY
EMHY[LOZL[_L[
EMHYO@E]L[
EMHYvZLH[JAvZ][@GN
EMHYZLH[JA
emhyzL[_L[))
eM[[[i[[[
eM[[[_[[[I[[[
eM[[[I[[[
eM[[[I[[[@[[[
EmIdM[[[
eM[[[i[[[g[[[x
e_minalloc
eM[[[I[[[O[[[
eM[[[I[[[p[[[
eM[[[I[[[t[[[
eM[[[I[[[x[[[Z
eM[[[j[[[
eM[[[J[[[
eM[[[j[[[a[[[J
EM_J[ALN
eM[[[j[[[b[[[Z
eM[[[j[[[c[[[
EMJCPGNK
eM[[[j[[[h[[[
EmjIyjLpvj
]EMJKAJPKSJDE]JN
eM[[[j[[[o[[[
EMJODZNND
EMJpgppepq
]EMJQSMAC
eM[[[_[[[k[[[
eM[[[k[[[
*eM[[[K[[[I[[[
eM[[[k[[[j[[[
eM[[[K[[[J[[[
EMKLH[CHM
EMKM_H]S
e[[[[;[[[:[[[mkTdL[[[
eM[[[K[[[z[[[
e_[[[M[[[l[[[
eM[[[l[[[
e[[[[M[[[L[[[
eM[[[_[[[L[[[
eM[[[L[[[C[[[
eM[[[L[[[C[[[k
eM[[[l[[[e[[[E
EM[LGHLBNPD]
e@[[[M[[[L[[[gK
!emllllllllmllllOllylm
EMllllllllmllllOllylm
E)))M[@_LZ
E@ML[ZE@ML[ZH
@EMLZ]LM]OHZJ@GH]@F
eM[[[m[[[
eM[[[_[[[M[[[
eM[[[M[[[L[[[
EMMNF_DO
'eM[[[M[[[r[[[
eM[[[*[[[)[[[MsPd@[[[
eM[[[M[[[z[[[o5
eM[[[n[[[
eM[[[N[[[
eM[[[n[[[c[[[
eM[[[N[[[c[[[
EMNCMOZ[
eM[[[N[[[D[[[s
)eM[[[n[[[f[[[J
EMNKAPOAXSDMKZ]M_AJFZ
[@E[M]NKJX
eM[[[N[[[M[[[
EMNNZHBKYO[_GDJ@_@
EMNO][BHPX
E[M]NYN_
eM[[[o[[[
eM[[[O[[[
EMOBZYFG_
eM[[[O[[[C[[[
E@MOCMZYO]
EMO[HJL[YSEMQ[G[GPDMEN
eM[[[o[[[l[[[
eM[[[o[[[m[[[
eM[[[O[[[M[[[
eM[[[o[[[n[[[s
eM[[[O[[[s[[[
E][MOSABC
eM[[[p[[[
eM[[[P[[[
eM[[[p[[[a[[[
EMPAJSPNAJ
EM[_]PBCJMJ]
empgppepqJ
]eM[[[p[[[i[[[
EMPKEGN]L[
EMPODKMXDCHQ_O
EMPOKBKACKPBS
EM]P]OMPYG
EmptyBmRegistyPaths
EmptyClipboard
empty distance tree with lengths
EmptyFolderW
Empty regular expression.
empty_result_callbacks
Empty subexpression
eM[[[P[[[V[[[
eM[[[P[[[W[[[
EMPYSXYP[ESE
eM[[[.[[[-[[[q
eM[[[;[[[:[[[q
eM[[[q[[[
EMQLQ_ZLD
eM[[[Q[[[N[[[
emQ[[[o[[[
eM[[[q[[[p[[[
eM[[[Q[[[w[[[R
eM[[[r[[[
eM[[[R[[[
eM[[[R[[[d[[[5
eM[[[][[[R[[[J
eM[[[r[[[j[[[Z
eM[[[R[[[L[[[
eM[[[r[[[m[[[
eM[[[r[[[o[[[
eM[[[R[[[Q[[[
eM[[[r[[[u[[[
eM[[[R[[[V[[[
eM[[[|[[[s[[[
eM[[[s[[[
eM[[[S[[[
eM[[[_[[[S[[[7
EM[SBOZQ
e:mScgfG
E@_MSCKMQMXF[
[[[emSdD[[[
EMSHDPMXANFNJKCAQP
EMSHO[F]KHZZOJP[_LJYQGL
eM[[[S[[[I[[[
EMSMEMEH
eM[[[s[[[p[[[
eM[[[s[[[r[[[
eM[[[S[[[R[[[
EMS_SCAN
?EmSSSSG
?emSSSSSSSS
e mSSSSSSSS
:eM[[[t[[[
eM[[[t[[[
eM[[[T[[[
)::::EMT
eM[[[T[[[E[[[
eM[[[T[[[F[[[
eM[[[T[[[J[[[
eMtJdJ md
eM[[[t[[[n[[[
eM[[[u[[[
eM[[[U[[[
eM[[[u[[[h[[[
eM[[[U[[[I[[[
Emuldet.A
eM[[[u[[[t[[[
eMUUgAggC
eM[[[|[[[v[[[
eM[[[v[[[
eM[[[V[[[
eM[[[V[[[D[[[
eM[[[v[[[g[[[q
EM[vO[HDLv
eM[[[v[[[t[[[3
eM[[[w[[[
eM[[[w[[[j[[[
eM[[[W[[[U[[[
eM[[[w[[[v[[[
#eM[[[W[[[V[[[
eM[[[W[[[V[[[
eM[[[x[[[
eM[[[X[[[
eM[[[X[[[C[[[ 
EMXECZY]J
eM[[[x[[[i[[[
eM[[[X[[[i[[[
eM[[[X[[[I[[[ 
eM[[[X[[[j[[[
"eM[[[X[[[m[[[
eM[[[X[[[n[[[
eM[[[X[[[o[[[
eM[[[_[[[x[[[s
eM[[[X[[[s[[[
eM[[[X[[[t[[[
eM[[[X[[[T[[[ 
eM[[[x[[[u[[[x
"eM[[[X[[[w[[[
eM[[[X[[[x[[[
EMXZHSJZ
EMX_Z]QYY
eM[[[y[[[
eM[[[Y[[[
eM[[[Y[[[@[[[
eM[[[Y[[[a[[[
eM[[[Y[[[b[[[
EM[[]Y]CASK]FXA]]ZAG
eM[[[Y[[[D[[[
eM[[[Y[[[E[[[
eM[[[Y[[[G[[[
eM[[[Y[[[h[[[
eM[[[Y[[[I[[[Q
eM[[[Y[[[j[[[
EMYJBG]M
eM[[[y[[[k[[[
eM[[[Y[[[l[[[
eM[[[Y[[[L[[[
eM[[[Y[[[m[[[
eM[[[Y[[[M[[[
eM[[[Y[[[n[[[
eM[[[Y[[[N[[[
EMY]NJLSGDEJXG
eM[[[Y[[[o[[[
eM[[[Y[[[O[[[
EMYOZY[P
EM]YQPPLJL
eM[[[Y[[[r[[[
eM[[[y[[[t[[[
eM[[[Y[[[u[[[
eM[[[y[[[v[[[3X"eQ[[[x[[[
EMY[X[YQL
eM[[[Y[[[y[[[
Emyycbed
|eM[[[Z[[[
eM[[[Z[[[
eM[[[Z[[[a[[[q
EMZJALBBGO
eM[[[Z[[[o[[[
eM[[[z[[[x[[[
e@[[[n[[[
e[[[[n[[[
e_[[[n[[[
'eN[[[#[[[
_eN[[[-[[[![[[
e@[[[N[[[
e_[[[N[[[
eN[[[	[[[
eN[[[ [[[
eN[[[![[[
eN[[["[[[
eN[[["[[[ [[[
eN[[[#[[[
eN[[['[[[
eN[[[([[[
eN[[[([[[.[[[
eN[[[)[[[
eN[[[*[[[
eN[[[*[[[-[[[
eN[[[-[[[
eN[[[-[[[ [[[
eN[[[.[[[
eN[[[:[[[
eN[[[;[[[
eN[[[?[[[
eN[[[@[[[
eN[[[][[[
eN[[[_[[[
eN[[[_[[[][[[
eN[[[|[[[
eN[[[1[[[
eN[[[1[[["[[[
eN[[[1[[[-[[[
eN[[[1[[[5[[[
eN[[[1[[[7[[[!
eN[[[1[[[![[[y
eN[[[2[[[1[[[
eN[[[2[[[1[[[6
eN[[[3[[[
eN[[[3[[[6[[[
eN[[[3[[[6[[[5
eN[[[3[[[#[[[d
eN[[[4[[[
eN[[[	[[[5[[[
eN[[[5[[[
eN[[[5[[[4[[[
eN[[[6[[[
eN[[[6[[[5[[[
eN[[[7[[[
eN[[[7[[[([[[
eN[[[7[[[6[[[
eN[[[8[[[
eN[[[:[[[9[[[
eN[[[9[[[
eN[[[;[[[9[[[5
eN[[[9[[[8[[[
eN[[[a[[[
EnableAllExtensionsW
EnableAnimations
EnableBatchTransactionWW
enable_binlib
enableblob
EnableContextDataLifecycle
EnabledFeatureUsage
?EnabledProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
EnabledState
EnabledW
EnableFlags
EnableIdleRoutine
EnableIdleRoutineIdl
 ENABLEIOMMUERRORS 
EnableLevel
enableLogging
enable_lshash
 ENABLEMAKEROOTUNCACHEABLE 
EnableMenuItem
Enable or not enable all the extensions for this snapin.WW
enable_os_process_events
enable_pmu_events
 ENABLEPOSTEDINTERRUPTS 
.enable_process_monitor_commands
 ENABLEROOTDMAERRORS 
EnableService
EnableThemeDialogTexture
EnableTrace
EnableTraceEx2
EnableVisualStyles
enable_vmm_grow
EnableWindow
 EnableWW
 ENABLEXSAVES 
eN[[[A[[[d[[[|
e)nadJQWd
ENADNSPY_QB[
ENA_D_PCL
E@NA]G@GN
E@NA]@GJ[LDLG]KP
][E@NA]@GN
eN[[[A[[[G[[[yw9fG[[[@[[[
E@NA]KFQ
EN]AMQ[_H_ANYGSKKYLAZ[KQXP]NH
E@NA]N[HP
ENAQNNX[O[KMA]D
ENAXNNPG
E@NA]Y[FO@EL@M
E@NA]Z]F[LOF[ZLJFGMZ
e@[[[n[[[b[[[
eN[[[b[[[
*e][[[N[[[B[[[ 
eN[[[B[[[
eN[[[b[[[a[[[
ENBDAABJGDH]
eN[[[B[[[E[[[
eN[[[b[[[g[[[
_ENBNKC[
e[[[[n[[[c[[[
e_[[[N[[[C[[[
eN[[[C[[[@[[[
eN[[[c[[[g[[[t
EncMethod
EncodeBase64W
encodecp.cpp
-encodedCommand
EncodePointer
encoder.cpp
encoderdoc.cpp
encoderdoc.h
EncodeRecips
encodererrors.h
encoder.h
encoderopts.cpp
encoderopts.h
encoder_pch.h
encoderutils.cpp
encoderview.cpp
encoderview.h
encoderxmlutils.hpp
encodeURI
encodeuricomponent
encodeURIComponent
encodeURIComponent() is not a constructor
encodeURI is unimplemented
encodevfs.cpp
encodevrg.cpp
encoding
Encoding
Encodings supported by XML serializerWA
Encountered a forward reference to a marked sub-expression that does not exist.
Encountered a forward reference to a recursive sub-expression that does not exist.
Encountered an infinite recursion.
EncryptData
[EncryptedPackage]
encryptionalgorithm
EncryptionLevel
EncryptSupplementalCredentials
(EncScript)
ENCXDJHMD
ENCZXGJA
[[[en|d_[[[
eN[[[d[[[
eN[[[D[[[
E;Nd@[[[
EndBufferedPaint
?EndDefer@Element@DirectUI@@QEAAXK@Z
EndDeferWindowPos
EndDialog
ENdF[[[C[[[|[[[
endfilter
endfinally
EndGdiRendering
EndHandler
endinstallpage.cpp
EndInvoke
[[[en|dK[[[
EnDLDyyyYyy
eN[[[D[[[o[[[	
EndOfLifeNote
EndOfLifePlat
EndOfLifeSigs
EndOfLifeWWW
END[O_KXXDHYZ
EndPaint
endpoint_mapper.cpp
endpoint_mapper_errors.h
endpoint_mapper.h
endpointmappertests.cpp
EnDQDTDMDGD
ENDSGZOZ
Ends the MMC applicationWW
endstream
_endthreadex
endtimefiletime
endtoendticks
ENdU[[[G[[[
ENdV[[[K[[[O[[[
eNdY[[[|
eN[[[D[[[z[[[
eN[[[e[[[
eN[[[E[[[
E@NE9@HBU9@bEBWgbTBb
eN;Ed_M:d
enEgqggK_?
eneimjemk
;e_[[[n[[[f[[[
eN[[[@[[[f[[[
eN[[[f[[[
eN[[[F[[[
e||nf||5n||
e_[[[n[[[f[[[B#
eN[[[F[[[D[[[f*
eN[[[f[[[e[[[H
eN[[[F[[[f[[[|
ENFN_SCNGZ
EnforceOwnerhsipForService
EnforcePermissionsForService
enforcerestrictionpolicy
eN[[[F[[[s[[[
eN[[[g[[[
eN[[[G[[[
EN_GBNDL
EngCreateBitmap
EngCreateDeviceBitmap
EngCreateDeviceSurface
EngDeleteSurface
ENGDXBXQKX
eN[[[g[[[f[[[
eN[[[G[[[F[[[
'engfGCX
e	Ng#fgfG
ENGF@_MQ
EN[GHBCH]XH[[P
Engine.Amsi.FileCacheInsertFailure
Engine.Amsi.FileCacheRemovalResult
Engine.AR.EmsScan
Engine.AR.KeyloggerSensorReport1
Engine.AR.KslKmdfVersion
Engine.AR.KSLLeakedInstall
Engine.AR.KslStartSDPBlock
Engine.AR.KslVersion
Engine.AR.RootkitScan
Engine.AR.TcgSensorEtwOverFlow
Engine.AR.UefiScannerSDPBlock
Engine.AR.UefiSensorApiFailure1
Engine.AR.UefiSensorApiFailure2
Engine.AR.UefiSensorApiFailure3
Engine.AR.UefiSensorApiFailure4
Engine.AR.UefiSensorApiFailure5
Engine.AR.UefiSensorApiFailure6
Engine.AR.UefiSensorEtwOverFlow
Engine.AR.UefiSensorInfo1
Engine.AtomicCounters.Init
Engine.AtomicCounters.Save
Engine.AttribCounts.Operation
Engine.AttribPersist.Capped
Engine.AttribPersist.Operation
Engine.AttribPersist.Throttled
Engine.BM.BadMoacV2Path
Engine.BM.BadResourceId
Engine.BM.BmHipsLsassExemption
Engine.BM.BmRegistryPathsEmpty
Engine.BM.CLFSFileOpen
Engine.BM.CloudRequest
Engine.BM.DetectionDrop
Engine.BM.DetectionOverFlow
Engine.BM.Doppleganging
Engine.BM.DoubleParent
Engine.BM.DroppedMissingProcessNotification
Engine.BM.ETWControllerInit
Engine.BM.ETWCount
Engine.BM.ETWFormatPropFailures
Engine.BM.EtwPendingShutdown
Engine.BM.EtwShutdownComplete
Engine.BM.ExpensiveOperation
Engine.BM.FastestRemFailure
Engine.BM.FastRemSuppressed
Engine.BM.FileChangeVolume
Engine.BM.Filter
Engine.BM.FindDetectionDetailsFailure
Engine.BM.FriendlySuppressMaps
Engine.BM.GetProcessContextFailuer
Engine.BM.HipsMatch
Engine.BM.ImageNameConfigurationFG
Engine.BM.ImageNameConfigurationHips
Engine.BM.ImageNameConfigurationStats
Engine.BM.ImageNameConfigurationSync
Engine.BM.ImageNameConfigurationTimeout
Engine.BM.InstallerCopyCount
Engine.BM.InstallerFileModify
Engine.BM.InstallerTainted
Engine.BM.LateFriendlySuppression
Engine.BM.NoResourceSuppressed
Engine.BM.NoTelemetry
Engine.BM.NotificationDropped
Engine.BM.OctagonEventCount
Engine.BM.ProcCtxFDRSend
Engine.BM.ProcCtxFDRStartUp
Engine.BM.ProcCtxNotificationList
Engine.BM.ProcCtxPurge
Engine.BM.ProcCtxShutdownThreat
Engine.BM.ProcessEnumeration
Engine.BM.ProcessInfoContainerFull
Engine.BM.ProcessInfoMapStats
Engine.BM.ProcessStartCount
Engine.BM.ProcessStartDetails
Engine.BM.ProcessStartTimeout
Engine.BM.ProxyCount
Engine.BM.SenseRemediationETW
Engine.BM.SetBmStartupActions
Engine.BM.ShutdownFailure
Engine.BM.ShutdownStats
Engine.BM.StartupBM
Engine.BM.TDTControllerInit
Engine.BM.Telemetry_Throttle
Engine.BM.ThreatDetectionStart
Engine.BM.TrackProcessQueue
Engine.BM.TrustedInstallerFlagged
Engine.BM.TrustedInstallerMoacAdd
EngineBoot
ENGINEBUILD
Engine.CFA.DefaultFoldersStats
Engine.CFA.UpdateFolderStatus
Engine.Core.EngineBoot
Engine.Core.EngineInit
Engine.Core.FileQueryOnlyMatch
Engine.Core.HealthError
Engine.Core.ProfileMgrInit
Engine.Core.SigMatch
Engine.Core.SigTel
Engine.Core.SilentReload
Engine.Det.AutoFolderLatent
Engine.Det.BMLuaSigattr
Engine.Det.ChainedObjectCount
Engine.Det.ExhaustiveScriptScan
Engine.Det.InsideTxf
Engine.Det.JsEmuEval
Engine.Det.LowfiNonInt
Engine.Det.LowfiTrusted
Engine.Det.LuaFolderLatent
Engine.Det.MoacNotSigned
Engine.Det.PuaDetection
Engine.Det.PythonInfected
Engine.Det.ScriptDetError
Engine.Det.TokenizerError
Engine.DFSP.Init
Engine.DmgExplode.BlockRunsUnordered
Engine.DT.VMProtect
Engine.ExtendedStream.DataPersistResult
Engine.ExtendedStream.DataRetrievalResult
Engine.ExtendedStream.ScanResult
Engine.FileHashCache.Collision
Engine.FileHashCache.Exception
Engine.FileHashCache.Result
Engine.GenericCount
Engine.GenericHResult
Engine.HIPS.CompileRegEx
Engine.HIPS.ExpandEnvStrings
Engine.HIPS.ExpandUserEnvStrings
Engine.HIPS.FileRemoveFailure
Engine.HIPS.HipsASROnExemption
Engine.HIPS.InitializeHIPS
Engine.HIPS.LoadRule
EngineHost
EngineInit
Engine.Kernel.UntrustedVdm
engineloadtime
Engine.Lua.DynamicSigFailure
Engine.Lua.DynamicSigIncludeFailure
Engine.Lua.ScriptError
Engine.Lua.SkipScriptFailure
Engine.Lua.SkipScriptIncludeFailure
Engine.Maps.BondDeserializationFailure
Engine.Maps.CollectEnd
Engine.Maps.CollectFailed
Engine.Maps.CollectStart
Engine.Maps.ErrorOpenFileHash
Engine.Maps.GetFailed
Engine.Maps.Heartbeat
Engine.Maps.InvalidReportType
Engine.Maps.InvalidRtsd
Engine.Maps.OrgidMissing
Engine.Maps.SendQueryFailed
Engine.Maps.SendWdoReport
Engine.Maps.SpynetLevelChanged
Engine.Maps.SyncDssResponseError
Engine.Maps.TruncatedAttribute
Engine.Maps.UrlMapsOff
Engine.Maps.UrlRepParseFailure
Engine.Maps.UrlRepResponseMismatch
Engine.Maps.UrlRepSendLatency
Engine.Maps.UrlRepTimeout
Engine.Maps.XmlDeserializationFailure
Engine.MetaStore.DBFileSize
Engine.MetaStore.DBVaultBusy
Engine.MetaStore.DBVaultQuery
Engine.MetaStore.DBVaultUtilization
Engine.MetaStore.NetworkThrottle
Engine.MetaStore.SQLDbCorrupted
Engine.MetaStore.SQLDbUpgrade
Engine.MetaStore.SQLiteInit
Engine.MetaStore.SQLiteInternalErr
Engine.MetaStore.SQLiteQueryFailure
Engine.MetaStore.SQLiteRecreate1
Engine.MetaStore.SQLiteRecreate2
Engine.MetaStore.SQLiteUpgrade
Engine.MM.UpdatePolicyStatus
Engine.Perf.ExpensiveContainer
-Engine.Perf.ExpensiveFile
Engine.Perf.ExpensiveFile
Engine.Perf.ExpensiveSignature
Engine.Perf.RtpScan
Engine.Pkcs.BadRsaParameters
Engine.ProcessStart.DatabaseOverflowCount
Engine.Remediation.CleanFailure
Engine.Remediation.PuaAllowed
Engine.Remediation.PuaRemoved
Engine.Remediation.QuaFailure
Engine.Remediation.QuaRescanFileSizeLimit
Engine.Remediation.QuaRestore
Engine.Remediation.RemoveFailure
enginereportguid
EngineReportGuid
Engine Reporting Result
Engine.ResMgr.Action
Engine.ResMgr.QuickscanResult
Engine.ResMgr.ReportThreatAction
Engine.ResMgr.ScanExtraResListResult
enginering
EngineRing
enginerollbackhealthdata
enginerollbackstate
Engine.RollingQueues.Init
Engine.RollingQueues.Save
Engine.Rpf.DTError
Engine.Rpf.ResourceLeak
Engine.RtpContext.FileCacheInsertFailure
:Engine.RtpContext.PersistedData
Engine.Scan.AmsiScan
Engine.Scan.AmsiUacScan
Engine.Scan.AppModelScan
Engine.Scan.BehaviorQuarantine
Engine.Scan.BehaviorRemove
Engine.Scan.BitsJobScan
Engine.Scan.BootClean
Engine.Scan.BootScan
Engine.Scan.BootSyncScan
Engine.Scan.CacheRevokeThrottle
Engine.Scan.CertStoreQuarantine
Engine.Scan.CertStoreRemove
Engine.Scan.CertStoreRestore
Engine.Scan.CertStoreScan
Engine.Scan.CmdDeprecatedLowfi
Engine.Scan.CmdLineScan
Engine.Scan.CmdSyncDss
Engine.Scan.CommandFileScan
Engine.Scan.DumpFileScan
Engine.Scan.ElamScan
Engine.Scan.EmsScan
Engine.Scan.FileClean
Engine.Scan.FileQuarantine
Engine.Scan.FileRecover
Engine.Scan.FileRedirScan
Engine.Scan.FileRemove
Engine.Scan.FileRestore
Engine.Scan.FileScan
Engine.Scan.FolderRemove
Engine.Scan.FullScanEnded
Engine.Scan.FullScanStarted
Engine.Scan.HashCacheLookup
Engine.Scan.Hookwow
Engine.Scan.HookWowRemove
Engine.Scan.HookWowScan
Engine.Scan.IoavStreamScan
Engine.Scan.KeyEntryScan
Engine.Scan.LatentResource
Engine.Scan.LatentSigIgnored
Engine.Scan.ListValRemove
Engine.Scan.ListValRestore
Engine.Scan.ListValScan
Engine.Scan.LogFailedScan
Engine.Scan.LongCmd
Engine.Scan.LSPRemove
Engine.Scan.LuaExecute
Engine.Scan.ProcessRemove
Engine.Scan.ProcessScan
Engine.Scan.QuickScanEnded
Engine.Scan.QuickScanStarted
Engine.Scan.RegKeyQuarantine
Engine.Scan.RegKeyRemove
Engine.Scan.RegKeyRestore
Engine.Scan.RegKeyScan
Engine.Scan.RemedCheckpointScan
Engine.Scan.ResReportUnknowns
Engine.Scan.RootkitScan
Engine.Scan.ScanAborted
Engine.Scan.ServiceQuarantine
Engine.Scan.ServiceRemove
Engine.Scan.ServiceRestore
Engine.Scan.ServiceScan
Engine.Scan.SMS
Engine.Scan.SmsScan
Engine.Scan.SyscleanExecute
Engine.Scan.SyscleanSpecificExecute
Engine.Scan.UefiVarQuarantine
Engine.Scan.UefiVarScan
Engine.Scan.Unpacker
Engine.Scan.WebScriptScan
Engine.Scan.WmiRemove
Engine.Scan.WmiScan
Engine.SMS.ModuleLoadSync
Engine.SMS.SyncCount
Engine.SS.ClientFailure
Engine.SS.LostSample
Engine.SS.MapsOff
Engine.SS.ParseFailed
Engine.TDT.CpuCapabilities
Engine.TDT.CreateInstanceFailures
Engine.TDT.DiscoveryFailures
Engine.TDT.PowerFailures
Engine.TDT.ProcessLaunchFailures
Engine.TDT.ScavengerFailures
Engine.TDT.StartupFailures
Engine.TDT.Status
Engine.TDT.StatusInactiveCode
Engine.TDT.StopFailures
Engine.ThreatMgr.HashCacheResult
Engine.TrustedInstaller.MoacResult
EngineUptime
Engine.UPXELF.NewerUPXVersion
Engine.UPXELF.UnsupportedCompression
Engine.ValidateTrust.CatalogSignedPaths
Engine.ValidateTrust.HashIssues
Engine.ValidateTrust.InfraIssues
Engine.ValidateTrust.MissingOcspCert
Engine.ValidateTrust.PeCertIssues
Engine.ValidateTrust.PowershellIssues
Engine.ValidateTrust.Result
Engine.ValidateTrust.TrustSkipTooBig
Engine.ValidateTrust.VbaExcelIssues
Engine.ValidateTrust.VbaPptIssues
Engine.ValidateTrust.VbaWordIssues
engineversion
EngineVersion
eN[[[G[[[m[[[
ENgooggG
EngPaint
eNgqgg;6
eN)gqggPy|
engqgg*v
eng_unload
E__NGXBSEQP
EngYeggw
"eN[[[_[[[H[[[
eN[[[H[[[
ENHCHYDKG
eN[[[h[[[d[[[
[E[NHDHMMHQZ@SJ
eN[[[h[[[f[[[C
eN[[[H[[[G[[[
eN[[[H[[[k[[[
ENHMPYNZJ
eN[[[H[[[M[[[q
"eN[[[h[[[o[[[
eN[[[h[[[o[[[
[EN][HYD[
EN]HYPPZY
eN[[[i[[[
eN[[[I[[[
eN[[[I[[[A[[[
eN[[[I[[[H[[[
eN[[[I[[[L[[[
eN[[[I[[[M[[[
eN[[[i[[[m[[[4HcgI[[[h[[[n[[[
eN[[[I[[[v[[[
:eN[[[j[[[
eN[[[J[[[I[[[a
ENJLNAPSNFXK_JE_
ENJOYXGLJCZPL
ENJQDPCBN[
ENJQPGYHA
E@N]JSHHZBHH[FJ@Y
ENJXJBXESYA
eN[[[_[[[k[[[
eN[[[k[[[
ENK[BXAXSS
]ENKFXMOQMO
eN[[[k[[[l[[[
E]NK_L]C
E]NKOH[HGS
EN_@KS[QYQOJCNOMJ
ENKZ]SFYSN
e[[[[n[[[l[[[
eN[[[l[[[
e_[[[N[[[L[[[
eN[[[L[[[
eN[[[l[[[b[[[
eN[[[L[[[B[[[
E@N]@LDD
e)))NL]FKCLJ]
eN[[[l[[[g[[[
__E]NLKB
ENLLDJX]APCY
_E[NLM]K
E]NL[MZ_S
enlSSSSSSSSSSSS
E)))NL]vY[FJLZZLZ
ENLXXBQAC
ENL@ZXOYJHA
e@[[[n[[[m[[[
e][[[n[[[m[[[
eN[[[m[[[
e][[[N[[[M[[[
eN[[[_[[[M[[[
eN[[[M[[[
e[[[[n[[[m[[[2
e)))NMACA@Z
EN[MAJXMY
eN[[[M[[[C[[[
EN]MDGXJPZ
eN[[[M[[[i[[[
ENM[JPQHX
ENMP]MQYX
e_[[[n[[[m[[['s
ENM]_[_SBK
eN[[[n[[[
eN[[[N[[[
EN[NASLBBCXZL
ENNGHGM_
]ENNNJQCHQL_EEYLH
eN[[[N[[[y[[[0o
eN[[[_[[[o[[[
eN[[[o[[[
eN[[[O[[[
eN[[[O[[[@[[[0o
eN[[[O[[[M[[[5o
ENO[MONG
ENOXZ@[EZKZ[B
eN[[[p[[[
eN[[[_[[[P[[[
eN[[[P[[[
eN[[[p[[[g[[[
eN[[[P[[[G[[[
E[NPHO_[Z
eN[[[_[[[P[[[O'
eNppEIDWWWd
[ENPQOJHHQ[
eN[[[P[[[T[[[
eN[[[][[[q[[[
eN[[[q[[[
eN[[[-[[[#[[[Q
ENQJDMXH
ENQNGKDYN
eN[[[q[[[p[[[
eN[[[Q[[[P[[[a
eN[[[Q[[[U[[[
E[NQYSGF
E#N"R"M"
EnrollDMPollTaskSchedulerFail
EnrollManualCertRenewScheduleFailed
EnrollmentId
eN[[[R[[[P[[[
eN[[[r[[[q[[[yw9fI[[[
eN[[[r[[[u[[[T
eN[[[R[[[W[[[a
eN[[[s[[[
eN[[[S[[[
)))E_NS@KOJO
ENSPK]BM
_E[n)SSS[BW
eN[[[s[[[t[[[
eN[[[s[[[t[[[6
?EnsureVisible@Element@DirectUI@@QEAA_NXZ
?EnsureVisible@Element@DirectUI@@UEAA_NHHHH@Z
eN[[[s[[[w[[[
eN[[[t[[[
eN[[[T[[[
EnterCriticalSection
enterprisecertversion
enterprise_policy_adapter.h
EnterprisePolicyManagerStore_DeleteProviderContextSidAreaPolicy
EnterprisePolicyManagerStore_EvaluatePoliciesUpdateCurrent
EnterprisePolicyManagerStore_GetCurrentPolicyValue
EnterprisePolicyManagerStore_GetEnrollmentState
EnterprisePolicyManagerStore_GetProviderContextSidAreaPolicyValue
EnterprisePolicyManagerStore_PerformEvaluatorMerge
EnterprisePolicyManagerStore_SetProviderContextSidAreaPolicyValue
enterprise_process_notifier.cpp
enterprise_utils.hpp
eN[[["[[[![[[.*TfY[[[
eN[[[T[[[H[[[
eN[[[T[[[H[[[e
eN[[[T[[[I[[[|
entiu0E3
*Entrust.net Certification Authority (2048)0
"Entrust Timestamp Authority - TSA1
"Entrust Timestamp Authority - TSA10
Entrust Timestamping CA - TS1
Entrust Timestamping CA - TS10
entrybyte55
entrybyte60
entrybyte90
EntryIdW
entryPoint
EntryPoint
entrypoint_in_header
entrypoint_in_import_table
EntryTypeWWW
EntryWWW
entstreampolicyadaptertest.cpp
eN[[[u[[[
eN[[[][[[U[[[
ENUe0Iah
eN[[[U[[[E[[[0o
eN[[[U[[[I[[[
EnumAdrTypes
EnumChildWindows
EnumDependentServicesW
EnumDesktopWindows
EnumDisplayDevicesW
EnumDisplayMonitors
EnumDisplaySettingsExW
Enumerable
EnumerateBitsJobs
EnumerateFileSystemEntries
EnumerateFirmwareEnvironmentVariables
EnumerateInstalledLocalExperiencePacks
EnumerateInstalledMachineLanguagePacks
EnumerateProcesses
EnumerateServices
EnumerateTraceGuids
enumeration.hpp
Enumerator
EnumFontFamiliesExW
enum_mpattributesubstring
EnumPageFilesW
EnumProcesses
EnumProcessModules
?EnumPropertyInfo@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
EnumResourceLanguagesA
EnumResourceNamesA
EnumResourceNamesW
EnumResourceTypesA
EnumsCount
EnumsErrorCount
EnumServicesStatusExW
EnumSystemLocalesEx
EnumSystemLocalesW
enum tdt_api::tdt_return_code_ __cdecl tdt_library::tdt_agent_impl::start(void)
enum tdt_api::tdt_return_code_ __cdecl tdt_library_v3::tdt_agent_impl::start(void)
EnumThreadWindows
EnumThreatHistory
EnumUILanguagesW
EnumWindows
eN[[[u[[[t[[[3B9gK[[[
enU@WAEULC
eN[[[_[[[v[[[
eN[[[v[[[
eN[[[V[[[
eN[[[![[['[[[V1
eN[[[V[[[b[[[
envbuilderbase.h
eN[[[V[[[d[[[
envdirector.cpp
envdirector.h
Environment
environment_block_rewriter.cpp
environment.cpp
environment.h
EnvironmentVariableTarget
eN[[[V[[[M[[[
EnvMatch
eN[[[v[[[o[[[
envtracker.cpp
envtracker.h
eN[[[v[[[u[[[
env_utils.hpp
eN[[[V[[[x[[[
eN[[[W[[[
eN[[[@[[[w[[[86
eN[[[W[[[E[[[0o
EnWgqgg*HP
eN[[[W[[[U[[[
eN[[[W[[[V[[[0o
eN[[[_[[[x[[[
eN[[[x[[[
eN[[[x[[[|[[[
eN[[[X[[[|[[[
eN[[[X[[[a[[[
eN[[[X[[[c[[[
eN[[[X[[[C[[[6
E_NXFCBS
"eN[[[X[[[h[[[
eN[[[X[[[j[[[
ENXJZH][
eN[[[X[[[k[[[
ENXKGEKM
eN[[[X[[[l[[[
eN[[[X[[[L[[[6
EN@[XMSCP
"eN[[[X[[[n[[[
eN[[[X[[[o[[[
ENXOEGCQ[Z
ENX[_OGSGQY
eN[[[X[[[P[[[
eN[[[x[[[p[[[0o
eN[[[X[[[Q[[[
eN[[[X[[[s[[[
eN[[[X[[[t[[[
eN[[[X[[[U[[[
eN[[[X[[[w[[[
eN[[[X[[[z[[[
eNxZdVSse
]ENXZGSN@K
eN[[[y[[[
eN[[[Y[[[
eN[[[Y[[[a[[[
eN[[[Y[[[c[[[
eN[[[y[[[f[[[|
eN[[[Y[[[h[[[
"eN[[[Y[[[j[[[
eN[[[Y[[[l[[[
eN[[[y[[[n[[[
ENYNB_[L
"eN[[[Y[[[o[[[
ENY_O@SSJN
eN[[[Y[[[q[[[
ENYQ_YMM
eN[[[Y[[[u[[[
eN[[[y[[[x[[[
]ENYZ_G[GA
eN[[[z[[[
eN[[[)[[[.[[[Z
eN[[[Z[[[
eN[[[Z[[[	[[[
eN[[[Z[[[*[[[
eN[[[z[[[|[[[0o
ENZDBPEDPFD]CG
eN[[[Z[[[f[[[
eN[[[Z[[[g[[[
EN]ZHQHBL]D
eN[[[z[[[k[[[
EN_[ZP@Z
EnZRSSSSS
eN[[[z[[[x[[[
ENZXSQCND
E[N]Z]_YE
ENZYELAZ]QHM
*e@[[[o[[[
e@[[[o[[[
e[[[[o[[[
e_[[[o[[[
[e][[[O[[[
e@[[[O[[[
e][[[O[[[
e_[[[O[[[
e_[[[O[[[@[[[
eO[[[	[[[
eO[[["[[[
eO[[['[[[
eO[[[([[[
eO[[[([[[#[[[
eO[[[([[[-[[[
eO[[[)[[[
eO[[[)[[['[[[
eO[[[*[[[
eO[[[-[[[
eO[[[-[[[#[[[
eO[[[.[[[
eO[[[.[[[-[[[
eO[[[:[[[
eO[[[;[[[
eO[[[;[[[:[[[
eO[[[?[[[
eO[[[@[[[
eO[[[][[[
eO[[[_[[[
eO[[[0[[[5[[[
eO[[[0[[[7[[[
eO[[[0[[[7[[[Q
eO[[[:[[[1[[[
eO[[[1[[[
eO[[[1[[[4[[[
eO[[[1[[[7[[[
e[[[[|[[[o[[[2
eO[[[2[[[
eO[[[2[[[0[[[]
eO[[[:[[[2[[[|(MdM[[[9[[[
eO[[[;[[[2[[[p4FdA[[[:[[[
eO[[[3[[[
eO[[[3[[[2[[[
eO[[[3[[[2[[[B
eO[[[3[[[7[[[
eO[[[4[[[
eO[[[4[[[)[[[
eO[[[4[[[#[[[p
eO[[[5[[[
eO5pgppepq
eO[[[6[[[
eO[[[6[[[)[[[
eO[[[6[[[4[[[
eO[[[6[[[([[[p
eO[[[7[[[
eO[[[7[[[)[[[
eO[[[8[[[
eO[[[8[[[?[[[S
|eO[[[8[[[?[[[u
eO[[[:[[[9[[[
eO[[[;[[[9[[["
eO[[[9[[[
eO[[[9[[[.[[[
eO[[[a[[[
eO[[[A[[[
eO[[[A[[[@[[[
eO[[[A[[[@[[[#
eO[[[a[[[e[[[
eO[[[a[[[g[[[
eO[[[a[[[g[[[6
EOAJHYPMS__NQ
]EOAOESZ[GBC
eO[[[b[[[
eO[[[B[[[
EOBANE]DXZ_GX
Eo@@@@B@A@_p@L
[EO[[BEGNZ
eO[[[b[[[g[[[
EOBGDSDPPYJ_
E_OBGDYG
EOBMAEAB
EOBO_JGD
EOBQEPZBY
e_[[[o[[[b[[[U
eO[[[B[[[u[[[R TdF[[[A[[[y[[[
e@[[[O[[[C[[[
eO[[[C[[[
EOCAX][X
EOCBCMOP
EOCCO[CKL]HOBD
e_[[[o[[[c[[[E
eO[[[c[[[e[[[
eO[[[C[[[F[[[;
E_OC[HCYS
EOC[[HDQ
EOCHEQZO
EOCHGN_BYPO
EOCLJJNNP
|e_[[[O[[[C[[[n9
e[[[[o[[[c[[[O
]EOCQNYN
EOCQ@OAJCXH
eO[[[d[[[
eO[[[)[[[![[[D
eO[[[D[[[
EODBHZC]MHPJ]
*EOdC[[[
EoD?Dyyy
_EO[_DE]HNNDO
!eo_dgfG??
EOdH[[[a[[[
EOdJ[[[p[[[
EOD_]KLPQ@
EOdO[[[J[[[I[[[
EoDSDCD3D
eO[[[e[[[
eO[[[E[[[
eO[[[E[[[D[[[
[]EO@EEDLDF[P
eoeHGM@GNhJ]@_@]P
E[OE_JYMMHAQPZ]PLS
e_oeminfo
EOEPAMDGP_
eO[[[([[[-[[[f
eO[[[f[[[
eO[[[#[[["[[[F
eO[[[F[[[
EOFACOCGLMP]Y_ZQ
|[EoF[DH]))
e)))OF[DHJ]@FG
((EOF[FGLM[@_LJE@LG]
EOfK5)e'?
e)))OF[LHJA
e)))OF[[LHM@GN
EOF on input.  Aborted.
EOF]]]SMQ]
e[[[[O[[[F[[[u
EO_FXMDQBECG
E]OFXQ[ASXPA
eO[[[F[[[z[[[
EOFZB[MH_H
eO[[[g[[[
"e@[[[O[[[G[[[
e@[[[O[[[G[[[
eO[[[@[[[G[[[
eO[[[G[[[
eog7vgfGG
eO[[[g[[[e[[[
eO[[[G[[[E[[[
EOGEN[D_
eO[[[g[[[f[[[
eO[[[g[[[f[[['
EOGHZMQK
E]OGJOSL
E[OGOYAH
eO[[[G[[[s[[[
EOG[SXJQHQ@
eO[[[G[[[z[[[
)eO[[[h[[[
eO[[[h[[[
eO[[[H[[[
E[OHAYPNL[S
EOHBHA_P_
EOHK[ZJJ_A[S@YECBC]HM]KBA_
eO[[[H[[[M[[[6
eO[[[H[[[N[[[
eO[[[H[[[O[[[]
EOHZLHL]ON
eO[[[i[[[
eO[[[I[[[
eO[[[i[[[h[[[
eO[[[I[[[H[[[
)))EOiYF
eO[[[j[[[
eO[[[J[[[
EOJCOSDFMY_
EOJD_DBZ
@EO@JFOLGPGN_[
_EOJGD_@
EoJhggfw
eO[[[J[[[I[[[a
eO[[[J[[[I[[[nYSdY[[[
[EO]JLX[
EOJNBM@_[BGLDC
EOJNHLBE
]@_EOJOLK]OQ
EO]JPN]D
EOJPQO[Z
EOJSJ_HLMBN
EOJZXAC_DBNXABPCJQH
eO[[[k[[[
eO[[[K[[[
EOK]BAFC@M[M
eO[[[K[[[G[[[
eO[[[k[[[h[[[
eO[[[k[[[h[[[V
)))EOKItttHMM@]@FGHE@GOF[DH]@FG
eO[[[k[[[j[[["
eO[[[K[[[J[[[
)))EOK]]Q
eO[[[K[[[y[[[esNdJ[[[J[[[C[[[
[E]OKZ]XECEH]
eO[[[l[[[
eO[[[L[[[
?e_[[[O[[[L[[[#a
eO[[[l[[[d[[[
E@OLKF]E
e)))OL[_LG]
eollllllllmllllOllylm
E@OLNZGGK
EOLOGNYSN
[EOLS_LZ
E@OLZJFYLLHY
e][[[o[[[m[[[
e][[[o[[[m[[[ 
eO[[[([[[#[[[m
eO[[[m[[[
e@[[[O[[[M[[[
eO[[[M[[[
eO[[[M[[[@[[[
eO[[[M[[[C[[[
EOMDBBYPZAP
)@e_[[[o[[[n[[[
?'e_[[[o[[[n[[[
e][[[o[[[n[[[
e_[[[o[[[n[[["
eO[[[n[[[
[e[[[[O[[[N[[[
eO[[[N[[[
eO[[[n[[[a[[[
EONDAFLNLSB@BF@GM_QLZ
E[ONDZBDN
EONEPDOXE
eO[[[N[[[F[[[?WFdD[[[
eO[[[N[[[G[[[
eO[[[N[[[M[[[
E_ONQCSOYK]
EONX_MPQ_[
eO[[[o[[[
[EO]OBLH
eO[[[O[[[C[[[|
E[OOCKB_YFB
EOOEJHPPNBQ
eO[[[O[[[G[[[
eO[[[o[[[l[[[
eO[[[o[[[m[[[
eO[[[o[[[n[[[
EOOPOGFOD
EO[]OPQXNA_[
EOOQ]LODDA
EOOYMNOO
eO[[[p[[[
eO[[[:[[[?[[[P
eO[[[P[[[
EO[PGMGQ
EopgppepqW1
eO[[[p[[[h[[[
EOPJKJZZZK
EOPSQHKP
eO[[[P[[[T[[[A
eO[[[P[[[V[[[
eO[[[p[[[w[[[
eO[[[P[[[W[[[
E@OP]]Z[[PALHAJAJY]_
eO[[[q[[[
eO[[[Q[[[
EOQJYMXQB[MH
EO[QN]GNHCLOHJ
eO[[[_[[[Q[[[q@_dU[[[
eO[[[q[[[v[[[|
eO[[[q[[[w[[[
eO[[[q[[[w[[[|
EOQYZLCME
eO[[[|[[[r[[[
eO[[[r[[[
eO[[[*[[[.[[[R(
eO[[[][[[R[[[
eO[[[R[[[
eO[[[R[[[J[[[_
eor_P!fL
eO[[[R[[[Q[[[
eO[[[R[[[W[[[
eO[[[s[[[
eO[[[_[[[S[[[
eO[[[S[[[
EOSCHYJEX
eO[[[s[[[f[[[
EOSGMQPA[_AD
EOS[GSXPZ]LFM
EOSHJDOJ
eO[[[S[[[Q[[[dsHdC[[[
eO[[[|[[[s[[[r
eO[[[s[[[r[[[
eO[[[S[[[R[[[
eO[[[s[[[w[[[
EOS@_YO[Q
eO[[[][[[S[[[Z
eO[[[t[[[
eO[[[T[[[
eO[[[t[[[f[[[h
eO[[[t[[[h[[[
eO[[[T[[[K[[[
eO[[[T[[[O[[[
eO[[[u[[[
eO[[[U[[[
eO[[[U[[[A[[[
eOUG3sYS
eOUggkgfG
eO[[[u[[[i[[[
eO[[[u[[[t[[[
eO[[[v[[[
.eO[[[V[[[
eO[[[V[[[
EovdQ[[[u[[[
eO[[[V[[[I[[[
eO[[[V[[[T[[[
EOvvQSrK
eO[[[w[[[
eO[[[_[[[W[[[
eO[[[W[[[
eO[[[][[[W[[[D
eO[[[w[[[i[[[
eO[[[W[[[T[[[
eO[[[W[[[U[[[
eO[[[W[[[U[[[B
eO[[[W[[[U[[[WW[dM[[[V[[[
eO[[[W[[[V[[[
eO[[[x[[[
eO[[[X[[[_[[[
EOXEMK[XYM]MEOCG
eO[[[X[[[k[[[
EOXLNBP_
EOXNJJQJ[_@N
EO_X_PD_MYB
]_EOXP]QXDZ[
eO[[[X[[[U[[[
eO[[[y[[[
eO[[[Y[[[
eO[[[	[[[:[[[yCBdR[[[
E[[[o!yg_[[[
E]OYHNJ]]Y
eO[[[Y[[[N[[[
E][OYOP[S
eO[[[y[[[q[[[
EOYQKD@K
eO[[[Y[[[R[[[
eO[[[y[[[s[[[R
eO[[[Y[[[v[[[
eO[[[y[[[x[[[
-eoY[[[z
eO[[[z[[[
eO[[[Z[[[
EOZC_AXGL
EOZC@LH[QB
[E[]O]ZC[L]N
EOZD[PJ]QO
_[EOZJEFJX@C
E_OZL[GQD
EO[[[Z[[[O[[[
EOZOJC[JGJ]SZX
())EOZ@O[rHZ@OLYF
|())EOZ@O[rHZ@OLYF
EOZPBYHD
eO[[[Z[[[T[[[
eO[[[z[[[x[[[z@PdB[[[y[[[
e@[[[p[[[
e[[[[p[[[
e][[[p[[[
e_[[[p[[[
e@[[[_[[[P[[[
e[[[[P[[[
e][[[P[[[
e][[[P[[[@[[[
e_[[[P[[[
eP[[[	[[[
eP[[[ [[[
eP[[[![[[
eP[[[#[[[
eP[[[([[[
eP[[[*[[[([[[
eP[[[-[[[
eP[[[.[[[
eP[[[:[[[
eP[[[?[[[
eP[[[|[[[
|]@E@]P))
eP[[[1[[[
eP[[[1[[[7[[[
eP[[[2[[[
eP[[[2[[[7[[[
eP@@@@@2A@U@AAac
eP[[[3[[[
eP[[[3[[[#[[[a.
:eP[[[4[[[-[[[
eP[[[?[[[4[[[
eP[[[4[[[
eP[[[5[[[)[[[
eP5Xdbj2e
eP[[[6[[[
eP[[[8[[[
eP[[[8[[[([[[
eP[[[;[[[9[[[
Ep9FpuC3
EPaa]Y]]
EP_ABFMZPA_KDNMYGXGF
EPADLPBX
EPA]GDPYPAG
EPA[JCLA
EPAPPNCZQZMSKK
EPAQSYO_SXQJO
epatscnstart
epatstartentrysect
epatstartlastsect
eP[[[b[[[
eP@@@@B@A@2 @A
eP@@@@B@A@2 @A"@
eP@@@@B@A@2 @A_
eP@@@@B@A@2 @Am
eP@@@@B@AA2 @A
eP@@@@B@AB2 @Am
eP@@@@B@AD2 @AX
eP@@@@B@AE2 @Akml
EPBAQYJP
")))EPB@EF[
EPBHXBAP]
EPBPAJEODEASP
EPBPOLZPJ
]eP[[[c[[[
eP[[[c[[[
eP[[[C[[[
@@@@@@@@Ep@C
eP[[[C[[[A[[[
epcallnext
eP@CA@N@AEac
eP@cA@P@AEac3)'!442z
eP[[[C[[[B[[[
eP[[[c[[[b[[[o
_EPCBSSD_E@@E
ePCCNCCCBACC
EPCELGO]N]
EPCFKSS]XA
EP@[CJP_NA
eP[[[d[[[
eP[[[D[[[
EpD_DHD1Dyyy
e.PdK[[["[[[
!)))EP[D@Q
ePdQ[[[B[[[
EPdR[[[y[[[
EpDWD8D*D
EP[D[XDQNPCONQBEQ
eP[[[D[[[y[[[
EpDYDND7D
eP[[[e[[[
eP[[[@[[[E[[[
EPE]AHCOLS
EPEDAEM_Y
@@@@epEFd
@@E@pE@YE9XZLY9
E@P]EYQ_XPZXNYBNDMGS
.eP[[[f[[[
eP[[[f[[[
eP[[[_[[[F[[[
eP[[[F[[[
ePfD;mXtBH
EPFGK[FZ
EPFXAM[OXK]MQ
eP[[[F[[[x[[[I
ePFydVT4d
eP[[[F[[[z[[[
eP[[[g[[[
eP[[[@[[[G[[[
eP[[[_[[[G[[[
eP[[[G[[[
epg7kgfG
EPGB]LEDOLLO
E[__PGDGZ
eP[[[G[[[E[[[@?HdI[[[
eP[[[G[[[F[[[c
EpgfGQm|9gqgg
EpggjgfG
EpggwgfG
E_]]PGLF
EPGOHMX_]_N
;@@epgppepq
_epgppepq
e#pgppepq
epgppepq
epgppepq:
epgppepq@
epgppepq_
#Epgppepq
::Epgppepq
| Epgppepq
E!pgppepq
E#pgppepq
E'pgppepq
E@pgppepq
E@pgppepq#
Epgppepq
Epgppepq".
Epgppepq#
Epgppepq[
Epgppepq0A_cGp
Epgppepq1	l
epgppepq9
epgppepqa
epgppepqB
epgppepqc
Epgppepqe
epgppepqG
EpgppepqH9
epgppepqI
EpgppepqJ2
EpgppepqjRkK?
EpgppepqLp
epgppepqo
|EpgppepqoF
epgppepqP
epgppepqPE
Epgppepqpm
epgppepqt
EpgppepqU
epgppepqv
EpgppepqV
Epgppepqwy.
epgppepqy
@epgppepqzo
epgppept
@@@@@@@@Ep@Gu
@@@@Ep@Gu
eP[[[h[[[
eP[[[H[[[
eP[[[h[[[b[[[
eP[[[H[[[C[[[
e)))[@PH][H_LE][@Y
EPHOMX]_SZSHSJ]GP[MY[
EPHZ[QQYN
EP@H]ZYHC
eP[[[i[[[
eP[[[I[[[
@@@@@@@@Ep@i
[[[EPIdY[[[
eP[[[i[[[m[[[
epinfirstsect
e@[[[P[[[J[[[
eP[[[J[[[
.)))EP[@J
EP@JCLDLCKLHPPNQ
EPJ_E[O]OQY
EP[@JHEEP
e][[[P[[[J[[[LJ;dN[[[W[[[
eP[[[J[[[m[[[7
E]PJMJKNX]BGGS@
EPJOKJCAD
[EP_JPXHG
eP[@JZdHG@OLZ]jFG]LG])(
E]PKES_ZEL
eP[[[K[[[G[[[
E]PKKJB]]YK@S
@@@@@@@@Ep@kS:
EP[KSMJ@G
e][[[p[[[l[[[
eP[[[l[[[
@@@@Ep@l
@EPLAXNBZN
eP[[[l[[[b[[[
eP[[[l[[[c[[[
[[[epLdZ[[[
EPLHAYPMALZ
eP[[[L[[[k[[[
epllllllllmllllOllylm	
EPLMNCYSX[X[MN
eP[[[m[[[
eP[[[M[[[
E[PMHCQGJOKYDEGK
EPM_NBQJ]H]OGD
EPMZ_NNZO
e_[[[p[[[n[[[
eP[[[n[[[
e][[[P[[[N[[[
eP[[[n[[[6[[[
eP[[[N[[[A[[[
E@@@@[pnL
EPNPLS]OHQE[C]F
EP]]NS[A[HXAOX
[EPN]@XN
EPNY_JLX
EPNY]KGQO[
EPOD[_OAB
!eP[[[O[[[N[[[
epoutofimage
EPOYLAXOCB
eP[[[p[[[
EPPB_QQGLSMCD
EPP]C@OSGOKHMPXFYJD[GAQXQHSA
EPPGDNJJNLY
Eppgppepq
EPPILQNKLQKGQHP
EPPMPQNB
e)pppropWWd
eP[[[P[[[V[[[
]E[PPY[_B
EPPYJGPH_P
eP[[[q[[[
eP[[[Q[[[
epQCdGf8dGL
eP[[[Q[[[J[[[
EP_QJQOPCZ]SCD
EPQPNGGY
EPQQB[G_G
EPQXHPYZ
)eP[[[][[[R[[[
eP[[[r[[[c[[[
eP[[[r[[[p[[[
eP[[[r[[[p[[[e
eP[[[R[[[Q[[[
eP[[[r[[[t[[[
eP[[[r[[[v[[[
eP[[[s[[[
eP[[[S[[[
@EPSAAQ]
epscn_eqsizes
epscn_falign
epscn_islast
epscn_valign
epscn_vfalign
epscn_writable
EPSEBGZOAY
epsec_not_executable
eP[[[S[[[G[[[tJNd_[[[
eP[[[_[[[S[[[k
EPSLBZ_N
EPSLS[QAZYC
_E[PSNPL
ePSSBXsS
EPSSS@S6J?YRSSSSS
eP[[[_[[[S[[[T
EPSXA]]CF]YLB
eP[[[|[[[t[[[
eP[[[t[[[
'eP[[[T[[[
@@@@@@@@@Ep@t:
|eP[[[T[[[J[[[Ns
e_[[[P[[[T[[[K
eP[[[T[[[K[[[x
eP[[[t[[[l[[[M
e[[[[P[[[U[[[
e:pUdz;_d
EPugcegfG
eP[[[U[[[K[[[
E!PUQQaaa
eP[[[u[[[t[[[
eP[[[v[[[
eP[[[V[[[
@@@@@@@@Ep@v
eP[[[V[[[U[[[RX
e@[[[p[[[w[[[
*eP[[[w[[[
eP[[[w[[[
eP[[[W[[[H[[[@;NdZ[[[V[[[K[[[7
e][[[P[[[W[[[LJ;dN[[[
eP[[[W[[[U[[[
eP[[[W[[[V[[[
eP[[[x[[[
eP[[[X[[[@[[[
@@@@@@@@Ep@X
EPXAJDZLMi
EPXB_XZB
e||P?||XJ||
EPXJQEJA
E||PX||MX||
@@@@@@@@Ep@Xy'
e  p     ]Y]]
eP[[[y[[[
@@@@@@@@Ep@Y
EPYBQCX_B_K
_E[PYCBPAK
E[PYD_A_ZXGL[KYAMA
EPYG]]ZBO_AQ
EpymDpyEDpy7Dpy
eP[[[y[[[m[[[K
ePYRSC*PSSS@S
eP[[[y[[[x[[[
eP[[[z[[[
EPZASHLNAEYO
eP[[[z[[[d[[[Hv
epzFd:gGe
@@@@@@@@Ep@Zl
E]]PZLXDHJ
EP@]ZNNS_JOZ
e@[[[q[[[
e[[[[q[[[
#eQ[[[#[[[
@e][[[Q[[[
e@[[[][[[Q[[[
e@[[[_[[[Q[[[
e@[[[Q[[[
e[[[[Q[[[
e][[[Q[[[
e_[[[_[[[Q[[[
e_[[[Q[[[
eQ[[[	[[[
eQ[[[ [[[ 
eQ[[[![[[
eQ[[[![[['[[[
eQ[[["[[[
eQ[[[*[[[
eQ[[[*[[["[[[
eQ[[[-[[[
eQ[[[.[[[
eQ[[[:[[[
eQ[[[;[[[
eQ[[[;[[[?[[[
eQ[[[?[[[
eQ[[[@[[[
eQ[[[][[[
eQ[[[_[[[
eQ[[[_[[[][[[
eQ[[[|[[[
[[[E[[[q[[[
]eQ[[[0[[[7[[[
eQ[[[0[[[7[[[
eQ[[[1[[[
eQ[[[:[[[1[[[l"YdT[[[9[[[
?eQ[[[2[[[)[[[
eQ[[[2[[[
eQ[[[2[[[([[[
eQ[[[3[[[
eq4FfUr-d
eQ[[[5[[[4[[[ 
Eq5pgppepq
eQ[[[5[[[)[[["T
eQ[[[6[[[
eQ[[[6[[[)[[[
eQ[[[7[[[
eQ[[[7[[[.[[[xe-dT[[[6[[[5[[[
eQ[[[9[[[
"eQ[[[9[[[?[[[y1
eQ[[[a[[[
eQ[[[A[[[
EQ@AAXOELQ
-Eqaa]Y]]
-EQaa]Y]]
eQ[[[A[[[G[[[
EQAHZDAL
EQ_AJXFSL[
eq@@@@@@A@-pBB
E]QAPYEYDODH
EQASPKEBMKNSXSJHM
]E]QAZNY@KHLM[M[
eQ[[[b[[[
eQ[[[B[[[
?eQ[[[b[[[a[[[
eQ@@@@BAB@
@EQBEsSCSSsSSS
[eQ[[[b[[[g[[[
[_EQBQO]_A_AS
eQ[[[B[[[z[[[
eQ[[[C[[[
eQ[[[C[[[B[[[
eQ[[[C[[[B[[[3
eQ[[[c[[[f[[[;'YdK[[[
EQ[C[OCLAM
EQCQQNK[
EQ]C@QXADOZ
eQ[[[C[[[x[[[h
EQCZSYXP_F_Q
|eQ[[[d[[[
eQ[[[d[[[
eQ[[[d[[[:[[[
eQ[[[D[[[
EqDaD]DUDED
EqDaDUD9D
EqD]D9D-D	D
EQDDAXESGMAPA
eqd*gaugfG
EqDgDPDND5D
EQdH[[[A[[[
EqDiDoD]D D
EqDmDeDUD)D
EQDQJLLAXXGSCN[G[ZN
EQDQQBKDP
EqDUDAD9D	D
EqDvDaDSD?D
EqDYDAD9D-D
EqDYDQDMD5D!D	D
eQ[[[e[[[
eQ[[[@[[[E[[[
eQ[[[E[[[
eQ[[[e[[[d[[[
eQ[[[e[[[d[[[4z
E_QE[QXM
e[[[[Q[[[E[[[u
eQ[[[E[[[x[[[o
eQEyAUEsSRSS9
eQEyEXBBI9
eQEyPLw9
eQEyQBAsSQSSsSSS
eQEyQL?9
eQEyQ(VSSW(USSWs
eQEyQ(VSSW(USSWYUs
eQEyWZeBWZ
eQ[[[f[[[
eQ[[[F[[[
eQ[[[f[[[d[[[	i_dA[[[
eQ[[[F[[[E[[[2
EQFLBHZKEJ
eQFyEYEV
eQFyQLG9
eQFyV]WTI9
eQ[[[g[[[
eQ[[[G[[[
eqgAggfG
E]QGAJ]XB
eQ[[[G[[[D[[[
EQGDMA]EOJMC
@EQ[GDQNP
EQg'egfG
EQGHZSX_EG_BDLLQQE
EQ_GJBSNMOYA
eQg_jgfG
EQ.g'JgfG
E]QGM[G]FPBNLACSDBLGH
EQGMH[OXB
eQ[[[G[[[p[[[XdXdS[[[F[[[x[[[]
EQGQKG][
eQ[[[;[[[?[[[h
eQ[[[h[[[
eQ[[[H[[[
eQ[[[h[[[a[[[
eQ[[[H[[[B[[[|
eQ[[[h[[[c[[[
eQ[[[h[[[d[[[
EQHMBQZH
EQHYJSBSO
eQ[[[i[[[
e_[[[Q[[[I[[[
eQ[[[I[[[
eQ[[[I[[[C[[[IO
eQ[[[I[[[C[[[P
eQ[[[I[[[@[[[H
eQ[[[I[[[H[[[
e_[[[q[[[j[[[
eQ[[[_[[[j[[[
eQ[[[j[[[
eQ[[[J[[[
eQ[[[J[[[#[[[
eQ[[[J[[[B[[['
eQ[[[j[[[i[[[
E]QJJPXMK]O]JPBB[
EQJ_KNMN
_EQJLXP[K
E[QJ@NFKN_CD
eQ[[[J[[[O[[[
EQJ@Y[BJKBGJYH
eQ[[[k[[[
e_[[[Q[[[K[[[
eQ[[[K[[[
E]Q]KAYX
eQ[[[k[[[i[[[
eQ[[[k[[[j[[[h
EQKLCGOX
EqkllllllllmllllOllylm
eQ[[[k[[[m[[[
eQ[[[K[[[M[[[
eqKQdun|d
eQ[[[l[[[
|e_[[[q[[[l[[[3
eQ[[[l[[[a[[[
eQ[[[L[[[A[[[N
eQ[[[L[[[B[[[
E!QLE!QD
EQLJ_QSJCGD
EQLML[_HJK
EQLNH[JE
EQLPBOSZBSHJB
EQLPZLM_
EQ[LQXQGY[
EQL@ZJMA
eQ[[[m[[[
eQ[[[][[[@[[[M
eQ[[[M[[[
eQ[[[m[[[c[[[.
eQ[[[m[[[d[[[7
eQ[[[m[[[f[[[
EQMGXAPHD_QZKO
EQMLKNQKM
EQMXCG]P[QH@D
eQ[[[M[[[z[[[
eQ[[[n[[[
eQ[[[N[[[
EQNCAXSJN
eQ[[[N[[[C[[[gh
[E_QNENLZOD
EQNGJA_Y
EQNGPN@L
EQNMYXNEX
E]QNYXEZ
EQNZJ[AC
 eQ[[[o[[[
eQ[[[o[[[
eQ[[[O[[[
EQOJKMuZ
eQ[[[O[[[L[[[ 
eQ[[[O[[[M[[[nE
eQ[[[O[[[N[[[
EQOPGMGYM
[EQO][SM
eQ[[[O[[[x[[[
EQ]OZCZDJSAFD_O
e_[[[q[[[p[[[
eQ[[[p[[[
e@[[[Q[[[P[[[
e][[[Q[[[P[[[
eQ[[[P[[[
e_[[[q[[[p[[[6
eQ[[[p[[[a[[[t
EQPBLQOY]
E_QP[DNZLPS
[eqpgppepq
eqpgppepq
EQPLJZJZQS
EQPMGOPF[S
EQPPYMFCCMMC
EQPQKSD]
eQ[[[P[[[V[[[
eQ[[[q[[[
E_QQAHLL[
eQ[[[q[[[b[[[
EQ_QCC[GKY@ZM
eQ Qejaa]Y]]
EQQGYAK@_C]
|||eQqIc
@EQQLD[BSK
eQ[[[Q[[[P[[[
eQ[[[q[[[p[[[[9
EQQY[F]F]PYLNP[
;eQ[[[r[[[
eQ[[[r[[[
eQ[[[R[[[
eqRedW]ud
eQ[[[R[[[E[[[g
Eqrgqgg_
eQ[[[r[[[o[[[t
eQ[[[r[[[p[[[B
eQ[[[r[[[t[[[t
eQ[[[r[[[v[[[t
eQ[[[_[[[s[[[
eQ[[[s[[[
eQ[[[s[[[d[[[#dXd_[[[r[[[v[[[
EQSNY_CPG
EQSNYCPG
EQSO]ZHZYGAH
_eQ[[[S[[[P[[[
EQSPZ@[[FK@
EQSSBTLG9
[E]QS[YN_H
e@[[[q[[[t[[[
e][[[q[[[t[[[ 
eQ[[[t[[[
e@[[[Q[[[T[[[
eQtBfU6-d9
E_QTgB[M1Q
eQ[[[T[[[L[[[
eQ[[[t[[[l[[[I
eQ[[[u[[[
EqualRect
EqualSid
equals-sign
eQ[[[U[[[M[[[ 
eQ[[[u[[[n[[[
eQ[[[U[[[N[[[0-
e][[[q[[[v[[[
e_[[[q[[[v[[[
'eQ[[[v[[[
eQ[[[v[[[
e[[[[Q[[[V[[[
e][[[Q[[[V[[[
eQ[[[V[[[
]eQ[[[V[[[I[[[h
eQ[[[v[[[k[[[
eQ[[[V[[[K[[[
eQ[[[v[[[o[[[
EQ(VSSW(
eQ(VSSW(nSSWU
EQ(VSSWs
EQ(VSSWsP3S
EQ(VSSWsRCS
EQ(VSSWs_SS
EQ(VSSWsVsS
EQ(VSSWsWSS
eQ[[[v[[[t[[[6
eQ[[[v[[[u[[[t
e][[[Q[[[W[[[
eQ[[[W[[[
eqWgebgfG]A
eQ[[[W[[[|[[[t
eQ[[[W[[[U[[[
eQ[[[x[[[
"eQ[[[X[[[
EQXGZX@NSPBCYNLMZ]QPMJO
EQXJMQJZLXC_
?'eQ[[[x[[[k[[[
EQxKxxzxzxzxxyxoy
"eQ[[[X[[[l[[[
"eQ[[[X[[[o[[[
eQ[[[x[[[p[[[
EQXPYJXP
EQXXBLQG
EQXXGGJAH
E_QXX_ZB
eQ[[[y[[[
eQ[[[Y[[[
EQ[YCXKXSBZ_Z]A_
"eQ[[[Y[[[j[[[
eQ[[[Y[[[m[[[
EQYNNXJN
EQYOXQ_OMB[
EQYQOHPL
eQ[[[y[[[r[[[1
"eQ[[[Y[[[u[[[U
eQ[[[y[[[x[[[
eQ[[[y[[[x[[[!
eQ[[[z[[[
eqZBdLNyd
EQZE[ZJXSEDZ[LSE
eQ[[[z[[[t[[[
eQ[[[z[[[x[[[
#e_[[[r[[[
e@[[[|[[[r[[[
e[[[[r[[[
e][[[r[[[
'eR[[[][[[
*e][[[R[[[
e@[[[][[[R[[[
e@[[[R[[[
e[[[[R[[[
e][[[R[[[
e_[[[][[[R[[[
e_[[[R[[[
eR[[["[[[
eR[[[#[[[
eR[[[#[[["[[[
eR[[['[[[
eR[[[([[[
eR[[[)[[[
eR[[[*[[[
eR[[[-[[[
eR[[[?[[[
eR[[[@[[[
eR[[[][[[
eR[[[_[[[
eR[[[_[[[][[[
eR[[[0[[[
eR[[[0[[[6[[[
eR[[[1[[[
eR[[[1[[[7[[[Al
eR[[[2[[[1[[[
eR[[[3[[[
[eR[[[3[[[2[[[c
eR[[[4[[[
eR[[[5[[[
eR[[[6[[[
eR[[[6[[[5[[[
eR[[[ [[['[[[7h
[[[er8dK[[[
eR[[[A[[[
eR[[[A[[[@[[[
eR[[[A[[[G[[[2
eR[[[b[[[
eR[[[B[[[
eR[[[b[[[a[[[
eR[[[B[[[A[[[
eR[[[B[[[A[[[*
eR[[[B[[[F[[[
*eR[[[c[[[
eR[[[c[[[
)eR[[[C[[[@[[[
eR[[[C[[[
eR[[[c[[[a[[[
eR[[[C[[[A[[[J
eR[[[C[[[B[[[
eR[[[c[[[b[[[l
eR[[[c[[[e[[[
eR[[[d[[[
eR[[[D[[[
eR[[[D[[[|[[[
ErD9dggw
ERDCDyyy
E)))rDH@GtHO@M
"eRdH[[[t[[[o[[[r
erdkahAa9aa
[[[?ERd@[[[t[[[m[[[
E|RdU[[[s[[[
#eRdV[[[t[[[
eR[[[D[[[y[[[
eR[[[D[[[z[[[
eR[[[e[[[
eR[[[_[[[E[[[
eR[[[E[[[
eR[[[e[[[d[[[
eR[[[E[[[D[[[
eReferenceWWW
erekanaakkAa9aa
eR[[[E[[[z[[[
eR[[[E[[[z[[[P
eR[[[E[[[z[[[Z
eR[[[f[[[
eR[[[@[[[F[[[
eR[[[F[[[
e[!rf:3.d
eR[[[F[[[D[[[
eR[[[f[[[e[[[
eR[[[f[[[e[[[k
eR[[[g[[[
eR[[[G[[[
erg1dgfG
erg1dgfGv
er?.g4q'd[[
ERg7egfG
ERg7jgfG
eR[[[G[[[D[[[
eR[[[G[[[e[[[
eR[[[G[[[F[[[#
eR[[[g[[[f[[[Z
ergGcgfG
(ERgqgg#O
(ERgqggS
ERgqggS1]
eR[[[h[[[
eR[[[H[[[
eR[[[H[[[A[[[
eR[[[h[[[n[[[
erhphaaa
eR[[[H[[[q[[[
eR[[[i[[[
eR[[[I[[[
eR[[[I[[[A[[[
eR[[[i[[[h[[["
eR[[[i[[[h[[[9LZdA[[[
eR[[[I[[[H[[[g
eR[[[i[[[o[[[
eR[[[i[[[o[[[k
eR[[[_[[[j[[[
eR[[[j[[[
eR[[[J[[[
eR[[[J[[[h[[[I
eR[[[j[[[l[[[
eR[[[J[[[O[[[
eR[[[k[[[
eR[[[K[[[I[[[
eR[[[k[[[j[[[
eR[[[K[[[J[[[
eR[[[K[[[O[[[k
E)Rk-	VkB)Rk*	VkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyD
e][[[r[[[l[[[
eR[[[l[[[
e][[[_[[[R[[[L
eR[[[L[[[A[[[k
eR[[[l[[[b[[[
eR[[[L[[[B[[[
eR[[[l[[[b[[[k
?eR[[[L[[[C[[[P
eR[[[L[[[G[[[
eR[[[L[[[x[[[l
eR[[[m[[[
eR[[[M[[[@[[[
ermpmaaa
eR[[[N[[[
eR[[[n[[[m[[[9LZdJ[[[
eR[[[o[[[
eR[[[O[[[
eR[[[o[[[c[[[
eR[[[O[[[M[[[
eR[[[o[[[n[[[
eR[[[O[[[r[[[
eR[[[p[[[
e@[[[R[[[P[[[
eR[[["[[[![[[P
eR[[[P[[[
erpgppepq
e@[[[R[[[P[[[lI]dK[[[Q[[[
eR[[[p[[[t[[[
eR[[[P[[[T[[[P
eR[[[P[[[W[[[
e[[[[r[[[q[[[
e][[[r[[[q[[[.
e_[[[r[[[q[[[
eR[[[q[[[
e@[[[R[[[Q[[[
e_[[[R[[[Q[[[
eR[[[Q[[[
e][[[R[[[Q[[[D
eR[[[Q[[[P[[[
]eR[[[r[[[
eR[[[r[[[
eR[[[R[[[
err_array
err_boolean
err_date
err_error
err_evalerror
err_function
err_number
err_object
; error(
Error allocating memory
Error allocating memory for detection telemetry
Error allocating or configuring thread pool
Error allocating system_process
ErrorAlreadyInitialized
Error and WarningW
ERROR: BM Lua calling a SCAN_REPLY dependent API
errorcode
errorCode
ErrorCode
errorcode.cpp
errorcode.h
errorcode_tests.cpp
Error compressing detection telemetry
Error converting comparison function result to number
Error Correction Code (ECC)
ErrorDriverNotLoaded
error encountered during classification.
errorfield
ERROR: formatting message!
errorgen.h
error in error handling
error_information.cpp
error_information.h
Error initializing system_process
Error in loading the default normalization model
Error in parsing the legacy PMU event strings
error in reading package count in resources.arsc file
error in reading package ID
ERROR_INSUFFICIENT_BUFFER
ErrorInsufficientPower
ErrorInsufficientSize
ErrorInvalidArgument
ERROR_INVALID_DATA
error in vfo seek
Error in vfo validation
ErrorLevel
Error loading static plugin '
ErrorLog
errormessagehelper.cpp
errormessagehelpertest.cpp
ErrorMsg
ErrorNoPermission
ErrorNotFound
_ERROR_NOTIFICATIONIdlWWl
ErrorNotSupported
!!Error occurred while converting string from Unicode to MultiByte. Log message has been lost!!
Error operating on streams
Error printing message
Error printing message: Bad ComponentName
Error.prototype.toString() is not a constructor
error reading model. model might not exist.
ErrorRemaps
Error retrieving OS APIs in incompatible_processes_imp
Error retrieving OS APIs in system_process
errorsetter.cpp
errorsetter.hpp
Error setting incompatible process name list to driver
errorString
ErrorString
Error taking action for ignore list
Error telemetry not cached
ErrorTimeout
Error timeout reached!
Error - Too many templates to enumerate
error_tostring
Error trying to load profile '
Error trying to read profile '
Error unable to find resource for ignore list action
ErrorUninitialized
ErrorUnknown
eR[[[R[[[Q[[[
err_rangeerror
err_referenceerror
err_regexp
err_string
err_syntaxerror
err_typeerror
err_urierror
err_usererror
eR[[[|[[[s[[[#
eR[[[s[[[
eR[[[S[[[
ERsISe"L5Q
eR[[[s[[[q[[[
eR[[[-[[['[[[Sq
eRSSB[BZsSVSS
ERSSDYDT
ERSSTBYBX
eR[[[s[[[t[[[
eR[[[S[[[U[[[
eR[[[S[[[V[[[
eR[[[S[[[W[[[
eR[[[t[[[
e@[[[R[[[T[[[
eR[[[T[[[
eR[[[T[[[I[[[
eR[[[T[[[K[[[
ERTlgfGI
eR[[[T[[[w[[[
eR[[[u[[[
;eR[[[U[[[
eR[[[U[[[
e)))RuFKCLJ]
e run in
eR[[[U[[[T[[[
eR[[[U[[[y[[[
 eR[[[v[[[
eR[[[v[[[
eRvdA[[[
eR[[[v[[[k[[[
eR[[[V[[[T[[[
eR[[[v[[[t[[[P
eR[[[V[[[U[[[
eR[[[@[[[w[[[
eR[[[w[[[
eR[[[][[[W[[[
ERWdC[[[
eR[[[X[[[K[[[
eR[[[x[[[s[[[ :
eR[[[y[[[
eR[[[Y[[[_[[[
"eR[[[Y[[[f[[[
erYgGegfG 
eR[[[Y[[[R[[[
eR[[[z[[[
eR[[[Z[[[
eR[[[z[[[y[[[
)#e_[[[s[[[
e@[[[s[[[
e[[[[|[[[s[[[
e[[[[s[[[
e][[[s[[[
e_[[[|[[[s[[[
e_[[[s[[[
'e@[[[_[[[S[[[
]eS[[[ [[[
_eS[[[][[[
e@[[[_[[[S[[[
e@[[[S[[[
e][[[][[[S[[[
e][[[_[[[S[[[
e][[[S[[[
e_[[[S[[[
eS[[[	[[[
eS[[[	[[[:[[[
eS[[[![[[
eS[[["[[[
eS[[[#[[[
eS[[[([[[
eS[[[)[[[
eS[[[*[[[
eS[[[-[[[
eS[[[.[[[-[[[
eS[[[:[[[
eS[[[;[[[
eS[[[@[[[
eS[[[][[[
eS[[[|[[[
eS[[[0[[[5[[[
eS[[[0[[[7[[[
eS[[[0[[[7[[[Fb
E@S0E@S E@S
eS[[[?[[[1[[[
eS[[[1[[[
eS[[[1[[[4[[[	
eS[[[2[[[.[[[
eS[[[3[[[
eS[[[3[[[2[[[]
eS[[[4[[[
eS[[[5[[[
eS[[[5[[[*[[[
eS5v-TSV2jZC
eS[[[6[[[5[[[
eS[[[;[[[8[[[
eS[[[8[[[
eS[[[:[[[9[[[
eS[[[9[[[1[[[v
eS[[[9[[[8[[[
eS[[[a[[[
eS[[[_[[[A[[[]
eS[[[A[[[
eS[[[A[[[@[[[]
E@@@@@s@@A@AAac
ES[AAYF]]BQH
eS[[[A[[[D[[[
esAdgfwI
ESAGBJOGXM
ESAMHOMDMQS
())E_SAOMNJZZJLBOYGC@@
E_SAOMNJZZJLBOYGC@@
eS[[[b[[[
eS[[[_[[[B[[[]
eS[[[B[[[
eS[[[b[[[a[[[
eS[[[B[[[A[[[
ESBAGMQOOE
ESB]BF]GQ
e;SBdt2_d
eS[[[B[[[F[[[
eS[[[:[[[?[[[bL
ESBMYEOH_
ESBQNKBZXBBZMMNPCEA
eS[[[c[[[
eS[[[C[[[
eS[[[c[[[a[[[
ESCAPE expression must be a single character
escape() is not a constructor
Escape sequence did not encode a valid character.
Escape sequence terminated prematurely.
Escape sequence was neither a valid property nor a valid character class name.
eS[[[c[[[b[[[
eS[[[C[[[B[[[
eS[[[c[[[e[[[
eS[[[C[[[G[[[
eS[[[C[[[n[[[]
ESCNASYDG
ESCS]YEB
eS[[[d[[[
eS[[[@[[[D[[[
eS[[[D[[[
eS[[[D[[[8[[[8
EsDfDVD#D
EsDhDDD:D
|ESdH[[[Z[[[
ESDIDGD2D
ESDJDAD5D
E[SDLJEPLHOZ
ESDMHYOYMO[C
EsDoDLDDD0D
eS[[[D[[[x[[[]
eSdx[[[_[[[K[[[c
eS[[[D[[[y[[[v
eS[[[e[[[
eS[[[E[[[
ESECG@KZAOHYM
E;SecuredW@
eS[[[_[[[][[[ei
ESEOAQCHB[YP[B
eseOd.W*d
ESEPHKJQJBC]N_S@
ESEP@Z@DA
esErdO3qd
EsEwEkEoEcEgE[E_ESEWEKEOECE
EsEwEkEoEcEgE[E_ESEWEKEOECEGE;E.E
EsEwEkEoEcEgE[E_ESEWEKEOECEGE;E?E3E7E
eS[[[@[[[f[[[
eS[[[f[[[
eS[[[f[[[?[[[
eS[[[@[[[F[[[
eS[[[F[[[
E||sF||aF||DF||(F||
E[SF[BMXSYZN
eSF-d!tEf
ESFJHKKSBMXLHY
ESFKPKNX_
ESFLGPNKP
eS[[[F[[[p[[[w
e||sf||Rf||(f||
#eS[[[@[[[G[[["
eS[[[_[[[G[[[]
E]]S@GB_
eS[[[G[[[E[[[
E]S[GEKS
eS[[[G[[[F[[[
esgfG5uZ
ESGGGQCEMH
ESGHEBOCQ]G
ESGHHLSCN
ESgkgfw@
ESGP[QEJJGNOP
eS[[[@[[[G[[[v
eS[[[h[[[
eS[[[_[[[H[[[
eS[[[h[[[4[[[
ESHBLADAA]MP
ESHEQ@]YKBB
]ESHPF]X
]ESHQGSJSDP
]ESHXXPDJY
ESH@ZSCXAD
eS[[[i[[[
eS[[[i[[[h[[[
eS[[[I[[[H[[[
;eS[[[i[[[m[[[
eS[[[I[[[O[[[c
eS[[[I[[[O[[[v
eS[[[j[[[
eS[[[J[[[
eS[[[j[[[d[[[)
ESJEXOBHD
ES]JF]]NO_Z]DESX
E[SJ[FQHX
ESJGNPXX
eS[[[J[[[I[[[
ESJOHHPYNYPPY_S_NHZYXCXGCX
eS[[[J[[[z[[[
eS[[[k[[[
eS[[[K[[[
ESKGNQ]_N_
eS[[[k[[[j[[[
eS[[[K[[[J[[[aLAdJ[[[
ESKKYSYAA@X
eS[[[K[[[N[[[
ESKZZKJCCFDZQ
eS[[[l[[[
'eS[[[_[[[L[[[
eS[[[L[[[
eS[[[L[[[B[[[
E@SLD]B[K
E]S[L[_D_LL
ESLHQYBJAMEL
ES[LJPKH
eSllllllllmllllOllylm
ESllllllllmllllOllylmO
)))E@SL]P
[E[SLPZQ_]X_Y
eS[[[L[[[s[[[]
eS[[[m[[[
*eS[[[M[[[
eS[[[_[[[M[[[]
eS[[[M[[[
eS[[[M[[[A[[[
eS[[[M[[[B[[[ei
eS[[[M[[[C[[[
ES]MC@KHX
Esm*g?kgfG
eS[[[m[[[l[[[
ESMN_]EB
ESMN_]EBEYF
ESMN_]EBG_KNQEP
ESMNECJP
ESMN_]EE[ELAX
ESMN_]EEGEP
ESMN_]EEMYKD[_M
ESMPQZYQOLAH
eS[[[n[[[
eS[[[N[[[
E_SN[BLEH_
eS[[[n[[[l[[[
eS[[[N[[[L[[[
ESNLM[MB
eS[[[N[[[M[[[Z
ESN_SEMO
eS[[[N[[[z[[[
eS[[[_[[[O[[[]
eS[[[O[[[
eS[[[o[[[a[[[
eS[[[O[[[A[[[
eS[[[O[[[B[[[
eS[[[O[[[C[[[
eS[[[O[[[C[[[G
ESOGSZ]G
eS[[[o[[[l[[[]
eS[[[o[[[m[[[
eS[[[o[[[m[[[	
ESONXBXG
e][[[s[[[p[[[
e_[[[s[[[p[[[
eS[[[p[[[
eS[[[P[[[
eS[[[][[[P[[[8
eS[[[p[[[c[[[
eS[[[P[[[F[[[
eSpgppepq
ESPHMJ[COYQE
eS[[[P[[[I[[[	
eS[[[P[[[I[[[]
eS[[[p[[[k[[[
]_ESP@K]CN
ESPKSOGQCLMC
e@SPSSSS[CCZR
eS[[[p[[[u[[[
eS[[[P[[[U[[[H
eS[[[p[[[w[[[
eS[[[P[[[W[[[	l
]ESPXGZH
e[[[[s[[[q[[[
e_[[[s[[[q[[[
eS[[[|[[[q[[[
eS[[[q[[[
e_[[[S[[[Q[[[
eS[[[_[[[Q[[[]
eS[[[Q[[[
e_[[[s[[[q[[[#a
ESQEXGL[XDXPKL_HKNF
eS[[[q[[[n[[[U!_dL[[[p[[[j[[[
eS[[[q[[[p[[[
.esQpe-f
	eS[[[|[[[q[[[-r
eS[[[Q[[[W[[[c
ESQXYDMYM
e@[[[s[[[r[[[
e_[[[s[[[r[[[
e@[[[S[[[R[[[
eS[[[_[[[R[[[
eS[[[R[[[
eS[[[][[[R[[[ei
eS[[[r[[[p[[[
ESRpgppepq
E[SRSSMZSSS@S
eS[[[R[[[V[[[
eS[[[R[[[W[[[
eS[[[s[[[
eS[[[][[[S[[[
eS[[[S[[[
ESSCADDLK
ESSCOYNSOZ
ESSCXZJX
ESS_DSSODSS
eS[[[][[[S[[[ei
EsSGSSB[
eS[[[_[[[S[[[on
eS[[[S[[[P[[[
ESS Persist
eS[[[S[[[Q[[[
eS[[[s[[[q[[[c
eS[[[S[[[R[[[
ESS Retrieve
ESS Scan Result
eSSSSSS!#5
eSSSSSSS
eSSSSSSSS
ESSSSSSSSKY
eS[[[S[[[W[[[	
eS[[[t[[[
eS[[[T[[[
e?Stf!T.d
eS[[[t[[[h[[[
eS[[[t[[[i[[[
EstimatedSizeWWW
eS[[[T[[[K[[[
eS[[[u[[[
eS[[[U[[[
eS[[[u[[[b[[[
E@SUD@SFD@SwD@SeD@S
eS[[[u[[[f[[[
eS[[[U[[[f[[[
eS[[[U[[[J[[[
eS[[[U[[[O[[[
esusigversion
esusigversionnew
eS[[[u[[[t[[[
eS[[[v[[[
eS[[[][[[V[[[	
eS[[[V[[[
esv._master_2020-12-14T09:20:49-08:00_5b3acb1_2020-12-22T16:20:51
eS[[[v[[[t[[[
eS[[[V[[[U[[[
)#eS[[[w[[[
eS[[[w[[[
eS[[[W[[[
eS[[[|[[[w[[[c
eSWddRV1d
e@SWd@SGd@Sud@Sgd@S
eS[[[W[[[U[[[
eS[[[w[[[v[[[v
eS[[[x[[[
eS[[[X[[[@[[[]
eS[[[X[[[][[[
eS[[[X[[[_[[[
eS[[[X[[[A[[[]
ESXBQLNBJ
@ESXGXACP_@
eS[[[x[[[j[[[B
eS[[[X[[[L[[[]
eS[[[X[[[M[[[]
ESX[]MPAYQQA
ESXPYDYNMJJYXD
eS[[[X[[[Q[[[j
eS[[[X[[[R[[[.o
eS[[[X[[[s[[[]
eS[[[X[[[W[[[
eS[[[X[[[W[[[8
eS[[[X[[[W[[[v
eS[[[y[[[
"eS[[[Y[[[@[[[]
eS[[[Y[[[
eS[[[Y[[[@[[[
eS[[[Y[[[B[[[.
"eS[[[Y[[[C[[[]
E[[]SYCJSH
e;syD704]0
eS[[[Y[[[E[[[]
"eS[[[Y[[[F[[[]
ESYFSZEBX
eS[[[Y[[[G[[[]
eS[[[Y[[[G[[[0
eS[[[Y[[[h[[[]
eS[[[Y[[[I[[[
eS[[[y[[[k[[[]
eS[[[Y[[[M[[[]
eS[[[y[[[n[[[4
eS[[[Y[[[O[[[
eS[[[Y[[[w[[[]
eS[[[y[[[x[[[h
E@SY_XQGPO
eS[[[Y[[[z[[[]
eS[[[z[[[
_ESZHGMEG@Y]C
eSzLdb-rd
ESZ]_MNNCSJK
ESZQ@K[H
eS[[[Z[[[r[[[]
eS[[[z[[[x[[[
eS[[[z[[[x[[[8
ES_ZXBDLZ
[[[e[[[t[
e[[[[t[[[
e][[[t[[[
e_[[[t[[[
'eT[[[	[[[
(e][[[T[[[
)@"eT[[[
|eT[[[.[[[
e_[[[T[[[
eT[[[	[[[
eT[[[	[[[?[[[
eT[[[ [[[
eT[[[![[[
eT[[["[[[
eT[[["[[[![[[
eT[[["[[['[[[
eT[[[#[[["[[[
eT[[['[[[
eT[[[([[['[[[
eT[[[)[[[
eT[[[)[[[([[[-
eT[[[*[[[
eT[[[.[[[
eT[[[.[[[#[[[
eT[[[:[[[
eT[[[;[[[
eT[[[?[[[
eT[[[@[[[
eT[[[][[[
eT[[[_[[[
eT[[[_[[[][[[
eT[[[0[[[
eT[[[?[[[1[[[
eT[[[1[[[
eT[[[2[[[
eT[[[3[[[
"eT[[[4[[[
eT[[[4[[[
eT[[[5[[[
eT[[[5[[[*[[[
eT[[[5[[[4[[[
]eT[[[6[[[
eT[[[6[[[
eT[[[6[[[5[[[
_eT[[[7[[[
eT[[[7[[[
eT[[[7[[[5[[[
eT[[[8[[[
eT[[[:[[[9[[[
eT[[[;[[[9[[[
eT[[[9[[[
eT[[[9[[[8[[[g
eT[[[a[[[
eT[[[A[[[
E@TAB@UBU
eTAJ8s76
E@TAK@UBB@VUD
eT[[[A[[[v[[[
eT[[[b[[[
eT[[[B[[[
ET@@@@B@@@
eT[[[B[[[A[[[
E@@@t@@B@AFac
EtBgooggGD
e[tbL[[[;[[[:[[[
:@[E@TB[T
eT[[[c[[[
eT[[[c[[[a[[[
eT[[[c[[[b[[[
eT[[[c[[[g[[[
eT[[[d[[[
etdM[[[2[[[
eTdQ[[[i[[[o[[[
eTdR[[[h[[[o[[[
EtDTD9DrG.G
eTdT[[[e[[[d[[[
.ETdX[[[
eT[[[@[[[D[[[Y
etdZ[[['
eT[[[e[[[
eT[[[E[[[
eT[[[E[[[D[[[
eT[[[E[[[D[[[h
eT[[[E[[[i[[[
ETEqlxla
eT[[[E[[[t[[[P
@[E@TEXB[
E@TE@YT9@HEUgnBV@WBW[BW
eT[[[f[[[
eT[[[f[[[e[[[;
e||tf||ef||Vf||@f||-f||
eT[[[F[[[s[[[
eT[[[([[[![[[g
eT[[[g[[[
eT[[[G[[[
eT[[[g[[[d[[[
eT[[[G[[[D[[[
eT[[[g[[[f[[[e
eT[[[g[[[f[[[h
ETg_kgfGx
ETgmBT@WBXBT
e][[[T[[[H[[[
e][[[T[[[H[[[;
eT[[[h[[[e[[[
eT[[[H[[[N[[[
eT[[[h[[[n[[[h
'eT[[[i[[[
eT[[[i[[[
e_[[[T[[[I[[[
eT[[[I[[[
eT[[[I[[[A[[[
eTIdC[[[
eT[[[i[[[h[[[
eT[[[i[[[n[[[
eT[[[i[[[o[[[h
e][[[t[[[j[[[
eT[[[J[[[
_eT[[[J[[[A[[[
e][[[T[[[J[[[H
eT[[[J[[[H[[[h
eT[[[k[[[
e@[[[T[[[K[[[
e][[[T[[[K[[[ 
e_[[[T[[[K[[[(
eT[[[K[[[
_Et	kE4x	n
_eT[[[K[[[G[[[
eT[[[K[[[J[[[*
e||Tk||Jk||
eT[[[K[[[J[[[W
eTKmggfw
e[[[[T[[[K[[[Z]
eT[[[l[[[
eT[[[L[[[
etLg!fgfG
etllllllllmllllOllylm
eT[[[m[[[
"eT[[[M[[[
eT[[[M[[[
eT[[[m[[[l[[[
eT[[[m[[[l[[[.
e@[[[t[[[n[[[
eT[[[n[[[
eT[[[N[[[
eT[[[N[[["
eT[[[![[['[[[N0
e||tn||bo||
e_[[[t[[[n[[[c
etNdR[[[R[[[Q[[[
EtNdZ[[[
ET@@@@@@@@NpAK
e][[[t[[[o[[[
eT[[[o[[[
eT[[[O[[[
eT[[[o[[[n[[[
eT[[[o[[[n[[[?
eT[[[o[[[n[[[R
#eT[[[P[[[
eTpgppepq
eT[[[p[[[t[[[h
eT[[[q[[[
E||T_||Q_||
eTQadLYNd
_eT qeg:
eT[[[q[[[i[[[n
eT[[[Q[[[N[[[
eT[[[q[[[u[[[
eT[[[Q[[[U[[[
eT[[[Q[[[W[[[s
eT[[[R[[[
eT[[[R[[[Q[[[
eT[[[r[[[q[[[y
:eT[[[r[[[v[[[
*eT[[[s[[[
eT[[[|[[[s[[[
eT[[[s[[[
eT[[[S[[[
eT[[[S[[[G[[[
@ETs|QSS9
eT[[[S[[[R[[[
eT[[[t[[[
eT[[[T[[[
eTTKWTeeo
ettllllllllmllllOllylm
eT[[[T[[[r[[[
eT[[[u[[[
eT[[[_[[[U[[[
eT[[[U[[[
etu.dZFvf
eT[[[U[[[E[[[
eT[[[U[[[N[[[x
eT[[[v[[[
eT[[[v[[[!
eT[[[V[[[
eT[[[v[[[j[[[	
eT[[[v[[[k[[[
eT[[[V[[[K[[[
eT[[[V[[[U[[[
eT[[[w[[[
eT[[[W[[[
EtwBehavior
eT[[[w[[[d[[[
EtwEventEnabled
EtwEventRegister
EtwEventUnregister
EtwEventWrite
EtwEventWriteTransfer
EtwGetTraceEnableFlags
EtwGetTraceEnableLevel
EtwGetTraceLoggerHandle
eT[[[w[[[j[[[
ETWPendingShutdown
EtwRegisterTraceGuidsW
EtwTraceMessage
eT[[[w[[[u[[[h
EtwUnregisterTraceGuids
eT[[[W[[[z[[[
eT[[[x[[[
"eT[[[X[[[
eT[[[X[[[
etxIdvnTf
eT[[[X[[[M[[[
"eT[[[Y[[[
eT[[[Y[[[
eT[[[Y[[[b[[[
eT[[[y[[[d[[[
eT[[[y[[[i[[[
eT[[[Z[[[
eT[[[Z[[['
eT[[[Z[[[.
EtzllllllllmllllOllylm
eT[[[z[[[y[[[
e][[[u[[[
e_[[[u[[[
;e_[[[U[[[
e@[[[U[[[
e][[[U[[[
e_[[[U[[[
eU[[[	[[[
eU[[[ [[[
eU[[[ [[['[[[
eU[[["[[[
eU[[['[[[
eU[[[([[[
eU[[[)[[['[[[
eU[[[*[[[
eU[[[*[[[)[[[
eU[[[-[[[
eU[[[.[[[
eU[[[:[[[
eU[[[;[[[
eU[[[@[[[
eU[[[_[[[
eU[[[_[[[][[[
eU[[[|[[[
eU[[[;[[[0[[[
E"U  0     
eU[[[0[[[4[[[u
eU[[[0[[[6[[[5
eU[[[1[[[
eU[[[1[[[7[[[u
eU[[[2[[[
eU[[[2[[[*[[[
eU[[[3[[[
eU3_]-07:D*
eU[[[?[[[3[[[u
eU[[[4[[[
eU[[[4[[[*[[[
|eU[[[5[[[
eU[[[5[[[
eU[[[5[[['[[[
eU[[[5[[[.[[[J
e][[[u[[[6[[[
eU[[[	[[[6
eU[[[6[[[
eU[[[7[[[
eU[[[7[[[5[[[
eU[[[7[[[5[[[T
eU[[[;[[[8[[[
eU[[[8[[[
eU[[[:[[[8[[[U"TdH[[[9[[[
eU[[[9[[[
eU[[[9[[[8[[[2NWdP[[[
eU[[[a[[[
]eU[[[A[[[
e][[[U[[[A[[[
eU[[[A[[[
eU[[[A[[[E[[[
eU[[[A[[[x[[[u
eU[[[b[[[
e@[[[U[[[B[[[
eU[[[b[[[d[[[u
_eubgfGh
eubgfG[R
eubtdf4 d
eU[[[B[[[w[[[u
eU[[[B[[[x[[[u
eU[[[c[[[
e_[[[U[[[C[[[
eU[[[C[[[
eU[[[C[[[B[[[u
eucgqgg!
eU[[[C[[[n[[[u
eU[[[D[[[
@EuD704]0
EuDaDIDED-D
EuDcDND1D
EuD]DED-D
eUdgfGIr
eudmSSSSSSSSSSSSSSSSSSSS
EuDnDQDCD2D-D
EUDUgAkgfG
eU[[[D[[[y[[[|
eU[[[D[[[y[[[y
]eUdZ[[[
[[[|EudZ[[[
EU]dZ[[[d[[[
	eU[[[D[[[z[[[q2
eU[[[D[[[z[[[u
eU[[[e[[[
eU[[[@[[[E[[[
eU[[[@[[[E[[[|
eU[[[e[[[d[[[
eU[[[E[[[D[[[|
eU[[[E[[[D[[[QCQdA[[[
EuEkEaEgE]ESEIEOEEE;E1E7E-E#E
E@UE@XE@]E@[E@TE@@E@AQASARLaA
E@UEYE_EBV
E@UE@ZBUK
eU[[[f[[[
E||uF||-F||
euFg7Zggw
E)))uFKCLJ]
eU[[[F[[[t[[[u
eU[[[F[[[v[[[u
;eU[[[g[[[
eU[[[g[[[
eU[[[G[[[
eU[[[g[[[9[[[
EUgAoggGU
eU[[[@[[[G[[[D
eU[[[G[[[D[[[
E)))uGJFG]HJ]D@J[FZFO]H]
E]ugqggq
eU[[[G[[[z[[[m
eU[[[H[[[
eU[[[H[[[@[[[
eU[[[H[[[C[[[
eU[[[h[[[m[[[M"UdV[[[o[[[
eU[[[H[[[	[[[NWAdY[[[O[[[f[[[
eU[[[h[[[o[[[
eU[[[i[[[
eU[[[I[[[
eU[[[i[[[m[[[kGKdZ[[[h[[[
e@[[[U[[[J[[[
e[[[[U[[[J[[[
e_[[[U[[[J[[[
eU[[[J[[[
e][[[u[[[j[[[7
eU[[[j[[[a[[[u
eU[[[J[[[I[[[
eU[[[J[[[O[[[
e_[[[u[[[k[[[
eU[[[k[[[
eU[[[K[[[
eU[[[K[[[y[[[
eU[[[l[[[
eU[[[L[[[
eU[[[L[[[5[[[NWAdN[[[C[[[c[[[
 EulaAccepted
eU[[[l[[[b[[[
eU[[[l[[[b[[[u
eUL[dSM*d
eU[[[l[[[e[[[u
eUlgqgg7[
eullllllllmllllOllylm
[eUllllllllmlll]Y]]
e][[[U[[[L[[[UJ;dN[[[T[[[N[[[
eU[[[m[[[
eU[[[M[[[
eU[[[m[[[b[[[
eUMd][[[
eU[[[M[[[L[[[x
EuMLZB]FYuFF@A
eU[[[M[[[s[[[u
eU[[[N[[[
E_UNEXPECTED
eU[[[n[[[l[[[
eU[[[N[[[	[[[NWAdU[[[M[[[f[[[u
e)))u[]O
eU[[[o[[[
e@[[[U[[[O[[[
eU[[[O[[[
eU[[[O[[[A[[[u
eU[[[p[[[
eU[[[_[[[P[[[
eu(p[.?9
eup_gAggY
eupgppepq
EU"pgppepq
eupgppepqD
eupgppepqK
eU[[[p[[[l[[[u
EuppProtectionEvent
eU[[[p[[[w[[[
eU[[[P[[[W[[[:
eU[[[q[[[
'eU[[[Q[[[
eU[[[Q[[[
eU[[[q[[[j[[[u
"E]uqZ WY
eU[[[|[[[r[[[
eU[[[r[[[
eU[[[R[[[
eU[[[R[[[?
?eU[[[r[[[i[[[u
eU[[[r[[[p[[[
eU[[[R[[[W[[[
eU[[[s[[[
eU[[[][[[S[[[
eU[[[S[[[
eU[[[s[[[q[[[
eU[[[|[[[s[[[Q6GfI[[[
eU[[[s[[[r[[[
eU[[[s[[[r[[[|
eU[[[s[[[r[[[D
eU[[[s[[[t[[[d
e[[[[u[[[t[[[
e][[[u[[[t[[[
e_[[[u[[[t[[[
eU[[[t[[[
e][[[U[[[T[[[
e_[[[U[[[T[[[!
eU[[[T[[[
e[[[[u[[[t[[[2
eU[[[T[[[M[[[u
eU[[[T[[[p[[[u
e][[[u[[[t[[[re
eU[[[u[[[
eU[[[U[[[
euUdV[[[#
e[[[Uukf
eUUKUU*K3
eU[[[u[[[o[[[G
EUUUUAOLO
EUUUUUUUUUUUUULM
EUUUUUUUUUUUUUUUUUUUUUUUUUUU* "
eU[[[v[[[
eU[[[V[[[
eU[[[V[[[H[[[I
eU[[[v[[[k[[['g
eU[[[v[[[u[[[D
eU[[[w[[[
eU[[[W[[[
eU[[[w[[[3[[[M
eU[[[w[[[h[[[
eU[[[w[[[i[[[u
E_U@WsSWSS@YEYxV[BU
euWtdT9jd
eU[[[w[[[v[[[|
eU[[[W[[[x[[[u
eU[[[x[[[
"eU[[[X[[[
eU[[[X[[[
eU[[[X[[[r[[[u
eU[[[X[[[V[[[
EUxx]Y]]"
 eU[[[y[[[
eU[[[y[[[
"eU[[[Y[[[
eU[[[Y[[[
eU[[[Y[[[8[[[u
eU[[[Y[[[a[[[NWAdY[[[X[[[u[[[
eU[[[_[[[y[[[NWAdy[[[
eU[[[Y[[[R[[[h
eU[[[Y[[[S[[[h
eU[[[Y[[[W[[[
.euyyyyyykIX
eU[[[z[[[
eU[[[Z[[[
eU[[[Z[[[ 
eU[[[Z[[[*
eU[[[Z[[[@[[[
eU[[[Z[[[A[[[
e)))uZAF[]KFFZ]
e)))uZ]H[]L[
eU[[[Z[[[M[[[N
eU[[[Z[[[U[[[
e@[[[v[[[
e[[[[v[[[
e][[[v[[[
e_[[[v[[[
)#eV[[[@
)e@[[[V[[[
e@[[[_[[[V[[[
e@[[[V[[[
e[[[[V[[[
e[[[[V[[[|[[[
eV[[[	[[[
eV[[[ [[[
eV[[[![[[
eV[[[#[[[
eV[[['[[[
eV[[[)[[[
eV[[[*[[[
eV[[[*[[[([[[:
eV[[[*[[[)[[[
eV[[[.[[[-[[[
eV[[[:[[[
eV[[[;[[[
eV[[[?[[[
eV[[[@[[[
eV[[[][[[
eV[[[_[[[
eV[[[|[[[
eV[[[0[[[
eV[[[1[[[
eV[[[1[[[4[[[
eV[[[2[[[
eV[[[3[[[
eV[[[3[[[1[[[
eV[[[?[[[3[[[t	
eV[[[4[[[
eV[[[5[[[
eV[[[5[[[4[[[
eV[[[6[[[
eV[[[6[[[([[[
eV[[[6[[[5[[[
eV[[[6[[[)[[[kd
eV[[[7[[[
Ev73ggfG
eV[[[8[[[0[[[N
eV[[[9[[[
eV[[[9[[[0[[[
eV[[[a[[[
eV[[[A[[[
E@@@@@v@@A@AAac
eva@B)253[5
eV[[[a[[[d[[[
E@VA|@_E9@KsSRSS@DB_
eV[[[a[[[g[[[
ev#@@@@@@A@h Mp]	
EvalError
EvalError: 
evALHM)(
eval(String.fromCharCode(
EvalTrackerGuid
EvalTrackerGuidHResult
EvaluateDownloadExpiration
EvaluatingWorkQueue
EvaluatorInvoked
eV[[[b[[[
)eV[[[B[[[@[[[:
eV[[[B[[[
eV[[[b[[[a[[[
?eV[[[B[[[A[[[
E@@@v@@B@AFac
eV[[[B[[[@[[[Jt
eVBP3P?z
eV[[[B[[[z[[[
eV[[[c[[[
eV[[[C[[[
eV[[[C[[[@[[[
eV[[[c[[[a[[[
eV[[[c[[[b[[[
eV[[[C[[[B[[[*
eV[[[d[[[
*eV[[[D[[[
eV[[[D[[[
EvDdM[[[N[[[a[[[
EVDgqggRC
[[[@eVdO[[[
eV[[[D[[[r[[[!
e'(vdWnWe
eV[[[e[[[
eV[[[E[[[
_E)ve)da
EventActivityIdControl
EventArgs
EventArgumentsWW
_EventConnector InterfaceW9
_EventConnectorW
EventEnabled
.event_group_uid
event_group_uid
EventHandler
EventIdW
Event interface for CMIWWW
eventmax
eventmgr.cpp
eventmgr.h
eventmin
EventName
EventProviderEnabled
EventRegister
EventResetMode
EventRVA
EventSetInformation
Event sink interface of ICmiFactoryWWW6
Events interface for bulk importer"
Events interface for configuration:
Events interface for installer'
Events interface for private test packagerA
Event source interface of ICmiFactoryW#
event_strings
Event That Happened
EventUnregister
EventWaitHandle
EventWaitHandleAccessRule
EventWaitHandleRights
EventWaitHandleSecurity
EventWrite
EventWriteEx
EventWriteLogDebugSyncController
EventWriteString
EventWriteSyncControllerMsg_CannotInitializeSyncProvider
EventWriteSyncControllerMsg_Exception
EventWriteSyncControllerMsg_InvalidRepositoryPath
EventWriteSyncControllerMsg_NoRepositoryPath
EventWriteSyncControllerMsg_SyncControllerBegin
EventWriteSyncControllerMsg_SyncControllerEnd
EventWriteTransfer
eVE@YxPD@YBY
eV[[[f[[[
:eV[[[F[[[
eV[[[F[[[
eV[[[f[[[d[[[
eV[[[F[[[D[[[
E||vF||D
eV[[[F[[[E[[[!#
E||vF||]F||EF||.F||
e||vf||ff||Nf||6f||
e||vf||Uf||0f||
((EvFvO@EL
eV[[[F[[[z[[[
;eV[[[g[[[
e][[[V[[[G[[[
eV[[[@[[[G[[[
eV[[[G[[[
eV[[[G[[[b[[[
evgqgg"C
EvgWeggG
EVgwfgfG
eV[[[G[[[z[[[!#
eV[[[h[[[
e_[[[V[[[H[[[
eV[[[H[[[
eV[[[h[[[c[[[
|eV[[[h[[[o[[[
eV[[[i[[[
e][[[V[[[I[[[
e_[[[V[[[I[[[
eV[[[I[[[
e_[[[V[[[I[[[#a
eV[[[i[[[c[[[:
EViewOption_NoToolBarsWWW
eV[[[i[[[n[[[
eV[[[I[[[N[[[h
eV[[[j[[[
'eV[[[J[[[
e][[[V[[[J[[[ 
e][[[V[[[J[[[]
eV[[[J[[[
eV[[[j[[[b[[[
eV[[[j[[[m[[[
eV[[[J[[[M[[[
|eV[[[j[[[n[[[Fd
eV[[[J[[[N[[[Y
e_[[[v[[[j[[[@w
eV[[[k[[[
eV[[[K[[[
eV[[[K[[[6
e_[[[V[[[K[[[dB[dX[[[U[[[
 eV[[[k[[[i[[[
eV[[[k[[[i[[[
eV[[[K[[[I[[[0
eV[[[k[[[j[[[:l|d_[[[
eV[[[l[[[
eV[[[L[[[
eV[[[L[[[@[[[
eV[[[l[[[b[[[-
e vldr1id
eV[[[l[[[e[[[
EVllllllllmllllOllylm
'eV[[[m[[[
eV[[[m[[[
	eV[[[M[[[
eV[[[m[[[a[[[??ldY[[[l[[[
eV[[[m[[[c[[[
eV[[[m[[[c[[[T
eV[[[m[[[l[[[
eV[[[M[[[L[[[
eV[[[n[[[
eV[[[N[[[F[[["htdO[[[
e][[[v[[[n[[[H
eV[[[N[[[M[[[
eV[[[o[[[
eV[[[O[[[
eV[[[O[[[B[[[L
eV[[[o[[[c[[[
eV[[[O[[[g[[[YNSdx[[[N[[[l[[[
eV[[[O[[[L[[[
)eV[[[o[[[l[[[RK
eV[[[O[[[M[[[
eV[[[o[[[n[[[
eV[[[o[[[n[[[7a|dO[[[
eV[[[O[[[n[[[|||dM[[[N[[[D[[[
eV[[[o[[[n[[[L
eV[[[p[[[
eV[[[P[[[
Evpgppepq
EVpgppepq
eV[[[_[[[P[[[p
E[[[vPpd@[[[
eV[[[P[[[W[[[5n
?eV[[[q[[[
eV[[[q[[[
eV[[[][[[Q[[[
eV[[[Q[[[
@]E@VQBVBU
eV[[[q[[[i[[[
eV[[[Q[[[K[[[
eV[[[q[[[p[[[
eV[[[Q[[[W[[[
eV[[[r[[[
eV[[[R[[[
-_eVr*dp46fw
eV[[[R[[[P[[[
eV[[[r[[[q[[[
eV[[[][[[R[[[y;PeQ[[[
eV[[[|[[[s[[[
eV[[[s[[[
eV[[[S[[[
eVSSS@S[n._RS
eV[[[S[[[t[[[
eV[[[S[[[U[[[
eV[[[t[[[
 e@[[[V[[[T[[[
e[[[[V[[[T[[[
eV[[[T[[[
EvtClose
EvtCreateRenderContext
eV[[[T[[[H[[[
eV[[[t[[[j[[[
eV[[[T[[[K[[[
eV[[[t[[[o[[[
EvtQuery
EvtRender
eV[[[u[[[
	e@[[[V[[[U[[[
_eV[[[U[[[
e@[[[V[[[U[[[
e[[[[V[[[U[[[
eV[[[U[[[
eV[[[u[[[k[[[]
eV[[[U[[[K[[[
eV[[[u[[[k[[[ GqdI[[[
_E@VUL_7YE@ZEU
|eV[[[u[[[m[[[3:ldO[[[t[[[
eV[[[u[[[t[[[(]
e_[[[V[[[U[[[t
eV[[[U[[[T[[[7l|dV[[[
eV[[[v[[[
eV[[[V[[[
eV[[[v[[[i[[[
eV[[[V[[[J[[[
eV[[[V[[[T[[[!h
eV[[[v[[[u[[[ l|d[[[[
eV[[[w[[[
eV[[[W[[[
eV[[[W[[[G[[[
eV[[[w[[[j[[[!#
eV[[[w[[[j[[[)ftdY[[[v[[[
eV[[[W[[[N[[[
eV[[[w[[[v[[[y;PeA[[[
eV[[[x[[[
eV[[[X[[[
eV[[[X[[[C[[[
eV[[[X[[[i[[[u
eV[[[X[[[M[[[
eV[[[X[[[R[[[U
eV[[[X[[[w[[[
eV[[[y[[[
eV[[[Y[[[
eV[[[y[[[7
eV[[[Y[[[Q[[[
eV[[[y[[[r[[[
eV[[[Y[[[U[[[V
.EvyyQWyysI
.EvyyYTyyuI
eV[[[z[[[
eV[[[Z[[[
eV[[[Z[[[@[[[
eV[[[Z[[[C[[[
eV[[[Z[[[@[[[d
eV[[[Z[[[D[[[F
eV[[[Z[[[F[[[
E)))vZ][LHD
eV[[[Z[[[M[[[R
eV[[[Z[[[@[[[R
EvZRSSSSS
eV[[[z[[[x[[[
eV[[[z[[[y[[[
e@[[[w[[[
e][[[w[[[
e_[[[w[[[
'eW[[[][[[
e@[[[_[[[W[[[
e@[[[W[[[
e[[[[W[[[
e][[[_[[[W[[[ 
e][[[W[[[
e_[[[W[[[
eW[[[	[[[
eW[[[ [[['[[[
eW[[[![[[ [[[
eW[[[([[[.[[[
eW[[[)[[[
eW[[[*[[[.[[[
eW[[[-[[[
eW[[[.[[[
eW[[[:[[[
eW[[[:[[[?[[[*
eW[[[][[[
eW[[[_[[[
eW[[[_[[[|[[[
eW[[[|[[[	[[[
eW[[[0[[[
Ew0gqggY
eW[[[2[[[
eW[[[3[[[
eW[[[6[[[
eW[[[6[[[#[[[
eW[[[6[[[*[[[
eW[[[7[[[4[[[iM5eH[[[6[[[
eW[[[;[[[8[[[lK
eW[[[9[[[
eW[[[][[[A[[[
eW[[[a[[[d[[[*
eW[[[A[[[x[[[
eW[[[b[[[
E@@@@@w@@B@ACa
e_wbgfGc
eW[[[B[[[y[[[
eW[[[c[[[
eW[[[C[[[
eW[[[C[[[D[[[
eW[[[d[[[
eW[[[D[[[
eW[dJ[[[P[[[
EwDnD_DJDGD
e?!Wdo5Dd
E[[[)"WdO[[[D[[[
eW[[[D[[[y[[[
eW[[[E[[[
E@WE@_As@XBX
eW[[[e[[[d[[[
eW[[[E[[[D[[[m1PeZ[[[
eWegfG1!
_E@wE@pE@CULv
E@WEWg;P_TsSRSSg
eW[[[f[[[
eW[[[F[[[
eW[[[f[[[d[[[
eW[[[f[[[d[[[*
eW[[[f[[[d[[[j
eW[[[F[[[r[[[2
eW[[[F[[[t[[[
eW[[[g[[[
eW[[[@[[[G[[[
ew]gfGxfH
ewggegfG
ewggfG8T
eW[[[@[[[G[[[iM5eI[[[
EwgkgAgg
eWgqggi?
ewgSkgfG
e_[[[w[[[h[[[
 eW[[[h[[[
_eW[[[H[[[
eW[[[H[[[
eW[[[H[[[L[[[
eW[[[h[[[m[[[ER
eW[[[h[[[n[[[
eW[[[h[[[o[[[
e[[[[W[[[H[[[u
eW[[[i[[[
e_[[[W[[[I[[[
eW[[[I[[[B[[[- 
eW[[[I[[[O[[[*
eW[[[j[[[
eW[[[J[[[
eW[[[j[[[8[[[
EwJd][[[
eW[[[J[[[n[[[
-EWJWNHI@W
eW[[[k[[[
e[[[[W[[[K[[[
eW[[[][[[K[[[
eW[[[K[[[
ew#kd']*dm
e_[[[w[[[l[[[
eW[[[l[[[
e@[[[W[[[L[[[
eW[[[L[[[B[[[iM5eZ[[[C[[[
ew	ld[v@d
Ew lHgge
eW[[[*[[[.[[[lK
eW[[[.[[["[[[lK
eWLllllllllmllllOllylm*
EwllllllllmllllOllylmI
eW[[[m[[[
eW[[[M[[[
eW[[[N[[[
eW[[[n[[[a[[[
e wndL:Ed
eW[[[n[[[g[[[
eW[[[N[[[j[[[
eW[[[o[[[
eW[[[O[[[
eW[[[O[[[C[[[
eW[[[o[[[c[[["sedG[[[n[[[m[[[4
eW[[[o[[[n[[[
eW[[[p[[[
eW[[[_[[[P[[[
eW[[[P[[[
EWpgppepq
eW[[[p[[[k[[[
eW[[[P[[[U[[[2
eW[[[P[[[V[[[
eW[[[p[[[w[[[
eW[[[Q[[[
eW[[[Q[[[I[[[
eW[[[Q[[[T[[[?
eW[[[Q[[[V[[[p
eW[[[q[[[w[[[
eW[[[r[[[
eW[[[R[[[
e.wreg]mgfGTU
eW[[[r[[[p[[[
eW[[[r[[[q[[[
eW[[[r[[[q[[[iM5e][[[
eW[[[R[[[V[[[?
eW[[[r[[[w[[[
)eW[[[][[[S[[[
eW[[[][[[S[[[*
eW[[[S[[[
eW[[[S[[[Q[[[
eW[[[s[[[v[[[9
eW[[[t[[[
e][[[W[[[T[[[ 
eW[[[T[[[
eW[[[T[[[H[[[
eW[[[t[[[j[[[
eW[[[T[[[K[[[
eW[[[t[[[m[[[
E!WTqgfG
e][[[w[[[u[[[ 
eW[[[u[[[
eW[[[U[[[L[[[
eW[[[u[[[t[[[
e[[[[w[[[v[[[
_eW[[[v[[[
e@[[[W[[[V[[[
e_[[[W[[[V[[[
eW[[[_[[[V[[[
eW[[[_[[[V[[[?
eW[[[V[[[
eWVgOcgfG
eW[[[v[[[k[[[2
eW[[[v[[[t[[[*
eW[[[v[[[t[[[UJ
eW[[[w[[[
Ew_wBNwAAw[C
eW[[[W[[[U[[[@d0dY[[[V[[[
eW[[[x[[[
eW[[[X[[[
eW[[[X[[[b[[[
"eW[[[X[[[b[[["sedM[[[_[[[p[[[
eW[[[x[[[h[[[lK
eW[[[x[[[i[[[
eW[[[X[[[i[[[
eW[[[X[[[j[[[
eW[[[X[[[n[[[
eW[[[X[[[P[[[?
eW[[[X[[[q[[["sedI[[[_[[[V[[[
eW[[[X[[[S[[[
eW[[[X[[[T[[[
eW[[[X[[[x[[[?
eW[[[y[[[
eW[[[Y[[[
)E:|Wy!]
'eW[[[Y[[[E[[[9
eW[[[Y[[[f[[[
eW[[[Y[[[K[[[
EwYwPSwA
eW[[[y[[[x[[[j
eW[[[z[[[
eW[[[Z[[[
eW[[[z[[[y[[[
e@[[[x[[[
e[[[[x[[[
e][[[x[[[
ex[[[	[[[
ex[[[![[[
ex[[["[[[
ex[[['[[[
ex[[[([[[.[[[
ex[[[)[[[
ex[[[-[[[
ex[[[-[[[ [[[
ex[[[;[[[.[[[
ex[[[?[[[
ex[[[][[[
ex[[[_[[[
ex[[[_[[[|[[[
ex[[[|[[[
@"eX[[[)
@eX[[[ [[[
e][[[X[[[][[[
e_[[[X[[[
eX[[[	[[[
eX[[[ [[[
eX[[[![[[
eX[[[![[[ [[[
eX[[[#[[[
eX[[[#[[[![[[
eX[[[#[[["[[[
eX[[['[[[
eX[[[([[[#[[[ 
eX[[[)[[[
eX[[[)[[[#[[[
eX[[[*[[[
eX[[[*[[[)[[[
eX[[[.[[[
eX[[[.[[[#[[[
eX[[[.[[[-[[[
eX[[[:[[[
eX[[[;[[[
eX[[[?[[[
eX[[[@[[[
eX[[[][[[
eX[[[|[[[
[[[E[[[x[[[
Ex|||||||||||
eX[[[0[[[
eX[[[0[[[#[[[
eX[[[0[[[7[[[
ex[[[0[[[([[[M
ex[[[1[[[
ex[[[1[[[*[[[
*ex[1z]'
eX[[[2[[[
eX[[[2[[[)[[[
eX[[[2[[[0[[[_V
ex[[[2[[[1[[[
ex[[[:[[[2[[[c
ex[[[3[[[
eX[[[?[[[3[[[
eX[[[3[[[
eX[[[3[[[0[[[
ex[[[3[[[1[[[_
eX[[[3[[[2[[[
ex[[[4[[[
eX[[[4[[[
eX[[[4[[[*[[[
eX[[[5[[[
eX!5f;C*d.
ex5pxyxyx5xxyxl9
ex[[[6[[[
eX[[[6[[[
eX[[[6[[[4[[[
eX[[[7[[[6[[[
ex[[[8[[[
eX[[[;[[[8[[[
eX[[[8[[[
ex[[[9[[[
eX[[[;[[[9[[[
eX[[[9[[[
eX[[[9[[[?[[[
ex[[[9[[[8[[[
Ex9GTtwA
eX[[[;[[[9[[[M
ex[[[a[[[
ex[[[A[[[
eX[[[a[[[
eX[[[A[[[
eX[[[A[[[@[[[
eX[[[A[[[|[[[
e@@@@@x@@A@AAac
E@x@@A@ACac
[_EX]ABKCQJBJJ_NYML
EXABQLAG]
EXACHDX_H@
ExAcquireFastMutex
ExAcquireResourceExclusiveLite
@@E@XAD@YAJ@ZAK@[BZ
eX[[[a[[[f[[[
eX[[[A[[[F[[[r
eX[[[a[[[g[[[
ExAllocatePoolWithTag
[EX]]ANJKY
EXAPKPJKD
eX[[[A[[[q[[[
e@@@@@xA@R@AFac
EXAZOOQGY
ex[[[B[[[
e@[[[X[[[B[[[
eX[[[B[[[
eX[[[B[[[;[[[
eX[[[b[[[a[[[
ex[[[B[[[A[[[7
eX[[[b[[[a[[[m
EXBB[OPHG@M
ex[[[B[[[D[[[?
eX[[[b[[[d[[[
ex[[[B[[[D[[[c
ExB;D! u
eX[[[B[[[G[[[
EXBJKSN__Z
EXBSJBHA
@_E@XBTLC9
exBUpSSSSS3
ex[[[)[[[([[[c
ex[[[C[[[
eX[[[c[[[
E[XCALCX]
E[XCALX]
EX_C@APXQZYDL
e]xcaz23
eX[[[c[[[b[[[
eX[[[C[[[B[[[
ex[[[C[[[B[[[	7hfA[[[
EX_]CBCBK_X]
eX[[[C[[[d[[[
eX[[[C[[[D[[[
Exceeded nested brace limit.
EXCEJJYG][JS[]Q
Excel OLE File (.xls)
Exception
 exception caught in data network
 exception caught in data network post output ordered
 exception caught in driver thread
 exception caught in thread pool
 exception caught in thread pool submission
 exception caught in time update service
exception.cpp
exception.h
?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
?__ExceptionPtrCopy@@YAXPEAXPEBX@Z
?__ExceptionPtrCreate@@YAXPEAX@Z
?__ExceptionPtrCurrentException@@YAXPEAX@Z
?__ExceptionPtrDestroy@@YAXPEAX@Z
?__ExceptionPtrRethrow@@YAXPEBX@Z
?__ExceptionPtrToBool@@YA_NPEBX@Z
ExceptWith
exclamation-mark
excluded
Excluded
excludedthreats
ExcludeInformationWW
ExcludeOptionalDependencies propertyWW
ExcludeReferences property
ExcludeReferencesWWWLO
ExcludeWow64Components propertyWWW@
ExcludeWow64ComponentsWW
Exclusion
exclusion_data.h
exclusionlist.cpp
exclusionlist.h
exclusionmanager.hpp
Exclusions
exclusiontype
exclusionvalue
exclusionvalue_scrubbed
exclusive
ExclusiveProcess
ExclusiveThread
ex[[[d[[[
ex[[[D[[[
eX[[[d[[[
ExDdDRDLD
ExDeleteResourceLite
ExDfDPDMD
ExDhDPDDD"D
[EXDHGZQQ
e(X|dICWd
eXdI[[[T[[[
]EXDN[YD_
ExDrDOD-D'D
EXDUDKD-D
ExDuDoDbDID:D)D"D
eX[[[D[[[v[[[
ExDvDcDRDLD)D
ExDwDRDMD
EXdX[[[A[[[@[[[
ex[[[D[[[z[[[
eX[[[D[[[z[[[
eXdZ[[[j[[[
ex[[[e[[[
eX[[[e[[[
(Exe32Pack)
EXE9YBV@TBTPgNBXU
exeappname
exeappname_scrubbed
exeappsha1
EXEAYJOL
Exec format error
execommandline
execommandline_scrubbed
(ExeComp)
eXEcRYPTOR
exec_scrubbed
executable format error
executable_image
ExecutableName: 
ExecutableNameWW
executble_image
ExecuteCabW
ExecuteHint
?_Execute_once@std@@YAHAEAUonce_flag@1@P6AHPEAX1PEAPEAX@Z1@Z
_execute_onexit_table
Executes a context menu item on the selection. The parameter is the language-independent or language-dependent path of the menu itemWW
Executes a context menu item on the specified scope node. The parameter is the language-independent or language-dependent path  of the menu itemWWn
Executes a shell command with the specified parameters in the specified directory with the correct window size
ExecuteSelectionMenuItem
executes_from_dynamic_memory
executes_from_last_section
executes_from_resources
ExecuteShellCommandW
Executes the bulk importWW"
Executes the context menu item4
Executes the query and returns9
ExecuteW
Executing directives
Executing pipeline...
Execution aborted
ExecutionStatus
EXeCZgcM
eX[[[E[[[D[[[
ExEd_[[[
exedllparameter
(EXEEmb)
EXE@@EYHBW
eX[[[E[[[g[[[
eXEgUARDER
exeLimit
[EXEMKDZEFHM@GN
eX[[[E[[[m[[[x
EXEOJJKD[G
(ExePack)
eX[[[E[[[r[[[
eXEsTEALTH
EXE@UULC
ExEventObjectType
E@xE@vE@wE@yE@XE@[E@AE@BE9@KE9@DBUPW
ex[[[E[[[y[[[?
EXEYEQ(QSSWg
E@XE@YQ(QSSW@@EB@
ex[[[f[[[
eX[[[f[[[
eX[[[F[[[
EXfD98tLH
EXfD9eP|U
ex[[[f[[[e[[[
ex[[[F[[[E[[[
eX[[[f[[[e[[[
eX[[[f[[[e[[[27AeS[[[
eX[[[@[[[F[[[NW
ExFreePoolWithTag
ex[[[F[[[y[[[
ex[[[g[[[
ex[[[G[[[
eX[[[g[[[
)@eX[[[@[[[G[[[
e[[[[X[[[G[[[
ex[[[@[[[g[[[B
eX[[[G[[[b[[[x
eX[[[g[[[d[[[
ex[[[G[[[E[[[
ex[[[g[[[e[[[c
eX[[[g[[[f[[[
ExggwJ8q
ExgOkgfGk
eX[[[G[[[p[[[
Ex]gqgg2
EXgqgg8]
eXgqggI?
	exgqggjl
eX[[[G[[[y[[[
EXGY[_YO
ex[[[_[[[h[[[
ex[[[_[[[H[[[?
ex[[[H[[[
.eX[[[h[[[
eX[[[h[[[
eX[[[H[[[
Ex|||||||||||h|||||||
EXH9FXuK
ex[[[h[[[a[[[
eX[[[h[[[a[[[
EX@HAOS@
EXHAUST 
ex[[[H[[[@[[[c
ex[[[H[[[C[[[
E[XHDPPYO
EX_HJKDDJLSGY
eX[[[H[[[L[[[
eX[[[H[[[M[[["
EXHNSGBZZBBA[PS
eX[[[h[[[o[[[
EXHOX[Z[BXKAYSSA
ex[[[i[[[
ex[[[I[[[
eX[[[i[[[
*eX[[[I[[[
e@[[[X[[[I[[[
eX[[[_[[[I[[[
eX[[[I[[[
eX[[[I[[[D[[[e
eX[[[I[[[H[[[
eX[[[i[[[h[[[B
eX[[[i[[[l[[[
eX[[[I[[[L[[[
eX[[[i[[[n[[[
ExInitializeFastMutex
ExInitializeResourceLite
ExitCode
exitEventName
exitproc
exitprocess
ExitProcess
ExitReason
ExitThread
ExitWindowsEx
ex[[[j[[[
ex[[[J[[[
eX[[[j[[[
e@[[[X[[[J[[[
eX[[[_[[[J[[[
EXJA[P]O[SLDS[A
EXJGAGLP
ex[[[J[[[H[[[
]EXJLLBLJB
ex[[[j[[[m[[[
eX[[[J[[[N[[[
EXJN]JYLC
eX[[[j[[[o[[[
eX[[[J[[[O[[[8U
ex[[[J[[[O[[[b
e||xj||Wj||
ex[[[k[[[
ex[[[K[[[
:eX[[[k[[[
e@[[[X[[[K[[[
eX[[[][[[K[[[
eX[[[_[[[K[[[
eX[[[k[[[3[[[
ex[[[k[[[i[[[
ex[[[K[[[I[[[
	eX[[[K[[[I[[[
ex[[[K[[[I[[[b
eX[[[k[[[l[[[
EXKNHJFN[YCB
E)))XKPPEKFQK
ex[[[L[[[
]eX[[[l[[[
e_[[[X[[[l[[[
eX[[[l[[[
eX[[[_[[[][[[L
eX[[[L[[[A[[[
ex[[[l[[[b[[[
eX[[[l[[[b[[[
ex[[[l[[[b[[[7
ex[[[l[[[b[[[b
ex[[[L[[[B[[[M
EXLBMJODZCZO_L
ex[[[L[[[C[[[
eX[[[L[[[C[[[
[E]XLCXBG]
eX[[[L[[[D[[[
ex[[[l[[[d[[[	7hfZ[[[c[[[
ex[[[L[[[D[[[c
ex[[[L[[[G[[[	7hfJ[[[C[[[@[[[
[EXL]GQZN@ANHY
ex[[[L[[[l[[[?
ExllllllllmllllOllylm
ExllllllllmllllOllylmb
Exllllllllmlll]Y]]
[E@XLMONH]DX
E]XLNJOX@
EXLXBAANO
ex[[[m[[[
eX[[[m[[[
eX[[[M[[[
eX[[[M[[[@[[[
EX[MAACZD
ex[[[M[[[B[[[b
ex[[[M[[[c[[[B
eX[[[M[[[D[[[
eX[[[M[[[F[[[
EX]M[KP_
eX[[[m[[[l[[[
_EXM[PKM
EXM]ZBOYPAMMNG
ex[[[n[[[
"ex[[[N[[[
ex[[[N[[[
e_[[[X[[[n[[[
eX[[[n[[[
eX[[[N[[[
eX[[[n[[[b[[[
eX[[[N[[[B[[[
eX[[[N[[[D[[[
EXN@HPYCHYJPM
EXNJYYPN
ex[[[n[[[l[[[
ex[[[n[[[m[[[
e_[[[X[[[n[[[W'
EXNYQXMB
ex[[[o[[[
ex[[[O[[[
@eX[[[o[[[
eX[[[o[[[
eX[[[_[[[O[[[
eX[[[O[[[
ex[[[O[[[@[[[b
eX[[[O[[[e[[[5
eX[[[O[[[G[[[
ex[[[o[[[l[[[b
ex[[[O[[[L[[[c
eX[[[o[[[m[[[
eX[[[O[[[M[[[
ex[[[o[[[m[[[r
eX[[[o[[[n[[[
eX[[[O[[[N[[[
ex[[[p[[[
ex[[[P[[[
eX[[[p[[[
e@[[[X[[[P[[[
eX[[[P[[[
ExpandCabFile
ExpandEnvironmentStringForUserSession
ExpandEnvironmentStringForUserToken
ExpandEnvironmentStrings
ExpandEnvironmentStringsA
ExpandEnvironmentStringsForUserW
ExpandEnvironmentStringsW
ExpandEnvironmentVariables
ExpandEnvironmentVariablesWW
ExpandFilePath
;ExpandRowWWW
Expands environment variables in a string.)
expandstr.cpp
expandstr.h
ExpandUserEnvironmentStrings
eX[[[p[[[b[[[
][EXPDO_LXC
e@@@@XpDoq
expected "
expected ':'
expected ;
Expected attribute_log_entry_t* lightuserdata
expected attribute name
expected codepoint reference after high surrogate
expecteddigest
expected digits after -
expected element name
expected end of line
expected 'false'
expectedHash
expected hex digit
expected key string
expected lock count
expected low surrogate after high surrogate
expected 'null'
expected ' or "
ExpectedPattern
expectedsum
Expected 'table' for argument 2.
Expected 'table' for argument 5.
expected 'true'
expected utf16 escape
expected value
expecting end of character set
Expecting end of comment
expecting escape sequence in substitution string
expensivefilecount
ExpensiveFileTimeouts2
ExpensiveOperation
expgppepq!
eX[[[P[[[I[[[
expirationTime
expire_time
expirytime
ExpiryTime
eX[[[p[[[k[[["
E@@@@@@@@XpLD
Explicit
explodecabpage.cpp
explodecabpage.h
exploitinfo
exploitmode
EX_PNNM[LN
e@@@@XpoD
exponent overflow
Expooffload
exportInfoOffset
exportInfoSize
ExportListOptions_DefaultWWW
ExportListOptions_TabDelimitedWW
	ExportListOptions_UnicodeWWW
ExportListOptionsWWW
exportname
exportname_scrubbed
exportoptionsWWW
export.read_write
exports.cpp
Exports List to tab-delimited formatWW
Exports only selected filesWWW
exportstests.cpp
Exports the files for the given identityWW_
Export Table
ExportWW
Exposes access to time update services for other plugins to use
Exposes file repository properties
EXP_ParseCommandLine
expressions prohibited in PRIMARY KEY and UNIQUE constraints
Expression too long
ExpressionWW
ExpRESSOR ;  
eX[[[p[[[v[[[
eX[[[p[[[w[[[
eX[[[P[[[W[[[
EXPYF[NQZE[HXXH
ex[[[_[[[q[[[
ex[[[q[[[
ex[[[Q[[[
eX[[[q[[[
e@[[[X[[[Q[[[
eX[[[Q[[[
eX[[[Q[[[G[[[
ex[[[q[[[j[[[
EXQJB_XBD
EXQNZJCB]SMZLZMOXX
ex[[[q[[[p[[[c
ex[[[q[[[p[[[M
eX[[[q[[[v[[[
	ex[[[Q[[[W[[[?
ex[[[q[[[w[[[c
_@EXQZNG[J
ex[[[_[[[r[[[
ex[[[r[[[
]ex[[[R[[[
ex[[[R[[[
eX[[[r[[[
e@[[[X[[[R[[[
"e][[[X[[[R[[[7
ExReleaseFastMutex
ExReleaseResourceLite
e][[[X[[[R[[[gg
eX[[[r[[[p[[[
ex[[[R[[[P[[[c
ex[[[R[[[Q[[[
eX[[[r[[[q[[[
eX[[[r[[[v[[[
ex[[[R[[[W[[[
ex[[[][[[s[[[
ex[[[s[[[
ex[[[][[[S[[[
ex[[[S[[[
e_[[[X[[[s[[[
eX[[[|[[[s[[[
e@[[[X[[[S[[[
eX[[[S[[[
EXS0EXS!EXS
[[[ExSdO[[[
EXS[DXSIDXSxDXSoDXS
_@E_XSHZG]CH
eX[[[S[[[I[[[
EXS_JZY[
ex[[[|[[[s[[[M
ex[[[S[[[Q[[[
eX[[[s[[[q[[[
eX[[[S[[[Q[[[
eX[[[s[[[r[[[
eX[[[S[[[R[[[
ex[[[S[[[R[[[	7hfJ[[[
ex[[[t[[[
ex[[[T[[[
eX[[[|[[[t[[[
eX[[[t[[[
eX[[[_[[[T[[[
eX[[[T[[[
E||x_||T_||
eX[[[t[[[b[[[
ex[[[t[[[c[[[
ex[[[_[[[T[[[c
eX[[[T[[[C[[[
extendedkcrcs
extendedkeyusage
extended_pestatic
Extended Stream Scan
Extends off end of page
extension
Extension
extensionpointdatareaderutils.hpp
extensionpointexclusiondatafactory.hpp
extensionpointgenericxmlreader.h
extensionpoint.h
Extensions InterfaceWW
ExtensionsWW
ExtensionWWW
?ExtentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
externalFiles
extern "C" 
ExtFlags
eX[[[T[[[J[[[
ex[[[T[[[K[[[
eX[[[t[[[k[[[
eX[[[t[[[l[[[
ext-ms-win32-subsystem-query-l1-1-0.dll
ext-ms-win-advapi32-lsa-l1-1-2.dll
ext-ms-win-com-ole32-l1-1-0.dll
ext-ms-win-com-ole32-l1-1-1.dll
ext-ms-win-deployment-productenumerator-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-1.dll
ext-ms-win-ntuser-dialogbox-l1-1-0.dll
ext-ms-win-ntuser-message-l1-1-0.dll
ext-ms-win-ntuser-misc-l1-1-0.dll
ext-ms-win-ntuser-synch-l1-1-0.dll
ext-ms-win-resources-languageoverlay-l1-1-0.dll
ext-ms-win-resources-languageoverlay-l1-1-1.dll
ext-ms-win-rtcore-ntuser-sysparams-l1-1-0.dll
ext-ms-win-rtcore-ntuser-window-ext-l1-1-0.dll
ext-ms-win-security-credui-l1-1-0.dll
ext-ms-win-session-usertoken-l1-1-0.dll
ext-ms-win-session-winsta-l1-1-0.dll
ext-ms-win-session-wtsapi32-l1-1-0.dll
ext-ms-win-shell32-shellfolders-l1-1-0.dll
ext-ms-win-shell-browsersettingsync-l1-1-0.dll
ext-ms-win-shell-shell32-l1-2-0.dll
ext-ms-win-shell-shell32-l1-2-1.dll
ext-ms-win-storage-sense-l1-1-0.dll
ExtOffset
eX[[[T[[[r[[["
ExtractIconW
ExtractOnly
EXTRACTOPT
ExtractorStub
ExtractProps
extractps
extra data
extra_fields.cpp
extra_fields.h
extra_fields_test.cpp
ExtTextOutW
ex[[[u[[[
eX[[[_[[[u[[[
eX[[[u[[[
eX[[[][[[U[[[
ex[[[u[[[i[[[?
eX[[[u[[[j[[[
eX[[[u[[[m[[[
eX[[[u[[[n[[[
eX[[[U[[[O[[[
eX[[[u[[[t[[[
eX[[[U[[[T[[[
ex[[[U[[[T[[[c
e_[[[x[[[v[[[
ex[[[v[[[
ex[[[V[[[
eX[[[v[[[
e@[[[X[[[V[[[
eX[[[V[[[
eX[[[V[[[H[[[
ex[[[V[[[i[[[
eX[[[v[[[j[[[
eX[[[V[[[J[[[
ex[[[v[[[k[[[
eX[[[V[[[K[[[
eX[[[V[[[T[[[
eX[[[v[[[u[[[
eX[[[v[[[u[[[#
ex[[[_[[[w[[[
ex[[[W[[[
eX[[[w[[[
e@[[[X[[[W[[[
eX[[[W[[[
eX[[[w[[[b[[[
ex[[[W[[[C[[[c
ex[[[w[[[k[[[
eX[[[W[[[K[[[
eX[[[w[[[t[[[
ex[[[w[[[u[[[
eX[[[w[[[v[[[
ex[[[w[[[v[[[M
e_[[[X[[[x[[[
eX[[[x[[[
ex[[[X[[[a[[[
eX[[[X[[[A[[[
ex[[[X[[[b[[[
eX[[[X[[[b[[[
eX[[[X[[[c[[[5
"ex[[[X[[[d[[[
eX[[[X[[[D[[[
EX]XDHLQA]
ex[[[X[[[f[[[
EX]X[G[PD]E
eX[[[x[[[i[[[
eXx|jHs|u
EXxKQLC9
ex[[[X[[[l[[[
eX[[[X[[[l[[[
eX[[[X[[[m[[[
eX[[[x[[[n[[[
eX[[[X[[[n[[[
ex[[[X[[[p[[[
eX[[[X[[[p[[[
EXXPQ]CL[K
ex[[[X[[[r[[[
eX[[[X[[[r[[[
_EXxrB[s
exxrkriri|ni|
ex[[[x[[[v[[[_
Exxx3xxyxyxyxY[4
ExxxLxxyxyxyxY[4
ExxxxTxxx
Exxxxxxx
Exxxxxxxx
Exxx|xx#yxaxax
Exxx#xxyxyxyxY[4
Exxx*xxyxyxyxY[4
Exxx|x]Y]]
Exxx]Y]]
Exxx]Y]]#
Exxx]Y]]0
!Exx]Y]]
Exx]Y]]T
exxyx.y0
Exxzx]Y]]
ex[[[_[[[y[[[
ex[[[y[[[
ex[[[Y[[[
eX[[[y[[[
eX[[[Y[[[
ExyaDxyJDxy7Dxy
ex[[[][[[y[[[c
ex[[[Y[[[c[[[
ex[[[Y[[[d[[[
Exy|DxycDxyJDxy1Dxy
exyedxyDdxy
ExyfExyOExy6Exy
exyhdxyOdxy!dxy
eX[[[y[[[h[[[x
'eX[[[Y[[[I[[[
exyidxy_dxyEdxy(dxy
exyidxyRdxy3dxy
EXYKKCHH
ex[[[Y[[[l[[[
ExylDxyUDxy:Dxy#Dxy
eX[[[Y[[[n[[[
ExysDxyXDxyCDxy*Dxy
ExyuDxyZDxyCDxy(Dxy
ex[[[Y[[[v[[[
exyvdxyIdxy(dxy
ex[[[y[[[x[[[
ex[[[y[[[x[[[_
ex[[[y[[[x[[[c
exyXexyEexy#exy
@Exyxiy(A
Exyxryx6
Exyxsy.K4*
ExyxvyFxFx
Exyxwy]!]
exyxxyxu9K
Exyy|Exyy
ExyyEyyy
exyyxyyy 
exyyyyyy
EXyyyyyyyyyy#[yyyiyyyyyyyyyyyyyyyyyyyyyy
Exyyz1M(
Exyyz)M@
exyzdxy_dxy4dxy
ExyzDxyvDxyaDxySDxyCDxy3Dxy Dxy
ex[[[z[[[
)eX[[[z[[[
eX[[[@[[[z[[[
eX[[[z[[[
|eX[[[Z[[[
eX[[[Z[[[
EXZ15?xU2(?V
eX[[[Z[[[i[[[
E]XZKL]JN[B
eX[[[Z[[[o[[[
eX[[[Z[[[p[[[
EXZQJDC[
|eX[[[z[[[x[[[
EXZX](X16XP_
Exzx#yPPP]G#:
eX[[[z[[[y[[[
)ey[[[|[[[
_ey[[[*[[[
|ey[[[@[[[
e@[[[y[[[
e@[[[y[[[|[[[
e[[[[y[[[
ey[[[	[[[
ey[[[![[[
ey[[["[[[
ey[[[([[[
ey[[[)[[[![[[
ey[[[*[[[
ey[[[-[[[
ey[[[.[[[
ey[[[:[[[
ey[[[:[[[?[[[
ey[[[?[[[
ey[[[|[[[
'eY[[[.[[[
|@@eY[[[
e*((]Y]]
e-((]Y]]
e@@@@]Y]]
e@[[[Y[[[
e][[[Y[[[@[[[
e_[[[Y[[[
e_[[[Y[[[:[[[
eY[[[	[[[
eY[[["[[[
eY[[[#[[[
eY[[[([[[
eY[[[)[[[
eY[[[*[[[
eY[[[-[[[
eY[[[.[[[
eY[[[:[[[
eY[[[?[[[
eY[[[@[[[
eY[[[][[[
E@@@@]Y]]
ey[[[;[[[0[[[
ey[[[0[[[
eY[[[:[[[0[[[
eY[[[0[[[
eY[[[0[[[7[[[
ey[[[1[[[
ey[[[1[[[)[[[
eY[[[1[[[
ey[[[1[[[0[[[
e][[[Y[[[2[[['
_ey[[[2[[[1[[[
eY[[[2[[[1[[[
eY[[[3[[[
eY[[[3[[[0[[[
ey[[[3[[[2[[[c
eY[[[4[[[
e]]Y]]4WY
ey[[[5[[['[[[
eY[[[5[[[
eY[[[6[[[
eY[[[6[[[4[[[
ey[[[7[[[
eY[[[7[[[
ey76fer*dX
ey[[[8[[[?[[[
.eY[[[8[[[
eY[[[:[[[8[[[e
ey[[[9[[[
eY[[[9[[[
_ey[[[9[[[8[[[
eY9	"-j;
ey[[[A[[[@[[[
]eY[[[a[[[
eY[[[A[[[
EYA[_A[M
EYABAJ_SLASMN]_]CSO
EYABEBCA
eY[[[a[[[g[[[
eY[[[A[[[k[[[
eyakyyyyyyyyyyWkyyyiyyyyyyyyyyyyyyyyyyyyyyYkyyyyyy
e_[[[y[[[b[[[
ey[[[b[[[
ey[[[B[[[@[[[
eY[[[b[[[
eY[[[B[[[
eY[[[b[[[a[[[R#
EYBBYPP[CZ[ZHMO[YPJB
EyB_DfQEyB_D
ey[[[B[[[D[[[ T
@EYBE]_MOP[N__N[[QZ
EYBGOPDNM
EYBKPBMXOQZS
EY]BLLY[
EyB[NgQEyB[L
EYBSN]AZL]DG_AA
E_YBYLSJM[Z]
EY@_B_Y[P
ey[[[c[[[
ey[[[C[[[
eY[[[c[[[
e@[[[Y[[[C[[[
eY[[[][[[C[[[
eY[[[C[[[
ey[[[C[[[A[[[
eY[[[c[[[a[[[
eY[[[C[[[B[[[B
eY[[[C[[[B[[[F
ey[[[C[[[B[[[)"WdA[[[
EYCCNCCCBACC
ey[[[C[[[E[[[
[E_Y_CEN
E_YCG[MKJJ
EYC]]OJS
EYCS]]QY
eY[[[d[[[
eY[[[D[[[
EyDaD]DED1D
EYD]BFFX]GBKZ
EYD]D5D)D
EYD_]GQF
EyDID;D)D
EYDIDED9D!D
EyDiDYDID9D)D
EY_]]_DJ
EyDmDeDIDAD5D-D
EyDqDaD5D
EyDqDiDaDYDQDIDAD9D1D)D!D
EyDqDmDUDMD9D!D
ey[[[D[[[s[[[
EyDuD]DID1D-D
EyDuDiD-D!DyyyYzy
;ey[[[D[[[x[[[
eY[[[D[[[y[[[
ey[[[D[[[z[[[
EYDZXJCCDM
ey[[[@[[[E[[['
?eY[[[e[[[
eY[[[e[[[
eY[[[E[[[
ey[[[E[[[D[[[
eY[[[E[[[D[[[
EYELZJFNJXM]HD__XHCQ
EYE_M]DFK@
EyE@UIQs
E@YEXBWF
EyEXEUgvQs
E]YEXGPKZ
ey[[[E[[[y[[[
EyEyB@BC
EyEyBJBI2@JBKBI2@KBDBI2@DBEBI2@EE@qE_E@UE@VBLYBLBY
EyEyE@JE@KE@DE@EE@UE_BOYBOBY
EyEyE@rE9@OE@IE@UE_BMYBMBY
EYE@YEXEBWg
EyEyEyDy
eyEyEyEy6y
EyEyEyEyA]sSRSS
EyEyEyEyEyEyQK9
EyEyEyEyEyEyUD
EyEyEyEyLBAEs
EyEyEyEyLBAPs
EyEyEyEyQ
EyEyEyEy]WZ
EyEyEyTN
EyEyEyUM
EyEyEyVU
EyEyEyZTdQEyQLC9
EY[EYGO[DG
eY[[[E[[[z[[[
E@YE@ZE@FEBV
EYEZKO_M
ey[[[f[[[
ey[[[@[[[F[[[
ey[[[F[[[
eY[[[f[[[
eY[[[F[[[
e||yf||6f||
ey[[[F[[[E[[[
eY[[[f[[[e[[[
((EYFE@JPKEFJB
EYFJF_@]
e)))Y[FJ[FZZF_L[
E)))Y[FJLZZJHEEJ[LH]L
E_YFJO_]L
ey[[[F[[[x[[[
ey[[[g[[[
ey[[[@[[[G[[[
ey[[[G[[[
eY[[[g[[[
e][[[Y[[[G[[[
eY[[[G[[[
E[YGABX]ZC]JJ
)eY[[[G[[[E[[[
ey[[[G[[[F[[[
eY[[[g[[[f[[[
EYG_GQH_S[_K[P[_Z
e)))Y[@G]O
_eY[[[G[[[p[[[
eygqggcnuD
eYgqggEwv
e-YgqggJ
EYgqggxQP
EYGXGMJHZXCP@YC
e_[[[Y[[[h[[[
eY[[[_[[[h[[[
eY[[[h[[[
eY[[[H[[[
e_[[[Y[[[h[[[9
eY[[[H[[[d[[[
EYH]EBM]_ZD
eY[[[H[[[g[[[
ey[[[h[[[l[[[
eY[[[h[[[m[[[
EYHMQJB]HO
@EYHNJHG@CKBMMNA]KSCNKSAMNX
e)))YHNL
EYHNN]QYFCG
ey[[[H[[[N[[[ T
ey[[[H[[[O[[[
EYHPEEN]PAHJZ
E@YHZMN@E
ey[[[i[[[
ey[[[I[[[
eY[[[i[[[
eY[[[I[[[
ey[[[i[[[c[[[
E|yiD|ygD|yMD|yED|y?D|y)D|y#D|y
eYi!eYiieYi
eY[[[i[[[f[[[:
eY[[[I[[[G[[[
eY[[[i[[[h[[[
eY[[[i[[[h[[["
ey[[[j[[[
eY[[[j[[[
e@[[[Y[[[J[[[
eY[[[J[[[
e)))Y[@JB
e)))Y@JHZHSSSSS
ey[[[j[[[i[[[
ey[[[J[[[I[[[
EYJJC[GD]OLBA_
ey[[[J[[[N[[[8zwdx[[[I[[[
EY@JPKJO
EYJSSHLK_Z]
ey[[[K[[[
eY[[[k[[[
'e_[[[Y[[[K[[[
e@[[[Y[[[K[[[
EyKez|	u4
eY[[[K[[[I[[[
eY[[[K[[[I[[[B
EY@K[KBS
eY[[[K[[[L[[[
EYKLSOMPA
EYKPZDYX
ey[[[l[[[
ey[[[L[[[
eY[[[L[[[
EYLAYMSXZSFC
EYLBXX]N
ey[[[L[[[C[[[#
EYLG_[@FGDLG]
EYL_[GG[C
]EYLG[]MJPO
EYLKYJD]QAFDDADLPEN
EYLMJ]Q]DZ]FDJQ[YEAYC
EYLQ]Y]L
EYLvYHPEFHMvYH]A
eY[[[L[[[y[[[
e][[[y[[[m[[[
ey[[[m[[[
eY[[[_[[[m[[[
eY[[[m[[[
e@[[[Y[[[M[[[
ey[[[M[[[B[[[XX
E]YMB@ZQQYMZYE
eY[[[m[[[f[[[
EYMKY]E[
e_[[[y[[[n[[[
ey[[[n[[[
eY[[[n[[[
eY[[[N[[[
EY]NBANE
e[[[]yNdX[[[
EY@NE]JN
EYNKBCBA_CG@_
ey[[[N[[[M[[[
EY_NO]YBG
ey[[[O[[[
eY[[[o[[[
'e_[[[Y[[[O[[[
eY[[[O[[[
ey[[[O[[[A[[[
EYOHGKZX
eY[[[O[[[L[[[
ey[[[O[[[M[[[
EYONCXDSHS[Y
EYO[[]PY
EY[OZB_HDS
eY[[[p[[[
e@[[[Y[[[P[[[
eY[[[P[[[
E@YPFDXS_HAJSX[[MQ
eypgppepq
eYpgppepq
E[Y[PHBLM[
E@@@@@@@@yp@J
ey[[[P[[[T[[[
e_[[[Y[[[P[[[TZ
ey[[[p[[[w[[[
ey[[[P[[[W[[[
e[[[[y[[[q[[[
ey[[[q[[[
ey[[[Q[[[
eY[[[q[[[
eY[[[Q[[[
[EYQ_BN_
]E@YQE@GYZKGY[KGSQMFGLNHS
E[]YQGD_
ey[[[Q[[[J[[[ T
ey[[[q[[[p[[[#
ey[[[q[[[t[[[
eY[[[q[[[u[[[
eY[[[Q[[[U[[[
EYQ]Y_NJ
e|yQyyyy
ey[[[R[[[
eY[[[r[[[
eY[[[R[[[
E_YREYF[]T
eY[[[r[[[p[[[
eY[[[R[[[P[[[m
ey[[[R[[[Q[[[
eY[[[R[[[U[[[
ey[[[|[[[s[[[
ey[[[][[[S[[[
ey[[[S[[[
eY[[[_[[[S[[[
eY[[[S[[[
EYSBEJAZ
_EYSBQFOC
eY[[[S[[[J[[[
eY[[[s[[[o[[[Y
ey[[[S[[[P[[[
eY[[[|[[[s[[[R#
ey[[[S[[[V[[[
ey[[[s[[[w[[[)"Wdz[[[r[[[q[[[
E[YSZMXGG
ey[[[@[[[t[[[
ey[[[t[[[
ey[[[][[[T[[[
eY[[[T[[[
eY[[[t[[[h[[[
eY[[[t[[[i[[[
eY[[[T[[[I[[[
ey[[[t[[[k[[[#
ey[[[T[[[M[[[
ey[[[T[[[O[[[
ey[[[u[[[
eY[[[u[[[
eY[[[U[[[
EyUHd@HYVs
ey[[[u[[[j[[[
eY[[[u[[[j[[[
ey[[[u[[[l[[[
EyULZ7XTLCdJQ
ey[[[u[[[m[[[
EyUsORSS9
eY[[[u[[[t[[[
eY[[[u[[[t[[[B
EyU@W]WE
eY[[[v[[[
eY[[[][[[V[[[
eYvAAAAAA@AAAAAC
eY[[[V[[[F[[[
ey[[[v[[[o[[[
[ey[[[v[[[u[[[
ey[[[v[[[u[[[
ey[[[V[[[U[[[
eY[[[v[[[u[[[
e_[[[Y[[[V[[[UR
ey[[[w[[[
e@[[[Y[[[W[[[
eY[[[W[[[
eY[[[w[[[j[[[e
ey[[[W[[[U[[[
ey[[[W[[[U[[[)"WdT[[[V[[[
ey[[[w[[[v[[[
ey[[[W[[[V[[[
ey[[[][[[W[[[XX
;e_[[[y[[[x[[[
ey[[[x[[[
e_[[[Y[[[x[[[
eY[[[x[[[
eY[[[x[[[|[[[
EYxCEYx_EYx[EYxHEYxDUD
e?YXdlayd
eY[[[X[[[@[[[F
eY[[[X[[[F[[[F
eY[[[X[[[i[[[F
eY[[[X[[[k[[[
eY[[[X[[[K[[[
eY[[[X[[[l[[[
eY[[[X[[[M[[[F
E_YXNLGJZ
eY[[[X[[[P[[[
E]yxpyDW
eY[[[X[[[q[[[
EYXQGOF@KQX
eY[[[X[[[R[[[
?eY[[[x[[[r[[[dWUdY[[[
Eyxrx9.:07V
EyxSi|EW
)Eyxty-H:5.;"4*.
eY[[[X[[[U[[[
EyxuyU6)
eY[[[X[[[V[[[
eY[[[X[[[W[[[
eY[[[X[[[w[[[F
E@[YX]XGKGA
Eyx|y3144yxqyWV
EYxYEYxUEYxQEYUK
EY]XYPJKA
EYXZ_LGOPYPNA]P
!EyxZy?x
ey[[[y[[[
Eyy2Eyy?Eyy
eyy9zyyvQL
EYY_][AXZ
ey[[[Y[[[B[[[
eY[[[Y[[[b[[[F
eY[[[Y[[[c[[[F
eyy|dyyadyyKdyy:dyy*dyy
Eyy|Dyy)Dyy
eyyedyyIdyyIdyyyyyyIyyy
eyyEoyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yy
Eyy	Eyy)Eyy*EyyyDyyiDyy
eyyfdyy?dyy
EyyfEyyAEyy(Eyy
eY[[[Y[[[g[[[F
eY[[[Y[[[G[[[Y
EyyhDyyy4yy
E@YYHZZHMN@EEEZ
e_[YYIIICC
e|yyiyyyyyyyyyyyyyyyyyyyyyy
eyy]iyyyyyyyyyyyyyyyyyyyyyyYeyySeyy9eyy'eyy
eyyjdyy_dyyNdyy)dyy
eY[[[Y[[[j[[[F
eyykdyyRdyy
eY[[[Y[[[l[[[
eyyldyyAdyy.dyy
eyyldyyIdyy6dyy
eyyl]yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
eY[[[Y[[[m[[[
eyymdyyQdyy9dyy!dyy	dyy
eyyodyy1[yywZyy
eyyodyy@dyy'dyy
eY[[[Y[[[o[[[F
eyypdyyGdyy
EyypDyygDyyLDyy?Dyy!Dyy
eyypeyyweyyLeyyCeyyFeyy
eyyqdyyMdyy
eyyQfyyEfyy
eyyrdyymdyyddyyRdyyMdyy8dyy4dyy dyy
eY[[[y[[[s[[[B
EyysDyy3Dyy
eY[[[y[[[t[[[
eyytdyy[dyyNdyy3dyy'dyy
eY[[[Y[[[u[[[
EyyuDyy_DyyFDyy.Dyy	Dyy
eyyUMyy|y
ey[[[Y[[[W[[[2
eyywdyyodyygdyy_dyyWdyyEdyy8dyy dyy
eyywdyyQdyy;dyy4dyy!dyy
EyywDyyXDyyMDyy2Dyy
eyyxdyyodyySdyy?dyy
EYY]XGQPAH@EN_][C_PX[
eY[[[y[[[x[[[x3HdJ[[[
eyyxyyy1yryuyu
eyyxyyy|y|
eyyxyyyyyyy
EyyyDyy]Dyy9Dyy
eyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
eyyyiyyy
eyyYiyyyyyyyyyyyyyyyyyyyyyyeeyyyyyy
E_YYYQYOXQ
Eyyyxyyy
Eyyy)yyMyyyvI
	Eyyyyyy
!Eyyyyyy
@Eyyyyyy
EyyyyyyA:yyyyyyA:
eyyyyyyOmyy?myyyyyyyyyyyyyyomyy
eyyyyyyQyyy)yyy
eyyyyyyy
Eyyyyyyy9
eyyyyyyyq
eyyyyyyyu
e|yyyyyyyyy
Eyyyyyyyyyy
EyyyyyyyyyyCGyy
eyyyyyyyyyy'H
e|yyyyyyyyyyyyy
Eyyyyyyyyyyyyyy
Eyy)yyyyyyyyyyyyyyyyyyyyyyyyyyyy
Eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Eyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
EyyzDyyeDyyNDyy7Dyy
eyyzdyyHdyy
eyyzdyyLdyy
EYYZYSA_D
eyyz]yyz]yy
E]_YYZZDM
ey[[[z[[[
eY[[[z[[[
eY[[[Z[[[
eY[[[Z[[[b[[[
eY[[[Z[[[c[[[
EYZC@OEK
EYZH@HA[
eY[[[Z[[[n[[[
eY[[[Z[[[n[[[F
E]YZSMQKZ
eY[[[Z[[[t[[[F
eyzYEHZAzJ[LLG
e[[[[z[[[
e][[[z[[[
e_[[[z[[[
ez[[[	[[[
ez[[[![[[
ez[[[#[[[
ez[[['[[[
ez[[[([[[
ez[[[([[[.[[[
ez[[[)[[[
ez[[[;[[[
ez[[[@[[[
ez[[[][[[
	eZ[[[|[[[
e@[[[Z[[[;[[[
e][[[Z[[["[[['
e][[[Z[[['[[['
e_[[[Z[[[
e_[[[Z[[[([[[
eZ[[[	[[[
eZ[[[ [[[
eZ[[[![[[
eZ[[["[[[
eZ[[[#[[[
eZ[[['[[[
eZ[[[([[[
eZ[[[)[[[
eZ[[[*[[[
eZ[[[-[[[
eZ[[[.[[[
eZ[[[:[[[
eZ[[[;[[[
eZ[[[;[[[:[[[
eZ[[[?[[[
eZ[[[@[[[
eZ[[[][[[
eZ[[[|[[[
eZ[[[0[[[
eZ[[[:[[[?[[[0e
eZ[[[1[[[
eZ[[[2[[[
ez[[[2[[[5[[[E
eZ[[[3[[[
ez[[[3[[[1[[[
eZ[[[3[[[2[[[
eZ[[[4[[[
eZ[[[4[[[*[[[
ez[[[5[[[
eZ[[[5[[[
eZ[[[5[[[4[[[
eZ[[[6[[[
ez[[[7[[[
eZ[[[7[[[
EZ7-3?ZAHJEZ!
ez[[[7[[[5[[[
ez[[[;[[[8[[[ @
ez[[[8[[[
eZ[[[8[[[
eZ[[[8[[[?[[[
ez[[[9[[[
eZ[[[9[[[
eZ[[[9[[[?[[[
eZ[[[9[[[8[[[
eZ[[[9[[[8[[[0UOd][[[
ez[[[a[[[
ez[[[A[[[
eZ[[[a[[[
e_[[[Z[[[A[[[
eZ[[[A[[[
E@ZAABLDSZJGZBQHY
)))EZABED
EZA]BXSLGEPBDEMSNM[LZ
e@Z]aFZ]ZhJ]@_@]P
ez[[[a[[[g[[[	
eZ[[[A[[[G[[[
EZAH@BPNZF
EZ]]AJPMYJPJZQ
e)))ZALL]
ez[[[A[[[p[[[
EZA]QO[ZN
E[ZAXSGOFZXGXFCNB
ez[[[A[[[z[[[C
EZAZXDC@J]
ez[[[b[[[
ez[[[B[[[
)#eZ[[[b[[[
eZ[[[b[[[
eZ[[[B[[[
eZ[[[B[[[@[[[
ez[[[B[[[A[[[
E@@@@@z@@B@ACac
EZBBNNSY
ez[[[B[[[D[[[
EZBDPBGLN[
ez[[[b[[[e[[[
EZB@KBNL
EZBK[KHH
EZ]BM]E@Z
E_ZBPNCNJX
[EZBQHNKYXD
ez[[[B[[[v[[[!V
EZBYPMQBD]YP
EZ@B]ZGM
ez[[[c[[[
eZ[[[c[[[
eZ[[[c[[[	[[[
@eZ[[[C[[[
e_[[[Z[[[C[[[
eZ[[[C[[[
ez[[[C[[[A[[[
eZ[[[C[[[A[[[
eZ[[[c[[[a[[[VhEd[[[[
ez[[[c[[[f[[[
EZCFGAZC
ez[[[c[[[g[[[ 
eZ[[[c[[[g[[[
EZCLQ[SKQDCBAN
EZCLZAYKABQKQZLL[C
EZCMBG]XPP[
ez[[[C[[[u[[[
EZCXHPNZC
EZC]YY]XXM]]
ez[[[d[[[
ez[[[D[[[
?eZ[[[d[[[
eZ[[[d[[[
eZ[[[D[[[
EzDcDED2D
EZDC__FHDEBHPHSC]YYH@CPZ
EZDDSJHN
EZdE[[[u[[[c[[[
@e).ZdFN
EZD[HGF_X
E]Z@DJOHMN
eZ(]dnf]fv
[[[E|ZdO[[[
E@Z]DPHYYZ
EZ@DPM_O_CLGPK
E@Z]DPZ@]L
EzDqDuDiDHD"D
EZDSHB]L]AC
E[Zdy[[[
EZD_ZELD
ez[[[e[[[
eZ[[[e[[[
eZ[[[E[[[
?E@ZE9@WD@[BWBY
EzEAAAA@AAAAAC
EZECMDLL
eZ[[[E[[[D[[[
eZ[[[e[[[d[[[3l
E@ZE_EXE@_E@TE@WE@VZD
ezellllllllmllllOllylm?
ez[[[E[[[q[[[
ez[[[f[[[
ez[[[F[[[
eZ[[[f[[[
eZ[[[F[[[
EZ]FAKOSZ[
;ez[[[F[[[b[[[
e||zf||cf||8f||
E@ZFEHJALGFGJL[H[FDH
EZFKLMQCBQZEZFSQBZ
eZFyyyyyyyy
ez[[[g[[[
ez[[[G[[[
	eZ[[[g[[[
#eZ[[[g[[[
?eZ[[[g[[[
eZ[[[g[[[
e_[[[Z[[[G[[[
eZ[[[G[[[
EZg!agfGX
ezgaogfG
EZGCDNSASP
ezgey@YL))
EzgfG]h9
eZ[[[g[[[f[[[i
eZG_G*e0e
EZGL]LCDN]B
e[zgqggm88
EZGSAGOKL
EZGSBBCYOM]
EZGXDGGGQ
E_Z_GX]GJOZSPX
EZ_G_YACQ
ez[[[h[[[
ez[[[H[[[
eZ[[[h[[[
e)))Z]H[]
eZ[[[H[[[
)))E@Z]H
)))EZH@G]
e@Z]hJ]@_@]P
E@ZH[KFMFJGHK
e)))ZH_L]FO@EL
ez[[[h[[[m[[[
eZ[[[h[[[m[[[
ezHmd[?jd[c
EZHMLJ[PY]F[
eZ[[[H[[[N[[[ 
ezhpgppepq
EZHZLJ[L]
EZHZQLZC
:)))EZHZZ
eZHZZPzH_Lj[LMLG]@HEZ
ez[[[i[[[
ez[[[I[[[
|eZ[[[i[[[
eZ[[[i[[[
eZ[[[I[[[
eZ[[[i[[[b[[[_7EdE[[[h[[[l[[[ 
ez[[[I[[[H[[[
eZ[[[I[[[H[[[
EZ]I]]J]]K]]L]ZFDW
ez[[[I[[[L[[[Cr
|ez[[[i[[[m[[[
ezIP 7  
eZ[[[I[[[z[[[
EZIZxx]Y]]
ez[[[j[[[
ez[[[J[[[
eZ[[[j[[[
eZ[[[J[[[
e)))ZJA]HZBZ
EZJ[AZPND
E_ZJCHEDG
eZ[[[J[[[H[[[g_DdS[[[I[[[
EZJHXZSQ]H
EZ]JH]ZJHG
EZJ]QLLMK
E)))ZJ[@Y]@GN
ez[[[k[[[
ez[[[K[[[
]eZ[[[k[[[
eZ[[[k[[[
eZ[[[K[[[
E_[[[Z[[[K[[[
eZ[[[K[[[B[[[d
EZKDY]XLXA
EZ_KE]BB
EZKEFJBZ][LHD
eZ[[[K[[[I[[[
eZ[[[K[[[I[[[2
ez[[[k[[[j[[[
eZ[[[k[[[j[[[
ez[[[k[[[j[[[c
EZKJKDMQGEFPKPKZH_MQGPE
E]ZKKPKJNKAAS
ez[[[k[[[l[[[
eZ[[[k[[[n[[[
ez[[[k[[[o[[[
eZ[[[K[[[O[[[p7UdM[[[J[[[I[[[
_EZKv[LELHZL
@ez[[[l[[[
ez[[[l[[[
 ez[[[L[[[
*ez[[[L[[[
|eZ[[[l[[[
eZ[[[l[[[
 eZ[[[L[[[
;eZ[[[L[[[
eZ[[[L[[[
eZ[[[l[[[b[[[
eZ[[[L[[[B[[[
eZ[[[L[[[C[[[R
eZ_le[d	d
ez[[[L[[[G[[[
E@Z]LG))
E@Z]LGL[
E@Z]LGL[@Y
E@Z]LGL[YF[]
E@Z]LGL[Z
E@Z]LGvY@M
e)))Z][LHD
e@Z]Lh[]@JELZhJ]@_@]P
EZllllllllmllllOllylm
EZllllllllmlll]Y]]
EZLMG_JNZPQQ
]EZLOQY@]YA
ez[[[m[[[
ez[[[M[[[	[[[
e_[[[Z[[[m[[[*
eZ[[[m[[[
eZ[[[M[[[
ez[[[m[[[a[[[
ez[[[m[[[a[[[Vw
ez[[[m[[[b[[[
eZ[[[m[[[c[[[
eZ[[[M[[[C[[[8[DdW[[[
eZ[[[M[[[C[[[t
EZ_MDMPE
EZ]MDNE_J
ez[[[m[[[f[[[
ez[[[_[[[M[[[L
eZ[[[M[[[L[[[d
EZMMHY[AHD
EZ]MN_ZOH
EZMZFJACSKODPLCXACZGYLX
 ez[[[N[[[
ez[[[N[[[
eZ[[[n[[[
[eZ[[[N[[[
eZ[[[N[[[
eZ[[[N[[[C[[[2
eZ[[[N[[[C[[[7
ez[[[n[[[d[[[
eZ[[[N[[[G[[[
:eZ[[[n[[[l[[[N
EZNOLYNJ
ez[[[o[[[
eZ[[[o[[[
	eZ[[[O[[[
eZ[[[O[[[
EZOA]BHZ
ezo|dW.wd
ez[[[o[[[e[[[
ez[[[O[[[E[[[mP
;eZ[[[O[[[F[[[
ez[[[o[[[g[[[
EZOHLGQH]YFDHZNSYY@]
eZ[[[o[[[l[[[
@EZOLP@MABHZC
EZ[@OXCQDZMKGKYJ
E@ZOYGXDLMDDC[DL
E[Z[[OYP
e@[[[z[[[p[[[
ez[[[p[[[
ez[[[P[[[
eZ[[[p[[[
eZ[[[P[[[
EZPBD_PXHJMY
ez[[[P[[[E[[[r
ezpgppepq
EZpgppepq
e'!zpgppepqfwb
eZ[[[P[[[H[[[
EZPHCACCO_
@EzPIpgppepq
ez[[[P[[[M[[[
E_ZPMGAKSP@
ez[[[P[[[O[[[
EZPQG_CABNG
ez[[[p[[[t[[[
eZ[[[p[[[t[[[2
eZ[[[p[[[u[[[
ez[[[p[[[w[[[
eZ[[[P[[[W[[[
ez[[[p[[[w[[[f
eZ[[[p[[[w[[[P
E[ZPXAZMFA
eZ[[[q[[[
eZ[[[Q[[[
EZQCZ_JY
eZ[[[Q[[[D[[[
EZQDNGANZA
_E_ZQG[CY
ez[[[Q[[[H[[[
ez[[[q[[[j[[[s
EZQKJPSL
[@EZQMBFYCAG
EZ]QN]NNG
ez[[[Q[[[P[[[K
eZqsdcced
E@ZQs[RSS9
EZQS_ZSXA
ez[[[Q[[[T[[[
ez[[[q[[[u[[[
eZ[[[Q[[[W[[[
EZQZQ]CNN
ez[[[R[[[
eZ[[[r[[[
eZ[[[R[[[
eZ[[[_[[[R[[[2
Ezr'g1qgfG)
ez[[[r[[[i[[[?|
eZ[[[r[[[p[[[
eZ[[[R[[[P[[[
ez[[[R[[[P[[[h
EzRpS4.;
ez[[[r[[[u[[[(h
ez[[[R[[[W[[[bvUdA[[[
eZ[[[|[[[r[[[?YDdy[[[
E@Z]rZPZ]LD
*ez[[[s[[[
ez[[[|[[[s[[[
ez[[[s[[[
ez[[[_[[[S[[[
ez[[[S[[[
eZ[[[s[[[
eZ[[[][[[S[[[
eZ[[[S[[[
ez[[[_[[[s[[[J
ez[[[S[[[K[[[ej
E[ZSOJPAD
EZSOSLZ_[PX
ez[[[s[[[p[[[
eZ[[[S[[[P[[[
eZ[[[s[[[r[[[
ez[[[_[[[t[[[
ez[[[t[[[
ez[[[T[[[
eZ[[[t[[[
eZ[[[T[[[
eZ[[[_[[[T[[[2
ez[[[T[[[H[[[
eZ[[[t[[[j[[[
eZ[[[T[[[J[[[
ez[[[t[[[m[[[
ez[[[T[[[s[[[
ez[[[T[[[y[[[S
 ez[[[u[[[
ez[[[u[[[
ez[[[U[[[
.eZ[[[u[[[
eZ[[[u[[[
eZ[[[U[[[
ez[[[u[[[a[[[
[[[EZUdV[[[
ez[[[U[[[H[[[
eZ[[[U[[[I[[[2
eZ[[[u[[[t[[[
 ez[[[v[[[
e][[[z[[[v[[[
ez[[[v[[[
ez[[[V[[[
eZ[[[v[[[
eZ[[[V[[[
eZ[[[v[[[j[[[
ez[[[V[[[T[[[
ez[[[V[[[U[[[ti
:)))E@Z]vY[FJJLZJALJB
ez[[[|[[[w[[[
ez[[[w[[[
ez[[[W[[[
eZ[[[w[[[
eZ[[[W[[[
eZ[[[w[[[h[[[lm5dB[[[v[[[u[[[
ez[[[w[[[i[[[iu
eZ[[[W[[[K[[[y
eZ[[[W[[[M[[[
eZ[[[W[[[T[[[
ez[[[X[[[
eZ[[[x[[[
e[[[[z[[[x[[[4
[E]ZXEMOY
E]Z][XEOHLYG_F
ezXgmeggG
ez[[[X[[[i[[[
eZ[[[X[[[J[[[2
EZ@XNBAHZJ
eZ[[[X[[[O[[[2
eZ[[[X[[[R[[[2
ez[[[X[[[t[[[i
eZ[[[X[[[U[[[
eZ[[[X[[[W[[[2
][E[__Z]XY[
eZx@@@@]Y]]D
e_[[[z[[[y[[[
e_[[[z[[[y[[[.
ez[[[Y[[[
 eZ[[[y[[[
eZ[[[y[[[
ez[[[Y[[[H[[[
ezyhdzyCdzy
EzyiDzySDzyDDzy-Dzy
EZ[YMYHM
EZYOCMJM
EZYO@ELE@Z]
ez[[[y[[[p[[[i
ez[[[Y[[[q[[[
ezysdzyTdzy.dzy
EZYXOZEXL_CS]
ezyy: B'
Ezyyxyyyjyj
ez[[[z[[[
	eZ[[[z[[[
eZ[[[z[[[
ez[[["[[[ [[[Zc
[E_ZZCJM
EZZJ_@HEEXL
eZ?ZkIkK]Qp]Z_Z
EZZK]NNCO
E_ZZMHJYQ[]NPOJ
[_EZZOPNDDZH]X
EZZQHPXQ
ez[[[z[[[s[[[*
EZZ[X]_C[DMQ
EZZXQSY_Q
EZZZCZCZ
EzzzQTNQQN
  f     -
))f))))(
))f)))))
[[[;[[[f
||||f|||||||
f@@@@@@@@@
f@[[[ [[[
f@[[[([[[
f@[[[([[[-[[[
f@[[[([[[.[[[
f@[[[?[[[
f@[[[_[[[][[[
f[[[[	[[[
f[[[[#[[[
f[[[[#[[[ [[[
f][[[ [[[
f][[[-[[[
f][[[_[[[
f][[[|[[[
f_[[[ [[[
f_[[[#[[["[[[
f_[[['[[[
f_[[[:[[[
f_[[[;[[[
f_[[[|[[[
f||||||||||||||
f||||||||||||||||||||||
!F||||||||
))F)))()
))F)))))
[[[![[[F
|||||?|F| |
||||||:F
|F| |||||||
F________@
F|||||||
:  f"    0
F0BdQ[[[
F0D8#ubD8c
F0dR[[[b[[[
F0dW[[[v[[[
f0f)d4w#dF)
F0gAkgfGJ
f0'gqggc)
F0gqggh|J
F0llllllllmllllOllylm
f0RemoveByReferenceIdW
F0S0h0o0B0
f0X:dMBxd
f]1dgfGV
f1egEdgfG-
F1(fSMllllllllmllllOllylm[
F1g9dgfG
*:f1ggfw
f1Kpgppepq
F1llllllllmllllOllylm
f_[[[?[[[2[[[
f_[[[2[[[
|||||?F 2
f_[[[2[[[0[[[Y
f*2)dkDnd
F2ECEQFHE
F[[[2eNdP[[[
f2gAggVuD
F2gCkgfG
f2g)kgfG
F2gqgg	FA
F'2gqggZ
:f2gQkgfG8_
F2;llllllllmllllOllylm
F2llllllllmllllOllylm
F2NdX[[[
f2pgppepq
F2;rxoy1
f][[[;[[[3[[[
f][[[3[[[2[[[
F3E2E:E3E3E
f]3!FiD"
f 3g'egfG
f'3g?egfG6
F3g'fgfGr9
F3KdA[[[
F3llllllllmllllOllylm
f3pgppepq	-
"f3zllllllllmllllOllylm
?|F| |||4
f40(dngYd
F@@425 3aaA
F*45g#gg
F*45g'gg
F*45g_gg
F*45g_ggf
F*45g'ggs
F*45g_ggz
F*45gHgg
F*45gHgg!
F*45gHgg'
F*45gIgg
F*45gIggd
F*45gIgge
F*45gIggNG
F*45gJgg
F*45gJgg!
F*45gJggK
F*45gJggmY
F*45gJggo
F*45gJggO
	F*45gJggp
F*45gKgg
F*45gKgg7
F*45gKggm
F*45gLgg0L
F*45gQggl
F*45gQggQ
F*45gRgg
F*45gRgg6
F*45gSgg
F*45gSgg' 
F*45gSggF
F*45gSggM
F*45gSggN
F*45gSggO
F*45gSggQ@
F*45gSggX
F*45gUgg
F*45gUgg1
F*45gUggZ
F*45gVgg
F*45gVgge
F*45gWgg
F*45gWgg'
F*45gWgg;?
F*45gWggHd
	F*45gWggo0p
F*45gYgg
F*45gZgg
F*45gZgg(
F*45gZgg2X
F47F- *47888M6(
F4@@@@B@A@pp@L
f4CCNCCCBACC
F*)4(dQb?vg
F4F"G5E4E4E
F 4g?agfG
F4gekgfG
F[[[	4]gX[[[
F'4hg'dgfG
f4llllllllmllllOllylm
F4zj[p2#
f][[[5[[[4[[[
'f55"doi
f5E'd1?#g
F5fllllllllmllllOllylm
 f5 ggcgfG
f5ogqggS
f5r8d;	7dX6
F5sggwQy
-f5x[g3dgfG
F5Zpgppepq
f_[[[6[[[*[[[
f[[[[6[[[4[[[
f@[[[6[[[5[[[
f66gqgg'
F6AAAAAA@AAAAAC
F6?AA@@i!GW
f6DgqggBg
	f6#EN(c
F6fF[[[3[[[1[[[
F6fM[[[)[[[([[[(
F6fU[[[Z[[[
f6g6h6i6j6k6l6m6n6o6;
f6llllllllmllllOllylm
f||||||||||||||||||||||||||6O
[f6pgppepq
f6pgppepq
f70!4UUOUU]6
f@[[[7[[[5[[[
f[[[[7[[[6[[[
F"7gQfgfG
F7gWngfG:
f[[[	7hfW[[[
F@:7hgfG
F7LggdgfG
f7llllllllmllllOllylm;
F7llllllllmllllOllylm4
F7llllllllmlll]Y]]
)f7[_pgppepq
f7pgppepqf7
f[[[[:[[[8[[[
f[[[[8[[[
f][[[8[[[
|	|||||?F 8
|	|||||||||?F 8
||||?|F| |8|
|||||?F 8
|||||||?|F| |8|
|||||||?F 8
|||||||||?F 8
|||||||||||||?F 8
|||||||||||||||?F 8
F80**********
F 8C rgA
f*8	dg)mek
F8hHRSSPs
F8ipgppepq
[[[F8Ld_[[[d[[[
F8lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
?||f8||t'||X8||08||l'||(8||
f90t#f9p
f[[[[9[[[8[[[
F98g-agfG
F9BaVUQC
f9gmdgfGq
F9jbgAgg
F#9llllllllmllllOllylm
f9_ t)H9_
f9)u4H9j
f[[[[-[[[ [[[a
f@@@@@@A@@
f@[[[A[[[
fA[[[	[[[
fA[[[#[[["[[[
fA[[[)[[[
fA[[[)[[[-[[[
fA[[[*[[[
fA[[[-[[[
fA[[[.[[[
fA[[[:[[[
fA[[[;[[[
fA[[[@[[[
fA[[[_[[[
fA[[[|[[[
F@@@@@@A
F@@@@@@A@
fA[[[*[[[.[[[0
fA[[[0[[[
fA[[[1[[[
fA[[[2[[[
"fA[[[3[[[
fA[[[4[[[*[[[
fA[[[4[[[*[[[0
fA[[[5[[[
fa7;d	TIew'
fA;7tGfA;
fA;7urI;
fA97t?fA9
fA9	trfA
fA[[[a[[[
fA[[[A[[[
fA[[[A[[[@[[[
F@@@@@@AA
fAAAAAA@AAAAAC
fAAAAAA@AAAAAC3#
FAAAA@AAAAAC
'fAAAA@AAAAACA?
'fAAAA@AAAAACN
F.AAAAAAAAeqAL
|FAAAAAAaAi!aWs
F.AAAAAAAAKPAN
F.AAAAAAAA qAAAAAAAAAACAAAmqAQ
FAAAAAAAAxqAMR
F.AAAAAAAAZqtM
FAAAA@AAACA@A
fAAAAA@CADqAE
FAAAACA@A3!AEM
F.AAAACAAAIqAM
F.AAAACAAAIqAt
fAAAACAaAIqAW
fAAAACA@AaqAL
F.AAAAC]AAIqA
F.AAAAC@AAIqAE
FAAAACABA3!A]F
fAAAAC]@AIqAYAAAAAAAA
fAAAACCAAIqAAAAAAAAAAAAAAGqAAAAAAAAAACCAAKqAAAAAAAAAAA@AADqAStDZ
fAAAACCAAIqAAAAAAAAAAAAAAGqAAAAAAAAAACCAAKqAAAAAAAAAAAQAABqA
fAAAACCAAIqAAAAAAAAAAAAAAGqAAAAAAAAAACCAAKqAAAAAAAAAAAQCABqA
fAAAAC@CADqAEgO
fAAAAC@C@DqAE1
F.AAAACQAAIqA
fAAAACQBCIqA
fAAAACQ@@IqA
fAAAACY@AIqA
F.AAAAQAAAlq
F.AAAAQAAAmq
faaaa]Y]]
@@F@AAac
@@F@AAacoo
|FAA@Ai!IX
f@AAAZqOM
F[AABDCH_OACLKC[P
@@F@A@ac
@@@@@f@@A@ACac
@f@@A@ADac
@@@@@f@@A@AFac
FAAZEZ[]B
faazvI@aagITaakmiITaakIDaagGfI
fA[[[B[[[
fA[[[B[[[q[[[U
fA[[[B[[[w[[[
FABXX]PKGP
fA[[[c[[[
fA[[[C[[[
@:@@F@ACac
@;@@F@ACac
@@@@@;@@F@ACac
@@@@@?@@F@ACac
@@F@ACac
F@'@ACac
fA[[[c[[[b[[[ 
FACB[CN]A
FACd[[[[
FacilitiesWW
Facility
F[A[C]LYO
FactoryW 
Factory which creates instance of various types of objects used by CMI	
fA[[[d[[[
@@F@ADac
[[[Fadf[[[[
FadfH[[[
Fadf_[[[J[[[
FadfK[[[
[[[FadfO[[[
FadfO[[[G[[[
)[[[FadfX[[[
fadgfGB)
faDggegfG
[F]ADiOAEKZO
fado'4'feeUU@UU
FA@DP]_PGZ]F
f[[[adreX[[[
fA[[[D[[[z[[[
fA[[[E[[[
fae7go'4'feeUUBUU
fAeA[[[7[[[
@?@@F@AEac
@@@@@;@@F@AEac
@@F@AEac
F@*@AEac
F@-@AEac
FAEdS[[[b[[[
FAEKCA[_LZJ
fAeM[[[w[[[h[[[
faeo'4'feeUU@UU
fAez[[[m[[[
fA[[[F[[[
@:@@F@AFac
@@@@@:@@F@AFac
F@-@AFac
F)))AFDL
fA[[[f[[[e[[[
FAF]NO_SJ]]@HEZ
FAFQ@@GCBNQ[YBEAQ
fA[[[F[[[x[[[
)fA[[[g[[[
_FAGA_KHXM
F[AGFAP]ACXZ
f||ag||Fg||
fag	ggfGO
FAGJKPEX[L]
fago'4'feeUU@UUN
FAGPQXA[X
fAgqggZ1
]FAGSDX[AOD
fA[[[H[[[
@||fA||HA||-A||
.)))FAH[D
F@@@@@@A@h DN
f"@@A@h IOa
fA[[[h[[[m[[[
f@@A@h MN
FAHPCH[JZ
"f@@A@hpHH
f@@A@h ST
fA[[[I[[[
" failed
Failed at last attempt in reset card reconnect loop
failed decompress unpacker code
Failed NtEnumerateSystemEnvironmentValuesEx.
Failed to acquire context
Failed to acquire MAPIFreeBuffer function pointer
failed to add foreign functions to runtime
failed to allocate immediate buffer
Failed to allocate memory
Failed to allocate output buffer
Failed to alloc crypto lib
failed to apply BM deferred actions
Failed to attach device
Failed to attach device to domain
Failed to attach the exports
Failed to authenticate challenge
Failed to authenticate challenge (v6)
Failed to begin transaction
Failed to begin transaction.
Failed to bind value to prepared statement.
failed to burn signature
Failed to check cardapps
Failed to check cardcf
Failed to check cardid file
Failed to check cmapfile
Failed to check file
Failed to commit transaction.
Failed to compile cmdline exclusion regexp
Failed to compile cmdline regexp
Failed to compute hashes
Failed to connect to smart card
failed to convert FFI integer to JS number
Failed to convert from Unicode
failed to convert JS number to FFI integer
Failed to convert setting from JSON
failed to copy EP instruction series
Failed to create a model handle
Failed to create cardapps
Failed to create cardcf
Failed to create cardid
Failed to create cmapfile
Failed to create directory
failed to create exclusions context
Failed to create file
Failed to create folder: 
Failed to create model
Failed to create mscp directory
Failed to create offline storage mapping
Failed to create rolling queue. Request too large.
Failed to create rolling queue. Too many active queues.
Failed to create shared device
Failed to create sysio context
Failed to create the default normalization agent
Failed to create the process
Failed to deauthenticate (v6)
Failed to decode PT buffer
failed to decompress
Failed to delete context
Failed to detach device
Failed to detach device from domain
Failed to enable IOMMU for partition
Failed to end transaction
Failed to enumerate the exports
Failed to establish smart card context
Failed to fetch no row from prepared statement.
Failed to fetch row from prepared statement.
failed to fix code
failed to fix PE
Failed to format szValidTo
Failed to format the GUID string
Failed to format ValidFrom
Failed to free memory
Failed to generate offline storage filename
Failed to get (allocate) issuer
Failed to get (allocate) subject
Failed to get CardAcquireContext address
Failed to get card module name
Failed to get card names
Failed to get challenge
Failed to get challenge (v6)
Failed to get column from prepared statement.
Failed to get current operation PPID
Failed to get file info
Failed to get hstrlog entry count
Failed to get last results due to search failure
Failed to get offline storage size
Failed to get reader state
Failed to get the buffer pool configuration!
Failed to get the file size
Failed to get the OS buffer pool configuration!
Failed to get url reputation report.
Failed to grow Lua stack
Failed to insert in telemetry map
Failed to load any detection agents from configuration
Failed to load any normalizer agents from configuration
Failed to load card module
Failed to load crypto lib
Failed to load function
Failed to load includes
Failed to load library
failed to load model.
failed to load model for dynamic device: CPU.
Failed to load MpCommon lib
Failed to load RunID from registry
Failed to load sysio lib
Failed to load versioning lib
Failed to load Versioning lib
failed to make jump instruction
Failed to map device domain page
Failed to map the offline storage
Failed to modify VTL protections
failed to obtain PEB address
Failed to open offline storage
failed to open the target process for write access
Failed to prepare statement from cache.
failed to query memory region to be written
Failed to read chunk count
failed to read general control info
failed to read Loader Information
Failed to read namespace
Failed to read the header
Failed to reallocate memory
failed to rebuild import table
Failed to reconnect
Failed to register infovir callback
Failed to register receiver callback
failed to remove foreign functions from runtime
Failed to remove RunID from registry
Failed to report url to cloud.
Failed to reset and clear prepared statement bindings.
failed to restore OEP
Failed to start TDT agent
Failed to sum values for "
failed to unprotect the region to be written
Failed to validate card data
Failed to validate passwords for password change.
Failed to verify checksum
Failed to verify plugin
Failed to write file
FailFast
FailIfNotTrackable
faIllllllllmllllOllylm
Fail to schedule the chore!
FailType
failureCount
FailureDetails
failureId
FailureLogReport
FailureLogReport_Aggregate
FailureResolved
failures
failureSettingType
failure to initialise new VfsFileData tree with another
failureType
fA[[[j[[[
fA[[[J[[[
@||fA||JA||3A||
fA[[[j[[[i[[[
]FA]JSCC
[FAKGBZD
F@A_KHFB_PM
fA[[[K[[[J[[[
fA[[[K[[[N[[[
fA[[[l[[[
F]AL[DH@E
F]AL[EFHML[
]FALEYY[F
FallbackCultureW
Fallback disabled: Will not use CPU if failure on non-CPU device
Fallback enabled: Irrelevant as compute device is already CPU
Fallback enabled: Will use CPU if failure on non-CPU device
FallbackError
FallbackLanguagesWWW
.fallback_to_cpu
: falling back to using CPU; 
; falling back to using CPU
fallllllllmllllOllylm
FALLQKAYL
F@@@@@@A@lpgE
!)*]FALQZ][@GN
FalsePositive
FALXOX]J
f)))]A[LZYHZZ
fA[[[m[[[
fA[[[M[[[@[[[
Fa.mgelgfG
FAMON]DQXASMN
fA[[[n[[[
?fA[[[N[[[
fA[[[N[[[
@@@@@FA@N@ACac
fA[[[N[[[B[[[
FANBXZ[HKG
fA[[[N[[[F[[[
FANMG@GQ
FANP]L]H
FANY_HLMSMYC
fA[[[o[[[
Fa(O5gsfgfG	
fA[[[o[[[c[[[
FAONCOSKBZ
FAOOJEK]
fA[[[p[[[
fA[[[P[[[
fA[[[p[[[c[[[ffAdA[[[w[[[l[[[
fapgppepq
Fapgppepq
Fapi-ms-win-shell-shellfolders-l1-1-0.dll
f)))APM[HELHMZ
F@@@@ap@MqZ3
_FAPN[G]
?fA[[[q[[[
fA[[[q[[[
#fA[[[Q[[[
fA[[[Q[[[
F]AQBYYOJXQDF
f@@@@@@@@AQ@d
fAqllllllllmllllOllylm
FAQQGGMY
_FAQYHBODG
FA[QYPZF]OL
fA[[[r[[[
|fA[[[R[[[
fA[[[R[[[
FAR_BRANCH
FARSSSSS
fA[[[R[[[T[[[
fA[[[s[[[
fA[[[S[[[
F@(A@S@ADac
FasdUAS 
]FASEPAXQ[
fA[[[S[[[N[[[
__fastcall
fastpath
FastpathConfig
fA[[[t[[[
?FatalError@SC@mmcerror@@QEBAXXZ
fA;(t(fA98t
fA[[[u[[[
FaultRecord[0]
FaultRecord[1]
fA[[[U[[[T[[[
fA[[[v[[[
fA[[[V[[[
fA[[[V[[[J[[[
Favorites
favoriteSettings
fA[[[v[[[u[[[U
fA[[[w[[[
fA[[[w[[[k[[[
fA[[[W[[[z[[[mBLd[[[[V[[[L[[[
fA[[[x[[[
FAX[FQYQ
FAXM@XJS
fA[[[y[[[
f)))A]]Y
fA[[[;[[[:[[[Y
Fa@@@@]Y]]
FAYAFGLQv
FAYGPNJNZN
fAYRAAAA@AAAAAC
FAYX_OEN@
.)))FAYYJ
#f)A]]YZ
fA[[[z[[[
F )aZ8	8Z qu.
.)))FAZA
FAZC]@EP_
FA@Z]F[P
FA@Z]F[PA@Z]F[P
[)))F@AZNOQ
FAZQZ@_]
FAZ]SMYBEBJJB
@FAZZDK[PM
f[[[[b[[[
f][[[b[[[
f@@@@@@B@@
f[[[[B[[[
fB[[[	[[[
fB[[[![[['[[[
fB[[["[[[
fB[[[([[[-[[[
fB[[[*[[[
fB[[[.[[[
fB[[[:[[[
fB[[[][[[
F@@@@@@B@
fB[[[1[[[
)fB[[[1[[[0[[[)
fB[[[2[[[
Fb2llllllllmllllOllylm6y
fB[[[4[[[
fB[[[8[[[
fB94BtZA
fB94ht	H
f][[[b[[[a[[['
f@@@@B@A@@
F@@@@B@A@
	FB@A@2 @
F@@@@B@A@2 @c
f"B@A@2 @E
fB@A@2 @F?
f"B@A@2 @I#
FB@A@2 @J
"F.@@@@B@A@2 @L
fB@A@2 @m
f"B@A@2 @M
F@@@@B@A@2 @S
F@@@@B@A@2 @Y
fBAAAAAA@AAAAACV
F@@@@BAB@
@@F@B@ac
Fbad cast
FBadColumnSet
FBadColumnSetIdl
FBadEntryList
FBadEntryListIdl
FBadProp
FBadPropIdl
FBadPropIdlWd
FBadPropTag
FBadPropTagIdl
FBadRestriction
FBadRestrictionIdl
FBadRestrictionIdlWWd
FBadRglpszW
FBadRglpszWIdl
FBadRglpszWIdlWW
FBadRowIdl
FBadRowIdlWW
FBadRowSet
FBadRowSetIdl
]FBadRowSetIdlWWW
FBadSortOrderSet
FBadSortOrderSetIdl
F@@@@B@A@Ep@fL]
FBAESHXKA_
fB[[[a[[[g[[[
F@@@@B@A@Hp@Hz
FBAJCL]PKPJ[@P
f@@@@B@A@Jp@B
F@@@@@BA@vpJ@@@@@
fB[[[b[[[
F@@@@B@B@
FBBA@Xp@@@@@@@@@@BBA@
fBBBBBBB
FBBBBBBB
FBBGKCPN]ESSNMDKY
FBBgkkgfG
[|F@@@@B@B@Hp@M
FBBJZ[FY]XY
F@@@@B@B@Np@OL3_
FBBOYDDFM]
@FB[@[BVYBCBF
@;@@F@BCac
@@F@BCac
fB[[[c[[[b[[[i
fB[[[C[[[F[[[
f@@@@B@C@Hp@T
fB[[[D[[[
fBdJ[[[	
_FBDJZYPE
FBdN[[[-
fbdo'4'feeUU@UU
f@@@@@@B@dp@l
fbdzkPYHZZ
[[[*fbe_[[[
fB"e[[[[
fB[[[e[[[
fbe7a4o'4'feeUUMUU
fbe7d4o'4'feeUUMUUpB
fbe7do'4'feeUUBUU
fbe7fo'4'feeUUBUU
@@F@BEac
FBEAXDESK]MSHGY
fbeo'4'feeUU@UU
FbeO[[[f[[[
f][[[b[[[f[[[
fB[[[f[[[
f_[[[B[[[F[[[
fB[[[F[[[
@FBFB[ecBF@[xyUD9
@FBF@@BF@MBF
@FBF@GBGs
@FBFJ7BF2N
F_@B]F[JADFM
@FBFjcPSSPLC9
@FBFsSCSS
@FBFsS#SSd]BFsS
@FBFsSSSQ
@FBFTfQEyQBFsSQSSsSSS
@FBF@UBF@EBF@MBM@]MBM
@FBF@vBvI
@FBF@WBF@XTL
@FBF(WSSW@GBGL#
_FBFXA[]
FBFXZ]KY
fB[[[g[[[
fB g[agfG
FBGANX]X
f||bg||Cg||
fbgfwRyk
FBGLBS_A
FBGLKAFH
FbgqggEB
FBg;zgfGq
FB]HDFK@EL
FBHGQQQQZZ
F_BHPKJO
FBH[[[vv
?fB[[[I[[[
fB[[[I[[[
fBI(NSSW@JBJs
fB[[[j[[[
fB[[[J[[[
fB[[[J[[[A[[[U.meO[[[I[[[H[[[E
fB[[[j[[[b[[[
FBJGSG[M[XE
FBJJ_ZB]PM[_YXBH@QG
F@BJXQLJ
fB[[[K[[[
fB[[[k[[[h[[[
FB]KHEN[D
:fB[[[l[[[
fB[[[_[[[L[[[
fB[[[L[[[
FBlDDgYagfG
 fB[[[L[[[F[[[
)))]FBLG
]FBLG@DYL[ZFGH]@FGEL_LEt
]FBLGKHZLR
")))]FBLGOF[D
]FBLG]PYL
]FBLGvLGMYF@G]
;)))]FBLGvY[@_@ELNLZ
:)))]FBLGZ
;)))]FBLGZ
?)))]FBLGZ
fbLhIllllllllmllllOllylm
fb@llllllllmllllOllylm
Fb@#llllllllmllllOllylm
fBllllllllmllllOllylmT
fBllllllllmlll]Y]]M
fB[[[M[[[
]FBMMMMMMM
FBM@NO]Z]
FBM_YOOS_KS
FB]MYPNAS
F'b'ngfG
FBNKMPBL_M
fB[[[o[[[
@fBOB1B#B
FBOLXOYXND
:fB[[[p[[[
fB[[[P[[[
FBPHGYSLY
f@B@@.pJ@@@@@)E
F@BPQ[S_SLD[Q
fB[[[P[[[V[[[B
fB[[[p[[[v[[[P
fB[[[q[[[
fB[[[Q[[[
fB[[[Q[[[N[[[
F[BQYMX_D
FBQ]YS@APBQ]
FBQZQHQB
fB[[[|[[[r[[[
fB[[[][[[R[[[
fBrqgfG9
fB[[[S[[[C[[[
]FBSEAXQ_
FBSFPNXB
FbSSQE@_AKE
FbSSQEXWDgQEyPE
(fB[[[t[[[
fB[[[T[[[
fBtgfGH"
fB[[[T[[[I[[[
fB[[[T[[[r[[[
fB[[[u[[[
fB[[[V[[[
fBV(NSSWYUs
fB[[[V[[[T[[[m
FBvvvvvvv
fB[[[W[[[
@FBW@G[BG
fB[[[w[[[t[[[
FBXMSDMCE
FBYF@BFY
FBYGGSNEBXMGO@
_@FBYKZUwZ]YE@H[]
FByxtyUU
FbyyFnyyFfyyyyy
FBYYQPPMXS
Fbyyyyyyyyyyyyyyy
FBZAXQEE]SXZLDCL@HJK
FBZDFB[CS_][S
FBZ@JK_PH
fB[[[Z[[[K[[[
FbZXllllllllmllllOllylm
fB[[[z[[[y[[[5
FB@]ZYHJL
f[[[[c[[[
f_[[[c[[[
f_[[[C[[[
fC[[[	[[[
fC[[[![[[ [[[
fC[[["[[[
fC[[[#[[[
fC[[[*[[[([[[
fC[[[;[[[
fC[[[][[[
fC[[[|[[[
fC[[[4[[[
fC[[[9[[[
!fC[[[9[[[4[[[
fC9TA vtH
FCA@A3!AC
Fc@@@@@A@@AQ@T?
FC]AFDDXNG]JDKG_OQG
F_CAGBZ[]SXMK
FCA_[GXKL
FC[AXZM_DL
fC[[[b[[[
fC[[[b[[[a[[[
FCBdT[[[
F[[[CB"e[[[[
_FCBGKMM
f[[[[C[[[B[[[ qIdO[[[
FCB]XXCEYJLMDAMAS
fC[[[C[[[
@;@@F@CCac
@@F@CCac
:FcCCNCCCBACC
FCCHNAL]Y@
]FCCHOCANM_ZHA_M_CMH_N_ZHNJ_MNZCCZJ__JC_HZJ_CHJ_AHNJMAZHNAM
f]CCNCCCBACC
fCCNCCCBACC
FCCNCCCBACC
F]CCNCCCBACC0v]
fCCNCCCBACCw
?FCCNCCCBACCy;
fC[[[d[[[
F;Cd_[[[
F[[[*c[dC[[[
f!CdL[[[0[[[
F'CdU[[[
FC[_DX@ZX]ZY]CL
FCDZB[]B
fC[[[E[[[
[[[FC"eJ[[[
FCELYS@BJ
fceo'4'feeUU@UU
]FCEQOXPC
fC[[[E[[[z[[[
f	C(fA	n(
__FCF[A]O
fCFpgppepq
FCG[D[PM]
fCgfGElT
fcgfGPdC
FcgfG:wI_gqgg
fC[[[g[[[f[[[UuWdG[[[
f)-cgmcgfG
FCGNGDGPLAN
fCgQegfG
(fCgqgg?
"fCgqggb
FCgqggy-*
FCGXgwcgfG
fC[[[H[[[
fCHCE	@BI
fCHCE	@BIxf!
][FCHGJ@]@SLGZ
][FCHGML]LJ]LM
][FCHGv_KZv@GF[vNLGvHHH)(
FCH_]K@CYHY
F[CHLDZL
fC[[[h[[[m[[[
_FCH@[MX[GHE
fC[[[h[[[n[[[
fC[[[H[[[N[[[c1
FCHYDOQOZH
fC[[[I[[[
FCIAddFile
FCIBAR1AC7
FCICreate
FCIDestroy
FCIFlushCabinet
FCIFlushFolder
fCIgqggU
fC[[[I[[[O[[[
fC[[[j[[[
fC[[[J[[[
]FCJBG]EZ
FCJB]QFL]KQ
fC[[[J[[[G[[[d
FCJGZPZZ[X
FC_JLAG]B]PXS
fC[[[j[[[n[[[UuWdQ[[[
fC[[[K[[[
FCKFQBKY
FCKGE]K_JSNCDHH
FCKOLJZCYMCNBZ
[FCKSOKB
FCKYGEXBD
F@CK[ZZBCN
FCLGBGOLBCGOLBCKOLBCOKBCLKOBCLKO
fC|lgfGC
FCllllllllmllllOllylm
fC[[[m[[[
fC[[[M[[[
FCMASGOHBJAXSQHHMABPQ
fC[[[M[[[C[[[-
[FCMGAZBBMBM
FcmiPathRegistryKeyWW
FcmiQueryGetComponentSettingOverrides8
fC[[[m[[[l[[[o
FCM[MBLMXA
fcmovnbe
fC[[[N[[[
fC[[[N[[[L[[[B
FC]OGP]G[]
fC[[[O[[[M[[[M
fComposeInFolder
FCompPkgSup.DLL
fC[[[O[[[N[[[
fC[[[O[[[N[[[3
fConfigChange
fC[[[_[[[P[[[
fCpgppepq
FCPKKLCJ
f@@@@Cp@sx
fC[[[Q[[[
_FCQEY]LBODPLKY_KP
F_CQQZBXQS
FCQS[QBDG
fC[[[][[[R[[[-
fC[[[R[[[
fC[[[R[[[U[[[
FCSAOC[KALHX
FCSBQ#FCSAQ
FCSDZKYBC
FCSLXJH[JNSYKS[BP
fC[[[S[[[P[[[[[[dZ[[[R[[[
FCSYZHDNE
fC[[[t[[[
fC[[[T[[[K[[[[[[dJ[[[
fC[[[u[[[
fC[[[V[[[K[[[
fC[[[w[[[
fC[[[W[[[
fC[[[w[[[u[[[W
fC[[[w[[[v[[[
fC[[[w[[[v[[[ 
fC[[[W[[[V[[[a
FCXNPZXHPSZA@_YD
|FCY@A3!APAAAAAAAA
FCYXYDESAYLESAE
fC[[[z[[[
FCZFXMB_
FCZQ_GOYZBAZKJ
'f][[[d[[[
?.fd][[['
f[[[[d[[[
f][[[d[[[
[fD[[[|[[[
f_[[[D[[[
fD[[[	[[[
fD[[[![[[
fD[[[([[[.[[[
fD[[[*[[[
fD[[[*[[[ [[[
fD[[[.[[[
Fd][[[.[[[
FD_0k2ki
fd[[[[1[[[5[[[
f]d1dFy|d
fD[[[2[[[7[[[
fD[[[3[[[
Fd4|(HzB
#Fd@[[[9[[[
fD91uTL9r
fD92u2eH
fD94pt	H
fD9aHt*A
fD9aHtfA
fD9hHt?H
fD9iHtcH
fD9iHtgE
fD9iHt"H
fD9iHt#H
fD9iHt@H
fD9jHtJI
fD9pFutH
fD9qHt#E
fD9qHt-H
fD9sPtAH
fD9 u8E3
fD9uktXH
fD9wfvCH
fD9yHt:H
fD9yHt@H
fD9zHtJI
f"dA[[[ [[[
fdA[[[6[[[5[[[
f"dA[[[9[[[8[[[
f@)@@D@AAa
Fd@[[[A[[[D[[[
FDADXO[E
FDAHMDDM_JGAMX
@FDA]HSSLDQF
FD_akckm
FDA_PDLS
FdA[[[S[[[V[[[l
FdA[[[T[[[y[[[
FdA[[[U[[[
FdA[[[][[[W[[[
FD@_A]XQ[PC
FdB[[[7[[[
FDBCOXNCGQQJ
f]dB[[[D[[[
FdB[[[P[[[K[[[5
FD@]BPZY@ZH[
FdB[[[Q[[[D[[[
FdB[[[W[[[K[[[m
FdB[[[x[[[
FD@BY_AO
fD[[[C[[[
]F[dC[[[
fD[[[c[[[a[[[
@@@@@;@@F@DCac
@@F@DCac
[FDCGYHN
FdC[[[J[[[H[[[c1
FD_ckmko
FdC[[[N[[[
]FDCOO]PYXDE
FdC[[[P[[[T[[[
FdC[[[Q[[[U[[[a
f"d][[[d[[[
f"d_[[[d[[[
fD[[[D[[[
"FDdH[[[y[[[([[[
FDd[[[[I[[[L[[[
f"dD[[[l[[[
F]dD[[[O[[[
)))[FDD@OP
f.D;dvqJe.
fdD[[[v[[[t[[[
fD[[[E[[[
FdE[[[0[[[6[[[
f"dE[[[?[[[1[[[
f"dE[[[5[[[
F_D[ECQC
FD_ekgka
fdeo'4'feeUU@UU
fdeo'4'feeUU@UU-S
FdE[[[U[[[
f"dF[[[2[[[1[[[
]FDFG]AZ
]FDFGFMXSLSH[AP
|)))]FDFGM
fD;fjt_I
_FDFK_OG
F||dF||MF||4F||
FdF[[[p[[[v[[[
fD[[[F[[[q[[[
fD;F.w#H
]F@DFZCX
f)))DFZMFLYOP
f||dg||dg||8g||
fd][[[G[[[F[[[
FdG[[[g[[[
FDG@GF]LZ
FD_gkakc
FdgkdgfG
fDG@kFQLZ)(
)))FDG@KFQLZ
FDG@KFQLZ
[FD@G]L[GH]@FGHE
FdgqggfG
f||dg||Ug||Fg||*g||
FdG[[[U[[[T[[[4
fdH[[[5[[[4[[[
FdH[[[7[[[
fdH[[[C[[[A[[[
]FDHDH]L
FdH[[[E[[[
]FDH]FML_
FDHGMCDLNY
F)))[DHJ]@FG
F]d][[[h[[[m[[[
FdH[[[m[[[
FdH[[[P[[[W[[[
FdH[[[Q[[[
FdH[[[R[[[
FdH[[[R[[[Q[[[aQ
FdH[[[_[[[T[[[
FdH[[[U[[[K[[[
f"dI[[[)[[[([[[
f"dI[[[;[[[?[[[
fD[[[i[[[
FdI[[[0[[[5[[[UO
FdI[[[7[[[6[[[J
FDICreate
FDIDestroy
fdI[[[F[[[
fdI[[[G[[[F[[[0
fdI[[[i[[[b[[[?
FdI[[[k[[[j[[[4
FdI[[[M[[[L[[[
fD;izs!;
;fdJ[[[(
f'dJ[[[-[[["[[[
fD[[[J[[[
fD;j0sTH
[FDJAH[J
[FDJAH[JFM
[FDJAH[JFML
FDJAH[JFML
fdJ[[[e[[[
fdJ[[[f[[[
FDJMHSQMZAEKO]
(([FDJ[PY]F@DYF[][HGMFD
FdJ[[[X[[[T[[[7
:fd_[[[k[[[
fD[[[K[[[
FdK[[[1[[[
fD;k2uIH
fdK[[[3[[[
FdK[[[C[[[A[[[T
FdK[[[E[[[
f"dK[[[f[[[
fdK[[[G[[[
fdkgAggJq
FdK[[[K[[[
FD_!k#ka
fdK[[[r[[[
FDKYP[YJLBA
	:fdL[[[
f"dL[[[#
fD[[[L[[[
FDLAG@LQ
f"dL[[[D[[[
fD[[[L[[[E[[[
FdL[[[][[[I[[[
FDLKYQDMYAZKBQY]Q
fDllllllllmllllOllylm
)))FDLNHCZ
F_D[LSOGL[GCBO_
FdL[[[v[[[u[[[
FdL[[[Z[[[
]F]@DLZ][@GN
[[['f-dM[[[
f"dM[[[;[[[
f"dM[[[1[[[
FdM[[[9[[[?[[[@
FdM[[[c[[[b[[[
F_DMFBMA
Fd!mggfw
fdM[[[j[[[i[[[
FDM_NQ_[PGP][BMLE
FD@MZH[H]HG
FdN[[[7[[[4[[[
|FdN[[[g[[[d[[[.
FD]NG[XG
FD_nkhkj
F_DNQQNQDC[KLY
FDNXZ_PYFCZ]
	:fdN[[[Z[[[
fD[[[o[[[
fdO[[[;[[[:[[[4
f:':doB'dK
f"dO[[[-[[[#[[[c
fdO[[[E[[[D[[[
FDOELQ@KELZ
FDOFX@GQQY]_HJP
FdO[[[h[[[o[[[
FDOKS@ZSKQZM
FdO[[[r[[[
FdO[[[R[[[O[[[
FdO[[[T[[[J[[[x
]FDPBJADHSM
FdP[[[][[[P[[[
FdP[[[Q[[[
FdP[[[s[[[u[[[
F.d:puft
FdP[[[V[[[T[[[
 fD[[[q[[[
Fd@[[[Q[[[
Fd][[[Q[[[
)))[FD@Q
FdQ[[[A[[[y[[[:E
FDQGOHND
FdQ[[[K[[[
FdQ[[[M[[[@[[[
fD[[[Q[[[P[[[
FdQ[[[p[[[c[[[
F@DQPMCBH
FdQ[[[w[[[u[[[8
fD;QzsMA
FdR[[[G[[[
FdR[[[M[[[C[[[
fdR[[[r[[[
FdR[[[R[[[
FDR:TriggeredFdr!LF
FdR[[[U[[[K[[[
#F]d@[[[r[[[v[[[
fD[[[s[[[
F[[[[[[dS[[[
fD;s2vFL
F"dS[[[3
fD;s4uZH
FdS[[[7[[[
f"dS[[[7[[[6[[[
fdS[[[;[[[9[[[	
FdS[[[A[[[D[[[	
fdS[[[d[[[
fdS[[[F[[[D[[[]
|FdS[[[l[[[
FdS[[[m[[[
Fd_[[[S[[[Q[[[
F'dS[[[Q[[[V[[[
]Fd@[[[s[[[r[[[
;fdT[[[;
fdT[[["[[[
fD[[[t[[[
(F_dT[[[
FD_tkvkp
fdT[[[O[[[
:fdU[[[?
#fD; u2I
 fD; u7I
FD_ukwkq
f"dU[[[m[[[c[[[
Fdupgppepqo
fd][[[u[[[t[[[
FdU[[[T[[[
]fdU[[[X[[[T[[[v
f"dV[[[	[[[
[[[.F]dV[[[
f"dV[[[0[[[5[[[
FdV[[[1[[[6[[[
FdV[[[e[[[
FD_vkpkr
f*dVp7f[[
fD[[[v[[[t[[[
FdV[[[T[[[F[[[
FdV[[[V[[[
;fdV[[[Z[[[B[[[P
f"dW[[[2[[[4[[[
FdW[[[A[[[
?fdW[[[d
FdW[[[e[[[
Fd@[[[W[[[T[[[
FdW[[[u[[[
fdx[[[7[[[
Fdx[[[A[[[
*Fdx[[[C[[[A[[[
fdx[[[e[[[
fdx[[[K[[[C[[[	7hfM[[[
fdx[[[w[[[u[[[M
f"dy[[[*[[[
F:)dY[[[
Fdy[[[1[[[
fdy[[[D[[[z[[[
FdY[[[E[[[
FdY[[[f[[[e[[[
)())FDY[LZZ
FdY[[[][[[P[[[Y
FdY[[[Q[[[
FdY[[[|[[[s[[[
FdY[[[s[[[q[[[d
FdY[[[U[[[J[[[
fDyyyyyyyy
]:fdZ[[[
FdZ[[[-[[[
FdZ[[[:[[[
f"dZ[[[0[[[
fdZ[[[1[[[0[[[
FdZ[[[3[[[2[[[
fdz[[[C[[[
fdZ[[[H[[[
]FDZ]H]@FGZ
FdZ[[[i[[[
FdZ[[[J[[[
FdZ[[[J[[[G[[[
Fdz[[[l[[[
fdZ[[[p[[[
FdZ[[[P[[[C[[[7
fdZ[[[q[[[
FdZ[[[q[[[
Fdz[[[S[[[W[[[
F_dZ[[[y[[[x[[[
fdZ[[[z[[[
f][[[e[[[
f_[[[E[[[
fE[[[#[[[
fE[[[:[[[
fE[[[2[[[
fE3pgppepqSG
fE[[[4[[[
fE;4wtYH
Fe6gqggU
f_[[[e[[[7[[[
fE98tzH;
fE[[[A[[[
feAAAACCAAKqAAAAAAAAAAAAAABqAx
fEAggfgfG
fEAgqgg 
FEAHHM_MJ
FEAOP]CHO
 fE[[[A[[[s[[[
featureBaseVersion
FeatureDisabled
FeatureEnabled
featureEnabledEntryPoint
FeatureError
featureid
featureId
FeatureName
feature_num
Features
FeatureScenario
featureStage
FeatureStartFailure
	FeatureStatus
features_to_normalize
features_values
FeatureUsage
FeatureVariantUsage
featureVersion
feA[[[u[[[g[[[
fE[[[b[[[
fE[[[b[[[a[[[
FEBBK[_Y
FeB[[[d[[[
@FEBF|6BT
February
FEBSOPHY
fE[[[c[[[
fE[[[C[[[
fEc9d4_idz
FeC[[[b[[[
F_#ECBux
feccontext.cpp
feccontext.h
FECLCDN]SE
FECNMACZ
fecserver.cpp
fecserver.h
f@[[[e[[[d[[[
f][[[e[[[d[[[
fE[[[d[[[
f][[[E[[[D[[[.
f_[[[E[[[D[[[
FEDdT[[[
FederatedScanPartialFailure
FEdgeContent.dll
fE[[[e[[[
FEEEEEEEE
FeE[[[g[[[
FEELJ]@F
feeo'4'feeUU@UU
")))]FEEO[LL
#)))]FEEO[LL
)))]FEEO[LL
]FEEO[LL
)))FEFEEE
_)))FEFEEE
FEFEFEFEFEFEFE
FEFEFEFFE
FEFEFEFZALGBHv
FeF[[[g[[[
FEFH[PZOE
f)))EFJHE
]FEFJHEL]@DLZ][@GN
]FEFJHELMH]LZ][@GN
]FEFJHELZ][@GN
fE[[[G[[[
fE[[[G[[[D[[[
fE[[[G[[[E[[[
fE[[[G[[[F[[[
FEggfw0G
feggGggTbgqgg
fE-gqggPE
FeG[[[w[[[
fE[[[h[[[
fE[[[H[[[
 )))][FEHZL
fE[[[I[[[
fE[[[i[[[a[[[
fE[[[I[[[@[[[d2[dX[[[H[[[L[[[
fE[[[i[[[m[[[P
feI[[[y[[[
fE[[[j[[[
fE[[[J[[[
fE[[[J[[[I[[[8j
@F[EJO_H
fE[[[k[[[
F*eK[[[d
feK[[[q[[[
feKWggfG
F_ELBQ[ZBJKKDKFCSLNQ@JSS@H
fE[[[L[[[C[[[@
F@ELCQFK
Fe)-LdGH
fELdZA]DE|[@
fELdZA]DEa]]Y|ZJ
FELFKC@GOFE@GB@GOFPB
)))FELFKCLJ]
FELFKCLJ]
FELFKCLJ]]PYL
)))FELFKCLJ]Y[FN@M
FELJFDYFKCOFKC@GOF
FE@_L[KFLJBLE
fE[[[L[[[p[[[
FELvE@GBvKP]LH[[HP
fE[[[m[[[
fE[[[M[[[
FEMDHJMFGHEM
FEMG]EM[
fEnableWd
fE[[[n[[[c[[[
fE[[[n[[[f[[[
fEngine.Scan.BehaviorScan
FEngine.Scan.UefiFirmwareScan
FEN]_NPZML
f"eN[[[)[[[([[[p
feO[[["[[[![[[
fE[[[O[[[
fE[[[P[[[
[[[;'FeP[[[
fepC)mggfw
FEpgppepq1.
fEpgppepqT
fE[[[p[[[w[[[
FE@PYBC]FLKFMSX
fE[[[Q[[[
FeQ[[[a[[[
FEqualNames
FEqualNamesIdl
FEqualNamesIdlWW
fE[[[Q[[[W[[[@0
fE[[[s[[[
F*eS[[[B[[[
fE[[[S[[[K[[[Q
FeS[[[L[[[
fE[[[S[[[R[[[
fE[[[t[[[
Fetch only the first level information of the objects that are being queriedWW?
Fetch the complete information regarding the objects that are being queriedWWWL
fE[[[t[[[j[[[
fE[[[T[[[K[[[
fE[[[u[[[j[[[
FE_u#(Jb
fE[[[U[[[J[[[G
fE[[[U[[[p[[[
feUUyUUQ
fE;.uyfE;n
[[[f@*eV[[[
fE[[[V[[[
fE[[[v[[[u[[[7
fE[[[W[[[
FeW[[[9[[[8[[[k
fE[[[W[[[I[[[a
fE[[[W[[[K[[[
feW[[[m[[[
fE[[[w[[[u[[[
fex[[[.[[[
fException
Fex[[[C[[[F[[[c
FEXF_ZE@MLKA
_FEXSMDENBS]E
F*eY[[[(
FEYAHXMMLKX
FeY[[[D[[[x[[[
F*eY[[[k[[[i[[[
FEZHLHZN
FeZ[[[O[[[
[FEZOAZBHJK
FeZ[[[p[[[
f@[[[E[[[z[[[S
feZ[[[t[[[
FE@ZZLP][H_LE
|||f|||f|||
f f     .
f@[[[f[[[
f][[[f[[[
f_[[[f[[[
f|||||||f||
'fF[[[-[[[
f@[[[F[[[
f_[[[F[[[
fF[[[	[[[
fF[[[![[[
fF[[[([[[
fF[[[;[[[
fF[[[@[[[
.)))[FF]
fF[[[0[[[
fF[[[1[[[
fF[[[1[[[*[[[
fF[[[1[[[0[[[
fF[[[1[[[6[[[
fF[[[?[[[2[[[
fF[[[2[[[5[[[
fF[[[4[[[
fF[[[5[[[*[[[
fF[[[*[[[ [[[7(
fF[[[7[[[4[[[
fF[[[a[[[
fF[[[A[[[
@@F@F@ac
F[FA_QXHP[PEBNJQCYGA
]FF]AY[F]LJ]@FG]@YZ
FFAZNPGKK
fF[[[B[[[
FF[]BD[P]_X
?fF[[[B[[[q[[[#CAdO[[[A[[[x[[[
@@F@FCac
fF[[[d[[[
f[[[[F[[[D[[[
FfD9;u*H
[FFDDH]LZ
F]F__DDL
[FF]DHZ]L[
FF"dR[[[C[[[F[[[
f_[[[f[[[e[[[
f[[[[F[[[E[[[
f][[[F[[[E[[[
f][[[f[[[e[[[dp
]FFEKH[JALJBtt
]FFEKH[Z
ffeo'4'feeUU@UU
]FFESEF[M
F_FE_SNYLLQYLJ]AP
#)))]FFE]@Y
@]FFE]@Y]LQ]E
!fF[[[f[[[
 fF[[[F[[[
F][]F[FE
[FF][FELZ_Ji
	FFFF))))))
][][]][][]FFFF
]F[F]F[F
FFFFFFDh
FFFFFFEEEEEEEEEEMMMMMMMvvvvvvvvvv
-fffffff
.fffffff
FFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFF9)FFFF9
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
FFFFFFFJJJJJJJJQ
FFFFFFFJJJJJJJJQQQQQQQQ
FFFFFFFO
FFFFFJJJJJQQQQQ
FFFFJJJJQQQQ
FFFFJJJJQQQQQ
FFFFJJJJQQQQQKG
FFFFJJJQ
FFFFJJJQQQ
FFFFJJJQQQK
FFF-']fO)
FFFFr@@@@@
FFFFxyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
?@fffG9f)tgqgg5
FFFJJJQQQ
FFFJJJQQQK
Ff|fK[[[
Ff|fK[[[d[[[
FFFL[[[]PAANK_JML[[[OMOOO[[[][]][_KGDDNOHZMi
Ff|fS[[[
Ff|fz[[[
F[FF]ZLJJADFM
fF[[[g[[[
fF[[[G[[[
ffGccqBgqgg
fF[[[G[[[D[[[
FFgfGof	Ggqgg
fF[[[g[[[f[[[q	
FFGHFMLZZH
ffgiggfw
ffg	kgfGd
FFgMdgfG
F[@FGML_
FFgqgg2v
]FFGSKFQ
fF[[[h[[[
fF[[[H[[[G[[[
)))F[FHGMMLG]HEJH[LJLG]L[
fF[[[h[[[m[[[
fF[[[H[[[y[[[
fF[[[i[[[
fF[[[I[[[y[[[
fF[[[j[[[
fF[[[J[[[
fF[[[J[[[E[[[.
FFJGD_JJQ
fFjgOkgfG
FFJJQQKG
ffjllllllllmllllOllylm
fF[[[j[[[n[[[
FFJN]BCADMKD
FFJYL_MKCQHY
fF[[[k[[[
fF[[[K[[[
#)))FFK[
FFKCLJ]@]LD
F)))FKCL]ZA
fF[[[K[[[I[[[
FFKPZ@EXH]BN
F]FLBL_YG
[FF]LG][
[FF]LG][IYI_
[FF]LG]IYI_
[FF]LG][P
	)))[FF]LG][PO
;)))[FF]LG][PO
[FF]LG][PO
[FF]LG][POH
)))[FF]LG][POIFU
)))[FF]LG][POYDE
[FF]LG][POYM
FfllllllllmllllOllylm
FF[]_L@OPNB
FFLPQSSBXALBSNS_QY
[FF]_L[Z@FG
FFLZSBOKLEQ[H
fF[[[m[[[
fF[[[M[[[
FF_MQGGX
fF[[[n[[[
fF[[[N[[[C[[[
]FFNPLBZSO]QQHHH
FfN[[[s[[[
ff__o;a:
FFO]DZDA
fF[[[O[[[N[[[
FFPCOBDKD
f]fpgppepq
)))]F[FPH
FFPY_ZL[[P
|fF[[[Q[[[
fF[[[Q[[[
FF[QEESAF_SZG
ffQgqgg0
fF[[[Q[[[T[[[
fF[[[Q[[[U[[[
fF[[[q[[[v[[[p
fF[[[r[[[
FfrDriverDeleteByDriverName
FfrDriverSwap
fF[[[R[[[O[[[
fF[[[r[[[p[[[
fF[[[R[[[W[[[
 fF[[[S[[[
fF[[[S[[[
FFS_CZDO
F)))FSJH[[LDF_HEZ
fF[[[s[[[p[[[
 fF[[[S[[[P[[[I
FFSQJNZXA[MNGJB
fF[[[s[[[r[[[
fF[[[t[[[
fF[[[t[[[l[[[
]FFt]MJGHCC
[FF]uJ@D_
[FF]uuJ@D_
[FF]UUJM
fF[[[v[[[
fF[[[V[[[U[[[
FFvvvvvvvF
fF[[[w[[[
fF[[[W[[[
fF[[[x[[[
FFXxyxJy;
]FFX]YC[S
FFXZ](*7yxty]
f[[[[F[[[y[[[
[FF]Y[FJLZZLZ
)))[FF]Y[FY[FYL[]@LZ
[FF]Y[FY[FYL[]@LZ
[FF]YH]A
FFYPNDB]
FfyyFnyyyyyyyyyyyy
F	Fyyyiiy1yyyiI.I
)))][FFYZ@]LZ
fF[[[z[[[
[FFZiGJJ
fF[[[Z[[[K[[[
fF[[[Z[[[K[[[#
FF[[[Z[[[K[[[74
FfZ[[[S[[[
FF@ZZKLF
f@[[[g[[[
fg@@@@@@@@
 fG[[[@[[[
f@[[[G[[[
f_[[[_[[[G[[[
fG[[[*[[[
fG[[[;[[[
fG[[[|[[[
.)))]@FG
fg0M0j0D0
fG[[[1[[[
(fg1'gfGf
fg1jgfGH
fg20Wdvr
fG[[[2[[[1[[[
fG[[[;[[[3[[[
Fg3egfG-
f g5kgfG
fG[[[7[[[
Fg7bggGUp
fg7egfGv
)Fg7fgfG
Fg7kgfGZ
f;G8dB]2d
Fg8QmmPQ
fG[[[;[[[9[[[
Fg9kgfG75
fg9kgfGZ
fg@@@@@@A@
_)))]@FGA
fgAfgfG*
fG[[[a[[[g[[[
FgAgg6-7
F"gAggVs
F_gAkgfG
fg@@@@@@A@mp 
FGA@XZ_MLS]XYN
fG[[[b[[[
fg@@@@B@AA
fg@@@@B@AAnp@@
fG[[[b[[[e[[[
fG[[[B[[[G[[[
fg'bgfG(
]FGBH]HE@
FG@B[JZGGN
fGbLPy[LZZ
FGBLPY[LZZ
_FGBQQYZB
FGCBLXSYD
fgCcgfGZ
fgCegfG#RPZ]Y]]
Fg[cgfGW
fgcjgfG#2
fG[[[C[[[z[[[
f]G?dB91db
fgdcUUAUU
FGdF[[[.[[[
fgdgfGSH
FGD@J[FZFO]
[FGDLG]Z][@GNZ
fgdlUUAUU
FGDLZZHNL
FGDPE@BL
FGDQ[_GQ
f_[[[g[[[d[[[x
[FGE[AQOBL
FgEegfGx
)))FGEFHM
 )))FGEFNFG
fg'egfG-.
fg?egfG5
FGE@GLDLM@J@G
FGE@GLFGE@GLDZ
FGE@GL_JH[MZ
FGE@GLKHGB@GN
FGE@GL]LZ]YHGLE
FGE@GLPLH[
FGE@GLvN@[E
FGE@GLZL[_L[FOO@JL
FGEKCZCFPMDPX
fgEkgfGP
Fgeneric
fGEPfGLyHNL))
FGEP[LJ@Y@LG]LDH@EJHGHJJLZZZAH[LMO@ELZ
FG]EQQGK
FGetFileAttributes failed
FGEYJCCDJQ
f@[[[G[[[F[[[
((FG][FEZL]uJFG][FEu]L[D@GHEZL[_L[
.)))FG@FG
fgfG(042gqgg
fgfG0KZ?gqgg
fgfG0)MUgqgg
fgfG1cxngqggKSl
fgfG	1Lzgqgg
fgfG"1QvgqggS
fgfG1RIYgqgg
"fgfG2a0
fgfG2'"Agqggp
fgfG2BP"gqggVI
:fgfG2f@
fgfG2!?sgqgg
fgfG@3d@gqgg
fgfG'3QOgqgg
fgfG3Suegqgg
fgfG3z*Zgqggj
fgfG4Vvvgqgg
fgfG4Xzkgqgg
?_fgfG_5
fgfG5GMRgqgg8G
fgfG5i	qgqgg
-;[fgfG[5M
fgfG63-Jgqgg'
fgfG6rahgqgg
fgfG(6Uygqggf
fgfG7Brugqgg
fgfG!7]!gqgg
fgfG7Gw?gqgg
fgfG7"o@gqggKSl
[fgfG7_t
fgfG8s]Igqgg
]FgfG[AD
F]gfGA'H
fgfGaXIogqgg
fgfGa(ykgqgg
fgfGb3Mcgqgg
FgfGbAS:gqgg
fgfG*b#bgqgg
fgfGBe@GgqggKSl
fgfGb"o5gqgg
fgfGbsApgqgg
fgfG;*BTgqggF 
FgfGbw"Fgqggg
fgfGB(zQgqgg
fgfG_Cfngqgg
fgfGcfw:gqgg
fgfGCGc8gqgg
fgfGCPENgqgg
fgfGcrDxgqgg
fgfGD 2Wgqgg
fgfGD_6bgqgg
fgfGd-A(gqgg 
fgfGDUu']Y]]
fgfGD?zlgqgg
fgfGefC5gqgg
fgfGeLGMgqgg
fgfGeWCb]Y]]9
fgfGF'ASgqgg
fgfGF#cngqgg
fgfGfF	Pgqgg
"fg'fgfG
f"g#fgfG'
Fg'fgfG0!
fgfGfI|6gqgg"
fgfGfo#Vgqgg
fgfGfRGQgqgg
fgfGFS;tgqgg
fgfGfxJcgqgg
fgfGGiIqgqgg
fgfG;gjagqgg
[fgfGGO|
fgfG@@"[gqggKSl
fgfG;G]Tgqgg
fgfGGYUkgqgg
*|fgfGh8
fgfGH9rHgqgg
fgfGH(Bvgqgg
fgfGHF59gqgg
fgfGhgYigqgg
fgfGH?H'gqgg
fgfGh|kegqgg	
fgfGHOQqgqgg
fgfGhp)RgqggsSL
fgfGhS'Rgqgg
fgfGHTk:gqgg
fgfG"H[Vgqggel.
fgfG	H.XgqggxR
fgfGhyvVgqgg
fgfGI2[[]Y]]
fgfGi3gf]Y]]
fgfGIC.zgqggAm
fgfGiECTgqgg
fgfGIGVMgqgg
fgfGIi_egqggB
fgfGiIRZ]Y]]
fgfGiOw3gqgg
fgfG"[iygqgg
fgfG!j?5gqgg
fgfG'*Jhgqgg
fgfGjI8Cgqgg
fgfGJiKLgqgg
fgfGjTetgqggS
fgfGJXmNgqgg
fgfGk0-;gqgg
fgfGk?Ehgqggq:
fgfGkG)Cgqgg
fgfG(K"-gqgg
fgfGk_* gqggW
fgfGk@hfgqgg
fgfGkLR|gqgg*b
fgfGkuzSgqgg
fgfGL939gqgg
fgfGLTaIgqgg
fgfGLxYBgqgg
fgfG#[m!gqgg
fgfG)mzQgqgg
fgfGN3(Ogqggfv
fgfGnE |gqgg
fgfGnq"Fgqgg
fgfGn	U gqgg
fgfGo k-gqgg
fgfG:o!:x
fgfGp_n"|D3
fgfGPNWFgqgg
fgfGPqJ7gqgg
fgfGq_8ugqgg
fgfGQDl-gqgg
fgfGqEcOgqgg
fgfGqjI7gqgg
fgfGQKmq
fgfGr5N5gqgg
fgfG*	R'gqgg
fgfGRHv@gqgg
fgfGRPargqgg
#fgfGRR5
fgfGRYG|gqgg
fgfGs:angqgg
fgfG:]SEgqgg
fgfGshhdgqgg
fgfGsI5Fgqgg
fgfG_SRigqgg
fgfGs?s2gqgg_
fgfGssc]gqgg
fgfG"suqgqgg
_(fgfGt2
fgfGtb]fgqgg
fgfGtcgVgqgg
fgfG(T")gqgg
fgfG	t; gqggA
fgfGtH#-gqggKSl
fgfGtI1Mgqgg
fgfGtLc@gqgg
fgfG_;tNgqgg
fgfGtVa6gqgg
fgfGu04wgqgg
fgfGu*2Ugqgg
[FgfG)*uagqggl
FgfGUb])gqgg
fgfGu(H8gqgg
fgfGuOP?gqgg
fgfG u:pgqgg
fgfGU-@sgqgg
fgfGv'4Lgqgg
fgfGvnPogqgg
fgfGvou1gqggO.
fgfGw5I;gqgg
fgfGW6?Ygqgg
fgfGw8fLgqggF
fgfGW?@Dgqgg
fgfG	]X5gqgg
fgfGxG8"gqgg
fgfGXHSDgqgg
fgfGxM3Egqgg
fgfGx	sVgqgg
fgfGX)u1gqgg
fgfGXyojgqggF
fgfGxZGagqgg
fgfGY	apgqgg
fgfGYiA.gqgg
fgfG@YW!gqgg
fgfGZ7Qkgqgg
fgfGz	Bogqgg
fgfGZiE*gqgg
fgfGZpTJgqgg
F[GFHKQLNX_KMD
]FGFJJA@
)))@FGFK
]FG@Fv[YJAY
fgfw5dqI
fgfwbKi|M
fgfwE-Eh
FgFWFOF"F
fG[[[G[[[
.)))FG]@G
fgG2Na7Q
FggagfGv2S
fggcgfG|G
F)))G@GCH
fgGdgfGhNk
fggdgfGp
f:ggegfG
 (f[ggfG
Fg'[gfG"
f*ggfGBD
FggfGUe"
] FggfGv
FggfGXnD
fggfw47s
fggfwJag
fggfwq*L?
fggfww.k
fggG8JY.gqgg
fg!ggfG#
Fg_ggfG@
fgG[gfGx
fg#gggwH
FggG(mN0gqggZ
[_-fggGSH
fggGtF;Dgqgg
fggGTv-9gqgg
fggGZ.tXgqgg
fG[[[G[[[|[[[H
.)))FGGHD
!)))FGGHDL
Fgg'igfGW
FGGLDDCYOLPG
FgglgfGJ
FGG]MMNP
F'gGogfG
FggOggwZ
fgGqgfG:
_!fggw1|
FgGwgfG'
FGgw[gfGZf
fggwrV:UNy
FggwtYiK
fggwXcrS
fggwxvxv5Q
FG@GZ]HEELM
]FGHD@GF
f)))GHDL
F[GHDLGH]@[J
FGHEEPKEF
]FGHE@]P
FghggggX79:::b
FGHG@Z]FOOOOO
F;G;H;I;J;K;L;M;N;
F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!
F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)
FGHLYCGXPP@D
FGHXENS@
FGHXO[JOK
Fgiggfw	
fgiggfwX
fG[[[I[[[H[[[
fgIsgfGBk
)))FGJE@JB
;)))FGJE@JB
FGJE@JBLM
F[G@JEOE
FGJFDYEL]L
fG[[[j[[[i[[[4
F[GJKKBSCKXQ[EN_N@
)))FG@JLA
fGJ[LH]L
FGJ[LH]L))
FGJ[LH]LM
FGJLHPLH[YLZ]JFG][FE
FGJLMKQ[_
FGJXXMLJ[
F]GJYCHQGLQGF
fG[[[K[[[
fGkFH[MhJ]@_@]P
	fg)kgfG*
:fg;kgfG
f!g)kgfG
f-g;kgfG
fg!kgfG?-
fg-kgfGc
fg#kgfGk
Fg-kgfGP"y
Fg)kgfGT
Fg]kgfG?Ueegqgg
fG[[[k[[[h[[[4
F@GKN@PGN]
FGKP[XJH_C
FGK]QCO_
FGLAMQKB]MJMXNZ
FGLDFK@EL
FGL]@DLYHZZ
FGL[[F[NF]F
.)))FGLG]
.)))FGLGM
FG[LGML[
FGLHEM[@_L
FG[LHMPZ]H]LJAHGNL
FG[LHMPZ]H]LJAHGNLu
])))@[FG]LJAGFEFNPJGJ
fGLjUz(V
FGLKEFJB
FGLKS]@Y
fGllllllllmllllOllylm
FgllllllllmllllOllylm
FGllllllllmllllOllylm
FGL[LMY@QLE
fGLm[@_L
FGLM[@_L
FGLM[@_LMFJ
FGLM[@_LO@ELZ]F[HNL
FGLM[@_LOF[D
FGLM[@_Lv
FGLM[@_LvQEZ
FGLM]_XH
fGLoF[hEE))
!)))@FGLQY
FGLY@LJL
FGLZFO]YL[MHP
FGLZ]FY[GM
FGLZ]FY[LJAH[NL
fG[[[m[[[
FGMAPJKY
f#g_mgfG[D
fgMggfGj
((@FGMH]HYH[]Z
FGM[HNM[FYFKCLJ]
FGMQBOYN
FG]MSZBLAL
F]gmugfG
FGM@ZJF[M
.)))]@FGN
FGNFAH]O
fg[ngfG.
F'g'ngfG
.)))@FGNL
FGNSDYDZ]
f!gOagfG
FGODEL@GBJS
f#gOfgfGv
@fg'ogfG
F]GOJAMXHDBKXBXM
fgokgfG5
fgoo6:;;06!UUBUU4
 fgooggGO
]FGPBFEL_
_FGPDJQ_ACSJ
]FGPH]B@GZ
]FGPJFML
FGP_JFYP_
FGPMGPCKP
fG[[[][[[P[[[pm
FGPQK@]Z
fG[[[P[[[U[[[
fG[[[p[[[w[[[
]FGPXOYMAYCX
fG[[[Q[[[
fG[[[q[[[c[[[p
FgQdgfG#
F[GQDK_EQCOJHEKJXYQ
FGQDQFLDYC@
	Fg!QgfG
f'"gqgg'
fgqgg#"-
|F@@@@gqgg
fgqgg0Ay
Fgqgg4  
fgqgg4HJNC
#F)gqgg5
)Fgqgg58E
Fgqgg75Q
fgqgg7jf
fgqggANi
'FgqggCS
fgqggdz:
f]*gqggE4
Fgqgg_Fg
;Fgqgg*g
Fgqgg'G8i
f(gqgggNG
fgqggHsVQ
fgqggJGe
*fgqggKSl
fgqggKSl
FgqggLW[;	
F*_gqggM
fgqggMlX
fgqgg_Ni
(fgqggNI
fgqgg)nn
fgqgg*oM
FgqggP9Ctl
|FgqggQsf
"fgqgg)RvQ
F'gqgg*t
-F?gqggtI
fgqggt:q
FgqggVW5
fgqggw]7
f)gqggWc
FgqggWe2M
f]gqggWF
f!gqgg[X
*Fgqgg]Y
FGQHQJJZE_Y
FGQSJ[DH_
f@g_RgfG
f@g_RgfG)
f@g_RgfG.
f@g_RgfG;
f@g_RgfG?
f@g_RgfG|
f@g_RgfG5
f@g_RgfG5)U
f@g_RgfG7
f@g_RgfG9:
f@g_RgfGa
f@g_RgfGA
f@g_RgfGFh
f@g_RgfGG
f@g_RgfGk
f@g_RgfGm
f@g_RgfGo
f@g_RgfGX
f@g_RgfGxB3ogqgg
fG[[[R[[[V[[[
f'gSdgfG
FgSdgfG:
FgSdgfG3.
f'gS_gfG
fgsggfG6
FGSJAEBXHG
FG@SL]Q_NS
FGSYLNLF[
fG[[[t[[[c[[[
F?gTgg!vS
fG[[[u[[[
FgUbgfG|
FgUdgfG2t9
fgUkgfGK
]fgUrjxP
fgUTdcQLc9
fG[[[V[[[
((@FGvELG
fg]vgfGM
FGvHMv[LZYFGZL
FGvY[LZZ
fgw.[a5s
FgwcgfG[
FgWdgfGd#
FgWdgfGM
F_gWDggw
FgweggGL
F"gWggfI
:fg?wggG
_fgwgI7R
fgwI2MaU
fgWkgfG"b
fG[[[w[[[k[[[W)
fgWlggw2
#fG[[[W[[[u[[[
fG[[[x[[[
FGXACNDGZ
FGXPL_L[
fG[[[y[[[
FG]YBZ]XH
@FGYFE@JPKPY
FGY[FYL[]PJAHGNL
FGYFYZ]H]L
F#gYgg '
FgYggfGEk
F!gYggl)
f)))GYH[ZL@G]
	)))@[FGYP]AFG
)))@[FGYP]AFG
FGYPYX@XLLO
fGyyyyyy
FGyyyyyy
F_GYZOABC
fG[[[z[[[a[[[
FGZDCFO[PNMCB
fg[ZdcQLs9
FGZ@GZFD
.)))FGZ]H
[FG@ZHZY
.)))FGZL]
FGZLELJ]
FGZLKFMP
fG[[[Z[[[v[[[4
f][[[h[[[
f][[[h[[[;[[['
f_[[[h[[[
f[[[[_[[[H[[[
f[[[[H[[[
f][[[H[[[
f_[[[H[[[
fH[[[	[[[
fH[[[)[[[
fH[[[*[[[)[[[
fH[[[;[[[
fH[[[;[[[?[[[
fH[[[?[[[
fH[[[:[[[1[[[_
F||H[||1[||
fH[[[1[[[6[[[
fH[[[2[[[
fH[[[?[[[3[[[
fH[[[3[[[1[[[
fh3]Y]]-
[fH[[[4[[[.[[[
fH[[[6[[[)[[[
F@H98t8H
fH[[[A[[[
FHABQL_DMZC
FHAX]NAO
fH[[[b[[[
fH[[[B[[[
FHBDBAKY]
FHB][PNGHOP
fH[[[B[[[s[[[R
FH]B[ZHOXCLYO
fH[[[d[[[
FHD9@@uBD9@8
(([FHD@GN
*.#[FHD@GNEFJHEu]LDY
*.#[FHD@GNEFJHEu]LDYu
[FHD@GN@GOF
F]H[dH@G
#f)_H[DK
]FHDLE[[H[D]L
fHdQ[[[V[[[
fHdx[[[:[[[
fH[[[E[[[
]F]HE]@DL
]F]HEFJLHGO[L@NA]
*))]F]HE@]H[@HG
]F]HEKP]LZ
]F]HEKP]LZJFG]LG]
f)))HEL[]
]F]HE@]L]L[
]F]HEO[L@NA]FGKFH[M
]F]HEv_@Z@]HZ
]F]HEYFZ]EHGM@GNJAH[NL
]F]HEY[@JL
]F]HEZYHJL
fH[[[f[[[
F[H[@FDL][FD@EHGF
[F]H]@FGDHGHNL[vOFZZ
FHFNK]HNBH
f||hf||Yf||Jf||5f||
FhGdU[[[
fHgEkgfG
fH[[[g[[[e[[[p
FHGHJ[FGL[
fHg_kgfG
F_HGNHGNL
FHGQDHO_[[
fHgWogfG
)))F][HGZ@]@FG
F][HGZ@]@FGLGMF][HGZ@]@FGLGM
fH[[[H[[[
F|| h||	h||
fH[[[h[[[b[[[r
fH[[[H[[[C[[[
 FHHHHaa]Y]]k
]_[FHHHHHO
_FHHXP]DCSA
FHHYHDOL[K
fH[[[i[[[
fH[[[I[[[
fH[[[I[[[H[[[
fH[[[I[[[N[[[
fH[[[j[[[
f)))_H[J
F)))_H[JALEYYHGLE
F_HJ@CN[G]BP
FHJE@LG]
f[HJELjE@LG]jHJAL
F[HJELJE@LG]JHJAL
f[HJELvbdzvhJ]@_H]F[))
f)))HJ]@FG
fH[[[j[[[g[[[
]F[HJJLZZ
]FHJJLZZ]A@ZO@EL
FH]J_XDF
fH[[[k[[[
?fH[[[K[[[
fH[[[k[[[j[[[q
FH]KLP[DP
fH[[[K[[[O[[[:
fH[[[L[[[
fH[[[l[[[b[[[
FH_L_CHDSLCJD[
FH]]LDQHDD@ROFG]
]FHLEOL@_CQN]B
[F]H]L[FEE
fHllllllllmllllOllylm
F#hllllllllmllllOllylm
FhllllllllmllllOllylm
FHllllllllmllllOllylm''
f[[[[h[[[m[[[
fH[[[m[[[
fH[[[M[[[
	)))[FHM]FFEZ
)))[FHM]FFEZ
FHMGAFHFJHZ
fH[[[m[[[l[[[.d
[FHM[LJFG
FHMSC_BHG
((FHMvO@EL
FHMXNMHABEE_
FHMYLSX]
fH[[[N[[[
#f)]H[NL]
f)))]H[NL]
#F)]H[NL]
F)))]H[NL]
f)))]H[NL]DFML
F[]HNQBXJ
[FHNSZYJN
fhn'XgAgg
F]HNYJ@Y
f_[[[h[[[o[[[
fH[[[o[[[
fH[[[O[[[
FHODLLDN
f)))_H[OEHNHEEL[P
f_[[[H[[[O[[[G
FHOJPKM[XO
fH[[[o[[[l[[[:
FHO[]]Y_
-fH[[[p[[[
f_[[[H[[[p[[[
fH[[[p[[[
f)))_H[P
FHPHHAK]
fH[[[P[[[V[[[
fH[[[P[[[W[[[s
fH[[[q[[[
FHQBBBA[DCKQNBCSG
)))@_[FHQDNJAC_S
fH[[[_[[[Q[[[e
FHQQLPBQYLY_
]_FHQXAQ
FHQXKZLNL
fH[[[|[[[r[[[
fH[[[r[[[
fH[[[r[[[q[[[.d
fH[[[S[[[
fH[[[S[[[R[[[
FH]SZCBCGSS
fH[[[t[[[
fH[[[?[[[![[[T
FhTgqgg:
fH[[[T[[[N[[[
fH[[[U[[[
fH[[[U[[[A[[[hu
|fH[[[U[[[I[[[
fH[[[U[[[K[[[
fH[[[U[[[T[[[8
fH[[[v[[[
fH[[[V[[[
F||h[||V[||
fH[[[V[[[B[[[
fH[[[v[[[c[[[
fH[[[V[[[U[[[
fH[[[w[[[
-fH[[[W[[[@[[[
fH[[[W[[[
fH[[[w[[[c[[[R
fH[[[W[[[I[[[
FhWogfGl
fH[[[x[[[|[[[
fH[[[X[[[F[[[e
FH__XMC_O
FHXY]GMQPQ
F[HYBMK_
fH[[[y[[[|[[[q
F_HYQEGNCHG]FZ]Z
FhYRSSA]I
fH[[[Z[[[
FHZCO[NB
[F]]HZ]@JZ
]FHZ]K[HGM@GN
FHZL]HMX
F)))HZYGL]v[LN@@Z
f@[[[i[[[	[[[
f][[[i[[[
f@[[[I[[[
f][[[_[[[I[[[
fI[[[([[[
fI[[[*[[[
fI[[[.[[[ [[[
fI[[[?[[[
fI[[[_[[[@[[[
fI[[[|[[[
fI[[[?[[[0[[[
fI[[[0[[[
fI1AAAACAAAIqAL
fI1AC@Ai!RAAAAA
fI[[[2[[[
fI[[[3[[[2[[[
fI[[[6[[[([[[
fI[[[7[[[
fI[[[;[[[9[[[
f_[[[i[[[a[[[
fI[[[a[[[
fIAAAA@AAAAAC
'fIAAAA@AAAAACFK
#fIAAAA@AAAAACi
fIAAAA@AAAAACN
fIAAAA@AAAAACx
f@@@@@i@@A@ACac
fI[[[a[[[f[[[
fI[[[A[[[F[[[
f@[[[i[[[b[[[
fIBllllllllmllllOllylmc)
fI[[[@[[[c[[[
fI[[[C[[[
fI[[[C[[[A[[[
fI[[[d[[[
fI[[[D[[[
F:IdD[[["[[['[[[
FIDI'BCII
FIdJ[[[*
F@IdO[[[
f_[[[i[[[e[[[
fI[[[E[[[
fI[[[E[[[	[[[
fIe3dNVLd
FieldName
fI[[[E[[[z[[[
( FIFGGN
f(Ig3lgfG
f||ig||Cg||
fig!cgfG
FIgCmgfGr
fI[[[G[[[F[[[
fI[[[G[[[F[[[u
FigKegfG
fIgqgg6?*
f_[[[I[[[H[[[
)))FiHFYHFLHFGHFJiHFDHFMHF
fI[[[H[[[L[[[
fI[[[H[[[N[[[
fI[[[H[[[O[[[
FIHOHIHMDW
fIH@UB	lxKHPANx
@FiH[Y@Q
fIi9fIiyfIi
fI[[[I[[[B[[[AU
fI[[[i[[[l[[[
fI[[[I[[[O[[[
fI[[[j[[[
fI[[[J[[[
fI[[[J[[[H[[[
fI[[[J[[[O[[[
fI[[[k[[[
fI[[[][[[K[[[
fI[[[K[[[H[[[
fI[[[k[[[j[[[
fI[[[K[[[u[[[M
fI[[[K[[[w[[[
fI[[[L[[[B[[[v
fileaccess
FileAccessError
FileAction
FileAlignment
file already exists
fileassocbuilder.cpp
fileassocbuildertests.cpp
fileassoc.cpp
fileassoc.h
FileAssociation
FileAssociations
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_HIDDENW
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED7
FILE_ATTRIBUTE_READONLYWWW
FILE_ATTRIBUTE_SPARSE_FILE"
FILE_ATTRIBUTE_SYSTEMW
FILE_ATTRIBUTE_TEMPORARYWW
FileAttributeTypeWWW
FileCacheInsertFailure
FileCacheRemoval
FileChangeCount
filechanged
FileChangeExCount
FileCompressionTypeW
filecopyticks
FileCount
file.cpp
FileCreateCount
FileCreateExCount
FileDate
FileDeleteCount
FileDeleteExCount
FileDescription
filedevicecharacteristics
filedevicetype
filedigest
file_enum_utils.h
file error
fileexclusiondetector.h
fileexclusiondetectorut.cpp
file exists
File exists
fileextension.cpp
fileextension.h
file-fat.cpp
FileFlags
FileFlagsMask
FileHardLinkCount
FileHashCache
FileHashes
FileHeaderError
fileindex
file info
FileInfo
fileinfo.cpp
fileinfo.h
fileiothread.cpp
fileiothread.h
file is not a database
File is oplocked
[file list]
fileList
filelist.h
FileLocalName
filelocation
filelookup.h
FileLowFiAsync
FileMapError
FileMode
filename
fileName
Filename
FileName
FileNamed
filename_scrubbed
filename too long
filename_too_long
Filename too long
File Object Count
FileOffset
FileOpenError
file parameter
filepath
filePath
FILEPATH_QUERY_CNAME
FILEPATH_QUERY_FNAME
FILEPATH_QUERY_FULL
FILEPATH_QUERY_LOWERCASE
FILEPATH_QUERY_PATH
FILEPATH_QUERY_UPPERCASE
filepathscan
FILEPREDATORVR
filepublishserver.cpp
filepublishserver.h
FileQuery
filequeryonly
filereadticks
FileRemoteName
FileRemoveFailure
FileReport
FileRepositories propertyW.
FileRepositorySet property
FileRepositorySetWWWX4
!FileRepositoryWW
fileresource.cpp
fileresource.h
filesecurity.hpp
filesecurity_ut.cpp
fileserverpackage.cpp
fileserverpackage.h
fileserverpackageversion.cpp
fileserverpackageversion.h
filesha1
file_size
filesize
fileSize
FileSize
FILESIZES
filesstash
filestillexists
FileStream
FileSubtype
filesystem
filesystemcmd_tests.cpp
FileSystemInfo
filesystemlogger.cpp
filesystemmetadatadoc.cpp
filesystemmetadatadocfactory.cpp
filesystemmetadatadocmock.h
filesystemmetadataenumeratormock.cpp
filesystemmetadataenumeratormock.h
filesystemmetadatafactory.cpp
filesystemmetadatafactorymock.cpp
filesystemmetadatafactorymock.h
filesystemmetadata.h
filesystemmetadataimpl.cpp
filesystemmetadataimpl.h
filesystemmetadatamock.cpp
filesystemmetadatamock.h
filesystemmetadatatest.cpp
filesystemmetadatatests.cpp
filesystemmetadatatests.h
filesystemmetadataxmltest.cpp
FilesystemPermissionEnforcer
filesystem_writer.cpp
filesystem_writer.h
file_tests.cpp
_FILETIMEIdl(
FileTimeToDosDateTime
FileTimeToLocalFileTime
FileTimeToSystemTime
_FILETIMEWWW
file too large
File too large
filetype
FileType
filetypeaction.cpp
filetypeaction.h
filetype.cpp
filetypedlg.cpp
filetype.h
filetypelistview.cpp
filetypelistview.h
fileTypeOrUriScheme
filetypespage.cpp
filetypespage.h
filetypestring
fileutilities.hpp
fileutils
fileutils.cpp
fileutils.h
file_utils.hpp
fileutilsserver.cpp
fileutilstests.cpp
file_util_tests.cpp
FileVersion
FileWriteError
FileWriteFlushDuration
FileWriteTakesTooLong
fI[[[l[[[f[[[
FIL@KQVKLCC@W
fillllllllmllllOllylm
FIllllllllmllllOllylm
FillRect
FILTER clause may only be used with aggregate window functions
FilterDetach
filterdriverslist
filteredtrie
FilterFindClose
FilterFindFirst
FilterFindNext
FilterInstanceFindClose
FilterInstanceFindFirst
FilterInstanceFindNext
filterrequestprocessor.cpp
FilterSize
FiltersW
FilterTimeoutLocal
FilterTimeoutNetwork
FilterUnload
fI[[[M[[[L[[[
fimSSSSSSSSP
fI[[[_[[[N[[[
fI[[[N[[[
Finalized
FindActCtxSectionStringW
?FindAllSnapinUIThreads@BookKeeping@@SAJPEAPEAKPEAK@Z
FindClose
FindCloseUrlCache
finddependencies.cpp
finddependencies.h
?FindDescendent@Element@DirectUI@@QEAAPEAV12@G@Z
Findextension
Find failed or was not executed
FindFiles
FindFirstFileA
FindFirstFileExW
FindFirstFileNameW
FindFirstFileW
FindFirstIEHistoryUrlCacheEntryA
FindFirstUrlCacheEntryExA
FindFirstVolumeMountPointW
FindFirstVolumeW
FindFolders
?FindItem@BookKeeping@@SAPEAVItemHandle@@PEAX@Z
FindNextFileA
FindNextFileNameW
FindNextFileW
FindNextIEHistoryUrlCacheEntryA
FindNextUrlCacheEntryExA
FindNextVolumeMountPointW
FindNextVolumeW
FindObjectInDir
FindPnPDeviceAndRemoveIfNecessary
FindResourceExA
FindResourceExW
FindResourceW
FindRowW
FindStringOrdinal
FindVolumeClose
FindVolumeMountPointClose
FindWindowEx
FindWindowExW
FindWindowW
Fingerprint
FingerprintSha1
FingerprintSha256
.fini_array
FinishComponentW
FinishedMsgW
FinishKeyAgreementCreation
FinishMessage
FINISHMSG
FinishWW
fI[[[N[[[M[[[
fI[[[n[[[m[[[UO
FInstanceFactoryWPF
Finvalid string position
fI[[[o[[[n[[[
?_Fiopen@std@@YAPEAU_iobuf@@PEBGHH@Z
?fI[[[|[[[p[[[
fI[[[p[[[
fipgppepq
Fipgppepq"
FipgppepqRB
fI[[[p[[[l[[[
FIPropDataTypeWWW
fI[[[P[[[U[[[
fI[[[Q[[[
@fI[[[Q[[[W[[[2
fI[[[_[[[R[[[
firefoxextensions
firefoxinstall
firefoxplugins
firewall
FirewallApprovedFile
Firewallokfile
Firewallport
FirewallPort
FirewallRuleReport
FirmwareEnvironmentNameSpace
FirmwareEnvironmentVariable
FirmwareType
first argument to clearTimeout() is not optional
first argument to setTimeout() is not optional
firstfiletime
first_report_time
firstsectwritable
firstseen
FirstSeen
first_value
First Version
fI[[[R[[[U[[[
fI[[[|[[[s[[[
fI[[[s[[[
!fI[[[S[[[
fI[[[S[[[
fI[[[s[[[r[[[
  FI.Su9
fiTXtXML:com.adobe.xmp
fI[[[u[[[
fI[[[U[[[
fI[[[U[[[J[[[
fI[[[u[[[k[[[
fI[[[U[[[w[[[
fI[[[][[[V[[[
fI[[[V[[[
fI|voeo7ogo
@fI[[[w[[[
fI[[[w[[[
fI[[[W[[[
fI[[[w[[[l[[[
fI[[[x[[[
FixedPanel
FixImcServiceRegistry
fixpackagestore.cpp
fI[[[x[[[s[[[
fI[[[y[[[
fI[[[Z[[[
fI[[[z[[[c[[[
fI[[[z[[[y[[[
@Fi@]ZZF]@GP
f][[[j[[[
f[[[[J[[[
f][[[J[[[
f_[[[_[[[J[[[
fJ[[[)[[[
fJ[[[.[[[
fJ[[[;[[[
fJ[[[@[[[
fJ[[[][[[
fJ[[[_[[[][[[
fJ[[[|[[[
fJ[[[2[[[1[[[
fJ[[[3[[[
fJ[[[6[[[4[[[3
FJ6)z9yyyyyyy9yyyyyy
fJ[[[8[[[
fJ[[[8[[[.[[[
f(j8ga('d
fJ[[[A[[[
f@@@@@j@@A@AFac
f)))JA[FDL
F)))JA[FDL
]FJAH[H[[HP
fja|i_VW
]FJALHM@GN
F)))JALOHEEL
'fJApgppepq
FJAXPLMBB
fJ[[[b[[[
fJ[[[B[[[
[FJBHM@EL
[FJBHZ]H[
F[J_BJOXNY[XM
[FJBKP]L
)))[FJBL]]
[FJBL]G@GLEHKZ
)))[FJBM
_FJBPDHYSY
fJBYpSSSSSSw
)))[FJBZ
[FJBZEFF]G@
[FJBZ]H[NHDLZ
fJ[[[c[[[
fJ[[[C[[[B[[[QNMdN[[[
[[FJCZFBL
fJ[[[d[[[
fJ[[[D[[[
fJ[[[d[[[6[[[;
F@@JDHGMBHXH
FJDH_PXGXD]
FJDKKCGAELFDJ
FJ_DYSS_AXX
fJ[[[@[[[E[[[
fJE1bgfG_
FJ_E][GGO
fjEgqgg.
fJ[[[F[[[
fJfllllllllmllllOllylm
FJFSQNLC_
fJ[[[g[[[
F_JGBJZJK_SNN
f||||||||||jg|||l||||||||||||||||||||||tg||||||||||||||
FJgmegfG
f||jg||Og||2g||
FJGOPCYX
FJGOQBBPPMY_P_FX
FJGZZDZGB_]
f@[[[J[[[H[[[
FJh2QSS[s
F)))JHEE
FJhggfw6
FJhggfwBm
F?JhggfwD
F@JHHHHP@GEDJKB@
]FJH]JA]ALJFGGLJ]KHJB
[_F[[_JHL[Y
fJ[[[H[[[O[[[
[@F]JHYZ
fJ[[[i[[[
f@[[[J[[[I[[[
fJ[[[I[[[
f][[[J[[[I[[[H
fJ[[[J[[[
fJ[[[j[[[i[[[
fJ[[[J[[[I[[[
FJJKCE[A
FJ[JKCOGC
F_JJMBC@
fJ[[[k[[[
FJKFFBDH[BZ
fJ[[[k[[[i[[[
fJ[[[K[[[J[[[K
F_JKPPDP@S_HPYXPCZ
fjkSdgfG;K
#fJ[[[K[[[z[[[
fJ[[[l[[[
fJ[[[l[[[d[[[
_F@JL]_D
_F@JLDH@E
_F@JLDH@Ev
_F@JLDH@EZZ
fJ[[[L[[[F[[[
_F@JL][FEE
_F@JLGF]@OP
FJLHGY[LZZ
f)))J[LH]L
f)))J[LH]LFKCLJ]
F)))J[LH]LFKCLJ]
fj?llllllllmllllOllylm
fjllllllllmllllOllylm
FjllllllllmllllOllylm
FjllllllllmllllOllylm2
fjllllllllmllllOllylmc
Fjllllllllmlll]Y]]
FJ[LM@[LJ]
]FJLSJOXM
.)))[FJLZ
_F@JLZD@]A
!)))FJLZZ
f@[[[j[[[m[[[
f_[[[j[[[m[[[
fJ[[[M[[[
fJ[[[M[[[L[[[
FJMOYPAZOK]XM_FQ
f@[[[J[[[N[[[
fJ[[[N[[[
fJ[[[n[[[8[[[;
fJ[[[N[[[B[[[c
_[FJNCPD
)))FJ]NHQZD
FJ]NHQZD
FJNXCKJM_]
fJ[[[O[[[
fJ[[[o[[[9[[[;
FJO]BDKP@OQ_F]Z
fJ[[[O[[[C[[[?
[FJOSLPS[FL]
FJOYCM_PMOHHZ
fJ[[[P[[[
Fjpgppepq
FJpgppepq
FJpgppepq5
fJ[[[p[[[w[[[
FJPZJ_MAA_E
fJ[[[Q[[[
fJq3dH3*d
FJQASSSSSSSH
fJQa]]Ye@GB
FJQBL[GLE
FJQD@F]LZ
FJ_Q_GSAPYYMB@Z
FJQHN_]L
FJQMFYH]L[Z
FJQOEHZ]L[
FJQ[SSSSSSSSH
FJQuD@FZL[]
fJ[[[q[[[w[[[
FJQYHZLE
fJ[[[r[[[q[[[
fJ[[[_[[[S[[[
F_JS]JSA
fJ[[[T[[[
fJ[[[T[[[J[[[
fJ[[[t[[[m[[[
fJ[[[U[[[E[[[;
FJuGLYFuEELAZuZNG@]]LZ
fJ[[[u[[[t[[[K
fJ[[[v[[[
fJ[[[w[[[t[[[
fJ[[[W[[[V[[[
fJ[[[x[[[
fJ[[[X[[[M[[[;
FJ_XO_ABE
fJ[[[x[[[|[[[|	RdX[[[
fJ[[[X[[[S[[[
FJXXFZAZ
FJYJEX[KLAPBNZ
FJYOPNMKMJ
fJ[[[y[[[p[[[
FJYPHYJY
FJYSY[Z@P@
'fJ[[[z[[[
)fJ[[[z[[[
fJ[[[z[[[
FJ[ZLKCPMZ
FJZLMH[K
Fjzpgppepq
FJ[ZQOLN
'fK[[[	[[[
[[[_?(fK[[[;[[[
fK[[[)[[[([[[
fK[[[)[[[.[[[
fK[[[*[[[
fK[[[*[[[)[[[
fK[[[.[[[
fK[[[;[[[
fK[[[;[[[:[[[
fK[[[?[[[
fK[[[@[[[
fK[[[|[[[
 ||f!||K!||0!||
fK[[[0[[[(
fK[[[0[[[4[[[|
fK[[[0[[[6[[[ 
[fK[[[2[[[1[[[V
fK[[[3[[[
fK[[[4[[[
fK[[[8[[[
fK9gfGMJC2CD3
FKAHHG_CAEN
_FKANGNHGB
fK[[[b[[[
fK[[[B[[[A[[[rD
[FKBGDPBCZS
F_KBPJLD
fK[[[C[[[
	)))FKCA]v]Y
)))FKCA]]Y
FKCBQH[L
f.kccgfG
)))FKCDF_L
FKCEFJH]F[
#)))FKCGHDL
FKCILIJ]GIL]
FKCILIJI]
FKCJFGO@N
FKCJ[LH]L
FKCLB]iLQYEF@]
fKCLJ]))
 )))FKCLJ]
)))FKCLJ]
:)))FKCLJ]
;)))FKCLJ]
FKCLJ])(
FKCLJ]))
FKCLJ]D@J[FZFO]
FKCLJ]EFJH]@FGGHDL
)))FKCLJ]F
FKCLJ]@F
FKCLJ]GHDL
FKCLJ]GHDLOF[
FKCLJ]GL]
FKCLJ]@GZ]HGJL
FKCLJ]iHKCH_HQ
FKCLJ]JEHZZ
)))FKCLJ]JEHZZ@M
FKCLJ]JEHZZ@M
FKCLJ]JFMLKHZL
FKCLJ]JH]LNF[P
FKCLJ]KP]L
FKCLJ]KP]Lrt
FKCLJ]@_LE@GL
FKCLJ]LG][P
fKCLJ]l_LG]))
FKCLJ]L_LG]
FKCLJ][LOELJ]@FG
FKCLJ]]LQ]
FKCLJ]_L[Z@FG
FKCLJ]@M
FKCLJ]MH]H
fKCLJ]mH]Hy[F_@ML[
FKCLJ]MH]HY[F_@ML[
FKCLJ]M@[LJ]F[PZL[_@JLZ
fKCLJ]mLO))
FKCLJ]@MUOF[LHJA
FKCLJ]M[Z[MF]GL]
FKCLJ]]PYL
FKCLJ]RrJAH[trJFG_L[]t
FKCLJ]RrJAH[trKP]Lt
FKCLJ]rv
FKCLJ]uQ
FKCLJ]vJ[LH]Lv]LZ]vF_L[[@ML
FKCLJ]vY[F]FvLQ]LGM))
FKCLJ]Y@GNJHZ]EL
FKCLJ]YZFKCLJ]
FKCLJ]YZFKCLJ]UZLELJ]
)))FKCLJ]Z]F[HNL
FKCLJ]Z]F[HNL
FKCLJ]ZFJBZY[FQP
FKCLJ]ZLGML[
FKCLJ]Z]PEL
FKCLJ]	ZPZ]LD
FKCLJ]ZPZ]LD
")))FKCL_LG]
FKCLQJLE
)))FKCL]ZA
|)))FKCL]ZA
fKCMH]H))
FKCM[@_LFKC
FKCML_ML_
 )))FKCNL]
)))FKCO@EL
FKCOFEML[
FKCOFEML[@]LD
FK_C_PLYMLGCLK
FKCQDEA]]Y
FKCRNFFNELTLJRNFFNELTRNFFNELT]G
fKCUFC	f
?)))FKCvJFEv
FKCY[FJLZZ
.)))FKCZA
((FKCZALEE
)))FKCZALEE
FKCZALEE
FKCZYNGBJDZPOAZ]
fK[[[D[[[
fKdI[[[;[[[:[[[
FKDMHNY]F]OSYKXDQ
F KdP[[[
_FKDPLDOC_O
FKdZ[[[#[[[
fK[[[e[[[
fK[[[e[[[d[[[
FKE;E9E@E
FKEFJFDDL[JL
FKEFYLEEL]]@L[@
fK[[[f[[[
fK[[[F[[[
")))[FKF]
f[KF]dH@GhJ]@_@]P
Fkfg'kgfG!
FKfgodgfG4
#)))[FKFJFYP
fK[[[g[[[
fK[[[G[[[
fKg	cgfG
FKG_GANQBO_XE
FKG[K]B_@
FKGPDKGAL
[FK@GvGBYMN
FKGZBASL
FK@GZY@[H]@FGZ
fK[[[h[[[
FKH]JADFML
'fK[[[h[[[o[[[
]FKHSXPZKJBKB
FKHZH]ZJ
]FK@HZK@LELOLEM
'fK[[[i[[[
fK[[[i[[[
FKICLJ]GL]
fK[[[i[[[n[[[
fK[[[j[[[
fK[[[J[[[
f_[[[K[[[J[[[G
fK[[[k[[[!
f|kKBNCpo|N
FKKFSBAYAN]SM]_ASGMCB
fK[[[k[[[j[[[
fkK]Rp]Z_Z
FKKSOJL[CS
fK[[[l[[[
F)))K[L[
@f][[[k[[[l[[[4
fK[[[l[[[b[[[Q
fK[[[L[[[B[[[WpAdy[[[
]FKLD]]B
[FKL[]FEHA
FKLHOZ_Y
[FKL[]J@
[FKL[]KCQAK
fkllllllllmllllOllylm
fkllllllllmllllOllylm]
fKllllllllmllllOllylm
[FKL[NM[@EE@GN
FklppPropDataW 5
F_KLPXXDZY
FKLXCLMQO[
[FKL[]Y]
[FKL[]ZFG
fK[[[m[[[
fK[[[m[[[b[[[
fKmggfwk
fK[[[N[[[
]FKNCKLQS]
F[KND[PX
]FKNHLCC]F
[F[K_N[J
fK[[[n[[[l[[[
fK[[[N[[[L[[[
FKNLLO_FMFB[H
fK[[[N[[[M[[[
FKNOQML_MNXL[EOSY
f][[[k[[[o[[[
fK[[[o[[[
fK[[[O[[[
FKogqggY)
FKOJY@GSYM
FKOL_HEvZYHJLM
FKOLXKFXG[
fK[[[o[[[n[[[
FKOPSAAOZ[
fKOveLHBJFML
fK[[[P[[[F[[[
fK[[[P[[[I[[[
@FkpRSSBED
fK[[[p[[[t[[[
fK[[[P[[[U[[[
fK[[[P[[[V[[[A
fK[[[p[[[w[[["
]FKPYHZZ@]
FKPYJHJ_
@FKP]ZKM]PA
fK[[[q[[[
fK[[[Q[[[
FK@QAJDM
_@FKQDJS
fK[[[q[[[j[[[u
F_KQ]MNBCC_P@
fK[[[q[[[p[[[B4Hdx[[[
fK[[[Q[[[W[[[
f|||k||rk||
fK[[[r[[[p[[[P
fK[[[R[[[W[[[
'fK[[[s[[[
fK[[[|[[[s[[[
fK[[[s[[[
fK[[[S[[[
FKS[JNNMHEHE
fK[[[_[[[S[[[#l
FK@SPSSSS[CCZRNI
:fK[[[t[[[
fK[[[t[[[
fK[[[T[[[
fK[[[T[[[K[[[H
fK[[[u[[[
fK[[[U[[[
fK[[[U[[[@[[[
fK[[[v[[[
F[[[KVRdK[[[
fK[[[v[[[t[[[
fK[[[V[[[T[[[3G
")))FKvZ]H[]
fK[[[w[[[
fK[[[W[[[
FKwCLJ]GLw]
fK[[[x[[[
_FKXQON]MA
fK[[[y[[[
fK[[[Y[[[
FKYBPZFL[
FKYgycgfG
FKYLMMLZL
fK[[[z[[[
fK[[[z[[[|[[[
FKZbgfG(8
FKZL[_L[
fKZX[hJ]@_@]P
FKZZZLDYD]S
f@[[[l[[[
f_[[[@[[[l[[[
f_[[[l[[[
f|||l||||||||||||||||||||||
f|||l||||||||||||||||||||||||||
f@[[[L[[[
f][[[L[[[
f_[[[_[[[L[[[
f_[[[L[[[
fL[[[ [[[
fL[[["[[[
fL[[["[[[ [[[
fL[[[#[[[
fL[[[([[[.[[[
fL[[[;[[[
fL[[[?[[[
fL[[[][[[
fL[[[_[[[][[[
fL[[[|[[[
)))[@F]L[
fL[[[0[[[
f)l0dAqif
fL[[[1[[[6[[[
fL[[[;[[[2[[[
fL[[[2[[[
fL[[[3[[[
fL[[[3[[['[[[
fL[[[3[[[1[[[
fL[[[3[[[2[[[
fL[[[4[[[
fL[[[5[[[
fL[[[7[[[
FL7AAAAAA@AAAAAC
fL[[[8[[[
	fL[[[9[[[
fL[[[9[[[
fL[[[:[[[9[[[s
fL[[[a[[[
flactMoveCopyW
FlagsAttribute
Flags for IFileTypelib.FlagsWW?
Flags that control file repository behaviorWWW
Flags that control the caching and fetching policies of a queryWWW
Flags that control the inf serializer behaviorD
FLAJHXKZ
FLALXZQ@HD]]
FlashProtectedRegionValue
FLAYJY_@
F]LAY][XK
fL[[[b[[[
F_L[B@EE
FL_BLHSXDX
FLB]SYZJP
fL[[[B[[[u[[[
f_[[[l[[[c[[[
f@[[[L[[[C[[[
f_[[[L[[[C[[[.
FLCLQZQFZ
F[LCMFYQ
FLCXKNLBJ[F
FLCXL]FP
FLDCOBSOK
F[LDF[HELZHKFNHMFZ
f?L?dJ-ad
FLDMSYOONN
fL[[[D[[[s[[[
*FLdV[[[
fL[[[D[[[y[[[
F_LdY[[[
fL[[[e[[[
fL[[[_[[[E[[[
fL[[[E[[[
fle7do'4'fleUUBUU
fle7do'4'fleUUBUU-
fle7go'4'fleUUBUUm
]F[]LEE@G@
F_L[EFHM@GN
FLEM[MOF
FLEMPOQS]]AYYZQJQJYOZLQ
fleo'4'fleUUMUU
fleo'4'fleUU@UUWG
fleUUIUU
fleUUOUU
fleUUOUU0
fleUUOUU3v3
f[[[leYdT[[[e[[[
fL[[[f[[[
fL[[[_[[[F[[[
FlfgfGna
flFlagsW
FLFPYM[X
[FLFXO@__JD
f@[[[L[[[G[[[
f[[[[L[[[G[[[
fL[[[G[[[
f(LG[(eg
fLg;ggfG
)))F[@LG]H]@FG
F)))LGJFM@GN
F@LGLDAZENJ
F_L[GM@EOPDCQPCJE
]_@FLGPSKJ
#Flgqgg;
f||lg||Ug||8g||!g||
F)))L@GZL[]
]F[[LG]ZLH[JA
_FLHCFYEDCNPZZ_P
f)))L_HE
FLHG_XHX]
F_L[][H_HYYYH[]
[FLHOPEDSE
FLHPBPFQ_ZL
F_L[HYYZ@NGEHKLEYH[]
FLHZXQBZ
fL[[[I[[[
[FLiAH@EJF]]FG
flightId
fL[[[I[[[L[[[
FlIpgppepq
fL[[[J[[[
FL[[JFML
FLJJO_CJZX
fLJllllllllllllwMO.!V"	
)))F[[LJ]uQ
f||lk||bk||
f||Lk||Bk||
FL_KDPAGH
]F__LK_E
fL[[[k[[[i[[[V7
FlLGyyyyy
f)))L_LG]Z@
]F]L]LJH
!."fllllllllmllllOllylm
.fllllllllmllllOllylm
_fllllllllmllllOllylm
|fllllllllmllllOllylm
f .llllllllmllllOllylm
f"llllllllmllllOllylm
f'llllllllmllllOllylm
fllllllllmllllOllylm
fllllllllmllllOllylm'
fllllllllmllllOllylm?
fllllllllmllllOllylm[
!FllllllllmllllOllylm
!FllllllllmllllOllylm-
)FllllllllmllllOllylm
-FllllllllmllllOllylm
:#FllllllllmllllOllylm
?FllllllllmllllOllylm
F llllllllmllllOllylm'
F*llllllllmllllOllylm
F:llllllllmllllOllylm
F?llllllllmllllOllylm
FllllllllmllllOllylm
FllllllllmllllOllylm	
FllllllllmllllOllylm!
FllllllllmllllOllylm?
FllllllllmllllOllylm[
fllllllllmllllOllylm1W
F.llllllllmllllOllylm3
FllllllllmllllOllylm3
fllllllllmllllOllylm4
FllllllllmllllOllylm4
fllllllllmllllOllylm7|
fllllllllmllllOllylmA
FllllllllmllllOllylma:g
fllllllllmllllOllylmb
fllllllllmllllOllylmb'
)F(llllllllmllllOllylmb
FllllllllmllllOllylmc
fllllllllmllllOllylmC8S
)|fllllllllmllllOllylmD
fllllllllmllllOllylmd2
fllllllllmllllOllylmdB
fllllllllmllllOllylmE
fllllllllmllllOllylmEKC.
fllllllllmllllOllylmeY
fllllllllmllllOllylmFT
FllllllllmllllOllylmh
FllllllllmllllOllylmh#V
FllllllllmllllOllylmiw
F')llllllllmllllOllylmj
FllllllllmllllOllylmJ
(fllllllllmllllOllylmk
FllllllllmllllOllylmL
fllllllllmllllOllylmN
FllllllllmllllOllylm;N
F*llllllllmllllOllylmq
fllllllllmllllOllylmR
fllllllllmllllOllylmS
fllllllllmllllOllylms4
f?llllllllmllllOllylm.!V
FllllllllmllllOllylmv
FllllllllmllllOllylmY
FllllllllmllllOllylmZ"Ouga
fllllllllmlllpMO8) V.
#fllllllllmlllx
f?llllllllmlll]Y]]
fllllllllmlll]Y]]
Fllllllllmlll]Y]]
Fllllllllmlll]Y]]o
FLLX_Q_]]PM
fL[[[m[[[
fL[[[M[[[@[[[
flM2d"d!d
fL[[[m[[[l[[[
F_L[[@MLD@DL]PYL
F]LMOMJJ
fL[[[n[[[
	)))@F[LN
)))@F[LN
F_L[]@NA]EP
fL[[[N[[[B[[[
_FLNEZHGNJF[Y
FL]NGB[L
F)))[LNHMMAB
[FLNOMOGJ]
fL[[[o[[[
fL[[[O[[[
fL[[[O[[[N[[[
FlowLayoutPanel
flowLayoutPanel1
flowLayoutPanel1_Layout
f@@@@@@@@Lp@
fL[[[P[[[
F@@@@@@@@Lp@b
FLP_GHB]
]Flpgppepq
]F@LPOBXAMJD
f@@@@@@@@Lp@r"
F@@@@@@@@Lp@t
fL[[[P[[[U[[[
fL[[[p[[[w[[[
FLPXOO@K_
'fL[[[q[[[
f)))]LQ]
fL[[[Q[[[
FLQAN]FCGGQ
FLQG[ZJD
f)))LQ][HJ]F[Z
fL[[[][[[Q[[[iy
@FLQJLY]@FGCH_H
@FLQJLY]@FG@FLQJLY]@FG
FL]QKGB@FMZDAZCQPFJ
fL[[[Q[[[M[[[t.
fL[[[q[[[v[[[
]FLQYFGLG]@HE
fL[[[R[[[
fL[[[R[[[E[[[
fL[[[R[[[T[[[5g
fL[[[s[[[
fL[[[S[[[
FlsAlloc
FlsGetValue
fLsH0PUg
FLSL]OXX]L
FLSPOMGHNZGOOGJ_XL
FlsSetValue
FLSSQABE
FLSSQAJE
|flSSSSSSSS
FlSSSSSSSS0
flSSSSSSSSSSSSSSSS
flSSSSSSSSSSSSSSSSSSSS2
FlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS1
flSSSSSSSSSSSS	zW
fL[[[s[[[v[[[
F_LSYK[[SGD
	fL[[[t[[[
fL[[[t[[[
fL[[[T[[[
fL[[[T[[[H[[[s_
|fL[[[U[[[
flUKjlSSSSSSSSSSSSSSSSZ
Flushes internally cached componentWWW-
Flushes internally cached localized componentW9
FlushFileBuffers
FlushInstructionCache
FlushPartition
FlushProcessWriteBuffers
FlushTraceW
FlushViewOfFile
?FlushWorkingSet@HWNDElement@DirectUI@@QEAAXXZ
fL[[[v[[[a[[[
((F[Lv]HZBFGLM[@_LEF
fL[[[W[[[
fL[[[w[[[v[[[
FLXF_AMHBKG
fL[[[X[[[H[[[
FLXHBGBYLX
FL@XJC[KQH_
fL[[[X[[[S[[[
fL[[[X[[[T[[[L
fL[[[X[[[U[[[K
fL[[[Y[[[
FLYBKMKGAGFBSKN[
fL[[[Y[[[I[[[
FLYMAYC@PC
fL[[[Y[[[T[[[Hw
fL[[[Y[[[T[[[Qv
fL[[[Y[[[V[[[
FLZCMMGQ
F_L[Z]FJB
FLZHSLJDF
)))FLZ]LDH[@GL
FLZ]LDH[@GL
)))FLZ]L[_[HHOPZ
f@[[[m[[[
f[[[[m[[[
f][[[m[[[
_fM[[[;[[[
f[[M[[[_[
f_[[[M[[[
fM[[[	[[[
fM[[[([[[
fM[[[*[[[
fM[[[;[[[
fM[[[?[[[
fM[[[@[[[
fM[[[|[[[
fM[[[0[[[
:fM[[[0[[[6[[[(
fM[[[1[[[
fM[[[2[[[6[[[
:fM[[[4[[[
|fM[[[6[[[
fM[[[7[[[)[[[
fM[[[a[[[
FMAAAAAA@AAAAAC
FM@@@@@@A@cp@f
fM[[[a[[[e[[[
FM_[ALEYL[
FM_[ALEYL[JADFM
@]FMAXDHZ
FMA_]XL[JH
fM[[[B[[[
FM@@@@@@B@cp@f
fM[[[B[[[G[[[
FM[@]BGDrL_LG]Z@
FM[@]BGDrL_LG]Z@t
FM_[BHPXJ[OG
f@[[[m[[[c[[[
fmcaUUcUUo
FMCKBFPMX
F@MCSKKXP
fM#)d:.BddN
fM[[[D[[[h[[[
FMdT[[[Q[[[F[[[R]xdW[[[P[[[
fM[[[@[[[D[[[Z
fM[[[e[[[
fme7ao'4'feeUUBUU
fme7do'4'feeUUBUU
fme7fo'4'feeUUBUUrU
fME]KGL	e|j
fME]KGLwMFL
fME]KGLwMPKD][AGF
fME]KGLwMPKD][AGF:
fME]KGLwMPKD][AGFL
fME]KGLwMPKD][AGFt
fM[[[F[[[
]FMFE@Z]
fMF[FB@jHDL[H
]FMFHNLGMH
f)))MG_AGAF
FMGC[NQ]
FMGFBEHZZ
Fmg_fgfG
FMgGegfG
f#!mggfw0
F!mggfw2
-F)mggfw@d.
f)mggfwP
f)mggfwx
f||mg||Jg||3g||
FMG@PQSOMDD
FMgqggKSl
FMG@[_SSOHFJG
fM[[[_[[[H[[[
fM[[[H[[[
f)))M[HACS[AM
FMHGAKM[YE
F)))MH]H]PYL
]FMH]LZ][@GN
)))]FMHPZAFYY@GNDH[]
]FMHPZ]FYO@]GLZZ
F@MhZZ@Z]
fM[[[i[[[
fM[[[j[[[
fM[[[:[[[?[[[J
F]MJABCBB@]
FMJE_DZQ
fM[[[J[[[G[[[5
fM[[[j[[[h[[[
FMJM@@SDJ]
FMJNLA[DBY
FMJ[SE_FGN_BCN
FM[[KAJJ
FMKC]FKPXDJ
[FMKEYrStr
')))FMKJHM
fMKJJFGO
')))FMKJJFGO
FMKJJFGO
FMKN@XJDB
FMKQSJQHH
[FM@K[]ZQSCK
f@[[[m[[[l[[[
fM[[[l[[[
f[[[[M[[[L[[[
fM[[[L[[[
_FM_LBASG@JZ
)))F[ML[DH@Gv@GOFE@Z]vCZvGFF[ML[E@Z]
f)))_@MLF
FMlgfG1h
F[ML[@GN
f][[[m[[[l[[[H
.)))FMLH]
]FM@[LJ]EPJFG_L[]]ALKP]LH[[HP
F[MLJFML
)))FMLJ_L[
((FML[[L[
fMllllllllmllllOllylm*
FmllllllllmllllOllylm
]FM(llllllllmllllOllylmy
f[ML[LMm@J]@FGH[P))
F[ML[LMM@J]@FGH[P
F[ML[vMLJLDKL[v
FMLZDSFLX
fM[[[m[[[c[[[
FMMGAServerSetup
FMMHL[CP]JKQ
')))_F@MMHZ
FMMN@LK[
F[[[MMSd][[[E[[[
FM_MZJZKKCQBN
)))[FM[@NFMH_P
[FM[@NFMLZHE_F
Fmngqgga;V
[F@MNHDL
fM[[[n[[[m[[[B
FM[NOA]NP
FMNS_XXXKQ
FMNSZXBDCB
:fM[[[o[[[
fM[[[o[[[
fM[[[O[[[
fM[[[o[[[l[[[
FMOMJ_ALDK]A
FMOQ]JL@CSDAD
fM[[[p[[[
fM[[[P[[[
F[@MPBHD
FM]PCM_]]_H_SSX[Z]
FMPDZLG[DEJHYGO
FMP]FNOEPP
(FMpgppepq
@FMPMC_O
fMPOMFwiKALEIPwzIAFJG_wxDIQMZm
[FMPQDD[S
FMPQPK]MGZ
FMPZLYDA
fMPZZLPzYEHZAhJ]@_@]P
fM[[[q[[[
fM[[[Q[[[
fMQ@@@@B@A@2 @Q
[FMQCSSNO
F[MQ[FND_AZ
fM[[[q[[[u[[[
fM[[[R[[[I[[[
fM[[[R[[[T[[[
fM[[[_[[[S[[[
fM[[[s[[[o[[[
fM[[[S[[[R[[[
fmSSSSSSSS*
fmSSSSSSSSSSSS
FMSXDJDSL_AE
fM[[[_[[[T[[[
fM[[[U[[[
fM[[[U[[[O[[[qi!d][[[T[[[K[[[
fM[[[u[[[t[[[3X"eR[[[
fM[[[v[[[
fM[[[V[[[
FMvJFGO@
FMvJFGO@N
 fM[[[V[[[J[[[x
fM[[[v[[[u[[[
fM[[[w[[[
fM*WcgfGe_xvgqggFTe
fM[[[W[[[G[[[
*f][[[M[[[x[[[
fM[[[X[[[][[[
fM[[[X[[[_[[[
fM[[[X[[[K[[[
!fM[[[X[[[R[[[
fM[[[X[[[T[[[
fM[[[y[[[
fM[[[Y[[[|[[[
F_MYABNEOKZO
FMYC]ZGAJ]FO_N@X
fM[[[Y[[[D[[[
)))_F@MYHNLvEFHM
fM[[[Y[[[J[[[
_FMYJBYYKM
FMYNBEPXZ
FMY_PCO]__E_]DK
fM[[[Y[[[r[[[
fM[[[Y[[[s[[[
fmy]xyyyyyyyyyy
fM[[[Z[[[
)))FM@ZAHAFZ]
FmZdV[[[v[[[
)))F[M@ZFZ
_F@MZ@GB
[FMZJSKYSO
fM[[[z[[[p[[[s
FMZ_XGFENAF
FMZYF@[K
f_[[[N[[[
fN[[[([[[
fN[[[?[[[
fN[[[_[[[@[[[
fN[[[4[[[
fN[[[5[[[
fN[[[![[[ [[[6
fN[[[6[[[
fN[[[6[[[5[[[E
fN[[[8[[[
f)))]@NA]]A@GNZ
fN[[[A[[[f[[[
]FNA[MOZ]LY
fN[[[b[[[
fN[[[B[[[
fNB9dX[le
fN[[[b[[[e[[[
FNBY_EYH
f_[[[N[[[C[[[
fN[[[C[[[B[[[
fN[[[c[[[f[[[
]FNCFNPFY
FNCMC]XAAHXMPO
fN[[[C[[[q[[[A"
fN[[[d[[[
FNDDSCOH
FNDDXOLY@J
f(nDestFieldFocusW@
FNDGJMCGBG[QMDHN@
FNDXHLKMLDP
]FND]Z][@GN
FNE[C]SQL
f())NEFKHE
F)))NEFKHEJFGZ]
FNEOFK_FKY
f_NEWMAIL_NOTIFICATIONIdl
fN[[[f[[[
fN[[[_[[[F[[[
f)))NF]F]ALE@GB@G]ALLDH@EHGMKLJFDLHMD@G
FNF]F[FZ
f@[[[n[[[g[[[
f][[[n[[[g[[[ 
fN[[[g[[[
fN[[[G[[[
f||ng||4g||
F[NGAKOS
F]_NGAMJF
F@_[NGCHSCNSX
FNgeugfG
F[@NGF[L]FZB@Y]A@ZO@EL
f[NgFMLe@Z]hJ]@_@]P
F[@NGHDL
F[@NGHDLrZE@ML]FNNEL
F[@N@GHE
F[@N@GHE]H[NL]
:)))F[@N@GHEO@ELZKHJB
f||ng||Mg||(g||
FN[gMogfG
fn[gqggg
.)))[FN[H
 )))F[NHG@J
[FNHGJADPCQ@
F[NHG@JHEZAFY
F[NHG@SH]@FGUEFN@G
F[NHG@SHZPFG
FNHM@KAK
fN[[[h[[[o[[[
FNH[OJLBCFXSSGX]XGAL
f][[[N[[[i[[[
FNIDLEIdlWWWd
fN[[[J[[[
fN[[[@[[[j[[[A"
_FNJACCZ
F[NJFDQH
fN[[[J[[[I[[[q
fN[[[k[[[
Fnk'dgfG
fN[[[K[[[f[[[
fN[[[k[[[h[[[
fN[[[k[[[n[[[
f[[[[n[[[l[[[
fN[[[l[[[
f_[[[N[[[L[[[
)))]FNL]
F]NLBFGLLOSG
[FNL[KHZZFGZ[LGH[]
FN]LLCKA
FN[@@LLJBGH[GAL
FnllllllllmllllOllylm
FNllllllllmllllOllylmv
@F[[NLNYALMG
f[[[[N[[[L[[[u
f_[[[n[[[l[[[v
[FNL[ZJF[Y
f@[[[n[[[m[[[
f_[[[n[[[m[[[
fN[[[m[[[
!!)F))))(N)))M)))
FNMBYCX]X
fNmgqggX
fN[[[n[[[
fN[[[n[[[d[[[
]FNNELB@EE
)))]FNNELMLOLGML[
]FNNELvEFJHELZ
[FNNZ]H[
fN[[[o[[[
FNOKGSZF
FNOMBNL]JJA
FNPCD[MXSBOZ
@FNPCFO]A[
fNpgppepq
fN[[[p[[[m[[[
FNPNXBYJM
F_NPS@FM
FNQB_]XECXH
[_FNQDGOY
FN]Q_GF]
FN]]QKQC
fN[[[r[[[
FNRM_CleanupGarbageFiles
FNRM_GetRegistrationLevel
FNRM_SetActiveFile
FNRM_UnregisterAllPerUserFilesExcept
fN[[[r[[[n[[[|
fNsD704]0
FNSDDQLHHF
fN[[[S[[[H[[[
FNSSQE@[EBX
FNSYFLAO
)fN[[[S[[[z[[[
fN[[[T[[[M[[[
fN[[[u[[[
fN[[[U[[[h[[[
fN[[[U[[[T[[[
fN[[[w[[[
fN[[[x[[[
F]NX[DAX
FNXDPKNZQ
]FNXNKLHP
F]N]XPY[G
f_[[[N[[[x[[[X
fN[[[y[[[
fN[[[Y[[[g[[[
fN[[[Y[[[h[[[
F]NYHHHFS
fN[[[Y[[[j[[[
fN[[[Y[[[w[[[
fN[[[z[[[
fN[[[Z[[[
FN_ZH]DBPCK
FNZM[F@M
f[[[[N[[[z[[[u
FNZYSJAGC
f@[[[o[[[
f][[[o[[[
-fO[[[	[[[
fO[[[	[[[
fO[[[*[[[-[[[!
fO[[[][[[
fO[[[|[[[
|||||||||||||||||FO
fO[[[0[[[
fO[[[0[[[7[[[
fO[[[1[[[
fO[[[1[[[6[[[
fO[[[:[[[1[[[H.MdL[[[9[[[2[[[
fO[[[2[[[1[[[
fO[[[3[[[
fO[[[4[[[
fO[[[6[[[*[[[
Fo6:xyyy
fo[7duJhd
fO[[[:[[[9[[[
FO@@@@@@A@
!F@@@@@o@@A@AAac
FOAAL[_]OJBF
FOABEFQG
fO[[[a[[[f[[[
F]_OAFKCZQHB@
FOAODJQO_
@FOAPDBHQLPZ
FOAQ]LSQ
fO[[[b[[[
fO[[[B[[[@[[[
F[]OBBXCPOGDBYJ
FOBJLKCXH
FOBLAKJMC_QM
fo]bpgppepq6
fO[[[c[[[
fO[[[c[[[b[[[5
focegfGx
F_OC_M[LP
fO[[[d[[[
fOdJ[[[0[[[([[[
FODNPPGK
FODQJY_GP
FOD]XYCXFJESN][
fOe4dT:wd
F)))O@EDLJ[LZ]@GLAM
)))FO@EL
 )))]FO@ELH
F)))@O@ELZPZ]LD
fO[[[F[[[
fOf1d|ZVd
F)))OF[DHJ]@FG
FOFD@KZKOGS
FOF"F;FAF"F
foffset_rva
foffset_va
f)))OF[LHJA
fO[[[g[[[
fO[[[@[[[G[[[
Fogiggfw
f||og||Kg||5g||
Fog!kgfGv
f[[[.;ogL[[[
fogqgg(lcJl
FOgqggNJ
f||og||Zg||Eg||0g||#g||	g||
fO[[[h[[[
FohbgfG6
FohIbgfG
f)))OHJLQ][HML
FOHPKYPQBNLMXZGL
FOHZ@KGZLPQNCAZDHB
fO[[[i[[[
	fO[[[I[[[
fO[[[i[[[h[[[
fO[[[I[[[H[[[
-fO[[[j[[[
FOJHPZZOZBH
F[OJ]QMGBKO
FOJ@ZCLQ
fO[[[k[[[
fO[[[K[[[
fO[[[K[[[A[[[
F[O]K_F[FSLDOQB
fO[[[K[[[H[[[m
fO[[[k[[[m[[[
fO[[[L[[[
fO[[[l[[[c[[[
FolderCount
FolderCreateCount
FolderEnumCount
FolderFileCountThreshold
folderguard
FolderGuard
FolderGuardDispatchLimit
FolderGuardDispatchTimer
FolderGuardID
FolderGuardPaths
FolderGuardState
folder_redirection_task.cpp
folder_redirection_task.h
folderredirectiontasktest.cpp
FolderRenameCount
FoldersCleaned
FolderSizeThreshold
foldertree.stub.cpp
F]OLFYAA
folgqgg3
follllllllmllllOllylm
FollllllllmllllOllylm
FollowupAction
FOLMJYL_F_XY_
fO[[[M[[[
fO[[[M[[[@[[[
fO[[[M[[[C[[[Z
f[[[[O[[[M[[[di#eH[[[N[[[
FO[MKMGY
FOMK[OY_PO
FOM@LE@GNLG
??FOMMMd6r
fOMMMOMMM
)fO[[[n[[[
fO[[[n[[[
fO[[[N[[[D[[[.
fO[[[n[[[m[[[erKdR[[[
?fO[[[N[[[M[[[N"QdB[[[
|F| |||ONNNN|||Y
Fontdriver
FONYHHD_CSQ
fO[[[o[[[
fO[[[O[[[
F_O_ODBG]
FOOE@GLHMM[LZZKFFB
FOOE@GL[LHML[
**.FOOFOOJFYP
FOO@J@HENFFNELHMN[HG]Z
!)))FOO@JL
)))FOO@JL
?)))FOO@JL
FOO@JLKEFN
fOO@JLlQL|[EnL]
)))FOO@JLN]HLQJLE
FOO@JLO@EL][HGZOL[@G]L[N[H]@FG
FOO@JLvFOOi
FOO@JLvMFJ
FOO@JLvMJ
)))FOO@JLZJHG
FOO@JLZL]]@GN
FOOKPFGL@GrYAYvZ][LHDvO@E]L[vJ[LH]L
fO[[[O[[[N[[[
FOO@O@O@@
]FOOOOMMMM
footerpage
footerpage not available
FOOTERPAGE_SZ
footnote
FOOZL]vFYHJ@]P
fO[[[p[[[
fO[[[P[[[
fopclog2
FOPCLOG2_SZ
FOPCLOG_SZ
]FOPJN_CL
FOP[KGMH
_]FOPOLY]ZJDLHQ
FO]P@QDE
fO[[[Q[[[
')))]FO@Q
FOQADFNZYH
FOQCN_M_YD
FOQFC[MSXMX
|_Fo-qgfG
FOQLYXKFEMP
fO[[[q[[[w[[[
fO[[[q[[[w[[[Pt
fO[[[|[[[r[[[
fO[[[R[[[
force_dt
force_expensive_processing
ForceRemove
			ForceRemove 'Programmable'
Forces conversion of all registry entriesW
Forces processing of un-decorated models sections even if decorations are presentW0
force_unpacking
foreachi
?ForegroundProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
foreign function was passed an unsupported value type
FOREIGN KEY
'for' initial value must be a number
'for' limit must be a number
FormatEx2
format.include_level
format.include_module_name
format.include_timestamp
FormatMessageA
FormatMessage Failed
FormatMessageW
FormatPartition
FormatPartitionInternal
FormatPartitionInternal2
FormatPartitions
FormatPartitions2
FormatPartitionWithPath
FormatThread
FormatThread2
formatVer
form-feed
FormRestart
FormStartPosition
fO[[[r[[[q[[[
'for' step must be a number
forwardable
forwarded
ForwardReferral
ForwardWL
fO[[[S[[[
foSdgfGu
[FOSLPJA
fO[[[s[[[r[[[(xPd][[[
FOSSQE@YEBX
fO[[[T[[[K[[[
fotmatSignature
foU[[[	[[[
fO[[[u[[[
fO[[[U[[[
f;]Ou!f;]_u
Found a closing ) with no corresponding opening parenthesis.
Found duplicate node offset
Found Encrypted Doc
found invalid loader
found invalid plugin data
found_ix
fO[[[v[[[
fO[[[w[[[
fO[[[W[[[
foW4d@IUd
fO[[[x[[[
F[OXACHQFZE
fO[[[X[[[S[[[P
FO_YBXQJASKKC[_
FOYFKGEMPS
FOYNZACEHQS_
FOYQS[XFA
fO[[[y[[[x[[[
FOYXFQKOXLF
FOYXKZD[]J
fO[[[z[[[
]FOZCB]QFJA[GLEPL
fO[[[	[[[?[[[Z(CdW[[[
FOZLELJ]
fO[[[z[[[x[[[
fO[[[z[[[y[[[
fO[[[z[[[y[[[q
f[[[[p[[[
|fP[[[@[[[
f@[[[P[[[
f[[[[P[[[
f][[[P[[[
f_[[[P[[[
fP[[[)[[[
fP[[[)[[[.[[[
fP[[[:[[[
fP[[[@[[[
fP[[[_[[[
fP[[[_[[[][[[
fP[[[|[[[
@@@@@@@@Fp@@@@@@@@@@@
.)))F[@]P
:)))][FP
fP[[[4[[[*[[[F
Fp4gqggF
fP[[[5[[[
fP[[[7[[[5[[[#
fP7)dxmAe#)
f@@@@@p@@A@AAac
@@@@@@@@Fp@@@@@@@@@@@A@@Ep@Rh
FPAMFOYLOM
-fpaNJjSry
f@@@@@PA@P@ACac
F[PAQPJZD
fPatternsh
FPAYB_A_BD
FP_@]AZS
fP[[[b[[[
FP@BA@; T@@@@@
@@@@@@@@Fp@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@
FPBFFBNNGJZ
@@@@@@@@Fp@@@@@@@@@@B@@@Hp@]
@@@@@@@@Fp@@@@@@@@@@B@@@Hp@K
FPBQPMNABPCKM
fP@@B@vpP
FPBYOJMG@
[FPBYZEN
fP[[[C[[[@[[[
fP[[[)[[[-[[[c5
FPCAL[C[
fP[[[C[[[B[[[
]FPCFP_HN@GH
@@@@@@@@Fp@@@@@@@@@@@@@@Cp@d
@@@@@@@@Fp@@@@@@@@@@@@@@Cp@TR
@@@@@@@@Fp@@@@@@@@@@@@@@Cp@Y
FPCYNJP_C
fP[[[d[[[
F_Pd[[[[2
:FPdB[[[
@@@@@@@@fpDF
FPDJXCZXAJXJH]_X_
|fPdN[[[Z[[[
]'@@@@@@@@fpED
_@FPEGQAH[
]F[PEHGL
	fP[[[f[[[
fP[[[g[[[
fpg'fgfG
f||pg||[g||:g||!g||
F||pG||_G||MG||9G||(G||
FPGLD][OJLMX_PP
FPGMHDSLYPX_[E
!fpgppepq
'fpgppepq
)fpgppepq*
-fpgppepq
;fpgppepq
[fpgppepq
_fpgppepq
f!pgppepq
f]pgppepq|
fpgppepq
fpgppepq@[
fpgppepq]
fpgppepq]'
	Fpgppepq
(F@pgppepq
)Fpgppepq
:Fpgppepq.
_Fpgppepq
Fpgppepq
Fpgppepq)
Fpgppepq|
Fpgppepq0
Fpgppepq8
]fpgppepqb
fpgppepqB
FpgppepqB
f*pgppepqBt
FpgppepqcZ
F_pgppepqD
Fpgppepqe
fpgppepqFn
fpgppepqj
fpgppepqK
fpgppepql
fpgppepq)M
fpgppepqn
FpgppepqN
fpgppepqr
Fpgppepqt
fpgppepq[u
F(pgppepqu
fpgppepqUeM
fpgppepqV
Fpgppepqv
fpgppepqw
fpgppepqx_
[ fpgppepqy
fpgppepqZ
	FpgppepqZ
fpgppept
FpgqggBE
F||pG||TG||
fP[[[h[[[
FPHB@JHN@JHN@JHN@JK
[FPHEL[LGF_H]@FG
@FPHHPASO[ZJJ
'FpHHpgppepq
FPH[NEZ_GQ
F_PHN][PY
)fP[[[I[[[
fP[[[I[[[E[[[
fP[[[i[[[h[[[.
	@@@@@@@@Fp@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@ap@
@@@@@@@@Fp@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@Cp@
@@@@@@@@Fp@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@Kp@@@@@@@@@@@
'@@@@@@@@Fp@@@@@@@@@@@@@@Ip@@@@@@@@@@]Y]]
f[[[]pJd_[[[e[[[
fP[[[j[[[h[[[
fP[[[J[[[H[[[
FPJK[QKKJYJDO
FpJllllllllmllllOllylm
f@@@@@@@@_p@K
fP[[[K[[[
FPKllllllllmllllOllylm
f[[[[p[[[k[[[u
FPK_XEP[N
f@@@@@@@@_p@L
]FPLg3agfG
Fp-llllllllmllllOllylm
FP]LQJGC]PGQ
fP[[[m[[[
fP[[[M[[[
FPMA[Z[[[
FPMB]YAKK[LZYN]MPDL[J
FPMLJADK[DGQCFMLGXAFMML@P
@fP[[[n[[[c[[[
[FPNC_AYZ
fpNC]Y]]
fP[[[n[[[f[[[
fP[[[N[[[M[[[
fP[[[N[[[M[[[l
_FPNNDZDGKNMABYQA[
FP]NNMJPX[
|fP[[[o[[[
FP[OCDNEAOCDNEMOCDNEuQ
fpopnv99
fpopnx99
fpopny99
fpoVbgfG
fP[[[P[[[
#fP[[[P[[[B[[[
FPPBNHQ]_
FPPCD]LQFPPCD]H
fPpgppepq
fP[[[|[[[p[[['q
@_FPPY_EECNG_M
F_P]PYHLHKDSB
fP[[[Q[[[
FPQGFBQZGJ@HN@JHN@JHN@JKZSQXNHJH
__F[P@QKC
fP[[[R[[[
fPrintAttachmentsWWW
f)))][PRNL]
FPropCompareProp
FPropComparePropIdl
FPropComparePropIdlW
FPropContainsProp
FPropContainsPropIdl
FPropExists
FPropExistsIdl
-|FPropExistsIdlWW
FPSMDPJACSHP
FPSSS@SFJ
FPSSWLK9
fP[[[T[[[
fP[[[T[[[K[[[ 
fPTxREXQ(VSSW(|SSWAYQ(
fPTxRUXUD
f][[[p[[[u[[[
fPu4dt8cd
f[[[[p[[[u[[[M9
fP[[[v[[[
f_[[[P[[[V[[[
f[[[[P[[[V[[[2
f][[[p[[[w[[[.
fP[[[|[[[w[[[(
fP[[[W[[[
f_[[[P[[[W[[[G
fP[[[W[[[N[[[
fP[[[W[[[U[[[
fP[[[W[[[V[[[
FPXGXXH_J
	)))FPXQX
fP[[[y[[[
FPYKKHS]BK
F_PYQ]EBPD
F||pZ||EZ||
FPZQMXG[
fP[[[z[[[x[[[
f_[[[Q[[[
fQ[[[	[[[
fQ[[[*[[[
fQ[[[;[[[
fQ[[[@[[[
fQ[[[][[[
fQ[[[_[[[
fQ[[[|[[[
fQ[[[1[[[0[[[
F[q8pgppepq
fQ[[[A[[[
fqa@B)253[7
FQABCSEJ_X
fQ[[[a[[[f[[[
fQ[[[A[[[G[[[
fq@@@@@@@AHpF]q
FQ]AOXC[][_ED
FQAOZEP@Q]
F)))QA]]Y
@FQAZ[_O[MA
fq@@@@BDBAHp@a"
@FQBFTBF
F_QBLX_]BSB
FQBNXMDXNJ@[[]ZSGP
F]@QBOZG
@FQBUssRSS9
|fQ[[[C[[[
fQ[[[c[[[a[[[
fQ[[[C[[[B[[[q
FQCDJOYH[B
FQCpgppepq
_[]_FQCSOD
fQ[[[d[[[
FQDFOYEQ
:FQdL[[[
FQDLZ[KAQ
FQDMHZDM_J
FQDML]HYJ
FQD[@NA]]Y
FQDP]GMNQYLJKOHF
fQDyEyEy
fQdZ[[[f[[[
fQ[[[e[[[
FQEFFNM_[
fQEy[AMD
fQEyBULsgQEyE@FE@GBULs
fQEyBVBW
fQEyQBqL
fQEyQBwLx
fQEyQLo9
fQEyqSSSSXW_BF
fQEyWEeQEyAWL
fQ[[[E[[[z[[[
]FQEZ]H[]
 fQ[[[F[[[
fQ[[[F[[[
fQ[[[F[[[D[[[
FQ]FQYAH
""fQ[[[g[[[
fQ[[[G[[[
fqg0dER3dI
*fqg7egfG
fQ[[[g[[[f[[[
	FQgqgg4
''FQGyyyyyy
fQ[[[h[[[
fQ[[[H[[[
FQHD_Z@A
fQ[[[H[[[E[[[t
f[[[qhKdO[[[
fQ[[[H[[[L[[[U@]dD[[[
fQ[[[H[[[O[[[ef'e][[[
F]QHOMP@SASGN
fQ[[[H[[[r[[[
fQ[[[I[[[H[[[t
fQ[[[i[[[o[[[
fQ[[[I[[[s[[[#
fQ[[[J[[[
.)))FQJA[
F[_QJO@FKYOA
FQJZBZCC
@fQ[[[k[[[
fQ[[[k[[[
f@[[[Q[[[K[[[
fQ[[[K[[[
F[QKACJG
#fQ[[[L[[[
fQ[[[L[[[
_[F]QLANSOJEY
fQ[[[L[[[B[[[
FQLCYZ]A]HB[
FQLFSLHJBHCM_
fqlGN@GL
FQLKMX@@]AGGM
fqllllllllmllllOllylm
FqllllllllmllllOllylm
fQ[[[m[[[c[[[hB]dI[[[l[[[
FQMMPG]AK
fQ[[[n[[[
fQ[[[N[[[
FQNKSE_KOK
FQNLEYQ_Q
f][[[q[[[o[[[
fQ[[[|[[[o[[[
fQ[[[O[[[
)fQ[[[o[[[c[[[ 
fQ[[[o[[[g[[[
FQOXFXOZG
f_[[[q[[[p[[[
 fQ[[[P[[[
f@[[[Q[[[P[[[
f_[[[Q[[[P[[[
Fqpgppepq2
FQpgppepq7kp
fQ[[[p[[[k[[[
fQ[[[P[[[U[[[L
fQ[[[p[[[v[[[
FQPYSLZKGBMQSCYA
fQ[[[Q[[[
FQQA[EPOE]P
F_QQ@CBBF
fQ[[[q[[[v[[[
FQQxxyx]Y]]
fQ[[[][[[R[[[
fQ[[[][[[S[[[
fQ[[[S[[[
FQS[FEH_
fQ[[[s[[[q[[[
fQSSBVLC
FQSSE9@_Q
FQSSSSSSSSS#S
f_Qs'WSS9
fQ[[[T[[[
fQ[[[T[[[C[[[Dy
fQ[[[|[[[u[[[
fQ[[[u[[[j[[[
f][[[q[[[u[[[re
fQ[[[U[[[T[[[
fQ[[[v[[[
fQ[[[V[[[
fQ[[[V[[[D[[[g
f#qvm#jm
FQ(VSSWsQSS
fQ[[[V[[[U[[[J
fQ[[[w[[[
fQ[[[w[[[i[[[
fQ[[[x[[[
FQXHMJPDP
FQ_XK[MP_B
fQ[[[y[[[
@FQYMPNC
FqyyyyyyyM
fQ[[[z[[[
_FQZBHYL_
f[[[[r[[[
f@[[[R[[[
f[[[[R[[[
f_[[[R[[[
fR[[[.[[[
fR[[[:[[[
fR[[[?[[[
fR[[[@[[[
fR[[[_[[[][[[
fR[[[4[[[
fR[[[8[[[
fR[[[8[[[?[[[
fr:9d!eVdV
fR[[[a[[[
FrameBeforeNavigateW
frame ending offset must be a non-negative integer
framehtml
(FrameHTML)
Frame InterfaceWWW
frameip_scrubbed
FrameNavigateCompleteWWW
.FrameNewWindowWW
FrameRect
frame starting offset must be a non-negative integer
frameurl
frameurl_scrubbed
FrameworkDisplayName
FrameWWW@
fR[[[b[[[
-fR[[[B[[[@[[[9
fR[[[c[[[
fR[[[D[[[
FRdF[[[f[[[
fRdH[[[G
fRdO[[[s[[[w[[[
fR[[[e[[[
fR[[[E[[[
 fR[[[E[[[D[[[
FreeAddrInfoW
_free_base
FreeBCryptIsoObject
FreeBytesAvailableToCaller
FreeCoTaskMem
freeDiskSpaceInMB
freeDiskSpaceInMBDelta
FreeEnvironmentStringsW
FreeInstalledPackageInfo
FreeLibrary
FreeLibraryAndExitThread
FreeLibraryWhenCallbackReturns
freelist_count
FreeMemory
FreeMibTable
FreeResource
FreeSigFiles
FreeSurrogateWWW
fR[[[f[[[
fR[[[F[[[
Fr]-gAggs
f][[[_[[[R[[[GC
f||rg||Fg||
F||rG||_G||DG||7G||
frg'kgfG
f)))rGL]
FRgOkgfG*
FrgqggPA
frgqggQc
fR[[[h[[[
FRHgqggl
fR[[[H[[[M[[[h
Friendly
FriendlyFile
FriendlyFile (AllowList)
FriendlyFile (Publisher)
FriendlyFiles
friendlyhelper
friendlyName
FriendlyName
friendlyNameLength
friendlysigseq
FriendlySigSeq
friendlysigseqstring
friendlysigsha
FriendlySigSha
friendlysuppressed
friendlysuppressedsigseq
friendlysuppressedsigsha
FriendSource
fR[[[j[[[i[[[
fR[[[l[[[
fR[[[L[[[
fR[[[L[[[F[[[Z
FrllllllllmllllOllylm
FRllllllllmllllOllylm
Frllllllllmlll]Y]]
'fR[[[L[[[p[[[
F)))rMEE@DYF[]
fr mem:	d
f)rMpgppepq
frmSSSSSSSS
fR[[[M[[[x[[[l
-fR[[[N[[[L[[[
FromArgb
.fromcharcode 
fromCharCode
from_error
FromFile
?FromLastError@SC@mmcerror@@QEAAAEAV12@XZ
?FromMMC@SC@mmcerror@@QEAAAEAV12@J@Z
from_scrubbed
?FromWin32@SC@mmcerror@@QEAAAEAV12@J@Z
frontend.cpp
frontend.h
frontendsettings.cpp
frontendsettings.h
fR[[[P[[[
fRpgppept
fR[[[q[[[m[[[
f[[[[r[[[q[[[u
fR[[[R[[[
Frr@@@@B@CALp@Qf
fR[[[r[[[t[[[
fR[[[|[[[s[[[
fR[[[S[[[
FRSC![SSS@S
fRSSBABVU
FRSSBTUD9
FRSSBwBN
fRSSEyAA
fRSS[pSSSSSK!
FRSSQ(VSSW@JBtK9	BJ(
fRSSTD3XUH
fRSSTLB9
fR[[[T[[[
fR[[[u[[[
fR[[[U[[[
f]RUBfcdHIIBDSfwnxRSNKT	f"
f)))RuFKCLJ]
f)))Ru[]O
fR[[[v[[[
f@[[[r[[[w[[[
fR[[[W[[[
FrWllllllllmllllOllylm
fR[[[x[[[
Frxvyx9x
fR[[[y[[[
fR[[[y[[[|[[[k
fR[[[y[[[x[[[
fR[[[z[[[
f)))rZPZ]LD
f][[[s[[[
f_[[[|[[[s[[[
f][[[S[[[
f_[[[][[[S[[[
fS[[[ [[[
fS[[[*[[[
fS[[[:[[[
fS[[[@[[[
fS[[[][[[
fS[[[_[[[][[[
FS@@@@@@@@
fS[[[0[[[5[[[
fS[[[?[[[1[[[8
fS[[[2[[[
fS[[[2[[[7[[[Q[
fS[[[?[[[3[[[
fS[[[3[[[
FS4gAggJAzvc
fS[[[6[[[5[[[
F[[[s6HdY[[[
fS[[[7[[[ [[[y
fS[[[8[[[5[[[G
f;S8tDH;C
fS[[[9[[[
FSACNXHJ
fS[[[a[[[d[[[
;FS@agfGJhUDgqgg
FSALCCSQH
fSameAsLoadW
f;SaveAsWW
fS[[[b[[[
fS[[[B[[[@[[[	
FSBD[FXC_NBHSGCKM[Z
F]SBMMOOK[Y
FSCLHP]OCGSHX
FSCMY_AAJBS[
FSCNPJDDPJB
F[S[[C@O_
:fScopeNodeObjectWL
fS[[[d[[[
fS[[[D[[[
FSDANSXBGX
fS[[[D[[[b[[[
[[[ FSdE[[[
FSDFG]LELJ][@JHE
F@SDGN]]O]XX
:f-!SdIP
fsdismountmanager.h
fsdismountmananger.cpp
fS[[[D[[[u[[[]
fS[[[e[[[
')))FSEBHBQ]
_fseeki64
fS[[[f[[[
fS[[[@[[[F[[[
fS[[[F[[[
F_SFBK[AQMC
fS[[[f[[[d[[[	
-fS[[[F[[[E[[[
FS[FPSFS
f@S?f@S)f@S
FSFXOZAJG
fS[[[g[[[
fS[[[G[[[
F_SGGPLPMLLKOEK
[FSGJAAJ
#Fsg[kgfG
fsgqggew6N
FsgqggSl
FsgUkgfG
fS[[[h[[[
FsHardeningExclusionProcessList
FSHYS_LJMH@
fsinterface.cpp
fsinterface.h
fsinter.h
fS[[[J[[[
fS[[[j[[[m[[[
fS[[[J[[[O[[[
F]SK_ACQ
[[F_@SKFPJM_
FSKGAAKXHHGPPGSBH
fS[[[K[[[J[[[
FSKKZPMLF
fS[[[l[[[
fS[[[][[[L[[[	
fS[[[L[[[
FSLAZHNKJ@GOHZSSXJ
fS[[[L[[[B[[[
)))FSLDHN
fsllllllllmllllOllylmS
F@SLNO]DN
FSLZLGPHY@
fS[[[M[[[
fsmetadatacreator.hpp
fsmetadatacreator_ut.cpp
fsmetadataentry.hpp
fsmetadataentry_ut.cpp
fsmetadata.hpp
fsmetadataiterator.hpp
fsmetadata_ut.cpp
FSMG_E[DNB
fS[[[n[[[
fS[[[N[[[
FSNA]KNSZBSDDDLGM
fS[[[N[[[L[[[
fS[[[o[[[
fS[[[O[[[
_F_S_OBQQY
F]]SOCMGDPSZOP
fsod_process_runtime.cpp
fsod_process_runtime.h
fsod_runtime.cpp
fsod_runtime.h
FS_OJS[XQ
fS[[[O[[[N[[[
F_[SOPJDKQZS
fS[[[p[[[
fS[[[P[[[
Fspg)kgfG
fSpgppepq
f*spgppepqm
)f[[[[s[[[q[[[
f@[[[S[[[Q[[[
fS[[[_[[[Q[[[ei
f@[[[S[[[Q[[[f
fS[[[Q[[[J[[[
FSQLDJGB
fS[[[q[[[p[[[]
fS[[[q[[[v[[[v
fS[[[r[[[
[FSRSSSSS
FSSFA]CM_ZJMHX
fS[[[S[[[N[[[
@FSSOO_[OMC
fS[[[s[[[p[[[]
fS[[[S[[[Q[[[ei
fSSQSSSU
FSS@@Q(VSSW(|SSWA@Q(
fS[[[S[[[R[[[
FsSSQAZJ.
fSSSSSS!#5
FSSSSSS!#5
fSSSSSSS
fSSSSSSSS
FSSSSSSSS
FSSSSSSSSSSS
fSSSSSSSSSSSSS
FSS@@SS@@SS@@SS@@SS@@SS@@SS@@SS@@SS
FSSSYHGLE
FSStarted
fS[[[S[[[V[[[]
FSSZYHMJQ
fS[[[T[[[I[[[G
fS[[[t[[[j[[[
fS[[[t[[[k[[[
fS[[[T[[[K[[[G
f@[[[s[[[u[[[
fS[[[|[[[u[[[
fS[[[U[[[N[[[
[fS[[[u[[[t[[[
fS[[[U[[[T[[[
F@SvKAS[MS
fS[[[W[[[
f@SWe@SGe@Swe@Sge@S
fS[[[X[[[][[[
F[[[S;Xdy[[[
[F[SXJKSN
fS[[[x[[[m[[[
_FSYDFPBHZXKC[
fS[[[Y[[[J[[[x
fS[[[y[[[l[[[
[]FSYOC]GOYHDXN
[FSYPG[C
FSYSBCA_OYHKXEPS
fS[[[Y[[[U[[[
fS[[[y[[[x[[[
FSYZAZCKP
fS[[[z[[[
FSZAJHYXABY]B_
@[FSZGSCLEGP[LC
fS[[[Z[[[i[[[]
fS[[[z[[[x[[[
f@[[[t[[[
f_[[[t[[[
 f_[[[][[[T[[[|
!fT[[[.[[[
f[[[[_[[[T[[['
f[[[[T[[[
fT[[[	[[[
fT[[[-[[[#
fT[[[.[[[
fT[[[_[[[
fT[[[|[[[
fT[[[0[[[6[[[Q
fT[[[1[[[
fT[[[2[[[
Ft33g3#dD5dW
FT4bllllllllmllllOllylm
fT[[[6[[[
|fT[[[8[[[
fT[[[8[[[
ft:8d7Xof
fT[[[9[[[
F@@@@@t@@A@AAac
ftaction.cpp
ftaction.h
f!TAgAgg 
ftaheader.h
fta_notifier_ipc_c.c
fta_notifier_ipc.h
F@TA@O@AEac
ftaobject.cpp
ftaobject.h
fta_packager.cpp
fta_packager.h
fta_packager_subsystem.cpp
fta_publish_operations.cpp
fta_publish_operations.h
fta_registrator.cpp
fta_registrator.h
fta_registrator_test.cpp
FTargetWW
fta_rpc_server_api.cpp
fta_rpc_server.cpp
fta_rpc_server.h
fT]b1@J 
FTBdU[[[
f;;tcfD;;t]H
ftd[[[[.
fT[[[d[[[
fT[[[D[[[
ftdC[[[:[[[
ftdC[[[5
FTdC[[[g[[[
FTdF[[[o[[[
FTDgfG?q
f|TdH[[[
ftdH[[[![[[ [[[eB
ftdH[[[z[[[
ftdK[[[u
ftdM[[[e[[[
ftdO[[[5
ftdO[[[m
ftdO[[[y[[[
FTdP[[[O[[[
ftdQ[[[6
ftdR[[[*[[[
ftdS[[[i
[[[-ftdT[[[
ftdT[[[ 
ftdX[[[.
ftdY[[[7
ftdZ[[[?[[[
ftdZ[[[4
fT[[[e[[[
fT[[[F[[[
f||Tf||1f||
fT[[[G[[[
ftg7rgfG|
FTgAggoy#
fT[[[g[[[e[[[_JsdU[[[f[[[
f||Tg||)g||
ftg: HxexeH 
FtgRegisterIdleRoutine
FtgRegisterIdleRoutineIdl
FtgRegisterIdleRoutineIdlWWW
fT[[[G[[[z[[[
fT[[[_[[[H[[[
fT[[[H[[[
f_[[[T[[[I[[[
fT[[[I[[[
fT[[[I[[[H[[[
f_[[[t[[[i[[[s
fT[[[][[[J[[[
fT[[[j[[[i[[[h
f_[[[t[[[j[[[U
fT[[[k[[[
f@[[[T[[[K[[[
fT[[[K[[[j[[[_JsdO[[[J[[[
||||f|||||||TL
fT[[[_[[[L[[[
fT[[[L[[[
fT[[[L[[[B[[[
F)))TLEZLR
ftlgfG"*
:fT[[[m[[[
fT[[[m[[[
fT[[[M[[[
ftmanager.cpp
ftmanager.h
fT[[[N[[[
FTNgWcgfG
fT[[[_[[[O[[[
fTOhigfG
fT[[[p[[[
FtpCommandAbort
FtpCommandAccount
FtpCommandAllocate
FtpCommandAppend
FtpCommandAuthenticate
FtpCommandChangeToParentDirectory
FtpCommandDelete
FtpCommandFeatures
FtpCommandFileStructure
FtpCommandFileType
FtpCommandHelp
FtpCommandList
FtpCommandMakeDirectory
FtpCommandMode
FtpCommandNameList
FtpCommandNoop
FtpCommandOptions
FtpCommandOther
FtpCommandPassive
FtpCommandPassword
FtpCommandPort
FtpCommandPrintWorkingDirectory
FtpCommandQuit
FtpCommandReinitialize
FtpCommandRemoveDirectory
FtpCommandRenameFrom
FtpCommandRenameTo
FtpCommandRetrieve
FtpCommandSite
FtpCommandSiteHelp
FtpCommandStatus
FtpCommandStore
FtpCommandStoreUnique
FtpCommandStructureMount
FtpCommandSystem
FtpCommandUsername
ftpgppepq
fTpgppepq
FtQdZ[[[
fT[[[Q[[[W[[[
fT[[[R[[[
FTSBSg9egfG
fT[[[S[[[R[[[
@FTsSRSSd
fTSTFI	f"
fT[[[_[[[T[[[
fT[[[T[[[
fT[[[u[[[
fT[[[V[[[
fT[[[W[[[
fTW_tOBKK
fT[[[X[[[I[[[
FT__XYZ]kD]X
FT__XYZ]kF]X
FT__XYZ]kT]X
FT__XYZ]kV]Rq
ftype.cpp
fT[[[Y[[[q[[[_JsdW[[[X[[[
fT[[[Y[[[w[[[_JsdH[[[X[[[s[[[
fT[[[z[[[
fT[[[Z[[[
f][[[u[[[
f_[[[|[[[u[[[
f_[[[U[[[
fU[[[	[[[
fU[[[ [[[
fU[[[-[[[
fU[[[][[[
fU[[[0[[[
fU[[[1[[[7[[[
fU[[[2[[[
fU[[[3[[[
fU[[[6[[[
Fu6pgppepqs
fU[[[7[[[
Fu7]TgfGF
fU[[[8[[[
f;:u8f;z
fU[[[)[[[.[[[#8NdL[[[
fU[[[9[[[
fU[[[a[[[
fU[[[a[[[(
f@@@@@u@@A@AAac
F;@@@@@u@@A@AAac
F@@@@@u@@A@AAac
fUAAAACAAAIqAd
f@u@@A@AAacoo
fu_[AggG
fU[[[A[[[z[[[X
fU[[[B[[[
fuC(d#ivdT
*fU[[[D[[[
fUd_[[[i[[[h[[[
]fUdO[[[
F]UdX[[[
FUdY[[[8[[[?[[[h
F[[[][udz[[[
fU[[[E[[[
'fU[[[e[[[d[[[
fU[[[f[[[
|||?F U||||||||?F 
f||Uf||(f||
FuFkFaFgF]FSFIFOFEF;F1F7F-F#F
fuFlagsWP-
fU[[[G[[[
f||ug||Eg||
Fugfwm)Yl
f||Ug||#g||
'fugqggdH
fU[[[h[[[
fU[[[H[[[
fU[[[i[[[
fU[[[I[[[
fU[[[I[[[O[[[X
fU[[[j[[[
f)))uJDM
F)))uJDM
FuJGbgfGp
fU[[[K[[[
fU[[[k[[[j[[[
fU[[[][[[K[[[u
FulKindWW
full_column_names
fullcommandline
fullcommandline_scrubbed
FullDllName
fullfsync
FullInfPath
fullllllllmllllOllylm
fU@@llllllllmllllOllylm
FullName
fullpath
fullpath_scrubbed
fullPathToFolder
FU_M_O')
FU_M_O.*
FU_M_O1*
FU_M_O1c
FU_M_O 3
FU_M_O3l
FU_M_O3Z
FU_M_O96
FU_M_Ob*S[e
FU_M_OD[
FU_M_OEG
FU_M_OEW
FU_M_ON[IpH
FU_M_OnT
FU_M_O?O'
FU_M_OR19M
FU_M_OS-
FU_M_O)vaYj
FU_M_O'WiD
FU_M_O)X
FU_M_Ozk
fU[[[M[[[y[[[u
func_apply
func_call
function
Function
Function: 
functionalities that do not fall into the following categories
Function body error
FunctionCall
function document.onselectstart()
functionindex
functionname
Function not implemented
function not supported
function OnLoad()
function PopulateTaskpad()
Function Post-invoke error
Function Pre-invoke error
Function.prototype.apply() is not a constructor
Function.prototype.call() is not a constructor
function taskNotify()
fU[[[o[[[
fU[[[O[[[
fU[[[o[[[a[[[
fU[[[O[[[N[[[
fU[[[p[[[
FuPAM]AM
f]UPASPAR]Vz_SSBi
FUpgppepq
FUPShared.dll
fU[[[P[[[V[[[6'
|fU[[[Q[[[
fU[[[Q[[[
fU[[[q[[[p[[["
fU[[[r[[[
fU[[[R[[[
|fU[[[R[[[T[[[8
fU[[[R[[[V[[[
fU[[[S[[[
f@[[[u[[[t[[[
fU[[[T[[[
future already retrieved
fUUcUU'UN
fUUDUU0*J
fUUDUU1N
fUUDUU9p
fUUDUUaa
fUUDUUE-F
fUUDUUhWUEDt
fUUDUUiLHn
fUUDUUP(
fUUDUUX"
fU[[[U[[[J[[[
fUUkUUWh
fU[[[v[[[
fU[[[w[[[
FuWGbgfG
fU[[[w[[[u[[[
fU[[[x[[[
fU[[[x[[[w[[[u
fU[[[Y[[[
fU[[[Z[[[
f)))uZAF[]JJJKFFZ]
fU[[[Z[[[![[[NWAdN[[[Y[[[c[[[
f[[[[v[[[
f_[[[v[[[
 fV[[[?[[[
f@[[[V[[[
f][[[V[[[
fV[[[	[[[
fV[[[([[[
fV[[[.[[[
fV[[[:[[[?[[[
fV[[[@[[[
fV[[[][[[
fV[[[_[[[
fV[[[_[[[][[[
fV[[[|[[[
fV[[[2[[[5[[[
fV[[[6[[[
fV[[[6[[[#[[[
fV[[[7[[[
fV[[[8[[[
fV9g	kgfG8
fV[[[a[[[
fV[[[A[[[
fvAdgSbgfG
fV[[[b[[[
fV[[[B[[[
fV[[[B[[[@[[[
Fv?B5;UT
fV[[[B[[[@[[[xD
fV[[[C[[[
fV[[[d[[[
fV[[[D[[[
F;VdE[[[f[[[
FVd@[[[L[[[
fV[[[E[[[
|fV[[[E[[[s[[[
fV[[[f[[[
fV[[[F[[[
fV[[[G[[[
fVgfG9iTKgqgg
fvggfG|LO
fVg[gggG
fVgifgfG
FvgskgfGIW
FVg[ugfG
fV[[[H[[[
]FvHMMv@G]
fV[[[H[[[N[[[
fV[[[i[[[
FV@@@@@i@@A@ACac
fV[[[i[[[h[[[(
fV[[[I[[[L[[[H@
fV[[[i[[[m[[[
fV[[[I[[[N[[[
fV[[[K[[[
FvKvCvAv]v]vY
-fV[[[L[[[
fV[[[L[[[
fV[[[l[[[c[[[
]FvLDH@E
fv.llllllllmllllOllylm
]FvLQYF[]
((Fv[LY]@EL
fV[[[m[[[
fV[[[M[[[
fV[[[M[[[C[[[
@fV[[[M[[[D[[[
fV[[[n[[[
fV[[[N[[[
fV[[[o[[[
fV[[[O[[[
F|vodo7ogo
F|vodo9ogo
!f|voeo7ogo
F|voeo7ogo
fvP	(d"Xg
fVpgppepq7
fVpgppepqa
fV[[[p[[[k[[[
fV[[[P[[[K[[[
fV[[[P[[[W[[[
fV[[[Q[[[
fV[[[r[[[
fV[[[R[[[
fV[[[r[[[q[[[8
fV[[[S[[[
fV[[[S[[[K[[[
f	vswprintf_s
f@[[[v[[[t[[[
fV[[[u[[[o[[[
Fv@@@@@v@@A@AAac
fV[[[V[[[k[[[
fV[[[v[[[u[[[C
fV[[[W[[[V[[[3
fV[[[x[[[
fV[[[y[[[
fV[[[Y[[[
fV[[[z[[[
fV[[[Z[[[
F)))vZ][LHD
f@[[[w[[[
f[[[[w[[[
f_[[[w[[[
#f_[[[W[[[
@fW[[[][[[
f@[[[W[[[
f][[[W[[[
fW[[[([[[
fW[[[_[[[
fW[[[|[[[
fW[[[5[[[
FW6	qRgAggBxY
fW[[[:[[[8[[[9
fW[[[a[[[
fW[[[A[[[
fW[[[A[[[@[[[
fW[[[A[[[G[[[2
fW[[[b[[[
f_WBU@KB	ef"
fWBVxRE@VQ(
fW[[[c[[[
fW[[[C[[[
fW[[[c[[[g[[[s
(fW[[[d[[[
F[[[)"WdF[[[
FwdgqggQo
fWdM[[[d
fWDXxQEXT
fWdY[[[1[[[7[[[M
fWDYxQEYU
;?fWESpgppepq
FwEwSwOD
?f][[[W[[[F[[[
fwg0dYM9d
FWg7kgfG
-fwgF[[[
fwggfG?vh
FWg!kgfG6
fWgqgg6e
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||f|||W|||g|||T|||||||||||||||*|||||||||||||||||||||||||||
F||wG||TG||7G||
fW[[[I[[[
fW[[[i[[[m[[[m1PeB[[[h[[[
:fW[[[j[[[i[[[
fW[[[j[[[i[[[2
fW[[[J[[[x[[[
fW[[[K[[[
@fW[[[_[[[K[[[9
FwKCLwJ]wZPZ]wLwD
fW[[[K[[[J[[[*
(fW[[[k[[[j[[["d0dJ[[[
fW[[[l[[[
fW[[[L[[[|[[[
fW[[[l[[[c[[[5
FwllllllllmllllOllylm
fwllllllllmlll]Y]]
fW[[[M[[[
fW[[[n[[[
fwn9dVOle
fW[[[N[[[M[[[
fW[[[O[[[
fW[[[p[[[
Fwpgppepq
fwprintf
fW[[[p[[[w[[[
fW[[[q[[[
fW[[[:[[[?[[[Q
fW[[[q[[[p[[[*
 fwq?yxi4
fW[[[r[[[
fW[[[R[[[H[[["sed[[[[Q[[[W[[[Z]
fW[[[S[[[J[[[?
FWSSQE_E@VBVs
FWSSQEYE_[sSWSS
f@[[[w[[[t[[[
fWTgqgg!
fW[[[][[[U[[[?
fW[[[U[[[
fW[[[u[[[j[[["sedA[[[
fW[[[u[[[k[[[9
f_[[[w[[[v[[[
?f[[[[W[[[V[[[
f][[[W[[[V[[[
fW[[[w[[[a[[[
FWWPgIgg
FWWPgIgg ]
FWWPgIgg@
FWWPgIgg1D
FWWPgIgg1Z
FWWPgIgg3
FWWPgIgg4
FWWPgIgg6k
FWWPgIgg8
FWWPgIggb5#
FWWPgIggC
FWWPgIggD
FWWPgIggEq
FWWPgIggg
FWWPgIggj
FWWPgIggJ
FWWPgIggk
FWWPgIggL
FWWPgIggM
FWWPgYgg
FWWPgYgg	
FWWPgYgg1V|
FWWPgYgg8
FWWPgYgga
FWWPgYggD
FWWPgYggE
FWWPgYggg
FWWPgYggi
FWWPgYggJ
FWWPgYggj0
FWWPgYggl
FWWPgYggm
FWWPgYggo
FWWPgYggOo
FWWPgYggos
FWWPgYggp
FWWPgYggP
FWWPgYggq 
FWWPgYggQ
FWWPgYggR;8
FWWPgYggS
FWWPgYggu
FWWPgYggUC
FWWPgYggv
FWWPgYgg(y
FWWPgYggY
FWWPgYggz
FWWPgYggZ
Fw@wXwA_
Fw@wXwA_ZALEE
|fW[[[x[[[|[[[
fW[[[x[[[
fW[[[X[[[N[[[
fW[[[X[[[r[[[?
fW[[[X[[[W[[[D
 fW[[[y[[[|[[[
fW[[[Y[[[
FwydgfGL
fW[[[z[[[
fW[[[Z[[[
FwZwDwQQKwJwK
f[[[[x[[[
f][[[x[[[|[[[.
fx[[[	[[[
fx[[[-[[[
fx[[[;[[[:[[[
fx[[[@[[[
:fX[[[|[[[
[fX[[[|[[[
f_[[[X[[[
fX[[['[[[
fX[[[([[[.[[[
fX[[[:[[[
fX[[[?[[[
fX[[[@[[[
fX[[[_[[[
[[[F[[[x[[[
fX[[[0[[[
fx[[[1[[[
fX[[[4[[[
fx[[[4[[[![[[M
fX[[[5[[[
Fx6xxzxzxzxxyxTz)!
fX[[[7[[[
fX[[[![[['[[[*!7dU[[[
fx[[[8[[[
fX[[[8[[[
fX[[[:[[[9[[[
fX[[[9[[[
Fx999999999999999xxx
fx[[[A[[[
fX[[[A[[[
fX[[[A[[[@[[[
f@x@@A@AAacoo
fx[[[A[[[E[[[
FXAG]_XLQ]L
F]XANPHDSJ
fx[[[A[[[s[[[c
fx[[[B[[[@[[[
fx[[[B[[[A[[[
fX[[[b[[[a[[[
fX[[[B[[[A[[["
FX@@@@B@A@2 @H
fx[[[B[[[A[[[c
FXBA_FSN
F[X]B_MPZQYYMDSO
F_XBNJH[C
FX@BOFZPF
FxBxxrxrxyxxrxUz
fX[[[C[[[A[[[
fX[[[C[[[B[[[:
FXCBEB]MY
fXCCNCCCBACC
fx[[[C[[[D[[[?
FXCJZ[YPS
fx[[[C[[[y[[[
fx[[[D[[[
fx[[[D[[[|[[[c
fXdK[[[*[[[
FXdllllllllmlllxMO
FXDLQBHJO
FXDN[J@J]SKZCHYESADB
@FXDNLNBXOJ
fXdT[[[1[[[
fXdU[[[3[[[
fx[[[D[[[z[[[
FX]DZZJH_GHZXB[HMY
fx[[[e[[[
fX[[[e[[[
fX[[[_[[[E[[[
fX@*@@E@ACa
F]X@EAHPZMHNB[
fX[[[e[[[d[[[
FXE]GY@C[
FX_EHNQ]BS
fx[[[E[[[z[[[
fx[[[f[[[
FXf9C@uY
fx[[[f[[[d[[[c
 fx[[[F[[[u[[[?
fX[[[F[[[z[[[
fX[[[@[[[G[[[
fX[[[g[[[e[[[NW
FxGetNextClassBindInfo failed
FxGetNextObjectContextTypeInfo failed
F]]XGF]X_F
f||xg||hM||xg||
F]XGKLJBLHOBQM
fXgqggSv
F||xG||TG||PG||
FxgWegfG
FXGYJKCBKQYZ
fx[[[h[[[
fX[[[h[[[
fX[[[H[[[
|fX[[[H[[[B[[[
fX[[[h[[[l[[[
fX[[[H[[[O[[[#
fxhyEUEU(
fX[[[I[[[
[[[FXIdZ[[[
fx[[[I[[[k[[[?
fX[[[I[[[q[[[
fX[[[][[[J[[[
fX[[[J[[[
@FXJFQ]CZ
_FXJK_AQ
fX[[[j[[[m[[[x
fx[[[_[[[K[[[c
FxKdJ[[[
FXKMCB@NHM
fX[[[K[[[O[[[
"(?fxky)54
fx[[[L[[[
fX[[[l[[[
FXLCJLC_CMHD
fx[[[l[[[g[[[
FXLPGXD]Y_SHGPZGD
fx[[[m[[[
fx[[[M[[[
fX[[[M[[[B[[[
fX[[[m[[[c[[[
 fX[[[M[[[D[[[
FXMEXMPJ_
FXM]H]FMQNJ
fx[[[m[[[l[[[
fx[[[N[[[
f[[[[X[[[N[[['
fX[[[N[[[
fX[[[N[[[C[[[
fx[[[N[[[M[[[
fX[[[n[[[m[[[
FXNO[DDSQB
fx[[[o[[[
fx[[[O[[[
fX[[[o[[[c[[[
fX[[[O[[[C[[[
fX[[[O[[[E[[[
fx[[[o[[[m[[[
FXOOBBJC@EADAE_PE
FXOPPNZ@]CE
FXOQXLHP]XBJ
FxOxvgfG
fx[[[p[[[
fx[[[P[[[
FXPBM[QY
	f.XPexd
fxpgppepq
fX[[[p[[[u[[[
FXPYDYJ_
FXQHAHX_L
fx[[[Q[[[P[[[J
fX[[[Q[[[s[[[
fX[[[q[[[w[[[P
FxqxvgfG
fx[[[R[[[
fX[[[r[[[
fx[[[R[[[H[[[M
fx[[[R[[[Q[[[
fX[[[R[[[T[[[
FxrxvgfG1C
FxRxxzxzxzxxyxhy
fX[[[s[[[
fX[[[_[[[S[[[
FXSHE[JEDYKJ
fx[[[S[[[P[[[
fx[[[S[[[Q[[[
fx[[[S[[[R[[[
FXSSQAaE9.GSSWAaL_.FSSWAasOP
FXSSQANE9.GSSWANLO.FSSWANsU
FXSSQAxE9.GSSWAxs
FXSWEXSGEXSpEXSgEXS
F_X@SYCKXLPX
fX[[[T[[[
fX[[[t[[[h[[[5
fx[[[U[[[
fX[[[U[[[K[[[
fX[[[U[[[L[[[
fX[[[u[[[n[[[
fX[[[V[[[U[[[
fxVy559('9.'
fx[[[w[[[
fX[[[w[[[
fx[[[w[[[k[[[M
fx[[[W[[[M[[[M
fX[[[x[[[|[[[
fX[[[X[[[@[[[
FXX_BOLHDKYBHZ
fx[[[@[[[x[[[c
fX[[[X[[[H[[[
F]]XXJJBMS
f_XXk0jPkR]X
f_XXk6jPkR]X
f_XXkbjPkR]X
f_XXk.jPkR]X
f_XXk:jPkR]X
fX[[[X[[[O[[[5
Fxxx5xxyxyxyxY[4
Fxxxx]Y]]
fxxx]Y]]
Fxx|x]Y]]
Fxxxyxqy
fxxykuiuni|
F:xxyxl9
fX[[[y[[[
Fxyc9xyF9xy
fxycYxyAYxy*Yxy
]FXYEBNN
F]XYG_OYPD]AK
fX[[[Y[[[i[[[5
f_XYk'jPkR]X
fxykYxyVYxy3Yxy
Fxyl9xyI9xy59xy
FXYL@Y]SQLO
FXYMMPCAQ
Fxyo9xyH9xy69xy
FXYOAS_B
fxyoYxyLYxy-Yxy
FXYSXZJP
Fxyt9xy_9xy:9xy
FxyT#xyyv
fX[[[Y[[[u[[[5
fxyuYxyVYxy1Yxy
fxywYxyVYxy7Yxy
FxyxcyD]
Fxyxhyx9
FxyxlyD]
FxyxpyDW0
FxyxtyDW(
FxyxVy4x
Fxyy@D!W*
FxyyTvxyy
fxyyYxykYxy]YxyOYxy?Yxy
fxyyYxy[Yxy8Yxy
fxyyyyyyyyyyyyyyIyyy
fx[[[z[[[
fX[[[z[[[
"fX[[[Z[[[
fX[[[Z[[[
fX[[[Z[[[f[[[
fX[[[Z[[[i[[[
FXZM_YBC
FX[[[Z[[[O[[[ZW]
F[XZXA]N
|FxzxlyR
fx[[[z[[[y[[[	7hfA[[[
f[[[[y[[[
f_[[[y[[[
fy[[[	[[[
fy[[[![[[
fy[[[([[[
fy[[[:[[[
f!((]Y]]
f(((]Y]]
fY[[[	[[[
fY[[[][[[
fY[[[|[[[
F'((]Y]]
fy[[[1[[[0[[[
fy[[[2[[[
fy[[[6[[[
?fY[[[6[[[
.(F]Y]]6
fy[[[7[[[
Fy9syexyywI_IDI'I
Fy9xy1yyy
Fy9xy1yyybI3I
Fy9xy5yyy0I
Fy9xy)yyy
fy[[[a[[[
fy[[[A[[[
fY[[[a[[[
fY[[[A[[[
fY[[[A[[[@[[[
f"[@@@@@y@@A@AAac
f@@@@@y@@A@AAac
fY[[[A[[[F[[[
F]YAGK[[AZAH
((F[YA@GLvZ]Z
FYAJMZQDS_L
FYallllllllmllllOllylm
fY[[[B[[[
|Fy]B-sr
fy[[[c[[[
fy[[[C[[[@[[[
fY[[[c[[[
fY[[[C[[[
fYCA@AaqAS|
FYCCNCCCBACC
F|ycF|yWF|y-]|y9]|yY]|y
fy[[[C[[[@[[[ T
F@YCXO[JBPXLMPYQ
fy[[[d[[[
FYDCG@MJFBGCFG
]FYDH[N@G
FY]@DHZ]F[L
FYDKBB[KGEZZ@DB
F@YdO[[[
_F@YDZvZDZ
fy[[[e[[[
 fy[[[@[[[E[[[
fy[[[e[[[d[[[
_F@YEFNNL[
]FYEHDLELDLG]
FYEQZPCBF
fy[[[f[[[
fy[[[F[[[
fY[[[f[[[
F]Y]]f]]
f)))YFAFG
]F[Y[FCLJ]
FY]@FGHEt@G]Y][YKZLJ[L]
FY]@FGHEtZ][@GNYZS@DYELDLG]H]@FG
)))FY]@FGZ
fY]@FGZhJ]@_@]P
]FY[FJLLM]F]ALZ@]L
FY[FJLZZA@ML[
F[Y[FJLZZLQ@Z]Z
F[YFLHJPMZLJEOQ
FyFyFyFyFyBCyFy
FyFyFyFyFyBTyBTyFy
FyFyFyTW
f)))YFZ]
fY[[[F[[[z[[[C
fY[[[g[[[
Fy[#g3ggfGFy[#gqggVI
f||Yg|| a||(g||
@FygooggG
fygqggM	
fygqggQn?
f_[[[Y[[[h[[[
f][[[Y[[[H[[[
]FYH]ALQ][HJ]]F
F[[YHDN[B
fY[[[h[[[f[[[
]FYHGN_DMC
[FYHHZLBC[
.)))FYHJ@
]FYHJ]@_@]P
fY[[[h[[[m[[[
F@YHMvZPZ]LD
FYHtG[[XTF
FYHYS[[OKMQ_
fy[[[|[[[i[[[
fy[[[i[[[
fY[[[i[[[
fY[[[i[[[c[[[
fy[[[I[[[N[[[
FyIsyuxyy
Fyi|yEyyysIiIoIdICI
FyI|ymxyyRI
FyIyyayyy
Fy)iyyxyyJI"I
FyI|y	yyy]I1I*I
fY[[[j[[[
f@[[[Y[[[J[[[
#)))[FYJAH@G
]FY@JBHGHE
FY]JEHZZ
fY[[[J[[[I[[[
]F[Y]_JJ
FYJPJ][O@EYZ
FYJ]_SQCB
FYJZX@Z_
f@[[[Y[[[K[[[
fY[[[K[[[C[[[
FYKD_KCJH
F[YKODB[AZBA[KNBZ]G
@]FY@K@SO
fY[[[L[[[
]FYLAAGY
*fy[[[L[[[C[[[
fy[[[L[[[C[[[
FYLCZ_OX]DFQ[GX
	)))FYLG
.)))FYLG
FYLGALEYL[
FYLG]A[LHM
FYLGDHGHNL[
FYLGDHGNH
FYLGDHYZ
FYLGDLG]F[@GN
fYLGfOO@JL
FYLGFOO@JL
FYLGFOOL[ZM@HEFNAF]DH@E
FYLGFOOL[ZM@HEFNNDH@E
FYLGFOOL[ZM@HEFNPHAFF
fYLGgF_LEZ
FYLGGF]LZJHGGL[
fYLGgF]LzJHGGL[hJ]@_@]P
FYLG@GMFJZ
FYLG@GNO@EL
FYLG@GNuQ
)))FYLGHCHQ
FYLG][H@G@GN
FYLGH[JA@_L
FYLG][HJBZ
FYLGHJ]@FG
;)))FYLGHZ]LQ]Z][LHD
FYLGHZ]LQ]Z][LHD
FYLGJFGGLJ]
)))FYLGJFGGLJ]@FG
)))FYLGJFG]HJ]Z
FYLGJFG]HJ]Z
FYLGJFGM))
fYLGjHGMP
FYLGJHGMP
FYLGKDHY
FYLGK@GH[PZ][LHD
 )))FYLGKZM
FYLG[LDF]LKHZLBLP
FYLG[LHM
FYLG_LNLDHY
)))FYLG]LQ]O@EL
FYLG]LQ]O@EL
FYLG]LQ]O@ELvHDZ@))
FYLG]LQ]O@ELwu
fYLGlQYEF[L[
#)))FYLGM@[
FYLGMHZAH[JA@_L
)))FYLGMMMMKY
FYLGMvZ][LHD
FYLGNL]))
FYLGNLDH[H
FYLGOEFFM
FYLGO@EL
FYLGOFEML[]
FYLGOFFM
FYLGQDEBLZ
FYLGQDEOF[DH]Z
FYLGv@GOFr
FYLGvJDM
FYLGvLQ@Z]@GN
fYLGy[FJ
fYLGy[FJ))
fYLGY[FJ))
fYLGy[FJLZZ))
FYLGY[FJLZZ
fYLGY[FJLZZ]FBLG))
FYLGY[FJLZZ]FBLG
FYLGYF[]Z
FYLG_YGJADFM
FYLGZALEEuFYLGuJFDDHGM
FYLGZHEFJHEYMOO[FDHJADA]DEYHNLE@GB
FYLGZJHEL
)))FYLGZ][LHD
fYLGzzE))
;)))FYLGZZE
_)))FYLGZZE	LGJ	
FYLGZZELGJ
)))FYLGZZEMNZ]
_FYL[H]@FG
FYL[H]@FG
FYL[H]@FGHE
FYL[H]@FGvMLY]
FYL[H]@GNZPZ]LD_L[Z@FGZ][@GN
FYLHJ]BCXM
FYL[JLEL
]FY[LJ@Z@FG
:)))]FY[L_LG]MH]HEFZZ
fyllllllllmllllOllylm
FYL@QAD[L
F@@@@]Y]]LUY
:)))]FYLvBLPJEHZZ]FYL
fY[[[m[[[
fY[[[M[[[
fy[[[m[[[a[[[
FyMaximize@
fY[[[m[[[b[[[
]FYML]H@EZHJ]@_@]P
FY]M@ZHKELM
fY[[[n[[[
f][[[Y[[[N[[[
fyN1dz51d
f@Y@N#DH?Zf0
fYn;dvvId
")))[FYNHMNL]
fY[[[n[[[l[[[
fy[[[N[[[M[[[
fY[[[N[[[M[[[
fy[[[_[[[O[[[
fY[[[o[[[
fY[[[O[[[
FY[O]A[M
fY[[[o[[[c[[[
FYOCP]B]G[FB[GCO
FYOEJJNQPGJ
fYoHBLzDZ
fY[[[o[[[n[[[
FYOSSSMSSSH
fY[[[p[[[
_@FYPCJS
]FYPCZN]
fy[[[P[[[T[[[XX
FYPZQXAD
 f][[[y[[[q[[[
fY[[[q[[[
fY[[[Q[[[
FYQNPSAZ
fy[[[Q[[[T[[[
FyQ(VSSW(|SSWA[W(
fy[[[r[[[
fY[[[r[[[
fy[[[R[[[H[[[)"Wd_[[[Q[[[J[[[2
fY[[[r[[[p[[[
fy[[[R[[[Q[[[XX
f]Y]]r]Y
fy[[[][[[S[[[
FYSANCNJZP_G
fY[[[|[[[s[[[C
FYSEKJZ_
FY[SFYCN
F@YSMKSSAK
fY[[[S[[[R[[[
F_YSXLHLN
fy[[[|[[[s[[[XX
Fy)syuyyyzIyyy
fy[[[T[[[
fY[[[T[[[
fY[[[U[[[
fy[[[u[[[j[[[)"WdZ[[[t[[[
fy[[[U[[[K[[[
fy[[[v[[[
fy[[[V[[[
fY[[[w[[[
fY[[[W[[[
fY[[[W[[[O[[[E
fy[[[W[[[U[[[
f@[[[y[[[x[[[
f][[[y[[[x[[[
fY[[[x[[[
fY[[[X[[[_[[[
fY[[[X[[[C[[[F
fY[[[X[[[F[[[F
f@[[[y[[[x[[[gK
FyxHy]V@
FyxPx6:5
Fyxpy61;3BX]
FyxRx:963E]
FyxvyDW1
Fy	xyuyyyqInIy
FyxYy" 0
Fy	xy-yyy
Fy)xy!yyybI
Fy)xy!yyyeI@I
)fY[[[y[[[
fyy4cyy cyy
Fyy|9yyK9yy
Fyy|9yyZ9yyC9yy)9yy
Fyy9zyyazyyzyyyyyyyyykyyyyyyyyyyyyyyyyyayyyyyyyiyyyyyyy
Fyya9yy59yy
@fyy BDA
FYYBDSANYYN]
FYYC]YNMLS
fyycYyyKYyyNYyy"Yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
fyy@dmo*
fyydYyy7Yyy
fyyeYyyyyyypyy
FYYFAAAAAAAAAAAAA]Q]
fY[[[Y[[[F[[[F
FYY[F]F]PYLCHXD
FYY]FQAKQGND[
FYYFZLMLG]
fyy?g#4'd;
fyyhYyyHYyy-Yyy
fyyhyyyyyyy
fyyhyyyyyyy!QyyhyyyIyryayy
fyyhyyyyyyyuYyyhyyy1yqyayy
fyyhyyyyyyyuYyyhyyyEy
fyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
fyykYyyPYyy;Yyy"Yyy
]F|YYL[jHZL
fyyMiyyyyyyyyyyyyyyyyyyyyyy
Fyyn9yyn9yy#6yy
fyyoYyy3Yyy	Yyy
Fyyp9yyo9yy_9yyN9yy19yy!9yy
FyYpyexyywIjIGI:I
fyy!Qyy!Qyy	Qyy
Fyyqy)yyy
Fyyq;yyyyyy
fyyrYyyVYyy'Yyy
fyyrYyyYYyyAYyy)Yyy
fyysYyygYyyJYyy1Yyy*Yyywdyy'Yyyedyy
Fyyv9yy]9yyD9yy-9yy
Fyyx9yyc9yyJ9yy59yy
Fyyx9yyT9yy
FyyxyIyyytIeI
FyYxyMyyyXI"I
Fyyxy]xyy
fyyxYyycYyyKYyy2Yyy
fyyxyyydyyydyyy
fyyxyyymxyymxyyQlyy
fyyxYyyVYyy:Yyy?Yyy
fyyxyyy	yyy
fyyxyyyyyyy
Fyyy9yya9yyM9yy)9yy
Fyyy9|y)yyyuI
Fyyy9yy)yyy
Fy)yyAyyyFI
FyyyIpyUxyyxIjITINI0I"I
FyyyIqy-yyy*I'I
Fyyyiwy-yyy
FyyyixyQyyy
FyyyIxyy9yyyaxyyyyyyyyyyyyy9yy
fyyyiyy5fyyyyyyyyyy
fyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
FyyyIyyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygy4#
Fyyyiyyy
fyyyiyyyIyyyyF
fyyyiyyyyyyyyyyyyyyyyyyyyyy
f|y|Y|yJY|y-Y|y
Fy	yyMyyy
Fy)yymyyyxI|IpItIhIyyy
Fyyy	qymxyy I
Fyyy)uyEyyy0K
Fy	yyuyyy
FyYyyayyy
FyYyyQyyy
Fyyyyqy!yyyMK
Fyy_(yyR(yy@(yy
Fyyyysymxyy.I
FyyyYsyU
Fyyyyuyyy
FyyyYwy	yyyQI@IcJAJ
FyyyYxyEyyy
FyyyYxyy9yyy
FyyyYxyy9yyyqxyyyyyyyyyyyyy9yy
Fyyyyxy-yyy
Fyyy)yy	
FyyyY|y9yyy	I
Fyyy	yyixyyVI@I9I*I
FyY|y-yyy
Fyyyyyy5;yy
fyyYYyy5Yyy
Fyyyyyy]9
Fyyyyyy9G
Fyyyyyy9Gyyyyyy9G
Fyyyyyy]9yyyyyy 9yyyyy9
FyyyYyyeyyy
Fyyyyyyi9Tyyya
Fyyyyyyi9yyyyyy
Fyyyyyyiy
fyyyYyymYyyQYyyEYyy)Yyy
FyyyYyyQyyyXI8I2I	I
Fyyy)yyyxyypI]IWIOI
Fyyyyyyy
Fyyyyyyy9
FyyyYyyy9yyy
FyyyYyyy9yyyqyyyyyyyyyyyyyy9yy
Fyyyyyyy9yyyy8
Fyyyyyyy9yyyyyy
FyyyyyyY9yyyyyyg9
FyyyyyyY9yyyyyyY9yyyyyy
FyyyyyyY9yyyyyyY9yyyyyyY9yyyyyyY9yyyyyy
Fy	yyYyyyqM
Fyyyyyyyy
Fyyyyyyyy?
Fyyyyyyyyh
FyyyyyyyyLJ
Fyyy)yy)yyySH8H7H
Fyyyy|y)yyyWI
Fyyyyyyyyyxyyyyiyy
fyyyyyyyyyy
Fyyyyyyyyyy
fyyy	yyyYyyy3yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
fyyyYyyyYyyywyyyyyyyyyyyyyy9yy
Fyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyy
fyyyyyyyyyyyyyyyuyyy
Fyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyy;	
Fyyyyyyyyyyyyyyyy#4
Fyyyyyyyyyyyyyyyy4
FyyyyyyyyyyyyyyyyG*m
Fyyyyyyyyyyyyyyyy)V v
Fyyyyyyyyyyyyyyyyx
Fyyyy|yyyyyyyyyyyyy
fyyyyyyyyyyyyyyyyyy
FyyyyyyyyyyyyyyyyyyE
fyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyy
FyyyyyyyyyyyyyyyyyyyyyyI:yyyyyyI:yyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyy
FyyyyyyyyyyyyyyyyyyyyyyyyD
fyyyyyyyyyyyyyyyyyyyyyyyyyy
#Fyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyy
fyy)yyyyyyyyyyyyyyyyyyyyyyyyyyyy9yy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[y4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx4#
FyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7y4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?y4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
FyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
FyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYy4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	x4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	x4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	y4#
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Fyyy)zyMyyy
Fyyzy5yyy
Fyyzyuyyy1IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGz4#
fy[[[z[[[
F]YZAKZOXFJ
fY[[[Z[[[g[[[F
FyzgqggT
@FYZJ]E_SZ
?)))]FYZL[_@JLALEYL[
_F@YZL[_@JLZPZ]LDZ
FYZNAQPQAZ
_[FYZSDPBQ
]FYZSXLAMJQS
fy[[[z[[[x[[[h
fy[[[z[[[y[[[
FYZY@QZ[
Fy	zyuxyy
f][[[z[[[
fz[[['[[[
fz[[[)[[[
fz[[[*[[["[[[
fz[[[;[[[
fz[[[?[[[
fz[[[@[[[
:fZ[[['[[[
f@[[[Z[[[-[[[
f_[[[Z[[[
f_[[[Z[[[;[[[
fZ[[[	[[[
fZ[[[ [[[
fZ[[["[[[
fZ[[[)[[[
fZ[[[-[[[
fZ[[[.[[[
fZ[[[;[[[
fZ[[[?[[[
fZ[[[_[[[][[[
fZ[[[|[[[
fZ[[[0[[[
fz[[[0[[[4[[[
fz[[[0[[[5[[[
fZ[[[1[[[
fZ[[[1[[[7[[[T
fZ[[[2[[[
fZ[[[2[[[0[[[
fZ[[[3[[[
fZ[[[5[[[
f z5gWegfG
fz[[[6[[[
fZ[[[6[[[
fz[[[7[[[
fZ[[[7[[[*[[[
fZ[[[8[[[
fz[[[:[[[8[[[iqOdJ[[[9[[[
fZ[[[9[[[
fZ[[[a[[[
fZ[[[A[[[
FZABGNDKDCC
f)))ZAH[Y
FZAl4gGcgfGn
FZALEEE@GB
f)))@ZALEEM@ZYH]JA
fz[[[b[[[
fZ[[[b[[[
fZ[[[B[[[
fZB6dh)8d95
FZBC]KGLCN
FZBnKCYGD
fz[[[B[[[w[[[
fZ[[[C[[[
fZ[[[c[[[a[[[
fz[[[c[[[a[[[z
@FZCAZQAB
fZcF@G))
fz[[[][[[C[[[j
_FZCL]AX
]FZ]CL[J
FZCuZPZ]LDJ
fz[[[d[[[
fz[[[D[[[
fZ[[[d[[[
|fZ[[[D[[[
fZ[[[D[[[
fZdBM@[))
FZD][COSM_
fZdE[[[J[[[L[[[
fzdFG@]F[
FZDFG@]F[
FZDM[F@M
f)))Z@DYELZDKZL[_L[
fz[[[E[[[
fZ[[[e[[[
fZ[[[E[[[
fZeFN@G))
F]ZEJMKHFALN
f)))ZELLY
fz[[[F[[[
fZ[[[f[[[
fZ[[[F[[[
FZf9CBuc
Fzfgqggs
FZFHOKSDPML@J_M_Y[]JBC
FZFLEEE[[
:)))]FZ]FY]A@ZY[FJLZZ
]F@ZFZ][@GN
fz[[[@[[[G[[[
fZ[[[@[[[G[[[
fZ[[[G[[[
fZgalgfGu
FZG]E_MKJ
fZ[[[g[[[f[[[
f||Zg||)g||
fz[[[G[[[i[[[5
FZGL]HJ_H
f)))Z][@GN
]Fz][@GN
]FZ][@GN
F)))Z][@GN
]FZ][@GNELG
]FZ][@GNu
f@[[[Z[[[H[[[
fZ[[[H[[[
)))]FZHDH
FZHDQYMNXK
F[Z]H[]FK]H@G@GN
F)))ZHGMKFQ
]FZ]HJBLQLJ
]FZ@H[[JFML
fZ][HJKFY
fZ[[[H[[[M[[[2
fz[[[H[[[N[[[
F@ZH[NBC
[FZHXODL
FZHZJ[@Y]
fZ[[[i[[[
fZ[[[I[[[
fz[[[I[[[A[[[cq
fz[[[i[[[h[[[LJ
fZ[[[I[[[H[[[X8
fZ[[[i[[[m[[[
fz[[[I[[[M[[[w
'fZ[[[j[[[
f_[[[Z[[[j[[[
fZ[[[j[[[
fZ[[[J[[[
FZ][@J]AFZ]BLPJALJB@GN
FZJBBGBPHGSD
fz[[[J[[[F[[[
FZJFG]LG]
]FZJF]LJ
)))FZJH[
f)))ZJHGM@GH[]
fz[[[j[[[i[[[v:
f)))ZJ[@Y]Z[J
fz[[[k[[[
fZ[[[k[[[
fZ[[[K[[[
"F[[[Z[[[K[[[
[[[F[[[Z[[[K[[[
]F[[[Z[[[K[[[
|F[[[Z[[[K[[[
F[[[Z[[[K[[[
F[[[Z[[[K[[[	
F[[[Z[[[K[[[	@
F[[[Z[[[K[[[ 
F[[[Z[[[K[[["
F[[[Z[[[K[[[:
F[[[Z[[[K[[[?
F_[[[Z[[[K[[[
F[[[Z[[[K[[[0
F[[[Z[[[K[[[2
F[[[Z[[[K[[[5
F[[[Z[[[K[[[7n
|F[[[Z[[[K[[[9
F[[[Z[[[K[[[Bpz
F[[[Z[[[K[[[Cn
F[[[Z[[[K[[[Cy
F[[[Z[[[K[[[	D
 fz[[[K[[[F[[[
*F[[[Z[[[K[[[H
F[[[Z[[[K[[[	H
FZKHY[EM[KL_
F[[[Z[[[K[[[i-
F[[[Z[[[K[[[I
F[[[Z[[[K[[[_iG
F[[[Z[[[K[[[J
FZKJQYPGOE
F[[[Z[[[K[[[K
F[[[Z[[[K[[[L
F[[[Z[[[K[[[m
F[[[Z[[[K[[[:mv
F[[[Z[[[K[[[N
F[[[Z[[[K[[[o
F[[[Z[[[K[[[o.
F[[[Z[[[K[[[q
F[[[Z[[[K[[[QR-M
F[[[Z[[[K[[[sW
FZKS]Z]D_
F[[[Z[[[K[[[t
F[[[Z[[[K[[[uV3.
F[[[Z[[[K[[[v
F[[[Z[[[K[[[V
F[[[Z[[[K[[[V"
F[[[Z[[[K[[[w
FZKX@PYGX
[[[F[[[Z[[[K[[[#Z-
F[[[Z[[[K[[[Z)
fZ[[[l[[[
fZ[[[L[[[
f)))ZL]]H[
]FZ][LHD
[FZLi]@[LJF
fzllllllllmllllOllylm
FzllllllllmllllOllylm
FZ[llllllllmllllOllylm1
FZ_L[M@D@KHZLZ
f)))ZL]YZ
f)))ZL]]Z
FZ_L[Z@FG
.)))FZLZL
fz[[[m[[[
fz[[[M[[[
'fZ[[[m[[[
fZ[[[m[[[
fZ[[[M[[[
fZ[[[m[[[a[[[
fz[[[m[[[b[[[
fz[[[m[[[f[[[
fz!mggfwEbgk
FZMG_MN@
[FZMJCAD
fZ[[[m[[[l[[[-
[FZMQ]BOY
[@[F[ZMXEY_
fz[[[n[[[
fZ[[[n[[[
f@[[[Z[[[N[[[
fZ[[[_[[[N[[[
fZ[[[N[[[
fz[[[N[[[C[[[
.)))FZNL]
FZNLLAPJK
fZnL]LG_))
fz[[[N[[[M[[[
[fZ[[[n[[[m[[[
fZ]NMM1v
F_ZNXPEZ
fz[[[o[[[
fz[[[O[[[
f_[[[Z[[[o[[[
fZ[[[o[[[
FZOCOLMSE
FZOJGYS[S
fZ[[[o[[[l[[[
fZ[[[p[[[
fZ[[[P[[[A[[[7
]F@[ZPBQ
FZpgppepq
fzpgppepqOL6s
]FZPHDF]F[
FZPMCEM]DQ
fz[[[p[[[v[[[
FZPXGKG@
FZPZ]LDZ
f][[[z[[[q[[[
fZ[[[q[[[
fZ[[[Q[[[
fZ[[[@[[[q[[[7
FZQ[GMFCGHDB
FZQN_YJG
[FZQPYQL
FZQSE[YSQ
fZ[[[q[[[u[[[
fz[[[q[[[v[[[
fz[[[][[[R[[[
:fZ[[[r[[[
?fZ[[[r[[[
fZ[[[r[[[
fZ[[[R[[[
fz[[[R[[[C[[[3
fZrgqggU
fZ[[[r[[[p[[[4
fZ[[[S[[[
f][[[z[[[s[[[c
fz[[[S[[[E[[[
]FZ@SLK@GH[PZ][LHD
FZSOBMH]HHQ
FZSPB]]L@
FZSQYFBPK
fZSSQ(WSSWs
fz[[[s[[[w[[[|t
FZ_SXM__K
fz[[[t[[[
fZ[[[t[[[i[[[
fz[[[T[[[t[[[
|F"'*zttlv
'fZ[[[u[[[
fZ[[[u[[[
fz[[[U[[[T[[[z
fZ[[[v[[[
fZ[[[V[[[
fz[[[V[[[i[[[
)))FZvJHY]@FG
|fZ[[[V[[[K[[[
FZvML]LJ]
FZvM@Z][Fv
FZvOEH_F[
fZ[[[w[[[
fZ[[[W[[[
fZ[[[x[[[
Fzx@@@@B@A@@
fZ[[[x[[[h[[[
FZXH]_NY
Fzxhyx45V
Fzxhyx"4V
FZXJAQP_FOCD
Fzx@m@@A@ACac
FzxnxJJHX:
 fZ[[[y[[[
fZ[[[y[[[
f][[[z[[[y[[[4
Fzy]9zy69zy
Fzy|9zyb9zy59zy
fzyaYzy.Yzy
fz[[[y[[[c[[[
fZyH]A))
FZ[ZALEYL[
F_ZZCSOO
FZ]ZHJAZLG
]FZ@Z][HZH[[H
FZZ[MBXKJX
FZZSDZBPZJBSLND[
fZ[[[z[[[y[[[2
  g     
))g))))(
))g)))))
.(()g)))))
[[[	[[[g
[[[:[[[-g
[[[;[[[g
[[[;[[[g;
[[[?[[[g
_g][[[;[[[
||||g|||||||
g@[[["[[[
g@[[[?[[[
g[[[[;[[[
g][[[ [[[
g][[[*[[[
g][[[.[[[
g_[[[?[[[
g||||||||||
g||||||||||||||||||||||||||
))G)))))
[[[:[[[G
[[[?[[[G
[[[@[[[G[[[
[[[][[[G[[[
G@@@@@@@@
"[[[g0adS[[[![[[ 
G0a]mllllllllmllllOllylm
g0eA@B@[pML
G0H0I0J0K0L0M0N0O0P0
G0H;A8u L
G0jggw8y
[[[g[[[0[[[k
G0L9 t	H
G0llllllllmllllOllylm
g0|wgAgga
g0_[[[Z[[[K[[[
g][[[1[[[6[[[
g1agfGIn
g1agfGJ@
g'1AW	"t
	g1bgfG33
g1bgfGac'
#.g1cgfG
g1cgfG0T
@g1cgfGMc
g1cgfGQm
g1dgfGB N
g1dgfGD[r
g1dgfG'F
g1dgfGF;@
g1dgfGm@
g1dgfGo[
g1dgfG-U
g1dggwL"
g1egfG)	
g1egfG@?
g1egfG"0CJgqgg
g1egfG;40
g1egfG77
g1egfG7H']gqgg
g1egfGaj
g1egfGGC
g1egfG.ha
g1egfGHH
g1EgfGhi
g1egfGizN
g1egfGJnc
g1egfGJq
g1egfG	k
g1egfGly
g1egfGml_
g1egfGQt
g1egfG(rR	gqgg
 g1egfGs
g1egfGThDwgqgg
g1egfGu#
g1egfGUJ
g1egfGXK
g1egfGZH
	(g1fgfG#
[g1fgfG@
g1FgfGF?
g1fgfGzD
:G1fgSegfG
G1g;cgfG
#g1|gfG(
 g1|gfGZ0
g1ggfG-1
g1ggfG?eS
g1ggfGgh
g1ggfGKAy
g1ggfG?L
g1ggfG]oF
!g1ggfGs
g1GgfGUm
g1ggfGyQ
g1gggGF4
g1gqggcnuDE!
G1gqggy?
g1gsvgfGb
G1gyhgfG
g1hgfGD?)
]g1JgfGD
g1jgfGWn!
g1jgfG@y!
g1JllllllllmllllOllylm:
g1kgfG1Vz
g1kgfG"5'
g1kgfG92
g1kgfG!C?
g1kgfG.'f'gqggZ
g1kgfGfO
g1kgfGgu
g1kgfGJ!
g1kgfGjD.8gqgg;Y
g1kgfGjhNcgqgg4
g1kgfGoMl
@g1kgfGp
[g1kgfGq
g1kgfG:T
g1kgfG;z
g1kgfGzv
_|!g1lgfG
G1llllllllmllllOllylm
G1llllllllmllllOllylmY
G1llllllllmllllOllylmZL!
g1ogfGjlH
g1ogfG x
]g1tgfGE
g1UUBUU(
?g1vgfGp
g1wgfGDk
g1xgfGo#
g1xgfGq0M
G23hD704]0
G2bgqggE
;G2(J)k#9
G*2pgppepq
|g3agfGs
g3bgfGr6
g3bgfGvLo
?g3cgfG1"
g3cgfGfw
-g3cgfGm
[g3cgfGvV
g3dgfG4jQ
g3dgfG73
.g3dgfGG
]g3dgfGS
g3dgfGsy
g3dgfGWB
g3dgfGZyZPgqggG
G3e8Jnh|
_g3egfG66p
g3egfGCz 
g3egfG#e
g3egfG?]e
g3egfG|j
g3egfGQKL
g3egfG'v
g3egfGV *_gqgg
g3fgfG3t 
g3fgfGbN6
g3fgfGwB
g3fgfGX6
g3ggfG8D
_g3ggfGA9
g3ggfGIb
g3ggfG@m
g3ggfGod
g3ggfGQzM
g3gqggn0
g3H d?J3d
g3HgfG 	
]g3igfGp
g3jggGJqc
g3kgfG0!
(g3kgfG1
g3kgfG5?
g3kgfG:8
'g3kgfG)ac_gqgg
g3kgfGAM
g3kgfGd@
g3kgfGfR
g3kgfGGYk
g3kgfGm8
g3kgfGOL
.g3kgfGp
g3kgfGQE
g3kgfGR_
'g3kgfGs
g3kgfGs#
g3kgfGSE
g3kgfGsn
g3kgfGTG
g:3llllllllmllllOllylm
::g3ngfG
g3ngfGJX
g3ogfGTi
g3sgfG M[
g3sgfGp|
g3tgfG"O
g3TgfG_s
g3vgfGrA
g3wgfG3B
g3ygfG[B
g3ZgfGv7@
g][[[4[[[
g	46ffGEhw
G	49'4O6""
g]4gfGai
G4HHHIYIIIIIIIIIIIIIOIIIJ
G||4U||*U||
g5agfGju
g5agfGp4
g5aggGcG
g5BA@@Hp@V
g5bgfG.2
[g5bgfGCG
g5bgfGM:
g5cgfG2b 
g5cgfG4QI
g5cgfGf?
g5cgfGH(c
#g5cgfGLu
g5cgfGWB
	g5DgfGn
(g5egfG)
g5egfG0iK
g5egfGqTV
g5eggGd@
g	5ffGy|
g5fgfG;8
?g5fgfGFg9
g5fgfG'T(
g5fgfGuw
G5fjE*d;A
g5ggfGHO
g5ggfG]QE
 g5ggfGya
g5g;ggfG
g5gggG|t
g5gggwEp
G5gqgg3''q8
G5gScgfG
g5jgfG*h
g5kgfG_	
g5kgfG4uqjgqggf
g5kgfG8D6
g5kgfG8k
?g5kgfGa
g5kgfG@a]
g5kgfGEJ
g5kgfGFY
g5kgfGfYW]gqgg;Y
g5kgfGLK
g5kgfGMC?
	g5kgfGO!
?g5kgfGP
g5kgfGPO
:g5kgfGqh
!g5kgfGr
g5kgfGt*
g5kgfGYH
g5@@@@@@@@lpII
g5mgfG6k
g5mgfGG|)
	[g5mgfGq
g5ngfG*!
g5ogfGva
g5pgppepq
g5rgfG|z
g5VgfGV:
g5vgfGXuOhgqggA
g62ex[[[
g:6gfGZ9
g6gKkgfG
g6llllllllmllllOllylm
g	6mfG'?
G6n7n8n7nPJzGEG
g6pgppepq
G6pgppepq_F
g6Q(VSSW(|SSWAQQ(
g6UUBUUb
g  7     
g70!4UUOUUu
g7?6acNV
G77cgfG_
g77gfG[9p
#g7agfG7
"g7agfGc
g7agfGeh
g7agfGsc
g7aggwd:E
G7@@@@B@A@
g|7@@@@B@AB@
(|g7bgfG
g7bgfGBA
g7bgfGBIH
(g7bgfGg
_g7bgfGG
g7bgfGId]
|g7bgfGs@|
g7bgfGUR
]g7bgfGxN;
G7cdgfGc
!g7cgfG'
)g7cgfG.
.	g7cgfG
g7cgfG(E
g7cgfGf;
g7cgfGhn
g7cgfGkX|Fgqgg
g7cgfG	lJ!gqgg
*g7cgfGMa
g7cgfGqr(wgqgg
g7cgfGRj
g7cgfGrX
g7cgfGs*
g7cgfGTBJ
g7cgfGUD
g7cgfGVg
_g7cgfGZ
g7cgfGZ6
g7dgfG#	
g7dgfG8b
g7dgfG9R
#g7dgfGa
g7dgfGDp
'g7dgfGE
:g7dgfGf
g7dgfGf*t
!g7dgfGi
g7dgfGiN
_g7dgfGK'
g7dgfGog
g7dgfGV8i
)g7dgfGw
g7dgfGw"
g7dgfGW;
g7dgfGW|
g7dgfGX1C
'g7egfG(
g7egfG[1
g7egfG@4B
g7egfG4Xs	gqgg
g7egfG*5
g7egfG6V
g7egfG7eT
g7egfG7j.
g7egfG7N
g7egfGCe
g7egfGe_Y
g7egfG@G
g7egfGis
g7egfGJX
g7egfG_m
g7egfGM!
g7egfG|	Nqgqgg
g7egfGp4Y
g7egfGPz
g7egfGqq
g7egfG-UK
g7egfGUYP
g7egfG'v
g7egfGxu
-g7fgfG_
g7fgfG2;E
g7fgfG6*V
g7fgfG9A
g7fgfGa8
g7fgfGc7
g7fgfGEE
g7FgfGES
g7fgfGFn
g7fgfGHM
g7fgfGld
g7fgfGmX
g7fgfGo*
#g7fgfG(p.
g7fgfGsTE8gqgg
(g7fgfGu
|g7fgfGV
g7fgfGxK
g7fgfGyO
g7fggG:T
g7ggfGa|U
g7ggfGC8[
:g7ggfGm
g7ggfGN@
g7ggfGqOG
g7ggfG?VT
g7ggfGZc
g7ggfG'Zr
g7g]Y]]"'Y
g7gzrzzzzzzzzzzzrzz"zzz
g7gzrzzzzzzzzzzzrzzzzzzzzzzzrzz"zzzyzzzzrzzBzzz
G[[[	7hfx[[[
g7hgfGL?
g7igfGQX
g7JffGS]
g7jgfG]	
-[g7jgfG3W
g7jgfGnq
g7jgfGqf
.g7jgfGrP
g7jggGBP
#g7kgfG1q
g7kgfG4c
g7kgfG5O
g7kgfGfP
g7kgfGg 
g7kgfGgX
g7kgfGi	T
g7kgfGKC
g7kgfG?Mf
g7kgfGsH14gqgg(
-	g7kgfGW
g7kgfGYlx
g7kgfGYM
g7kggGHjA
g7Kgqggo
"'g7lgfG
g7lgfGT-
g7lggG1G
g7llllllllmllllOllylm
g7nbgfG[
]g7ngfG;
g7ngfGK?Y
@g7ngfGT
g7ngfGZv
g7ogfG6X
g7pgfG'F
g7qgfGUE
g7qggGHu
g7qgqggMX
g7rgfG_R
g7sgfGQ]A
g7sgfGuy
G#7sgggG
g7tgfG F
g7tgfGxI
.G7tggfG
g7ugfG(k"
g7vgfGgu
g7vgfG U
-g7vgfGX"q
G7|voeo7ogo
g7wggG3J
g7wggGgcW
g7wggGkM
?g7wggGn
g7wggGOTJHgqgg
g7wggGRn
!g7wggGs
g7wggGVV
g7wggG..W
G7WgqggBG
|g7XgfG[
@g7yggwn
g7yggw(Qz
g	8@@@@@
g8DdG[[[
?G8f37ib
G8gqggXkujW
G8I9E8t3H
g8I	'B' 
_G.8lgAgg
G8llllllllmllllOllylm
G[[[8W_dM[[[
g90gfGE(
g9agfG4Yyogqgg5
g9agfGH_Rugqgg
g9bgfGNp
g9bgfG*U
g9CgfG2W2
g9cgfG7X
?g9cgfGD
_g9cgfGhs
g9cgfGO'x
g9cgfGUT
G9CllllllllmllllOllylm
g9DdR[[[
g9dgfG3L
g9dgfG#J
g9dgfGRz6
:g9dgfGv
g9DgfGx'
g9dgfGxJC0gqgg
@g9egfGbU
g9egfGQb
g9egfGz@
g]9eG[[[@[[[r[[[	
g]9eH[[[
g]9eL[[[
g]9eL[[[1[[[6[[[
g]9eP[[[
)g9fgfG	
-? g9fgfG;
g9fgfG1cX
g9fgfG9P
g9fgfG	Fs
-g9fgfGJ
g9fgfGx6
g9g3kgfG
|g9 gfG?
"g9	gfG1
-]g9;gfGG
g9ggfG(3
g9GgfG(3!
g9ggfG_8
g9GgfGHr[
g9ggfG*n
'g9ggfGP
g9ggfGqb
g9ggfGQz
g9ggfGxX
g9gGMgfG
g9GKsggG
g9igfG18
g9jgfGj	
g9jgfGn_*1gqgg
)-g9kgfG
*g9kgfG.(
g9kgfG0f
g9kgfG1h
-g9kgfGd
g9kgfGG|
?g9kgfGK
g9kgfGp1
g9kgfGqC
g9kgfGQH
g9kgfG?S
g9kgfGt!
g9kgfGvF
g9kgfGX 
g9kgfGx4
g9kgfGXC?ngqggeP
g9kgfGXH
g9kgfG-xt
g9kgfGzA
g9lgfG5(
.g9lgfGu
G9llllllllmllllOllylmT
g9mgfG2-
g9mgfG3f
g9mgfG)6
g9mgfG9T
g9mgfG)b
g9mgfGdI
g9mgfGDU
g9mgfG!h
g9mgfGhXd
g9mgfGLe
g9mgfGn!
g9mgfG;p
g9mgfGRV
g9mgfG:S
g9mgfGU]
g9mgfGu9H
G 9@@@@@o@@A@AAac
g9ogfGKZ
g9ogfG]O
!g9ogfGx
g9pgppepq
G9pgppepq
g9qgfG !o
g9Rggw"4
g9tgfGHt
G  9     x
g9!((]Y]]
g[[[[a[[[
]gA[[[#[[[
g_[[[A[[[
gA[[[ [[['[[[
gA[[[-[[[
gA[[[;[[[
gA[[[3[[[0[[[
G*@@A@3 EW
(gA[[[6[[[)[[[
gA[[[6[[[
GA7gkegfG
gA[[[8[[[?[[[
gAAAAAA@AAAAAC
GAAAAAA@AAAAAC
GAAAAAA@AAAAACg
gAAAAAA@AAAAACo
gAAAA@AAAAAC
gAAAA@AAAAAC|
GAAAA@AAAAAC
gAAAA@AAAAACV
gAAAAAAAAaqAT
gAAAAA]AAbqALAAAAAAAA
 gAAAAAA@AdqDE
gaaaaaa]Y]]7
|g @@@@@|@@A@AAac
G@	@@A@AAac
gAAAACACA 1Aa
gAAAACACA!1Aa
 gAAAACC@A
GAAAACECAfqAJ
@@@@@g@@A@A@ac
@@G@AAac
gAA@Ai!PQ
@@G@A@ac
@@@@@@@@@@@g@@A@ACac
@g@@A@ACac
GAACY[EXDEX
@@@@@g@@A@ADac
]@@@@@g@@A@ADac
@@@@@g@@A@AFac
]gaagfG;
gAagfG1X
gAagfGaf
gAagfGdl:
gAagfGH6
gAagfG	i
gaagfGId2
(gaagfGmjp6gqgg
gAagfGnq
gAagfGO]
:gAagfGTON gqgg
gaaggwmID
G_AAM_BAY
GAAPQOXDGXE
g@@@@@A@@AQ@D
g@@@@@ABAEp@D
G_ABAN__
gABA@[pD@@@@@L
G][_ABBN_
GABCJLSFGB
GABCNQZCMX
G_ABDKDHB_SKB]HYC
"gabgfG1
gAbgfG*	2
gabgfGEoT
gabgfGph
gabgfGpWl
gAbgfGz8
GABHG[LDG@ZOS
_GABHXO_
][GABJ]A
GA[BJ@LOSB
G[ABKCMNS
[GABLXDXQBLP]
gABPATH 
@@G@ACac
gacacaOa@B)253[5
gacgfG03A
gacgfG0#Bzgqgg
gacgfGJaY:gqgg
gacgfGnAT
)gacgfGv
gAcgfGV7
gacgfG#vi
gacgfGXm
[]GACJ][
GACM]HQA
@@G@ADac
GADCABJG_AZ
GAD@G[CJ
gadgfG'3
(gadgfG5
gAdgfG'9
gAdgfGDj
gAdgfGHod
gAdgfGht
gAdgfG I
gAdgfGkH
	gadgfGo
gadgfGPda
gadgfGPq-
gAdgfGUPskgqggU@
gAdgfGvS
gAdgfGW!
GA[DH_GOL
gAdH[[[w
GA_DLZPA
GADMKQNX_SHZ
_GADOS[SB[M
gAdP[[[([[[
GA[_DXBEYP
gA[[[e[[[
@@G@AEac
@@G@AEacoo
G_AEBSXBSJ
GAEdI[[[
GAEDYMAX
gAegfGaL
gaegfG:C
gAegfGCn
gAegfGFWl[gqggD
gAegfG(G
gAegfG-G
 gaegfGh
gaegfGH7
gAegfGquo
gaegfG:u
gAegfGWR
)gaegfGX
gaEgfGXn
	gaegfGy
gAegfGZk
gaegfw3B
gAeggGqF
gAEg-kgfG
]GAE_GPK
GAEGZJ_E
G[A[ESYFSA
G]AEZYGEZYO@ELE@Z]
@@G@AFac
G@;@AFac
)))@GAFDL
GaFeFYFQF5F)F-F!F
	gafgfG)
gafgfG0BK0gqgg
@gAfgfG4
#gafgfG8
gafgfG Bd
gAfgfGDv
gAfgfGE6
gafgfGF5
gafgfGH]
gafgfGKt1
gafgfGLJ
gAfgfGO7
gAfgfGQ4
gafgfG:Vp
@gAfgfGw
gAfgfG:Z
GaFQFMFEF5F	F
GaFQFMFEF5F-F
GAF_[YSKJGBKXO
gA[[[G[[[
GAGAGX[_S
GAGBSHXX
gagCwgfG
*g-agfG#
-*g-agfG
?g]agfG@
["g'agfG|
g'agfG.#
gA-gfG-1
g'agfG4O
'ga|gfG6
g_agfG8A
g?agfGb]
g_agfGIv
g;agfG.]K
g'agfGK_d
g-agfG;M;
g	agfGmE
ga!gfGOF3lgqgg	
g?agfGOz
g_agfGq4Tlgqgg
g[agfGqmx#gqggj
g#agfGUf	
g!agfGV]T
g'agfG#y
g'agfGY8
     gAgg
] (*gAgg
]|_gAgg_
_gAgg0io']
gAgg18q2Ufuk
gAgg1*;q
gAgg1@Q]BDV
gAgg2i c	
gAgg331 Q
gAgg3J#[
gAgg41kw;
!gAgg_4h
gAgg5N9x
]gAgg'6U
gAgg6@uS
gAgg6XaN
gAgg7cMhF?
gAgg--8E
gAgg90QP
gAgg9snX
gAggAI '
gAggA)"Oy
gAggaTcp_
.gAggA.y
gAggb4PJ
gAggb]9E
gAggBAQm
gAggCYQbg
gAggDpsX
gAgg]):E
gAgg(E"7
gAgg[|Ek
gAgg.eUi
gAggfG1L
gAggfG9d
gAggfGON|
gAggf_p:
gAggfw2i
gaggfwh@
gaggfwKj
gAggfw|s
gAggfwU6
g_aggG5A
gAggG6If
g_aggG9-
g_aggG9Y
g_aggGAEaZgqgg
g_aggGhD
g_aggGhh
g_aggGMk
g_aggGop
gAgggUeb
g_aggG_:v
gAgg#H0Q
gAgg*	|i
#gAggIVC
gAggJ7PwZ]O
gAggjCQEro
gAgg)KI@N
gAggKjD9
gAggKYp	
gAgg*l]Qi
gAgglw]g
#gAgg(@M
-gAgg?M5
gAgg!MAt
gAggmrl?X-74
(gAggMv4
gAgg".M-Y
gAggN1YN
	gAgg#Nk
gAgg.nXk
"  gAggo
!gAggOuZ
gAggo|xl
?gAgg|pb
	gAggq.'
gAgg# |Q
||gAggqa
gAggR4Y"
gAggrRf|
gAggS#Le
gAggS"Mnv|
gAggS'nr
gAggT5fZ
gAgg-# u
gAgguq Z
gAgg?vAIG
gAggVemk
gAggV.Gb
gAgg"(W"
gAggXJ2y
	gAgg]XL
.gAgg'y!B
"gAggY-e
gAggZ;F2I
gAggZZ3p
GAG_KBQD
Gag_kgfGc6
[GAGNL[J
@GAGNP]MH
GAgwdgfG
GAgYbggG
GA@HDDYG[MBNZPA
GAHD[GSCKMBMNQ
@GAHELM@N@]HE
g@@A@h EW
gAhgfGnf
gAhgfGRU
GAHGKQSZAAG[OC[XC]K
g@@A@h Hr
GAH_[JXLOZD
g)))AHKKLELSSL]EL[
g@@A@h KN
G@@A@h LP
GAHO_EQQ_E
g@@A@h SS
GAHXN_MF
GAHYPDNAYCLANBZGPBPNG
G_AHZGBP
gA[[[i[[[
gaigfG5n
gAigfGP*
GAJDCGXM
gajgfG!r
gAjgfG|r
GAJQLY]PJ
GAJSQ]QAJLG
GA[]JYCG
G@A[JYX_DSN[GO
_G[AJZKD]BZ
GA[K@[AOBK
GAKB_MAMOKNHGH
gAkgfG:_
gAkgfG|4
gakgfG8rjrgqgg
gAkgfG:c
'gAkgfGC
gakgfG?Ck
gAkgfGfN
)gAkgfGI-M8gqgg_
gAkgfGj;
gAkgfGNcd
?gAkgfGp
gAkgfGpy
gAkgfGrhAegqggI
G_AKJDDXSLA
GAKJJNB_
G[AKLKZB_
GAKMANPAH[[]Y[P_
GAKN[AH_COEK
GAKNO_MJJO_NK]AGPCANKO_MJ
GAKQ[]BB_ZY
GAKX_OKNXZB
gA[[[l[[[
GaL6	pgppepq;
'gAlgfG_
gAlgfG|l
gALgfG.mJ3gqgg
galgfGYs
@GAL[@]HGJL
G]ALHML[JALJB))
G]A_LK[JDL
_G]ALLGB
@G]ALL_LG]HGFYLGJHGMP
.)))GAL@N
|||GALrt|s
GALZHACPEABGE
@GAL[@]ZJFDYFGLG]
gAMARUEoBFUSCATOR 
GAMBP_QXYZJ
GA_[MDZMBK
gA[[[m[[[e[[[
gamgfGb*
 gamgfGNd
gamgfG]P
GAMJ@LHNO
G_AMLGHQN
gAMnE_K@
GAMNE_K@
GAMOMAYSSL
GAMZ]XCG
GAN[]BDP
gA[[[n[[[c[[[:F
GANDF]_A[@L
gAngfG'cA
gangfGiNK
gangfG'O
gangfGp7
"gangfGQ
-@gangfGVw
GA@N_HHZ
gA[[[n[[[m[[[c
GA_NM[KQ
GAN[NDDN
GAN[NH_DS
GA]NOHNM
_GA_NSNH
[@G[ANZON
gA[[[O[[[
GAO[D]JC[NXSM
gAogfG'*	
gaogfG'8
gAogfG!F
gAogfGLak
gaogfwr_)
GAOKHF[JK_OOAX
]gA[[[P[[[
@gA@P@BEac
GAPBHK@XK
GAPCZMQB
gaPgfGa#3
gaPgfGLI
gaPgfGn[
gaPgfGQz
gapgppepq
GApgppepq
GAPLCNNX
g@@@@ap@n
GAPQ_QJYLK][
GA@PSDBXQ]
GAPXZB[QZ
g)))APYL[E@GB
GAPYQKAZOBZ
)gaQgfG1
gAqgfGot
)gaQgfGuVk
GAQXQ[ABLFJFK
garbage after data
gaRgqggo
gA[[[r[[[q[[[
gA[[[S[[[M[[[
gA[[[s[[[q[[[: PdR[[[r[[[
gA[[[s[[[r[[[
]gA[[[T[[[
gaTgfGAL
Gather telemetry data from the system using the custom TDT Driver.
GatherWWDa
gaubgfG'x
g	aUCNCCCBBCC
gaugfGNv
gA[[[v[[[
]gavgfGZ
gawgfGA)	
gAwus2#si
GAXDCBXGO[
GAXDQOYE
GAXDZ[ZZ
GAXEH]CC
GAX]]]FKZ
GAXF[MOMJ
@.gAxgfG
GAXGHLD_
GAXPHAOO
GAXQKOGANS]KALLOX
G)))A]]Y
GAYAC_ZYALOC
GAYBGPACC_
_G]AYCXPMEL
GAY[GXOL_
GAYJSOCP
GAYPOEHMFQC
GAYSHGYMBHXBNC
gA[[[y[[[x[[[L(PdA[[[
g)))A]]YZ
GAZHMGN[Y
GAZ_JA]HMEC
G]AZJZMMBSLAX
GAZL[GBO
GA]ZOLGA@EB
GAZSEZQJ[DPQ
g[[[[b[[[
g][[[b[[[
g_[[[b[[[
g@@@@B@@@
gB[[[	[[[([[[
G@@@@@@B@
G@@@@@B@@
G@@@@B@@@
gB[[[2[[[
g"b2bvgdl|w
G@@@@B@A@
gB@A@2 @D
G@@@@B@A@2 @H
G@@@@B@A@2 @Hj
gB@A@2 @I
G@@@@B@A@2 @I
GB@A@2 @L
g@@@@B@A@2 @MY
g@@@@B@A@2 @Q
g@@@@B@A@2 @rh
gB@A@2 @T
g@@@@@BA@7pP@@@@@Se
g@@@@BAABap@D
G@@@@BAA@Hp@S
g@@@@BAB@
g@@@@BAB@Ep@D
g@@@@BACA_p@M
(gB@ACAQ@iN!
g@@@@BACBEp@DR
g@@@@BACCHp@D
g@@@@BAC@Ep@D
GBA[@DAQJX
GBAEMMC]LS
GBA[HGBD
g@@@@BA@@Hp@b
g@@@@BA@@Hp@DL
g@@@@BA@@Hp@J
G@@@@B@AK2 @W
G@@@@B@A@Lp@lF
g@@@@B@A@Lp@S
GBAPX[N]
gBBBBBBB
GBBBBBBB
GBB]BNDGLPS
g@@@@B@B@Cp@x
GBBCYXMKNMP
gbBDSgfG
GBBHL]ONMJ
G@@BBh Yw
GBBMSCLM@YZ
GBBNOYZCSP@L[_DNOCAP[B_
GBBQ_LZNCS
@@G@BCac
GBCAPZDO[KOD
GBCCOYQEODZ]LCHAPBN
G_BCCQ[Z@
GBCDSOOQGF]
GBCGNHPQM
GBCJ]M]BH[JJENSKCJEG_
GB]CPGHQ
]gB[[[D[[[
__GBDDBQGXH
GBDDPEGJS
GBdG[[[([[[#[[[
GBDH[KMGG
GB_DJCYQ]NQLSDLLLQADY_S
[[G[B_@[DME
GBD_NH_NY
gbdo'4'gleUU@UUx0
GB@_DOMO
GBD_OXBL
GBdx[[[C[[[
GBDZ]GY]Q
G]BDZNKXH
gB[[[e[[[
gbe7go'4'gleUUBUU
@@G@BEac
@GBEBF	@EBFD9
GBECZ[XCL
gBegfGL2
@GBE@GNYHYL[
GBEJDSCCLO
gbeM[[[f
gbeo'4'gleUU@UU
gbeo'4'gleUU@UUH
gbeP[[[b[[[
GBESN]ZZOKZP
GBEXLKNANCSBBD
GB_E[XOBD@GM
[[[GB"eY[[[
@@G@BFac
GbF_FHFEF
GbfgfGb8
GBFJ]A@CYQ
GbFJFAF8F
@GBFLsBG
_GBF][M@
GB[[FONGGG
GBFQMN]S
G@B]FvJF[L
g@B]FzJHGGL[v
@GBGBAgUs
@GBGBE2N
G]B[GEDY
#_g?bgfG
?[g	bgfG'
]"g	bgfG
g	bgfG'*
g'bgfG..
g)BgfG@[
g?bgfG1-(
g'bgfG?4
g?bgfG4J3
g!bgfG4N?
g'bgfG6cU
)g'bgfG9
g;bgfGaa
g-bgfGaq
g'bgfGD_
g[bgfGe 
g)bgfGes
g)BgfGEx
'g_bgfG:fb
g-bgfGg9
g	bgfGgr
g)bgfGi@2Ygqgg
@g_bgfGJ
GbgfGJj 
;g)bgfGK
g	bgfGLI
g-bgfGp|
g;bgfGp_
g	bgfGq L
g[bgfGr	
g'bgfGSP
g]bgfG[T
g]bgfGtL_
g]bgfGU|
g?bgfGWxy
g;bgfGX:
g[bgfG:z
g?bgfGz N
gBgg2c00
gBgg6aqo
gBgg9rzP
gBgga]-90l-
gBggdwTQ
g_bggGv'
gBggIfC9
gBgg?LyALE	
gBggO-s'
gBggTG].
gBggW:56
g'bggwn2M
!g	bggwQ#m
g'bggwsNK
g?bggwv 
g]bggwy6
@GBGJgQEyBGIeQEyQ(WSSW
GBGJLMSNQAN
@GBGL(2U
@GBG[LC9
GBGLNNYJM
@GBG@MBED
@GBG@qBqI
Gbgqgg'G8i
@GBGsSCSS
@GBGsSSS
@GBGsSVSS
gbgY5gfGY
GBH]AGA]K
GBHCNFN_[[PXCCLXP
GBHDOXYENDH
GB[[HDYQH
]GBHFQYBOX[
GB]H]GFDZ
GBH_KCGJGCM
GBHLHOO_
GBH[N[X]LH]MZZ
]GBHOHY]S
g@@@@B@@@Hp@
g@@@@B@@@Hp@_
G@@@@B@@@Hp@[
g@@@@B@@@Hp@d
gB@@@Hp@d
@GBHPJOKNG
gB@@@Hp@n
g@@@@B@@@Hp@OWQ!
g@@@@B@@@Hp@S
G][BH_QB
GBHS_ZX_NNJ
_@][@GBHZH
gbI38V1VoB
gB[[[j[[[
GBJL@F[_FOBKPNB
GBJLXAYXMJZX
GBJQ[]P_D_YK]OYY_AY
gB[[[K[[[
G@BKCMBK
[G_BKF]U]BT
GB[KJBF]NPQ
GBKPSKSSCG_BQ
_G[BKS@PN_G
]GBLBYAYOCQ
GBLGNCM[_Y_BQ
@GB_Lj9d
GbllllllllmllllOllylm
GBLMOXE_
G@@@@B@@@Lp@lF
GBL_P]ZGD
GBMC@COKA
GBMCDKZB
GBME@LALYC
GBMKYXOY]
gB[[[M[[[L[[[B
GBMNOXHA
GBMQNBZX
@GBMsSCSS
GBM_Z@JCH_
GBNC]S_@
G]BNGAMJFKMCZK
-GbNgfGU
GBNLE_KJ
@GBNM9	BG
G]B[@NMXSDZZOH
G@@@@B@@@Np@Eb
GBOAHQP@LY@[QYM@
GBOD]BPC
_GBOGPYQJ
GB[O@XMJY]QHA
GB@OZGA]N
GBPAJDXPZB
G]BPC[CPY
GBPEY[MA]]L
GBPGKJHPA
GB]PGKONHA[
G[BP][H_
G[_B]PJF
[GBPM]MZQ
GBPNF_GJH
GBPNONBN]MP
GBPOLBDCY
GB[PPKABD[O
GBPQYPENC
GB]PYO_Q
gB[[[q[[[
gB[[[q[[[a[[[
GBQA[EQ]_
GBQALP_MLBL_DBJXGD
GBQAPBH]]PNDJ
GBQ[HLLZD
GBQHSJ_HBXZQ
GBQHXCXS
G bQngfG
GBQNLMCQFJD
GBQPDMCYKYQ]MYMHQQQ
GBQ]]PHX
gB[[[S[[[
GBSGYYOPHD
GBSNBQ]YM
GBSQOO[LZL
@GB_sSCSS
GBSZ]J@QLGJ[QS
[GBS]ZPC_L
gB[[[t[[[
gbV@CBC]W
_GBXBBJB
GBXBOS@GGNAX
GBXDKFZC]LG
GBXELKHKOOQKSZ[YFDY
GBXHSG_[[QD]PSJXS[
GBXX]PQPG
GBXYYBD]H
GBYDJOMDOMMYPPCXG[LGAZ
GBYHACSQHZCAQL
GBYMHDAMAQDJQPA
GB]YNPJP
@GBYssPSSd
]GBZA]ZBZBYBNAHDHDA
GB[Z]BQKYNB_SMNNLGEH
[GBZH_AQSD
GBZHP_KDB
_GBZKEMQO]MN
GBZ[LDZNLJ
GB]ZXD_ANMLA
G]BZYHMHK
GBZZ@MZED
g_[[[c[[[
gC[[["[[['[[[
gC[[[0[[[4[[[
gC4(	gecgfG
gC[[[;[[[9[[[
@@G@CAac
gC[[[A[[[G[[[
gCagfGiL
|gCagfG'n
GCA_LLK]YJZO
GCANEDJX]HN_
GC@]AOKB
GC_B_ACZ
GC]BDOPM
GCBFEDJD
gCbgfGhD
gCbgfGML
gcbgfGOD
gcbgfGpb
G_CBHAHBMA
GCBLMKSQQPZH
GCBMPAPDE
GCBNZBGKG
g[[[[c[[[b[[[O
GC_BPY[SD
GCBXBJ_D
gC[[[C[[[
@@G@CCac
GCCBCCCBCCCBCCC
@gCCC0C6C
gcCefG'b
.gcc_except_table
!!gccgfG
. gccgfG
gccgfG0z
(gccgfG1#y
gCcgfG@9cFxjyxrxrxtxxyxwy
gccgfGA-
gccgfGA0
gccgfGa9U
gccgfG_b
gccgfGbO
gccgfGCb
gccgfGc|G
gccgfG?D
gccgfGdrJegqgg
gccgfGG|C
gccgfGGp
gccgfGHy
gccgfGKu
gccgfG[@m
gccgfGNZ
gccgfGPO
gccgfG.R
gccgfGR7
gccgfGS!
gccgfGT'Xigqgg
gCcgfGv[I
gccgfGW3
GCCL]AGL
GC]CM_ZEOO
g_CCNCCCBACC
gCCNCCCBACC
GCCNCCCBACC
gCCNCCCBACCL
GCCPGZBMD@
gC[[[D[[[
G@CDDJPS[
GCDDN_GY
GCDDSZPXK
GCDFKLDC
gcdgfGcL
gcdgfGEa
gcdgfGF7
gCdgfGhu
gcdgfGi2
gCdgfGnT
gCdgfGRg
gCdgfG T
gCdgfGTo
@gCdgfGU
GcdgfGUJ
gCdgfG"x
GCDJM@[LJ]YHP
GCdK[[[;[[[
GC[D[PNHZSY
GCDQ_LKDDK
GCDXYZCCYC
GCdy[[[1[[[7[[[#
GC]DYCZH
gC[[[e[[[
gCe_[[[B[[[@[[[
gCeF[[[x[[[
gcegfG;[.
gCegfG01v
gcegfG:7
gCegfGa-IMgqgg
_gcegfGb
gcegfG!J
gcegfGl*
gcegfG:n
gCEgfGOL
gcegfGQqR
gcegfGU]
gcegfG!Us
gcegfGzi
gcegfGzZ
gCegfw#])5U
GCEJLMSOQAN
GCELEYMPN
gCeL[[[o[[[
GCEMKYBH
GCENPKNH
gceo'4'gleUU@UU
gCeO[[[9[[[?[[[*
@GCESJ@NES
gCeS[[[L[[[B[[[
gceU[[[m[[[d[[[(
gceV[[[-[[[
gCeW[[[x[[[
gceX[[[;[[[1[[[|L
gCe_[[[y[[[h[[[.
gcez[[[b[[[a[[[
GCF[D]_ZQ
gCFgfG@2
gCfgfG5Y
	gcfgfGCy
gCfgfGe]
gCfgfGHg
gcfgfGhk
gCfgfGLN
gcfgfGOr
gcfgfG;P
gCfgfGQlV
-gCFgfGU
[gCfggwV
GCFJZGMJMOHMBZBXMFS
G@CF@PLB
GCFQOOXX]
GcFYFWFBF
GCGBYZSDPOJFQMGP
"g]cgfG"
"g]cgfG_
(]g-cgfG
:g'cgfG(
g'cgfG#!
g-cgfG0o
"g]cgfG1iO
g'cgfG3e|xgqgg
"g]cgfG5
*g cgfG5vt
g]cgfG7#
g'cgfG7Rk
"g]cgfGa
;g	cgfGa
[*GcgfGA
g]cgfGaB
g[cgfGAp
g;cgfGas
g!cgfGc]
g]cgfG	c
-g#cgfGC
g'cgfGCPhngqgg
g!cgfGcy
@g'cgfGd
_g	CgfGd
g'cgfGDm
g'cgfG'[e
gCgfGew1
g]cgfG;:f
.?g'cgfGF
g;cgfG|F
?g-cgfGg
@g_cgfGg
g'cgfGgbQ
_g	cgfGh
g?cgfGHp
g	cgfG]['Jgqgg]_
.g#cgfGk
#g'cgfGkCx gqggf
.g_cgfGM@
g]cgfGmibSgqgg
gC#gfGMZ
;GcgfG@N
g_cgfGNr
g	cgfGnt
|g!cgfGo
g[cgfG O
g-cgfGpZ
g;cgfGq.
g)cgfGQ;*
g'CgfG q
g!cgfGQKD
g!cgfGQu
	g_cgfGt
)g_cgfG"T
g_cgfGtz?
g;cgfGUe
"g]cgfGuhk
gc|gfGUw
)g?cgfG]v@
g;cgfGvj?
g_cgfGVwx
#g-cgfG?w
-g'cgfGx
g-cgfGx@;
-g_cgfGX
g-cgfGx6!
g;cgfGz*
g[cgfGz(
g]cgfGz:
g[cgfGzz_ngqgg
gcgfkcdS
gCggehu)
gCggfG0b9
gCggfGbMc
gCggfGDt
(gCggfG;l
Gcgg-gfG
;!gCgggG
gCgggGNQ
!g[cggG"t
GCGJLMPSQAN
GCGJLMSJQAN
gCgqgg#a
g]CgqggQ@
G_CGQSEL
gcgSggfGg
GCHAH]MQXQ@BH
G[CH]_AJHEMAHE
GCHDQXSMS]
gchgfG'[
gChgfG2:
gchgfG(G
gchgfGpga
]GCHJDCMBP
]GCH][JS]Q
GCHLBYNG[L
GCHL]Z_LKC@S
GCH_PP]ZLEBB
G[CHQNKFJ
gcigfG00b
gcigfG'9
*gCigfGI4c
GC]JA_GCY
GCJCZGL[]X[KJ
gcjgfGbMHvgqgg
gCjgfG!V
GC_JLMGLQANPDEQ
GC[JLMGLQANPD@@Z@EQ
GC_JLMSLQAN
GC[JLMSNQAN
gC[[[j[[[m[[[B
G_CKCXG_
gCkgfG3k
]gCkgfGa
gCkgfGBe
gCkgfG|i
gCkgfGiU
!gckgfGp
!:gCkgfGs
gCkgfGSv
GCKM__@Y@JBADGDBAJJ
GC[K_PF]XHFSMYZJNML_
GCKYDESA
GCLAPLP[
GCLAPQMH@
GCLAZ]QA
G[CLCN[__
GCLDHC[OYYK[
GCLDXGEG]NHC
GClfggggw
!)))@GCLJ]
)))@GCLJ]
;)))@GCLJ]
@GCLJ]F[
@GCLJ]@FG
#)))@GCLJ]LM
@GCLJ]LM
@GCLJ]LM]F
@GCLJ]@O[HDL
@GCLJ]uZ
GCLJYYOZ_YAXLX
@GCLJ]ZF[HEZ
gCllllllllmllllOllylm
GCLOG[HM
gcmgfG9h
gCmgfGIUM
 gCmgfGj
gCmgfGzD
GCMKLYESSC
GCMLYYAH
GCMMOY@P_
gCMogfGo;
g cMpgppepq
GCMX@OrM[]t
GCMY[LKOLX
_GCMYNGH
GCMZGEL[HLNY
gC[[[N[[[
]gCngfG"
gCngfGgtm
GC]NMBQGK[]
GC_[NNAZJ
GCNSPPD@
GCOCNAK@PBJ
gcogfGoR1@gqgg*
;gcogfGQ
gcogfGrm
gCogfGs#k
GC[OLXG[]
GC]OMLZGBC
GCOOJNCD
GCO_YNJZCED_
GCO@YQ_LSC
GCPDMOESBCOYCB[
GCP@EJCJLMP
gcpgfGYS
gCpgppepq
GCPQNOJ]A]MNML[Z
GCQCGXLHKDY
GCQD]FCEQO
GC__QFAMP
GCQHCBDAGA[
_GCQHLSX
GC]QJM]Z
GCQL[LXL
GCQ]LYPO
GC[QMDZYH
GCQQ][GHM
G_CQSOECXCELB
gCQ(VSSWs]S
gC[[[R[[[
GCrgiggfw
gcrgqgg8
GCSAKMBM
gC[[[s[[[b[[[
GCSCDCPCJELLGOYOKC_PMZKG
GCSDP]QOO
)gcSgfGLIq
?gcsgfGw
GCSLJJJGA
G]CSOAKJSZJY
gCS*P;gCS)P
GCSXB@ZANY
GCSZQ#GCSYQ
gctgfGGh|
gC[[[T[[[J[[[[[[d[[[[
gC[[[][[[U[[[B
[gCUBxB|
:-gCUgfG
gCugfGVw
gcUUFUU7J
	gcvgfGyS
gcVsSRSS9
gcWdgfGN
gCwgfGb6
gCwgfGTj
gCwgfGxe
gC[[[w[[[t[[[
GCXDE[CQYYNF
GCXDMN_N
G[CXDZH[JK
GCX@EJCJLMP
]GCxgfGV*
GCXGPE_CB@D[L
GCXMCJKMG
_GCXONXPN]E
GCXZPOFJ]X
GC]Y]]9*Y
GC]Y]]A2Y
GCYAA_LPZQAQ
GC[YDDOHONQXYZ
GCYJBJK]X]PS
GCYL[MOC
GCYMXP_YA
GCYQANNAHHPJAL
GCYXDOAOQMJ
GC]Y]]"*Y
GCYZXLGA
[GCZ[]D[N
G@CZDNLPXQG[E
GCZ]_QALSPAPL[
g][[[d[[[
gd[[[[[[
g@[[[D[[[
Gd@[[[-[[["[[[
||||G|||||||D
gD[[[2[[[)[[[L
GD__A[BX
GDA[CCNOBNAJSLDD
g#dA[[[D[[[
GdA[[[h[[[
GDA_HLOBHZC
g#dA[[[L[[[
GdA[[[l[[[
[[GDAOEEBGB
GD[AOGXL[[KNLBAQ
GDAP_NK_OSM@
_Gdaq55"11
GdA[[[r[[[n[[[
GDASG]]E
GDASYNAXX
GdA[[[z[[[
g[dB[[[#
GdB[[[0[[[
GdB[[[9[[[1[[[
gd@@@@BB@@Jp@@@@@@@@@@@@@@Cp@c
G)))DBFu
gdbhggfw
GDBNSKBZP
GDBYGKBLA
gdC[[[|[[[
gD[[[C[[[@[[[
GdC7ggfG
g#dC[[[A[[[F[[[
GDCB]FASKKPO
G@DCFXAZ
_GDCH]JB
GDCLYPANB
GDCMEJAPCZ
gdC[[[O[[[
GDc]rg?	gfG
GDCSASQB
GDd_[[['
)))GDDBM
G]DDC_]KHZ
GD_DFKDHM[K
GDDHKAO[D
GDd[[[[m[[[
gDdM[[[Y[[[
GDD_NEEZ
GDDNXGJA
gDdO[[[Y[[[A[[[
G_DDSCAM_
GDDSG_CY
gd'-dUgCf
GDdV[[[_[[[
G_DDZMJ_NP
gD[[[e[[[
_GDEDLPQASM_OD
G_DEEC[KJB
GDEPSELF_A[B
GdE[[[v[[[f[[[
gdF[[[7[[[6[[[
GDFBXJXDNLE
GdFCF6F-F
Gd][[[@[[[F[[[L
GdF[[[M[[[
GdF[[[Q[[[K[[[
g#dF[[[S[[[P[[[
Gd][[[F[[[y[[[ 
g)))DF[@Z
GD_F@ZLZ
Gd][[[G[[[
]GdG[[[4[[[
GDGBBNGL
GDGCE[N@
	_g'dgfG
"g_dgfG 
"g_dgfG'
"g_dgfG(
"g_dgfG)
"g_dgfG-
"g_dgfG.
"g_dgfG:
"g_dgfG;
"g_dgfG]
"g_dgfG_*
"g_dgfG|
#g'dgfG[.
'(g;dgfG
)g'dgfG[
:g	dgfG]
_g#dgfG-
|)g;dgfG
g#dgfG[-
g'dgfG*.
g-dgfG*|
g'DgfG!(
#g'dgfG0
-g	dgfG0
_g'dgfG0
#g'dgfG0Ah
g'dgfG0E3agqgg
#g'dgfG0X*8gqgg
#g'dgfG1
|g-dgfG2
g'dgfG'2H
g?dgfG2n
#g'dgfG2wvagqgg
"g_dgfG3
#g'dgfG3
g!dgfG3Ws
"g_dgfG4
-g_dgfG4
#g'dgfG5
g_dgfG5g|
"g_dgfG6o
"g_dgfG7
g[dgfG*7n
)g'dgfG7X
)g'dgfG9
"g_dgfG?9..gqgg'G8i
"g_dgfGa
g'dgfGA|
g'dgfG;b
"g_dgfGB'
#g'dgfGB
#g'dgfGBI
"g_dgfGbj
g#dgfGbq
g'dgfGC-
g]dgfGca
g'dgfGcD@
g#DgfGCE
.g-dgfGcT
"g_dgfGD
#g'dgfGD
"g_dgfGD4
)g!dgfGD:7
)g'dgfGe
"g_dgfGE
#g'dgfGE
)g'dgfGE
@g[dgfGE
g?dgfG]E
"g_dgfGf
g-dgfGf;
"g_dgfGF6
#g'dgfGg
"g_dgfGG
_g'dgfGG
"g_dgfG;gN
g'dgfGgp
#g'dgfGgt
!g-dgfGGX
"g_dgfGh
"g_dgfGH 
[|g?dgfGH
#g'dgfGHr
"g_dgfGi
g'dgfGIkI
g)dgfGiZL gqgg
"g_dgfGJ
g[dgfGJ-
"g_dgfGJhB
@g#dgfG;jNUgqgg
g)dgfGJu
g]dgfGjV
"g_dgfGK
#g'dgfGl
#g'dgfGL
@g[dgfGL
g'dgfGL!
g;dgfGL.
#g'dgfGL6
g'dgfGLV
"g_dgfGLx
"g_dgfGm
g'dgfGm	
g]dgfG!m
#g'dgfGM
g#dgfGM0
g#dgfGmh9agqgg
#g'dgfGN
g-dgfGN(
g-dgfGN@K
)g'dgfG.N)ngqgg
)g'dgfGNQY
.g'dgfGo
"g_dgfGO?
g_dgfGo7
#g'dgfGo9
g;dgfGo9
g_dgfGO9
#g'dgfGp
"g_dgfGP
#g'dgfGP
-g'dgfGP
g_dgfG#P
"g_dgfG#q
"g_dgfGQ
g?dgfGqa
#g'dgfGqO
_g?dgfGR
#g'dgfGRu6
"g_dgfG s
"g_dgfGs
#g'dgfGs
g]dgfGs]
 g?dgfGS_
"g_dgfGS
g]dgfGS9
g'dgfGST
*g'dgfGt
"g_dgfGT
"g_dgfGT:
*g_dgfG:T
g'dgfGtL
#g'dgfGtz
"g_dgfGU
#g'dgfGU
g#dgfGU	
g'dgfGU2
#g'dgfGV
g)dgfGV6
#g'dgfGvC
g'DgfGVl[
g?dgfGvt
g'dgfGVv
#g'dgfGw
"g_dgfGW
#g'dgfGW
;g!dgfGW
#g'dgfGwD#fgqgg
g[dgfGw @?gqgg
#g'dgfGx
g!dgfGX2
g'dgfGxH
g'dgfGXn
"g_dgfGy
-g!dgfGY
g?dgfG)Y
#g'dgfGY2g
g_dgfGYC
"g_dgfGYT
"g_dgfGz
#g'dgfGz
"g_dgfGZ
#g'dgfGZ#'
g#DgfGzG
gD[[[g[[[f[[[H4jeJ[[[
g'dggw9o
GDGH_FDZYKDKXJD[PSYHA
g#dG[[[n[[[b[[[
GDGN[P@SBGQY
GD_GONXFPGQKJKJ
GdgUegfG
G_DGX_@EX]
Gd_[[[h[[[
"-GdH[[[
GdH[[['[[[
GDHCZH]_
G)))DH]JAJFEELJ]@FG
GDHNHXGG_S]A
GDHPJHJFS
GdH[[[R[[[
g*dH[[[r[[[i[[[
g|dH[[[T[[[
gdH[[[V[[[
GdH[[[V[[[h[[[
g'dH[[[x
GdH[[[Z[[[
gdH[[[Z[[[H[[[x
GdH[[[z[[[y[[[
g*d][[[i[[[
GdI[[[0[[[
GDI32.dll
GdI[[[6[[["[[[
GdiAlphaBlend
GdiFullscreenControl
GdiGradientFill
GdiInitSpool
GdI[[[L[[[A[[[
GdipAddPathLine
GdipAlloc
GdipBitmapLockBits
GdipBitmapUnlockBits
GdipCloneImage
GdipCreateBitmapFromStream
GdipCreateFont
GdipCreateFontFamilyFromName
GdipCreateFromHDC
GdipCreateLineBrush
GdipCreatePath
GdipCreatePen1
GdipCreateSolidFill
GdipDeleteBrush
GdipDeleteFont
GdipDeleteFontFamily
GdipDeleteGraphics
GdipDeletePath
GdipDeletePen
GdipDisposeImage
GdipDrawLine
GdipDrawString
GdipFillPath
GdipFillRectangle
GdipFree
GdipGetImageHeight
GdipGetImageWidth
GdipImageRotateFlip
gdiplus.dll
GdiplusShutdown
GdiplusStartup
GdipSetInterpolationMode
GdipSetSmoothingMode
GdipSetTextRenderingHint
GdipStringFormatGetGenericTypographic
G"dI[[[Q[[[L[[[
]GdI[[[U[[[
GdI[[[U[[[
GdI[[[W[[[
GdI[[[w[[[k[[[
gdI[[[W[[[V[[[
g|dI[[[y[[[x[[[
GdI[[[Z[[[
GdJ[[[2[[[
GdJ[[[3[[[
G_dJ[[[6[[[
]GDJHYPJ
GdJ[[[N[[[
GDJPFPJL[O
G	dJ[[[Q[[[W[[[
GDJ_ZHKL
GDJZ[XQC
GdK[[[#[[[
GDKBNEMX
GDKC[]H_
GDKCXCQQYGO[KN[HSHYXML
g*dK[[[F[[[
g#dK[[[G[[[
Gd_[[[k[[[h[[[P
g||dk||*k||
GDK[[LFQNQ
GDKMQ_HM
@GDKNLKB
GDKOXO[E
GdK[[[P[[[
g#dK[[[R[[[
g]dK[[[R[[[
gdK[[[v[[[
GdK[[[W[[[
@GDKZC[[P@NJOQLKQZJC
GDKZDJD]@A
g)))DL]AFM
GdL[[[C[[[
GDLDMCDBK@XYMLKYMLNYMDZJZCAC
GD@LEONGJS]FCQLHMKZ]J@YJ
g)))DL]@G
GDLGQ_EQEH
GDLG]Z][@GNZ
g)))DLH]LJA
GdL[[[M[[[G[[[
@GDLM@H]HDLG]L
GDLNB]KGPOP
gdLngAgg
GD[]LOCB
GDL[OD]ODSA[JGA
GDLOPABB
GDLQDCOM
gdlSSSSSSSS
G"dL[[[W[[[I[[[
GD[L]YQL_ZYZJLC
_G@DL[YZ[
gdL[[[Z[[[
GDLZHQYMQA
GDLZO]MSSZ
G_DLZX[DJK__A
G[DMGJ_PML
GDMHFPYZKY@QMPSNZZGAPAEP
G@DMHZ]@K
G@DMHZ]@KR
G"dM[[[I[[[H[[[
g#dM[[[J[[[I[[[I
Gd@[[[M[[[L[[[
G]DMMNXBHQCOCY
G]D[MMYSXSKAYHJQ@Z_XGAJMZQ
GdM[[[N[[[M[[[
GdM[[[o[[[m[[[
_@GDMPGS
g#dM[[[Q[[[U[[[s
GdM[[[x[[[
GdM[[[y[[[x[[[
gdM[[[Z[[[d[[[q
GdN[[[A[[[@[[[
GDNA[BB]QY
G_DNBXNZKJLN
GDN[DH[]BSZJ
GDNEPLECK
g)))D@NFOO@JMON
G@D_NJLOJQ
[GDN_KGCOH
g#dN[[[M[[[L[[[
GDNPMSSPCAH
GdO[[[6[[[
GdO[[[C[[[B[[[g(
_GDOGQSP
GDO[[HZS
GdO[[[M[[[E[[[
g#dO[[[N[[[A[[[
GDOO[[NP
gdO[[[r[[[
g*dO[[[r[[[l[[[
GDOSLHAY
g[dO[[[W[[[T[[[
G]DOYBBCX
g*dO[[[y[[[v[[[i
]_GDOYZMG]
Gd_[[[p[[[
g*dP[[[b[[[
GDPFKFO_OEO
gdpgppepq
GDpgppepq
gDpgppepq3'
gdpgppepqJ
Gd[[[[P[[[G[[[u
GDPHZLBKO_ZJS]B[
GdP[[[J[[[
@GdP[[[k[[[
GdP[[[O[[[
GDPPA_KQDE
__GDQANE
gdQB_DsSSS
GDQ[BLHOJ
g#d][[[Q[[[E[[[c
g*dQ[[[F[[[
G[]]DQ]HJFFGNYK_
G"dQ[[[H[[[L[[[
GDQNPXBS
GDQ]OSLN
GdQ[[[P[[[
_GDQPEGX_EX
GDQPQLNKNPA
g#dQ[[[P[[[y[[[
GdQ[[[V[[[O[[[7
g*dQ[[[w[[[l[[[
GD_QYAZK
]GDQYHMF
GDQ[]ZFBCYGPSJHQA@N
g	dR[[[;[[[9[[[
GdR[[[g[[[
GdR[[[J[[[A[[[#
GdR[[[U[[[B[[[
GdR[[[x[[[
gd_[[[s[[[
'GdS[[[8[[[2[[[
@GDSA@ADMSKH]
GDSCD[BZ
GDSGCKJ[_QAJAOXDZNS
g][[[D[[[s[[[H
GDS]J@PKNY[[PF
GdS[[[m[[[
GDSNESNC
GDSPYAHK
GDSQ[[CMDHMGG[]@GO[ZZPGB]X
GDSQ[H[QXF
GdS[[[_[[[S[[[ei
gdS[[[u[[[
GDSX_DDN
G]@D[SXNGP
GdS[[[z[[[
GdT[[[Z[[[
]GdU[[[9[[[
G	dU[[[H[[[
Gd@[[[u[[[t[[[
G||DU||:U||
g#dU[[[V[[[N[[[u
GdU[[[Z[[[
G"dV[[[;
Gd_[[[V[[[
g*dV[[[d[[[
GdV[[[D[[[z[[[
g*dV[[[F[[[
GdV[[[F[[[
gdV[[[p[[[
GdV[[[r[[[
gdW[[[D[[[w[[[
GdW[[[Q[[[
g#dW[[[s[[[t[[[
GdX[[[([[[
GDXAX@BGKCZEYJKB]N
GD_XBBKKXD
GdX[[[H[[[
Gdx[[[H[[[A[[[M
GD]XHCQX
g*dX[[[J[[[N[[[
GDXOEXZ]LAM
GD[XOXNLSO
GD[XOXXNLSO
Gdx[[[p[[[t[[[M
g|dX[[[R[[[Q[[[
Gdx[[[V[[[
]GDXXO]LC
GD-xx]Y]]e
GDXZYCMXE]OQ
GDYFL@AK
g*dY[[[k[[[
GDYKJK_HOY[DXKBGPA[
GdY[[[K[[[O[[[XP
G]@DYL[ZFGH]L]A[LHM
G[DY]_MQLDL
GdY[[[M[[[x[[[
GDY]OQB_
GDYO]XNOHY
GDY[QG@YAX]B
!GDyyy1H
gDyyyyyyyy
Gdz[[[![[['[[[
Gdz[[["[[[
gdZ[[[A[[[
GdZ[[[A[[[
GDZ_A_AKL@
GdZ[[[C[[[
GDZHME[M
g#dZ[[[K[[[
GDZ]LNGSGMCAHL
GDZPLQ]B
g*dZ[[[q[[[
g#dZ[[[R[[[
g#dZ[[[|[[[r[[[qPDdA[[[s[[[
G[DZSDGXP
GdZ[[[T[[[N[[[
gdZ[[[U[[[
GdZ[[[U[[[
g#dZ[[[W[[[
GD]ZYDSXXF_
[[[g[[[e[[[
g_[[[e[[[
gE[[[:[[[?[[[
gE[[[][[[
?)))@G]E
[[[G[[[E[[[
gE[[[0[[[7[[[Q
?gE0gfG#
?gE0gfGe
gE0gfGi6
?gE0gfGj
?gE0gfGP
?gE0gfGS!?
?gE0gfGu
(.gE2yBH
gE[[[4[[[
G:E6E7E3E2E3E
Ge7G5aaagXp
gE7gfGKA
G_E_ADMX[QCYE[CQD
GE@ADZK]PKXKCL@
geagfG5h0
gEagfGe|
gEagfGFA1
gEagfGhC1WgqggR
gEagfGmv*
gEagfG:o
gEagfGrF
geagfGUY
gEagfG'"w
gEagfGYhIIgqggR
GeA[[[n[[[m[[[
:GeB[[[([[[
GEB@A@2 @U
GEBALLCYGG
GeB[[[C[[[
geBdO[[[
)gebgfG"
gEbgfG1D
gebgfGorK
gebgfG_w
gebgfGw5
gebgfGYJ
GEB]@HPJXXP_[H
GEBSYKN_]LQG
@@G@ECac
GECD]SCLCK@EKSZHKDJ
gecgfG0f
gecgfG1uN
gEcgfG1Z
gecgfGAa
gEcgfGb*M
gecgfG"c
gecgfGC"
gecgfGcM
gecgfGem
gecgfGfUH
gecgfGG8
? gecgfGi
gecgfGI]
gEcgfGiW
gecgfG)KM
gecgfGKO
gecgfGlP
gecgfGqUFDgqgg
gecgfGTat
gEcgfGt	b
gecgfGU:
gEcgfGvt
gecgfGyB
gecgfG__Y'gqggq
gecgfGz"@
gecgfGZI
G@EC][HYG
GeC[[[N[[[C[[[M
GE@CNDHQ
GECNGZHQANXBH
G]EC]PGJA
gE[[[d[[[?[[[
GEDC@SDOSHNE_K@
G]EDEFN@G
gEdE[[[O[[[
gedgfG4.-
gEdgfG7N
_#gedgfG9
gedgfGd 
gEdgfG Ju
gedgfGjV
gedgfGkd-
gedgfGmL
gedgfG)p
gEdgfGUW
:gedgfGX
gE(dgwf'u
GE]D[KGHLAY
]G_ED_LEKMDPH
GEDS]GPXCEJ
GEDSHKQPPB
gE[[[e[[[
GEEEFHHPDSXHCPNKXQFPSNCMP
GEE[ELA[NK
geegfG8h_
gEegfGAK
gEegfGj'
geegfGk'VZgqggV
	geegfGR
#gEegfGS
]geegfG;Y
gEegfwOW
geeggG 0
geemo'4'feeUULUUn
GEE_YMAZHC
GEEZ[PDPSXPH
GeF[[[D[[[x[[[
	'g|EFf.H
	.gEfgfG
gEfgfG_2
gefgfG4L
gefgfG6l
gEfgfG8.
:gEfgfGf
gEfgfG"G)[gqgg
gefgfGH*
[gEfgfGi
gEfgfGKJ
gEfgfGoh
gefgfGqh
gEfgfGqM
gEfgfGuW
gEFgfGWp
gEfgfGxmz
g_[efGRj
GEFHM]FO@E
GEFHM]FO@EL
')))GEFHM]FO@ELH
GEFHM]FO@ELH
GEFHMOCMAN
|GEFJBL[dH[BL]
GEFJXHJZ_
GeFQFMF9F
GEFSBNHBGF
GeFUF?F!F
GeF[[[Z[[[
gE[[[g[[[
GeGCG(M(M
	;g[egfG
?[g-egfG
[g?egfG	
[g?egfG"
[g?egfG**
[g?egfG;
[g_egfG 
]g'egfG[
g'egfG-|
g'egfG|-
g-egfG.@
ge.gfG#-
g;egfG_07
g[egfG0x
_g!egfG1
 )#g?egfG:2
g_egfG*2
g-egfG3Gc
g_egfG4C
g)egfG5_'6gqgg
)'g]egfG6
g!egfG'?6
g)egfG7(
g]egfG!#76gqgg
g'egfG8g6dgqgg
g]egfG8z9
g_egfGa@N
g#egfGb|
g_egfG_B
g)egfGbU!
[g?egfGc@
g#egfGcK
g-egfGD(
g-egfGD@
g?egfGdq
"g[egfGem
g'egfGev
g'egfGf)
g	egfG"F
g]egfGF2
g'egfGF8s
g_egfGfq	
g'egfGFv
g-egfGGN
g)egfGgO
g'egfG	H
g-egfGh8
g	egfGhr
g_egfGhy
g!egfG*i
g	egfG)_k
g-egfG'k
g]egfGk4G
g'egfGKT;
[g?egfG!)kZgqggR
g'egfG(L
g'egfGl6
g[egfGlVi
-g'egfGM
g]egfGML
g_egfG|MwzBD3
g'egfG)N
g'egfGNI
g'egfG]o
g?egfGOH
?g'egfGOk
g)egfG;Or
-g!egfGPd
g'egfG]q
g'egfG]Q
|g?egfGq5
g_egfGQh
g	egfGqS;
g	egfGqz
g;egfGrx
g?egfGS_
gE]gfG s
g_egfGsx
|g)egfGT
g?egfGtw.
g	egfG_u
g-egfGw|
g-egfG:x
g-egfGx;:
@g;egfGX
g?egfG_X
g?egfGXJ?
g'egfGXl
g-egfGxS
g#egfGyM
|g]egfGz
g)egfGz9
#* gEgg*
gEggfG'e2
gEgggGX89
ge'ggGJc
G@eggwXh
GEG_NKCY
_[GE@G@O
GE[GO[MCQ
GEGOMPJ8Y5P
gegqagfG
GeG[[[W[[[
gE[[[h[[[
GEH]AODH
.gehcont
@.gehcont
@.gehcont 
@GEHGMYF[]FOM@EEFG
GEHNDJQ]]LG
GEHOQHCHB
GEH@X_AN
GeH[[[Z[[[
gE[[[I[[[
G"e_[[[i[[[
GeI[[[2[[[
gEigfG4q
geigfGz2
GeI[[[Y[[[R[[[
_GeJ[[[3
GEJDEAKNE
gejgfG84
gEjgfG;n
GEJPOENML
gE[[[K[[[
[[['_GeK[[[
_GeK[[[-
geK[[[2[[[
GEK@CPBSGQ
 gEkgfG1@
gEkgfG2;
gEkgfG]d
(gEkgfGD
gEkgfGdVJ
gEkgfGf	
gEkgfGF]
gEkgfGHX
gEkgfGK9
*_gEkgfGn
@gekgfGO
gEkgfGr;
gEkgfG#tu
gEkgfGxG
gekgfGY"
gEkgfGZJ
GEKGXFB]ZGJDED@JNACN
gE[[[k[[[i[[[
GeK[[[v[[[u[[[
geK[[[w[[[v[[[
GEKYQFXH
geL[[[)[[[
:GeL[[[6[[[
@G[ELAX_HA[]KMZNP
g)))ELGN]A
G]ELNXFLOJK
GELPA_ZN
GEM[ANOO@[JJCA
GEMDLYCX
g@EMFGMH
gEmgfGnE
@gemgfGrZ
gemgfGxo
geM[[[W[[[V[[[
Ge[[[[n[[[
GenConsolidator
G[END_BGDB
generate
GenerateConsoleCtrlEvent
GeneratedCodeAttribute
GenerateDetection
GenerateInf
GenerateLogFilepath
Generate PnP info during a no-install conversionWW.
GeneratePreInstalledPriFiles
GenerateTestDetection
GenerateTestHookEvent
*GenericCommandsW
GenericCommandWW
genericcontext.cpp
genericcontext.h
!GenericExpkHandler
genericfsinterface.cpp
genericfsinterface.h
genericshellnotify.cpp
genericshellnotify.h
Generic Stream
genericstreamappname
genericstreamcontentname
genericstreamsessionid
GenericTokenReplacer
GenericTrusteeWW
generic-type-
GenFinalizer
GenFirst
GENFSALGLPE
gEngfG1O
gengfG	g
gengfG!JO
geNgfG	lo
gengfGxw
gEngine.Scan.FolderScan
_GENK]KH
genpacked
GenStream
GenuineIntel
(GenUnp)
GenuntelineI
g||||||||||EO
ge@[[[o[[[d[[[
geogfG#B
geogfGg4q
gEogfGnX
gEogfGR3
]GE[OKAS
GEO_OBSKN_
GEOP[ADGJMZD[
GEOYK_OPCN
gEpgfG	?
gEpgfG(f
gepgfGh*
GEPGSLNXX]HBZSPJKPGOPS_OS
GEPKHF]SZESK[_ZC
G]E]PMOOJNP
GEPNQSQH_
geP[[[O[[[E[[[
GeP[[[_[[[S[[[
Ge_[[[Q[[[
gEqgfG7p
geqgfGYat
geqgfGzaj
GEQHPQQLD
GeQ[[[i[[[n[[[
G eQngfG
G eQngfG!'
GEQNXJLHOFZF
GEQ_S]QPL
geQ[[[T[[[
GE_QZYYJ
GeR[[[e[[[
GESAPQOPJL
G[E_S@DSM[LSEXPDAAXOGKCN
GESEB@GQEOS
gesgfGcE
gEsgfGv3gSgqgg
GE_SH[QY
gE[[[S[[[R[[[
Ge_[[[s[[[r[[[
GESZHQ_NGGD
ge][[[T[[[
geT[[[@[[[
Get a all identities in the databaseWW4
?GetAccessibleImpl@Element@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDElement@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
GetAclInformation
Get a component given an identityW
GetActivationFactory
GetActiveProcessorCount
GetActiveWindow
GetAdaptersAddresses
GetAddrInfoW
?GetAdjacent@Element@DirectUI@@UEAAPEAV12@PEAV12@HPEBUNavReference@2@K@Z
GetAgentInstallFolder
Get all components of a typeWW!
Get all setting definitions that have a particular visibility levelWWWR
Get all the identities of a typeWWJ
Get all the secured setting definitions across componentsWC
GetAncestor
get_api_id
GetAppContainerRegistryLocation
GetAppDataFolderPathForAllUsersOfTheSystem
GetAppDataFolderPathForFirstUserOfTheSystem
GetArgsDictionary
get_Arguments
get_Assembly
GetAssemblyIdsWW
GetAssociatedTemplateList
GetAsyncKeyState
GetAttachmentTableWWx
GetAttribIMsgOnIStg
GetAttribIMsgOnIStgIdl
getAttribute
get_AxisX
get_AxisY
GetBatteryImmersiveIcon
GetBatteryStatusText
GetBestInterfaceEx
GetBitsJob
GetBitsJob(): UtilWideCharFromUtf8 failed
GetBkColor
get_Black
?GetBool@Value@DirectUI@@QEAA_NXZ
GetBranchId
GetBruteMatchData
GetBuildMin
?GetByClassIndex@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
GetBytes
GetCandidates
get_Capacity
GetCapture
Get category memberships declared by a componentWW
GetCertificateInfo
GetCertificateInfoFromFile
get_ChartAreas
get_ChartLegendGPU
get_ChartLegendMemory
GetChild
?GetChildren@ClassInfoBase@DirectUI@@UEBAHXZ
GetClassicApplicationPackageIds
GetClassInfoExW
?GetClassInfoPtr@Button@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Element@DirectUI@@SAPEAUIClassInfo@2@XZ
GetClassInfoW
?GetClassInfoW@TouchHWNDElement@DirectUI@@UEAAPEAUIClassInfo@2@XZ
GetClassLongPtrW
GetClassNameW
GetClientRect
GetCloudBlockLevel
get_CmdLineDownloadSettings
get_CmdLineRestoreFromMachine
get_CmdLineRunAtLogoff
get_CmdLineUploadSettings
GetCodeIntegrityEnablementState_CacheCIStatusForTroubleshooting
GetCodeIntegrityEnablementState_IsCompatExemptionNeeded
GetCodeIntegrityEnablementState_IsOneCoreUAP
GetCodeIntegrityEnablementState_QueryCodeIntegrityInformation
GetCodeIntegrityEnablementState_QuerySecureBootInformation
GetCollapseState
?_Getcoll@_Locinfo@std@@QEBA?AU_Collvec@@XZ
GetCommandLineA
GetCommandLineExclusions
GetCommandLineFromService
GetCommandLineRegExp
GetCommandLineRegExpList
GetCommandLineW
GetComObjectEventSource
GetComponentType
get_ComputeEnabled
GetComputerNameExW
GetComputerNameW
GetConnectionHistory
GetConnectionHistory(PathToWin32Path) failed
get_connection_string
GetConnectionString
GetConsoleCP
GetConsoleMode
GetConsoleOutputCP
GetConsoleProcessList
GetConsoleScreenBufferInfo
?GetContentSize@Element@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
'GetContentsTable
?GetContentStringAsDisplayed@Element@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
get_contextdata
get_Control
get_ControlLightLight
get_Controls
GetCORVersion
get_Count
GetCountFirewallRule
GetCPInfo
GetCtacProvider
GetCudaVisibleDevices
get_Culture
get_Current
GetCurrent
get_CurrentCulture
GetCurrentDirectoryA
GetCurrentDirectoryW
GetCurrentPackageFullName
GetCurrentPackageId
GetCurrentPowerPolicies
GetCurrentProcess
GetCurrentProcessId
GetCurrentProcessorNumber
get_current_process_startup_info
get_CurrentThread
GetCurrentThread
GetCurrentThreadCompartmentId
GetCurrentThreadId
?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ
GetCurrentThreat
GetCurrentTimeT
get_CurrentUICulture
GetCursor
GetCursorPos
getcustomset
GetCustomSet
?_Getcvt@_Locinfo@std@@QEBA?AU_Cvtvec@@XZ
get_DataBindings
getdatatest.cpp
GetDateFormatEx
GetDateFormatW
GetDateFromTimeT
_Getdays
get_Default
GetDefaultFileSystem
GetDefaultValueW
GetDefCachedMode
GetDefCachedModeDownloadPubFoldFavs
GetDefCachedModeDownloadPubFoldFavsIdl
GetDefCachedModeDownloadPubFoldFavsIdlWWd
GetDefCachedModeIdl
GetDefCachedModeIdlW
?GetDesiredSize@Element@DirectUI@@QEAAPEBUtagSIZE@@XZ
GetDesktopWindow
get_detectionstatus
get_Device
GetDeviceCaps
GetDeviceComputeMode
GetDeviceCount
GetDeviceDriverModel
GetDeviceEccMode
get_DeviceHandle
GetDeviceHandleByIndex
GetDeviceIDString
get_DeviceIndex
GetDeviceList
GetDeviceMemoryInfo
GetDeviceName
GetDevicePciInfo
GetDevicesForIScsiSessionW
GetDeviceUtilizationRates
GetDeviceUUID
GetDiagnosticConfig
GetDirectories
GetDirectoryName
GetDiskDevicePathAsString
GetDiskFreeSpaceA
GetDiskFreeSpaceExW
GetDiskFreeSpaceW
GetDiskLayout
GetDiskName
GetDiskNumAndPartitionCount
GetDiskSize
GetDisplayConfigBufferSizes
?GetDisplayNode@Element@DirectUI@@QEAAPEAUHGADGET__@@XZ
GetDisplayWW
GetDlgCtrlID
GetDlgItem
GetDlgItemTextA
GetDlgItemTextW
GetDnsCacheRecordsByType
GetDoubleClickTime
GetDpiForMonitor
GetDpiForShellUIComponent
GetDpiForWindow
GetDriverList
get_DriverModel
get_DriverModelChangePending
GetDriverObject
GetDriveStatistics
GetDriveTypeW
GetDynamicTimeZoneInformation
geT[[[E[[[
get_EccDisabled
get_EccEnabled
get_EccModeChangePending
get_EccSupported
get_EccTooltip
GetEffectiveWindows8AppList
getElementById
?GetElementProviderImpl@Element@DirectUI@@UEAAJPEAVInvokeHelper@2@PEAPEAVElementProvider@2@@Z
getElementsByTagName
GetEnabledXStateFeatures
GetEngineBuild
GetEngineConfig
GetEngineContextFromUberContext() failed
GetEnrollmentAadResourceUrl
GetEnrollmentCertStore
GetEnrollmentHResult
GetEnrollmentSID
GetEnrollmentType
GetEntryPoint
GetEnumerator
GetEnvironmentStringsW
GetEnvironmentVariable
GetEnvironmentVariableW
?GetErrorMessage@SC@mmcerror@@QEBAXIPEAG@Z
GetErrorMode
GetETWLogPath
GetEventBuffer
GetExecutablesFromCommandLine
GetExecutingAssembly
get_ExitCode
GetExitCodeProcess
GetExitCodeThread
get_exports
get_exports_count
GetExtendedTcpTable
GetExtendedUdpTable
GetExtensionClass
?GetFactoryLock@Element@DirectUI@@SAPEAU_RTL_CRITICAL_SECTION@@XZ
?_Getfalse@_Locinfo@std@@QEBAPEBDXZ
GetFileAttributes
GetFileAttributesA
GetFileAttributesExA
GetFileAttributesExW
GetFileAttributesRaw
GetFileAttributesW
getfiledatatest.cpp
GetFileFromCleanStore
GetFileFsVolumeInformation
GetFileInfo
GetFileInformationByHandle
GetFileInformationByHandleEx
GetFileLastWriteTime
GetFileMUIPath
getfilename
GetFileName
GetFileNameFromProcess
GetFileNameW
GetFileRepositoryObjectWp
GetFiles
GetFileSecurityW
getfilesize
GetFileSize
get_filesize_by_handle
GetFileSizeEx
GetFileSizeRaw
GetFileTime
GetFileType
GetFileVersionInfoA
GetFileVersionInfoExW
GetFileVersionInfoSizeA
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
GetFinalPathNameByHandleW
GetFirmwareEnvironmentVariable
GetFirmwareEnvironmentVariableA
GetFirmwareEnvironmentVariableW
GetFirmwareType
get_fixedversioninfo
GetFlags
GetFlightingLevel
GetFocus
GetFolderPath
GetFolderWWW
GetFontData
GetForegroundWindow
get_FORM_TITLE
GetFreeBytesOnVolume
GetFsOwnerSidString
GetFsSddl
get_FullName
GetFullNameW
GetFullPath
GetFullPathNameA
GetFullPathNameW
getFullYear
GetGadgetRect
GetGadgetVisual
gEtgfGpl
?GetGlobalIndex@ClassInfoBase@DirectUI@@UEBAIXZ
?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ
GetGlobalMpAttribute
GetGlobalMpAttributeEx
get_Gold
get_GpuUtilization
get_GraphicsAndCompute
get_GraphicsOnly
get_Green
GetGUIThreadInfo
get_Hand
get_Handle
GetHashCodeW
?GetHelpFile@SC@mmcerror@@SAPEBGXZ
?GetHelpID@SC@mmcerror@@QEAAKXZ
GetHGlobalFromStream
GetHierarchyTableWWW
GetHostOsType
getHours
GetHSTRCallerId
GetHSTRCallerId called for non-HSTR siganature
GetHttpCommand
GetHttpRequestHeader
GetHttpResponseHeader
GetHttpStatusCode
GetHttpVersion
?GetHWND@HWNDElement@DirectUI@@UEAAPEAUHWND__@@XZ
?GetHWND@NativeHWNDHost@DirectUI@@QEAAPEAUHWND__@@XZ
?GetHWnd@SC@mmcerror@@SAPEAUHWND__@@XZ
GetIconInfo
?GetID@Element@DirectUI@@QEAAGXZ
Get Identities of the dependents of a componentWWW 
GetIDsFromNamesW
GetIEHistoryUrlCacheEntryA
GetIisInstallPaths
get_imagepath
GetImagePathFromPid
GetImcDeviceCount
?GetImmediateChild@Element@DirectUI@@QEAAPEAV12@PEAV12@@Z
?GetImmersiveFocusRectOffsets@Element@DirectUI@@UEAAXPEAUtagRECT@@@Z
get_imports
get_info_button
_get_initial_wide_environment
GetInlineScriptsFromCommandLine
.GetInnerObjectWW
GetInstalledPackageInfo
GetInstalledUILanguages failed.
GetInstance
GetInstanceFileRepositoryWWW
GetInstanceIdl
GetInstanceIdlWW
GetInstances
GetInvalidFileNameChars
GetInvalidPathChars
get_InvariantCulture
GetIpNetEntry2
GetIpNetTable2
GetIrpAddress
get_Is64BitOperatingSystem
GetIScsiIKEInfoW
GetIScsiInitiatorNodeNameW
GetIScsiSessionListW
GetIScsiTargetInformationW
GetIScsiVersionInformation
get_IsMaximusQuadro
get_IsMaximusTesla
GetIsNetworkAvailable
get_IsPackageFile
get_IsRunAsAdmin
get_IsVersionWindows8OrAbove
get_Item
GeT[[[_[[[K[[[
GetKernelObjectSecurity
GetKernelPrivateDispatchTableAddress
GetKeyboardLayout
GetKeyboardState
?GetKeyFocused@Element@DirectUI@@UEAA_NXZ
GetKeyState
get_LabelStyle
GetLastActivePopup
GetLastError
GetLastResult
GetLastWin32Error
get_LastWriteTimeUtc
GetLayout
?_Getlconv@_Locinfo@std@@QEBAPEBUlconv@@XZ
get_Legends
get_LegendText
get_Length
get length of
GetLengthSid
getlicensetest.cpp
get_Lime
GetLnkInfo
GetLoadTime
GetLocaleIdentifier
GetLocaleInfoEx
GetLocaleInfoW
get_LocalPath
GetLocalTime
?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
GetLogicalDrives
GetLogicalDrivesMask
GetLogicalDriveStringsW
GetLogicalDriveType
get_LOGOFF_MESSAGE
get_LogOffTimerElapsed
GetLogOffWaitInterval
get_LogWriter
GetLongPathNameW
GetMachineAuditPersistedCount
GetMachineGuid
GetMachineGUID
__getmainargs
GetMainOSStoreId
get_MainWindowHandle
get_MajorGrid
get_MajorTickMark
GetManifestResourceStream
GetMappedFileNameW
get_maximus_banner_img
GetMaxWW
GetMBAEProperties
Get members of a categoryW
GetMemoryAsString
get_MemoryIOUtilization
get_MemoryUtilization
GetMenuItemCount
GetMenuItemID
GetMenuItemInfoW
GetMenuState
GetMenuStringW
get_Message
GetMessageA
GetMessagePos
GetMessageStatus
GetMessageTime
GetMessageW
GetMessageWW
getmetadatatest.cpp
getmetadatatest.h
getmetatable
GetMethodParameters
getMilliseconds
getMinutes
GetMinWW
GetMocampBuild
GetModernApplicationPackageIds
GetModuleBaseNameW
?GetModule@ClassInfoBase@DirectUI@@UEBAPEAUHINSTANCE__@@XZ
GetModuleFileNameA
GetModuleFileNameExW
GetModuleFileNameW
GetModuleForAddress
GetModuleHandleA
GetModuleHandleExW
GetModuleHandleW
GetModuleInformation
GetModuleList
GetMonitoredLocations
GetMonitorInfoW
GetMonitoringFolderUri
getMonth
_Getmonths
GetMOTWHostUrl
GetMOTWHostUrl: file doesn't have Zone.Identifier ADS
GetMotwHostUrlForFile
GetMOTWZone
GetMOTWZone: file doesn't have Zone.Identifier ADS
GetMotwZoneForFile
GetMountedFileBackingFilePath
get_mpattribute
get_mpattributesubstring
get_mpattributevalue
GetMsgServiceTableWW
GetMsgStoresTableWWW
GetMuiString
get_Name
get_name_and_domain_tests.cpp
get_name_and_domain_tests.h
?GetName@ClassInfoBase@DirectUI@@UEBAPEBGXZ
GetNamedSecurityInfoW
GetNameInfoW
GetNamesFromIDsW
GetNativeSystemInfo
get_NeedApply
get_netmetadata
GetNetworkConnectivityHint
GetNetworkParams
getnetworkstatisticstest.cpp
getnetworkstatisticstest.h
get_NewLine
GetNextDlgTabItem
GetNormalizedScript
get_NotMaximusSystemError
get_NvmlInitializationError
GetObject
GetObjectA
GetObjectDir
GetObjectW
GetOEMCP
GetOfflineFileLocationWW
GetOfflineOsVersion
GetOfflineRegistryLocationEx
GetOfflineRegistryLocationWW
GetOfflineStatus
GetOpenFileNameA
GetOpenFileNameW
get_Options
get_OrdinalIgnoreCase
GetOrgID
GetOriginalFileName
GetOriginalRepositoryPath
GetOsBuildMin
GetOsBuildNumber
_get_osfhandle
GetOsInstallAge
GetOsInstallDate
GetOsProductType
GetOsServicePack
GetOsVersion
GetOutgoingQueue
GetOverallTrafficVolumes
GetOverlappedResult
GetOverlappedResultEx
"GetPABWW
getpackageguidtest.cpp
getpackageguidtest.h
get_PackageId
get_PackageIds
GetPackageIds
get_Panel1
get_Panel2
GetParent
?GetParent@Element@DirectUI@@QEAAPEAV12@XZ
get_parent_filehandle
GetParentProcInfo
GetPartitionAttributes
GetPartitionFileSystem
GetPartitionOffset
GetPartitionPath
GetPartitionPath2
GetPartitionPathNoContext
GetPartitionSizeInSectors
GetPartitionStyle
GetPartitionType
GetPathExclusions
GetPathInclusions
GetPathRoot
GetPEBAddress
GetPEBAddress should only be called from SMS scans
GetPEBInfo
GetPEFixedVersionInfo
GetPersistContext
GetPersistContextCount
GetPersistContextCountNoPath
GetPersistContextCount: UtilWideCharFromUtf8 failed
GetPersistContextNoPath
GetPersistContextsForPrefix
GetPersistContextsForPrefix: UtilWideCharFromUtf8 failed
GetPersistContext: UtilWideCharFromUtf8 failed
GetPersistedFileLocationW
GetPersistedRegistryLocationW
GetPersistentRegPath
GetPESection
GetPEVersionInfo
GetPhysicalCursorPos
GetPhysicallyInstalledSystemMemory
GetPhysicalMonitors
?GetPICount@ClassInfoBase@DirectUI@@UEBAIXZ
GetPkinitAuthenticator
GetPlatform
GetPlatformVersion
GetPointerDeviceRects
GetPointerDevices
GetPointerFrameInfoHistory
GetPointerInfo
get_Points
GetPolicyStateValuesHResult
get_postemu_sigattr_log_head
get_postemu_sigattr_log_head_size
get_postemu_sigattr_log_tail
get_postemu_sigattr_log_tail_size
GetPPidFromPid
GetPrintSetupWWW
GetPrivateProfileIntA
GetPrivateProfileSectionA
GetPrivateProfileStringA
GetPrivateProfileStringW
GetProcAddress
GetProcAddressA
GetProcedureMatchDuration
GetProcessCommandLine
GetProcessContextFailure
GetProcessDefaultLayout
GetProcessElevationAndIntegrityLevel
GetProcesses
GetProcessesByName
GetProcessFromFileName
GetProcessHeap
GetProcessId
GetProcessImageFileNameW
GetProcessInformation
get_process_integrity_level
GetProcessMemoryInfo
GetProcessMitigationPolicy
get_ProcessName
get_process_notifications
GetProcessorArchitecture
get_process_relationships
GetProcessTimes
GetProcessWindowStation
GetProcInfo not available in GetPEBAddress
GetProcInfo not available in GetSMSMappedFilename
GetProcInfo not available in GetSMSMemRanges
GetProcInfo not available in GetSMSProcArchitecture
GetProcInfo not available in GetSMSThreadInfo
GetProcInfo not available in SMSVirtualQuery
GetProduct
GetProductInfo
GetProductVersion
GetProfileRepositoryBasePath
GetProfileRepositoryBasePathForMachine
GetProfileTableW
GetPropListW
GetPvpRing
GetPwrCapabilities
get_QuadroUsageModeTooltip
GetQuery
GetQueryOperation
GetQueuedCompletionStatus
GetRawInputData
GetRawInputDeviceInfoW
GetRawInputDeviceList
GetRawRequestBlob
GetRawResponseBlob
GetRawSSLCertificate
get_RebootPending
GetReceiveFolder
GetRegisteredRawInputDevices
GetRegistrationEntry
get_regval
GetRegValueAsBinary
GetRegValueAsDword
GetRegValueAsMultiString
GetRegValueAsQword
GetRegValueAsString
GetRegValueType
GetRemove
GetRemoveOperation
GetReportFailed
GetRepositoryBasePath
GetRepositoryBasePathForMachine
GetRepositoryPathForWin8Apps
GetRepositoryPathFromTemplate
GetRequestedRuntimeVersionForCLSID
GetResmgrBasePlugin
get_ResourceManager
getresponseheaderstests.cpp
getresponseheaderstests.h
getresponseheadertests.cpp
getresponseheadertests.h
getresponsepayloadtests.cpp
getresponsepayloadtests.h
GetRestrictedErrorInfo
GetRootW
GetRowCountW
GetRuleAuditPersistedCount
GetRuleInfo
GetRunningObjectTable
Gets a dictionary of trusteesW4
Gets a list of capabilities of a group trustee.
Gets a list of ICustomInformationW9
Gets a list of members of a domain trustee*
Gets a list of members of a group trusteeW)
GetSaveFileNameA
GetSaveFileNameW
]?GetSaveStreamWWW
GetScannedPPID
GetScanSource
GetScanType
get_Scope
GetScrollBarInfo
GetScrollInfo
GetSearchPathWWW
getSeconds
GetSectorCount
GetSectorSize
GetSectorSizeFromHandle
GetSecureIdentitySigningKey
GetSecurityDescriptorControl
GetSecurityDescriptorDacl
GetSecurityDescriptorGroup
GetSecurityDescriptorLength
GetSecurityDescriptorOwner
GetSecurityDescriptorSacl
GetSecurityInfo
GetSegment
?GetSelected@Element@DirectUI@@QEAA_NXZ
GetSequencedPathsWWW
get_Series
GetServerRoles
GetSessionWW
getSettingUnitsSucceedID
GetShellPackageIds
GetShellTemplatePackageIds
GetShellWindow
GetShortPathNameA
GetShortPathNameW
GetSidIdentifierAuthority
GetSidLengthRequired
GetSidSubAuthority
GetSidSubAuthorityCount
get_sigattr_event_count
get_sig_count
GetSigFiles
GetSignatureMatchDuration
GetSignedReport
Gets installer capability flags propertyWW(
get_SMS_level
GetSMSLevel
GetSMSMappedFilename
GetSMSMappedFilename is only available for the SMS feature
GetSMSMemRanges
GetSMSMemRanges is only available for the SMS feature
GetSMSProcArchitecture
GetSMSProcArchitecture is only available for the SMS feature
GetSMSThreadInfo
GetSMSThreadInfo is only available for the SMS feature
?GetSnapinName@BookKeeping@@SAPEBGH@Z
GetSSLCertificate
GetStagingFolderUri
Get_Standard_Error_Stream
Get_Standard_Input_Stream
Get_Standard_Output_Stream
GetStartupInfoW
GetStatusTableWW
GetStatusWWW
GetStdHandle
Gets the additional arguments for the event posted8
Gets the array of paths that defines this sequence2
Gets the boolean flag indicating if the security descriptor reference is for offline modeWY
Gets the class ID of the installer factory*
Gets the description of a security descriptor definitionWW8
Gets the description of a trusteeW!
Gets the display name of a security descriptor definitionW9
Gets the factoryWW
Gets the flags that control serialization behavior2
Gets the full name of a trusteeWWW
Gets the fully qualified file name or manifest name for the given file of a component."
Gets the fully qualified file name or manifest name for the given file of a component identity.WWWU
Gets the fusion activation context inheritance flag for applicationsWWD
Gets the fusion activation context inheritance flag for assembliesB
Gets the HRESULT from the event handler for the event that was postedW.
Gets the identifierWWW
Gets the installation pass this sequence applies toWWW3
Gets the installed MMC's major version numberW-
Gets the installed MMC's minor version numberW
Gets the installer registration of an entryWWW
Gets the installer that this sequence needs to be ahead of:
Gets the installer that this sequence needs to followW5
Gets the installer typeWWWL
Gets the LanguageMode for resolving configurationW1
Gets the list of IInstallerSequences of the installers9
Gets the list of supported target processor architecturesW9
Gets the location of the current documentWM
Gets the map of installer ID and the InstallationPassW6
Gets the migration information of a registry keyWW0
Gets the name of a security descriptor definitionW1
Gets the name of a security descriptor referenceWW0
Gets the name of a trustee
Gets the namespace URI for the specified qualifier8
Gets the object for the event postedWW*
Gets the operation hint of a security descriptor definitionWWW;
Gets the owner of a trusteeWWW
Gets the parent object of a custom information(
Gets the parent object of this valueWWS
Gets the parent object or nullY
Gets the parent of a registry keyW)
Gets the ResolutionMode for resolving configurationWWW3
Gets the root of the namespace
Gets the SDDL of a security descriptor definitionW1
Gets the security descriptor reference of a directoryW5
Gets the security descriptor reference of a fileWW0
Gets the security descriptor reference of a registry keyWW8
Gets the set of all items in the listWT
Gets the sid of a trusteeW
Gets the supported combination of InstallationTypeConstsWW8
Gets the trustee typeW
GetStockObject
GetStorageAllocationBitmap
GetStorageDependencyInformation
get_StoragePath
GetStoreIdAndInfoFromPartitionName
GetStoreIdByPath
GetStoreIdFromPartitionName
GetStream
GetString
GetStringModule
GetStringPropertyForDevice
GetStringResourceForCulture
GetStringTypeExA
GetStringTypeExW
GetStringTypeW
GetSubKeyNames
GetSubMenu
Gets whether a trustee is enabled or notWW(
GetSyncConditionsAssembly
GetSynchronizationMethod
get_SyncMethodType
GetSyncProviderAssembly
GetSysColor
GetSysColorBrush
GetSystemDefaultLCID
GetSystemDefaultLocaleName
GetSystemDefaultUILanguage
GetSystemDirectoryW
GetSystemDriverVersion
GetSystemFirmwareTable
GetSystemInfo
GetSystemMenu
GetSystemMetrics
GetSystemMetricsForDpi
GetSystemNVMLVersion
GetSystemPowerStatus
GetSystemPreferredUILanguages
GetSystemTime
GetSystemTimeAsFileTime
GetSystemTimePreciseAsFileTime
GetSystemWindowsDirectoryW
GetSystemWow64DirectoryW
GetTaggedData
GetTaggedDataSize
GetTakeOwnAnswerForCurrentCulture
GetTamperState
GetTargetVersionList
GetTempFileName
GetTempFileNameA
GetTempFileNameW
GetTemplatePackageIds
GetTempPath2W
GetTempPathA
GetTempPathW
get_TeslaUsageModeTooltip
GetTestMode
GetTestProvider
get_Text
GetTextColor
GetTextExtentPoint32W
GetTextMetricsW
Get the custom information specified for a componentWWP
Get the identities or components that contain a file with a particular source name
Get the identities or components that contain a particular fileWWW:
Get the identities to which a given identity is redirected2
Get the list of identities filtered based on the first level identity attributesWW?
GetThemeBackgroundContentRect
GetThemeColor
GetThemePartSize
GetThemeTextExtent
Get the setting overrides specified in a component9
GetThreadContext
GetThreadDesktop
GetThreadId
GetThreadInformation
GetThreadPreferredUILanguages
GetThreadPriority
GetThreadSp() failed
GetThreadTimes
GetTickCount
GetTickCount64
GetTimeFormatEx
GetTimeFormatW
GetTimeZoneInformation
getTimezoneOffset
_Gettnames
GetTnefStreamCodepage
GetTnefStreamCodepageIdl
GetTokenInformation
GetTopWindow
get_TotalMemory
GetTraceEnableFlags
GetTraceEnableLevel
GetTraceLoggerHandle
?_Gettrue@_Locinfo@std@@QEBAPEBDXZ
GetTypeFromHandle
GetUACMetadata
?GetUIAElementProvider@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?GetUiaFocusDelegate@Element@DirectUI@@UEAAPEAV12@XZ
GetUILanguageInfo
get_Unicode
GetUniqueTempPath failed
get_UnitTestForm
GetUpdateReserveManager
GetUpdateResults
GetUpdateResultsEx
GetUrlCacheEntryInfoA
GetUrlReputation
geturlrequesthandletest.cpp
geturlrequesthandletest.h
geturlresponsetest.cpp
geturlresponsetest.h
get_UsedMemory
GetUserAccountGroups
GetUserAccountInfo
GetUserDefaultLangID
GetUserDefaultLCID
GetUserDefaultLocaleName
GetUserDefaultUILanguage
GetUserGeoID
get_UserInteractive
GetUserLanguagesForUser
GetUserNameExW
GetUserObjectInformationW
GetUserPreferredUILanguages
GetUsersAccounts
getUTCDate
getUTCDay
getUTCFullYear
getUTCHours
getUTCMilliseconds
getUTCMinutes
getUTCMonth
get_UtcNow
getUTCSeconds
get_Uuid
GetValue
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@P6APEBUPropertyInfo@2@XZHPEAUUpdateCache@2@@Z
GetValueKind
GetVersion
GetVersionExA
GetVersionExW
get_versioninfo
GetVolumeFromPartitionName
GetVolumeInformationW
GetVolumeNameForVolumeMountPointW
GetVolumePathNamesForVolumeNameW
GetVolumePathNameW
GetVSSEnabledDrives
get_WaitCursor
get_Wddm
getwfilename
get_White
get_Width
GetWindow
?GetWindowClassNameAndStyle@HWNDElement@DirectUI@@UEAAXPEAPEBGPEAI@Z
GetWindowDC
GetWindowInfo
GetWindowLongPtrA
GetWindowLongPtrW
GetWindowLongW
GetWindowPlacement
GetWindowRect
GetWindowRgn
GetWindowsDirectoryA
GetWindowsDirectoryW
GetWindowTextLengthW
GetWindowTextW
GetWindowThreadProcessId
GetXStateFeaturesMask
get_XValue
:GeU[[[:[[[
geU[[[B[[[
geugfG-:
-gEugfG9
geU[[[Z[[[
geUzrzzzzzzzzzzzrzzBzzz
ge_[[[v[[[
geV[[[C[[[A[[[
geV[[[I[[[O[[[
GeV[[[U[[[O[[[
gE[[[w[[[
GeW[[[E[[[x[[[
-gEwgfGd
	gEWgfGP
g]E]WgZx
GEwM_wAC
GeW[[[Z[[[
GeX[[[	[[[
G[[[e_XdM[[[
GEXGO]_N
Gex[[[j[[[
GeX[[[_[[[V[[[
GeX[[[V[[[H[[[
G'Exxx?xxyxyxyxY[4
:GeY[[[_[[[
geY[[[7[[[
Gey[[[d[[[
geyhgw"Uh
GEYPNAE_S
G	Eyxiz:NLB#]
G	Eyxuy?
gE[[[z[[[
GEZBLB[@KLZK
GEZBNHP@NZ
GEZCJNFHJ_SZNQZ
GEZGQHPSZKY]ZNHF
geZ[[[J[[[
GEZLJYKP
GeZ[[[n[[[
@G_@@]]F
G;F1F7F-F#F
gF[[[7[[[5[[[
gF[[[a[[[
Gfaagqgg
GFA]DE@GMLQ
GFAFZ]ZO@EL
GF]A@GNS@YO@EL
GF]A@GNZL]
GF]A@GNZL]KZ][D
GFAJQKBKJ@S
gfA[[[l[[[
)))GF[]AL[GFJLHGDH[@GL
GF[]AMFN
GF[]ANAFZ]
GF]A]_[[OJ
GF[]ASFGL
GF[]AY[FM
?GFB8q.K
gF[[[b[[[e[[[
!)))@G_FBL
")))@G_FBL
')))@G_FBL
)))@G_FBL
:)))@G_FBL
;)))@G_FBL
?)))@G_FBL
@G_FBLDLDKL[
@G_FBLFYKPGHDL
@G_FBLHZPGJ
@G_FBLJFDDHGM
)))@G_FBLZAFY
GFCGEK[YD
G_]FC_J[
GFC@QKGGA
GFDA@@AXB@D
GFDDDMKD
g)))]FDFGM
GF[DHE@SL
GF[DHEvOY
GFDK[LEHGM@GN
GFDLMHJ@[H
GFDLMLG][F
GFDLOF[H
GFDMBQCQJHY
GF]_DODO
GFDQ[DA]MM
GF[DSCJX
GFEFNF))
GFEFNFFZYY
GFEFNF@LQ
GFEFNFZEDN[
GF@egfGa
@GFE[OPL@
G||@f||*f||
gFfAAAA@AAAAACV
gfffffff
gfffffff@8
gfffffffD
gfffffffH
gfffffffH9]
gfffffffI
gfffffffL
gfffffffM
G|FfFTFCFFF-F#F
G]F?F*Fyixy
GfF_Fy	yy
)))GF_F][H_LE
GFFMELvCH
GFF@NA_L[H[X
GFFPKACKBX
GFFYLGL[GF[LOL[[L[
G?F	FyYzy
gfG]1Jogqgg
gfG2EPOgqgg
gfg3agfG
gfG|3BYgqgg
gfG3*gkgqgg:
gfG.5tPgqgg
gfG6vcdgqggBoGE
gfG7;J'gqggk
]gfG8GjsyD3
#gfG8.Njgqgg]i
gfG8w"jgqgg
Gfg9fgfG"
]gfG.AHpgqgg;!
|gfG':Bwgqgg
|gfGD9urgqgg
|gfG]	Dbgqgg"
@gfGdGf-gqgg
gfGD'Jhgqgg
G_@[FGDLG]
)))G_@[FGDLG]Z][@GNZ
gfGDq!']Y]]
gfGdRDrgqggd#
gfG;E5Qgqgg
gfG	ea gqgg
:gfGE L3gqgg
]gfGeQ-sgqgg
.)))GF@GF
gfGF6-wgqgg
(g-fgfG	|
*g_fgfG!
:g	fgfG!
:g	fgfG.
:g	fgfG:
:g	fgfG@
:g	fgfG_
:g	fgfG|
;g#fgfG|
|@g	fgfG#
|g)fgfG[@
:g	fgfG0
g	fgfG0;
g#fgfG04*
g?fgfG0c
g'fgfG0nI
g?fgfG0t
:g	fgfG1
g	fgfG1.
g'fgfG25
g	fgfG-3
g)fgfG3d
:g	fgfG4@dJgqgg7[
g	fgfG4tMtgqggd
g?fgfG5k
:g	fgfG6Xn
g)fgfG8V
g'fgfG9T
g	fgfGa-
g[fgfG a
'g-fgfGAH
g'fgfGAP
@g	fgfGb
g]fgfG:b
g	fgfGBTr
g'fgfGbvz
g]fgfGByX
:g	fgfGc
g'fgfG]C
g	fgfGDe
g	fgfGdj_egqgg7[
g'fgfGEd)
g	fgfGeM
g_fgfGeRs
g#fgfGEs
g;fgfGf!56gqggV
g)fgfGfi
g;fgfGg[R
g	fgfGH3
g'FgfGha
g	fgfGHG
g-fgfG	i
g	fgfGI7
|g'fgfGI]XBgqgg
g	fgfG;j
g	fgfGj:
:g	fgfGJ
g	fgfGj8@
g'fgfG@k
g_fgfG[KE
g	fgfGK	rngqgg
g'fgfGLdQogqgg
:g	fgfGli
g[fgfGLL
g	fgfGls
g	fgfG(m
g	fgfGMA3Wgqgg7[
:g	fgfGML
g	fgfGmV
g	fgfGn*;
g?fgfGNF
g	fgfGnQM
g-fgfGO]
g[fgfG"O
 g?fgfGp
g	fgfGP0
g	fgfGPG
:g	fgfGps"
g;fgfGqt
g	fgfGqwN
g	fgfGr"
g	fgfGr.
]g!fgfGR
g'fgfGrc
g[fgfGrVDX]Y]]N
:g	fgfGt
g	fgfGt)!
g'fgfG)t
g-fgfGt.
g	fgfG:T
g;fgfG*)T
g'fgfGTD
g#fgfGu.
g_fgfGu(0;gqgg
g	fgfGuX
:g	fgfGWDv
g	fgfGwE
g_fgfG;x
g	fgfG_X
g	fgfG!xh
g	fgfGxL
g	fgfGYd
g'fgfGyK
:g	fgfGYR
:g	fgfGz
g)fgfG*z
:g	fgfGZ
GFGFGZLGZLHYYZ
GFGF[LZ@SL
gfG!fq	gqgg
."gfgfwx
GFGFX_HGZE
GF]@GFYLG
gFgg2?aq
g)fggGn4
g;fggGPF
	gFgg|#j
GFG@G]L[HJ]@_L
]g)fggw	
_g[fggw!
GFGHDLZ_
GFGHDLZD
GFGHDLZYHJLZJALDHEFJH]@FG
GFGHDLZZ
gfGHdyCgqgg
#gfGh#v!gqggq
gfGJg	bgqggZ
)gfGK8*0gqgg
gfGkHTCgqggK
-gfGK'W|gqgg
	)))GFGL
;)))GFGL
?)))GFGL
gfGlG7TrD3
GF@G]L[HJ]@_L
GF[GLKN]NC[QA@
]GFGLM[@_L
[gfGLnN!gqgg
gfG(lrBgqggPE
#gfGm3Of
GF]@GML_@JL
)))GF@GMLQ
gfGO9e3gqggN0
gfGP9Mhgqggk
|gfGQ;16gqgg
gfGq2_SzD3
gfGqDe:gqgg
G?Fgqgg"
gfGrBLtgqgg'
!gfGs	B-gqgg
gfGSj-S]Y]]
gfGsutsgqgg
gfGt?eQgqgg
gfGu#aLgqgg
*_ |gfGuf?
gfGUN@]gqgg
|gfGUW0Bgqgg
gfG	v9[gqgg
(gfGv S4gqggPE
gfGXoS"gqgg
gFGy[FO@EL))
gFGyl|[EnL]
GFG@ZBFG
[gfGZk*u
gFGz]Ml_HEnL]))
'gfGZ!zPgqgg
[GF_HBiY[LZJ@LG]JF
GF_HE@MH]L
GF@]HGFZ[LYD@R
g)))[FHGQ
GFHGXSSFL_L]H_SAM
GF_HHDHSFGHZ
GFH[JA@_L
GF@]HJ@EYYH
GFHJ]@FG
GFHMFKL[LHML[
GF]HO@ZJHELEL][FG@JH
GF][HP@JFG
GF][HP@JFGEFFYR][PRM[@_LNL]
GF][HP@JFGM@D
GF_HY@[EHG]H
GF]HYYE@JHKEL
'Gfjc-d!
GFJEFGLJALJBLM
GFJE@LG]ZJ
GFJFFB@L
GFjfgfGz
GFJFGOE@J]
GFJF@GO@E]L[E@Z]
@G_F@J@GN
@G_F@J@GND@Z]L[
GFJHGJLE
 )))@G_F@JL
@G_F@JL]LDYEH]L
@G_F@JLv
@G_F@JLvZAY
@G_F@JLvZAYY@GN
@G_F@JLZ
)))GFKELJA@EM
GFKELO[HDLZ
[G][[FKFAHP_
GFKFDuHYZE_MOK
GFKF[ML[
G)))]FKHZL
GFK]LBOHO
")))GF]KLZHOL
GFKNQ_MYDQXY
gF[[[k[[[o[[[
GFKYHN]SA_SD
gF]LdH@G
GF_LDKL[v][HGZOL[vE@Z]
gF]Le@Z]
gF]Le@Z]hJ]@_@]P
GFLG[MS[[
GFLHYNLM_
GF]LJ[PY]
GF[LKFF]
GF]LKFFB[]Q
GFLKHYFQ
gF-llllllllmllllOllylm
GfllllllllmllllOllylm
GFL[[M@HEFNZ
GFLQ@]rKP]Lrtt
GFLQ@]uQ
GFlSSSSSSSSSSSSSSSS
GF]LY[FYL[]PGHDL
 )))GF]LYHM
GF[LZ]H[]
GF[LZ@SL
GF[LZ@SL]H[NL]
GFMG_[MXG
gFMLaLHML[kHZL
GFMLEL]L
GFML]PYL
GFMLuOHZ]
GFMLvjHYOL]FQ
gFML[ZFB
GF][@MMEL
GFMNGQHGZGGLXBQE
gfMpgppepqEvdyo
GFMZPODD_MXC
gF[[[n[[[
GF[@NA]JE@JB
GF@NFBPNNSX
gF[[[N[[[M[[[
GFNMMHSJXQG][JP
g||||||||||FO
GFO[AMLNSLM[
GF]@O@BHZ@
GFo[@EEZjy|jEHZZ@J
gF[[[O[[[F[[[
GFOFEML[FY]@FGZ
GFOHZO@ZJH@Z
gfO[[[J[[[H[[['
GF]@O@JH]@FG
GF]@O@JH]@FGEFN
GF]@O@JH]@FGGF]LZ
GF]@O@JH]@FGHGHEPZL[
gF]@O@JH]@FGhJ]@_@]P
GF]@O@L[
gF]@O@L[dH@G
GF]@OP]L[LMFYF[]JAHGNL
GF]@OP@Y@G]L[OHJLJAHGNL
GFO_XDMZ
gF?O.xT'
g@@@@@@@@Fp@@@@@@@@@@BAB@Hp@DL
g@@@@@@@@Fp@@@@@@@@@@@@@@Cp@Y
GFPCZPSP
gfpgppepq
Gfpgppepq
g@@@@@@@@Fp@@@@@@@@@@@@@@Lp@i
GFPMNGOGB
GFPOKD[KS
gF[[[Q[[[
G@FQFSZA_
gFQ(VSSWsYSS
gFQ(VSSWsZSS
GFQXLZYPF_ZAX
G[FQ]ZYDJO
g_[[[F[[[r[[[
gF[[[r[[[
)))@G]FrK@GvJDMt
gF[[[R[[[O[[[
GFSCMZH@ZZ]HM
gFSdR[[[v[[[
gfsggwlE
GFSHHY]EJCZO
G_FSYPBDZ
G]FTF0F"F
G|FuFhFoFYFHF9F6F'F
gfUgqgg_
GF]v@GZ]HEEv]FFEKH[
gF[[[w[[[
GFWAAAAA@AAAAAC
G[[[-fwg@[[[F[[[
GFwYw[wFO@wEwLw
g||@f||xj||
GFXKNANC
GFXXNL_]
gF[[[y[[[
GFYAFGLZYHD
GFYDHBDJKJ_S_HSD
gF]y[FDF))
@GFY]@FGZ
GFY[FO@EL
GFY[FO@EL@G_FBL
g)))FYLG
GFYMKYMPYD
GFYSYJJG
G;Fyyy)xy
G)))FZALEE
GF@]@ZFY
@G]FZ][@GN
GFZG@YYL]
@)))GFZ]HEN@JD@GM
GFZJ[@Y]
gF[[[Z[[[K[[[
GF@Z[L_EDQ
GF@ZL]@L[Z
GF@Z[L_PEKDLZZH
G_FZ[[[SJO
g_[[[g[[[
gG[[[*[[[
gG[[[-[[["[[[
gG0efGq'*
gg1kgfG;
-gg2ffGTT
gg3kgfGi
@gg4gfGA
g|g5egfG
	gg5gfGM
Gg5kgfGn
-Gg7agfG
G"g7fgfG
gg7fgfG1
gG[[[9[[[
@@G@GAac
]GGAAXSG
@@G@G@ac
G[GA]CYAC
GG[ADEAF
*(gGagfG
ggagfGc9
gGagfG:-H
ggagfGhA
ggagfGhS
ggagfGj6*
ggagfGlx
ggagfG	N
ggagfGQ_A
gGagfG)R
gGagfGri
ggagfGRy
ggagfGZ)
-.g@gAggB)C
'[ggAggfG
ggAggMkF
ggAggPZzR
GgAgOkgfG
;?g(g@@A@h YI
GGAJQ_GNGCQ[OO
G[G_AMBM
GGAP_LJ_OO]OLSXJHQ[
GGA[PONSNH
;?g(g@@A@U!LP
"Gg@@@@B
gG[[[b[[[a[[[
gGBbggw7
GGBCO[[J
GGBCSHM]K[C
GG[BEQBZ]QXPSOZ_KCS[ESJNBLKJ
!ggbgfG]
]#ggbgfG
"gGbgfG	
GgbgfG3t
gGbgfG7X
gGbgfGEE
gGbgfGF6
gGbgfGfj
gGbgfGG-
gGbgfG.h
Gg'bgfGJu
ggbgfGKK
gGbgfGo	]
gGbgfGom
gGbgfGqLJ
ggbgfGv)
@ggbgfGwZ
ggbgfGX1
gGbgfGXqj
GGBMPP]KGAQGN
@@G@GCac
?GgCegfGvy
|-ggcgfG
ggcgfG*!
GgC[gfG_
ggcgfG0D
ggcgfG4O
)ggcgfG5
]ggcgfG5
ggcgfG6.
gGcgfG]6J
ggcgfG7Y8
ggcgfG8S
]gGcgfG9
gGcgfG9g.agqgg-
gGcgfGaoK
gGcgfGaS
ggcgfG*E2ogqgg
ggcgfGeE
ggcgfGEh]
gGcgfGgCN
ggcgfG(Gmxgqgg]
ggcgfGHd1
ggcgfGI2LDgqgg@.
ggcgfGIs8
gGcgfG_#!kgqgg
]gGcgfGl
	ggcgfGlST
gGcgfG@PHmgqggM
gGcgfG r
ggCgfGv0
gGcgfGV7uogqggs
ggcgfGy9x
ggcgfGZ#
ggCggfG;
GgCggfGJ
ggcggGj8
G[GCGyyyIyyEyyy
G@GCHJFYP
GGCHPF[G
G@GCHZBP
GgC[[[Q[[[P[[[
GGCXXZLJBYP
@GGC@@Z@J@@
g_g d[[[[[[
GGDA_QDY@XM
GG]DCNA_X
GGDDNMGO_D
GGDELKZPYL
.ggdgfG.
|ggdgfG*
Gg]dgfG*
ggdgfG14
ggdgfG1O
*ggdgfG2
 @gGdgfG5
gGdgfG5d
'ggdgfG7y
)ggdgfG8
gGdgfG9C
[ggdgfGA:
ggdgfGAi
gGdgfGAk
gGdgfG"B
ggdgfGdHa
gGdgfGed.Vgqgg
ggdgfGF-c
|ggdgfGgr
	ggdgfGL
*ggdgfGm
ggdgfGMM
gGdgfGmn
gGdgfGNvK
gg#dgfGq
ggdgfGrJ
ggdgfGSs
gGdgfGTpb
gGdgfGvb
gg_dgfG?"W
gGdgfGy?
ggdgfGz?m
gGdgfGzq6
gGdgfGZT
ggdggwHtF
GGDNANG_
GGDSHX_MH
G_GD[XSHC]
g][[[g[[[e[[[
@@G@GEac
GGEAO]CK]_AK
GgEbggw-f
GGEBS[DLC
*?GgEdgfG
GGED_NBBZ_
!-ggegfG
??ggegfG
]gg?egfG
gg[egfG_
ggegfG['
#-gGegfG
?gGegfG-
]]gGegfG
Gg'egfG:
ggegfG1:_
ggegfG1q
!ggegfG3
gGegfG39
ggegfG3B
gGegfG3R@
ggegfG5]
gGegfG5M
ggegfG5s
gGegfG7V
)ggegfG8
ggegfG8j
ggegfG:A
gGegfG(B
Gg!egfGb
gGegfGb1
ggegfGbk7
ggegfG)c
ggegfGCV
ggegfG*daAgqgg-h4
ggegfGduT
Gg.egfGF
ggegfGfA
-ggegfGH
#gGegfGh
gGegfGh(
gGegfGH"
gGegfGh0
gGegfGi?
#gGegfGI
ggegfGi2
ggegfGJ"
ggegfGkA[
ggegfGKC
ggegfGkE)
*ggegfGl
ggegfGl;
)ggegfGM
gGegfGm'
gGegfGMC
ggegfGmQ
ggegfGn1
ggegfGn2j
@.gg'egfGnJR
ggegfGnl
gGegfGNU:
)ggegfG:|o
[gGegfGO
ggegfGOC
ggegfGq]
gGegfG@q
ggegfGr.
gGegfGR)
 ggegfGS
gGegfG!S
ggegfGS9
ggegfGSX
ggegfGt6L
ggegfGU!
gGegfGuP
gGegfG_uQ
gg'egfGx
ggegfGY	
(gGegfGz
!gGegfGZ
Gg#eggGI
gGeggGQSe
GGEg'wgfG
GGEHLJEEFLBMYSB
|GgengfG
gg'ffGmT
ggfG03Iggqgg
ggfG0;iSgqgge
ggfG"1y3gqgg?#
ggfG20H(gqggD
ggfG2#!bgqgg2
GgfG2G.lgqgg
ggfG2#HoyD"
ggfG2zce]Y]]
ggfG36lsgqgg
ggfG	4[9gqgg
ggfG4iRZgqgg
ggfG5@;2gqgg
ggfG5p#(OFD*
ggfG5_XNgqggb
ggfG_5]Zgqgg	
g_@gfG6f-Bgqggk
ggfG6feNgqgg
ggfG6]g.gqgg
g]-gfG6o
-)GgfG6Z
]ggfG]7g
ggfG#8E6gqggW
ggfG9D1Bgqgg
(ggfG9IHJgqgg
ggfGaBe!gqgg
ggfGak_1gqgg
ggfGAKwygqggb
ggfGaL		gqgg
g)@gfGAnA
ggfGAuE)gqggBG
ggfG; begqggc
ggfG b-)gqggx
ggfGcfk0gqgg
ggfG)CLNgqggtt[g
ggfG]CnTgqggs
ggfGcSeTgqggn#
ggfGct!	gqgg
ggfGcWZjgqggt
)g)|gfGd
 g[!gfGd5
ggfGd86vgqgg
ggfGd9h2gqggI)
ggfGD9VV
ggfGDP!vgqgg
ggfGD[s2gqgg
ggfGdT'vgqgg
ggfG)DVggqgg!
GgfGErIrgqgg
GgfG;euIgqgg
ggfGEv*pgqgg
ggfGEXi*
ggfGEYcIgqggW
g	 gfG_F
ggfGfa?Vgqggzd
ggfGF[?egqggvko
!@ggfgfG
ggfgfG-"-
ggfgfG1d
*ggfgfG2O
ggfgfG2W
!ggfgfG(9
gGfgfG95O
Gg'fgfGa
[gGfgfGB
ggfgfGBnh
ggfgfGEdz
ggfgfGet
	gGfgfGg
gGfgfG;h
ggfgfG*i
ggfgfGim
gGfgfGk4]
ggfgfGkz[
gGfgfGm(
ggfgfGMGS
Gg;fgfGn
ggfgfGPJ
ggfgfG|qP
ggfGfgs_gqgg
ggfgfGssE
ggfgfGV98
gGfgfGVQ
gGfgfG w
gGfgfGWG?
 ggfgfGx
]gGfgfGY[:
gGFgfGYo
gGfgfGYv
ggfGFvnhgqggM
|g)|gfGg2f
ggfG gO6gqgg
ggfGG(PSgqgg
ggfGg(#vgqgg
g)|gfGgV'[gqgg
|gGfggwb
ggfggwI!
ggfGGWIagqgg
ggfGH0PUgqgg
ggfGHjCIgqgg
g	"gfGh[m
ggfGHnybgqgg
ggfG-hQJx
ggfGht'qDD"
g)|gfGIA
ggfGiBDvgqggP
g)|gfGIbm[gqgg
g-|gfGIC
ggfG(iDz
ggfGitt9gqgg
ggfGJ)cXgqgg
ggfGJJl-gqgg
ggfGJlr-gqgg
ggfGjo".gqgg
ggfGJUu gqgg
ggfG)k4(gqgg
(ggfGkuF
ggfGL@#2gqgg
ggfGL99Lgqgg
ggfGL!gbgqgg
ggfGlk(2gqgg9j
ggfGlLz!gqggw
ggfG_LN(]Y]]
ggfGLxa1gqgg
g)|gfG.M
ggfGmg]lgqgg
ggfGm)iGgqgg
'ggfGN5Gpgqgg
ggfG@N-bgqgg
ggfGnNY|
ggfGN:xVgqgg
|ggfGNZ-
ggfGnzSHgqgg
ggfGO1?Zgqgg
GgfG#o|[gqgg
ggfGohoN]Y]]
ggfGO i1gqggc
ggfGoL7Ngqgg
ggfGO)Migqgg
ggfGP7.mgqgg
#ggfG"pC
ggfGpH(!BD3
ggfGpRT;gqgg
GgfGQ9tIgqgg
ggfGqAL[gqgg
GgfGqBa gqgg
ggfGqL.kgqgg?
ggfG|Q|ptD1
ggfG)Qs*gqgg
ggfGQwFSgqgg
ggfGR0brgqgg
ggfGR1u_gqgg
ggfGraI_]Y]]
ggfGRO!)gqgg?
ggfGROQCgqgg
ggfGR:uVgqgg
ggfGRZLJgqggW
ggfGs0rTgqgg
ggfGsbU)gqgg
ggfGS	gNgqgg
ggfG(SP.yD"
ggfGSXFUgqgg
g)|gfGt1
GgfGtAIggqgg
ggfG!Tbhgqgg
ggfGtdu1gqgg
GgfGTl0lgqggC
ggfGtO!_gqgg
g-:gfGTr
ggfG" txgqgg
(ggfGUs-
ggfGutZwgqgg
g#|gfGUx
ggfGVcFEgqgg7K
ggfG@-.vgqgg
ggfG;VlOgqgg
ggfG Vo4gqgg
ggfG VUrgqggw
GgfGvWXagqgg
ggfGWBt#zD3
ggfGwj0bgqggw
ggfGXd7agqgg
ggfGXEoFgqggZ
ggfGXfqQgqgg
ggfG[))Xgqgg
ggfG_y3zgqgg@
ggfGY70-gqgg
ggfG.YN*gqgg
g-:gfGyQ
ggfGZm[fgqgg
ggfGz):Ugqgg
)))@GGF_H]@FGZFEH[@GJ
]]GG]FHKO
GgFIF9F4F
@GGFM[F@M
ggF[[[W[[[
ggfw6PWq_
ggfw@7cA
 ggfwd.@
ggfwD 5!
ggfwg'_73
-ggfwiQ0
 ggfwMqqh	
:ggfwmzk
ggfw)NpI
.ggfw'@P
?ggfw"p#w
'.ggfwu!m
ggfwx_ir5A
?"ggfwXX
@GGFZL[_M@N@]HE
g_gg4-k4
g gg?"5r
ggG6]TTiD"
GggagfGhAR
GgGbgfGP
[ggGcgfG
GGG[CYENA
gggdgfG9
ggGe";Dgqgg1F
(GgGegfGl
 g[ggfG_
#g;ggfG]
-g_ggfG:
;]g'ggfG
_;g'ggfG
g-ggfG);[
g]ggfG];
'gG"gfG.
g'ggfG0S
g]ggfG2(
@g]ggfG2K
g'ggfG'2u
g?ggfG|3
g	ggfG4]_
g)ggfG4sm
g]ggfG6||
gg?gfG:7
G[ggfG7@
g#ggfG7x
g;ggfG:9
g?ggfGAEU
#g-ggfGC
g	ggfGCA
g?ggfGCb
g(ggfG)D
gg	gfGE4
g?ggfGf9
g)ggfGffE
g]ggfGg_
g'ggfGhdR
g-ggfGHi
)@g)ggfGI
g#ggfGia
g)ggfG'J:
g?ggfGJ4
g	ggfG|k
)g	ggfGK
gg@gfG|k*cgqggI
g)ggfGKlD
g	ggfG L)
g]ggfG|.L
g;GgfG(lR
g'ggfGLt
g[ggfGlU
-g#ggfGm
;g#ggfGm
g[ggfGmr
g_ggfG.N4
gg'gfGN-XJgqgg
g[ggfGOdG
'gGgfG[P
g	ggfGPf
]|g!ggfGR
g	ggfGT[!
g	ggfGu*
g-ggfGUo
g#ggfGUV
g;ggfG-x
g?ggfGX|1
	g'ggfGXG
g]ggfGxI
g;ggfGYp1
g	ggfG]z
g'ggfGz_
g_ggfGzRH
ggGfH.qiD"
'@gggfw'
..gggfw;
*@gggfw6
.gggfw8-
gggfwaVtK
.gggfw)g
@gggfw!G
:gggfwJv
_[gggfwK
g)ggfwOm@p
Gggfw	tpD
]gggfww	
	g_|ggG;
|gggG-.[
gggG3[.7gqgg
)gggG5WrUgqgg
G_G_G_G7SMJ e
gggG9DVrgqgg
g_|ggGAW
g_|ggGC|
*gggGcK2 gqgg
gggGct!	gqgg?.
.gggGD	c
)gggGd	N
gggGe)0lgqggR
gGggfG8 
"gGggfGC
gGggfGMJ@
gGggfGtX*
Gg;ggfGX@
g'gggG 1
GGg?gggG
g?gggG!i
g'gggGm5
g'gggGNR
g)gggGU_
gggGHPMngqgg
gggG#?#jgqggY
GgG_GLYpGNYOY_GQY
G_G_G_GPJ e
gggGPM!Ngqgg
gggG	t7ngqgg
gggG@tA-gqgg
ggggwljPp'
-g#gggww3
g#gggwZ"
	gggGx)*
GGGGZSYM[Z[
?ggghggggg8H
GgGjgfG5
ggGjgfGL9
?ggGkgfGW
GGGL[PYAG
GggMagfG
G[_GGMDKOBO
g[ggPQp?
GggqggG-	
	g_gg.Qu
ggGRJ3.gqgg
g]gg-Rt?
g[gg*u#Y
@|#g)|ggw
gggw:#4Va
ggG]WG!iD"
gggwKl1_
gggwKL-c: 
Gggw#P|h
gggwqu	H
gggwu'G9K
GgGxgfGC
gghagw4!
GGHDHSS[O
)))GGHDL
GGHE_]@MBCDPZOPAGGADK
:)))G@GH[FGE@GL
gghgfG6H4
	GgHggg)
gGhggGPc
GG_H[@[GM[B
GGH[GSYQ
GG_]HHNL
GGHOEDX]J]
GG[HXGC_
G_GHXL_X
GGHYBSBXXQD]O
G'gicgfG?
Gg'igfG(
Gg'igfG*
Gg'igfG.
Gg'igfG[
Gg'igfG]
Gg'igfG0
Gg'igfG2|
Gg'igfG|3
Gg'igfG3b
Gg'igfG6
|gGigfGA
Gg'igfGabxjgqgg
Gg'igfGF
Gg'igfGH
Gg'igfGi
Gg'igfGJ
ggigfGJe
.gGigfGK
Gg'igfGk
Gg'igfG"K
Gg'igfGof
Gg'igfGPd
ggigfGrv
Gg'igfGs
Gg'igfGt
Gg'igfGu
Gg'igfGW
gGigfG'y
Gg'igfGY
ggiggfwX
'ggiggGfx
]GGIK[o0S
g:gIngfG
 @ggivi	
ggIZgfG)
G||g@||J@||-@||
GGJ[AGXBYA
GGJDCCLAS
GGJEEMZ@[SXA
gGjgfG#?
gGjgfG0(?
ggjgfGE0
gGjgfGL5
gg]JgfGmpJ
gGjgfGpS
ggjgfGsI
ggjgfG)z
]GGJSBHSC_
g@[[[)[[["[[[gK
GGKBBGXBPALAK
gg-kgfG[
#]gGkgfG
].gGkgfG-
gGkgfG.*
G|g!kgfG
gg_kgfG0
ggkgfG2L)|gqgg
gGkgfG4y
"]gg]kgfG5c
gGkgfG6l
ggkgfG8W
[gGkgfGa
ggkgfGdkS:gqgg
gg_kgfGJ
gGkgfGjE
ggkgfG#K
gGkgfGkM
gGkgfGNwhpgqgg
g_g-kgfGo
gGkgfGsDc
ggkgfGu#
Gg-kgfGU
gGkgfGwY
gGkgfGXWFRgqgg
gg#kgfGz
GGKGOEOL
gG[[[k[[[h[[[
GGKMBZDZQ[[KMP
_GGKNYAOH
GGKOSJDKQ[S
g_[[[G[[[k[[[X
	)))@GGL[A]DE
')))@GGL[A]DE
@GGL[A]DE
@GGL[A]DEr
@GGL[AL@NA]
GGLC_BAZL
ggLgfGOG
gGlgfGR"6
gglgfwV5
gglggGJ|
G[GLHYS_B]AB_
((GGLJ]LM
GgllllllllmllllOllylm
@GGL[]LQ]
GGL]]L[Z@
GGLMDNLM
GG][LNZB
GGL]P_YBD
@GGL[QDE
")))G@G@]LY[F
gGMgfGBT
gGmgfGhk
gGMgfGIC
gGmgfGjt
-gGMgfGN
gGMgfGQj
gGmgfGRub
gGMgfGT9
ggmgfGUt
ggmgfGX4ckgqggCT
gGmggfw0;
GgMkgfGvJ
@G]@GMLQCH_H
)))G[GMOF[J][
GgmogfG8;5
]GG]MPXS
GGMS[EGH
GGMYBJEDDD
GGM_YYZM@XYZ
GG[N[ADSDDGEKJ_
G@GNC@GNZ
G[GNDXJAMCZGXQ
GGNE@MAC[Y
GGNFQHOCYXO]OAG
'gGngfG 
gGngfG:!|
gGngfG0X*mgqgg
ggngfG3|
gGngfG3b
Gg	ngfG9j
gGngfGaht
gGngfGb8
ggngfGBq
gGngfGc_
gGngfGdc*
ggngfG|e
gGngfGE-
gGngfGEtU
ggngfGHf
gGngfGhl
gGngfGI_atgqgg
@ggngfGIP"xgqgg
gGngfGIv
gGngfGIZ
gGngfGJ4
gGngfGj6
gGngfGL4
gGngfGm(G
gGngfGpG
gGngfGpI
gGngfGTp
gGngfGUy?
;ggNgfG(v
gGngfGVeq(gqgg
gGngfGwd
gGngfGy-
gGngfG;ZV
gGngfwWf
GgnggfwI
GGN_GPS]
GGNHBBLPOF_LS
Gg(?nigfG
GGNJJDXY
GGN[NM]PJM
GGNQH_O[
GGNSHLKQQ_M
[GGNYJNL
gG[[[o[[[
ggodgfG0
GgOdgfGLZ
GG[]ODLC
GGOF[EPAZNCMPL
 ['ggogfG
"ggogfG:
!@[gGogfG
gGogfG_7
ggogfGef 
ggogfGFg9
ggogfGGY
ggogfGJR0
ggogfG	Of
gGogfG?p
|(gGogfGP
ggogfGQf
gGogfGxM
Gg-ogfGXp
ggogfGzv
gGoggG)x
ggoggwG9?
GGON[OEBYMKPE]
*ggooggG
G)googgG
ggooggGK
g)gOwggGS
[GGOYND]
GGOZ_QQQ
gG[[[P[[[
]GGP@B@KJ
gG[[[P[[[C[[[
GGPCASQ[
ggPefG1 
ggpefGam
gg@@@@@@@@_p@F0
gGpgfG	-
-gGpgfG9qJ
	ggPgfGbf
gGpgfGK83
	ggPgfGoF
ggpgfGRF
gGpgfGS0FRgqgg:
Ggpgppepq
_G[GPP@_
GG]PXX_[Y
GGP[ZLHH
GG]QEZ_HMK
GGQF]GZG
GGQGDSNYBONM[KL
;'ggqgfGN
Ggqgg0B 
_#ggqgg1
Ggqgg1Dg
ggqgg2]D*
ggqgg3()
g(gqgg67P
)Ggqgg9m
|GgqggA.
ggqggad(z
*ggqggA[(o
g.gqgg#AZ
GgqggcnuD
[g)gqggE
ggqggeZ*
Ggqgg[f	9
ggqgg"fpB
Ggqgg'G8i
g!gqgggG
g_gqggi7
GgqggIA1
GgqggIM*
Ggqggj"@
ggqggk 1
ggqggKSl
#GgqggKSl
GgqggKSl
G	gqggm13
ggqggMfu5
ggqggMUErs
g)gqggnH*
GgqggO).
GgqggOConz-
Ggqgg*OJ
:Ggqggqn@
G"gqggRJ
?GgqggR|X
G]gqggsN!
_ggqggT1K
*GgqggwBo
GGQGYZY[
GGQJJYDKYOL
GGQKA]MD
GgQkgfGL
[[GGQPQ_[K
GGQXNKQYYEAFNB_Q_H
GGQXX]LGZJM
G@GQYXH@
GGQ_YYAZ
GGQ]ZJ_SNC
[[[GGRdx[[[
ggsgfG4E
ggsgfGcr
ggsgfGZdu
ggSgqggk4
GGSJM]ON
GG[SL][PO[J
ggtgfG	N
ggtgfGzUY
ggtZEHllllllllmllllOllylm
|ggugfG:
|ggugfG[
|ggugfG'6r
|ggugfG8
|ggugfG@Bw(gqgg
|ggugfGf;
|ggugfGI
ggugfGO_
|ggugfGT
|ggugfGu
|ggugfGuT
ggugfG]z
gguggG(DR
#GguigfG
GgUngfGS
Gg?vgfG3
ggVgfG7Qb
ggvgfGBn
gGvgqggo
_ggw2aeO
(ggw2P4J
;ggw3]pg
_GgWbgfG
GgWbgfGhG3
GgwcgfG-
GgWdgfGB
_g gwegfG[
GgwEgfGd
GgwegfG I
ggwffGun
ggwgfG;2
ggwgfGBy
*ggwgfGIe
gg	wgfGq
:ggwggG[
gGwggGDzg
gGwggG	K
ggwggGlI
#ggwggGn
ggwggGoW
ggwggGru
gGwggG'VL
ggwhebmG
GgWogfG5
GgwogfGQ!
ggwopn6pS
GgWtgfGQ
GgWvgfGH
ggw X5:b
[GGXCOBQPKN_
]G__G]XEC
ggxgfGbm
gGxgfG#e
GGXHCPZB]K[LM
GGXLODZOF@_
GGXQSAK[XOKJ[
GG__XSYG
GG_YB]LDKKM[Q
ggYcgfGX
ggyggfGL
GGYLASEY@
[@GGYQ_OL
gGyyyyyy
GGyyyyyy
G[G[ZBJHNBMN
GGZBZ_ZNEG[PZABPPZ
GGZEX]Z_
GGZFFEZFFCCZCC
_ggzgfG@
ggzgfGdM
Gg'zgfGmn
[[GGZGNGZLLL
|G@GZ]HEEdFD))
G@GZ]HGJLFOH[[HP
_G]GZ[LC
[@GGZL[MJLML_LJAYQ_OL
GGZNFY]XZ_]
]GGZNJKSLZ_
GGZ@Q[QC
GGZXGJADM
GGZYQPQP
GG]Z]ZC]D
g_[[[H[[[
gH[[[([[[
gH0@@@@@@AA_p@J
gH0@@A@h LL
gH0@@A@h SL
gH0@@@@@@A@_p@J
gH0@@@@@BA@h O@@@@@
gH0@BA@h S@@@@@
gH0@@@@BBA@
(gH[[[2[[[6[[[
gH[[[6[[[
Gh7USSUs0:fFh
G@H9H0wLH
GH9q8t"H
G(H9wHu	H
G(H;A0u*H
GH[ACBGOABS
GH]AHG@LE
GH]AHG@LEr
GH]A@HNHE@
GHA@MZHGS@MH
G H;A(u4H
GHAZLBSYPG
GHBAKCHP
GH]BCB_D
G[HBP@HH_YZGOPNZDDZL
GHBPMSZ[
G||hb||Qb||x@||Lb||5b||p@||
GHBQYKSXM
gH[[[C[[[A[[[
GHCCLDSPG
GHCDBQFEYFNBNNODPNJ_
G_@HCE[A
GHC[GBBN
GHCHKSZBHZXBB
]G]HCH@_X
GHCJHO][
GHCJSJA[
G_@HCXGCJHSNXNL@]KAQ
GHCYMXK_AJN]G]]
G[[[#-hdA[[[
GHdB[[[m[[[b[[[
GHDCHDXX
)))GHDE@]
?(gH?dfG
GHDHDLK[F@
gHDHGLH]
GHdL[[[	[[[
	)))]GHDL
	)))GHDL
')))GHDL
)))]GHDL
.)))[GHDL
.)))GHDL
?)))GHDL
GHDLDHJA@GL]PYL
GHDLDLDJYP
GHDLDZA]H
GHDLE@BL
GHDLEFHML[
GHDLELZZML_
?)))GHDLFGJH[M
GHDLFGJH[M
GHDLFGKFH[M@GNZ]H]L
gHDLfHK)(!)))#)))GHDL
GHDLH[[HP
GHDLH[[HPr
GHDLHJJLZZ_KFD
GHDLHMD@GZMAFEML[
GHDLJ[LH]L
GHDLJ[LH]L]A[LHM
GHDL]LDYEH]LJ[LMLG]@HE
GHDLL_LG]EFN
GHDLLQHDYELvZL[_@JLvGHDLtJFDDHGMZ
GHDLM[HGNLZ
gHDLMy@YLjE@LG]
GHDLMY@YLJE@LG]Z][LHD
gHDLMy@YLjFGGLJ]))
GHDLMY@YLZL[_L[
GHDLMY@YLZL[_L[ALEYL[
GHDLMY@YLZL[_L[Z][LHD
GHDLvELGt
GHDLvZLGM
GHDLZAH[L
GHDLZALL]Z
GHDLZGHDLFOZL[_@JL
GHDLZL[_@JL
)))GHDLZYHJL
;)))GHDLZYHJL
[GHDLZYHJL
GHDLZYHJL
GHDLZYHJL[FF]
GHDLZYHJL[FF]uJ@D_
GHDLZYHJLGZ
GHDLZYHJL]LZ]AH[GLZZ
GHDLZYHJLM
GHDLZYHJLZt
GH]DQQJBSX
[GHDZKOBBJAL
GH_DZSNAS
gH[[[E[[[
G)))_H[E
gheap_RVA
gheap_size
]gHeB[[[
G)))_H[EBG
_G[H[EBHKGJNCLQ[Z
@G@]@HEJFG]LQ]
@G@]@HEJH]HEFN
@G_HE@MFYJFMLGFFELOF[
@G_HE@MuQ
@G_HE@MZLELJ]LM
@G_HE@MZLELJ]LMJ
:)))@G_HE@MZPZ]LDM@ZB
]gHeN[[[
]gHe@[[[r[[[p[[[
@G@]@HE@SL
@G@]@HE@SLJE@LG]
]gHex[[[
]gHeY[[[B[[[
]gHeZ[[[b[[[
@G@]@H]F[
g)))_H[]FEEO[LL
GhFeFWF-F
GH]@FGHE
gH]@FGsFFD)(
GH]@FGSFFD
GH@FLP[G
[GHF_NGZ_OL_QYN
GHF[ZEH[CN
gH[[[G[[[
_- g'hgfG
g'hgfG@D
g-hgfGF @
 g	hgfGfY
-g_hgfGI
g#hgfGLeA
g#hgfG'v
gHGFjFG_L[]L[
GHGFJFG_L[]L[
gHGFjF[L
gHGFJF[L
GHGFYFFE
gHgg	"[*
gHgg07DB
gHgg1.2t
gHgg 1CDE
gHgg1;wJ
gHgg	2"4
gHgg3sA0
gHgg:3yp
	gHgg4DGeV
gHgg_@-5
gHgg5QT[?
gHgg6Fk*
gHgg6SLy)#C9
gHgg)7m]
gHgg8g #
gHgg8IqL
gHgg8qdQ
gHggaO)u
gHgg-A;q'
gHggb@4z
gHggbiej
gHggb(qD
gHggbt]g	"
gHggBVUg
gHggbxzG5
gHggC9#?4
gHggCI5nt
gHggCie(#
	gHggCnk
gHgg:?d_
	gHgg	(D
gHggdU@!
gHggE6h	|z
gHggE]6J6
gHgg*eaDV
gHggEA#Q|Zs
gHggez12d
gHgg(-f_
gHgg_f_9
gHggFF_L?
gHggG.5#
gHgggUD|
gHggHsofk
gHgghz:M
gHgg I.Ks
gHgg-iKu
gHggIs87e
gHggJtB-ZKJ
gHggKdqQ
gHggk"KM
gHggkono
gHggkRp'
gHggL9#pO
gHggle3n
gHggLQNm
gHgglQUT
gHggm(!Zl
gHggNF1I
gHgg:'Nm
gHggNXXdt
gHgg|oCV
gHggos3*d
gHggp5XXY
gHggpD:C
gHggPFR5bZ
gHggP(kh
gHggPPCq]CxM)
gHggPz-or#
gHggq11F
gHggQD|2
gHggqI7SBN
gHggqpqup
gHggqzR4
gHgg)r*6jG
gHggR@a*
gHgg	s8z
gHggSBIV
gHggSe'X
gHggu0Yd
gHgguBje
	gHggUz7
gHgg|VEG 3f?
gHggw-c*
gHggWGF@]
#g#hggwO
gHggX2o)i
gHggx)J8
gHggXNWE
gHggx.	Q
gHggx?(uY?
gHggXX[;
gHgg YD@
gHggY)QU
gHggyXR*
gHggZ	.f
GHGLNYXOZ
GHGN]_C@ZK[GHK
GHGNLPKA
gh;gOggfw
GH@gqggUsMU
ghg:XllllllllmllllOllylm
GHH9wPu	H
GH[HASJY@
g||Hh||di||
GHHD_OHBZ
GH]HE@L[FZLGKL[N
GH]HELZYH]HNFG@H
GH[HHS[X
GhhllllllllmllllOllylm
GH[HPHGHZJAFFEZ
GHHZBZZOPL
GH_HZiZNZ
GH_HZK[F]AL[Z
gH[[[i[[[f[[[
GhiggG_G
G'H'I'J'9
g.h.i.j.k.l.m.n.
g"h"i"j"k"l"m"n"o"
g)))_H[J
GHJ@E[HM
GHJFDJPBKJKGQE]NO
g)))HJ]@FG
@GHJ]@FG
ghjgfGbE
GHJgfGuA
GHJHMLDPGN
G]HJOBDJ[KSD
GHJSE[Z@NN
GHJ]XXYSA]D
GHJZQXK[GHQ
g)))HJZZ@Z]LDHZ
GHK_A[NH
@GHK_A[PH
]GHKDOKDZJ_G@B]ZDPOQ
GHK@DXOML
G)))]HKEL
GHKGF[X_
GHK_KDLKY
_GHK_MKAMHS
G_HKNLE@
)))GH]@_L
@G@]@H]L
GHLDHXLM
GHLDKHLDS
)))GH]@_LDLZZHN@GNAFZ]GHDL
GHL]GGO]NQBQ
gH]@_LhJ]@_@]P
GH_L@JF@Y
GH_L@JF@YN
g][[[h[[[l[[[k
g@[[[H[[[L[[[lI]dG[[[
gHllllllllmllllOllylm
Gh:llllllllmllllOllylm
GhllllllllmllllOllylm
GHllllllllmlll]Y]]
gH_LNHB@)(
GH_LNHB@
GHLNN_SG
G HLP.!K
G@HLSA[_QJ[AQLO
gH]@_LsFGL
GH]@_LvJFDDHGMZ
GH@[LYQLHZH[LZ
G_H[LZ[_
)))GH[LZA_LL[HG
GHMAMNMOOJ
GHMBJHBXZZ
G)))HMD@ZZ@FG
g)))HM_FNHMFZLGN
@[GHMJN[O
G]HM[Q@BN
GHMYAJNY[KN
GHNBYANCCG
g	HnfGBt'|gqgg
GHN]GGZYOYYK
")))GH_@NH]F[
)))GH_@NH]F[
GH_@NH]F[
GH_@NH]F[))
GH_@NH]@FG
gH_@NH]@FGhJ]@_@]P
@)))GH_@NH]F[r
GH_@NH]F[r
GH_@NH]L
#g)]H[NL]
g)))]H[NL]
#G)]H[NL]
G)))]H[NL]
GHN[LLL[SYMECNXNSHZ@
GHNP[KYK]O
GHO_@BKQH_[JHZCQOJQ
GHOBQFFHBXJBXMO]_MYG
GHO[D]FZPKJDQ
GHODQP]H
g)))_H[O@E]L[
)))GHOLG]L[Y[@ZLE@D@]LM
GH_]OYGS
gH[[[P[[[
g@@@@@@@@HpBV
GHPDKAJJJ
GHPDNHPZ
@GHP]_G[HCZKY]EG
GHP]]QNPBZ
gH[[[p[[[w[[[
gH[[[p[[[w[[[K
G_H@PXJ@
GH[_QBOA
gH[[[|[[[q[[[j4XfF[[[
GHQJYQONC
)))[GH][@QKEHML
[GH][@QKEHML
GHQOLXHQQ[LK_NYYQ[
GHQP]H_JFENr
GHQPP[]K
Gh.QSS[s
)))GH@QXZ
GHRASa]		
gH[[[r[[[q[[[?
gH[[[S[[[
G]HS@DMGJC
GHSLEJDH[GMLJDK[XA@
GHS[LMKL
@GHS]O]KMN
GHSYEF[CLZS[NG__
gH[[[t[[[
gH[[[_[[[U[[[
gH[U gfG
Ghupgppepq
gH[[[V[[[
gH[[[x[[[
G]HXBD]K[XS[]JML]SMSEB
GHXCOJJD
GHXHXQQ_]@@LCXFACCZ
GHYCNH[G
GHY]DCCL[CC_
GH_@]Y[FCLJ]
gHYFELFG
]gHygfG_
G]HY@OJFBX
_GHYSHL_NOH_MDXL
[GH[[YXBGOYL]
g)))HYYZYHPDLG
GH@Z@]_BLNK
GH_ZDH[]
?)))GHZDHZ][ZL[_@JL
gH]zE@Yz]LHD
GHZ][JMX]
GHZ[J@]P
)))GHZMB@
GHZNEG_DA
GH]ZNN[YJ[
GHZPNLLS
GHZSHPDKH
GHZSSYQMCSY_NCON[
_GHZXBGP
g)))HZZLDKEP
gI1Gyyyyy
gI[[[4[[[)[[[
gI5gfGZ4
gI[[[7[[[
'gIAgfG"
gIagfG4L
giagfG5n!Rgqggyk
gIagfG@c
gIagfGeu
gIagfGFr
gIbgfGbK|
"gibgfGV
gIbgfG?Z
gicgfG4d
gicgfG6)
(gicgfG9
gicgfGbd
gIcgfGfa
gicgfGhv
gicgfGIo
gIcgfGIt
gicgfGJt:
gicgfGKd
gicgfG!L	mgqgg
gicgfGmG
gicgfGN?
gicgfGQdb
gicgfGSv
gicgfGU0
gicgfGW?C
gicgfGX5
@gIcgfGXh
"gIcgfGY
gIcggw[J
GIdA[[[ [[['[[[g
]GId[[[[g[[[f[[[
gIdgfG	(
gIdgfG|@
gIdgfG72
gidgfG-9
gidgfGD*Vcgqgg
gIdgfGe;
]gIdgfGg
]gIdgfGh
]gIdgfGl
gIdgfGo3
gidgfGq@
gIdgfGsM
gIdgfGwI
]gIdJ[[[v[[[
g?IdP[[[P[[[O[[[
gIdV[[[v[[[
gI[[[E[[[D[[[#-hdL[[[
giegfG5	k!gqgg
giegfG9b
giegfGBB4
giegfGkc
gIegfG|sd[gqgg
gIegfGZF
Gier](e-e
gI[[[f[[[
GiFbFyyy
GIFCF5F'F
GiFeF]FMF5F-F
GiFeF]FMF9F!F
g!iffG Q
*gifgfG#
gifgfG _
gIfgfG0f
gifgfGB.
gifgfGEG
gIFgfG_iX
'gIfgfGJ
gIfgfGL 
gIfgfGM(
gIfgfGVN
gIfgfGWs
gIfgfGYjE
gIfgfGYtH
GIFileComClassWWWt
GiFmFaFeFYF]FQF!F
GiFoFQFIF:F*F#F
G!ig7bgfG
:(]?g'igfG
g;igfGds3|gqgg
.g)igfGH
g)igfGIQ
g_igfGP[
g)igfG@PyDgqgg:
;g	igfGsh
gi@gfGsTI!gqggf
g	IgfG	Tr
-gi_gfGVL
gIgg6|4U
gIgga7O97
	gIggACK
[;gIggfG
gIggfG;2(
gIggfG*2m
gIggfG#4
gIggfGic
?@gIggfGJ
gIggfGQLJ
gIggfGsh
gIggfGVc
gIggfGW@
gIggfGYn
!(giggfw
(!giggfw 
):giggfw
*giggfw|
"giggfw0
giggfw0)
giggfw04I
giggfw0e
giggfw_0s;o;2e
;giggfw1B
giggfw'2E5v@
giggfw!3
giggfw46
giggfw5m
giggfw7a*
giggfw8L
[giggfwa
;@giggfwb:
giggfwB2
!giggfwby
giggfwCM
giggfwCz
giggfwd1Q
giggfw?f
giggfwfQ
|giggfwg
giggfwGvPz
giggfwH*
giggfwi(
giggfwI7
giggfwIi
giggfw_j
"giggfwk
giggfw k
;giggfwK
giggfwke
giggfwL@
giggfwm_
giggfwm5
giggfwmN
giggfwM?OY:
giggfwNn
*giggfwNS)
giggfwoN
giggfwr6
giggfwrJ
giggfwRt
]giggfw:s1x
giggfwsKy
?giggfwT
giggfwU#
giggfwU0
giggfwUAa
giggfwV6O
giggfwVj
giggfwvz
*giggfww
giggfww"
giggfw;W
giggfwW L
giggfw"X;
giggfwxR
*giggfwy
giggfw"Y
''_giggfwYH
giggfw(z
g#iggGm'0-iD"
gigggw6z
gIgg*K7W
gIgg RlY
gIggsb*;
g;iggwU5
gIggXF*J
	gIggZgb
GIgqggGw
GigUegfGe
gI#gUiggGwWP
gI[[[h[[[n[[[
G)))i]HZBB@EE
gIIdentityReferenceRangeW|G
?gIigfG)l
gIigfGlX
gIiIgIiygIi
GIIjIiQBI
GIITI-QNII
gI[[[j[[[
gIjgfG!3Y
gI[[[J[[[I[[[
GIjIg@CII
gI[[[J[[[j[[[
gI[[[k[[[
G||i@||K@||-@||
[gikgfG!
gIkgfG18
gIkgfG2]
*gIkgfG 5
gIkgfG5ko
gIkgfG8m7
gikgfG];a
gIkgfG'b
#gIkgfGD
gIkgfGd!0pgqgg
gIkgfG];m	gqgg
gIkgfGNuU
gikgfG!O
	gIkgfGPy
gIkgfGu6
gikgfGW*
gIkgfG y_
gI[[[l[[[
gIlgfGPn
gIlgfGTN
_gilgfGyGS
)))GILI]I
gimgfG1uF
gImgfGNt
gIngfG'6
gIngfG7G.
gI[[[O[[[
(giogfG2
gIogfGF.
giogfGwjJHgqggA
]gipgfG)
gIqgfG(s
gI[[[r[[[
gI[[[R[[[K[[[
gI[[[r[[[q[[[L
gI[[[R[[[W[[[
gI[[[s[[[
gisgfG Ps
gI[[[S[[[Q[[[
gI[[[S[[[W[[[
gI[[[T[[[
gItgfGSF
gItgfG-zXQgqgg
GiUgIfgfG
Given a setting definition find all the setting overridesW5
Given a setting definition find out if it is securedWW9
Given a setting definition find the default value for the settingWU
Given a setting definition find the setting type nameWA
gIvgfG	Tt
gIvgqggs
GIVIG@CII
gIwgfGr"H3gqgg
:giwgfGZ
gI[[[X[[[V[[[
gI[[[X[[[W[[[r
 "gI[[[Z[[[
gI[[[Z[[[
giZllllllllmllllOllylm
gI[[[Z[[[	[[[yk
g][[[j[[[
gj)0igfG
gJ[[[2[[[1[[[J
Gj2pgppepq
G[[[j4XfR[[[
gJ[[[8[[[?[[[
gJ[[[a[[[
GJADL[DH]@OG
GJADLZZC
G[JA[DSOC
GJADZLSJ
]GJA[FDL
@GJA[FDLvMH]H
G@JAFEHZSHBHZ
GJA[JQPHLE
G@JAL_FZALGB@
GJAMYBZJ[D
_GJA[OKQPXG
GJAYLDJQ
GJAY[N[MH
]GJB@CJYSG
GJBDSOGFG
G@JBGHDL
[]GJBMCL
GJBNC@P]Q
GJBPMDSA]OCXF[QM_
GJBQHKMMP
GJBSPNKNH
G[JB[YMMB[
_GJBZCLOM
GJCEHCED
GJCHKPHN
]GJCJAOS]]ZDCAOGDMY
gJ[[[d[[[
GJ@DB]DK_GP_C
G_JDBLBJJH_Q_DYXG
GJDECAYDPBZ
GJDHB@B]
gj[dK[[[
GJD[LJCHZ
GJdM[[[z[[[j[[[
!gj_d_nE
|gJdO[[[
GJDOD[GMDY
GJDOEE[Q_PMM
GJDO]@NGAKD
GJDO]SNO
g)))_@J]@DvH[[HP
gJ[[[e[[[3[[[
]GJEGYDJ
gJeH[[[E[[[
GJENJDXY_DKK_AN[MBX@QB
gJeZ[[[S[[[
gJez[[[w[[[
GJFCLJBQS
GJFDDHGM
@GJFD@GN
@GJFD@GNJHEEZJFD
@GJFD@GNZDZ
G@JFEiALGBLE
G@JFEL@DHG
G@JFEL]]L
g)))@JFG
GjFGF7F'F
g)))J[FG]HK
GJFG_L[]Z
G)))JFGZFEL
GJF]HiFMJDG
G@JFK[H@EF
@GJF[[LJ]
@GJF[[LJ]uQ
|G@JFMLdHYhJ]@_@]P
|G@JFMLhJ]@_@]P
GjFYFyyy
gj@gAgg|
GJGCEMA_PK@KPS]ZGJG
GJ_GDHH_CSDOYSXAMD
G[@J[GDZ[XO][O
*[g)jgfG
]_g	jgfG
 g'JgfG;
@g[jgfG1
g-jgfG3f
g[jgfG9 #
g[jgfG;Ab
g-jgfG]aD
g_jgfG|F
g#jgfGFV
g;jgfG!k
g_jgfGLb
|g;jgfGR
g_jgfGuN
g#jgfG#V
g	jgfGvM
g'jgfGvO
g?jgfGwP
g!jgfG z
GJGFZEKC
	gJgg2jA
gJgg"EUOL
gjgGfgfG-
gJgg(_FZX
GJGGHQNF
gJggk.PQ
gJggm|1.
	gJgg*P]D
gJggS'jz
g#jggw5y
_[GJGHSXPGYC@YCOF
gJ[[[@[[[G[[[K
G_JGNXND
GJ:gqgg3
gjg'wggGcA
GJ[GXNZ]Y
G@J@HBNS
g)))JHEE
 )))GJHE[YJ
(gJhggfw
gJhggfwl
GJ[HJBH_H@EHKELZL[_@JLZ
#)))GJHJGvGY
GJHJGvGY
GJ@HN@JH
GJ@HN@JHN@JHNYAGBFEKPK
GJ@HN@JHN@MQSSMYXJD
gJ[[[h[[[o[[[
GJ@HO]X_JP
G]JH]SJMB
GJHSKSBA
GJHX_BLB
gJ[[[H[[[y[[[
g)))JHZL
G)))JHZL
gJ[[[i[[[
GJ[JDHPA
G]]JJDPQO
GJJFCJ@NFBPQCO]H
GJJKO_GCYGKANM
G[J_JSPYO@C
GJJ]_X_YD
GJ@JYA[ZKHBOCH
GJK]BODN
GJKC_CM_M
gJk"dMF1d
GJKFFBDH[B
GJKHHHNQ
G@JLAHZA
GJLBSKAM
gJ[[[l[[[c[[[
G@JLCAFGLE]FG
)))GJLEE]LJA
@GJLG]@_L
)))G]J[LH]L]A[LHMLQ
G]J[LH]L]A[LHMLQ
G)))J[LH]LFKCLJ]
G)))J[LH]L]HKEL@OGF]LQ@Z]ZDLZZHNLZ
G]J[LH]LY[FJLZZ
g]j[LH]Ly[FJLZZlQ))
G]J[LH]LY[FJLZZLQ
g]j[LH]LzLJ]@FG))
G]J[LH]LZLJ]@FG
GJLK_XM_]@ZC
gJllllllllmllllOllylm
GjllllllllmllllOllylm
@GJ[LM@KEL
GJLM_XLQLXPJ
G]J]LODP
GJLPK[AZDM
G@JLZJ[FEE
gJ[[[m[[[
[GJ[MADZB[COQA
G_JMD[XCP]PSN[C
G]JM[EOD
gj)mggfw
)))@GJ@MLG]v@M
@GJ@MLG]v]PYL
)))G@JMP
gJ[[[N[[[
GJNAY@_NP
GJNBCDYNOSFLMGKKKQ[C
_GJNC_Z_
gJ[[[n[[[d[[[3
GJ_NOLYQSHHSX
GJNSQQ@ALNYJP[H]
GJ_OBQEA
GJ[_ODZALQPDGZYOKXK
GJOOBBMPC
_GJOSDCN
GJOS[MCG
G]JOXBOJ
GJOXNGAO
gJ[[[p[[[
GJPMQA_AO
GJPMSKJYKS
GJPN@C_[O]_HE@@BNC@H@QNG
GJPP]NOOMML
GJ_PQAKY
]GJ[PY]JY
GJQCNXGX
GJQ]LABBS
gJ[[[Q[[[N[[[
GJQPHM_B
gJ[[[R[[[
gJ[[[R[[[V[[[
gJ[[[S[[[
GJSBDCNP
GJSG]B[QP
GJ_@_SGXJ_JSD
_]GJSHJAXC
GJSPLJLKQGB
G[JSSLD]
gJ[[[T[[[
gJ[[[u[[[
gJ[[[U[[[
[GJXANSNFQ
GJXC[AK]DKN[
]GJ]X_EAD]
GJX]EDCNP
GJXNKEHL
')))GJXXGN@PHvXP
GJXZBJD@_]
GJ]Y][D]_KYHNCJP[Q
GJYDNHBFA
GJ]_YFGD
GJYJMSKNOG
GJYKHSDGY
GJ]YNZQG
GJ_YXDXXG
GJY][]YYNBZ_CA[
G)))JZ][
GJZBHZDND
G_Jz"BllllllllmllllOllylm
GJZCNLONJGD
@GJZ@@GM
GJZGPYGDC
G_J]]]ZHQDZ[
GJZJPPSLMD_
G@JZNKDO]SZH[@JJFYZAKQ@PCQZFYOJS
GJZOXAQCD
[GJZQOQ_@FAPNJL
'||g ||K ||. ||
gK[[[:[[[
gK[[[_[[[
G.k@@@@@
gK[[[2[[[7[[[M
gK[[[![[[4
gK[[[5[[[.
gK[[[5[[[4[[[?
gK5gfG1Yb
gK[[[6[[[
gK[[[7[[[
gK[[[7[[[6[[[
gK[[[8[[[
gK[[[9[[[
gk9gfG3R
gk9gfGjZkvgqgg
gk9gfG U
G.k@@@@@A@@ap@DL
gKagfG4l
gKagfG8Gm
gKagfG|AR
"gkagfGc
	gkagfGf
*gkagfGo
GkAjCkM]X
GKAOHP_K
GK@A]QQLOXZOY
GKAXKGAKGQ]OQE
#?gkbgfG
gkbgfG |
gkbgfG9*
gKbgfGah?
gkbgfG|.b
gkbgfGgt
gkbgfG.j
gkbgfG*k
gkbgfGK2nDgqggE
gKbgfGM:::gqgg
gkbgfGp?)
gkbgfGUT
gkbgfGV8	
gkbgfGWH
gkbgfG!xy
gkbgfwy[
_GKBZKGZQJEF@O_
gK[[[C[[[
GKCD_KOEL
gKcgfGaE
@gKcgfGBuy
 gKcgfG*H;Ygqgg
gKcgfGSZH
gkcgfGWuS
GKCHZO_HNNJKAYXJ
GKCSCE[P
GK]CX[]H
G_KCXMYZ
GKDA[OZZQHOXAS
GKD[C]C[
;gkdgfG|
-|	(gKdgfG
.*gKdgfG
: gKdgfG
]gKdgfG7a
gKdgfGcJ
gKdgfGEP
gKdgfGfv
gKdgfGgKq
gkdgfGhk
gKdgfGJh
gKdgfGmh
gKdgfGO0
gkdgfGPx
gKdgfGsx
#"gKdgfGW
)gkdgfGX
GKDMXAN_L]CCL
GKDOCGBCv
gKdQ[[[1
gK[[[E[[[
G_KEAJLAKCBQNLLQGDQ]H
]GK]EBKKLHXY
GKECQEBND
gK[[[e[[[d[[[
G)))KEFN
gKegfG?;(
gKegfG@!
gkegfG6b
gkegfG:B
gkegfG.h
gkegfGIa!cgqgg
gKegfGoeJ
gKegfGSv
gKegfGW8#
gKegfGwx
gkegfG?Z
gKegfGz(
GKEJPK_GOBH
G_KEMHCP
GKEMMMCO_OAD
]_G_KEMZ
GKESBQSG
GKEY[PN[]BD@
gK[[[f[[[
gkfDJ!d@
g!kffGktm
gkfgfG5Q
gkfgfG95
gKfgfGFE
gKfgfGgJ
gkfgfGh0
'gkfgfG#Ja
gKfgfGKeM_gqgg
gkfgfGO 
?gkfgfGr
*gKfgfGy
gkfgfGzh
G-Kfgfw?2
gKfggG3q
 gK#fgwI
GKFJ]QZZ
GKFLMHM_A
GkFPF9F.F
@GKFQE@NA]
@GKFQE@NA]HZYQG
GK[FSAZGCLN@
GkFTFJF@FFF
__GK@@fu
_GK_@fu@
GK__fu@@|
GK@FZvGHDL
GKFZZH[M
#!g'kgfG
(g)kgfG'
)	gk@gfG
.g[kgfG.
:_g_kgfG
:g)kgfG@
:g]kgfG)
?g#kgfG 
]	g-kgfG
|-g]kgfG
|:g#kgfG
g!kgfG')
g#kgfG']
g?kgfG]|
g_kgfG"|
|g[kgfG0
g'kgfG0cl
g	kgfG1S
g?kgfG;3
g?kgfG3m
g#kgfG3x
#g[kgfG4
|g]kgfG4
g	kgfG4|
g-kgfG4k
g!kgfG@(5
g	kgfG-7jygqgg
g?kgfG7N
?g!kgfG8
.*'g!kgfG8Y
*GkgfG9"
g-kgfG9l
g#kgfG(A
gK_gfG'A
g'kgfGAE
g-kgfGAj
g#kgfGAp
g'kgfGas
g!kgfGb#
g'kgfG	b
-g!kgfGB
g-kgfG!bhvgqgg
g	kgfGBS[*gqgg
g#kgfGBSK
(g-kgfGc
g	kgfG"c_
g!kgfGC!
g;kgfGC*
g'kgfGc0
g)kgfGcP
g'kgfGcV
g_kgfG;d
gK_gfGD0D2gqgg
g;kgfGDd
g;kgfGDSx
!g-kgfGe
g!kgfG';E
g-kgfGEFn
g?kgfGel
g-kgfGElO
g#kgfGEO
:g-kgfGF
gK|gfGFSh
g?kgfGfu
g?kgfG|g
g)kgfGgDX
g?kgfG Gm
g!kgfGGQ
g;kgfGGtdagqgg
g[kgfGGy
?*g)kgfGH
g?kgfGh|8Zgqgg
g;kgfGHC
g?kgfGHy5
g	kgfG-'i
.g!kgfGI
g[kgfGia
)]g?kgfGIFvTgqgg
g?kgfGip
g#kgfGiy
-g[kgfGJ
g?kgfG"J
g	kgfGJD
*g?kgfGK
:g_kgfGK
g'kgfGKgj
g#kgfG[l
g!kgfGL;
g;kgfGl]Aagqgg
g_kgfGlrj
g)kgfGls"
g!kgfGlu#sgqgge
#g#kgfGm
g;kgfG(M
g]kgfGM3
g-kgfGMov
_g!kgfGn
g-kgfGn"
g?kgfGn"
g[kgfGNP
g'kgfGnSy
g)kgfGnw)
_g	kgfGO
g#kgfGO)
g;kgfG*O
g-kgfGo5
g#kgfGo5J
g_kgfGO#b
g?kgfGoEq
gK_gfGOQ
g!kgfGou
g	kgfG@p
'g_kgfGP
g)kgfGP?"
g;kgfGpF
g)kgfGPI2
g;kgfGpP
g]kgfG.pr
g)kgfGPU
g#kgfGq4
g[kgfGQ5
g_kgfGq9
g[kgfGQa
g!kgfGqk
g[kgfGra
@g)kgfGRf
g)kgfGRfZ|gqgg
g-kgfGrK
'gK[gfGR@Rcgqgg
g)kgfGRzCKgqgg
(g?kgfGs
!g]kgfGS
g	kgfG@S
g!kgfGS:o
g?kgfG|t
g_kgfGt 
g	kgfG-T
g]kgfG	T3]gqgg
g-kgfG'T5
g!kgfGt!6
g-kgfGTE@
g'kgfGTF_
gK_gfG't!ogqgg
|g)kgfGu
g	kgfG(U
g!kgfGu0
g#kgfG)U2
g#kgfGU4[
g-kgfGuB
g	kgfGuE.
g;kgfGUe
g)kgfGuk
g;kgfGUp
[g_kgfGv_
|g)kgfGv
_g#kgfGV
g;kgfGvH
g?kgfGvi
g!kgfGvN
g]kgfGvV
g-kgfGVY-
g[kgfGW(
g?kgfGw6
g	kgfGw]R
g]kgfGWSw
	g?kgfGX
g!kgfGX|
g?kgfGxj
g)kgfGxO
g]kgfGxT
g'kgfGXT
g#kgfG@xvqgqggW
@g!kgfGy
 g]kgfGYbS gqgg
g)kgfGYP
g	kgfGYR
g-kgfGyyg
g!kgfGZ.3
g!kgfG?Zyvgqgg
g;kgfGZz
@GKGF[SDOMOO
gKgg8KjS
gKggC1aT
gkGgfG-g
gKggfGT3
gkggfw#*
gkggfw*	
gkggfwI@
(g!KggG6
gkGggGE_
gkGggGjy
*gkgggw0
_gkgggwL
gKggH_Wn
gKgg h!Y|
gKggI7jQ
gKggJJuhL
gKgg*[p2:iJu
gKggpd1S1
gKggqp[j
gKggr9f)G
gKggRfz6
gKggU'gA
gKggX'cR
gKggyjkf
.GKgiggfw
gk'googgG
)gkgqggA
gkgqggUO
GKGSDG_KPY_OSHEO
GKGYPMGDGPJY@_MX
GKGZE@D@]
GKGZOYHMZNK
g_[[[K[[[H[[[
gkhgfG"W
GKHKLPXY
gK[[[h[[[m[[[K
GKHONLMMxxx
GK]]HO]YE
GKH]YGNL
?#gKigfG
gKigfG4k
gkigfGFg
gkigfGqJ
gK[[[j[[[
g@[[[K[[[J[[[
GK[]JAMXJ
GKJDMBQ@C
GKJGCHLY@BBFA
gkjgfGfX
gkjgfGO]
gKjgfGoM
gKjgfG?Z
GKJH_]HCCP[X]
GKJKK_[NA
GKJ[OLC[KQ
GKJZDLQ]CJD
G[KJZFQX
_GKJZMY[]MODMY_A
g[[[kK0dP[[[
GKKANOKY
gkkgfG2hMmgqgg[
gKkgfG31V
gKkgfG(4
gKkgfG8M
gKkgfG?f
gKkgfG	G!?gqgg
]gKkgfGk
gkkgfG	m
gKkgfGna
gKkgfGNM
gKkgfGnX
gKkgfGoZ
!gKkgfGp
_gKkgfG!sH
gKkgfGw_
gKkgfG.W
gKkgfG[y
gKkgfG]y SgqggB
"gkkgfGz
gkkggw3;G
gK[[[K[[[I[[[#l
GKKKSK]XL
GKKLDOME
GK@KNCBHO[QP_
GKK]P_OLA
GKKSZDXA]Z]A[OB
GKL_BHEPDG_
gKLggG4_M
GKLHQJCZLYKNFB[
GKLJ[P_JGQCJ]@DP[OS
GKLLDHGXJOL
G]KLLHGHLM
GkllllllllmllllOllylm'
]GK_]LOCGH
GKLPDALK@NCHN
[GK@LSNC_BKYLP[
GKL]X_G@MBAL
GKLXJQLAB_[
gKmgfGHik5gqgg
gKmgfGlZS
gKmgfGqp8
gkmgfGw(
#GKmggfw
GKM@GJCBQNZBF
G[KMGY]QGNYP_
)))GKMLE@Z
]GKM[NOBOKCKXAJNLDSA
G@KMQHPB
GKMXHJDHBBN
GKMZP]LL
gK[[[n[[[
G@KNBKYH
gkngfG1W
gKngfG:M
gKNgfGmz@Ngqgg
gKNgfGRkq
|gKngfGwy
gKNgfGX!
[gknggw9v
gKngqggE
GKNGSG_DO
GKNK_ABNMQDMF
GKNNNZW@D
GKNPB]G]MXKSKF@LPQLK
GKNPLC[HM
GKNQCEDG_KZ
GKN_ZL@ZOY
gK[[[o[[[
GK]OGAJSDD
GK_OGKAG
GKO]JPP]
GKOMXX]A
GKOO]]FMJ]A
gK@@@@@@@@Op@@@@@@@@@@@@@@Lp@t
GKOQMMGY
GKOQOMJSX
GKOXGKOL
gK[[[p[[[
gKPdI[[[
gk'pg;ogfG
GKPHYHXCGNC[EP
)))G]KP@M
GKPNKJ[LJKQ
gK[[[P[[[W[[[
GK]QGZJGY
gK[[[q[[[j[[[
GKQJLO_A
G_KQKAJDESK
G[KQLLSAM@
GKQ]NCFKL
GKQPA_N_MY
GKQPBOD]N
gK[[[r[[[
(|gKrggwq
gK[[[R[[[V[[[a
gK[[[S[[[
g kSdgfG
gksgfG9H
gKsgfGPf
GKSMK]O[HK
GKSMLXOK
GKSNBXJ]
gK[[[T[[[
.gKtgfG 5
"gktgfG6
gktgfGvU
gK[[[U[[[
!gkvgfGH
gKvgfGI9
[[[gkwe_[[[
gkweE[[[
gKwgfGZz
GKX_FXCH
@[gKxgfG
gkXgfGN;
gKxgfG@YR
GKXLCYDO
GKX]NA]B
GKXNEJBP
]GK[X_QM
GKY[FCLJ]
GK@YPFB[D
gkzgfGT"P
 )))GK]Z]H]
")))GK]Z]H]	
G)))K@]ZHMD@G
G[KZNNDCLQ_GSFC
GKZQMCLJO[
GKZX@APM
GKZ]YXKSA[
[GKZZYS__
-gL[[[	[[[
gL[[[-[[[
G||L@||	@||
G[[[L2teK[[[F[[[
Gl3_]-07:D)
gL[[[a[[[
G[LADEGS
GL_A[__[E_PJ[J
GL_][AF_DH
GLAHS]EDJKPG
GLAPDPPJG
GLAPN_PCOQHM
GL[AQP[B]
GLAXLM_JO[[J
GLBA_HHBOGL][][QH
GLBCJXJCYCL
GLBDSXLMXGND
G[LB__HN[PL
GlB@@@Hp@L
G_LB_KGFL
G@LBMONSSPP
[GLBOJEH
GLBS_HYAS[QHMJ_PA
gLBZd@GL[
gL[[[C[[[A[[[
GLCBOA@GNZLYMFJKP
G_LCCCXJG
GLCGCBKKGMD_LN
GLCLSG]LD
GLCrYXSt
GLCS@M]PCNY
Gl@@@@@"@@D@AEac
GLDCNOQLNCEYM
GLDDDOC[A
gLD@DvlGJ[PY]LMvo@EL
GLD@EJCJLMGMQAN
GLD_FXO@A]
GL]DHAHE
@G]L[DLM@H]LK[@MHE
GL]DLZZLGNL[ZL[_@JL
GLD__@[]M
GLdP[[[b[[[
GLdV[[[L[[[|[[[
GLdW[[[n[[[
GLdX[[[][[[j[[[
G[LDXJK[
[GLDXNH[XSN
GLdX[[[Z[[[
gL]dZDXhJ]@_H]F[))
GL]DZDXHJ]@_H]F[
gL[[[e[[[
gL[[[E[[[
GLEBCJZXN
@G]LEDHJFZQ
GL]EFNFG
:)))GL]EFNFGuM[@_LDHY
GL]EFNFGvZPGJ))
@G]L[E@GBZ
GLE]_G[LLBA
@G]L[E@GQ
glEgWWz[
]GL@EJML]JL]F[Y
gleo'4'gleUU@UU[
gleo'4'gleUU@UUv
GL]E@SH[M
@G@[L]]EZ
GLEZSMNASEC
@G@L[[F[
@G]L[@F[
)))GLFGL]
gLFGL]jFDYELQ
GLFKY@OZB
GLFQND_DZQEQZX[YESKC[MNH
GlF]W#P*
@G]L[FYZL
)))@G]L[FYZL[_@JLZ
@G]L[FYZL[_@JLZ
gL[[[g[[[
)))@G]LG]
Glg3kgfG3rr
:	g-lgfG
g;lgfG._
@G]LG]@FG
[g-lgfG3
g'lgfG*3
g'lgfG3y
g;lgfG7BJ
g_lgfG7S
]g'lgfGB
g'lgfGCZ
g'lgfG)D
g]lgfGgf
g;lgfGOjY[gqgg
g]lgfG@U
@G_LG]F[P
	gLgg)@;
	gLgg|!.
	gLgg)20
	gLgg2?B
	gLggA	v
gLggcl#o
gLggD!Jo
	gLggGpC
gLggH	lJ1h
	gLgghtN5
	gLggL66 
gLggL66 
gLggl;kN
gLggMFUWF
	gLggP'5
	gLggQsoe
gLggSC?*q
gLggTIFa
gLggx;4_
gLggx|iO
gLggX|QQ
gLggZE?C
gLggZlA5)
:)))@G@[LGHDLZLJ]@FG
)))@G]L[GHE
@G]L[GHE
@G]L[GHE_H[
@G]L[GHEZL[_L[L[[F[
@G]L[GH]@FGHEZA@YY@GNUMAEAFDLU
@G]LGJ@FGHMFMHD@J[FZFO]BL[GLE
)))@G]L[GL]
:)))@G][LGL]
@G]L[GL]
@G]L[GL]FYLGH
GL]GL]_HN@GH
@G]L[GL][LHMO@EL
@G]L[GL]LQYEF[L[
@G]L[GL]LQYEF[L[A@Z]F[P
@G]L[GL]MZE
@G]L[GL]O@ELZ
@G]L[GL]ZL[_@JLY[F_@ML[
@G]LGMLM
glgqgg7[
gL]gqggcnuD
GLG_QOLPODHMFP]Y
G]LGS_OBXC
GLGSQKDEZHY
G(L;G t7
)))@G]L[HB]@_H
g)))L_HE
@G]L[_HE
G)))L_HE
@G]L[_HE]@DL
@G]L[_HEFZJFDGFDL
GLh ggfG
G[_L@HHY
@G]L[HJ]
)))@G]L[HJ]@FG
:)))@G]L[HJ]@FG
@G]L[HJ]@FG
@G]L[HJ]@FGt
@G]L[HJ]@_L
@G]L[HJ]@_L]FBLG
GLHKDGAO
GLHLGJCSJ@ZXQ
#)))@G@[LHM
)))@G@[LHM
g)))[LHMP
?)))@G@[LHMZLJ]@FGGHDLZ
g-))LJAFJNFB@JHN@JHN@JKOQ
GLJCBQD[
@GL]JEFZL
)))@G@LJFE
GL]JFGGLJ]@FG
gL]jFGOm@ZF_))
gL]jFGOm@ZJF_))
gL]J[HO]
#)))GL]J[HO]
G_LJJQJPBBLO_NQ@
)))GL]JMG
G[L[J[OZY
GL]]JYJFGGLJ]@FG
glKd_[[[
glKdS[[[
]GLKKDNXD]K]]E[
G[LKLEN[]F@
GLKYZNAK_Y
!)))GL]KZM
gL[[[L[[[
)))GL_L[
G_LLDBHSQK
GL_L[ELZZ
GL[LEX[F
GL@LFYNAYZ
GLL][H]A
")))@GL][LHM
@GL][LHM
GlllllllllmllllOllylm|
GllllllllmlllLMO8) V8
:gllllllllmllllOllylm
;gllllllllmllllOllylm
?gllllllllmllllOllylm
g*llllllllmllllOllylm
g.:llllllllmllllOllylm
g;llllllllmllllOllylm
g?llllllllmllllOllylm
g|llllllllmllllOllylm
gllllllllmllllOllylm
gllllllllmllllOllylm -
gllllllllmllllOllylm"
gllllllllmllllOllylm*
gllllllllmllllOllylm:
gllllllllmllllOllylm;
gllllllllmllllOllylm@
#GllllllllmllllOllylm
*GllllllllmllllOllylm
-GllllllllmllllOllylm)
.GllllllllmllllOllylm
?GllllllllmllllOllylm
@GllllllllmllllOllylm
]G?llllllllmllllOllylm
]GllllllllmllllOllylm
G!llllllllmllllOllylm
G"llllllllmllllOllylm	
G(llllllllmllllOllylm
G_llllllllmllllOllylm
GllllllllmllllOllylm
GllllllllmllllOllylm"
GllllllllmllllOllylm]
gllllllllmllllOllylm1
gllllllllmllllOllylm2
@gllllllllmllllOllylmAq
gllllllllmllllOllylmB
GllllllllmllllOllylmDT
GllllllllmllllOllylmE
gllllllllmllllOllylm_F
GllllllllmllllOllylmF
GllllllllmllllOllylmfg
gllllllllmllllOllylmfJ
gllllllllmllllOllylmg
gllllllllmllllOllylmg6
gllllllllmllllOllylmh
GllllllllmllllOllylmH
GllllllllmllllOllylmj
GllllllllmllllOllylmK
GllllllllmllllOllylmL
gllllllllmllllOllylmlq
gllllllllmllllOllylmM
GllllllllmllllOllylmm
GllllllllmllllOllylmN
gllllllllmllllOllylmo
gllllllllmllllOllylmO
gllllllllmllllOllylmp
gllllllllmllllOllylmP"Bw
gllllllllmllllOllylmQ
GllllllllmllllOllylmQ
GllllllllmllllOllylmQ7:0
gllllllllmllllOllylm[r
GllllllllmllllOllylmr
GllllllllmllllOllylmS
gllllllllmllllOllylmu
gllllllllmllllOllylmuqG
GllllllllmllllOllylmvKs
GllllllllmllllOllylmvy
gllllllllmllllOllylmw
GllllllllmllllOllylm]W
"G[.llllllllmllllOllylmX
GllllllllmllllOllylmy
GllllllllmllllOllylm(	Y
gllllllllmllllOllylmZ
|GllllllllmllllOllylmz
:gllllllllmlllpMO-
GllllllllmlllwMO8) V;
gllllllllmlllx
GllllllllmlllxMO
g'llllllllmlll]Y]]
g-llllllllmlll]Y]]
gllllllllmlll]Y]]
!Gllllllllmlll]Y]]
Gllllllllmlll]Y]]
:gllllllllmlll]Y]]3
g|llllllllmlll]Y]]f
')))GL_L[[LZ]F[L
GLLM]FHJJLZZ_@H_H[@HKEL
GL_L[MH[B
GLLMHMD@G
)))GLLMZEFJHEZ]F[HNL
GLLMZJFG]LQ]
GLLMZvOY
GL][LN@GZ]HEE
g)))L[LN@Z]L[
GL][LN@Z][P
[G[LLSMPX_E
@G]L[LZ]@GNO@ELR
GL]MAOLSY
GL[MDAJYYXOB_AD
GL]MDG]MDGN
G@L_MDKLCN
GLM_DOQ_GLB@PA
GL]MFDH@G
gL]mFDH@GjFG][FEEL[))
GL]MFDH@GJFG][FEEL[D@EE@N[HD
GL]MFDH@GJFG][FEEL[R
GL]MFDH@GOF[BLM
GL]MHBH[
GLMJNYN]MLHDZ
G@LML[DHGG
GL[M@[LJ]
@G]L[MLYLGMLG]
[G]LMMJKSO_J
]G[LMXB]_
GL][MYZLZZ@FGR
gL]m@ZJF_EFJHEHMD@GHJJLZZ
gL]m@ZJF_FKCLJ]J[LH]L
gL]m@ZJF_JFDYGHDL
G@LMZND[ANDY[
[]G[[L]N
G[LNA[OND
gL[[[N[[[B[[[
GL]_NBGDEQXENOSHJB]JHYNH
GL]NCC_B[
GLNCLOS_NYZK
gLNdA[[[
_]_GLNDY[CK
@G]L[_@N@E
GLNGD]]N_JH
@G]LN[HE
@G]LN[H]@FG
G)))[LNHMM
GL[NJYYOD
#)))@GL]NL]
)))@GL]NL]
')))@GL]NL]@GOF
@GL]NL]@GOF
 )))GL]NLH[
GLNLHCEA]Y
@G]LNL[MH]H
gL]nL]mjgHDL))
((GL]NL]MJGHDL
GL]NL]MJGHDL
@G]LNL[uQ
')))@GL]NL]Z@SL
@GL]NL]Z@SL
@G]LN[@]P
@G]LN[@]PEL_LE
GL_NPJMZQ_SHQCDP
GL[NYKJ@ZJZYY_PHK[MZF
GLNYLC_AC
GLN]YMD[PBNLM
|G[LN@Z]L[
|G[LN@Z]L[))
.)))G]L[O
GlobalAddAtomW
GlobalAlloc
GlobalCollection
globalcp.cpp
GlobalDeleteAtom
GlobalFree
GlobalLock
GlobalLogListenerWWW
GlobalMemoryStatus
GlobalMemoryStatusEx
GlobalReAlloc
globals.h
GlobalSize
GlobalUnlock
globaluserpackagegrouptests.cpp
globaluserpackagetests.cpp
GLOBMGJA
GLOEJ[XN]M
gL]o@ELzL[_L[))
GL]O@ELZL[_L[R
:)))GL]OE@QYH[]P
GL]OF[LZ]JHGG@KHE@SLZ
gL]oF[LZ]mFDH@G))
GL]OF[LZ]MFDH@GR
GL]OF[LZ]MFDH@GUOF[LHJA
@@G]L[OHJLtr
@G]L[OHJLvHMM[LZZ
@G]L[OHJLZ
GLOHKABGMDJK
)))GLOH[_LO@ED
GLOK]XOFK
GLOM]K[BSKG
GLOQMNKX
_GL]OS_MH]
G@LOYPOHXKPGO_@]
GL]]]P@FJE@LG]
Glpgppepq
G@@@@@@@@Lp@I
G@@@@@@@@Lp@IwYB
GLPJ_GSDS
]G_LP]LFFKK
_GLP[NJN
G@LPSKGD
gL[[[][[[Q[[[
#)))GLQ]
)))G]LQ]
:)))GLQ]
GLQ]A@GB
GL_[QBKNXCCLJ
G[LQCP]C
GLQ]E@GB
GLQEZCAYMOJBCJPAMA
gL[[[q[[[f[[[A
GLQ_HAZBOGC[
GL]QHFCMOA__X
GLQ]LGM@OK@GH[PZ][LHD
g)))LQLJ
@GL_QLXOS_M@
.)))GLQ]M
GLQN[LDZG
GLQ]O[CLBNCABHZM
GLQ]O@ELFKC
GLQ]O@EL@GZ]HEE
gL[[[q[[[t[[[
GLQ]vO@EL
g)))@LQYEF[L
GLQ]YHNL
G]LQ@Z]))
GLQ]Z@KE@GN
gL[[[r[[[q[[[
GLSACQGP
GL[SAD@DHDYQK
GLSAJKM[JZY
GLSHCGHAFOGK[C
GLSJ_L]B
G@]]L[@SLDL
GLSQHOQJHZP
GlSSSS_@
glSSSS_o
GLSXKDODYLGGN
gL[[[t[[[i[[[
gL[[[u[[[t[[[4
@G_@]LvDLZZHNL
GLvFEFEF
@GL]vH]FG
]G@LvJHZAv
GLvMFENFv]HBvLKHE@Z
GL]vZLZZ@FG@M
((GLvZ]Z
@GL]WZL[_@JLZ
GLXC[CNC
GLX]_CL@QOPKOF
GLXQBZCJD[ZY
GLXZD_]BQQ
-G  l     ]Y]]
GLYAFHYY
GLYALNOKKQKYOBXH
[GLYDCAC
@G]L[YEHGL]H[@ZBJAHDLELFG
g)))[LYEHJL
gL]y[FJLZZ))
GL]Y[FJLZZR
GLYFULYP]U
GLYJB[ZY
GL_YJQGQMB
@G]L[Y[L]vZYLJ@HEvJDM
G[LYNLQBZ]E
GL][@YYL[
)))@G_LZ]
)))GL]ZA
.)))GL]ZA
#)))GL]ZAH[L
GL]ZAH[LGL]ZAH[LLJAF
gL]zAm@ZJF_))
GL[ZB]KF
@G]_L[Z@FG
@G_L[Z@FGLZNFGSHE
@GL]ZFJBL]HMM[LZZ
gL]z]FY))
 )))GL]Z]FY
')))GL]Z]FY
)))GL]Z]FY
GL]Z]FYL_LG]EFN
gL]z]FYzL[_@JL))
gL]z]FYzLjLG]L[))
@G_LZ]F[ZK[@LOZ
 )))GL]Z]H]
")))GL]Z]H]	
GL]Z]H[]
GL]Z]H]@FG
GLZ]HFMONFJDS[LEJSE
GL]Z]H[]L_LG]EFN
GLZHYZE]SMLZD]
GL]ZJHEL[
gL]|ZL[))
@G]L[Z]LEEH[
@G]L[Z]LEEH]
gL]|ZL[hMM
gL]zLZZ@FG))
GL]ZLZZ@FGR
GLZQKHOB
GLZZZD_LPE
g_[[[m[[[
gM[[[)[[[([[[
gM[[[*[[[
gM[[[.[[[ [[[
gM[[[?[[[
gM[[[2[[[
gM[[[3[[[
gm6gfGU4i
gM[[[7[[[
gM[[[:[[[8[[[E
)))@GMAFEMZEZ]L[DFN[HOL[@GNZEL@ZADHG@JNP[LJ]FD@LZ
gmagfG'@7
.gMagfGA
gmagfGiI
gmagfGMv
gmagfGvj
GMAJC]BMO@
_GMAMPB_@BHXYS
GMASYLMG_MDJ
G@MA@vHYY
GMA_]YOGEJBNS
G@MA@ZLLM
GMBBPLBZ
@GM_BBZ_A
gmbcggfUUaUUQ
gmbDFEhJ]@_@]P
gMbgfG9b2
gMbgfGf'
gMbgfG)p
gMbgfGPV
gMbgfGR7
GM@@@@B@@@Hp@O
GM@@@@B@@@Hp@T
GMBJZBLZNQ
G[_]MBKLB
.)))GMBLP
GMBP]@PGGBS_QC
GM@BZ@DP_GZ
GM_CFD[KK]QSX_E[_
gmcgfG 2rvgqgg
gmcgfG	b
gmcgfGC-
gmCgfGf7N1gqgg7
gmcgfGFy
gmcgfGj*
gmcgfGjz
gMcgfGl '
gMcgfGR'
gMcgfGUKi
gmcgfGwU!
gmcgfGXh
GMC[[HAEOGM
GM][CH]SZMPAFF_GF_JAP
GMCKDHAOQL
_GMCL_SB_END
G@MCQJLSA_]KZ[LDQDXSX
_GMCQ@LB
GMCXB_[[KCXJ
gMd_[[[|[[[
GMDAPHGCEO
GMDCYQMLN@P
GMD_EPKHOG_C
gMdgfG1T
gMdgfG7i
gmdgfGbI6
gMdgfG*hf
gMdgfG_m
gMdgfGQ'A
gmdgfGrb
gmdgfGRU
gMdgfGt|
gmdgfGtcp
]gMdgfGtk
GMDHGB_N
GMdK[[[p[[[0[[[2w
gMdK[[[w[[[k[[[
gM[[[D[[[l[[[x
[GMDM@KQY[SPSKDBPDJS
_GMDNAAD]
GMDQNNZS
gM[[[e[[[d[[[s
!)))G]MEE
g]MEEjHEE))
gmegfG19
gmegfGbd
gmegfG g
gMegfGPjx
gmegfGRZ
_gMegfGu
gmEgfG;X
gmegfGxk
gmegfGXy
gmegfGYufKgqgg;
gMeggwJz
GMEHHBHS
gmeo'4'gleUU@UU
GMEXJJJON
GMEXMEK[Z[JC@
g)))MEYH]A
G]MFA_[MAC
GmFcF;F	F
@G@]MFD]A@ZEOHJ]F[PZL[_@JL
GmFeFQF9F5F
GmF[FEFy
g	MffG F
GmF]FTFCF.F	F
[gmfgfG_
["gMfgfG
')gMfgfG0i
gmfgfG8:
gmfgfG:96
gmfgfGab]
gmfgfGC]L
gmfgfGG|
gMfgfGSP0
gMfgfGUp!Dgqgg
'gMfgfGz
@GMFGLZ@HGJFML[
@GMFGLZ@HJPKL[]LHD
GMFGNYB_YLPCKGN_S]XK[KLLPLJB
GMFJ[E_DS@
]GMFYAL@D]X
gM[[[G[[[
!!g_mgfG
!!g_mgfG	
!!g_mgfG_
@_g_mgfG
|g_mgfG*
!!g_mgfG1
!!g_mgfG3zzngqgg
]g_mgfG"66
!!g_mgfG9;Q
gM#gfGA5
!!g_mgfGB
g;mgfG_c
!!g_mgfGD
"g?MgfGD
g]mgfGEf
!!g_mgfGF
!!g_mgfG_gGlgqgg
g	mgfGj(
!!g_mgfGk
g'mgfGOg
!!g_mgfG;p
!!g_mgfGPf
!!g_mgfG q8
g	mgfGQQ
!!g_mgfG?S
g'mgfGSH
!!g_mgfGT
!!g_mgfGu
g#mgfGVx
g;mgfGw_|
g-MgfGWWo
	gMgg'1qy
gMgg5J63
gMgge5WO
gMggfG2("
gMggfG6Z
] gMggfGF
*gMggfgfG
gMggfGoA
gMggfGye
 gmggfw"
'Gmggfw_
gmggfw3w
!GmggfwD
gmggfw]f|I
_Gmggfwg
Gmggfw?L
GmggfwLS
g)mggfwMc
gmggfwN i
?gmggfwpI
GmggfwQC
!!g_mggG
!!g_mggG	 ;
!!g_mggG 
!!g_mggG!
!!g_mggG"
!!g_mggG#
!!g_mggG'
!!g_mggG*
!!g_mggG-
!!g_mggG.
!!g_mggG;
!!g_mggG?
!!g_mggG@
!!g_mggG]
!!g_mggG|
!!g_mggG0
!!g_mggG1
!!g_mggG1ph
!!g_mggG)2
!!g_mggG.|2
!!g_mggG2
!!g_mggG2i
!!g_mggG3
!!g_mggG3w
!!g_mggG!4
!!g_mggG4
!!g_mggG4W0sgqgg
!!g_mggG5
!!g_mggG57
!!g_mggG6
!!g_mggG7l
!!g_mggG7x
!!g_mggG8
!!g_mggG9@Z
!!g_mggGa
!!g_mggGAg
!!g_mggGaoB
!!g_mggGBT
!!g_mggGc
!!g_mggGC
!!g_mggGCn
!!g_mggGd
!!g_mggGD
!!g_mggGdI3agqgg
!!g_mggGdis
!!g_mggGDuk
!!g_mggGE
!!g_mggGE)a
!!g_mggGf
!!g_mggGF
!!g_mggGFhphgqgg
!!g_mggGFj
!!g_mggGg
]gMgggG9
!!g_mggG;g)Lgqgg
!!g_mggGGr 
!!g_mggGh
!!g_mggGh3
!!g_mggGh|@[gqgg
!!g_mggGj
!!g_mggGJ
!!g_mggGJa;
!!g_mggGj)Y#gqgg
!!g_mggGk
!!g_mggGK
!!g_mggG[kL
!!g_mggGl
!!g_mggGL
!!g_mggGlc"
!!g_mggGLGO_gqgg
!!g_mggGLN
!!g_mggGlOD gqgg
!!g_mggGLQJEgqgg
!!g_mggGm
!!g_mggGM
!!g_mggGm7
!!g_mggGMi
!!g_mggGmJV
!!g_mggGn
!!g_mggGN
!!g_mggGNJ
!!g_mggGo
!!g_mggGO
!!g_mggGO*
!!g_mggGOD
!!g_mggGOM
!!g_mggGoo
!!g_mggG:p
!!g_mggGp
!!g_mggGP
!!g_mggGpzStgqgg
!!g_mggGQ
!!g_mggGQE
!!g_mggGR
!!g_mggGRP
!!g_mggGs
!!g_mggGS
!!g_mggGS(
!!g_mggGt
!!g_mggGt(
!!g_mggGT
!!g_mggG)u
!!g_mggGu
!!g_mggGU
!!g_mggGUMk
!!g_mggGu-R
!!g_mggGv
!!g_mggGv:
!!g_mggGV
!!g_mggGw
!!g_mggGW-
!!g_mggGW0S	gqgg
!!g_mggGwD
gmgggwWf
!!g_mggGx
!!g_mggGX
!!g_mggGxi
!!g_mggGy
!!g_mggGY
!!g_mggGz
!!g_mggGz@5
!!g_mggGZI
gMggK1wq
gMgg:OG(
gMggq2uA
gMggq2uA]
gMggr8:i
gMggTM_r
gMgg@W.b
g?mggw?N
gMggx!.4
GM_GGZLH_LG
GMGHCXKQE_
GMGLHJBOXZ]DNOEDLQGBYJ@GS_CK
GMGNOYNLZCXG
GMGOZX[_
gmgx[[[!
gmgx[[[)[[[
gmgx[[[-[[[
!)))G_@M@H
@GMHAFFM
GMHBM[_LBG
gmhgfGd8
gmhgfG.Q
@GM@HGFJ@
@GM@HGM[HNFG
GMH_[HGQBYJQYC
g)))MH]H]PYL
GMHPE]DXMA_
GMHQAXOA
GMHZZE[D
gM[[[i[[[
Gm@@@@@i@@A@ACac
_gmigfG2
gMigfG|r
[GMJ[EXQMAB
GMJGB[DZSKP
gmjgfG|9
[G@[MJHDD
)))@GM@JH]F[]A[LH]]PYL
GMJLGS_G[G
gM[[[j[[[o[[[q4
GMJPHBGPDQONPX
GMJPJPJ_G
[GMJZNK_SNK
[[GMKA[[EAE][A]@FX
GMKCLBZOLB[QJZ
[(gmkgfG
gMkgfG5*
gMkgfG5!fDgqgg2
gMkgfG6z
gMkgfGA2
)gMkgfGFW72gqgg*
gMkgfGl _
gMkgfGns.
gMkgfGpWY
gMkgfGv;
gmkgfGy2
gM[[[k[[[i[[[
gM[[[K[[[O[[[ri!dO[[[J[[[
GMKSC]XX[
GMKZAMHKMKOCO
GMKZZ[Y_JS[GKBGHBJQSFXAXZN
gM[[[l[[[c[[[
G]mL[[[e
_gMlgfG_
gmlgfGGH
_gMlgfGhqx
@GML_@JL
GMLJLXCO
GMLKXSBK
gmllllllllmllllOllylm
|GMLO@GLM
GMLPLE_]C]B
)))@GMLQFO
@GMLQLMKP@MDF_@LYH]A
@GMLQvA]DvO@ELZ
@GMLQvHEEFJH]@FG
@GMLQvO@ELZ
GM_LSS]CPKC[
GMLXHZXHJOB[AYB
GMLZO__NJXA_[E
gM[[[M[[[A[[[
GMMANPKB
GMMCPYJBHFN
gMmgfGL@N
?gmmgfGV@
GMMHB@JL
G[MMODJ@C[[G
]GM_M_PA_[D@
GMMPOC_C
GM_MPYDMX
G[M@MQNA[D
GMMYSEHQKB
GMNBAHAP_O
GMND]ADYD
gMngfGE:
gMngfGID
gmngfGKnU
gMngfGr"
gMngfGvW
gMngfGw4
GMNLSHN_
GMN@]NB_
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||'||| |||!|||[||||||||||||||| |||||||||||g|||M|||N|||O|||H|||I|||J|||K|||D|||E|||L|||
|||||||g|||M|||N|||O|||H|||I|||J|||K|||D|||E|||L|||
GMNPHCSYP_F[MY
G__M_NQNJEL
GMN[QZYM
G[MNZXCO[Q
GMOAZFEO]J
_G]MOCLY
GMOCOPBY
G_MODGPHN
GMO@E]L[
gmogfG9r!igqgg
gmogfGFdH"gqgg
)gMogfGH
gmogfGz!s
GMOGGANOKN[
GMOJ_YXXK
GMOKZSODMKP
.)))GM@OL
GMOSG]S[
GMOXCNSHO
GMOZMGJPJOBG
G]MPDD[OJ]
GMpgppepq
GMPHKN[NKE
GMPH[XYC@A
GMPLSLMY
GMQAYXK@OEJ[C@FX
GMQ@NPQJL
[[GMQODZZB
@GMQr_Ev[LN@Z][P
GMQZ]MDGGSCOHD
gM[[[_[[[r[[[
gMrgfGdg
gmrgfGlg?AgqggJ
gMRn0CQn0
GMSAOE_DL[PKP
gmsgfGh*
gMsgfGpp
[[GMS[P]
gmSpgppepq
gmSSSSSSSSSSSS;
GmSSSSSSSSSSSS
GMSXDCLA
GMSZDL[HMD
GMSZSJ]NO
gM[[[t[[[
Gm@@@@@t@@A@ACac
gMtgfGgZ
gMtgfGhfb
gmtgfGwu
gmTgfGy_8
gMtgfGyB
gMtgfGZT
gM[[[U[[[
gmugfG)1umgqgg
:gmugfGH
:gmugfGR
gmugfGw?5igqgg
gM[[[W[[[
gmwgfGT.
GMX_DMOA
GMXXKPHP
G_MXXODGL
G]MXZMNZCEY_Y
G_M]XZSYK
GMX_ZZMDNNPHN
GMYBE_FZEOP[ZY_
G]MYE[XE_
gMygfG)p
[GMY[JDF][L]
]GMYMJXGM_K
GMYSBYEOQ
GM_YSQZ_QZCKP
GM[YXHXMAC
gmy)yyyyyyyyyyyqfmySyyyyyyyyyyyMfmyKyyyyyyyyyyyIgmy
gM[[[z[[[
gM[[[Z[[[
GM_ZAHHHQSM
@GM@ZALEE
GmzGmGG1_E
GMZHGBEAMM[
|GMZJ[vo[LHBS
@GMZ@MLG
@GMZ@MLGhJ]@_@]P
G)))MZOCGZMBCvZMO
GMZYA]CQ
GMZ@YF[]HE
@GM[@Z]YH
GMZZBHMQD[P_
g_[[[n[[[
g_[[[N[[[
)))][@GN
gN[[[1[[[*[[[
gN[[[?[[[2[[[
gN[[[4[[[)[[[
G||n@||8
gN[[[a[[[
GNAA[Z[H]BPG
g@NA]dH[L))
")))G@NA]DH[L
g@NA]DH[LYP
)))G@NA]EFJB
g@NA]E@LZhJ]@_@]P
GNAG]CPXPLD
GNAHJPLC
GNA[KLJJQ
GN]AKSC@YKFAM]ALBYHHDYB
GNAK_YNJPPLD
((@GN]ALD][YE
GNAP]ZFF
?)))GNAZALEE
GNAZONXY
gN[[[b[[[
]GNBABYQ[@L_S
GN@@@@@BA@gpt@@@@@Zx
GNBCZSPS
GNBGDGAOSF
G]NBSCNB
GNBSQY_[JJLA
gN[[[c[[[
GNCD_HMHXNHZ
GNCLCYCZ
G[NCLJSMBMJ
G@NCLZCDE_S
[@GNC[OSEY@Y
GNC_QEAG
GNCXCMYED
GNCXLSQNEN[G
gN[[[D[[[
GNd@[[[![[[
GNd[[[[6[[[5[[[
GNdA[[[w[[[v[[[5i
GNdF[[[6[[[
GNdF[[[I[[[
((@GNDF_LM@
gNdF[[[W[[[m[[[
G_ND[JL]HZX
GNdL[[[|[[[
gNdM[[[-
GNdM[[[E[[[	[[[
GNdV[[[f[[[
GNdV[[[g[[[
GNdW[[[	[[[
GNdX[[[B[[[
GNdY[[[l[[[
GNDYS[QJDQ_
GNdZ[[[i[[[
_gN[[[e[[[
GNEBS[KG
((GNEHKLE
GNENQHHLZXD@CDXPO
GNESDGYJG[
.)))@GN]F
GNF_A]O_
GnF.FrK1K
[@GN]FGL
GNFNFE@iK@J]
_[@GNFO[LL
G_NF[PBASF
GnFQFWFGF*F
GnFVFEFyyy
GN]FZH@Q_CCN
gng3kgfG
[GNGAM_QJ
GNGBZYAQ]D_
GNGDCBGJDBB
GNGECYMGA
GNGEGOMMMMMOMMMkG
.g-ngfG.
g?ngfG;!
]g;ngfG6
g!ngfG91-
g'ngfGBzb
g#NgfGE8
g?ngfGF-
g)ngfGFg
g]ngfGgE
g_ngfGJ@#Agqgg[4s
g?ngfGJlbqgqgg
g?ngfGk5
g#ngfGm2
g'NgfGpP
-g'NgfGq5f
g'NgfGrC
?g]ngfGS
_g?ngfGTz
g[ngfGuIB
g[ngfGW.
g'NgfGz8 
gNgg23EB
	gNgg7eV
	gNggevFSO
g'NggGcD
gNgggKb]J
g!ngGigfG
	gNggjK[
gNggMzh 
gNgg!)sJ
gNggWK4A
GNGJXJCYHHP
GNGJYXOJQ]ZL
GNGJZZX_AKBH
GNGKKKMJ
]gngKrjxP
G_NGNXCB
Gn?gqgg7t
]]GNGXMY@O
GNHCMDXFGZP
G@NHQYSJG
GNHXBPNP
GniggGxE
gN[[[i[[[h[[[
gN[[[i[[[h[[[A"
[@GNJFML
GN[]JGQ]Z
GNJO@LHJPX
__GNJOQH
GNJZNXZMGLBYY]X
GNJZOPGGY
GNKJ[PJMCJJ[SF_M
GNL_A[GQ_
GnLbJp7T
gN[[[l[[[f[[[
G]NL]JFG]LQ]]A[LHM
GNL@LACE[
GN][L_LHYM
GNllllllllmllllOllylm
!gNllllllllmllllOllylm@R
G@[NLMHSHB
gN@@@@@@@@Lp@i
((GNLvO@ELZvOFF]Y[@G]
gNLx:|rV
G)))N[LY
_GNLYDSL
GN]MAOO]ZCY_AEY
GNMBGD[N
@GNM@[LJ]
GNMN[_NN
GNMPDP_]
GNM[PHYSZOHHP
GNM]XD]OQ
((@GN[MY
GNMYZDDJ[PLELGPL[FC
G_@NM]ZNQJJMHBJQ
GNNJZA]LJFHL
gN[[[N[[[M[[[
GNNMHKQ_DDXYXZL_
GNNOZCNK
GNN[OZS_C[
GNNPKKBANC
GNNZFZ_P_L
GNOFF]OLZ]NZ[B
GNOGNKJFAXP_
GNOJACBBY
GNOLKPLYZ@PJGOOM
GN[OM]APBDQ
][GNONDC
!gNpgppepqBd
G@NpgppepqH
G_NP[[KCC
GNPMZHGNKZ
G_NP[O[]L
G[NPPG[M
]]_[GNPQKKD]
_GNP]Z_AZ
GNQAOQFL[F
G@NQNY_PZHQ_PK]
[GNQOODLY_OD[PMZYZ
[]GN@Q[_QG
gN[[[s[[[
GNSOMYLGYOD
gN[[[T[[[H[[[J
.gnu_debuglink
.gnu.hash
.)))@GNuM
gN[[[U[[[u[[[
gNU@UBUv
.gnu.version
.gnu.version_d
.gnu.version_r
gN[[[v[[[
G||n@||W@||4@||
gN[[[W[[[T[[[0o
GNwYwO_w_wJ
GN[X@HAGHLQKJ
GNXJY[XQJXKDZXDH
GNXQHPAJLYKNEYC]KA
GNX_QOKLPX
GNXYK@SBXZDHNQ
GNXYSBC[
GNYHDJ@Q]AA
GNYH__YSYE
G_NYJEJ]P
GNYNN[SPZ_BEHY
]GNYYLKMXQB_
gN[[[z[[[
GNZALEE@O
((@GNZ]FNL]@]Z_L[Z@FG
@G@NZ[GQGSPX
GNZKGG[P@B[]AEAG
G_NZL_OSD
GNZMQLPFG[J_NL
GN_ZYBJJ
gO[[[	[[[
gO[[[ [[[-
go1!mCSSS
G_OAACYHN_
GO]A_CMGD
GOAE]OO_G]
gOagfG60
gOagfG")D
gOagfGk)
goagfGr9
G@OAHBDB[
GO[@_AJ[Y
GOA@MNC[C@HS[J
GOAMPCKKM
_GOA_S@OX
GOAYZHZDAHJ
GOAZSXLX
g@[[[o[[[b[[[
GO@@@@BAA@2 @y
gObgfG[(
gObgfG2.
gObgfG7QF
gObgfG8sw
gObgfGbe
gObgfG]c
gobgfGcR
gObgfGho6
gObgfG?K
go|bgfGSO
@gOBggwB_)
"gobggwD
_GOBLLKHLMJ
G@OBPQNY_HOQ
GOBP]SGBG
GO_BQPBCG
__go_buildinfo
GO@B]XDY
G]OBXJEMY
GOBZYZAGMBYSMXB_[]
gocgfG*-
!gOcgfG"
Go]cgfG;0C2gqgg
(gOcgfG3
"gOcgfGE
gOCgfGhl
gocgfGJ7
gOcgfGJM
gocgfGJZlIgqgg
gOcgfGlE
go]cgfGlk
gocgfGM?
gOcgfG-n
gOcgfG	O2
gocgfGSM
gOcgfG"w
gOcgfGZB
gocggGgI]
G]OCGJEA_C
G@OCHHONNMJNGY
GO[_CMBNQK
G]OCOESFXDDE_
G_O[DBNSJY[O
godgfG	@
]'gOdgfG
gOdgfG:|
gOdgfG[|
]godgfG2
gOdgfG[M
godgfG]q
:godgfGxU
gOdgfGz4
GOdI[[[A[[[
GODJGLAZ
GODL]LAOPOYD
GOD@@PLO]
GOD[SJ]YN
gOdX[[[O[[[C[[[
 "gO[[[e
GoeA[[[![[[
goegfG((
goegfGHI)
|gOegfGJ#
goegfGM.W
goegfGO|
gOegfGO[
gOegfG!W
goegfGwD7
GO@EK@OGO
g)))O@ELYH]A
Goe][[[n[[[
GoeO[[[T[[[C[[[
GoeO[[[w[[[u[[[
GoeS[[[k[[[
GoeT[[[y[[[q[[[
gO[[[E[[[w[[[7
GoeX[[[g[[[e[[[
gO[[[E[[[x[[[";KdU[[[D[[[
goezJF[LKFH[MhJ]@_@]P
gO[[[f[[[
:)))@GOF
@GOFAPK[@M
@GOF[DH]@B
@GOF[DH]@FG
@GOF[DH]@FGLG
)))@GOF[DHJ@G@DYF[]HG]L
@GOFDLM@FZ
@GOF[DLMJFGZLG]O[FD]AL_@Z@]F[
@GOFEFBL[JYGZ
#)))@GOFELHB
;_'gOfgfG
)GofgfGb
gofgfG@i
gofgfGJc
gofgfGz#
.gofggGP
gOfggG;Z
GOF[GSMGBXGFX
@GOF][HOO@B
@GOFiB[HLKL[
@GOFiHMFKLZJ[@Y]@GN
@GOFiJFEDLO
@GOFiY[FO@JFDDZ
@GOFiYLHB
@GOFi@ZLMFGE@GL
@GOFJLY]
@GOFLQ@]
GOFNQFNXPQMZNHPZM
@GOFYH]A
@GOFYHGLEv
[GO@GBL_[D
GOGBNDK[LCP
GOGDMAYB
GOGEQ@NBO_
'g]ogfG[
g;ogfG!?
g?ogfG!|
g?ogfG*?1
:g;ogfG1G
g_ogfG8)
!gO"gfGa
g?ogfGaY
?g]ogfGc
g	ogfGIw
gO_gfGJwa
g!ogfG'N
g]ogfGqe
g'ogfGQV
g	ogfGRbZ
g#ogfG RC
G#|ogfGS
g'ogfGu6
g-ogfGY!
gO|gfGz!
g-ogfGZg
GOG[FSMGLLMBY
gOggCyGQ
;	gOggfw
gOggfwB-"
gOggfwbvy
gOggfwQ.
gOggm3-*
g[oggw6	
gOggxD@Q
gogIuggw|
@GO@G@]L
')))@GO[@GNLDLG]
]gogNrjxP
G]OG[O[EN
gOgqggj"@
?gOgqggu
GOGSSP@YPCG
GO]GXAZ[Y[GKHD]BAX
GO[GX[KYZK
gO[[[H[[[
GOHB_NEL
GOHDLQ[Y
GOHDN@LXM
@G@]OH@ELM
_]GOHH[K
g)))OHJLQ][HML
@GOH]][@K
)))@GO[HZL[@HE@SLMH[[HPr
GOigqggEJn
gO[[[i[[[h[[[
GOJCGEGA
GOJDLZZHNLKFH[M
?.?gOjgfGC
gOjgfGJGG
gOjgfGP.
gOjgfGt_
GoJ[[[J[[[
][[GOJS_CAXN
GOJv[LHML[
GO[JZN[ECCSA
[[[gOKdC[[[
gOkgfG20
gOkgfG*a#
gOkgfGda
gokgfG!DUMgqgg5r
 gOkgfGE
gOkgfGIM
_gOkgfGjA
gOkgfGmd
gOkgfGn?
|gokgfG[o
gOkgfGpT9
gOkgfGsD
gOkgfG@T
gOkgfG|@T
gOkgfGzf
GO_KKSPQ
GO_KSA[GC_
gO[[[l[[[
gOlgfGMr
"gOlgfGZ
|GO[@LGMjALJBL[vDH@G
|GO[@LGMjALJBL[vHGP))
|GO[@LGMjALJBL[vJA[FDL))
GOL[HB[XLGO
!)))@GOLJ]
@GOLJAFFYLG
[GOL]JAKEFK[LX
@GOLJ]DH@GM[@_L
")))@GOLJ]@FG
?)))@GOLJ]@FGFYD@]DKHZLM
)))@GOLJ]@GN
#)))@GOLJ]LM
@GOLJ]LM
;)))@GOLJ]LMFKC@GMLQ
@GOLJ]LMG
@GOLJ]LMGJM
@GOLJ]LMKPGLNY[FDF
gOllllllllmllllOllylmZ
g][[[O[[[L[[[MJ;dM[[[N[[[
)))GO[LNM[_
GOLQOZGDNGPP
_GOLQPM@ZEC]@DG
gO[[[m[[[
GOMCJB_XMKCNEJ
GOMEGMMOMMMOMMMOMOMMMOMOMMMBP
GOMEGOMMMOMMMOMMMrG
gomgfG6b
gomgfGQ|
gOmgfGx@
gOmgg3fgfG
GOM_GOMOMZG_GOM
GOMLSCMK@BHA__BY]M
GO]MMEP]]J
GOMMMgOMMOMMM*YMM
GOMMMOMMM
GOMMMOMMMOMMM
GOMMMOMMMOMOMMMOMMM
gOMMMOMOMOM*Y*YOMMMMMMMMMOMMMOMopMM*YMMMMgOOMMMMM
GOMMM*YMMOMTGPJ
GOMOBDE[
GOMOMMMOMgk[h6Y
GOMOMNGNG
GOMOMOMMM
GOMOMOMMMOMMMOM
GOMOMOMMMOMMM*YMMOMPJPJPJ*YJr
GOMOMOMMMOMPJ
GompmpmZGvm
gO[[[M[[[r[[[8
GOMSEZQJH
GOmSSSSSSSSp
_GOMXAFH[N[N]YBDHQLAJ
GO[NCGJM
gOngfG4?
gongfG6s
gOngfGsI-
|gongfGv
gOnggwya
[GONLXSAE
gO[[[N[[[M[[[
G[ONMFKB
GONMX]QBX
GON]MZFF[
***@GON@O
GONXM[LY
G]ONYKDN
gOogfGgh
gOogfGk0
gOogfGnr
:-googgG
;googgG"
?_googgG
googgG-"
googgG0#
googgG0@R
googgG1)
googgG4z
[googgG5
googgG*5m
:googgG6
googgG8J
googgG9@
googgG9V
googgGA?n
googgGBc@
googgGc4
googgGCPm
googgGDQ
googgGEp0
googgGfs
#googgGG
|googgGK
googgGKk
googgGlZ2
googgGMd
googgGpu
googgGQh
googgGrP
googgG(S
googgGSg
googgG)Sh-gqgg
googgGvZ
GOO@L[J[
GOOXY]HY]MY
GOOZNZQKBKMAACB
G||o@||P@||9@||
.gopclntab
@GO[PCQ[B
G@OPEAXOXQGBDO
gOpgppepq
GOPHZCGB
G]OPMGJ_NZ_XE
GOPN]@DP
GOPQGOHGL
]GOP[ZGQX
GOPZZP@O]
gOQBYDsSSS
GOQGKPMH
GOQLPNQJ
G_OQSBYE
GOQSPNGML
GO[[QYYLXYDG
]GOQZAPN
|gorgfGJu3pgqgg
goSdM[[[
]goSgfGl
GO_S_LBB
G]OS[OMZ
gO[[[S[[[R[[[M
.gosymtab
got exception
.got.hash
gO[[[T[[[N[[[
@goto BVOne
.got.plt
gougfGHSS
gO[[[U[[[H[[[
[GoVbgfG
gOvgfGn[
govgfGRu
gowgfGOO
"gowggGl
gowggGl)
gowggGOB
:?gOwggGV
gOwggG:y
gO[[[W[[[V[[[
gO[[[X[[[
GOX[BOESGNDQMBOLLMY]PPAX
GOX]_DMHOMNS]PZ
GOXGMAL_@O
GOXMDHYYOL
GOXPCLJB
GO]XZG@XPXSPZND
GOYBDM_PPSB
]_GOYKYKS[
GOYM[HQJ
GOYMK_PO
GOYNQB_JLCYODN]
GO[YOQDNQF
G]OYP[NYMG
GOYYBMLAPXM[D
gO[[[z[[[
;gOzgfGM
GOZKFZFBKPB
GOZMQEJK
GOZNNGNSZL
GOZNNSZH]X[DY_P]@XCKP
gO[[[Z[[[O[[[
gO[[[Z[[[O[[[u
GOZQACPDL
GOZQK_AB@
goZRSSSSS
GO]ZXY]XAHPJAZBPQNC
(g@[[[*[[[#[[[p
_gP[[['[[[
)))]G_@P
GP3llllllllmllllOllylm
gP[[[A[[[
gPAAAACQ@AIqA
GPACGDH]PYYA
G_P[ACJX
GPAE[MYDHH
GPAF_P[LMBX
GPAK@HF[K
GPAMKX[SDC
GP_A[QXZJZSHP
GPAXHHLJ
GP_AY[MAXB]
G]P]AZFF]KL
GP@BKDQQAJM_
GP_BLYO_DCH][][G
G-PBpgppepqe
GP]BXBHJMZ
GPCABQKMNXO
GPCA]GDF]
g-pcbReadW
[GPCH]C[GP
GPCL_O[EHQ
GPCP[APLNPHZMBEYSA
GPCXBJOMY
GPC]Y]Q_B[S
GPDADQFXZO
GPD[ALXB
GPDBNOZJ@OX
GPDBSSJZJB
*gPDceLE
GPDDXZGDB[
GPDGSQOD
GPDH_JQC
GPDKCC_LK
[[[g.PdL[[[
GPD_L[CSN
GPDLJZYEJ
GPDNCA]KPJ[D]LF]N
[[[g.PdO[[[
GPDOEPHJS
[[[g.PdQ[[[
g.PdU[[[
GPDXFHYCHM
GPdY[[[n[[[
GPEJQZHP]
@@@@@@@@gpE@@@@@l
[GPEQ[HMQ
]GPEQPNYH[CZP]N_KOZYKHO
GPES[GEQ
GPES[SAQ[NP
Gpextension
GPEZSPQXYOD
GpFaFVF1F.F
GP fault
GpFfFSFAF4F
gpfile.cpp
gpfile.h
GpFkFYFWF
GpFmFyyxy
GPFPAEGXZDGMKZXQS[
GP[FY[OGDSXP
gpg#agfG
gPgakgfG
GPGCHZSXOFS[E[AQE_J]
gpg!egfG
g[PgfG	d07gqgg
g#pgfGOk
g'PgfG[w
@@@@@@@@gpGFu
gpggfGk'
g'pggG!)
gpggwggGa
GPGGXASD
gPgIngfG
GP_]GLMOKJ[HMXGO
	gpgppepq
'gpgppepq
)gpgppepq
?gpgppepq
[!:g( pgppepq
_gpgppepq
g#pgppepq
g@pgppepq
gpgppepq
	Gpgppepq
#Gpgppepq
*Gpgppepq(
;Gpgppepq
?Gpgppepq
[-Gpgppepq
_Gpgppepq
G#pgppepq
G*pgppepq
G]pgppepq
Gpgppepq
Gpgppepq'
Gpgppepq?
 Gpgppepq2	
?Gpgppepq2n
gpgppepq97
Gpgppepqe
gpgppepqG9
gpgppepqGJ
gpgppepqi
gpgppepqJ8 
Gpgppepqk
G-pgppepql
Gpgppepql
gpgppepqlq[
Gpgppepqm
Gpgppepqo[
gpgppepqq
GpgppepqQ
Gpgppepqr 
Gpgppepq.R
gpgppepqS
GpgppepqT_
gpgppepqtY
Gpgppepquh
gpgppepqV
Gpgppepq W
gpgppepqX
Gpgppepqx
gpgppepqY
-Gpgppept
Gpgqgg	D
Gpgqgg'Q
GPgUkgfG
*gPgwdgfGL7
GPGX[M@X_
@@@@@@@@gp@H-
)))G@]PHAHGM@J[HO]Z
@@@@gpHG
gPHGhJ]@_@]P
GPHXASG_
GPHXPNPC
GPHZHAA[H_N
@@@@@@@@gpi@@@@@
 	gpigfG
@@@@gpIH
g||pj||0j||
@@@@@@@@gpJ@@@@@)E
@@@@gpJJ|
@@@@@gpJJ!X
G]PJOP[X
GPJSMXQ]ZAX
GPKDP[SCN
@@@@gpKG
G_PKHFG]XNDSJOXZ
gP[[[k[[[j[[[
gP[[[K[[[J[[[
G]PKMEBH@
GpKOMMMOMMMOMMMOMOMMMOMMM|GPJPJ*Y
GPKPF[YGHC
@@@@@@@@gpKR
@@@@gpKR
@@@@gpKT7j
G[PLEDAP
@@@@@@@@gp@LI#
GPllllllllmllllOllylmo
]GP]LQOOSGFQCQ
GPLSAPHPLXOCE
gP[[[m[[[
GPMJJOAYXYHK
GPMJK]_YG
GPM_MO[SB]
GPMY_N[HSBFNH
g][[[p[[[n[[[ 
@@@@@@@@gp@N
GP[NB[L[C[F
GPNCSPE_YZ
GPNE@ZM@BG
G_PNFOHLJHAAJYYPB
gP[[[n[[[g[[[P
_GPNNGJF
GPNOJPLJOS
GPNZNNCLA_
@@@@@gpO@@@@@
GPOBBEOQ[KX
gpobject.cpp
gpobject.h
G[[PODC_D]
GPOGPQYQC
GP[_OGZJ
G@P]OHXLCOZ
GPOK[]OX
GPOLX[HPSZCXPZDD
GPONJGNHJN
GPOPC@BYZ[AJ
GPO_Z_CP[JHGGYBJD
GP]PBQSK
GPPDBZXL]BO
GP__P][DQNG
GPPEDDM[_Y
GPPEM[[NA
G[PPGMDJOZ[NS
gppgppepqR
g@@@@@@@@PpJGu
GPPllllllllmllllOllylm
GPPODPHLZYBL]EO_AAP
]GPPOJMDBYPC
g@@@@@@@@PpP]
GPPX[D[BNG
GPPXPSCX_CBQCCBL[C[OL
@@@@@@@@gpQ@@@@@:
GPQAGOOA]PKSKBLN
GPQAGSQE
GPQBOZHHKD
_GPQCZBJPE
GPQHMQQHQQ
GPQ[HY[YOZJS
GPQ[JBMB[_DHDD
GPQO_SPJCMD
@@@@@@@@gpQP
GPQPYDYZNN][O[
GPQXXZQA
GPQY]KDOEJ@
@@@@@gp@R
gP[[[r[[[v[[[
GPSCSBCPKC
GPSD]CJB
@GpSHELL32.dll
GPS'pgfG
gPSSB]BNL
GPSSS@SrI?YRSs
GP@S_SYBJMHNXGF[ZYB@BAK_@A_
G]PS[XGSZ
GPSZCOXM
@@@@gpU@@@@@
GpuUtilization
gPUxRFYBWDhkRSSBWKh
]@GPvDJL
:)))]@GPvMMvDHN@JvH[N
@@@@@@@@gpW@@@@@
@@@@@@@@gp@Wdg
g"pwl"kl
@@@@@@@@gp@X
@@@@gp@X
GP@XDO_@_P
G]PXEMHS
GPXF]FEJGP
GPXGHPJMKDHNG
GPXJQQG[PA
GPXLCHDQXOG_
G_P@XO[O
@GPXPJ@]LE
GP[YAMQGPKS]P
|G@]PyEHPL[gH]@_LhJ]@_@]P
|G@]PyEHPL[hJ]@_@]P
|G@]PyEHPL[y[FQPhJ]@_@]P
GPYEYHHC
GpyJFpy)Fpy
G]PYOY_SMZB
GPYSOAMA
GPY]XLXLMDL
gP[[[Z[[[
GPZCEPJZY
GPZDPCPJ
GPZGM[JSYK
GPZJKBBPF
GP__ZMGJ]BGNG[[
GPZN_QZESSCGQ
GPZO_D]G
GPZSDNGMZ]BC
GPZXOKM@EK]_DLK]FDJEE
GPZXZGYSLCDCL
g@[[[q[[[
gQ[[[-[[[
gQ[[[|[[[
GQ3_]07:D(
gQ5llllllllmllllOllylm
gQ8gYegfG
gQ[[[:[[[8[[[p
_GQAAEQCM
GQA[B_OF
gqagfGaP
	gQagfGd
[gqAgfGp
gqagfG.q	
GQAHPMKX@
g@QA]HUBW
GQAJGNPP
GQAKG[B]BG
GQANMX@PC[S
GQANYJBE
GQAPMCL[_
G[QA[YD]_
"g[[[[Q[[[B[[[
GQ[[B]BA
"gqbgfGB
"gqbgfGi1
]gqBgfGK
gqbgfGO-B
"gqbgfGxW
@GQBGLGsSSS
@GQBGsSRSSsSSS
GQBJPPPQ
GQBP]J[PJ@AY
GQBQDMZHNBG
g?QBTL_sSSS
GQCA_AXNC]OD
]G]QCDHYBZJJQC
gQcgfGnF
[gQcgfGr
.gqcgfGu
gqcgfGyZ
gqcgfGzd
GQC_LCAJ
GQ]CQA_C
;gQ''d[[
gQ[[[d[[[
gQ[[[D[[[
GQDC[XCYO
.gqdgfG	
gQdgfG2d
]gqdgfG5pUzgqgg
gQdgfG7K
;gQdgfGE
gqdgfGjudJgqgg
gqdgfG t
gQdgfGySy
gQdgfw9R
@GQDLJJESGY
#)))GQDLO
G@QDMY]A
[[[g#QdQ[[[
GQDQSEBX
gQDyEyPcPSYSSSSSSSPQLK9
GQDYGH_SCM@]
GQdY[[[S[[[
GQ[ECJ[CCXZBBBJ
gqegfG2nO
gQegfG7_
gqegfGG?n
gQegfGJG
	gQegfGWH
gQegfGyFmO]Y]]?]]
gQegfGZF
gQeggwBo
gqeggwL2
GQEPDXAMOOQ
[gQEyB[[
gQEyB_BWI
gQEyBNB@
gQEyLBAXs
gQEyQBVUsSSS
gQEyTAMJ
gQEyUAMK
GQFDHMQ_
GQF?F)Fyyy
g)QffGLn
gqfgfG(!?
_#gQfgfG
gqfgfG25lYgqgg
|gqfgfGa
*gqFgfGB
gqfgfGm?
gqfgfGO5
gqfgfGT	
#|gQfgfGu
gqfgfGv"
GqFiF9F1F)F!F
GqFiFXFPFCF;F*F"F
GQFJFGFyyy
GqFmFeF1F
GqFmFgFQFKF5F
GqFmFUFAF)F!F
GqFuFUFIF)F-F
GqFuFYFIFMFAF)F-F!F
GQFVFAFyyy
_gQ[[[g[[[
GQGBOKO]HFQD
_G@Q]GDJ[K_X
gQ[[[G[[[E[[[
"g?qgfG!
g	qgfGAPi
:g'qgfGB
|g!qgfGB6_"gqgg
gQ#gfGcVypgqgg
g?qgfGiUM
g'qgfG.jZ
g)qgfG(k
;g?QgfG"L
g"QgfGQ"
g[qgfGt]kYgqgg
g'qgfGzj
	'	gqgg!
     gqgg
#?!gqgg!
''@@@@gqgg
(gqgg#"-
*(gqgg#	
*)!gqgg)
."]gqgg!
.@@@@gqgg
:?)gqgg 
;??gqgg!
;_.gqgg!
;gqgg-@!
?#_gqgg'
?gqgg? "
@!?gqgg!
@@@@gqgg
@@@@gqgg[
@@@@gqgg|
_@:gqgg!
|*(gqgg!
gqgg.!@:
gqgg@!;@
gqgg[?! 
gqgg]@"#
gqgg_"'[
@@@@gqgg0
 gqgg02s
.gqgg	04
gqgg05Gi
 gqgg0-7
|gqgg0-7
gqgg0g#!
gqgg-0l7
[gqgg0L7D8
gqgg0nNo
gqgg0qZLK
gqgg*0[V
gqgg0ySb
 gqgg142!k
	gqgg15#
*gqgg15nh
gqgg16)O5
gqgg1#(8
gqgg1A22
gqgg!1BQ
gqgg1EEx
gqgg_1es
gqgg@1fB
gqgg1Gdh
gqgg @1Im
gqgg1:k4
[gqgg1lZ4
gqgg1OVug
gqgg1P1l
gqgg1XXv
gqgg1Y2]
gqgg1;z 	S
!!gqgg2 
#	gqgg21
gqgg28NS
gqgg]2j"
gqgg;2jh
gqgg@2[O
gqgg2]_XQ
gqgg2yI[!
'gqgg@|3
[;gqgg3_|
;gqgg31-
gqgg3ag|
gqgg3c"8
gqgg3D:#W
gqgg3_eP
 gqgg3g!
gqgg3gsF
gqgg3LG#
gqgg3LP4
gqgg3m*SH
gqgg[3O4
gqgg3oNc
.gqgg|3T P
gqgg3up8y
@gqgg3vA
)gqgg3W[
?gqgg3X;ibY
#gqgg;3Z
gqgg@4" 
gqgg46"C
gqgg4c(d
gqgg4HJN
gqgg4HJNU
-gqgg]4(K
gqgg@4K2
gqgg4l*Hb
gqgg4	N_
gqgg|'4p
@@@@gqgg4Q
gqgg[4?u
gqgg4Vm0
gqgg4VPcF
gqgg@4|w
.gqgg4Y4|
#*gqgg	5
@@@@gqgg5
gqgg53Q|
gqgg"5[6
gqgg57I@4
gqgg59a'
gqgg5AIi
gqgg5!Gh
gqgg5Gn5
gqgg5KsA4
gqgg5L:N
gqgg5N6F
gqgg5n#NQ
@ gqgg5P
gqgg5qGv
gqgg5sJd
gqgg-	5t
gqgg5uwKALd
gqgg5Vnx
gqgg5VR7
gqgg5V'Z
gqgg5X046
-gqgg5)Y.
gqgg6	([
gqgg62w"
gqgg6arF
gqgg6FaX
gqgg-6fo
	gqgg6FR(
@gqgg6FX
gqgg6G:r
gqgg|6hLL	
gqgg6JnK
gqgg'6?kzz
gqgg6l74
" gqgg6o1
 gqgg6	p
gqgg6-R.|
gqgg6SUo
!;gqgg6T
gqgg6XP4T
gqgg6y2(
gqgg6ZlE
(!gqgg7[
-_gqgg7[
gqgg7#	3
gqgg73KG
gqgg76Ra
gqgg7Ce)
gqgg7d53_
gqgg7DQo	nv
gqgg(7EFlX
gqgg7'Gb
gqgg7mPWy
;gqgg7mVw
gqgg7RH2mJbn
gqgg7TP#
gqgg7Yn(
??gqgg7Z-
:gqgg8)!
gqgg81eM
gqgg@8)2
gqgg84uaf
gqgg8Fah
gqgg8.*h
gqgg8I-xK
[gqgg8Lg
gqgg]8ne
gqgg8:*o.
gqgg:8sJ
gqgg8T!:
gqgg8V3r
"gqgg["-9;[
gqgg.	9|
gqgg90sG
gqgg'96X
@gqgg97Vw4
gqgg9-9vDz
 gqgg9bN
gqgg9G1)
-gqgg9KZ
gqgg9l*)
gqgg9rkSf
gqgg9sf7
gqgg)9*VE
*gqgg9YX
gqgg:9zs
gqgg#;a.[
gqgg" #A
_**gqggA 0_9
]'_gqggA1C
gqggA!"3
gqgga37w
gqgga#4Ua
gqggA5BR
gqgg]a5I
gqgga'@A
gqggaaV*]"t
gqggaazr
gqgg]adG
gqggaeWGM
 gqggaFY
gqggAGyj
gqgg"A(H2p
.gqggAJC
;gqggAjk
gqggAk06*
gqgg-;aL
gqggaMhgJZ
gqggaMK#h
gqgg@AN)7E
gqggan7iM
*((gqggAO
gqggA]|oQ
gqggAOQa
@.gqggaq
gqggaQ#v
gqgg#AR.p
@@@@gqgg'asg
gqggaStv
gqgga-u*
gqggaUfw
gqgga*WA
[?gqggAx
gqggaX	b
?gqggAze
?gqgg*	b
'_gqggB"
?gqgg.B'
gqggB|?0
;gqggb1P!U
gqggB2VAcIEJ
gqggB6ooM
gqgg[B"7
gqggB80YV
_[gqggb!A
gqggbA4J
(gqggb*b
#gqggBDo
gqggB_EV
?gqggBeVL
gqggbf)g
gqggBFG#
gqggbGAo
gqggBGuA
gqgg	bgw8
).gqggBi
gqggb)j3zkBO
gqggB|(k
gqggB!MS
gqggbN U
gqggBo.w
gqggbr3C
[]gqggBS
gqggBtss
	(gqggBu
gqgg)b!V
*gqgg)b!V3
gqggbVFgH
.gqggBW(
gqggbW36y
gqggBYhtO
gqggByQnz
gqggbZBz
gqgg	!-c
!gqgg"(C
*((gqgg'C
[?gqggC	
gqggc|00
gqggc5	r
gqggc5y9
gqggC7TA
gqggc9]Y
gqggCafPU
gqgg"c	av
gqggcCGJG
:gqggc'f
gqggcfB;
gqgg#CgI
)gqggchIt
'gqggCM"
gqggcN0*bp8j
gqggcN0vH
	gqggcnuD
"	gqggcnuD
#gqggcnuD
(gqggcnuD
)gqggcnuD
.gqggcnuD
.gqggcnuD 
:gqggcnuD
?gqggcnuD
?gqggcnuD!
@gqggcnuD
]gqggcnuD"
_gqggcnuD
gqggcnuD
gqggcnuD	
gqggcnuD 
gqggcnuD!
gqggcnuD#
gqggcnuD)
gqggcnuD-
gqggcnuD.
gqggcnuD:
gqggcnuD;
gqggcnuD@
gqggcnuD[
gqggcnuD]
gqggcnuD_
gqggcnuD2
gqggcnuD4
gqggcnuD4;
gqggcnuD5
gqggcnuD5jZ
gqggcnuD5u
gqggcnuD6
gqggcnuD6tXt
gqggcnuD]7
gqggcnuD?8-
gqggcnuD_8
gqggcnuD8
gqggcnuDA
gqggcnuDB
gqggcnuDB4
gqggcnuDc
gqggcnuDE
gqggcnuDf
gqggcnuDf|
gqggcnuDf6
gqggcnuD?FL
gqggcnuDG
gqggcnuDHk
gqggcnuDj
(gqggcnuDJ
gqggcnuDk
gqggcnuD)K
gqggcnuDk4
gqggcnuDl
gqggcnuDl@
gqggcnuDL
gqggcnuDli
gqggcnuDM
gqggcnuDM(
gqggcnuDng[
gqggcnuDQ
gqggcnuDqN
gqggcnuDs
gqggcnuDS
gqggcnuDSOI
gqggcnuD.t
gqggcnuDu
gqggcnuDU
gqggcnuDV
gqggcnuDW
gqggcnuDx
gqggcnuDx(])
gqggcnuDXB
gqggcnuDY
gqggcnuDY7
gqggcnuDy97
*gqggcnuDyw
gqggcnuDz
gqggcnuDZP
gqggcnW-
gqggcoPB
gqggc-P's
gqgg"	Cr
gqggCTIa
)gqggc.U.
gqggc|Ue
gqgg)cU)i
gqgg]"CV_
gqggCV|A
gqggcXh'
'gqggcXN
	*gqgg:d
?gqgg'*D
|!gqggD@
gqgg@D!)
gqgg:!d1?
gqggd3'G
gqggd5Oe
gqgg|d6q
gqggDadB
gqggdAgFl
gqggD(B7
gqgg];dCFgd
gqggdc]Y
gqggDdYN
gqggdh5;
gqgg_dlz
gqggdOPD
gqggDOqb
gqggDpsJM
gqggdrH	
gqggds@O_
gqggdtzA
gqggdWpN
:gqggdXL
!gqggD.y
[gqggdzp
gqgge'	:
?gqggE_.
@.@gqggE
gqgg)E(.
gqgge0*1fP
gqggE?0T
gqgge5hp
gqgge6?]
gqgg]E6"a
gqgg#E6I
gqggE7u7)
:gqgge]A
:gqggeC7
gqggEDG-
gqggEEJJ@
"gqggEGD
gqggegIB
"gqggEGZ#
gqggEHbz
gqggeI5!
gqggeIHM
gqgg@eJq!N)
gqggEj.T:u
gqggEkMu
	gqggeL-
'gqggeL-
-gqggeL-
.)gqggeL-
[gqggeL-
'gqggemcQ
gqggenu5!
;gqgge"@oV
gqggEq"b
(gqggEsA
gqgges_OU
gqggES(XA
gqggE;:t
#gqggeTX
gqgg]eVe0
gqgg@EWe
.gqggeZo
gqggEz;u
gqgg].f.
*gqggf2bLle
 .gqggF2X
gqggFb**
gqggf*bK1FQ
gqgg?F#cI
gqggFE4C
gqggff7i
"gqggF)fa
*gqggfG"
|gqggfG1
gQggfGE'
gQggfGje
gqggfGn"4
gQggfGTGy
gqggf:I[
gqggFijfU"z
gqgg'fIr
gqggFIsw
gqgg@*fj
gqggf]'J
	gqggf]'Jv
'gqggFKBr
gqggFkyT
gqggFl7#
gqggfL(v
gqggF#*M
gqggfmDn
gqggFNfR
gqggFP)I
gqggFQaw
gqggFQ(QjY
*?gqggfR
gqggF|S8
gqggF|S8*
gqggfULi
;gqggfuU
gqgg_f"xP
_gqggFXV
)gqggFXZ
gqggfYQF
)gqggFyTy
	gqgg]f?Z
'gqggg;"
#gqgg"G?
!'?gqggG0NL[
'gqggg2q
gqggg'5U
gqggg7fI
gqggG88wY
	gqgg'G8i
 @gqgg'G8i
!gqgg'G8i
"gqgg'G8i
)gqgg'G8i
-gqgg'G8i
;gqgg'G8i
?gqgg'G8i
@gqgg'G8i
[gqgg'G8i
]gqgg'G8i
_gqgg'G8i
gqgg'G8i
gqggG9Zxjr
gqgggABr
gqgg!ga.]m
gqggG"BV
gqgg_gE(
gqggG''e;
gqggGE'i
gqgggEjCI
gqggg)ER
gqggg	hp8
gqggG)H R
gqgggHSjS
gqggGiuX
gqggGmBQ
gqgggnRUN
)gqgggNX
	gqgggO9
gqgggoID
.gqggGR)
gqgg!Gt9
gqggGTe@L
*gqggg W
gqgggwd83
gqggGx2O*
gqgggXz W
gqgggYEu
gqggGyHW
*gqgg'gZ
gqgg"GZL
gqgggZN9NA
[gqgg]h-
(gqgg"H"
gqgg;)H_
gqggH??0
gqgg@h1qu2
gqggh33Z
gqggh3YV
gqggH3"Z2
gqggh4pp
gqgg_h9S
gqgghb_n
gqgg.hC)
gqggh CF
gqggH_Ci
*gqggHFrK
gqgghIN".
gqgg|H_j
gqggHJFD
_gqggh?JV
gqgg.HK-m
gqgghnJ6
gqggH.Ns
gqggHOct
gqgghoLM
gqgghpTJ
gqggHQFq
gqgghsO	h
*gqggHsVQ
]gqggHsVQ
gqggHsVQ
gqggHsVQP"f
.gqggHsVQUj
gqggHsVQUj
)gqgg|_hue
gqggHU#hVmb
	gqgghYr
gqgg]hzY
*gqgg.i 
@@@@gqggi
-@gqgg[I
gqgg@.I'
gqgg@.I'_
)gqgg|I0
?gqgg	I0
gqggI0Peqa
gqgg*i5(
gqggi6!?
gqggI.8x
gqggI9.O
!gqggIA1
gqgg@i)b
gqgg:IB_?;
*gqggI-c
gqggicWV
gqggI(DyP
gqggi-#G
gqggi-#G	
gqggi-#G(
gqggi-#G4
gqggi-#G5
gqggi-#GF
gqggign_
gqggi-#GRT
gqggi-#GT
gqggi-#Gv
gqggi-#G|zP
gqggIhAx]
gqggih'X
gqgg#I"I
gqgg(iKwd
gqggilA0k
gqggiLknf'
#gqggIM 
gqggi#m5
gqgg@.I'mi
gqgg(imK
gqggI@Nh
gqgginK'
#gqgg:I NY#T
gqggIRG0
gqggIS!E
gqggiTJg
gqggiu!!
_gqgg[i:V
gqggivno
gqggIWLi7t
#gqggix2
gqgg	iyx
.gqggj"@
:gqggj"@
@gqgg(:j
|gqggJ5	
gqggj6p#
gqggj	8R
@gqgg#JA
gqgg!JAx
gqgg!JAxT
_gqgg!JAxuk
gqggjcVdc
gqggJdnu
:gqggJfj
.gqggJF(q
gqggjfvLY
gqggjg9"
gqggjgEj
gqggjh]K
gqggjjam
gqggJKv4xR
gqggJ[L:
gqggj_M_
gqggj(mp
gqggjnTB
gqggjoE5
gqggjoE5F
gqggjOt4
_gqggJq	
gqgg#-JQ
gqggjQgA
gqggjrcAE
gqggJR-T
]gqgg(jT
)? gqggJW
!gqggJwu
gqggjXY0
gqggjyaY
gqggjYk[
gqgg)j zf 
gqggJZL_
gqggjZT:
#gqgg*k(@
@@@@gqggK
gqgg"k0r
?gqggK3o
gqgg* kB
gqggK#_b
)gqgg-KbP
gqggkC_u
gqgg-kDLp
gqggKE*WR
gqggk;Fk
gqggKgC:
(gqggKi-
gqggK:iR
[gqggKJ)
@[gqggkJK
gqggkjS'
gqgg.k_m
gqggKne8
gqggK[.ngOF
	gQggKO6
gqggK|)r
)gqggkrd
gqgg]kS9
	gqggKSl
 gqggKSl
"gqggKSl
#:gqggKSl
#gqggKSl
'gqggKSl
(gqggKSl
)gqggKSl
-gqggKSl
.gqggKSl
;gqggKSl
?gqggKSl
]gqggKSl
gqgg@kSu
 gqgg * kT
gqggkV-7
gqgg-KVq
gqggKV"x
gqggkvxg
gqgg]#kx
gqgg*k|Y
gqgg#.KY
gqggKz]:V
gqggl1?I
#gqggl2)
gqggl3Vr
gqggl9hT
_gqggLA7
gqgglA#X
gqggLBK2XG
gqggLcJ@;
gqggLc@Qy
gqggLd(nzM
gqggl:[e5AH
)gqggLEd
gqggLF:[
gqggl;(Fo
gqggLfq.t
gqggLf y
gqggLG1:
:gqggl;i
gqgg-lJ0]M
gqggljJ9 hR0
"	gqggljqg
-gqggljqg
.gqggljqg
gqggljqg
gqggljqg]
gqggljqg8
gqggljqgA!
gqgg.LjV
gqgg|l	L
gqggL'@L
-gqgglLAGs
gqggLmdPW
gqggLNYy
gqggl()]Obj
?]gqggLp
gqggLp]j
gqgg*l:RO
gqggLR!'o
gqggl.Rp
gqgglT;C
gqgglvUi
gqgglw'(
gqgg	)lW1
gqggLY9?
:"gqggLz
gqggm*? 
-)gqggM"
|gqggM!0
_gqgg(m1
gqggM17]
gqgg)"M1v
@gqgg#'m2h]
gqggM4;(
gqgg?m4c
gqggm6X8
gqgg'M8X
gqggM9b4
gqggmB 3
gqggMdNX
gqggMF);
gqggMF);;
]gqggMfX
gqggmH4A?
gqggmhd!
gqggm];i
]_|gqggMI
gqggmI!(u
gqgg)M@j
gqggmj?W
gqggmkL#
gqggMmQ!
gqggmOO-
gqggMOWP
gqgg-Mpt
gqggMr K
gqggm#rv_
gqggMRYf
gqgg*MSP
gqggmT*7
#gqgg)Mu
@gqgg#Mv
gqggMweT
gqgg]MwY
gqgg#MzrZ
?;*gqggn
gqgg[n__
:gqggn7 
	gqgg[N7I
;gqggn7x
gqggn8!"
.gqggN9-
;	gqggna
;gqggna!1#
gqggn!b!
gqgg_nd	2
gqggne'0
gqggNeF9
gqggnePw
]gqggnGO
gqggNJ2K1
gqggnjui
'gqggnjw
gqggnJWn8
]gqggnkT:
gqgg NLy
gqgg-"nph
!.gqggN.Q0
gqggNQ	4rN
*gqggnRD
gqggnr#r
	gqgg)NS
gqggns9k g
gqgg:nsE
gqggNtB_
gqggnTsM
_gqggnW_b
gqggNXh4	S
gqggNxM1
gqgg*n@y
gqgg!n;Y
gqggNYPlI@M
'gqgg|O;
gqggO1]d
gqggo1Q:
gqggo2.O
gqggO_2t
gqggO3M;U
gqggo3)n
gqggO6H2
gqggo7jq
gqggO9G.?kn
gqgg@OBq
gqggOCon
gqggOCon-
gqggOCon.
gqggOCon@"
(gqggOCon0f
gqggOConE
gqggOConN*R9
gqggOConoZ
gqggOConz
gqggo	D"
gqggo	D"[
gqggO_D?
gqggo	D"L
!gqgg!oe
gqgg@oE'" i
gqggo	F4L
gqggoG3|Q()M
gqgg|Oh 
gqggO]h3Q
gqggOJ)j
gqgg!oJu
(gqgg	On
gqgg*o:O#T
gqggOP2BL
gqgg	oQnG
gqggOT2w
gqgg_oVM
?|gqggowW;
gqggozA@
(*gqggp 
gqgg( p#
gqgg].p;
"gqggP'.
#!gqgg'P
@@@@gqggP#
gqggP];@
gqggp_0*T
gqgg"p:3
gqggP]3VBg
gqggP99#)
gqgg*P@b
gqggPbBw
 gqggpbf5
gqgg-PCL
gqgg-pe!K
gqggp;ex
-*)gqggPFC
gqggPFkx
[gqggP'ft
gqggPI96JbW
gqgg|PjC
gqggPJns8
gqggp	l|x
gqggPOL*
gqgg:pOW
gqggPqe-
*gqggpsdnM@Y
gqggpsM:
gqggpT[g
gqggptlP
gqggPuj'!
gqggPVB8
]'gqggPW8
"gqggp	x
gqggPyDA
@gqgg[q#
@gqggQ|)
gqggq#?0
gqggq0?d
gqggq0?d1
	gqggQ#2
gqggq-2 i
gqggq3[Qs
gqgg![q4V
gqggq4X1
gqggq7so
gqggq8kAE
:gqggQ@9B
gqggQb#P
gqgg_ _Qc
gqggQ!dh
gqggQdk.k
gqggq'Fz
gqggq|g.
	gqgg@QGA
gqgg@QGA
gqggQIsK
gqggQj6p8)K
gqggqJWE
gqggQko6
)gqggq_MF
gqggqn[t
gqggQoOr3
gqggq Q1
gqggQrD#
gqggq's3
gqggqu:5
?gqggQUa
[gqggqW#
!gqggqx 
gqgg@QXx
)gqgg@QXxs
]gqggQYVx
gqggqzhk
:;gqgg|R
|!gqgg?R
(gqggr1SeOa
gqggr)@3	
gqggr6Gy
gqggR-aq
gqggrb*A
gqggRCF!l
gqggR(ch
gqggRF4:[
gqggR|fz
gqggRGh@
gqggRgLvg
gqggrJ:F
gqgg"rjtJ
gqgg#[r]kn
gqggRL|(
gqgg[RLc
gqggR:M 
gqggr-O	
gqggRPmW
@gqggrQ)
gqggRR5M
]gqggru8
-(gqggRv
gqggrv!U
gqggRwu#S
gqgg-RxZ
gqggrYC[
gqgg(RySJ0
gqggrz1m
?gqggs?;
	(gqggS'
gqggs31VZ
gqggS!39r
gqggs5eB)
gqggS5V*
gqgg@s5Y
gqggsAXE
(gqggS]*D
gqgg_SE]
gqggSF#4E
gqggSF*G]A#v
gqggs*fi;
gqggsG[m
gqgg(SI;
_gqggsiG
gqggS(IN
gqggsJ_F
?gqggS	k
gqggs	k(K
gqggSKKE
gqggsKZD
gqggslDS
(gqggslN
gqggS|N	
gqggSoq9
gqggsPKB
!gqggspS
:gqggspS
gqggs(Q#l
gqggSQLbO
gqggsRa4
gqggssKm
gqggstV;-
gqggsTxH
gqgg" sU3
gqggsu9D
*gqgg(SW
gqggsW9G
_gqggsX_
-"|gqggSy
gqggS*yF0
gqggsyY 3I
gqggSyz j]
gqggS)[Z
gqggSz'd
	gqggszr
gqggt0tl
gqggt1EA
 |gqggT1K
gqggT1T*
]gqgg'T3
gqggT3f:
gqggT!3y-
gqgg'T5Z
gqggt:6h
gqggt!Am
gqgg?t-B
gqgg tBW
.gqggTC7(7
gqggTC7(7
gqggtdBN
	gqggtEU5
gqggTF7*mG
gqggTfb	
)gqggtfj
gqggtG*9
gqggtGv|
gqggT#HL
)gqggTHTq
gqgg-t]I3
gqggtjoK
gqgg@t	kD	
gqggTkt!0
gqggTM#"8
gqggtN;i
gqggtOpP
gqgg@T_'p
gqggT[p[
gqgg_tp6B4
gqggt*p8
|@gqgg(TQ
gqggtq'PN
gqggts:o
gqggTs"u
gqggtt[g
gqggTtxV
gqggTt?Z
gqggTVp4
gqggTwEMtN
gqggtW@h
|gqggTWjT
gqgg_TWm|
gqggtYty
gqggtYty-
gqggtYtyg
gqggtYtyN
gqgg]TZ*
gqggtzSn
gqggTZV*TQ
gqggtzYA
('gqggu"
gqggu0A(
gqggu1!6
@@@@gqggU2
gqggu2@e
gqgg]u2O?4)
"?gqggu9
gqgguAyd
gqgg"(Ub|
gqggU@b?
gqggU_d[
gqggUdjRX
gqggUI#q
#'gqgguiWt
	gqgguk	7ma
gqggulD_oxO1
gqggulHeThs
gqgg#UM	w
gqggUnFB#
gqgg:Unj
gqggU;?|oy
[gqgguq@
gqgg;UqnP
gqgg)u(rCW
;gqggusE?
gqgguS#Krm5
gqggUt[;
gqggUT_T
)gqggUTV
gqgguusw
[gqgguWv
gqggUY d
*gqggv;:
gqgg !v*'
@gqgg:"V
gqgg]V-|
*!gqggV1
gqggV4[AxEtY
:gqggv7D
.gqgg?V8
gqggvazXRVa
gqggv	]B-]
(gqggvbU
?gqggVc;
gqggVC)p
'!gqggVd
#gqggvdg
gqgg'vdt
gqggv;!|e
gqggVecXi 
gqggveT[
gqggVFY#|
gqggV.G4;
gqggVgjf
gqgg(VH1T
gqggviaK|
gqggV#K*g
gqggvkm JO
 (gqgg]vl
gqggvlfO
?gqggvMA
gqggV._N
gqgg;vnm
"gqgg]Vo
gqgg)vPK
gqggVqd)
gqggvQO"
|gqggV;s
gqggvTb2
"]gqggVU
gqgg-VU!M
gqggV*v*
gqggVV4z3
gqggVvcC
gqggVx)*
_gqggV*Y@
gqggvzrw
gqggv*zZ
 gqgg?w]
*gqgg@w_
--gqggw_
?gqgg':w
';.gqggW
@@@@gqgg[W
]gqggW.|
gqggW!]|
gqggW*-@
gqggw@0[
gqggW4Hf
gqggW73J
gqggW73JD
gqggW73JZ
!gqggW7z
	;gqggWB
gqgg;WD2m
gqggwDor
#gqggWe'
gqggWe2M
gqggWe2M#
gqggWe2MG
gqggWe2Ms7
gqggWe2MW"2
gqggWe2My!J
gqggwFZGf
gqggwg!i
gqggWi12B
gqgg@w.j
gqggW'*j
|gqggW]L
gqggWL[b
gqggwLVH
gqggWmg)
gqggwNVm
-gqggWoql
?gqggWoql
_gqggWoql
|gqggWoql
gqggWoql
gqggWp0O
gqgg:wqY
gqgg:Ws'Ay:5
gqggWs;L2L
gqgg"w-t
gqggWT*F
gqggWt#mo
|gqggwTp
gqggwUCx]
)gqggwuJ
gqggWv9M
gqgg;Wvd
gqgg(WWJ
gqggwwmw
gqggWxG	
gqggw*xt
"*gqggW*y
gqgg_wzK
gqggWZLc
(gqgg:#x
@@@@gqggx
];gqggX?
gqggx0LR
gqggx-0P
gqggx._7
-gqggXAu
gqggxayH
gqgg'x D
gqggXd_J
gqggxE*g
gqgg[#xf
gqggxF19
gqgg[XFz
gqgg; xh
gqgg:xJh5
gqggXJ"j
gqggXkWm
gqggXl'9
#gqgg@xM
gqggx	.MM
gqggXmPS
gqggXp9J
gqggXp9JD?
gqggXp9JR
gqggXp9JS
gqggXp9Jt 
gqgg#x;Q5(
;gqggx"t
gqggxuIK
)gqggxv!
'gqggxvS
"gqggy:|
gqgg]Y |
gqggY!3M
gqggy'42
gqgg#y5L"D
gqggY)7d
gqggY!a3
gqggYcj4
gqggYcWfJ
gqgg!ycyja
"gqggyD'ev
gqgg	ydQ
)gqgg?Yf
!gqgg|YF
?gqggy)?H
gqgg	yi	
gqggyl2*W
gqgg;Yn(
gqggyNfI
gqggYnzt
gqggY	PU
gqggyrd6
gqggyS_h
gqggYSvw
gqggY |T
gqgg:ytoN
|[gqggyu
:'gqggyV3
)gqggyW;
gqggyXmn
[gqgg?yy
	gqgg;yY
	gqggyZ8'*:
gqggyZ8'*:
.gqggZ0sT
gqggz4:f
gqggz7Um
gqggz8p7
gqggZANlP
gqggz!b]x
gqggzE|0
"gqggZFk
gqggzgLt3
gqggzK9R
gqggzL3"
gqggzlxg
:gqggzMD
gqggZM wE
gqggZng2
*gqggzO5
gqggZP"9(
gqggz.PL
gqggZs6A
gqggzSay
gqggZScIn
|gqggztdD
gqggZudl
gqggZw_l
|gqgg?ZZ
gqggzz2R
gqgg?zZv
_G]]QG_HDOQX
G_Q[GHOYGK]EXSGE
GQG@QGM]
gqgQkgfGX
G@Qh?aGv
G[QHF_OHDCC
@@@@GQ[HGNL
@GQ[HGNL
GQHKSDOM
_[GQ_HNPD
gQ[[[H[[[O[[[
@GQHODSAB
GQHPJZGM
GQHXQ_BDQ]
gQ[[[J[[[
G[_QJBPKQ
_GQ]JCOKF[
)))GQJFGG
gQjgfGj.R
GQ@JHLBYBS[_XJGL
GQ[JHN]O]AP
GQJK]OGQP
GQJSBLOZSCQ]
GQKB]]BYJ
#gqkgfG:
gqkgfG'?
gQkgfG	#
gQkgfG(;
gQkgfG1@
gQkgfG*2
gQkgfG4w
gQkgfGA_
gQkgfG!B
gQkgfG*B
gQkgfGDpA
gQkgfGfY
gQkgfGJaE
gQkgfGl1
gQkgfGn2
gQkgfGNU
#gqkgfG)n#Wgqgg
gQkgfGok
gqkgfGQ5
gqkgfGqE
gQkgfGQk
gQkgfGQW
gQkgfGU@I
gQkgfGVSg
gqkgfGvx
gQkgfGZ'
gQkgfGZq
gqkggGNv
g@qkGyyyyyy
GQKKMYDJYP
GQ]KK_YPA
GQKO[MXQ]A
GQ[]KQ[HQ
GQKYK]@_K]DPSSS
GQ[]LBG[KZ
G[[[ QLdR[[[
;gQlgfG.
gQlgfG#5
GQLOQFCJQZPLNECLFJ
GQLOZGPPY
GQLZS_BE
]gqmgfG9
GQMK[FOJA
GQMKJ[BCB][KMYDMXH
G@QMMBBL
GQMSDAOP
GQMYC_[_Q
GQMZDPXDJ_
GQMZOBZM
G_QMZOMOPMSQDM
gQ[[[n[[[b[[[
GQNDOOB_XPJ]
GQN[FH_@C
gQngfG7W
gqngfGjh
-gqngfG?R]
gQngfGw	C_gqgg8
GQNMFYXYDC_
@GQNNFLM
GQNX[PZDSM
|@GQNzllllllllmllllOllylm
GQNZXMKDN]
gQ[[[o[[[
GQOEFCJFLGOLZZLE
GQOELDEK
GQOEQO[OQNKZK
GQOFH]OJXM]ZN]G[LBSZC
]gQogfG#7
gqogfGlgOJgqgg
gqoggG3j
'gQOggGx#Z
G(QOMOMMMOMMM*YMMrGPJPJPJ
G_QONDKBLN]D
GQO[Q@MN_DO
GQOYDE]POO
GQOZPQEY
GQPCZNQP
":gqpgfG
gQpgfG9t
GQPGXNAYY
GQPNF_XLMZG
GQ_P]PG[H[OA
GQPS]GLZPOMXK@M
GQPYZKZ_L[S
gQ[[[q[[[
GQQAGHXSKX
GQQESNGHMG]
gqqgfGa|k
gqqgfGQ]ezgqgg
GQ]QH[SO]
G[QQ[JDF
GQQ_OMZQB
G?Q?Q?QOMJMxG
GQQXB[GBC[PL
"gqrgfG#
gqrgfGrxESgqgg*
GQRSSSSS
gQ[[[r[[[u[[[
gqsgfG6G
G_QSKBBXGDN]JGM
GQSLLMQXDQBNL
]G]QSMQQ
gqSpgppepq5d
G]QS]PSGPZ
GQSQKPSCP]ZMB
gQ[[[s[[[r[[[
GQSSB[AYQY]
gQSSQZLX
gQSSS@Sly
GQSSWLK9
gQ[[[S[[[W[[[M
g!QsWTSS9
[GQS]Z]BCBCSG
GQSZ_FQJ[LSX
gqugfG!	_
gqugfGs4
gQupgppepqU
gqU@WxsQPWE9VvLK9
gQvgfGWq
gq#vpgppepq
gQwgfG94a
gQwgfG_s_
@GQ(WSSWBG
GQXBPY_KJBQQ
GQXD[BMBFX
GQ_XFDGFL
GQXGS]EM]KZJJ
[G[QXHZ]DMJSLAAJMNLDNJ
GQXLNDSO__LX
]GQXMXHD]S
GQ[XNOAHZXA
GQXQP[NB@PJ
gQ[[[X[[[R[[[U
GQXY[_HMB[
[GQXYKCOZ
]GQY]G@AJ
gQYgfGJH
[GQ]_YHNS
G_QY_H]O_
GQ]YMPQAZD]M
GQYOLGQNM
@GQYP@]U
GQYYXZ_[MYC
gQ[[[z[[[
GQZAZZHO
GQZ[BMN]K
GQ[ZC_EOXAA
GQZJBZHB
GQZ_JQMEO
[[GQ@@ZM
GQZPASNXYLNQOOD
GQZPOXMSKB_P
GQZYGDHF_
GQZZNJMSQ[E
gR((((	((;
gR[[[][[[
gR7pgppepqe
GradientFill
GradientStyle
GrAdO[[[
[[[GRAdT[[[
gradualrelease
[:graph:]
Graphics and Compute
GraphicsAndCompute
Graphics Only
GraphicsOnly
grave-accent
GrayStringW
gR[[[b[[[
gR[[[B[[[
gR[[[B[[[A[[[
gR@@@@B@A@2 @J
gR@@@@B@A@2 @P
gR[[[c[[[
gR[[[C[[[G[[[
gR[[[D[[[
GRdT[[[J[[[M[[[
gRdZ[[[u[[[
greater-than-sign
gR[[[F[[[
grfAttribsWW
GRFCF3F!F
grfCommitFlagsWWh)
GrFkF_F F
grfLocksSupportedWWW
grfMaskWd2
grfModeW
grfStateBits
grg3kgfG0
Grgaggfw9
g[rgfG3a
g]rgfG3U
g#RgfGc@
GrgfG	EKbgqggy
g'rgfGq6W
g'rgfGTV
g-rgfGxS
gRgg21Jmr
gRgg3CNe
gRgg5Yrq
gRgg9#Fn1
gRggA4ks
gRggbJ )
gRggb#k6
gRggc[pd
GRggegfG
gRggExuhH
gRggf]K9w.
gRgggdHq)
gRggGi@wj
gRgg|i*j
gRggiQyd
gRggJ9'b
gRgg:jmW
gRgg	L[G
gRggLqBz
gRggn;LJ
gRggoLDQV
gRgg.P@f
gRggQvW3
gRgg'R5dT
gRgg@!Re
gRggSh_ 
gRgg(.Sj
gRggTm4_s
gRggTnm;Xf
gRgguG2i1
gRggw3K2
gRggWFU"
GrGkGnGgGZG
@GRgqgg?
GrgqggKSl
gR[[[h[[[o[[[
g)))R_H[OG
gR[[[j[[[
gR[[[j[[[a[[[
g:rJkUIU
GRlgfGcL
GRllllllllmllllOllylm
gRllllllllmllllOllylmo
gRNdD[[[p[[[
GroupBox
	groupBox1
groupBox1
group_concat
g_RPFROOTINFO_
GRpgppepqk
gRpgppepqS
gR[[[Q[[[
gR[[[R[[[
GRS3#[SSS@S
GRSSABLO
gRSSB@@AULs9
gRSSB]B_J1BW3
gRSSD@Bk
GRSSE9@wBwBCM9
gRSSE@_AN@@B@B_
GRSSPTD9
gRSSQB[sSRSSsSSS
GRSSQ(XSSWPI9
!GRSSSSS
GRSSVL_9
GRS#TYSSS@S
GRuGLZELuGT
grU_L3Qs
G)))Ru[]O
gR[[[v[[[
gR|voeo9ogo
grygqgg@
g)))RZL]@G]L[_HE
g@[[[][[[S[[[
g@[[[S[[[
g_[[[S[[[
gS[[[?[[[
gS[[[|[[[
GS3BllllllllmllllOllylmN
gs3N	D3.
gS[[[9[[[
gS[[[A[[[
GS]AD]LPQ
gSagfG6J
gsagfGB.
gsagfGED
gSagfG*H
gsagfGhnZrgqgg2q
gSagfGHT
.gsagfGMck
gSagfGwFR
G__[SAJL_]_
GSAK]HQQ
GSAMGAHQCO
GSAONYLK[KFSN
GSA_ZGDMC
gS[[[B[[[
]GSBG_CDSL[_OFPPMOC_OH
gSbgfG29W
gsbgfG48Z6gqgg
gSBgfGSH
?)))]GSBNL
GSBOBSHJ
G[SBXOAAXA
G@SBZKADAOJSG
GSBZN]XZ[
GSCCHH[FFBE
gS[[[c[[[d[[[
gS[[[c[[[e[[[G
GSCGD[CH]ASQ[]DGD
gScgfG)5D_gqgg
gScgfGFS
gScgfGJ;@zgqgg
_gScgfGM
|gscgfGO
gScgfGo5
gScgfGPC
gScgfGPk
*gScgfGu
GSCJLMPQQAN
GSCMLQBY
_GSCQYXG]A]
G_SCSBLH
G_SCZ]AXMPO
_G[SDASCXXC
GSD_EXQ[YHC
[g*SdgfG
[gSdgfG5
gSdgfG7sqcgqgg9
gSdgfG|c
gSdgfGc5
gSdgfGf	
gSdgfGIv
gSdgfGJ2
gSdgfGkm
gSdgfGL(
gSdgfGQt?fgqgg
gSdgfGYL
gSdgfGYN
gSDgfGYU
GSDH[FZ@BJFAJ[GKJSFAC
GSdN[[[7[[[
.g]s'dz_
G]SDZ]SCFY
gS[[[E[[[
GsegfG##
gSegfGCY
gSegfG[D
gSegfGD'
gsegfGd#C
gsegfGH[
.gsegfGj
gsegfGOJ
gsegfGOT
;gSegfGRQ
GSE_LOYF
GS[ENCSEX[
G_SEOOOLLAS[
GSF9F)F#FyyyI
gSfAAAA@AAAAACV
GsFaFQF#F
|*gsfgfG
gsfgfG3x!
gSfgfGDwJ
gSfgfGGN
gSfgfGN]
gsFgfGw-
gSfgfG;w
gSfgfGw3
	gSfgfG'Yc
@gSfgfGY?I
gsfggw	y
GSFGKSJ]KD[LP
GSFML[XYFGOB
gsfO[[[w[[[v[[[
GsFRF3F.F
GsFRFKF#F
GsFy)xy-yyy#I
gS[[[G[[[
gSg]cgfGg
GSg]cgfGx
gS[[[g[[[e[[[
g[sgfG]0
.g#sgfGe
gS|gfGeN
gS*gfGj"
g?sgfGMe
g'sgfG"oPzgqgg8DB
g#sgfGQ"
gs|gfGt|
gSggcbVD
gSggfG;'
gSggfG3:w
	gsggfG7
gsggfGb[
gSGgfG|B
gSggfG(c
gsggfGCH
gsggfGCiF
#gSggfGHq
gsggfGig2
gSggfGj-]
gSggfG!o
gSggfGZV
gSggok"9
gSggR|1g
GSGHPPEME
GSGOHE[XE
GSGQS_C_
GSGSB@DN[C
GsGwGkGoGcG
GsGwGkGoGcGgG[G_GSGgFZFAFy
GsGwGkGoGcG]GHG-G
GSHBOSNGSQK
gShggGyN
GSH]HJCHSXZCX
GSH[@Q[OD
G]SHQXXXPFMFK
@G_SHSLGBZYK[
GSHXMXF@X
gSigfG@*a
GSJA_AX_
GSJCNJQA
gSjgfG97l
gsjgfGBPA
gsJgfGDF
gsjgfGI9
gsjgfG-K
gSjgfGmb
G@_SJ_JPHMCLJQMA
GS[JLMCLQAN
GSJMPZ_G
GSJQ@LNYCFQD
GSJYHCSA@AYJBD
G@[SJ_ZA
gS[[[k[[[
__G_S_KBBDQMLYLPYEZN
GSKD_BKX
GSK[FAGK
gSkgfG	[
gSkgfG	|
gSkgfG42@
gSkgfG4R
gskgfG5M
gSkgfG[A8
gSkgfGbfi
gSkgfGF7
gSkgfG"g
"gskgfGHd
gskgfGHvP
gSkgfGI8epgqgg*
gSkgfGJf
gSkgfGSMjUgqggs
gSkgfGTj
gSkgfG@TN
gSkgfGWn
gSkgfGwS
gSkgfGxH
gSkgfGyW
gSkgfGz_*
gSkgfGzt
gSkgfw(4
]G]@SKGN
GSKJLMPQQAN
GSKMH_NQ
G]_SK@NZ
[@G[S@KX
@G]SKZQSS
g_[[[s[[[l[[[
gS[[[l[[[a[[[
_GS]]LB]L
GSLGHMJY
GslgqggT
GSllllllllmllllOllylm
GSLLXQQXGA
GSLOS_MSJ
GSLPBAKEZ]G
GSLYMXJN
gS[[[m[[[
G[SMBGXYXGC
GSMFC__GMYLCKPQ_
gSmgfG-3
_gsmgfGOP
gsmgfGweA
G[SMGGQLEB
GS_MGLHYPYHYHLP_O
GSM[LZ]X@DL
GS[]MMGPGD
GS_MQCHXOYMOALCQBM
gS[[[n[[[2[[[
GSNBHYHAZ]
]GSNCEQHC
GSN[CONN__NAA_QMA[BSX
.gSngfG:
gsngfGC'
gsngfGtC
'gsnggwE
GSNGNQSBG
GSNK[GBMF
GS_N[]KNED_
G_S_N@MH
G]SNQEMLCYKD[YKDJFB_
[]G]]S_NQHX_KJ]DQ[LAZKP[A
gsogfGv@N
[_GS]OKKKDNE@CKSJJES
GSOLBMPZQY
GSOOJ]A@
GSO@OKBAX
GSortTableWWW
GSOS_]_]OOJX
GSOXH]AQ
GS_OX[SG
GSOZ@KZA
g@[[[S[[[P[[[
GS_P]CANE
gsPgfGDe
gspgfGDV
gsPgfGWg
g?sPggw7T
!Gs]pgppepqu
GS[PONDB
][GSP[SSQ
GSQ_DYBCJYBB[P_
GSQ]KKKA_
GSQ_O]G[
G[SQXFJP
gS[[[R[[[
g@SRf@SBf@Srf@Scf@Smf@S
gsrgfGAX
gSrgfGL3 egqgg
gsRgfGOm
gS[[[R[[[P[[[
G@SRSSSSQCR
GS[RSSSSS
GSSCAZNGNOJ
GSSDE]PYL
GSSdPDxREyEy
GSSGDKKX
gSsgGegfG
GSS[@J[LKZ
[GSS@JNZC
G@S]SKP]
GSSL[J]Y
GS@[SNNS
G[sSsSSf_FU
GSSSSSS|
gSSSSSS!#5
gSSSSSSS
gSSSSSSSS
GSSSSSSSSSSSSSSSSSS
gSugfG-S
gsugfGZ!
g)))]SvFOOZL]
gS[[[v[[[l[[[
gswgfG.z)
gswgfGZL'
GSXABONE
[GSXBMAJLSK
)))[]GSXZ
gsybfsyJfsy3fsy
GSYBOMKLHL
_GS]YCG]G
GSYDFG[M
GSYEQKOBAAD
GSY]GHSYYM
GS[YG_LDBSJP
GSYJOKAZSO
GSYNBMMCBFQM
GsyxFsyaFsyVFsy-Fsy
G_SYXJMG
G[SYZMQZ
GSZD@SLQFMZD@SB
GS@Z[MM[O
g[[[[t[[[
g_[[[T[[[
gT[[[)[[[
gT[[[2[[[
gT[[[4[[[
gT[[[7[[[.[[[R
.Gt(8((]Y]]
GTCgyfgfGg
g[TdB[[[
gtdC[[[E[[[D[[[[[[dT[[[
[[[?gtdJ[[[
gtdL[[[o[[[l[[[
GTdT[[[f[[[
gtdV[[[@[[[
gtdW[[[o[[[m[[[
gT[[[@[[[E[[[
G#te?oooo
GTFGFyyy	yy
Gtg)bgfG
*-g'tgfG
g	tgfG?!
g]tgfG4zi
g#tgfG6xv2gqggv
g'tgfG?8[-gqggy
g-tgfGJ?
g	tgfGJQ
g)tgfGkx
)g?tgfGO
g]tgfGqH
g)tgfGqO
[g-tgfGs
g	TgfGSU
|g	tgfGT:i
g;tgfGx 
gTgGfgfG
gTggfGpu(
 GtggfGr
_g!tggGK
'gTgqgg1CiE
GTgqggF[
gT[[[I[[[H[[[J
gT[[[j[[[
gT[[[l[[[
gTllllllllmllllOllylm
GtllllllllmllllOllylm
[[[	[[[gTOdO[[[
gT[[[_[[[p[[[
gT[[[|[[[p[[[
gtpgppepq
gTpgppepq
gT[[[p[[[v[[[
gT[[[Q[[[D[[[
gT[[[r[[[
g_TranslateWWW
gT[[[t[[[
gTU:BgfGi
gtvllllllllmllllOllylmf
gtYgqggJ
gT[[[Z[[[k[[[X
GT[[[Z[[[O[[[
g][[[U[[[
gU[[[)[[[.[[[
gU[[[8[[[
gUagfGD#vhgqgg
gUagfG(g
gUagfGyU
g)))u]AY]@FG
gU!BBA@Ep@@@@@@@@@@BAA@Hp@DL
gubgfG36
!gUbgfG6
gubgfGDi
gubgfG)k
gUBUI3@UBHD
gU[[[c[[[
]gucgfG?
gucgfG5Nczgqgg
gUcgfGDe
gUcgfGFu
gucgfGg!
gUcgfG;G
gUcgfGgFp
gUcgfGK3"
gUcgfG:m
gUcgfGQ|
gUcgfG#y
gucgfGy#E4gqgg;QG
?gUdgfG)
gUdgfG0d
gUdgfG6i.
gudgfGkV
gUdgfG[R
gUdgfGtr
gudgfGtWasgqgg
#?gudgfG|v
gUdgfGvz
gUdgfGwv
gudgfw7Z	
gUdH[[[H[[[M[[[kF"dH[[[
G]UdJ[[[
GUdQ[[[q[[[p[[[
gU[[[e[[[
 '[guegfG
@_guegfG
guegfG3"
guegfG8_3
[guegfG#9
GUegfGeA
gUegfGiL
guegfGor
gUegfGQx
gUegfGuu
guegfGXt
gUegfGZW
guegfGZzk
gUeggwpR
guest_timeout
GuFaFYFIF1F)F
GuF]FEF-F
gUfgfG8J	
gUfgfG]b
gufgfGb[F
-gUfgfG*D
gufgfGHJ
gUfgfGJnkggqgg
gUfgfGPt
guFgfGQ*
gufgfGqTD
gufgfGu	
-gufgfGx
GuFlFbF#F
GuFmFeFJF5F
GuGCG8G1G
gU[[[G[[[F[[[
gU!gfGK:
@g!ugfGN
g'ugfGT*
g?ugfGuQO
g'ugfGvj
g'ugfGWV
gUggcCMu2
]guGgfG_
]gUggfGa
gUggfGAZq
guggfG(C
guggfGdc
gUggfG;Iu
:gUggfGQ7
gUggfGst
gUggfGsz
guggfGU]
@gugggG|
	gUgg@NN[
	gUgg@u|m
	gUggYs@
GuGkGaGgG]GSGIGOGEG;G1G7G-G#G
GUg-kgfG
;)))GuGuGuGuGuGuGuG
]gugVrjxP
g)))uH[@DHEL
GuidAttribute
gUIgfGVT5egqgg
gU[[[j[[[
G)))uJA[FDL
gUkgfG4i
gUkgfG5T
gUkgfG6'
gukgfGaBd*gqggH
gUkgfGb)
gUkgfGbU
@gukgfGd
 gUkgfGH
gUkgfG(i*.gqgge
gUkgfGLz
gUkgfGOS
gUkgfGQh
gUkgfGrC
gUkgfG;U51]Y]]i4_
gUkgfGvr
gUkgfGX3
gU[[[K[[[J[[[
gU[[[l[[[
gulgfG)9
gulgfG.g
gulgfGp8
gUllllllllmllllOllylm
GullllllllmllllOllylm S
gULs@HxVTU
g[[[U.meM[[[f[[[
.gUmgfGL
gU[[[M[[[@[[[u
GumvmvmeGeGeGeGeGeG_G_G_G_G_G_G_G_G_G
guNgfG	9
gungfG?X
gUogfG8jg
]guogfGh
gUogfGLo
gUogfGpY
guogfGqN
guogfGsP
gU[[[P[[[
GUpgppepqZ
gU[[[P[[[U[[[u
gurgfGNy
[[gUsgfG
gUsgfG_)
gUsgfG5 
gutgfGj)s
[gUtgfGn
gutgfGnCv
gUtgfGZj
gUUCUU?U
gUUDUUG.
gUUDUUzj
gUugfGbt
-	gUugfGdp
gUugfGEh
(guugfGR
gUugfw#N
gUUtUUPH
G[[[UuWdE[[[
gUUxUU!X
gUUzUU9q
gU[[[V[[[J[[[Dd
gU[[[w[[[
gU[[[W[[[
guWgfGhh
gUxgfGIz
_guX]gGygfG
Gu[_XMKJtH
Gu|x@u|o@u|b@u|X@u|P@u|H@u|?@u|1@u| @u|
gUygfGf-
guyufuyYfuyIfuy9fuy)fuy
:Guyyzxuyy|y
gU[[[z[[[
gU[[[Z[[[
G)))uZPZ]LD
G||v@||2@||
gV[[[2[[[7[[[
gV[[[3[[[
gV[[[5[[[
gV[[[8[[[
gvAAAAAA@AAAAAC
gvagfGvf
GVagfG)wg
GvAgOkgfG
gV[[[C[[[B[[[
GVdO[[[N[[[M[[[
@gVdV[[[
gV[[[D[[[z[[[!#
gV[[[@[[[E[[[
)))@G@]vEFNZ
GvFgFHF7F
GvFXF_Fy
gV[[[G[[[
GVgbgfGw
Gvg'egfG
g]vgfGCfa
#g#vgfGDV
g]vgfGF[
*g'vgfGI
gVgg4O?!;S
gVggAiaS
gVgGfgfG
gVgg kqJ
	gVggTrzJ|
g'vggwH03
gv_gqgg7apG
GvgqggKSl
@GvH[[HP
)))@G@]vH@QvE@KNJJ
[[[gvId][[[
GviggG[x
gV[[[J[[[
gvllllllllmllllOllylm
gVllllllllmllllOllylm3
gvllllllllmlll]Y]]
gV[[[m[[[
gV[[[M[[[
?)))@G@vNL]
g|vodo9ogo
@GvO@ELGHDL
g|voeo7ogo
)))GvOF[DHJ]@FG
g?VRvfgfG
G[[[VU(dW[[[
gV[[[v[[[o[[[
gVVVVVVVVVVV
gV[[[x[[[
gV[[[y[[[x[[[!#
gVZBUfCUT
gV[[[z[[[s[[[!#
Gw_2guagfG]
gW7ggw* 
gW[[[A[[[
'gwagfG.
gwagfG1B
gWagfG5.O
gWagfG6C
gWagfG75
gwagfG7X
gwagfG a
gWagfGBJ
gWagfGdv
gwagfG"#h]gqgg
#gWagfGJ
gwagfGlYI
gWagfGs8apgqggP
gwagfGT1
|gwagfGU
gwagfGUn
!?gwaggG
gwaggwc0Td
gwbgfG1C
:gWbgfG2
gwbgfG87)
gWbgfGA@
gWbgfG|Bw
gWbgfGg26
gWbgfGI|
gwbgfGiv
gWbgfGm7
)gWbgfGO
gwbgfGSS#
gWbgfG	 wbgqgg
gWbgfGw|L
gWbgfG?y
:[gwbgfGYc
gwbgfGyd2Sgqgg
gW_bhggfwj
:gwcgfG)
gwcgfG!!
gwcgfG1Zq
gwcgfG2-
gWcgfG*2z
gWCgfG5r
gWcgfGaX6
gWcgfGbU
gwcgfG]h9
gwcgfGI#
gWcgfG|I
gWcgfGI8X
gwcgfGIF
gWcgfGo 1
gWcgfGo3D
gWcgfGoHl
gWcgfGp0
gWcgfGpNA7gqggws
gwcgfGPu
gWCgfGRP
gWcgfGse-
gwcgfG?T
gwCgfGTZ
gWcgfGvb:hgqgg
gWcgfGWJC
gWcgfGx;7cgqgg
gwcgfGxS
gwcgfG'Y
*"gwdgfG
*!gwDgfG:
!;gWdgfG
gWdgfG0K
gWdgfG0Mxngqgg
:gWdgfG.1
gWdgfG6C
gwdgfG6G
gWdgfG'6M
gwdgfG9P
gwdgfGAC
gWdgfG C
gWdgfGCKJ
gwdgfGD2
gwdgfGD?h
gwdgfG!f1Vgqgg
gWDgfGHj8
gwdgfGK hagqggs
gWdgfGkI
gWdgfG#M
gWdgfGMV
gwdgfGMX
gWDgfGob9)sD3
gWdgfGs5
@gwdgfGVV
gwdgfGw);
gWdgfGWA#hgqgg
gWdgfGY!2Kgqgg
gWdggGda
GWdZ[[[a[[[
gW[[[E[[[
gweC[[[C[[[q[[[
##gWegfG
)gWegfG@
;gWegfG:@
;gWegfG|
?gWegfG)
@gWegfG 
gWegfG	!
gwegfG|-0
gwegfG-1
gwegfG2X
gWegfG:3
gwegfG31
gwegfG4U
gwegfG6-?
 gWegfG9E
gWegfG#AqQgqggv
gwegfG!AXPgqgg
gWegfGc8
gwegfGCv
gWegfGDE
gWegfGdP
gWegfGdx
gWegfG'E
gwegfGEe
gwegfG	F;
#gWegfGF
gwegfGG)
gWegfG.g
gWEgfGG'6
gWegfGh!
gwegfGivL
gWegfGKO
;gwegfG*L
gWegfGm#
gwegfGnGT
gwegfG@o
gwegfGo6w
gWegfGoL)
gWegfGp|8
gWegfG-QC
gWEgfGqIW
gWegfG'R_
-gWegfGSu
gwegfGSW
;gWegfGT
(gWegfGUlN
gWegfGU_p
gwegfGVkr
gwegfGwl
gWegfGX:
-:gWegfGxm
gwegfGyGMzgqgg
gWegfGz6
gwe_[[[h[[[
gweI[[[i[[[o[[[
gweK[[[p[[[w[[[
gweL[[[Z[[[
gweP[[[d[[[
gwe[[[[v[[[t[[[
gweW[[[h[[[
gwey[[[:[[[
gwey[[[4[[[-[[[
gweZ[[[)[[[
gwFgfG'#
@gWfgfG.
_;gWfgfG
|	gWfgfG
gwfgfG4_
gwfgfG6R?
gwfgfGAyt]gqgg
gWFgfG.b
gWfgfGb1t
gWfgfGBD3
gwfgfGClF
gwfgfG(g
?gwfgfG:h
gwfgfGH!
gWfgfGhp
gwfgfGk(
gWfgfGkl
gWfgfGkY
.gwfgfGle
gWfgfGm	T
gwfgfGPBe
gwfgfGqC
gWfgfGT)
gWfgfGtS
gwfgfGvu
gWfgfG(x
gWfgfGXP
gwfggG_u
gWfggwDA;
(gWfggwm
gWFllllllllmlll]Y]]
GwFUFKF;F5F
	gw|gfG(
gw@gfG(3
g_wgfG6G
GWgfGCMhEyD3
gW gfGh1l
gW?gfG@j
gW!gfG'n
g	wgfGok
]g?wgfGQ
gW)gfG:U
gWgg7|k.
@'gWggfG
|	gWggfG
gWggfGF#
gWggfG'H
gWggfG|i
gWggfGJX
gWggfGO4;
gWggfG	R
	gwggfw)
;[gwggfw
gwggfw'b
gwggfw	mT
gwggfw	t
gwggfwZuj
g_wggG1c
g'wggG6F
g'wggG9V
g?wggGA?
g_wggG!A
g?wggGaJ	
[.g?wggG	cavgqgg
gWgggGj 
g_wggGGQj
g'wggGKu_Kgqgg
g_wggG:L1
g'wggGo3F
g_wggGoQe)gqgg
g_wggGx8
gWggHy:p
gWggPJ@3
gWgg'QZ"
gWggt@pSn
GwGQkSkSkUkSkVkSkSkSkSkSkSkSkSkSkckbkbk
]gwgVrjxP
GWgwkgfG
gWhgfGqf
gW[[[h[[[n[[[5T"gP[[[
gwigfGh0o
gwigfGMS
gWiggGWaaggqgg
]"gwjgfG
gWjgfG5F
|gwjgfGL
gWjgfGqy
gWjgfG;x
gWjgfGXF
)gwkgfG;
-:gwkgfG
(#[gWkgfG
?@gWkgfG
|?	gWkgfG1
gWkgfG1-
gWkgfG)5
)gWkgfG7
gwkgfG8M]
gwkgfG.d
gwkgfGIS*
gWkgfGJT
;gWkgfGK
gWkgfGPz
*gWkgfGX
@gWkgfGy
?*gwlgfG
gWlgfG1"
gwlgfG1xg
gWlgfG73
gWlgfGc94
gWlgfGkg
gWlgfGNg
gWlgfGp7[@gqggkE
gWlgfGq)E
gWlggG X
gw;llllllllmllllOllylm
gwllllllllmllllOllylm
GwllllllllmllllOllylm
G_wLw]LwOGwX@DHNL[LZ
gwmffGks
gwmgfG1Y
gwmgfG33
gwMgfG4Eg
gwmgfG4n-Vgqggg
gwMgfG5(.
gWmgfGgP
gwmgfGn?H
gwmgfG?U
gwmgfG(y
gWmggwRC
gW[[[n[[[
*.gWngfG
(gwngfG8*:
gWngfGh7
gWngfGJ)
gWngfGn@'jgqggF0
gWNgfGnq
gWngfGpY
gWngfGSQT
gWngfGVS
?gwngfGZ#bagqgg
gwogfG _
gWogfG|#
gwogfG7Z
gWogfGcj
gwogfGE3
gwogfGkU
gWogfGmo
gwogfGN:
gwogfGSNo-gqgg
_gWogfGu
gwogfG;Z
gwoggG:7
gwoggGOQP
gwoggG;v
gwoggGWs
gW[[[o[[[l[[[9
gwpgfG|0
gWpgppepq
gWqgfG4Ew
GW;QgfGk
gWqggG;I
GwqHXpUT
gWrgfG6A
gwRgfG8I
gwrgfG*H
gwRgfGKQ
gwrgfGZX
gW[[[S[[[A[[[?
)GW@@@@@s@@A@AAac
 gWsgfG 
gwsgfGC	
gwsgfG@j
gWsgfG:x
GwSwFwC@wFGHO
gwtgfGFxG
gWtgfGG5
*gWtgfGIf
-gW[[[T[[[K[[[m1PeL[[[
gW[[[U[[[
	'gWugfG
:gWugfG?
gwugfGAc
gWugfGTY
gWugfGyV
G[[[w_VdS[[[F[[[
GWvgEkgfG
gwvgfG[5
gwVgfG.Z
gW[[[_[[[W[[[9
gwwgfGi;F
gwwgfG	T
@-gWwggG
@gWwggG;
gWwggG;]
gWwggGA0
_gwwggGGk
gWwggGJs
|gWwggGL
gWwggGmq
gwwggGp	2ygqgg
;gWwggGS
gwwggGTh
gWwggGU1F!gqgg
gWwggG(v
gWwggGW]]
"gwxgfGr
gwygfGWGe gqgg
GWZllllllllmllllOllylm.
g_[[[x[[[
gx[[[*[[[)[[[
gX[[[	[[[
gX[[[ [[[
gx[[[A[[[D[[[
gX[[[a[[[d[[[
G@XAG_@PZLB]PX_AC[S]
GXAMQALAZ
GX_A[@SADP]M
gX[[[B[[[
G;X@@@@B
gx @@@@BAB@
G]XBBJCC
GXBCXC[]M[
GXBH@KHH@K
GXBJDLHLGNHMANOE
GXBKXOYO
GXBPEBJP
@G[@XBUBGBU
GX]_B]YO
G[_@]_XC
-GXCCNCCCBACC
G]XCDLQGH_AL
GXCDQHCMD
GXCG]MJSDJDX
GX_CLBYBS
GXC@NHYX@
G@XCNJ@Y@
GXCO]ZA@[
G_X[C_SBZSMLCKSOQN
_GXCSOSAEB
gx[[[D[[[
'gXdA[[[
GXDASHGJX
]GX[DB_JSKK]_YSLYN]@
GXDD_KQBGJYE
GXD]EE_HP]CZ
GXDGSMCYBH]_AL
G[X]DOSNN
GXDYJPNJCNJCSQ
gX[[[E[[[
GXEJ]ZLM]
@GXEQFSB
[G]XEXAHAE
GxFAF?F(F'F
GxFdFJF9F
GxF|FpFtFhF
gxfgfGn-
GX__FJNXC
GxFlFYFLF9F6F
GxFmFRFIF
GXFOFEF3F.F
GxFyyyYzy)yyy
gX[[[g[[[
gX[[[G[[[
gXgAtgfG3
GXgCegfG
g-xgfG_G
g[XgfGGN
g'xgfGWRd
[GXG__FNOCKE
gxgg9D	l
gxggCLwl
GXGgfGz[
gXggfwp[.
gXggiezN"
#* gxggj
gXgg#!kg
gxgg'Nt?WE
gxggO	2A
gxggO:Y4F
gxggu]#j
gxggumcr
gXgg*VtM
gxggYkY?
GXGNKQZ]CMDQLHFKQBCMB
]G[XGPHJFBYHN
gxgqggCK
GXGYH]K@_
GXGYM@C[]
GXGZXXFY_
GXHANEYED_
GXHHHMHY
G_XHXBB]
GXHXO[ELNA
GXH_YEA]B
G]XHZ]][Y]YSEGPBGY
gX[[[i[[[h[[[
gx[[[J[[[
G]XJCCLYXZB
GXJGMH@JO]_K_]ZF
GXJJS]OOPFA
gxjpgppepq
GXJXNLLKXZADYQ
gX[[[k[[[
[[GXKAPG
G_XKDJFS[J@ZC
GXKJO@H_
GXKOHZHZL]MHN]
gX[[[l[[[c[[[
GXL_DZAG
GX_LGMX]EDDBB
GXLHZOH]D
G!xllllllllmllllOllylm
GXlpExcludePropsWW
GXLXNY[O
GXLY]AJS_LQN
GXLY@DSPS[O
GXLZAPAQ
GXMAXQPDZYBKHNOOC
GXMKL_XJD
G]XMLJEZ_LBJLAP_F
G@XMOHLP
GXMY[BCJHS[H
GXNAJXP]J_OBBBZCL
G[XNCQ@DXX_PO
GXNJJ]EZ
g[Xnk.gAgg
GXNLQKGYXHMXXGEG[]M
GXNPHM]EHY
GXN_]SEBXD
GX_OAJEOJBHML
G]X]OCFGGYSC
GXOKOXDDKY
GXOSDNP_NCOOBCB_CQ
GXOSLK_CJA
gx[[[p[[[
G]XPBSHBMXHXQ
GXP_DAZPODCLP
@GXPDMN[M
gxpgppepq
GXPLAGDYQ
G[XPM]DXK
GXP_Q[JCJY[
gX[[[q[[[
GXQBYB@PNBBZGQLB_
GXQBYSX@K
G]XQCLGL
GXQ@_CZS[CNZ
]GXQDMDFZ
GXQOKADX
gX[[[q[[[p[[[
@GXQPQDC
gX[[[Q[[[V[[[
GXQXG_ZZSON
gx[[[R[[[
gX[[[R[[[Q[[[
Gx[RSSSSS
gx[[[S[[[
G_XSHJ[Z
GXSMXFB[MGKQFQDA
GXSUFXSHFXS
gX[[[t[[[
G||X@||T@||
gx[[[t[[[c[[[
gX[[[T[[[i[[[
gx[[[T[[[M[[[_
gX[[[t[[[n[[[
@GxUEyEyEyQULssSSS
Gx?vxxd|xx
GxXdH[[[
GXX_GSZG
gX[[[X[[[_[[[R
gxxrqPfxxr
gxx|Ryxv
gX[[[X[[[T[[[
Gxxx3xxyxyxyxY[4
gxxxBxxyxyxyxY[4
gxxxx]Y]]
gxxxx]Y]]-
gxxxx]Y]]:
gxxxx]Y]]3
g!xXxxyxyxyxxyxkz
Gxx]Y]];
Gxx]Y]]5
Gxx]Y]]6
Gxx]Y]]7
gxxykpxip
Gxx]Y]]o
Gxx]Y]]y
GXXZOZ]X
gxyffxy9fxy
GXYF]XQCQXJD]OC[D[
Gxy|FxydFxyMFxy5Fxy
gxyhfxySfxy:fxy"fxy
gxykfxyKfxy(fxy
GX]YLJS_K
gxypfxyUfxy4fxy	fxy
GXYP[]MKSJ[Y_G@S
GXY]PQ_BL
gxyrgxyigxy
gxysfxyRfxy)fxy
GxytFxy_FxyFFxy-Fxy
GxywFxyeFxyUFxyEFxy3Fxy!Fxy
GxyxTyWx
gxyycyyIhyyzyyyyyyyyy
gxyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
gxyyyyyyyyy
gxyzfxynfxyRfxyFfxy*fxy
gxyzfxyRfxy*fxy
GXZASLASJ][
G[XZCOXL
GXZGFXHDQHP
GXZHNBKX]KB
GXZ_KKBOFLZE
GXZNXAEP
gX[[[Z[[[O[[[l
GXZ]XJCPJYMLSQBQCX
GXZZ]_AY
gy[[[-[[[
  g     ]Y]]
g@@@@]Y]]
gY[[[@[[[
gY[[[3[[[
g]Y]]3@X
Gy9zy9yyy
gy[[[a[[[
')))GYAA_HJ[LO
@G]Y][A]A[LHM
GYACCO]QDBKL[EFB
GYACXKNBAG
gyagfGP	L
@gyagfGT
gyAgfGV0
gyagfGYX
gYAggwaD
GYAGN]JH
GYAGQHX]JN
@G]Y][AHGMEL
]GYAKPMFJJJMXY
GYAOZGMA
GYAZM]LQ]NGA
gY[[[B[[[
G]Y]BAAO@
_GYBAOSJEMKCKH
gybgfG9P
gYbgfG.K
gybgfG:L
gYbgfGLhy
gYbgfGYS
GY[BLFBSG
GYB]NOECGZS
_GYCAFCB
G_YCC]D[Y
GYCCNCCCBACC2
G_[Y[CFY
gycgfG2f5
gYcgfG]a
gYcgfGhZ
gycgfGmi
 gycgfGpG
gycgfGsk
GYCKQ@EAXX
GY_CNKCKKGHMJYN
G_YCOMN_D[GZD]
GYCP[]ZK[E]
GYCXKQPQ[_
GYCZEJZXXB_SHQG
GY@DBNPJL
GYDFCK_B
GYD_F_]D
gYdgfG":
gYdgfGBLcM]Y]]
gydgfGBR
gydgfGC;
gYDgfG?NFhgqgg
gYdgfG	qn
_G_YDJBFGC
GYDNOEG]C
GYDYZAZG
GYECPBMBN[LZONNH
#gYegfG(
@	gYegfG
gYegfGD0
gyegfGe2
"gYegfGH
)gYegfGx
gyeggGL"x
G[YEHLBDG
_G]YEJFS
gYeL[[[j[[[i[[[ WAdB[[[
GYE_N@EXSK
GYENX[GH]PN_NNY
GYE]OZXCL__
G[Y[EPA[PAMOQM
gYeU[[[c[[[
@G]Y][EY]A[LHM@M
@G]Y][EYHMM[LZZ
@G]Y][EYYH[HDL]L[
@G]Y][EYZ]H[]HMM[LZZ
GyFaFeFYF]FQFEF5F)F-F
GyFaF]FEF1F
GyFaFYFQF9F)F
GYFAPJOJ
GyFcFBF;F
GyFeFAF-F	F
GYFE@JPKP
*gyfgfG@
gYfgfG()
gyfgfG4J
gYfgfG)A
gYFgfG?g
gyfgfGKUMkgqggK
'gyfgfGP
gyfgfGR@
gyfgfGt@?
gyfgfGXn
GyFiFmFaFIF1F5F)F-F
@G]Y[FJLZZ@M
GYFJ[OLXYESN
GY[FJUUNL]JFGOvGY[FJLZZF[ZvFGEG
GyFQFEF1F)F
GyFqF]FQFIFMFEF)F	F
GyFqFiFeFMF9F!F
GyFYFAF9F)F!F
Gyg3ggfG
g;ygAgg0
GYGCKOSM@FY@[D@C
GYG]CPMMYXEBO[CXPSCX
GY_GDCSDFKS]QEHSAJMD
Gyg'dgfG
GYGDK[DQFC__GS[]C[AP
gy[[[G[[[E[[[8zwdZ[[[F[[[
GY]GEGLZOJYBY
gY-gfGV)
gyggfG*!
gYggfG||
gYggfGD[
gYggfGFD
'gYggfGj
gYggfGmdZ
gYggfGOe
;gyggfGr
"gYggfGS
gYgggw|1
GYggogfG
GY[GMJJAB@
gyg'ogfG
G]YG]]OPYXZ
G_Y_]GQL
GYGQXXJNKXOB
GYgSngfG
gY|gWegfG
GY[GXJ@GO@LY[
gY[[[h[[[
GY]HCEZ]
gyHgfGaz
G)))YHGHDHJ@]PKLHJAJFGMFZOF[ZHEL
G)))YH[HD
@GYH[HDL]L[Z
((@G@]YH[HDZ
)))@G@]YH[HDZ
@G@]YH[HDZ
GYHL[GQO
GYHLS[JMMJQOD
]GYH[SALX
GYHZJEAQJ_DG
gY[[[I[[[C[[[
gYI dLWifd
gYigfG!aK
gyigfGw_
GYJAAA[L
GYJDHOPKM
GYJEFAOJY
G]YJE@LG]
G[[[YJ-fE[[[
("gyjgfG
gYjgfGNS
GYJG]KXLQDAYPNN
GY]JHFPL]GDBHNHXH
G]Y[J@KBFYX
gY[[[j[[[n[[[
_GYJ]YEQ
GYJZJJ@@M
GYJZLJLP
gY[[[K[[[
GYKAFAZHJ[@QJ
GY_KA_PMF
G_YKCCXCG]
G|ykF|y(F|y
'gykgfG'
gYkgfG)|
gYkgfG@2
gykgfG4k
]gykgfG5e
#gykgfG6
]gykgfGb#
?gYkgfGb
 gYkgfGB
gykgfGeG
gYkgfG	gX
gYkgfGHZ
gYkgfG!I
[gykgfG#L
gYkgfGLj(
gykgfG;[N.gqggq
gykgfGnX
gYkgfGp@k
]gykgfGQ
gYkgfGq#
#gYkgfGr
gykgfGs!
gYkgfGS|
gykgfGt:
"gykgfGvR
gYkgfGW2
gykgfGX;
gY[[[K[[[J[[[k
GYKLGLDE
GYKPZO_Y
GYKY@JEH
gy[[[l[[[
gy[[[L[[[
GY]LAJSK[QAJJBEJ]C
GYL]DKMQ_D
GYLFDQLHE
G]@YLGBF
@gYlgfGt
	gYlgfGz
GYLKPEXMP_SZCK_Z
GyllllllllmllllOllylm
#gYlMVgfG
]GY[LOL[[LM
GY[LQ_]L_L]
GYMAJCHE
G]]YMA]]Y
g|ymFxymFxy
!gyMgfG-P1Ygqgg
gymgfG:q
gymgfGZ!
GYMKO[JN
@G]Y][MLZ]
G_YMPLNA
GYMSBHEMNAJX
GYMYA_QP
gy[[[n[[[
gY[[[n[[[
GYNAGMY@E
gy|Nay||
GYN[CK]DDYXKB_PLYC
gy[[[n[[[e[[[
GYNFGMC[A
G[]Y[NGC
gYngfGBI
(gyngfGJ4
gyngfGny
gyngfGY@
gYngfG" Z
GYNMXXXAQD]
[GYN_P_Y
GYN_YLHGL_
gY[[[O[[[
GYODSJXMPYQZ[MMDK]_NQZ
gy[[[o[[[g[[[
]gyogfG@
gyogfG2m
]gyogfGk
]gyogfGL
gYogfGML
gyogfGQZ
]gyogfGv8
GYOHJ]F[@GN
GY_O_KQK
GYOQSJQJ[D
GYOSBEJS[
GYO]Y@ZASZ[ZHEQ
GYPGD@]NQDFP
gy_pgppepq
GYPKDZOK
GYP[OM]OCZ
]GYP_[PM[F_
GYPrPNHt
GYPr]XOt
GYPS]L[M
GYPUSxxx
GYPZJKZGGH
GYQB]YB_MXPC
GYQCAKJLNC[L
GYQDLE]FAMZDZ[C]M
gyQegwtj
gYqgfGa:A
GYQG[XBNG
GYQ[NZLDCQM
GYQ@XNQL
GYQY@BHGOLY
gy[[[r[[[
gy[[[][[[R[[[#
g_[[[y[[[r[[[0
gy[[[|[[[s[[[
GYSA_J]BE
GYSBQCQP@LL
GYSDA@M]HD
"gysgfG.
?gySgfGo
_GYSLGKLFSPEG
[GYSLKMP[
GYSNBP][
GY_SONMN
G]Y]]SR_
gYSSS@Sw8
gY[[[|[[[s[[[VFOdH[[[
gYtgfG#BW
gy[[[T[[[K[[[
gY[[[U[[[F[[[
gyugfG m
*gyugfGP!0
GyUWWWyyyyY
gY[[[v[[[
gYvgfGnL
'gYvgfGR*
_GYXDLYA
GYXES[SBO[QJDC
gYxgfGAR;
GYXGQFZ]
gy|Xgy|Dny|
GYXNENYYPY]HG
GyxRy59;X9
gy[[[X[[[U[[[
GyxvyrxxxW
Gy	xy!yyy3IPHyK
Gyy1iyyyyyyyyyyyyyyyyyyyyyy
Gyy9yyyyyyyyyyyyiyy1xyyyyyyyyyyyyyyyyyyyyyyyyyyW
Gyy9yyyyyyyyyyyyiyyaxyyyyyyyyyyyyyyyyyyyyyyyyyyW
gyybfyy"fyy
gyyC]yy6]yy
GyydFyy.Fyy
Gyy?Dyy"Dyy
gyyefyyUfyy	fyy
gyyEYyyf]yyQ]yyH]yyC]yy:]yy
GYYEZLLAM[
@G]Y][Y[FJLZZAHGMEL
@G]Y][Y@GOF
gyyhfyy]fyy@fyy7fyy
gyyhyyyyyyy
GyyiFyy[FyyLFyy1Fyy'Fyy
gyyJcyytfyyZfyyDfyy-fyy
gyyjfyyIfyy4fyy
gyykfyyEfyy
G_]Y]YKN]
gyylfyyRfyy
gyyl@yybKyy;Kyy 'yye yy
gyyMIyyqy
gyynfyyQfyyBfyy
gyyrIKO8		8
gyyryV61
GyysFyyVFyy5Fyy
Gyyssyy4
GyytFyy_FyyFFyy!Fyy
gyytfyykfyykfyyUfyy?fyy
GyyuGyykGyyaGyygGyy*
GyyvFyy]Fyy@Fyy5Fyy.Fyy
GyywFyy"Fyy
gyyWjyy.jyy
GYYX[[AD
GyyxFyyjFyyPFyyCFyy1Fyy.Fyy
gyyxyyyhxyy
gyyxyyy-ywyzyz
gyyxyyyyyy
gyyxyyyyyyyufyyhyyyIyxyayy
gyyyByyy#yyy
gyyyCyyy yyy
gyyyfyyrfyySfyy9fyy(fyy
GyyyIpy9yyyeI"I
gyyyiyyy)yyyy
gyyyiyyyYyyyyA
GyyyIzyQyyyoI
gyyyizyyYyyy
gyyykyy|kyy
GyyyyMi]
GyyyyxyEyyy
:Gyyyyy9d9yyy-
]Gyyyyy9l9yyyUGU
;Gyyyyy9q9yyy)Al
:Gyyyyy9u9yyy
?Gyyyyy9y9yyy	
Gyyy)yyEyyy
Gyyy)yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7y4#
@]Gyyyyyy
|Gyyyyyy
?Gyyyyyyb9yyyi0
?GyyyyyYf9yyy
;GyyyyyYi9yyy
gyyyyyyIyyy
;GyyyyyYj9yyy
Gyy|y!yyyLI
gyyyyyyqyy
GyyyyyyQyyy)yyy
@Gyyyyyyt9yyy
GyyyYyyUyyygH8H1H
Gyyyyyyyy
GyyyyyyyyT
gyyyYyyyYyyy
gyyyYyyyYyyyqyyyyyyyyyyyyyy9yy
gyyyyyyyyyyyyyyyyyyyyyy
Gyyyyyyyyyyyyyyyyyyyyyyyy
GyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
GyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#x4#
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
GyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyO
Gyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
gyyyzyyXD
GYYZ]AAKK
gyyZfyy4fyy
gyyzfyycfyyJfyy2fyy
gyyzfyyEfyy
Gyyzyyy|y
GYZAK[_Q[MQJ
GYZ[BXQ_Z
GYZCEK@@
GYZ]DDGZQ
]GYZDX]OLPJN
gyzgfGiT
gYzgfGiu
GYZQG[LS
[GY[ZSXY@
G@Y[_ZXDQ
Gy)zy9yyy
Gy)zy	yyy
gz[[[:[[[
gz[[[][[[
]gZ[[[:[[[
g)))Z_@]
gZ[[[?[[[
!).@GZ][
.)))GZ][
_G@[_[Z_
gZ[[[2[[[1[[[1
gZ[[[6[[[
gz[[[6[[[4[[[
gz[[[7[[[
g@@@@@z@@A@AAac
GZACDB]KY
GZAHBK[CG
GZAKFZXBMG
G)))ZALL]
GZALME[]O]
Gz|-Az|4
gz[[[B[[[
gZ[[[b[[[
G;@ZB@_@ACac
GZBG]HHZXX
GZBHBHHA
GZBKNDPL
GZBK[_XMLG
GZ[BSAYQD
gZBY@VK@Xx_BWBV
gZ[[[C[[[
GZ[CHLN[JHBXALJXP
[GZCLJH]MBQKBF
GZC_PDSKG]HKBKQQSAE
G[ZCQPCY
GZCYBYMANMGZ
gZ[[[D[[[
GZ]DAQNC
GZDA]SKA
GZD_BMJZNCAEL
GZD][BSNHHAA
GZDJO[ZSQ[
g)))ZDKMv@GOF
GZ_D_KQM
GZDNEKOCGCBMO
gZ[[[D[[[x[[[
GzdY[[[C[[[
gz[[[e[[[
gZ[[[E[[[
GZE[BKL[KJN_ZLA[BJ
GZ_EOHZP
G[]ZE]P]
[GZE[XXA
GZFCJ]CKBNA
GZFDBLJPSQKP
]@GZFEM@L[
GZFHN[JM
GZFJFEF6F-F
GZFSFHFAF
GzFsFhFaF-F
gZ[[[G[[[
_'g'zgfG
g'zgfG.'
g'zgfG71
g!ZgfG9__
g'zgfG:A
g'zgfGdm
g	ZgfG@e
g'zgfG	j
g'zgfGla
g'zgfGli
g'zgfGP8
g'ZgfGTq
g[zgfGug
g'zgfGv'
	gzgg-([
	gzgg2W|
gZgg?6SQ
	gzggau	@
	gzggeUN
	gzggGE3
-gzgggGt
	gzgg!hv
	gzggJa2
gZgg#lb;E
	gzggmML
	gzgg|pQ0
	gzggqwz
	gzgg t)
	gzggtE7
	gzggyd(
G_ZGHDAQ
@GZ]GHDL
GZG_[MZ[
GZGPJ_GPJPJ
#GZgqgg5
!gzgqggg
gzgqgg|M
[GZGQXGP
 GzgWegfG
GZGZNYN_
g)))Z]H[]
.)))@GZ]H
GZHA]YPNX
GZ]]_HB]
@GZ]HDH@EZL[_L[
 )))@GZ]HEE
((GZ]HEE
)))@GZ]HEE
@GZ]HEE))
@GZ]HEEA@GOZLJ]@FG
)))@GZ]HEEALEYL[
@GZ]HEECH_H
)@GZ]HEE]@DL
@GZ]HEE[FF]
@GZ]HEEFOOL[Z
@GZ]HEEFOOL[ZMFGL
)))@GZ]HEEGHDL
@GZ]HEEGHDL
)))@GZ]HEEH]@FG
@GZ]HEEHMFKLOEHZAYEHPL[
")))@GZ]HEEL[
@GZ]HEEL[
]@GZ]HEEL[
@GZ]HEELEHDJL[]@O@JH]L@GOF
@GZ]HEEL[FOOL[YHNL
@GZ]HEEL[HYYYH]A
@GZ]HEEL_LG]
@GZ]HEELM
@GZ]HEEM
@GZ]HEEM@[
@GZ]HEEMH]L
@GZ]HEEMLE
@GZ]HEEMY
;)))@GZ]HEEOMZL[_@JL
@GZ]HEES@YLQ]@DYF[]L[
@GZ]HEEv
@GZ]HEEvFYLGL[
@GZ]HEEv@M
@GZ]HEEvO[FDv@GZ]HEEL[
@GZ]HEEYH]A
GZHELE@KL[L]_LE
)))@GZ]HGJL
@GZ]HGJL
@GZ]HGJL@M
@GZ]HGJLZFO
@GZ]HGJLZY[r@trDHBL@M
GZHHEHZA
]GZ]H]LK@GMEE
]GZ]H]LK@GMEEZJA]HZBZ
GZHNFH_YL
@GZ]HN[HD
@GZ]HN[HDZJ[HYL[
|GZHOLgH]@_LdL]AFMZ))
GZHOXBNS
GZHPPX_O
]GZHQZQZQQMOOGHL_ASO
G)))Z]Hw[w]DwZ@wLQwLwJ
GZHZ[JZMA@M
|[GzJAdZfO@J))
g)))ZJA]HZBZ
G[Z[]JBQ[LZ@PK[SNDPMJ
G_ZJDOJYAX
G][]ZJHG
G][]ZJHG))
|GZJHYL]FK
GZJKGMZMSK@CN_
GZJLKBLGP
@GZJ[@Y]@FG
g_[[[Z[[[K[[[
GZKAL_N@_Q
G[ZKGHGP]JDXFP
G@Z]K_HDDN
GZK_QSP[EQZ[L]NPPC_C
@GZ][[L_
GZL]@@@@@@@@@@@@@@
]GZLBM]H
GZ[LDF]LQLJ
GZLEDHPJGA
@GZL[]EHKLE
G)))ZLELJ]
GZLGLFQJN_Y]
)))GZLGMEFNZ
!)))@GZLGN
G]ZL]@GOF[DH]@FG]FBLG
G]ZL]@GOF[DH]@FGY[FJLZZ
@GZL[]HMCHJLG]]LQ]
@GZL[]HO]L[t
GZ_L[J]E
G]ZL]JFG]LQ]]A[LHM
@GZL[]KLOF[L
@GZL[]KLOF[L))
GZLPCFPGMCDZ
@GZ][]LQ]
GZLSAJ[MD
G_Z[LZPL
@GZ]MH]H))
GZMK[J@@
@GZM@[LJ]F[P
@GZ@ML[OHZ]
@GZ@MLYFFEDHN
GZMMEEHZ
GZM[S[HJAK_XS
GZmSSSSSSSSSSSSSSSSSSSS
GZMXO_YSLQXNG
GZmyyv((
GZNDKONHY]H]
GZNGYZLKG[
GZNHS]G[
]GZNYKJCCD
gZ[[[o[[[
gZ[[[o[[[a[[[D
_GZOCO]MY
GZ@_O[H_
GZ_ONPDQ
GZOPJPJPJ5OPJPJPJPJPJPJ
G]ZOQOHL@
GZ@[O]ZN
gZ[[[p[[[
GZP_ASJQY
Gzpg5kgfGt
GZPGKXZNDKDDP
gzpgppepq
 GZpgppepq
gZ[[[p[[[i[[[
GZPQGSSQD_LC_Y]QOGEP@YFP[
GZPSXOMSO
GZPZJPKGHG@HX
]GZPZvJF[L
GZQAEHZS
GZQ[BEEZL
GZQ__DLJ
GZQD]ZE[MMM
GZ[QNDJJLZLEKQOHDXDQ
GZQOHHEHYL
GZ[QOLJK
]GZQSS][
gz[[[r[[[q[[[
gz[[[R[[[W[[[
gzrzzzzzzzzzzzrzz
GZSADPG[
GZSEDXPKKF
G_ZSJDPOZ
GZSOHCPBFGMFA@
GZSP_MMFD
G@ZSPZ_Q
]GZSQGJ]ZOX
GZsSQSS9
gZ[[[S[[[T[[[
gZ[[[T[[[
gZveE[[[
@GZ]vMH]H
gz[[[_[[[W[[[
gZ[[[w[[[
G)))Z]wH[w]DwZw@LQwLJwFwYB
GZX_BYLC
GZX]]_@CP
G]ZXCZKJSD
GZXCZXZMPBSYN
GZXEQ@X]GO
GZXFSKFE
GZXJAGLOMM
G_ZXKLAPL
GzycFzyUFzy:Fzy Fzy
!)))GZYE@]
.)))@GZYE
;	)@GZYE@]
GZY[FJLZZ@GOF
GZ@Y[FYL
GZYHMGZ[N
GZ@Y[LOK[HGJA
GZ@Y[LOZL[_@JL
GZYPCQP]J_J
gzyrfzy:fzy#fzy
G_[ZYSEOHC
gzyxfzy]fzy!fzy
GzyX(qyX(qy
GZY@XXBH
GZYZCZ[JN
GZ"Zbhggfw
)))GZZD@GZ]HEE
_GZZDYL[ZPNLHJMLS]K
GZZDZ]H[]
GZZ@E_L[HHH]O[[ZJF
g@Zz_J))
GZ_ZPD]GAXNB]B
GZ@ZYK]B
GZ@ZZ]H[]vGF@L
  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
[H[[[[[[[[[[[[
_H@@@@@@@@
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||H
|||H|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||H?||	?||
H")||||:.?|||||
H#:::::::::::::::::::::*
H||||||||||
  h      0  
 h     0
H")||||:.0|||||
H0A"xx]Y]]R
h0Ddz[[[c[[[a[[[
H0g-kgfG
H0gKkgfG
H0H9H(u-H
h0Jd@[[[|[[[s[[[
h0Kmggfw
H0NfAAAA@AAAAAC
h||||||||||||||||||0O
_(H;_0t)H
h|(0W-ggG
H0x	)(((
H1;1MZhK.WegfGd
h19yCwgggfw.S
H1a*HiD"
H1cdA[[[
H1cdB[[[p[[[w[[[F
H1cdG[[[
H1cdH[[[9[[[
[[[H1cdH[[[o[[[c[[[
[[[H1cdI[[[
H1cdI[[[
H1cdJ[[[
[[[H1cdK[[[	[[[
H1cdK[[[
[[[H1cdL[[[
[[[H1cdO[[[
H1cdV[[[u[[[
[[[H1cdZ[[[
H1Ddx[[[H[[[N[[[
H1geugfGXz
H	1JhggfwLC
h1llllllllmllllOllylmc
H1[pgppepq
h1pgppepq
h1WSSPs 
h25gqgg(L
H2]CCNCCCBACC
H2DdA[[[
!h2gAjgfG
H2gOjgfG
h2k]cgfG
H2llllllllmllllOllylm
h2llllllllmllllOllylmH
H2llllllllmlll]Y]]
H2ODwzLJhggfwa
h|2p	-85
h2u2l2m2
H:3@@@@B@A@2 @H
 H3E H3E
h3fA[[[8[[[
h3fI[[[1[[[6[[[
h3]g'egfG
H3IIKIYIIIIIIIIIIIIJIIHIKIJ
(h3llllllllmllllOllylmw
h3xgqgg	
H[3zkVS*
h  4     
h4gKBgfG
h4'gqggg
H4;H0r	A
H4;H0spH
h||4i||8n||
h4llllllllmllllOllylm
h4llllllllmllllOllylm7
H4pgppepq
H4wg'ngfG
.h5DggegfG5
H5DllllllllmllllOllylm
H5gIAAAA@AAAAACJ;
H5llllllllmllllOllylm
h5OdG[[[
h5PSSBYBO
[[[H6fdL[[[
H6	gqggl
h6llllllllmllllOllylm:
H6NgMdgfGx
H.]6pgppepq
H6xx]Y]]
H7FKWfffY8HGWWW.
h7g?kgfG
h7g]kgfG
H7g-lgfG
H[[[	7hfJ[[[
[H7[I12[
H7(llllllllmllllOllylm
h7llllllllmllllOllylmF
H7pgppepqJ
h7]TgfGt
H|| 7|||W||
H7|xly@M
H7xx]Y]]osY
H#||||||||#8	
H:#||||#8	
H?#||||#8	
H85gqggS
H8#||||#8	
H")||||89?|||||
H")||||890|||||
H8Dxx]Y]]mWX
H8eQ[[[0[[['[[[
h8Gl0dIT
H8llllllllmlll]Y]]
H8ollllllllmllllOllylmML
)H;8u*H;
H8VUlwjD
h8xll8x(k8x
h(8((]Y]]
h8yxgy8x
h8yxuy8x
h8yx]y8x
h92g7dgfGvG?
h:97977997
H9#||||#8	
H9]8|eH9_8|
H98u0A8h
H98u0A8hYt
H99eh_vDm#
H9APt8H9A
H9C;?AG;llllllllmllllOllylm*?
H9C v1H9S r'H
h9DdJ[[[
h9DdM[[[
H9DdN[[[
h9]dY[[[
H9E0wT8_
H9FPtjL9x
 H9F v?H
H9G8uCH9
	h9gqgg 
H9gqggWK
 H9G v?H
H9_Ht	H9_P@
H9IdV[[[)[[[
'H9JJ:MMJxyxpy1;
H 9K u#A
'H9;L:JLKxyxhyVx
H9OHr'L9OHs!A;
h9'pgppepq
h9pgppepq
H9pgppepq
H9spu	H9
	h9]t9]4x
H9_@tAH;W
H9)tWH9i
H9_ ukH9_
]h9]xtX3
H9y t1H9Z
H9y t6H9Z
H9y t#H9Z
H9y t_H9Z
H9y tlfA;8tf
H9y tLH9Z
H9y tmH9Z
H9y ttfA;8tnH
H9y tuH9Z
H9Z8| H9Y8|
h@@@@@@A@@
h@@@@@@A[@
[[[H[[[A[[[
H@@@@@@A@
	]HA08		
@.HA)?5xx]Y]]qiY
'h AA@A2!D[
'h AA@A2!DU
hAAAAAAAA
haaaaaaaaa
hAAAAAA@AAAAAC
HAAAAAA@AAAAAC
HAAAAAA@AAAAAC7
HAAAA@AAAAAC
HAAAA@AAAAACly
'h AAAAAA@Ai!E[UUF
hAAAAA@AAZqWE
'h AAAAAAB@.!MU
HAAAACAEAyqAXX
hAAAACC@AJqAAAAAAAAAAA
hAAAAYC@AYqZAAAAAAAAA
@@H@AAac
@@H@AAacoo
'h AA@A.!DV
'h AA@Ai!GLIb
'h AA@Ai!JO
'h AA@Ai!MT
'h AA@Ai!MU
'h AA@A.!L[
'h AA@A.!La
HA[AASNGL
'h AABCi!DV
@@H@A@ac
@@@@@h@@A@ACac
@h@@A@ACac
'h AA@@.!D[
Haaea]Y]]
H[AAGHDHL
'h AA@@i!D[
_H[AA[LO
H]AAOJZPH
HAAPPCLZB
Haa]Y]]-
H[AAYCGD
HAAYPYHJ
haazIuaagkgIIaak
h@@@@ABA@PpD@@@@@
H:abB@@@
HABDHS[KEDQNL
h)))ABED
@@@@@HABEp@Gu
HA_BGZ@C
HABKF]ZEHZADZJF[LLMF]HAB
[HABMENYHOJL
HABSKKAG
HABZ]JZXD
@@H@AC@@@@@
@@H@AC@@A@@ap@D
@@H@ACac
@@H@AC@@@A@dp@Kh
@@H@AC@@@A@HpFO:
'h AC@Ai!OAAAAAA
@@H@AC@@@A@_p@G
H@@@@@ACAtp@[
@@H@AC@B@A@
@@H@AC@BA@@Hp@D
@@H@AC@B@A@Hp@F
@@H@AC@BA@@Hp@H
@@H@AC@B@A@Hp@L
@@H@AC@B@A@Hp@N
@@H@AC@B@A@Hp@ypk
@@H@AC@B@A@Hp@ZA
@@H@AC@B@a@Lp@u
@@H@AC@B@A@Lp@_Z
@@H@AC@B@@@ap@OWQ!
@@H@AC@BBA@
@@H@AC@B@@@Cp@i
@@H@AC@@B@@dp@@@@@@@@@@@@@@_p@L
@@H@AC@B@@@Hp@b
@@H@AC@B@@@Hp@H
@@H@AC@B@@@Hp@L
@@H@AC@B@@@Hp@Z
@@H@AC@B@@@lp@Ln
HACBPJQOF[K]_KZ
]HACE_QC
_HACEZ_OMY
@@H@AC@@@@@gpE@@@@@l
HACgqggp
HACH[KFDBAZQLE
@@H@AC@@@@@HpB
@@H@AC@@@@@hp@@@@@@@@@@@@@@ip@@@@@@@@@@@@@@jp@@@@@@@@@@BA@@Hp@DL
HACJBYPKLSB]A
@@H@AC@@@@@jp@@@@@@@@@@BA@@Hp@D
@@H@AC@@@@@jp@@@@@@@@@@@B@@(p@@@@@@
HackTool
@@H@AC@@@@@Lp@_
@@H@AC@@@@@lp@D
@@H@AC@@@@@Lp@i
@@H@AC@@@@@Lp@m
@@H@AC@@@@@Lp@n
@@H@AC@@@@@Lp@S
@@H@AC@@@@@Lp@y;
@@H@AC@@@@@Lp@Z1w
@@H@AC@@@@@np@@
HA_CNPOKGFHDN
@@H@AC@@@@@op@Q
@@H@AC@@@@@)pGG
@@H@AC@@@@@_p@J
)))_H[AC]PONJQ
_H[AC]PONJQ
HACSX_JZG_]_HSBXJ
@@H@AC@@@@@vpQR
H]ACZPEMJY[
HACZ[XNKN_EY
h@@@@@@AD
@@H@AD@@@A@@
@@H@ADac
HADAO[KJ
HADDOJYN
_H[A]DE@GY
HADH_HKPHNLHKNKSHNPHSXKPHMZH
HADHMHKEHN
HADJOYQOZ
h[@]ADL]@J
HADLMYL[
HADNAXCMK
HADQEHYOBOAY[B]ANM
HADQ@XZMN
]HAdS[[[l[[[
H.AdV[[[
H@A[DXS]J
@@H@AEac
@@H@AE@B@A@
@@H@AE@B@A@2 @|
@@H@AE@B@A@2 @Q
HAEPJBCLJ[O
HAEYLNXA
HAEZ]BQCYP
[H[[AE]_Z]Y
@@H@AFac
_H[AF]DH@E
HAF[JHMF
_H[AFJ_MBHS
HAF]LEKM
HAF[Y[YPNZQKMQ
)))_H[AFZ]
HAG]BBSL
__H]AGCFQ
haGCgWkgfG
*Hag!egfG
HagfG4	a
HA_GLN@ZKZDM_
HAGO]YL_
HAG[QE[PQCGBZGN
HagwpgfG?.
HagyagfG
HagyagfG|
HagyagfGE
HagyagfGi|
HAGYEHQSSO
HAGYM_LMJ
hAg	zffG;
@@H[@A[_H
HAHACB]L
HAH]BGLGC
H@@A@h CO
HAHDHJHGK
h@@A@h DX
H]][AHGMEL
HA[HGZBG
HAHHFNH_HJ
h@@A@h IS
'H:AH:KOIxyxvy
HA]HLL[LMM@]
h]AH[LZMFN
HAHNE]ZBY
H@@A@h NHZ
H@@@@@@A@HpBH
@@HA@HpBT'
haHpgppepqJ
h@@A@h PN]
@HAHQCDBOB
h@@@@@@A@h QY
[H[A@_HY[@_H]H
|)))_H[AHZA
)))_H[AHZALZYL[ZLJFGM
H]AHZFO]FGE@GLZ]F[L
h[[[AINfP[[[
HAJ@AKGDD
HA@JAMCP
H_AJAPNMC
HAJ_C_JJD
HAJDZQX[MG
HAJ_HEAHCSN
HAJL[[MAMXG
_HAJS]KOB[MJ]SKJ@]L_HH[DO[
HAJXOYP[[
[[[HAKdT[[[
HaKeKEK9K
HAKEZEBZ
HaKgK4KjJ
HA@KJMKLOM
HAKK]DJZ
HAKKQSK__CL
HAK]MEHN
_H[AKXPHDQNL[YAYHHSJD
H]_AK_ZB
_H[]ALAH@[Z
'HAL;AKA:xyx
HalDispatchTable
)))_H[ALH
_H[ALHML[Z@SL
HAL]KHQ[P[
hallllllllmllllOllylmBCI
)))_H[A@LMK]AF
HA_LNLHSZC_YG
)))HA[LO
)))_H[]ALO@EL
HAL_OJKD
@@HALp@l
HA_LSDJPDG
H_ALSNCB_E_YZMNP
HAM_[[BOAXN
HAMC_LZPNMKQLCKF__QDJL[JFCZ
HAMGM]CAS]CZP
HA@MH]EJZ
HAM[HE_SXNBY
HAMHJ[ADADJDD
HAMIAKK@AJ
H]A@[MLQY[LZZ@FG
HAM[N[BJA
HAMPLFJD
HAMZNPCA
HA_NBD[L[]LDH
H[ANCNQSHJ
handle_large_va
handle_manager.cpp
HandleRef
handles.size()
?HandleUiaDestroyListener@Element@DirectUI@@UEAAXXZ
?HandleUiaEventListener@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?HandleUiaPropertyChangingListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@@Z
?HandleUiaPropertyListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
HandsOffMessageW
HANGKBXCGB
HANNA_OCLM
@HAN]XZGSCK
HA_OAANN
h|a(o|aHn|a
HAO[JHJPKLOYMAZ
HA]O_JON
HAOLNHNNH
H[[aO[[MN[[
H@AOXKHZYYCQ_BM
HAOYLJ]PS
H_A]OZPZQ
@hA@P@AEac
HAP]BMJ]P
HAPCOL_DXPJL
H@@A@;pGI
HAPG[PCL
hApgppepq
HAP_KPFKKKX
haPropAttrWWWd
HAPSPE]SK
HAPXXXMSQQRA 
H]A]PYL]@DLZ
h)))APYL[E@GB
)))H]A]PYLIiKi
'h AQ@@2!DvAAAA
@hA@Q@AEac
HA_QAXZ@[
HAQC]ACQC[@X
H_AQCHMQC
HAQCOXD]X
___HAQG]C_
HA_QK]@FGNZ
HAQMQZ]N
HAQMQZQ]N
HAQPXCM]SSO[
HAQSKBSL
hardcoded
Hardware
HardwareId
hARSSBEs
haRSSUs5]
hasappendeddata
hasavcompatvalue
hasboundimports
has_checksum
HasConstant
HasCrypto
HasCustomAttribute
HasDeclSecurity
has_delay_load_imports
HasElementWW0C
" has expired.
hasexports
HasFieldMarshal
HasFuzzy
HASGONLPQ@KJ_N[Y[
Hash algo invalid or not supported
hashalgorithm
HashAlgorithmWWW
HashCacheLookup
HashCode
hasheddomainname
hashedfilepath
hashedfullpath
hashedpath
hashedprocesspath
HashIssues - 
HashMismatch
HashOffset
HashSize
HashType
HASJXDB[XZ
HasLowFiMatch
has_many_resources
HA[S]M]M
has_msilresources
H[_A_]SOQSXXJ
hasOwnProperty
HasPartialCRC
HasPEKCRC
[HASQPLFSAMS
HASQPQMSQPPA 
HasSemantic
hasstandardentry
HasTelemetryPath
HASXZSCY
H@ASYKAAOHJ
H[ASYSDX
HAUAKIAJ
hawesome
HA]]XFKOQNGXBSJACS
HAXHBXHYHJ
HAXHENKEHANHSX
HAXHENKEHANHSXHM@H
HAXHJNKMHM
HAXH[XKGHOHHQHKAHAXHSXKAHN
HAXLZLNDZC
H__]_AXOP
h@@@@@@A@Xp
HAXQM__QPC
HAX[SPOQ[M
HA@XXKQGS
'HAxyxpy
HAXZYHOHQS
h)))A]]Y
)))HA]]Y
H)))A]]Y
HAYA_LNL
HAYG]MGA
HAYPOLZN
HA_YQL_DK
HAYQNAJYZHJS
#h)A]]YZ
h)))A]]YZ
)))HA]]YZ
HAYZFKCN
HAZABHHM
HAZA[DOBJ
HAZBOJC]HQSMFO_A
HAZB[XS]DH
HA_ZEGPMBLQYZ
H[]A@ZFO]
HA_ZSOFGCA@ZC_]KZ_X
HA[ZXMHJ[FOO
HAZYK_QO[ZBC
[[[;[[[hB
hb1pgppepq
!hb1	qCz
HB6viD6T
h@@@@B@A@@
)))_H[@BA
H@@@@B@A@
H@@@@B@A@@
h@@@@B@A@2 @E
HB@A@2 @E
H@@@@B@A@2 @F
H@@@@B@A@2 @N
hB@AA2 @M
hbAAAA@AAAAAC
.hBAAAA@AAAAAC
H@@@@BA@AHp@CO	
h@@@@B@A@AQ@]P
h@@@@BAB@Hp@L3k
HBABQZLACKO
H@@@@B@AC@
HBAGB_Y[P
h@@@@B@A@Hp@]
H@@@@B@A@Hp@
H@@@@B@@AHp@J.w
H@@@@B@A@Hp@k_
__[HBAHSSBQ
h@@@@B@A@h @Ub
HBAKJZBFEGOQ
H@@@@B@a@_p@J
HBAPKQ[M]N
H@@@@@BA@Ppv@@@@@
[H_B[ASODNM
H)))BA]]Y
HBAYAOAS
HB[_A[Y[M
HBAZ__JDEN
HBA[_ZOMMN[
h@@@@B@BA
H@@@@BBABOp@@@@@@@@@@B@ACLp@f
h@@@@BBADxp@@@@@@@@@@@
HBBA_[XQH
hBBBBBBB
HBBBBBBB
'h@BBBh E@@@@@7
HBBZKFDXGO@
@@H@BCac
H@BCAh J@@@@@
H_BCA]JQ
@@H@BC@@@A@Lp@I
@@H@BC@@@A@Lp@m
@@H@BC@B@A@lp@FB
@@H@BC@@BA@|p@@@@@@@@@@@BA@cp@@@@@@@@@@@@A@jp@@@@@@@@@@@@AAgp@O;
@@H@BC@B@C@qp@n
@HBCBHgQEyBOLC9
@@H@BC@@@C@)pGP
_HBC_XLOKGOCCZMN[
H]BDDJQC]]
HBDG[DHYL
HBDHE[LEFHM
HBD]HXKL
|hBdI[[[
_HBDXABA
HBEABELCB
@@H@BEac
HB[@E@BBHYHB
H]BE@BFO
hB"eC[[[
H[_BEDPZHAS[
hB"eK[[[
HBEK_HHA_
[[[HB"eQ[[[
hB"eT[[[
HBEZGC[H
HBFBBKKSQP
HBFBCEM[O]O[
]HBFZJZ]HZBHBH
HBGCSEZZ
@HBGEA[]_QQEK
HBGFBZZKHEN
HBGHPGZHGK
HBGNO[DD
HBG[NYCHNDKD
hBgqggKSl
(Hbgqggv
H|bgqggzn
@HBHBBfQEyBABB
H[BHBHY@
@HBHDezBOM9
)))HBHDH@AM
hBHDH@AMy[F]LJ]))
@HBHEfQEyBHsSPSSdQEyEXQ(QSSW@IEBIg	
HBHJH]SN
HBHLBLNQENGKCDE
@hBh@oBo@mBm@ik
H@@@@B@@@Hp@L
HB@@@Hp@U
@HBHsSRSSgUs
@HBHsSYSS
@HBH@UEBU
HBHXNZ[H
HBHYHOHXK
HBHYLNNAE
]]HBHZYQSJ
HbIEHCIITIeIIZI
?hbinu	9o
_H[BJBFJ
HBJCOPELGHEZQZKZ
HB]JCX_XH
HBJG[CPE
HBJSQP]_NY
HBJXGJ[D[CX[]OQEOGBOA
HB]JXLDO
HB_JY[CO
hBjzjhggfw
HB[JZZ_[MCB
HBK1K KuJ
HbKPKWKGK7K
HbkPositionWW
_HBKSZCZES
_HBKXGCGE[
HbKYK:K!K
Hb_[[[l[[[
]HBLAYG]
@HB_LC9l|
)))HBLEYHM
HBLEZ_JL
hBLEZJ[@Y]))
HBLF@XDJHS
HBL_GXXN
H[[BLKOAJ
)))_H[BLP
]HBLQZLYC
HBLYHYJG
]HBLZLH[JA
H@BLZLSL
HBMANNLPBMJBD_D
HBMCAESEJJYGSJ[L
HBMEJGQC
HBMLDYXGE
H_BM[_LK
HBMSJPGA
[HBMXPSP
HBM@ZJ[JZD[
HBN[BDNJ
HBNDJD[DOE]JNN
hbNdN[[[
HBNHYHHBH@HHCHHBHJXHNHJHHJX
HBNJFPYJHOL
H_B[_N[JHE_S
HBNKGCHEEHL
h[bN[[[o[[[m[[[R
H@@@@@@B@Np@M'
H]]BNYFDCX
HBOC[LP]JKD
HBO]DDHSDA
HBOESNN]YD
HBOJZYQZPY
HBOK_GBPSN
HBOMPSSE@
]HBOXCCCE
h@@B@[peL
hbpgppepq
h@Bpgppepq
HBPKL]XNJ[N
H]BPQFYY
h@@B@[pWL
HBP_ZKAEK_A
HBPZLBLQ
_H[@_B@Q
HB_QEE_L
HBQJE@PKOBQL
H_]BQKDAL
HBQPZYHQO@LJKZ[CN[
H]BQ]YLPZEX]]B
HbrubpuC@
HB@SDKKPBY
HBSESMKXHN@EQKDD
]HBSEX_XYQ
[[H[BSFMQXK
HBSKZ@HHY[
HB@SL]N]_N
HB[SM]H[BOYYYX
HBSQL[D@KKZG
HBSXOB]QLXFN
HBUsSQSS9
[HB_XBJJ
HBXJPJBY
HBXKC@YD
H[BXL_O]N
@HBX@pBYBX
@HBX@rBYBX
HBY[BLNPP
HBYKFZKS
HBYLGXNMGA_O
HBYNKDZP[OAXPZ
_H[BYPHGD
HBYQNYZPOP_
HB[Y_]QY
HBYSY[FEC]
hByyycyc
[HB]YZKKOY]@BB_BHYL
HBZG[YQDJB
HBZJKSMFZB
hB[[[Z[[[K[[[
HB[[[Z[[[K[[[
HBZLAMM_MJ
H@BZMHDX_YCQHPY]M@_
HBZMSQL]FAHXJP
HBZYZSMJM[NH
	)))_H[BZZ
HBZZ]BCEJEY
[[[H[[[C[[[
Hc4'pgppepq0
'h CA@A3!A
'h CA@A3!AO7lB
HCAAAxqAEt;
HCAAJ[MQXL
H_C[@]_AB
HCAG[LOGN
_H[CANAN
hCancelEvent
HCAN]XPS
HCANY]KBMO_CX[Q
HCAXN]XGL]
_H[CAZMOB
HCBBHOG]
HCB[]B@JSQ
)))_H[CBEEBCAPN]P]ZMCO@CN@OANABEBEH
[h[c[b[l[m[o[v[
HCBM_EZYLD
HCBNB_QB
HCBNYJ_NYH
HCB]_SLLYNB
_HCCBJ_[
HCCBONAQO
HCCCCGGG
@@H@CC@@@C@dp@Ngd_
H_CCCQG_P
HCCJBK]H
H[_CCKXADPOGZMYEAB
HCCMQNZLOLXOCH
HCCNCCCBACCE216
HC_C_QC[
H]CCQS]_B
HCCXDC[PKS
HC]CYGLMK_
_HCd[[[[
@@H@CDac
_HCDAZBGL
h_CdB[[[
hc'dgfGC
HC]EBPEA
@HC_EE[HZ
-HCEIEEI
HCEK]SEN_G
HCEXPSHDL
hcf@[[[f[[[
_Hcg][[[
HCg7egfG
'?hcgfGP
H]CG]GAF
_HcgK[[[
HC__]]]GL
HcgoIgfG
hCgqgg9rWL
hCgqggjK
HCGQ@H@CKQ
_HC@GQJBPS_[GKZ
"())_H[CH
H!C H!C(H
HCHCZCLYC
HCHFHLHYK
HC@HG[LY[FJ
[h[c[h[l[h[k[l[h[j[h[b[
.)))HCHQ
HCHQDH]]L[Z
HCHQL[[F[
.)))HCHQv
hCHQYFZ]
HCHXEDYZPK
HCHXFBDKYZM
HCHXZZAQOKE
HcI;INII
HCIITIeIIPI;MCIITIeIIZI
HC__JBN]
]_HCJ[DNM
HCJFMZZNL
_HCJGA]D
HCJGBZXMP_PXGH]]]
HCJKACLABKO
)))_H[CJMO
H]CKAKN]F[[YHSQZ
H]CKAOPC[JC
HCkgcfgfG
HCKPXYCH
HCK]ZML[rCZHD
HCLA]CC_
HCL@[B[C@ABHG
HCLCYQMOAB
]H[CL]HZ
H_C]L@JJP@C
HcllllllllmllllOllylm
HCLOHM_L
HCLP@YAJA
HCLYOMN@GHFGBMAD[
H_CMBD_J[O
[HCM_HSSZPJK
HcmiDeferredW
hcmiLocalizationResourcesd
HCmiLogFacilityFlagsWXM
hcmiQueryGetSettingDefinitionsForSettingTypeNameW8
HCMLYLAE@ZHEL
HC[M_QNQA
HCMSMQQH_
HCNDH[XS]DM
HCNDQ_DPALF[ZAMBGHDLNZXNQ[FCP
HCNKHXGD
HCN]NOQAOXB
[_HCNOXJMPYZAASAC
HCNQXSM]S
HCNY_FNXNZSZ
HCNZYZHAD]GO[[C]CAA
HCOGBOJ]C]QXKXDDB
HCOG_NQG
hCohD!7]4
")))H[COLFGG@
hComputeEffectiveChangesW
@HCOOMPSM
HCOP@]LO
HCOXL@_NOQPO
HCOYN_XXBO
hCpgppepq
HCPJCH[KSH
HC[PPJOZ
'h CQ@A3!A
'h CQ@A3!AMAAAAAAAA)551
H"cQbgfG
HCQEKMCK
HCQ@JCHL
[HCQQKMXDPCGNO
hcQSSBVU
[_HC[QYZYDHNN
HCSAH]QSQEP
HCSGA]BS
H@CSHG]@
HCSKC]B]SGS
]H[CSSBZ_O
HCSYDZGDYMB
HCSYXPOZF
HCSZ]_[HX__NY
H;C tHD9p(uBL
hcw-gOigfG
@@HC_X]A
HCXLCZ@S[ZNLO]B
hcXllllllllmllllOllylm
H]CXXK@B
HCXZZG_NSYQ
H]C]Y]]0'Y
HC]Y]]3*Y
HC@][]YBGYK
HC[@YBOCMO
HCYZEMN_M]@
HC@YZFQDSDCE
HCZACL_CGPXD
HC_ZDOCCE
[HCZFXGQY
HCZHJQJPZS
HCZJ[K[OSJ
HCZ[]JS_Y
HCZLKGY_NF[_@GL
HCZLSXMZGPAS
HCZNYPZH
HCZOYZAMZ
#-hd][[[
[[[#-hd][[[
Hd][[[![[[
!)))H[D_
())_H[D]
)))_H[[][@D
)))_H[D]
Hd][[[?[[[0[[[
h|d_[[[2[[[
H||@d||6d||
!hD704]0
HD#||||#8	
hD8mXuRD8hKt
#-hdA[[[
HdA[[[([[[
HdA[[[][[[
HdA[[[7[[[4[[[
HdA[[[9[[[?[[[
_HDABZDF_[
hdA[[[e[[[d[[[
H)))_DAFDLZ
Hd_[[[a[[[g[[[
#-hdA[[[J[[[
]HD]ALP]SBN
@HD]ALYL[ZFGGLEDHGHNL[FOHEH[NL@G]L[GH]@FGHEJFDYHGP
HDANJQXZ
HDANPGCCEG
HDANQED[]DKGHOP
HdA[[[w[[[
_HDAXD@CY
HDAXJHN]OJFOD
HDA_YNDKGJH[LEKHAP
#-hdB[[[
[[[#-hdB[[[
Hd@[[[B[[[
HdB[[[4[[[*[[[
Hd@[[[b[[[a[[[
HD@@@@BAA@Hp@M
HdB[[[c[[[
H_DBEJHX]
_H[D]BGXF
HDBHAKA@FXZM
HDBHBSSYNA
Hd@@@@@B@@@Hp@w!
HdB[[[i[[[h[[[
HDBJECZLCHS
HdB[[[L[[[C[[[
[H_DBLGXHN
hdB[[[n[[[m[[[F
HDBQJFQK]QS
HDBSJDZED
HdB[[[W[[[N[[[
HDBXCLPBOESQSAP@P
HDBX_CZGDDAX
HdB[[[y[[[x[[[ TBeI[[[
#-hdC[[[
hdC[[[	[[[
HdC[[[-[[[#[[[
@@H@DCac
HDCAKE_JS
Hd][[[c[[[e[[[
HdC[[[f[[[
H_@DCH_H
)))[HD@CHKHE@
[HD@CHKHE@
[HdC[[[H[[[O[[[
HDCHXLPPZFFB
HDC@_JLZXYY
@HD[_CKXOKQX
HdC[[[M[[[A[[[w
@HD_CMJCMBJCK[L
@HD_CMJN@_
@HD_CML[AMNOXJD
Hd@@@@@@@@@cp@U
#-hdC[[[r[[[
HdC[[[u[[[h[[[
HdC[[[v[[[
HDCZEOSHHCC
#-hdD[[[
[[[#-hdD[[[
h!Dd@[[[
HdD[[[4[[[
HDDAEG]X
HDDDYQ@@ODFM
HdD[[[f[[[
HdD[[[h[[[
H[DD@[H@
(HDD Image)
H[d-![dIP
H-DdK[[[;[[[?[[[
HDD@LJXAZ
]H_DDM_Y
HDDNL_]MNG
@HDD_OC]
HDDP_AEFNPCZ[
HD_DQBSG_GO]EEHLAN
HDdR[[[D[[[s[[[
hDdR[[[_[[[o[[[
HDD]]SCMMHC
Hd'.@dSN
hDdS[[[X[[[M[[[
hDdx[[[Q[[[d[[[
#-hd@[[[D[[[z[[[
HDdz[[[|[[[
#-hdE[[[
HdE[[[?[[[
_HDEAJHMDM
HD@ED]GEEP
H[DEFE@JF[L
HDE_G[[[]Z
hDE@_LhJ]@_@]P
HdE[[[S[[[Q[[[z
hdE[[[t[[[k[[[
#-hdF[[[
HdF[[[#[[[
HdF[[[A[[[
hdF[[[b[[[
HD_FBPLOL[
HdF[[[c[[[
HDFCP[LM[OJLQX@FXZDGGBCHCNSBHHEXH
HDFG@GZ]
HDF[GH][GAYXQ
hDFGL]@SL
HDF[L]HGF@G][FMHGF
HDF[LZD@]A
HDF[LZYHZHEFG
]HD[FOvQ
h_dF[[[_[[[p[[[
hdF[[[q[[[u[[[
h_dF[[[_[[[t[[[
HdF[[[U[[[
HDFXMXDBE
)))[HDFZ
[HDFZ[HDFZ
H]DFZYAL[L
h]DFZYAL[LhJ]@_@]P
_HDFZY[FCLJ]Z
#-hdG[[[
HdG[[[0[[[
HdgcagfG
_H[D@G@D@SL
H|'dgfGhnt
)))_H[D@GF[JH
[HdgfwO5
HdGgAhgfGcS
HDgGegfG*
HDGG[PQ_
HdG[[[h[[[7[[[
[HDGH]Ai]L][HYHB
)))_H[D@GL[
_H[D@GL[
HDGMESND
_H[D@GMZ
HDGOSCESZ[GAKBO
HDGPAGGAQLZQD
HD-gqgg3]
Hdgqgg@G
hD*gwhgfG
hD*gwhgfG5W
hD*gwhgfGT
#-hdH[[[
[[[#-hdH[[[
hdH[[[	[[[
H[DH_@[]
)HdH[[[8[[[
HDHADO]LFM_S_KYY
HD[@]H]AHYH[
HDHA]PQJA
HDHCAME_
HdH[[[d[[[
HDHD][EACCCZ
H]DHDEGH
HdH[[[f[[[d[[[
HdH[[[F[[[r[[[6F
?)))]HDHGAF
]HDHGLN@
HDH[HAHZK
H@]@DH]HOK
_H[DH]JA
h@DhJ]@_@]P
HDHLGFNO_A
HDHMABNJ
H__DHMLY
)))_H[DHMLZJF]][HML@GYH
_H[DHNZ@SL
#-hd][[[h[[[o[[[
HDHOL@DFH
HDHPLQCPMA[[M
_H[DHQ_HE
HDHSFGC[DCM
HDHSFGQK
HdH[[[S[[[V[[[
HdH[[[V[[[I[[[
HdH[[[v[[[t[[[
H)))DHXO@E]L[
H]DH[Z[JE
#-hdI[[[
h||di||Fi||
HdI[[[g[[[
HdI[[[h[[[
HdIIBJIIIIH
HdIImJIJIIH
HdI[[[J[[[v[[[
hdI[[[M[[[A[[[
h||di||Ni||6i||
#-hdI[[[P[[[
#-hdJ[[[
 [HdJ[[[
HdJ[[[5[[[
]HdJ[[[6[[[.[[[
HdJ[[[6[[[5[[[
HdJ[[[E[[[
HdJ[[[f[[[
h())D@J[FZW
HDJGOYBB
HDJ@GZ]HEE]LDY
HdJ[[[h[[[o[[[
)))_H[DJHYZ]FGL
HdJ[[[k[[[
HDJLQ][HJ]KP]L
HdJ[[[m[[[
HDJOCQ_L_KNH[JOZLZHYFC]CM[ONFJL
h'djR(gE[id
HDJSSNC[
HdJ[[[U[[[T[[[P
HdJ[[[z[[[y[[[@
#-hdK[[[
#-hdK[[[|[[[
HdK[[[#[[[
HdK[[[.[[[
HdK[[[4[[[
#-hdK[[[D[[[y[[[
[HDKEL[@DYF[]
[HDKFFZ]L[
HdK[[[g[[[f[[[
]HDKHAH[
Hd[[[[K[[[I[[[
Hd@[[[K[[[J[[[
HD@@KJNBJH
((HD@@KJNBJHXLHY[[
HD@@KJNBJHXLHZ][SXFSF]JOMF@ENJQKF
HDK@LG]LZ
HDKMC@AM_ZPLLGKXJ
HD@@K@NBJHPLHSO
HdK[[[P[[[p[[[3G
HDKPPGAXM
hdK[[[R[[[
HdK[[[r[[[
HdK[[[u[[[
HdK[[[W[[[
#-hdL[[[
Hd][[[L[[[
HdL[[[A[[[
H[dL]AFM))
hd[[[[l[[[c[[[	R
_H[DLDF[P
HD[LFG_LMZQKQP@PAOEMPXOS
HD@LFJJHZ@FGZ
)))[HDLGHDL
[HDLGZBFL
HdL[[[h[[[
H]@DL][HJBL[
HdL[[[H[[[w[[[
hDllllllllmlll]Y]]4oY
H]DLNF[JS
HDLNHGOFQAH@[Z]PEL
HDLNHGOFQYH[]PM[LZZLZ
:())_H[]@DLO[HDL
HDLOXXO]ZFS[@
HdL[[[p[[[
_HDL_PAZLPF
HdL[[[P[[[T[[[
HDLQMH@HMPGANE
HdL[[[S[[[P[[[
HdL[[[t[[[
HdL[[[x[[[
HD]LYAMHKF
H@[]@DLYEHPL[
#-hdL[[[y[[[x[[[
HD]LZ]@GN
)HdL[[[Z[[[r[[[
.)))HDLZY
h)))DLZZHNL
_H[DLZZHNL
#-hdM[[[
HdM[[[2[[[1[[[5
hdM[[[9[[[?[[[
#-hd@[[[m[[[b[[[
]HDMD]JPOS]
HDMEGDASM[X
[HDMH]Hu
HD_M@[LCPC
HdM[[[m[[[
HdM[[[s[[[q[[[
HdM[[[T[[[I[[[ 
HD_MXO]S]
hd@[[[n[[[
HdN[[[#[[[
HdN[[[9[[[
HDNA_ANYFDPO
]HD@NAPBQN
HdN[[[@[[[D[[[
HdN[[[F[[[
_HDNNYM[[
HDNPQL[HDN
HDNPSY@JS
]HDNQQQO
HdN[[[s[[[n[[[6
h_dN[[[Z[[[
HDNZJZ[]PDDH
H]DNZPLFB]JZZN
#-hdO[[[
[[[#-hdO[[[
HdO[[[)[[[
h|d(o|dHn|d
HDOHYNSXPKC
HDOJNONQ[LGCP
HDOMKOF[
HDOPK[QLQDDNX
HdO[[[P[[[W[[[
HdO[[[Q[[[
HDOQJHKO_DCKC
HDOQJNKJLS
HDOQ[JZL_EE
HDOQLPJC@
_HDOX[MJX
#-hdP[[[
HdP[[[2[[[6[[[
HdP[[[c[[[
HD@]PCDPLP
HD@]PCLJHGDQGL
HDPDJADZ_
HdP[[[g[[[
HDpgppepq!
hdpgppepql
H[DP@[HGYF
H)))DPJA[PZEL[
_H[DPKFMP
HdP[[[l[[[
HdP[[[p[[[
hDPSSPsA6_
)))_H[DPvZE@JL
h)))DPYH]A
_H[DPYH]A
_H[D]PYL
)))_H[DPZALEE
H[DPZJALDL
Hd][[[q[[[
Hd_[[[q[[[
HdQ[[['[[[
HdQ[[[a[[[
HdQ[[[K[[[J[[[af
Hd_[[[q[[[p[[[
]HDQQCFJC
[HDQXZ]SQXHQ_C
hdr9OVTgfG
HdR[[[F[[[
HdR[[[R[[[Q[[[P
HdR[[[x[[[
#-hdS[[[
HdS[[[2[[[
H"dS[[[9
HdS[[[E[[[u[[[
HDSGO][SYNGQ
#-hdS[[[I[[[@[[[
#-hdS[[[L[[[A[[[
HDSMQKOCN
HD_S[]N_Q]QZNP]S
HdS[[[O[[[A[[[
HDSPMXLOBYQ
HdS[[[r[[[
H_dS[[[v[[[k[[[	
[HD]SZ]HLJ
#-hdT[[[
hdT[[[	[[[
HdT[[[*[[[
#-hdT[[[1[[[5[[[
hd T(eyg
HdT[[[M[[[L[[[
hdT[[[u[[[
HdT[[[z[[[
#-hdU[[[
Hd_[[[u[[[
HdU[[["[[[
hdU[[[3[[[
hdU[[[7[[[
HdU[[[K[[[
HdU[[[l[[[
HdU[[[w[[[u[[[exTdJ[[[v[[[
HdV[[[5[[[
HdV[[[A[[[F[[[
#-hdV[[[b[[[a[[[	
#-hdV[[[B[[[A[[[
HdV[[[F[[[
)))_H[Dv_H[Z[J
#HdV[[[t[[[
hdV[[[W[[[
_H[DvY_H[DHZ]L[
H[[[[[[dW[[[
hdW[[[6[[[
hdWdP[[[
#-hdW[[[D[[[q[[[*
HdW[[[I[[[
HDWllllllllmllllOllylm
hdW[[[m[[[
hdWSSPsV
HdW[[[Z[[[
HdX[[[	[[[
[]HDXBJO
Hdx[[[c[[[f[[[
HDXDGEKGNXP
HD[XECHY[]JE
HDXHPHMDHENHQHM
HDXJCHKD
H]DXOP@K
HDXPPQSZ
Hdx[[[w[[[
HdX[[[Z[[[u[[[
#-hdy[[[
Hdy[[[ [[[
Hdy[[[?[[[
hdY[[[a[[[
H]DYBZ[GD
HD_YCAPG
]HDYCQDQ
HDY[DKGHH
HDYF[AK_JB
;)))H]DY@G
HD[YGBHX
HDYG@NSLO_L]KZHBM
)))_H[]DYH[[
h)))]DYH[[r@t
HdY[[[l[[[
HDYLCZDFB@[KB
H@DYLH[E@GNK
HD_YLHGM
_H[]DYLQLO@EL
]HDYL[Y[F]LJ]@FG
HdY[[[m[[[l[[[
HDYQF[C]AB
HdY[[[S[[[Q[[[
Hdy[[[][[[S[[[XX
HdY[[[T[[[J[[[
hdY[[[W[[[
_H[]DYYMOO@EL
#HDyyyk1
hDyyyyyyyy
#-hdz[[[
hdz[[[@[[[
#-hdZ[[[
[[[#-hdZ[[[
#)))HDZ@
hdz[[[2[[[
#-hdz[[[2[[[6[[[7
HdZ[[[4[[[
HdZ[[[a[[[
HdZ[[[b[[[
hDZ@B@EE
Hdz[[[C[[[
HDZCQANH_S_
Hdz[[[D[[[
HDZ[DC]XSKN[ZC
Hdz[[[D[[[x[[[
HdZ[[[E[[[
hDZ@|]@EZ))
HdZ[[[F[[[
HDZ@@G@]OH@ELM
HdZ[[[h[[[b[[[
HdZ[[[H[[[B[[[2
HDZ@]HDYL[
HDZH[G]X
)))HDZ@HZ[]LZ]DHN@J
HDZ@HZ[]LZ]DHN@J))
;)))HDZ@JEFZLZLZZ@FG
hDZ@jFG]LQ]))
HDZ@KPYHZZ
hDZ@lGHKEL))
HDZ@LGHKEL
HD@Z]LPLGNLEZ@G
hDZ@lQLJ
HD@Z@M))
HDZMGD[ZNC
HDZ_@MLFu
hDZ@oH@E
HdZ[[[x[[[
hDZ@yH]JA
he[[[[[[
|||||||||||||HE
H[[[|[[E
HE4x	_D4
HE#||||#8	
H!E8H!EHH
headerchecksum0
headerpage
headerpage not available
HEADERPAGE_SZ
HeadersW
HEA[HMH@G_JS[NYQ_
]H]E@AHPH]
HeapAlloc
HeapCompact
HeapCreate
HeapDestroy
HeapFree
HeapReAlloc
HeapSetInformation
HeapSize
HeapValidate
HeapWalk
heartbeatcontrolgroup
HeartbeatError
heartbeaterrordetails
heartbeaterrorhresult
HeartbeatErrors
heartbeatfeatureerror
heartbeatfunctionerror
Heartbeat Reporting Result
hEARTB	uf
hEARTDFSHU	EFTB
hEARTDFSHU	oa	
hEART	ec
hEART	ue
HEAXGLYGDP
He][[[b[[[
HEBAJBH[FZODGS
heB[[[G[[[
HEB]G_JH
H[EBHHX[M
HEBN][D_
HeB[[[w[[[
@@H@ECac
HECAFPYN
[HECGPBFP
h-ECgqgg
HeC[[[k[[[
HEDEXBSD
HEDFGMuu
HEDFHSHDZ]F[LZ
HEDFPPMZ]
HEDFZ]HBKH
H"EdH[[[
HEDH]LJA
HEDH]LJALZ
HE@DLG]FZ]FE]LG
"HEdN[[[
HEdO[[[3[[[2[[[
hEdR[[[p[[[
h;Edx[[[
HEDXE[[N@]QSD
HE]@EE@D@]P
;)))HEEFJ
HEEFJANEFKHE
hEEFJANEFKHEjFYP
])))HEEFJBL[GLE
HEEFJH]@FG]PYLt
HEEFJH]L
HEEFJH]LHGM@G@]@HE@SLZ@M
]HEEFJvYFY
)))HEEFO]ALMH]H]AH]AHZKLLGLGJ[PY]LM
((]HEE@GNMLYLGMLGJ@LZ
hEEH]F[@)(
HEEH]F[@
hEEJAHG]FE_
HEEJELHG
HEEJFD@JZ
HEEJ@]P[FFOL[Z
HEEK@GH[P
HEE@LMNEFKHE
?)))HEE[@NA]ZH[L[LZL[_LM
:)))HEE[@NA]Z[LZL[_LM
HEE[@NA]Z[LZL[_LM
)))HEEO@ELZFG
HEEOF[JLQ
HEEO@LEMZ
!)))HEEPJF
HEEPLH[ZvCM[Ov_@MLF
HEEvBLPZ
HEEYL[D@ZZ@FG
H")EEyxby]
HEEZLLDZO@GL
HEEZLQP@GKFQ
hEE|ZL[Zy[FO@EL))
HeF[[[;[[[1[[[
heF[[[a[[[
_HEFBHEF
HEFCHD@LG]F
HEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFZA
HEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFZAr[LOELJ]@FG
_H[EFGN]LQ]
:)))_H[EFHM]@DL
_H[EFHM]@DL
)))_H[EFHML[
_H[EFHML[
]HEFJHCFE@GNZPEELGLZE@FYH
h)))EFJHE
h)))EFJH]@FG
_H[EF_L[
HEFL_L[H
_HEF[LZZL]YQ
HE]FNKJJD
H]EFYL[H]iPHDH]FHDL[@JH
HE]FZ@LN
H]EGAAZOL@E
HEGA]BCH
_H[[E@GB
_H[E@GBZ
H	eG[[[C[[[
hegfG[49
hegfG6(:7gqggZ
HegfGp B
*Heggfw:
HEgIkgfG
Heg#kgfGGI
@HEGM[LSF
h)))E@_@GN
H]EG]PAZDMPO
HEGPFYE[GHGOZX
HEG]QBDZS
HEgqgglJB
H(EgqggW
He.gqggX
HE]]G]SPWZG
H('egUfgfG
hEGyyyyy
HEGZLKMOE
H]EGZMZDX
@]]HE@H))
_@]]HE@H
HEH@AFDLZ]HP
HEH]C_[E
?)))HEH[D
HEH_D@CK[KOFFXQ
	)))HEHDHPH
hEH[DjEFJB
HEH[DJEFJB
hEH[DjEFJBhJ]@_@]P
hEH[DjFGO@NhJ]@_@]P
hEH[Dzdz
hEH[DZe@Z]hJ]@_@]P
H!E@H!EPH
)))H]EHG]H[LJPJE@GNJLG]L[Z
H_EHGM@GN
H!EHH!EXH
)))_H[EHKLE
]HEHL]EC
)))HE[H]LK
He][[[h[[[m[[[
_H[_EHOLH
HEH[QZCB
HEHXHNH[K
])))HEHZ
)))HE@HZDHG
H]EHZF_L[
HE@HZ@G_FBL
HE]H_@Z]H
HE@HZHZL]
)))_H[EHZ]JA[
H]EHZJFYJF
HE@HZKZL]
_HE@HZLZ
HEHZMH@[
HE@HZNHZL]
HE@HZNL]
H]EHZZ@HGJF[L
HEIBHIEBA
	?HeightProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
HeI[[[i[[[
HEII|IUKEII
HeI[[[N[[[L[[[
heI[[[W[[[
HEJBXXLQ]NZP
H_EJCNOP
HEJFAFE@J
@]HE@JHGNEL
 )))HEJH]LE
HEJHMBDQHL
H[EJLJDQ
H]EJ[OX[
_H[EJPZYFCP
HEJQNGZH
H"eK[[['
HEKGPGAQ_LQ
he[[[[K[[[H[[[
]HE@K]HE@K
HEKHG@HZYHJL
HEKHHZHCK
HEKhmi*Q
h)))E@K[H[P
HEKL[][FZH
HEKL[]N[HO@JH
H"eK[[[m[[[
HEKXNQNG
heL[[[][[[
 )))HEL[]
!)))HEL[]
)))HE@_L
)))HEL[]
?)))HEL[]
HELCHGM[F_@EEH[
HELCHGM[HY[LZ]HDFZ_
)))HELCHGM[HZ]HDH]LHZ
)))HEL[]]@DLM
HEL[]DZN
hEL[]DZNvjFGGLJ]@GN
HEL[]]FY
)))_H[ELG]
_HELG]@G
HELG]@GLZ
HE]L[GH]@FG
HE]L[GH]@_L]LQ]
HE]L[GH]LuQ
HE]L[GH]@O
_H[ELGN]A
hE@LGz]H[]
:)))HEL[]HEL[]
HEL[]HEL[]
HELHJH[]L
HE[LHMP@GZ]HEELM
HE[LHMPuQ
HELH@[PHYYZ
H@EllllllllmllllOllylm
HEL[]M@_
h)))ELO]
helper.cpp
helper.h
helperinterface.h
helperio.cpp
helperio.h
HELQBHGN
HELQHGM[LH
HELQHGML[KLS_L[AG@
HE@LQY[LZZ
HELQZL[N
HEL[]v@JFGvL[[F[
HE@_LYZPJA
)))HEL[]Z
HE]L[_@Z]H
())_H[EMBEONF
)))_HE@MH]
_HE@MH]F[
_HE@MH]@FG
HE@MH]@FG
_HE@MH]F[Z
H[E]MHJK
HEMHKHL_LG]FZ
_HE@MH]L
HE@MH]L))
HE@MH]Lj[LMLG]@HE))
_HE@MH]LJ[LMLG]@HEZ
_HE@MH]LK]
_HE@MH]LLDH@E
_HE@MH]LLDH@EHMM[LZZ
_HE@MH]LY[FO@EL
[HE@MHXDBK
)))HEM@K@B@
HEML[DHG
HEML[ZB[H_KLZ[NLGMLZ[LHDL
_HE@MOF[D]FBLGFK]H@GLM
HEMYAGQD
heN[[[-[[[
H]ENBCE]PMD
He@[[[n[[[g[[[
HE@NG[@NA]Z@SL
HE@N[]JB[
HEOGHAHEPHL
)))HEOH[[FQF
HEOHJFEF[
HEOHKHGB
H)))EOiYF
H[E_OLYLKGJS
HEOQDC@PAPHY
HEowgA[D
he[[[[p[[[
HEPADQON_Z
HEPFZDEE_LG_EYQZC
hepgppepq
Hepgppepq
@HEpgppepq
HEPHEL_H
)))HEPHJ
HE[@PHMA
HEPLXL]BN
HEP@SJHKZ_
He][[[Q[[[
HEQGZOQ]
HE_QJOKZQ[AGSK
HE[QNQEZN@S[DZBBQP
]]HE_QOXH]
HEQPKPLvAE@wuQ
HEQ[S_PSPXYDCYCH
'HEREISBOOTCODE'
He][[[r[[[q[[[dp
HESAMKEY[PKA
HESEEDDB
HE@SH[@G
HESKB_N@A
HESP[DPB
heS[[[Q[[[s[[[
(([_HEUR
@HE@WE_LsBHg
Hexadecimal escape sequence terminated prematurely.
Hexadecimal escape sequence was invalid.
hexBinary
HEXGZ_EY
H!EXH!EhH
HEXJCCKQ
HEXL]SDK
hexrekey
HexStringToBinary
HEXYHSYQ[Y[
hEYAHd@GL[
hEYAHeHBLha))
hEYAHeHBLhc))
hEYAHeHBLhh))
hEYAHeHBLhj))
hEYAHeHBLhk))
hEYAHeHBLhl))
hEYAHeHBLhm))
hEYAHeHBLhn))
hEYAHeHBLho))
hEYAHKL]
HEYAHKL]ZE@ML[
_HEY]BCKZSY
HEYC]DN[MK
HEY]HC]CCGMZJ
)))HEYHMLN[H
Hey[[[J[[[I[[[VJ
hey[[[m[[[
Hey[[[N[[[M[[[
Hey[[[q[[[
@HEyxux]
h_e@Z]))
H"eZ[[[![[[
H"eZ[[[-[[[
hEzAH@BA
_H[EZA@O]
heZ[[[d[[[
]HE@ZDHGZAFY
HEZF]A@GN
)))_H[E@Z]@GN
H_@EZKX@PX
][@HEZL[_@JL
HEZ_LNLPS
HEZXELQY[LZZ
HEZXXKQMAJK
HEZY_JBB[[DA
[[[h.(f_[[[
.)))[H]F[
HfA	4RE;Axr
H_FAANQGYKYH
HFA]]GGH
HFAPJZNLPC[
#)))_H[FBFB
_H[]FBLG
HFBMSA_LKCNXX
HFBPHHDAANQYLJ
HFBPNSLP_MCNAHKDDZQCZEHNQMKH
HFB_QON_[DY
H_FBYQOXOLZLCDK
@@H@FCac
H[[FCDA[KMJB
HFC]KOJ_JK
HFCZSSHL
]HFD@[[F[
Hf]dG[[[
H]FD@G@B
H]FD@J[LOL[LGJLH[[HP
H]FD@JZH_@GNZ
)))_H[]FDL
hF"dM[[[C[[[B[[[
hF"dM[[[h
hF"dT[[[
hF"dT[[[)
hF"dV[[[4
)))_H[]FEEO[LL
HFEFYMLYAG
)))_H[[FF]
HFfA9	ri
HFfA9	rX
HFF_HCCK
HFFXJYDNG
.)))H]@FG
hfGdG[[[
hfgdheVah
H_FGDQCN@
hFgEkgfG
hfggdgfG
HFG_HBHGG
[H]@FGHE@
HFGHNLGH[@HG
HFG]J_OZ
[HFGJZAC
HFGLJFDDL[J@HE
H]]F[GLPDH[@H[FNLZ
HFGMLO@JH[
Hfgqgg*9
HF'gqggb
hfgqggSV
H_@FGQY[LZZ
h[[[FgtdQ[[[o[[[
HF-gWkgfG
_H[]F]HEAHZALZ
HFHiYH]A
HFHiYH]AUUJ
H@[[FHKBAHMYLFP
H]F]HKXM
HFHLJJHH@M
HFH_OFLMM@
HFHYY]PL
h||fi||Mi||0i||
HFJBHCSNHPGAD
HFJHFMHuHFYHFMHMHMHMHMHMHMHFMHMHMHuHFMHMHMHMHM
][HFJMG[
.)))H[FKC
_H[FKCLJ]
HFK__C]N
h)))FKCZALEE
)))_H[FKCZALEE
H_FKFJ]COG_NE
HfKJK2K*K
HFKLKAKH
HFKMMCBBYE
HFKNGNM[Z_PABQ
HfKUKhJ6J
HFLDSAKQ
HF@LFOG_
hfL[[[F[[[s[[[
HFLHFQHFL
HFLHFQHFLHF
HFLHFQHFLHFHF
HFLHFQHFLHFJ
HFLHFQHFLHFJHF
H@FLJF@G
hfllllllllmllllOllylm
HFL@OLABAXMSSGGZNN
_H[FLQLJ
_H[FLZ[BF
	())_H[FM
?)))H[FM
HFMCCCZFL
h)))FMGFBEHZZG@B@
@Hf[M@GHE))
HFMHFEHFE
HFMHFLHFJHFFHFMHFLHF
HFMHFLHFJHFFHFMHFLHFHF
HFMHFLHFJHFFHFMHFLHFHFMM
HFMHFLHFJHFFHFMHFLHFHFMMMMM
HFM[_J_G
h)))]FMLJ[PY]HEE]ALMH]H
HFM[O_HQ_A[ZXG
H]_FMQM[
HFMYG[ZOYQB
@@@@h FN
HFNHFOHF
HfnllllllllmllllOllylm
[HFNS_QQHNM
HFOCJCDCQNK_NB[CG_FAM
HFOCZGAJ
@HFOG[KGES_
_H[FOOZL]
HFOXEMPP_Y
@H]F_OZKME
HFPdy[[[
]HFP@MZAMH
H@FPXQPZ
HFPYGGHCQ_MON
)))_H[FQ
hFQdC[[[
HFQHFEHFZHFKHFK
HFQKEPOB
hfrmregW
_H[FS@CXFE
H]FSEF_LKFFB
HFSPZ[_NMJB
HFS_SDK@FC]A
*hF[SSPs;
Hf*tgfGx
HfUfgfGr
HFuHFMSNSK
HFuHFMSNSQSDSLSF
HFuHFYHF[HFFHFNHF[HFHHFDHFMHFHHF]HFHHFuHFOHFEHFFHF]HFZHFAHFuHFAHF
hfV[[[d[[[
HfVD@WxPE@WBW
hfV@@@@Ep@U
H_FXA[PZXY__NJ@EOSLBZ
HFXFDNB_S
HFYHFGHF
HFYHFGHFNHF
HFYHFGHFNHFK
_H[FYHJ@]P
HFYJMKKZCX
H)))FYLGZZELGJ
H_FYMGYSFQ
_H[@FYYHNN
hFyyyyyyyyI
_H[FZALEE
|hFzCKooB
]HFZ]EZ_ZQ
H[]F[ZHNN
HFZSQCZ]X[HXK
)))_H[FZYHG
hg3dgfGu
?;Hg3kgfGc
H'g3vgfGx
h"g5kgfG
hg5kgfG@_
h(g5ngfGq
Hg7dgfGZ
#hg7egfG
Hg7egfG.
	hg7eggG
Hg7JgfGv
hg7mgfGc!w
Hg9kgfGc
hg9ngfG'
HGABKJPOY
hgAdgfGa
H]gafgfG
HG]AFGPZAHGMPDHG
HG]AFNLGLZ@Z[LFELGZ
@HGAFZ]@GN
hgAgg]pHQW
HGAJALKFGNMH
HgakgfGA
HGAL[KHE
#'hgangfG
H@GAQ[N]SL
hgAwgfG]c
HG]AXSGDPP
HGA[YLBASN
H]GA_YOAXD
_H[[GBAO
Hg)bgfGg
HG_BJNAYQH
HGBM[Y]@
HG]BNMXH]
HGBO_GOG
HGB@@]YH]LE
HgCbgfGC
HG]CCGBG@
HG__C[CGQX
HGCC]_NZ
?HgcfgfG[
*Hg#cgfG;	
Hg]cgfGd-
*Hg?cgfGU
HGC[GJAAF]
HGCKCBBB]LX
HGCLMOGQDLOJGPY
HGC]L_ODBXQK]X[
H]GCZ[MSN]M[
.)))HG@D
Hgd	)9d16
[H]@GDFAHG
)))]HGDFP
Hg)dgfGF
HGdH[[[b[[[
HG@DHEZGHDLZ
HG@DH]@FG
HG@DH]@FGvZ]PEL
HG@DH]@FGZ
HG@DH]@FGZJLGL
HG@DH]F[Zuu
HG@DH]LJFEF[@M
HG@DLO[HZL
HGDMLMDJQH
HGDOBPLNYPAP]
HGDQN@MC
HgdS[[[a[[[7[[[Ul
HGDYKNZZH
hGdZ[[[:[[[
HGDZ_YXBD
HgeA[[[h[[[o[[[7
HGEBNA_HM
HGECELLMOM
HgEdgfGy_
H g[egfG
Hg'egfGa
Hg_egfGb
H;gEggfG'
HgeJ[[[Q[[[P[[[
Hge_[[[O[[[C[[[#a
h!GetProps
HGEXLQ[FMACXH
HgeygfGn8I
HGF]AL[DFG@]F[
HGF]AL[@G]L[DHJA@GL
HGF]AL[[ZZ
H)))@G_FBL
)))HGFBOCON@
HGFDHG@LS
_H[GFDLMLG][F
@)))_H[GFDLOF[H
_H[GFDLOF[H
_H[@@GF@E
hgfG4tCigqggY
|hgfGd@KXgqgg
HG]FG@F]H[@
)hgfG#|j
hgfG!LybgqggR:
hgfGoOr.gqgg
HGFGPD@]P
hgfGSykmgqggK
hgfG	U]]sD3
hgfGz.x9gqgg
H@[GF[O[@LGMZ
H)))GF]v@Z
:'.hgfwzF
HGFZALGBF
HGgadgfGh
hgGagfGoF
HgGbgfGl
'hggcgfG
;)))HGGF]H
hggfw?(|
hggfw1EA]
hggfw1 K(
hggfw2fLZ
hggfw2@V
hggfw45q
hggfw4Y)
hggfw A_j
hggfwCp1
hggfw(?E
hggfwFGi
hggfwF-l2OJ
hggfwi24wU
?hggfwJ9
hggfw#.M
hggfwmm;
hggfw?	N)
hggfwp(@
hggfwQ6N
hggfwR6U
hggfwr|G
hggfw*|sDz
hggfwSFT
hggfwSqZ
hggfw'Yc
hggfwyR.
hggG	5v;gqgg
hggG6N6SiD"
hggGC2:ygqgg
HgggegfG
hggGeJbMgqgg
hg#ggfGA
Hg'ggfGX
H?g	ggfGY
HgGggfG??
H"gGggfGY
hg;gggwNA 
hggGlLbugqgg
hggGqB]6gqgg
hggGqGC"gqgg
hggGQM4Wgqgg
hggGT7|6gqgg
hggGtnf#gqggI
hgggwDCs_"
hggGY*(pgqgg
HG]GHCAXXCB
hggigfG8
?hgGjgfG
hgGlgfG3
HG[GMDHGJMOO
)))_H[G@GN
][H@G@GN
@HGGNQNCPECHE
HGG][]O@ES
Hggw["hx@
H'ggwz4q
)))_H[GHD@
HG@HDFNXCH
HGHD[HOPGOLQM
H[GHEM@iHNH]EHKZ
HGHEP]@J
HGHEP]@JZ
')))HGHEPSL[
HGHEPSL[
HGHEPSL[Z
HGHEPZ@Z
hGHEPZ@Zy[FJgHDL
HG]HGHGM[F
HGHGMGJGG[]BJJZ
HGHGPH][H_LEZZL[_@JLZ
@[HG@HGZB
H!GHH!GP
)))HGHJL
HGHKBCJZNEYNJO[P
HGHMKQDBBMO
!)))HGHNMD
HGHQGXJLK
HGHSA]AZL@Z
HGH]SQ[M[]H[[DCB
@]_HG]HXL
_HG@]HZ_@]HL
hGHzHPOH)(
HGHZHPOH
hgICgfGC1
_hgiggfw
Hgiggfw3
hgiggfwY
HGIHII|I)L
!hgivgfG
 )))HGJAF[
HGJAHEGNF
_[HGJBHL[]
hGJ@LG]jHZ]ELlZJHYL
HGJ[O@CAM]N
HG@JPKL[
HG]@J@YH]@FGZ
HG]@J@YH]@FGZE
HG]@J@YH]@FGZW
HgK[[[1[[[
HGKCB_BEY
H]GKCYJCDGNL
HGK[D]N_KG
)))_H[GKEFE
)))HG]@KF]B@EE
HG]@KF]B@EE
HGK]F@[GQ
'hg?kgfG
Hg[kgfG*
Hg[kgfGbm
Hg!kgfGj
hg[kgfGR
hg)kgfGrrI
Hg	kgfGzhD
hgKkgfG3
HG[KNQ__
H]GKP]BS@DJ[GEDMZJJZOZBK
_H[GKPSP
hgkrgfGW
HgkXgfGN
_H[GK@YPFB[D
HGLCKJHM
_H[GL]FKC
HGLFZEF[LDHGJ@EEHLLQYL]LGMH
HGLGJFML[@ZHML_@JL
hglgKegfGc5
HGLJMF]L
)))]HGL[L[HEY
hGllllllllmllllOllylm
hGllllllllmllllOllylms!
HGllllllllmlll]Y]]
]H@G]LMrN
HGLZZHPFGDHGDF[HEZH]@[LZ
	)))_H[@GM
)))_H[@GM
.)))[HGM
hgMagfGxj
HGM]ALGY[LZZHGPBLP
HGM]ALJE@JB
HGM]ALJE@JBILGHKELJFG]LG]I
HGMBOHYO[
HGM]CZZH
	hgMdgfG
?)))HGMdLDF[P
HGM]@DLJ[LH]LMr]@DLM@OO
HGMEH]L[
HGMEP]@JZY[FCLJ]
 )))[HGMFD
)))[HGMFD
@][HGMFD
[HGMFDCH_H
[HGMFDE@GB
hGM[FDFmHZAKFH[MhJ]@_@]P
[HGMFDFYLG
[HGMFDGLQ]@G]
[HGMFDHYYMH]H
[HGMFDKP]LZ
[HGMFD]LQ]
[HGMFDLQL
[HGMFDO[FDFZ
[HGMFDOFEML[
[HGMFDPHS@JLB
")))[HGMFD@SL
)))[HGMFD@SL@
[HGMFD@SL
[HGMFD@SLB
[HGMFDvGHDL
[HGMFDZ][@GN
H@GMFGHZA@
HG_[MFGLOF[H@G
[HGMFGZr
HGMFKCLJ]JEHZZ
	)))HGM[F@M
((HGM[F@M
)))HGM[F@M
hGM[F@MdFK@ELhYYlQE@Z]hJ]@_@]P
hGM[F@Me@K[H[P
HGM[F@MELL
HGM[F@M[FF]LQYEF@]
HGM[F@MFGL
hGM[F@Mfz
HGM[F@MGH]@_L
hGM[F@MgH]@_Lk[@MNL
HGM[F@MHYY
hGM[F@MjA[FDL
HGM[F@MJE@LG]
HGM[F@MkE@GBkE@GBkE@GB
HGM[F@MKFQ
HGM[F@MKH@BL
HGM[F@ML]A@FY@H
HGM[F@M]L[D
	)))HGM[FMLZB
HGM[F@MNHDLZ
HGM[F@M[NK]FFE
HGM[F@MQ
HGM[F@MSK
HGM[F@MvBLHCOD
HGM[F@Mv@FDZJDS
HGM[F@Mv@FHOM
HGM[F@MvFZCYMPAKSDQ
HGM[F@MvFZJADOED
HGM[F@MZFO]
hGM[Fo@ZAdH@GhJ]@_@]P
HGM[FS@J
HGM[FZLGZL
HGMFZL[_L[Q
)))HGMGF]
"Hg[mgfG
HGM[@GFOEL_F]FDFZ
hGmggfwB
_HGM@GM_@GM@GNZHGENZ
HGMHJJLZZ
HGM]H[NL]@GZ]HGJL
HGMJ_CDCP
HGMKFGODBCL
?HgMkgfGh
HgMkgfGsE
HGM]L[D@GHE
hGM[LLMdhg))
hGMlQYEF[L[)(
__HGML[YFLEiDH[BLD
HGMMHH_LG
hGMmHH_LGzYEHZA
HGMNEBDFM
HGM_NKHXL
hGMoalddH@GhJ]@_@]P
HGM]OX][
)))HGMPE@F]]H
[HGMPHGM]AL[LZH
)))HGM][PHNH@
HGMrZPZ]LD
[HGMv]LQ]vHEYAH
HGMXSOX[M
HG_M_ZFJ
((HGMZH_L]F
HGM@ZvJHEEHKEL
HGNDFBMFDL
][@HGNEL
]HGNFYFZ]HEL
HGN[[HSA
[H]@GNKEFJB
!)))[HGNL
]HGNL[@GLKHGB
[HGNLO[FDJ@M[
HGNLZ]D_]FMASS]
[HGNLZE@ML[
HGNN]KJ_JDXCCAC[L
]H_GNODCM_CGMS
HGN[PO[FNZ
]]HGNSYCNS
[HGNXXBA
HG]NYHGS
HGNYP_YA
)))HGNZ][FDJFD
HGNZ][FDJFD
HGO_]A]]
HG]@OEFFM
HG]@OF[LGZ@JZ))
[HGO[GEQYZL
Hg-ogfG[
Hgo)gfGW|
hg!ogfG]X*
Hgoggfw-
HGO]GZANN
H[G_OHXQGBLPX
[HGO]OGGK
HGOOPAO]A
HGOQ_DYZK
.HgOtgfG
HGOXKLHZH[HN
HGOYN_[HJYPQXGZCCEZXHKEZZNG
HGOYZYFBCO
[HGOZZCDJLAMA[ELK[
H[[[g[[p
HGP]A@GN
HGPCNSQQPN
HGPCOL[M]XDJZY@S
H[GPDDBOYPM
HGPDFOCZY
HGpgppepq
H]G[PHBPPKGH
)))HGPHMH_@MZFG
HGPOCKK[SNN
HG_PPDEEMNOHJNOPH
hGPSSPsA6_
HGPy[FQPv
HGPZ][@GN
H@GQBXSJBCX
HGQCFDJMHG[H
HgQEyQ(WSSW
Hgqgg1[w
h@gqgg2)
.Hgqgg26
Hgqgg2tZ
Hgqgg3()
Hgqgg3)A
Hgqgg3E3
hgqgg[3o
H*gqgg(43
hgqgg5sO
H gqgg6cF
Hgqgg9KZ
h*gqggd?
hgqgg_D-
hgqggeL-
hgqgg;G0
Hgqgg'G8i
hgqgg	gI
hgqgg'gZ
hgqggj"@
Hgqggj"@
hgqggk|!
hgqggk lE
HgqggKSl
H;gqgg[kx
hgqggkY6
hgqgg:lG(x
*hgqggm.
hgqggOVB
hgqgg@QXx
h_*gqggR
H!gqggrf
hgqggRT3
hgqggtS2
h	gqggV#
H]gqgg:V
H]gqggWe2MC
'h-gqggX
hgqggXc	
hgqggxCs
H__gqggx?F
(hgQkgfG
HGQLKE[PM[Z]AOEG
H_G]QNGD
HGQN]@PQAYH
HG@q@O@JH]@FG
_HGQ]ON_Q
HGQQ_CNYAQ
HGQ[ZNDBL
HgscgfGn
h]gSdgfG
HgSdgfGO
HgSdgfGuQE_gqgg
HGS_DPZB
HGSEGXSSGQ
HGSFNHDL
H]G]SGYQ
]HGSLM[FD
HGSM[X]H]CAD[M
HGSP[KBYXQ]
"hgsxggG
HGSZAPA[]NLJ
HGS_ZJYJ__KAZG
hg[tgfGH
H	gUcgfG
|hguegfG
h!guegfG
HgUfgfGQ
HgUjgfGz
*hgUkgfG
HGUN[LYE@Z]LGUN[LY]JY
H@G]uZH@G]
)))_H[@G@vGHDL
H]]GvQQQQQQv
HgWcgfGxqB
!hgWdgfG
*HgwegfG
HgWegfG@W.
H:gWfgfG
hgwfgfGG4"
|hgWfgfGI
HgwfggGLt!Rgqgg
HgwfggwRk
HgW_gfGn
)HgW-gfGP
)Hg_wggGj
HgwjgfG1
HgWngfGg
hGWOngfG
@hGWSSPs
HGXAK@[HXBHZ
HGXBQCAZK_OGK@
HGXCQ_GKL
H_GX[EES
HGXEP@SK
HGXHDSC[
HGX[JHCD
HGXJLASMQ
HGX[_LMB
HGXNJX_B]
H_GXNKOH
]HGXOZJ@X
[HG[XPEQ]
HGX[YPXG]PXGZQMOM@
hg'((]Y]]
HGYCG]PH]GQ
HG]@YF[GFN[H
HGYLJZCHCZZ
HG]@_@[YL[ZFGHELM@]@FGJEHZZ@J
HGYOBDBG
	HgYSgfG
HgyugfGKI
HG]YUN[LY
HgyWgfGp2
HGyyyyy9i9yyy5
HGyyyyyyi9yyyq
HGyyyyyyp9yyy
)))][HGZ
]HG]]ZA@ZZZvD@GPMOOO
][HGZD@]
	)))][HGZEH]@FG
)))][HGZEH]L
][HGZEH]L
][HGZEH]LZ
!)))[HGZFD
[HGZFDKF]
][HGZ@]@FG
][HGZ@]@FG))
][HGZ@]@FGHE
][HGZ@]@FGLGM
][HGZ@]@FGO@E]L[
][HGZGHDL
hG]@zHGMKFQjALJBo@ELGHDL))
][HGZHJF[
HG@ZKFEZCL[Z
][HGZKFH[M
HGZKODHK
)))HGZLED@
H_G@ZL_@GJ
][HGZM[F@M
_H[GZMMEEHZ
][HGZOCJL[
)))][HGZOF[D
][HGZOF[D
][HGZOF[DgFML))
][HGZOF[DGFML
][HGZOF[DGFML	
][HGZOF[DO@GHEKEFJB
][HGZOL[
][HGZOL[]
][HGZOL[HD@CFK
')))][HGZOL[HKEL
][HGZOL[J
][HGZOL[JF_@MA]]YZ
][HGZOL[K@]Z][HGZAN
][HGZOL[M
][HGZOL[MLKCFK
][HGZOL[NL]@]DHG
][HGZOL[]PYL
][HGZOL[QQQZA
][HGZOL[S@YCFK
][HGZOL[ZPZ]LD
]HGZ[]XDPOF
_[HGZXXLP
][HGZYF[]
][HGZYF[]HNLG]
][HGZYF[]HNLG]OHJ]F[PD@J[FZFO]
][HGZYF[]Z[LGGLZ
][HGZYH[LG]
][HGZYH[LGJP
][HGZYH[LGJP)(
][HGZYKH[[LGF
][HGZ@Z]F[
	]HH04-*5
H!_(H!_0H!_8H!_@3
H!_(H!_0H!_8H!_@I
h?H|?)*4
HH#||||#8	
]hH93u.H
HH9MHsbH
HH9xrx|y
hHAAAA@AAAAAC
HHACPCQKMCJJCQ
'@H:HAKIOxyxfyVx
H_HAPZHKGDBZJ]NL[
HHAX]]LA
HHAxyx|y
)))HHA]]Y
HHAY@QM[@_
HH]BBOD@PK
hh@BCCXp]@@@@@
HHB[]FAKN
HHBHGHNH
HHBHJXHNHJHH@HHNHHBH@HHNHJHH@HHNHJHHJXHNHJHH@HHCHHBH@HHNHHBH@HHCHHBH@HHNHHBHJXHNHHBHJXHNHJHH@HHCHJHH@HHCHHBHJXHM@NNHMHK
H]HBJZSG
H_HBLXS[
_H[HB@N_
hhbnkyVQ
HHBQJ_QEQYD[MGOL
H[HBSAQN
HHB]XC[CAA
[HHBZAQZMM
_H_HBZKJS_
@@H@HCac
hhCACC 1Aa
HHCAEOKCZQ
HHCCEEFFGGDD
HHcCHHcKPH
HHcI[[[H[[[
HHCL]OZN
hhctrl.ocx
]HHDBBXCD
]HHDCLCNH[Y]P[OBH]YXN[]S
HHDEPSADOLJQ[NL
]H]HDF]F[Z
HHDg)kgfG
HHDHZHAK
HHDKANXNHCMQKH
hHdK[[[J[[[
HHDKQ@MHKXOB@C
hHdllllllllmllllOllylmL	)
HHdx[[[B[[[
hHdx[[[S[[[
hHDZFOO@JL
hHDZN[HYA
h[[[#-hdz[[[o[[[n[[[
H_H@EAL@NA]
hhEdK[[[
HHEDNOYOL]ENELO
[HHEDOGKLC@KO
hHEEFJyH[HD
H_HEFGZHKL[
H_HEFGZHKL[O@
H_H@EHKELH]
)))H_H@EHKELYHPEFHMZ
H_H@EHK@E@]P
HHEJLYLZ
)))_H[HEL[]
_H[HEL[]
H)))HEL[]
]HHELQSEZN
HHENHHHHHHHHHX
HHENHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHENHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHNHHHHH
HHEQNBHY
HHESO[QJAY
HHFGXCQZOGA
H_@H]@FGZYHJL
HHGAQGH]
HHGBBZKO
HH@G_@EP
h#hgfGFj5gpD3
H]HGG@KNK]D
H@HGHMHFK
H_HGJ@GFZ
HHGJPKL[
Hhg[kgfG
HHGMHJA]_FF[D@LBL
hHGNF_L[
Hhg_ogfG
HH]GQEJBQEPMJ
h)))_H[H[[
_H[H_@[H
H)))_H[H
)hHh8yxp9
)))HHHA]]Y
H@HHBHAXH
HHHcakCAGA
H@HHCHHBHJXHCHJHHJXHQHMLHDNHNHHBHJXHCHHBH
HHHDDBPJ_J
HHH]E]EHH
HH[HEGM]]X@_
h	h	h	g	y
_H[HHHHH
HHHHHHHHH
hhhhhhhhhhh
hhhhhhhhhhhhh
HHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHH
hhhhhhhhhhhhhhhhhhhhhhh
HHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHDO
HHHHHHHHHHHHHHHHHHHHHYYY@
HHHHHHHHHHHHHHHIV
'((HHHHHHHHHHHHHHIyx
'((HHHHHHHHHHHHHHIyxm
HHHHHHHHHHKCHHHH
H@HHHHHHHH@HL@@
HHHHHHHHMMMM
HHHHHHHHQxx]Y]]
HHHHHHHHx
HHHHHHHIXW
HHHHHHHJLHOyxvy
HHHHHHHKxH
@HHHHHHHTX
HHHHHHHyxly;
?HH;HHHHLHHHHWW
HHHHHH@M
HHHHHHuQ
HHHHHIHHx
'((HHHHKyxs
'((HHHHLyx
HHHHNrxtzXx2xx
HHHHNrxuzXx2xx
HHHHNrxvzXx
HHHHNyxr
HHHH]XSCEX
'HHHHxyxw
HHHHyxey
'HHHIyxhy
H)))H]]HJALM]LDYEH]L
HHHJJXLZCG
HHHJKKJyxw
H_H]H[KEFJB
hhhlymihhoi
HHHM[JH@HHHKOMMF_HHHKCDEMX
H[HHSDHG
HHHUHHHHHHHHHHLNyx]
||hHIJKLMNO@A
HHIULKAAU@
?HH..iwyy
?HH.iwyy
?HH.iwyyI_yynI
?HH..iwyyuQyywI
H||||||||||HJ||
)))H]]HJADLG]
H]]HJADLG]
H]]HJADLG]))
H]]HJADLG]uQ
)))H]]HJADLG]Z
;)))H]]HJADLG]Z
H]]HJADLG]Z
H]]HJADLG]ZH]]Z
)))]H]HJAL[G@JHEZ
H]]HJAL_LG]
)))H]]HJALM]LDYEH]L
H]]HJALM]LDYEH]L
H]]HJAvO@ELZ
!)))H]]HJB
HHJ]B[APQS
H]]HJBL[
)))H]]HJBLM
H]]HJBL[v@Y
H]]HJB@M
)))H]]HJBO@G@ZALM
(-H]]HJBv]PYL
HhJdV[[[
h)))_H[JE@JBKFQ
h)))HJ]@FG
)))HH[JF[Y
H]HJHDHYEF]]L[
_H[HJHY[F
_H[HJJLY]F[
_H[HJJLY]LMAHZALZ
)))_H[HJ]@_LQ
H[HJ]L[Z
HHJMHAHHyx"yK
HHJND_Z[YN
HHJOHSBA
H[HJOX]S_
h)))HJ]@_@]PvJFD
__HHJSOGJ
HH[JYC_CLAHAX[OG
)))_H[H[K
HhK1KrJHJCJ
H[_HKAMK
H[HKDFK@EP
)))_H[@HKEL
_H[@HKEL
H[@HKEL))
H[@HKELgHDL
_H[@HKEL]H]L[
H[@HKELhYYMH]H))
H[@HKELo@ELGHDL
H[@HKELoF[DH]
_H[@HKELZ
H[@HKEL|ZL[Y[FO@EL))
_H[@HKELZR
H[HK_HAJHKNKZHN
H@HKHHJJHMX
]HHKHMSQC
HhKjMyLkL]LOL
)))_H[[HKK@]
HHK@MJLyxly;
HHK@MJNyxly;
HHK@MKJyxly;
HHKPYHZZ
HHK_XPCHAA
HHLAHHLyxly;
HHLAHIHyxly;
HHLAHIJyxly;
HHL@BAJS[SA
_H[HLCPEYNZ
hH[]LD@Z)(
HH[]LD@Z
HHLHHHHHHHHHH9KLyx
HHLHMALyxly;
HHL[H@OJ@CS
]HHLHQSZDD
HHLKAHMxrxHy(x
HHLL@IMLOOxxx
HhllllllllmllllOllylm
HHLPXNAEJY
HHL]X]OQ
HHMAMLLH
hhmb@EEJAH@G
HHMCGS@E_
H]HMDH[NF[Yu
HHMDHYE[
HHM@G]HMOZLGJ[PY]@FGBLP
HHM@G]HMOZZLEOZ@NGLMJL[]@O@JH]LZ
HHM@G]L[GHEZ
[[[h[h[m[h[l[
HHMIN@Hyxly;
HHMIN@Jyxly;
HHMIN@Lyxly;
HHMIN@LyxoyVG9.;;
HHMINO@yxly;
HHMJHHJMyxvy:x
HHMKJHHLLM
H_H]MMAJ[F
;)))H_HMMFG
)))HH[MM@J]
HHM[__MJLZZG
HH:mm:ss
HHMN[QQ_HZ
_H[H[MQB
HHMQFDY_
H[HMSAHKF_
HHMXBM_XDOQF
hhmY[F_@Z@FG@GNHY@
)))H]HMYYH
H]HM@Z]HGJL
HHMZSCCFS
@HH[NA[EF
h)))]H[NL]
#H)]H[NL]
)))_H[]H[NL]
H)))]H[NL]
h)))]H[NL]DFML
)))_H[]H[NL]vO@ELvGHDL
_H[]H[NL]vO@ELvGHDL
h)))]H[NL]vYH]A
HHNNO_ZJEK
HHNQ_]@[A
HH[NQ]]KSO
HH]NXLK]
HHOCPAAGNCKDEKDP
HHOLM_J_
HHO[LZJKP
_HH@OOMQQ
	)))H[[HP
 )))H[[HP
!)(H[[HP
!)))H[[HP
)))H[[HP
.)))H]H]P
:)))H[[HP
;)))H[[HP
@)))H[[HP
h[[HPdH]A))
H[[HPE@Z]
H[[HPFOZ][@GN
HHpgppept
HHPHNPDJCPXCC
h[[HPjFGZ][H@GLMjFYP))
]HHPJMASZ
h[[HPk@N@G]
h[[HPLMv
[HHPNLQG
HH]_PPXL
H[[HPrZPZ]LD
]hH;]Pt3H
)))H[[HPvDHY
H[[HPvZE@JL
HHPYXLZH
H[[[h[[q
HHQ@DJC[_X
HHQE]@EP
HHQEOOMJHSZ
H_HQM_]C
HHQN_X_DMYJ[
@HHQXJYLCMJGSEX
HHrQueryAllRowsIdlWWW
hh[RSSPsM
]HHS]HH.]HH
HHSHOQ]SLP_KNC[XK
HHSKDXEGKBX
H_HSSHSGO]
HHSZSB_Z
?hhUhhhhhYU
;)))_H[Hv
HH] Vyxty]
_]HH_XAQQYH_A
HHXJg7qgfG
H_HX[KJ_Z
HH_XOCDYY]
HHXPLS]C
HH]X]XACQ
HHxx]Y]]
HHXZK[SBLYJGD
HH_Y][EH
HHY_ESA@
HHYLM]NLZ
HHY]P[DANMFH
HHY]_SQ_Y]
'HHyxay?
_H[HYYE@JH]@FG
_H[HYYMH]HM@[
][H_HYYYH[]
@)))H_HZ]
_H[HZBL[[
H[@HZDP]A
_H[HZ][FEFNP
H_HZJ[@Y]
	h]HZllllllllmllllOllylmqz
[HHZL[ZJX]_
HHZOSBJY[
@@@@h HZTTG
H_HZYHMHG
H_HZ]Z_J
h||]i||0i||	i||
!)HI;2)EEyxk
HI6VyxUz
HI#||||#8	
]Hi8yxky8x
]hi8yxPy''
[h[i[[[A[[[
HIAIHIHHIDI]I
HIAIHIH@IFI
HIAIHIH[IVI?IhI
HIAIHIHLIBI
HIAIHIHMIPI
HIAIHIIDI
HIAIHIIDIsI
HIAIHIIjI5I
HIAIHIIlI
HIAIHIILI
HIAJAHxxsxx
HIbI(INII
"HIdB[[[
Hiddendriver
Hiddenfile
HiddenWWl
HidD_GetAttributes
 HIDECLUSTERIPI 
HideExtractAnimation
Hides the application - sets Visible to falseW 
hIdH[[[*[[[-[[[
]hIdP[[[q[[[c[[[A
hIegfGMy
hIFileRepositorySetWW
hifu|mggw9
HIF[[[Z[[[K[[[
hIg7agfG0
high_count
HighlyTrusted
highpriority
HighTrust
.HIGJGJ[
.hIg#kgfGy
HI-g[tgfG
HIHAIrIIIvIuIlI5IhI
HIHJHKVII
HIHOHOII
h||]i||.i||
h||_i||.i||
HIIbIqMoI
HIIbIqMOIKI
HIIDIaMOIJI
HI@IeHKKIIIHI
HIIfIILKIIIIfI
HIIfIILoI
HI	IGIHIIXIkI
HI-IGIHIIXIwH
h|||i||ig||Wg||
HIIhI[HoI
HIIhI[HOIKI
HIiIHIiiHIi
HIIIIH3xv
HIIIIHL9
HIIIIIIbI1IGIKIIjI
HIIIIIIbIuIGIII
HII*IIINI
HII*IqHOIKI
H||iI||JI||1I||
HIIJIcIfI
HIIJI	IbIeH
HIIJI	IfI
HIIJI	IGIAI
HIIJI-II
HIIJIIIbI
HIIlI?KoI
HIIlI?KOIKI
HIINI	IHI
HIINIsIHI
HIInstallerManagerEntryWW
HIIPI?IBI
HIIpImIzIHIEI
HIITIeOfI
HIITIeOoI
HIIvI1LfI
HIIvI1LoI
HIIVI3NoI
HIIvIIIzIHIEI
HIIVIkHKIkIfI
HIIVI-MoI
HIIVI-MOIKI
HIIVIqIzIHIgI
HIIXIOHnI
HIIZIWIBI
HIJHMNNAV
HIJHYIIIIIIIIIIIIBIIKIHMIKJ
HIJIIH5yzwIIII*IrHHJKYIIIIIIIIIIIIICIIKIHKIKIJ
HIJJYIIIIIIIIIIIIBIIJIHKIKJ
H@I@J@K@L@M@N@
HIJKLMNO@AH
HIJKLMNO@ASWyxly9
HIJKLMNO@Ayxqy
h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)
HIJKYIIIIIIIIIIIIBIIMIHKIKJ
HiKaKUKAK9K)K
HiKeKMKEK1K
HIKHIIIbIRHTI
HIKHIIIfI
HIKHIIIJI
HIKHIIIKI
HIKI6IOIKII
HIKIcIBII.I#IIBI
HIKIfHKIlHHI
HIKIfIdIIwHIIIIH|
HIKIhIdII
HIKI	IdII
HIKI@IdII
HIKI.IdIIMJIIIIH
HIKI IdIIvJIJIIH4
HIKIIIIbI
HIKIIIIfI
HIKIIIIKI
HIKIIIInI
HIKIIIIoI
HIKIMIdII.IIJIIHo[
HIKIPIgI
HIKIRIdII
HIKIrIdII HIJIIH
HIKITIfI
HIKIVIdII
HIKIZyxlx
HiK_K8K6K
HIKKIIIbI
HIKKIIIKI2IoI
HIKOIIIbI
HIKOIIIbITH
HiKYKIKEK9K5K)K
HiKYKUKMK
hillllllllmllllOllylm
hIllllllllmllllOllylm
himlooyVQ
HINH@Hxyxuy
hInstance
'HIO9M;9;xyxjyVx
HIpgppepq
HipsASROnExcemption
HipsAsyncFileDelete::OnAction
HipsCompleteInitialization
HipsLsassExcemption
HipsRule
HipsRuleCount
HipsRuleDefinition
@hI;@pu'L
hIRSSPsr
historySettings
historytask.cpp
hitcount
hITnefTypeWWW
hiu?77[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
HIUIIIgI
h[[[:ivdJ[[[o[[[a[[[
hive_file_utils.hpp
hive_file_utils_test.cpp
HiveHistoryClear
hive_manager.cpp
hive_manager.h
hive_manager_impl.cpp
hive_manager_impl.h
hive_manager_mocks.cpp
hive_manager_mocks.h
hive_manager_test.cpp
hivename
[h[i[v[o[
HIWyxoy?
?H...iwyy
?H..iwyy
?H...iwyy]PyyhI
HIXHGIOII
H		i'xVm
HIy-8Y;pq
HIyxpy;5
	HIyyyyyy
HIyyyyyyyyy
HIyyyyyyyyyyyyyyyyy
hiZSSkxASSPskc
")))_H[J
H|||||||||| J||
hJ1:llllllllmllllOllylmw
hJ1:llllllllmlll]Y]]
HJ#||||#8	
H@@@@@j@@A@ADac
HJABCG[N
hJA@EELZ
HJA[FDH]@JDL]HYAF[
H[JAFGYHJBHNL[
[HJAF]Z@J
H[JAHDY]FG
_H[JAH[H[[HPMFDH@GGHDLZ
[HJAHLE]FMM
H[JAHLFEFNP
)))H[JA@H@MKM
_H[JAH]v@M
_H[JA@JA@[
HJAJYGZYYM@ZS
]HJA@KHGH
h[JA@_L))
)))H[JA@_L
H@JALBBJBD
HJA[LD@]]HGJLYHPDLG]HM_@JL
H[JA@]LJ]
_H[JALJB
H[JA@_LM@[LJ]F[P
H[JA@_LO@ELGHDL
H[JA@_LvGHDL
H[JAL[Z]LYZ
H]JAQ_FCYA
][HJB@GE@GLZ]H]Z
HJBGM]CGLCYE
((][HJB@GN
)))][HJB@GN
][HJB@GN
][HJB@GNDHMLLHZP
HJBHENKBHN
HJBHENKLHN
][HJBL[ZE@Z]
)))][HJBZ]H]HY@
hjccjbbyVQ
HJCEZ_GXCKM
HJCJJP_S_K
_[HJCKQGO
HJCLYBLOP
HJCOM]NQL
HJCP_DNMD
HJC_PPZOA
HJCXPJYP
HJCZ[NGO
HJDBQNAO[[S
hjDdI[[[Y[[[t[[[
)))_H[JDH@G
HJ[DK]YBO
)))_H[JDMYH[HDL]L[Z
HJ[DN@DMYHNL
hJdO[[[a[[[
h	JdT[[[A[[[
HJDZZ@]LZ
]HJEEOPGZM
]HJEHXEPB
)))HJEHZZDH[KEL
_H[JE@JBKFQ
hjekEFJBZlQ]h]][))
_H[JE@LG]LDH@E
')))H[]@JELKFMP
H[]@JELZ
@HJEZDEEOXPMKAXZCE]CG
_H[JFDDHGME@GL
_H[JFDFKCLJ]
h)))JFDY
H[JFDZHG@]@SHJ@FG
h)))JFEEHKF
#)))HJ]@FG
#|)HJ]@FG
')))HJ]@FG
((HJ]@FG
)))HJ]@FG
[)))HJ]@FG
HJ]@FG))
_H[@JFG]H@GL[
@HJ]@FGJFEELJ]@FG
h)))JFGJH]LGH]L
HJ]@FGKEFJB
#h)JFG]LG]
_H[JFG]LG]
)))_H[JFG]LG]v]PYL
_H[JFG]LG]v]PYL
HJ]@FG[LJL@_L
_H[JFGNH
)))_H[JFGO@N
_H[JFGO@N
H_JFG_[r
HJ]@FGv@M
HJ]@FGvMLZJ[@Y]@FG
HJ]@FGYMO
hJ[FG@ZHNLG]))
HJ[FG@ZHNLG]
HJ]@FGZJFG]LQ]
?)))HJ]@FGZJ[@Y]JFDY@EL[
HJ[FG@ZvQ
hJ[FG@Zz_Zy[F_@ML[))
HJ[FG@Z_ZZY[F_@ML[
HJ[F_KZZJ[@Y]
)))_H[JFML
H[JFMLH]
HJ[FOF[D
hJ]F[z][@GN
HJGAX[GMB
H_JGB]FY
HJGDYNSA
_HJGHKLBX]
HjgllllllllmllllOllylm
HJ]GllllllllmllllOllylm
HJ]G]LQ]))
hjgokgfGZj
HJGPMOYSL
)))HJ]@G@Q
HJ][GXMY
HJGXNMGZKQJ]KDFFN
HJHDJHSXJG
h)))JHEE
?)))HJHEE
hJ]@_H]F[
HJ]@_H]F[
HJ]@_H]@FGOH@ELM
:)))HJ]@_H]F[KPGF_H
HJ]@_H]F[t
HJhggfwo
hJhggfwt
h||Jh||)h||
HJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJ
HJHHJHHLHNKAIJLOO
HJHHJXHCHHBH@HHCHHBHJXK
HJHHJXHCHHBHJXHFHJJHHHK
HJHHJXHCHJ
HJHJ@H_@J]F[@HZ
hjhkV]Rq
HJ]@_H]L@GZ]HEE
HJ]@_H]L_LG_
HJHMLD@HDPE@OL
HJHMLD@HMLMC
HJHMOHZv_H[HEEMFJ))
HJHMOHZv_H[JDMLJAF))
H_JHNBGKDGC[[G
H]JHNSHEXMCA[
HJHP@YK@[@
hjhP[[[Z[[[I[[[
_H[JHY]H@GHDL[
h)))JH]Z
hJ]jFGGLJ]
hjjjjbjj
HJJKAJMHFSZ
HJJLEA_O
hJJLEFNNL[
H[J[JL]NB
HJJLY]]JYJE@LG]
HJJLY]LM
HJJLY]ZFJBL]
)))HJJLZZ
HJJLZZ]FBLG
HJJLZZ]FBLG	
HJJLZZ]FBLGO[FDJHJAL
HJJLZZ]FBLGT
HJJLZZFH@O@ELJ[@]]FN[HOH]@
")))HJJLZZF[P
HJJLZZHJJLZZFGE@GL
HJJLZZJFG][FE
HJJLZZJFG][FEEL[MFY[@_@ELNLM
HJJLZZJFG][FEZLJ]@FGZ
HJJLZZJHD
hJJLZZj[LMLG]@HEZ))
HJJLZZ@K@E@]PvZL[_@JLvJFGO@N
HJJLZZMLG@LM
HJJLZZ[@NA]Z
HJJLZZN[HG]LM
HJJLZZv]FBLG
HJJLZZ@ZMLG@LM
H_JJPDED[[LQBD
HJJPPMJA[DB
hJ]J]QdHG@OLZ]))
hJJvyL[D))
HJJXGZCOPM_PDAH
_]HJJZYACNPM
HJKDQQZPOOBXKF]NZZ
HjKeKRKMKDK
HJKNPSZHJNFS
HJK]O_LFOPOO]L
|hjkPYHZZ
|HJkPYHZZlQL))
H_JKSKQL
((HJ]@_L
HJLD[AK_P[SA]MHN
HJLD@DH[E@B
HJLDEGCF@
[HJL_DH[BL]@GN
h)))JL[]DN[
hJ]@_Le@Z]LGL[Z
HJLGCN__
H)))J][LGHZJL[
HJ@LGJ@HYH[HO@JH[[@JF
HJLJD]OGSD
HJ]@_LJHDYH@NG
][HJLKHJB
HJLKIOMNJ
HJ]@_LLELDLG]
@())HJLM
hJ]@_LmFJ))
((HJ]@_LMFJZ
HJ]@_LM@HEFN
][HJL[]@MLG]
HJ]@_LM@[LJ]F[P
HJ]@_LM@[LJ]F[PHZZLZZDLG]
_HJLM@QFLCPD
HJ]@_Lq))
HJ]@_LQ))
)))HJ]@_LQFKCLJ]
HJ]@_LQFKCLJ]
hJ]@_LqlDKLM
HJLyxbxZx]x
hJ]@_@]@LZ
HJ]@_@]@LZ
HJ]@_@]LZ
HJ]@_LZALL]
HJ]@_LZPGJ
HJLZZHKH[[F
_HJMAQMC
HJ_MCJ_D]Q]XLN_
hJ]m@[gL]j))
hJ]m@[hJmDY))
HJ]@_@MHMLZ
HJMJNALL]CO
hjmkmjod
[HJMOZMQ
@HJMPB[OCJY
)))_H[JMY
hJ]m@[|ZL[))
hJ]m@[zPZ))
HJNAALNH_DGPK
HJNBGAPC
HJNEKESKJAJQEHAK]@L
_HJNFN]E
H[J_[[NG
)))_H[JNHDL
HJNHGHHFH
HJNHGHHFHMXHBHH
HJN@LK]GZ]K
:H.J"?NM4
HJNM[CGGAJSGJJHGYDJOBO[[OH
hjnnkiaj
HJN[NYYFAZGB
HJNPDXZ[B
[HJOA[BB
[H_]JO]CDPP
hj|OgswgfG
HJO]POXF
HJOPP[LZHK
HJO[Q_COXJFPG
HJ[OSO]Y
HJOXA]J_
HJO_YEGJP
hJ]@_@]P
?)))HJ]@_@]P
HJ]@_@]P
HJ[P_B[GNZ
HJ]@_@]PDFG@]F[
hJ]@_@]PdH@G
hJ]@_@]PdH@Gv
hJ]@_@]PdLM@He@Z]
H;jpgppepqe
hJ]@_@]PhEH[DjEFJB
HJ]@_@]PHJJLZZ
H_@]JPHOXZAAM
hJ]@_@]PkFFBeFHM@GN
HJ[PK][J]HAMS
H]JP]LJYDS
HJ]@_@]PM@H[P
;)))HJ]@_@]PML]LJ]LM
HJP[OADP
[][HJPPN
HJPSLXH_M
HJPSNHEFCN
hjPSSUs 
	)))HJ]@_@]Pv@[
)))HJ]@_@]Pv@[
)))HJ]@_@]PvBH@[FNHDL
)))HJ]@_@]PvB@]]LG
)))HJ]@_@]PvCC]B
)))HJ]@_@]PvCY
)))HJ]@_@]Pv@DBBHEE
)))HJ]@_@]PvDFJYH_
hJ]@_@]PvdH@G
)))HJ]@_@]PvDLDKL[
)))HJ]@_@]PvDLH]
)))HJ]@_@]PvDPDFM
	)))HJ]@_@]PvEC]
)))HJ]@_@]PvELE]OK]Y
)))HJ]@_@]PvFA@FGZ
)))HJ]@_@]PvFG@FG
)))HJ]@_@]Pv]FG@NA]
)))HJ]@_@]PvF[N
)))HJ]@_@]Pv]G]
)))HJ]@_@]PvGAXAZLDP
)))HJ]@_@]PvGNFG]GZ
')))HJ]@_@]PvH
)))HJ]@_@]PvHEELP
)))HJ]@_@]PvHGM[F@M
)))HJ]@_@]PvHGPv
)))HJ]@_@]PvHK@P_K
	)))HJ]@_@]PvJFD
)))HJ]@_@]PvJFD
)))HJ]@_@]Pv@JFG
)))HJ]@_@]PvJH]HEFN
)))HJ]@_@]PvJH]JAv
)))HJ]@_@]PvKFB@
)))HJ]@_@]PvKLHJA
)))HJ]@_@]PvKPAH[MDFMZ
)))HJ]@_@]PvLDL[NL
)))HJ]@_@]PvLE@]L
)))HJ]@_@]PvMFGBLP
)))HJ]@_@]PvNFFNEL
)))HJ]@_@]PvNXMKNAMZS
)))HJ]@_@]Pv[OBFSF
)))HJ]@_@]PvODGZ
)))HJ]@_@]PvOF[DH]oH
)))HJ]@_@]PvOFF]
)))HJ]@_@]PvOFZ
)))HJ]@_@]PvOHDL
)))HJ]@_@]PvOHZ]
)))HJ]@_@]PvO@[L
)))HJ]@_@]PvPPJ
)))HJ]@_@]PvPYZ
)))HJ]@_@]PvQAOMXX
)))HJ]@_@]PvSEQJKOYB
)))HJ]@_@]Pv]SN@KYSE
)))HJ]@_@]PvXPHZC
	)))HJ]@_@]PvXXAFGNSAH
)))HJ]@_@]PvYEH]@GDFMZ
@)))HJ]@_@]PvYHJBHNL
)))HJ]@_@]PvZD
)))HJ]@_@]PvZG@OO
)))HJ]@_@]PvZHMGLZZ
)))HJ]@_@]Pv[@ZL
)))HJ]@_@]PvZLGM
hJ]@_@]PvZYEHZA
)))HJ]@_@]PvZYPDHQ
)))_H[J[PY]FCZ
HJ[PY]FG@NA]
hJ]@_@]Py[FJLZZ))
HJ]@_@]PZ
hJ]@_@]Pz]H[]
hJ]@_@]PzL]]@GNZ
hJ]@_@]PzYEHZA
HJQ[BDDH
_H[JQDQD[Y[@
hJQSSACELs9
HJ@[SDPA
HJ@SGCYB
HJSHDZ_QKYM
]HJS]K]H
HJSO_KGDAD
H_]JSQS_ZDY
HJSQXDSN
HJ]SSSSSSSS
HJSZQHDK[ZYCQQ
HJTLE@QM@[t
HJUD@J[FZFO
HJv_L[ZH@EELZ
H]JXBNCJDH
HJ_[XGKYXF]
HJXHNZB]NYH]MK
H]_JXHYN_[OEF
H_JXJGK[SO
HJXJHDPBLZEJG[E
HJXKFOXKQYK
HJXNKCG]HP
HJ_XS_Z[
HJXZ]LGOAA
_H[]JYA]@DP
]HJYCQSEHDF
|hjy[FDY]))
HJY_FYYHZDC]H]JYLN_
HJYG_OLZY
HJ@YH]FKF
h)))J_YHZZ
_HJY[JBJ[EXZ
HJYLOXCAJOO
_HJ_@YNBD
HJ_YO]FE
HJYXMMNPPPDXDP
HJyxryHI3
HJYYOXXZ
HJZLKGLA
HJZ@MXGQ
)))_H[JZvYEDZL[_L[
HJZXPSONA
h]][@K))
())H]][@K
)))H]][@K
H[K4K-K"K
HK#||||#8	
h@@@@@k@@A@ACac
H@KABKJKJ]
H]K_ADJJ
HKAdO[[[
H[KAKBKM
]HK_AMGH
HKAQH@OQ[
)))HKA@ZALB
HKBGP_BSL
HKBKGKNK
HKBPOHGQKP
HKBYZQAOK
]H@KCBOY
H@KCENA_AA_KCSLDK@
hkciyu?77
HKCJPNGQKAZ@
HKCKQXOPQY
HKCLXFOQOSL
HK_C]P@BP
_H[KCQDSB
HK_CZN[BHF_]PAOH
h-Kd_[[[)[[[
hKd_[[[5[[[
HKDADKEC
hkdejjikem
hKd][[[f[[[
hKdH[[[-
hkdijhin
H|KdK[K;K*K
HKDKZKAJ
H__KDLD]_ZBAX
HKdM[[[8
HKDNAK_GGQEN
hkdojkoidl
hkdolkjeim
H]K@D[PFMG
]HKD_X[J[
hKdZ[[[-
hKd][[[Z[[[1[[['
HKEAYBBA]
HKEBXJPJCY
_H[KEFJB
)))_H[KEFK
hKEgqgga
HK@E@]HDFM@O@JH
_H[KEHJBE@Z]
)))]HKEL
]HKEL]FY
]HKELHE@NG
]HKELJLEEZYHJ@GN
]HKELKNJFEF[
hkELVbbjkkjkkkkkk
hkELVijklickkkkkk
hkELVijkoibkkkkkk
hkELVjckijcjchkkk
hkELVjhkckjjikkkk
hkELVjikjjiikimhi
hkELVjikjjijcnbhi
hkELVjikjjijliloo
hkELVjmkmjmkmjljm
hkELVkckokikkkkkk
]HKELvM@_
]HKELZLELJ]@FG
H@KEMA@KGNMYSQSP
]HKE]_QSOO
HKE[X]G__C]_GG
HKEXPDL]X
HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_DYN_DATA
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS
HKFFBDH[B
HKF[]@GNY[FJLZZ
]HKFNZ[ZPMLFQ
)))HKF[]r
HKFZBKH[
_H[KFZ]H
h]][@K|Ga@ML))
HKG]D@J@PYXB
HKGF__BJY
HKGKZSEZQ][G
Hkg-mgfG2
]HK@GMLQ
HKGOZNH[
h-Kgqggb
Hk-gqggW
HKGYG_Y@
_H[K]GZH_L
HK_GZSKP
H@[KHEHJF[@N
h)))KHGB@GN
)))H[KHGZ]F[L
HK[HHGM]AFGN
?)))HKHHHH
HKHHHHHHHH
HKHH_J]_NXBYCZKGBK
HKHHK]HHX
HKHIIIdII
HKHIIIfI
HKH@'JHILH@JNyxay..
HKHJO@CZ
|)))HKHKHKR]DYT
HKHK_HNLHSHKDHNBHKHKEHJNH@NK
HKHK_HNLHSHK]HAXHJNKYHN
HKHK_HNLHSHKSHAXHJNKYHN
H)))KHKHZAFO@
HKH@_KNLX
HKHLC_PN_GYFOFYC]
h]][@KhMMa@ML))
H][KHSEZOABZQ
HK]HSXP[BFYSLBFQDNZQ
HKHX]CHS
H]KHXGK_L
HK[HYCJOX
HK]HYGKA
HKIaIcIMAoI
HkIgqggLZ
HKI*HdII!MIJIIH
HKI_IdII
HKIIIIKI
h||ki||Ji||.i||
H|KiKgKZKQKTKDK
HKINAMMI@NK
?HK.iwyy
?HK..iwyyqPyyhI
)))_H[KJJ
hkjjjbjj
HKJJJ[_N
H|K-J#Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HKJ]LB@HZLBAGD[ECMHHA
)))HKJML
HKJMLONATHKJMTHKJMTHKJMTHKJMLONA@IHK
HKJMLONATyy
HKJMLOOLMJKH
H@K[JND]XMPOLO
HKJ]OANQNANANA
HKJ]OANQNANANAC
HKJSFFHYY
HKKAC]NK[F
HKKAQOCSD_
HKKBY@@ZANCSNS]OBB
HKK@CEXMK_
HKKEAMBQDJ
_HK@KHKN
HKKLMGZL]
HKK]LZGOZD]
HkKnK[KTKMK"K
HKKOKDNAN
HKKXHL@C@
HKKYDSDFQ
HKLFDOZ[
HKLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH@H
H|KlKNK*K
H[KL]KQBDPA
_H[KLLGAL[L
HKllllllllmllllOllylm
_H[KL@LXSN[[L
HKL@MHDHG
H[@KLMLC
((]HKLQYHGZ@FG
:)))]HKLQYHGZ@FG
]HKLQYHGZ@FG
HK@LZHEHDH]
HKL[]ZJA@
H[KM]AH[MM
HKMJMQ]K
H|KmK*K KfL
HKMLMJJAAH
HKn@@@@@@@@
HKn@@@@@A@@ap@F
HKn@@@@B@@@Hp@Gnj
HK[NJ_AYC
HK@NJKPN[@K]_
HKN[LFGDL_
HKNOZGKAA
HKN]YNQJN
HKOAJE@KLP
HKOEOBGDB
HKOGJ]HZHGP
HKOH_SMP
_H[KO[JJS
_HKOOZK@
HKOXEJ[A[X
HKOXJS]]CON
HKPDMNLFAS_MJYM
HKPEPPB@AHQM
H?KpggGw
H_KPG_ZEFYFFO@]S
)))HKPHS
HKP]LB[CD
H[[KP]LH[[HP
_H[KP]LZ
_HKPPNNX
HKPY[LOJ
HK@QAAXNKM[GB
HK[]QAJQPQ
HKQDXEP@
HKQD_YPZ
HKQFOEZK
HKQNFFJGLP
HKQY_NAOF
H|KRKKK9K
_HK]S_AQQNXMG
HK@SCLGHG
hkSd][[[
HKS[EK_D_
HKSHLEBXAS_
HKSJMZZZXYY[H
H|KsKTKKK*K
H[KS_LAQGLA
HK@SNO]@FY
HKSPLCDN
H_KSQLMSN
HK@SXN]MQ
HKSZDZADQ
HKS_ZN]DN
H|KtKRK:K-K
HkUfgfGqe
HK@UOMAN
]HKvJFG]LG]
HKwjvgfG
H|KwKnKYKPKKKBK
HKWKWKWuRBP
hKWSSUsw
HKXBJ]_AG
HKX_KKCA
HK]XLL@MH
HKXNFS_@
][HK[XOHBOYG
HKXOKXDDH
HKx|xzxxx;
_H[KYDGFLC
hkYllllllllmllllOllylm
HKYLLSOJM@NQYK
HKYN___E
H[[[KY@NK
HK]YQPQDAN
HKYXMYQY
HKYZCJL[J
HKYZDN_N
HKYZYNCH
H_KZDG[]
 )))HKZ][H@
HKZHANC]X
HKZHCZEFNF
)))HK@Z][HGZ
HKZ][HJ]
HKZ][HJ]@FGZ
HKZ][HJ]Z
HKZ[MMSKMAO
HKZXOKCBFK
	)))_H[L
.)))@_H]L
Hl0pgppepq@
H||L@||6@||
hl6gqgg2
HL#||||#8	
';@@HL9K;xyx
HLAADSBAS
HLA]JGNSP
HLANOSJSNNKZ[BM
HLAQLDAK
HLAXP_PCJ
HLAYSDJGDMS
H][LBLOGDBHSX
HLB]QSQA
_H[LBvG[
HL]B[XCYP
hLB@@@yp@w
HLCCGQ[LL
H@LC_[DD
HLC_JC[OFCSAEAL_Y
HL@CNDJPBGOQA
HL@COBH_NNS_YM@_J
H@LCOSOF
HLCPEYNZ
]HLCSKMSGA[B
h#Ld[[[[	[[[
HLDADSSKBG_CADAN
H_LD]ASNAC[]]M
H]LDBBQG
HLDBKY[FOPSOZ_ZB
h#LdD[[[
_H[[LDF]@GN
h#LdG[[[
h)))]L[D@GHEYH[ZL[
h#LdG[[[K[[[
)))_H[LDH@E
_H[LDH@E
h)))LDH@E]ALO@ELJHEELMDH@E
h#LdI[[[
H||ld||id||
_H[LDKLM
H_LDKLQL__Y@P
H]@_LDL]HO@ELY@J]
H[LDMHHJQQOQBAQPZE
:)))H@LDNiD@ACF]YJO
h#LdO[[[ [[[
h#LdO[[[A[[[@[[[
]HL@DOHP@
HLD@_PHZ
HLD]QL@_
HLDQ_]PH
h#LdR[[[D[[[
HLDSC]YSL
HLDS]PXNG
?)))_H[]LDY
h#LdY[[[@[[[G[[[q
H]]LDY]LMMH]L
H]]LDY]LQYEF@]
_H[]LDYM@[
HL_DYQCQ
HLDYQHXX
H[]LDZD@]AZA@FEH
h[]LD@ZkFFN[dhg))
@)))_H[LE
][H_LE@GN
h)))[LEH]@FGZA@YZ
][H_LE_H[@H]@FG
)))[HLEL
H]LE@LMLL[_HZ
_H[L@ELZ
HLEPC_GQ
HLESXXG]CAPBN
H)))LEZL@O
.)))H_L]F
HLFBNHY[
]HLF]D]_FN[MPZ
HL_]FHYY
H]LFKCLJ]
HL_FP@L]A[Y
HL_FS@HG_C
H]LFZPXPBS
)))_H[LGCFP
")))H]]LG]@FG
H]]LG]@FG
HL_GHGJGBOGGEM]JDS
_H[LGJFMLM]LQ]
)))_H[LGJFMLMvZ][@GN
HLG[JSAKBL
H]LGMFOZ][LHD
H]LGMFOZ][LHD@O@GZ][
H]]LGMHGJL
HlgO9gfG
H]LGOEQLPKHOXPKL
HLGOLPOJHP]B]S
Hlgqggfq
H]]LGS@FGL
HLGXLDOENCOOA
H@_LGXODPX
h||lh||bh||
H[@L]HBHA@[F
]HLH]_COAH
H]LHD]G]
h())L_HE
h)))L_HE
H)))L_HE
H[LHEJZB
H]@_LH]@FG
HLHFQZP[]B
HLHHLHHHH
H[LHHYL[]H
_H[[LHML[
HLHNGHXO
HL[HPXD[DB
HLHXBJY[ZCJG
H[LHZAHYL
HLHZCOACF
HLHZGY]AOHBXY
hLIdI[[[
h||||||||||Li|||l||||||||||||||||||||||N||||||
hlimlyVQ
h||||||||||li||Tl||||||||||||||||||||||
h)))LJAFMONAZF@
h)))]LJA@GYLL
_H[LJCHMQ@O@
_H[[LJHY]JAHZ
HLJ_KCSM
HLJOCQSD
H[]LJO[L[
]]HLJ@ZAN
hlkckyVQ
HLK[EAODYSZB
HLK_EEX_
HLKHFJ]GPO[PHP
]HLKJ[CKPKJMZX]BJ
HLKJ@PZ@
hlkkkjyVQ
HlK]KLKBK1K)K
HL_KM_QCN
HL@KNDD]JZP
HLKOxyxuy
HlKUKyyy	yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
HLLCO_MJZ
_HL[LCSFBGS
HLLdB[[[O[[[N[[[
HLLD[SZK@OQ
H_LLEGGSOLN
HLLININMJ
HLL]_KZBBJ
_H[L[L[[L[
hllllllllllllxMO-
HlllllllllmllllOllylm
hlllllllllmllllOllylmB
(h*llllllllmllllOllylm(
-hllllllllmllllOllylm'
h(llllllllmllllOllylm
h-llllllllmllllOllylm
hllllllllmllllOllylm
hllllllllmllllOllylm 
 HllllllllmllllOllylm
!-HllllllllmllllOllylm
:HllllllllmllllOllylm
;H#llllllllmllllOllylm
|HllllllllmllllOllylm
H llllllllmllllOllylm
H'llllllllmllllOllylm
H:llllllllmllllOllylm
H@llllllllmllllOllylm
H[llllllllmllllOllylm
H_llllllllmllllOllylm
HllllllllmllllOllylm
HllllllllmllllOllylm'
HllllllllmllllOllylm;#
HllllllllmllllOllylm;'
HllllllllmllllOllylm_
hllllllllmllllOllylm1
hllllllllmllllOllylm2
HllllllllmllllOllylm2
hllllllllmllllOllylm3
HllllllllmllllOllylm!3
HllllllllmllllOllylm5
hllllllllmllllOllylm7
hllllllllmllllOllylm7XY
-HllllllllmllllOllylm8
h"llllllllmllllOllylm9
HllllllllmllllOllylma
hllllllllmllllOllylmB
hllllllllmllllOllylmBn
hllllllllmllllOllylmC
hllllllllmllllOllylmC	
HllllllllmllllOllylmD
hllllllllmllllOllylmf
HllllllllmllllOllylmF
HllllllllmllllOllylmg
HllllllllmllllOllylmgl
hllllllllmllllOllylmh
HllllllllmllllOllylmH
HllllllllmllllOllylm(i
HllllllllmllllOllylmi
HllllllllmllllOllylm"i3
HllllllllmllllOllylm	k
HllllllllmllllOllylmk
hllllllllmllllOllylml
HllllllllmllllOllylmn
HllllllllmllllOllylmn'
HllllllllmllllOllylmO#
HllllllllmllllOllylmq
HllllllllmllllOllylmQ?
hllllllllmllllOllylmS
HllllllllmllllOllylms
HllllllllmllllOllylmsl
HllllllllmllllOllylmw
HllllllllmllllOllylmW
HllllllllmllllOllylmwnoH
hllllllllmllllOllylmWY'
hllllllllmllllOllylmx
hllllllllmllllOllylmX
HllllllllmllllOllylmY
:hllllllllmlllNMO8) V8
H llllllllmlll]Y]]
H'llllllllmlll]Y]]
Hllllllllmlll]Y]]
Hllllllllmlll]Y]]@
Hllllllllmlll]Y]]N
[HLL]@LMFY]
HLLLZJ]D[
HLLN[N]H
HLLZC[CLM
]H[[LMALEALMZEFLZG@GNLGH
HLMCGHLMB
HLM_JLE[
H[LMJSOZ
HLMLXPNB
HL[MNN]CNXJM][A
HLMPA[MNMHHBCJ
@HLM@PHMA
HLMZSJQ]BOA
HL[]NGYSZLP[G
H)))[LNHMM
HL_NHM[N
'HLNL:9IMxyxry
HLNLJKMHLMLyxa
H|LnLPLBL4L
_H[[LNLQY
HLNNGDDD@N_QH@PAJQ
_H_LNNPBF
HLNOLHOI
:)))_H[[LNQ
H)))[LNvLQYHGMvZS
[H]LNZ[[
H]LNZH]YE
@HLOCDC@
@HL[[OCZXDJHK
_H[LOOOOOO
HLOSSO]]
HLOZ[HSL[
HL]@OZ[K_
@H[LOZQJ
#h@@@@@@@@Lp@
H@@@@@@@@lpAB
HLPC]]C@GSJ
HLPDF]F[Z
H@@@@lpFH
:Hlpgppepq
HLPHJNK_HN
_H_LPHQP
HL]PH[ZQ
@@@H@Lp@lp
HL[P]P[L
HlppRecipL
H[LPSG]CZB
H@_]LPSPNN
)))_H[LQ]
HLQDNOA]_GOJ
HLqegfG8
_H[]LQ]_H[
_H[LQHJ]
	)))_H[LQLGHDL
HLQNZAXA@B
HLQPYOYX
HL]QSBA]JS]X
)))_H[LQY
HLQYEF@]
)))_H[LQY@[LZ
[)))_H[LQY@[LZ
_H[LQY@[LZ
HLS_NXSGN
hlSSSSSSSS
HlSSSSSSSSSSSSSSSSSSSSSSSSSSSS
_HLSZHZ[
HLSZQCCED
HlUfgfG?
HlUfgfG1
HLuQGNH[uG@
]H]L[vZJ[@Y]KEFJB
HLXAA[_H
HLX@[]GBD
HL_XQYPZYD
HL@[XSQH
:	H" ?Lxx]Y]]
HLYEJD[P
HLYFMYCM
HLYPF@CSOX
HLYXJ_LXOY
H[LYXZCJ]X
HLYYZSXM[[N
h)))]LZ]
hL[[[Z[[[
())_H[_L[Z
HLZAKPY_F
_HL]ZBKNLH
HLZCNPDJ
]HLZC]XYF
HLZDHGHNLM
HLZG@LZOH
H@L]ZHBQZYQLYQ
HLZHGDAOSHSCS_NK
)))[H]LZJHG
hLZj[LH]L))
HLZJ[PY]FZL[_@JLY[F_@ML[
HLZJ@YAL[
HLZJ[@Y]Z
h[[@_L[ZL
hlzlGJ[PY]))
HLZLGJ[PY]LM
hlzmLJ[PY]))
HLZNCDM]CDD[XZD
HL@Z]]NCK
HLZPCMEXDY_
_H[[LZYFGZL
[[[h[[[m[[[
)))_H[@M
[[[H[[[M[[[
|)))_H[M
HM1Cpgppepq
Hm3'llllllllmllllOllylm
!||h"||M"||6"||
HM#||||#8	
'HM9;9;KHxyxvyVx
HMAAYHEM
[HMA@BMCMN
*-*HMAEOMQ
_H[MAHBHG
hMainModule
hmaLHE]Az]H]L))
HMALHE]AZ]H]L
'HM@:ALLMxyxty
hMALZ@_LjHEJhJ]@_@]P
_HMAM[N_
HMA@S]FD]DKGX
HMAXB_D_PZ
HMAXNQLS@PQ
HMA_XPYYOZ
HMAYJAZQNZC
)))_H[MBBMO
HMBLNCZPFMX]BL
HMBLNFZHG
HMBYCJFJ_BCHXB
HMBZZ]A[E@]KL
HMCADXPK]
H[MCAZHH
HM_CB[_D
HMC_B]H_
HMCDOANBOXJ_XGA
HMCECKNJSZ_ASBX
HMCHJLGJP[LYF[]
HMCJG]NM
H_MCKMO_KB
HMCLCXL_EY
HMCMPF__KE_O
HMCOCYK_X
HMCOKKSGP
HMCQXE__
HMC]Y]]C0Y
@H[MCZND
H@MD_DBOG
HMD_DONOSC
HMDESHNO
hMdFK@vhYYhJ]@_@]P
.)))HMD@G
HMD@GA]DE
HMD@GE]L
hMD@GhJ]@_@]P
HMD@GHY@
)))HMD@Gi
HMD@GiNFFNEL
HMD@GJZZ
HMD@GYF[]
HMD@GYHGHE
HMD@G@Z][H]F[
HMD@G@Z][H]@FGDH@EKFQ
_HMD@G@Z][H]F[Z
HMD@G@Z][H]F[Z
HMD@G@Z][HJ@FG
hMD@GzL[_@JL))
HMD@GZMAFEML[@O
HMDHPKMO
H!MdJ[[[
HM@DJFYHNFZ
HMDLOJOX]
HMd@[[[m[[[
HMDMMZYL@X
_HM@DO[FEF_
hmdpgppepq2
H_MdR[[[
HM_DZZuZ
h)))MEEJHEE
hMeFN@G))
!)))[HM@F
hMFDH@E))
_H[MFDH@G
[HM@FDHZ]L[HYY
[HMFEHKZ
[HM@FE@K[H[P
HMFELZJLG]L
HMFGLOF[H@G
][HM@]@FGZ
HMFH_HKEHL
HMFH_HKEHN
h)))MFJBL[@DHNLZ
_H[MFJH[]
_H[MFJLELDLG]
HMFKCLJ]
)))HMFKL
HMFKLE@GB
HMFKLFGE@GLUYMO
HMFKLHJ[FKH]MJ
HMFKLJF[YF[H]@FG
HMFKL[_L[
HMFKL_L[
HMFKL[LHML[
HMFKL[LHML[uMZJ
HMFKLOEHZAYEHPL[
HMFKLuuHJ[FKH]
HMFKLuu[LHML[
hMFKLyFZ]zJ[@Y])(
#)))HMFKLYMO
HMFKLYMO
HMFKLYMOFGE@GL
HMFKLYMOJFDYFGLG]
HMFKLYMO[LHML[QE
HMFKLZ]H[]
HMFKLZ]H]Z
HMFKLZ[J
[HM@F[LMM@]
')))HMFM
[HM@FM[F@M
')))HMFMK
hMFMKlGJ))
HMFMKZ][))
hMFMKz][LHD
HMFNYKP_BJ]PF
H[MF@YYL[
h)))MFZALEEZJ[@Y]
hMFZ]YH]
_HMG_CCS@
hMg'fgfG
H)mggfw]
h)mggfw7
h)mggfwM
Hmgggw)d
H[M[G@JM
HMGKBCMFO
][HM@GNMHZAKFH[MZ
HMGODKCN
HM@GOF@M
@HMG[OKCQ
HMGONZJQ[_
)HmgqggF]
hMgqggRF
HMGSFKGD[D
H[[MGZZL[_L[
H[[MGZZL[_L[Z
HMHABPNG
HMHDZY[FNZ
HMHFZEFGMM
)))HM_HGJL
HM_HGJLM
HM_HGJLMvLGJ[PY]@FGvZ]HGMH[M
)))HM_HGJLMYJJH[L
HM_HGJLMZPZ]LDJH[L
H[M@HGQY
HM_HGSHKYF
())_H[MH]H
)))_H[MH]H
HMHHCHJHH@HHNHJHH@HHNHJHHJXH]HOPHXXHCHJHH@HHFHHBHJXHNHHBH@HHCHJHHJXHCHHBH@HHCHHBH@HHCHJ
hmhhnlhe
_H[MH]HYH[HDL]L[
hMhJ]@_@]P
_HMHKMEBZ
HMHKXHAXHJNKMHMFHFNK]HNBHLNKEHJHHE
HMHKXHAXHJNKMHMFHFNK]HNBHLNKEHJHHEXKEHALH@HH
HMHMGLCMHQ
HMHMHMHK
HMHMHMHMHMHMHMHMHMHMHMHMHCHFCHFJHFJHFCHFCHFMHMHMHMH
h)))M@HNGFZ]@JZ
HMHPLBNY]EN
HMHuHFMHMHMHMHM
!(H MH:xx]Y]]
?)))HM_HY@
]HMHY]H]@_L
HMHY]@_L
hMigrationElementInformationW
H[MJB]GPG
HMJDSEM[@
HMJHC_NJQ
HMJH@HHNHJHH
hmjkkdoh
HMJLH]@CSSX]MDEML
HMJ[LMLG]@HE
]HMJO@ELHSMSSK
HMJPJPiPiPi
HMJSHL_DX
HMJXLQB[G
HM[[JYQZQ
HmKaKeK]KEK-K
HmKaKeKYK]KQKUKIK
HmKcK?K!K
HMKDAMDQJ]PDFS]Y_
HMKDDLGHM
HmKeK]KUKAK)K
HM@K[F]F
HmKFK?K5K
HMK]GDOA
HmKGK5K(K
hmK[[[h[[[o[[[
_H[MKHZL
HMKJC]BCPMAM
HMK]JY@Y
H@@MKN[@
HM_KNNCXQEQFSBPDK
HMKXO[GJ_XHYF]XSA
HMKXO[GJ_XHYF]XSAM@A[
HMKXQ_XNJGAXSA
H[ML[C[E[YSAQE]NZDE
)))_H[MLEB
H]@[M_LFKX
HMLgwngfG
)))_H[ML]H@E
_H[ML]H@E
HMLH_HBA
HMLHM@]@
HMLHOXN[S
)))_H[M@[LJ]
_H[MLJFMLM
_H[MLJFMLM]LQ]
H)))M@[LJ]F[PH
HMLJ]OHMJ
)))_H[MLJvJD
_H_MLKLB]
hMLlIU4:w
hMllllllllmllllOllylm
HMLL_OGDH
H[MLM]S@
HMLMYACXSYNQE]BPBO]
)))HMLQQ
:)))HM_L[]@SL[ZvE@GBZ
[HMLSXCNE]
HMLXKEKSMYN
HM[LYSMMHO[DGGMNMQLLH
HM_L[]@ZL
hM[[[m[[[
h)))M@_@M
@)))HMM[
HMMALHML[
HMMALHML[Z
HM_MBXKQQQJ
HMMCHNJDYEHJ
hMMdYy[LOL[LGJL))
.)))HMME@
HMMEJHZL
HMMELMuu
HMMELMZ]LHDK
HMMEP[@JZ
HMME@Z]LGL[
 )))HMMFGZ
 )))HMM[FO
HMM[FOY@GGLMFKCLJ]
HMMGCQNYZES
Hm!mggfw
hMMh]]JADLG]))
#)))HMMJA@EM
HMMJEHZZ
HMMJFDK@GH]F[t
HMMJFFB@L
HMM@J]LM]FKHZA
HMMJ[LMLG]@HE
HM[[MKPX
HMMLGJ[PY]O@EL
HM_ML]H@EZ
)))HMML_LG]
HMML_LG]
;)))HMML_LG]E@Z]LGL[
HMML_LG]E@Z]LGL[
HMML_LG]E@Z]LGL[))
[HMMLLGG
HMMLQ]L[GHEE@GBAL[LMH]H
HMMLQ]L[GHEE@GBAL[LOF[K[HGM
HMMLQ]L[GHEE@GBAL[LOF[YFE@JP
|)))HMM[LZZ
HMM[LZZE@Z]
HMM[LZZE@Z]UZLELJ]@YHMM[LZZ]FZ][@GNUO@GMZ][
HMM[LZZ@GALHY
HMM[LZZLZ
HMM[LZZOHD@EP
hMMm@[LJ]F[P))
HMMMMMMOMDC
HMMNL]AFFB@O
hMMo@EL))
hMMoF[DZ))
HMM@O[HDL
HMMPLH[Z
HMMSLDP[PD]MJSS
HMMvAHGMEL[
HMMvJAHGGLE
HMMvJDMEL]
HMMv[LDF_LvZJ[@Y]
	)))[HMM[vvGL]vZL[
HMMvYH[HDL]L[
HMMvYHPDLG]vDL]AFM
HMMvYH[ZL[
HMMvZJ[@Y]
HMMXLZZDEBOYEJHO
hMMy[FYL[]P))
;)))HMMY[@G]L[M[@_L[
HMMYH[HDL]L[
HMMZAH[L
HMMZALEEJFML
HMM]ZAQS
HMMZ]F[L
HMMZJ[@Y]
HMMZL[_L[HMM[LZZLZ
)))_H[MMZQS
)))_H[MN
HMN]AXSK
H]MND]JLLY
H[MNDZLKBM
HMNKAHHBHJXHCHJNHJXHNHJHHCNHFHJJH]NKEHOJHEXKYHJJH@HHNHJHH@HHNHJHH@HHNHJHH@HH
HMNK_HNDHENKEHANHSXHM@H
HMNOHZ]LGL[Z@GJ
HM@NPBKAD]
HMNPPB[[JNXK
HMNZPZ]LDZ
HMOA]NQGFCA
HMOA]XPZMOCOMMOC
HMOCMXXDG
hModule.get()
_H[MOFYD_
	)))HMO@GM
)))HMO@GM
:)))HMO@GM
HM[@OH[HEE@
';HMOJIHAxyxvyVx
HMOKKMNSDXAN
H]MOQLYNNEP
]]HMO]S[K
HM_OSKZXLSXO_DM
HMOXFG[MFXZPFM
HMOZJL[]@O@JH]L
HMOZLGJ[PY]@FGJL[]@O@JH]L
HMOZOLML[H]@FGZL]]@GNZ
HMOZvZ]PELZ
H[MP@A[[
HMPA]KQYG
[HMP[BXDGB]OF
)))_H[MPGALEYZ
HMP@GN]@NL[
hmpgppepq
hmpgppepq@
Hmpgppepq
HMPOMMNJM
HMP_ONFQZDH]ONN
HM]PQGQ[D[O@DFLOL_X]SX
H]MPSKB]XN[
HMPZPB][@
HM__QKASA
HMQOBY[CQ
HMQO[KXS
HMQQKCE[Z
]HMQQ]NH
hmRgqggj
hmRSSkdRSSLuYk
]HMSAZDMQ@DNQZKZK
H_MSHHPM
HMSKDA[ZCJAZDXXCP]K
_HM_SM[[D
HMSOMNPE_[
hmSSSSSSSS
HmSSSSSSSSSSSSic
HMSXDJDNLDSB
HMSYCHAH
HMSZDQSS
HMU@NKHUL
H[[[MuPdN[[[
((HMvO@EL
HMXB_QX_P[
HMXCBQQLEPXOX]D[D
H[MXGPFH
][HM[XJF]SHLY
HMXNQONJX
HMXPCBXH
H_MXQSZEAB
]HMX_SPJ[
HMYA_XBDAN[S
HMYC_NLP]]SQ
]HMYFELGLZ]
HMY[F_@ML[
hMygqggD
HM]YKBDJ
hMYL[GFB
]_HMYNYS]K
H[MYXM[X
HMZDHGHNL[
HMZDNOJ_AKS
)))HMZ][@GN
HMZ][@GN
HMZJCLD]
HMZKHJBMFF[
HMZL[_@GNMFDH@GT
)))HMZL[_@GNY[FA@K@]LM
HMZL[_@GNY[FA@K@]LM
HMZLLNKMCC[LZ
')))HMZMZFFKCLJ]
]HMZOMNNZH
HMZPGJLGHKELM
HMZ[PSOLJMBG]O
HMZSXBZGCKB@BPAB
HMZXSCPG
hMZYHJL))
 )))HMZYHJL
HN#||||#8	
';HN;AA@IxyxryJV(
HNACNP@XQZ[
HNAGCK]M[Q@
_HN]AHDXSH_
HNAHM]XXZ
H_[N]AJLZSSNQ
H__NA_JXJEH
_HNALBSGX
HN_A_OFDAAX
H[NASZK[
hN@@@@BAB@_p@L
HNBBY@DQX
HNBGLYJOD
HNBHKNKBHN
HNBKQ[BK
[[HN_BLA
HNBMGZJB@J[]MSB
H@NBNN@K
HNB_]P[@N
HNB_SZSXDGKJDQLE_K
HNCB_NM[
HNCHAQ_SD
HNC_K[ALHG
HNCMDCHPMMP[
HNCMNYSL_MALL
HNCP[QP[XL_KFX]CG[K
HNCQJCMXO
H[NCXZAXN
HNCZAQCX
hNdG[[[	[[[
HNdG[[[#[[[
_H[NDH[BL[Z
hNdH[[[x[[[
HNDJZO]]S
hNdK[[[*[[[
hNdK[[[0[[[
hNdK[[[7[[[
hNdK[[[y[[[
HNDMJHGSXMNC
hNdO[[[W[[[B[[[
hNdQ[[[j[[[h[[[5	
HND[SHZS]KA
hNdU[[[B[[[q[[[u
hNd@[[[U[[[T[[[
hNdU[[[u[[[
hNd_[[[V[[[
hNdx[[[j[[[
hNdx[[[U[[[T[[[c
HNDZBYGAPA[CY
]HN]DZOO
hNdZ[[[v[[[
hneddjjlo
HN_EDHO[PC
_H[NEFKHE
hnejjdokj
HNELJOP_XK
hN@ELj@]@SLG
][HNE@LK
HNELPSGC
HNENYAKBJY
HNEZSZHFCN
_H[NF]FYF@G]
	)))_HNFGM[HBL
_H[NFGMHMP
HNFHFO]OXD_]
HNF[HLQY[LZZ
H[NF]OQGYC[
HNF@W@@iZ
H[NFZ@GL
HNGCCOF]OJN
H_NGCFN_
[]HNGHDLr
hNgllllllllmllllOllylm
Hng_ngfG
HNgqegfG.
HNGX@LBA
_H[NHCZAFZ]
hnHdI[[[
HNHEHKHDK
_H[NH@GGFML
H]NH]GOGKHKQOQ
)))HNH_H
HNHJMNCEYSDFAJ]H
HNHKEMGGX
HNHMJJL@
H_@[NHMLZ@NG
HNHSHCPNQQ_Z_
HNHZJ[@Y]
* .HNHZJ[@Y]JAH]FGP
HnIIIIII
HN]J[DGPM
HNJJAHPM_FLD
HNJ]LALZG
HNJMN@SDJ
HNJPGDPPS
HNJQ]G_QB@
H_NJS[AGPBJ_[JXF
HNJYNYLB[JLD@P
HNKGHQAKAGZDO
HnKgKIK8K
H_NK_HLZHSXH]HOJHKXKYHN
HNKJGXOZ
HnK@K?K K
HNKMIOIJN
HNK[P_]_CD
HNK@XS[OC
HNKYOHQG[
	)))]H[NL]
 )))]H[NL]
!())]H[NL]
!)))]H[NL]
!)-]H[NL]
#@)]H[NL]
#[)]H[NL]
#])]H[NL]
#_)]H[NL]
#|)]H[NL]
)())]H[NL]
)))]H[NL]
*())]H[NL]
@)))]H[NL]
[)))]H[NL]
])))]H[NL]
]H[NL]))
_)))]H[NL]
|)))]H[NL]
HNLBEXCPHEAMAZ_OOOH
HNL@BSLABJH
)))]H[NL]DFML
)]H[NL]DFML
?)))]H[NL]DFML
]H[NL]DFML
?)))]H[NL]FYLGLM]ALE@GB
())HNLG]
HNLG]DHDH
H[NLG]@GH
HNLG]GHDL
H[NLG]@GHEFBH
H[NLG]@GHMHGSH
]H[NL]GHDL
')))HNLG]]HZB@M
HNLGJ@HDE
hNLG]j[PY]
HNLG]]L[D@GH]@FGZ
hNLG]m[FYYL[
HNLG]ML]H@E
]H[NL]]@GN
HNLG]O@ELYH]A
HNLGS@HvMLEELvLG][H]Lv
HNLG]vJFGO@Nr
HNLG]v@M
HNLG]v@MT[LX
HNLG]Z][@GN))
H@NLGZZP
]H[NL]hELQHz@]LZ))
HNLHKHKJHN
)))_H[NL[HLQ]L[GF
HNLKBPP@Q
_H[NL]]L[
)))_H[NL]LDH@E
_H[NL]LDH@E
")))HN[LLDLG]
]H[NL]LFOZPZ]LDJ]EMHLDFG
hnllllllllmllllOllylm
HnllllllllmllllOllylm
)))]H[NL]O@EL
HNLOM@MNJ
]H[NL]]PYL
HNLSG[SN
H[NLSQB]H
H_NLSYDZYC[MKFX
]H[NL]vAFZ]
]H[NL]v[LHED
]H[NL]vLQ]LGZ@FGZ
]H[NL]vO@ELvGHDL
]H[NL]v@Y
]H[NL]vYF[]
)))]H[NL]vYH]AT
]H[NL]vZL[_@JL
]H[NL]vZLZZ@FGTMH]H
]H[NL]@Y
]H[NL]YF[]
@HNL[YGLJ
)))]H[NL]YH]A
]H[NL]YH]A
_)))]H[NL]YH]A
)))]H[NL]Z
HNLZCBHSCLX]
]H[NL]Z]H]L
]H[NL]ZJ[LLG
HN[LZZF[
H@_[NM]_
]HNMBBL[LZ
H_NMJPYHFDC
HNMMG]_NG
@HNMOLXZHQF
HNMPAOHMP]_P[C
HNMQPJ]LQ
HNMSLOMBQ
HNMY]BSB
HNNAHPXBMN
]HN[NCLXZZK
hnnFss3l6
HNNLKAHNCHDL]AFM
HNN[LNH]L
HNN[PAYJ
HNNPXYHN
@HNNXLEC_K
HNNXNZM@S
HNOJHGQPKN@O
HNOKGGZD
HNOMHLZMXZPGKH
)))_H[NOMNOM
H[NPANJK_G
_H[NPD]P
_H[NPD]PTO
HNPFXZQYNM
HNPJEQX]
HNPXDD]JSQ[
_HNPX_LY
HNPXPZZK
H_NQ]]AGH_
_HNQANDD
[H_NQD_C
HNQD_XCNESJ
HN[QHMYS
HNQHSLXAC
H@N_Q[OMJQ
HNQPKN_DKL]QNQO
HNQSCOCQ
HNQZNDDO
HNSKKQQA
HNS[M[]Y[PFQ[
HNSOQNX_
HN_]SQD_J
hN[[[S[[[R[[[
HNSSQQPCG
hnUSSUs[
h!n@v@@B@AFac
hNVSSk]]SSPst@
hNWidthWWW
HNXDEJCJNQB_G
HNXGZPYZG
HNXHYXH@HNNHMHK
HNXKASHJO]
HN]@XM]_OCCEO
HNXY]]PQYS[KJXY]OJN
]HNYAMPXL[_HZ
HNYBJZO]
[HNYDBOZKNJ@C@@
HNYHG[OQ
H[NYH[ZL
HNYZNDGFE
[HNZEN[KEKHK[ZQP
)))_H[N@Z]FY@J]FFEKH[
HNZGQPMX
]HN_ZKJ@YMXFGJB
]HN_ZKJ@Z@EGCJ
_]HN_ZLJN
HNZL]]OX
H]NZMKD]
HNZ]MXDB
HNZYDASXPG
HNZY[OSXB_XP
H[NZZ]XPDLJF
||||||||||||||||||HO
||||||||||||||||HO
||||||||||||||HO
||||||||||HO
	]HO0)*?
H;O7xx]Y]]
HO#||||#8	
||HO||8O||
[__HOAJ_YCD
H]OAL]CDQ
HOAMYB]Q
H@OAOXB[
[HOAPNCPOPFN
HOAXGABXCQLS
HOAY_S[DBG]QAX
_H[OBFGXM
H[@OBHJ@Y
H_OBJECT_NOTIFICATIONIdlW4
HOBL@D_ZP
HOCDNEYOCDNEYOCDNEEOCDNE@OCDNEJHOCDNE]OCDNE@OCDNEFOCDNEGOCDNEuQ
HOCG_G]CA]
]HOCJA_YO
HOCLB]Z_PGJJA
HO@C]ZSH
HODCCZPE
HODCSMQPX
hOdD[[[4[[["[[[
HODDMDBMDKN
ho_dgfGeg3
HODH]NKSH
H_OD@KM@@
hO"dM[[[
HODPDHEOMNJPX
[[[h"OdP[[[h[[[
@HODSO_SCGMHNZZC
HO_DXYJD_YADHAX]
hO"dY[[[
H[OEAHSYDY@K
_H[O@EEKEFJB
)))[HOEH[
HOE]HCGB
_H[OEHZA_H[Z
)))_H[O@EL
_H[O@ELFKC
hO@ELGHDL)(
)))_H[O@ELGHDL
_H[O@ELGHDL
_H[O@ELZ
H)))@O@ELZPZ]LD
hoemokje
HOESHSG]_
H)))OF[@
h)))O[FDKHZL
_H[OF[DMH]H
	)))_H[OFEFDLL_
HOFEJDBH
HOFKYDEKGX
h)))OF[LHJA
HOFYPXJJ
_H[OF[Z]
@HOGAA_AAD[Y
:)))HOG_C
HOGCLCNK[HPZF]
_H[O@GHE
HOGHHOOLX
hOgIdgfGjD
hO]giggfw
HO_GL_QGSAF
.hOgqgg0xs
HOGYQPQECMZ_
HOHBHHHEK
H_OHCZLGMBL
)))_H[@O[HDL
H)))O[HDLGHDL
HOHEHHHZHAH
HOHGBQXQCHXF
H[]@OHJ]F[P
H[]@OHJ]Z
_H[OH[_L
H)))OH@[P
hoidmkom
hoimjlld
HOJAI]	HN-
HO[JBXCBL@
hOJdI[[[
HO[@JHGJ[
HO[@JHGKLZ]OFF]KHEEL[L_L[@GBL[ZF
HOJKBDCYC
HOJLKDBQJS
HOJ]LOEH
HO_JOL_SJPY
HOJ[XXJYBB
HO_]JZ@P]L
H[[[[[[[[[[-O[[[K[[[[[[[[[[[[[[[[[[[[[[
HoKbKJK9K
HoKCK9K?K6K
HOKDA@DQ[
HoKdKVKOK
HOKGZY@][_F
HOKHZ[MXBCY
HOKKJPMABLKCP]
[h[o[k[k[n[v[b[
HOKQFSHCOCQ
HoKXK7K-K
HOKXNG_X
HOLA]DLF
HoL@@A@h FMHc
HOLBH_XS[
HO_LDBKM
HO]L[D@EB
holdineligiblereason
holgfG.s
[HO]L[GLZ
@HOLHMUM
HOL]HXSG
HO]L[J[HZA
HO]L[LJAF
_H[OLLMKHJBvE@GB
HO]L[RM@ZYEHP
HO_L]SZDAGGK
HOLZBEJJCBBSHZZOHZOHBFHA
HO]L[ZJAFFE
HOMCYHCL[X
HOMDAC[AA
HOM[DBDNZYQNS[LQYF
HO[ME_BLHBEASQ
HomeDirDrive
HOMEDRIVE
HOMEPATH
HOMgqggj
HOMMMOMMMOMMMOMMMOMMMOM
_H[OMNOAQ
HOMOJLHM
Ho)mtg'dgfG
HOM]][YGH
#)))_H[ON
HONAHG@Z]HG
HONCCQZ[JJ
HON[E_BJ
]HONLQP_CAA
HO[]NQ]LZE
[h[o[n[v[
HONXBO_Z
H]ON]XBZC
HONYXQQMG
)))_H[OO_AMCOA_M_MEBOBCZOCBMOCCOCOH
][HOOB@GN
][HOO@BKHJB
HOOCSPXX
H[O_OCZZO
HOO@E@H]L
HOOE@PBNH]]HFC]X
)))][HOO@GL
HOO@GL][HGZOF[D
h[@OO[HOOa]DE
h[@OO[HOOcZ
)))][HOO@JLE
][HOO@JzYF]ab
HookChain
hookedapi
hooktype
)))HOO@M
[HOOM[OQQNZZME
H[[]O[[OO[[sO[[gO[[
HOOSYFJMCLNYPH
HOOXOFCHMDHY
H[O]PBJ[L
HOPBQYH[DPPZNBMD
HOPCOOCGZ@H
HOpgODgfG
ho;pgppepq
H]OPKJYM[OOA
HO[P_LC@K
HOP@M[F]S
HOPMNZMLD
HOP]PFBAC
H_OPPFO]
HoPvo1V)
HOPXHOMBMBQM
HOPXJZ_DY
H]OQCYS@MJ_Q
HO@]QE[FOQZGS]
HOQE_KJO[
HOQJLLJ_NO
HOQL[SYS
HOQNGHZD]SO[BPP[
HOQNL]Y_
HOQNOQMK
HOQPXBHMPJS]
]HOQSXCEKQFS
H@OSAZKLOHG]Z[YKS
H_[OSE]PGXXSSCP]
H@OS[]H[[]
]HOSLCGYLOE
HO]S_O_K[LG
hostappversion
HostArch
HOST_ARM
HOST_ARM64
HOST_IA64
	?Host@NativeHWNDHost@DirectUI@@QEAAXPEAVElement@2@@Z
HostsFile
host unreachable
host_unreachable
HOST_X64
HOST_X86
HOsWdgfG
]@HOSY_N_M
HOSZSDX]OZJY_APPGHD
hoTgqggm
HOUAAIIUAH
HOULA@HUL
hovL]J)(
HowllllllllmllllOllylmFR
HOX]BSAJ
HOXCHDXZO[
H[OXGYDZS
HOXK_SXX_
H_OXYEYODL
Ho:X[[[Z[[[O[[[
[[HO]@YFLOBPLP
HOYJCKNSF__MPQ_KSPD[XBLPSM
HOYKJGD]X[G
HOYLHNXM
HOY]MXHS[]
]HOYOAJX]
HOYOBPDJOOA
__HOY[PCBH
HOyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
HOYZCHPDZX
[_HO]Z][
[HOZA[BBZ
HOZ[A]BZ
)))_H[OZF
HOZH_@GNZ
HOZHLDCYAM
)))_H[OZM
_H[[OZMO
')))_H[OZNA
hO[[[Z[[[O[[[
HO[[[Z[[[O[[[
H]]]@]OZZL
@@@@@@@@hp@@@@@@@@@@@4@@E@ACac
[[[HP5dY[[[
hPA@@@@@@@@
H]PAK_@ZOQNHBSLLSOQG
HPAMXH]L
HP[AQQQG]
hPathTypeConstsWW
@@@@@@@@hp@@@@@@@@@@BA@@Hp@D#H
HPBCKDG_XKZ@O
_HPBDZSZSF@
HPBFSHAMYS@B
HPBJ[DJ[[H
@@@@HpBKW
H]P[B]LB
@@@@HpBO
HPB]OFFG
HPBPMHLBGQQ
_HPBS_JXEMDF
@@@@@@@@HpBU
@@@@HpBwo
@@@@@@@@HpBwq
HPBZM_OF
HP[]C[DPMFL
hPCdW[[[
HPCJ_S_N
HPC_PSZGEPOD
H]P]CSX_AYFP
HPCYAD[FSKQJZ[MX
HPCZZXYGFGAA_[@]
hPdA[[[.[[[
?hPdD[[[
H||Pd||Fd||
HPDGOLZ_
HPdJ[[[d[[[
HPdK[[[l[[[
[H[PDSY_
HPdV[[[!
HPECQQHMZ
HP_E@KOSBSC
_H[P_ELNYH__L
HP@EQMSL]
@@@@@@@@HpFL
HPFLHOONNEDC
HPFPXACGQ
@@@@@@@@HpFV
_HPFXMQH
HP@F@XN_HG
HPGBC[QSNSD
HPG[@DAOZX
H]PGFD[K_[_MGBA
HPGJG[KX
HPGJOLNQ]L
hp#g;kgfG
HP_GOHLLK
'hpgppepq
-hpgppepq
]hpgppepq
h]@pgppepq
hpgppepq
hpgppepq)
hpgppepq[
:Hpgppepq
?Hpgppepq
]Hpgppepq
H"pgppepq
H:pgppepq
H[pgppepq
Hpgppepq
Hpgppepq-
Hpgppepq1X
hpgppepq4
Hpgppepq4
hpgppepq6
H'pgppepq6-E
Hpgppepq8
hpgppepqA
(hpgppepqb
Hpgppepqb!
hpgppepq(c
hpgppepq )D4
HpgppepqH 
Hpgppepqi
!hpgppepq*Ib
Hpgppepqj_
H*pgppepqjJ
hpgppepqk
H*pgppepqk
Hpgppepqm
Hpgppepqm4(ue
hpgppepq!Nhl
hpgppepqO!
HpgppepqP
HpgppepqQ
|Hpgppepqqp
hpgppepqsbFbe
hpgppepq!U
Hpgppepqu
HpgppepquQ
-:hpgppepqV
hpgppepqW
hpgppepqZ
HpgppepqZqv
hpgppept
Hpgppeptqw
HPGQDSKM
hpgqggBd
_HP[GZ@G
[HPGZMFPJNKS
HPHCAGZKMKO
HPHLNM@M
HPHOGBKD
H||PH||pI|| J||L
)))[HPHQ@HFD@
HPHXDY[PO]M
HPHZ[JDLE
H_PHZ@OLYO@[@_KY
h||pi||9i||
HPIGKPIaKPI
@@@@@@@@hp@@@@@@@@@@@@@@ip@@@@@@@@@@@@AA@
@@@@@@@@hp@@@@@@@@@@@@@@ip@@@@@@@@@@]Y]]
h||pi||Ui||6i||
HPJ@AZNGZN
HPJ[BFS[Q
HPJDZ_XLEGNNBHKB
[HPJEAGvP
][HP@JFGA@ML
H@PJK[B@]O
]H_PJL[KX[
HPJNMHO[
_HPJ[N@Z_]M]
HPJPMAPYOYZXDL_O
_HPJQGHONL
HPJSJGJMOZ
H_PJXYZCL
HPKBYEZ]B]
HpKdM[[["
HPKFL@G_B
((][HPKH[
HPK@J7Ay
HPKLOL_XH
HpKmKcKKKDK:K"K	K
HPKOBF]BJ_
HPKXYPSY
HpKYKQKIK4K
HPKYX_YF[NM
HpKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymy4#
HpKZKEK0K
)@@@@@@@@Hp@L
H@PL@ABD
HPLB_]SJJ
;)))][HP@]LDNL]]LQ]
:)))][HP@]LDNL]Z]H]L
;)))][HP@]LDZL]]LQ]
:)))][HP@]LDZL]Z]H]L
HPLKYJYPKD
hpllllllllmllllOllylm
hpllllllllmllllOllylm.@
HPLO_LXJ
HPLSM@PPM@JFAHYOPZXGN]
HPL[S[QNCQPES
HPLYOFHLGSJ
H_PLYX@GPNO
HPMAKS_P@S
H]PMCAOXM
HPMDHBPXSBNLXB[
H[PMKHAHN
H@@@@@@@@(p@Mw
_H[PNBCGBZHZM
HPNBD[QLAC]L[DLJNC
HPNDYQOQGFEMNOK
H(PNllllllllmllllOllylmd
H_P[NNB[H_ZHOCNQ[_
HPN_[@SC
]HPOBOMDMD
HPOGCQCM
H@POH[GSSYZQFQYF
H]POMDBAMQFDJ[Q@
]HPOOM_CKZXKYNO
HPOPHNEPL_ZNHGKMLLM
)))_H[PP
HPPGDQQQN
Hppgppepq
HPPHMXNYGMOH
_H[PP_XPG
HPQECMNL_L
_HPQLPNLN
H@PQSYSF
H)))][PR
*H;_prEH;_xw?H
hPSehT(6RSW(5RSWs
H]PSGCBGSCM
HPSJ[QJ_M
H[PSKPPPQJ]
HPSMSPDH
HPSN[DLYO]
HPSSDJDZJZNL
HPSYC@L_[
HPSY[MZEHPCN[
HPSZKACDOEK
[[[hPUdV[[[l[[[
HpwgMkgfG
@@@@hp@@@@@@@@@@@@@@wp@@@@@@@@@@@
@@@@hp@@@@@@@@@@@@@@wp@@@@@@@@@@@@@@ap@K
@@@@@@@@hp@@@@@@@@@@@@@@wp@@@@@@@@@@@@@@jp@@@@@@@@@@@@@@ap@v
HPXEG_EGE
HPXHYZZO_DS
#)))][HP]@Y
hPY1pgppepq
HPYCHZZYCC
@@@@@@@@hp@@@@@@@@@@]Y]]JX_
HPYJ[YASJESPQM
h)))]PYL
.)))H]PYL
_H[PYLBNL[M
HPYMHQ@NNF
_H_[PY_N
HPYNH[PSY
HP[@[YQ]
HPYSZ@DHSL
HP[YZ_NMPA
HPZGZSN[]Q_QGCCZNOXNYL
HPZKZJOXKMG
')))][HPZL]@JFG
_H[PZPEA
HPZXAB]ODEQHGO
HP_Z_[Z]N@N
[[[h[[[q
||h	||Q	||6	||
HQ9geegfG
H]QA_EC]H
[HQAMS_XOK
_H[QB_@M
HQBQNHOXM
H[Q@BS]SAG
HQB@XLOYS
[HQBXQQOKYL
]HQBZJ_GSS
HQC[CKSJ
HQCCMF[YAX
H]QCE]CNLNY@QFJA
HQCLNQSDE
[@HQCPMKHHCN[
[HQCSPLKA@
_H[QDEA]]Y
HQDEBGGOSL
_H[QDEFKC
())_H[QDEMFD
_H[QDEMFD
H[QDGFSXPB
)))HqdNJac_s
HQDOBZOYQSFMEYX]DCQ]
H]QDOQBD
HQDSLDL_MG
_HQ]DYOQ
@H@QEAYPJAH[N
@HQEBCNM
]HQEDO[_C[PC
[[HQ[E_M
HQE_]MYCNLHCJ
HQE]QEXS[
HQEYSML]O_E
HQFSSJ_@
HQG_ALMYLGJMX
H]QGDJ]_MN
HQGEKP@ANQZD
HQGGBLDSPX
#HqgkegfG
HQGL_CHA
HQGPEMLN
HqgqggKSl
HqgqggOe
[hQgsdgfG
hQgwggfw
h)qgYggfG
HQGYYEODC
[[HQHAC_B_CDYJK
HQHBKZCHZ
@HQH@BPC
HQHD]HBOHBDMDOYZPPMCP
_H[QHEGB
HQHPCQ]BY
HQH_[XHHN
HQHY]BSOPJX
h||qi||?m||
[hQj0JRd
HQJGBN]LXZSLHC
Hqjpgppepq
HQJQMSOS
HQJXQ]S_DML_]EM
H_Q[JYAO
[hQk0JRd
HqKaKQKAK1K!K
[H_QKB]L
[[[hqKdX[[[
HQKHKOK3K
H[QKHXSS
H@QKKEFLQFL]C
HqK]KQK1K
HqKlKWKOKGK?K
HqKmKeKUK)K
HqKmKIK5K)K
HqKuKiKYKQKMK5K!K	K
HQKXJOEKA
HQKYJJBY]J
HQLD_EC_]
HQ[LEPBL]SY
[]HQL[FBMX
hqllllllllmllllOllylmr
HQLQAYBJN
HQ]]MASL@X
HQ)mggfw
HQMM]NY]Y
HQMSYJPAOMA
HQ@MYDPKKP
HQMYN]LDSX
HQNBPNYNZMJH
]HQNCZYXJOSHL
HQNGHXYP
HQ]N[G[OK
[HQ@NHY]OYD
H_QNPNXM
HQNQCQ_AKFHDHDMXG
_HQNY]H]
HQOABKNAX]_YKXQG]
HQOAMHGHK
H[QO]DME[YCHXME]NF]Z]ZYX
HQOGLLYG
HQOGQLJP
h)))QOOuQOOuQOOuQOOuQ
HQOSCXPLNYC
HQPBAPJK
hqpgppepq
Hqpgppepq
H_QPL_GYP]DCH_
HQPPKP@EMJ
HQP_QKBX
	H;QPwTH
H_QQHPBPC
]HQQJKDH_
H@[QQOwE
H@[QQOwEZALEE
HQ]QPGQGC
h)))QQQJFGON
_H[QQQQQQQSSSSSSSSSS
H_QQ]XPEBL
HQSBABQ]MSN[
HQSBHBJC
HQSEJGGAKO
HQSGMMNYPDMKB[@
HQSLB@MCBSBYQ]SP
H_QSXCPBH
HqT3_]-07:D)
HQXADEMB
HQXCSYGXJ
HQXDXJAJYQOCH_OG
HQ[[_XFOY
HQ_XGEAL
)))@HQXHNHHBHJXHCHHBH@HHCHMLHDXH
HQXKYKYFQSQBXNLXN
HQXLEX[_[[
HQ[X_L@X
HQXXNA[[M
HQYANZQE_OMY
]H]QYCLANQ
hQYL[NEL
hQYL[NELv[LM@[
HQYONEZMZGYCHN
H_QYPC_]FX
HQYPSBAK
HQ[YSQDN@J
HQZDP@[YFNQ
HQZOEMHYJLQ
[hqZSSPs#
hqZSSPsu
HQ]ZXNPG
HQZYEJ_SL_
H[]_QZYKGPQHPK_
HQZYQM@K@
HrAddColumns
HrAddColumnsEx
HrAddColumnsExIdl
HrAddColumnsIdl
HrAddColumnsIdlW
hrCancelIo
hrCleanupResult
HrComposeEID
HrComposeEIDIdl
HrComposeEIDIdlW
HrComposeMsgID
HrComposeMsgIDIdl
HrComposeMsgIDIdlWWW
HrDecomposeEID
HrDecomposeEIDIdl
HrDecomposeEIDIdlWWW
HrDecomposeMsgID
HrDecomposeMsgIDIdl
HrDecomposeMsgIDIdlW
HrDeleteRows
h)))rDH]Ar
HrDispatchNotifications
HrDispatchNotificationsIdl
HrDispatchNotificationsIdlWWd
HrDoABDetailsWithProviderUID
HrDoABDetailsWithProviderUIDIdl
HrDoABDetailsWithProviderUIDIdlW
hRdR[[[.[[[
HrDuplicateStringW failed
hRdW[[[b[[[
HREFNFGTMZREFNFGTREFNFGT]REFNFGT[@REFNFGTREFNFGTGREFNFGTNREFNFGT
hRemoteWl 
hRenameProfileWWW
HrEntryIDFromSz
HrEntryIDFromSzIdl
HrEntryIDFromSzIdlWW
hresSubWW
((HRESULT)0x80090027L)
hresultRetVal
hrf!FUdV
hrGeneral
HrGetAutoDiscoverXML
HrGetAutoDiscoverXMLIdl
HrGetGALFromEmsmdbUID
HrGetGALFromEmsmdbUIDIdl
HrGetOneProp
HrGetOnePropIdl
HrGetOnePropIdlW
HrGetPropAccessW
hrGetSettingUnits
HrGetViewWWW
hRgg5gfGh
HRgsfgfG
H)))R_H[
h)))RHEL[]
hRhIsO)y
HR?hlffG
HrInsertRowW
HrIStorageFromStream
HrIStorageFromStreamIdl
HrIStorageFromStreamIdlW
h)))rJFG_L[]t
hr@@@@@@@@jp@@@@@@@@@@B@@@Hp@W
HR[LNZ_[
HR[LNZ_[G_
HrModifyRowW
HrNotify 5
_HR#OHi@SH
HrOpenABEntryUsingDefaultContext
HrOpenABEntryUsingDefaultContextIdl
HrOpenABEntryUsingDefaultContextIdlW
HrOpenABEntryWithExchangeContext
HrOpenABEntryWithExchangeContextIdl
HrOpenABEntryWithProviderUID
HrOpenABEntryWithProviderUIDIdl
HrOpenABEntryWithProviderUIDIdlWd
HrOpenABEntryWithResolvedRow
HrOpenABEntryWithResolvedRowIdl
HrOpenABEntryWithResolvedRowIdlW
hrPolling
HrQueryAllRows
HrQueryAllRowsIdl
h._RS#AYSSS@S
HrSetObjAccessWW
HrSetOneProp
HrSetOnePropIdl
HrSetOnePropIdlW
HRSSB]M9
HRSSE@_BY@DBYs
HRSS[iFRSSZM
h._RSsi_SSS@S
HRSSQBWL_sSSS
HRSSS@SBRRSRS
h!RSSTs#
*h*RSSUsb8
h!RSSUsH
HrSzFromEntryID
HrSzFromEntryIDIdl
HrSzFromEntryIDIdlWW
?)))Hr@t
h)))Ru[]O
H)))Ru[]O
HrValidateIPMSubtree
HrValidateIPMSubtreeIdl
HrValidateIPMSubtreeIdlW
h:R@@@@@w@@A@ACac
hRWdA[[[:[[[
h?rxGyyyyyy
hr@@@@@@@@XpLIP9
]H@ rxty
]H@ rxxx
h)))rY[FJLZZALEYL[
H@S1H@S#H@S-H@S
hS6gqgg?
h@S6h@S'h@S
H!s8H!s0L
hsAAAAAA@AAAAAC
HS]ABQ]J
HSAGDGC_BSMGEYP
HSAGLKK]Q
H[SAJC[C
H@SALBLM
H]SAllllllllmllllOllylmj
HSATAUAVAWVWL
HSATAUAVAWVWQL
HSATAUAVAWVWUL
HSATAUAVVWUL
HSATAUVW
HSAYGPBB
HS]AZJDGEX
HS]BBMCAQ]KAK
HS_[BE]KK
HSBMMJZ]LXZXK
H[_SBPCNOCE
HSBQPGBN
HS_CCNCCCBACC
]HSCKCJ]N]ZLZ
HSCNBJPD
@HSCSFCB[Y
HS]_CXJG
HSC[YSQZ@EZ
hSdA[[[)[[[
HSDAXKAO
HSDBASBMYBBO
HSdC[[[v[[[o[[[#
HSDENHYJDB
HSD@G]NZKN]
HS_DLQ]LGZ@FGUOF[LHJA
HS[DMCSO
hSdND]))
HSDZKQEC
HSDZN]MDA
HSEEFD[LGPYJ[S
HSEFN@JHYY
HSE]M_[ASAJAES
HSE_OGJA_B
HS[FELHZZ@NGDLG]
HS[FELMLO@G@]@FG
H[@SFGH@J
HSFKFAHP
HsFRegValue
HSGB_PMJQ
HSGDELEHMY
HSG_G_]KS
H@SG]JCF
HSGMDHHJKMPKBQBY
[HSGMK]N
hSgqgg) N
HSgqggra
HS_GS[BND
H'sg'TgfG
hSgYagfG
_H[SHAL[
hSH@@@@@BA@NpL@@@@@
HS@HDMLZJFYL[@]
HSHMYMOQ[P
_H[SHQLJQH
HS@H]X_CK]
HSHYGAL[OSY
@HSHZFO]
H||sI||dI||]I||UI||MI||1I||
h||si||;i||
)))_H[SJ
HS]J]AZMQCDO
HS[JCNKHBCXOFC[
HSJE_BLL
HSJFG]LQ]
HSJG_QDA]
hsJSSPs'
H[[s[[[[[[[[[[[[[[[[[[[[[[[[[[[[k[[
HSKAOCGBF
HSK[BBMPOJQS[PC
HS@KEX]BCH_
HSKO]_GHBDKHNBZYP
HSKSJL]EO
H[SL[CGAQH
HSLG_PMQOC
hS]LJdLM@H
_HSLJY_HJM
hsllllllllmllllOllylm
HSL]NXYK[PQ_
HSLP]ABJ]SPGJQ@G
HSLP]CSE
HSLZOHGX
[HSMF[AL[L
H]SM_OH__LCYJL
HS@MOJYGXO]ZDMQ
HSMOKSGBL
H@SMOSH_O[C
]_HSMPS_SA
HSNAEKHFFONDBODSK_YZ]
HSN]EAYGCO[JPM
@HSN]E[JPC
HSN]HC[AXYG
HSN_SEGNPOA
]H[S[NSJAGQ
HSNSNKZX
HSN_SSNG@
HSN]Z]HXA
HSOJGB[GH
HSOKBL[JBQL]LGOMZM
HSONQPSSX
HSONZFGEZAX]J@
HSOSZJYQ_Q
HSOX_LSKGB[BB]_YZ
HSOYONQH_Q
H[SPDZGLHAZPMBAS
HSPE[S@[
hSpgppepqa
HSP]KPSOLPD@CA
HSPMJ_OCHG@ESX
H@SPSSSS[CCZR
[HSPXQDL
@H]SQHQNXOJQLABGB
HSQH]XOKXEQHOKQX
HS[QSLZX
hSSdSSoSSkSCoSSjSsoSSiScoSShS
H!s !s(I;
HSS[JKJMMPHKGSJ
HS[SK@B]K]D
@HSSKG[DBZ@NYNM
HS_SMHZMPCG
HSSPSADC
**)_H[SSS
h'SSSBGs
h-SSSBT@UEXE9YW[
hSSSS1_C
HSSSS@S!Q
hSSSSSSSS
hSSSSSSSSNR
hSSSSSSSSSSSS
hSSSSSSSSSSSSSSSS
hSSSSSSSSSSSSSSSSSSSS
hSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
hSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSb|M
hSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSZ	
h.SSSUsh
HSSY[]_PZH]PBHBXSHH
HSTR_CALLER_CMDLINE
HSTR_CALLER_EMS
HSTR_CALLER_FILE
HSTR_CALLER_HOOKWOW
HSTR_CALLER_SMS
HSTR_CALLER_TSKSCHED_CMDLINE
HSTR_CALLER_UNKNOWN
hstr_exhaustive
HstrFrags
hstr_full_log
hstrlog not available
HSTR:SmartAssemblyStrDelegate
HSTR_WEIGHT
H SUVWATAUAVAWH
HSUVWATAUAVAWL
HSUVWATL
H SUVWAVAWH
H SUVWAVH
H SUVWAWH
HSvLDH@E
h@SVo@S@o@Sro@S|o@Sno@S
H SVWATAUAVAWH
H SVWAVAWH
H SVWAVH
##H)((Sw
HSXE]ZDSQHCA
H_SXJDHP]NH
HSXKCHAXHHXK_HN
HSXKCHAXHSXKBHJ
HSXKC@PO
HSXNM_DO__GBNBQQ
HSXSLCN_S
HSXZCA[J
HSYBMDDS
]HS[YESXMO
HSYHHQM[Y
HS_YHKQD
HsymcsyuYsy
HSYNACCBK
H[SYPDJAP
HSYQA[JN
HSYQPS[_]S
HSY]SN@H]DKNHAC_@C
||HSy|@Sy|
HsytKsy]KsyJKsy;Ksy
HSY[[Y]JZXA[XO
HszCfgPathNameWWW
H]SZH]AA]JD
HS@]]ZXQ
H_SZXX[B
HSZZOSOA
h||T||||||||||||
hT6gqgg|
h@@@@@t@@A@ACac
hTC   !    6
HTd@[[[:[[[
hT[[[e[[[d[[[ghvdH[[[
[[[HTEdx[[[
HTG'ggfGm
Ht	gqggfa
@HT@HHHU@IHHXIHVHVHVHW@XUU
hThis utility lets you optimize your workstation with the best possible graphics and compute performance.
h||Ti||!i||
HTIUKRIsKVI
HtKgK3K*K;J4J"J
HtKjKaKVK
HtKLK1K7K
HtKXKUKGK4K!K
hTllllllllmllllOllylm
h[[[tLTd[[[[
HtmlDOMParsingSizeLimit
htmlheadbody
HtmlParsingCountLimit
HtmlParsingSizeLimit
h||To||!o||
HtoyxtyK5
Htpgppepq
@@@@@@@@h TR
hTRgqgg!
HtRuRuRwNxRuRBPsRsRBPsR
h:TSSPs0f
httpclientcertselector.cpp
HTTP_CONNECT
HTTP_COPY
http.cpp
httpdcresource.cpp
httpdcresource.h
httpdcserver.cpp
httpdcserver.h
HTTP_DELETE
httpdnld.cpp
httpdnld.h
HttpEndRequestA
HTTP_GET
HTTP_HEAD
httpinternalrc.h
HTTP_LOCK
HTTP_MKCOL
HTTP_MOVE
HTTP_MSGHDR_FIELDNAME_ContentLength
HttpOpenRequestW
HTTP_OPTIONS
HTTP_POST
HTTP_PROPFIND
HTTP_PROPPATCH
httpproxyconfigtest.cpp
httpproxyconfigtest.h
httppublishserver.cpp
httppublishserver.h
httppublishservertests.cpp
httppublishservertests.h
HTTP_PUT
HttpQueryInfoA
HttpQueryInfoW
httpreportingresource.cpp
httpreportingresource.h
httprequest.cpp
httprequest.h
httprequestimp.cpp
httprequestimp.h
httpresource.cpp
httpresource.h
httpresourceprovider.cpp
HTTP_SEARCH
HttpSendRequestExW
HttpSendRequestW
httpsession.cpp
httpsessionmgr.cpp
httpsessionmgr.h
httpstreamingresource.cpp
httpstreamingresource.h
HTTP_TRACE
HTTP_TRACK
HTTP_UNLOCK
*hTWSSPs
htxAAAA]AAAYqlE
htxAAAAC@AAIqAEM
hU[[[)[[[
hu8)7kG]X
hU8dogfG2
HuAAAAAA@AAAAACL6
HUAALNUNOHK
huAeggGupG5gqgg
HUA@KHUHHJ
H UATAUAVAWH
h UAVAWH
H UAVAWH
H U@@@@B@A@dp@Mu
]hubgfG;
hUb[[[[w
Hu dH[[[][[[
hU[dK[[[
[[[@hUdS[[[
hUfgfG???
H)))uFKCLJ]
h)))u_FN@ZA
HUFYLGZZEKHZL
HUgdS[[[r
hUgfGP#c
HugojgfG
hU?gqgg6
hu(gqggQ
HugYcgfG
HUHdH[[[
HUHHJIHLKML
HuH_HMH;H(H
HuHkHaHgH]HSHIHOHEH;H1H7H-H#H
]H@ U]HL U]HL
]H@ U]HL U]HL U]HJ ]HJ U]HJ ]HJ ]HJ ]HJ ]HJ ]HJ 
h||ui||Ni|| i||
HUIyxsy:
HuKaKIK1K)K
HuKaKYKIK-K
HuKjKaKYKIKOK6M
HuK]KEK!K
h[[[ukmeH[[[
HuKmKeKQK9K1K-K
HuKmKQKMKEK5K!K	K
HuKYKUKMK
HullllllllmllllOllylm
HULOINUA@H
HULO@KUL
hulOutCodePageWWWX4
H U@@@@@@@@Lp@y;
HUOOAAULNIIUAO@AU
HUOOJJULH
hupgppepq
hUpgppepq
hUpgppepq'
H:upgppepq'
 )))[HuQ
hURSSBWD9
H USVWATAUAVAWH
H USVWAVAWH
H USVWAVH
H]UTAVUAW]Vz
H UVWATAUAVAWH
H UWATAVAWH
hUXSSBAs
H;u'xxxsyxzxzxtxY[
HuyuKuyaKuy]KuyKKuy9Kuy5Kuy#Kuyyyyy
	())_H[v
!)))_H[v
.)))_H[v
@)))_H[v
Hv@2llllllllmllllOllylm
HVA_]07:D(
h*@@@@@v@@A@AAac
H@@@@@v@@A@AAac
hvAFDL))
H VAVAWH
HVBpgppepqR
HvcallStatus
H@vCFZ@GLvNLKL[HE]
HVC	pgppepqg
Hvdpgppepq
[[[h'VdQ[[[
HvEFFYO@ELEFGNYH]A
HvEFFYO@ELGHDL
H@vE@M@HDYEZ
HVEpgppepqR
HvfA9	rj
[[[hvFd[[[[
hvFKCLJ]))
hVfllllllllmllllOllylm
HvFllllllllmllllOllylm
Hv_F]v]HB
_H[v@G@]A]]Y
Hvg'fgfG
#hVgqgg;2jh
HvHABYH]A
HvH[HLH4H
@HvH[JA@_L[
hVhththhh
hVhththt
_H[vHYY@M
h||vi||ci||Hi||5i||"i||	i||
HvImageInfo
hvix64.exe
hvix64.pdb
[[[hvJdK[[[
hvJEZ@M))
_H[vJFML
[h[v[j[j[
H@vJJALEYDL
HvJmJ_JOJ3J
HvKcKPKJK
H@vKFKvKHQELP
HvK_KDK-K
HvK]KPKIK6K
HvKnKQKIK8K0K#K
HvKoKgKy
HvKWKBK#K
HvKZKIKOKDK K
hv]LDY))
]HVL ]HVL U]HVL U]HVL U]HVL U]HVL ]HVL ]HVL 
hVlllllllllmllllOllylm
HvllllllllmllllOllylmr
hvlqlj))
hvMH]H))
HVMVsgfG
HVn@BBAPpV@@@@@
HVn@@@@B@B@Hp@V
HVN;llllllllmllllOllylm
)))HvNL]vEFJHEM@[LJ]F[PvHGMvHEEM@[_LZ
HVNVHyxk
h|vodo9ogo
H|vodo9ogo
hvO@EL))
HvO@ELZr
'H|voeo9ogo
H	|voeo9ogo
HVogqggc
hvOHBLDZN))
[h[v[o[k[i[n[v[b[n[n[o[v[
hvO@LEM))
h]vo[LHBSvmF]
hvqpgppepq
HvsiEvaluator.pdb
HvUfgfGP
]HV@ U]HVL U]HVL U]HVL U]HV@ ]HVL 
H VWATAUAVH
h VWATAVAWH
h VWAUAVAWH
hV@@@@@x@@A@AEac
Hvx@N0:0
HvY[FN[HDO@ELZ
)))HvYvFvJvCv]vFvQv[vPvHvNv@
")))H[vZ@ELG]
hvZ]H[]LQL))
hvZJ[LLG))
HvZJ[@Y]GHDL
HvZJ[@Y]GHDLv
hvZLGMZDZ))
hW;2]sgfw
hW4gucgfG
||h	||W	||8	||!	||
HWAdB[[[
hW-aG	isMg7kgfG
H WATAUAVAWD
H WATAUAVAWE
H WATAUAVAWH
hw_authent
H WAVAWH
HWgbgAgg
hwgqgg59
HwgWegfG
@hwIa9@@@@@u@@A@AAac
HwIdH[[[
HWJWHMJWKWKOy
HWK;K0K*K!K
HwKOK4K*K
HwKoKSKKK?K7K
hwllllllllmllllOllylm
hwndChildAfter
hwndParent
[HwN_wEwEN
h)))wOw_
HWpgppepq
hwRSSPsJ
HWSS[:XT9YUK9
H|Ww0ggw
hwWSSPsu
HXAAGGEKE]SBYX
HX@AA_Z_M_M
HXACGHMDLL
HX]AGNPMZENKX
_H@XAJNFFJJCY
HXAKYJF]
H_XAKZGDKFAM
HXANXDJ[Y
HXAOANFBQ
hXaPllllllllmllllOllylm
HXBGCE]EMJJE
H[XBM_NG
HXCCNCCCBACC
HXCJ_SGA]GFC
HXCKHJSP
HXC]NJXX
HXCODJXPPDNLDGG]CAFPG
HXCQ[PAOZNBDHYKE
HXCZEA]HOX
?hXdA[[[
H[XDDAGJGLJ
HX_DHOXESB
HXDHS_[QSY
HX][DKDB_YMN_
HXDMQOZNP
HXDOD[[DE
HXDOMYFYHQ]ZAYXQ[E
HXDPJOXNC
HXDXCALJH
][[[H_XdY[[[
HXEFGX@XGSP
hXEgfG0AM
HXENDZ]GCAZEKYFDMK@JXASOG
HXE[NXOQE
HXESGEFPEK
]H@ XEXH
HXFFYEP_@P
HX]_]FGZ
]HXFKHPHYLA
[HXFYGGQD
HXGG_SKL]MN
h-xgKkgfG
HxgkpgfG-w
HXG_NAJMMLB
hX*gqggV
H;XgqggXc]5D
HXG_XLNMDYS
H_]XGZXMB
H__XHCN][GX
HXHHHHHHHHH
HXHHHHHHHHHDHNHHHO
HXHHHHHHHHHLHXHHHJC]LQG
HXH_LMJSG
HXHNL]KCX
HXHPGLG]GODJOJCH]CDCYJA@
HXHQSOJBPOSMBBDMDSO
HXHZAAPLGQO
h||xi||hi||Xi||Hi||8i||(i||
|hxixjxkxdxex
HXJCHF_D
HXJG]OPLHA
HXJG@_ZPB
HXJJY_]A
@HXJPP]@]_K@K@DYB_PZE
H[XJSOXL[
[HX_JXBK
HXJ@YNQNO
_H[XJZOJ
HX_KDDYESZ[AN
)))HXKEHANH@HHFHJNHKNKEHAJHEXK_HN@HHNKEHNDHMHHNHN
_HXKMGFB_
HxKmKNK-K
HXKMNSZD]LPL[CJ
HX]KMYB]B
HX]]KMYYD
HXKNKCKJ
HX_K_QYO
HxKuKlKbKQK
HXKVK8K5K
hX[[[L[[[B[[[
H[XLKMGL_K_JXEF[]
HXllllllllmllllOllylm3
hX"llllllllmlll]Y]]
h#XLNdllllllllmllllOllylm
HXLNJPSA
[HXLNZZQOOLSHJ]B
HXLPBNPJGX
HXLQCB]A
[]HXLQZ]D]Q[[
HX]]LXMDSOZG
HX[MCDEDE
HXMDPS]]XE_
HXMHMACSOJYYMDJF_
[H_XMJY[Y
_H[XMMCDHEY
HXM_PZOGJCBMBD
HXMY]COS[O
HXMYH_YM
HXMZKXZH
HXNALSOME[HJNQZFEN
[HXNBXPO
_H[X_NHXJKLC]CH
HXNKAHADHSXH
HX_NKZFC
HXN]MB_C
HXN_NKKZPZJ_AOF
HXNSZYZDXP]OEBGG
[H[@_XN_YBAAY]AS
[HXNYKQJ[GHZY
HXN[ZPOG
H_XOC[_MS]KB_PF
H_XODLZA
H_X][OMCYXSAYDDNK
]HXO_NQDC
HXOPQHBPZX
HX]OSYZD
HXO@XFACJGX[SHN
HXOYCAGON
_H]XO[Z_CH
HX_PLPQ[XHJ
h@@@@XpMD
HXP]M]YJ_CNL
HXP_N_NGLHDC
HXPZGQJ_KX]
HXQAJSA_[
HXQGPMJ[OH
HXQNQ][MGHCB
H]XQPEEXMQS
H;x r	I;
HXSAM__OKHLEMG[QMEZD
@HXSEXKQSN
HXSJN[YDOK]
[H]X]SOB
_h@XSSPs
HXSVOXSGOXSvOXSeOXS
HX@SXSBQ
HXSYCJA]
hXtgScgfG	
hX[[[v[[[t[[[
@HxWE9@HBH@VBWs
HXXDCO__
HXXHAHJ@K
HX]XHHHYLFJ
HXXJS]YYD
HXXKNCJJH[
HXXKSHADHSXK]HN@HKHK
HXXLQYASCYJ[
HXXMDOMSDG]
HXXODZPQJ
HXXPBB_EM
HXXQEDOG]CMBA
HxxrPZxxrP[xxri
HX_XSJCCYHOQ
hx(x;x0x
hxxx5xxyxyxyxY[
|]Hxxx9w
hxxxxxxxxxxxxxxxxxxx
h[XXXXXXXXZX]XXX
hxxx]Y]]
@Hxxx|yx
-hxx]Y]]
h*xx]Y]]
hxx]Y]]#
]H@ xx]Y]]
H;xx]Y]]
hxxy]	hxxy
hxxyxiso ksis
h_xxyxuy
HXXZBCZBCHXXCBFFBF
hxyahxybhxylhxyYhxyhkxy
HXYBGS@_HXX_KNJO
HX_YCMQO
HX]YCQDHX
HxyHKxyLKxy@KxyDKxy*Kxy.Kxy"Kxy
hxy	hxyMmxy
H_X]YHZJ@
hxyikxy	ixy
HXYJOZ@Y
HxykKxy_KxyGKxy!Kxy	Kxy
HX[YL_JE
hxyllllllllmllllOllylm
HXYNXQCF@_P@[
HXYN_ZAHC
HxypKxy[KxyBKxy-Kxy
hxyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HX[Y[_SDL
HxysKxygKxyIKxy;Kxy.Kxy
hxytkxyfkxy
HxytKxyUKxy4Kxy	Kxy
HxyuKxyXKxyAKxy(Kxy
HxywKxy[KxyNKxy5Kxy
hxywkxyVkxy2kxy
H ?xyxsy"!!
@HxyxVx'x
hxyxxxxxyxxxxx
hxyxyyyqyyyqyyyahxyAhxy!hxy
hxyxyyyryyyryyyQhxy-hxy
hxyxyyywyyywyyy
hxyyA:xv
hxyyiyyyyyyyyyyyyyyyyyyyyyy
hxyyiyyyyyyyyyyyyyyyyyyyyyy-hxyyyyy
hxyykxydkxyAkxy*kxy
hxyyxyyy
hxyy|yyy
hxyyyyyy
hxyyyyyy(
hxyyyyyy)
hxyyyyyy[
hxyyyyyy]
hxyyyyyy|
hxyyyyyy8
hxyyyyyyH
hxyyyyyyi
hxyyyyyyI
hxyyyyyyJ
hxyyyyyyK
hxyyyyyyL
hxyyyyyyM
hxyyyyyyP
hxyyyyyyq
hxyyyyyyQ
hxyyyyyyr
hxyyyyyyR
hxyyyyyyS
hxyyyyyyx
hxyyyyyyxyyyxyyyuyyy
hxyyyyyyy
hxyyyyyyY
hxyyyyyyyyy
hxyyyyyyyyyskxyyiyyyyyyyyyyyyyyyyyyyyyy
hxyyyyyyyyyyyyyyyyy
hxyyyyyyz
hxyyyyyyZ
HxyzKxyaKxyRKxyEKxy6Kxy
HX___ZHC
HXZJSSHDE
HXZKNQKPD
HXZPGXJJ[O
HXZPOKMPZGC[OAGYG
HXZSAPOJ]SSH
HXZYK]GZCAZ
h ((]Y]]
h)((]Y]]
H@@@@]Y]]
hy0MXyy!|yyRD
HY1gqgg(
hy3_]07:D(
hy5x1x*x9x
hY7)ggfG*
H]Y]]8lX
H|y9Uyy9Uyy
@@HYADSP
HY[AEKDS
:)))_H[YAFGL
HYAGNHJN
]H[YAGY]P
HYAHZ@HO@EDZ
_H[Y]]A[L
hYA@MDFG@]F[ZL[_@JL))
HYA@MDFG@]F[ZL[_@JL
@HYA@MHJJLZZF[PJH]LNF[P
HYAXJMZBYMZG[
H_Y__B@[
HYBASAMQ
H]YB_DCH
HYBD@[[F[
HYB_HMFXGKMJKL
HYBJGH_OLC]_LF@SGE
@HYBK[ML
HYBLM@]F[
hYBlM@]F[Z
HY[B[MMOOMD
HYBMO]O[J
HYBNKODZD
[H[YBOCD
)))HYBY[F]LJ]F[
H[YBYMYG
HYBZAH[L
HY@BZYAZ
HYCEAOFEYJ_F
H@Y_]CG_N
HYCJJE_Y
HY@CMPB_ZYZBO
HYCQBGGP
HYC]XACNXP
HYD[EPBA
H]YDGGS@KJBD
HYDGS]NEE
HY[D@M_S
H[_YDPA@XJ
HYDSLCQYQSMQH[BSJA[
HYDSSCEM
H@YED[]C[
_H[YEFMZ
@[HYEG]KA
HYEGS[JG
H]@Y]EHPF[
)))_H[YEHPL[_L[Z@FG
HYE@J]FG
HYE@JH]@FGZA
HYE@JH]@_FiD
HYEJHHFQ[_L__B
|)))HY]@]EL
H[@YE]_X]
)))_H[YF[]
HYFBZP@C
HYFE@]@JHE
HYFGAJK[FKCPHQK
HY@_FGLZ
HYFJAFE@J
;)))[HY]F[JE@LG]
HYFNNSZGD_]
HYFO[HQ@ZH_EFG@]@Z
)))H@Y[FOLZZ@FGHEZ
_H[Y[FQP
_HYF[@SL[JFG][FE
HYF[XJFQ[SF]G
_H[YFYFYFYYFY
)))_H[YFZ
)))HYFZ]EL@
HYFZMC_Y@A_@ZFLA_BEH@AA
)))H@[YF[]ZSHEEF
H@[YF[]ZSHEEF
HYGM[CON
HYGMOPCM
H_YG__]ONBXKXGD
hy!gqgg(
Hygqgg6l74
HYGQNECYPX
HY[GQ_QHECPKF
HYG[QYCG
HYGZL]]@GNZ
_H[][@Y_H[
HYHAEBZ[
HYHD@]B_XZ
HYH[]DLG]Z]H]L
_H[YH[HDZ
())_H[YHNL]PYL
HY@HZLXY
hYi5hYiehYi
HYi)HYiYHYiyHYi
;hyIyyyyyyyyyyy
]HYJE@JB]HEB
HY]JJG]SEYDQ
[HYJLXCGJ
HYJMJA]MX
)))_H[[YJO[LL
_HYJPCAP
HyKaKeKYK]KAK1K5K)K
HYKIK9K)K
HyKiK]K8K(K
HyKiKYKIK9K)K
HyKJK@K3K
HY][K[KD
HyKkKeKMK2K
HyKkKLK5K
HyKkKWKNK"K
HYKLKHAHZ
H]YKMFD[K_NOCB@_
HyKmKeKIKAK5K-K
HyKnK_KDK-K
HYKOK@KK
HyKpKkKbK]KTKOKFK1K(K#K
HyKpKkKbKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay4#
HYKPNXOC[XZ
HyKqKeKQKIK9K5K
HyKqKiKaKYKQKIKAK9K1K-K
HyKqKiKaKYKQKIKAK9K1K)K!K
HyKqKiKeKMKEK1K
HyKqKmKUKMK9K
HYKQKUKMK
HYKRKDK1K#K
HyKuK]KIK1K-K
h|y|k|yCk|y
HyKYKAK)K	K
H|y-K|y	K|y
h|y k|yr
]HYLDHBL[
HYLD]N[KQ
_HY@LGMYF@G]
_HY@LGMYF@G]))
HYLHESHH_SOHG_
[HYL@KBA
)))_H[Y[LO@Q
HYLQ][HM@GX
	)))HYLQJ[LH]@_L
HYLQJ[LH]@_L
H]YMDC[SN
HYME_BGMDNK
HYMHNYYON_JO
HYMKLPEY
HYMLAKLKAX
hY@mLDFZ
_H[@YMLZJF
H_YMM]NAZ
HYMOZHNAEXB
HYMvJFYPvHEEvO@ELZU
H|y)M|y)M|y
|||h|||y|||N
HYNBBOLK_
HYNDP[BJ
HYNHCSYS]BXLNPXO_
]H]YNJDS]_
HYNJNNYZAFKL
HYNOM]BYDJXDN
HYOBQ_[GP__
_HY[ODLPZ
_H[Y]OF[
H[_YOGZQJCZ
_H[Y]O_L
HYOL_CHN
)))HYOLEEr
]HY[O_PB_KBG
HYOY]DAANCJ_
H@YOYJBK]XLM
HYOY]]P_KJ
]HY_[PAY
 HYPERVISORIPT 
]HYPGG@DX_ZXOAC_M
HYPHGOAA
HYP[HXKGNM_@EAX
hypwcsOldNameW
HYPY_PXJYNYB_
_H[YQA_O[_ZP
HYQDD]GKS[SOA
HY]Q[HGDPH
HYQLG_X[GD
_HYQNDXD
HYQNEMCEDQKS
H_[YQP@A
HYQ]QHLNLA
H@|y]r"Bt
hYRSSB[s
HYSBOQHQ
@[HY_S[HNK
HYSKLHYP
H[YSLBECMGALQ
HYSMEZBG
HYSSANDMOQDBH
HYSXBKGM
	H]]Y]]t
HY@vYFZ]
;)))HY@vYHZ]LvOF[DH]
h]y-W9wh
hyWAAAAAA@AAAAAC
HyWyJ*yYy:y
[HYXAAH[D
HYXA]MHNS_M
HYXAODMBD[GO@Y[YZ
HYXCCDHES
HYXCC]GNMSM
]H@ yxcx6
HY]]XCZP
HYX]DHKHK]GQ@BMS
]H@ yxfy
H[[@YXGC
]H@ yxix
!!H!!!!!!!yxjy;
Hy?xkgfG
HYXKO[MA[
HYXMS]YA]
']H@ yxmy
]H@ yxoy-
*Hyxpy(5
']H@ yxpy9)]
hyxq98Eypxx
]H@ yxqy]
)))_H[YXS
hyxSi|Qr
]H@ yxty(
hyx#yBIur
]H@ yx;yP;
H]yxZy9x
HYXZZQNF
hyy1qyyyyyy
hyy3hyy*hyy
hyy7iyy"iyy
hyy8hyyEhyylkyy
hyy9pyyyyyy
@HYY]AH]
HYYAHGNH[
hyyakyyGkyy
hyyAkyy'iyy iyy-iyy
hyyakyyKkyyCkyy;kyy
hyyaVyynI
HYYBGMEJZPJ
hyybkyy;kyy
H[[_YYC[EJMAY
hyyckyyGkyy
hYYD@EEhGM[F@MhJ]@_@]P
HYYD@EEvZ
)))HYYDFGB
HyydKyyEKyy"Kyy
hyydkyyFkyy
hyyDkyykkyyvkyy
HYYEFJBEL[EFNZ
HYYEFJBL[EFNZ
hyyEiyy5iyy	iyy
hyyEiyy5iyyUiyy
HYYE@JH]@
hYYE@JH]@FG
)))HYYE@JH]@FG
HYYE@JH]@FG
HYYE@JH]@FGEFN@J
HYYE@JH]@FGEFNLGMYF@G]
HYYE@JH]@FGGHDL
HYYE@JH]@FG@GOF[DH]@FG
HYYE@JH]@FG@JFG
HYYE@JH]@FGL[[F[
?)))HYYE@JH]@FG[LOL[LGJL
)))HYYE@JH]@FG@M
HYYE@JH]@FG@M
HYYE@JH]@FGMH]H
HYYE@JH]@FGNL]JFDDHGM
HYYE@JH]@FGr
HYYE@JH]@FGv
HYYE@JH]@FGw
HYYE@JH]@FGYCCCCC
HYYE@JH]@FGY[FN@M
HYYE@JH]@FGZ
hYYE@JH]@FGzA@DD@GN
hyyekyyBkyy kyy
hyyekyy?kyy
)))HYYEL]
HYYEL]))
HYYELCH_H
HYYEL]DH@Ev@M
HYYEL]DH@Ev@M@HMMECH_H
HYYEL]DH@Ev@M@HMM[LZZE@Z]ECH_HQ
HYYEL]GHDL
)))HYYEL]H[JA@_L
HYYEL]H[JA@_L
hYYEL]JFML))
)))HYYEL]JFML
HYYEL]JFML
HYYEL]JFMLKHZL
HYYEL]KZ
HYYEL]@M
HYYEL[NL]KP]LZ
HYYEL]NL]LGN@GLKPGHDL
hYYELyA@ZA
HYYELZJ[@Y]
hyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyy4yy9yyyyyyyyyyyyiyy
hYYe@Z]hJ]@_@]P
hYYe@Z]hJ]@_@]PhE@HZ
HYYEZYO@ELGHDLEZYO@ELGHDL
HYYFEDAE
HYYF@G]DLG]HJ]@_H]@FG
HYY[F_HEHZYL[YH[]
HYYF[]HKEL
hyyfkyy)kyy
hyyfkyy]kyyPkyy'kyy
HYY[F_LM
hYY]F|zPGJ|[E))
hyygkyy0kyy
)))HYY@G_LG]F[
HYY][HJBL[
)))HYYHJ]@_H]L
HYYHJ]@_H]L
hYYhJ]@_@]P
HyyhKyy1Kyy
hyyhkyyDkyy
hyyhkyyIkyy6kyy
HyyhKyyIKyy6Kyy
HyyhKyy[KyyNKyy4Kyy
hyyhkyyRkyy
hyyhkyyRkyy kyy
hyyhkyy-:yy
)))HYYHY@
hyy?hyy!hyy
hyy]hyyOhyy3hyy#hyy
hyyhyyyEy
hyy.hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
hyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
hyyIjyycmyy0myy
hyyIkyy kyy
hyy	iyy	iyy
hyy	iyy	iyy	iyy	iyy
hyy	iyy	iyy	iyy	iyy	iyy	iyy	iyy
hyy	iyy	iyy	iyy	iyy	iyy	iyy	iyy	iyy	iyy	iyyDkyy	iyy	iyy
hyy	iyy"kyy	iyy	iyyhhyy	iyy	iyy	iyy	iyy	iyyHkyy hyy
hyy	iyyyyyyfkyyyyyy
HYYJHJAL
HYYJHJAL_L[
hyyjkyy;kyy
HyyjKyyZKyy
hyy#jyyVhyyZhyy
hyyj!yy*!yy
hyyj)yy*)yy
hyykkyy3kyy
hyykkyyCkyy
hyykkyyIkyy?kyy
hyykkyyJkyy-kyy
hyy]kyy0kyy
hyy_kyy0kyy
hyy_kyy4kyy	kyy
hyy?kyy6kyy_hyy
hyy"kyy[jyy
Hyy:Kyy.Kyy
hyy|kyywkyynkyy
h)))Y@YL
hYYlG]L[hJ]@_@]P
hYYLGMaLHMjA@EM))
HYYLGM]Fr@GYHNL
HYYLGM]FrJEFZLt
HYYLGMHEE]LQ]
hYYLGMhJ]@_@]P
HYYLGMHJ]@_@]P
HYYLGMHO]L[
)))HYYLGMJA@EM
HYYLGMJA@EM
HYYLGML[Z
hYYlG][P
hYYlG][PhJ]@_@]P
HYY@]L[[H
hyylkyyGkyy
hyylkyyUkyy;kyy kyy
HYY_L[Z@FG
HYY[LZYFGZL))
)))HYY@M
hYYmFDH@G))
HYYMFDH@G
HYYMFDH@Gt
((HYYMH]H
)))HYYMH]H
HYYMH]H))
hYYmH]HeFJHE
HYYMH]HEFJH]@FG
HYYMH]HM@[
hYYMH]Ho@ELlQL))
HYYMH]Hu
HYYMH]HuD
HYYMH]HuD@J[FZFO]u]LDYEH]LZ
)))HYYMH]HuEFJHEu]LDYuHMFKLHJM
)))HYYMH]Hu[FHD@GNu]FFEZuNFFNEL
)))HYYMH]Hu[FHD@GNuNL[]@B
HYYMH]Hu_L[]@FG
HYYMH]Hv[FHD@GN))
HYYMH]Sw
HYYMH]UK
hyymhyyikyy
HyyMKyyDKyy?Kyy6Kyy!Kyy
H][YY[[NC
hyynkyy)kyy
HYYOFQ@]_L[Z@FG
hyyokyyBkyy
hyyokyyNkyy*kyy
hyyOmyy4myy!myy	myy
hyyPhyy6hyy
hyyPkyy5kyy
hyypkyyakyy]kyyJkyy-kyy
hyypkyyukyy
HyypKyyXKyyUKyyEKyy4Kyy'Kyy
HY@YPXEJ
hyy!pyyyyyy
hyy]pyyyyyy
hyy	pyyyyyyMhyy
HYYQDHG@OLZ]
hYYQhMe@GB))
hYYqjA[FDL
hYYQkF]mH]H))
hYYQkF]yH]A))
hyyqkyyAkyy
hyyqkyydkyyKkyy1kyy'kyy
hyyqkyyekyy_kyyLkyy:kyy6kyy#kyy
hyyqkyyHkyy-kyy
hYYQlDH@EyHZZjAB))
hYYQlELJ][FGkF]
hYYQlQLJcz))
hYYQoHJLKFFBmH]H))
hyyqpyyyyyy	iyy
hyyQyyyy
HyyQyyyy
hyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
hyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yy
hyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyy]yyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
hyyrhyyihyy
hyyrhyyihyylhyychyyfhyy]hyyPhyyWhyy
hyyrkyyGkyy
hyyrkyy[kyyBkyy-kyy
hyyrkyysjyy
HYYSCPLH
hyySkyy(kyy
hyyskyyPkyy5kyy
hyysmyyhmyyamyyfmyy;kyyTmyyMmyyBmyy;myy0myy_myy)myy.myy'myy
hyytkyy]kyyEkyy
hyytkyyyyyyyyyyyyyyyyyyyyyyxkyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
hyyukyyAkyy
hyyukyyFkyy
hyyukyyFkyy	kyy
hyyULyyrI
hyyUqyyyyyy
HYYvBHEF[@ZLYL]@
HYYvGHDL
HYYvGHDLJADFM
HYYvJFML
hyyvkyy:iyy
HyyvKyy[KyyVKyyDKyy2Kyy
hyyvkyyQkyy9kyy.kyy
HYYvOFEML[
hyywkyy9kyy	kyy
hyywkyyBkyy'kyy
hyywkyyOkyy
hyywkyyZkyyAkyy4kyy'kyy
hyywlyytlyy
hyywyyycyyy
hyyXkyy2kyy
hyyxkyyokyyRkyy9kyy.kyy
hyyxkyypkyyhkyy
hyyxkyySkyy kyy
hyyxyyybyyybyyy
hyyxyyyEy
hyyxyyyEyayuyu
hyyxyyyEynyuyu
hyyxyyyEypy|y|
hyyxyyyEyqy|y|
hyyxyyyEysyuyu
hyyxyyyEyxyuyu
hyyxyyyEyxy|y|
hyyxyyyEy|yayy
hyyxyyyEyzyuyu
hyyxyyyEyzy|y|
hyyxyyyfyyyfyyy1iyy
hyyxyyyhyyyhyyy
hyyxyyyiyyyiyyyQhyy
hyyxyyyjyyyjyyy1iyy
hyyxyyyPyyyPyyy1iyy
hyyxyyypyyypyyyQhyy5hyy	hyy)iyy iyy
hyyxyyyqyyyqyyy1hyy
hyyxyyyryyyryyyAhyy
hyyxyyysyyysyyy!hyy
hyyxyyysyyysyyyQhyy)hyy
hyyxyyytyyy
hyyxyyytyyytyyy1hyy
hyyxyyyuyyyuyyyahyy1hyy
hyyxyyywyyywyyy
hyyxyyywyyywyyy1hyy
hyyxyyywyyywyyy!hyy
hyyxyyyXyyyXyyy1iyy
hyyxyyyyyyy
hyyxyyyyyyy-kyyxyyy1ybyuyu
hyyxyyyyyyy-kyyxyyyEyeyqyq
hyyxyyy|yyy|yyyAhyy5hyy
hyyxyyyyyyyyyyyyyyyyyyyyyyy8)).0#W:)5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
hyyxyyyzyyyzyyy
hyyxyyyzyyyzyyy1hyy-hyy
hyyxyyyZyyyZyyy1iyy
hyyxyyyzyz
HYYY[FYL[]@LZr
hyyYgyyYeyyyuyyU[yy
hyyyhyyalyySlyy@lyy6lyy
hyyyiyyy
Hyyyiyyy9yyyy
hyyyIyyykyyyayyyyyyyyyyyyyy9yy
hyyyIyyykyyyoyyyyyyyyyyyyyy9yy
hyyyiyyyYyyyy
hyyyiyyyyyyyyyyyyyyyyyyyyyy
Hyyyiyyyyyyyyyyyyyyyyyyyyyy
hyyYkyy0kyy
hyyYkyy1kyy
hyyYkyy4kyy
hyyYkyy8kyy	kyy
HyyyKyyhKyy[KyyKKyy:Kyy
hyyykyypkyykkyybkyy]kyyTkyyOkyyFkyy1kyy(kyy#kyy
hyyykyyVkyy'kyy
hyyykyyvkyyXkyyOkyy5kyy
Hyyyy48)0yyyy4
HyYyyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
HyyyYxyyKyyyqxyyyyyyyyyyyyy9yy
Hyyyyyiy
hyyy)yyykyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
hyyyyyyQyyy
hyyyyyyQyyy)yyy
HyyyyyyQyyy)yyy
hyyyyyyQyyy)yyy)yyyQyyyoyz
hyyyYyyykyyy
HyyyYyyyKyyy
hyyyYyyykyyyqyyyyyyyyyyyyyy9yy
hyyyyyyyy
	hyyyyyyyyyy
!hyyyyyyyyyy
hyyyyyyyyyy
!Hyyyyyyyyyy
Hyyyyyyyyyy
hyyyyyyyyyyyyyy
hyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyy
hyyyyyyyyyyyyyyyyyyyyyy
hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyNkyyyyyyyyyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMy4#
hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyQy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvoyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywy4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-y4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMy4#
HyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9|4#
hyyyyyyyyyyyyyyyZyyy
hyyyyyyyyyyzyyyyyyyvyyyyyyyyyyyyyyyyyyyayyyyiyymyyyyyyyayyyyyyyyyyy
hYYzA@DD@GNm[FY
HYYZALEE
HYYZ]FJBOFE@F
HYYZ]F[L
HYYZ]F[LZ
HYYZF[NHG@SL[
hYYz]H[]
HYY[@ZHE
hyyzkyynkyyQkyyEkyyyy
hyyzkyyukyyhkyyokyybkyy]kyyPkyyWkyyJkyyAkyy8kyy?kyy2kyy-kyy kyy
HYYZNLPZL[
HYYZOEPL[
hYYZoEPL[f_L[[@MLhJ]@_@]P
HYYZOF[DPYJ
HYYZO[FDZJ[H]JA
HYZGGY_NZ
H[YZJHGGL[
HYZJMXPOKY
HYZ]]KYX
HYZNQZSZ@ZXC
HYZXMK@SFF
|(Hyzxnx
HYZYAHMD]
')))HY@ZYP
HYZZHGYN]
	)))_H[Z][
 )))_H[Z
)))_H[Z][
@)))_H[Z][
HZ5g	ggfG
Hz8*?nhgfG
HZaa]Y]]
HZAELPNHNHOHBLZ
HZAGL@LKZ
)))_HZAHZ][HAF_BH
HZAKOCEC
|)))_H[ZALEE
)))_H[ZALEEJFML
_H[ZALEEJFML
h)))ZALEEYH]A
h)))ZALL]
][HZALZu
HZAOF[M@JH
H_ZAPMS_GZBPKCYDM
HZBB]BN_DXBH__KC
HZBBD@COYM]ZNJQSD[C
#)))]HZBB@EE
)))]HZBB@EE
;)))]HZBB@EE
?)))]HZBB@EE
]HZBB@EE
|)))]HZBB@EE
HZBCG_ES
@HZBCXYOKDJGDNKDG
")))]HZBE@Z]
#)))]HZBE@Z]
)))]HZBE@Z]
;)))]HZBE@Z]
]HZBE@Z]
]HZBE@Z]]HZBE@Z]LJAF
]HZBGHDL
]HZBGHDLZ
]HZB@GNZ@O]HZBr
HZ_BGQPC
]HZB_L[Z@FG
)))@]HZBMLO@G@]@FG
HZBNKP]DHH
)))]HZBOHJ]F[P
HZBONSYQA_XS
)))]HZBvGHDL
]HZBvGHDL
]HZBv@MZYE@]OvHKZOFYLG[
HZBXJ[ZM_
?)))@]HZBZL[_@JL
]HZBZPDKFE
]HZBZRNL]
HZBZSLXGEM
]HZBZvJALB
HZ_CA]JY
HZCASMBPXS
HZCCGKLQKK
HZCDBS__DAKJM
HZ@CDSXB@
[H@ZCESPYCF
HZC]O[QXZ
[HZ]@CPGAK
@HZCS_OB
HZCZFGO@EL
H[ZCZMHBNMNQ
)))_H[Z]D
|)))_H[ZD
HZDACHDEEQ
HZDCYDMB
hZDKEPeFHM))
hZDKEPeFHMk@GM@GN))
h)))ZDKJFGGLJ]@FG
@_HZD]MD]
HZDPK_NXYYKKBB
HZDPP[XS
HZDPSLLNZJ
HZ[DQ]NO
HZDSYPGNNBZ
_H[Z@EBFY@E
HZECYLGM[
HZE[DZQ[SJHS
_H[ZEHJBZYHJL
HZEJSMHKHE
)))_H[Z@E_L[
HZELQSBH
HZEMOBHZMBOC
HZEMOBHZMBOCG
HZEMOBHZMBOCGO
[]HZEPZD_YADHN
[HZES]NYYPN_G
HZEXKB_FBP
h[]@Z]e@Z]
HZ@EZ@SAHKL[
'||h)||Z)||F)||2)||
)))_H[Z][FBL
]HZFDHG@HJ
HZFDLEDJZCOZFD
HZ][FEFNL[ZHGMLLYKAH[NH_
_H[ZFE@MJELH[O@QYHNLFY]@FGZFO
)))HZ][FGD@J
HZ][FGD@J
HZ][FGFD@H
_H[Z][FGNZ
@HZFJ_OZ
HZ][FL_L_PMHP
hZ[fOO@JLlQLJjFG]LG]kPYHZZ
HZFO]Z]@GN]LDY
HZFv@KF[H
HZ][FYHJ
HZF]YHJQO
hZ][FZALEE
hzg1ggfG
hzg1gggG
HZg3kgfG
HZGAQ]MAN
[HZ]]GDHOC
HzgeegfG
HzggbgfG
hZGg_fgfG
_*h ZgggG
HZ[G]GXC
Hzg'hgfGqA
HZGJ]DKJ[
H[ZGJOKOCENZYM
_H[Z@GLDH
hzgmfgfG-
HZGMLSZP
_H[Z][@GNJFDYH[L
HZGNXGSGQ]FG
)))HZG@OOELBFDK@GH]@F
]HZ]GOYH@GEJOKDCM]
HZgqggSb
hzgSggfG
h?ZgSkgfG*
@())_H[ZH
HZHCJ][KCZ
_H[Z]H[]]@DL
)))HZHE]H
hZ]H[F]A
HZ@HGAF]QQQ
_H[ZHG_@BF]
_H[Z]HGMH[MKFMP
HZ_H[@HG]
H@Z[HJKYD
HZHJPMPC
HZHL@QPQ
#)))HZHMHHLH
HZH[OANBYBLZA
HZ@HOFFMEFN
HZ[HPN]GD
)))[HZ]_Hv
')))_H[Z]H[]vHMZ
HZHZHZHZ
h||||||zi||||||||||||||
h||||||zi||||||||||||||||||7O
h||zi||Si||*i||
HZJ@@ALQMLJFMLt
HZJEQYZEG
HZ]JFA]Z
[HZJFEiH@BDLE
hZJF[K@J
h)))ZJF]]PDHQ
[HZJH[EF
')))H_ZJHGMFDH@G
HZJ@@JAH[Z
hzjjjbjj
.)))HZJK
HZJ][_KD
HZJ@@LGJFM@GN
HZJQEGCFEQ
HZJQH[YD
HZJ@@vEL]]L[Z
hzJ[@Y]))
_H[ZJ[@Y]
h	_[[[Z[[[K[[[DI
HzKfKBK.K
HzKgKUK;K
HzKjKPKFK
HZK@KEKL
HZKPJQBQHB
HZKQDKZD]XGJ
HzKqKvK6KyJ
h[ZkV]Rq
HzKYKAK.K
HzKZKLK3K.K
)))_H[ZL
**)_H[ZL
.)))H[ZL@
)))[H@ZLBLPL[[F[
HZL]DJBKP
HZLEHELL
[HZ][L@F
HZ]L[@FG
HZ]L[F@MFZ
_H[ZLGMZ][
H_@ZL[@GN
_H[Z]LGZF[
)))_H[Z][LHD
)))_H[ZLJ
_H[ZL[_L[
hZ	llllllllmllllOllylmc
HZLLNB]NN
]HZ]LMFGE@GL
HZ]L[NHG]MFLDZ
[H@ZL]PYLL[[F[
H[ZLQYHZAKKJLBHNSX
_H[ZL]SFFD
H@ZLXSAO
HZLYJMLDY
hzlyzJ[@Y]()
HZMCCD@S]N
HZM@CHGP
HZMNCHZM
HZ]@MZ]ADG_[AXMYQ
HZ]]NCADJAN
HZNDDQNJ
hzNdZ[[[
?)))HZNFGL
HZNGA]YPN[A
H_ZNKME@HFGYN_A
HZNKYHNBH
H_ZNL]YH[HDL]L[
H@ZNPBCEFK
HZNQ[ANPJAACCKLXY
)))_H[Z@NYLGM@GNvHMM[
)))_H[ZO
H_Z_OGDB[@OOON
H@ZOHEZL
HZOHOLOA
HZOJNCLE
HZOKOAES_
HZOMYO_]_
)))HZOMZHZH
HZ]OXN]MDK
HZOZAKNFQC
HZO[ZDOQDAE
HZPAYDNE
HZPBEOMN]
[HZ[PBHMDBF[Z]P_
HZPBKDQOK
HZp_CCNCCCBACC
HZPDDL][@JZ
HZPGJJE@LG]
hZPGJjFGGLJ]))
HZPGJvJ[LM@]vJH[M
hzpgppepqD
HZPKAXQNG
HZ@PLKAO
hzPPWHWF
HZ[PSC]XJJSA@Q[J]
H_ZPZGZBM
h)))ZPZ]LD
H)))ZPZ]LD
HZQKFECXYECAJK
HZ[QN[ZQBMM
H[ZQQSON
]HZQYEGMS
HZrJAH[t
HZrZ][@GNt
[HZS_[DB
HZSFYESDE
HZSHCKLYEL
)))_H[Z@SLFOv[LNLQYFKC
HZSMJAFHNYX[B
HZSQY@GE
h:ZSSPsfEe
h_ZSSPsuI
HZS_]YDFQ
())_H[@Zv]LDY
_H[@Zv]LDY
)))_H[@Zv@LvE]
][H_@ZvYA@EE@YZiCHK@E
HZvZ][@GN
HzxbxJJIX?
HZXCQSJGG
Hzx(ggfGA
HZXJPDDS
HZXMLZ_X]K
HZXOHQNQOH
[HZXPMHLYA
]H@ zxsy
]H@ zxvy4
hZXXXXXXXXZXXXXX
HZXYOONQ
HZXZCOSBPLHX
hzxZxQxCx
HZYAEG]F
H][ZY_DJ
h)))ZYE@GB
H[]ZYEHGL]
HZYEH@G]LQ]
)))_H[@ZYEHPZ]H]@FG
HZYGL]JMG
HZYGL]vJE@LG]
)))_H[ZY[@G]O
hZY]HJBL[
?)))_H[ZY[HP
_H[ZY[HP
HZ]YJ]MC
HZYKX_[O
HZYNJMLYQ
@_[HZYOEQ[
hzyoF[DH]))
HzyQKzy.Kzy
HZYQLQLJvJFML
HZYQLXCS[F
hZYQzALEE
HZYQZALEE
 )))HZYQZYP
HZYYBK_XJQ
hzyyyyyyyyyyyyyynyyyP
#)))HZYZALEE
)))_H[Z][ZH_L]F
HZZKJ]QX
 )))HZZL[]
hZZL]dHGHNL[))
#)))HZZLDKEP
)))HZZLDKEP
HZZLDKEP
hZZLDKEPeFHM))
HZZLDKEPEFHM))
HZZLDKEPEFHML[
HZZLDKEPGHDL
HZZLDKEPGHDLt
HZZLDKEPGHDLZPZ]LD
)))HZZLDKEP@MLG]@]PGHDL
HZZLDKEP@MLG]@]PGHDL
hZZLDKEPNL]]PYL))
HZZLDKEPO@EL
HZZLDKEP]PYL))
HZZLDKEPQDEGZ
)))HZZLDKEPt
HZZLDKEPt
HZZLDKEPYH]A
HZZL]LQHD
:)))HZZL]Z
;)))HZZL]Z
HZZMA[]XP
h)))ZZMNF
 )))HZZ@NG
)))HZZ@NG
[)))HZZ@NG
hZZ@NGDLG]
hZZ@NGDLG]hJ]@_LqfKCLJ]
HZZ@NGDLG]Z
HZZ@NG@GN]ALLGJFMLM]LQ]]F
HZZPZ]LD
h_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzztzzz|zzzzrzz
]HZ_ZSXYHXKHOZSMYH[P[XES
HZ]ZXH[C
HZZ@Z]HG]
HZ_ZZ_ZKQQ
  i     
))i))))(
))i)))))
[[[	[[[i
[[[;[[[i
||||i|||||||
i@@@@@@@@
i||||||||||
i||||||||||||||
i||||||||||||||||||||||||||
        I
))I)))))
@@@@@I@@
||||I|||||||
||I||||||||||||
I@@@@@@@@
I   !     0  
i!'0 ;6?
i!'0 ;6??S
I0DdN[[[
i0dQ[[[C[[[
I.0fSi-Q
i0ggdgfG
i(0ggfwR
I0I1IrH3I3I
i0JllllllllmllllOllylm
i0kWdgfG: 
I0llllllllmllllOllylm
I11yx8yMx
I11yxty1
i12 6egS
I14F*45gRgg
i1?: '9 
I1aCCNCCCBACC
i1bhggfw
I1EGyyyyyy
I1FkV]Rq
I1gUgg@"
I1gUgg_8
I1gUgg8E
I1gUggAhj
I1gUggN_
i1HgwcgfG
I1HIZI-HdII
I1IHJKMIIIIIIIIIIIIIMIIKIHHIKIJ
||||I||||||1J||
i1lSSSSSSSSSSSSSSSS
i||||||||||||||||||1O
i1R4g'Egfw
i1SgqggD
[i[[[1[[[s[j[m[h[c[o[w[o[r[w[
 i  2     
i2##72'2
i2@@@@@@A
i2@@@@@@A@7pLE
I@@@@@2@@E@AEac
I2g1fgfGV
I2g[ggbOR
I2g]ggG4
'i2gqggw0*
I2I|IqIzIpI
I2jgqggDf
I2KzOdOZO"O
i2@@@@@@@@Lp@t
i2QllllllllmllllOllylm
i[2wPvzw_I
I3_]-07:D)
I*33gWgg
I342gPgg
I344g gg
I344g ggA
I344gPgg
I344gPgg 
I344gPgg'
I344gPgg?
I344gPggU
I346g gg
I346g ggF4)
I34!g gg
I34(g gg
I34)g gg
I34*g gg
I34*g gg'
I34(g gg4OZ
I34(g ggb
I34!g ggB
I34*g ggh
I34*g ggI
I34!g ggjF
I34*g ggQ
I34!g ggU
I34)gPgg
I3cN9   "    
I3[dW[[[
I3g"gg;l
I"3g#ggY
I"3gPggZD
i3gqgg)gM
I*3 gVgg
I*3!gVgg
I*3-gVgg
I*3-gVgg@
I*3-gVgghU
I3!)gWgg
i3jJ  @     ]Y]]
i3llllllllmllllOllylm
i3RSSQ(VSSW@UBU(
#i3Y	[Zq
i-4dQ[[[
[i	4gAgg#
I"4gHgg	
I"4gHgg(
I"4gHgg)
I"4gHgg*
I"4gHgg.
I"4gHgg@
I"4gHgg[
I"4gHgg1
I"4gHgg3
I"4gHgg43
I"4gHgg8
I"4gHggc
I"4gHggC
I"4gHggdci
I"4gHgge
I"4gHggf
I"4gHggff
I"4gHggFw?h
I"4gHggg
I"4gHggG
I"4gHggG87HC
I"4gHgghz
I"4gHggi
I"4gHggj
I"4gHggk
I"4gHggm
I"4gHggnV1
I"4gHggp
I"4gHggpd
I"4gHggq
I"4gHggQ
I"4gHggr
I"4gHgg#R
I"4gHggR?
I"4gHggR7
I"4gHggs"
I"4gHggSZ
I"4gHggtg
I"4gHggv
I"4gHggw6
I"4gHggZ
I4gRgg'1q
I4gRgg;J
I"4gXgg'
I4IIIIJ2I
I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4
I4OPJPJ!O
]i4"((]Y]]
I*(((5(('
I5#2g_gg
([[[i5adZ[[[
I5Agqgg;
I5BIDI_ECII
I5BILIYECII
I5BIXImECII
I5DdD[[[
i5dK[[[F[[[D[[[
I 5F*45g'ggJs
I5*gHggM
I#5gJgg)
I5gSggMi
i[[5h[[go[[Un[[Am[[]l[[
i5jgfGWtK
i5k]cgfG
I5-k]Y]]
i5nSSSSx6
I|5pgppepq
I[5S0xxx
i5tTA.Il
I6'4g	kgfG
_i64tow_s
i6*6 '*6
I6aakacvI9aakac
I6!gNgg8L
I6-).*.-KHEzx
I.6pgppepq
I6)pgppepqz
[[[I6Rd_[[[g[[[
i;''#!6"S
i6Spgppepq
I6Z5Z5Z5Z5Z
i7: 21?62#:02??S
I733gTgg
	I73g7gg
	I73g(gg
	I73gXgg
	I73gXgg@n
	I73gXggseSb
I7AIjIg@CII
I7AIVIG@CII
i@@@@@7@@F@ECac
|i|7g3fgfG
I7gIgg2m
I7gIggF_
I7gIgg;]hx
I7gIggIb
I7gIggM:
I7gIggTCrn
I7gIgg|w
I7gIggW(
I7gSfgfG
I7gSfgfG"
I7gSfgfG)
I7gSfgfG|
I7gSfgfGDp
I7gSfgfG)j
I7gSfgfG;!k
I7gSfgfGN
I7gSfgfGN.
I7gSfgfGt
I7gSfgfGw
I7gSfgfGYB
I7gSfgfGY.f
I7gWgg'm
i7llllllllmllllOllylm'
I||||||||||||||||||||||||||7O
I7-----UU--X
i||||||||||||||8
I#||||||||#8	
I:#||||#8	
I?#||||#8	
I||||||||||||||8
[[[i[[[8[[[7h
I8#||||#8	
I8AAAAAA@AAAAAC
i8Ayyyyyyyyyyy
I8DdT[[[
I8DO	L5G
I8fdM[[[
I8g;|gfG]
i!8gqgg?
!i8gqggh
i8gqgg!w|	
I8H?H4H#H
i8i1 cgfG
i8i1 cgfGa
i||8k||xn||
#I|8llllllllmllllOllylm?
[i[[[8[[[s[j[m[h[c[o[w[o[r[w[
I8TQllllllllmllllOllylm
I8xx]Y]]
i(8((]Y]]
i8yxay8x
i8yxky8x
i8yxuy8x
i8yxvyh8x
i8yyyyIPzyxyyy
i8yyyyyyyy
I92*"7rtg)kgfG
I92u)A8h
I93gqggj
[[[i94g_[[[
[[[i94gI[[[
i94gO[[[
i94gR[[[
i94gV[[[
i94gX[[[
I9#||||#8	
i9(gAggWc
I9gJ[[[.[[[
i9gwdgfGk
I9IIIIpIeInI
i9iyiyiyy9yyyyyyy9i
i9iyy9yyy9yyiyi
i9JdP[[[
i@9l DJg
I?9OH?L8QL8?EQH
I9pgppepq3K5|
i9pgppepqDE
i9pgppepqL
I9RSmGvO
I9:u)A8h
I9uHv|fA
I9X0tRIi
I9Y(u8I;I8unI9Y(uhI
i9yyi9i9y
i9yyi9iyyyyyiyi
@@@@@@IA
[[[I[[[A[[[
I]@@@@@@A@
I]A2Q[*IP
IA32_DEBUG_CTRL
IA32_FIXED_CTR0
IA32_FIXED_CTR1
IA32_FIXED_CTR2
IA32_FIXED_CTR3
IA32_FIXED_CTRL
IA32_LBR_CTL
IA32_LBR_SELECT
IA32_OFFCORE_RSP0
IA32_OFFCORE_RSP1
IA32_PEBS_ENABLE
	IA32_PERFEVTSEL0
IA32_PERFEVTSEL1
IA32_PERFEVTSEL2
IA32_PERFEVTSEL3
IA32_PERFEVTSEL4
IA32_PERFEVTSEL5
IA32_PERFEVTSEL6
IA32_PERFEVTSEL7
IA32_PERF_GLOBAL_CTRL
IA32_PERF_GLOBAL_OVF_CTRL
IA32_PMC0
IA32_PMC1
IA32_PMC2
IA32_PMC3
IA32_PMC4
IA32_PMC5
IA32_PMC6
IA32_PMC7
IA32_SYSENTER_ESP
ia64_image
iaaaaaaaa
i_AAAAAA@AAAAAC
iAAAAAA@AAAAAC
I]AAAAAA@AAAAAC
IAAAAAA@AAAAAC
IAAAAAA@AAAAAC2
iAAAAAA@AAAAACC
IAAAAAA@AAAAACr
iAAAA@AAAAAC
@_IAAAA@AAAAAC
_IAAAA@AAAAAC
IAAAA@AAAAAC
IAAAA@AAAAAC	
IAAAA@AAAAAC 
IAAAA@AAAAAC!	
IAAAA@AAAAAC!?
IAAAA@AAAAAC"
IAAAA@AAAAAC#
IAAAA@AAAAAC'
IAAAA@AAAAAC)
IAAAA@AAAAAC*
IAAAA@AAAAAC.
IAAAA@AAAAAC:
IAAAA@AAAAAC@
IAAAA@AAAAAC[
IAAAA@AAAAAC_
IAAAA@AAAAAC|
_IAAAA@AAAAAC0
IAAAA@AAAAAC0
IAAAA@AAAAAC1
IAAAA@AAAAAC2
IAAAA@AAAAAC3
IAAAA@AAAAAC4
IAAAA@AAAAAC58[h
IAAAA@AAAAAC5Q
IAAAA@AAAAAC7
_IAAAA@AAAAAC8
IAAAA@AAAAAC8
IAAAA@AAAAAC8dk
IAAAA@AAAAACa
IAAAA@AAAAACB
IAAAA@AAAAACB# 
IAAAA@AAAAACBz
IAAAA@AAAAACC
IAAAA@AAAAACc2w
IAAAA@AAAAACc(E
IAAAA@AAAAACcp
IAAAA@AAAAACD
IAAAA@AAAAACe
IAAAA@AAAAACe8
IAAAA@AAAAACED
IAAAA@AAAAACF
IAAAA@AAAAAC!G
IAAAA@AAAAAChgS
iAAAA@AAAAACI
IAAAA@AAAAACi
IAAAA@AAAAACI
IAAAA@AAAAACJ
IAAAA@AAAAACJJ
IAAAA@AAAAACkk
IAAAA@AAAAACkt3t
IAAAA@AAAAACL
IAAAA@AAAAACLFy
IAAAA@AAAAACMK
IAAAA@AAAAACn
_IAAAA@AAAAACnTF
IAAAA@AAAAACo
IAAAA@AAAAACO
IAAAA@AAAAACo8k
IAAAA@AAAAACP
IAAAA@AAAAACpOCb
IAAAA@AAAAACpoo
IAAAA@AAAAACq
_IAAAA@AAAAACQ
IAAAA@AAAAACQ
IAAAA@AAAAACQF
IAAAA@AAAAAC[s
IAAAA@AAAAACS
IAAAA@AAAAACS'
_IAAAA@AAAAACt
IAAAA@AAAAAC	t
IAAAA@AAAAACtZ
IAAAA@AAAAACu
IAAAA@AAAAACU
IAAAA@AAAAACuI
IAAAA@AAAAACv
!_IAAAA@AAAAACV
IAAAA@AAAAACV
IAAAA@AAAAACw
IAAAA@AAAAACW
IAAAA@AAAAACwN
IAAAA@AAAAACx
IAAAA@AAAAACx"
_IAAAA@AAAAACxQSTB
IAAAA@AAAAACY
IAAAA@AAAAACY1
IAAAA@AAAAACz
IAAAA@AAAAACZ
IAAAAAAAAaqAK
IAAAAAAAAlqKM5
IA@AAAAAAC
IAAAAAACAqqAM
iAAAAACAA)qAAAAAA
@@@@@i@@A@AAac
@i@@A@AAac
iAAAACAAAA
IAAAACEAAIqAt#6
iAAAAQCCBZqfAAAAAAAAA
@@I@AAacoo
iaaa]Y]]
@@I@A@ac
 @@@@@i@@A@ACac
*@@@@@i@@A@ACac
:@i@@A@ACac
@@@@@i@@A@ACac
@i@@A@ACac
@@@@@i@@A@ADac
@@I@A@@B@A@@
IABContainerType
	IABLogonType
@@I@AC@@@@@
@@I@AC@@@A@
@@I@ACac
@@I@AC@@@A@lpNH
@@I@AC@@@A@[pPL
@@I@AC@@@@@ap@SR
@@I@AC@B@@@
@@I@AC@B@A@
@@I@AC@B@A@@
@@I@AC@@BA@dp@@@@@@@@@@@BA@Lp@@@@@@@@@@B@A@Hp@Hz
@@I@AC@BA@@Hp@Lm
@@I@AC@B@A@JQ@S
@@I@AC@B@A@_p@c
@@I@AC@BBA@
@@I@AC@BBA@Vp@@@@@@@@@@BBA@
@@I@AC@B@@@Hp@6
@@I@AC@B@@@Hp@N
@@I@AC@B@@@Lp@z
@@I@AC@@B@@|p@@@@@@@@@@@B@@cp@@@@@@@@@@@B@@Lp@@@@@@@@@@@@@@
iaccSSSSSSS
@@I@AC@@@@@dp@M
@@I@AC@@@@@jp@@@@@@@@@@B@@@Hp@I
@@I@AC@@@@@jp@@@@@@@@@@@@@@Lp@i
@@I@AC@@@@@JQ@Mf
@@I@AC@@@@@Lp@[
@@I@AC@@@@@Lp@b
@@I@AC@@@@@lpHD
@@I@AC@@@@@lpIS
@@I@AC@@@@@Lp@m
@@I@AC@@@@@Lp@S
@@I@AC@@@@@Lp@Vm
@@I@AC@@@@@Lp@y;
@@I@AC@@@@@Lp@Y3[
@@I@AC@@@@@_p@J
iacS5?25: :
@@I@AD@@@A@@
@@I@ADac
IAdV[[[R[[[U[[[
@@I@AEac
@@I@AEac3)'!442z
@@I@AE@@@A@h EY
@@I@AE@B@A@2 @O
IAeX[[[L[[[A[[[
IAeZ[[[o[[[
@@I@AFac
iafbSSSSSSC
iafcSSSSSSS
iAF]DH@E
)))iAFDLM[@_L
iAFDLM[@_L
iAFDLYH]A
IAFHkJ;:g
iAgGcgfG
I#Agggfw
IagkkgfGU
IAH9HYJUJ
'IAH;AO9Axyxhy
I@@A@h cT
#)))iAH[DC
i@@A@h DZTTG
i@@A@h EM
I@@A@h GN]
i@@A@h HR
[i@@A@h HY
IAhvOCG5V
I)))AHZA
IaIJI?I!I
IAIKLHIOM
iaISSBvBwBu3
IA:JgWdgfG
I@AJL@KA
i@@A@JpBG
i@@A@JpBLQ
i@@A@JpBN[
i@@A@JpBR
I@@A@JpF
'IAJVL@V@@VIHOV
iaKdK[[[
)))IALHM
iallllllllmllllOllylm
iAllllllllmllllOllylmw
I|@@@@@@A@Lp@N0
@@@@@@IALp@Q)s'6@@@@@A@A
IAMKIJMyxwyW
i!@@A@? MM
IAOO@JIJC(
i)))AO]O]OY
I|aopgppepq
@iA@P@AAac
IApgppepq
iApgppepqC
i)))APYL[E@GB
iaqpgppepq
iARSST@XT
IaSortWWW
IAssemblyDependencyW@
IAssemblyDependencyWWW
IAssemblyW
IAssemblyWWW
IAsyncResult
IAttachmentSecurityTypeW
IAttachTypeW
iauauaEa@B)253[7
I@AWLANW
I|aX|-1.
#)))iA]]Y
i)))A]]Y
)))i[@AYE[E
iA]]Yv[LZYFGZLvJFML
#i)A]]YZ
i)))A]]YZ
I)))A]]YZ
i@@@@B@@@
IB2pgppepq
IB78jgfG
i@@@@B@a@
i@@@@B@A@
i@@@@B@A@@
I@@@@B@A@
IB@A@2 @[
iB@A@2 @Ddy
i@@@@B@A@2 @E
i]@@@@B@A@2 @f
IB@A@2 @F
IB@A@2 @K
iB@A@2 @N
i@@@@B@A@2 @P
I[@@@@B@A@2 @W'
IB@A@2 @W
ibAAAA@AAAAAC
ibAAAA@AAAAAC#
ibAAAA@AAAAAC*
iBAAAA@AAAAAC D
I@@@@BAB@Hp@G#
?i@@@@BACAEp@D
iB@A@dp@H!
I@@@@B@A@Hp@
i@@@@B@A@Hp@Cr
i@@@@BA@@Hp@V	
i@@@@B@A@Jp@z
IB@A@Lp@q
I@@@@@@BAmpFB!]
I@@@@B@A@_p@K
I@@@@BBA@bp@@@@@@@@@@@
i@@@@BBA@Np@@@@@@@@@@@
iBBBBBBB
IBBBBBBB
@@I@BCac
@@I@BC@@@C@Lp@Q
@@I@BC@@@C@Lp@Y
@@I@BC@@@C@|p@NE
ibccSSSSSSS
I@@@@B@@@cp@T
ib"dapgppepq
Ib[dB[[[
IBdB[[[;[[[9[[[c
iBDKR	fk	
iBDKR	fn	
iBDKRx@BIARD
iB"e_[[[
iB"eO[[[2[[[
i*@@B@Ep@o
iB"eS[[[R[[[Q[[[
ibfcSSSSSSS
i'bgfGG-
ibgfSSSSSSj
@_IB_gkI@TQLs9
Ibgqgg@	
@IBHBIdWBIxQBH@rBOBr
I@@@@B@@@Hp@Jn
I@@@@B@@@Hp@L
IbHXH8H.H
@IB_I9	_[Ac
@IBIBpBU
@IBI@]B]s
@IBIElYQSSBIT
ibIG*bs6
@IBIjhUSSPL
@IBI@JxXp
@IBI(MSSW
@IBI(MSSW@[B[
@IBI(MSSW@BBB
IBindingRedirect
IBindingRedirect interface
IBindingRedirectWW
@IBIsS3SS
@IB_J7BI2N
IBJhggfw
iBJ(NSSW@TBTs
iBJRDHC	dj
iBJRDHC	el
iBJRDHC	fl
@IBJsSqSSe
i||bj||zj||Ij||6j||
ibllllllllmllllOllylm
Ib!llllllllmllllOllylm
i@@@@@@B@Lp@x
ibNdH[[[W[[[
I@@@@@@B@Np@Ho
@IBOBH	@OBHD9
@iBoBUBh2
IB(p.fqi
IBPuSpSzS
iBRSUNIHbl
i|BSS]Tv
@IBTBIfWBTxQBI@Ts
IBulkImporterWWW81
i)))BwHwNwL
Ibydz[[[
iBYE@JH[
I:byyyyyyyyyyyyyyxyiyyyayy
I)))B]ZGJN
IB[[[Z[[[K[[[
IB[[[Z[[[K[[[s
ICAAAaqAS-
@@@@@ICAAQ@bb
icacls.pdb
@iCaCUCMC1C)C
I can't handle that yet
ICategoryDependencyWT
ICategoryDependencyWWW
ICategoryInstanceW
ICategoryInstanceWWW
ICategoryMembershipW
ICategoryMembershipWWW
icbDataWWp
iCBeginTransaction
ICbsSession::CreatePackage
ICbsSession::EnumeratePackages
ICbsSession::Initialize
ICbsSession::OpenPackage
@@I@CCac
@@I@CC@@@C@dp@T6
iCCNCCCBACC
]ICCNCCCBACC
ICCNCCCBACC
ICCNCCCBACC	
:ICdN[[[
@@I@CEac
@iCeCYCAC1C!C
iceU[[[g[[[
iCFZLYAK@HELB
icggfwkvm
iCg;kgfG
Icgqgg;'
ICgqggPE
IcHHHAH:H!H
iChildInstancesWW
i)))CHSH[HA
i'CHT'jh
@iCICOC C
IcIHHIYIIIIIIIIIIIIIKIIIJ
ICII8IQH
ICIITIeIIFI
ICIITIeIIXI9HcIlKoI
i||cj||@j||'j||
 iCKpgppepq
icleanupcommandlineparser.h
icleanupcoordinator.h
icleanupmodule.h
)IcllllllllmllllOllylm
ICllllllllmllllOllylm
ICllllllllmllllOllylmbk
ICmiEventArgsWWW
ICmiExtensionWWW
ICmiFactoryWd
ICmiLogConfigW
ICmiLogListenerW
IcmiMigrationSupportedComponentWWd
ICmiPairWW
IcmiRepositorySetd
ICmiSecurityInformationW
ICmiSecurityInformationWWW
ICmiWrapperW
icodecnta.h
iColumnWW
IComponentSettings
icon.cpp
IconData
iconfigapplicator.h
iconfigitem.h
IConfiguration	
IConfigurationAnswerLO
IConfigurationAnswerWW
Iconhandler
IconIndex
IconLocation
IconSize
IContainer
IconTaskbarCreated
IconUpdatingStateMachine
ICpgppepqcVHcj
IC?Phdfw
Icpucost
@iCQC9C!C	C
IcsEntitlementHost.pdb
icsunattend.pdb
IcubgfGo
ICustomInformation
IcWdgfGG
icYdM[[[
iC]Y]]g.Y
@@@@@@ICyp@K
IC]Y]]x!Y
I_C]Y]].'Y
I)))CZFG
||||i|||||||D
[[["]Id[[[[
Id@[[[*[[[([[[
Id@[[[;[[[
Id[[[[*[[[#[[[
ID3D11Device is null
-iD704]7#!H7
iD704]7#!H7
ID#||||#8	
id9gqgge
[[["]IdA[[[
IdA[[[.[[[
IdA[[[0[[[7[[[
IdA[[[a[[[
IdA[[[i[[[
IdA[[[n[[[l[[[
IdA[[[o[[[a[[[
IdA[[[P[[[
IdA[[[P[[[W[[[A
idataretriever.h
IDATt]gqi
-IdB[[[:[[[8[[[
id@@@@B@A@2 @M8
idB[[[C[[[
[[[:[[[IDBdQ[[[
IdB[[[e[[[
IdB[[[P[[[V[[[l
IdB[[[q[[[w[[[
IdB[[[V[[[
"]IdC[[[
IdC[[[*[[[)[[[
IdC[[[6[[[
Id][[[c[[[a[[[
IdC[[[a[[[
@@I@DCac
|Id@[[[C[[[b[[[
IdC[[[J[[[v[[[[[[dX[[[I[[[F[[[
IdC[[[l[[[
IdC[[[l[[[b[[[
IdC[[[n[[[c[[[G
IdC[[[r[[[
IdC[[[s[[[m[[[[[[dU[[[r[[[u[[[
idcSSSSSS
IdC[[[t[[[
Id_[[[D[[[
iDDDDDDDDDDDDDDDD]Y]]
iDdE[[[A[[[z[[[-
IdD[[[J[[[O[[[
iDdL[[[Y[[[x[[[
Id][[[D[[[s[[[ 
IdD[[[s[[[b[[[I
iDdU[[[X[[[
I-DdZ[[[
 i'-)d"e
IdE[[['[[['
IdE[[[a[[[
idegS5?25: :
identifier
Identifier
IdentifierOffset
identifier removed
Identifies the media file repository.W;
IdentitiesWWd
identity
Identityd
IdentityReference
IdentityReferenceRangeWW
IdentityReferenceWWW
identity_scrubbed
Identity UI Path name
IDependencies
IDependencyWWW
IDependencyWx
idesktopcontent.h
idetectorenumerator.h
idetector.h
IdF[[[b[[[
iDFdL[[[
IdF[[[J[[[L[[[
IdF[[[P[[[
IdF[[[Q[[[W[[[t
iDFS@EEH
IdG[[[*[[[
Id[!gdZW
IdG[[[e[[[
i[dgfGDB
ID?gqgg	
iD"gqggr	DF-
IdG[[[u[[[
IdH[[[ [[[
IdH[[['[[[
idH[[[6[[[([[[
IdH[[[a[[[
IDHBLEGQI
i|d(h|dHo|d
idHdY[[[L[[[
IdH[[[e[[[
IdH_H;H-H
I)))DH]JAELZZ][H_LEZ
IdH[[[j[[[h[[[
I)))DHJZA@GP
Id@[[[h[[[n[[[
Id[[[[H[[[O[[[
iDH]]@OLZ]H]@FG
IdH[[[P[[[
IdH[[[][[[Q[[[
IdH[[[Q[[[
IdH[[[U[[[
 IdH[[[u[[[k[[[
IdHVHGH3H
IdH[[[v[[[t[[[:
Id][[[i[[[
IdI[[[ [[[
IdI[[[8[[[
IdI[[[d[[[
IdI[[[E[[[
I[[[di#eT[[[
IdII4KIJIIH(
IdII5BIJIIH
IdII6HIIIIH
IdIIdHIJIIHNY
IdII]GIJIIH
IdII*KIIIIH
IdIIQJIJIIH
IdIIsLIIIIH
IdIITJIJIIH
IdIItLIJIIHq
IdIIvIIJIIH
IdIIVLIIIIH
IdI[[[k[[[i[[[(M
IdI[[[P[[[V[[[
IdI[[[r[[[
IDirecotry
IdI[[[S[[[
IDiscovery InterfaceWW
IDiscoveryWW
IDisposable
IdI[[[v[[[
IdIyIyIyIyI
Id[[[[j[[[
'I_dJ[[[
:@IdJ[[[
IdJ[[['[[[
IdJ[[[0[[[6[[[W
IdJ[[[7[[[ [[[
idJ[[[8[[[
IdJ[[[D[[[v[[[
iD@J[FZFO]
IdJ[[[i[[[
-IdJ[[[K[[[y[[[;
IdJ[[[t[[[k[[[
IdJ[[[u[[[
IdJ[[[W[[[
idK[[[*[[[
"]IdK[[[
IdK[[[ [[[
IdK[[[)[[[
IdKC1d'd
IdK[[[G[[[E[[[J
IdK[[[h[[[f[[[
IdK[[[m[[[
IdK[[[M[[[
IdK[[[n[[[f[[[
IdK[[[Q[[[
 IdK[[[S[[[
idK[[[V[[[
@i_dL[[[
"[[["]IdL[[[![[[ [[[
I(dL[[['
IdL[[[	[[[
#i)DL]AFM
i)))DL]AFM
Id@[[[l[[[c[[[
IdL[[[E[[[
IdL[[[g[[[f[[[
IdL[[[I[[[B[[[HE
IDLISTTarget
IdllllllllmllllOllylmJ
IdL[[[m[[[
idL[[[o[[[;[[[
i)))DLZZHNL
:@IdM[[[
IdM[[[:[[[
IdM[[[3[[[![[[
IdM[[[7[[[5[[[
IdM[[[b[[[
IdM[[[d[[[
IdMdG[[[
i_dM[[[f[[[
IdM[[[f[[[e[[[
IdM[[[@[[[m[[[
IdM[[[m[[[
IdM[[[N[[[
IdM[[[n[[[b[[[Y
IdM[[[O[[[
IdM[[[P[[[C[[[
IdM[[[y[[[
?_IdN[[[
Id][[[N[[[
IdN[[[.[[[
IdN[[[A[[[
IdN[[[G[[[
IdN[[[l[[[
Id_[[[N[[[M[[[
IdN[[[o[[[
IdN[[[u[[[t[[[rN@fW[[[
IdN[[[V[[[
I[@dO[[[
I(dO[[[4
IdO[[[6[[[5[[[
IdO[[[8[[[?[[[
IdO[[[a[[[
IdO[[[A[[[
IdO[[[C[[[A[[[
IdO[[[@[[[E[[[
IdO[[[g[[[
IdO[[[H[[[
IdO[[[H[[[O[[[
IdO[[[K[[[N[[[
IdO[[[L[[[B[[[
IDomainTrustee
@IDomainTrusteeWW
IdO[[[m[[[a[[[t
IdO[[[m[[[l[[[
IdO[[[T[[[N[[[
IdO[[[v[[[
IdO[[[X[[[M[[[
idO[[[Z[[[J[[[]
IdP[[[5[[[
:IdP[[[a[[[
IDpgppept
IdP[[[K[[[
IdP[[[U[[[
[[["]IdQ[[[
IdQ[[[5[[[
IdQ[[[e[[[
IdQ[[[g[[[
IdQ[[[i[[[
IdQ[[[I[[[C[[[Q
IdQ[[[L[[[E[[[
IdQ[[[w[[[
_Id[[[[r[[[
]IdR[[[8[[[?[[[
IdReferenceRange(U
IdR[[[u[[[t[[[
IdS[[[([[[
IdS[[[@[[[
IdS[[[0[[[
IdS[[[A[[[G[[[
IdS[[[d[[[
I[dS[[[K[[[L[[[]
IdS[[[Q[[[
IdS[[[R[[[T[[[
IdS[[[|[[[s[[[8
IdS[[[V[[[O[[[
IdT[[[	[[[
IdT[[[K[[[J[[[
IdU[[[1[[[
IdU[[[b[[[d[[[GL
IdU[[[|[[[l[[[
IdU[[[o[[[
IdU[[[p[[[
IdU[[[P[[[
IdU[[[R[[[V[[[t
IdU[[[t[[[
IdU[[[V[[[
IdU[[[x[[[
id_[[[v[[[
[[["]IdV[[[
I[[[[[[dV[[[
IdV[[[2[[[0[[[g
:IdV[[[4
IdV[[[6[[[
IdV[[[8[[[
IdV[[[@[[[z[[[f
IdW[[[:[[[8[[[
|IdW[[[9[[[
IdW[[[e[[[
IdW[[[m[[[
IdW[[[z[[[
IdW[[[Z[[[N[[[
[[["]Idx[[[
Idx[[[;[[[
Idx[[[h[[[n[[[b
Idx[[[i[[[
IdX[[[j[[[i[[[
:IdX[[[n[[[
Idx[[[o[[[m[[[_
Idx[[[p[[[?[[[
 Idx[[[R[[[
IdX[[[T[[[O[[[
IdX[[[Z[[[c[[[
i_dY[[[ 
)))i@DYF[]
i@DYF[]GHDLZYHJL
IdY[[[K[[[
IdY[[[N[[[L[[[
Idy[[[p[[[
IdY[[[U[[[I[[[
I]dz[[[_[[[
[[["]IdZ[[[
IdZ[[[([[[.[[[
IdZ[[[:[[[
IdZ[[[2[[[
IdZ[[[5[[[
IdZ[[[9[[[
IdZ[[[a[[[
IdZ[[[C[[[
IdZ[[[c[[[b[[[
IdZ[[[g[[[
idZ[[[H[[[
I)[dZ[[[h[[[
IdZ[[[n[[[
IdZ[[[N[[[
IdZ[[[P[[[U[[[
IdZ[[[p[[[w[[[
Idz[[[Q[[[
@Idz[[[r[[[
IdZ[[[r[[[
IdZ[[[s[[[
Idz[[[v[[[
iDZ@]Z]F[L
ie4uinit.pdb
ie4ushowIE.pdb
IE#||||#8	
iE8X0	s4
iE8X4	s4
iE8X8	s4
:ieA[[["[[[
IeA[[[#[[["[[[(
IeA[[[A[[[p[[[8SIdQ[[[@[[[
IEADVPACK.dll
IeA[[[G[[[w[[[ttJdO[[[
	ieB[[[8[[[
iEBdV[[[9[[[
ieB[[[e[[[
I	@EBEEl
ieB[[[o[[[
IeB[[[s[[[p[[[
@@I@ECac
@@I@EC@B@A@
IeCgqgg9
IeC[[[K[[[B[[[
iecSSSSSS
IeC[[[T[[[B[[[
IeC[[[T[[[M[[[
IeC[[[|[[[w[[[0w
Ie[[[[d[[[
iEdA[[[V[[[U[[[L
i"EdC[[[)[[[.[[[*X
IeD[[[D[[[
iedkcs32.dll
Iedragdrop
IeD[[[v[[[
IeD[[[W[[[
Ie_[[[e[[[
Ie#EagfG
IeE[[[J[[[v[[[
Ieelevationpolicy
IeE[[[v[[[
IeE[[[V[[[J[[[
Ieexplorerbar
IEExplorerBar
Ieextapproved
IEExtension
IEeZ[[[4[[[
IeF[[[3[[[7[[[
IeF[[[F[[[|[[[
:ieF[[[f[[[d[[[55
IeF[[[G[[[y[[[
ieF[[[H[[[
i)))EFJHE
iEFJHEHYYMH]HM@[NEFKHE
i)))EFJH]@FG
IEFJH]@FG
IeF[[[K[[[|[[[
]iEfmT"Z
?;IEG;."!!!"""!
IeG[[[A[[[D[[[H
IegfGc*w
IeG[[[@[[[G[[[xmdex[[[
Ieg;kgfG
ieG[[[L[[[E[[[p
IeG[[[p[[[c[[[H
	iEgqggF
Ie?gqggKSl
#iEgWJgfG
IeH[[[B[[[E[[[
IeH[[[e[[[
IeH[[[J[[[
IeH[[[K[[[
IeHQHKHAHGH
IeHSHyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
IeH[[[t[[[
IeH[[[U[[[I[[[:
IeHYHQHUHMHAH1H-H!H
IeHYHyIyy
IeHzIJIfI
IEIEIMIGI
IeI[[[h[[[
IeIIJHYIIIIIIIIIIIIKIIHIHHIKJ
IeI[[[i[[[n[[[
IEIIzIWHEIIzI
IeI[[[N[[[M[[[
IeI[[[u[[[k[[[
IeI[[[V[[[M[[[
IeJ[[[0[[[
I||eJ||4J||
ieJ[[[@[[[G[[[
IeJ[[[g[[[
iejhihek
ieJ[[[j[[[
iejkdklko
IeJ[[[N[[[
iekqV-hJhggfwd
IeK[[[t[[[
ieK[[[t[[[j[[[I
i)))]@]EL
IeL[[[7[[[6[[[
Ie@[[[l[[[a[[[
I|eL[[[b[[[
:iellllllllmllllOllylmp
i)))EL]rNDHCF[
IeL[[[X[[[u[[[Uo
:ieM[[[)[[[([[[
i........eM
IeM[[[8[[[4[[[
Iemenuext
IEMenuExtension
IeM[[[r[[[d[[[
IeN[[[k[[[
IEnumerator
IEnumSTATSTG
IEnvironment
IEnvironmentWW
ieO[[[*[[[
IeO[[[|[[[
	ie][[[o[[[n[[['
IeO[[[p[[[
IeO[[[T[[[O[[[|4_dA[[[K[[[J[[[
IeP[[[E[[[
Iephishingfilter
IeP[[[J[[[t[[[
Ieplugin
IEPlugin
Iepreapproved
IEProtect
IeP[[[U[[[
IeQ[[[f[[[
:ieQ[[[H[[[N[[[
IeQ[[[L[[[A[[[
IeQ[[[L[[[u[[[
IeR[[[G[[[z[[[
IeR[[[h[[[
IeR[[[H[[[E[[[
ie@[[[r[[[q[[[
IeR[[[Q[[[V[[[
iERSSBUUK9
iertutil.dll
IeR[[[w[[[v[[[
Iesearch
Iesearchscope
Iesearchurl
IESettingSync.pdb
IeS[[[_[[[H[[[ei
Ieshellbrowser
IEShellBrowser
iesmartscreen
IeS[[[v[[[u[[[8
Ie_[[[T[[[
ie[[[[T[[[K[[[2
Ietoolbar
IEToolbar
IETrigger
:ieT[[[w[[[
IeU[[[	[[[
IeU[[[C[[[B[[[
IeUdG[[[
IeU[[[M[[[
[IE Unattend] DecodePopupAllowedSites:Starting.
[IE Unattend] Not all failures to read from the registry for IEUnattend are true errors.
ieUnAtt.pdb
Ieurlsearchhook
IEURLSearchHook
IEventArgumentsWWW
IeV[[[p[[[u[[[:
ieV[[[s[[[
IeV[[[S[[[Q[[[
ieV[[[@[[[v[[[k
IeV[[[y[[[
Iewebbrowser
IEWebBrowser
:iex[[[A[[[
IExchangeModifyTableType
IExcludeDependency interfaceWW
IExcludeReferenceW
Iex[[[H[[[G[[[c
IeX[[[N[[[M[[[
Iex[[[O[[[N[[[M
IEXP_LayoutINF
IEXPRESS
iexpress.pdb
Iex[[[q[[[j[[[?
IExyxoyx
IExyxqxV
iex[[[z[[[
iey[[[|[[[
iEY?fggG
IeY[[[g[[[
IeY[[[G[[[
Ie][[[y[[[v[[[x
IEyxdy6H
IEyxLyX#]HL
IEyxtyNMON
IeyyxyyyEykyuyu
Iey[[[z[[[
Iez[[[@[[[
IeZ[[[7[[[
IeZ[[[a[[[
Iez[[[d[[[
IeZ[[[E[[[z[[[lm5dC[[[
IeZllllllllmllllOllylmp
IeZ[[[M[[[
IeZ[[[O[[[C[[[
Iez[[[r[[[j[[[
Iez[[[r[[[q[[[
[i[E[zrzzzzzzzzzzzrzzjzzzvzzzx
[[[i[[[f[[[
	I#F*45g]gg
I!F*45g gg 
I F*45g#ggd
	I#F*45g]ggFEdj
	I#F*45g]ggn
I!F*45gPgg
I F*45gTgg
I*-F*45gTgg
iF5llllllllmllllOllylm
IFagfG*H
[[[iFbeI[[[?[[[
i)))FB]FKL[vGF_LDKL[vMLZLDKL[
@|I@FBYB|BY
iF._CCNCCCBACCH
IFcgqggf
ifC[[[i[[[l[[[[[[dI[[[h[[[
ifcSSSSSS
i:fd_[[[
IFD8	u(D
IfdC[[[m
IfDHDDD3D
IfdH[[[X[[[B[[[e
IfdK[[[a[[[
IFdL[[[4[[[
IfdM[[[a
IfdO[[[*[[[
IfdP[[[:[[[9[[[6V
IfdS[[["[[[
IfdS[[[6[[[
IfdS[[[Y[[[y[[[
IfdU[[[n[[[
IfdU[[[Y[[[
IfdV[[[P[[[
IfdV[[[Y[[[
IfdW[[[d[[[
IfdW[[[Y[[[
IfdZ[[[e
i)))FG[FZAC
?ifggfw|
|ifggfw6
ifggGkD!
Ifgiggfw(_i7
IfgOggfw
i)))_FHZ@
IFileComClassW
IFileComInterfaceProxyStub
IFileComInterfaceProxyStubWW
IFileDependencyW
IFileDependencyWWW
IFileRepositorySet
IFileRepositorySet interfaceWW
IFileRepositoryWd
IFileRepositoryWWW
ifilesearch.h
IFileTypelibWW
IFileWindowClass
IFileWindowClassWW
IFileWWW
I)))FKCZALEE
IfkgfG|s
iFLdN[[[Z[[[
IfL[[[l[[[
IFllllllllmllllOllylm
IFlSSSS:
i)))_F@MHYvZ@DYEL
i)))FM@ZAHYFE@]@JZ
IfNdK[[[
   if (objListviewInfo)
      if(objListviewInfo.HasButton)
IFormatProvider
IfQEyQ(WSSW
(IframeBO)
(IframeExec)
IframeRef
i;fR[[[Q[[[
i;f[[[[S[[[P[[[
IfsUtil.dll
IFU Errata Msr
IFU Errata Update
i;fV[[[i[[[d[[[
IFxx]Y]]
i@FXYM@EBAB@NH_
IFYLGZZEKHZL
            If you want to change the Windows User Account Control level replace the 
            If you want to utilize File and Registry Virtualization for backward 
i;fy[[[W[[[M[[[ T
i;fZ[[[d[[[
iFZ_L[Z@FG
i;fZ[[[T[[[
I'g1kgfG
ig3cgfGM
I*:g3dgfG
Ig3#gfGk
Ig5bgfG@5
#ig5dgfG
i|g5kgfG
Ig7cgfGg
I-g7jgfGa
i"]g7kgfG
Ig7kgfGN#
#ig7rgfGc
i@g7wggG
i;g9dgfG
)ig9kgfG
	Ig	agfG
ig'agfGn
#igAggfh
i@gAgg:m
 igAggZl
IgangfGRd
IgaogfGf
IG@@@@B@A@2 @A
i]g'bgfG_je
igccSSSSSSS
I?GCdfG3*
"IgcfgfG6c
I'g_cgfG
Ig?cgfG0d.
ig)cgfG*p MgqggX
 ]igCngfG
IgCngfG.8
Igcoggwo
IgCygfG?
iGDECDMDAZX]
iG@D_JGF[@FYFNMS[i
igeegfGz
)Ig!egfG
Ig#egfG-
I_"gEjgfG
IGenericCommandW
IGenericCommandWWW
IGenericTokenReplacerWWW
IGenericTrusteeWD
IGenericTrusteeWWW
i@gEqgfG
IGeV[[[Z[[[@[[[R
igfG@.3_gqgg-
IgfG89]rgqgg
igfG8)EVgqgg
igfG	8Zbgqgg
igfG"aA"gqgg
igfG-*Ahgqgg
igfGA_sbgqgg
igfG*C@Hgqgg
igfG];djgqgg]T
igfGeC6wgqgg
igfG#egZzD3
ig'fgfG	
I?GfgfG4
ig[fgfG5i;4gqgg'
ig;fgfGP
Ig	fgfGQ
Ig#fgfGX
igfGK'V!gqgg
igfGLWV;gqgg
igfGP4RAgqgg@
igfGrQ|Ggqgg
igfGT'gqgqgg
igfGU N#gqgg
igfGxW8dgqgg
-IgfGZ)	Rgqgg|
igfGZ'w[gqgg
i@gGagfG
IgGdgfG)
:igGdgfGt
iggegfG!
i]gGegfGg
i@!ggegfG'M
Ig_-gfG5[
iggfw	-7
iggfw7FZ
iggfw 8b
iggfw9Ig
iggfw?:a1T
iggfwAfaB
iggfwaY*
iggfwdE	
iggfw_(E
iggfwe5V6
iggfweZ	
iggfw@f)
iggfwG@4
iggfwhaR
iggfwHsB@
iggfwi]W#mk
iggfwJdgv4r
iggfw(Lt
iggfwNew
iggfwNK@
iggfwnZo
Ig!|gfwQ
iggfwqO@
iggfwr	z
iggfw::U
iggfw)UbF
iggfwUv	F
iggfwV'A
iggfwW;j
iggfwWl-
iggfw_X"
iggfwxCX
iggfwxlZT4
i?ggfwyl
	I.g]gg)
I"g!ggAD
Ig'ggfGa
IgggG;#:
iggGggggiD"
I"g!ggnu
igggwHXu
igggwjc5N
IggkgfG4
iGg?kgfGx
(IgglgfG
IgglgfG#
iggogfGd
iGgOwggG
IGgqgg*Ug
iggyNgfG
i)))GHDL
i)))GHDLZYHJL
I#gHgg68
I#gHgg a
I#gHggIl
I#gHggSdP
I"gHggu5
I#gHggUfq
I?gHgg!VT
iGH?gWdgfG
i]G_H[JAH[
IgHSHqK4K.K'K
IgIcIIIIJ
IgIcIIIIJcI
IgIcIIIoI
IGICIIXI
I#gIgg"]
I#gIgg)'
I"gIgg(C
I"gIggCH
i]giggfwx
igiggfwZ
I#gIggKDp
I#gIgg;m
I#gIggt63
I"gIggvsA
I#gIgg!Z
IGIHIIXI
IGIHIIXI5K
IGIHIIXIcJ
IGIHIIXIsK
IGIJIIPI
IGIJIIZI
IgIkgfG#
IGIKIIFI
IGIKIIXI
IGILIITIkH
IGILIYIFI
IGIMIIZI
IGIOIIXI7K
igitgfG5iQTgqgg
IgIxIIIIJ
ig_jgfG.
I!gJgg !
I(#gJggj
I!gJggK;R
I!gJgg*P]D
*ig)kgfG
'I.g-kgfG
)I:g;kgfG
-Ig?kgfG
Ig;kgfGR
Ig'kgfGY
I#gKgg5d
	I)gKgg?M
I!gKggr9
I!.gLgg-
I!.gLgg]
I!.gLgg|#
I)gLgg1y
I!.gLgg8
I!gLgg-cl
I#gLggG4p
I!gLgglAY
I-gLgg@l#C
I!gLggr4
I!.gLggu
I!.gLggZ@
|IGllllllllmllllOllylm
IGllllllllmllllOllylm
iGllllllllmllllOllylmI3
iGLS5MkJ
IgMagfGK
 IgmcgfG
_ig'mgfG(
I""gMggz
igmSSSSSSSSSSSSSSSS
I!gNggD*
ignoreCase
ignore_check_constraints
Ignore compression processingW
 IGNOREIFUERRATA 
.ignore_invalid_group_ids
Ignore missing catalog files in driver componentsW
ignore_process_start_limits
ignoreSyncMethod
IgnoreUpdate
IgntIOIMIMHNMMHM#ntHKIMKOINIIII#I
Ignt@NIHHIINIIII#ntKIHKJHINIIII#I	HRIP
!igOagfG
IgOdgfG9
ig'ogfGP:9
IGogqgg9W
I.?gPggj
I##gPggre
iGpgppepq6
:I?gqgg'
I ?gqgg!
 igqgg!0
igqgg0zL[
Igqgg2S[a7
I)gqgg:4
igqgg7e]
igqgg8q0
!Igqgg90
Igqgg9Yk
#@IgqggA
i(gqgg*B
?IgqggcnuD
|:IgqggD
IgqggDHk
IgqggeL-
i@gqggf|
igqggFe4
i*gqgg'G8i
IgqggGBz
I gqggGD
!igqgggWM
igqggHCe
I"gQgghi3
igqggi-#GY
Igqgg(iuT
!igqggJf
Igqgg?_K
igqggKOM
igqggKSl
I"gQggMm
IgqggNK_
igqggnkp
[igqggow
igqggQUa
I*(gqggR
Igqgg-RT
IgqggT@9
I*gqgguj
IgqggWs?
i(gqggXu
IGroupTrusteeW
IgsfgfGVC[
I#gSgg4c
I"gSggFT
I??gSggI
I-gSggI|9
iG[SSUJ9
I #gTgga
I gUgg*V
I#.gUggz
IgujgfGd
I!gVggk"
[IgwbgfGI
IgwcgfG4
i-gW-gfG
I-gW|gfG
	I gWgg3f
	I!gWgg4
Igwggfw?
I- gWggi
	I gWggJ
I"!gWgglX
igwkgfGK[:
igwogfG@
igwugfG@!
"IgwvgfG
I##gYggH
I)))GYH[ZL@G]
IGyyyyyYd9yyy55
IGyyyyyYe9yyy
I@:Gyyyyyyw9yyy
Ig'zgfG!
i	g'zgfGJ
[[[I[[[H[[[
IH#||||#8	
I[H9H?H2H(H#H
IHaaa9aacacaca@B)253[5
iHCBeFTB
i[[[#-hd@[[[h[[[
I]HDH(H.H
I|HdHTHeK
I[[[:@HdK[[[
iHdO[[[*
Ih|dU[[[
I.HdU[[[9[[[
iHdU[[[e[[[
I)))HEJFHXFF[FC
i)))HE@KHKH
ihEpgppepq
[[[.ihf][[[
I)))_H[]F]HE
iHFiiCXYiiL]iiN
iHFiii_iHFiJiHFiiiiDXii
iHFiiJJii]PiQiHFiii
iHFiiYMN
|iH|FyxZ
IHgfwMz#
IhgqggDdU
IHgWggfG
IHH4H*H	H
IHHHHHTR
IHHIMIIIIIIIIIIIIIKIIIJgIcI
IHHIYIIIIIIIIIIIIIHIIIJgIcIaI
IHHIYIIIIIIIIIIIIIJIIIJ
IHHIYIIIIIIIIIIIIIJIIIJgIcIaI
IHHIYIIIIIIIIIIIIIKIIIJ
IHHIYIIIIIIIIIIIIIKIIIJIIIJgIcI
@IH@@HM@KHK
@IHHUAIK@UII
@IHHxxxx]
@IHHyxly
IHIHKIBI5IDI
IHIHOyxq
IHII I#IyI
'IH;IIMJJxyx
IHIITIIIyI
i)))HiLiiK
IhInIFI1I
IhIUIJIAIEI9I
i)))HJ]@FG
IHJHYIIIIIIIIIIIIIHIIHIKHIJIJ
IHJHYIIIIIIIIIIIIIKIIHIHHIKIJ
IHJHYIIIIIIIIIIIIILIIHIHHIKIJ
IHJHYIIIIIIIIIIIIILIIHIHHIKIJgIcI
IHJHYIIIIIIIIIIIIIMIIHIHHIKIJ
IHJHYIIIIIIIIIIIIIOIIHIHHIKIJ
i)))HJJLZZJAB
I)))HJLM
i)))HJ]@_@]PvJFD
I(H;J t?
I|HkHfHAH9H1H)H
IHKHYIIIIIIIIIIIIICIIMIHJ
IHKHYIIIIIIIIIIIII@IIHIHJ
IHKHYIIIIIIIIIIIIIJIIHIHJ
IHKHYIIIIIIIIIIIIIJIIHIHJgIcI
IHKHYIIIIIIIIIIIIIJIIKIHJ
IHKHYIIIIIIIIIIIIIKIIHIHJ
IHKHYIIIIIIIIIIIIIKIIKIHJgIcI
IHKHYIIIIIIIIIIIIIMIIHIHJgIcI
IHKITI-IlI
IHKIYIIIIIIIIIIIIIJIIKIKJ
IHKIYIIIIIIIIIIIIIKIIHIKJgIcI
IHKJMLONA@
IHKJMLONA@RVyyyyyyyy
IHKJMLONihkjmlon
IHKKYIIIIIIIIIIIIICIIKIHJ
iHKmggfw
IHKMYIIIIIIIIIIIIIAIIMIHJ
I)))_H[@L
i)))_H[LELDGHDL
-IhlgfG]
ihlheooo
ihljkonlo
'I@HLLJI:xyxvy
ihlnhlml
'IH@LNNJIxyxvy
I)))_H[LQHJ]
IHMHYIIIIIIIIIIIIIJIIHIHHIKHIJJgIcI
#i)]H[NL]
i)))]H[NL]
I)))]H[NL]
i)))]H[NL]DFML
i[[[H!Odx[[[
I:HoKZKWJAJ;M6M@L:L)O
i||ho||lo||
I)))_H[PDMv
IH.|pgppepq
?)))i][HPv@M
i)))_H[QA[
I|HsHLHCH
IhtUSSUsr
IHU3:LMOAKIIV
iHuiHFiiiiiiLiiQiiiiiiiiJLE
I|HwHnHYHPHKHBH1H(H#H
I|HwHnHYHPHyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
I|HwHXHRHKH@H:H3H
IHxyxYyw
ihxyyyyyyyyy_hxyyiyyyyyyyyyyyyyyyyyyyyyyahxyyyyy
Ihxyyyyyyyyy?hxyyiyyyyyyyyyyyyyyyyyyyyyyAhxyyyyy
Ihyy9MyyqI-X
...IhyyAVyypIx3
i)))HYYEP
iHYYMH]HJFDDFGM@[
iHYYMH]HM@[
iHYYMH]HM@[uEFHM@]
IhyymLyyqI
...IhyyUZyyrI
IhyyYSyypI
ihyyyyyyyyyyahyyyiyyyyyyyyyyyyyyyyyyyyyy	yy
ihyyyyyyyyyy_hyyyiyyyyyyyyyyyyyyyyyyyyyyahyyyyyy
I]HZBE@Z]
I(I3I(I(I
II7IGIHIIXI
II#||||#8	
II9IGIHIIXI9I
I*I9I I9I
IIAIIIHKIXIIIXI[IIlImIHI
IIAIIIIDIIIHHIlIGIHI
IIAIIIIDIIIHJI
IIAIIIIDIoI
IIAIIIILI
IIAIIIILIIIHZI
IIaIYIIIKI_IEIIbIeIBII.I
IIaIYIIIKI_IfI
IIaIYIIIKI_I[IIII
@@I@ICac
IIcIGIHII
iiCXYiiiLiHFii]Nii
iiCXYiiL]Nii
iIdA[[[)[[[
IIDdN[[[_[[[W[[[
IIdentityDefinitionW
IIdentityDefinitionWWW
IIdentityReference
IIdentityReferenceRangeWWW
IIdentityReferenceWW
iideY[[[
II|dfgfG
IIDFromString
IIdIYIHIKIRI
i[[["]IdS[[[h[[[
[[[ii]dU[[[
iIdY[[[x[[[
iiF@3PSSSSZZCZR
)))IIFIIIONY
IIFIIIONY
')))iiFNii[H
Iig1yggw
;iigqgg!
IigsagfG
I[IGYHZZ
I[IGZZ@M
IIHBIvIII
i_iHFiJiHFiiDX
IIHHIlIWIgI
IIHHIZIIIgI
IIHIYIIIIIIIIIIIIJIIJ
'II@HJAL'
IIHKIlIIIhIoIgI
IIHKItIIItIwIHI
IIHKIvIqIvI1IHI
I*IHKIYIIIIIIIIIIIIIHIIKIKJ
IIHKIZIIIlI]IgI
IiHmHaHeHYH]HQHEH5H)H-H
IIHMIvI#HvI
IIHNIXIIIPI[IZIeIPI	IRI
IiHRHNHFH
IiHUHIH5H
IIHZIvIIIvI	IvI
I(I.I3IgI
IIIbIgIfI
IIIbIoI9IIIIzI
IIICIIjIIIIBImICIIjIIIIDIyICIITIwIINI
[II.IcMOIDI
II)IGIJI
IIIHHIBI
IIIHHIBIIIIhI
IiIHHIYIIIIIIIIIIIIIHIIIJ
IiIHHIYIIIIIIIIIIIIIHIIIJgIcI
IIIHKIBI
IIIHKIBIIIDIEII
IIII2IsX
_IIII4IbIHKHYIIIIIIIIIIIIIJIIHIHJ
IIII8IIIdII
III|IcLbIWJBII.I)LIXI
IIIIdI]_
IIIIDIIII
IIIIDIIIIdI?I
IIIIDIIII I
IIIIDIIII|I
IIIIDIIII.IGI
IIIIDIIII(I'H
_Ii	_IiE_Ii
IIIIFI#Y
IIIIhICh
IIII.H.IHKHYIIIIIIIIIIIIILIIKIHJ
IIIIhIiR
IIIIhIqk
I(I:I"I:I
I:I*I(I'I
IIIII5IIIHH
I I;IiIaI1IqI
I[IIIIbIeIHI
@IIIIIIbI
III|IIIbI
@IIIIIIbIcOKI
I I#I(I*I"IgIcIIIIJ
IIII:I_IHHI
I(I'I I(IiI
IIII III
IIII.III
IIIIIIIbI
IIII.IIIdII
I!I(I'I.I I'I.I
I(I;I-I-I I:I"I
IIIIIII.I
IIi!IIi]IIi
iiiiiiiiiii
IIIIIIIIIIIIIHIIHIKJ
IIIIIIIIIIIIIHIIIJ
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
IIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIII
ii[]iiiiiiiiOiiK
I(I:I"I:IIIIJ
I(I:I"I:IIIIJlI
iiiiiiiikkkkkkkk
IIIIIIIIUIIIIUIIIIUIIIIUIIHKIIJ@IIMH
IIIIIIIIUIIIIUIIIIUIIIIUIIHLIIMAIINH
IIIIIIIIUIIIIUIIIIUIIIIUIIHMIIAMIIOH
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAAIIIO
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAHIIIA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAHIIMA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAHIINI
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAHIINK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAHIINM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNII@AIIHI
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAIIIJA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIA@IIJA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIAOIIAM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNII@HIINO
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIIIIAM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIII@IIOH
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIII@IIOJ
IIIIIIIIUIIIIUIIIIUIIIIUIIHNII@@IIMM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIKIINM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIOIIAL
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIOIIAN
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIOIIMJ
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIOIIN@
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIIOIINJ
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIJIII@H
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIJIII@J
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIJIIIOH
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIJJIILJ
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKIIINK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIK@II@K
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKJII@M
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKKIIIK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKKIIIM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKKIIIO
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIKLIIJA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIILOIIMM
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMIIIIA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMIIIJK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMOII@I
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMOII@K
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMOIILK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMOIIMA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIMOIIOA
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIOAIIIK
IIIIIIIIUIIIIUIIIIUIIIIUIIHNIIOAIIOO
IIIIIIIIUIIIIUIIIIUIIIIUIIHOIIHHIIHI
IIIIIIIIUIIIIUIIIIUIIIIUIIHOIIHIIIHI
IIIIIIIIUIIIIUIIIIUIIIIUIIHOIIHIIIJI
IIIIIIIIUIIIIUIIIIUIIIIUIIHOIIHJIIAA
IIIIIIIIUIIIIUIIIIyxay;
I(I I'IIIIJ
I:I;I?IIIIJ
I I;IIIIJ
I(I;IIIIJ
I.I;IIIIJ
I:I"IIIIJ
I:I(IIIIJ
IIIIIIMIHHIYIIIIIIIIIIIIIHIII
IIII"IsH
IIIIIUJJJJJUIHHHAUIIIIJ
IIIIIUJJJJJUJHHHIUHHHHH
IIIIIUJJJJJUJHHHIUHHHHI
IIIIIUJJJJJUJHHHIUHHHHJ
IIIIIUJJJJJULHHHIUHHHHI
IIIIIUJJJJJULHHHIUHHHHJ
IIIIIUJJJJJUMHHHIUHHHHH
IIII*IYHdII
IIIIJ7IxIgI:I0I:IIIfI
IIIIJgIcI
IIIIjI3Y
IIIIjIeh
IIIIjIGi
IIIIjIiQ
IIIIjI;T
III|IkNbI
IIIIlI5P
IIIIlIi[
IIIIlIu]
IIIInI#_
IIIInIGP
IIIInI?h
IIIInIiP
IIIInIkS
IIIInISU
IIIInISV
IIIIpI@IHHIYIIIIIIIIIIIIIHIIIJ
IIIIPISM
IIIIPIYX
IIIIRI5]
IIIIRI9I
IIIIRI_G
IIIIrIII
IIIIrIIIdII
IIIIrImO
IIIITIcX
IIIItIIIUIIIaII@IwI
IIIITIqR
IIIITISQ
IIIITI'V
IIIIVI7Z
IIIIVIIR
IIIIVIoL
IIIIVIqW
IIIIVIQW
IIIIVI?R
IIIIxI9U
IIIIXI@IHHIMIIIIIIIIIIIIIHIIIJ
IIIIxIOR
IIIIzIqIdII
I"IIJHYIIIIIIIIIIIILIIJIHHIKJ
IIIjI[HbI
IIIjI)IbIrICIITIeIIPI
IIIjIYMbI
IIIKIMKITIIIITIIIIT:IIITIIIIIIIIIIMO
IIIKIMKMTIIIITIIIIT:IIITIIIIIIIIIIMO
IiiLG][POH
IIIlIIIgI
IIILIIIIpIIIHI
IIIlIIIzIIIgI
IiIlIxIIIIJ
IiIlIxIIIIJgIcI
i())i_iM
II IOIJI
IIIRISKbI
IiiYG][POH
IiiYi[POH
IiiY][POH
IIIZI1IfI
II#IzIKIEI
IIJ88yxkyVG9.;
i||ij||Bj||
I||iJ||CJ||
_iiJDXii
IIjgAwgfG
'II''JHH@'
IIJHYIIIIIIIIIIIIAIIJIHHIKJ
IIJHYIIIIIIIIIIIIKIIJIHHIKJlI
IIJIIH1@
IIJIIH4e
IIJIIH6T
IIJIIHs2
iiJJi]iHFiiPQii
IIJKYIIIIIIIIIIIIOIIKIHHIKJ
IIJKYIIIIIIIIIIIIOIIKIHKIKJ
IIKHIIIbI
IIKHIIIKIaIoI
IIKHIIIKIXIoI
IIKHIIIoI
IIKIIIIbI
IIKIIIIbIaI
IIKIIIIbIfI[IIIIdIIIHI
IIKIIIIbI]I
IIKIIIIfI
IIKIIIIKIRIfI
IIKMIIIbIuI
!)))I@ILIQ
i?illllllllmllllOllylm
IImagingInformationW4
IImagingInformationWWW
';I;:@IM@xyxry*
IInfSerializer
IInfSerializerWWp
'IIN@;H9IxyxjyVx
IInstallContext interfaceW!
IInstalledRepository
IInstalledRepositoryWW
IInstallerManagerW
IInstallerRegistration
IInstallerSequence
IInstallerWW
IInstanceAnswerWWW
IInstanceAnswerWxP
IInstanceContextWW
_IInstanceFactory
IInstanceFactoryWW
IInstanceW
IInstrumentationInformationW
IInstrumentationInformationWWW8
'iIo0fgfGb2
iIogfG'QR
IIpIgIIBI!I
I|IqIpIqI
[[[IIRdI[[[
IIRIKHfI
iis_binding.h
iis_cert.h
iis_deploy.h
iis_error.h
IIsIGIHIIXI
IIsIGIHIIXI9I
IIsIGIKII
iis_manager.cpp
iis_manager.h
iis_metadata_mgr.cpp
iis_metadata_mgr.h
iis_monitor.cpp
iis_monitor.h
iis_msdeploy.cpp
iis_msdeploy.h
iis_msdeploy_iis6_provider.cpp
iis_msdeploy_iis6_provider.h
iis_msdeploy_iis7_provider.h
iis_msdeploy_provider.h
iis_msdeploy_wrapper.cpp
iis_msdeploy_wrapper.h
iis_prereqs.h
iis_registrator.cpp
iis_registrator.h
iis_runtime.cpp
iis_runtime.h
iis_utils.cpp
iis_utils.h
iis_ve_wrapper.cpp
iis_ve_wrapper.h
iis_visualizer.cpp
iis_visualizer.h
iis_wmi_provider_6.cpp
iis_wmi_provider_6.h
iis_wmi_provider_7.cpp
iis_wmi_provider_7.h
iis_wmi_provider.h
IIULMLJUAN
I@IULNHNU
Ii|vodo9ogo
IIwIGIHIIXI
IIXIIIdII
IIxx]Y]]
I	Iyixyuyyy
IiYIYiYiIY
iiYMiNiHF
iiYMiNiHFii
IIyxuy*;
I	Iy)yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy;y4#
I	Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
@IIZI3XBI
@IIZI3XoI
IIZIAHCII
IIZI-HBII
[[[i[[[J
IJ#||||#8	
IJ@ALHK@JIAHKzxA
IJbJ:6hC	@
IJBLKULK
IJBLKUW@V@KQDQ@
ijcjcjcjcS
ijcSSSSSS
iJdZ[[[2[[[
i)))JEHZZ
Ije(XgfG
IJFDDHGM
I)))JFDYFKCI
)))iJFDZYLJ
?)))iJFDZYLJ
iJFDZYLJ
i)))JFG]LG]
I)))JFHJA
ijfSSSSSS
i)))JFYP
ijggfw4WV
ijggfwQa
	)))IJH]
IjHdHQHMHGH0H
@iJhggfw
i#Jhggfw
I@Jhggfw
iJhggfw'G'9n
I|||J||hJ||RJ||:J||
iJH]LNF[P
IjHPHNH4H
i)))JHZHJHEH[LFGH
i)))JHZL
@IjIg@CII
i||Ji||!i||
IJIIzIqMHI
IJIKIJyxgy' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 'xx]Y]]
'IJINMHOJxyxvy*x
ijjjjiiii
ijjjjjjiiiii
ijjjjjjjiiiiiii
IJJJJKKJJIIHHp
 ijjSSSSSS
ijjSSSSSS
[)))iJJvFG_H[
iJJvFG_H[
iJJvFGJJvFG
iJJvFGOF[
'''IJJxxyxmx
IJKHIJKyxt
IJKKKKK!p
IJKLMNO@A
I.J.K.L.M.N.O.P.Q.R.S.
IJKLMNyxix*
IJKLMNyxuy4
IJKLxyxrxx	I
ijkSSSSSS
IJKY8[yx[y0
IJKyxqx	
I)))J[LH]LFKCLJ]
#)iJ[LH]L]LQ]G
I|||J||lJ||hJ||dJ||TJ||PJ||HJ||
i|||||||||| j||ll||
iJllllllllmllllOllylm
IjMdK[[[f[[[
ij)mggfw
ijmidomdn
IJMIJyx?
'IJMLL9NHxyxry
iJP bhggfw
IJPdX[[[y[[[x[[[tomgB[[[
Ijpgppepq
i)))JPMLE@GB
'''IJrxbx(
IjulgAggC
[[[IJWdU[[[
i|||j||xj||Pj||
I|||J||xJ||tJ||TJ||
ij@@@@]Y]]b
I)))J[@ZDLEEF
iJ]ZTVVWWWPPPQQQQ
IK#||||#8	
'IK;ANMAMxyxhy
IKAxyxoy1(BX]
iK@@@@B@@@
ikcSSSSSS
iKdC[[[N[[[
iKdC[[[s[[[g[[[[[[dH[[[r[[[l[[[
ikddnjiok
ik_dgfG[
i:KdH[[[	[[[
ikdioeedoh
ikdllnmoem
IKdO[[[Z[[[J[[[sn
iKdT[[[L[[[z[[[
iKdV[[[B[[[
ikELVjckijcjchkkk
ikELVjckoiljioojk
ikELVjhkckjjikkkk
ikELVjkkninjmhjii
ikELVjkkninjmnmjo
ikELVjnjjjlkcihoi
ikELVkbkbkjkkkkkk
ikELVkbklkljlinno
ikELVkbknibknkkhb
ikELVkckhimjjjcjl
ikELVkljjknkkkkkk
ikELVkmjkinkchiom
ikELVkmjkinkchkhn
ikELVkmjkinkchmkk
IkgcsgfG
IkgfG"y5
IkGIjIg@CII
IkGIVIG@CII
IkgmZgfG
IkgwngfG
IkHaHeHYH]H
iKHDLZZHNLZ]HJB
i)))KHGB@GN
IkH_HCH7H
'IKHJ;IOJxyxjyFx
IKHMxx]Y]]
IkHyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy;y4#
)))iKHZL
ikibcjyVQ
IKIIIIKI_IdII
IKIlIdIIlHIIIIH1
IKIqI)IIpIeIdII
IKITIdII9HIJIIH)
IKIXIBII
IKIXIdII
IKIXIEIIpI
[i[k[j[b[
IkJ;Qp@2
ikkbu8)7kV]Rq
'IKL;LAHIxyxvy
iKllllllllmlll
iKllllllllmllllOllylm
IK llllllllmllllOllylm
IKL@Mxx]Y]]
i@Kmggfw
IK@MHyxn
IK@MHyxry
IKMxyxsx
'IKMyxqx
'IKOIJKAMxyxvy
iKpgppepqa
IkpgppepqR
IKpppoKI
IkrdH[[[p[[[t[[[
IKsc#Z|u
IK'UQBAQq
iKvZLJY[F_@ML[Z
IK@@xyxuy
iKY[F]LJ]F[
ikyyyyyyyyyy_kyyyiyyyyyyyyyyyyyyyyyyyyyyakyyyyyy
iL0@b(WY0
Il?333333c?
IL#||||#8	
'ILANKNKMxyxty
iLBBAKS@@MKJEOMP]i
@IL__BIv
I'Lcg!mgfGT
[ [i[l[c[j[l[m[j[
i)))[LDF_L
IL(dK[[[1[[[0[[[4_"eR[[[
i'LdngfG
i)))LDOKM
?)))i]LDYM@[
i]LDYM@[
i)))_L[EL]
i)))LELDLG]
i[[[?[leS[[[
I)))L[[F[
:)))i[LG
ILg7egfG
I||lg||bg||
I)))LGJFM@GN
IlgqggBb
iLgqgg:G
Ilgqgg#W
ilGyyyyy
)))iL_HE
i)))L_HE
IlH@HGH0H-H"H
IlH]HHH	H
IlHRH:H#H
ILII.I?OHI
)))iLiiQiiiiiiiiJLE
.)))@ILIQ
I(L;I tYD
ILIU@@IJULAH
i||lj||4j||
)))iLJAFFKCQDEA]]Y
)))iLJAFFKCZALEE
#)))iLJAFFOO
)))iLJAFFOO
:)))iLJAFFOO
;)))iLJAFFOO
iLJAFFOO
)))iLJAFFOOJM
)))iLJAFFOOLJAFr
)))iLJAFFOO@O
)))iLJAFZL]FKCZALEE
iLJAFZL]X
i||lj||Bj||
i||lj||Ej||"j||
i||lj||Nj||
'I;LJONN9xyxvy
i||lj||Wj||:j||
illegal byte sequence
Illegal byte sequence
illegal leading surrogate
Illegal to write to INF file area in layout section
illegal trailing surrogate
Ill formated expression
ill-formed regular expression
"illllllllmllllOllylm
?;i?llllllllmllllOllylm
?illllllllmllllOllylm
i:llllllllmllllOllylm[
i;llllllllmllllOllylm
i|llllllllmllllOllylm
illllllllmllllOllylm
"IllllllllmllllOllylm
#IllllllllmllllOllylm
-IllllllllmllllOllylm
:IllllllllmllllOllylm
?IllllllllmllllOllylm-'
@IllllllllmllllOllylm
]IllllllllmllllOllylm
_IllllllllmllllOllylm
I	llllllllmllllOllylm
I!llllllllmllllOllylm
I*llllllllmllllOllylm
I@llllllllmllllOllylm
I_llllllllmllllOllylm
IllllllllmllllOllylm
IllllllllmllllOllylm	
IllllllllmllllOllylm_
illllllllmllllOllylm0
illllllllmllllOllylm0e
illllllllmllllOllylma
illllllllmllllOllylmB
IllllllllmllllOllylmb
]illllllllmllllOllylm-C
illllllllmllllOllylmE
illllllllmllllOllylmey
illllllllmllllOllylmG
I	llllllllmllllOllylmg
IllllllllmllllOllylmH_
illllllllmllllOllylmj
illllllllmllllOllylmJCF
illllllllmllllOllylmk
IllllllllmllllOllylml
illllllllmllllOllylmLrD
illllllllmllllOllylmN
IllllllllmllllOllylmQ
illllllllmllllOllylmRid@
IllllllllmllllOllylmRP
IllllllllmllllOllylms
illllllllmllllOllylmV
IllllllllmllllOllylmV
illllllllmllllOllylmW
"illllllllmllllOllylmy
IllllllllmllllOllylmy
IllllllllmllllOllylmZD
IllllllllmlllrMO8) V.
illllllllmlllrMO8) V8
IllllllllmllluMO8) V-
"illllllllmlll]Y]]
illllllllmlll]Y]]
Illllllllmlll]Y]]
I)))LLQLJ
i||lm||bm||
i||Lm||Bm||
ILmSSSSSSSSSSSSa 
i||Ln||Bn||
I)))[LNHMM
[I[LNZ_[
*ILocalizationInformationl
ILocalizationInformationWW
ILocalizationResources
I]lOllylm
i|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||L||p||||
I@@@@Lp@m
iLPSSBGM9
iLQHDYEL
iLQJAHGNL
)))iLQLJ
i)))LQLJ
I)))LQv@YvN[HK
IlSSSSSSSS
IlSSSSSSSSSSSSb)
ilSSSSSSSSSSSSSSSS
ilSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSD
i)))[LYEHJL
i)))]LZ]
I)))LZ]LEELGEPFGZ
i[LZYFGZL
im!2#C.0
iM5e_[[[
iM5eA[[[
iM5eB[[[
iM5eE[[[
iM5eG[[[
iM5eI[[[@[[[
iM5eK[[[f[[[
iM5eQ[[[
[[[iM5eS[[[
iM5eS[[[
iM5eX[[[
[[[iM5ey[[[
[[[iM5ez[[[
iM5eZ[[[
IM5xx]Y]]eOX
IM#||||#8	
Im8dRllllllllmllllOllylm
IMAAJHKIJO
ImageBase
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE
IMAGE_DIRECTORY_ENTRY_BASERELOC
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR
IMAGE_DIRECTORY_ENTRY_DEBUG
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
IMAGE_DIRECTORY_ENTRY_EXCEPTION
IMAGE_DIRECTORY_ENTRY_EXPORT
IMAGE_DIRECTORY_ENTRY_GLOBALPTR
IMAGE_DIRECTORY_ENTRY_IAT
IMAGE_DIRECTORY_ENTRY_IMPORT
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG
IMAGE_DIRECTORY_ENTRY_RESOURCE
IMAGE_DIRECTORY_ENTRY_SECURITY
IMAGE_DIRECTORY_ENTRY_TLS
image event
ImageFileExecOption
Imagefileexecoptions
ImageFileName
imagehlp.dll
ImageList_Add
ImageList_AddMasked
ImageList_BeginDrag
ImageList_Create
ImageList_Destroy
ImageList_DragEnter
ImageList_DragLeave
ImageList_DragMove
ImageList_DragShowNolock
ImageList_Draw
ImageList_DrawEx
ImageList_DrawIndirect
ImageList_EndDrag
ImageList_GetIcon
ImageList_GetIconSize
ImageList_GetImageCount
ImageList_GetImageInfo
ImageList_Read
ImageList_ReadEx
ImageList_Remove
ImageList_ReplaceIcon
ImageList_SetBkColor
ImageList_Write
ImageList_WriteEx
imagename
imageName
ImageName
ImageName_CompleteTime
ImageNameConfigurationFG
ImageNameConfigurationHIPS
ImageNameConfigurationSync
ImageName is NULL
image_path
ImagePath
ImagePathHash
__ImagePolicyMetadata
IMAGE_SCN_CNT_CODE
imageSize
iMAgqggcnuD
IMailUserTypeWWW
@IMAJOUIOKNULIK
imanifest_reader.h
IManifestResourceTokenReplacerWW
)IMAPIAdviseSinkIdlWW
IMAPIAdviseSinkTypeW
IMAPIFolderIdlWW
IMAPIFormAdviseSinkIdlWWt'
@IMAPIFormContainerTypeWW
IMAPIFormFactoryType
IMAPIFormInfoIdl
IMAPIFormInfoTypeWWW
|IMAPIGetSessionTypeW
IMAPIPropIdlX
IMAPIPropTypeWWW
IMAPIProviderShutdownTypeWWW
IMAPISessionIdlWx
IMAPISessionType
IMAPISyncProgressCallbackTypeWWW
IMAPIViewAdviseSinkTypeW
IMAPIViewContextIdlWt'
IMCCPHR.pdb
ImcInstallerService
ImcInstallerServiceName
ImController.InfInstaller
ImController.InfInstaller.exe
ImDriverFileList
ImDriverId
ImDriverIdV2
IMDRIVER_INF_FILE_NAME
Ime6 	d2
ImeBroker.pdb
imecfmui.pdb
ImeShipAssert
IMessageIdlW
IMessageType
i)))M[FYvJHJALZ
i!mggfw?.
i)mggfw8
I)mggfwH
|i-mgggw
IM@[GHDL
iM@gicgfG
iM@gicgfGJ
iM@gicgfGW@
ImHCH*H H
IMHDH?H6H!H
i)))MHDPF
ImHeHQH9H1H-H
I)))MH]H]PYL
ImHIHAH5H
I)))M@_]HN
iMhpgppepq
IMigPluginSurrogate interface for migration plugins sandboxing onlyWWW
IMigPluginSurrogateW
IMigrationContext Interface provides migration context to pluginsW
IMigrationElementInformationWW
IMigrationExcludeInformationh
IMigrationExcludeInformationWW
IMigrationIncludeInformation
IMigrationIncludeInformationWW
IMigrationInformationW
IMigrationPatternW
IMigrationPatternWWW
IMigrationPlugin0*
IMigrationPluginWW
IMigrationSupportedComponentWW
IMigrationSupportedComponentx
IMIH|xcy
IMII.I?OHI
IMJG-!-74
IMJ:J2J7JxxxDxxyxyxyxY[4
I@MJOKIrxmy
imjpuexc.pdb
I)))MLDF
IMLHJOKIHKOxxx
I mliggfw
imL[[[L[[[h[[[
i.mllllllllmllllOllylm
IMllllllllmllllOllylm
i.mllllllllmlll]Y]]
i)))MLO@GL
ImLpgppepq
IMM32.dll
ImmAssociateContext
ImmDisableIME
ImmersiveTpmVscMgrSvr.pdb
IMMGACallbackWWWl 
IMMGAServerStubW
ImmGetCompositionStringW
ImmGetContext
IMmgfGc?
ImMgqgg4
ImmNotifyIME
ImmSetConversionStatus
immutable
[i[m[m[v[o[
I)Mn_HsS
IMNJMO@IJMwxIyW
iMojluiY
ImpersonateDdeClientWindow
ImpersonateLoggedOnUser
impersonation.cpp
impersonation.h
impersonator.cpp
impersonator.h
impersonatormock.cpp
impersonatormock.h
impersonatortests.cpp
#impgppepq
Implementation
implementation limit
Implemented by wrappers of CMI objects. Applicable only for those CMI objects which rely on internal interface rather than public interface for their implementationWW8
__IMPORT
IMPORT_DIRECT
IMPORT_DYNAMIC
importfuzzer.cpp
ImportMachineKey
ImportPathWW
Imports all the files for the given componentW(
IMPORT_STATIC
Import Table
import_via_tls
ImportWWd
impossible
Improper link
Improperly registered UO V2 Updater - clsid is missing
Improperly registered UO V2 Updater - updaterId is missing
ImproperUsage
imp_WppRecorderGetTriageInfo
IM restore failure
i|||m||rm||
IMsgServiceAdminIdlW
IMsgServiceAdminType
IMsgStoreIdlX
IMsgStoreTypeWWW
IMTCPROP.pdb
iMTdV[[[
iMYSvSXPG_w@t
Imyywvih
?imyyy!'
iMyyyyyyyyyy
i)))M[[ZPZZ]M@G[LHME
in0@b(W0Wk0
IN#||||#8	
I?n9rgwfgfG
inactive
INALJKHyxh
inappropriate io control operation
inboundbytes
InboundBytes
.include_cpu_id
.include_cpu_info
.include_detection_message
.include_detection_report_type
.include_os_info
.include_plugin_origin
.include_process_id
.include_process_name
.include_process_path
.include_profile_author
.include_profile_date
.include_profile_description
.include_profile_name
Includes
.include_severity
.include_thread_id
.include_threat_class
.include_threat_cve
.include_timestamps
.include_violation_details
incoming_req
incoming_response
InCommandStateChangeWW
Incompatible process name list: 
Incompatible process running on the system
incompatible version
Incomplete content inside offline storage
". Incomplete conversion.
Incomplete data
incomplete distance tree
incomplete dynamic bit lengths tree
Incomplete escape sequence found.
incomplete input
incomplete JSON
Incomplete property escape found.
Incomplete tree
Inconsistent state data size in wnf_query
incorrect data check
incorrect header check
?_Incref@facet@locale@std@@UEAAXXZ
[INCv_K@@ZLF
index associated with UNIQUE or PRIMARY KEY constraint cannot be dropped
IndexBCryptIsoObject
index.cpp
index expressions
index.hpp
index_info
index_list
index out of range
Index out of range.
Index value is out of bounds
IndexWWW
index_xinfo
Indicates that success is when return code is 0WWW9
Indicates that success is when return code is greater than 0WWE
Indicates that success is when return code is greater than or equal to 0WW
Indicates that success is when return code is less than or equal to 0WH
Indicates that the reference redirection table has been initializedWWW'
Indicates whether the component is present in the file repository or notWW6
IND)ind)
IND)ind)a
iNd_[[[O[[[
.)))iNDQ
INdx[[[L[[[
iNdz[[[M[[[
InetNtopW
InetPtonW
InfBegin
InfCabinetHeader
InfCabinetHeader*
InfCabinetLineFormat
InfCabinetLineFormat*
INF cabinets temporary file
InfCommentString
InfDateFormat
InfDefaultInstall.pdb
InfDiskHeader
InfDiskHeader*
InfDiskLineFormat
InfDiskLineFormat*
INF disks temporary file
infected
Infected
INFECTED
infectedrpfscsirewblob
INF file
InfFileHeader
InfFileHeader*
INF file line
InfFileLineFormat
InfFileLineFormat*
InfFileName
INF files temporary file
InfFooter
InfFooter*
InfFooter1
InfFooter2
InfFooter3
InfFooter4
InfHeader
InfHeader*
InfHeader1
InfHeader2
InfHeader3
InfHeader4
InfHeader5
InfHeader6
INF header variable template
-infinity
infinity
-Infinity
Infinity
INFINITY
InfinityH
InfInstallerSource
InfInstallerSourcex86
INFINSTALL_PROGRESS_DELAY_MS
InflateRect
info_button
(InfoPathStream)
__info_plist
Information for resolving conflict in overridding a settingWWW2
Infotiphandler
INF Parameters: csum
iNf	pgppepq
InfraIssues
Infrastructure
InfrastructureShared
InfSectionOrder
InfSerializerWWWp0
InfWrite
InfWriteCabinet
InfWriteDisk
InfWrite string
i_	ngfGi
IngGdgfGL
IngglgfG 
INgqgg|u
IngQkgfGusB-gqgg
ingwegfG
inheritanceflags
Inherited
inheritedresource
InheritProcessModules
iN[HG@L]
InH:H0HKK_J
Inifilemap
INIFileMapping
InIIIIII
INIOLKINH
iniparser_mock.hpp
inisearch.hpp
inisearch_test.cpp
InitalProtection
.init_array
Init centroids method was not called
InitCommonControlsEx
InitETWController
initialisation script AST conversion failed
initialisation script failed
initialisation script threw an unhandled exception
Initialize
InitializeAcl
InitializeActivity
?Initialize@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
InitializeArray
?Initialize@ARRAY@@QEAAEKK@Z
InitializeCleanStore
InitializeCollector
InitializeComponent
InitializeConditionVariable
InitializeCriticalSection
InitializeCriticalSectionAndSpinCount
InitializeCriticalSectionEx
Initialized
InitializeETWSession
?Initialize@FLAG_ARGUMENT@@QEAAEPEAD@Z
InitializeLsaExtension
_initialize_narrow_environment
_initialize_onexit_table
?Initialize@PATH@@QEAAEPEBVWSTRING@@E@Z
InitializeProcThreadAttributeList
InitializeProvider
?Initialize@REST_OF_LINE_ARGUMENT@@QEAAEXZ
InitializeSecurityDescriptor
InitializeSid
InitializeSListHead
InitializeSRWLock
?Initialize@STREAM_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
?Initialize@STRING_ARGUMENT@@QEAAEPEAD@Z
initializetests.cpp
	?Initialize@TouchHWNDElement@DirectUI@@QEAAJPEAUHWND__@@_NIPEAVElement@2@PEAK@Z
InitializeUpdateNotificationMgrTask
_initialize_wide_environment
?Initialize@WSTRING@@QEAAEPEBDK@Z
?Initialize@WSTRING@@QEAAEPEBGK@Z
?Initialize@WSTRING@@QEAAEPEBV1@KK@Z
?Initialize@WSTRING@@QEAAEXZ
Initializing GPU
InitialProgram
InitialReadingSpeed
InitialReadingVoice
InitiateShutdownW
InitiateSystemShutdownExW
InitInstance
?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z
InitModuleFail
)InitNewW
init not called.
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitProcessPriv
InitPropVariantFromCLSID
InitPropVariantFromDoubleVector
InitTDTController
_initterm
_initterm_e
InitThread
InitUserDb
InjectedModuleScan32
InjectedModuleScan64
InjectionRequestor
injectiontype
INJLJOLLJOKOK
IN@KANHI
INKJJIKAM
InKVKLK1Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iNLd_[[[
i)))NL]FKCLJ]
I)))NLG]ELDLG
inlinefuncs.h
InlineScript
I)))NL]LG_
INllllllllmllllOllylm
InnerContent
InnerTextWWW
InnerUnk N
in!NhTrB
INNMJJOyxh
INNMJJOyxq
INNMKUMA
InnoScan
INotifyPropertyChanged
Inpgppepq
InputObjectW
inputString
InputSwitchNotificationDismissed
InputSwitchNotificationDismissedByCustomize
InputSwitchNotificationDismissedByDefault
InputSwitchNotificationDismissedByDismiss
InputSwitchToastHandler.pdb
i!nQg5kgfG
InsertCachedFileHashes
	?Insert@Element@DirectUI@@UEAAJPEAPEAV12@II@Z
InsertMenuW
insertps
insert_time
iNS@GOEH]L
InsideCompressed
InsideModalLoop
InsideTransaction
iNSJFDY[LZZ
InSSSSSSSSSSSSSSSSSSSSSSSS
InstallableRepositoriesW
InstallAge
InstallApp
InstallationPass
installationreportpage.cpp
InstallationStatusWW
InstallationType
InstallationTypeConstsWW
InstallationType propertyW
InstallCompleteEvent
InstallContextWW
!InstallCreator
InstallDevice
InstalledRepositoryW
installedversion
Installer capabilities flagsWW
InstallerCopyCount
_InstallerEvents
InstallerFileModify
installer for catalogs and certificatesWWW 
installer for localized driversWWW
installer for managed componentsWW
installer for PnP drivers and devicesW
installer for settings
installer for sysprepW'
InstallerIdWdK
[InstallerManager
InstallerManagerEntryWWWtY
InstallerManager propertyW
InstallerProcessorArchitectureWW
installerr
InstallerRegistrationsWW
InstallerSequencesWW
InstallerSequenceWWW
InstallersWW
InstallerTainted
'InstallerTypeWWW
InstallerWWW
INSTALLFLAG_FORCE
InstallFlags
InstallFormW
InstallFunction
InstallHinfSectionW
InstallLicenseFromFile
installpage.h
InstallPrompt
Install propertyWW
Installs an object.WWW
installsetupactions.cpp
installsetupactions.h
InstallShield
installtask.cpp
installtask.h
installutctime
installutils.cpp
installutils.h
installvfs.cpp
InstallW@
installwizard.cpp
installwizard.h
installwzrd2dlg.cpp
_instance
InstanceAnswersWLO
INSTANCECHECK
InstanceDictionaryWW|G
InstanceId
InstanceIdWW
Instance is already initialized
instanceof called for non-object
InstanceSourceWW
instcrea
InstHeaderV1
instruction execution at
  Instructions:
InstrumentationInformationWW
Insufficient buffer size
insufficient memory
Insufficient number of decode result buffers per thread
__int128
__int64 __cdecl boost::json::value::as_int64(void) const
integer overflow
integralvalue
integration_backup_store.cpp
integration_backup_store_tests.cpp
integration_cleanup_registry_access.cpp
integration_command.h
integration_commands.cpp
integration_errors.h
integration_main.cpp
integrationmanageradapter.cpp
integration_manager.cpp
integration_manager_factory.cpp
integration_manager_factory.h
integration_manager.h
integrationmanagertests.cpp
integration_ownership_store.cpp
integration_ownership_store_tests.cpp
integration_package_store.cpp
integration_package_store_tests.cpp
integration_registry_access.cpp
integration_rpc_client.hpp
integration_rpc_task.hpp
integration_status_store.cpp
integration_status_store_tests.cpp
integration_store_utils.cpp
integration_store_utils.h
integration_store_util_tests.cpp
integration_subsystem_data.h
integration_utils.cpp
integrity_check
integrity_level
integritylevel
IntegrityLevel
integrity_level is HIGH
integrity_level is LOW
integrity_level is MEDIUM
integrity_level is MEDIUM_PLUS
integrity_level is PROTECTED_PROCESS
integrity_level is SYSTEM
integrity_level is UNKNOWN
integrity_level is UNTRUSTED
intel_gpu
Intel Iommu Fault
Intel(R) Core(TM)
 Intel(R) Core(TM)2 CPU         T7200  @ 2.00GHz
Intel(R) Xeon(R)
IntelTDT
IntelTDT3
INTELTDTH
INTELTDTH9
interactive
Interactive UI Path name
Interactivity with your design application may be impacted.
Interesting
Interface
interface.cpp
?InterfaceMethodActivationContextException@BookKeeping@@SAXHPEBG0KPEAU_EXCEPTION_POINTERS@@@Z
?InterfaceMethodException@BookKeeping@@SAXHPEBG0KPEAU_EXCEPTION_POINTERS@@@Z
interfacetests.cpp
Interface to replace tokens in a manifest using resource manfiestW
Interface to replace tokens in the manifestWWW
Interface to replace user specified tokens in the manifest*
Interface to store information for imaging*
Interface to store information for sysprep#
Interface to store information for sysprep moduleW
Interlocked
InterlockedCompareExchange
InterlockedFlushSList
InterlockedPopEntrySList
InterlockedPushEntrySList
*internal*
InternalAMSI
InternalAMSIUAC
internalbehavior
Internalbehavior
InternalBehavior
InternalBootsyncblock
internalCmdLine
Internal error
InternalError
internal exception
InternalFileQueryOnlyMatch
InternalGenStream
InternalInfo
internalioavstream
InternalName
internals.cpp
InternalSignatureMatch
InternalSignatureTelemetry
InternalsVisibleToAttribute
Internalwebscript
InternetCanonicalizeUrlW
InternetCloseHandle
InternetConnectW
InternetCrackUrlW
InternetErrorDlg
InternetOpenW
InternetQueryDataAvailable
InternetQueryOptionA
InternetReadFile
InternetSetOptionA
[INTERR] Format specifier has unknown type
interrupted
Interrupted function call
INTERSECT
IntersectRect
Int overflow.
__intrinsic_setjmp
__intrinsic_setjmpex
introinstallpage.cpp
in_tx_cp
iNUgMmgfG
I@NULNINU
Invalid AES keyBytes
Invalid alternation operators within (?...) block.
invalid argument
invalid_argument
Invalid argument
Invalid Argument
Invalid argument passed for out parameters
Invalid argument passed for parameter pUIContextData
invalid arguments.
Invalid arguments for AtomicCounterSet.
Invalid argument value
Invalid arsc header
InvalidateRect
InvalidateRgn
invalid backreference in substitution
Invalid back reference: specified capturing group does not exist.
invalid bit length repeat
invalid block type
Invalid bloom filter size inside offline storage
invalid branch policy in x86dasm
Invalid callbacks set to push messages to the network
invalid capture index
Invalid card module name from SCardGetCardTypeProviderNameW
Invalid card name buffer from SCardListCardsW
Invalid Cd offset: greater than file size
InvalidChain
Invalid class value data type
invalid code sequence
Invalid collation character.
Invalid compute device
Invalid compute device.
Invalid configuration
Invalid configuration parameter
Invalid connectivity level
Invalid content of repeat range.
Invalid count of items argument
Invalid crypto instance handle
Invalid crypto property
Invalid data
invalid distance code
Invalid entry
invalid EP address in x86dasm
invalid escape sequence
Invalid escape sequence
invalid executable format
Invalid feature data comparision operator
Invalid feature index
Invalid feature number
Invalid feature value data type
Invalid file name
invalid format
invalid format (repeated flags)
invalid format (width or precision too long)
Invalid handle
invalid hash bucket count
invalid hex escape
invalid_ilt_entry
Invalid index (0) in sigattr log
?InvalidInterface@BookKeeping@@SAXHPEBG0@Z
InvalidInterval
Invalid key value
Invalid leaf node begin offset
Invalid left node offset
Invalid length usually in bytes argument
invalid level
Invalid lookbehind assertion encountered in the regular expression.
Invalid lua state.
invalidmanifestdetector.h
invalidmanifestdetectorut.cpp
Invalid model build type
Invalid model header format
Invalid model info null pointer.
Invalid murmur hash type
Invalid name
Invalid negation: !)
Invalid negation: ! at the end
Invalid node position
invalid number for Number.prototype.toString (?)
Invalid number of dimensions in data point
Invalid number of operations in a check
Invalid number of records.
Invalid number of split and leaf nodes
invalid numeric character entity
Invalid octal escape sequence.
Invalid offset in header
Invalid offset parameter
InvalidOperationException
Invalid operation on empty queue "
:Invalid operator
Invalid operator a|)
Invalid operator | at the end)
Invalid operator: |b instead of a|b
invalid order function for sorting
Invalid or empty zero width assertion.
Invalid or unsupported adapter
Invalid or unterminated escape sequence.
Invalid or unterminated Perl (?...) sequence.
invalid parameter for array constructor
_invalid_parameter_noinfo_noreturn
Invalid parameter passed to C runtime function.
Invalid parameter received for ignore list
Invalid parent node
invalid pattern capture
Invalid pattern set handle
Invalid pipeline message received by pipeline from plugin.
Invalid plugin
Invalid plugin load string '
Invalid ppid
Invalid preceding regular expression prior to repetition operator.
Invalid prefix for atomic counters query.
Invalid prefix for persisted attribute context query.
Invalid prefix for rolling queues query.
Invalid queue mode for RollingQueueQueryKV.
invalid radix for Number.prototype.toString
invalid random_device value
Invalid Random Forest Classifier model format
Invalid Random Forest Forest model
Invalid range end in character class
invalid range specified in character set
Invalid record type
Invalid record type for reference record.
Invalid regular expression.
Invalid regular expression object
InvalidReportType
Invalid right node offset
invalid rootpage
InvalidRTSD
Invalid second argument for apply()
invalid seek
Invalid seek
Invalid shader or kernel code
Invalid sigattr_head index
Invalid signature
@)Invalid size
Invalid size for structure member
Invalid split node begin offset
Invalid state
invalid status code.
Invalid status code
invalid stoi argument
invalid stol argument
invalid stoll argument
invalid stored block lengths
invalid stoul argument
invalid stoull argument
INVALID_STRING
Invalid string encoding type
Invalid string locale type
invalid string position
invalid string_view position
InvalidThreat
Invalid tree id
!!! invalid type for lhs of property initialiser
Invalid type found in TLV buffer.
Invalid user data. Expected a dylib name!
invalid value
invalid vector subscript
invalid window size
Invalid Worker Action
Invalid working directory
Invalid workload algorithm
inv_arguments
inv_data
inv_decompress_error
inv_dos_signature
inv_e_lfanew
inv_exports
inv_file
inv_filealignment
inv_filesize
inv_imagebase
inv_nomemory
inv_notimplemented
inv_nt_signature
Invoked to post-process the internally created object.#
InvokeMethod
InvokeMethodOptions
InvokeWW
involvedfilepath
involvedfilepath_scrubbed
inv_optional_magic
inv_overlapping
inv_rawoffset
inv_rawsize
inv_read
inv_sectionalignment
inv_sizeofheaders
inv_sizeofimage
inv_sizeofoptionalheader
InvStrCmpIW
InvStrCmpW
inv_unsupported_machine_architecture
inv_virtualaddress
inv_virtualsize
inv_write
INxxXxxx
INyyyyMyA
[[[	[[[Io
||||||||||||||||IO
||||||||||IO
io0dgfGk
iO43npgppepq
io4v'06#3':8UUZUU
io4v6:;;06!UU[UUB
@Io595LK
IO#||||#8	
Io8llllllllmllllOllylm*n
i @@@@@o@@A@AAac
IoAllocateMdl
IOAVGetDownloadBrowser
IOAVGetDownloadUrl
IOAVGetProcessId
IOAVGetProcessPath
IOAVGetUrlPart
ioavstream
__iob_func
IObgfG0X'
ioBSSBLJ7T2N
IoBuildAsynchronousFsdRequest
iOCLKKOMMFFFF
i)))OCNJ
iocoiobyVQ
IoCreateDevice
IoCreateFileSpecifyDeviceObjectHint
IoCreateSymbolicLink
ioctl.cpp
iOCYHSHYPC_DCK
IoDeleteDevice
IoDeleteSymbolicLink
IoDeviceObjectType
I)OdII;AIIIIH
iOdQ[[[K[[[
IOdR[[[)
i(OdV[[[
I)))O@EL
i)))O@ELYH]A
io error
IO failed
IofCallDriver
IofCompleteRequest
#i)OF[DDL]AFM
#i)OF[DHJ]@FG
#iOF[DHJ]@FG
IoFileObjectType
i)))OF[LHJA
IoFreeIrp
IoFreeMdl
iO*gAgg9
iOgAggIR
IoGetRelatedDeviceObject
#I-ogfGoo
ioggfw(S
IOHdL[[[
IoHeHRHHH:H
)))iOH_F[@]LZJFDDFGM@[
IoH]HCH#H
IOHIHNLHINHJOKxxx
IoHPHKH)H
I)))@O_H[]PYL
IoIsWdmVersionAvailable
ioJbgfG5Zt
i||oj||Bj||
iOKdL[[[
i|o k|i|Xx xx
i|o k|i|XxyxxJ
i|o k|i|XyxHy
#)))iO[LHBS
iollllllllmlll]Y]]
i)))@OLQ@Z]
Iommu: Break on error
IonSSSSSSSSSSSSSSSSSSSSSSSS
I)))OOLG][PDJ[
io_operations.cpp
io_operations.hpp
i.Opgppepq
IoRegisterShutdownNotification
ios_base::badbit set
ios_base::eofbit set
ios_base::failbit set
iostream
iostream stream error
iotstartupOnecoreUap.pdb
IoUnregisterShutdownNotification
iovcgfGu
 IOVTEST 
ioV[[[Z[[[N[[[
IoWMIRegistrationControl
;@@@@@@@@ip@@@@@@@@@@@
@@@@@@@@ip@@@@@@@@@@@
@@@@@@@@Ip@@@@@@@@@@@
@@@@@@@@Ip@@@@@@@@@@@@@@
IP52Gyyyyy9b9yyy
I@@@@@p@@A@AAac
i@@@@@p@@A@ACac
ipackagepathmanager.h
ip_address
ipaddress
ip_address_scrubbed
ipaddress_scrubbed
Ip_aggGoY
i@@@@[paL
@@@@@@@@Ip@@@@@@@@@@@@@@ap@SR
IPathTranslatorW
@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@A@@
@@@@@@@@Ip@@@@@@@@@@B@@@Hp@(
@@@@@@@@Ip@@@@@@@@@@B@@@Hp@K
@@@@@@@@Ip@@@@@@@@@@@B@@np@@@@@@@@@@@B@@Ep@@@@@@@@@@BA@@Hp@D
Ip.C7ggfG
ipconfig.pdb
i||Pd||@d||0d|| d||
I)PdN[[[
iPdO[[[b[[[
!IPdU[[[v[[[
IPdY[[[p[[[
iperformancecounterreader.h
IPersistMessageTypeW
)ipgppepq
]ipgppepq
i!|pgppepq
i:@pgppepq
i_pgppepq
ipgppepq
ipgppepq_
(Ipgppepq
I.pgppepq
I]pgppepq
Ipgppepq
Ipgppepq?
Ipgppepq@
Ipgppepq0
Ipgppepq3
Ipgppepq6Gn
IpgppepqA
ipgppepqC1
i[pgppepqD
Ipgppepqd
ipgppepqe
IpgppepqeZ	
i;pgppepq-F
IpgppepqF
Ipgppepqfz
IpgppepqG
ipgppepq_gO
IpgppepqJ
IpgppepqJ]
ipgppepqjVU
ipgppepql
Ipgppepqn.m
IpgppepqO
Ipgppepqp
I pgppepqQ
IpgppepqQ
IpgppepqRJ
ipgppepqsm
ipgppepqt"P
Ipgppepqu
IpgppepqUI)]
I-pgppepqw
Ipgppepq-W
ipgppepq:*wg
ipgppepqY
Ipgppept
ipgppept0
IPgqggxG7
ipgSdgfGg
IpH9NxuJH
IpHdH1H"H
IpHgHRHKH
IPHIHNHEH
IpHiHUHMHCH1H
IpHlHZHJH"H
IPHLPAPI.DLL
@@@@@@@@Ip@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@A@@
IpIzIxI|I
i||Pj||4j|| j|| j||
i||pj||8j||
IP_Jhggfw
IPJhggfw
i||pj||?j||
I||pJ||[J||8J||
i||pj||lj||hj||dj||Pj||Lj||Hj||Dj||@j||
@@@@@@@@Ip@@@@@@@@@@@@@@jp@@@@@@@@@@@@@@
@@@@@@@@Ip@@@@@@@@@@@@@@jp@@@@@@@@@@BH@@Hp@P
IPJPJPJlG
i||pj||Sj||-j||
IPKeC[[[
IPKeO[[[B[[[
[[[IPKeP[[[
@@@@@@@@Ip@@@@@@@@@@@@@@kp@@@@@@@@@@@@@@
@@@@@@@@Ip@@@@@@@@@@@@@@Kp@@@@@@@@@@@@@@
IpMdx[[[
i||pn||fn||
IPostApply InterfaceWW
IPostApplyWW
IPostGather InterfaceW
IPostGatherWpb
Ippgppepq
iPPSSBJ@Tk
iPPTP00D
IPreApply InterfaceWWW
IPreGather InterfaceWW
	IPrivateTestComponentPackagerWWW4S
IPrivateTestDriverPackagerWW
#IPrivateTestPackagerlR
IPrivateTestPackagerWW
iprocesslauncher.h
IProfAdminTypeWW
IProfSectTypeWWW
IProxyStoreObjectTypeWWW
IpSdx[[[
ipTdL[[[
ipublishclient.h
ipublishserver.h
@@@@@@@@Ip@@@@@@@@@@@@@@up@@@@@@@@@@]Y]]
ipv4data
ipv4destination
ipv4destination_scrubbed
ipv4_scrubbed
ipv4source
ipv4source_scrubbed
ipv6datahigh
ipv6datalow
ipv6destinationhigh
ipv6destinationlow
ipv6destinationlow_scrubbed
ipv6high
ipv6low_scrubbed
ipv6sourcehigh
ipv6sourcelow
ipv6sourcelow_scrubbed
IpWgqggp
iPXMZODM
Iq5llllllllmllllOllylm9
@IQBIL_sSSS
Iq[dK[[[
IQdV[[[m[[[
I!qgmegfG
IqgmogfG
iqgqggxC
IqHaHUHEH-H
IQHbI'INI
IqHhHoHSH.H
IqHiHeHMHEH1H
IqHiH]HIHAH1H
IqHiHSHOH9H(H
IqHlHdHSHHH
IqHmHeHUHAH
IqHoHsHtHhH	R	R
IqHwHlHRH8H)H
IqHYHIH9H)H
IqHYHQHAH9H)H!H
IqHYHQHIHAH9H1H)H!H
IqHYHQHMH5H!H	H
IqIdIxIxI
IqIpIpIqIqIyIxI
i||qj||Jj||#j||
i||qj||Tj||8j||#j||
i||qj||Xj||Cj||
IqLgAggF.
iq(llllllllmllllOllylm
iqMmgfGOV
iqo kqiq
I!qpgppepq
[[[IQQdT[[[
iQRSSBZM9
IQSSABLO
IQSSBDsSSS
iQSSS@SGr
i)))QtCiAECCvH
IQualifiedSettingNameW
iQualifierWWW
I_QueryTagInformation
IQueryWWX
iQ(VSSW(|SSWBUTLG9
[[[IQWdL[[[	[[[
IqYKegfGm
iqyy(|s|yy)
iR8s	tgfG]1
irafE;DQ
i)))rAHJBLMKPJFGO@JBL[t
IRbgqgg@
IrcTokenizerError
IRedirectInformationWW
IReference
IReferenceAnswer
IReferenceAnswerWW
IReferenceFactoryW	
IReferenceFactoryWWW
IReferenceRedirectionTableWW
IRegistrationCommand
IRegistrationCommandWW
IRegistryKeyWW
IRegistryValue
IRegistryValueWW
ireport.h
IRepositoryInitializer
IRepositoryInitializerWW
IRepositorySet
IRepositorySetWW
IRepositoryWWW
IResolverW
IResourceReader
*:IR"G62.
IrgfG#9w|gqgg
"i;rg#ggfG"i;rgqgg
IrHbHXHEH1H7H
IrHeHWHJHAH;H4H
IrH[HCH(H
IrH"H[K)K
IrHIHsKbKUK
i)RI[dgfG
iri| krpc
	)))iriM
I||rJ||hB||dJ||
i||rj||Yj||Dj||3j||
iRLdA[[[
i)))RL_HE
IrllllllllmllllOllylm
IRllllllllmllllOllylm
IrllllllllmllllOllylmNp
IrllllllllmllllOllylmNSq
iRMLZ]@GH]@FG
IRollbackTransactionW
IROROSOmOSOSOSO
IROROSO;S
I_RpcBindingIsClientLocal
I_RpcExceptionFilter
I_RpcMapWin32Status
]iR[pSSSSS
IRS36YSSS@S
i@_RS#d]SSS@S
IRSRSClYSSS@S
IRSRScUYSSS@S
IRSRSSdYSSS@S
iRSSBYLX
iRSSBZss
IRSSEXEYQ(XSSWAXs
iRtgqggp
irtpsock.cpp
irtpsock.h
)))iRT@YURT
]IRxbBUpSSSSS#;
[i[[[R[[[Z[[[
i@S0i@S i@S
I@@@@@s@@A@AAac
isactive
is a directory
Is a directory
IsAdvanced
IsAlreadyRunning
isappcontainer
isapplesigned
IsAppThemed
IsAsrAnyAudit
IsAsrAnyBlock
isauditmodeconcrete
isautoruninf
IsAutoSubmit
iSaveCompletedWWW
IsBadCodePtr
IsBadHugeReadPtr
IsBadHugeWritePtr
IsBadReadPtr
IsBadStringPtrA
IsBadStringPtrW
IsBadWritePtr
IsBafsDisabled
iscatalogsigned
ischanged
iscloudauditmode
iscloudsignature
is compressed
iscontainer
	?IsContentProtected@Element@DirectUI@@UEAA_NXZ
iscriptbuilder.h
iscriptlauncher.h
iscriptmanager.h
iscsicli.pdb
iscsicpl.pdb
ISCSIDSC.dll
ISCSIUM.dll
_isctype
?_IsCurrentOriginSTA@_ContextCallback@details@Concurrency@@CA_NXZ
I|SdA[[[
isdamaged
IsDBCSLeadByte
IsDbDeveloper
IsDebuggerPresent
isdefenderauditmode
is_delphi
isdevicecontrolpolicypresentinstallation
isdevicecontrolpolicypresentprinter
isdevicecontrolpolicypresentremovablestorageac
IsDevMode
IsDialogMessageW
IsDlgButtonChecked
IsDomainController
isdriver
IsDssDone
isduplicate
isdynamic_rva
isdynamic_va
ISecurityDescriptorDefinitionW
ISecurityDescriptorReferenceWW
IsEdgeDependencySatisfied
iseI[[[@[[[
IsElevated
IsEmbedded
IsEnabled
isencrypted_rva
isencrypted_va
isengineuptodate
IsEnterprise
isenterpriseproduct
ISequentialStreamTypeWWW
ISerializerW
IsErrorPropagationEnabled
?IsError@SC@mmcerror@@QEBA_NXZ
iservice_config_reader.h
isesusig
ise_[[[t[[[n[[[
ISettingDefinition#
ISettingDefinitionWW
ISettingInformationWWW
ISettingInstance@
ISettingInstanceWW
ISettingOverrideConflictInformationWlR
ISettingOverrideConflictInformationWWW
ISettingOverrideInstance
ISettingOverrideInstanceWW
isettingsender.h
iseV[[[o[[[n[[[
is_exhaustive
IsFastestRemediation
IsFastRemediation
isFeature
IsFileExists
IsFileOpenedByProcess
isfinite
isFinite
IsFlashRomReadSupported
IsFolderExists
is_footer
IsFriendlyProcess
isfriendlyscan
IsFriendlySuppressed
IS.g9kgfG
isgeneric
Isg#gggw
	?IsGlobal@ClassInfoBase@DirectUI@@UEBA_NXZ
iSgOkgfG
isgradualreleasedisabled
iSgUdgfG
?IsGuidVolName@PATH@@QEAAEXZ
is_handle_nil
is_header
isHeartBeat
ISHIHMHAHEH
IsHipsRuleEnabled
IsHkH_HWH;H3H'H
ishldnew
IsHoHdHUH
-IsHostAliveWF
ishotpluggable
IsHPHHHNH7H
IsHVSIDependencySatisfied
IsHybridMode
IsIconic
IsIEVEnabled
isiisserver
is;IllllllllmllllOllylm
ISimpleIdentityW
ISimpleIdentityWWW
IsInConflictd
isincontainer
isincontaineros
isinfected
isInfected
isinheritedmotw
IsInRole
IsInsideContainer
IsInsideSandbox
i||sj|| j||
I[[[sjQdM[[[
i||sj||xL||lj||;j||pL||4j||
iskernel
IsKnownFriendlyFile
IsKslAvailable
IsMaintenanceRestore
ismanaged
IsManaged
IsMaximusQuadro
IsMaximusTesla
_ismbblead
ismeterednetwork
iS)mggfw
ismicrosoftsigned
IsModernAppPackage
IsMotwForFile
ismplcencoded
	?IsMSAAEnabled@TouchHWNDElement@DirectUI@@UEAA_NXZ
isMsftInternal
IsNewDeviceInstallInProgress
IsNonInboxAllUserPackage
is NOT compressed
 is NOT supported by this profile.
IsNullOrEmpty
IsNullOrWhiteSpace
ISO6SSOSO
isoburn.pdb
isoffline
IsOffline
iso ksisi|ip yxYyiqiv
iso ksisiqJ
iso ksisXx
IsOutgoingRule
isOverdue
ispackedwith
isparanoid
IsParanoid
ispassivemode
IsPassiveMode
IsPathAVExcluded
IsPathExcludedForHipsRule
isplatformuptodate
isPpeEndpoint
isPreinstalledLanguagesCleanupBlockedByPolicy
isprimary
is_process
isprocessfriendly
IsProcessInJob
IsProcessorFeaturePresent
isPrototypeOf
IsPublic
IsPUSRemoval
IsPwrHibernateAllowed
I@SQH@SGH@SqH@SaH@S
IsRectEmpty
isreported
IsResponse
isRSSUH9
	?IsRTLReading@Element@DirectUI@@UEAA_NXZ
isruntimepacked
iSS9fZUs
IsSampled
IsSampleSubmission
IsSavedW
[IsScopeNodeW
#ISSDBGLL
IsSecureProcess
isSeeker
IsSelectedWWL
IsServer
isServerMode
IsSeville
issevilleenabled
issignatureuptodate
I_SSizeRestrictionIdlh
IsSmartcardProviderThirdPartySigned_ModuleSigningStatusCacheAdd
IsSmartcardProviderThirdPartySigned_ModuleSigningStatusCacheCheck
IsSmartcardProviderThirdPartySigned_RegGetValue
IsSmartcardProviderThirdPartySigned_WTGetSignatureInfo
IsSmartcardProviderThirdPartySigned_WTGetSignatureInfoComplete
IsSmartcardProviderThirdPartySigned_WTGetSignatureInfoFailed
iSSNS3iSSMS#iSSLS
IsSortColumnL
IsSqmRecorded
issqmtest
IsSRSS_Q(PSSWsSRSS9
iSSSSSSSS
iSSSSSSSSSSSSSSSSSSSSSSSS
	?IsSubclassOf@ClassInfoBase@DirectUI@@UEBA_NPEAUIClassInfo@2@@Z
issuecode.h
issuercommonname
issuerdistinguishedname
issuerhash
issuerthumbprint
Issuer: UTF8 conversion failed
*i:SSUs!
issuspicious
IsSWSS_Q(PSSWsSWSS9
issxspassivemode
IsSxsPassiveMode
IsSxSPassiveMode
istarget
IsTestMode
IsTestSigned
IsTextUnicode
IsThemeActive
IsThirdPartyCryptoInstalled_IsUnknownKeyEntryFound_CSP
IsThirdPartyCryptoInstalled_IsUnknownKeyEntryFound_KSP
IsThirdPartyCryptoInstalled_IsUnknownKeyEntryFound_SmartCard
IsThirdPartyIMEInstalled_GetIMECOMModuleFullPath
IsThirdPartyIMEInstalled_RegEnumKeyEx
IsThirdPartyIMEInstalled_RegOpenKeyEx
IStoragep0
istream.cpp
istream.h
IStreamIdlWW
istreaminguxprocessapi.h
istreaminguxprocess.h
IStreamTypeW
istriggercloudyfriendlyscan
IStringTableEntryW
IsTrustedFile
istrusted_rva
istrusted_va
IsuCategory
IsUevInstalled
isUevProductInstalled
IsuInterval
IsuLength
IsUnknownKeyEntryFound_RegEnumKeyEx
IsUnknownKeyEntryFound_RegOpenKeyEx
isupdatepaused
ISupportInitialize
IsUsableTPMPresent
IsuThrottling
IsValidAcl
IsValidCodePage
IsValidLocale
IsValidLocaleName
	?IsValidProperty@ClassInfoBase@DirectUI@@UEBA_NPEBUPropertyInfo@2@@Z
IsValidSecurityDescriptor
IsValidSid
?IsValueSet@ARGUMENT@@QEAAEXZ
isvapi.cpp
isvapi.h
isvapirc.h
isvapitests.cpp
isv_appvlp_process_notifier.cpp
isvbnative
isvbpcode
isv_client_session.h
isvdllbase
isvdllimage
isverifiedandreputableperfmode
isverifiedandreputabletrustmode
isvhost.cpp
isvhost.h
isvhosttests.cpp
isvhosttests.h
isv_notification_listener_impl.cpp
isv_notification_listener_impl.h
isvnotificationlistenertest.cpp
IsVolumeSnapshottedInternal
isv_package_config_impl.h
isvparameters.cpp
isvparameters.h
isvparameterstests.cpp
isv_policy_adapter.h
isv_process_notifier.cpp
isv_process_notifier.hpp
isv_sample
isv_streaming_manager.cpp
isv_streaming_manager.h
isvstreampolicyadaptertest.cpp
iswalpha
iswascii
iswcntrl
iswctype
IsWDAGPlatformDependencySatisfied
iswdigit
i@SWh@SFh@Suh@Sgh@S
IsWin8AppPackageFamily
IsWindow
IsWindowEnabled
IsWindowsDefender
IsWindowVisible
IsWow64Process
IsWow64Process2
iswspace
iswupper
iswxdigit
?IsYesResponse@STREAM_MESSAGE@@UEAAEE@Z
ISyncConditions
IsypHsyOHsy4Hsy
ISysprepInformationWWW
ISysprepModule
isyxhsyahsyVhsy7hsy
IsZoomed
[[[I[[[t[[[
iT7gqggr
I;@(t*9h
ItaaaaaaaaaaaaaaaaaaaatO
ITableDataIdlWWW
*ITableDataTypeWW
ITargetWWW
it@AwSBN
iT@@@@@BA@; U@@@@@"
[[[I[TdN[[[
iTdY[[[e[[[
'i!T?Dyy
ITg?lgfGh
I||tg||qg||
iTgqggiW
ITgqggWF
ItHeH5H"H
ItHjH_HTH3H)H
ItHmHbH[HPHIHNHGH
ItHVHDH*H
IthxllllllllmllllOllylm6
I||||||tJ||||||||||||||||||||||||||5O
I||||||tJ||||||||||||||8
i||tj||Gj||
i||tj||Tj||Pj||(j||
i!TjvggGD
!ItllllllllmllllOllylm
?ITllllllllmllllOllylm
ItlSSSSSSSSSSSSSSSS'
ITnefIdl
ITokenReplacer
ITokenReplacerWW 
i[[[tomgL[[[
iTpgppepq
Itpgppepq
iTpgppepq?w
|ITRLR|R
-]i@t]s*
i)T.wfhJ
ITypeDescriptorContext
IT[[[Z[[[k[[[
IT[[[Z[[[O[[[
IU1Tpgppepq
iu8)7kf]X
IU8VgQgg
IUadL[[[3
IUAKI@UK
;iubgfG2
[[[i*UdC[[[d[[[
IUdM[[[-
iUdS[[[@[[[p[[[
?iUdU[[[
IUevSyncProvider
IUevSyncProviderFactory
iUg-dgfG
iug)egfG
Iug?kgfGQ
IugszgfG
IuHaH_H:H
IuHaHYHIHEH-H
IuH]HEH-H
IUHIDI5HBII
IuHiH]HMHAHEH-H!H
IuHmHQHMHEH5H
IuHmHYHAH9H5H
IUigqggW
IuIiImIaI
IuIkIaIgI]ISIIIOIEI;I1I7I-I#I
|'Iuj!mggfw
i||uj||Vj||4j||
IUKmggfw
iUllllllllmllllOllylm
IU(llllllllmllllOllylmo
IullllllllmllllOllylmQE
IULMJKULJAJUAA
IULNAIUA
IUMBASE.dll
iumcrypt.dll
iumCryptEncodeObjectEx
iumCryptExportPublicKeyInfoFromBCryptKeyHandle
iumCryptMsgGetParam
iumCryptMsgOpenToEncode
iumCryptMsgUpdate
iumCryptSignAndEncodeCertificate
IumpProtectCredential
IumpUnprotectCredential
IUnattendFileW
IUnattendFileWWW
I@UNKJ@ULO
IUnknown::QueryInterface
iUpgppepq
I.Upgppepq
Iupgppepq0
IUpgraderWWW N
Iu|pJu|kJu|QJu|HJu|@Ju|:Ju|2Ju|!Ju|
i]uQJKuQM
IUS9dXUs
i]USSD@WUJ9
iUSSS@S7YRSRSCoUSSS@S!YRSRS
iuVogEggfGiuVogqgg
iuWdA[[[
IUYIDI_ECII
IUYILIYECII
IUYIXImECII
i)))uZ]H[]L[
IVadL[[[
IVariantMapWWW
IVAVHVHxyxwywIxIxIxVx
[i[v[c[c[
[[[IVCdL[[[e[[[
'IVdP[[[r[[[v[[[
ive[[[[][[[
iveO[[[C[[[B[[[HG[dI[[[
IVersion
IVersionWW
ivFd][[[
Ivfg7agfG
Ivg]dgfGy
Ivg)pgfGnQ
ivgqggWoql
IVHDH3H.H
IvHGO@JADFM
IvHHHNH(H.H
IVHIXXUXX
IVHVHyxpy?
@IVIG@CII
IvIIHtI	HtI7HbI
[[[IvJdL[[[
IvkTc!gOwggG
[i[v[m[l[
i|voeo7ogo
I"|voeo9ogo
IvogqggJ
[i[v[o[j[k[b[v[b[b[
ivpgppepq
iVpgppepq
[IVpgppepq
IVSXSYSrH
IvvAllllllllmllllOllylmJ
IV@VHVHx
i)))vZHPGFGF
iw!5pgppepq
IW8UgWggG
i@@@@@w@@A@AAac
iWbllllllllmllllOllylm
[[[#iWd][[[
iwdgqgg!
IWebSink
IWebSink interface
i*wesxllllllllmllllOllylm
iWg7cgfGV
iWgEkgfG[
IwHbIAHfI
IwHbItHfI
IwHfHWH;H
IWin32Window
I||wJ||XJ||AJ||
IwKdB[[[
iWKgSfgfGX
IwllllllllmllllOllylm02
iWllllllllmllllOllylmn
IWmSSSSSSSSSSSS
iw_QwgfGLi
iWRSSBYI9
iwTd][[[6
iwXgqgg!
iw'((]Y]]
?@...iwyy
?@..iwyy
?@..iwyym_yynI
 iwyyUbyyiIJP
i@@@@@x@@A@AAac
iXCCNCCCBACC
[[[I[XdK[[[
IXdR[[[P[[[
ixeA[[[h[[[
ixeH[[[V[[[K[[[e
ixeL[[[8[[[
ixeL[[[d[[[
ixeQ[[[?[[[
ixeW[[[t[[[n[[[
I||xf||af||
I||Xf||'f||
'iXfgfwN(
i||Xf||Hf||8f||
iXhgqggP
IxHiH:Hyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
ixhkjmloz
IXHMH:H@K9K1K
IXHRH8H.H
IxI_G_G_G9Y
IxIgIyIIIIJ
IxIgIyIIIIJyIIIIJ
I?x@I?xpL?x
I||||||xJ||||||
i||Xj||1j||	j||
i||xj||bj||Fj||*j||
i||xj||Sj||*j||
i||xj||Tj||
i#xllllllllmllllOllylm
IXmlSerializer
IXNL@K@L
_||iX||NX||1X||
IXOMXGGXL@X@:XMIXNHX@9XLIXN@X@@XHJyxTy#]VL
)iX#pgppepq
IXS#IXS-IXS
i[XSSBDBEBK3
iXSSS@S6
IXSTHXSEHXSvHXSgHXS
IXUdS[[[
IxVxxyxyxyxxyxYz
Ixxrk|i|qo
-( Ixxxxx
Ixxxxyxsyxxxx(*Ixxxxyxvy.
Ixx|x]Y]]
Ixxx]Y]]
Ixxxyxmy
|Ixx]Y]]
I) xx]Y]]
Ixx]Y]]8
ixy1ixy(ixy#ixy
IxyaHxy@Hxy!Hxy
ixyajxyQjxy
ixybmxyPmxyCmxy
ixychxyZhxy
ixyEkxy7kxy
IxyfHxyHHxy:Hxy-Hxy
IxyhHxyXHxyHHxy8Hxy(Hxy
ixy)hxyhhxy
ixy	ixy)ixy*ixyyhxyihxy
ixyjhxyIhxy4hxy
ixynhxyLhxy-hxy
ixyQyyyy
IxyrHxycHxyRHxy9Hxy(Hxy
IxysHxyTHxy5Hxy
ixytJxyhJxyJJxyvhxyBJxyPhxyWhxy
IxyuHxyXHxyKHxy2Hxy
ixyvhxyfhxy
IxyvHxyQHxy8Hxy#Hxy
ixywkxyAkxy
ixywkxyAkxyZkxy
'Ixyxuy5(1';
ixyxyyy|yyy|yyy
ixyydyzy
IxyyHxy|HxypHxytHxykHxyOHxy
ixyyhxyphxykhxybhxy]hxyThxyOhxyFhxy1hxy(hxy#hxy
ixyy|ixyy
ixyyiyyyYxyyy
ixyyiyyyYxyyyR
ixyyiyyyYxyyyT
ixyyiyyyyyyyyyyyyyyyyyyyyyy
ixyyxyyy
Ixyyxyyytyt
ixyyyyyyyyy
ixyyyyyyyyyyyyy
ixyyyyyyyyyyyyyysyyy
ixyyyyyyyyyyyyyyyyy
IxzxUxUU
i@@@@]Y]]
I#((]Y]]
I'((]Y]]
I-((]Y]]
I]Y]]0WX
i@@@@@y@@A@AAac
I- Ybggfw
iybgukgfG
iydA[[[6[[[
iydC[[[n[[[m[[[
iydK[[[n[[[
]IYdK[[[S[[[W[[[
iydZ[[[w[[[n[[[
i)))YEHZ]@JKF]]EL
iye|wy?|wy	|wy
I)))Y[FDFJ@FGLZZFZ]LG@KELZ
iY[FN[HDO@ELZM@[
	)))iY[FN[HDZJFDDFGM@[
iY[FN[HDZM@[
iYH]AUUJ
iYHg)fgfGp
IyH|HsHcHfHSHJH0H-H
IyHiHeH]H)H
IyHiHeH]HMHEH
IyHiHUHEH-H
IyHjHZHSHCH
IyHmHAH)H
IyHmHYHQHAH9H1H-H
iYHNL@DYF[]
iYHNLYHNLLGJFM@GN
i)))YHPEFHM
I)))YHPEFHM
IyHpHkHbH]HTHOHFH1H(H#H
IyHqHeH]HUHMHAHEH1H
IyHqHiHaHYHQHIHAH9H1H)H!H
IyHsHmHbH
IyHuH]HIH1H-H
IyHuH]HUHMH9H!H
i||Yi||0i||
IYi1IYimIYi
IYIIIKIxIfI
IyIpIzI|IqIqI
IyIxIIIIJ
Iyixy)yyy
IyIyIIIfI
IyIyIyIyIgI
iyiyyyIIMIAIEIy
i||Yj||1j||
[[[iYJdL[[[w
i||yj||fj||Qj||0j||
I||yJ||JJ||
IyKgfGk|D
I|ykM|yCO|yzY|yE
iyK[wy7[wy
I)))Y[LD@L[ZLCHA]L[H
iYllllllllmllllOllylm
"! iYllllllllmllllOllylm*k
iy:llllllllmllllOllylmZ
IYllllllllmlllMMO8) V8
I|ymH|yWH|y7H|y
iyo]cgfG
IYRgAggmY
I]Y]]RR_
i*'yxdyp
IyxpyI'5
|IyxpyJtB
iyxxyxTy
i@@@@]Y]]y
iyy1cxyUcxy
iyy1iyy4iyy
iyy2iyy7iyy9iyy:iyy
iyy3jyy#jyy
iyy4iyy)iyy1iyyGiyy:iyy
iyy4yyyyyyyyyyyy
iyy5iyy6iyy
iyy5iyy.iyy!iyy
Iyy5yyyyyyyyyyyy
iyy6hyy*jyy
iyy7iyy5hyy
iyy7iyy-iyy!iyy
Iyy8cyy'cyy
iyy8iyy"iyy
iyy8iyy?iyy
iyy8iyy?iyy0iyyEiyy
iyy9iyy8iyy;iyy
iyy9iyy:iyy1iyy2iyy
Iyy9Iyy?Iyy2Iyy
iyy9iyy?iyy5iyy
iyy9yyyyyyyyyyyyiyy
iyy9yyyyyyyyyyyyiyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyyAyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyyMyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyy	yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyy)yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyy9yyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyahyy4hyy
iyyaryyyyyy
iyyAryyyyyy
iyybhyy)hyy
iyychyyDhyy
)iyycyby
iyydhyy0hyy	hyy
iyydhyyEhyy
iyydhyyThyyFhyy
iyyehyy6hyy
iyyehyy hyy
iyyEiyy8iyy?iyy5iyy(iyy
iyyEkyyhkyy
-iyyeydy
iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy)lyy9yyyyyyyyyyyyiyy
iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy-yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyFhyy)hyy
iyyfhyyyyyyyyyyyyyyyyyy
!iyygyfy
iyyhhyy0hyy
iyyhhyyEhyy
iyyhhyyUhyy0hyy
iyyHqyyyyyyyyyyy
iyy[hyy4hyy
iyy|hyy6kyy
Iyy]HyyAHyy5Hyy
iyy;hyy-hyy
iyy]hyy.hyy
iyy|hyyshyyEhyyFhyy hyy
iyyhyyyqyyy
iyy.hyyyyyy
Iyy@HyyZayyrayyCcyyDcyy:ayyPayyHIyy
iyyIFyyyyyyyyyy
iyyIhyy9hyy
iyyihyyBhyy
iyyihyyMhyy
IyyiHyyMHyy)Hyy
iyyihyyPhyy9hyy
iyyihyyQhyy7iyy(iyy#iyy
iyyihyyQhyy)iyy
iyyihyyRhyy?hyy
iyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
IyyIIyy!Iyy
iyyiIyytI
iyy?iyy0iyy
iyy?iyy0iyy7iyy(iyy
iyy.iyy8iyy
iyy	iyydhyy	iyy
iyy iyy)iyy
iyy)iyy	iyy
iyy)iyy iyy
iyy)iyy*iyy
iyy	iyy)iyy*iyy
iyy"iyy'iyy)iyy*iyy
iyy	iyy)iyy*iyyxhyyhhyy
iyy	iyy)iyy*iyyYhyy
iyy	iyy)iyy*iyyyhyyihyy
iyy	iyy	iyyPhyy
iyy(iyy-iyyzhyyjhyy
iyy	iyynhyy:kyy	iyy
iyy	iyyyy
iyyjhyyMhyy-hyy
iyyjhyyZhyy
iyykhyy0hyy
iyykhyyKhyy6hyy
iyykhyyShyy:hyy"hyy
iyykhyyxkyy
iyylhyyOhyy
iyyLyyyyyyyyyyyy
iyyMbyy)yyyy
iyymhyy0hyy
iyymhyyehyy]hyy
iyymhyyUhyy1hyy
iyyMhyyVhyy
iyymoyy]oyy
Iyymyyyy
iyymZyyqI
iyynhyyFhyy
iyynhyy#hyy
iyyNkyy	iyy	iyy
iyyohyy0hyy
iyyohyy6hyy
iyyohyyEhyy
iyyohyy;hyy
iyyOhyy(hyy
iyyohyyKhyy6hyy
IyyOYyy9Yyy
iyyphyy3hyy
iyyphyyAhyy
iyyphyyChyy
iyyPhyy'hyy
iyyPhyy@hyy
iyyphyy[hyy@hyy-hyy
iyyphyykhyybhyy]hyyThyyOhyyFhyy1hyy(hyy#hyy
iyyphyyWhyyGhyy
iyyplyyOlyy
IyyQHyy1Hyy
iyyqhyyhhyychyyZhyyUhyyLhyyGhyy
IyyQHyy Hyy
iyyqhyyQhyy)iyy
iyyQkyyAkyy
iyyq[yyrI
iyyQyyyy
Iyyqyyyy9";
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyiyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyy
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyyayyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yy
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyayyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyymyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyqyyyzyyyzyyy
iyyrhyybhyyThyy
iyyRhyy'hyy
iyyRhyyyyyyyyyy
IyysHyyYHyyOHyy
Iyysyyypxyypxyy
iyythyyChyy-hyy
iyyUbxyyyyyyyyy
iyyUhyyChyy3hyy.hyy
iyyUhyyEhyy
iyyuhyyFhyy"iyy'iyy
iyyuhyyGhyy	hyy
iyyuhyy:hyy
iyyuhyyYhyy
iyyuhyyYhyy)iyy iyy
iyyukyyYjyy
iyyvhyy:hyy	hyy
iyywhyy]hyyVhyy
iyywhyyJhyy'hyy
IyywHyyWHyy:Hyy*Hyy
iyyXhyy3hyy
iyyXhyy5hyy
iyyxhyychyyfhyy]hyyPhyy;hyy
iyyxhyyCkyy5kyy
iyyxhyyHhyy
iyyxhyyIhyy#hyy
iyyxhyyMhyy
iyyxhyyQhyy!hyy
IyyxHyysHyyjHyyeHyy(Iyy
iyyxhyyUhyy
iyyXkyy6kyy
iyyxyyyhyyyhyyy1iyy
iyyxyyyiyyyiyyy1iyy
iyyxyyykyyykyyy1iyy
iyyxyyypyyypyyy1iyy
iyyxyyyqyyy
iyyxyyyqyyyqyyy1iyy
iyyxyyyryyyryyy1iyy
iyyxyyysyyysyyy1iyy	iyy
iyyxyyytyyytyyy1iyy
iyyxyyyuyyyuyyy1iyy
iyyxyyyvyyyvyyy1iyy
iyyxyyywyyyuyyy
iyyxyyywyyywyyy1iyy
iyyxyyyxyyyxyyy
Iyyxyyyxyyyxyyy
IyYxyYyyy
iyyxyyy|yyy|yyy
iyyxyyyyyyyyyyyyyyyyyyyyyyy
iyyxyyyyyyyyyyyyyyyyyyyyyyy4807W:)5yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
iyyxyyyzyyyzyyy
Iyyxyyyzyyyzyyy
iyyxyyyzyyyzyyy1iyy-iyy
I"]Y]]Y(Y
i(yyY)))9
i|yyyDxys
iyyYhyy0hyy
iyyyhyyahyy
iyyyhyy hyy
iyyyhyy.hyy
iyyyhyy)iyy iyy
iyyyhyyphyykhyybhyy]hyyThyyOhyyFhyy1hyy(hyy#hyy
iyyyhyyqhyy
iyyyhyyQhyy7iyy7iyy7iyy7iyy7iyy7iyy7iyy7iyy7iyy7iyy?hyy(hyy
iyyyi9iyi9yyiyi
iyyyi9iyy9i
IyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
iyyyiyyy
iyyyiyyy9yyyy
iyyyiyyyIyyyy@
iyyyiyyyYyyyy
iyyyiyyyYyyyyl
iyyyiyyyyyyyyyyyyyyyyyyyyyy
Iyyyiyyyyyyyyyyyyyyyyyyyyyy
Iyyyqyyy
Iy)yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!y4#
Iyyyxyyy
iyyyy9yyyyiyiyi
|iyyyygyy
iyyyyxy36 W:)5y:)
I@yyyy]yA
	];iyyyyyiy
iyyyyyiy
Iyyyyyiy
Iyyyyyqyyyyyy
iyyyyyWH
iyy.yyyxryyy.yyypyyywyy
iyyy	yyykyyyGyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyy)yyykyyyUyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyQyyy)yyy
iyyyyyyUyyy
]iyyyyyyy
iyyyyyyy
Iyyyyyyy
iyyyyyyyhyyyyyy
iyyyyyyyhyyyyyyyyyy
iyyyYyyykyyyqyyyyyyyyyyyyyy9yy
iyyyYyyykyyyuyyyyyyyyyyyyyy9yy
iyyyyyyyyyy
Iyyyyyyyyyy
iyyyyyyyyyy0kyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyy3hyyyyyyuhyyyyyy
iyyyyyyyyyy!hyyyiyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyy[hyyyiyyyyyyyyyyyyyyyyyyyyyyohyyqhyyyyyy
iyyyyyyyyyyihyyqiyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyihyyyiyyyyyyyyyyyyyyyyyyyyyyyhyyyyyy
iyyyyyyyyyy:kyyyyyy
iyyyyyyyyyywhyyyiyyyyyyyyyyyyyyyyyyyyyyyhyyyyyy
iyyyyyyyyyyyhyyyiyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyy9yy
iyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyy
iyyyyyyyyyyyyyy1iyy4iyyyyyyyyyyyyyyyyyyyyyyyyyy
IyyyyyyyyyyyyyytHyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyysyyy
iyyyyyyyyyyyyyyyuyyy
iyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyy	H
iyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyA
iyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy:iyy9iyy#iyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[y4#
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	y4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymx4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiy4#
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywy4#
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
IyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyCx4#
IyyzHyyfHyyNHyy6Hyy
iyyzhyyQhyy6hyy
iyyzhyyQhyy)hyy
iyyzhyyQhyy:hyy
iyyZxyy!iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Iyyzyyyxyyyxyyy
IYZJHQUN[LY@GZ]HEEMYUN[LY
i@@@@@z@@A@AAac
i)))ZALEE
i)))ZALEEFKC
i)))ZALL]
I)))ZALL]
I)))ZBDvJ
iZBQCHABLQL
(?iZgfGj
IzgfG(MBRgqgg
IZgKggfG
iZ	gqgg0
)))iZ]H[]
i)))ZHDv[BvO@EL
IzHfHAH7H'H
IZHIH9H5H
IzHiHdHVHEH7H"H
i)))ZH_L]FO@EL
IzHnHeHIHLH0H7H
IzHvHoHOH2H*H'H
I)))Z]Hw[]wDwZ@LQLwJ
IZHyxby?
IzI4IIIIJ
IzI|IdIxIxI
IzIIIIJxI
IZIQHI@IeHHI
IzIxIzIyI
IzIyI|IyI
IzIzI|IyIzI
iZJ[@Y]GHDL
iZJ[@Y]GHDL@OGF]
iZJ[@Y]M@[
iZJ[@Y]M@[u
i_[[[Z[[[K[[[
I_[[[Z[[[K[[[
)))iZL@BF
i)))ZLEO
")))iZ@]LGHDL
i)))ZL]@G]L[_HE
i)))Z][L]JAKE]
izllllllllmllllOllylmU
izMgoegfG
iZNdZ[[[
:IZNLL;.(!!"*(*""""""!
i)))ZPZ]LD
iZPZ]LD]@DL
iZPZ]LDM@[
IzRSs8]SSS@SJ
I)))ZvNvEv@vJvZv[vQv[vSvDv_vMvM
Izxby254
izxhyDx1x
iZYkIkK]Qp]Z_Z
izy@qzyV
izyWhzy7hzy
IZyxoy(3II'?
IzyYHzyBHzy(Hzy
iZZkIkK]Qp]Z_Z
i)))ZZYEB
  j     
))j)))))
[[[j[[[-[[[
|||||||||||||||||j|||
||||j|||||||
j****.(**
j@@@@@@@@@
j||||||||||
j||||||||||||||||||||||||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!J
))J)))))
[[[ [[[J
[[['[[[J
[[[:[[[J
[[[?[[[J
[[[][[[J[[[
::J0g0Jg!5
J;'!!!!2!!!!!!!!!!!
"j6"8www22#"x
J9''!!''9J
JanFebMarAprMayJunJulAugSepOctNovDec
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
jcmiCompleteInformationWW
JcmiEventInstallerBeginInstallationWW
JConfigurationAnswerW@Q
JfE;0tDL
jgspackage.cpp
jgspackage.h
jgssession.cpp
jgssession.h
jgsutil.cpp
jgsutil.h
JhInprocW
JHrModifyRows
jigsaw.cpp
jigsawfile.cpp
jigsawfile.h
jigsaw.h
jigsawsftprocessor.stub.cpp
jihQSqoonnnA
jIKTTTTTTTKKKx
jitv_deployment.cpp
jitv_deployment.h
jitv_manager.cpp
jitv_runtime.cpp
jitv_runtime.h
jitv_server.cpp
!J]]]]J!
-j-j-j-jj
jjjjjjjjj
jmmmmmmmmmmmjmmP
j;;::::::::::::::::::::::::;;;P
jpapp.cpp
)JQQNNSNShhhhhhhhhYYUUUhH!
jR8c-!FB
j;;;;:::::R9
JResolutionModeWWTV
jrrlrjrjljljljb
j?SetPrimaryIdentityWW
jszVerbnameWWP-
JulPadWWW
JVhResultW
jyrrrrryrryruG
#::::::K
K32EnumProcesses
K32EnumProcessModules
K32EnumProcessModulesEx
K32GetModuleBaseNameW
K32GetModuleFileNameExW
K(8J(tUH
k8lpPropSetGuidWWW
kbad allocation
KDClassIdW
KdInitializeLibrary
kdstub.dll
KDSTUB.dll
KeepCabinet
Keep the connection open to the data sources and read data on demandWW.
KerbClientAlloc
KerbClientBuildAsReqAuthenticator
KerbClientBuildEncryptedAuthData
KerbClientBuildExplicitArmorKey
KerbClientBuildFastArmoredKdcRequest
KerbClientBuildKeyList
KerbClientBuildTicketArmorKey
KerbClientComputeTgsChecksum
KerbClientDecryptApReply
KerbClientDecryptPacCredentials
KerbClientFree
KerbClientFreeStoredCred
KerbClientIumRpcCleanup
KerbClientIumRpcInit
KerbClientPackApReply
KerbClientPackAsn1Buffer
KerbClientSharedCleanup
KerbClientShared.dll
KerbClientSharedInit
KerbClientTransformStoredCred
KerbClientUnpackAsn1BufferVoid
KerbClientUnpackKdcReplyBody
KerbClientUpdateSharedConfiguration
KerbClientVerifyChecksum
KerbClientVerifyEncryptedChallengePaData
KerbClientVerifyFastArmoredKdcReply
KerbClientVerifyFastArmoredKerbError
KerbClientVerifyFastArmoredTgsReply
KerbDHCreateBCryptKey
KerbDHGetLegacyDHParameters
KerbDHGetLittleEndianPublicKey
KerbDHGetSharedSecretFromCapiKeyBuffer
KerbECDHKeyAgreement::FinalizeKey
KerbECDHKeyAgreement::ValidateKerbAuthPack
Kerberos
KERBEROS:
KerberosBindingKey
KerbGetFlagsForKdcReply
KerbHashS4UPreauth
KerbIumAreEncryptionKeysEqual
KerbIumBuildAsReqAuthenticator
KerbIumBuildEncryptedAuthData
KerbIumBuildExplicitArmorKey
KerbIumBuildFastArmoredKdcRequest
KerbIumBuildPasswordList
KerbIumBuildTicketArmorKey
KerbIumComputeTgsChecksum
KerbIumConvertBoundEncryptionKey
KerbIumConvertCredManPasswordToKerbPassword
KerbIumCreateApReqAuthenticator
KerbIumCreateDHKeyAgreement
KerbIumCreateECDHKeyAgreement
KerbIumDecryptApReply
KerbIumDecryptFastArmoredAsReply
KerbIumDecryptFastArmoredKerbError
KerbIumDecryptPacCredentials
KerbIumDestroyKeyAgreement
KerbIumDHKeyAgreement::FinalizeKey
KerbIumEncryptPassword
KerbIumFinalizeKeyAgreement
KerbIumGetNtlmSupplementalCredential
KerbIumHashS4UPreauth
KerbIumKeyAgreementGenerateNonce
KerbIumPackApReply
KerbIumRpcInit
KerbIumRpcInitStatus
KerbIumSignPkcsMessage
KerbIumSignS4UPreauthData
KerbIumUnpackKdcReplyBody
KerbIumUpdateSharedConfiguration
KerbIumVerifyChecksum
KerbIumVerifyEncryptedChallengePaData
KerbIumVerifyFastArmoredTgsReply
KerbIumVerifyServiceTicket
KerbLookupCurveInfo
KerbPackKdcReplyWithEncryptedSessionKey
kernel32
kernel32.dll
Kernel32.dll
KERNEL32.dll
KERNELBASE.dll
keybd_event
KeyNameW
kF.)HffffTW.
K@H9H@v	H
K@H9H@w1H
kikkkkkk
KillProcessWithName
KillTimer
kkffffaa)
kkkkkkkkk
KKKKKKKKKKKK[
klist.pdb
kLlpDestFolder
KlpResWWWh
KMicrosoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator
KMJIIIIIJMM
KMMMMMMA"7EMM
KMMMMMMMMMMM
knownfolder.cpp
KnownMarshallableTypeWWW
kOptagaWWW
KProgidWWt
KqlpcbEntryIDW
KsecRpcIncomingBuffer is NULL returning from ksecdd.
ksetup.pdb
K_SPropAttrArrayIdlWW
KsssssssuuuusrHPsuuuuuuuuuuuusPsuuuuuuuuuuuuussuuuuuuuuuuu
KSSSSSSW
K SUVWATAVAWH
ktmutil.pdb
ktmw32.dll
K UAVAWH
KulAttributeW
K UVWATAUAVAWH
KValueWWW
K VATAUAVAWH
K VWATAUAVH
k VWATAVAWH
K WATAUAVAWH
        L
L1MMMMMM
L9APu!L9AHu
L9I8tSL9I(tML9I0tGL9I@tAL9IHt;L9IPt5
L9IHv38YXu'H
L9IHv8D8qXu*H
L9s8tEL;K8r?L
L9y t6fE;8t0H
L9y t#fE;8t
LabelAutoFitStyles
labelECC
	labelName
labelName
label.pdb
LabelStyle
LAdditionalArgsWW
Language
LanguageBarClicked
LanguageComponentsInstallerComHandler.pdb
LanguageIndependentPathW
LanguageL
LanguageModeDH
LanguagePack can not be created from empty localeName
LanguagePackDiskCleanupInfo
LanguagePackRemovalActivity
_LARGE_INTEGERWW
                 last character of the source file name is replaced
LastExitCode
?LastRefReleased@CMMCStrongReferences@@SA_NXZ
LastStartTime
LastUpdateTimeWW
LastWriterWins
launcher.cpp
launchrecord.cpp
launchrecord.h
LaunchSystem32Process
launchtask.cpp
launchtask.h
launchtm.pdb
LaunchWinAppInvoked
LaunchWinApp.pdb
LayoutEventArgs
LayoutEventHandler
LayoutKind
?LayoutPosProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
L!c0L!c8D
___lc_codepage_func
___lc_collate_cp_func
___lc_handle_func
LCIDToLocaleName
LCMapStringEx
LCMapStringW
LcmiEventPnpInstallerStartWaitForPnpW
LcmiInfSerializerProcessAllModelsSections
lcmiLogModuleTool
LcMLLcEHH
lcontentW
lContentW
lDomainTrusteeWWWH?
LdrAddRefDll
LdrFastFailInLoaderCallout
LdrUnloadDll
LeaveCriticalSection
Left-over characters in stream after parsing a JSON value
LegacyEapMethodConfig::ConfigBlob2Xml See method logs for details
legacyexception.h
LegacyMode
LegacyNetUXHost.pdb
LegacyUOUpdate can't be created for a UO V2 Provider
LegacyUOUpdate can't be created for USO
LegacyUOUpdate - no work scheduled for this updater
LegalCopyright
LegendCollection
legendText
LEn:N..8
Lenovo Group Ltd.
Levels of validation for an unattend fileW4
lExportListWW
lhSession
lhSessionWWW
(libOffsetWWW
license file size
LicenseManagerShellExt.pdb
LicensingDiag.pdb
LicensingUI_ActionBuyButton
LicensingUI_CommandButton
LicensingUI.pdb
LicensingUI_ShowReason
LicensingUI_Start
LicensingUI_Stop
lifetimetests.cpp
lifetimetests.h
lineNumber
linksgclient.cpp
lIReferenceWW0C
lIRepositoryW
listener.cpp
listener.h
listeneripc_c.c
listenumeratortests.cpp
listenumeratortests.h
List Export Option enumeration
ListItemsWWWL
	ListMode_FilteredWWW
list too long
List View displaying detailed view"
List View displaying filtered view
List View displaying simple list viewW"
List View Mode enumeration
List View with small icons
lj5h6sj5
lkl8lklxlkl
lkl8lklzlkl
lklxlkl8
lklylkl8
?LKResult2HRESULT@BookKeeping@@SAJ_J@Z
		L	L	L	
LLLLLLLLLD
llpModsWW
L_lpSPropTagArrayColumnsWW
lManifestResourceDependencyWW
:lMAPIOpenFormMgrIdlWW
.lmlpisV
lmmqxxXPR[
lMVguidWW
LnLnLnLnLnLnL
LnLnLnLnLnLnLn
LnLnLsLs
LNotifyNewMailWWW
LoadAcceleratorsW
LoadAsync
LoadBitmapW
load_configurations_test.cpp
LoadCursorW
LoadDllServerWWW
loadedcomponentoverridecontroller.cpp
loadedcomponentoverridecontroller.h
loadedcomponenttests.cpp
LoadForm
LoadIconW
LoadImageW
LoadInterface
LoadKeyboardLayoutW
LoadLibrary
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
LoadMenuIndirectW
LoadMenuW
LoadPerfCounterTextStringsW
loadperf.dll
LoadResource
LoadStandardOverlays
Loads the document from the specified file.WWW
LoadString
LoadStringA
LoadStringW
LoadSyncConditionsAssembly
LoadSyncProvider
loadtask.cpp
loadtask.h
LocalAlloc
localeconv
LocaleNameToLCID
localExternalFileList
localFile
LocalFileTimeToFileTime
LocalFree
localinstallationpage.cpp
LocalizationInformationW
LocalizationResourcesWWW
LocalLock
LocalMachine
localPackageFile
localProvider
Local provider is not available on Desktop Windows.
LocalReAlloc
LocalServer32
LocalSize
localSyncProviderAssemblyName
Local time conversion failed
LocalUnlock
_local_unwind
LocateXStateFeature
location
Location
Location missing
LocationNotificationWindows.pdb
locator.cpp
locator.h
locatoroverridecontroller.cpp
locator.pdb
locatortests.cpp
LockAndDismountDiskVolumes
LockAndDismountDiskVolumes2
LockAndDismountVolumeByHandle
LockAppHost.pdb
lock count
lock.cpp
LockHostingFramework.dll
LockResource
LockScreenContentServer.pdb
_Lock_shared_ptr_spin_lock
lodctr.pdb
		'logagent.EXE'
logagent.pdb
?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QEAAXXZ
_logCreationTime
Log: Failed To Get Msg From ID
LogFilePath
logfilter.cpp
logfiltertest.h
logformatter.cpp
logformatter.h
logger.h
LoggerMethod
loggingsession.h
loggingsessionut.cpp
log_helpers.hpp
LogicalId
LoginIScsiTargetW
LOGLEVEL
.(LogListenerW
logman.pdb
 || LogMessage: 
logoffInstanceMutexName
LogOffIntervalExpired
logoff.pdb
logOffTimer
logoncli.dll
LogonIdFromWinStationNameW
logonui.pdb
LogoutIScsiTarget
?_LogScheduleTask@_TaskEventLogger@details@Concurrency@@QEAAX_N@Z
LogServiceProviderId
logStream
?_LogTaskCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
?_LogTaskExecutionCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
LogToFile
logTypeW
?_LogWorkItemCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
?_LogWorkItemStarted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
logWriter
.[[[lom#
LongSourceFileNames
LongSourceFileNameSupport
LongSournceFileNameSupport
look-ahead assertion cannot be quantified
lookielook.cpp
LookupAccountNameW
LookupAccountSidW
LookupNamespaceW
LookupPrivilegeValueW
losteventsdetector.h
losteventsdetectorut.cpp
[:lower:]
lowerCaseArgs
LowerOffsetW
LpAcquireInstallationMutex
lpAction
lpAddressBookWWWd
lpAdrBookWWW
lpAdrParmsWW
lpAdviseSink
lpAllocateBuffer
lpbInstanceKeyWW
lpbinWWW
lpBuffer
lpcAdrTypesW
lpcbCollapseStateWWW
lpcbeidW
lpcbIndexWWW
lpcbWrappedEntry
lpciidWW
lpCompressedRTFStreamWWW
lpContainerListW
lpcPropNames
lpcurWWW
lpCustomPropList
lpCustomPropsWWWd
lpcValuesWWW
lpdblWWW
lpDestObjWWWX
lpEncodingWWX
lpEntryID1WW
lpEntryID2WW
lpEntryIDWWW
lpEntryListWd
lpExistingFileName
lpfButtonCallbackWWW
lpFileName
lpFilesWd
?lpFileTypeWW
lpfltWWW
lpfMessageUpdatedWWWd
lpfnDismissW@
lpguidWW
lpHierRestrictionWWW
 lpInterfaceDstWW
lpInterfaceToCopyWWW
lpInterfaceW
lpkinstall.pdb
lpksetup.pdb
LPlatSvc.exe
lplhSessionW
lplRowsSoughtWWW
lpmalloc
lpMAPIErrorW
lpMapiSup
lpMapiSupWWW
lpMessageSentWWW
lpMessageWWW 
.lpMsgListWWW
lpMsgSessWWW
lpMsgStoreWW
lpNewFileName
lpnNewRecips
lpNotificationsW
lpObject
lpObjectDstW
lpOldIDW4
lpOldParentIDWWW
lpOrigEntryW
lpOriginator
lppAdrBookWW(#
lppAdrListWW
lpParentFolderWW
.(lpParentIDWW
lppAttachWWW
lppbIndexWWWd
lppEIDNewEntryWW
lppeidWW
lppfcntW
lppFormPrintSetupWWW
lppMAPITable 5
lppMDBWW
lppMsgWWd
lppNewRecipsd
lppOptionsWW
lppProblemsWX
lppPropArrayX
lppPropAttrArrayd
lppPropAttrs
lppPropProblemsW
lppPropTagArrayW
lppPropTagsW
(lppProviderAdmin
lpppszAdrTypesWW
lppRestrictionWW
lpProgressWW
lpPropsW
lpproptagColumnsNewW
lpPropTagsWW
lpPropValsWW
lpPropWWh
lppRowsW
lppSearchPathWWW
lppServiceAdminW
lppSessionWW
lppSortCriteriaW
lppStorageOutWWWd
lppStreamWWW
lppszAWW
lppszDestTitlesW@
lppszExplicitClassWW
lppszWWW
lpptaColsWWWd
lppTNEFWd
lppUncompressedRTFStream
lppUnkTypeWW 
lppUnkWW
lppWrappedEntryW
lpRecipientTable
lpRecips
LpReleaseInstallationMutex
lpremove.pdb
lpRestrictionWWW
lPrivilegeTypeWWW
LProcessorArchitecturesWW
 lprowsetToDelete
lpSelectionW
lpSortCriteriaWW
lpSPropTagArrayWd
lpSPropValued
lpSPropValueDstW
lpSRowSetWWW 5
lpSRowWW 5
lpSSortOrderSetW
lpStoreEntryIdWW
lpStream
lpszAddressW
lpszAdrTypeW
lpszButtonTextWW
lpszCaption
lpszCaptionW
lpszClass
lpszComponentWWWx
lpszConversationIDWW
lpszDelimChar
lpszDelimCharWWW
lpszDestWellsTitleWW@
lpszDisplayNameW
lpszErrorWWWx
lpszFileName
lpszFileNames
lpszFileNamesWWWd
lpszFilePaths
[lpszFilePathsWWW
lpszFolderCommentWWW
lpszFolderNameWW
lpszHelpFileName
lpszLabels
lpszLabelsWW
lpszMessageClass
lpszMessageID
lpszMessageIDWWWd
lpszMessageType
lpszMessageTypeW
lpszName
lpszNewFolderNameWWW
lpszNewPasswordW
lpszNewProfileNameWW
lpszNoteText
lpszOldPasswordW
lpszOldProfileNameWW
lpszPassword
lpszPrefix
lpszProfileName
lpszProfileNameW
lpszSeedMessageID
lpszSeedMessageIDWWW
lpszServiceW
lpszStreamName
lpszStreamNameWW
lpszWindow
lpTblDataWWW
lpulCodepage
lpulCountWWW
#lpulDestCompsWWW@
lpulFlagsWWW
lpuliRow 5
lpulMaxW
lpulMessageStatusWWW
lpulMessageTokend
lpulMinW
lpulMoreRows
lpulNumeratorWWW
lpulOldStatusWWW
lpulResultWW
lpulRowCount
lpulRowW
lpulTableStatusW
lpulUIParamW
lpUncompressedRTFStreamW
LpValFindProp
LpValFindPropIdl
lpvButtonContext
lpvContextWW@
lpvDataW
lpvDismissContext
lpvDismissContextWWW@
lpvReserved
lpvReservedWd
lpvSupport
lpwstrNameWWL
LresultFromObject
lrgulAccessWW
-lRowCountWWW
L!s0D9s@
LsaCallAuthenticationPackage
LsaClose
LsaConnectUntrusted
LsaDeregisterLogonProcess
LsaEnumerateLogonSessions
LsaFreeMemory
LsaFreeReturnBuffer
LsaGetInterface
LsaGetLogonSessionData
LsaImpersonateKsecCaller
LsaIsoAsymmetricKeyBlob
LsaIsoBeginRpcWait
LsaIsoDecryptAsymmetricKeyBlob
LsaIsoEncryptAsymmetricKeyBlob
lsaiso.exe
LsaIso.exe
LsaIsoExit
LsaIsoInvalidArgumentsFailure
LsaIsoIumDecrypt
LsaIsoIumEncrypt
LsaIsoMgmtIumRpcInit
LsaIsoPassword
LsaIso.pdb
LsaIsoRpcRegistrationFailure
LsaIsoRpcServerListenFailure
LsaIsoRpcWaitFailure
LsaIsoStartup
LsaIso TraceLogging Provider
LsaLookupAuthenticationPackage
LsaNtStatusToWinError
LsaOpenPolicy
LsapLoadRequiredExtensions: Bad REG_MULTI_SZ size for LSA extensions value
LsapLoadRequiredExtensions: Bad REG_SZ size for LSA extensions value
LsapRmInitializeServer: Server protocol mismatch
LsaQueryInformationPolicy
LsaQueryTrustedDomainInfoByName
LsaRegisterExtension
LsaRegisterInterface
LsaRegisterLogonProcess
LsaSetInformationPolicy
LsaSetTrustedDomainInfoByName
lsass.exe
lsass.pdb
LsaStorePrivateData
lscBounceCode
l_SPropTagArrayIdlWWW
LssHsHssssHs
lstrcatW
lstrcmpA
lstrcmpiA
lstrcmpiW
lstrcmpW
lstrcpynA
lstrcpyW
lstrlenA
lstrlenW
lulRelOpW
luunniiDu
L?UUUUUUU?
lVerbWWWP-
l	wcscpy_s
]:::::::M
M9Q tMM9Q(tGM9Q0tAM9Q8t;
machinecatalogtests.cpp
machineName
MachineNameW
machinepackagegrouptests.cpp
machinepackagetests.cpp
machinestate.cpp
machinestate.h
macros.h
MagInitialize
MAGNIFICATION.dll
MagnifyChangeFocus
MagnifyChangeZoomLevel
MagnifyGetOption
MagnifyHandledTouchPan
MagnifyHandledTouchZoom
MagnifyLaunch
Magnify.pdb
MagnifyReadingStarted
MagnifyReadingStopped
MagnifySaveOption
MagnifySetOption
MagnifyShutDown
MagSetFullscreenColorEffect
MagSetFullscreenTransform
MagSetFullscreenUseBitmapSmoothing
MagSetInputTransform
MagSetLensUseBitmapSmoothing
MagSetWindowSource
MagSetWindowTransform
MagShowSystemCursor
MagUninitialize
main.cpp
main libraryWW
maintenanceApproved context is missing
MajorWWW
MakeAbsoluteSD
MakeCAB aborted.
makecab.exe
makecab.pdb
MakeCAB Variables (in order of their definition)
makediffsft.cpp
makediffsft.h
MakeIconFromBinaryWW
MakeSelfRelativeSD
Malformed array literal
Malformed comment
Malformed literal
Malformed numeric literal
Malformed object literal
Malformed string literal
Malformed token
manage-bde.pdb
ManageBDETraceLoggingProvider
managedpath.cpp
managedpath.h
managed_swexception.hpp
ManagementBaseObject
ManagementClass
ManagementObject
ManagementObjectCollection
ManagementObjectEnumerator
ManagementScope
manager context is missing
manager.cpp
manager.h
manager.hpp
manages core object modelW*
managescriptsdialog.cpp
managingauthorityfactorytests.cpp
managingauthority.h
mandatoryLabel
manifestbasedcleanup.cpp
manifestbasedcleanup.h
manifestbasedcleanuptests.cpp
manifest.cpp
manifestdocprovider.cpp
manifestdocprovider.h
manifestdocprovidertest.cpp
manifestdocument.cpp
manifestdocumentfactorymock.cpp
manifestdocumentfactorymock.h
manifestdocument.h
manifestdocumentmock.cpp
manifestdocumentmock.h
manifestdocumentnoxmlmocktests.cpp
manifestdocumentscripttests.cpp
manifestdocumentscripttests.h
manifestdocumenttests.cpp
manifestdocumenttests.h
manifesterrors.h
manifestfile.cpp
manifestfile.h
manifestfile_test.cpp
manifest.h
manifest_reader.cpp
manifest_reader.h
manifest_reader_test.cpp
Manifest resource token replacer typeW"
ManifestSearchPatternWWW
manifestutilitiesmock.cpp
manifestutilitiesmock.h
manifestutilitiestest.cpp
manifestutils.cpp
manifestutils.h
manifestutilstests.cpp
manifest_virtualization_utils.hpp
manifestxmlprocessingtest.cpp
ManualResetEvent
MapAccessWWW
MapDialogRect
MapFlags
mapi32.dll
MAPIAddress
MAPIAddressIdl
#MAPIAddressIdlWW@
MAPIAdminProfiles
MAPIAdminProfilesIdl
MAPIAllocateBuffer
MAPIAllocateMore
mapi_client.cpp
mapi_client.h
MAPICrashRecovery
MAPICrashRecoveryIdl
MAPIDeinitIdle
MAPIDeinitIdleIdl
MAPIDeleteMail
MAPIDeleteMailIdl
MAPIDeleteMailIdlWWWd
MAPIDetails
MAPIDetailsIdl
MAPIDetailsIdlWW
_MAPIERRORIdlWWWx
MAPIFindNext
MAPIFindNextIdl
MAPIFreeBuffer
MAPIGetDefaultMalloc
_MAPIINIT_0IdlWWL
MAPIInitialize
MAPIInitializeIdl
MAPIInitIdle
MAPIInitIdleIdl
MAPIInitIdleIdlW
mapi_ipc.cpp
MAPILogoff
MAPILogoffIdl
MAPILogon
MAPILogonEx
MAPILogonExIdl
MAPILogonIdl
_MapiMessageIdlW
_MapiMessageWIdl
_MAPINAMEIDIdlWWL
MAPIOpenFormMgr
MAPIOpenFormMgrIdl
MAPIOpenLocalFormContainer
MAPIOpenLocalFormContainerIdl
MAPIOpenLocalFormContainerIdlWWW
MAPIReadMail
MAPIReadMailIdl
MAPIReadMailIdlW
_MapiRecipDescWIdlWW
MAPIResolveName
MAPIResolveNameIdl
MAPIResolveNameIdlWW
MAPISaveMail
MAPISaveMailIdl
MAPISaveMailIdlWd
MAPISendMail
MAPISendMailDocuments
MAPISendMailDocumentsIdl
MAPISendMailIdl
MAPISendMailIdlW
MAPISendMailW
MAPISendMailWIdl
MAPISendMailWIdld
mapi_server.cpp
mapi_server.h
MAPIUninitialize
MAPIUninitializeIdl
mappacc.cpp
mappacc.h
mappcmd.cpp
mappcmd.h
MapStorageSCode
MapStorageSCodeIdl
MapStorageSCodeIdlWW
MapViewOfFile
MapViewOfFileEx
MapViewOfFileExNuma
MapVirtualKeyExW
MapWindowPoints
Marks external files with the external custom attributeWWWA
MarshalAsAttribute
math argument out of range
mauthorizecmd.cpp
mauthorizecmd.h
mavinject.pdb
MAXARGSLENGTH
MaxCabinetSize
maxCmdLinePkgIds
MaxDiskFileCount
MaxDiskFileSizeMBWWW81
MaxDiskSize
MaxDiskSize*
MaxEntriesFlushed
MaxEntriesStored
MaxErrors
MAXFILEPATHLENGTH
Maximizes the frameWWW
maximus_banner_img
MaximusConfigurationUtility
.MaximusConfigurationUtility.BytesTypeConverter
MaximusConfigurationUtility.DeviceEditor.resources
Maximus Configuration UtilityF
MaximusConfigurationUtility.Form1.resources
MaximusConfigurationUtility.FormRestart.resources
MaximusConfigurationUtility.Properties
MaximusConfigurationUtility.Properties.Resources.resources
MaximusConfigurationUtility.QuadroUsageMode.resources
MaximusConfigurationUtility.TeslaUsageMode.resources
MaximusQuadroDeviceIds
MaximusTeslaDeviceIds
MaxNameLength
maxRetries
maxRetry
may_postdate
MbaeParserTask.pdb
MbaeXmlParser.DLL
__mb_cur_max
___mb_cur_max_func
mblctr.pdb
_Mbrtowc
_mbsnbcnt
mbstowcs
mCategoryMembershipWW
mcbuilder.pdb
MC exception
mcmiLogLevelWarningWW
mcommand.cpp
mcommand.h
MCompressionW
MConnectToWWW
MCreateWWH
MCUStringGetter
MDEServer.pdb
MDMAgent.pdb
mdmappinstaller.pdb
MdmDiagnostics.dll
MdmDiagnosticsTool.pdb
mdres.pdb
mdsched.pdb
medialocatormanager.hpp
MemberIndex
"MembershipsW
MembersWD
memcpy_s
MementoWL
;	memmove_s
memmove_s
MemoryActual
MemoryIOUtilization
MemoryRequirement
MemoryRequirementMet
Memory Utilization
MemoryUtilization
memory_vfs_decoder.h
menuCommand
menuCommandId
MenuItem
MenuItem Interfaced
MenuSelected
Merge another configuration to this configurationW4
MergeSystemPriFiles
merrdisplay.cpp
merrdisplay.h
merrdisplay.stub.cpp
MesDecodeBufferHandleCreate
MesDecodeIncrementalHandleCreate
MesEncodeDynBufferHandleCreate
MesEncodeIncrementalHandleCreate
MesHandleFree
MesIncrementalHandleReset
MessageBeep
MessageBox
MessageBoxA
MessageBoxButtons
MessageBoxW
?MessageCallback@Element@DirectUI@@UEAAIPEAUtagGMSG@@@Z
?MessageCallback@TouchHWNDElement@DirectUI@@UEAAIPEAUtagGMSG@@@Z
	MessageOptionsWW
message size
message_size
MessageW
messageWl 
MetadataBadFieldType
metadata.cpp
metadataenumeratorfactory.cpp
metadataenumeratorfactory.h
metadata.h
metadatahandler.cpp
metadatahandler.h
metadatalistenumerator.cpp
metadatalistenumerator.h
MetadataMissingField
metadatatreeenumerator.cpp
metadatatreeenumerator.h
MethodCountW
method DiscoverWWW
method ExpandEnvironmentVariablesW
method FinalizeWWW
method FreeSurrogateWW
method GatherW
method GetOfflineFileLocationW!
method GetOfflineRegistryLocationExWWW
method GetOfflineRegistryLocationW#
method GetOfflineStatusWWW
method IsCanceledW
method IsHostAlive
method LoadDllServerWW
method LongRunningPluginWW
method MapSourceFileLocationWW"
MethodNameWW
method PostApplyWW
method PostGatherWC
method PreApplyWWW
method PreGatherWW
method ReportToUserWWW
method ResetPluginTimerWWW
method SendLogMessageW
method SetTelemetryDataPointWW
method UsersMigratingThisComponent
-MEUyphm
MFAllocateWorkQueueEx
MFC42u.dll
MFCalculateImageSize
MFCancelWorkItem
MFCopyMFMetadata
MFCopyStreamMetadata
MFCORE.dll
MFCreateAsyncResult
MFCreateAttributes
MFCreateMediaType
MFCreateMemoryBuffer
MFCreateMFByteStreamOnIStreamWithFlags
MFCreateMFByteStreamOnStream
MFCreateMFMetadataOnPropertyStore
MFCreateNetVRoot
MFCreatePMPHost
MFCreateReusableByteStream
MFCreateSample
MFCreateSourceResolver
MFCreateSourceResolverInternal
MFCreateStreamOnMFByteStream
MFCreateTelemetrySession
MFCreateWinMDEOpCenter
MFGetCallStackTracingWeakReference
MFGetStrideForBitmapInfoHeader
MFGetSystemTime
mfilesystemcmd.cpp
mfilesystemcmd.h
MFInvokeCallback
MFllMulDiv
MFLockPlatform
MFPlat.DLL
MFPMP.pdb
MFPutWaitingWorkItem
MFPutWorkItem
MFShutdown
MFStartup
MFUnlockPlatform
MFUnlockWorkQueue
MFUnwrapMediaType
mGDirectoryWWW
mGmGG1E*
mGmGmGmG
m_handle
mhelpcmd.cpp
mhelpcmd.h
m_hResult
microsoft:artistAlbumArtist
microsoft:artistConductor
microsoft:artistPerformer
microsoft:authorComposer
microsoft:authorOriginalLyricist
microsoft:authorWriter
                 Microsoft Cabinet SDK for information on directive_file.
Microsoft Code Signing PCA 2010
Microsoft Code Signing PCA 20100
Microsoft Corporation
Microsoft Corporation0
Microsoft Corporation1
Microsoft Corporation1)0'
Microsoft Corporation1;09
Microsoft Corporation1200
Microsoft Corporation1806
MicrosoftEdgeCP.pdb
MicrosoftEdgeSH.pdb
microsoft:fileIdentifier
microsoft:folderPath
Microsoft.Geolocation.Service
Microsoft.Geolocation.Service.PII
Microsoft.Geolocation.Triage
Microsoft Management Console 2.0WW
 Microsoft Operations Puerto Rico1
microsoft:playOrder
)Microsoft Root Certificate Authority 20100
*Microsoft (R) Windows (R) Operating System
microsoft:serviceProvider
microsoft:sourceUrl
"Microsoft Time Source Master Clock0
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
Microsoft.Uev.Common
Microsoft.Uev.CommonBridge.dll
Microsoft.Uev.Common.SyncStatusEvents
Microsoft.Uev.Common.UevTestEvents
Microsoft.Uev.CscUnpinTool.pdb
Microsoft.Uev.ManagedEventLogging
Microsoft.Uev.Sync
Microsoft.Uev.SyncCommon
Microsoft.Uev.SyncController
Microsoft.Uev.SyncController.exe
Microsoft.Uev.SyncController.pdb
Microsoft.Uev.Sync.Properties
Microsoft.Uev.Sync.Properties.Resources.resources
Microsoft.Uev.Sync.SyncForm.resources
microsoft:userEffectiveRating
microsoft:userEffectiveRatingInStars
microsoft:userRating
microsoft:userRatingInStars
Microsoft.Win32
Microsoft.Win32.SafeHandles
Microsoft Windows0
Microsoft.Windows.App.Browser
Microsoft.Windows.App.Browser.Aggregate
Microsoft.Windows.App.Browser.Diagnostics
Microsoft.Windows.AppMan.UEV
Microsoft.Windows.BackupAndRoaming.SyncEngine
Microsoft.Windows.CellCore.Provisioning.ParserTask
Microsoft.Windows.Defender
Microsoft.Windows.Desktop.TextInput.BopomofoIme
Microsoft.Windows.Desktop.TextInput.ChsIme
Microsoft.Windows.Desktop.TextInput.ImeCommon
Microsoft.Windows.Desktop.TextInput.InputSwitch
Microsoft.Windows.Desktop.TextInput.JapaneseIme
Microsoft.Windows.DeviceManager.DiagnosticsTool
Microsoft.Windows.EMPS.Enrollment
Microsoft.Windows.EnterpriseDesktopAppManagement
Microsoft.Windows.EnterpriseManagement.Enrollment
Microsoft.Windows.EnterpriseManagement.MDMPush
MicrosoftWindowsFileExplorer
Microsoft.Windows.HVSI.PolicyEvaluator
Microsoft.Windows.HyperV.Hypervisor.Diagnostics
Microsoft.Windows.LanguagePackDiskCleanup
Microsoft.Windows.Licensing.LicensingUI
Microsoft.Windows.Magnifier.Asimov
Microsoft.Windows.Mapi.MMGA
Microsoft.Windows.MediaFoundation.CallStack
Microsoft Windows Publisher0
Microsoft.Windows.Security.BCryptIum
Microsoft.Windows.Security.Kerberos
Microsoft.Windows.Security.Ntlm
Microsoft.Windows.Security.SmartCards.TpmVscMgrServerImmersive
Microsoft.Windows.Settings.Accessibility
Microsoft.Windows.TlgAggregateInternal
Microsoft.Windows.Update.Orchestrator.Decisions
Microsoft.Windows.Update.Orchestrator.Worker
Microsoft.Windows.Update.Orchestrator.WuProvider
Microsoft.Windows.Wil.FeatureLogging
microsoft:year
__MIDL___MIDL_itf_mmgaserver_0000_0000_0001W
__MIDL___MIDL_itf_mmgaserver_0000_0000_0002W
__MIDL___MIDL_itf_mmgaserver_0000_0000_0003Wl
__MIDL___MIDL_itf_mmgaserver_0000_0000_0004W
__MIDL___MIDL_itf_mmgaserver_0000_0000_0006W
MigHost: CMigPluginSurrogate::COMGenericThreadingHostThreadProc: LoadAndRegisterServerInThreadContext() succeeded.
MigHost: CMigPluginSurrogate::Init: Successfully initialized surrogate.
MigHost: CMigPluginSurrogate::WaitForHostTermination: Parent process unexpectedly exited. Terminating host.
MigHost: Exiting process.
MigHost: Failed to register interfaces and type info. Exiting process.
MigHost: Initialization completion event name has not been specified.
MigHost: Parent process ID has not been specified.
mighost.pdb
Migrate and overwrite the destination with sourceW?
Migrate and rename if a collision is detectedW
MigrateCacheForCurrentUser
Migrate only if element or object is missing on the destinationWWW-
migrateuser.cpp
migrateuser.h
Migrate using default conflict resolution rulesWWW
MigrateW
MigrationIncludeInformationWL6
MigrationPattern
MigrationPluginW@8
mimeserver.cpp
mimeserver.h
mimetype.cpp
mimetype.h
mimeutil.cpp
MinEntriesFlushed
MiniDumpWriteDump
minidumpwriter.cpp
minidumpwriter.h
Minimize@
minimumConfidence
minimumDuration
m	?Initialize@NativeHWNDHost@DirectUI@@QEAAJPEBG0PEAUHWND__@@PEAUHICON__@@HHHHHHPEAUHINSTANCE__@@I@Z
minutesSinceFederatedScanFailure
MinutesSinceFederatedScanFailure
minutesSinceFirstPendingReboot
Mismatched braces
mismatched parenthesis
Missing destination file name
missing export on dll
missingfilespage.cpp
Missing parameter name
Missing required v4 functions
Missing required v6 functions
Missing source file name
MJIIIIIJMK
mkdiffpkg.cpp
MLANG.dll
M;lppPropNamesX
mmcbase.DLL
MMCCustoH9
?MMCErrorBox@@YAHII@Z
?MMCErrorBox@@YAHPEBGI@Z
?MMCErrorBox@@YAHPEBGVSC@mmcerror@@I@Z
?MMCErrorBox@@YAHVSC@mmcerror@@I@Z
MMC Internal Web Browser event sink 1.0 Type LibraryWW
MMCInternalWebOcxWWW
?MMCNullInterface@BookKeeping@@SAXHPEBG0@Z
MMC_PickIconDlg
MMCUpdateRegistry
mmgaserver.pdb
MMGAServerSetup
MMJJJJJJJMMMK
]]mmm];0
mmmmmjmmP
mmmmmmGm
MMMMMMMMMMM.LL
MMMMMMMMMMMM
MMMMqMMqqqqD
mnnmnmnmmmmmmmmmmmnnm8
MobileNetworking.dll
mobjectcmd.cpp
mobjectcmd.h
mobsync.pdb
mock_activity_data_cache.hpp
mockactivitydatacachemanagerplus.cpp
mockactivitydatacachemanagerplus.h
mockactivitymanager.cpp
mockactivitymanager.h
mockapi.cpp
mockapi.h
mockapplicationinformationwrapper.h
mockapplicationinfostore.cpp
mockapplicationinfostore.h
mockassetintelligencewrapper.h
mockbackupstore.cpp
mockbackupstore.h
mockbase64encoding.cpp
mockbase64encoding.h
mockcachedregistry.cpp
mockcachedregistry.h
mockcachemanager.cpp
mockcachemanager.h
mock_catalog.h
mockcatalogplus.cpp
mockcatalogplus.h
mockcleanupmodule.h
mockclientapi.cpp
mockclientapi.h
mockclientcatalog.cpp
mockclientcatalog.h
mockclientcomponent.cpp
mockclientcomponent.h
mock_client_component.hpp
mockclientconfiguration.cpp
mockclientconfiguration.h
mockclienteventsink.h
mockclienthost.cpp
mockclienthost.h
mockclientmanager.cpp
mockclientmanager.h
mockclientsession.cpp
mockclientsession.h
mockclientsessionlist.cpp
mockclientsessionlist.h
mockclientsessionlistplus.cpp
mockclientsessionlistplus.h
mockclientsessionplus.cpp
mockclientsessionplus.h
mockcommandlineparser.h
mockcompackagerbinder.cpp
mockcompackagerbinder.h
mockcompackager.h
mockcompackagerreader.cpp
mockcompackagerreader.h
mockcompackagerwriter.cpp
mockcompackagerwriter.h
mockcomponentloader.cpp
mockcomponentloader.h
mockcomponentlocator.cpp
mockcomponentlocator.h
mock_controller.h
mockcontrollerinternal.cpp
mockcontrollerinternal.h
mockcontrollerplus.cpp
mockcontrollerplus.h
mockcontrollerrequestplus.cpp
mockcontrollerrequestplus.h
mockcontrollerrequests.cpp
mockcontrollerrequests.h
mock.cpp
mockcswatcher.h
mock_data.hpp
mockdataretriever.h
mockdirectorydaclmanager.hpp
mockdocumentstoreenumerator.cpp
mockembeddedscriptparser.cpp
mock_endpoint_mapper.cpp
mockevents.h
mockexception.cpp
mockfileserverpackage.cpp
mockfileserverpackageversion.cpp
mock_folder_redirection_task.cpp
mockgetserverconfigimpl.h
mock.hpp
mockhttpresource.cpp
mockhttpresource.h
mock_impersonator.cpp
mockimpersonator.cpp
mockintegrationmanager.cpp
mockintegrationmanagerfactory.cpp
mockintegrationmanagerfactory.h
mockintegrationmanager.h
mock_io_operations.cpp
mock_io_operations.h
mockisvhost.cpp
mockisvhost.h
mockmachinecatalogplus.cpp
mockmachinecatalogplus.h
mockmachinepackagegroupplus.cpp
mockmachinepackagegroupplus.h
mockmanifest.cpp
mockmanifestdocument.cpp
mockmanifestdocumentfactory.cpp
mockmanifestdocumentfactory.h
mockmanifestdocument.h
mockmanifestdocumentplus.cpp
mockmanifestdocumentplus.h
mock_manifest.hpp
mock_manifest_reader.h
mock_notification_listener.hpp
mock_notification_listener_imp.hpp
mocknotificationlistenerplus.cpp
mocknotificationlistenerplus.h
mocknotificationmanager.cpp
mocknotificationmanager.h
mock_notification_order_manager.hpp
mock_ownership_man.cpp
mock_ownership_man.h
mock_ownership_store.cpp
mockownershipstore.cpp
mock_ownership_store.h
mockownershipstore.h
mock_package_config_manager.hpp
mockpackageconfigmanagerplus.cpp
mockpackageconfigmanagerplus.h
mockpackagegroupdescriptordocument.cpp
mockpackagegroupdescriptordocument.h
mockpackagegroupdescriptordocumentimpl.cpp
mockpackagegroupdescriptordocumentimpl.h
mockpackagegroupdescriptordocumentplus.cpp
mockpackagegroupdescriptordocumentplus.h
mockpackagegroupdescriptorfactory.cpp
mockpackagegroupdescriptorfactory.h
mockpackagegroupdescriptor.hpp
mockpackageinformationwrapper.h
mockpackagemachinedocumentimpl.cpp
mockpackagemachinedocumentimpl.h
mockpackagemachinepolicydocument.cpp
mockpackagemachinepolicydocument.h
mockpackagemachinepolicyfactory.cpp
mockpackagemachinepolicyfactory.h
mockpackagepathmanager.hpp
mockpackagerwriter.h
mockpackagestore.hpp
mockpackageuserdocument.cpp
mockpackageuserdocumentimpl.cpp
mockpackageuserdocumentimpl.h
mockpackageuserpolicydocument.cpp
mockpackageuserpolicydocument.h
mockpackageuserpolicyfactory.cpp
mockpackageuserpolicyfactory.h
mockpathresolver.h
mockpendingtaskmanager.cpp
mockpendingtaskmanager.h
mockperformancecounterreader.h
mockpolicydocument.cpp
mockpolicydocument.h
mockpolicyidmgr.cpp
mockpolicyidmgr.h
mockprocesslauncher.h
mock_process_terminator.cpp
mock_process_terminator.h
mock_procutils.h
mockpublishclient.hpp
mockpublishingconfigurations.h
mockpublishingoperation.h
mockpublishserver.hpp
mockregistryaccess.h
mockreportingqueue.cpp
mockreportingqueue.h
mockscheduledtaskmanager.cpp
mockscheduledtaskmanager.h
mocks.cpp
mockscriptbuilder.cpp
mockscriptbuilder.hpp
mockscriptlauncher.hpp
mockscriptmanager.hpp
mockserverrecord.cpp
mockserverrecord.h
mock_service_config_reader.h
mocksettingmanager.cpp
mocksettingmanager.h
mock_shell_refresh_subsystem_registrator.hpp
mockshortcutmanifestinterface.cpp
mockshortcutmanifestinterface.h
mocks.hpp
mockstatemanager.h
mockstoreutils.cpp
mockstoreutils.h
mockstreaminguxprocessapi.h
mockstreaminguxprocess.h
mocksubscriber.cpp
mocksubscriber.h
mocksubsystemcommand.h
mock_subsystem_finder.h
mock_subsystem.h
mocksubsystempackager.h
mocksubsystemregistrator.h
mockswfileutil.h
mock_swrpcserver.cpp
mocktransaction.h
mocktransactionscheduler.cpp
mocktransactionscheduler.h
mocktransport.h
mockusercatalogplus.cpp
mockusercatalogplus.h
mockuserinfo.cpp
mockusermanager.cpp
mockusermanager.h
mockuserpackagegroupplus.cpp
mockuserpackagegroupplus.h
mockutilities.cpp
mockutilities.h
mock_vfs_runtime_configuration_loader.cpp
mock_virtual_environment_manager.h
mockvirtualenvironmentutils.cpp
mockvirtualenvironmentutils.h
mockvirtualenvironmentutils.hpp
mockvirtualenvironmentutilsplus.cpp
mockvirtualenvironmentutilsplus.h
mockvirtualservicesreader.cpp
mockvirtualservicesreader.h
mock_vreg_token_generator.cpp
mock_vreg_token_generator_results.cpp
mock_vreg_token_generator_results.h
mock_xml_fta_schema.h
mockxmlutils.cpp
mockxmlutils.h
modelCabFileName
modelCountInPayload
ModelDownloadActivity
ModelDownloadSkipped
modelFirstTimeUpdated
ModelJsonParsingActivity
ModelUpdateActivity
ModelUpdaterStatus
Model Validation
ModelVerificationActivity
ModifyMenuW
ModuleCollection
module failed to load
modulePath
modules that do not fall into the following itemsW
ModulesW
ModuleWW
MonitorFromPoint
MonitorFromRect
MonitorFromWindow
monitoringsessionsavedstate.cpp
monitorMode
monitorSyncProviderAssemblyName
mooooonooooonnononnmn
Morrisville1
mountvol.pdb
?MouseWithinProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
MoUsoCoreWorker.exe
MoUsoCoreWorker.pdb
MoUsoCoreWorkerRunning
MoveElementToWWW
MoveFileA
MoveFileEx
MoveFileExW
MoveFileFlags
movefile_tests.cpp
MoveMessageW
MoveNext
Move the repository to the new rootWWW-
MoveToEx
MoveWindow
mpackagecmd.cpp
mpackagecmd.h
MpConfigClose
MpConfigGetValue
MpConfigInitialize
MpConfigOpen
MpConfigSetValue
MpConfigUninitialize
MpGetEngineVersion
MPH9]XvGH
mpMsgClassArrayWW
mpnnnrr6ODUoWqqW:
mpnotify.pdb
MpSigStub.exe
MpSigStub.pdb
MPSPMPSZ
MpUpdateEngine
MpUpdatePlatform
m:::::::R
mrooooopooooooooooop6
mrymD2B6BFGig6  
MSASN1.dll
mscoree.dll
mscorlib
MSCTF.dll
mservercmd.cpp
mservercmd.h
msgbox.cpp
msgbox.h
MsgWaitForMultipleObjects
msilogconfig.cpp
msilogconfig.h
msIso.dll
msUpdateServiceOnly
msvcp110_win.dll
msvcp_win.dll
msvcrt.dll
MsvpCompareCredentials
MsvpCredentialToCachePasswords
MsvpDecryptDpapiMasterKey
MsvpDeriveSecureCredKey
MsvpGMSACred
MsvpLm20GetNtlm3ChallengeResponse
MsvpMakeSecretPasswordNT5
MsvpPasswordValidate
MsvpPutClearOwfsInPrimaryCredential
MsvpUpdateSharedConfiguration
MsvpValidateSupplementalCredsBuffer
msystemcmd.cpp
msystemcmd.h
MTAThreadAttribute
mtimeWWW
Mto3(444
_Mtx_current_owns
_Mtx_destroy_in_situ
_Mtx_init_in_situ
_Mtx_lock
_Mtx_trylock
_Mtx_unlock
mtypecmd.cpp
mtypecmd.h
muiResourceFileName
muliInstWd
MultiByteToWideChar
MulticastDelegate
MultiInstanceCheck
multiloadtask.cpp
multiloadtask.h
MultipleInstanceOfImeBroker
Multiple local machine checks...rebooting...
multirangehttprequestprocessor.cpp
multirangerequestprocessor.cpp
muoptin.cpp
muoptin.h
mutex.cpp
mutualauth.cpp
mUXttttXmzyyyyy
*MVbinWWWt
@MVfltWWW
MVszAWWW
MXN94)tXH
myseqlog.cpp
myseqlog.h
myxmldocument.cpp
myxmldocument.h
??????n??
N0D8_	uPH
N0RW[2N 
name_canonicalize
namemapper.h
namemappers.cpp
namemappers.h
namemappers_mock.cpp
namemappers_mocks.h
namemappers_test.cpp
namespace.cpp
namespacefactory.cpp
namespace.h
namespace_impl.cpp
namespace_impl.h
namespace_impl_mock.cpp
namespace_impl_mock.h
" NamespaceUri
?name@type_info@@QEBAPEBDXZ
nan(ind)
NAN(IND)
nan(snan)
NAN(SNAN)
NativeMethods
nativepackagingsubsystemfactory.cpp
nativepackagingsubsystemfactorytests.cpp
nativepackagingsubsystem.h
nativesubsystemprovidertests.cpp
Navigates to the next view
Navigates to the previous view
nBufferMax
ncmiRebootRequiredWWW
NCmiResolutionModeWWWDH
'nComponentIdentityWWW
???n?D??
n D9fPu?
NDllGetClassObject
NdrClientCall3
NdrMesTypeAlignSize3
NdrMesTypeDecode3
NdrMesTypeEncode3
NdrServerCall2
NdrServerCallAll
nEditFields
nEditFieldsW
NeedApply
need dictionary
needReboot
NeedReboot
Nesting too deep
NETAPI32.dll
NetApiBufferFree
.NET Framework 4.5
.NET Framework 4 Client Profile)
NetGetJoinInformation
NetServerGetInfo
NetShow ISAPI Log Dll
nettraffictask.cpp
netutils.dll
network down
network_down
NetworkInterface
network reset
network_reset
network unreachable
network_unreachable
newappdlg.cpp
NewASBase
NewASDelta
NewAVBase
NewAVDelta
newdev.dll
NewEntry
?_New_Locimp@_Locimp@locale@std@@CAPEAV123@AEBV123@@Z
NewMessageWW
NewMpEngine
NewNameWL
NewNISBase
NewNISEngine
NewNISFull
NewNodes
newOptions
NewPathW
NewPlatform
NewRootPathW
NewVersionWW
NewWindowWWW
nextAction
_nextafter
nFileCountWWX
NInitializeWW
N!IsPartialWWW
nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-nkj-khg ife
NkpSavedReferenceTime
N@LcCLE3
nLnLnLnLnL
N!LockRegionWW
?@NMMMM7
?n?n????
@NNNjNNNjNjN1P
nnnnnnnnjjjjP
nnnnnnnnnP
NNNQNPQPQ
nnSpecialType
(no args)
No ATR available
no buffer space
no_buffer_space
no child process
no child processes
nodecountervisitor.cpp
_NodesWWW
NodetypeL
 noexcept
No exception data available
 NOFORCESNOOP 
nofs.cpp
no info available for this localeName
NoInheritableWWWl
NoInheritWWW
No language type defined!
no lock available
no message
no message available
No namespaceWW 
No OS product present.
No products present.
no protocol option
no_protocol_option
No reboot is requiredW
NoRemove
	NoRemove AppID
	NoRemove CLSID
    NoRemove CLSID
NoRepositoryPathException
North Carolina1
no space on device
no state
no stream resources
no such device
no such device or address
no such file or directory
no such process
not a directory
not a socket
not_a_socket
not a stream
not connected
not_connected
not enough memory
notepad.cpp
No TGT was cached...attempting to refresh.
 *    Nothing
_NOTIFICATIONIdl
notification_listener.h
notification_listener_impl.cpp
notification_listener_impl.h
notificationlistenertest.cpp
notificationmanager.cpp
notificationmanager.h
notificationmanagertests.cpp
notification_order_manager.h
notification_order_manager_impl.cpp
notification_order_manager_impl.h
notificationordermanagertests.cpp
notifier_manager.hpp
notifier_manager_test.cpp
notifier_process.hpp
NotifyPropertyChanged
notify_shell_session.hpp
NotifyShellToUploadSettingsData
NotifyUILanguageChange
NotifyWinEvent
Not in transaction
NotMaximusSystemError
Not-null check failed: Blob
Not-null check failed: String
Not showing the icon
not supported
Not supported
NotSupportedException
Not supported to authenticate challenge
Not supported to deauthenticate the role
Not supported to get challenge
November
Now re-enter password to confirm: 
nPositionWWWX
NPPasswordChangeNotify
_nppFormPropArrayW
nPPPPWWWWPn
nPropIDW
;n;R););));)
nRecipCountW
nRevertWW
NrFn@iWZ
NSEC3PARAM
NsiAllocateAndGetTable
NsiFreeTable
NsiGetAllParameters
NsiSetAllParameters
nStringTableEntry
 NSUSUSUSSU
NtAcceptConnectPort
ntainterface.h
NtAllocateVirtualMemory
NtCompleteConnectPort
NtConnectPort
NtCreateEvent
NtCreatePort
NtDeviceIoControlFile
ntdll.dll
NtDuplicateToken
NtEnumerateTransactionObject
NtFreeVirtualMemory
ntfstofsmetadataconverter.hpp
NtGetContextThread
NtGetMUIRegistryInfo
NtIsUILanguageComitted
NtListenPort
NtlmFailure
NtlmHash
NtlmIumCalculateNtResponse
NtlmIumCalculateUserSessionKeyNt
NtlmIumCompareCredentials
NtlmIumComparePasswordToProtectedPassword
NtlmIumConvertCredManPasswordToSupplementalCredential
NtlmIumDecryptDpapiMasterKey
NtlmIumGetContext
NtlmIumGetCredentialKey
NtlmIumIsGMSACred
NtlmIumLm20GetNtlm3ChallengeResponse
NtlmIumMakeOwfsFromIumEncryptedPassword
NtlmIumMakeOwfsFromIumSupplementalCredential
NtlmIumMakeSecretPasswordNT5
NtlmIumPasswordValidateInteractive
NtlmIumPasswordValidateNetwork
NtlmIumProtectCredential
NtlmIumProtectSspCredentialPassword
NtlmIumRpcCleanup
NtlmIumRpcInit
NtlmIumUpdateSharedConfiguration
NtlmRootSecret
NtlmShared.dll
NtlmSharedInit
NtlmStrongCredentialKey
NtlmSuccess
NtlmSuppCred
NtMapViewOfSection
NtOpenEnlistment
NtOpenEvent
NtOpenFile
NtOpenResourceManager
NtOpenThreadToken
NtOpenTransaction
NtOpenTransactionManager
NtPowerInformation
NtProtectVirtualMemory
NtQueryInformationEnlistment
NtQueryInformationFile
NtQueryInformationProcess
NtQueryInformationThread
NtQueryInformationToken
NtQueryInformationTransaction
NtQueryInformationTransactionManager
NtQueryKey
NtQueryLicenseValue
NtQuerySecurityPolicy
NtQuerySystemInformation
NtQuerySystemInformationFailure
NtQueryVirtualMemory
NtQueryVolumeInformationFile
NtQueryWnfStateData
NtransportStringTypeW
NtReplyWaitReceivePort
NtRequestWaitReplyPort
NtSetEvent
NtSetInformationFile
NtSetInformationProcess
NtSetInformationThread
NtSetSecurityObject
NtSetVolumeInformationFile
NtStatus
NtUpdateWnfStateData
NtWriteVirtualMemory
N(u7bck(W
nullusercatalog.cpp
nullusercatalog.h
NumAllocationFailures
numAttempt
NumberOfBytesWWW
NumberOfFavoritesRoamed
numberOfPackageIds
NumBucketLimitReached
NumFlushes
NumLargeEventFailures
NvCplProcessName
NVIDIA Corporation
Nvidia Corporation0
Nvidia Corporation1
 NVIDIA Corporation 2012
nvmlDeviceGetComputeMode
nvmlDeviceGetCount
nvmlDeviceGetDriverModel
nvmlDeviceGetEccMode
nvmlDeviceGetHandleByIndex
nvmlDeviceGetMemoryInfo
nvmlDeviceGetName
nvmlDeviceGetPciInfo
nvmlDeviceGetUtilizationRates
nvmlDeviceGetUUID
nvmlDeviceSetComputeMode
nvmlDeviceSetDriverModel
nvmlDeviceSetEccMode
nvml.dll
nvmlErrorString
nvmlInit
NvmlInitializationError
nvmlInitialized
nvmlShutdown
nvmlSystemGetDriverVersion
nvmlSystemGetNVMLVersion
N(VVVVVVVVS
n:VZZZZLK
nXL9nPt8D
O0CreationTime
O8o6Y]Yf4
O9eS_MR	
_o___acrt_iob_func
_o_atan2
_o__beginthreadex
object_hooks.cpp
object_hooks.h
ObjectToUninstallWWW8J
ObjectTypeWW
.ObjectWW
OB restore failure
_o__callnewh
_o_calloc
Occurs before the document is destroyedWWW
Occurs when a context menu item is executedWWW'
Occurs when application is closedW
Occurs when a snapin is addedW!
Occurs when a toolbar button is clickedWWW.
Occurs when a view is addedWWW!
Occurs when document is opened'
Occurs when one or more list items are updated
Occurs when the snapin is removedW
Occurs when the view is destroyedWN
_o__cexit
OcmiCategoryDependencyWWWd
_o__configthreadlocale
_o__configure_narrow_argv
_o__configure_wide_argv
_o__create_locale
_o__crt_atexit
O@D8q(t"H
_o__errno
_o__exit
_o_fclose
 OFFERROOTVSM 
office_interface.cpp
office_streaming_manager.cpp
office_streaming_manager.h
OfflineFilesQueryStatus
OfflineInstallWWx
OfflineTimestampExists
OfflineW
_o_fflush
OffsetRect
||offZZZJj
_o_fgetc
_o_fgetpos
_o_fgetwc
oFlagsWWW
_o_fputc
_o_fputwc
_o_fread
_o__free_locale
_o__fseeki64
_o_fsetpos
_o_fwrite
_o__get_errno
_o__get_initial_wide_environment
_o__get_narrow_winmain_command_line
_o__get_stream_buffer_pointers
_o__get_wide_winmain_command_line
_o__hypot
_o__i64toa_s
_o__i64tow_s
OIMsgServiceAdmin2TypeWWW
_o__initialize_narrow_environment
_o__initialize_onexit_table
_o__initialize_wide_environment
_o__invalid_parameter_noinfo
_o__invalid_parameter_noinfo_noreturn
_o_iswalnum
_o_iswdigit
_o_iswspace
ok_as_delegate
OkCancel
_o____lc_codepage_func
OldASBase
OldASDelta
OldAVBase
OldAVDelta
oldcatalogmanager.cpp
oldcatalogmanager.h
OldMpEngine
OldNISBase
OldNISEngine
OldNISFull
oldOptions
OldPlatform
OldUsoUpdate::AcceptEula
OldUsoUpdate::ApproveForOptionalInstall
OldUsoUpdate::get_Categorization
OldUsoUpdate::get_Deadline
OldUsoUpdate::get_EulaAccepted
OldUsoUpdate::get_EulaText
OldUsoUpdate::GetExProperty
OldUsoUpdate::get_InstallSize
OldUsoUpdate::get_LastDeploymentChangeTime
OldUsoUpdate::get_MaxDownloadSize
OldUsoUpdate::get_MinDownloadSize
OldUsoUpdate::get_MoreInfoUrls
OldUsoUpdate::get_SupportUrl
OldUsoUpdate::IsApprovedForOptionalInstall
OldUsoUpdate::SetExProperty
_OldVersionMaxWWW
OldVersionWW
ole32.dll
OLEACC.dll
OLEAUT32.dll
OleInitialize
OleLockRunning
OleUninitialize
_o__localtime64_s
_o__lock_file
_o__ltow_s
omadmapi.dll
OmaDmInitiateSessionEx failed
OmaDmRegistryGetDWORD
OmaDmRegistryGetString
_o_malloc
_o_mbstowcs_s
_o_memcpy_s
_o__mktime64
OnActivateNextWW
OnChange
OnClosed
OnClosing
?OnCompositionChanged@HWNDElement@DirectUI@@UEAAXXZ
OnContextMenuExecutedWWW
?OnDestroy@Element@DirectUI@@UEAAXXZ
?OnDestroy@TouchHWNDElement@DirectUI@@UEAAXXZ
OnDocumentCloseW
OnDocumentOpenWW
OneSettingsModelPayloadFailure
OneTimeSSFApplyFailure
OneTimeSSFDownloadAllSettingsCompleted
OneTimeSSFDownloadTryTimeLimitExceeded
?OnEvent@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@TouchHWNDElement@DirectUI@@UEAAXPEAUEvent@2@@Z
OneXMapEAPHostInteractiveUIToOneXUIResponse
?OnGetDlgCode@HWNDElement@DirectUI@@UEAAXPEAUtagMSG@@PEA_J@Z
?OnGroupChanged@Element@DirectUI@@UEAAXH_N@Z
?OnGroupChanged@HWNDElement@DirectUI@@UEAAXH_N@Z
?OnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnImmersiveColorSchemeChanged@HWNDElement@DirectUI@@UEAAXXZ
?OnInput@Button@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Element@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@TouchHWNDElement@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnKeyFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnKeyFocusMoved@TouchHWNDElement@DirectUI@@UEAAXPEAVElement@2@0@Z
OnlineEnvironmentWWW
OnListUpdatedWWW
OnLogOffTimerFired
?OnLostDialogFocus@Button@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
?OnMessage@NativeHWNDHost@DirectUI@@UEAAJI_K_JPEA_J@Z
OnMeteredNetworkException
?OnMouseFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
	OnNewViewWWW
?OnNoChildWithShortcutFound@HWNDElement@DirectUI@@UEAAXPEAUKeyboardEvent@2@@Z
OnNotify
?OnPropertyChanged@Button@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@TouchHWNDElement@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
OnQuitWW
?OnReceivedDialogFocus@Button@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
OnSnapInAddedWWW
OnSvcCtrlHandlerEx
OnSvcExit
OnSvcInit
Ontario1
?OnThemeChanged@HWNDElement@DirectUI@@UEAAXPEAUThemeChangedEvent@2@@Z
OnToolbarButtonClickedWW
?_OnUIStateChanged@TouchHWNDElement@DirectUI@@MEAAXGG@Z
?OnUnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
OnViewChange
OnViewCloseW
?OnWmSettingChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
?OnWmThemeChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
oobeApproved
OOBEComplete
OobeUpdates
oojjjopoUPp
oostest.cpp
oostest.h
op_Addition
_o___p___argc
opcheck.cpp
opcheck.h
_o___p__commode
_o___pctype_func
OP_DELEGATEW
OP_DELETEWWW
]OpenAddressBookW
OpenAttachWW
OpenBaseKey
OpenDisk
OpenEnlistment
OpenEntryWWW
OpenEventA
OpenEventW
OpenExisting
OpenFileMappingW
OpenGlobalizationUserSettingsKey
OpenIMsgOnIStg
OpenIMsgOnIStgIdl
OpenIMsgOnIStgIdlWWW
OpenInputDesktop
OpenJobObjectW
OpenMsgStore
OpenMutexW
_open_osfhandle
OpenProcess
OpenProcessToken
OpenResourceManager
OpenSCManagerW
OpenSemaphoreW
OpenServiceW
opens the repository for reading or writingWWW
OpenStorageW
OpenStreamOnFile
OpenStreamOnFileIdl
OpenStreamOnFileIdlW
OpenStreamOnFileW
OpenStreamOnFileWIdl
*OpenStreamOnFileWIdld
OpenSubKey
OpenThemeData
Open the repository at the specified root path
OpenThread
OpenThreadToken
OpenTnefStream
OpenTnefStreamEx
OpenTnefStreamExIdl
OpenTnefStreamIdl
OpenTnefStreamIdlWWW
OpenTransactionManagerById
OpenVolume
op_Equality
Operation
operation canceled
Operation hints for registry values.WW
operation in progress
operation_in_progress
operation not permitted
operation not supported
operation_not_supported
operationType
operation would block
operation_would_block
operator
operator "" 
operator co_await
op_GreaterThan
op_Implicit
op_Inequality
op_LessThan
OP_MOVEW
OP_OOF_REPLY
Opportunistic
OP_REPLY
OpstgDest
op_Subtraction
OP_TAGWW
optimizecp.cpp
optimizecp.h
OptionalPassesWW
optiondialog.cpp
optiondialog.h
OptionKeyName
options.h
optionstask.cpp
OptionStringValue
OptionValue
_o__purecall
_o___p___wargv
orchestration.cpp
orchestrationrc.h
_o_realloc
_o__recalloc
_o__register_onexit_function
OriginalFilename
Original state
OriginAntiSpyware
OriginAntiVirus
originatingBinary
originatingContextId
originatingContextMessage
originatingContextName
originCallerModule
originCallerReturnAddressOffset
originFile
originLineNumber
originModule
originName
OriginProductGUID
ORM-xTKF
osdfile.cpp
osdfile.h
osdscript.cpp
osdscript.h
OsEditionUpgradeScheduleSetupFail
_o__seh_filter_exe
_o__set_app_type
_o__set_errno
_o__set_fmode
_o__set_new_mode
_o_setvbuf
osgfile.cpp
osgfile.h
osgfileio.cpp
osgfileio.h
osgparser.h
osgprocess.h
osgsection.cpp
osgsection.h
osguardfile.cpp
osguardfileimpl.cpp
OsRefresh
_o___std_exception_copy
_o___std_exception_destroy
_o___stdio_common_vfwprintf
_o___stdio_common_vsnprintf_s
_o___stdio_common_vsnwprintf_s
_o___stdio_common_vsprintf
_o___stdio_common_vsprintf_s
_o___stdio_common_vswprintf
_o___stdio_common_vswprintf_s
_o___stdio_common_vswscanf
_o__stricmp
_o_strncpy_s
_o_strtol
_o_strtoull
_o_terminate
_o_tolower
_o_toupper
_o_towlower
_o__ui64toa_s
_o__ui64tow_s
_o__ultow_s
_o_ungetc
_o_ungetwc
_o__unlock_file
out of disk space
out of file handles
out of memory
Out of memory
Out of memory creating INF file
Out of memory while processing work from ksecdd
OutputDebugStringA
OutputDebugStringW
overflow error computing block size (regex_arena::_new_block)
overflow error computing size of the new node (hetero_stack::_grow)
Overloads [propget] IAssembly.IdWW
overrides.cpp
overrides.h
oversubscribed distance tree
oversubscribed dynamic bit lengths tree
OW0j0D0(
_o_wcscat_s
_o_wcscpy_s
_o__wcsdup
_o_wcsftime
_o__wcsicmp
_o__wcslwr_s
_o_wcsncpy_s
_o__wcsnicmp
_o__wcstod_l
_o_wcstok
_o_wcstok_s
_o_wcstol
_o_wcstoll
_o_wcstoull
_o__wcsupr_s
_o__wgetenv_s
owner dead
OwnersWW
OwnerWWW
owning thread
_o__wtoi
_o__wtol
P08S0t)H
p1lpfnFilterColumnsWWWd
.P6A_NAEAVvalue@json@web@@@Z
(p9ColumnsW
P9n8uKD9f
packageavailabilitymap.cpp
packageavailabilitymap.h
packageavailabilitymaptests.cpp
package_config_impl.cpp
package_config_impl.h
package_config_manager.h
packageconfigtest.cpp
package.cpp
packagedata.cpp
packagedata.h
packageenumerator.cpp
packageenumerator.h
packageenumeratortests.cpp
packagefactory.cpp
packagefactory.h
packagefactorymock.cpp
packagefactorymock.h
packagefileadapter.h
PackageForX86
packagegroupdescriptordocument.cpp
packagegroupdescriptordocumentfactory.cpp
packagegroupdescriptordocumentfactory.h
packagegroupdescriptordocumentfactorytests.cpp
packagegroupdescriptordocument.h
packagegroupdescriptordocumenttests.cpp
packagegroupdescriptordocumenttests.h
packagegroupfactory.cpp
packagegroupfactory.h
packagegroupfactorymock.cpp
packagegroupfactorymock.h
packagegroup.h
packagegroupimpl.cpp
packagegroupimpl.h
packagegroupmock.cpp
packagegroupmock.h
packagegrouprefreshhelper.cpp
packagegrouprefreshhelper.h
packagegrouprefreshhelpertests.cpp
packagegroupschemacompatibilitytests.cpp
packagegroupschemacompatibilitytests.h
packagegrouptemplatetests.cpp
packagegrouptests.cpp
packagegrouptests.h
package.h
packageId
packageIdArray
packageIdCount
packageIdList
packageIds
packageimpl.cpp
packageimpl.h
packageinfo.cpp
packageinfo.h
packageinformationwrapper.cpp
packageinformationwrapper.h
packageinformationwrappertests.cpp
packageinformationwrappertests.h
PackageInstallSpace(KB)
packagelockmgr.cpp
packagemachinepolicydocument.cpp
packagemachinepolicydocumentfactory.cpp
packagemachinepolicydocumentfactory.h
packagemachinepolicydocumentfactorytests.cpp
packagemachinepolicydocument.h
packagemachinepolicydocumenttests.cpp
packagemgr.cpp
packagemgr.h
packagemock.cpp
packagemock.h
PackageName
packagepathmanager.cpp
packagepathmanager.h
packagepathmanagertest.cpp
package_path_utils.cpp
package_path_utils.h
package_path_utils_test.cpp
PackagePurpose
packagerefreshtests.cpp
packageregistry.cpp
packageregistry.h
packageregistrymock.cpp
packageregistrymock.h
packageregistrytests.cpp
packageregistryutilities.cpp
packageregistryutilities.h
packager.hpp
packagertests.cpp
Packages non-Driver components?
packagetest.cpp
packagetests.cpp
packagetests.h
packageuserpolicydocument.cpp
packageuserpolicydocumentfactory.cpp
packageuserpolicydocumentfactory.h
packageuserpolicydocumentfactorytests.cpp
packageuserpolicydocument.h
packageuserpolicydocumenttests.cpp
PackageW
packagexmldiffer.cpp
packagexmldiffer.h
packagexmldiffertest.cpp
PACKINSTSPACE
pacmancfg.cpp
pacmancfg.h
pacmancfg_tests.cpp
PADDINGXXPADDING
pAddrBookWWWd
PADPADP:
pAdviseWW
?Paint@Element@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
PairsWWW
PApplyToW
ParamArrayAttribute
 *          parameters as the event is hooked up using attachEvent.
 *          parameters. So we use this dummy function to call real function
ParametersWW
parameter value
ParentFound
@parentID
parentName
Parent propertyWWW
ParentSnapin
ParentWW(
ParentWWL
parsed_vfs_decoder.h
ParseJson
ParseMBAEProperties
parser_singleton.h
parser_utils.h
Parsing directives
parsing.hpp
parsing_tests.cpp
PartA_PrivTags
PartialW
Partition
__pascal
PASS 1: Checking directive file(s)
PASS 2: Processing directive file(s)
PAssemblyDependencyWW
Password changed.
Passwords do not match.
patchendinstallpage.cpp
patchendinstallpage.h
PathAllocCanonicalize
PathAllocCombine
path_and_data_parser.cpp
path_and_data_parser.h
path_and_data_parser_interface.h
PathCanonicalizeW
PathCchAppend
PathCchCanonicalize
PathCchCombine
PathCchCombine error
PathCchRemoveBackslash
PathCchRemoveFileSpec
PathCchSkipRoot
PathCombineW
PathCreateFromUrlW
PathFileExistsW
PathFindExtensionW
PathFindFileNameA
PathFindFileNameW
PathGetArgsW
PathGetCharTypeW
PathGetDriveNumberW
pathhelper.cpp
pathhelper.h
PathIsDirectoryW
PathIsFileSpecW
PathIsNetworkPathW
PathIsRelativeW
PathIsUNCEx
PathIsUNCServerW
PathIsUNCW
PathIsURLW
PathMatchSpecExW
PathRelativePathToW
PathRemoveBackslashW
PathRemoveBlanksW
PathRemoveExtensionW
PathRemoveFileSpecW
pathresolver.cpp
pathresolvertests.cpp
PathStripPathW
_pathToLogDirectory
patimeWW
payloadError
payloadorganizer.hpp
payloadSettings
pbDataWWD
pbEventParametersWWW
PBlpulDenominatorW
pcbEIDWW
pcbStoreEIDW
pcbWrittenWW
pceltFetched
PciDeviceId
PciSubSystemId
pCMFASFRecordingTimeProperty::SetShellValue
PcmiSerializerWWWd
PcmiStockInstallerWWW
pctimeWW
__pctype_func
pcwszInput is null
PdcTaskClientRegister
PdcTaskClientRequest
PdcTaskClientUnregister
Pdcv2ActivationClientActivate
Pdcv2ActivationClientDeactivate
Pdcv2ActivationClientRegister
Pdcv2ActivationClientUnregister
pDependencyTypeWW
.PEAVCException@@
.PEAVCMemoryException@@
.PEAVCUserException@@
PE_CreateProductEnumerator
PEEEBEBBBBBBB3P
PeekMessageA
PeekMessageW
PeekNamedPipe
pEmsmdbUIDWWd
PendingDriverModel
pendingtaskmanagerent.cpp
pendingtaskmanagerent.h
pendingtaskmanagerenttests.cpp
pendingtaskmanagerisv.cpp
pendingtaskmanagerisv.h
pendingtasks.cpp
pendingtasks.h
percentage
perfmgr.cpp
perfmgr.h
PerformAction can not be called while currently running
PerformAction is already running
Performance Counter ID Queries [PERFLIB]:
performancecounterreader.cpp
performancecounterreader.h
performancecounterreadertests.cpp
PerformChangeKey
PerformChangePassPhrase
PerformChangePIN
PerformingPreRebootActions
PerformKeyPackage
PerformLayout
PerformLock
PerformOff
PerformOn
PerformPause
PerformResume
performs conversion between object and xml*
performs dependency resolution
PerformSetIdentifier
PerformUnlock
PerformUpgrade
PerformWipeFreeSpace
permission denied
permission_denied
PermissionMask
permissions
persistappdata.cpp
persistappdata.h
persistentdatatest.cpp
peruserdata.cpp
peruserdata.h
PerUserInit
PerUserSupportWW
PerUserVirtualizationWWW
pFieldWW
pFolderFocus
pfpevAvailableWW
pfPolicyd
!pfrminfoarrayWWW
pfrminfoToActivateWW
P(g!k...
phiconWW
pHrDeleteRowW 5
PictureBox
pictureBox1
pictureBox1_Click
pinPolicy
@PISkl)@
pkgIdString
pkgmgr_tests.cpp
pk_JHFcv
PlatformDir
platform.h
	PlatformStatus
PlaySoundW
plibNewPositionW
PlppProfAdmind
plppPropsd
PlpReservedWW@
pluginBinaryPath
PluginWW
pMessage
pMessageSite
pmsessWWd
PnewmailW4
[PnpmVrnf
pOfflineRegistryRootKeyW
policy_adapter.h
policy_adapter_impl.h
policyapitests.cpp
policyapplierloadtests.cpp
policy.cpp
policydocument.cpp
policydocumenttests.cpp
policyerrors.h
policyfactory.cpp
policyfactorymock.cpp
policyfactorymock.h
policy.h
policyidmanager.cpp
policyidmanager.h
policyidmgrtests.cpp
policymanager.cpp
policymanager.dll
PolicyManager_FreeGetPolicyData
PolicyManager_GetPolicy
PolicyManager_GetPolicyInt
PolicyManager_IsPolicySetByMobileDeviceManager
policymock.cpp
policymock.h
policyutilitiestest.cpp
policyutilitiestest.h
pooledthread.cpp
pooledthread.h
pool exhausted
pOO))R;R
   PopulateTaskpad();
 * PopulateTaskpad
possible filter in the computation of effective settingsWW'
possible functionalities in CMI for loggingWWW@
possible levels of verbosity for loggingWW6
Possible passes in an installationE
possible set of values to indicate rebootW
PostApplyWWW
PostData
postdated
PostEventWWW
PostGatherWW
PostInstallCmd
PostMessage
PostMessageA
PostMessageW
PostProcessObjectWWW
PostQuitMessage
PostReboot
POSTRUNPROGRAM
Posts an event to the subscribersW-
PostThreadMessageA
PostThreadMessageW
PowerApplySettingChanges
PowerClearRequest
PowerCreateRequest
PowerDeterminePlatformRole
PowerGetActiveScheme
PowerInformationWithPrivileges
PowerMenuOptionsChanged
PowerReadDCValue
PowerReadFriendlyName
PowerRequestsFound
PowerSetActiveScheme
PowerSetRequest
PowerSettingAccessCheck
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
PowerWriteACValueIndex
PowerWriteDCValueIndex
POWRPROF.dll
ppenumWW
pPersistMessageW
ppFormMgrWWW
ppfrminfoarrayWW
pplaJHfv
|ppMessageWWW
ppMsgEIDd
PPPBPBPBPBBBBBP
@pppc.lpp@
ppPersistMessage
ppplgJkv
|pppll|v
PPPPPHPBBPBPBBP
|PPPPPPPPPPPPPPPPPPPPq
!#:PPQ5Pa
ppropWWWd
pprowsWWd
PPRWPRWRWPRWPRWRWPWU|
ppstgWWW81
ppstmWWW
ppStoreEIDWW
pptauth.cpp
pptauth.h
_PPTP000
PPTP003u
_PPTP00h
_PPTP00L6
PPTP00!u
_PPTP00x7
ppvObjTypeWW
ppvObjWW
ppXmlStreamWd
PQRSTUVWXY
pragma integrity_check
PreApply
pre_authent
precompiled_header.h
predictionType
predictivestream.cpp
predictivestream.h
; PrepareFormW
PrepareRecipsWWW
?PrepareToParse@ARGUMENT_LEXEMIZER@@QEAAEPEAVWSTRING@@@Z
preppage.cpp
PresentW8
PreventSleep
prgpropWd
primarydetectors.cpp
primarydetectors.h
[:print:]
printerdriverdetector.cpp
printerdriverdetector.h
printerdriverdetectorut.cpp
printerenumerator.cpp
printerenumerator.h
printerenumerator.stub.cpp
printerenumeratorut.cpp
priority
private: 
PrivateExtractIconsW
Private installerW
privateMode
PrivateModeEnabled
PrivateTestComponentPackager
_PrivateTestPackagerEventsWW
PrivilegeCheck
PrivilegesWW
Process32FirstW
Process32NextW
ProcessCountActual
ProcessCountRequirement
ProcessCountRequirementMet
process.cpp
processcreationhelper.cpp
processcreationhelper.h
processcreationhelper_test.cpp
Process ExcludeId directivesWW0
processId
ProcessIdToSessionId
processlauncher.cpp
processlauncher.h
processlaunchertests.cpp
process_monitor.cpp
processName
process_notifier.h
Processor
ProcessorArchitectureWWWL
Processor Feature Update
processpathtrackertests.cpp
ProcessStartInfo
process_terminator.cpp
process_terminator.h
processterminatormock.cpp
processterminatormock.h
process_terminator_tests.cpp
process_terminator_tests.h
process_tests.cpp
ProcessWindowStyle
procutils.h
ProductDisabled
Product enumerator is not present.
ProductGUID
ProductInstallCheck
ProductName
ProductVersion
profapi.dll
profileName
ProgIDFromCLSID
ProgramVersion
Progress
progressinstallpage.cpp
ProgressMaxW
Prohibited
projectfileinfo.hpp
promise already satisfied
 properties
Properties InterfaceWW
propertiesreader.cpp
propertiesreadertests.cpp
PropertiesWW
property
Property
propertyBuffer
propertyBufferSize
PropertyChanged
PropertyChangedEventArgs
PropertyChangedEventHandler
PropertyChangeWW
property DomainWWW!
Property Interface(
PropertyInvoke
propertyName
PropertyName
property PerUserSupportWWW
propertyRegDataType
PropertySheetA
PropertySheetW
propertystore.h
propertystoreimpl.cpp
propertystoreimpl.h
propertystoremock.cpp
propertystoremock.h
propertystoretests.cpp
propertystoretests.h
property UserNameW
property UserSidString
@PropertyValueWWW
property WorkingDirWWW
PropogateCmdExitCode
propPriorWWW
PROPSYS.dll
propTagW|
PropVariantChangeType
PropVariantClear
PropVariantCompareEx
PropVariantCopy
PropVariantGetElementCount
PropVariantGetStringElem
PropVariantToFileTime
PropVariantToString
PropVariantToStringAlloc
PropVariantToUInt32
PropVariantToUInt64
protected: 
protocol error
protocol not supported
protocol_not_supported
provider
Provider
provider context is missing
providerOriginalUri
ProviderSetPolicyValue
ProviderType
providerUri
Provides a mechanism for instrumentation team to keep its data9
Provides IInstaller::Install call sequence of a list of installers3
Provides information common to all trustee typesWW
Provides information of a domain trusteeWW*
Provides information of a generic trusteeW
Provides information of a group trusteeWWW)
Provides registration information about installerW*
ProvIumCheckMachineKey
ProvIumCreateMachineCertificateRequest
ProvIumCreateMachineKey
ProvIumCreateMachineSelfSignedCertificate
ProvIumRpcInit
proxiable
  [proxy]
ProxyNameWWW
proxysettingpage.cpp
ProxyStubClsid32
]prwResolvedWd
PSCreateMemoryPropertyStore
PSCreateMultiplexPropertyStore
pSession
pSessWWW
psorpsosopoo6
pSourceFilePathW
PSPropertyBag_ReadBOOL
PSPropertyBag_ReadDWORD
PSPropertyBag_ReadStr
PSPropertyBag_ReadStrAlloc
PSPropertyBag_WriteBOOL
PSPropertyBag_WriteDWORD
PSPropertyBag_WriteStr
PSPropertyKeyFromString
PSStringFromPropertyKey
pstatstg
pstgPriority
pstorec.dll
PStoreCreateInstance
pStoreRecordKeyW
pszEventMsg
pszMsgIDd
ptableWW
PtInRect
PtInRegion
PtrToStringUni
PtVisible
public: 
publicapi.cpp
publicapi.h
publicapitests.cpp
publicapitests.h
publiceventsdetector.h
publiceventsdetectorut.cpp
Public installerWW
PublicKeyTokensW
publishcomponent.cpp
publishcomponent.h
publishdlg.cpp
publishdlg.h
publisherIntent
publishingactivities.cpp
publishingactivities.h
publishingactivitytests.cpp
publishingcommands.h
publishing_manager.cpp
publishing_manager.h
publishingmanagertests.cpp
publishingrc.h
publishingrefreshtests.cpp
publishingserver.cpp
publishingserver.h
publishingservertest.cpp
publishmanager.cpp
publishmanager.h
publishmanagertests.cpp
publishoperationstests.cpp
publish_operation_tests.cpp
publishpackageactivitytests.cpp
publishpackagegrouptests.cpp
publishpackagetests.cpp
publishserverfactory.cpp
pubutils.cpp
pubutils.h
pulFlags
pulFormatWWW
[:punct:]
	PUpgradeW
_purecall
 * PURPOSE: Adds all tasks in the taskpad to the HTML. Also holds on to the
 * PURPOSE: Calls MMCCtrl's tasknotify. Uses expando properties instead of
?Put@ARRAY@@UEAAEPEAVOBJECT@@@Z
p UWATAVAWH
p UWAUAVAWH
pvalMvWW
pvalSvWW
pValueWW
pvDstWWWd
pvIdleParam
pvIdleParamW
p"""""" w
p WATAUAVAWH
p WATAVH
p WAVAWH
pwcsName
pwcsNewNameW
P.WXXX@J
pwzAddress
pwzPassword
pwzPasswordW
pXmlStreamWW
PzR"T@VdZ
q								
q88O88qpqp8
q88O8qpq
Q8LogoffWW
QBA@ppn.Ippp@
QCmiCompareConsts 
q(D8r(t	
qDiscover
qfD9)t0H
QFILTERCOLUMNSIdl
qGatherSuccessWWWpb
QiihhhhihiihhhhhjiiiiH
qIProfAdminIdlWWW
qk KSVaa__PD
QKLLLLLONNOZmkfkmxWSSR
#QlppTable
q_MergeWWW
qOpenTnefStreamExIdlW
QpfnIdleW
QPKLPJQ.(SNQ3"
q*PublicKeyTokenWWL
QQISQSfffWfhffefffL
qqqqhhhj
qqqqqqq)A
qqqqqqqqqqqqqqqqqqqqqqq
QQuQWQQu
QQWQ!Q!Q!W
QQWQW!Q!Wuu
qResolveInstaller
qSOpenTaggedBodyWW
Q(SPKLPJSSSSOQ
qThe Maximus Configuration Utility requires a Quadro 600 or higher and a Tesla C2075. This utility will now close.
QuadPart
QuadroUsageMode
QuadroUsageModeTooltip
Quadro will not be used for any compute tasks such as ray tracing or simulation.
QualifiedSettingName4:
quantifier not expected
QueryActCtxW
QueryActiveSession
QueryAllTracesW
QueryBatteryData
QueryColumns
QueryCredentialInputFields
?QueryCurrentDosDriveName@SYSTEM@@SAEPEAVWSTRING@@@Z
QueryDefaultMessageOptWW
QueryDefaultRecipOpt
QueryDisplayConfig
QueryDosDeviceW
QueryFullProcessImageNameW
QueryIdentityWWW
QueryInteractiveUIInputFields
?QueryInterface@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInvalidArgument@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@XZ
QueryLsaInterface
_Query_perf_counter
_Query_perf_frequency
QueryPerformanceCounter
QueryPerformanceFrequency
QueryPositionWWW
-QueryRowsWWW
queryserverdlg.cpp
query_service_config.hpp
QueryServiceStatus
QueryServiceStatusEx
QuerySortOrderWW
QueryTraceW
QueryTypeGenericQueryWWW
QueryTypeWWW8
QueryUIBlobFromInteractiveUIInputFields
QueryUserToken
QueryWin32SubsystemHost
?QueryWSTR@WSTRING@@QEBAPEAGKKPEAGKE@Z
question
QueueUserWorkItem
(QuImagingInformationWW
Qu!W!u!u:u!u
q	wcsncmp
	QWERTYUIOP
!QWuuu!uWuuu
r'"27#2'
r#"27#2w
*r2s'vpzx
r"3333333;
RadioButton
radioButton1
radioButton2
radioButtonECCOff
radioButtonECCOn
raii.cpp
RaiseException
RaiseFailFastException
?_Random_device@std@@YAIXZ
RasEapCreateConnectionProperties Entry:
RasEapCreateConnectionProperties Exit:
RasEapCreateConnectionPropertiesXml Entry:
RasEapCreateConnectionPropertiesXml Exit
RasEapCreateUserPropertiesProc Entry:
RasEapCreateUserPropertiesProc Exit:
RasEapGetIdentity Entry:
RasEapGetIdentity Exit:
RasEapGetMethodProperties Entry:
RasEapGetMethodProperties Exit:
RasEapInvokeConfigUI Entry:
RasEapInvokeConfigUI Exit
RasEapInvokeInteractiveUI Entry:
RasEapInvokeInteractiveUI Exit:
RasEapQueryCredentialInputFields Entry:
RasEapQueryCredentialInputFields Exit
RasEapQueryInteractiveUIInputFields Entry:
RasEapQueryInteractiveUIInputFields Exit
RasEapQueryUIBlobFromInteractiveUIInputFields Entry:
RasEapQueryUIBlobFromInteractiveUIInputFields Exit:
RasEapQueryUserBlobFromCredentialInputFields Entry:
RasEapQueryUserBlobFromCredentialInputFields Exit
raw_vfs_decoder.h
RBindingRedirects@
RcbParentIDWW
rcerrors.h
rcmiLanguageModeNoneW
RDisconnectWW
Read all data and disconnect from data sourcesK
ReadConsoleW
readerName
ReadFile
ReadingAction
ReadingActionSource
ReadingCommandIssued
ReadingDuration
ReadIntPtr
read only file system
Read out of bounds: 
ReadPolicy
ReadPolicyWithFallback
ReadProcessMemory
readtests.cpp
RealGetWindowClassW
Rebase file repository
RebaseWW
RebootDowntimeInfo
rebootIds
RebootIndicatorEnumW
RebootIndicatorW
rebooting context is missing
Reboot is recommendedW
Reboot is required)
RebootMode
RebootPending
* Reboot pendingD
Reboot result not supported on Desktop Windows.
Reboot timed out
RebuildPriIndex
Receives log. Prefix Cmi to avoid conflict with logging in SetupWW
RecordErrorDatapoint
RecordSyncControllerChanges
RecoverEnlistment
Rectangle
RectVisible
_recursionPromptAnswer
recursion sub-expression cannot be quantified
recursive
Redmond1
RedrawWindow
ReferenceAnswerW
ReferenceEquals
ReferenceFactory
Reference factory interfaceWWW0
ReferenceIdW|G
ReferenceRangeDictionary
ReferenceRangeWW
ReferencesWW
reference to nonexistent group
Referrer
reflectedbasenode.cpp
reflectedbasenode.h
reflectedcomplexnode.cpp
reflectedcomplexnode.h
reflectedsinglenode.cpp
reflectedsinglenode.h
reflectionmanager.cpp
reflectionmanager.h
refreshalltask.cpp
Refreshes the selected itemsWW
Refreshes the specified scope node
RefreshImageStorageService
RefreshIScsiSendTargetPortalW
RefreshISNSServerW
RefreshScopeNodeL
RefreshSelectionL
RefreshSettings
RegCloseKey
reg_config.hpp
reg_config_test.cpp
RegConnectRegistryW
RegCreateKeyExA
RegCreateKeyExW
RegCreateKeyW
RegDeleteKeyA
RegDeleteKeyExA
RegDeleteKeyExW
RegDeleteKeyValueW
RegDeleteKeyW
RegDeleteTreeW
RegDeleteValueA
RegDeleteValueW
RegEnumKeyExA
RegEnumKeyExW
RegEnumKeyW
RegEnumValueA
RegEnumValueW
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
RegexOptions
RegFlushKey
RegGetValueW
reg_interface.hpp
reg_interface_test.cpp
Register
RegisterApplicationRestart
?Register@Button@DirectUI@@SAJXZ
RegisterClassA
RegisterClassExW
?Register@ClassInfoBase@DirectUI@@QEAAJXZ
RegisterClassW
register_command.hpp
RegisterDeviceNotificationW
RegisterDragDrop
?Register@Element@DirectUI@@SAJXZ
RegisterEventSourceW
RegisterHotKey
RegisterListener
RegisterPointerDeviceNotifications
RegisterPowerSettingNotification
Register propertyW9
RegisterPVLBehaviorFactory
RegisterRawInputDevices
Registers a log listener under a specified unique keyW#
Registers an installer factory using IInstallerRegistration.WWG
RegisterServerForPMP
RegisterServiceCtrlHandlerExW
RegisterServiceCtrlHandlerW
RegisterSuspendResumeNotification
_register_thread_local_exe_atexit_callback
RegisterTraceGuidsA
RegisterTraceGuidsW
RegisterWindowMessageW
Registration
RegistrationCommandW
registratortest.cpp
registry
Registry
registryaccessortest.cpp
registry_api_action.h
registry_api_key.cpp
registry_api_key_factory.h
registry_api_key.h
registry_api_key_iterator.cpp
registry_api_key.stub.cpp
registry_api_marshaller.h
registry_api_template.cpp
registry_api_template.h
registry_api_value.cpp
registry_api_value.h
registry_api_value_iterator.cpp
registry_api_value.stub.cpp
registryconfigitem.cpp
registryconfigitem.h
registryconfigitem_test.cpp
RegistryHive
registry_interception_test_plugin.cpp
RegistryKey
RegistryKeyW
registry_section_parser.cpp
registry_section_parser.h
registry_section_parser.stub.cpp
registryserver.cpp
registry_staging_config.cpp
registry_staging_config.h
registry_staging_deployment.cpp
registry_staging_deployment.h
registry_staging_deployment_test.cpp
registry_staging_hive_staging.cpp
registry_staging_hive_staging.h
registry_staging_package_info.cpp
registry_staging_package_info.h
registry_staging_package_info_test.cpp
registry_staging_policy_staging.cpp
registry_staging_policy_staging.h
registry_staging_process_runtime.cpp
registry_staging_process_runtime.h
registry_staging_runtime.cpp
registry_staging_runtime.h
Registry type unsupported
registryvalue.h
RegistryValueKind
RegistryValuesWWh
registryvaluetest.cpp
RegistryValueTypeWWW
RegistryValueWWWP-
RegistryView
registry_writer.cpp
registry_writer.h
RegLoadKeyW
RegLoadMUIStringW
RegNotifyChangeKeyValue
RegOpenCurrentUser
RegOpenKeyExA
RegOpenKeyExW
RegOpenKeyW
reg_ownership_guard_tests.cpp
RegQueryInfoKeyA
RegQueryInfoKeyW
RegQueryValueExA
RegQueryValueExW
RegQueryValueW
regreflectioninfo.cpp
regreflectioninfo.h
RegServer
RegSetKeySecurity
RegSetKeyValueW
RegSetValueExA
RegSetValueExW
RegSetValueW
reg_tests.cpp
regtests.cpp
RegUnLoadKeyW
rehydrator.h
related_name_resolver.cpp
related_name_resolver.h
related_name_resolver_test.cpp
ReleaseActCtx
ReleaseCapture
?_Release_chore@details@Concurrency@@YAXPEAU_Threadpool_chore@12@@Z
?Release@ClassInfoBase@DirectUI@@UEAAHXZ
?Release@CMMCStrongReferences@@SAKXZ
Released
ReleaseDC
ReleaseEnterprisePolicyValue
ReleaseHandle
ReleaseMutex
::ReleaseMutex(h)
ReleaseSemaphore
?ReleaseSnapinInterface@BookKeeping@@SAJPEAUIUnknown@@H@Z
ReleaseSRWLockExclusive
ReleaseSRWLockShared
releasetransportbuffertest.cpp
releasetransportbuffertest.h
ReleaseUpdatePolicyValue
?Release@Value@DirectUI@@QEAAXXZ
Relies on client inputs for non-deterministic resolutions.'
relopWWWh
_RemotableHandle4!
RemoteEnumElementsWW
remoteExternalFileList
remoteFile
RemoteNextWW
RemoteOpenStream
remotePackageFile
remoteProvider
RemoteReadWW
RemoteSeekWWp0
remoteSession
remoteUri
RemoteWriteWp0
RemoveAllWWW
RemoveAt
RemoveAtX
?RemoveBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
RemoveByInstanceIdWW
:RemoveByReferenceRangeWW
?RemoveChild@ClassInfoBase@DirectUI@@UEAAXXZ
RemoveDirectoryW
removedModelPath
?Remove@Element@DirectUI@@QEAAJPEAV12@@Z
?Remove@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
RemoveFormWW
RemoveIScsiConnection
RemoveIScsiPersistentTargetW
RemoveIScsiSendTargetPortalW
RemoveIScsiStaticTargetW
RemoveISNSServerW
?RemoveItem@BookKeeping@@SAJPEAX@Z
RemoveJunction
?RemoveLocalValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZ@Z
removepackageactivitytests.cpp
removepackagegrouptests.cpp
removepackagetest.cpp
removepackagetest.h
removepackagetests.cpp
RemovePersistentIScsiDeviceW
remove_PropertyChanged
RemovePropW
Removes all environment variable definitions.W*
Removes all items from the dictionaryW"
Removes an entry from the redirection table using a reference rangeWWWE
Removes an item at the specified index
Removes a property identified by Name from the properties collection.W0
Removes a snapin from the list of snapins and hence from the console.W5
Removes entries from the redirection table using an instance identityWE
Removes entries from the redirection table using a reference identityWC
Removes the files of the component from the repository6
Removes the given component from repositoryWWW0
?RemoveTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?RemoveTooltip@TouchHWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
remove_unitTestEvent
RemoveWW
RenameElementWWW
RenameMsgService
Renames a node in this view to the specified nameW
Renames a scope node to the specified name1
RenameScopeNodeW
REncoding
renewable
ReplaceExisting
Replace existing value.WWW
ReplaceFileW
ReplaceTokensWWW
replicate source components to target source repositoryWWW:
ReportActiveIScsiTargetMappingsW
reportappstatustest.cpp
reportappstatustest.h
reportentry.h
reporter.hpp
ReportEventW
reportexporter.h
reportingactivities.cpp
reportingactivities.h
reportingactivitytests.cpp
reportingcomponent.cpp
reportingcomponent.h
reportingcomponenttests.cpp
reportingqueue.cpp
reportingqueue.h
reportingrc.h
reportinguploader.cpp
reportinguploader.h
reportingut.cpp
ReportIScsiInitiatorListW
ReportIScsiPersistentLoginsW
ReportIScsiSendTargetPortalsExW
ReportIScsiTargetsW
ReportISNSServerListW
reportlogmessagetest.cpp
reportlogmessagetest.h
reportmgr.cpp
reportmgr.h
ReportPersistentIScsiDevicesW
reportsheet.h
reportsheetwriter.cpp
reportsheetwriter.h
ReportToUser
?_ReportUnobservedException@details@Concurrency@@YAXXZ
RepositorieshB
RepositoryDispatchWW
RepositoryTypeConstsX4
RepositoryWWL
Represent an instance of IDependency or ICompositionWW(
Represent four-part partial or full version valueW
Represents a collection of objects that can be accessed by indexWW
Represents a configuration answer file9
Represents a definition of a security descriptorWW1
Represents a file repositoryWW
Represents a listener to logging from CMIW
Represents a log configuration from CMIWWW
Represents an assembly dependencyW'
Represents an entry in the reference redirection table!
Represents an identity definitionW 
Represents an identity referenceWW-
Represents an INF serializer and de-serializer8
Represents an installation targetW"
Represents an installed repository4
Represents an instance of an IComponentWWW1
Represents an XML serializer and de-serializer8
Represents a pattern for string matching.W*
Represents a private test packager for driver componentsWW6
Represents a private test packager for non-driver componentsWW8
Represents a reference to a security definitionWWW0
Represents a set of environment variables.:
Represents a set of repositoriesWW 
Represents a setting instanceW
Represents a string entry in the string tableW
Represents both a root reference and a resolver contextWWW*
Represents category membership
Represents custom XML information present in the manifestW!
Represents element specific migration informationW!
Represents localization informationWWW-
Represents private test packagers for componentsWW 
Represents queryWW
Represents range of referencesD
Represents read-only view of a setting definitionWC
Represents regisry key
Represents registry valueW
Represents security information define in a componentW
Represents the reference redirection tableK
Represents two values that is associated with each other.W#
RequestAdditionalTime
            requestedExecutionLevel node with one of the following.
request.h
request_manager_ipc.cpp
requeststate.cpp
requeststate.h
requestType
requiredapplicationspage.cpp
requiredSize
RequiredSize
resAndWW0
res@av:imageConvertBGColor
res@av:imageConvertMode
res@av:pixelAspectRatio
res@bitrate
res@bitsPerSample
res@colorDepth
)resCommentWW
res@dlna:ifoFileURI
res@duration
reserved
Reserved
reserved1
ReservePerCabinetSize
ReservePerDataBlockSize
ReservePerFolderSize
?_Reset@_ContextCallback@details@Concurrency@@AEAAXXZ
ResetEvent
_resetstkoflw
?resExistP
res@microsoft:codec
res@nrAudioChannels
Resolution done and meets the constraints..
Resolution has been deferred to actual instance to avoid cyclic references*
Resolution of a reference is not startedWW
!ResolutionStageW
Resolve all the dependenciesWWA
Resolve at design time
ResolveDelayLoadedAPI
ResolveDelayLoadsFromDll
Resolve each language-specific dependency to all matched componentsWWW"
Resolve each language-specific dependency to based on langpackC
Resolve each language-specific dependency to zero componentWWW:
ResolveIpNetEntry2
ResolveMessageClassW
Resolve only compositional dependencies and language dependenciesW'
ResolverTypeConstsWW
ResolverWW9
Resolves the installer for the specified object and invokes its install method.WWWQ
?resOrWWW
resourceCulture
resource deadlock would occur
resourcefactory.cpp
resourcefactory.h
resourceFile
resourceId
resourceMan
ResourceManager
resourcemanager.cpp
resourcemanager.h
resourceName
ResourceReader
Resources
ResourceSet
ResourcesWWW
resource unavailable try again
respositoryPath
resPropertyW
res@protection
res@protocolInfo
res@resolution
res@sampleFrequency
res@size
Restart LaterE
Restart Now
RestoreDC
restoreMode
RestorePerfRegistryFromFileW
Restores the frame to its normal sizeW.
Restoring time on resume from hibernate
__restrict
restrict(
)(Restrict
@restricted
result out of range
Resumed from Hibernation
Resumed from Sleep
ResumeLayout
ResumeThread
ResumeUpdates
?_Rethrow_future_exception@std@@YAXVexception_ptr@1@@Z
retrieveinstructionspage.cpp
              return;
Return an error when importing a component already present in the file repositoryWL
Return an installer registration entry in installer manager by element name.WW
ReturnHr
 * RETURNS:
Returns a list of component settingsWW(
Returns a list of components to be addedWW*
Returns a list of components to be replacedWWW-
Returns a list of IIdentity of top level instances"
Returns a list of IInstanceAnswerW@
Returns a list of IMigrationPatternWWW:
Returns a list of IMigrationSupportedComponent!
Returns a list of IReferenceAnswer!
Returns a list of setting override references as ISettingOverrideInstanceW.
Returns a list setting instances for a componentWW6
Returns a memento for the current view. A memento is the programmatic equivalent of a favorite settingc
Returns an enumerator of name value pairsW
Returns a persistable bookmark for the nodeWWWI
Returns batch commit sizeW
Returns comments that are useful for documentation purpose7
Returns company nameWW
Returns connection string to the repositoryWWW 
Returns copyright informationW
Returns creation timeW
Returns display nameWW
Returns environment to expand paths during importWF
Returns file repository for packageWWW
Returns four part version valueWWW
Returns identities of all assemblies in the repository2
Returns if a dependency is optional or not.WWW(
Returns if Component has element(s) of the specified pathW7
Returns if conflicting overrides are applied to this instanceW5
Returns if it is the key owner
Returns if the entry is enabled or not"
Returns if the installation is using cmiadapterWWW-
Returns if this instance is enabled or not'
Returns information about what to exclude during migration7
Returns information about what to include during migration7
Returns last update timeWW
Returns list of run-time dependenciesW
Returns locale independent nameWWW
Returns manifest file search patternWW!
Returns maximum disk file size
Returns nameWW	
Returns new versionWWW
Returns old versionWWW
Returns repository for packagerWWW.
Returns ScopeTreeVisible propertyW
Returns setting overrides of ISettingInstance type.WWW'
Returns source nameWWW
Returns support informationWWW
Returns the arguments for the registration.WWW(
Returns the arguments to this resolver#
Returns the automation interface supplied by the OCX in the result pane.WW.
Returns the automation interface supplied by the snapin for the specified scope nodeWW7
Returns the automation interface supplied by the snapinWWW"
Returns the base64 encoded hash of the fileWWW(
Returns the base interface nameWWW
Returns the binding redirects of this dependencyWW3
Returns the cannoncial string representation of thisWW
Returns the category identityW
Returns the class id of the plugin
Returns the class IDWW
Returns the CMI namespaceW
Returns the collection of all views (MDI children)
Returns the collection of assemblies associated with this assembly(
Returns the collection of identities of the components present in the file repositoryWH
Returns the collection of instance identities available for selectionW6
Returns the collection of reference in of this instanceWWW
Returns the collection of selected instancesWW
Returns the COM classes implemented in this fileWW4
Returns the component language
Returns the component type of this assemblyWWWB
Returns the component which defines this instance with all language-specific tokens substituted.WWC
Returns the COM proxy stubs implemented in this fileWW.
Returns the COM typelibs embedded in this file3
Returns the configuration an instance is contained inW*
Returns the configuration of an installed repositoryWW1
Returns the console root nodeW
Returns the contents of a given cellWW6
Returns the context menu for a node in this viewWW"
Returns the coordinate of the bottom of the frameW.
Returns the coordinate of the right of the frameWW-
Returns the count entries in the environmentWW-
Returns the count of key-and-value pairs in the dictionary!
Returns the culture for the resourcesW!
Returns the current installer associated with the element nameD
Returns the currently active viewW(
Returns the current pass of an installationWWW(
Returns the current query parametersWW!
Returns the current query type
Returns the current setting for transactionsWW"
Returns the DataWW
Returns the default value of a settingD
Returns the definition of a referenceW"
Returns the dependencies of this file.E
Returns the description for this dependencyWWW(
Returns the description of category instanceWW)
Returns the descriptionWWW
Returns the destination file name.
Returns the destination pathWW
Returns the discoverable flag.
Returns the display name of category instanceW*
Returns the display nameWW
Returns the edit sequence when AllInstances is last modifiedWW*
Returns the edit sequence when ComputeEffectiveSettingInstances is last called#
Returns the entity who adds this instance to a configurationWW9
Returns the enumerator of ICmiPair@
Returns the environment variable set.W"
Returns the factory used by an reference factoryWW-
Returns the fallback culture for the assemblyW*
Returns the file attributesWWW
Returns the file compression typeW
Returns the file repositories associated with this repositoryW7
Returns the file repository associated with a componentWWW
Returns the file repositoryWWW
Returns the file sizeW
Returns the file writeable typeWWW
Returns the first value in a pair.
Returns the flag indicating whether this dependency is optional or not)
Returns the flag that specifies if this command must run during install.WWE
Returns the frame subobjectWWW
Returns the frameW
Returns the fully qualified path to the execuable relative to component's root.WWWL
Returns the fully qualified path to the executable.WWW0
Returns the fully qualified path to the file.W*
Returns the hash code of thisW
Returns the help directory
Returns the identity of a parent or NULL for any parentWWW4
Returns the identity of the component to apply the setting toW:
Returns the identity of the componentW"
Returns the identity of the instanceWW!
Returns the identity of the supported component.WW-
Returns the identity of this configuration'
Returns the identity of this resolverW
Returns the identity reference rangeWW
Returns the identity that qualifies a settingW*
Returns the IIdentity to ISettingInstance mapW0
Returns the imaging informationWWW
Returns the INF file search repository#
Returns the installation pass during which registration is to be run.WB
Returns the installation pass during which un-registration is to be run.WWE
Returns the installation passes during which this command must run.WWW@
Returns the installation pass installer should perform3
Returns the installation status of an instance
Returns the installed repository .
Returns the installer associated with the specified installable object.WWWO
Returns the instance factoryWW
Returns the instance identityW#
Returns the instrumentation information from the assemblyW4
Returns the interface IDWW
Returns the key nameWW
Returns the language string or * for neutralWW0
Returns the language stringWWW
Returns the list of assembly identities that should be replaced.WW 
Returns the list of attributes as ICustomInformationWW2
Returns the list of category instances
Returns the list of directoriesWWW!
Returns the list of elements as ICustomInformation2
Returns the list of extension snapinsW'
Returns the list of filesW
Returns the list of generic commands.W*
Returns the list of installer registrations.WW5
Returns the list of repositoriesWW4
Returns the list of sysprep modulesWWW
Returns the localization informationWW!
Returns the local name
Returns the log from which facilities to receive.W1
Returns the log from which modules to receive.1
Returns the map access valueWW
Returns the maximum number of instances need to select3
Returns the maximum verbosity level of log to receive..
Returns the migration information of a directoryWW-
Returns the migration informationW
Returns the migration type
Returns the minimum number of instances need to select3
Returns the mode of the documentWW
Returns the name of a settingW
Returns the name of the file of the plugin'
Returns the name of the module
Returns the name of the snapin
Returns the namespace qualifierWWW
Returns the namespace URI of a custom info'
Returns the name this settingW
Returns the next node in the namespace
Returns the nodetype GUID identifier for the nodeW9
Returns the number of edits that have happened to this component instanceWF
Returns the number of valuesWW
Returns the object typeWWW!
Returns the offline installer file repositoryW*
Returns the online environment variable set.WW)
Returns the operation hint.WWW
Returns the ownership flag.WWW
Returns the parent application for the documentWWW
Returns the parent of a scope node!
Returns the path of a file when the owning assembly is being importedWB
Returns the previously installed instance during servicing7
Returns the processor architecture installers are running onWW9
Returns the processor architecture of infs used by this serializerD
Returns the processor architecture the target runs onW2
Returns the program ID
Returns the properties collection for the snapinWW'
Returns the property identified by Name.WWE
Returns the proxy stub class IdWWW
Returns the read only collection of all instancesW
Returns the readonly collection of references to an instanceWW7
Returns the read-only list of registry valuesW8
Returns the read-only redirection table view from the instance indexWW
Returns the read-only redirection table view from the reference range indexWWWD
Returns the reboot indicatorWW
Returns the redirect informationWW
Returns the reference factoryW
Returns the reference redirection tableWWWX
Returns the replacement tokens
Returns the replicated repository root pathWWW(
Returns the repository
Returns the repository flagsWW
Returns the requested assembly from the repositoryF
Returns the resolver identityW
Returns the resolverWW
Returns the resource IDWWW
Returns the resource type for this dependencyW*
Returns the root path of the installed repositoryW"
Returns the root pathW.
Returns the runtime name of a dependency fileW*
Returns the runtime path of a dependency fileW*
Returns the scope namespaceWWW*
Returns the search paths of infs used by this serializerWW4
Returns the second value in a pair.WWW 
Returns the secured attribute of a setting"
Returns the set of all snap-ins that have been loadedW!
Returns the setting information valueW"
Returns the simple identity of the componentWW)
Returns the snapin CLSID in string formWWW8
Returns the snapin vendor name
Returns the snapin version
Returns the source pathWWW
Returns the string value for matchingW"
Returns the string value of this versionWW
Returns the subcategory of category instanceWW)
Returns the subobject of this category instanceWWW!
Returns the subobject of this dependencyWW9
Returns the success code for the generic command to.WW.
Returns the temporary directoryWWW
Returns the textWW
Returns the threading modelWWW
Returns the timeout for registration in seconds.WW-
Returns the tybelib ID5
Returns the typelib flagsW
Returns the typelib ID
Returns the type name of a setting
Returns the type name of categoryW
Returns the type of a custom infoW*
Returns the type of category selection#
Returns the type of file repository this object implements.WWWV
Returns the typeWW
Returns the unique hash of the file.WW!
Returns the UserControl propertyWW
Returns the user specified setting overrides for this instanceN
Returns the value by indexed by a keyW:
Returns the value indexWWW
Returns the value of end-of-life flagW"
Returns the value of released flag
Returns the value of the variable with the specified name.7
Returns the value of this settingW
Returns the valueW
Returns the versionWWW
Returns the visibility attribute of a settingW*
Returns the width of a columnW
Returns true if column is hiddenWW!
Returns type attribute
Returns value for initializing other id in an answer fileW6
Returns version scope attributeWWW
Returns whether it is versioned or not#
Returns whether it's the same view'
Returns whether the containing assembly owns this directoryWWW8
Returns whether the dependency is needed for offline installWW9
Returns whether the menu item is enabled or disabledWW0
Returns whether the node is a scope (tree) or result (list or leaf) item.W1
Returns whether this is readonly or notWWW4
Returns whether to create default value during install3
Returns whether to omit xml declaration during serializeWW5
Returns whether to write the byte order mark during serializeW:
Returns whether UI should be shown for this settingWWW0
   return szBtnHTML;
return the build numberWWW
return the major version numberWWW
return the minor version numberWWW
return the revision number
ReturnValueW
[ReturnValWWW4!
Return whether the identity is partial or notW8
;retvalWW
RevertToSelf
reviewerrorspage.cpp
Revision 
RevokeDragDrop
	RFBadPropTagIdlWWd
rgeltWWW
r;generic
RGetSiteStatusWWW
rgGetSearchCriteriaWWW
rgiidExclude
rgPropValsWW
rgString
RGY]'29sq P
ri9O vdH
rICustomInformationWW
rIGetAttribIMsgOnIStgIdlWW
rightWWW
RightWWWL
RIIdentityWWWL
RInstance
rITargetWpI
RITrustee
rlppContainerList
RlpRecipListW
rlpszNewEntryTitleWWW@
*rMarshallEapError
RoActivateInstance
RoamingCompositesettingHandler_PartialApply
roaming_integration_manager.cpp
roaming_integration_manager.h
roaming_interface.cpp
RoGetActivationFactory
RoGetAgileReference
RoGetMatchingRestrictedErrorInfo
RoInitialize
RollbackEnlistment
rollback operations if they are supported by the installer'
RollbackTransaction method
RoOriginateError
RoOriginateErrorW
RoOriginateLanguageException
RootPathd
RoRegisterActivationFactories
RoReportFailedDelegate
RoRevokeActivationFactories
RoTransformError
RoUninitialize
RpcBindingFree
RpcBindingFromStringBindingW
RpcBindingInqAuthClientW
RpcBindingSetAuthInfoExW
RpcBindingVectorFree
rpccommon.h
RpcEpRegisterW
RpcEpUnregister
RpcExceptionFilter
RpcImpersonateClient
rpcinterface_c.c
rpcinterface_h.h
RpcMgmtWaitServerListen
RpcRevertToSelf
RPCRT4.dll
rpc_sec_test_c.c
rpc_sec_test.h
RpcServerInqBindings
RpcServerListen
RpcServerRegisterIf
RpcServerRegisterIf3
RpcServerRegisterIfEx
RpcServerUnregisterIf
RpcServerUseProtseqEpW
RpcServerUseProtseqW
rpc_shell_notify_task.cpp
rpc_shell_notify_task.h
rpc_shell_notify_task.hpp
RpcStatus
RpcStringBindingComposeW
RpcStringFreeW
rpcutils.h
rpfrminfo
RPT file
RptFileName
RRegistryKeys
rRenameSelectedItemWWx
RResolveW
rrrrplql
rrsxxxxxxx
RRYY;;III#
RSDSeiuw
RSDSORM-xTKF
RSDSqx;I
rsodinterface.cpp
rsod_process_runtime.cpp
rsod_process_runtime.h
rsod_runtime.cpp
rsod_runtime.h
rsod_subsystem_module.cpp
rsod_subsystem_module.h
__RTDynamicCast
RTFSyncIdl
RtlAcquireResourceExclusive
RtlAcquireResourceShared
RtlAcquireSRWLockExclusive
RtlAddAccessAllowedAce
RtlAddMandatoryAce
RtlAdjustPrivilege
RtlAllocateAndInitializeSid
RtlAllocateHeap
RtlAreLongPathsEnabled
RtlAvlInsertNodeEx
RtlAvlRemoveNode
RtlCaptureContext
RtlCompareMemory
RtlCompareUnicodeString
RtlCreateAcl
RtlCreateAndSetSD
RtlCreateHeap
RtlCreateSecurityDescriptor
RtlDeleteCriticalSection
RtlDeriveCapabilitySidsFromName
RtlDisownModuleHeapAllocation
RtlDllShutdownInProgress
RtlDosPathNameToNtPathName_U
RtlDosPathNameToRelativeNtPathName_U
RtlEnterCriticalSection
RtlEqualUnicodeString
RtlFreeHeap
RtlFreeSid
RtlFreeUnicodeString
RtlGetDeviceFamilyInfoEnum
RtlGetNtProductType
RtlGetPersistedStateLocation
RtlGetUILanguageInfo
RtlGetVersion
RtlImageNtHeader
RtlInitializeCriticalSection
RtlInitializeResource
RtlInitializeSid
RtlInitString
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlIpv4AddressToStringExW
RtlIpv4StringToAddressExW
RtlIpv6AddressToStringExW
RtlIpv6AddressToStringW
RtlIpv6StringToAddressExW
RtlIsCapabilitySid
::RtlIsLBlobValid(Blob)
::RtlIsLUnicodeStringValid(String)
RtlIsMultiSessionSku
RtlIsPackageSid
RtlIsStateSeparationEnabled
RtlLeaveCriticalSection
RtlLengthRequiredSid
RtlLengthSid
RtlLookupFunctionEntry
RtlMakeSelfRelativeSD
RtlMapGenericMask
RtlNotifyFeatureUsage
RtlNtStatusToDosError
RtlNtStatusToDosErrorNoTeb
RtlPcToFileHeader
RtlpSetPreferredUILanguages
RtlPublishWnfStateData
RtlQueryFeatureConfiguration
RtlQueryWnfStateData
RtlRaiseStatus
RtlReAllocateHeap
RtlReallocateLBlob
RtlReallocateLUnicodeString
RtlRegisterFeatureConfigurationChangeNotification
RtlReleaseRelativeName
RtlReleaseResource
RtlReleaseSRWLockExclusive
RtlSetDaclSecurityDescriptor
RtlSetOwnerSecurityDescriptor
RtlSetProcessIsCritical
RtlSetSaclSecurityDescriptor
RtlSleepConditionVariableSRW
RtlStringFromGUID
RtlSubAuthoritySid
RtlSubscribeWnfStateChangeNotification
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlUnhandledExceptionFilter
RtlUnregisterFeatureConfigurationChangeNotification
RtlUnsubscribeWnfNotificationWaitForCompletion
RtlUnsubscribeWnfStateChangeNotification
RtlUnwind
RtlUnwindEx
RtlVirtualUnwind
RtlWakeAllConditionVariable
RtlWow64GetThreadContext
rtpudpsock.cpp
rtpudpsock.h
rtsp.cpp
rtspdata.cpp
rtspdata.h
rtspproxyconfigtest.cpp
rtspproxyconfigtest.h
rtsprequest.cpp
rtsprequest.h
rtspresourcemanager.cpp
rtspresourcemanager.h
rtspservicemanager.cpp
rtspservicemanager.h
rtspserviceprovider.cpp
rtspserviceprovider.h
rtspworkitems.cpp
rtspworkitems.h
;rulTotalW
rum_tests.cpp
RunIHVPages
RunImcCommandLine
runInstance
RUNPROGRAM
RunRestore
runtimecfgapplicator.cpp
runtimecfgapplicator.h
runtimecfgeditscriptpage.cpp
runtimecfgeditscriptpage.h
runtimecfginieditdialog.cpp
runtimecfgmanager.cpp
runtimecfgmanager.h
runtimecfgmultieditdialog.cpp
runtimecfgpage.cpp
runtimecfgregeditdialog.cpp
runtimecfgregeditdialog.h
runtimecfgsearch.cpp
runtimecfgsearchdialog.cpp
runtimecfgsearch.h
runtimecfgsearchresult.cpp
runtimecfgsearchresult.h
runtimecfgsearchtask.cpp
runtimecfgsearchtask.h
runtimecfgsearch_test.cpp
runtimecfgsubsystemeditdialog.cpp
runtimecfgutils.cpp
runtimecfgutils.h
runtimecfgwizpage.cpp
runtimecfgwizpage.h
runtimecfgxmleditdialog.cpp
runtimecfgxmleditdialog.h
RuntimeCompatibilityAttribute
runtime_database.cpp
RuntimeFieldHandle
RuntimeHelpers
runtime_manager.cpp
RuntimeTypeHandle
rz6zr:v:z::b"
S0n01XJTk0o0
S2BCryptGetProperty
s8fE90t!fA
S9lppTableDatad
safe_array_with_structs.hpp
SafeFreeDiskLayout
SafeHandle
SafeHandleZeroOrMinusOneIsInvalid
SafeStringToDword
sample_monitor.cpp
sample_monitor.h
sample_process_monitor.cpp
sample_process_monitor.h
sample_process_runtime.cpp
sample_process_runtime.h
sample_registrator.cpp
sample_registrator.h
sample_runtime.cpp
sample_runtime.h
sample_ve_wrapper.cpp
sample_ve_wrapper.h
sample_visualizer.cpp
sample_visualizer.h
Sanitize
SanitizeArg
SanitizeFileName
SanitizePath
SanitizePath1
SanitizeString
Santa Clara1
_SAppTimeArrayIdlWWWH
Saturday
savagentrpcmock.cpp
savagentrpcmock.h
savagentunittest.cpp
savcfg_crypt.cpp
savcfg_crypt.h
savcfg_crypt_test.cpp
SaveAsync
SaveEnvironmentVariable
SaveForm
savepackagepage.cpp
savepref.cpp
savepref.h
saverrors.h
Saves the document using the specified nameWWW
savpkg.cpp
savserv.cpp
savserv.h
savsetupactions.cpp
savsetupactions.h
savsetupca.cpp
savsetupconfig.cpp
savsetupconfig.h
saxfind.cpp
saxsearch.cpp
saxsearch.h
saxutils.cpp
saxutils.h
sbGetDefaultDirWWW
_SBinaryArrayIdl
_SBinaryIdlW
ScanCalled
scanParameters context is missing
ScanPartitionPath
ScanService
SCardAccessStartedEvent
SCardBeginTransaction
SCardConnectW
SCardDisconnect
SCardEndTransaction
SCardEstablishContext
SCardFreeMemory
SCardGetCardTypeProviderNameW
SCardGetReaderDeviceInstanceIdW
SCardGetStatusChangeW
SCardListCardsW
SCardListReadersW
SCardListReadersWithDeviceInstanceIdW
SCardReconnect
SCardReleaseContext
SCardReleaseStartedEvent
S"cbABContEntryIDW@
ScbEntryIDWWWl
sccmuriconfig.cpp
sccmuriconfigtest.cpp
ScCopyProps
ScCopyPropsIdl
ScCopyPropsIdlWW
ScCountProps
ScCountPropsIdl
ScCreateConversationIndex
ScCreateConversationIndexIdl
ScDupPropset
ScDupPropsetIdl
ScDupPropsetIdlW
?ScEmitOrPostpone@CEventBuffer@@QEAA?AVSC@mmcerror@@PEAUIDispatch@@JPEAVCComVariant@ATL@@H@Z
scenario
?ScFromMMC@@YA?AVSC@mmcerror@@J@Z
schannelsocket.cpp
schannelsocket.h
Schedule
?_Schedule_chore@details@Concurrency@@YAHPEAU_Threadpool_chore@12@@Z
ScheduleDeviceEnrollerOnLogin
ScheduleDeviceEnrollerOnPFW
scheduledtaskmanager.cpp
scheduledtaskmanager.h
scheduledtaskmgrtests.cpp
ScheduleOMADMClientTaskHelper
ScheduleOneOmaDmSessionClient
ScheduleOneOmaDmSessionMaintenanceCycle
ScheduleProvisioningInitiatedSyncHelper
ScheduleRenewalWork
schemautils.cpp
schemautilstests.cpp
ScInitMapiUtil
ScInitMapiUtilIdl
ScInitMapiUtilIdlWWWd
sCMFVideoThumbnail::CreateInstance
sCmiEventsWWW
scmiNetworkLogonPrivilege
scmiRedirectInformationWWd
scm_stopwatch.cpp
scm_stopwatch.h
_SCommentRestrictionIdlWh
_SComparePropsRestrictionIdl
_SContentRestrictionIdlW
ScopeNamespace InterfaceWW"
	ScopeNamespaceWW(
	ScopeNodeContextMenuL
ScopeNodeWWW
-ScopeTreeVisible 
ScreenToClient
scriptbuilder.cpp
scriptbuilder.h
scriptbuildertests.cpp
scriptconfigitem.cpp
scriptconfigitem.h
scriptconfigitem_test.cpp
scriptingcomponent.cpp
scriptingcomponent.h
scriptingcomponenttest.cpp
scriptingerrors.h
scriptinginterface.cpp
scriptlauncher.cpp
scriptlauncher.h
scriptlaunchertest.cpp
scriptmanager.cpp
scriptmanager.h
scriptmanagertest.cpp
ScrollWindow
?ScSetConsoleEventDispatcher@CConsoleEventDispatcherProvider@@SA?AVSC@mmcerror@@PEAVCConsoleEventDispatcher@@@Z
_SCurrencyArrayIdlWW
_SDateTimeArrayIdlWW
_SDoubleArrayIdl
@searchable
SearchPathsWp
SearchPathW
SearchRepositoryp
SE_ASSIGNPRIMARYTOKEN_PRIVILEGEWWW
SE_AUDIT_PRIVILEGE
SE_BACKUP_PRIVILEGEWWW
SE_BATCH_LOGON_NAMEWWW
sec1reader.cpp
sec9fixup.cpp
sec9manager.cpp
sec9_reader.cpp
sec9_reader.h
sec9_tree_browser.cpp
sec9writer.cpp
seccallback.cpp
secchannel.cpp
secchannel.h
s ECC state corrects single-bit and detects double-bit errors.
SE_CHANGE_NOTIFY_PRIVILEGE
SecondWW
SE_CREATE_GLOBAL_PRIVILEGE
SE_CREATE_PAGEFILE_PRIVILEGEWW
SE_CREATE_PERMANENT_PRIVILEGEW
SE_CREATE_TOKEN_PRIVILEGEW
sectioncodecimpl.cpp
Secur32.dll
SecurityAction
security.cpp
SecurityDescriptorDefinitionsWWW
securitydescriptormetadata.cpp
securitydescriptormetadata.h
securitydescriptormetadatareader.h
security_descriptor_metadata_ut.cpp
!SecurityDescriptorReferenceW
SecurityDescriptorWW
security.h
security.hpp
SecurityIdentifier
SecurityInformationW
security_manager.cpp
SecurityPermissionAttribute
SE_DEBUG_PRIVILEGE
SE_DENY_BATCH_LOGON_NAMEWW
SE_DENY_INTERACTIVE_LOGON_NAME
SE_DENY_NETWORK_LOGON_NAME
SE_DENY_REMOTE_INTERACTIVE_LOGON_NAMEW1
SE_DENY_SERVICE_LOGON_NAME 
SEDVersion
SeekRowW
SE_ENABLE_DELEGATION_PRIVILEGE
segmenttranslator.cpp
segmenttranslator.h
SE_IMPERSONATE_PRIVILEGEWW
SE_INC_BASE_PRIORITY_PRIVILEGE
SE_INCREASE_QUOTA_PRIVILEGEWWW
SE_INTERACTIVE_LOGON_NAMEW
SelectAllWWWL
SelectClipRgn
Selected clsid is
selectedFilter
SelectedInstancesWWW0C
?SelectedProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
SelectFormContainerW
SelectFromObject
Selecting clsid
SelectionContextMenuL
Selection is doneW'
SelectionMax0C
SelectionMin0C
SelectionObjectWL
SelectionWWW
SelectionWWWL
SelectMultipleFormsW
SelectObject
Selects all items in the result paneWW!
Selects a node in the result paneW
Selects element based on a path expression.
Selects elements from a specified object based on a path expressionWWW8
selecttransformoutputpathpage.cpp
SelectWW
SelectWWL
?_SelfLayoutDoLayout@Element@DirectUI@@MEAAXHH@Z
?_SelfLayoutUpdateDesiredSize@Element@DirectUI@@MEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
SE_LOAD_DRIVER_PRIVILEGEWW
SE_LOCK_MEMORY_PRIVILEGEWW
SE_MACHINE_ACCOUNT_PRIVILEGEWW
SE_MANAGE_VOLUME_PRIVILEGE
Semaphore
semaphoreHigh
SendDlgItemMessageA
SendDlgItemMessageW
SendInput
SendLogMessageWW
SendMessage
SendMessageA
SendMessageCallbackW
SendMessageTimeoutW
SendMessageW
SendNotifyMessageW
SendPackageArrivedNotification
sendrequesttests.cpp
sendrequesttests.h
SendScsiInquiry
SendScsiReadCapacity
SendScsiReportLuns
SendSyncEvent
SE_NETWORK_LOGON_NAMEW
SenseUpdateProvision
SeparateFiles
SE_PROF_SINGLE_PROCESS_PRIVILEGEWW
September
seqcli_test.cpp
seqproject.cpp
seqproject.h
seqsample_main.cpp
seqsample_packager.h
Sequence
SequencedPathsWW
sequencerdialog.cpp
sequencerdialog.h
sequencerlog.cpp
sequencerlog.h
sequencersetupactions.cpp
sequencersetupactions.h
sequencersetupca.cpp
sequencersqm.cpp
sequencersqm.h
sequencersqmut.cpp
sequencetask.cpp
SE_REMOTE_SHUTDOWN_PRIVILEGEWW
SE_RESTORE_PRIVILEGEWW
SerializerWW
Serializes a CMI object to the given destinationWW.
[(SerializeWWW
serieName
SeriesChartType
SeriesCollection
serverconfiguration.cpp
serverconfiguration.h
serverconfigurationtests.cpp
serverlistview.cpp
serverpage.cpp
serverregrecord.cpp
serverregrecord.h
serverregrecordtests.cpp
servertaskrecord.cpp
servertaskrecord.h
servertaskrecordtests.cpp
ServiceBase
servicebasics.cpp
servicebasics.h
servicebundle.cpp
servicebundle.h
service_config_reader.cpp
service_config_reader.h
service_config_reader_test.cpp
service.cpp
servicedatatypes.h
servicedependencypage.cpp
servicefactory.cpp
servicefactory.h
servicegeneralpage.cpp
service_hooks.cpp
servicehooks.cpp
ServiceId
serviceinclusionmgr.cpp
serviceinclusionmgr.h
service_information.hpp
serviceinterfaces.h
servicelogonpage.cpp
servicemanager.cpp
servicemanager.h
service_metadata.cpp
service_metadata.h
ServiceName
service_process.cpp
ServiceProviderId
ServiceProviderName
servicerecoverypage.cpp
service_request_proxy.cpp
service_request_proxy.h
servicespage.cpp
servicesregistrykeyenumerator.cpp
servicesregistrykeyenumerator.h
servicesregistrykeyenumerator.stub.cpp
service_table.cpp
SE_SECURITY_PRIVILEGEW
SE_SERVICE_LOGON_NAMEW
SE_SHUTDOWN_PRIVILEGEW
sessioncontroller.cpp
sessioncontroller.h
session.cpp
session.h
sessionID
sessionimpl.cpp
sessionimpl.h
sessionmanager.cpp
sessionmanagerfactoriestests.cpp
sessionmanager.h
sessionmanagertests.cpp
sessionmgr.cpp
sessionmgr.h
sessionmock.cpp
sessionmock.h
sessionName
sessionoverrides.h
sessionqueue.h
sessionqueueimpl.cpp
sessionqueueimpl.h
sessionqueuemock.cpp
sessionqueuemock.h
sessionqueuetests.cpp
sessiontests.cpp
sessiontests.h
SessionTime
SE_SYNC_AGENT_PRIVILEGEWWW
SE_SYSTEM_ENVIRONMENT_PRIVILEGEWWW
SE_SYSTEM_PROFILE_PRIVILEGEWWW
SE_SYSTEMTIME_PRIVILEGEWWW 
?SetActive@Element@DirectUI@@QEAAJH@Z
SetActiveWindow
SE_TAKE_OWNERSHIP_PRIVILEGEWWW
set_Alignment
__set_app_type
set_Arguments
SetAttribIMsgOnIStg
SetAttribIMsgOnIStgIdl
set_AutomaticDelay
set_AutoPopDelay
SetAutoRescanAllowed
SetAutoRescanEnabled
set_AutoReset
set_AutoScaleDimensions
set_AutoScaleMode
set_AutoSize
set_BackColor
set_BackGradientStyle
set_BackgroundImage
?SetBackgroundStdColor@Element@DirectUI@@QEAAJH@Z
SetBatteryLevel
SetBkColor
SetBkMode
set_BorderWidth
SetBrushOrgEx
SetCapture
?SetCaseSensitive@ARGUMENT_LEXEMIZER@@QEAAXE@Z
SE_TCB_PRIVILEGEWW
set_ChartArea
set_ChartType
SetClass
SetClassLongPtrW
set_ClientSize
SetClipboardViewer
SetCoalescableTimer
SetCollapseState
SetColumnsWW
SetCompatibleTextRenderingDefault
set_ComputeEnabled
SetComputerNameExW
SetConsoleCtrlHandler
SetConsoleMode
SetContentProcessIntegrityPolicy_CacheCIPolicyForTroubleshooting
SetContentProcessIntegrityPolicy_GetCodeIntegrityEnablementState
SetContentProcessIntegrityPolicy_GetCompatExemptionPolicy
SetContentProcessIntegrityPolicy_GetProcessMitigationPolicy
SetContentProcessIntegrityPolicy_SetProcessMitigationPolicy
SetContentProcessSecurityPolicies_DisableReadOnlyResourceConversion
SetContentProcessSecurityPolicies_DisableVectoredExceptionHandlerRegistration
?SetContentString@Element@DirectUI@@QEAAJPEBG@Z
set_CreateNoWindow
SetCriticalSectionSpinCount
set_Culture
SetCurrentDirectoryW
SetCurrentThreadCompartmentId
set_Cursor
SetCursor
SetDCPenColor
SetDefaultDirWWW
SetDefaultProfileWWWd
SetDesktopColorTransform
set_Device
SetDeviceComputeMode
SetDeviceDriverModel
SetDeviceEccMode
set_DeviceHandle
set_DeviceIndex
set_DialogResult
SetDlgItemTextA
SetDlgItemTextW
set_Dock
set_Docking
set_DoubleBuffered
set_DriverModel
set_EccDisabled
set_EccEnabled
set_EccSupported
set_Enabled
set_EnablePrivileges
SetEndOfFile
SetEntriesInAclW
SetEnvironmentVariable
SetEnvironmentVariableW
_set_errno
set_ErrorImage
SetErrorMode
SetEvent
set_ExitCode
SetExitEvent
SetFileAttributesA
SetFileAttributesW
SetFileInformationByHandle
set_FileName
SetFilePointer
SetFilePointerEx
SetFileTime
set_FixedPanel
SetFocus
set_ForeColor
?SetForegroundStdColor@Element@DirectUI@@QEAAJH@Z
SetForegroundWindow
set_FormBorderStyle
SetFullscreenMagnifierOffsetsDWMUpdated
?SetFunctionName@SC@mmcerror@@QEAAXPEBG@Z
SetGadgetFlags
SetGadgetStyle
set_GraphicsAndCompute
set_GraphicsOnly
SetHandle
SetHardwareDeviceUsage
?SetHeight@Element@DirectUI@@QEAAJH@Z
set_HWnd
?SetHWnd@SC@mmcerror@@SAXPEAUHWND__@@@Z
set_InitialDelay
set_InitialImage
set_Interval
set_IntervalType
SetIScsiGroupPresharedKey
SetIScsiIKEInfoW
SetIScsiInitiatorCHAPSharedSecret
SetIScsiInitiatorNodeNameW
SetIScsiTunnelModeOuterAddressW
set_IsLabelAutoFit
set_IsMarginVisible
set_IsSameFontSizeForAllAxes
set_IsStartedFromZero
set_Item
_setjmp3
_setjmpex
SetKernelObjectSecurity
?SetKeyFocus@Element@DirectUI@@UEAAXXZ
set_LabelAutoFitMaxFontSize
set_LabelAutoFitStyle
SetLastError
set_LastWriteTimeUtc
SetLayeredWindowAttributes
SetLayout
?SetLayoutPos@Element@DirectUI@@QEAAJH@Z
set_Left
set_Legend
set_LegendText
@SetLimitsWWWX
set_LineColor
setlocale
SetLockState
SetLoggingFunction
?SetMainThreadID@SC@mmcerror@@SAXK@Z
set_MaximizeBox
set_Maximum
SetMenuDefaultItem
SetMenuItemInfoW
SetMessageStatus
set_MinimizeBox
set_Minimum
SetMinimumDCompVersion
_setmode
set_Name
SetNamedSecurityInfoW
set_NeedApply
SetOfflineTimestamp
SetOperation
set_Palette
set_PaletteCustomColors
SetParent
SetPartitionAttributes
SetPartitionType
SetPhysicalCursorPos
SetPixel
SetPriorityClass
SetProcessDPIAware
SetProcessDpiAwareness
SetProcessDpiAwareness(PROCESS_SYSTEM_DPI_AWARE)
SetProcessInformation
SetProcessMitigationPolicy
SetProcessPreferredUILanguages
SetProcessShutdownParameters
SetProcessValidCallTargets
set_ProgramDependencies
SetProps
SetPropW
SetProtectedPolicy
SetReadFlags
SetReadFlagW
SetReceiveFolder
SetRectEmpty
set_ReshowDelay
SetRestrictedErrorInfo
Sets 16-byte public key token for the publisherWWW'
Sets a colon separated list of authors:
Sets a colon separated list of ownersW)
Sets a colon separated list of testers)
Sets a list of capabilities of a group trustee(
Sets a list of members of a domain trustee)
Sets a list of members of a group trusteeW.
Sets a list of privileges assigned to a trusteeWWW)
Sets assembly IdWW
Sets batch commit size
Sets comments that are useful for documentation purposeWWWI
Sets company nameW
Sets configuration answer file that overrides an unattend.xml fileB
Sets copyright information
Sets creation time
SetScrollInfo
Sets descriptionWW
Sets display nameW
SetSearchPathWWW
SetSecurityAccessMask
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityInfo
?SetSelected@Element@DirectUI@@QEAAJ_N@Z
Sets environment to expand paths during import1
SetServiceAsTrustedW
set_ServiceName
SetServiceStatus
Sets file repository for packageWW#
set_ShowIcon
set_ShowInTaskbar
Sets if a dependency is optional or not.WW-
Sets if optional flag for this dependencyW
Sets if the instance is enbaled or notB
Sets if this instance is enbaled or notWWW'
Sets information about what to exclude during migrationWWW0
Sets information about what to include during migrationWWW!
Sets installer capability flags propertyWW)
set_SizeGripStyle
Sets last update timeW"
Sets locale independent nameWW
Sets manifest file search patternW
Sets maximum disk file sizeWWW
Sets nameW
Sets new versionWW
Sets old versionWW
Sets repository for packagerWW
Sets ScopeTreeVisible property
Sets source nameWW
Sets support informationWW)
set_StartPosition
SetStateBits
SetStdHandle
Sets the additional arguments for the event to be postedWWE
Sets the algorithm used to generate the hashWW"
Sets the arguments for the executable.H
Sets the arguments for the registration.WW.
Sets the arguments for the un-registration.WWW0
Sets the arguments to this resolverWWW
Sets the array of paths that defines this sequence1
Sets the base interface nameWW
Sets the batch transaction setting
Sets the boolean flag indicating if the security descriptor reference is for offline modeW0
Sets the class ID of the installer factory5
Sets the class id of the pluginWWW(
Sets the class IDW
Sets the CMI namespace1
Sets the component languageWWW8
Sets the component where the setting is definedWWW-
Sets the coordinate of the left of the frameWW0
Sets the coordinate of the right of the frameW
Sets the coordinate of the top of the frameWWW1
Sets the culture for the assemblyW
Sets the current query flagsWW
Sets the current query parametersW
Sets the definition of a reference7
Sets the definition of this referenceW(
Sets the dependency type for this dependencyWW8
Sets the dependent assembly identityWW0
Sets the dependent category identityWW-
Sets the description for this dependencyWWF
Sets the description of a security descriptor definitionWW0
Sets the description of a trusteeW
Sets the descriptionWW
Sets the destination file name.WWW
Sets the destination pathW
Sets the discoverable flag.WWW-
Sets the display name of a security descriptor definitionW8
Sets the display nameW
Sets the display position of the column in the set of columnsW 
Sets the escaped textual representation for xml elementsWW.
Sets the estimated size of a component
Sets the factory used by an instance factoryWW
Sets the factory used by an reference factoryW
Sets the file attributesWW
Sets the file repositoryWW
Sets the file size0
Sets the file writeable typeWW!
Sets the first value in a pair.WWW!
Sets the flag that specifies if this command must run during install.WC
Sets the full name of a trusteeWWW!
Sets the fully qalified name for creating an empty directoryWW;
Sets the fully qualified path to the execuable relative to component's root.WW)
Sets the fusion activation context inheritance flag for applicationsWWB
Sets the fusion activation context inheritance flag for assemblies#
Sets the global log listener.W5
Sets the help directoryWWW
Sets the Hidden status for columnW
Sets the HRESULT for the event that was posted!
Sets the identity of a parent or NULL for any parentWW1
Sets the identity of the component7
Sets the identity of the component to apply the setting toH
Sets the identity of the instanceW)
Sets the identity of the supported component.W1
Sets the identity of this configurationWWW1
Sets the identity that qualifies a setting
Sets the id for a configuration generated by this answer fileW
Sets the imaging informationWW.
Sets the import path for the INF fileW.
Sets the installation pass during which registration is to be run.H
Sets the installation pass during which un-registration is to be run.W
Sets the installation pass installer should performWWW
Sets the installation pass this sequence applies toWWW:
Sets the installed repositoryW
Sets the installed repository .WWW3
Sets the installer that this sequence needs to be ahead of5
Sets the installer that this sequence needs to followW2
Sets the instance factoryW
Sets the instance identity
Sets the instrumentation information of the assemblyWW
Sets the interface IDW
Sets the key nameW
Sets the key owner-
Sets the LanguageMode for resolving configurationW
Sets the list of supported target processor architecturesW8
Sets the localization informationW*
Sets the manifest resource dependencyW(
Sets the map access valueW
Sets the maximum number of instances need to selectWWW6
Sets the migration informationF
Sets the migration information of a directoryW7
Sets the migration information of a registry keyWW!
Sets the migration plugin informationW.
Sets the migration typeWWW
Sets the minimum number of instances need to selectWWW6
Sets the mode of the documentW
Sets the module nameWW6
Sets the name of a security descriptor definitionW1
Sets the name of a security descriptor referenceWW
Sets the name of a settingB
Sets the name of a trustee
Sets the name of the current documentW)
Sets the name of the file of the pluginWWW"
Sets the namespace qualifierWW
Sets the namespace URI of a custom infoWWW
Sets the name this setting3
Sets the number of edits that have happened to this component instance@
Sets the object for the event to be posted2
Sets the offline installer file repository*
Sets the online environment variable set.W
Sets the operation hint of a security descriptor definitionWWW9
Sets the owner of a trusteeWWW'
Sets the ownership flag.WW
Sets the per user virtualization value
Sets the previously installed instance during servicingWWW:
Sets the processor architecture installers are running onW5
Sets the processor architecture path of infs used by this serializerWW2
Sets the processor architecture the target runs on-
Sets the proxy stub class IdWW
Sets the reboot indicatorWD
Sets the redirect informationW
Sets the registry valueWWW
Sets the replacement tokensWWWA
Sets the replicated repository root pathWW:
Sets the repository flagsW 
Sets the repository to be used with the instance factoryWW
Sets the ResolutionMode for resolving configurationWWW5
Sets the resolution stage of this referenceWWW
Sets the resolution status of this referenceWW
Sets the resolver identity*
Sets the resolverW1
Sets the resource IDWW
Sets the runtime name of a dependency file0
Sets the runtime path of a dependency file-
Sets the SDDL of a security descriptor definitionW;
Sets the search path of infs used by this serializerWWB
Sets the second value in a pair.WW"
Sets the security descriptor reference of a directoryW0
Sets the security descriptor reference of a fileWW6
Sets the security descriptor reference of a registry keyWW1
Sets the security information of an assemblyWWD
Sets the setting information value-
Sets the sid of a trusteeW
Sets the simple identity of the componentW0
Sets the source name of the dependency file.WW-
Sets the source pathWW
Sets the status bar textWWf
Sets the string value for matchingD
Sets the subcategory of category instanceW-
Sets the success code for the generic command.N
Sets the supported combination of InstallationTypeConstsWW
Sets the textW
Sets the threading modelWW
Sets the timeout for registration in seconds.W
Sets the trustee typeW(
Sets the typelib flags
Sets the type name of category
Sets the type of category selectionWWW!
Sets the UserControl propertyW-
Sets the value
Sets the value of end-of-life flagI
Sets the value of this settingsWWW'
Sets the value of this version(
Sets the versionWW
Sets the width of a column@
?Set@STREAM_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
Sets type attributeWWW
Sets upper bound for the version range)
Sets up the internal environment object for the specified setup typeWW(
SetSuspendState
Sets value for initializing other id in an answer file2
Sets version scope attributeWW!
Sets whether it is versioned or notWWW
Sets whether the containing assembly owns this directoryWW5
Sets whether the dependency is needed for offline installW(
Sets whether to create default value during installWWW0
Sets whether to write the byte order mark during serialize
Sets whether UI should be shown for this settingWW!
set_SyncMethodType
SetSystemCursor
SetSystemPowerState
set_TabStop
SetTelemetryDataPointWWW
set_Text
SetTextColor
set the build numberWW
set the major version numberWW
set the minor version numberWW
Set the program ID
set the revision numberWWW
SetThreadDescription
SetThreadpoolThreadMaximum
SetThreadpoolTimer
SetThreadpoolWait
SetThreadPreferredUILanguages
SetThreadPriority
SetThreadStackGuarantee
SetThreadUILanguage
SetTimer
settingactivities.cpp
settingactivities.h
settingcache.h
settingcachetests.cpp
settingchangedtests.cpp
settingData
SettingDefinitionsWWx
SettingDefinitionWWW
SettingInformationWW
SettingInstances@Q
SettingInstanceWl9
settingmanager.h
settingmanagertest.cpp
settingName
SettingOption
SettingOverrideConflictInformationWW
SettingOverrideInstances
SettingOverrideInstanceW
SettingOverrides@
settings
Settings
SettingsBase
settingscollators.cpp
settingscollators.h
settingsender.h
settingsendertest.cpp
settingsList
SettingSource
SettingSyncApplyCDSSettingUnitsFails
SettingSyncDownloadBadEvent
SettingSyncDownloadHelper.dll
SettingSyncDownloadOperationFailure
SettingSyncExit
SettingSyncLaunch
SettingSyncRecievedDownloadNotification
SettingSyncRefCountImbalance
SettingSyncResetEventFailure
SettingSyncSetEventFailure
SettingSyncSubscribeDownloadNotificationFailure
SettingSyncSubscribeDownloadNotificationRetry
settingType
SettingTypes
settingTypesDownloaded
SettingUnit
settingUnitID
SettingUnitId
SettingUnitWNFRecieved
settingwatcher.h
settingwatchertest.cpp
SetTokenInformation
set_TotalMemory
SetUnhandledExceptionFilter
set_UnitTestEvent
set_UnitTestForm
setupactions.h
SetupAllEnrollmentSchedules
setupapi.dll
Setupapi.dll
SETUPAPI.dll
setupapiRetVal
SetupCloseInfFile
setupconfig.cpp
setupconfig.h
setupconfigtest.cpp
setupconfigtestwithnoparam.cpp
SetupDiCallClassInstaller
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiDestroyDeviceInfoList
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiGetActualSectionToInstallW
SetupDiGetClassDevs
SetupDiGetClassDevsW
SetupDiGetDeviceInterfaceDetailW
SetupDiGetDevicePropertyW
SetupDiGetDeviceRegistryProperty
SetupDiGetDeviceRegistryPropertyW
SetupDiGetINFClass
SetupDiOpenDeviceInfoW
SetupDiSetDevicePropertyW
SetupDiSetDeviceRegistryProperty
setupengine.cpp
setupengine.h
setupenginetest.cpp
SetupEnvironment
SetupFindFirstLineW
SetupGetInfDriverStoreLocationW
setup.inf
SetupOpenInfFileW
setupparamstest.cpp
SetupPersistentIScsiVolumes
setup.rpt
setuputils.hpp
SetUrlCacheEntryInfoA
__setusermatherr
set_UseShellExecute
set_UseVisualStyleBackColor
set_Uuid
SetValue
?SetValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZHPEAVValue@2@@Z
?SetValue@Element@DirectUI@@QEAAJPEBUPropertyInfo@2@HPEAVValue@2@@Z
SetViewportOrgEx
set_Visible
?SetVisible@Element@DirectUI@@QEAAJ_N@Z
SetVolumeMountPointW
SetWaitableTimer
set_Wddm
set_Width
?SetWidth@Element@DirectUI@@QEAAJH@Z
SetWindowLongPtrA
SetWindowLongPtrW
SetWindowLongW
SetWindowPlacement
SetWindowPos
SetWindowRgn
SetWindowsHookExW
set_WindowStyle
SetWindowTextW
SetWindowTheme
SetWinEventHook
?SetX@Element@DirectUI@@QEAAJH@Z
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@0@Z
SE_UNDOCK_PRIVILEGEWWW
SE_UNSOLICITED_INPUT_PRIVILEGE
!sExcludeComponentsWWWLO
SExecuteScopeNodeMenuItemL
_SExistRestrictionIdlWWW
sfhs_process_runtime.cpp
sfhs_process_runtime.h
sfhs_runtime.cpp
sfhs_runtime.h
sftapi.h
sftcoreapi.h
sfterrors.h
sftheaders.cpp
sftheaders.h
sftlpresult.cpp
sftlpresult.h
sftmedia.cpp
sftmedia.h
sftmediaresource.cpp
sftmediaresource.h
sftmime_exec.cpp
sftmime_parse.cpp
sftmime_utdefs.h
sftmsxml.h
sftparserxmlut.cpp
sftsecurity.h
sfttofsmetadataconverter.hpp
sfttofsmetadataconverter_ut.cpp
sftworkitemdecorators.cpp
sftworkitemdecorators.h
sftworkitems.cpp
sftworkitems.h
sftwriter.cpp
sftxml.h
sgclientdlg.cpp
sgcomipcserver.cpp
sgcomsuite.cpp
SGetFormManagerWW
SGetNextW
sgexception.h
sGGwSa'7wp
sgipcservercontrol.cpp
sgipcservercontrol.h
SgpropIndexWWW
sgregistrykey.cpp
sgremoteapiexceptions.h
sgrpcclient.cpp
sgrpcclient.h
sgsec8fileiotraits.h
sgservicing.h
sgsftldrexceptions.h
sgsuite.cpp
)_SGuidArrayIdlWW
sgvfontipcserver.cpp
sgvregistry.cpp
sgvregistry.h
sgvregistrytest.cpp
SHAppBarMessage
shared_errors.h
ShareModeWWW
SHBindToFolderIDListParent
SHBindToObject
SHBrowseForFolderW
SHChangeNotify
SHCopyKeyW
SHCreateDirectoryExW
SHCreateItemFromParsingName
SHCreateItemInKnownFolder
SHCreateMemStream
SHCreateStreamOnFileEx
SHCreateStreamOnFileW
SHDeleteKeyW
SHDeleteValueW
SHELL32.dll
ShellAboutW
ShellExecuteExW
ShellExecuteW
shellextensiondetector.cpp
shellextensiondetector.h
shellextensiondetectorut.cpp
shellextensionenumerator.cpp
shellextensionenumerator.h
shellextensionsnotifieripc_c.c
shellextensionsnotifieripc.h
shellextensionspackagerbinder.cpp
shellextensionspackager.cpp
shellextensionspackager.h
shellextensionspackagerwriter.cpp
shellextensionspublishingoperation.cpp
shellextensionsregistrator.cpp
shellextensionsregistrator.h
shellextensionsrpcserverapi.cpp
shellextensionsrpcserver.cpp
shellextensionsrpcserver.h
shellnfy.h
shell_notification_manager.cpp
shell_notification_manager_impl.cpp
shellnotifycommand.hpp
Shell_NotifyIconW
ShellPackageList
Shell_RequestShutdown
SHFileOperationW
!ShfjhhhjhjfjffSSSfL(
SHGetDataFromIDListW
SHGetDesktopFolder
SHGetFolderPathW
SHGetIDListFromObject
SHGetKnownFolderIDList
SHGetKnownFolderPath
SHGetMalloc
SHGetPathFromIDListW
SHGetSpecialFolderLocation
SHGetSpecialFolderPathW
SHGetValueW
SHLWAPI.dll
SHOpenRegStream2W
shortcutbuilder.cpp
shortcutbuildertests.cpp
shortcut.cpp
shortcut_file_check.hpp
shortcut_file.cpp
shortcut_file.h
shortcut.h
shortcut_handler.cpp
shortcut_handler.h
shortcut_handler.stub.cpp
shortcut_manifest_factory.cpp
shortcut_manifest_factory.h
shortcut_manifest_interface.h
shortcut_manifest_test.cpp
shortcutmgr.cpp
shortcutmgr.h
shortcut_notifier_ipc_c.c
shortcut_notifier_ipc.h
shortcut_ownership_man.cpp
shortcut_ownership_man.h
shortcut_ownership_man_tests.cpp
shortcut_ownership_store.cpp
shortcut_ownership_store.h
shortcut_ownership_store_tests.cpp
shortcut_packager.cpp
shortcut_packager.h
shortcut_packager_subsystem.cpp
shortcut_packaging_unit_tests.cpp
shortcut_registrator.cpp
shortcut_registrator.h
shortcutresolver.cpp
shortcut_rpc_server_api.cpp
shortcut_rpc_server.cpp
shortcut_rpc_server.h
shortcut_save_ownership_store_command.hpp
shortcutserver.cpp
shortcutserver.h
short_path_redirector.cpp
short_paths.hpp
shortpathtablebuilder.cpp
shortpathtablebuilder.h
shortpathtable.cpp
shortpathtable.h
ShouldHashIds
ShowDialog
ShowForm
Showing the icon
ShowInstallProgramWindow
ShowResultDialog
Shows the application - sets Visible to trueWW-
.ShowUIWW@
ShowWindow
SHOWWINDOW
?ShowWindow@NativeHWNDHost@DirectUI@@QEAAXH@Z
SHRegDeleteUSValueW
SHRegGetUSValueW
SHRegGetValueW
SHRegSetUSValueW
sHrQueryRowWW
SHSetLocalizedName
SHSetValueW
SHStrDupW
SHTaskPoolGetUniqueContext
SHTaskPoolQueueTask
Shutdown
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
ShutdownLockAppHostServer
SidTypeAccount
SidTypeAliasWW
SidTypeComputerWWW
SidTypeDeleteAccountWW
SidTypeDomainW
SidTypeGroupWW
SidTypeInvalid
SidTypeUnknown
SidTypeUserWWW
SidTypeWellKnownGroupW
signalCollectionId
SignalCollectionRegistrationActivity
SignalJsonParsingActivityAfterModelDownload
SignalJsonParsingActivityBeforeModelDownload
SignalLsaIsoReadyOpenEventFailed
SignalLsaIsoReadySetEventFailed
SignalObjectAndWait
SignalPayloadAcknowledged
SignalPayloadActivity
SignalPayloadCleanupModels
SignalPayloadDetectionActivity
signalPayloadModelNeeded
signalPayloadUniqueId
signalRegistrationBeforeModelDownload
SignalRegistrationFailed
SimpleId
simplesetupactions.hpp
S	?Initialize@Button@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
SISysprepInformationW4
sixteenbitappdetector.h
sizeestimatorvisitor.h
SizeGripStyle
SizeofResource
skipReason
Skip the file if it is present in destinationWQ
SkipVerification
S|LanguageIndependentNameW
sLcLsLcLsLsL
SleepConditionVariableCS
SleepConditionVariableSRW
SLGetWindowsInformation
SLGetWindowsInformationDWORD
_SLongArrayIdlWW
'SlpStgWWW
SlpszAWWW
s;M9)t*M
SMAPIFindNextIdlW
_SMAPIFormPropArrayIdlWW
_SMAPIVerbIdlWWWP-
SmartBusyCheckEvaluation
SmartBusyCheckEvaluationActivity
s memory size and bandwidth.
_SMessageClassArrayIdlWW|.
smServerNameWW
SnapinCLSIDW
SnapIn InterfaceWW
SnapinNameOrCLSIDWWW
SnapinScopeObjectWWW
SnapIns InterfaceW
SnapInsW4
SnapInWW4
snbExcludeWW
SNew thread started for UI invocation
_SNotRestrictionIdlWh
_snwprintf_s
sock.cpp
socket.cpp
socket.h
softgriddcserver.cpp
softgriddcserver.h
softwareclientpackager.cpp
softwareclientpackager.h
softwareclientpackagerwriter.cpp
softwareclientregistrator.cpp
softwareclientregistrator.h
_sopen_s
_SOrRestrictionIdlWWh
SortOrder_AscendingWl
SortOrder_Descending
SortOrderWWW
Sorts on this columnWW.
SourceDir
sourceDirectory
source file name
SourceFiles
  source         File to compress.
 || SourceFunction: 
SourceMediaLabel
 || SourceName: 
SourceNameWW
sourcePath
SourcePathWW
SourceVersion
SourceWW
[:space:]
spadpackager.cpp
spadpackager.h
spadpackagermanifest.cpp
spadpackagervirtualregistryreader.cpp
spadpublisher.cpp
spadpublishoperations.cpp
spadregistrator.cpp
spadregistrator.h
SP_DEVINFO_DATA
SPDRP_HARDWAREID
specialFolder
SpecialFolder
Specifies a COM class informationW
Specifies a COM interface proxy stubWW
Specifies a COM typelibWWW
Specifies elements to be excludedW:
Specifies elements to be includedW#
Specifies information about a component which migration is supportedWW0
Specifies migration information of a component)
            Specifying requestedExecutionLevel node will disable file and registry virtualization.
sp_error.h
SplitContainer
splitContainer1
splitContainer1.Panel1
splitContainer1.Panel2
splitContainer2
splitContainer2.Panel1
splitContainer2.Panel2
splitContainer3
splitContainer3.Panel1
splitContainer3.Panel2
_splitpath_s
SplitterPanel
sp_monitor.cpp
sp_monitor.h
sppublish.cpp
sppublish.h
sp_registrator.cpp
sp_registrator.h
sprintf_s
_SPropProblemArrayIdlWWW 
_SPropProblemIdl
sp_rpc_client.cpp
sp_rpc_client.h
sp_server.cpp
sputils.cpp
sputils.h
sp_ve_wrapper.cpp
sp_ve_wrapper.h
sp_visualizer.cpp
sp_visualizer.h
sqlite3_bind_blob
sqlite3_bind_int
sqlite3_bind_text16
sqlite3_busy_timeout
sqlite3_close_v2
sqlite3_column_blob
sqlite3_column_bytes
sqlite3_column_int
sqlite3_column_text16
sqlite3_exec
sqlite3_finalize
sqlite3_initialize
sqlite3_open16
sqlite3_prepare16_v2
sqlite3_step
sqmFilesCopied
sqmsender.h
sqmuploadmanager.cpp
sqmuploadmanager.h
sqmuploadmanagerut.cpp
sqmut.cpp
_SRealArrayIdlWW
_SRestrictionIdl
_SRowIdl
_SRowSetIdlW
SRSetRestorePointW
srvcli.dll
sscanf_s
!SSeekRowApproxWWW
ssHsHsHsss
_SSortOrderSetIdlWWW
SspiCli.dll
SspirAcquireCredentialsHandle
SspirDeleteSecurityContext
SspirProcessSecurityContext
SspiSrvClientCallback
SspiSrv.dll
SspiSrvInitialize
ssrs_monitor.cpp
ssrs_monitor.h
ssrs_registrator.cpp
ssrs_registrator.h
ssrs_visualizer.cpp
ssrs_visualizer.h
SssBindServicingStack
SssGetServicingStackFilePath
SssGetServicingStackFilePathLength
 s s sHtstststst
SSSLOM!H"
SSSPKLPJSSSNQQ(SSSSSPKLBASSSSSSSSSSSSP 
SssPreloadDownlevelDependencies
SssReleaseServicingStack
SSSSSSSS
sssssssss
_SSubRestrictionIdlWP
#?SSUSUSUSU
StageUpdate
StageWWWX
Standard
Start action query returned an unexpected type.
?StartDefer@Element@DirectUI@@QEAAXPEAK@Z
StartLockAppHostServer
StartLogOffTimer
StartMessagePump
StartParserTask
Start scan query returned an unexpected type.
StartServiceCtrlDispatcherW
StartServiceW
StartStopService
StartsWith
StartThreadpoolIo
startTime
StartTraceW
stateactivities.cpp
stateactivities.h
stateactivitytests.cpp
statemanager.cpp
statemanager.h
state not recoverable
STAThreadAttribute
statobjW
StatusTextChange
stdafx.h
__stdcall
std::nullptr_t
std::nullptr_t 
stdole2.tlbWWW
stdole2.tlbWWWDn
__std_terminate
__std_type_info_compare
StgDeserializePropVariant
StgOpenStorageOnILockBytes
StgSCode
StgSCoded
StgSerializePropVariant
|s||tj|||G
!_STnefProblemArrayIdlWWW
_STnefProblemIdl
Stock installerWWW
stoi argument out of range
stol argument out of range
stoll argument out of range
StopParserTask
StorageService::CreateStorageService
StorageService::Initialize
storebasedcleanup.cpp
storebasedcleanup.h
storebasedcleanuptests.cpp
StoreIsSpace
stores and manages components in repositoryWWW
stoull argument out of range
strcat_s
?Strcat@WSTRING@@QEAAEPEBV1@@Z
?Strchr@WSTRING@@QEBAKGK@Z
StrCmpIW
StrCmpNA
StrCmpNIA
StrCmpNIW
StrCmpNW
strcpy_s
stream end
stream error
streamingactivities.cpp
streamingactivities.h
streamingactivitytests.cpp
streaminginterfacetest.cpp
streaming_manager.cpp
streaming_manager_errors.h
streaming_manager.h
streamingmanager.h
streamingmanagertest.cpp
streamingtest.cpp
streaminguxerrors.h
streaminguxmanager.cpp
streaminguxmanager.h
streaminguxmanagertests.cpp
streaminguxprocessapi.h
streaminguxprocess.cpp
streaminguxprocess.h
streaminguxprocesstests.cpp
streammapdocument.cpp
streammapdocumentfactory.cpp
streammapdocument.h
streammapdocumentimpl.cpp
streammapdocumentimpl.h
streammapdocumentmock.cpp
streammapdocumenttest.cpp
stream timeout
StreamWriter
strerror
_Strftime
_stricmp
?Stricmp@WSTRING@@QEBAJPEBV1@@Z
StringAlignment
StringBuilder
StringComparer
StringComparison
StringFromCLSID
StringFromGUID2
stringresources.cpp
#Strings
StringSplitOptions
StringTableW
string too long
stringutils.hpp
strncat_s
strncpy_s
_strnicmp
StrRetToStrW
StrStrIW
StrStrNW
StrTrimW
StructLayoutAttribute
stubclasses.cpp
stub.cpp
stubheader.h
stub_msgbox.cpp
StubName
stubVersion
StubVersion
s UATAUAVAWI
SubElementsW
sub-expression cannot be quantified
SubmitRequestForSettings
SubmitThreadpoolWork
SubObjectWWW
SubscribeBatteryUpdateNotification
subscriber.cpp
subscriber.h
subscribertests.cpp
Substring
subsys_reg.cpp
subsystem_command.h
subsystem_composite_detokenizer.h
subsystemconfigitem.cpp
subsystemconfigitem.h
subsystemconfigitem_test.cpp
subsystem_controller.cpp
subsystem_controller_errors.h
subsystemcontrollerexportstests.cpp
subsystem_controller.h
subsystemcontrollertest.cpp
subsystem_deployment.h
subsystem_error.h
subsystem_errors.h
subsystem_initializer.hpp
subsystem_manager.cpp
subsystem_manager.h
subsystem_module_collection.cpp
subsystem_module_collection.h
subsystem_module.cpp
subsystem_module.h
subsystem_monitor.h
subsystem_packager.h
subsystem_process_monitor.h
subsystem_process_runtime.h
subsystem_registrator.h
subsystem_registrator_rpc_server.h
subsystem_rpc_servers.hpp
subsystem_runtime.h
subsystems.cpp
subsystem_server.hpp
subsystem_settings_validator.hpp
subsystems.h
subsystems_vnext.h
subsystem_tokenizer_collection.cpp
subsystem_tokenizer_collection_factory.h
subsystem_tokenizer_collection_tests.cpp
subsystem_utils.cpp
subsystem_utils.h
subsystem_utils_vnext.h
subsystem_vemgr_utils.h
subsystem_ve_wrapper.h
subsystem_virtualization_errors.h
subsystem_virtualization_error_utils.h
subsystem_visualizer.h
SuccessCodeW
suite.cpp
SunMonTueWedThuFriSat
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
SupportedComponentsWx7
SupportedTargets
SupportedTypesWW4!
Supported version too low
SupportInformationWW
SuspendLayout
SuspendThread
SuspendUpdates
@SUVATAUAVAWH
SUVATAUAVAWH
@SUVWATAUAVAW
@SUVWATAUAVAWH
SUVWATAUAVAWH
@SUVWATAUAVH
SUVWATAUAVH
SUVWATAUAWH
@SUVWATAVAW
@SUVWATAVAWH
SUVWATAVAWH
@SUVWATAVH
@SUVWATH
@SUVWAUAVAWH
SUVWAUAVAWH
@SUVWAVAW
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
@SUWATAUAVAWH
SUWATAUAVAWH
s UWATAVAWH
@SUWAVAWH
SUWVATAUAVAWH
SVATAUAVAWH
SVATAVAWH
svcapiclnt.cpp
svvvvvvvgA
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
@SVWATAUAWH
SVWATAUAWH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
@SVWATAWH
@SVWAUAVAWH
SVWAUAVAWH
@SVWAVAWH
SVWAVAWH
swapp.cpp
swappmgr.cpp
swappmgr.h
s WATAUAVAWH
@SWATAUAVAWH
@SWATAVAWH
SWATAVAWH
SWAUAVAWH
s WAVAWH
swcore.cpp
swcore.h
swexception.h
swfile.cpp
swfile.h
swfilemgr.cpp
swfilemgr.h
swfileutil.h
swfileutilmock.cpp
swfileutilmock.h
swguidclass.cpp
swguidclass.h
swicon.h
swiconmgr.cpp
swiconmgr.h
__swift_1
__swift_2
swinterface.cpp
swinterface.stub.cpp
   switch (displayObjectType)
Switching to sta because of simple flag
      switch (objTask.ActionType)
             switch (szLanguage)
SwitchToThread
      switch (watermarkObjectType)
swlistener.cpp
swlistener.h
swlog.cpp
swlog_stub.cpp
swminidump.cpp
swmonitorshelltasks.cpp
swosdmgr.cpp
swosdmgr.h
swprintf_s
swrc_exception.h
swrpcasyncclient.h
swrpcclient.cpp
swrpcclient.h
swrpcserver.cpp
swrpcserver.h
swscanf_s
swservice.h
_SWStringArrayIdlWWW
swthread.cpp
swthread.h
sWzT-N(V
sxsassemblyid.cpp
sxsconflictlog.cpp
sxs_packager.cpp
sxs_packager.h
sxs_packager_tests.cpp
sxspathmanager.cpp
sxspe.cpp
sxsprivateassembly.h
sxspublicassembly.cpp
sxspublicassemblywalker.cpp
sxspublictoprivate.cpp
sxs_registrator.cpp
sxs_registrator.h
sxs_registrator_tests.cpp
sxssequencerlog.h
sxsxmldoc.cpp
Symantec Corporation1
Symantec SHA256 TimeStamping CA
Symantec SHA256 TimeStamping CA0
(Symantec SHA256 TimeStamping Signer - G3
(Symantec SHA256 TimeStamping Signer - G30
SyncBase
SyncConditionException
SyncConfigurationException
syncController
SyncControllerDependencies
SyncControllerException
SyncControllerScopeTracker
SyncControllerShutdownPriority
syncdef.h
SyncEventOpcode
SyncForm
Synchronization Controller
Synchronized
Synchronizing settings data...
syncmgr.cpp
syncmgr.h
syncobject.cpp
syncobject.h
SyncPackageFiles
SyncPollingOptions
SyncProvider.uev.ut
SyncSettings
SyncStatusSender
SynIc restore failure
?_Syserror_map@std@@YAPEBDH@Z
sysguardfile.cpp
sysroot_mapper.cpp
sysroot_mapper.h
sysroot_mapper_test.cpp
systemcmd_tests.cpp
System.CodeDom.Compiler
System.Collections
System.Collections.Generic
System.Collections.ObjectModel
SystemColors
System.ComponentModel
System.Configuration
System.Core
System.Diagnostics
System.Drawing
System.Drawing.Bitmap
System.Drawing.ContentAlignment
System.Drawing.Font
System.Drawing.FontStyle
System.Drawing.GraphicsUnit
System.Drawing.Icon
System.Drawing.Point
System.Drawing.Size
System.Drawing.SizeF
SystemFunction007
SystemFunction009
SystemFunction011
SystemFunction036
System.Globalization
System.IO
System.Linq
System.Management
systemmock.cpp
systemmock.h
System.Net.NetworkInformation
SystemParametersInfoW
System.Reflection
System.Resources
System.Runtime.CompilerServices
System.Runtime.InteropServices
System.Runtime.Versioning
System.Security
System.Security.AccessControl
System.Security.Permissions
System.Security.Principal
systemserver.cpp
System.ServiceProcess
SystemSettings
System.Text
System.Text.RegularExpressions
System.Threading
System.Threading.Tasks
System.Timers
SystemTimeToFileTime
SystemTimeToISO8601String
System.Windows.Forms
!System.Windows.Forms.AnchorStyles
System.Windows.Forms.DataVisualization
System.Windows.Forms.DataVisualization.Charting
System.Windows.Forms.DockStyle
"System.Windows.Forms.FlowDirection
 System.Windows.Forms.ImageLayout
System.Windows.Forms.ImeMode
System.Windows.Forms.Layout
 System.Windows.Forms.Orientation
System.Windows.Forms.Padding
szDLLNameWWW
szFileNameWW
szInfPath
#szMessageClassWW
szMsgClassWW
szMsgIDWd
szPropertyWW
t0fA9(t*H
t0H9s8t*H
t4446Weg
t4D;B(s.H
t4fA91t1H
t4H9k@t.
t6fD9"t0H
t7wwg57RRSRw
t9fA91t8I
t-9i u(I
t_9u(t;H
TabbedTextOutW
_TABLE_NOTIFICATIONIdlWW
TabRoaming
tabRoamingSettings
tAD8Zhu;E8
taef_verify_swrc.h
tAfA9(t;H
TaggedUpdateSession::AddOptionalFeatures
TaggedUpdateSession::EnableUwf
TaggedUpdateSession::ExtendDownloadExpirationTimes
TaggedUpdateSession::GetCachedPolicy
TaggedUpdateSession::GetCachedPolicyValue
TaggedUpdateSession::GetCachedSettingArray
TaggedUpdateSession::GetCachedSettingObject
TaggedUpdateSession::GetCachedSettingValue
TaggedUpdateSession::get_CanPause
TaggedUpdateSession::GetComplianceDeadlineState
TaggedUpdateSession::GetEnterpriseCachedPolicy
TaggedUpdateSession::GetEnterpriseCachedPolicyValue
TaggedUpdateSession::GetEnterprisePolicy_IsWUfBEnabled
TaggedUpdateSession::get_IsInteractiveSession
TaggedUpdateSession::GetIsWaaSOutOfDate
TaggedUpdateSession::get_LastUpdateDownloadTime
TaggedUpdateSession::get_OptInToMU
TaggedUpdateSession::GetPermanentSessionVariable
TaggedUpdateSession::get_SeekerUpdates
TaggedUpdateSession::GetSessionProperty
TaggedUpdateSession::GetSessionVariable
TaggedUpdateSession::GetTotalHistoryCount
TaggedUpdateSession::GetUpdateHistory
TaggedUpdateSession::GetUpdatePayloadSize
TaggedUpdateSession::get_UpToDateStatus
TaggedUpdateSession::GetUXRebootState
TaggedUpdateSession::GetWaaSHoursOutOfDate
TaggedUpdateSession::IsRestartAllowed
TaggedUpdateSession::put_OptInToMU
TaggedUpdateSession::put_UpToDateStatus
TaggedUpdateSession::RefreshPolicyCacheValuesAndConfiguration
TaggedUpdateSession::RefreshSettings
TaggedUpdateSession::SetPermanentSessionVariable
TaggedUpdateSession::SetSessionProperty
TaggedUpdateSession::SetSessionVariable
TaggedUpdateSession::SetSessionVariableAndUpdateUXState
TaggedUpdateSession::StartDownload
TaggedUpdateSession::StartModelUpdates
TaggedUpdateSession::StartPostInstall
TaggedUpdateSession::StartScheduleTime
TaggedUpdateSession::SuspendSession
TaggedUpdateSession::UnstickAllUpdates
TaggedUpdateSession::UsoDisableUserInstallableContent
TaggedUpdateSession::UsoEnableUserInstallableContent
tagMSGWW
tagPOINT
tagRECTW
tagSTATSTGWW
TakeOwnership
TakeOwnershipForSystem
targetDirectory
TargetFileVersion
TargetFrameNameW
TargetFrameworkAttribute
TargetName
TargetNTVersion
Target propertyWWWR
TargetVtl
TargetWin9xVersion
 * taskNotify
 *          task objects using the array s_rgTasks.
taskscanner.cpp
taskscanner.h
taskscannerut.cpp
T-BGFGNQ
tbOpenFormContainerWWW
TCalcVerbSetW
TcmiChangeNotifyPrivilege
tcmiInfSerializerInfIsInboxWW
tcpsock.cpp
tcpsock.h
t|D9;uwH
tdD97u_A
TDeregisterIdleRoutineIdld
tDf9)u8H
TDirectoriesW
tE9q u@H
tEfD91u8H
TelemetryAssert
TelemetryAssertDiagTrack
temp_directory.hpp
templateId
template-parameter-
_tempnam
TemporaryDirectoryWW81
Temporary View without persistence capabilityW
terminalhandler.cpp
terminalhandler.h
terminateLogOff
TerminateProcess
TerminateThread
?terminate@@YAXXZ
TeslaUsageMode
TeslaUsageModeTooltip
test_classes.hpp
test.cpp
test_devicedriver.cpp
TestersW
test_filepublishserver.cpp
test_fileserverpackage.cpp
test_fileserverpackageversion.cpp
test_fileserverpackageversion.h
test_interface.cpp
testmanager.cpp
testmanager.h
test_mocks.h
test_new_parser.cpp
test_old_parser.cpp
test_path_map.cpp
test_publishcomponent.cpp
test_publishserverfactory.cpp
Test Purpose
testschannell.cpp
tests.cpp
testsubsystem.cpp
testsubsystem.h
test_utils.cpp
testutils.cpp
testutils.h
test_xml.cpp
tExcludeOptionalDependenciesWLO
tExportListOptions_SelectedItemsOnlyW 
text file busy
TextOutW
tEXtSoftware
TextWriter
t:fA9(t4H
t?fA9(t9H
t-fD91t'I
t-fD9)t*H
t?fD;!t9H
t(fD;	u"H
t?fD;v4u8H
tFfD; t@H
TF_GetShowFloatingStatus
TFreeBookmark
TF_SetShowFloatingStatus
tHA;.tH3
thdkeeper.h
 The application has detected an error 
The file is not empty
The reader is empty
The registered SSPI extenstion does not support ACH
The registered SSPI extenstion does not support PSC
The root partition has encountered a memory intercept due to execute from a MMIO page.  This will cause a machinecheck exception in the root partition.
TheSameWL
tHH;0u4H
ThirdPartyEapMethodConfig : CoUninitialize called
__thiscall
This function cannot be called on a default constructed task
This interface allows access to an entry in IInstallerManagerW!
This interface allows creation of installer instances.:
This interface allows installing and uninstalling objects.
This interface allows metadata repository initialization.W)
This interface allows upgrading and downgrading objects.WW
This interface manages the association between installable objects and installers.6
 *          This is just a dummy function. We cannot do attachEvent with
!This program cannot be run in DOS mode.
_Thrd_detach
_Thrd_id
_Thrd_join
_Thrd_sleep
thread.cpp
thread.h
threadId
threadmgr.cpp
threadmgr.h
threadpool.cpp
threadpool.h
threadsyncdata.cpp
threadsyncdata.h
threshold
?_Throw_C_error@std@@YAXH@Z
?_Throw_Cpp_error@std@@YAXH@Z
?_Throw_future_error@std@@YAXAEBVerror_code@1@@Z
?Throw@SC@mmcerror@@QEAAXJ@Z
?Throw@SC@mmcerror@@QEAAXXZ
th t ttt
[thunk]:
Thursday
TickMark
tIH91tDE
TIMAPIFolderTypeW
timed out
timed_out
Timed out waiting for Trusted Installer Signal - SafeToEndReserveScenario
Timed out waiting for Trusted Installer Signal - TiAttemptedInitialization
timeoutInterval
timeoutmSecs
TimeoutW
timer1_Tick
TimeSpan
timestamp
timeStamp
TimeStamp-2048-30
TimeStamp-2048-60
timeupload.cpp
TIQualifiedSettingNameWWWl 
tjfE;8tdI
#TkLLLi1
tLf;3tGH
TlgAggregateSummary
	__TlgCV__
__TlgCV__
tlpfCallerRelease
tlppMAPIError
TlpszWWWW
[tlpvSupportWW
TlsAlloc
TlsGetValue
TlsSetValue
tlssock.cpp
tlssock.h
t_MAPILogoffIdlWWW
tMigrationSupportedComponentW
TMnfD9upt3I
tmpfile_tests.cpp
ToDouble
toedd720""
tofE9!tiL
?ToHr@SC@mmcerror@@QEBAJXZ
tokenizerinstance.hpp
TokenReplacerWWW
TokensWWL
ToLowerInvariant
toolTip1
Too many alternates in conditional subexpression
Too many client requests for auth cookie
too many files open
too_many_files_open
too many files open in system
too many length or distance symbols
too many links
too many symbolic link levels
ToString
ToStringL
TotalEntriesFlushed
TotalFavoritesRoamed
totalHits
Total Memory
TotalMemory
ToUnicode
ToVersionWWW
towlower
towupper
TpbInstanceKeyWWW
TpcbMsgEIDWWW
tpD9.vkeH
TpmVCardCreate
TpmVCardDestroy
.tPolicy
@.tPolicy
tPopulateReferenceRedirectionTableWWW
tQf;7tLH;
tQfD9 tK
?TraceAndClear@SC@mmcerror@@QEAAXXZ
?TraceError@@YAXPEBGAEBVSC@mmcerror@@@Z
TraceEvent
TraceMessage
?TraceSnapinError@@YAXPEBGAEBVSC@mmcerror@@@Z
TrackerGuidHResult
tracking files
tracking INF file lines
TrackPopupMenu
TrackPopupMenuEx
tranclnt.h
trandefs.h
transactionclasses.h
transaction.cpp
transactionfactory.h
transaction.h
transactioninterface.h
transaction_manager.cpp
transaction_manager.h
transactionscheduler.cpp
transactionscheduler.h
transactionschedulertests.cpp
transactiontests.cpp
transformapp.cpp
transformfile.hpp
transforms.cpp
transformserrors.h
transforms.h
transformsheaderwriter.cpp
transformsoptimizationwriter.cpp
transforms_reporter.hpp
TranslateAcceleratorW
TranslatedValueWLO
TranslateMessage
transportapiwrapper.cpp
transportapiwrapper.h
transportcallback.cpp
transportcallback.h
transport.cpp
transporterrors.h
transportimpl.cpp
transportimpl.h
transportinterface.h
_TransportStringIdlW
transportstub.cpp
transporttestinterface.h
Trap Data
trayicon.h
traymenu.cpp
treat all driver components as criticalWWW
Treat the INF file as inboxWWW
Trebuchet MS
treeenumeratortests.cpp
treeenumeratortests.h
treemodel.cpp
treemodel.h
tricklequeue.cpp
tricklequeue.h
trickle_tests.cpp
Tried to load an unsigned UNP dll
TriggerStorageCleanup
TrusteeTypeW|
TryAcquireSRWLockExclusive
TryDeleteFile
TryDeleteFolder
TryDeleteFolderAndEmptyParent
TryDeleteRegSubtree
TryEnterCriticalSection
TryParse
TrySelfCopy
TrySubmitThreadpoolCallback
tSaveChangesW
tSaveChangesWX
tSetAsSortColumnW
tSf91tNH
t sts t tt
tthththththVht
ttttsh7)
ttttttHt
 tt ttttt 
 ttt ttttt
t t t tttt t
t ttttttt
tttttttt
 t tttttttt 
tt ttttttt
ttttt tttt
ttttttttt
tttttttttt
 tt ttttttttt
ttttttttttt
ttttttttttttt
tUfD99tOL
 Turn ECC Off if you are running GPU-accelerated ray tracing applications.
tVcX7CDDEEEW
tVfD93tPH
TViewsWWWL
TVVVVV44-N(VVVVVVV
tVZZ]dbdf
tw9w(vrL
t	wcsnlen
twI;6u2H
twpwe4447x
tyfD9 tsH
TypeConverter
TypeConverterAttribute
 Type Descriptor'
TypedURLs
typedURLSettings
Typelibs
TypeName
Types of configuration resolution modesWWW3
Types of language resolution modes1
Types of packagers. Used while creating a private test packagerWWW*
Types of repositories. Used while creating the repositoryW
Types of resolvers. Used while creating the resolverWW
type used to uniquely identify componentWW
tZfD; tT
tZL;E@rT3
TzSpecificLocalTimeToSystemTime
u19whtK9wlt
u3H;u s1H
u4I;n s2I
u6D9u t0H
u7D;v s	D
u7E9F8u1I
u8fD90t(
@UATAUAVAWH
UATAUAVAWH
UATAUAVAWI
@UATAVAWH
uc@8u	ubH
uCH;u sAH
UclpVueWWW 5
ucmiReferenced
"UCreateStream
uDI;n sBI
udpsock.cpp
udpsock.h
uee*))))00
UevAppAgentProvider
UevBirthday
UevFileInfo
UevPackageId
UevSyncController
UevTestEvent
UevTestEventLevel
UevTestEventOpcode
uevWindowClass
uevWindowTitle
uf?77-"!
UFBadSortOrderSetIdlW
uFileWriteableTypeWWW
u-::::]]]]]:g
UgI9VHv(3
ugL9mot5L
uG:uuGuG
uHI;n sFI
u:H;opu4H
_ui64tow_s
uI9] tDH
U I9U(tdH
UiaClientsAreListening
UiaHostProviderFromHwnd
UiaRaiseAutomationEvent
UiaRaiseStructureChangedEvent
UiaReturnRawElementProvider
UIAutomationCore.DLL
uIH;u sGH
uiutils.cpp
uiutils.h
u"I;v s H
u)I;v s'H
uiwizard.cpp
uiwizard.h
uJH;u sHH
uJ;u@uEH
uKI;n sII
u(L9s t"L9s(t
ulAccess
_ULARGE_INTEGERW
ulCallerData
ulCallerDatad
ulCntCharWWW
ulCntStr
ulComponentW
ulConnection
ulCountW
ulDenominatorWWW
ulDirWWWt'
ulEIDSizeWWW
ulElemID
ulEventMaskW
ulEventTypeW
ulEventW
ulFlagsWd
ulFolderType
ulFuzzyLevel
ulHelpContextWWW@
ulib.dll
ulInCodePage
ulIndexW 
ulInterfaceOptionsWW
uliRowWW 5
ullPackageVersion
ullPatchedVersion
ulMaskWWh
ulMessageFlagsWW
ulMessageStatusW
ulMessageTokenWW
ulNewStatusMaskW
ulNewStatusW
ulNumeratorW
ulObjTypeWWW4
ulOrderW
UlpbParentWWW
UlPropSize
UlPropSizeIdl
UlPropSizeIdlWWW
ulPropTag
ulPropTag1WW
ulPropTag2WWh
ulPropTagIndexColumn
UlpTagWWW
UlptblWWW
ulRecipClass
ulReserved
ulReserved1W
ulReserved2Wh
ulReservedWW
ulRowCountWW
ulRowNumberW 5
ulSearchFlagsWWW
ulSubObjectWh
ulTableType
ulTableTypeW
ulTimeoutWWW
_ultow_s
ulUIParam
ulUIParamWWW
ulValueW
ulVersionWWWL
um9]@tBH
UMPDC.dll
um_pmdevice_object.h
uMresNotWW
Unable to create 'C' locale.
Unable to fetch data for file
unable to fetch info for this localeName
Unable to get an error message for error code: 
Unable to load global log filter.
Unaccelerated Register Access
Unaccelerated Register Access - EOI
Unadvise
__unaligned
UnattendFile
UnattendFileValidationLevelW
__uncaught_exception
?uncaught_exception@std@@YA_NXZ
Unexpected bool conversion type in a policy
Unexpected Error: Lip language without parents
Unexpected token
Unexpected type in decision table
Unexpected variant type in a policy
UnhandledExceptionFilter
UnhookWindowsHookEx
UnhookWinEvent
UnicodeToMB
UnicodeWd
UnindexBCryptIsoObject
UnInitProcessPriv
UnInitThread
Uninstall
UnInstallAndDeleteOldManifest
UnInstallImController
UninstallLanguagePack
UninstallLXP
Uninstalls an object.W8
uninstallsetupactions.cpp
uninstallsetupactions.h
UnionRect
UniqueFiles
UniqueFiles must be ON for relational INF generation
uniqueId
UniqueId
unittestbase.h
UnitTestEventHandler
unittestglobals.h
unitTestInstallCheck
unitTestMode
unittestmodule.cpp
unittestmodule.h
UnitTestResetInstallCheckHook
UnitTestSendMessage
UnitTestSendMessageOnUiThread
UnitTestSetInstallCheckHook
unitTestWaitForWindowCreationEvent
UnitTestWndProc
 [unknown
unknown access to
Unknown action
Unknown action class
Unknown ActionKind returned by IUniversalOrchestratorAction
unknown compression method
unknown error
Unknown error
Unknown exception
unknown.file
Unknown json error
Unknown session attention
Unknown UM action
Unknown update attention
Unknown UxClass
UNLOADED
UnlockRegion
_Unlock_shared_ptr_spin_lock
UnlockVolumeByHandle
unmanagedArrayPtr
UnmanagedPackageIdArray
UnmanagedType
UnmapViewOfFile
Unmarshaling failed: unsupported protocol
unpublishpackageactivitytests.cpp
unpublishpackagegrouptests.cpp
unpublishpackagetests.cpp
UnregisterClassA
UnregisterClassW
unregister_command.hpp
UnregisterDeviceNotification
UnregisterHotKey
UnregisterPassWWP
UnregisterPowerSettingNotification
Unregisters callback for CreateObjectW.
UnregisterServerForPMP
UnregisterTraceGuids
UnregServer
unsigned 
unsigned __int64
unsigned long
UnsubscribeBatteryUpdateNotification
unsupporteddriverdetector.cpp
unsupporteddriverdetector.h
unsupporteddriverdetectorut.cpp
unsupporteddriverenumerator.cpp
unsupporteddriverenumerator.h
UnverifiableCodeAttribute
uN.xxx.r
unzip64.cpp
unzip64.h
unzip64_test.cpp
uOD;ehs(A
Update.AccumulatePackages
UpdateAction
UpdateAdded
UpdateAdvDlls
UpdateAgent cab missing
UpdateAgent cab signing check failure
UpdateAgent.dll
UpdateAPI.dll
Update.ApplyPatch
UpdateApproved
UpdateBatteryDataAsync
Update.BDD
Update.Begin
Update.CAntimalwareProduct.XcopyDeployment
Update.CleanupIssue
Update.ConnectNamedPipe
update context is missing
Update.ControlTraceW
updateCount
Update.DeleteFile
?_UpdateDesiredSize@Element@DirectUI@@QEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
Update.DiscoverSignaturePackages
UpdateDiskLayout
UpdatedPolicyValue
UpdateDriverForPlugAndPlayDevices
Updated state
Update.End
Update.ETWLogger
Update.EtwRestore
Update.HrOpenSCManager
Update.HrOpenService
updateId
UpdateImControllerFilesNReg
Update.InitializeLog
Update.InitializePackage
Update.InitializePatchSet
updateInterval
updateKept
UpdateLayeredWindow
?_UpdateLayoutPosition@Element@DirectUI@@QEAAXHH@Z
?_UpdateLayoutSize@Element@DirectUI@@QEAAXHH@Z
UpdateLoadedFromDatabase
UpdateManagerCreationFailuresExceeded
Update manager did not respond to stop
Update.MissmatchedVersions
UpdateNotificationHelpers.dll
UpdateOobeApproved
Update.OpenExtractedFile
UPDATEPAYLOAD
UpdatePerfNameFilesW
Update.Phase
UpdatePolicy.dll
Update.ProcessId.CreateToolHelp32Snapshot
Update.ProcessId.GetParent
Update.ProcessId.OpenProcess
Update.ProcessId.Process32FirstW
Update.ProcessId.Process32NextW
Update.ProcessId.Recycled
Update.ProcessId.SameProcess
Update.ProcessId.UtilAcquirePrivilege
Update.ProcessId.Zombie
UpdateProcThreadAttribute
Update.ProductState
UpdateRemoved
Update.RemoveDirectory
UpdateRemovedUnexpectedly
Update.RemoveStaleMpsigstub
UpdateResetToSafeAction
UpdateSavedToDatabase
updates configurationW
updates context is missing
UpdatesDetected
Update.SearchForApplicableProducts
Update.SearchForInstalledProducts
UpdateSerie
Update.SetDeleteOnClose
Update.SigPipeBug
updatesInProgress context is missing
Update.Store
UpdateTelemetryCV
updateTimestamp
?UpdateTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?UpdateTooltip@TouchHWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
Update.TrimmedPackage.DeleteDirectory
Update.UpdateProduct
Update.UtilStartService
Update.Watson
UpdateWindow
Upgrades an object.WWW
upgradesetupactions.cpp
upgradesetupactions.h
uphpackager.cpp
uphpackager.h
uphpackagermanifest.cpp
uphpackagerregistry.cpp
uphpublisher.cpp
uphpublishoperations.cpp
uphregistrator.cpp
uphregistrator.h
uploadmgr.h
uploadSettings
uploadUnitsSucceedID
upnp:actor
upnp:actor@role
upnp:album
upnp:albumArtURI
upnp:albumArtURI@dlna:profileID
upnp:artist
upnp:artist@role
upnp:author
upnp:author@role
upnp:channelName
upnp:class
upnp:class@name
upnp:createClass
upnp:director
upnp:episodeNumber
upnp:genre
upnp:longDescription
upnp:originalTrackNumber
upnp:producer
upnp:programTitle
upnp:rating
upnp:scheduledStartTime
upnp:searchClass
upnp:searchClass@includeDerived
upnp:searchClass@name
upnp:seriesTitle
upnp:storageFree
upnp:storageMaxPartition
upnp:storageMedium
upnp:storageTotal
upnp:storageUsed
upnp:toc
upnp:userAnnotation
upnp:writeStatus
[:upper:]
UpperOffsetW
*UPreGatherWWWpb
uProgress
uptimeMinutes
uptimeMinutesDelta
uP;uXsI3
urivalidator.h
UrlApplySchemeW
UrlCanonicalizeW
UrlCreateFromPathW
UrlEscapeW
urlmon.dll
UrlUnescapeW
urn:schemas-microsoft-com:asm.v1WW 
urn:schemas-microsoft-com:asm.v3WW
urresultWW
urResultWW
uS8A9uN8A:uI
uS@8q9uM@8q:
Usage Mode
Usage ModeE
@USAVAWH
Use a file-based repository implementation9
UsedMemory
Used to identify component from unattend file to instance identity
Use file system and have limited query support*
'Use for both graphics and compute tasks
Useful constant for the default valueW
 USEIFUERRATAMSR 
UseLongFileName
user32.dll
USER32.dll
usercatalogtests.cpp
usercontext.cpp
usercontext.h
UserControl
UserControlW 
user.cpp
usercreds.cpp
usercreds.h
userdcc.cpp
userdcc.h
USERDEFP
USERENV.dll
USEREUDP
userinfo.cpp
userinfo.h
userInputID
usermanager.cpp
usermanager.h
usermanagerimpl.cpp
usermanagerimpl.h
usermanagermock.cpp
usermanagermock.h
usermanagertests.cpp
usermanagertests.h
usermgr.cpp
usermgr.h
userpackagegrouptests.cpp
userpackagetests.cpp
userpolicyapplierimpl.cpp
userpolicyapplierimpl.h
userpolicy.cpp
userpolicy.h
UserQuietInstCmd
UsersMigratingThisComponentW
usertokenmanager.cpp
usertokentest.cpp
Uses an answer file to help resolution.WWW4
use symbolic links for file installationWW7
Use symbolic links while copyingWW-
use unattend installationW
:US IHED 
usingInboxModel
UsoCoreLibWW
usrctxutil.cpp
usrstate.cpp
usrstate.h
UStoreLogoffW
USVATAUAVAWH
@USVAVAWH
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
USVWATAVH
USVWATAVI
@USVWATAWH
@USVWATH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAUAVH
@USVWAVAWH
USVWAVAWH
USVWAVAWI
@USVWAVH
@USVWAWH
@USWATAUAVAWH
USWATAUAVAWH
USWATAUAWH
USWATAVAWH
@USWAUAVH
utcontext.h
ut_cpfiles.cpp
UTCReplace_AppSessionGuid
ut_driver_console.cpp
UTF-8 encoding
utfsinterface.h
utilities.cpp
utilities.h
utility toolWW"
utilization
Utilization
utils.cpp
utsftprocessor.cpp
utsftprocessor.h
utsyncobject.cpp
Uttttttttt_n__I
ut_vreg.cpp
!u!u:d:u
UuidCreate
UuidFromStringW
UuidToStringW
uuQ!Quuu
uu!u!u:d:u!
UUUUPERBOOTUUUUU
UUUUPERSISTEDUUU
uu!u:u!:u
uuu!uuuu!
uuuuuu:u
uuuuuuu.
UUUUUUUUA
UUUUUUUUffffffff LsaIso Memory
UUUUUUUUH
UUUUUUUUI
UUUUUUUUM
uuuuuuuuu:u
:UUWZWWW;
@UVATAVAWH
UVAUAVAWH
u(VVVVVV
@UVWATAUAVAW
UVWATAUAVAW
@UVWATAUAVAWH
[ UVWATAUAVAWH
UVWATAUAVAWH
UVWATAUAWH
@UVWATAUH
UVWATAUH
@UVWATAVH
UVWATAVH
UVWATAWH
@UVWAUAVH
UVWAUAVH
@UVWAVAWH
[ UVWAVAWH
UVWAVAWH
@UWATAUAVAWH
UWATAUAVH
UWATAUAWH
@UWATAVAWH
UWATAVAWH
@UWAUAVAWH
UWAUAVAWH
@UWAVAWH
uW)B|vBYJ
uW!u!uu!
!uW!Wu!!u!uuu:
uX9YxuSI
UxTheme.dll
UXX[Z]dbbb
UySnapinSelectionObjectWWW
v100.5_vb_release_svc_2021-10-19T12:58:38_2021-10-19T12:58:38
V2DeviceInstallationSemaphoreName
v4.0.30319
v?]aaaaUM
ValidateAgainstWh[
ValidateAuthPackBuffer
validate.cpp
ValidateDhParams
validate.h
ValidateKey
ValidatePkinitAuthenticator
ValidateRect
validatesftuser.cpp
Validates this unattend file against a configurationWWB
ValidateUpdate
Valid events that CMI objects supportW
Valid file compression type.WW!
Valid migration typesW
Valid object types for ICmiFactory.CreateObject() methodWW3
Valid writeable types.
valuename.h
valuenametest.cpp
Values on registry changed while initializing s_dicProp.
ValuesWW
value too large
ValueType
V_Application 
Variable definition missing
variantKind
Various comparision resultsWWW2
Various success codesW4
   var tempArray;
vas_server.hpp
VATAUAVAWH
VCardDeinitialize
VCardInitialize
VcmiBatchLogonPrivilegeWW
vcom_deployment.cpp
vcom_deployment.h
vcom_deployment_test.cpp
vcom_ipc_server.cpp
vcom_monitor.cpp
vcom_monitor.h
vcom_process_monitor.cpp
vcom_process_monitor.h
vcom_process_runtime.cpp
vcom_process_runtime.h
vcom_runtime.cpp
vcom_runtime.h
vcom_runtime_policies.hpp
vcomruntimepoliciestests.cpp
vcruntimedetector.cpp
vcruntimedetector.h
vcruntimedetectorut.cpp
Vd22Nt::
VDefaultSettingInstancesW
VDirtyWWW
vDowngradeWWW
VE8f tLL
__vectorcall
vector too long
vemgr_api_test.cpp
VendorWW4
venv_configurator.cpp
venv_configurator.h
venv_document_handler.cpp
venv_document_handler.h
venv_package_reader.hpp
venv_process_runtime.cpp
venv_process_runtime.h
venv_rewriter.cpp
venv_rewriter.h
venv_runtime.cpp
venv_runtime.h
venv_runtime_test.cpp
venvvarrewritertest.cpp
VERCHECK
VerifySelfSignedImageFile
VerifyVersionInfoW
VeriSign Trust Network1:08
ve_rpc_client.cpp
ve_rpc_client.h
VerQueryValueA
VerQueryValueW
VerSetConditionMask
"VersionConstsWWW(#
VERSION.dll
VersionedWWW
VersionInfo
VersionMajor 
VersionMinor
VersionScope
VersionUtil
VersionW
VersionWL
vfont_ipc_server.cpp
vfont_ipc_server.cpp.good.cpp
vfontsbuilder.cpp
vfontsbuilder.h
vfonts_configurator.cpp
vfonts_configurator.h
vfontshelper.cpp
vfontshelper.h
vfonts_monitor.cpp
vfonts_monitor.h
vfonts_process_monitor.cpp
vfonts_process_monitor.h
vfonts_process_runtime.cpp
vfonts_process_runtime.h
vfonts_runtime.cpp
vfonts_runtime.h
vfonts_runtime_test.cpp
vfsbuilder.cpp
vfsbuilder.h
vfs_config_manager.cpp
vfs_config_manager.h
vfs_config_manager_mock.cpp
vfs_config_manager_test.cpp
vfs_configuration_loader_helper.cpp
vfs_configuration_loader_helper.h
vfs_create_test.cpp
vfs_csidl_root_map_builder.cpp
vfs_csidl_root_map_builder.h
vfs_decoder.cpp
vfs_deployment.cpp
vfs_deployment.h
vfs_deployment_test.cpp
vfs_download_splitter.cpp
vfs_download_splitter.h
vfs_filesys_test.cpp
vfshelper.cpp
vfslist.cpp
vfs_lookup_tests.cpp
vfsmapper.cpp
vfsmapper.h
vfs_namespace_factory.cpp
vfs_namespace_test.cpp
vfs_path_helper.cpp
vfs_path_helper.h
vfs_policy.cpp
vfs_policy.h
vfs_policy_mock.cpp
vfs_policy_mock.h
vfs_policy_test.cpp
vfs_process_runtime.cpp
vfs_process_runtime.h
vfs_query_attr_test.cpp
vfs_query_dir_test.cpp
vfs_rename_tests.cpp
vfs_runtime_configuration_loader.cpp
vfs_runtime_configuration_loader.h
vfs_runtime.cpp
vfs_runtime.h
vfs_runtime_test.cpp
vfs_section_reader.cpp
vfs_section_reader.h
vfs_section_visitor.h
vfs_uploaddownload.cpp
vfsvisitor.cpp
vfwprintf
VGetReceiveFolderTableWWW
VGidsSimulatorCreate
VGidsSimulatorDestroy
VGidsSimulatorReadProperties
VGidsSimulatorWriteProperties
v!!!.Gor]ma
vGroupTrustee
VhhhhhhhhgYXYfE
View Interface
ViewOption_ActionPaneHiddenWX
ViewOption_NotPersistableWWW
_ViewOptions
ViewOption_ScopeTreeHiddenWW
View Options enumerationWW
ViewOptionsW
Views InterfaceWWW
View with Action Pane hiddenWW
View with a Scope Tree pane hidden
View with Tool Bars hidden-
vIMAPIFormContainerIdlWWW
vIResolverWWWPF
virtappregistratortest.cpp
virtual 
VirtualAlloc
VirtualAllocEx
VirtualAllocExNuma
virtualapplauncher.cpp
virtualapplauncher.h
virtualapplauncher_test.cpp
virtualapplicationcollectorimpl.cpp
virtualapplicationpackager.cpp
virtualapplicationpackager.h
virtualapplicationpackagerwriter.cpp
virtualapplicationregistrator.cpp
virtualapplicationregistrator.h
virtualcom.cpp
virtualcom.h
virtualdrivers.cpp
virtualenv.cpp
virtualenv.h
virtual_environment.h
virtual_environment.hpp
virtual_environment_manager.cpp
virtual_environment_manager.h
virtualenvironmentmanagertest.cpp
virtual_environment_map.hpp
virtualenvironmentmaptest.cpp
virtualenvironmenttest.cpp
virtualenvironmentutils.h
virtualenvmanager.cpp
virtualenvmanager.h
virtualenvrpcserver.cpp
virtualenvtask.cpp
virtualenvtask.h
virtualeventing.cpp
virtualeventing.h
virtualfilesystem.cpp
virtualfilesystem.h
VirtualFree
VirtualFreeEx
virtualinifile.cpp
virtualinifile.h
virtualizableextensions.h
virtualization_errors.h
virtualization_manager.cpp
virtualizationmanagerenttest.cpp
virtualizationmanagerexportstests.cpp
virtualization_manager.h
virtualizationmanagerisvtest.cpp
virtualizationmanagertest.cpp
virtualizationmanagertest.h
virtualizationmanagertest.hpp
VirtualLock
virtualprocessactivities.cpp
virtualprocessactivities.h
virtualprocessactivitytests.cpp
virtual_process.cpp
virtual_process.h
VirtualProtect
VirtualProtectEx
VirtualProtectFromApp
VirtualQuery
VirtualQueryEx
virtualregistry.cpp
virtualregistry.h
virtual_service_agent.cpp
virtual_service_agent.h
virtualserviceagentipc_c.c
virtualserviceagentipc.h
virtualserviceagentipc_s.c
virtual_service_control_manager.cpp
virtual_service_control_manager.h
virtualserviceipc_c.c
virtualserviceipc.h
virtualservicemgripc_c.c
virtualservicemgripc.h
virtualservicerequestmanageripc.h
virtualservicerequestmanageripc_s.c
virtualservicerequestmgr_c.c
VirtualServiceRequestMgr_c.c
virtualservicerequestmgr.h
virtual_service_request_proxy.cpp
virtual_service_request_proxy.h
virtualservices.cpp
virtualservices.h
virtualservicesreader.cpp
virtualservicesreader.h
virtualservicesreadertests.cpp
VirtualUnlock
VisibilityWW
?VisibleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
VisibleWL
visualization_provider.h
vlpAllocateMoreWW
vlprgulAccess
VlpvmsgWW@
vMigrationExcludeInformationW
VMigrationTypeWWWH
vMqMMMMMqMMMKBBBDMK 
VmxBootInfo
vobjbuilder.cpp
vobjbuilder.h
vobjects_deployment.cpp
vobjects_deployment.h
vobjects_deployment_test.cpp
vobjects_monitor.cpp
vobjects_monitor.h
vobjects_process_monitor.cpp
vobjects_process_monitor.h
vobjects_process_runtime.cpp
vobjects_process_runtime.h
vobjects_runtime.cpp
vobjects_runtime.h
vobjects_runtime_test.cpp
vobjects_utils.hpp
vobjects_utils_tests.cpp
 volatile
volatile
volatile 
VolumeTrackerList::AddVolume
VolumeTrackerList::AddVolumes
VolumeTrackerList::RefreshVolumes
VolumeTrackerList::WaitForVolumeInternal
VPPTP004:
VPPTP00l 
VP restore failure
vpWCSInfo
vqqquuuw
Vqv-DexeHDB
VReaderCreate
VReaderDeinitialize
VReaderDestroy
VReaderInitialize
vregbuilder.cpp
vregbuilder.h
vreg_cow_utils.cpp
vreg_cow_utils.h
vreg_deployment.cpp
vreg_deployment.h
vreg_deployment_test.cpp
vregeditdlg.cpp
vregeditdlg.h
vregpage.cpp
vreg_passthrough.cpp
vreg_passthrough.h
vreg_process_runtime.cpp
vreg_process_runtime.h
vregreflectiontest.cpp
vreg_runtime_configurator.cpp
vreg_runtime_configurator.h
vreg_runtime_configurator_test.cpp
vreg_runtime_configurator_test.h
vreg_runtime_configurator_test_mocks.h
vreg_runtime.cpp
vreg_runtime.h
vregsearch.cpp
vregsearch.h
vregsearch_test.cpp
vreg_token_generator.cpp
vreg_token_generator.h
vreg_token_generator_test.cpp
vregvisitor.cpp
V_SAndRestrictionIdlW
_vscwprintf
vs_error.h
vservices_config_reader.cpp
vservices_config_reader.h
vservices_config_reader_tests.cpp
vservices_ipc_c.c
vservices_ipc.h
vservices_monitor.cpp
vservices_monitor.h
vservices_process_monitor.cpp
vservices_process_monitor.h
vservices_process_runtime.cpp
vservices_process_runtime.h
vservices_runtime.cpp
vservices_runtime.h
vservices_runtime_tests.cpp
vservices_server.cpp
vshell_ipc_c.c
vshell_ipc.h
vshelllruntimepoliciestests.cpp
vshell_map_utils.cpp
vshell_policies_loader.cpp
vshell_policies_loader.h
vshell_process_runtime.cpp
vshell_process_runtime.h
vshell_relaunch_hooks.cpp
vshell_relaunch_hooks.h
vshell_runtime.cpp
vshell_runtime.h
vshell_server.cpp
vs_monitor.cpp
vs_monitor.h
VSM restore failure
_vsnprintf
_vsnprintf_s
	_vsnwprintf
_vsnwprintf
_vsnwprintf_s
vs_registrator.cpp
vs_registrator.h
vs_runtime.cpp
vs_runtime.h
vs_utils.cpp
vs_utils.h
vs_ve_wrapper.cpp
vs_ve_wrapper.h
vs_visualizer.cpp
vs_visualizer.h
vsW7u445'
vswprintf_s
VTransportDeinitialize
VTransportInitialize
vUahwwhchp
VUUUUUUUH
VVVPPPPPPPBPBPP
((VVVVVV
vvvvvvljjjlv
VWATAUAVAWH
VWATAUAVH
VWATAUAWH
VWATAVAW
@VWATAVAWH
VWATAVAWH
@VWATAWH
@VWAUAVAWH
VWAUAVAWH
??_V@YAXPEAX@Z
vyReferenceAnswersLO
VYYW]P]PP]PPPPP
   w			;
"""""" w
""""""" w
"""""""" w
""""""""" w
"""""""""" w
"""""""""""" w
"""""""""""""" w
""""""""""""""" w
W0_0Bfk0
W7'''''7A
w9SaveContentsSort
wActiveViewWW
WaitForCompletionWWW
WaitForExit
WaitForExitEvent
WaitForInputIdle
WaitForMultipleObjects
WaitForMultipleObjectsEx
WaitForOperation
WaitForPartition
WaitForPartitions
WaitForPartitionTypeChange
WaitForSingleObject
WaitForSingleObjectEx
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
Waiting for selectionW
WaitNamedPipeW
waitTime
WakeAllConditionVariable
WakeConditionVariable
*** WARNING: One or more processors failed to respond to the freeze request. ****
Washington1
@WATAUAVAW
WATAUAVAW
WATAUAVAWD
@WATAUAVAWH
WATAUAVAWH
@WATAUAWH
WAUAVAW3
waveOutGetNumDevs
waVfafaVfaf
WCreateMsgService
wCRStppqg
wcscat_s
_Wcscoll
wcscpy_s
_Wcsftime
_wcsicmp
_wcsicoll
_wcslwr_s
wcsncat_s
wcsncpy_s
_wcsnicmp
_wcstoi64
wcstok_s
_wcstoui64
_Wcsxfrm
WDAGPlatformBindFilterStatus
WDAGPlatformSideloadPackageStatus
wddldFFh
WDSCORE.dll
WdsInitialize
WdsSetupLogMessageW
WdsTerminate
?wDw#w?#
Wednesday
WellKnownSidType
WerReportAddFile
WerReportCloseHandle
WerReportCreate
WerReportSetParameter
WerReportSubmit
WerSetFlags
wevtapi.dll
wextract.exe
wffffffffff
wfFffffffff
_wfopen_s
_wfsopen
wg5!Guwagp
_wgetcwd
_W_Getdays
_wgetenv
__wgetmainargs
_W_Getmonths
(wGetParentWWW
_W_Gettnames
wgSetDefaultStoreW
W H9W(t	
?what@exception@@UEBAPEBDXZ
WHrAddObjPropsWWWd
WIComponentSettingsWW
WideCharToMultiByte
wilActivity
wil::details_abi::SemaphoreValue::CreateFromValueInternal
wil::details_abi::SemaphoreValue::GetValueFromSemaphore
wil::details_abi::SemaphoreValue::TryGetPointer
wil::details_abi::SemaphoreValue::TryGetValue
wil::details_abi::SemaphoreValue::TryGetValueInternal
wil::details::CloseHandle
wil::details::ReleaseMutex
WilError_03
wilResult
wil::ResultFromCaughtException
WilStaging_02
Win10SModeScheduleSetupFail
win32dllloader.h
win32dllloader_tests.cpp
Win32Exception
Win32 file attribute that can be represented as a flag.WWW
WINBRAND.dll
WindowClassesWWW
WindowFromPhysicalPoint
WindowMoveWW
WindowResize4
Windows8Apps
WindowsBuiltInRole
WindowsCompareStringOrdinal
WindowsCreateString
WindowsCreateStringReference
Windows.Data.InternetExplorer.AutoComplete
Windows.Data.InternetExplorer.BrowserHistory
Windows.Data.InternetExplorer.Favorites
Windows.Data.InternetExplorer.SettingUnit
Windows.Data.InternetExplorer.TabRoaming
Windows.Data.InternetExplorer.TypedURLs
WindowsDeleteString
WindowsDeleteStringBuffer
WindowsDuplicateString
WindowsGetStringRawBuffer
WindowsIdentity
WindowsIsStringEmpty
Windows::Networking::UX::Internal::PackAndSendEapUIResponse
WindowsPreallocateStringBuffer
WindowsPrincipal
WindowsPromoteStringBuffer
Windows.Shell.IsoBurn
WindowsStringHasEmbeddedNull
WindowStateW@
?_Winerror_map@std@@YAHH@Z
?_Winerror_map@std@@YAPEBDH@Z
?_Winerror_message@std@@YAKKPEADK@Z
winerrorRetVal
winhttp.dll
winhttpresponse.cpp
winhttpresponse.h
WININET.dll
Winlogon
winmde.dll
WINMM.dll
WinSCard.dll
winsqlite3.dll
WinSqmAddToStream
WinSqmIncrementDWORD
WinSqmIsOptedIn
WinSqmSetDWORD
WINSTA.dll
WinStationFreeMemory
WinStationGetAllSessionsW
WinStationNameFromLogonIdW
WinStationOpenServerExW
WinStationOpenServerW
WinStationQueryInformationW
WinStationReset
WINTRUST.dll
WinVerifyTrust
WinVerifyTrustEx
wireHICONWWW
wireHWND4!
wireSNBW
WISecurityDescriptorDefinitionWWW
                 with an underscore (_) and used as the destination.
 *          with those properties.
wKeyValW
wlanapi.dll
WlanCloseHandle
WlanDisconnect
WlanIsUIRequestPending
WlanOpenHandle
WlanSendUIResponse
WLDAP32.dll
-WlpPropArrayW
_wmakepath_s
wmi_class_entry.cpp
wmi_class_entry.h
wmi_class_entry_test.cpp
wmi_error.h
wmi_metadata.cpp
wmi_metadata.h
wmi_metadata_test.cpp
wmi_mof_generator.cpp
wmi_mof_generator.h
wmi_mof_generator_test.cpp
wmi_monitor.cpp
wmi_monitor.h
wmi_monitor_test.cpp
wmi_namespace.h
wmi_process_runtime.cpp
wmi_process_runtime.h
wmi_provider_host_hooks.cpp
wmi_provider_host_hooks.h
wmi_registrator.cpp
wmi_registrator.h
wmi_registrator_test.cpp
wmi_snapshot.cpp
wmi_snapshot.h
wmi_snapshot_test.cpp
wmi_subsystem_utils.cpp
wmi_subsystem_utils.h
wmi_subsystem_utils.mock.cpp
wmi_subsystem_utils_test.cpp
wmi_utils.cpp
wmi_utils.h
wmi_visualizer.cpp
wmi_visualizer.h
wmnetmgr.dll
WmUevPackageArrived
WmUevUploadAllSettingsData
wmUserEventBase
WM_USER_MCU_CALLBACK
?WndProc@NativeHWNDHost@DirectUI@@SA_JPEAUHWND__@@I_K_J@Z
?WndProc@TouchHWNDElement@DirectUI@@UEAA_JPEAUHWND__@@I_K_J@Z
WNetCachePassword
WNetGetCachedPassword
WNetGetConnectionW
WNetLogonNotify
WNetPasswordChangeNotify
WNetRemoveCachedPassword
?w????n?n?
WorkingState
workitems.cpp
workitems.h
Wow64DisableWow64FsRedirection
Wow64GetThreadContext
wow64_mapper.cpp
wow64_mapper.h
wow64_mapper_test.cpp
wow64_redirect.hpp
Wow64RevertWow64FsRedirection
wParamWWl 
wpBPpqt0
_wperror
wqBatchTransactionOnWW
wqOnSnapInRemovedW
::;wQTU(QTU
!WQu!uW!u
W!Q!!uW!uu!uW!uu
WrapCompressedRTFStream
WrapCompressedRTFStreamEx
WrapCompressedRTFStreamExIdl
WrapCompressedRTFStreamIdl
WrapCompressedRTFStreamIdlWW
WrapNonExceptionThrows
WrapStoreEntryID
WrapStoreEntryIDIdl
WrapStoreEntryIDIdlW
WriteableTypeWWWt
WriteConsoleW
WriteFile
WriteFileTimeout
WriteIntPtr
WriteLine
WritePrivateProfileSectionA
WritePrivateProfileStringA
WritePrivateProfileStringW
WriteProcessMemory
writertests.cpp
WriteThrough
WriteVolumeMountPoints
WriteVolumeMountPoints2
Wrong access condition is on the file
wrong protocol type
wrong_protocol_type
WS2_32.dll
WSAConnect
WSAEnumProtocolsA
WSAIoctl
WSAJoinLeaf
WSARecvFrom
WSASendTo
WSASocketA
WSAStringToAddressA
WscStartupAlertScheduleSetupFail
WServicingReferenceInstanceWW
_wsetlocale
WSOCK32.dll
_wsplitpath_s
wsprintfW
WSQ;OP*I5
WTGetSignatureInfo
WTHelperGetProvSignerFromChain
WTHelperProvDataFromStateData
WTSAPI32.dll
WTSEnumerateSessionsExW
WTSFreeMemory
WTSFreeMemoryExW
WTSGetActiveConsoleSessionId
WTSQuerySessionInformationW
WTSQueryUserToken
WTSRegisterSessionNotification
WTSUnRegisterSessionNotification
wuClient
"""""""Wvw"""""
wvwsCaw7g
wwEwwwwwEwwwwwqwwwwwqwwwwwpwwwwwpwwwwwwwwwwwwwww
wWinMain
wwpwpwwww
wwvVsG4rW
#w?w?w##
www.digicert.com1!0
wwwgCGvSacCCCCH
WW!Wu!W!!u
wwwvV7wsSerV
#w?w?w?w?
?w?w?w?w?
wwwwvwwwwwwww
WWW_WWW;
wwwwwwed
*wwwwwws
wwwwwwww
wwwwwwww(
wwwwwwwwp
*wwwwwwwww*;
wwwwwwwww
*wwwwwwwwwr#
wwwwwwwwww
wwwwwwwwwww
wwwwwwwwwwwwwpwwwwwww
wwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwx
wwwwwwwwwx
wwwwwwwwwxF|V
wwwwwwwwx
wwwwwwwwxwxx
wwwxwwxwx
wwxwwxwwxwwxp
wXFilesWWW
WzX-N(VVV
WzX-N(VVz
 X58TEST 
x7ulStreamFlagsWWWd
XAfterWWWl 
xA_NewEnum
x ATAUAV3
x ATAUAVAW3
x ATAUAVAWD
x ATAUAVAWI
x ATAUAVAWL
x ATAUAVH
x ATAUAVL
x ATAUAWH
x ATAVAW
x ATAVAW3
x ATAVAWD
x ATAVAWH
x ATAVAWL
x AUAVAW
x AUAVAW3
x AUAVAWH
?_Xbad_alloc@std@@YAXXZ
?_Xbad_function_call@std@@YAXXZ
XcmiSpecializePassWWW
_XcptFilter
[:xdigit:]
X-FFJFFJFFFFGGFFGGIIIHI.?
?_XGetLastError@std@@YAXXZ
X]]GUI??
]xH;]pt9H
]xH;]pt:H
]XH;]Pt:H
]xH;]ptlL
]XH;]@t:H
?_Xinvalid_argument@std@@YAXPEBD@Z
XjjjjjjjjjjjPm
xJNewObjectWWW
?_Xlength_error@std@@YAXPEBD@Z
.xlpProblemsWW
xmlattributeimpl.cpp
xmlconfigitem.cpp
xmlconfigitem.h
xmldll.cpp
xmldll.h
xmlelement.h
xmlelementimpl.cpp
xmlfile.cpp
xml_integration_utils.hpp
xml_interface.hpp
xml_interface_test.cpp
XmlLite.dll
xmlparser.h
xmlparserimpl.cpp
xmlprocessing.cpp
xmlprocessing.h
xmlprocessingmock.cpp
xmlprocessingmock.h
xmlsearch.cpp
xmlsearch.h
xmlsearch_test.cpp
xmlsearchtestsink.h
XmlSerializerWWW
xmlutils.cpp
xmlutils.h
xmlutilsmock.cpp
xmlutilsmock.h
xmlutilsmocks.hpp
xmlutils.stub.cpp
xmlutilstest2.cpp
xmlutilstest.cpp
xmlutilstest.h
xml_variants.hpp
xml_variants_test.cpp
xml_writer.cpp
XnContextW
?_Xout_of_range@std@@YAXPEBD@Z
XpmvnsWWW
xppmgrWWWd
xpriIdleW
XQOOUUUoykzxVU
?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z
X_RTF_WCSRETINFOIdlWWX4
XSetAdviseSinkWWW
xthbZQO;?
_Xtime_get_ticks
*XtWP#U 
x UATAUAVAWH
x UATAVH
x UAUAVH
x UAVAWH
'xuu!d!u!u!B
'x!uu:uBuBu:
X UVWATAUAVAWH
X UVWAUAVH
X UVWAVAWH
X VWATAVAWH
xWI96tRI
xwvwgwwwwwwwwwwwwwxp
xwwwwwwwgvwwgwgwgwxp
XX[[[[[[[[[[[[[[[[[.[
xXI96tSI
xxxxxxxwwwwwwwww
xYfffXRLk
XZUnregisterArgumentsW
Y3SetSizeW
y@@8z@t_H
ybad allocation
yCarrierDirectoryPathsWWW
YcmiQueryGetSettingDefinitionsWithVisibilityForComponents8
y[D8oHt.
YFFCca_i
yGetViewStatusWWW
yHrSetPropAccessW
Y(H;Y0tK@
yIMAPIContainerTypeWW
YIMAPIProgressIdl
YIPreApplyWWWDa
YNewOwnerNode
y:nRecipsW
YoTlbidWWW
YpmtimeWW
YresSizeW
YSelectFormWW
(YSResolutionStatus
Ysssssss
Y_STATUS_OBJECT_NOTIFICATIONIdlWWd
YSVVUSSS
yTD8oHt"
!yu?TTSDk
:yW0j0D0(
ywtqooonnnnC
ywtqqonnonA
yxusamVTNLJJGDAA
yxxxxxxxH
yxxxxxxxI
yxxxxxxxMi
yxxxyxyyy|
yy					gLn
_|yyy|||
yyy9Yyyyy9
_yyywyww
yyyy-mm-dd
z?801i:It6
zAddProps
@zB"D@FdJ
ZcmiConnected
zcmiExactlyOneWWWT
zEntryValueWW
zeroBytes
Z_ExportListOptionsWW
z(fD97tWH
ZfD;;tYH
zFirstWWW@
ZgOptionalx
Z	?Initialize@ClassInfoBase@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG_NPEBQEBUPropertyInfo@2@I@Z
ZInitializedW
zip64.cpp
zip64_test.cpp
ZIsDirtyW
zj"	H3AV
 "ZJN@GMCC
zlibNewSizeWW
Z__MIDL_IWinTypes_0009WWW
ZoomValue
zpCancelW
.ZpContext
zRlpsosWWWd
zu[L9exuL
.ZulComponentIDWWW
zX-N(VVV 
|zYMNME5N!
ZZQyj	JR
":zzz62ss;w8
zzzzzz:v:ss
zzzzzzz'
:z:zzzzzz7
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]J
||||||J|||||||
J@@@@@@@@
*.*'J0*'
*.*'J0*?
*.*'J0:'
*.*;J0*'
*.*;J0*?
*.*;J0:'
*.*;J0:;
*.*;J0:?
*.*;J0:3
*.*;J0*3J0
*.*;J0*3J1-?
*.*'J0*3N3
*.*;J0:3O0-?
*.*;J0*3O1:?
*.*;J0*3O3
j04Rpgppepq
*.*'J0:7
*.*;J0*7
*.*;J0:7
;J0*7M16
J0g7cgfG
J0gqggM4
*.*;J0:'J0
?J0*'M06
).*'J0*;N
J0pgppepqt
J0;pgppepqz
).*'J1*;
).*'J1*?
*.*'J1:'
*.*'J1:;
*.*;J1*'
*.*;J1*?
*.*;J1:'
*.*;J1:;
*.*;J1:?
).*;J1*;	1*;
*.*;J1*?	3-?
*.*;J1*3
*.*;J1:3
*.*;J1*7
*.*;J1:7
*.*;J1*7M0
J17qefgfG
J1CllllllllmllllOllylmtQH
j1gMfgfG(
j1gpgppepqj
J1gqgg#E6I
*.*'J1:'J0-?
*.*;J1*;J0
*.*;J1*;J3-?
*.*;J1*;K1-?
*.*'J1*'K3-?
*.*;J1:;K3-?
j1llllllllmllllOllylm
*.*;J1*'M0-?
*.*;J1:;M1-?
*.*;J1:?O3
J[[[1oifF[[[
J1pgppepq
[j[[[1[[[s[j[m[h[c[o[w[o[r[w[
J1Xpgppepq
j1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
J2AAAAAA@AAAAACA
j2g'dgfG#
J2gqgg'G8i
J2J63Oxx]Y]]
J2llllllllmlllLMO8) V8
j2v@@@@@@@@Fp@@@@@@@@@@@@@@[pVL
.j2]Y]]!
*.*'J3:'
*.*;J3*'
*.*;J3*;
*.*;J3*?
*.*;J3-?
*.*;J3:'
*.*;J3:;
*.*;J3:?
*.*;J3:?	1-?
*.*;J3:;	1*7
*.*;J3*3
*.*;J3:'	3:
*.*;J3:3
*.*;J3:3	3
).*;J3:3J
'J3:3J16
*.*;J3:3L0
*.*;J3*3M3-?
*.*;J3:7
*.*;J3:7K0
*.*;J3*7O3
J3egfwHm
:j3gGkgfG
j3gqggsd
J*;3ipgppepq
*.*;J3*;L0
*.*;J3*;L1:3
*.*;J3*;L3
*.*;J3:'L3
).*;J3:;M3*3	16
J3*?N1:7
j3O[[[Z[[[O[[[C
j3[pgppepq
J3pgppepq5
j3QSSA]I
J46gqgge
j4AgAggA
J4#dB[[[
j4dB[[[	[[[
J4#dL[[[
J4#dN[[[W[[[V[[[Z
J4#dO[[["[[['[[[
j||4h||*h||
j4l)mggfw-#
j4|||OOO
j4|||OOOw
j4Wfggfw
[[[j5adV[[[g
j5@@A@h PN]
j5CdL[[[
J5cgAggj
J5llllllllmllllOllylm
j[5wpgppepq
J63@@@@BA@@Lp@T
j6@@A@h Ve
j6dX[[[Z[[[
j6ggfGyXm
j6pgppepq
J)(((7((9
@J79:7J?
J7@ABAEfQEyBALMfWBAxQLM@AAjs
J7g_gggG#
J7h!RSSk
J7@KBZBKh
j7llllllllmllllOllylm
j7]TgfGFS
J7@UB[O7@[B
J7@@Ui1RSSDYk
J7@VBEO7@_BUi
j7_[[[Z[[[K[[[
J#||||||||#8	
J88yxjyVG9.
J"8[A]Ns
J8bQZ7llllllllmllllOllylm
[[[j"8eJ[[[e[[[
j"8eL[[[M[[[
j"8eM[[[
[[[?[[[j"8eR[[[
[[[j"8eX[[[
J8eY[[[#
j8gG#gfG1
j8llllllllmllllOllylm 
[j[[[8[[[s[j[m[h[c[o[w[o[r[w[
[[[J!9dM[[[
J9(GJNS;
_J9gqwgfG
J9gsjgfG
'J9LL:ILMxyxty
J9M0MdLZLbOMO:N
'J9@MA:M;xyxvy
J9NdG[[[A[[[
'J9NN:ILLxyxhyVx
J;9w1LhV
J 9zsgfG
j@@@@@@A@
J@@@@@A@@
JA0Z]N*"
j@@A@3 Ew
J@@A@7pTD
jA8eW[[[
@@J@AA@@@A@@
jAAAAAA@AA
JAAAAAAAA
j|AAAAAA@AAAAAC
jAAAAAA@AAAAAC
J:AAAAAA@AAAAAC
JAAAAAA@AAAAAC
JAAAAAA@AAAAAC3
JAAAAAA@AAAAAC|e-y
JA _AAAA@AAAAAC
)jAAAA@AAAAAC
JAAAA@AAAAAC
JAAAACA@@3!ASY
JAAAACA@AIqAc5
 jAAAACACApqAQ
jAAAA]Y]]
JAAAA]Y]]
J(AAAA]Y]]H
jaaaa]Y]]y
@@J@AAac
jAA@A.!MU
JAAASQDOH
jAA@B2!DU
JAABSP]]K
@@J@A@ac
@@@@@j@@A@ACa
;#]@@@@@j@@A@ACac
@@@@@j@@A@ACac
@j@@A@ACac
@@@@@j@@A@ADac
|@@@@@j@@A@ADac
JAADZLNLOMQZ
@@@@@j@@A@AFac
@j@@A@AFac
|@j@@A@AFac
j@@AAh DZTTG
JA@AHK@M@GL
JA[][A_K
JAALEYL[
J@@@@@@AALp@j
[JAAOQNPN[Y
JA]_APM_DQJ
JaBAAAA@AAAAAC33ny
JABCJSLL]A]J
JABC[Lv@O[HDL))
j@@ABh KT
JABJFGO@N
JABKFQJABY[F]LJ]@FGYHNL
JAB[MBHYGLCO
JABNX@PM_Z
JABPKCABYXZ
JA@B@[pLL
JABPOOYLXJFO
JABQ_KLCYZGGXP
JABXJQLLCBH
***JABYZ]
@@J@AC@@@@@
@@J@ACac
@@J@ACac3)'!442z
@@J@AC@@@A@lpZE
J@@@@@ACAvpJK
@@J@AC@B@@@
@@J@AC@B@A@
@@J@AC@B@A@@
@@J@AC@B@A@5p@Kg
@@J@AC@BA@@Hp@D
@@J@AC@BA@@lp@W
@@J@AC@B@A@pp@L
@@J@AC@@B@@dp@@@@@@@@@@B@@@Hp@TR
@@J@AC@B@@@Hp@L
@@J@AC@@@@@cp@d
JACDELQ_D
@@J@AC@@@@@jp@@@@@@@@@@@@@@Lp@Wg
J_ACKCYJJ
@@J@AC@@@@@Lp@F
@@J@AC@@@@@lpGH
@@J@AC@@@@@Lp@y;
@@J@AC@@@@@Lp@Y
JACMCS]LQG
JACMJXNQP_SGEJCQL[GB
@@J@AC@@@@@np@@
@JACPKNPB
JACSCBQNKAPB
JACSCLHA]C
J_ACYZBJ
JA]CZP]SCG
(JAd@[[[:[[[
@@J@AD@@@A@@
@@J@ADac
 )))JADFM
!)))JADFM
")))JADFM
#)))JADFM
())JADFM
)))JADFM
.)))JADFM
;)))JADFM
JADGBXYXPXM[
JA@DHL[H
j@@ADh LK
]J_ADHLQJQYYO
JADKSJP]@
JA@DL[HMLJ[PY]L[
JADMGBGNG
jado@EL))
JADPLQSNL
|jAdQ[[[
((JADY[FJLZZF[
JADYHOAJD
JADYND@JC]P@LOMXBY_
@@J@AE@@@A@
@@J@AE@@@A@3 EIpq
@@J@AEac
@@J@AE@@@A@; DUP
@@J@AE@@@A@h aL
@@J@AE@@@A@h KR
@@J@AE@B@A@2 @A
@@J@AE@B@A@2 @m
JAECJX]HXSHP
JA@EEYHZZ@FG
JAEJYB[G
JA@EMGFMLZr@t
JA@EMJH[L@G][F
)))JA@EM@]LD
JA@EM@]LD
JA@EM@]LDABED
JA@EM@]LDABJ[
JA@EM@]LDM
JA@EM[LGMJ
JA@EM[LGYEHJLKM
JA@EMvY[FJLZZ
JA@EMYH]A
JAEXBOHLX]CB
]JAEZO_LAHYJA_Y_HN
@@J@AFac
jAFBLHZA
jA[FDeFM
jAF[DHbLP
 ?)JA[FDL
!)))JA[FDL
'()JA[FDL
((JA[FDL
)))JA[FDL
*.(JA[FDL
_)))JA[FDL
JA[FDL))
jA[FDLdHG@OLZ]aLHML[)(
jA[FDLeFHML[
jA[FDLhGBA
JA[FDL_L[
JA[FDLLQ]
JA[FDLLQYEF@]
jA[FDLlQ]yHNLm@ZHKEL
JA[FDLMFDLDY
jA[FDLy[FJyH]A))
")))JA[FDLZKQ
jA[FDLzKQlZJyHNL
jA[FDLzL]gFzHGMKFQ
JA[FDLZ]LHEL[JAHG
JAFEFN[@GNF
)))JAFFKCZALEE
jAFFZLo@ELhJ]@_@]P
JA[FK@GZFG
jA[F[L]F
jafrSNKT	f"
jAFS@FZ@
JA@FSOLPCG
@JAFSQJ]]
J[AF_XL[
JAFYE@OL
jAFYYL[))
JAGAQYZF
JAGASCBDP]HH
]JAGDKSLACDMBMJ
J_AGDQ[EJSX
JAG_DZYC
@JAG[EDYS@C
JAGGQJ_X
JA@GHaFZ]LE
JA@GH]HOZLL[
j@@AGh KHZ
JA@GHMLZ]@GH]@FG
JA@GHOF[L_L[
JA@GJA@GJH[NF
jA@Gj[PY]
JA@GLZLHEE
JAG[M[ASMQZAX
JAGNKBCCZSOQ
JAGOXOYHP
j@@@@@@A@gpJM
j]agqgg!
JAgqggj9
JAGSSMGCQ]NBXONG
JAG[ZMJA]H
JAGZOMQXPQJ
J]AGZXXBGLG
)))JAH[]
)))JAH]][
?)))JAH]][
jAH[aLQjFGJH]))
JAHB[HLQYEF@]
JAHDEMPBM
JAHDH]A_SDAM]BNQQ[
JAHDHHBMXF
JAHDH]JZS
JAHDH]QLH
JAHDKHA@Z]F[P
JAHDLEJFFE]LZ]
jAHDLELFGnAFZ]
jAHDLELFGnAFZ]nF
jAHDLELFGnAFZ]oK
)))JAHDY@FGJL[HD@J
JAH[DZEF_LZYLEEZ
j@@A@h DZTTG
J@@A@h DZTTG
j@@A@h Ea
JAHEBSFGL
JAHEELGNL
JAHEELGNLZ
#)))JAH]EFNZ
JAHEKAH@
JAHEKAH@DL]AFM
)))JAHEKAH@@M
JAHEKAH@@M
JAHELMFFELF
JAHE]LPYH
JAH[ELZSX
j@@A@h EM
J@@@@@@A@h FMHc
J@@A@h FMHc
|j@@@@@@A@h FOU
JAHGGLEHMM[LZZ
jAHGGLEj[LH]L
:)))JAHGGLEvJEFZLvJDM
JAHGGLEvJ[LH]L
JAHGGLEvJ[LH]LvZ]MHY@vGL]v]JYvJE@LG]
JAHGGLEv@M
JAHGGLEvYH[HD
J)))AHGKHPZ
J@@A@h GM
.)))JAHGN
jAHGNC@L
JAHGN@GN]A[LHM
JAHGNLBLP]LQ]
JAHGNLDFG@]F[
]JAHGNLDFM@OP
")))JAHGNLEFN
JAHGNLEFN
JAHGNLvO@EL
?)))JAHGNLZ@G]AL_L[Z@FGZ
JAH]]@GNZ]@JBL[Z
JAHGvJE@LG]
")))JAH[H
)))JAH[H]
JAH[H]))
JAH[H[[HP
jAH[HJ]L[e@Z]hJ]@_@]P
JAH[HJ]L[MFN
jAH[HJ]L[Z))
JAH[HJ]L[Z
jAH]hJ]@_@]P
j@@A@h HT
j@@A@h IT
j@@@@@@A@h IW
)))JAH[J
JAHJ[AM[SML
JAHJAP]HG
jAH[jFGJH]hMM
JAH[JFML
jAH[jFMLh]))
JAH[jFMLh]
)))JAH[JFMLH]
:)))JAH[JFMLH]
JAH[JFMLH]
JAH[JFMLZ
jAH[kP]L))
j@@A@h LH
JAH_L[YFE
JAHMJCAN
j@@A@h MN
[@JAH[MZiZ][H]Z]FGL
j@@A@h N[
JAH[NL]AL
JAH[NLDL]L[
@?j@@@@@@A@HpBi
]JAHPM_FLDK
j@@A@h QP
!)))JAH[rt
J@@A@h U[! 
JA@H@xyx]
jAHYEF@]
jAH[yH]]L[G
JAH[ZE@Z]
jAH[zL]))
)))JAHZLDHJA@GLLGN@GLL[@GN
J:Ai]GPu
JAILMNHOMAL
J@AJA_MP
JAJENCDG
jA[jFGJH]))
@@J@A]JMOXDLYMDAC
jA@J[PY]
JAJYHHJBJGJNJ
JAKAOOFC
JAKBBKOQSQG
JAKJ[ZGF_
jA@KLhJ]@_@]P
JAKLHQNBO
JAKOMMBBMXGLSH_[O
j@@@@@@A@Kp@@@@@@@@@@BBA@Jp@@@@@@@@@@]Y]]
JAK]PNOP_J_J_
JA@K[QNXKO
_J_AKSC[BBCMBKM
JAKZPMOXL
'JAL9@L9Axyxly
jaLA]Y]]
;)))JALB@GNB@GN
JALCDMLC
JALDN@FHS
J)))]ALGDBM@[
JALJALBBZ
JALJB]AL@G]L[GL]JFGGLJ]@FGHGM][PHNH@G
)))JALJB]A@ZDLZZHNL@GML]H@EZHGMJFG]HJ]ZFDLFGLO[FD@]MLYH[]DLG]
jALJBeFJHEhMD@GhJJLZZ))
JALJBEFJHEHMD@GHJJLZZR
jALJB|h))
JALJBHYY
JALJBHYYEFJBL[
JALJBJFML
JALJBKFFB
JALJBKFFBM
JALJBKFFBQ
JALJBKFQ
JALJB_L[Z@FG
JALJB_L[Z@FGOEHZA
JALJB[MYHJJLZZ
jALJBo@EL
JALJB@O]H[NL]@GKEHJBE@Z]
JALJB@OHYYEFJBL[@ZLGHKELM
jALJBo@LEMZ
JALJBvC[L))
JALJBvC[LvEFHM))
JALJBvC[LvO[HDLv
")))JALJBvDLD
JALJBvDZ@Lv
)))JALJBvH[DLMvO@EL
JALJBvH]]HJB
JALJBvJvEvK))
JALJBvJvEvKv
JALJBvJvKvE))
JALJBvOF[vCZv@GCLJ]@FG
JALJBvZ@NGZ
JALJBYHG
JALJBZFJB
jALJBZh_HZ]))
JALJBZLJ
((JALJBZYLLM
JallllllllmllllOllylm
jAllllllllmlll]Y]]
[@JA]LQ]
JAL]QKYDC
JALZGSS[NJX
)))JAM@[[
JAMBNC_EXYBLE
JaMeMEM9M
JaMeMUMIMMMAM1M5M)M-M
JAM[GJN][XF
J@AM]NPY_
JAMOGNPA
JA@MOJMxxx
JaMYM]MQMUMIMMM
_JANBDD__
JANEYK_MQP
JanFebMarAprMayJunJulAugSepOctNovDec
JANGHHAEQGQ]
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
JANKYMYSBK
JA]NPC_@HLNPP
JANS@GSOJCBN
JANXEGEHG_
JANXOXBHAGZS
]JANY@ECJOAMBM
JANZBPD[NC_A]D_F
JANZ[CZQK
JAN[ZXKNHBYHL_MPQB
JA_OBH[Y]@SPF
JAOB[JC]
JAOC]YEZ
JAOHPSGCJDSJQQ
JA_OLMJL
J]]AOL]P
_@JAOOJK
JAOO[MMH
_JAO][SOGBE
J_AOXL_X_ZMGFYPMC
@@@@@jA@P@AEac
[@JAPAKD
JA@PBGNA_C
JAPEY_HS
JAPFNPLQ_A[L
JApgppepq
Japgppepqc
JAPHP[PJFPPPP
JAPM][HNLD
JAPMNSOOYSZZMSBEPAS@Z
@JAPSQBZNNA@NSZLFS
JAPYG[QXGYJ
JAPY[_XMDP]
JA]]]QEZ
JAQiDNIOIH
JAQSEAOK
JASB]D]BY[
JASBJJE_PJL
JA[]_SFP
JAS[K[_@
[JASYKSA
J@ASZF_[D[@ZG
JAUOJHIULHL@U
java:do_deep_rescan
javaEnabled
javascript
JavaScript
JavascriptTokenizerError
JAX@AAQYGS
JAXHYNEGOH
JAXJQDSQ
JAXKGZPEH
JAXLMJDG
JAXML]NE]SSQL
_J[AX_MPM
J]_AXNKM
JA]@XPD[SN
J@@@@@@A@XpDT
JAX[XLSHGCC
J)))A]]Y
J|||a||ya||
JAYASH][A
JA@Y]FJA@Y
JAY[J@ZCM
JAYPQYNGSC
J]AYQOGSD[
J]AYSDSA
J_AYXSOKLHYHY
j)))A]]YZ
J)))A]]YZ
JA@ZDFZFZEH]@GFZ
JA[@Z]DHZZFGN
jA[@Z]DHZzFGNZhYYE@JH]@FGhJ]@_@]P
]JAZ@[DX@
JA[@ZELFGLEEF
JA[@ZELFGLEEFUCYEF]
JA@Z]F[P
JA[@Z]@GLJFLGLG
JA[@Z]@HG
JA[@Z]@LJLG][L
JA@Z]LYF[M@H
]JAZNZXDY
JAZ_XFYSB[Y
JA[ZXQ_A
JAZXQ@XS]E_FB]_OABM
J]AZZKMKMO@L[M
j@@@@@@B@
Jb_[[[?[[[
j@@@@B@A@
j@@@@B@A@@
J@@@@B@A@
J@@@@B@A@@
jB@A@2 @
J@@@@B@A@2 @A"@
JB@A@2 @A
J@@@@B@A@2 @Akml
jB@A@2 @E
JB@A@2 @E
JB@A@2 @H
jB@A@2 @J
j@@@@B@A@2 @m
jB@A@2 @M
j@@@@B@A@2 @R8(
jB@A@2 @V5
jB@A@2 @x
jB@A@2 @X
j@@@@B@A@2 @Y
jB@AA2 @A
JBAANDEHHJ
J@@@@B@@Aap@I
J@@@@B@A@ap@q8
j@@@@B@A@B
J?@@@@B@AB@
JBAB@lp@r
j@@@@BACBLp@L
JBACZ]POQHXCHE
J@@@@B@ADLp@y;
J@@@@B@A@Hp@
J@@@@B@A@Hp@J
JB@A@Hp@L
JB@A@Hp@T
j@@@@B@A@Jp@A
JBALNOBAGCK
j@@@@B@A@Lp@owssG@@@@@4@@E@ACac
JBALSKEOA
JBAOLN[M
J@@@@B@@@ap@a!U
J@@@@B@A@_p@KK
_JBA[SBMG_OPOK]YF
j(BAT_PREPROC)
JBAXL_J[DPZN[HK
JB_AYEH[LJ
J@@@@BBA@
JBBAADDPSZ]N
jBBBBBBB
JBBBBBBB
]JBBDJBZ[
JBBHKYOS[[[]B
j@@@@B@B@Lp@Z;
JBBM@KX]DC
]JBB[NGX
JB]BQK_Q
@JB]BsB]
JBBSD_YLJS
@@J@BCac
j@@@@@BCBh J@@@@@x
JBCGX@BBLDEGYNAL
JBCKDS_L
JBC[K@QY
J_BCLXKL
JBCNFSML
JB[_C[_NK
JBCPSXSK
JBC[ZNBH
JBCZYENGL
J-bDDIAB
JBDMZMGZZX
Jb"dO[[[
jBDOBDL	f
JBD_OHSOOBBDE
]JB[D@OX]@DF
JBDX@A_]B[F]
JBD[ZP[XS
jB"e[[[[
@@J@BEac
JBED]_LGQ
JBE[_O_E
jB"eQ[[[
JBEZCHGLSZHB
j)))BFB@
J)))BFBF
jBFC@NQB
jBFC@NQB	fo
JBFFGJLiHY]JFDDL[JL
jBg9pgfGo
JBG[AGYMYLX
JBG]CLZF
j|bgGcgfG
Jbggwc?	
JBGKKP__E
JBGKYAKGSYB
_JBGMGKQPL
JBGPFZLO
J[BGSAP]
J_BGSBJHE
JBG@SLAJ_S
j](bgYkgfG9
@JBHBJdWBJxQBH@HBDI9
[JBHLOCSL
J@@@@B@@@Hp@S
JBH_SJNCHJ
JbI[[[0[[[6[[[
j||bj||5j||
JBJC_M[PY
JBJESJ[B
jbjgqggA
JBJHMNNY
@JBJjIUSSPL
@JBJ@KBKLC
@JBJ@KEBK|
@JBJ@KxXp	
@JBJLcaDBJLjcBBYD
@JBJ(MSSW
@JBJsSSSR
@JBJsSWSSfZBJLJ
@JBJTa0BJWc
JBJXNZE][XN_DC
JBKAQYDACGKP
JBKMBGYH_Q[[[
[JBKNZFJDPSL
JBL[A]]Y
JBLBEXAKZB
JBLCH_HP
JBL[GFG[@Y[@Z]@GH[LE
JBLGYFGN
JBLJMKCLNS
JBL[JQZL
jbllllllllmllllOllylm
JBllllllllmllllOllylm
#jB"llllllllmlll]Y]]
JBLM@]F[
_JBLNFEZ
-j@@@@B@@@Lp@
[@JBLPD@GF[
JB_LPZSBB]B]]
JBLSQGP[[GZ[]ADC
JBM[OYBYFQ
JbMYM5M(M
JB_N_CME
[J@BNGNEP
J_B[NHFPG
JBNKHDGFHC
_JBNNQZK]
JBN@SJ]MC
[@JBOEH@[
JBO@GML[
J[BOHSZ_BDQ_B
JBOLGL]CFBJD
JBOOXNZHOA
[JBOYJ_[AZN
]JBOZGSS
j@@@@@@B@_p@G
Jbpgppepq
[JBP[NSM[A
JBPPJPJPJ
][@JBP][@YYL[
JBQASOMNZJJKHPDQBZL
JBQC_Q@[YZN]O
JBQDKM_@FL
JBQGEYCD
JBQHEPDZ
JBQJ@LNXP
JBQLPHM_KGB
JBQMDQAJMKC
_JBQOMBL[ZC
JB[QSMHA
@JBqTL_9
jbRSSZJ9
JBSBZSN]HCC@AGC
JB@SCCHHKYGZODYGKLGDEYLF_O[HXNSHK
JBSGHHKQAJP[J[NOZ]
JBSGM_DLG_YHQK]EMBQ
JBSH_XFQO
]JBSJ@DM@OGXS
]JBSLOY_OF]
JBSSNY]Z
JBSZJDA@N_
jBT@@@@@@A
jBT@@@@@B@@
JBTLMg@BWD9
jBT@@@@@@@@Lp@X
jbUgqggD
-JBwg]gggG-JBwgqgg
@JBW@K[BK
@JBWsSRSSd
JBXC]CPXZD_
JBXCOK@NY__
J]BXESYEPQ
JBXGAYBDONM
JBXG[SDC
JBXLF]Y]_]G
jbxyyyyyy
)))JBYEHPL[
JBYEHPL[
JBY]E@MQZQ
JB@Y[HAZ[[
JBYHD[SJ
]JBZ_C[X
JBZES_LY
JBZGE@OK
_JBZHHL]YEY[NQPGPY@
J[BZJJHE]F@
jB[[[Z[[[K[[[
J;B[[[Z[[[K[[[
JBZPYZM]B
)))[@JBZY[@GNO@LEM
JBZYOAG]X
[[[j[[[c
'jC7ggfG
Jc@@@@@AA@
JCA@A3!AEL
jCA@A3!AO
jCA@A3!AQ
JcA@BAPpDU
JcA@BAPpDUF5
JC[ACLLM
J[CAGBCKZ
JCA[KO[X
JCA[MZAQXCS
JCANB_ZS
@JCAPK[_JQ_]M_@DC]SC]
J_CA@QOJ_N
JCAXNN_GYMN]D
JCA@]XZCP]OAL
]JCAYB]HPJDY
Jc@@@@B@A@
Jc@@@@B@A@ap@
Jc@@@@BACCap@O
Jc@@@@B@A@Hp@
Jc@@@@BBA@AQ@@@@@@@@@@B@A@JQ@S
Jc@@@@BBA@Fp@@@@@@@@@@BBA@Ip@@@@@@@@@@@BA@JpF@@@@@
Jc@BBAvp]@@@@@
J@CBBMXKP
@JCB@CZBJD_
JC_B@GP_NMCYXKXJQLAYLBE
jCbgwfgfG
Jc@@@@B@@@Hp@
JCB]LY_OH
JCB@QHYB
@@J@CCac
JCCDHGGS[C
JCCDOHP_
J_CC[DZ[AP
JCCG@DGEC
JCCHHXDDJNB
JCC[L[CPF
jCCNCCCBACC
J]CCNCCCBACC:I
jcC]Y]]n'Y
@JCCZA[Q]Z@
jCdE[[[p[[[
J_CDKMXLEN
JCdL[[[;[[[3[[[
JC@DLMBBHZD[
Jcd?uwdb
JCF]@A]A
_JC_FNZE
Jc@@@@@@@@Fp@@@@@@@@@@@@@@
J_CFPDXAS
JCFZDBHGZ
JCG@_A_FCJPPS
JCGCX@DB
jCg#egfG
jCgEggfGi
JcgfGi!f
JC_GGJNJ
JCGJ[HXEX
JCg?kgfGo
JCGKPKYS
JCGNN_QZ
Jc@@@@gqggB
JCGS]NXGJ
JCGXM@MG
JCGYHCBC_
JCHASMOP
@J[_CHNCKQMPOQPX]AQ
@J[CHNOPX
JCHOBFYZXSAY
JCHQ]B_]ZZAGXJO
JCHQ_HEH
jcjcjcjcjcjcjcjcjcjcS
[JCJDJOKASJXLKL
JCJDX]G[PK
J[CJGCDX
JCJHP[K]M
JCJHXMCNGN
J@C]JHXQOQH
]JCJ]JOOS
)))[@JCJQJ@NBPK
J_CKAJC_G
JCKDKM_M
JC_KGFGM[QJ
JCKHNLZM
J_CKM_@NEX[ZZPQY_
JC[KNO[OACSZK
]JCKOBBN
JCKSPPNQCND__HO
]JCL_BNPYXNQM
JCLEN]A_LD
jC.l]gfGc
JCLJ[ZOPZYYP
JCllllllllmllllOllylm
JCLN]JHLA]]Q
JCLNSK_S
J_CLO_OBDEH
@JCLPGE]J@@
JC_LPJSDLADL
JCLYOFO[QQGQYAO[[@BC
JCMB]MAL
JC__MBYE
JCMBYGDZM
j|c!mggfw9
JC]MGKSZ
]JCMHMFEJ
J]@C]MLMACZB
[JCMPKYZ_JQY
JcMTMGM6M
JcMU]gykgfG
JCMZ[LMLHA
JCN]]]B_
]@JCNGLAKA_
]JCNJY[NPSQO
JCNKGPCZ
JCNKYLGA
JCNOAQQYQD
[][JCNXQ]]DQF]SX
_JCNYCBPMBXK
JC_OBCLOALB[HBY
_JCODOQGOYNHY]B
J[CODZ_KJCSEJ
JCO[@_F@
JC]_O[G_]Y
JCO]MXPNLMOQ[GOAP
JCOQMHGZLKM
JCOZ@J_LJQQZPEHKZ
J@@@@Cp@
jcpgppepq
JCpgppepq
JCPJXNC]QMOD
_JCPKFJFPPQHL
JCP_LNKSXSSO@EAOS]OANDL[X
JCPMPD]L
@JCPSNM_Z@@
@JC_[QGLXB
JCQMSDBPZJYEMKPEBOLQ
JCQMSKM_C[HHZSCXPOBP
JC]QOL]PX_AZ
JCQOMMMMMgOMMOMMM@iMM
JCQOMMMOMCQ
JCQOMNGxG
JCQOMPJPJPJHM	d
]JCQQLOHD
JC[Q_S[HLP]
JCQ*YMMOMMMOMMMOMMM
]JCSANNJPOAZCQSFPA]C[MY
JCSAZ]CBS
JCSDLL]X
JCS_[JBY
JC_]SMEABP]
JCSMNDYLBJXBDYMBEK]S
@jCWCCC;C
jc	@X*]7
JCXA]JG[
J[CX[G[[CFQ_D[
J_CXMZFCXB
JCXPPDCPLCJ
JCXSDOQOSDSJ[
_JC[XSEYPZNJNXD]
J]CX]YL[DEMCZM
Jc@@@@]Y]]
JCY[DSHSJOOH
JCYMCAPL_EZYYL
JCY]]POMJYNCLX
JC]Y]]'*Y
J_CZDGSZBOF
JCZJBD[K
J[C[Z_LFDJAMG
JC[]ZONZ
 ||j!||D!||*!||
Jd_[[[:[[[
!)))_@J]@D
|j|||D0X
jd20Tdur
Jd][[[5[[[
Jd][[[7[[[
JD#||||#8	
Jd[[[[a[[[
JdA[[[	[[[
JdA[[[.[[[
JdA[[[0[[[5[[[72GdR[[[7[[[6[[[
JdA[[[A[[[
JdA[[[c[[[
JDACZGKQD
)))]@JD_AH
jdA[[[I[[[
JdA[[[L[[[
JdA[[[M[[[
JdA[[[O[[[
jdA[[[o[[[f[[[
jdA[[[t[[[l[[[
JdA[[[x[[[
Jd[[[[B[[[|[[[:
JdB[[[d[[[
Jd_[[[B[[[D[[[
J_DB_ESCMJ
jdB[[[F[[[|[[[
jd_[[[B[[[F[[[k
JdB[[[l[[[c[[[
j)))DBM@[
JdB[[[N[[[
JDBQBMKYD
JdB[[[v[[[o[[[
@@J@DCac
JDCDPZKM
JdC[[[e[[[
JDCEBNOBGCPAZ
JdC[[[f[[[e[[[
.?JdC[[[K[[[J[[[
JdC[[[m[[[
JdC[[[M[[[
JDCXKMBPLLD
j||||||Dd||
_JDDCNSKE
_@JDDGZ@]MOD
JDdJ[[[e[[[
[[[Jd"dK[[[
J@DDL]AFM
JDD]NO@S_Z
jdD[[[O[[[
JDDPCBC]JZHK
J@_DDP[CON
jDdU[[[_[[[
J?Ddy[[[
Jd[[[[e[[[
JdE[[[![[[
JdE[[[![[[ [[[
JdE[[[4[[[
JDEAN]LCYLC
jdE[[[b[[[
JDECEDG_KX
JDECNEPP
_JDEEA[NL
JdE[[[G[[[E[[[
]JDELXLQJ
JDEM[QDZE
JD[EOYMH
JdE[[[P[[[K[[[
JDEPYSZ_H
?[[[*[JdF[[[
Jd@[[[f[[[d[[[
JDFF[LMuJFDY[FD@ZL
JDFG[[L@
JDFJDGHX
JDFKCZN[OHS
|jdFK@EL
JDF_LFGS
j)))DF_LYHPEFHMDK[
JDFMDPDKLD
_@J]@DFYLGLM]ALYA@ZA@GNYHNL
JD_F@YLZ
j[d][[[@[[[G[[[
JdG[[[ [[[
JdG[[[*[[[
JdG[[[?[[[*[[[
jdG[[[d[[[
jdG[[[e[[[
JDGJ_XK_
Jd@[[[-[[[#[[[gK
JD[G_LQZO
JDG@NA]E@LZ
JDGSO[GX
jDgUhgfG
JdgwcgfG
JdgwfgfG9
JDGYONXD
J@D@GZ]HGJL
JdH[[[][[[
*JdH[[[8[[[
J)))DH]A
JdH[[[B[[[@[[[
JDHBLJHK
JDHCCGDO
JdH[[[G[[[
JDHGEQPZ@XZQ_L
_J[DHG]L
j||Dh||:h||
J[D[HLPA
jdH[[[Y[[[R[[[
JdH[[[Z[[[
j||dh||Zh||
jd[[[[I[[[
[[[[J;dI[[["
JdI[[[5[[[4[[[UO
JdI[[[8[[[
JdI[[[A[[[@[[[
JdI[[[a[[[f[[[s
JdI[[[i[[[
jDIKGDMzMNj
jDILIJAFLA
JdI[[[N[[[C[[[
JdI[[[p[[[
j||di||?T||-T||WU||BU||*U||
jdI[[[y[[[
JdI[[[Z[[[
JdJ[[[.[[[#[[[
JdJ[[[6[[[5[[[
JdJ[[[b[[[
_JDJCO[GZSQ_
J[DJDDZCSJ
J@DJEHZZ
JD@J[FZFO]FOO@JLHYYE@JH]@FGMH]HUUDZA]HA]]Y
JD@J[FZFO]uQ
jdJ[[[H[[[
_JDJ_HG_AJD_
:JdJ[[[i[[[
JDJKXHHG_DJ
JDJMDPFHAM
JDJNGSLDDNX
JdJ[[[r[[[
JdJ[[[t[[[k[[[
JdJ[[[V[[[U[[[
(JdJ[[[z[[[y[[[K
JdK[[[1[[[0[[[
jdK[[[3[[[
JdK[[[B[[[
[JDKFBYX_CB
JDKGBBLN
JDKGJ@OH]C
JdK[[[H[[[
)))JDKH_FJH]
JDKH_FJH]
JDKLMPDPHNL
JDKMDGDQ]Y@
JDKO@L@SFM
JdK[[[Q[[[
JdK[[[W[[[
JDKX[_KXNOANA
.JdK[[[z
Jd][[[K[[[z[[[
[_JDKZ__[A
 J_dL[[[
[[[_J;dL[[[
JdL[[[ [[['[[[
JdL[[[*[[[
JdL[[[3[[[
JdL[[[4[[[
JdL[[[7[[[
JD_LA__BLEG]
j)))DL]AFM
J)))DL]AFM
JDL]AHGLu
JDL]AHGLuYA@EFZFYA@LZ
J][DLB]AA
J]DLCFEYFSL
JDLJ]BDP
JDL_JE[HHB
JDL]JHEOL
_JDLJQ__
JdL[[[L[[[B[[[
jDllllllllmllllOllylm
jdL[[[m[[[l[[[
JD[LOYOK
J[D[LYF[]v
j)))DLZZHNLZ
Jd_[[[m[[[
JdM[[[#[[[![[[
JdM[[[([[[
JdM[[[?[[[
JdM[[[0[[[
j;dm0Rgfwq
JdM[[[5[[[
JDM_@[]A
JDMALEYL[
JDMA]]YZ
jDMBLPz][@GN))
jDMdZ@lQLJ))
JDME@GLr
;)))JDMEL]Z]FLQYF[]
JdM[[[f[[[
JdM[[[H[[[e[[[
jDMjz]H[]))
JdM[[[k[[[
***JDMKH]
jDMkH]JAo@ELj[LH]LoFEML[
jDMkH]JAo@ELlGMeFJHE
jDMkH]JAo@ELlJAFfG))
jDMkH]JAo@ELlJAFfOO))
jDMkH]JAo@ELzL]eFJHE
JDM[LNZ_[
JDM[LNZ_[J
JDM[LNZ_J
JDM[LNZJ
jDMlQL))
)))JDMLQLJJZJ[@Y]
JDMLQLJJZJ[@Y]
JDMLQLJvJE@JB
JDMONYHJ
JdM[[[r[[[h[[[
JdM[[[T[[[
JdM[[[v[[[
JDMvYH]A
JDMvYHPEFHM
JDMvZLGMu
jdM[[[Y[[[b[[[5
J[DMYDONEMZ
JdM[[[Y[[[u[[[
jDMy@YL))
_)))JDMZ
jdmz][@GN))
JDMZHZJDMZ
JDMZHZJDMZuu[uuG
JdM[[[Z[[[	[[[q
JdN[[[([[[
JdN[[[@[[[
JdN[[[B[[[3[[[
JdN[@BBYF
Jd_[[[N[[[F[[[
J_DNG[P[
JDNHMDJZESY]K[D
j||dn||Kn||
JDNLDKYABHO
j||Dn||#n||
JdN[[[p[[[
J]_DNPCM
JdN[[[r[[[
JdN[[[W[[[
JD]N[X[ZXYANYNZKM]
jdN[[[Y[[[f[[[
JdN[[[Z[[[
';JdO[[[
JdO[[[C[[[A[[[6iQdT[[[B[[[
JDODKQDP_LKM
JdO[[[E[[[
JDOMCCLLQ
JDOQHJH_
JdO[[[t[[[
JdO[[[w[[[
jdO[[[X[[[R[[[
JDOXZP]PA
jdO[[[Z[[[J[[[
Jd@[[[P[[[
Jd[[[[P[[[@[[[
JdP[[[8[[[
(JDPack)
(JDPack 0.90)
(JDPack 1.01b)
(JDPack 2.0)
jd.?pdMl
JdP[[[F[[[
JDPFN]JQHFS]P]
JDPH]BHNGC
JdP[[[i[[[l[[[
JDPJGAYGD
JDPKDDSYC
J_DPNONJMCZXLN
JDPPPOGGH
J[DPQLNK
jdpROTECT
JDPY[]NXZMNHKB
JD@PZCMPJYCC
JDPZQOC]
J[[[[[[dQ[[[
JdQ[[[A[[[D[[[
JdQ[[[c[[[
JDQCGFDDDQCGHGDQCGM@G_DQCGFBL
JDQEMJK]X
JdQ[[[G[[[)[[[
JdQ[[[h[[[
())JD_]Q@HDXN_CHN
JDQ@HFXQOXO
JD]QHQLD
JdQ[[[j[[[
JdQ[[[J[[[
J[DQLGH_
JdQ[[[n[[[
JDQ[NPND[AA
JdQ[[[o[[[
JdQ[[[s[[[
JDQXXNBKQL
JdQ[[[Y[[[
JdQ[[[Y[[[8[[[
J]DQ]YL_OYGGAQK
jdR[[[d[[[
'JdR[[[G[[[g[[[I
JdR[[[h[[[c[[[
j[[[[[[dR[[[i[[[
JdR[[[v[[[k[[[
JdS[[[)[[[
JdS[[[:[[[
JD_SBNZLDA
JdS[[[d[[[
JDS[DNKE
J[D_SDO_AJ
JdS[[[f[[[
jDSgqggl"d
Jd_[[[S[[[i[[[
_JD]SKOQ
J]DS]MNK]P[Q
JdS[[[n[[[
jdS[[[o[[[
JdS[[[o[[[
JDSQGSO[
JdS[[[|[[[r[[[?[leI[[[s[[[
jdS[[[y[[[
J]DSYLOE
j[[[[[[dT[[[
JdT[[[2[[[
jdT[[[l[[[
JdT[[[S[[[R[[[h
JdT[[[z[[[
jdU[[[	[[[#
#J;dU[[[
JdU[[[	[[[
JdU[[[|[[[
jdU[[[2[[[
JdU[[[8[[[
jdU[[[9[[[0[[[
JdU[[[H[[[L[[[
!)))JDuQ
JdU[[[W[[[
JdU[[[z[[[
JdU[[[Z[[[
jdV[[[|[[[
JdV[[[@[[[
jdV[[[0[[[.[[[
JdV[[[1[[[0[[[
')))J@DvMH]HO@EL
Jd@[[[V[[[U[[[
JdV[[[x[[[
JdV[[[Z[[[
JdV[[[Z[[[F[[[l
JdW[[[([[[
JdW[[[F[[[
")))JDwM
JdW[[[Q[[[V[[[y
JdW[[[x[[[
jdW[[[y[[[
)JdW[[[Z[[[
J@dW[[[Z[[[
JDwZAw]wHAw]]wYw
|j|||D X
JdX[[[	[[[
JdX[[[7[[[4[[[
JDXB[HKX_XJ
|j|||D XD
JDXDBD_]
JdX[[[D[[[z[[[d.PdK[[[
JDXENGL_]B_O
JdX[[[g[[[
Jdx[[[|[[[k[[[
jdX[[[K[[[O[[[
jd_[[[X[[[l[[[
JDXLPJAND
J]DXLQJ]Q
JdX[[[m[[[
JDXMND@ZJKK
JdX[[[n[[[m[[[
Jdx[[[o[[[n[[[
JDXQCD[_DC
J_DXQ[JN
Jdx[[[S[[[R[[[
J_dX[[[u[[[t[[[
Jdx[[[W[[[V[[[M
jd_[[[X[[[x[[[
JdX[[[z[[[
|JdX[[[Z[[[w[[[
jdY[[[?[[[
Jdy[[[;[[[
Jdy[[[|[[[
JdY[[[0[[[6[[[
JDY]B[GZS
JdY[[[c[[[
JdY[[[C[[[
JDYDQKJM
_@J]@DYF[]
J@DY[F_@ML[
J[DYGPHH
JDYJYMCJX
jdY[[[K[[[
jdY[[[K[[[s[[[
JdY[[[M[[[
JDYND]KX
jdy[[[o[[[b[[[
JDYOOXJZ
JDYQ]B]N_NFDL
JDyyyyyyyy
'jDyyyyyyyyZ
JDYZ_DXXXH
jdz[[[#[[[
JdZ[[[![[[
JdZ[[["[[[
JdZ[[[.[[[
JdZ[[[|[[[
JdZ[[[8[[[
[JDZABJSOZNMPJ
[J@DZAFY
J)))DZA]H
JDZA]HA]]Y
JDZBQCNDAZ
JDZC]ASO
JdZ[[[E[[[
Jdz[[[E[[[g[[[BZ
JdZ[[[F[[[
Jdz[[[F[[[g[[[
JdZ[[[g[[[
JDZGP]PDOA
j]dZ[[[J[[[
JDZ@LQLJ
JDZMSEQC
JdZ[[[n[[[
JDZPSQSBS]QOM
JdZ[[[R[[[
JdZ[[[S[[[R[[[0e
;JdZ[[[t[[[j[[[
JdZ[[[V[[[
JDZvJFG]LG]@GOFZ
JDZwA]wHA]w]YwZ
")))JDZ]Y
jDZ]Yz][@GN))
JdZ[[[z[[[
JDZZYKG[N
je[[[[[[
JE#||||#8	
JE82#P4F
@JE9BJZ[
JEABL_FS
JEAE]L_DLJ_
JE[AGDGX
JEAHOD_YBBFHO
jeA[[[J[[[
JEANHBD_
JEANLXDO_
[__JEAOKD
JEASYXL_CA
[JEBJDPN_GL
JEBLCJJE
J@_@EB@MZ
JeCdF[[[o[[[
JEC_LAPL
jECllllllllmllllOllylmj
JEC[ZBM_
JEDCLYDB[FAK
JEDD[DCGF
JE@DHJFFE
je-dK[[[
JEDLKEMBO
je-dO[[[
JEDPLXOCXX
@@J@EEac
JEeC[[[6[[[4[[[
J_EEDB[OQN_O
JE_E_MC[BHB
JEEOHY_Q
JEeV[[[Z[[[
JEFBGYS[K
j)))EFEF
J[[[ef'eF[[[
J]EFHML[
J]EFHML[JADFM
J)))EFJHEJFGZ]
j)))EFJH]@FG
JEFM]LJAGFEFNP
J_EF_PSOQCCONJK
JEF_[S]XO
)))JEFZL
.)))JEFZL
JEFZLAHGMEL
JEFZLAHGMELHMM[
JEFZLAHGMELMLELNH]L
JEFZLAPYL[_LG]@EH]L
JEFZLBLP
JEFZLGF[]LE
)))JEFZLLG][PY[@G]Z]HJB][HJLCH_H
JEFZL@Lv_DE
JEFZLMYF[]Z
JEFZL@OGF]H
JEFZLvDLZZHNL
JEFZLv@G_@]LvDLZZHNL
JEFZLZL]][FG
JE@GB[LEuQ
jegfgfGJAu
JE@G]FGZA@G]H[F
JEGJNJJXLXP
J)))E@_@GN
Jegqgg7[
[jEgqggs
JegqggtS
jEgYdgfG
JEH@DJFYPv
JEH@DvEL]]L[
JEHDY[LJA]iJH[LL[HM_HGJL[Z
JEHDYLMH[[HP
JEH@DZ@MLG]@]P
JEH@DZY[@GJ@YHE
JEHGSX@AY
J]EHJHLSPZMZ
jehJ]@_@]P
JEHKJX_KAJ
JEHKuN[LLGL[P
JEHKY[DNL[N[ZX
.)))JEH_L
JEH_L]GK
JEH@[Li]@NL[HYLQ
JEHMSMGMB
)))J[EHNFH
JEHSSKP]LZ
J@E@HY@KEFNNL[Z
JEHY@OBXPNNJ
JE_[H]ZB
JEHZLC[Z
)))JEHZZ
JEHZZB@ZZ
;)))JEHZZDCOL]JA
;)))JEHZZD@]DDHGHNL[
JEHZZEFHM
JEHZZEFHML[
JEHZZE@K[H[P
JEHZZE@Z]
JEHZZ[FFD
')))JEHZZ[FY]FFE
JEHZZGHDL
;)))JEHZZHGM[F@MKEL
:)))JEHZZHMM[_LJZ]H]L
JEHZZiOF[GHDL
jEHZZ@JdLDF
?)))JEHZZJFGJH]@GH]F[
;)))JEHZZK]ELML_@JL
?)))JEHZZKHZL]H[NL]Z]H]L
)))JEHZZLQJAHGNL
?)))JEHZZLQYEF@]
)))JEHZZLZ
JEHZZLZr
)))JEHZZ@M
jEHZZnLG
	)))JEHZZNLGL[@JHZZFJ@H]LM@GL[OHJL
jEHZZ@OPhJ]@_@]P
JEHZZvvGHDLZYHJL
JEHZZvvL_LG]O@E]L[
JEHZZYBMCJ
JEHZZYBMMLGP
JEHZZYBZ
')))JEHZZZJ[PY]
JEIItIkMEIIpI)MEIItI
JeI[[[J[[[C[[[q
)))JE@JB
JE@JBAL[L
jE@JBcHJB
JE@JBCHJB
JE@JBCHJBvA@ML[
JE@JBFB]FZ@NG@G
)))JE@JB]FE@Z]LG
[JE@JBHKEL
)))JE@JBHKF[]]FZ]FY]AL@GZ]HEEH]@FG
JE@JBHKF[]]FZ]FY]AL@GZ]HEEH]@FG
)))[]JE@JBLGHKELLM@]@GN]FZLL]AL
JE@JB@M))
JE@JB@MUU
)))JE@JBvJEFZL
JE@JBvJEFZL
JE@JBv@M
JE@JBYHQFG
)))][@JE@JBZ
JE@JBZZZ
[JEJCZDNCA
jejdodldde
jejeehkk
(-JE@JFGGLJ]@FG
JEJFZNYDYK
JEJpgppepq
JeK[[[([[[
[JEKBSSO@SKHO
j||ek||Hk||3k||
JEKNPEXKC
JE_KYZMGK
JeK[[[z[[[
JeL[[[0[[[5[[[k
JELDLG]@GL[LDF]L
jE@LG]))
!)))JE@LG]
')))JE@LG]
)))JE@LG]
JE@LG]AL@NA]
JE@LG]DFML
JE@LG]]FY
JE@LG]HJJLZZ@KEL
JELGJAJAL]][HAH
JE@LG]JFGGLJ]LM
JE@LG]_KZ
JE@LG]_KZJ
JE@LG]_KZJE@LG]_KZJ
JE@LG]LDH@E
JE@LG]LZ
JE@LG]@M
JE@LG]MFDH@G
JE@LG]MH]H
j)))ELGN]A
jE@LG]vjFGGLJ]))
JE@LG]v@M
JE@LG]vYH]A
jE@LG]vy@YL))
)))JE@LG]vZFJBL]
JE@LG]vZFJBL]
JE@LG]vZLJ[L]
JE@LG]YF[]HE
)))JELH[
JELH[DPMLZB
JELHGDHZ]L[
jELHGe@GB))
JELHG@GN
JELH[@G]L[_HE
JELHGL[RHYYTuZJHM
JELHGvEEEEEEEEEv
JELHGZL[_@JLZGHDLZ))
jELH[hO]L[l_HE))
JELH[[LJ]
JELH[O@Q
JELH[tO@ELvMLEL]LvKPvYH]A
JELH[UO@GMZ][
JELH[v]DY
JELH[vLQL
jELH[z]LHE
J_ELLLAQJLCS
JE@_L[@LMu
JE_LOAXE
_JELP]PPPH
J_]E_MC[CYXL[
JEMF@YGKO_HKQPFKY
JeMIM)MBL
J]]EMKFY
JeMUMEM1M)M
JeMWM@M1M
JeMYMWLFL0L
J_EMY_[N
J]ENBA]ZJ]PL
JE_N]CQMG
JeN!mggfw(
j@"eO[[[
JeO[[[D[[[
JEOKCA_JKMD[C
JEOPYNQK
JEOQDQOJDD
JE	pgppepqp
JEPHN@JHN@JHN@JHN@JHN@JHB@JHN@JHN@JHN@JHN@JHNOJK
JE@P]JZXB_
JEPQBGLFHCCEH
@J_EPSK_YO
jE@QDE))
J]EQL[OLPP@_]S
J[EQ_NGFCCHYZ
J[EQPASDGL
JE_QSLJC
JESC[[QHM
JeS[[[G[[[x[[[
JetLBAUs
JeT[[[X[[[
JeubgfGQ
JEvHEL[]
Je][[[V[[[N[[[
JeX[[[	[[[
@JE@XE9@HEBWgsBHI9	Aa
JE@X_N[ZJYNFOGXA]
JEXPP]_[X
jE@XSKF]
#)))JE@XSKF]
Jex[[[W[[[K[[[?
[JEYALXCXYL
JEYD@HHXCYQ_DE_
JEYECPB_
_JEYHKQZ
JE@YH[ZL[
JE@YKFH[M
;)))JE@YKFH[MDFG@]F[
JE@YKFH[MDFG@]F[
JE@YKFH[MJELHGL[
JE@YKFH[MJFG]LG]Z
JE@YKFH[MJFG]LG]ZZ]H[]@GNH]
jE@YkFH[MmH]H))
JE@YKFH[MMH]H
JE@YKFH[Mt
jE@YKFH[M|YMH]L))
#)))JE@YNL]
JEYOXKYL
JEY[PAYHL
JEYQ]YSL]YDCBB
Jey[[[s[[[
!J@Eyxkx
Jez[[[|[[[
JEZA]CHS
Jez[[[L[[[A[[[a
JeZ[[[m[[[
#)))JEZ@M
)))JEZ@M
.)))JEZ@M
JeZ[[[Q[[[
JF3g7mgfGTZ
Jf][[[?[[[4[[[D
jfA2QhgZ
J[]FAECYZYMMAB]H
Jf[[[[A[[[G[[[2
)))[@JFAMLZB]FYHNLG]G@JA]NLZ]H[]L]
j@FA@O@DCac
J_FAPLQPM_
JfA[[[q[[[
j|FB]"hggfwd
[J[FB]MQSCPYXMJ
]J]FBPMBYDN
JFBYYD]PCQSLB
_J_FCO@XPO
jFDa@CHJB))
JFDA@CHJB
JFDAHGMEL[
JFDCZMH]LU
JFDD@]DLG]]FY[F]LJ]]ALLG_@[FGDLG]
#)))JFDDFGCZ
JFDDFGCZ))
jFDDFGeFJH]@FGZ))
JFDDFGZ))
)))JFDD@GNv]@DL
JFDD@GNv]@DL
jFDDHGM))
	)))JFDDHGM
 )))JFDDHGM
((JFDDHGM
)))JFDDHGM
JFDDHGM))
JFDDHGM]ALG]LDYO@EL
JFDDHGMDHGHNL
JFDDHGMDLZZHNLvKP]LZ
JFDDHGM@DYF[]
?)))JFDDHGMDZN
)))JFDDHGME@GL
JFDDHGME@GL
?)))JFDDHGME@GL]LDYEH]L
JFDDHGME@GL]LDYEH]L
JFDDHGM@G_FBL
JFDDHGMGHDL
JFDDHGMHMM
jFDDHGMh[NZ))
JFDDHGMH[NZ
JFDDHGMJ
JFDDHGMJFDZYLJ
JFDDHGM@LQ
JFDDHGM]LQ]
JFDDHGM@M
JFDDHGMNL]
JFDDHGM]PYL
JFDDHGMR
JFDDHGMr[LOELJ]@FG
JFDDHGMrZPZ]LD
JFDDHGMT
JFDDHGMvKP]LZ
JFDDHGMv@M
JFDDHGMYH]A
jFDDHGMy[LO@Q))
	)))JFDDHGMZ][
JFDDHGMZ
JFDDHGMZ))
JFDDHGMZ][
JFDDHGMZL]
JFDDLG]E@Z]
jFDDLG]Z
	)))JFDDLG]Z
#)))JFDDLG]Z
JFDDLG]Z
jFDDLG]Zh[[HP
JFDDL[J@HE
JFDDL[JL
JFDDL[JLDND]
JFDDL[JLEFN@Z]@JZ
@JFDDL[JL]LHD
jFDDZLGJ
JFDFKCLJ]
JFDFKCLJ]AGL]JON
JFDFKCLJ]DZQDE
JFDFKCLJ]@G]L[GL]LQYEF[L[
JFDFKCLJ]Q
JFDFKCLJ]r
JFDFKCLJ]r@
JFDFKCLJ]rv
JFDFYLGA]]Y
***JFDGL]
JFD@G]L[GL]LQYEF[L[
((JFD@GN
jF"dH[[[
JFDHAABNMAOQLHZ_P[XJ@AE
JFDH@GFKCLJ]
JFDHMM@G
JFDi[HN_
JFDiJE@B
JFDi[LK[HGM
JFDiZE@GBL[
JFD@JZHGZDZ
[[[jF"dK[[[
jFDK@GH]@FG
JFDK@GH]@FG
JFDK@GLALEY@GN
jF"dL[[[.[[[-[[[A
JFDL@GKHKP
***JFDLQL
JFD[LZ][
JFDrY[@GJ
JFDRYOTuDKF]v
JFDuJFDY[LN
JFDvEHPL[vZE@ML[
JFDvHCHQ
JFDvJFG]HJ]
JFDvJFG]LG]
jFdX[[[4[[[
JFDYEH@G
JFDYEH@G]
jFDYEH@G]hJ]
)))JFDY@EL
JFDY@EL[
JFDY@EL[FY]@FGZ
)))JFDYEL]L
?)))JFDYEL]L
JFDYEL]L
JFDYEL]LHEE]HZB
JFDYEL]L][HJB@GNML]H@EZ
JFDYEL]LM
JFDYEL]LMLOL[[LM
JFDYEL]Lu
JFDYEL]LZA@YY@GNML]H@EZ
JFDY@ELM
JFDYE@]LM
)))JFDY@ELMHZZLDKEP
JFDY@ELMHZZLDKEP
JFDYELQ]PYL
JFDYELQvFKCLJ]Z@DYF[]
@)))JFDY@EL[YH[HDL]L[Z
JFDY@EL[YH[HDL]L[Z
JFDY@ELZ][LHD@GN
JFDYFGLG]
)))JFDYFGLG]Z
JFDYFGLG]Z
JFDYF[]HDLG]FLH_@MH
JFDY[F_HG]L
JFDYFZL[
JFDYFZLMLYEFPDLG]Z
JFDYFZLZDZHJ]@_@]P
jFDYgHDL))
JFDYH]DFML
JFDYHG@FG
JFDYHG@LZ
JFDYHGP@GOF[DH]@FG
JFDYH]@KEL
JFDYH]@K@E@]P
JFDYH[Lt
jFDYH[@ZFGjFDYH[L[k
jFDYH[@ZFGk
JFDYJALJBCH_H
)))JFDYL]@]@FG
JFDYLGZH]@FGv
jFDY[LZZ
jFDY[LZZ))
)))JFDY[LZZ
JFDY[LZZ
JFDY[LZZEL_LE
JFDY[LZZ@FG
JFDY[LZZ@FGDFML
JFDY[LZZ@FGDFMLt
JFDY[LZZLM
jF"dY[[[m[[[c[[[
JFDYOHLGHMF[HC[
JFDYv]@DL
JFDZALEE
 )))JFDZYLJ
JFDZYLJr
')))JFDZZ@]L
Jf|E9YW9XE9T|qUK9	P
JFEEH]F[
)))JFEEHKF
JFEEHNLO[LL
JFEELJ]@FGE@D@]
jFEELJ]@FGmH]Hz]LHE
jFEELJ]@FGnLGL[@Je@Z]))
JFEELJ]@FGZ
JFEELJ]LDH@E@GOFu
;)))JFEELJ]NH[KHNL
?)))JFEELJ]NH[KHNL
JFEELJ]NH[KHNL
JFEF[E@GLZ
JFEF[GHDL[
JFEF[@GNYHNLZDHNHS@GL
JFEF[JEZLJAF
JFEFJH]F[
)))JFEF[JH]][@K
JFEF[KFQ
JFEF[LGN@GL
JFEF[@SL
JFEF[Y@JBL[
jFEF[ZhJ]@_@]P
JFEF[ZJALDL
JFEF[Z]PEL
JFEF[ZYHJL
JFE]HMM@J]
j)))FELFKCLJ]
JFEvAHEOEHZ]
JFFBKFFB
jFFB@L)(
!)))JFFB@L
)))JFFB@L
:)))JFFB@L
;)))JFFB@L
?)))JFFB@L
JFFB@L))
jFFB@LcHJB
JFFB@LCHJB
JFFB@LE@OL]@DL
JFFB@LMFDH@GYL[@FMZ
JFFB@LvJALJB))
JFFB@LvZLZZ@FG))
 )))JFFB@LZ
jFFB@LzL]]@GN))
JFFB@LZr
jFFB@LZvz]LHEL[
jFFBZ]FGLh
jFFBZ]FGLk
JFFEDHG@HGHML
jFFELQ))
J]FFEZuY[F][HJ]LM
jF[FGHhJ]@_@]P
JFF[M@GH]LZ
JFF[MZ@SL
JFFYL[]@GF
JFFYL[H]@_L
.)))J]@FG
JFGAFZ]ZL[_@JL
J_(fgAgg
jF@Ga@_L
#)))JF@GA@_L
)))JF@GA@_L
JF@GA@_L
JF@GA@_L))
JFGALJ@MF
JFGA[XXPOZM
[_JF_[GCAKB
JF@GDFGL[F
jF@Gd@GL[
jF@GD@GL[
jF@Gd@GL[H]K
jF@Gd@GL[k@]
jF@Gd@GL[v
jF@Gd@GL[vH
jF@Gd@GL[vZHM
#)))JF@GDHDH
JF_GDHZK
@JFGEFJH]@FG
!)))JFG][F
 )))JFG][FE
?)))JFG][FE
JFG][FE)(
JFG][FE))
')))JFG][FEA@ML
[JFG][FEBLPR
')))JFG][FEDF_L
jFG][FEEL[
JFG][FEEL[
JFG][FEEL[Z
JFG][FEK@F
:)))JFG][FENL]AHGMEL
JFG][FEvDLDF[P
JFG][FEYEHJLAFEML[
JFG][FEZ
)))JFG][FEZL]
JFG][FEZL]
')))JFG][FEZLGM
)))JFGFSJH]EHG]H
JFG@FZ@Z
JFG_@GJL
#)))JFGGLJ]
)))JFGGLJ]
:)))JFGGLJ]
;)))JFGGLJ]
_[JFGGLJ]
|)))JFGGLJ]
JFGGLJ]@FG
)))JFGGLJ]@FGFYLG
jFGGLJ]@FGhJ]@_@]P
JFGGLJ]@FGJMG
())JFGGLJ]@FGZ
JFGGLJ]@FGZ
JFGGLJ]@FGZ][@GN
)))JFGGLJ]]FH]]HJBL[DHJA@GLZ
JFGGLJ]F[M@DH
JFGGLJ]F[Z
JFGGLJ]@GN]FOF[]@GL]
)))JFGGLJ]@GNMF]Z
jFGGLJ]hJ]@_@]P
JFGGLJ]HZPGJ
JFGGLJ]KF]
JFGGLJ]KHJBKHJBMFF[ZALEE_Z
JFGGLJ][LDF]LZALEE
JFGGLJ]LM
)))JFGGLJ]LMZAH[LZ
JFGGLJ]@M
JFGGLJ]v]FvZL[_L[
JFGGLJ]vLQ
JFGGLJ]vYFZ]
JFGGLJ]ZL[_L[
jFGG]LZ]
JFGGMH]H
@JFG@GMLQ
)))JFGGZ][
')))JF@GH]D[HMH[
@JFG]H@GL[
JFG]H@GL[
JFG]H@GL[@M
JFG]H@GL[Z
JFG]H@GZ
JFG]H@GZBLP
jFG]H@GZcH_HjFML
jFG]H@GZjEHZZjFML
jFG]H@GZjZAH[YjFML
;)))JFG]HJ]D@J[FZFO]
JFG]HJ]DL[NL[
jFG]HJ]e@Z]
JFG][HJ]F[Z
JFG][HJ]@GN
JFG]HJ]iH@[EFJ
;)))JFG]HJ]LDL[NLGJP
JFG]HJ]vGHDL
JFG]HJ]vN]J
?)))JFG]HJ]Z
JFG]HJ]Z
jFG]HJ]zYP
	)))J[FG]HK
)))J[FG]HK
J[FG]HKJAH]][
J[FG]HKLJAF
J[FG]HKO@@OrIN[LY
J[FG]HKTEFJBvJ[FG
_J[FG]HKUJ[FG]HKO@[D
J[FG]HKUN[LY
J[FG]HKZJAH]][
JFG]HMF[
JFG][HM@Z]@GJ]@FG
#)))JFG][HZL
J[FGJAH]][
jFGJH]))
)))JFGJH]
jFGJH]jAH[jdm
jFGJH]jAH[zALEE
jFGJH]jAH[zALEEhYYE@JH]@FG
JFGJH]LDFC@
)))JFGJH]LGH]L
JFGJH]LGH]L
JFGJH]LM
#)))JF@GJHOL
JFGJLY]F
jFGJLY]FhJ]@_@]P
jFG]@j[PY]
#)))JF@GKHZL
jF@GKQLEFN
JF@GKSPY[OBNZZ[O_]ZQNBJNBYCKGP_OQ
')))JFG_L[]
)))JFG_L[]]F
JFG_L[]]F
JFG_L[]FDHG
)))JFG_L[]]FZALEEJFML
jFG]LG]))
	)))JFG]LG]
((JFG]LG]
)))JFG]LG]
JFG]LG]))
JFG]LG]AL[L
JFG]LG]ELGN]A
)))JFG]LG]FO]ALN@_
)))JFG]LG]FO]ALN@_LG@GO
JFG]LG]@GOF
JFG]LG]HG@DH]L
JFG]LG]KEFJBL[
JFG]LG]LM@]HKEL
JFG]LG][LZYFGZL
JFG]LG]O@E]L[HNLG]
)))JFG]LG]]PYL
JFG]LG]]PYL
JFG]LG]]PYLt
JFG]LG]]PYLT
JFG]LG]u
JFG]LG]UJFG_L[]O[FD
JFG]LG]vELGN]Av_HE
)))JFG]LG]v[LGML[L[v[LGML[vO[HDLv@DYEvAv
JFG]LG]v]PYL
JFG]LG]Y[F_@ML[ALEYL[
JFG]LG]Z
JFG]LG]ZJ[@Y]
JFG_L[]HYY
JFG_L[]K
JFG_L[]L[
jFG_L[]o[FD
;)))JFG_L[]O[FD
JFG_L[]O[FD
)))JFG_L[]OHBL[LNLQYZ][@GN]FFKCLJ]
)))JFG]LQ]
JFG_L[]QDE
JFG]LQ]MH]H
JFG]LQ]]PYLt
JFG_L[]t
JFG_L[]tuQ
jFG_L[ZH]@FGe@Z]
jFG_L[ZH]@FGhJ]@_@]P
JFG_L[ZH]@FGZ
jFG_L[ZH]@FGZhJ]@_@]P
jFGM@]@FG
JFGM@]@FG
JFGM@]@FGZ
#)))JF@GMLZB
J[FGMY@M[D
J[FGMY@MJ[FGMGF]D@GL[
JFGM@_@ZL
JFGN[LZZ
JFGOAHZA
JFGOA]]Y
)))JFGO@[D
JFGO@[DH]@FG
JFGO@[DL[
JFGO@[DLQ@]
")))JF@GOEFF[
 )))JFGOF[D
@JFGOFG]
JFGO@MLG]@HE@GOF[DH]@FG
jFGO@N((
jFGO@N)(
)))JFGO@N
:)))JFGO@N
JFGO@NAHZA
JFGO@N[LZYFGZLCZFG
JFGO@NO@ELR
;)))JFGO@NvO@ELvGHDL
)))JFGO@NYH]A
jFGO@Nz][h))
jFGO@Nz][k))
jFGO@Nzza
JFGOO@JADFM
JFGOY[FQP
jFgqggr-
Jfgwk2wK
jFGXL[H]
@JFGYHJBZ
JFGY]PZALEEDH@G
())JFGZ]
)))JF@GZ
JFGZ]BLP
JFGZ]DHD
*#'JFGZDH[ZO[DH[FJHDKKHDHBF
JFGZ]EFJHEO@EL
JFGZ]EFNN@GN
((JFGZFEL
)))JFGZFEL
')))JFGZFEL[LHM
JFGZFELvA@ML
JFGZ]_]G
JFGZHE]@GNL[
jFGZ]HG]))
JFGZ]HG]
JFGZ]HG]@G
JFGZ]HG]JFG]HJ]Z@]LZ
JFGZ][H@GLMJFYP
jFGZ]HG]Z))
JFGZ][H@G]Z
JFGZ]HG]Z@DYF[]
JFGZ]HLX
JFGZ]JAH[
)))JFGZ]JFG]HMF[
JFGZ]LDH@EZ
JFGZ]LEEH]@FGZ
JFGZLG]Y[FDY]KLAH_@F[HMD@G
@JFGZ][LHDO[FD@JFG
)))JFGZ][LZYFGZL
)))JFGZ]N[
:)))JFGZ]N]Dv@M
JFG]Z]PEL
JFGZ]PMJ
JFGZ]]PYL
)))JFGZ]Q
JFGZ]vMLO@GLM
JFGZ]vvM_J_]
)))JFGZ]_Y
JFGZY@[H
;)))JFGZ]YHJvOE@Y
JFGZ]YL[
JFGZ]YQF
JfH[[[a[[[
JFHE@SLM
J]FHFJHAM
JFH]LZiDFGZHG]F
JFHM[QPLDJ
JF]HS@FG
JFHZ]L[_@EEL[LNHEFZ
jFHZ]L[yH[]P
_jfI[[[2[[[1[[[
_jf_[[[i[[[h[[[V
JfI[[[m[[[
J@FJBFEH]F
JFJBO@NA]ZvL
J[FJFM@EL
JFJFZQPQ
JFJHBFEH
JFJ[LH]L@GZ]HGJLLQ
JFJMPSG[KZZ
JfJ[[[s[[[g[[[
jfK[[[*[[[
j)))FKCO@EL
J)))FKCZALEE
jfK[[[d[[[
JFKFE]OF[NL
jFKHE]z][@BL
jFKHE]Z][@BLE@Z]LGL[
jFKHE]Z][@BLE@Z]LGL[))
j||fk||?k||
JFKLZKFO[_GX
J_FK[P]Z
|JFKqccl@u
_jfK[[[U[[[
J_FLCM_PA_MYXPEXQDXH
j]FLDGZM
JF[L@DYF[]]EDLZZHNL
j)))F[@LEE@LZY@GFSH
JF_L[EHP
JF_L[H[]
jF_L[hJ]@_@]P
jF_L[hM_hJ]@_@]P
JF[LHYYZ
]JF[[LJ]
JF[[LJ]EPuQ
JF[[LJ]@FGZ
JFLM_B_SLX
jF[LmF[L
jF[Lm[@_Lh
jF[Lm[@_Lh|))
jF[Lm[@_Lha))
jF[Lm[@_Lhb))
jF[Lm[@_Lhc))
jF[Lm[@_Lhd))
jF[Lm[@_Lhe))
jF[Lm[@_Lhf))
jF[Lm[@_Lhg))
jF[Lm[@_Lhh))
jF[Lm[@_Lhj))
jF[Lm[@_Lhk))
jF[Lm[@_Lhl))
jF[Lm[@_Lhm))
jF[Lm[@_Lhn))
jF[Lm[@_Lho))
jF[Lm[@_Lhq))
jF[Lm[@_Lhx))
jF[Lm[@_Lhy))
jF[Lm[@_Lhz))
jF[Lm[@_Lj|))
jF[Lm[@_Lja))
jF[Lm[@_Ljb))
jF[Lm[@_Ljc))
jF[Lm[@_Ljd))
jF[Lm[@_Ljf))
jF[Lm[@_Ljg))
jF[Lm[@_Ljh))
jF[Lm[@_Ljj))
jF[Lm[@_Ljk))
jF[Lm[@_Ljl))
jF[Lm[@_Ljm))
jF[Lm[@_Ljn))
jF[Lm[@_Ljo))
jF[Lm[@_Ljy))
jF[Lm[@_Ljz))
jF[Lm[@_Lka))
jF[Lm[@_Lkc))
jF[Lm[@_Lkh))
jF[Lm[@_Lkj))
jF[Lm[@_Lkk))
jF[Lm[@_Lkl))
jF[Lm[@_Lkn))
jF[Lm[@_Lko))
jF[Lm[@_Lm
jF[Lm[@_Lm|))
jF[Lm[@_Lma))
jF[Lm[@_Lmb))
jF[Lm[@_Lmc))
jF[Lm[@_Lmd))
jF[Lm[@_Lme))
jF[Lm[@_Lmf))
jF[Lm[@_Lmg))
jF[Lm[@_Lmj))
jF[Lm[@_Lml))
jF[Lm[@_Lmm))
jF[Lm[@_Lmn))
jF[Lm[@_Lmo))
jF[Lm[@_Lmq))
jF[Lm[@_Lmx))
jF[Lm[@_Lmy))
jF[Lm[@_Lmz))
JF[LMZY))
JF[LNHDL
jF_L[PhJ]@_@]P
JF_L[vF[@N@GHEv
)))JF[Lv]HZBvOE
((JF[Lv_L[Z@FG
	)))JF[LvMLZJvYLGM]
?)))JF[LvMLZJvYLGM]
)))JF[LvY[FCLJ]vGHD
jF[MF_HhYY
JF[MF_HlQHDYEL
JF_@MHYY[F_L
JfMIM8M!M
)))[JFML
)))JFMLD@[[F[
JFMLD@[[F[
JFMLFDLNH
jFMLfGEP
JFMLHGHEPZ@Z
jFMLhJ]@_@]P
JFMLHJ]@_@]PGHDL))
JFMLHJ]@_@]PQ
JFML]HZBOHJ]F[P
*!'JFMLJKAF[@JA_@MLFJFMLJ
JFMLJ_L[
)))JFMLKHZL
JFMLKHZL
JFMLKP]LZ
jFMLlG][P))
.)))JFMLM
#)))JFMLMFD
jFMLmFDjFDY@EL[))
JFMLMJFDDHGM
 )))JFMLMKP
:)))JFMLMKPBHZA@OBAHG
JFMLMKPD[
JFMLMKPGC
JFMLMKPK[FGJFML[RK[FGJFML[iNDH@E
JFML]PYL
JFMLvEFHML[
JFMLvZ][
JFMLYHNL
JFMLZ]H[]))
]JFMN@BQXP
JfM[[[O[[[
JFMPE@GMELP
JF_@MZFGE@GL
JFMZQ[MZ
JF[_NBQ[
JFNDFK@EL
jFNIwt#B
jFNIwt"R
JFNQMQZM
JFN@ZD@]A
JFN]ZHHN
JFOBCXQYF]PY
	jFoC]Y]]
JFOJ[Q[PJ
JF__O]_MNDXAGH[NCZ_G
JFOO[LOF[]
JFO]QGXM
JFPBGAGKY
!)))J]F[PH
J[FQANKX
JfQDyEyEyEyWM
JF@QGKKHQPGK[
JF;QGTX"
_jfQ[[[Q[[[P[[[
J]FQYHPDCY
_jfR[[[P[[[W[[[
jF@@@@@s@@A@AAac
JF]SZHKBZSSQC
jf_[[[t[[[
JFUllllllllmlll]Y]]
jfU[[[p[[[
jfU[[[w[[[k[[[
JfV[[[N[[[
j[[[-fwg@[[[
j?fwgfwC6
JfW[[[G[[[s[[[
J[[F__XAMBCF
JFXB]JGLNON
JFXGBAME
[[JFXHGHD
JFXNOFJGG
Jfx[[[t[[[
	)))J[FYAPZ@
jFy[]CCNCCCBACC
J@FYEH]OF[DLQYL[]ML_@JL
J@FYEH]OF[DLQYL[]ML_@JLUQDEE@G]
JF[YF[H]L
JF[YF[H]LM
J][FY@JHEEPu
j)))FYLGOFFMOHJ]Z
[JFYLPDBC[KP_
")))JFYP
.)))JFYP
:)))JFYP
;)))JFYP
?)))JFYP
JFYPAL[L
JFYPAL[LJFE@]LDZ
JFYPELO]
JFYPJE@YHJ]@_@]P
JFYPML]H@EZ]FJE@YKFH[M
")))JFYP[@NA]
)))JFYP[@NA]
JFYP[@NA]
JFYP[@NA]))
JFYP[@NA]GF]@JL
JFYPO@EL
jFYPo@ELCYLNLQL))
JFYPO@ELZ
)))JFYPO@ELZLEZL@O
JFYPO[FDZJ[LLG
JFYPOFEML[
JFYPv@G_F@JL
JFYPvO@ELZ
jFYPyH]A
jF[YvpLH[vdz
JFYYL[ALHM
JFyyyyyyyy
jFZ]d@GyH[]|[E))
jFZ]d@GzPGJ|[E))
jFZ]FDzALEE))
J[FZFO]FGE@
)))JFZ]@[HG
jFZ]HJHZ
JFZ]HJH[Z
jFZ]HJHZv]ME
J[[FZKPKEQQCEP
jfZ[[[l[[[
JF[ZMXX_HY]B_
_jfZ[[[U[[[
JFZ]ZAL[@OO
J[FZZF[@N@G
)))J[FZZ][HGZ
J[FZZMFDH@G
j[FZZ[@ML[vdHG@OLZ]
J[FZZO@LEM
J[FZZO@][LYZJALDL
j[FZZYF@G]
jg1kgfG5
jg3ggfGGx
.Jg3kgfG
jg6*"@@A@h FM
jg7egfGN 
Jg7jgfGa
j_G8dgfG
Jg#9gfGjNh
jg9kgfG5
jg9kgfGi#
jg9ngfGc
Jg9ogfGv
JGAAOZQH
JGAELAJJAJMBNXNL]]K]K
JGAFGBL[
jg;agfGt
JGAJASQPO
JGAOG_DA
JGAZX[SYSC
J]GBB_HOPB
Jg_bgfGg9
JGBHG[DYQQ
JGBJQYXA
[JGB]JQZZ
JGBPBFJA
@[JGBZY[
JgccgfGs#
JgCfgfG!:
JgCfgfGY
J-GcgfGc
Jg;cgfG q
J@G@CHYDHG
J@G]CSKO]DXDYAY
JG@DDQZM[HX[[Q
jg]dgfGx
JGDH@EO[FD
[JGDPDYPBD]A
]J[GDPHQS[P
JGDQSL[O
JGDXMJEQ
JGDXNXG[C
JGDXQFPEJLE
JgeagfGj
JG_EB]ZGJG
jgecgfG"
[jgEdgfG
JGE]FDOAM_SNME
jgefgfGxl
j?g'egfG
jg'egfG[
J)g'egfG
jg	EgfGQ
_JGEJHJEH
_@]J@GEMKHMMSC
_JgeogfG
JGE[SQM_
JG]E_XLJP
JgE[[[y[[[
JGFBJCMQZPZNMXH[
jgfG3jF9gqgg
 jgfG4fb;gqggA
jgfG7]-ogqgg)
jgfG9?7)gqggR
jgfGak9wgqgg
jgfGAQ#lgqgg
@jgfG'dATgqgg
jgfGEDUPgqgg
Jg	fgfGu
jgfG Fw]gqgg
jgfGi_dLgqgg
jgfGiu@;gqgg
jgfGj7Zvgqgg
jgfGJe#Jgqggv8
jgfG)LbIgqgg
jgfGlBjhgqgg)
jgfGlPz.gqgg
jgfGl|z6gqgg
jgfGMn[Fgqgg
jgfGN_7egqgg
jgfGp8#@gqgg
jgfG_p@Dgqggu|
jgfGPU;Rgqgg
jgfGQF@sgqgg
jgfGRu_1gqgg
jgfG-ru"gqgg
jgfGSIyxgqgg
jgfGTkDcBD3
jgfGuK'Dgqgg
jgfGUT.ggqgg
jgfGVbF@gqggH
jgfGYhQ5gqgg
jgfGYkW8gqgg
JGFMCJQDOXL
:JgGagfG
JGG@@CE_
|jggcgfG
J)gGdgfG
JGgeegfG
J@ggegfG
_JGGEOX]EOE
JggfGu5[
!jggfw3]p
|jggfw*7
|jggfw9M*
#jggfwawy
jggfwjXm
J)))@GGFZL[_M@N@]HE
JGGGAANOD]MG
jg[ggfG.]
_Jg-ggfG
jg_|ggGnQ
JGggogfG8y;
JGGJC]NH
J[GGJSSM
j]ggkgfG8
jggKggwr
JgGMgfGn
JGGNHLEXBG
JGGNSJ]ZSHJG
J_GGO_LANYGO]X
JG[GSYE]SZD
jggwBn#;
jggwgfGi
JGgWogfGM
)))JGGYK
JGHDJLDPNOXLNH
JGH]]HSEQM_]AQ_
JGHMDFHJ
J)))GH_@NH]F[
JGHOXGACP
?jgifgfG
jg_igfGK
J?gi#gfGy
Jg]IgfGy9
	JgiggfwgR#(
jgIkgfG@
JgIkgfG7
jgikgfGIE
JGJ__AKX
JGJBDLJQCMXKD
j)))G@JB@G]ZL]MGZZL[_L[Z
JGJDJ[CNPN@XP
JGJHL@LZ]H]
[JG[JMQJKQYLM
JGJN]JK]
JG[JY]]F
JGJZC]ONC
*JgKagfG
[JGKCBZCH
JgKcgfG4j
.JgKegfG
Jg[kgfG]
J@g!kgfG3
jg]kgfG4
Jg]kgfGF
jg;kgfGFJ
jg	kgfGH
jg)kgfGj
jg'kgfGv
Jg#kgfGy
JG[KKGGYP
JGKLMSY[GHDGC]Y]X@LA
JGKNSXQ_
J||gK||OK||5K||
J@GKPZND
JGLACKGB[ZP_ANXGH
JGLDACBMS
]J@g'lgfG4A
J@G]L[GLLuA@NAE@NA]LM
JG]L_MBMOOGP
JGLMQODQS_H
JGLQ[NAEHJK
JGL]ZA@G]L[OHJLYF[]Y[FQPHMM
JGL]Z]FY
jgmbgfG;
JgmdgfG9
JGMDJASGPD
JGM_ENNNYSHHBMBYOQFGD
-Jg-mgfG
_JGM_JDQBEDG_KZ
JgMKMBM:M-MbLDL)L'L
JGMOY[KM
JGMQHHMQCKDBN
J-gM[[[r[[[
JgMRM8M4M
JGNADKYQ
JGN]AEJNJ
JGNBDGMNZ
]JGNEKF_]
jg'ngfG"
jg'ngfG;
jg'ngfG9
jg'ngfGA
jg'ngfGe
jg'ngfGf
jg'ngfGJ
jg'ngfG.N
jg'ngfGWe
JGN][[LXNF
JGNNJDXGL]C_OGDK]
J[GNN]OA
jGNogfGI
J[G]NPJGP
JG_NS]C[Q
JG[@NUH]]HJBU
JG]OB_]KGAHNAEO[M_Y
jgOcgfGgi
.JgocgfGp
jgOfgfGB
jgOfggGB
JGOFJBBHJ
jg-ogfGd
Jg-ogfGLP
JGO_MNZ_HLQ]KGCD
JGOSHGHYKDAGO@CZL]
J_GOYSBDM
J@G@@OZSQ
JGOZYH[H
JG@__PBX
Jg'pgfGeu
Jgpgppepq
JGpgppepq9
jGpgppept
JGP]G_ZLLMF
JG]PHDJZZ_P]PJ
J_]_GP]_PQLOYABYX
JGPSCZEN]
[J][@G@]P]ZDKF]
_[JgQEy[J
JgQEyPLH9
JgQEyQ(GSSWYULo9
j.gq]gfG1
  J     gqgg
*Jgqgg: 
Jgqgg15#
:Jgqgg 5
Jgqgg!8K
Jgqgg9KZ
JgqggaH	
jgqggCcW
#jgqgg"D
JgqggD;qM
jgqggfB[H
"Jgqggfr[
)JgqggG6Jp
jgqgg'G8i
_j*gqgg!I
JgqggI1|
JgqggjOzy
'JgqggK 
jgqggk0G
JgqggK[Gt
#jgqggKn
@jgqggko
jgqggKSl
JgqggKSl
JgqggLFr
jgqggLq0
!jgqggL_sh
-Jgqgglz
()Jgqgg (n
jgqggN4B
Jgqgg[ns
Jgqgg"!q)
jgqggqXQZH
j_|gqggR
*Jgqgg-S
jgqggu#K
[jgqgguyD
j#(gqggw
[JgqggwLVH
JgqggwTp
jgqggW[UH
;j.gqggy
_)jgqgg(Y
J*'gqggy
_)jgqggz
J[gqggZY
JGQ[JGPO
JgqkgfG@
J:gQkgfG
#jgQkgfGx
JGQLALLZZP
__JGQML]@P
JGQPKKHL
J:g-RgfGV
JGSAJ@KODAAC
JGS]AYJOS[SJ
JgscgfGt
_JgsdgfGct
JGSEOYKK
]JGSL_JC
JG_SPAEGQ
J	gTg!ugfGK
JgUegfGIM
J|gueggw
JgUggfGVn
jgungfG-
jgupgfGi
jgUtgfG0
J_GvJFML[
jgwbgfGAkm
;JgWcgfGl;
j]gwdgfG
jgwegfGCF
JgWfgfG 
jg)wgfG3H@!gqgg
jg'wggG@
jg_wggGe1
#JgWNgfG]
jgwngfG8
J@GXBAGGND
JGXCA_ZZ_H[BXJSDGSL
JGxc@@@@XpYHJGxc
JGX[FNG]H
[J_GXHEA
JGXHLSBHGNB_
JGXJ_BDQSJPCZQNLO
JGXJ_GXQ
JGXJQXYYJB]
JGXLMQKB
JGXNCHY@NPK
_JGXO[]HKQ
JGXOLQDY_B
JGX_POQ]
J]]GXQJGP
JGXZCSBYYF
[JG@XZEN
]JGYAYNCG
JgyfgfGLL
J]GYM@KFSQHQ
jgyogfGI
JGYP__JS
JGY_POZL
j""gyRgfG
)jgyxdy0
	JGyxdyP
J?Gyyyyy
jGyyyyyy
[JGZAFBNG
@JGZCOJSXQ
Jg'zgfGus
JGZ]M]J_PZJQY@
JG_Z[N]G
_JGZN[NL
JGZZ@PGOBG
jH3gqgg("
J[[[H4je][[[
Jh!5fgw	!
JH#||||#8	
':@J@::H9xyxnyVx
JHA]BKOJ
JHADBSLB
JH]AFE@J
JHA]MG]Q][AZL
JHAM@QNO
)))JHA@N_PJD
JHAPXJQB]DMH
J__HA@SB
JHASSPYCE]QEGX_ZJYG
JHBBBJLPAXD
JHBBJZPLL
JH]BD[AO
jHBLoHJ]F[P
JHBMA_[N
_JHBMO__XXB@B[GDHJXPC
JHBNB]HC
JHBN]XMYM
J_HBOOKJ
[JHB[QPEQ
JHC[CL[NK[
J"hc*(Gf
JH]CHJBDPD@YZ
JHCJBSNJGE
JHCJGPOOQEGGYB
JHCMOFSX
JHCNHXQYJF
JHCOSQGQ
JHCOYOLSNGHQZF
JHCQ_KH@QB
JHCSPCZ]DF
JHC_SXCDYP_HZH
JHDAOZXPQ
JHdB[[[c[[[
JHDB_G[X
JHDEZPYO
JHDFALZH
)))JHD@GAFMH]H
JHDHYH@H
)))JHD]HZ@H
JHD]HZ@H
jHdK[[[2[[["[[[
JHDK[@MNLM[PJELHGL[Z
JHDLEBLP
JHDLEJHZLHZJHEEKHJB]F[LYEHJL
JHDLENHDLZ
)))JHDL[FGSGQKHZ
JHDL[H]@DL[
jHDL[HhJ]@_@]P
J[HD@[LSiKFZ]FGY[@_H]L
;)))JHDO@EL[LJL@_LM
JHDS[MYNHYCKXAGJ_M
]JHDXMCZZPPMA
JHDYDFK@EL
JHDY@GNFHZ@Z
JHDYH@NG))
JHDYLFGH]F
JHD_YX_P
#)))JHDZ
JHD@ZHZLE
JHEBZFLZHSGH]B
	)))JHEE
;)))JHEE
@)))JHEE
JHEEALEYMLZB
JHEEC]LAZLQHNO]
	)))JHEEDF_LHGMA@ML
)))JHEEDF_LHGMA@ML
#)))JHEEE@GL
#)))JHEE]FEE
jHEEFJ))
)))JHEEFJ
JHEE@FYL
jHEEGLQ]AFFB
')))JHEEGLQ]AFFB
JHEE@GNJFG_LG]@FG
JHEE@GNJFG_LG]@FGt
JHEE@GNJH[M
JHEEJFYPuu
JHEEJHEE
JHEEKHJB
JHEEKHJB@LQ
JHEEKHJBX
JHEEKHJBZ
jHEEkPgHDL))
JHEEKPGHDL
JHEE[LJF[M@GN
JHEE[LJF[ML[
)))JHEELKY
jHEELLGJ
JHEEL_L@G]L
JHEEL[@M
JHEEL[ML]H@EZ
JHEEM[@_LFKCMFJ
jHEE]PYLdL]AFM))
JHEE]PYLt
JHEEvYAFGL
jHEEvYAFGLvYL[D))
jHEEyAFGLvyL[D))
jHEEyH]A
JHEEZ]FYZL[_@JL
JHEEZKEHJBE@Z]
)))JHEE]ZL
JHEEZLGM
JHE[FL]XSN
JHEF[@LZ
jH[eFNFhJ]@_@]P
JHEGF]@OP
)))JHEHJH]]H
JHEJ@GJFDL]HQ
jHEJhJ]@_@]P
JHEJ]HQHKEL@GJFDL
JHEJ]HQZ
JHEJZHEH[P@GJFDL
jHELESzA
J)))_H[ELG
jHELGMH[
JHELGMH[
jHELGMH[e@Z]hJ]@_@]P
jHELGMH[hJ]@_@]P
JHELGMH[][@NNL[
JHE[MFKM
JHENH[PZFJJL[Z]H[Z
JHENvHLZv
JHENvZAH
JHE@OF[G@HGEFGMFG
JHEPESYC
JHEPYZF@OP
JHE[XKLQ
JHEYAHKL]@JHEu
JHE@YAH]L@ZEHD@J
JHEyxhy?
JH_]EZCKYXZ
J[HFA]NJYHZO[
JHFENC_ZJFD
@JH[]FFG
JH[]FFG@Z]
JH[]FFGZ
!)))JH]@FG
((@JH]@FGMH]H
@JH]@FGu
JHFPSSJK
@JHGAHS@Y
J@Hg#bgfGiP
JHgEagfG
JHGE[SYDLK_[_HZ
.)))JHGFG
JHGFGZD]Y
JHGGF]FYLGZLZZ@FG
jHGGFGo[LZJF
JHGGF]uQ
*@jhggfw
[)jhggfw
#"Jhggfw
_Jhggfw 
Jhggfw!!
Jhggfw?.
Jhggfw[[
!jhggfw1
Jhggfw[1d;f
Jhggfw!29
Jhggfw2k6lah
!Jhggfw3
Jhggfw.3
Jhggfw3tF (
:Jhggfw4
Jhggfw]4
Jhggfw45n
*Jhggfw5
Jhggfw5*@
*Jhggfw7
-Jhggfw7
(Jhggfw8a
Jhggfw]8d
Jhggfw8Q
Jhggfw8RYt
Jhggfw92
Jhggfw9o
jhggfwAn
JhggfwB2r
jhggfwBK
JhggfwBX
JhggfwbXq
Jhggfw[C
JhggfwCK
JhggfwCpT08
Jhggfw'd
Jhggfwd_
Jhggfw"D
Jhggfw*dX
JhggfwDX
jhggfwE	
Jhggfw e
Jhggfw"e
Jhggfw[e
;[JhggfwE.pH@
Jhggfw)]f
Jhggfwf0
Jhggfwf5W 
JhggfwfD
JhggfwGC
JhggfwgcB
Jhggfw-h
Jhggfw.H
#JhggfwHa
JhggfwHE
Jhggfwi#
JhggfwI0
Jhggfwiov
Jhggfwix(
JhggfwJ[
JhggfwJd
Jhggfw"jo-D
Jhggfwj@yc
JhggfwKL
JhggfwL@
.jhggfwlOI
!jhggfwlp
jhggfw)m
Jhggfw:M
Jhggfwn-
Jhggfwne
JhggfwnJ
Jhggfw!o
JhggfwO8
JhggfwpMj
JhggfwPO-
JhggfwQ0
|jhggfwr
Jhggfw'r
Jhggfw:	|s
jhggfwS5o_
Jhggfwtx	
?JhggfwU
JhggfwU-
JhggfwUA
)Jhggfwv2YA
JhggfwVE
JhggfwwW
Jhggfw@y
|JhggfwY"
Jhggfw:Y
JhggfwYm
JHGGHMPS
JHGGPHZZA
JH[GH_HE
JHGHMHAHEHELJ
JHGH[P]FBLGZ
@JHGJBZLOFY
JHGJLEEH]@FG]FBLG
JHGJLEEH]@FGv
JHGJLEHD@CFK
JHGJLEH]@FG
jHGJL[zJHGGL[
J]H@GKQX
JHGMD_SP
JHGM@MH]LZ
JHGM@ZYEHPH_HZ]HM
Jh:g	ngfG
JHGPCMPNO[
JHG]P_[QNA@
JHGQ]DKXNZAA
J)Hgqggy
J@_HGvJFML[Z
JHGY]MJN
J][HGZ@]F[@GLZZuJH[LL[@GN
J][HGZOL[LGJ@H
JHHAVxx]Y]]
'))JHHAyxsy6
JHHDCKALHKP]
JH_HE@L[ZF
JH[HFCG]]ALZEHGHCNDX]
JHHF]XFZ
JH]H]HGOH[AHGZ
JHH@'HIV5
JHH@'HIyxa
JH]H[HJ]ZvZH
JHHHxx]Y]]
J)))H]]HJBL[
JH]HJEPZD
JH[HJLYH]CHM@D@EPH[ML[
'JHHJMJH9xyxvy
)))JHHJXK
JHHKMAKN
'JHHK|xvy
JHHKyxrx
JHHLHAIO
JH]HMMHO]L[
JH]HMMHO]L[r
J]HHQBS[L
_J_HHSKQA
JHH_SSCL_
JHH@yxcy
JH[HYYE@JH]@FGZ
JHIHxx]Y]]
JHIHyxpx
JHINyxjy1
Jh	ISSPs
JHIxx]Y]]_
)))JH]JA
?)))JH]JA
!)))JHJAL
.)))JHJAL
JHJAL@O[HDL
JHJALZ@SL
j[HJBdHYlQLJ
j[HJBDYAHZZY@ML[
J[HJB@GN
;)))J[HJBZ
[JH[JEYC
)))@JHJEZ
j)))HJ]@FG
]@J]HJ]FL
JhJGJ0J"J
J[HJHDFZAK_
JHJHJHJHJHJHJJOKNMOLOLNAN
JHJHJHJJNMO@OLNMN
JHJJ@HDH]]H@ZLF
'JHJJ'JLMJI
JHJJKIKKKHKIK@KNKNK@KNKAKMK@KNK@KHKKK@JJJ
J]HJXJPQ@C
JHKAQ_CS
j||hk||Ck||
JHK_]EBSCD[
JHKELFGL
JHKELGL]
JHKELJFNEFKHEE]M
JH[KFGKEHJB
jH[KFGkEHJBjALJB))
JH[KFGKEHJBZLGZF[
JHKGB__YLAKCYF_XHDNOAD
j||Hk||hB||
jH[KHGHBzMK
JHKHJBMFF[Z
_J]H@]KHYKCQSSLOKXY
JHKOAAH]XF
JHKOKQL]
JHKYEH]KDGFOH
J_HLACGOAY
JH]LDQA]_BN
JH[]LEHJ
J_[HLGDCONZ
JHLJFJSG@J
JHllllllllmllllOllylm
JH[L[LOF[D
JH[LL[OP
)))JH[LL[YEHG
:)))@JH[LMH]H[LJF_L[P
JH]LNF[@LZ
)))JH]LNF[P
JH]LNF[P
JH]LNF[PGHDL
jH]LNF[PhJ]@_@]P
jHL[OP[MM@G
JHLPHALY
JHL_QSA[YAH
JHLYCZYKZ
JH[[LYF[]
JHLYNQ[MDJ
JHLZH[NFJA@
JHL[ZXKM
j||hM||Dk||
JHMDNLCL@]
;)))JH[MGF
jH[MHGF))
 )))JH[MHGF
jHMH]HbLP
')))JH[MHJ]@_@]P
JH[MHJ]@_@]P
)))JH[MHZ
JHMHZ][F
JHMKJAJNKKM@KMJKI
JH[MMH]H
JHMMXCYCHXP_YKS
JH[[[MQQP
JH[MvEFJBL[
JhMYMNM7M
JH[MZH[[HP
)))JH[NF][HGZ
jH[NFKHP
@JHN@JHN_
J@HN@JHN@JHN@JHN@A
J@HN@JHN@JHN@JHN@JHN@JHN@JHNCJNGEDCAP
J@HN@JHN@JHN@JHN@JHN@JK
J@HN@JHN@JHNOZB
J@HN@JHN@JHNYJ
@JHN@JHN@JKQJDE
@JHN@JHNYNC_
@JHN@JKQJDE
JHNJN[Z_
JHNJPJSK_[BXHZLF
#j)]H[NL]
j)))]H[NL]
J)))]H[NL]
j)))]H[NL]DFML
)))JHNLGJPOFG]JAHGNL
JH]NLGL[H]F[
j)))_H[NL[H@G]L[GF
JH[NOEBHLD
JHNQKNAYNH
J[HNQXMQKK
JHNXCXGQB]
JHNZXC_Q[
JHOCHCGLN]H
JH[OCNH@[M]AES
JHODAOBO
J[HO]DH[BL]@GN
JHOGEDBPH][A@H
JHOJ[JEAQM[QX
jH[OLBHK
JHOLDFML
J)))HO]L[@GZ]HEH]@FG
JHOLLOHJ
JHONHHHI@U
JHOOSJCLAOF
JHO[_XGBCNN]LNB
J[HO]ZDHMLKPOH@]A
JHOZNKNPSP
J[HPDF@[YHEHY@M
Jhpgppepq
jHpgppepqYW
JHP__H]DDG
jHPLEM@N
JHPL_GG[FYP
JHPOMPN]L
JH[P]PD@
@JHPSDZ[L
JHQCSMYEFQN
JHQDZ[CY
J]]HQG]DJ[N]GS]OZYHJHG
JHQG]Y_Y
')))JH@QH
]JHQHJBM
-jhqllllllllmllllOllylmr
JHQOY[M_
JHQPKQLQ]EOPF
JHQYNNCMD
JHQY_[_NNOY
_[JHQZOX
j|||h||rh||
JHSAHENBZEQANFCGSSA[
]JH_[SG[
)))JH[S@GF
JHSHSJPQF@LAFN
JHSKOEGEGMBSQL
)))J[HSPMHGJLKPYGY
)))J[HSPMH_LZZEF]Z
[j[h[v[b[m[h[l[v[o[
j[[[HvNdY[[[
JHXC_QZDY@Y
JH]XDHKZH
JHY[BHKNC@
JHY][CQM
JHYDH[BL][LYF[]
JHYE_ZEXXM
JHYEZJXM
JHY]@FGE@BL
JHYFGH]L
JHY@]HEZ][FBLHN[@]@YZ
)))JHYHKELJHG@GLZ
')))JHYHK@E@]@LZ
	)))JHYHK@E@]PGHDL
JH[YHZJHY@]HE
jHY]JAH))
 )))JHY]JAH
JHY]JAHOF[D
JHY[LZZFJHOL
J]H]YNX@
JHY__PPBOZ
JHY_SDSYFQP
JHYvZ@NGHE@GNvZLG]
JHY@Y[@_@ELNL
J[HYY@GOF
jHYZ]FGL
((JHYZ]FGL
JHZADH@EZPZ]LD
)))J[HZA@GN
JHZAKHJB
)))JHZA[LD@GML[
J]HZBB@EE
JHZ@D@[EHK
[JHZ_DJPYACKMCK[A@
JH[ZDKHEM
JHZ@DLGMF
J]HZFNNA
JHZG_COB
JHZHEZLQFE@KL[HE
JHZHJFGJL@]FE]MH
JHZHLZMLZ@NGL[
JHZHMFYH@
JHZHMLDF]F[L
jHZJHYF[]
#)))JHZL
;)))JHZL
JHZLLEZLNL]O@ELGHDL
JHZLOFEM
JHZ]NC[XGO
JH[ZN@[EZZLQP
[[[J[[[I[[[
(JI2(60	)5
_j]i|6s1
JI#||||#8	
JI8("pgppepq
JIAIJIILI
JIcgqgg)
j)))iDPZXEvJFGGLJ]
JIdV[[[e
JIdX[[[B[[[F[[[
@jiEdK@@@@@
jIg1kgfGx
JIg9kgfG
J]igfGBpv?gqgg
JIGILIIXI
Jigpgppepq
jIgqggDg
JiHELH]iDMiHELH]i
jIh_TSSUs
JIHYILIILLIOLLIELLI[LLIQLLIWLLImLLIcLLIyLLI
jIi9jIiijIi
JIIDI5HIRI
JIIIIH1@
JIIIIIIbI
JIi-JIiMJIiuJIi
JiiJ]iiPQi
JIIMINJKy9:
JIJIIH1@
JIJIIHkH
 *JIK760 *N
jIKCLGGZ
JI_KGIOI
JIKHIIIHI
JIKHIIIKI
JIKI#IdII
JIKIvIdIIEHIJIIH
JIKMIIIbI
JiLJAFFOO
JiLJAFZ][E@GB
JI@LJHMO
jillllllllmllllOllylm
JillllllllmllllOllylmHB
JILNIOJK
.J]ILxxx
JiMaM]MEM1M
JiMaMYMAM9M1M
JiMeM]MMM5M-M
Jimhikm[GZG
JiMIM5M)M	M
JiMOMEM0M
JiMZMDM6M
jI*ogcegfGK
'J@IOHHIIxyxvyVx
JIoIKKIII
Jitdebugger
?J...iwyy
?J..iwyyyYyyoI
jJ1gqggk
JJ#||||#8	
j@@@@@j@@A@ACac
@@J@J@ac
JJ[ADM]A_HHCPXXK_BLYDD_
)))JJAFJFYHJBHNL@GZ]HEEL[@GZ]HEEDJHOLLHNLG]
j)))JAH]][
JJALDQAN
J[JAOD]L
_JJAPEGH
J@JBCEFFMAN
JJBD]OSH]OQGYJJ
J_JBFDBNCEB
JJBH_ZKA
jjbjjbjj!C
]JJBJKBSCS
JJBLYGFXHP
JJBN]BDL
JJBNHXSGXKEOD
@JJBNKZLN
_]J_JBQ[
J[JBQOE[
JJBvEHZ]]@DL
JJBZBZ[L
@@J@JCac
JJ_]CASB
@JJCFHEQCN
J]]JCHSO
_JJCKLZNLCH
JJCMKQKSQ
JJCPBPDJG
JJDADNKX
JJDA[GM_PZ
JJDBY_SS
JJDFNADG
JJDGBYDGMH
JJDJMXBM
JJDJ[NJB
JJDSQSJO]
JJD[[ZFPGLCFKB
JJDZOQGOD
JJEEYHHH
JJEEYHHHHPKY_OAH
JJEGXLGJXQAS
JJEH[BLi[DA@M]H
_]JJEJSHMN
JJEJXCHJA
((J]JE@LG]i
J_JELGN]A
JJELHGL[
jjELHGL[y@GN))
JJ[EQACQHDCK
JJFDYEL]L
@JJFDZZAZ[H[E[]
JJFG][FE
JJFG][FEEL[
j)))J[FG]HK
J)))JFGJH]LGH]L
_]JJ]_[FH_Z
JJFOO@JL
JJFPNJFX
JJF_PYQZHFNGZSZ
JJFQGCBPOLSKE
JJFSDA@[KMMLB
@JJFZYD_
jJg7cgfG
_JJGB_LSKG
J_]JGDCOH
JJgE?gfG
JjgGggfG
_JJGKXBQ
jJgMdgfG
JJGOJPFZA
JJGPLPNB
j|jgqggT
JJGQKFJGZ
JJGQP_SMLJ
JJGY[BAX
J@JHA[F]@
J_J]HBBYGJH
JJ@HBEQJ_
JJHDN]XNXEY_
J[@]@JHE
j)))JHEE
(jJhggfw
jJhggfw6
jJhggfwa
jJhggfwmO
jjhggfwYnkY
j)))JHGHM@HGY[@JLZYAH[DHJP
JJHGOHACOO
JJH]HEFN
jjhjjbjjaC
JJH]OAGMYHP
J]J[@H[]X
JJii]PiiQ
JJii]PQi
'JJJ:@9I@xyxnyVxVx
JJJ]HEASM[[KA
JJJHG@]FCA
JJJHMMIAIOLLM@M
j[jjjbjj
j:jjjbjj!2
j*jjjbjj!R
JJJJHNNOxx]Y]]
jJjjjbjj
JjjjjbjjAR
JJJJJgm44l4
JJJJJJJJJJJJJJJJJ
JJJJJJJJJJJJJx22222222
J@@J@J@JJ_J_J_JY
jjjJl]llylm
j)))JJKK
JJJMCBN]
jjjnjbjj
JJJQKKGK
JJ@J@yxq
JJ[KBJONFGMJDP
j||jk||Bk||
J[JK_CMZO
JJKC@YPOBS
jjkELVkbkokckonmol
@J@J@KHGB
JJKJIKIJ
jjkjjbjj
JJKK[BXZ
J[JKLJFKNO
JJKPZEQOGQYD
_JJLAHYMH
'@JJL@AL;xyxpy9
JJLBQJ[OMGLOPS
JJ]LEY_JK
j)))J[LH]LFKCLJ]
JJLKQCLQ[N
JJllllllllmllllOllylm
JJLNHNPJ[JYE
JJLNZJEMSQOYHLKO
JJLSO[HHAYOQCYEGOX
JjlSSSSSSSSW
JJL_YDBDXXPKDD_
jJmAAAAAA@AAAAACUo
jJmAAAAC
JJMC[S_LJF
JJMDDXJ[@KDG_
jJMdH@GhJ]@_@]P
JJMGQCPOEHBKZQKB
';J@@JMHJxyxjyVx
JJM]PYL@H
JjMTM3M*M#M
JJ[MZD][S
JJNBOKC]A
_JJNDMHB
JJ[[N[EZ
jjnjjbjja"
'J:J;NKA@xyxty
JJ_NNLHLX
]][_JJODP
[JJOEOGSB[@
JJO@FN]AA
JJOFPZGFH
JJOJDZZDCD
JJOLPOQZNHGZJ[
JJ|O|[xfAo
JJPEQC_A
JJPGNQSK
Jjpgppepq
JJPKPCDMA
J[[_J]PNLM
JJP_PLEXNAXHO
JJPQCKZNMMPX
JJPSZMP[EG
J@]JPX[GPBYCHD__QYKMGD]O@
JJPX_]NKSN
JJPZDMODON
JJPZLGXPAHZ
JJPZMF]CF
]]JJPZZ[Z_]MMA]
JJQA_]HCCX
JJQA[J]ZMLPLQGGAMGN
JJQKNM[KESBBP
@@@J@JQ@M
JJQOYXNNBDBY
JJQPZ]OYM
JJQSCJ]ZF
J@@JQSOCA@MOG[
jjQSSBVD9
JJQXPZQB
jJRSSQ_D9Q
[j[j[[[R[[[Z[[[
JJS@CZBQM
[JJSLS[ME
_JJS]PLNCEMQMXJ
JJSQ]SKK@LP
JJSSXZOMH]
J[JSYA][
JJug;WgfGeW
JJU@KKMUHOIM
JJXGCGL[NX[H
JJ[@XGGC_[N
J@JXHKJEJFJAJ
JJX@OGHNA
JJXQD[GJYD
J]JYACM[L
JJ@YBHBP_O[
J]JYBS_JGYP
_J_JYBXQ
JJYBZMQQ
JJYCZOP]
JJYG_FDDX
JJYH_B[GB]
jjyH]]L[G))
JJ_Y_OJYY_
JJYX]@[@
JJYXGNCPH[
JjyyHKJM
JJ[ZDLDQJ[L
J[J[_Z]EZ
JJZ]_HKP
jjzjjbjjaZ
JJZNZBZQHNDN
J][J]ZONC
J[JZY_]G]C
JJZZCQ]QB_DLHMK[
JK#||||#8	
JKABJMCGDOKGH
JKAH_KS]PJ_QSNM
JKAHZAFKCLJ]
JKAJMMQNY
JKAJPZ[LE
JKALMAN]O
J]KAPBAMMYZ[PN
JK@@@@B@A@2 @H
JKBGBPSPB
JK_BH[YM_@[
jkbjjbjj![
JKBM][YBCZ
JKBN_BGD
[j[k[b[v[
JKBXFOSKFSQLY]KM
@JKBZXNL
JkccgfG11
[JKC[C[Q
JKCJSCF[
JKCZB@MJ[ZC]
jKdC[[[x[[[
jkddolnide
J]KDGDLO
jkdimkhhi
jKd][[[j[[[
JKDJSXNKESHKHYKOOS
JKdK[[[.
jKdK[[[0[[[
JKDKYK@K
JKdN[[[e
jKdO[[['[[[
;jKdO[[[K[[[J[[[
jKdR[[[.[[["[[[
jKdT[[[m[[[
JKDXDBAZSKMH_YNLN
JKE@F[_XNL
j)))K@EHEZ]H]@FGL[Z
JKEHJBK@[MZu
JKEHJBK@[MZuKHJ]L[@J@ML
jkELVjhkhilkbokii
jkELVjijijcjninhm
jkELVjijkjmjcichh
jkELVjmkmjmknjnic
jkELVkhkbhkkoikob
JKEQ[]XMACB]
J_KESPKP
JKFAMCJH[A_
JKFBYOG]
j)))KF]HMD@G
JK_FJDXS
JKFLPJOQQ@CJXD
J_KFQL]ZE
JKFXKMSM@XPQ
jKgAkgfGR
jkgfG'JqVgqgg*j
J)))K@GH[P
jKgjXgfG
JKG[[M[DNJYX
_J[KGMGMQ[BBGOA
JKGPNZYJQ
_JKGSO_AY]NY
J@KGXGPN
JK@[[G[XS[CC
JKHBO[YOXA
JKHEO]DCL
J@]@KHGB
jkhhyu3#0yu3#0
jkhhyu3#7yu3#5yu3#(yu3#(
jkhhyu?77
jkhhyu?.9
jkhjjbjja[
J_KHJSOJ@D
jkhmyu?77
jkhmyu?.9
JKH_PZBBBHHSQ
JKHXEOP[YM
JKHyxXyMHJHOO
j)))KHZANF
JKIANcIMAoI
'JKIHxyxny*
JKIL@MNUL@NMUMJ@
J'KJ'9(1
JKJBYEQD[
JK_JH_GC
JKJHSOCHDPDMB
JKJHZCLLG[CZB
J@]K@_JJB
jKjjjbjj
jKjjjbjjA
j|||k||jk||Xk||Jk||'k||
]JKJLPLJ
J'KJxx9.1
J'KJxxvxxx
J'KJxyxsy
J'KJxyxwy1
JKJyxXy;
JKKBSXP]JOL__HL
JKKHLQKSGDM
JK[]KHOZK
jkkjjbjj
JKK@]P[A
JKKQNKCG
JKK]QYBJ
JK_KX[J]]
JKKZZMMQ
@J.)KL4*yxq
J[KLDX[@
j)))KLEFU
jklgedgfG
JKL]GOYEPMB
JKLH@I@MII
J@KL[J[@DLM@_@Z@FG
'JKLJK@JKKJAMxzxj
jKllllllllmllllOllylm
JKLL[MQSY
JKLLxx]Y]]
JKL@MXZZ
_JKL]NCFQHBY_JMNKCFX]@PLBB_
JKLNJM@A[QXGKE_
JKLNYF[LLO[Z
JKLOF[LZLGM
JKLOSXNHJ
]J@KLSBO
JKLSZXZZJ]PPO
JK]_[MACMFO
[ [j[k[m[b[
JKMBS[EYO]K]EKZJGNZ
JKMBS]OZL[NCHOAAPHCG
JK)mggfw
_JKMK_SX
JKMLOLGZL
JKMLOOOO
JkMMMCM8M
J_[KMQM_
JkMXMSM.M
JK]@M_ZPLYD]G]L]
J@KNCLMCQSM]C
JKNCPBOL]P
JKNDMM]J[JA_
]JK_NJEZ
JK[NNFZGS
JKNQAFNXJ
J_KNXLKH
_JKOCK[E]_
[]J@KOFZ
[j[k[o[l[
jkoloh))
'JK:ONJLLxyxhy6x
JK[ON]PS_HXO[
JK]_ONPYOO
J]KOYKMJQGF
)))JKP]L
j)))KP]Lrt
JKPNZABAN
J[KQDHAB_S
_J[KQNS[MCHX
JKQPH_@][DSL
JKQSKD_Y
J[KSBGYFGQG_ZEML
JKSDQFY]
_JKSFYEHPX
JK[]SKN_
[]JKSOKAC]ABBQA]]QC
J@_KSPNZKQLND
JKSQC[]H
JKS_SB[FAD]ZPABQKDP_
JK@SYHHCP
JKSYYD_G
JKuKFDNH[_H
[j[k[u[k[u[j[b[k[o[j[u[j[[[
[j[k[u[k[u[j[c[h[m[i[u[h[n[m[[[
[j[k[u[k[u[j[c[h[m[i[u[j[[[	[[[
[j[k[u[k[u[j[c[h[m[i[u[o[j[c[[[	[[[
[j[k[u[k[u[j[k[n[c[m[u[k[[[
[j[k[u[k[u[j[l[j[h[o[u[c[j[[[
[j[k[u[k[u[j[l[j[h[o[u[j[[[	[[[
[j[k[u[k[u[j[l[j[h[o[u[j[k[k[m[[[
[j[k[u[k[u[j[l[l[m[h[u[j[[[
[j[k[u[k[u[j[l[l[m[h[u[j[[[	[[[
[j[k[u[k[u[j[l[l[m[h[u[l[m[b[[[	[[[
[j[k[u[k[u[j[m[i[b[b[u[j[n[[[
[j[k[u[k[u[j[n[k[m[h[u[k[[[	[[[
[j[k[u[k[u[j[o[h[b[h[u[k[[[	[[[
[J[KXCHX
JKXHEHKNK[KH]
J@K]XKDLAG_CL_HOPQO[ZJJ
JKXKHEQ_EB
_[JKX_KLD]HX@Q
jKXllllllllmllllOllylmru
JK_]XNYLLM
JK]X@XQG
jkxyyyyyy
JKYHGSZB
	JKyIyyyyyyy8	
JKyyyyyyy
JKyyyyyyyy?
JKyyyyyyyyyyyyyyyyyyy
JKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYQ
JKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
JKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
[J]K[YZFXBSDZY]L
JK]ZBCGHE]B
JKZGABH_PPXC_Q[ZY
J@K[ZGNO
JK@]ZHMD@G
jkzjjbjjaR
JKZLJ[L]
JKZLYPQO
JKZMQJQF
JKZOCDON[
JKZXYBXY
[[[j[[[l[[[
|||j|||||||||||l||||
j|||l||||
j|||l||||||||||||||||||||||||||
#)))JL[]
Jl1gqggx
JL#||||#8	
JLACNYNY]AY
JLAEYKFAX]SQ
JLA]MB[H[
JLAXMHMD
J_LAYQCH_HMFJ
JLBA]D_HYDYQGAZ
jLBBA.pE@@@@@
JLBCXX]AAOAKY
JLBdL[[[
JL_BGNHPOKSLJBNNFGEBA
JL[BMF_CG_HPJ
JLB@[MLB@GHGJ
__JLBQHJ
J]LBYK__
JLBY_]PEO
[ [j[l[c[
JLCA_PLZNCSJ_QBS
JLCBN[PJHJ
]JLCKFDL]ZPZLE@O
)))]JLCKFL]HL[J
]JLCKF]LN
JLCNH]MCOP
JLCXGHGEMOBF
jLC]Y]]-0Y
J]LCZG]GDJ
Jld1JFdp
j||ld||9d||
J"LdE[[[
j*LdH[[[
JLdJ[[[z[[[x[[[
JLDLDGL]
J][L_DMAGN
]JLDQHYF
jL[]|]@E
JLEAFJF[]FO@EDOLZ]@_HE
JL_EAP[J]NDQDQZ]J
J]LE]CAQ
J]LECSCN
jLEEhJ]@_@]P
JLEEJAHGNL))
JLEE@LJ[HSL
JLEEL_NZ
JLEE[N@ZYDL
JLEEZYHJ@GN
#)))JL@E@GN
JLELK[@]P
JLELK[@]PELHBLMYAF]FZ
JLELK[@]PKLLOJHBL
jL[]|]@EmLJFML
JLEP]_QYKHG
JLExx]Y]]j
j||||||||||Lf||||||
J||lf||@f||
JL[]F_L[[@ML
JLFQJQ]SGXBXC
JLF@]_YYP
JLGBSO]ZA
)))JLG]FZvZZAMvB@EEG
JLG]FZvZZAMvB@EEG
JLG]GM[NB
JLG][HEKHGBLGZ
JLGHZMFYL]L[
JLG][@JAF]LE
)))JLG]L[
JLG]L[AL@NA]
JLG]L[B@GN
JLG]L[@DHNL
)))JL[GLE
J[LGLGEFN@Z]@JZ
JLG]L[JFE
JLG]L[JLG]L[GF
JL@G@L]ZL
JL@GMHQCY
JLGOX_OOBMX
]JLGPDOG
jL;gqgg0
JLG[QQP_
JLGQZ[GBK]_KB
JLGSM[JJK
JLgUcgfG
JlgykgfG
JL[GYSBE_NBQ_M
.)))JLGZL
j||lh||bh||
JL[HD@JMLG]HE@DYEHG]Z
JLHDMPJDB]BA
j)))L_HE
j)))[LHEJFQ@Z_F
J[LH]F[]FFE
J[LH]@FGDH@G]LGHGJL
J[LH]@FG]@DL
J[LH]@FG]@DL))
J[LH]@FGMH]L
J[LH]F[Z
jL[]H@GfGbLPy[LZZ
JLHGGH@NA
[JLHGZAO
)))J[LH]L
J[LH]L))
')))J[LH]L]A[LHM
)))J[LH]L]A[LHM
J[LH]L]A[LHM
J[LH]L]A[LHMJ]
J[LH]LBLP
J[LH]@_LD
JLHLEZFE
j[LH]LfKC
J[LH]LFKC))
j[LH]LfKCLJ]
	)))J[LH]LFKCLJ]
')))J[LH]LFKCLJ]
)))J[LH]LFKCLJ]
])))J[LH]LFKCLJ]
|)))J[LH]LFKCLJ]
J[LH]LFKCLJ]
j[LH]LfKCLJ]h
J[LH]LFKCLJ]w
J[LH]LFKCLJ]wu
J[LH]LFKCLJ]ZALEE))
j[LH]LfKCLJ]zALEEhYYE@JH]@FG))
J[LH]LFY]@FGZ
J[LH]LFZJ@EEH]F[
J[LH]L@G_F@JL
J[LH]LGFML
J[LH]L@GZ]HGJL
j[LH]LhhmaHZA
j[LH]LhlzmLJ[PY]F[))
J[LH]@_LJA@NS
j[LH]@_LjFDDFGZ))
J[LH]@_LJFDDFGZ
J[LH]LJFDDLG]
)))J[LH]LJFDYH]@KELK@]DHY
:)))J[LH]LJFML_LJ]F[Z
J[LH]LJ[LH]L
)))J[LH]LJ[LH]LHH
J[LH]LK@]DHY
J[LH]L@]LD
J[LH]L[LDF]L]A[LHM
J[LH]L[LDF]L]A[LHMLQ
J[LH]L]LDYO@EL
)))J[LH]LLELDLG]
?)))J[LH]LLELDLG]
J[LH]LLELDLG]
j[LH]LlELFKCLJ]))
j[LH]LlEL@O[HDL))
J[LH]@_L[LG]HJH[
J[LH]LLGJ[PY]F[
J[LH]LLGJ[PYF[
J[LH]@_L]LHD
J[LH]L[LJF[M
J[LH]L[LJ]Z
J[LH]L[LOL[LGJL]FJFDDFG
)))J[LH]L]LQ]GFML
J[LH]L]LQ]GFML
)))J[LH]L]LQ]O@EL
J[LH]L]LQ]O@EL
 )))J[LH]LM
J[LH]LMFDH@G
J[LH]LMH]HY@YL
J[LH]LMH]L
")))J[LH]LMKP
J[LH]LMKP
J[LH]LMKPDFL]
J[LH]LMKPN[FF]
j[LH]LmLELNH]L
J[LH]LMLELNH]L
J[LH]LM@[LJ]F[P
j[LH]Lm@[LJ]F[Ph))
)))J[LH]LM@[LJ]F[PH
;)))J[LH]LM@[LJ]F[PH
J[LH]LM@[LJ]F[PH
J[LH]LM@[LJ]F[PHBL[GLE
J[LH]LM@[LJ]F[PHCJCJ
J[LH]LM@[LJ]F[PHKA]]YZ
)))J[LH]LM@[LJ]F[PHMMMMMMMMMMMMMMMM
)))J[LH]LM@[LJ]F[PHZCJ
)))J[LH]LMLJ[PY]F[
J[LH]LMLJ[PY]F[
)))J[LH]LMY[FJLZZvJFDDHGME@GL
J[LH]LNH@G
J[LH]LOEHNZ
J[LH]LO@EL
J[LH]LO@ELDHYY@GN
J[LH]LO@ELZPZ]LDFKCLJ]
J[LH]LO[FDJL[]O@EL
J[LH]LOFEML[
)))J[LH]LvFELvLQLJvY[@D@]@_L
J[LH]LvM@[
J[LH]Lv[]O
J[LH]LvO
J[LH]LvOF[D
J[LH]LvQDEA]]Y))
j[LH]Ly[FJ
j[LH]Ly[FJeFNFG))
j[LH]Ly[FJLZZ))
J[LH]LY[FJLZZ
J[LH]LY[FJLZZ@G]L[GHE
J[LH]LY[FJLZZH
J[LH]LY[FJLZZLQH
J[LH]LYH]A
J[LH]LYH]Av
j[LH]@_L|YMH]L
J[LH]LY@YL
J[LH]LY@YLE@GL
j[LH]LzALEE
J[LH]LZ@DYELELQL[
J[LH]LZFJBZJFG][FEEL[
J[LH]LZJ[@Y]MLYEFPDLG]
J[LH]LZL[_L[
J[LH]LZL[_L[))
J[LH]LZPDKFE@JE@GB
j)))[LHMFGEP
	)))J[LH]M@JFPHu
)))J[LH]M@JFPHu
J[LH]M@JFPHu
@J[LHMLG]HE
JLH[M@Y[FY@LMHMLZ
J[LH]@_@]P
j)))LHZ]H@[O@E][H]@FG
JL][HZZGKOFZ
JLJAAD_LPZ[_[
j)))LJAF
JLJAFFOO
JLJAF_H[
JLJAF_H[v
JLJAFL_HE
JLJAFMLO[LHMvLDH@E
JLJAFUZL]
JLJAFUZLw]
JLJAFZL]
JLJAFZL]F
JL]JEENPQFZ
@JLJFGMF[
J)))[LJFGv@GOFvZ][
JLJH[SSY_YP_
JL[JKS_@LJ
J[LJL[J[LHGMF
J_L[]@JLZu
JLJQGCHC
JLJQQLJH
[j[l[j[v[i[k[
JLJY]P[LGE
J]LJZPES
JL@KFZGF[]L
JLKGJ@OO
j)))[LK[HGM
JL@KHM@ZLGF
JL_KLHAZ
j||lk||Tj||
J||lK||WK||;K||
JLK]XLNC@H__ENX]
JLKXX_BZ[BN@[QQAB
j)))L_LG]
jL[]lG[FE))
?)))JL[]LG[FEE
JLLHOAOACY[
J|||l||||||||||||||||||||||LJ||||||(J||||||
:JlllllllllmllllOllylm
JLllllllllmllllOllylm
Jllllllllmlll
JllllllllmlllLMO8) V8
	jllllllllmllllOllylm
"jllllllllmllllOllylm
'jllllllllmllllOllylm
(jllllllllmllllOllylm
-jllllllllmllllOllylm
@jllllllllmllllOllylm
]jllllllllmllllOllylm
j llllllllmllllOllylm
j#llllllllmllllOllylm
j)llllllllmllllOllylm
j-llllllllmllllOllylm
j:llllllllmllllOllylm
jllllllllmllllOllylm
jllllllllmllllOllylm!
jllllllllmllllOllylm:
jllllllllmllllOllylm[
!JllllllllmllllOllylm
'JllllllllmllllOllylm:
-JllllllllmllllOllylm
:J#llllllllmllllOllylm
?JllllllllmllllOllylm
@JllllllllmllllOllylm
J llllllllmllllOllylm
J"llllllllmllllOllylm
J*llllllllmllllOllylm
JllllllllmllllOllylm
JllllllllmllllOllylm(
JllllllllmllllOllylm-
JllllllllmllllOllylm;
JllllllllmllllOllylm1
jllllllllmllllOllylm4
JllllllllmllllOllylm5
JllllllllmllllOllylm9
JllllllllmllllOllylm9P
JllllllllmllllOllylmB?
jllllllllmllllOllylm e
)jllllllllmllllOllylmf
jllllllllmllllOllylmf
jllllllllmllllOllylmg09 H)
jllllllllmllllOllylmHK
JllllllllmllllOllylmh:X
jllllllllmllllOllylmJ
JllllllllmllllOllylml
_jllllllllmllllOllylmM
JllllllllmllllOllylmM
jllllllllmllllOllylmmGa
jllllllllmllllOllylmN
JllllllllmllllOllylmo6
j]llllllllmllllOllylmQ
JllllllllmllllOllylmq
?JllllllllmllllOllylmQ
JllllllllmllllOllylmQ
jllllllllmllllOllylmS
JllllllllmllllOllylmS
jllllllllmllllOllylm.T
jllllllllmllllOllylmu
jllllllllmllllOllylmW
jllllllllmllllOllylmX
JllllllllmllllOllylmx
JllllllllmllllOllylmX
jllllllllmllllOllylmY
|jllllllllmllllOllylmZ
?Jllllllllmlllx3xx|x|x|xxyxsy(
jllllllllmlll]Y]]
Jllllllllmlll]Y]]
JLLMDNCYHYMO
j)))LLQLJ
j[LLYPm[@_L
j[LLYPyL[Z@Z]
j[LLYPzGH@E
j||Lm||8n||
j[LMaFFBL[
JLM@DJFDYGHDL
JLMGLENDK@EHJ
_JLMGMQAN
J[LM@JH[M
)))J[LM@]JH[MML]H@EZHGMKHGB@GN@GOF[DH]@FG
)))J[LM@]JH[MML]H@EZu
j[LMkEFKdH]JA))
JLM[@_L[
J[LMLG]@HE
J[LMLG]@HE@GCLJ]@FG
J[LMLG]@HEJHJALt
J[LMLG]@HEKEFK
J[LMLG]@HE]PYL
J[LMLG]@HEZ
J[LMLG]@HEZYA@ZA
JLMLJSGB_
JlM_M7M	M
JLMMZD[S
j[LMo@GM
JL]MP]AP]YPHXBQ
JLMQKH]GBAN
J[LMvBLLYvDLvZ@NGLMv@GvJALJBKFQ
j[LMYA@ZAEFN))
JLMYFSAC
J[LMZr@t
J[LMZvFGEP
J@LNAAIU
J]LN_BJS
[J]L]NB_Z
JLN@CZC@D
JLNGMH_LGQ_KLJ
JLNGPM[NM
JLNGSSHL@
JLNMACDEKS_
JLNNCXMA
_JL_NOMOPALOJH]
JLNPKY[[L
JLNYN_DMZB
J[LNYOX]
j)))[LNZ_[
J[LNZH_LABEDuZHDJ
J@LNZM]]GZ
JLOBJQKC
[JLODBLN[
@JLO[FG]
)))JL[]@O@JH
JL[]@O@JH]L
JL[]@O@JH]LCH_H
JL[]@O@JH]L]PYL]FBLG
JL[]@O@JH]LZ
JLOKHNG[
[JLOKJOPZ
JLONPCE]
J_L[@OP@GN
JLOPLPLPJBD
[JLO[S[DOYPBYC_]
JLOXDHFQ
JlOYOQO:O
_J[LPAQHL
__JLPEOL
JLP[FHSF]]AGPHPQB
JLPJ]XKB]AHGXC[
JL]PKMY[
JL@P]LCBAJHXLEKQYXLHO
J@@@@@@@@Lp@m
JLPQOCAX
JLQC]A[]
JLQCYLNXHB
JL]_QD@CCBLY
JL]QEHKZ
j@[LQ@GH)(
JL[QHHDZ]CJJ_HQBE
JLQKKJGJSH
JLQK_PEDH[OAO
_JLQ]LGZ@FGZHEE@GFGL
j)))LQLJ
JLQNNAPMHA
JLQQNKJY[XNXNKD
JLQYCNDDP
j)))LQYHGMLG_@[FGDLG]Z][@GNZ
JLSCBOPZC]LLD]SHM_M[LZ
JLSGGPXB
JLSH[LAQ_J_PEKY
JLSS[JYGQYP
JlSSSSSSSS
JlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
JlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
JLSYZO]B
j'lUgfGq
JLULHMLULJHOU
JL[]vZPZ]LDvZ]F[LvEFJHEvDHJA@GL
?||||JlX
_JLXCYXY
JLXD_DLM
JLX]D]KC_
J]LXEEJB_
J_LXGXHQ
JLXL]QCO
[JL_XPHS
JL[XPSCPN]Z
JLxx]Y]]
J_L]YDCA@
j)))[LYEHJL
jL[]yFE))
JLYGGBEXDC
J]LYGQYCOZD@YJA[LLYK[
jL[]yH]AZ
jLyx|y1f
JLYZAMOPOY
JLZAZZSLKMOAKCCFBC
JLZ]DKX]
_JLZEDNJZS
JLZEHANB[@JEB_XAB
#)))J[LZ][FG
@JLzFJ@L]P
JL[]Z]F[LEFJH]@FG
JL[]Z]F[LEFJH]@FGJL[]
JLZ]H[]@M@DH[JLZ]H[]
JLZ]H[]u
JLZ]H[]u@KHZLZ
JLZ]J_NPG[GDOG
JLZM[NPEJG
JLZYSPXZH
.)))JLZZ
j|||m|||
j@]M@[][_
J[[[m1PeI[[[I[[[
'||j ||M ||5 ||' ||	 ||
JM7gqgg5
JM#||||#8	
;jm@@A@3 E[
JMAAZGK_
JMABJMY[XZ[HJYYJP[
JMABJQ_OQ[YO
JMAG]NEQD
;jm@@A@h PK
JMAKCAHLJPAZO]DD
JMAKYGS[ANKKJ[DGS@KJ_
Jm@@@@@@A@[peL
_JMA_PNE
Jm@@@@@@A@[pUL
]]JM_AS[LO
JMAXH]]N
;jmB@A@2 @G
;jmB@A@2 @n
;jm@BA@h H@@@@@R
Jm@@@@B@A@Hp@N
]JMBFNJOEL_
J)))MBHF
J]MBNKJBZ
JMBPN[A_
JMBXJ@KH
_JMBZQMN
]JMC_CHY
JM@C]G_J
_JM[CJB_XZ
J]MCJ[CNE
:jMdA[[[
J	MdA[[[z[[[
]JMDDDECD]GN
_JMDDKLAOJ
@JMDGDNM
@_JMDJDLOM
JMDOMPPYG
)))JM@DY[@G]Y[
JMEGBDDM
JMELKBMGX
JME]LKHGMX
JMEN@FX_GD
]_JMEOYES
]JMEPLHM
JMFxxxx[
J"Mg'egfG
JM@GFDF[NYH
J)mggfw_C
JMGHDDFJ
JMGH]@QX
JMgIngfG_
JMGJFG]LG]MLE@_L[P
__JMGKZYSQOP@CNH[
JM@GMCYJL]NGQGP
JMGMFDH@G
JMgOwggG|
jmgqggXF
JMGQSD[GYYZ
JM]G[Q]_XQLP
JMHGHHQC
JMHGHYHD@GBEH@
JMH]HOF[DH]HZ
j)))MH]H]PYL
JMH]H]PYL
JMHJAHXZK
J|MhM9M4M
 )))JM][HP
JM[HSXC]Z
JMJ[A]NZJPPXY
JMJBMD_H
JmJcJ_JUJ@J:J0J.J
JM@_	JEHZZ
JmJfJSJ;J4J!J
jmjlhknk
JMJMGHH]YQ
]JMJMONXB
jmjnodei
JMJ_PNBZQQC_MAB[
JMJQZ@CKLP
j||mk||Dk||
J_MKDQNOKHF
JM[KGX_[A
j||mk||)k||
JMKU@JOMULK
JMKYPDYXAKYZSP
JMK_ZLYH
J][MLBEM
JMLCBCCZEM]
JMLGSJJBH][OJG
JML__[HX[CBHMYQC
JMLJHG]HGALML
JML_@JLJ[LMLG]@HEMLYEFPDLG]
jmllllllllmllllOllylm|
JmllllllllmllllOllylm
j;mllllllllmllllOllylmo
JmllllllllmllllOllylmSY
j;mllllllllmlll]Y]]
JMLOCONYDL
j)))MLOLQY
JML]OZBK
J_M@]MAYJC
jmmbhbyVQ
JMMBMJZK
JMMCQOMMMOMMM
JMMCQOMOMMMOMMMNaMMMM
JMMDL]QNQ]F_FEP
JMMGSKG]K
JMMGZDKSO
'JMMHIK;Jxyxvy;
[JMMHQNHE
JMMIAxxx
JmMIM)M	M
JMMJ@EK_[KC]YSO
'J@MMJNM@xyxvy#x
JMMMMCQOMMMMMOMMMMMMM*YMMMMOMMMOMOMMM
JMMMMOMMMOMMM
JMMNDDANM
JMMOJNZK
JmMTM;M"M	M
JmMwLeLoOGO
JMMXOBZ[XS[PK
JmMYM1M)M!M
JMMZ_HJENJ
[J_M]M]ZJX
JMNDZZZB[E
jmnidmdn
jM@@@@@@@@np@w
J[]MOCDND
 )))JMO@ELZ
JMOGLGBAXQ
@JMOL@LAU
]J[MOLSSDH
_JMOLXQZ
JMOMJX[Q
]JMOXDQJ
J_M'pgppepq
J@MPHAMA
JMPJ]ZX[JJ
J]MPMGM M
[JMPNJQPZG
J_MP]PAA[X
JMP]QOHPQKZ
J]MPZB_J
JMQDJCJA
JM_@QGQ]
J[MQ]HLS
JMQJN]D]Y
JM]QMLD[
JMQQKNL_MOAKP_
J[M]QSFJCE
J]MRMEM"M
J|MrMlMbM_MCM
(JMRwpgppepq
JMSCKEHE
[JMSMEGC
JMSMKAOAGPJSHSGC]KX
JMSMKXN[M
J@MSNPD[PNOA
JmSSSSSSSS
jmSSSSSSSSSSSSSSSSSSSS*
.jmSSSSSSSSSSSSSSSSSSSSSSSSSSSS
jmSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS5
J]MTMOM7M.M
J|MtMZMJMCM5M
JMULLANULNK
J|MwMnMYMPMKMBMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygy4#
j[[M[[[_X
JMX@CKL@_]C
JMXGEYGOPDC
jMXgSdgfG
JMX]JLLXQMKKM_S
JM_XJ[XYXDQ
JMX[KEGSAJLGCZLC
JMXKKO]GD
JMXLCNNM
_JMXXYPH_
JMYB]LD]
JMYDG@GS_YYGN
JMYKABLDNAXBKGGSKB
JMYKBF__JGSLM
JMYMO_FSPX[
_J]MYNDFBYHLY[QPZ
JMZALC[MOLCGQE
JMZAN_CZ
JM___ZAZZ
JMZGOHCS
JM]ZL_]]N
J_MZONX_ZD
[[[	[[[jN
JN#||||#8	
jNAAAAAA@AAAAAC_4
JNAHL_OA
-jN@@A@h ML
JNAMBQPP_X
_JN[AMN_B
JNAXCYO[BJFL]K_
JNAZAOLZCB_S
JN]BKBSAZ[AA
JNBKHHYOXFMY
JNBMNXN[
_JNBO_QX
JNB[QOAANZ[
JNBYSOP_PD
JNCGNOGMCGA
JNCYOHJ[
JND]FO][JGQ
jnDgqgg[
j[[[n-[dI[[[
JN_DS@]JNPX
jNdS[[[p[[[
	JNdU[[[
JN_D]XAH
JNdx[[[l[[[
JNDXLDXGPY
jnemdkkj
jnendnih
_JNE_SCP
[JNE[ZYYCCODZYE[JP
JNFBJ@HN@JHN@JHN@JK
JNFBMQCZEC
JNFBSN_D@NMEMO
JNFEH[CD
@J_NFY@CG
JN[FYLZu
JNFYONLHS
JNF[[[Z[[[K[[[
JNGC]DBOMMAEQ_A[_
]JNGCSAASCEYLJ
JNGDYFK[K]O
JNGLJXZ[
JNGOOLNQHCX]Q_MJ_D[DZL@
]J_NG[OXQ
JNGS]LZYFKYXE
JNGSPHXSP]
JNGZJ]K[
_JN]_GZNB
J)))NH[]GL[
JNH]LBLLYL[Zu
JNHPP]]EY
JNHQGX@GD
@JN@IOLI
JN_J[GAXXHC
JNJG_JJK
JNJHSESKF
JNJHYLD[
J]NJN[KQ[YHAE_ZYADN_
jNJNLFS]
[[[jNKfY[[[
J_N[KNL[XB_D
JNKN_XQQ
JNKOKKJU@ALIULJJKU
_JNK_OXHLXB[DP
J_NKPQEXSHJ
J_NLA]EY]
]JNL__A]LAYFAAKB
JNLB]@XHS@QMD_
JNLBY]ZHJ
JNL]CHJBDPD@YZ
j)))NL[]@FBHZ
JNLGACQKXM_
J@NLHAyxg
JNLJXN[M
JNL_K_A]PQL
JNLKN_NYZOA[
jNllllllllmllllOllylm
JN@LNJLKG
JNL]PEPS
JNM8M6M M
JNMDPC_L
JNMGZGMQ
JNM_HAESM
JNMH@DOHC]Q
JNM]JFMB
JNMJML]CP
JNMKSQMNCMFQ[_EOHS
JNMKXSZ[MJPG
JNML_HB_
JN]MLQNPZ_
JNMXHBLZN_
JNNJDFSCQ
J]NNJZ]FM
_JNNKJNPCM]LAYL
J][@NNL[
JNNLKDH[DA
JNNOYDLLB
JnNpgppepq
J@NNPX[CPQO
JN_NSNACJGGPJAP@_OYNJ[K
J]NNYYD[
JNOHPQXG
)))JN@OJ@YEMHZL
_JNOLL]JP
JNOOMMQKNMD
]JNOPHQG_K
]JNOPHQG_KBG_KQKAJD_P
[J]NOZ]OP
_J[N_OZ[Z
JN[PAKJPEK]AQ
J@@@@np@E6.
JNPJOPAZMNZZ[BKGJ
J_NPX]]G
J_NQC_OMNMLN
JNQ[DLD[PGCOS]OJ
JNQDXSP]ASL
JNQGDPCGXAQKCKOLXMFGKKJHO[JPXNG
JNQlSSSS
JNQXMPOXAB
J]NQYMAXZ
[JNQZ@KL]_QE
jNRUBAxud
JN]SAMAOKXX
JNSJY[JL
JNSQLDMYNOOAAP
J_NSQPCCBBS
JNSSO]BL
JNXCZGZPK
@JNXGLPQSJZ
J@NXHF[JEB
JNXNCLL]K
J][NXOMJK[
JNXZXJNC
JNYA_XB_C
Jn@@@@@y@@B@ACac
J@NYFOOBJOJQS
J[NY]SKNS[PB]O
JNYYS@AEKQK
JN[ZD_ZAK@H[E_LCC
JNZ[EAYM
JN@Z]H[]
JNZJHOEZKQDXNLA
JNZLLCJ[
JNZN[[YBC
_JN_ZPQ[A[N_
JNZYHPFB
[[[J[[[O[[[
[[[Jo0dL[[[
JO#||||#8	
j@@@@@o@@A@AAac
]J@OA]H[
JOAJKFXHDH_K
JO_AJQNH
JOAOGG]K
JO]_AP@X@OENPN
JOAYZKO@CD]A[JNADDDAA]O[
JOBBE[SD
)))JOBBF
J[_OBBSZQN
_JO]B]DJOGJC
JO]B@FDMJQ
JobFiles
JOBGAX_S__LYXGS
JOB@GPZ_
joBj9oBj9oBj9f:
JobLastError
JobLastErrorContext
JobNoProgressTimeout
JOBO_A]JZB
JobOwner
JobRetryDelay
JOBZAAQZ
JOCGHK[JDH[JB
JOC[O[XL_
J'O'c'V|
JOD]ESPGYA
JODJMHDSXA
jOdM[[[2[[[0[[[
JODMHCX_Y[EDGG
JODPODBC
JO[E[GXBA]
J]O@EHMLEO@H
J[OEKAQPJ
j)))O@ELDF_L
J]OELKLX[YBOLEB
j)))@O@ELZPZ]LD
JOEXALZQZ]OSX
j)))O[FDKHZL
j)))OFNE@M@EH_F[F
_JO[GBSCCQ
JOGBX]_JQ
]JOGEEG]PMC
JOgF[[[e[[[d[[[C
[jOggggw
J_OGGP[BFH[C_[MX
JOG@[_HDAXPDS
jOgigfGNB
JOGPQEBS
JOGYML@B]_X
JOGZ__AYNQG
J@O[HDLZHGMKFQ
JO[HDLZL]
JOHD@QN@X
J_OHGH]@J
JOH]LQNZ
JOHNQMLCY
j)))@OH[NZ
JOHPKZNACKL[]
JOHPLXQCYN]
JOHZLXXHJQG
J@O@IMIMLLMIM
JOJDLZOJ
JOJDSY@L]MN_[BQ
JO_JDZXOA_QJ_PKLPOSJF]CGGCZ
JOJ[JB[C
JO_]JKCMBANNLQ@Z
j||ok||2k||
JOKA[L@M
JOKH@IHJMJ
JOKJNOBSH_SQ
J]OKKBKGZ@_NMCAG
j||ok||Nk||1k||
JOKOGXXPMODAG
JOKOGXXPMODAH
JOKPMO_ZO
j||ok||Rk||5k||
JOK[@SHC
JOL@AOLL_HJ
JO@LEM]PYL
JOLGEXS_
jO	llllllllmlll]Y]]
JOLOFGFKK
JOLPSO@Y]NZ
J@OLQ@Z]
J@OLQ@Z]J
JOLZJEKKX
jO)mggfw
JOMJJ]S][]
JOMLSLDP
JOMLYDBBX
JoM@M6M#M
JOMMMCQOMMM
JOM[NSDHAJA[CNSCNMSJ
'JOMOIMMKxyxhy3xXx;x0x;x(xXx
jOMOMMGOM
'JON9JHI;xyx
]JONGYNY
JONHLGLXZD
J ONJ(4J"H
JONJIyxY
JONKQZJKOJ
;)))J_ONMZ
JON_QBBHPMXC
JONQNYDS
JONuGMLE
JONuJJ]LZ]uH_HZ]HMZMBEFN
JONZ[EPS
_JOOBHZK]@
JOOMHSHLS_LFB
_JOO_OODMJ]
J@OOOOOOOOOOOOOO
JOO@QGP@G
JOPA[Y_]P
JOPDCSEHPHEKQ
jOpgppepqi
JOPHASHY]Q
JOPHFSOB_@J
J]OPJHK_S
JOPJ]_[MK
JOPKXAPY
joPSSBUD9
JO@PSZPSFO[@JSNPXGBFMN@NJ
J[OPXFYBAENJA
JO_QBH]E
JOQCBZP_QQ
JOQCCXYZYOL_A
J[_OQGX@HKLG
JOQHAPPGL
@[JOQHXG
JOQJH_DJSYDNOKO]FS
[joRSSBTjfRSSPI9
JOSANQM]PX_
JOSCMYB]
JOSLQOXKM
J]O]SMGQ
J]O_S@MM[B
J_OSPP_NJGYCCNL_S]SQ
JOSQSSYHJQ
JOSSSSSSSSSSH
]JOSwAAZwS
-journal
journal_mode
journal_size_limit
j)))[]OvJFG]LG]
J]O]XG[PZGD
JO]XO_GO
JOXPZ[P@Y
JOXSLBJHZ
 J o]Y]]
JOYFABAD
_J_OYGDYBG[LCP
JOYKAQHG
JOYKSMCG
j)))O]YNL]
[JOYPMA_YZM
JOYYHNNM_QZM
JO]@ZBPL
J_OZGPLKHYZ
JO[[[Z[[[O[[[
_JOZOPND
JOZS_QNSF
JOZXCNCGH
J[OZXOMM]HO
@@@@@@@@jp@@@@@@@@@@@@@@
")))J@]P
J@p4Epsc
J#P9fgfG
JPABZNAA[A
JPAHBLZN
J]PAL@OLAYB
JPAOZLM_JY
@@@@@@@@jp@@@@@@@@@@@@@@ap@c
@@@@@@@@Jp@@@@@@@@@@@A@@_p@D
@@@@@jp@@@@@@@@@@@@@@ap@E
;@@@@@@@@jp@@@@@@@@@@@@@@ap@K
JPAQ[BEM
JPAQHCYXEH
[JPB]ECFA
@@@@@@@@jp@@@@@@@@@@B@@@Hp@K
@@@@@jp@@@@@@@@@@B@@@Hp@K
@@@@jp@@@@@@@@@@B@@@Hp@S
@@@@@@@@jp@@@@@@@@@@B@@@Hp@Sfv
_@@@@@@@@jp@@@@@@@@@@B@@@Hp@U
@@@@@@@@jp@@@@@@@@@@B@@@Hp@VNC
@@@@@@@@jp@@@@@@@@@@B@@@Hp@W
@@@@@jp@@@@@@@@@@BL@@Hp@JPc
[JPBO@HN]DF
JPBOJMG[OYPK
_JPBQPAJ]QCA
JPCCOZ[A
JPCJHKMM
JPCJLCH_
JPC[@NMG]JGHH
JPCO[BS]
JPCPLNAGBCHCAK
J[P_CP]SPHLA
JpDdL[[[X[[[@[[[
JPDLYGJSNBFD
JPD]O_EXXSPB
J[PDSKSB
J]PdT[[[6[[[
JPDYHJLHL
j[[[]-PdZ[[[i[[[
JP]EBALN_MJAH
J[_PECZAD]P
JPEFNNL[@DYF[]JPEFNNL[OHJ]F[P
:)))JPEHGJLZ_JY[FJLZZ
JPEL__L]
JPEXG_SA
JPEZJCLNNS
]J@PFFJS
JP]FFMA_HXQQXPOYCKCOH
	JpfgfGO
JP@FHDPDYG]]
j!PF*llllllllmllllOllylm
@@@@JpFM
JP_FQQHMLJ
@@@@JpFZKr
JPGBPQAH[]P_]PQLJHG]
JP@GJH@C
JPGmggfw
JPGMKZ][YEYMSM
_JPGNX_K
?jpgppepq
j	pgppepq
j.pgppepq
jpgppepq
jpgppepq	
jpgppepq:
jpgppepq@
jpgppepq_
#Jpgppepq
J pgppepq
J'(pgppepq
J(pgppepq
J:pgppepq
Jpgppepq
Jpgppepq0
jpgppepq53Ec
Jpgppepq6B
j@pgppepq7a
 jpgppepq9
jpgppepq9
jpgppepqA
Jpgppepqa
JpgppepqA
jpgppepqc
JpgppepqcJ
jpgppepqE
JpgppepqF
jpgppepqg
jpgppepqGM
jpgppepqH
Jpgppepqh
J#pgppepqH:
jpgppepqK
)JpgppepqK
jpgppepql
jpgppepqm
jpgppepqM
JpgppepqoN
JpgppepqQ
JpgppepqR:
J*pgppepqrt
.[Jpgppepqs
JpgppepqS
jpgppepqu
Jpgppepqu
(jpgppepqw
JPgqggItz
jpgqggY0WP
_JPG_]][XODS
JPGYBX[H[K
JPHDFKYJ
JPHGFNLGDFM
JPHGNOKY
JPHL[ZGP
JPHPHXKPGP
J]PH@X_MKAG@C
]J[PJDKL_
JPJGSYEYX
JPJN]M_PLHY
JPJPC_XX]_
JPJPHD[D
_JPJS]OB]GYK]DNGG_
J]PJ[SYGCKAS
j||pk||4k||
J||pK||bK||SK||GK||-K||
]J]P]KBXQ_L
JPK@D[XZFXBY[
JPKF_JHQDJ
JPKLSBLKLQYB
JPKL[YEH]
JPKO_ZDL
JPKQ_K_@J
JPKQ]SHOHCXAOBX_
JP]KXAJC
JPKYKQK_JGXNSQAYMH
JPKZPLYN
JP_L@EEHGJL
JPLGHMBL
_JP[LKN_
JPLOSBNH
@@@@@@@@jp@@@@@@@@@@@@@@Lp@n
JPLpNPACA*A
JPLQGYM[GLC
JPLZCZYJ
JpMfMLM2M
JPMJPMA[
JpMwMjMaMQM.M
JPNAHLCGSEJAD]XDNHQ
JPNCDB@_A
JPNCGPFLP
JPNPYCXJKO_
JP[NQABN_JQCPHC
]JPNZA]KL
JP@O@BAN
J[PODPFPBMC
J_POFXAB
JP[OGDEL[
")))JPO[@GH@[
[JPOJK_LBF
J@]PO[LXZ
JPOPGZ]J_EYEBJGMO
JPO[P_]J[_Q[J
JPPD]HOJXQ[BFXZOELOB_P
JPPEMMQLLXAO
jP|pgppepq
JPpgppepq6
JPpgppepqr
JPP_HCPX
@@@@@@@@jp@@@@@@@@@@@@@@PpSnCw
JPPQO[[G
JPPSBQBH
JPP][]S[JSXS_
JPQC[XBH
J)pRsAsl2
[JP[SAEB
]JPSBMNQKG
JPSDAGPA
JP[SNPJKNMBAS
JPSR6Elj
jPSS[:XZD
!jP	t3;J
JP[XBN_ADO
JPXC@DZZ
JP_XM]]NN
JPXOXYMB
JPX@_PZ]ZNKB
J[[[pXSdA[[[
_JP]XZQCNJ
J	p'((]Y]]
)))J[PY]
.)))J[PY]
JPYAK_]KAKSP
J[PY_BNQK
JPYCLMG[_NB
JPYDGB]L
j[PY]dLZZ
jpye2xy)
j[PY]F))
	)))J[PY]F
!)))J[PY]F
J[PY]FBLP
J[PY]FCZ
J@]PY[FDF
')))J[PY]FD@G@GN
J[PY]FD@G@GN
')))J[PY]FEFJBL[
J[PY]FE@]PJZ
J[PY]F]FFEZ
)))J[PY]FG@NA]
J[PY]FG@NA]
:)))@J[PY]F][HGZOF[D
J[PY]FJF
J[PYFK[ENP
J[PY]F]L[D@GHE
j[PY]FlQ]F[]@FG))
j[PY]Fm[FY
J[PY]FN[HYAP
)))J[PY]FSLLD
J[PY]FvLQ]
J[PY]FZ][LHD
J[PY]FZ][LHDDFML
J[PY]FZ][LHDDFMLt
j[PY]Fz][LHDj[LH]@FG
j[PY]Fz]LHEe|gh))
j[PY]Fz]LHEhmh))
j[PY]Fz]LHEkgk))
j[PY]Fz]LHEkzj))
j[PY]Fz]LHEmfnl))
')))J[PY]FZPZ]LD
JPY_GCDJZ
)))J[PY]@G]L[GHEMH]Hr
JPYG_PZJ_Q
JpyHMpy(Mpy
JPYHOYNKBXS
JPYK]AZZY
j[PY]LM)(
')))J[PY]LMvMH]H
)))J]PYLZ
J]PYLZZH
JPYOBAAQMHNNMDMYF
@@@@@@@@jp@@@@@@@@@@]Y]]Q
J[PY]QF[
:)))J[PY]vJFG][FEEL[
J[PY]vJFG][FEEL[
JPY[XXXMAY
j[PY]YHMM@GN))
JPYYYQP_ZBH[X]KK
J[PY]Z][@GN]FK@GH[PH
JP]_YZJD
JP[[[Z[[[
JPZAAJB_D
JPZASPPHP]LJGJY[
)))J[PZ]HEE@SLGHDLZYHJLJ[PZ]HEE@SL
J[PZ]HEGL]
J[PZ]HEHGMDFAHCL[
J[PZ]HEZALEE_
JPZHXSCHXO
JP[[[Z[[[I[[[
J[PZJJYYGOGPDA[BJJNJA[KXY
J[PZMLZB]FY
JPZQA[KB
]][JPZXSPQ[OE
JPZ]XX[NNXK]F
j[PZ]zALEE
JPZZJK_KDY
"Jq@@@@@
jQ2@mgfGZ
jQ7d_[[[
jQ7dT[[[
jQ7dX[[[w
J_QAELJMCJHOYOA
]JQ]AJBJ
JQANLQSC[
[JQANNHXC
JQAQYJPB
JQ[ASHCBM
JQA_YA]SXDJMN
JQAZ]Z]XY
@JQB]DZAB
@JQBJIsSSS
@JQBJOsSSS
JQBNKXKL
JqBNllllllllmllllOllylm
JQBOSQ[YGC
J[QBXZSQLJKB
JQ[BZCA[QCPH
JQCASP]@H][Z
JQ]C_ASXYOZM
JQCCY[PCKZQHQOQ]Q
JQ[[CG[JP
JQCQCJPQMCEZ_
JQD_CCEPXK
_JQDCDXKP
JQDE]LPYZ
JQDMHPCC_L
_JQDMP@D]QXLM
JQD_O]B_H@SCE
JQDP_YZXX
JQDQD[Y[@
JQDXPFAJMNX]Q[JMXSZ]QZL
JQECCP[K
JQEMOQ@JN
JQEOJLQ_
JQEXPCPMEL
JQFQGFF]XY_
JQFS[KX]N
JQFSZQJCJMB_
J_Q_GCNMMN
JQGFYPGYDQ
jQgGkgfG
_JQGG[QD@Y
JQGMNBZB]JDKZAN_
JQGNOXNN]O[HQ
JQG_OO]_
jqgqgg[H
jQgwegfG
JQGX_BZK
jqgylgfG
J[Q@GZ]HEE]PYL
_JQHAMSOG
J]QHBGHZYHN
[JQH[DG@S
J]QH@DYLSL
JQHJYHKOBZCD
JQH[K[OQQBO]
_]JQHOAGZ
@]JQH[PH
]_JQ_HXBN
JQHZXZX_S
JQJA[@AZBZOO
JQJBX_@NDSPXL
JQJCXLXQ
JQJGQNNQS_S
JQJLNZNF
J_QJ@Z@NS
j||Qk||8k||
JqKdI[[[
JQKKCHSH@[JZ
JQKMGJGJ
JQKQ[GAG]M]
j||qk||Zk||4k||
JQLABLN[NXNPOPPY
J_QLA@DP
JQLDOPM@K
@@@@@@@@JQ@LJ
@@@@@JQ@LJ
J[Q@_LM[AMD]Q]
j_QlQLJ))
 )))J_QLQLJ
@@@@@@@@JQ@M
@@@@@@@@JQ@M!
JQMACXQO_O
JqMaMIM9M)M
_J[_QMB_D
JqMbM@M;M0M"M
_JQ[MCDGP
!:@@@@@@@@JQ@Mf
JqMfMQM;M
jq!mggfw
JQMGSZS[S
JqMhMcMZMUMLMGMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
JqMiMaMIMAM5M!M
JqMiMaMYMMM9M1M!M
JqMiMoMGM2M
JqMjMgMPM3M
@@@@@@@@JQ@ML
@@@@@JQ@ML
JQM@M3M"M
JqMmMeM)M
JqMmMeMUMEM5M-M
JqMmMeMUMMM!M
JqMmMIM)M
JqM]MQM1M
j)))QMOuQ
JQMQ_ZDSED
JqMvMeMAM
]JQMXSKFL_P
JQ_MYJBN[QO
JqMYMAM9M
JqMYMQMEM1M)M
JqMYMQMIMEM-M
@@@@@@@@JQ@N
JQNCANYJBLK
JQNJFBGDJJM@]]XH[J
]JQNLAMMQJJX
J@QNN[FJQ
J[QNNNMCCF
JQNXNGMQ
J]_]QNZ_G
JQOMKGNNYP
JQONOMBY
JQOONDOJJ
j)))QOOuQOOuQOOuQOOuQ
JQOSOLK[M
JQPEDQCZJH
jqpgppepq
jqpgppepqhN
jqpgppepqUY
_J_QPHJ@K
JQ]PJDMXXQPQAPSXGE
JQP_KBQ]
JQPOD]GS
[J[QPQ[KMZ_JX
[J[QPSCBA
JQPXGPAKM
[JQQHBNGA[CG]ZBZ
[JQQHK_@LQB]ABD
JQQMLJFML
_JQQNP_JEEQDEYEG
JQQP]OPOS
JQQSL_ZNG[YYO
JQQSMF_BEC
@@@@@@@@JQ@S
JQ[SAQAAL_SDQYOMZS
JQS_MEJQ]S
J]QSOPGKF]
[JQS]QMP
j!QSSABI
JQSSAs@VAsI
j;QSSQ(VSSW@TABI
;@@@@@@@@JQ@T'
@@@@JQ@T'
jQTSSUD9
@@@@@@@@JQ@V
J@][@QvDL]HO[HDL
jQ(VSSW(
]JQX][HP_EAGZSJDSK__M]J_PM
J@QXKHZZ_
]JQXPHQBM
JQXQLLE]
JQXYKHJB
JQX@Y[Q_GB[N_E[
_JQXZ]ZH@@EYP
JQ[YB]_MNHA
JQY_HBAN
JQYLYBCC
JQYMMGK]
J[Q_YOKXQ
JQ]ZAB]EEBESG
JqZdN[[[
JQ]ZDSK_
[JQZGGB]JB]A@A_
J@][@QZPZ]LDZ
JQZY[JXD
JR3llllllllmllllOllylmh
JrDdW[[[Y[[[
J[(RggfGW
JrgqggE[
jRgqgglA
jRgqggPY
jrgWmgfG
J)))rKP]Lrtt
jRKS	ej	
jRllllllllmllllOllylm
J|RllllllllmllllOllylm
jRllllllllmllllOllylmm2
j(RllllllllmllllOllylmq
jRllllllllmlll]Y]]
J)))r[LOt
jRlSSSSSSSSSSSS
JrMgMOM!M
jRSSBTiaRSSU9BX
jRSSBTLs9
JRSSBVs5QSSeApU
JRSSPTD9
j;RSSQUD9
JRSSS@SbB
JRSSU@ZU
jRSS]WLC
jRSSZLC9
JRSSzYSSS@S
jR@@@@XpTD
'Jrxpx99'
[j[[[R[[[Z[[[
JR[[[Z[[[
JrZPDKFE
-||j.||S.||;.||".||
@Js3QSSBJD
j#@@@@@s@@A@AAac
]JSAABJCKJYB
JSA]LCNFJAKXJ_
JSAPSA[S@AAD]C
JSAYENQ[P
JSBBZNXXA
JSBCG_ZM_ZCP
JSB]_E[JOKXA@G
JS[BFDPDX_
JSBHBJGO@AN[
JSBLDQN@DH
_JSBMJ_L_
JSBPLNOL
JSBQACEAAD
_J_SCC@Y
JS[COQKHXSNAD
JS[[CQG_ONHPHN
@_jscript
@_jscript_build
@_jscript_version
J[SCSZSBK
JSCZLMMFQD
[[[;[[[_Jsd_[[[
JSDAZLQ_
JSDGNSPLCYG]QD
_JsdH[[[
[[[_JsdM[[[_[[[B[[[
[J]SDOEM
[__JSDP_K[
JSDQMC]G@G_DGPKO
JSDQNOYE
JSDXKKYKFZ][CG@NHXZNOY
JSDXX]]BC_DG
JSEABSJOX
JSEJXDXP]PM[
JSEmuDisableBrowser
JSEmuEnablePreprocessor
JSEmu Evaluation
JSEmu Heuristics
JSEmuIncreaseInstructions
JSEmuIncreaseMemory
JSEmu Preconditions
JSENO]MOS
JSEOXKBOBQJDHDYXDYN
JSFBKDPLJ
JSFOSB_HYFZG
JSFYHJ]A
JSg7kgfG
J_@SGAD_@
JSGDOJEG
J@SG]FGQ]QF
JSg'ggfGP
JSGJYXHX
JSg!kgfG
JSGKXMJK
JSGLZPYOC
JSG]NOBKD[LZL
JsgqggP3Z
jSgqgg|Q
J*Sgqgg!Tf
JS.gqggYy
JSHBBEBBN
_JSHBC[@
JSHCAXZCSMS
J@SHMQGSOJEXMFY[XQZ___
JSHOS]MJ
JSH[X[NOJJC
JsJBPCKBP
JSJllllllllmllllOllylm
j@S	j@S8j@S.j@S
JsJwJkJoJcJgJ[J_JSJWJKJOJCJGJ;J?J3J
JSJXJK@L
JSJYKGOHH
JSJ]Z_LED]FJXDK
JSKF_QFO_[QAG
JSKG@JJ[LS_
JSKJPO_ECPPZD
JSKPSCPX
j||sk||Rk||7k||
JS@K]SPXJ_PJLJSH_JC
JSKSYHZGH
j||sk||Vk||9k||
JS[KX@YDP
JSLAHP_OPXMYDYL
JS@LCN]MD_]FAOBK]MZKJZO
JSLDPAXPG
JSLGJALDA
J_SLJYZOYSBMK
JSLKJ]QH_F
jsllllllllmllllOllylm
jSllllllllmllllOllylm
_JSL_]MF
JsLpgppepq
JSLQPCLHO_
jsL sllllllllmllllOllylmO
JSL[YHAXQQQ[
JsMeMVM5M
JSMFQQ]HCPL
J]]SMJEABM_H
JsMNM(M#M
JsMoNVN)A AA@
[JS[MXBCD
JSNBLDEHO
jsNllllllllmllllOllylm*
J_SNL]XHO
[J]S[NNYH[DGYZASY
(JSNORM)
JSNPD_XC
JSN@SAGSZAPMY
J]SNYAHAJFB]_CQHHMPYKHMDFF
JSNYDG[BPBQQC_]OGSMCXC@
JSNYPOQJ
JSNZXPGOFBAS
JSOAKEGCJ
JSODLELLYLQ
JSOKAL@P
JS]_OMZLLQD
JSO@NCGL@SCJ
JsonDeserialize
JsonSerialize
JS[OQ_SKLJ@QPSA
JS[OYHHG
[JSPANAZLM
JSPFKJHZJGJ][N
JSP]HX]ANONNG
j@SPi@SAi@Sqi@Sai@S
_JSPKKECKHXZKD
J[SP[M_CZ
JSPNCEMG
JS@P[[XCHZMSGK
JSPZKNEDG
JSQGFPL]
JSQHOLL_EK
JS_@QHYXY]E
JSQKCCHZ@[@]
[JSQNDHSK
JSQ_OJDNAHM
J@SQ@SG_DO
[JSQZGOB
jSSDSSiSSKSCiSSJSsiSSISciSSHS
JSSFQJESN_
J_SSKKH@YL@NLE
JS[S@@KM
@JSSM_AHOPZ_
JSS[ODNGOY
JSSQBMPYG
jSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
jSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSviSSUSfiSS@R tSSUSoiSSUSviSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSI
jSSSQSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSQSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSQSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSQSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSQSSSsSSSsSSSsSSSsSSSsSSSsSSSsSSSQSSSxMBTK9
jSSSSS!#5
jSSSSSS!#5
jSSSSSSS
JSSSSSSSKY
jSSSSSSSS
jSSSSSSSSa2
J[SSSSSSSSH
j'SSSULC9
j*[SSVAeZ
jSUgIggfG
JsVguagfG
jSWllllllllmllllOllylm*
JSXCLZY]Q
JSXDBOJLH
J_SXDDZQBHJ
JS]]XJQQ
JSX[QDSLSG_SZ
jsxyyyyyy
[JSYBZ[_JJ
JSYDACCNBX
JSYGDY@MCJHNBGD
JS]YKQK_JGXNMQCZKNE@EGCEJQ_EJ
JSYMJJP]L
j())S@YO@EL
JSYX_OF[O_AQ
JS]ZAAZO
JSZKS[AK@QPYOHDX_SMBB]DK
JSZMN_JMJJ
JSZYDPN@DEXGZ_]AMJJOKPJPSC
J]SZZQHQGFE
[[[|[[[Jt
||||J|||||||T
Jt0d[[[[
Jt0dC[[[
j@@@@@t@@A@AAac
J@@@@@t@@A@AAac
JTcggfwG
JTDT_CONTROL_DEVEXT
J#te?oooo
jTGllllllllmllllOllylm
J:tgQegfG
jtgQggfG
jtgWbgfGV
j||th||jh||
j||Th||Jh||
j||tk||bk||Ik||0k||'k||
j||||||tk||pk||||||||||lk||Xk||||||
jTlp]UlP
JtMkMdMRMIMBM0M7M M
JtMoMeMPM
j[[[tomgK[[[
jT@pgppepq[
Jtpgppepq
jTPpgppepq
J t]Y]].
JTYPE_IMM_CALL
JTYPE_IMM_JCC
JTYPE_IMM_JMP
JTYPE_INDIRECT_CALL
JTYPE_INDIRECT_JUMP
JTYPE_NOT_JUMP
jt[Z9pgppepq
jT[[[Z[[[O[[[
ju8gYkgfG6
JUAJKMKLJ
ju@@@@BAB@
JuBBIFMU]uBBIFMU]
JubKttI)X
jUdB[[[w[[[k[[[L
JudgfG7W1Jgqgg
JueAAA;;CPh
@jUeC]@@@@@@AA@
Juem0FWY
j)))u_FN@ZA
jugfG:q4
JUGTGTG9f
JuJkJaJgJ]JSJIJOJEJ;J1J7J-J#J
[-[j[u[k[
Ju||Ku|qKu|dKu|ZKu|JKu|1Ku|
julianday
JULKIMU@HK
JULLLLKLI
jullllllllmllllOllylm
JullllllllmllllOllylml
JuMaMIMEM-M
JuMeMYM]MEM9M-M
JuM]MEM-M
JuM]MUM9M5M-M
JuMYM]MEM-M	M
jun7UgGfgfG
JUNK 	  
JUNK 	  e
J)))UOF[LHJA
jupgppepq
JUSSS@Sp
JuSSSSSSSSS
)))JuSSSSSSSSSH
J[uSSSSSSSSSH
JuSSSSSSSSSH
JuSSSSSSSSSHMQ_
JuSSSSSSSSSHZQZ
jUSSS@S	YRSRS
]ju@@@@@t@@A@AAac
JUWVVJWWSVgRgg
JuXuXzXyXyXvN|X|X
Juy7Juy;JuyKJuy_JuyaJuyuJuy
j)))uZAF[]JKFFZ]
jvb(llllllllmlll]Y]]
jVdJ[[[	[[[
JVdJ[[[Y[[[L[[[7
JVEqg	fgfG
	)))Jv@G]
!)))Jv@G]
jVgqggtu
jvgz7llllllllmllllOllylmk
J]v@GZ]HEE
[j[v[j[j[
j||vk||2k||
j||vk||Ok|| k||
j)))vL_LG]E@Z]LGL[Z
jvllllllllmllllOllylm
:)))_Jv[LM@Z]
JVMEM:M0M6M
JvMlMWMMM-M
jvo	ggfG
[j[v[o[k[n[c[v[
Jv p     1
JVpgppepq
)))JvQEOG
JVSSB@sSVSS
JvYHPDLG]
jv]Y]]S;Y
Jw8gotgfG
J@@@@@w@@A@AAac
J@@@@@wA@R@AFac
.JWdE[[[
j[[[)"WdL[[[
j[[[)"WdR[[[
jWdR[[[D[[[z[[[
JWggfgfG
JWggwggG
JWgQagfG	
jwgQfgfGJvK
JwJoJdJ8J0J7J
JwJwKEw]E
j||wk||ek||Rk||8k||(k||
j||wk||Hk||*k||
Jwlg?cgfG
JwMaMRMEM:M3M'M
JwMbMFM?M
JWMFM?M(M#M
JW#mgfG5z
JwMgMBM2M!M
JwMmMRMHM)M
JwM[MVMNMEM
JwMoMdM)M
JwMoMSMKM?M7M
J.WNg9dgfG
JwodgfGg
jWoIdgfG
jwpgppepq
Jwpgppepq
JWpgppepq
jW]rTp)1t
JWSSBZvLY
JWSSE_EB]
jWSSS@SrTRSRSCmWSSS@SyTRSRS
jwXRSSSSS
JwY[FJLZZF[
JwZ]H[w]DwZ@wLQwLwJ
JwZ]H[w]DwZ@wLwQwLwJNw[XDwPNw[[wZ
JwZ]Hw[]wDwZ@LwQwLwJ
JwZ]H[w]wDZw@wLwQwLJwAMAXHw_wFwXwG
JwZ]wH[]DwZ@LwQwLJ
JwZw]H[]wDwZw@LQLwJ
JwZ]wH[]wDwZw@wLwQwLwJ
JwZw]H[w]DZw@LQLJP@BwBK
JwZ]wH[]wDZw@LQLJwPwJwFwLAwA
JwZw]H[]wDZw@LQwLJ
JwZw]H[]wDZw@LQwLwJw[wS
JwZw]H[w]wDwZw@LQLJwEPwB
JwZ]wHw[w]wDwZw@wLQwLwJ
JwZw]Hw[w]wDZ@LQwLJ
JwZw]Hw[w]wDZ@wLQLJJwKGwMDwBwYwOJ
JwZ]wHw[w]wDZw@wLQLJQFHw_w_wGwJ
JwZw]wH[w]DwZ@LQLJKwOwM[wE
JwZw]wH[]wDwZ@LwQwLJ
JwZw]wH[]wDwZ@wLQLJ
JwZw]wH[]wDZ@wLwQLJSwDw[w@wY[QwSw@
JwZw]wH[]wDZw@wLQLJ
JwZw]wHw[]wDwZ@wLQwLJ
JwZw]wH[w]wDwZw@LwQLJwKw@wF
JwZw]wHw[]wDZ@wLQLwJ
jXAAAA@AAAAAC
J@XAAKYYGBAPQ
JXAAYGPD
J_XAAYOGOSJZX
JXADHL[JFLN
jX@@@@BA@@Hp@R
JXBBCASAJ@H
JX]BKGOSH
JXB@LJAO
JXBSLKBB]
JXBXDP[DESDXCMBGGN
@JXBYQAJ
JXCCNCCCBACC
JXCHQZ_A
JXCH]ZYXZ
JXCJDQAO
JXCLMNO[
JXCMGCOK
JX]CN]KON_GQYB
JXCPHS@Y
J[XCP_JJQMC
JXCQJHZXS
[[JX]CSGO
]JXDGAY]AZG[HSHC
JXdI[[[][[[
JXdI[[[_[[[
JXDKBDHBJPQEZ
J_XDKOJYQ]
J_XDLH_QQ
JXdO[[[L[[[
JXDOLASBZ
JXdU[[[J[[[I[[[
JXdZ[[[][[[
JXESLJSMHGALZMMK
JXFGOJXBJJ
JXG]A[[@SA[
JXGGSNDYAXY@]XJQOQD
JXG_HMG[
jxg[kgfG
JXGLEZGHLL
JXG[NBBQA
[JXGNB[M
jXgOeggG
JX[HAM_ZPBY
)))JXHCHHBHJXHCHHBHJXKKHNDHZHKKHO@HQXH
[JX_HDF@SL
j[[[)xHfO[[[i[[[
@J]XHLCFL
JXHMADYA
j||Xh||Nh||
JXHNHHHH
JXHNHHHHHHHHHHHHHHHMHHHHHXHHHHHHHHHH
JXH_OJJHJAMJJN
JXH@QBHSX
JXHZMSLCZLH
J)))XiDZNOEFFM
[J]XJ__D
JXJDN]KJMCC_DCAYKKD]AL
_JXJ_]]DPJNM
J]_X]J@_EFQQGDPNQGDS@
JX[JGBGQ@QSHOQ
JXJHMHBQL[
_JXJKP@CKH[BOE]
]JXJMKKM_N
JXJQOBYOL
JXJQ[S[NMM
J@XJSBBLXGZ
__[JXJ_SN
JXJX[BB]Q
JXJXYNX]Q
j||Xk||Dk||
JXKHFBECZQ[P
JX@KJQCG]J[
j||xk||Mk||(k||
JXLEYLAL
JXLFHGXPK]YL]]H
]J[XLG[]DC@]PKX
JXLJA[NZM
JXLLD_QB
JXLMADO_
JXLM_DHYLY
JXLN]OGJ[
JXLS]ZOSXBB
JxMcM[MSMKM!M
JX@]MJ[KBLGMSANMDKY
JXMJ@NYG
JXMKEG@MD[HL[H]B
JxMpMcM[MJMBM5M-M
JXMTMGM3M
JXNDYGLC
JXNHAGAPS
JX]NKPMO
J[XN[Z[NAJ
JX[OFAND@EJD
JXOFYQKNAFOKYQHMHEKNSLM
]JXOH_NK
J@XON[O[D_BK]@
J@X[OQBQG
_JXPG@EHP
jxpgppepq
JXpgppepq
JXPKG_KO
JXPLCOBYGS
[J[XPLSQK
J_XPMFXC
jXqgQFgfG
JXQHL]MZOQ
JXQHMQSB
]_JXQ[JSG_
JXQ]]QSO
Jxqx.;JH ;HH-Jxqx9.(V9
JXQY_BDZLMO[P
J]XS[AYP
JXSBCPQOQA
_J_XSHMS
JXS]J[DQ
[JXSK]@G
JXSL[YM_HMK]N_ZQNH
@]J_X]SOAQQC
JXSPCOQY
Jxsx9.(V(
JXSYIXSKIXSuIXSfIXS
@JxWE9@JBJ@VBWs
JXXEE[CHXQHY_Y@SNE_
JXXGOCYQHJ[SM]N
JXXJEKB[]]
JXX][MZ]DOLKG
JXXNO_A[BZ
JXXO__AKN
jxxrksisTui
jxxrtpgS
JXXSCYAAB]KJX@N
JXXSPY@KYFJ[B]YKQ
JXXS]_QKOB_P
Jxxxxyxsyxxxx(*Jxxxxyxvy.
JxxxyxLy
]]J;]xx]Y]]
@;*J.xx]Y]]5eY
Jxx]Y]]H
]JXYAEKZBJ
jxyaiyy)jxyyyyyyyyy
JXYAYAGGB
JxycMxyRMxy;Mxy.Mxy	Mxy
jxyEyyyy
jxyHjxy6jxy
jxyiMxy!4xyE
jxy#ixyZhxy
JXY_@JX[G
JxylMxyOMxy*Mxy	Mxy
jxy|mxywmxynmxyYmxy
jxynmxyOmxy mxy
JXYPBKBYJO
JxypMxyfMxyJMxy0Mxy
JxypMxygMxyLMxy)Mxy
jxyqiyy1jxyyyyyyyyy
jxytmxyUmxy2mxy
jxywmxyHmxy(mxy	mxy
JxyxMxymMxyRMxyGMxy.Mxy
jxyxmxyYmxyFmxy'mxy
Jxyxsx?(*
Jxyxtx?(-
Jxyxux?(1
';JxyxYyw
jxyyiyyy
jxyYiyyyyyyyyyyyyyyyyyyyyyy
JxyYJxyAJxy2Jxy Jxy
JX]Y]Y[_L
jxyymxyamxyVmxy5mxy
jxyymxyZmxy?mxy
jxyyyyy[mxyamxyyyyy
jxyyyyy[mxyamxyyyyyyyyyyyyy
jxyyyyyy
jxyyyyyyyyy
jxyyyyyyyyyCmxyyiyy
jxyyyyyyyyy!mxyiiyy
jxyyyyyyyyysmxyyiyy
jxyyyyyyyyyUmxyiiyyyyyyyyyyyyyyyyyyyyyy3mxyAmxy
jxyyyyyyyyyYmxyAiyy
Jxyyyyyyyyyyyyyysyyy
JXyyyyyyyyyyyyyysyyyR
jxyyyyyyyyyyyyyytyyy
JxyzMxy[Mxy8Mxy'Mxy
jxyzmxyXmxy
JXZDXFA@BAO
JX[ZE__CDZX_E@S
JXZGXQSPQN[N[LQZECJGD
[_@JXZJ_
JXZQKENO
J@X[Z[XHA
JX]ZYMBG]]M[
JXZ_ZO@EYDD
j ((]Y]]
 J ?]Y]]
)))J[@Y]
-  J!    ]Y]]
J'((]Y]]
J|Y3g#hgfG
jy3gqggY
Jy5yYyDyav
JyAAAAAAAAaqAL
JyAAAAAAAAoqAD
JyAAAAC@AAIqAE
JyAAAAC@@AuqAE1
J@@@@@y@@A@ACac
JYAACBFOEJHL_JEBZYOQBOGH]PG
JY@AAHOH
JYADQJESACSM
JYAGDA@NMFXGOH
JYAHSOXN[HJHXCHCA
j@Y]AL))
!)))J@YAL[
J@YAL[DFML
J@YAL[DFMLt
J@YAL[@DYF[]HLZ
J@YAL[@DYF[]YBJZ
)))J@YAL[J
?)))J@YAL[]LQ]
J@YAL[]LQ]
J@YAL[]LQ]JY
J@YAL[]LQ]r
JY[AL]_S
j@YAL[zEH]Lja))
j@YAL[zEH]Ljc))
j@YAL[zEH]Ljh))
j@YAL[zEH]Ljj))
j@YAL[zEH]Ljk))
j@YAL[zEH]Ljl))
j@YAL[zEH]Ljm))
j@YAL[zEH]Ljn))
j@YAL[zEH]Lkh))
j@YAL[zEH]Lkj))
j@YAL[zEH]Lkk))
j@YAL[zEH]Lkl))
j@YAL[zEH]Lkm))
]_J]Y@AMJDLCZ
jyb|@@B@XpoP
@JYBCA_D@
J_Y]B]EX
]JYBHOOM
JYBJHXN]BNPG
JY_BKCX[K[
JYBOPHFDSYZAC
J_@YBSDFDJY_NZN
jyb|@u@@A@ACac
jyb|@@@@XpGLjyb|u
jyb|@@@@XpLTJ)
jyb|]Y]]
JYBZ]BYNCS
@JYCCCNB[
JYCCNCCCBACC
JYCDLNP[Y[B_SJOE_GG
JyCgfGGQ
JYCK[KYN
JYC[LEQA
JYCPCYKAA[P]XM]D[BB_K@PG
jyczyyyyyyyyyy
Jyd4bpdz
JYDAFOXKEMG
?JydB[[[
JY]dI[[[
JYDLAGXDOQ[@G
JYD@LPEL
JYEADDKMEJECQS@
JYECJOGMS_
[JYEMJZL
J]YE[Z_JDDHHMB
)))]JYE@Z]LGL[
]JYE@Z]LGL[
JYEZN_YMZY
)))[JY]]F
JYFALGSN
J]YFEYB_D[_
J[@Y]@FG
J]Y]]FH_
JY[FJLZZF[
JY[F]LJ]uQ
JY[FN[HDMH]HuQ
j)))Y[FN[HDO@ELZ
jYg1UgfG
JYGAADJJXLMOM[
JYGBFDDZC
JYGBPNXQMHKX[
[_JYGBQPCYAC[NZDCNGC_[
JYG[CQK@P_
JY]GECXL[JX
]JYGGC_CECH
JYGG@YS@Q
')))]JYGHDL]F@Y
JY@GNEFJHEAFZ]
JYGQGSOLD
J[Y]GQSFLPPF]A
JYH[]@]@
J[YH_AAJJHBPP]ZMJSQJOYDJBX
JY]H@CGCMOAOJJ
JYHGLEMAE
')))JYHGLEvJ[HJB
JYHGLEvJ[HJB
JYHJJP]HMXJ
_JY[HM@BEG
JYHSGNYLHZYBS
JYHXJDPPSJYAX@M_D
((J]YH[]Z
JyIHHIYIIIIIIIIIIIIIJIIIJgIcI
JyIHHIYIIIIIIIIIIIIIJIIIJgIcIaI
jYiIjYiyjYi
J|yiM|y]M|yMM|y5M|y
jyIzyyyyyyyyyy
JYJALJBDLO@ELZ
JYJAPSL]_
]JYJE@LG]
]JYJFGGLJ]ZJHGGL[t
JYJGZB]KL[ZA
JYJHJBXE
JYJHKGKJO
JYJLDSZD
]JYKA[BK
JYKEZHZCG
JYK@GKHZ
JYK@GKHZA
j||Yk||-k||
]]JYKKHOZFQ]
j]Y]]K.Y
J[YKYOGGX]
jyKyyyyyyyyyyyQ
JYLBH[MO
JYLCMDQ@
JY@LCMSXPXB
	)))JY]LDY
JYLD[[YN[SHHK
]JY]LEGL]
[J[[YLG]
JYLHA[CMAOA
#)))]JY[LJ_
JYLLBYSCQ
JYLSNQXL
JyM1MHL9L
JyMfMVM8M?M
JyMiMYMIM9M)M
JY]MJADFM
JyMjMZMSMCM
JYM_MAM9M*M
JYMMBJG_Q
@JYMMHPX
JyMmMeMIMAM5M-M
JyM|MrMmMcMWBCB:B5B!B
J_YMOMYQ[_DZ_NP
JyMpMkMbM]MTMOMFM1M(M#M
JyMqMeMQMIM9M!M
JyMqMiMaMYMQMIMAM9M1M)M!M
JyMqMmMUMMMEM5M!M
JyMqMUMIMMMAMEM9M1M
JyMRMEM)M
JyMrM@M1M.M
JYMRMMM2M
JyMrMoMXMUMNM6M
JyMuMiMeMYMUMIM9M)M
JyMuMmM]M1M!M
JyMuM]MUMAM)M!M
JyMuM]MUMMMEM1M
jyMxyyyyyyyyyy
JyMYMEM(M
JymY[[[T[[[
JY_MZ@HHXG
JYNC@]S]JQDEFPJ
JY]NEQXP
JYNLG[HGMFD
JYNNDFXCP
JYNPOQENE
]JYNQBGPAX
JY[NZY@]
]JYOEFFM
JYOFPAXMAPZJL
JYOHZYL_NMGMDBGB]@HHH_XKCHG
J*YOMOMMMMMMMMMOMMMOMMM*YMMOMMM
JYOOLDCC@A
J]YOPPA_A
@JYOYCQSZPK
_JYOYDJXEY_BJY
J_YPCA_F@SJ
JYPLH[YJ
JYPMAM[@AN]QDCOS
JYPQ_DPGPQ
J[@Y]]PYL
J[YQFXPJG
j)yQ[ggegfG4
JYQvHMD@G
  j     ]Y]]r
J(((]Y]]R
]JYSDAJG
[JYSMC]NG
JYSYG[BHFOHYQ]HSBOHCKLXJGM]KH
JYSYPJOZ
jyuqyyyyyyyyyyu
JYvpgppepqk
jyWxyyyyyyyyyy
Jyx8yZ	E
JYXASN[GC
_JYX_DDDKNZ[Q]K
JY@XDHZE
JYX[SAQCGO
Jyxsy3A@:7	2 N
JYX@[wBZwMwJ
JYXXPYZO
jy]xyyyyyyyyyy
]jyy1gyykI
jyy1OyyiI
jyy2Qyy1Qyy
Jyy44yyp4yy
jyy5EyytIy
jyy9DyyrI
jyy9yyyyyyyyyyyyiyy
jyyamyy2myy
jyyamyy8myy
jyyamyyDmyy
jyyamyyGmyy
jyyAmyy)iyy iyy
jyy:ayy'ayy
jyybhyy!hyy
jyycjyyUjyy8jyy#jyy
jyy)CyyqI
JyyDByyDByyDByy
JyydMyy'Myy
jyydmyyRmyyImyyLmyyBmyy9myy
jyyEAyyiI
jyyeCyywI
jyyEFyyuI
jyyehyy:hyy
 )))J[@YYEL
jyyEyyyy	yy
jyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
jyyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy
jyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
JyyfMyyVMyy!Myy
jyy)GyyrI
JyyhMyy8Myy
jyyhmyydmyyJmyy5myy
jyyhmyy;myy
jyy@hyyEhyy
jyyHyyyEyZyuyu
jyyHyyy	ynyuyu
jyyHyyy	y[yuyu
jyyi8yyuI
jyyiByyrIe
jyyimyyPmyy:myy'myy
jyyimyySmyyEmyy7myy
jyyimyyVmyyMmyy@myyFmyy
jyy)iyy iyy
jyyiyyyAkyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyy
JYYJGY_]SZQ
jyyjmyyQmyyMmyy9myy4myy#myy
Jyy)Jyy?Jyy2Jyy
Jyy*Jyy_Jyy*Jyy_Jyy
jyy	jyyyyyy
jyy	jyyyyyyyyyyyyyy
JyyKMyy.Myy
JyyLJyyLJyy
jyylmyy5myy
jyylmyyImyy2myy
jyylmyy:myy
.)))JYYMA
..]jyyMByynI
JyymMyyKMyy)Myy
jyymmyy myy
jyy!MyyrI
jyynmyy?myy
	...]jyy]NyyiI
jyyomyy2jyy
jyyomyyEmyy
JyyoMyyHMyy3Myy
jyyomyyVmyy1myy
JyypMyykMyybMyy
jyypmyyYmyyAmyy)myy
jyyqAyylI
]jyyQJyyhI
jyyQmyy7myy
JyyqMyyKMyy
jyyqmyyVmyy
jyyqmyyYmyyAmyy
jyyqmyyYmyyCmyy-myy	myy
...]jyyqOyyvI
jyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yy
jyyrjyyijyygjyyZjyyQjyyTjyyKjyyNjyyEjyy8jyy
jyyrmyy[myyDmyy)myy
JYYSFGHX
jyysmyy]myyGmyy7myy
JyyTIyyQKyy
JyytMyy7Myy
...]jyyubyyrIK
jyyuiyyyyyyyyyyyyyyyyyyyyyy
jyyUjyy3jyy
jyyUKyypIc
JyyuMyybMyySMyyGMyy
JyyuMyylMyyfMyyPMyyKMyyGMyy2Myy!Myy
jyyumyyPmyy3myy
jyyVhyyGnyyhayyQayyNayy?ayy'ayy
jyyvmyygmyyVmyy;myy*myy
jyyVmyyKmyy@hyy
jyyvmyy;myy
jyy	VyyuI
jyywmyy1myy
jyyxmyybmyy
jyyxmyymmyy
jyyxmyy_myy-myy
jyyxmyyQmyy5myy
jyyxyyyayyyayyy
jyyxyyygyyygyyy
jyyxyyyHyyyHyyy
jyyxyyyIyyyIyyy
jyyxyyyNyyyNyyy
jyyxyyyOyyycyyy
jyyxyyyQyyyQyyyAkyy
jyyxyyyryyyryyy1jyy
jyyxyyy!yyy!yyy1iyy
jyyxyyy]yyy]yyyAkyy
Jyyxyyyzyyyzyyy
Jyyy6yyyyyyyyyyyy8
jyyy9yyuI
jyyYAyymIX
jyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
jyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Jyyyiyyy9yyyy
jyyyiyyyyyyyyyyyyyyyyyyyyyy
jyyyiyyyyyyyyyyyyyyyyyyyyyyGjyy)jyyIjyyyyyy
JyyYMyy4Myy
jyyymyycmyyMmyy6myy
jyyymyyTmyy'myy
jyyy	|yymyyyG|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
jyyyyyyQyyy)yyy
JyyyyyyQyyy)yyy
jyyyyyyUmyy
Jyyyyyyy
jyyyYyyymyyy
jyyyyyyYmyyyyyy
jyyyyyyyy
jyyyyyyyyyy
jyyyyyyyyyy1H
jyyyyyyyyyy5H
]jyyyyyyyyyyCjyyyiyyyyyyyyyyyyyyyyyyyyyyUjyyyyyy
jyyyyyyyyyyCmyyYiyy
jyyyyyyyyyykmyyiiyy
jyyyyyyyyyy)myy5iyy
jyyyyyyyyyy	myymiyyyyyyyyyyyyyyyyyyyyyy
jyyyyyyyyyy_myyyiyy
jyyyyyyyyyyXeyyBeyy
jy[|yyyyyyyyyyI
jy'yyyyyyyyyyy
jy!yyyyyyyyyyy9
jyyyyyyyyyyyyyy
jyyyyyyyyyyyyyy!myy
jyyyyyyyyyyyyyyyyUy
jyyyyyyyyyyyyyyyyyy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyky4#
jyy)yyyyyyyyyyyyyyyyyyyyyyyyyyyyYyy]yyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMhyyihyyyyyy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?y4#
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
JyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy;y4#
JyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!y4#
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_
Jyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
jyyZmyy!myy
jyyzmyynmyyTmyy;myy*myy
jyyzmyyOmyy
jyyzmyyomyy_myyyyyyyyyy	byyyyyy
jyyzyyygyyygyyy
jyyzyyynyyynyyy
jyyzyyyYyyyYyyy!kyy
jyy(zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
*; J[@Y]Z
jY]zALEE
JY]ZBOHLLCQZ
JYZE]X]BMB]SKSD_]ON
#)))]JYZLGM
JYZSXOXYJKHA
JYZ[_YDG
_JZAB@A_@XN]
JZABDLFM@_[DY_NQM[
JZAC@MZAH
	)))[]JZALEE
")))[]JZALEE
#)))[]JZALEE
)))[]JZALEE
:)))[]JZALEE
;)))[]JZALEE
?)))[]JZALEE
[]JZALEE
[]JZALEE))
j)))ZALEEFKCLQYHGMLG_@
j)))ZALEEYH]A
j)))ZALL]
J)))ZALL]
JZAY@K][FG
J@z@@B@ACac
J]ZBA[NS
JZBCKXYC
jzbjjbjj!#
JZBJ[MXB
JZ@B@KYD
JZBSB]KKNLA
JZBS[FMYH
JZBZ]F[LZJALGGH@
JZBZLOHQY
jZCCNCCCBACC)
JZCHZMMZHFM
JZCKQ][NLHH
JZCOGZZH
JZCYK_PYE[BZCHSDMKC]BA
"JZdA[[[
_JZDAGHY
_JZDHM]SXO_X
J[ZDN_P[PS
'JZdY[[[
]JZDZYLM
[JZE]COLY
JZE@GNZu
JZE]G_SN
JZEL[JZZE
JZELLO]HJ]PA
JZ]EMPHD[G
JZFDCH]GS
_J][ZF_O
JzgGegfG
jzggfG!E8
jzGgqggPNm
JZGKENDBB
JzgMcgfG
JZ]GMXZN
jZG_[MZeGLANAMZ
JZGMZHC[AZ
J[Z[G_[O
J'zgOkgfGa4
J?zgooggG!U
jZGRMZK@
JZ_H_BAS
JZ]HBBB[]
JZHCLXJJZ]OBXHBP_HCXZ
JZ]H[]D@J[FZFO]
JZ]H[]D@J[FZW
JZ]H[]DwZw@wLwQwLwJ
JZ]H[]DZA]HCH_HZJ[@Y]
JZ]H[]DZG
JZ]H[]DZLMNL
JZ]H[]EFJH
_JZHEJNJ
JZ]H[][G
JZ]H[]GC
JZHGOF[M
JZ]H[]H[JA@_F
jZHig#dgfG-*
JZ]H[]JDM
JZ]H[]JFFE
JZ]H[]JFGO
jzhjjbjja#
JZ]H[]J[PY]LM
JZH_KBOFLH_GG
JZHLJPSX
JZ]H[][LNZ_[
JZ]H[]LQYEF[L[
JZ]H[]LQYEF[L[HE@M_[
JZ]H[]LQYEF[L[ZZZ
JZ[HMC_PS
JZ]H[]@MD
JZ]H[]MFMH
J[[ZHMGB_LOCEB
JZ]H[]M[@_L
JZ]H[]MLZB]FY
JZHNLS@Y
JZ]H[]uu
JZ]H[w]DwZ@LQLwJ
JZ]Hw[]DZ@LQLwJ
JZ]Hw[]DZw@LQLJLMwH_wNwE
JZ]H[w]DZw@wLQLwJDEwYXMwJ
JZ]Hw[w]wDZ@wLwQwLwJ
JZ]H[]ZL[_@LJH
JZ]H[]ZL[_@LJZ
j[[[ZIXd_[[[
JZJAG_MPY
j)))ZJA]HZBZ
JZJA]HZBZ
JZJ]EJMP
JZ_JEMCAYYCX]
.)))J@ZJF
jZjFDY@EL[))
:)))J@ZJFJALJBHY@
jZjjjbjj
JzjjjbjjA2
JZJKSSQX[N]
J)))ZJ[LLG
]JZ_JL[O
J]Z_JMQYLQMAXG@NO
jzjnjbjj
JZJOFFGM_AKXN
JZJSN][D
JZJX_S[MC@GZ
 )))JZJ[@Y]
((JZJ[@Y]
)))JZJ[@Y]
;)))JZJ[@Y]
?)))JZJ[@Y]
)))JZJ[@Y]FZYY
JZJ[@Y]]PYLuQ
)))JZJ[@Y]ZEDN[
jZJ[@Y]z][@GN))
j)))ZJ[@Y]Z[J
jZJz][@GN))
j_[[[Z[[[K[[[
J_[[[Z[[[K[[[
J_[[[Z[[[K[[['9
JZK[DJJ[]Q]
]JZKFJMSLLQL@OB]YZ[S]K
JZKGPFE]LSFAA
J[ZKHZS_
jzkjjbjj
J||ZK||)K||
j||zk||[k||8k||!k||
JZKKKPBDCD]
_JZL_@]]
J)))ZL]AKHGBL[Z
JZLEJAZ_
)))JZLELJ]HZZLELJ]
j)))ZLGM
@[JZL[_L[
jzllllllllmllllOllylmD
j)))Z][[L_L[ZL
JZLNDADS
JZLNPNCCP]SA@N[G
JZLPSZSSMPAS
jzlQLJmee))
J[ZLSZO@
JZMAOGFK
JZMC_XZLK
JzMlM7M'M	M
JZ]MNJGQZ
JzMpMnMgMZMUM@MFM M
JZ]MPYAQDBPBXNMDHSBQ
J]ZMSJPBJQOOAS
J[ZMX_DQX
JZNH[FZQK]XY
JZ[NJESLPHJCJ_]F
@@JZNSDEZSZ
J[ZOBOMDM
JZ[O]FBLG
JzOmOQOEO)O
JZOPX_CAN
JZO[QADS
JZ[Ov]FBLG
JZPEHMBA
JZPNEXQGQA
JZPQ@[]_Z
JZPSJD]ONK
JZPY[SP]ONSSJQJ_
JZP@ZDQHN_Z
j)))ZPZ]LD
JZ[_QAB_JM
JZQANG[K]CYA
JZQDYSAQG
JZQ_]GEY
JZQKBN]H
JZQQGHMN_DSE[
JZQQ_[HMQLMPBYNK
JZSAZ_GSFBNX_Y
JZSAZNZMGJ
JZSBXPNJPO
JZ[SBYFMF
JZSDMM]N
JZSKBF_BOCNCM
JZSLPZLO
JZ]]SOYSCX[
JZUdW[[[
)))JZ_v@ZLDH@E
JZw]H[]DwZ@LwQLwJ
JZ]wH[]M[@_L
JZw]H[w]DwZ@LwQwLJ
JZw]Hw[]DwZw@LwQLJ
JZ]wHw[]DwZ@wLwQwLJ
)))JZw]H[w]DwZw@wLQwLJwLwE
JZ]wHw[]DwZw@wLwQwLwJ
JZw]H[w]DZ@wLQLJ
JZw]H[w]DZw@LwQLJ
JZ]wH[w]DZw@LwQwLJ
JZ]wHw[]DZw@wLQwLJ
JZ]wHw[w]DwZ@LQwLwJNwAO]Y_wXQ
JZw]Hw[]wDwZ@LwQLJ
JZ]wHw[w]DwZw@wLQLJwMwQXB
JZw]Hw[]wDZw@wLwQLJw[Gw@
JZw]Hw[w]wDwZw@wLwQLJ
JZ]wHw[w]wDZw@wLwQwLJwCwDwLOw]BwY
JZw]wHw[]
JZw]wHw[w]DZ@LQLwJ
JZw]wH[w]wDZ@LwQwLwJMGZ
JZ@XBLANH
[JZ]XDJDLJ]YC
JZXESNC_[
JZXJQHYJ
J[ZXMYJ]
JZXQH]LBJN[DCCSE
JZXXkIkK]Qp]Z_Z
JZ[YAZK[X_QSQL
JZYBJNLY
j)))Z][@YFZ
_[JZYGPMSLHN
j||ZY||JY||4Y||
j)))ZY@ML[GL]
Jzy@Mzy(Mzy
JZYPODXJ
JZYPPHGGADX
jzyQ3zy-2zy
jzyqozyqozyqozy
jzyUmzy-jzy
jzyYmzy6mzy
JZ]ZAGYDKP
J]@Z]ZBCX
JZ[]ZCYHYGCHJ_G
jzzjjbjja:
JZZ_kIkK]Qp]Z_Z
JZZLEHMO
JZZMLZ@NG
J]ZZNQNNFZZDJ
JZZXY]GHSJDQ_]
JZZYAY]G_
JZ[ZYEDQCMN
J[ZZ_YOOKNAAQ
JZZZ]PELZALL]
  k     
'||k ||@ ||
))k))))(
))k)))))
[[[ [[[k
[[[#[[[k
[[[([[[k
[[[)[[[k
[[[*[[[k
[[[:[[[k
[[[;[[[k
||||k|||||||
k[[[[[[[[[[[[[
k||||||||||
k||||||||||||||
k||||||||||||||||||
k||||||||||||||||||||||
k||||||||||||||||||||||||||||||||||
k||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
))K)))))
[[[;[[[K
[[[?[[[K
[[[[;[[[[K[[
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[K[[
[[[][[[K[[[
|||||||||||||||||;K||
 k     0
k)(((0(("
*.*;K0*'
*.*;K0*;
*.*;K0*?
*.*;K0:'
*.*;K0:?
*.*;K0*3
*.*;K0:3
*.*'K0*3J3
*.*;K0*3N0-?
*.*;K0*7
K0dK[[[0
K0dM[[[(
K0dQ[[[C[[[A[[[
K0dV[[[#[[[
]k0dY[[[G[[[
k0g]fgfG
K0gqgghU
K0gqggwW4v
K0Gyyyyy
*.*;K0:'J3
k0jPkR]X
*.*;K0*'K1-?
*.*;K0*?L0
*.*;K0*?L3:
K0L;K u8H
*.*;K0:;M0
*.*;K0*?M3-?
*.*'K0*?N3
*.*;K0*'O1:7
K0pgppepq
k0qgqggA
k0RSSD@FBF
*.*'K1*'
*.*'K1:'
*.*'K1:?
*.*;K1*'
*.*;K1:'
*.*;K1:;
*.*;K1:?
*.*;K1:'	0
*.*'K1:3
*.*;K1*3
*.*;K1:3
*.*'K1:3	1-?
*.*;K1*3J0:;
*.*;K1*7
*.*;K1:7
*.*;K1:7K3-?
*.*;K1:7O0
*.*;K1:7O0-?
k17O[[[Z[[[O[[[M
K19"J.H H6I
K1@[EXJT
K1gGegfG
*.*'K1*;J0
*.*;K1:'J0*;
'K1*;J1-?
k1J?KkgfG	
*.*;K1:'K0
K1*?K3-?
K'1khkI*
k1llllllllmllllOllylmJF
k||||||||||||||||||||||||||1O
K")||||208|||||
"K!:(;:25
K?2; 5 A
K276dgfG
k2GdL[[[n[[[
K2ggnggGy
k|2gqggGK
K2gqggxl
k2jPkR]X
k2l2m2n2o2p2
]k;2QllllllllmllllOllylm'
k2@XD_U[I	9
*.*'K3:;
*.*;K3*'
*.*;K3*;
*.*;K3*?
*.*;K3:'
*.*;K3:?
K3*;	0:'
K3_]-07:D*
K32EnumPageFilesW
K32EnumProcesses
K32EnumProcessModules
K32GetMappedFileNameW
K32GetModuleBaseNameW
K32GetModuleFileNameExW
K32GetModuleInformation
K32GetProcessImageFileNameW
K32GetProcessMemoryInfo
K32QueryWorkingSetEx
*.*;K3*3
*.*;K3:3
*.*;K3:'	3*7
*.*;K3*3N0
K3:3N0-?
K3:3O0-?
*.*'K3*7
*.*;K3*7
*.*;K3*7L3
*.*;K3:7N0*'
'K38U*2g
k3gUkgfGIf
*.*;K3*;J1-?
'K3*'J36
k3jPkR]X
*.*;K3:;K0
K3*'K1-?
'K3*;K16
*.*;K3:;K3
K]3KgAtgfG
*.*;K3*'L0-?
*.*;K3*'M0
*.*;K3:?M0-?
K3*'M0-?
).*;K3*'N0*'K
K3*?N1-?
*.*;K3*;O0
k3Od][[[M[[[C[[[
K@3RSSSSTCR
K@3RSSSSTCRX
K3Z1tyg]kgfG
k#)||||4.")||||
K")||||?42|||||
K")||||47;|||||
K||4c||1c||
k4EdX[[[
K4;gqgg!
k4gqgg9 
 K4gqggOCon
K)4gscgfGTJJ
K4(IggfG
*k4jPkR]X
k4jPkR]X
K4K5K1K2K
K4'pgppepq(
k4pgppepq
K4pgppepq
)"K"5"2"
[[[k5fdX[[[k[[[a[[[#M
k5g7wggG
k5IdL[[[
k5jPkR]X
k5WSSAgK
K5XKwW'gfG
K6giggfw3g
@.K*6JK-
k6jPkR]X
k6 llllllllmllllOllylm
k6RSSQLK9
K6yyDqyy
k6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
k6ZgAggC
[[[;[[[K7
K")||||73.|||||
k-7"dfpgppepqq
!K@7@@E@AEac
k[[[	7hfz[[[
K7igqgg!
K7igqgga
k7jPkR]X
k[[[(7MdI[[[
K7pgppepq
K7_[sSQSS
?K_7]TgfG
K7VgqggPE
K7@VQL_9
K#||||||||#8	
K88yxtyG9.
K88yxvyVG9.(
k8@@@@B@@@cp@S
K8gCegfG
?||k8||H8||-8||
k8jPkR]X
K99yyyyA
K9	AK("SSW
K9	@BBBBW
K9	@CQ(@SSWBC
k9ggfGnR8
'k9ggfGp
K	9gqgggz
k9gyfgfG
]K9H]K:7]K9IH]K9]JJ(59';
k9jPkR]X
'K9;LH:MHxyxty6x
k9llllllllmllllOllylm
K[[[9LZdZ[[[
K'9'qc6'
K9	Q(@SSW
K9	Q(VSSW(
[K9	@WBWAI
K9	@WQ(VSSW(
_K9x@@A@A
k9yyyyyyy
k@@@@@@@A
'KA9IMAJIxyxvyVx
@@K@A@@@@A@@
kAAAAAA@AAAAAC
KAAAAAA@AAAAAC
kAAAAAA@AAAAACj2
kAAAA@AAAAAC
kAAAA@AAAAAC;
_K[AAAA@AAAAAC
K[AAAA@AAAAAC
K[AAAA@AAAAAC]
K[AAAA@AAAAAC0
K[AAAA@AAAAACa
K[AAAA@AAAAAC.B
K[AAAA@AAAAACO
K[AAAA@AAAAACp
kAAAAAAaA:!H](
kAAAAAAaA.!HU
kAAAAAAaAi!E[UUF
kAAAAAAAAMqAh
kAAAAAAAAYq[Z1cfA
kAAAAAA@A.!HU
!KAAAAAY
KAAAACA@AIqAU
KAAAACACApqAO
K.AAAAMqAl
KAAAAQADA*qeJ
K.AAAA]Y]]
kAA@A.!HU
kAA@Ai!IU
kAA@Ai!KE
kAA@Ai!PQ
KAA@AYqEmJ_
KAA@AZquM
@@K@AA@B@A@A
@@K@A@ac
@@@@@k@@A@ACac
@k@@A@ACac
@@@@@k@@A@ADac
@k@@A@ADac
KA]ADBYJO[D_JXC
@k@@A@AEac
KAAEGMBX
KAAEG@O[
KAAFMCJBLOHGDPNKB[SABG
K[AAGDDCH
KAAGZJK_SX
KA[_AKKHPDNC
]KAA[]NDK
@kaa]Y]]
kABB@[pS@@@@@3o
KABDN[NLMSBPMN
KA_BGNA_
KABJSMZSH
[KABP]EBGMBY
KAB_QYOQ
KABYPKJDQH_K
KABZASJPJ
@@K@AC@@@@@
@@K@AC@@@A@
@@K@ACac
@@K@AC@@@A@cp@UX4nE@@@@@@A@Lp@Z
@@K@AC@@@A@-pBB
@@K@AC@@@A@_p@J
@@K@AC@B@@@
@@K@AC@B@A@AQ@]R
@@K@AC@B@A@Hp@U
@@K@AC@B@A@Lp@n
@@K@AC@B@A@Lp@o)
@@K@AC@B@@@Hp@L
@@K@AC@B@@@Lp@m
K@@@@A@CBXpLD
kaCCNCCCBACC
KA[[CD[DO]CCS
KACFLPZY
[KACGG[J
KACJGEA[
@@K@AC@@@@@JQ@M
@@K@AC@@@@@JQ@T'
]KACLBJ[N
@@K@AC@@@@@lpHD
@@K@AC@@@@@Lp@I
@@K@AC@@@@@Lp@X
@@K@AC@@@@@Lp@Y3[
KAC_LQYXAQ
KACMK__XFO[Y
KACNX]@PFZOFD_N
@@K@AD@@@A@@
_KADACAQ_QL]P[
KADCKBSEZ_
k||ad||;d||
	kaDEWRXYWRR
K@ADHGX]CQ[
K)))ADHJ
K#AdS[[[
KADXKN@C]K@
@@K@AEac
@@K@AE@B@A@2 @A
@@K@AE@B@A@2 @E
KAEG[ELN
K]AE@SAACMN
@@K@AFac
@KAFGLX]YA
kafi)X)in
KAFJEHZZ
kagAa'aa
kAgCjgfG
KA]GCLHEM_[FC
KAGENC[QZ[
k.agfG!c4
(KagfGD!
_KAGJ_N_S
KAGQDQL_
KagqggOCon
kAgWfgfG
K*agWmgfG
kahAa9aa
kahawkAa'aa
KAHB]@_[@BZAH
k@@A@h FMHc
K[[AH[GHN
K)))AHGMZ]HNL
k@@A@h GN
K@@A@h HY
k@@A@h KN
k@@A@h LN
k@@A@h MeC
k@@A@h MN
K@@@@@@A@h MR
kAhNPSSUs
k@@A@h NS
KAH]NYQPDKFZ
KAHPGQHHQMCZNS[
k@@A@h QZ
k@@A@h WQ
KAHYKX@NP
K[[[AINfS[[[J[[[
kaiwkAa7aa
kaiwkAa-aa
KAJ__F@O
KaJIJ)J	J
KAJJA]YSAZQZ
KaJ]JUJ-J!J
KaJOJ#JCM-M
KAJ[SDHJYDL
KaJYJMJ9J1J!J
KaJZJIJ J
KAKDKJKGJ
KA[_K_HHZ]P@
KAKLD@JOKHKSJEFC
KAKXAA[_
kal1.1RA1
K_ALCMYZX
KAL]CQCPXBYN
KALDXQYE
K_[AL@GEHGM
k)))ALGuY[FQPZL]]@GNZ
k)))ALHML[Z
kallllllllmllllOllylm3
KALL]YXSBPN@B_A]Q[
KALOKLOMO@NALOHxx
KALOPDB[[]M]A
KALXNDJE[PCGF_[Y
_K[ALXXXXG
kam(5 A 
kam a5a-a[aDa
KAMBXBFAQ_
K@[]AM[F@M
k@[]AM[F@MhJ]@_@]P
K@[]AMHP
K@[]AMHPM[F@M
k@[]AMHPZ
K@[]AMHPZ
KAMLNOJ]BELJONA
k@@@@@@A@mpdL4
KAMQO[BQ
KAMS_NJF@J_CPN]
K_AMYHXLHFLYCA
]KAMZJ_MJ
@@@@@KA@N@ACac
_]K@ANDBXKCJ
]KANQPL_
K@AOAHPQ
kaoDaLaVaOaVa
K_A]OHPD
KA_]OSOB
]KAOYDBXP
@@@@@kA@P@ACac
KAP[AYHBYDG_
K]APG[[XON
K@@@@@@@@ap@J
kAPJ@RM.
@KA[P@@KCKNOSJS
KAPKKSGESAEXKC
[k@@@@A@@@[pKL
KAP@NSPJSP
K_APNXGJK@NY
KAPOHAZ]KJZAHE]
K_APPSHBB
k@@@@@@@@ap@SO
@@@@@kA@Q@B@ac
KAQDSJ_@
KAQFXJHXY
KAQ][@J]
]]KA[QMA
KASBDG_BDHEAAQX_AQNSL
KAS@BLSZQ
KA@SC[FM
kASOjASujAShjAS
_KAS@OK[
K_ASQGDN
KASQQO]OMMFXZAMY
K[ASSMGAYLA
K_A[SX_C
KatLBA[s
[kav(5 A
KAXBJLGN
KAX_BNHSM_[SS
KA[XMNQNPAMBKZC
KAXM[@SS
KAXN_OMBC
k;@@A@XpD_
KAXXZX@C
k)))A]]Y
kay a5a#a
KA[YFMFNAGCHY
KAYF@PL[M
_KA]Y[JD
KAYPSZO[CK
KAYQLNMPB
k)))A]]YZ
K)))A]]YZ
KAZFPOHN
ka_[[[Z[[[K[[[G
KAZLCAYLG
KAZLGC[HGK
KAzsCRSS
KAZsSRSS
KAZXHJLO_L
KAZXQFPPC[B
KA_Z]XZ_
KAZYBKOX
KAZZG_PGF_X
k@@@@B@@@
k@@@@@@BA
K@@@@B@@A
K@@@@B@A@
kB@A@2 @A
kB@A@2 @Du:
kB@A@2 @E
K"@@@@B@A@2 @I
k@@@@B@A@2 @J
K@@@@B@A@2 @M
kB@A@2 @Mp
kB@A@2 @P
kB@A@2 @Q
kB@A@2 @R
K@BA@; A@@@@@
kB@AA2 @GY
kbAAAA@AAAAAC
KbAAAACA@AoqAK
KbAAAACQ@@KqAVAAAAAAAA
k@@@@BAA@Hp@T
K@@@@B@AALp@M
K@@@@B@A@ap@
K@@@@BAA@qp@Mg?g
k@@@@B@A@B
k@@@@B@A@dp@S
K@@@@B@A@Hp@
K@@@@BA@@Hp@DL
K@@@@@B@A@Hp@V
K@@@@B@AIgp@T
KBAJA[@N]A
k;@@@@B@A@Jp@A
KBAMGJ@E
K_BAN]JF
K@@@@B@A@qp@LH
K@@@@B@A@qp@ri
KBASHQASEBMOBKH[SMS]
k@@@@B@B@
K@@@@B@B@@
kBBBBBBB
KBBBBBBB
KBBGQDLO
k@@@@B@B@Hp@[E
KBBLLFYKLP
KB[BM@A_
@K[B[B[NYOZ
K@BB@[pC@@@@@
KBBQALYKLBG]]KOQC
KB[BSYLKDQQ_E
KBBXDYL@_BZJKHJ[]MX
KbB	:@Xq
K	@[B[BZfWBZxQB[YQM9
@@K@BCac
kbCCNCCCBACC
K_]B]CL@DMFH
KBCNGYGX
KBCQvKOJ]OBMQYDSNC
KBDAQ[D]F
K[BDBGZMBMZ
@KBDBKfIBDZ
k||bd||*d||
_KB_DGS][HJ_
KBDHNDYLBELHJPMMJGJSJKD
KBDNPN_@[MAAF]
KB_DNSPDKS
KBD[OGSAHNPS
K@@@@@@B@dp@I
KBD]PZFCLHPEKB
_KBD_QFACBSP
KBDSDXOXQL
][@KBD[YS]SQ_QXLZ]
[[[KB"e[[[[
@@K@BEac
K[BECHJLAP]F_SM
K___BE_EZMH
KB"eJ[[[.[[[
KBEKCDBC
KBEMOO]_LJ
KBE_[ONAJCZ
KB"eQ[[[
kB"eV[[[
K@B[FDL[[L
[KBFGHJGQGB[XK
kBfgqgg5
Kbfpgppepq0
KbgCtggw]b
K@BGGMEMJS
KBGGYFZE
K[BGH[@BHG
kb]giggfw
]KBG[JHPNMY
 kbgkkgfG
KBG[LCPC
KBG_L]PFCH[]N
]K[BGNNHJAY[_
[KBGOZY@Y
KBgqggoQi
KBGQKDQAD
KBHBSO[E
KB]HDPFYGAXYG
KBHE]G_PP_ZKBMG[M
K_[BHJAAANGD
k@@@@B@@@Hp@e
KB@@@Hp@R
KBHPYBAGG
@_KBHQ@BG
KBHSQJODHD
KBJDOYAZO
KBJDQ]A[
KBJFSNGX]ZP
@KBJI9	@_ZBKg
K__BJJ]ZHLK
KBJ@L_NJ
KBJNM_BQZAP
KBJNOLEK
kbjPkR]X
@KBJPLC9
KBJSDGKBP
KBJYKQN_
KBJZHCXKH
@KBKBUL_9
@KBK@DAvI
@KBKDfUs
@KBKE|VTU
KBKFDYX]
KBKHJBZ]@GNL[B
@KBK@JBXBK
KBKJ@NHJ@NHJ@BZ]B
@KBKjXUSSPM9
@KBK(MSSW
KBKNQDHOB
_KBKQJ[JLJ[
KBKQOLM]P
@KBKsSWSSfXBKs
KBKXF]HX
KBKYKOKXJ
k)))BLDY_@EH
KBLHJP@QBL@
KBLHN__SBOQD@
K@BL[KFPS
KBllllllllmllllOllylm
KBLNZ[HOANJJGYZZ
KB@@@Lp@y
k@@@@@@B@Lp@Z
KBLSYFMQS
KB_]MAG]XDP@NQYN
K[[B[MJQBB]S
K]_BM[LD
K]BMLXZ]MGS
KB]M_OZZ
KBNGQP@QS
KBNPQJHKYCJ
KBNX_PPON]
KBNZ@KKB
K]BONGJGNA[L
K]_BO[OJ[
KBOOPDXBX
KBPDHS]MO
KBPOGKLPABBKL
kbPSSE@rBUW
KBPYB[[BBHBP[CEYCG
KB__Q[GSP[
KB]QLGEY
KBQMXJSM
KBQ[]NKLK
KBQQHwSwAwM[
KBQZ]ZDZ_QL_XQXGL
@KBr(MSSW@DB]BDfWB]xQBD@]TBDdPTxQBDXB
KBSBDSLKDZQKY
K_B]SGDDK
KBSLHNAP_AGS[
KbSllllllllmllllOllylm
_KBS[SKZ
!K!bvCrS
KB[X[HAA
@KBXHXC_YNC@DD_L]LD
_KBX[MAE][YMXP[B
KBXMEHKJJD
KB@XNK[APJ_JA
K@BXPZOKJS
KBYAE[NLYEGEKLCQPZZNSPPGC
KBYDZ_LLYKLJF
KBYGBDHB
kb|ylqlj))
[KBYP]ML
K_BYQ]OHE
K_B@YYJJA[
KB@ZAAXSCY]
KBZ@GXBJ
KBZJGXND
KBZ]]]KAOM]
]]KBZXPGENOM
kC6pgppepq
kcAAAAAA@AAAAACJ
kCACC 1Aa
K[CACEQNJ
KCA_DOKK@
K[[CAGGJ@
K_CA]GJJX_
K_CAZ[]Q_M
@kCbCICNC)C
]KCBEDMBX
[[[KcbeM[[[h
kc(bg]cgfG
KCB@KQZL
[[K@CBQQG
[k[c[b[v[o[h[n[k[v[c[h[i[c[v[k[m[m[
@@K@CCac
@@K@CC@BBA@Hp@@@@@@@@@@@@@@np@@
KCCFZQ]SH_SLDCM]
kccgfGM!
]KCCJZ__
KC]CKD]DSQPXSY
#kCCNCCCBACC
k]CCNCCCBACC;
kCCNCCCBACC)
K]CCNCCCBACC
kCCNCCCBACC-_sy
KCCS_LKGDPXZP@LS]N
_KCCSSEC_OZ@A
KC]CYKGM
KCCZHHL]
KCCZOFNQ
kcd2*HdtF
:kCdF[[[?[[[2[[[
)))KCDL[JAHGM@Z@GN
KCDNBLHBYGG[_GXYL
KCDPXL[L
kCdQ[[[i[[[
]KCDYMHB
KCdz[[[9[[[
KCDZPKDH
@@K@CEac
KC[EXJMJ[[QF[BSA
KCf399yxh
KCFACAN@QC@YMKA
KCFCB]HCOZHC
KCFGSHLZZFC
KCFJPYZSK
KCFPZDPXH__DS@
K]CG_AEDN
KCGASNHODXAL_L
KCGBOMJYX
kCg!fgfGU
kCg-ggfG7
KCGKMBJXSLQ
kCgocgfG9
KC@GOFPE
k?  C     gqgg
KCgqggcnuDfI
!kcgqggN
KCGZ[O_NO_[NGMMHXC
[K[CHCM[Q_[KDXSA]EC]G
KC][H@GL[
k)))CH_H
K)))CH_HA]]YE@Z]JE@LG]LZ@MKQ[A
KCHKPYBCY
kchmhoojiyVQ
KCHMMSDSS
KCH]NFD_
KC[HOGJBG
KC_HQH_@
KC_HYY[AADXS
@kCIC@C:C3C
KCJBCDHK_N]EOMQKD][KJGQ
k|c(j|cHh|c
KCJE[ZYHAJYFBHJAHBDP
KCJLNSNGZ]
KCJ]NXPJF
kcjPkR]X
_KCJS[[YJ[MH
KCKFKLKYJ
K[CK[H@LND
K_CKYLB_[
K[C]LGP__@SHGCP
KCllllllllmllllOllylm
KCLXZ]BD_P
]]KCMCEJENL
KCMDC]DCY[Z
KCMD_HGL
k)cmfgfG
@KCMF[JPZX_
KCM@JHBXJOQJMH
KCMLA]GG
]KCM]MDG[KDHOCA
K]C_M[QPPCQ
KCNB[CK]HMC[C
KCnc2|xS
KCNCDSBGK[_@LPJG[QJD
KCNFCNZAMYLCG
]@KC_NG_YB
KCNJDEEBOSQQY[X
KcnllllllllmllllOllylm
KC]]N][_SOXG
KC]NZYKAZ_KA@
KCO_CEZ[D
KC_OXYAP_
K]COYOP[CX_
KCPF]NPM
KCPLNCZNYBX
KCPZOMQNYO
KCQCSHQMZYQBO
KCQDSBTOF[
KCQJXL@H
KCQODSLLMBLPS
KC@QZOAG
kcRSSPLO9
KC]S_DNA
KCSGAGKOD
KCSHOLXXNKS
KCSnQ[JCSmQCJCSlQsJCS
KCXBALEZM
KC]XEKHX]_B
KCXJ]GPX
KCXK@GZXS_X[Y]MJ
KCXLSMKXZN@
KCX]OJJZJCB
@KCXX[DAQ_XMP@LBYQE
KCYALZHN[MF
KCYHLC[KX
KCYKNAM]FQXSAPQXB
K]CYL_JJY
KCYMJ_PM[
KCYNGLC_
_K[CYQGDS
K[CYQKO@QSYNXLJ
KC]Y]])*Y
KCY[Z@[C[P
KCZGZA@QL
KCZLQSOYCDAJ
_[K_CZMQAXLSH
KCZ[X@BO
KCZXG[DP
Kd?2mdcv
k"d4Sbdx
Kd@[[[7[[[5[[[
k@D8oTtYL
Kd@[[[9[[[?[[[K
Kd][[[A[[[
'KdA[[[2[[[
KdA[[[5[[[4[[[
KdA[[[A[[[
KDACZODEX
KdA[[[d[[[
k|||d||ad||Bd||'d||
Kd_[[[a[[[f[[[
KdA[[[f[[[d[[[G
KD_A[HPQJ
[KD_AH[YY
KdA[[[K[[[O[[[
KdA[[[n[[[c[[[
KDANO_ZP
KD[_AOELJ
K?dA[[[w[[[h[[[
KDAXH[]DMLBC
KD[AZ_KGEXK
KdB[[[5[[[
KdB[[[:[[[8[[[
k[]dB[[[a[[[g[[[7
KDB_BCSJ
KDBCG]QJXB
KDBCHFHYQ_XFZJL
K][DBCMO
KdB[[[F[[[z[[[
kdB[[[h[[[o[[[
K?dB[[[i[[[
KdB[[[i[[[h[[[
KDBJBDOY[KZZZJJXN
K_@DB]K@CQ
KDBKL_LFZ
KDBNKQPFNM
KdB[[[T[[[
kdB[[[V[[[
K]DBZCF_H
kdC[[[?[[[
@@K@DC@@@A@@
@@K@DCac
KdC[[[B[[[
KdC[[[B[[[F[[[[[[dT[[[A[[[G[[[
KdC[[[g[[[
KDCGPNQHG
KdC[[[h[[[
KDCJH@L@K
KDCKMO[A@CMSSLBHM
KDCONZ@ZB
KDCPEJHBKDCPEJHBMQXZ@J[
KDCPQBJBYXHY
KdC[[[z[[[
k|d_[[[d[[[
K||dD||4
KD[DAZKBL
KDd][[[B[[[w[[[
KDDBXZEB@
kD@dC[[[
kdddmekk
KdDebuggerEnabled
.Kd#d ezk
k-DdH[[[
kddhddoin
KD]DHQSJ
	kDdI[[[
kddilihde
KdDisableDebugger
kDdL[[[X[[[q[[[w
KDd@[[[N[[[L[[[
kddnliko
K]DD]OKXQ[
kDdQ[[[:[[[
KDDSSJ@@NKNMMB[
KDdT[[[o[[[
;KDdU[[[
kDdU[[[X[[[
KDdW[[[X[[[
KDEGNSPA
kdeH[[[L[[[
kdeidndj
KDEJEQ_KZHPK@OQ_
[[[KD*eK[[[-
KDEQK]GBASA
[KdF[[[5[[[*[[[
K@DFEBQX
kDFgwegfG
KD_F@JZQ
KdF[[[O[[[L[[[
KdF[[[T[[[
KD]FX[CX]
KDg7kgfG"k
KD[[GEAJCGKHPO
*k'dgfGA
	K]dgfGb
k'dgfGf.I
k_dgfGI"
KdgfGpi"
k_dgfGQK
k_dgfGu1
k'dgfG W
KDG][G[C[
KDGJKH]M
KDGLNFJ@FZ@GDFK@E@H[@FZ
KDGMOJOEES
KdG[[[p[[[w[[[q
kdH[[[_[[[
KdH[[[*[[[-[[[
KdH[[[2[[[5[[[
KDH@AJADD
kdhdjejlh
k)))DH@E
kdH[[[e[[[d[[[q
k)))DH@EEFN@GrZLZZ@FGLQY@[LMt
kdH[[[K[[[M[[[
kdH[[[M[[[B[[[
kdhmnllj
KdH[[[n[[[m[[[
kdH[[[O[[[B[[[
KDHO[JK]FAP
KdH[[[P[[[V[[[
KdH[[[R[[[P[[[
KdH[[[T[[[
KdH[[[T[[[K[[[
KdH[[[u[[[j[[[
KdH[[[W[[[
KdH[[[X[[[W[[[
KdH[[[([[[![[[Y
;)))K@]DHY@GOFALHML[
K@]DHYMH]H
K@]DHZBJE@LG]
K[DHZ]L[
kdI[[[_[[[
KD_i0B@A@2 @K
KdI[[[7[[[
KdI[[[e[[[
KdI[[[l[[[
KdI[[[m[[[b[[[
KdI[[[n[[[
kdI[[[S[[[P[[[
KdI[[[V[[[U[[[
kdJ[[[_[[[
kdJ[[[|[[[
Kd][[[j[[[
KdJ[[[@[[[
k"dJ[[[a[[[1[[[;
kdJ[[[C[[[
[KDJCALB
K__D[JCZ
kDJdO[[[
kDJhggfw
KdJ[[[j[[[
KD[JJG_SH
K@DJJYZSQ
Kd][[[j[[[m[[[
KdJ[[[N[[[M[[[
kdjojkjjn
kdjPkR]X
KdJ[[[P[[[W[[[
]]KDJPYG
KDJQME[S
kdJ[[[U[[[G[[[
KdJ[[[v[[[
KdJVJ8J*J
KdJ[[[V[[[K[[[
k_dJ[[[x[[[
kd_[[[K[[[
 Kd_[[[K[[[
K[[[[[[dK[[[
KdK[[[A[[[
KDK_BFMJD
KdK[[[C[[[
kdk_dgfG
kdkhileki
KDK[KAKZJ
KdK[[[K[[[I[[[
kdkkmine
k)))DKLMMLM
KDKLPYPYBOML
KdK[[[n[[[
KDKOKAC[BP]
KDKpgppepq
KdK[[[v[[[i[[[
KdK[[[Z[[[
|Kd][[[L[[[
KdL[[["[[[
KdL[[['[[[
KdL[[[([[[-[[[
KdL[[[;[[[
KdL[[[a[[[
#k)DL]AFM
#K)DL]AFM
_KDL]AFM
k)))DLDDDHHLL
KdL[[[E[[[
[KDLGYDB
kdljdkmhi
K;dL[[[J[[[I[[[_
kdlkknjo
kdllllllllmllllOllylm
KdllllllllmllllOllylm
kdllllllllmllllOllylmOh
kdllllllllmlll]Y]]
KdL[[[o[[[
kdL[[[p[[[v[[[66
KdL[[[p[[[w[[[
KDLQJJ@ZBB
kdL[[[q[[[w[[[
KdM[[[b[[[a[[[
KDM_CZE[
KdM[[[e[[[
KdM[[[f[[[
KdM[[[g[[[
KdmgggwPa
KdM[[[h[[[
kdmilhio
kDMIZdGKCeIAF
KdM[[[K[[[
K]D@]MLS]Q
KD[M@NwDSO
K[_DMSGLF
KdN[[[3[[[
KdN[[[8[[[
KDN[]AHCB
KdN[[[f[[[
KdN[[[F[[[
]KD_NG[SNBF
kdnhomld
KdN[[[_[[[I[[[
kdnihonel
K_DNKQLBJS_
_KDNLBAJB][
KDNLJAHJG_X
KDNMPNHQ
KdN[[[q[[[p[[[
K?dN[[[T[[[
KdN[[[U[[[A[[[gj
K@DNXCOE@KKS
KDNY@FDB
k)))@DNZ[J
Kd_[[[o[[[
KdO[[[)[[[.[[[
KdO[[[:[[[
KdO[[[7[[[
@KDOBJNK
kdodmijn
KdO[[[@[[[E[[[
kdoenhmol
KdO[[[F[[[D[[[
]KDOF]DB[_G
kdohelooh
kdoinmnem
kdO[[[j[[[
kdoknhne
KdO[[[L[[[
kdO[[[L[[[A[[[
kdoleelhl
kdomjmkh
KdO[[[m[[[l[[[
k!dO[[[U[[[
kd[[[[][[[P[[[
kdP[[[][[[
Kd[[[[p[[[
KdP[[[#[[["[[[
KdP[[[)[[[
KdP[[[][[[
KdP[[[c[[[b[[[
KDPFPM[B
KdP[[[g[[[
-kDpgppepq
KdP[[[i[[[
K_DPKB_X
_KDP]MZY[HDJD
[KDPQXPZ
KdQ[[[	[[[
KdQ[[[([[[.[[[
K[DQAZBGZQ@H
K[DQGJDBP
KDQJA_DGYPXN
kdQ[[[O[[[|[[[
KdQ[[[O[[[
KDQO@ECB
KDQOGG[A_B[CYHYNMQDCJGYHS@APF
K_D_QPGL
KD_[]QSM
KdQ[[[U[[[
K?dQ[[[V[[[|[[[t
KD_QXNJQGLOX
_KDQYKD_ELNGEKJ
KdR[[[)[[[
KdR[[[1[[[)[[[
KdR[[[H[[[M[[[
Kd'RllllllllmllllOllylme
KdR[[[O[[[N[[[
kD]Rp]Z_Z
KdR[[[S[[[R[[[c
KdR[[[T[[[J[[[
kd[[[[][[[S[[[
kdS[[[;[[[
KdS[[[6[[[5[[[
kdS[[[9[[[
KDSCHNOQSJL
KDSFQPXNC
KdS[[[I[[[
kdS[[[i[[[o[[[?[leQ[[[
KdS[[[J[[[
KD_SJJYN
KdS[[[K[[[v[[[I
K]DSM@FNOXL
KdS[[[n[[[
K]DS[OFXJF__BHXH
kdS[[[][[[P[[[
[KDS[PDFAFLZ
KDSQKDDY[ZPNM
KdS[[[Z[[[
kdT[[[#[[["[[[
KdT[[[d[[[
KdT[[[F[[[q[[[I
KdT[[[R[[[Q[[[
kdU[[[][[[
Kd][[[U[[[
KdU[[[0[[[
KdU[[[9[[[
KdU[[[I[[[
KdU[[[O[[[
kd_[[[u[[[t[[[
KdU[[[Z[[[
.KdU[[[Z[[[K[[[
kdV[[[B[[[
kdvcLZ]L[
kdvdzlMNLyH[HDeGB))
kdvjA[FDLyH[HDeGB))
kdvjA[FDLyH[HDeGBnFFNELjFD))
kdvj[PY]bLP))
kdvmFYE@ByHJBHNL))
kdvmFYE@ByHJBHNLcZFG))
kdvmFYE@ByHJBHNLjA@EMlQ@]))
kdvo@[LOFQyH[HDeGB))
kdvo@[LOFQy[LOZzLELJ]LMlGN@GL))
kdvo@[LOFQy[LOZzymp))
KdV[[[U[[[q[[[-9
kdvzBPMEE
[[[;@KdW[[[
KdW[[[C[[[@[[[*
kdW[[[p[[[w[[[
KdW[[[V[[[
Kd_[[[x[[[
KdX[[[d[[[
KDXD_HNZ]F
KDXDKCJXNLA[OQDQ
k|||d||xd||td||
[KDXFCDDNC
KdX[[[j[[[
KDXK_JMGSJXG_ACYC
K@]D@X_O
kdX[[[q[[[
kdX[[[q[[[v[[[
KdX[[[R[[[Q[[[
kdX[[[s[[[r[[[
KdX[[[W[[[T[[[
Kdy[[[;[[[
;KdY[[[ 
Kdy[[[8[[[
KdY[[[g[[[f[[[
-KdY[[[H[[[
KdY[[[H[[[
kdY[[[j[[[
KdY[[[k[[[
K@DYLH[E@GNK
KDYN_GKP
KDY[__S[
Kdy[[[w[[[v[[[
KDYYLG_]SQN
KDyyyyyy
kdY[[[Z[[[l[[[F
K_DYZLY_DMBXEO
kd_[[[z[[[
KdZ[[[3[[[
KdZ[[[5[[[
KDZA]HA]]YZ
KDZ_AMSX
KDZ]@AY[ZH[
KdZ[[[d[[[
k@dz[[[e[[[
KDZ@[HCLLE
_KD[ZKX[
KdZ[[[L[[[A[[[
KDZ[LJF[MY[FE@]L
_KDZL__P]
@KDZMOZKCLQD
KDZM@PJSBYYBBYOPL
KDZMSOQB
KdZ[[[P[[[
kdz[[[Q[[[
kdZ[[[s[[[
kdZ[[[w[[[
Kdz[[[W[[[
KdZ[[[x[[[u[[[-
K[DZYS]BMCDG
KE@@@@@@@@
KeAcquireSpinLockAtDpcLevel
KeAcquireSpinLockRaiseToDpc
KeAegfG-t
K[@EAFZLOHZJ@G@FZ
KEA[sSRSSBVs
KeA[[[_[[[W[[[
KEBKLNSY
]KEBM@POB[
kebnhJ]@_@]P
]KEBQ[OAOP
KEBQOXJB[P
KeBugCheckEx
K]ECBDYB[KYZ[OXM
KeC[[[e[[[
kecgfG-f
kecHDDL[
KeClearEvent
KECLQAAZFSH
K]EC]@X]DCL
@KEDDB][E
k|eD[[[K[[[A[[[
K||eD||ND||7D||
KEDPKGKZG
KED]SYZJD
K@EE]ALOH[DL[
keEdgfG7OK0gqgg
K@EEFOEHM@GN
?)))K@EEKFH[M
K]EELH[G@GN
)))KEELK[][FZZ]G@GN@ZF[[FY@
KEELK[][FZZ]G@GN@ZF[[FY@
)))K@EELMZ]]]
k[[[eeMd_[[[
K@EENH]LZ
KeEnterCriticalRegion
k|eE[[[z[[[x[[[
keF[[[	[[[
KeF[[[|[[[
)))KEFBGF]@B
KEFBHMQASZ]P[ZAJGZBE
")))KEFFM
K@EFGLK@EF
KEFJBAHZA
kEFJBdHY))
KEFJBDHY
kEFJBdHYo@EL
KEFJBEFN@G
kEFJBE@Z]
KEFJBE@Z]
KEFJBGL]
KEFJB@GN
KEFJB@GNL[
kEFJBhJ]@_@]P
KEFJBJAH@G
kEFJBJFYP))
KEFJBJFYP
K@]EFJBL[
K@]EFJBL[BLPZ
KEFJB[LDF]LHMM[LZZ))
K@]EFJBL[DHGHNLDLG]
 )))KEFJBLM
KEFJBL[S
kEFJBL[vYAY
KEFJB[LZ
|kEFJBmH]HKHZLo@E]L[))
")))KEFJBvKF]
KEFJBv]Q]
KEFJBvZ@SL
kEFJByHNLa@CHJB
KEFJBZ@]L
KEFJBZLH[JAv]FY
KEFJBZ@SL
k)))EFJH]@FG
k|eF[[[L[[[G[[[
KeFlushQueuedDpcs
_KEFMYXKPD
KEFNE@GBZ
KEFNE@Z]JF[GL[
KEFNJE@YAH@
KEFNKEHZ]L[
KEFNN@H@][@KN
KEFNOFE@F
KEFNYA@DAHP
KEFNZE@GB
KEFNZE@GBZ
KEFNZLDHZHJHYH[GHK
KEFNZYF]
keG[[[@[[[
Keg3dgfGg7
KE@GBKE@GBKE@GB
KE@GBLGE@NA]Z
	KegCegfG
KE[GCKNJPEL
KeGetCurrentIrql
KeGetCurrentProcessorNumberEx
KeGetProcessorNumberFromIndex
KegfG"0yVgqgg
)_kegfGA_
KegfGJ9[
k;egfGLD
K@E@GJHE]@]LD@SE@N@
K@E@GJHE]@]LEB@GJM
|)Keg)kgfG0
[kegqggW
KEHALH@HH
kEHBG@NA]
kEHBHDKH
KEH]]FMLH
")))KEHGBOF[D
kEHGBvoF[D
KEHGJF_HEELPOH[DZ
:)))KEHJB
KEHJBAFEL
kEHJBAH]
KEHJBAH]
;)))KEHJBALEE
kEHJBdH]]L[
")))KEHJBE@Z]
KEHJBE@Z]
kEHJBE@Z]hJ]@_@]P
KEHJBE@Z]rAFZ]t
kEHJBHDKH
kEHJBjH]
KEHJBJH]
KEHJBJH[M
kEHJBjH[MhJ]@_@]P
KEHJBKL[[P@SD
kEHJBKP]LjFDDHGMZ
KEHJB]L[@HZ
KEHJBvHYFEFN@ZLvYFY
kEHJFEL))
kEHJFELcH_HjFG][FE))
kEHJFELvCJEZ@M))
kEHJFELvfp)(
kEHJFELvYAY))
kEHMHK@GM@
KeI[[[J[[[
KeInitializeApc
KeInitializeDpc
KeInitializeEvent
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInsertQueueApc
KeInsertQueueDpc
KEJAMLOGL
KEJG[YSQ
KEJHKZKCJ
kejjelkh
kejPkR]X
KeJXJUJHJ6J
KEKDBFJQGS
[[[kekD]R;
[[[kekD]Rp]Z_Z
k|eK[[[i[[[
k|eK[[[s[[[
KEKXKNK[J
K]EKX_S_KSA
k|eL[[[|[[[
k)))]@]EL
K[ELDJLS
KeLeaveCriticalRegion
K@ELEYH[AN
k|eL[[[G[[[E[[[
KELGJALM
KELGMMLZ@NGYFZ@]@FGZrrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrt
kEllllllllmllllOllylm
K[E_LL[OP
KELMPMZA[ACH[G[
k)))ELO]
KeLowerIrql
KELS]LLJA_
kELVbckbkjjikkkk
kELVjckhimkliono
kELVjckhjmjijkjh
kELVjckojlkcikjn
kELVjhjkiijikkkk
kELVjhjkkjkchiil
kELVjhkmkojoikjn
kELVjikckckhklkj
kELVjikmilkmichh
kELVjikojcjikkkk
kELVjjjjkhjnkiob
kELVjjkbiijjiiki
kELVjjkijjjikkkk
kELVjjkijmkbkkkk
kELVjjkijnkbkkkk
kELVjjklkljonchk
kELVjjkmjhkcjnkb
kELVjjknknkbhlhl
kELVjkjikjjmonil
kELVjkkjibjoikio
kELVjlknkbkbocho
kELVjmjjiciiinic
kELVjmkijijcjnih
kELVjmkijijcjokh
kELVjmkijijlhbhb
kELVjmkjkljikkkk
kELVjmkniljkncnj
kELVjmkojnklkkkk
kELVjnkjibjjhmoh
kELVjojikjjnkkhi
kELVjojjimknjhjn
kELVjoknijjjkmhn
kELVkbjjknjmjlon
kELVkbklhkjoilko
kELVkcjkiijiklhl
kELVkckojcjmioii
kELVkhkjklihkkkk
kELVkhknjnjjnion
kELVkikmjjjkomhb
kELVkiknijkokkkk
kELVkjkokmklibok
kELVkljjkbjikkkk
kELVklkojmklkbjo
kELVkmjjjkkkkkkk
kELVkmjjjlkkkkkk
kELVkmjjkljbhjjc
kELVkmjjkljboiic
kELVkmkijmjkhlin
kELVkmklkojlikko
kELVknjijjjmkhoo
kELVkokhkoknkkkk
k|eL[[[x[[[
KELZZ@GN
KELZZ@GNZ
KELZZHJA@EMAH@]@
KEMBOKLN
k@EME@GNL[
KeMJM)M.M
KEMPYASL
KEMSO]OL
k|eN[[[d[[[
K_ENQASQYB
k|e_[[[N[[[r[[[
k|eN[[[U[[[T[[[
KENXYQFXKN
K@EN@ZHPH[DH[DH[H
KE]ODDLQPGM[
K@EO_FYE]DPO
KEOHEHDKGH
k|eO[[[W[[[V[[[
K[EOX_DHZB
keP[[[c[[[
_KE]PFGZHN
k|eP[[[L[[[
KEPQKDEOE[AEOJZH
K*eQ[[[8
k|e[[[[Q[[[P[[[
K__EQQ_F
KeQueryActiveProcessorCountEx
KeQueryActiveProcessors
KeQuerySystemTimePrecise
KeQueryTimeIncrement
KErDINuY
KeReadStateEvent
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeRemoveQueueDpc
)*Kernel
kernel32
kernel32.dll
KERNEL32.dll
KERNEL32.DLL
KernelBlock
__Kernel_DeviceList
Kernel.Devobj
__Kernel_DriverList
Kernel.Driverobj
Kernel.Module
__Kernel_ModuleList
kernel_scan
KernelScan32
KernelScan64
KernelUntrustedVDM
KeSetEvent
KeSetImportanceDpc
KeSetTargetProcessorDpc
KeSetTargetProcessorDpcEx
KES]FJSPZ
kEsgqggOa
KESJBDOB
KE@]SKH[KH[H
KeStackAttachProcess
KE@TBA@UBULYh
k|e_[[[u[[[k[[[
k|eU[[[N[[[
KeUnstackDetachProcess
k|eV[[[o[[[c[[[8
KeWaitForSingleObject
k|eW[[[B[[[F[[[
keW[[[O[[[B[[[
k|eW[[[q[[[b[[[
k|eX[[[b[[[a[[[
KEXEOLOL
K_[EXMDD
KE_@XMMDYYCLC[CAAZ
KE[_XOBNMZ
K[EXP]DS
KEXQAFK]GB
KEXYZ[ZZQ[QBSL[
KEYA[QNP]_N
KE]Y]D_BDAXQ[[KCJ@[M
KeyLoggerName
KeyLoggerPath
Key not found
key_scrubbed
key too large
keywords
KEY[XZDG
keZ@@@@@6@@E@ACa
K_EZKGGBNS
k|eZ[[[N[[[
KEZNB_PY
KEZQB_DGCXKGQOPXM
k|eZ[[[t[[[
K_EZXHP_PDJJCJAQGPNC
KEZZMNE[P
	Kf[[[[[[
!)))K@]F[
K|f6fgfG
kF9Jpgppeptt
KFAED[XDHDDAQQQBZ
k[F]AL[Z
_[K[F]AL[Z
K[F]AL[Z
KfA[[[V[[[U[[[0iXdP[[[
KFbal'71
KF]B@EEL[
KF_@BHEJ
K[FBLG]FFEZ
k[FBLGy[FD@ZL
@KFB_SMJ
KFBYA@[Q
KFB[ZFSX
KfC[[[][[[
KF[CHEGFF[
KFCSNFBJ
KFDEFJHE
kF"dH[[[
kfDi7dR4
kF"dJ[[[
@KFDKZALEE
Kf_dL[[[
)))KFD[LHM_
kF"dN[[[M[[[
KFDOHADGMM
KFDPHHHCMB
KFdQ[[[][[[S[[[
K||FD||uD||]D||-D||
KfD[[[X[[[H[[[
KfD[[[X[[[J[[[
KfD[[[X[[[U[[[
[[[kF"dZ[[[l
)))KFEFNLG
KFEL]FvAZKJ
KF@EL[YEH]L
kfE[[[N[[[
)))KFE@NGF[L
KFENH[@G
KFEZJYPH
k[FF]B@]
')))KFFBDH[B
KFFBDH[BFZ
KFFBDH[BUKF]UJLu
KFFBDH[BZ
kFFBe@Z]hJ]@_@]P
KFFBgHDL
KFFB[LHML[
kFF]bLP))
KFFBPDJKFFBOHJL
KFFBPH[MZvKFFBZv_
KF]]FDDH[N@G
kFF]EFHML[
#)))KFFELHG
KFFEOKEFJB@]
)))K]FFEZ
k[[[Ff|fK[[[
KFF]JHBL
:)))KFF]JON
KFF][LHM@GN
KF_FNHY@YCO
KFF]][@NNL[
kFFNYH]S
K_FFPOOBS
?)))KFFZ]
KFF]Z][HY
KFF]Z][HY_
KFF]Z][HY_HE@MH]F[
KFF]Z][HYJFG]LQ]
)))_KFF]Z][HYYHPEFHM
KFFZ]L[[
KfgazgfG
KFGBL[ZDLG
kFgfGO'f5lOllylmiIF
kfgfGph6Fgqgg
 )))KF]GHDL
!)))KF]GL]
kFGMH]m[@_L
kFGMH]vJAH[JFML
)))KFGNFHGM[F@MHYB
kFGNFzALEE
_kfgqgg5T
kfgqgg!Y
K[@]FGZFE@J@]F[Z
')))KF]HE
KFH]JF_L[
KFH@JJJJ
KFHJX]O[Z@
KFHLMXJK@M_
")))K[FHMJHZ]
KF]HMZCB
KFH]ZE[A]BGGNBMQLLFK[
KfI[[[h[[[
KfI[[[X[[[W[[[
]@@KFJD_DYZ@@YCQYKDS_JD
k[FJF@GL[
KFJJH_B@F_
k)))_F@JLEFN@J
KFJLJAJH
kFJ[LLQ]
kfjPkR]X
kFjPkR]X
KfJUJ;J7J
	.KfK[[[;[[[
kfK[[[1[[[0[[[4
kFKdX[[[
kFKdY[[[
k[FKHGcHM
k[FKHGdFZ
k[FKHGj[F
k[FKHGmLE
KFKHNLGZFGEE@GLFO@J@HE
KFKKKFSA@K
@K[@FklQJLY]@FG()
@K[@FklQJLY]@FG)(
KFKQJYZMAAM
KFKSEC]GO
[[[	.KfL[[[
KfL[[[][[[
k)))F[@LEE@LZY@GFSH
KF_LGK[HDZLCEZ
KFL@GN))
KFL@GNvCMv]
KFL@GNvZYLJ][FEHKvEFNF
K?fllllllllmllllOllylm
KfL[[[p[[[w[[[
K[FMGJOY[LNN]KO
KFMJGOHFXNC
KF[ML[AF_L[
KF]ML]LJ]F[
KFMPFGEFHM
KFMPFGJE@JB
KFMP]FYDH[N@G
KFMPGOZCCKBXLECSFJ
KFMPJEHZZ
KFMPKNJFEF[
KFMPROFG]
KFMPTJH]JA
KFMPUUMFJ
KFMPZ]PEL
_KFMQL_LK
KfM[[[X[[[U[[[
KfM[[[X[[[V[[[
KfM[[[Y[[[R[[[
KfM[[[Y[[[S[[[
KFNJMP__SBC
KFNL[HGMF
KF[NL[Z@GMKF[NO[LM
KFNMLZNNCS
KFOHvJH[MvZ]H]LDLG]v
')))K[FP
K[FPCS[CQY
KFPECOG_[[
KFPN_CFX_
KFPS]]QQS
kfQ[[[d[[[
_[KfQEy[OdQEyEXZ@UEBUg
KfQEyQ(WSSW@GBGs
KfQEyQ(WSSWs
#)))_KFQ][HP
_KFQ][HP
KFQKF[ML[
KFQRM@ZYEHP
KFQSJ[[S[OANY_A]A
_KFQZL[_@JL
	.KfR[[[
KfRaiseIrql
KfR[[[][[[P[[[
KFS_BL_LHL
KFSGHSZZXG
KFS_KC_J
k[FSL[JA
KF_SOH[_
KfU[[[;[[[ 
KfU[[[Y[[[
KF]v]CHGZ]LZB[@_LEZL
Kfx[[[6[[[
KF[X[]E@MP
KFXGOZJL[JAE
K_FXKPNQ
KFXM[QKB
KFX[OBYL
Kfx[[[P[[[
Kf@[[[X[[[Q[[[
KFXQOGMY
KFX_QQ@HF
Kf_[[[X[[[W[[[
KfX[[[X[[[W[[[
KFxxzx]Y]]X
K@FXYQMD
	.KfY[[[
K@FYH]LG
KFYK_]Z[[Q
k)))FYLG]LQ]O@EL
K@]FYL[H]@GNZPZ]LD
KFZGKKJSJ
.)))KFZJA
KFZLGNHY]LB
KFZO[QAP
Kfz[[[Y[[[Q[[[F
Kfz[[[Y[[[S[[[F
)))KFZZKEFNN
K@FZZL[@HE
kg1cgfGy
kg3bgfG!
Kg3cgfGTt
kg3ggfGi
Kg3KdfG0
:Kg3kgfGg
]kg5:gfG
Kg7bgfG*
kg7ggfG1S
)Kg7gggw
k!g7wggG2
Kg9mgfGL
@@K@G@ac
kGAFeAFMZ
K_GAGA]D
kgagfGhEc
k:]#gAgg!
KgAggfwp
KgAgg)x5E
kgAggXUR
KGA[JXJJOC
KgAkgfGl
KGA_KQQPCF
KGALFOXQ
_KGA@OZJJH
KGA]]Q]YJJ
K"gavgfG
KG]]AYNZ
KGB]GCD_@NGC
K__GBLCCJ
KG]BMMX]QMZB
K__GBSQA
k.gCggfG
KGCK@HNENKQFQ
KGCLNXLXON
-KgcogfG
_KGCQ]AM
K@gCqgfG
KG[CQKF_C[XK[ZY
kgC[[[y[[[
KGD_CNJM@
KGD]DO]GLZX
kg]DgfGB
KGDKZLQKKLBPAM[
@KGDMXGXYCX
KgEegfGJ
kgefgfG#k
k)g'egfG
Kg;egfG.
kg?EgfG*2
KG[EKDCP
KGELFBQJ
KGEMJM[@
KgengfG9
KGEO@MJX
KgEQ(VSSWs
.kgEtgfG
kg@[[[F[[[
 )))K@]GF]
KGFFFQBS]
k)))GF[]FGDF]FJPJELZ
kgfG0axwgqgg
kgfG1pi7gqggw
kgfG-2[:gqggM
kgfG5uVugqgg
kgfG7'@0gqgg
kgfG7Lawgqgg
kgfG7YeRgqggYz
kgfG9"W#gqgg
kgfGa*Hogqgg
kgfGahvfgqgg	
kgfGBkpagqgg
kgfGb Z.gqgg
kgfGDb3Fgqgg
kgfGDI5_gqgg
kgfGdN	Igqgg
kgfG!D	Ogqggc;
KgfGDwX;gqgg
kgfGe_[agqgg
kgfGEYv6gqgg
kgfG!F4Sgqgg
k[g	fgfG
kgfGf'z5gqgg
kgfGg1jbgqggGJ*
kgfGg:B-gqgg
kgfGGBqSgqgg
k;g;fggG
kgfGhs|sgqgg
kgfGIf#3gqgg
kgfGii?Ugqgg
kgfGiQQhgqgg
kgfGI*_wgqgg
kgfGk8kGgqgg
kgfGKEHngqgg
kgfGKhEjgqgg
kgfGk_]Kgqgg
kgfGl214gqgg
kgfGL2Y(gqggs
kgfGlNBigqgg#
kgfGMeHMgqgg
kgfG!m!jgqgg
kgfGMwEpgqgg]Mh
kgfGn4IJgqggk
!|kgfGnZ
KgfG:P7ggqgg
kgfGpiH gqgg
kgfG!R)Ggqgg
kgfGS_Jngqgg
kgfGSrM]gqgg
kgfGTlWNgqggF
kgfGTPVPgqggf
kgfGTvw)gqgg
	.KgfGUl[
kgfG!vcKgqgg
kgfGVLn(gqgg
kgfG| WBgqgg0
kgfG!WDkgqgg
kgfGW	rOgqgg
kgfGwz(8gqgg
kgfGwzVsgqggZ
kgfGXc33gqgg
kgfGYz8|gqgg
kgfG_z6rgqgg
kgfGZG-vgqgg
kgfGzKvTgqgg
K[GFKLDM
KGFKN]KZM@H
KG@]FXL]]
KGGBGP[GZC
kggdgfGrp
KGG]_[EDM_MNF
KggegfGX
KGGE@PDC@
 KgGfgfGR
kggfwCHx
kg#gggG*
-?k	-gggw
K?ggkgfG
KggkgfGT
K@GGLGZYLNLE
KGgqgg(.
KGgqgg:9
KG[gqggu
k(ggqggX
KGGS_FGNGL
kggugfG@Q
Kggw'J0N
KG[HC_XLLJCQ[GPDJ
kgH[[[d[[[
)))KGHDL
K[GH_FKZ
K@GHGJLQZ
)))K@G]HGNHX@XHA
KGHKGO_Z
KGHL[LDZSP_PAXAKJP@GYNP]_K@GPB
)))K@GH[@LZ
;)))K@GH[@LZ
K@GH[@LZ
KG]HNHLEXZOB
KGH_NZKYC
k@GH[P))
 )))K@GH[P
K@GH[PELG
K@GH[P]FZ][@GN
K@GH[P@GMLQ
K@GH[PJFG_L[]F[
K@GH[PK@SS
K@GH[P[LHM
K@GH[P[LHML[
k@GH[PmLJFML))
K@GH[POF[DH]]L[
k@GH[PoF[DH]]L[zL[@HE@ZLMaLHML[
K@GH[PvKEFK
K@GH[PvZ][@GN
K@GH[PY[F]LJ]F[Z
K@GH[PYH]AGHDL
K@GH[PZ][LHD
K[GH[QOQYAZYG
KGHQYPHP
KGHXL_Y@XBFBG_GX[A[_]GFQQXH]
K@GHZJ@@
KgibgfGeLd
KgicgfG	
KgicgfG!L
?kgiegfG
_KgifgfG
kgIfgfG6
kgI[[[g[[[
kGIgfGG5
Kgiggfw[P;7
KgigggwLI
kg@[[[i[[[h[[[S
KGIJIITI
KgIkgfGf
k-gimgfG
kgI[[[v[[[u[[[
KgJ:B'0B
K]GJEFZL
K]GJE@JBvK]G
kgjEkG]X
KGJJAGD@]J[
K@GJLLSN
KgJOJEJ5J
KGJ]@_OOYG]Q
K@GJSOZJSAJZMQDSSC_Q
KGKAXH[AKL
KGKAYXJSSD[A_
K][GKBPHQ
Kg kgfG8
k"g?kgfGj9
")))K@GKHZL
K_GKLXZGSO[O
KGKPPMGSC
KGKSXELGBPQ_
K]GKXBKK
KG[LDKGZ
KGLKEPDLQOL_
kgllllllllmllllOllylm
kGl*RGl2
K[GLZ@B[L]Y[@GJ@YZY[N
[KGM[FBKZCGDAA
]kg'mgfG
K@GM@G]L[OHJL
K@GM@GNOEHNZ
K@GM@GNOEHNZt
K@GM@GNvYH[HDZrY@YLtr
K@GM@GNZ
KG[MMFAH]_
KG_MPKPZZZFLGOPAZH
K_G_MSSNO
K@GMvHJJLZZ@K@E@]PvZL[_@JL
K@GMvML_@JLvHMD@G
K@GMvYF[]vY
k@GMzALEElGJFMLM
K@GMZYF[]]F]JYYF[]
")))K@GN
k)))]@GN@KELYL[FQ@M@ZLZKLOFEB
KGNK[O_[J[JCJJY
KGN]LK[KODN
KGNOBNBQG_YC
kGOd@[[[D[[[
k]gOdgfG
.kgoegfG
@kgoEgfG(
k@GOF[DH]h[[HP))
Kg'ogfG;3
KgokgfG9
KgOogfG)
K_GOPQOHOLZP
KG@OQKNMC
]KGOSNQBQ
KGOXHADMJHKP
KGPEHXB]FE@K[PJN@M[ON
KGPHSCZX_SXA
KGPKB_]ZLE
KGP@LL]C
KGPPOYJNXBX
KGPZL[ADXPOC
kgqagfGvJ
K]GQAZZCXHD
KGQDASXMG
kgqdgfGM.L2gqgg
KgqdgfGT
KgQEyQ(WSSWs
k)))G@Q]@G
kgqgg6[!A8
Kgqgg6]D
 Kgqgg7[
!Kgqgg7[
Kgqgg7Ct
K gqgg8Uv
	kgqggcB[.
KgqggcnuD
Kgqggf9x
_KgqggfE
kgQggfG5
kgqgg'G8i
Kgqgg'G8i
kgqgg@.I'
K]gqggIdo!
KgqggJ7;|
KgqggJjgfL6S
kgqggJ?U
kgqggKSl
K gqggKSl
kgqgg	Myi
!K(gqggO
KgqggPAg
KgqggPIr:
kgqgg-rS
-kgqggt'
_kgqggU[
kgqgg;vg9
!kgqggWG
KgqggXOH
k-gqgg[Z
@KGQG_KSPJO
_KG_QMSPA
KGQPG@OJC
kgqrgfG]
 K!gqugfG
KGQZMC[F
K]GQ@ZXQLO
kgRSSEyBVL_9
k_gSagfGZ
KGSB[PHH
KGSCFDNNZ
KgsggfGHs
KGSGJBQ[DGPGOOB
K_GS_SQA
kgT[[[b[[[
;kgTcgfG
K__Gu@@f
kgufggG#d
K@GvYFZ]KHJB
KgwagfGCkBKgqgg:.
[KgWcgfG
K:gwdgfG
KgWegfG;
kgwegfG4
kgwegfGs
kgwfgfG!
KgwfgfGj
kgwfggGsl
_Kgwggfw
 kg?wggG
)KgWkgfG
kGwkgfGa
KgwkgfGT
KgwugfGL
KGXBDQDL
KG_XBJOYQN
KGX[DOF_GQ
KGXF]_XCYNA
_KGX]HBZB[M
KGXPMGGYZQ]]_E
]]KGXPMJ
KG]XSGG]
KG[XY]KXZS
KG[XZS_[Y
KGYALHE]AJH[L
KG]YBADK
KgYcgfG|
KGYF[HXQXZK[CXC[_[_[
"kgyggfG
KgYggfG';
())K@GYH]A
;)))K@GYH]A
!!KgYkgfG
KgYkgfG[
KGYNABN__EHNH[BPB
K.gYogfG
kgywggGB
-KGyyyyyym9yyy
KgzgaogfGM
k)))@GZ]GHDLT
k)))@GZ]HGJLZY[r@t
KGZ@JD_N[Y
K]GZ@NG@G
KGZZ[MQPYQ[NL
)||k*||H*||3*||
KH8g egfG
'KH9g!tgfGJ
KhAAAAAA@AAAAAC
KH@]A[CKH]YN
KHaefLoY|ZMbY
)))KHAGZJA[@O]
KHAGZJA[@O]
_KH]AHDLGMMBSQQ
KHA[KK]_
KHALPBLBPGBKPXBS
KH@*Axx]Y]]ssY
KH]AZF_DMMYZ[
K[H@BA]]ECS
]KHBEAOLNK
[KHBHPHOCS
_KHBKMiC
)))KH]@BLG]BE@G@B
KHB_LHZA
kH[]bLPdH[BL[
kH[BLPJF
KHBNQCXNLSGOP[OD
KH@@@@@@B@(p@Mw
KH@BQPSLNNBJ
KHBX_NK]P
KHCDH]A@M
KHC[DJZ]
KHCEAGQMGDOQD][YBJKQYPMOSDCOY
KHCFSKXLCMDK
KHC]MNLXAN
KH]COZKZAM
KHDD@i@GZ]H[LD
k HdegfG
KHDEOYLXKD]AG
KH_DFBDN
KHDHJCSODQH
)))KHDKFF
KHDNGBZFCM
KH_DQ]MDQJPQGHJ
K'HdR[[[
KHdx[[[][[[S[[[M
)))KHEEFOE@NA]G@GN
KHEEPZY[@GN@GG
kH]eFHML[
kH]EFHML[
KH[EFNN@F
)))KHEHD@[LD[LG
KHEHEH@B@G
KHEH@FDH[HGAHF
KHEHFHAH
khekehjm
kHEllllllllmllllOllylm
khenjdhd
KHFGX@_C
K)))H]FK
[K_H_FLA[S
)))KHFM@GN]AQQ@HGN
kHGBF[ML
KHGB@G]L[
KHGB@GNZL[_L[][HGZOL[O[FD]ALGFMLZL[_L[HGM@]Z][HGZOL[@GNFOO@JLMF
kHGBL[y[FQP
KHGBM[F@M
kHGByA@ZAeFNF
kHGBY[FQP
KHGDPAJNZBOSMOLSKS
__KHGDSNQOKB@
kHGEFHM)(
kHGEFHM))
kHGEFHM[
kHGEFHMs@Y((
k@HGe@HGfEM
	kHg)fgfG
KHGGAHGAHKL
KHGGLMMFDH@G
:)))KHGGLMYF[GFN[HYAP
kHGGL[qde
KHGGL[vMF
KHGGL[vYEHJL
KHGGL[Zi
)))K@HG]H[HCHPH
K@HG]H[HCHPH
KHGH]H[H
KH[GHKHZ
kHGJFDL[
KHGJFDL[
?)))KHGJFHDHSFG@H
;)))KHGJF[LHE
KHGJFMFK[H
?)))KHGJFMFK[HZ@E
KHGJFMFK[HZ@E
KHGJFMFK[HZPE
KHGJFOF]FN[HO@HZ
KHGJFvHS]LJHvZYL@vDLQ@JF
K[H@GJF[Y@
kHgkmgfGM
K[@HG[LH_@Z
K[H@G][LL
KH[GLZML
 )))K@]HGM
KHGMBPOYJ[QG
[KHGMD_Z
K[HGM[F@M
K[HGM@GN
KHGMHHJLABF]H
KHGMH[@LQYLM@]@FGZ
KHGMO@E@GN
KHGNEHZYF[]Z
KHGNKHGN
KHGOYSHFNJX[NDHZX]CZD[QO
KHGPASPCQ
Kh-gqggkp
)))KHGSHP
K[@HG_YADC
KHGYXYKLCJCZGCA@AOA
K[HGZFGOCLK
K[HGZFGOH[Z
K[HGZFG_Y
KHG@Z]L[Z
K@]][HGZOL[))
KHGZPNPJHHE
@KHH]ADGK]
K)))@HHCHHBHJXHCHJHHJXHNHHBHJXHCHHBH@HHCHJZH@HHCHHBHJXHCHJHHJXKKHLDHZHKAHO@HQXHNHHBHJXHCHHBH@HHCHMLH
kH[]HEELQ
KHHHHHHHH
KHHHHHHHHMNLHHHHHY
KHHIYIIIIIIIIIIIIIHIIIJ
K)))H]]HJALM]LDYEH]L
KH[[HJE@J
K]HHJFJYFBJB
KHHJ@IJKI
KH]H]][@K
KH]HKOQPBL
k)))HHLHHHM
KHHNDMLZQS@K[
KHHOX_]S]
#)))_KH[[HP
KHHPMEBKCSSDXHDGM]
KHH@@ULJ
K[[HHYBKXK
KH])(i)))
]KHJABO@HK_
KhJbJNJ3J
KHJBKEHSLK
KHJBKFGL
KHJBLGMJFFB@L
kHJBMFF[
KHJBMFF[
KHJBMFF[EGB
KHJBMFF[FGYL[E
kHJBMFF[jFDDHGMZ))
KHJBMFF[[LXJALJB
KHJBMFF[YH]ALJAF
KHJBMFF[ZA
KHJBMFF[ZALEE
KHJBv]Fv]FY
KHJCEDNF
KhJcJ[J8J2J!J
_KH]JDZBZ
KH[JEHPZ
khjeikhi
KhJfJRJJJ4M
KH]JFYPKF]
KH]JFYPNF
KHJGZKZK
kH]jHJEZ
K[HJHJLE@BH
KHJJSDNDQ
)))KH[JLEEFZ
]K[HJP[DZ
khjPkR]X
k||hk||||||
KHK[AXDOPP
KH[KH[HY[FN[HDH
KHKHQ@FGN
KHKHYIIIIIIIIIIIIIOIIHIHJ
K)))_H[KJJ
KHKKELJHZL
KHKMPHS_LX
kHKPdH@G
KHKPGHDL
?)))KHKPHYY
KHKPK@EKP
)))KHKPNLH[Z
K]HKPSASAX
K(H;K t3
K(H;K tGH
k)))@HKYHN
KHLEYJ[Z
k(HllllllllmllllOllylm2
kH|llllllllmlll]Y]]
KHL]O[C_S
KH]L[OEP
KH[[LOHLE@
'KHLOHLIJxyx
K@HLOJ@IAKOKAKOxx
')))KH]]L[PEL_LE
KH]]L[PKH[Y[F
kH]]L[Pv|]@E@]PvdH@G
kH]lQ]LGZ@FG)(
kh_LSSPsA
khlSSSSSSSSY
[KHLYBXS
kHMAF@Z]
K@HMCC_MOCO[
khmdjhhe
KHM@FGH[M
KH@MFZZJFD
KHMgAggY
KHMHLA_BX_GJO@B[Y_PO]EPKQO
!)))KHMHZZ
KHMKFQJM
kH]mLEL]Lo@ELZ
kHMlEZL))
K[HMLZJF
K[HMLZJFJF[YF[H]L
K[HMLZJFLDY[LZHZ
K[HMLZJFY[@DL
KHM_M_NO
KHMNLDHN@J
kHMoF[))
K[HMOF[M
khmokdkn
KH_MOQ[A
KHMOSA]SYXYHAXAPGOH
KHMOZCXGOGHKXBXDMGA
K[HMOZJF
]KHMSFZJ
K__HMS[XN
 )))KHMvKF]
kHMvkF]Z
[k[h[m[v[o[c[
]KH_]_MY
kH]nF]hMD@G
KHNJ@[DN_
K[HNJ]ZKLXXA
#k)]H[NL]
k)))]H[NL]
#K)]H[NL]
K)))]H[NL]
KHNOIJOU
KHNSKNML
kHNZhJ]@_@]P
)))KH][_OD
KH]O@ELYH]A
KH]O@ELYH]AT
KH]O@ELYH]AT@O
KH[OM_NADZ
kHPaNeKFDHKBb_WKHNSq
KHPA]XJF@YYHAKC
[KHPGJSZN
kHpgppepq!H
@K[H[PK[
kHQBkBSSBU	es.N
[K_HQCL_CMKE
_K]HQCSAZ
KHQFDPK]Z
KHQ@O]YQ_
K]HQP_]QAQK
KHQQPBJZ
K;h QSSPs
kH]Rp]Z_Z
kHSHeFHML[
KHS@JAJSAMLLG
kh@SPSSSS[CCZR
kHSSH[v@ZFvEGB))
K[HSSL[ZEF_L
@K@H[SXSNZK[
KH]U@CAB
KHXEMXXQQQ
KhXllllllllmllllOllylm6
KHXLOHHFJHP
KHXLOHHFJHX
KHXYK_SBPNKZ
KHXYQZP_MANNPJQ]YZL
:K:Hxyxuy
K]HYB]N]
K[H_YGJXJ
K_HY]G@]OP
@KHYJJFZNO
KHYKNYZCS
KH]YLNOPQO
KHY@M]_DODM
KHYNNGSFAJ[
KHYSAFAG
K]HY[S[B
KHYYQOLS[BBK
KHY[_ZSZ
k)))_H[Z][
@)))KHZA
KHZAA@ML
KHZAA@Z]F[P
KHZA]DYvM@[
KHZAFYLGZZEKHZL
KHZAHYYM@[
KHZAHYYvM@[
KHZA]LDYvGHDL
)))KHZA]LDYvM@[
KHZALJAFUJ[FG]HK
KHZAMEMFDH@G
KHZANFuUYHZ]LK@GuUFG@FGuUKY[FO[uUYP]AFG
KHZAvA@Z]F[P
KHZAvA@Z]F[PUN[LY
KHZAvHE@HZLZ
KHZAvJFDYEL]@FG
KHZAvLG_M
KHZA@Y]HKELZ
KHZAZJ[@Y]vM@[
K[HZBKXMG
KH@ZCJZHNSQ
KHZEHM@D
KHZFGNMSLY
kHZ@JhEYAHKL])(
KHZ@JJFGO@N
kHZKHGBL
!)))KHZL
")))KHZL
#)))KHZL
')))KHZL
((KHZL_@[
:)))KHZL
;)))KHZL
?)))KHZL
)))KHZLA[LO
KHZLA[LO
kHZLDHGE@GN
kHZL|[E))
KHZLE@GL
KHZLGHDL
)))KHZLHGMEFHM
kHZLhJ]@_@]P
((KHZLHMM[
KHZLHMM[
kHZLhMM[LZZ))
KHZLHMM[LZZ
KHZLKHZL
KHZLMH]L
KHZLOEHZA
((KHZLO@EL
KHZLOFG]
KHZL]PYL
KHZLvBLP
KHZLvM@[ECH_H
KHZLvMPEM
#)))KHZLYH]A
KHZLYH]A
KHZLZ][LHD
;)))KHZLZL[_L[
@KHZLZ@M@DJLZ]H[]
KH[[_Z_NCH
@KHZ@NOK
KHZPSJDMYLSN
k)))HZZ@NG
[[[k[[[i[[[
KI5P"A7?G
kIAAAA@AAAAAC
KIAIKIHKIlI!IPI
KIAIKIHXIRI
KIAIKIIBI
KIAIKIIDI
KIAIKIILI
Kib3ugfG
Kib3ugfG!
KIbIzINI
kicgfG"R
k||id||Id||)d||
KIdO[[[T[[[
kI(egfGH
KiFastCallEntry
]KIfgfGJ
]Kifggfw
KIfIQJBII6I
kIg-cggG@c5
KIGIMIIvI
K?IHHIYIIIIIIIIIIIIIJIIIJgIcI
k|||i||hi||
KII6IsIOIJI
KIIBI;IKIXIdII
KIIdIIPbI
KIIdK[[[
KI(IGIHIIXI
KI IGIMIIXI
KII@I5MbI
KIIIIHo[
KIIIIIIbI
KIIIIIIfI
KIIJ*)H0
KIIJIcIHI
KIIJI	IbIKHEI
KIIJI	IHI
kIi	kIi5kIiUkIimkIi
KIi-KIiQKIi
KIILIEHbI
KIILIEHbI3IBI
KIILIEHbICKBI
KIILIEHbIgKBI
KIILIEHbIWHBI
KIInIeHBI
KIIVI[HnIIIIII
KIIZIOJnI
KIJ8J.J'J
KiJaJ]JEJ1J
KiJaJUJMJ1J)J
KiJeJMJEJ1J
K:ijggfwh
KIJIIH	G
'KI@'JIMyx
kijPkR]X
KiJRJGJ-J
KiJYJDJ2J M
KiJZJ8J5J
KIKHIIIbI HHI
KIKHIIIdII
KIKHIIIdII7LIJIIH
KIKHIIIdII_MIJIIH
KIKHIIIdIIWMIIIIH4e
KIKHIIIKI
KIKHIIILIIII
KIKIhIfI
KIKIIIIbI
KIKIIIIfI
KIKIRIfI
KIKISSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
KIKIxIdIIPHIJIIH
killllllllmllllOllylm
K?illllllllmllllOllylm
KillTimer
';KI@LM9Nxyxvy
KINg'dgfG
'KINHN9IKxyxpy
KIOKKyxhy
kipgppepq
Kipgppepq
#k|i|qXxyxx"n
kirkELVjkkjkmkkkkkk
KISSSSSSSSSSSSSSSSSSS
KISSSXSSSHSSSSSSSSSSS
KISSSXSSSHSSSSSSSSSSSS
KISSSXSSSHSSSSSSSSSSSSSSSSS
|k|i|Tnq
@@kITSSBTUJ9
@Ki!VP@@@@@m@@A@ADac
?K...iwyy
?K..iwyy
?K...iwyyQQyyhI
-||k.||J.||*.||	.||
';*;KJ'(
K[JABEEHJJY
KJACKHXMA
KJAD__LZXB]N_G
k)))JAH]][
K[JAHMOC
K[JAJBJM
KJAKOLOA
K[JAXHQP
K_[@JAZ@NDSPYLBQHHSM
KJBAPXSAL
KJBFZECCYDGE[JQN
KJBP_]MCX
_KJBSBYD
KJByxoy5
K_[JBZJCAKPQ
KJBZSZBSLXMMNBA
KJ]CA[OOX[OQMA
KJCCX]KSDQC
[KJ_C][F
KJCGMGCBA
[KJCLGNSNB_BXD[
KJ]CQLLGSHQ
KJC]X[]BP
K_JCY_ALHM
KJD[AKACSZQNXKMDA
kJdB[[[6[[[
k||jd||?d||
kJdH[[[:[[[8[[[r
kjdkdnnd
k||jd||Md||2d||
kJd@[[[n[[[
KJD@OCOG
k||jd||Od||2d||
KJ]DP_PGDD[
KJD]QNYNS]SX
[[[KJ;dV[[[
[[[KJ;dV[[[.
kJdY[[[S[[[
KjeC[[[K[[[B[[[
k)))JEHZZJEHSS
K|JeJXJGJ:J-J
KJ[ELLY_C
KjeL[[[p[[[v[[[
K@JENGKBKGHHZB[SFGD[LPP]
]KJ_ENYQG_
_KJ[EOFKCO@EL
kjeolemk
_KJ[EO]ZF
KjeV[[[Q[[[W[[[
KjeV[[[T[[[
KJEw@LG]
KjeY[[[|[[[
KjeY[[[m[[[
Kjez[[[P[[[
KJEZ]PKZ
_KJFDYFGLG]Z
KJFFEHYY
 )))K@]JF@G
K@]JF@GHE@LGZ
K]JFG][HJ]
K@]JF@GJF@G
K@]JF@GJHZAUKJA[LNUKJA]LZ]
K)))JFG]LG]
k@]jFG_L[]L[))
k@]jFG_L[]L[|@G]))
k@]jFG_L[]L[nL]kP]LZ))
)))K@]JFG_L[]L[t
K@]JFG_L[]L[t
K@]JF@GMLZJ[@Y]@FGHMM[LZZHM]_NMA
)))K@]JF@GX[NLG
#)))K@]JF@GZ
K@]JF@GZ
k)))JFYP
KJ[FZKOG]BZ
KJGFCN[MS
KJGHACBG
kjgowggGX
Kjgqgg7[
KJGQXY_ACYF
KJhggfw6P
kjhhlimkv	
KJhJ]@_@]P
KJHKGAMSMLOLAHYS
K[J@HPODJQXHM
KJIANMHOJJ
kJIdX[[[
kjihonml
@KJ@JAOU
_KJJAYZYK
KJ_JBOS]]OYEKO
KJJBP]KHAN@@QK]H
KJJGOYPP[PQMG
KJ]JHCMF@]
_KJ[@]@JHELGM@O
kjjjjbjjAB
KjJ_JMJ9J
KJJKKK[[
KJJKQCJZD
KJJLCPC]X
K_JJL]LOJC
KJJNXQJS_
]KJ_]J[P
K|J[JRJMJDJ?J
KJ_JXDAPN_XX
KJ@_JYKJHZAMY[GQ
K@JKAYZJ[
kjk*cqeR
KJKJJMML
KJKKGDS]ZKAJ
KJKL[AP]G
K*JkMXOSOHO@O
KJKPBN[KCSND
?kJkQ]Sq
KJKSXZ@PS
KJK@Y_G_GZG
]KJLB_MC
K[JLEJuM_ZECQSYBPAQC
]_KJLFXYHY@
k)))J[LH]LFKCLJ]
K)))J[LH]LFKCLJ]
KJLHZYBJB[
KJLK_ABGM
KJLK_J[XMGH
KJ[LKND[
KJLKOJKK
kjllllllllmllllOllylm
kJllllllllmllllOllylmih
[KJL[OMLON
KJLPY]CMKKJ
KJLQJ_LXZ
kjmbcyVQ
)k(j(m(g'o(p(b'r(
K|JMJ:J#J
")))K]JM@[LJ]
kJMLM@]))
 )))KJMLM@]
)))KJMLM@]
KJMLOXDZZM
KJMNASKQKGM
KJMP]D[YCNSBL
k)))JMYGZJHG
KJMYPBXJ_
][@KJNFC@Z
KJ@NLBLZE[GHXDQ_ASLN
KJNMYXEFG
[[[KJNNK@PKX[LJ
_KJ]NNXFHO]
KJNXMSHSPN
KJ[OJSBJFMP
KJOKNXDJ
KJO]OB[D
KJOOLZDEA
K@_JOQYBN
KJPADZEMPLF_
KJPAGLYSLL]CQLZJJ
KJPGJ_OK
KJpgppepqs
KJP@GPXE
KJPKAFP]S_S
KJPKGZPEP[OYGB
k	jPkR]X
k jPkR]X
k!jPkR]X
k#jPkR]X
k'jPkR]X
k(jPkR]X
k)jPkR]X
k*jPkR]X
k-jPkR]X
k.jPkR]X
k:jPkR]X
k?jPkR]X
KJP_L_[BAEPP@H
KJPMGHBYPD
KJPM_M_JSK
kjPSSUK9
KJ[PY]FYLGHENF[@]ADY[F_@ML[
K]JQJAHGNL
KJQSK_[HBJBZOBXFNC
K@JQS_NK
KJSBHHKXLM
]_]KJ]SBPS
KJSH_KOKCYC
K]JSJKQJH
KJSMJGQDYC
[KJS_XGXY
KJSXPZMPJZ
K]JSZAGA_CAPLXGQ
K[JSZ[DGQAPHGOA_PQ
KJS[ZKQH
kjtpgppepq
kJt@XA@O@AEac
KJULOMOU
KJVxyxty]
KJW252V;
KJW252V4
KJW3?KJV9Y
KJW3?KJV;Y
KJW3?NLV:Y
KJW3?NLV;Y
KJW:9:9*V:
KJW*;LV*
KJW*;LV9xrxpy
KJW.:V0xyxXy6x
KJW.:V93?xyxpy
KJW.:xyxry*
KJXBD]PEN
KJXBNYYN
KJXD]PALH
KJXEQHB[P
KJXSYYM@P
]KJXS][YZS]YJ[MDSHYAZ
KJxxxx''
KJxxxxkzxVy9x
KJxxxxuxxx4
KJxxx]Y]]
KJxxx:yx
KJxx]Y]]
KJxx]Y]]lkY
KJxx]Y]]-(Y
KJxyxqy?
KJxyxqy5(?-
KJxyxsx0:3
KJxyxwy(
kJ[@Y]a]]YfKCLJ]l_HE
KJYBLJOZ
K[JYBYMBAXF
K[[[]jYd_[[[
KJ@YEA]PNS
KJYHNOHDHP
KJYJON_A[M
[KJYKNO_GK
KJYMBMSHHO[LZQD
KJY@MOBPJ
KJY[PD]Y
KJyxFy5x
KJyxpytpXx
KJyxpyXxTyx
KJyxpyXxXyx
KJYXQ[OJ]M
KJyxqypXx2yx
KJyxqypXx6yx
KJyxqypXxTyx
KJyxqypXxXyx
KJyxqypXxzyx
KJyxqyqXx
KJyxqyqXxTyx
KJyxrytpXx
KJyxrytpXx:yx
KJYXSBYB_MCJJJA
KJyxXy!x
[KJYZ[LAJDKZSE
KJZGHNOBSB
KJZG@YL[H[]
KJZJG[BZ
]KJ[ZLND
KJZQJCAZZ[K[Q
KJzxcyIAAMUJHHJX2
KJZXNY_]DPZSZL
KJZZ[FBFLKLZ]
_KJZZXLAZLDH
KK9F	?*)
KK]AACOAXGOZS[JYQ
[KKAHDQJ
)))KK]ALF]]FDHGMFGL[
KK]ALF]]FDHGMFGL[
@@K@K@@B@A@@
K_KBAFXMYHLPJPSD]O
KKBBOMPP
KK][]BB_ZCO@H
kkBdgfGVcYngqgg
KKBEOLC]G
KKBFJGJKFLZ
K]@KBKBQCXG
KKBN@Q@X
KKBOEPMH
KKB]OPN]Q]_H
kKBSSBZK9
KKBXB_OXHGN]O_[OA[D
KKB@@ZK_CK
@@K@KCac
K_KCBYLY_
KK[CD_B_
K[_KC_GA
KKCHBB_FG
KKCHN[NBD@Y_]GZH]@
KKCHY]@]SYOQJ
kkckilch
@[KK[CMSLXQPOY
@KK]DG]O
KKDHASKXL
kKdH[[[x[[[
KKdJ[[[B[[[
KKD	KKOK
KKDKMS[BNQ[J
KKD	KOKKDPKKKQDK
_[KKDNSP
KKD]O[BOPYZ
KKDOXNMK@S
KKDSO]OX
]KKD_[XPOZAMX
K||kD||YD||OD||CD||7D||"D||
KKEHDGKHK_
KKEKFKAK
KKELMHKSBN
KKFEAE_K
KKFHKJ]Y
KKFOXALS
[KKFZYAKH[K
KKGBAQASA
KKG]DOQSK@J
KK@GGKNMX
KKGGN_]D
_KK@GH[PJFDYH[L
KKG@JFEL]]L
K@KGKMKFJ
KKGLXCKA
]KKGMDHGJD
("KKg!sgfG
KKguegfG
KK[GYBZ_
kKgYkgfG[
KKHFB[HGCDLKL@@MELD
[KKHNHNC[S]KJGCNSDN
K__KH[QK
[KKHYLN@HSGZZHAX
]K[KHYMC
kkicgfGc
kkicgfGi
KKIdHOI@I
KKJHKELGL]
KkJ_JHJ8J'J
kkjjjbjjAZ
KKJJJJ9UKK9KUJJJJU9999UK9JJ99KKK
_KKJK_KG
KKJQL]OP]HJQK]MSM_C
(k*kJ]R;
)))K[@KKEL
KK][KFAJS]XPG_XB
[[KKK[GFJKBMMPSAJ@@L]Q
KkKgKSKOK;K7K#K
kkkiyu?77
kkkjyu?77
KKKKCCCCCCCCCCCCCCCCC
kkkkccxxx
[k[k[k[k[k[k[k[k[
K;K;K;K;K;K;K;K0K0K
KKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkJ
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkJ
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
KKKKKKuQ
'KKKMMKJAxyxry
'KK@KNK9;xyxpyD
kkknyu?77
KKKOOOMAA@J5O")
kkkoyu?77
]KKKQ]SXZ
KKKXASKGCC
KKKyxry.	.1
KKKZZOYCE
KKLE@EZKA
KKLE[LMN
KKL_[G_N
K@]KLHBL[
KKLJBEL[i@G_LZ]F[ZKHGB
KKllllllllmllllOllylm
KKLOAZSZJLNMHSO
K_KLZLJBMXDQ]LD]AN
KKMD[NQDMNZE]SE
kkmgfGj!
k)Kmggfw
.KKmggfw
KKMHLA[Z
KKMMXOON
KK[MN]PM]GPS
@KKMOLA@X
KKM]XC[]
KK]NASGG
KKNDKNK[DKK
K]K]N]ENX@CYS]MQB
KKNGNQDSG[[S
KKNLCZMJ]CLY
KKNM[HNKL]
KK[NNLF]
KKNQ_KBKF]@
'K::KO9O9xyxhy
KKOBNBGDCS
KKOCCAHDH
K]]KOCHAQS@NCQ]ON
KKOJJ]S]KKMJ
KKO@]KEFNNL[
KKOMXPKOS
KK[O_NMOESY[CPZNLHQS
kKpgppepq
KKpgppepq
KKPNDQ@XKQ
KKPPNHQZJXN
KKP][QNF
@KKPZEMXHY
KKQCEL][M
K[KQDABM[BB
K[KQFLQZSLOZHHHYF
KKQGY_Q[YKAD
[KKQJP[HJCKL
KKQNSQBC
_KKQYBGAQOPJ_EFDJZK
KKQYHHYOH
kK]Rp]Z_Z
KKSKFZ_N
KksllllllllmllllOllylmXg
KK_S_NHS
KKSYKDJLL
KKv[LJL@Y]
[k[k[v[m[m[h[
KKXBD]O]
KKXDEUCFCM
KKXLKHEBYY
K[KXO]_A@Q
KKXOZ]H]]BD[QCY_
KKXQKYNG
KKXS_XXP
KK[]XYXXZ_AOPXP
KKYBQSGH@L
KKYJSX_SKL_
KKY]MPNQ]NB_DFSL[
[KKYNCZSOK
KKYQ_CEQ
)))KKYX]O
KKZCS]HSGNHGXAYOAGFH
KKZEBQ@CY]S[
K_KZFXMD[HXSBC
KKZL_GMLHBO
KK@ZOMMPB
KKZQO[GE
k|||l||||
k|||l||||||||||||||||||||||
k|||||||||||L||
K#)||||l)")||||@
kl9gqgg	
KlAAAAQA@AZq
KL@AA[CMPS@
KLA]FXHHHHYCDPSGDLXE
kLA@GML[zALEE
KLAH_@F[
#)))KL[AHZ@E
kLAjF[FGH))
KLAMxx]Y]]GcY
KL]_AOPQ
KLAOYG[CXDK
KLBC_PONG
KL[BHAY[@DHNLD@EHGN
KL[BM@ELELB][@B
K_L]BQPP
KLB_XZK]PH
KLB]YL@L
kLcgqggnq
KL[CHC[HK
KL]CLG@GNZACML[
KLC[P_FGCDQ@
)))]KLCX
KLCYCSZPGPMK_KYH[
KLCYZZLBK@K
KL_]DELAP
K)))[LDF_L
KLdH[[[.
K[[[ "LdK[[[
KLD[OMEBE[
k:Ld_[[[p[[[u[[[
KLD]QB[MG
KL[DQGOG]PCGY[PY
]kLdZ[[[*[[[
KLDZLQYF[]
!)))KLEB@G
KLE_C_]NEY[
kledlmoj
KLEEHZLZA
KLEFGNZ]F
KL_EGNMQ
)))KLEHGMLZ
;)))KLEHGMLZ
KLEHGMLZ
KLEHPHNF[PHJABH
k[[[?[leJ[[[j[[[h[[[
KLELSHE@]L[H[@H
kLeL[[[Z[[[r[[[
_KL_]EMF
KLEN[FZZ
kLeN[[[m[[[b[[[
kLeO[[[e[[[
K)))LE@OJFDDHGM
_K]LEQPY]OKX@
KLEUKJIyxjy9
KLEUKJIyxX
KLF_GHHO
KLFLSPKM
KLF__NDJD
[KLFPAJY
KLFQ@ASXZ
KLFQL__XGZZYDFXF
_K_LFXHHZ[_OZ
K@L]GCSLQM
klgfG3wT
klg	@gfGfp
KL@G[GOPKO
KLG]GY@Y
K[LGHBCP
KLGHKHZL
KLGJAE@GNZ
KLGJL_LGMLNAHS
K@LG_LG@MFH@G]L[GL]
K[LGMFGFJFGGLEE
KL?)g-mgfG
)))K[LGMHGJELH[P
K[LGMHGJELH[P
KL?gqggL
KLGSQAALLH
K@@LGYGZGBBP]
K@@LGYGZGBBP]T
]KL]G_ZCQ[AYZYLCEXNNEDMYZAH
!)))K[LHB
K[LHB@GNFO[ZH
K[LHBKEFJBH
K[LHBLQJLY]LQJLY]@FG
kLHBpH[M
K[LHBTJH]JA
K[LHBTJH]JART
K[LHBTJH]JARTT
K[LHBTTBLP
K[LHBTTMLEL]L
K[LHBZPZ
kLH[DFG]
KLHJAJFGLJ]@FG
!)))KLHJFG
KLHJFG))
klhkknmd
kLH]m[FY
KLHMK@NN
KLHO[[H]
KLHO[YNA
KLH]PHDL[@JHG
K[LhSSSS
#)))KLH][@ZB
K)))LJAF
KLJAK]JPHK
Kl]JHJhggfw
kljndoee
kljOkI]X
KLJXMDHBKOE
KLK[CAYSXG[
klkcmknj
KLKFXSMZOZKDM
klkhedii
KLK@HNJM
K[LKK_D[
K@[LK@[LN@]@D
K][LKNQYCJ[
KLKXKLK[PGM
KLLASGS_
KL[LBL]AHKL[
_KLLCHQS
(*KLLGHJJLY]LM
KL]]L[GL]
KLlg#ugfG
K)L!LiOyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
KlllllllllmllllOllylmV3
kllllllllmlllHMO 9-V.
kllllllllmlllIMO8) V8
	kllllllllmllllOllylm
"'kllllllllmllllOllylm
#kllllllllmllllOllylm
[kllllllllmllllOllylm
k	llllllllmllllOllylm
k?llllllllmllllOllylm
k|llllllllmllllOllylm
kllllllllmllllOllylm
kllllllllmllllOllylm)
kllllllllmllllOllylm;
kllllllllmllllOllylm_
kllllllllmllllOllylm|
	KllllllllmllllOllylm 
!KllllllllmllllOllylm
(KllllllllmllllOllylm
@KllllllllmllllOllylm
_KllllllllmllllOllylm
K#llllllllmllllOllylm
K*llllllllmllllOllylm
K?llllllllmllllOllylm
K[]llllllllmllllOllylm
K]llllllllmllllOllylm
KllllllllmllllOllylm
KllllllllmllllOllylm(
KllllllllmllllOllylm*
KllllllllmllllOllylm.
KllllllllmllllOllylm?
KllllllllmllllOllylm]
kllllllllmllllOllylm0
KllllllllmllllOllylm[1
KllllllllmllllOllylm2
kllllllllmllllOllylm3
KllllllllmllllOllylm3
K:llllllllmllllOllylma
KllllllllmllllOllylma
kllllllllmllllOllylmc
 KllllllllmllllOllylm;c
kllllllllmllllOllylmD3@.WXz
KllllllllmllllOllylmf
 KllllllllmllllOllylmF*
KllllllllmllllOllylmF
KllllllllmllllOllylmF*
KllllllllmllllOllylmG
kllllllllmllllOllylmg|4
k'llllllllmllllOllylmh
!kllllllllmllllOllylmjn
KllllllllmllllOllylmk
kllllllllmllllOllylmm
KllllllllmllllOllylmm
KllllllllmllllOllylmM
KllllllllmllllOllylmmp
@kllllllllmllllOllylmn
kllllllllmllllOllylmn
kllllllllmllllOllylmN4]
KllllllllmllllOllylm]nz
*KllllllllmllllOllylmo
KllllllllmllllOllylmO
kllllllllmllllOllylmo"fK
kllllllllmllllOllylmp
KllllllllmllllOllylmQ
KllllllllmllllOllylm?r
K@llllllllmllllOllylmrG
KllllllllmllllOllylmS
*KllllllllmllllOllylmSI
KllllllllmllllOllylmT|
KllllllllmllllOllylmV
kllllllllmllllOllylmW
KllllllllmllllOllylmw
KllllllllmllllOllylmy
kllllllllmllllOllylmz
k!llllllllmllllOllylmZ
KllllllllmllllOllylmZ5Z"
kllllllllmlllwMO8) V.
kllllllllmlll]Y]]
	Kllllllllmlll]Y]]
Kllllllllmlll]Y]]
kllllllllmlll]Y]]w
Kllllllllolll
K]LL_M@LFHZ_PNY[Y
KL@LMQHKAH
)))KLLN][HM@GN
k)))L[LN@Z]L[
KLLOY[FCLJ]
K[LLS@EPK
K[LLS@EPS
KLLWKLLWKLLWIyyyHLNWMLWMHWHy4
KL@LXSN[[L
KLL[ZL[_L[
kLL[zL[_L[hJ]@_@]P
]K[]][@LM
k||lm||bm||
k||Lm||Bm||
@KLMFOZDB
KLm[FYYL[
Kl)mggfw
KLmguuffG
KLMJZLPY
KLM@@[KDH
kLML_L[L
KLMM@GNL
)))@KLMP
K_LNAONZ
KLNBQYS[
KLN@GDHSLBLP
KLN@G@G_FBL
KLN@GJFGGLJ]
KLNGJ[[Z
KLNGNMOD
]KLNGZD][
k)))[LNHMM
K)))[LNHMM
KLNJGNHMC
[KLNKHBCN
KLNMNF_QC
#)))KLNN@G
_KLNS]S@DBNF
KL]NYNDPZZZEXXXMCPB
k)))[LNZ_[
K)))[LNZ_[
KLODME[BX
KLOF[LLGM
KLOF[LZLGM
KLO_GD@YZX
KLOGYDAK
klohjnmblyVQ
K)))[LO[LZA
KLO[OJMOD
KLOZ@BZ_SE[JL@BM]
kLOZH_LJ
K@LP_CBAP
KL_P[_CX
Klpgppepq
KLP]NMZS
KLPPNLBYCDPJBC
kL[[PzDHZA
K@LPZXD@GZ_M
KL]QCHGMCBJ
KLQ]E@OL
K@L[QEP@BYF
_K]LQ]JFDYH[L
K)))LQLJ
k)))LQLJKPYHZZ
K[LQX[CD
KLSFZN[L
KLSFZSGNSCG@Y
)))@KLSKB
#klSSSSSSSS	
k*lSSSSSSSS
K lSSSSSSSS
klSSSSSSSS4v
klSSSSSSSSSSSS
klSSSSSSSSSSSSSSSS
klSSSSSSSSSSSSSSSSS
klSSSSSSSSSSSSSSSSSSSSIo
KlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSB
KLSXQODXZG[GDC@
KLSY[GCCB
KLSYS]SHD
klU@@@@@
[k[l[v[o[k[k[
KLXCHSEGP@OAZQXL]M_H
K]LXEANQ[
K]LX[[GLF@
KLXHDQYXJ
KLX@JHGPA
KLXO_FLZ[Z
[KLX_ZADPJ
K#l@@@@@y@@B@ACac
kLyggfGkz
KLYP[AE[Q
KLZAHNJBY]G
KLZ]APK[@MJH[
KLZDAACH
KLZ@DF[A@GF
KL]ZDH[]
KLZ_F_D]
KLZ]FO]ALKLZ]]H]FF
KLZ]FOOL[S
K@]LZ]HG
KLZ]H[]@JELKEFN
KLZ]HJ]O
KLZ]MLHEZ
KLZ]NH]L
km9gqggL
KMA]_D_MF[
KMAHS@O@
K_MA]LD_JSCBD
KMAN@BQSMDB]X
K_MAONECLBPHGCOG[ZC
KMAZ]FGP]JO
K_MA[ZZEK@MOD_[N
)))KMB@FZA
kMBg;NgfG
KMBMDMLO
@KMBPJ]]
KMBYQZPLLKSKKDND[Q]]NYJKKBLMYB
KM_CKSBCYAZCL_
KMC]QGMM
KMCQGMQE]N
]KMDB_F[
KM_DDLBFCMKKZD
KM[DDPDSYCGL_LZZPPCG[
KmdfMajor
KmdfMinor
k@[Md@GL[
_KMDHB@HQJ
KMDJMH][OMC
KMDJXZAL
KMdK[[[v[[[i[[[
k*MdM[[[
KMDMZSENC
KMDP_Y@NBLHAS@B
KMDSYQA]AX]D
KMD[XP[S
KMDYE_D]
KMEJBAPSCANJNHONBSQY
KMEJSMZD
KMEJYMFXXNKFAP
KME[LCSAB
]][K@ME@PF
KMFO@BBC[MZY
k)))M[FYYH]A
Km?[g1tgfG
KMGCFB][
kmg'dgfG
kMGegfG L
:k*!mggfw:"
	Kmggfw_
.K!!mggfw
Kmggfw*#
Kmggfw:#
Kmggfw0L
Kmggfw6p6s_
KmggfwaQ]
Kmggfw;c
KmggfwC2
Kmggfwiw 
KmggfwJ2
KmggfwjG
KmggfwK(
Kmggfwl@1
Kmggfw!N
Kmggfwp9
KmggfwQF
?-Kmggfws
K!mggfwV
)Kmggfwy
"KmggfwZEp
KMG[HGO_
K]MGHYOLECSQ
K'mgKkgfG
KMGPXHP_AAONY
KMGSBPJGJ
K_MGXMG[L
KM][[H[C
KMHCOFBA
kMhgqgge
#k)MH]H]PYL
kmhjoomm
k)))MH]L@
)))KMHLBHZXHYHJ
KMHMQB[ZZ
KMHM]_YKLE[HQ
KMHNACDFMDXL
KMHPGEYBZMFA]CG[O
)))K@MH[YHGMH
KMHZ]J[_KD
[k[m[i[c[
K)))MJALG]L[Y[@ZLZ@GJ
KMJDP[B[@[@[]G
KMJDYOKGXNQCQG
KmJeJQJ9J1J-J
kMJgqggD
@KMJHXKD@M
KmJIJ-J	J
KmJIJMJ5J
KMJKFPPGN_YL_C
kmjMkO]X
KM[J@]MZC@QPBKKLZ
KMJSNAZCGN[SS]]B
'K;;:M;K9xyxjyVx;x
KMKDL_CS
K[MK[N]C
k||mk||Vk||Dk||0k||
KMKZZAG[KH
K_MLAMZJ_G
KMLHAHA_X
k)))MLJEH[LY][ZHOL
KmllllllllmllllOllylm6
KMllllllllmllllOllylmW0
k@]MLOLGML[
K@]MLOLGML[
K@]MLOLGML[v
KMLYDBJD[GPNK[MMPN[GC
KMLYZKJ[HH
KML[ZDOGSSASNNF
KML]ZPAM
KmMdY[[[u[[[
KMMKOJOM
kMMOMMMOMOMMMMMMMMMMMgOMM
KMMX_G[B
[KMMYPL_
K-M-MZGOMEGTK
KMNBDQSCCC
[k[m[n[h[
KMNJNUJL
k[@MNLBLLYL[
K_MN@LCO
***K@MNMG
K]M]NPH[NH
@KMNSC[NJCC]KC
((KM]OANPNLNAMY
KMOA@ONOMKN@JLIxyxNy
KMOBNMZCP]SMZZJDC
KMOHMXXG]
KMOK@@HyxY
KMONNNJOZZHO]
KMOOFQXKKB
	km-O*xgfGG
KMOXMDJO_OAQY[JP
KMOZFHAXJ
KMOZ][ZPBM@
KMPDCDGXXSCJED
Kmpgppepq
KMPHE[SMD
KMPHKMOAPOMAZYCJ
[KMP]KZ_Z
KMPQN[YX[FBQG
KMPQXLGBA
KMQAKK_J
KMQALGJGSSXNQOPZLGDMP[EDM[LS
KMQAY_LHC
KMQAZPJJYLJGMK
KM_]QPHNH_[K[MK
kMQSSBUEepBUF
k|||m||rm||
KM]S@D[CL
K]MSD_EPS
KMSKSQCYMHKYA]]Z
KMSL_OL_KA
KMSLQN]J
KMSOPZLP
KMSPQCHJF
kmsr_t::IA32_PERFEVTSEL0
KmUgqggx4P
KMXDGSENY
KMY[F_@ML[
KMZASPL]J
KMZCCEPZ
KMZEBMMXSY
KMZJKPJABQOQJE
KM[ZJLAON
K[MZQDYA
K[[[MZXdK[[[
kMzYEF@]
)||k*||||||||||N*||-*||	*||
[[[K[[[N[[[
Kn1dZ?JI
KN4gqggi-#GD
K[[NAAD[MC
_KNABS[NOZPD
[[[kNAdM[[[
KNADQHCJ]
K[@NA]GLZZ
KNAJXJP]]LCZPA]
KNA@LUIKM
K[NAN@L_
[]KNAPOM]
_KNA]PZ[
KNA[SSHDK_
)))KN@BDBB
KNBESB@J]L
KNBOLHZS
KN@_B]QH
KNBS_BOYNC
KNBS_HJH
KNBXBGHN
_KNBXJGL
K_NBYQSMHKLP
KN][CHAYN
_K_NCLMY@N
KNCLP_GGLJQ_A
KNCX]P]G
K[N[DALQ
KNDDYCG[
@KNDKPJD@Z
k]NdL[[[
KN_]DP_MG_
kNdQ[[[k[[[
kNdU[[[M[[[E[[[
k||nd||XB||Xd||
KNE@ENCAJ
KNEFNO@EL
kneheoehi
kneiookn
KNE@MXYDJD
KNEPAC@AQPAPJO
KNF]ECJN
KNF[KNLLHP@
K_NGB_@]KM_Z[[KBDG[
KNGCXBM]
KngfG1pl
KNgfGQmY
k)))@NGF[L]FZB@Y]A@ZO@EL
kNgGcgfGN'
KNG@HAOP]C
KNGL]GDDMH_HN
KNGO_GN[DBXZFFA
KNGOM@SYZDE]
KNG@P]FE
Kngqggbly
|kngwkgfG
KNGXDHONCPXM]CBXZM@]DNXGY
KN]_HH@Z[XDC[YQ]DNYQD]
KNHJHFKPS@M
KNHO[Q]K]
KNHSZZS_]LE
KNHYSM]FPNGPXJ
KNHyxoz:
KNHyxqy0
KNII0IYJI@I
KNIyxTyHx
KnJeJRJMJ8J5J'J
KN[JEPC]N
]KNJGCKF
[[_K_NJ]K
KNJLY@SF
knjMkO]X
KNJQEF[HMB_L]
KNJ]XSBPD
K_NKC[NDD
#kNk'dgfG
K@NKEFJB
KNKEKKKDJ
KNKEON_Q@B
K@NKFFKZY
K_NKGFJKXJJN]P]OE[
K]NKMBAG]@S
KN@KOHIUAH
KNKOMZDSHC
knkpgppepq
K[NKSOAN
KNKZB]HXSLXX[KFQHDZXGL
KNKZY][]Q_@
[KN]LAGGX
[]K[NLDC
k)))NL]FKCLJ]
KN_LGQYYF]L@AYQ
)))KNLH@HHHHHHH
KNLJZHBYK[[L
k)))NL]K[HGJA
KnllllllllmllllOllylm
[KNLML[]
KNLQSSGJO
KNLZDNNH
K@NMBDP[LY
KNMBQAQNA]Y
K@N@MLHZ
KNMOFGZY
K[NMPPOSDAJPQSHPN]B
KNMQAFXSY_N_[H]HDBDS
KNM]SOMF
KNM]SOMFKOXSM
knndiilo
KNN_JAP_AZXM
KNNKN_Z_XYY
KNNP]CZ_Z
KNNSADPX_
K]N[NZNMPAP]HASA
_KN]O[A[
KNO@AMIHHLH
KNOAZOHBH
KNOIOOIH
KNOL_K_OM
k)))NONKA_KJCNP[P][NO
KNOPJJNKM
K[NOQKZS
K_NOQMM@_CSK
Knowndll
Knowndll16
KNOYOD[S
Knp2-D3m
KNPB@DLJAL
knpgppepq
KNPJLJXJ
_@KNQBCFQ_SMP
KNQGZ[]C@BN
KNQKLYQY@
KNQOZZMZ
KNQSB@QYMN
KNQ]YLCXD
KNQYMD[NEMSC
KNSDCHGAPKQDOM_Q@HCKJQQK
KNS_KZN[
K_NSMKOC
KNSPELDK
knUFS_strm
KnUFS_zoo
k|nuSipqpq
K|nuS|qo
K@Nv@GvCHYHG
KNvN[HM@LG]
KNvN[HM@LG]vEFN@G
kNV*YK"T4
KNXGNK_]
KNXKNBCHZAN@SKMBZGF
KnXRSS'LnXQSS'V
KNXXXGXY
K]NXYZLH
KNYAMM]C_]CQBBB
KN[YBYC_D
KNYC@@H_
KNYD]LCOOPJZXDC
K[NY[GDPMYAEX
KNYGPAYXZE[
KNYJZSJA
KNYMHSZ[BPZ
KN_YNS_KAOBCS
KNYSQHZMPKO
[KNYXKKPZY
KNZA[]KYAZ@QMQ
k@NzELLY))
K[NZ_HPYF
KNZHY@MYLA]
KNZOHS[AJ
_KNZ@QZFMCA
kO!7H6g3bgfG
;kOAAAAAA@AAAAACQ
KOAGAH]AHKND
_KOAGFFD
KOA@IyxH
KOA@Iyxw
K][OBDKB
K#ObkgfG
KOBQ@DJPP[@Q
K]OCBOCGDHO
[KOCCAL_X]O
ko]CCNCCCBACC
[KO]CLQYA
KOCOMCGD
KOC[]ZJOC
KODB[QZAJPEEPM[]
kO[DdH@G))
KOdF[[[z[[[
KoD"gMkgfG]
KOdJ[[[C[[[
KODKFMNHZMBYZ
[[['kOdM[[[
[[[?KOdN[[[
KODQKNQOSXP
KO[DSGDYE
KO@DZ__]
K]O@ELYH]A
KOEMH[KSM
koeonjdj
K@]OEPL[
K)))OF[DDL]AFM
k)))OF[D@M
KOFGLLHYH
KOFH]AH[
K)))OF[H]]LDY]@G[HGNL
K@OFJ]QB
kOFMALEY))
KOFMALEYL[
K)))OFNLNALAML]P
KOF]SAG_H]MM
KOFX[_QBG
KOG_BKQD[KM
KOGDPMYZNSFQ_[
KoggwXVH
KO@gKkgfG
#)))K@]O@GLQ
K)))O@GM
K@OGMBLGDGPZCSYG
KOGNQHKYPF[D
KOgqggKSl
KO:gqggN
KOGQHG[XMPH
KOHGADBJX
kohnbncj
KOHONH@HHFHJNHKNK
kohoohjm
KOHPSH_C
KOJEJ8J3J
KOJG[GKN
KOJHQLOBDP@BZOGH
KOJPCDKKO
kojPkR]X
KOJXXZXNN
KOJZMPXJ]Z[
]KOJZYNQED
_KOKANAAAP
KOK]AOXPD
KOKBKHKEJ
KOKBLAQG
KOKEKHKZKAK
KOKKIMIILHI
K_OK_LMD[
KOK[]NXE
_K]OKZPHA[K
KOLAOLAO
KOLDPSS_@
K@OL_D@ZF]KN
KOL[EPBNF
KOlgfGTvGggqgg]
KollllllllmllllOllylmQ
KOLOSYZM]
_KOLP[YPGDZLOB@JLHM
KOMANSCBBNAB][
KOMBMMQNS
KOMDNB_P
KOMGYKYYLCLSY
KOMLLDPZ
]K[OMOMNJMNX
KO_NAN_O_LA
koncnbhibyVQ
KONECHCNDC
[KO[NONJF
KONP___B
KO]]OABL_XJ
KoogUcgfGn.
KO_@OHK]
KOOHLxyxky
KOOHXKG]AAS
KO_OX_[BG@YZO
kOpcgfGNa
K_O[PEH@BD_GP
KOpgppepq
KOPKBXCZQNQD_Q]@NNPDH
KOPNQ[HS
KOP]PQPKKGO[B
KO]P[QMME
KOQEMNOX
KOQO[]KC_]
KOQQ_]]]
_K@OQXNPHM]XQH
kORGOpACK ;  
kORSSALI
KOSBADMPNL
KO_]SGHJ@K
KO]SHFFAHHSXKL
KOSHHLHCH
KOSKPLBNP
KOSNSJHDJGGOBOA_
_KOSO[SDFDB]J_AA
KOULOAMULO
KOX[AKKABCK]
K]OXAY[DYDZ
K[]OXB_B
_K[OXBZKYYODM
KOXd@[[[
KOXODY[SBX
KOX]QC@@Q[FLC
K]OXQQOA
KOXYYOM@X[
]KOXZC@_H_
K]OYDKG[J
KOY_K[BKM
_KOYKCFJQMO
KOYLC_NJ
KO_YLZFMKGZNOJD@AL
KO@yxny;
K]OZDBP@K
[KOZJHQGMPFPAX
KOZJPHOC[]]
KO@ZK[FKFDNJB]
KOZ@KYCME
_KOZZHSSZK
@@@@@@@@Kp@@@@@@@@@@@
K[_PABYM
KPAJMGQX_Q
KPAJM_Y]
K_PANZLC_
KPAOMJQYQYS]
@@@@@@@@kp@@@@@@@@@@B@@@Hp@_L?
@@@@@@@@Kp@@@@@@@@@@B@@@Hp@Lf
@@@@@@@@kp@@@@@@@@@@B@@@Hp@n
KPBNAB[Y]BCGS
KPBS_PZM
KPB[YMJBSS]
KPBZAAHJBL[
KP]CJCNZ
KPCLJZFOLK
KPCMSLZJ
KPCNKHGJJJF[[ZK
@KPCOCGL
KPCPFY_LPG
KPC_QZ_DP
KPCYZGQH[
KPD]BSKQHBX
K||pD||?D||
KPDKSD]JPKB
K||pD||LD||HD||DD||
KPEAYZOCOHYO
KpeJhggfw
K@PEPCOMGXZY
KPEPKZSNA_QDPOMCNDES]DELMDA
K]pEPywnm*g
K[PEYAL_]Q_MN
]KPEYYJB
Kp'fAAAA@AAAAAC
KPFBL_PAY
KpfD9q6t
KPFJ[ZKA[CAYZSF]
k][PfY]vyL[D)(
#)))KPFZ@[PZ
KPGCXQHC[Q_KGAG
KP_GDD[S
KpgfG) (Ygqgg
kPGFJFegb
_K#:pgkbgfG
KPGOLJ_D[_]P
 kpgppepq
(kpgppepq
-kpgppepq
[kpgppepq
|kpgppepq
k	pgppepq
k ;pgppepq(
k"pgppepq
k-pgppepq
kpgppepq
kpgppepq(
kpgppepq*
-Kpgppepq
K"pgppepq
K*pgppepq
K_pgppepq
Kpgppepq
Kpgppepq! 
Kpgppepq?
_Kpgppepq|0_
kpgppepq'1
.k*pgppepq2
Kpgppepq2
Kpgppepq5
Kpgppepq5c
Kpgppepq8N
Kpgppepqb
KpgppepqB
kpgppepqBqW
KpgppepqCi
K"pgppepqdZ
kpgppepqe
K|pgppepqE
Kpgppepq)_E7
kpgppepqF
kpgppepqG
Kpgppepqh
k;pgppepqh2[
kpgppepqi
kpgppepq_j
KpgppepqK
KpgppepqL
Kpgppepqm
kpgppepqN
K|pgppepqY
KpgppepqY:
KpgppepqY0
kpgppepqY)a
k)pgppepqz
Kpgppepqz
Kpgppepqz.dO
kpgppept
Kpgppept
'kpgppeptB 
?kpgppeptK
KPGXXLOB
KPHCBMAYNJG
KPHCOMAJGYHA_[
KPHDGDBCDML
KP_HEH[[HP
KP_HEZKHZL
KPHPGZCDAJHJJ
KPH@PMPKZ]SQ
KPH]PQNQK
KP[HSZE[P
KPHYAFAEXGMHH
KPJFMPE@GMELP
KpJiJXJQJ@J9J(J!J
KPJJHN@PEKD
kPJPJPJlG7S
KP[JP[YGB
KpJvJmJbJ
KPJ@][ZZA
[KPKBD_S
KPKBNJHE_[XZ[QY
#)))K@]]PKF]
KPKFGNXZ
KPKLNPQK
KPK[LYQPZD]
KP]K]QP_EOSQES
KPKSMA_NMLXBK]LN
KPL;APs(
)))KP]LDHYY@GNrZ][@GN
kP]LdH[ZAHEEjFYP
")))KP]LH[[HP
KP]LH[[HP
KP]LH[[HP]FALQ
KP]LH[[HP]FK
KP]LH[[HPZ
k)))PLH[LQJLEO@_L
KP]LJAH[HJ]L[Z
kPlllllllllmllllOllylm
KPLMAXOCDBZ[[]
KPLQ[FKF]FZJ[HJBLMKP
!)))KP]Lrt
())KP]Lrt
)())KP]Lrt
)))KP]Lrt
KP]LrtBLPZ]H]L
)))KP]LrtJ[PY]vDHZZvBLP
)))KP]LrtKP]LZ
KP]Lrt[LZYFGZLKP]LZ
KP]LrtMH]H
KP]LrtMLJFMLM
)))KP]Lrtt
)))KP]LrtZALEEJFML
KP]LSL[F][H@EL[HMM[LZZFON[LDE@G
KP]LZ]FKLLGJ[PY]LM
KP]LZFOMH]H
KP]LZ]FZ][
KP]LZ]LDYEH[
KP]LZR@JDYT
KP]LZR@NDYT
[KPM[AKCC
KPMCMSAOSS
KPM@G_LZ]DLG]Z
KPMMJQBC
KPM]P[OMMKGL_
K_P@NBPQ[KZH@PD@L_
_K pnggogfGW
K_P_]NGKELD
KPNH_ZYBY]N
KPNO@NBJ
KPNQXHSP
KPopbgfG
KPPDDXN]OOM
KPPDLKMK
KPPE]DASNM_COK
_KP]PFO]Z
KPPJHFZK
KP[P[KLQY
KPP[MADA_CN
KPPPYHZZ
KP[PSSKXOLG
@@@@@kp@@@@@@@@@@@@@@[pYe
K]PQAOXH[NGDN
KPQCYEQOGZA]YHC
KpQfAAAA@AAAAAC
KP[]QHHY@BN
KPQNSKNKKKEMS
KPRA2.COM
	KPRA.COM
KPRA.COM
KPSG_KQY
KPSK]QJD
kPSSE@XE@[B]@KEBKg
KPSSS@S#bjTRS3HPSSS@S
KPSSWLC9
KPSYFMLPO
K@PSZGPGJ
kPVoH?"Z
K_PXBM_PQMGPQ
@_KPXDOP
KPXOBK[YSYGYBKPP
]]KPXOKCM
KPXPHAJCPGL]EAM
KPX[YM]__
K@PXYMYMYZZ_J@Z
KPXZLYYP[ASB_MN
@@@@Kp@@@@@@@@@@]Y]]
!)))KPYHZZ
)))KPYHZZ
kPYHZZ|hj
KPYHZZHZZ
KPYHZZvBv
KPYHZZY[FQ@O@L[EZY
KPYLS[NZPG_B
KpyrJpyDJpy(Jpy
KP_ZDC@NA
KPZELLYPH]ALLQYEF@]D@NA]OH@EHGMJ[HZAH]H[NL]ZPZ]LD
KPZH[NMMH
KPZ@PONGLZJNL[PY
((()k))))(Q)))
kq2llllllllmllllOllylmN
KQAAZ[DLSP
K[Q]_ABH
KQAJ[J]@E[_]
K@QAJXOE_
K_QAY_XGXBZC
KQBDSQKKNCCCX
KQB@PMXKYDQCFMGDFDH
KQBXL]KGB@MMYAY
KQBYXYLX
K_QBZJDMQYD
KQccgfGx
KQC_[DSPYA
KQCNXQXPB]QS
KQ_CZCFDFCGD
KQdF[[[2[[[
'kqdg)nggw
[[[*kqdJ[[[d[[[
k||qd||Kd||"d||
KQdQ[[[S[[[
KqdU[[[9[[[
kQdV[[[S[[[
KQEANCPC
KQEDDAKJSECMQA][]
KQ]EJYY]DQHANQQ_OXB_HS
 )))K@]QF[
KQFBAF_@
KQFJFKLY
]KQFJKHZD
K_QFOMFHF
KQfX149"
kqg'dgfG
KQg-egfG
K]QGE@HZO
KQGF]CKYOLYHF_K
K_QGFHMBDJZL
kqgkagfG
k)))QH]][
KQHF[BFG
KQH_FY[XOQ
KQHGQNPLO
K_QHHFLDL
KQH_OAKQJYGF
K__QHZJGDQ_
k[[[QIQdQ[[[
KqJaJQJAJ1J!J
KqJaJVJ'J
]]@[[KQ]JAM
KQ@JBAALAGG
KQJDOPDDL
kQJhJ]@_@]P
KqJiJyNiNYNIN9N!N	N
KqJmJUJAJ)J!J
KqJnJdJKJ
KQJ]SBG@K
KqJuJiJmJaJeJYJ]JQJUJIJMJAJ
KqJuJiJmJaJeJYJ]JQJUJ-J
KqJuJYJIJ1J!J	J
kqk0Cqllllllllmlll]Y]]
KQKCOY_PPPMGBLK_PE]_
KQKCX__OA
kqkFIHgH
KQKGHYO]J
KQKNZSPQ@
KQKQMODSJZ
KQLPGLBG
KQ_MD]AM_
KQMGSQX]
K[QMLMSAZ
KQMOEJLJ
K[QMOPY@NXBCB_NLXY
KQM_PSSSEZBZ
K_QMXZQN
K]_]QM[ZG
KQ@NCYHO
KQNH_BNF_
KQNHLS]XGZZBNPYGZJMNK[BKQBZK_
[KQNKZO[GCK_
KQ[NMMLZ
KQNNPXNNKNNPLMSPNZYA[HOBK
KQNOGMQEGGPLXX
KQN]PA_C_BKGQ
KQOJNDMZ
]K[QOLOLKGS
KQOMN[_CQZ
KQPBBL]LEKO_]D@P
kqpgppepqqG
KQ]P[LEBPL
KQPNDHPAHH
K_QPNLAF]
_K__QPNPXANLPJ
KQQBGHAEHE
KQQDCBHGP
KQQ@ELHCECPSH_Z_
K@QQJ]HQSHD
K]QQSSBHXB
kQRSSUD9
KQ@SCA_ZMKDK@JQJA@BH
K_QSC]QJDKXLMGBL
KQSHK@HLMFXNX
KQS[NHXNBLZN
@]k.QSSBU@BBBj
k#QSSLBAms
kQSSS@S9s
KQSS[sSSRS
k[QSSUD9
KQSvPEPBvKv
KQ(VSSW(|SSWASs
K]QXB_F]P
KQXBXLECDH
_K[]]QXN_
KQX]OJDKN]KM
KQXYGQ[YZ
KQX@YMSP
@KQYKQL_OA
KQZE@ML[
KQZLL_JDP
KQZMNXNCC
KQZYAKCP
KRb   !     0  x
]KRBUpSSSSS#;
KR#B[[[Z[[[K[[[
kRd_[[[7[[[
kRdC[[[I[[[
kRdD[[[p[[[
k||rd||gd||[d||Kd||;d||*d||
kRdG[[[N[[[L[[[
kRdH[[[ 
kRdH[[[-[[[#[[[
K)))rDH@GtHO@M
kRdH[[[U[[[K[[[:
kRdI[[[-
kRdI[[[7[[[
kRdJ[[[8[[[![[[
kRdL[[[|[[[
Kr|dN[[[3[[[0[[[
kRdP[[[e[[[d[[[
kRdR[[[C[[[
kRdR[[[o[[[m[[[gkwex[[[
kRdS[[[H[[[
kRdS[[[M[[[@[[[
kRdS[[[Z[[[z[[[]
krdU[[[.
kRdV[[[r[[[
k||rd||Xd||Gd||.d||
krdY[[[9
kRdZ[[[)[[[
kRdZ[[[7[[[
kRdZ[[[c[[[
kRdz[[[y[[[
KrffG'8x0gqgg
*KRgqgg'
KrgqggDh
K)))R_H[
kRJdZ[[[
|KRJhggfwIB
KrJiJnJeJZJQJ
KrJ]JUJMJEJ
KrJSJ@J"J
kRkngw3(
K)))r[LOELJ]@FG
KrN!mggfw
KrnU[[[Z[[[@[[[
krogfGp1
krpgppepq
krRgqgg!
krRSSQ[H
KRS#8]SSS@S
k@RSSALK
k:RSSBTs
k|RSSQD9
KRSSS@SHB'URS
k	RtlPrefixUnicodeString
K)))RuA]DE[]O
k[[[R;UdA[[[
k)))RuFKCLJ]
k)))Ru[]O
K)))Ru[]O
kR:!wegfGl
Krxwy"M-
KR[[[Z[[[
k)))rZPZ]LD
k@S0k@S!k@S
KS@ABQ[D
KSADEEPX
KS[A_EHHGX
KS@APNYZ_GOYOKX
KSAXDF_C
KSA@X@LGZMOZ@_Q
KSAXM@X[
KSAZJSJZHM
KSBFNO[E]E
KSB_GLSKBEMYP[ZK
KS[B_HZSGH
KS_BJZ]B[
KSBX]JCHJ
KSB_YDDJ
KSCCNGEFD
KSCE[QNQ@__[@GLOHKML
]KS_CJ_[
KSC]_]KX]
KSCL]MN]YMXJCDSY
KSCM[NBP[L
KSCPDL[ZGS[AAZD
KSCYLNZD
KSDCHGPN
KS[DCJQXD
K[SDFAQB
kSdgfGM0
kSdN[[[Z[[[
k?SdO[[[
KS]__D[PY
KS]DQGN]PPDBQ
KSDXY[QXF
_KSDZDYA
KSELAP[_
KS]EOJ]CGJNA]ZGY
_KSEONGBCN_AA
ksfFgOfggG
KSFKPXMSA
]KSF]XDJ
Ksg9kgfGe
KSGDOYJPAC@CJ_L
ksgfG6sC
K[S]GFH_PD
ksg?ggfG
ksgIegfG
KSGKMKQZ_P
KSGLLAL[J
Ks[!gmkgfG
K]_SGNQQYGMS
KSgqggc21
KSG[ZDZZGMCM
KSHBJCDB]FX
KSH]OQXZQ
KSHS]HBX
][KSJADBG
)))KSJDD
KSJ_DLNN[K
KsJfJNJ)J
KSJ[G[POX
_K]SJ_GX
KsJhJKJDJ
KsJhJZJ'J
KSJ[H_SOCB[HPQDO]
KsJiJWJNJ
KSJJXPJ[XYX[HK]NA
KsJkJ_JWJ;J3J'J
[KSJPPANBNJN_PP
K@S[J@SEJ@SwJ@SaJ@S
k@S_j@SOj@Sxj@Shj@S
[K_SJYCXHPP
KSK]'@@A@h OU
KS_KE[OOEKY
KS_KGXA[
KskMt0)Y
KS_KPKABKC@E
KSK]PNJZ[ZB
_KSKSDOFC
K@S:K@S)K@S
KsKwKkKoKcKgK[K_KSKWK
KSKXXCP@KFH_
KSLBinBuild
KSLBinMinor
KSLBinRevision
KSLD.pdb
KSLDriver.pdb
KSLHQGHYHY[GD[ASBOPJ
KSLHXEKBLE]N
kS:llllllllmllllOllylm
KsllllllllmllllOllylm5
KSllllllllmllllOllylmq
KSLMajor
KslManager
KSLMinor
[]KSLNGE
@@KSLOPZ
KSLPA]FGK
KslStartBlock
K]SLZL@FAPPGNP
KS[MAH[[BQN[[OO
KSMJQX@MZHGEA
KSMXGHLG_
KS]NCZYM_PELCC_
KSNFCOY[
KSN]GCPDYSNFN
KSN]GHEX
K@SNPOQPPDJD_CHA
@KSNPZOHNZPPY
K]S]NQ]AH
KSNXXSJZ
KSOEQC]GB
KSOGKDY[Z[
KSOH]XXZM
KSONC]BXZZGN[[_O
KSO@N]Q_DCA[FO
K@SOOXD@YF
KSOQPBLO
KSPA_OFQCDBYD
KSP@[DJYM
K)))SP]EYP
kspgppepq
kSpgppepq
]KSPYHXJX
K_[SQCYKJD_S
KSQMHSNB_QDG
KS]QQAYSQKOJ
_KSQQOQJC]SLY
KSQYXGCBZ
KSSBLASBNS
KSSJFKSN
KSSLZSK_
[_]KSSOJ@MM
k)SSSBT@CBvL
KSSScRSSsSSScRSSSSSSSSSSSSS
kSSScSSScSSScSSScSSS
k[SSS@Si
k_SSS@S'qRSRScj_SSS@S
kSSSSSS!#5
kSSSSSSS
KSSSSSSS
kSSSSSSSS
k]SSS@SX
kSSTSSjSS[SCjSSZSsjSSYScjSSXS
KSSUBFH9
K SUVWATAUAVAWH
K SUVWATAVAWH
K SUVWAVAWH
K SUVWAVH
KSXDDMZLC
KSXDNCG@C
KSX[FNZND
@KSXGDCKKPC
KS_[XGZYGHP[A
KSXPJSSCL
K[SYCADS]E
_KSYHEQEDSQNCMQ
KsyjJsySJsy8Jsy
KSYLJSOBK
__ksymtab
_KSY]]O_HSLJ
KSYSG_]LZG
ksysjsyPjsyAjsy#jsy
K@SZFGL]
)))KSZ]LCCYSX[KZBC
KSZ]LCCYSX[KZBC
KSZMGBSDYAKBO
KSZQMZ_]
[[[K[[[t[
kt|9dt|x
ktabautoremediation
KTabExists
	K	@TB[BL
K||tc||qc||
k||Td||3d||
k||td||Ad||
k||Td||-d||
ktdH[[['[[[
]KTdI[[[
kTEioooo
@k#te?	J
@k#te?oooo
@k#te?#te?
@k#te?#te?oooo
[[[;kTg][[[
ktgpgppepq
KTgqgg5ty#
KtgqggJ1
;kTgW[[[
KtJnJeJ8J3J.J
k||T||||||||||||L||
KtllllllllmllllOllylm
kTRSSEyEyEyEyEyEyEyQBUL
kTSSQLk9
KTu[LJPJEL
kTVSSBVL
kT[[[Z[[[k[[[
kT[[[Z[[[O[[[
K@@@@@u@@A@AAac
k)))u]AY]@FG
kubgfGLW
kU@@@@@@@@Cp@f
#kUcSwllllllllmllllOllylm
K||UD||.D||
k||ud||Ed||!d||
?KUdH[[[
kUdH[[[7
'KUdK[[[P[[[
KUdT[[[#[[["[[[	
k||ud||Td||?d||!d||
K_UdV[[[
kufK[[[	[[[
k)))uFKCLJ]
kufM[[[c[[[a[[[
kufO[[[@[[[
kufU[[[h[[[o[[[Q6GfZ[[[
kufx[[[;[[[
kufx[[[R[[[P[[[
KugfG.@9
kugqggMP
KUgqggPE
k)))uH[@DHEL
KuHYYMH]HuEFJHEu]LDYu
KUIJO@UM
KuJaJYJIJAJ9J!J
KuJdJGJ.J
KuJeJMJ;J1J
KuJeJYJ]JEJ-J
KuJ]JEJ-J
KuJmJeJ]JUJMJEJ1J
KuKkKaKgK]KSKIKOKEK;K1K7K-K#K
KuKkKfKHK
KULKNOUA@
ku llllllllmllllOllylm
kUllllllllmllllOllylm
KuMLZB]FYu
KuMmMcMYMOM
K)))u[]O
k)))uQDEGZ]KERuQDEGZ
k)))UUNF]F
K@]UUZL]FZ
K UVWAVAWH
_[K	@UWBUd8EXE9@W[9@_WBU
kuyyyyyyyyy
k)))uZAF[]KFFZ]
k)))uZ]H[]L[
k@@@@@v@@A@AAac
]K@@@@@v@@A@AAac
kvALHM)(
K@@@@@v@@B@ACac
kvbefgfG
k||Vd||3d||
k?VdC[[[4[[[
k||vd||[d||6d||
k||vd||Nd||!d||
kVdQ[[[O[[[G[[[
K||vD||SD||4D||
kVdU[[[|[[[a[[[
k||vd||Ud||4d||
k||vd||Ud||8d||#d||
KVdX[[[g
KvE@Z]M@[
)))K[v[FF]B@]vYH]A
kvGHDL]HNZ)(
kvgQagfG
k!vgqggKSl
KVHBXNILMNuryxRyxx
kvHZDH[HGP)(
[k[v[i[i[
[k[v[i[l[j[o[v[o[i[
k)))vJALJBJL[]@O@JH]Lv
|[[[KvJdH[[[s[[[r[[[
KvJgJLJ5J
KvJZJNJ0J"J
kVllllllllmllllOllylm**
kvMEFHM))
KvMLEM@[
K|vodo9ogo
K|voeo9ogo
KvO[FDKHZL
[k[v[o[j[k[
[k[v[o[j[k[b[v[b[b[
[k[v[o[k[k[
kV(pgppepq
kvpgppepqS
k[[[vPpdB[[[
KVp#upgppepq
kvRSSALH
k@vUURUU
k VWATAVAWH
KvyxSi|2L
kvZALEE))
((KvZEF]Z
k)))vZ][LHD
_KvZ]PELv
KVZT1YllllllllmllllOllylm
KW8fgfw8oe
K WAVAWH
K_W:DgfGY
[[[kw|dH[[[
KWdK[[[m[[[l[[[
kWdX[[[g[[[
[[[k-WdZ[[[
kw"gAcgfG
|-KWgAgg
Kw"gqggn
kwgwbgfG
KWHOWAMIHHJNJJWHWOWHHy
KwJmJ@J2J!J'J
KwJQJAMsLSLGL)L
KwJWJFJ4J
KwK[KSKGK?K#K
kwllllllllmllllOllylm
|KwllllllllmllllOllylm
KwNwS@w]CCSwGZALEE
Kwpgppepq
kwPSSB[_BKL
kWSSS@SJTRSRS
KWSSUBVZ
KWTdS[[[
[[[k[[[x
Kx@@@@@@@@
K[[[x4JdO[[[
kx5gqggwI
kX5gqggX
k@@@@@x@@A@AAac
Kx@@@@@@AB
]K_XAC_ZLAH
KxAgqgg|
KXAKZXZH
KXAYNPCO[@]
Kx@@@@B@@@
Kx@@@@B@CA
KXBD[JAA
]KX_BEJ[G
KXBGOHAJJBP_
Kx@@@@B@@@Hp@WK
KX_@B[KMCG
KX]BPGGZCEHCZ
k[[[XbXdK[[[
KXCBH_GKXF
KXC@BS@LYLPX
K#;XCCNCCCBACCt
K]X_CD[G
KXC@KMEJXD
KXCLCO]QJAK@J_E_HCBG]O@M
KXCMYD]YJ
KX_CNCPJ
KXCNYC_L
[]KXCQYOG
KXCXDS_PYDM
K[[XCYLGHXE@L
KxD8!t	D
[K_XDA[CCBSCP
[K]XDGX@
KXDHAMF_
KXDJHNSNS
?KxDllllllllmllllOllylm
K][XDMZX@M
KXDNNXQBA@B@ZL
KXDOYBQH_A
KX[E_G]O
kXEgqggA
KXF]_@GDJP]_[
KXFJD]ZQXM
KXFJHO_Y]XPDNAL
KXFM]LPG[
[KXGAK][LL[KALMXN
KXGB[MKPAKBYO
KXGE_YXHPXJ
(kXggfgfG
KXGJBJX]B
Kxgqgga 
KXGQPKFL
KX]HCXCQM
KXHHCFEM
((KXHHZPH
KXHJZO_OMZ
KX[HKFDEFG_X
KXHK@@NCHS
KXHLB_[X_KJA[S
[]_KXH[M
KXHOMBHBMX__LXHBN
K[_XHPQG
KXHPY_GQ_FZNB
KXHQXS[BYK
KXHX@BX_
KXHYHO[SGKM
KXHYSM[ZP[ENL
KxIllllllllmllllOllylmbc
KXJCOS_ZNK
K_XJGEN[PA
KXJ[@J[SG[NB
KXJNJCJJ
KxJpJcJ[JJJBJ5J-J
KxJrJ*J#J
KxJuJhJVJ
KXJWJJJ8J
KxJxyxmy
KXKDQM@YY
kXKgqgg'
KXKHBDBHP
KX]K]HZMA]GJXMGX
k||xk||nk||
KXK_OKHD
KXK]SECPH@
K]X[K_Y]D
K[XL_]BB
K]XLCGYAD
KXLKKZNZ_@S
@KXllllllllmlll]Y]]
K_XLZPXDK
KXMBKSGQF_Z
KXMSCXBC
KXMSZB@SYYC
KXND]BO_S
KXNN]]]OGMNYM
[KXN]]QL
[KXNQXMXCZ
]Kxnxxyxxx
]Kxnxxzxxx
KXOAMN_L_E@
K_XO_BGOGZNCE
KXOCBX[YXPXJS
KXOGPZFFOQEF
KXO[JFNHPX
KXONDAYCAGOX
KX_OPJYZ
KXPDBAKKB
K@@@@@@@@XpeD
@[KXPGMLB
KXPHCNJ[_
Kx@@@@@@@@_p@KF
Kx@@@@@@@@_p@KH
K]XPQSLN
KXQAPAG@
K[XQC[CJGA_[P_XEM
KX[QCMQG
KXQLCPOQCEX
KXQMLPFD[
KXQNJHNSOH
_KXQPANXMYC
KXQ@YYMZQ@Z
@(kxRSSUs
KXS5KXS'KXS
KXSCZMJ[H
K_XS]HYHNXHK
KXSKKACHGAD
KXSKLJY]PL
_KX_SNG[Y
KXSNQ]GQLYMHC
KXS]OHFCZ@LCNEJ][HZX
[_KXS[P[PSLZYKHJQCY
KXSSB@J9
kx_SSUBW
K[XSYHNMDM
kx]Vp]Z_Z
kXw3eg'egfG
K_X_X]_[
_K@X]XA_ZL
KXXBLLZP
KXXBNQBZ
KXXJHJ_ADQ
KXXLKLFJD
KXXL]OQB_[_J
kxxrk|i|n
KxxrkZiZ
kxxruqgTgS
kxxruqgWgB
kxxx]Y]]
kxxXyxsy
Kxxxzxfy
Kxx]Y]] 
KXXZ[YMGM_BPE]JD
kxy4lxy'lxy
kxy6kxyHkxy
KXYCGEZCJ[
kxycjxyLjxy-jxy
kxyEyyyy
kxyhjxy]jxyNjxy5jxy
KXYHNHPDYGPDYMBP
kxyjjxyWjxy2jxy
K_XY_KC@NNDP[SX
kxynjxyLjxy*jxy
KxypJxyYJxyAJxy)Jxy
KXY[PXQ]BFL[XM
kxyrkxyikxy
kxytjxyXjxy9jxy*jxy
kxyujxy_jxyFjxy#jxy
kxyxjxygjxyLjxy)jxy
K xyxny5
kxyxyyyYyyyYyyy
kxyyjxydjxy@jxy!jxy
kxyyjxyhjxyejxy	mxy
kxyyjxyjjxySjxy@jxy)jxy
kxyyjxypjxykjxybjxy]jxyTjxyOjxyFjxy1jxy(jxy#jxy
kxyyyyy[jxyajxyyyyy
kxyyyyy[jxyajxyyyyyyyyyyyyy
kxyyyyyy
kxyyyyyyyyy
kxyyyyyyyyysjxyyiyy
kxyyyyyyyyyUjxyiiyyyyyyyyyyyyyyyyyyyyyy3jxyAjxy
kxyyyyyyyyyyyyyykyyy
kxyyyyyyyyyyyyyykyyy|.
Kxyyyyyyyyyyyyyysyyy
KXyyyyyyyyyyyyyysyyy
KXY_YZSX_@AMC_]B]OAC
KxyzJxyeJxyLJxy7Jxy
KxyzJxyoJxyPJxyGJxy*Jxy
kxyzjxyqjxyJjxy
kXZdE[[[
kXzgqgg5
_KXZHAMEY
KXZLCBS]
KXZLJL@_HDFCHX
KXZMJDSBM
KXZYMKMK[PCOJ
KX__ZZ]E
k-((]Y]]
@@@@_K__Y_
K'((]Y]]
K-((]Y]]
K@@@@]Y]]
ky4gqgg;
k]Y]]]8X
KYAACNSXY]X
]KYA]]@BFGXHCQB
KYAKAPKO
@KYAOZ@SKK[CPEG
KYBNG[CCQ[GDX
KYBOFZQC@]CK]YLL
K]Y]CAYCYSKJM
]KYCBCNOP
_KYCCCCMJN
KYC_OPXCBGOP[
KYCZN]DLSJ@_XAJM
][KY]D@G][K
KYD_JFYN
KYD_[KMKSQ
K_]YDM_GAJKMNHG
K[[[.y:dO[[[
[KY[DOGMEZ]
]KYDOHAYMZS
KY[DSOYDKNO
_KYDXDLGK]Q
KY]EHN[SQQ
KYEMPOKXQX_P
KYEOQEJCXG
ky[FCLJ]))
_KY[FCLJ]
KY_[FGBM
K@]Y[FJLZZ
k)))Y[FJLZZLQ@Z]Z
ky[F]LJ]
)))KY[F]LJ]F[
KY[F]LJ]F[
_K[[YFLQHSHF_
KYFXNQ_F
k)))YFZ]
ky"gAggC
KYGEQXCLKJ
KY_GKMYS
KYGLAOLNSPMKSL
KY[gOpgppepq
K)Ygqgg!
kygqgg3]
K_]YGXC]HAG
KYGXG]AEN[XABHZPNPSPMGJPGNKN_
:)))KY_H
KYHBYYNS
_[KYHDMOYXNLM
#)))K@]YHGMH
KYHJ[_@]YJ[MG[CK
]@KYHJYZ
KYHK[N@O
k)))YH[LG]
KYH_QSQN]GK
kyhtvgAggJ
kyIxyyyyyyyyyy
kyIyyyyyyyyyyy
kyIyyyyyyyyyyyq
KyJaJeJYJ]JQJUJ9J)J-J!J	J
KyJaJYJMJ9J1J!J
KyJaJYJMJ9J1J!J	J
KYJGLGD]PN
kYjigcogfG
KyJiJmJaJIJMJAJEJ)J
KyJjJ]J2J
KyJmJLJBJ
KyJmJYJQJAJ)J!J
KYJN]XDQLZD
KYJOJ@JK
KyJpJkJbJ]JTJOJFJ1J(J#J
kyjPkR]X
KyJqJaJ]JEJ1J
KYJQJIJAJ5J
KyJqJiJaJ5J)J
KyJqJiJaJYJQJAJ9J1J!J
KyJqJiJaJYJQJIJAJ9J1J)J!J
KyJqJmJUJMJ9J!J
KyJqJUJIJMJAJEJ9J1J
KYJQJVJ.J'J
KyJRJLJBJ
KYJSDXBZ
KyJuJiJYJ]JEJ-J
KyJuJ]JIJ1J-J
KyJuJ]JIJ1J)J!J
KyJuJmJ1J!J
KyJuJmJ]J!J
KyJYJUJ1J
k|y)j|yyyyy
KyJyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
KyJyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysp4#
KYKA@BXNP
k(:Ykc1Lk
KyKgGegfG(
K[YKHDDGCXL
KYK]JXKKGYOM]
KyKmggfw
KYKOOGON
K_YKPD_MJGJNPNYC]B_DKDPOJBX_CG
KYKQ][OSOL
KYKRKOK8K5K.K
K]YKYDXKGM
[KYLBKNZ]D
_K_YLG[YLEPB
KYLJGYNPBL
:KyllllllllmllllOllylmq1
KYMCKHCBKD
KYMCXND@JCYPM
kY!mggfw
KY_MJJGX]
KYMQXPZZQQY
KYMSQFGPDONGFOA[
KYmSSSSG
K]YMXF@E
kyMxyyyyyyyyyy
[KYMYSKKCH]
kymyyyyyyyyyyy
Ky@@@@@n@@A@AAac
K_[YNHC[
KYNM_J@[Q[[DQSC
KY_]NM@LD
K[YNOLDMG
K)YnP2KeTCKoPsPtPuPvPwPPKyP
KYN@YOPY
KYOEOK_OHXMX
KYOLXGKL[
KYONEOPLN
KYONPO_ZHA
KYOOGOXP]
KY]OO]NA
[KYpgppepq
KYPMEPDNXSXC
KYPNZOKY[SPM@PAQ
KYPPOZHF
KYPX[APPKBKC
[KYPZ_AD
KYqg7RgfG|U
k@yQgfGhd
KYQN_GDAS
K|yQN|yQN|yt
kyQxyyyyyyyyyy
kyQxyyyyyyyyyyY
KYSG[CX]
[KYSPPYK
KYSSS@SDl._RS#
k.YSSUD9
KYvgaPgfG
[[[[k[[[Y[[[W[[[[[[[[[[[[[[
KYwNwYwOw]@DHNL[LZ
ky]Wp]Z_Z
KYXKDBDXK
K_Y@XMOD
KYXMYBXQQSNJQMY
KYXSHHA[
kyxSi|Xm
K]]YXY@QSD
kyy1jyy]jyy
kyy1kyyyyyy
kyy1kyyyyyyyyyy
kyy2kyyyyyy
K|yy4qyy4qyK
kyyaiyy]kyyyyyyyyyy
kyyAjyy)iyy
kyy-AyyqI
kyybjyy5jyy
KyybJyyGJyy Jyy
kyycjyy9jyy
kyycjyyAjyy*jyy	jyy
kyycjyyOjyy)jyy
kyyejyy0jyy
kyy;eyy'eyy
KYYF[CHQQZ
kyyFjyyOjyykjyy
KYYGHXSQ
KYYG]QLXP
kyyhjyy:jyy
]kyyHyyy1ycyqyq
kyyIiyyukyyyyyyyyyy
kyyijyyCjyy
kyyijyy)iyy iyy
kyyiKyytI
kyy	iyy	iyy
kyy)iyy iyy
kyy	iyy	iyy	iyy
Kyyi@yyMhyy:
kyyjjyyDjyy
kyyjjyyIjyy)jyy
kyy]jyy7jyy
kyy|jyyCjyy
kyy@jyycjyy:jyy4jyy#oyy
kyy|jyyejyyUjyy:jyy*jyy
kyy|jyygjyyAjyy(jyy
kyy|jyyhhyyMhyy"hyy
kyy_jyy'jyy
KyykJyyHJyy)Jyy
kyykjyy*jyy
kyykjyy@jyy
kyy[kyyRkyyMkyy
kyy	kyyyyyy
kyy	kyyyyyyyyyyyyyy
kyyljyy"jyy
kyyljyyKjyy!jyy
kyyljyyWjyy0jyy
kyyly*s7
kyyLyyy]kyyEyyyy
KY[YMFCC_]AD]A_HZOAB_HY
kyyMhyy[hyy
kyymjyy3jyy
[K_YYMOQF_
)))KYYNF_
KY@[YN]F
kyynjyyGjyy
KyyoHyyoHyy
kyyojyy1jyy
kyyojyyqhyyVhyy!hyy
kyyojyyRjyy
KYYOXADMOMSY
kyypjyykjyy_jyyCjyy:jyy5jyy
kyypjyyljyyZjyyIjyy9jyy6jyy jyy
kyypjyyojyy_jyyAjyy3jyy
kyyqgxyyyyyyyyy
kyyqiyyekyyyyyyyyyy
kyyQiyyUkyyyyyyyyyywjyy9iyyyyyyyyyyyyyyyyyyyyyy
kyyqjyyajyy
kyyQjyy*jyy
kyyQyyyy
kyyRjyy5byy#byy6gyy
kyyrjyyajyy_jyyMjyy*jyy
kyyrjyyDjyy
kyyrjyy@jyy
KyyrJyy!Jyy
kyySjyyIjyy jyy
kyySjyy*jyy
kyysjyyTjyy!jyy
kyysjyyyyyyyyyyljyyyyyycjyyHjyy|jyyyjyyOjyyUjyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykjyyvjyyyyyy
kyytjyydjyyHjyyFjyy.jyy
kyytjyyIjyy jyy
kyytjyyWjyy0jyy
kyyuiyy	kyyyyyyyyyy
KyyuJyygJyyRJyyDJyy1Jyy!Jyy	Jyy
kyyujyynjyyZjyyCjyy"jyy
KyyuJyyQJyy1JyyyyyyQyyy)yyy
kyyvjyyMjyy
kyyvkyyakyyXkyyJkyy?kyy kyy
kyyvzyyukyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
kyywjyy[jyy)hyy
kyywjyyRjyy1jyy
KyywyvK0
kyyXjyy1jyy
kyyxjyycjyyHjyy)jyy
kyyxyyybyyybyyy
kyyxyyyGyyyGyyy1iyy9hyyAkyy
kyyxyyyhyyyhyyyAkyy
kyyxyyyxyyyxyyy
Kyyxyyyxyyyxyyy
kyyxyyy|yyy|yyy
kyyxyyy@yyy@yyy1iyyUhyyikyy
kyyxyyyyyyyyyy
kyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
kyyYiyy!kyyyyyyyyyy
kyyyiyyMkyyyyyyyyyy
kyyYiyymkyyyyyyyyyy
Kyyyiyyy9yyyy
kyyyiyyyIyyyy
kyyyiyyyIyyyy1
kyyyiyyyYyyyy
kyyyiyyyyyyyyyyyyyyyyyyyyyy
kyyyjyy|jyyqjyytjyyZjyy
kyyyjyyMjyyGjyy1jyy
kyyyjyypjyykjyybjyy]jyyTjyyOjyyFjyy1jyy(jyy#jyy
kyyyjyyqjyy
kyyYOyyvI
kyy)@yyuI
'kyyYyXy
KyyyYxyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyex4#
KyyyYxyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyax4#
kyyyyyyijyy(gyy
kyyyyyyMkyyyyyy!kyyyyyylxy
kyyyyyyQyyy)yyy
KyyyyyyQyyy)yyyaxyyQyyyoyz
Kyyyyyyy
KYYYYYYY
kyyyyyyyjyyyyyy
kyyyyyyyjyyyyyyyyyyyyyyyyyy
kyyyYyyymyyy
KyyyYyyyMyyy
KyyyYyyyMyyyiyyyyyyyyyyyyyy9yy
kyyyyyy.yy
!kyyyyyyyyyy
kyyyyyyyyyy
kyyyyyyyyyy1jyyAiyyyyyyyyyyyyyyyyyyyyyy
kyyyyyyyyyy	H
kyyyyyyyyyyIjyyIiyy
kyyyyyyyyyykjyyyiyyyyyyyyyyyyyyyyyyyyyy
kyyyyyyyyyyPhyy
kyy-yyyyyyyyyyyy
kyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyy
kyyyyyyyyyyyyyyyyyy
kyyyyyyyyyyyyyyyyyyyyyy
kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEy4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1y4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-y4#
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyLmyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
KyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyCy4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?x4#
Kyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
kyyzjyyajyyQjyy2jyyCjyy"jyy
kyyzjyyqjyyXjyyCjyy jyy
kyyzjyyrjyynjyyZjyyBjyy3jyy
KYZAP_YCLZBN
KYZFPBGX
KYZKKHOH
K_Y_ZNPZCNDY
KYZ@PCOSQGXSP
KY]ZP@LAEAJ
KYZQPCJ@QZ_JJ
KYZ]YQOL
#kz9K	)]
K@@@@@z@@A@AAac
kzaea]uaaa
)))K[@]@ZAJFEELNL
KZALEE]DYv
k)))ZALEEuuu
k)))ZALEEYH]A
k)))ZALL]
KZAMB[@KG
KZAMLDDLYBO
kza@MLo@ELlQ]
KZAMLYEFPL[
")))K@]ZA@O]
KZAPNKCNYC
KZAQJ]NO
KZAXKAQBKY
kza]]Y))
_KZA]]YS@Y()
KZAZZ@JE_@YA
Kz@@@@BAA@Hp@Y
Kz@@@@B@@@Hp@X
KZBMA]FB
KZB_NMJ_@OXJ
KZBOZQJSMG
KZB@QAP[NBSY
KZ_BQFK_
KZ@BYX@GJ
KZCAMFFAY
KZCBGBYC
kZCCNCCCBACC
K]ZCEAAOC
]KZCGJMSXLY
KZCKCMNCZ
*kZCllllllllmllllOllylm;
K_ZCNEL_@_Q@Y
KZCSKMCG
KZCZHAZ]
_KZ[_DA@
k||zd||ad||Nd||7d||
KZDCJ[SOSN@QBPNBAXXP_
kzd@Mk))
KZDXSJ]K[
KZEDKEC_S
KZEKA_[M
K[ZEMCGO
KZEOQMMGFQLP
KZF][BZNOKDXQM]
KZF_D[__Q
KZFFCJQL
_KZ[FGK]S
kZ#.FHMl
KZF_[M]ANA]PD
_KZFYLG()
_KZFYLG))
_KZFYLG]LQ]O@EL))
kzfYLGZmfj((
KZGDHMNHLY
k)))@Z@G[FEL
K@Z[[GKJ
[KZGKSJ@P_MYYOABLHDQ
kzgL]EFNFGm[@_LDHY))
kz|GLZJHYL))
Kzgqgg.1b
kZgqgg1o
[KZGSZAOG
kzgWfgfG
k)))Z]H[]
#)))K@]Z]HDY
K@]Z][HGZO
K@]Z][HGZOL[
k@]Z][HGZOL[jDM))
kzh[[HP))
k)))ZH_L
KZH_LK@GH[P
@@KZHM]_AP
k@]ZHMD@G))
")))K@]ZHMD@G
)))K@]ZHMD@G
:)))K@]ZHMD@G
?)))K@]ZHMD@G
K@]ZHMD@G
k@]ZHMD@GjDM
k@]ZHMD@GLQL))
k@]ZHMD@GmEFHMlQLv
k@]ZHMD@GmEFHMyZ
k@]ZHMD@G|YEFHMcFK))
k@]ZHMD@Gz][@GN))
_KZHMFMK))
kzhMMJFML))
KZHQBHAS
KZHQ[EJCZGJG
_KZHSFMHYMEKB]C@_KY
KZ]HYMXGQQDJGK]NCJ
kzhYYMH]H))
_KZHYYMH]H()
_KZHYYMH]H[FHD@GN))
kzhZJk))
kzhZJ@@mLJ))
KzI@IGICIIXIeJ
k)))ZJA]HZBZ
kzjA[hZJ))
kzjA[hZJd@M))
KzJaJPJ3J
kzjaLEYJ][))
kzjDMm@ZYEHPmgz))
@KZ[JEGPEE_
kzje@JLGZL))
_KZJFG]LG]
[K]ZJHHJ
KZJ@JEJL
kzjjFYP[@NA]))
kzjjjbjjA"
KZJK]CYL
]KZ_JKXND
kzj[LH]LfKCLJ]))
kzj[LH]LlELDLG]))
kzj[LH]LoFEML[))
kzj[LH]LzALEE))
kzjLJA@Yhv
KZ_JLL[GBLL[BQA
KzJPJVJ1J7J
_KZJ[PY]
KZJQJ-J J
KZJTJNJ7J.J
kzJ[@Y]))
kZJ[@Y]))
")))_KZJ[@Y]
#)))_KZJ[@Y]
)))_KZJ[@Y]
)))KZJ[@Y]
[)))_KZJ[@Y]
_KZJ[@Y]
KZJ[@Y]))
KZJYGPJZ
KZJ[@Y]j[LH]LfKCLJ]
KZJ[@Y]lQLJ
kzj|YMH]LzPZ]LDyH[HDL]L[Z))
_KZJ[@Y]O@EL
kzjZsMj]E))
KZKALFQQ
kzk@GaLQ))
KZKGO_OFBKHOXHX
KZKKHQNN_HH
KZK[]K]LHYXY@
KZKLJG@PQQBY]
K[ZKMEOGSPAO
KZKMNX_O
[KZKOLYGLO
KZ][K]QZ_HLOQPXN
[[_[[[[[[K[Z[[K[[[S[[[[[
K)))ZL]D
KZLD[D]POPL
K)))ZL]DPO@EL
K[@Z]LEE
k)))ZL]FKCZALEE
KZlGJFML)(
KZLJKDQA
KzllllllllmllllOllylm
***_KZLQL
_KZLQL))
kzlQLJ))
_KZLQLJ()
kzlQYHGMlG_@[FGDLG]z][@GNZ))
_KZLQ@Z]
K@ZL[ZHKELZ
KZMA]LZZ
kzm@DzL]j[LH]LfKCLJ]()
KZME@JLGZL
kzmF|G]@E))
KZMH[ZYGLOFJ
kzmLEL]Lo@EL))
K]ZML[QPCSOQ
]KZMOHXQ
KZMQHMHEO
KZ@MZQLD
K[ZNCJu]CQFEON[EMQ
KZN_]H[_OHE
K_ZNK]DDB
KZNLASKCJZ]BX
_KZNL]FKCLJ]))
kznL]o@EL))
kznL]zYLJ@HEoFEML[
kznL]zYLJ@HEoFEML[))
KZNNYNO_DPMXJYHE[CFOC
kZN@@@@@o@@A@ADac
K]ZNQ]J]M
kZN@@@@]Y]]
_KZO@ELGHDL
_KZO@ELvMLEL]LvKPvYH]A
_KZO@ELYH]A
_KZO@ELYH]AT@O
kzoF[lHJA))
kzoGHDLaHZmH]L((
KZOKDOYXM
)))KZOLGN@GL[LQQLGN@GL
KZOXDAJSQN]O
KZPADBCA
@KZPAY_B]]
K[ZPBXYL
]K@Z[PDOO]AL
kZpgppepq
 kZpgppepqzq
KZP[LDCLYOYO_XN[
KZPLZCJKY
KZ]P]NBY
KZPOK]DHXQ_MX
KZPPNOKP
kz]Pp]Z_Z
_KZPS_KHE
k)))ZPZ]LD
k)))ZPZ]LD[FF]
KZ[QANXX]
kzqF[aLQ))
kzqF[jFGJH]aLQ
KZQ]P_BAS__MKHKEHPY]J
KZQ]PBSMDM@HM_
KZQPPFBZZBE
KZQYHESGYB
kZRSSBWs
@[kZRSSTO
]KZSBX_K
KZSHMHZSEAD]][J[OZZ[A
KZSN]NJEYYYY
K]ZSPB]]OMMG
KZSP]BPC_MA]FF
KZS_XGQGOCJ
kzTgiggfwl7
k)))Z[_v@GOFv
_KZvJFDDLG]))
_KZvJ[LH]LvHMFMKvZ][LHD))
_KZvJ[LH]LvKHZL
_KZvJ[LH]LvOZF))
_KZvYH]AI
)))_KZvZ][
KzWg#|gfGJ
K)))Zw]wHw[]DwZ@LwQwLJ
KZXBJXA]BPDQQH
KZXCGAZN
KZXG@XZE[
KZX[QL@K
KZXSKXDDGS
KZXXBOAG
kZXXYkIkK]Qp]Z_Z
KZXYAZQNZ]LGLAS
kZXZ_kIkK]Qp]Z_Z
KZYFXXBZ]C
K@]ZYL[JFDYFGLG]
kzyojzyJjzy4jzy
KZYSFBQY
KZYXHJCJJSZZSMZB
_KZZALEE))
[K@[@]ZZBS
kzzDHEEh[[HP))
KZZDPHDQZ_X
_KZZ@ELG]
kzzELLY))
KZZGNYPJH
_KZZH_L))
KZZHY[L]ZHDJFM
kz|zhZJ@@))
k@]ZzJHLE@F
kzzJH[LM))
kzzJ[@Y]@GNozf))
KZZ[L[CA
kzzLGM))
[K_ZZSYM
KZZX]MDHYAD
kzzYE@]))
KZ[ZY_]MB[J
))l)))))
))l)))*)
)||||||||||l
[[[	[[[l
[[[.[[[l
[[[l[[[-
]|||l||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| l||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| l||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l ||||||
||||||||||||||||||||||||||l
||||||||||||||||||l
|||||||||||||||l||||
|||||||||||l||||
||||||||||l||||
|||||||l
||||||l[||||||
||||||l||||||||
||||l|||||||
||||l|||||||||||||||
|||l||||
l@@@@@@@@
l|_@@@@@
l||||||||||
l||||||||||||||
l||||||||||||||||||||||
l||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
	L@@@@@@@@
  L     ?
))L))))(
))L)))))
*||||||||||||||||||L
?)))]]L[
[[[:[[[L
[[[;[[[L
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||L
||||||||||||L
L@@@@@@@@
L@@@@@@@@@
||||||l|0
*.*'L0*?
*.*;L0*'
*.*;L0*;
*.*;L0*?
*.*;L0:'
*.*;L0*3
*.*;L0*3J0-?
L0*3J1-?
*.*'L0:3K3-?
L0:3L0-?
*.*;L0*3M0
*.*;L0*3N3
).*;L0:7
*.*;L0*7
*.*;L0:7
;L0*7L1-?
*.*;L0:7M3
*.*;L0*7N0-?
L(;:07yx
L0AdB[[[
l0B[[[Z[[[K[[[
L0DdE[[[
l0dN[[[A[[[
L0gCtgfG
l0g'egfG
L	]0gIAd
L0gSagfGF
*.*;L0*'J3
*.*;L0:?K0-?
*.*;L0*'K1*'
l0KllllllllmllllOllylmd#
*.*;L0*'L3
L0*?M0-?
*.*;L0:?M1*?
*.*;L0*;M3
l0mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*.*;L0:;N0:
).*;L0:?N3
L0Nbpgppepq
l||||||||||||||||||0O
L0o@@@@@t@@A@ACac
||||||l|0w
*.*'L1*'
*.*;L1*'
*.*;L1*;
*.*;L1*?
*.*;L1:'
*.*;L1:;
*.*;L1:?
*.*'L1*3
*.*;L1*;	3
*.*;L1*3
*.*;L1:3
*.*;L1:3J0
*.*'L1*3N0
*.*;L1*7
*.*;L1:7
*.*;L1*7K3
*.*;L1:7L3*?
*.*;L1:7N1-?
*.*;L1:7N3
*.*;L1:7O0
l1@@@@BB@@Jp@@@@@@@@@@@@@@Cp@y
l1g'egfG
l1gggw-:
l1g_mgfG
||L1||H1||
L1:'J3-?
l1Jhggfwd
*.*;L1:'K0
*.*;L1*;N3
l||||||||||||||||||1O
L1?S.gfGq
||l1||U1||
L26gqgg.0
l26inllllllllmllllOllylm
L2:"AK5(
[L2aV[L)bM[L
L2DdA[[[W[[[
_[L2dK[L5f@ULC	[
L2gUegfG
l2pgppepq:0
l2'PogfG
L2te@[[[
L2te[[[[
L2teC[[[
L2teD[[[j[[[n[[[
L2teH[[[
L2teI[[[B[[[
L2teK[[[L[[[
[[[L2teM[[[
L2teN[[[T[[[C[[[0o
L2teR[[[F[[[w[[[
L2teV[[[
L2tex[[[
L2tez[[[
[[[L2teZ[[[
[[[l2Ud_[[[
*.*;L3*'
*.*;L3*;
*.*;L3:'
*.*;L3:;
*.*;L3:?
l3_]07:D(
L3_]*;2D6
*.*'L3*3
*.*;L3*3J3
*.*;L3*3L3
*.*'L3:3M3
*.*;L3*7
*.*;L3:7
*.*;L3*7	3
*.*'L3*7L3
L39d:AVsKRSS
l@3B3@2B2@
l3dpgppepqG
l3gcagfG
l)3ggfwU
L3g	ggfG
L3gOcgfG
;L3*'J0:
;L3:?J06
*.*;L3:?J1*'
*.*;L3*;J3
L3#Jg5ogfG
l3llllllllmllllOllylm
L3lTgfG|
*.*;L3:'M0
?L3*'M06
*.*;L3*'M3-?
*.*;L3:?O0
*.*;L3:'O3
L3O#OpNON1N;A3A
|||||l|4
|||l|||4
||||||L:4
L42HHaa]Y]]
l47gqggf
l4DdS[[[
l4DdY[[[
l4DdZ[[[:[[[
||||||l|4G
L4g[kgfG
L4gKkgfG
l[[[4kDd
l||4l||0l||
l4llylmo
l||4m||||||||||||||||||
||||l|||||||4M
L4YdI[[[N[[[C[[[
||||||l|5
l	5Aoooo
l5EdK[[[
l 5gSegfG
l5llylms
l||||||||||||||||||||||||||5O
l||||||||||||||||||5O
l5ZIo5Zjxyyyyyy
l||||||||||||||||||||||6?||||||||||||||
L6DdA[[[Q[[[
l6Ed[[[[t[[[i[[[
l6g!cgfG
L6g'cgfG
|l6golgfGo
-l6gqggX
l6Hg#kggw
L6jhggfwF
l6llylm?N
L6pgppepqs
L7EllllllllmllllOllylm
L7fQEyAVLC
l7fZ[[[f[[[
l7gGogfG
L7gSegfG[
L[[[	7hf_[[[
L7llllllllmllllOllylm
L7[pgppepq8
l7pgppepqv
L7s@@@@@x@@A@AAacoo
L7]TgfG0
l@7xXpIq
||||||||||||||||||||l8
l   !    8
l||||||||||||||8
L88yxhyVG9.
L88yxuyG9.
L88yxvyG9.
L8CllllllllmllllOllylm
l8DdU[[[K[[[
L|||8DS4s9
l8ggegfGI
L8gwfgfG
l8llllllllmllllOllylm
L:.8llllllllmllllOllylm
l8llllllllmlll]Y]]
l||8n||4n||
|l8SYn q4#
||||||l|8W
||l8||z9||x
L97u.M9u
L_9_AZL_9
L9]@BA@XpU@@@@@
L(9bggfw
L9ChuBD9[@
L|||9De	V5
L9g1mgfGw
l9gorgfG
L|9gQEyAELt
L@9gqgg!
'L@9INKH9xyx
"L9Ixx]Y]]
l9llllllllmllllOllylm
l9llylma
L9MllllllllmllllOllylm
||||||l|9O
l[[[9tNeC[[[
L9!uRHcA H
L9wjp8PQ
l@@@@@@A@
L@@@@@A@@
la3_]-07:D)
lA_5hggG
lAAAAAA@AAAAAC
lAAAAAA@AAAAAC 
LAAAAAA@AAAAAC
-LAAAAAA@AAAAACw;
LAAAAAAAAAA@A.!G]p
||LAAAA@AAAAAC
|LAAAA@AAAAAC
LAAAA@AAAAAC
lAAAAAAAAaqAH
LAAAAAAAAeqAA
LAAAAAAAAtqAAAAAAAAAAAAAAxqAF
LAAAAAA@Ai!GT*
LAAAAA]AAMqAVAAAAAAAA
LAAAAAA@A*q@@
LAAAAAAB@BqAJ
LAAAAAABCDqAV9
lAAAAAQ@AIqCUAAAA
	@l@@A@AAac
)@@@@@l@@A@AAac
?@@@@@l@@A@AAac
@@@@@l@@A@AAac
lAAAACAAAIqAO
LAAAACAAAIqATh
LAAAACA@AeqAQ
_LAAAACACAeqAQ
LAAAACACBIqAN
LAAAACA@@oqAK
LAAAAC@CCIqAg@
l	AAAA(qDF
lAAAA]Y]]
@@L@AA@@@A@B
@@L@AAac
@@@@@l@@A@ACac
@l@@A@ACac
@@@@@l@@A@ADac
LAADKDJSO
)@l@@A@AFac
@@@@@l@@A@AFac
'LAA:I;9Mxyxvy
LAAKZYQB
LAALAQN]QGNAO
LAA[PKBC
@@L@A@@B@A@@
LaB@A@Cp@p*
L@@@@@ABAEp@D
LABGBBDEZC
_LABHSADMPLON
LABNSQD_S
LABZJGPPQLPJ
@@L@ACac
@@L@AC@@@A@-pBB
@@L@AC@@@A@_p@J
@@L@AC@B@A@
@@L@AC@BAA@Hp@D
laC@@@@BA@@Hp@J
@@L@AC@B@A@Lp@_D
@@L@AC@B@@@ap@I
@@L@AC@B@@@Lp@Yj
@@L@AC@@@@@cp@foC04@@@@@@@@dp@N
LACDJGMP]LC
L[AC_DSMPGXD
LACEC[ZHB
LACHNXLHG
]LA_]C_KJNG]B
@@L@AC@@@@@Lp@X
@@L@AC@@@@@Lp@y;
LAC]MXK[ZYX
LACN[D[Z[DGJCCD
LACPSJYB_Q
@@L@AD@@@A@@
@@L@ADac
)))LA]DE
@())LA]DE
LADJBAZKMPQPM
L[ADKQ@PS
LA]D[LMJYX_ZZ[DO
lAdM[[[G[[[F[[[
LADQ[[@[
LADYCZDLZHM
@@L@AE@@@A@3 E[
LAEAADPMHJZ
@@L@AEac
@@L@AE@@@A@h DQ*t
@@L@AE@@@A@h PN]
@@L@AE@B@A@2 @X8
[lAegfGl*
L@@@@@A@@Ep@D
L]AEPNB_KS]
LAEX[NYA
LA_FAKZL
L]A@F]LELJFD
LAFS_SAM
lAg'agfG
LA.'gAggfR'p
L]AG[BOJX[G
LAGD]CHHB]MH
[LAGDMSCPHJC
lagfGW_2
LAggagfG
LAGHJGKKZ
[LA_GJGY
L]AG@JJ[HO]H[]
LAGLHHBK]
@LAGNNYD
LAGO@HPOLX_DY
LAG[SJDXGZCZ[OPG
LAGSPJZXBZF
LAGXBYXCNE
LA[]GXZ_CJO
LAGYM_DND
laHAAAAAAAACC@AoqAAAAAAAAAAAAAAC@@AIqAJ
l@@@@@@A@h EX
[LAHGEH]@O
)))[LAHGJLM
_LAHKCZN]BSN
]LAHKHOXHPK
L@@A@h LT
l|@@@@@@A@h MN
LAHNSXMM_MO
	L@@@@@@A@h PY
_L]AHQ_GK
|L@@A@h ST
lA[IJDMlMNMFLMZ	xZI
LAIMAMxzxZ
LA[JBPDM
]LA_JCLNS
)))_LA@JELZJHGGL[
L]AJF@G]
L]AJNSZS
[LAJPACKPXKX[ZPOXZDKC@J
LAJPNYBF
LAJX_FOYLHX
LAJ[ZQEK]FNKYAH_NJBH
'LAK;@IH:xyxnyVx9x
_LAKOQPL_OP
LAKXLJYZX
LAKZGYQZO
LALAGL]SO
':LAL@:A;xyxly
((]L]ALD][YE
L]ALGKHZLKHZL
LA]LHCHE@NQA
l)))ALHMELZZZDZZLGMZL[_@JL
l)))ALHML[Z
[LALH[ZHE
LA_LKX[GL
L]AL[LDF]L
')))L]AL[LHE
LALNOGMX[
LALXHY_SX
]LA[LXNJYB
LAL][ZCP@Y[
')))L]AL[ZJHG
l||am||5m||
L]AMEC]G
l||am||Hm||8m||om||*m||
LAMKYQ[Y
LAMLEAF]CD_]HDHH]E
l||am||@m||
LAMMAHCHGO
LAMNXLHYSO
L@AMO@H@@xxx
L]AMQXSD
LAMXMPZXZ
LAND]J_J
landscape
Language
L_ANJQDH_
[L_]ANLZYNNAQC
[L]ANO_A]KNO_A]N_OJM
LANO_DYZ
L_AO]M_HM
LAOODMXMO
LAOXBDXSJ
LAOXLCQJ
LaOXOWOJO
LAOZZMEEDO
LAPBL_POC
*lApgppepq
Lapgppepq
lApgppepqG
LApgppepqx
_LAPMO_]
LAPXL_LCQJ_
LAQGMBZM
l_AQKhbB
LA_QLPBGS
LA]__QQC
LAQQJLSQDN]LBC
LAQSHXKE_NHQM[KA
L@AQXAFA
LARGEALLOC 
l|a(s|aHr|a
]LASGO@_HPQJMCN
L@ASLBKCQ
LAS[MZL]]G
LASPB]AHH
L]ASSCAZYXMQCHX
lastaccessedtime
lastchangetime
lastfiletime
lastfullscanage
lastIndexOf
LastInputTime
last_insert_rowid
Last Known Status
LastLogoff
LastLogon
lastmodified
lastmodifiedtime
last_n_detections
lastofflinetime
LAST_PAREN_MATCHPOSTMATCH
lastprotectionmask
lastquickscanage
last_report_time
lastscn_eqsizes
lastscn_executable
lastscn_falign
lastscn_valign
lastscn_vfalign
lastscn_writable
lastseen
LastSeen
laststartuptime
LAST_SUBMATCH_RESULT
lastupdatedtime
last_value
Last Version
last_write_time
LastWriteTime
LASYHYS]
LateFriendlySuppression
LatentSigIgnored
latestenginereleasetime
latestengineversion
latestplatformreleasetime
latestplatformversion
LaUg-kgfGr
L@@@@@@AV@
@||lA||VA||5A||
LAXAMZZDPJJYOGSLELZA
LAXA]SYS
]LAXBSCO_ZP
LA[XCHYND
LA]XJZJKK
LA_]XKMCGHSPOL
LAXLAKDFMK
LAXLKYC]JYQLY[LCODNAK]L]
LAXMGSDQ
L]AX[MPAHBMXH
l@@@@@@A@XpDV
L@@@@A@@@XpGHJGxc2
LA[XPXCZ
LAXSLJLZDP
LAXX_JLBJ_XPJ@G[OSXXX
lAxxxvzxsxsxuxxrxfy
l)))A]]Y
LAYGKGLQOA
LAYHMEHY[F_HE@L[L
LAYHMJQO
LA_YNY[QS
LAYQAM[A
LAYYNYBAELPX]
lA]]Yz[_))
l)))A]]YZ
LA]]YZ[_
LAYZCZC[JMHBGKQJ
l)))]A@Z
LAZNCPKA
LAZ_QCXZMBZJ
L]AZSLX@
LAZXOOXO_KKOHEM
LAzx?z5x
LA[ZXZ]DZ
lazyBindingInfoOffset
lazyBindingInfoSize
[[[l[[[b[[[
l@@@@B@@@@
||||||LB4G
	L@@@@@B@@9p@@@@@@
L@@@@B@A@
	L@@@@B@A@2 @A
l@@@@B@A@2 @E
L@@@@B@A@2 @E
l@@@@B@A@2 @F)
l|@@@@B@A@2 @G
l@@@@B@A@2 @H
L@@@@B@A@2 @H0
l|@@@@B@A@2 @I
l|@@@@B@A@2 @K
L@@@@B@A@2 @L
L@@@@B@A@2 @LH
lB@A@2 @Oj
l@@@@B@AA@
lbAAAA@AAAAAC
@@L@BAac
L@@@@B@A@AQ@N
l@@@@BAB@
L:@@@@B@A@C
LBAC[CDKGPSH[QLKQSY
L@@@@BAC@Hp@Pf
LBACLBLLM
l@@@@B@A@Cp@_
LB[AEP_@SD]ZCFMK
l@@@@BA@@Hp@N'
L@@@@B@A@Jp@
l@@@@B@A@Jp@H;-
l@@@@B@A@Lp@
lB@A@Np@F
l@@@@B@@@AQ@a
LBA_XES]]
@LBAY_DS
LBAYP_D_[
L@@@@BB@@
LBB[ASOEXO
LBBBBBBB
l@BBB@CxXp
l@bBb@cxXpa
LBBCSLMJY_MB
LBBD[N]QBJ
l@@@@B@B@Hp@Mu
@LBBI9	_[A|
lbblbyVQ
LB]BQ@BBNKQYLXKF[]MGYL
LBBQHPYQ
@@L@BCac
LBC[GN]JMOBAACMPCGCXS
LB@CL]HEB
LBCNPDJQG
LBCNPPBDGKH
lB;cpgppepq5
LBC[ZCJJJPNM
[@LBCZLCQ_
LBC_ZNMJEX_B@
LBd_[[[?[[[
LBdB[[[7[[[5[[[
LBD]CSKOL
LB]DHCYHYG]
LBd@[[[j[[[h[[[
]LBDM]EQ
]LBDQ@CH
LBEAAFOH@GNS
[L]_BEJ_
lB"eT[[[
[LBEXNHL
[[[lB"eZ[[[
[LBEZ@CXK
)))LBFEFN
LBFNDEEPPBMLK@@M
LB[FSSCGEBP
LBF[[[Z[[[K[[[
lbg?bgfG
lbggGKr Cgqgg
lbggGl_E
LBGJD_MBEQD
LBG_MBEP]XQE[
LBG[MGAB@KML
"@@@@L@B@gpT@@@@@
LBgqggpji
LBG@_QZB
)lBgUfgfG
]LBGZA[OH
LBHBNYBGZQ
LBHEBCZOH
L)))BHKH[MHDH@
LBHL_BLMQA_QO
L@@@@B@@@Hp@Cr
LBHPK]CPZHDXMXKKB
LB]H[S][BYZL[_SO
@LBH]WI9
LBH[XG[Y_YE
LBJBEMC[EQZ
L]B@JBLBL
LBJ[FJQDA[CPGZ
[@L[BJGSDA
L_BJK_JY
LB_JSNQGM
l@)B)@*k
LB@KEP[M
LBKJAYANL][ZA]PDX
LBKYPQNZHM
L]BKZQKPSPXB
@[L:@@B[L:a
LBLGAMPHMZ
L[BLGG]G@Z_F[EHNL
LBLGGQADJGP
LBLLQCJGLZG
@LBL@MB_@NBBBT
@lBl@mx8Us
LB[LOL_YCGXCLMLL@JJS
L]BLP[DF
LBLQJQN_YPJH
@LBL@sBs@qBq@pBp@wBw@Mx
@LBLs#RSSl
@LBLsSRSSl
@LBLsSsSS
L_B_LXJNZ
@LBLXYDX]
LBMCYZOZEEJCZ
LB_MFCLJJYMEKJDEZPL]Q
_LBMJCEP
l||||||||||bm|||l||||||||||||||||||||||rm|||||||m||||||||||||||
LB]MLXDZ
LBMNALLZPP
LBMQAZYB
LBMQSMGNH
LB@M]@YNAKNL@X
LBM[ZYCL
l@b;N5_KN4
LBNAQLJDBP
]LBNOEFPHO
l@@@@B@@@Np@N
LBO8O?O.O
]LBOECLOLXLX
LBONDLCZ
LBOONNK@Y
LbOSOCO1O!O
LBOYADCDCQ]Q
LBOZNXX@Z
Lb@@@@@p@@A@ACac
LBPANSQZSX
lbpgppepq
L]BPLBPHGNLDC__A]GFBQ_Z]
L_B_PLFKDLY_
LB_PMDECKC[NKALKJHHL
_[[L_[B[P_S
LBQBNZHQH
]LBQBZHO
lbr_stats
L]BSDKKQX
L]B_S[HBS
LBSJ]ZLAJ
_LBS_PCB
LBSSB]DB
LBSYGMSB]
lBTB]	BT	
lBTLsdHBTL-fFBZD
@LBWsSRSSd
[[[l[[[b[[[WXAex[[[
LBXEZLG]
LBXO]XJK
L@@B@XpLP
]LB_XXJSBM@A
l@!B!@"xXp
l@-B-@.xXp
LBYBBY_O
LB@YDSDK
L)))BYELHMZ
LBYNBYK[AZXEZ
LBY[N@HB]ZBANA
[LBY_QEXJ
LBYQYXDSSCOQ
LBYSBDYFEC
LBYXAKA]_JMHC_YG
LBYXLMQF
LBZAXDAP
LBZGPM__M@
l-Bz hOZ
lB[[[Z[[[K[[[
LB[[[Z[[[K[[[7
_L[BZPHGAQ[KYOP
LBZSBNE[P
LBZXNGXYKS
||lC||||||||||
LC1BTsSSRS	2sSS
LC1BZsSSRS	2sSS
 LC2d5mg
L"c3s@gfG
lc8gqggMsK
@lC9C!C	C
_LC9XULC9
LCAHF][QPGFOO
[L[_C[[A@M_
]LCANEC_
L[CA]OMZ
L[C@AQCMGBDAKH
LCAQ_ZK_[_
[LCAYAJS
LCBCXQQOQJDXO]X
LCBKXASPHLSMJDO
L]CBL[_JNX
LCBLXAQS]OOS
LCBMS@NN_[DOLG
L[CBNSOLC
LCBNXGAPBX_
LCBPEJMJJ
@@L@CCac
@@L@CC@@@@@cp@J
[LCC_J]E
LCCJN_J]E
L_CCNCCCBACC
(L_CCNCCCBACCs
LC_CODE_SIGNATURE
LCC@QZZA
LCC_SNNZGA
lC(d_[[[
LC_]]DAP[Y
LC_DATA_IN_CODE
[[LCDAYS
LC]DBAACX
LCDBXDQMZ_H
LCDGBAGZ_
[Lcdh[Lc
LCDM@N]GK_A
Lc	D*Nqp
LCDOAML]YM
LCDPSOENOD
LCdrTsSRSSdJPJ9
@[[Lcd][s
]LC@DSYF_MG_]BG
lc]dT[[[)[[[
LCd[TsSRSSg
_[LcdV[LjeF[L2dV[L5eX[s
LCdWBVxRD@VUD
LCdXTsSRSS
LC_DYLD_ENVIRONMENT
LC_DYLD_INFO
LC_DYLD_INFO_ONLY
LC_DYLIB_CODE_SIGN_DRS
LC_DYSYMTAB
_LCD[ZO]JN[PGSY
@@L@CEac
@@L@CE@@@A@h On
LC_EBNSXXLZG[LB_H
_L_CEGGQYSJ
L[CEGOG]QQBH[KDCJQ
LceKdgfGc
LCEOZMO__M_QHL@ZC_
LCePTxRDXU
[[[L|ceQ[[[
[LCeQDyEy
LceQFyE@@U
LCEZ[G_NZO]YSJ
LCEZZCB]
LCF]MJKMYG[P[
LC[FO@Y]M
_[LCfQEy[LcfP[xQLcXZT
LC_FUNCTION_STARTS
LC_FVMFILE
LCfWUK3YZHePU
]LCGBOGS
L @cgfG	
LCGGGNPE]
LC@GGLQJB]KP@ZBKJH
]LCGLDPMJKJ
_L[CGLODNNX
LCGMYB@AN
l-cgqggKy
lCg'wggG
LCG]XLMN
L[CG@XSHB
LCGZDDYQLQF@
LCGZ@Y]P
[LC	[H72[
LCHAMKKDGOMAHM
LCHGDSN]DC
LCH_HZJ[@Y]
LCHSF_AJKA][J
L[CHXMOMJK
LC_ID_DYLIB
LC_ID_DYLINKER
LC_IDENT
LC_IDFVMLIB
LCIDToLocaleName
LCJ_JDE_LP_OB
LCJJXEMP
L@CJYENJ@AB
LC@KBWBZ
_LCKOPJKZOYGBQ@ESQYJFF
L[CKZPN[__X
LCLANOQ_
LC_LAZY_LOAD_DYLIB
LCLBHKN]EPZ
LCLCX]AY
LCLDFNEX
LCLDYOCJ
[LCLJ]@FG
LCLJOGPJQM
LCLNX[E]
LC_LOAD_DYLIB
LC_LOAD_DYLINKER
LC_LOADFVMLIB
LC_LOAD_UPWARD_DYLIB
LC_LOAD_WEAK_DYLIB
LCLOMOEHOHXGQ
L[@CLXiA]]Y
l||cm||8m||
LCMapStringA
LCMapStringEx
LCMapStringW
_L_CMCABG
]LC@MFZCF[N@]F
LCMH_GJP
LCMK__NSGYYMN
l||cm||.m||
LCM]MZDDX
LCMPGOHL
LCMQNHQN
LC_MZEXL
]LCM_ZLM@[
LC@MZYH_ALAPHPXMOFDO
LCNFKB]QD
L"cnGfgfG
LCO]CD[S
LCOCLAAMG
LCOENQS_XD
L[COJBJY
LcO@OyNtA
LC@OQECL
LCOQMLLQBKC
LcOVgAgg
LCOXGANY
L@COZOGXPD
LCPASAAKFH
LCPBXCFY
@LCP]__HDEF
LCPLADLSO
LCPME_Y[[SSQ
L[C_PPGE
LC]PQOJNC
LC_PREBIND_CKSUM
LC_PREBOUND_DYLIB
LC_PREPAGE
LCPSPFS@
LCPXLDGEL
[LCQJFKP
L@C[QLAK
]LCQY_P[A]KKP
LCQz2WSB@]B]j
LCQz2WSB@XBXj
LCQZMCAYJX
LC_REEXPORT_DYLIB
LC_ROUTINES
LC_ROUTINES_64
LC_RPATH
L[C_]SDFOQALD]_N
LCSDPXNBKS
LC_SEGMENT
LC_SEGMENT_64
LC_SEGMENT_SPLIT_INFO
L__C_SESJSPON
LCSOO[@Z
LC_SOURCE_VERSION
LC_SUB_CLIENT
LC_SUB_FRAMEWORK
LC_SUB_LIBRARY
LC_SUB_UMBRELLA
LC_SYMSEG
LC_SYMTAB
LC_THREAD
LC_TWOLEVEL_HINTS
LC_UNIXTHREAD
LC_VERSION_MIN_IPHONEOS
LC_VERSION_MIN_MACOSX
lC|voeo9ogo
[LCX@AKEMX[ZH
]LCXGLKAKZ_D
LCXHKH_OMG]
lCxxxGxxyxyxyxY[4
LCxxx;xxyxyxyxY[4
lCxx]Y]]-
]LCXYADHSGQO
LCX_Y_SMA]ZX
LCYBHAYN
LCYB[KL_
]L[C@YHZ
LCYLAJL[BBK
LCYLNNSZ
LCY_M[CS_P
LCY@_XKS
_LC@YxUBZD
LCZB[PJ[YJMNNZP[
LCZGYQ__OG
L]CZGYS[E
LC[ZHNA@H
L]CZNX]N]
LCZQLYXQPGNFQ]GS
LCZSEQHJCE
#l|d[[[[
)ld[[[[)[[[
)ld_[[[ [[[
_|||l||d_||||||||||
ld_[[[.[[[#[[[
||l?||D?||
Ld][[[|[[[
Ld@[[[0[[[-[[[
[[[Ld0dT[[[
Ld][[[1[[[
Ld_[[[1[[[
LD3g'ogfGU
||l|	d4E:
ld(5FdBx
|ld7N.da
|@LdA[[[
LdA[[[![[[
LdA[[[9[[[8[[[b
LDAAG_YZ
@]LDABED
_LDACLMZL
)ldA[[[d[[[
)ldA[[[_[[[D[[[
LDAJDQKEMNMQ
]LDAJJD_[J
)ldA[[[P[[[E[[[
LDAPSearch
ldarga.s
LDAZHY@ZA[DGLYA
LdB[[[	[[[
LdB[[[6[[[5[[[
LDBASPZHP
L@@DBB@P0@@@@@@
L]DBCBZ@KZMCK
l@dBd@kBk@jBj@iBi@ek
LdB[[[e[[[
LdB[[[f[[[
@LDBHYXDY
)ldB[[[K[[[
ldblquote
Ldbpgppepq
LdB[[[w[[[v[[[
LD]B@ZDEXX
)ld][[[_[[[C[[[
)ldC[[[*[[[)[[[
l|dC[[[(
l||DC||||||||||
LDCA[BBS
@@L@DCac
L_DCAOSQKGG
LdC[[[D[[[
ldc.i4.0
ldc.i4.1
ldc.i4.2
ldc.i4.3
ldc.i4.4
ldc.i4.5
ldc.i4.6
ldc.i4.7
ldc.i4.8
ldc.i4.m1
ldc.i4.s
)ldC[[[k[[[
ldC[[[k[[[g[[[[[[dU[[[j[[[
ldC[[[k[[[j[[[[[[dO[[[
LDCMLZYJOAB[C
ldC[[[o[[[
LdC[[[q[[[
	#LdD[[[
LdD[[['[[[
LdD[[[.[[[
Ld_[[[d[[[3[[[
l:DdB[[[
LDD]DOMA@HAA_ZO
l)))DD]DY
LdDeg[fggG
L;DdF[[[
L[DD]G[K
LDDGKNAY@LPE
]LD]DH[MXD
L DdJ[[[
LDDKFPDKS
[LDDMDFKCJEHZZ
)ldD[[[o[[[
lDdO[[[Y[[[H[[[
l]DdP[[[_[[[U[[[
LDDQXMKO[
LDDSSPAPMQY
l*DdT[[[Z[[[
Ld][[[e[[[
)ldE[[[a[[[
@@L@DEac
ldea:dIu
ldelem.i
ldelem.i1
ldelem.i2
ldelem.i4
ldelem.i8
ldelem.r4
ldelem.r8
ldelem.ref
ldelem.u1
ldelem.u2
ldelem.u4
LDEM_YHXAN
[LD_E[S_
@LD@ExVUBX
LdE[[[z[[[
)ld][[[_[[[F[[[ 
Ld_[[[f[[[
LdF[[[4[[[
LDFD[HSZMCGMK
)))[LDF]@GN
[LDF]@GN
@LDFGZ]L[HJ]@_@]PML]LJ]LM
@LDFGZ]L[ZLAHML]LJ]HMF
LDF]@JFGZ
@LDFK@EL
_LDFKPNNBN
LDFKZDN@N
')))[LDF_L
)))[LDF_L
;)))[LDF_L
[LDF]L))
[LDF]L]A[LHM
l)))DF_LB@EEY[FN[HDZ
[LDF]LBLPKFH[M
[LDF]LEFHM
lDF]L]egb
[LDF_LGFML
[LDF_LHEE
[LDF]L[HGB
[LDF]LHMM[LZZ
[LDF_LJA@EM
[LDF_LJ@D@GZ]HGJL))
[LDF]LJDMEL]Z
[LDF_LJEHZZ
[LDF_LJEZ
lDF]L]j[PY]
[LDF]LLGMYF@G]
[LDF]LLGMYF@G]HMM[LZZ@GOF
[LDF_LL_LG]E@Z]LGL[
[LDF_LL_LG]E@Z]LGL[))
[LDF_LL_LG]E@Z]LGL[]FZ][@GNDL]HMH]H
)))[LDF]LLQL
[LDF_LMFJBL[QD[@DHNLH
[LDF_LMLO
[LDF_LMLO@G@]@FGZ
[LDF]LO@EL
[LDF_LOFEML[
[LDF_L[u
[LDF]LvAFZ]
)))[LDF]LvHMM[
[LDF]LvHMM[
lDF]L]vNL]v@]LD))
)))[LDF]LvO@EL
lDF]L]vOF[LHJAv[LNZ_[
[LDF]LvYF[]
[LDF]LvYH]A
#)))[LDF]L@Y
[LDF_LY[FYt
[LDF]LZALEE
[LDF]LZALEEJFML
[LDF]LZDH[]JH[M[LHML[
[LDF]LZJ[@Y]KEFJB
')))[LDF]LZ@NGLM
LdF[[[r[[[q[[[
LDFSBCXZ
LdF[[[W[[[
)ld_[[[][[[G[[[@
Ld_[[[g[[[
[LdG[[[?[[[
Ld@[[[G[[[
LdG[[[1[[[
LDGALEQPKCGGCNDS
LDGANNMHBXHY
LDg'fgfG
LDgGcgfG
LDGG@MO@P_
LDgGtgfGZ
]L[D@GHE
)))]L[D@GHEYH[ZL[
]L[D@GHEZ
]L[D@GHEZL[_@JLZ
]L[D@GH]L
]L[D@GH]L]A[LHM
]L[D@GH]LM
]L[D@GH]LY[FJLZZ
LdG[[[H[[[O[[[
LDGHSXGZJ]PJ
LDgkogfG
LdG[[[M[[[|[[[	
L[[@_[D@]GM
[LD@GML[
LDGML]_NGAC
]L]DGQK[
Ld][[[G[[[z[[[;
)ldH[[[-[[[
 LdH[[[;[[[
Ld][[[H[[[
LdH[[[	[[[
)ldH[[["[[[![[[5
LDH[BL]@GN
]LD@HBZF[
	)))LDH@E
)))LDH@E
:)))LDH@E
LDH@E]@DL
LDH@EDLOF[D
LDH@EF[LDH@EK
)))LDH@EHMM[LZZ
LDH@EHMM[LZZ
LDH@EJALJBJFML
LDH@EJEHZZ
LDH@EJFML
LDH@E[LYH@[UOF[
LDH@EM@[LJ]EP]F
LdH@Eo[FD)(
LDH@EO@LEM@ZLDY]P
lDH@EyEHJL
LDH@EY[F_@ML[
LDH@EZL]]@GNZ
)))LDH@EZL]]@GNZUOF[
[LDH@G@GNU
ldH@GhJ]@_@]P
LDHGH]LMu
(([_L[DHGHNL[UM@ZHKEL
[LDH@GHO]L[LQ@]
[LD@]]HGJL
)))LDHG]Y@[JZ
LDHG]Y@[JZ
@]LD_H[@HKEL
)))LDHJZ
LDHKZKFH
ldhllllllllmllllOllylm4
LDHMGDCL
)))[LDHMMKP]LY][LZ@
?)))[LDHMMLHQJ
LDHMQJFML[
LdH[[[n[[[
Ld@[[[H[[[O[[[
LdH[[[o[[[c[[[
LDH]PCPZHKK
LD_HQLOEYN
LdH[[[V[[[p[[[)
]L[DHZJH]@EEF
]L[DHZMLJH]@EEF
LDHZQDNGYL_
LdI[[[)[[[([[[
LdI[[[3[[[
l_dI[[[d[[[
)ldI[[[I[[[
ldind.i1
ldind.i2
ldind.i4
ldind.i8
ldind.r4
ldind.r8
ldind.ref
ldind.u1
ldind.u2
ldind.u4
)ldI[[[Q[[[M[[[
)ldI[[[x[[[
LdI[[[z[[[
LdI[[[Z[[[
:l|dJ[[[
[[[;l|dJ[[[
LdJ[[[4[[[
LD_J[C[GDY
LD@JEF]L[
LD[JEGSH
LdJ[[[@[[[F[[[
)))[LDJFYP[@NA]Z
LD@J[FZFO]]LHD
]Ldjggfwv
LDJHNHJPOSZHX
)ld_[[[J[[[I[[[
@LDJKAYBG
LDJNYBQHC]EXQ
Ld[[[[J[[[O[[[
LdJ[[[R[[[
L@DJXAJ]_MAH
;l|dK[[[
l|dK[[[#
ldK[[[?[[[
LdK[[[*[[[
LdK[[[@[[[
)ldK[[[7[[[
LdK[[[8[[[
LdK[[[C[[[
LDK_CEX]MM
LdK[[[e[[[
)ldK[[[G[[[
LDKGZXHFLY
LDKHO_ON
LDKL[ABJCB
LDKLMAL@NA]
LDKLMGHDL
LDKLMJFML
LDKLMM@GNZ
lDKLMMLMfel
LDKLMMLMFKCY[LZLG]
lDKLMMLMjL[]))
LDKLMMLMO@EL
LDKLM]PYL
')))LDKLMYHPEFHM
LDKLMYHPEFHM
)))LDKLMZ[J
LDKLMZ[J
)ldK[[[][[[M[[[
Ld][[[K[[[M[[[c
)ldK[[[O[[[N[[[
'LdK[[[p[[[
:LdK[[[P[[[
LDKPXGXQ
)ldK[[[Q[[[N[[[k@Fd_[[[P[[[H[[[
l|dK[[[W[[[
LdK[[[W[[[
LD[K[XPOGZZC
LDKZB[LSPM
)ldL[[[.[[[
ldL[[[	[[[
LdL[[[-[[[
LdL[[[1[[[
LdL[[[a[[[
LDLB[JLJ
LDLBPAOSM]Z_
LdL[[[C[[[
)))[LDLDKL[DL
[LDLDKL[DL
[LDLDKL[uQ
[LDLDKL[vDL
@]LD]LDYEH]L
[LD[LELHZL
LdL[[[G[[[j[[[
LDLGSAAM
LDLG]ZKP]HNGHDL
LDLGZ]MO
ldllllllllmllllOllylm6s
LDL[N@GN]A[LH]Z
LDL[NLGJPMLG]@Z]EFGMFGY[F
LDL[N[LYF[]v
ldloca.s
]LD@LOD_
LDLPZ[JDJPM
)ldL[[[X[[[_[[[
LDLXCSXDXZGZ
LDLX_LDGJF
LDLXNP]]
)))[LD]LZ]]HZBB@EE
[[[:l|dM[[[
l|dM[[['
Ld_[[[m[[[
LdM[[[#[[[
l||dm||1m||
LdM[[[6[[[
LdM[[[A[[[G[[[
LdM[[[][[[C[[[
LDMCHCXD_J[JP
LdM[[[d[[[
LDMDNLOCCY
l|dM[[[@[[[G[[[
LDMJ_NO[OJ
LD[MLZHCSN
LDM]ONDB]
)ld_[[[_[[[m[[[p
)ldM[[[|[[[r[[[
LDMSAZKG
)ldM[[[X[[[g[[[
LDMXYZDOCYHQ
)ldM[[[y[[[
LdM[[[y[[[x[[[r
'LdM[[[Z[[[
LdM[[[Z[[[
*LdN[[[@
LdN[[[#[[["[[[
LdN[[[)[[[
LdN[[[-[[[
)ldN[[[][[[H[[[
LdN[[[h[[[n[[[
)ldN[[[j[[[m[[[
LdN[[[n[[[
)ldN[[[X[[[
)ldN[[[X[[[v[[[
LdN[[[Z[[[
*!LdO[[[
]*LdO[[[
LdO[[[	[[[
LdO[[[?[[[
LdO[[[1[[[7[[[
LdO[[[3[[[2[[[
l[d_[[[o[[[a[[[
LDOAGOOX_
[L@DOEKC
@]LDOKCKELOGL]B
LdO[[[N[[[
LdO[[[o[[[
LD[OP_CDZP
LdO[[[p[[[o[[[l
;LdO[[[Q[[[F[[[
LdO[[[R[[[T[[[
LdO[[[S[[[J[[[
LDOXAKYJ
LDOZLXHPB
L][DOZQDE
LdP[[[6[[[
LdP[[[b[[[a[[[
LDPBJPNNO
LDPCEQ_]
l)))DPGHDL
lDpgppepq
LDpgppepq
_[LDPHY[@ZAEF_NFZ]@F]Y[H_@]ZPHMLOFB
)))_[LDPHY[@ZAEF_NFZ]@F]Y[H_@]ZPHMLO[FMDHGMZ
_[LDPHY[@ZAEF_NFZ]@F]Y[H_@]ZPHMLO]PYL
 LdP[[[m[[[
)ld_[[[_[[[p[[[W
Ld_[[[P[[[W[[[
@]LD]PYL
@]LD]PYLM@[LJ]F[P
@]LD]PYLO@EL
LdP[[[z[[[
LdQ[[[6[[[*[[[h
L]DQ]BEP
LD_Q_CJCMAYYQXYAF
LdQ[[[g[[[
LDQJZ_YO_MZJES
]LDQMNJJ
LDQNQCQB
LD@QPML_MK
LdQ[[[|[[[p[[[t
LDQSG]AA]KQH@
LdQ[[[W[[[K[[[u
LdQ[[[x[[[|[[[.
)LdQ[[[z[[[y[[[n
	(LdR[[[
Ld[[[[*[[["[[[	R
LdR[[[)[[[
)ldR[[[B[[[
]LdR[[[@[[[D[[[
ldRdN[[[Z[[[h[[[
|LdR[[[G[[[p[[[
LdR[[[q[[[u[[[
)ldR[[[T[[[
LdS[[[0[[[
LdS[[[8[[[
L[[[[[[dS[[[C[[[
LDS_CBL]L_L
LdS[[[C[[[E[[[
l|d(s|dHr|d
L]D[SD[LK
_LDSHCHA
LDSHL[EFCXK
@LDSMFJAGZB]A
LDSM]Q]DP
LDSNHEGAGZ
]LDSNODAAD
LDS[QMKS
)ldS[[[_[[[W[[[]
ldS[[[w[[[v[[[]
LDSZOA]SXNQ
L[[[[[[dT[[[
Ld[[[[T[[[
;l|dT[[[7[[["[[[
ldT[[[:[[[9[[[N
Ld][[[t[[[c[[[ 
)ldT[[[k[[[
)ldT[[[K[[[
LdT[[[k[[[o[[[
LdT[[[l[[[
)ldT[[[o[[[n[[[y
LdT[[[R[[[
L'dtr!g:X
LdT[[[R[[[M[[[
LdT[[[Z[[[
LdU[[[8[[[
)ldU[[[][[[A[[[u
)ldU[[[c[[[
)ldU[[[_[[[D[[[u
ldU[[[e[[[
)ldU[[[_[[[E[[[u
LdU[[[j[[[
LdU[[[O[[[v[[[u
LdV[[[a[[[
	LdV[[[c[[[
L[[[[[[dV[[[C[[[
LdV[[[C[[[B[[[g
ldV[[[C[[[B[[[)l|dY[[[
)ldV[[[([[[.[[[e
LdV[[[g[[[
ldvirtftn
LdV[[[j[[[
LdV[[[m[[[c[[[j"8eY[[[
LdV[[[N[[[B[[[
ldV[[[q[[[
LdV[[[Z[[[
l*_dW[[[
ldW[[[|[[[
#LdW[[[][[[
LdW[[[([[[
[[[;l|dW[[[6
LdW[[[I[[[
Ld[[[[W[[[K[[[
LdW[[[K[[[F[[[
ldW[[[m[[[
'LdW[[[m[[[a[[[5
)ldW[[[X[[[V[[[
LdW[[[Z[[[
[[[:l|dX[[[
][LdX[[[
LdX[[[2[[[
LdX[[[6[[[
 LdX[[[:[[[9[[[
LdX[[[9[[[8[[[
LDXAJ]MSL
"LdX[[[b[[[
LDXCDGY[SLXM@
LDXCJCPPN
LdX[[[F[[[E[[[
L_DX]FGM
]LDXKS][QQBYMP
_L[DXMOSEGJO
Ldx[[[O[[[
'LdX[[[o[[[
LdX[[[O[[[
@L[]DXQSN
LDXQ[ZAJK]JAK
LDXSNZKPAJ]_
)ldX[[[_[[[t[[[
l_d@[[[y[[[
'l|dY[[[
")))]LDY
l|dY[[[2
LdY[[[8[[[
LdY[[[_[[[B[[[
LD__[YBO
LDYB]OGOXM@B]PLN
LdY[[[C[[[y[[[
LDYECMJK_]
LDYEFPLLYF[]HE
]LDYEH]L
]LDYEH]LDLZZHNLJ@DHNLMFJLNODLZZHNLZ]HJB
]LDYEH]LO@LEM
]LDYEH]LvH]EHZ
]LDYEH]LZ
]LDYEH]LZDHGHNL[ZPGJ
]LDYF[H[P
]LDYF[H[PO@EL
]LDYF[H[POFEML[
LD@[YFJZLMH[K
@]LDY[FYL[]P
@]LDY[FYL[]PAB
LDygqgg!
ldy[[[H[[[
@]LDY@JBL[M@HEFN
#)))]LDYLEL]
]LDYL[FHE]L[GH]@_F
lDY@[LmLJFML))
lDY@[LnL]jE@YKFH[MjFG]LG]Z
lDY@[LnL]zJ[LLGZAF]lQJLY]@FG))
LDY@[LY[FCLJ]
LDY[LYPDL
)))]LDYM@[
:)))]LDYM@[
*-*]LDYMH]
l|@dY[[[n[[[m[[[
)))]LDYO@EL
]LDYO@EL
]LDYOFEML[
LDYOHGY_
@)))LDY]P
lDY]PeFFY))
lDYP[L))
LDY]PvED
l|dY[[[q
Ldy[[[Q[[[
LdY[[[Q[[[W[[[
]LDYuBLP
)ldy[[[U[[[I[[[
]LDYuK[_D
]LDYu]LZ]
]LDYuMBD]
]LDYuO@EL
]LDYuQAMBAXDBPF
]LDYuQEAZKNSYZQ
]LDYu[SZY[AZKLD
]LDYuZ_JHMM[
]LDYvM@[
-LdY[[[W[[[M[[[
)))]LDYYH]A
]LDYYH]A
)))]LDYYHZ]H
]LDYYHZ]H
['lDyyyi
 l|dZ[[[
l[[[[[[dZ[[[
[[[:l|dZ[[[3
LdZ[[[5[[[
LdZ[[[6[[[
ldZ[[[b[[[
L]DZBMGB
)ldz[[[B[[[z[[[L
LdZ[[[D[[[
LDZD_AGG
@]LDZELGF_F
LdZ[[[@[[[G[[[
)ldz[[[_[[[j[[[D
)ldz[[[K[[[O[[[
LDZLQY[LZZ
LD@ZNGHP_XX]H]_DHMPLF
LdZ[[[O[[[M[[[
L_DZQHFYXBM
LDZQ_ZPE
)LdZ[[[r[[[
)ldz[[[_[[[s[[[
]L[DZvO@ELZ
Ldz[[[w[[[
LDZXEGFQDQXO
[LD@ZZ@FG
L[DZZFHJH_@AHE@HPO
?)))LDZ@ZFO]LDL[NLGJPB@]
LDZZYLLMYFZ]U
?[le@[[[
[[[?[le][[[
[[[?[le][[[	[[[
[[[?[le_[[[
L@"e[[[[
lE4@@@@B@A@2 @G
leA[[[9[[[8[[[
leaaacUUcUURa;(
LEADDXPYNBNFN
_LEADQSH[
leaf_nodes_array
LEA]ONZX
LeaveCriticalSection
LEBCMC]S
_LEBFYFYF_LJBFSLE
LEBHHE_C
l_EbvgfGY
LEBYQ]NO
LE_BY[ZQAM
leC[[[.[[[-[[[
leC[[[2[[[
[LeC[[[A[[[
@@L@EC@@@A@Lp@X
LEC_MQHHO
LECNQYHGBYQ
leC[[[o[[[l[[[[[[dU[[[n[[[m[[[
LEC_PXSY
LE_CQSON
LE_CSYGQLNKOM
[[[?[leD[[[
Le]d_[[[
le']	da(
LEDAHG]QNFA_G[
LE[DCSOC
L.EdD[[[
L(EdE[[[
LEDHDHDFK@E
_LED[HMQAF
LE[DJCGP]HLAX
L_EDJGXA]XO
#lEdL[[[
lEdN[[[![[[
LEDQMSEA
lEdx[[[P[[[W[[[
[[[?[leE[[[
L-eE[[[|[[[
LEEADKPP
LE[EAOXZ]NADQD
@@L@EE@B@A@2 @B
L_EE_BPD
l_@EEFKF
((LEEFMvJ[LMFMvA@MMLGFMvJE@LG]A@
LEE]HSPXMO[G]
]LEEHYYE@JH]@FG
LEELGH]B@G
_LEENMYS
LEESD_@G
LEEYONKOPPZ
?[leF[[[
[[[?[leF[[[
leF[[[d[[[
LEFGBJ[SAO]MYKK
LEFGD[ZBD
?|l#efGR
l)))EFJH]@FG
_LEFJ@[HY]F[
l)))_EFJ@]P
leFllllllllmllllOllylm"
LEfsB@LjeUB@L
LEFSQPL[
left-curly-bracket
Left-over characters in stream after parsing a JSON value
left-parenthesis
left-square-bracket
?[le_[[[G[[[
?[leG[[[
legacy_alter_table
legacy_file_format
LegacyLua
LEGDZMM_SJD
)legfGbTZ
LEGHGX[][C
]LEGL]vYF[]
legqgg7(
lE;gqggba
(LEgqggh
LEgSmgfG
[[[?[leH[[[
[LEH]@FG
[LEH]@FGZA@Y
[LEH]@FGZA@Y]H[NL]
[LEH]@FGZA@Y@M
	)))[LEH]@FGZA@YZ
)))[LEH]@FGZA@YZ
[LEH]@FGZA@YZ
[LEH]@FGZA@YZQDEGZ
[LE@HGJL
)))@[LEHGMYFGP
[LE@HKEL
[LEH]@_L
L[EHM_PSD
L]EHNPHH
lEHY@MHL
L]EHYNPH[]HZ
LE@HZDL]HE
LEHZ]@JF
leI[[[R[[[
LEJEC@_AZ
")))LEJFDZFO]
]LEJJX[@O
LEJ[OXX@@OK
LEJPH]SXH_PQP
LEJY_M_BH
LEKEFNMLEFZJHJAHG@EEHZ
]LEKEQ[B
LE_]KNYA[
L]EKSCKXEOM]G_X
[[[?[leL[[[
leL[[[;[[[
LELA@LLHEHE__L
)))LELB][FG
LELDGHDL
	)))LELDLG]
)))LELDLG]
LELDLG]DH]JAL[
LELDLG]F[
LELDLG]F[u
)))LELDLG]JEHZZ
LELDLG]JEHZZ
LELDLG]][LL
LELDLG]Z
LELDLG]ZB@]
leleUUaUU
LEL][FJFNA@
LEL_H]F[
LEL_H]LM
LEL_H]LSFFD
lEL_H]Ly[@_@EHNL((
[LELHZL@M
[LELHZLZ
lELJ][FG
LELJ][FG
LELJ][F]LJG@H
LELJ][@J
LELJ][@J@]P
LE[L]JOZZMJ
LELJZH_L[
LELKNEFG_
LEL_LGYH]AZ
lEL_LGZ|Y
lEllllllllmllllOllylm
?LellllllllmllllOllylm
LellllllllmllllOllylm
lellllllllmllllOllylm0
LEllllllllmlll]Y]]
LELMZJPG_C
_LEL][NF_@GH
]LELN[HD
]LELN[HO@ZBLZ
)))[LE@LOAH@[ZHEFG
]LELOHJL[
?[leL[[[Q[[[P[[[
LELQYHNL))
LEL]SLAA
_[LELXQDH]C@S
]LELYAFGL
LELYHCDO
[[[?[leM[[[
LEMEGGOZLJJ]FSXCMQ
L_E]MPNOXB]LAJ
LEMQG[[NJX[LAMY
LEMQS]ZG
leM[[[U[[[K[[[2Q
_LEMZFO]
?[leN[[[
LENACHKCDPXZKCSNCQ[@B]DEYLKDK
LENEGQJJ
l_@EnGFDL
LENL[PFM]Q]
LENQYOZ[DDJSGZ
len too big
?[leO[[[
le][[[O[[[C[[[LJ;dW[[[
)))LE@ODH@GvJFDDHGM
LE@ODH@GvJFDDHGM
)))LEODLDF[PZ][LHDL[vNL]LG][PvFOOZL]
LE@OF]L_HZ
LE@OF[YFG
lEO@Go[LLhJ]@_@]P
LE@OH]]HJBvDL]AFM
l)))EOiYF
LE@OMH]H
)))L@E@ONEFKHE
LEOODHDQQK
LeOYO]OUO)O-O!O
?[leP[[[
LEPAJEYZZ
LEPAQZYPXX
LE_PGPBGO
leP[[[K[[[H[[[
LEP@Z@DA
?[leQ[[[a[[[
LEQDXQN_HQZ
leQEyAJL
leQ[[[i[[[
LEQPQN_MDD
LEQXZAPLESCJPYMHL
?[leR[[[
?[leR[[[l[[[b[[[
?[leS[[[
[[[?[leS[[[
l|e(s|eHr|e
LESJXAQQKC
L]ESLXCS
LES@MN[A
LE]SNEMXO
leS[[[Q[[[
less-than-sign
?[leS[[[u[[[t[[[]
?[leU[[[
[[[_L'eU[[[
leU[[[1[[[
level must be non-negative
LevenshteinDistance
leV[[[Z[[[
L_@EvZJ[@Y]
?[lex[[[
le[[[[x[[[
LEXBSBQYD
[LE[XDLG
L|!e#X*m
LEXODZMQ
LE_XOJQPNGA
L]EXPGKDJEZP[S
@LE[XPNC[
L]EXXQNQ
LE[[[XZL
_LEYBQM@
LEYH]JSNP
LEYKGE_GPNGYCXCNH
LEYLLOYL
|leYm	de
LEYN[ZJZ
LEYQDKFH
|lEYVXT@UETgaV@VQ
L]EY@_X]AP]OGG@GBPE
?[lez[[[
.[[[?[leZ[[[-[[[
?[leZ[[[
[[[?[leZ[[[
leZ[[[?[[[
L@EZAB]XZJCKQG]AFH
LEZBBNX@X_@E
)))LEZDHAP
]L[E]Z]DQEKB
LE@ZHEFYLSYAF]FN[HYAP
L]EZJCSAHOK
L[E_@ZKDQQ_
LEZLEFJH]LO@EL@GO
LEZLFGHJJLZZ
LEZLGFGL
LEZL@GL]NL]
LEZLHEL[]
LEZLHMM@DN
LEZLHOBKL[HL
LEZLJHEE
LEZLLJAF
LEZLMLJ[PY]@FG
)))LEZL@O
)))LEZLO@ELJFYP
 )))LEZLOF[
)))LEZL@OFKCM@J]@FGH[P
@LEZL@OFKCM@J]@FGH[P
LEZL@OFKCM@J]@FGH[P
)))LEZL@OJDM
LEZL@OO@ELLQ@Z]Z
LEZLR_H[H
"())LEZLR@O
)))LEZLRZL]@G]L[_HE
LEZLXrF]
LEZMFL[OL[
leZ[[[n[[[
L]E_ZXJZF
leZ[[[z[[[
|||||||||||l||||f
Lf[[[[[[
!)))L[[F[
;)))L[[F[
L||||||?F )
Lf4BXJ1@XBXEl
LFaAAAA@AAAAACr5
"*l'fAAAA@AAAAAC
LfAAAA@AAAAAC
L[[[FadfQ[[[C[[[B[[[J
L[[F[AH[MM[@_LZHOL]PMLEL]L
__]LFBFS
LFBKOGPXJO_Q
[LF_B]L_HQZKY
LFCDDPOJ
LF]CFCCL_GLNXPQBNC
]LFCN]KOJX
L_F@COHOPQ
;)))L[[F[CZF
L[[F[DLZZHNLv]LQ]
LFD]PHMHEB
L:fdT[[[4
LFdWBWxRD@WU[
L[[F[DZN
L[[F[EFHM@GNE@K[H[P
L[[F[EFN
L[[F[E@GL
L[[F[EL_LE
[LF@EM[@LGM
LFESYJZODLCS
@L]FFEKH[
@]L[]FFEZLQLJCF@GS@YK
LFF]LXQLL
LFFXMA__QF]GG_
L[FF[[[Z
lFg#agfG
LFGFGHZZ
LfgfGMNo
[L]F[GFZMLYH[LCHZ
L_F@G_LZ]DH[BL]
LFgqCgfG
L#Fgqggl
LFHD_AK]
LfHdM[[[
)))L[[F[HJ]@FG
L[[F[HJ]@FG
L[[F[HJ]@FGY[LOL[LGJL
L[[F[HJ]@FGZ]FY
LFhURSSk
]@[LF[HYH]PYJ
LF_HYOLKDOJAJK@]
LFJCBPQKXL
LFJdB[[[H[[[
L[[F[JEHZZ
L[[F[JFE
")))L[[F[JFML
L[[F[JFML
L[[F[JFML@G]LNL[
l[[F[jHEEKHJB
L_F@JLOHQE@]L
LfJ[[[n[[[c[[[c
L[FJQJ]G
lfK[[[.[[[#[[[?
LFKCLYKKNCKAQ
l)))FKCr@YGt
LFK[PF[BDA
@[LFLGZAOZ
L[[F[[LHZFG
lFllllllllmllllOllylmhBi
lfL[[[o[[[
lfM[[[#[[[
lfM[[[5[[[
l||fm||Am||
LFMCZZOXEX
)))]LFMF[HZYF[]Z
L[[F[MFJZ
l||fm||Im||)m||
L[FM@_JHD]
)))[LF[ML[
L[[F[MLJFDY[LZZ@GNMH]H
l"FMQ"om
L_FN@]COB
LFNKPJJH
LF_NOG_K
)))LFODH[BL[KF]
!)))L]FO@E
LFOENZH@
LFOHOIHJLDW
LfOOO1O4O
LFOYQ]NPK@N
LFpgppepq
?lFpgppepqM
LFPP[KL]CBDO_
]LF]P[SPDC
LFPZSB]XNHLZAYOZ
[[[l.(fQ[[[
LfQdH[[[Z[[[
lFsgqggp
lFsgYkgfG
[LFSKBZ]FMSLK
L|ftLBABs
lFTOF@	f
lfU[[[1[[[
L[[F[vDZZN
lfW[[[8[[[*[[[
LFXDABGM
LFXGSGBCQH
]LF@X[P_]@
LFxxxvyx
LF@YCJESABDO_
L[[F[YHNLZ
L)))FYLG
L_FZPL[MGPSKM
!)*[[LG]
LG0|9XsS
lg1cgfGu
Lg1kgfGIs
lg3dgfG'
l]g5cgfGj
l#g5ngfG
Lg5ngfGA
lg7fgfG 
lg7ogfG(f
l(g7vgfG
Lg7wgfGS
Lg9GgfGQ
LGA]BBNQHAYP
_lgAegfG
LgAgg2tI
LgAggDm8
l|gAggZ'
LGA_]H[CLM
LGAHDYL[
LGAHGJLMDL]HO@EL
[L@GAH[M
LGAJHLBE
_LGALKOCA@
@[LGA[XBBJ
_LGA]XBLHPDNQYHD
LGAYKD_J
LGAYZJZZ_E
LG[A_ZKK
LGBAOCAYFM[AY@]MAPEGMZ
LGBA_ZQ]JMHYMJDYGGZLBXO
LGB[DQLACJJYXCAZSL
LG]B[GDHCD
lg?bgfGP
LGBGHOXSJ
L][GBH]P
LGBQN[AY
L|g]cgfG
lg]cgfGI
lgCkgfG	
LGCKHCJOFAQKBO]COKYYG
LGCOOLHHKEQL
LGCY_QQ[
_LGCYQ]X
LGD[ABNPJOLADBOCHYS
lg#dgfG6
LGDGYBJQQ
L@GDHEOLE
LGDKNLKB
LGD[OHXZ_@OGQ
[LG]DPO[@MNL
L]]GD_PY
LGdtLBABs
.)))LG]E@
LGeBEyAGI
LGeBEyAGM
l-geegfGcO
LgeegfGo
LGe@EyAGM
-lgEfgfG
Lg#.egwaD
L_GEJDEAKNE
l|gejgfGp
LGEMLJOQOB
LGeQEyAG
LGeQEyAGI
L_GEX[ND
L)))@G_FBL
l[[[.gfdA[[[
lG_@[FDLG]HE
LG[FEEDLG]
lG[FEEDLG]hJ]@_@]P
())LG_@[FG
LG_@[FG))
lgfG8Cj?gqgg7"FV
lgfG8HYvgqggG
lgfG9[]kgqgg#E6I
;lgfG9RO
LgfGa9-hgqgg
lgfGB83xgqgg
lgfGbf9.gqggO
lG_@[FGDLG]
lG_@[FGDLG]))
?)))LG_@[FGDLG]
LG_@[FGDLG]
LG_@[FGDLG]HE
LG_@[FGDLG]_H[Z
LG_@[FGDLG]t
lG_@[FGDLG]y[FJLZZ))
)))LG]FGE@GL
lgfGEtvagqggeL-
lgfGezx!gqgg
lgfG Fitgqgg)
_lgfGf'z
LG_@[FGGLDLG]
lgfGHNB5gqgg
lgfGI1H gqgg;
LgfGi(rpgqggI
lgfGMH*rgqggu
LgfGPKAbgqgg
lgfG	qg;gqgg
LG_@[FGr
lgfGvq)Sgqgg
lgfGwG;)gqgg
[LGF]H[FKF]
LGF[@JA@L
LGF[K@]HE
;)))]LG@FMEvJF[L
_LGFMQFBSGFN
L@GFZSAQO]HGB@
LgGdgfGB
lggdgfGZK
LgGegfGF
LGG]EHS]SCC
LggfG-!eUgqgg
lgGfggwG
Lg')gfGmo
[LG]GFML
L_.ggfwEQ
#lggfw-i
lggfwLRn
-.lggfwM
l*ggGAUA
lg#ggfGa
Lg-ggfGct
Lg?ggfGn
Lg'ggfGS
lg_|ggGx
lgggw(p?vD
LGGHZYBJHQJYX
_LGGKB]O
][LG@GN@E@GL
LggogfGq
LG[GOLHPS
LGgQEyB_L7	[BT
lggwp_baqq
 Lggwy!V8
LGGY_QCSD
LGHB@GZHG
)))_@L]GHD
 )))[LGHDL
!)))[LGHDL
.)))LGHDL
[LGHDL))
[LGHDLFG[LKFF]
?)))[LGHDLF[MLEL]L
?)))[LGHDLLGJ[PY]LMO@ELZ
lGhDlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
[LGHDLvO@EL
[LGHDLvOFEML[
_@L]GHDLZL
l)))GHDLZYHJL
[LGH]FYHZJAFHE
LGH[GCJXPL
]LGHG]@M
]LGHG]MFDH@GZ
_||LG||HG||PX||
LGHHMMLF[AY
)))LGHKEL
?)))LGHKEL
lGHKELdFCFcZk@GM@GNZ
lGHKELjFG][FEELMoFEML[hJJLZZ))
LGHKELJFG][FEELMOFEML[HJJLZZLGHKELM
LGHKELJFG][FEELMOFEML[HJJLZZM@ZHKELM
LGHKELJFG]LG]
LGHKELJFG]LG]]F
LGHKELLGJ[PY]@FGFOO@ELZ
LGHKELL_LG]_HE@MH]@FG
LGHKELLM@]@GN
)))LGHKELMLEHPLMLQYHGZ@FGZL]
LGHKELMLJ[PY]@FGFOLGJ[PY]LMO@ELZ
;)))LGHKELMvK@GM@GNZ
LGHKELY[@_@ELNL
LGHKELZJ[@Y]KEFJBEFNN@GN
LGHKELZJ[@Y]KEFJB@G_FJH]@FGEFNN@GN
lGHKELzJ[@Y]zJHGG@GNL))
lGHKELzZE))
_LG]HM@N@]HE
)))LGHNAZA
LGHNHDLZ
LGHOYLC[BEQJJC]YP
LGHOZXMCQ]_
LGHSLPZQDA
LgIegfGdRB
Lg_igfGZ
L)))G@JB
)))_LGJ@DLG]F
_LGJ@DLG]F
LgJ[[[e[[[
LGJFC_XJB
LGJFMCHKKHNNHKHK
lGJFM@GN))
LGJFM@GN
lGJFM@GNhZJ@@))
LGJFM@GNHZJ@@
LGJFM@GNHZJ@@ZHYZ
)))LGJFM@GNKP]L
LGJFM@GNKP]L
lGJFM@GNlGM))
LGJFM@GNt
LGJFM@GNtuQ
lGJFML))
lGJFMLjAH[Z
LGJFMLJFGO@N
lGJFMLkP]LZzLGM))
LGJFML]LQ]
lGJFMLM))
lGJFMLMdLDF[Pz][LHD))
lGJFMLMh[NZ))
LGJFMLMJ
LGJFMLMJF
lGJFMLMjFDDHGM
lGJFMLMjFDDHGM)(
lGJFMLMjFDDHGM))
LGJFMLMJFDDHGM
LGJFMLMJFDY[LZZLMO@EL
LGJFMLMK@GH[PJFDDHGM
lGJFMLMkHZL
LGJFML_@MLF
LGJFMLM]LQ]
lGJFMLMMa[LO))
LGJFMLMT
LGJFMLMvJ
lGJFMLMvybALHML[))
LGJFMLMYHPEFHM
LGJFMLvKHZL
LGJFMLYAF]F
LGJFML@YAFG
LGJFML[YH[HDL]L[Z
_LG]@JHBL
LGJHXKEHANH
LGJ@[JELDLG]
LGJ][KNXEHD]]
]LGJLG]v
LG_J[PNN[HGSCO[NS
 )))LGJ[PY]
)))LGJ[PY]
?)))LGJ[PY]
LGJ[PY]))
LGJ[PY]BLP
LGJ[PY]F[
LGJ[PY]@FG
LGJ[PY]@GN
lGJ[PY]L[
LGJ[PY]L[
")))LGJ[PY]LM
LGJ[PY]LM
LGJ[PY]LMDH@E
lGJ[PY]LMh[NZ
LGJ[PY]LMKP]LZ
LGJ[PY]LMMH]H
)))LGJ[PY]LMO@ELZ
LGJ[PY]LMZ][@GN
LGJ[PY]LMZ][LHD
LGJ[PY]]LQ]
)))LGJ[PY]M@[LJ]F[P
LGJ[PY]O@ELGHDLZ
?)))LGJ[PY]vJFGO@Nv@]LD
LGJQQ@DZSiD
@[LGJSDYL
LGJvO@EL
LGJvZYLJ
lGJyHZZjAHGNL[
lGJyHZZjAHGNL[hJ]@_@]P
lGJylaLHML[
LGJYZPLHD
l[gkcgfG
LgKegfGBx
lg!kgfG:
L"g;kgfG5
Lg)kgfGg
L#gkggfw
LG_KHZA]DYvO@EL
LG_KHZAL
LG_KHZAZ][
lGK@KELhJ]@_@]P
[LGKKPDQY
LGKPCAQLC
lG_kPYHZZ
LG_KXC_MC
.)))LG]L[
LGLCL_ZJMYOS
LG]L[DHQ
lGLdLGLhYY
LGLDPZGAO
LG_LEFYL
lG_LEFYLZhJ]@_@]P
Lg)lgfGPPY
LG][LGH]LDHM[@M
LG]L[GL]KHNEHG]@Z@PFB]LB[H[MLGLG@PF[
LGLHY[AO
LG]L[JFDDHGM
LG]L[LDH@E
lG]L[lDH@EhJ]@_@]P
LG]L[LDH@EHMM[LZZ
[LGLL]]LG
LGllllllllmllllOllylm
LG]L[MEE
LG]L[Y[@ZLZL[_@JLZ
lG]L[Y[@ZLzL[_@JLZfKCLJ]))
LG]@]@LZ
lGLzpgppepq'a
LGMCMSKXGZ
[L;gmdgfG
L(gMdgfG
][LGMD@J[F
)))LGM]@DL
LGMEEXQS
#)))LGMEFJHE
lgMegfG#D
L[gmfgfGGw
LGMFKCQ[LO
LGMFML[D@J
_LGMF[vY[LO@QLM
_LGMF[Y[FYGHDL
_LGMF[Y[FYGHDLr
LGMFZZLG]L
_LgMggfGO
lG)mggfwX
LGMJL[]@O@JH]L
LGMLEZLKPYHZZM@J]@FGH[P
[LGML[@GNA@G]Z
[LGML[@GN@GOFvQDE
LGM]LZ]LQ
)))LGM@O
LGM@OFKCZALEE
LGM@OGLQ]
LGM@OGLQ]@]EOOF[DH]
LGM@OLGM@OEFJHE
LGM@OLGM@OLEZL[LM@DY[LZL[_LHH
LGM@OLGM@OLGM@OLGM@O@O
LGM@OLGM@O@O
LGM@OLGM@OO@EL@GZ]HEE
LGM@O[LM@DY[LZL[_LHH
LGM@OM@D
LGM@O@OELG
LGM@O@OPDFM
LGM@O@OY[FJLZZLQ@Z]Z
LGM@OZELLY
LGM@OZL]
LGM@OZL]AF_LM[
LGM@OZL]F
LGMv[LM@[LJ]
LGMYF@G]
lGMYF@G]e@Z]hJ]@_@]P
LGMYF@G]@GZ]HGJLZ
LGMYF@G]Z
lGMzJ[@Y]))
LGMZ][LHDLGMFKC
LGN[]@ALBE
LG@NDHGM[F@M
LGNDN]B]CA
_LGN@EBF
lGN@GLl_LG]))
LGN@GLL_LG]
LGN@GLZr
LGNGQ_QGE
 )))LG_NL]
LGNLEKH[]
]@L[@GNLGN@GLZL[_@JL
LG_NOCJMKOF[DK]AJ
LGNOG@B_QP
L]GNQK[JQCAJ]SN
]LG]N_SCLJO
LGNYOOYJMN_KSYPDGGS
)LgOagfG
lgodgfG5
]LgoegfG2u
lgOegfGE[k
((L@GO@EL
)))[LGO@ELZ
LG@OESB]Q
LgohgfG7
LGOKBPJGN
[L@GOLJ]
]LG@OO_AHSXZ
*LgooggG
LGO[PL@LL]BMAN
L[]GOSKP
LGOZLXDYH[LBHH
[LG_PDM_G_NO
lG][Pe@Z]hJ]@_@]P
lgpgppepq
lGpgppepq
 LGpgppepq
LGPHJGLHGNA
lG][PhJ]@_@]P
LGPPGSPX_CN
LG][PvJEHZZ
LGP[XN@]LKNLG_
LG][PYF@G]
lG][PyHNL
LG][PZ@G
lG][PzJ[LLG
LG[PZKJHQZ
LG_PZZN]X_[
LGQBMO_KSLH
?@Lgqgg	
|]Lgqgg@!
L	 gqgg'
Lgqgg1V[wE
lgqgg2RI
Lgqgg4GBvV6
Lgqgg-6L
[L[gqgg7
@l?gqgg7cI
;Lgqgg?9
lgqgg9vd@
LgqggAsp
lgqggb5A
Lgqgg@Bm
lgqggbRl
lgqggcnuD
lgqggcnuDa
l"gqggDk
LgqggDMM
lgqggg"(
Lgqgg@.I'
lgqggiHq
L   "    gqggJ
lgqggKSl
'LgqggKSl
L@gqgglA
lgqggM5M
lgqggo*D9
l	gqggOi
lgqggqs2L
LgqggR4qbL
lgqgg smH
L_gqggspS
l'gqggt1
lgqgg!TU
l[gqggUm
L(gqgg.v
	l[gqggW
L.gqggxgr
lgqggY	H
LG_QHL_Y
LGQQBHO_
LGQQFKKMCNF
LGQSEHGPSJQ
LGQ][XPKB
LGQYHZN_H_HJOCC
LGQZ@NM_FBX
LgS[[[c[[[
LgSdgfGT
L)?gSegfGSh
LGSELNFLPM
[LGSGLZ@H
L@_GS]G[Y
LGSHYYXJXE@CA]N
LGSK@PNN
LGSOK]XNJOZZP
LGSOSD_MYLPGX[L
_LG]SPYJEO
]LG]@SQBZ
-lgSvgfGE
LGSYHSBAC
LGS[]ZQE
Lg'tgfG#
	LgUagfG
|lgUcgfG
|LgUegfG
LG_UKHZA
lG_vHYYMH]H
((LG]vMLZJ
L	gwcgfG
)#LgwdgfG
LgWdgfGC7(
L!gwegfG
lgwfgfG8
lgwfgfG[j
Lg'wgfGM
L(gwggfw
lgwggfw9
l*g?wggG
lgWkgfGe
LgwkgfGm
lgWpgfGz
LGXCKY]_ENP
LGXE_GZML
L[GXGAN@FNGSJ_JYPJDPXL
@LGXJFDPK_HAAN[H[Y
LGXNGAOBLXX
_LGXXSA_HG
L"-	'G.xxx
lgXY3[[[Z[[[S[[[[[
L_GXYNHM
lgXYX[[[Z[[[O[[[
lgXYX[[[Z[[[O[[[]
lgXYX[[[Z[[[O[[[j
lgY[[[)[[[
LgYbgfG:
LGYDNL_G
lgyegfG6
lgYfgfGhbP|gqgg
LgyfgfGZm:
LGYKC]C]
LGYMHGGJHFABJ
LGYN]MLDS
LGYPBELMAL
LGYSACNAAE
LGyyyyy9p9yyyE
LGZ@BFEFNP
]LGZE]MN
LG_@Z@FG
L[GZGeG_G_G_G_G_G_GnGjG|G
LgZgggGv
LGZH_XY_JM
LGZ@JAH]
LGZK[OSXMY
 )))LG_ZL]
.)))LGZL]
LGZ_L[Z@FG
LGZN_SMLZS
L[]GZNZOH
LGZPL[D_B
lgZZkIkK]Qp]Z_Z
)||||l-")||||h
|||L||h|||4
lH81E9fxx
';LH9JK;HxyxjyVx
LH[ACJHS
LHA]]C_[S[
LH[]AKEFFM
LHAMOLFAOSNZLN@G
LHANHQHO
LH[]AO@LEMZ
*lHAr)6ska
(LhaSfx)
LHA's SFX
LHAYHZYZ_G
[_[LHBBLBA
L]HBBONH
L]HBC_XD[O
]L[[HBFB
LHB]GZSSBPHOPDD@
_LHBH@ASSP
l@HBH@IxXp[
LHBNCA_E
LHBPYOG_
L)))_H[C
LH[CD@SAYS
LHCL]BHYJM
LHCLPAPDEDPD_B
LH]C]MSYM
LHCOG_HQG
LHCvOQSFFI
LHCXOKGY]DA
l)))_H[D
L||Hd||3d||
)))]LHD]G]
_LHDGH_DZ
l)))_H[D@GZJF[L
]LHDJLG]L[
]LHDJLG]L[vZLZZ@FGHNLG]
L[[[#-hdQ[[[
"[[[Lh|dY[[[![[[
]LHDZDLZZHNLZ
]LHDZ@GOF[DH]@FG
 ())L_HE
 )))L_HE
")))L_HE
#)))L_HE
')))L_HE
')))L_HE								
.)))L_HE
:)))[L]H@E
:)))L_HE
;)))L_HE
?)))L_HE
_)))L_HE
|)))L_HE
[LHEDGHDL
[LHE]@DL
[LHEEPMLEL]L
l)))_H[E@GB
l_HE|GZJHYL
l_HEh]][))
l_HEh]lGM))
[LHEJFGZ]
LHEKZGLH
L_HEL_HE
L_HELJAF
[LHELZ]H]LY[@_H]LYF[]OFE@F
L_HEMLOL[[LM
l_HEnL]))
[L_@]HE@SLMYH][@
L[[_HEUR
L_HEYAY@GOFjDM))
l_HEy[F]LJ]F[))
l_HEyFZ]))
[LHEYH]A
l_HEyHJBL[))
l_HEy[LZLG]))
[LHEZ][@GNFKCt
[LHE@Z]@JHEEP
[LHE@Z]@JHEEPr
[LHEZPZO@O]P]FGL
@]L[H]F[
lHFCND	d
LHFDNXZ_C_X_SNPQQY[QAEAC]JD
LHFH[HBHKHF
LHFKMQBGS
@]L[H]F[t
LHF@XFZXN
LHGASYBQ
LhGC]Y]]j8Y
LHG_GACS]KD]C
)))LH[G@GKFQJHZA
LHGHYHM_[M
L_HGJAH[E]FG
LHg!kgfG)
LHGLOABXNQ
LHGOMMMOMKMWG
lhgooggG
lh(gqggB
 lhgqggD
?lhgqggJ
lh_gqggq
LhguegfG
LHGXZEG[SDE
L_HGZ]LJAGFEFNP
]L[[H[@H
LH]HAK]N
 l)HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
LHHHHMJMKLIKIHHHxxx
)))LHHHHNHHHHLHHHM
l)))H]]HJADLG]
LHHJXZLZFP_QNDL
lhHlyxxxJxxyxyxyxY[
[LHHMZ@PBB@BFO
L]HHQL]PCXZA
?)))LHJA
]LHJAL[N@[EZ
[LHJAOH[[LE@LO
LHJCOLJEY
][LHJELr
[LHJJLZZ@GNHZLGZ@]@_LO@EL
[LHJJLZZ@GNZLGZ@]@_L@GOF
LHJ[KGNBO
[LHJ]@_LHDYHJALHYY
')))_L[HJ[PY]
LHKCJC_SH
L@HKCZHPS
[[[lhKdV[[[*
LH__KFK]YDD
L]HK[GXOOJCY@BPZHO]LG
_L@HKHMAXO_
l)))HKM]OANQNLNAMY
]LH[KXM]H
l)))_H[L
LHL[CBEKHAA
LHLDF@SLL]DNBMO
@LHLDH_]
[LH]LFKCLJ]
(([LH[LGFL[[F[Z
LHL[HM[BP[BY
LHLHzxoy;
LHL[L[JZEA
)))LH]LM@[LJ]F[PH
LH]LM_ODJ
LHLNCQFDK
LHLSKXGSBCDF_PNNS
L[HLX_BMLS_PA]_P[
'LHLyxrx
")))[LHM
l||hm||5m||
[LHM]ALDF[ZLL]ALD
[LHM]ALN@_LGO@EL
LHMAOHJGOM]LLKMJ
L[HMAXHO
l)))HMD@G
[LHME@GL
[LHME@GL@O
[LHME@GLZ
)))[LHMFGEP
[LHMFGEP
[LHMFGEPZ@SL
[LHM_F@JLE@]L
!)*[LHMFKCLJ]
[LHM]FLGM
[LHM@GN[D
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||lh||Mh||
[L]@[HMH
[LHMHEEJ[LH]LFKCLJ]
')))[LHMHEEKP]LZ
[LHMHEEKP]LZ
[LHMHEE]LQ]
[LHMHEE]LQ]O@EL
[LHMHEEZL]ZA
)))[LHMHKEL
[LHMHKELZ][LHD
LHMH[MXQJXM[]_GAGZOAPJMZ
LHMHX]PKX
[LHMJFFB@L
LHM[KGNB@M]
[LHMKP]L
[LHMKP]LZ
LHML[OCM_
:)))[LHM]LQ]
[LHM]LQ]
l||||||||||hm|||l||||||||||||||||||||||tm||||||||||||||
LHMMCZHSFJEED
@LHMMZLH[JAY[F_@ML[
@LHMMZLH[JAY[F_@ML[))
')))[LHMO
[LHMO@EL
LHMO[[X_JC
)))[LHMPJHEEKHJB
[LHMPJHEEKHJB
)))[LHMPZ]H]L
[LHMPZ]H]L
LHMPZ]H]L
[LHMPZ]H]LJAHGNL
[LHMPZ]H]Lr
[LHMPZ]H]LUU
[LHMPZ]LHMPNF
L||hM||UM||@M||-M||
[LHMvA@Z]F[PvKFFBDH[BZ
")))[LHMvBLPZ
)))[LHMvH[DLMvO@EL
[LHMvJFG]HJ]Z
[LHMvJFG]HJ]ZHGM[F@M
")))[LHMvMH]H
[LHMvZDZ
[LHMvZDZHGM[F@M
[LHMY[FJLZZDLDF[P
[LHMYL[D@ZZ@FGZ
[LHMZDK[LZYFGZL
[LHMZL]]@GNZ
)))[LHMZ][LHD
l||hn||Do||
LHN[@FQGG
LHNGX]_@OYYYMN
l)))_@HNH
LHN]HOOAMAQY@
LHN]JEKZGLXEMHOPS@O
L[[[HNKfC[[[
@LHN@KLM
#l)]H[NL]
l)))]H[NL]
L)))]H[NL]
LHNLHNKXYJMPA
LHOAOB]JC[[XC@
LHOC[[OBNHNCGH
LHO[DNYMDDY
l)))_H[O@EL
LHOKLEGH[YL
@]LHOKXHPXCNJQOOXYGCD_F
_LHOMZHN
LHONMSH]
LHOZ]JYQG[@P[
LHOZLZ[X@HGB
L_HOZYNGP]KLMGM
@@@@@L@@HpBWH
LHpgppepq
LHpgppepqVE
LH_QGGGZJ
LHQGS]MLC[]BQ
.())LHQHKGHN
LHQHP@GB
LHQ__[PH@SPDPDN
LHQS_MPXPYB
LHQX[YMANS[AEYS
LHQZLDN]NAJYX
LHS_FO[YS[MBQPJKJ
l|h(s|hHr|h
LHSHYCMG
L_HSLPFD
LHUHJ@MULI
LHUMJMMULJ
[LHvMLv@DY[LZZF
LHWllllllllmllllOllylm9
_LHXCCG]BE
LHXDDFY]DP
LHXKX]ZG[A
LHX@PCGPY
LHXQXZCE
LHXYSLK]
LHYAQJN_[
_LHYBE]]
L]H_@[YFJZLMH[K
LHY@[JG[M
L_HYOAO[
[L_]]H]YOYPQK
LHYPHEJDCF[HH
LHYSEX]ECJXYGGZN]HQLHBPC]
LHYSL]]_S_MAGOZOQ]S
@LHYY[F_L
@LHYY[F_L))
L]H]@Z]]@
LHZ[AYLZ_MBADM
LHZBL_HXB]
	)))[LHZFG
LHZ]L[LNNZ
LHZNAM@CJX@
L@HZNCCYL
LHZPHMD@G
lHZPlM@]
lHZPlM@]hJ]@_@]P
lHZPzALEE
LHZPZ]F[HNL
lHZPzFJB
LHZSQLDOZ
LHZ]Y[FM
)))]L[[HZZH
lI8@@@@@AB@Cp@K
]Li8yxvyh8x
lI9xx]Y]]
l)))iAFDLM[@_L
libcrypto
libcrypto(.*)
libcryptopp
libcurl(.*)
libmbedcrypto
libmbedtls
library_reporter
library_reporter.detection_recording
[[[lI]d_[[[
lI[[[d[[[
lI]d[[[[
liD704]7#!H7
lI]dA[[[H[[[O[[[
lI]dA[[[U[[[O[[[	jNd@[[[T[[[J[[[gK
lI]dB[[[
lI]dC[[[
LiDdM[[[Y[[[k[[[
liDdU[[[_[[[
liDdy[[[Y[[[x[[[
lI]dE[[[
lId_[[[E[[[
lIdfeZfG
lI]dG[[[
lI]dH[[[
[[[Li!dH[[[
lI]dH[[[d[[[
lI]dI[[[
LIDI5HCII
lI]dK[[[
L@IdL[[[
lI]dM[[[*[[[
LIdN[[[t[[[n[[[S
[[[lI]dO[[[
lI]dO[[[
lI]dQ[[[
lI]dS[[[W[[[V[[[]
lI]dU[[[
lI]dY[[[c[[[
[[[lI]dz[[[
lI]dz[[[
lI]dZ[[[j[[[
LieqQ@e-f
LieXggfG
life_lbr
life_pmu
Liggfwc	
liggfw:HA
liggfwjA
liggfw[O
liggfwrH
@liggfws
liggfwZ:(m
lIgqgg7[
LIIFIWKGINIIXIgK
liIgqgg!
LIIIIH1@
LiIllllllllmllllOllylm
lIiMlIiilIi
LiJhggfw
LIjI]OfI
likelihood
LIKE or GLOB pattern too complex
LIKHIIIdII
LIKI!IKIXIdII
l)))iLJAFFOO[LD
L[[[iM5eJ[[[
LIMII@KNNO@
LIMITED 
LimitMet
l||im||Jm||
line_numbers_stripped
__LINKEDIT
Linkhandler
LiOaOPOHO;O3O"O
LiOaOUOAO9O)O
LiOeOMO9O!O
LiOmOaOeOYO]OQOUOIOMOAOEO9O
lioq314_a__E_
lioq314_k__E_
lioq314_K__F_
lioq314_R__O_
LIOrNZNKN'N
LiOYOAO1O
lipgppepq
LIpLOIKI
LIQg)kgfG
l|i(s|iHr|i
list too long
LIULLMOUA
liU|uugfG
	LiveContextsCount
Li@@@@@w@@A@AAac
?L...iwyy
?L..iwyy
?L..iwyyQYyyoI
lIxx]Y]]
LIXyxpyx
|||l||||J
]LJAAPYLZ
")))LJAF
.)))LJAF	
:)))LJAF
LJAF	a@CPoP]oPM]
LJAFB@EE
LJAFFBUULJAFOH@ELM
LJAFFE@GB
!)))LJAFFG
)))LJAFFKCZALEE
 )))LJAFFOO
)))LJAFFOOJ
LJAFFYLG
)))LJAFGHDL
LJAF@GNLELDLG]
.)))LJAFI
)))LJAFiZL[@HE@SL
)))LJAFiZL]J
LJAFiZL]J
)))LJAFJDM
LJAFJGHDL
LJAFKMH]L
)))LJAF[LDF_@GN
LJAFL_HE
LJAF[LJ_
LJAFLJAF
LJAFLJAFKPL
)))LJAF@LQ
LJAFMOZMNA
LJAFNAE@[N[NH[L
LJAFNFFM
LJAF@PH]B@
@)))LJAFS
)))LJAFUZ
)))LJAFUZL]
LJAFUZL]
LJAFUZwL]
LJAFwZL]
lJAFzALEELQLJ))
")))LJAFZ]H[]
LJAFZ]H[]
LJAFZ]H[]DwZwAw]wHA]]YZ
LJAFZ_JAFZ]
)))LJAFZL]FE@GB
LJAFZMAO@
LJAFZMONAF@ZL]
]LJAG@JHE
]LJAG@JHEL[[F[
LJAHGAAEKYY]
LJAH_XLMGGHH[O
LJAJBMAHCA@_QFJYJ
][LJA[JDY]_ZDY
]LJAKFFDL[Z
[LJAKPDO@
[]L[JALJB
L]JAM[F@M
]LJAO[LLZ]F[L
LJAXY_XL[
LJ]BANOBECQ
LJBB@HNCGL
]LJBKEFN
LJBK[_QD
Lj@@@@B@@@Lp@z
LJBMSZQZNH
[LJBPAGYMABKGJCO
LJBPK_AQ
LJbVE@GxPD@GBV
[[LJBZ]AMJ
LJCHKCHLPHKXKEHNZHJXHCHHB
LJCHKYHAXHSNK
LJCMHCCK
LJCXOQNGBL
LJDBGADDK]G[
lJdC[[[s[[[h[[[B
LJ@_DEGM
@LJDFNOXKPSDO
LJ[D]@HYQQFL
[[[LJ;dJ[[[![[[
LJDJOLMY
LJdJ[[[W[[[T[[[
LJDKCKZK
LJD_K@S[ZKY
LJD[LGN_H[S
LJDLP]B]KLH
lJdM[[[7[[[
L)))JDMJ
LJ;dO[[[
[LJDOSQYK
LJ;dU[[[k[[[
)))[LJ]E@GB_H[[M[]
]LJEHKZDFS
((LJE@LG]iRT
LJEQ]HQH
L]JEYA_BLHF
LJ@EZAABFOBQKYC__XMHOCZMMC
lJ[[[f[[[
LJFBOGQMM]JQECM
LJFB_XHL
[LJFDDLGMH]@FGZ
[LJFDDLGMLM
LJFDDL[JL
LJFDDL[JLKLZ]Y[HJ]@JL
LJFDQXXL_PNFB
l)))JFFB@LZ
)))LJFFZH
LJfGBIJ9
[LJFGDBM@[
LJFGFD@J
LJFGFDPZ]MP
LJFGF]@J@HZ
[LJFGGLJ]
l)))J[FG]HK
L)))J[FG]HK
[LJFGO@LL]
[LJFGv@GOFvZ][
[L_@JFGZ
_LJ]F[JHDL[H
[LJ_F@JL
 )))[LJF_L[
')))[LJF_L[O@ELZ
[LJF_L[P
_[LJF_L[PBLPDLZZHNL
[LJF_L[P[LJFDDLGMH]@FGZ
[LJF[M@GNBLPY[LZZLZ
[LJF[M@GNJFG]LG]
[LJF[M@GNJFG]LG]]@DLZ]HDY
[LJF[ML[
[LJF[MLM
:)))[LJFMLMK
[LJF[MZL]
@[LJ]F[P
)))@[LJ]F[PH
@[LJ]F[PH
LJfQDyQs
_LJ]F[vvHZ
LJ]FYEHZD
l)))JFYP
L)))JFYPO@EL
_LJ]F[Z@SL
LJ]GEQKHC
LJGFYEEPCJG[GKYOQ
lJggMbgfG
]LJG@JFYJFGE@GL
_@LJ[GMMZD
@@LJ@gp@V)
_lJgqggnID
l Jgqgg-Y
LJ@GZBCJ
LJHAPEXMKXQPZK
LJ_HD@GN
LJHDMQLJ
_L[]@JHE
l)))JHEE
L)))JHEE
LJHEEBL[GLE
)))LJHEYL[
_L[]@JHEZLH[JA
!)))LJ]HGG
:LJhggfw
L	Jhggfw
L_JHHBXY
LJ@HHNHJHH@HHNHHBHJXHCHJHHJXHNHHBHJXHNHHBH@HHCHHBHJXHNHHBH@HHNHHBH@HHNHJHHJXHNHJHHJXHNHJHHJXHCHHBH@HHCHHBH@HHNHHBHJXHCHHBH@HHNHHBHJXHCHJHH@HHNHJHHJXHNHHBHJXHNHJHH@HHCHHBHJXHNHHBHJXHCHHBH@HK
LJ@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHNHJHH@HHCHLBHKNK
LJ@HHNHJHH@HHNHJHH@HHNHJHHJXKYHN
L_J]HMQAJ_]E
L]]JHQDBA
L@JHUL@MHU
LJHXKOHONHBHHCHHBHJXK
[LJHY]JAH
[LJHY]JAHvvLG
ljINlSSSS
LJJA[DSS]DX[Z
LJJBDJGOHXP
[LJJBGAO@P
L@JJB@MX
_LJJEHZZ
LJJ_ESQ_G
[LJJFG]vFKC
LJJH[DPO
ljjjjbjj
LJJLXB][
LJJLZKKJBN
LJJM]OJBELQ
LJJMPE[N
LJJQOYAYZ_ZE
LJJXHNHJHH@HHNHJNHJXHCHHBH@HHNHJPHBHHGHN
LJJXHNHJHHJXHCHHBHJXHNHHBHJXHCHJHHJXHNHHBHJXHCHHBH@HHNHHBH@HHNHJHH@HK
LJKBGBS]
ljKdJ[[[6[[[*[[[
LJKLBCPK
LJKMOMLL
L]J_KNBYLM
LJK[SSPGDC
LJKX@BAN
LJKyxhy9
LJLAHLGY
LJLd_[[[g
[LJL@_@GNHG
LJLHFQ[J[JGGZ_C
l)))J[LH]L
L)))J[LH]LFKCLJ]
LJLHSHNNZ_P
[LJL@]HZMLDH@Z
_LJ_LJ]F[
L_JLJJNXC_A
 )))[LJL@_L
:)))[LJL@_L
[LJL@_L))
[LJL@_LHD]
[LJL@_LHGMLQLJ
LjllllllllmllllOllylm
lJllllllllmllllOllylmc*h
)))[LJL@_LM
LJ]LLSOJ
[LJL@_LvKFF]vJFDYEL]LM
[LJL@_LvZDZ
LJLMDD[MOZZ
LJLM@MNLMyxt
L_]J[LMZ
LJ_LPBLPG
LJLSJSSOA]QFHLXYNB
L]JLSZG]J
l||jm||3m||
l||jm||5m||
L_JM]DMGL
L_@JMHF@BSJELLLD][B
ljmhimmle
LJMHXFM[
LJ[MJCCNQP
l||jm||@m||
l||jm||Nm||3m||
L_JMSXNO
LJNG_SC[
LJNLQY@SG[
LJNLUNKKMUL
LJNSCMX]
LJNZD@PQ_[S
LJ]N@Z[JES[AK
L]JOASL_JP
LJOB_O@KNYONFA
LjOfOBO?O'O
LJOM_FYHDGXAADJZH
LjOYO|NmN
[L_]J_PD
LJPFDGQHMBQ]PQL]CHQ
Ljpgppept3
!)))[LJPJE
[LJPJELK@G
[LJPJELM
[LJPJELMu
")))[LJPJEL[u
;)))[LJPJEL[u
[LJPJEL[uZ
.)))LJ[PY
)))LJ[PY]LMFGEP
LJ[PZYOGML
LJQNOYCQQA
L@@@@@@@@JQ@NW
LJQQMMPC
LJ[QXX[CGXC
)))[LJ]r
LJSCJAOK
LJSDXNYHBM[X
LJXLHSSL
LJXLOOCG
@LJYBPNMX[F
[LJYCM[YH]MANSGD[
L@JYCZOF
LJ[[YGAM
[LJ_YHJBL]r
LJ_Y]J[J
[LJ@Y@LG]
[LJ@Y@LG]Z
L[JYLPX_FE
LJZ2!a25fn
l)))[]JZALEE
LJz@@@@B@B@Np@T
LJZdQ[[[
@LJZKPHSMMA]
LJZNSJZZ
LJZP_PXLZ_J[ZQ[
lJZPZHZZ
LJZ_Q@OCKSEPO
LJZSNZ_YZYM
LJZXKOHONHBHHFHN
#)))L[@JZZFG
[[[lK0dI[[[
lK0dK[[[
[[[lK0dO[[[
lK0dT[[[
lK0dZ[[[
LK3gGegfG
[lkAAAA5
lkAAAAAA@AAAAAC0V
LkAAAAAA@AAAAACz
LK_ABHEDLL
L]KA[B]P
LKAGD@EL_GHSQ
LKAKAAXMQ
LK[A[[_LOKQ_
L@KALxxx
L_KAPZPGB
L]KAQP_@
LKAXBOFFB
]L[KAXMGXZB
L@KAZZXX
lK@@@@B@A@@
lK@@@@B@AA@
LKBCGZ]KP[ESSB
l[[[KB"e_[[[
LKBLHCNZNJ
L]KBNZCCS@N
L@KC[AHGAGG
LK]CB_KBB]HH][SDCPZ
[LKCE]NJ
LKCJGQXE
LKCKZJNLA
LK]@]CL[
LK__CNPEA[P
LKCNPLOD_A
LKCNYOFG_
LKCYYBGL@
L@KCZZZHJLXJ
LKDBGAHD@
LKD[CCXBGDBZ
_[LK_DCO
LKDHXP]MLGLXGY[[]XFDOKSN
lkdidolol
LKDJCXQ]ZZ
LK@DKLQN[N@]P@NXA
LK_D]QDE
?lKdR[[[?
LKDYCMJ_PJBS
LKEFJBJAH@G
LKEQNXBDSHH
LKE]ZXOM]SSBLSO
LK[FB[NQQ
]L_KFE@XJB[SSE
LKFFBLDH@E
LKFJOHOKYH
LKFK[KBKKKF
_LKF]vJ[HJBLM
_L[KFYLG
L[KFZL))
_L[KFZLY[LOL[LGJL
LKGD]K[AGNA
LKG]HOMES[OY
@LK@GH[P]FH[[HPvKP]LZ][vEHZ]
_[LKG_JNQ
Lk	gklgfG8
lKgqggljqg
LkgYngfG
LKGYNQSC]D
LKH_AZPZHM
LKH]FYHMMMACQ
LKHGJFMLZJFGALJ@MF
LK[HNAOLG
LKHXHZSC_YCAQ
LKH@xx]Y]]
LKHZJA@L[H
l)))KHZL
'LK;;IAOJxyxhyVx
LKJD[YALJ[BED
LKJE@LG]
LKJHY]JAH
LKJJAQEK_B
LKJLNyxwy;
'LKJMHOH:xyxhy
LKJOXDKEPLLPLENY
LKJYPCLAY
LKKALADN]X_FOB[Z
LK]KBC[P[C
lkKdI[[[o[[[
LKKGSKMBZMXYF]P]BBF
LKKL]KXQLH@
LK[KLXDZOY
LKKME_XSZNZ
LKKQK_CNX
LKLDJ[ZPKQ
LKLDK[E_D_
LKLGAKLNB
[ [l[k[l[j[
LKLKGHQXYYJSX
lKllllllllmlll]Y]]
LKL@MJHIH
L[@KLONCLNZJMQ
LKLXQQH_GSLJ
L)))KL[Z
l||km||Cm||
LKM@HKHOH@N@O
LKMIHAHKH
LKMJPPJGX[
lkmnnyVQ
LKMxx]Y]]?
LKMZAZD]YC
LK][[N]GELPY
LKN][LXLOPAPPAHPX
[LK_NXKMP]
LKNYYMO[ZQ[SEG]CN
LkOaOgO]OSOIOOOEO;O1O7O-O#O
lKoecgfG
LkOfO]OKO
LkOgOHO4O
LKOONOSY]]
LkO]OOO1O#OlNVN-N
LKOQPH]K
LKPDGHCM
]LKP]GJYNZA_KK]FSX@XGZG
lkpgppepq*
lK	pgppepq
Lkpgppepq
LKPJ]LMB
@LKP]LH[[HP
LKPM]QDOEKXYLKQPZ
LK[POX@A
L)))KPYHZZ
LKQBCBB]S
LKQCQAXKANDP
LK@]Q]D[PM
LKQ_GQA]
]LKQ_HLPSX
L]KQMBYLCDJL
LKQMQMHDZQ
LKQXXSGGX
LK[S_CYFOD[@GSN_
L_]KSDZ@M
_L_KSH]N]LH
LKSMOG]@
L_KSXMAXP
'	Lk?TogfG
LKXBGZLH[
LKXFMYBB
LKXHGXJXKHOBZPGSKX@S
L]KXL_FYO
LKX__OEZJFSXE[K@BA
L[[KXOL@
LKXQJX]QC
L[KXZKF]G
lKX[[[Z[[[O[[[
LKY@BOKB]
LKYC@MKYJXFXSQKLX
LK_YJLYH
LKYQY]CPK
Lkz'gAgg
LK@ZPPJZ
l||	l||||
l||(l||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
l|||l||||
l|||l||||||||||||||||||||||
l|||l||||||||||||||||||||||||||
||||L|||||||l	
|L||l||||
 )))][LL
.)))[[L_L
.)))[L_L[
|||L||L||||
lL0gqggu
.LL -@3)
lL5VpgppepqH	T8
l'l 6ogfGu4j
Llaba	"5
Llaba	H4
Llaba	Z4
L[LAB[PDNAP[
LLACCDBBBJD
LL]AHJXDBZG
LL@A]LX[Y
LL@@AM@H@L
LLAMSCYAO
Ll	A mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
LL[A[SPGDDLG
L[LA_X]BKO
LL[AXY@ZAQ
@@L@L@@B@A@@
ll@@@@BBA@
LLBJ]JKEZ
L]LBMMN]
LLBSYCJB]
ll?Byggw
LLCEDFON
LLCGCMBMZH_Z[PL@YM@B
LLCKD[MKB[Y
LLCK_JFACLN
LLCMHZJEX
@LLCXZ9U
LL[@CYK_L
LLCYYNJQ
l)LdF[[[Z[[[
LL]DL]XZ[J
lLdM[[[W[[[d[[[
LLd@[[[o[[[
LLDPDZOPLCYJAHX
LLdQ[[[H[[[
LLD[SJCD
lld"sLdT
LLd[[[[z[[[o[[[
LL@E@B_B
l[[[?[leC[[[c[[[
]_LLECY_[H
LLEDZNZ_
L_L[EFGN
LL'eK[[[
]LLELDLG]
l)))]LELK[@ZJFD
#)))L]LELMJZ
LLE]MPNSGH][MBE
lLeTbZf4
LLEZ[BE[J
][LLE@Z]O@E]L[
L[LFDZ_QM
_L]L[FGMF
lLFgqggQ
LLFK_L@S_
L_LGA@MMLG
L_LG]EFN
L_LG]E@Z]
L_LG]GHDL
L_LG]GHDLZYHJL
LLg@GL)(
L_LG]@GN
L_LG]@GO[H
L_LG]HJ]@_@]P
[LLGHKELOF[LZYFL[NZEL[
L_LG]]H[NL]
L_LG]H[NZL
LlgifgfG
L_LG]JAHGGLE
L_LG]JFML
L_LG]JHJALDHGHNL[
LLGKGCYK
L_LGLDLG]
lLG]L[Y[@ZLvXP
L_LG]MFJr
L_LGMHGHG
L_LG]MH]HvQDE
L_LG]MLZJ[@Y]@FG
[L_L[]@GN]FJE@LG]i
)))[L_LGNLiMH[BE@NA]W
[L_LGNLvY[FO]YMvJ][EZv
L]LgqggEr
l)Lgqggo
LLGQ_@JFNH
LLGSXMXZ
)))L_LG]v@M
L_LG]Y[F_@ML[
L_LG]YKM
)))L_LG]Z
L_LG]ZFKCLJ]ZY[@]LDF_@LJE@YEFHML[
L_LG]ZHMMLMv]FvZ]HNLLQYEF@]
LL]HACANSYAZ
L[LHC_ZMOM
.)))_LLHD
_LLHDA_@G]LN[H]@FGZ_J
LLHDgozz_J))
_LLHDGOZZ_J
_LLHD@GZ]HEEL[ZL[_@JL
LLHD@GZ]HEEL[ZL[_@JL))
_LLHD][HGZYF[]Z_J
LLHDjH]HEFNz_J))
_LLHDJH]HEFNZ_J
LLHDk[FBL[z_J))
_LLHDK[FBL[Z_J
_LLHDK[FBL[ZL[_@JL
LLHDK[FBL[ZL[_@JL))
LLHDlG]L[Y[@ZLdHGHNL[z_J))
_LLHDLG]L[Y[@ZLDHGHNL[Z_J
_LLHD[LZ]Z_J
_LLHDMH]HDF_L[ZL[_@JL
LLHDMH]HDF_L[ZL[_@JL))
LLHDmLYEFPDLG]zL[_@JL))
_LLHDMLYEFPDLG]ZL[_@JL
LLHDmLYEFPz_J))
_LLHDMLYEFPZ_J
_LLHDZXE
l)))L_HE
)))[L_LHE
LLH_EMJOYGA
LL]HEMKBD
LLH[LJQ_PHJHY
[L][LH]LM]FEE
l)))LH]LM@[LJ]F[PH
L@LHMBFG
L_LHOELA
LLHONJ[LS_
LLHUMLMMUL
Ll;Invalid axml header
_LL___]J
l)))LJAF
L_LjFG][FE
LLJG]GMLP
llJgqgg!
LLJKNMSEE
LLJNKKH_BGYJZZ
LLJNPCEGG
LLJ]QLOS]LBM
LLJQQM[]
LLJ[@ZCMCD
_L[][@LK
LLKAMPMNXNP
LLKCKPNMA
[LLKFBO@]GLZZ
LLKJJLJLHKN
LLKLXHXGGSZSDL
LL[KMHSQFZ
LLKNLNKKNNKLxxx
L_LK@QLB
LLKSOADK
[l[l[k[v[o[l[
LLKYG]EAL
LLLB@ANF
L]LLD[QAJ
LLL@DQ@YH
[L][@L_LHEE
|L|||LLLLLHLE||||?	
|l|l|l|l|l|l|l|
llllllle
llllllllllllLMO-
llllllllllllLMO8) V8
lllllllllllltMO-
llllllllllllwMO.!V"	
llllllllllllxMO-
LlllllllllmllllOllylm
lLllllllllmlll]Y]]
)-lllllllllmllllOllylm
|lllllllllmllllOllylm
l llllllllmllllOllylm
lllllllllmllllOllylm
!LllllllllmllllOllylm
#LllllllllmllllOllylm
)LllllllllmllllOllylm
.LllllllllmllllOllylm
_LllllllllmllllOllylm
L	llllllllmllllOllylm
L llllllllmllllOllylm
L!llllllllmllllOllylm
L'llllllllmllllOllylm
L)llllllllmllllOllylm
L*llllllllmllllOllylm
L]llllllllmllllOllylm"
LllllllllmllllOllylm
LllllllllmllllOllylm 
LllllllllmllllOllylm[
lllllllllmllllOllylm092
lllllllllmllllOllylm1
?(LllllllllmllllOllylm1
LllllllllmllllOllylm?2
LllllllllmllllOllylm2
LllllllllmllllOllylm8
LllllllllmllllOllylma
LllllllllmllllOllylm"]A!
lllllllllmllllOllylmd
LllllllllmllllOllylmD
lllllllllmllllOllylme
lllllllllmllllOllylmE
LllllllllmllllOllylme
lllllllllmllllOllylmEn
LllllllllmllllOllylmeqC
LllllllllmllllOllylmf
l:llllllllmllllOllylmG
lllllllllmllllOllylmI
LllllllllmllllOllylm_i
lllllllllmllllOllylm*_K
LllllllllmllllOllylmk
LllllllllmllllOllylmL
lllllllllmllllOllylmMp
lllllllllmllllOllylmPj
lllllllllmllllOllylmQ
LllllllllmllllOllylmR
LllllllllmllllOllylmrP
lllllllllmllllOllylms
LllllllllmllllOllylmt
LllllllllmllllOllylmt(Q
lllllllllmllllOllylm	U
lllllllllmllllOllylmve
'LllllllllmllllOllylmX
lllllllllmllllOllylmxW
l(llllllllmllllOllylmy
LllllllllmllllOllylmz
 lllllllllmlllwMO8
lllllllllmlllwMO8
lllllllllmlll]Y]]
!Lllllllllmlll]Y]]
L	llllllllmlll]Y]]
Lllllllllmlll]Y]]
-llllllllmlll
[llllllllmlll
]llllllllmlll
llllllllmlll
llllllllmlllDMO8) V.
llllllllmlllDMO8) V8
llllllllmlllFMO8
llllllllmlllHMO8) V8
;llllllllmlllIMO8) V8
llllllllmlllIMO8) V8
(llllllllmlllJMO8) V.
llllllllmlllJMO 9-V.
?llllllllmlllLMO8) V8
_llllllllmlllLMO8) V8
llllllllmlllLMO8) V8
		llllllllmllllOllylm
	!llllllllmllllOllylm
	_llllllllmllllOllylm
	llllllllmllllOllylm
	llllllllmllllOllylm'
	llllllllmllllOllylm*
	llllllllmllllOllylm.
	llllllllmllllOllylm;
	llllllllmllllOllylm]
  llllllllmllllOllylm
 !llllllllmllllOllylm
 )llllllllmllllOllylm
 -llllllllmllllOllylm
 ]llllllllmllllOllylm
 llllllllmllllOllylm
 llllllllmllllOllylm 
 llllllllmllllOllylm#
 llllllllmllllOllylm'
 llllllllmllllOllylm.
 llllllllmllllOllylm@
! llllllllmllllOllylm
!;llllllllmllllOllylm
!]|llllllllmllllOllylm
!llllllllmllllOllylm
!llllllllmllllOllylm 
!llllllllmllllOllylm#
!llllllllmllllOllylm(
!llllllllmllllOllylm)
!llllllllmllllOllylm-
!llllllllmllllOllylm@
"#llllllllmllllOllylm
"-llllllllmllllOllylm
".llllllllmllllOllylm
"llllllllmllllOllylm
#"llllllllmllllOllylm
#;llllllllmllllOllylm
#]llllllllmllllOllylm
#llllllllmllllOllylm
#llllllllmllllOllylm;
'.llllllllmllllOllylm
'?llllllllmllllOllylm
'|llllllllmllllOllylm
'llllllllmllllOllylm
'llllllllmllllOllylm"
'llllllllmllllOllylm?
'llllllllmllllOllylm@
( llllllllmllllOllylm
((llllllllmllllOllylm
(:llllllllmllllOllylm
(?llllllllmllllOllylm
([-llllllllmllllOllylm
(_llllllllmllllOllylm
(llllllllmllllOllylm
(llllllllmllllOllylm	
(llllllllmllllOllylm#
(llllllllmllllOllylm(
(llllllllmllllOllylm-
) llllllllmllllOllylm
):)llllllllmllllOllylm
)llllllllmllllOllylm
)llllllllmllllOllylm!
)llllllllmllllOllylm"
)llllllllmllllOllylm:"
)llllllllmllllOllylm]
)llllllllmllllOllylm_;
)llllllllmllllOllylm|
*!llllllllmllllOllylm
*'*llllllllmllllOllylm
*llllllllmllllOllylm
*llllllllmllllOllylm#
*llllllllmllllOllylm-
*llllllllmllllOllylm[
-	llllllllmllllOllylm
--llllllllmllllOllylm
-:llllllllmllllOllylm
-@llllllllmllllOllylm
-[llllllllmllllOllylm
-[llllllllmllllOllylm)
-llllllllmllllOllylm
-llllllllmllllOllylm	
-llllllllmllllOllylm*
-llllllllmllllOllylm:
-llllllllmllllOllylm;
-llllllllmllllOllylm]
.	llllllllmllllOllylm
.)llllllllmllllOllylm
..@llllllllmllllOllylm
.]llllllllmllllOllylm
.|llllllllmllllOllylm[
.llllllllmllllOllylm
.llllllllmllllOllylm	
.llllllllmllllOllylm#
.llllllllmllllOllylm*
.llllllllmllllOllylm[
.llllllllmllllOllylm_
:!llllllllmllllOllylm
:-llllllllmllllOllylm
::llllllllmllllOllylm
:@llllllllmllllOllylm
:llllllllmllllOllylm
:llllllllmllllOllylm.
;"llllllllmllllOllylm*
;*llllllllmllllOllylm
;]llllllllmllllOllylm
;_llllllllmllllOllylm*
;llllllllmllllOllylm
;llllllllmllllOllylm 
;llllllllmllllOllylm*
;llllllllmllllOllylm-
;llllllllmllllOllylm;
;llllllllmllllOllylm?
;llllllllmllllOllylm_
?!llllllllmllllOllylm[
?"llllllllmllllOllylm
?;llllllllmllllOllylm
?|llllllllmllllOllylm
?llllllllmllllOllylm
?llllllllmllllOllylm 
?llllllllmllllOllylm(
?llllllllmllllOllylm)
?llllllllmllllOllylm|
@	llllllllmllllOllylm
@ llllllllmllllOllylm
@!llllllllmllllOllylm
@)llllllllmllllOllylm
@]llllllllmllllOllylm
@llllllllmllllOllylm
@llllllllmllllOllylm 
@llllllllmllllOllylm!
@llllllllmllllOllylm-
@llllllllmllllOllylm;
@llllllllmllllOllylm@:
[ llllllllmllllOllylm
[!llllllllmllllOllylm
['llllllllmllllOllylm
[-llllllllmllllOllylm
[:llllllllmllllOllylm
[llllllllmllllOllylm
[llllllllmllllOllylm 
[llllllllmllllOllylm(
[llllllllmllllOllylm*
[llllllllmllllOllylm-
[llllllllmllllOllylm_
]!llllllllmllllOllylm;
]'llllllllmllllOllylm
]*llllllllmllllOllylm
]|llllllllmllllOllylm-
]llllllllmllllOllylm
]llllllllmllllOllylm	
]llllllllmllllOllylm"
_	llllllllmllllOllylm
_(llllllllmllllOllylm
_.llllllllmllllOllylm
__|llllllllmllllOllylm
_llllllllmllllOllylm
_llllllllmllllOllylm 
_llllllllmllllOllylm(
_llllllllmllllOllylm.
_llllllllmllllOllylm?
| llllllllmllllOllylm
|'llllllllmllllOllylm
|.[llllllllmllllOllylm
|:llllllllmllllOllylm
|;llllllllmllllOllylm"
||llllllllmllllOllylm
|llllllllmllllOllylm
|llllllllmllllOllylm"
|llllllllmllllOllylm()
|llllllllmllllOllylm@
|llllllllmllllOllylm[
llllllllmllllOllylm
llllllllmllllOllylm	
llllllllmllllOllylm	#
llllllllmllllOllylm	.
llllllllmllllOllylm 
llllllllmllllOllylm '
llllllllmllllOllylm *[
llllllllmllllOllylm [
llllllllmllllOllylm!
llllllllmllllOllylm!"|
llllllllmllllOllylm!@
llllllllmllllOllylm"
llllllllmllllOllylm"(
llllllllmllllOllylm";
llllllllmllllOllylm"?
llllllllmllllOllylm"|
llllllllmllllOllylm#
llllllllmllllOllylm#?
llllllllmllllOllylm#[
llllllllmllllOllylm#_
llllllllmllllOllylm'
llllllllmllllOllylm'*
llllllllmllllOllylm'-
llllllllmllllOllylm':
llllllllmllllOllylm';
llllllllmllllOllylm'; 
llllllllmllllOllylm'?
llllllllmllllOllylm'|
llllllllmllllOllylm(
llllllllmllllOllylm("
llllllllmllllOllylm(#
llllllllmllllOllylm(.
llllllllmllllOllylm(:
llllllllmllllOllylm(]
llllllllmllllOllylm)
llllllllmllllOllylm)"
llllllllmllllOllylm)-
llllllllmllllOllylm)[
llllllllmllllOllylm*
llllllllmllllOllylm*"
llllllllmllllOllylm*#
llllllllmllllOllylm*'
llllllllmllllOllylm*:
llllllllmllllOllylm*@
llllllllmllllOllylm-
llllllllmllllOllylm-*
llllllllmllllOllylm.
llllllllmllllOllylm.?
llllllllmllllOllylm.@
llllllllmllllOllylm._
llllllllmllllOllylm.|
llllllllmllllOllylm:
llllllllmllllOllylm:#
llllllllmllllOllylm:_
llllllllmllllOllylm;
llllllllmllllOllylm;'
llllllllmllllOllylm;:
llllllllmllllOllylm;|
llllllllmllllOllylm?
llllllllmllllOllylm?'
llllllllmllllOllylm?(
llllllllmllllOllylm?:
llllllllmllllOllylm?[
llllllllmllllOllylm@
llllllllmllllOllylm@!
llllllllmllllOllylm@"
llllllllmllllOllylm@;
llllllllmllllOllylm@]
llllllllmllllOllylm[
llllllllmllllOllylm[	
llllllllmllllOllylm[-
llllllllmllllOllylm[:
llllllllmllllOllylm[|
llllllllmllllOllylm]
llllllllmllllOllylm]	
llllllllmllllOllylm]'
llllllllmllllOllylm].
llllllllmllllOllylm]@
llllllllmllllOllylm]_
llllllllmllllOllylm_
llllllllmllllOllylm_	
llllllllmllllOllylm_'
llllllllmllllOllylm_.
llllllllmllllOllylm_:
llllllllmllllOllylm|
llllllllmllllOllylm|-
.llllllllmllllOllylm0
llllllllmllllOllylm-(0
llllllllmllllOllylm@0
llllllllmllllOllylm|0
llllllllmllllOllylm0
llllllllmllllOllylm0.
llllllllmllllOllylm0:
llllllllmllllOllylm00
llllllllmllllOllylm02M
llllllllmllllOllylm05
llllllllmllllOllylm08
llllllllmllllOllylm0b
llllllllmllllOllylm0d*19
llllllllmllllOllylm0?I
llllllllmllllOllylm0:J
llllllllmllllOllylm0n!b
llllllllmllllOllylm0Oc
llllllllmllllOllylm0p
llllllllmllllOllylm?0pQ
llllllllmllllOllylm#0q
llllllllmllllOllylm0TkE[
llllllllmllllOllylm0W
llllllllmllllOllylm0Y_
;llllllllmllllOllylm0z
!llllllllmllllOllylm1
-llllllllmllllOllylm1
[llllllllmllllOllylm1
|llllllllmllllOllylm1
llllllllmllllOllylm:1
llllllllmllllOllylm?1
llllllllmllllOllylm[1
llllllllmllllOllylm1
llllllllmllllOllylm1 
llllllllmllllOllylm1*
llllllllmllllOllylm1?
llllllllmllllOllylm12p
llllllllmllllOllylm16
llllllllmllllOllylm1|A
llllllllmllllOllylm1AM
llllllllmllllOllylm1B
]llllllllmllllOllylm1d
llllllllmllllOllylm1e[
llllllllmllllOllylm1I
llllllllmllllOllylm1J
llllllllmllllOllylm1k#
llllllllmllllOllylm1Lt
llllllllmllllOllylm1mO
llllllllmllllOllylm1r
llllllllmllllOllylm1S
llllllllmllllOllylm1T
?llllllllmllllOllylm1u
]llllllllmllllOllylm1um6
llllllllmllllOllylm1X.
"llllllllmllllOllylm2
(llllllllmllllOllylm2
[llllllllmllllOllylm2
_llllllllmllllOllylm2
llllllllmllllOllylm-|2
llllllllmllllOllylm;2:
llllllllmllllOllylm[2
llllllllmllllOllylm_2
llllllllmllllOllylm_2!
llllllllmllllOllylm2
llllllllmllllOllylm2!
llllllllmllllOllylm2"
llllllllmllllOllylm2'
llllllllmllllOllylm2']
llllllllmllllOllylm2:
llllllllmllllOllylm23
llllllllmllllOllylm27o
llllllllmllllOllylm2D
llllllllmllllOllylm2eA
llllllllmllllOllylm2gn
llllllllmllllOllylm2H
llllllllmllllOllylm2?i
llllllllmllllOllylm)2In
llllllllmllllOllylm2J
llllllllmllllOllylm2]M
llllllllmllllOllylm2N
[llllllllmllllOllylm2O
llllllllmllllOllylm2O
llllllllmllllOllylm2s
llllllllmllllOllylm2)tB
llllllllmllllOllylm2v
llllllllmllllOllylm2V
llllllllmllllOllylm2Vmw
llllllllmllllOllylm2W
llllllllmllllOllylm2W(
llllllllmllllOllylm2x
llllllllmllllOllylm2x9
 llllllllmllllOllylm3
)llllllllmllllOllylm3
-llllllllmllllOllylm3
;llllllllmllllOllylm3
?llllllllmllllOllylm 3
llllllllmllllOllylm)3
llllllllmllllOllylm;3
llllllllmllllOllylm?3
llllllllmllllOllylm[3
llllllllmllllOllylm[3|
llllllllmllllOllylm3
llllllllmllllOllylm3	
llllllllmllllOllylm3"-
llllllllmllllOllylm3]?
llllllllmllllOllylm3|
llllllllmllllOllylm33
llllllllmllllOllylm33q0
llllllllmllllOllylm35
llllllllmllllOllylm39
llllllllmllllOllylm3B
llllllllmllllOllylm3E
llllllllmllllOllylm3h
llllllllmllllOllylm3H
llllllllmllllOllylm3I
llllllllmllllOllylm3I(
llllllllmllllOllylm3L
llllllllmllllOllylm3L)
llllllllmllllOllylm3p
?"llllllllmllllOllylm3tM
*llllllllmllllOllylm3u
llllllllmllllOllylm3_V
llllllllmllllOllylm3V
llllllllmllllOllylm3z
 llllllllmllllOllylm4
#llllllllmllllOllylm4
.llllllllmllllOllylm4
llllllllmllllOllylm"4
llllllllmllllOllylm?4
llllllllmllllOllylm[4
llllllllmllllOllylm4
llllllllmllllOllylm4	
llllllllmllllOllylm4)
llllllllmllllOllylm4.
llllllllmllllOllylm42
llllllllmllllOllylm#46
llllllllmllllOllylm48
@	.llllllllmllllOllylm4a
llllllllmllllOllylm4D
llllllllmllllOllylm4F
llllllllmllllOllylm4Hp
llllllllmllllOllylm4i
llllllllmllllOllylm4iA
llllllllmllllOllylm4K.7W
llllllllmllllOllylm4kZ
llllllllmllllOllylm4Mz
llllllllmllllOllylm4]n
-llllllllmllllOllylm4q
llllllllmllllOllylm4q
llllllllmllllOllylm4Sr
llllllllmllllOllylm4T
llllllllmllllOllylm4w
llllllllmllllOllylm4X7
llllllllmllllOllylm4Y
	llllllllmllllOllylm5
!llllllllmllllOllylm5
"llllllllmllllOllylm5
@llllllllmllllOllylm5
]llllllllmllllOllylm5
llllllllmllllOllylm	5
llllllllmllllOllylm?	5
llllllllmllllOllylm?5_
llllllllmllllOllylm5
llllllllmllllOllylm5?
llllllllmllllOllylm5]
llllllllmllllOllylm5|*
llllllllmllllOllylm50
llllllllmllllOllylm51
llllllllmllllOllylm51wOP
llllllllmllllOllylm52
llllllllmllllOllylm561#
llllllllmllllOllylm)58
llllllllmllllOllylm58Z
llllllllmllllOllylm5b
llllllllmllllOllylm5CC
llllllllmllllOllylm5dU
llllllllmllllOllylm5g
llllllllmllllOllylm5G
llllllllmllllOllylm5k
llllllllmllllOllylm5n
llllllllmllllOllylm5O
llllllllmllllOllylm5r
'llllllllmllllOllylm5[w
llllllllmllllOllylm5|W
llllllllmllllOllylm5W
llllllllmllllOllylm5wu
llllllllmllllOllylm5Y
#llllllllmllllOllylm6
'llllllllmllllOllylm6
):llllllllmllllOllylm6
)llllllllmllllOllylm6
-llllllllmllllOllylm6
:llllllllmllllOllylm6
llllllllmllllOllylm--6
llllllllmllllOllylm?!6
llllllllmllllOllylm_6
llllllllmllllOllylm6
llllllllmllllOllylm6-
llllllllmllllOllylm6.
llllllllmllllOllylm6[
llllllllmllllOllylm6_
llllllllmllllOllylm61
llllllllmllllOllylm63
llllllllmllllOllylm64
_llllllllmllllOllylm66
llllllllmllllOllylm67E
llllllllmllllOllylm6A
llllllllmllllOllylm6e
llllllllmllllOllylm6G
llllllllmllllOllylm6Mat
llllllllmllllOllylm6P
llllllllmllllOllylm[6q
llllllllmllllOllylm6RTc
llllllllmllllOllylm6S
llllllllmllllOllylm6sQ
llllllllmllllOllylm6u
llllllllmllllOllylm6w
llllllllmllllOllylm:6x
llllllllmllllOllylm6y
llllllllmllllOllylm6YP
!llllllllmllllOllylm7
'*llllllllmllllOllylm7
;llllllllmllllOllylm7
?llllllllmllllOllylm7#
llllllllmllllOllylm	7
llllllllmllllOllylm"7
llllllllmllllOllylm]7
llllllllmllllOllylm7
llllllllmllllOllylm7!
llllllllmllllOllylm7#
llllllllmllllOllylm7)
llllllllmllllOllylm73
llllllllmllllOllylm73K
llllllllmllllOllylm76
llllllllmllllOllylm7C
llllllllmllllOllylm7CP
llllllllmllllOllylm7_G
|llllllllmllllOllylm7G
llllllllmllllOllylm7J
llllllllmllllOllylm:7l
llllllllmllllOllylm7m6
llllllllmllllOllylm7n
llllllllmllllOllylm7rl
llllllllmllllOllylm7t
llllllllmllllOllylm7UM
llllllllmllllOllylm7W
llllllllmllllOllylm7wL
llllllllmllllOllylm7yFN
llllllllmllllOllylm7z
#llllllllmllllOllylm8
'llllllllmllllOllylm8
(llllllllmllllOllylm8
)llllllllmllllOllylm8
*'llllllllmllllOllylm8
@llllllllmllllOllylm8
@llllllllmllllOllylm8]
[llllllllmllllOllylm8
llllllllmllllOllylm'8
llllllllmllllOllylm'8]
llllllllmllllOllylm.8
llllllllmllllOllylm;8
llllllllmllllOllylm_8	
llllllllmllllOllylm8
llllllllmllllOllylm8 
llllllllmllllOllylm8'
llllllllmllllOllylm8:
llllllllmllllOllylm8|
llllllllmllllOllylm@84
llllllllmllllOllylm84
llllllllmllllOllylm8a
llllllllmllllOllylm.8d|
llllllllmllllOllylm8d:
llllllllmllllOllylm8e#
llllllllmllllOllylm8E
llllllllmllllOllylm8f
llllllllmllllOllylm8G
llllllllmllllOllylm8I
llllllllmllllOllylm8iaf
llllllllmllllOllylm8k!
llllllllmllllOllylm8K
llllllllmllllOllylm8L
llllllllmllllOllylm8Le#
llllllllmllllOllylm8n
llllllllmllllOllylm8N
llllllllmllllOllylm8o
llllllllmllllOllylm8q-
llllllllmllllOllylm8u
llllllllmllllOllylm8VI
llllllllmllllOllylm8Yl
	llllllllmllllOllylm9
 llllllllmllllOllylm9
(llllllllmllllOllylm9
:llllllllmllllOllylm9
?llllllllmllllOllylm9
llllllllmllllOllylm(9
llllllllmllllOllylm:9
llllllllmllllOllylm[9
llllllllmllllOllylm]9
llllllllmllllOllylm9
llllllllmllllOllylm9 
llllllllmllllOllylm9#
llllllllmllllOllylm9|
llllllllmllllOllylm92
llllllllmllllOllylm92z
llllllllmllllOllylm93
llllllllmllllOllylm98
llllllllmllllOllylm99
llllllllmllllOllylm9b
llllllllmllllOllylm9B
llllllllmllllOllylm9cmw
llllllllmllllOllylm9E
llllllllmllllOllylm@9f
llllllllmllllOllylm9gS
llllllllmllllOllylm9HU
llllllllmllllOllylm9kqT
 llllllllmllllOllylm9M
llllllllmllllOllylm9N
.llllllllmllllOllylm9Nd
llllllllmllllOllylm9nW)
llllllllmllllOllylm9	nx
llllllllmllllOllylm9P
llllllllmllllOllylm9Q
llllllllmllllOllylm9r
llllllllmllllOllylm*9S
llllllllmllllOllylm9t
llllllllmllllOllylm9x
llllllllmllllOllylm9x*h
llllllllmllllOllylm9z
	llllllllmllllOllylma
 llllllllmllllOllylma
'llllllllmllllOllylma
)llllllllmllllOllylma
*llllllllmllllOllylma
.llllllllmllllOllylma
llllllllmllllOllylm*a
llllllllmllllOllylm-a
llllllllmllllOllylm]a
llllllllmllllOllylm]a;
llllllllmllllOllylma
llllllllmllllOllylma--
"llllllllmllllOllylm(A
@llllllllmllllOllylmA
[llllllllmllllOllylmA
llllllllmllllOllylm"A
llllllllmllllOllylm(A
llllllllmllllOllylm;A
llllllllmllllOllylm[A
llllllllmllllOllylm|A
llllllllmllllOllylmA
llllllllmllllOllylmA:
llllllllmllllOllylmA;
llllllllmllllOllylma1
llllllllmllllOllylma5;
#llllllllmllllOllylma6
llllllllmllllOllylmA 6
llllllllmllllOllylmaA
llllllllmllllOllylmab
llllllllmllllOllylmac]
llllllllmllllOllylmaC
llllllllmllllOllylmAc-
llllllllmllllOllylmAd
.llllllllmllllOllylmAE
llllllllmllllOllylmA#f
llllllllmllllOllylmAf
llllllllmllllOllylmaG
llllllllmllllOllylmAg
llllllllmllllOllylmai
llllllllmllllOllylm[aI
llllllllmllllOllylmAi
llllllllmllllOllylmaJ
llllllllmllllOllylmAk3
llllllllmllllOllylmAl
llllllllmllllOllylmaM
llllllllmllllOllylmAm
llllllllmllllOllylma[n
llllllllmllllOllylmao
llllllllmllllOllylmAO
llllllllmllllOllylmAQ
llllllllmllllOllylma:S
llllllllmllllOllylmAT
llllllllmllllOllylmaU
llllllllmllllOllylmA*Un
llllllllmllllOllylmAV
llllllllmllllOllylmax
llllllllmllllOllylmAx
llllllllmllllOllylmaXUT
llllllllmllllOllylmAYT3h
llllllllmllllOllylmAz
llllllllmllllOllylmazAu
"llllllllmllllOllylmb
.llllllllmllllOllylmb
:llllllllmllllOllylmb
llllllllmllllOllylm	#b
llllllllmllllOllylm b
llllllllmllllOllylm!b
llllllllmllllOllylm(b
llllllllmllllOllylm*@b
llllllllmllllOllylm?b
llllllllmllllOllylm@b
llllllllmllllOllylm]b
llllllllmllllOllylmb
llllllllmllllOllylmb?
llllllllmllllOllylmb_
llllllllmllllOllylmb|
"llllllllmllllOllylmB
#llllllllmllllOllylmB
-llllllllmllllOllylmB
llllllllmllllOllylm.B
llllllllmllllOllylm;B
llllllllmllllOllylm]B
llllllllmllllOllylmB
llllllllmllllOllylmB 
llllllllmllllOllylmB!
llllllllmllllOllylmB*
llllllllmllllOllylmB.
llllllllmllllOllylmB:
llllllllmllllOllylmB0
(llllllllmllllOllylmB1
llllllllmllllOllylmb6
llllllllmllllOllylmB6
llllllllmllllOllylmb6B
llllllllmllllOllylmb9
llllllllmllllOllylmB9W
llllllllmllllOllylmBB.
#llllllllmllllOllylmbc
llllllllmllllOllylmBd
llllllllmllllOllylmBD
llllllllmllllOllylmbe
llllllllmllllOllylmB-f?
llllllllmllllOllylmbH
llllllllmllllOllylmBi
llllllllmllllOllylmbJ
llllllllmllllOllylmB-j
llllllllmllllOllylmBjQ
llllllllmllllOllylmBK
llllllllmllllOllylmBlN
llllllllmllllOllylm]BN
llllllllmllllOllylmbO
llllllllmllllOllylmBq
llllllllmllllOllylm;br
llllllllmllllOllylmbr
llllllllmllllOllylmb?	S
llllllllmllllOllylmb@S
llllllllmllllOllylmBSqi
llllllllmllllOllylmbt
llllllllmllllOllylmBu
llllllllmllllOllylmbV
llllllllmllllOllylmBV
llllllllmllllOllylmbw
llllllllmllllOllylmBX
llllllllmllllOllylmBy
(llllllllmllllOllylmc
[llllllllmllllOllylmc
_llllllllmllllOllylmc
llllllllmllllOllylm |c
llllllllmllllOllylm#c
llllllllmllllOllylm-c
llllllllmllllOllylmc
llllllllmllllOllylmc	
llllllllmllllOllylmc#
 llllllllmllllOllylmC
llllllllmllllOllylm.C
llllllllmllllOllylmC
llllllllmllllOllylmC 
llllllllmllllOllylmC!
llllllllmllllOllylmC]
llllllllmllllOllylmC_
llllllllmllllOllylmC1MUd
|llllllllmllllOllylmc3
llllllllmllllOllylmc4
llllllllmllllOllylmc7
llllllllmllllOllylm_c9
llllllllmllllOllylmC9
llllllllmllllOllylmCav
llllllllmllllOllylmCB
llllllllmllllOllylmcB-NjM	wyc
llllllllmllllOllylmce
;llllllllmllllOllylmcE
llllllllmllllOllylmcEn
llllllllmllllOllylmcf5
llllllllmllllOllylmcFS
llllllllmllllOllylmcFU
llllllllmllllOllylmch
llllllllmllllOllylm?CH
llllllllmllllOllylmCH
llllllllmllllOllylmCi
@llllllllmllllOllylm[ci0Y
llllllllmllllOllylm_cJ;
llllllllmllllOllylmCJ
llllllllmllllOllylmCK
llllllllmllllOllylmclO
llllllllmllllOllylm		cLu
llllllllmllllOllylmCm
llllllllmllllOllylm|cmd
llllllllmllllOllylmcMz
llllllllmllllOllylmcnJ
llllllllmllllOllylmCP
llllllllmllllOllylmc?q
llllllllmllllOllylmCQ
llllllllmllllOllylmCq]v]
llllllllmllllOllylmCr
llllllllmllllOllylmCR
'llllllllmllllOllylmcT
llllllllmllllOllylmCt
llllllllmllllOllylmcTJ
llllllllmllllOllylmCu-
llllllllmllllOllylmcX
llllllllmllllOllylmCx
!llllllllmllllOllylmd
?llllllllmllllOllylmd#
]llllllllmllllOllylmd
_llllllllmllllOllylmd
llllllllmllllOllylm!d
llllllllmllllOllylm'd
llllllllmllllOllylm(d
llllllllmllllOllylm)d
llllllllmllllOllylm.d
llllllllmllllOllylm:d_
llllllllmllllOllylmd
llllllllmllllOllylmd	
llllllllmllllOllylmd*
llllllllmllllOllylmd[
	llllllllmllllOllylmD
?llllllllmllllOllylmD
@llllllllmllllOllylmD[
llllllllmllllOllylm#;D
llllllllmllllOllylmD
llllllllmllllOllylmD!
llllllllmllllOllylmD#
llllllllmllllOllylmD'
llllllllmllllOllylmD0p
llllllllmllllOllylm#d4
llllllllmllllOllylmd4
llllllllmllllOllylmd5G
llllllllmllllOllylmd7Pr
llllllllmllllOllylmd8
llllllllmllllOllylmDa
llllllllmllllOllylmd(C
llllllllmllllOllylmDc
llllllllmllllOllylmDC
llllllllmllllOllylmDd
llllllllmllllOllylmDD
llllllllmllllOllylmDDe2
@llllllllmllllOllylmdemA
llllllllmllllOllylmdF
llllllllmllllOllylmD]Fd
llllllllmllllOllylmDfG)l
llllllllmllllOllylmDG
llllllllmllllOllylmDHd
llllllllmllllOllylmdI
llllllllmllllOllylm?dj
llllllllmllllOllylmDK9
#llllllllmllllOllylmDkAcc
llllllllmllllOllylm#dM
llllllllmllllOllylmdM
llllllllmllllOllylmDN
llllllllmllllOllylmDO3
)llllllllmllllOllylmdp
llllllllmllllOllylmDp
llllllllmllllOllylmDP
llllllllmllllOllylmDp5
llllllllmllllOllylmDq
(@llllllllmllllOllylm	DQ
llllllllmllllOllylmDr
llllllllmllllOllylmDrDx
llllllllmllllOllylmdrj
llllllllmllllOllylmD[s
llllllllmllllOllylmdS_b
llllllllmllllOllylmdSD	
llllllllmllllOllylmDu:
llllllllmllllOllylmduh
llllllllmllllOllylmdUq
llllllllmllllOllylmdv
llllllllmllllOllylmDW
llllllllmllllOllylmDx
llllllllmllllOllylmdy
llllllllmllllOllylmdZ
llllllllmllllOllylmDZ
#llllllllmllllOllylme
'llllllllmllllOllylme
*llllllllmllllOllylme.
llllllllmllllOllylm;e
llllllllmllllOllylme
(llllllllmllllOllylmE
.llllllllmllllOllylmE
?llllllllmllllOllylmE
|llllllllmllllOllylm'E
llllllllmllllOllylm [E
llllllllmllllOllylm":E|
llllllllmllllOllylm*E
llllllllmllllOllylm_E
llllllllmllllOllylm|E
llllllllmllllOllylmE
llllllllmllllOllylmE	
llllllllmllllOllylmE#
llllllllmllllOllylmE|
llllllllmllllOllylmE0
llllllllmllllOllylme3
llllllllmllllOllylme7
llllllllmllllOllylmE9
llllllllmllllOllylmea
llllllllmllllOllylmEa
llllllllmllllOllylmeBc
llllllllmllllOllylmEG
llllllllmllllOllylmEh
llllllllmllllOllylmeIOn
llllllllmllllOllylmE;j
llllllllmllllOllylmEk
llllllllmllllOllylmeKo
llllllllmllllOllylmEKPGZj
llllllllmllllOllylmel
llllllllmllllOllylmEN
llllllllmllllOllylmenh
-llllllllmllllOllylmE*q
llllllllmllllOllylmer
llllllllmllllOllylmEr
llllllllmllllOllylmER
llllllllmllllOllylmeu
llllllllmllllOllylmEu
llllllllmllllOllylmev
llllllllmllllOllylmeV2(
llllllllmllllOllylmeX
llllllllmllllOllylmEX
llllllllmllllOllylmey
(llllllllmllllOllylmEY
llllllllmllllOllylmEy2
llllllllmllllOllylmEYp
llllllllmllllOllylmEyP?26
llllllllmllllOllylme[Z
 llllllllmllllOllylmf
!llllllllmllllOllylmf)
.llllllllmllllOllylmf
:llllllllmllllOllylmf
|-llllllllmllllOllylmf
llllllllmllllOllylm"f
llllllllmllllOllylm_f
llllllllmllllOllylm|f
llllllllmllllOllylmf
llllllllmllllOllylmf"
llllllllmllllOllylmf'
	llllllllmllllOllylmF
 llllllllmllllOllylm:F
"llllllllmllllOllylmF
;llllllllmllllOllylmF
llllllllmllllOllylm-F
llllllllmllllOllylm|F
llllllllmllllOllylmF
llllllllmllllOllylmF.
llllllllmllllOllylmF_
#llllllllmllllOllylmF0
llllllllmllllOllylmF1
llllllllmllllOllylmF2[
llllllllmllllOllylmF2D
llllllllmllllOllylmF3
llllllllmllllOllylmf4
llllllllmllllOllylmF5
llllllllmllllOllylm#F8
-llllllllmllllOllylm(!f9
llllllllmllllOllylmfb
llllllllmllllOllylmFB
llllllllmllllOllylmFBm
llllllllmllllOllylmf c
llllllllmllllOllylmfc0
llllllllmllllOllylmFC0D
llllllllmllllOllylmFd
llllllllmllllOllylmfdDJ)
llllllllmllllOllylmFeJ
llllllllmllllOllylmfF
llllllllmllllOllylmfG_
llllllllmllllOllylmfH
llllllllmllllOllylmFh
?llllllllmllllOllylmF!I
llllllllmllllOllylmfIc
llllllllmllllOllylmFJ
'llllllllmllllOllylmfl'
llllllllmllllOllylmFq
llllllllmllllOllylmFQ
llllllllmllllOllylmFQ3
llllllllmllllOllylmFr
llllllllmllllOllylmfs
llllllllmllllOllylmfS
llllllllmllllOllylmFs
llllllllmllllOllylmFSd
llllllllmllllOllylmFt
llllllllmllllOllylmftb
llllllllmllllOllylmfv
llllllllmllllOllylm.fV
llllllllmllllOllylmFX
llllllllmllllOllylmFY
llllllllmllllOllylmfZ
-llllllllmllllOllylmg
;llllllllmllllOllylmg
@llllllllmllllOllylmg*
_llllllllmllllOllylmg
llllllllmllllOllylm"g
llllllllmllllOllylm#g
llllllllmllllOllylm*'g
llllllllmllllOllylm-g
llllllllmllllOllylmg
llllllllmllllOllylmg!
llllllllmllllOllylmg-
llllllllmllllOllylmg__
 llllllllmllllOllylmG
!llllllllmllllOllylmG
*llllllllmllllOllylmG)
_llllllllmllllOllylmG
llllllllmllllOllylm!G
llllllllmllllOllylm?G
llllllllmllllOllylm[G
llllllllmllllOllylm_G
llllllllmllllOllylm|G
llllllllmllllOllylmG
llllllllmllllOllylmG:
llllllllmllllOllylmG?
llllllllmllllOllylmG|0
llllllllmllllOllylmg1
_llllllllmllllOllylmg2
llllllllmllllOllylmg5
llllllllmllllOllylmG;6?
llllllllmllllOllylmg9
llllllllmllllOllylm*gA
llllllllmllllOllylmGA
llllllllmllllOllylmGb
llllllllmllllOllylmgC
llllllllmllllOllylmgEe
llllllllmllllOllylmGei
llllllllmllllOllylmgF
(llllllllmllllOllylmgG
llllllllmllllOllylmGg
llllllllmllllOllylmgH
llllllllmllllOllylmgJ
llllllllmllllOllylmGk[
llllllllmllllOllylmg kq
llllllllmllllOllylmGl
llllllllmllllOllylmglI
llllllllmllllOllylmgn
llllllllmllllOllylmgN
llllllllmllllOllylmgo
llllllllmllllOllylmgO
llllllllmllllOllylmGO
llllllllmllllOllylmgoz
llllllllmllllOllylmgP
llllllllmllllOllylmg-Q
llllllllmllllOllylmgQ
llllllllmllllOllylmGS[
llllllllmllllOllylmG	sT
llllllllmllllOllylmgt
llllllllmllllOllylmgT;
llllllllmllllOllylmGu@ 
llllllllmllllOllylmGU
;llllllllmllllOllylm#gV
llllllllmllllOllylmgw
llllllllmllllOllylmgWj
llllllllmllllOllylmgx
llllllllmllllOllylmgy
llllllllmllllOllylmGYQ
llllllllmllllOllylmg:z
llllllllmllllOllylmgZ
llllllllmllllOllylmgZD
'llllllllmllllOllylmh
(llllllllmllllOllylmh
)llllllllmllllOllylmh
.llllllllmllllOllylmh
llllllllmllllOllylm!h
llllllllmllllOllylm@h
llllllllmllllOllylm_	h
llllllllmllllOllylm|h
llllllllmllllOllylmh
llllllllmllllOllylmh:
!!?llllllllmllllOllylmH
)llllllllmllllOllylmH#
*llllllllmllllOllylmH
-llllllllmllllOllylmH
:llllllllmllllOllylmH
?llllllllmllllOllylmH
_llllllllmllllOllylm?H
llllllllmllllOllylm-H
llllllllmllllOllylm?H)
llllllllmllllOllylm[H
llllllllmllllOllylm|H
llllllllmllllOllylmH
llllllllmllllOllylmH	
llllllllmllllOllylmH"
llllllllmllllOllylmH|
llllllllmllllOllylmh?5
llllllllmllllOllylmh5
llllllllmllllOllylmhA
llllllllmllllOllylmhb
llllllllmllllOllylmH]@b
llllllllmllllOllylmHb
llllllllmllllOllylmHBd
llllllllmllllOllylmHC
llllllllmllllOllylmhCg
llllllllmllllOllylmhd
llllllllmllllOllylmhdT
llllllllmllllOllylmhE
llllllllmllllOllylmHE
llllllllmllllOllylmHF
llllllllmllllOllylmHhi|M
llllllllmllllOllylmhl
llllllllmllllOllylm@HL
llllllllmllllOllylmH n
llllllllmllllOllylmHn
?'llllllllmllllOllylm|HN
llllllllmllllOllylmHPG.x
llllllllmllllOllylm"Hpk
llllllllmllllOllylm#)hq
llllllllmllllOllylmht
llllllllmllllOllylmHT
llllllllmllllOllylm.hu
llllllllmllllOllylmhU
[llllllllmllllOllylmHu
llllllllmllllOllylmHu
llllllllmllllOllylmHuL
llllllllmllllOllylmhVS
'llllllllmllllOllylmHX
llllllllmllllOllylmHy
llllllllmllllOllylm|hYX
llllllllmllllOllylmhz:R
"llllllllmllllOllylmi
)llllllllmllllOllylmi
.llllllllmllllOllylmi
;;-llllllllmllllOllylmi
]llllllllmllllOllylmi
llllllllmllllOllylm;i
llllllllmllllOllylm[ i
llllllllmllllOllylm|i*
llllllllmllllOllylmi
llllllllmllllOllylmi"
llllllllmllllOllylmi[
'llllllllmllllOllylmI
(llllllllmllllOllylmI
*llllllllmllllOllylmI
llllllllmllllOllylm I
llllllllmllllOllylm'I
llllllllmllllOllylm)I
llllllllmllllOllylm;I
llllllllmllllOllylm[I
llllllllmllllOllylm[I)
llllllllmllllOllylm|I
llllllllmllllOllylmI
llllllllmllllOllylmI 
llllllllmllllOllylmI.
llllllllmllllOllylmI]
llllllllmllllOllylm-i0
llllllllmllllOllylmi1
llllllllmllllOllylmI2
llllllllmllllOllylmI3
llllllllmllllOllylmi6
llllllllmllllOllylmI7
llllllllmllllOllylmI8
llllllllmllllOllylmia
llllllllmllllOllylmIA
llllllllmllllOllylmIA	
llllllllmllllOllylmIb
llllllllmllllOllylmi*BN
llllllllmllllOllylmIBv
llllllllmllllOllylmid
llllllllmllllOllylmiEu
llllllllmllllOllylmif
llllllllmllllOllylmiF
llllllllmllllOllylmIF
llllllllmllllOllylmiFjS
llllllllmllllOllylm	IFm
llllllllmllllOllylmig
llllllllmllllOllylmiG
llllllllmllllOllylmih
llllllllmllllOllylmIh
llllllllmllllOllylmIH
llllllllmllllOllylmIHM
llllllllmllllOllylmi[hv
llllllllmllllOllylmii
llllllllmllllOllylmIi
llllllllmllllOllylmij
llllllllmllllOllylmil
llllllllmllllOllylmIl
llllllllmllllOllylmIo
llllllllmllllOllylmIO
llllllllmllllOllylmioX
llllllllmllllOllylm_iP	
llllllllmllllOllylmiP
llllllllmllllOllylmIp
llllllllmllllOllylmIu
llllllllmllllOllylmi.V
llllllllmllllOllylmiWf
llllllllmllllOllylmix
llllllllmllllOllylmIX6
:llllllllmllllOllylmiY
llllllllmllllOllylmiy5m
llllllllmllllOllylmIye
llllllllmllllOllylmiz
llllllllmllllOllylmiZ
llllllllmllllOllylmIz
llllllllmllllOllylmizP
llllllllmllllOllylmi;ZX
 llllllllmllllOllylmj
?llllllllmllllOllylmj
llllllllmllllOllylm j
llllllllmllllOllylm?@j
llllllllmllllOllylmj
llllllllmllllOllylmj!
llllllllmllllOllylmj"(
llllllllmllllOllylmj]
@llllllllmllllOllylmJ
[llllllllmllllOllylmJ
llllllllmllllOllylm	J
llllllllmllllOllylm'J
llllllllmllllOllylm(J
llllllllmllllOllylm?J
llllllllmllllOllylm_J
llllllllmllllOllylmJ
llllllllmllllOllylmJ?
llllllllmllllOllylmj[3
llllllllmllllOllylmj4@
llllllllmllllOllylmJ6-
llllllllmllllOllylmj6.nv
llllllllmllllOllylmj7
llllllllmllllOllylmj9
llllllllmllllOllylmjB
llllllllmllllOllylm|JB
llllllllmllllOllylmjdHP
llllllllmllllOllylmJF
llllllllmllllOllylmjg
llllllllmllllOllylmjG
?llllllllmllllOllylmjH
llllllllmllllOllylmjH
llllllllmllllOllylmjj
llllllllmllllOllylmjk
llllllllmllllOllylmJK
llllllllmllllOllylmJl
llllllllmllllOllylmjLz
llllllllmllllOllylmjm
llllllllmllllOllylmjnw
llllllllmllllOllylmjq
llllllllmllllOllylmjQ)
llllllllmllllOllylmjR
llllllllmllllOllylm?J#r
llllllllmllllOllylmjso
llllllllmllllOllylmjT
llllllllmllllOllylmJt
llllllllmllllOllylmj.t4oZz_
llllllllmllllOllylmjTF
llllllllmllllOllylmJtP
llllllllmllllOllylmJU
llllllllmllllOllylmJw
;llllllllmllllOllylmjwN
llllllllmllllOllylmJx.
llllllllmllllOllylmJX
llllllllmllllOllylmjx1Kb
llllllllmllllOllylmjXp"(
llllllllmllllOllylmjZr
	llllllllmllllOllylmk
 llllllllmllllOllylmk
*llllllllmllllOllylm!k
:llllllllmllllOllylmk
_llllllllmllllOllylmk
llllllllmllllOllylm"k
llllllllmllllOllylm-k
llllllllmllllOllylm.k
llllllllmllllOllylm@-k
llllllllmllllOllylm]k
llllllllmllllOllylm|k
llllllllmllllOllylmk
llllllllmllllOllylmk	*
llllllllmllllOllylmk;
	llllllllmllllOllylmK
!llllllllmllllOllylmK
'llllllllmllllOllylmK
[llllllllmllllOllylmK
llllllllmllllOllylm!K
llllllllmllllOllylm#K
llllllllmllllOllylm:K
llllllllmllllOllylm;K
llllllllmllllOllylm?K
llllllllmllllOllylm@!K 
llllllllmllllOllylm|K
llllllllmllllOllylmK
llllllllmllllOllylmK!
llllllllmllllOllylmK(
llllllllmllllOllylmK)@
llllllllmllllOllylmK;
llllllllmllllOllylmK]'
llllllllmllllOllylmk;0
llllllllmllllOllylmk0h
llllllllmllllOllylmK3
llllllllmllllOllylmk3zh
llllllllmllllOllylmk5
llllllllmllllOllylmk7
llllllllmllllOllylmK7
"llllllllmllllOllylmk8
llllllllmllllOllylm!k9]2
llllllllmllllOllylmk9z
llllllllmllllOllylmka
llllllllmllllOllylmkA
llllllllmllllOllylmKAn
llllllllmllllOllylmkb
llllllllmllllOllylmKc
]llllllllmllllOllylmKC
'llllllllmllllOllylmKD
llllllllmllllOllylmKe
llllllllmllllOllylmkg
llllllllmllllOllylmKi
llllllllmllllOllylmKJ
llllllllmllllOllylmKl
llllllllmllllOllylmKL
llllllllmllllOllylmkm
llllllllmllllOllylmkm 
	llllllllmllllOllylmKn
llllllllmllllOllylmKN
llllllllmllllOllylmkp
llllllllmllllOllylmKP
llllllllmllllOllylmkQD8v
llllllllmllllOllylmKr
llllllllmllllOllylmkr9k
llllllllmllllOllylmksF
llllllllmllllOllylmku
llllllllmllllOllylmK'uo
llllllllmllllOllylmKv
llllllllmllllOllylmkw
llllllllmllllOllylmkW
llllllllmllllOllylmKW
llllllllmllllOllylm"Kx
llllllllmllllOllylmKxA;w
llllllllmllllOllylmkY
llllllllmllllOllylmkyG9
llllllllmllllOllylmKz
	llllllllmllllOllylml
-llllllllmllllOllylm|l?
;llllllllmllllOllylml
?llllllllmllllOllylml
|llllllllmllllOllylml
llllllllmllllOllylm''l
llllllllmllllOllylm]l
llllllllmllllOllylm|l
llllllllmllllOllylml
llllllllmllllOllylml	
llllllllmllllOllylml 
llllllllmllllOllylml!
llllllllmllllOllylml#
llllllllmllllOllylml)
llllllllmllllOllylml|
!llllllllmllllOllylmL
*llllllllmllllOllylmL
?llllllllmllllOllylmL
]llllllllmllllOllylmL
llllllllmllllOllylm*L
llllllllmllllOllylm-L
llllllllmllllOllylm;L
llllllllmllllOllylm?L
llllllllmllllOllylmL
llllllllmllllOllylmL#
llllllllmllllOllylmL*
llllllllmllllOllylmL;
llllllllmllllOllylmL0
llllllllmllllOllylmL1
llllllllmllllOllylmL2
llllllllmllllOllylml3
llllllllmllllOllylmL3
llllllllmllllOllylml4
llllllllmllllOllylml8
llllllllmllllOllylmlA
llllllllmllllOllylmlb
llllllllmllllOllylmL?dg
llllllllmllllOllylmLe
llllllllmllllOllylmL E
llllllllmllllOllylmLex
llllllllmllllOllylm(Lgk
llllllllmllllOllylmLgr
llllllllmllllOllylmLhL
llllllllmllllOllylmlI
llllllllmllllOllylmlJ
llllllllmllllOllylmLJmH
llllllllmllllOllylmlk
llllllllmllllOllylmLk
llllllllmllllOllylmLK
@llllllllmllllOllylmlL
llllllllmllllOllylmLL
llllllllmllllOllylm*llT
llllllllmllllOllylmLM2n
llllllllmllllOllylmlO2i'N
llllllllmllllOllylmLppr
llllllllmllllOllylmLS
llllllllmllllOllylmLsD
llllllllmllllOllylmlt
llllllllmllllOllylmlv
llllllllmllllOllylmLvso
]llllllllmllllOllylmlXni
llllllllmllllOllylmLy
llllllllmllllOllylmLY
llllllllmllllOllylmlZ
llllllllmllllOllylm"LZ
llllllllmllllOllylmLZ
-llllllllmllllOllylmm
;llllllllmllllOllylmm
llllllllmllllOllylm";m
llllllllmllllOllylm"m
llllllllmllllOllylm*m
llllllllmllllOllylm.m
llllllllmllllOllylm@m
llllllllmllllOllylm]m
llllllllmllllOllylmm
llllllllmllllOllylmm"
llllllllmllllOllylmm#
llllllllmllllOllylmm*
llllllllmllllOllylmm@
llllllllmllllOllylmm[
(llllllllmllllOllylmM
:llllllllmllllOllylmM
[llllllllmllllOllylmM
_llllllllmllllOllylmM
llllllllmllllOllylm"M
llllllllmllllOllylm?M
llllllllmllllOllylmM
llllllllmllllOllylmM	
llllllllmllllOllylmM"
llllllllmllllOllylmM(
llllllllmllllOllylmM-
llllllllmllllOllylmM_
llllllllmllllOllylmm3
#llllllllmllllOllylm.!M3
llllllllmllllOllylmM6
llllllllmllllOllylmm7
llllllllmllllOllylmm;8
llllllllmllllOllylmm8
llllllllmllllOllylmm9
llllllllmllllOllylmM_*c
llllllllmllllOllylmMe
*llllllllmllllOllylmME
llllllllmllllOllylmMI
-llllllllmllllOllylmMj- 
llllllllmllllOllylmM.j
llllllllmllllOllylmmk
llllllllmllllOllylmMk
llllllllmllllOllylm;MK
*llllllllmllllOllylmMl 6
llllllllmllllOllylmmLO
llllllllmllllOllylmMlWm[
llllllllmllllOllylmMo
llllllllmllllOllylmMol
llllllllmllllOllylmmq
llllllllmllllOllylmMq[.a
llllllllmllllOllylmmr
llllllllmllllOllylmMs
llllllllmllllOllylmMS
llllllllmllllOllylmmt
llllllllmllllOllylmmT
llllllllmllllOllylmmU
llllllllmllllOllylmmuN|k3l
llllllllmllllOllylmmv
llllllllmllllOllylmMv#
llllllllmllllOllylm.mW
llllllllmllllOllylmMw
llllllllmllllOllylmmXv:3v
'#llllllllmllllOllylmn
'llllllllmllllOllylmn
.!llllllllmllllOllylmn
.llllllllmllllOllylmn
]llllllllmllllOllylmn
|llllllllmllllOllylmn-
llllllllmllllOllylm(n
llllllllmllllOllylm?n
llllllllmllllOllylmn
llllllllmllllOllylmn"
llllllllmllllOllylmn(
llllllllmllllOllylmn@
llllllllmllllOllylmn[
	llllllllmllllOllylmN
!llllllllmllllOllylmN
-llllllllmllllOllylmN
;llllllllmllllOllylmN
?llllllllmllllOllylmN
llllllllmllllOllylm#N
llllllllmllllOllylm-N
llllllllmllllOllylm_N
llllllllmllllOllylmN
llllllllmllllOllylmN	
llllllllmllllOllylmN#
llllllllmllllOllylmN*
llllllllmllllOllylmN-
llllllllmllllOllylmN|
llllllllmllllOllylmn1
?llllllllmllllOllylmN4
llllllllmllllOllylmn]5
llllllllmllllOllylm N5
llllllllmllllOllylmN7
llllllllmllllOllylmN8
llllllllmllllOllylm[NB
llllllllmllllOllylmNB
-llllllllmllllOllylmnf
llllllllmllllOllylmnG
llllllllmllllOllylmNG
llllllllmllllOllylmNgW
llllllllmllllOllylmn"II
llllllllmllllOllylm*Nj
llllllllmllllOllylmnK
llllllllmllllOllylmnL
llllllllmllllOllylmNl
'llllllllmllllOllylmNlU
|llllllllmllllOllylmnm
llllllllmllllOllylmnnCN
llllllllmllllOllylmnp
llllllllmllllOllylmNr
llllllllmllllOllylmNS
llllllllmllllOllylmNSq
(llllllllmllllOllylm@nU:
llllllllmllllOllylm(nv
llllllllmllllOllylmNv
llllllllmllllOllylmNV
#llllllllmllllOllylmNV'E
llllllllmllllOllylmNw
llllllllmllllOllylmNW
llllllllmllllOllylmN:X
llllllllmllllOllylmNX
llllllllmllllOllylmny
.llllllllmllllOllylmnz
llllllllmllllOllylmN!z
.llllllllmllllOllylmo
llllllllmllllOllylm!o
llllllllmllllOllylm'o
llllllllmllllOllylm(o
llllllllmllllOllylm*o
llllllllmllllOllylm.o
llllllllmllllOllylm;o
llllllllmllllOllylm;o*
llllllllmllllOllylm_o
llllllllmllllOllylmo
llllllllmllllOllylmo!
llllllllmllllOllylmo)
llllllllmllllOllylmo@
llllllllmllllOllylmo|
"llllllllmllllOllylmO
)llllllllmllllOllylmO
-llllllllmllllOllylmO
_llllllllmllllOllylmO
llllllllmllllOllylm	O
llllllllmllllOllylm?O
llllllllmllllOllylm@O
llllllllmllllOllylmO
llllllllmllllOllylmO	
llllllllmllllOllylmO"
llllllllmllllOllylmO-
llllllllmllllOllylmO;
llllllllmllllOllylmO_
llllllllmllllOllylmo0
llllllllmllllOllylmo1
llllllllmllllOllylmo2'
llllllllmllllOllylmO7
llllllllmllllOllylmo9
llllllllmllllOllylmOal
llllllllmllllOllylmoC
"llllllllmllllOllylm)of
llllllllmllllOllylmOG
llllllllmllllOllylmoj
llllllllmllllOllylmol
llllllllmllllOllylmOlp
llllllllmllllOllylmoo
llllllllmllllOllylmOo
llllllllmllllOllylmoOq4S
llllllllmllllOllylmOPT0
llllllllmllllOllylmoPU
llllllllmllllOllylmoq
llllllllmllllOllylmOr
llllllllmllllOllylmOs
llllllllmllllOllylmOt
llllllllmllllOllylmoTe
llllllllmllllOllylmov
llllllllmllllOllylmoV
llllllllmllllOllylmOv
llllllllmllllOllylmovp
llllllllmllllOllylmoW
llllllllmllllOllylmoY
llllllllmllllOllylmOZ
"llllllllmllllOllylmp
)llllllllmllllOllylm!p
.llllllllmllllOllylmp
@)llllllllmllllOllylmp
@llllllllmllllOllylmp
_llllllllmllllOllylmp
llllllllmllllOllylm-p
llllllllmllllOllylm@p
llllllllmllllOllylm_p
llllllllmllllOllylmp
llllllllmllllOllylmp)
!llllllllmllllOllylmP
;llllllllmllllOllylm*P?
llllllllmllllOllylm	P
llllllllmllllOllylm-P
llllllllmllllOllylm.P
llllllllmllllOllylm;P
llllllllmllllOllylm?P
llllllllmllllOllylmP
llllllllmllllOllylmP)
llllllllmllllOllylmP]
llllllllmllllOllylmP_
llllllllmllllOllylm)p1
llllllllmllllOllylmP1
llllllllmllllOllylmp1;1
llllllllmllllOllylmP3
llllllllmllllOllylmP7
llllllllmllllOllylmp8
-_llllllllmllllOllylmPa
llllllllmllllOllylmpb
llllllllmllllOllylmPE
[llllllllmllllOllylmpF
llllllllmllllOllylmpF
llllllllmllllOllylmPH
llllllllmllllOllylmpI
llllllllmllllOllylmpJ
llllllllmllllOllylmpK
_llllllllmllllOllylmpl
llllllllmllllOllylmpl
llllllllmllllOllylmPN
llllllllmllllOllylmpOz
llllllllmllllOllylmPR
llllllllmllllOllylmpT
llllllllmllllOllylm"pu
llllllllmllllOllylmPv
llllllllmllllOllylmPV
llllllllmllllOllylmpW
.;llllllllmllllOllylmpx
llllllllmllllOllylmpX
llllllllmllllOllylmPx
llllllllmllllOllylmPYP
(llllllllmllllOllylmq
(llllllllmllllOllylmq 
*llllllllmllllOllylmq@?
|llllllllmllllOllylmq"
llllllllmllllOllylm(q
llllllllmllllOllylm)q
llllllllmllllOllylm?q
llllllllmllllOllylm@q
llllllllmllllOllylmq
llllllllmllllOllylmq	
llllllllmllllOllylmq'
llllllllmllllOllylmq-
llllllllmllllOllylmq.
llllllllmllllOllylmq@'
 llllllllmllllOllylmQ
;llllllllmllllOllylmQ
llllllllmllllOllylm	Q#
llllllllmllllOllylm]Q
llllllllmllllOllylmQ
llllllllmllllOllylmQ	
llllllllmllllOllylmQ 
llllllllmllllOllylmQ'
llllllllmllllOllylmq0
@llllllllmllllOllylmq3g
llllllllmllllOllylmq?4
llllllllmllllOllylmq5
llllllllmllllOllylmq6
llllllllmllllOllylmQ[8Q
llllllllmllllOllylmQ9
llllllllmllllOllylmqA
llllllllmllllOllylmQb
llllllllmllllOllylmQd
llllllllmllllOllylmQD:
llllllllmllllOllylmqE]R)
llllllllmllllOllylmqF6
llllllllmllllOllylmqG
llllllllmllllOllylmQg
llllllllmllllOllylmqh
llllllllmllllOllylmQHK
llllllllmllllOllylmqJ
*!llllllllmllllOllylmQ;jl
llllllllmllllOllylmql
llllllllmllllOllylmQl
llllllllmllllOllylmqN
llllllllmllllOllylmqnFb
llllllllmllllOllylmqNW
llllllllmllllOllylmQO
llllllllmllllOllylmqP
llllllllmllllOllylmQP
llllllllmllllOllylmqQ
llllllllmllllOllylmQq
llllllllmllllOllylmQr
llllllllmllllOllylmqRtn
llllllllmllllOllylmQS
llllllllmllllOllylmqSB1
llllllllmllllOllylmqT
llllllllmllllOllylmQt
llllllllmllllOllylmQuj
llllllllmllllOllylmQumn0
llllllllmllllOllylmqv
llllllllmllllOllylmqV
llllllllmllllOllylmQWjSI
 llllllllmllllOllylmqX
llllllllmllllOllylmQx
llllllllmllllOllylmqY[
	llllllllmllllOllylmr
"llllllllmllllOllylmr
#!llllllllmllllOllylmr
'llllllllmllllOllylmr
-llllllllmllllOllylmr
;-llllllllmllllOllylmr
;llllllllmllllOllylmr
llllllllmllllOllylm	r@
llllllllmllllOllylm)r
llllllllmllllOllylmr
llllllllmllllOllylmr	
llllllllmllllOllylmr" 
llllllllmllllOllylmr#
llllllllmllllOllylmr.
llllllllmllllOllylmr]
!llllllllmllllOllylmR
"llllllllmllllOllylmR
*llllllllmllllOllylmR
?llllllllmllllOllylm.R
?llllllllmllllOllylmR
llllllllmllllOllylm*-R
llllllllmllllOllylm: R
llllllllmllllOllylm;R
llllllllmllllOllylm@R
llllllllmllllOllylmR
llllllllmllllOllylmR 
llllllllmllllOllylmR#
llllllllmllllOllylmR*
llllllllmllllOllylmR-
llllllllmllllOllylmR:
llllllllmllllOllylmR[
llllllllmllllOllylmR_
llllllllmllllOllylmR1
llllllllmllllOllylmr8
llllllllmllllOllylmr#8qS1*J
llllllllmllllOllylm?rA!
llllllllmllllOllylmRA
llllllllmllllOllylmrb
llllllllmllllOllylmrB
llllllllmllllOllylmRBF
llllllllmllllOllylmRC
llllllllmllllOllylmRcbA
!llllllllmllllOllylmrd
llllllllmllllOllylmRD
llllllllmllllOllylmRG
llllllllmllllOllylmrI
llllllllmllllOllylmRi
llllllllmllllOllylmR(#@J
llllllllmllllOllylmrk
#llllllllmllllOllylmrK
llllllllmllllOllylmrL
llllllllmllllOllylmRL
llllllllmllllOllylmrnX
llllllllmllllOllylmRP8
llllllllmllllOllylmrq
llllllllmllllOllylmRQ0
llllllllmllllOllylmrr
llllllllmllllOllylmrS
llllllllmllllOllylmRS
llllllllmllllOllylmRT
llllllllmllllOllylmrV
llllllllmllllOllylmRv
llllllllmllllOllylmrX
llllllllmllllOllylm(RX
llllllllmllllOllylmry
llllllllmllllOllylmRz
	llllllllmllllOllylms
)llllllllmllllOllylms
*llllllllmllllOllylms
;llllllllmllllOllylms
@llllllllmllllOllylms
llllllllmllllOllylms
llllllllmllllOllylms(
llllllllmllllOllylms*
llllllllmllllOllylms-
llllllllmllllOllylms.
.llllllllmllllOllylmS
:llllllllmllllOllylmS
llllllllmllllOllylm(S.
llllllllmllllOllylm;S
llllllllmllllOllylm|S
llllllllmllllOllylmS
llllllllmllllOllylmS-
llllllllmllllOllylmS_
llllllllmllllOllylmS0
llllllllmllllOllylmS10
llllllllmllllOllylmS1Ts
llllllllmllllOllylms3
llllllllmllllOllylmS3
llllllllmllllOllylms3Mc
llllllllmllllOllylmS4
llllllllmllllOllylmS4FWc1"
llllllllmllllOllylmS5
llllllllmllllOllylmS7
llllllllmllllOllylm@S9
llllllllmllllOllylmSbF_
#llllllllmllllOllylmSc2
llllllllmllllOllylms*d
llllllllmllllOllylmSD
llllllllmllllOllylmse
;llllllllmllllOllylmSE
	llllllllmllllOllylmSF
llllllllmllllOllylmSFm
llllllllmllllOllylmsg
llllllllmllllOllylmSg
llllllllmllllOllylmsi
llllllllmllllOllylmSI
llllllllmllllOllylms]kF
llllllllmllllOllylmSL
)llllllllmllllOllylm!sm
llllllllmllllOllylmsM
llllllllmllllOllylmsn
	llllllllmllllOllylm!sN
llllllllmllllOllylmso
llllllllmllllOllylm@sO2
llllllllmllllOllylm[SP
llllllllmllllOllylmS-Q
llllllllmllllOllylmSQ?
llllllllmllllOllylmSr
llllllllmllllOllylmsRLQF
llllllllmllllOllylmss
llllllllmllllOllylm:SS17h
[llllllllmllllOllylms|t
llllllllmllllOllylmst
llllllllmllllOllylmSTk
llllllllmllllOllylmstxQB-9
llllllllmllllOllylmSu
llllllllmllllOllylm[SU
llllllllmllllOllylmSU
llllllllmllllOllylmS!w
llllllllmllllOllylm].SWt
llllllllmllllOllylmSy
llllllllmllllOllylmsZ
llllllllmllllOllylmSz0
	llllllllmllllOllylmt
#llllllllmllllOllylmt
(llllllllmllllOllylmt
.llllllllmllllOllylm-t
;llllllllmllllOllylmt
@llllllllmllllOllylmt
llllllllmllllOllylm't
llllllllmllllOllylm:t
llllllllmllllOllylm@;t
llllllllmllllOllylm_)t
llllllllmllllOllylmt
llllllllmllllOllylmt#
llllllllmllllOllylmt*
llllllllmllllOllylmt;
llllllllmllllOllylmt?
(?llllllllmllllOllylmT
.llllllllmllllOllylmT
:llllllllmllllOllylmT
|llllllllmllllOllylmT
llllllllmllllOllylm@T
llllllllmllllOllylm]T
llllllllmllllOllylm_T
llllllllmllllOllylmT
llllllllmllllOllylmT:
llllllllmllllOllylmT?
llllllllmllllOllylmT]
llllllllmllllOllylmT0
llllllllmllllOllylmT2T
llllllllmllllOllylmt3*
llllllllmllllOllylmt4
llllllllmllllOllylmT4'l
llllllllmllllOllylmt6
-llllllllmllllOllylmt8
llllllllmllllOllylmt8
llllllllmllllOllylmt9L
llllllllmllllOllylm*tb
llllllllmllllOllylmTb!
llllllllmllllOllylmtC
"llllllllmllllOllylmTcx
llllllllmllllOllylmTD
llllllllmllllOllylmte
llllllllmllllOllylmTe0
llllllllmllllOllylmTEf
llllllllmllllOllylmtg
llllllllmllllOllylmTg
llllllllmllllOllylmtGG-
"llllllllmllllOllylmth
llllllllmllllOllylmtj
llllllllmllllOllylmTJ
llllllllmllllOllylmtK
llllllllmllllOllylmtl
llllllllmllllOllylmTM
llllllllmllllOllylmtN
!llllllllmllllOllylmTn
llllllllmllllOllylmtO
llllllllmllllOllylmTo
llllllllmllllOllylmTp
llllllllmllllOllylmTp!
llllllllmllllOllylmtq
llllllllmllllOllylmTq
llllllllmllllOllylmTQ
llllllllmllllOllylmtQ[1V
llllllllmllllOllylmt#:s
llllllllmllllOllylmts
llllllllmllllOllylmtS
llllllllmllllOllylmTsqW
llllllllmllllOllylmTT
llllllllmllllOllylmtTA
;llllllllmllllOllylmtu
llllllllmllllOllylmT:)UT
llllllllmllllOllylmTX?cq.
llllllllmllllOllylmTY
 llllllllmllllOllylmu
!llllllllmllllOllylmu
(llllllllmllllOllylmu
]llllllllmllllOllylmu
llllllllmllllOllylm@u
llllllllmllllOllylmu
llllllllmllllOllylmu 
llllllllmllllOllylmu(
llllllllmllllOllylmu?
"llllllllmllllOllylmU
#llllllllmllllOllylmU|
]llllllllmllllOllylmU
_llllllllmllllOllylm!U
|llllllllmllllOllylmU
llllllllmllllOllylm!U
llllllllmllllOllylmU
llllllllmllllOllylmU!
llllllllmllllOllylmU.
llllllllmllllOllylmU;
llllllllmllllOllylmU?#
llllllllmllllOllylmU_
llllllllmllllOllylmU(0
llllllllmllllOllylm|"U1
llllllllmllllOllylmu2
"llllllllmllllOllylmU2
llllllllmllllOllylmU2
llllllllmllllOllylmU2h;
llllllllmllllOllylmu4
llllllllmllllOllylmu5
llllllllmllllOllylmU(8
llllllllmllllOllylmu8B
llllllllmllllOllylmU9
llllllllmllllOllylm;ua
llllllllmllllOllylmua
llllllllmllllOllylmuA
llllllllmllllOllylmuB
_llllllllmllllOllylmUDD
llllllllmllllOllylm(Ue
llllllllmllllOllylmUe
llllllllmllllOllylmueQ;
llllllllmllllOllylmUg
llllllllmllllOllylmui
llllllllmllllOllylmUiq
llllllllmllllOllylmUJ
llllllllmllllOllylmul;2S
llllllllmllllOllylm?uLW
llllllllmllllOllylmUm
llllllllmllllOllylmUM
llllllllmllllOllylmun
?llllllllmllllOllylmuN
llllllllmllllOllylmupPp
llllllllmllllOllylm_uq
llllllllmllllOllylmUQ
 #llllllllmllllOllylmUR
llllllllmllllOllylmUs
llllllllmllllOllylmUt
llllllllmllllOllylmU*T
llllllllmllllOllylmuTy
llllllllmllllOllylmUu
llllllllmllllOllylmUuA[
llllllllmllllOllylm:uUx
llllllllmllllOllylmuv
llllllllmllllOllylmu"V
llllllllmllllOllylm?-UV
llllllllmllllOllylmuVsI
llllllllmllllOllylmUW
llllllllmllllOllylmUW2
llllllllmllllOllylmUW4
llllllllmllllOllylmux
llllllllmllllOllylmu'X
llllllllmllllOllylmUX
llllllllmllllOllylmuyw
.llllllllmllllOllylmv
llllllllmllllOllylmv
llllllllmllllOllylmv;
!llllllllmllllOllylmV
'llllllllmllllOllylmV
?llllllllmllllOllylmV
llllllllmllllOllylm!V
llllllllmllllOllylm"V
llllllllmllllOllylm;V
llllllllmllllOllylm?V
llllllllmllllOllylm[V
llllllllmllllOllylm_V
llllllllmllllOllylmV
llllllllmllllOllylmV-
llllllllmllllOllylmV?
llllllllmllllOllylmV]
llllllllmllllOllylmV_
llllllllmllllOllylmV0
llllllllmllllOllylmV2_
llllllllmllllOllylmv2Ri
llllllllmllllOllylmv9*
]llllllllmllllOllylmvA
llllllllmllllOllylmVB
llllllllmllllOllylmvD
llllllllmllllOllylmVD
llllllllmllllOllylmvf
llllllllmllllOllylmVf
llllllllmllllOllylm*VfI
llllllllmllllOllylmVfk(
llllllllmllllOllylmV]G
llllllllmllllOllylmvgD
llllllllmllllOllylmvi
llllllllmllllOllylmviW
llllllllmllllOllylmVkQ
llllllllmllllOllylmVl
llllllllmllllOllylmVL
llllllllmllllOllylmVM
llllllllmllllOllylmvN
llllllllmllllOllylmvO
llllllllmllllOllylmVp
llllllllmllllOllylmVP
llllllllmllllOllylmv)q
llllllllmllllOllylmv.Q
llllllllmllllOllylmVr
llllllllmllllOllylm;Vs
llllllllmllllOllylm)VS
llllllllmllllOllylmvU
llllllllmllllOllylm-VV
llllllllmllllOllylmvX
llllllllmllllOllylmVx
llllllllmllllOllylmVX
llllllllmllllOllylmVXV
 llllllllmllllOllylmw
'llllllllmllllOllylmw
(llllllllmllllOllylmw
.llllllllmllllOllylmw
;llllllllmllllOllylmw*
llllllllmllllOllylm"w;
llllllllmllllOllylm[#w
llllllllmllllOllylmw
llllllllmllllOllylmw"
llllllllmllllOllylmw.
llllllllmllllOllylmw@
!llllllllmllllOllylmW:
[llllllllmllllOllylmW
|llllllllmllllOllylmW
llllllllmllllOllylm W
llllllllmllllOllylm!W
llllllllmllllOllylm;W
llllllllmllllOllylmW
llllllllmllllOllylmW-
llllllllmllllOllylmW|
llllllllmllllOllylmw0
llllllllmllllOllylmW1
llllllllmllllOllylmw"2l
llllllllmllllOllylmW3c
llllllllmllllOllylmW3s
llllllllmllllOllylmw67
llllllllmllllOllylmw8l
)llllllllmllllOllylmWa
llllllllmllllOllylmwAUbU
llllllllmllllOllylm'w[b
llllllllmllllOllylmWb
llllllllmllllOllylmWB
llllllllmllllOllylmwbJ
llllllllmllllOllylm!wBtU*
llllllllmllllOllylmwc
llllllllmllllOllylmwD
llllllllmllllOllylmWd]K
llllllllmllllOllylm_wdl
llllllllmllllOllylmWeK
llllllllmllllOllylmwF
(llllllllmllllOllylmWH
llllllllmllllOllylmWhI-
llllllllmllllOllylmWI
llllllllmllllOllylmWIr7
llllllllmllllOllylm"Wj
llllllllmllllOllylm_Wj
llllllllmllllOllylmwk
llllllllmllllOllylmwK
llllllllmllllOllylmWK
llllllllmllllOllylmWKH
llllllllmllllOllylmwl
llllllllmllllOllylmwL
llllllllmllllOllylmWlm
llllllllmllllOllylmwq[
llllllllmllllOllylm(wQ
llllllllmllllOllylmWQ
]llllllllmllllOllylmWRWi
.llllllllmllllOllylmWv[
_llllllllmllllOllylmWv
llllllllmllllOllylmWW
llllllllmllllOllylmwwAX
llllllllmllllOllylmwXM
llllllllmllllOllylm"W?YN
llllllllmllllOllylmWYpW
llllllllmllllOllylmWz
llllllllmllllOllylmWZ
#llllllllmllllOllylmx
-llllllllmllllOllylmx
:llllllllmllllOllylmx 
;llllllllmllllOllylm*x
;llllllllmllllOllylmx
[llllllllmllllOllylmx
llllllllmllllOllylm[x
llllllllmllllOllylmx
llllllllmllllOllylmx#
llllllllmllllOllylmx[
 llllllllmllllOllylmX
"llllllllmllllOllylmX[
)llllllllmllllOllylmX
:llllllllmllllOllylmX
_llllllllmllllOllylmX
|llllllllmllllOllylmX.
llllllllmllllOllylm	X
llllllllmllllOllylm)X
llllllllmllllOllylm*X
llllllllmllllOllylm.X
llllllllmllllOllylm.X"
llllllllmllllOllylm:X
llllllllmllllOllylm[X#!
llllllllmllllOllylm]X
llllllllmllllOllylm|X
llllllllmllllOllylmX
llllllllmllllOllylmX	
llllllllmllllOllylmX 
llllllllmllllOllylmX_
llllllllmllllOllylmX|
llllllllmllllOllylmx1
llllllllmllllOllylmX2
llllllllmllllOllylm-X3
llllllllmllllOllylmx!5
llllllllmllllOllylmX5
llllllllmllllOllylmx6
llllllllmllllOllylmx8
llllllllmllllOllylm:x_)9A
llllllllmllllOllylmXA3
llllllllmllllOllylmxb
llllllllmllllOllylmXBUQ
llllllllmllllOllylmxc
llllllllmllllOllylm	xC
llllllllmllllOllylmXC
llllllllmllllOllylmXC*
llllllllmllllOllylmxd
llllllllmllllOllylmxD
llllllllmllllOllylmXd
llllllllmllllOllylmxDYc
llllllllmllllOllylmxE
llllllllmllllOllylmXe
llllllllmllllOllylmxF
llllllllmllllOllylmXF
_llllllllmllllOllylm;xG
llllllllmllllOllylmxG
llllllllmllllOllylmXG
llllllllmllllOllylmXI
llllllllmllllOllylmXj
llllllllmllllOllylmxj9
)llllllllmllllOllylmx*L
llllllllmllllOllylm[[Xl
llllllllmllllOllylmXL
llllllllmllllOllylmXn
llllllllmllllOllylmXO
llllllllmllllOllylmxP
llllllllmllllOllylmXr
llllllllmllllOllylmxS
llllllllmllllOllylmxu
llllllllmllllOllylmXV
llllllllmllllOllylmXWb
llllllllmllllOllylm(XxI
llllllllmllllOllylmXY
llllllllmllllOllylmxZ
	llllllllmllllOllylm]y
 llllllllmllllOllylmy
*llllllllmllllOllylmy
;llllllllmllllOllylmy
_llllllllmllllOllylm!y
llllllllmllllOllylm#y
llllllllmllllOllylm-y
llllllllmllllOllylm.y
llllllllmllllOllylm|y
llllllllmllllOllylmy
llllllllmllllOllylmy(
llllllllmllllOllylmy*
llllllllmllllOllylmy:	
llllllllmllllOllylmy;
	llllllllmllllOllylmY
.llllllllmllllOllylmY
[llllllllmllllOllylmY
|llllllllmllllOllylmY
llllllllmllllOllylm#Y
llllllllmllllOllylm:Y
llllllllmllllOllylmY
llllllllmllllOllylmY	
llllllllmllllOllylmY(
llllllllmllllOllylmY-
llllllllmllllOllylmy2
llllllllmllllOllylmy2E
llllllllmllllOllylmYa
llllllllmllllOllylmyaq6
llllllllmllllOllylmyc
llllllllmllllOllylmYc
llllllllmllllOllylm:)YC
llllllllmllllOllylmyd
llllllllmllllOllylmYE
llllllllmllllOllylmYf
llllllllmllllOllylmYh
llllllllmllllOllylmyhSv)
llllllllmllllOllylmyi
llllllllmllllOllylmYI
llllllllmllllOllylmyK
llllllllmllllOllylmY(k
llllllllmllllOllylmykv
llllllllmllllOllylmYm
"llllllllmllllOllylmYM
llllllllmllllOllylmYM
llllllllmllllOllylmYMl
llllllllmllllOllylmYn
llllllllmllllOllylm'Y]N
llllllllmllllOllylmynF
llllllllmllllOllylmyO
 llllllllmllllOllylmyoV
llllllllmllllOllylmyP
llllllllmllllOllylmyPv
llllllllmllllOllylmy|q
llllllllmllllOllylmyQ
#llllllllmllllOllylm#yR
llllllllmllllOllylm!YR
llllllllmllllOllylmYs
llllllllmllllOllylmyx
llllllllmllllOllylmyX
llllllllmllllOllylmyy
 llllllllmllllOllylmYY
llllllllmllllOllylmYY
llllllllmllllOllylmyZ
	llllllllmllllOllylmz-
?llllllllmllllOllylmz
@	llllllllmllllOllylmz
@llllllllmllllOllylmz@
|llllllllmllllOllylmz
llllllllmllllOllylm@z
llllllllmllllOllylm]z
llllllllmllllOllylmz
llllllllmllllOllylmz	
"llllllllmllllOllylmZ
'llllllllmllllOllylmZ
?llllllllmllllOllylmZ
@llllllllmllllOllylmZ
llllllllmllllOllylm!?Z
llllllllmllllOllylm'Z
llllllllmllllOllylm.Z
llllllllmllllOllylm_Z
llllllllmllllOllylmZ
llllllllmllllOllylmZ	
llllllllmllllOllylmZ)"
llllllllmllllOllylmZ:
llllllllmllllOllylmz0
llllllllmllllOllylmZ1
llllllllmllllOllylm#z3
llllllllmllllOllylmZ3#
llllllllmllllOllylmZ4
llllllllmllllOllylmZ5
*llllllllmllllOllylmz5f
llllllllmllllOllylmz6
llllllllmllllOllylmZ8
llllllllmllllOllylmz9
llllllllmllllOllylmZ9
llllllllmllllOllylmZ9X
llllllllmllllOllylmza
llllllllmllllOllylmZA
llllllllmllllOllylmZaGO
llllllllmllllOllylmZC
llllllllmllllOllylmZCCN	e
llllllllmllllOllylmZcs
llllllllmllllOllylmzE
llllllllmllllOllylmzf
"llllllllmllllOllylmzF
llllllllmllllOllylmZFO
llllllllmllllOllylmzh
llllllllmllllOllylm*Zh
llllllllmllllOllylmZH
llllllllmllllOllylmZhK
_llllllllmllllOllylmZJA
llllllllmllllOllylmzK
llllllllmllllOllylmZk
llllllllmllllOllylmZl
llllllllmllllOllylmZL!
llllllllmllllOllylmzLD
llllllllmllllOllylmzm
llllllllmllllOllylmZnDN
llllllllmllllOllylmzO.
llllllllmllllOllylmzP
)llllllllmllllOllylmZP
llllllllmllllOllylmzQ
llllllllmllllOllylmzQ"
llllllllmllllOllylmZR
llllllllmllllOllylmzS
llllllllmllllOllylmzS	
llllllllmllllOllylmZS
)llllllllmllllOllylmZt
llllllllmllllOllylmzU
llllllllmllllOllylmzV
llllllllmllllOllylmzW
llllllllmllllOllylmzX
llllllllmllllOllylmzX3)x24
llllllllmllllOllylmZXoW
llllllllmllllOllylmzZ
[llllllllmlllMMO8) V8
llllllllmlllMMO8) V8
llllllllmlll|MO"	
llllllllmlllNMO8) V8
llllllllmlll_O__I_
llllllllmlllOMO8) V8
 llllllllmlllpMO-
llllllllmlllpMO-
llllllllmlllpMO8
llllllllmlllpMO 9-V-
llllllllmlllqMO8
"llllllllmlllqMO8) V8
llllllllmlllqMO8) V8
llllllllmlllrMO8) V.
llllllllmlllsMO-
llllllllmlllsMO8) V.
llllllllmlllsMO8) V8
llllllllmllltMO
llllllllmllltMO-
llllllllmllltMO8
'llllllllmllltMO8) V;
llllllllmllltMO8) V8
llllllllmllluMO
llllllllmllluMO-
llllllllmllluMO8) V8
llllllllmlllvMO8) V.
llllllllmlllwMO-
llllllllmlllwMO8
.llllllllmlllwMO8) V.
llllllllmlllwMO8) V-
llllllllmlllwMO8) V.
llllllllmlllwMO8) V;
llllllllmlllwMO8) V8
"llllllllmlllx
:llllllllmlllx
llllllllmlllx
llllllllmlllx0xxzxzxzxxyxXy?x
llllllllmlllx2xx|x|x|xxyxq
llllllllmlllx8xxzxzxzxxyxox?
llllllllmlllxMO
	llllllllmlll]Y]]
 llllllllmlll]Y]]
!llllllllmlll]Y]]
"llllllllmlll]Y]]
#"llllllllmlll]Y]]
#llllllllmlll]Y]]
'.llllllllmlll]Y]]
'llllllllmlll]Y]]
(.llllllllmlll]Y]]
(llllllllmlll]Y]]
)|llllllllmlll]Y]]
)llllllllmlll]Y]]
*[llllllllmlll]Y]]
*llllllllmlll]Y]]
-llllllllmlll]Y]]
.llllllllmlll]Y]]
:llllllllmlll]Y]]
;llllllllmlll]Y]]
?llllllllmlll]Y]]
@'llllllllmlll]Y]]
@llllllllmlll]Y]]
['llllllllmlll]Y]]
[:llllllllmlll]Y]]
[llllllllmlll]Y]]
]llllllllmlll]Y]]
_llllllllmlll]Y]]
_llllllllmlll]Y]]:
||llllllllmlll]Y]]
|llllllllmlll]Y]]
llllllllmlll]Y]]
llllllllmlll]Y]]	
llllllllmlll]Y]] 
llllllllmlll]Y]]#
llllllllmlll]Y]]*
llllllllmlll]Y]]-
llllllllmlll]Y]].
llllllllmlll]Y]]:
llllllllmlll]Y]];
llllllllmlll]Y]]?
llllllllmlll]Y]]@
llllllllmlll]Y]][
llllllllmlll]Y]]]
llllllllmlll]Y]]|
llllllllmlll]Y]]0
llllllllmlll]Y]]2
llllllllmlll]Y]]4
llllllllmlll]Y]]5
llllllllmlll]Y]]6
?llllllllmlll]Y]]7
llllllllmlll]Y]]7
llllllllmlll]Y]]8
llllllllmlll]Y]]9
llllllllmlll]Y]]a
llllllllmlll]Y]]A
[llllllllmlll]Y]]b
llllllllmlll]Y]]b
 llllllllmlll]Y]]B
llllllllmlll]Y]]B
llllllllmlll]Y]]c
llllllllmlll]Y]]C
llllllllmlll]Y]]d
llllllllmlll]Y]]D
llllllllmlll]Y]]e
llllllllmlll]Y]]E
?llllllllmlll]Y]]f
llllllllmlll]Y]]F
llllllllmlll]Y]]g
llllllllmlll]Y]]G
llllllllmlll]Y]]h
llllllllmlll]Y]]H
llllllllmlll]Y]]hiX
llllllllmlll]Y]]I
llllllllmlll]Y]]j
llllllllmlll]Y]]J
llllllllmlll]Y]]jfY
llllllllmlll]Y]]k
llllllllmlll]Y]]K
llllllllmlll]Y]]l
llllllllmlll]Y]]L
llllllllmlll]Y]]m
llllllllmlll]Y]]M
llllllllmlllyMO
llllllllmlllyMO 
llllllllmlll]Y]]n
llllllllmlll]Y]]N
llllllllmlll]Y]]o
llllllllmlll]Y]]O
llllllllmlll]Y]]p
llllllllmlll]Y]]P
llllllllmlll]Y]]q
llllllllmlll]Y]]Q
llllllllmlll]Y]]r
llllllllmlll]Y]]R
llllllllmlll]Y]]s
llllllllmlll]Y]]S
_-llllllllmlll]Y]]t
llllllllmlll]Y]]t
llllllllmlll]Y]]T
llllllllmlll]Y]]u
llllllllmlll]Y]]U
llllllllmlll]Y]]u9Y
|llllllllmlll]Y]]v
llllllllmlll]Y]]v
)llllllllmlll]Y]]V
llllllllmlll]Y]]V
llllllllmlll]Y]]w
llllllllmlll]Y]]W
llllllllmlll]Y]]x
llllllllmlll]Y]]-_X
llllllllmlll]Y]]X
llllllllmlll]Y]]y
	llllllllmlll]Y]]Y
llllllllmlll]Y]]YaY
llllllllmlll]Y]]z
llllllllmlll]Y]]Z
llllllllmlllzMO
#llllllllmlllzMO8) V:
llllllllmlllzMO8) V:
llllllllmlllzrzzzzzzzzzzlOllylmlC
LLLNOMIM
l)))L[LN@Z]L[
	l(llylm
	l)llylm
	l*llylm
	l*llylm@
	l-llylm
	l.llylm
	l.llylm	
	l.llylm(
	l.llylm*
l!llylm]
l(llylm"
l(llylm'
l(llylm)
l(llylm*
l(llylm*!
l(llylm?
l(llylm|
l)llylm*
l)llylm:
l)llylm@
l*llylm	
l*llylm!
l*llylm"
l*llylm)
l*llylm.
l*llylm:
l*llylm;
l*llylm[
l*llylm]
l*llylm|
l-llylm 
l-llylm!
l-llylm"
l-llylm'
l-llylm*
l-llylm;
l-llylm?
l-llylm[
l-llylm|
l.llylm!
l.llylm"
l.llylm#
l.llylm'
l.llylm(
l.llylm)
l.llylm:
l.llylm;
l.llylm?
l.llylm@
l.llylm_
l;llylm"
l[llylm.
l[llylm?
l(llylm0
l)llylm0
l*llylm!0
l*llylm:)0
l*llylm0
l-llylm[0
l.llylm0g
l*llylm?0Is
l-llylm0p
	l*llylm1
l-llylm1
l.llylm1
l)llylm#1A2L
l-llylm;2eg
l(llylm3
l-llylm3
l.llylm32
l*llylm4
l-llylm4
l.llylm4
l)llylm4Q
l*llylm5
l(llylm6
l)llylm6'
l*llylm6
l-llylm6
l.llylm6
l*llylm'6iz
	l.llylm7
l(llylm7
l*llylm7
l-llylm7
l.llylm7
l(llylm7Ev
l(llylm7I
l(llylm8
l-llylm8
l.llylm8
l*llylm82
l[llylm8_W
l.llylm8Z(
l)llylm9
l-llylm9
l(llylm97A
l(llylma"
l.llylma
l[llylm.a
	l*llylmA
l*llylmA
l-llylmA
l.llylmA
l)llylmae
l)llylmAgG
	l(llylmb
l(llylmb
l)llylmb
l-llylmb
l-llylmb"
l[llylm]-b;
l(llylmB
l.llylmB
l-llylmbd
l*llylmbF
l.llylmB ku
l)llylmc
	l*llylmC
l.llylmC)
l*llylmc(0
	l.llylmcN
l'llylmCv
	l.llylmd
	l_llylmd
l(llylmd
l)llylmd
l*llylmd
l*llylmD
l-llylmD
l.llylmD
l*llylme
l(llylmE
l)llylmE
l-llylmE
l.llylmE
l llylmeC(J
l(llylmEnB
l(llylmf
l-llylmf
l.llylmf
l?llylmf
l)llylmF
l-llylmF
l.llylmF
l.llylmfk
	l*llylmfpv
l(llylmg
l*llylmg
l-llylmg
l)llylm_G]
l*llylmG
l-llylmG
l.llylm"-G
l.llylmG
l-llylmgu:
l)llylmh
l.llylmh
l?llylmh]
l[llylmh
l*llylmH
l-llylmH
l.llylmHU:
l(llylm(hX]
l*llylmi
l-llylmi
l.llylmi
	l-llylmI
l(llylm]I'
l(llylmI
l*llylmI
l*llylmiq
l(llylm'j|
l)llylmj
l*llylmj
l.llylmj
	l*llylmJ
l-llylmJ
l.llylmJEO
l)llylmjI
l)llylmJKSXc
l*llylmJm
l(llylmk
l)llylmk
l*llylmk
l-llylmk
l.llylmk
l-llylmK4
l-llylmkAH
l-llylmkC
	l-llylml
l*llylml
l.llylml*
l[llylml
l*llylmL
l.llylmL
l-llylmLX
l(llylmm
l*llylmm
l.llylm@m#
l.llylmm
l.llylmM
l.llylmM@
	l-llylmMX
l(llylmmz
l)llylmMz
l.llylmn
	l.llylmN
l*llylmN
l-llylmN
l(llylmnE
l)llylmNh
l(llylmo
l*llylmo
l(llylm!O
l(llylmO
l-llylmO
l.llylmO
l(llylmo6
l-llylmO6m
l-llylmoII
l)llylmOjxZ
l*llylmp
l-llylmp
l)llylmP
l*llylmP
l[llylmP
l(llylmpL'
	l.llylmq()
l(llylm_q
l*llylmq
l(llylmQ
l-llylmQ
l.llylmQ
l*llylmQdI
l-llylmQr
l(llylm)r
l(llylmr
l)llylmr
l*llylmr:
l-llylmr
l(llylmR
l-llylmR"
l.llylmR
l.llylmR5
l[llylmrA
l*llylmri
	l-llylms
l)llylms
l*llylms
l.llylms
l[llylms
l*llylmS
l-llylm?S
l-llylmS
l-llylmS]
l.llylmS
l.llylmS)[
l[llylmS
l-llylms_D:J
l*llylmSm
l-llylmSO
	l*llylmt
	l.llylmt
l.llylmt
l?llylmt	
l'llylmT
l(llylmT
l-llylmT
l.llylmt6
l-llylmtl
l[llylm u
	l-llylmU
l(llylmU
l)llylmU
l-llylmU
l-llylmU1
l-llylmu:C
l(llylmUE
	l.llylmv
l'llylmv
l-llylmv
l.llylmv
l(llylm'V
l*llylmV
l-llylmV
l.llylmV
l-llylmVH
l)llylmVM
l)llylmvw2
l*llylmvY
l)llylmw
	l.llylmW
l)llylmW
l*llylm!W
l*llylmW
l-llylmW
l.llylmW
l[llylmW
l.llylmw4
l*llylmWS)Z7
l.llylmWu
l*llylmx
l-llylmx
l.llylm(x_
l.llylm.x
l.llylmx
	l.llylm!X
	l.llylmxC
l-llylmxxf:
l)llylmy
l*llylmy
l-llylmy
l(llylmY
l*llylmY
l.llylmY
l[llylmY
l-llylmyf
l-llylmyJ
l(llylmz
l.llylm[z
l.llylmz
l(llylmZ
l*llylmZ
l-llylmZ
LLLYZDLBL_YXDA
)))LLME@GBZ
l||lm||Gm||
LLMHHIHNH
l||lm||Hm||
LLMLJZXOZ[AXNGHZQBZHY
LL[[[MN[M
LLMOQ_F@
LLMPCN[OQ
LLMPGHD@JMGZ
LLMPS]H_MJS@
l||lm||Wm||:m||
LLMxyxny
LLMxyxpx
LLMxyxsx
'LLMyxqx
LLN[DE_YSNDPSGZ_
LLN[GDMS
L)))[LNHMMAB
LLNHOKF]X@LLKH
l)))LNHZN
l)))[LNZ_[
L)))[LNZ_[
]@L@LOACCX[
LLOB[ADX
LLOBHCXO
L@LOBMCH
LLOEJZZZYHZHADZ
l||lo|||m||fm||do||@m||
[LL[[OOOM[OZMMZMOMON[[
LlO[OQOWO(O.O
LLOO_S[GC
LL[OPQAH
LL]OQ@_LJM
]LLOSZD@JQY[COHL
l)))[LOZGH[]
L_L[P]A@GN
L_L[P]A@GNHGM[F@M
?)))L_L[P]A@GNLQJLY]OEHN
L_L[P]A@GN@ZYFZZ@KEL]F[LJF_L[
LLPDBBX]Q
L_L[PEFJHEL
l_L[PeFJHELhJ]@_@]P
@_LLPFNXAAEY[BD
LLPHDJO[OC
LLPPHDJG
LLPPJED[
@LL@@[pPLv
L_L[PZFO]
LLPZ]JFSLA
())L[_L[Q
_L[]LQHM_@Z@GN
l)))LQ][LDLZ]F[L
)))LLQLJ
|)))LLQLJ
LLQSMYAG
l)))LQYHGMLG_@[FGDLG]Z][@GNZ
LLQ@Z]@GN
LLSAPHCOLN
L]LSDLYZ
L]LSDYZG
LLSgqgg2w
LLS[LOQY
LLSQ]EPL
LLSS_PGCSEP
llSSSSSSSSSSSS
LLS_SY_Y
_LLSYYHP
LLUAHKOUL
[l[l[v[h[o[
((L]LvO@EL
llv@@@@@z@@A@AAac
Llw2Llw2LlcPL
LLX][QKF
Ll-((]Y]]
LLYASEMJHOBC
L_L[YHYL[
LLY[PXEGY
LLYSHAFX
LLYSSE]M]GZGS
LLYYCMANC
L	Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
lL[[[Z[[[
l]]L[z@ELG]
)))L]]L[Z@ELG]DHJ[F
@L_L[Z@FG
LLZHSPQ[
[LLZJ]SOJ
LLZKB@CYNGFD]
[L_L[ZLjFGO@[DjL[]))
[L_L[ZLvA]]YZ
[L_L[ZLv]JYEAFZ]
')))[L_L[ZLZALEE
LLZNH_YN
LLZO]_G__N_]DNS[XGH
LL@ZQAGZM
[L][@LZvELO]vYH[D
LLZXLPD[NLDM
L)))[LZYFGZL
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||lm
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||Lm
l||]m||0m||
||||||lm1
l||[m||4m||
lm5dG[[[i[[[h[[[H
lm5dL[[[v[[[
lm5dZ[[[t[[[m[[[
l||]m||6m||
lM[[[8[[[3[[[.
LMAFX]DNN_
[LMAH]AHJBL[
LMA_N[GQZ
L_MASODS_FY
LMAS_PNKDDZS
LMAYZLZCM]ML
LMAZSC[P
LMBBLOOOL
LM_BBLP[OOL
L_MBDBL__Z
LMBDBXLCPJOB]_
LM[]BELY
LMBESGGC_
LMBOHCS_]Z
L_MBSBBNQ
L]MBSQPAZNO
LMBXPAKGDOLPFMO
LMCABJLZ[AY
LMC]F_GL
LMCS@XN]CYPSOBHSB
lMd_[[[4[[[
LMDDND[X_FS
LM@]DFML
[LMD@GLJE@LG]
lMdJ[[[q
L@MDLD_MP
L__MDLYN
LM]D]MDD
LMDMKDDP
LM@]DPZ@]L
LMdT[[[S[[[E[[[_JsdA[[[R[[[C[[[
-lMdV[[[
lMdY[[[|[[[
LM_DYD_K
[LM@DY[LZL[_L
[LM@DY[LZL[_LHH
lMEAFFAPX
[LMEFO]LN
LM@_E[GK
LMELH[GL[Z
___LMELNY
LMELOSDDG
L[M_EN]G]
LME_NYCNSSHZQ
LMEPNZGB
lmer)	dp
.)))LM@]F
LMFCG]CDH[_
_LMFDFZ]@
LMFGGQ_ON
LM@]F[@HE
LMFHG]@DNDJ
LMFJ[HAJDF[O
L@MF]]L[D@A@
LMg3qgfGO
lm@g7fgfG
lmgAggG0
L#(mgfwt
lMgGbgfG
l_#!mggfw
l)mggfw9
l!mggfwN(A
l)mggfwv
[LMGH]GHZ
[LMGH]GHZFJGHK
LmglByB@
Lmgw?gfG
LMGYCH]QY
)))_L[MHGH
l)))MH]H]PYL
L@MHJ[K[Z@HL
[LMHJ]LM
LM]HJYNPY
LMHNOYPS]S_N
L_MHQ[M_
LMJFDDHGM
[LMJF]_QYPMH[
'LM:JH;9Mxyxpy*4
[LMJHGH[PJF
)))[LM@]JH[M
LM[JLQMSY
LMJ[[QGL
]L_MKCAEDC]
L[M]KFDO_J]DA[
L@MKFLCSN_NJ_
LMKHJ[GK
LMKLPJLOF
LMK_L__ZJH
LMKNYQ[D
L[MKZHC_
LMLBSGOGYZLS
L]ML]C_KXL]L
]LMLDALEZXQE
LML]FAOYZHZ
L_@[MLGF
L[MLhJ]@_@]P
[LM[LHML[
LMLHOYPDM[XC]OB
LML_H@]P
[LM@[LJ]
[LM@[LJ]DHZ]L[
[LM@[LJ]F[))
LM@[LJ]F[
[LM@[LJ]F[v
[LM@[LJ]@GN
[LM@[LJ]@GN]FO@ELOFEML[
[LM@[LJ]@GNuQ
[LM@[LJ]LM
[LM@[LJ]LQL
[LM@[LJ]LQL[
[LM@[LJ]v
[LM@[LJ]vE@GB
[LM@[LJ]Z]HGMH[ML[[F[
[LM[@_L[LDL[NLGJP
LmllllllllmllllOllylm
LMLMFFBCLYL_[]
LM@]LMKPB@GNMLOHJL[
]L[_M]L[_M]L[_M]L[
]L[_M]L[_M]L[_M]L[_M]L[_M]L[_M]L[_M]L[_M]L[
LMLQAHALH
LMLQLYO]NXB
LMLQLZQZOC
LM_LXBZA
]L@ML@ZLOB
l||:m||	m||
l||mm||5m||
LMMA_P]LMO
LMMCZDDMQKYDA@A
LM@]M@J]@FGH[P
l||mm||Km|| m||
l||mm||@m||
LMMMd??6LMMMd??
LMMMd6r9
LMMMd??FOMMMd??
LMMMd??FOMMMe??
LMMMd??VLMMMd??
LM]MOMLPDSMYCBQ
LMMOXLBFHOK
l||mm||Pm||5m||
LMMQ@KLKO
LMM_SK]ZBZLKXPAQ
LM]MXX[M]
L[M_MZQK
LMNL][H_L[Z
LMNLLQ]LGZ@FG
L#M#N#O#
.l-m-n-o-p-
LMNOPQRSSSST
LMN[PPSDHXZ
L_M]NSO]
LmOaOeO]O1O5O)O!O
LMOA_[ZH
LMOCL_MPAEGG
L]MOFSBQ
LMOHHSDC[@
LMONyxnx
LmO[OIO@O2O O
LmOSOOO8O5O.O
LmOYO9O5O
LMP42:QK
[LMP]AKYQCK
LMPGDBEGLQ
L||@M||pN||
LM_PNHHSX
LMPPOZAQK
(lmq;33_Q__y_
LMQBQGFXX[
lmq:':_M__F_
LMQMOX_NK
LM]]_SJQ
LMSJX]YLCH
LMSMJS]XA[XFD[MEX
LMSXPD[POD
[LM@[vDH@E
[[[lMVdW[[[
LmvgcfgfGm
LMXBHXMO
LMX_DC@NO
LMXFPED[D[C[]XQH[C
]LMXHNQB
LMXJPSD]
l|||m||xm||tm||pm||lm||hm||
LMXN_AG[Z
LM[XYZS@GCZZ]A
LMXZ_GYXLPB
LMXZYJGBQSAZOJCH@
lmyAyyyyyyyyyyy
LMYD@KMGCXMCMBF_H
LMY]FBD[L
LMYGY_GN
LMYHDJF][
LMYJDYYSNOQ]LC[PYZM
LM[YMY[ZSF_HPE][L
LMYOYHZH_
LMYPBCKMND
_LMY]QJQAGCOXGJEKXQ_
L[MZ__AOBSJ@
]LMZ]L@G
LMZLJQEYN
__LMZSBHYS
[LMZZ_BJ[]
[LM@ZZJHGULKZJHGU[LM@Z
)))[LMZ@ZY[F
|||||||ln
|||l||||n
[[[_[[[L[[[N
'@;LN9K9@xyxhyVx
.)))L@NA]
LNAAAAA[
LN]ADZBCA_LY
LNA@LLHLH
LNAODZB@GCY
[L_NBDXJFCQS
LNB]HXSQ
LN]]_[BM
L_NBNJG]C
l@nBn@oxwZs
LN[BYODJ[A
L_NBYSZQOOXL
LNCBD[KY[_KPXZB[]N
LNC[BGDYLXCGSPS
L[NCB[LCNBCL[
LNCCPNAEZ
LNCG_PGHXXMKA
LN@CJQ_L
[l[n[c[l[o[v[m[l[n[k[v[o[b[h[j[v[b[o[
LNCM_L_DLC
LNCMMGHN_CCBQ
LNCPFX[NSN
LNCQXDAEYZ@Z@B[GMEYLP]
LNCSHSGKYNOGXN
LNd][[[B[[[
[_LNDEXPAZ[OQ
LNDF[HYC
l@NdH[[[
LNDJ[P[A
LNDK@AJMLMZG
L_NDLG]EK[PDG]YBMNKEMMG
LNDPFPYA
lNdS[[[6[[[
LNDSSEJBKYZA
ln*dxgfw
LNDZO@PHLM
LNEDC]OP
[[[lnEdS[[[
lneeinli
L]NEFJZ[CYBJ
L#NfAAAA@AAAAAC9
]LN@FEOH_HN@GH
[LN]FGMP
[LN@FGZ@SL
LNFPJP]X]XG
[LNFYLGBLP
LNFZCJP]XJL
LNg1fgfG
lNg7wggG
lngAggGhx
LNGBXB_EMZ
L@N_GC]]KBKK_
[LNGHD))
[LNGLKNL[Z
')))[LN@GMZ
LNGNPBQZASN
LNGOJDMPSYAZOD
LNGQB_]@CQMPY]DMYD@[OJ
LNG[QDZL
L-ngqggP
]LNGQP@MY_YH
LNG_Z@OES
@LN[[[_H
LNHACA[AB
lnhjlmiyVQ
')))[LNHMM
)))[LNHMM
_)))[LNHMM
@)))[LNHMMAB
LNII*IaNIJI
LN]JCGNP
LNJD]JP_GH
)))[LNJDM
L__NJDQNPYZQJH_HMN_M
LNJD[XDMX@
[LNJEFZLBLP
[LNJFG][FE
LNJGJJ[N
LNJ@GLBD@YDGA
LN_[_JPB
LN[JSZNQ]XFO
LNJX]O]SQY
LNKECLZSJ
LNKEHJHHEX
LNKGB[DC[Z
[LNKHJBMFF[
LNK]JM_Y[DGZYYOQKN
L]N]KM@YC
LNKNKY]Z
LNKQH__P]N
LNKSHJHSYJ
)))@LNKZ]H[]ALEY
[[[lNLdI[[[
LNLDMMMYGZ_S
[LnLF[Nvczy))
[LnLF[Nvczyq
[LnLF[Nvh
[LnLF[Nvyay
[LNLGHEH[D
L_NLG@PMF[FG@G
#)))[LN[LHM
)))[LN[LHM
[LN[LHM))
LNLJLZLXMG[K_BDKSD
LNL]LPXGXSX
 )))[LNLM@]
!)))[LNLM]
)))[LNLM@]
LN[LM]CG
_LNLMXLE
)))[LNLQ
 )))[LNLQY
')))@[LNLQY
.)))LNLQY
[LNLQYtr
LNLXMYCS
)))LNLZLGLE
LN_LZXMDDJBO
l)))NL]ZYLJ@HEOFEML[
l||nm||5m||
)))[LNMLEL]L
[LNMLEL]L
l||nm||Nm||3m||
LNMQMJME
L]N[MQMMFDC_
LNMQ]PYN
l||nm||Vm||?m||'m||
LN]MYPQN[GJF
[L@N]MYSXSG_A
L[NMZNAL[BY
L__NNEC_JEN_
LNNIJOKV*
[LNNL]BLP
LNNLNMNL
LNNLXY[N
LNNQCMXJ
LNNSEY[@
[ [l[n[o[
LNO]AAB_BMJSS_DELK
LNOBQLPAAD
LNOCN[Y@Z
LnOIOOO"O
LNOJ_HQMM
LnOLO*OlN
L[NOMJL[Q
LnO_OGO7O'OUNLN
LnOPOHO:O
LNOSJ]BMQ[PHNZAB
LnOVNAN;N
LN[OX]@MBP
L_N]OYJB
@@@@@L@@Np
LNPCAJOO
LN_PDOZDZCPAGKQOA]LAMD_DSPD
LNPEDGSDYQ
l'Npgppepq"B
]LN[PLMK
LNPM_F]D
LNPOA@AQPJ]
LNPPCJOKBA
LNPY]@HG[LMJ[LZJLG]
LNQFMYH]CQKQBYPY
LNQL@SKPS
LNQNAQMBOF
LNQOM[@SZ
L@NQ]OOCN
LNQYJE[H
]_LNSBJN
LNSCDXJMLMC
LNSDJJMY@XX
LNS_HYHC[C
LNSJASXK_
LNSNS]PJSZCZEJNLZ
L_[_NSOO
L__[NSOO
LnSSSSSSSS
lN[[[t[[[
[[[LntdS[[[g[[[
LnUFS_arc
[LNvFYLGvBLP
[LNvLQYHGMvZS
][LNvLQYHGMvZS
Lnvpgppepq
LNXGQC@HD
L][NX]GZCPB
LNXLLZ[C
LNXNZDMD
LNXOBGZAY
LNXSAOM]A
LNX]XB_DK
LNYBNQ]PZ
LNY]FLHGQS
LNYHCCNKPY[K
[LNYNSBNKAM
LNYYS]DSZ
LNYY]YNJF
)))[LN]YZ
!)))[LNZ_[
!)*[LNZ_[
#)))[LNZ_[
')))[LNZ_[
)))[LNZ_[
)))LNZ_[
;)))[LNZ_[
?)))[LNZ_[
@)))LNZ_[
|)))[LNZ_[
LNZBXBOH
LNZC]KMC
LNZDSQO]
[LN@Z][H]@FG
[LN@Z][H]@FG@GOF
)))[LNZH_LABLPvEFJHEvDHJA@GLuZPZ]LD
[LN@Z][HMF[
)))[LNZJ
[LNZJ[@Y]
")))[LN@Z]L[
#)))[LN@Z]L[
')))[LN@Z]L[
)))[LN@Z]L[
?)))[LN@Z]L[
[LN@Z]L[
[LN@Z]L[EHGNAHGMEL[
[LN@Z]L[@GN
[LN@Z]L[]HZBMLO@G@]@FG
)))[LN@Z]L[vJAHGGLE
[LN@Z]L[ZL[_L[
])))[LNZMMH
[LN@Z][P
[LN@Z][PA@_L
[LN@Z][PA@_Lt
[LN@Z][PBLP
[LN@Z][PBLPt
[LN@Z][PJELHGL[
LNZP@QJL
[LN@Z][PuuEFJHEHYYE@JH]@FGMH]Huu
[LN@Z][PYH]A
L]NZS]YDDP
LNZSYHJC
lNZ_XYZ[kQ]Sq
lNZ_XYZ[kV]Rq
lNZ_XYZZkV]Rq
LNZ]ZGBKQEMX
L:O7OONDN
LoadAnomalyManager
loadcache
LoadDBVar
loaded model for dynamic device: CPU.
loaded model for dynamic device: GPU.
LoaderFlags
LoadIconW
LoadImageW
Loading shader
lOADlIBRARY
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
LoadOpaqueLuaScript failed
loadordergroup
LoadPackagedLibrary
LoadResource
LoadRule
loadstring
LoadStringA
LoadStringW
LOAKCCHMJBO
LOAMBBLJ
LOA]Y]HB
LOAY]NAHPS
_LO@B[ACOND
LOBBCZ]X]
loBbgfGhq:
!lo|bgfG
LOBKHK_CC[
LocalAlloc
LOCALAPPDATA
localeCompare
LocaleNameToLCID
LocalFileTimeToFileTime
LocalFree
LocalInstallPath
localipaddress
Locality
localloc
localport
locals_symbols_stripped
localtime
local time unavailable
localvmallocregionsize
LOCANSKG
location
LOCCZ@[HJJ_CNS@F
LOCJL]Z]
LockFile
LockFileEx
locking_mode
lockingprocesses
locking protocol
LockResource
LockWorkStation
LOCLJNNCBG]
LOCN]KMHNNC
_L[OCQ]HP[FOO]AO@G
LOCSGO[Y
LOCSO[DK]SSZ
LODFBX[ZGCX
LODL[AJKM
*LOdN[[[
LODOHHP_FYJH_N
LOD[QZB[
lOdx[[[*[[[)[[[c
LO[]]DXP
LOEFLONDCS_OPQN
L_O[]_EG
	)))@LO@EL
#)))[LOELJ]
)))[LOELJ]@FG
[LOELJ]@FG
[LOELJ]@_LLQL
[LOELJ]LMMLELNH]L
[LOELJ]@_LYL@GCLJ]@FG
LOEMG[AHKD
[LOEZGZL
l)))OF[DDL]AFM
[LOF[DH]@FG]ALFEFNP
L)))OF[DHJ]@FG
lofi_resources
l)))OF[LHJA
LOF_LKZC
LOFMQBL_X
L)))OFNLNALAML]P
LOFPFOP@KEZ__ZO
LO]FPZKMJOGGKDQDBS
l)))@OFZ
_]L[_O]FZ]YN
LO]GGOPKBMGDQZ
LOGKHKZBD
L[O]GKXEOSPPACYQC
[L@O@]GLM@
#)))_L[@O@GN
_L[@O@GN
LogonDomain
LogonFailure
logonfailurereason
logonhours
logonipaddress
logonipaddress_scrubbed
logonpid
logonprocessname
logonprocessname_scrubbed
LogonServer
LOGONSERVER
logonstatus
logonsubstatus
LogonSuccess
LogonTime
logontype
LogonUserName
LOG_O_YKPHBBYA_J
lo*gqgg"
Log skip
LogSkipGetRoles() failed
LOHBMPCQA
LOH_G_QH
LOHHQ[OL
.)))L[OHJ
LOHNY_OY]G_[MN
LOHQNPFJX
LOHSJBJSXE
LO]HXAZLB
l)))@O]HZBr
L[OiNbN:N
L|OIO;O-O
LOJA_KZODHBNPB_B
]LOJCYLEFBOZXGZG
_]_LOJDCDZZO_
LOJFJF[Y
lOj@GJFnh))
lOj@GJFnk))
:)))_L[@O@JH]@FG
_L[@O@JH]@FG
L_O@J[@L
LOJMZ_O]NQJ
LOJ[NDCXCAZX
LOJXFN[[K
LO@]JXJJJQ
LOJ[ZAPCDBAJQ
LOKDH]JH[
LOKKX_QS
LOKPSJBGFBB
[LOLELDLG]Z
[LOLELDLG]Zt
)))[LOL[]F
[LOL[[HE
[LOL[[HEYHPZ
]]LOLJC]GO
")))[LOL[[L[
)))[LOL[[L[
[LOL[[L[
[LOL[LGJL
[LOL[LGJLL[[F[
[LOL[LGJLMHZZLDKE@LZ
[LOL[LGJLvD@YZ
[LOL[LGJLvD@YZLE
[LOL[LGJLvH[D
[LOL[LGJLvYYJ
LollllllllmllllOllylm
lOllllllllmlll]Y]]
[LOL[L[vML]LJ]
	lOllylm
.[lOllylm
[lOllylm
lOllylm	
lOllylm 
lOllylm #
lOllylm!
lOllylm"
lOllylm";
lOllylm"|
lOllylm#
lOllylm#?
lOllylm'
lOllylm')
lOllylm(
lOllylm)
lOllylm*
lOllylm-
lOllylm-"
lOllylm-;
lOllylm.
lOllylm:
lOllylm:"
lOllylm;
lOllylm;'
lOllylm?
lOllylm?'
lOllylm@
lOllylm@'
lOllylm[
lOllylm[	
lOllylm["
lOllylm]
lOllylm].
lOllylm_
lOllylm|
lOllylm|0
lOllylm0
lOllylm0_
lOllylm1
lOllylm16
lOllylm1a
lOllylm1L
lOllylm1z
lOllylm2
lOllylm25
lOllylm2O
lOllylm3
lOllylm3-
lOllylm36
lOllylm3V
lOllylm4
lOllylm4T
lOllylm	5
lOllylm5
lOllylm5!
lOllylm51
lOllylm59
lOllylm5Cl
lOllylm5p
lOllylm5x
lOllylm"6
lOllylm6
lOllylm66
lOllylm7
lOllylm7B
lOllylm7V
lOllylm7z
lOllylm@8
lOllylm_8	
lOllylm8
lOllylm8k!
lOllylm8Q
lOllylm8u
lOllylm8Z(
lOllylm9
lOllylm9b
lOllylm9ha
lOllylm9z
lOllylma
lOllylma-
lOllylm)-A
lOllylmA
lOllylmA#
lOllylmaA
lOllylmAQ
lOllylmAZ
lOllylm:b
lOllylm]b
lOllylmb
lOllylmB
lOllylmB 
lOllylmB!
lOllylmB1
lOllylmBa
lOllylmBc
lOllylmB-f?
lOllylmB ku
lOllylmbRLI"'?
lOllylmBt
lOllylmbW
lOllylm #b:Wr
lOllylmc
lOllylmC
lOllylmC)
lOllylmC:
lOllylmcA
lOllylmcB-NjM	wyc
lOllylmcKx rk
lOllylmcN
lOllylmC.n
lOllylmCR
lOllylmcu
lOllylmd
lOllylmD
lOllylmD-
lOllylmD@
lOllylmd5F
lOllylmDdwI
lOllylmDfG)l
lOllylmdT
lOllylmDT_)m
lOllylm e
lOllylme
lOllylm":E|
lOllylmE
lOllylmE!|
lOllylme7
lOllylmEa
lOllylmef
lOllylme?(H
lOllylmep
lOllylmeu
lOllylmeU
lOllylmEV
lOllylmev4
lOllylmEW!
lOllylmEy2
_lOllylmf
lOllylmf
lOllylmf|
lOllylmF
lOllylmF])
lOllylmF2D
lOllylmFbH*
lOllylmF;]]d
lOllylmfk
lOllylmfp
lOllylmFq
lOllylmFs
lOllylmg
lOllylmg 
lOllylm!G
lOllylmG
lOllylmG*
lOllylmG?
lOllylmG0
lOllylmG.5
lOllylmg6
lOllylmga
lOllylmgC
lOllylmGF
lOllylmGg
lOllylmggo
lOllylmgJ
lOllylmGk
lOllylmGKU	
lOllylmgN
lOllylmh
lOllylmh:
lOllylmh?
lOllylm)H
lOllylm|H
lOllylmH
lOllylmH!)
lOllylmh6
lOllylmHE
lOllylmHF
lOllylmHn
lOllylmho
lOllylmHrf
lOllylmHU:
lOllylm-i
lOllylmi
lOllylmi:
lOllylmI
lOllylmi4
lOllylmI5
lOllylmI8
lOllylmia
lOllylm	IFm
lOllylmiL
lOllylmInqEJ
lOllylmIO
lOllylmiV
lOllylmj
lOllylmJ
lOllylmJ"
lOllylmJ|
lOllylmJ2
lOllylmj[3
lOllylmJ6-
lOllylm]jB
lOllylmjE
lOllylmJEO
lOllylmJH
lOllylmjid
lOllylmJM
lOllylmju
lOllylmJVU
lOllylmjwN
lOllylm-k
lOllylm@-k
lOllylmk
lOllylmK
lOllylmK1P
lOllylmk4
lOllylmkg
lOllylmKg
lOllylmk|'[Ja
lOllylmKP
lOllylmk Q
lOllylmk(s;
lOllylmKt
lOllylmkU[5?E
lOllylm|l
lOllylml
lOllylml!
lOllylml'
lOllylml*
lOllylml@
lOllylm*L
lOllylmL
lOllylmL)
lOllylml0u#
lOllylml7
lOllylmlA
lOllylmlg
lOllylm:'Lh
lOllylmLQ
lOllylml:r
lOllylmlt
lOllylmlT5
lOllylmlV
lOllylmLx
lOllylmm
lOllylmm]
lOllylmM
lOllylmM@
lOllylmm2
lOllylmM5|
lOllylmm8
lOllylmMC
lOllylmMcZ
lOllylmmLO
lOllylmmQT@
lOllylmMs
lOllylmMTP
lOllylmmv
#lOllylmmX;2
lOllylmmX;2
lOllylmMy
lOllylmmZm
lOllylm??[n
lOllylmn
lOllylmN
lOllylmN@
lOllylmn1
lOllylmn2
lOllylmNB
lOllylmnf
lOllylmNFx
lOllylmnJU
lOllylmNN
lOllylmnp
lOllylmNZ
lOllylm!o
lOllylmo
lOllylmO
lOllylmO]
lOllylmo2'
lOllylmOb7
lOllylm_OE9
lOllylmol
lOllylmoR
lOllylmoU
lOllylmOv
lOllylmoXpf 
lOllylm"p
lOllylm-p
lOllylmp
lOllylmP
lOllylmP 
lOllylmp3i
lOllylmpI
lOllylmpk
lOllylmpM
lOllylmpu
lOllylmPz
lOllylmq
lOllylmq()
lOllylmq;
lOllylm@Q
lOllylm]Q
lOllylmQ
lOllylmq5
lOllylm-q6
lOllylmQa
lOllylmqG
lOllylmQ;jl
lOllylmqt
lOllylmr
lOllylmr.
lOllylm: R
lOllylmR
lOllylmR"
lOllylmR[4
lOllylmR5
lOllylmrb
lOllylmRC
lOllylmrf
lOllylmrG
lOllylmrS
lOllylmRTK
lOllylmRV
lOllylmrX
lOllylmRY
lOllylms
lOllylms*
lOllylmS
lOllylmS0
lOllylmS1Ts
lOllylmsl
lOllylms[mN0
lOllylmsr
lOllylmsT
lOllylmt
lOllylm?T
lOllylmT
lOllylmt6
lOllylmt8
lOllylmTB
lOllylmTgOm
lOllylmth
lOllylmTmM
lOllylmTT4
lOllylmTV
lOllylmTX?cq.
lOllylmu
lOllylmU
lOllylmU)2
lOllylmU_8
lOllylmuB
lOllylmU"h
lOllylm?uLW
lOllylmuO
lOllylmup
lOllylmUW2
lOllylmv
lOllylm:V
lOllylm_V
lOllylmV
lOllylmV]
lOllylmvN
lOllylmVo
lOllylmvoK
lOllylmVp
lOllylm-VV
lOllylmw
lOllylmw"
lOllylmw.
lOllylmw:
lOllylmW
lOllylmWeK
lOllylmWFP
lOllylmwJ
lOllylmWk]h
lOllylm@x
lOllylmx
lOllylm"X
lOllylm#X
lOllylmX
lOllylmx4
lOllylmxC
lOllylmxG
lOllylmxl
lOllylmxQ
lOllylmxu
lOllylm]y
lOllylmy
lOllylmY
lOllylmY(
lOllylm'y93"U
lOllylmyMb6
lOllylmyO
lOllylmYoCz
lOllylmyoV
lOllylmz
lOllylmz_
lOllylm#Z;
lOllylm*Z'
lOllylmZ
lOllylmz0
lOllylmZ1
lOllylmz8
lOllylmZCa
lOllylmZd
lOllylmzi
lOllylmZl
lOllylm*zOX_
lOllylmzR
lOllylmZs
lOllylmZS
lOllylm-.Zz
L]OL@NCHXOSOXK
'LOL:ONHKxyxpyD
[@_L[OL[[P
LOLQ_AH_DJ]MYO]
LOLQ]LXNCEMC
 )))[LO[LZA
)))[LO[LZA
|)))[LO[LZA
[LO[LZADLG]
[LO[LZA]FBLG
[LO[LZAJFG]LG]
[LO[LZALGL[ZuuN[LLGN[FJL[ZZB@[]
[LO[LZAv]FBLG
LOLZNYYXYY
LOMAYPDQA
[[_LOMBAA
L]O]M]CZDAS
LOMdGWGOMOMOMMMMMOMMMCQOMMMgOMM
LOM_ESOZ]S
l||om||Hm||(m||	m||
[LOML_DFMLJFG]H@GL[
LoMllllllllmllllOllylm
L|OmODO:O
LOMO]M_[CG
LOMQS]KG
L[]OMYBP
LONABEDG
LONFXY[OA
LongBlock
LO]NHXNO
LON_H[Z]JLZD@FZCQ
L[ONLPAPQSA[XC
LONOHEYA
LONOSD]G]YKZCBYKBZ
L]]ONXY_MD
LONZFZ_B]AKZG
LONZLOZN
LOOHJLKH
L]OOHPPGJBAZXHPZD
LookupAccountSidW
LookupPrivilegeValueW
'L:OOM;;@xyxpy
LoO_OUOCO9O1O
loopilhash
LoopILHash
loop in gettable
[loop in settable
loop_jmp_chain
LOOX]Q]HFP
L]OOZEMSCBF
!)))_L[@OP
_L[@OP@]
LOPAKYGBYY[JD@J_EHJXPBCXZ@
)LopbgfGf
LOPBSCPH[P
')))_L[@OP@GN
_L[@OP@GN
lOpgppepq
Lo-pgppepq
l)))O@]P@GSHL[O
__LOPHCMKOSFBHSQ
L@OPKKLO
_LO_PNNLB
LO_PSZ_AS]CLM
LOP[XLS_@
")))_L[@OP_YG
LoPYXZ[Z
LOPZEJC[XN
lO[[[Q[[[
LOQADOJYBB
]LOQAPXZ
LO_QD_QM
_LOQHCSELHCN
LOQLOEAJS
LOQXQD]OXGXN]
LO[]QZSZ[H_
_L[OSDSF]NS
lostfiletimems
lostprocesstimems
LostSample
L[OSX[ALH
L]OS]Y_ZCPN
LO]SZQOGQKPQEMQ
lOT8g'AgfG
LOUN[LYE@]]ELuZG@]JAUN[LY
_LovcgfG
"*loWAAAA@AAAAAC
lOWdx[[[
lowerengineonly
LowfiContext
lowficount
Lowfi detection supressed
LOWFISAMPLEREQ
lOWfIsIMDAaNTIeMU 
LowFiTrustedFile
LowFiUninterestingFileHash
lowintegritylevel
LoWlgfGc(T
L_oxagfG8
LOXEEMGDAY
lOY_]E_[
LOygkggfwI
LoYgSagfG
LoYgSagfG!
lO:yiv'D
LOYJZAZHYPYG
LOYPXNLHMYQN
LOY[QHBM
LOZBGZNJQDXM
)))[LOZGH[]
[LOZGH[]
LOZJ]JJ_A]
LOZQFB]MPNAHYMYXQL
LOZXXQZCZZJJ[
lOZ[y@YL))
LOZZOZNLA
")||||l(")||||p
@@@@@@@@lp*|
!@@@@@@@@Lp@
?@@@@@@@@Lp@
@@@@@@@@Lp@
@@@@@@@@Lp@	
@@@@@@@@Lp@[
@@@@@@@@Lp@]
@@@@@Lp@	
@@@@@Lp@ 
@@@@Lp@	
@@@@Lp@[
[@@@@@@@@Lp@
_@@@@@@@@Lp@
@@@@@@@@Lp@0
@@@@@@@@Lp@0Co
@@@@@@@@Lp@3
LP5g?kgfGr
lp9Gmggfw
!@@@@lpABEM.
LPACPYKJ
L[P]A[FJP]L
LPAGMA[XNLMA
LPAGMDHOYH]GYCZG
_L[PA@MMLG
L[Pa@MMLGzALL]))
LPA]MQ[F
@@@@lpaN
@@@@@@@@Lp@an
LP@[ANZS
_LPAY_XKY
@@@@@@@@Lp@b
@@@@@Lp@bAo
LPBCXEPO]H[NSY[
LpBdD[[[4[[[*[[[
@@@@@@@@lpbdz
@@@@@@@@lpbE
LPB[M_XN]X
LPBN[DKK
LPBPB_KZZ
LPBPKZEJQ
LPB_SSJYEAH
@@@@@@@@Lp@c
@@@@@@@@Lp@C
LPCC]@XNNP
LPC]D_LD
@@@@lpCE
LP_C_]E_A_SZ
]LPCGOSF
L__PC]JSG
LPCME_GCB
L[PC_[PQ
LPCQBJOBBHA_LE_O
@@@@@@@@Lp@D
@@@@@@@@lpDC
@@@@@@@@lpDD
@@@@lpDD
L||pd||[d||
@@@@Lp@DD
@@@@@@@@lpdde
LPDEJ]G_G
lPdE[[[U[[[J[[[a
L]PDHXYAQ
[L]PDJMP
LPDJPJHL
@LP]DKL]
LPDKOGP_KMSZN
]LPDLLSBDL
___LPDMGLJ
][]LP_D[OQ
lPd][[[V[[[
]@@@@@@@@Lp@E
L[PEMSFCQFGA
L[PEP[LJOA
LPEXYODHBD
LPEYCQDXPXQZ
@@@@Lp@F
[[[lPFdR[[[
)@@@@@@@@lpfdz
-@@@@lpff
@@@@@@@@lpff
@@@@@@@@lpFG
@@@@@@@@lpFH
[L][P]F][PHNH@G
@@@@@@@@Lp@g
@@@@Lp@G
LPGA[XQJ
[[[LPgdV[[[
@@@@@@@@lpGGu
LPGHP_O]M
LPGKKYHL]
L_PG]LL]@
[L][P@GN]FJ[LH]
[L][P@GN]FJ[LH]LO@
LPGOFAKG]
lpgooggGE@
:lpgppepq
l'pgppepq
lpgppepq
lpgppepq" 
lpgppepq#
lpgppepq-[
.Lpgppepq
;Lpgppepq
L pgppepq@
L@pgppepq
Lpgppepq
Lpgppepq(
Lpgppepq;
Lpgppepq_
lpgppepq0'
Lpgppepq0
lpgppepq1N
Lpgppepq2
Lpgppepq7
lpgppepq8
Lpgppepq8
Lpgppepqa
LpgppepqCc
lpgppepqe
lpgppepqE
L?]pgppepqF
lpgppepqi
!lpgppepql
LpgppepqL
L:pgppepq'n
LpgppepqNg
LpgppepqOr
;Lpgppepqr
Lpgppepqr
LpgppepqR@
lpgppepqr(4xO
LpgppepqS
lpgppepqU
'-lpgppepq'v
lpgppepqV
lpgppepqX
LpgppepqY
Lpgppept
Lpgppept3
L'pgppeptq
LpgppeptS
LP;gqgg4
LP(gqggcnuD
"lPgqggE
LPGQMHA_NN_
L pgSagfGCF
L]P@GZKZOQBPE
@@@@@@@@lpHB!]
LPHCOBQ_
LPHEQFQ_SC
lPHggcgfGgy
LPHGNH_[Y_HG
LPHHMQ_OXC_N
]LPHHNEZCDH
LPHHNNCP
LPHLXJQGLEB
L[__[PHMDYKFZ
@@@@Lp@Hp
LPHSF]CG
@@@@lpi]
@@@@@@@@Lp@i
@@@@@Lp@i
@@@@@@@@Lp@I
@@@@@Lp@I
@@@@Lp@I
@@@@Lp@I#
@@@@@@@@Lp@iBx
@@@@@@@@lpII
@@@@lpIJN
@@@@@@@@Lp@j
@@@@@@@@Lp@J
@@@@@@@@Lp@JA
LPJ@CG_GK
LP[JEXY[SN
LPJ]MXPYLG
LPJOAKPNGXPXX
lPjt	vC;
@@@@Lp@JW
LPJYKJQC[XF
@@@@@Lp@K
@@@@lpKI
]LPK[NOC
L]PKPDFDACMDKCJZJQZL@
LPKPFMMQ
!@@@@Lp@l
@@@@@@@@Lp@l
l[[[Pl1eX[[[c[[[f[[[
LP]LCGBY[N
@LPLDJOKL
*@@@@@@@@Lp@lF
@@@@@@@@Lp@lF
LPLG_ZYD
lPLjHDhJ]@_@]P
LPLJHGMPEHZAJFDYHGP
	lPllylm
	lPllylm:
[lPllylm
]lPllylm
_lPllylm
lPllylm	
lPllylm 
lPllylm!	
lPllylm"
lPllylm#
lPllylm(
lPllylm-
lPllylm:
lPllylm;
lPllylm?
lPllylm@
lPllylm[
lPllylm]
lPllylm_
lPllylm|
lPllylm0!
lPllylm1
	lPllylm2
lPllylm2
lPllylm3
lPllylm4
lPllylm4m
lPllylm5
lPllylm5UW
lPllylm6
lPllylm7K
lPllylm7l
lPllylm8
lPllylm9
lPllylma;
lPllylmA
lPllylmb
lPllylmB
lPllylmb9
lPllylmbc
lPllylmB@t
	lPllylmc
lPllylmc
lPllylmC
lPllylmcA|
lPllylmd
lPllylmD
lPllylmd2
lPllylmD)bv
lPllylme
lPllylmE
lPllylmecN
lPllylmf
lPllylmF
lPllylmg
	lPllylmG
lPllylmh
lPllylmH
lPllylm[I
lPllylmI
lPllylmj
lPllylm*_J
lPllylmJ
lPllylmjc
lPllylm-JM
	lPllylmJu
lPllylmk
lPllylmK
lPllylml
lPllylmL
lPllylmlA
lPllylmLMp|
lPllylmm
lPllylm*M
lPllylmM
lPllylmmx
lPllylmn
	lPllylmN
lPllylm(N
lPllylmN
lPllylmNz
lPllylmo
lPllylm!O
lPllylmO
lPllylmo37
lPllylmP
lPllylmP_|
lPllylmPpU
lPllylmPv
	lPllylmq
lPllylmq
lPllylmQj
lPllylm?Qk
lPllylmr
lPllylmR
lPllylm@#s
lPllylms
lPllylmS
lPllylmsi
lPllylmSI
lPllylmt
lPllylmT
lPllylmtC
lPllylmtj
lPllylmtp
lPllylmu
lPllylmU
lPllylmV
lPllylmvA
lPllylm:.vF
lPllylmvI
lPllylmvy
lPllylmw
lPllylm-W
lPllylmW
lPllylmwQ
	lPllylmx 
lPllylmX
lPllylmXcf
lPllylmxp
lPllylmy
lPllylmYG
lPllylmz
lPllylmZ
lPllylmZ*
lPllylmZwy
LPLNYPXQ
lPLOF[JL
LPLQYMYKQJFEH[Z]
LPLXBSAQJ]X@]_XC
LPLZvJEFZL
lP[[[M[[[
	@@@@@@@@Lp@m
"@@@@@@@@Lp@m
@@@@@@@@Lp@m
@@@@@Lp@m
@@@@Lp@m
[@@@@@@@@Lp@m
l||pm||Bm||
LPMdL[[[
LP]_M_E]
LP-)mggfw
@@@@Lp@Mh
LP]MHPHP
l||pm||?m||
LPMQJYMYK
LPMQ[KOZ]QE]DDYJXPY
LPM_QZOL
LP]MSB_OZQ]
LPMSY_OS
LPM_ZCY]GKLQYJ
@@@@@@@@Lp@n
@@@@Lp@n
@@@@@@@@Lp@N
@@@@Lp@nA
@@@@@@@@lpnF
LPNF[LND]
LPNNZFLH]NK]AX
LPN]OCXCE
@@@@@@@@lpNP
L[PNQAQ]MZ
LPN_SCOJNQ[
@@@@@@@@Lp@NwI
LP[NX@NNCKB@CCZG
LPNX_XC]E
@@@@Lp@o
LpOaOTO3O.O
L]PODCE[E
LP]]OGK[@BB@J@
LpOgOHOFO4O
LP@OHKDFOHBN]
_L[POHZ]HGMOHZ]L[
@@@@@@@@Lp@ol
LPOMBMGX
LPO]MLNM_PNXF
LpOmO]O9O
LPONOPC@O
@@@@@Lp@Op
LPOPDGLCQFONQBL
L]POSQZC
LpOvOXOSOIOAO
LPOZYPZAGL
@@@@@@@@Lp@p
@@@@@@@@Lp@P
@@@@@@@@Lp@P9
LPPAD[NXZADOX
@@@@@@@@lpPB!]
LPPDYLXO_QNMYZEGQB_DM
_LPPGPC@OGZP_QJYG]P
@@@@@@@@lpPKi
LPPNGONAKJX
LPPOSPAH[AGCZH
LPP]@_@_X@GP
LPPY@C]D[
@@@@@@@@Lp@q
@@@@@Lp@q
@@@@@@@@Lp@Q
LPQ@DB_J
@@@@@@@@lpQM 
LP[]]QMMM
@@@@lpqQ
L_P_Q[QDB
LPQ@YFDD
L]PQZC]D]LBK]
@@@@@Lp@R!
@@@@@@@@Lp@R'n
@@@@@Lp@R'n
L)))][PROZF
@@@@@@@@Lp@s
@@@@@@@@Lp@S
LPSE[CHGGP@SAS
LPSJPD[AZNP
LPS_QGPYAB
lPSSB@Bs
@@@@@@@@Lp@t
@@@@@Lp@t
@@@@@Lp@tE
#@@@@@@@@Lp@u
@@@@@@@@Lp@u
@@@@@@@@Lp@U
@@@@@@@@Lp@U[)
@@@@@Lp@U
@@@@Lp@U
@@@@@@@@Lp@uB
@@@@Lp@v
@@@@@@@@Lp@V
lpVd;Je.
@@@@@@@@lpvQ
@@@@Lp@vTf
lp?vygfG
@@@@@@@@Lp@W:
@@@@Lp@W
@@@@@@@@lpWE
@@@@@@@@Lp@WR
lPwWnUFS_svfolow
@@@@@@@@Lp@X
@@@@@Lp@X
LPXBYXMKZ
LPXEGLN[Q
LPXN_DJP
lpxx]Y]]eAX
[[[LPXZSQ
@@@@@@@@Lp@y;
@@@@@Lp@y
@@@@@Lp@y;
@@@@Lp@y;
@@@@@@@@Lp@Y
@@@@@@@@Lp@Y3[
LPY_]AYNM_PGCYPB]J
lpy_ipybipy
LP[YLABK
@@@@@@@@Lp@YM
@[[LPY]YOSSSH
@@@@@@@@Lp@z
@@@@@@@@Lp@_Z
@@@@@@@@Lp@Z
@@@@@Lp@Z
@@@@Lp@Z
|LP[[[Z[[[9[[[
L[PZEO_XG[H
LPZLG[BYKM
LP[ZNHAADDN[@
LPZOBBJ]
[]LPZOO[
LPZOOZSDAPDA[LJJJFHCQ[_
@@@@lpZPB
[LPZP_CK
LPZQDJG]
@@@@@@@@Lp@Zs7I
lPZxxx|x]Y]]
:)))LQ@]
|||||||LQ
L]Q_AA][
l?@@@@@q@@A@AAac
L__]QADZZQ
LQAG@GBQ
]LQ]]A@GN
]LQ]AL@NA]
LQ]AM[O[HNDLG]
LQAN]K]YB
LQ[][ANZJD_[QB
LQA[OOQZ
L[QAPKPQ
L)))QA]]Y
LQBCLLNO
LQBD[AJG
_@_LQB[HGB_N@]M[
LQBNFXEHXKAH
LQ[BO_QJX_SA
_LQ_BSZBD__CCD
LQBY]M]SNY[
LQC]ANBSQG@[PANX
LQ@CGNMC_C[C
lQCHPZLL
LQCPJG@_K
LQCQMXJJJY
#l)QDEA]]Y
l)))QDEGZ
]LQ]DHBLZ]ALMLJFMLMKP]LH[[HP
]LQ]DLZZHN@GN
]LQ]DLZZHN@GNAFZ]@GNMH]H
LQDNZ_YOHQCQ_YPH]]P
LQDQBSQLPBD
[[[lq|dV[[[
LQE[]J]_
LQES_AXSD]M
[LQF_ECGXLH
LQFGASCQNM
lQ]F[]gF]L))
LQ]F[@HG
@LQFQYBX
Lqg7ggfG
Lqg[fgfG
LQGH_KLMGJ]OAKS
LQGJHBXSAC
LQGKHKAS
LQGODC]L
_][_LQGOL
LqgqagfG
LQGQAY@[A
LQgqggiU
Lqgqgg|j;
LQgqgg?O'
LQ)gqggTo
LQGQMDMZE
LQH[APBXL
LQ_HBMD@K
L[QHDLASO
LQHDYELZ
LQHE]DH]A@HZD@G@Z][@LZ
LQHE]LMM@JL[
LQHFOMDXD_
LQ]HGHEP]@JZY[F
LQ][HGL]
]LQ][HGNL
')))LQ][HJ
LQ][HJ]E@GLKLN@G
LQ][HJ]]F
;)))LQ][HJLEEZ
LQ][HJLEEZ))
LQ][HJ]LMJFML
LQHJ]YHPEFHM
LQHKCDBLC
]LQ]H[LH
]LQ]H[LHGHDL
LQ][HOHZ]@Y
LQHPQLCPL_JACO
@)))]LQHZEFGNAF[G@DYF[]Z
)))LQ@]I
lQJAd]GNyH[HDyFEE))
lQJAd]GNyH[HDz
lQJAd]GNyH[HDZ))
LQJAHGNL
LQJAHGNL@GZ]HEEYH]A
)))LQJAHGNLJHZOXMG
LQJAHGNLKHZLYH]A
lQJAHGNLlG]@]@LZmH]HdFMLE))
;)))LQJAHGNLv_L[Z@FG
LQJAHGNLv_L[Z@FG
lQJAHGNLy[FYL[]PkHNZ))
lQJAHGNLzPZ]LDdH@EKFQ))
lQJANy[FQPeFNFGm@OO
lQJANy[FQPyP[LX|ZL[hNLG]
]LQ]JFEF[
]LQ]JFG]LG]
]LQ]JFG]LG]rFY]
lQ@]jFGM@]@FG))
)))LQ]JFGO@N
LQ@]JFML
L_QJHDXGC
:)))LQJLE
LQJLEE@HGJL
)))LQJLEFGE@GL
LQJLEFGE@GL
LQJLEFGE@GLLM@]F[
LQJLEFGE@GLZY[LHMZALL]
LQJLEF[ML[
LQJLE@G_
LQJLE[LHML[
LQJLELQJLELQJLE
LQJLELSL
LQJLEvFZ
LQJLEvNAFZ]
LQJLEY[F]LJ]LM
LQJLEZALL]ML]H@EZ
lQJLY]@FG
)))LQJLY]@FG
LQJLY]@FG
LQJLY]@FG)(
LQJLY]@FG))
LQJLY]@FGLQYEF@]CH_H
LQJLY]@FGZrGH]@_L
LQJLY]LQJLY]@FGHZH
LQJXD[FOO
LQKAJDKMYX
lQKd@[[[
#)))]LQ]KFQ
]LQ]KFQ@M
[[[lQKfU[[[Y[[[J[[[
[[[lQKfU[[[Y[[[W[[[
[[[lQKf][[[Y[[[r[[[
]LQ]KHZL
LQKJODSKG[NG
LQ[[KMOFKY_FX
]LQKOQ_B
LQKPYHZZ
LQKQZ@ZQ[]DDMJG_MX]YKOCP
LQLALEEFAHJBL[
LQL]ALLQJLY]@FG@G]LNL[M@_@Z@FGKPSL[F
LQLA]]YZ
LQLBEH@D
LQLCAOCAOC
LQLCH_HZJ[@Y]
LQLCZ]PX
LQLDFG@BHZ
LQL@DHNL
LQLDHZEH
LQLDHZ]L[
LQLD@J[FZFO]
LQLD@J[FZFO]JF[YF[H]@FG
LQLDJJGJ[
LQLEFJHEAFZ]
LQLEH]F[
LQLE@JLGZL
LQLEJY[FCLJ]@FG
LQLEL_LE
LQLE]PYL
LQLEvH]]HJADLG]
LQLE@Y[L
LQL][FCHG
LQL]FFEZ
LQLFZNL]
LQL@G_FBL
LQ]LG]@FGZ
LQLGHDLMFZ
LQLGHDLvZ]H[]
LQ]L[GHE
LQ]L[GHEEFN
lQ]L[GHEe@GB
LQ]L[GHEE@GB
LQ]L[GHEEPvJFGGLJ]HKEL
LQLGL_H]
)))LQ]LGMLMY[F]LJ]@FG]FBLGJALJB@GN
LQL@GMLQ
LQ@]LGM@O
LQLGOHY@
LQLG][PO
lQ]LGZ@FG
")))LQ]LGZ@FG
LQ]LGZ@FG
	)))LQ]LGZ@FG@GZ]HEEL[ALEYL[OFEML[
LQ]LGZ@FGMFZPH
LQ]LGZ@FGvEFHMLM
LQ]LGZ@FGvKPYHZZ
LQ]LGZ@FGv@M
LQ]LGZ@FGZ
LQ]LGZ@FGZHYYvGHDL
LQ]LGZ@K@E@]P
LQL]HD@B
LQLHGPMLZB@GZ]HEEL[
LQLHJ]@FG
LQLHJJLZZ]AL@G]L[GL]
LQL][HJLGFML
LQLH]][@K
LQLH_L[ZALEE
@]LQ][LHMHEEvHDZ@))
LQLHM_YHJB
LQLHYYM@[
LQL]HZBB@EE
LQLiALCALC
LQLi[DGPZD
LQLi]LDYM@[uZ_
LQLi[LGHDL
LQLi[LGHDLHJ[F
LQLi[LGHDLHMFKL
LQLi[LGHDLHMKL
LQLi[LGHDLKJ[F
LQLi[LGHDLKMKL
")))LQLJ
#)))LQLJ
')))LQLJ
.)))LQLJ
;)))LQLJ
?)))LQLJ
[)))LQLJ
])))LQLJ
|)))LQLJ
)))LQLJDH[ZAHE
LQLJDH[ZAHE
lQLJdH[ZAHEsE@K))
)))LQLJDHZ]L[
LQLJDL]AFM
LQLJDL]AFMHZPGJ
LQLJDL]AFMv
lQLJdZA]H
LQLJEF[ML[
LQLJE@JFGON
***LQLJFD
LQLJFDYH[]@MH
LQLJFGGLJ]
LQL@JFGO@EL
LQLJFYPKF]
lQLJjDMhYYMH]HzEHZAz]H[]))
LQLJJFDDHGM
lQLJjZJ[@Y]
lQLJkPYHZZ))
LQLJKPYHZZ
LQLJ[LH]L
LQLJM@HEFN
LQLJMuLQ@]
LQLJN[LY
LQLJ[PY]JY
LQLJv]@DL
LQLJvGHDL
LQLJvH[NZ
LQLJvJFDDHGM
LQLJvJFDDHGMZ
)))LQLJvO@EL
lQLJvyzALEEvkPYHZZ))
lQLJvyzALEEvzLGMbLPZvlG]L[))
LQLJYH]A
lQLJy@O))
LQLJY[YJ_
LQLJYZLQLJ
)))LQLJZALEE
LQLJZ]H[]
lQLJZJ[@Y]))
LQLJZJ[@Y]
LQLJZJ[@Y]UUH
LQLJZPGJ
)))LQLJZYvHMMZ[_[FELDLDKL[
LQL@]KFQGHZ
LQL_KZJ[@Y]
LQLLDH@EU
LQL]LDYDFMLZ@ELG]
LQLLJA@YH
LQL[LJF[M
*LQllllllllmllllOllylm
lqllllllllmllllOllylmY
LQLLM@]LMOF[]_
LQL[LNLM@]
LQLLO@EL
LQL]LQ]@EL
LQLLQYEF[L[
LQLLQYF[]O@EL
LQL[LYEHP
	lQllylm
	lQllylm!]
	lQllylm"
	lQllylm)
	lQllylm-
	lQllylm-. 
]]lQllylm
lQllylm	
lQllylm 
lQllylm!
lQllylm#
lQllylm'
lQllylm(
lQllylm)
lQllylm*
lQllylm-
lQllylm:
lQllylm@
lQllylm[
lQllylm]
lQllylm0
lQllylm1
lQllylm1P"
lQllylm1WA
lQllylm2
lQllylm2rw
lQllylm3
lQllylm3A
lQllylm4
lQllylm7
lQllylm7I6A
lQllylm7k
lQllylm8
	lQllylmA
lQllylmA
lQllylmb
lQllylmB
lQllylmBK
lQllylmc
	lQllylmC
lQllylmC
	lQllylmC.0
lQllylmCS1
lQllylmd
lQllylm)D
lQllylmD
lQllylme:
lQllylme?(H
lQllylmf
lQllylmF
lQllylmfia
lQllylmFS*
lQllylmFSJ
lQllylmg
lQllylm G
lQllylmG
lQllylmGF
	lQllylmGl
lQllylmh
lQllylm-H
lQllylm?H
lQllylmH
lQllylmhA
	lQllylmi
lQllylmi
	lQllylmI
lQllylmI
lQllylmj
lQllylmJ
lQllylmj7
	lQllylmJB3
lQllylmJ hGiZ
lQllylmk
lQllylmK
lQllylml
lQllylmL
lQllylmL|
lQllylmlRd*
	lQllylmm
lQllylmM
lQllylmM.
	lQllylmMwo
lQllylmn
	lQllylmN
lQllylm_N
	lQllylmnM
lQllylmo
lQllylmo1
lQllylmp.*
lQllylmP
lQllylmP 
lQllylmPB
	lQllylmpD
lQllylm)ph8
lQllylmq
lQllylmQ7
	lQllylmr
lQllylmr
lQllylmR
lQllylms
lQllylmS
lQllylm-t
lQllylmt
lQllylmT
lQllylmtr
lQllylmtZ
lQllylmu
lQllylmU
	lQllylmv
lQllylmv*
lQllylmV
lQllylmw
	lQllylmW
lQllylmW
lQllylmwF
lQllylmwu
lQllylmx
lQllylmX
lQllylmxK
	lQllylmy
lQllylmy
lQllylmY
lQllylmz
	lQllylmZ
lQllylmZ
lQllylmZ7
	lQllylmzV
LQLLZJHGLHMFZN
***LQLMEE
]LQ]LM@]F[
LQLMFBZFBZ
LQLM[FYKFQN
LQLMHFKNG_KHNDK
LQLMH]HuHZZL]Zu@DHNLZuE
LQLM[HO]
LQLMJFDJGON
LQL_@MLF
LQLMLZB]FY
LQLMLZJ[@Y]@FG
LQLM[@_L[ZuL]JuAFZ]Z
LQLMM[@_LMH]H
LQLNONYJX]
LQLNYLM@]
lQLo@ELf[NgHDL
LQLO@ELGHDL
LQLO@ELMLEL]L
LQLO@ELZAH[@GN
LQLOF]FN[HO@CLP
LQLOFQ@][LHML[
LQL@OGF]LQ@Z]
LQL@OLQ@Z]
LQLQJFYP
LQLQL[FQ
LQLQMMMMMMMMMMMMKY
 	LQLQNKQM*
 	LQLQNM*
LQLQ]NSZ
LQLQO@ELZ
LQLRNF]F
L[Q[LSGH
LQLUB@EE]HZBB@EE
LQLuGEZME
LQLu@GZ]HEE
LQLuKFF]vJFDDFG
LQLuL]LZOD
LQLuMLZBDFG
LQLuMLZB]FY
LQLuNHDL
LQLuZLEOMLE
LQLUZL[_@JLZZ]H[]L[u
LQLv[HGMFDvGHDL
LQLvYH]A
LQLY[FDLJ
LQLY[FJLHFZZJHEEJ[LH]L
LQL	Y[FJLZZ
lQLyH]A))
LQLYH]JAD@J[FZFO]
LQL@YJFGO@NH]][@K
LQLYMMMMMMMMMMKY
LQLYMOLGJ[PY]LM
***LQLY@O
LQLYP]AFG
LQLZ_AFZ]
LQLZA@GKFZ
LQLZAH[@GN
LQLZAH[L
LQLZAH[LM
LQLZAH[LO@GHGJLS
LQLZAHMLZJ
LQLZALEE
LQLZALEEuuLQYEF[LuuJFDDHGM
LQLZD@L]G@BT
LQLZE@GNZ
LQLZ@ELG]
LQLZ]FYDZDYLGN
LQL	Z]H[]
LQLZ]H[]
LQLZHDLEBF
LQL	ZH_L	ABEDuZPZ]LD
LQLZHN@GOF]LJA
lQLzJ[))
LQLZJHGGL[
)))LQ]LZJHYL
LQ]LZJHYL
LQLZLOHH]LHE
lQ_L[]@ZLva))
lQ_L[]@ZLvb))
lQ_L[]@ZLvc))
lQ_L[]@ZLvd))
lQ_L[]@ZLve))
lQ_L[]@ZLvf))
lQ_L[]@ZLvg))
lQ_L[]@ZLvh))
lQ_L[]@ZLvj))
lQ_L[]@ZLvk))
lQ_L[]@ZLvl))
lQ_L[]@ZLvm))
lQ_L[]@ZLvn))
lQ_L[]@ZLvo))
lQ_L[]@ZLvx))
lQ_L[]@ZLvy))
LQLZMH@YE
LQLZPZ]LDY[FN[LZZ@_LY[F]LJ]@FGE
LQLZYFFEZ_
L]QM[G@G
LQM_J_YLA[]O
LQ]M@[LJ]
LQMMLYZFL]ABZCS]M
LQMN@YJYEFMN@YJ[L[MN@YJ
@LQMPQGEBJC
l||qm||Tm||9m||
LQNA@JPAHJ
LQNGQZQCA[OB
lQ(NSSWJ7N
LQNY_[BD[C[B[
LQ]NZ]H]L
LQOAABKH
LqOaO]OUOEO
LqOaOQOAO1O!O
LQ]ODYNFB
LQO@E][H]@FG
]LQ]O@EL
]LQ]O@ELJHEELM]LZ]
 )))LQ@]OF[
LQ@]@OFKCLJ]
LQ@]OF[LGM@OLGM@OGLQ]LGM@O
LQOGS_CKK[L]L
LqOhOcOZOUOLOy
LqOiOXOPOCO;O*O"O
]LQ]O@J]@FG
LqOmOWOAO
LQONKCOJOP[NASZSA[M
LQOO@X[N
__LQ_O_PSGH
LqOuOUOIO)O-O
LqOYOQOIOEO-O
L][QPBAJ
LQpgppepq
lqpgppepq1
lQpgppepqf
LQpgppept
LQPK]NKGHA_BM
L[_QPOBJXYYJD
LQPO[_ECJQ
]LQ_PPE]MJ
@L@@@@@@@@Qp@@@@@@@@@@@@@@_p@J
_LQPPOOC[_HZ@
LQP@[Y_HSEE
LQQAO[NBPA
LQQB_BJSSOQ
LQQBKLNY]
LQQDB@ZKLJGQZZ[JGS@Y
LQQF_@GN
LQQLLGHBQXQ[[X]D
LQQPQPGX
LQQSPFSSN
LQSCAXHZN
lqSdD[[[
LQSGELZB
LQSG[JCXS
LQSGM][AFG
LQSGN@PYEY
LQSK[OPHQX
LQSNDBJP
LQSPGGSALACS[KD
LQSQQOBQOMKPC
LQSSB]ss
lQSSWEleQSSWBA
lQSS[:XT9YUK9
LQv]FBLG
LQ]vGHDL
]LQ]vKP]LZr
]LQ]vO@EL
LQwLwJKwPYwHwZZ
LQ_X_BHB
lQX_F[[[Z[[[K[[[
LQXGYGO@CMBD
L[QXHXMM]
LQXJCZMAXJ
lQX_kV]Rq
LQXLPNEXPJJ_HZ[QGG
]LQ]XOLMK
lQX_O[[[Z[[[O[[[
lQX_O[[[Z[[[O[[[)
LQX[]P@JP
lQXW]Qp]Z_Z
LQXYZN]FL
lQYEc[LjALJB
lQYEeFHMcH_H
lQYEeFHMoEHZA
lQYEF@]))
	)))LQYEF@]
 )))LQYEF@]
")))LQYEF@]
#)))LQYEF@]
)))LQYEF@]
]LQYEF@]
lQYEF@]eFN@J))
LQYEF@]_F@MLK
LQYEF[H[
LQYEF[H]@FG@]
LQYEF@]H]@FGDBM@[J
LQYEF@]H]@FGJM
LQYEF@]]HKEL
lQYEF@]HKELzPZ]LD))
LQYEF@]HKELZPZ]LDR
LQYEF@]JM
]LQYEF@]KPBJFYL
')))LQYEF[L[
)))@LQYEF[L
)))LQYEF[L[
:)))LQYEF[L[
@LQYEF[L
LQYEF[L[
LQYEF[L[	
LQYEF[LAL[L
lQYEF[LhJ]@_@]P
LQYEF[L[J
lQYEF[L[jm))
")))LQYEF@]LM
LQYEF@]LM
LQYEF[L[v
)))LQYEF[L[Z][@GN
")))LQYEF@]MK
#)))LQYEFML
LQYEFML[
LQYEF@]OH@ELM
)))LQYEF@]O]Y
LQYEF@]vJFGO@N
LQYEF@]vMK
)))LQYEF@]vYHPEFHM
LQYEF@]Z
)))LQYEF@]Z][@GNHELG@G]H@CLQYEF@]L[DPJEHZZ
LQYEL[F[
lQYEoEHZAjALJB
lQYF[]))
')))LQYF[]
)))LQYF[]
:)))LQYF[]
;)))LQYF[]
LQYFGLG]
lQYF[]jL[]@O@JH]L
[LQ@]Y[FJLZZ
[LQ@]Y[FJLZZZ
LQYF[]K@GO@EL
LQYF[]MH]HFKCLJ]
LQYF[]MH]HFKCLJ]))
LQYF[]QD[
LQYF[]vvZH
LQYF[]vvZHDv
)))LQYF[]vvZHDvD
LQYF[]vvZHDvZA
LQYF[]YP]AFG@FLGJFM@GN
:)))LQYF[]Z
L_Q[YG_OPK
LQYHENEFKHE
LQY@[H]@FGvDFG]A
LQY@[H]@FGvPLH[O[FDJ[LM@]vJH[MZ
)))LQYHGM
LQYHGM))
LQYHGMGFMLUOF[LHJA
LQYHGML[
lQYHGMlG_@[FGDLG]))
LQYHGMLG_@[FGDLG]_H[@HKELZ
LQYHGMLG_@[FGDLG]Z][@GN
lQYHGMlG_@[FGDLG]z][@GNZ
)))LQYHGMLG_@[FGDLG]Z][@GNZ
|)))LQYHGMLG_@[FGDLG]Z][@GNZ
LQYHGMLG_@[FGDLG]Z][@GNZ
LQYHGMLG_@[FGDLG]Z][@GNZH
lQYHGMlG_@[FGDLG]Z][@GNZhYYMH]H))
LQYHGMLG_@[FGDLG]Z][@GNZw
LQYHGMO@ELE@Z]
LQYHGMY[FYL[]
LQYHGMY[FYL[]P
LQYHGMY[FYL[]PGHDLLQJAHGNL
LQYHGMY[FYL[]PJFML
LQYHGMY[FYL[]P@Y_
LQYHGMZ][@GN
LQYJXYJS_
lQYL[@DLG]e@Z]
LQYL[@DLG]HE
lQYlG_))
LQYLGZL[LYF[]
LQY@[LMH]Lrv
LQY@[LMHPZ
?)))LQY@[LMOF[K[HGM@GN
lQY[LZZ@FG))
LQY[LZZ@FG
LQY[LZZLG
LQYr[HGMFD
[LQYS_[ZNO
LQZDGZCY]_
LQZGGJDJGSDMPYG
LQZG_MQM
LQ_[[[Z[[[K[[[k
	)))@]LQ]Z][LHD
)))@]LQ]Z][LHD
;)))@]LQ]Z][LHD
@]LQ]Z][LHD
@]LQ]Z][LHDl_HE
]LQ]ZLH[JAK]G
*-"]LQ]ZPZ]LD
L_QZS@JMA
((LQ@Z]Z
@LQZZMFY]
||||]|||||||lR
l	R@@@@@
l@@@@@r@@A@AAac
lr?AfgfG
lr'Ca5@WyY
LrDdG[[[Y[[[#[[[
LrDdL[[[X[[[x[[[
LrelgYjgfG
lrg5cgfGPE-
lrg]ggfG
LrgicgfG
lrig7BgfG
lrJhggfw?
|l|||RLL
lR:#llllllllmllllOllylm
Lr(llllllllmllllOllylm
lrllllllllmlll]Y]]
		lRllylm
		lRllylm!
	lRllylm
	lRllylm!
	lRllylm'
	lRllylm(
	lRllylm*
	lRllylm:
	lRllylm?
?)#lRllylm
_[lRllylm
lRllylm	
lRllylm 
lRllylm!
lRllylm"
lRllylm'
lRllylm(
lRllylm)
lRllylm*
lRllylm-
lRllylm.
lRllylm:
lRllylm;
lRllylm@
lRllylm[
lRllylm]
lRllylm_
lRllylm|
lRllylm|-
	lRllylm0
lRllylm0
		lRllylm1 
lRllylm1
lRllylm2
lRllylm2s
	lRllylm3
lRllylm*3
lRllylm3
	lRllylm3HS
	lRllylm[4
lRllylm4
	lRllylm5
lRllylm5
lRllylm6
lRllylm6z
	lRllylm7
lRllylm7b
lRllylm7HJ
lRllylm8
	lRllylm8d:
lRllylm9
lRllylm9o
lRllylm9_Si
lRllylm-a
lRllylma
lRllylma*
		lRllylmA
	lRllylmA
lRllylmA
lRllylmb
	lRllylmB
lRllylmB
lRllylmB"
lRllylmB6up
	lRllylmBt
	lRllylmc
lRllylm-c
lRllylmC
lRllylmC!
lRllylmC1p
lRllylm:c7n
lRllylmCk
lRllylmd
	lRllylmD
lRllylmD-
lRllylmD!8
lRllylmDG
_[lRllylmDP
lRllylmDx
lRllylm e
lRllylme
	lRllylmE
	lRllylmEd
lRllylmE[;Q
lRllylmER
	lRllylm:f
lRllylmf
lRllylmF
lRllylmFa6gS
lRllylmFF
lRllylmfv
lRllylmg
lRllylmG
lRllylm.;h
lRllylmh
	lRllylmH
lRllylmHj
lRllylmHo
lRllylmhp
lRllylmHPB
lRllylmI
lRllylmi1
lRllylmI2
lRllylmij
lRllylmIL
lRllylmiM0[7K
	lRllylmizP
lRllylmj
lRllylmJ
	lRllylmk
lRllylmk
lRllylmk.
	lRllylmK
lRllylmK
	lRllylmk8
lRllylmkH
lRllylmKh
lRllylmk(s;
	lRllylml
lRllylml
lRllylm*L
lRllylm?L
lRllylm@L
lRllylmL
	lRllylmlfWC
lRllylm-lK
lRllylmloG
lRllylmLx
lRllylmLX
lRllylmm
	lRllylmM"
lRllylmM
lRllylmmC
lRllylmmE
lRllylmmt6q
lRllylmMTP
lRllylmn
lRllylmN
lRllylmN*
lRllylmNX
lRllylmo
lRllylmo?
lRllylmO
lRllylmoj5
	lRllylmok
lRllylmp
lRllylmp.
	lRllylmP
	lRllylmpAr
lRllylmpNS
lRllylmpx@5
	lRllylmPz
lRllylm.q
lRllylmq
lRllylmQ
lRllylmq3g
lRllylmqj
lRllylmr
	lRllylmR
lRllylmR
lRllylmRT
	lRllylms
lRllylm"s
lRllylms
lRllylmS
lRllylmSW
lRllylmSZYZ
	lRllylmt
lRllylmt
	lRllylmT
lRllylmT
lRllylm|T6
lRllylmtgD
	lRllylmTmM
lRllylmu
lRllylmU
lRllylmU 
lRllylmu1#
lRllylmues
lRllylmuh
	lRllylmuO
lRllylmup
lRllylmv
lRllylmV
lRllylmVw
lRllylmvWv
lRllylm-w
lRllylmw
		lRllylmW
lRllylmW
	lRllylm x
lRllylm@x
lRllylmx
lRllylmX
lRllylmX[
	lRllylmxV
lRllylmy
lRllylmY
lRllylmY3
lRllylmYu
	lRllylmz
lRllylmZ
lRllylmZCa
lRllylmzR
lRllylmZR
lRllylmZS
lRllylmZv
lr@@@@@m@@A@ADac
l)))rMEE@DYF[]
l||||||||||rm|||l|||||||||||||||||||||||m||||||||||||||
l||rm||Om||"m||
_LRnfndP:googgG
LrOkOYOcN
LRSSM_SSS@S
lRSSQ(WSSW@TBTs
LRSSS@SiRRSRS
lRSSTLO9
LRSSULo9
l	R@@@@@u@@C@AC@@@A@XpfH
l)))Ru[]O
L)))Ru[]O
lR[[[Z[[[
lRZgqggL
lS[[[.[[[
Ls3@[BsK9
Ls3LC13@[BsO9
Ls3LC13YB_O9
Ls3LK13@[B[s
Ls3LK13YB_M9
Ls3M13@[BsI9
Ls3M13YB_I9
[Ls3TLs3
Ls3YB_K9
l@S7l@S l@S
Ls*9K viH
l@@@@@s@@A@AAac
LsaAddAccountRights
LsaClose
LSAGFHHK
L_SAKOJG[KX
]L[SAL]CAG]
LsaNtStatusToWinError
LsaOpenPolicy
Lsapackage
LSAQSEXY[YBN
LSAQXYMLJ
LSB[ESAYPG
LS_BHYKYZ
LSBNHMBFGOCFX
Ls@@@@B@@@Np@Ifm
LSBODXQFN
LS_BPELJ]S
LSBQO_LSB
LSCAQNAHH
LSC_BPC_
LSCLGYDDO
LS[CNCNKLGFZN
LS]]COSDNJ[GEA]
LSCQ[XOXE
LSCSAHBBE
[]LSDB@_GYH
;)))LSDE_GMKNE@F@COM
LSDKQDQSPM
LSDM[MDCSLGHFH@M
LSDO]KXKZ[SA_N
LSDPGNKL
L]SDSJQQNNHSYA
 ls(#Dt9
LSDXSDLOQ
LS[EJQS[KO
[LS[EO]B]
_LSE]OD[LAYM
LS__ESA]
LSEZZZKCEHN
LSFG_QMCYSNEMK@E
LSGAEYHPMZJ
lSggegfG
LSGHJNKSP
LSGMZAGQA
LSGOGGMBLJB
LsgQEyQs
LsgqggX 
LSGXDDBQ
]LSGZ[HG
-lS-h:29*)Q
Lsh6QSSk	QSSBL
lshashscan
LSHHLP@OKE@YCMOX
LSHMAM[PNES
L[SHMJNKYDO
*Ls@@@@@j@@A@AFac
L]SJDHQEXOPP
LSJD]M]LH_
LSJPSBLK
[LSJYLDALC
LSKAEQZ[KQZCXS
LSKG[XP[A
[LSKJSOQ[PO_M
LSKLJGZPQQDZJD
][L]S]L[
LSLBKAOPQYYJ
LS_LCENAA
LSL[[JYGAC
	lSllylm
	lSllylm	
	lSllylm;
	lSllylm?
	lSllylm[!
	lSllylm]?
'!?lSllylm
lSllylm	
lSllylm [
lSllylm!
lSllylm"
lSllylm#
lSllylm(
lSllylm)
lSllylm*
lSllylm-
lSllylm.
lSllylm:
lSllylm:'
lSllylm;:
lSllylm?
lSllylm@
lSllylm]
lSllylm_
	lSllylm0U
lSllylm1
lSllylm1y
	lSllylm2
lSllylm2
lSllylm3
lSllylm3L#
lSllylm3N
lSllylm3sr48
lSllylm4
lSllylm4m
	lSllylm5
lSllylm5
lSllylm6
	lSllylm7ZU
lSllylm86
	lSllylm"9
lSllylm9
	lSllylm9i
lSllylm9O
lSllylma
	lSllylmA
lSllylmA
lSllylmAJ
lSllylmb
lSllylm#B
lSllylmB
lSllylmbu
lSllylmBX:
	lSllylmc
	lSllylmc]
lSllylmc
	lSllylmC
lSllylmC
lSllylmd
lSllylmd 
	lSllylmD
lSllylm_D
lSllylmD
lSllylme
lSllylme	@
lSllylmE
lSllylmeP
lSllylmf
	lSllylmF
lSllylmF
lSllylmFK
	lSllylmFur
	lSllylmg
lSllylmG
lSllylmG8H
lSllylmgL
lSllylmh]
lSllylm'H
lSllylmH
lSllylmi
lSllylmI
lSllylmIf
lSllylmir
lSllylmIvz
	lSllylmix
	lSllylmj
lSllylmj!
lSllylmJ
lSllylm.J9
	lSllylmJE
lSllylmk
lSllylmK
lSllylmk5
lSllylmKv
lSllylmKx
	lSllylmL
lSllylmLH
lSllylmm
	lSllylmM
lSllylm_(;M
	lSllylmn
lSllylmn
	lSllylmN
	lSllylmNQiVU
lSllylmo
lSllylmO
lSllylm;p
lSllylm[p
	lSllylmP
lSllylmP
	lSllylmp3
lSllylmq
lSllylmQ
lSllylmql
	lSllylmr
lSllylm)r
lSllylmr
lSllylms
	lSllylmS
lSllylmS
	lSllylmS6
	lSllylmsC
lSllylmt
lSllylmT
lSllylmT9
lSllylmtj
lSllylmu
	lSllylmU!
lSllylmU
lSllylmUj
lSllylmUZ
lSllylmv
lSllylmvI
lSllylmW
lSllylm"x
lSllylmx
lSllylmX
lSllylmXFb
	lSllylmy
lSllylmy
lSllylmY
	lSllylmyA
lSllylmym
	lSllylmz
lSllylmZ
LS[[LNGDDG]S
_LSLSXYPMZZCMBJD
LSMDEXG_]]
[LSMGBCMOP]PYYHMG_ZO]D
LS)mggfw
LSMKADN]JPNAA[L
@LSM_LAO
l||sm||?m||
@LS_M_YZP
LSMZPYBLAEGS
LSNAAZD[XMQ
LSNCN@PXCPAM[
LSN[HLLN_G
[@LSNPCGEQH]X[D_Y
LSNQBAAE
LsOcOHOEO7O
LsOdOOO*O
LsOiOgORO!O
LS_OJHNXGLMHY
]LSOLCYH
LSOX[AQ[
LSOXXXXQCMY
LSOY]OLQ[
LSPBKS@C[]DGQ
LSP[C]YG
_LSPHAZNC[J[_K
LSP_]LHSNM
L@SPs@SAs@Srs@Scs@Sls@S
L@SQBMCG
LSQCOJE[
LS@QFAQGQG
LS[_Q[]J]_PH
lsqpslqusso
LSQ@QDCGMHC
lsqsslssxtuAC
lSS5SSBQM9
LSSBBZDMXS
L]SSB@FLXD
LS@[SBMG
LSSCHXOHJ]@GPCEQ
lSSeEQ(VSSWsU3S
lSSeQEy[BVsSQSS
LSSEsSSQS
LS_[SHXKLS
LS_SJYMZ
LSSMLQ]ZL[H_SHQQ
LssrPanicCallbacks
LSSSOMZ[]NDJ
lSSSSF]X
lSSSSI_ll
lSSSSk6V
lSSSSNRA
l]SSS@So
lSSSS!o.m
lSSSSQ]B
lSSSSQtE
	lSSSSSSSS
 lSSSSSSSS
(lSSSSSSSS
)lSSSSSSSS
.lSSSSSSSS
]lSSSSSSSS
lSSSSSSSS
lSSSSSSSS"
lSSSSSSSS-
lSSSSSSSS.
lSSSSSSSS_
lSSSSSSSS4
lSSSSSSSS*d
lSSSSSSSSil
lSSSSSSSSK
lSSSSSSSSL
lSSSSSSSSlHJ
lSSSSSSSSLO
lSSSSSSSSN
lSSSSSSSSn3
;lSSSSSSSSR
lSSSSSSSSrz_
	lSSSSSSSSSSSS
]lSSSSSSSSSSSS
_lSSSSSSSSSSSS
|lSSSSSSSSSSSS
lSSSSSSSSSSSS
lSSSSSSSSSSSS'"
lSSSSSSSSSSSS4
lSSSSSSSSSSSS7Qz
lSSSSSSSSSSSS8
lSSSSSSSSSSSS9A
_@lSSSSSSSSSSSSe
lSSSSSSSSSSSSeR
lSSSSSSSSSSSS!g
lSSSSSSSSSSSSj
lSSSSSSSSSSSSk
)lSSSSSSSSSSSSLH
lSSSSSSSSSSSSM
lSSSSSSSSSSSSOy
lSSSSSSSSSSSSPTG
lSSSSSSSSSSSSq
lSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSS"
lSSSSSSSSSSSSSSSS-
lSSSSSSSSSSSSSSSS|
lSSSSSSSSSSSSSSSS1
lSSSSSSSSSSSSSSSSB
lSSSSSSSSSSSSSSSSc
lSSSSSSSSSSSSSSSSC
lSSSSSSSSSSSSSSSSk
lSSSSSSSSSSSSSSSSl
lSSSSSSSSSSSSSSSSm
lSSSSSSSSSSSSSSSS**q
lSSSSSSSSSSSSSSSSrP
lSSSSSSSSSSSSSSSSS
)lSSSSSSSSSSSSSSSSSSSS
:lSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSS**
lSSSSSSSSSSSSSSSSSSSS]a
lSSSSSSSSSSSSSSSSSSSSANX
lSSSSSSSSSSSSSSSSSSSSK
lSSSSSSSSSSSSSSSSSSSSQ
lSSSSSSSSSSSSSSSSSSSSQl
lSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSS55
lSSSSSSSSSSSSSSSSSSSSSSSS6
@lSSSSSSSSSSSSSSSSSSSSSSSS9
lSSSSSSSSSSSSSSSSSSSSSSSSc
lSSSSSSSSSSSSSSSSSSSSSSSSP
.lSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSS]
lSSSSSSSSSSSSSSSSSSSSSSSSSSSS415
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSj1
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS)
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!)hnSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
)lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSa
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSE
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS:
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTq
?lSSSSSSSSSSSSSSSSSSSSSSSSSSSSwa
lSSSSSSSSSSSSSSSSSSSSSSSSSSSS?Z
lSSSSSSSSSSSSSSSSSSSSSSSSU7mn
lSSSSSSSSSSSSSSSSt
lSSSSSSSSSSSSSSSSu
lSSSSSSSSSSSSSSSSZTP
?lSSSSSSSSSSSSX
lSSSSSSSSSSSSZ
lSSSSSSSSsT3l
lSSSSSSSST 
lSSSSSSSS|-u
lSSSSSSSS|:wlSSSS
lSSSSSSSSWY
lSSSSSSSSx
lSSSSSSSSXs"m
lSSSSSSSSZ
lSSSST(z
lSSSS?X!
lSSSS-X.lSSSS
LSSuSSSSQUShWRSSUSSSS
lst;7[kgfG
lstrcmpA
lstrcmpiW
lstrlenW
[lSw_ANk'
LSXA@CSOJH
LS_XASYE[@Z[GG[ZJEABZHHJOJAOSJ
LSXBJHHLMY_B
LS[XDDAY]M
LSXFYSDHK
LSXK[NJK
LSX[LLBOH_AOEJ]B
L[SXMGDME]HFX
L]__SXMXLBOC
]LSXOFDN
LSX_[X[E@ZP
L_S]XXZP_KC]
LSXYFJN_
LSX[ZGPL_M]JHBPA_Y
LSYB]PXJ
LSYKDOBDYH
LSY@]_MLXZKGX_F
LSYXDFXS
LSYZDCBSHX
LSYZSPA_
LSZ_CBKSO_KGKO[CHPAG
lSZgqgga
L@]SZNAYHXCOK
LSZ][OY_XP
LSZZKZJJ_CLZX
||l)||T)||
l||T||||
l||T||||||||||||
lT[[["[[[
(lt80WP;
'l@t@@A@AAac
ltdV[[[q[[[m[[[
LTE7cgfG
l#te?#te?oooo
Lt#@gAgg
l'_TgfGJ
Lt|gqggH
@LTJ7BL2N
LTLEZLRL_
	lTllylm
]lTllylm
lTllylm	
lTllylm?
lTllylm0
lTllylmC
lTllylmJ
lTllylmk
lTllylml
lTllylmn
	lTllylmP
lTllylmP;'
lTllylmpAr
lTllylms
lTllylmTYg
lTllylmv
	lTllylmVV
lTllylmxT
lTllylmXvs
lTllylmy
L||tM||[M||:M||
l||tm||pm||Dm||@m||0m||
LtOjO|NnN'A
lTOPR81(
LtOQOCO5O'O
Lt|pMt|P
L_Tr[@[A_YvMM
LTTTSLUYYXL
Lt||	w9w
ltWdT[[[
LTWSRLUTRXL
LtxEoooo
LT[[[Z[[[O[[[
||||||||||||||||||||||||||||||||||||||||||||LU||
lU[[[2[[[6[[[
||L|	u8u
LuAAAAAA@AAAAACA
LuaCallSigattrBM
luAdB[[[
LuaFolderLatent
Lua function expected
LUAJHAUON
lua_setfenv failed
LuaStandalone
LuBgqggI
lUdB[[[y[[[r[[[
.)))LuD@J
l|UdK[[[Z[[[
lUdW[[[_[[[T[[[?
 lUdz[[[
lUdZ[[[C[[[k[[[
LUFJKCLB
LugqggYd
lUIdJ[[[
lU[[[i[[[n[[[
lujaoukXY_
L)))uJDM
LULH@@U@K
LuLkLaLgL]LSLILOLEL;L1L7L-L#L
LU;llllllllmllllOllylm
lUllllllllmllllOllylms
LU;llllllllmlll]Y]]
	lUllylm
	lUllylm_
lUllylm	
lUllylm*
lUllylm:
lUllylm;
lUllylm|
lUllylm3
lUllylm3(
	lUllylm71
lUllylm8
lUllylma
lUllylmad_
lUllylmAV4
lUllylmB
lUllylmbQ
lUllylm--by
lUllylmc
lUllylmD
	lUllylm)eD
	lUllylmf
lUllylmF?
lUllylmG
	lUllylmh
lUllylmi
lUllylmI)
lUllylmk:
lUllylml
lUllylmL
	lUllylmm
lUllylmn
lUllylmN
lUllylmo
lUllylmO
lUllylmp
lUllylmP;'
lUllylmq
lUllylmQ
lUllylmq6
lUllylmR
lUllylm]S
lUllylmt
lUllylmU
lUllylmv
lUllylmW
lUllylmX
lUllylmY
	lUllylmZ
lUllylmZ
lUllylmZ8
LULN@AUAJN
l||um||6m||
l)))uMCMBZ
l||um||Dm||
L[[[U.meY[[[C[[[
l||um||Fm||
l||Um|| m||
l||Um||"m||
Lu|nMu|ZMu|FMu|2Mu|
l)))u[]O
LuOaOeOYO]OQOIOMO
LuOeOYOIOMOAO9O!O
L@UOHAKA
LuOlOWO.A
LuOmOeOQO9O1O-O
LuO]OEO-O
L;uouLH;
lUPdz[[[
LUPTSLTTUYYX
lURgWhgfGDVy2gqgg
l||Ut|aUt|x
LUTYRLYR
LUUL_LG]
LUUQULXXRRLW
L?UUUUUUU?
LUUVWYSSO
L;[(uVE3
LUXCCNCCCBACC
luyyyyyyyyy
l)))uZAF[]JJJKFFZ]
l)))uZAF[]KFFZ]
L)))uZALEEuFYLGAFDLYHNLuJFDDHGM
l)))uZ]H[]L[
lU[[[z[[[y[[[Q
Lv2YUj(SSSAQD
lv@5@@F@DCac
lv6llllllllmllllOllylm
lv9Cu8Hxh
Lv@@@@@@A@h EX
lv@@A@)pEA
lV[[[B[[[
lvDdV[[[Y[[[
[[[L?VdO[[[
lVfllllllllmllllOllylm
LvggfGE*E
lvg@[[[O[[[
LVgqgg#5
l-VgqggH
lVgqggR?
LVhbjikjjnjkhj
LVhbkbjkiikjno
LVhbkokokcnbol
LVhcjihjkkkkkk
LVhckjjbkhjokl
LVhckjjcihnbnb
LVhckjjckmjljm
LVhckjjcknjnic
LVhckjjnjikkkk
LVhcklhjjihjok
LVhcklhjjiibnk
LVhhjkkjkchiil
LVhhkmkojoijnn
LVhijiknjhihhh
LVhijkjcjikknk
LVhijkjmjcichh
LVhikhibklnoob
LVhikhjoihnbnb
LVhjjikjjhobni
LVhjjjiojbkmoo
LVhjjjiojcihhh
LVhjjjjkkkkkkk
LVhjjkibjnkiob
LVhjkjkliinbnb
LVhjkjkljikkkk
LVhjklkojlikko
LVhjkniojchbom
LVhkjihjihnbnb
LVhkjihjjnnbnb
LVhkjihjjokcio
LVhkjihjjokmkm
LVhkjihjkbhlhl
LVhkjihjkchcjn
LVhkjikjjmonil
LVhkjikljlnnno
LVhkkbiijjiiki
LVhkkbjokkkkkk
LVhkkchjkljjin
LVhkklickkkkkk
LVhkkmihjhojil
LVhkkninjmhjih
LVhkkninjmnmjo
LVhljihjihnbnb
LVhljihjjnnbnb
LVhljiiljjojjm
LVhljiinkckcjl
LVhljijcjnnnhm
LVhljijhkcilin
LVhljijjjmkbnj
LVhljikjihnbnb
LVhlkbhkjmjhoo
LVhlkbhkjmjojc
LVhlkijnjonbnb
LVhmjjiciijhoc
LVhmjkinkchiom
LVhmjkinkchkhn
LVhmjkinkchmkk
LVhmkbjcjojihn
LVhmkhiiiijhko
LVhmkhiljkjkii
LVhmkijkihnbnb
LVhmkikciinbnb
LVhmklilihnbnb
LVhmkljmihnbnb
LVhmkmjkklklnk
LVhmkoicihnbnb
LVhnkhknjhijnl
LVhnkijmkcnbnb
LVhnkijnkcnbnb
LVhnkjkjknhljb
LVhnkmihiikokj
LVhojiikkihjil
LVhojijkkkkkkk
LVhokjjmjcjiih
LVhoklhkjoilko
LVhokmibjlhbjm
LVhokmibjlkmik
LVhoknijjkikkk
lVHXgEhgfG
LVibjihjjbnikm
LVibjihjjboknn
LVibjihjjiklhl
LVibjihjkhklkj
LVibjihkjjhkjc
LVibjjknkchnnc
LVibjjknkcnkom
LVibkhjcjkkkkk
LVibkhkoknkkkk
LVibkliojojnji
LVibknibknkkhb
LVibknjoikinoi
LVibkokckonmol
LVicjihjihnbnb
LVicjikmjnjioo
LVicjikmjnkcij
LVicjkiijikkkk
LVicjkikjinikc
LVickjicjikkkk
LVickoiljioojk
LVickojhjmioii
LvIgqgg	
LVihkbhkkoikob
LVihkbikjjiojj
LVihkhkhjikboc
LVihkmijjbkonl
LVihknjnjiiion
LViijijnkjoljj
LViiknijkokkkk
LVijjijnkckkkk
LVijjjjkkkkkkk
LVijkhjljchhhh
LVijklibjbjljk
LVijknkbihicjh
LVijkokmklibok
LVikjihjklkkkk
LVikkhinjjkhjk
LVikkjknihnbnb
LVikknhkjkochc
LVilkmibjnjhkn
LVilkmjjjkomhb
LVilknjckcikjn
LVilknknkcnlkj
LVilkojcjikkkk
LVilkojmklkbjo
LVimjjiliknhoi
LVimkijkjikkkk
LVimkmkbkcjnkb
LVinkciokcknom
LVinkjibjjhmoh
LVinklihkchcib
LVinknjiihnbkk
LViokhkhihnbnb
LVioklkjkbihhh
LVjbjjkhjmjlon
LVjbklkbjcokhm
LVjckoioiikkkk
L?vJggdgfG
(([_L[v[LJ_
((_L[v[LJ_
lV]llllllllmllllOllylm"
Lv.llllllllmllllOllylm
_lVllllllllmllllOllylm4
		lVllylm
	lVllylm
lVllylm	]
lVllylm!
lVllylm"
lVllylm#
lVllylm'
lVllylm(
lVllylm)
lVllylm*
lVllylm-
lVllylm;
lVllylm@
lVllylm[
lVllylm[.
lVllylm]
lVllylm|
lVllylm1
lVllylm1W
lVllylm2
lVllylm	3bG
lVllylm4
lVllylm5
lVllylm6
lVllylm67
lVllylm'7
	lVllylm8VsJ
lVllylm9
lVllylm96!
lVllylm9g
lVllylma
		lVllylmA
lVllylmaA
lVllylmAn
lVllylmb
lVllylm|BSs
lVllylmc
lVllylmD
lVllylmD3
lVllylmdB'
lVllylme
lVllylmeL
lVllylmf*
lVllylm.F
lVllylmg
lVllylmG
lVllylmh
lVllylmH:
lVllylmH#u-
lVllylmI-
lVllylmJw
lVllylmk
lVllylmK
lVllylmkF
lVllylmL
lVllylmm
lVllylmM
lVllylmNh
lVllylmO
lVllylmp
lVllylmp)
lVllylmP
lVllylmP'n
lVllylmq'
lVllylmQ
lVllylmR
lVllylmrJ7
	lVllylmS
lVllylmS
lVllylmT
lVllylmT;
lVllylmu
lVllylm'U
lVllylmu0
lVllylmU2h;
	lVllylm v
lVllylm-V
lVllylmV
lVllylmvfI
lVllylmw
lVllylmW[
lVllylmx
lVllylmX
lVllylmXJ-
lVllylmY
lVllylmyD
lVllylmZ|
	lVllylmZg
lVllylmZI1
L[[vLQ][H]@GNv@LvLGHKEL[
)))Lv[LZ
lVMgAggo
@lv(mKmggfw
l||vm||;m||
l||vm||Wm||*m||
@LvNHMNL]Z
((]LvO@EL
((LvO@ELMLEL]LvO@EL[LGHDLvO@ELJ[LH]LvOFEMMLEL]LvOFEML[
L|voeo9ogo
LvOeO[OQO2O(O
((]LvOFEML[
LVohkhimkliono
LVohkhjmjijkjh
LVohkiilijkkji
LVohkiiliknkom
LVohkijcjchkkk
LVoikcihjbhmoh
LVoikcihjbhnjk
LVoikcihjbhoji
LVoikjjiikimhi
LVoikjjijcnbhi
LVoikjjijliloo
LVoikljbkbjnhk
LVoiknhkjcjohl
LVoiknkbkbnchh
LVojkijijcjnih
LVojkijijcjokh
LVojkijijlhbhb
LVojkniljkncnj
LVojkojnkmnbnb
LvOjN4NmA
LVokjihjjnnbnb
LVokjihjjoikio
LVokjihjjojkhm
LVokjihjkkkkkk
LVokkbibjjoikb
LVokkmhkjkhlji
LVokkmhkjkjjij
LVokkmjkkkkkkk
LVokkniljiikkk
LVokknimkkkkkk
LVokkokcklhnoc
LVomkjjoihnbnb
LVonkhjckkkkkk
LVonkijhjjkohn
LVonkijhjknbnh
LVonkojmjcoook
LvO_ODO.O
lVPDg'dgfGxm
lvPpgppepq
((L[vv]AvJE@LG]
lVW?fgfG
LVWYTLVTRRL
[LV@yxuy?
((_LvZZAvBLPZ
lWDgqggF
Lwf#cgfG
lWFkllllllllmllllOllylm5
LwgfGT(|
lWLgqggB
l!wllllllllmllllOllylm
l.wllllllllmllllOllylm
l]WllllllllmllllOllylm
LwllllllllmllllOllylm
Lwllllllllmlll]Y]]
	lWllylm
	lWllylm"[
	lWllylm)
	lWllylm*]
	lWllylm-
	lWllylm.
	lWllylm|
?		lWllylm
lWllylm 
lWllylm!
lWllylm"
lWllylm'
lWllylm(
lWllylm)
lWllylm*
lWllylm-
lWllylm.
lWllylm:
lWllylm?
lWllylm@
lWllylm]
lWllylm|
lWllylm0
lWllylm1
lWllylm	2
lWllylm2
lWllylm3
lWllylm3S
lWllylm4
lWllylm4e
lWllylm5
lWllylm5c
lWllylm6
lWllylm6"
lWllylm"6q
lWllylm;7
lWllylm7
lWllylm78
lWllylm8K
	lWllylma
lWllylma
lWllylmA
lWllylmA.
lWllylmaa
lWllylmajP
	lWllylmas
lWllylmb
lWllylmB
lWllylm[B b
lWllylmBE
lWllylmc
lWllylmC
lWllylmcq
lWllylmd
lWllylmD
lWllylmdD
lWllylme
lWllylme'
	lWllylmE
lWllylmE
lWllylmE0
lWllylmeBFX.
lWllylmE[K
lWllylmEP
lWllylmEs_
lWllylm:f
lWllylmf
lWllylm-F
lWllylmf?K
lWllylmFKB
lWllylmfwrMa
lWllylmG
lWllylmg3l
lWllylmGIR1
lWllylmH
lWllylmH0KS
lWllylm	i
lWllylmi
lWllylmI
	lWllylmi|p
lWllylmj
lWllylmJk
lWllylmJqOQ
lWllylm k
lWllylmk
lWllylmK
lWllylmk4
lWllylm-l
lWllylml
lWllylmL
lWllylmm
lWllylm*M
lWllylmM
lWllylmN
lWllylmN1M
lWllylmnR
lWllylmo
lWllylmO
lWllylmOT
lWllylmp
lWllylmpj	
	lWllylm	q
lWllylmq
lWllylmQ
lWllylmqG
lWllylmqI
lWllylmqLr
lWllylmqU	
lWllylmqy
lWllylmr
lWllylmR
lWllylmRm
lWllylms
lWllylmS0|
lWllylmS i
lWllylm?sS
lWllylm)t[)
lWllylmt
lWllylmT
	lWllylmU
lWllylmU
	lWllylmuJ2o.	
lWllylmuv
lWllylmv
lWllylmV
lWllylmvuF
lWllylmVZ!
lWllylmw
lWllylmWQI
lWllylm|wY
lWllylmx
lWllylmX
	lWllylmy
lWllylm#y
lWllylmy
lWllylmY
	lWllylmyo	
lWllylmz
lWllylmZ
lWllylmzV*7
LwLZL(Oyyy
L||wM||dM||YM||BM||2M||#M||
lwmJpfifi
l||Wm||"m||
l||Wm||.m||
LWMWOyKWLWMWAyKWLWMWNyKWL
LWODO5O"O
lWpgppepq
lWSSS@SdTRSRS#
|||lx|||
lX[[[;[[[3[[[
Lx52spgppepqh
(?lx8y13
LxaAAAAAA@A2!DLIb
l[xA@B@[pKL
LX[AGZYKXC]JLZ_
]LXAKAAMG
LXAOJNO[LXNKPECJ
[LXAPAYSN
LXAQ_Y]KSC
LXASO[]KXHSKJQ
LXBB[_X_
LX_BC@JBH
LXBZPMLY
@LxCAaLZ
LXCFFPSLGCJ
LXCHABK[_
LXCHHJ[E
LXCJKGPNBAX
LX[CMDM_
L[XD_AQ_O
LXd_[[[b[[[
lXDdV[[[F[[[
LXD[ESDX
(lXdH[[[
LXDHH[LBE
Lx@dK[[[
LXD@MCXL
LXDQ@LDNQ
lXdT[[[o[[[n[[[
L_X[EBKJ
L||Xe||:e||
LXEE]OLJGQ
LXELJPHCSDNJXB
LXELQDOLDGGPGOAN
LX[EMCMJH[
(*lxEy*(
lxE]Y]]e
L||Xf||Bf||
LXFCGZ@LEJLJ
LX]FCPMZ
[[LXF_XZO[KQGCJSPSXPKA
lXg]egfG
LXGEPSCNG
LXG]LPXG
LXG[_PQN_QCAGK[
'lxgSagfG
LXGSSBALGGDQFLD
L||Xg||Tg||
LXGXFPYODD
]LX[]GYYME
LXH[GADLP
_LXHG]EC_QP
]LXHKCHDP]B
LXHMKLAGJH
L@_[_XHOM
LXHSOMSGPDL]SKHC
LXHXJL_M_
LXHYGBMGQGYJQA
LXHYGC@S
LX[[JCDH
LXJHZ[BPOHL]
LXJL]HSL]@LC
LXJP_GAC
lXK[AAAA@AAAAACa
LX]KB[HFHH[D
LXK_XMP[A
LXLAXGN@B[OG[BQD
LXLBNSMJ
LXLC[J]_
LX@LCOYBLND
LXLGP]__CMZ
]L[XLJEKDLG
LXL]KS[YH
LXllllllllmllllOllylm
lXllylm1
lXllylm:h
]L_XLPOGSX[
LX]LSJJ]GBH
]LXLXSES
L_XLZ]GS
LXLZLSFGS]Y
l||Xm||0m||
LXM@A]]P[XZNXDPDSG
LXMBZL[BL
LXMJYJXQ
l||xm||[m||0m||
LXM__SDDSPDCLB
LXMSJBHQ
l|x(m||Ut|aUt|x
l||Xm||xh||Xm||5m||ph||0m||
LXMXQB@PD[
LXNAPGSHMJ
L@XNB[MKG
L]XNHAJ[M
LXNJJQDAB
LXNLAMJC
LXNZPS@A
LXODAYNOQL[LBPQ@P
LxOFO3O!O
LXOG]H[ZMA_DXM
L][XOLSN
L[XOMLSX
LXOQYS_ZJO
LxOsOaOXOSOJOyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySy4#
LxOtOjO0O.O
LxOwOeO-O
LXOXJKLAXPS
]L]XOXPDPS
LXPBL[A]GXE
[LX]PDYMN
lXpgppepq
]LXPLJDHO]S
LXPMP_AJ]
LXPMQSCSO
LXPNGZEL
LXPNYECL[MA]BC
LXP YLSV#U##UWRURW
LXQBBJ_@KXMX
L][XQBBOBQO
LX@Q_[CK
_[LX_QGB
LX_QMPG@
LXr@G]Y][t
LXSBYBNZ
LXSCAOPS_GE
LXS]DHAYOOSD
LXS]EDOA_LHX
LXSGDM_HCJ[C
LXSGOZYXO_
LX_SGXHS]
LXS]L@PAHQSXZJQJN]KLXO
LX[S_MHEYGAOG
LX_SP[MZPC
lXSSS@Sr!
LXSTsXSDsXSusXSfsXS
(?lxsy134
LX[SYKN]XH_Z
LX]SZ]X]
|lx|tx|||
@LxU[g9kgfG
LXUQYLWTP
L|xuyJHOVIJV@AVINKzxly]
lxuyONVOKV@HVA@W
[LX	|VUM9
LXVUSLXY
lxwyIHOVJJVIM@VIAKWxx
lXWzllllllllmllllOllylm
||||l|||x|||x|||||||h|||h|||||||||||
LX]XJMK@@
LXXLSXMM
LXX[]QFQ
LXXS]JDS_
LXX[SSPQ]CXM_XZC]ON
L_xxx1xxyxyxyxY[4
LxxxwyxzxzxpxY[4
LXXX[YEE
Lx(xxyxyxyxxyx;
lx'xxzxzxzxxyxdy
Lx'xxzxzxzxxyxZy
?Lxx]Y]]
Lxx]Y]]f
Lxx]Y]]L
Lxx]Y]]UbY
Lxx]Y]]wvX
]L]XXZDXDPBM
lxyaoxyBoxy.oxy
lxyboxyOoxy5oxy
LxyhOxyIOxy6Oxy
LxyhOxyoOxy
lxyjoxyWoxy0oxy
LXY@KKCDEOLABK
lxy-lxy1lxyKlxymlxy
lxyooxyMoxy3oxy
LxyoOxyVOxy1Oxy
lxyroxyUoxy(oxy
L]XYSDN[]
L@XY[SOOQOK
LxytOxymlxyMlxy
LxyuOxy_Oxy9Oxy#Oxy
lxyvoxy]oxyDoxy#oxy
:Lxyyaxy
LxyyOxydOxyEOxy!Oxy
LxyYOxyNOxy.Oxy
lxyyoxyooxyToxy1oxy
lxyyyyyyyyyyyyyydyyy
Lxyyyyyyyyyyyyyysyyy
LXyyyyyyyyyyyyyysyyy
]LXYZCLY
lxyzoxyjoxy]oxyJoxy1oxy'oxy
LX]Z_AZAX
LXZC]JOJ
[[[lXZfJ[[[
L_XZFX__H
]LXZGDPC]CSOYOX
LXZ_GE[Q_
LXZGYZN]G
LXZLLLDC
lX[[[Z[[[O[[[
LxzpgppepqL5
LXZSQPNXA
l!((]Y]]
[[[L[[[y[[[
L#((]Y]]
L'((]Y]]
L(((]Y]]
L@@@@]Y]]
[[LYAHJN[[
LYAH@NAGCGA]ZFY
LYA[HYMAN]K
]]LYAKPALMOMX
LYAQJXJXC
LYAQQBZJM_H]
LYBDDHMAB[A[[NABN
LYBJZHZP]F
LYBQMDLH
LYBXS[NEOHXX
LYBYJDLGS
LYC_@AAPP
L]YCCLQOC_YSHK_Y
LY@CGZ@[_NDBP@KGHD
LYC]JHOOJENKJ
LY_COFLN@
L]Y_DAGQ_OPAC
lydC[[[_[[[
lYdFK@EL
LYDFK@EL
lydH[[[G[[[E[[[n
LYDOPBBGCX
lydP[[[;
LYDPEMZYH]
LYD@SBX_LBD
LYDSMHYMDS
lydT[[[G[[[
lydY[[[N[[[
LYDY]SMHZNEXG
)))[LYEHJH
	)))[LYEHJL
 )))[LYEHJL
)))[LYEHJL
[LYEHJL))
])))[LYEHJL
_)))[LYEHJL
)))[LYEHJL]ALM@ZB
[LYEHJLGFML
[LYEHJLHEE
[LYEHJLJA@EM
[LYEHJL]LQ]
[LYEHJLMMGZZL[_L[ZLH[JAF[ML[E@Z]
[LYEHJLrJAH[t
[LYEHJLu
[LYEHJLvYHNL
)))[LYEHJLwu
[LYEHJLZ]H]L
LYE]HKELZ
LYE[HPA_
[LYE@JH]@FG
((LY]@EL
)))[LY]@ELv@
[LY]@ELvZ]
)))[LY]@ELvZ]Z
[LY]@ELvZ]Z
)))[LYEPALEEF
)))[LYEPL[[F[
[LYEPZPZ]
LYESHLLQP]L
(([LYF[]
[LYF[]AF]DH@E
[LYF[]DHL[ZB
[LYFEL_LM
[LYFEL_LMu
[LYFE@Z]
[LYF[]@GN
[LY[FH[]@_O
[LYF[]JDHJND
[LYF[]L[
[LYF[]LDH@E
[LYF[]LJLY
)))[LYF[]L_LG]K@NX
[LYF[]LQJLE
[LYF[]LQJLE@GMLLM
[LYF[]M[Y
l)))Y[FQPAHGMEL[
LYF_XXQC
[LYF[]YMO[LJL@Y]
[LYFZ@]F[@LZ
(([LYFZ@]F[P
[LYFZ@]F[P
[LYF[]ZL[_L[
L)))Y[@G]
lygAkgfG
lyg!cgfGc
LYG[GJXAZXPBKSC
LY]GGX]X
LYgukgfG
)))[LYH@[@GJ
LYH[HAX[BN
L[[YHJKBDSYCHY_JNG
LYHLGEAP@Q[PFKME
[LYH@[LMuQ
LYHN[LH]S
LYHXBL[A
LY@HY@MB
LYHZ@HEQPL
l)))YH[ZL
LYi5LYiaLYi
lYi!lYi]lYiylYi
LYJB[MQJBH
LY@JDHN@J
LY[JGFX]ZX_
LYJGQNYKXG
_LYJH[SK
LYJJHXFMPSY
LYJJP@NPYJ_CBM
L]YJKNK[HKFBBLBHX
L@YJKNLHOC
LY@JNHDLZ
lYJvz]H[]hJ]@_@]P
LYJ[XOBK
LYKCA_S__Z
Ly|kH]F[
LY@_K_H_SQQKGS
L@_YK_PS
LYKPYHZZ
LYKPYHZZ@LQ
LYKZ[NK[L]Z_H
lyKZZggrgfGk
[L_Y@LBG
LYLBHYXOF
[LYLH]JLG]L[JLG]L[O@QLM
LYLJY[OMGJ]_M
]LY_L_KSEDX[
lYllllllllmllllOllylm
LyllllllllmllllOllylm_
LYllllllllmllllOllylm
@LyllllllllmllllOllylm4Em
LYllllllllmlll]Y]]
lYllylm)
lYllylmruk
lYllylmx1
LYLOHAG_PQ
l|yl-qyl-qy
[][LYLSP
LYLXOAZMBBLOGDJAZK@
LYLzAgfG
LYL_ZDYQZJ
l||ym||8m||
LY@MBBKBLLDLO
LY[MBPQC_M
.LY[mJ(i
l||Ym||#m||
l||Ym||'m||
LYMMFY[AQC[G
LYMPOXZJL
LYMY_[NYK_
LYM_ZOSAE_
LYNBPXLC
]L[YNGQFS
@L[YN@@HFB
LYN_HHEABY
LYNLXZ__XKZ
LYNNCDJBHZE
LY_NNNBG
[LYOBDCX
_LYOCOZNNNA
LYOC_QNNS[E@ZAL
LYOFZKPS
L]YOJSEC
lYoOgAggP|
LY[O@OZ_LJ
][LYO[@PK
LyOpOoOKOFO1O#OeN
LyOqOEO5O!O
LyOqOeOQOIO9O!O
LYOTO3O)O
LyOuOaO]OIOEO1O-O
LyOuO]OIO1O!O
LyOWO1O	O
LyOyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
LYPBABNGP
L@[]YPBCK[ZNZH
LYPCZPE]K
L]YPEZSP]
LYPF]FPPQ[A[
LYPFGYPFG
lYpgppepq
Ly!pgppepq_
lYpgppepqQE
LYQAMXAGQAS[OA[FH
LYQGDOYFOS
LYQJ[EKBYJYM
[LYQJ_QKFP
LYQQ][HHJXL
LYQSMML[A
LYQXMCSABB
LYrp0[?h
LYSFS]XY
Lysg-kgfG
LY_SH[ZSLMHOBP_B
LYSLX[_KX[BS
_LYSPNKQFKP
lYSSsSVSSUN9
ly)uegfG
LY'#ULQPTSXWYV"V#W
lY[[[w[[[
LyWyHy.yJyKyWy
L]_YXC[HQ
LYX@[COH
LYXC__PK
lYXdU[[[?[[[
l@yxfUsoRSS9
LYX]LLGMHJGJ_
LyxoywI*(
L|yxO|ywO|yeO|yQO|yMO|y9O|y5O|y!O|y
Lyxx]Y]]
lyy5lyyyyyy
lyyanyydnyy[nyyJnyy
lYYB@A@2 @E
:LY@YBFLG9
lyyboyy8oyy
LyybOyy8Oyy
lyy|byybbyy
lyycoyyQoyy
lyycoyyWoyy;oyy-oyy
lyy-dyyYYyy
lyyeiyyyyyyyyyyyyyyyyyyyyyy
lyyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyAyyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
lyyfoyyEoyy"oyy
lyygoyyLoyy4oyy
lyygoyy*oyy
lyyhoyyFoyy
lyyhoyyVoyyFoyy)oyy
lyyHyyyqyyy
lyyiiyyyyyyyyyyyyyyyyyyyyyy
lyyioyyGoyy
lyyioyyKoyy
lyyioyy@oyy'oyy
lyyioyyRoyy?oyy
LyyiOyyXOyy@Oyy(Oyy
lyy]iyyyyyyyyyyyyyyyyyyyyyy!lyyyyyyGlyyIlyyYlyyilyy
lyyJlyyWlyytlyy
lyyjoyyGoyy
LYYJPHN]
lyykoyySoyy
l]Y]]yl_
]LYY[LJYO
lyyloyyGoyy
LyylOyyVOyy5Oyy
lyy]lyy:lyy
Lyy	Lyy Myy
lyy!lyyyyyyyyyy
ly|YMH]LzL[_@JL))
LyyMLyyyyyyyyyy
LyymOyyPOyyEOyy(Oyy
lyynoyy8oyy	oyy
lyyooyy2oyy
LyyoOyyJOyy6Oyy
lyy]oyy4oyy
lyy|oyycoyyToyy5oyy
lyy@oyy)nyy
Lyy|OyyOOyy
lyy|oyyyyyy@oyyFoyy"oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
LY"YPL#"SPSURVWPRR
lyypoyySoyy1oyy
L[YYPXJC
LYYPZL[O@[[[
lyyqoyyVoyy4oyy
LyyqOyyYOyyMOyy1Oyy
lyyqoyyyyyyQyyy)yyy
lyyQyyyy
lyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
lyyrlyyMlyy
lyyRoyyV[yy
LyyrOyyYOyyOOyy5Oyy
lyysoyy|y
LyytOyy]Oyy8Oyy'Oyy
lyyUnyy2nyy
lyyuoyyfoyyMoyy2oyy
LyyuOyyHOyy!Oyy
lyyuoyy:oyy
LyyuOyyQOyy?Oyy
lyyuoyyVoyy(oyy
lyyuPyyYPyyyyyy1yyy
lyy]UyyhI
lyyWEyytoyy_oyyFoyy!oyy
lyyxoyyMoyy
lyyxyyyAyyyAyyyAjyyamyy
lyyxyyylyyylyyy
lyyxyyyqyq
!lyyxyyyryr
lyyxyyyryr
LyyxyyysyyysyyyqLyyILyy!Lyy
Lyyxyyy|yyy|yyy
lyyxyyyzyyyzyyy!lyy
Lyyxyyyzyyyzyyy!Lyy
lyyxyyyzyz
lyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
lyyyiyyyyyyyyyyyyyyyyyyyyyy
lyyyiyyyyyyyyyyyyyyyyyyyyyy	lyy
Lyyyiyyyyyyyyyyyyyyyyyyyyyy-Lyy
lyyYoyy1oyy
lyyyoyy9oyy
lyyyoyyioyyeoyy
lyyyoyy|oyysoyy
lyyyoyyzoyy
Lyyy)pyayyy
Lyyyryyy9yyy
lyyy	xyyoyyy?xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
l|yyyyiy
LyyyyyyQyyy)yyy
LyyyYyyyOyyyqyyyyyyyyyyyyyy9yy
l|yyyyyyyyy
l|yyyyyyyyy'o|y!iyyYl|yyyyyyyyy
lyyyyyyyyyy
#]Lyyyyyyyyyy
]lyyyyyyyyyy7lyyyiyyyyyyyyyyyyyyyyyyyyyyGlyyIlyyyyyy
lyyyyyyyyyy;oyyyiyy
lyyyyyyyyyy	oyyyiyyyyyyyyyyyyyyyyyyyyyy
lyyyyyyyyyyy
lyyyyyyyyyyyyyy
lyyyyyyyyyyyyyyyuyyy
lyyyyyyyyyyyyyyyuyyyq
l|yyyyyyyyyyyyyyyyyyyyy'H
lyyyyyyyyyyyyyyyyyyyyyy
lyyyyyyyyyyyyyyyyyyyyyyyyyy
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoy4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoy4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?y4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoy4#
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
Lyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
lyyyyyyyyyyzyyyyyyyeyyyyyyyyyyyyyyyyyyy
lyyyYzyyoyyy
]LYYZ]BMY
lyyzoyygoyy0oyy
lyyZoyy)oyy
lyyzoyypoyyvoyyyyyyloyywPyyZPyyAPyy0Pyy
lyyzyyyGyyyGyyyqjyyymyy
LY]ZAHXL
L[YZANYK
LY@ZFMLZ
L_YZKZ_B
LYZOCHBY
lYZqF[))
l]Y]]z_Y
]LYZZMPJEG@
|||l||||||||||||||||||||||Z
||L:")||||z|||
")))]LZ]
.)))LZ][@
[)))]LZ]
LZ7XTUgQEyPT
[@]LZABAHG
LZ[AD_LHLOP]MBMJ]ZDP
!Lzaggfw
Lz@@@@@@A@h HS
LZA_N[L[
LZAOBBLGCCXY]X
LZAYLXSD
L]ZBCJX@L
LZbDBFLs3L2
LZBD[GNEB
LZbEZLs3L2
LZ@BH@_FGL]
l)))ZBHN[FJALD@JHEZ
LZBH[SLK
LZbJZLs3L2
LZbkBWLs3L2
LZBK[CB_SY
LZBKL[CSPS
_]LZBMJE
LZbqZLs3L2
L[[_ZBSNLG[_X
]L[ZBS]QZ
LZCCEBLD[BN
LZCC@YZG
_LZCGNQDN
LZCLCGNSN
L_ZCLJJYMQY
LZCPA[DH@F
]lZdB[[[L[[[B[[[
LZDBQFYQ
lzdg?ngfG
]LZ]DH@G
LZ]@DH]LMYF[]FOEFHM@GN
L_ZDHMBQQ
LZdJATLs
[LZDKL[G
[LZ]DL]AFM
LZDMOYJGF
[LZDQCG]DL]DQCGAFM
LZDQZQYX
LZEBYX[N
]LZEHBGSS
]LZEHB_YDME
]LZEHC_GD
]LZEHCMQSQ_JP
]LZEH[DHM]OLP
]LZEHEYYZJED
]LZEHGLXJX@XQ
]LZEHXMN
LZEH[ZLPY]][F
[L_ZE@ML[
LZePExRD
LZePExRDy
LZES_J_@[CJ[L
LZEXJOSZMG
LZf@BEJ9
')))[LZFE_L
)))[LZFE_L
?)))[LZFE_L
[LZFE_LGFML
LZFFFCZBAC
l)))Z@]@FG
#)))_L[Z@FG
L[Z@FG))
LZ]FG@GL
_L[Z@FG@GOF
[LZFGHG]
L[Z@FGjALJB
_L[Z@FGM@J]@FGH[PECH_H
_L[Z@FGO@ELZ
_L[Z@FGv@GOFr
_L[Z@FGvJFDYH[L
_L[Z@FGZ
l)))ZFJBL]
L]]ZFKHM[J
 )))[LZ]F[L
')))[LZ]F[LO@ELZ
LZFNL]DLLEO_J
LZf@QASARA
LZfvQASARA
_[LZfW[YxIUL2
L[ZFY]J[MMZL_XPB[H
LZGDDCHHP
lZgIkgfG
Lzg'kgfG
LZG_M[D[Z
LZGNQQPG
?Lzgqgg)"
lZ gqgge
LZgYD@CUXk
)))[LZ]@GYLHJL
LZGZGZGeG_G_G_GjG
LZGZGZGZGZGeGeGeGeG_G_G_G_G_G_G_G
l)))Z]H[]
L)))Z]H[]
LZHADDMZ
LZH@CKJG
[LZ]H[]FG@MEL
LZHGOS@SGXH
LZHHMGCGQB
]LZ]H_HZ]
LZ]HJFLZ
LZHKDF[O
LZHKELG[LB
LZ]HKE@ZALM
L)))ZH_L]FO@EL
)))LZ[HLKL]
l)))ZHO[HY[@DL
LZHOQSPK]
LZHQLA[[
]LZ]]HZB
LZJCEMBGY
L]ZJGLOAO]GNM
LZJHMNCPY@LAL[PMD
LZJH]NXHXS
LZJHNXQ]_[N
_LZ@JHO@[LH[DZ
!)))LZJHYL
lZJHYLjAH[))
LZJHYLNHDLZ
LZJHYLO[HDL
?)))LZJHYLvYHPEFHMvYH]A
LZJHYYML_
LZJ_KCA@QNDCSJKY
[L[ZJ@LKEB@]HGYGK]HL[ODF]LFL@P
L[ZJONC[]JZ_
l)))ZJ[@Y]Z[J
l_[[[Z[[[K[[[
?L_[[[Z[[[K[[[
LZKFYNQ]
l_[[[Z[[[K[[[l
lzk:lSSSSSSSS
@L@[ZKN@PDZ
LZKOFON]
]]lzkpgppepqm
LZKQXHCQQ_B@O
#)))LZL]
.)))L[ZL
Lz_L4XL#Yx
LZLAJA[B[L
_LZL]BCQ
l[[[?ZLdL[[[
[LZL]]@DL[
LZL@EFM[
LZ]LEH[HS@LE
L)))ZLELJ]
]LZ]LG_@[FGDLG]
[LZL]@GN
LZLG]Z))
]L[ZL[HA
[LZL[_H]F[
[LZLH[JA
((_L[ZLJE@LG]iRT
LZLJ]SQY
)))LZ[L_L[
L[ZL[_L[
_LZLLG]A@ZZ]FYL[[F[ZJ[LLG
#)))[LZL[_LM
[LZL[_LM
[LZL[_LM))
lZllylm7
lZllylmj
lZllylmM6
LZ]LOHGG@O
l)))ZL]OO
l)))ZL]OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
]LZLOX]LGODQ
LZLQ@AD_DK
[LZLSJPL
[LZL]Y[FO@ELZL]]@GNZ
LZLYNCKX
((L]ZLZZ@FG@M
LZ[MAHKJY
L]_ZMAYAOY
[LZM@JLNHDL
LZMK]X[BYPK[
L||zM||_M||FM||3M||
l||zm||(o||0m||
LZ_MOQPZ_Q
]]_LZMSENC
L]Z[NBBHYBPZDEP
]LZNDYNS
_L[@Z@NG
LZNLNCXMMMGKYQ
LZNLXGN[BXAJZSX
LZNNNZLM
L]ZNYXO[_XL
lZNzAbL[GLE))
LZNZABL[GLE
LZOBQLJAY
LZ@OCF]G@Z
[LZO_DAZXAXM
]LZODZLYJODD
LzOeOVO9O'O
]LZ]OF[AFZ]
LzOiONO3O
LzOkOVO!O
LZO#O_CWC"C
LZOO@]]HF[AOZB]
LZOO@JYHDB
LzOoOPO;O4O"O
]LZOPXSOJ[YGASA
LzOrOjObOZORO
LzOtOQOHO
_LZOYKMOJ
LZPAHKAQDQDM
LZPC[QD_QE
LZpgppepqf
lZpgppepqid
L[ZPGZFGL_
[LZPJELMuG]EM[
[LZPJELMuKFF]
LZ]P_MPJ]_DZ
LZPQJNPLJ
.)))LZPZ]
!)))LZPZ]L
L)))ZPZ]LD
LZPZ]LDFKCLJ]
_LZQGO]SH[@MSB
LZQNGCZ_EZBE
LZQOJXSJPX
L@ZS[GJYXM
[LZ@SHKEL
_L[]Z@SL
[LZ@SL]F
(([LZ@SLYHNLO@EL
LZSYYBCX
||l)||Z)||T
lzUgoogfG
L[ZuL]JuA
L[ZuL]JuAF
[@_L[ZuL]JuAFZ]Z
_L[ZuL]JuAFZ]Z
L[ZuL]JuAFZ]Z
_L[ZuL]JuAFZ]ZZL]
)))[LZuQ
.)))L[ZuZ
]LZ]vF_L[
]LZ]vHJ]@_@]P
]LZ]vZJ[@Y]
LZvZ@]LYHM
L-ZwcgllllllllmllllOllylm
LZXCHSZ_K__[X
_[LZX]FQ
L[]ZX_[J[
LZXKDHJNHCHKOHL
LZXKKSXE
LZXLKMXJ
L]ZXPJOKFLXPQBP
LZXQHAJ_MJ
LZ[XQZS@JXBFZSOFAJL
Lzxuy))?
lzxxrxwy
L@ZYDGMA
)))[LZYFGZL
[LZYFGZL
[LZYFGZL))
[LZYFGZLALHML[Zr
[LZYFGZLK
LZYFGZLK
[LZYFGZLkFMP))
[LZYFGZLKFMP
[LZYFGZLKFMPLGM@OZL]PA
[LZYFGZL]LQ]
[LZYFGZL]LQ]T
[LZYFGZL]LQ]ZELLY
[LZYFGZLr
[LZYFGZLvKFMP
[LZYFGZLvOF[DH]
[LZYFGZLZ
LZYF[]L[F
[LZYFZ]H
)))_LZYHGN
lZYHJH[]
LzyiOzy9Ozy	Ozy
lzykozyRozy?ozy
LzyNOzy"
lzyqlzy9lzy]lzy
LZYSDALH
LzyxpyHp
)))[LZZ][
LZZBZLD_XA
LZZELLSOCKM[_NLPL
LZZEOCLXJYNOHJBXX[B[
.)))LZZ@F
((LZZ@FG
]LZ]Zv@GvLGNE@ZA
LZ]ZY[FYL[]@LZ
LZZYHPOK_E]XXNC
[]LZ[Z[ZL]AH@
LZZ]ZLOX
  m!    -
))m))))(
))m)))))
[[[:[[[m
_  m!    -
||| m|||
||||m|||||||
m   !    
m@@@@@@@@
m||||||||||
m||||||||||||||
m||||||||||||||||
m||||||||||||||||||||||
m||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'(()M)))))
))M))))(
))M)))))
@[[M[[[__
[[[	[[[(M
[[[	[[[M
[[[:[[[M
[[[;[[[M
[[[?[[[M
|||||||||||||M|||
||||||||M")||||
||||M||||||||
M")||||||||||||||||||||||||||||
M@@@@@@@@
M||||||||||||||||||||||||||||||||||
  m"    0
*.*;M0*;
*.*;M0*?
*.*;M0:'
*.*;M0:;
*.*;M0:;	0-?
M||0]||0]||
?M0*?	06
)M!009EyxP
*.*;M0:'	1:;
#m01llllllllmllllOllylm
M02gqgguh
*.*'M0*3
*.*;M0*3
*.*;M0:;	3-?
*.*;M0:3J0-?
*.*;M0:3K3*;
*.*;M0:3M0
*.*;M0*7
*.*;M0:7
*.*'M0*7J0
*.*;M0*7N0
*.*;M0*7N3
[[[M0agM[[[L[[[
m0bC]Se!
M0eS[[[h[[[
*.*;M0*;J0
;M0:?J0-?
M0khS|0yn
]m0K(T" 
*.*;M0:'L3
M!0llllllllmllllOllylm
M0llllllllmllllOllylmpu
*.*'M0*?M3
-M0pgppepq
M0VltoVA
  m!    1
m  _!    1
*.*;M1*'
*.*;M1*;
*.*;M1*?
*.*;M1:'
*.*;M1:?
*.*;M1:?	3-?
*.*;M1:3
*.*;M1:3J0
*.*;M1:3K3
*.*;M1*3M1*
*.*;M1*3O0
m16tpgppepqw
).*;M1*7
*.*;M1*7
*.*;M1:7
*.*;M1:7K0
*.*;M1:7K1-?
).*;M1:7L3*;
*.*;M1*7M3
m[[[]1adH[[[
M1g?cgfG
;M1*?J16
*.*;M1*;L1-?
*.*;M1:?M3
m1PeA[[[R[[[
m1PeB[[[
m1PeG[[[
m1PeH[[[
m1PeI[[[b[[[
[[[m1PeL[[[
|[[[m1PeM[[[
[[[m1PeQ[[[
m1PeT[[[.[[[
m1Pex[[[
[[[m1PeX[[[
[[[m1Pey[[[
M1pgppepqh|
m2Bmpgppepq
m2#dX[[[
M@@@@@2@@E@ACac
m2Edz[[[
[m2gqgg!
m2llllllllmllllOllylmb
m2llllllllmllllOllylml
m(2pgppepqX
m2xxyxvx.
  m!    3
*.*'M3*?
*.*'M3:?
*.*;M3*'
*.*;M3*;
*.*;M3*?
*.*;M3:'
*.*;M3:;
*.*;M3:?
*.*;M3:;	1-?
*.*;M3*3
*.*;M3:3
*.*;M3*3J1*;
*.*;M3*3L3-?
*.*'M3*3O3
m;34Rx)!
*.*;M3*7
*.*;M3:7
*.*;M3*7M0
*.*;M3:7O3-?
m3@@@@B@B@Jp@
M3DgK"gfG|9
m3egfgfG
*.*;M3*'K0-?
M3:;K3:7
M3kgqgg"
*.*'M3:?L1-?
M3llllllllmllllOllylm
*.*;M3*?M1-?
*.*'M3*?M3-?
*.*;M3:;N1-?
*.*;M3*'N3
M3:?O1-?
*.*;M3:;O3
*.*;M3:?O3-?
m3pgppepq	
M3Upgppepq
m3yyA3yy
||||m|||||||4
M4"?aa?E7n
M4dbs1di
[[[m4fdU[[[
m4(gqggs
m4ibllllllllmllllOllylm	
M4llllllllmllllOllylm
M4w"wgwogfG
m5dX[[[J[[[o[[[
M5EgqggJ
M5g7dgfGuU
m5gwYgfGC
m5kW qKlT
M5pgppepq
m!5@@@@]Y]]
m5ygqggS
m  6      0  
m6|ArrgfG
M6llllllllmllllOllylm
m6pgppepq
M6pgppepq
m6pgppepqL
("?M*7*;;
.M71DggGT
[M73@_BUD9
[M73@_BUJ9
[M73@_BVLM9
m[[[77"gB[[[l[[[e[[[
m7fUUMUUZ5
M7gMkgfG
m7gUUMUU
m_7gWegfGh
M7@LgshgfG
;M7llllllllmllllOllylm
m)7]TgfG
m7]TgfGL
M7@VBVsSSCS
M7*YllllllllmllllOllylma
M88yxtyG9.
M8'DllllllllmllllOllylm!
?m-8fllllllllmllllOllylm9
 .m.8.|g
M	8gqggl
M8gqggQ.
m8pgppepq
m8pgppepq8kjr;
M8xpN8xtN8xhyxhyIxx
M8X[[[Z[[[O[[[
m(8((]Y]]
'M;99I:H@xyxvy
M9_AAAA@AAAAAC
m9@@@@B@A@@
-M:9DAAAA@AAAAACF
M9fQEyAVLC
M9Gpgppepq
M9igqgg_
M9ngqgggY
M9!uEM;Z
M9w(t M97u
M9X rtA8Y
[[[m[[[A
M@@@@@@@A@
M@@@@@@A@
M@@@@@@A@@
M@@@@@A@@
M@@A@7pCD
@@M@A@@@@A@@
MAAAAA@aA
MAAAAA@AA
mAAAAAA@AAAAAC
(MAAAAAA@AAAAAC
MAAAAAA@AAAAAC
mAAAAAA@AAAAACFv
mAAAAAA@AAAAACj
MAAAAAA@AAAAAC.m
mAAAAAA@AAAAACT
mAAAAA@AAAAACd
mAAAA@AAAAAC
M[AAAA@AAAAAC
MAAAA@AAAAAC
MAAAAA@AAYqAEM
@@@@@m@@A@AAac
MAAAAC]@@IqAYAAAAAAAA
MAAAAgqgg0
@@M@AAac
MAABBYKJ@O[SKYYO
@@@@@m@@A@ACac
@m@@A@ACac
@@@@@m@@A@ADac
@m@@A@ADac
)))MAADQ]DH
MAAECEAQ1AAAAAA
MAAECEAQ1AAAAAAyTAACE@AS1AAGAAAAAAACCEAa1AAAAAAAAAACCEAq1AAAAAAAAAACC@AU1AAAAAAAAAAA
@@@@@m@@A@AFac
MAA]GOMQ
M@@@@@@AAh Gui
MAAJQQAYP]_K
MaakreseILaak
MAallllllllmllllOllylm
@_MAA_NENDDZNDD
M@@@@A@A@PpDGu
.m@AA@PpeE
MAAX[BXC
m@@@@A@A@XpDD
MA[AZSD]AGX
@@M@A@@B@A@@
MABADQQZQC
MA__B[AEO]]OG
M]AB][AS][CSXJ
MA@B@LEF
MABOY[DMMNHD]YA
@@M@AC@AA@@lpIC
@@M@ACac
macaddress
macaddress_scrubbed
MAC_BAQ[HHCM
@@M@AC@B@@@Hp@L
(MacBinary)
@@M@AC@B@@@Lp@y;
MACCSGKE_E
@@M@AC@@@@@dp@@
_[MACGBZZBBA[
machineguid
MachineGuid
machineguid_scrubbed
machinename
machinename_scrubbed
machinesqmid
machinesqmid_scrubbed
machoattributes
macho_crypt_import
macho_curl_import
macho_damaged
macho_ep_at_section_end
macho_ep_entropy_ge6
macho_ep_not_in_text
macho_ep_outside
machofat
MachOGen
macho.GetEntryPoint(): Failed to allocate memory
macho.GetEntryPoint(): Not a Mach-O file.
macho.GetEntryPoint(): SCAN_REPLY not available
macho.GetEntryPoint(): This file doesn't have an Entry point
macho.GetFileInfo(): LoadMachOFileCertInfo failed.
macho.GetFileInfo(): Not a Mach-O file.
macho.GetFileInfo(): SCAN_REPLY not available
macho.GetSegment(): Failed to allocate memory.
macho.GetSegment(): Not a Mach-O file.
macho.GetSegment(): Overflow on addition!
macho.GetSegment(): SCAN_REPLY not available
macho.GetSegment(): Wrong segment name.
machohdr
machoheader
machoheaderinfo
macho_is_go_bin
macho_is_mpress_packed
macho_is_obj_bin
macho_is_realbasic_bin
macho_is_swift_bin
macho_is_upx_packed
macho_loadlib_abuse
macho_max_value
macho_mh_bundle
macho_mh_dylib
macho_mh_execute
macho_no_entry
machoNonLC
macho_no_seg_data
macho_no_seg_linkedit
macho_no_seg_pagezero
macho_pagezero
macho_realbasic_import
macho_sec_info_plist
macho_sec_name_uppercase
macho_sec_nontext_pure_instr
macho_sec_overlap_abuse
macho_sec_parent_abuse
macho_seg_data_larger_text
macho_seg_linkedit_larger_text
macho_seg_name_lowercase
macho_seg_nontext_exec
macho_seg_pz_prot_notnone
macho_seg_size_zero
macho_seg_text_offset_nonzero
macho_seg_unixstack_present
macho_seg_zero_secmacho_seg_text_prot_vmwrite
macho_signed
macho_sqlite_import
macho_susp_os_version
macho vars not available
M@@@@@@ACh PN]
@@M@AC@@@@@Lp@m
(MacOS DataFork)
(MacOS ResourceFork)
MACP_EB[OYC
@@M@AC@@@@@_p@G 
MACPJ_KOJKGDZJK_N[
MacroSource
MACZSBOAXBB
MADCDAZCB][OY[
MADCKDEO
MAD[EJL_JMLXOLCLFQ]QNP
m AdH[[[
M]ADHDANBXS
M_ADJOZ_S
MADLGKKQNDKD
MADNP]KLQ
MA_]DYNLAL_SNLKN
m@@@@@@AE
@@M@AE@@@A@3 ET
@@M@AEac
@@M@AEac3)'!442z
@@M@AE@@@A@; GI
M]AEAJGQZY
@@M@AE@B@A@2 @P
MAECPQ[Y
MAE@G]L[GH]@FGHE
MAE@G]L[GH]@FGHENDKA
MAEJFGGLJ]EFN@G
MAEKHKMSGZCO
]MAELAS]YZ@Z@GY
MAEL@DJQ[GN
)))MAELJFDDL[JLEFN@GYF[]HE
MAELQY[LZZ
MAELQY[LZZU][HJB
MAELQY[LZZU][HJBZA@YDLG]
MAEPLNG_
]MAESMHZ
MAEULJFDDL[JLEFN@G
MAEULQY[LZZ
MAEvEFNF
MAEvZA@YY@GN
MAEXPC]X[J]HE
@@M@AFac
M@@@@@@A@fpEFAB
MA@G[CBB[C]GD
MA][GDY_MSX[S
mA*ggegfG
magiccode
MAGMQLLJNP@MFGSG
@mAgqggR
(MagSkgfG
M@@@@@@A@h aM
MAHBHGJA
MAH[DHKHMDH[]
M@@@@@@A@h DMHc
m@@@@@@A@h FN
]MAHGQPEC[
M@@@@@@A@h Gui
M@@@@@@A@h IS
M@@@@@@A@h IW
M@@A@h IW
M@@@@@@A@h Ja
M]A[HJALZ
m)))AHJBL[
M@@@@@@A@h LI
M@@@@@@A@h LK
MAHMPOJM
m@@A@HpBN
m@@@@@@A@HpBR
m@@@@@@A@h PF
]M]A]H_Q[Y
MAHZF_COK
MA[_HZ]PN]HL
main_buffer_pool.
Main freelist: 
Main string block is empty
MAINTENANCE
maintenancewindowhelper
MAJA[BBJ_DL
'MAJNK:@Hxyx
MAJ@@NOxxx
MajorImageVersion
MajorLinkerVersion
MajorOperatingSystemVersion
MajorSubsystemVersion
MAJYZZAQ
'MAKAK:NHxyxry
makaQYAaaaaaa
MakeSelfRelativeSD
MAKOCAS[GNYNMJ]
MAKOQBAB
M@@@@@@@Akp@@@@@@@@@@B@@AHp@TR
M@A_L]B]
M_[ALEYL[
M_[ALEYL[MFGL[D
Malformed
malformed arguments list for Function constructor
Malformed array literal
Malformed comment
Malformed literal
Malformed numeric literal
Malformed object literal
malformed pattern (missing ']')
Malformed string literal
Malformed token
MALG[D_Y
MALGPCPC
m)))ALHML[Zv[LOL[L[Z
MAL[LK_ZHYHKBD]
malloc failed
]MAL@NA]
M)))AL@NA]
MALNB]YB
MALNMOQSME
m)))A[LO
MALQ]KSQE
MaLQLMLEL5L-L
MALYJDSDA[
MALYKJJMJ
[MAME[_D
MAME[XZH
MA@MLMLZ@NGZ
MAMNJKXJG
@MA@N@AEac
MANBJLPANJOP]A_
MANBO[OE
MANIFEST.MF
manipulationdata
MAN[MOJNZL
MA]NMZN@
_MANOBYL[XOYXL
_MANOSLX_@D
MANPJHOXCXL
MA[NQMXH
Manufacturer
@MANYBG]_KS]Z@
many_imports
many_sections
MAOBKSONMMLPQ
mao egfG
MAOHJNO[SXCQZPEPPQA
MAOLACNGM
M@AOLBZL_E]_DSO
MAOMKBJC
MAOS]OONNB
MAOXH_OS
MAOYKXAX
M@@A@.pAG4
MAPAYO[]K_QP
M@@@@@@@@ap@D
M]APDHJ]
mapgppepq
mapistub
mapistubdefault
[MAPJ[AXZM[
MAPJNDMYKMNZ]]B
M[APKOX]
MappedDetectionC
MappedDetectionE
MappedReportError
MAPP]_]JEQ]OAAO]K@GZXO
[@MAPPQBS
MA_PPSOCG
mapsclientlatency
mapscreateconnectiontime
mapsgeneratelatency
mapshresult
mapshttpstatus
MapsLatency
mapsonconnectedtick
mapsonconnectingtick
mapsonfirstreceivingtick
mapsonfirstsendingtick
mapsonresolvednametick
mapsonresolvingnametick
mapsonsendendtick
mapsonsendstarttick
mapsorigin
mapsparselatency
mapsreadresponsetime
mapsreceiveresponsetime
mapsreportguid
MAPSReport Result
"MAPSReport Started"
MAPSReport Started
mapsroundtripticks
mapssendlatency
mapssendoverheadtime
mapssendrequesttime
mapssendurlattempts
MapViewOfFile
MapViewOfFileFromApp
MapViewRemote
MapWindowPoints
M@@@@@@@@ap@X
m)))APYF]AL]@J
M)))APYL[HJ]@_L
MAPZ]XMEHP
@mA@Q@ACac
@MAQCLCY
MAQM[GM[]B
M[@AQSOA
markoftheweb
MA_SCDKKSP]O
M@A[SECZPLXLJC[ZOX
MASFAG[FM]YPSPXY_@
MaSgecgfG
MASHPLXGNA_MQBQ
maskmovdqu
maskmovq
MASMGS@_
MASOJ]GLYYZH
M[ASQ_CXX
Master Boot
mASUlASslAStlASclAS
M]ASYHGMKKBCDH
match_buffer_size
MatchedDsbStorageFilters
MatchedPreprocessingFilters
match_offset
match_offsets
match_offsets_count
match_offsets_ex
math_abs
Math.abs() is not a constructor
math_acos
Math.acos() is not a constructor
math_asin
Math.asin() is not a constructor
math_atan
math_atan2
Math.atan2() is not a constructor
Math.atan() is not a constructor
math_ceil
Math.ceil() is not a constructor
math_cos
Math.cos() is not a constructor
math_exp
Math.exp() is not a constructor
math_floor
Math.floor() is not a constructor
math_log
Math.log() is not a constructor
math_max
Math.max() is not a constructor
math_min
Math.min() is not a constructor
math_pow
Math.pow() is not a constructor
Math.random() is not a constructor
math_round
Math.round() is not a constructor
math_sin
Math.sin() is not a constructor
math_sqrt
Math.sqrt() is not a constructor
math_tan
Math.tan() is not a constructor
MaxActiveConnections
Max allowed limit for a resource has been reached
max_APIs
MAXBNCXN
.max_cached_data_messages
MaxConcurrentLiveContexts
MaxConcurrentNotifications
MaxDetectionListSize
MAXELBZH
][MAXELXE[
MaxEmptyOrphans
MaxEvents
MaxFullBackupTime
MaxHtmlContentSize
MaxIEProgCtrlHtmlSize
Maximum Allowed Revocations
maximumfilesizebytes
Maximum number of modules
MAXJKGP@P
MaxNonEmptyOrphans
MaxNotificationSize
MaxNotificationVisitCount
Max number of states reached for input patterns
MaxOrphanCleanupTime
max_page_count
	MaxProcessQueueSize
MaxProtection
max_scan
MaxUnknownStateConnections
MAX_VALUE
MAXXMXJO]H[QO
M@AXYNNJA
@M_AXZSJJXMQ
m)))A]]Y
MAY BE INFECTED BY A VIRUS!
MAYEDXSGCMNG]ZX_
M_AYHGSN
MAYKSHPY
MAYONZ[YP
M[]AYQP_
MAY[XAH[]
MA]YXM@[LL
#m)A]]YZ
MAZEAPEANPNS
MAZQMXDHYEKLGN[P
m)))]A@Zr
MAZZMYDA
m@@@@@@@B
m@@@@B@@@
m@@@@B@A@
M@@@@B@A@
M@@@@B@A@@
M@@@@B@A@2 @
M@@@@B@A@2 @A
M@@@@B@A@2 @A;
M@@@@B@A@2 @C
mB@A@2 @E
M@@@@B@A@2 @H
m@@@@B@A@2 @Hp
M@@@@B@A@2 @I4
m@@@@B@A@2 @K
M@@@@B@A@2 @R
M@BA@7pC@@@@@r
M@@@@B@AA
M@BA@; A@@@@@
.m@@@@BAA@AQ@R
MB_AA[GG]D
m@@@@BAA@lp@B
M@@@@B@A@ap@F
m@@@@BAB@
"M@@@@BAB@
M@@@@BAB@
MBAC]]XBQ
MB]AD_JFHGLH
M@@@@@@BAdp@m
MBAFONOJS@Q
MBAFZYX]D
M@@@@B@A@h @_
M@@@@B@A@Hp@Cr
MB@A@Hp@f
MBA_KBDSA
MBALHQPN
m@@@@B@A@lp@N
MB]A]MGY
MB]ANM@LJ_
m@@@@BBA@
M@@@@BBA@
m@@@@BBAA
M@@@@BBA@dp@@@@@@@@@@B@A@
M;@@@@BBA@Ip@@@@@@@@@@BBA@Qp@@@@@@@@@@@ @@C@ACac
M@@@@BBA@Qp@@@@@@@@@@@
mBBBBBBB
MBBBBBBB
m@BBBh E@@@@@
MBBHLM]BSL
M_BBHOLBE
m)))BBIFMU]
M@@@@BB@@Jp@@@@@@@@@@@
MBBL[B[BLL[BNBE[NNBL[BFL[L[L
MBBLHY]@]MG
MB_BNGAQH
m@BB@Npk@@@@@
m@@@@@B@BNpL@@@@@
MB]@B_P@B
MBBPYK_SQG
MBB]SMCP
@@M@BCac
MB@CALp@u
@@M@BC@@@C@cp@I
MB_CCH[O
MBCGY[M_LL
MBCNNO]]ZDB
MBCNYAOHZP
MBCSXPLJLL_BLYQQG
MBCYHSZXZG
m#_BD2U(
MBDAHMXQ
MBDCL_]_EFHQK
MBD@DQDNX
MB[_DD[XZMJ
MBD[[EE]]QG
]MBD]HBN
MB_DJQCM
M@@@@@B@@dp@@@@@@@@@@@@@@ap@F
M][BDYDOKCMAE
@@M@BE@@BA@h L@@@@@
MBE_BQEM
_MBEHYBHHHFA
M_BE_OAL[_
@MBEsSCSS
mbeV[[[r
_MBEX_XL[
[[[MBFAOX
MBFBS__YHCEL
MBF_ZQLEHP
M_]BGCP[NC_[
mbgfGVUMDgqgg
MBGGK@[CN
MBGHNBQXPZBA
MbgqggIV
mb#gqggMU
MBGXDOKXGHDCLL
MBH[DQKDQ
M]_BHFMCC
MbhggfwS
M@BH]HOH[D
MBHJMKLNSNE
MBHNJGM]BD
M@BHPHv]_H[vLKHGHPH
M@@@@B@@@Hp@J
[MBHPZDGB
MBHQYY]KOGQ_JA
MB_HZJ_BK_
mBI_DRTdRTSHJeFTB
mBI_DRTeFTB
mBI_DRTfITNsHtSUNI@
mBI_DRT	HEARTDFSHU
MbIlKCII
mB_JdjB_BF
_M@B]JECZKF[X[[ZA
MBJEZDCKSSX]G[N
MB@JMYA@YCHX
MBJNLQXMANJXSB
MB[JN]O[SCPGD
MBJODQ_NEAAG
_MB_J[ZX
[[[mbKdT[[[
MBKJDGNH
MBKYJGEB@G
MBLBAD_FDQD
mbllllllllmllllOllylm
m@@@@@@@BLp@Hp
MbLVL8L	L
MBL[ZXGP
MB]_MAPC_ZEXAB_AJ
@MBMB_e[UD
MB]MKP_M
:@MBML7eUBWJ
MB[MLSPY
MBmSSSSZ
MBM_XL[NLOOEC]
m||bn||5n||
M]BN[CNJ@CNYDZY
m||bn||Cn||#n||
MBND]SXXQ
MBNJ_DDMHH
MBNPCLPMGDDX
M@@@@B@@@Np@D
m@@@@B@@@Np@E0
m@@@@B@@@Np@H
MBNSPXH]ZYM
M@BNXZCCODZ
MBOBB]]J
MBOG_]AP]O
MBOGLFFF
M[BO]HPH
MB_OMLEXHSPOJ]B
MBON[QOY
MBO@NYHZP
MBOSB]SE
MBOYZFHZ
MBPCAN'aaea
M[BPEQAG
MBPLXOH@KDQKD
MBPPMGDHYXYJ
MBQ_A]EGBJKH
_MBQHL]NH
MBQPOAYBG_[O@SJH_A
MBQPSO_@
MB]Q[Q[Q
MBQ_SQJ]KQG]
MBSAMMLLSOGJCYC[C
MBSA[XJJAG
@MBsBLgUs
MBSFOQLXZDSS[Z@OAMXXAZ
_@MBS]YL
MBSY[N@S]_FX
@MBVYBWB@
MB@X_CO[CNJN
M_BXH]LHDL__S
[MBXKGNNM@
MB]XNH[AC[NSAEY
mBxpgppepq
M_BXXJPH
MB_[X[YEZBJK_HKLD
MBXYOBAG
MBXZEHAZDOPSKK]
MBX[ZEMOGO
M_BXZQQCOQG
MBYD]SQPO
]]MBYOH[
m)))BYOHKJN]Z
MB[YOJNJ
]_MB_YQBZOH@KZ
mBYsSQSS9
MBYYLJAF
MBYY@Y]HKELZ
MBY[ZHHY
MBZJLQNDZ
MB[[[Z[[[K[[[
MBZL@OZDECM
MBZPXY[Z]
@]MBZZBE
mC[[[*[[[
@[[M[[[__C
[[[M[[[C[[[
M?@@@@@@CA
M]CAAA@YQ
MCABJBJB]
MCACC 1Aa
@mCaCeC]C1C5C)C!C
MCAFHC[[AO
]MCAKC[DCJG
MCAMPAMD
MC[ASKHODPD[[J]
@MCAX_YB
M@@@@@@CB
MCBAMAJA
M[CBCXX_]C
MCBCZE]CQY
MCBMQ]LLAKY
MCBOACMBOBCZAMBZMO
MCBQOHL[QJCQ
MCBSQQMQ[BCH
MCBYA[_ZC
MCBZA]P_BAK]GQ]
@@M@CCac
M]C]C]DJEAAA
@MCCH]LA
MCC[L]@X_G
M_CCNCCCBACC
MCCNCCCBACC
M[C]CSCFDEB
MCDAK_OAHP@EXQZ
MCDEHHNNJJK
_MC[DGJYKH[
MC(dJ[[[
MCD@JBSP
MCDNYEEH]
MCDSN]YPPSMBDD
MCDSOPZXY
)))MCD]@ZAXMC[YK
MC@EA[X]DJ
@mCeC]CUCAC)C
@mCeC]CUCMC9C!C
@mCeC]CUCMCEC)C
@mCeCQC9C1C-C
@mCeCQC9C5C
MCEHPAM]]]
MCFF]ACD
@]@MCFFK
M]CFKSHZJJB]
MCgAAAAAA@AAAAAC
MC_GBCPMCQ
MC]GCZCJAA
mCgGRgfG
mcgiggfw
MCGO_SOL
M@Cgqggt
M]C_GYMJHXYAJ
McH7HVHfH
MCHABA[GLYDAMJHGOG]EKJMS_]N[L]Y
M[CHEXOY
MCHF_FHEXOK]LP]]B
MCHGOKKCEX
MCHH]GZZNDNJDKKN_DZE]L_B
MCH_HZJ[@Y]
M[C]HKNHSCANKS
MCHM][Z[A
M]CHQAJGK]
MCH]ZJ@[LBGZ_[]@
MCJGGP]DCL_PDHH
MCJHLZLH
MC@]JJA[MCKAJ
MCJJ[CXH@
M]CJMQSO@CZ
MCJM[ZAHQMO]M
MCJ@_NCPX_
M_CJNKKNNSH]A_
_MCJOMMNXAJ
]MCJOO]PGZAZDEJGO
MCJ]PD_CHLY
MCJP]ZB[LJHBX
MCJXQJM_HBKXL
MCJYQCYA
MC[@KFXNXB
MCKHJKYIIIIIIIIIIIIIZIILIHHIKIJ
MCKJCLQHFXPO
MCKJMLC]
MCKKY_HY
MCKZQPCXGSOJ
MCLFSF[NM
MCLMZ[JXB
McLYLWLMLBL	L
MCM]AEPXON
MCMDYOXGEBD
MCMNMBOPXH
MC_MOQPAAYP]_NDA
M_CMQ_DMX
MCMXGCELEHMJG
M_]CNBEOJX
MCNHFK_JS
MCN_PBALQ
MCNPOA[[GPHXQA[KXKND]NNHXSDLXD
MC_OL_]Y[_N[Y
_[MCO]PYCJC
MC[OSX_]
McoUggfG
MCPCOHCFJLN
M[CPJXNX
MCPLKBZX
MCP_Y@LM
MCQH[NAX
MC]_QJGKBLP
MCQOEQAL
MCQOLYXHC_
MC_QS@XQLOLE
MCQ]XQXA
MCQZNHAMZ
MCS7QKLCS6Q
MCSDNBSZ
MCSFCD_H
@M_CSFZQFLSXLDYAJ
mcTd[[[[T[[[O[[[
[[[MCWdO[[[
MCXCQYANP@BLH
MCX[HPQXY@[SCG@SZZDD
MCXS[NAZ
MCXXOMFO
]M[C[XXXBYMKQSHJ]DDD
_MCYDOOK
MCYEDDZ]@
MCYKKGLHAGZD
MCYNH[HQX_
MC_Y[OSCJ
MC]YXXMLP[
@mCZC9C#C
MCZGJCZ__
MCZGJ[DOFX[]MLPZ
[MCZ]HGY
MCZOASKP
M_C]ZPJB
MCZY[D[HAXCAM
m|d[[[[*
md@[[[*[[[
M)))@[D	
MD5Buffer
Md_[[[8[[[
MdA[[[;[[[
MDA[AXSPQ
]M][DAB[
MdA[[[C[[[B[[[u
M@DA]HLOP
MdA[[[K[[[
MDANM@B_@FGG]SQ_[
MdA[[[P[[[G[[[(
MdA[[[*[[[)[[[q
M_DAQPPZSP
MdA[[[r[[[t[[[
MdA[[[s[[[
MdA[[[T[[[
MdA[[[u[[[
M@DA]]YFKC
mdB[[[)[[[
MdB[[[;[[[
M_DB@DBYS
MDBDPOZY
MdB[[[e[[[
MdB[[[G[[[
M]dB[[[g[[[f[[[?
M@DBHAZA
MdB[[[j[[[
_MdB[[[j[[[i[[[
MD]BKHMQ
MDBKK@BKMOOA
mD@@@@B@@@Np@H
:MdB[[[P[[[
MdB[[[Q[[[C[[[
MDBXC@GP
[[[M'*dC[[[
MdC[[[*[[[
MdC[[[:[[[8[[[W
Md_[[[c[[[a[[[
@@M@DCac
MD@CAHSK
md[[[[C[[[B[[[
MD]CDOLP[_B
@Md_[[[c[[[e[[[
MdC[[[e[[[
MdC[[[f[[[
MDcgqgg;
MdC[[[h[[[
MdC[[[H[[[F[[[
MDC[LLDBSZK
MDCLOAZAESYX_CHK
MDCNGZ_S
_MDCQMXN
MdC[[[T[[[@[[[M
MdC[[[u[[[j[[[UuWdy[[[t[[[
M)Dd[[[[
MdD[[[1[[[0[[[
[[[MD]dA[[[
MDD[DH_BL
[MDDDKKCH
m(DdF[[[
MDDHY[LHML[OF[HGM[F@M
MdD[[[j[[[h[[[
MDDMB]CHE
MDdN[[[A[[[q[[[
mDdO[[[X[[[P[[[ut
MdD[[[P[[[W[[[
M@DDPZXEOF[B
MdD[[[w[[[l[[[I
MDdX[[[_[[[
MDDZ[[[L@
Md[[[[e[[[
MdE[[[5[[[
[_M@_D]EAAMN
@@M@DEac
mDefender_Engine_PUA_XclSave_AttrMapErr
M@DEN]MDGXJPZ
mdE[[[][[[u[[[
mdE[[[v[[[
@MD@ExVUBX
MDE]Z__SC
mdF[[[)[[[([[[
Md][[[f[[[
:MdF[[[0
MdF[[[5[[[4[[[
mdF[[[B[[[
MdF[[[c[[[
MdF[[[C[[[
MdF[[[G[[[
M)))DFJ@GL]LZ
M@DFKCZALEEZL]FKCZALEE
MDFKOKDL[
#)))M@[DF_L
MdF[[[n[[[
MdF[[[S[[[
M)))DFS@EEH
MdF[[[z[[[
MdG[[[![[[
MdG[[[][[[
mdG[[[3[[[
mdgAggqne
mdg'egfGp
MDGEQCQ_ZJP
@M_dgfGN
MdgGfgfG
Mdg;ggfG*
M@dgGRgfG
MDGK_[MD
M@DG_@M@HG_@M@H
m(dgqgg0M
mDgqggKSl
MD[GSGMGHN
MdG[[[v[[[
MdG[[[v[[[k[[[u
'MdG[[[y[[[
MdH[[[ [[[
MdH[[[1[[[0[[[)
M][DHDNKJEQJEP
MdH[[[@[[[F[[[
MDHGB@GMD
MDHJPSD_
MDHNXEAYL
MDHQM@ZBZ@SL
MdH[[[W[[[U[[[
MdH[[[Z[[[
[[[@!MdI[[[
MdI[[[([[[
MdI[[[2[[[
MdI[[[4[[[)[[[
MdI[[[A[[[
 MdI[[[b[[[a[[[
mDiDDHeg	4
MdI[[[f[[[
mdI[[[K[[[J[[[2
MdI[[[O[[[
mdI[[[][[[P[[[
MdI[[[s[[[i[[[
MdI[[[T[[[
MdI[[[t[[[m[[[
MdI[[[V[[[T[[[
MdI[[[X[[[W[[[
?m|dJ[[[
mdJ[[[:[[[
Md][[[j[[[
MdJ[[[![[["
MdJ[[[?[[[
[MDJ[AEF]QME
MdJ[[[A[[[G[[[
mdJ[[[c[[[
MdJ[[[e[[[
M[DJE@LG
MdJ[[[F[[[
m)))D@J[FZFO]
M)))D@J[FZFO]
M@D@JLEHGM@JLEHGM
MdJ[[[P[[[U[[[
MDJQ]QJLMMH
MdJ[[[X[[[W[[[B
m|dK[[['
Md@[[[k[[[
-MdK[[[|[[[
MdK[[[![[[
MdK[[[:[[[
mdK[[[:[[[8[[[
MdK[[[a[[[
md][[[K[[[C[[[H
mdK[[[f[[[
MD[KKGBC
MD@KMBG[X
m||Dk||T||||||||||||L||
]MdK[[[U[[[
MdK[[[U[[[T[[[.y:dL[[[
m[dK[[[x[[[
mdK[[[X[[[
m||dk||Xk||
MdK[[[z[[[
M@DKZ][D
 MdL[[[?[[[
M||d(||L?||
MdL[[["[[[ [[[
MdL[[[1[[[
MdL[[[9[[[
(MdL[[[a[[[
#m)DL]AFM
m)))DL]AFM
#M)DL]AFM
m)))DLDF[P
m|d(l|dHs|d
mdL[[[e[[[
MDLGJFGZ_J
)))M@DLGJFMLMYHPEFHM
M@DLGZ@FG
M@DLGZ@FG[LO
M@DLGZ@FGZ
M)))DLHDH[LEDF[ZA@MP
M__DLH]MC
[MDLJOPEQ
mdllllllllmllllOllylm
mdllllllllmllllOllylmF
MDLOKDGF[G[O
mDlpgppepqJ
mdL[[[r[[[n[[[
MdL[[[v[[[
MD]]LYJJ
MdL[[[Z[[[6[[[
||||m|||||||dM
Md_[[[m[[[
[[[;M(dM[[[
M[[[[[[dM[[[
MD_MFBXS_
m)))DMFYH]L[Z
MDMGPX_APQ
M[[[DMHdK[[[
MdM[[[i[[[
MDMJDYK_
MdM[[[k[[[
MDMK[G__AQ
@MD][MK@YA[L
MdM[[[o[[[
MdM[[[R[[[
M]DMSMXAEHC]_Y
MDMXHLZBP
M[DMXNX]
MdM[[[z[[[
m|dN[[[_[[[
  MdN[[[
MDN]AXHNB
m||dn||Bn||
MDN_BOGQSMAYF
MDN_BONS
MD[NDDZ]C
M[DN]DMXC]L
m||dn||Dn||
MD[N@GAFH]
M@DNHSLQNHSLQ
MDNHZJ[J[
MdN[[[m[[[
mdN[[[n[[[
MDNSONAGLQP[
MdN[[[T[[[
MdN[[[U[[[C[[[
MdN[[[X[[[
Md][[[O[[[
mdO[[[0[[[
MdO[[[4[[["[[[
MDOAZ_PM
]_MDO_EDDLM
M@DO@ELO@EL
M@DO@ELZPZ]LDFKC
M@D@OF[@
MdO[[[L[[[
MdO[[[m[[[c[[[
MdO[[[o[[[
MDOOJBALHCC
MdO[[[P[[[
MDOpgppepq
)))MDOP@LGXG
MDOP@NASKC
MDOQDNLPH
MdO[[[T[[[
MdO[[[V[[[
MdO[[[W[[[
MdO[[[W[[[G[[[]
MdO[[[x[[[
MdO[[[X[[[
[MDOZPMEXC
MdP[[[3[[[
MD]_PDAGK
MDPGK_GMQQS_GSC
Md_[[[p[[[i[[[
MdP[[[j[[[
MDPSPBQNZ
MdP[[[u[[[k[[[
Md][[[p[[[u[[[m
M@DQA]]Y
M]]DQ]DX
MdQ[[[e[[[
MDQ[F]QQ
MdQ[[[H[[[N[[[
mdQ[[[_[[[i[[[
MD@QMOKBNSCMZJ
mdQ[[[N[[[C[[[
MdQ[[[S[[[U[[[t
mdQ[[[_[[[u[[[
Md@[[[q[[[w[[[
MDQ]XBZQ
M[D[QXXOMDS
mdR[[[][[[
MdR[[[	[[[
mdR[[[_[[[c[[[
mdR[[[_[[[j[[[
MdR[[[J[[[I[[[P
Md[[[[R[[[P[[[2
MdS[[[3[[[2[[[
MdS[[[A[[[G[[[
MD[SAZ@ZHJOCA
MdS[[[I[[[
MdS[[[T[[[J[[[
MdT[[[![[[!
MdT[[[][[[
mDTUV__URWQgVgg
MdU[[[][[[
;[MdU[[[i[[[
MdU[[[J[[[
MdU[[[K[[[F[[[
MdU[[[o[[[
MdU[[[P[[[V[[[
MdU[[[t[[[
MdU[[[Z[[[
MdV[[[1[[[
MdV[[[4[[[*[[[
MdV[[[9[[[
MdV[[[d[[[
mdV[[[L[[[B[[[VT
MdV[[[P[[[U[[[
MdV[[[q[[[w[[[
MdV[[[V[[[
MdV[[[Z[[[
m|dV[[[Z[[[E[[[
MdV[[[Z[[[M[[[
MdW[[[	[[[
mdW[[[a[[[
[[[mDWdO[[[
mDW[gucgfG
:MdW[[[m[[[
MdW[[[Q[[[
MdW[[[r[[[
MdW[[[][[[T[[[
MdW[[[y[[[
MdX[[[)[[[
MdX[[[:[[[
Mdx[[[0[[[6[[[
Mdx[[[2[[[1[[[b
MdX[[[b[[[a[[[
MD_XBB[MF
MDX_BDLSPBOQPPBSCSXSX[Y
mdx|dHu|v.z
MDX]G]E[]]
MDXHDXZQD]BEPLJE
[MDXHNHNY
MD]XKSL]
mdx[[[l[[[
MdX[[[n[[[m[[[
Mdx[[[O[[[
@MDXOO]KJP
MdX[[[t[[[l[[[
MdX[[[U[[[J[[[
MdX[[[V[[[T[[[#
MdX[[[Z[[[
MdX[[[Z[[[b[[[
:MdX[[[Z[[[u[[[
M")||||dy
Md_[[[y[[[
Mdy[[[-[[[
MdY[[[_[[[][[[
MDYDPY[LXJE
M@DY[FCL]FY[FCL]F
]MDYFXJ[H]
MdY[[[h[[[
M@DYH[HD
MDYNPC[L
]MDY]OAZYGXC_
MdY[[[P[[[
mdY[[[Q[[[
MdY[[[s[[[
MdY[[[s[[[b[[[
MdY[[[V[[[A[[[
Md_[[[y[[[x[[[]
MdY[[[Z[[[a[[[
MDYZAQEKJD
MD_YZ[S]F[]L]_H
MdZ[[[-[[[
MdZ[[[_[[[@[[[
MdZ[[[2[[[
mdz[[[8[[[
mdZ[[[8[[[
M@DZALEEFKC
MDZAODQX_
Mdz[[[b[[[
MdZ[[[c[[[a[[[y
MdZ[[[D[[[
Mdz[[[e[[[
Mdz[[[f[[[d[[[Y#
MdZ[[[H[[[
MDZHJHCXMNPFKQ]ZC
M@DZ][H[NZZ][H[NZ
Md??zNMMM
MD[Z]OXQ
MdZ[[[p[[[
MdZ[[[q[[[
MdZ[[[r[[[
MdZ[[[S[[[
Mdz[[[z[[[
MDZZXDKGH
-Me[[[[[[
[[[M[[[E[[[
Me_[[[7[[[6[[[
me;9pe3|
ME@ABFMKG
M[_EADDC
@mEaEtDoDXDID)D D
m'e][[[a[[[f[[[
M[EA@Q_QSD
MeA[[[X[[[@[[[
M]EBLYFG
MEBNLGPYJN
MEBOXFYMB[[HPOXQQXF_XCMH
MEBQOP[K
m'eB[[[W[[[
MEBXDSDS
MEBY[QXA
@@M@ECac
[[[MeCdG[[[v[[[c[[[
MECXSS_[SMFJHN
M_EDD@GGALZ@DPELM_QM
mediatype
)))MED[[LNA]YAY]Y
]MEDMBHAYLGYHY
Me_dW[[[
ME_[DZBHJ
MEdz[[[m[[[
mEEa@CHJB
MEEA@CHJB
_MEEAFZ]
MEEA]]YZ
@MEEBJBQ
MEEDJ@ZLGMZ][@GNH
)))MEE@DYF[]
MEEE@KLHP
MEE]F@GCLJ]
#)))MEEFYLG
MEEFYLGY[FJLZZ
MEE@GCLJ]@FG
MEE@GCLJ]@FGQ
MEE@GCLJ]LM
MEEG]MEE
MEE@GZ]HEE
MEE@GZ]HEE))
MEEJALJB))
")))MEEJEFZL
MEEJEFZLAHGMEL
mEEjHEE))
#)))MEEJHEE
)))MEEJHEE
?)))MEEJHEEKHJB[LN@Z]L[
;)))MEEJHEEKHJBO[LL
MEEJ[LH]L]A[LHM
MEEJ[LH]L[LDF]L]A[LHM
MEEJ[LM[LHM
MEEKP]LZ
MEELGJ[PY]A]]Y
MEELGJ[PY]FYLG
MEELGJ[PY]uGZ[HGMFD
MEE[LHMY[FJLZZDLDF[P
MEE[LNZ_[
)))MEE[LN@Z]L[ZL[_L[
:)))MEE[LN@Z]L[ZL[_L[
MEE[LN@Z]L[ZL[_L[
MEE[LN@Z]L[ZL[_L[SS
)))MEE[LN@Z]L[ZL[_L[SSSSSSSSSSSSSSSSSSKY
MEE[LN@Z]L[ZL[_L[ZALEE
MEELQ@Z]ZZL[_@JLuJHZA[LD@GML[
MEEMMMMKY
MEENL][HGMFD
MEENL][HGMFDH
)))MEE]Q]
MEEu@G_FBL
MEEuMLJ[PY]
MEEuZPZ]LD
mEEvjFYPyH]
)))MEEvYH]A
m'eE[[[y[[[
MEEY]A[LHM_J
MEEZALEE
MEEZZELHP
MEFABLF_D@H
MEFADHY]L
m'eF[[[a[[[f[[[
m)))EFJH]@FG
m)))EFNNL[
meF[[[S[[[
m'eG[[[8[[[2[[[C[
)))ME@GB
Me_[[[g[[[d[[[
meG[[[h[[[n[[[4
MEGHY]S[_H
megKegfG4
MEGNSY[GS
 Megqgg6
mEgQggfG
MEGSDHPY
MEgy]gfG
ME]GY[S[QOHMPY
ME]HEYHKE
m'eH[[[f[[[
m'eH[[[@[[[G[[[
MEIIbI]LEII
m'eI[[[N[[[M[[[M
meI[[[Q[[[P[[[h
__MEJBHDG
MeJ[[[][[[C[[[
MEJJCAJD
_]ME[JSGYNB
MEJXQJLBDJ
m'eK[[[][[[
M"eK[[[-
M;eK[[[([[[
m'eK[[[0[[[
m'eK[[[c[[[
MEKDME|;
MEKDNXYLMDJ][OH
ME@KHLJEPNLQM[ZJZHZKQK
m'eL[[[5[[[4[[[
[MELBPBO
_MELDLLJL
MELJPGGMC
m'eL[[[L[[[C[[[F
MEL[L[CHZO
mEllllllllmllllOllylm
MellllllllmllllOllylm
MELPOMAOA
M(elxXh;z
MemberForwarded
MemberRefParent
membership
]MEMCBDO
memdeviceid
memdeviceid_scrubbed
MEMD]_ZB
:)))MEMFDH@G
memLimit
memmodulefullpath
memmodulefullpath_scrubbed
:memory:
MemoryBytes
memory limit met
memory_patched
MemoryReport
MemoryScanReport
MemoryThreatReport
memorythresholdcrossed
memorythresholdinmb
MemScanOpenProcessToken
m||en||Bn||
MENDFYB]LMASJ
MEN]EN@GPS
m'eN[[[f[[[e[[[
MeN[[[l[[[
m'e_[[[N[[[M[[[K
m'eN[[[p[[[
m||En||Ph||(n||
M]ENP_PQ_NJGYSFSO
ME_NQ[NM]A
|||||||MENRMJDRLRM|||||MNKRLRLRM|||||||
menutext
MENZPAGK@M
M_EOGJSNG
MeO[[[j[[[
M'eO[[[q
MEPAEHZN
M]EPCLNN
MEPGOJSJSLN
mEpgppepq
M	epgppepq
MEpgppepq
mepgppepq3m
MePLtefa
M[E[PQHPMP
M;EPvFI;
MEQB[SSBZAPA
MEQHZDJP
m'eQ[[[][[[Q[[[
m'eQ[[[q[[[o[[[.
m'eQ[[[U[[[H[[[J
M[EQX_AQJ
m'eR[[[C[[[y[[[
m'eR[[[Q[[[
m'eR[[[T[[[I[[[
m'eR[[[T[[[K[[[3
m'eR[[[y[[[
[MESEBQEZ
m'eS[[[I[[[
[M_]ESNG
MESOESXY
MessageBoxW
message size
Message text unavailable
MESSFENA
metadata_decode
META-INF
metastore
MetaStore
MetaStore::DoMaintenance
MetaStore::Exists
MetaStore::FinalizeInitialize
MetaStore::GetVaultRecordCount
MetaStore::Insert
metastorelowficache
MetaStore::MigrateDatabase
MetaStore::Query
MetaStore::Remove
MetaStore::RemoveAll
MetaStore::RemoveMany
__metatable
MetaVaultStorageSQLite::Exists
MetaVaultStorageSQLite::Insert
MetaVaultStorageSQLite::Maintenance
MetaVaultStorageSQLite::Query
MetaVaultStorageSQLite::Remove
MetaVaultStorageSQLite::RemoveAll
MetaVaultStorageSQLite::UpdateVaultRecordCount
MetaVaultType::AmsiFileCache
MetaVaultType::Anomaly
MetaVaultType::AtomicCounters
MetaVaultType::AttributeCounts
MetaVaultType::AttributePersistContext
MetaVaultType::AutoFeatureControl
MetaVaultType::BackupProcessInfo
MetaVaultType::BmFileInfo
MetaVaultType::BmFileStartupActions
MetaVaultType::BmProcessInfo
MetaVaultType::BootSectors
MetaVaultType::Database
MetaVaultType::DynSigRevisions
MetaVaultType::FileHashes
MetaVaultType::FileLowFiAsync
MetaVaultType::FolderGuardPaths
MetaVaultType::Network
MetaVaultType::NetworkIpFirewallRules
MetaVaultType::NetworkIpFirewallRulesOutgoing
MetaVaultType::ProcessBlockHistory
MetaVaultType::ProcessBlockHistoryByProcess
MetaVaultType::RansomwareDetections
MetaVaultType::RollingQueues
MetaVaultType::SdnEx
MetaVaultType::SystemFileCache
MetaVaultType::SystemRegistryCache
MethodDefOrRef
MethodInfo
mETMORPHISM
mE@TQA|Ls
m'eT[[[x[[[
MeU[[[X[[[
MEvDHBL[LZYFGM
MEvDHBLvDZN@GOF
MEvDHBLv[LZYFGZLvDZN
m'eV[[[i[[[m[[[ea
MEvNL]vYHGvZ][
m'eV[[[q[[[
MeV[[[X[[[
(mew-DAMAGED)
m'eW[[[G[[[E[[[m1PeJ[[[
MeW[[[X[[[
m'ex[[[B[[[A[[[7
MEXDPH]QH
MEXGHH[L@CB
M_EXGO_P
]ME[X]]H_XOQZ
Me@[[[X[[[P[[[
)))MEXQAJC
me@[[[y[[[
m'ey[[[h[[[e[[[
ME[YLSESC]CA
ME]Y_NLF_
m'ez[[[8[[[
m'eZ[[[A[[[
ME_Z[DSH
ME]ZECY]YSB
m'ez[[[F[[[
m'eZ[[[M[[[
M'eZ[[[p[[[
!)))MEZPD
m'eZ[[[T[[[
MeZ[[[][[[w[[[
M"eZ[[[x[[[
m)f_0ggfw
mFAgAgg"
MF_AGLZQ[
MFA]GP[H
MFAHK[@]@ZAZJAFFE
MF[AJ_]X_KK
MFAKDJLH@
MFAOO]BF_FH
M[FAPKFZ@CFX
MfbAAAA@AAAAAC)Q
MFBBJYDBY
Mf@@@@B@B@_p@i
mF[BKF]eGB))
mFB]L[HE
MFBL[KL[FZ
_MFBMKOL
MFBOJ[]O
')))MFCF
M[FCNBCSX]P
mfD[[[6[[[#[[[
MF_DDXLQ[M]GZ
mFD@GFhJ]@_@]P
MFD@G@F]LDYF[H[@F
MFD@GFLZ
!)))MFDH@G
)))MFDH@G
MFDH@G))
MFDH@GA]]Y))
MFDH@GE@Z]
MFDH@G[FEL
MFDH@G@G
MFDH@GGHDL
MFDH@G@GOF
MFDH@G]HJ]@FGZ]MLZ][Z
MFDH@GJFG][FEEL[Z
)))MFDH@GJL[]@O@JH]L
MFDH@G_L[@O@JH]@FG
;)))MF]DH@GNHDL
MFDH@GN[HKKL[
MFDH@GuZPZ_FEu
MFDH@GvGHDL
mFDJALJBvh]aF]DH@E
mFDJALJBvh]f
MFDJFG]LG]EFHMLM
MFDJFG]LG]EFHMLMu
MFD[LHMP
MFDLZ]@J
mFDmFJkHZL
MFDQSZAHKH[
mFdR[[[_[[[P[[[
mFDYMO))
[[[M:fdZ[[[
MFDZ@LQLJ
@@M@FEac
)))MFEFFYJA[FDLPHGMLQFYL[H
mFEGF]F[L
@MFEL_[HG
MFELP[PY
MF[F]APMFQ
MFFEMvYF[]
MFF_GOED
Mffgqggy
MF_FKJ]KDHNFQOXD_NH_
mfG[[[	[[[
MfG[[[	[[[
mfG[[[4[[[
MFG]D@GM
)))MFGDHNF
mfg'egfGp	
mFgF]A@GN
MFGF]DFM@OP]ALO@ELZ
)))MFGF]DFM@OPF[[LGHDLLGJ[PY]LMO@ELZ
MFGF]]HBL
')))MFGF][LZ]H[]
MFGF][LZ]H[]
)))MFGF]@NGF[L]A@ZJ[@]@JHEHEL[]
;)))MFGF]][P]F[LDF_L
)))MFGFZ]@HPFJ@F
)))MFGHE
#)))MFGH]@FG
#)))MFGH]@GN
!)))MFGH]L
MFGH]LMvA]DE
mFgIggfG
Mfgiggfw
mF]GL]))
mF]gL]dL]L[Y[L]L[
mF]gL]jFML
MFGLOF[Y@M@G
MFGMPKNLOXLK
)))MFGNH_@LG]AFGN
MFG]O[HNDLG]
M[FGS[BCOE
MFGSGPQD
)))MFGuQ
MFGZZKKK]HLJ
MfH[[[b[[[?[[[
mFHc[[[[
MFHGMNQZAHXJQS
MFHJ]@FG
MFHM[NHZN
MF_]HNYZXPX
MF_HPZBMOF[]FG
MF]HZBB@EE
mfI[[[A[[[E[[[
MFJBL[B@EE
MFJBL[[D@
)))MFJBL[@DHNLZ
MFJBL[LG_t]ALG
)))MFJBL[vZ]FYvHGMvLGJ[PY]J[LH]LvDLZZHNL
MFJBL[YZUN[LY
MFJBL[Z]FY
MFJBZBAL
MFJDLG]vMFZJi
;)))MFJ]F[E@GB
)))MFJFYP
MFJFYPZXEZ[_]DN
MFJ@HP@ZODM
MFJKHZLX
MFJLELDLG]
MFJLG]LuQ
MFJ[LH]LNEFKHE_H[Z
mFJnL]lELD
MFJONBDQC[
MFJ]PYLA]DE
MFJQFTUAA
MFJQWUuAZBvAJA[SD
MFJuA]DE[]OT
)))MFJvFKCvHMM[
MFJvFOO@JL
MFJvJFYP
MFJvJ[LH]L
MFJvMFZJi
#)))MFJY[FYZ
mFJz@Nyb
MFJZO@JAL[FZ
MFJZvO@JAL[FZ
M)))FKCLJ]
MF[]KHQJM
MFKNQiA]]Y
M]FKYMMQEK]MQZA
mfLd@[[[
M[F_LDLL]@GNZ
MFLGJ[PY]@FG
MFLGYOHP
MFLJAFLQ@]
]MFL]NCDD
@]MFLZ]A@Z
M[F@MBHYYZ
MFMFJBL[YZUN[LY
M[F@MF]]L[
MFMGPQ]B
M[F@MHYYZ
M[F@MZH]
mfN[[[?[[[
m||fn||Bn||
MFNCGPYZMKGBOQJ
MFNHGE]M
MFOEGD@Z
 )))M]FO@EL
#)))M]FO@ELH
M]FO@ELH
mFO@JFM@Y
MFOQSZ@Q
MFOZG@]GYZPJ
MFPAOD]SPQC
mfpgppepq
MFQAAHJBA_@C
MFQDPYMJ
MFQE]MNEY
mFQFtDUNWSxeFTB
M[FSJL[QPO
MFSPGKJJZKS
MFSYSMMB
mftshadowfilecreationtime
MF]v[HJL
MF]v[HJLhJ]@_@]P
MF*Vo)5c
m[[[FWEdQ[[[
mfX[[[2[[[
MF]XQCKFOEDEBS
MFXSFJYDHXPDJY
MfX[[[T[[[N[[[
M[FYDLO@ELZ
mFYE@ByHJBHNL
m[FYEFJH]@FG))
M@FY]FDL][PK[BZ][LN
mF]y[F]FJFEvLGJ))
mFYFYKEHJA
)))MF]]YHP
m[FYJEHP
 )))M[FYKFQ
M[FYKFQ@G]L[GH]@FGHENDKA
M[FYKFQJFGGLJ]EFN@G
M[FYKFQMFJ
M[FYKFQO@EL
M[FYKFQvO@ELZ
M[FYKLH[
m[FYlQLJ
M[FYM[FY
)))M[FYO@ELGHDL
M[FYO@ELGHDL
M[FYvJHJALZ
MF]YXZJ_QJ
M[FYYH]A
M[FYYLMr
M[FYY@O))
)))MFZALEEZJ[@Y]
_)))MFZALEEZJ[@Y]
|)))MFZALEEZJ[@Y]
MFZALEEZJ[@Y]
Mfz[[[C[[[x[[[
[MFZ@DGCLQD
MFZ@ELG][D
MFZ@ELG]LJAF
MFZHZAFY
]]MFZKPYHZZ
MF]Z][LHD))
mFzLH[JA)(
mFzLH[JALZ)(
MFZLH[JALZ
mfzllllllllmllllOllylm
MFZ][O[FDY[FJ
MFZPHBHPML]
MFZPHEH[
MFZXGNHZSLPXQKY
Mg1cgfGJ
Mg1dgfG4c
M:g1fgfG
Mg1kgfG!
mg3kgfGE
mg3kgfGs|
Mg5dgfGP
Mg7bgfG9
mg7egfGnz
Mg7egfGv8
Mg7ggfGz
m'g7igfG
#Mg7mgfG]
Mg7zgfGt-
M[[[G9]d
Mg9qgfGQ@
m@@@@@g@@A@AAac
MGAEABEXQ]
mg'agfG4
@	?MgAgg
M]GAHDMJ
MGA_MS]D@
MGAQQDKCGSKN_L
@MGA]ZJSGOH
MGBEAOHENMQ@CHH
[[[mGbeN[[[
MGB[ENSOLHQ_S
mg@bggfw
MGB]M@BM
MGBOXOYKKGD
MGBPHPDZGAM
MG_]BPLED
MGB_QBOHBGKGY
@]MGB[YDN_XD
MGBYZ_OB
MG]@_[C@
[@MGCCEDG_KZ
MGCDECGNQQ
mg!cgfGt
MGCH_XCM
MGCJ@OKQ_
MGC][L]NL]L_A
M[GCMQOPE]_CXXYYPHX
[MG]CNKXQJAMSQ
MGCQCESNDL_
m"gctgfG
M[GC_ZFN]S_G
MGCZNCZCXP
MGDA][LPBJ
M]@GDBL@PF
m	g[dgfG
mg)dgfG)
mg#dgfGs
Mg'dggwji
MG@DKGQKC
]MGDQQLKN[Y
MGDXQMD@P
MG]DZJEAD
MG[DZNHHY
.mgEegfG
m*g_egfG
Mg?egfG|
mg'egfGF
Mg]egfGQ
 mg_egfGqs
mg	egfGW
-mgemgfG
MGFBCXMJ][Q_
@M@G_FBL
M)))@G_FBL
mgfG04Eggqgg
mgfG1R_hgqgg
MgfG2z:;
 mgfGBEe
|mgfGBrg gqgg
mgfGBye9gqgg
mgfGC#P6gqgg9
mgfGd5pEgqgg
@MgfGdR!
MgfGeN11gqggQ
!mg?fgfG:
m#g)fgfG
-M(g?fgfG
Mg#fgfGQM
mgfGG.0Zgqgg
mgfGHMR.gqgg
mgfGi9]'gqgg
mgfGJPd'gqggp
["mgfGk2
mgfGlf.Ogqggsxbd
mgfG#"l|gqgg@[
mgfGl"t	gqggJZ
mgfGNjZ!gqgg
mgfG"O;agqgg
mgfGOphSgqgg
mgfGRPGU]Y]]
mgfG!Rq6gqgg
mgfGsUNygqgg
mgfGt8(Kgqgg
mgfGTv6'gqgg5
mgfG)w:Vgqgg
mgfG Xhagqgg
mgfGyC0?gqgg
mgfGZC#4gqgg
MGFJ_@D]Q
MGFNPQOOZ
mgGagfGF 
mgGagfGg
mgGagfGj
mgGagfGOf
[mgGegfG
MgGegfGb
Mgg-egfGDr
mgGegfGZd
MggfGNUY
MggfGWfPkgqgg
!)mggfw:
!mggfw(? 
;@!mggfw
]!mggfw*(
|	)mggfw
)mggfw0iUr
)mggfw1YK
)mggfw*2
)mggfw)|3
mggfw3fNP
)mggfw3U
!mggfw3_WmX6
(!mggfw4
])mggfw6
)mggfw6;vOy
:)mggfw7
)mggfw7q
)mggfw8?
)mggfw9?
@!mggfwa
)mggfw*A9
!mggfwAI
!mggfwAr
)mggfwat3
mggfwA[u'
)mggfwaw
!mggfw'B
!mggfw?B
!mggfwB8
)mggfwBEb
)mggfwB|I
)mggfwBw
!mggfwc1a
!mggfwcK
)mggfwCP
)mggfwcw4
)mggfw'|_D
)mggfwD|.:
*)mggfwD
)mggfwdE
)mggfwdJ
!mggfwe_
)mggfw(e
!mggfwf"
)!mggfwF
!mggfwf6
!mggfwF8HX1
)mggfwG!
!mggfwg5
)mggfwGs
)mggfwGS
)mggfw".H
)mggfw)H
)mggfw?H
()mggfwi
)mggfwiCU
)mggfwIKM
mggfwIrSL
!mggfwIY
)mggfw)J
)mggfwJ@
!mggfwjc
)mggfwjp
!mggfwK	
)mggfw'K
)mggfwKG
mggfwKj8H
)mggfwkr
)mggfw#L
)mggfwL'
mggfwM#Z
()mggfw|n
)mggfwN8
)mggfwnE
)mggfwnS
;)mggfwO
)mggfwo"2-
)mggfwodYy:
)mggfwOp
#)mggfwp
)mggfwPO
)mggfwpW
)mggfwp?z5
!mggfwq|
!mggfwQ[
)mggfwqA
)mggfwqp
!mggfwQXw
)mggfwrw[
)mggfw#s0
)mggfwSf
)mggfwSM7
))mggfwt
!mggfw|"T
)mggfwTpk
)mggfwTw
#?!mggfwu
")mggfwU
)mggfw'U
)mggfw.V
)mggfwV-
)mggfwVj
mggfww|[
?'mggfwWC6
!mggfwwl
!mggfwWM
mggfwXdJ.
)mggfwXq
)mggfwXS5
mggfwYcV
!mggfwYI
!mggfw)*z
)mggfwZ(
.mg)ggfG
MGGGFPGG
MgggGyj'
mggGMJ|;zFD5
]M@[GGHADSZQLJKMESLL
mgGkgfG.
MgglgfGy
_MGGLHOZ_
M_G_GMJPJPJ e7S
MgGngfGx
mggogfG4
mG!gqggE.
MGgqgg?k
MGgqgg"L
M||gG||QG||sN||[N||GN||2N||
M[gGtgfG
MggvgfG3
M- gGwgfG8
mggwggG	
mgGwggG5
mggwGm5j
M[G_GXPYLN
]MG_GZGLN_
M[G[GZGZGZGZGZGeGeG_G_G_G_G
)))MGHDDFJ
M@GHD@JHND
M@GHD@JP
M_GH]FXDHO
M_[GH[GZD
MGHHJCQAG
MGH[J]NNY[M
MGHMHPPQ
M_[GHM]N[
MGHZB[CP
[mgiggfw
Mgiggfw-AgGQ
mg'iggwu(
mgI[[[T[[[
mgI[[[x[[[
_[_MGJBLJ
MGJCLGMA[DMAJ
M[GJC[SCKSSH
M?g)jgfGdrL
M]@GJJOS
MGJLM]GA
M]GJMAZOM@YGBO
M@G[JMHNPKSQ
MGJNKBXZ
@MGJPFABODQK
MGJQDPZQN
_MGJQEQX[XP
|MgkdgfG
!MgKfgfG
MG_KF@XOJN_NF
Mg	kgfG|@
mg;kgfG)3@
mg-KgfGj
.mg_kgfGo
MGKGNCBXLCY
MGKJYQMLKQ_CM[
"mgkkgfG
mgKYgfG0)'
MGLALCH]H
MGLBAX[AAYO
]MGL@CCBD
MGL]EB_SCZ
M@_@GLEL_L[HNL
)))MGL]FLX[H
M]GL]FYMF
]M@GLGE]C[E
m)))@G]L[GL]LQYEF[L[u@LQYEF[L
Mg;llllllllmllllOllylm
MGllllllllmllllOllylm
M]GLMMHQ
MGLOPJAX
M_G]L[P_
m#GLP#nl
M[_GLXJS
@M@GLYSCPCBLH
m)))GL]Z]H]
_MGMAPHBSSSY
:MgMbgfG
MgMcgfGK
MgmcgfGl6_
MgmcgfGy
)))M@GMF[O
	Mg'mgfG
MGMGGXDB
MgM[[[h[[[
MGMK_HHSSO
MGM_KPBSEAE@S
M@GMOAYB[C
mgmoggwMwq
]MGMQPQG
MGNAPX_KX
@MGNFAQAS
M@GNM@GN
M@GNM@GNSA@KF
MGNNLELC
MG[NSKJO
@MG]N]XHQ
MGNXH_][SD
MGNXZ[MZCSK
MG]O[EYAGYGAPL
MGOFH_GHJG[PJ
Mg!ogfG_
mgoggfwV
MGOGMHQ]
MgOjgfG 
MgOkgfGD
mgolgfG*
_MGOLHXANODZ
MGOMDMSHLSX
MgooggGo
MGO_QH]C
M]GOQZ][
MgowggG4
Mg_[[[p[[[
M[GPDDKL]YG[SDPKY
mgpgppepq
mGpgppepq
MG]P_@QOJ]NP
@MGP_[XAZLQD
MgQ[[[7[[[
mgQagfG#
MGQAQG]LPK
@M@]GQ]C
m#g'qgfG
m!gqgg@*
m;gqgg'*
m]gqgg:_
);Mgqgg#
mgqgg[ ]0 R
Mgqgg6?*
@mgqgg6V?)brbop
M-gqgg7[
MgqggayJ
mgqggb4P
mgqgg(byU|W
m-gqggcZ
]M)gqggCZ
mgqggFv2*jz8
*'mgqggg
mgqgg'G8i
M@gqgg'G8i
mgqggHsVQ
MgqggHsVQ
mgqggHsVQR
Mgqggj*D
mgqggKSl
MgqggKSl
m)gqggla
'MgqggLL
Mgqggm0lzv
M(gqggNC5
Mgqgg!Nm
mgqggo.H_
mgqggoQi
MgqggUe1
MgqggUFU
Mgqgg;v#
m;gqggVz
MgqggwdvGz
mgqggWoql
Mgqggybo
m]gqggyZ8'*:
!?Mgqggz
MGQHBOCLBOK]ZF
MGQHCBZYSHC
M]GQHF[P
MGQJ]PZ]O
M@G_]Q]]JXLG@BOBLCBCKG
|MgqkgfG
MG_]Q_LAMJN
MGQOQKCNCD
mg@[[[q[[[p[[[
MGQSO]YP]
MgQ[[[z[[[
]M]GSCLP
MgSdgfG?
MgSegfG0J
MGSEPJ@X
MgsHgfGb
MG_SHNY@
mgSkgfGgY 
#mgSkgfGlci
MgSmgfGk;
MGSS_LPKCPHOBG]K
mgStgfG[
MG_SXBGOKPJ
MGSYGPNBS
m(]gT[[[
MgT[[[Z[[[
MgUBU@_x
)MgucgfG
:M|?gudgfG
mgUdgfGv
m'gUkggw8?
MgU[[[s[[[r[[[
mGVpgppepq.
mgWagfGb
mgwcgfGXlm
M #gwegfG
mgwegfGc
MgWegfGK
MgWgggGe
MgwkgfG!N
?MgWvgfG
)))MGXBJC_H
MGXKNZHZXNGDP]MP
MGXLSBMB
MGXNNZJHQQD
MGXXYQHP
]MGYAC[Y
]]MGY]AGC[MB
MGYEMY[XY[CZGMPF
MGYEZLE[
MGYGBXEB
MgyggfGo
MGYH[ZLXOXZ
MgYkgfGW
MGYLJNO@X
MGY]MKNB
MGY_ONGOS]LBPCL[NQY
MGYON]JQG
MGYXSSSZEN
.mgyyUGyypy
MGyyyyy9j9yyy
mGyyyyyy
M@Gyyyyyy
MGYZL_[B
MGYZNPSAG
MGY[ZPS[AP
MgZ[[[C[[[
MGZDX@_Q
MGZHE]L[GH]@_F
mGZhJ]@_@]P
mgzjAHGNL[
mGZJAHGNL[
MGZJAHGNL[
mgzjAHGNL[v
[@MGZJDAC@
)))MGZJDM
MGZJE@LG]JHJALUZLELJ]
MGZJON_[GZiZ[@DH[P_
MGZ_@KLZ
mGZlQYEF@]yFJ
MGZ[LZFE_L
MGZMFDH@GuYFE@J@LZu
MGZMFDH@GuZPZ_FEu
MGZMSESELPH
MGZ]MSXFK[ZEKNN
mGZ@@@@@@@@Op@@@@@@@@@@@@@@Qp@@@@@@@@@@]Y]]
MgZ[[[s[[[
MGZY[LOL[LGJ@HEL
")))MGZZL[_L[
MGZZL[_L[ZLH[JAF[ML[
m)))_H[]
MH1llllllllmllllOllylm
M[[[H4jeS[[[L[[[C[[[
mH[]AD@GL[
M_HA_DYO
MHAEH[X[G]X]B
MHAEOONAD
MH]AE]YXOJCF
mHAF]lQJLY]@FG))
MHAHDH[E@
'M:HA@@JIxyxvy
M[HAL@DMLZ@NG
MHALHME[ZSOG
M_HAPNGKXGFJOJJCN
@MHAPQKNCHCZ
MHASAABSDA_HY
MH@ASOYDJ
mH[BaHEFeH]
MH[BAL[FF
MHBBBSQJX
mHBBH]FG@
MH[BFE@_LN[LLG
M[HBF_LQEFNS
mHBgyogfG
_M]HBJG_N]K
MHBLBNB[
MHBP[Z]N
@MHB[ZBLEYECSCEQ
[MH]C]A_
MHCAYZZ_Q[L
m)))HCHQ
MHCMQ_Z_
MHCO[@MX
MH@CQKECYNMSNCC@
MHCQSDJEXF@
M]@HCXAHHJB
_MHCZEE_NHGC
mHD8o tXH
MH[d_[[[a[[[
mHd@[[[b[[[a[[[
mHd_[[[*[[[)[[[c#_dy[[[
MHD_CHJMF]H[]FKODO
MHDD_ZKE
mHdF[[[d[[[0[[[
M@HDFGMv
MHD@F]LZ
MHDFMLSX
M@HDF[YA
M@HDF[YA@
)))M@HDF[YA@GLv
M@HDF[YA@GLvZ]Z
MHDGZL[_L[
!)))MHDHNL
MHDHNLMuQ
MH[DHZXDLSB
mHdI[[[c[[[
mHdL[[[f[[[
MHD@LGNF
mHdL[[[l[[[
MHDLZ@GNEL
MHDMZASOXECP
_MHDNEPEYYJ
mHdN[[[l[[[b[[[6
mHd][[[n[[[m[[[
]MHDNNXS
MH[[[DNX
MHDO[C]X
)))MHDPF
MHDPGPXPS
MHDPP_ZBJCOMGZZH
MHD@Q@GNPLY@GN]H@
mHdR[[[d[[[
mHdS[[[m[[[
mHdW[[[P[[[W[[[
mHdX[[[3[[[)[[[L
MHDYGBFHA
MHDYGLSB
mhDyx|x]
m)))HDZ[
mHdZ[[[L[[[
mhEdI[[[
)))M@HEFNHJ]@_H]@FGHYY
m@HEFNhJ]@_@]P
M@HEFNKFQ@GM@[LJ]YH[HDH
m)))_H[E@GB
MHEH[SAM
m)))HEL[]
MHELKB@]_S
M@_HE@NG
MHEOABH@
MH@EPJFD@Q
MH@EPZ]H]Z
mH@EPZ]H]ZhGNLEZhJ]@_@]P
M]HEXLBM]
MHF__AJYB
)))MHFEHFEHF[HFLHFNHF@HFZHF]HFLHF[HFZHFLHF[HF_HFLHF[
MHFFLY][CM]SNBL]
MHF__OFHGCM[P
mhgAggRb
MHGAHZ]@GN
MHGC@YH@
M@H[GFGMO@[LYEHJL
m)))HGHAL@DML[DH]FEFN@Z]Z
MHG@HE]LK
MHGHMLH_J
)))M[H@G[H]OEHY
MHGHXHCHHHG
MHG]HXSJOK
MHG@LEFEHP@GBHZ
mH_g'mgfGB
!)))MHGNL[
MHGNL[ZBE@O
MHGNL[Z]PEL
MHGN_OMEG]DZDM
?)))MHGO[HGBDLiNDH@E
[M[HGQHPLJCP
MHG@YMZGAX
M[[HGZYPLGK__KG[
!)))MH]H
#)))MH]H
')))MH]H
.)))MH]H
:)))MH]H
@)))MH]H
MHHB]E]G
MH]HB@GNZ
MHHC_A]MSB
MH]HDFMLE
]MHHDMBL_LEN
M)))_H[HE@
")))MH]HEHPL[
MH]HELGtMLOvMLJ[PY]v[LY
MH]HE@Z]
MH]H]FLGJFML
MH]HFOO@JL
M())_H[[HGMFD
MH]H]HKEL
MH]H]HKELZ
M@HHHKyxv
MH]HJEHZZLZ@DYF[]
MH]HKEFK
MH]HKHZL
MH]HKHZLJFGGLJ]@FGZ][
MH]HKHZLZ
MH]HKHZLZHGMF]AL[@DYF[]HG]O@ELZAH_LKLLGLGJ[PY]LMHGMAH_L]ALLQ]LGZ@FG
MH]H[LN))
_MH]HLQJAHGNLZL[_@JL
:)))MH]HLQYFZLM]F[@ZB
)))MH]HM@[LJ]F[PJ
mH]Hm@ZYEHPhJ]@_@]P
@MH]HOEM
)))MH]H]PYL
[)))MH]H]PYL
])))MH]H]PYL
_)))MH]H]PYL
MH]H]PYL
MH]H]PYLJFG_L[]L[
MHHQXAMEYKLSJYSGPNND_AG
)))MH]Hr
M_HHSDXMALC]PSP
MH]HUOF[DH]
.)))MH]Hv
mH]Hv]PYL))
MHHY@CQY
MH]HY[F]LJ]@FGZJFYLt
MH]HYH[HDL]L[
MH]HY[@_t
MH]HZ]F[Lr
mH]Hz]HNL
MH]HZ]H]Z
;)))MH]HZL]
MH]HZr@t
MH]HZYHJL
MH]H@ZZHOLiDH@E
MH]H@ZZHOLiY[F]FGDH@E
M][HJB@GN
MHJBXCGS_MN]H
MHJHJOCZHBJPJCLM
MHJLC_Y]ZBCHX
MHJSP[_QNFCJES_]MXDZC
MHKCBBM[QMSL_
MHK[]CHZOGLJPCPFJPPXNMSODBOSX
MH_KCJKX]CBBELY_AK
)))MHKDFuv
M[HKGNQX
MH_KGQQPBHBE
MHKKCZZQ_CNY[
MHKKOJKJ
MHK_]MNEOYG@P]K
MHKPSX]H
mhKRSSkBRSSTs
MH[__[KSC
.)))MH]L
|M|H|L|||||
')))MHL[A]L]HL[J
MHL[A]L]HL[J
MHL_BDQQHQA
MH]L_CGYH
MhLcLKL3L
MHLDFGv]A[LHMZ
MH]L]@DL[LJL@_LMMH]L]@DL
MH]L]@DLOF[DH]
MH]L]@DLY@JBL[
MH]L[[F[
M]HLJHP_
MH]LJ[LH]LM
MHLJLSFZYOG]S
MHLJXCKNOE_E
MhllllllllmllllOllylmN
|M|H|L|#|M|||||
MH]LM@OO
MHL;oHu"H
MhLOL?L#L'L
MHLPSDYF_B[FLDCPZH
M]HLQBHLHGH
MH_[LQE@JX
-* MH]LQEKON
_MHLQGJPEGQQZ
MHLYGYPJZH
MhLYL;L(L	L
M[HLZMAON[
MHM[AAZCJO
MHMAGSPEM
MHMDN_P@CN
M]HMDYCH
***MH]MEE
m@_hMH))
m)))[HM@HGZ
MHMIOLMIM
MHMKYIIIIIIIIIIIIIDIILIHHIKHIJJ
MH]M@]LJ
MHMMCHKQ]K
)))MH_@MN@EEL]]LYAF]FN[HYAP
M[H[[MXYLZCC[QGXJ
MHMZ[ESZZ
#)))@MHN
MHNBA[[O]
[MHNEAG@[BSQ
)))M[HNFGHNLF[@N@GZGLLM
M[HNFG[LM
")))M[HNFGOEP
M@HNGFZ]@J
M@HNGFZ]@JZ
)))M@HNGFZL
M@HN@GOF
)))M@HN[HYAZ[PBBL[ZB[@
m@HNJHKlQ]
MHNJXBGX@CHP@PSBCGG_P
MHNKC[YL
#m)]H[NL]
m)))]H[NL]
#M)]H[NL]
M)))]H[NL]
m)))]H[NL]DFML
M[HNLEZL[HB]@_@Z]@ZBLGH]
MHNLGZGPAL][
MH[[NMC_
@]MHNOQ]
MHNO_ZSN]XSAYNOD
M||hn||Wn||
MHNXSCPBYY
M]_HNZGQ_M
MHOEJ]QH
MHOHAFCHHNLDL]AFM
MHOHAFCHHNL@M
MHOHHPOGHDL_KSK
MHOKFMCBLZ[[]C
mHO]L[MFM
MHONEHAE
MHONHO[G
MHON@@KOM
MH_OS@PO
]M_@H[P]CYFHEJ
MHPE@NA]
MHPGB]BG[
 )))M[HP]LB
MHPLQYEF@]YFJOF[NFFNELJA[FDL
[MHPOZFA][HQHA[EQ
MHPYDQDFY[L
MHPZBMASCHFOZYYZDH
MHPZ]FJA[@Z]DHZ
MHPZKS]CZ_KECLEJ
_[MHP_ZQQY
MH]QAKBY
MHQ]JKZKPO
MH]QN[MGHZ
M;H r	M;
[[[MHSdL[[[W[[[
_]MHSESCGE
MHSOB]JD@NSG
_MHSQ]ZQCN
MHSXNQY_
MH]u@GL]J
MH@ULIAJUALH
MHuMKGrQw
m)))_H[v
#)))@MHX
mHX8xxx]Y]]z1_
M[]HXNH_ZP
M]HXS[E_B
MHXSKDMOXHL
[_MHXXOPDXBE
MHxxxJxbzI
Mhxyyyyyyyyy3hxyyiyyyyyyyyyyyyyyyyyyyyyyEhxyyyyy
MH[YAKY[LM
MHYAZXDSM
MHY[CZO[
M[HYF]YY]DYZ[MBLXSYD]G
MHYGL]DFK@EL
MH]YHMM@GN
MHYJOS[Z
MHYL]FGuu
MHYLPS_YH
MHYMYXAQ
]MHYPZCPD]HG
mhyyyyyyyyyyUhyyyiyyyyyyyyyyyyyyyyyyyyyyehyyyyyy
MHYZEPLOBCKQ_K
m#-hZ0-t
[MHZAHEYAHrJHJALELGN]A
)))MHZAKFH[M
MHZAKFH[M
MHZANFHEZ
MHZAZ]PEL
M]]HZB@M
MHZDH[HD
MHZ@G_LZ]DLG]
MH_ZKAQJSHCG
MHZLK_Y_GG
MHZOMZHZH
mH@ZPjAH@G
MHZPOXZAE
MHZ]X]A[NAYB_
MHZXCGDFQ[]N_GJL
M@HZYF[HvHGM[F@M
m|)i)	.[#
mI[[["[[[(
mI[[[*[[[)[[[
mI2PmSSSS
@MI -4I *Hzxdy?
M I9Y@s'L
M@i@@A@AEac
MIAMBCYF
mIBaakIEaak
mIcCCNCCCBACC
MIcI*KGILII
Microsoft Code Signing PCA
Microsoft Code Signing PCA0
Microsoft Code Signing PCA 2010
Microsoft Code Signing PCA 20100
Microsoft Corporation0
Microsoft Corporation1
Microsoft Corporation1!0
Microsoft Corporation1#0!
Microsoft Corporation1)0'
Microsoft Corporation1200
Microsoft Hv
Microsoft Internet Explorer
 Microsoft Operations Puerto Rico1
MICROSOFT PIFEX
Microsoft.ProtectionServices.Entities.Raw.SpynetReportEntity
Microsoft (R) HLSL Shader Compiler 10.1
)Microsoft Root Certificate Authority 20100
"Microsoft Time Source Master Clock0
Microsoft Time-Stamp PCA
Microsoft Time-Stamp PCA0
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
Microsoft Windows0
Microsoft.Windows.Defender
Microsoft Windows Publisher0
Microsoft.Windows.TlgAggregateInternal
MIdA[[[O[[[
m@IdB[[[
[[[mi#dH[[[
mi#dP[[[
mId[[[[w[[[v[[[
[[[mi#dx[[[
migGcgfG
MIgGfgfGY
m)))iGK]v@GOF
Migqggg0
M"Igqggp
MigrateDatabase
mIgUdgfGhO
'MIHAH:;9xyxhy
M-IHKHYIIIIIIIIIIIIILIIHIHJgIcI
MIHYILIILLIOLLIELLI[LLIQLLIWLLImLLIcLLIyLLI
MIIdI!HKHIIINI
MIIFI'KGIOIIXI7K
MIIIIIIKI
MIIIIIIoI
M[IIIItIcIHI
MIIjI;HItI
M*IIL.I-L*I
mIi)mIiUmIiqmIi
MIiMMIiyMIi
MIIPI	HfI
MIIPImJI
MIIPISKI
MIJIIH3xv
mikdZ[[[
MiLaLULML1L)L
MiLaLYLQL7L!L
MiLIL)L	L
Milliseconds
MiLmLaLeLYL]LQLEL5L)L-L
milSSSSSSSS
mimeTypes
mimhokmck
mimhokmckELVkbknikkchcjn
#M#I||||MNIL||||
m||in||Bn||
MinHtmlContentSize
MinIEProgCtrlHtmlSize
minimumfilesizebytes
MinorImageVersion
MinorLinkerVersion
MinorOperatingSystemVersion
MinorSubsystemVersion
.min_records_for_detection
minutessinceservicestart
minutessincesystemstart
MIN_VALUE
MIOAOKOJL
#)))MIO@EL
MIO[[[Z[[[O[[[
MIPg7wggG
Mipgppepq
m(iSgokgfG
?mishtXH
MISJOIAI
Misleading
MisleadingAd
Mismatched braces
misplaced break statement
misplaced continue statement
 missing from index 
MissingInfo
MissingRoot
mitgqfgfG
mitigationauditoptionregtype
mitigationauditoptions
MitigationOption
MitigationOptionInfo
mitigationoptionregtype
mitigationoptions
MIUKH@AULJAKU@LMLUM
?M...iwyy
?M..iwyymYyyoI
?M..iwyy!]yykI
mIxgqgg9
mJ[[[6[[[
MJABENNPSGL
)))MJADZ@S
m)))JA[FDL
MJA@IAHI
M]JAMGXLHBKDK
MJAMGZMP
MJAOQDGJGCZFDKLF
)))MJAPBQ
MJ]APKQGLO
]_MJAP]XP
MJASXC[Z
]MJAXQNC
MJBAOXCCCS
MJB_]CYQOHZJ
M_@JBEMENOJ
MJ_BEZHC
MJBG_KA_
_MJBHLASYDA
MJB]PQZCONLXJPE
MJBQYM_M
MJBSJ]PJJ[PHJ
MJ]BZDSHL
MJC_JS[SP
MJCJYEJOZQN
MJ]CPC_KKOKED_SLNZZ
M[JC@QBJ@QJ
M@_JCQ@KY
[MJCQ[MOC
MJC[SEDPMA
MJCZBSMBEZ
MJD_AMN_YPDYEP
MJDAYLOJ
MJdC[[[e[[[d[[[
MJDCYF]_M[N]O
MJD]CZ]]L
MJDDD@ANXO
mJDdS[[[
mJDdT[[[
MJDKAOQP
MJDKSKZEFQAKQQ
mJdL[[["[[[
M[J[DL@QQYSOH
MJ;dO[[[(
MJDZBSGQ
MJ[DZEJG
mjEdY[[[F[[[E[[[
MJEHMZAOLQM
?)))M@_JEHZZ
M@_	JEHZZ
M@_JEHZZ
((MJE@LG]Z
MJEr@GOLJ]Z][JH]
MJESAMCZ_DO
MJEXO[GG
mJFDlQLJ))
MJFDLQLJ
MJFDY[LZZ@FGDLDF[P
MJFDY[LZZ@FG]PYL
]MJFEZYHG
MJ[FG]HK
;)))@M@J]@FGH[P
M@J]@FGH[P
m@J]@FGH[PdHGHNL[hJ]@_@]P
m@J]@FGH[PhJ]@_@]P
m)))JFG]LG]FO]ALN@_LG
_MJFLQZLG
M)))JFMLKHZL
[MJFPA@XMNMN
MJFQ@EBY
MJFSQKQCLF
#)))M@[JFYP
MJG[B@@CL@]BHDBD[
MJGD_GLY
MJGEMYCOYENZFLBXMNG
MJGG]YHZ
MJGJJYFEDM
MJG[LFODO
@MJ@G]L[JLY]
M_JGLLCK
MJGOG[BCPJKDN_
Mjgqggb.
Mjgqggz@Gj;
MJHA]NSH[JB
MJHEG]C_Z
M@J]H]@FG
m@Jhggfwy"
M@JHGZ]M
_MJ[HKJCH
MJHKKCAA]Z
mjhNLG]))
MJ_HNSKLXM
MJHYPEJBG_
m)))JHZL
MJI@Lyxoy?
MJIOOHKMI
MJIUJ@OAJ@@
MJJIJIyxj
m||]j||@j||.j||
mjjjjbjj
MJ]]JLDEG
[m[j[j[m[m[i[j[o[k[n[c[j[h[j[m[c[b[b[o[l[m[
MJJSYSQOCPLD
MJJSZCJD
@MJKHZ@J
MJKJHJZN
MJKMZSXZ
MJKO]]SXK
MjLcLXLQL
@M_]JLGOXJLM
M@[J[LH]L
m)))J[LH]LFKCLJ]
MJLHLOB_X
]M]JLJ_[KKAL]QC
MJLLIUA@
MJLNNEGF@
MJLQJ[@YMAYXXK[C
MJL]S]BA
MJLUJH@KULH
MJLXEDQL@QNEP
MJ@LXNBZ
MJL[YJ][HGZYF[]OHJ]F[P
MJMBNBEO[AXLJ
MJMBZB]MDSKX
M[J_MCD_NP]D
]MJM]@C@GGDCC
MJ]_MEO]XY_P
]MJMGN_L
MJMHDECYACA
MJMHJEPNCAQA
mjmijhli
MJMIMNL@KI
MJ]MLJFML
MJMMEXJ@NGKL
MJMMMLKY
]MJMQC]_
MJMQC[BKFBJ[Y@
MJMQP@DSHXHNGQDQQA
@MJMX]GKXSXAJLOB]AZ@
MJNAAC[XMCK
MJNBAEYA
MJNBDAG]LE
m||jn||Gn||
mJNgUkgfG
MJNHDONZDCODH
MJNLGG@YLXO
MJNXLCM[Z
MJ[OAY]M[KA
M@J]O@ELDGLDFG@JZ
MJON[]JCGEDG
MJOQC]ANH[EQ]C
MJOUL@@AU@
MJPCYPMQMN
[[]MJPEJ[[
MJP_HHHML
M_JPH_KL
_MJPJBXG_NL
MJPLCCAJOHH
MJPPHHBHLH
@MJPX_P[DMOOP
m)))J[PY]FNEFKHE@G_LZ]DLG]
MJQBKZNKM
M[JQEPBXZJG_ZHZXKXCKJ
MJ]QHSXHODQJB
M]J_QJJD]SBM[CHNGCG
MJQKPGALPXJNPEB
MJQPL_HXY
MJQQNZN@
M_JQXCXQ
MJ@SB[FBJ[DS
M_JSBJBHNE
MjSgIagfGa
mJ SllllllllmllllOllylm
MJSNQKDCH_
M_]JSPZO
]]MJS[ZB[A
MJSZXJAPC
mJTffG")
MJvAHGMEL
MJXBQE_O
MJXHLCLA_B
M_[JXMQ[
M_JXZL[CG[
MJXZ[YAX@
_MJYG]NAX
MJYJMCDZDQQSSH
_MJY_LOJANHJQL]
MJYNAQGX
MJYX_GOQJJ]SJ
]MJYX@]QBX
MJZABD_@P@BN]
M[JZ_EJEQ]GAOBQHDQ_OOX
MJZJAA_EM_
MJZJGS]SD]XDP@HM
MJZJPZ]JB]YM]DD]
)))M@J]ZL[_@JLZ
MJZNL]JFFB@L
MJZPCZYMPCCAB][EONBF
MJ[Z[XCXL
MJZXGH]N
M]JZZKZ[H]C_Q
m||||||(k||
MK)0pgppepq.q
Mk9][!mggfw
MKAHKQZD
MKAOCMMZNX]
M]KASLSBNKMQ]
M]K@BBQB
MK@B_CKMQ
mKBd[[[[
MKBKZPJMH
_MKBYLN]
MKBZE]LJGFJMM
MKBZHLCFPP
MKCBDCAMMS
MKCGZP]QNL
MKCLSGAD
M]KC]L_[XA
mKd6"pgppepq
mKdE[[[o[[[b[[[J
mKdG[[[J[[[I[[[4
mKdK[[[h[[[
mkdlimne
mkdoeoidm
mKdO[[[E[[[z[[[
mkdohhio
MKD_QSZYS
mKdS[[[T[[[J[[[
mKdT[[[_[[[
mKdU[[[L[[[
mKdx[[[M[[[C[[[
MKDZKBMQL
mkELVjijkjckkkkkk
mkFllllllllmllllOllylm
MKg[agfG
mkgfGUvy]gqgg
MKGHZECH[BXS
@MKGK_KNOY
MKGKXKCKHKG
mKgqbgfG
MKGSMJZA
MKHAZGMDX
M]KHDHQPMGEYH]GG
MKHDZ_PDPYM
m|kHl|o?r
MK]]HLSH
|mkHOO@E@H]@FG
MKHO@Q__A_YEE_CH
MKHSKZBSX
MKIrxYyY]HL
MKIwIdII
m@_k]J))
]MK]]JAC]JX]
'MKJAKOL;xyx
[MKJ_DSQK]GL
mkjjjbjj
MKJN[@]P
MKJyyyy8
@MKJ]ZGJOK
M[KKAAGZ
MKK]BC[F
MkLaLEL#L
MKLHGSOO
M@KLJLS_
M[[KL[['L[[
mkllllllllmllllOllylm
mKllllllllmllllOllylm
MKLLS]P_
MKLM]SEKXD
MkLnL?L2L
MKLS_]PJM
#)))_MKLvZMB
MKLXLQZGQSFKFCKXX[
[MKMAJQCK][
M[KMHCHS
MKMHOLMJMIO
MKMJHJLA]
mkmnimiyVQ
MK_M[XMYQ_LGX
MK]MYMLLCP
]MKNJFEF[
MKNKE@GBG
MKNLMCYDLQ
MK]NPOKC_HLNFQOM
M]K[OECK
mkOg7dgfGy
[m[k[o[j[c[
mkojPkR]X
MK[OK@B]ZOB
MKOPPMGF
MKOPSXLXLZ
MKOQ]ZMCBOOMAS
MKO_XQY_A@QKS
MKPCBPC]AD]F
mkpgppepq
Mkpgppepq
mkplboxsfx
MKPMXNAY
MKPNYA]]D]OA
M)))KPYHZZ@LQ
MKQBJQKSC
MK@Q][BODXMOPX[KMEX[G[SP
MKQ]GLKOMQDK
MKQHBCK]
MKQKXXZM
]M]KQMAKYLS_SSEP
**"MKQM[KFQ
[MKQ_SDJKH
mkrefany
M? .:KRH2O
M[KSAXAKSH[Z
MKS@GDKDQ
MKSLSO_SYL
MKSOXJMGJM[D
]]M[@[K[S]S[
MKSSEQXD[Z_A
mkTdA[[[
[[[mkTdM[[[
mkTdM[[[
mkTdO[[[
mkTdP[[[s[[[
[[[mkTdS[[[
mkTdz[[[
mkTdZ[[[?[[[
MKuJFGO@N
mK[[[v[[[
MKvL_FHYB
MKvO@ELZ
]@@MKXBA
MK]XHJSXHMGJ
M@Kxxx#yxzxzx
MKYAK[QY
MKYJ_CYXMSL
[MK[YKGNX[Y[
)))MKYKS
M]KYNZK[
Mkyyyyyyyyyy
Mkyyyyyyyyyy5kyyyiyyyyyyyyyyyyyyyyyyyyyyEkyyyyyy
MKyyyyyyyyYyyy
MKYZ[AGMYN
MKZHCPASNMBCA
@MKZHJGL[GYBXQN
MKZHJXYYBSHZ]
MKZJHNLB
mkz|kHp|u.y
_MKZOSZB
[MKZPZ]LD
@MkZRSSB_I
[[[m[[[l[[[
ML|||||||||||||||||||||||
M[[[L2teA[[[
 	ML3N F
mL[[[9[[[1[[[l
m@_l]A))
MLAAAAAA@AAAAAC
m@@@@@l@@A@ACac
MLAGLNAJ
MLA[GO_KS[
MLAHOHDAKGHAGLD
MLAN[XCBNC
MLA[SDCOZ
MLAXL[NNO
]MLAXXFM
MLBANJPA
MLBdV[[[
MLBJG[QQBOGXQ
M]LBP_JEYDE]JEJJ
MLBSGLJNHB
M_]]LBS_NONL
MLBSQJ_CA
[ML@_BSYZ_
MLBZM[G[SX[NLPBGQP[YF
MLCCH]A@D
M[LCC[MJQ[AHS]B[KGEKPY_KO
M_LCKFQYGFO
MLC]MDDASZ
Ml[CvggfG
MLCYJMOG[Y
M@LCZKMSK
MLCZN@ZSMYN
MLDAPXOQSBLB
]MLDDN@MG_
mLDFgF]mLDFMLRrJDMEL]K@GM@GN
MLDFHYYEL]
MLDFJH]Z
)))M@[[LDF_L
m)))LDH@E
M)))LDH@E@Z@GJF[[LJ]
MLDHGMvEL]]L[
')))M[@_LDHYHMM
')))M[@_LDHYMLE
')))M[@_LDHYNL]
M]LDJ_J]J]_Q
m)))]LDYO@EL
mLdY[[[q[[[
M[LDZCBO_
m@[]LE]@
')))ML_E]@
MLEA@]HQ@ZL[_@JL
M[L@[ECYJ
MLE@DL]L[
)))MLE]H
mLE]HaFDLZ
mLE]HaFDLZeGB))
MLEHAHPLZ
m)))[LEH]@FGZA@YZ
mLEHPLMlQYHGZ@FG*)
?)))MLEJ
mLE@JH]LmLLY
mLEL]L))
M[@_LEL]]L[
MLEL]L))
MLEL]LFG[LKFF]
MLEL]L@GZ]HGJL
MLEL]LHJ]@_LZALL]
MLEL]LHO]L[@GZ]HEEMFG]JFYP
MLEL]L[LZ]F[PYF@G]I[IG
 )))MLEL]LM
MLEL]LM@[
MLEL]LM@[FB
mLEL]LmLOLGML[z_J))
mLEL]Lo@EL))
MLEL]LO@EL
MLEL]LO@ELFB
MLEL]LOFEML[
mLE][LLp
MLEL]LvO@EL
MLEL]LvOFEML[
mLEL]LvyAY
MLELNH]@FGZ
MLELNH]L
MLELNH]L]H[NL]
MLELNH]LMHJJLZZ
MLELNH]L]PYL
MLE@_L[P
MLEO@ELZ))
MLEQBHD[
MLEQEFFNM_[
M@LESMGZ
")))MLEv]HZB
MLEYEHJL[PF][FZMLDFG@FZ
mLEyF[]y[FQP))
mLEyHGMH))
M@_LEY@M
M@LEZQ_NOXYQ
.)))_@MLF
MLFAJMJP
_@MLFDLL]
_@MLFEHG
_@MLFEH[_LB@
@MLFe@Z]hJ]@_@]P
ML][F@]F
((ML_]FFEZ
ML_]FFEZ
ML_[FGNFEO
_@MLF][HGZJFML[
_MLFHKSAL_
_@MLFML_@E
]MLFNBADHHPZK
_@MLFYEHPL[
_@MLFYEHSH
_@MLFYFBL[
MLFYF[GF
_@MLFYFZ]LMKP
MLFYMOZKOH
_@MLFZFO]FGE@GL
ML*g7bgfG
MLGABZOQEYJC[
Mlg'agfG*y
MLGAOJY]EPEP
MLG@CL_A]_@BJ_XK
ML_GGSJGOQO]MXO
)))M[@_LGHDL
:)))M[@_L[GHDL
M[@_LGHDL
MLG]HEZYLLM
@MLG]@JFG@SL[
MLGLGLZ]LD
@MLG]@]@LZ
M[@_L@GOF
M[@_L[@GOF
@MLG]@O@L[
@MLG@]OP
@MLG]@]P
@MLG]@]PDFMLE
MLGPL_L[PFGL
mLGPO[DHYYEL
mLGPO[DjELHGDQ
mLGPO[DNFFNEL
mLGPO[DOOFQ
mLGPO[DYHPYHE
#)))MLGPO[FD
:)))MLGPO[FDHYYEL
mLGPO[FD][LGMD@J[F
)))MLGPO[FD[LJEHZZ@OP
mLGPO[FDYA@ZA]HGB
#mlgqggI
mLgqggKSl
m"lgqggy
][@MLG]u
'mLgWfgfG
MLGXJN@__PO[QB
MLGXNDD@L
M[LHDA@DHEHPHG
M[LHDAFZ]L[Z
M[LHDGF_F
@MLHDGJ_
M[LHDHBL[Z
M[LHDZJF[GL[
M[LHDZ]LY
m)))L_HE
ML[H@E@GNLG]HGNE@GN
MLHEYEPL
mLHEyEPv@LvJFG]LG]))
mLHEyEPv_L[Z@FGvJFG]LG]))
ML]H@EZJFDYEL]LM
ML]H@EZv
ML[HGMFD
MLHGSHM@Z][@J]
ML]HJAL_LG]
M[LHJPXHPXP@
MLHKKCMJ
M|LhLbLYLALFL
M_LHLX]JO
MLHM@GCLJ]
m)))[LHMHKEL
MLHMKJML
ML[H@OA]AJM
MLHQ][CLXGC[S
ML[HXZQ]
@MLHZJALDH
M@[LJ]))
MLJAB@HG@YQ
)))MLJAH[Z
]MLJBEGQNO]
MLJ@DHEvZLYH[H]F[
MLJ@DHEZ
*.#MLJE@GLYL[D@ZZ@FGv
MLJEH[H]@FG
MLJEH[LiKZPZGHDL
MLJFDHGNH
MLJFDY@E@GN@Z]FFKHM
mLJFDY[LZZ))
MLJFDY[LZZ
MLJFDY[LZZi
MLJFDY[LZZLMKP]LH[[HP
M@[LJ]F[@F
M@[LJ]@FG
MLJFGJLY]
MLJF[H]@FG
mLJFM@GN
mLJFML))
!)))MLJFML
MLJFML))
MLJFML@]
)))MLJFMLALQJ
MLJFMLALQJ
MLJFMLCFKvMLZJ[@Y]@FG
mLJFMLjAH[Z
MLJFMLJPJELLGJFML
	)))MLJFMLKHZL
)))MLJFMLKHZL
MLJFMLKHZL
MLJFMLLQLJ
 )))MLJFMLM
MLJFMLMJG]G]
MLJFMLMKP]LJG]G]
MLJFMLM]LQ]
MLJFMLMvJAH[Z
MLJFMLMvZ][@GN
MLJFMLO@EL
MLJFMLQDEGZ
MLJFMLUYP]AFG
MLJFMLUYP]AFGO@O@
MLJFMLYH[DZ
mLJFMLyP]AFGsE@KJFG]LG]))
)))M@[LJ]F[P
M@[LJ]F[P
M@[LJ]F[PGF]LDY]PF[HJJLZZMLG@ML
M@[LJ]F[PGF]LQ@Z]Z
M@[LJ]F[PLG][P
M@[LJ]F[P[LYE@JH]@FGJE@LG]t
M@[LJ]F[Pt
M@[LJ]F[PvZL[_@JL
M@[LJ]F[PZLH[JAL[
m@[LJ]F[PzL[_@JLZ
m@[LJ]F[PzL[_@JLZ))
M@[LJ]F[PZL[_@JLZ
mLJHPJHEJo[LL
MLJHPJHEJO[LL
MLJJFZ]SY]L
mLJkP]LZ))
mLJkP]Sz][LHD))
M@[LJ]@_L
@M]L[JL[F
ML]JL]F[Y
ML_@JLFZ]PYL
ML_@JLGHDL
ML_@JL@GOF
ML_@JLHKr
mL_@JLjFG][FEhJ]@_@]P
)))ML_@JLJFGO@NDHGHNL[
mL_@JLjGN))
ML_@JL@M
ML_@JL[NK
M|LjLWLAL9L
m@[LJ]m@J]HYAFGL
M@[LJ]M@J]HYAFGL
MLJ@MLMEP
MLJ@OJHG
 )))MLJ[PY]
)))MLJ[PY]
?)))MLJ[PY]
[)))MLJ[PY]
MLJ[PY]AHZAh))
MLJ[PY]AHZAk))
MLJ[PY]ALEYi
MLJ[PY]ALEYiDH@E
)))MLJ[PY]F[
:)))MLJ[PY]F[AFDLYHNL
MLJ[PY]@FG
MLJ[PY]F[H_L@MO
mLJ[PY]@GN
MLJ[PY]JDM
MLJ[PY]JGiY[F]FGDH@E
MLJ[PY]LM
)))MLJ[PY]LMJFDDHGM
MLJ[PY]LMJFDDHGM
MLJ[PY]]LQ]
')))MLJ[PY]O@ELZ
mLJ[PY]qF[))
')))MLJ[PY]vMH]H
)))MLJ[PY]Y[FN[HD
M@[LJ]QDYY
MLJv[LZYFGZLvKFMP
MLJvO@EL
MLJYHPEFHM
ML_KBYSPPOM]_HA_MMZ
MLKDOQJK_CNLDKL
MLKF[HAAHPLZ
MLKFPODL[[_[ZYJDLY_ASKQ
)))MLK@HG
mLK@HGb@]hJ]@_@]P
MLK@HGM[F@M
mLKH]@GNhJ]@_@]P
MLK@HGvB@]
ML_KH[JLEF]K@ZZ
MLKH]LBLLYL[
])))MLKH]LZ]HNL
MLKH]LZ]HNL
@@MLKJIV
MLKKF[]]
MLKKxx]Y]](EX
MLKM[F@M
_MLK]N]CKZA
M_LKSQSB_O
mLKZCNAOa
ML_LEFYDLG]
mL_LEFYFG]AL[
ML_LEFYL[
ML_LEFYL[O[FDCFBLEH
ML_LEFYL[ZiQY[LZZLGN@GL
ML_LEFYO[LLMFD
MLLFM]COKN
]@MLLFNSXGSGY
ML]LGMHZ
MLLH_CGLO
mL]LJ]))
ML_]LJAGFZPZ
ML]LJ]CH_HOF[DZ@L
ML]LJ]@FG
#)))ML]LJ]LM
ML]LJ]LM@G]LE
ML]LJ]LM[PSLG
ML]LJ]MFDH@GZ
ML]LJ]OEHZAOF[DZ@L
ML]LJ]YMOOF[DZ@L
ML]LJ]ZHGMKFQ@L
MLLKYQ]D]X
mllllllllmlllLMO8) V8
"m"llllllllmllllOllylm
?mllllllllmllllOllylm
@mllllllllmllllOllylm
[mllllllllmllllOllylm
m"llllllllmllllOllylm
m[:llllllllmllllOllylm
m|llllllllmllllOllylm
mllllllllmllllOllylm
mllllllllmllllOllylm	
mllllllllmllllOllylm(
 MllllllllmllllOllylm
(MllllllllmllllOllylm
@MllllllllmllllOllylm
M'llllllllmllllOllylm
M*llllllllmllllOllylm
M?llllllllmllllOllylm
M]llllllllmllllOllylm!
MllllllllmllllOllylm
MllllllllmllllOllylm	
MllllllllmllllOllylm"
MllllllllmllllOllylm'
MllllllllmllllOllylm_
mllllllllmllllOllylm0'
MllllllllmllllOllylm0
mllllllllmllllOllylm3
mllllllllmllllOllylm6
@MllllllllmllllOllylm8
MllllllllmllllOllylm82
MllllllllmllllOllylm9
mllllllllmllllOllylm9P
MllllllllmllllOllylma
MllllllllmllllOllylmc
m[llllllllmllllOllylmcuP
MllllllllmllllOllylmD
mllllllllmllllOllylmd"i)
MllllllllmllllOllylmE
mllllllllmllllOllylmfc
mllllllllmllllOllylmG
mllllllllmllllOllylmInk
mllllllllmllllOllylmj
_mllllllllmllllOllylmJ-*
mllllllllmllllOllylmjzNylSf
mllllllllmllllOllylmL
mllllllllmllllOllylmm
mllllllllmllllOllylmMW
M;llllllllmllllOllylmo(
mllllllllmllllOllylmP
m	|llllllllmllllOllylmq
)mllllllllmllllOllylmr
mllllllllmllllOllylmr
MllllllllmllllOllylmR
mllllllllmllllOllylmRY
MllllllllmllllOllylmS
MllllllllmllllOllylm(s(g
MllllllllmllllOllylmT
mllllllllmllllOllylmTu
mllllllllmllllOllylmv
MllllllllmllllOllylmv'
MllllllllmllllOllylmz
MllllllllmllllOllylmz0
#*mllllllllmlll]Y]]
-mllllllllmlll]Y]]
mllllllllmlll]Y]]
!Mllllllllmlll]Y]]
:Mllllllllmlll]Y]]
]Mllllllllmlll]Y]]
Mllllllllmlll]Y]]
MllllllllmlllzMO8) V:
Mllllllllolll]Y]]
MLL[LM]]M_M
MLL[NM_BD
M[LLP[[FJ_]_YPCSO]OKOHE
M[@_LLQ@Z]Z
")))MLLYE@GB
MLLYE@GB
mLLYE@GBv]HN
MLLYJFDYHGP
MLLYJFYP
MLLYMH@BFG
@MLLZMLJF
[MLMCYBAJXY
mLMFmjuYQ
mLMHFC@HG
MLMMJXCGLYNZZJ
ML_M@[M[@_L
MlM_MUM@M8M"M
MLM@MyxZ
ML_MNBZHZAG
_ML_MOKXO_HOY
)))ML[MP
MLMPDCHDA
MLNEKH@EAOBD]
MLNEZG[D
MLNGHYZZSHLG_GBP
M)))[LNHMM
MLN_LLJM
M[@_LNL]M[@_L
M_LNLNAA
" MlN?Ml
MLNMZOLCC
[MLNXGHH
MLN]X[Y_NLG_ZE[AXPO
m)))[LNZ_[
)))MLODFM@OPJA[FDLY[LOZ
MLODHBLvE@Z]LG@GNvZL[_L[
)))MLODHBLvZ@DYELvHMMvKFMP
MLOEH]LMZ][LHD
mLOEH]LZ][LHD))
MLOEH]LZ][LHD
mLOEH]Lz][LHDkHZL
M[@_LOEHZ
M[@_LO@EL
:)))MLOFGvY[LZZ
m||Lo||fh||5h||
MLO@G@]@FG
)))MLO@G@]@HE@SL
MLO@GLDL]AFM
MLO@GLE@]L[HE
MLO@GLJEHZZ
MLO@GLJ[PY]FvLQ]
MLO@GLMGHDL
MLO@GLMGHDLGHDL
MLO@GLMGHDLZ
MLO@GLMPGHD@JHZZLDK
)))MLO@GLMPGHD@JHZZLDKEP
MLO@GLMPGHD@JHZZLDKEP
:)))MLO@GLO@E]vEFN@G
MLO@GL]PYL
MLO@GLvvDHE@v
MLO@GLY[FYL[]@LZ
MLO@GLY[FYL[]P
)))MLO@GLY@G_FBLDL]AFM
MLO@GL@YZ
MLO@GLZL[_@JL
mLOh[[HP))
MLOHXGHNDKGQY
*))MLOJAvKZ
MLOJEHZZ
MLOJEHZZCH_H
)))MLO_@JLBvZL[
M|LoLgLVLNL1L)L
!)))MLOLGM
MLOLGML[
MLOLGML[]FFEZ
MLOLGML[U[LDF_L
MLOLGML[vYHJBHNL
MLOLJ]ZEFN[
MLOL[[LM
)))MLOLQYEF@]
m)))[LO[LZA
MLOMB]LBNPM[L[B[
)))MLONL]vJ[LMZ
)))MLOOF[]@vJE@LG]
ML[[OOMML
M[@_L[O@Q
:)))MLOvH]]HJB
:)))MLOv_L[@OP
)))MLOvv@G@]vv
;)))MLOvv@G@]vv
MLOvv@G@]vv
MLOvZAH[L
)))MLOYHJB
)))MLOYL[OF[DvH]]HJB
)))MLOZH_LvJ[LMLG]@HEZ
)))MLOZLGMLDH@E
MLOZLH[JA
?)))MLO@ZvML_@JLvHE@_L
mlp7Rl?Y
MLPBEZJK
MLPDMYNNAQ
M_L_PGC[AYC_J
m@@@@@@@@Lp@Hp
_MLPHYC_AMYMN[K
m@@@@@@@@Lp@m
M@@@@@@@@Lp@m
MLP@M_YFH_
M@LPPC_JCJDS@XE]OAY
MLPPMFPZXKK
M[@_L]PYL
MLPZ]Y[AO_ZJ
MLQF]DCXP
@MLQGZZXD_FLXGM
M]@]]LQOLHY
ML[QSD@ACK
MLQY[F]LJ]
MLSCLA]SQ_Z[Y
MLS]DNZ[PACM]]XFP
_MLSJNHGBSJBDQ
ML]SPN]]ZX__
ML_SPO]SC[]CQHQ
MLSPSQJOY[Z_BJMB
@M_LSQ[JOAKHL
mlSSSSSSSS
mlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
ML[SZALEE
MLSZMXGDA_Q]
!)))M[@_Lu
M[@_Lv[FF]
MLv@GCLJ]
M|LwLnLYLPLKLyIyyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyey4#
mlX8xENXxx
MLX_BDMZNBHQB[AD_SQ
MLXOHLDQLM
MLY]AJAHG
MLYCBGMO
MLYEFPCH_H
MLYEFPDLG]
MLYEFPL[
m)))[LYEH]
M[@_L[YH]AFOOZL]
)))MLYLGMZFG
MLY[LZZ@FG
[MLYOKQXP
@MLYOXC]MPHY
MLYPXJ_MY
MLZAX_QMB[ZCM[[
#)))MLZB]FY
MLZB]FY@G@
MLZB]FYO@ELE@Z]
)))MLZB]FYuA@DL[HEFHML[uA@DL[HEFHML[
MLZB]FYZJ[LLGZAF]
MLZB]FYZZFLGHKELM
MLZBPZNDDK_QG
 )))MLZ][FP
MLZ]@GH]@FG
MLZ]@GH]@FGO@EL
MLZ]@GH]@FGOEL
MLZ]@GH]@FGYH]A
MLZ]@GwH]@wFG
MLZHZ__OXYQHOP
MLZJAL@NA]
MLZJDH@G
MLZJGHDL
MLZJHMHZ][HDLG]F
MLZJLGM@GN
MLZJLGM@GNOF[LHJA
MLZJLKXS
_MLZJLPN]JHMJ
	)))MLZJ[@Y]@FG
)))MLZJ[@Y]@FG
MLZJ[@Y]@FG
MLZJ[@Y]F[ZYLJ
M@_L[ZLEP
M@_L[ZLEPM
M)))LZLGFNEF_LZZYF[]Z
MLZL[@HE@SLFKCLJ]
mLZL[@HE@SLv
MLZL[@HE@SLv
)))][MLZ@NG
MLZ@NG]L
MLZ@NGZLJ]@FG
M[@_LZ@O
MLZ]OFEML[
M[@_LZ@OM[@_L
MLZOZCNN]
m[@_LZPZ
)))M[@_L[ZuL]JuAFZ]Z
MLZvMLJ[PY]
MLZ]YF[]
;)))M[@_LZYHJL]F]HE
M[@_LZYHJL]F]HE
)))M[LZZJFEELJ]@FG
MLZ[ZPS[BP
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||@m||)m||
mm||||||
Mm2gGbgfG
 	MM3N F
MM3vogfG00
mm||||||4
M]MABNL_D
M[M_AL]J
MMAOKCZ[@_DO
__mmap_ex() failed
mmap_patch(): buffer is empty
mmap_patch_buff() failed
mmap_patch_rva
mmap_patch_va
mmap_rva
mmap_rva_nofastfail
mmap_size
mmap_string() failed
mmap_string_rva
mmap_string_va
mmap_va_nofastfail
_MMAQD@E@NABB
MMAQHMHOG_
_M[[MAQX
MMASMNGX[AZ@ZYJ
MMASNBYY
MM_AXNN[S_D
MMAYZFGBPM
MMBBC]DOMYMD
MMBBENZ@HP_]X
MMBGHD[JQ
mMbhggfw
MMBJJXJDO
MMBKQXPQHKQPFJSY
[M[MB[QMLX
MmBuildMdlForNonPagedPool
MMBYD]AZA
@@M@MCac
MMCAG[SP
M"MCm3lIhq
M"MCm3rxeyqp0
M[@MCMQFXQSBYD
MMCQJLZ]LS
]MM]]CXMPBM
mMdA[[[8[[[?[[[
MMDHXZ@P
MMdO[[[7[[[
mMdR[[[t[[[
MMEEEEKG
MM_EGM[P
MMFDOLD]
m)))MFLZHYF[]ZJHGFO
m@_mFNL))
MM_F@YZLZ
MMFZA]]YJAHGLE@OE@GL
MMFZH]]HJB
)))MMFZYL[E@[JKF]_
MMGAJFLAC
MMGBCNC[_J
[MMGBGLB
MmGetPhysicalAddress
MmGetSystemAddressForMdlSafe
MmGetSystemRoutineAddress
(*mmgfGV
M)mggfwew
M)mggfwI1
MMGG_FYM
M]MGGNMYMY[LJD]_NHZ
M__MGJ_FC
MMGLPYOSL
MMGMZNMA
MMGNMMZEAD
MMGNPSYNN
MMGQ_EYD
MMgqggd-
MMG[QMPZ]ADZC]CXQABPJNM
MMgWfgfG5
MM@GY[AS
')))MMGZB@GN
MMGZB@GN
MMGZNLLB
MM_HAJZYGSPS_
m)))MHAP
MMHBLMXDX
MMHC_NQZQEEAC
MMHDEAQHZL
MMH[POOQMSJJ
MM_@HSOP
M@MHyxfy;
MmIsAddressValid
MMJFSOS[
MM[JGA]QLH[HQ[D[]JOHG
MMJLHiQ_K
MMJSEGSQ]KPALC@DPFLOZ_ZJ
MMJuBBIFMU]uBBIFMU]
MMJ[Y]LM
MMJYOOE]J
m mk2ws(
MMK_DNDZE[
MMKKKMKO
MMKNSQ]]
M[mKo	EU|
MMKXXNMK]SS
")))MMKY
MMKYAQSJXA
MMKYO@KK
MMKYXFMH
MMKZONJX]
|M|M|L|||
|M|M|L|||||
MmLaLeL]LEL-L
MmLaLQL5L!L
MMLCQHHBQP@_Y
M_MLD[NBGDM
M]MLEHP]@DL
M@[MLEL]LM
MmLeLQL)L!L
)))MML]FY@J
MML]FY@J
MML@G@]@H]L
[MM_]LGK
MMLGL?L6L
_MMLGMLZHOGHS@O@JL[LM
)))MML@]LDGHDL
MML@]LDGHDL
@M@MLLD[O_CBN
MML@]LDZ
mmlllDMO8) V8
mmlllFMO8
MMllllllllmllllOllylm
mmlllpMO8
mmlllsMO8
mmlll]Y]]
M_]MLMBCQLBBC
m)))MLOEH]LZ][LHD
_MMLO@XGP
MmL[[[W[[[K[[[:
MmLXLTLLLDL0L"L
MMLYHPEFHM
)))MMLZL[_@JL
MMLZL[_@JL
MmMapIoSpace
MmMapLockedPagesSpecifyCache
M[MMBH_BK
)))MMMCJQLBJLP
M[M@[M]D
M[_M_MEDC
MMMHEYHH
MMMHuMKG
M[MMLAMYPC
MMMM 0MMMMMMMMMMMMMMMMMMMMMMM 
MMMMe??FLMMMd??VLMMMe??
MMMMe??vOMMMa9
MMMMMMMKY
MMMMMMMM
MMMMMMMM@
MMMMMMMMJ
m	m	m	m	m	m	m	m	m	m	m	m	m	m	m	
MMM]MPPN
MMMNPQMPEN_S
MMM_SZKE_SK
MMMZ BMM??
MMMZwQMM
M||mN||4N||
m||mn||An||
MM[NBBJJZPNN][QD
MMNCYKAGMQG
M_MNG@XC
MMNKAGZKXPXOOGDXGZ
m||mn||Ln||3n||
MMnOXhfF	1
M[MNPJHE
MMNPKZOOJPC
m||mn||Wn||
MMOJ[HQZXOZFH]JZAYJ
MMOKEBE]DJL[GH
M@M@O@MNM
MMOPSCJ[
M]]MOS_ZKQM[OLQAB
_MMOYBY_JB
M]MOZKNFZS
MMPAMADACJLM
MM_PCN_A
mMpgppepq
MMPL@@B]_QN]PY
MMPLLCBBD_
MMPNGFP]
MMPN[SAEL
MMPNYJNYJ
MMP_OHK@H[YQY
MmProbeAndLockPages
MM_PXLGL_
mmPxmqxyry|*5
MMP@@ZOMXD
M]MQA]DE
MMQF[DFH
MMQJHNCSXLOS
MMQLGOHCCDDZNYBZ]
MMQNAHDYHH@C
mM[[[R[[[
Mmr877ungfG	
MmrUXDSnkz
MM[SAKEY
MMSBN_KKQYOZK
MMSG_ONZ_FQ
MMSLMSGNYQ
MmSSSS3 
mmSSSSSS
MmSSSSSSSS
MMSXXJ_MH
MmSystemRangeStart
MMSZ[HLA
MMSZX[]M_
MmUnlockPages
MmUnmapIoSpace
]MMXBYPXCJOJESLA
MM[XGYN]L
MMXYJ_P@AK
MMXYQCZF
MM_[XZQM
MMYBOALCDM
MMYDXSN[
[M[MY_ECJ@ADGEB]
MMYF]A__
MMYLCLAGS
_MM*YOMMMOMOMMMMMMMOMMMMMOMOMMMMMOMMM
Mmyykjml
MMZBEZJPH
MM@ZBM@[LJ]F[P]LDYEH]L
]MMZ]HGB
MMZLCYO@XLPSZB@L@Z
MMZLHBCQF
MM@ZL[_@JL
MMZLZMQONA
MMZNGEQNNMJ
MMZOSO_E
MMZQAZCYA
MMZS[EDSB
[[[m[[[N
Mn1glggfw
 	MN3N F
m|||n||4n|| n||
m||]n||7n||
MN*@A3WyxYx
mNAAAAAA@AAAAAC
MNAAN]AX
]MNAE_QN
MNA[JDSPDP
M.NAKJ5yx
MN]ALGME@
MN]AOMM[HN
MNA@[OZ_YY[YANZKBF
MNAPDMH]@
MN_AQOCNQ
_MNASDGMM
[MNBCDJZ
MNBHNBLSD
MNBLZNY@GO
MNBMMZMN
MN[B[[NG
MNBQEMDPXBE_EDHGC
MNCBEACBEACBEON
MNCEYYYXKF
MNCFKQDK
MNC@NJL@JBSYG
MNCOKPXDGGCH]F[PJCCB]YQ[N
[MNCQ@YLAGOABCS
MNCZBBYMF
-mNd@[[[
MND||||||||##
MND[FAZ_
MNDFXNYJS
MNDGSKJYYY_JXLC
MNDJOSQJKA
MNdK[[[2[[[
MNDN_O_DCLY]YS_BAJS
MNDQJCYAA
MNDQKAZZ
MNd[[[[r[[[
m-NdS[[[
mNdW[[[L[[[C[[[5
_MN@EDL_]
M@N@EHGM
MNEKG]CNJ
MNE_LA_[
MN]ELJYAJN
MNEMH[AS
mnenedkoh
MN[EPL_QG
MNfAAAA@AAAAACN_5
m*))NF]F
MNFPMAMBGO
MNGCKQ_]PDOYED
MNG[DADPFXA]
MngGegfG
_M_N_GMEJ@
Mngqgg9Q
MNgqggjOky
MNGS_DX@YYODEM
mNgUAgfG)
MNGZFZPH
)))M@N@]HE
M@N@]HEJ@][HB[LH]@O
M@N@]HEJH[MZKPJA@_HD@
MNH@HADHZL
MNHHPHQP
MNHJLSLSK
M[NH]P[AONH
MNHQQEPZ
_MNHXZPLCA
M_NJDHQGA
_@MNJJ@J
MNJMZYQL
[m[n[j[o[h[v[m[i[h[k[v[o[i[
MNJPDO[XO
MNJQHJABP_
MNK]DYYAA
MNKG@FPKKPHG_
[m[n[k[j[
MNK@LOMNK@LOMyxtyOJLIOJ
@MNK@SB[YNP[
MNKS_]N@
|M|N|L|||||
[@MNLE@GLHYYZ
M)))NL]FKCLJ]
MN_LJCCO
MNllllllllmllllOllylm
MnL_LVL*L
_MNLN_H@_Q
M[NLNNYGMN
M_NLO_Q[SQP
MNLPGLL@[
MNLPHGH_
MNLSNGOZA]L
M)))N[LY
M)))N[LYE@KJ
M[NL@YYCO[X_B
MNLZDQPKD_
mn?Maada]Y]]
[MNMC[HJA
M[N]_MGH]COG
'MNMNLLNJxyxly;x
[MN@@MQ]BBGKPNEYMX
[m[n[m[v[k[l[
_MNMXEQG
M@N]MZCJCNN
m||nn||6n||
MNN_AJXLHYY
MNN][CZDQMH
MN_NDABLHC
M@N@NFHE
m||nn||Fn||
m||nn||Ln||:n||
MNNMMNNN
MNNN_P]E
m||nn||On||(n||
mnN[[[q[[[
|M|N|O|511ONR800|?
M]NO_AKG@
M]N]OLZ[KZZ
MNOMNOMNOZMNOZMNO
@MN_OOBNB]Y
';MN;;@O;xyx
MNPABXCN
MNPB]]CHPD
M@@@@@@@@np@@@@@@@@@@@B@@Ep@@@@@@@@@@@@@@Fp@@@@@@@@@@@@@@XpCD
MNPBJJONQ]
[MNPCYYKCSPM]GE
MN[PEGPOEAXJMMDZQ
MNP]FJH]B@
MNPPCFMNSEL
MN_PPEZCXHY]X
MNQ@CDKMS
MN@]QDAS_][]K
MNQ_DYXP[JGQ]CDO
MNQEQJK]KDE
[MNQHKSD
MNQJL]PYMB
M@NQ[LDKJEG
MNQSBOAO
MNQY_GGJZ]XFQMGB
mNRAllllllllmlll]Y]]
M|||N||rN||dF||WF||CF||bN||UN||BN||0N||
MNSAQC]G__SH
m*NSegfG
MNSE_GQ[SZBB__M_
MNSESA[P
MN][S]GN
MN_S@JZNJ
]MNSMPCHQ@A
m|||n||Sn||"n||
MNS[SNJO
M]NSXGQBP
MnUdR[[[
mN[[[w[[[a[[[
_M!nw.FN
[MN_XBDB
MNXBNM]MA
MNXCKOEK
MN_XLNBYH
MNXMGGKYML
MNX[MONG@
m|||n||xn||tn||
m|||n||xn||tn||hn||
MNXSSX@CQJJ]BNYC]
MNXX[K[_
MNxxx7xxzxzxzxY[4
MNX[ZZOGS
MNYAXYXB[PHSP
MNYBQDZAHXNC]
MNYCJ_X_
MNYEAG_GD_
MNY[EHCHD
MNyxny9x
MNYYN_DY[XL
mnyyyyyyyyyySnyyyiyyyyyyyyyyyyyyyyyyyyyyenyyyyyy
M)Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7;HIyyyy
MNZDNS[BGJHKQ
MNZDXPHBN
M[NZ_EG]OHCQB@N
M@N@ZFJBLG
M#nZGgGeGeGeGeGeGeG_G_G_G_G_G_G_G
mN[[[z[[[g[[[N
MNZKAFKXMXMLH
M@N@]ZLJ]F[
MNZN[HLX
MNZ]OGM]
MNZSGYBSX
MNZSPNESC[
||||||||||||||||||||MO
||||||||||||||||||MO
|||||||||||MO
||||||||||MO
|||||||||MO
||||||||MO
M@o@@A@ADac
MOACEnabledVersion
MOACRevocations
MOACRevocationsMax
MOACREVOCATIONTHROTTLE
MOACValidationFailed
MOAMOGMON
MOA_NH[AC
MOAQBAZ@CYZ[LHP
M_O[A[QYBSAZ
]M_OASQH
M_O@AZHS
_mO[[[b[[[
MO]BAOQC
MOBDPH]YZ
MOBXO_][HMSO
MOBXPXGC
MOBZMOEB
MOCAN_]Y
MOCBGOEKPOP
MOC_CGSQ
MO_CHAGC
MOCL[CBMCBL[CBNMOEH]
")))MOCMOCMO
MO]CPD_X
mOCYg!kgfG
M]OCYZJ@ZACXO
m_[[[o[[[d[[[
MO[DASLLOHQMLFXJG
.moddeps
  Model: 
model_blob is null
Model Builder parameters not set due init not called or failed
.model.file
model handle ptr is null
model is corrupted.
model is invalid or not supported.
.model_list
.model.output_debug_info
.model.process_time_window
.model.raw
.model.skip_time_window
.model.t0_average_mode
.model.t0_features_per_tid
.model.t0_window_counter
.model.t0_window_length
.model.timestamp_delta_ms
.model.time_step_normalization
.model.time_step_normalization_counter
modifications
.modinfo
MOD[]JNYC
MOD@LLXKQL[
mod.load
ModMonEnforceBlockLoadDLLList
ModMonEnforceSecureDLLList
.modname
M]O[DOGYD
MOD[O[]X[AQ_C
MODQPNELHBDJS]S]
M_O[DS]Z
Module32FirstW
Module32NextW
modulefullpath
modulefullpath_scrubbed
modulelist
ModuleMonitor
Module Monitoring
modulename
__ModulePtr
Moduleusage
[MODYJADBK
MOdz[[[z[[[
#)))MO@EIL
m)))O@EL
M)))O@ELZL]H]][@K
MOEN_PG_DAGME
M)))OF[@
m)))OF[DDL]AFM
m)))OF[DHJ]@FG
M)))OF[DZ
moffset_rva
moffset_va
MOFKQ]DCA_
MofPlugin:IsMof
MofPlugin:IsNotMof
MOGCSQFOYDF@
MogkagfG
mOg[kgfG
MOGPLJGX_H]
MOGQ]P_]LXA]_A
MOGS[[[ZSQ
MOHAH@HIO
M[[OHA_YQA]ZYBODE
MoHdI[[[
MOH_FAS@OM[CA
[m[o[h[i[
MO]HMCFECSBOO
MOH[OGLJP_ZG@@P_DLJ
MOHQDKGK
M_OHXEHJX[
#)))MO@IEL
#)))MOI@EL
MO[]JDX_
]MO]JKL_OOBA
MOJLN@CCZNOJ
MOJM__SAP
'M@O:;KAAxyxhy5x
[M@OKBZQHQ
MOKMME_Z_JG]]
MOKPDNZX
MOKSSOGC
MOKXH]HXGPXDC
MOLDPZ_AODQ
(MoleBox)
mOLEbox 9  D
M]O_@LFG
[M_OLJOMOO
molllbMO8	
M)))OLLMKHJBYF[]HE
MOLMGB]CB[BKDG
M]OLMGEM
mOL!mSSSSSSSSSSSS
MOLQS[GO
]M]OLSAOHZ
MOLU@NOJULN
MOL@XH_KPGYEZS
MOLXODFZP_MKCH
MOL]_@YOL
MOMAMHSS[HPN]A
[MO_MBQYHHA_
MOMHACDD
MOMHKJKO
MO__MJXJBQ_
MOMLBNG@NNSXF_XJ
m||Om|| m||
MOMNS[GDGS@]O
MOMNXO_EN_BAKA
MOMOCBKJ_
MOMOMOMOMMMOMMMOMMMkG
MOMONMONMON
MOM[YKKP
MOM_@ZHB
MO_[NAY[
M_ONC[OC
m||on||Gn|| n||
MONHYYGJD
MonitoringTool
MONITOR_LSASSREADMEMORY
MonitorModuleLoad
MONITOR_PROCESINJECTION
MONITOR_PROCESSCREATE
.monitor_processes.
MonitorProcessStart
MonitorSyncRegistry
MonitorSyncRemoteInjection
monkq314_E__O_
monlq314_A__O_
monlq314_B__O_
MONMBONMBCAONBECAMOANMEBCOANEBMAONCZMBEOANBEZAMOBN
]MONMHLQ
MONMONMNO
MONMONMNOMONMONMONMONMN
MONMONMONMON
monmq314_
monmq314_B__F_
monmq314_C__O_
monmq314_E__O_
[][MONMZON[
MONNJGZ[YNCNOBGJHNC_S
monnq314_
monnq314_|__]_
monnq314_B__|_
monnq314_B__O_
monnq314_B__T_
monnq314_D__F_
monnq314_F__O_
monnq314_G__O_
monnq314_@__O_
monnq314_@__T_
monnq314_w__T_
MONOM]XJJJ[B@
MO@]NONXJQA]
monoq314_
monoq314_a__E_
monoq314_B__O_
monoq314_B__T_
monoq314_C__T_
monoq314_F__F_
monoq314_G__O_
monoq314_I__T_
monoq314_J__T_
monoq314_@__O_
	monoq314_Q__O_
monoq314_@__T_
monoq:':_l__T_
MONP_AJX
Month number is out of range 1..12
m||on||Wn||8n||"n||
MONYXOXXJ
M_ONZ]AOK]@L
MOOABSGAD
moobcgfG
MOOCBZ[EMD[C
MOOCDGJ[Q
moofq314_
moofq314_C__O_
moofq314_D__O_
moofq314_G__F_
moofq314_G__O_
moofq314_J__z_
moofq314_m__E_
moofq314_q__T_
moogq314_A__O_
moogq314_B__O_
moogq314_C__O_
M_OOHPLXXX
M_OOLDDEXN]
[m[o[o[o[m[
MOOOOOOO
MOOPCPXXG
MOOPZS[_
MOOYQLSOQZY
MOOYSCHF]EJ
mopbgfG_D
MOPC[MJMY
MOpgppepq
MOPHKS]LKCKL
MOPN]F]ELHZ
MOPR1301
]]MOPX[DP
M_OPYHQO
M]OP]@Y]KKGZCQ
MOPYYZBZM_
MOQCNQOYLQZAZL
MOQMCCCJJ
MOQMXGGMH
MOQPG[HCYOD
MOQSLB[KQ
More than one alternation operator | was encountered inside a conditional expression.
Mor-gfG*i
mORPHINE
(Morphine)
)))MO_]SC_OFGM
MO@S@DSNZ
moSfgfG5
_]MOSFNQA]ONG
M_OSHN[FYZYQP
MOSK@CYC[]GX
MOSYMPDGDACKQD_LJYFFFHOGNF]YNS
moTbgfGn
mOTjhggfw
motwhostip
motwhostip_scrubbed
motwhosturl
motwhosturl_scrubbed
MovcgfGU
MoveFile
MoveFileExNoPipe
MoveFileExW
MoveFileW
MoveWindow
movmskpd
movmskps
movntdqa
movshdup
movsldup
MOXAQ_ZB
MO[XEDG]ZBMS]BA[M
MOXNLH[CNC
@M]__OXNY
MOXPYMLMZ
)))@MOXSJ
[MOY]DJ]SFY@KO[XNSZNHAP
MOYHAACZHYLN]YOL
MOY[H[A@JHED[PQSJMS]S
M[OYHOBD_
MOY]JEGP
MOYJXPMX
_MOY[[KBKCX
MOYKKJEXL[Y
MOYLQXS@D_MPQCONAAJPAMJCP
MOYPGM]G
MOYQJ@MZMO
MOYYCZDDKJXS]HS
MOYYNC]MS[
MOZCZBCNBB
MOZJYY[FSKD
MOZMOZMOZMOZMOZMOZMO
_MOZNN]HCGJ[BYNNDPSG
MOZN]@NSQY
MOZSSBPAPH_LGA
MOZXYHOLX
M][OZYJAB
[][[M]]P
[[[M[[[p[[[a
@@@@mpAB
MPABHJHSPXZYCQ_GKKX
MpAdaptiveSyncHistorySize
MpAdaptiveSyncLatencyThresholdInMs
MpAdlFallbackDelayInDays
MP_AEBPGPMKLSJX
MP]AFAZC_F
MPAF[SEP
MPAHFHHC
MPA]HGJZ
MPAJJ_MO
MPAPAGX@
MpAPILimitReached
MpArchivePasswords
MpAsyncRescan
mp.AtomicCounterAdd failed. Atomic counters unavailable.
mp.AtomicCounterDiv failed. Atomic counters unavailable.
mp.AtomicCounterEraseAll failed. Atomic counters unavailable.
mp.AtomicCounterErase failed. Atomic counters unavailable.
mp.AtomicCounterExpiry failed. Atomic counters unavailable.
mp.AtomicCounterExtend failed. Atomic counters unavailable.
mp.AtomicCounterMul failed. Atomic counters unavailable.
mp.AtomicCounterSet failed. Atomic counters unavailable.
mp.AtomicCounterSub failed. Atomic counters unavailable.
mp.AtomicCounterValueEx failed. Atomic counters unavailable.
mp.AtomicCounterValue failed. Atomic counters unavailable.
mp.AtomicCounterValuesForPrefix failed. Atomic counters unavailable.
MPAttribute enumerator
MpAttributes
MpAutoLowfiType
M@PAYKSY
MPAZFZP[@ND
M||p_||B_||
MPBACHLPSH
MpBase64DecodeLongLines
@@MpBase64Scan
MpBatchSamplesBySHA
MPBBAPY_L[LZ
MPBBS[[KK
MPBCZLOCGLH
MPBDKSHME
MP_BFZC]JAOK
MpBHODisable
MpBHOMaxCached
MpBHOMaxSizeCached
MpBHOMinSizeScanned
MPB[JLNKC
MpBmDirMonitoringFlags
MPB]M_OX
mp.BMSearchFile(): pattern should be at least 4 bytes
mp.BMSearchFile(): search size is 0
@MPBMsSS
MP[BN[DZF
MpBootStrap
M[PBOX]SLLK_ZZ_[QN
MPB_XMMYJQP
MpCallPostEntryPointCode
MpCallPreEntryPointCode
MpCampGradualRelease
MpCampRing
MPCASODY
MpCatchupQuickReattemptLimit
MpCatchupQuickScanDaysDue
MPCAXSMYSO_SNK
M[]PCCXQL]
MPCHSMYL_
MpCleanupServer
mpclientcapabilities
MpCloseDatabaseHandles
MPC[LPGYD
MpCmdLineScan
mpcmdrunspinupticks
MPCMNDQBP
MpCommon.AddBlockingFirewallRule() error: 3rd parameter must be boolean
MpCommon.AddBlockingFirewallRule() error: 4th parameter must be boolean
MpCommon.BmTriggerSig() first can't be empty
MpCommon.BmTriggerSig() Invalid ppid
MpCommon.BmTriggerSig() second can't be empty
MpCommon.BmTriggerSig(): UtilWideCharFromUtf8 failed
MpCommon.EnumThreatHistory(): Failed to get global callback
MpCommon.EnumThreatHistory(): UtilWideCharFromUtf8 failed
MpCommon.JsonSerialize() expects table parameter
MpCommon.ReportFilelessResource() CreateTrackingId() failed
MpCommon.ReportFilelessResource() GetResourceBuffer() failed
MpCommon.ReportFilelessResource() no global callback
MpCommon.ReportFilelessResource() only bitsjob and uefi based schemas supported
MpCommon.TriggerBMDetectionOnProcess() is not implemented
MpContainerAnalyze
MpContainerClose
MpContainerCloseObject
MpContainerCloseObject() was called on an invalid handle
MpContainerClose() was called on an invalid handle
MpContainerCommit
MpContainerDelete
MpContainerFreeObjectInfo
MpContainerFreeObjectInfo() was called on an invalid handle
MpContainerGetNext
MpContainer Handle
MpContainer [Object] Handle
MpContainer ObjectInfo
MpContainerOpen
MpContainerOpenObject
MpContainerRead
MpContainerSetSize
MpContainerWrite
MpContentDetected
MpContentSuspicious
mp.ContextualExpandEnvironmentVariables() from outside sigattr
mp.ContextualExpandEnvironmentVariables(): SessionId not set
mp.ContextualExpandEnvironmentVariables: UtilWideCharFromUtf8 failed
mp.ContextualGetShellKnownFolder(): UtilWideCharFromUtf8 failed
MpCpuThreshold
MpCpuToleranceInterval
MpCpuToleranceLevel
mp.crc32: failed to convert this table to string!
(MpCrypt)
;MPDBt8H
mp.DecodeHtmlEntitiesUtf8(): Failed to decode entiies.
M_PD]EH]
MpDetection
MpDetection.IsSampled() error: 2th parameter must be boolean
MpDetection.IsSampled() error: 3th parameter must be boolean
MpDetection.IsSampled() error: 4th parameter must be boolean
MpDetection.ReportResource() current sig is LowFi. This is incompatible with suspicious or UseActiveThreat params
MpDetection.ReportResource() error: 4th parameter must be boolean
MpDetection.ReportResource() error: last parameter must be boolean if present
MpDeviceIdThrottlingDelayInHours
MP]DGGON
MpDisableAdvancedToasts
MpDisableCaching
MpDisableContainerLayerSkip
MpDisableContainerRegisteredLayerSkip
MpDisableContainerRemoteLayerSkip
MpDisableFileSequentialReadEvent
MpDisableFriendlyMoacV2
MpDisableFriendlyReporting
MpDisableLowfiReporting
MpDisableMapsUrlFallbackOnResponseTimeout
MpDisableMOACSyncInsert
MpDisableNetworkFilter
MpDisableNetworkProtection
MpDisableResourceMonitoring
MpDisableSigUpdateOnWdoStart
MpDisableSxsPassiveMode
MpDisableUnfriendlyCache
MpDisableWdoFromInboxBits
MP]DLEEGNKGYGDD
MpDlpAppEnlightenmentSettings
MpDlpClipboardPasteEventThrottleIntervalInMillisec
MpDlpClipboardSettings
MpDlpDefaultClipboardSettings
MpDlpDetoursDllInjectionWaitIntervalInMillisec
MpDlpEventThrotteIntervalInSec
MpDlpJitEnforcementSettings
MpDlpNetworkEnforcementSettings
MpDlpNWShareGroupsSettings
MpDlpPrintEnforcementFlags
MpDlpRemovableMediaGroupsSettings
MpDlpShowDialogs
MpDlpShowIconOverlay
MpDlpSpoolerEnlightenmentSettings
M[_PDOJFCKSNB
MPDQPSGM
MpDTBoot_MemoryStealth
MpDTDynLoadPaths
M[PDXXOFN
MPEATTRTEST 
MPECS@QBH
MPED_SXPLJH@CL]KK
MpElfHstrSectionSizeLimit
')))MPEM
MpEnableBackendSamplesForRemediation
MpEnableEnforceGpoRegKeyProtection
MpEnableExhaustiveMachoScanning
MpEnableMapsLatencyRetries
MpEnablePwdCrk
MpEnableSigReleaseHb
MpEnableUnicodeAppendedAsciiCheck
MpEnableVmmSwap
mpengine.dll
mpengine_global_lua_pe_env
mpengine_local_lua_pe_env
mpengine.pdb
MpEngineRing
MPENPOZ]
MPEONCQPYDMC@AEMC
MpExcel5Routines
!MpExcelFormulaRoutines
MpExhaustiveAndroidScan
MpExitThread
MpFastSigUpdateInterval
MpFileIsOnRemovableDrive
mpfilterheartbeatflags
MpFinalize
MPFKFMLN
MP]F[LDF
MpForceScanArchives
MpForceScanMail
MpForceScanPacked
MpForceSyncQueries
mpg_cgfG
[MPG_CY_OXLGCLODKY
@@@@@@@@mpGD
MpGearCloseHandle
MpGearContainerAnalyze
MpGearContainerCloseObject
MpGearContainerCommit
MpGearContainerDelete
MpGearContainerFreeObjectInfo
MpGearContainerGetNext
MpGearContainerOpen
MpGearContainerOpenObject
MpGearContainerRead
MpGearContainerRecognize
MpGearContainerSetSize
MpGearContainerWrite
MpGearCreateManager
MpGear.dll
MpGearDuplicateHandle
MpGearDynamicConfigAddBinary
MpGearDynamicConfigAddBool
MpGearDynamicConfigAddDWORD
MpGearDynamicConfigAddQWORD
MpGearDynamicConfigAddString
MpGearDynamicConfigAddStringList
MpGearDynamicConfigClear
MpGearDynamicConfigSend
MpGearFreeData
MpGearGetManagerInfo
MpGearGetSigDataDWORD
MpGearGetSigUpdateConfig
MpGearGetVirusNames
MpGearInheritEngine
MpGearInitializeMpPLI
MpGear.MAPSReport.End
MpGear.MAPSReport.Start
MpGear.pdb
MpGearQuarantineDelete
MpGearQuarantineGetNext
MpGearQuarantineOpen
MpGearQuarantineOpenEnumerator
MpGearQuarantineQuery
MpGearQuarantineRecover
MpGearQuarantineRestore
MpGearRebootActions
MpGearRenderPLIData
MpGearScanControl
MpGearScanFull
MpGearScanGetNextActionResult
MpGearScanGetNextThreat
MpGearScanGetStatistics
MpGearScanOpen
MpGearScanOpenActionResultsEnumerator
MpGearScanOpenThreatEnumerator
MpGearScanPath
MpGearScanQuick
MpGearScanSetDefaultThreatActions
MpGearScanSetOption
MpGearScanSetOptionEx
MpGearScanSetThreatAction
MpGearScanStream
MpGearScanSubmitReport
MpGearScanSubmitReportData
MpGearScanTakeActions
MpGearSetEngine
MpGearSetEngineWithResourceSigs
MpGearSetSigUpdateConfig
MpGearSigUpdateCancel
MpGearSigUpdateRollback
MpGearSigUpdateStart
MpGearSubmitHeartbeatReport
MpGearSubmitHeartbeatReportData
MpGearSubmitReportData
mpgearversion
MpGenRandBuffer failed
MpGetAttributesMatching_Close
mp.GetBruteMatchData() not called from brute script
mp.GetCertificateInfo() expects 1st argument to be boolean (if any)
mp.GetCertificateInfoFromFile() expects 3rd argument as boolean
mp.GetMotwHostUrlForFile() can't be called on current RTP scanned file
mp.GetMotwHostUrlForFile(): UtilWideCharFromUtf8 failed
mp.GetMotwZoneForFile() can't be called on current RTP scanned file
mp.GetMotwZoneForFile(): UtilWideCharFromUtf8 failed
mp.GetNormalizedScript() empty buffer
mp.GetNormalizedScript() expects string or boolean param
mp.get_sigattr_event_count() not called on a sigattr signature
mp.GetSMSLevel(): invalid SMS level
MpGetTrustedInstallerHardeningExcludeFlags
mp.GetUrlReputation: Expected table for context (arg 2)
mp.GetUrlReputation: Expected table for urls (arg 1)
mp.GetUrlReputation: Failed to put response on LUA stack.
MPGHBXDQ
mPGHD@JdFMeFHM)(
mPGHD@JeFHML[
)))MPGHD@J@G_FBL
MPGHD@J@G_FBL
)))MPGHD@JHEEPEFHMZJ[@Y]
MPGHD@J_H[@HKELY[LO@Q
mPGHD@JHZZLDKEP
MPGHD@J][LLMLDFHYYE@JH]@FG
mPGHD@JmE[dFPZEZ]))
MPGHD@JZ
")))MPGH][HJL
MPGH]LJA
MPGHO@_LJFG
)))MPGHZ]PJDM
MPGHZZLDKEP
MPGKYKXMAA[LJ
.mpgppepq
@mpgppepq
@mpgppepq@
]mpgppepq
m-pgppepq
m@pgppepq
mpgppepq
mpgppepq(
mpgppepq-
mpgppepq_
?Mpgppepq
M"pgppepq"
M(pgppepq
M|pgppepq
Mpgppepq
Mpgppepq(
Mpgppepq_
mpgppepq1 34
Mpgppepq2
mpgppepq2H
mpgppepq7
Mpgppepq8
mpgppepqc
#Mpgppepqc
mpgppepq:Co
Mpgppepqd
mpgppepqg
mpgppepq	H
mpgppepqipb:
mpgppepqJ
MpgppepqK
mpgppepqlL"
Mpgppepqm
Mpgppepqmz2A
Mpgppepqn
mpgppepqp
mpgppepqQ
mpgppepqr
Mpgppepqr
*M.pgppepqR
mpgppepqV
mpgppepqW
Mpgppepq*Y
M]pgqggM
_MPGQX]NH
MpGradualEngineRelease
MpHasExpensiveLoop
MPHASK[DO
MPHDNAGJN
MpHermeticBlockFileType
MPH[HQK@CS
MP[HLBLM
_MPHMSA_H
_@MPHNHD
MPHPGGD_XBHK
mpIGllllllllmllllOllylm
MpInitServer
MpInternal_
MPInternalCreateManagedThread
MPInternalSwitchProcessor
MpIntHandler
MpIntHandlerParam
MpIntHandlerReturnAddress
MpInvalidVBADirectorySignature
MpInvalidVBADirectoryTag
mp.IOAVGetUrlPart(): UtilWideCharFromUtf8 failed
mp.IOAVGetUrlPart(): UtilWideCharToUtf8 failed
MpIsCreateProcessScan
MpIsExhaustiveScriptScan
MpIsFastPathRescan
mp.IsHipsRuleEnabled(): UtilWideCharFromUtf8 failed
MpIsIEVScan
mp.IsKnownFriendlyFile() expects boolean 2nd and 3rd parameter
mp.IsKnownFriendlyFile(): UtilWideCharFromUtf8 failed
mp.IsMotwForFile() can't be called on current RTP scanned file
mp.IsMotwForFile(): NewSprintfW failed
mp.IsPathExcludedForHipsRule(): called from outside file scanning
mp.IsPathExcludedForHipsRule(): UtilWideCharFromUtf8 failed
MpIsPowerShellAMSIScan
MpIsRegKeyValueScan
MpIsStreamScan
mp.IsTrustedFile() expects 1st argument to be boolean (if any)
mp.IsTrustedFile() expects 2nd argument to be boolean (if any)
MpIsWmiMofScan
MPJASOGYDG
MPJHAGGNOE@AD
MPJKDQ]D
_MPJLYZNC
mPJOJPJPJuG
MPJYHNPJH
MP_KDJ]BO
MpKernelModeEmu
MpKeyValuePair
MPKNZJEL
MPKPCEJJNF]NBLZG
MPKPC]JNFKCA]P
MP]KQPYD
MPKXFODA
MpL8L3L	L
M]PLAPCL[SAX
MP]LEN@H
[MPLHG[GSK
MP]_LHJAZZZYCK
mPllllllllmllllOllylm
MP_LO]OB
[MPLOQPYMBN_ON]]O]K
MPMAHCEAL]OQ
MpMapsDependencyAnalysisMaxReports
MpMapsNumThreads
MpMapsNumThreadsDss
MpMapsWdoDetectionThrottlingInterval
MpMaxContainerFriendlyCheck
MpMaxGetHashesSize
MpMaxScanDepth
MpMaxSpynetFileSize
MpMaxStaticFileSize
MpMaxSyncFriendlyCheck
[MPMBKMODD
MPMCA[KSXBCPZ]B
MPMC_ZZD
MpMemoryThresholdInMb
M@PMHMMP
MPMLZJLG]
MpMoacContainerBackedFile
MpMoacFriendlyAdd
MpMoacFriendlyAddInstaller
MpMoacFriendlyAddInstallerExplicit
MpMoacFriendlyAddTTL
MpMoacHint
@@@@@@@@mpMOO
MPMYMEAO__O[ZFEP
m||pn||Cn||
MP[NCXSSD[
m||pn||Dn||
]MPNGSKL_A
m||Pn||!n||
MpNonCachedLowfi
MpNonPIIFileType
MpNotify
MPNPSJHPX
MPNSGXLKAPXA
M||pN||TN||;N||
MpNwUnfriendly
MPNXJPYG
m||pn||Xn||0n||
m||pn||Yn||Fn||-n||
MPOJPCAMD
MPOQHDKP
MPOXEQZ]
MPOYDLQLBLL
MPOYM]JLP
MpParseDetected
M@PPAXOB
MpPayloadData
MPPD_A_]CDNGYO
mPpERSISTtEST
MPPGMSGQC
mppgppepqL
MPPKFABKMS@@_
MPPNNBYEB
M]PP@QLJ[
MpPublicKeys
mP[[[q[[[
MPQ]GBX@P_JL[LBHMC
MPQX]PPY
MpRbMAutomaticEngineRollbackMode
MpRbMAutomaticPlatformRollbackMode
MpRbMPlatformMinimumDaysNeededToDetermineLKG
MpRbMPlatformServiceCrashToleranceCount
mp.ReadBruteMatchBuffer() called on empty buffer
mp.ReadBruteMatchBuffer() not called from brute script
mp.readfile() failed because read protection is ON
mp.readfile() outsize of file size
mp.readprotection() expects boolean argument
MpRecapIntervalInDays
MpReemulate
MpRegLinkHardeningSettings
MpRemoteFileInformationState
MpReportLowfi
MpReportSyncLowfi
MpReportTelemetryOnly
MpRequeryCloud
MpRequestHookwowH
MpRequestHookwowL
MpRequestHookwowM
MpRequestMemoryReport
MpRequestNoSMS
MpRequestSMS1
MpRequestSMSH
MpRequestSMSL
MpRequestSMSM
MpRescanNoDetection
MPRESOURCE_TYPE_CONCRETE
MPRESOURCE_TYPE_GENERIC
MPRESOURCE_TYPE_LATENT
MPRESOURCE_TYPE_NON_PII
MPRESOURCE_TYPE_RTSIG
MPRESOURCE_TYPE_SHARED
MPRESOURCE_TYPE_SUSPICIOUS
MPRESOURCE_TYPE_UNKNOWN
__MPRESS__
MpReturnsToEntryPoint
MpRewScanningExclusions
mp.RollingQueueAppend failed. Rolling queues unavailable.
mp.RollingQueueAppendMulti failed. Rolling queues unavailable.
mp.RollingQueueCount failed. Rolling queues unavailable.
mp.RollingQueueCountOfUniqueKeys failed. Rolling queues unavailable.
mp.RollingQueueCountValuesForKey failed. Rolling queues unavailable.
mp.RollingQueueCreate failed. Rolling queues unavailable.
mp.RollingQueueCreatePopulated failed. Rolling queues unavailable.
mp.RollingQueueEraseAll failed. Rolling queues unavailable.
mp.RollingQueueErase failed. Rolling queues unavailable.
mp.RollingQueueQuery failed. Rolling queues unavailable.
mp.RollingQueueQueryFirst failed. Rolling queues unavailable.
mp.RollingQueueQueryForPrefix failed. Rolling queues unavailable.
mp.RollingQueueQueryKey failed. Rolling queues unavailable.
mp.RollingQueueQueryKeyRegex failed. Rolling queues unavailable.
mp.RollingQueueQueryKV failed. Rolling queues unavailable.
mp.RollingQueueQueryLast failed. Rolling queues unavailable.
mp.RollingQueueQueryMultiKey failed. Rolling queues unavailable.
mp.RollingQueueQueryMultiKeyRegex failed. Rolling queues unavailable.
mp.RollingQueueSumOfValues failed. Rolling queues unavailable.
MpRtpTurnOnInterval
MpSampleBlockUploadParallelism
MpSampleSubmissionHighPriAgentLifeInMins
MpSampleSubmissionHighPriNumThreads
MpSampleSubmissionLowPriAgentLifeInMins
MpSampleSubmissionLowPriNumThreads
MpScanAppxOnInstall
MPSCAN_RESOURCE
MPSCAN_RESOURCE | MPSCAN_RESOURCE_EXTRA
MpSehHandler
MpSEHLimitReached
MpServiceHealthMonitorCreateProcessExecutionTimeout
MpServiceHealthMonitorEnable
MpServiceHealthMonitorHookWow64ExecutionTimeout
MpServiceHealthMonitorInterval
MpServiceHealthMonitorMaxTimeoutsForHangDetection
MpServiceHealthMonitorOnAccessCallbackInterval
MpServiceHealthMonitorOnDemandCallbackInterval
MpServiceHealthMonitorStoreHangDetectionInfoToReg
MpServiceHealthMonitorSyncMonitoringExecutionTimeout
mp.SetAmsiReportPath(): Base plugin is not VFZ. Calling SetAmsiReportPath from non-AMSI context?
mp.SetAmsiReportPath(): Failed to set report path
mp.SetAmsiReportPath(): SCAN_REPLY not available
mp.SetAmsiReportPath(): UtilWideCharFromUtf8 failed
mp.SetAmsiReportPath(): VFZ does not have a valid Stream Buffer
mp.SetHipsRule(): UtilWideCharFromUtf8 failed
MpSignatureRing
MpSimulateParanoid
MPSSBZsSPSS
MpSSLOptions
MpStartProcess
MpSvcElamBypassProtectionMode
MpSvcOSCopyAcceleratorForceKill
MpSvcOSCopyAcceleratorMode
MpSvcSecHardenDefenderTokenDacl
MpSvcSecHardenMDEProcessesTokenDacl
MpSvcSecStripTIFromServiceDacl
MpSvcSecTrustLabelProtectService
MpSvcSecTrustLabelProtectWdFilterService
MPSY]ZNHO
MpThreadLimitReached
MpTimerEvent
MpTimerEventData
@@@@@@@@mpTOU
mp.TriggerScanResourceUAC() - not an UAC scan
MpTrustedInstallerHardeningExcludeFlags
mp.UfsGetMetadata() expects boolean value
mp.UfsSetMetadataBool() expects boolean value
MpUIHistorySize
MpUnexpectedVBADirectoryTag
MpUrlBlockList
MpUrlData8
MpUrlDataTld
MpUseAms
MpUseSandbox
MpUseSha1OnlyForWatsonBucketing
@@@@mpUT
MputData
MputDataPoint
MpVBADirectoryParsingError
MpVBAPatched
MpVBAPCodeRoutines
MpVBASourceRoutines
MpVdllTickCount
|@@@@mpVJ
MpVmp32Entry
MpVmp32FastEnter
MPWAIT_ABORTED
MPWAIT_RECEIVED
MPWAIT_TIMEOUT
MpWritesGlobalString
MpWsTrimTimeInterval
MPXH[BBSQS
MP]XKX_ZJJ@
@MPXMHF@P[A]YAZG@BG
mpX[[[Z[[[O[[[
mpyclpy]opyZapy
MPYDAPAM
MPYG[NNNLSANX
M)))]PYL
MPYMOAFS
MPY_]@OYLO
MPYQB_LDDLLLMHPK
MpyvLpyXLpy)Lpy
MP@ZAGQDB
]MPZBPCLCY
MPZ]FY@H
MPZKANPS
MPZ@_PCSSDF@LJY@O
[[[m[[[q4
MQAJJOSFDN@
MQAJZBZM
MQANMM]DXX
[MQAOH@Z@DAYMXAA
__]MQA_OO
M[QASZGQ
MQBASJGQ
MQBCPXYZOOQ
MQB]GOQE_
@MQBMOsSSS
M]QBYNHJH
MQCAJHODQH
MQCAQ[CG
MQC[NH]OXBXH
MQ]COJEA
]M[QCSKHQSSB
MQDBLKBHSA
M]QDDJFJPK@ZO[Z_HPA
@MQ[DE]N@Y
@MQ[DE]N@YS
MQDMQ_OMLO
MQD[ZJ]OX_NOLDA
m[[[Q@Edy[[[l[[[c[[[
MQEG]B_P]ZH
MQ[EJDLH
_[MQE_LOAFMP
MQEMNJOP[
MQEXEQP[
MQEXSHPZB]NEP]
M[QFDGGJK
MQFJNK_LKBAOJ_H
MQFNZDMB]XBQX
M]QFOQXGQMJ[J[CXQ_MGYZ[PP
M]QFQMPXQHXJQD
MQ[FSNQXMDY
M]QFXKKHHB
MQGAMQ[_ED_S
MqgCegfG
MQGEJ@NY@JZN@@
MQGLAAZ_FP_
MQ_GMHJD[ND
MQ[G@@QGMPHJZ
MQGQYGOBC[NJSK
MQGSZHMZAJZCC
mQG:TH0_
"mqgWngfG
MQGXSOPH
MQH_B][C
MQHGKDL@LY
MqHgWegfG:]
MQHKC[_A
MQHOPAGYYS]
MQJBX@NNZS
mqj i'9m
MQJ]J]_GE[BP[SSP
MQJNBH_[AA
MQJNDPEB_DKAZZD
MQJSG[BY
M]QJ[S]QCCMAN
MQJXMPKL]QH
MQJYZ]ZPKSAZQC
M__Q[K_[AOL
MQKJGCODO
())MQKJQAGPSQG
MQKQOB[MBCJZ
MQKYKAOBAJFO_GKXX
MQLAHXQP[AA
MqLaLeLYLAL)L-L!L
MqLaLgL L
MqLaL]LULEL
MqLaLQLAL1L
@MQLBHHHSBM@M
MqLiL]LEL1L
MqLiL]LILAL1L
MqLkL@L?L
MQLKMJA]QS[QCJ_Y
MqL_LKLAL
MqllllllllmllllOllylm
m[@QLM))
M[QLPM]XOCHD_O[EP
MqLQLCL L
MqLQLILML5L)L
_MQLSJBGB
MQLULILAL9L1L)L!L
MqLwLcLAL
MQ[]LYG_
MqLYLAL)L
MqLZL6L#L
MQMC_HHC[DQXBO]OOC
MQMJPS]HXZC[HHYY
MQMNHMPHAFJSANCHXO
MQMNNFJL[DK
MQMN]XJD
|M|Q|M|Q|L|||
|M|Q|M|Q|L|||||
|M|Q|M|Q|M|||
|M|Q|M|Q|M|||||
|M|Q|M|Q|N|||
|M|Q|M|Q|N|||||
_MQ@N]__
M[QNDMEJ]LMX
m||Qn||:n||#n||
MQN_OF[FOCXSY
M]QNOOZQLCKG
MQN]PQOELBNP
MQNQKF[]_OF]Z
|M|Q|N|Q|L|||
|M|Q|N|Q|L|||||
|M|Q|N|Q|M|||
|M|Q|N|Q|M|||||
m||qn||Xn||@n||
MQNZKJB]Z[]@Z
MQOAAMHP
MQOCQBZB
MQ@ODGQYZ
MQOEHDXY
[MQOGZJZB
MqOiO]OEO
_MQ]OJFK
MQ_]OLPQJ
M_QO_OOYNS
MQOSFJYYO[DSX
MQOY_J[B
MQPCYPAHSPCGHKLFLY
MQPFGYDPO_YND
MQPMALSCAH]B
M]_QPSDBNA
_MQQFYGLC
M]QQ_G[J
 )))MQQ[@M
#)))MQQ[@M
M]QQNSZ[YKM
MQQZXSEGGMX
M[QS][APY
@MQSDHN[BK
MQS_EYMLZJ
MQSHOKNQ
MQSKNDP[
[MQSL[XC
MQSNFNODH
MQSOXSJCQN
MQSPBXKAY
MQSPFKDNPE
]M]QSQAYGC_]LH
MQSSS@STRRSRSsaQSSS@SFRRSRS
][MQSYZJEM
mQUdU[[[q[[[
MQ(VSSW(
MQXBG]S@E_YN
MQ]]XHB[
MQXKK]_LM
_MQXSGLPDOME
_MQ_XYMMGJGX[
MQYDK[K__N_
_MQ_Y_F[]J[LLB
MQYFZQ_YQKJDD
MQYNPM[YON
MQYNXCNYLGEP]XEB
MQ_YQCSZ
.MqyyaryysI
	.Mqyy)ayyzI
.MqyyikyypI
MqyyIyyy
.Mqyy-[yyzI
MQz2WSB@BBBj
MQz2WSB@_B_j
MQZDMFXNXANZJ_H@K_C
MQZNBGLC
MQZOBPOGS
m	r5(@;S
MRcc]Y]]
mReX[[[Z[[[
mRey[[[7[[[
MRg3dgfG
m.rgEgfGJ
MRg'ggfG
mrgqgg6g8
Mrgqggnb
m[[[R]Jd_[[[
m)))rKP]Lrtt
MRL|||;|
MRL||||||6
MrLHLDL0O
MRllllllllmllllOllylmL
mrllllllllmllllOllylmWN
|M|R|L|||	t
MrLVL!L	L
m)))rMEE@DYF[]
[[[mrNdF[[[
m||rn||Gn||"n||
mRNgqggA
m||rn||Jn||
m||rn||_n||Dn||1n||"n||
M||rN||UN||;N||'N||
mrp@@@@@_p@M
mrpqpmppytn
mrpqrmptrrn
mrpqrmpupwn
mrpqrmupwvn
mrpqsmqtysn
mrpqsmqtysn	
mrprpmpwyv@B@A@R0@@F@@@@@@@DBBAP0@@@@@@
mrQllllllllmllllOllylmg
m._RS3.QSSS@S
m._RSCT]SSS@S
MRSRSS?XSSS@S
MRSSB_ABLO
MRSSE9@sQ
mRSSK@UBUD
MRSSLlYkERSSBCN
m._RSSS_SSS@S
M)))RuK@G
m|R[vtgfGQ
MRVVVX"P
MR[[[Z[[[
m)))rZPZ]LD
M)))rZPZ]LD
m@S6m@S'm@S
m@@@@@s@@A@AAac
MS@ACHPCLK]
MSADK@[AA
msamachineid
msamachineid_scrubbed
MSAMHNXCJGXY
MS_A@NSFPPL]]
M@SAYZKB_XG]
MSBBSS]OJX
M_][SBDG_G[
msbgqgga
MSBOEQ[]]]OGNO
MSBOOLBPPL
MSCC_YNPDZGEZKCHH
MSCHKLNX
MSCJ]OHXHBE
MSCJOX[_M]
_]M[SCJS
MSC]MMDMOMF[XCS
(MS-Compress5)
mscoree.dll
MScuegfG
mScV[[[ 
MSCZBQN]_
M]SDALDDC
MSDAOLLCQ
MSDB[X]ZFLYN
MSDEOZK_
M]S]DNQDL]L
msDoNotTrack
_MSDQKHBCP[]QMMQJGQGO
MSDQZCDEZHSXXQ
mSdZ[[[l[[[
M]SDZLXYND
MS[ECJLS
MSEDG_KX
MSEPX[C[
M@SFACJC
MSFHNHC]
MSFJAZNO
]MSFKZD]GEQFP
MS@GC@[Y
M@SG@EBJ
MSggqgg!
MSgIggfG
MSgpsSSES@TsScES@[sSWSS@ZsS
msgqgg!t
MSgWkgfGe
M__SHAZH
MSHGAESNJM
MSH_KGACGOPMX[YPAH
MSHQQG_Z
M[SH@_YY
msiaction
msil_nativeimage
msil_ngenimage
MSIL:SET_DLL_EP
msipackagepath
msipackagepath_scrubbed
(MSISfx)
MSJ@BPGLX
)))MSJEF_L[
MSJ[H_MQJOOAS
MSJHYK_P@G
MSJ[JGD]
MSJMHAXG
MSJPZADBPLC
M@SJSKHQ@DQGJ
MSKJPC_LSACBA
MSKXH@PMJS
MS_LBCXQKA
MSLCGLDQXBJOC
MsLkL_LWL;L3L'L
MsLlLYLRLOL8L
MSL[_M_YNG
]MSLXGFE
MS_MAQL_
MSMFXSS[YX
MS#!mggfw
M]SMKOOK]P
MSMLXSMZ]]QSKCLN_LCMD
MSMMXO]QX[HP[C_Y[
MsMpEngCP.pdb
MsMpEngSvc.dll
MsMpEngSvc.pdb
MsMwMkMoMcM
MSNAA_[KOQJ][ZY
MSNH]@CJ
MSNNBO]LP
MSNN]QFKGCKG
MSNOPPENFO[
MSOA_YXAZ
M]]SOBPP
MSOdZ[[[
MS___OEAD
MSOOYMB]
MSPC[X]XXFQD_SK
.[[[MsPd
[[[MsPdE[[[
MsPdF[[[2[[[ [[[
MsPdH[[[
MsPdI[[[
[[[MsPdO[[[
MsPdV[[["[[[![[[F
MsPdx[[[
MsPdz[[[([[[.[[[
MSPFQYCOP@
]MS]PGL[P
MSPGSZCQBPOMBEX
MS@PNCYHPQKL
MSPXAPDZB]A
m]SQcgfG
MS@QJOKQ]
MSQ[KJXMS
MSQLALCXPEPAGL
MS_QL_DYZD
MSRT.FinalizeReporting.EngineResult
MSRT.FinalizeReporting.HeartbeatResult
MSRT.FinalizeReporting.Start
msrtheartbeatindex
msr_t::IA32_DEBUG_CTRL
msr_t::IA32_FIXED_CTR0
msr_t::IA32_FIXED_CTR1
msr_t::IA32_FIXED_CTR2
msr_t::IA32_FIXED_CTR3
msr_t::IA32_FIXED_CTRL
msr_t::IA32_LBR_SELECT
msr_t::IA32_OFFCORE_RSP0
msr_t::IA32_OFFCORE_RSP1
msr_t::IA32_PEBS_ENABLE
msr_t::IA32_PERFEVTSEL1
msr_t::IA32_PERFEVTSEL2
msr_t::IA32_PERFEVTSEL3
msr_t::IA32_PERFEVTSEL4
msr_t::IA32_PERFEVTSEL5
msr_t::IA32_PERFEVTSEL6
msr_t::IA32_PERFEVTSEL7
msr_t::IA32_PERF_GLOBAL_CTRL
msr_t::IA32_PERF_GLOBAL_OVF_CTRL
msr_t::IA32_PMC0
msr_t::IA32_PMC1
msr_t::IA32_PMC2
msr_t::IA32_PMC3
msr_t::IA32_PMC4
msr_t::IA32_PMC5
msr_t::IA32_PMC6
msr_t::IA32_PMC7
MSRT.TitanApp.FolderCleanupResult
MSRT.TitanApp.RCSRemediationResult
MSRT.TitanApp.Start
MSRT.TitanApp.Stop
mSS4SSlSS;SClSS:SslSS9SclSS8S
mSS9gPZxUs
mSS9g!QM9
mSS_BVD9
MSSCDMNZS
M_SS]CPP_GK
MSSHNFSHLG
MSSJPJXJL
MSSKJD_ZPM_[D
mSSSS3ZBlSSSS
.mSSSSauSl
mSSSSnrglSSSSSSSSSSSSSSSSSSSSSSSS0M
mSSSSo6I
mSSSSOhE
_mSSSSOz5
(mSSSSSSSS
*mSSSSSSSS
;mSSSSSSSS]
@?mSSSSSSSS
mSSSSSSSS
mSSSSSSSS	
mSSSSSSSS"
mSSSSSSSS(
mSSSSSSSS*
mSSSSSSSS-
mSSSSSSSS.
mSSSSSSSS:
mSSSSSSSS?
mSSSSSSSS[
mSSSSSSSS|_
mSSSSSSSS4
mSSSSSSSS7 
mSSSSSSSS8G
mSSSSSSSSaV)
mSSSSSSSSbTPl
mSSSSSSSSD
mSSSSSSSSE
mSSSSSSSSF
mSSSSSSSS	G
mSSSSSSSSH
mSSSSSSSSK
mSSSSSSSSN
mSSSSSSSSO
mSSSSSSSS!p
mSSSSSSSSp6smSSSSO
 mSSSSSSSSq
mSSSSSSSSQ
mSSSSSSSSQO 
mSSSSSSSSr
mSSSSSSSSs
[mSSSSSSSSSSSS
_mSSSSSSSSSSSS
mSSSSSSSSSSSS
mSSSSSSSSSSSS)
mSSSSSSSSSSSSBA7
mSSSSSSSSSSSSf
mSSSSSSSSSSSS]k"
mSSSSSSSSSSSSm
mSSSSSSSSSSSS.p
mSSSSSSSSSSSSp
mSSSSSSSSSSSSr
mSSSSSSSSSSSSs
-mSSSSSSSSSSSSSSSS
@mSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSS:
mSSSSSSSSSSSSSSSS[
mSSSSSSSSSSSSSSSS2
mSSSSSSSSSSSSSSSS8t_
mSSSSSSSSSSSSSSSSA!Yl
mSSSSSSSSSSSSSSSSf4
mSSSSSSSSSSSSSSSSJ
mSSSSSSSSSSSSSSSSP
[mSSSSSSSSSSSSSSSSQ
mSSSSSSSSSSSSSSSS'R
mSSSSSSSSSSSSSSSSrb
MSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSS'
mSSSSSSSSSSSSSSSSSSSS|
mSSSSSSSSSSSSSSSSSSSS2
mSSSSSSSSSSSSSSSSSSSS7
mSSSSSSSSSSSSSSSSSSSSBg
mSSSSSSSSSSSSSSSSSSSSF
mSSSSSSSSSSSSSSSSSSSSI
mSSSSSSSSSSSSSSSSSSSSQx
mSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSS'
mSSSSSSSSSSSSSSSSSSSSSSSSC|
mSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSS.
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSe
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSg
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSn5PmSSSSSSSSSSSSSSSSSSSSa
)mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
]mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS!
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS#8
*mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS;P
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS@
@mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
-mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS5i
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSVf
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSV
*mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSZE
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSw_
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSz)U
mSSSSSSSSSSSSSSSSSSSSSSSSSSSSX
mSSSSSSSSSSSSSSSSSSSSSSSSZ
mSSSSSSSSSSSSSSSSSSSSx
mSSSSSSSSSSSSSSSSu
@[mSSSSSSSSSSSSv:
mSSSSSSSSSSSSv
mSSSSSSSSSSSSX
mSSSSSSSSsys
mSSSSSSSST
mSSSSSSSSTl
mSSSSSSSSu
mSSSSSSSSU
mSSSSSSSSUk
mSSSSSSSSVZg
mSSSSSSSSw
mSSSSSSSSW
mSSSSSSSS|Z
mSSSSSSSSzVL
mSSSSteo
mSSSStYUm
mSSSSZDV
(MSSW[K9
(MSSW@WBWBV
MS@SYCQLZG
MSVBVM50.DLL
msvcrt.dll
MSVCRT.DLL
m@SVl@SFl@Sul@Sfl@S
MSXAXZBH
MSX_BO@AAXKOS
MSX][GE[L_
M_SXGQOO]OAL
MSXLMQOG_
MSXLN[]O[GBB
MSX_OFPZQS]KB
mSxQBA@BB_sS
|||msx|sHu|s.w
][MSXZHN
M_]S_Y]NQPXBH
MS_ZALED_Z_
MSZEDBBMDQEPOS
_MSZGH]AJ]
MSZOQ__B
MSZX_H[Y
MSZXLPBQNPZMHO
@[[M[[[__t
mt0eL[[[ 
[[[	[[[mt0eN[[[
mT1llllllllmllllOllylm
mt8pgppepq
M;TdB[[[
m?TdE[[[
M*#te?oooo
[[[mT"eT[[[6
M*#te?#te?
M*#te?#te?S
mtg]kgfG
mtgOdgfG
mT*((gqggt3
mTh8xzxZy
mtKg-ggfG
MtLcLYLSL@L:L0L*L
mTllllllllmlllIMO8) V8
m||Tm||3m||
m||Tm||?m||
m||tn||hn||dn||
m||Tn|| l||
m||tn||Mn||(n||
Mtopgppepq
Mtpgppepqi
mtQdB[[[
M	TsJCSS	
mTx9xyxuy6
Mt(((]Y]]
-]mTYggGV
@MtZBDTLQ
m@@@@@UA@O@ADac
m)))u]AY]@FG
MuBKKG_SAC@Z
MUd][[[;[[[9[[[
MUd@[[[a[[[
-M:UDAAAA@AAAAACF
MUdA[[[l[[[
mUdC[[[d[[[
MUdC[[[l[[[b[[[
MUdD[[[s[[[
MUd[[[[E[[[z[[[
MUd@[[[f[[[
MUd[[[[j[[[
MUdJ[[[r[[[i[[[
MUdK[[[#[[[![[[
MUdK[[[d[[[
MUdK[[[h[[[
MUd_[[[k[[[j[[[
MUdK[[[u[[[
MUdL[[[m[[[
MUdO[[[a[[[
MUdO[[[d[[[
[[[-mUdV[[[
MUdy[[[z[[[
MUdz[[[I[[[
MUdZ[[[m[[[
MUdZ[[[N[[[C[[[
MUdZ[[[s[[[
mueV[[[A[[[G[[[
mUex[[[	[[[
mUey[[[L[[[A[[[
mu_GqgAgg
m)))uH[@DHEL
M)))uHYYE@JH]@FGMH]HuD@J[FZFO]u
MUIHNJULNILU
MuJABLZ]CAOC
m)))uJDM
)))M@[uJFDDFGO@ELZ
mU[[[k[[[
mukaoukXY_
muKllllllllmllllOllylm
MULALOU@
MuLfL9L"L
MuLhLfLSLIL@L;L4L
MuLiLILML-L!L
MuL]LEL-L
MuLmLeLQL9L1L)L!L
MuLNLDL#L
MUL@OAU@KJJU@
mul.ovf.un
MuLQLEL5L
MultiByteToWideChar
MulticastDelegate
multiline
Multiple matching keys found.
multiple_relocs_same_location
Multiple TDT agent instances are running
multiprocess
|||||mu!||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||(m||
||@M||uN||
m||Un||0n||
Mu:naz6*
m]!UndCbgfG
MuOdE[[[
M]uow"sggwHR
MuPdO[[[
!mUpgppepq
Mupgppepq
MuQJOuQLLSuQOO
Murwpgppepq
mUSSS@S|
MuuOFEAHZ[_
m[[[UuWdy[[[
mUU.X!WblV
MuuY[FDH[
[[[MUVdF[[[
Muy)MuyEMuySMuyaMuyqMuy
MVB@9llllllllmllllOllylm
mV@@@@B@A@2 @C
MVdV[[[e[[[
((MvFEM@OPvO@EL
mvfgqgg0G
"Mv|g;EgfG
((MvJFDDHGM
')))@MvKPvZFJBL]
mvllllllllmllluMO-
mVllllllllmlll]Y]]
[m[v[n[h[j[h[v[o[
m||Vn||!n||
m||Vn||-n||
m||vn||Qn||)n||
m||vn||Un||0n||
m|vodo9ogo
[m[v[o[m[o[
:MvQZgGkgfG
mVSSS@S5
MVugGkgfGP
M@vUURUU
())Mvvvv
mvXdI[[[
mV(xxzxWx0
m)))vZ][LHD
MvZ][LHD
mW[[[ [[[
m@@@@@w@@A@ACac
mW)BTZ]Y]]
mWdF[[[g[[[
mwfkgfGC 
MWgOkgfGp
]MWgqgg!
mWgqggcU
mwgqggH-5
mWgqggkO
MwH!]wE3
MwLbLHL5L-L
MwLRLCL0L-L
MwMmMcM]MWMAM;M5M.M
MwM[MSMGM?M#M
m||wn||Bn||
mWOdx[[[|[[[
MwOwBwPwOEG
mWpgppepq
MwPw_AZK
MWSSBXjDWSSBWjCWSSBVsSSS
MWTcZ9*r
MWYdI[[[
M||x]||]]||
[[M[[[_X
mX[[[1[[[6[[[
[[M[[[_X5Od
_Mx5xxyxyxyxxyx8y
Mx7llllllllmllllOllylm
Mx8pgppepq
MxAd[[[[2[[[0[[[
MXAKZL@F@_G_BCCFPZ
MXALGBJDFKXX
MXAMOYYCOKZQMXME
M[]XAP_K
MXA][XHHJYSB
MXAZ_XSOMNF_
MXBBQEKOJNL
[@@]MXBCH
MXBGJ_NKQ
@Mx_BKLcd8BKLjf6BDD
MXBP[BSXZBLPFMGO
MXB_Q@LK
MXCABAMXGKZZ
MXCDOMCN
MXCGSSA[
M_XCHJDDS
M]X[CJH[L
MXCSSLDM
MXCSY_PLK
MX_@_CYQQC_G
MX@CZBASN@[M@XPS
@MXCZ@G@QYEG
m-Xd_[[[I[[[
MXDJZ[Y_XEJPYHFZD_
Mx@dO[[[
MXdP[[[u[[[
MXDSQY_Z
MX]EDJO[M[]M
MXEDZCJLJMGOBZQ
mxEgqgg9
MXEKMM_BPL
MXEP]JME_E
MXEQXBBC
MXEXXCAYA
MXEXYZDSGOS[
MXFBKDGCMC
)))MXFGJBO]PGC_LDE_D]
MXFHKO@JF
MXFKJQXJY_P
MXFN@JHN@JH
MXFN@JHN@JHN@MQSSMYXJD
MXFN@JHNYAGBFEKPK
)))MXFN@NS
MXftgaegfG
MXG]ASXPD]J
MXG[BOLY
M?*xgfGEY
MXGHMSOF
MX]GK]AQN
mxgqggGkf5
MXGXFMFZNC
MXGY_HOJ
MXHDCGSHK
MXHGZKSXKMQ
MXHJY]KHH]MGFJ
_[MXHZFKH_HYMEK
MXJADHZGJFSYX
M][XJBHHN
MXJ]_LLMY
MXJNBEEOA
MX]JNL]CG
MX]]JOPZ
MXJOZOXAZ
MXJXECL_B
M_X@KAAE
MXKBFZXSYSSL
_@_MXK__]]CZ
M]XKD]ZJX
M[XKM]M]LKG]NZN_LPLGPLLL_D
M]XKMYYMOZ_
MXL__BOC
M_XLBSSB_YQO
MxLdLPLLO'O
MxLeLFL*L
MxLfLRL9L4L'L
MxLiLlLbLTLOL1L*L!L
MxLjL@O2O
M_XLKPD_MZLNBH
MxL_LDL*L	L
MXLNJHACGSG]_C
MXLPADOHJ[XHZ
MxLpLhLnL]LRLJL:L7L'L
MxLuLPLBL!Ly
MxLwLeL;L.L
MXL_YCLSSJQ
[MXM]A_LO
MXMBZ[H_]_F]
MXMGGKZP___DM
MXMKA]_ZYKPP_[
]MXMLJXAEEA
MXM]MXZO_XGCN[
MX]M]NC]PL
M[XMNL_F
MXMQMG_XXNF
MXMXKPKQO[
m||Xn||5n||
mxname_scrubbed
MXNAO]Y_]E
MXNG@[G_
MXNGXX_OGKYP
M||xN||HN||
MXN_JBMKGC_[L
MXN[LGKOK
MXNNSDS]GQJ
MXNYQAO_J_CDGQZK_SJJ
_[[MXOC[
MX[_OCOP
@[MXOHKAKAB
MXOHOMKGFXD@OMQZDF_BSY_PQLP
M[XOJX_SH
MX@OKXJN]CHXKNF[KNLLHP@
M_XOLPQQ
_M_XON@H
[MXOQHZMFO@H
MXOQMZ]S
M]XOXOMG@Z
MXO]ZYNHD
MXPCO@[QOFKJ
MXPE[HXM
m@@@@@@@@XpFD
MXPGOHDNG]ZZ
MXPK[J]_]
[MXPLD@HCBYSF
[MXPO@MOLJ]]HHHH
M][XPX_B
MXPXLALBJE[SF]DMAYHZ
M[[XP_X[XN
MXQD]OLOO
MXQDX_[DAJZ
@MXQ@HBK@X[C[PGB
M_XQSH@N
)))MXrKZ[[F
MXS5MXS'MXS
M[XSGMZYS
[MXSLGYP
MXS@OGXYL[MMY_S_K]HGDGD
MXSOOJONH
M_XSQDGCNASD
MXSXLXSOLXS
MXSZXAECNM
MXXE]MOQ
MxxrzoPNxxrznPOxxrzcP@xxr
MXXXHCYZ@FQ]
M.xx]Y]]
mxx]Y]]3
mxx]Y]]8
mxx]Y]]9
M.xx]Y]]DgY
Mxx]Y]]DRX
mxx]Y]]m
mxxyyxsyo
MX@YBCNCJ
MXYBFXZFOO[F
MXYEJGC_JE
mxyhlxyKlxy)lxy
MxyhLxy[LxyNLxy3Lxy
MxyjLxySLxy8Lxy!Lxy
MxyjLxySLxy8Lxy"Lxy
MXYKDDKA
mxyklxyRlxy:lxy#lxy
mxy|lxyelxyJlxy7lxy
mxy)mxyCmxy
mxy*mxy	mxy
MXYOMND_X[[Z]PJ
MX]YQH_ZQ
mxyQjxy@jxy0jxy
mxyqlxy:kxy
MxyrLxy[Lxy@Lxy)Lxy
mxytlxy]lxyDlxy.lxy
mxyUiyyyyyyyyyyyyyyyyyyyyyyUmxyyyyy
mxyvlxymlxyMlxy
MxywLxyQLxy;Lxy'Lxy
mxyxlxyilxyflxyMlxy0lxy
MxyxLxyoLxyPLxyDLxy*Lxy
mxyyDyyy
...MXyyE
mxyyiyyyIxyyy
MXYYS@HFXLOZ[
mxyyxyyy
mxyyxyyy'
mxyyyyy1mxyyyyy
mxyyyyyimxyyyyy
-mxyyyyyyyyy
mxyyyyyyyyyyyyyhlxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
mxyyyyyyyyyyyyyydyyy
mxyyyyyyyyyyyyyydyyy"g
mxyyyyyyyyyyyyyydyyyH
Mxyyyyyyyyyyyyyysyyy
MXyyyyyyyyyyyyyysyyy0
mxyyyyyyyyyyyyyyyyy
mxyyyyyyyyyyyyyyyyyyyyyyyyy
mxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxlxyyyyyyyyyplxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
mxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyBlxy
MxyzLxyYLxyNLxy-Lxy
M]X[YZQQSYP
]MXZAJZMK
MXZKY]BXG
MXZLJGBMNOGMC
MXZSBASKG
m!((]Y]]
m(((]Y]]
m@@@@]Y]]
@[[M[[[_Y
m|y00 x#
..my8-5YKWIY-
mY[[[A[[[
m@@@@@y@@A@AAac
myAAAACABA
M[Y[A]L]GGLLK
[MY]A@LO
MY@AMXYJP]
MYANDOPAYDGANYN
MYA_]Z_CXYG
_MY[AZ[Q]
MYBDS[[OOM
MYB__K@ZDCZDB
MYBLBAS_
MYB_NFKGAQJL[KYY
M_YBNGCMPXMHO
MYBS[OMASNKMK[GXNAZJENSNZ@LEP]
MYC]DJYSL
MYCFY_XL
MYCKSDFA_GABG
MYC[N_BYYGBY]
MYCX_DHMO
!MyCYC]Y]]?'Y
m|yd1yyliyy
MyDd[[[[
MY]dD[[[
mYDd][[[c[[[b[[[7
MYD_DO_H
MYD[_GLANS
MYDMXBJMFSYFG
My|dNy|8
MYdR[[[N[[[M[[[
m@YdW[[[
MYDXS[ZH]
M@YEFDH]@J[FEE
]MYEH_C]JB
MYEJPAZN[
MYEKLLHP_O
MYEMKZ[M[BJ_LLK
MYEQCMSO
m)))Y[F]F]PYL
[M[YFKQCZ
m)))YFZ]
M@YGAJ@YY[NA
]M_YGC]M
MYGNE@AGBQLQS
MYGOQ_GMJ_CJSJ[
;MYgqgg7:
MYGYLXLL
MYHCLFBC
@MYH[]GL[YE
MYHGOEO]N
MYHOQE[_O
MYHQ_ZBJJ
MYHY@ZPZ]LD
m)))YH[ZL[
m]Y]]"i_
mYi9mYiemYi
MYi-MYi]MYi
MYJA[SLHY@K
MY@JB]L[
MY[JDHXCKXAB
[MYJFGGLJ]@FGA@Z]F[P
[MYJFGGLJ]@FGZ
MYJGHNZLCS[AQDH
MYJHO_AS]
MYJJMNGBBAQ
[MYJ[KZ[ASYFLQOXZ[X_L
_[M_YJLK
M[YJNAPLGB
MY_JPSL]MHZBLJDK@
MYJSB[CPOZ
MYKBHL]AAHZFZGCYL
]MYKNMSJ[XN]
M@YKS_YAY
]MYKZ_KD
m[[[YLAe_[[[
MyLaLILEL)L
_[MY]LEJ_SCA
MYLGLXS_
MyLiLeL]LML!L
MyLiLeLMLEL1L
MyLiLeLQLML9L5L!L
MyLiLQLILAL)L!L
MyLiLYLIL9L)L
MYLLFOKMFZGA
MyL@L?LROCO
MyLnLWL?L
MY]LOBDNQBD
MyLqLeLQLIL)L!L
MyLqLiLaLULAL9L
MyLqLiLaLYLQLIL
MyLqLiLaLYLQLILAL9L1L)L!L
MyLqLmLULAL)L!L
MyLuLiL!L!O
MyLuL]LIL1L-L
MyLuL]LML9L1L!L
MyLwLZL?L
M|y[L|y	L|y
MyLZLHLtOaOMOBO;O
MYLZMZNK
MYMFQOCY
m||Yn||2n||	n||
_MY@NG_HLY
MYNHMF__
M.]Y]]nJ]
]MY@NOM_
MYNO[Z_F
MY@@N_QA
m||yn||Tn||)n||
m[[[yO_dx[[[l[[[a[[[
_]MYOEQH]CO
MYOG_NHQ
MYOLHHKHA
MYOO_SMSL
MY_OS@BL
m]Y]]-oX
[MY]PDPA[
M[[[y;PeB[[[
mypgppepq
mYpgppepq
MYPHAGOZF
MY]PHH]_SC
MYP[JYG_Q
MYPPPOMJ
M@YQAC[P
M_[Y]_QD
MYQDCOFE
MYQGEPMZ@POYBJ]OP]
MYQGGLKSZ
MYQOBNMYL_GAG]
M@Y]QPQS
MYQQ@NL_EMOY
]MYQY[KHOZHAAE
MYQZP[OQ
M]YSCKFCXQD
MYSC_O[_NYA]DHP
MYSFG_XJ]ZB
MYS_HG[S[L
MYS]NNJ_SB[O
[MYSQGZZQO
mYSSB|scbSS
MYS]@SED
m:YuUuI)
My)uyuyyy
M[[[yw9fK[[[
MYXADCXL_
MYXDKAY_PNF
m.#yxdyL
_MYXH_C[O
M:yxhy3!1*
m|yXl|y2l|y
M[YXQJAH
M]]YXQPQZXDXY
MYXQ]SEP
MYXS]DSSSPLDOC
MYX[SLM_JSQ
MYXSZBJSB
myxuy8HC0
..)myy58yypI
...m|yy5tyy|I
myy7iyy!hyy
..)myy9LyyrI9c
myy9yyyyyyyyyyyyiyy	yyyyyyyyyyyyyyyyyyyyyyyyyyyW
myyalyyClyy
myyalyyKlyy3lyy
myyalyyLlyy2lyy
]MYYAY]L[A
myy	AyyrIQo
M[YYBLP[
myyblyy;lyy
myybmyyTmyyEmyy)myy
myyclyyHlyy5lyy
MYYDKQSP
MYYEAAHMBB
.)myyE:yyuI
myyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyflyyclyy
myy!FyyqI
|MYyF[]zJHG))
MYYGAAOPJBNPBS
myyh8yyP8yyO8yy:8yy'8yy
myyHyyyIyyy
myyHyyy-yVyqyq
myyHyyyyyy
myyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
myyiiyyyyyyyyyyyyyyyyyyyyyyImyy9myyYmyyyyyy
MyyiLyy]LyyJLyy)Lyy
myyjlyyUlyy
MyyjLyyWLyy0Lyy.Lyy
MyyjLyyZLyy
MYYJXZXS
)myy	jyytIj
myyKmyy'myy
myyllyy)lyy
M|yyL|ygL|yGL|y3L|y
myy;lyyAlyyDlyy
myy|lyyilyyKlyy-lyy-lyy
myy]lyy#lyy
myy|lyynlyyRlyy;lyy lyy
myy|lyywlyynlyy
)myyMCyypI
myymlyyNlyy#lyy
MyymLyyPLyyGLyy6Lyy
myy myy)myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyshyydoyyxhyy_oyy
Myy;MyyOMyyQMyyyyyy
Myy	Myy:Oyy
myy'myyyyyy
myy'myyyyyyyyyyyyyy
myyNlyy(lyy
MyyoLyy)Lyy
MYYQG_OX
MyyqiyyqMyyyyyyyyyy
MyyQjyynhyy!jyy
myyqlyydlyyTlyyBlyy*lyy
myyqlyy]lyy9lyy
myyqlyy[lyyBlyy*lyy
MyyqLyyZLyy*Lyy
)myyQ@yyuI
myyQyyyyIyy
myyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyrlyyMlyy lyy
myyslyyflyyMlyy0lyy'lyy
myyslyynlyy_lyyMlyy;lyy6lyy
myytlyy:hyy
myytlyy_lyyFlyy!lyy	lyy
myytlyyolyyWlyy?lyy6lyy
myyulyyPlyy3lyy
myyulyyRlyyBlyy(lyy
myyulyyUlyy5lyy
myyulyyXlyyAlyy6lyy
myyvlyyClyy lyy
myyvlyyPlyy:lyy lyy
myyXlyy5lyy
MyyxLyyvLyyXLyyKLyy8Lyy*Lyy
m]yyxyyy
m|yyxyyy
M]yyxyyy
myyxyyyeyyyeyyy
myyxyyyMyyyMyyy
myyxyyyRyyyRyyy
m]yyxyyy|y|
M]yyxyyyyyyy!]yyhyyy
myyxyyyZyyyZyyy1jyy
myyy9xyyoyyy_xyyyyyyyyyyyyy9yy
MyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
myyyiyyyIyyyy
myyyiyyy	yyyy
myyyiyyyyyyyyyyyyyyyyyyyyyy
MyyyiyyyyyyyyyyyyyyyyyyyyyyKyy
myyyiyyyyyyyyyyyyyyyyyyyyyy	myyyyyy
myyylyyclyyflyy]lyyPlyy#lyy
myyylyyzlyy
.)myyySyyrI	
Myyyxyyy
myyyyyHH
myy)yyyy
Myyyyyyd|
myyyyyyklyyylyy
myyyyyylxy
myyyyyyQyyy
myyyyyyXy:
myyyyyyy
myyyYyyy
Myyyyyyy
myyyYyyyoyyy
MyyyYyyyOyyy
MyyyYyyyOyyyiyyyyyyyyyyyyyy9yy
myyyYyyyoyyyqyyyyyyyyyyyyyy9yy
myyyyyyyX
myyyyyyyyyy
Myyyyyyyyyy
myyyyyyyyyy3lyyqiyy
myyyyyyyyyy-lyyyiyy
MyyyyyyyyyyoLyyyiyyyyyyyyyyyyyyyyyyyyyyqLyyyyyy
myyyyyyyyyyqlyyiiyyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyy
Myyyyyyyyyyyyyy
myyyyyyyyyyyyyyyxyyy
myyyyyyyyyyyyyyyxyyyy
myyyyyyyyyyyyyyyyyy
Myyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyioyyyyyyroyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy4dyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMoyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyBjyy
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
MyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3x4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!y4#
MyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
MyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyWy4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
MyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKz4#
Myyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1k4#
myyyyyyyyyyyyyy'Zyyyyyyyyyy
myyzlyyrlyyklyyHlyy9lyy*lyy
myyzyyyyyyyNyyyyyyyyyyyyyyyyyyy
MYZCYSGQ_]
m)))[YZG_
M|yzL|y8L|y
M|yzL|yhL|yfL|yTL|yNL|y8L|y2L|y.L|y
MYZ_MBMSSZLX
MYZQBLEG@A
MYZQXYXF]K
MYZQZBQEML
m[YzYFFO
M_YZ_ZJYSE@D
@[[M[[[_Z
[[M[[[Z[[[
MZ9gqggXG
Mz9gqggz
M]ZAEF_GY
MZAGKHKD
m@ZaHS))
MZAL]BPX
MZ]ALMJONDGLMBNXAXJ
_MZAL[XJBYM
MZAP_N@F
')))M@ZB@
m@z@@B@AFac
M@ZB@AL]GM_
MZBA_Y@O
M]ZB@C@YL
M@ZBDHGHNL[M
M@ZB@DHNL
mz@@@@@@B@Ep@i
MZBFF_]K
MZBFM[HZiK[HMELPJF
M@ZBFO@EL[GLZAPYL[JHEJ@G
MZBJMKYA
MZB[PN[FCZD
MZBQXO[[ZALG[G]X
m@zC0qBv
MZ[[CBPG
MZCEJ]YK]C
M@@Z[CG]Y
MZCHS_O@XS__QJ
MZCJ[HXF
MZCQDH@CL
M_ZCQPL]ZOM[FPS
MZCS_Q[XLA
MZ_DESOP
MZD[JL@KB
MZDJODO]CF_Z
MZDSSG_LDXS
MZdU[[[u[[[
_MZDY[KHZ
mzdy[[[n[[[m[[[
m)))Z]@EEMLZ@NG@GN
_M]Z[]E_J
MZE_[JX_HDDP
MZEMMD[QS[
)))MZENFB[NFHQNFH_NFK[NFHQNFKYNFKONFKYNFHCNFHKNFK[NFHQNFBCNFB@@
M@ZE]YYA[MH
	)))MZ[FEL
M@Z[FF]HYY
MZF]NB]S
mZg'1gfG
mZg3dgfG
mzg3dgfGx
mz#gaggfwUC
MZGDAOLQ
MZggdgfG
M_ZggfG6
@)))MZ@G]L[GHEZ
MZGLQ]NLG
MZGL]ZL[_@JLZ
MZGNOSHJ
)))M[ZG@OOELZ
Mzgqgg]u9
M[ZGQ[OLB_C]LL
MZg#RgfG'r
MZGSOBXANLLAJN
.MZgukgfG6p
MZGZ_XXXJN
]M_ZHBX]DLE
m)))Z]H[]]@DL
MZHHK[HO
MZHHKHYIIIIIIIIIIIIINIIKIHJgIcI
MZHHZZ@Z]LG]
MZHJH_QQKG
MZ[HKAQJP[QQCBMHQY
M@ZHKE@GNZL[_
m@ZHKEL[
	)))M@ZHKEL
 )))M@ZHKEL
?)))M@ZHKEL
M@ZHKELDHGHNL[
m@ZHKELdzlvh
m@ZHKELeFNN@GN
M@ZHKELFGHJJLZZY[F]LJ]@FG
_M@ZHKEL@FH_Y[F]LJ]@FG
M@ZHKEL@FH_Y[F]LJ]@FG
M@ZHKELGF]@O@JH]@FGZ
_M@ZHKEL@G]L[GL]O@ELZ@GY_
_M@ZHKELH]]HJALDLG]Z@GY_
m@ZHKELh[JA@_LzJHGG@GN
m@ZHKELh[JA@_LzJHGG@GN))
M@ZHKELH[JA@_LZJHGG@GN
_M@ZHKEL]HZBDN[
_M@ZHKELJDM
m@ZHKELjFG][FEELMoFEML[hJJLZZ))
m@ZHKELkeFJBh]o@[Z]zLLG
m@ZHKELkeFJBh]o@[Z]zLLG))
M@ZHKELKEFJBH]O@[Z]ZLLG
m@ZHKELkLAH_@F[dFG@]F[@GN))
M@ZHKELKLAH_@F[DFG@]F[@GN
M@ZHKEL[LDF_HKELM[@_LZJHGG@GN
M@ZHKELLGAHGJLMGF]@O@JH]@FGZ
_M@ZHKEL[LHE]@DLDFG@]F[@GN
M@ZHKEL[LHE]@DLDFG@]F[@GN
_M@ZHKEL[LN@Z][P]FFEZ
m@ZHKELM))
M@ZHKELM
m@ZHKELmLOLGML[
M@ZHKELM]LQ]JFEF[
M@ZHKELMZJ
M@ZHKELMZJJFGO@N
M@ZHKELMZJJFGO@NDZDYZ_JZ]H[]
M@ZHKEL[u
M@ZHKELvL_HE
m@ZHKELy[@_HJPdFML))
M@ZHKELY[@_HJPDFML
_M@ZHKELZ[
)))M@ZHKELZJA]HZBZ
M@ZHKELZJA]HZBZ
M@ZHKELZJHGFG[LHE]@DLLGHKEL
m@ZHKELzJ[@Y]zJHGG@GN
m@ZHKELzJ[@Y]zJHGG@GN))
M@ZHKELZJ[@Y]ZJHGG@GN
M@ZHKELZL[_@JL
m)))Z]H]LFO]ALH[]HJHMLDP
M)))ZH_L]FO@EL
MZHMHZMHZM
MZHMOZJYH
MZHOKSJQ
]M]ZHPL[ZP
mZh(QSS[s
	)))M@ZHZ]L[
MZINRESOURCE 
m)))Z_JA@NAY[@_
MZJB_CSND
@MZJB]KXKA@SA
MZJEZEFN
m@ZJFGGLJ]
?)))M@ZJFGGLJ]
M@ZJFGGLJ]
M@ZJF_L[KL[]Z
M@ZJF_L[O@ELZ
m@ZJF_L[P))
M@ZJF_L[P
m@ZJF_L[Pk@FZ
m@ZJF_L[PzPZ]LDyH]A
m@ZJF_L[zyg
M@ZJF[MHYY
M@ZJF[MJHGH[P
M]ZJHL]GC_
MZJ]JBS]J]__
mzjjjbjj
MZJLQ]LGZ@FG
MZJLQ]LGZ@FGZL]]@GNZZL[@HE@SL[t
[M]ZJNAXX[@S
MZ[@JQBCQDZQ
m)))ZJ[@Y]
M@ZJY@DB]PDOH
MZJZGL_ZO
m@ZJz]LHE
m_[[[Z[[[K[[[
m_[[[Z[[[K[[["
M_[[[Z[[[K[[['
MZKA[DQ[OO
:)))M@ZKHEL
MZK_LBQEL
MZKLQJ[Y
MZKM@[LJ]
MZKQSB_O@
MZKSEJJNONOSC
M[Z]L]D[PKAYKJNA
MzLEL4LtOdO
MzLfLBL.L
MzLfL?L"L
MZLHMG@@XYB@
MZLH[QME
MZL[_@JL
M@]ZL[_@JLMLZBLNPY]
mzllllllllmllllOllylm
MzllllllllmllllOllylm
MZllllllllmlll]Y]]
MzLmLcLRL
MzLoLBL;L-L"L
MzLpLvLlLbLXL.L
MZLQXQDALO
MzLsLbLULDL
MzLtLSLML7L
m)))Z[LZYFGZL
MZ_MANH]XPGQE
MZMGXMZAYDJ
MZMMBOCXHD
[MZMOXOCE
MZM]PFPY_A
M]ZMQH]Y
MZ[[MQZ[
MZMZHMMMZJ[Y]LM
m||Zn||5n||
m||zn||Do||ln||Pn||8o||
M_ZN]J_MNX
MZ_NKDH[
MZNNYQY[_
MZNO]QXJYMBP_BAGG_CD
MZN][PDJKZP
MZNSSQJP_N
M]ZO@EKNMQ
[_MZOHBMLC
MZOHQDHA
MZOJ_KNOAABCOZMOMZOMZOL[NMONOMNMON[NL[[LNMONMONL[NKKJQSMOZOZM
]]MZONZZO
MZ__OOM_LHMY]ACPHFENQ
MZP[[CLPG
MZPDSFXH
M@_Z]PEL
MZPEX[XDL]YJ
MZ][PFDSG[PX_
MZPFFEGBSXABDG
mzpgppepq	
MZpgppepq
Mzpgppepqw
MZPJNC_Q_]
MZPOGYPNZ_
Mzppgppepq
MZPPP]J_]CDP
MZPX_AH_FSPSNQ@KA_MY
_M_ZPX]P
m)))ZPZ]LD
MZ@PZX]_SNF
M@ZQAAE[
M_Z]QCDYABHLN
MZQCYSCL
[MZ]QEYNPSQ]POX
MZQJOMOJ
MZQLSCSNNPSP]X
MZQNCCSQQD
]MZQNSDZMJ
[MZQN]YHO
]MZSAYSY]
__MZSCCSHBM_
M]ZSCSAJQJC
MZSCSXCP[AQPK
MZSDXMPJ]
MZS]FFLKJZM
MZS_LLZM
MZSQQN[B
MZSQSEECKK
MzSSSSYSS
mztY6AgfG
mzVdF[[[n[[[
MZ]vOFEML[
MZ]vOFEML[JY
MZ]vOFEML[O@JY
]MZX_HA]
MZ_XJ@LD
MZXX[_ODLPHLJYG]EKKOGAJA
MZXYPLOD
MZ[YAQG@X
M)))ZYEF@]
:)))M@ZYEHPEFHML[@GOF
m@ZYEHPeLHBhJ]@_@]P
M@ZYEHPFKCLJ]JFG]H@GL[EFHM
M@ZYEHPGFGL
m@ZYEHPgHDL))
M@ZYEHPGHDL
M@ZYEHPGHDL))
M@ZYEHPGHDL]LQ]
M@ZYEHPGHDLr
M@ZYEHPHEL[]Z
M@ZYEHPMGZ
MZ]YEZXOAXC
M@ZYFZ@]@FG
MZYGX[ZQJK
MZYH[B@GN
M@ZYH]JA
M@ZYH]JAG
M@ZYH]JAL_LG]
M)))ZYLJ@HEOFEML[
MZYLMJ_AX]Z
@M[ZYNHGMZGX
mzyyxyyyjyj
MZYZDYYDHNBSL_
@[[M[[[ZZ
@[[M[[[ZZ	
@[[M[[[ZZ!
@[[M[[[ZZ#
@[[M[[[ZZ(
@[[M[[[ZZ)
@[[M[[[ZZ*
@[[M[[[ZZ?
@[[M[[[ZZ[
@[[M[[[ZZ]
@[[M[[[ZZ0B
@[[M[[[ZZ1
@[[M[[[ZZ3
@[[M[[[ZZ6
@[[M[[[ZZ8
@[[M[[[ZZ9
@[[M[[[ZZ94*
@[[M[[[ZZa
@[[M[[[ZZa|I
@[[M[[[ZZb
@[[M[[[ZZ]c
@[[M[[[ZZcs
@[[M[[[ZZew
@[[M[[[ZZF
@[[M[[[ZZG!
@[[M[[[ZZh
@[[M[[[ZZ;H
@[[M[[[ZZH
@[[M[[[ZZH3-
MZZ]H[]ZZA
@[[M[[[ZZIQ
@[[M[[[ZZk
mZzK#!in
@[[M[[[ZZKQk
@[[M[[[ZZl:
@[[M[[[ZZL
@[[M[[[ZZM
MZZMD_G[
@[[M[[[ZZn
MZZNQ[M]Q[MZ_P
@[[M[[[ZZo
@[[M[[[ZZOHz
MZZOSJBAK
@[[M[[[ZZq
@[[M[[[ZZ Q
@[[M[[[ZZQ
@[[M[[[ZZr[;
@[[M[[[ZZS
@[[M[[[ZZTL
@[[M[[[ZZuH
@[[M[[[ZZv
@[[M[[[ZZV
@[[M[[[ZZVo
@[[M[[[ZZw
@[[M[[[ZZx
@[[M[[[ZZX
@[[M[[[ZZ@Y
@[[M[[[ZZY
MZZ]YJOBSL
))n))))(
))n)))))
[[[	[[[n
||||||:n
|||||||n
||||n|||||||
n||||||||||
n||||||||||||||||||
n||||||||||||||||||||||||||
))N)))))
[[[;[[[N
[[[|[[[N
||||||||N
N@@@@@@@@
N|||||||||||||||
N||||||||||||||||
N|||||||||||||||||
*.*'N0:?
*.*;N0*'
*.*;N0*;
*.*;N0*?
*.*;N0:'
).*'N0:3	
*.*;N0:?	3
*.*;N0:3
*.*;N0:3K3
*.*;N0*3L0
*.*;N0*3L3-?
*.*;N0*3M3-?
*.*;N0:3N1*?
*.*'N0:7
*.*;N0:7M0
*.*;N0:7O3
N0gqggYg
N0H9N(u H
N||0i||-i||
*.*;N0:?J3
|[[[N0JdC[[[s[[[
n0)j)RL0X[(WY0
*.*;N0*?K3-?
*.*;N0*'M3:?
*.*;N0*;N0*
*.*;N0:?N1-?
*.*;N0*'N3-?
*.*'N0:;O0
n0vBun;G
).*;N1*?
*.*'N1*;
*.*;N1*;
*.*;N1*?
*.*;N1:'
*.*;N1:;
*.*;N1:?
*.*;N1:;	0*'
*.*;N1*;	1-?
).*;N1:3
*.*;N1*3
*.*;N1:3
*.*;N1:3J3
;N1*3K16
*.*;N1*3N0*
*.*'N1*3N3
*.*;N1*7
*.*;N1:7
*.*'N1:7L3*?
N1*7M1-?
*.*;N1:7O0
n1DgqggH
N1[dO[[[
*.*;N1*'J0
N1*;J0:8F(
*.*;N1*?K0
*.*;N1:'K0
_	N1kggfw
N1llllllllmllllOllylmv
).*;N1:'N0:
N1:'N3-?
*.*;N1:'O3
N1pgppepq
N1QAAAAAA@AAAAAC
N|##20;#.
N|#20;#.
N|2(800R.
N2((#aa]Y]]kU_
n"!:!2@BAA@
n2gqggmw
n||||||||||||||||||||||||||2O
*.*;N3*'
*.*;N3*;
*.*;N3*?
*.*;N3:'
*.*;N3:;
*.*;N3:;	0-?
;N3:;	16
*.*;N3*3
*.*;N3:?	3
*.*;N3:3
).*;N3:3L0
*.*;N3*7
*.*;N3:7
*.*;N3:7	1-?
*.*;N3:7K0
*.*;N3*7M0
*.*;N3*7N3-?
N3g]kgfGzgs
*.*;N3*?J1:
*.*;N3:;J3-?
*.*;N3*;K0-?
n3k3gAgg;
n3llllllllmllllOllylm"sB
N3Lpgppepq'
).*;N3*'M
*.*;N3:?M0
*.*;N3*'M3-?
N3pgppepq
n3uQj5jd
-N3yx;y3
	N"?40(?
n45(-(58n
n4@@@@@BA@
n")4@BAA@
n-4dZ[[[1[[[
n4@@@@@eA@P@AEac
n4gLgAgg;
n||4n||ho||
N4pgppepq
N4xx]Y]]7kY
!N;5"4xx]Y]]
N[[[	5AdS[[[
N5fgfG?)f
n5g'egfG2N
n'5g]kgfG
n5#llllllllmllllOllylm
N5Tgqggn
N.5:WpgppepqL
N6dY[[[|[[[r[[[
n6g69JJtg
n6g6eJJtg
N6Gyyyyy
n6*llllllllmllllOllylm
N6llllllllmllllOllylme
N6Vgqggb#
[N73_TD9
N7!DDwKE
n7g7wggG
n7gggfwv
N[[[	7hf[[[[
N7llllllllmllllOllylmO
N7NNNNNN
n7QlW3QlalQ
N 7SQPQO
N#||||||||#8	
:N8A8O8O8O8A8N8N8O8
n8AA@AYqYE
'n8gfG'Z
n8GhA@9Q
(n8|)g_ogfG
N8gSfgfG
n8(gYngfG
N8I9I:I;I
N8O8P8Q8R8S8T8U8V89
n8pgppepq
N8pgppepq8
n8qgqggV2'
N8u[_CCNCCCBACC
N")||||92)|||||
N")||||92?|||||
n9aa]Y]]
N9bgqggp
N!9dH[[[
[[[N!9dP[[[)
N9Epgppepq
N9gAgg6ddK
n9gfG6l3
n9gwdgfGK
N9	!Ixx]Y]]ciY
N9llllllllmllllOllylm
n[[[9LZdV[[[
'N9NMI:N;xyxty
'N9OMK:IKxyxryJV(
n9pgppepq
	N9p.llllllllmlll]Y]]J
[n[[[9[[[s[j[m[h[c[o[w[o[r[w[
@)n9yWdJ
n@@@@@@A@
n@@@@A@@@
	)))[@NA]
)))[@NA]
[[[N[[[A[[[
N@@@@@@A
nA_]07:D(
NA9gX[[[
@@N@AA@@@A@@
nAAAAAA@@A
*NAAAAAA@AAAAAC
;NAAAAAA@AAAAAC
NAAAAAA@AAAAAC
NAAAAAA@AAAAACT
nAAAA@AAAAAC
NAAAA@AAAAAC
NAAAA@AAAAAC1K
NAAAA@AAAAACcjY
NAAAA@AAAAACq
nAAAAAAAACA@AaqASc
NAAAA]AAAZqaL
@@@@@n@@A@AAac
NAAAACA@AMqAz
@n@@A@AAacoo
nAAAAMqAL
nAAAAYA@AYqPE
n@@@@A	AACA@BAAAAAfqRAAAAAK
nAA@Ai!JL
NAA@Ai!Psq
@@@@@n@@A@ACa
:@@@@@n@@A@ACac
@@@@@n@@A@ACac
@n@@A@ACac
!@@@@@n@@A@ADac
@@@@@n@@A@ADac
@n@@A@ADac
_@@@@@n@@A@ADac
Naada]Y]]k
naaeagqgg
Naaga]Y]]
NaakIuaagG
N!a	aqaa6
NaAQAMAEA5A-A
NAASGMZLO
Naa]Y]]3
naa]Y]]a
Naa]Y]]f
NAAZNQJY
nA@@@@B@AB2 @E
N@@@@@AB@Cp@H
  n@@ABdp@O
n)))ABED
NAbhggfw
NABMZA]PZ
N_ABOQMAHXOAY[
nAbpgppepqT
NA[B@PSPNNXYZX_DHK
NABPSZYB_
NAB]ZEDO[H
@@N@ACac
NACANG[J_
@@N@AC@B@A@
@@N@AC@B@A@Hp@Q
nA@@@@Cp@M
NACPXBHC
NACQOG[E_OXNKLY
NACZL@XL
@@N@AD@@@A@@
NadC[[[6[[[5[[[
NADKLQK_NZKBBOK
n]AdL[[[
NADLFDSXG
N_ADO_XBMM
NAD[QMS_PAMY[
@@N@AE@@@A@
N[AEA6A#AI@.@
@@N@AEac
@@N@AE@B@A@2 @j
@@N@AE@B@A@2 @Q
NAE_BHQZG]M]BZAS@
NAEHYY_]
NAEJSDFD_NNMDKY
NAENGABGO
@@N@AFac
[@NA]]FELO]
N[AFP[YO[QM]J
NAFQ]AXPDOX
NAFZ]EFHML[
nAFZ]n[FF_L
NAFZ]ZAH[B
NAFZ]ZALEE
'NagfGI#
NA[GGCYJBJ@CA
NAGGQQLQQ]C_DBAOD
naggwB	 
NAGLDPMNP
nag#ngfG
NAGPJ[@D
n@@A@gp@N
n|Agqgga
NAgqgggd
!nAgqggKSl
NAGSZOCB]K
NAGXZQMH
NAHA_YMOCGGQZ
N@@A@h E]3
_NA]HFHJ[
N@@A@h FMHc
N@@@@@@A@h GN
N@@@@@@A@h GN]
N@@A@h KR
N@@@@@@A@h MMHc
n@@@@@@A@HpF_
N@@A@h PN]
_NAHQLEJ
]N_AHS]YASBQ
N[AIAGA?A(A.A
NAIHIBIJIJIJIJIBPNIBPOIRISITIUI
NAJBDGSB]GG
NAJG[_]OMK
N[AJJ_GZX
N[AJLXBGDMQ[N
'@N@AJMN@xyxry
N@]A[JN[ML
NAJODCGDZ_F
N[AJOJN_GGK_J
N@@A@JpF@
NAJQGHNESMP
NAKBNG[BJ
NAKE_OMP]Q_KDYDX@[P
NAKGE@LCQ
N_AKKSNKSEQBELMFX
'N@AKNK9Kxyxry
NAKOMXPHO
NAKOXKGESA
NAKQ__YH
NAKY_@SSXOBYXBJ
NAKZDGB@
N|AlA_AUAyyy
NALC_GKQ
@NALCSONHLS
((N]ALD][YE
NALGPNLCC
NA@@LHM;UOI;KULJO
NALJE]OLB
|nAllllllllmllllOllylm
NAL[OYYO@B
n|a(m|aHl|a
NAMAZYYPPCX[_J[
NA_MB]H[[APJJQXPL
NAM[BY]LP
:Name::at(): invalid index
namedattributes
NamesContainer failed
name_scrubbed
NameServerProtection
namespaceguid
names_scrubbed
NameTree::at(): trying to access bad node
NAMHH]XOL
@NA]MMJXYLS
NAMNXPFP_]LP
NAMO]ALGM@DONZMOM[][ZL]ONZMOM[][
NAMSSMMOXSS
N_AMYMA[EJ@
N_AMYMA[EJ@H
NAMZANMAMZBAMZBAMZBAMZABMZBAMZMZBAMBZABMZBAMZBAZMAMZBAMZABMZAB
@@@@@NA@N@A@ac
@@@@@NA@N@AEac
NANAFN_ZCCCPCJLD]Q
NANDLHKDJLX
NANHYPBNA
NANH[ZSPEE
nan(ind)
NAN(IND)
NANJNBPY_A
NA]NO[JQ
nan(snan)
NAN(SNAN)
NANSPGGKAKZ
NAN]YBQMCZK
NANYQQ@P
_NANZYLZQ
@@@@@NA@O@ACa
@NA@O@ACa
NAOJ_ZLOY
NAO_]]KC
N]_AOPYCNQKDN@
n'!AoVF:
@@@@@nA@P@AEac
NAPENLB]Q
"*'NApgppepq
nApgppepqvw'
NAPHDGPXPA
NAPKBCH]Y
NAPOPPXJ
NAPQHGANQQ
NAPX]ZMB
@nA@Q@ACac
NAQD_JSJJON_ZLQYHFC@P
NAQDOQML
NAQES@YEE
NAQFHS[X
N[AQJQKMNS
NAQK@KJJO[_CDMJMYMPYCDAAMP[
NAQMSEZX@N
N)Aq@m@X@?@
]NA]@QNAP
NA]Q@NHOO]_SJDBEAH@[[
N]AQ_PY[H
N|AsA4C"C
N@ASAKA_EYZ@YBZBYBZBYBZBYBZBYBZBYBZBYBZBY
NASDOGOO
NA_SEYBB]N[NEE
NASKS]ZYDYS
NASOB[MHO]
NASO[HGO
NASPOLLXYQ
NASXJNQNY
NASYY[_EZQHH
NASZN_GQQYMYCJ[GP
N|AtAoAbA]APA3AmC[COC
naturaleftouterightfullinnercross
N|AuAOA8A
navigator
Navigator.javaEnabled() and Navigator.taintEnabled() are not a constructors
(navigator.systemlanguage)?navigator.systemlanguage:navigator.language
NAXACZDK
NAX_DYAY_PE_KNZJFQ
NA_XLJCLY]EEZ]KPOPS
NAxx]Y]]
n)))A]]Y
N)))A]]Y
[NAY_COK
NAYDLJ@]CL@L
NAYD[P[OD
NAYOXNHDX_MQH@YDJ
N  a     ]Y]]Q
N)))A]]YZ
NAZCHEBAL[HKZ[
NAZDHMFGHKZ[
NA_ZPDPA@ADOXO@
NAZ@QESN]CJKC
NA_Z_X_AMCDM
N]AZ]YBFNOKK
NAZZZHJK
[[[n[[[b[[[
Nb6gqggPE
Nb8'gm(|
n@@@@B@A@@
N@@@@B@A@
N@@@@B@A@@
NB@A@2 @B
N@@@@B@A@2 @CE
nB@A@2 @DL
n@@@@B@A@2 @E
N@@@@B@A@2 @E
n@@@@B@A@2 @Emr
NB@A@2 @F
NB@A@2 @G
n"@@@@B@A@2 @H
NB@A@2 @P
nB@A@2 @S
N@@@@B@A@2 @W
NB@A@2 @YRo
NB@AA2 @J
N@@@@B@A@ap@CE
"n@@@@BAB@
n@@@@BAB@
N@@@@B@ABLp@m
n@@@@B@AC@
N@@@@B@A@dp@X
NbAHA*A#A
N@@@@BA@@Hp@WqG
n@@@@B@A@Jp@Ly
NBALL[PEYM
n@@@@B@A@mp@J6
NBAYOS_ZMZ
@N@@@@B@B@
nBBA@ap@@@@@@@@@@@:@@F@ACac
NBBA@Kp@@@@@@@@@@]Y]]
nBBBBBBB
NBBBBBBB
N_BBHHNXPOSNYYJNMFP[@PFH
N@@@@B@B@Hp@
NB[BJN[XNL
NBBLCGM[H_
NB_BMAA[EAYH
@NB]BMMBN
NBBOCZX_M
N@BB@[pC@@@@@
NBBY]SXS
N[BCAQJHXONJN
nB@CBLp@J
nbcclkyVQ
NBCGGBA[ADY
NBC]NSLY
nB@@@Cp@
NbC]Y]]9'Y
n#Bd;9v_
n@@@@BDBAHp@_Dv
NB_D__B_JB_NYZK_NK
nBdG[[[M[[[
[N]BDLAYE
@NBDLsBN
NBDSK_QNGK
_NBDXMZX@
NB(dY[[[
NBEAOJAD
NBEBPSAJS
nB"eC[[[
[[[*nbeI[[[
N[BENAYACSGYPANGM
NBEONSBKZGKCZM
NBFMLKHN
NBGDLDE[ZH
NB@]GFKSGY_YXCC
NBG_MC[ONS
NB][GM@@Z
NBgqggh33Z
	nBgqggy
NBGY[GXM
NBGYNMQLE
NB@GZJYQNLKPGJLMN
NBHBSEF_@G_YG
NBHGLK_ED
)))NBHL_JC
NBHNKL]B_
NBH_OSXN_AO
N@@@@B@@@Hp@CE
nbIAAAA@AAAAACq
N]BJ_C_N
@NBJ@]E@DE@ZBK@EEBEgoE9@FE9@[B]I9
NBJKX[_HQ
N@B[[JNSB[
NBKFXNHAXJ
NB[KGYMMG_S]
NBKMJJ]N[
NBKQHDXC
NBKS[_JYN[SKPZL
N]BKYG_X
N_BKZOZAME_
n@@@@BLB@Hp@N
@NBLBM	@LBMD9
]NBLJHLMYGZMZ
n.BllllllllmllllOllylm
(NbllllllllmllllOllylm9;
nB@@@lp@E
NBLSMPZZNP
NBLXOJP_XGH[HQJLXLB
NBL_XSMDAP
N]]BM]DYAEG@Y]
Nb)mggfwm
NBMGSBS_
NBM]NJBP
NBMSZZDYL
[n[b[m[v[o[c[i[c[v[o[
NBNA[JPH]H
@NBNB@BU
NBNBZ]ASMA
nbncndnen
NBNDJ[GJ
@NBNEl?WSSBNU
@NBNI9	Ab
NBNKN@ZEK]MB
@NBNMgQEyBUL_9
@NBN(MSSW@TBT
NB[[NNALGQLSN
@NBN@OxXp
NBNP]ASLJQHMLGPNZ]N_KNB
nB@@@Np@K
[NBN[Q@B@
NBNQKLQC
@NBNsSCSSe
@NBNsSQSSfQEysSRSSBNLs
@NBNsSSPSeQEyBNsS
@NBNsSWSS[
@NBNsSZSS
NBOABC_YOE[ZQCGBB
NBOAMO_S
N[B]OBAQA
NBOK__@D]G_MM
NBO@MMYKA
NBONASJXS
NBONJJ_BN_FHB
_NBOYDL]
N]BOZMO_SP
NBPAJJOY
NBPCKBPnTuX
NBPE__GJ]LGK@FDAADHNG
n(b-pgppepq
nBpgppepq
NBPKYG]E
[NBPQ_L_]
@NBPS]BSZQGOF
NBPZP_XOBJ_
NBQ[AMOXJK
Nbqg7fgfG
NBQMGOQLC_[D
NBQO[_SY
NB]QQ_MXS
nbqxril	c	
nbqxril	d	
nbqxril	e	
NBQZPHOY
N?;bRgfG
NBSBQD[HEAHSLPHK_
NBSE]COXMQZ[X]XJJ
NB@SEDSZASOZ]
N_[BSGM[
NBSHCDKY
NBSH]OKG_]YJGJ
NBS_OOPQ@MFE
NBU9ggfwg
NBwI9	Ab
N@BXBSYN[]C
NBXKMLXO
N]BXLYPHXX
NBYAKH[P
N_BYBQQY
NBYDCQGDB
NBY_DN]OY
NBYGQ@AJGYK
Nb@Y@pC2C
[NBZBLG_@
NB_ZG@F[XO
NB]Z]@GFZ[
NBZHCMNYHQKSY]N
N[BZJMG@[BGPF_LK
NB[[[Z[[[K[[[
nB[[[Z[[[K[[[z
N@B[ZOYAABNX_[NBG_@JK@[_P]_FK[MNK
[NBZSH@[OLXMZ
NB_ZXSC[SSSS
)))[N_@C
NCA@AIqAS
[NC]ABQSOK_P_
N@ @@C@ACac
NCACXNYB
NCAEELEY
n@@@@@CA@N@ADac
Ncannot read!
NC@APLDE
nc@@@@B@A@2 @K
NCBNLYGS
NC[BSF]X[HC
N@CBXMDY
NCBZHALQ
nC[[[c[[[a[[[[[[dY[[[
NC]CAHGQ
@@N@CC@BAC@Hp@Kpu
N	c	c	c	
NC]CCCMLCZM
_NCCK]D_HHCQ
[NCCLQJGB
n_CCNCCCBACC
N]CCNCCCBACC
NCCONL]]MQCP
NCCONMYCQDCHE
NCCZE]HBFMY
NCD[B_CQHE
NCDE]]DH
nC(dI[[[
NC@_DJLQMGAPMZOK
NCD]KLEML_Z@]
NCDQXSGDG
NCdX[[[i[[[
NCECO_B@KYA
N_CEJQBNP
NCEJSGSM
N@]C[EX@EJ
'nCfgfG.
NCF]]NBXQZH
NCFNFSGQGPP
NCFO]KXAFCEHQA@CPN_KP_
[]N[CFY_
N[CG_JPOJFKML[
NCg#mgfG
NcgN[[[Q[[[
]NCGO]MJ
NCgqgg;b#:
nCgSagfG
*nCgskgfG
NCGXKJQ[JPKZX
NCHDDKKQZMZFGCDQMHD@PPM
n|cHm|oOr
NCHNHY[HL_XKN
NCJGCZLPAL
N[C_JGKPY
]N_C[JGZX
NCJOLHP[GS
_NCJPPAAHYD_AM
NCJSCAK@MF
NCKDCPBOD]S]QLJYPHOJM
NCKDKGQP
NCKGBFC]LY
NC_KG]YK
N@CKJLKSXJ
NCKKYXG[Z@CHMJA
NCKQJZELNOAKL_FQM]
NCKQ]Y]SFX
NCKSA]SSX
N[CKYAA_E
NCLBGAJXLM
N_CLEDOYL
NCLLCP[_O
ncllllllllmllllOllylm
NCLNJNSX
NCLY[_BZ
NCLY[FCMNYO
NCLYSLB]K
NCL@YZPKEOHZ
NCLZHL[BN
NCMBN[HBL_N
NC[MCHYPZ
N]CMDPAH@@
_NCMGHOEBX
NC]MLQPL
NCMM@POSMOGL
NCMZHZLL
NC@MZMNL[C
NCNDECGQ
NC[NDM]_
NCNEHS]GB_[
[N[CN[H]YSY
N_]CNK]DLCBQSJCKF
NCNQLPHL
]NCNSKHLHMNX
NCOCAS[SQ[FM
NCodeSlots
NCOG[FLAL
NCO[G[YO
NCO[MEEC_H
NCOND]Y_A_SJSZ
NCOZQACCHG
@nC@p@AEac
NCPDQ_@@
NC_PE[[[_YQ
N]@CP@]F
NCPJ[XCDXSAQJXOQ
NCPSYPEL
NC]P[ZAMODX]QSKO
]NCQ_BA][O
NCQ_BQY_
@nCQCCC4C
NCQFKYXACBDQ@_Z
NC[Q]HM[EJ
NCQJBG[YYLKZX
N]CQNNLH
NCQOD@DK[_
NCQQJYH@J
NC]QXJK[
NCQZ@KAE[A
NCryptCreatePersistedKey
NCryptExportKey
NCryptFinalizeKey
NCryptFreeObject
NCryptGetProperty
NCryptImportKey
NCryptOpenStorageProvider
NCryptSetProperty
NCryptSignHash
ncS[[[)[[[.[[[
N]CSA]KBCQ
[NCS_BOY
NCS]NKZJPZOO_S
@NCSXNKPQ
NC@SXXNC[GLN
NcTdC[[[
Ncume_dist
N[[[CuPdC[[[
NC[XH_E_HH
NCXPALJ]A
NCXYOAMH]P
NC_[XZ][
N]CYAPG_O_D
NCYJNOSNLOG
]@NCYKDOSP
N]CYKXPHGCPK]K
_NCYSJSC
NCYYLY_QZ
[NCZBF@G
N]CZEG[D[GY@X]]
[NCZG_KFY
]NCZJLZZLP
NCZM[NN[MDLN[N@HC
NCZPDZAS[
NC@ZPQZA_SN
NCZZZO[YOYCEPCS]DHJP
n|d][[[#[[[
||||n|||||||D
Nd][[[![[[ [[[
Nd_[[[-[[[#[[[
[[[N[[[D[[[
ND2lkaaeagqggx
nD4llllllllmllllOllylm
nD*4WSJWU_gWgg
"nd[7	dZ
Nd][[[9[[[4[[[D
ndA[[[-[[[
NdA[[[*[[[
NdA[[[8[[[
NDAAL_AMOJ
NDABSAX]_CG
ND[ADGGOCJQJ
NDAEGBNS
NdA[[[H[[[
n_dA[[[m[[[
N_DANJJ[
NDAT_API_ATTRIBUTE
NDAT_DBTAG
NDAT_DONTCOUNT_API
NDAT_EBHASHDATA
NDAT_FIRE_EVENT
NDAT_INCLUDE_DNS_CACHE_INFO
NdA[[[t[[[j[[[
NDAT_LOGSKIP_ENTRY
NDAT_PDBNAME_REGEX
NDAT_PDBPATH_REGEX
NDAT_PROJECTNAME_REGEX
NDAT_PROJECTPATH_REGEX
NDAT_REGEXP_GENERIC
NdatRegExpMatch
NdatRegExpMatch: only NDAT_REGEXP_GENERIC is supported as type
NDAT_RKPAT
NDAT_VFS_LINK
NdA[[[y[[[x[[[
[NDAZBJXZMA
(N_dB[[[
Nd@[[[B[[[
Nd[[[[B[[[
NDBAMYNBC
NdB[[[c[[[
NdB[[[I[[[
NdB[[[n[[[
NDBPZY@_LHMKQ
NdB[[[Q[[[
N]DBXNBGN
NdC[[[0[[[
NdC[[[0[[[7[[[x-|dJ[[[
ndC[[[8[[[0[[[
@@N@DC@B@A@Lp@m
NDCBJKQN[
NDCBYJ]FKXX
NdC[[[D[[[z[[[
NdC[[[h[[[
NdC[[[K[[[A[[[d
NDCLHBKHG_MJJSJP
NDCLOKHNO]PYQCOQL
NDCLSEYD
NDCLYQXPO
N_D@CM]BNQHGC
NDCMJ[SZED[Q
NdC[[[n[[[
NdC[[[n[[[b[[[0w
ndC[[[u[[[
NDCZ[_HNB
NDCZPOE]K
ndddmlho
NdD[[[F[[[D[[[
NDDGC]CS
nDd@[[[i[[[
nddimhid
nddinomd
nddjjdko
nddkjdjk
nddkoomlk
NDdK[[[X[[[U[[[#l
nddmelml
nddmhkjkj
nddmjodh
NDD_NAA[]_HNL
nddnnkim
nddodeio
nddolmie
nddomilln
nddomneh
nddoonno
NDDOPOJDYH
N[DD]PAKHMLLBHF
n.DdQ[[[
nddU[[[5[[[
NDdW[[[G[[[h[[[
]N[DDXQBM
@N[DDY[Q[
n[[[@	DdZ[[[
NDdz[[[_[[[v[[[
Nd][[[E[[[
NdE[[[![[[
NdE[[[?[[[.[[[
NdE[[[5[[[
ndedhmjk
NdE[[[e[[[
ndehklkj
ndeikeme
ndejjjhi
ndekjoji
ndeklmhed
ndekoiike
ndeljinoo
ndemeeoik
NdE[[[n[[[
ndenedei
Nd[[[[E[[[o[[[
ND]][EONDBFG
NdE[[[r[[[e[[[Q
NdF[[[#[[[![[[
NdF[[[7[[[
ndF[[[8[[[
NdF[[[g[[[
N)))DFK@EL
@NDFK@ELB]
NDFKO_LSNB[
NdF[[[l[[[
NdF[[[M[[[
n)))D@[[F[O@EL
NdF[[[V[[[C[[[
NDG@AKD]
NDGALPHHSJJXZB
NdG[[[c[[[a[[[
n*'dgfGB
N?D|gfGLPcQgqgg
NdG[[[g[[[
N[D_GGJM
NDGGL[LLXGLN
NDGLFC@GH
NdG[[[O[[[
NDGOKYKSZJ[LK
NDGPZ_MEXFC]_
(NDgqggI
ND|gqggZ
NdG[[[W[[[M[[[3*feM[[[V[[[J[[[2Q
_NDGXPDA
	"NdH[[[
]@NdH[[[
NdH[[[)[[[
NdH[[[:[[[
ndH[[[8[[[
NdH[[[a[[[
ND]HAQ[O
NDH]CMYD_QEB
!NdH[[[D[[[
[[[NdHdK[[["
NdH[[[e[[[
NdH[[[F[[[E[[[
NDHGZZYPPOJ]XC
ndhhiomd
ndhidknhl
ndhionihi
ndhjjike
ndhkkjmi
ndhldemij
ndhlkhdk
ND]HLS[CO
ndhmdjjdm
ndhmnded
ndhmnooh
ndhoiiem
ndhonljnm
n)))DHO@Q]LBZ]@E
NDHPXHHQX
'NdH[[[u[[[d[[[
ndH[[[x[[[
 NdI[[[	[[[
NdI[[[*[[[
NdI[[[a[[[
ndidjehh
.NdI[[[e
ndiekdokk
ndiekmnj
ndihdlmnh
ndihidhdd
ndiiihke
ndiikhkn
ndijejohd
NdI[[[j[[[h[[[
NdI[[[|[[[k[[[
NdI[[[k[[[h[[[.;ogO[[[
NdI[[[k[[[h[[[p
NdI[[[K[[[I[[[
ndikmdhk
NdI[[[L[[[F[[[
ndilhlon
NdI[[[m[[[
ndimiddde
ndimldken
NdI[[[n[[[
ndinjledj
ndiommiki
NdisDeregisterProtocol
NdisGetVersion
Ndis Protocol Block
NDIS Protocol Block
NdisRegisterProtocol
NdI[[[t[[[o[[[u
NdI[[[w[[[
NdI[[[Z[[[
N||||||||||dJ||||||||||||||||||||||||||
NdJ[[["[[[![[[;
NdJ[[[@[[[
NDJ[BXNA
ndjdkmihj
ndjdolhj
ndjedmdn
_NDJEHMOLPO]ZFZ[ZBLNS
NdJ[[[g[[[
ndjhdeone
ndjhhkdd
ndjhonnoe
ndjiddkm
ndjiklii
ndjinimd
ndjjdihl
ndjjkikm
ndjjmhdm
ndjkhenh
ndjkkmdj
N_DJKMYAZ
NDJLZYNH
ND_J[MCQ
ndjmkemmn
NDJ[MQYLBLBCMSXHANPDNZ@
NDJMSMQDKG
ndjnnmmdn
;NdJ[[[O[[[
ndjojdmk
ndjolijne
NDJQ_GOCC@Y
N[DJX_KL
NdK[[[	[[[
NdK[[[ [[['
NdK[[["[[[
NdK[[[:[[[9[[[
NdK[[[9[[[8[[[3
NdKd*d]T7f
NdK[[[e[[[
ndkekjhdh
ND[]KFOFA
NDKGPQX[Y[ENFJ
NDKHJASBJ_PB_XLFJ
ndkiddjl
ndkjehij
ndkkhhkhe
ndkldhkmo
ndkllnol
ndklmjdl
ndklmmloi
NDKLYKKLS[PD[DBXO
ndknlhdl
NdK[[[o[[[7[[[Hp
NDK[ODXO
NdK[[[V[[[
NdK[[[Y[[[
N[D]_KYJS
NDKYKQAZJPJO
NdK[[[y[[[r[[[u
;NdL[[[;[[[
NdL[[[([[[
NdL[[[3[[[
NdL[[[5[[[4[[[#
NdL[[[9[[[
NdL[[[B[[[
ndldedke
ndldenlmm
ND[L]DGJO
NDL[ECJEH
NdL[[[F[[[p[[[
N]DLGZFA
NDLH[QXD
ndlilnmje
NDLJH_JMJMJM
N]DLJLMAMX
_NDLJO@G]SS
NDLKALK@CO
ndlkddil
ndlkmnmei
ndlleeeo
NDL_LJHGBZ_S
ndllnjim
ndlmekkl
ndlmhnhnd
ndlmidll
ndlmmdmoi
ndlnonjld
ndloneoim
N_D]LQD]LQD]LQD]LQD]LQDZ
NdL[[[u[[[k[[[M
NdL[[[Y[[[C[[[?
NdL[[[Y[[[x[[[
NdL[[[z[[[
NDLZXM__YG
ndM[[[)[[[
N@DMBJXJQJAS[
@ndMc[;#
NDMDBD[FLMPYH
n|d(m|dHl|d
ndmdmjed
ndmehmlkn
ND[MEO_Y
NDMGLCN[PXS_
ndmhhjhle
ndmhllll
ndmhmdle
ndmiojli
ndmjimmem
NDMJL]FKCDMJLJ]
ndmkmeelh
ndmlkeojo
)NdM[[[n[[[
NdM[[[n[[[
ndmnniei
ndmnoilho
#-NdM[[[O[[[C[[[
ndmodjjh
ndmomidje
ndmonknd
NDM@XAFGPAM
NdM[[[X[[[P[[[
NdM[[[y[[[
NDMYCAHPKGLZ
NdM[[[Y[[[i[[[
NdM[[[Y[[[n[[[
NdM[[[Y[[[s[[[
NDMZGJDS
NdN[[[)[[[
NdN[[[8[[[
NdN[[[d[[[
NDNDLMZX
ndndmmdii
ndneellm
NDNFCLA[G
NDNFG[SK
NdN[[[g[[[
ndnhdhji
ndnhnojoj
ndnijhmeh
ndnikond
ndnkmknm
NdN[[[l[[[c[[[6
ndnnjmil
ndnohdnh
ndnolmdki
ndnomnji
ndnooehj
]N@DNPEYGSJ_N
NdNQX*[O
ND_NS_CBO
_NDNXPMJH
"NdN[[[y
NdN[[[Y[[[i[[[
[NDNYJLX
NdN[[[Y[[[k[[[
NdN[[[Y[[[q[[[
NdN[[[Y[[[u[[[
[[[	[[['-NdO[[[
NdO[[[;[[[
NdO[[[_[[[
NdO[[[0[[[7[[[
n#@dO[[[a[[[3[[[
ndO[[[b[[[
-NdO[[[b[[[
N@]D[_OB
ndodkjjmm
NDOEEDM[@
ndoemlkd
NdO[[[@[[[G[[[
ndohjmlm
NDOHKJLC[G
ndohlijio
NdO[[[I[[[@[[[
ndoiheje
ndojojik
ndoklleli
ndoldmdj
ndoljhmo
*NdO[[[m[[[e[[[
ndomemnhj
NDOMJCO]FD]_YNN
ndomkholk
ndondinl
ndoojhlh
ndooojin
n DOS mo
NdO[[[u[[[
NdO[[[V[[[
ndOvagfG
NdO[[[x[[[
NDOZCJAOBONPOZFE
NDOZ@XPYHY_NBYJ[
NdP[[[.[[[
NdP[[[;[[[
NdP[[[@[[[
NdP[[[A[[[
NDPAXYGYYJ
NDPBEJQJ
NDPBYYXX]S
[N[DPCOFLGHHQ
Ndpgppepq
	NDpgppepq:
NdP[[[k[[[b[[[
NDP[KXD[
NDPNSFOA[NXJNS]GKQ_JN[B[
NdP[[[u[[[m[[[b.
NDPY[BOLH_YADLLOXP
NDP]YZ]ANGHC]LD
NDPZXZQKMM_MHKYHH
Nd][[[q[[[
NdQ[[[	[[[
NdQ[[[([[[
NdQ[[[B[[[
NdQ[[[c[[[
n:d@q:ds
NdQ[[[H[[[@[[[
NdQ[[[K[[[C[[[HV
NDQLHCDZAX
NDQLL]FKCDQLLJ]
NDQLPMODQPL
ND]Q]MFKEON
NdQ[[[o[[[
ndQpgppepqM
NDQQCQJKQ
NdQ[[[r[[[k[[[
NdQ[[[S[[[N[[[
;NdQ[[[t[[[
NdQ[[[u[[[
_NDQXYB[D]GP
NdQ[[[z[[[
NdR[[[c[[[
NdrClientCall3
NdR[[[E[[[v[[[
NdR[[[f[[[e[[[
NdR[[[s[[[
NdrServerCall2
NdrServerCallAll
;NdR[[[T[[[
Nd_[[[r[[[w[[[@w
NdR[[[y[[[x[[[
Nd][[[s[[[
NDS_AXL_YQGE
NdS[[[e[[[
N@DSFQKMJ
NdS[[[g[[[
NDSKY[KKCMG
NdS[[[L[[[
NdS[[[L[[[@[[[
NDSMHZQONMGQC
NdS[[[n[[[c[[[E2
@NDSO@[[JFYD[SS
NDS[P[[XN]]NJ
[N@[DS]QNO@]QNL
NDSS_]NO[ZS[LQM]_
NdS[[[s[[[r[[[
NdS[[[s[[[r[[[c
NdS[[[T[[[I[[[
NdS[[[u[[[	[[[]
_NdS[[[x[[[
NdS[[[z[[[i[[[
|.NdT[[[
NdT[[[([[[.[[[
NdT[[[-[[[
NdT[[[f[[[
NdT[[[l[[[
NdT[[[S[[[
NdT[[[Y[[[
NdT[[[*[[[)[[[?y4eT[[[
_NdU[[[_[[[
NdU[[[*[[[)[[[
NdU[[[-[[[
[NdU[[[a
NdU[[[b[[[a[[[u
NdU[[[C[[[
NdU[[[D[[[
NdU[[[N[[[@[[[
ndU[[[T[[[
NdU[[[T[[[c[[[w
;NdU[[[w[[[o[[[2wJdJ[[[v[[[
NdU[[[x[[[
NdU[[[Y[[[
NdV[[[7[[[5[[[
NdV[[[n[[[
NdV[[[o[[[
NdV[[[t[[[
NdV[[[u[[[m[[[
ndV[[[Z[[[
n[[[[[[dW[[[
NdW[[[	[[[
NdW[[[B[[[F[[[iM5eF[[[
NdW[[[e[[[
NdW[[[@[[[G[[[- 
NdW[[[k[[[m[[[lK
[[[N"[dW[[[l[[[
NdW[[[l[[[
NdW[[[N[[[
NdW[[[r[[[o[[[
NdW[[[s[[[
NdW[[[u[[[m[[[
NdW[[[W[[[
;n]dX[[[
NdX[[[7[[[5[[[
Ndx[[[:[[[9[[[
NDXC]Y]]U
NDX[GAMXCMQOL]S
NDX_JBSKC
NdX[[[J[[[I[[[
Ndx[[[J[[[N[[[M
N]D[X]JPZZHH
NdX[[[p[[[w[[[
NDXPXS_DZHKOCFBY
[[N]DXSBCPCX[
Ndx[[[S[[[k[[[
NdX[[[T[[[E[[[
NdX[[[Y[[[t[[[5
NDXZDP[BZ
-Ndy[[[.[[[
Nd][[[Y[[[
N[@[__DY
ndY[[[7[[[
NdY[[[7[[[)[[[
NDYAHPKLQDGC
NdY[[[c[[[
)))N[DYE
NdY[[[g[[[
NDYHNAX_P
NdY[[[k[[[i[[[
NdY[[[K[[[N[[[y
]NDYNAHO
')NdY[[[N[[[D[[[
NdY[[[n[[[m[[[
NdY[[[o[[[
Ndy[[[p[[[
Ndy[[[q[[[
NDYQPLOSSQ
Nd@[[[Y[[[T[[[
Nd_[[[Y[[[w[[[
Ndy[[[x[[[
Ndy[[[Y[[[C[[[
Ndy[[[y[[[r[[[
NdY[[[z[[[
|n|dz[[[
Ndz[[[#[[[
NdZ[[[7[[[
n)))DZA]H
@ND_ZCPXSJSO
N@DZFKKM_LNBGGBHAAMCZQ
Ndz[[[J[[[
NdZ[[[J[[[
NDZK@_D_B
]NDZKHMJY
n)))DZQDE
[NdZ[[[T[[[
NdZ[[[W[[[
NdZ[[[w[[[u[[[
Ndz[[[y[[[u[[[
ND_ZZ[BQDF@Q
[[[n[[[e[[[
Ne[[[[|[[[
Ne7gqggX
neAAAAAA@AAAAAC
NeA[[[b[[[
N[EABSK[FY
N@*@@E@AFac
NEAGZ[_QBG][N
NE@AMPKKAOCXK_YPQEBSL
NeA[[[M[[[r[[[
NEAR_IND_CALL
NEAR_IND_JUMP
NEAR_REL_CALL
NEAR_REL_JUMP
NEAR_RET
Ne@@@@B@A@2 @a]e
N@e@@B@AC@@@@@np@H
neB[[[b[[[
Ne@[[[b[[[g[[[
nebg_agfG
NE]BKCJC
N_EBLDPN
NebllllllllmllllOllylmeMb
[NEBPBP[
NEBSPMJ[[
NECBMMQS]MS
N]EC[LSQYQL
N]EC[SLQYQL
NE_C_YBD_
N_]EDALLXBB
NEd_[[[i[[[h[[[
N_EDLO[]C
NEDOHALYLX
nEdP[[[A[[[E[[[
NEDYKXSP
NEDYXGDQLNYCLDY
need at least one digit after '.'
need at least one digit in exponent
need dictionary
NEEGOC]MLJD
neE[[[|[[[s[[[
N.E'Eyyy
N__EFJHE
NEFJHEZ@NGY[F]LJ]LM
NEFK][F]][H_LE
@NEFK@GL
 )))NEFKHE
)))NEFKHE
)))NEFKHEAFDLYHJBL[Z
NEFKHED@GL[
NEFKHE@DHNL
NEFKHEEFN@Z]@JZ
NEFKHEE@Z]
NEFKHEE@Z]Z][
nEFKHEhJ]@_@]P
NEFKHEHMD@GZ
)))NEFKHEHZZLDKEPJHJAL
NEFKHEHZZLDKEPJHJAL
NEFKHEJFGZ]
NEFKHE[LEFHM
NEFKHELHNELLG]
NEFKHE]LJALHE]AP
NEFKHE[LMMPOLML[H]@FG
NEFKHE[LZL]Z
NEFKHE@SH]@FG
NEFKHEZ]H]L
NEFKHEZ@NGF[NHG@SH]@FG_HE@MH]@FGJH
?)))NEFKHEZr
NEFKHEZr
NE]FYABO
NEGATIVE_INFINITY
n)))E@GB
NE@GBLELJ][FG@JZ
negfG5(Kkgqgg
NegfGKd#igqggIS
neggG53*ugqgg
NegGtgfG
NEGJDDN[YZPQX_BS]
negKdgfG]I_
_]NEGMAYP_OOOL
Negqgg2Z
n-egqggs
NEGS]QH[
nEgujgfG
@NEHCPH[NB
]NEHD]LOPYS
NeHdP[[[([[[
n[[[EHEdB[[[
_@N@EHGJL
NEHGJLZHM
NE]HGO_G
n)))EHGZL@M@
NEHHOGBJ
nehkielh
N@]EHKJE@LG]
NeH[[[l[[[
NE[HOODQ
@NEH][XJXNP
nejggdgfG
NEJGOLGGXQO
N@EJ@]HZCMB]ZG
nejljeonj
NE_JMFKDKP@
nejnjelj
NEJZNGCHMND_MXB
NE]KJ[ZN
nekmlmjj
NEKN[[YX
nekomlok
())[NE]@L
@[]N]]EL]
NeL[[[e[[[
_NELGCDL
[NELHZFG
nelljmdi
NellllllllmllllOllylm
nEllllllllmllllOllylmm
NellllllllmllllOllylmV
nellmjhh
NELLMJ_SK]
_NELMNPBBA
NELNO[AKZBQKXXB
N[ELY]SL
n|e(m|eHl|e
NEMGPNNQXXD
nEMgqgg@.I'
nEMgqggu
NE]MLY_]
NeM[[[n[[[a[[[5
@N[EMNOYKADZ@O[PLZKA
NEM]OGXHZDHG
nemohije
]NEMO[JKKS
NEMSLGLJ]HSHDFA
NeM[[[v[[[u[[[
N_ENDJ[LJZQ[QLQGMN
[NE_NDP_MBQDS]DG
N]ENOOQQ_
NENZ_KOSC
neodnjhnm
neoeojkkk
n||eo||Jo||(o||
NEOOCC@QZQ
NEOPPZMF[
]]N_[@E]OXJXKD
NEOZXCA_YQAKEX_NS
N[EPAX]LM
NEPEBSDBDYJ]YS
N_@@EPHLNH
NEPHNEPH_QJ
NEPHN@JK
NEPYA@JFG
NEPYAZvFOOZL]Z
NEP@Z@DA
N_E]_QAC@JEEZK
NEQAS_XLBQ
NEQ[DAAK[P]GG
n[[[e@QdY[[[m[[[a[[[
N[EQE]LLL
NEQGSGBA
NeQ[[[M[[[L[[[
neR[[[j[[[l[[[
NeR[[[o[[[n[[[
NESGAODLE[
NeS[[[n[[[
NeS[[[o[[[n[[[
NESPMY]LKY[J]_H
NE@]SPNHE
NESSYJQ_D
Nesting too deep
NESYQP]SMN
NetApiBufferFree
NetGetJoinInformation
netmetadata.tokens: Not a .NET PE
NetQueryDisplayInformation
NetQueryDisplayInformation() failed
NetUserGetInfo
NetUserGetInfo() failed
NetUserGetLocalGroups
NetUserGetLocalGroups() failed
NetworkAccess
NetworkConnection
NetworkConnectionRegistry
NetworkConnectionReport
NetworkConnectionReportV2
NetworkDetectionCount
network down
NetworkHips
NetworkInformation
NetworkInformationRegistry
networkip
NetworkIpFirewallRules
NetworkIpFirewallRulesOutgoing
networkname
networkname_scrubbed
networkprotectionstate
network reset
network unreachable
Ne_[[[U[[[
NeU[[[M[[[
NeU[[[Q[[[
NeU[[[W[[[
NeU[[[x[[[
NeV[[[b[[[
NeW[[[_[[[
new enumerator
newfiletype
__newindex
neW[[[j[[[e[[[
neWpgppepq14
newproxy
newsha256
newstarttype
newthreatid
newuacvalue
NewValue
newvalueaccountinfo
newvalueaccountinfo_scrubbed
newvaluepath
newvaluepath_scrubbed
NEXASONM
NEXDLAQEO
NEXHXLK@FY
N[EXQP_K
nExSEQGM
_nextafter
Nex[[[x[[[
NEXYQMKZP@PJ
N@[EYFFEYH[]P
NEYHQYZ[
NEYMZXLY
NeYPJyy5
Ney[[[P[[[W[[[
NeZ[[[@[[[
neZ[[[C[[[
NEZE][MHL]D
NEZJQBOCBXSLLSLS
N[[E[ZOQPAS
N_EZSCAA
Nez[[[W[[[V[[[
"Nf5gAgg
nfA[[[?[[[
!NfAAAA@AAAAAC
NfAAAA@AAAAAC
NfAAAA@AAAAAC"
NfAAAA@AAAAACI
NfAAAA@AAAAACM
NfAAAA@AAAAACO
NfAAAA@AAAAACy
NFAAH[DKJXLQ@MEZ
N[FAD[ZKNOE
@@@@@nF@ @AEac
)))N[FAF]
")))NF]AHJBLM
NFAL[L]PYL
NF_A[NP]J
NFAQMDEGAHJ
NFBAZLCDMY
NFBGCHKMLP[
NFBH_KZKH
NFBiHPM@G
NFBQZGJ@HN@JHN@NEDBAMYKD[_MP
nfB[[[T[[[H[[[
nfC[[[-[[[
NFC_KMXEP
NFCP_@@F
nFcZhJ]@_@]P
nfD[[[c[[[b[[[
NFDCQOPX_AJ[FQBK_JJA
N[FDDF[XMXB
nfD[[[e[[[
NFDEH_A]GFLBCC
NFDHQDFK@EL
NFDKFZML_
N_FD_NSMF
NFD@SCDD
[[[N:fdT[[[
NFDXFDBKE_AXK
[NFEAD_P
NFEBLLYL[
NFEFJBL[
NFeJ[[[;[[[
nfE[[[m[[[
NFEMFY@ZCY
	)))NFEMLG
NFEMLGN@[EZ
NFENOCHK[[
NFE_Q_LJ_
.)))N[FF]
:)))NF]F
;)))NF]F
nFF]b@]ZM
NF]FEFFYMLE
nFF]eFHML[
NF]FEFN@G
NF]FEFNMFGLNF]FL[[F[EFN
NFFGSXOH[OFBBOCSJ
NF]FJHEE@OGF]LQ@Z]
NF]FL[[F[EFN
NFFM@GZ]HEE
NFFMKH[KL[
NFFMKPLN[HOO@]@ZLH]]EL
NFFMLiA@DH[ELP
NFFM]LJA
NFFM@LKHNBHG_HZ
)))NFFMMHP
NFFMNHDL
NFFMOFFMZL[_L
)))NFFMO[LL
nFFNEL))
)))NFFNEL
;)))NFFNEL
NFFNEL))
NFFNELD_
NFFNEL@GJ
)))NFFNELHGSA@
")))NFFNEL]HN
NFFNEL]HNDHGHNL[
NFFNELHY@Z
')))NFFNELJA[FDF
NFFNELJA[FDL
NFFNELJFML
nFFNELKF]
")))NFFNELKF]
NFFNELKF]
?)))NFFNELMFJZ
NFFNELM[@_L
NFFNELv@GJv
:)))NFFNELvJFG_L[Z@FG
NFFNELvMFJZvO@ELZ
nFFNEL|YMH]L
NFFNELZALL]YHNL
NF]F][PJDM
NFFYFHJ]OX]K
NF]FYHJBL]Z
NF]FZELLY
NFGF[]AAHE@OHQ
NfgfG2jN
nfgfG_cP(gqggPX
nfggagfG
NFGGHKLHJFGZ]HG]
][NF_@GH
n)))@FGHNL
NFGKHMLQQ
NFGmggfw
NFGMH]]HJB
NFGMHMNFGMHMLQY
NF@GNvYH]A
N:fgqggl
nFgwdgfG
NFGXHKNFGXHKLQY
NFGYXMK_QHXN_
NFHDDQ]E
NF]]HE@OL
)))N@F_HGG@NHDL[@H
N@F_HG@iDFGZHG]F
:)))nFH]jE@LG]hYY
NFH]JHZYL[
NF]HMD@G
NFH_MEQQXJBH]AP
NFH_NFKQNFKENFKENFBSNF@D@
@NF[_HPGKL[N_L[Z@FG
nfH[[[r[[[
NFHYYEL]
)))N[FJL[P
NF_JNF]HYLBL
N]FJN@XAQMS
NFK[FBL[Z@GJ
NFKFZJHO]AG
N]FK@GH[PH
NFKHGM[F@MvAM
nFkHZBL]hJ]@_@]P
N_F[KM[HOLC
NFKQXFD]@XKN[C[OSN
NFKQXSCAO
NFKSYGQ]H_Y]MPBKBBD@GHEQF
NFKXBG@QGB
NFKYNFHCNFHONFHSNFH]NFKANFKANFH[NFH
NF_L[GDLG]DD
nFllllllllmllllOllylm
NFllllllllmllllOllylm
nfllllllllmllllOllylmT
n)))@F[LN
N[F_LOQB
NFL[SY]ZS
NFLYXKK]
NFMCK]CCY
nFMDFML))
NFMF]LGN@GL
][N_FMHHJQPGDN]AO
NFM]QGALX
nFMS@EEHzHDYELzYLJ
_NFMZ@YLGYAA
n)))]FNL]]ALBLP]FMLJ[PY]O@ELZ
NFOGYCAJS
NFOQEQLKC]CK@
NFOX_L]Q]J_D
N]FP[_ALG[
nfpgppepq
nFpgppepq
NFpgppepq
NFPL]JSE
NFPNYYKN
[NF@QCYLB
N_[_FQE[ZXJ
NFQKYANA
NFQPAPHXJ
NFQSYFBN
NfR[[[n[[[m[[[
NFSGQDBOCP
NFSHAPMADX_ESL
NFSQCPBZK
NFS@YO@EL
nfU[[[m[[[
NFXKPHSZKB
NF_X__QBM
NFYQKCY@KAJJGHA_EJDQHYYPXK
n[FYyHZZ
NFZFQP_OD]
?)))NFZJ[LLGZAF]]@GN
NFZ_NM_GGBHEOYC
NFZNPM[[NL
nfz[[[T[[[J[[[
NFZZLG]L[Y[@ZL
[[[n[[[g[[[
Ng1dgfG6
ng3cgfGb
Ng5egfG?
Ng5ggfGF(
Ng5kgfGU
	Ng7agfG
ng7egfG)
Ng7eggwJ6
ng7kgfG6
ng7ogfGA
ng7vgfG.B
]Ng9@gfG
ng9ggfG6
n:g9kgfG5p
NgA_AJA-A
ngAegfGi
NG]AG]DZJGDAX
#ng[agfG
Ng;agfGS
NGAGHCHP
NGAG_LZC
NGAGMLQS_Y
NGAH[OASBJDJH
NGAMG]]]
@NGAMNGF@AZNOQ
NGAZNHXNEG
NGBAQMNY
]N@G_BBNG
NGBBX_@__LBD_HS
NGBCKM]@@
NGBDASFOX
'ng?bgfG[
-ng)bgfG
NGBKJ[DOKK
]][NGB[]LNC]CNCL[N
NG]BMYGCBZEZZ
NGB[XCN]YA_SXQDQ[B
NGC_C@YPMQMDX_]__SBKAHBX
NgCdgfG3
ngCegfG(
N_g'cgfGIB
ng-cgfGj
NG[CHJON
#NgCjgfG
NGCKGGONL
NGC_LC[GYO
NGCL_FBP@M[BYYJ
N_GC_PON
NGCZPHHNK
ngd'2dQE
[_NGDABAO[
NGDBXSSZBOBBSJY
_@[N@GDFGLP
Ng[dgfG6
Ng;dgfGy
N[GDGM_[BD
nGdL[[[3[[[
NG[_DL[P[B
N@GDM]KQC
NGDNMXZQZBY
NGDNQ]NGCMNM_
NgdS[[[d[[[
NgdV[[[h[[[p
NgdV[[[x[[[
nGdX[[[-[[[
Ng_dZ[[[r[[[
NgEDgfG:;_
NgeegfGG 
NgEfgfGW
NgemgfGw
ngeogfG	
NGEPJPHYPPF[S]YEHMHZL
NGFADK@SS
ngfG660#gqgg
ngfG9TEBgqgg
!NgfGa2'
ngfGaAf-gqgg
ngfGArV6gqgg
|ngfGB7Yzgqgg
ngfG|BFNgqgg
ngfGdFQWgqgg
ngfGdJifgqggnUQ
ngfGE0C@gqgg
NgfG;F4NgqggSw:
@ng'fgfG
'Ng)fgfG
'Ng)fgfG (
'Ng)fgfGq
'Ng)fgfGu
'Ng)fgfGv
'Ng)fgfGz
ngfGF#q?gqgg
.(;ngfGh
_?(ngfGh
ngfGKaongqgg
ngfGLm6?gqgg
ngfGMY]Rgqgg
ngfGM:Z'gqgg
ngfGN4@Agqgg
		ngfGOV
ngfGQhl[gqgg
ngfGQNC!gqgg
ngfGRFbEgqgg
.NgfGrXI
ngfGs:#vgqgg'
ngfGUaU]gqgg
ngfGWFWMgqgg
ngfGwi'fgqgg
ngfGWNTogqggG
NgfGWV:*gqgg
ngfGw[VHgqgg
ngfGy9bKgqgg
ngfG|Y)xgqgg
@NGF[HKEL
NGFHOSPZXOBAYDSCAS_
)))@NGF[L]FZB@Y]A@ZO@EL
@NGF[LJHZL
NGFLZLLS
NGFOYQQ]_JJO
@ngfw.Gwvs
ngfw'lz]
ngfwXrCd
-ngfwZiP[
ngG5gfGg
n]gGbgfG
ngGbgfGz
ngg;cgfG
_Ngg#cgfG
NggcgfGn
nggegfGD
n:gGfgfGt
nggfw#22#d
nggfw22Q
nggfw2hZ
nggfw7w1
nggfw7Yn
nggfw9OO
nggfwafq
nggfw*@d
nggfwDMA-
nggfwdSmdU
nggfwe_C
nggfweT[1
nggfweV_l
nggfw	GG
nggfw:*h
nggfwIycK
nggfw'iZ
nggfwKh#
nggfwLdhXc
nggfwM@f
nggfwMiFYi
nggfwmOo_
nggfw-;o
nggfwOTy
nggfwO*W
nggfwQ38O
nggfwq@JvD
nggfwrOA
nggfw@Sby
Nggfw	)t|
nggfwukJ
nggfwUO|
nggfwUQ.t
nggfwVg)
nggfwxK6
nggfwZA2
nggfwZ.e
N"g-ggfG
ng_ggfG9
NGGHLGCF
N@ggigfG
]NGGJGLCD
NGGL@KCNSSN
NGGN[JNBS
ngGqgfGy
Nggqgg"b
ngGsgfG"
ngGsgfGE
NGGSKPX[PCANP_[
NGGSZ[ONHC
nGgUfgfGu
nggwggG;
_N[GGXPDA
NGG_XP]M
N@GH[BDM
NG_HBNLXMPDBJ
n)))GHDL
NGH_DZSOZ[
[@NGHGLZL
NGHJFXBFJ
NGHJJPMEN
NGHLEDMQKAY
NGHMJK@XBKNXJOAP
NGHM]ZZNKJE]ZA
N[gI0gfG
N[gI0gfGf
N[gI0gfGg
N[gI0gfGr
N[gI0gfGr3
N[gI0gfGV
]ngIggfG
ngIggfGr
n] giggfw
ngiggfw1
!n.gIkgfG;
N_GJBCL[
NGJ_EYBNBQ
Ng#jgfGv
_NGJKMNAZZZJCOCKHADMJ
NGJQ]DMYH
NGJQ_GX@GGK
NGKDPZMYKSCF
N_G@KDXF
n:g)kgfG
n@g	kgfG
.Ng;kgfG
ng-kgfGi
NGKGGZLGK
ngKkgfGQtg2gqgg
NGKNEHBHA_
NGKOY[A@
[NGKPGQJY][
NGKQ@O]B]P
N_GKSGX[Q
[@NGKY_BSGYB
ngkzgfGl
NGKZOLZGK
NG]LCGAD
NGLHLANDQQ
N[GLQKEOD
NGLYCG]CQ_OBOJO
[NGLYLO_Y
NGMBQHNG
NgmcgfG'
n"gmegfG
ngMegfGej
-ngmfgfG
#)))NG@MFJGL
)))NG@MFJGL@@JZH
nGmggfwn
NGMPKDBPY
NGMPNYC]
NGMPSBLL
NGMQMQO@
NgMsgfGM
[NGM]YCXYD
NGNBBMBYXX
NGN[CB@BJPJA_
NGNCQD[NZO
((N@GNEFNNL[
ng;ngfG 
NG	N?H9RJ2
ngnhninhngnlnmnnnon"qIo
N@GNJFOBSY
NGNKKHPA_
NGNKL[MGJX
NGNM]@QBD
]NGNXO]A
n||go||0o||
NGOAGNQO
ngObgfG8
 nGOcgfGD
ngoegfG	
NGOG@PAXQ
NGOHGYYH
ngOkgfG*
NGOKHBQPLOAFJGLFS
NGO@@]M[JG]
N#googgG
ngooggGH
NGO]OJ]O[M
NGOQDLBCL
NgO[[[q[[[p[[[
N]G@OZ_NY[JY
N]GPBMBXC
((@NGPED[ABNCAJ
NGPEGYA]
N_GP[]G[HM
NGPGLMOO
ngpgppepq
ngpgppepqa
NGPHMNBLM
NGPKEPKJY]N
NGPMLEFQJQPMKYEPNNJ
NGPNYFLNLD
NGPQCDM[
NGPS@BYGL
NGPXDOGG
NgqagfGI
NGQA[KPJ]MB
[n?gqgg!
[n|gqgg!
ngqgg"'*|
-N]gqgg@
N@@@@gqgg
N@@@@gqgg@
ngqgg1wz
Ngqgg2Z4
N!gqgg5*
|	ngqgg7
ngqgg7dD
ngqgg8)!
Ngqgg8W_
Ngqgg8zl
ngqggcnuDd
.NgqggDI
ngqggeL-
NgqggeL-
ngqggFDN
Ngqgg	FT
:ngqgg'G8i
Ngqgg]]H
ngqggKSl
NgqggKSl
N[gqgg.n! Ig
ngqggOConw
NgqggoVp'
NgqggPgk
NgqggPrt
 n"gqggQ
Ngqgg'ri
@ngqggrU
Ngqgg?S.
ngqggspS
!]Ngqggu
]ngqggVN
'ngqgg.W
ngqggwTO
n*gqggXp9J
ngqggY#?
N(gqgg?y
NGQGMDPD
NGQHGC[C_
NGQJOXNP
NgqkgfG.
NGQMKNM]
N_GQQYYE
NGQZOYCM
n!grL'd[
NGSADHKGCYLE_
#NgSdgfG
ngsegfG9
NgsegfGn
NgsfgfGa]
NGSKSPAZQ
]NG]SL[JDP]GC[
NGSNFJACPPX_SJJDEHM_ON
NGSPPEXCED
N__G[SQ_
NgssgfG8
ng;tgfGl
NgU[[[A[[[
NgucgfGR
ngUfgfGp
*ng[ugfGN
NgUjgfGTBp
!ngUkgfG
ngUkgfG 
ngWagfGci
NgWdgfGK
NgWegfG!
NgWfgfGp
ngWfgfw"
n_gwgggw_
NgWkgfG1Zn
@NgWngfGT
]_NGXAGNM
NGXAZSF@JLDPK
NGXKE]BCHLAH
N_]_GXLH
NGXXJQA]P]QCOXQ
NGXYOOD_C
;ngYagfG(
NgYfgfGF
NG@]Y@[JZ
N@_GYPDP_Q
n[gYwgfGY
"NGyyyyy
NGyyyyy9h9yyy
NG[ZBYDY
NGZHDGBG
	)))N@GZ]HGJLEDPO
nGZKM|QXMfGFM
n)))@GZL[]@G]FrK@GvJDMt
")))NG@[]Z]LN
NG@[]Z]LN
NGZNDHEJGA
NGZPN@HJKJ
NGZQL@A_X
n)))GZ@ZME
n(H   !    
Nh0QSS[s
'N:@;H99Mxyxvy
NHAAZEKKKMQOOQLL[QX
[N[HAF[KSH
n@@@@@@HAgpf@@@@@
NHAHLJQ]
N_HAJOL_P__B]
N_H_AJPHPS
@NHAL]GO
N]HALJBL]@JEDPB
NhAnAZA@A
NHA_SQDQQ
[NHAYB_GC
@[[@NHB@]
N||hb||8L||DL||8L||
NHBGZZZ[Y[P
NHB_]JLDQY
NHBKLJDXQDZ__YDZO
[n[h[b[l[i[
NHBOYFMY
NhBUSSUs
NHCBHHQYBOOA]HK
N]HCCJB]H]D
n@@@@@@HCgpM@@@@@
NHCllllllllmllllOllylm
)))NHCMFZ@B
NHCYCP]]
n)))_H[D
N[HDDH[EPJALJB
N[HDFYAFGL
nHDH[LMFG
NHdI[[[e[[[
NHDLALEYL[
nHDLdH@G
NHDLDHZ]L[
nHDLdHZ]L[m@JL
NHDLEFO]
;)))NHDLELHML[[
NHDL]FFEZ
nHDLhJ]@_@]P
NHDLhJ]@_@]P
NHDLHJ]@_@]P
NHDLHZZ@Z]HG]
NHDLJANr
NHDL[JDQY
nHDLkEHJBCHJB
NHDLKFFZ]L[
NHDLOHGN
nHDLZe@Z]
NHDLZ]@JB
)))NHDLZMLZB]FY
NHDLZYF]
N[[[#-hd][[[M[[[
NHDNZLLS]ZXMF
NHDOOZP]PN
@[[@NHD@Q
NHdY[[[T[[[
NHdY[[[z
[[[N)HdZ[[[
NHE@ACH]@ZHB]@
NHEAXB[EAHXASH
N]HEBZDZ
NHEEL[@LZ
nHEEL[PhJ]@_@]P
NHE@GHZL[NLL_H
NHEHQPSFF
NH[E@JNHDLZ
NHELQHGML[
nHEXllllllllmllllOllylm_X
NHEYFDOK
NHFA[GSSA__@NAL
N]H_FA[X
.)))N[HG]
NHg3kgfG
n)))HG]AFGPJAHG
NHGAJ]YJMCPXJDHB__
NhgBdgfGKO
N[HG@]DMY
N[HGFEH]LHDH
NHGGEJ_YLS
nh[ggfGM
NHG]@H]@H@GSQ
NHG[HN_J]
N@HG]HZJ@@GN
N[HGLEZLLMZ
N[HG[LPN[Y
n)))_H[@GM
N[HGM]F]HE
n[HGMj[HK
NHG[]MKA
N_HGMMLXLA
n[HGMzFO]lb
NHGQAGD[
)))N[HG]v]PYL
N[HG]v]PYL
nhGYSSPs
_NH[HA[[
_NHHBNXQKPG]Z
N@HHCHHBHJXHCHHBHJXHCHHBHJXHCHHBHJXHCHHBHJXHCHHBHJXHNHMZHJXHCHJHHJXHCHJHHJXHCHJHHJXK]HOXHXXKPHOXH@HHNHHBH@HHCHJHH@HHCHJHHJXHCHJHH@HHCHJHHJXHCHK
N@HHCHHBHJXHCHJ
NHH_DPZHH
NH_HE@ZHDHCZL_HZHGNA
NHHFPBDQLHSN
NHHGPNNK@
NHHHHIJUIxx]Y]]
NHHHHIyxwy
NHHHHKAUIxxx
NHHHKAMUIyxk
NHHHKIOUIyxk
NHHHKKJUIyxk
NHHHKKJUJyxk
NHHHKLHUIyxk
NHHHKLHUJyxk
NHHHKMKUIyx
NHHHKMKUIyxk
NHHHKxxx
NHHHKyxK
'NHH@HO:;xyxvy
[n[h[h[l[v[j[n[i[c[v[o[n[b[j[v[
NHHLZXASHS
N[H_HMHMFZ
N[_HHNFLJMQ
NHHNYHFNCM
NH]HPHHB
NHHPNDHDA
[NHHSMCLMH]_FM]
N@H@IJMV
NHJC]CS[GOO
NHJGYEY_JJ
NHJ@GZ]HEE
NHJHCZZ]]B@
N]H[JHML
NHJ@JFMNEJSHO@
NHJJYXDO
N_HJKZXOF
N[HJLZL[_L[
NHJPHKGN
NHJQSYS[CDJ
NHJSYQ_M
NHJvDZ@E
NHKDELLB]_
NHKDYPXQP
NHKDZJSP_PSPZO
NHKGS[L]QXB
NH_KKH]Q
)))N[HK[LDO@EL
[n[h[k[m[i[o[
N]HKQBQKBHJLJZ
|)))NH]L
n[H]LD))
N][H_LDBK
N]HL]DQADN
@NHLENGG[[LL
@]NHLEP]N_PE
NH_[LEZiPHAFF
NHLHM[]NMPSJLOC
NHLIMAHIH@H
_NHllllllllmllllOllylm
NHLPQN]JQ[
NH]LYAY))
NH]LZA@YFGL
NH]LZL[_ND
NHMBYYKGX
NHMDOKJP
nhmelnjne
n|h(m|hHl|h
NHMHQ_]ASM][J[ELNKA
_NH[[MK[[XZNH
N[HMLFGLDH[]
N[HM@LG]
N[HM@LG]JFD@JZ
NHMNJHPZK
nHMNL]))
!)))NHMNL]
NHMNL]]FCZJ[@Y]
nHMNL]YHPEFHM
N]HMYXOD
#nH[[[n[[[
N__HNALEHJFEELNL
NH_NFO[HPY
NH@NF@QQQ
NH|ngfG1
_[]NH[NH
#n)]H[NL]
n)))]H[NL]
N)))]H[NL]
]N[HN]LPMKSJGACPE
]NHN[MLKAS[D
NHNOHHLH
]NHNOJYZ
NH_@NOK@
NHN_X[_EBS]JQXM
n||ho||6o||
NHOCKDFAP
N[HO@]]F
[n[h[o[m[m[n[c[v[
NHOOLZuu
[NH@O_SGNHJXH_
N||hO||UO||@O||3O||"O||
NhOUSSUs
NHPEYP_XE
NHPGBCXBL
N!Hpgppepq
!nHpgppepqd
-NhpgppepquI
NHPKNBBB
n[HPmFNNF
N[H_@]POF[DZ
NHPO]NSBM
N[HPP]YM
NHPXM_PPG[[B
N[HPZ][@GNH
NHQNLOHYY
NH_QO_HCQZ
NHQXO]PSLXB
NHQXPD_CE_
NHSCEADPFKO
NHSEYCHQ
NHSL]LZ@
NHSOFOKNYDCO
NHSOOBJBKCFJSO[
NHSPYENMGNM_
nH?wgAgg
NHXAHO]EXM
NHXA]SBMH
N||hX||LX||
_[N]HXOYYD
N||HX||*X||
NHXXKMDDH
NH[XZLCXZN
NH[Y[]AH
N[HYA@JZt
N[HYALGL
NHYFHBN_K_
N[HYLG]@G
NH	?-yllllllllmllllOllylm
NHYPPKPQB
NHYQ]DMO
nHySpammer
n)))_H[Z
N)))_H[Z][
NH_ZAAXD
NH[[ZB]N
NHZ][FG@_LE
NHZGOYAYJZZQ
NHZJFGHML
NHZPPJZXE
N[HZZ[FF]ZGH
N[HZZ[FF]ZHJHMLDP
NHZZMCM_CDOZJ]KASXD
n_IAAAA@AAAAACq
NiAaAUAMA1A)A
NiAeA]AMA5A-A
NiAeAMA9A!A
NiAlFy9|yIyyy I
Nid64Search
NID_ACTIONS
NID_ALGO_NEFILE
NID_ALGO_PEFILE
NID_API_POLYENG
NID_APISET_REDIRECT
NID_APPX_BAD_ID
NID_APPX_BAD_PUB
NID_APPX_GOOD_ID
NID_APPX_GOOD_PUB
NID_AUTOLOWFI_EXCLUSION
NID_BAD_MACHINE_GUID
NID_CERT_THUMBPRINT
NID_CODEBASE
NID_CONTINUE_CONTAINER_SCAN_AFTER_DETECTION
NID_DEEP_API_LIMITS
NID_DELAYED_REPORTING
NID_DISABLE_API_LIMITS
NID_DISABLE_DT_ON_KNOWN_STUB
NID_DISABLE_SEH_LIMIT
NID_DISABLE_THREAD_API_LIMITS
NID_DT_CONTINUE_AFTER_DAMAGED_UNPACKING
NID_DT_CONTINUE_AFTER_UNPACKING
NID_DT_DISABLE_MICROCODE
NID_DT_DISABLE_SKIP_UNIMPLEMENTED_OPCODES
NID_DT_DISABLE_STATIC_UNPACKING
NID_DT_ENABLE_MICROCODE
NID_DT_ENABLE_STATIC_UNPACKING
NID_DT_SKIP_UNIMPLEMENTED_OPCODES
NID_ELFALGO
NID_EMU_HARDCODED_API_ADDR
NID_EMU_LOOPA_DISABLE
NID_EMU_LOOPA_ENABLE
NID_ENABLE_DEEP_ANALYSIS
NID_ENABLE_EVAL
NID_ENABLE_EXTENDED_BAFS
NID_ENABLE_FDR
NID_ENABLE_HSTR_EXHAUSTIVE
NID_ENABLE_LFR
NID_ENABLE_NW_REPORTING
NID_ENABLE_REEMULATION
NID_ENABLE_VMM_GROW
NID_ENABLE_VM_RESCAN
NID_EXTENDED_REPORT
NID_FILEQUERY_ONLY
NID_FILTER_NO_MOTW
NID_FILTER_SIGNED
NID_FILTER_TRUSTED_LOWFI
NID_FILTER_TRUSTED_PERSIST
NID_FILTER_TRUSTED_SAMPLEREQ
NID_FORMACTION
NID_FPCEHCK_EXCLUDED_CERTIFICATE
NID_FPCHECK_EXCLUDED_SIGNATURE
n"IdG[[[l[[[
NID_HAS_ATTRMATCH_HANDLER
NID_IFRAME
NID_IL_PATTERN
NID_IMPHASH_ORDINAL_TO_NAME
NID_IMPHASH_SIG
NID_INCLUDE_DNS_CACHE_INFO
NID_INET_DOMAIN
NID_INSTALLER_INNO
NID_INSTALLER_NSIS2
NID_INTERESTING_EXPORT
NID_INTERESTING_SWF_TAG
NID_JA3C_HASH
NID_JA3S_HASH
NID_JAVACRC
NID_JETDBCRC
nIdL[[[-
NID_LAMEKCRC
NID_LMDB
NID_LOWFI_CACHE_PER_TRIGGER
NID_LOWFI_FORCE_ASYNC
NID_LOWFI_FORCE_SYNC
NID_LOWFI_FORCE_TELEMETRYONLY
NID_LOWFI_PER_FILE
NID_LOWFI_SIG
NID_LOWFI_TYPE_1
NID_LOWFI_TYPE_2
NID_LOWFI_TYPE_3
NID_MACRO_CLUSTERHASH
NID_NEWCODEBASE
NID_NEWIFRAME
NID_NONCACHED_LOWFI
NID_OLD_MACRO_REMOVAL
NID_PDBPCRC
NID_PDFURI
NID_PEALG
NID_PERSIST
NID_RDPC_HASH
NID_REPORT_AS_FRIENDLY
NID_REPORT_AS_SUSPICIOUS
NID_REPORT_LOWFI
NID_REQUEST_HOOKWOW
NID_SAMPLE_ONLY_SIG
NID_SCAN_ALG
NID_SCAN_END
NID_SCAN_LSCN_E8BE
NID_SCRIPTSRC
NidSearch
NID_SFX_WINRAR
NID_SKIP_CRC16
NID_SKIP_CRC8
NID_SKIP_FIRST4
NID_SMS_THREAT
NID_SPECIAL_MACRO_REMOVAL
NID_SSHC_HASH
NID_SSHS_HASH
NID_SYNCLOWFI_SIG
NID_SYSCALLS_HASH
NID_SYSCALLS_HASH_SPECIAL
NID_TELEMETRY_ONLY_SIG
NID_UNINTERESTING_FILE_HASH
NID_UNRELIABLE_LONG_CRC
NID_UNRELIABLE_SHORT_CRC
NID_VBA_PCRC1
NID_VBA_PCRC2
NID_VBA_SRCCRC
NID_VBPCRC
NID_VERSIONED_TRIGGER
NID_VNAME
NID_W6PASSWORD
NID_WORD2
NID_X5_SKELCRC
NIeG[[[a[[[
NIeI[[[	[[[
Niggfwzg
NigGwggG
nI[[[i[[[
nIi9nIianIi
NII@I_@bI
NIIJI	IbI
':NIIOKH;xyxhy
nijcnyVQ
NI?JK@N;
nIKH@WUH
nIKMDACMZ
nil or table expected
nimgllllllllmllllOllylm
NI*NOIKI
NIOgQggfG
NIOJNLMJNMNINLJJJ
NIOJNLMOOJNAOLNMJJJ
n||io||Ro||5o||
NiP@g-cgfG
Ni@@@@@t@@A@AAac
NIUHHOOIM@NAO
NIU@KL@ULJ
NiUpgppepq
Niv;_ 0e
nivllllllllmllllOllylm
NIwgGegfGu
?N...iwyy
?N..iwyy
?N..iwyy)YyyoI
NixCQKeTllllllllmllllOllylm
N'IxyxTy
Ni@@@@]Y]]
NiyngfGm?:cgqgg
nJ[[[;[[[
_]-*NJ0*
_]-*NJ0*'
_]-*NJ0*;
_]-*NJ0*?
_]-*NJ0:
_]-*NJ0:;
_]-*NJ0:?
_]-*NJ0*'	1:
_]-*NJ0*3	16
_]-*NJ0*3K3M
_]-*NJ0*3L3
_]-*NJ0:3M
_]-*NJ0*3M3
_]-*NJ0*3N0
_]-*NJ0*3N3
_]-*NJ0:3N3
_]-*NJ0*4F(
_]-*NJ0*7
_]-*NJ0:7
_]-*NJ0:7	36
_]-*NJ0:7J3*
_]-*NJ0*7J36
_]-*NJ0*7O0*'
_]-*NJ0:7O0M
_]-*NJ0*7O3:(F(
_]-*NJ0:;J0:
_]-*NJ0:?J0
_]-*NJ0:;J06
_]-*NJ0:?J1*0F(
_]-*NJ0:?J3:
_]-*NJ0:'J3M
_]-*NJ0*'K0
_]-*NJ0:'K0
_]-*NJ0*;K06
_]-*NJ0*;L0
_]-*NJ0:'L1*4F(
_]-*NJ0*'L3:0F(
_]-*NJ0*;M0
_]-*NJ0*;M0:(F(
_]-*NJ0:;M0*;J
_]-*NJ0*'M0M
_]-*NJ0*?M3
_]-*NJ0:;M3
_]-*NJ0*;N3:8F(
_]-*NJ0:;N3M
_]-*NJ0:'O
_]-*NJ0*?O0
_]-*NJ0:?O16
_]-*NJ0*;O3
_]-*NJ0*?O3
_]-*NJ1*
_]-*NJ1*'
_]-*NJ1*;
_]-*NJ1*?
_]-*NJ1:
_]-*NJ1:'
_]-*NJ1:;
_]-*NJ1:?
_]-*NJ1*'	1*
_]-*NJ1*3
_]-*NJ1:?	3*8F(
_]-*NJ1:3L0:
_]-*NJ1:'	3M
_]-*NJ1:3M0
_]-*NJ1*3M3:?
_]-*NJ1*3M36
_]-*NJ1:3N16
_]-*NJ1:3O
_]-*NJ1:3O3:(F(
_]-*NJ1*7
_]-*NJ1:7
_]-*NJ1:7	0
_]-*NJ1*7	36
_]-*NJ1*7K3:7
_]-*NJ1:7L3
_]-*NJ1*7N1:4F(
_]-*NJ1:7O3
_]-*NJ1:8F(
_]-*NJ1*?J0
_]-*NJ1*'J3
_]-*NJ1*'J3M
_]-*NJ1:?K3
_]-*NJ1:?L
_]-*NJ1:?L06
_]-*NJ1:'L36
_]-*NJ1:;M0M
_]-*NJ1*?M1*
_]-*NJ1*'M16
_]-*NJ1*?M3*
_]-*NJ1:;M36
_]-*NJ1*?N3
_]-*NJ1*?N3:
_]-*NJ1:'N3*8F(
_]-*NJ1:;O0
_]-*NJ1*'O06
_]-*NJ1:'O06
_]-*NJ1:?O1*
_]-*NJ1:;O3:
_]-*NJ3*
_]-*NJ3*'
_]-*NJ3*;
_]-*NJ3*?
_]-*NJ3:
_]-*NJ3:'
_]-*NJ3:;
_]-*NJ3:?
_]-*NJ3*'	0
_]-*NJ3*;	06
_]-*NJ3*3
_]-*NJ3:'	3
_]-*NJ3:3
_]-*NJ3:3	0
_]-*NJ3:3	1*
_]-*NJ3:3	16
_]-*NJ3*3	3M
_]-*NJ3:'	3:(F(
NJ3:3J1:
_]-*NJ3*3J16
_]-*NJ3:3K
_]-*NJ3*3K0
_]-*NJ3:3K06
_]-*NJ3*3M0*(F(
NJ3*3N1*'
_]-*NJ3*7
_]-*NJ3:7
_]-*NJ3:7J3
_]-*NJ3:7J36
_]-*NJ3*7M0
_]-*NJ3*7M06
_]-*NJ3*7N0
_]-*NJ3*7O
_]-*NJ3:7O3
_]-*NJ3:'J
_]-*NJ3*?J0:
_]-*NJ3*?J0M
_]-*NJ3*?J1*(F(
_]-*NJ3*;J3*
_]-*NJ3*'J36
_]-*NJ3:'K0
_]-*NJ3:;K0
_]-*NJ3:;K16
_]-*NJ3:;L0
_]-*NJ3*?M0*0F(
_]-*NJ3:'M16
_]-*NJ3*'M3
_]-*NJ3*?N0M
_]-*NJ3*'N3M
_]-*NJ3*'O0
_]-*NJ3:'O0
NJ3*'O1:
_]-*NJ3*'O3
_]-*NJ3:?O3M
n@@@@@j@@A@ADac
NJADQE@[H
n)))JA[FDL
_N]@JAFDYN
NJAHGMEL
NJA]MYB[
[NJANCYNGXJC
NjAZAJA2A*A
NJb27#Xe
NJBBO]N_
NJBG_EKCQMO
NJBGSHBK
Nj@@@@@@B@Lp@
NJBMC]YAGJ
NJB]MYX[
_NJBPQALZXH
]N[JCEPGSH
NJCKXP_YKDD
NJCOO[[SH
N[JCQJGL
NJCSFY@EHA
NJC@SQLD
NJCZHXMSNQPB]
NJD[_ADZ
NJDK]@AO
NJdQ[[[p[[[
]]NJDXAJAAC
NJDYQOEGGABN
n)))JE@JFGON
N[JFABJJM@]
NJ@FHFZNPM
n)))JFYP
NJG_]ALZEE
N]_JGBFBOJQJH
[NJGCC_J
NjgGcgfG
NJGG[HFHH
NJgJbgfG)X
NJG@QCNY
nj"gqgg	
N@J__GXJJF[
NJGYSGJQ
NJ_H[BGF
n)))JHEE
]_NJHE_XNZQ
nJhggfwI
-nJhggfwJ
N@J]@HHJSH[L
NJHIALxxx
NJHJANyxq
NJHJLXYP
NJHKYX_XKL
N_JHLF[Q
N@JHN@AQOOO
N@JHNEPKOQ
NJ@HN@JHN
N@JHN@JHN@JHN@JHN@HFN@JHN@JHNE
N@JHN@JHN@JHN@JHN@JHN@HFN@JHN@JHN@JHN@JHN@JK
NJ@HN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHB@JHN@JHN@JHN@JHN@JHN@O
N)))JHZL
N	_Ji_*4"#
Nj@@@@@@IDyp@K
NJIJIJIJIJIJIJI
[nJ[[[j[[[
N||@J||(J||
]NJJBB[C
NJJ]BZ]HBP
NJ]JEXPB
NJJHLQ@S]L
NJJJADFM
'N:JJJHNJxyx
njjjjbjj
njjjjbjj!B
N]JJ_KZA
NJJUMI@JUL
NJKFYPQ@_LADX]
NJKGZS_YAK
NJKLGJSX
_NJKNFGSYOGHN__
NJKNPPBPL
N@JKO@JHN@JHN@JHN@JHN@JKOQ
NJKQCNK[NZZY_
NJKQ_EB@
NJKZBGNYK
NJLAA[AN
NJLAFMKPXH[
NJLBDGNCAG_D
NJL_CMMLM
NJ]LGSADJ
NJLH[BN@SS
NJLMMPEHFL
N_JLP[XCQQZCGKXAAX
NJ]LX@C]NDLK
NJMAC_BOL
@NJME]CO]HJOH_BBPQ_]G[
NJMHDJJM
NJ]MJJAL
NJMJLZ_ODEY
NJMK[BGYB
N[JMNX[Q
N@JMOH@MK
NJMO@LYLM
njmpgppepq
NJM[QNMHD
NJM]SDXS[@SGN
@NJMSMC[]
NJMZ_SCCH[JY
NJNDKFFOOL_[F
NJNDXBDL
NJNHGBQJ
NJ]N[HGQ
NJNJ]ZC[XPGLAY
NJN@LH]DLD
_NJNOJZZ]
NJNQAMNS_JD
NJNS]PJX
NJOAAOXECCY
N[JOAZ[NPE@[
NJOGDBPZQJZN_XK
n||||||||||jo|||l||||||||||||||||||||||to||||||||||||||
nJ[[[O[[[N[[[
_NJ@OYHZBQO
[NJOZMSN@E
n!J#pgppepq
NJpgppept
NJP]_HS]YHCS
N]JPJY_FLJH_GPZGN]NS
NJPLHAQHB
NJP_PMYG
NJ[PXNDKYZ@G
NJPX]_ZPD
NJQBZNAGO[ALF
NJQCKKDHE
NJQDXMJ[
NJQGJDLE
NJQGMYLGSYB
@NJ]QGNZGLPSG
N]JQNMOL
NJQQZ_OG
NJQZAODDQP]Z
Nj]RSCwQSSS@S
NJSB[[@B
]_N]JSCSGHQC
NJS[PEFQ
NJSQNODJ
N___JSSDB
NJSZQ_GBXCC@BF
nJ[[[T[[[
NJXBDBLJPLCD
NJXHNHJHH@HH]HN
[NJXJ_ZSD
NJXMQJLXJ
NJX_ODZ_J@N_M
_NJXOH[XAHPFQ
NJ[X]X_@
N'JxyxTy
NJ]]YBCX
NJ]YGKGABB
NJYLNAZK]_XM
NJYMS@DY
_NJYXJ]ZNBA@L[
NjyyLONA
N_JYZNDYOOYBQHB
NJZ_KK@Q
NJZMJMPHSC
NJZMMDGEB
NJZXBN@F
NJZXNZ@K
nK[[[)[[[
n k     0
_]-*NK0*
_]-*NK0*'
_]-*NK0*;
_]-*NK0*?
_]-*NK0:
_]-*NK0:'
_]-*NK0:'	
_]-*NK0:;
_]-*NK0:?
_]-*NK0*'	3
_]-*NK0*3
_]-*NK0:3
_]-*NK0*3	0M
_]-*NK0*3	3*
_]-*NK0:3K16
_]-*NK0*3K3M
_]-*NK0*3L06
_]-*NK0:3M36
_]-*NK0:3N3
_]-*NK0:3O0
_]-*NK0*7
_]-*NK0:7
_]-*NK0:7	36
_]-*NK0:7M1*8F(
_]-*NK0:7N3*
_]-*NK0:7O0
_]-*NK0:7O1*
_]-*NK0*7O3
_]-*NK0:?J0
_]-*NK0:'J3
_]-*NK0*?J36
_]-*NK0:'J3M
_]-*NK0*;K06
_]-*NK0:?K06
_]-*NK0:?L0
_]-*NK0*?L06
_]-*NK0:?L1:
_]-*NK0:;L3
_]-*NK0*;M
_]-*NK0:;M0
NK0:?M0*
_]-*NK0*'M0M
NK0:?M1*3
_]-*NK0*'N16
_]-*NK0:;N3M
_]-*NK0:'O06
_]-*NK0:;O1*
_]-*NK0:?O16
_]-*NK0*?O3
_]-*NK0:?O3*
_]-*NK1*
_]-*NK1*'
_]-*NK1*;
_]-*NK1*?
_]-*NK1:
_]-*NK1:'
_]-*NK1:;
_]-*NK1:?
_]-*NK1*?	0
_]-*NK1:?	0
NK1:?	0:
_]-*NK1*;	3
_]-*NK1*3
_]-*NK1:3
_]-*NK1*?	36
_]-*NK1*3K16
_]-*NK1:3L3*0F(
_]-*NK1:'	3M
_]-*NK1:3M0
_]-*NK1:3M3
_]-*NK1*3M36
_]-*NK1:3N0M
_]-*NK1*7
_]-*NK1:7
_]-*NK1:7K
_]-*NK1*7K0
_]-*NK1:7K36
_]-*NK1:7L3
_]-*NK1*7O0
_]-*NK1*?J0
_]-*NK1:'J16
_]-*NK1*?J1:(F(
_]-*NK1*'J3
_]-*NK1:'L36
_]-*NK1:?L3M
_]-*NK1:;M0M
_]-*NK1*;N
_]-*NK1*;N1*;
_]-*NK1:;N16
_]-*NK1*'N3
_]-*NK1*;N3M
_]-*NK1*'O0
_]-*NK1*;O0
_]-*NK1*'O06
_]-*NK1*?O0M
_]-*NK1:?O3M
_]-*NK3*
_]-*NK3*'
_]-*NK3*;
_]-*NK3*?
_]-*NK3:
_]-*NK3:'
_]-*NK3:;
_]-*NK3:?
_]-*NK3*3
_]-*NK3:3
_]-*NK3*3	3
_]-*NK3:3J0:
_]-*NK3*3J0M
_]-*NK3*3J3
_]-*NK3*;	3M
_]-*NK3*3N16
_]-*NK3:3N3*
_]-*NK3*7
_]-*NK3:7
_]-*NK3:7L0
_]-*NK3:7M36
_]-*NK3*7N36
_]-*NK3*7O0
NK3:7O1*
_]-*NK3*7O3
_]-*NK3*;J16
_]-*NK3:?J3
_]-*NK3*;K
_]-*NK3:?K0:0F(
_]-*NK3:;K06
_]-*NK3*?L3
_]-*NK3*;L36
_]-*NK3*'M0
_]-*NK3:'M06
_]-*NK3:'M0*(F(
_]-*NK3:'M0M
_]-*NK3*'N0:7K
_]-*NK3:'N0M
_]-*NK3*'N3
_]-*NK3:?N3:
_]-*NK3*?N3:(F(
_]-*NK3:?O
_]-*NK3*;O1*
_]-*NK3*?O3
_]-*NK3:?O3
Nk8gQkgfGOp
NKACONLJZ
NK@AJNUHJ
NkAnA[ATAMA
N][KA_OABFNGC
NK]AOEY_MK
NKAOGX]PSOP[
N[KAPFDF
NkAtBSBJB
NKA]ZNKJ
NKBALOAQD
NKBCGSBYF
_NKBCXCMAPMABEJGYYYH[
NKBL_KSPQ
N_KBNHFQBBMKFDX
NKBPNOOOBF[BQ
N_KCBGAPPJ
[_NKCXKAQ]GACJH
NKDdS[[[X[[[S[[[
#nKdK[[[
N_KD]@KO[XBXPB@
nkdlkeej
nkdmenhm
nkdnnkhd
NKDOKEMG
NKDP[JKBJ
NKDZAAKEE
nkeemene
nkehjinho
nkELVijkijjkkkkkk
nkELVijkjjnkkkkkk
nkELVjokhkokkkkkk
nkELVkmjjkckkkkkk
nkemmooei
NKENSOZSHJZ
N_KE[PDCX_
N@KEXOCBGSX[M
NKFGPNDMMM
NKfN[[[L[[[
_NKFNQSJ
_NKFZ@JJ
nk@GaFZ]
@NK[GCSJGA
NKG_C[ZK]LM
nkggfgfG
NKGJND_J
NKGKHH[CA
NKg'ogfG
 nKgqgg!
nkgqggP.
_NKGSMJMGY
NKGYO[HA
N[KGZLXPC
[NKGZPLNXC
NKGZSKXDPN
]@]NK@HGLY
NKHHJHSZPGPSH[MO
NKHH]JMJP
nkhjjddd
NKHJOHNMNJH
nkhkmnnhi
n)))KHNFZA@
NKHY_HYXD
NKH_ZADGXFNMSLPN_X
nK[[[i[[[
N??KIBq(
nkienmik
nkijeddd
NKJGKYJH]
nkjjjbjj!Z
nkjjlkdi
nkjmejhd
N[K_[J_O
nkjodihmh
NKJZXKFSP_QX
NK_K_GHA
NK]K]GLZ
NKK_HQHP
nkkkieidd
NKKKMC[CZ
NKKMASMAS
]NKK]MHS
n)))KL[BZA@[L]LDYF[H[P
nkljdidi
NKLKALONACK[NJ
NkllllllllmllllOllylm
nklnidoi
nkloiekhm
nklolnlnm
NK@LYJL][Z
NK@LYMLONZO
NKM_DAXQP
NKMD]HG[HOOFOGAM
NKM@DS@CNEM]DXXL[
NKmggfw#*
NK]MGMDCLDSMBF_HCHBH[ANJZ
nkmholeld
nkmodohl
nK[[[N[[[
NKN_DGDG
#)))[NKN[LLG
NK@NPJHDCZLA@
NKNSCBBA
]NKNY@BZGSKP
NKNZNXJK
n||ko||Bo||
@[N[KOGNJL
nkokjnmn
nkomkklmk
nkomnellj
N]KOPFLQZ
NKOUOIKNULMIIU
]NKOX]QBNL_
NK]PFJJA_ZKOF
nkpgppepq
;nKpgppepq
!NKpgppepq
NKpgppepq
NK_PKMX]ABC
NKP[KPCPKXBLCZGFY@
NKP]O@_D
NKPQYMHN_
NKPSE_ZZJCKA
[@NKPX]@
NK@QACYZGOB
[N@K_QH]
NKQHLQMG
NK]QLSHJ@
NKQOXCNFK[CY
NKQ_QH]QE[
NKQQOAQJ[AN
N]KQ[_X_CG]JLQXN
nK[[[R[[[
_NKS]A[XYDH
N_KSC@[NALLGSD
NKSCQBSS]CLS
]NKSEXXFY]YDG
[NKSEYSX
NK-SH)EEyx8y:
NKSHZO]B
NKSJCPDQMYSM]]X
NKSJQN_EAOS
[NKSMSGPFXL[HGXQAYJZ
N_K_SSABKNOEYOY]Q
N]]KSS]PFLPX[L[
NK_SYGKA
NKU@LINU
NKULIOAUL
nKwpgppepq
NKXCQN__H
NKXHHL]YX
N[K]XJZ[O
@NKXMNGQYKA
_N_KXN@JQ
NKXNLE[H
NK[XS[QEXNB
NK_YFPNOG
_NKYQGHY
NKYYFQHXQXF@K
N_KZBGZP
NKZCADMPSH
NK]]ZLBQO]@CMF[
NKZ]MGC_NBG
NK@Z_@NH
NKZQO[QSK]BX
NKZXM@XPM
_N_KZZF]JYH
n|||l||||||||||||||||||||||
)))NL]@]
_]-*NL0*
_]-*NL0*'
_]-*NL0*;
_]-*NL0*?
_]-*NL0:
_]-*NL0:'
_]-*NL0:;
_]-*NL0:?
_]-*NL0:'	0
_]-*NL0*0F(
_]-*NL0*;	3*
_]-*NL0*?	3
_]-*NL0*3
_]-*NL0:?	3
_]-*NL0:3
NL0:3K0*?
_]-*NL0*3K06
_]-*NL0*3L0
_]-*NL0*3L3
_]-*NL0:3L3M
_]-*NL0:3N3M
_]-*NL0*3O0:(F(
_]-*NL0*7
_]-*NL0:7
_]-*NL0:7	
_]-*NL0*7	0:'M
_]-*NL0:7J0
_]-*NL0*7K0:;
_]-*NL0:7K0:
_]-*NL0*7K0:8F(
_]-*NL0*7M0
_]-*NL0:7M0*'	
_]-*NL0*7N1*;
_]-*NL0:7O0:7K
_]-*NL0:7O0*8F(
_]-*NL0:7O16
_]-*NL0*7O3
_]-*NL0:?J0:
_]-*NL0:'J06
_]-*NL0:'J0M
_]-*NL0:?J16
_]-*NL0*?J3
_]-*NL0:;J3:4F(
_]-*NL0*;K0
_]-*NL0*;K0*(F(
NL0*?L0:?
_]-*NL0*?L06
_]-*NL0*;L0M
_]-*NL0:'L36
_]-*NL0*'M16
_]-*NL0:;M3M
_]-*NL0:?N0
_]-*NL0*;N06
_]-*NL0:;N06
_]-*NL0:;N16
_]-*NL0*'N3
_]-*NL0*?O
_]-*NL0:'O0
_]-*NL0*;O1:(F(
_]-*NL0*'O36
_]-*NL0*?O3M
_]-*NL1*
_]-*NL1*'
_]-*NL1*'	
_]-*NL1*;
_]-*NL1*?
_]-*NL1:
_]-*NL1:'
_]-*NL1:;
_]-*NL1:?
_]-*NL1*'	0
_]-*NL1:?	0
NL1*?	0:?
_]-*NL1*;	0:0F(
_]-*NL1:'	0:0F(
_]-*NL1:'	06
_]-*NL1:;	0M
_]-*NL1:?	16
_]-*NL1*?	3
_]-*NL1*3
_]-*NL1:;	3
_]-*NL1:3
_]-*NL1:;	3*0F(
_]-*NL1*;	3*(F(
_]-*NL1:3K0:4F(
_]-*NL1*3L3
_]-*NL1:3M0:4F(
_]-*NL1:3M0M
_]-*NL1*3N3M
_]-*NL1:4F(
_]-*NL1*7
_]-*NL1:7
_]-*NL1:7	0M
_]-*NL1*7J0
_]-*NL1:7J1*
_]-*NL1:7K0
_]-*NL1:7K3
_]-*NL1*7L0
_]-*NL1:7L3M
_]-*NL1*7M0:
NL1*7M3:
_]-*NL1*7O16
_]-*NL1:;J
_]-*NL1*'J0
_]-*NL1:'J0:
_]-*NL1*'J06
_]-*NL1*?J0M
_]-*NL1:'K36
_]-*NL1:?K3M
_]-*NL1*;L1*4F(
_]-*NL1:;L3:(F(
_]-*NL1:;M16
_]-*NL1*?M3
_]-*NL1*;M3M
_]-*NL1*;N06
_]-*NL1*'N1*
_]-*NL1*'N3
_]-*NL1*?N3*
_]-*NL1*'O3
_]-*NL1:'O3
_]-*NL1:;O36
_]-*NL3*
_]-*NL3*'
_]-*NL3*;
_]-*NL3*?
_]-*NL3:
_]-*NL3:'
_]-*NL3:;
_]-*NL3:?
_]-*NL3:'	0
NL3:'	1:
_]-*NL3:?	1:4F(
_]-*NL3:;	16
_]-*NL3*?	3
_]-*NL3*3
_]-*NL3:3
_]-*NL3*3	06
_]-*NL3*3	3
_]-*NL3:3J1:
_]-*NL3*3L
_]-*NL3:3L0
_]-*NL3*3L1:
_]-*NL3*3L36
_]-*NL3:3O0
_]-*NL3:3O3
NL3*3O3M
_]-*NL3*7
_]-*NL3:7
_]-*NL3:7K0
_]-*NL3:7M36
_]-*NL3*7N0M
_]-*NL3:7N3:0F(
_]-*NL3:7O0
_]-*NL3:7O3
_]-*NL3:7O3M
_]-*NL3*?J
_]-*NL3:?J0
_]-*NL3:'J3
_]-*NL3:?J3
_]-*NL3:;K0
_]-*NL3*'K0M
_]-*NL3*?K3
_]-*NL3:;K3*
_]-*NL3*;L0
_]-*NL3:;L0M
_]-*NL3*;L3
_]-*NL3:?L3
_]-*NL3*?M0
_]-*NL3:;M0
_]-*NL3:'M06
_]-*NL3*'M3M
_]-*NL3*'N06
_]-*NL3:'N0:8F(
_]-*NL3:;N1:
NL3*'N1*3
_]-*NL3*?N16
_]-*NL3:?O06
_]-*NL3:;O1*
NL3*'O3*
_]-*NL3:'O36
_]-*NL3:;O3*(F(
NlA9A3A"A
nL]abed))
NLAD]JP]QZD
)))NL]AFZ]GHDL
NL]AFZ]GHDL
nL]aFZ]hMM[LZZLZ))
NL]AFZ]HMM[LZZLZ
NL]AFZ]KPGHDL
nL]aFZ]kPhMM[
NL]AFZ]KPHMM[
NL]AFZ]LG][P
NL]AHZALZYL[ZLJFGM
NL]]A[LHMJFG]LQ]
NL]ALHML[
]][NLAMY
NLA[NLSJY
NLANQSY_D_ZH@M@OYE
NL]A]]Y))
NLAY_Y[_[ZAA
_NLBBCL[M
N_LBCX_LYA
NL]BFEH@F
NLBGODY]
NlBgqggM4
;)))NL]BL[GLEMEEKHZL
NL]BLPDH]L[@HE
;)))NL]BLPHGM@_]FLGJ
nL]bLPKFH[Mz]H]L
:)))NL]BLPKFH[MZ]H]L
;)))NL]BLPKFH[MZ]H]L
NLB@_NH_KL
NLBQ[[CC
NLB]SM]Z_BC
NLBXPL[Z
NLBZ]OEPXN
!n@lC[[[
N[LCBQBHAJKA[
NLCFDZ[]A
NLCGB_LSY
NL]CH_H_L[Z@FG
NLCLPCLD[[
NLCML[XC
NLC_MNGBH
NlC[[[P[[[
NLCXDPGQ
_N@L[CZAJG_
]NLCZC@OCY
)))NL]CZFG
N[LCZSQQ[XCCPXX[Q
NLCZXHLJ
NL]D@EE@ZLJFGMZ
NL]DFG]A
NLD@G@[]A
NLDGH_DDYL
NL]DGHGL
NLD@G@NG
NLD@G@[O
NLDGXLLG@XCLC_ZK_GKGAY@XZ_ZM__DXO
nL]DH@EKFQYL[D@ZZ@FGZ
NL]dHG@OLZ]
NL]DHG@OLZ]
NL[DH@GS
NL]@DHNL
NL]@DHNLLGJFML[Z
NL]D@J[F]@DL
N[_L]]DJGAP@NSE
NLDJP]BOZYNDYH
N)))LDKLM
[NLDKQJG
NL]DL]AFM
NL]DL]AFMZ
NLDLCSK_
NLDLENA_LP
NLDLPGJ]ND
N@_LDLQPS
NL]]@DLSFGLFOOZL]
NL]DLZZHNL
NLDO_]_DL
NL]DPO@EL
NLDPZXJ]HD
NLD_S[FDZZON_O
[[[Nl[dT[[[
[[[?nLdx[[[
NL@DYLPLS[Q
[NLEBYQC
nL]eFJHEhMD@G))
NL]EFJHEHYYMH]HYH]A
NL]EFN@G
NL]EFN@JHEM[@_LZ
nL]eFN@JhYY))
nL]eFN@JhYYa@Z]F[P))
NL]EFNNL[
NL]EHZ]HJJLZZ]@DL
NL]EHZ]L[[F[
nLEL[HZB
n)))LE@O
*nLepllllllllmllllOllylm
 )))NL]E@Z]
)))NL[]@FBHZ
;)))NL[]@FBHZ
NLFB[L]P
NLFD[LJ]HGNEL
NLFEFJH]L
NL][FELZ
NL]]F]HEAHZALZ
nL]fKC))
	)))NL]FKCLJ]
")))NL]FKCLJ]
)))NL]FKCLJ]
?)))NL]FKCLJ]
NL]FKCLJ]
NLF[NLZ][H@]
NLF[NZHPZ
NL]FOOZL]]FZALEEJFMLZ]HNL
")))NLF@Y]FFE
NLF@Y]FFE
NL]FY]@FGYH[HD@G]
)))NL]FZJHZL
NLF[[ZQBCAP
NLGAALQZG@CB[
NLGDYABDZA
NLG]ELHEH[D
[NLGEXJDN
NLGFGKL]H
NL]GFKFMP
NLGH[CYZ
nL]gHD@GNjFG]LG]
NL]@G_HE@MO@ELGHDLJAH[Z
NLG]HNLE
_@NLGJ@H
NLG]LELEEH
NLGL[HEHMD@G
nLGL[HE@]PjELHGz][
nLGL[HE@]PlQYEF@]z][jFDDFG
NLGL[H]F[
NLGL[H]L
NLGL[H]L@_
?)))NLGL[H]L[HGMFDZ][@GN
NLGL[H]LHZPGJ
@)))NLGL[H]L[LZYFGZL][HGZHJ]@FG
NLGL[H]LMFG
NLGL[H]LMHZZLDKEP
)))NLGL[H]LYH[ZL[
NLGL[H]LY[LZZ
NLGL[@JFGZ
)))NL]GL]JH[M@M
nLGL[@JkHGBL[vh
NLGL[@J@SL
nLGL[@Jz][@GN
NLGLQYEF@]
NL]GLQ]YHPEFHM
nL]gL]y[F_M
NLGLZPZ@GMFGLZ@H
[NLGLZ@Z
NLGLZ@ZNLGLZ@Z
NLGNLGNDH
NLG_[QZE[Z
 )))NLGvZJ
NL]@GZ]HEE
NL]@GZ]HGJL
NL]@GZ]HGJLLQL
	)))N[LH]
NL]H]][@
n)))LHBAHG
NL]HBLEM@[HBLEYHM
n)))L_HE
N)))L_HE
!)))NL]hEE
NL]HEEALHML[Z
NL]HEE]AL]@JBL]
NL]HEE[LZYFGZLALHML[Z
NL]_HE@MH]@FGBLP
NLHFHZJXX
NL]HGGF]Z
NL][HGMFDO@ELGHDL
n||lh|| h||
NL]_H[@HKEL
NL]H_HZ]HM
NL]HJ]@_L
NL]HJ]@_L]JYE@Z]LGL[Z
NL]H]][@K
NL]H]][@K))
]NL]H[LYEPF[@OKF]ALDH@EZM@L
NL]_H[MH]L
NL]HMZ[LZYFGZL
NL]][HOO
nL]hSmKhJJ]))
NLHXA][BGSBCYXM
NLHYBLHY
NLH[YH]C
NLH[ZA@O]
nL]hZPGJbLPz]H]L
:)))NL]HZPGJBLPZ]H]L
;)))NL]HZPGJBLPZ]H]L
NL]HZZLDKE@LZ
NL]HZZLDKEPGHDL
nliklyVQ
")))NL]I]PIYL
Nl.]J7a[Ll
N)))LJAF
NL]JA[FDL
NL]JAH[Y[LO
'()NLJBF
NL_JD_DFM
NL]JEHZZ
!)*NL]JEHZZEFHML[
NL]JEHZZEFHML[
NL]JEHZZELZZK[FHMJHZ]HMM[LZZ
NL]JFDDHGME@GLH
NL]JFFB@L
nL[[@]jFG][FEEL[hJ]@_@]P
NL]JFG]LG]
NL]JFG]LG]ELGN]A
NL]JFG]LQ]
NL]JFGOEFGNvK@]
)))]NL]JFML
NL]JHGFG@JHEYH]A
NL]J[LH]@FG]@DL
nL]j[LMLG]@HE))
NLJ@LMLZ
NL]J[LMZ
NL]JL[]@O@JH]LZ
)))NL]JONZAH[LvMLOMLO_FEDY
NLJSGBG[LX]
NL]_J@ZF
_NLKCOO@MC
NL]K@]DHYK@]Z
NLK@DPMLX]CM
NL]KFF]Z][HY
)))NL]K[HGJA
NL]KHJB]FDLHZHY
NL]KHJBvNYZ
NL]KHZLGHDL
NL]KHZLJEZ
N_LK]JN[XCLBGL
NLKKDXY[PZJC_BC
N]LKNB]FEM
nL]kP]LZ))
nL]KP]LZ
NL]KP]LZ
NL]KP]LZ))
NL]KP]LZv
NLLALEDP[QQAXMZQ
)))NL]@]LDEHKLE
NL][LDF]LAFZ]
NL][LDF_LKJD
)))NL]]LDYGHDL
NL]]LDYGHDL
NL]]LDYM@[
NL]]LDYO@ELGHDL
NL]]LDYYH]A
NL]LELDLG]))
)))NL]LELDLG]KP@M
NL]LELDLG]KP@M
NL]LELDLG]ZKPGHDL
)))NL]LELDLG]ZKP]HNGHDL
NL]LELDLG]ZKP]HNGHDL
NL]LELDLG]ZKPJEHZZGHDL
NL]LELuQ
!)))NL]LG_
)))NL]LG_
N[LLG]AMPBLNALLMHAH]HBHGBLHMLZAGHH]AONA
NL]LG_@[FGDLG]_H[@HKEL
NL]LG_@[FGDLG]_H[@HKELZ
)))NL]LG_@GOF
*.'N[LLGH_
)))N[LLG_HEL
)))NL]LGHKELM
N[LLGHMM[LZZ
NL]LGJFM@GN
NL]LGJFML[
)))N[LLGKLE]
N[LLGK@]Z
N[LLGLGL[N@L
N[LLG][LLL
NL]LG][@LZ
NL]LG][@LZKP]PYL
N[LLGM[LHDDH[[@HNL
N[LL]@GN
NL]LGN@GLKPGHDL
	)))N[LL]@GNZ
")))N[LL]@GNZ
)))N[LLGZFJB
NL][LHEYH]A
NL][LHML[
[N_]LLKKB
nLllllllllmllllOllylm
nLllllllllmllllOllylm77
nlllllllllmllllOllylm9
nlllllllllmlll]Y]]
#nllllllllmllllOllylm
'nllllllllmllllOllylm
)nllllllllmllllOllylm
n)llllllllmllllOllylm
nllllllllmllllOllylm
nllllllllmllllOllylm"-
nllllllllmllllOllylm'.
nllllllllmllllOllylm)
nllllllllmllllOllylm;
"N!llllllllmllllOllylm
*[NllllllllmllllOllylm
N	@llllllllmllllOllylm
N?[llllllllmllllOllylm
N]llllllllmllllOllylm@
NllllllllmllllOllylm
NllllllllmllllOllylm)
NllllllllmllllOllylm[
NllllllllmllllOllylm2
NllllllllmllllOllylm4
nllllllllmllllOllylm5
nllllllllmllllOllylm8
nllllllllmllllOllylma
NllllllllmllllOllylmA?F
nllllllllmllllOllylmb
?nllllllllmllllOllylmB
nllllllllmllllOllylmc
NllllllllmllllOllylmC
NllllllllmllllOllylmc|y
nllllllllmllllOllylmF
nllllllllmllllOllylmfG
nllllllllmllllOllylm#Fn
nllllllllmllllOllylmho
nllllllllmllllOllylmi
nllllllllmllllOllylmI
nllllllllmllllOllylmJB
NllllllllmllllOllylmK
NllllllllmllllOllylmLij
NllllllllmllllOllylmM
nllllllllmllllOllylmMX
NllllllllmllllOllylmo
NllllllllmllllOllylmQ
nllllllllmllllOllylmQ7
nllllllllmllllOllylmT
nllllllllmllllOllylmt5NV*
nllllllllmllllOllylmv
nllllllllmllllOllylmvmi*
NllllllllmllllOllylmW)(
NllllllllmllllOllylmwO
nllllllllmllllOllylmxy
NllllllllmllllOllylmY1
nllllllllmllllOllylmyx
NllllllllmllllOllylmZG
NllllllllmllllOllylmzvjX]
.nllllllllmlll]Y]]
?nllllllllmlll]Y]]
nllllllllmlll]Y]]
*_N#llllllllmlll]Y]]
Nllllllllmlll]Y]]
nllllllllmlll]Y]]1
nllllllllmlll]Y]]X
NLLOSMS_S[XG
N[LLPHLN]XA
:)))NL]LQ]LGZ@FGGHDL
NL]LQ]LGZ@FGGHDL
N)))LLQLJ
"NLLyxhy.
NL]_L[Z@FG
NL]]L[ZL[]]L[
NL][LZYFGZL
NL][LZYFGZLALHML[
NL][LZYFGZLHZPGJ
NL][LZYFGZLZ][LHD
NL]MFDH@G
[NL[M@GN
NLM[GQPEO
]N[_@@LMH_
NLMHL[CQCNJ_JCCYKQ
N]LMHLPLHZCZLCBNQ
NL]M[@_L
]N]LMLF@
NL]M[@_LGHDL
N)))[LM@[LJ]F[
NL]MLJFML[
NL]M@[LJ]F[PGHDL
NL]ML_@JLJHYZ
NL]MLZB]FYMY@
)))NL]MLZJ[@Y]@FG
NLMMM9sZ
NLMNGDPMNM
NLMZKLCPZ[M[ZK[NJ
Nl@_@N@5@
NLNACQ]]JY]XDJGBYB]
N[[LNBCAJBZE_
NL]N@DL]
N[LNF[PiGF]]ZJJ
NL[NHNOHZNONH
NLNK_NCNA[N@L
nL]nL]))
NL[NLP]HDEC
@NLNMDEPMQDA@O[FSQBNP
NLNPL@P_NGKD
NLNPXQYOO
NLNXP]_N@PGBXG
nL]nyf))
nL]nyjGHDLZ
n)))[LNZ_[
[NLNZJBO_QQ
NLNZJYPHGA[JNQS]
NLOALMFG
NLOAN[LYPZLSD]A
n||lo||Ao||
NLOCNL_AM
NLODHZJGAGYEG
NL]OEHZAYEHPL[
NL]OEHZAYEHPL[_L[Z@FG
 )))NL]O@EL
|)))NL]O@ELGHDL
NL]O@ELGHDL
NL]O@EL_L[Z@FG
NL]O@ELZ
NL]O@ELZGHDLZ
NL]OF[DH]]LMMH]LO@EL
nL]OFEML[))
NL]OFEML[
NL]OFEML[YH]A
n||lo||Fo||
_NLOHCHP
NLOHMZYHKGP@
	!NL]O@LEM
)))NL]O@LEM
NL]O@LEM
)))NL]O@LEMZ
NL]O@LEMZ
@NL@ONILMLL
NLOPMXKL
NLO]YJNLBY
NL]PEJA[FDLKFF]
-Nlpgppepq
nlpgppepqs
NLPGQSDD_YL
')))NL[P]MKONNAM
)N[LPOHML
NL[]PP_B
N[LP]PYL
NLPQyxky
N[LPSFGL
n@@@@@@@@lpv
)))NL]]PYL
nL]]PYLnL]DL]AFM))
NL]]PYLO[FDJEZ@M
NL]]PYLO[FDY[FN@M
)))NL]]PYLZ
NL]]PYLZ
')))NL]qDEa]]Y
[NL[QDQCFO
n)))LQLJ
N)))LQLJ
NLQNE[ZA
NLQPNODCA_
n)))@LQYEF[L
N)))LQYHGMLG_@[FGDLG]Z][@GNZ
NLQZQBYOC
')))NL]r
NLSAA]SP_X
NLSCGJ_SCHZ
NLSCOEPBZOY[BBNY
N[L]SEHM
NL][SHBDMAJ
nL]SjFDY
NLspgppepq
NLSPJ_MPN_
nlSSSSSSSS
NlSSSSSSSSSSSSSSSSSSSS
N*lSSSSv
NLtgqggkw
NL]vA]DE))
nL]vakFF]bLP
NL]vBL[KL[FZ
NL]vD@J[Fv]@DL
NL]vDLZZHNL
)))NL]vEFJHEM@[LJ]F[PvHGMvHEEM@[_LZ
")))NL]v[FF]
NL]v[FYJAH@G
NL]v@GOF
NL]v]HZBZ
nL]v]HZBZvYL[D))
nL]vkFF]bLP
NL]vKF]v@M
nL]vKHGB
#)))NL]vKHGB
NL]vLQLvYH]A
NL]vMFDH@G
NL]vMJLv[YJ
NL]vMLZB]FYO@ELZ
NL]vMYHY@
NL]vO@EL
NL]vO@ELGHDL
NL]vO@ELvOF[v]O]Y
NL]vOHBLvJMGvHMM[LZZ
NL]v[QvAHZA
NlvrgCcgfGa
NLV:xJxqy
NL]vY[FJLZZE@Z]
nL]vyHZZaHZALZ
?)))NL]vY[@_LZJvJHEEKHJB
nL]v|ZL[aHZALZ
nL]v|ZL[bLPZ
NL]vZLELJ]@FG
NLW3?NLY
N||LW||LD||
NLXNF]YSO[J[PAZZC]B
NLXPCO]K[
nlxpgppepq
NLXQXAES
NL@XQYF]FK@XQYFCL@XQYFJ]
NLxx]Y]]
NLxyxvxW]
;)))N[LY
?)))N[LY
nL]yAF]F
NLYAMSKK
NLYAPYQNZM
NL]YAY))
NL_YBSZL]H
N]LY@[CF
NLYCMNGDHX_YES
)))N[LYD@GL[M
:)))N[LYE@]]ELuZG@]JA
n)))[LYEHJL
NL]YEHPL[_L[Z@FG
NL]YEHPL[Z
NL]Y[F]FKPGHDL
NL]Y[F]F]PYLFO
nL]y[FJhM
')))NL]Y[FJHMM[
NL]Y[FJHMM[LZZ
nL]y[FJhMM[LZZzjQ
NL]Y[FJLZZKP@M
NL]Y[FQ@LZ
NL]Y[FQP
nL]y[FYL[]P))
NL]Y[FYL[]P
nL]yH]A))
NL]YH[]GL[Z
NL]YH[HDL]L[
NLYHKJGXHJ_K[][PD
NL]YH[LG]
NL]YH[LG]OFEML[GHDL
)))NL]YHZZ
NL]@YNEFKHEY[FYL[]@LZ
NLY]_OEBPXLLXK]
_N[LY@Or
NL]Y@QLE
)))N[LYUN[LY
_N[LYUN[LY
'NLyxvzW
NLYYBNZOG
)))N[LYY@M
NLYZGMCM
N[LYZ][LHD
)))N[LY[ZPZEFNMZ
N)))]LZ]
nL]zALEE
N_LZA]PSL
.)))NLZEF
NL]ZFJBGHDL
nL]z][@GN))
NL]Z][@GN
NL][ZHY[@_H]LBLP
NLZJA@[[
NLZJA]S]
NLZ@[JCHC_B
)))NL]ZJ[LLG]@Y
NL]ZJ[@Y]
)))NL]_@Z@KEL
nL]z][LHD))
NL]Z][LHD
NL]ZLJFGMZ
NL]ZLJFGMZ))
nL]zL[_@JL))
NL]ZL[_@JL
;)))NL]ZL[_@JLAHGMEL
NL]ZL[_L[[LZYFGZL
NL]ZPGJL[
NL]ZPZ]LD@GOF[DH]@FG
NLZXLBEA
)NL]ZYLJ@HE
nL]zYLJ@HEoFEML[
NL]ZYLJ@HEOFEML[
)(N@]M@[
[[[N[[[M[[[
N)M@@@@@
_]-*NM0*
_]-*NM0*'
_]-*NM0*;
_]-*NM0*?
_]-*NM0:
_]-*NM0:'
_]-*NM0:;
_]-*NM0:?
_]-*NM0:?	06
_]-*NM0:;	1*
_]-*NM0:;	1:
_]-*NM0*3
_]-*NM0:?	3
_]-*NM0:3
NM0*'	3:
_]-*NM0:3	3
_]-*NM0:;	3*4F(
_]-*NM0*3K06
_]-*NM0*3L1*4F(
_]-*NM0*3L1:4F(
_]-*NM0:3N3
_]-*NM0*7
_]-*NM0:7
_]-*NM0:7	0
_]-*NM0:7	0*
_]-*NM0*7J
_]-*NM0:7J0
_]-*NM0*7J3
_]-*NM0:7J3
_]-*NM0*7J36
_]-*NM0*7K0:0F(
_]-*NM0:7M0
_]-*NM0*7M3
_]-*NM0:7N0M
_]-*NM0:7O0M
_]-*NM0*7O3
_]-*NM0:'J06
_]-*NM0:?J0M
_]-*NM0*?J3
_]-*NM0*;K3
_]-*NM0:'K3*8F(
_]-*NM0:;K3M
_]-*NM0*;L0M
NM0:'L3-?
_]-*NM0*'M16
_]-*NM0:?M1:(F(
_]-*NM0*?M3
_]-*NM0:;M3
_]-*NM0:;N06
_]-*NM0*;N3
_]-*NM0*'O0
_]-*NM0*'O1*
_]-*NM0*;O3
nM[[[1[[[
_]-*NM1*
_]-*NM1*'
_]-*NM1*;
_]-*NM1*?
_]-*NM1:
_]-*NM1:'
_]-*NM1:;
_]-*NM1:?
_]-*NM1:'	06
_]-*NM1:?	0M
_]-*NM1*?	3
_]-*NM1*3
_]-*NM1:3
NM1:3J3*
_]-*NM1*3L06
_]-*NM1:3M0M
NM1*3M1-?
_]-*NM1:3M3
_]-*NM1:3N16
_]-*NM1*3N3
_]-*NM1:3N3
_]-*NM1*3N3*8F(
_]-*NM1*7
_]-*NM1:7
_]-*NM1:7	0
_]-*NM1*7	36
_]-*NM1*7L
_]-*NM1:7L3
_]-*NM1:7L3M
_]-*NM1:7M0
_]-*NM1:7M0*(F(
_]-*NM1*7N0:4F(
_]-*NM1*(F(
_]-*NM1*?J0M
_]-*NM1:?J3*
_]-*NM1*'J3M
_]-*NM1:'K
_]-*NM1:?K16
_]-*NM1:?K3
_]-*NM1:?L06
_]-*NM1*?L0M
_]-*NM1:'L3
_]-*NM1:'L3M
_]-*NM1*'M0:
_]-*NM1*;M3
_]-*NM1*'N0
_]-*NM1*;N0
_]-*NM1*;N06
_]-*NM1*?N36
_]-*NM1*?O16
_]-*NM1*?O3
_]-*NM1*?O3:(F(
_]-*NM3*
_]-*NM3*'
_]-*NM3*;
_]-*NM3*?
_]-*NM3:
_]-*NM3:'
_]-*NM3:;
_]-*NM3:?
_]-*NM3*;	0
_]-*NM3:?	0:
_]-*NM3:?	0*0F(
_]-*NM3*;	06
_]-*NM3*?	1*
_]-*NM3*3
_]-*NM3*3	
_]-*NM3:3
_]-*NM3:3	0
_]-*NM3*3	3M
_]-*NM3*3J0*(F(
_]-*NM3:3J1:0F(
_]-*NM3*3J16
_]-*NM3*3K0
_]-*NM3:3K06
_]-*NM3:3K1*
_]-*NM3:3L0
_]-*NM3*3L36
_]-*NM3:3N3
_]-*NM3*7
_]-*NM3:7
_]-*NM3*7	06
_]-*NM3*7	3
_]-*NM3:7J16
_]-*NM3:7J36
_]-*NM3*7K0
_]-*NM3*7N0
_]-*NM3:7O3
_]-*NM3*'J0
_]-*NM3*'J16
_]-*NM3*'J3
_]-*NM3:?J3
_]-*NM3:;K1*4F(
_]-*NM3:;M
_]-*NM3*?M0
_]-*NM3:'M1*'	
_]-*NM3:'M16
_]-*NM3*'M3
_]-*NM3*'M3:?K
_]-*NM3:?M3M
_]-*NM3:'N0
_]-*NM3*'N06
_]-*NM3*?N0M
_]-*NM3*?N3
NM3*'N3:
_]-*NM3:'O36
_]-*NM3:?O3M
n@m@@A@AAac
NmAaAeA]AUAMAEA5A)A-A
N@@@@@m@@A@ADac
NmA]AMAAA-A
NMACA@_SDSYG
Nm@@A@h MN
Nm@@A@h Q[
NMAJPX]BKCKYX
NMAMDKYPODXK]G
NMAQ[OJ@G]
]N]MAYMLYSSP]
NMB_EBYFLS[M
N)M@@@@B@@@Hp@L
NMBKMOF[KE
NMBKZCOCZQ
NMBLXXSLQM[
NMBMLOQCKF[[JOQ_AS_Z_
NMBNDQSBOYASGE
NM@BPBXEHPQ
NMBP[XLOC_
]NMCGMC[SY
NMC@L@O@_[N
N[M[CMONQJAPXS]Q
NMC[N]LKZYCZO
NMCNLYBCBY]DJPX
NMCNS@DX@
NMCZFMK_M
NMD]]ALYMJ
][[[NMDdY[[[
N[MDG@DOO
N]MDGZBS_
NMDH[_YZ
NMD]JAZ]GDPJO
NMDLSH@MS
?NMdP[[[
NMDQEDBXY
nMdS[[[;[[[:[[[
NMDS]XMY[_QYO[BN
?NMdV[[[
NMdV[[[|[[[
NMEESGO_
N_MENNJOY
NMFAA]YDYH
NM_FBJ]_]
NMFCPJKAFOYXDKQ
NM_]FE_H]O
N[@M@[FG
NMFQSDBMMY
NMFY[[LQD@LB_
NMFYYJDQJ
NM@FZQBY_D[EGN_
_NMF_ZYNEZ
N)mggfw"
N!mggfwX
nMgGigfG
Nmg[kgfG
NMGOZYSNBHYPK
NmgqggJv
NmgqggRi7[
_NMHADEALXD
nmhJ]@_@]P
N_MHKZCL
NMHKZDYJOKZFJ
nmH[[[P[[[
]NMHSLMQ
N@MHSSMGBDMLPD]SBP]EAD]L
NMHXHJADSH_ZD]NACDQYPQC[
NMHX_PNOG]_XJBLLQ
NMHZEZPC]MQ
n)))MJFDJGON
NMJ_GPMGXSJ
nMJgqggP
NMJKPCF[
nM[[[j[[[l[[[M
NMJ[]OMCB[[B
N][MJ[O@Y
]NMJQCG_
N[MJQKQFPZ
NMJXSPDBPGBSQ]_@LZAD
N@MKHZBL]
NMKJ[BSNGFJ_MM
NMKMAPQNJ]K
NMKM_XJPNAYXQH_ZM]H]DADCKC
N_MKOMLD
NMLEHEMQHLZDS
NmllllllllmllllOllylmL
NMLMDDCASO
N[MLNKBAGZ
NMLX[@BN
NMLX]YGJQJBLSJQS
NMLYKJSXGNQJ]QPN
nmlz]H[]L[
NM[MDBLSLN
NMMDNE]AEN[]C_N
[]NMMG]PMCAP_CE]
NMM]HODZQ
NMMJQKPAN_FLHOBEH[
NMM[LMMNN[
NMM]OBJPGZ[MBQ
nMMpHasValidProjPath
NMMP]QBBZB
NMMQNX_QMY
N[MM[SQG
]NMNAXOCE
NMNBQZG_Q
NMNC@JMCDA[]
NMNEL[DZZZ
]NMNF[]OCDJ
NMNHC@MNP
n)))M@N@]HEDH[BL]@GNM@ZJF_L[P
[[]N_M@NLGBPELD
NM_NOHG]_EOAN[EQ
NM]NOMNO
NMNQO_PY
NMNSBDKG
NMNY[MLYFQD
n||mo||8o||
NMOALIHI
NMO_AY]]CY
NM]OBP_Y
N@MO]GBP
NMOHYEZQSJF[[CJ
N_MOJOQDL
NMOKDAJD
NM[OM[]PG_XMXHP
n||mo||?o||
_[NMOS]O
[n[m[o[v[o[m[h[
N@MOYZAYF
]NMOYZMD
NMP]BOLJ
NMPCEPZMHOHYO
]NM[PGQG
NMPOEL_J
@NMPSQH@JGKS@M
@NMPSQHN]NE
NMPXG[CAQCJQ
N[M]QBAOF
NMQG]KPK
NMQNQAG[CCMQYNDELL
NM_QNSJJ
NMQPAHOSD
[NMQSSJE
nM[[[q[[[w[[[
NMQ_YSJKYKQK_JGXNS
NM_SL]GLN
NMSNB[SLEY[D
NMSPCHGQCK
NM@S[PDLDB
NmSSSSSSSSSSSSSSSSIbf
NmwgGdgfG[
NM[X]CNB
]NMXJPSJ
NMXK@]JSX
NMXMKFCXON]NBOS
]NMX[OMQ
NM!xx]Y]]
NMXZXFQXG
NMY]DEHYQ]H_
_NMYHO]J_P
N]MYJBOX
NM@Y[MLSLZG_
nmY[[[O[[[N[[[
NM]YPKDLNC
NM[YXHSZDAX_
NMYZDJXAG
n)))M@_Z]PEL
NM@ZPFLJG
NMZ_QQLN]HJ
NMZZJ[@Y]Z
_]-*NN0*
_]-*NN0*'
_]-*NN0*;
_]-*NN0*?
_]-*NN0:
_]-*NN0:'
_]-*NN0:'	
_]-*NN0:;
_]-*NN0:?
_]-*NN0*3
_]-*NN0:3
NN0*3	16
_]-*NN0:'	36
_]-*NN0*3J0
_]-*NN0:3J1*
_]-*NN0*3J3*8F(
NN0:3K1-?
_]-*NN0*3K3
_]-*NN0*3L0M
_]-*NN0*3L1:
_]-*NN0:3L1*?
NN0*3L3*
_]-*NN0:?	3M
_]-*NN0:3M0*(F(
_]-*NN0:3M3M
_]-*NN0*3N0
_]-*NN0:3N0
_]-*NN0:3O0
_]-*NN0:3O1:(F(
_]-*NN0*7
_]-*NN0:7
_]-*NN0:7	0
_]-*NN0:7	3
_]-*NN0:7J0M
_]-*NN0*7J3
_]-*NN0:7M3
_]-*NN0:7O3
_]-*NN0:7O3:(F(
_]-*NN0*7O3M
_]-*NN0*(F(
_]-*NN0*'J3
NN0:'J3:
_]-*NN0:?J3:8F(
_]-*NN0*?J3M
_]-*NN0*;K0
_]-*NN0*'K3:
_]-*NN0:;L0:?N
_]-*NN0:;L3*3O
_]-*NN0:?L36
_]-*NN0*;M
_]-*NN0:;M06
_]-*NN0:'M1*(F(
_]-*NN0*;N36
Nn0;N5_k0d0D0f0o0
_]-*NN0:;O0
_]-*NN0*?O06
_]-*NN0:?O1*?
_]-*NN1*
_]-*NN1*;
_]-*NN1*?
_]-*NN1:
_]-*NN1:'
_]-*NN1:;
_]-*NN1:?
_]-*NN1:?	0
_]-*NN1:0F(
_]-*NN1*3
_]-*NN1:3
_]-*NN1*'	3:0F(
_]-*NN1*3	1*
_]-*NN1*'	36
_]-*NN1:3J0
_]-*NN1:3M16
_]-*NN1*3N06
NN1*3N1*3O
_]-*NN1:3O36
_]-*NN1*7
_]-*NN1:7
_]-*NN1:7	16
_]-*NN1*7J0:0F(
_]-*NN1*7J0M
_]-*NN1:7K
_]-*NN1*7M3
_]-*NN1:7M3:4F(
_]-*NN1:7O3
_]-*NN1*;J0
_]-*NN1:'J0
_]-*NN1:'J0:
_]-*NN1*?J16
_]-*NN1:?J3
_]-*NN1*'K0
_]-*NN1:?K06
_]-*NN1:'K1*8F(
_]-*NN1:;K3
_]-*NN1*'L0
_]-*NN1*;L0
_]-*NN1:?L0
_]-*NN1:'L0*8F(
_]-*NN1:'L3
_]-*NN1:'L3:0F(
NN1*?L3M
_]-*NN1:;M0*3
_]-*NN1*;M06
_]-*NN1:'M3:
_]-*NN1:;N3
_]-*NN1:;N3*7
_]-*NN1*;O
_]-*NN1*'O0
_]-*NN1:'O0
_]-*NN1:'O0:
_]-*NN1:;O0
_]-*NN1:'O3
_]-*NN1:;O3
NN2NNNOa
_]-*NN3*
_]-*NN3*'
_]-*NN3*;
_]-*NN3*?
_]-*NN3:
_]-*NN3:'
_]-*NN3:;
_]-*NN3:?
_]-*NN3*;	0
_]-*NN3:'	0:
_]-*NN3:?	1*0F(
_]-*NN3*3
_]-*NN3:3
_]-*NN3:3	0
NN3*3J0:?N
_]-*NN3:3K0
_]-*NN3*3K36
_]-*NN3:3L0M
_]-*NN3:3L1:(F(
NN3:3M0:3
_]-*NN3*3M3
_]-*NN3*3N0
_]-*NN3*3O3:8F(
_]-*NN3*7
_]-*NN3:7
_]-*NN3*7	0
_]-*NN3*7	3
_]-*NN3:7	3
_]-*NN3*7J0:
_]-*NN3*7M0
_]-*NN3:7M0
_]-*NN3*7M0*'M
_]-*NN3:7M1*8F(
_]-*NN3:7N0
NN3*7N1*;
_]-*NN3*7N16
_]-*NN3*7N1*8F(
_]-*NN3:7O06
NN3:7O0M
_]-*NN3*7O1*4F(
_]-*NN3:'J0
_]-*NN3*;J1:4F(
_]-*NN3*'J3
_]-*NN3:'J36
_]-*NN3:?J3M
_]-*NN3:;K0M
_]-*NN3*'K1*(F(
_]-*NN3*;K3
_]-*NN3:;L0*(F(
_]-*NN3*'L1:0F(
_]-*NN3:;L16
_]-*NN3:;L3
_]-*NN3:?L3
_]-*NN3*;L3M
NN3:'L3M
_]-*NN3:?M0
_]-*NN3*'M06
_]-*NN3*?M0M
_]-*NN3*;M1*
_]-*NN3*?M3*
_]-*NN3*'N0
_]-*NN3:;N3
_]-*NN3:;N36
_]-*NN3*'O0
_]-*NN3*;O0
_]-*NN3*?O0*
_]-*NN3:?O0
_]-*NN3:'O1*
_]-*NN3*;O3*4F(
NN3*'O36
NN3*?O36
n #"n.45n
n||@n||6j||
'N@N9KAI9xyxvy
NnA8A3AO@
]N[@NA@[A
n@@@@@n@@A@AAac
]N[NAENOXNSF
NnAgAAA:A'A
NNAMEAHQCMO_BY
NN_AMHYGB
NNAQBOXQ_NMK
]NNAS]CQ
NnATABA!A
NnAUAp@'@
NNBG]AKJ@
N!NbgfG*
NNBJXLOPS
NNBMA_QL]
NN]BQ[J]GA
NNB]QYO[AE
NNbTUTTUV
NNBY_YCK]E
NNBZNNXH
@@N@NCac
[NNCAGA	
NNCDGSSYAD
N]N]@CEB_KBJJAZA@HAG
NNCG_OBHP[[QSO[H
]NNCLXDBHPSGLNBZ
N][N[C[ONZMOM[][
]__NN[C@Q
Nnd621f1
nNd][[[F[[[p[[[ 
NNd_[[[G[[[
N[]NDGNY
nNdI[[[D[[[
NNDMXSX_
NNDN[[YKD
*NNdO[[[
NNDQX_L[X
*NNdX[[[
nNdZ[[[6[[[
NNdZ[[[D[[[
NNdZ[[[o[[[n[[[
NNEH[AYHXLX_
NNEKZNZHK
nneljnlj
NNENN]HJXQG
NNEZ[Q]G
nNF")(((
N)))NF]F
NNFKZABJDS@NC
_NNFMH]D
nngafgfG
nNgCagfGj
NNGDYAOXDQG
NNGFCGZY
NngfGGX;Igqgg
n)))@NGF[L]FZB@Y]A@ZO@EL
NNGHNXLG]P]Q_LLZ[
NNGJO[HJZN
N@NGJXXGOSM
NNGNSJGGB
@Nngqgg7[
N#NgqggLh
NngqggU0
NN@gWtgfG
[NN]HBDAG
NNHDZCL_
NNHHZMQONLHABK]
NNHJKNKY
N]NHKAQO
N]NH@KZ[DAK
NNHMPQE_A
[NNHONNHMO
[n[n[h[v[i[k[
'N@;@:NINxyx
NnIpIehBP
NNJA_SAG
_NNJE[PZLHNC
[NN_JEXSOPLB
@NNJ[HJBYJ
NNJ@ONGKH
NNJYLQFH
NN_JYP_K
NNKGPZBQN
_N_N_KJ_J_MQMJQQQMQMQMQMZZQJ_ACKBKDKG
NNKJP]_N
[NNKNKCMAC	
NNKP]AABMSY]Y]
NNKZBB]BBKNBGOE
:)))][@NNL[
][@NNL[))
NNLDA[DC
n)))NL]FKCLJ]
N@N]L]FKC@N]LJ]
NNLLG_CHOJ[N
nNllllllllmllllOllylm
NNllllllllmllllOllylm
NNLN]CZAS
nnlol:KqleGeGeG
NNLPNDQK
N_NLQYCKO
NNLSCP]FN__OYX
n)))N[LY
][@NNL[Z
][@NNL[Z]HJBY@_F]_@HEFGNCDY
NNMBDGMYMXHSNYOYKOCC
NNMBOMMP]
N]N[MKKNZ
NN[[MMOO
NNM]QHGJFQ
NNMQ_]LESCXSC_DD
@NNNAKFAAHLD
NNN[EPY]Q_AJ
NNN[FPHH
NNNMODCY
NNNMPLYC
N	N	N	N	
NNNN6NNNN
NNNNNNMMMMMMM[[[[[[
NNNNNNNN
NNNNNNNNN
NNNNNvav
NNNNvaN1
NNNNvaO1
NNNNvav1
NNNNyxby
nnnoooopp
N]NOCHAJSJ_EMYKM
n||no||Eo||
NNOJJPG[LCFLD
N_NO]JLXALAQQ
NNOJO@OKMI@K
NNOJPL]HE
NNOOOOOOOOOOOOOOOO1
NN]OPGAB
N||nO||QO||6O||
N]N]_OXBBC
NNP_BDANPLZDJQY
NNPBYK]LSOMNDH_
NN]PDA__
NNPNSXAX
NNPPNPUUPNb
N[NPQGH]GP[HLF
N[N[PQLi
[NNPSVOQOQOP[YQQN
[NNPWYOWPOYVOPVXNSa
NNPYDJMYX
NN[QCGPDH
NNQHAZKA@HA
[NNQH_HZ
NNQLMYDZ
]NNQMH]_LN
NNQNSFQNYSCXK
NN]QO[BA
N]NQXK_O
NNQXLNNKG
NNQX]MCXK
NN_S]AC_
NNSBKPKO]E]MAY
NNSCQ]KQ
NNSED]EO
NNSFCQHBSP
]]NNSHQE
NNSL]SQKGN_QSEH
NNS]PSAAS
[NNSQPOPWPOUTOSPN
[NNSQSOPRQOPYXOPRRN
n _	nSSSSy
[NNSVOSTTOXQOPTYN5
NN]_SXE@
NNSXFCOJNXA
NNSXMZX__ZN
NNSYECANL]_
NNSYGOGYA
NNSYXYSJSNMF@NBFNKQO
nN[[[v[[[a[[[
[NNWTOSUROPQROkaq	
[NNWTOSUROPQROTYN
[NNWXORPOYQOkap	
NNX[]DMX
nNxgqggD
NNXHSCS[
_NN[X]XAZMNXJ
NNXX[SLY]_H
[NNXYOPSWOUYOPSUN
NN_XYZF_FF@@
NNXZ_CCXM[JDGXZON
NNYC_ZEZL
NNYDAQZ_EXH
NNYD[CJCDNDNQ@Y
]NNYD[MJOABX
N@NYDXCG
NNYFYCBKMDHZLDK
NNYMNQ@O_]C
NNYPMEHK_DO
[NNYROPUQOPYUOPTSN
NNY_SPLZ
NNYSXXX@LZEY
Nnyyyyyyy4
NNYZSL_DKQ@B
N]NZ]JYNF
N]NZ[N[J
NNZP[BQM
NNZQZS_FGXQSY
NNZXPNSGPYNPPXCHY
NNZZCAAQLQ
NNZ@ZFE[
|||||||||||||||||NO
||||||||||||||||NO
|||||||||||||||NO
||||||||||||||NO
||||||||||||NO
||||||||||NO
||||||||NO
_]-*NO0*
_]-*NO0*'
_]-*NO0*;
_]-*NO0*?
_]-*NO0:
_]-*NO0:'
_]-*NO0:;
_]-*NO0:?
_]-*NO0*'	0
_]-*NO0:?	0*
_]-*NO0*?	3
_]-*NO0*3
_]-*NO0:3
_]-*NO0*3K
_]-*NO0:3K0:
NO0:3K0*?
_]-*NO0:;	3M
_]-*NO0:?	3M
_]-*NO0:3M3
_]-*NO0:3N0
_]-*NO0:3N06
NO0:3N0M
_]-*NO0*7
_]-*NO0:7
_]-*NO0:7	3
_]-*NO0:7	3*
_]-*NO0:7J0M
_]-*NO0:7J1*
_]-*NO0*7J16
_]-*NO0:7L0
_]-*NO0*7N0:0F(
_]-*NO0*7N3*
_]-*NO0:7O3:0F(
_]-*NO0*7O3M
_]-*NO0:;J06
_]-*NO0:?J16
_]-*NO0*?J3
NO0*?J3:'
_]-*NO0*;K0
_]-*NO0*?K0
_]-*NO0:?K3:
_]-*NO0:'L16
_]-*NO0*;L3*
_]-*NO0:'L3*
_]-*NO0:?L36
_]-*NO0M
_]-*NO0:?M0
_]-*NO0*'M3
_]-*NO0*?M3
_]-*NO0:;M3
NO0:'N0:;L0
_]-*NO0:'O0
_]-*NO0:;O0
_]-*NO0:?O0
NO0:?O0M
_]-*NO0:;O3
_]-*NO0*'O36
_]-*NO1*
_]-*NO1*'
_]-*NO1*;
_]-*NO1*?
_]-*NO1:
_]-*NO1:'
_]-*NO1:;
_]-*NO1:?
_]-*NO1*'	0:
_]-*NO1:'	0
_]-*NO1*?	06
_]-*NO1:'	1*
_]-*NO1*3
_]-*NO1:3
NO1*3	1*
_]-*NO1*3J0:
_]-*NO1*3J3:
_]-*NO1*3J3*0F(
_]-*NO1*?	3M
_]-*NO1*3M
_]-*NO1:3M16
_]-*NO1*3M3
_]-*NO1*3N3M
_]-*NO1*3O0:
_]-*NO1*3O06
_]-*NO1*7
_]-*NO1:7
_]-*NO1:7	0M
_]-*NO1*7J0
_]-*NO1:7J0
_]-*NO1*7J0M
_]-*NO1*7K0
_]-*NO1*7M0:?J
_]-*NO1:7M0M
_]-*NO1*7N0M
_]-*NO1*7N1*
_]-*NO1:7O1*
_]-*NO1:7O1:0F(
_]-*NO1*7O16
_]-*NO1*7O3
_]-*NO1:7O3
_]-*NO1*?J16
_]-*NO1*?K
_]-*NO1*'K0
_]-*NO1:;K0
_]-*NO1:;K0*
_]-*NO1:?K06
_]-*NO1*?K0:8F(
_]-*NO1:'K36
_]-*NO1*'L
_]-*NO1*?L0
_]-*NO1:'L3
NO1:?L3M
NO1*?M0-?
_]-*NO1*'M1:
_]-*NO1:;M3
_]-*NO1*;M3M
_]-*NO1*;N3
_]-*NO1*?N3
_]-*NO1:;O36
_]-*NO3*
_]-*NO3*'
_]-*NO3*;
_]-*NO3*?
_]-*NO3:
_]-*NO3:'
_]-*NO3:;
_]-*NO3:?
_]-*NO3:?	0:8F(
_]-*NO3:'	1:8F(
_]-*NO3*3
_]-*NO3:3
_]-*NO3*3	06
NO3*3	1:'K0
_]-*NO3:3	3
_]-*NO3:3J0
_]-*NO3*3L1*(F(
_]-*NO3*3M0
_]-*NO3:3M0*0F(
_]-*NO3*3N0:8F(
_]-*NO3*7
_]-*NO3:7
_]-*NO3:7	0
_]-*NO3*7K3
_]-*NO3*7L0
_]-*NO3*7M0
_]-*NO3:7M3
_]-*NO3*7N0
NO3:7N06
_]-*NO3*7N0M
_]-*NO3:7O0*
_]-*NO3*7O1:
_]-*NO3:7O3M
_]-*NO3*8F(
_]-*NO3*'J0
_]-*NO3:?J0:
_]-*NO3:?J1:0F(
_]-*NO3*'J3
_]-*NO3:;J3
_]-*NO3:;J3*(F(
_]-*NO3:?J3M
_]-*NO3*;K0
_]-*NO3:'K0
_]-*NO3:;K0
_]-*NO3:;K3
_]-*NO3*;K36
_]-*NO3:'L0*
_]-*NO3:;L16
_]-*NO3*;L3
_]-*NO3*'M0
_]-*NO3:;M3*
_]-*NO3:'N0
_]-*NO3*?N16
_]-*NO3*?N1:(F(
_]-*NO3:?O0
_]-*NO3:?O06
_]-*NO3*'O0:?O
_]-*NO3:?O1*
_]-*NO3*?O3
_]-*NO3:;O3
_]-*NO3*;O3:0F(
n||]o||4o||
no5g'TgfG
NO 7*J:HUK?5;U@A..U212IUKJ34M*KLJLLLL
]NOA[DXOLSLSQQ_]AXNX
NOAJNX[SZQS
)))NOA_KAOAO
[NOAMAHHBNB
N]OAMOMP[_
NOAQAJSA
NOAQE_AYS
N_O[A[QXXC
No atomic counter with key: 
N[[OAXKBF_
NoAZAPAVALABAj@
NOAZBLGOXQ_KQNPXYYY
nO@@@@B@A@2 @H
]NO@BJ[O
NoBMCalls
NoBMMisses
no_boundimport
NOBOYZEM
no buffer space
N-OB[[[Z[[[K[[[-
N_OC_FCCSY
no child process
No child processes
no_comruntime
". No conversion possible.
NOCO_OZE
N]OCPDS[
NOC_P[QNP
NOCSDNHO
NO[]C@ZB
[[[#nOd_[[[
NOD_DAHEQZMFKQ
N]ODD]GKHPQ[GFSF[JQ
node.appendChild() - argument must be DOM Object
node.appendChild() - argument must be Object
node.appendChild() - argument required
node.appendChild() is not a constructor
node.appendChild() unable to append child to this node
no_debug
No decode buffers available
no_decription
node.insertBefore() - at least one argument required
node.insertBefore() - failed (reference child not found?)
node.insertBefore() - first argument must be DOM Object
node.insertBefore() - first argument must be Object
node.insertBefore() is not a constructor
no_delayimport
NodeList.item() is not a constructor
Node position is already occupied
nodeType
nodeValue
NODKKOHAK[
_NODOM@]J
NODYYKYX
]N_OECQGJEDQ
N)))@OEJHZL
n)))@OELG
NO]_ELGFQSQF_G]]BA[GK_[
n)))O@ELMLEL]L
NOEMLL[OHCFM
NoEnvVariables
NOEPD[N_K_PCA
No error
 noexcept
no_exception
no_exports
]NOE_@ZY@KAK]
NOFCALLJZGG
n)))OF[DDL]AFM
n)))OF[DHJ]@FG
no_fixups
N)))OF[LHJA
NOFLPK@D@SFG
N)))OFNLNALAML]P
n)))OF[YF[]@GIJH]
NOGASE__PB
NOGEYHPGP
No global storage available
N_OGNOZHYPO[
NOGNZYSGA[CX
***N@O@GO
[NO]GOYK
NogqggvA
NOG__QQ]SXP
]NOGXQNE
N]OG_YD]JCA
NO_GYGXJCJDY
NOGZXHPC@B
#)))NO_H
n)))O[HDLZ[J
NOHYZ[BMJCECXXXY
no_idata
NoIdgfGJ
N@OIJyxq
no_imports
no_imports_dir
nO[[[i[[[o[[[
@NOJKO@@AK
N@OJMINI
N@_OJQP]
NO@JSQ[QCJH_
)))N@OJ@YEMHZL
NOJYYCGF
NOK]]MYGBB
NO]KPBSX
NOKPOJSXH
[NO[_KQMHMEOZHJQ_
No kstore space
_[]]N_[OL
NO]LCQFSODHX
NOLDX_MNCPQ
NOLG_G[OHPNM
NOLHPCOZMJJC
NOLKCLAM]KC
[ [n[o[l[l[o[m[b[
no_loadconfig
no lock available
No locks available
:)))NOLOX
N@OLQ][HJ]HEEuLQLJJDM
NOMAQEYBQA
No match
NO@MD]]CAKCXQO@SDS
[[[	[[[NOMdG[[[
No memory
no memory ranges available in GetSMSMemRanges
no memory ranges available in SMSVirtualQuery
no message
no message available
NOM"gwwgfG
no_mipsgp
NOMKZ]CE_
NOM[]M_XHZ
[NO[[MMY
NOMOGG[ZBCHXGE
no more rows available
NOMOY]@YA_K__GYKHMPDMK]
NO@MXENX
NONCJL@_
non-deterministic function in index expression or CHECK constraint
non-deterministic functions
NONEP_GDPOZG[DFLQ
NonfileSampleAvailable
N_ON]GY_JPGMAF
NONGY[N_
NONJACKN
N]_ONLS__ALXZ
NONNXQD[YS]XHNX
NONOOOOOOOx
[NONPENBMMJQJME
non-unique entry in index 
N@ONXHQNF
[_NO]NZPE
nO[[[O[[[
n||oo||Ao||
NOOA]QLZ
NOOAXDF_GYGOMSDMPY[
nOODLEcRYPT
NOOELYD]
]NOOHHAP
NOOKzxFy
noolkocyVQ
NO]ONYEL]KY]
n||Oo|| o||
NOOOAMJMIO
No Operating System build requirement in configuration profile. Assuming all Operating System builds supported.
NOOPOSJEEOPP
NOOSJQYJ
nopbgfGc
NOPCOSSG
NopgppepqZ
No platform requirement in configuration profile. Assuming all platforms supported.
NOPLHGEO
No plugins specified in configuration profile!
NOPQOPOSJZA
n-o-p-q-r-
no process handle is available in ReadProcMem
no process handle is available in x86dasm
No profiles are available
No profiles available 
No profiles have been set to run!
no protocol option
[NOPS[QE[
NOP_]]]XOXX_B_@
)noq;33_Q__y_
@NOQMEMDBPAAY[
[NOQQGOS]
[NOQSDDJ
NOQSX_QLGX
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@no query solution
NOQYP[]B
[N_OQ]ZHH
no_relocs
no_resources
No results with no decode errors
.normalization_model_name
normalizer
Normalizer could not process invalid PMI Record
NormalizeString
No rolling queue with name "
No Root Stores Available
N@Or[QZ]H[]tABED
NOSBA_HBQ
noscript
NOSEBHPZG
no_sections
no_section_table
no_security
No sink for core_telemetry_data_message data type.
No sink for core_telemetry_publisher_monitor_command_list data type.
No sink for core_telemetry_publisher_monitor_response data type.
No sink for detection_reporter_ptr data type.
noskipscan*
NO]SMLC]PM
No source for detection_event_report_with_names_t data type.
No space
No space left on device
no space on device
NO[SPLD@
no state
no stream resources
No subject
no such column
no such device
No such device
no such device or address
No such device or address
no such file or directory
No such file or directory
No such node
no such process
No such process
no such table
no such view
NO_S_YHBOC]MMMNH
no tables specified
not a boolean
not-a-date-time
not a directory
Not a directory
notaftertime
notaftertimestamp
Not all parentheses are paired
Not all profiles loaded and parsed successfully
Not an APK
not an array
not an error
not an int64
not an object
not a number
not a socket
not a stream
not a string
not a uint64
not a writable directory
notbeforetime
notbeforetimestamp
not cached
NotChecked
Not compressed 
not connected
.note.ABI-tag
.note.gnu.build-id
.note.gnu.gold-version
.note.GNU-stack
Not enough data available
not enough memory
Not enough space
.note.openbsd.ident
not exact
notfoundcount
Nothing to repeat.
NotificationDedupingInterval
NotificationDedupingScope
NotificationFilter
notification message
NotificationType
Notifies heuristic detection events to the pipeline manager in a configured format. Requires a heuristic plugin to be loaded.
NotifyCmdProgram
NotifyCmdProgramParam
NotifyServiceStatusChangeW
)Not initialized
NOT NULL
NotRemediatedResourceCount
NotRemediatedResources
NotRequested
No trigger match
not supported
Not supported
NotSupported
no_uidata
no value
November
nOWgqgg"
NOXHXJZBH
NOXOKAKZ_GN@[CM_H
NOX_ONHHMA
NOXXMNK[@L
NO@xyxeyJ
]N[OYDZ[MQ
NOYKGFLJOZZSAS
N@O]YLN@O]
n)))O]YNL]
NO]_YXBA
NOYXBYLLSK@SS
NO]Y[Y]A
N@O]ZFGE@GLCF
NOZ[OOCLQYJ
NOZYCE_CEYX
NOZ_ZLGNX
@@@@@@@@np@@
@@@@@@@@np@]
@@@@@@@@Np
nP5dM[[[b[[[
n#p5mQ*!h
@@@@@@@@Np5P
NP(5PSW_[J7N
NPAASSFKD
][NPA@BZB
NPAEMEZBJ
N]PAG[DH
_NPAHYYHPJXLNHAX
NpAiA]AUAMACA5@#@
NP__]AKEXZZ
@NP]AKZH_
NPAMGMSSBX
NpAoAXAWA@A?A(A
NPA_PX_P
[[NPAQG]P
N]PAQY_Q_
NPASLAJHK
N[PA]SQD
NpAutoExclusions
NpAvAmAdAZA
NPBC_EBQG_OJBO
[_NP_BDL
NPBNHCO_
NPBPAOMCYBX
_NPBPJ_A
@@@@@@@@np@@@@@@@@@@B@@@pp@D
NPBQD[Q[
@@@@@@@@NpBR
NPB_SZNHB_
NPBXPEBDJFEAYBZK
NPBZ__AOZECYZ
@@@@@@@@NpcCHq
[NP[CJ[J
N]PCKSB]SSX
NPCNESN_HC
NPCXHEJXZMZ[A[
@@@@@@@@np@D
@@@@@@@@Np*D
NPD]BD_ZNMBOZ
NP:dggfw
N]PDHYHXHFQ[S[G
NPDJKPDM][ZG
NPDLGZG]X
NPdM[[[b[[[
N_]@]PDNSMGSSKN
NP_]D_ON_MBGXJ
NPDOXHDD]A
	NPdQ[[[v[[[
NPDQZCX]L
NPDYNAO[SD
NPE]GXGXDY
NP[EJPMJ
@@@@@@@@np@F
NPF]FXCCZALBE
_NP_FK]KG
NPFOBDSN
nPg)cgfG
N]PGCPAJJ
NPGD_HF[
NPGDZG[QAP]
NpGetAutoExclusions
NpGetNriSuppressionList
NpGetSettings
NPGEXNO[
npg	fgfG
nPgIdgfGi
nP@g!kgfG
_@NPG[LBB]J_GEM_HYYX
NPGNOHKQP
'npgppepq
;npgppepq
]npgppepq
|npgppepq
n_pgppepq
npgppepq
npgppepq!
npgppepq#
npgppepq)
npgppepq*
*Npgppepq
@Npgppepq
N(pgppepq
N*pgppepq
N]pgppepq
Npgppepq
Npgppepq!)
npgppepq0
npgppepq6
npgppepq8
npgppepqA
NpgppepqB
NpgppepqD
npgppepqf
Npgppepqf
NpgppepqgO
N;pgppepqh1p
Npgppepq[-Ha
N?pgppepqJ2
NpgppepqJZ
npgppepqm
Npgppepqm
n!pgppepqMB
Npgppepq.mp9
Npgppepqo
npgppepqp
npgppepqq
Npgppepqq
npgppepqQk
npgppepq):s
NpgppepqSUl
;npgppepqt
npgppepqt.w
.Npgppepqx
NpgppepqXZ
npgppept
;Npgppept
Npgppept
NPGQBON[ZNHLZDQXZ
NPGZJCXP
@@@@@@@@Np[H
NPHBP_ZDO
N)))][PHMME@GB
NPHQGQH@_[DO
NpIHggfGq
NPJB_][_K
N@PJKSQQ
N@PJMJJGBQ
@@@@@@@@NpJP
NPJPJPJPJPJPJ
NPJV]PJIZ
@@@@@@@@np@K@
NPK]@AXYJXDPLJ]G[SXLDP
NPKCQSHQ
NPKCYQXP
N[PKH[XPS
NPKLQ_PKJ
_[NPKOO]_]CGSAGDNMJCKXEXL_KPGHQM
NPKQPSNM
n@@@@@@@@[p_L
N||p.||l.||4?||P.||L.||
NPL]BYDSE
NPLDMKBM
[NPLGZNN
@@@@np@Ljyb|@@@@B@@@Hp@V
npllllllllmllllOllylm
NP;llllllllmllllOllylm_
NPLMPKMMLZ@G
@@@@@@@@NpLQ 
@N]PLXMZBH
NPLZGXM@
NP]MJOGE
[N]P_MP[
@@@@@@@@np@Ms5'o@@@@@y@@B@ACac
NPMSQ]PSKPBKM
NPMXFQHQ[SYMJ_Z
[NPMXM]ZMLB
@@@@@@@@Np]N
N]PNBOFBYSBA
NPNCMPQ@B
n||pn||fn||
n||Pn||Fn||
N_P][NHK
N_PNJCKKBBP_A@JKHME[EXNC
NpNriSuppressionList
[N]PNYZAG
NPOACABNSK
NPO@C[ME_YXMFMM[
n||po||go||Po||8o||!o||
N@PO]HQYKZ
NP_O]JBO
NP]O_JLYL
N]PO_KCQPOGJDS]KELJ]NO
NPOKYPNKKAHNZG@JKB
n||Po||!o||
NPOPkaq(
NPOQZNNDH]]P
N]P_O@S@JXZMXDGYAPOH
NPPCJEG_@X
NPPEESNK
NPPGPLLNY_]J
nppgppepq
@NP__PHHXKGY
N@PPL[XKM
NPPNOSZC
NPPPSLOJ
NPPSLHAG
NPPYQQBPHQBEDZLKXJ_GAG
NP]PZLN[
N]PQGPSYA
_]NPQXEMH
@NPQyxoy*
@@@@@@@@np@r
@@@@np@r
)))n)))][PR_H[H
n)))][PRO@G@ZA
[NP]SBCLCXNZ
NPSDLZNZLCSCHA
NpSettings
NPSFLGAZ]_J
NPSL_HMAJHEN
NPSLQNLDHMQMN
NPSOH_AS
n.PSSBZLY9
NPSSDB]LL
@@@@@@@@NpTLD
nP[[[v[[[
@@@@@@@@NpWL
[N]PXGZP
NPX_KZXZYHD
nPXllllllllmllllOllylm
NPXM_DAGGLPZYSXG
NPXPSBAJYMM
NP_XQESNJL
NPXQJONMQ
NPXXPSC]
Np xx]Y]]
]@@@@@@@@np@Y
N]PYAG_DAZ
NPY]]BP]C
NPYCLYMN
NPYOHJMJ
]NPYOL]]BJ
NPYPPLHNMQYSDZMJLZ[GBYSYK
N[[PYSK@S
n	PzFW3bgfG
NP[[[Z[[[G[[[
-NP[[[Z[[[I[[[
@NPZLXSGKJB]SNXNBX[[
NPZP_QJDYYFCS
NPZXNSO[NSZAFL
 ||n!||Q!||0!||
n[[[Q6GfQ[[[
NqAaAeAYAAA)A-A!A
n@@@@@q@@A@ADac
nq@@A@@ap@DL
nq@AA@@PpDDL
NQAGJLBMLSM
NqAiAZAJACA3A
_NQALZBX_
NQ[A[NKP
NqAtA5A.A
NqAUAEA1A)A
NqAuAUAIA)A-A
NqAwAlAUA-A
NqAYAAA9A-A
nq@B@@@@
nq@BA@@Hp@Gbq
nq@@B@@cp@@@@@@@@@@@@@@_p@L
Nqbhggfw(Mcy
NQBK_YSA[
nq@B@@@Lp@m
NQ]]BNAQ
@NQBNLYsSSS
NQBOSYANMQ]GOMJHNH
NQBP_[E]BQB
nq@@B@@PpJ@@@@@
nq@@B@@PpR@@@@@
NQBXSK_YLMMGHAPDAJ
N@QBZYJX
[N_QC]DAJYSOF
NqCdS[[[I[[[p[[[F
NQ_CJ]JKDH
NQCPSSGXQ_H
NQCYAM]LNHBL
NQd_[[[0[[[4[[[
N_QDAK[X_G@FCQQNXGYYP[EMQKOPXF
[NQDAPZYPQ
[NQD@FXJG]GJBKQ
NQ@DNJNM
NQ_DN[PKK
NQDQPYOK
N]QDYQ_BJXZH
NQEGMXCX
nQ[[[f[[[
)))NQFA__B
NQFCHKCO
NQFF[ZGKA
NQFKQBZZMHBCC]
NQFSKP]SFC]K[CC]
N_QFXK_AHAJFCBQ
[NQGCPYOM
NQGDGCQE
nQg-kgfG
NQGLMHMDMNNDOGXL
NQG_@NO@
NQGO_YPQ
NQGQE[NYA_ZB
Nq*gqgg#
nqgqggEQql
NQGQK_]B
NQHCJQKH
NQ_]HEN[_QLL@@
@NQHL]OSXY
NQHP[[PGZ
[NQH]XAPDNJO[N
NQHXXDH_DD
NQHYEOCY@P
NQHYGBPBP
N[QJA_LQ[
NQJAQ]HNQXAA
NQJBQBAXY
NQJCG[X_Q[[
NQJ@DL_KYL
 NQJQOQN
NQKJJABABAHPDYL[
NQKOGBQHG
NQKXFPZSY
NQKXPSO_DPCJSP[QHJHL
NQ[[LCNOK
NQ[LCX[LMF]H@HF[
]NQLDD]BG
NQL[LJDL
NqllllllllmllllOllylm
NQllllllllmllllOllylm
NQLLMJZC@@B
NQLOCLNG
nq@@@@@Lp@
]NQLPYP_FSECZD
NQL_XXAHJO
N[Q_L]ZL
NQMGLXQJYSAZ
NQ]MJ]PEDL
N]QMKLLYQK@S
NQ[MLBXNAN
NQMNE[EA]_P_YALOP]GKN[FZC[DSY
[NQ@MPMMNBY
|N|Q|M|Q|L|||
|N|Q|M|Q|L|||||
|N|Q|M|Q|M|||
|N|Q|M|Q|M|||||
NQ]_MYALAAL
NQMYZMSK
NQN[JSQXY]
n qN?K7j
NQN@KODY
NQ@N[YA@
NQNYCDAZY
n||qo||8o||
NQO_EEDJ
NQOKOZ_Q]
NQOMPSFNE_
n||qo||Ro||5o||
NQOYZHDJB
N]QP]DZAYOA
NQpgppepqDPD
NQPH@BXZ
nq@@@@@_p@K
NQPOBY[H]M
NQ]POSG]
nq@@@@@[pVL
N]Q]_P_Z[
N]]QPZM]
]NQPZMD@]K
NQQBOBJA
NQQKFJLOO
NQQPSPFPQHBXO
NQQ@SZQJB
NQSCBZGLZYK
NQSDA[MNHL
NQSHSXZS
_[N_]QSNMS
[NQSOGFJMZ
NQSOJ@BK
NQSPOCPKAADNH]K
]N_QSPX_HE[_BZL
nQSSBp@qE@U[H
NQSSBVsSASS
NQS[ZELXZ[_QEO
[[[nqVeK[[[
nQ(VSSW(nSSW[
NQXCG]NQM
NQ_XGG]SK
NQXJKBSQ]_
NQXJ_]MAP
NQXNLBAZ
N]Q]]XSNSLX
N[_Q]XZA
NQYBSSM]
N]QYCOSN
NqYfgfGOV
NQY]FKP]
_[NQYG]MLGCQ
N]Q[YKY_P
N[QYLOGP]Y[
NQYPKZJF@BKG
NQYYAS_[
NQZGEC_QZ_QDY]ZNXBG
NQZGYSNSD
NQZLLCN_L
NQZPYXBPANG
N_QZQCXXJX
n@@@@@r@@A@AAac
NrAeATAGA6A
NrAgACA4A
NRagfGoq1
NRAHA;A!A
NrAHAFA7A*A
NrAkA[AOACAGA;A?A3A
nr@B@@AHp@G
NR@@@@B@@@Hp@
nr@B@@@Hp@B
nr@B@@@Pp@b
NrC@BA@40U@@@@@1sz
NRd_[[[;[[[:[[[
n)))rD@J[FZFO]
'nRdL[[[
]nrgggGg
nrgKggfG
nRGmY[[[
Nrg;ngfG"
Nrgqgg3k
nRgqggqW
NRgSfgfGU
nriengineversion
NriExcludedProcesses
nri.GetHttpCommand(): not on HTTP trafic
nri.GetHttpRequestHeader(): not on HTTP trafic
nri.GetHttpRequestHeader(): UtilWideCharFromUtf8 failed
nri.GetHttpResponseHeader(): not on HTTP trafic
nri.GetHttpResponseHeader(): UtilWideCharFromUtf8 failed
nri.GetHttpStatusCode(): not on HTTP trafic
nri.GetHttpVersion(): not on HTTP trafic
nrisigid
nrisigversion
nRllllllllmllllOllylm
NrllllllllmllllOllylm
)NRlSSSSSSSS6 #
n)))rMEE@DYF[]
NrMiq IM
n||ro||Wo||4o||
nRpgppepq
NRpgppepq
nRpgppepqm
N||@R||.R||
nRRBgqdgfG@!
n._RSC(_SSS@S
NRSRS3BXSSS@S
NRSRS3EXSSS@S
NRSRS#dXSSS@S
NRSRS#KXSSS@S
nRSSB@LY	@ABAsS
NRSSBTs#BRS9
NRSsoXSSS@S; 
NRSSS@SxRRSRS
NRSSULw9
nRSSUsKRSS9
n._RSs;USSS@S
nRSSWBBBA
NRT[[[Z[[[O[[[@
n)))RuFKCLJ]
Nrug5ngfG
N)))Ru[]O
NrVg!ZgfG
[n[[[R[[[Z[[[
n)))rZ][@GNt
n)))rZPZ]LD
NrzrzzAzzz
ns@@@@@@
N@S9N@S)N@S
N_SACLN[B
NS]ADGCDL
NSADJPKGS_MYBQD
NS[AHXXC
NsAkA_AWA;A3A'A
NSAPFH]Z@[O
NSASPSQLFCZMA[MDM
NS@[AYN]CYC
][]N[[SBG
NSBHBNGM
NSBJCELX
NSBLD]ODD
NS[BPHNBDK@H
NSBSA[[[MPC]JOY]HJ[YZQ_]
__NS_[BXBLJSQM
NS[BYXA_ZJGQ
[NSCBZ__CSAYL]@NG@Q
NSCDLG]N
NSCKYSKCP
NS[_CLNB_ZXPQ
N[SCMKHM
NSCOZJGF@K
NScript:ForceQueueNormalizedVFO
NScript:ForceTypeBAT
NScript:ForceTypeIRC
NScript:ForceTypeJS
NScript:ForceTypeNone
NScript:ForceTypeNotBAT
NScript:ForceTypeNotIRC
NScript:ForceTypeNotJS
NScript:ForceTypeNotPS
NScript:ForceTypeNotPY
NScript:ForceTypeNotVBS
NScript:ForceTypePS
NScript:ForceTypePY
NScript:ForceTypeVBS
?Nscript:js_25percentOfFileComments
Nscript:js_25percentOfFileSpaceRuns
Nscript:js_25percentOfLinesSpaceRuns
Nscript:js_50percentOfFileComments
Nscript:js_50percentOfFileSpaceRuns
Nscript:js_50percentOfLinesSpaceRuns
Nscript:js_75percentOfFileComments
Nscript:js_75percentOfFileSpaceRuns
Nscript:js_75percentOfLinesSpaceRuns
Nscript:js_atLeastOneCommentPerLine
Nscript:js_atLeastOneCommentPerTwoLines
Nscript:js_atLeastTwoCommentsPerLine
NScript:JSDisableEmulation
NScript:JSEnableEmulation
?Nscript:js_hasBigString
Nscript:js_hasLongArray
Nscript:js_hasNoIfs
Nscript:js_hasSelfModification
Nscript:js_hasStringFuncs
Nscript:js_highAverageSpaceRunLength
Nscript:js_manyIdenticalLengthComments
Nscript:js_manySmallComments
 @Nscript:js_triggersNormalization
NScript:NoParsingLimits
Nscript:PdfHasHexObfuscation
NScript:SkipTypeIdentification
NSCXMXXOSHDJO
.nSdC[[[H[[[
NSD[HJZ[HJ
N[SDNGAH
NS]DOYBS
NSD[S_NNP
]NS_DYPM
@@NSDYXZ]X
?nSegCwgfGtv
NSEgqggR
NS]EXY[[PKS
NSEZDYXLNL
NSFBPFYSNBF
NSFCYXDX
NSGALHDX]BALNS
NSGGOMFZ@P
NSGH_DMQ
NSG_JPDKXJ
nSgM:ffG
")))NS@GOEH]L
NS@GOEH]L
Nsgqggn5
NSGQM][H
NSgSagfG
NSgU[[[F[[[k[[[
nSgWrgfGt
N[SGYJ[[
@NSHCBPQ
]NS[HHK_YBPYACZ
NSHMCP[_[K
NSHML]MDAO
NSHYZGHEX
NSHZ]JSA[
]NSJADFM
NSJJPCHM_AS
[n[[[:[[[s[j[m[h[c[o[w[o[r[w[
NS[JNSPD]H
_NSJQKZDBD
NSJSBLONG_O]
NSJXOPQANPM
N[SKGA[AN
NSKNGBGAHPGZYLGQ[HZQAF
_NSKXYZMD
NSLBDZPKAXX_YK
NSLC]OKHMABDQBOK[YM
NSLDLQJDDC@K
NSLDMPCYCY
NSLF]JYHO]N@N
[NSLKZQ[
NS[MBANSZPML
NS]MDMBE
NSMGBNLPZ
NS[M[JMQL
NSMPLJJ]Z
NS_MQCZGMPYQLBYAPK[
NS]MQKYAY
N_SMQMPP
NSMXCESJ]
N_SMZ]OECOJ]D]J
[[[N[[[s[[[N
NSNDJNGAB
NSNHJ@NHJ@NH@J
nsnNoOo;rwnxnynPJai|nmGNG
n@S:n@S-n@S
NsNwNkNoNcNgN[N_NSNWNKNONCNGN;N?N3N*N
NSNZ]NMKK@CMD_NB
NSOGNEOPLJ]
n||so||Ho||
@NS_OK_DFKEMX
N@SONOJXE
n||so||Po||;o||
NSOSORAI3
NS]OYJNS
NSOYYJLQP
(NSPack)
(NSPack-DAMAGED)
NSpecialSlots
NSP@FCJAPS
n[spgppepq
Nspgppepq
NSpgppepq
NSPJMS@H
NS[P]XQHPH
NSQA]QPB
NS]QC_QNQ[JLZD]
n)))SQCYP
_NSQELEM
NSQEQSNN[
NS[QFQ_Q
N_]SQGHEOXAA
@NSQ[L_@NSZZ_
NSQOQaa]Y]]
NSQPQQPQPA'
NSSBFLC9
n[SSBOsSSRS
NSSC@JY[NZ
NSSGMACPK
NS]SQGNXE_
NSSRSSSSSSS
nSSSSMb.lSSSSW
n]SSS@SN
NSSSS@S	R
#nSSSSSSSS
nSSSSSSSS
nSSSSSSSS:
nSSSSSSSSg
nSSSSSSSShG
nSSSSSSSSi
nSSSSSSSSk
nSSSSSSSSLB
nSSSSSSSSn
nSSSSSSSS_S5
nSSSSSSSSSSSS
nSSSSSSSSSSSS	
nSSSSSSSSSSSS|
nSSSSSSSSSSSS1rml
nSSSSSSSSSSSSCh
nSSSSSSSSSSSSDRg
nSSSSSSSSSSSSq
nSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSB
nSSSSSSSSSSSSSSSSD?]ly[g
nSSSSSSSSSSSSSSSSF
nSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSS	
nSSSSSSSSSSSSSSSSSSSS.
]nSSSSSSSSSSSSSSSSSSSS1)
nSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSS9
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSb
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSl
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSqk
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
*nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS(
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSx
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSW
nSSSSSSSSSSSSSSSSSSSSSSSSSSSSU
nSSSSSSSSSSSSSSSSSSSSw
nSSSSSSSSSSSSSSSSW
nSSSSSSSST	
nSSSSSSSS_U
nSSSSs'T
NSSSS@SYSRSRS
nSSSSvhD
N[SSS@SY@RSRS3L[SSS@SN@RSRScq[SSS@Sa@[SRS
(NSSW@_B_s
(nSSWLfeQEyPLC9
(NSSW_[s
(NSSW@WBWs
NSSZQJGXB
@[[[nSUdT[[[
n@SWm@SEm@Svm@Sfm@S
NSX[JJNK
NS@XKDMHZBYZLMDFS[J
NS@XSM_Y
NSXSPLADFZDS
NS[YDrGKPSPt
NS[YDrPL@St
NS[YDrSHQLJQHt
NSYEEMQAS
NSYJDGNX[JMBBSKHQS
NSY_JZMM
nS@YmLJFDY[LZZ))
NSYS_NGBY]XYQXK[K
nsyuasyZasyBasy3asy asy
NSYXLXDQGBSGOD
nS@YZ][LHD))
NS@YZ][LHD
nS@Yz][LHDk
NSZ_[DCAHYNDYGQQ
NS@ZDC]YQ
)||n*||T*||@*||(*||
n||T||||||||||||
n@@@@@t@@A@AAac
NtA]AEA2A#A
NtAfAQAHAFA
Ntappdll
NtAVALABA A
ntB5gQfgfG
NTBKt((:
NtCreateFile
NtCreateKey
NtDeleteKey
NtDeleteValueKey
ntdll.dll
N(TdN[[[Z[[[
'NTdQ[[[
nTdR[[[N[[[
NTdZ[[[i[[[
nt@-@@E@ACac
NtEnumerateKey
NtEnumerateSystemEnvironmentValuesEx
NtEnumerateValueKey
)NtFgfGH
NTFS    
NtGetCachedSigningLevel
N__TgfGcK
n(tgqggFe
Ntgwggfw
nth_value
nT JJ1 H
n#:]tllllllllmllllOllylm
nTllllllllmllllOllylm
NtMapViewOfSection
NtNgOOMaS
n||TN||To||Jo||8N||
NtOg;jgfG
n||to||ko||Zo||Eo||*o||
NtOpenDirectoryObject
NtOpenFile
NtOpenKey
NtOpenSection
NtOpenSymbolicLinkObject
.;(-- ntoqai
ntoskrnl
ntoskrnl.exe
NTOSKRNL.EXE
nTpgppepq
NtQueryDirectoryFile
NtQueryDirectoryObject
NtQueryEaFile
NtQueryInformationFile
NtQueryInformationProcess
NtQueryKey
NtQuerySymbolicLinkObject
NtQuerySystemInformation
NtQueryValueKey
NtQueryVolumeInformationFile
NtReadFile
Ntrunkey
NtSetEaFile
NtSetInformationFile
NtSetInformationProcess
NtSetValueKey
NtUnmapViewOfSection
NtWriteFile
NTXdX[[[
nU[[[.[[[![[[
nU[[[3[[[2[[[|	JdK[[[
nu8)7kG]X
NuAaAIAEA-A
NUAEA;A7A-A
NuAiAmAQAAAEA9A!A	A
NuAiAmAUAIAMAAAEA)A
)NUa#kcy
NuAQAEA-A	A
n)))u]AY]@FG
N@u@@C@AC@@@@@dp@l
(nUdA[[[
N_UdB[[[9[[[
N[[[][udF[[[
	NUdL[[[
n)))uFKCLJ]
nUFS_ace
nUFS_arj
nUFS_asad
nUFS_AutoIT
nUFS_bga
nUFS_binhex
nUFS_c2rdat
nUFS_cab
nUFS_chm
nUFS_chmitss
nUFS_cpio
nUFS_cpt
nUFS_dbx
nUFS_dfsp
nUFS_dmg
nUFS_dzip
nUFS_eadata
nUFS_emb1
nUFS_fsd
nUFS_html
nUFS_instcrea
@nUFS_ishld
nUFS_ishldnew
nUFS_machofat
nUFS_mar
nUFS_mbx
nUFS_mof
nUFS_native
nUFS_nbinder
nUFS_nsis
nUFS_nsv1
nUFS_ole2
nUFS_pdf
NufsProcHeaderError
nUFS_pst
	nUFSP_vfz::BmFileEvents
nUFSP_vfz::HipsPostOpenFileProcess
nUFS_quantum
nUFS_rar
nUFS_rar5
nUFS_replayablecontainer
nUFS_rtfn
nUFS_sect
nUFS_sft
@nUFS_sit
nUFS_svfohigh
nUFS_tar
nUFS_tnef
nUFS_udf
nUFS_uefi
nUFS_unicode
nUFS_vfz
nUFS_wim
nUFS_wise
nUFS_xar
nufs_zip
nugcegfGa
n)))uH[@DHEL
NUHIOKUL
Nuho'dgfG
[||nU||HO||hU||
NUJHMI@KNM
NUJNNIUL
NUKKJ@KNN
NUL@dxTLB9
NULL ignore_process_list received
Null input parameters.
Null input stream buffer parameters.
null is not an object
NullllllllmllllOllylm
NUllllllllmllllOllylmc
null plugin
Null pointer
nullptr expression passed
NullsoftInst
NullSoftInst
@NULNANL
NULsdxTLM9
Number: 
Number of classes do not match with that found in model
NumberOfCommands
NumberOfCoreReports
Number of features do not match with that found in model
numberofkeys
NumberOfLinenumbers
Number of loaded models reached max limit
numberofpages
NumberOfRelocations
NumberOfRelocs
NumberOfRvaAndSizes
NumberOfSections
NumberOfSymbols
Number.prototype.toExponential is unimplemented
Number.prototype.toFixed is unimplemented
Number.prototype.toLocaleString is unimplemented
Number.prototype.toPrecision is unimplemented
Number.prototype.toString() is not a constructor
Number.prototype.toString must be called only for Numbers
Number.prototype.valueOf() is not a constructor
Number.prototype.valueOf must be called only for Numbers
number-sign
number_tostring
number_valueof
num_classes
num_decision_trees
num_features
num_feature_value_records
N@UMLIAH
NumLogons
num_of_ukam_buffers_per_channel
num_of_ukam_buffers_per_cpu
NUN@HNULOKKUAHI
NuNkNaNgN]NSNINONEN;N1N7N-N#N
[n[u[n[u[i[u[j[i[
nupgppepq
N.upgppept
NuQLLuQKM
NUSSB]s3
:NuwdgfG:
nu@wxxxpqo zq
nuxgfG;t
nuyinuyanuyYnuySnuyEnuy3nuy-nuy
Nuy#Nuy?NuyCNuyUNuyoNuysNuy
Nuywduyyyyy
n)))uZAF[]KFFZ]
n)))uZ]H[]L[
n@v@@B@BCac
NVdC[[[F[[[
((Nv@DD[LZ
#)))NvEM[vQ
nVgkogfG
((Nv@G]L[HJ]@_L
)))NvH[[HP
NVINzxkx-
((NvJFDYEL]LMv[LZDLD
((NvJFDYEL]LMv[LZ_HE
((NvJFDYEL]LMv[LZO@EL
NvJFGZ]HG]
((NvL[[F[
n)))vL_LG]E@Z]LGL[Z
NvllllllllmllllOllylm
NvLwP[ZR
Nv[LYEHJL
N|vodo9ogo
n|voeo7ogo
n|voeo9ogo
N|voeo9ogo
[n[v[o[h[k[n[v[
n||vo||Xo||8o||
nVpgppepq
[NVPQSNW
NVSYgiggfw
NVVVVBxx]Y]]
nV[[[W[[[U[[[
nVxxyxmy
NvZHOO@M
_[[[[[[[[N[[W
N[W3ggfG
nw3gqggz
Nw4PJh3llllllllmllllOllylmC0
NWAd@[[[
NWAd][[[
NWAd_[[[
NWAd_[[[4[[[
NWAdA[[[
NWAdA[[[f[[[.[[[E
NWAdA[[[L[[[x[[[
NWAdA[[[n[[[c[[[
NWAdB[[[
NWAdB[[[![[[
NWAdB[[[0[[[
NWAdB[[[Q[[[H[[[
NWAdB[[[s[[[r[[[00
NWAd_[[[c[[[
NWAdC[[[
NWAdC[[[.
NWAdC[[[2[[[1[[[-
NWAdC[[[E[[[n[[[B
NWAdC[[[o[[[a[[[	
NWAdC[[[R[[[Q[[[p!
NWAdD[[[
NWAdD[[[5[[[ [[[
NWAdD[[[-[[['[[[I
NWAdE[[[
NWAd][[[e[[[2[[[
NWAdE[[[.[[[#[[[2
NWAdE[[[6[[['[[['KXdL[[[5[[[
NWAdE[[[_[[[d[[[
NWAdE[[[f[[[
NWAdE[[[f[[[0[[[
NWAdE[[[h[[[
NWAdE[[[k[[[n[[[Y
NWAdE[[[_[[[S[[[
NWAdE[[[t[[[
NWAdE[[[X[[[S[[[
NWAd[[[[F[[[
NWAdF[[[
NWAdF[[[#[[["[[[
NWAdF[[[][[[
NWAdF[[[b[[[
NWAd][[[F[[[e[[[
NWAdG[[[
NWAdG[[[U[[[C[[[4
NWAdH[[[
NWAdH[[[|[[[
NWAdH[[[6[[[5[[[q
NWAdH[[[8[[[?[[[u#
NWAdH[[[9[[[
NWAd_[[[h[[[o[[[
NWAdI[[[
NWAdI[[[_[[[L[[[
NWAdI[[[_[[[O[[[
NWAdI[[[q[[[b[[[
NWAdI[[[_[[[U[[[
NWAdJ[[[
NWAdJ[[[	[[[([[[
NWAdJ[[[?[[[
NWAdJ[[[_[[[
NWAdJ[[[5[[['[[[
NWAdJ[[[h[[[
NWAdJ[[[X[[[
NWAdJ[[[X[[[d[[[dVudX[[[_[[[f[[[5
NWAdJ[[[X[[[e[[[dVudT[[[_[[[
NWAdK[[[
NWAdK[[[([[[
NWAd][[[k[[[j[[[
NWAdK[[[R[[[O[[[p#Fdy[[[Q[[[P[[[
NWAdK[[[|[[[s[[[
NWAdL[[[
NWAdL[[[!
NWAdL[[[#[[[
NWAdL[[[*[[[
NWAdL[[[-[[[
NWAdL[[[i[[[
NWAdL[[[J[[[F[[[FC
NWAdL[[[N[[[z[[[
NWAdL[[[x[[[n[[[
NWAdL[[[Y[[[
NWAdL[[[Y[[[@[[[
[[[NWAdL[[[Y[[[C[[[
NWAdL[[[Y[[[F[[[
NWAdL[[[Y[[[L[[[
NWAdL[[[Y[[[N[[[
NWAdL[[[Y[[[q[[[
NWAdL[[[Y[[[w[[[
NWAdL[[[Y[[[x[[[
NWAdM[[[
NWAdM[[["[[[
NWAdM[[[4[[[-[[[
NWAdM[[[8[[[5[[[
NWAdM[[[I[[[x[[[
NWAdM[[[l[[[
NWAdM[[[_[[[T[[[
[[[NWAdM[[[X[[[k[[[
NWAdM[[[X[[[w[[[
NWAdM[[[X[[[x[[[
NWAdM[[[Y[[[b[[[
NWAdM[[[Y[[[g[[[
NWAdM[[[Y[[[i[[[
NWAdM[[[Y[[[j[[[
NWAdM[[[Y[[[k[[[
[[[NWAdM[[[Y[[[m[[[
NWAdM[[[Y[[[n[[[
NWAdM[[[Y[[[t[[[
NWAdN[[[
NWAdN[[[_[[[B[[[
NWAdN[[[B[[[x[[[
[[[NWAdN[[[_[[[j[[[
NWAdN[[[L[[[
NWAdN[[[r[[[e[[[
NWAdN[[[X[[[j[[[
NWAdN[[[X[[[p[[[
[[[NWAdN[[[X[[[w[[[
NWAdN[[[Y[[[b[[[
NWAdN[[[Y[[[d[[[
NWAdN[[[Y[[[e[[[
NWAdN[[[Y[[[l[[[
NWAdN[[[Y[[[m[[[
NWAdN[[[Y[[[n[[[
NWAdN[[[Y[[[t[[[
NWAdN[[[Y[[[u[[[
NWAdO[[[
NWAdO[[[![[[
NWAdO[[["
NWAdO[[[W[[[
NWAdP[[[
NWAd@[[[P[[[C[[[
NWAdP[[[T[[[s[[[
NWAdQ[[[
NWAdQ[[[i[[[c[[[
NWAdQ[[[k[[[
NWAdR[[[
NWAdR[[[	[[[
NWAdR[[[3[[[*[[[
NWAdR[[[_[[[f[[[
NWAdR[[[g[[[
NWAdR[[[_[[[R[[[
NWAdR[[[X[[[
NWAdR[[[X[[[m[[[
NWAdS[[[
[[[NWAdS[[[_[[[D[[[]
NWAdS[[[h[[[
NWAdS[[[L[[[s[[[
[[[NWAdS[[[O[[[A[[[
NWAdS[[[_[[[R[[[
NWAdS[[[s[[[j[[[
NWAdS[[[U[[[H[[[
NWAdS[[[X[[[K[[[
NWAdS[[[X[[[x[[[]
NWAdS[[[Y[[[j[[[]
NWAdS[[[Y[[[k[[[]
NWAdS[[[Y[[[n[[[]
NWAdS[[[Y[[[v[[[]
NWAdS[[[Y[[[w[[[]
NWAd@[[[_[[[T[[[
NWAdT[[[
NWAd_[[[t[[[i[[[LW
NWAdT[[[J[[[5[[[
NWAdT[[[J[[[D[[[
NWAdT[[[n[[[
NWAdT[[[#[[[![[[t
NWAdT[[[_[[[u[[[
NWAdT[[[X[[[
NWAdU[[[
NWAdU[[[0[[[5[[[u
NWAdU[[[Y[[[
NWAdU[[[Z[[[
NWAdU[[[Z[[[.
NWAdV[[[
NWAdV[[[_[[[
NWAdV[[[n[[[b[[[
NWAdV[[[o[[[
NWAdV[[[r[[[h[[[kj
NWAdV[[[X[[[g[[[
NWAdW[[[
NWAdW[[['[[[
NWAdW[[[*[[[ [[[
NWAdW[[[N[[[
NWAdx[[[
NWAdX[[[
NWAdx[[[2[[[
NWAdX[[[	[[[3[[[
NWAdX[[[c[[[
NWAdX[[[_[[[d[[[5
NWAdX[[[_[[[e[[[
NWAd_[[[X[[[E[[[
NWAdx[[[H[[[
NWAdX[[[#[[['[[[hB
NWAd@[[[X[[[J[[[
NWAdX[[[K[[[G[[[
NWAd_[[[X[[[m[[[Mx
NWAdx[[[t[[[
[[[NWAd@[[[X[[[U[[[
NWAdx[[[X[[[f[[[
[[[NWAdX[[[X[[[l[[[
NWAdX[[[X[[[l[[[
NWAdx[[[Y[[[
NWAdX[[[Y[[[
NWAdX[[[Y[[[d[[[5
NWAdX[[[Y[[[e[[[5
NWAdX[[[Y[[[f[[[5
NWAdX[[[Y[[[g[[[5
NWAdy[[[
NWAdy[[[!
[[[NWAd_[[[Y[[[
NWAd_[[[Y[[[
NWAdY[[[
NWAd][[[Y[[[9[[['
[[[NWAd@[[[Y[[[A[[[
NWAd@[[[Y[[[B[[[
NWAd@[[[Y[[[C[[[
NWAd@[[[Y[[[H[[[
NWAdY[[[k[[[
NWAd_[[[Y[[[k[[[Mv
NWAdY[[[_[[[m[[[
[[[NWAd@[[[Y[[[O[[[
NWAdy[[[s[[[
NWAd_[[[Y[[[t[[[
NWAd_[[[Y[[[u[[[
NWAdY[[[X[[[
NWAdY[[[X[[[o[[[F
NWAdy[[[y[[[
NWAdY[[[Y[[[b[[[F
NWAdY[[[Y[[[e[[[F
NWAdy[[[Y[[[F[[[
NWAdY[[[Y[[[h[[[F
NWAdY[[[Y[[[u[[[F
NWAdz[[[
NWAdz[[[b[[[e[[[P
NWAdz[[[E[[[
NWAdz[[[X[[[Q[[[o
[[[NWAdz[[[Y[[[
NwAmAPABA7A
NwAUAGA5A
nWbQmSSSSW
N[[[)"WdB[[[
NWdN[[[J[[[N[[[6
NWd_[[[y[[[
NWgMdgfGIY(
n|wgqgg*]9Gj
nWgqugfG
@NwjZllllllllmllllOllylm
NwK[Z3R_[
nwllllllllmllllOllylm
NwllllllllmllllOllylm
Nwllllllllmlll]Y]]
nW[[[n[[[m[[[
n||wo||Eo||
nwohbgfG
n||wo||To||9o||
NwOwMwAwMEwM
nwPdV[[[
nw	pgppepq
Nwpgppepq
nWSSQUBXsSSS
NWTTVNZU
nWVgqggx
NW@@@@]Y]]
 N@@@@@@X
N	@@@@@x@@A@AAac
NXAFMM@Q
NXAGBP_QHNL
NXALFZZSJJAAXAZK
NXAN_ONQA[N
NXAOOGZBOLFFB
NXAOZHDP
NXAP[N]NCEBZSMX
NXAQG_CEDP
NXAQOXLC@PS
NxAwAaAQA
NxAwAWAFA
NXAZPXPE
NXBCJXCX
NX__]BGM
nx_bit_set
NXBJYKXLO@YYGZG]AS@FQOHS
N[X[@BSMKLQP
NXBZBNA]ES
NXCCLHADQM
N@X[CJLYZOZO
NXCLA[LQZ
]NX]CNK[GSC[ZJ
NXCS_BCNDCLD
NXCXBZOAQH_DDDLX[Z
NXDA[_ZQN_]P
NXDDPPSKDOOZA_X
NXDdS[[[][[[M[[[
NX]DHPCSEZ
N[XDL@]FG
NXD[LFM]PAK_
[[[n.XdN[[[
NXDOXL[SBYOBE
N]X_DOY_X
NXDPBMOOJB[P[E
NXDPEJFDL_Y
nXdW[[[9[[[
NXDZ_OFJE
NX@EDCKLSL
NXEDNEQ[GM
_||nX||EX||
NX]F[FG]F
NXFLJMSQX
n||x:||f:||M:||6:||
]NXFMZKHXXS
]NXFOM[OGFHQ
n?Xg5cgfG
N@XGE[DJ
NXGFO_DYJP
NXGGDLN_DBZJA[X[
nx?ggWgfG
nXgIcgfG
]NXGPK_AK
NXGP]MDHKOQ
NXG_P]YQZ
nXgqgg'G8i
NXGQPSPMHDLQEDNGM
NX[]GQZCGX
NXGX[GDC
NXHABQQSL
NXHBJ_GB
NXHBNNYN[ECD
N]XHB@XDA
NXHCL_AN
NXHDS[]YX[
nXHo1pgppepq
_NXHPPMMA
NX]HQ__ZY]HAGMJN
NXHYLHO__EPNP
NXHYYYLY
Nx|iOx|l
NXJAENQAJE_OOYZNEJ
NXJBLYD_[
NXJDB_OLOQEH
NXJGK[XXX]JN[EB
NXJGMNGGP
]NXJNDOJ]OG
NXK]ENDQ
[N_XKGOFH
_NX[KKLSZQ
N]XKN@PK]GLY@O[
N]XLBD_KAYJ[KXSPKYZDCYCC@H
_N_XLGQM[Y
N[XLHXKO_
NxllllllllmllllOllylm
NXllllllllmllllOllylm
NXL]QGCD]H
NXL[SLJBNCL
nx	*lSSSSSSSS
NXLXNQSCY[
]NX]MDHM
NXM[DO_MO
NXMHALBCSQX
NXMHPGBBZDBY
NXMXY@LHKY
NXMY@DJ]PPB
N[X]MYSGZC
NX]M_ZXM
nX[[[n[[[m[[[
N_XNMMSY]O]
NXNPHAG]J
NXNPLDBKA
NXNPZJSP
n||Xo||2o||
NXODOY_A
NXOMCAYY
n||Xo|| o||
N||xO||OO||gO||6O||
NXOOOX]KLZB
NXOZYAQ@AF
NXP]A[[ZEDO]
nXpgppepq.
NX]PHGPX
N_XPJLDJYDNPHBD[P
NX[PKQSCLH
nXPllllllllmllllOllylm
NXP_NNMCQA
n@@@@Xp@X
NXPXPNKZD[
NXPY_GXQJ
[NXQGAPXBKOS[A
NXQ]JG[DXMQZ]GSYG
NX_Q[JHDYN_
NXQK[KY]H_B@F
NXQLHCKY
NXQ_[NKD
N_XQPGBXNJ
NXQPYHMN]]X
NXQZSYYG[[Q
N||XR||FR||
NXSBJNX][J
]NXSGDLAXHL]
]NXSHB_HQDZD@E
[NXSKYHNEMBQFG
NXSNDQAAQ
NXSNHBXOAEK
_N[X@SQQ
NXSYODZJ
nxTgqggZ
nXwvllllllllmllllOllylmz(
nxw|ZGBIFlG_FDGILMZ
@]NXXBASJOSH
N]XXCN[D
]NXX[COMHC
N[XXH]SQH
N[XXHZ[N
NXXMZPLKBZYNAYX
nxxryx_ykqiq
nxxxGxxyxyxyxY[
nxxxyxly
nxx]Y]].
n	xx]Y]]08X
[Nxx]Y]]f
N@XXZJGPZ[
	n]xY||||4
nxy9	yyE
NxyaAxyNAxy)Axy
nxyfOxyZOxy9Oxy#Oxy'Oxy
NxyFuxy0uxy*uxy
nxyhaxyKaxy5axy
nxyhaxyWaxy3axy
NXYL]F[B
NxymAxyWAxy1Axy
nX[[[y[[[o[[[
NxyohqyD
nxypaxyIaxy(axy
nxyraxycaxyPaxy;axy.axy
nxysaxycaxy
NXY]SXDGJG
NxywAxy]AxyDAxy#Axy
NxyxAxybAxyKAxy2Axy
'Nxyxtyw
Nxyy*****
nxyYaxyNaxy-axy
NxyyDpxyyv
nxyyyyyyyyyyyyyyoyyy
nxyyyyyyyyyyyyyyoyyyz#
Nxyyyyyyyyyyyyyysyyy
NXyyyyyyyyyyyyyysyyy
N_XYYZAYFELHLZS@K_]
[NXZGMPKOP_BB
[NXZJSAGH
[NXZ@LLA
N_XZQGB]PA[S
NXZ_QN_GGDJ
NXZZQFOP
n ((]Y]]
n!((]Y]]
n'((]Y]]
n)((]Y]]
n@@@@]Y]]
N'((]Y]]
N("((]Y]]
N*((]Y]]
N@@@@]Y]]
n|y5n|yGn|yQn|yin|y
||||||||NY||||||||||||||||||||||||||7O
NYA@A0A!A
NyAaA]A5A-A
NyAaAYAQAMA5A!A
NyA]AMA9A1A!A
NY]AAYHC
NYACBSCY]SQL
NyAeAYAQAUAMAAA!A
[NYAE@BA
NYA]ESEB
NyAiAYA9A)A
NyAiAYAIAEA9A-A
NyAlAXAWA'A
NyAmAYAQAAA)A!A
NYAMMGPJ[M_
NYAPMNN[[O[KYNL
NyAqAiAaAUA9A5A-A
NyAqAiAaAYAQA
NyAqAiAIAMA5A
NyAQAyyyyty
NyArAoA)A"A
NyArATA"A
NyAsAgASAIA
NyAtAbA?A(A.A
NyAuA]AIA1A
NyAuA]AIA1A-A
NyAuA]AUAAA)A!A
NyAuAUAMA9A1A
NyAYAEA9A
NyAYAQAEA1A)A
NY]AYMGH_ZB[O
NyAyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
NyAyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
nyA@ZAdLZZHNL))
'||n ||Y ||B ||3 ||
NYBANSXLKYM]N
NYB]HJZCJ_X@H
_N_YBHZBDGJP
NYBNSDCD
NY[B_Y_YLKAKGA
NYBYY]QAJKP
NYBZELJ]]DH
NYCAA[MHX
NYCGOSDH
N[_YCHJY
NYCJJA_GB@YXF
NYCKBKAEDD
N_[YCLPBJGZZ
NYCPXZBKY]_JHYXBXDZ@YSGFKGCMF
NYC[Z[BZ
[N]YDAZY
NYDBX_ZC]
NY]DJXE]SDYQD
N]]YDOPZC
NYE]DAHOSSPX
nyejWr)n
NYELNB_]FMK
NYEXOEC_NCL
;)))NYF@DDLM@H]L]HZB
NYF@DDLM@H]L]HZB
NYFGHDL[LNuDHJA@GL
NYF[LYF[]
NYFMLELNHJ]@FGZ
[NY[FSCAJYJC
NYFY]BPZJ
NYG][APZPKGNK
_NYGCYCS
NYG[DMZBQSXDHBLM
N]Y_[GJJDB
NygKtgfG
[NYGPHMMN
.NYgqggY
NYGSXHCNSJKNX
N_YG]Y]_OO
NYGYXHBZ
nyGyyyyyy
NYG[]Z_ABES
NYHBAQ_D
N)))YH[]GL[Z
NYHHLMDNGHZGP
NYH[]@J@YHG]OF[NL]]
N]YHSOMSHGG
nY[[[i[[[
nYi	nYiInYiqnYi
NyIry	xyyILAL5L!L
n|y)iyyyyyyyyyyyyyyyyyyyyyy
N]YJAXOQH
NYJB]FDK]_
((NYJDHJA@GLLQ]LGZ@FGGHDLZ
N]YJ_MH@Z_
NY@JPQJXCLAYMH]
NYJSEYY[ZQEO
]NY[[K[_
N|ykA|y]A|yAA|y5A|y#A|y	A|y
NY@KDYPL
NYKE_XSYDDLGD]G
NYKFJDESMJFG
NY[KO[SL
NYLDOPSCL
NYLG[PXP
N]YLHAZGOL_JA
NYL__@KJ@A]CZ
n[ylllllllllmllllOllylm
nyllllllllmllllOllylm
nYllllllllmllllOllylm#
nYllllllllmllllOllylm1
NYLL_QAJGKXPMH
nylQ]LGZ@FG
NYL@QOA[
NYLZNC][B
Nym4illllllllmllllOllylmy
NYMGNKZQ
@NY@MMCA@
NYNC[GDYNGYQXA
NY]NHBJYAPJE
N[Y]NHLQ
N@YNND]M
NYNNJYMY
NYNSGHZ@
NYNSSEP]_
NYNXSEQZL[[HX
n||yo||bo||Do||-o||
N_@Y[OEA
n||yo||Fo||
N[YOHSM_
NYOJOAAPNE
NYOKC]D]Z
n||Yo||lk||To||
NYOL[NDZ
n||yo||mm||Hm||'m||
]NYOSFQJ
_NYOXZDQ
NYO]X[ZEHOAPP
NY[PDHCNA
nypgppepq 
N@YPHBMC
NYPS_HBO
NYQAAAE]HK
NYQCBZSLO
NYQDSZ]D
NYQGCBZGKXYSS[NMHOANE[_]
NYQJ@HJZB
NYQP_YAEHBH
NYQQJPLKZGZG]M
n)))Y@QvE@GB
_NYQZCE_ZM
NYQ_ZZZGO
n.YRggpggG
[NYSCYJBZNX
NYSDK[NN[FSS
NYS]HXQLDAZMLM
NYSJJNNJZQK]Z[
NYS@L[XS
NYSOZ]ZZ[
NYSQBPJP
NYS_QMGGO
N_YS@SEQ
N|yXA|y:A|y
NY_XDQGG[H
n- yxdyI
NYXFMHFJ]XOFYHH]Q
NYXHDNLP_CGZ
NYXPF]@@S@OQCZ
N@YX_Q[Y[
Nyxqy10)H*0)"(yxay*
"N)yxty0
NyxwyXxXyx
NYXXQPX[JZ
NYX[YM]GD[
Ny	xyuyyy
n(((]Y]]Y
Nyy1Tyy4Tyy
nyy9ayy)ayy
nyy[ayy3ayy
Nyy_Ayy?Ayy
nyy-ByypIJs
	nyy	ByywI
NYYDH@_N]GLDQG_FN
nyydnyyOnyy*nyy
..	nyyE1yyiI!
nyyE@yytI
nyyEyyyy
NyyGAyy7Ayy
NYY@GGL[O@LEM
NYY@GGL[O@LEMZ
NYY@GGL[O@LEMZRrJDMEL]K@GM@GN
NyyhCyyjNyy
nyyhnyycnyy
NYYHQLSXZASS[F
]NYYHX@K
nyyiayy]ayyOayy8ayy)ayy'ayy
NyyiAyyKAyy
nyyiayylayy
nyyiayyUayy1ayy
nyyIiyyyyyyyyyyyyyyyyyyyyyy'nyyyyyy
nyy)iyy iyy
NyyjAyyIAyy2Ayy
NyyjAyyVAyy2Ayy
nyylayyAayy.ayy
NY[YLDAYLMBB
Nyy)Lyy Lyy
nyy!nyyyyyy
nyy!nyyyyyyyyyy
nyyoayy:ayy
nyyoayyHayy7ayy
nyyoayyJayy7ayy
NYY]OHZSY
Nyy Oyy)Oyy
NyypAyy[AyyNAyy1Ayy
Nyyq4yy)4yy
nyyQayy6ayy
nyyQayy(ayy
nyyqayyDayy
NyyqAyyjAyyfAyySAyyOAyy8Ayy4Ayy!Ayy
NyyqAyyYAyyyyyyQyyy)yyy
nyyrayy9ayy
NyyrAyyXAyyIAyy
nyySayy6ayy
nyysayyPayy1ayy
nyytayyNayy'ayy
NyyuAyy:Ayy
nyyuayycayyIayy0ayy
nyyuayyYayyIayy9ayy)ayy
nyyvayyPayy:ayy ayy
NyywAyy_AyyFAyy!Ayy
NyyxAyyiAyycAyySAyy:Ayy.Ayy
nyyxayynayyOayy4ayy
Nyyxyyydyyybyyy
Nyyxyyyryyyryyy1Nyy
nyyy9xyyayyyaxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
nyyyayydayyGayy"ayy
NyyyAyyOAyy
NyyyAyytAyyZAyy@Ayy1Ayy!Ayy
nyyyayyzayy
nyyYayyZayy
Nyyyixy-xyyyImIaIYI
nyyyiyyyyyyyyyyyyyyyyyyyyyy
Nyyyiyyyyyyyyyyyyyyyyyyyyyy
nyyyyyy3nyyyyyy
nyyyyyy3nyyyyyyyyyyyyyyyyyyyyyy
nyyyyyyQyyy)yyy
NyyyyyyQyyy)yyy
nyyyyyyUayyyyyy
nyyyyyyUayyyyyyyyyyyyyy
nyyyYyyyayyy
NyyyYyyyAyyy
nyyyyyy:y:y
)nyyyyyyyyyy
nyyyyyyyyyy
Nyyyyyyyyyy
nyyyyyyyyyygayyyiyy
nyyyyyyyyyy	H
nyyyyyyyyyyOayymiyyyyyyyyyyyyyyyyyyyyyy
nyyyyyyyyyyyIyy
nyyyyyyyyyyyyyy'H
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y4#
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5y4#
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
NyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKy4#
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyf9l4#
Nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
nyyzayyjayyXayyJayyGayy4ayy!ayy
nyyzayyqayyrayyuayytayykayynayyeayyXayy_ayy
nyyZbyy9byy"byy
Nyy_Zyy;Zyy
#)))NYZEZHZZ
NYZHELY_Y
NYZK_JN_ZPQ[A[N_
NYZKS_QSEJEK
NY@ZNNNA
NYZOZJBLKSH
NYZPEHH]HBH
NYZPZ_ZG[
nZ[[[-[[[
NZ2gqggF
NZA1A.AqC[C
NzAdL[[[d[[[
NzAeA]ATA
NzAiAmAaAeAYA]AQAUAIAMA
NzAiAOA-A
NZAKBBKL
nZallllllllmllllOllylm
n)))@]@Z]ALZHDL]A@GNHZEFZ@GN]ALDOF[L_L[
_NZA[NAMHQK
NzAqAMA@A
NZASJGC]FG[SZ
N_[_ZBCB
NZ]BEDHFK[
NZBJBAM[[@X_
NZ]BM[A_SS
NZBOJDQN
N]ZBPDPDYK]]
NZBPJFYQMSD[ZEL
NZBQOGC__CNACPBLMDXS_L
#NzC1gEdgfG
NZCBNY]M
NZCDEFDPAJ@QS
NZ]CKDH]PH[DLNG
N[Z[@CMP
NZCSYQ_X
NZDCSZYQ
NzDdB[[[F[[[
NzDdM[[[X[[[F[[[ 
NZ_DGJOOABQ
NZDG]YK_C[Y
NZDH_P_[NGOGPG_AD_BZNMQ_QOL[
:nZdI[[[
[[[Nz[dQ[[[I[[[L[[[
NZ__DQZ]HB
"NZdU[[[ [[[ 
NZDX[HAGZS_OL
NZDXYCSA]
NZEF_LZN
NZE]OCAPO
NZEPN_PJ[B
NZE_XCD[BF
NZ_@FMS_YH
NZFNOKSG
nzgGdgfG	pZ
NZGGKNZGGK
nZgqggGh
NZGZASDZ
n)))Z]H[]
]NZHCOQN_N
NZH_DGY]
NZHG]GL[
N@@ZHHKHG
NZ]H]@J))
N)))ZH_L]FO@EL
NZ[_HXYG
NZHZLJYJH
nZI]LLGK
NZ[JGLQP]Z
_NZJJD@QB]ADX
nzjjjbjj!"
NZJJXLN[[E
NZJMAXQYXP
NZJNSXMKQYOL][AYDH
NZJNYBYN
_NZJ_S[L
NZ[KCMXFHQ
_NZKCPQ[J[P
?n?ZK	.e
NZ]K@JCE@M
N[ZKJDAAZ
N[ZKJJCGM
NZKJK_MKCGL
N	ZklR*F
NZKNEFFFJKLQSL
NZKSEA]CJ_
NZK]SJDNMLFOKQOSZ
NZ[KSJXQLX
NZK_XCZN_DLBSHZ
NZKXKXDX
NZKZQKLFO
NZL[CAEXN__KH
NZLCY[LK[E
n)))ZL]@G]L[_HE
n)))ZLGM
n)))ZL]JFEFZZ
N)))ZL[_L[
NZLLJBSKC[
NZLLKLPJHAA
NZllllllllmllllOllylm
NZLLNCXPP
NZL[O[EEOECP
NzLpgppepq
NZ[_L@QZ
NZLXGKKEOM_AM
N@Z]L[ZL[_L[
[NZLZZ@FG@M
]NZMBZZY]_FN
NZ_MDZKZBZ
NZM_[DZQN
NZMQECDZ[]
NZMS]QOE
NZMX@P]FQ
_NZMY[OL
NZNCKQBX_K]D
NZNDXB_]]XZLZB@OGB@Y
Nzngw8SE
NZNLJZG@
NZNN]P]GM]
_NZN_ONHB
_NZN]PSBPAMNBL
NZN[[@Q[
NZN[XZDP
n||zo||Ao||
NZOBSBCDP[]
_NZOD[]_Y
NZOJZAJ[
NZO@KYQO
n||Zo||"o||
NZ]OP]N[YXGBDY
N]ZOXLJO
NZ]OXQ_H
NZPC@OSHKZS
NZPDCBX]
NZPEEDNBJNBD
Nzpgppepq
N]Z_PKMLCJ_
NZPKPSCMY
NZPKZHYGLOH
[N_ZPSXKLQ@EK
NZPYJACNGDCD
N)))ZPZ]LD
N_ZQAEAC
NZQB_]KC
NZQBZ]A_HP
_N]ZQJQ]B
NZQJYFGK
[NZQLQAASCPY
N_[ZQ@SYQN
_NZQSZE[
@NZQZQQK@M
N]ZQZXCYXJ
NZQZXJODZ
NZSMOFLBKSNXQZ
NZSO@ELGHDL
N[]ZSSBEK
NZSSS@S'E[SRS
N[ZXAC]BQFJMAAY
NZX@BD[ODM[ZLYQ
NZXD[CMM[Y[
')))N][ZXL[
[N_[Z]XLDGH
NZ_XLQDS
NZX]PKPPB[]DJNX
NZXQGXHD_N]H_
NZXQKNAC
NZYH]QOQNDNZ
NZY_JLM@[LZMMH_JOG
NZYLAPCNDBCD
NZY[S]H_A_NS@
NZYSQOPS
n)))ZZEvJFG]LQ]
NzZgqggr
NZZMNZNMNZM
N[[ZZMZZMHZM
***@NZZ_N
]NZZN_QH[KLEG
n_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzztzzz|zzzzrzz
_]_NZZSP]O
NZZXJCZCXX[NK
NZZYPGAXONH
))))(o)))
))o))))(
))o)))))
[[[o[[[]
||||o|||||||
o@@@@@@@@
o||||||||||
o||||||||||||||
o||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 O@@@@@-.
))O)))))
||||||||?O
||||||||@O
|||||||||;O
||||||||||@O
|||||||||||;O
||||||||||||||;O
||||||||||||||||||;O
||||||||||||||||||@O
|||||||||||||||||||@O
O   !    :
O[[[[[[#[
*.*'O0:'
*.*;O0*;
*.*;O0*?
*.*;O0:;
*.*;O0:?
*.*;O0:'	1-?
*.*'O0:3
*.*;O0*3
*.*;O0:3
*.*;O0*7
*.*;O0:7
*.*;O0:7K3-?
o0dO[[[][[[
o0fA[[[F[[[
o0fB[[[D[[[
o0fB[[[M[[[
o0fH[[[B[[[@[[[8
o0fK[[[z[[[
o0fN[[[d[[[
o0fN[[[e[[[
o0fX[[[y[[[
o0fZ[[[f[[[
o0g#fggG
o0hgmfgfG*
*.*;O0:;K0
*.*;O0:?L0:3
*.*;O0*?M0
o0nSSSSSSSSSSSSSSSSSSSSSSSS.P
o||||||||||||||||||||||||||0O
o 0!QSSS
o 0!SRSS
o 0![SSS
o0Wl5g?kgfGT
).*;O1*;
).*;O1:;
*.*'O1*?
*.*'O1:'
*.*'O1:?
*.*;O1*'
*.*;O1*;
*.*;O1*?
*.*;O1:'
*.*;O1:;
*.*;O1:?
*.*;O1*;	0
*.*;O1:;	0
*.*'O1:3
*.*;O1*?	3
*.*;O1*3
*.*;O1:3
?O1:3	06
*.*;O1*3	1-?
*.*'O1:3O0
*.*;O1*3O3
*.*;O1:3O3
*.*;O1*7
*.*;O1:7
*.*;O1:7	3
*.*;O1:7J0
*.*'O1*7N3
O1AAAAAAAAi!GLIb
O1aa]Y]]
O1*akai	
O1J2J0Jlf5J
).*;O1*?K0
O1lllllllllmllllOllylm
o1llllllllmllllOllylmR
*.*;O1:?M0
O1mD!7]3
o1Mgqgg'P
*.*;O1:'N0
*.*;O1*;N3-?
O1ngScgfG
.o1|pgppepqd
[o[[[1[[[s[j[m[h[c[o[w[o[r[w[
*o1w3pgppepq
!o2"'5'j
o[28r!zU
O2bgfGSr;
O2fggw!*
O2g9ogfG
'O2K6pgppepq
O2llllllllmllllOllylm
o2pgppepq
o2r@@@@@o@@A@AAac
*.*'O3*'
*.*'O3:'
*.*;O3*'
*.*;O3*;
*.*;O3*?
*.*;O3:'
*.*;O3:;
*.*;O3:?
*.*;O3:;	0
O3*?	1-?
O31"O31"1
O31PWLQX
*.*;O3*3
*.*;O3:?	3:
*.*;O3:3
*.*'O3*3	3
*.*'O3*3	3-?
*.*;O3*3L3
*.*;O3:3O1*'
*.*;O3:7
O37llllllllmllllOllylm
*.*;O3:7M0
*.*;O3:7N3-?
o38egqogfG
o3F[[[Z[[[K[[[
o3gfGLh 
o3gglgfG
*.*;O3:;J0
).*;O3:;K
).*;O3*;L
*.*;O3*?L0-?
*.*;O3:?L3
*.*;O3:;M0-?
*.*;O3*?M1-?
*.*;O3*?M3-?
*.*;O3*'N3
o||||||||||||||||||3O
*.*;O3*;O0
*.*;O3*'O3-?
O"3xx]Y]]
o42gqgg#
o[[[4d0d[[[[
o4EdW[[[Z[[[
o'4'feeUU@UU
o4g-dgfGHS
O4gwkgfG
o4mgfGme
O4SgYkgfG
O||4V||"V||
o4yxyxXy[
O4zllllllllmllllOllylm(
@@o5.1u5.1o(.
@@o5.1u5.1o(.n
O57]bgfGm
o5adM[[[
[[[O5adM[[[
O5*gqggF
O5#llllllllmllllOllylm
o5llllllllmllllOllylmd
O5llllllllmllllOllylmY
o||||||||||||||||||5O
O5O;CgGcgfG
O5pgppepq
O5uu[o'q
	O6a9 PTiB
#@O6fgfG
:.o(6gfG
o6gqggEP
o6ngmegfG
O70xx]Y]]
o7egqgge
o7gqggmEyv
o 7gqggp
O7gYegfG8k
O[[[	7hfJ[[[
O7llllllllmllllOllylm
O7P7Q7R7S7
O7pgppepq8
O7pgppepqev)
o7pgppepqZ
o   !    8
o||||||||||||||8
O#||||||||#8	
O:#||||#8	
O?#||||#8	
o  8     5
O8#||||#8	
o8cgfGxeL(gqgg
o8g	cgfG
O8gg5gfGp
O[[[8kHdF[[[N[[[M[[[l
O||8L||.L||
o8llllllllmllllOllylm
O8llllllllmllllOllylm
[o[[[8[[[s[j[m[h[c[o[w[o[r[w[
o9:#0UUZUU
O")||||92)|||||
O")||||92?|||||
O")||||920|||||
O")||||925|||||
O")||||926|||||
O9#||||#8	
O9AAAAAA@AAAAAC
o9DdJ[[[
O!9dO[[[l
O9gqggL:
O9gSdgfGWj
o9LdS[[[
'O9LIMOL9xyxvy
'O9LKAO@Lxyxpy
O9llllllllmllllOllylm
O9N0Nu@U@9@
O9--O 1(
O9pgppepq
o9yyyyyyyY
o@@@@@@A
o@@@@@@A@@
O@@@@@@A@@
O@@@@A7AAGA@BACAAAeqAM
OA8RgAgg
oAAAAAA@AAAAAC
(OAAAAAA@AAAAAC
O:AAAAAA@AAAAAC
OAAAAAA@AAAAAC
OAAAAAA@AAAAAC@
o(#AAAAAA@AAAAACw
o-_AAAA@AAAAAC
OAAAA@AAAAACD
OAAAAAAAAd2d2
oAAAAaqAL
 @@@@@o@@A@AAac
:@@@@@o@@A@AAac
@@@@@o@@A@AAac
oAAAACA@AA
OAAAACAD@
OAAAACECAfqAM
o|aaaa]Y]]
oaaaa]Y]]
OAAABX[YLEGYK
Oaabaza-
OA[[ABPMYONXL[
#@o@@A@ACac
@@@@@o@@A@ACac
@o@@A@ACac
OA]AC]FNC
OAAc@Y@D@
:@@@@@o@@A@ADac
@@@@@o@@A@ADac
@o@@A@ADac
OA[ADOB@HADLBOS
OAAGDYDBAPYC]
Oaagqgg[
OA___AHXX
OAAJHXYBK@MO
O[AAJZ_J[JJKZ
oaalUUvUU
OAAMOZNNL[KMOKMOZKMOX[NK[GCP[LNQSJ_SZNLA]
oaamUUvUU
OAAPHHD_MPL
Oa@@@@@@@@ap@j
oaaUUwUU
oaa]Y]]"
Oaa]Y]]h
oabaUUvUU
oabbUUvUU
OABCENHYGBXD
oabcUUvUU
oabdUUvUU
oabeUUvUU
oabfUUvUU
O]ABGCEHY]
oabgUUvUU
OABGZDN_GC@
O[AB[HNQPJPK[GY
O[AB_JG]@
OABMO@DCA@]
oabmUUvUU
OABNZHKB_D
OA]BOF[ZZ
OABONNSFGS
O	A@B@[pKL
OABPZX@LSCH
oabUUwUU
OAC[]AOBME
@@O@AC@B@A@
@@O@AC@BBA@
oacbUUvUU
]O]@A_C@CCH
oaccUUvUU
@OAC_DCDE
oacdUUvUU
oaceUUvUU
oacfUUvUU
oAcgfG([
oacgUUvUU
OACHKAAC
OACJAGGML
OACNQHYS@D@HKOKD
OACSCYXYQ
oacUUwUU
OAC]ZC_DP
@@O@AD@@@A@@
OA]DCGC[EE
OADCJSZ_XL
OADJMSNPF[]FK[PPMA@M
OADLA@ZKDS[]DS[Y
OADQGQZM@
oadUUwUU
@@O@AE@@@A@
oAEAAAAAA@AAAAAC
OAEALG[J
@@O@AE@B@A@2 @B
@@O@AE@B@A@2 @g
@@O@AE@B@A@2 @N
O][A[ELDBAYGSFOKXQE
oaeUUwUU
OA]FBLGZ
O@@A@F!CN;
_OA_FGLAH
[OAFLHLJGJEHP]PLS
_OAFNNMJK
oafUUwUU
OA_F]XLXJNSFNDMDKNAAMNXJHD
OAFYMOPN
OAGD[ANH
OAGD[_JH@SM
o[agfG5g
oaggagfG
oA(ggfG|
OAGGJEEHYKFNABOOGFQDZKX@PL
OAGHCSLDKY
_OAGO[_CGJHMA
OAGO[DNPD
OagqggG6
OA]GQ]LCJM[J
OagUkgfG
o@@A@h Dfb
OA@HE]PCM_QZ_
]OAH@GQQ
O]AHHOADBY
o@@A@h LHH
o@@A@h NHZ
o@@A@h NL
OA[HPH[B
OAHPHS@E@D
oahresult
o@@A@h ST
OAHXHNKJNGLM
@O[AH]ZC[JHLGGB
OAIH@yxh
OAJAS@_BJXXC
OA_JB]N@QHQ
OAJCNYQZ_
OAJJAPQH
OAJNCO_B
OAJOBMSG[Z
_OAJ[_OG
OA_J_ZSMCJ
O akai2	
O akao2 72
O[[AKAOH[P
OAKCHQODGOGPO[G
o[[[*aKdR[[[
OAK[]HDE_XFH
OAK[_HONO
O]ALGF_L[[
o)))]ALLG_@[FGDLG]
OallllllllmllllOllylm
oalUUwUU
O[[_ALYFNJZ
OAL_YGH]OZ
OAMCBZQ[[
oaMdK[[[t[[[
oamdUUvUU
OA_MEDZC
oamfUUvUU
OAMGLHJHLSAJ
oamgUUvUU
OAMHADNG
OAMLBGMYHP
OAML[OXDQ
OAMMZ_SQ
OAMNDHGBJDZ@
oamUUwUU
OAMZYCZXLYN_
OANAMZNAOZAM_ACJONMJOAAKNZAOCAGAAZ_CGNCNAO_AON_AA
OAN]D]PASCSC
OaNeNYN]NQNUNINMNANEN
OaNHNNN7N
OANHSGPG
OaNMN)N	N
OaN[]NAna
_O]_ANN[CO]
)))OANQNLNAMY
OaNQNMNEN5N	N
OaNQNMNEN5N-N
OaNTNNN8N
@@@@@OA@O@ADac
OAOCAOO_BCHPN[LX
[OA@ODCDX
OAO_HYCM_ZNKYZYZKXYJK
OAONJBJJ
]OA@_O[OS[
[[OAOOXPQEY
@@@@@oA@P@ACac
]_OA_PD]
OAPD[NLOJS
o)@@@@@@@@ap@h
OAP_KOBOSO
OAPPAAZY
OA[PZAGQL
OAPZ[GA]
[OAPZZPZZ
O]AQBDHB
OAQDEKB]X]H
OAQGCFPD
OA@Q_JMHE
OAQSPZLXD
_OAQXLHD
O_AQYCP_N
OAS[BZZQF
OASC[[PXJC
OA]_SCP[YN
_OA@]SDZCOD
oASRnASBnAS
OA_SSLQN
OASXBLOEQ
OAv||llllllllmllllOllylm
OAXFEJAXO_Z
_OAXNPHXOCAH
o@@@@@@A@Xp
OAXX_HEHS[MLFO
@OAxxx)yx@x@x
OAX[Y_F]H_ED
O)))A]]Y
O_AYDOKMM@Q]QPPCX
_OAYHNNPQB
OAYKBAJZQ
OAYMM[YLFNOLM_QPZA_G
OAY_ON@KX
O_AYPHSD
OAY@SO[SMJBGNN
OAYSPQYMA
oaYWllllllllmllllOllylm
OAyx2y9x
o)))A]]YZ
O)))A]]YZ
OAZCAPFE
OAZ[_GA_J[HJL
OAZGQKPCLQA@]_M[
OAZ@[LKB
OAZPZC[XBH
OAZ]PZSQXMBMLQNZ
OAZQBPE__]@C@
O]AZ]SFH
OAZYPLZGYCCP
@O]A@Z@ZMLO@GLM
O@@@@@@B@@
ob50LgQkgfGt
o@@@@B@A@
O-@@@@B@A@
O@@@@B@A@@
o@@@@B@A@2 @E
oB@A@2 @E3J
O@@@@B@A@2 @E#l
o@@@@B@A@2 @I3E
O@@@@B@A@2 @K
o@@@@B@A@2 @L
OB@A@2 @n
O@@@@B@AANp@Sfz
o@@@@B@AAqp@LH
o@@@@B@AB@
O_BABJYD
obabUUvUU
OBABWB_Ac
o@	@@B@ACac
o@@@@BACAHp@DfN
O_BA[CGFH_A@
obacUUvUU
obaeUUvUU
OBAFPQAA
obagUUvUU
O@@@@B@A@h @M
O@@@@BA@@Hp@D
o@@@@B@A@Hp@WF
O[BAJJJYFAM
O@@@@B@A@Lp@fF
O@@@@B@A@Lp@T
obalUUvUU
OBAMDKZXEJQHY
OBAMEMOKPJM
obamUUvUU
O]BAPYXMGMJ
OBASPXJMJ
obaUUwUU
OBAYDGZ]N
OB[__BAD[@D
o?B@@@@BA@@Hp@D#H
oBBBBBBB
OBBBBBBB
O@@@@B@B@Hp@M
]OBBJQGL
OBBKHX_GSC
OBBMXGE[B@MN
O_BBNXLPBYHCO
obbUUwUU
O_B]BXMEH@
OBBY@NQZXZ@]K
OBCAZMOBCZAMOBCA
O_BCCBP@H
@@O@BC@@@C@_p@L
obceUUvUU
_OBC_]PC
O_BCP@HP
OBCP]J@J
obcUUwUU
OBCXE[BA
]OBCXXXXS
OB[DEZSZNGHA[
oBdgfGe2S
oBdJ[[[T[[[O[[[
OBDKDLFJ
OBDLC]JAQKMB[DJQ
ObDllllllllmllllOllylm4
OBdQ[[[j[[[n[[[t
obdUUwUU
OBEBBEHJC
OBEBZ_HKON_A
OBEC[NPYB
OBEM]AMMDLDJPNLSQSPP_CF[JQPH
OBENY[GCA
obeUUwUU
OBEZCPJCYPYQ
obfbUUvUU
obfcUUvUU
ObfDereferenceObject
obfdUUvUU
obffUUvUU
obfgUUvUU
OBFGXMrEA
oBFiNwIN 
oBFiNwIN 	  
obflUUvUU
obfmUUvUU
oBFUSCATOR
oBFUSCATORbERROF 	  
oBFUSCATORsELFDEL 
obfUUwUU
OB!g7wggG
obgaUUvUU
obgbUUvUU
obgcUUvUU
OB]GDAQLPN
OBGDQ_HB
obgdUUvUU
obgeUUvUU
obgfG5k8
o|bgfG]eT
o@bgfGL(b
o|bgfGpf
o@bgfGzp
obgfUUvUU
O_BGGDOOZPS]MHPQFH
O@BggGK7
obggUUvUU
OB[G[HSK[QXJO
obgmUUvUU
OBG_OEZGYNBX
]OBGPGJGX]
OBGQBFS[OM
Ob"gqgg!
obgqggZLt4
OBGQ_OOMS
obgQwgfG-
ObHardeningExclusionProcessList
]_]OBHBNP@_
OBHEFGHSMC
o)))BHKHBH
_O[BHLBJ[
_OBHLHEHM
OBHMXZOQXO
o@@@@B@@@Hp@M
O@@@@B@@@Hp@R
OBHQG_ZLX
OBJ]AYCKY
][OBJD]YA
[object 
Object: 
ObjectAddress
object cannot be applied
object cannot be called
ObjectName
ObjectPath
Object.prototype.hasOwnProperty() is not a constructor
Object.prototype.isPrototypeOf is unimplemented
Object.prototype.propertyIsEnumerable is unimplemented
Object.prototype.toLocaleString is unimplemented
Object.prototype.toString() is not a constructor
Object.prototype.valueOf() is not a constructor
object too large
obj_hasownproperty
OBJH_OP]N@MAZ
OB@JMHSDEOZNKH
obj_tostring
obj_valueof
OB@KBHJ@
OBKDDYAA[X
OB[KE[XNMA]]QAD
OB]KNJKYMM
OBKXQ[BSNPS
OBKZLGEXD
O@[[BK_ZQN
OBLAQFJQ
oblbUUvUU
OBL_C_L[G
oblcUUvUU
OBLDYHHEYZ
OBLHGPNHY_BA
oBllllllllmllllOllylm
obllUUvUU
oblmUUvUU
oblUUwUU
[OBMD@AJK
OBMOOPCPZK@EBBPZGM_NOF
OB[MPXZB@OJ@GCXH_ENQ
O[BMSODGL
obmUUwUU
_OBMYSHHS
O@B_NBA_XYY
@OBNBOdQEyE@@E@AE@BE@ZQ(QSSW@HEBH
O_BNDDMLJ
OBN_DZYZZ
OBNN@ZSF
O@@@@B@@@Np@H
OBNXGLNDP
OBNY[JYADE
OBNYSPC[GG
ObNZNPNVNLN
@OBO@@BYB_
@OBOBYgPExRD
OBOCXPSO
OBOLKCZD[KKAKYXG
OBOLXZHP]BP
@OBO@MBWs
OBON_NJZEQMG
ObOpenObjectByPointer
@OBOsSCSSgQEyAsEs
@OBOsSRSSU
@OBOsSWSSf[L
O_BO]YPDPE
OBPAPDLDN
OB]PAZ[Q
OBPBPBPBP
OBPBPBPBPAPuXBP
OBPBPBPBPBPBP
OBPBPnTBP.TBPBPBPBPBP
OBP[GAJY
OBPGDLCHSB
obpgppepq
OBPNLFHK
[OBPOA_QC@
OBPpKBPBP?P
O]B@P]SFYDMCOL
OBPSXGSB
OBQFL]QP]GPG[F]
OBQKOFZE
]OBQKQZHNAN[JEELO
OBQQ[CAESZGP
OBQXCGJX
ObReferenceObjectByHandle
ObReferenceObjectByPointerWithTag
OBSDPDF@[P@CAJ_
oBSIDIUM
OB]SJMAMYJ
OBS[MZEXK
OBSP[PE[C
@OBUBHMBO
OBUXBUB]gDk
[o[b[v[k[k[
@OBWBOdQEyBOBW
oBWVgd[sSRSSg|QU
OBWWzxjz
O]BXG@[CDS
OBXH_[PD
OB_XSACQE@Q
OBXXC]CAXP
OBX]YOOCS
OB[XYZCYAN[GA]H_
_OB]YBLZJSQC]Y]
OBYHPEEGAOGOACEQZ
O_BYKGHNZ
OBYNKNABOGMPN[
[OBYN[OH
OBYPE_OG
OBYXZHHN[
OBZ][ABMOL
OBZHJ[ZFSZSC
OB[[[Z[[[K[[[
OBZM]P[_
_OBZXXMAHE
OBZZKESN
oCAAAIqAK6
OCAAPSGQ
ocaaUUvUU
ocadUUvUU
OCAE@OD[J_QHQC
ocaeUUvUU
OCAF]HGCJGCZZ
ocafUUvUU
Ocag'dgfGh
OCA[KHJYCMOBK]
OCALGY]F
ocalUUvUU
ocamUUvUU
OCANG_QNH[
_OCA@[QPGAS
OCASLGJS
ocaUUwUU
_OCAYS]F
o)))CBBA
OCBCMZD]LB
O"cbhggfw
OCBNM_EZAX
OCB@N[PF[YS
ocbUUwUU
@@O@CC@@@A@Lp@I
OCCCDK]GJAZGBMMYANDDB_DDQHKEG[
O[C[CCEYBG
OCCDANJC
OCCJJM]F]_NHYN[X
[OC_CMQGBLX
oCCNCCCBACC
OCCNCCCBACC
O_CCNCCCBACC5*
occUUwUU
[[[|OCd][[[
oCdA[[[ [[[
ocdaUUvUU
OC_@DBLE
ocdbUUvUU
ocdcUUvUU
ocddUUvUU
OCDELQ_L]M
ocdeUUvUU
ocdfUUvUU
!oc'dgfG
ocdgUUvUU
ocdlUUvUU
ocdmUUvUU
OCDNEHOCDNEJOCDNE]@OCDNE_LQOCDNEFOCDNEKOCDNECOCDNELJOCDNE]OCDNE
OCDNEZAOCDNELOCDNEEOCDNEE
o)))C@DQDCL
OCD@]Q]SXZ[QJK
ocdUUwUU
oCdV[[[x[[[
O_CDXLQXL
OCdy[[[8[[[
OCDZNNXEPBA
O@C_EACM@E
@@O@CE@@@A@h QK
oceaUUvUU
]OCEBHAZXNMZ_LALX
ocebUUvUU
OCEBYEALB
OCE]C@LASZPYQ
ocecUUvUU
ocedUUvUU
oceeUUvUU
ocegUUvUU
ocelUUvUU
ocemUUvUU
OCE]PMGOXZYC
oceUUwUU
OCEY_SDQ
O@_CEZJ[
OCFAG]FGP
ocfaUUvUU
ocfbUUvUU
ocfcUUvUU
ocfdUUvUU
ocfeUUvUU
ocffUUvUU
ocfgUUvUU
OCFHHJHGNDSGCS
ocflUUvUU
ocfmUUvUU
*ocftoZV
ocfUUwUU
ocgaUUvUU
ocgbUUvUU
_]OC[G_BZH
ocgcUUvUU
OCGDHHBLNSYC
ocgdUUvUU
ocgeUUvUU
OCGEZO[AG
OcgfGV9OerD3
o]cgfGWr
ocgfUUvUU
ocggUUvUU
]@OCGHQXKJZZ_S
ocgKPggw7
ocglUUvUU
ocGmggfw
ocgmUUvUU
OcgOggfGl
ocgUUwUU
OCGX[DC]
OCGXQSGOBK
OCGyyyyy
O@CHAP[_MDAMJX
OCHCNH_HNNQD
OCHH]AGXH[
OCHHA_PB
O)))CHJFKZFGYF@G]HY]
OCHPCOPHK_
@o	cig	kgfG
ocimkclyVQ
OcJdJeJfJ
O_CJJP[AB[
OC_JJXPZBS]Q_[
OCJP[XCCA
OCKBPCKBP@PBPCKCKBP@P
O]C][KDC
OCKDFAPBCZ]
OC[KOK_YN]JX]NLXPD]EPFB
O[CLDPZ_
O]CLHYXA[LOBP
O_CLKNCD@E[[
oCllllllllmllllOllylm
oclmUUvUU
OCLNFMGPA
oclUUwUU
OCL_XZ@H
OCMEEQ]CBXL
OCMNE_K@H
ocmUUwUU
OCMYEZJA
OCMYFPK[
O]]_CNHZD
ocnkkyVQ
OcN_NUAI@1@
OCNQKXXS@
OC_[NSDJD
O]COBZEQC
[O_COCK]
OC]OENA_JDAB
OCOHXQKM
]OC]]OKPA
[o[c[o[m[c[m[
OCOOMSDP
OCOOZQXY_EH]
O@COYFBXJY_XXAXFZCFM
OCPCAXHK
OCPDYCOF
OCpgppepq"
OcpgqggT
OCPO]_OBKE[@[HC
OCPQFEPP
OCPXCAH_DY
OCPZGBOBXZE[
[OCPZJKOC
OC]]Q[[GMCHJA
OCQLLXXC
OCQOECAH
OCQ[X@BASBJ_ZCMNLZB
OCQ_XLOXK
_OCS@BP@QE_O]HOL
OCSGZQDS
OCS_H[M_L]MJMFNSC
OCSK@COZ
OCS_OMDBF
OC]SXED[[_YZZSE
OctagonBadParseCount
OctagonTotalCount
OctagonUnexpectedCount
Octal escape sequence is invalid.
oCWR3sJG
@oCXCSCICLC:C3C.C
OCXHFQ@XJ
OCX_HXZHC
@)OcXIc3QXzpgppepqTh
O_]CXKPYGB
OCXQ]AOHG[D[HB_CC@P
OC]Y]][3Y
O_C]Y]]8'Y
OCYDJAO_DE
OCYD]OYCHM
OCY_]HXDG
OCYLNQAGK
OCYSAXJXPNQNY
OCZAYSB@[BMAO
O_CZDEPGLZA[PCZONS
OCZGBMNS_
OCZNS_LO
OCZQ_ZS_[QC
O__[]CZZD@OAQYAL_AN@[@EY
o:]d_[[[
[[[|;Od_[[[
Od][[[@[[[
OD?0"1 A
Od][[[3[[[2[[[
oD#(48445gHggA
-Od][[[7[[[4[[[ 
OD#||||#8	
o@@@@@#@@D@A@ac
o@@@@@ @@D@ACac
OdA[[[d[[[
OdA[[[f[[[
odA[[[h[[[o[[[
O@DALXACOQMD[XDFHB@
odA[[[P[[[T[[[
odaUUwUU
odB[[[7[[[
ODBACGAG
odbbUUvUU
odbcUUvUU
od@[[[b[[[g[[[
odblUUvUU
odB[[[M[[[
odbmUUvUU
ODBNKQYZ
ODBOPSZNXCL
ODBPPEZNH
odbUUwUU
OdB[[[v[[[
ODBXYDDKMX
Od@[[[c[[[
OdC[[[:[[[9[[[0w
OdC[[[B[[[
ODCBD[BBGZZ
OD_CBGLAH[OSLSX
OdC[[[d[[[
Od][[[c[[[f[[[
OdC[[[g[[[f[[[G
ODCM]_PSLKKNAKJZQ[
OdC[[[Q[[[V[[[
OdC[[[r[[[u[[[
(OdC[[[U[[[
odcUUwUU
OdC[[[v[[[
O@D_CXPSPJKOK]PPH
ODDDSSPZ[_
ODD_gAgg
ODdH[[[z[[[
ODdK[[[W[[[M[[[
ODDND[YC
]ODDQJEZ[ACYPDZDKN
#oDdS[[[Y[[[q[[[
OdD[[[u[[[k[[[H4jeS[[[
oDd[[[[w[[[
o-Ddx[[[
o*DdZ[[[
ODdz[[[r[[[u[[[
odeaUUvUU
odebUUvUU
O@DEBY[DP_BZQ]
odecUUvUU
odedUUvUU
odeeUUvUU
o[DeFN@G
odefUUvUU
odegUUvUU
odemUUvUU
odeUUwUU
;)OdF[[[
ODFBA[OD]
OdF[[[C[[[
OD[]FFNZD
ODFGL[FAHZAUQH[NZB@EE
oDfJ[[[z[[[
OdF[[[o[[[
oDfO[[[L[[[A[[[
ODF[_OS_HZ
)OdF[[[Q[[[
oDfU[[[r[[[
odfUUwUU
*odg_2dy
ODGA]G[BDAYB
ODGCGDSX
OdG[[[d[[[
ODGDAK_LXGLCAEYA
o!dgfG4i
o_dgfGd:
OdG[[[g[[[e[[[
ODG_HCJX
OdG[[[J[[[C[[[
OdG[[[l[[[
OD@G]L[H]@_HDZ
OD@GL[NH]L
ODG_NA]FQQM
ODGNY@JY
ODGOPNZQLNMDC[YHAAA
O_DGPL@C[
oDgqgg6I
.ODgqggY
OdgSdgfG
odG[[[U[[[
odgUUwUU
OdG[[[w[[[
ODGXJQ]L
Od[[[[G[[[y[[[
OD__GY]QDLJ]OG[A
ODGZC][AP
OdH[[[	[[[
OdH[[[7[[[
o||dh||7h||
o||dh||8h||
o||dh||Ah||
O[dH[[[B[[[@[[[
OD[HBGBXLY
ODHCMLMF
OdH[[[d[[[
ODH@EJA@DY
ODHGBSDJKDKOCO
ODhgfG"Xa
ODHH_H[OZ
ODHHMKQKQ
o[dH[[[I[[[C[[[
o||||||||||Dh|||l||
OdH[[[L[[[C[[[
ODHLPSA_H
odH[[[m[[[e[[[
OdH[[[N[[[
OD_HPSEH
ODHQNS_L
OdH[[[t[[[j[[[aQ
OdI[[[;[[[2[[[
odI[[[d[[[
odI[[[e[[[
OdI[[[o[[[n[[[(M
OdI[[[q[[[
OdI[[[q[[[k[[[
OdI[[[q[[[w[[[
OdI[[[U[[[
OdI[[[v[[[k[[[
OdI[[[v[[[t[[[
OdI[[[w[[[
OdI[[[W[[[V[[[
odJ[[[	[[[
odJ[[[([[[
OdJ[[[)[[[
OdJ[[[.[[[![[[
OD]JCA[QD@]
ODJCBBY]MGQ
OdJ[[[d[[[
;OdJ[[[D[[[
[ODJDPJZLN
OdJ[[[e[[[d[[[
ODJEGDMZH@]PAQ
O_[DJELHG@GN
OD@J[FZFO]
OdJ[[[h[[[
ODJNDQSAEBKMOD
OdJ[[[P[[[K[[[
ODJPPKNOLF
@ODJYDZD]LCQ
OdK[[[7[[[5[[[
OdK[[[A[[[G[[[
OdK[[[c[[[g[[[
ODK[DH[_NL
ODKFXJMG
oD_kggfw6
oDkgqgg!
[]O[DKKK
@ODKMAFK
ODKND_D]X
ODKQJ[DYNCS
OdK[[[w[[[
ODKYOC_H
o||dl||||||||||||||||||||||||||
od[[[[L[[[
 OdL[[[|[[[
]OdL[[[|[[[
OdL[[[	[[[
OdL[[[![[[
OdL[[[([[[
OdL[[[:[[[?[[[
O)))DL]AFM@GJFEELJ]OF[DL]AFM@Gr
odlaUUvUU
odlbUUvUU
odlcUUvUU
odldUUvUU
o)))DLEFGYFZ
ODLELGMLSJAL
odleUUvUU
odlfUUvUU
OdL[[[g[[[f[[[
odlgUUvUU
o)))DL]HA]]Y
O)))DL]HA]]Y
odllllllllmllllOllylm
oD llllllllmllllOllylm
oDllllllllmllllOllylm
O[D]LLPBJJKMJLYPC
odllUUvUU
odlmUUvUU
ODLOMOYSL
OdL[[[q[[[w[[[5
O||dL||RL||
ODLSSH_EGA
odlUUwUU
odlwgfGg
OdL[[[z[[[|[[[
[ODLZZHNLZ
OdM[[[?[[[
OdM[[[4[[[
OdM[[[?[[[7[[[
ODMAGDO@ASG]AQO
odmaUUvUU
odmbUUvUU
)OdM[[[c[[[
OdM[[[c[[[
odmcUUvUU
oDMdA[[[
odmdUUvUU
]O[DMED]C
odmeUUvUU
odmfUUvUU
odmgUUvUU
o)dMigfG
ODMJJPG[JDHPBDY_
odmlUUvUU
odmmUUvUU
]ODM_NAY
ODMQHD_PDQJPX_
odM[[[S[[[N[[[
odmUUwUU
OdM[[[w[[[v[[[
odmyhe)l
OdN[[[.[[['[[[
OdN[[[@[[[
o|d(n|dHl|d
o|d(n|dHm|d
ODNDXZ]]
OdNGixgfG
OdN[[[J[[[
OdN[[[K[[[N[[[
OD[NOBY_FS
ODNO[FH_GA
O[DNQ@][
OdN[[[s[[[j[[[ 
OdN[[[v[[[c[[[
OdNVN;N-N
O@[DNXYHC_LYCGQX@LH[B]
O]DNX[YYE[AK
ODNYEFDMQ
ODNYLBBNX
OdO[[[?[[[
OdO[[[7[[[
O[D[O_AZ
O]DOBN_G
ODOCLZCDY[Y
OdO[[[@[[[D[[[
OdO[[[E[[[D[[[
OdO[[[G[[[D[[[6;HdB[[[
OdO[[[H[[[
OdO[[[H[[[N[[[H
Od][[[O[[[L[[[
OdO[[[O[[[M[[[#
]OD[O_]P
OdO[[[t[[[![[[
OdO[[[T[[[I[[[_
O||dP||6P||
(o	@@@@@@@@dp@fkv
ODPGSQDGMKQ]DK
ODPQAAJCYXA
OdP[[[t[[[h[[[t
[ODPZPSDBNJO
Od@[[[q[[[
Od][[[q[[[
Od_[[[q[[[
OdQ[[[3[[[
OdQ[[[D[[[
)OdQ[[[E[[[
ODQ_F[LOJ
O_DQFN[L
oDQgfwy!
OdQ[[[j[[[
O[]_D_QLSZ
ODQND]OBOP
ODQP[YYPKJDSMO
ODQXZH]QBHAS
OdR[[[@[[[E[[[
odR[[[F[[[
o_dR[[[g[[[f[[[
oDrgfGbJl
OdR[[[k[[[
OdS[[[#[[[
OdS[[[a[[[
O]DSAN_X
O[dS[[[b[[[
ODSDAQO_N
ODSD[MG]
#OdS[[[F[[[E[[[
ODSF]HLQ
ODSG]NXZAX]
ODSLDKC[LF
OdS[[[m[[[2[[[x|
OdS[[[N[[[G[[[(
ODSNNLMYQMZM@ZSH
OdS[[[o[[[e[[[G
ODSQJJL][XHHNC_KQE
ODSSLEAZZBBN
O]DSSNLF_ES
OdS[[[x[[[
ODSY]C]FH@_FN
Od@[[[t[[[
Od[[[[T[[[
OdT[[[g[[[
OdT[[[m[[[
OdT[[[o[[[a[[[
OdT[[[q[[[w[[[
OdT[[[U[[[
odU[[[*[[[
O[d][[[u[[[
OdU[[[*[[[
OdU[[[6[[[4[[[
OD	ugfGx
OdU[[[i[[[
OdU[[[I[[[
OdU[[[o[[[
_OdU[[[O[[[.[[[NWAdY[[[N[[[
OdU[[[Q[[[W[[[Q
OdU[[[S[[[
.OdU[[[y[[[|[[[
OdU[[[Z[[[
odV[[[ [[[
!OdV[[["[[[![[[0
OdV[[[A[[[@[[[
odV[[[E[[[
OdV[[[e[[[
OdV[[[k[[[j[[[:
OdV[[[m[[[
odV[[[O[[[
OdV[[[w[[[u[[[
odV[[[W[[[U[[[x
oDWSSE9@XQ
OdW[[[v[[[k[[[
OdW[[[w[[[v[[[iM5ex[[[
OdW[[[Z[[[
Od_[[[x[[[
o#d#XBex
'Odx[[[d[[[
(OdX[[[E[[[D[[[
ODXE]]MF
ODXFS_DN
Odx[[[j[[[
[ODXLB[_]
ODXMO_SNA
OdX[[[O[[[N[[[
#Odx[[[u[[[
OdX[[[U[[[
@OD@xxPD@zBTH9
ODYBQ]LNO[X]K
_ODYBSHCZ
@OdY[[[d[[[
odYdz[[[
ODYFACCBZX
Ody[[[H[[[
)OdY[[[I[[[G[[[
OdY[[[J[[[O[[[0
OdY[[[L[[[
OdY[[[n[[[
OdY[[[N[[[
OdY[[[N[[[L[[[xLPdT[[[
OdY[[[P[[[
ody[[[q[[[
Ody[[[t[[[k[[[#
Ody[[[w[[[
Od[[[[y[[[x[[[2
?[odz[[[![[[
Od][[[z[[[
Odz[[[	[[[
Odz[[[ [[[
OdZ[[[8[[[
OdZ[[[F[[[
OdZ[[[g[[[f[[[@
odZ[[[H[[[
OdZ[[[H[[[
OdZ[[[I[[[
odZ[[[J[[[
ODZLPJXZ
OdZ[[[N[[[
ODZNLHELP
[ODZO@GZ]HEELJAF
OdZ[[[O[[[M[[[
OdZ[[[p[[[
ODZ_PK@NCJA
OdZ[[[U[[[H[[[;zTdS[[[T[[[I[[[?[leH[[[K[[[J[[[5q
OdZ[[[V[[[N[[[
Odz[[[W[[[
odZ[[[x[[[
[[[O[[[E[[[
Oe4C)dS"
OE#||||#8	
OEAEAHPL_MD]D
OEAEBQJQ
OEAQBMJNA]Y
OEASKO[@
OEA_XSKAMP
[[[o[[[e[[[B
OE_BQKY[ZB_NGFP]
OEBQXH[CZ
OECAFYL[DX[GDZNMXXL
O[EC]AG@
[]_OECEZ
oecgfGJNUEgqgg
oecgfGQv
o)))ECH_HQ
OE_CS@GF_Z@
OECYSNCPY
Oe_[[[D[[[
OED]CQMMYG
O@EDDFNS@_F]H
O]E]DEGBP
o@EDe@Z]hJ]@_@]P
O@EDJALJBL[
O@EDM_EDEBE
oEdQ[[[L[[[
O@EEJFEF[
O@EEKEFJB
")))O@EEvFKC
')))O@EEvFKC
OeF[[[@[[[
OeF[[[3[[[0[[[
!)))OEFF[
#)))OEFF
OEFFBJHOAQDJLDA_P
OEFFJ]PLE
OEFFM@GN
OEFF[Z@Q
@OEFGN_H[
)))OEF[HE
OEFH]@GN
OEFH]@GNZ]LYZ
?)))OEFH]@GNZ]LYZLQYEF@]
OEFH]H[[HP
OEFH]H[[HPr
o)))EFJH]@FG
OEFJZLMZJJOLJF
OEFNKFH]
oeF[[[r[[[
[OEFSOBSJE
O_E@F@XO
OEFYP[AGM
OEF[@Z]DHGHMF
OEFZZMGZ
Oeg3ggfGu
oEg3mgfG
OEg9jgfG
OEGAEEHGA
o egfG8J3
 o egfGF
*Oegfw#9
oeg	ggfG
OE_GMEQB]C
O@E@GN[@DD
oE@GNO@ZA
OE][GOZG
OEGP_D[D@
oEgqgg?TP#
OEgqggWc
;OEgwggfw
Oe][[[h[[[b[[[
OeH[[[B[[[@[[[
OEHBPvHYFEFN@ZLvFGL
OEHCYD_KB
)))OEH]@[FG
OEH_F[MLQ
OEH]FY]@FGZ
oEHGM[LEEH
OEH]@JFG
OEH]LMLJFML
oEHNyHMM@GN))
;)))OEHNZ
((OEHNZUR
OEHOJBZCL
OEHO@Z@q))
OEHYSEJ]
oEHYYPdHG
oEHYYPdHGj
)))OEHZA
?)))OEHZA
oEHZAE@NA]
OEHZAE@NA]
oEHZAe@NA]hJ]@_@]P
OEHZA]F[JA
OEHZA@GZ]HEEL[
OEHZAHEL[]
oEHZAhJ]@_@]P
 :)OEHZA_H[Z
)))OEHZA_H[Z
OEHZA_H[Z
OEHZAJH[M
OEHZA_L[
oEHZAlQYv
oEHZAlQYvA]DE]LQ]))
oEHZAlQYvEFHMKP]LZ))
oEHZAlQYvHMMLMv]FvZ]HNL))
oEHZAlQYv[J
oEHZAlQYvJALJBvDLD))
oEHZAlQYvJALJBv_L[Z@FGZ))
oEHZAlQYvJALJBvZY[HPvLQY))
oEHZAlQYvJHYHK@E@]@LZ))
oEHZAlQYvJ[PY]LMvMH]H))
oEHZAlQYvLEZLOF[))
oEHZAlQYvLG]L[vO[HDL))
oEHZAlQYv[LHMvBLPZ))
oEHZAlQYv[LHMvMH]H))
oEHZAlQYv]LZ]vZY[HP))
oEHZAlQYvMLJ[PY]vMH]H))
oEHZAlQYvNF]FHGMYEHP))
oEHZAlQYvNL]vK@NvKH))
oEHZAlQYvO@EEvFKC
oEHZAlQYvO@GHEEPJFGZ]))
oEHZAlQYvO@GMv_@[]Y[F]))
oEHZAlQYvOHGJP))
oEHZAlQYvQF[vBLPv@G]))
oEHZAlQYvYEHPL[]PYL))
oEHZAlQYvY[LYH[LvZALEE))
oEHZAlQYvZALEEJFML))
oEHZAlQYvZB@YvYHPEFHM))
oEHZAlQYvZELLYvLGM))
oEHZAlQYvZHKF]HNL))
oEHZAlQYv@ZvZ]HGMHEFGL))
oEHZAlQYvZY[HPvFKC))
OEHZA_L[r
')))OEHZA_L[Z@FG
OEHZA_@MLFYEHPL[
oEHZAvd@G
oEHZAveFGNvhZJ@@vfGLvy@QLE
oEHZAveFGNvhZJ@@vfGLvy@QLE))
OEHZAvFKC
OEHZAYEHPL[
((OEHZAYEHPL[JYEHYY
oEHZAyHJBkHGGL[))
)))OEHZAZHEL
oEHZAzJ[LLGhJ]@_@]P
[OEHZ]EFN[D
)))@OEHZ]L[
OEH[ZSK_
OeJ[[[|[[[
OeJ[[[a[[[
[OEJ_G_B
OEJ]OOGYFHO
OEJYO_QHM
OEK@COLM
O"eK[[[n[[[m[[[;@
oeK[[[Q[[[
OEKXGBNZZ
')))O@EL
O@E]L[))
O@E]L[AFZ]JFFB@LZ
o@ELaHZA))
O@ELAHZA
O@ELALHML[
*--O@ELA]]Y
OELB]_HYY
O@ELCH_H
OEL]CPDEO_LAA
OELDFGHMLJP
")))O@ELDF_L
)))O@ELDF_L
O@ELDF_L
O@ELDFML
O@ELDFMLt
O@ELD@GF[YH[]
O@ELDGLDFG@J
O@ELDHCF[YH[]
oE@]LdHGHNL[
O@ELDHGHNL[
O@ELDHJL
O@ELDHYY@GNGHDL
O@ELEFJBLM
O@ELE@GB
O@ELE@Z]
O@EL]FLGJ[PY]
")))O@ELFYLG
O@ELFYLG
O@ELFYLG@GNL[[F[
)))@OELG
.)))O@ELG
:)))@OELG
OELGBSKA
o@ELGHDL
)))O@ELGHDL
O@ELGHDL
O@EL@G]LDY
O@EL@G]LDYUMLEL]LO@EL
O@EL@G]LDYUZH_L]FO@ELUZ][LHDUMH]H]PYLUK@GU]DYUJ[LH]LLELDLG]UD@J[FZFO]UQDEMFDUKHZL
:)))O@EL@GQ]
')))O@EL@GZ]HEE
)))O@EL@GZ]HEE
O@EL@GZ]HEE
O@E]L[HJ]@FGJFD
O@ELHJJLZZt
)))O@ELHO@ELH
O@E]L[HZYGL]v[LN@@Z
?)))@O@ELJFEELJ]@FG
O@ELJFG]LG]
O@ELJFGO@N
o@ELJFML[
")))O@ELJFYP
)))O@ELJFYP
O@ELJFYP
O@ELJFYP@GN
O@ELKFMP
o@ELlGJFML[
")))O@EL[LHM
O@EL[LHM
;)))O@EL[LHM]FH[[HP
O@EL[LHML[
')))O@EL[LJPJEL
:)))O@EL[LJPJELLDY]P
O@EL][LL
oElllllllllmllllOllylm
O@EL@LLLLQ
O@E]L[LMYF[]Z
o@ELlQL))
o@ELlQ]LGZ@FG))
o@ELlQ@Z]
)))O@ELLQ@Z]Z
O@ELLQ@Z]Z
O@EL_L[Z@FG
O@EL_L[Z@FG@GOF
OEL]LZ]OEFC
;*)O@E]L[M[_
o@ELm[FY
")))O@ELMH]H
)))O@ELMH]H
O@ELMH]H
O@ELMH]HHY@
o@ELmH]HKHZLzLELJ]hJ]@_@]P
O@ELMH]HO@ELMH]H
)))O@ELMLEL]L
;)))O@ELMLEL]L
O@ELMLEL]L
O@ELMLEL]LM
o@ELmL]H@EZ))
o@ELm@ZJ))
O@EL_NAAZ_OEBY
')))O@ELNL]]@DL
;)))O@ELNL]EFGNGHDL
O@ELNL]EFGNGHDL
;)))O@ELNL]LGJFM@GN
:)))O@ELNL]ZAF[]GHDL
')))O@ELNL]Z@SL
O@ELNL]Z@SL
OE[LNPJN
o)))ELO]
)))@OELO]
O@ELOF[DH]
:)))O@ELO@GMGLQ]O@EL
O@EL]PYL
O@EL]PYLMEE
oELQ@KELvFEM
)))OELQPMLHE
O@E]L[QYH]A
OELQZE@ML[
O@ELS@EEH
o@ELs@EEHfOOL[z][@GN))
)))O@ELt
O@ELvGHDL
O@ELv@GOF
#)))O@ELvH]]
O@ELvHYYLGM
O@ELvKLN@G
O@ELv[LDF]LvEFJH]@FG
")))O@ELvLM@]
#)))O@ELvMLE
O@ELvNL]vJFG]LG]Z
|)))O@ELvYH]AJAHGNLvO@ELGHDLJ[LH
O@ELvYH]AJHZL
O@ELvZL[_L[
O@ELvZ@SL
)))O@ELv@ZvM@[LJ]F[P
O@ELY[F]FJFEAHGMEL[
O@ELY[F]FJFEAHGMEL[))
O@ELYFZ[LHM))
)))O@ELYH]A
O@ELYH]A
O@ELYH]AJ
?)))O@ELY[@_H]LGZ
O@ELY[@_H]LYH[]
.)))O@ELZ
O@ELZ[_[
O@ELZAH[Lt
O@ELZDHG
O@ELZ][@GN
o@ELz]HEBL[
O@ELZH_LZ
O@ELZHMM[LZZE@Z]ECH_HQ
O@ELZKEFJBLM
')))O@ELZL]]@DL
O@ELZ]LDYuK@GuZ_JAFZ]
:)))O@ELZLELJ]OFEML[
O@ELZ][LHD
O@ELZ]LHE]A
)))O@ELZL]H]][@K
O@ELZL]H]][@K
O@ELZOF[O[LL
O@ELZPZ]L
())@O@ELZPZ]LD
)))@O@ELZPZ]LD
;)))@O@ELZPZ]LD
@O@ELZPZ]LD
O@ELZPZ]LD
O@ELZPZ]LDF
o@ELzPZ]LDfKCLJ]
O@ELZPZ]LDFKCLJ]
O@ELZPZ]LDFKCLJ]HMFMK
O@ELZPZ]LDFKCLJ]w
O@ELZPZ]LD[@NA]Z
O@ELZPZ]LDZJHG
O@ELZPZ]LDZL]OZ
O@ELZPZYH]A
O@ELZrBt
O@ELZ@SL
OE]LZSONDGSA
!)))O@ELZu
O@ELZuKFF]LQ
O@ELZuuRHJ
O@EL@ZY[F]LJ]LMKPJYHGLE@GJ
O@ELZZYHJL
_]OEMC_PO
[]OEMPDYPJL
OENKXBQZXPKYS
OENLGMLML_@JL[L[ZEL]]L]
[OENOOYJZ
o!ENR!ln
OeNYN]N	N
OENYNOCG_EZAPZ
O_ENYQGZ]
OENYQXZNC
o||||||||||EO
OEO]BHONAO
OEOSE_]N
oeO[[[w[[[t[[[
OeP[[[0[[[5[[[
oEPALH[]
OEPBPHBZDO]CQNP
oEpgppepq
oepgppepqN
OEPH@[JH[@F
OEPHN@JHN@JHN@JHN@JHN@JHNJNFBJNFB
OEPK@[MD
OEP_LELML[H_@GMZP
O(ePlKef
OEPO]G[DMNS
OEPS[M@FS
OEPZL[_L
OEQALZAXL
O@EQ]GE]K
OEQKBCGMNXAZNZM
_OEQPKFMXEZAC
OES[BABS
OESLXAHA
OESMANX[BHESMJJXN
OES@@XYQZ
OESYNAYH
@OE@VBNL_7@AE@BEBA
oeVfggwO
OEXGQZJDQBEZ
OE_XMYXGS
O[EX[ZB_Q
O]EXZPHQYLZL_
O"eY[[[:[[[
)))OE_YEHPL[v
O@E@Y@GFDHNHS@GL
oE@YkFFBhJ]@_@]P
]O[EYXLP
OE_YZZP@PJD_A
oE@ZAoE@GN
OEZBJMX]
]OEZFOMCK
OEZH_LLSS
OeZ[[[L[[[
_OEZLX[O
OEZ]PQBMLN
#)))OF[@
:)))OF[@
OF[@@@@@
of3.;OH"
OfAAAA@AAAAAC
]OfAAAA@AAAAACJ
ofaaUUvUU
ofabUUvUU
OF[ACMACNHZMO
ofacUUvUU
ofadUUvUU
OfAEA]DMFyyyIyy
ofaeUUvUU
ofafUUvUU
ofagUUvUU
OF_AH]XHN
OFAKZQ_MKBC@D_COPS[OFB
ofalUUvUU
ofamUUvUU
OFANDNEX
ofaUUwUU
ofbaUUvUU
ofbbUUvUU
ofbcUUvUU
ofbdUUvUU
ofbeUUvUU
ofbfUUvUU
oFbgfGpF
OF[B@GNLQLJZ]H[]
ofbgUUvUU
OF[BHZ@DF_
OFBJ@ASN@OYPZXSSMYL[
)))OF[BK@]Z
ofbUUwUU
ofcaUUvUU
ofcbUUvUU
ofccUUvUU
ofcdUUvUU
ofceUUvUU
ofcfUUvUU
ofcgUUvUU
ofclUUvUU
ofcmUUvUU
OFC[SDHX
ofcUUwUU
!)))O[FD
;)))O[FD
?)))O[FD
[)))OF[D
oFdA[[[)[[[([[[3
OFDAAK@XXP
O[FDAPM[Hv_@J]@DZ
oFdA[[[r[[[p[[[
ofdaUUvUU
O[FDA]]YZ
OFDAZ[HJA_YBF_ND
_OFDBJZLPE
ofdbUUvUU
OFDCAAEKQ
ofdcUUvUU
)))O[FDD@]DY[FQP@DYF[]A]]YMLO[LZYFGZL
:)))O[FDD@G@YMO@DYF[]
O[FD@DHNL
)))OF[DDL]AFM
)OF[DDL]AFM
OF[DDL]AFM
ofddUUvUU
)))O[FD@DYHJBL]
)))O[FDD@]ZJF[L
O[FDEFJHEAFZ]v]KE
OF[DEFNFG
O[FDE][K
oFdE[[[][[[K[[[y
)))O[FDE@KZ
ofdeUUvUU
oFdE[[[x[[[
O[FDE@Z]
)))O[FD]FFEB@]
OF[D]FFEZ
ofdfUUvUU
oFdgfG#G
oFdgfGO:
oFdgfGWS
OF[DGHDL
)))OF[D@GL[@G
ofdgUUvUU
 )))OF[DH]
')))OF[DH]
OF[DH]AA
oFdH[[[B[[[
OF[DH@ECH_H
OF[DH]EFJHEMH]L
OF[DH]EHKLE@M
oF[DhJ]@FG
)))OF[DHJ]@FG
)OF[DHJ]@FG
?)))OF[DHJ]@FG
OF[DHJ]@FG
oF[DhJ]@FGv
oF[DhJ]@FGveFN@GyAY
OF[DH]L[@GNEHB[@MZBFGOLB]ZDLG@NALMLGZ
OF[DH]]L[Z
oF[DH]mH]H))
OF[DH]MH]H
OF[DH]MH]L]@DL
OF[DH]MM
OF[DH]vLQJ
OF[DH]YL[JLG]
oFdI[[[T[[[
oF"dJ[[[3
O[FDJAH[
O[FDJAH[JFM
o[FDjAH[jFML
o[FDjAH[jFML))
O[FDjAH[jFML
)))O[FDJAH[JFML
O[FDJAH[JFML
O[FDJAH[JFML))
o[FDjAH[jFMLa@MMLG))
o[FDjAH[jFMLjFDY[LZZ))
O[FDJAH[JFMLu
o[FDjAH[jFMLyzALEE))
oF[DjEHZZ))
OF[DJEHZZ
)))O[FDJPEFN
)))O[FDJ[PY]F
O[FDJ[PY]F
oF"dK[[[
!)(OF[DK
oF[DkFFB
o[FDkF]lPL
o[FDkHZL
)))O[FDKHZL
:)))O[FDKHZL
O[FDKHZL
)))O[FDKJZHYY
oFdK[[[R[[[
oFdK[[[T[[[
oFdL[[[3[[[
OF[D]LDYEH]L
OF[DLGJ]PYL
oFDLsHHK
ofdlUUvUU
OF[D[LZYFGZL
)))OF[D@M
#)))oF[DmH]H
)))OF[DMH]H
OF[DMH]H
)))OF[DMH]Hr
OF[DMH]Hr
ofdmUUvUU
oFdN[[[z[[[
OF[DO[DDH@G
O[FDO@EL]@DL
oFdQ[[[U[[[
oF"dR[[[
oFd@[[[r[[[w[[[
oF"dS[[[	[[[
oFdT[[[4[[[
ofdUUwUU
oF"dV[[[
oFdV[[[d[[[
oFdV[[[H[[[
O[FDvLDH@E
oFdV[[[Q[[[U[[[
oFdV[[[S[[[
O[FDvv@GZ]HGJLDFM@O@JH]@FGL_LG]
oF"dW[[[v[[[
oFdx[[[0[[[
oFdx[[[d[[[
o[FDyHGMHZ))
)))O[FDYHJBHNLZ
)))O[FDYPYZ[Y
oFdY[[[r[[[q[[[
)))OF[DZ
oFdZ[[[0[[[
?)))O[FDZAH[B@
oFdZ[[[C[[[
O[FDZ][@GN
:)))O[FDZPZ@DYF[]LQ@]
oFdz[[[][[[T[[[.
oFdz[[[_[[[T[[[
oFdZ[[[V[[[
OF[DZY[LL
@OF_EAHM@P
ofeaUUvUU
)))OFEBEF[LLJFGFDP
OFEBEF[LLJFGFDP
ofebUUvUU
ofE[[[B[[[z[[[
ofedUUvUU
ofeeUUvUU
OF[EFFY))
ofefUUvUU
OF[E@GL@G
ofegUUvUU
O[FE@JH]@L[
OF[E@JLGZL@GOF[DH]@FGYELHZLZLL
ofelUUvUU
OFELZ]MAX
 )))OFEML[
!)))OFEML[
')))@OFEML[
())@OFEML[
)))OFEML[
oFEML[e@Z]hJ]@_@]P
oFEML[fYLG))
OFEML[GHDL
((OFEML[@GO@EL
oFEML[hJ]@_@]P
@OFEML[JFEELJ]@FG
?)))OFEML[@]LD_L[KZ
;)))OFEML[@]LDZ
OFEML[]LQ]
OFEML[LQ@Z]Z
OFEML[@M]LQ]Y[@DH[PBLP
OFEML[vE@Z]
OFEML[vGHDL
OFEML[vYH[LG]
ofemUUvUU
OFESDOACOA]
ofeUUwUU
OFEZZSBDCH
OFF]AFEMO@EDZ
oFF]aLEY
offaUUvUU
offbUUvUU
offcore_rsp
ofF[[[D[[[|[[[3
offdUUvUU
offeUUvUU
OFFEY[FFOK@]DLZZHNL
offfUUvUU
offG1oeogqgg
OF[FGLM[@_L
offgUUvUU
officeversion
	)))OFF]L[
o)))[FF]LG][POYM
offline 
Offline storage too small
offlUUvUU
OFF]L[vE@GB
OFF]L[vE@GBZ
)))OFFML[H
oFFMo[FDhENL[@H
offmUUvUU
OFFMYHJBHN@GN
OFFREG.dll
offreg.pdb
OffsetOfRelocs
offUUwUU
OF[[FvEP[@JZ
OFF]Y[@G]
)))OF[@@G
OF[[@GAB
ofgaUUvUU
O[FGBQNDCECLMPJB
ofgbUUvUU
OFGCACFC
ofgcUUvUU
ofgdUUvUU
ofgeUUvUU
ofgfUUvUU
[]OF]GG[C
 Of*ggfG
ofggUUvUU
)))OF[@@G[HGNL
OF[@@G[HGNL
OFGJE@JBE@GB
OFG]JFEF[
O[FG]JHDL[H
OFGJHGGFG@GJ
#)))OF[]@GL]
O[FG]@L[
)))OFG]LE@OL
)))O[FG]LGM
O[FG]LGM
O[FG]LGMvYHYL[vEHG]L[G
OFG]LJDFK@EL
ofglUUvUU
OFG]MLZJ[@Y]F[
ofgmUUvUU
oFgocgfG
OFG]OHD@EP
OFG]OHJL
OFgqgg#X]
OF[@@GQ[HGNL
ofgUUwUU
OFGXJ_XJ
?OFgYdgfGy
OFG]YHJB
OFGZB@PFGKHZEHGN@J_H[KHZEHM@D
OF[@@GZJt
OFG]Z]PEL
OFG]Z@SL
OFHBG]A@
!)))OF[HEE
OFHE@OOOPJN
o||fh||Gh|| h||
OF[]@][HJL[
OFHKCHC[S
OFHQ_GMP
O_FHXHHZXS
OFHXH[SM
O[FHXNSYJMG
)))OF[HYYLGM@GN
OF[HYYLGM@GN
ofI[[[m[[[
)))OF[@JAH[
OF[@JAH[
OF[JL]ALGHDLFO]AL@G]L[GHELQJAHGNLZL[_L[]H[NL]LM
OF[JL_DKEHZ]ZN
OF[JLHZE[
OF[JLMFSL
OFJL]]QOE
OF[JLTMLEL]L
OF[JLUJFG_L[]O[FD
oF[JLveFJBvYL[D))
OF[JLZALEE
oFJLZ@EYH
OF[JLZL]
OF[J]N[PFYSF
OfJ[[[p[[[w[[[
OFJZ_UJFG_L[]O[FD
O]@FKA@LSS
@OFKCOZF
@OFKCQDEA]]Y
OfK[[[f[[[
OFKGCZCKLSJG
)))OF[K@GH[P@G
OF[K[GM@GN
")))OF[K@MMLG
OF[K@MMLG
OFKYNLNCEM
)))OF[@]LD@GJFGO@Nr
	)))OF[LHJA
 )))OF[LHJA
#)))OF[LHJA
())OF[LHJA
)))OF[LHJA
)))OF[LHJAC@GFOZF
OF[LHJAFKCLJ]))
OF[LHJAH@GY]
)))OF[LHJAM[@_L@GO@ELZPZ]LDFKC
OF[LJFEF[
OF[L_L[D@F
ofllllllllmllllOllylm
oF[L@NG|ZL[))
oF[L]PYL
OFLSDL]_EAOQ[GAABCBX
oflUUwUU
OF[LZ@NA]
OFMAA]]YZ
")))OFMALEYL[
OFMF@B[GE
ofM[[[h[[[c[[[
ofmUUwUU
O[FMZ[CM
OFNAllowIdenticalNames
OFN_BQM_E
OFNE@M@EH_F[F
OF[NF]]LGZPZ]LDZ
OFNLGSCXS_QLLY
)))OFNLNALAML]P
@)))OFNLNALAML]P
OFNLNALAML]P
ofN[[[|[[[n[[[
OfN_N;N1N)N
OfN]N*N!N
OFNOGSK]H
OFN]YJHOEL
[OFOCBCA
OF[O@EL@GEFNv]FZLGM
oF[o@ELZ))
')))OF[O@ELZ
)))OF[O@ELZ
OF[O@ELZ
OF[O@ELZ@GNL]vO@ELZ
OF[OHJBZ
OfO[[[I[[[O[[[
[OFOJMDXQSYYM
OfO[[[O[[[
OFOQ[CDLE
o)))FPPCF]B
OF[PZMAA
OF[Q@GE@Z]
OF[Q@G[HGNL
oFQ@]|ho
OFQJFGO@N
[O@FQKJK
OFQ_KNX__DD[EDPOS
OFQ@][LHML[
OFQ@]vKHZL
OfR[[[w[[[o[[[
OFSA[Z_JP
ofS[[[K[[[
O[FSLGML_Z
OF[SOPXPSOJYF
OFSYXHME
[Of_[[[t[[[l[[[A
OF[v@G[HGNL
OFwSw[H@wKw_
OFX[[YHD
of'((]Y]]
OFy5gAgg
O@@FY]@D@Z]
ofY[[[F[[[
OF[Y@GY[FvJLZZ
OFYLFB[]KF
o)))FYLG
!)))OFYLG
)))OFYLG
oFyyyyyyyy
O)))_F@YZ
OF[ZAH[LM
oFZAL[lQYEF@]
OFZ@ASD[OY]
OF[ZBHHGLMLZ
]OFZF[J@D
]OFZF[J@Du
ofZ[[[i[[[
oF[[[Z[[[K[[[
OF[[[Z[[[K[[[
OFZKCCAQNJ
OF[ZLHOFQNHYC
OF[ZLHOFQNHYQ
OFZ]L[iMH[]
OFZLJGH]ZG@
OFZO[M_A_N
@OFZ]PYL
OFZQDKKPJAG
O_FZQMQENBM
OF[]@ZZE_YGJE@LG]
OFZZHZ@H
o*g1kgfGN
o#g1vgfG
Og3egfG3
og3ggfGG
O?g3kgfGKm
O)g3ogfG
Og5kgfGd
Og5kgfGf2
o?g5kgfGO
@og5lggG
*og7dgfG
;og7dgfGH
og7egfG'
og7egfGC
Og7ggfG2
O#g7ggfGX
Og7kgfGP
og9dgfGP
ogabUUvUU
O[GACL]JH
OGACMM]KYPMNG]
ogacUUvUU
OGADBHB]
ogAegfGLC(Rgqgg
ogaeUUvUU
ogafUUvUU
og#agfGo#
og;agfGw
OgAgg -h
ogagUUvUU
OG_AH[PCZKMLCL
o.]gAkgfGu
ogalUUvUU
OGALXS_B_Q
ogamUUvUU
OGAQBJ]B
ogaUUwUU
OGA]XOCX]DZH
OGB[AGNB
ogbaUUvUU
OGBB]CMM[DA
ogbbUUvUU
ogbdUUvUU
ogbeUUvUU
ogbfUUvUU
|:O]g_bgfG
ogbgUUvUU
OGBHDLNQ
OGBKZ]NMHYBGS]PHZPZ
ogblUUvUU
ogbmUUvUU
OGBNBSFBLQHPO
OGBN@XMYJ
O[GBSA[MP_LLGKP
ogbUUwUU
OGBYC]C[G]KGZ
ogcaUUvUU
ogcbUUvUU
ogCcgfG?
OgccgfG6
ogccUUvUU
OG]CCYLQ
ogcdUUvUU
ogceUUvUU
ogCggfG7]
ogcgUUvUU
OgChgfG;
OGCJBF@P
OgCjgfGL
ogclUUvUU
ogcmUUvUU
OGCOLQKAS
ogcUUwUU
O__GC[XG
OGCXGM_XMZ[
OGDDSSLGAY
(Og	dgfG
Og_dgfG@
OGDQHAPA
ogdUUwUU
ogeaUUvUU
ogecUUvUU
ogedUUvUU
ogeeUUvUU
Og'egfGp
ogegUUvUU
O[G[EHQ[YN]
OGEOYQZJOXLPHX
O@]]GEQZ
*OGeS[[[
OGESEX_QZ
)))@OGF]
o)))@G_FBL
ogfG0"_Agqgg
ogfG	1 9x
ogfG1tQfgqggh
ogfG2WmHgqgg@4
ogfG6hnIgqgg
ogfG76dfgqgg
ogfG #7Cgqggt
ogfGbhfCgqggS
ogfGCBT:gqgg
ogfGCZxWgqgg
ogfGDhw(gqgg
OgfGd	Yrgqggj
.OgfGEfK
ogfGeNM;gqggp
og'fgfGqm 
ogfG[fp9gqgg
ogfGfV3Dgqgg
o_GfgfwG
ogfG:#g1gqgg
ogfGGPOVgqgg
OgfGHRGcgqggN#
ogfGJ3cagqgg
ogfGkAdbgqgg
ogfG[KO:gqgg
!OgfGkRT
ogfGLYF"gqggz
@OGFGLZYLJ@O@LM
]*ogfG.m_
:OgfG_na
OgfGo.A'gqgg
OgfGP]_ggqgg-
 ogfG"qPEgqgg@N?
ogfGU'2_gqgg
ogfG_v7|gqgg
?OgfG"xn
ogfG@y'Cgqgg
ogfGYo*hgqgg
ogfGy@zKgqgg
ogfGZ7p gqgg
?*OgfGZV
ogfGzW8Cgqggv
@OGF]iLQ]LGMLM]ALGLQ@]EFFYLEZL
O@G_F@JL
OGFKKJ]QQ
)))@OGF]LQ@Z]
@OGF]LQ@Z]
)))@OGF]O@ELLQ@Z]Z
@OGF]O@ELLQ@Z]Z
@OGF]O@ELZPZ]LDFKC
OGFQPMKZOXHX[A
ogfUUwUU
	ogfwT);#
ogfw-wQa
O_GFYGJH
OGFYYD[GCN
O)gG8OocgfG0
O[GGAAZQSCS
OggagfG3
o#ggbgfG
OGG@BN[LPQG
OGGB]SA[
OG[[GCASLXF_D
OgGcgfG33
oGgCqgfG|#
oggdgfG#h
)OggegfG
OggegfGM
O#ggfgfG:
o	ggfG:l
O _*ggfw"
oggfw0250
|oggfwEw
oggfwi0Ow
oggfwi|3
oggfwk(ZR
oggfw@Nj
O)g'ggfG
oGggfGWU
o'g!gggG
oG'gggwN
_O_GGGMM@XGPP
OGGHCCXL
OG]GJ@LBJDAPKQL[LDQLHD
OgGkgfGc
OGG[NC]Q
ogg)ngfGu
OGGOODJ[KHB_O_XCHPFYP[KZP
o*ggqggW
O_GGSDGXXJNA@
oggUUwUU
Oggw031K
OGG[ZLKC
OGHASLEZ[EYJDFSOAKL
OGH[AXYO
]OGH][[CM[LFS]PP
)))O@GHEEP
')))O@GHEEPJFGZ]
O@GHE[LZ
O@GHEMH]
O@GHE@SL
O@GHEvYHPEFHM
O@GHEvZJ[LLG
O@GHEZALEE
O@GHEZ][@GNrtH[[HPFOZ][@GN
O@GHEZOEHZA
O@GHGJ@HE
O@GHGJ@HEJA@EL
)))O@GHGJ@HEMH]HuG
O@GHGJLiKY
O@GHGSLG
OGH_HO]A
OGHNNL_X
O]GHXKFJZ
OGHZZA]_DKHSASF
OGIDIIXI
ogIFgfGdI
OgifgfGHx
ogi|ggwg
ogI[[[h[[[
"ogIkgfGe!
]]ogIlgfG
OgipgfGe
O_g][[[j[[[
OG_JAPGQJB
[[OGJASF[
OGJC[[[QG[ZHN_CB
Og!jgfGO
o)))G@J@GG@JB@G]ZL]MGZZL[_L[
OGJJOPCZ@QNE
]O@G[JKNHP
OGJ_KXY[@YP@
OGJLXXMMZA@Y
OG]JP[OB
]OG[]JQS
OGJXSG]AL[KZ[N[Y
OGJ[YES]_NNZFYN
OGJZ@MAM
ogK[[[d[[[
_OgkegfG
*og_kgfG
(Og_kgfG
o'g!kgfGH
Og#kgfGM80
og!kgfGMd
Og?kgfG'w
Og#kgfGY
Ogkgggw6X
OGKJ[M[NLF[CM
.;ogK[[[K[[[
OGKNBNK[P
ogL[[[2[[[
oglaUUvUU
oglbUUvUU
oglcUUvUU
ogldUUvUU
ogleUUvUU
oglfUUvUU
o)))@G]LG]
oglgUUvUU
OG_@@LH]_
o)))@G]L[HB]@_H
OGLHOQCHM_
OGLJSKCPAM
OGLKQQMMGMC
OGllllllllmllllOllylm!w
ogllUUvUU
oglmUUvUU
OGL]]NKBCC[HAYP
O@GLNLF]HN
O[GLO]PD
]ogLrjxP
[[OGLSQDF
oglUUwUU
O@]GLZZDFK@ELHYYZ
o@]GLZZhYY
;)))O@GM
?)))O@GM
ogmaUUvUU
OgmbgfGY?
o@GMbL[GLE
ogmbUUvUU
OGMDMDHC]
ogmdUUvUU
O_GMEEBY[
ogMegfGON;ygqgg
ogmeUUvUU
ogmfUUvUU
o@GM[FYYL[
ogmgUUvUU
)))O@GMHEE
O@GMHGMDLL]
o@GMh]]HJA))
;)))O@GM_]HKELOH@ELM
O@GMJ[LMZ@GL_]EFNZ
ogmlUUvUU
O@GMMEEA@CHJB
O@GMM@OOL[LGJL
o@GMm@OOL[LGJLhJ]@_@]P
ogmmUUvUU
;)))O@GMNHMNL]OH@ELM
O@GMO@EL
[OGMPBOY
O[GMPCHCJOM
OGMQDYL@
ogmUUwUU
O@GMvLGJ[PY]LMvO@ELZ
O@GMvM[@_LZ
?)))O@GMvO@ELv[LOv_]HKEL
 )))O@GMZ][
)))O@GMZ][
O@GMZALL]
o@GMZFJB
O@GMZFJB
OGMZH]DBA
OGMZMJJK
O@GMZ][]_XXHH
O@GMZYEF@]
Og_ngfGFw4
]OGNGYOC
OGNH_FMPQ
OG[@NJ[OBY
OGN]L@BMSKDQCXBNCA@DKSXJH_K
OGNLH]LCJYE
og-nllllllllmllllOllylm
OGNLQ_DG
O@GNL[Y[@G]
O@GNL[Y[@G]@GN
OGNMAJEZG
[O[GNODXKPD
OGNSSOHXCDYGAJX
OGNYDZBH
OGNY]OYSOK_Z
OgN[[[Z[[[
O_]G__NZJ
Og]ocgwi
O)godgfG
ogodgfGR
OGOGBQSB
@O@GO@G@]P
|ogOkgfG
OGOLDPOOGS
OGOLOSBBGLC
OG]]@OOYOXXOAOPCK
[OGOQYGMPQ
OGPCG]_N
]OG[PDJX
[OGPEJSHD
oGpgppepq
OGP]JNANC
OGPKZB_A
OGPNE[OHZ
O_]GPOMLD
OGPOZLG_C
]OGPXLJOM
OgqcgfG6
)Ogqgg@_
O*	gqgg.
o'@gqgg1
"ogqgg3 
O#_gqgg34
ogqgg4rx!
!Ogqgg6?*
ogqgg6@1
o!gqgg_6l
o#gqgg7[
o:gqgg7[
o]gqgg9]
*ogqgg9A
ogqgg'c ("
.ogqggcEg.
;OgqggdBH
OgqggeL-
#ogqgg!h
O](gqgg"H
ogqggHsVQ
o_gqggi*"
OgqggiEl
ogqggiS_
ogqggj"@
Ogqggj"@
ogqgg?_K
#ogqggKD
OgqggKpb
o)gqggKSl
ogqggKSl
ogqggKTY
O[gqggl.
o(gqggM)
Ogqgg[nG
O"gqggNuO
o]:gqggO
OgqggpG(
Ogqggq41
Ogqgg?rO
O!gqggspS
)OgqggSQ
OgqggU 4
ogqggu]6
o]gqggV.
 ogqggvn
.Ogqggvy
Ogqgg?w]
OgqggWd	
O	gqgg	WT
OgqggxAO1 
Ogqggz0tW
ogqggzVe
Ogqggz*z
OGQHP_NC
O[GQMO[[
OG[Q_OZ_Q
OGrZPDKFE
ogSdgfGC
OGSPAGQKYH__LOCJS[
OgspgfGy
OG]SQCCN
OGSS[MCKJ
[[OGS[XNA
og	tgfG7
[[[.;ogU[[[
o|gUAgfG|!
o|gUAgfGU
ogUgybgfG
O gUkgfG
OgUogfGQX
O@GvE@GB
OgwagfGZ
o_gwCgfG
ogWcgfGIZN'gqggZ
*O;gWegfG
_OgW[gfG
ogWkgfG?
o?gWogfGb
OgWwggGo
OG]XAOOA
O_GX_GLM
OGX[QOXB
OGXYYNY_ZD
OGXZKNNNXEPQ
OG[YDZKH
O)gYggfG
OgYggfG6
O?gYgggG
OGYMBQBH
[OG]YMJM
OG[YOB__
_OGYQOPN]C]ACDEY[BG
OGYQYBQES
oGyyyyyy
O@G@ZALMFGLOF[HEE
O@G@ZALMMZG@OO
O_]_GZAO]LC
OGZBEAG@]DO
OGZBPHDY
Og'ZgfGm"
_OGZG_GZMGB]BMYGPC
OGZGHGGP
OG[ZGM_J
OG_Z]K[C
OGZK[MZLLP
o@GZL_LGzj
OGZSL_[CBH
OGZYBPBMS
OGZY[LX[
oH[[["[[[![[[
)))O@]H[
oh8VSSPsUl
OH@]AAF]LENAHGH
OHAAKMFNQCNMZS[DZ
OHALGGNJGYJP
OHA[NLDL@GZJAHO]
OHANSCAA
OHAP__NZS[BMNXZ
OHA[YEHG
OHBAEQN@HQP
OH_BC]LC
OHBCSCDJ]YQ
_OHBDJBZQ
?oHbgfG-
ohbgfG1c
oHbgfGGnR
oHbgfG-O
oHbgfGVT8
oHbgfGz'A?gqgg
OHBGZQ[A_F]B
O]HBHDDKDNPN]CC
OHB][HGED
OHB[]JSLNHOAO
O]]HBKSA_FB[
;)))OHBL
OHBL@DL@OO
oHBLGd@GL[
oHBL@GZ]
oHBLhEL[]
oHBLHEL[]
OHBLHJ]@_@]P
OHBL][H_LEL[
oHBLj[PY]F
oHBLkHGB
)))OHBLMEE
OHBLMEEuG
OHBLMGZZL[_L[@Y
)))OHBLvNL]E@GLtZ
oHBLy[FN[LZZkH[
)))OHBLYH]A
OHBLYH]A
oHBLyH]JA
oHBL|YMH]L
oHBL|YMH]L))
oHBL|YMH]LZ
OH@B@_MD
OHB]OODDEXC
O_H]B]Y_BXH
OHBYSGMS
OHBZQLDGGMCJBD
OHCCJJ@MC
OHCEQO_X]
OHCFKKXJO
OHCHBYDGG
OHCNQB@QQXJN[AOCB[CXD
@OHCYNLSH
o)))_H[D
@)))OH[DEHGMZ@G_LZ]
OHDFKMFYG
O[HDHMA@HG
[[[#oHdK[[[
OHDKH@[YQFJFQ@
((@O[HDL
)))@O[HDL
)))O[HDL
@O[HDL))
@O[HDLAL@NA]
O[HDLGHDL
)))O[HDLKF[ML[
O[HDLKF[ML[
OH[DL[KK
O[HDLLELDLG]
@O[HDL@M
@O[HDLtr
O[HDLY[F_@ML[
o[HDLz[J
)))@O[HDLZ[J
@O[HDLZ[J
O[HDLZ[J
O[HDLZL]
O[HDLZL]KF[ML[
@O[HDLZ]PEL
O[HDLZYHJ@GN
o(HdM[[[
O@H]DQE]F
]OHDYLEL
O)))_H[E@GBZ
)ohegfGw
OH_EHYCC[
OHE]HZvZFK[LvEHvH[LGH
OHEJFGGLJ]
OH@ELQLT
OHEMJ]K[YQB
]O_H[E]SKO
OHEYBXYG
OHEYQJEDQCN
!)))OHEZL
OHEZL]ALG
OHEZL]ALGC
OHEZL]ALGO@MLE
OHEZL]ALGZL]O@ELFKC
OHEZLEFN
OHEZLFA]]Y
OHEZLFKCA]]Y
OHEZLFKCQDEA]]Y
OHEZLJHDH
OHEZLK[LHBJFGZFELvEFFYTTZ]H[]
OHEZLLQ@]EFFYLGM@O
OHEZLMFA]]YOEFFM
OHEZLMFA]]YZOEFFM
OHEZLNEFKHE
OHEZLNLH]QDE
OHEZLNL]JFML
OHEZLQA]]Y
OHEZLUUZ][YFZ
OHEZLZOZ
OHEZM[FGFGLL
oHEZ@YlQJLY]@FG))
o|||h||fh||Hh||3h||
OHFHSP[Y
)))OH_F[LFGDL
OHFYDX[E
O[HGBE@G
O_H_GCYE
O[HGDAF[]
[[[oHgdW[[[
oHgggGTl
OHGJPYEHJLZ
O)))_HGLZHMFG@Z@
@OHGPKFMPJHGK[LHB]A@ZY[F]LJ]@FG
@OHGQADQ
oHgqggdd
)OHgqggJ
OHG_SCX[
OHGX[E[[
O||hH||cH||OH||:H||(H||
OH[HCJN_
o||hh|| h||
o|||h||hh||Xh||Hh||
OHHJLAHCA
OHHJNPCGMYA
@OHHKKO[SK
o)))H[HK@Z
OHHS@EK@
OHHYSXKJ
OhigfGDk;Cgqgg
OHJBNEZL
OHJ]CEEZSOSJNX
OHJ@CGYJ
OH[]@JELLHZP
OH@[JFML
)))OHJ]F[P
)))O[HJ]HE
oHJLe@BL[
oHJLE@BL[
#)))OHJLE@BL
OHJL]FGLZ
#)))OHJLKFFB
')))OHJLKFFB
OHJLKFFB
OHJLKFFBE@BL
OHJLKFFBEFN@GZuG
)))OHJLKFFBMLHEL[Z
OHJLKFFBYFZ][LBEHD
OHJLKLNLG
oHJLoFM|G@GZ]HEEL[
o)))HJ]@_LQFKCLJ]
o_hJ]@_@]P
o)))HJ]@_@]PvJFD
)))OHJ]S
OHJSGBZC
OH_JXOXY
OH_KAS[Q
O[[HKC_]]DS
OHKDFKO_LJ
oH[[[k[[[h[[[
OHK@HG@H[]L
O]HKJCZBGBCC
OHKJJK_G
'OHKKNNI:xyxhy
OHKK]X[CYM]@HMJA
OH[KKYCSKN[M
O_HKLBXNLNQ
OHK[LG[POQDO]_@
O H;K tu2
o||||||||||@h|||l||||||||||||||||||||||
.)))OH@[L
OHLBP[_NOE
OH]LENHD@GN
OH_LGBFPNN
o|||h||lh||hh||Xh||
OHLH]QYFKKCLZ
o|||h||lh||Xh||0h|| h||
[OHLLPGSYG
OHLLZXGAKP
O_HLMENOZ
OHLNG]HP
OHLZJGK[A
OHMCQBQ[
OHMDBDP_
OHMDOQPON
OHMGNDBP]G
OHM@GNDLDF[@LZYFMJHZ]
o|h(m|hHl|h
OH[MH]LJA
OH[]ML]LJ]F[
oH[]mL]LJ]F[hJ]@_@]P
o)))HMMFGuY[FQPZL]]@GNZ
[OHMPGDZS
]OHMQZPN
OHN6N_A3A
OHNBM[GB[]QGK[AJ
OHNHMUMMLAULNKNU
o|_Hn|k?n
#o)]H[NL]
o)))]H[NL]
O)))]H[NL]
o)))]H[NL]DFML
OHN_L_NLXD[J_E
O]H[NL]Z
OhNnNMN;N(N
OhNQNDN*N
OH_NQXXG
OHNSL]DBD]KDX_C
OHNtAcAXALA
OhNZNTN(N
OHOALAANZODSQ_DX]G
OH]OCDO[S
")))OHOH
OHOJG]NPMQ
OHOK_BZYYC[BB
OHOMMZPNCJ
OHONOAKMK@
OHOO]]BZZCKC
OHOOYM_YM[Q
OHOPCB]SFY
ohop]hND
OHOX_XM[
OHOZMH]AMBHH[
]OHO[ZYBC[
OHPAOQ_[Q
O]HPBPSK
OHPBSPOKFQEO
OHPCQGQM
Ohpgppepql
OHPHXMBP
OHPKCHYL
]OH@P@MNQ[
OHPOBBG[
@O_H[]PYL
OHQFJKZAGB
oHqgWegfG
OHQLCXJOGY
OHQMHQOSS]_
@@OHQNNXZNSF
__OHSCSFNO@HJZYQKN]AG]YGBO
o)))_H[SEFY]FY
OHS[FF]JH
OHSHEHGMZFGZ
OHSHNCLZAMCLJ
OHSJS@NJ
[OHSNMLGX
OH]SQBNQ
_[OHSSFHLB
]OHULQJLE
o)))HvZJ[@Y]GHDL
|)))@OHvZJ[@Y]GHDL
OHX_ABGZSP
OHXC_FSGK
''O'HxD-
]OHXDPAHP]
OHXGPHZB
OHXLABQ@H[
OH]XNO]FAL]YAKKC
OHX_]OBPHGS_]_
O_HXQEH[[JF
OHXQHN@BDAHMS]OS
OHXQZQYZ@Z[C
O@H[XSLN
oHXXXXXXXX YXX
OHYFALD_YHBP
)))OHY[FHM_@ZF[Z
OHYHZHEHJHY
OHYNMD[ZNOLOQ
OHYSOLSP
OH@YXEZMO@K
OHyxhy@OH
OHY]YGNG
ohYYy[F]LJ]
OHYZD[HQY
')))oHZ]
OH[ZA]CXZ
OH[@ZADP
OHZA@FGKPY[@GJLZZDLEFM@JHHA
oHZA@FGnHDLZ
OHZA@FGNHDLZ
oHZAHJB))
O]HZBB@EE
o)))]HZBMLZB]FY
o|||h||Zh||;h||
OHZ]HJJLZZ
OHZ]LK[F
)))OHZ]LZFE
O)))HZMB
@OH_ZMKKCZ
OHZ]O@GML[
OHZ]OHZ]HGMNF
OHZrSQJC
oHZ]zH_LhYY))
o)))HZZLDKEP
o_IdM[[[
|o|i|d|s|e|
oIEIZMLGF
@OiFZH[JA
O.IgfGoy_
oiggw2HY
oigidgfG
OIgqggcnuD
o||ih||0h||	h||
O||iH||GH||!H||
o||ih||?h||
o||Ih||)h||
o||ih||Lh||7h||
OIi5OIi]OIi
OIIIIIIoI
':OIIJL;Ixyxvy?xIx
O@@II;O:U9;K9@JHI
OIKI'IdII
OIKI'IfI
OIKLHUNH
'OIL@AO;Lxyxpy
oIllllllllmllllOllylm;
oIllllllllmllllOllylm9
Oi)mggfw
OIMxyxryEm
'OINANJAIxyxpy
OiNaNUNMN1N)N
O]iNDH@E
OiNeNINEN1N
OINLHIOMyx"y3)@@@
OiNmNaNeNYN]NQNUNINMNAN
OiNmNQNANEN9N!N
OiNnNXNPNONDN
OINON1N)N
OiNYN]NQN9N-N
OINyxqy?
o||||||||||IO
O(I;O0t	
oipgppepq
oipgppepqM9
?O...iwyy
?O..iwyy
?O..iwyyEYyyoI
oI[[[Z[[[
OiZJJFGO@ND@J[FZFO]
OJ4gqgg!
OJ#||||#8	
OJADCH@B
OJ_AGLX]G
o)))JAHB[H]A[LHMLQYEF@]
'OJ@;AKAKxyxhyVx
o)))JALJB
OJANA_A_A_AA_
OJANPCNHG_ZO_
O@]JAOHD@EP
OJ[APFLMKOO
OJA_S]MOLG
oJbgfGLIr
OJBGPXX[]CJ
OJBLFPNSPDEX
OJBOXSCYMHD
OJ]BS@[YNCQLS
OJCBPJQ[
OJCCZSD]X
OJCDBPDNQGAP
OJ@CHNCY
ojcolyVQ
O@J@CPLN]
OJCSZNG_LLPLECBAM
OJCYJ_B@GP
OJDBABEMAZM]J[D
OJDB[MMQK
O_JDLF___
OJD]MQHPQ_X]DQ
o)))JDMvYHPEFHM
OJDSQDMFBNX
OJdY[[[y[[[
oJe1E e?c
oj:eC[[[
:)))OJEFZL
O__J]ELH
oj:eM[[[Z[[[
O@JEO_GGALLH
;[[[oj:ey[[[:[[[
OJFCXSB]@D
o)))JFDYFGLG]GHDL
OJFGGLJ]@FG
Oj?fggw-
OJFG]HJ]
@OJFG]LG]
')))@OJFGO@N
[OJFGO@N
O)))JFGZFEL
OJFJQL[M
O_JFM_YYHKKJ
OJFQNXCA
o)))JFYP
OJGC_JBOCMNE_K@K]MN
Ojg[fgfGA
 o_jgfGJR
OJgfGQHk
Ojg[!gfG
oJggfGUs
ojgIkgfGU
OJ_GK@JPP
OJGMDHXKPLLCNL
o?Jgqggn
oJgWcggwt
OJGY]O@XNGLPGKABSDM
OJGZEHA]O]
o)))JHEE
]OJH[EHDKF
OJHGCOLY
OJhggfw9_
OJhggfwJ
oJhggfw?q
o||jh||@h||
o)))@JHJEZ
OJHK[BPF
O@JHNQPKO@O
OJHOQ_DZHM_ED
o||jh||Sh||4h||
OJHZQ@@S]_NQ_L
ojijjyVQ
OJ[J]BODDAN[
@O_JJHGQC]FZ
OJJNAZGP]XX
_O[JJ[P[]JJJ
OJJX_BHYLDSY
OJ_KAPFN
OJKBCLDMCSBJY
)))OJK@FEFN
OJKHKHKHyx
OJK]LQBXCF]NPY
OJKNDOXZ
#)))OJKPSQPY
OJKQCAHCBNO
OJKSD]DKQ
OJKSL[[D
OJKXFOCK]XZ
OJKZNLSF
OJL[[APZJ
O)))J[LH]LFKCLJ]
o)))J[LH]L[LDF]L]A[LHMHMM[
o)))J[LH]LuQ
OJLHQBNGC
@OJLKIJ@@N
OJllllllllmllllOllylm]uH2
OJL[]@O@JH]LZ
O@JLZL[_
OJM@B]]JA
O[JMCNSXAKX[NYCY
OJ]_MDF_
O[]JMEAD
OJMEGQBH
O]J]M[G_X
[OJMO_ZCQYC
OJM[PZAOFAOQJ]M@QNBB
OJMQDZBZ
OJMYPGYGD]CB@J
O_JMZXXB
OJNAPCEQO
oJNgqgg9
OJNHYAD[GSLXBG]YX
OJNK@AHB@
OJNKKNGAGYQGYBDN
OJNLHAONNMNNH
[o[j[n[l[h[k[
O_JNMFML
OJNQDXZB
OJN[QNYYQQ]L
OJNS@DCSB@G[]M
OjNXNIN5N#N
OJODOBAGNQMOGH
ojollkyVQ
OJOPBSCAKBMJHE
OJOSOA_PJ
OJPAH[]]MH
_OJPDDH_XZDXB
OJP_D@JC
OJPDYA[K
oJpgppepq
Ojpgppepqs
OJPGPYXD_BQ]JBLLM
]OJPH[_N
OJP___]J
OJ@[POAAPHJKAKZ
O_JPPYLBZCHH[
OJ]PQQD_LJ
OJPXD_HY
OJPXJMS[Q]
OJ[PY]FG@NA]
OJ[PY]FG@NA]UQH[NZB@EE
OJQAXZKNH
OJQQOJCL
OJ_]]@_QQX]JYS
OJSGLOFAN
OJSLQJZM
OJSNCE[CX_
__OJ]SZEQM_M]ZMSQBNBJ
OJS_ZGFMZ
OJSZKK_[N_B
@OJULHHLU@
@O@JXC_GSZ
OJ_]XFOLYH]OQCYHH
[OJXGB@__Y
OJX_HQOMB
OJXKSABDL_SPGBPA
OJYBZPDB
OJYDHPGAE
OJ_YLOBO
O@J]YL]YESG
@OJZBZM@Y
OJZDCQZ]GNO
OJZF[XZGZZK
OJZMPQ[C]N_
OJ[ZOMJCKFG
OJZX_CDXHHGOBY
oK[[[2[[[7[[[
OK#||||#8	
Ok9ggfGS_
ok@@@@@@A
O))kag		O
OKAHHO[SBAX_YNONPS
OK(.@Axx]Y]]
OKBGCCHHSGAN
OKCAHB[]CJZP_Y
Ok]cgfGQ
OK[CG]SMQ
O]KCKMDGNZH
OKCZBP[DML
OKDABADSQAD
okddokme
[[[oK(dH[[[
OKDHMHYXA]MP
okdihnjo
oKdJ[[[b[[[
@OKD]JOGX
OKdN[[[9[[[8[[[cy
_OK[DNPNHEXQ
oKdR[[[z[[[
[[['oKdS[[[
OKDZ_ZYGN
OKE@BLYAY))
okELVijklickkkkkk
okELVijkoibkkkkkk
okELVjhkckjjikkkk
okELVjijkjckkkkkk
okELVjnkniljjjjjm
okELVkljjknkkkkkk
OKENL]JFFB@L
OKEZL]JFFB@L
	)))OKF]
OKfC[[[a
OKfdC[[[
OKfdz[[[x[[[
OK@FFA]YZL]S
OKfJ[[[ 
OKFNNB]NFF
OK_FY@QQ@
]OKGB]XYP
OkgfG6Jb
okgfG-P#:gqgg
OKGHLCXMZ
OKGMAPZO
OKGPAD[HJA
|okgqgg!
O:k#((gqgg
O!kgqgg53H
OKgqggzkWgUwV
OKGZ]Y_LN
OK]HAZGK
O||KH||d
OKHGBFOHDL[@JH
O)))K[@HGJJFEE@GZ
o||kh||:h||
OKHHKB_ZX
o||kh||Jh||.h||
OKHLNLOL_@HMGDDOLDH@
@@O@KHNL
OKHPLMB[SH
OK[HQSACLQ
o)))KHZL
O@K[HZZFEY@ZJ@GHZ
'OK:IKJA@xyxhyVx4x
O[KJBEBX
[o[k[j[i[
OKJNFELX
OKJOXKHZ
OKJP]_DA
O@KJPHELNASNCPNQ[
OK[JXC[P
OKKACHHD_
O[KKDYFQM
OKKIIIfI
okK]Rp]Z_Z
]O[KKSAGY@KD
OKLAMyxqx
OKLDA[QSKCLD
[OKLGFNNLYXG
OK]LG[LN
OK[LHML[
OKL@@[JO
OKLKMHX_G
O_KLKMLX
okllllllllmllllOllylm
oKllllllllmllllOllylmuO
OKLQ]_QSJ]FZ
OKLULJN@U
OKLZXSMLQ
OKMABD[QN
OKMK[XLA
OKMMZSS_
'OKM:NAOMxyxry
O]K@MNNKCM
[OK_MS_MAHB
[OKM[SNA
@OKNCY]HJH
OkNeNSNAN
OKNHZNLBAZKMMHNB
OKNKQDQAGQ
OKNNEXGYDSE
OKNXPMBJSJ
okolhm))
]_OKOSQMN
OKOYGYLL_O
OKPB_JCHCKYZO]OXA
OKPDS_SJCLOLF_X
okpgppepq
OK@QBLK@J[J
OKQ[HANLQPS
[_OKQK_]D]G
OKQNHMSA
@]OKQOSOZOH@
OKQYKXNDSY
OK]QZZOC
OKSBDBE]G
OK]SDBANX]]
OKSHDCBMODPG
OKSHSZZPB_B
OKS_XCD@Q
OKSXJ]M_]
OKu|vodo9ogo
okvdHE|[E))
:)))OKvJFDDLG]DLZZHNL
okvz]H[]))
okwllllllllmllllOllylm
OKXAOJX[QEQLH
OK_XC[]PDPZMAYG
OKXNJMJMJOJ
OKXSSEZXYQ][MM
OK[XXBCXGS
OKxxxFyx
O[KYBXMZK[SZY
OKYGXAGBKL[H
OKYJOKAX
OKYKZKEKJKY
OKYMBZHC
oKy@QLEzB@DD@GNvh
O]KZBCK[CPPEDEPKOCYHZAEO
OKZBDK[G
OKZBXJE[J
OKZFYGKJ
OKZNFJCDGF
o|||l||||
"||o#||L#||-#||
O*L2K(M)
!||o"||L"||5"||
OLADGXHZQH
((@OL]AH]@EF_LAL[
OLA_HQZCC]
]OLAL_XJ
olaUUwUU
O[L]@AZZFO
OLBAKMAOKMDOAKM
OLBAKMAOOAKM
OLBCCEBLA
OLBOMBMH
OL[BOZ@M[QBZG
olbUUwUU
OLCBY[XYLOMOPKCPSS@ALYCEY_EBG
OLCBY]ZZ[Q
_OLCCFA][Z[XCM
[o[l[c[h[
OLCKOK]ZXFD
[OLC]LEGYDX
OLC@MGEFBC
OLC[NFXS
OLCOP_SEN
O[@LCPGNL_K
olcUUwUU
oLC]Y]]6MY
OLDAAZOJX
oldaUUvUU
oldbUUvUU
oldcUUvUU
olddUUvUU
oldeUUvUU
oldfUUvUU
oldgUUvUU
OLDHELZ@
oldlUUvUU
oldmachineguid
oldmachineguid_scrubbed
oldmUUvUU
olduacvalue
oldUUwUU
o)))]LDYEH]LA]]Y
OLDZBDLMDY
Ole10Native
ole32.dll
oLe_[[[A[[[@[[[
OLE_ACGHH
OLEAUT32.dll
oleaUUvUU
olecUUvUU
(OleData)
oledUUvUU
oLe[[[[E[[[
oleeUUvUU
OLE File Generic
oLeF[[[M[[[
oLeF[[[o[[[
olefUUvUU
oLeF[[[x[[[
oLeG[[[b[[[
oLeG[[[d[[[
OLEGO_CDEXE_
olegUUvUU
oLeH[[[a[[[
OLEHANDLE
OLEHCDXN__
o)))[LEH]@FGZA@YZ
]OLEHGLZ
OLEHQSHXPSK[_D
oLeH[[[x[[[
oLeK[[[f[[[
OLellllllllmllllOllylm
olelUUvUU
O[[[?[leM[[[
!)))O@LEM
o@LEMaFJBLPmFFMo[LL
O@LEM@GOF
O@LEM@GOFt
O@LEMJFMLZ
O@LEMMLE@D
olemUUvUU
 )))O@LEMZ
O@LEMZL]
oLeO[[[d[[[
O)))LE@ODH@GvJFDDHGM
oLe[[[[Q[[[U[[[
oLeR[[[b[[[a[[[
OL_E__SN
oleUUwUU
oLeX[[[	[[[
oLeX[[[A[[[
o)))LEZLR]H[NL]
olfeUUvUU
OLF]EZBMG
OLF]LAD[Z
OLFPSSXXQDDG
olgaUUvUU
_OLGB[CGS
O_L@GBCKNL
olgbUUvUU
OLGC_CCSPEKFKH@NJOLBLKA
olgcUUvUU
olgdUUvUU
olgeUUvUU
olgfUUvUU
OL_GGFONBSJC
olggUUvUU
OL[GHGMF
)))OLGHY[F
)))O[LGJAMF@]KL]]L[
OLGKLX[AH
OL[GKSSNK]S
OL[GL]@DYF[]
OLGLK]BJJCQB]F]P
olglUUvUU
O[@LGMEPGHDL
O[@LGM@JH
olgmUUvUU
OL_GQYS_CYSJDHHO
OLGSECN[
olgUUwUU
O)))L@GZL[]
OLGZQMGPXB
o||lh||8h||4h||
O[LHB@GN
o[LHBSK[F]AL[Z
o[LHBSK[F]AL[ZvhDS
OLHE@Z]GQ
O_[LHHLGADL
_OLHJY_ONE
O)))[LHM]LQ]
@O]LHNQN]MJLZ
o||lh||Uh||?h||"h||
O__LHXCKX
OLH[XYKJG
O]LHY_[DM
OLHZXXG@]Q[BN
)))OL]JA
.)))OL]JA
OL]JADLDPNEF_LZ]A@ZDFDLG]
o)))LJAFLQYEF[L[
OL]JAHEE
OL]JAJFGO@NO[FDHMZL[_L[
OLJB]BKP
OLJ_BNPO
OLJE@LG]@G@]@HE@SLu
O[L[JHOQHXJNX
O||lj||ij||
OLJ[SMBNEJ
O@[LKHZL
O@[LKHZLZ]F[HNL
OLKKHO[ESO
OLKLJFN[
OLKL_XYNO[JD_
	)))O[LL
O[LLANEFKHE
ollbUUvUU
)))O[LLCFBLHEH[D
OLLDBDOX
O[LLDFK@EL
)))O[LLDH[BL[
)))O[LLEFNFH@
O[LLEHGJL[HG@B
O[LLE@Z]
O[LLFOJAH[NL
O[LLFOOL[Z
OL_LGZAFYY@GNJFDYHG@FG
O@[L]LJA
O[LLKEFBZ
o[LLKEFBZhJ]@_@]P
O[LLKEFN
 )))O[LLKZM
O[LLKZMF
?ollllllllmlllHMO8) V8
ollllllllmlllLMO8) V8
	ollllllllmllllOllylm
!*.ollllllllmllllOllylm(.
!ollllllllmllllOllylm
*ollllllllmllllOllylm
@ollllllllmllllOllylm
@ollllllllmllllOllylm(
o"llllllllmllllOllylm
o-]llllllllmllllOllylm
o.llllllllmllllOllylm
o@llllllllmllllOllylm
ollllllllmllllOllylm
ollllllllmllllOllylm	
ollllllllmllllOllylm*#
ollllllllmllllOllylm@
*OllllllllmllllOllylm
;OllllllllmllllOllylm
?O?llllllllmllllOllylm
@OllllllllmllllOllylm
O!llllllllmllllOllylm
O'llllllllmllllOllylm
O-llllllllmllllOllylm
O?llllllllmllllOllylm
O_llllllllmllllOllylm
OllllllllmllllOllylm
OllllllllmllllOllylm?
OllllllllmllllOllylm[
o.llllllllmllllOllylm5
ollllllllmllllOllylm5
OllllllllmllllOllylm5
OllllllllmllllOllylm'6["
ollllllllmllllOllylm7
OllllllllmllllOllylm9
ollllllllmllllOllylm9hpSDr
ollllllllmllllOllylm9M5
ollllllllmllllOllylmb
ollllllllmllllOllylmb6
ollllllllmllllOllylmc
ollllllllmllllOllylmC:
ollllllllmllllOllylmca
ollllllllmllllOllylmD
o@llllllllmllllOllylmf
ollllllllmllllOllylmf
OllllllllmllllOllylmG
OllllllllmllllOllylmH
ollllllllmllllOllylmI
OllllllllmllllOllylmJ
OllllllllmllllOllylmJ)
ollllllllmllllOllylmK
OllllllllmllllOllylmKb
OllllllllmllllOllylml
OllllllllmllllOllylmL
o*llllllllmllllOllylmlLF
ollllllllmllllOllylmm
ollllllllmllllOllylmMV7c
.ollllllllmllllOllylmO
ollllllllmllllOllylmo1
OllllllllmllllOllylmP
OllllllllmllllOllylmQ0
ollllllllmllllOllylmr
OllllllllmllllOllylmri
OllllllllmllllOllylms?
o!*llllllllmllllOllylmT
OllllllllmllllOllylmt
ollllllllmllllOllylmu?
OllllllllmllllOllylmw
OllllllllmllllOllylmW
ollllllllmllllOllylmx'(
ollllllllmllllOllylmY
ollllllllmllllOllylm	ZI
OllllllllmlllrMO-
OllllllllmllltMO8) V8
o]llllllllmlll]Y]]
ollllllllmlll]Y]]
Ollllllllmlll]Y]]
Ollllllllmlll]Y]]TWX
olllUUvUU
O[LLMFDKFQ
oLL]m[FY
OLLMKHJB
OLLMKHJBvJFG]LG]
OLLMKHJBYF[]HE
oLLML[hJ]@_@]P
OLLMLQOF[B
O[LLMMGZ
O[LLMPGHD@JMGZ
ollmUUvUU
OLLOABS[
O[LLO@EL
O[LLO@ELMLY]AZGLN[F@ZDOHNFD[HHML[
OLLPKSAC
 )))O@[LLPL
O[LL]PYLvDY[F]LJ]
O[LLTUZF[]
O[LLu@GL]J
ollUUwUU
OLLXBJNO
O[LLZYHJL
O[LLZYLLJA
OLMF[HAFZ]LM
OLMJKHOLMJKHOLMJKHOLMJKHOLMJKHOLMJKHOK
OLMKNMOLOLNAyxNyOLNAN
OLMKNMOLOLyxky
OL@MLHEL[Z
OLMLQ@G_F@JL
OLMLQNEFKHEAFDLUOLMLQ
OLM@M@OMM@MHNJMNM
OLMMZXZDPY
OLMQQMYFHXC
[]OL]MSJ]AKJHYH
olmUUwUU
O[L@NA]E@GL[EFN@Z]@JZ
O@_LNAFZ]@GN
OLNAGCA]
O][LNANN
OLN_CMQ[YK
OL[NDSB[LDZD_PSH
O[LN@FGuQ
)))O@_LN]H
O)))[LNHMM
':OLNIHKKxyxpy
O]LNMQAL[MK@CN@_CDM
OLNPQSGD
[OLNPX]MHB
OlNSNEN.N
O)))[LNZ_[
o||Lo||6o||
OL[ODK]HSDDMGP]PNXG
O@[LOFQA@Z]F[P
O@[LOFQECH_H
o@[LOFQeFN@G
O@[LOFQF[D@J[FZFO]LMNL
O@[LOFQUOQ@FZ
)))O@[LOFQuY[FO@ELZu
o@[LOFQy[FJyH]A))
OLOLLOGLKHAS
o|lOllylm
OLOLNNZZN
OLOMFJQMOO
#)))OLOOOOLK
OLP_[DOPCZBP]YB
olpgppepq
O_LP_GZAN
o[LPHEYfGeFHM
o[LPHEYhEL[]
OLPKAN[N
OLPKZNLZQ
o@[LPLjALJB))
o@@@@Lp@M
OLPPLSMB
OLP]@SD@[
OLP]_ZOLQG[
OLQE]B[PG
OLQGN_Q[G
_OLQ]HPS_
O)))LQJLE
o)))LQLJ
OLQX_OZC]CX
o)))LQYF[]@G@]YEFHM
OL_QY_Q_SA
 )))@OLQ@Z]
)))@OLQ@Z]
)))@OLQ@Z]J
#)))@OLQ@Z]Z
o)))LQ@Z]ZY
OLSAZBZHD
O]LSBE@QEYC[A
OL[SJ]KCO
OL_SKKP_S@AMOEDCC]LQ
OLSMSYPJM
OLSOE@ZZ
OL[SPHJA
OlSSSSSSSSSSSSs
olSSSSSSSSSSSSSSSSSSSSSSSS
	OlSSSSSSSSSSSSSSSSSSSSSSSS
	OlSSSSSSSSSSSSSSSSSSSSSSSSRE
OL]SXN_[G
O||LV||:V||
OLXEAOXDZ@
OLXEDD_GYD
OLXF]]NJL
OLXQHBAYL]N]
[O]LX_YL
OLXYQEX[S
OLYCQS_OBD@N
o)))[LYEHJL
]OLYJ]_X[DC
OLYN]XNZZEQYG
OLYOLPD[K
OLYS_PD[
OL_YSSKO
OLZACJM[_B
o[LZAjELHG
O[LZA[ZZ
OL_ZBXCG
OL[ZD]JLA]KN_]
_#olZgGegfG
O_L[ZHJLAFDLZ
OLZJ_HL[
O@LZJLCP[GD_L]P_BXL_]SDD]XPH]ZG
OLZL[_L[
OLZPZ]LD
OL]Z]XDJPNCL
OL__ZXQFKPGAS
@O[LZYFGZL
OLZZZCMX
OLZ]]ZZSNG
oM1g'zgfG
O@@@@@m@@A@ACac
omaaUUvUU
omabUUvUU
omacUUvUU
omadUUvUU
omaeUUvUU
omafUUvUU
OMAGP[YX_]
omagUUvUU
OMAHECHXZJJ
O[MA]LC[X
omalUUvUU
omamUUvUU
[OMANDMCJ
OMAOOM[B
OMAPY[QC
]]OMAZDSJ]E]
O||m@||b@||
ombaUUvUU
OMBCDN[D
ombcUUvUU
OM]]BDOA]
ombdUUvUU
ombeUUvUU
ombfUUvUU
ombgUUvUU
OMB_JADSY_F_PBX
OM]]BKL_LZ]F
omblUUvUU
ombmUUvUU
OMB_NSOJ
ombUUwUU
omcaUUvUU
OMCBSSBZY
omcbUUvUU
omccUUvUU
omcdUUvUU
omceUUvUU
omcfUUvUU
_OMC_GSO
omcgUUvUU
omclUUvUU
;)))OMCMOCBL[CBCBL[
omcmUUvUU
OMCNX_HDLB
OMDAJDH]LCH
omdaUUvUU
omdbUUvUU
OMDCQC]F
omdcUUvUU
omddUUvUU
omdeUUvUU
omdfUUvUU
_O[MDGLMJOM_
omdgUUvUU
OMDLSKB_
omdlUUvUU
OMDMN@G]L
OMDMOQXK
omdmUUvUU
OM_DOMJO]EAPBNMK
OMdO[[[s[[[q[[[LuPdK[[[
OMD]P_PKK]GK
OMD]QJ[SNNG]JLSC]CA[NPYE
OMdT[[[@[[[
omdUUwUU
OMdV[[[Z[[[
OMdY[[[F[[[y[[[
OMdY[[[i[[[c[[[
oMdZ[[[o
omeaUUvUU
O_ME]BHS
omebUUvUU
OME@CBJNM
omecUUvUU
omedUUvUU
omeeUUvUU
omefUUvUU
omegUUvUU
omeK[[[u[[[
omelUUvUU
omeM[[[U[[[m[[[
omemUUvUU
omeUUwUU
omey[[[y[[[x[[[
omfaUUvUU
omfbUUvUU
omfdUUvUU
omffUUvUU
O@MFGLLEZLZELLY
omfgUUvUU
OM]FMFX_
omfmUUvUU
OMF	mx l
OMFNGOZGS
OMFNPZJZQ
OMF_OA[H[XHJQ[FF
OMFS@KLSK
omfUUwUU
OM_FXJ[X
OMFZZLGH
omgaUUvUU
O[MGCAGO
omgcUUvUU
omgdUUvUU
OMGEOZQHCQBHSP
omgeUUvUU
omgfUUvUU
oM-ggAffw
o)mggfw'
o;)mggfw
.O)mggfw
O)mggfwi
o'mggfwrA
omggUUvUU
OM[GJPGZ
OMGLELGCLG
OMG_L[ZJQMBPSJ
omgmUUvUU
OMGPJFGPMAA
OMGQXYCMHJNDDGM[
OMGSNN_GDZ__FJL
O(mgUagfG
omgUUwUU
_OMGYDNH
OMGYXSLX_HJDX
)))O[@MH
_O@MHCPLDP_ZBQ
OMHGAY]ELCDP
OM]HGQ]@
OMH]HKHZL
O)))MH]H]PYL
OMHKJYOPDBH
OMHKZAYJN]]GY[FAF]YA
[OMHMMPE
OMHOKHKJK
OMH@_P[KO
OMHQMHGGQY
o||mh||Vh||9h||
]OMHXH[M_A
OM_HXO]FDP
OMHZNHZN
OMJNXC_]X
O@MJOPM]GZNOXJ
OMJSBJYC
OMJXBO[O]MM
O]MKBNJHDDHNOOCNM
[o[m[k[j[j[n[m[
OMK][ZJJ
omlaUUvUU
omlbUUvUU
OMLC]G_O
omlcUUvUU
omldUUvUU
omleUUvUU
omlfUUvUU
@OMLG]D]ZHXQSCGLNHHZP
OMLG[M_XBZ
OMLGNAQP
_OMLGP]ZJFGGLJ]@FGZ
omlgUUvUU
O][@MLG]]ZLHOFFM
o)))MLJvJDM
@OML_]KS
O.m_llllllllmllllOllylm
omllUUvUU
omlmUUvUU
O@MLMZLS[
@OMLO@GLMiEFiNF]F
o)))MLOLGJLELZZ
OMLPCPCEO
OmL-pgppepq
OMLQZ[XY
O]MLSKQQC@
OML]S[OSB
omlUUwUU
ommaUUvUU
OMM]AYQ_
ommbUUvUU
OMMCPBAOSZ
ommcUUvUU
O[MMDGPN
ommdUUvUU
O@MMEL[[FF]
ommeUUvUU
ommfUUvUU
OMMgOOMMM
ommgUUvUU
ommlUUvUU
OMMMB@ZQY]X@LXDX
_OMMMMMMMMMMMOMMMMMMMMM
OMMMMOMlIMM
OMMMMOMMMOMMMMM
ommmUUvUU
OM@MOKKI
oMMOMMMMM*YMMCQ
oMMOMMMOMOMMM
OMMOMOMMMMMMMMM
OMMOOMOMOMMOOMOMOMMOOMO
]OM_MP]BMX
ommUUwUU
OMMXCGGPSZ
OmNANDN1N*N#N
O]MN]BOZ
OMNC[MZ@K
OmNeN]NIN1N)N!N
[OMN[][G
_OMNGS]L
O]MNGZN[HZJ
)))O[@MNLZL[_@JL
OMNMAPKSZO
OMN)NZA3A	A
OM]NQEZ@L
oM[[[N[[[y[[[
OmNYNAN9N1N)N!N
OMNZMONM
]_OMO_AXZDZ[HQ
O_MOBGLGNDJ
OMODA_DY
OMOJYBSCH
OMOK]ZX]YH
_OMOLOOONOAO@OCOBNKNJNMMJOFO[OC
OMOSOD]NO
OMO]XKAS[CZYQ
[O[MOYCQ[MDN
OMPCD]_MY]ZOQ
Om|pgppepqR
]OMP]LAZCCZ[
OM_PPYYZYF_
OMPYBHB_S
oMqgqggPV
O_M]Q[JJSAG
OMQN@QPZ
OMQO[JZOZMZ
]OMQPD]MO
OMQQSSC@ZJK
OMQ__SEDQAQE
OMQYOM[NGAH
]O]MSJAYJGK
OmSSSS("
OMugqggPE
o)))MwSO
OMXDGHOCLNH
OMXDQFDGGF_FZHECM@G
OMXJAHBPH
OMXMXDEA
OMx?wE*I
]OMXXJGHY
OMxx]Y]]
]OMX]YEC_YKSG
oM@@@@]Y]]
OMYDQFLMXDJL
OMYGEQ]NQ
OMYQMXJDYC[
OMZHDXJ][CM
OMZJACK]
OMZKKS]CGFL_
O[MZQOEA_
o)))M@ZYEHPGHDL
O[]@MZYLGZ@FGL[@GNL[GL
[OMZY]SL]OYZZC
[[[o[[[n[[[
o)))N[[[
[[[O[[[N[[[
|O|N|||||
|O|N|||||(|
|O|N|||||||||||
ON||||||
ON||||||||?
|O|N|||||||||||0m
on5pgppepq(
on)6gUfgfG
)))@O[@NA]
o?@@@@@n@@A@ADac
O@@@@@n@@A@ADac
ONA_B[[SLG_F
ONA@CBEDG
ONADHG[L
ONAHAPLNQGOJ_E[BY
O_NANhATAAA A
[]ONANQ_]P
O|NaNRNGN
ONA]YBQZ_JHF]QZLGZ
ONAYCBDOHSSP
O_NBCEX_P
on@@@@B@@@Hp@O
ONBJLNCCBHNNCA]KN
ONBJMCZGLSMCEK
ONBLJAE]XL
O[NBY]ZLLQQSXMC
O]NCBHJPN
ON clause references tables to its right
ONCOBCBAF
O][N_COEB
ON]CO__GELE
ON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint
ONC@YYLJ
oNdA[[[@[[[
on@@@@@"@@D@ACac
ONDCSA_NZ
on_delete
ONDEMAND MAINTENANCE
OnDetection
ONDEXAES[
ON_DGMJ[NG
OND[GPZKPHQZM
[[[o#NdH[[[
ONDJBQ]G_
ONDLSNNBN
ONDPFNHKOJ[
]]ON]DPOA
ON@_D[S[L
|ONdU[[[
ONDZJZC_[DLF
ON_]__E@_B
ONECNAYSB_N
onejldjklo
O|NeNjAbAAA
O|NeNJN3N
One of these should be set to non zero: detection_recording_cache_timespan or detection_recording_cache_number_of_records
One or more of required args has invalid value
One or more of required args is null
ONFCBO@BS[PG
ONFFNELMFJZ
ONFHZZGOPB
ONFLAS[XQMGQYMKZ
ONFLY]BPKJ
ONFLYEJY_Z_DB
ONFPOJEX
_ONFZ[]XKCGSZZONCXHL
oN-g3gggw
ONg'dgfG
o[ngfGA)0
oNg'fgfG
ongfGPGA8]Y]]
ONGFNKZ]C@
ongGBgfG
on]_ggfwi
OnGkG|GOMNG
OngKkgfG
O[N[GMZDJ
ONGNGAPHQ
ONGNSC]Z
oNgqgg.(
oNgqgg4a
!ONgqggE
[ONGSH[H
o)))N[HGLEZLLMZ
O]]NHHY[BSXZQSGXABLQ
)ONHJyxhy;
ON[H][O_
ONHpgppepq
ONH]QCMNMGJX[D
O]N]_]HS
O]NHYGOXN
*oN[[[i[[[
O|NiNJN0N
ON[_JDJXMS
?*oNjgfGB2-
ONJHEQEELJ
ON[KDJ[L]
onkELVikkhjckkkkkk
ONKKGOEHB[
||||_ONKKL||8
ONKN[AHZ
[ON@KNOKGO[
ON[KPZHXHPA]F
@O@NL]]ALYHPDLG]
ONLGJDBM_
o)))N[LJH]Y]JAHvEFHMLM
O[NLLGKEJ[
o].nllllllllmllllOllylm
ON]LOGQ_M[LMPKSC[GEPBAOLAZ
ONLXCC]Y
ONLXHFBJNHP
ON_LYPXPEL
ONLYSCYEBX
ONMACNBAOCNMAOZANMACBNOANMAOZANMCOBCNBCBAOCNMA@GN
[ONM_APEHE[
O]NMC_YB_S
ONMCZYXY]G
[[O_NMEJSZ
onmggGT4
O]N_MJCN
ONMLLQC]N
ONMONMONMONMNMN
ONMPSQA@FE
]ONMSOM@S
ONN[JLSP
O|N[NJNBN7NkAnAHA
ONNJZKHM
O|N_NKNAN
ONNLGG@AY
O@NNLi]FY]@JH
ONNQMGEEBMF
ONNSA_MGS
ONNYPSJ[]
OnO[[[7[[[
ONO_AFCQNF
@ONOAQ_GN
ONOCAONON
onoffalseyestruextrafull
O_NOGELDZLX
ONOHMSK[
ONO[LHOJ
]ONOLKGZ
ONOMLKZXKQ[J@Y
ONOOMJDN
oN[[[|[[[p[[[2
ONPBCXKH
-"On|pgppepq
Onpgppepq
ONpgppepq
_ON_PKL_YC_[
on@@@@@@@@_p@O
ONPXGQQMPKONEPAH
ONPX_GY_XGLEKH
ON[QAASGYS
ONQBZZY_
ON]QJYAC_FL@N
ONQKH[HFQ_SOF]JSL_[Y@XKJB
ONQ[]M[_
ON_QOZHZC
ONR?1#-	
oNRdB[[[
O|NrNNN.N
_ONSCH[OGHXPM]Z
@ON@S_D]G
]ONSJCPXJ
ONSJMCNDSHDNHY_JPPL[XZ]
ONS[_PM]
ONSQNZFSBSZ
ONSQY[OQ]]]GDQS
ONSSDMAQOAPKG_BCO
OnSSSSSSSSSSSSSSSSw
on_update
[[[o[[[n[[[v
ON]vEHGN
O|NvNoNZNKN?N#N
ONXAYZOMLB[XGBP[DF
ONX_H_BCN
_ONXJG_HG
ONXJHKKOMGP
:oNXJN(Q2d4
ONXKB]F]QKN@
ONXKGSXP
ONXMYADMPNSMA
ONX]XNCQ
ONX]Y_]XEP@YQB@KMMQG
ONXZS]QCFB
ONYAPAXSJ@_
ONYBSQB@OLKH
ON[]YGBF_
oNygqggK
[ONZ_LMN
o[NzL[vyL[D))
ONZMOM[][
ONZNGMLOL
ONZNMGHXC
ON]Z_O@KYOGP
O[N_Z@SXBBSPN
||||||||||||||||||||OO
||||||||||||||OO
||||||||||OO
|||||||OO
OO@5K	O(
[@OOAFEM
OOAJPBN[JN]@@HXN
OOAJQ_LJJ
OOAMSHDQL
OOAOEZBBL
OOAS@DYMB
[OOAXX]C@SZ
O!_OB8mgfG2
OOBLOSJQ
OOBNBXJMD
o|oboaogodomo
_@OO_BOG
OOBOZLPNZ
O[OBQS]PA[M
O]OCA]JK
OOCCE][_MXG
OOCDF[LPOG]H@__QSKQOOMZGJ
_OOC[ENJE
OOC]FOFFYJ
oo?CgwMgfG
@OO[CLBNCABHZM
OOCNPJZED
OOCXQBCN@G
_OOCYS_E
OODBLANL@_ESGZ
ooDdy[[[_[[[J[[[
OODFEBSHY
oODggG8f
O[ODGHMO
OOD@]GZKX
[OODHQZY
 OodI[[[
OODJYYM]XDXD
OODKA]GDSSXMNQ
OODKAOGYHSCBO_P@
OODKE]LC
OODLSOAM[_
o.OdN[[[
OO[DPMZ__DN
OOD]QLPAXSEHQ
OOEDGA[YKOQB]J
oOegAmgfG
@OO@ELLQ@Z]Z
OOEMKMX]GQ
OOEPLD@H
OOFAFOX]X
O]OF_BSH
OOFD[AXQ
o)))O[FDKHZL
OOF]J]HGNSMMBF
O@OFKLJC
O@OF[MHGHDL@G
[OO_FSGNZMHGJ
o_ogfGf[y
OogfG?ZB
OOGGCQGN
:OOggfG7
OOGHBX][
OOgmfgfG-
O_OGMX_KOD@
o|||o||go||
	OOgqgg!
Oo|gqgg0xs
OogqggyF
OOgqggz	
OOGZPCDF[
OOHCH[@SHO
OOHCHXEEA[PDPA
OOHEQJMOJQKKKH
OOhgfG.W
OOHG]LGH
O)))@OH]]HJBvDL]AFM
OOHHMLHM
OOHJ_BLSSQGYKD
o)))OHJL
OOHKSSYL
OO_HMMCS
o)))@OH[NZ
O][OHO_CYM@
O_]OH[OX
o||oh||Ph||8h||)h||#h||
OOHPP[AY
OOHXJLMHLMZLECKF
OOJHB@JHN@JHN@JH_@J
OOJJY_D[_[M_Z_Z
OOJNBLPJOX
@OO]JPK_BB
OOJPPNMYCYXOP
OOJPSOHFL_
O]O[JQLZHXQDAXMZSZ[Z
OOJXCLXD
OOJYFQOOBQA
o[ )'Ok"
OOKAAYCX
O_OKCJZKJMHLZMM
OOKE_DGZNDJYDZZYZCK
OOKMKOOM
OOKOJIIJ
OO[KPLEBXZN
OOL]CEY]HYC_D
OOLCPCL@OK
OOLECGJHJ_JDH
)))O@O@LJAF
[]OOLJCKX[O
OOLKLLL[
O@O]LLGDFGZ]L[Z
oollllllllmllllOllylm
oOllllllllmllllOllylm
;OOllllllllmllllOllylm
oollllllllmlllx
oollllllllmlll]Y]]
[OOLO@Y[[KGS
OOLPPBDJ
OOLQ]LGZ@FG
OOLYJKDJJF
OO]MCN_E]JBZQ
OOMD[_YN[E
_]]OOMHZHQ
oomioyVQ
OOMMMNGLJLJ
oOMMMOMMMOMMMOMMMMMOMEGOM
OOMOAAEH]
OOMSFDQH
OONAKNPH
OoNcNgN[N_NSNWNKNONCNGN;N:A[@
OONDGLKNO
OON@MHFFDJFMQL
OONNH[XQPGMZ
OON@OKDG@Z
OONSENXN
]OONYJONDO
OO_[NZSJCONXC
OOOaaaba]Y]]
OOOaa]Y]]
O]OOB[A]OBPQL
OOOggwIq
OOOMQHX@PX]CLMLGOJ
OOOO[kad"
OOOOMKKL
o	o	o	o	o	
o	o	o	o	o	o	
!)(OOOOOO
OOOOOO[Aaa]Y]]
OOOOOOg|||
@OOOOOOO
OO		O	OOOO
@OOOOOOOO
OOOOOOOO
OOOOOOOOO
@OOOOOOOOOO
OOOOOOOOOO
OOOOOOOOOO[Aaa]Y]]
@OOOOOOOOOOO
OOOOOOOOOOO
OOOOOOOOOOO[aaa]Y]]
OOOOOOOOOOOO
@OOOOOOOOOOOOO
OOOOOOOOOOOOO
@OOOOOOOOOOOOOA
@OOOOOOOOOOOOOO
OOOOOOOOOOOOOO
OOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOv
OOOrxtx'	
OOOxx]Y]]_
o@@@@@@@@Op@@@@@@@@@@@@@@
OOPA[JQGNE
o)))O@]P@GSHL[O
]OO__PQ[S
O@O]PZL_LG
]OO_QDDXY
OOQDYJO[X
OOQOXFQC]KCXX
@OOSGMG_
OOSHCHQ_
OOSJCHJE
O_OSPDP[]AZKLX
OOSP]ECZ
O]OSSDFN@S
_OOS]SSMB@
ooSSSSSSSS
ooSSSSSSSSSSSS
]OO[SYADJ
]OOSZML_HO
O(oTbgfG
]OO[XA[[S
]O[OXCPGAKB
OOX__[_MD
OOXMPQPN
oo]Y]]aWX
OOYFBJKQ
O_OYGYDGXBO
O@OY_HLYCOJJ_
O[OYLMLEEDJXY
OOYS[SDLEB
OOYYD]KJHANNSDYG]
OOZ_BSLAO
OOZBSSEPCDG
[OOZCADYQ
OOZCGPME@[[@Y]B
OO_ZJAMZEDOKCE[
OOZJXZ[CD
O]OZKXQDS_[
)))OOZL]
OOZLK@XL]GMNY
oozL]y[F]F]PYLFO))
o)))OZMOMZOZ
]OOZ]MYJPO
OOZNDPNQQ
O[OZSPBN
OOzxDyMxHx
OOZZPPZ__
:|||;||o;||P;||;;|| ;||
@@@@@@@@Op@@@@@@@@@@@@@@
oP2@@A@h Je
:||o;||P;||9;||";||
opAAA@AA
opAAAAAkqAAAAAAAAAAUAAAZqUM
O@@@@@p@@A@AAac
@ OPacaD
O Paeal5
OpAgA(A.A
O@P]AHYMM[
OP[AMBPXCP
OPA]@NAHAXL
OP_ArgsArray
OP_ArgsCall
OP_ArgsDictLd
OP_ArgsDictLdWith
OP_ArgsDictSet
OP_ArgsDictSetWith
OP_ArgsDictSt
OP_ArgsDictStWith
OP_ArgsLd
OP_ArgsMemCall
OP_ArgsMemCallWith
OP_ArgsMemLd
OP_ArgsMemLdWith
OP_ArgsMemRaiseEvent
OP_ArgsMemRaiseEventWith
OP_ArgsMemSet
OP_ArgsMemSetWith
OP_ArgsMemSt
OP_ArgsMemStWith
OP_ArgsSet
OP_ArgsSt
OP_Assert
o||Pb||Fb||S]|| b||
opbgfGiA
O[PB]H[NA
@@@@@@@@Op@@@@@@@@@@B@@@Hp@J
@@@@@@@@Op@@@@@@@@@@B@@@Hp@L
@@@@@@@@Op@@@@@@@@@@B@@@Hp@TR
OPBOA]]Y
OP_BosImplicit
@@@@@@@@Op@@@@@@@@@@@B@@(p@@@@@@
OPBYPCPA[[DN
OPB@ZPJ[
OPBZSYZPP
OPCABGK_
OP_CaseDone
OP_CaseElse
OP_CaseEq
OP_CaseGe
OP_CaseGt
OP_CaseLe
OP_CaseLt
OP_CaseNe
OP_CaseTo
O[PCH_DSY
OP_Circle
OPCLOG_SZ
OP_Close
OP_CloseAll
OPCMYOCX
OP_Coerce
OP_CoerceVar
OP_Concat
OP_ConstFuncExpr
OP_Context
]OP]CPJ_ZMONAK
OP_CPKXDC[O
OP]CYNJXD
OP_CZJBK
OPD_AJADPHKN
OP_Debug
OP_Deftype
O]]PDEJS
OpdgfG;[D
OP]DGM_MLM
OPD[GYOGDO
OP_DictLd
OP_DictLdWith
OP_DictSet
OP_DictSetWith
OP_DictSt
OP_DictStWith
OP_DimImplicit
OP_DNNFP
OP_DoEvents
OP_DoUntil
OP_DoWhile
OPdO[[[X[[[M[[[
O_P[D_PZO
OPD@QO_S
OPdS[[[E[[[
OPDSLAGZSJAB]KMOS
OpeI[[[w[[[h[[[
OP_ElseBlock
OP_ElseIfBlock
OP_ElseIfTypeBlock
OPELZ]NKKN[PA
OP_Empty0
OP_Empty1
OpenAction
OpenCL API error
OpenClipboard
OP_EndContext
OP_EndEnum
OP_EndForVariable
OP_EndFunc
OP_EndIf
OP_EndIfBlock
OP_EndImmediate
OP_EndProp
OP_EndSelect
OP_EndSub
OP_EndType
OP_EndWith
OpenEncryptedFileRawW
OpenEventW
OpenFile
OpenFileMappingW
OpenHashError
OpenInputDesktop
OpenMutexW
OpenProcess
OpenProcessBehavior
OpenProcessToken
openscanscount
OpenSCManagerW
OpenServiceW
OpenThread
OpenThreadDesktop
OpenThreadToken
OpenTraceW
OpeP[[[;[[[
Operand name too long
OP_Erase
operation canceled
operation in progress
operationmethodname
operation not permitted
Operation not permitted
operation not supported
operation would block
operator
operator "" 
operator co_await
OP_Error
OP_EventDecl
OpeW[[[9[[[
OpeX[[[c[[[e[[[
OP_ExitDo
OP_ExitFor
OP_ExitFunc
OP_ExitProp
OP_ExitSub
OPEZSQGQFQ
OPFA_LCB[FY
O[PF[B_LZ
O_PFMZH]
OP_FnAbs
OP_FnCurDir
OP_FnDir
OP_FnError
OP_FnFix
OP_FnFormat
OP_FnFreeFile
OP_FnInStr
OP_FnInStr3
OP_FnInStr4
OP_FnInStrB
OP_FnInStrB3
OP_FnInStrB4
OP_FnInt
OP_FnLBound
OP_FnLen
OP_FnLenB
OP_FnMid
OP_FnMidB
OP_FnSgn
OP_FnStrComp
OP_FnStrComp3
OP_FnStringStr
OP_FnStringVar
OP_FnUBound
OP_ForEach
OP_ForEachAs
OP_ForStep
OP_FuncDefn
OP_FuncDefnSave
O@@@@@@@@_p@G
OPGDLBPBHNLC]ZY
OPGDYZCAZ
oPGEFGZB@
oPGEFZB@))
OP_GetRec
OPG_GHQ]MGF
OPGH_[O]H[
OPGL[G_BLHLAD]AOS
OPGML[CCB_O]
O@PGOMEZCLFD
OP_Gosub
OPGPF_PO
(opgppepq
:opgppepq
?opgppepq
o:'pgppepq
opgppepq
opgppepq	
opgppepq!
opgppepq_
)Opgppepq
- Opgppepq
:Opgppepq
@Opgppepq
O pgppepq
O(pgppepq
O*pgppepq
O:pgppepq
O@pgppepq
Opgppepq
Opgppepq(
Opgppepq*
Opgppepq-
Opgppepq:
Opgppepq]
opgppepq0
opgppepq6
Opgppepq6
opgppepq6 v
opgppepq8G	
OpgppepqAW:
opgppepqbmm
 OpgppepqC
OpgppepqD
OpgppepqG
opgppepq#h
@Opgppepqh
Opgppepqi
.opgppepqK
OpgppepqK
opgppepql
opgppepqML
opgppepqnn
OpgppepqQ
OpgppepqQS
OpgppepqR
opgppepqs
Opgppepqs
opgppepqT
opgppepqV
opgppepq[w
opgppepqy)-
Opgppept
opgppeptZE
OPgQdgfGFt2
o*pgqgg?
OPGQXA_KDF
OPHAY_PL
OPHDPK[M
o||Ph|| h||
O||pH||l
OPHLP]HC_
OP[H_N[BEZ
OPHNKZG@_Q
Ophpgppepq
OPHPLMYAASSLNN_YA
o||ph||Uh||6h||
OPHXZBCMJMD]YM
o@@@@@@@@_p@I
OP_IfBlock
OP_IfTypeBlock
OP_Implements
OP_IndexLd
OP_IndexSet
OP_IndexSt
OP_Input
OP_InputDone
OP_InputItem
OPJ8OPJ8OPJPJPJ
OPJAYXDN
O]P]JDD]O[NPLS_
OPJOS]_]POY
OPJPJOJPJZOPJPJPJPJPJ
OPJPJPJPJPJPJ
OP_JPM]E_SB[
@@@@@@@@Op@@@@@@@@@@@@@@JQ@M
OPJSZHXAMQJXYZN_[AG
OPKHLDNO
OPKN_DMJAHM_YS[APBJEL[S
OPL99uSH
OP_Label
OP_LbConst
OP_LbElse
OP_LbElseif
OP_LbEndif
OP_LbMark
OPLBY_NO
OP_LdAddressOf
OP_LdLHS
OPLHGAMB[
_[OP_LHP@
OP_LineCont
OP_LineInput
OP_LineNum
OP_LitCy
OP_LitDate
OP_LitDefault
OP_LitDI2
OP_LitDI4
OP_LitDI8
OP_LitHI2
OP_LitHI4
OP_LitHI8
OP_LitNothing
OP_LitOI2
OP_LitOI4
OP_LitOI8
OP_LitR4
OP_LitR8
OP_LitSmallI2
OP_LitStr
OP_LitVarSpecial
OP]LJJKQJX[LCZSYDB
OPL[KMDDZX
OP@LLHZDBZN
opllllllllmllllOllylm
oPllllllllmllllOllylm
oPllllllllmllllOllylmbP
OP]llllllllmllllOllylmU
O)))@PL_MQGPE
OPL@NYMGJXG
OPLOGQYQ[J]C
OP_LoopUntil
OP_LoopWhile
@@@@@@@@Op@@@@@@@@@@@@@@Lp@m
@@@@@@@@Op@@@@@@@@@@@@@@Lp@Q
)oplV[[[
[OPLZ]M[Q_AJ
OP[M@A]ZDPDSKZYA[O@
OP_MeImplicit
OP_MemAddressOf
OP_MemLd
OP_MemLdWith
OP_MemRedim
OP_MemRedimAs
OP_MemRedimAsWith
OP_MemRedimWith
OP_MemSet
OP_MemSetWith
OP_MemSt
OP_MemStWith
O_[P[MGZ_AQP
OP]MHA]SJD
OPM_LCMOA@
OPMMELQX]
OPMM[GHQN
__OPM_O_]ZO]CMGQ
OPMS_XBZZA]OJ
o||Pn||2n||
O[PNDQODG
OP_NewRedim
OP_NextVar
OpNkNQNJN0N
OpNmN8N5N
OPNNKNMX
OPNOAXQD
OpNoNZNTN?N-N
OPNPMJHK
O_PNYJXP
opOgfG7m
OPOJHLAZH[
_OPOK_KHYOCNN
OP_OnError
OP_OnGosub
OP_OnGoto
OP_Option
OP_OptionBase
OPP_AEMG
OP_ParamByval
OP_ParamNamed
OP_ParamOmitted
OP_Paren
O@P]P_@_CBO@@
O[P]PGOK
Oppgppepq
OP!pgppepq_
OpPgqggA
OPP][J]LLJ_
*o[p'Pn7
OPPP]_[NDLP
op_prefx
OP_PrintChan
OP_PrintComma
OP_PrintEos
OP_PrintItemComma
OP_PrintItemNL
OP_PrintItemSemi
OP_PrintNL
OP_PrintObj
OP_PrintSemi
OP_PrintSpc
OP_PrintTab
OP_PrintTabComma
OPPSZOADG
OP_PutRec
O[PQEAKKNAZ]]GXLEYNBBBBKZ
OPQgfGdr
oPQgfGM9q
OPQHMBOLJ@Y
OP[_QMGZH
OPQMJJMOZ
O;P;Q;R;
O@P@Q@R@S@T@U@
o p q r s t u v 
o.p.q.r.s.t.u.v.
OP]]QSBX
OP_QuoteRem
OP_RaiseEvent
OP_Redim
OP_RedimAs
OP_Reparse
OP_Resume
OP_Return
oprwsaidal
OPSAAQ]GDK_BH@]
OP_Scale
OP_SelectCase
OP_SelectIs
OP_SelectType
OP_SetOrSt
OP_SetStmt
OP_Sharp
opsProfile
OP_Stack
OP_StartForVariable
OP_StartWithExpr
OPSXKKSN
optimize
OPTllllllllmllllOllylm
OP_TypeOf
OP_UnLock
OP_VarDefn
OP_While
OP_WriteChan
OPXE]K[SAGJPJ
OPXGY[CGYBZNZ_CZKBG]
OPXWSQUSTO
OP[YA]OBCBQZOMH
OpybNpyTNpy3Npy
OPYEGJ[X
OPYJOQKKZ
@O]PYLFO
O_PYLMG_]CQLDJCBOS]O
_OPYOHMJCEJY
opyyyyyyyy
opyyyyyyyy:2*"
opyyyyyyyy80( 
opyyyyyyyy91)!
OPYZCDZQPQMPOPK
_OP_[ZDMK_BAASP]_
OPZMZ]KOSXLLB
OP@ZSKSCQPD
OPZYHAD_ZGSKOCO
!||o"||Q"||;"||
oq4@llllllllmlll]Y]]
?OQ6v_CCNCCCBACC
|||O|||Q|||8
_OQAC[QJ
OQAD]LAN[
__OQAHBNN
OQAHDPADY
OQALXA]O
O]QANXZMH
O[QAQB_XFNN
OQASJXLQJ
OqAuAiAmAaAeA
O_QB]BNQOPNO
OQBJ_AZ]MXYGJZBCQLYGPYKKFHXM[Z_D]
OQBJSKJ[
OQBN[JXAS
]_O_QBOM
@OQBOsSRSSsSSS
OQBPA_EZ
OQBPXDCHYS@
OQBQNB[D[
OQBZBP]BZ
OQC]CDPOQMH_KBYGSML
OQCC]_QG@SZB
OQCKMNPGMBCQ
OQCLJ_OG
O_QCMEYBDZ[MDCJAQ
OQCN]FG_
OQCOOMNEZOB]SOYZQDO
OQCXQDOHZ
]OQDCPPFDQ
OQDEMMAG
[@[_OQD_EN
OQ][DGYGEQDQPH
O_[QDJMPDNHCA[EN
O_QDK_[[BD_LNH
O[QDKQA][N
OQ][DQFS
OQDYLYNFOP
O_QDZHAC
OQ]E@A]HM
OQ[EKSMCB
OQ.Esj8A
O[Q_F]C_
O_QFFZZX
OQ_FSB[BA
@OQ]FXZD
oqf*((]Y]]
OQFZBNDZC
OQGAMF[J]J]AKCM
Oqg?dgfG
OQg'dgfG
o_QgfGc;
o_QgfGe(
_OQGFSZZL
oQgqggKSl
oQgqggR	SK
OQGSMAS_[K]_
oqgUfgfG
OQ	gwegfGl
oQgWogfG
OQGZ_GZXOO
_OQHAQSL_QL_OKC
OQHA[XO[
OQHBY@FK
OQHCNSKQY
OQHD[XPHH[ZOOFADGMYM
O@QHJ]@FGZ
]]OQ]HJYZAHGFGC_
OQHSN]S@Z]
O_]QHYZS
OQHZNCKHFYG
OQJA_OMP
OQJB[SAZ
]OQ__JFS_N_KSN_J
OQJgqggs
OQJ@[LO]CPZ
OQJNJAJTJoXVJWJXJYJZJ
_OQ]JSLOJN
OQKFC@@HBY
OQKG[YG]_SHN
@OQ]KK@NGL
OQK]L_CD_AJSH
OQKOPHJOYC[AE
_OQKYXNJOS_X
OQLBD_ZOMJB
OQLDYNNNYPO
OQLENJQQJ_
-oQllllllllmllllOllylm
OQllllllllmllllOllylmW
OQLMBZ_SJLN
OQ]_L]NLX
OQLQ_@LZ
OQLYSFNO
OQMBNGMQ
OQMGGBCA
OQMMCAY]Q[
OQ]MMJ][MO
O_QMPEE[]_M[
OQMQKOKKJNC]
oqmSSSSSSSS
OQN0N#NXA
OqNaNeNYNANEN9N-N
OqNaNQNAN1N!N
OQ_NDNL@
OQNGONXC
]OQNGXOXAZ
OqNiNXNyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OqNiNYNAN9N-N
OqNjNVNONDN
OqNjNXNEN7N"N
OQN[LLGY@YZ
OqNmNeNUNMN!N
OqNmNeNUN)N
OqNRNFN#N
OqNtNKNFN7N
OqNuNiNmNaNeNYN]NQNUNINMNANEN5N)N-N!N
OqNyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyQp4#
OQNZXKKOD
]O_QOAKNJB]SMFQX
OQ[OBQ]]J
_OQOD[SNGYNX
O@QOF]FZ
OQOQ[H[E
[OQOSLOEGLC
OQOYFOJH]AGCBHQ
O_QOYHC_S
O]QPAG]AOASN[XGXQ
OQPDSSK]
OQPEGZHJYYBYX
OQ@pgppepqp
OQPHNJ@HN@JHN@JHN@J
OQPHN@JHN@JHN@JHN@JHN@JHN@JHNQ
OQPHN@JKOQPHN@JKOQ
OQPK_PQAZDHSL_Y_CA
]oqPMxxr
OQQA_K]YHHCNPDAMMCD
O_QQEJBOJ
OQqgqggZ
OQQKQNANDYQ
OQQKXXGMAQ
OQQML_SEJ
OQQMYHPS
OQQXXKAB
OQSDDY[X_KJ_D
OQ]SHBHK_SK@H[Q
O@QSLCLZ
oQ@@SQSSSSTTVR
OQSSGS_DZHG
OQSZEYBQM
OQ(VSSW(nSSWU
OQXMP]HZONM
OQXNZ]OLZ
OQXQYPQZMOBK
O[Q_XSA_KNBLQ
OQX_YS]DPAK@
_OQXZ]XG
o||||||||||||||qy
OQYOYYC]LZPYC
@OQYQH@DOS_CCAGPFN_
OqyyA5]i
OQZA_JK@ZPSXCE]_KC
OQZB[QJG_
][OQZBQQH]N
OQZB_Y[MHSDKHBH[L
OQZDQQ[MPYYFD
O[QZE]PHOK
OQZFMPLK
_oQ)zgWcgfG7
OQZ[KADZEH
OQZOH_][
@O]Q_ZZCDP
]or4pggfG
O Raea][aNaNa
ORCloseHive
ORCloseKey
ORCreateHive
ORCreateKey
ORDeleteKey
ORDeleteValue
ORDER BY
o RdllllllllmllllOllylm
OREnumKey
OREnumValue
oRFcllllllllmllllOllylm
|#OrfggG
Organization
OrganizationUnit
ORGetKeySecurity
ORGetValue
ORGetVersion
ORGetVirtualFlags
or?gfG#tV@gqggF
orggw)7G
OrgIDMissing
orgid_scrubbed
Orgqgg3H
o||rh||4h||	h||
orhllllllllmllllOllylm
original
OriginalFilename
OriginalFileName
OriginalFileNameMaintenanceWindow
originalname
originalname_scrubbed
originalsha1
originalsha256
originalsigseq
originalsigsha
originalsize
originalthreatid
ORk'bsgfGIJ
oRLgUfgfG
OrL_LG]ZUHJJLZZt
o)))rMH]Ht
ORN3N'N	N
OrNbN*NRE
OrNDNQA3A
OrNmNdN_NVN)N
OrN[NHN.N
OrNXNNN4N
OROpenHive
OROpenHiveByHandle
OROpenKey
ORQueryInfoKey
oRRSSSSS
ORS3hXSSS@S
ORS3mXSSS@S
ORSaveHive
ORSChXSSS@S
ORSetKeySecurity
ORSetValue
ORSetVirtualFlags
""ORS#JXSSS@S
o._RS#[PSSS@S
o._RSS9WSSS@S
ORSSATLO
oRSSBUM9
ORSSBYj@RSSBYL
ORSslXSSS@SZ!
ORSSmXSSS@S4!
oRSSQ(XSSWPLG9
ORSSS@SNRRSRS
o)))Ru[]O
O)))Ru[]O
OrVagicgfG
ORYH]ATuuDZALHE]A
[o[[[R[[[Z[[[
o)))rZPZ]LD
O Sadah 
OSADDAG[YN]F
OS][ADEA
OSADPG[F
O@SAO_O[ZL_Z
][OSASL]JL
oS[[[b[[[
OSBBFAHQ_]
OSBCDHSN
OS_BGZPXO
OS[B[[OG[
O[[SBQSBSPP
os_buffer_pool.
osbuildlab
OSBYZM_OX
OSCACYHP
oSdgfGhGbtgqggw!
)oSdgfGJ
oSdgfGn5
oSdgfGzA
osdistributionname
O_SDN]PDE
OSdO[[[6[[[
OSD_OHN@
OSDPBQA_SGCJ
]osegfG'
OSELECT COUNT(1) FROM AttributeCounts; 
O[SFCY[JDNHYM]_
OSFYCZ__SQ_AOQY_
OSGB]DNF
O]SGFLOGBHNZ
"OsggfGJu
OSGHSXJD
OSGHZZBHJ
oSgNsSSpS@UsS
OSGP_KMXCQSDYDXG
OSGQBJ_NA_KJ]E
OSgqggAU
OSHBPYQE
osHdO[[[T[[[p[[[T
O]SHJC[AS
OSHSBMOGN
OS_HXFHD
OSHYBGNZA@ADNKBM
OSHYXZH_
@@]OSHZLSMQ
"os_info":"
OS Info - 
OSJAZSHXDD]LSH
OS_JCBJS
OSJ]COPZY
OSJEJMGBXPCA
_OSJEPBDNG
O]SJEPDJ
OSJHBZB@NDL
OSJHGXCLGN_HYSQSQ
O[_SJQNQ
OSJXMY[_
[[_[OSJZLODL
OSKCAZAC
OsKeQueryTickCount
_OSKL[NQ@AGAZ
OSKL_PDECF
OSK_N]OZCB
OS__KZMOSDDMDGGDHXMC
OSLCML[NLAH
OSLC_QGJGB
OSL_GAZX
osllllllllmllllOllylm
?OsllllllllmllllOllylm
OSLPGKNY
OSMajorVersion
]OS[MAZOQ
osmetrics
OSMinorVersion
OSMKZPO[
OSMP[H@N
OSMSNN[DB
OSM_SZHDPQ
][O_SNCGYKYJS@_
OSN]DFQ[HG[
OSNDJONFCDGB_DKEBGN
OsNfNFN-N
OSNNLEC@CG
OSNP[GO@S]
OsNYNCN N
O_SO]CZHB
OS_OGYBFZMLPJY@D
OSOJPECGHN
OSOLONYJ
OSO]_ODPK
OSO]]OQ]
OSOpgppepq
o@S:o@S*o@S
OsOwOkOoOcOgO[O_OSOWOAO-O	O
OSO]XXJQ
OSOYZBMNDQ
O]SOZMPHQF
OSP[ACZA]
osPeX[[[
 ospgppepq!
Ospgppepq
osplatform
OS_PMMCYLL
OSPMOCXFQMB_ZKEF
OSPQGMD]PGA
OSPQGXXNSEJGCEJ@
os_process_event_settings.enable_image_load_events
os_process_event_settings.enable_process_start_stop_events
os_process_event_settings.enable_thread_start_stop_events
os_process_event_settings.enable_time_based_event_flushing
osproducttype
OSP[YB]X
OSQDZPCHPP
O[SQGDYN
OSQJXZ@L_G
OSQ]LG]X
OSQNJLAADKNQPS_
OSQ[QMX]
osrevision
OSRvfgfGwQ
OSSCPBN@SYJODGF
O[SSDAGJ
ossgqgg!
oSSnS3oSSmS#oSSlS
o@SSn@S@n@Svn@Sen@S
OSSPD_YLNDYZ
O[SSPGZK@AGX
OSSQA]LOC
OSSS[GSACKMBPD[L
OSSSSSSS
!oSSSSSSSS-
oSSSSSSSS
oSSSSSSSSA
oSSSSSSSSN
oSSSSSSSS"S
OSSSSSSSSSSH
oSSSSSSSSSSSS
oSSSSSSSSSSSSB
oSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSNi
oSSSSSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"
oSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSH
oSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
oSSSSSSSSSSSSSSSSSSSSuX
oSSSSSSSSSSSSU
o]SSS@SV4
@OsSWSSBOdWBOxVsSWSSLs
OSTA Compressed Unicode
osupgraded
OsvZsvZQQ[VSQTTVNSY[sfCsNVsfCV[B
OSXBKNQ__DX_LXCO
osxcputype
OSXES]PBA
osxfileid
O[SX_HXSFQ
o sxi|o k|i|Xx
OSXMBMZAC
O@SXN@SON@SxN@ShN@S
_OSXSPZ[P
osxteamid
OSXZPNMDKY
OSYAMOPELSPA@DO
OSYCJBGO]E_
OsydOsy)Osy
OSYGOHSQZFJX
osylnsyMnsy2nsy
OSYXZQD_KH
OSYYAQNPHXH
OSY_ZNXE
OSZAB_YBGQ
OSZ_@H@PL
OSZLSODNSC
OSZNKHFP[_J
OS]Z_NZZPMZZH
OSZSODLEL
||||o|||||||T
ot1gilgfG
ot5om*a]
o@t@@A@ACac
oTbgfGH5(Fgqgg
oTbgfG*Nj
oTbgfGOP
oTbgfGOV
OtdA[[[7[[[5[[[7
OTDB@A@2 @G
OtdF[[[Z[[[
[[[ot|dO[[[
OtdO[[[l[[[
OtdP[[[t[[[
OtdT[[[)[[[
OtdV[[[G[[[
otdY[[[p[[[
OtdY[[[p[[[
;otegfG-
;otegfGI:
o]tegfGJuQ1gqgg
otgifgfG
oTgsegfG
o||Th||2h||
othermachine_image
Other process tampered PMU configuration
O||tH||NH||
o||th||Sh||
OTiTiTigO
OTJJKAJOO
o||T||||||||||||L||
Otliggfw
OtllllllllmllllOllylm
OTLpg_kgfGQ
OTNAN2N'N
OtNaNdNQNTNANDN3N
OtNkNVN6N
O[[[T_PdO[[[
OtRS3y]SSS@S
oTSSBILk
OTSSS@SZ
oT|__TgfG
O||tV||QV||
OT[[[Z[[[O[[[
O"_)U6Y[
ou8)7kG]X
ouAAAAAA@A*qKKS
OUAO:AUL;@MA;@LML@A
oubgfG-C
@OUBOfWBOxRUYB_BNT
"OUdB[[[
oUDdx[[[
oUdO[[[-
o)))u_FN@ZA
oUg3pgppepq
OugCggfGo
OUgGkgfG
ougkfgfG!
OugqggE)
oUgqgg-T PZ
OuGuGTuG
OugwmgfGQ
(OuHcnZG
o||uh||Ph||)h||
oUJdN[[[i[[[
OU@JMJUK
O(uk04OF0qSz
OUKKLAULL
@OULAL@UL
OUL@HIU@HK@UM
OULLH@U@OK
ou_llllllllmllllOllylm
OUllllllllmllllOllylm
OULL@MUAALNU
oUMdC[[[
OuNcNSN:N7N
OuNiNaNeN]NQNINMNEN9N1N5N-N!N
OuNiNINMN-N!N
OuNJN8N3N"N
OuNmNQNMNEN5N
OuNmNQNMNEN-N
OuN]NEN-N
OuOkOaOgO]OSOIOOOEO
OuOkOaOgO]OSOIOOOEO;O1O7O-O#O
OUOMO9O?O
oUpgppepqw
O)))uQKHuQ
OuQKKuQK
OuR[[[Z[[[
;;;;;OU  T 
outboundbytes
OutboundBytes
outgoing_req
outgoing_response
out of memory
Out of memory
Out of memory.
out of memory in x86dasm
out of memory when allocating buffer to disassemble
Output buffer size is insufficient
OutputDebugStringA
OutputDebugStringW
OUUJADFM
o[[[UuWdE[[[
oUVdH[[[
O(uW0f0D0
O(uW0f0J0
oU[[[y[[[
OuY]A[LHMNJ
o)))uZAF[]JKFFZ]
ov0'pgppepqS
]O@@@@@v@@A@AAac
O@@@@@v@@A@AAac
[]OvALHML[
.oVbgfGl@
ovcgfG?j
OVdB[[[4[[[
OVdK[[[f
?ovdO[[[
oVdS[[[-[[[ [[[
Overflow
overflow list length
oversubscribed distance tree
oversubscribed dynamic bit lengths tree
OverwritePersistContext
OverwritePersistContextNoPath
OveS[[[:[[[8[[[
OveU[[[K[[[
Ovg3kgfG
OVg5ngfG
OvgefgfG
ovgqgg_;
oVgwbgfG?9*hgqgg
[]Ov][H@EL[
o[[[-VIdY[[[
O)))vJ[PY]vLGJ[PY]O@EL
(OVllllllllmllllOllylm
Ov_L[Z@FG
o||vm||Em||
OvN[NLN1NhA_A-A'A
oVOdH[[[
o|vodo7ogo
o|vodo9ogo
O|vodo9ogo
[]OvO@EL)(	)))!)))Ru[]O
O|voeo7ogo
o|voeo9ogo
OvOoObOYOSOKO7O
ovpgppepq
OVpgppepq
OVSSQ(WSSWs
oVSSS@SP[RSRSs
OVTgfG17z
@OvvGHDLvv
O-V|voeo7ogo
)))OvvvvU
OVygqgg!
)))@OvZ@GNEL]FG
OW0j0D04X
oWAAAA@AAAAAC
;oWagfGrTm
OWbkggwI
OwF!kG71J
oWgAegfGH
OwgcJJV"gA
@Owgqgg6
OwGZZALEE
o||wh||8h||	h||
OWllllllllmllllOllylm
OWllllllllmllllOllylmXg
ownerauthadmin
ownerauthfull
owner dead
ownersid
OwNoNSNKN?N7N
ownprocess
OwO[OSOGO?O#O
owpgppepq
owSSSSSSS
oWSSULD9
O;]wv(sG
OWxxxGxxyxyxyxY[4
Owxx)yxwy
OwZSwAwMGDwXwC
OX@A_G_OMELHA
OXAMPS_KYX
OXAXZDAA
OXBCA[NS
OXBCK@BB
Ox|bHx|L
OXBK]Y@A@@
OX]BMOMFLSYSECPGSOK_EOPLBNGH
OXCMZZCM
OX]CNAFQYNJ
OX][CPCBNFNA
]O_XCP[[S
OXCQ_H@J@
OXCQPMXKBMC
OXCX[GOKO
#oXC]Y]]X'Y
OXCZQCSKG
OXDDAQOPPMQN
OXDFGSCB
oxdgfGhU
oxdgfGI1W?gqggcR
OXDKLKO]H
O[XDKLYH@BPYDM_SSOC
OXDQGQ]XY
OXEBPNCCZHN
O[X[EEYC
oXefv:fw
OXEHS]DM
OXEYG_PL
OX]EZQHMCS
oX[[[f[[[
OX[@@F[]
OXFDPZBQKQABB
OXFGDNJ]
O[X_F[JFGQQYO_D
OXG@ACYOA
oxg[agfGH(
OXG]DPLG
oxgEggfGH
O"xgfG	L
O_XGJH@G
OX[GLYZZM
OXGNCFPLKQAEE
OXGNQDY_[[DNQ
oxgqggGq
OXGSAGYLDOJF_ZE
oxgUkgfGL
O	Xg	vgfGY
OXHAGNPN
OXHEKJSFJY@L
OXHE_LZG
OXHHNEJCCZ
OXHLBKHXGN[OKQBDOQKMD@XH
OXHMOHJQOX_QHCOJSG
O[XHOH]H
O_XHQ]FNC
[OXHQPXPMGG[LZ
OXHQZJGOZQ
[O@_XHZ]BXO
OxigfG!Z
(oX;	IllllllllmllllOllylm0
OxIyIxIzI
OX_JA]LJNA
OXJ[CLBGQSEE
OXJ]]CXG
OXJDAZM[D
[OXJ@HJNMDKY
O||Xj||Ij||
OXJKJBXM
OXJ]K_LZSNBB
OXJPSHQL
O[XK_B[AE
_[OXKDLAP
OXKGNGBQOB]D
OXKLFO__
OX@KLQSYDX@@
OXKOv]JJT
OXL]AE]]
O]XLK]@SADSBQK
OxllllllllmllllOllylm
O]X@LSFNAH]
OXMAJNOCY]XSQLO
?OxmfG".
@OXMFKXK
OXMHFXG]
o_xMU8?J
OX]MYYDHBYNGE
OxNbNLN6N
OxNbNXNBN1N
OXNDMFXHNODZ]HF
OXNFAADG
OXNGHO]GNZ
OxNiNeN]NSNWNNNGN?N5N)N N
OxNiNfN5N"N
OxNlNPNDN2N
OxNpNgN]NSNCN9N?N
OxNwNVN6N
OX_OAHPQ]
OXO@DNNPHOOKBMM
[@OXOL]K
OXOLOP]JZPGQ
O]XONJC[G
OXONJXYCH
OX_O[OAAM]OOD@EAS
?)))[OXOQ]
OXOQQL_MJ
OxO[[[Z[[[O[[[
OX]PBMPO
OXPCANL@PN_J
oXpgppepq
OXPZS[ZL
OXQJ_DKM_CA
OXQMBCASCOD@J]C
@OXQMBHOS
OXQNHKAPBKDEMXP
OX_QSA[CMJKYYMM[SK
OXQSGL[P
OXQS_PPQSQA
O||xQ||ZQ|||H||TQ||6Q||tH||0Q||
[[[OXRdZ[[[
OXS1OXS"OXS
OXSNQB]Q_KYPLP
OXSYK[QMJOGKG_
OXSZ_MEP
O||xW||FW||
OXWggggw
OXXENSLY
OXX[[EZZ
OXXGAZYZKQ
OXXQO__P_X_QD
|Oxxx'xxzxzxzxxyxfy
*[Oxx]Y]]
oxxy]ni|
Oxx]Y]]WnX
ox]Y]]	]]
Ox"((]Y]]
oxyanxyHnxy0nxy
OXYCEXBQP@O
[[]]OXYE
O]XYJCDY
OxyjNxyWNxy0Nxy
OxyKaxy5axy
OXYLBG[XS[OF[SH
oxy]mxyyyyy
oxy]mxyyyyyyyyy
OXYng)agfG9
OxynNxyINxy0Nxy
OXYOPAMZXYJ
OxypNxyeNxyWNxyDNxy2Nxy"Nxy
oxypnxy[nxyNnxy)nxy
O]X[Y]QCKLSKX
oxyQyyyy
oxysnxyPnxy1nxy
oxytnxySnxyFnxy#nxy
oxytnxyTnxy*nxy
OxyuNxyRNxy?Nxy
oxyx9xPP
|Ox'yxiyK
oxyxnxycnxyFnxy!nxy
OxyyDyzyy
OX]YYOLSM
oxyyyyyyyyyyyyyylyyy
Oxyyyyyyyyyyyyyysyyy
OXyyyyyyyyyyyyyysyyyt
O[XYZBMLD
O@XZEZ_HKC
OX_ZGM@F
OXZ][JYE_HDN
OXZLSSXNBGG
OXZNPO_AN
OxzxWxHKK
  o     ]Y]]
o'((]Y]]
o@@@@]Y]]
 O@@@@@Y
O!)((]Y]]
O"((]Y]]
O(((]Y]]
O*((]Y]]
oY4CQ0Yzn
OY7gucgfGM
oy"8|NkgfG
O@@@@@y@@A@AAac
OY_BASACP
OYBBMFBSY
OY[BGL]XY
@OYBNJ[LH]F[
OY_BNZAQB[@NOH
OYBZSSJ]
OYCBPHBSZSQ
O]YCCOXD
OYCDJPJAX
OYCHQBN_EM
OYCHXZDXSX
OYCLPBFL[MO
OYCMLA[PD
O|ycN|yKN|y)N|y
oYcpgppepq
OY]CPJ@KKA[@FQ
_OYCPSSE
O_YCQSPZPPLGMLO
][OYCYLG
O_YDEOC[C
O*ydgfGk
OydH[[[B[[[G[[[6F
OydN[[[	[[[
OydN[[[N[[[B[[[A"
OydO[[[L[[[C[[[
OydU[[[M[[[
OYDYEHPL[
O]Y_DYFEM[
OydZ[[[M[[[
-())@OYE]
)))@OYEH]OF[D
o]Y]]eKY
@OYEMDCEC
OYEO_CXZQ[]HEXQ[
OYEXAGGPJH
oY[[[@[[[F[[[-
OY[FCLJ]
O)))Y[FE@O@JZ]FJB
OYFEPEHGN
]O]Y[FF]
OyFgqgg7[
@OY[FJLZZ
OY[FJLZZA@ML[
)))@OY[FJLZZ@]LDZ
	)))@OY[FJLZZLQ@Z]Z
)))@OY[FJLZZLQ@Z]Z
@OY[FJLZZLQ@Z]Z
O)))Y[FM
o)))YFZ]
o)))YFZ@]@FG
OY_GJHCYJ
OYGNDPOGQDBD
OYGOKZZACHO
OYGOMKZL
OYGQA]HJF
[OYGZJHG
OYHCJALXX]KQ
OYHGZNJANPHDLH
O]Y@HHQNCQ]QXSNMENPCQF]
O@Y]HKELZ
O_YH_LCLOZYZ_X]
O@YHPEFHM
OYiEOYimOYi
oYi!oYieoYi
o]Y]]:IX
OYJBC[QJ
OYJCGGFNQ]ZNF[
OY@JCM[BBPYPAOQCFM[
OY]_[JDDMS[
OY@JHODHP
OYJ[MPQ_]MS
OYJPZCMAZXACJ
OY[JXK@[Z
OYJZZQN_D
OYKCGGQHGXLHLOMK
[OY[KHDL_LY
OYKSJBOC
OYKSX[OQ
O]YLBPLD
OYL[DMPNJE
oyllllllllmllllOllylm
Oy'llllllllmllllOllylm
OYllllllllmllllOllylm
o)))Y[LNv[LYEHJL
OYLYMQX]X
oyM3aUggbgfG?T
OYMG[JBPACFNK
OYMGJXXS
OYMJASKSGJ
O*YMMMMMMCQCQMMMM
OYMY]NLMPMOQ
]OYNAMN_
OyNaN]NEN1N
OyNdNON6N
OYND@OQ[ZP
O]YNEEHH
OYNGJQMX]YSBHMPD
OYNGS]LQ]_
OYN[HZQEG
OYNJDL_OYYB[KL[A
)))O]YNL]
OYNLEQX[AS@PKB]B
OyNmNeNINAN5N-N
OyNmNYN_N
OyNmNYNQNAN)N!N
OyN|NhNaNKN N
OyNpN_@V@A@8@
OyNqNuNmNaNYN]NMN!N
OyNtNjN]N8N
OyNuN]NUNMN9N!N
oY[[[O[[[
OYOAO1O"O
OYOBYPSCMDHZ
OYO[CBB_SCCYFK
OYOCMN_DYQA
OYO]DXLKX
OYODXX]M
@OYOKZCP
O@YOMJQCHZ
OyoPrgfG
OYOXPNCF
@OY]OX]Z
o|y-o|y3o|y;o|yCo|yMo|yQo|ygo|yoo|ywo|yqo|y
OYPA]AZAQ
OYPBGM@_
O_YPJMNALLZ
OYPLOBQXZSO
O_YPNDAZ
o|ypn|yYn|y39xy	
OYPQBC_]X
OYPQOA]Y
OYQDFY]GNL]
OYQGJX_J
OYQLZDSB
OYQSKKZFMZ]Q
o]Y]]'QX
O]Y]]R]]
oYs4fgfGav)
OY]S]]DAHA
OY]S_GPJN
OYS]@HHFXN
OYSJM[SNHDMN
OYS[_MKC
[__OYSNN]B
OYu@b	gvQ
oyVG9.;(
O?yx8y_w
OYXCG]YD
OYXDO[CX
OYXGYQJEZG[[O
]OYXHSMGDNSH
OYXNGOALLCY
OYXNGSM_
[OYXQLOFD
]O[YXS]PMQ
OYX@SXCCQ
OYXZGANNEPDQQ
oyy5;yypIh
oyy9yyyyyyyyyyyy
oyyAayy)iyy iyy
oyyboyyKoyy9oyy5oyy
oyycnyy:nyy
o|yyDykyyv
OyyeNyyDNyy!Nyy
oyyeoyyAoyy7oyy
OyygNyy]NyySNyy;Nyy1NyyENyy
OYYGZN]CMKNL
oyyhnyyAnyy
OyyhNyyNNyy"Nyy
OyyhNyyWNyy?Nyy
OYYHSKKJ]AD
oyyHyyyqyyy
oyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
OyyINyy7Nyy
OyyiNyyfNyyVNyyFNyy7Nyy'Nyy
oyyinyy]nyyAnyy0nyy"nyy
oyy]iyyyyyyyyyyyyyyyyyyyyyy
oyyJmyyQmyy
oyyjnyy7nyy
oyyjnyyKnyy4nyy
OyyjNyy;Nyy
oyyjnyyWnyy0nyy
OyykCyyaCyygCyy]CyySCyyICyyOCyyECyy;Cyy1Cyy7Cyy-Cyy#Cyy
oyylnyyRnyyGnyy-nyy
oyyMhyyAkyy*kyy
oyyMHyywI
oyymnyyFnyy
oyyMOyysI-j
oyy|nyyenyyNnyy
OYYOMSGONP
oyyonyyGnyy
OyyONyy-Nyy
Oyy?Oyy.Oyy
oyy	oyyyyyy
Oyyo_yyyyyy
oyy	oyyyyyyyyyyyyyy
oyypnyyfnyy?nyy
oyypoyyuoyyvoyykoyyloyyaoyyZoyy_oyyPoyyWoyyHoyyMoyyNoyyCoyyDoyy9oyy:oyy?oyy2oyy.oyy
oyyqnyy]nyyyyyyQyyy)yyy
oyyQyyyy
oyyRnyy"nyy
oyyroyyWoyy"oyy
o|yy||rv2
OYYS[]LBEO[
OY]YSNOJJ
oyysnyy7nyy
oyysnyyanyyTnyy
oyysnyy]nyy9nyy#nyy
oyytnyybnyyAnyy4nyy
oyytnyy_nyy1nyy
OyytOyydOyy
oyyUnyy-hyy
oyyunyy	nyy
OyyuNyyyyyyQyyy)yyy
oyyvnyyHnyy.nyy
oyyvnyyWnyy2nyy
oyywnyyhnyy
OYYX_OF[[BM
oyyxUyyrUyynUyy:UyySUyy#Uyy
oyyxyyyIyyyIyyy
oyyxyyynyyynyyy
oyyxyyyqyq
-oyyxyyyryr
oyyxyyyzyz
oyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
oyyyiyyy9yyyy
oyyyiyyyyyyyyyyyyyyyyyyyyyy
Oyyyiyyyyyyyyyyyyyyyyyyyyyy
oyyynyyanyyInyy1nyy	nyy
oyyynyy*kyy
oyyYnyy-nyy
oyyynyypnyy
OyyyNyywNyyaFyyRFyyFFyygNyyPNyyGNyy5Nyy
OyyYOyySOyyAOyy
O[YYYPMPHJNS
Oy)yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy?y4#
oyyy)xyyayyyAxyyyyyyyyyyyyy9yy
o|yyyy0123
o|yyyyHJIK
o|yyyyIJHK
o|yyyyyEyy
Oyyy	yyuyyyyIyyy
oyyyyyyEyyy
oyyyyyy?oyyAoyyQoyyaoyyyyyyyyyyyyyy
oyyyyyy#oyy)oyyyyyyyyyy
oyyyyyyQyyy)yyy
oyyyYyyyayyy
OyyyYyyyAyyy
oyyyyyyyyyy
Oyyyyyyyyyy
oyyyyyyyyyyEnyyqiyy
oyyyyyyyyyy-nyyEiyy
oyyyyyyyyyyyyyyytyyy
]Oyyyyyyyyyyyyyyyy
Oyyyyyyyyyyyyyyyyyy
oyyyyyyyyyyyyyyyyyyy
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#y4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[y4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1y4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7y4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGy4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIy4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
OyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyAy4#
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9Oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
oyyyyzyyayyy
oyyYzyyaA
OYYZKCECMB
OY]YZMBLO[
oyyznyy?nyy
OyyzNyySNyy)Nyy
oyyzyyyeyyyoyyy
o|yyzz|T
OYZA[E]Z
OYZBYY]ZMMAN
O[YZKOOJG
')))O]YZL]Y[FQP
OYZ_YQCXM[
oZ[[[ [[[
oZ[[[*[[[
OZA]_AF]P
#ozagfGS
o)))ZAHD@GNM@ZY@[@]Zr
O_ZAMNAYPHKNXZ
Oz@@@@B@A@2 @J
OZBAZMPACGX
OZ@BHPOH[]
OZBKG]FA_PD
O_ZBNPJOLMNG[NLDLZBJXA
OZBPM[@_L
OZBQ]]DLSM
O]ZBS@SX
)))OZCBONHCBZONBHCZNOBHCNZOHHZOZOHZN
)))OZCBONHCBZONBHCZNOBHCNZOHHZOZOHZNJ
o-ZCCNCCCBACC
OZCFQBEO]CYZY
]OZCGHDPK[JZ
OZCJ]PZHJ_N
OZCLOPPDOY[BXL
OZ[CMBC[JSF[J
O[ZCM@FKE
OZCNHMQAO
OZCOSLKM_OZ
OZDBNZLMCB
_OZDCE]@
OZDCPF[X]LCH]X[[
OZDFSDKD@QBBD
_OZ[DGP[
o)))ZDH[]AMM
O@[Z]]@DLOEHN
ozdM[[[A[[[
OZDNCGNM
OZDPOBKX
OZDPSCHP
OZDSKEHD
ozdX[[[Z[[[
OZDZSBLOZ
_OZEFCSKY_
OZE[_KAPBM@[PEE[M
O)))ZFJBL]
o)))ZFJBZ
)))OZFJFYP
OZFJ@L]P
O_ZG[FGMYE
-O Zg;kgfG
)))@OZ][@GN[LNLQY
O@[Z]@GZ]HEEDHJ
@O@Z@GZ]HGJL
]OZGZYDCP[]MO_QYJN
o)))Z]H[]
OZHASA]Z
]@O_ZHFMGZ
O_ZHFQHOLH
O)))ZH_L]FO@EL
@OZ]H[]LMO[FDJDM
o@[Z]h@M
o||zh||Nh||"h||
O||zH||WH||.H||
OZHXYSOG
OZ_HYEBM_S
OZHZ]QLP]]N[JDM
O@[Z]JA@EM
O@[Z]JAH[
OZJEZPZS
O@[Z]JHEE
[O@ZJHGGL[_
OZJJGNOHHZHN]
@_OZJJQOH
OZ]JKAZGA@DEBO]BQBQKL]
OZJL@M_X_
OZJSQHCSQ_JC
OZJXQALLJJHX
OZJ[@Y]))
O)))ZJ[@Y]uQ
OZKE[ZNQ
@O@ZK@G]ALGK@GH[PZ][LHD
OZKJAK@@
O[ZKK@XPJ
OZK_PKAQN
_OZ[KXOD
#)))OZL]
)))O[@Z]L[
]OZLBPKQ]BN
o[[[Zl|dR[[[
O@[Z][LELHZLMLOL[[LM
O@]ZLELJ]@FG
O)))ZLEO
[OZLFMCDL
OZ_L@GKD]
o)))ZL]@G]L[_HE
OZL]]@G[QQY[
OZL[HYA@GL]A@YH_@
OZLJ]@FG
OZL[_@JLEFN@G
oZllllllllmllllOllylm
o)))ZL[_L[QDEA]]Y
OZL_LYO[ZOPD_CKCSQKG
o)))Z][[L_L[ZL
OZLP[C_QO[D]CBCXDCY
OZLSFZXCP
)))O@[Z][LX
OZLYCPOQN]
OZMA][CBZ[]PBZ
OZMA][CBZ[]PBZALEE
)))O@[Z]MH]H]PYLrY[FYO@E]L[
OZMKSZJB
O[ZMKZDNA
OZM@LDBK
OZMN[O[]LBXG
OZ[mNZ[CMZ[uLZ[
#)))OZMOMZOZ
)))OZMOMZOZ
OZMOMZOZ
OZMPHQLHNBKHXN
OZNAHKDGAM
OZNHANL_KJJ_YYZY
OzNiNdNONGN?N7N
OzNpNvNbN
O_ZNSBMMQL_S@GMOE
OZNSHMCBDO
OZNYJSBHLEJ
OZ@NYS]H
OZNZJG[]
#O[[[Z[[[O[[[
(O[[[Z[[[O[[[
*O[[[Z[[[O[[[
[[[O[[[Z[[[O[[[
_O[[[Z[[[O[[[
O[[[Z[[[O[[[
O[[[Z[[[O[[[	
O[[[Z[[[O[[[ 
O[[[Z[[[O[[[')
O[[[Z[[[O[[[.*
O[[[Z[[[O[[[:
O[[[Z[[[O[[[1*
O[[[Z[[[O[[[1c
O[[[Z[[[O[[[3
O[[[Z[[[O[[[3Z
[[[O[[[Z[[[O[[[a
O[[[Z[[[O[[[a
O[[[Z[[[O[[[A
O[ZOANOKFXQP
OZ[OAZHZ_
O[[[Z[[[O[[[D[
O[[[Z[[[O[[[EW
O[[[Z[[[O[[[f
[[[O[[[Z[[[O[[[h
O[[[Z[[[O[[[i
-O[[[Z[[[O[[[I
O[[[Z[[[O[[[L
O_@ZOLL@SP]SK@PJFY[GESQB
O[[[Z[[[O[[[nT
[[[O[[[Z[[[O[[[O
O[[[Z[[[O[[[?O'
O[[[Z[[[O[[[Q
O[[[Z[[[O[[[R19M
O[[[Z[[[O[[[S-
O[[[Z[[[O[[[T
':O[[[Z[[[O[[[)vaYj
O[[[Z[[[O[[['WiD
O[[[Z[[[O[[[)X
O[[[Z[[[O[[[y
O[[[Z[[[O[[[Y
OZOYCMLONFX
O[[[Z[[[O[[[zk
OZPCASYL
OZPG][F_@Q
OZ]PGHZY
oZpgppepq
Oz;pgppepq2
OZPGYZXA[POHY
OZP[H]NOSJM
OZPLMFSDQ
OZPLY_PH]
OZPN@LYZG]PE@YA
OZ]POJCBC_EP[XDH
OZPXPYODOQNB
OZPY_X][[N
]OZPZ]LD
O)))ZPZ]LD
O[ZQBNCH]
OZQD_GF_DCYZ@MD
OZQDLOL_
OZQESPOOSXYQP]
OZ_QMCN[NB
OZQMMHDA
O[[ZQNGC
OZQ_[YD]PYLF
]_OZ@QY@ZH
OZQZNEONN
O_ZSBCX@KO@
OZ[SLHKQ[
O_]ZSMKH
OZSOKPSQ
O@[Z]vJHEEvDFG
OZvY[FJLZZ
oZwpgppepq
OZXEDKS[E@BKKG[_LJLL_@J
O]ZXFPSP
OZXYCAMH
OZXY[NJLSM
O@[Z]YAF]F
]OZY@AJLBPMQ
OZYA[N[YC
OzyeNzy#Nzy
O)))ZYF[]ZOF[]
OZYGHSHZJMY
OZ[Y@JZF
O)))ZYLH[ALHMZ
OZYPMOCQDJXCZYX
OZYXMLOSJDB
OZYYYHH]
OzyZNzydNzyVNzyMNzy
ozZ@@@@@
O@ZZ[B[[SBXPZ
OZZEA]]Y
o@[Z]z]H[]hJ]@_@]P
O_ZZJLCHYAQCDCMOJLDFDYAL
OZZJZCZX
ozzL[_@JL))
o@[Z]z@ML
O[ZZ_NC_SJ
  p     
(")||||p
))p)))))
*")||||p
????????????????????????????p
@@@@@@@@!p@@@@@@@@@@@@@@
@@@@@@@@[p
@@@@@@@@_p@
@@@@@@@@_p@]
[	[[[p[[[
[[[	[[[p
[[[:[[[p
[[[;[[[p
[[[|[[[p
||||||||||||||p
||||p|||||||
p   !    
p@@@@@@@@
p@@@@@@@@@@
p@@@@@@@@@@@
p@@@@@@@@@@@@@@
p@@@@@@@@@@@@@@@
':_P__]_
))P)))))
[[[;[[[P
[[[?[[[P
[P(	:(*-
]||P]||-]||
_||P]||)]||
||||||||||||P
||||||||||P
|||P||||
||P_||!_||
P   !    
P0g9ggfG
P0I;P u-A
P0I;P uAA
P0jgAggR
p0llllllllmllllOllylm
P0llllllllmllllOllylm
[[[p[[[0o
p0tllllllllmllllOllylmU
p0XBwgfGs 
[[[p0YdJ[[[
  P      0  Z
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||P1||
p1BdH[[[Z[[[
p1gGhgfG
p1giggfw
P1gqggb"#Mf
!P1g-xgfG
(P1pgppepq
P1pgppepq
_p1pgppepqb
P1UB@AA2 @I
P@23ep*-u
P2@@@@B@@@Hp@JLH
P2DdO[[[
p2EygSkgfG
p2googgGL
p2'g;tgfG
'P2j!0"e8
P2pgppepq
p2QgqgglN
P'3#38"P
P3P2P1P0P5P4P;P:P9P8PUS
p3:qbgAgg
 [[[p-4dZ[[[
p@@@@@@@@@@@4@@E@ACac
P4EdF[[[
p4EdO[[[
p	4KvgQGgfG
P4liggfw
p4llllllllmllllOllylm
P4PV0)wzH
p4ZdV[[[
  p     5
p)(()5))#
p53@@@@@5@@E@AEac
p53@@@@B@A@2 @b
p53@@@@B@A@2 @l
P[[[5_9gL[[[
"P5d[[[[
"P5dH[[[
p@@@@@@@@@@@5@@E@ACac
p@@@@@@@@@@@5@@F@AFac
P_]_]5fgO
p5JggWgfw
p5Lgqgg8
P5!llllllllmllllOllylm
P5llllllllmllllOllylm
P5lOllylmf
p5pgppepq
P5:Qyxayx9
:P62pgppepq
(P"6"6"P"
.P6A?AW4MP_ERROR@@XZ
p6@@A@h JD
p6@@A@h KJ
.P6A_NAEAUJsRuntimeState@@_KAEA_K@Z
.P6APEBDW4tdt_return_code_@tdt_api@@@Z
.P6AXHHPEAH000@Z
.P6AXPEAX@Z
.P6AXX_E
P6dA[[[x[[[|[[[
P6dE[[[G[[[
P6dK[[[i[[[
P6dL[[[4[[[
P6dQ[[[][[[
P6dZ[[[S[[[
p@6@@E@AEac
p@@@@@@@@@@@6@@F@BCac
[[[p6fdN[[[8[[[
[[[p6fdN[[[g[[[
p6gmkgfGhd
P6gqgg(M;i
p6?gqggU
p[[[6l|dO[[[w[[[
p[6llllllllmllllOllylm	
P6RRSSSSS
P  7     
P77NlgfG
p7df]8e*e
P7EdS[[[D[[[
P7gMdgfG
P7llllllllmllllOllylm
P7ollllllllmlllbMO?
P7ollllllllmllllOllylm
p7]TgfG6
[[[;[[[p8
p8DdH[[[G[[[F[[[.
P8DdM[[[
p8DdS[[[
 p8gqggp
p8IdV[[[R[[[P[[[
?||p8||l8||t9||T9||
p8!llllllllmllllOllylm
P8)mggfw
P[[['8QdO[[[
p8xxyxAz
p8YllllllllmllllOllylm
P  9     
P9@@@@@@A@@
p9d[[[[[[
[[[p9?dM[[[
p9g3dgfG1
p9gqggoCm#G
P9hg]dgfG
p-9pgppepq
P9pgppepq
P9UdR[[[
P[[9W[[uV[[
@@@@@@@@:p@A
p@@@@@@@@@@@@@A
p@@@@@@@@@@@@A@
p@@@@@@@@@@@@A@@
p@@@@@@A@@
P@@@@@@A@
p@A4!fl@@@@@I@@
pAAAA7 3a
pAAAAAA@AAAAAC
pAAAAAA@AAAAAC:
PAAAAAA@AAAAAC
PAAAAAA@AAAAAC)
pAAAAAA@AAAAACLnX
pAAAAAA@AAAAAC!r
!PAAAA@AAAAAC
PAAAA@AAAAAC
PAAAA@AAAAAC 
PAAAA@AAAAAC*
PAAAA@AAAAAC@
PAAAA@AAAAAC0
PAAAA@AAAAAC2
PAAAA@AAAAAC6
PAAAA@AAAAACb
PAAAA@AAAAACbU
PAAAA@AAAAACC
PAAAA@AAAAACd"
PAAAA@AAAAAC:e
PAAAA@AAAAACeA" u
PAAAA@AAAAACmrH)j
PAAAA@AAAAACO.B
PAAAA@AAAAACQ
PAAAA@AAAAACs
PAAAA@AAAAACt
PAAAA@AAAAAC:T
PAAAA@AAAAACtm
PAAAA@AAAAACv
PAAAA@AAAAACx
P _AAAA@AAAAACZ
PAAAA@AAAAACZr Y
PAAAAAAAAi!SfK
PAAAAAA@A.!MU
@@@@@p@@A@AAac
pAAAACA@A
PAAAACAAAmqA_
PAAAACAAAOqAR
pAAAACA@@DqAb
PAAAACCaAcqAAAAAAAAAACCaAcqAAAAAAAAAACCAAcqAAAAAAAAAAC]aAIqA
@p@@A@AAacoo
PAA@Ai!DX
PA__A_A_P]PO
@@@@@p@@A@ACac
@p@@A@ACac
PA[ACH_HM
@@@@@p@@A@ADac
PAAK_]OE
PAAOXLSPQY
p@@@@@@@@@@@A@@ap@Ce
p@@@@@@@@@@@A@@AQ@D#H
p@@@@@@@@@@@A@@AQ@DL
P[AAXA@HYB
@Paa]Y]]
Paa]Y]]#K_
PABNQYDXJC
PABXJX[OHQXC
p@@@@@@@@@@@@ABXppD
pACA@AaqAD
pa@@@@@cE
P[[[aCHdT[[[
PackagedAppXDebug
PackageDebugInformation
PackageFamilyName
PackagePath
packagesid
PackageSource
PACKED:UPX
packersigmatched
pACKmASTER
]PACKS]HGAA
packssdw
packsswb
packusdw
packuswb
]PAC[]MLYEXOH
PACMNHZPE
P_]AC@XD
PACY_[HGP
PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGX
PADGASOBN
P_A_D_KDC
PADK[HZ@E
PADLABZKPEDP
PADL]L[ZSCZ
"p@@@@@@A@dp@S
PAED_NNLXH
PAENGBLO@
pAFdZ[[[
paFpgppepq
PAFQ]]DZMA[KGQPDX@
pagecontext
page_count
page_size
PageSize
__PAGEZERO
pag]kgfGB
[PAGM@GOO
]PAGNP]MJBHM
PAGPMYA]
pAgs)fgw
PAGXBFBGJQ
PAGXZDSL
PAGYDKND
PAGZBMZQDB
PAGZGAXCLHLD_DLQXOA
[PAHCDNQ
p@@@A@h FMHc
PAHGEY]N
]PAHHPSNJ
P@@A@h IO
P@@A@h LV	w
p@@@@@@@@@@@@A@HpBO
p@@@@@@@@@@@A@@Hp@D
p@@@@@@@@@@@@A@HpFPW7
p@@@@@@@@@@@@A@HpFS
P@@@@@@A@HpFT
;P@@A@h ST
p|aHw|a.e
PAJAD[@H_HK
PAJG]KO[Y
PAJJLLQBPYY[QESSF
_PAJJQB_[[P_Z
PAJLLL_JQP
PAJQD_PD
PAJS_XYL
PAJSXYMLBC
PAJ@ZLMMJPM_BD
PAKAJMLBAYOZMG
PAKGCZGSCHXG
PAKOFL_DXJN
PAKQGEAFCLFO
PAKSPKJDK
PAKYCOCNQ
@@@@@[paL
PALCCSJLKH[A]]JLH_Q
PALCGYQOJPEGL@J
PAL[DHM_
pallllllllmllllOllylm
PALLPC_LN
PALMBZ[DO
PAL[[MSL
PALONMJ[Y
_PALQXNLBZN
PALSJYS@KOP
PALZAMKGL]
_PALZJN_K
)))PAM]AM
P[A[MEGO
PAMGGDPM
PAMGOLSDD[
p)))A@MHPHA@GA@E
P[AM@JLP
PA[MONPASY]@MZC
p@@@@@@@@@@@@A@mpEF
p@@@@@@@@@@@@A@mpTD
P[AMQAS]LS_QBNJ
P]AM_S@[GN]JLN
PA_MYH_EGC
:@PA@N@AEac
[P]ANAONOAOC
PA[NAY_MF]LC_[OQQX[
_PANCCDB
PANDOYM]BB
[PAN]EOHHO
pANgqggr
Panic routine called.
PAN]L_P[
PANQQ[_K
PANSC[BQ
P]_ANXBK
PANYC]KC_PJ
PANY]MJJKJZCLLZ_NSYNHGKBJ
P@Ao5.1u5.1o(.n1
[][P[AOA[
PAO]BHQD
PAOCNBPD
PaOd@[[[
PAOJLL[F
]PAOJNNASBPLZZODXSX
pAOllllllllmllllOllylm
P[A[O[[[NDE@H
PAON]LDN
PAOQJXDFJ
@||pA||PA||0A||
pApApApDp
pApApBp@p@p
pApApCpCpGpEp
pApApDpDpBp
pApApFpHp
pApApGpFpEp
pApApHpFpHp
pApApIpHpDp
PAPB@JXK
pApBpApDp
pApBpApGp
pApBpCpAp
pApBpEpIpBpGp
pApBpIpCpCp
pApBp@pBp@p
pApBp@pHpBp
PAPCGAZEKMQNFG@BSL_G
pApCpApEpIp
pApCpBpIpDp
pApCpFpCp
pApCpFpFp
pApCpFpFp@pDpCpHp
pApCpGpAp
pApCpHpEp
pApCpIpAp
pApCpIpFpEpBpGp
@||pA||p@||@D||
PAPD]F[_GG
pApDpBpApAp@pGpDpBp@p@p
pApDpBpApEp
pApDpCpAp
pApDpCpEpEp
pApDpCpHp
pApDpDpFpBpIpIp
pApDpEpAp
pApDpEpFp
pApDpGpDp@p
pApDpIpCpHpIp
pApDp@pEp
pApEpBpCp
pApEpBpGp@pGp
pApEpDpBpGp@p
pApEpEpAp
pApEpFpEpEp@pDp
pApEpFpGpEpBp@pBp
pApEpHpEp
pApEpIpDp
pApEpIp@pHpGpBpDp
pApEp@pEpCpBpBp
p@@@@@@@@@@@@A@:p@F
pApFpBpDpIpGp
pApFpCpFpDpApHp
pApFpEpGp@pGpHpHp@pEpCpIpIp
pApFpGpFp
pApFpHpCpGp@pDp
pApFpHpDp
pApFpHpFp
pApFpIpAp@pHpFpEp@pEpApIp
pApFp@pAp
PAPG[GNSEG
pApGpApAp
pApGpApBp
pApGpBpFp@p
pApGpCpHpEp
pApGpCp@pApEp
pApGpFpIpBpBpCp
pApGpGpHp
pApGpGpHpBpIp
pApGpHpEpEp
pApGpHp@pApDp
pApGpIpApGp
pApGp@pDp
pApgppepq.
pApHpApDpApBp
pApHpBpEpAp
pApHpCpCpAp
pApHpCpHpCp@pGp
pApHpDpApDpHpBpDp
pApHpGpIpFp@pEp
pApHpHpGpEpHpBp
pApHp@pBp
pApHp@pEpDpFp
pApHp@pGpGpAp
pApHp@pHp
p@@@@@@@@@@@@@@ap@Hz
pApIpApBp
pApIpBpBp
pApIpBpBpCpAp
pApIpBpEpFp
pApIpBpGp
pApIpCpEpIpFpApAp
pApIpCp@p
pApIpDpFp
pApIpDpGp
pApIpFpBpFpGp
pApIpGpApDp
pApIpGpDp
pApIpGpIp
pApIpHpBpDpIp
pApIpIpHp
pAp@pApIp@p
pAp@pBpAp
pAp@pDpGpBp
pAp@pEpIp@p
pAp@pFpBp
pAp@pFpFpGp
pAp@pHpCpFpHpHp
pAp@pIpAp
PAP[SA]S
@@@@@pA@Q@AEac
P_A_QAMDMOS@CDL
@P_AQ[BO
p@@@@@@@@@@@@@@AQ@d
PAQDADQL
PaQQQPTv
PAQ_S[MES
(PaquetBuilder)
P]AQX[K]
PAQZDMNO
ParameterInfo
parameters
parameters are not allowed in views
parentevent
parentfilefullpath
parentfilefullpath_scrubbed
parentfilename
parentfilepath
parentfilepath_scrubbed
parentindices
parentpath
parentpath_scrubbed
parentprocess
parentprocesscmdline
parentprocesscmdline_scrubbed
parentprocessesids
__p___argc
ParseDeviceChain
ParseFailed
parsefloat
parseFloat
parseFloat() is not a constructor
parseint
parseInt
parseInt() is not a constructor
parser not loaded
parser stack overflow
PARSSSSS
	PartA_PrivTags
PartA_PrivTags
partialcrc1
PartialCRC1
partialcrc2
PartialCRC2
partialcrc3
PartialCRC3
(PartialExploit)
partial index WHERE clauses
Partial results with decode errors
partialsignature
ParticipatingModule
Partition
PartitionName
partnerguid
partnerguid_scrubbed
__pascal
PASCFCGKZNLKZ
P@AS_E]_
PASG_YXJO
passivemoderemediation
passthroughnotificationcount
Password
PasswordAge
PasswordChanged
PasswordExpired
passwordlastset
password protected
PasswordReset
p ATAVAWH
-Patched
patch_on_net
patch_on_removable
PathIsURLW
path_scrubbed
PathToWin32Path
PathToWin32Path: UtilWideCharFromUtf8 failed
PathUtils
pattmatch
p@@@@@@@@@@@@A@vpI
PAV@yxsy
p|a(w|aHv|a.e
PAXAG@HDQ
]PAXFQ]Y[P
PAXGCLSNY
PAXJG_O]_
PA][XOHGP
P@@@@@@A@XpDV
p@@@@@@@@@@@@A@XpuP
PAXXBQ]OHQ
PAxxrPBxxrkuPCxxriu
P_AYAEZPP
PAYDCNDX
P_AYDOSG
payloadmgr
PayloadSize
PAYPJGB[N
_@PAY]YLLAY
P)))A]]YZ
||pA||ZA||
PAZAAZAZ
PAZBD@BLZZA
PAZLOMHO_XK
P_AZNSYNSBHY
PAZOYDELPKCCE@
PA_ZQZSJPPJO
PAZXQSLLC]GZ
p@@@@@@@@@@@B@@
p@@@@@@@@@@B@@@
p@@@@@@@@@@B@@@@
"p@@@@B@A@
p@@@@@@@@@@B@A@
p@@@@@@@@@@B@A@@
p@@@@@@BA@
|P@@@@B@A@@
P@@@@B@A@2 @c
p[B@A@2 @Eb
'P@@@@B@A@2 @Hb
p@@@@B@A@2 @I
'P@@@@B@A@2 @P
p@@@@B@A@2 @S
PB@A@2 @Yl
PB@A@2 @Z
pbAAAAAA@AAAAAC
pbAAAA@AAAAAC
p@@@@@@@@@@BAAALp@Ox
p@@@@@@@@@@BAABHp@D
p@@@@@@@@@@BAA@Hp@D
p@@@@@@@@@@BAA@Hp@DL
p@@@@@@@@@@BAA@Hp@Jc
P@@@@B@AAHp@V
p@@@@@@@@@@B@A@ap@O
p@@@@@@@@@@B@A@ap@O8
P@@@@BAB@
P@@@@BAB@ap@[TU
p@@@@@@@@@@B@ABLp@n
p@@@@@@@@@@BA@Blp@R
PBABYHCJFOZ
p@@@@@@@@@@@|@@B@ACa
P@	@@B@ACac
P@@@@BACAHp@Q
PBACAHp@XcI
p	B@ACLp@S
p@@@@B@A@dp@J
PBAEKJNECLBZ
PBAES[DP
]PBAGH_@
PB]AGKOSCOC
p@@@@@@@@@@B@A@gp@R
PBAHDMCDOODXM]
p@@@@@@@@@@B@A@Hp@
p@@@@@@@@@@B@A@Hp@B
p@@@@@@@@@@BA@@Hp@D
p@@@@@@@@@@BA@@Hp@D#H
p@@@@@@@@@@BA@@Hp@DL
p@@@@@@@@@@B@A@Hp@Gu
p@@@@@@@@@@B@A@Hp@Hz
p@@@@@@@@@@B@a@Hp@I
p@@@@@@@@@@B@A@Hp@L
p@@@@@@@@@@BA@@Hp@L
p@@@@@@@@@@B@A@Hp@O#
p@@@@@@@@@@B@A@Hp@p
p@@@@@@@@@@B@A@Hp@P
p@@@@@@@@@@BA@@Hp@P
p@@@@@@@@@@B@A@Hp@T
p@@@@@@@@@@B@A@Hp@V
"p@@@@B@A@Hp@W
p@@@@@@@@@@B@A@Hp@x
p@@@@@@@@@@B@A@Hp@Y
p@@@@@@@@@@B@A@Hp@Z
p@@@@@@@@@@B@A@JQ@M
*p@@@@B@A@JQ@O
p@@@@@@@@@@B@A@Lp@m
p@@@@@@@@@@B@A@Lp@P
p@@@@@@@@@@B@A@Lp@q
P@@@@BA@@np@D
PBAOECXXA
p@@@@@@@@@@B@@@ap@|
p@@@@@@@@@@BA@@Pp@DL
p@@@@@@@@@@B@A@|p@X
PBAXSPPYD
(*PB]A]]Y
(*PBA]]Y
)))PBA]]Y
p@@@@@@@@@@BB@@
p@@@@@@@@@@BB@@0p@@@@@@@@@@B@@@
p@@@@@@@@@@BB@@9p@@@@@@@@@@BB@@-p@@@@@@@@@@B@@@
p@@@@@@@@@@BBA@
p@@@@@@@@@@BBAB
p@@@@@@@@@@BBABKp@@@@@@@@@@B@ABAQ@a
p@@@@@@@@@@BBABKp@@@@@@@@@@BBAB
p@@@@BBACOp@@@@@@@@@@]Y]]
p@@@@@@@@@@BBA@Fp@@@@@@@@@@gqggz
p@@@@@@@@@@BBA@Ip@@@@@@@@@@BBA@
p@@@@@@@@@@BB@AJp@@@@@@@@@@x
p@@@@@@@@@@BBA@Kp@@@@@@@@@@@
p@@@@@@@@@@BBA@Kp@@@@@@@@@@B@A@dp@L2
p@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@
p@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@Kp@@@@@@@@@@@vA@R@ACac
p@@@@@@@@@@BBA@Kp@@@@@@@@@@@:@@E@AEac
p@@@@@@@@@@BBA@#p@@@@@@@@@@@
p@@@@@@@@@@BBA@;p@@@@@@@@@@@
p@@@@@@@@@@BBA@_p@@@@@@@@@@BBA@Ip@@@@@@@@@@BBA@Ip@@@@@@@@@@BBA@
p@@@@@@@@@@BBA@#p@@@@@@@@@@@ @@D@ACac
p@@@@@@@@@@BBA@Qp@@@@@@@@@@@5@@E@ACac
p@@@@@@@@@@BBA@Qp@@@@@@@@@@BBA@
p@@@@@@@@@@BBA@Qp@@@@@@@@@@]Y]]
p@@@@@@@@@@BBA@wp@@@@@@@@@@B@A@
p@@@@@@@@@@BBB@
PBBBBBBB
p@@@@@@@@@@BBB@Ep@@@@@@@@@@BBB@Pp@@@@@@@@@@BBB@pp@@@@@@@@@@BBB@
p@@@@@@@@@@BBB@Ep@@@@@@@@@@@@B@XpID
PBBFHG]MCB]OG
P[BBHNKQ_A[X
p@@@@@@@@@@BB@@hp@@@@@@@@@@@
p@@@@@@@@@@BB@@hp@@@@@@@@@@B@@@
p@@@@@@@@@@BB@@ip@@@@@@@@@@BB@@hp@@@@@@@@@@BB@@:p@@@@@@@@@@BB@@;p@@@@@@@@@@BB@@ip@@@@@@@@@@BB@@:p@@@@@@@@@@@
p@@@@@@@@@@BB@@Kp@@@@@@@@@@@
p@@@@@@@@@@BB@@Kp@@@@@@@@@@@*@@D@ACa
p@@@@@@@@@@BB@@Kp@@@@@@@@@@@:@@E@ACac
PBBN]LNE[PMOAOBNMDH
PB[BNYHD
p@@@@@@@@@@BB@@:p@@@@@@@@@@B@@@_p@W
p@@@@@@@@@@BB@@Qp@@@@@@@@@@@
p@@@@@@@@@@BB@@Qp@@@@@@@@@@@8@@E@AEac
p@@@@@@@@@@BB@@Qp@@@@@@@@@@@ @@D@ACac
p@@@@@@@@@@BB@@Qp@@@@@@@@@@@(@@D@ACac
p@@@@@@@@@@BB@@Qp@@@@@@@@@@@.@@E@ACa
]PBBQZJL]
p@@@@@@@@@@BB@@wp@@@@@@@@@@@
p@@@@@@@@@@BB@@wp@@@@@@@@@@B@@@
p@@@@@@@@@@BB@@wp@@@@@@@@@@BB@@
p@@@@@@@@@@B@C@
p@@@@@@@@@@B@CC_p@I
P@@@BCDYLX
p@@@@B@CE2 @U
PB_CGFKQY
p	@@@@B@C@Hp@O
PB]CLBBSDPXE_L_P
pbCRSSSSS
PBCXAYMO
p Bd_[[[
PBDE_DFB
PBDJ@A_[
PBDJOHLXF
pBDLbd]BDLjf[BBD9
PBDOML_K
p@@@@@@@@@@@B@@dp@@@@@@@@@@BA@@Hp@D
PB"e[[[[
pBEeUHPTBU!
pBEUBQ	f
[[[PB"eV[[[1
PbeX[[[h[[[
[[[PB"eY[[[
PB[FAABOM
PB]FBB_M_]
PBF_PEHGHOE
PBGA_DHZ
PBGBLNZKE_G
PBGCNMXLS
PBGEJJHYL
pbgfG	.0
 ]pbgfGA
pbg#kgfG
PBg;kgfG3r
PBgqggIW
.PbgqggM
PBGZGBKD
PBGZGBQMDYDH
PBHB_ZFAMMHNCM
PBHD@LXGQEGA
PBHG@DAAML]DFPZQ]ASQADQ
PBHG_DSY
PB@HM_H[YA
PBHMZGDKKBGD
"p@@@@B@@@Hp@[
p@@@@@@@@@@B@@@Hp@[d
p@@@@@@@@@@B@@@Hp@d
pB@@@Hp@e
p@@@@@@@@@@B@@@Hp@Jd
p@@@@@@@@@@B@@@Hp@K
p@@@@@@@@@@B@@@Hp@L
p@@@@@@@@@@B@@@Hp@O
p@@@@@@@@@@B@@@Hp@P
p@@@@@@@@@@B@@@Hp@Q
p@@@@@@@@@@B@@@Hp@R
p@@@@@@@@@@B@@@Hp@T
p@@@@@@@@@@B@@@Hp@TR
p@@@@@@@@@@B@@@Hp@]u
p@@@@@@@@@@B@@@Hp@V)
p@@@@@@@@@@B@@@Hp@Z2S
PBH[[YYMN_
PbIAAAA@AAAAAC_|(9z)
p@@@@@@@@@@@@B@Ip@@@@@@@@@@@
_PBJBNY]
PB[JOGZYL
p@@@@@@@@@@B@@@JQ@S
PBJYPZQYHQ_
PBKHOXK]ZXZQL
PBKJGQ_SKNNPL
PB]KKLXSYGM
PBKLDSMB
PB@]KL_HHJKKBS__
PBK]O[LD]
PBKSFFAO
PBKSMKJPYYYOYBS]MPA]F
PBKZLKAA
@@@@@@@@[pbL
PBLDCBAQ
pblendvb
p)))BLGL
pBLgqggt
_@@PBLJJ
pBllllllllmllllOllylm
Pb.llllllllmllllOllylm
Pbllllllllmlll]Y]]
PB_LN]CL
p@@@@@@@@@@B@@@Lp@lF
PBLQGJJYEA
PBLZYDKKS
*||pb||Mb||
_PBMBKXNHPCCYQ]ZM
PBMBSXMPA
PBMHHOJDLM
PBMYMLJA[M
[PBMZGSHQ
_PBNA@DPE
@pBNBbBN
PB]NHZKAN
[PBNMEMN
@PB]NNOCNP
PBNOAYO[A
PBNPM@QDFXMGSHQLH
]PBNQMMAPYBPHP
P[BNYJCLSL
 ||p!||b!||O!||4!||
P[BO]C]C]
PB]ODQALODN
PBOKPZHNZLKZ
PBONP[KBLK
PBON_SODZ]NQZHDX
pBpApApBpApGpFpApDpHpIp
pBpApApHpIpEpHpHpDp
pBpApApIp
pBpApBpBp@p
pBpApEpDp
pBpApGpAp
pBpApGpHp
pBpAp@pDpBpDp
PBPBH]PKAM
pBpBpApAp
pBpBpApHp
pBpBpBpHpGpCpIp
pBpBpCpGp
pBpBpCpIpApHp
pBpBpCpIpEpGp
pBpBpDp@pHpFp
pBpBpEp@p
pBpBpFpEpIpIp
pBpBpFpHp
pBpBpGp@p
pBpBpHpGpHpApApGp
pBpBpIpGp
pBpCpBpAp
pBpCpCpAp
pBpCpDpEp
pBpCpGpGp
pBpCpIpAp
pBpCpIpGpBp
pBpCpIpHp
pBpCpIpIpHp@pGp
pBpDpApIpHp
pBpDpCpFpEp
pBpDpDp@pDpFp@pFpDpDp
pBpDpEpApBpDp
pBpDpEpGp
pBpDpFp@p
pBpDpGpIpEp
pBpDpHpGpCpAp
PBPDPXCQNB
pBpEpApApCpDpApEpCp
pBpEpCpFpCpApHpIp
pBpEpCp@p
pBpEpCp@pGp
pBpEpDpGpBpHp
pBpEpFpApIpGp
pBpEpFpGpIpBpApGp
pBpEpFp@p
pBpEpGpBpBpDp
pBpEpHpCp
pBpEpIpCpBp
pBpFpApAp
pBpFpApIpDpGpGp
pBpFpAp@pAp
pBpFpAp@pHp@p
pBpFpDpCpFp
pBpFpEpHp@p
pBpFpFpCpGp
pBpFpFpDpHp
pBpFpFpEp
pBpFpFpIpEp
pBpFpHpDp@p
pBpFpHpGp
pBpFpIpBp@pGp
pBpFpIpCpCpFp
pBpGpApIpEpGpGpAp
pBpGpAp@pGp
pBpGpBpBpDp@pFpCp
pBpGpBpEpBpHpGpDp
pBpGpBpIpIpCpEp
pBpGpDpApGp
pBpGpEpEpCpGpHp
pBpGpEp@p
pBpGpFpIp
pBpGpGpApGp
pBpGpHpEpCp
pBpGpHpFpBpBp
pBpGpIpBp
p.bpgppepq0R
pBpGp@pGpApEpHp
pBpGp@p@pFpFp
pBpHpApDp
pBpHpApIp
pBpHpAp@p
pBpHpFpCp
pBpHpFpCp@p
pBpHpFpEpHp
pBpHpFpFpEpAp@p
pBpHpIpDp@pEpFp
pBpHp@pIp
pBpHp@pIpBp@pEpAp@p
pBpIpBpAp@p
pBpIpDpGpDpFpFp
pBpIpDp@p
pBpIpEpDp
pBpIpGpCpBpEp
pBpIpGp@pHp
pBpIpHpIp
@pBp(ISSW@JBJj
PBPL]@ZK_AA
_PBPOQHBMLQ_
pBp@pApCpFp@p
pBp@pBpApGpCp
PBP:PBPCK
pBp@pBpEpBp
pBp@pDpIp@pIpIpHp
pBp@pEpApGpBp
pBp@pEpGp
pBp@pEpHpBp
pBp@pFpFp
pBp@pIpIpEp
pBp@p@pBpBpIpEpCpHp
pBp@p@pFp
pBp@p@pFpIp
pBp@p@pGpCpFp@p
pBp@p@p@p
PBPQZA_NH[[
@pBp@YEBYg
]PB]QBAY]G[
PBQBZMDSHL_KN
PBQEGXFM
P'bqfrfsf
PBQHH]OPQ
P@@@@@@@B@q@@@@@@@@@@x
PBSDSPJA]BX
P[BSHB]H][NZOCS][
PBSKBPB[
]PBSQOF_JE_A
P@BSY@OXNH
@pBtBBI9
@pBUAtLG
(*]PBuA]]Y
(*PBUA]]Y
PBugwngfG
@pBvB]O9
p@@@@@B@@vpH@@@@@b
PBVyEyEy
PBXAMPNLCO
PBX]BBCXXZ[YQGY
P[[[B_XdO[[[W[[[
PBXGC@AQY
@pBXI9	Ae
PB]XM@DCN
p@@@@@@@@@@B@@@xp@C
pB@@@xp@C
p@@@@@@@@@@@B@@XpK@@@@@
PBXPP]OOS_B
PB[yE@TEXZYZ9@YZEegQ(@SSWBYK9	
PB[YM]SKSS
pbZg7wggG
PB[[[Z[[[K[[[
?PB[[[Z[[[K[[[3d
P[BZKZSSFH[EQNYY
PBZXCQABNM[]JK
PBZYMMYA
pC@@@@@ 
[P	Caaa3aababaea@B)253[6
p@@@@@@@@@@@	@@C@ACa
P[CA]OCGJM
[PCAOSJ[X
@pCBC:C*C
PCBCHDJMGM]J
P]CBCYMEXXOE
@P[[[C[BDFFQM
P_CBECAXE
@]PCBPCQG]_
PCBX[PCQHACK_
PC_BXQBPY]AM
PcccLccacJc0
PCCCO_QDXSA
P_CCFBK[
PCC]GZN@Y
[PCCHS]LS_Z
#)))PCCJJJJC
PC[_CJ[SCK
PCCMMZQBMN
PCCYNQK]
PCDHPPXLNNSPQFC
P!CdK[[[
PC@D[LSKA
P_CDOOSCC
PCDPJG__
PCdy[[[ [[[
PCEAZBJE_NHKAJ@P
PcfGt@fegqgg
PCFQKF]KKMH_QHK
PCF_]SHBA_JXGF
PCFYNOO]BDY]Q
@PCFYPGQQ
PCGADQYG
P[CGDODB[DHPHOYQQQ
P)c;ggfG?
Pcggfw6?z
pC:ggwiS1_
[PCGJ@@AHCXP
?PcgkcgfG
PCgobgfG
PcgwoggG
PcgwoggG	
PcgwoggG 
PcgwoggG!
PcgwoggG"
PcgwoggG#
PcgwoggG'
PcgwoggG'*
PcgwoggG(.
PcgwoggG)
PcgwoggG*
PcgwoggG.
PcgwoggG;
PcgwoggG?
PcgwoggG@
PcgwoggG[
PcgwoggG|
PcgwoggG| 
PcgwoggG)0
PcgwoggG0
PcgwoggG2
PcgwoggG2PO
PcgwoggG-4
PcgwoggG4
PcgwoggG)6
PcgwoggG6
PcgwoggG6r
PcgwoggG	7
PcgwoggG;7
PcgwoggG7
PcgwoggG7:
PcgwoggG8
PcgwoggG8f
PcgwoggG9
PcgwoggG9Z
PcgwoggGa
PcgwoggG!A
PcgwoggGA
PcgwoggGab
PcgwoggGBvn
PcgwoggGC
PcgwoggGd
PcgwoggG"D
PcgwoggG_D
PcgwoggGD
PcgwoggGDQ
PcgwoggGe
PcgwoggG@et
PcgwoggGf
PcgwoggGf;
PcgwoggGF
PcgwoggGg
PcgwoggGG
PcgwoggGGf
PcgwoggGH
PcgwoggGh3
PcgwoggGH5;
PcgwoggGi
PcgwoggGI
PcgwoggGj
PcgwoggGJ
PcgwoggGJ;5
PcgwoggGJi
PcgwoggGJP
PcgwoggGK
PcgwoggGl
PcgwoggGLC
PcgwoggGll
PcgwoggG[m
PcgwoggGm
PcgwoggG"M
PcgwoggGM]a[gqgg
PcgwoggGML
PcgwoggGn
PcgwoggGN
PcgwoggGn5
PcgwoggGo
PcgwoggGO
PcgwoggGOJ
PcgwoggGp
PcgwoggGP
PcgwoggGP1
PcgwoggGQ.
PcgwoggGr
PcgwoggGR
PcgwoggG:S
PcgwoggGsD
PcgwoggGt
PcgwoggGt'
PcgwoggGT
PcgwoggGU
PcgwoggGu7
PcgwoggGv
PcgwoggGv?
PcgwoggGvN
PcgwoggGVO
PcgwoggGw
PcgwoggGW
PcgwoggG_x
PcgwoggGx
PcgwoggGX
PcgwoggGy
PcgwoggG	yc
PcgwoggGYK
PcgwoggGZ
PcgwoggGZ|
PcgwoggGZb
PCHGE_S[Z_QSJJALCYHAZGXPX
pChgqgg!
p)))CH_HZJ[@Y]
PCHKBNKKHB
@PCHZCXAP
PC@[H[ZGP
@pCiCdC_CNCFC)C!C
P[[c[[[I[[[s[j[r['[
PCJGMXXZJ@M
PCJMA[GGM@KE[LA
PCJX[C]D_N
]PC]J]XKG]
PCKCLYYNJ
PCKDH[GM@
pCKdV[[[
PCKGY]YCKZOQ]M
PCK@JJGG
P]CKLKPE
PC_KN@AQ
PCKSD]KBC
@@@@@@@@[pcL
PCLBZMJQD
_P_CLKMBLGFX
PcllllllllmllllOllylm
PCllllllllmlll]Y]]
PCLN_GECO]S
PCL]ZKXG
PCMAGAM]ZN
[[[pCMdA[[[
P[CMG[QQY
PCMOMEHP
PC]M[OYOSJMG
pcmpestri
pcmpestrm
pcmpistri
pcmpistrm
PCMY_SNGSJDNLK
[PCNCACMNA[
P[CNDZY@JZ
)))PCN]GMX
PCNHCFLBN
PCNHMKSJJCAP
PCNNQHBODH
P@CNSKY[
[PCNX_QH]AKJA@PO
PCOBZZPYHDH
@pCoCdC-C
P[COJO_[
PCOKKKGXO
PCOK_OQB
__p__commode
]PCOQLBXM
pCpApBpHpCpGp@pGpBp
pCpApEpEpAp
pCpApGpAp
pCpApGpCp
pCpApHpBpApEpBp
pCpApHpEpHpApApBpBpCpApDp
PCPAXMA_S
pCpBpApGpCp
pCpBpAp@pEpApIpEpHpDpEp
pCpBpBpBp
pCpBpBpHpAp
pCpBpBp@pHp
pCpBpCpCp@pBpIpCpApFpCp@p
pCpBpDpFpFpBp
pCpBpEpBp
pCpBpEpEpHpBp
pCpBpFpBp@pApHp@p
pCpBpFpCpGpDpApEpFp@pBpCpApEp
pCpBpGpDpDpDp
pCpBp@p@pHp
pCpCpApBpBp
pCpCpApFp
pCpCpDpApHpFpDpHpGpDpApEp
pCpCpDpBp
pCpCpDpEpEpIpEpApHp
pCpCpEpCpDpHp
pCpCpEpFpBpDp
pCpCpEp@pGp
pCpCpFpApIp
pCpCpHpAp
pCpCpHpDp
pCpCpHpGpDp
pCpCpHpHpGpGpCp
pCpCpHpIpFp
pCpCpIpEpBp
pCpCp@pHpBp
pCpDpApApFp
pCpDpBpDp
pCpDpCpApIp
pCpDpFpFpCp
pCpDpGpApCp
pCpDpGpCp
pCpDpGp@p
pCpDpHpBpEpAp@pDp@p
pCpDpIpGpFp@p
pCpDpIpIpGpApApDp
pCpec 7  
pCpEpBpHpHpIpFpHp
pCpEpCpFpBp
pCpEpCp@p@pApAp
pCpEpEpAp
pCpEpEpAp@p
pCpEpEp@pHp
pCpEpHpFpGpApGpAp
pCpEpHpIpBp
pCpEpIpFp
pCpEp@pBpFpIpEpIp
pCpEp@pFp
pCpFpApAp
pCpFpApBpIpCpGpCpEp
pCpFpApGp@pCpCpEp
pCpFpApHp
pCpFpDpApCp
pCpFpDpEp
pCpFpFpAp
pCpFpGpFpFpCp
pCpFpGpGp
pCpFpHpBp
pCpFpHpCpHpDp
pCpFpIpDpFpAp
pCpFp@pBpGpBp@p
pCpFp@pHp
pCpFp@p@p
pCpGpBpAp
pCpGpCpHpGp
pCpGpEpFpAp
pCpGpGpCp@p
pCpGpGpDpFp
pCpGpHpApDp
pCpGpIpAp
pCpGpIpCp
pCpGpIpDp@p
pCpGpIpFpCpCp@p
pCpGpIpHpCpFpDp
pCpGp@pAp
pc]pgppepq
PCpgppepq
pCpGp@pFpGpBpIp
p@@@@@@@@@@@@@@cp@H
pCpHpApFp
pCpHpApHp@pGpGp
pCpHpBpApDpApFpCp
pCpHpBpBp
pCpHpBpCp
pCpHpCpIp
pCpHpCp@p
pCpHpDpCp
pCpHpFpBpDpEp
pCpHpFpFpGp
pCpHpHpCpDpBpGp@p
pCpHpHpIp
pCpHpIp@pCpApDpBpFpCpFp
pCpHp@pApFpFp
pCpIpBpDpHpCp
pCpIpCpAp
pCpIpCpApIpHp@p
pCpIpCp@p
pCpIpEpFp
pCpIpEpHp
pCpIpEp@p
pCpIpEp@pFp
pCpIpGpHp
pCpIpGpIpHpDp
pCpIpHpEp
pCpIpHpEpEp
pCpIpIpDp
pCpIpIpFpEp
pCpIp@pCpDpCpHp
pCpIp@pIpCp
PC[P_KMMQ
pCp@pApIp
pCp@pAp@p
pCp@pCpHp
pCp@pDpDpFpEp
pCp@pDpHpCpFp
pCp@pEpIpEp
pCp@pFpDp
pCp@pGpFp
pCp@pGpHp
pCp@pHpGp
pCp@p@pEp
PcPRSSSSS
PcPS0SSS
PcPS0SSSqSSBPLc9
PcPS1SSS
PcPS2SSS
PcPS2SSSSSSSQsKRSS9
PcPS2SSSURSBASs
PcPS2SSSzSSBWQLC9
PcPS3SSS
PcPS3SSS4SSBQ
PcPS4SSSURSBASs
PcPS4SSSURSBASsiRSS
PcPS4SSSURSBASsIRSS
PcPS4SSSURSBASsqRSS
PcPS4SSSURSBASs_RSS
PcPS4SSSURSBASsWRSS
PcPS5SSS
PcPS7SSS
PcPS7SSS7RSBPs
PcPS7SSSURSBASs
PcPS7SSSURSBASsGRSS
PcPS9PSSqRSBQ(PSSWXTL
PcPS9RSShRSBQLM9
PcPS9SSSURSBASsbRSS
PcPS9SSSURSBASsIRSS
PcPS9SSSURSBASsURSS
PcPSa[SS
PcPSaSSSHQSBFYEPgzQ_PX[
PcPSaSSSSSSSQsSQSS9
PcPSaVSS*SSBE@ZEYQ(dSSW@gBg
PcPSBSSSSSSSPLL
PcPSBSSSSSSSPN
PcPSCSSSSSSSPN
PcPSDRSSIPSBA[Q
PcPSdRSS.RSBQ(VSSW@UBU(USSWsSS
PcPSdSSS
PcPSdSSSPSSB
PcPSdSSSWSSBW
PcPSEQSSmRSBP@ZP
PcPSeSSSASSBPWgcMWP
PcPSESSSSSSSPQM9
PcPSESSSSSSSQE9
PcPSfRSS
PcPSfRSS6WSBr
PcPSFRSSSSSSQs
PcPSfSSS
PcPSfSSSjSSBQ
PcPSfSSSJSSBQ
PcPSfSSS;SSBQ
PcPSFVSS
PcPSgSSS
PcPSgSSSbPSBQ(VSSWYU(USSWs
PcPSgSSSSSSSQE9
PcPSjRSS
PcPSjSSS
PcPSjSSSESSBQ
PcPSjSSSOSSBQ
PcPSkRSS
PcPSKSSSJSSBQ
PcPSLSSSSSSSQJ7PdQEyDQN
PcPSmSSS
PcPSmSSSQSSBEXEWgePYQP
PcPSmSSS_SSBEXEWgePYQP
PcPSMSSSSSSSQ
PcPSNRSSrSSBQ(NSSWYQ(
PcPSNSSSKSSBQPdDQPM
PcPSOSSS
PcPSpRSS
PcPSPRSS
PcPSpSSS
PcPS)QSS
PcPS]QSS
PcPSRRSS
PcPS_RSS
PcPSrSSS
PcPS[RSS:SSBpSSSSSSSS@ZD@XK@YWXWEaPTxREXQ(#RSW@VTBVaVBVD
PcPSrSSSSSSSQvsCRSS9
PcPS SSS
PcPS#SSS
PcPS(SSS
PcPS-SSS
PcPS.SSS
PcPS:SSS
PcPS;SSS
PcPS|SSS
PcPS|SSS9WSBWPgMWYW9Q
PcPS'SSSHQSBPs
PcPS|SSSiSSBEYPLs
PcPS;SSSJPSBQP
PcPS!SSSkRSBQLy9
PcPSsSSS
PcPS*SSS@SSBAQE
PcPS@SSSSSSSPQ
PcPSURSS
PcPSuSSSSSSSQDaXPKaT]Wv
PcPSUVSScRSBQL|9
PcPS[VSS
PcPSV[SS
PcPSvSSS
PcPS'WSSbWSBPj?WSSVj5WSS]W
PcPSwSSS
PcPSwUSS
PcPSySSS
PcPSZRSS
PCQGZDJDC
PC[QM_MQZ
PCQ]NOKAALG
PCQQQDPJ
PcQS0SSSSSSSQE
PcQS3SSS
PcQS5SSS
PcQS8SSS
PcQSARSS
PcQSBSSSJSSBQLC9
PcQSbSSSqPSBQM9
PcQSBSSSSSSSQLk9
PcQSBSSSSSSSQP
PcQScSSS#SSBWK
PcQSdSSS
PcQSdSSSKSSBQM9
PcQSeSSS
PcQSeSSSDQSBQ
PcQSESSSSSSSQLC
PcQSfSSSSSSSQLC9
PcQSgSSS
PcQSgSSSSSSSQP
PcQShSSSdSSBQ
PcQSiSSS
PcQSISSSSSSSQM9
PcQSjSSS
PcQSJSSSSSSSQE
PcQSKSSSSSSSQs
PcQSlSSS
PcQSLSSS
PcQSLSSSKSSBQLs
PcQSmSSS1RSBQL_9
PcQSmSSSyRSBQL_9
PcQSnSSS
PcQSOSSSSSSSQ
PcQSOSSSSSSSQL
PcQSpSSSSSSSQLcdVQLjeFQL
PcQSqSSS
PcQSrSSS
PcQSrSSSSSSSQE9
PcQS SSS
PcQS"SSS
PcQS#SSS
PcQS|SSS
PcQS!SSSbRSBQ
PcQS_SSSSSSSQ
PcQS[SSSSSSSQLk
PcQS!SSSSSSSQLK9
PcQS"SSSSSSSQP
PcQSsSSSSSSSQE
PcQSTSSSSSSSQL
PcQSUSSSSSSSP
PcQSuSSSSSSSPLC9
PcQSvSSSESSBQ
PcQSXSSS
PcQSXSSSSSSSPQeVPQ
PcQSXSSSSSSSQP
PcQSySSS
PcQSzSSSVSSBEYPD
PCQYOSEZ[
PC[_QYY[F
pC@@@@@r
PcRSQSSSSSSSEy
PcRSUSSSSSSSs
Pc[S2BSSRSSBQ(RSSW
Pc[S3QSSGRSBQ(VSSWYU(USSWsSCSS9gUs
Pc[S5SSStPSBW(
Pc[S6RSS
Pc[ScPSS
Pc[SCRSS
Pc[SdSSSSSSSQPWVPI9
Pc[SgRSS
Pc[SiSSS
Pc[SiWSSTQSBQ(WSSWK
Pc[SjRSS
Pc[SMRSSwSSBQ(VSSW@UBU(uSSWK9
PCSNOO_SNSZ
Pc[SNRSS
Pc[SnSSS
Pc[S	PSS
Pc[S;PSS
Pc[S|PSS
Pc[SqRSSwSSBQ(VSSW@UBU(uSSWK9
Pc[S)QSS
Pc[S|QSS
Pc[S SSS
Pc[S#SSS
Pc[S;SSS
Pc[S*SSSSSSSQ
Pc[SUPSS
Pc[SvRSS1WSBW@WE@UE]W
Pc[SvRSSnSSBQ(PSSWXTs
Pc[SvWSS
Pc_SWWSS
Pc[SxRSS
Pc[SXRSSaSSBE9Y]VX]V
Pc[SYPSS
Pc[SyRSS
pC@@@@@t
PcTS8SSS@RSBs
PcTS8WSS
PcTSCPSS
PcTSfWSSoSSBQ(WSSW
PcTSKRSS
PcTSlPSS
PcTS@QSS
PcTSrQSS
PcTS	RSS
PcTSUWSS
PcTS-WSSjWSBQ(WSSW
PcTSXPSS
PcUS2SSS
PcUS4RSS
PcUSASSSSSSSQPWVQsCRSS9
PcUSCWSS*PSBQLC9
PcUSIRSS
PcUS@QSS
PcUS SSS
PcUS!SSS
PcUSUQSS[SSBM
PcUS?WSS[SSBLA
PcUS-YSS
PcUS-YSSCSSBE9@Us
PcUSZRSS
PcVS1QSS
PcVS1RSS[SSBPj	RSSQj
PcVS1SSS
PcVS2RSS
PcVS6RSSWPSBQ(VSSWs5
PcVS7QSS)PSBQ
PcVS8SSS
PcVS8WSS
PcVS9SSS
PcVSaQSS
PcVSBQSS
PcVSBRSS
PcVSBVSS
PcVScQSS
PcVSCQSS
PcVSCRSS
PcVSCUSS
PcVSDUSS
PcVSdWSS
PcVSeSSSSSSSQEs
PcVSfQSS
PcVSfRSS
PcVSgQSS
PcVSgSSS
PcVSGZSS
PcVSHPSS
PcVShSSS
PcVSiRSSRPSBQ(VSSWs5
PcVSjQSS
PcVSjRSS
PcVSJRSS
PcVSKSSS
PcVSmQSS
PcVSmRSS
PcVSMRSS
PcVSM[SSSPSBQ(VSSWs5
PcVSnWSS
PcVSORSS
PcVSPRSS
PcVS"PSS
PcVS-PSS
PcVS[PSS
PcVSqQSS
PcVSqRSS
PcVS*QSS
PcVS]QSS
PcVSqWSS
PcVSrQSS
PcVS(RSS
PcVS*RSS
PcVS-RSS
PcVS|RSSkQSBPLC9
PcVS._SS
PcVS	SSS
PcVS SSS
PcVS?SSS
PcVS"SSSDRSBQLC9
PcVS?SSSiQSBPLC9
PcVS;SSSKPSBLAQM9
PcVSTRSS
PcVSvQSS
PcVSvRSS
PcVS|VSS
PcVS)WSS
PcVS*WSS#PSBQ(VSSW(uSSWK9
PcVSySSSmSSBQM9
PcVSzRSS
PcVS(ZSS
PcVSzSSS
PcVSzSSSKSSBQ
PcWS0QSS
PcWS0RSS
PcWS0SSS
PcWS1RSS
PcWS1RSSwWSBQ(VSSW(uSSWK9
PcWS1SSS
PcWS1SSSuSSBQLw9
PcWS2RSS
PcWS2SSS
PcWS2WSS
PcWS3SSS
PcWS3SSS.QSBQPLcsSSS
PcWS4RSS
PcWS4SSS
PcWS4WSS
PcWS4WSS-RSBQ(VSSW@ZBZ(USSWsSS
PcWS5RSS
PcWS6QSS
PcWS6RSS
PcWS7RSS
PcWS7SSS
PcWS8PSSWQSBE@VE@WEXWj
PcWS8QSS
PcWS8RSS
PcWS8SSS
PcWS9QSS
PcWSARSS
PcWSaSSS
PcWSbQSS
PcWSBRSS
PcWScRSS
PcWSCRSS
PcWScSSSSSSSQ
PcWSCVSS
PcWSdQSS
PcWSDQSS
PcWSdRSS
PcWSDRSS
PcWSdSSS4WSBQ
PcWSdWSS
PcWSeQSS
PcWSEQSS
PcWSFQSS
PcWSFRSSeQSBQM9
PcWSfSSSSSSSs
PcWSgQSS
PcWSGQSS
PcWSgRSS
PcWShQSS
PcWSHQSS
PcWShRSS
PcWShSSSESSBQ
PcWShSSSOSSBQ
PcWShVSS
PcWSIPSS
PcWSIQSS
PcWSISSSSSSSQvs
PcWSJPSS
PcWSJQSS
PcWSjSSS-SSBWQM9
PcWSjSSSSSSSQW
PcWSkQSS
PcWSKQSS
PcWSkSSS
PcWSkSSS4WSBQ
PcWSKTSS
PcWSLPSS
PcWSLPSSWSSBPM9
PcWSlQSS
PcWSLQSS
PcWSlRSS
PcWSLRSS
PcWSmPSS
PcWSMPSSSWSBQ(VSSW(uSSWK9
PcWSMQSS
PcWSM]SS
PcWSMSSSSSSSQsS
PcWSMSSSSSSSQvs
PcWSNPSS
PcWSnQSS
PcWSnRSS
PcWSNRSS
PcWSoQSS
PcWSOQSS
PcWSoRSS
PcWSORSS
PcWSoRSSeSSBQ(VSSWYU(USSWXQ(
PcWSOWSSkSSBQ(QSSW@@B@K
PcWSPRSSZSSBQj
PcWS:PSS
PcWS[PSS
PcWS]PSS
PcWSpSSS
PcWSqPSS
PcWSqRSSPRSBQs
PcWS QSS
PcWS-QSS
PcWS.QSS
PcWS]QSS
PcWS|QSS
PcWSRRSS
PcWS!RSS
PcWS)RSS
PcWS*RSS
PcWS-RSS
PcWS.RSS
PcWS:RSS
PcWS;RSS
PcWS[RSS
PcWS_RSS
PcWS|RSS
PcWS|RSS5PSBQ(VSSW(USSW@WBWs
PcWSrSSS
PcWSSQSS7RSBQ(VSSW@_B_(uSSWK9
PcWSsRSS
PcWSsRSSXSSBQjKRSSWjARSS]WjXRSSEPhQRSSPH
PcWS!_SS
PcWS!SSS
PcWS"SSS
PcWS#SSS
PcWS)SSS
PcWS*SSS
PcWS-SSS
PcWS.SSS
PcWS:SSS
PcWS?SSS
PcWS(SSSAQSBWYE_EPg
PcWS(SSSRRSBQs
PcWS|SSS]RSBQv(
PcWS]SSSSSSSQs
PcWSTQSS
PcWSTRSS
PcWStSSS
PcWSuPSSzPSBQ(VSSW(uSSWK9
PcWSUQSS
PcWSuRSS
PcWSuRSS]RSBQs
PcWSUYSS
PcWSVQSS[PSBQ(VSSW(uSSWK9
PcWS VSS
PcWS-VSS
PcWSvSSS
PcWSwRSS
PcWSWRSS
PcWSwRSSmWSBAUE
PcWS@WSS
PcWS|WSS
PcWSWTSS
PcWSWWSS
PcWSxPSS
PcWSXQSSFWSBE_E@TEYA@E
PcWSxRSS
PcWSyRSS
PcWSYRSS
PcWSYRSSLSSBEXEPLC9
PcWSyRSSnRSBP@VP
PcWSySSSSSSSQM9
PcWSZUSS
_PCXBJQCZ_
PCXBSCZO][CAQXYZHS]S[Q
PCXPAE[EB
)PCxx]Y]]!
:!pC]Y]]
P[CYB]ODP
PC]YGQPN
PCYJZXJJ
PcYllllllllmllllOllylm
[P@CYNMK
PCYXOMYKS
]PC@Y]YCDNEL_
P_CYYD]]
pcZg_jgfG
PCZJJD_]
PCZPLNQEEDJ
]P_C_ZSGEK
PCZSMOSZ
PcZSTWSSbSSBQ(PSSW@VBVsSWSS9
_PCZSYJA
PCZ@YNSCGJB
[PCZZLLGG
@@@@@@@@|p@d
p !d_[[['[[[
pd][[['[[[
Pd@[[[	[[[
Pd][[[.[[["[[[
_Pd0!|wfM3
pD@@@@@2
p@@@@@@@@@@@D@@2p@A
p|||:	d4
pd7pgppepq
Pd_[[[9[[[
pd9dTe|k
(-PdA[[[
PdA[[[	[[[
pdA[[[9[[[
PdA[[[b[[[g[[[
p@@@@@@@@@@@'@@D@ACac
p@@@@@@@@@@@(@@D@ACac
p@@@@@@@@@@@*@@D@ACac
PdA[[[H[[[A[[[
PdA[[[J[[[
PDA[JGZKZ
PDAKE_EN
PDAL[MZKG
]PD[A_LNQZ
[P]DAPLCP
PD_AY]B[E
pdB[[[*[[[
pdB[[[?[[[
PdB[[[	[[[
PdB[[[|[[[
*Pd(*bdAF
P_DB_JAHJ
PDBKCGO[H
@PDBKDH[O__
PdB[[[m[[[l[[[P
PDB]OEXZZQSQ
PDBOKZCQC
pdbproject
PDBProject
pdbproject_scrubbed
PdB[[[p[[[w[[[
PdB[[[U[[[C[[[5
PDBZ[]LDOK
PdC[[[0[[[7[[[
PdC[[[E[[[
PdC[[[j[[[
]P_DC]M]
PDCOFXHXKGFBA
PDC_PYQZL
PdC[[[q[[[
PDCSYQXEYJJXPQLHXYH
PdC[[[y[[[
_PDCY]B@MPP_H
p@DC.Z_@@@@@@A@
P_[DCZM_BO
PdC[[[z[[[x[[[
p.Dd@[[[
@@@@@[pDD
[[[PdddA[[[
PdddA[[[
PdddH[[[
PdddI[[[
PdddK[[[
[[[PdddP[[[
PdddX[[[
PdddY[[[
P:DdF[[[
PD]DGJSOGLXG
PDdJ[[[_[[[x[[[
pDdM[[[Y[[[w[[[
PDDOPAZLOYE[
PDDPMENN
P(DdR[[[I[[[M[[[
pDd_[[[S[[[T[[[Or
[__PDD@YCA[
PDDYKPGXPSYZA
P@DECGHDLYCB
@PDE[JAC
PD]E_Q_QHQ
PDFB@_YNAB
PdF[[[C[[[
PDF_DecodeAllFilters
PDF_DisableDeepScan
PDF_DisableFilters
PDF_DisableObjectStreams
PDF_DisableXFA
PDF_DisableXRefStreams
Pd][[[F[[[E[[[F
PDF_ForceDeepScan
PDF_IgnoreLengthField
PDF_JYDMPAP
PDF_NoOnAccessScanLimits
PDFParams
PDF_ScanAllStreams
PDF:ScanAllUris
PDF_ScanSeparateScriptsAsWell
PDF_TrustLengthFields
(PdfUriList)
PDFX@MBM]NKZLS@HEP]DYNJ_DS]NEM
PDg1kgfGX
PD[@GKGHKCOYAY
PdG[[[m[[[
PDGMKBL_B]EOPBM
p[[[[[[dH[[[
pD@@@@@#H
P[[[[[[dH[[[
PdH[[[#[[[
PdH[[[7[[[*[[[.
]P_DHCJC
PDhgMkgfGX
PDHJX_[YZ
PdH[[[L[[[
PdH[[[r[[[q[[[
pdH[[[Z[[[0[[[
pdI[[["[[[![[[
pdI[[[.[[[-[[[
Pd_[[[i[[[
PdI[[[	[[[
PdI[[[1[[[7[[[
pdI[[[5[[[)[[[
pdI[[[7[[[
pdI[[[:[[[9[[[
Pd[[[[i[[[h[[[
PdI[[[K[[[y[[[
pD@@@@@#IL
PdI[[[L[[[s[[[
PdI[[[y[[[
Pd@[[[J[[[
PdJ[[[*[[[![[[;
PdJ[[[-[[[
pdJ[[[0[[[
PDJJZYNO
PdJ[[[k[[[j[[[
_PDJLKXMZXJN
pDJllllllllmllllOllylm
PDJPZ_YHOSP[OLCLN
[[[P']dJ[[[t
PDJXHBHS
[[[*p]dK[[[
p[[[[[[dK[[[
pdK[[[8[[[
PdK[[[9[[[
PdK[[[9[[[8[[[
PdK[[[B[[[E[[[
PDKFPYJHKCN[NO_Y
PdK[[[g[[[
P_[DKJHF]C]
PD_KLOK_OCFFN
PD[KNBCXM
P]DK[OBN
-PdK[[[p[[[
PdK[[[P[[[
PDK]SKMX
PdK[[[w[[[t[[[
P@DKXAMGMZZFCL_
PdK[[[y[[[w[[[
pD@@@@@L
PdL[[[3[[[
PdL[[[A[[[
|PdL[[[b[[[
PdL[[[b[[[g[[[b
|PdL[[[d[[[
PdL[[[F[[[
PDLGXJXG
PDLKLP_[NHH@M
pDllllllllmllllOllylmm!
p)))DLNFQ
PdM[[[F[[[
PDMNEF[]HSQ
!PdM[[[X[[[C[[[
Pd@[[[N[[[
PdN[[[;[[[
P]DNCSCOJ
PdN[[[D[[[
PdN[[[D[[[|[[[0o
PDNDHNPQL
PDNDN[GLB_YE[M[Q
Pd[[[[N[[[E[[[u
PDN]GOLA]]EJ
PDNHNHOKP
PDNMO_HNYNSC_XDSFNEPEL
PDN@XD_H[_GESLC
pdN[[[Z[[[	[[[
PD]NZCLXD]A
Pd@[[[O[[[
pdO[[[;[[[8[[[p
p|dO[[[;[[[9[[[
]@PD_O_EJEL
PdO[[[f[[[e[[[DfHdB[[[
PdO[[[g[[[
P]D_]OGG_G
PdO[[[H[[[
PDOKMSJPPZND
PdO[[[q[[[
_PDOSHJH]HZ@
p?]dP[[[
|Pd	P0d6
PDP[AFXZPDAH[_
pDpApApDp
pDpApDpCpIp
pDpApDp@pAp
pDpApDp@pHp@p
pDpApEpEp
pDpApFpEp
pDpApHpIpFp
pDpApIpFpApHpFpBpDp
pDpBpBpCp
pDpBpCpBp
pDpBpCpDpAp
pDpBpDpBp
pDpBpDpGpDpIpHpCp
pDpBpDpHp
pDpBpDpIp@p
pDpBpEpCp
pDpBpEpFp
pDpBpEp@p
pDpBpFpDpEp
pDpBpFpEp
pDpBpFpGp
pDpBpFpHp
pDpBp@pEp
pDpBp@pHpDpAp
pDpCpBpEp
pDpCpCpBpIp
pDpCpCpGpHp
pDpCpDpEpEp
pDpCpEpDp
pDpCpGpHpHp
pDpCpIpDp
pDpCp@pEp
pDpDpAp@pGpIp
pDpDpBpDp@p
pDpDpBp@pEpFpHp
pDpDpFpIpGp
pDpDpGp@p
pDpDpHpCpIp
pDpEpCpBpDpCp
pDpEpCpBpHp
pDpEpCpHpIpGp
pDpEpCpIp
pDpEpDpHpBp
pDpEpFpIpEpHpHp
pDpEpHpBp
pDpEpHpEpIp
pDpEpHpEp@p
p@@@@@@@@dp@f
pDpFpApAp
pDpFpApCpCpApDpBpDpGpGp
pDpFpApDpHpIpHpHpDpDpHpBp
pDpFpApHp
pDpFpAp@pHp
pDpFpBpBpEpIpGp
pDpFpBp@pCp@p
pDpFpFpApEpIpBpHpEpHpDp
pDpFpGpDpCpAp
pDpFpHpBp
pDpFpHpGpBpEpBpBp
pDpFpIpFpFp@pCpIp
pDpFpIpFpHp
pDpFp@pBp
pDpGpApDp
pDpGpEpBpApDpIpCpHp
pDpGpEpFpFpCp
pDpGpFpCpAp
pDpGpFpGpHp
pDpGpGpGp
pDpGpGpHp
pDpGpHpEpHpDp@p
pDpGpHpEp@p
pDpgppepqd
pDpHpApDpDp
pDpHpApEpFpEpBp
pDpHpCpDpFp
pDpHpCpGpHp
pDpHpCpHpIpFpIpHpIp
pDpHpDpCp
pDpHpEpEp
pDpHpFpApDpFpEp
pDpHpFpBpFpIpIpEp
pDpHpGpDpCpBpDp
pDpHpGpGp
pDpHpHpCp
pDpHpHpIp
pDpHpIpIp
pDpIpApAp
pDpIpApBpFpCpGp@p
pDpIpApDpEpGp@p
pDpIpApIp@pFpGp
pDpIpBpIp
pDpIpFpHpGp
pDpIpGp@pApGp
pDpIp@pDpIp
pDpIp@pGpFp@p
pDpIp@pIp
PD]PJPNOG[
PDPL_KADP_D@Y
P@@@@@@@@dp@McsQ
PD@P]NNZDP
PDPO[SFXPGHNK
"p@@@@dp@P|
pDp@pApFpCp
pDp@pBpHpEp
pDp@pDpDpIp@p
pDp@pDpHpEpHp
P]DPPEK]BS_
pDp@pEpCp@p
pDp@pGpHp
pDp@pHpFpBpGpAp
pDp@pIpFp
pDp@pIpGp
p@@@@@@@@@@@@@@dp@QF
P[[_D_PSBE[@@ZB
[PD]PXH]]QG
PdQ[[[I[[[
PdQ[[[o[[[
P[DQYG]]P
pDqyxuyx
pd][[[r[[[
pD@@@@@R
P@]dR[[[
Pd][[[R[[[
PdR[[[	[[[;[[[
PdR[[[p[[[v[[[
@pD@rxgBUs
@pD@rxqBUs
PdR[[[y[[[
PdS[[[A[[[F[[[G
PdS[[[g[[[e[[[
PDSMBFLKAKXB_@ZD
PDS]N]OGEZ
PdS[[[O[[[
@[PDS[QOP
;PdS[[[w[[[u[[[?[le[[[[
Pd_[[[T[[[J[[[?!
PdT[[[L[[[
PdT[[[Z[[[
PdU[[[-[[[
PdU[[[7[[['[[[8
PdU[[[d[[[
PdU[[[F[[[
p'd"u.g[[
PdU[[[Z[[[
Pdv_gngfGq
.PdV[[[I[[[C[[[
PdV[[[n[[[
PdW[[[3[[[0[[[2
p|d(w|dHv|d.h
PdW[[[F[[[E[[[*
PdW[[[t[[[o[[[5
pdW[[[y[[[x[[[*
pdx[[[*[[[
_PdX[[[|[[[
pDXCCNCCCBACC
Pdx[[[D[[[
pdx[[[e[[[
PDXFSLCE
PDXFSLGM]SA[
PDXFSLGS_
PDXFSLKM
Pdx[[[K[[[
Pdx[[[l[[[
@PDXLEAYPQDH
?Pdx[[[Q[[[L[[[c
Pdx[[[q[[[v[[[
PdX[[[R[[[W[[[
Pdx[[[W[[[V[[[M
P]dX[[[Z[[[g[[[
pdY[[[b[[[
!PdYCCNCCCBACCtJe
PDYGEAZNXL
PdY[[[i[[[
PdY[[[I[[[D[[[
[[[|P]dY[[[m[[[
Pdy[[[t[[[
_P[dYUI9
]PDYYS]DCHP
pdz[[[*[[[)[[[
"||||||p#||||||d#||||||Z#||||||||||||||:#||||||||||||||
pdZ[[[)[[[
PdZ[[["[[[
PdZ[[[:[[[
pdZ[[[2[[[7[[[
Pdz[[[5[[[
[PDZASMA@PEJKSMA@SE
p_dZ[[[B[[[
pdz[[[e[[[
Pdz[[[E[[[r[[[
PDZJD]AFL
PdZ[[[K[[[
PD_ZKGAN
p)))DZ@LQLJ
pd@[[[Z[[[O[[[
PDZPZSJC@YLX
#PdZ[[[Q[[[
PDZS][YNLBGO
Pdz[[[U[[[T[[[
PdZ[[[W[[[
PDZZHYYGNA]
PDZZX_Q_]B
pea_16bitmachine
pea_32bitmachine
PeA[[[:[[[9[[[D
PEAAAAAA@AAAAAC]4F]1
pea_aggressiveimport
pea_aggressive_trim_ws
pea_amd64_image
pea_ARM_big_endian
pea_arm_image
pea_ARM_legacy
pea_ARM_unpredictable
pea_aslr_bit_set
pea_bound_imports_inside_image
pea_byte_reversed_hi
pea_byte_reversed_low
p@@@@@@@@@@@'@@E@ACac
p@@@@@@@@@@@-@@E@ACac
pea_calls_unimplemented_api
pea_checks_if_debugged_documented
pea_checks_if_debugged_undocumented
pea_checks_ntglobalflag
pea_checks_processheap
pea_checks_teb_lasterror
pea_checks_teb_laststatus
pea_code_on_stack
pea_debug_stripped
pea_deep_analysis
pea_deep_apicall_limit
pea_delay_load_imports_inside_image
pea_detects_virtualpc
pea_detects_vm
pea_detects_vmware
pea_dirty_wx_branch
pea_disable_apicall_limit
pea_disable_drop_mz_only
pea_disable_dropper_rescan
pea_disable_io_redirection
pea_disable_microcode
pea_disable_seh_limit
pea_disable_static_unpacking
pea_disable_thread_apicall_limit
pea_disable_vmprotect
pea_dll_static_load
pea_dmg_decompress
pea_dmg_entrypoint
pea_dmg_filealignment
pea_dmg_imagebase
pea_dmg_imagesize
pea_dmg_imports
pea_dmg_invaliddata
pea_dmg_machine
pea_dmg_notcontiguous
pea_dmg_not_executable_image
pea_dmg_optional_magic
pea_dmg_overlapping_sections
pea_dmg_pointertorawdata
pea_dmg_relocations
pea_dmg_resource_levels
pea_dmg_resource_names
pea_dmg_resource_offset
pea_dmg_resource_unordered
pea_dmg_sectionalignment
pea_dmg_sizeofheaders
pea_dmg_sizeofrawdata
pea_dmg_special_section
pea_dmg_truncated
pea_dmg_unsupported
pea_dmg_virtualaddress
pea_dmg_virtualsize
pea_dropped
pea_dt_continue_after_unpacking
pea_dt_continue_after_unpacking_damaged
pea_dt_error_bb_limit
pea_dt_error_failed_to_translate
pea_dt_error_heur_API_limit
pea_dt_error_heur_exit_criteria
pea_dt_error_invalid_opcode
pea_dt_error_loop_too_complex
pea_dt_error_not_enough_memory
pea_dt_error_too_many_operands
pea_dt_error_too_many_prefixes
pea_dt_error_vmm_page_fault
pea_dynmem_APIcall
pea_dynmem_checks_if_debugged_doc
pea_dynmem_checks_if_debugged_undoc
pea_dynmem_checks_ntglobalflag
pea_dynmem_checks_processheap
pea_dynmem_detects_virtualpc
pea_dynmem_detects_vm
pea_dynmem_detects_vmware
pea_dynmem_kernel_scan
pea_dynmem_reads_vdll_code
pea_dynmem_self_modifying_code
pea_dynmem_uses_access_violation
pea_dynmem_uses_bound_exceptions
pea_dynmem_uses_breakpoints
pea_dynmem_uses_div_by_zero
pea_dynmem_uses_int_overflow
pea_dynmem_uses_invalid_opcodes
pea_dynmem_uses_privinstr
pea_dynmem_uses_single_stepping
pea_dynmem_uses_udbgrd
pea_dynmem_uses_udbgwr
pea_dynmem_uses_unusual_breakpoint
pea_enable_binlib
pea_enable_lshash
pea_enable_vmm_grow
pea_entrybyte55
pea_entrybyte60
pea_entrybyte90
pea_entrypoint_in_header
pea_entrypoint_in_import_table
pea_epatscnstart
pea_epatstartentrysect
pea_epatstartlastsect
pea_epcallnext
pea_epinfirstsect
pea_epiniat
pea_epoutofimage
pea_epscn_eqsizes
pea_epscn_falign
pea_epscn_islast
pea_epscn_valign
pea_epscn_vfalign
pea_epscn_writable
pea_epsec_not_executable
pea_executable_image
pea_executes_from_dynamic_memory
pea_executes_from_last_section
pea_executes_from_resources
pea_extended_pestatic
pea_firstsectwritable
pea_force_dt
pea_force_expensive_processing
pea_force_unpacking
pea_genpacked
pea_handle_large_va
pea_hasappendeddata
pea_hasboundimports
pea_has_checksum
pea_has_delay_load_imports
pea_hasexports
pea_has_many_resources
pea_has_msilresources
pea_hasstandardentry
pea_headerchecksum0
pea_heavens_gate
pea_hstr_exhaustive
pea_ia64_image
pea_import_via_tls
pea_invalid_ilt_entry
pea_inv_arguments
pea_inv_data
pea_inv_decompress_error
pea_inv_dos_signature
pea_inv_e_lfanew
pea_inv_exports
pea_inv_file
pea_inv_filealignment
pea_inv_filesize
pea_inv_imagebase
pea_inv_nomemory
pea_inv_notimplemented
pea_inv_nt_signature
pea_inv_optional_magic
pea_inv_overlapping
pea_inv_rawoffset
pea_inv_rawsize
pea_inv_read
pea_inv_rva
pea_inv_sectionalignment
pea_inv_sizeofheaders
pea_inv_sizeofimage
pea_inv_sizeofoptionalheader
pea_inv_unsupported_machine_architecture
pea_inv_virtualaddress
pea_inv_virtualsize
pea_inv_write
pea_isappcontainer
pea_isdamaged
pea_is_delphi
pea_isdll
pea_isdriver
pea_isexe
pea_isgeneric
pea_ismsil
pea_is_process
pea_isreported
pea_issuspicious
pea_isvbnative
pea_isvbpcode
_]_PEAJYH
pea_kernel_scan
peA[[[k[[[h[[[
pea_lastscn_eqsizes
pea_lastscn_executable
pea_lastscn_falign
pea_lastscn_valign
pea_lastscn_vfalign
pea_lastscn_writable
pea_line_numbers_stripped
pea_locals_symbols_stripped
pea_loop_clflush
pea_loop_jmp_chain
pea_loop_lfence
pea_loop_mfence
pea_loop_sfence
pea_many_imports
pea_many_sections
pea_memory_patched
pea_msil_nativeimage
pea_msil_ngenimage
pea_multiple_relocs_same_location
pea_no_boundimport
pea_no_code
pea_no_comruntime
pea_no_data
pea_no_debug
pea_no_decription
pea_no_delayimport
pea_no_ep
pea_no_exception
pea_no_exports
pea_no_fixups
pea_no_iat
pea_no_idata
pea_no_imports
pea_no_imports_dir
pea_no_loadconfig
pea_no_mipsgp
pea_no_relocs
pea_no_resources
pea_no_sections
pea_no_section_table
pea_no_security
pea_no_tls
pea_no_uidata
pea_nx_bit_set
PEAO]C__DBO
pea_othermachine_image
pea_packed
pea_packersigmatched
pea_patch_on_net
pea_patch_on_removable
P_EAPCQY_ZZN
pea_prefetchtricks
pea_reads_vdll_code
pea_relocs_but_no_relocs_flag
pea_relocs_stripped
pea_requests_elevation
pea_requires9x
pea_resource_only_dll
peaRMOR 9  
pea_run_only_on_up_machine
pea_scan_internal_data
pea_secmisaligned
pea_secmissize
pea_self_modifying_code
pea_sfx_checked
pea_skip_unimplemented_opc
pea_small_data_directory_count
pea_suspicious_dosheader
pea_suspicious_falign
pea_suspicious_heap_geometry
pea_suspicious_heap_size
pea_suspicious_imagebase
pea_suspicious_image_size
pea_suspicious_image_version
pea_suspicious_import_directory_size
pea_suspicious_linker_version
pea_suspicious_ntheader
pea_suspicious_number_of_dirs
pea_suspicious_os_version
pea_suspicious_rebase
pea_suspicious_resource_directory_size
pea_suspicious_section_characteristics
pea_suspicious_section_fsize
pea_suspicious_section_name
pea_suspicious_section_offset
pea_suspicious_section_rva
pea_suspicious_section_vsize
pea_suspicious_stack_geometry
pea_suspicious_stack_size
pea_suspicious_subsystem
pea_suspicious_subsystem_version
pea_suspicious_timestamp
pea_suspicious_valign
pea_system_file
pea_track_direct_imports
peattributes
.PEAUlua_longjmp@@
pea_uses_access_violation
pea_uses_bound_exceptions
pea_uses_breakpoints
pea_uses_clflush
pea_uses_div_by_zero
pea_uses_int_overflow
pea_uses_invalid_opcodes
pea_uses_lfence
pea_uses_mfence
pea_uses_privinstr
pea_uses_sfence
pea_uses_single_stepping
pea_uses_sysenter
pea_uses_udbgrd
pea_uses_udbgwr
pea_usesuninitializedregs
pea_uses_unusual_breakpoint
pea_verbose_vdll_reads
pea_volatile_start
peA[[[x[[[
pea_x86_image
pea_zmist_check
PEBAANB[
P!@@@@@e@@B@AC@BA@@Hp@Q)
PEBADPAQ
PeBg#fgfG
peBgqgg#
PeB[[[H[[[
PEBMZAX]NB
pebUNDLE
]PEBY]PZNC
PECertIssue
PeC[[[j[[[i[[[FadfY[[[
pecOMPACT
pEcOMPACT
pECOMPACT
(PECompact)
PECPDZHD
PE_DAMAGED_DECOMPRESS
PE_DAMAGED_ENTRYPOINT
PE_DAMAGED_FILEALIGNMENT
PE_DAMAGED_IMAGEBASE
PE_DAMAGED_IMAGESIZE
PE_DAMAGED_IMPORTS
PE_DAMAGED_INVALIDDATA
PE_DAMAGED_MACHINE
PE_DAMAGED_NOTCONTIGUOUS
PE_DAMAGED_NOT_EXECUTABLE_IMAGE
PE_DAMAGED_OPTIONAL_MAGIC
PE_DAMAGED_OVERLAPPING_SECTIONS
PE_DAMAGED_POINTERTORAWDATA
PE_DAMAGED_RELOCATIONS
PE_DAMAGED_RESERVED
PE_DAMAGED_RESOURCE_LEVELS
PE_DAMAGED_RESOURCE_NAME
PE_DAMAGED_RESOURCE_OFFSET
PE_DAMAGED_RESOURCE_UNORDERED
PE_DAMAGED_SECTIONALIGNMENT
PE_DAMAGED_SIZEOFHEADERS
PE_DAMAGED_SIZEOFRAWDATA
PE_DAMAGED_SPECIAL_SECTION
PE_DAMAGED_TRUNCATED
PE_DAMAGED_UNSUPPORTED
PE_DAMAGED_VERSIONINFO
PE_DAMAGED_VIRTUALADDRESS
PE_DAMAGED_VIRTUALSIZE
PE[_DASE
peDdL[[[Y[[[
	PEdE[[[*[[[
PE_DECOMPRESS_ERROR
PEDestroyResourceIterator
PEDestroyVersionStringIterator
PEDestroyVirtualMemory
P[E[DJJLJ[NKYKK
PED[L[[H
PEd_[[[Q[[[
pEdROP 8  
p.EdZ[[[r[[[p[[[Y
PEEHCPY_
peemusig
PEEMU:Themida_Packer
PE_END_ENUMERATION
PEEPSKMJM
P_EEQ]L[
PE_ERROR_RESERVED
!PEExpkUnpackedFile
PeExport
P[[[ef'eP[[[
PeF[[[H[[[M[[[
PEFinalizer
p)))EFJF
P_EF_KGF
PE@F_MSDM
pe_fofs_to_mofs failed!
PE_FYZYZ[P
@@@@)pEG
]PE[GDBNALES[ZY
?pegfw7Z
PEGG]]G_NQYHH
pEgiggfw
pEgKegfG
PE_GOD[MMP
Pegqgg3|
pEgqggr 
pEgqggzd O
PegwpgfG
PegxYBYKdVBYMee[D
PEHAPKEK
peheader
peheaderinfo
PE[H][EL
PeI[[[1[[[
PeI[[[C[[[@[[[0
PE_INVALID_ARGUMENTS
PE_INVALID_DATA
PE_INVALID_DOS_SIGNATURE
PE_INVALID_E_LFANEW
PE_INVALID_EXPORTS
PE_INVALID_FILEALIGNMENT
PE_INVALID_IMAGEBASE
PE_INVALID_NT_SIGNATURE
PE_INVALID_OPTIONAL_MAGIC
PE_INVALID_RAWOFFSET
PE_INVALID_RAWSIZE
PE_INVALID_RVA
PE_INVALID_SECTIONALIGNMENT
PE_INVALID_SIZEOFHEADERS
PE_INVALID_SIZEOFIMAGE
PE_INVALID_SIZEOFOPTIONALHEADER
PE_INVALID_VIRTUALADDRESS
PE_INVALID_VIRTUALSIZE
PeJ[[[a[[[e[[[
PEJEHYY_EBJE
pEJhggfw?vMk
PEJKGFMOH
]P]EJK_N[
PeJ[[[l[[[c[[[
PEJLLAYAP
peJ[[[M[[[C[[[
peJ[[[P[[[
pe("KdAV
PEKDLZZH
PE]KLYESZPNPPK
PeK[[[O[[[
PeK[[[S[[[R[[[
peL[[[8[[[
PELAMD]LB_]
PeL[[[i[[[
PELKMGQS
pellllllllmllllOllylm
PEllllllllmllllOllylm(
pEllllllllmllllOllylmE
PELL_LX_
PELMGC]DO_OBSZ[HC
PELNZBY]C]EHOAQGG]D
pelOCKnt
PEL__]ZQZLB
pe.metadata_decode: Not a .NET PE
PEMH@LHNLNCED]
PEMHZ__KOMMMBEM
pe.mmap() - invalid 64bit address (VMM is in 32bit mode)
PEMPH_GP
]PEMS[EMNY
PeM[[[U[[[b[[[
PEMYJXPD
PE[NAJL_MLB
PE[NBE[QH
peNCRYPT
Pendfile
PENMNGNMNAKD
PE_NOMEMORY
PE_NOT_DAMAGED
PE_NOTIMPLEMENTED
]PENQZGYS
p||||||||||EO
PeO[[[([[[
PE Object Count
PEODBBY@S]K
@PEOE8E7E
PE_OVERLAPPING
peP[[[A[[[
pEpApBpCpCpFp
pEpApBpDpGp
pEpApBpHp@p
pEpApCpGp
pEpApEpBpIpGpBpEpCpCpGp
pEpApGpFpGpEpGpBpApFpGpHp
pEpApGpGp
pEpApGpIp
pEpAp@pIpGpDpGpHpDp
pEpBpBpIp
pEpBpCpGp@p@p
pEpBpDpHp
pEpBpFpDp
pEpBpFpHpIp
pEpBpGpBpApIp
pEpBpGpEpGp@p
pEpBpGpFp
pEpBpGpHp
pEpBpHp@pDp
pEpBpIpBpEp
pEpBpIpDpEp
pEpBpIpGpIpCpGpEp
pEpCpApEpApCpCpFpCp
pEpCpCpApBp@pHp
pEpCpCpApHpApGpBp
pEpCpCpHp
pEpCpDpCp
pEpCpDpFpDpIp
pEpCpEpFp
pEpCpFpHp
pEpCpGpDp
pEpCpGpEp
pEpCpHpDp
pEpCp@pDp
pEpDpApAp
pEpDpCpBp
pEpDpCpDpBpAp
pEpDpDpGp
pEpDpEpIpDp
pEpDpGpBpDpIp
pEpDpGpEp
pEpDpGpFpCpHpBpBp
pEpDpGpGpGpAp
pEpDpIpDp
pEpDpIpIp
pEpDp@pFp
pEpDp@p@pFpEp
pEpEpApAp
pEpEpApBpIp
pEpEpApHpCpGp
pEpEpCpHpBpIpIp
pEpEpHpCpBp
pEpEpIpHp
pEpEpIp@pApDpApIpFpHp
pEpEp@pIpIpCpApCpEp
pEpFpApHp
pEpFpBpGp
pEpFpBpIpHp
pEpFpGp@pIpHpHp
pEpFpHpIpHp
pEpFp@pAp
pEpGpApBp
pEpGpAp@pCp
pEpGpBpGp
pEpGpBp@pEpGpDpCp
pEpGpCp@pHpIpEpBp
pEpGpEpDpDp
pEpGpFpAp
pEpGpFpDp
pEpGpFpHpBpIp
pEpGpGpIpApBpHpGp@pBp
pEpGp@pHp
pEpGp@pHpIpBp@pCpBp
pEpHpApAp
pEpHpBpGp@pGpDp
pEpHpDpHpDpIp
pEpHpDp@pAp
pEpHpEpHpGp
pEpHpFpCpApFpBpBp
pEpHpGpAp
pEpHpGpIpEpBp
peP[[[i[[[
pEpIpDpApBpApEpApIpHp
pEpIpDpDpAp
pEpIpDpDpEp@pHpIp@pDpAp
pEpIpDpEp
pEpIpDpGp
pEpIpDpIpFp
pEpIpEpGp
pEpIpFpCpAp
pEpIpGpBp
pEpIpIpGpFpAp
]P[EPMYDDBXEYPNDYQN
[PEPN[]ES
PEPOSTEMU
pEp@pApIp
pEp@pAp@pDp
pEp@pCpIp
pEp@pEpAp
pEp@pEpGpFpApHp
pEp@pFpAp
pEp@pFpFp
pEp@pHpDpHpHpGp
pEp@pIpCpIpEp
pEp@pIpEpEp
pEp@pIpFpIp
pEp@p@pCpHpBpEp
pEp@p@pEp@pCp
PEPREEMU
pEpROTECT
peP[[[w[[[
PeQ[[[F[[[D[[[
PeQFyBWQs
PEQMLG]L
_PE_QNE@
P_E_QOJKYSNB]
peQ[[[w[[[
PeQ[[[z[[[
Percentage
percent_rank
percent-sign
PerdA[[[
PerdA[[[e[[[
PerdG[[[
[[[PerdL[[[
PerdL[[[
PEREADER handle
Perf hint
perfmon_version
perform arithmetic on
permission denied
Permission denied
PersistedData
PersistedInfo
persistedtime
persistevent
persisteventstate
persistguid
persistscanreason
PE Scan Count
pesectionhashes
pesENTRY
PESGQ_]XZ
PE[]SHQQ[[
@PE]SJSOH_
PES_K_LHQ[
PES[M]]EDDS
]PESMPQGM_MXJGC
(PeSpin)
pesPIN 9  
PESQHGG]BZ@XGSMDFQB
PeS[[[Q[[[V[[[
pestatic
?PE_SUCCESS
Pe[[[[t[[[
:pE:t	74
(Petite)
(Petite 1.3)
(Petite 1.4)
(Petite 2.3)
PeU[[[5[[[
PE_UNKNOWN_DAMAGED_TYPE
PE_UNKNOWN_ERROR_TYPE
PEUnmapPEReader
PE_UNSUPPORTED_MACHINE_ARCHITECTURE
PeU[[[U[[[n[[[u
pevars not available
PE_VIRTUALIZER_
peV[[[M[[[
PEVMHANDLE
p@EW7i4@@@@@
p|e(w|eHv|e
p|e(w|hHv|z
p|e(w|iHv|t
peW[[[i[[[l[[[
PE_WRITE
peW[[[t[[[k[[[?
Pex[[[b[[[
PEXQLPCM
PE#((]Y]]
PeY[[[A[[[
PEY]AQXQAC
peY[[[d[[[
PeY[[[I[[[
PeY[[[l[[[
peY[[[V[[[J[[[s
PEZB[ESQ
[PEZH[LN
p)))EZKN[][GGEX
peZ[[[N[[[G[[[
PEZPXELC
P@E]ZX]AZJ
@@@@@	p@f
@@@@@@@@_p@F'
PF80RP@"O
]PfAAAA@AAAAAC
PfAAAA@AAAAAC
PfAAAA@AAAAAC3
PfAAAA@AAAAACG#
PfAAAA@AAAAACW
p@@@@@@@@@@@f@@A@ACac
PFAA]YDCOQQ
PFABGXH]N
P[FA]NESHH]AXSCH]_C]QKDXXYS
PFAOZPSCA
)))]PFBM_
P[FCCN@ZHNMN
P[FDAHNN
PFDc;dgfGt
pFdC[[[k[[[e[[[-
p!f(DDB@A
[[[pfDdL[[[
PFDFXYNE
PF_DOLJEPJAX_DCP]N_
pFd_[[[V[[[I[[[t
PFdx[[[;[[[2[[[
PFDZKNPCQLXDG]NXE
PFEHZ@]L
PfE!ogfG4
PFEOJKF@
@@@@(p@Feq
PFEXA]SZG
PFFPJCHO[C
pfF[[[Z[[[
PFFZGASH
@@@@)pFG
PfgfGong
P[fg_ggfG
pFgqggNz
PFG_ZSPL
PFHE@SL[
P[FHJZD[
pfI[[[x[[[
pfJ[[[F[[[E[[[
PfJhggfw
pF[J@[LB[@BZLGN
P]@]F_JZNEDNCZ]
PF@KNCCM
)))PFKXPNSO[MYGDQ_CB
@@@@@@@@[pfL
PFLDGDLHKZCGHZNBAABOFCBC
PFL@DS]QBEG
PFLHSXMGN
pfllllllllmllllOllylm
pFllllllllmllllOllylmJ
PFMHQZXX]AJHM]N
PFMHXKA_[
PF_MNGCXQ
PFNK[JP[FN
PFN@LAASCPY
PF@_N[NY
PFNoSdgfG
PFNYY]XHC
PFNZNNZSX]X
p||||||||||FO
@P]F@OOSMQG
pFpApBpIpDp
pFpApCpBpCpHpBpHpDp
pFpApDp@pBpBp
pFpApDp@p@pDp
pFpApEpHpFpGpFpBp
pFpApGpEp
pFpApGpGp
pFpApHpCp
pFpApIpCpFp
pFpApIpGp
pFpApIpGpBpAp
pFpApIpGpFp
pFpAp@pGp
pFpBpBpAp@p@pGp
pFpBpBpEp
pFpBpBpEpAp
pFpBpBpEpFpAp
pFpBpBpHpAp
pFpBpCpCp
pFpBpFpGpApGpGpCp
pFpBpGpCp
pFpBpGpFpDpGp
pFpBpHpApHp
pFpBpIpHpHpHp
pFpBp@pHpApCp
PFPC[JC[YZ
pFpCpCpBp
pFpCpCpHpDp
pFpCpCpIpHpFp@pGpBpCpApEpGpHpEp
pFpCpEpApApFp
pFpCpEpIpApBp
pFpCpFpCp
pFpCpGpApAp
pFpCpGpIp@pGp
pFpCpIpDp
pFpCpIpIpGp
pFpCp@pEp
pFpCp@p@p
pFpDpDpHpAp@p
pFpDpEp@p
pFpDpFpBp
pFpDpFpCp
pFpDpFpEp@p
pFpDpHpIp@p
pFpDpIpBp
pFpEpBpAp
pFpEpCpHpApApHp@pDpBpAp
pFpEpDpAp
pFpEpDp@p
pFpEpEp@p
pFpEpGpEpIp
pFpEpHpCp@pDpCpGpGpDp
pFpEpIpEp
pFpEpIpHpHp
pFpEpIp@p
pFpEp@pGpGp
pFpFpBpFp
pFpFpCpEpAp@pApBpEp
pFpFpFpDpGpIpEp
pFpFpFpFp
pFpFpGpHpIpHpApIpCp
pFpFpHpGpEpEpEpApFp
pFpGpBpDp@pEp
pFpGpBpIpDpDpCp
pFpGpCpApHp
pFpGpCp@pEp
pFpGpEpFpCp
pFpGpEpGp
pFpGpFpHpHpHpDp
pFpGpIpCp
pFpGpIpCpGp
pFpGpIpGp
pFpGpIpIp
pFpGp@pAp
pFpGp@pFp
pFpHpApIpGp
pFpHpAp@pEpEp@pEp
pFpHpAp@pGp
pFpHpBpApIpEpGpBpDpFpEpIpFpApBp
pFpHpBpEpIp
pFpHpBp@pFp
pFpHpFpHpBpIp@pFpBp
pFpHpGpApAp@pFp
pFpHpGpEpGpEpHpEpAp
pFpHpGp@p
pFpHpIpHpFp
pFpHp@pCp
pFpHp@pFp@p
pFpIpBpEpBp
pFpIpCpCp
pFpIpCp@p
pFpIpEpHpGpFp
pFpIpEp@p@p
pFpIpFpEp
pFpIpHpCp
pFpIpHpFp
pFpIpIpIp
pFpIp@pGpDpEp
pFpIp@pGpFp@pBp
pFp@pApEp
@PFPPBGFKXY
pFp@pBpGpCp
pFp@pDpDp
pFp@pDpHp
pFp@pEpBp
pFp@pEpEpHp
pFp@pGpFpCpApApEpEpCpApBpGp
pFp@pHpCp
pFp@pIp@pDpBp
pFp@p@pAp
pfP[[[q[[[
pfP[[[V[[[U[[[B
PFQGSODMYPQKP
PFQLXYYCB
PfRdy[[[
P[FSAPZZ
PF]SDCJ@Z
PFSO[F[ZPFF
pfU[[[T[[[
PfVBVPfFZD
pfV[[[Q[[[
pfV[[[t[[[
PFXG]CBB
|pfXgGcgfGj
PF@XJCLFQCJOJD_
PFX]MMAS[CLSJ
P_FXNPHL
PFXOBXMJFH_AE
pfX[[[W[[[U[[[
PfxxrP-xxr
PF_YADGH
PFYBEJPPBA
p)))FYLG
][PFYLGHNH@G
p)))FYL[H
PFZ@ANPX
[PF[Z_E[
pfZ[[[f[[[
pfZ[[[K[[[
PF[[[Z[[[K[[[
PF[[[Z[[[K[[[E
PFZMCSOSCN
PFZPKSBL]
@@@@@@@@_p@G
@@@@@@@@|p@G
pg1agfG8l
pg1agfGJ
pg1agfGOa
pg1agfGpt
pg1agfGSC
pg1agfGS nugqgg
pg1ngfG@
pG2gAgg":1
pg3kgfGr
Pg3TgfG2
pg5egfGNU
Pg5jgfG8
Pg5kgfGT(o
"pg7fgfG
Pg7fgfGD-oAgqgg[
pg7kgfG.
Pg7mgfGS
!P_g7wggGI
Pg9egfGH
pg9kgfG(Z
PgA[[[-[[[
)pgaegfG
PG@AGAZS@N[OL[PC_L
pg_agfG"
pg_agfG3FM
pg_agfGy
pgAgg2gc
PgAgg9Fr
#PgAggAT|Cc
PgAggfGd
PgAGgfGu
	PgAggmh
P.gAggzmpE9
PG_AH]HCLK
PGAJAJJGHBDCDP
PGAJXOCGLHSLYGP
_PgAkgfGg
PG[AL_XPM
pgAngfG2@
PGAYXX[G
PGBSC@]CZKPD]
P|gc9gfG0O
pgcagfG!
PgcagfGpHA
PgccgfG0
P[GCDZEGNA
 pgCegfG
PgCegfGJ9
PGCEKD[AK@
pgCfgfGa
Pg'cgfGV
PGCJJPAYXQ
pgcmgfGn
PGCOOA@SQGSS
PG@CO]YDN@KH
PGCXHLLSEX
PGCZOJ[A
PGD[CCJCJB
pGdE[[[3[[[0[[[
pg)dgfGl.
P@[GDHK@A]
PgdM[[[	
PGDNHXQOY
PGDP_[AZZDG
)))P@GEDMCB@
pGEdP[[[
pgefgfGod0
:(pg]egfG
)Pg;egfG.
]Pg'egfG
|Pg'egfG
PgEjgfG7zb
@P_GEJ_]GKNOX
PG[ENZPOB
PGESC]CPDJ
PGEYC]XZL
P]GEY]J[BO
P@GFAGQPSZOX]DK
pgfGBx@dgqgg
pgfGd#M'gqggwB
PgfGf#ROgqgg4
pgfGKENWgqgg
pgfG-_Oygqgg
PGF]H[DE
]PG]F[MAG
PG]FOKYCOY
@pgfwGd8*
pggagfG:V
PgGbgfG6
(PgGbgfGZe
pggcgfG]
PggdgfGo
PggegfGb
Pg)|gfGd
;pggfgfG
P gGfgfG
p(ggfGto 
PGGFNKJBLXG
pggGAQlpgqgg
p(g]ggfG
:"Pg'ggfG
Pg?ggfG6
Pg'ggfGzw
p-gggfwa
pg)gggw0yo
PGGGZLJPZP[
P!gghgfGC
[PGG_HYNXGH
PGGLBXPDDB
__PGG]LCX
PGGOEJKHO
[PGGPAPNC
PGGPKSHGODOMYB
*Pggqgg@
pggw8nSNf9
PgGygfGsu
PGHBL]JHGOCHPMSKFZ
PGHDNZ[]D[SN
PGHHBCKBM[KJX
PGHHXBMKH
PGH@JKGK
PGHNCZO_[LM
P_G_HNSX
P]GHPME[XD
PGHPNPLX
PGHQCQXGO
PG]HQDHMLG
PGHSAAMNLJPCF
PgibgfGd
p g?igfG
Pgiggfwb
"PgiggfwLZ
p*gIgggw]
PGJBGMD[H
PGJBY_XBJB]EYM
PGJDF@LJEX
_PGJEF]BB
PGJSB[PL
P]GJXLQ]J
PGJYQE[JD
P_GJZKYGKNBZYHKQ
PgK8gfG]
PgK8gfGGg
PG[KDNYJ
PG@KD[XHJX_
pgKeggGt
p(g)kgfG
Pg-kgfG [
Pg_kgfGJ
pg;kgfGL
Pg[kgfG	nf
p'g[kgfGq
p@g!kgfGX
pg-kgfGz
PGLHKHXZL
PgllllllllmllllOllylm
PGLQGL]PKBY
PGL]Z]FY
pgMbgfG)
PgMfgfGG
pGmggfwe
pgMngfG!
pgMngfG(:(
pgMngfG*
pgMngfG0
pgMngfG8
pgMngfG9HC
pgMngfGAsP
pgMngfGD
pgMngfGe
pgMngfGh0
pgMngfGJ5
pgMngfGKG
pgMngfGL[
pgMngfGn8b9gqggs
pgMngfGq
pgMngfGR
pgMngfGU
P]G_[_MQ]PZ_HQJDH
PGNBJSDZMJOZ]XG
pg_ngfG[i!Zgqgg
pg;nggGc
pg;nggGW
[PGNHA[A
PGN]_HKZLX
PGNJJ_YG
pgnlcltr
PG_NLY_EPJ[
PGN_MODQKZ
]PGNNSSBGJS
PGNOJ_MG
pgnstart
pgnucltr
PgOdgfGe
PgOegfGw
-PgOfgfG
PgOfgfGK
PgOggfGW[
PG]O[GO]KHGBPGN
PgohgfGFq
PGOJJDYNB
pgokgfG50
PgOkgfGD
pgooggG!#
]P;googgG
PGOZEM[FXMLYPDAN_KS]ZJ
pGpApAp@pDpHpApFp
pGpApCpEp
pGpApDpGpCp
pGpApEpCpEp
pGpApHpBpFpDpDpEpEpBpHpGpDpFp
pGpAp@pCp
pGpBpApEp
pGpBpBpApDpFpFpFp
pGpBpCpDp
pGpBpCp@pDp
pGpBpDpGpCp
pGpBpDpHpEpBp
pGpBpFpBp
pGpBpGpEp
pGpBpHpCpFpEp
pGpCpApHpHpIp
pGpCpBpGp
pGpCpDpDp
pGpCpDpHp
pGpCpEpDp
pGpCpFpGp
pGpCpGpGp
pGpCpGpIpBp
pGpDpBpIp
pGpDpCpCp
pGpDpCp@p@pGpBpIpGp@p
pGpDpEpHp
pGpDpEpIp
pGpDpFpFp
pGpDpFpGpEpAp
pGpDpGpEp
pGpDpHpEpIpFpGp
pGpDpIpCpFpEpEp
pGpDpIpCpHp
pGpDpIpIpHp
pGpDp@pBp
pGpDp@pCpCpEpBpApGpDpFp
pGpDp@pIp
pGpEpBpCpDp
pGpEpBpIpAp@p@p
pGpEpCpApCp
pGpEpDpEp
pGpEpHpDpFp
pGpEpHpHp
pGpEpHpIp
pGpEpIpFp@p
pGpFpApHpFp
pGpFpBpHpBpHpBp
pGpFpDpAp
pGpFpDpCp
pGpFpDpDp
pGpFpEpApDp
pGpFpEpAp@p
pGpFpFpHp
pGpFpHpBpIp
pGpFpIpDpGpHpIp
pGpFp@pEp@p
pGpGpApBp
pGpGpApBpApCp
pGpGpAp@pHpApHpCpCp
pGpGpAp@pHpEp@pCpFpBp
pGpGpEpDp
pGpGpGpApDpFp
pGpGpGpApDpGp
pGpGpGpApHp@pFpHp
pGpGpHpIp
pG_pgppepq
pGpGp@pFpCpEp
pGpHpBpBp
pGpHpBp@pApFp
pGpHpCpDpEpBpApBpApHp
pGpHpDpDpCpFpHpHpAp
pGpHpDpIpFp
pGpHpFpBp
pGpHpFpBpApGpCp
pGpHpFpHpCpDpFp
pGpHpGpDp
pGpHpIpHp
pGpHp@pApIp
PGPHQY[_[]F
pGpIpApBp
pGpIpApEp@pFpGpDp
pGpIpAp@p
pGpIpBpHp@p
pGpIpDpGpDpCpBpBpGpIpFp
pGpIpDpIpEpBp
pGpIpDpIp@pDpIpEp
pGpIpEp@pDp
pGpIpFpGpFp
pGpIpGpDp
pGpIpHpBpBpCpGp
pGpIpHpIpHpFpEpBpDpDp
pGpIp@pEp
_PGPJGAMYFGY[KLAB
P_GPJMCDZF
P[_GPLXO@GDNZ@DH
pGp@pApIpIpEpDp
pGp@pBpEp
pGp@pBp@pGpCp
pGp@pEpCp
		;pgppepq
	pgppepq
	pgppepq'
	pgppepq|
 (pgppepq
 |pgppepq
 pgppepq
 pgppepq(
 pgppepq-
 pgppepq@
!*pgppepq
![pgppepq
![pgppepq@
!pgppepq
!pgppepq	
!pgppepq 
!pgppepq*
!pgppepq?
!pgppepq]
"*#pgppepq
":pgppepq
";];pgppepq
"_pgppepq
"|pgppepq
"pgppepq
"pgppepq(
# pgppepq
##pgppepq
#)pgppepq
#pgppepq
#pgppepq	
#pgppepq*
#pgppepq-
#pgppepq:
#pgppepq;
#pgppepq|
':pgppepq
'pgppepq
'pgppepq:
'pgppepq|
((pgppepq
(pgppepq
(pgppepq-
(pgppepq?
) pgppepq
)"pgppepq
)pgppepq
)pgppepq(
)pgppepq?
*-pgppepq[
*[pgppepq
*pgppepq
*pgppepq 
*pgppepq#
*pgppepq-
-)pgppepq
-[pgppepq
-pgppepq
-pgppepq	
.!pgppepq
.-pgppepq
.pgppepq
.pgppepq?
.pgppepq|
: pgppepq
:!@pgppepq
:.pgppepq
::pgppepq
:pgppepq
:pgppepq 
:pgppepq!
:pgppepq#
:pgppepq.?
:pgppepq?
; pgppepq
;pgppepq
;pgppepq'
?	pgppepq
?!pgppepq
?.pgppepq
?_?pgppepq
?pgppepq
?pgppepq(
?pgppepq;
@#pgppepq
@(pgppepq
@@pgppepq!
@|pgppepq
@pgppepq
@pgppepq!
@pgppepq'
@pgppepq(
[#pgppepq
[:pgppepq
[pgppepq
[pgppepq'
[pgppepq[
[pgppepq|
] pgppepq
]!?pgppepq
]!pgppepq
]"pgppepq
]*pgppepq
]pgppepq
]pgppepq'
]pgppepq;
]pgppepq[
_:pgppepq
_?	pgppepq
_@pgppepq
_pgppepq
_pgppepq'
_pgppepq*
_pgppepq-
_pgppepq.
_pgppepq|
| pgppepq
|[pgppepq
|_pgppepq:
|pgppepq
|pgppepq'
pgppepq	
pgppepq	'
pgppepq	*
pgppepq 
pgppepq ]
pgppepq!
pgppepq!.
pgppepq![
pgppepq!_
pgppepq"
pgppepq""
pgppepq"?
pgppepq#
pgppepq#-
pgppepq#.
pgppepq#:
pgppepq#;
pgppepq#@
pgppepq'
pgppepq'	
pgppepq'-
pgppepq'_
pgppepq(
pgppepq(-
pgppepq(_
pgppepq)
pgppepq)(
pgppepq)[
pgppepq)]
pgppepq*
pgppepq*(
pgppepq*-
pgppepq*.
pgppepq*]
pgppepq*_
pgppepq-
pgppepq-)
pgppepq-[
pgppepq.
pgppepq.	#
pgppepq. 
pgppepq.[
pgppepq:
pgppepq:|
pgppepq;
pgppepq; 
pgppepq;"
pgppepq;#
pgppepq;.
pgppepq?
pgppepq?"
pgppepq?'
pgppepq?:.
pgppepq@
pgppepq@@
pgppepq[
pgppepq['
pgppepq[:
pgppepq[?
pgppepq]
pgppepq]	
pgppepq]_|
pgppepq_
pgppepq_!
pgppepq_"
pgppepq_:
pgppepq|
pgppepq|#
pgppepq|'
pgppepq|:
pgppepq|_
.pgppepq0
;pgppepq0
?pgppepq0
pgppepq	0
pgppepq'0
pgppepq*0
pgppepq-0
pgppepq:0
pgppepq_0
pgppepq0
pgppepq0"
pgppepq0'
pgppepq0]
pgppepq00i
pgppepq(04
pgppepq04
pgppepq08P
pgppepq0Bl
pgppepq0e
pgppepq0H
pgppepq0Ha
pgppepq0k
pgppepq0mx
pgppepq0!P
pgppepq0pdR
pgppepq0Q
]pgppepq0rY
pgppepq0S]h
pgppepq0U
*pgppepq?1
-pgppepq1
:pgppepq1
?pgppepq[1
pgppepq!1
pgppepq#1'
pgppepq;1
pgppepq|1
pgppepq1
pgppepq1;
pgppepq1?
pgppepq1@
pgppepq1]
pgppepq11
pgppepq11mk
pgppepq1br
pgppepq@1e
pgppepq1e
(pgppepq1h!qm
pgppepq1J
pgppepq1o0
pgppepq1R
pgppepq1t
pgppepq1Tj
pgppepq1'u
pgppepq1v
 pgppepq2
)pgppepq2
]pgppepq2*
pgppepq 2
pgppepq@2
pgppepq]2
pgppepq2
pgppepq2"
pgppepq2@
pgppepq23
)pgppepq24
pgppepq2d
pgppepq2H@F
pgppepq2I
pgppepq2jM
pgppepq2k
pgppepq#2L
pgppepq|2ncd"o
pgppepq2O
pgppepq2r
pgppepq2T
pgppepq2U
pgppepq2y
pgppepq2Z
(pgppepq3
:pgppepq3
_pgppepq"3
pgppepq	3
pgppepq)3
pgppepq|3
pgppepq3
pgppepq3'
pgppepq3-
pgppepq3;
pgppepq39
pgppepq39xU3
pgppepq3b#
pgppepq3c
 pgppepq	3D
pgppepq3e
"pgppepq3I
pgppepq3RBZ
pgppepq3S
pgppepq3T
pgppepq3]x
!pgppepq4
@pgppepq4
_pgppepq4
pgppepq.4
pgppepq;4
pgppepq[4
pgppepq4
pgppepq4	
pgppepq43
pgppepq47
)pgppepq48yb
pgppepq4aXUuqj
pgppepq4cB
pgppepq4D
]pgppepq4g
pgppepq4H
pgppepq4m
pgppepq4Md
pgppepq4N
(pgppepq4S
pgppepq4TS
pgppepq4Z
;pgppepq5
pgppepq:5
pgppepq_5
pgppepq5
pgppepq5#
pgppepq5:
@pgppepq52
pgppepq52
pgppepq5c
pgppepq5d
	pgppepq5GLM
pgppepq5h
pgppepq5i
pgppepq5J
pgppepq5k
pgppepq5n
pgppepq5o
pgppepq5pGY
pgppepq5q
pgppepq5Q
-pgppepq5S
pgppepq5Wy
#pgppepq6
@pgppepq6
pgppepq!:6
pgppepq"6
pgppepq(6
pgppepq*6
pgppepq_6
pgppepq6
pgppepq6"
pgppepq:64
pgppepq6d( 
pgppepq6g3
pgppepq6is8
pgppepq6j
pgppepq6m
pgppepq6NIP2
pgppepq6T
pgppepq6w
-pgppepq|6x
pgppepq6x
pgppepq6Y
	pgppepq7
!pgppepq7
[pgppepq7
pgppepq#7
pgppepq.7
pgppepq:7
pgppepq7
pgppepq7![
pgppepq7*
pgppepq7@
pgppepq70
pgppepq71
pgppepq7CS
pgppepq7f
pgppepq7g
pgppepq7m
pgppepq7ol
pgppepq7qF
pgppepq7RS'
pgppepq7t
pgppepq|7T
pgppepq7tw
pgppepq7U
pgppepq7Y
*pgppepq7z
?pgppepq;8
[pgppepq8
pgppepq 8
pgppepq':	8
pgppepq*8
pgppepq@8
pgppepq8
pgppepq8	
pgppepq8?
pgppepq80k_
pgppepq82
pgppepq83
pgppepq87
pgppepq88a
pgppepq89
pgppepq8Aj
pgppepq8B
pgppepq8C
pgppepq8ck-1
pgppepq8d
pgppepq8	e_J
pgppepq8G
pgppepq8gmb
pgppepq8J
pgppepq8m
pgppepq8Q
pgppepq8T(
pgppepq8tVX
pgppepq	8Y
pgppepq8?zd
 pgppepq9
("pgppepq9
)pgppepq9
pgppepq!9
pgppepq!9#
pgppepq"9#
pgppepq[-9]
pgppepq[9
pgppepq_9
pgppepq9
pgppepq9 
pgppepq9'
pgppepq9(
pgppepq9?
pgppepq9@
pgppepq(96
pgppepq96
pgppepq99
pgppepq9C
pgppepq9e
pgppepq9@h
pgppepq9I
pgppepq9ie7H
pgppepq9j.
pgppepq9JS
pgppepq9m
pgppepq9N
pgppepq9o
pgppepq9PY
pgppepq9Q
pgppepq9"r
pgppepq9r
pgppepq9tN
pgppepq!a
pgppepq#a
pgppepq_a
pgppepqa
!pgppepqA
#pgppepqA
*pgppepqA)
-pgppepqA
?pgppepqA
_pgppepqA
pgppepq	A
pgppepq A
pgppepqA
pgppepqA	
pgppepqA"
pgppepqA*
pgppepqA* 
pgppepqA-
pgppepqA[
pgppepqA|
]pgppepqa0
pgppepqA1
"pgppepqA4
pgppepqa5
pgppepqa7
pgppepqA8
pgppepq]A9n
pgppepqaA
pgppepqAA
@pgppepq;ac
pgppepqaC
pgppepqAce
pgppepqAf
pgppepqAg
"pgppepqAi
pgppepqaj
pgppepqAj
pgppepqAj_0
pgppepqan
pgppepq#aN
pgppepqApE
pgppepqaq
pgppepqaQ
pgppepqAq
pgppepqaR
pgppepqArYL
	pgppepqas
pgppepqas
pgppepqaS
pgppepqAs
pgppepqASp
pgppepqat
pgppepq)aT
pgppepq@AtA2
pgppepqatB
pgppepqAvGv
pgppepqAw
pgppepqax
pgppepqaY#C
pgppepqAz
[pgppepqb
]pgppepqb
pgppepq'b
pgppepq*b
pgppepq:b;
pgppepqb
pgppepqb!
pgppepqb(
pgppepqb;
pgppepqb| 
	pgppepq.B
'pgppepqB
)pgppepqB
*pgppepqB
@pgppepqB
[pgppepqB
|pgppepqB
pgppepq	B
pgppepq(B
pgppepq)B
pgppepqB
pgppepqB"
pgppepqB[
pgppepqB0H
pgppepqB2
pgppepqB3
pgppepq|-B4
pgppepqB7
pgppepqb9
pgppepqBaQ
pgppepqBb
pgppepq|bc
pgppepqbc
pgppepqbC
pgppepqbdk
pgppepqBD]X
pgppepqBe
pgppepqbf
pgppepqBf
pgppepqbH
pgppepqBh
pgppepqbK
pgppepqBk
pgppepqBm
pgppepqBo
pgppepqBO
pgppepqBowc
pgppepqBPK
pgppepqbQe
pgppepqbr
pgppepqBr
pgppepq];BTsP9z(
pgppepqbu
pgppepqbV
:pgppepq.BvE
pgppepqBw
pgppepqB	X
pgppepqb!xE
pgppepqBY
pgppepqbYT
#pgppepqc
?!pgppepqc
pgppepq"c
pgppepq#c
pgppepq*c
pgppepq.c
pgppepqc
pgppepqc	
pgppepqc"
pgppepqc.
pgppepqc[
	pgppepqC
-pgppepqC
.pgppepqC
]pgppepqC
pgppepq#C
pgppepq.C
pgppepqC
pgppepqC!
pgppepqC#
pgppepqC'
pgppepqC@
pgppepqC[
pgppepqC_
pgppepqc2
pgppepqc9
pgppepq:C9U
-pgppepqCa
pgppepqce
pgppepq)Cekm
pgppepqCgW
)pgppepqCh.
pgppepqcJ
pgppepq!cJG
pgppepqck'
pgppepqcn
pgppepqCN]
pgppepqCnP6
pgppepqcO
#pgppepqcP?
pgppepq;CpV
pgppepqC:q
pgppepqc;s
pgppepqcTBe
pgppepqcV
pgppepqCV
pgppepq?CVU1
pgppepqCY
pgppepqcym
(pgppepqd
.pgppepqd
@pgppepqd
pgppepq"d
pgppepq:d
pgppepq]d
pgppepqd
pgppepqd;
pgppepqd@
!pgppepqD
#pgppepqD
(pgppepqD
)pgppepqD
*pgppepqD
pgppepq;D
pgppepq?D
pgppepqD
pgppepqD!
pgppepqD)
pgppepqD@
pgppepqD[
pgppepqD_
pgppepqd0
pgppepqd0t
pgppepqd1
pgppepqD2
pgppepqd5
pgppepqd6
pgppepqdb
pgppepqdB
|pgppepqDb
pgppepqDC:
pgppepqdcw
pgppepqDE
pgppepqdGH
pgppepqdi
pgppepqdiyWz
pgppepqdj(
pgppepqdJ
pgppepqDjo
pgppepqdK8k
pgppepqdM
pgppepqdQ
pgppepq|Dq
pgppepqD)T
pgppepqdv
pgppepqd'V
pgppepqDw
pgppepqDx
pgppepq'e
pgppepq*e
pgppepqe
pgppepqe*
pgppepqe;
	pgppepqE
 pgppepqE
!pgppepqE
# pgppepqE
'pgppepqE
.pgppepqE
]pgppepqE
|pgppepqE
pgppepq"?E@
pgppepq|E
pgppepqE
pgppepqE!
pgppepqE"
pgppepqE;
pgppepqe3
pgppepqE5
pgppepq[e5r
pgppepqe5r
pgppepqe5ur-
pgppepqe7-
pgppepqE8k
pgppepqeA
pgppepq|eaV
pgppepqEb
pgppepqeC
pgppepqEc
:pgppepqecdV
pgppepqEcr
(pgppepqEeeb
pgppepqeF
pgppepqEf
pgppepqefz
pgppepqEgk
pgppepqeh
pgppepqeH
pgppepqEL
pgppepqem
pgppepqen
pgppepqENt
pgppepqeov*c
pgppepqEQ
pgppepqeR
pgppepqeS 2
pgppepqet'
pgppepqEV
	pgppepqf
#pgppepqf
]pgppepqf
_pgppepqf
pgppepq	f
pgppepq:f
pgppepq[f
pgppepq_f
pgppepqf
pgppepqf"
pgppepqf(
pgppepqf-
pgppepqf@
pgppepqf]
	pgppepqF
(pgppepqF
.[pgppepqF
;pgppepqF
_pgppepqF
|pgppepqF
pgppepq)F
pgppepq:F
pgppepq@F
pgppepq|F
pgppepqF
pgppepqF)
pgppepqf13Q
pgppepqf4
pgppepq(F4
pgppepqF6
pgppepqf7*9
pgppepqF8
pgppepqfB
pgppepqfbNp
pgppepqFCE
pgppepqFD
pgppepqfdqM
pgppepqFf
pgppepqffG
pgppepqFI
pgppepqFj
pgppepqfk
pgppepqfK
pgppepqFk
pgppepqFl
pgppepqFL
pgppepqfL8
pgppepqfLg*
pgppepqFN
pgppepqfp
pgppepqFp
pgppepqFP
pgppepqFPX7
pgppepqfQ
pgppepqfr
pgppepqft
pgppepqFt
pgppepqFUvIi8S
pgppepqfv
pgppepqFV
pgppepqfx
pgppepqfy
pgppepqFY
pgppepqFyC
pgppepqFZ@q
pgppepqFZS
	pgppepqg
)pgppepq@g
:pgppepqg
?:pgppepqg
pgppepq	g
pgppepq!g
pgppepq"g
pgppepq(g
pgppepq:g
pgppepq@g
pgppepqg
pgppepqg	
pgppepqg 
pgppepqg'
pgppepqg*
pgppepqg-
	pgppepqG
:pgppepq.G
_pgppepqG
pgppepq G
pgppepq"G
pgppepq-G
pgppepqG
pgppepqG!
pgppepqG*
pgppepqG@[!
pgppepqG[
pgppepqG0
pgppepqG1KX
pgppepqG3
pgppepqg4
pgppepqg6
pgppepqG6
pgppepqg8
pgppepqG8
pgppepq[g?b
pgppepqgC
pgppepqgDf
pgppepqGe-.
pgppepqgf
pgppepqgh
pgppepqGh
pgppepqGj
pgppepqgJi
pgppepq]Gk]
pgppepqGLC
pgppepqGlT
pgppepqGM
pgppepqgN
pgppepqGN
pgppepqgN:X
pgppepqGP:
pgppepqGq
pgppepqGr
pgppepqgs
pgppepqGsSnPL
pgppepqGT
pgppepqGT7B
pgppepqGU
pgppepqGV
pgppepqgW
pgppepq GXv
pgppepqG.Yf
pgppepqGZ
!pgppepqh
'pgppepqh
.pgppepqh
@pgppepqh
|pgppepqh[
pgppepq!h
pgppepq"h	
pgppepq[h
pgppepqh
pgppepqh	
pgppepqh_
#pgppepqH
|pgppepqH
pgppepq#.H
pgppepq(H
pgppepq;H
pgppepq|H
pgppepqH
pgppepqH	
pgppepqH!
pgppepqH"
pgppepqH:
pgppepqH?
pgppepqH]
pgppepqH0
pgppepqH]_2j)
:pgppepqH'5
pgppepqH6
pgppepqh7
pgppepqh7Y
pgppepqH8
pgppepqH?aS
pgppepqhb
pgppepqhB
pgppepqhBJ
pgppepqhc?
pgppepqHe
pgppepqhFi5B
pgppepqhfl
pgppepqhH
pgppepqHh
pgppepqHH
pgppepqHhM]N
pgppepqHj
pgppepqhnZ
pgppepqHO)
pgppepqHq
pgppepqhqp?
pgppepqHS
pgppepqHt
pgppepqhU
pgppepqHu
pgppepqHU
pgppepqHV
pgppepqhx
pgppepqh#Y
pgppepqhYw
pgppepq#i
pgppepq*i
pgppepq:i
pgppepq[!i
pgppepq|i
pgppepqi
pgppepqi!
pgppepqi(
pgppepqi.
pgppepqi;
pgppepqi@
"pgppepqI
pgppepq I
pgppepq[I
pgppepq]I
pgppepq_I
pgppepqI
pgppepqI-
pgppepqI[
pgppepqI0
pgppepqi[0xMz
pgppepqI[2M
pgppepqI5[p
pgppepq;I6
pgppepqI6co
pgppepq]I7
pgppepqI8
pgppepqI9
pgppepqIB
pgppepqIc
pgppepqi_C1
;pgppepq_IE
pgppepqIj.
pgppepq*iK
pgppepqiK
pgppepqIk
pgppepqIl
pgppepqiM
pgppepqImlmA
pgppepqIn
pgppepqiO
pgppepqIO
pgppepq"Ip
pgppepqIP
pgppepqIQ
pgppepqis"
pgppepqiT
pgppepqIT
pgppepqiU
 pgppepqiU7N
pgppepqiW
pgppepqIXD_
pgppepqIY
.pgppepqj
_pgppepqj
pgppepqj
pgppepqj;
pgppepqj?
pgppepqj@
pgppepqj|
"pgppepqJ
)pgppepqJ
:pgppepqJ
pgppepq"J
pgppepq*J
pgppepq:J
pgppepq]	J
pgppepq_J
pgppepq|J
pgppepqJ
pgppepqJ!
pgppepqJ"
pgppepqJ'
pgppepqJ]
;pgppepqj2
_pgppepqJ3
pgppepqJ9
pgppepqjA
pgppepqJA
pgppepqJBT
pgppepqjd
pgppepqJez
_pgppepqJf!
pgppepqJf
pgppepqjG"
pgppepqjH
pgppepqJ:i
pgppepqjK?
pgppepqJ[M
pgppepqjn)
pgppepqJN
pgppepqJo
pgppepqjq
pgppepqj's
pgppepqJt:C
.pgppepqjU
pgppepqjU
pgppepq)Jw
pgppepqJyh
pgppepqjz8
-pgppepqk
:*pgppepqk
]pgppepqk
pgppepq k
pgppepq#k-)
pgppepq(k
pgppepq[k
pgppepqk
pgppepqk.
#pgppepqK
pgppepq	K
pgppepq@K
pgppepq[K
pgppepqK
pgppepqK!@
pgppepqK(
pgppepq-k0
pgppepqk05"
pgppepqk2Q
[pgppepqK*4
pgppepqk(5
pgppepqK5Hyw
pgppepqK6
pgppepqk8
pgppepqK9
)pgppepqka
pgppepqKa|
pgppepq?kB
pgppepqKB
pgppepqKDmQ
pgppepqkDw
pgppepqKe
!pgppepq:KE
pgppepqKE
pgppepqkg
pgppepqkG
#pgppepqkI
pgppepqkJ
pgppepqkJd
pgppepqkL
pgppepqkN
pgppepqkno
pgppepqko
pgppepqKON
pgppepqKR
pgppepqkrD
]pgppepqks
pgppepqk:sa
.pgppepqKSa
pgppepqKt
pgppepqKu
pgppepqkv
pgppepqkw
pgppepqkw'
pgppepqkW
pgppepqkX
pgppepqK*x
pgppepqkz
!pgppepql
'pgppepql
*pgppepql
:pgppepql
[pgppepql
pgppepq l
pgppepq(l
pgppepq)l
pgppepql
pgppepql_
#pgppepqL
)pgppepqL
pgppepq.L
pgppepq?L
pgppepq|L
pgppepqL
pgppepqL*
pgppepqL|
@pgppepql0
pgppepql0I
pgppepqL29G
pgppepql4
pgppepq[-l5
pgppepqL9K
pgppepqlB
pgppepqlC
pgppepqlDEK
!pgppepqLe
.pgppepqlF
pgppepqLF
pgppepqlg
	@pgppepqLh
*pgppepqLig
pgppepqlK
pgppepqlk0
pgppepqlkF
pgppepqlld
pgppepqL_N
pgppepq)lO
pgppepqlO
pgppepqLP
pgppepqLq
pgppepqlr
pgppepqLr
pgppepqlS
pgppepqlT
pgppepqLu
pgppepqLU
pgppepqlV
pgppepqLW
pgppepqLwM
pgppepqLx
pgppepqlY
pgppepqlz
 [pgppepqm#
 pgppepqm
*#pgppepqm
@pgppepq m
pgppepq"m
pgppepqm
pgppepqm	
!pgppepqM
]pgppepqM
pgppepq!(M
pgppepq(M
pgppepq[M
pgppepq]M
pgppepq_M
pgppepqM
pgppepqM	
pgppepqM#
pgppepqM'
pgppepqM[
pgppepqM|
|pgppepqm0
:pgppepqM0
pgppepq.m1
pgppepqm[#8
pgppepqM8
pgppepqM9
pgppepqMb
pgppepqMek
pgppepqMeO
pgppepqmf
.pgppepqmg
pgppepqmGg
pgppepqM:H
pgppepqMI
pgppepqml
pgppepqmL]
pgppepqML7x
pgppepqmml
:pgppepqmpo
pgppepqmQ
pgppepqMQ
pgppepqMsd|
pgppepqmU
pgppepqmuX
pgppepqmv
pgppepqMv
pgppepqMx
pgppepqMX
pgppepqmz
pgppepqMZZ
?pgppepqn
[pgppepqn
pgppepq!n
pgppepq#n
pgppepqn
pgppepqn#
pgppepqn-
pgppepqn:
pgppepqn;
pgppepqn[
	?pgppepqN
"pgppepq(N
'pgppepqN
[pgppepqN
pgppepq_N
pgppepqN
pgppepqN)
pgppepqN?
pgppepqN[
pgppepqN]
pgppepqN00
pgppepqn1i
pgppepqn8
pgppepqN8
pgppepqN9
pgppepqNA
pgppepqNb
pgppepqnb9
pgppepqnc
pgppepqNC
pgppepqND
pgppepqNe
pgppepqNeS9
pgppepqni
pgppepqnI
pgppepqNi
pgppepqNI
:pgppepqni7
pgppepqNk
pgppepqNn
pgppepqnOMA
pgppepqnP
pgppepq?Ns
pgppepqNS
pgppepqnTc
pgppepqNUe
pgppepqnx
pgppepqNx
?pgppepqNX@L
-pgppepqN'y
pgppepqNY
"pgppepqNyY
pgppepqnz
pgppepqnZ
.pgppepq"o
:pgppepqo
[pgppepqo
pgppepq	o
pgppepq"o
pgppepq#o
pgppepq?o
pgppepqo
pgppepqo-
!pgppepqO
-pgppepqO
.pgppepqO
@pgppepqO
]pgppepqO
|pgppepqO
pgppepq	O
pgppepq"O
pgppepq)O
pgppepqO
pgppepqO 
pgppepqO#
pgppepqO)
pgppepqO@*
pgppepqO_
pgppepqO3
pgppepqo70
pgppepq(o7)c
pgppepqo9
pgppepqobc
pgppepqoBs
pgppepqOcN
pgppepq:	oD
pgppepqo.D
pgppepqoF
pgppepqOf
pgppepqOG
pgppepq:Oh
_pgppepq_OH
pgppepqOH1
pgppepqoI
pgppepqOj
pgppepq:oK
pgppepqolu
pgppepqOm
pgppepqop
pgppepqOq
pgppepqO"r
pgppepqOr
pgppepqoTz
_pgppepqoU
pgppepqoU
pgppepqOW
pgppepqOX
pgppepq]]Oy
pgppepqOy
pgppepqoz
!pgppepqp*
]pgppepqp
_pgppepqp
|pgppepqp
pgppepq p
pgppepq!p
pgppepq#@p
pgppepq)p
pgppepq-p
pgppepq[p
pgppepq|p
pgppepqp
pgppepqp#
!'pgppepqP
*pgppepqP
:pgppepq'P
:pgppepqP
;pgppepqP
?pgppepqP
pgppepq!P
pgppepq(P
pgppepq;P
pgppepq@P
pgppepqP
pgppepqP)
pgppepqP*
pgppepqP-
pgppepqP?
pgppepqp0
pgppepqP2
pgppepqP4
pgppepqP5
(pgppepq p8
pgppepqp8
pgppepqP8
pgppepq(P8e?n
pgppepqp"8G
@pgppepqp'C
[pgppepqPE
pgppepqp'f
pgppepq@PG
pgppepqPGToI
pgppepqpHP
pgppepqPi
pgppepqpK
pgppepq]Pk#
pgppepqpl
pgppepqpm
pgppepqpo
pgppepqpP
pgppepqpQ
pgppepqPt
pgppepqpv
pgppepqpW
]pgppepqpY
pgppepqPY
.pgppepqq
[pgppepqq
pgppepq q	
pgppepq*q
pgppepq[q
pgppepqq
pgppepqq'
pgppepqq@
 pgppepqQ
*pgppepqQ
-pgppepqQ
_pgppepqQ
pgppepq*Q)
pgppepq@Q
pgppepqQ
pgppepqQ'
pgppepqQ(
pgppepqQ)
pgppepqQ?
pgppepqq3H
pgppepqQC
#pgppepqqe
pgppepqqe
pgppepqQF
pgppepqQFB
pgppepq-QG
pgppepqQj
pgppepqQk
pgppepqQK
pgppepqQl
pgppepqqm
pgppepqQm1fL
pgppepqQm4
pgppepqqM;;IJ
pgppepqqn)
pgppepqQn
pgppepqQOc
pgppepqQPM 
!pgppepqqr
pgppepqQSl
pgppepqq#t
pgppepqQU
pgppepq	qX
pgppepqqy
)(pgppepq)r
*pgppepqr
@pgppepq	r
]pgppepqr
pgppepq r
pgppepq"r
pgppepq*r
pgppepq;r
pgppepqr
pgppepqr!
pgppepqr#
pgppepqr|
-pgppepqR
pgppepq#R
pgppepqR
pgppepqR"
pgppepqR6
pgppepqR7
pgppepqRA
pgppepqRb
pgppepqrC
pgppepqRC
|pgppepqr"E
pgppepqRF
pgppepq'R]i
pgppepqRI:0
pgppepqRk
:pgppepqrL
pgppepqr;L
pgppepqRL
[pgppepqrn
pgppepqrN
pgppepqrN.
pgppepqRo
pgppepqROH
pgppepqrP
pgppepqrpy
pgppepqRR
pgppepqrs
pgppepq)rS
pgppepqRs
pgppepqRSu
pgppepqrU
pgppepqRu
-pgppepqRy
pgppepqR*Y
-pgppepq[s
.pgppepqs
pgppepq[	s
pgppepqs
pgppepqs'
pgppepqs)
pgppepqs-
pgppepqs::
pgppepqs?
pgppepqs[
"pgppepqS
(pgppepqS
:pgppepqS
:pgppepqS	
[pgppepqS
pgppepq S
pgppepqS
pgppepqS"
pgppepqS(
pgppepqS)
pgppepqS1
pgppepqs2
pgppepq_S3
pgppepqS6
pgppepq]Sa-S
pgppepqsB
pgppepqSc
pgppepq.SC1
pgppepqSF
pgppepqsg
pgppepqSh
pgppepqSI
*pgppepqsJ
pgppepqSJ
pgppepqSLm
pgppepqSLS
pgppepqSM
pgppepqsN
pgppepqSNq
pgppepqsp
pgppepqsPPRjg0nu
pgppepqsr
pgppepqsR
pgppepq SS
|pgppepqsU
pgppepqSU)?
pgppepqSU7
pgppepqsx
pgppepqsX
pgppepqsY
pgppepqSZ
pgppepq-Szaq
!pgppepqt
'pgppepqt
.pgppepqt
pgppepq*t
pgppepqt
pgppepqt.
pgppepqt[
	pgppepqT
?:pgppepqT
|pgppepqT
pgppepq!T
pgppepq-T
pgppepq]T
pgppepqT
pgppepqt2
pgppepqt	8
pgppepqT8A
pgppepqt9
pgppepqta
pgppepqTA
pgppepqTb
pgppepqtd
pgppepqTD
pgppepqt-e
pgppepqte
pgppepq)tf
pgppepqtH
pgppepqtj
pgppepqTk
pgppepqTKP
pgppepqTM
pgppepqt?O
pgppepqTp
pgppepqtQ
@pgppepqTq
pgppepqTq
pgppepqts
pgppepqTs
pgppepqTt
pgppepqTu
pgppepqtV
pgppepqTV
pgppepqTw
pgppepqtX
pgppepqTZ
'pgppepqu(
;pgppepqu.
pgppepq!u	'
pgppepq#u
pgppepq'u
pgppepq)u
pgppepq*u 
pgppepq[u
pgppepqu
pgppepqu#
pgppepqu?
)pgppepqU
.pgppepqU
@-pgppepqU
pgppepq#U
pgppepq*U
pgppepq-U
pgppepq?U
pgppepqU
pgppepqU:
pgppepqU@
pgppepqU|
pgppepqu2
pgppepqU3@5
pgppepq)u7
pgppepqu 7
'pgppepqu7t
pgppepqU9
pgppepquao
pgppepquCQ
pgppepquD
pgppepqUDSoU
pgppepqU*e
pgppepquF
pgppepqUf
pgppepquG
pgppepquh
pgppepqUj
pgppepquk
pgppepqUkQU
pgppepqul
pgppepqulc
pgppepqUO
pgppepqUp
pgppepqUq
pgppepqUQE
pgppepqUR
pgppepquS
pgppepqUS
pgppepquV
pgppepquWxN
pgppepquY
pgppepquyN
"pgppepqv
]pgppepq.v
]pgppepqv
pgppepq	v
pgppepq v
pgppepq(v
pgppepqv
pgppepqv";
	pgppepqV
-pgppepqV
pgppepq!V
pgppepq;V
pgppepq?V
pgppepq]V
pgppepq|V
pgppepqV
pgppepqV[
pgppepqv1
pgppepqV2
pgppepqV3
pgppepqv5
pgppepqv6
pgppepqv7
pgppepqV7DQ
pgppepqV9
'pgppepq:vA
pgppepqvA
pgppepqVAS
pgppepq Vb
pgppepqvDz
pgppepq_Vf
pgppepqvH
pgppepqV;h
pgppepqVH
pgppepqviN?
pgppepqvJ
pgppepqvjVt
pgppepqvm
pgppepqVm
pgppepqVM
pgppepqvN@
pgppepqvp
*pgppepqvP
pgppepqVp
pgppepqvr
pgppepqVRo
'"pgppepqVS
pgppepqvspH
pgppepqvT
pgppepqV@#t
pgppepq:VU
#pgppepqV)uF;
pgppepqvvL
pgppepqvx
pgppepqVxtz
pgppepqvY
pgppepqVY
pgppepqvZ
pgppepqVZ'
(pgppepqw
*pgppepqw
]pgppepqw
pgppepq-w
pgppepq.:w
pgppepq:w
pgppepqw
pgppepqw#
pgppepqw'@
pgppepqw-
pgppepqw?
*pgppepqW
[pgppepqW
pgppepq(W
pgppepq;W
pgppepqW
pgppepqW"
pgppepqW:
pgppepqW?
pgppepqW]
pgppepqw0H"
pgppepq.w(4
)pgppepqw5
pgppepqw7
pgppepqW7
pgppepqw9c;k
pgppepqwA
pgppepqwAo
pgppepqWB
pgppepqwC
pgppepqWE
pgppepqWF
pgppepqWFBA
pgppepqwg
pgppepqWH
pgppepqWi
)pgppepqWI
pgppepqwj
pgppepqWk
pgppepqWK
pgppepqwl
pgppepqWlT
pgppepqwM*
pgppepqwmv
pgppepqwn
pgppepqWn
pgppepqWN
pgppepqWNj	'
pgppepqwo
;pgppepqwO
|pgppepqWR
pgppepq"wS
pgppepqWSl
pgppepqWU
pgppepqWU*
pgppepqwx
pgppepqwy
pgppepqwZ
pgppepqwZlT
)pgppepqx
*pgppepqx
?pgppepqx
@pgppepqx
pgppepq-x
pgppepq;x
pgppepqx
pgppepqx#
pgppepqx(
pgppepqx)
pgppepqx@
 pgppepqX
!pgppepqX
:pgppepqX
pgppepq"X
pgppepq#X
pgppepq'X
pgppepq@X
pgppepqX
pgppepqX"
pgppepqX@
pgppepq;(x4
pgppepqX5
pgppepqXa
pgppepqxAMI
pgppepqXb
pgppepqXB
pgppepqXbX
pgppepqxCi
pgppepqXD
pgppepqXE
pgppepqXf
pgppepqXff
pgppepqxG
pgppepqXgL
pgppepqXI
pgppepqXJ
pgppepqxk
pgppepqXKN]WKYSA
pgppepqxL
pgppepqXl
pgppepqXL
pgppepqXm
pgppepqxn
pgppepqXn
pgppepqxP*
_pgppepqXp
pgppepqX[P
pgppepqXP
pgppepqXq
pgppepqxQR
pgppepqxS
pgppepqxv
pgppepqxVp
pgppepqXw
pgppepqxY
pgppepqxZr
(pgppepqy
)pgppepq(y
.-pgppepqy
.pgppepqy
pgppepq	y''
pgppepq"y
pgppepq(y
pgppepq*y-
pgppepqy
pgppepqy#
pgppepqy:
#pgppepq?Y
)pgppepqY
:pgppepqY
[pgppepqY
pgppepqY
pgppepqY!
pgppepqY_
pgppepqy2
pgppepqY2
pgppepqY28]
pgppepqy3
pgppepqY5
pgppepqY8
pgppepqY80
pgppepqy 9
pgppepqyBCY
pgppepqY.c4
pgppepq(yd
pgppepqYD6
pgppepqyI
pgppepqylf
pgppepqym
.pgppepqyN
pgppepqYp!-
pgppepqypw
pgppepqyQwO
pgppepqyr
pgppepqyvX
pgppepqYx
pgppepqYx(i
:pgppepqYY
pgppepqyz
 pgppepqz
!pgppepqz
"#pgppepqz
'pgppepqz
)pgppepqz
[pgppepqz
_pgppepq(z
pgppepq"z
pgppepq;z
pgppepqz
pgppepqz 
pgppepqz'
.pgppepqZ
]pgppepqZ
pgppepq"Z
pgppepq#Z
pgppepq)Z
pgppepq-Z
pgppepq.Z
pgppepq:Z
pgppepqZ
pgppepqZ:
pgppepqZ?
pgppepqZ[)
pgppepqZ3!
pgppepqz49P
pgppepqZB"
pgppepqZDd
pgppepq-ZdF
pgppepqz[Ek
pgppepqZF
pgppepqZH
pgppepqzM
pgppepqzmmT
pgppepqzMpQ
pgppepqzn
pgppepqZN
pgppepqzo
pgppepqzO
pgppepqzoD
#pgppepqZQ
pgppepqZQ.!
pgppepqZt
|pgppepqzV
pgppepqzVp
pgppepqzY
	pgppept
	pgppept	
!pgppept
(!pgppept
)pgppept
*pgppept
-pgppept
.pgppept
:pgppept
;'pgppept
@!pgppept
[pgppept
|pgppept
pgppept 
pgppept"
pgppept'
pgppept)
pgppept*
pgppept-
pgppept;)
pgppept_
pgppept|
pgppept0
pgppept2
pgppept .6
	pgppept7
pgppepta
pgppeptA
pgppeptC
 pgppeptD
pgppept]e
pgppept|ex
-pgppeptf
pgppeptF
pgppeptg
pgppeptG
pgppeptG?u9i
pgppeptH
pgppepti
 pgppeptI-
pgppeptI
pgppeptI-L
pgppeptj
pgppeptKi
pgppept*L
	pgppeptm
pgppeptMX
!pgppeptn8
pgppeptNf
pgppeptOIxD|
-pgppeptoNPMZ
pgppeptq
pgppeptQ
pgppeptS
pgppeptt
pgppeptU
pgppeptUf
	pgppeptv
pgppeptv
pgppeptV
pgppeptw
pgppeptW(
pgppeptX
pgppepty
pgppeptZ
pGp@pGp@pDpIp
pGp@pHpDp
pGp@pHpFp
pGp@pHpppp
pGp@pIpCp
pGp@pIpGpCp
pGp@p@pEp
PG_PQGMDJCA[JBL
PG_]P[XO[
P'gqcgfG
P_GQ_DCH@]CH
pgqfgfw(JF
p@@@@@@@@@@gqgg
Pgqgg0"v
]pgqgg1(8@
Pgqgg?2b
Pgqgg')2k3
P'gqgg5T
p?gqgg76
pgqgg[;a
pgqgga8B
PgqggaRH
*PgqggBp
)P*gqggc
Pgqggcmyl
?;pgqggcnuD
pgqggcnuD
PgqggcnuD
]:PgqggD3
(PgqggdG
Pgqgge3!
pgqggEHu
P-gQggfG
:pgqggfi
:pgqggFJOS
pgqgg_fMv
Pgqgg'G8i
-Pgqggh"
[pgqgg_i:
Pgqggj"@
PgqggKSl
P#gqgg!l*
pgqgglc6H
:"Pgqggm
pgqggNK_
pgqggoPe
Pgqggpd2
PgqggrJgqI
pgqggrXr
P;gqggT1K
Pgqggukd
[Pgqggvl
pgqggWB1
PgqggWk4
PgqggWN;
pgqggwwmwt
pgqgg(x1
pgqggxZ"
[PgqkgfG
[[PGQ_KX
PGQLJ]KHBY
PGQNZDZGHM
PgScgfG-[
PgScgfG5
PgScgfGJ
pgSdC[[[
PGSENODPZ@CL]L
P_GSJ]EY
p:gskgfG9
pgSkgfG9
PgSkgfGq
P"gskgfGqag
pgSkggG3
||pG||TG||H
pG@@@@@u
pgUdgfGIb
pg!ugfG.
'pgUkgfG
P[guqgfGO
pgv9rgpgphP
pgwagfGK
pgWegfG)
pgwegfGk
PgwfgfGd
pgW)gfGl
pgWggfGM
pgwngfG(
#pgWpgfG
#pgWpgfG0
#pgWpgfG6
#pgWpgfG9I3jgqggV
PGXAJGJDHO
PG_XBXLLO]
PGXLGABZ
PGX]NOEZA[MJ_]
@PGXO]C__
_PGYACHA
_[_PGYCHFLAD
@PGY]DM]Y_
 pgyegfGi
'PgYfgfG
PG_YHOS[
PgykgfG]X
PGYK_L[CPM
PGYOHQGLBK_X
PgysgfG[
PgysgfGP
PGYXL[[Q
)))PGYYPGYEZ@HGXJ]PGYEZ@HGZ@]PY
P_GZAHNJGJFNY
PGZDGYQH]PMX[
P]GZMYYMN
PGZOPGS]SP
PGZXLAQQQJNE
@@@@@@@@(p@H
@@@@@@@@_p@H
PH8xyxoy)
pH@@@@@9
PH9y8tHH
@@@@@.pHA
PhAAAAQA@AOqNI
pHAeF_L[
PHAEF_L[
PHAFFDH@E
PHAFFDLZZLGNNL[
PHAFFUHZBUHFEUK@GN
PHAGQGOJX]
[PHA]MP[
PH]BCX[J
PHB]D_S]J
P_HBJ]CJYKMN]_X
PHBNC[X]D
PHBYGHM_
PHCNCK]J
PHCN_M_[
PH@COYHD
PHCPHSDQ
PHDFEGO]
p)))H[DH[D
PHDHFOO@J@HE
PHdK[[[W[[[
P@HDL]OY
ph*dP[[[
p)))_H[DPZPZ]LD[FF]
ph*dW[[[
ph*dW[[[U[[[J[[[
P||hd||Xd||
PHDX@[MSZ]@PL@S
PHDZYJ[GQX@K
p)))_H[E
@[]P]H@EL
PHEMY_[Q
!:pH)ey@o
PHEYZ]F[L
@@@@@@@@[pHf
p#hfcgfwUE
PhFdz[[[-[[["[[[d
PHFGH_J]C
PHFLD_NY]@K_LM[JGFH
P]HGE]SYH
pHg'ggfG
PH[[G]GPB
PHG]H[KL[LN
[PHG]HQ@
)))PHGHY@[@
P[HGOM_D[ZPO
_PHGP[OA[
phgqggtyL
PhGWSSPs
@@@@*pHH
pHh8yxty
PHHDSLL]_CMBL
PH[HGB_G
PHHGXPYFB
PH[[H[HAJF]
P__HHHOCG
PH][H]HQ@
p)))H[[HP
PHH[POSG
P[HHQHZJL[]PL[]P
PHH]SZCZX
PHH_XEHEC
PHHXHXFFBO
PHHZJQBS
PHHZSPN_
PHJAJNB@K
p)))HJ]@_L
PHJNN]ZJ
][PHJ]@_@]P
P_HJXHMGKC
]P[]HKC[
PHK[_DDOLMKBXPK
PHK[[D[Q
PHKGZHLDDAZP
PHKM]XP[DYFSJ
PHKOQBKLPSPOCFOBP
P__HKXL_
PH[KXSNPP
]P][HKXZHKECNZPGPEN
@@@@@@@@[phL
PHLB]M_SNY[[
PHLdV[[[
phllllllllmllllOllylm
[P_@HLMDN
PHLMSAHZDJC
PHLNYNNS
PHLPGX][
PH@LXBHBNAQJ]GLD
PH[LZDJQ
PHMCGJNBL
PH[M[[DA]
phminposuw
][PHMME@GB
_P[H@M_MJ
PH@_MQXDM
]PH]MSQAFJJ_KSQEJOMO
;)))P]HNGHDL
][PHNH@G
][PHNH@GEH]L[
][PHNH@GJEHZZ
#p)]H[NL]
p)))]H[NL]
P)))]H[NL]
#p)]H[NL]DFML
[PHNNLLY
PH]NNZBB_B_DL
PHNYAOL@][CGCDM
P[H]OBQGYK
PHODGCO_
PHODZFKCFXSD
p())_H[OEHZA_H[Z
PHOH]_MKZC
PHO]JSB_
PHOMLYLDQM
P@[_HOON]MA
phO[[[Z[[[O[[[
pHpApApCpDpApCpDpIpGpBp
pHpApApEpDp
pHpApBpHp
pHpApBp@pEp
pHpApCpGpCpIpIpEp
pHpApFpIp
pHpApIpHp
pHpAp@p@pIpFp
pHpBpApEp
pHpBpBpBpCp
pHpBpBpEp@p
pHpBpBpHp
pHpBpCpCpBp
pHpBpDp@p
pHpBpEpBpAp
pHpBpEp@pHp
pHpBpGpDp
pHpBpHpBpDpGpApDpFpGp
pHpBpHpDpBp
pHpBpIpApEp
pHpBpIpEp
pHpBpIpFp
pHpBp@pApCp
PHPCOSN]
pHpCpApCp
pHpCpBpFpFp
pHpCpBp@pIpEpFp
pHpCpDpApBpEpAp
pHpCpEpCpDpIpCpDpIp
pHpCpEpGp
pHpCpEp@pIp@pBpIpFpFp
pHpCpFpGp
pHpCpFp@p
pHpCpGpFpGpDpDp
pHpCpGpGpHp
pHpCpGp@pDpHpFp@pBpHpIp
pHpCpHpBpAp
pHpCpHpEpEpFpBp
pHpCpIpFp
pHpDpApEpGpApCpBp
pHpDpCpAp
pHpDpCpCp
pHpDpCpIpAp
pHpDpDp@p
pHpDpFpGp@p
pHpDpFpIp
pHpDpGpGpHpAp
pHpDpGpHpEp
pHpDpHpGp
pHpDpHpHpGp
pHpDp@pCp
pHpEpApDpIp
pHpEpApEp
pHpEpApHp
pHpEpDpEpBp
pHpEpDpEpIp
pHpEpEpCpCp
pHpEpEpEpHp
pHpEpFpApDpEp
pHpEpFpBp
pHpEpFpBpAp
pHpEpFpCpGp@p
pHpEpFpHpBpHpBpBpApDp
pHpEpFp@pIpIp
pHpEpGpGpFpAp@p
pHpEpGpHpHpIp
pHpEpHpDpApDpHpIp
pHpEpHpFpIpDpEpGpBpHp
pHpEpHpIp
pHpEpIpGp
pHpEp@pDpBpGp
pHpEp@pEp
pHpEp@pEpIpEp@p
pHpFpApAp
pHpFpApFpGpIp
pHpFpApHp
pHpFpDpAp@pBpCp
pHpFpEpBp
pHpFpFpApBpHpCp@p
pHpFpFpDp
pHpFpFpEpApIpEp
pHpFpGpApDpFpEpDpHp
pHpFpGp@pBpBpBp
pHpFpHpGp
pHpFpHpHpGpCp
pHpFpIpApFp
pHpGpApApCpFpIpGpHp
pHpGpBpGp
pHpGpBpGpIp
pHpGpDpApDpCpDp
pHpGpDpBp
pHpGpEpGp
pHpGpFpApIp
pHpGpFpEp
pHpGpGpGpBp
pHpGpHpApCpCpIpDpIpBp
pHpGpHpEpDp
pHpGp@pBp
pHpGp@pCp
phpgppepq
PHpgppepqQ7
pHpGp@pFp@pIpHp
pHpHpApBp
pHpHpCpGpBpAp@p
pHpHpDpEp
pHpHpEpDp
pHpHpEpEpEpHp
pHpHpEpIp@pHpDpFpFp
pHpHpFpApDpEp
pHpHpFpApGpCpHp
pHpHpFpDp
pHpHpFpGp
pHpHpIpDpDp
pHpHpIpEpIp
pHpHp@pHp
P@H;PHt!
p@@@@@@@@@@@@@@hp@@@@@@@@@@@@@@ip@@@@@@@@@@@@@@
pHpIpAp@p
pHpIpBpEp
pHpIpCpApDpDp
pHpIpDpFp
pHpIpDp@p
pHpIpFp@p
pHpIpGpBp
pHpIpHpDpEpDp
pHpIpHpGp
pHpIpIpFpBpEpGp
pHpIpIpFpCp
pHpIp@pBpBp@p@p
pHpIp@pDpApBpEp
PHPM_QPALNGLO
pHp@pApBpBp@pEp
pHp@pApDpBpCpCpIpFp
pHp@pApEp
pHp@pApFpIp
pHp@pBpDp
pHp@pBpHpFpAp
pHp@pCpEpFpGpIp
pHp@pFpDpFpEp
pHp@pFp@pCp
pHp@pHpDp
pHp@pIpIpDpEp
pHp@p@pAp
pHp@p@pApIpGp
PhpXSSkGGSSPs3
p@@@@@@@@@@@@@@hp@@@@@@@@@@]Y]]
P_HPYCPZCZ
PHQAG]AH
PHQCyx:z3
P_HQ[J]QA
P||hQ||LQ||6Q||
PHQ[NQZZMLKOGPNDFZM
PHQQJ]XYY]
PH_[_QZPKHH_L
PHSAJNOSYXHXL
PHSAQK[G[N
PHS[CKBYDH[MHK
PHSFvNHDLZ
]PH]SJZ_[
PHSQHZ_GGNQ
p)))_H[SSSS
p)))_H[S@YLG][P
PHTyx2zVx
PhwD-4H(
p|h(w|hHv|h
pH@@@@@X
]][_PHXAH
PHXEDMZ@BJ
PHXODY[Q
PHxxrPIxxrkYPJxxriY
phxxyxsy(
phxxyxx0xxzxzxzxxyxm
p)))_H[@YAF]
PH__Y_DFQ
PH][]YE]CL[
PHY_KY]G]@
[]PHYLDSKDD]]O
PHY_O_FB]LBPQB
P_HY_SCG
physicalPath
PHYSYDNC
PHYXHPEJ_
@PH@YZ_F
PHYZZCMGL[S
][P]HZBB@EE
PHZGJNNN
PH[Z_HMO
P[HZJEFJJ
PHZ_LHYYEH
PH@ZXLOMMCSQES
PH][[Z]YM_C
@@@@@_p@I
[[[P[[[I[[[
p@I4N[n@@@@BAA@Cp@Kg
pi!-8jJhggfw
@@@@@@@@_p@I[9|
@pI9@xs.L
pib 5  o
P@IBTBUI	|PExRDBI
p?ICqgfGd'
PIeO[[[v[[[u[[[
[PIFEmbedded]
pigfG086
pigsjgfG
PIi5PIiYPIi
)PIKcgfG
@@@@@@@@[pIL
pI[llllllllmllllOllylm
pIllllllllmllllOllylm
pIllllllllmllllOllylm[
P#i)llllllllmllllOllylm
Pi	llllllllmllllOllylm
PIllllllllmllllOllylm
P#i)llllllllmlll]Y]]
pIlpgppepq
PINQQCyxHy
p@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@
pIpApEpFp
pIpApEp@p
pIpApFpDpEpGp@p
pIpAp@pDp
pIpAp@p@p
pIpBpBpGpCp@pGpHp@p
pIpBpDpAp@p
pIpBpFpCp
pIpBpFpGpEpFp
pIpBpGpIpApCpEp
pIpBp@pDp
pIpCpApDpCpEpIpCpEpDp
pIpCpCpEpBp
pIpCpDpCp
pIpCpDpFp
pIpCpDpGp
pIpCpEpEpIpHp
pIpCpEpIp
pIpCpEp@p
pIpCpFpAp
pIpCpHp@pEpHp
pIpCp@pFp
pIpCp@pIp
pIpDpApCp@pEpGpIpEp
pIpDpBpDp
pIpDpDpIpHp
pIpDpFpCp
pIpDpFpHp
pIpDpGpBp
pIpDpGpHp
pIpDpHpFpApCp
pIpDpIpIpIpCpBp
pIpDp@pEp
pIpDp@pIpEp@p
pipeline aborted
pipeline complete 
pIpEpApFpCpBp@p
pIpEpApFpIp@pFp
pIpEpAp@p
pIpEpGpDpFp
pIpEpGpEp
pIpEpHpCpEp
pIpEpHpHpFpGpIpDp
pIpFpApAp
pIpFpApApAp
pIpFpApIpDp
pIpFpBpBpCp
pIpFpBpGp
pIpFpBp@pEp
pIpFpCpGpDp@p
pIpFpDpBpDp
pIpFpDpCpEpGpGp
pIpFpEpCp
pIpFpEpDp
pIpFpEpEpApGpHpEpHp
pIpFpFpGp@pHp
pIpFpGp@pEp@pFpEpBp
pIpFpHpEpIpHpFpFpIp
pIpFpHpHpDp
pIpFpHpIpEpFp
pIpGpApCp
pIpGpApHp
pIpGpBpBp
pIpGpBpCp@pCp
pIpGpBpFpGpHpGp
pIpGpDpCpGp@p
pIpGpDpEp
pIpGpEpCpBpIpCpEpGp@pGpFp
pIpGpEpGp
pIpGpFpFpGpFpDp
pIpGpFpHpGp
pIpGpFp@pFpFpGpApDp
pIpGpFp@pFpHpCp
pIpGpGpCp
pIpGpGpIp
pIpGpGpIpAp
pIpGpGp@p
pIpGpHpAp
pIpGpIpAp
pIpGpIp@p
pIpHpApCpCpIpFp
pIpHpBpAp
pIpHpBpEpIpCp
pIpHpCpBp
pIpHpCpDp
pIpHpDpFpApHpGp@pDpIpGp
pIpHpDp@p@p@p@p
pIpHpEpEpIpIpHp
pIpHpFpIp
pIpHpIpBp
pIpHpIpEp
pIpHp@pBpEpAp
pIpHp@pCpGp
pIpIpApFpBpCpIp
pIpIpApHpHpEpDpBp@p
pIpIpBpBpBpDpEpDp
pIpIpBpCpDp
pIpIpBpEp
pIpIpCpHp
pIpIpCp@p
pIpIpDpAp
pIpIpDpDp
pIpIpDpIp
pIpIpFpAp
pIpIpGpAp
pIpIpGpHpEpCp
pIpIpIpFp
pIpIp@pHp
pIp@pApDp
pIp@pCpFp
pIp@pDpAp
pIp@pDpGpGpBp@p
pIp@pEpBp
pIp@pEpDpGpDp
pIp@pEpFpIp
pIp@pEpGpApDpFpCp
pIp@pFpIpCp
pIp@pHp@p@p
pIp@p@pIpGp
p|i(w|iHv|i
Pixxyxmy
Pixxyxwy
Pixxzxiy
piyDggbgfGx
PIZpggdgfG
@@@@@@@@_p@J
@@@@@_p@J
PJ_A_AAZ
p)))JAH[
]PJA[JDN
P@JAJJZHCK
P)))[@JA]LJA
PJALNMKMM
PJAOOSNXAA
PJAQGZJQNJY
P[JAXKDC
PJ_B_AXS@XXXH
_PJB]JJY
PJBLYPO]DNCNNC@K_
P_JBO[FSOX
PJBYYANG
PJC]B[EKGF[P
[PJCBY_H
PJCJ]_JAG
PJCQDAX]
PJ@]CXPPOJOO[_CND
[[[pJDdA[[[
PJDJOOSDONXGN
PJDOMPK]XP
p@JdU]L@@@@@@B@
PJELQNJBA
p)))JFGSFFD
_P_JFNH]N
PJF_NKZCZB
p)))JFYP[@NA]
pJfZgJnDY
_pj:gAgg
PJGCYC[MK
PJGDPMOE
pjgfG@tp
pjggcgfG
'PjggfgfG
PJGHPAFAA
p'j'Gi)'
p)jgl.ffG
P]JGMNKZ
@PJgWegfGP
||pJ|| H||
P)))JHEE
P)))JHEEKPGHDL
P@Jhggfw
P)))JHGH[P]FBLGZ
][PJH]JA))
)))PJHN@JHPC
PJ_HPNMC
P[JHQJKZB
PJHSMOOSM]
PJ]HSQX_O]
PJHXSBBPGGH
_PJHYEKA[_
PJHYGQMB[LJ[PMK
PJ@[H[Z][EZ
]PJHZGLH
pJ@@@@@J
]||Pj||(j||
P_JJAQLSJZCZLGB
PJJBPP]CKM
PJJBYYOG]DHPKP]YKZQACN
PJ]_JDNM[MZX
PJJLGKGMXGCM]GQ@O
]PJKHLNE
PJKKFO]QZC
PJK_LKP_HE][]ZB
PJKXQXH_OYQ
PJLF_QJ]
p)))JLHZJ
PJLKQBXX*
PJllllllllmllllOllylm
@@@@|p@Jlm4
PJLM]AAQ@SSB
PJLPX]_ACCP]_NO@
PJLPY[GD
PJMD_JA@KLHX
_PJ@MEGE
PJMFBD_J
PJMHMLMH
]PJMJPJPJZOPJPJPJPJFOPJPJ
PJ[MLKQJM
PJMPQGGS
_PJMSMXXX
PJNCS_CS
[PJNGCXYX
PJ_N_GHHBB
[PJNGYXYX
[PJNJYXYX
[PJNJYXYXt
[PJNLAXYX
P[JNNC_AMA
PJNOCPLQ
[PJN@]XYX
[PJN@]XYXr
[PJN@]XYXr[PJNJYXYXt
PJOLP_HLMGP
PJOOKQCDW
_PJO__SXDQ
PJPA]COJHFDHBXBMHMN
PJPANBJQECYDKBGNS[ZQP@E
PJPBGQ_GCCJ
P]J[PBYNLXX
P]JPENGY
PJ]PGG[L
P:Jpgppepq#
PJPJKFLBBM_Y
[PJPJPJPJPJPJMJPJPJPJ	X
_PJPJPJPJPJPJPJ
_PJPJXOPJOJ
[__PJ[PS[F
]PJPZCZDMJCQ
P@@@@@@@@jp@@@@@@@@@@@@@@zp@T
PJPZYXSHGKN@
PJ]Q[ECE@M[CPGZ
PJQEO_EHNAD
[PJQFF[[
PJQFP_NP
P[JQ[KDAYX
p@@@@@@@@@@@@@@JQ@M!
PJ[QPLKMBZZQ]
PJQYYQMQ_
@@@@@@@@_p@Jr
PJ]SCJCMKLN
p@JS'F4@@@@B@A@@
p@JS'F4@@@@B@A@np@T
p@JS'F4@@@@BBA@Qp@@@@@@@@@@@
P[JS_SJAZ_
PJSSSLKEDKEPYCBDNK
||PJ||t	||X
PJXCNAC_H
PJXJDLNBLYBL
PJXOGM_JYYONXAAJM
PJXOQCFHMPJK_CPP
PJXYPYSNS
pj@]Y]]4YY
PJYABKNYL
PJY]FGZOMHO
PJYK]GASKJG
PJ_YOAFJGQ_
PjYrZgfG
PJYXAXEL
PJYYHNP]HFHXKY@
PJZA@ZM@
PJZDQF[ADEC
PJZEX]CXN
PJZJQQKHC
p?K2NgfG
p@@@@@@@@@@@k@@A@ACac
p@@@@@@@@@@@k@@A@ADac
P[KABLJFHYKJ
P_[KAGBX][GYB
pkappappid
pkappappname
pkappcommandline
pkappcommandline_scrubbed
pkappfamilyname
PKAQJJQNSLH
P[K[AQ[QN[O[
PK@BGBKJNHMH
P@KBHEPZJ
P[KBSQSP
PKCGX]_O
PKCK_DYKQSZ[
[PKCKHG_JF
PKCLGPOL
Pkcs7DataContent
PKCXLCBKXGA
PKCYPP_KQ
PKdA[[[5[[[
_PKdK[[[c[[[
PKDKYESCA
PKdM[[[4[[[ [[[u
PKDMJPNDQPL__SP_@
P]KDNYXHSY
PKDSNQXHCY]
@_PKDSYZYOX
pKdU[[[][[[
[[[P;KdY[[[
]PKdZ[[[ 
PKE__BEC
PKENPXKJFGHYOQ
PKEZPJHM
PKFB[[QBO[MYY_
p)))KFMP
PK]GA_BO[
PKGCJQCX]KKJ
pkgfGsVO
]PKGGOQL
PKG[JD_SKD
PKGMP[[NBS
P@KGM[[PPZ
PKGPYMZK
PKgqggIj
PK[GXLCP_S
@PKGYLFDJ
@@@@@@@@_p@KH
P@KHFY@GN
PKHHIQCZX
PKHLCXNXH
PKHNMHMDK[C_
PKHNNSJM
PKH_PDPNLNZB_XDJ]NAQN
p|kHw|k.o
PK_JGCQ@Y]OM@D[JAHL
_PKJJX_B
P_KJXMMN
PKJ@XO_NXH
PKJYHFBQPHHY]H
PkKdz[[[B[[[
PK@K_KPN
PK_KL]MJPNNQ[N[_Z
PkKmKpKoK
PKKNKHCSA_[Y
PKKN__XBP
PKKYMQYGG]D
@@@@@@@@[pKL
_P@KLCOXGNKSK
(PKLite)
(PkLite32)
(PkLite32-DAMAGED)
P]KLKBPG@D
_PKLKXQ]G[[S
PKL]LNF]APBX
PKLOJA]LCH
PKMB[JGL]A
 PKmggfw
PKMK]CAEFJSQY
P_KMKNFDKACYKN
PKMSB[_L[[
pKmSSSSSSSSL
pKmSSSSSSSSSSSSSSSS
p||||||||||KO
p@Kok#Y@@@@@
p@Kok#Y@@@@@v@@A@ACac
pk_operands
PKPA]MZCXESZ
pK#pgppepq
PKPS_MBYJXHO
P[]KQJAXD
PKQKXKGBJP[ZXL
PKQLC[K]CCY
PKQLZCHZYH
PKQ[MHL[X
PKQ@MJGJBH
PKQO]MLL
PK[QPAHD_D
PKQQLQMZF
_PK_QYSSHKGZM
@pK@sBJBp
PK[SDOK@L
PKSG[NLL
]PK@_SGON
PKSHEF]Y
PKSLNLQDSX[PD
P]KSZOZ]]
:PKvgfGu
PkwetTgWkgfG
@@@@@@@@)pKWK
PKX_]FKFXCDX
PKXKAQSHOSP
Pkxxrrpo tp
P_KXYKPMZLAC
PKYBBCAF
[_PKY]GDO]
)))PKYGPX[JG]GS[HNK
]PKYOKN]
PKZ_EK_XZJ[FKC
P[[KZ]]G
p)))_KZi]LDYM@[uZ_AFZ]
PKZJZJA[
PKZLSPHFAJ
PKZMXSMMN
PKZZP@CA
@@@@@@@@[p@L
@@@@@@@@[p_L
@@@@@@@@_p@L
@@@@[p_L
p@@@@@@@@@@@L@@
Pl1e@[[[
Pl1e][[[a[[[
'[[[Pl1eB[[[
Pl1eE[[[
[[[Pl1eI[[[
Pl1eI[[[5[[[4[[[
.[[[Pl1eK[[[
Pl1eL[[["[[[
Pl1eS[[[
Pl1ey[[[
P!@@@@@l@@A@AFac
PL[ACD]ODK
PLAEMXED
PLAEQCNAE_]BHN
P]LALAMNGD@B[LH[D
_P@L[AMNOJQL[ESDO
PLA[OS[L
PLASC]LJB
.platform
platform
PLATFORM_ATLANTA
PLATFORM_CAMP
Platform family 
platform_info
PlatformInfo
PLATFORM_LINUX
platform_list
PLATFORM_MAC
PLATFORM_NA
PLATFORM_NAGANO
PLATFORM_OLD
platformrollbackhealthdata
platformrollbackstate
PLATFORM_SLC
PLATFORM_TORINO
PLATFORM_VERSION_CAMP0
PLATFORM_VERSION_CAMP1
PLATFORM_VERSION_CAMP10
PLATFORM_VERSION_CAMP11
PLATFORM_VERSION_CAMP12
PLATFORM_VERSION_CAMP13
PLATFORM_VERSION_CAMP14
PLATFORM_VERSION_CAMP15
PLATFORM_VERSION_CAMP16
PLATFORM_VERSION_CAMP17
PLATFORM_VERSION_CAMP18
PLATFORM_VERSION_CAMP2
PLATFORM_VERSION_CAMP3
PLATFORM_VERSION_CAMP4
PLATFORM_VERSION_CAMP5
PLATFORM_VERSION_CAMP6
PLATFORM_VERSION_CAMP7
PLATFORM_VERSION_CAMP8
PLATFORM_VERSION_CAMP9
PLATFORM_VERSION_CAMP_BASE
PLATFORM_VERSION_NA
pLATINUM
PLAYM[JJ
PLBDASBG_X
PLB[DBGAZA
]PLBFGB]FL
PLBKG]QCKX
PLB_ODMK
PLBP_]SLJL
PL_BQGNH
PLBSBZDO
PLB@SXJZ
PLBSXLPLD
PLB@XOMJJ@Y
p@@@@@@@@@@L@CAvpE[
pLCdH[[[
]PLCEXXZSSOCS
PLCKBM_O[EMM
[PLCQ]BBOM
PL]CS]AO
[[[p Ld_[[[
PLd][[[4
pLd][[[9[[[
PLDFZ]OO
PLDG[LB_X]CK[[B
PLDGL@Z@FYQE
PLDLBAHGL
PLDLBZLYL]@
pLDLBzLYL]@hJ]@_@]P
PLDN_JGODGFDA]N_Z@ZL
PLdO!7d:t
_PLDPKJPK
P]LdQ[[[
PLDZ]]FPO]
PLEAFSHHGB_
)))PLEBLGPH]J@E@B
PLEBML[OJJQ[]MHLFG
PLEB[]O]
)))PLEE[
PLEE[vHGM[F@M
p)))[LEH]@FGZA@YZ
plepn	dX
[P[LESMNEP
PL[@FD@G
P)))L[[F[DZN
PL[FSCMYDFN
P)))L[[F[v[LYF[]@GN
pLggGkgfG
PL[GLD_DL
][PLG]L[@GN@]HNH@G
PL_GPNSLEMM
PLG]QBXQJ
pL_gqggv
PLG]QONGQ
PLGX_GAM
PLGXJGGGB
PL[GYN_SY
_PLGZJG]B
@@@@@@@@_p@L_h
PLH[EXX]]P
PLH[FOO@JL
PLH[FOO@JLLQJLE
PLHJ[BFDSY
@PLHJB[KFD
PLHKGZSHZB
PLHKLZ]Z
_PL]HL_[M_]B
PLH[LQJLEO@_L
PLHMLCGX_
[PLHN]KKZOBB
PLHZLBYQAJ
p)))[LJ]]A[LHMvFKCLJ]]Fv@G]L[Z
PL__JBKX
PLJ_BSBDBHB
PLJC]KC_X
PLJDNFQXKHB
PLJECNQABQFOO
PLJHQJCDEZZK
P]LJK_SAD
p@Ljyb|@@@@@@B@
p@Ljyb|@@@@B@A@
p@Ljyb|@@@@@@@@hp@@@@@@@@@@@@@@ip@@@@@@@@@@@
P_L[KBHXEO
PL_KHZXLHCSO]QNOMP
PLKOD[DP
PLKSXJO_MJKFC[M
PLLAAMACO
[PLLG]_J
PLLJYB_CGC
plllllllllmllllOllylm
PLllllllllmllllOllylm@
pllllllllmlllIMO8) V8
		pllllllllmllllOllylm
	pllllllllmllllOllylm!
 pllllllllmllllOllylm
@pllllllllmllllOllylm
p	llllllllmllllOllylm
p!llllllllmllllOllylm
p(llllllllmllllOllylm 
p)llllllllmllllOllylm(
p:llllllllmllllOllylm
p@llllllllmllllOllylm
pllllllllmllllOllylm
pllllllllmllllOllylm!
pllllllllmllllOllylm#
pllllllllmllllOllylm;
pllllllllmllllOllylm_
_PllllllllmllllOllylm
|PllllllllmllllOllylm
P!llllllllmllllOllylm
P[llllllllmllllOllylm
PllllllllmllllOllylm
PllllllllmllllOllylm!
PllllllllmllllOllylm')
PllllllllmllllOllylm(
PllllllllmllllOllylm[
P"llllllllmllllOllylm4
PllllllllmllllOllylm5
?pllllllllmllllOllylm6
PllllllllmllllOllylm8a
pllllllllmllllOllylmA
PllllllllmllllOllylma
pllllllllmllllOllylmAuK
pllllllllmllllOllylmAY3
pllllllllmllllOllylmB
PllllllllmllllOllylmb
PllllllllmllllOllylmC
PllllllllmllllOllylmd
PllllllllmllllOllylmDD
pllllllllmllllOllylmDV
PllllllllmllllOllylmE
p[llllllllmllllOllylmec
PllllllllmllllOllylmg
p#llllllllmllllOllylmH!)
pllllllllmllllOllylmHvU
pllllllllmllllOllylmI
PllllllllmllllOllylmi*
pllllllllmllllOllylmJ
PllllllllmllllOllylmj
 pllllllllmllllOllylmk
PllllllllmllllOllylmM
pllllllllmllllOllylmn
pllllllllmllllOllylmN
PllllllllmllllOllylmn
PllllllllmllllOllylmNz
pllllllllmllllOllylmP3(
pllllllllmllllOllylmPU
pllllllllmllllOllylmr
PllllllllmllllOllylmRA
*PllllllllmllllOllylmrr
pllllllllmllllOllylmS
pllllllllmllllOllylmS8
PllllllllmllllOllylmT
PllllllllmllllOllylmT[
PllllllllmllllOllylm	TS
pllllllllmllllOllylmu
PllllllllmllllOllylmU
PllllllllmllllOllylmv
"pllllllllmllllOllylmW
PllllllllmllllOllylmw
]-*PllllllllmllllOllylm[W
PllllllllmllllOllylmW
pllllllllmllllOllylm	:x
P!llllllllmllllOllylmx
PllllllllmllllOllylm)y
pllllllllmllllOllylmz
pllllllllmlll]Y]]
pllllllllmlll]Y]](
Pllllllllmlll]Y]]
pllllllllmlll]Y]]Z
[PLLOXXB
pLlSSSSSSSS
PLMHXODZ
PLMKQDCS
@PL_MQGPE
PLMXJXOCN
PLMYZZXM
PL@NDAOSNPNN
P]LNDOOQAMAGZG_Q
PLNEESCA@NMY[FGKZ
PLNGCX[_B
P)))[LNHMM
p)))[LNJELHG
[PLNMXYG
PL@[N_SPX@GJ
PLODYGPA
PLOEQGLE_]BDS]
PL@OFGQC
PLOLDXYNGYQ
"PlOllylm
_PLOQ[E_
PLOZOYKZPHPEOPH
p@@@@@@@@@@@@@@Lp@
P[LPAJYP_Z
PL_PEBEXZ[]
PLPGGMYZ
pLpgppepq
p@@@@@@@@@@@@@@Lp@g"V
PLPK]J[M
@@@@@@@@!p@@@@@@@@@@@@@@Lp@M
PLPMQAB]Y
p@@@@@@@@@@@@@@Lp@n
p@@@@@@@@@@@@@@Lp@P
PLQ@[EEQC
p)))LQJLE
P]LQP@JSPM
PL@QQAPXGG@
]P[LQSCY]
][PLQYEKFFELHGDPJEHZZ
PLRRSSSSS
@@@@@_p@LS
PLSBJJ[G
PLSBLGPH
PLS]CHKP
PL[SG]D[OGNA[
PLS[GQYL
[PLSJBMMB
PLSNYDDXK]BNXGMD
plSSSSSSSS
PlSSSSSSSS
PLSX_A_FC]GQ]MJNDZB
PLSYB_NX]Z_
PLSY]LQGNKL_
PLSYMJ@Z
.plt.got
PluginId
pluginname
plugin_origin
.plugins
plus-sign
P_LXC[DSEHD
PLXDCLPJ@O
_P_L_XDG
_PL]XMXQQ_D
[PLX]]XAGXEX]
P]LYBZZLJAM]
_PLYGGCZ
P[LYNPNJH
PLYSAKZ@
]P]LZAYMEYXEFO
]PLZEDSJ
P]LZ@FBAOLM_YAACHYDOPH
PLZGFJHGJLE
PL]ZGMQZB
PLZJ]@DL
PLZJXGSSKOQ
)))PLZPLZYHP
PLZPLZYHP
P[LZQQ_L]
PLZSPKFXYY_YA
PL_ZYGCM__
PL[_[ZY@_KH
)))PLZZLH[JALZ
PLZZLH[JALZ
PLZZPZ_Z]H[]Y[@F[@]P
@@@@@@@@[p@m
@@@@(p@M
@@@@@@@@(p@M
P")||||m|||||||
pM6gUcgfG'
*PM9pgppepqA
p@@@@@@@@@@@m@@A@ACac
pmaddubsw
P_MADHCMO
PMALAQHXMK
PMAL]@JQCGYHDSDGJH
_P_@_MAP
Pm@@@@B@A@2 @UY
PMB[CXPKJ
PM@BGNC[[NHX_
P_MBJNKC
P[MBJQSBDAJ
PMB[MQOJCS[
PMB][NP]LCESPA
P@MBOPQMEJM
PM__BQEKO_
PMCdQ[[[
PMCPEPO_@GM
PMCPO_]PK
pMDdL[[[X[[[I[[[
PMDHXQ]SK
p[MdJ[[[
PMd[[[[m[[[d[[[
PMDMJ]KKG[Q@DHO
pMdO[[[:[[[
__PMD[QLZFH
PM[DXNALS
PMDYSPB_EON_D
PMD[ZHXCJHPXY
PMDZJLM_
PM@EBQAE[]XBYKKHM
p.MegfGZ
Pmegv'g@
[_P[M[ELD@NQYPLKBO
PMfB[[[f[[[
PMfB[[[M[[[
PMfE[[[z[[[
')))PMFKLZGFYZL[
PMFKLZGFYZL[
PMfmSSSSSSSSN
PMfO[[[g[[[
PMFQZMLNZ
PMfS[[[z[[[
PMFXBDHB@
PMfx[[[y[[[|[[[c
PMfZ[[[G[[[
PM]_GAGZYLHQ
P_MGCXMYPKXFPHQ
PMGDHDFC@BKZXOKP
PMg#FgfG4z
PmgfwW0P
p)mggfwC
[[[P!MgN[[["
PmgqggtO
PMGZXNYDH
PMHGHG[MKS
P)))MH]H]PYL
[P@MHLNC
P_MH_OKAJKQXQ
P]MHOMCC]]]]_
PMH]PKKYCC
PMHQZPSN[
p|MHv|s(w|x
PMHZHEM]
PMI event
PMI event v2
[[[PmJdA[[[
pmjGOggfG
PMJHB[QQNMY]Z
PMJKSMAC
[P]]]MJQO
PMKCCBKQFHS]GBP[G
pMKdB[[[
PMKGCXHOJED@QF
PMKG[GMS[
PMKLZ_C[Z_QQO
PMK@XGPKH
P[MKXQA@G
|||p||||||@m|||l||||
@@@@@@@@[pmL
@@@@@@@@[pML
@@@@@[pML
P[MLAFCNM
[[[pMLdO[[[
pm#llllllllmllllOllylm
pmllllllllmllllOllylm
PMllllllllmllllOllylm
PmllllllllmllllOllylms75
_P]MLOFDM_
PMLP]MQXS
PM@LQZ]NG_
PMLX[EDQPAH[K_PGN
PMLYBMDA]OZNPOO[
P)))MLYEFPCH_H
PMLYNHAY]YN
PMM@BPXCMB_
P]MMCSKOA]PZDMPA
[[[pMMdO[[[*
]]PMMG]]M[
PMMOA[BBXC
[PMMOZBEKYNXP]GP
PMM_XXPK
PMMYOAXCD]PYKF
?Pm*nA"?0
PMNA_JNOESNECHN
PM]NDHAQ[HLX[O
]P[MNKBGEBK@CNPOJQAKB
PMNPLQOME
PM]NP_NQJ
PMNPY@_G
@@P_MO]JL][J
]PMOJQ]B
P_MO]MLY
PMOMNYQZ@P[DZLXAMNG[LAH
PMOQBP]AZ
pmovmksb
pmovmskb
pmovq2dq
pmovsxbd
pmovsxbq
pmovsxbw
pmovsxdq
pmovsxwd
pmovsxwq
pmovzxbd
pmovzxbq
pmovzxbw
pmovzxdq
pmovzxwd
pmovzxwq
P]MPJB]XJAJ
PMPJ]ZAH
[PMPOLYZNC
PMPPL@KGNMDKY
PMPXXJEDN
PMQ]GFBODOXB
PMQHFKD]PDYDD
PMQJ[PQ[D
@_PM_QNA_A@
PMSCGZAJ
PM_S]G_]XX]
PM[@SJKQC_O
pmSSSSSSSS
PMT.llllllllmllllOllylm
pmu_event_settings.bleed_prevention_enabled
pmu_event_settings.event_strings
pmu_event_settings.fixed_counter_kernel_mode_counting_enabled
pmu_event_settings.fixed_counter_tamper_notify_enabled
pmu_event_settings.lbr_configuration
pmu_event_settings.lbr_enable
pmu_event_settings.num_lbrs_to_collect
pmu_event_settings.overwrite_tampered_pmu
pmu_event_settings.pmu_tamper_detection_enabled
pmu_event_settings.programmable_counter_kernel_mode_counting_enabled
.pmu_group
PMU is in use by another application
pmulhrsw
pmu_stats
":pMWL[B
PMXBSG]D
PmXC]Y]]
PMXEG[BHNOGH_GNQS
PMXJ[ZKQYO_L
PMXLCJPC
PMXMZSYYA
PMXUYPMQRW
PmxxrpRyxpy?
PMXYNQJLQDOHQS
P[MY[DGYP
PMYM[_CP]SQ
PMYSGQZ]
@PMYYKQA
PMZBLZFD
PMZQLPZX
@@@@(p@N
@@@@@@@@_p@N
@@@@|p@N
Pn2QSSBN9Q
PNA@GP[P
PNAGYOMK
PNAKZKGMC
__PN@AQ_[GBYDANZPJ
PNAYLM]COFZ]DMGPOMXQ@
PNA]ZEXH]
PNBAGEX]
@PNBCAAYMO
PNBN_QSAS
PNB]SOPJ@_K
PNBYZAFN
PnbZSSU9Q
PNCQDH]SMA
PNDGBPXYDSQC
pNdJ[[[B[[[A[[[X
PNDLCXNLH
[PNDMJD[
PNDZBSODJS
PNDZH[DY[O
PNDZHKHL
PNDZL[_@JLZ
[PNEGNJZ
P]N_E[[JQEME
PNELNSBS
PNEN[EXG
PN[ENJYD
[PNFH_ON[P
p)))NFJBPS
PNFJDQ@O]AYXZD
PnfPSSBO9Q
PNF@QBPKASJBGS
PNF[SLXM
PNFSPHNBL
PNg'fgfG
PNGGA_YMOYYLO
PNG]KA@LMPDXGMS
@@@@@@@@(p@NGN4T
PNGNNP]K
pNg_pgppepq
pNgqgg1o
.PNgqggl2
PN_HAFJE
PNHNHZ]E@M
PNHOP[[X
PN@HQFJANY
PNHZMO@P
pNItOHP	i#5Ww
PNJASL]H_
P[NJ]@[D]
[_PNJG@FC
_[PNJOQS
PNJ_XXP]D
[[]PN]K]MP
PNK[NJAG
PNKOKP][G
P]NK[_OMJ_[]PGAKNO_M
PNKOZB]ZS
[PNKPMH[COP
@@@@@@@@[pNL
)))]PNL[
p)))NL]FKCLJ]
[PN_LJQH
pnllllllllmllllOllylm:
PNllllllllmllllOllylm
PN]LML_J@
PNMAGGN@F
P@[NMDQA
PNMLPNC[KZ
PNMPGAHOJGSP
PN[[NHGQ
PNNJMN[C
PNNLQQHJC
PNNLSYSG
_PNNQ]BK
PN]NQFJO@AQM
PNNSDMS[GJ
PNOAHHYFLY
PN[ODSMQ
PNON)"aCg'
PNOPPQNN
PNOXPLDBBXX]GBYPX
_PNO]YAH
PNPAFD]S
PNPAHEQJA]AMCXDN
P]NPCGYEBPMX
PNP_L[JNP
PN[PSDP[C[MMY]
PNPXEJBDEN
P]NPXSHEXP
PnP[[[Z[[[
PNQBM@QL
PNQCCCMH
]PNQCE]X
PNQD_LL]ZK
PNQKMBMSA
PNQNHLH@DCK
PNQPJDPPOXEHJ
PN[Q]XGDG]GAGE
PNQ_YNMJ]
P@NQZDCL[
PNSGAPB_Z]JK
PNS[_M[DHYL]BJ
PNSMGAOKKDQBYODFXE
PNSMSySxS
PNSPQYBL
pnSSSSSSSS_
p#nSSSSSSSSSSSS
PnSSSSSSSSSSSSSSSSSSSS
[PNS_YASNO
Pn!TSSU9Q
Pn"USSU9Q
pN@@@@@V
Pn	VSSBM9Q
Pn*WSSU9Q
@@@@(p@Nx
P[NXD_SL
PNXJAYM[]_B[SJHHKZ
PN]XXYYQO_M
[PNXY]SA
[PNYAZPL
PNYECZ]ZQSS
P_][NYEJ
PNYGBPJ_CZDLB
PNYJHQBZK
PN@YJKJQ
Pn]YSSU9Q
PN[[ZDOMC
]P]NZFKLQKA
]PN@ZOFP]NBCGM
@@@@@@@@_p@O
.@@@@@@@@_p@O)3
@@@@@.pOA
PO_[AC]OZ
poAdH[[[M[[[
poAdK[[[9[[[
P_]OAH[_QF]M
PO_[ALGQ
P]OAMFEYO
POBAGBHHZJ]HDX@LONCKL_N
pO@@@@B@A@mp@jMa
POBAPBJYY@
pOBdB[[[
POBD_]CJ
POBEP[[C
POBGB_FLEB
POBHBEHZQ
POB[JNQKZXZ]
POBNDGSH
_POBOBHP
POBPOJHQZ]CDJ]K
POBPPHNKLQX]DO]
POCd_[[[
P@_OCGOAE
POCZDKSZNE[
P@OCZFGDE
[[[:pOdA[[[
pOdB[[[j[[[h[[[
pODdX[[[x[[[
pODdz[[[_[[[q[[[
P]ODGCKY[H
POD[JPMHFOZ
POD_LY@JE@EH
PODQQB]G
p(OdX[[[
PODZJYM]
POEAYHPHNMMSCCO
POEB]J_[OGMLENKBKDH
POEGX[]NSBDOFNPL
POEKJGAQGQK@FPJAX_
_POELBHM
p)))OF[DHJ]@FG
p)))OF[K@GH[P@G
POGBLJ]PX
POGCMHOGDO
-pogfG('
pogfG*27
pogfG3vO
)pogfGbtJ
pogfG_dh
!pogfGEy
pogfGfQy
pogfGHzJ
pogfGIOmNgqgg
	pogfG	k
pogfGMat
pogfGMECrgqgg
pogfGSl:
pogfGtgN
pogfGTY"
;pogfGU4rzgqgg
pogfGxWd
POGHKXYDL
POGJQEPYJOXL[
PogmyhgwG
POGMZBZMX
pOgpggfG
_P@OG_SG[
Pog[WgfG
_POH[AD[
POHD]JOLMXH
POHFEYPSF@MF
p|oHw|o.s
PO_[HXXJA
pointerdata
pointerdata_scrubbed
Pointer to buffer data cannot be null.
PointerToLinenumbers
PointerToRawData
PointerToRelocations
PointerToSymbolTable
POJBS_[HM
POJSMBGMP
POJXOS]F[
POJZXBLN]XNSQGO[YS
POKGC]]K
POKHCAKNZJ
P@OKMHAA
POK[NZGA[OM
POKO[_F[P
[POKQFLAJHX
@@@@@@@@[pOL
_P_OLB@[_AD
POLBDGH@KGH
POLBSBKZNA
PO[LFPOBJQX
POL[HNDMB
PolicyManager_FreeGetPolicyData
PolicyManager_GetPolicy
PolicyManager_GetPolicyInt
Policyscript
pollllllllmlll]Y]]
POLSJMZOLYK
(PolyBox)
pOLYcRYPT ;  
P@OMEP@K]HN_ZKJK@LZK
POMGGJSP
POMHJYJKPMPOE
pOMMMOMMMPJ
P]@OMNMLA
POMNSOJXAYCKBPD]GS
POMNX[HF
POMQD]MS
POMXYHBYLZCF
PONDJNLP
POOAP[GHMX
P[O_]OFH]ZFB
POOGO]OSJ[O
POOKABDOSFSKL
POOLJLNOI_
PoolName
POONSYMCSPLY
]POOQ[@@
POOQGKHD
[POOSGEO
POOYBMJF[GD[ODP
P_OPAB_QYKJN[P]
p@@@@@@@@@@@@@@Op@@@@@@@@@@BB@@Xp@@@@@@@@@@@@@@hp@@@@@@@@@@@@@@wp@@@@@@@@@@@
Pop_free_buffer
Popgppepq
PO[PPO]OM_Q
POPPPMEE
Pop_ready_buffer
POPRSSSSS
POQAMY_DEO
POQD_L[XSP
POQKLNPJFB
POQKZFAXLKD
POQS[CEOG
POQSOPEN
@_POQZGJ]N
P	O	R	S	T	U	V	W	X	[
PoSdgfGOY
POSDNSAMDEF
POSITIVE_INFINITY
POSJPH[P
P]OSNQNJS
pOSSIBLE
PostalCode
PostExecutionStatus
PostMessageW
PostQueuedCompletionStatus
PostQuitMessage
PostRemediation
Postsignatureupdatescan
Poststartupscan
poTbgfGU
pouospopqqp
PowerPoint OLE File (.ppt)
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
PowerShell
PowerShellIssues
PowerShellTokenizerError
PowggfG|
PoxcgfGD
POXG[GGYS
POXHD[EM[[X
POxxrk|j|P@xxr
Poxxrkrqir
POYGHXOK
_POYPDCGFH
POYPOCNF
]POYPXNCQ
P@OYYFXGJ
][POZHAB
POZLXYNN[DJ@Y]B
P]O@]ZMBMGXD_
pO[[[Z[[[O[[[
PO[[[Z[[[O[[[-
POZSADP_PC_
@@@@@@@@pp@@
!||P"||p
@@@@Pp[@
P(P0g(Pfi
p.P4|EfggGc
p.P4|HfggG
p@@@@@@@@@@@@@@.pAA
p@@@@@@@@@@@@@@?pAA
p@@@@@p@@A@AAac
p@@@@@@@@@@@p@@A@ACac
PPALOO[SE
PPA_OAHL
p@pApCpIpAp
p@pApDpDpCp
p@pApDpGp
p@pApDpHp
p@pApFpBpEp@p
p@pApHpCpHpFpGp
p@pApIpIp
p@pApIp@p
PPA_Z@PCH_NXB
PPBDHJYAG]OD]EQH
PPBMAESX
p@pBpApAp
p@pBpApBpCpApHpDp@pBp
p@pBpApGpDpEpDpDpFpAp
p@pBpAp@pHp
p@pBpCpEp
p@pBpDpCp
p@pBpDpIpGpCp
p@pBpEpDpDp
p@pBpEpGp
p@pBpFpBpFp@p
p@pBpFpGpFp
p@pBpHpIp@pEpHpBpHp@pAp
p@pBp@pDpFp
PP[BS]]M
PP][BX_Z
PPBZZOGPHKH
PP__CAE[
PP__CAE[r]JYA]@DPt
_P]PCJC@AYZCPXQ_
PP@CKAMJAJOC
P:PCKTL@P
P_PCMCGZ
p@pCpApCpIp
p@pCpBpAp
p@pCpBpEp
p@pCpCpBp
p@pCpCpCpDpGpIpGp
p@pCpDp@pDp
p@pCpEpCp
p@pCpGpFpApIpEp
p@pCp@pCpBp
PPCSJNQANJ
@@@@@Pp@cU
@@@@@@@@PpCX
PPDGE]ZJS
P[PDJDD_X
pPdM[[[i[[[a[[[x
[PPDMNBO
p@pDpBpEpCpEpCpEp
p@pDpCpIpApHp
p@pDpCpIpDpAp
p@pDpCp@p
p@pDpDpCpIp
p@pDpFpCp
p@pDpFpEpAp
p@pDpGpEpHpBpHp
p@pDpHpFp
p@pDpIpGpBpEp
p@pDpIpIp
PPDQBCBGM
PPDSPCHBSMY
PPDXB]DQOH[YA
_PPD]]ZS
P_[PECNYXO
]PPENPBH
p@pEpAp@p
p@pEpBpGp
p@pEpCpEpHp
p@pEpCp@pFp
p@pEpDpFpHp
p@pEpEpBpFpAp
p@pEpGpGp
p@pEpGp@pEp
p@pEpIpApApEp
p@pEpIpEp
p@pEpIpGp
p@pEp@pCpBpEpFp
p@pEp@pDpEpDpEpDpBpDp
p@pEp@pDpIpIpCp@pFpBpHp
PPEXQKBZ
PP[FAYZ_]P[CQFXBFSM
p@pFpApApDp
p@pFpBpBpHp
p@pFpBp@pBp@pCp
p@pFpCpBp
p@pFpCpCpEpHpEpDp@p
p@pFpCpGp
p@pFpDpDpCpEp
p@pFpEpFp
p@pFpEpFpEp
p@pFpFpBpHpFp
p@pFp@pCp
p@pFp@pIpDpHp
P][P[FSCYC]NZ
P	pgabgfG
PP_GBYL_MHX]O
Pp-gGggfG
PPGKE_A@
ppg[mgfGu
PPGNSNCCDZPZ@
p@pGpApFpIp
p@pGpApIpGp
p@pGpCpHpGpBp
p@pGpEpCpCpBpGpCp
p@pGpEpDpFp
p@pGpGpGpIpFpIp
p@pGpIpFp
p@pGp@pCpHpCp
p@pGp@pEp
!p]pgppepq
"ppgppepq
)ppgppepq
:ppgppepq
p-pgppepq
ppgppepq
ppgppepq 
ppgppepq|
:Ppgppepq
@Ppgppepq
]Ppgppepq
|Ppgppepq
P-pgppepq
P:pgppepq
P?pgppepq
P_pgppepq
Ppgppepq
Ppgppepq:)
Ppgppepq[
Ppgppepq||
Ppgppepq'0
Ppgppepq0]
Ppgppepq2
ppgppepq3
Ppgppepq4
ppgppepq4OU
Ppgppepq7
PpgppepqA
Ppgppepqa4
PpgppepqbP
Ppgppepqc
ppgppepqD
PpgppepqD
Ppgppepqdn
Ppgppepqdt
ppgppepqEY
ppgppepqF
Ppgppepqf
ppgppepqFl;
ppgppepqG
*ppgppepqh
ppgppepqh
Ppgppepq_h[	
PpgppepqI
ppgppepqJ
PpgppepqK
ppgppepql
ppgppepqm
PpgppepqOS
ppgppepqPB
ppgppepqr
PpgppepqR
ppgppepqs
ppgppepqT
ppgppepqtjq
PpgppepqV
|p:pgppepqw
.PPgqgg!
PPgqggBVH
P[P]]GSMOAF
@@@@@@@@PpGU
P_PHBGM_
_PPHCPYONB]HLCN
P@PHGSALGN
PPHKSJJX_KXOCKCQ
@@@@PpHl
PPH]MB]ASZKHYMJPAX[Y
p@pHpApBp
p@pHpApEpBp
]PPHPD[KP
p@pHpDpEp
p@pHpDpEpDpHp
p@pHpFpFpDpAp@p@pDp
p@pHpFpFpFp
p@pHpFp@p
p@pHpHpDpDpBp
p@pHpHp@p
p@pHpIp@pEpCpIpFpHpGpIp
p@pHp@pDp
:[)@@@@@@@@PpHr
PP@_HXDG
p@pIpGpFp
p@pIpGpHp
p@pIpGp@p
p@pIpHpEpEpDpApBpGpEpFpGp
p@pIpIpCpGp@pIpCp
p@pIpIpFp
p@pIpIpHp
p@pIp@pApFp
p@pIp@pDpDpAp@p
p@pIp@pDp@p
p@pIp@pFp
p@pIp@pHp
@@@@ppIS@ 
P[[[p#JdQ[[[W[[[V[[[
ppJgqggU
P[PJJNN@CNDY
PPJ]LZPLXXPGZQPQYBNXM
PPJ]O]N_QMMP
PPJS_KC@NBJS
P@PJYON]CN
PPKFGM]D
P]P]K][KNKX
P_PKLLL@JYCYYLQFS_HMPPZ
PpKpKOMMMOMMMOMMMOMBMMM
PP_KPNDA[N
PPKXLO[]D
@@@@@@@@PpKy?
PPKY[BBBSFBE
_PPKYXJG
@@@@@@@@pp@L
@@@@@@@@)pPL
@@@@@@@@[pPL
P[[[Pl1eA[[[W[[[V[[[
PPLD]QQPHC_[KEK
@@@@@@@@PpLf_M
@P]PLJSZA
ppllllllllmllllOllylm
PPllllllllmllllOllylm
p	PllllllllmllllOllylmmo
_PPLMOJSB
PP[[LXNZ
P[PMC_YXQ
@@@@@@@@PpMGu
PPMP]GPEA
@@@@@@@@pp@N
@PPN]CDSPYL
@@@@@@@@PpNGu
PPNJMAA[PSG
@@@@@@@@PpO_
PPOAEX]HPKYHBQX
PPOGZGLDHYMQZ
]PPOHBZ_]BDHXE
PPOKY[XGAK_
PPOMC_ZPCOO
PPONBXQE
PPOPDJN_X
PPOP[FPDP
PPO][YMDQ
PPOY]NAXGNZZCJYKQH
PPOYXCEOLQLDHQO
P]POZMOZMOZMNOMN
@@@@@@@@pp@P'
pPp3p9pPp p
p@p@pAp@p
p)))[PPBA]]Y
p@p@pBpFp@p
p@p@pBpIpIp
P]PPC_BA
p@p@pCpIp
p@p@pDpCp
PPPEOQ]D
p@p@pEpFpIpGpIpApGpAp
p@p@pFpEpFp
p'ppgppepq
p@p@pHpGpHpCp
p@p@pIpCpCpApCpGpAp
p@p@pIpFp
p@p@pIpFpCp
p@p@pIpGpIp
PPPJKDL[LD
p@p@p@pDp
ppppMppKps4
@ppppppppf
PPPPPPPPPPP
?PPPPPPPP]Y]]
?PPPPPPP_]Y]]
?PPPPPPP_]Y]]f_]
PPPP]Y]]
PPPZD]SM
@@@@@@@@PpQ_
ppq@@@A@@
ppq@@@A@h MR
ppq@B@A@
ppq@@DA@A0@@@@@@A@@@DBA@P0@@@@@@
ppq@@DA@A0@@@@@@B@@@BDA@R0@@F@@@@@@@B@A@T0@r
PPQGKHDM
[_[PPQHQ
P[P@QJGZGN
P@PQJS]NSAX@K
PPQNXJCK
PP]QONJZ
PPQXMDSFG
@@@@@@@@pp@R
ppr@@@A@@
ppr@@@A@h EhM9k6
@@@@@@@@pp@S
pps@@@A@@
PPS[HDANNZZML]_OPZMQA
PPSM]G[SFD
PPSSS@SU
pPSSWLG9
@@@@@@@@PpT_
ppt@@@A@@
[PPTEmbedded]
ppu@@@A@@
Pp|voeo7ogo
@@@@@@@@Pp@W
P||pW||pW||Da||
PPXB@SS]
PPXCHMGZ
PPXDBSQ@_
PPXOAPK@JJC
ppxxpxpx
PPXYNZXMDE
PPYAQFKLB_
PP_YAQXZ[XSN
PP[YDBLG
p)))]PYL
p	pYpppp
p	pYppp]Y]]
@@@@@@@@_p@PyS
#@@@@@@@@PpZ@
PP[[[Z[[[
PPZBNJNB
P[P]Z]CXBXG]JK
PPZJKYN@YBOSH[OM
||pQ||0Q||
pQ5DllllllllmllllOllylm
"pq5gmdgfG
@@@@(p@Q6
pq8pgppepq
"p@@@@@q@@A@ACac
PQ]AA__HX
@P]QAAJC
pqAgOegfG
P]QAZDHZJY@[YON
pq@B@A@3 @l
PQBEJNPX_OJDYJ]
PQBQZB[M
]PQ_CAHMMX
PQCED@NODH
PQCHKJCJQ
pq@dC[[[
PQ[DCXXL
pqDdI[[[X[[[M[[[
P@QD[[DJAJHMZQPANBM]
PQDD[PDEHXYZSB@J@
PqDdW[[[Y[[['
PQDJG_CN
PQdN[[[R[[[M[[[
PQDyxny;:
PQe7ggfG
PQEMKPMGC[
PQ[ENPJP[YEK
PQFKKFJPJBN
PQF_MQ@Y
')))PQF[Y
pQg'bgfG
]PQGEQKG]
pQggfwTc
P_QGMO[Y
PQGP_DFGM[
Pq	gqggCD
PQgwggfw	
PQHFXESNM
PQHHL]AGSC_
PQHJHBGZB]
P]_QHJJZ
PQ[HLKHGBXPQYL
PQHNZA@ZL
@PQHXEGQ
PQHZ[YA[XLB
PQIIIIIIIIIIzxiy
pqi|PqxxrR
PQ]JAXHLGJ
]PQJCNJS
PQ[JDKPHJNX
PQJNDGSY
PQJPHNZJ
P_QJZOXGGAXJJN
PQKASBKQLLLQ
]PQKFQ[Q
PQ_K_LCSBAOKO
PQ_K@SC]EAS
PQLE_GYOZL
PqllllllllmllllOllylm
PQLNABHSZBBLJ
PQL[[XOK_
PQLXPZ]OXJQ]ENZNA
@][PQMB[FXZ
]_PQMMHH
_PQMP@SNNJ
PQNHAQDG
PQNLHMECM
PQNNSXO_
PQNSL_ZBX
PQNXCPBDGJB
PQOCHO@[LM
PQODB@ZDN
@PQOHBXS
PQOLNBXJ]QMHA]OY
PQONXCNQ_AAXYYKE
@PQOPCNNMDKY
PQ[OPLZSOMZ]SJ
p@@@@@@@@@@@@@@Qp@@@@@@@@@@@
PQPA]KEZGH_KZDKP
Pqpgppepq
P_QPGQHMBS_F
[[PQPM_H
_P@QPOZ_
PQQCxx]Y]]
PQQDBPMB]
PQQDXPQLE_
PQ]QF[_[JCD
PQQGPJY[
@_PQQMZGD
PQ]Q_OLZSQABSB
]PQ]QONJYSHS]N
PQQQQQQQTPUV
PQQQQTPUV
P*Q*R*S*
p"q"r"s"t"u"v"w"x"y"z"
PQSA]NK_F
PQSCYL[FZ
]PQSLXLNKH
[P@Q]S]QSPQ
pQSSBVBHLJ9
PQTyxOyP
_p_Qui(E
pQ(VSSW(USSW@Us
pQ(WSSWD
P[[QW[["W[[
pqxstuvwxxx
PQxxx7xxyxyxyxY[4
PQxx]Y]]
PQxyxryx]
_PQX_Z]NB
PQYdA[[[
@pqYfgfG
PQYFMFYHE@Q]PA
PQYGODAK
PQYJSXZKMJ
PQYYNZKP
PQYYPCNGD
PQYzxnyX;
P[QZAMEY
_@PQ[ZKXX
PQZNJM[HDHHK
PQZXWFxxx
PQZ_YHYNLC
	)))][PR
)))][PR[
|)))][PR
@@@@@@@@(p@R0-
pR5tJ5tz5t
PRAGMA optimize;
PRAGMA wal_checkpoint(FULL)
)))][PR]A@Z
][PR]A@Z
[[[p@Rd@[[[
]PRdA[[[
PR@@@@DDA@a0@@D@@@
prDdV[[[Y[[['
][PRDFYF
[[[P!RdS[[[
pRdz[[[U[[[
Predictor
PreExecutionStatus
preference
prefetchNTA
prefetchT0
prefetchT1
prefetchT2
prefetchtricks
PrefetchVirtualMemory
][PREFHMQDEu
prefixcount
prefixref
prefx_cnt
PREMATCHMATCH
Premature end of regular expression
Pre-processes core telemetry events sent from core telemetry publisher
PreRemediation
PrevalentFileReport
PrevalentFileReportStats
PrevalentUrlReport
][PR@G]J
)))][PR_H[
][PR_H[]
Pr[HCwSYULP
][PR_H[@DN
)))][PRHEL[]
][PR_H[FKCA]]Y
][PR_H[HDZ@LGHKEL
][PR_H[HE@M
][PR_H[]L[
][PR_H[P
][PR_H[PP
')))][PR_H[S
][PR_H[S
][PR_H[v
][PR_H[Y
][PR_H[Z
][PR_H[ZALEEFKC
prhzdgfG(
][PRHZZLDKEPrt
PrimaryGroupId
Printmonitor
Printprovider
Priority
private: 
private1
Privilege
PrivilegeCheck
PrivilegeUtils
pR@@@@@K
Prllllllllmlll]Y]]
][PR_LZ]DH@EvFGLGM
)))][PRMH
p)))RMH]H]PYL
][PRMH]L
p[[[rN@fC[[[w[[[
)))][PR@O
Problem with ARSC format
ProcArch
Process32FirstW
Process32NextW
ProcessBlockHistory
ProcessBlockHistoryByProcess
processcommandline
processcommandline_scrubbed
ProcessContextCheckStartupActions
ProcessContextPurge
ProcessContextSendFlightData
ProcessCreateCount
PROCESS_DEEP_ANALYSIS
processelevation
PROCESS_ENABLE_VMM_GROW
ProcessEnumeration
processerrorscount
process event
ProcessExclusions
processfilefullpath
processfilefullpath_scrubbed
processfilename
ProcessFileName
ProcessFilePair
processfilepath
processfilepath_scrubbed
.process_following
PROCESS_HSTR_EXHAUSTIVE
processid
ProcessIdToSessionId
ProcessInfo
ProcessInfoMapStats
Processing process list to ignore list
ProcessInspector
processintegritylevel
.process_integrity_mask
process memory exhausted
ProcessMemoryScan
ProcessModifier
process_monitor_service
process_name
processname
ProcessName
processor
"process_path":"
process_path
processpath
ProcessPathID
processpath_scrubbed
processppid
processprotection
processsha1
ProcessStartCount
ProcessStartFailureCount
ProcessStartOverflowCount
processstartparameters
processstartparameters_scrubbed
ProcessStartRequestor
processstarttime
ProcessStartTimeout
ProcessStartupDetails
processtainted
processtaintinfo
processtaintinfoex
processtokenelevation
processtokenelevationtype
ProcessTrace
PRODUCT_CAMPASTOOL
PRODUCT_DEFENDER
PRODUCT_EPP
productexpired
PRODUCT_FEP
productguid
ProductGuid
PRODUCT_MCS_ASEP_TOOL
PRODUCT_MDATP_LINUX
PRODUCT_MDATP_MAC
PRODUCT_MPGEAR_O365
PRODUCT_MPGEAR_O365_SONAR
PRODUCT_MPSCAN
PRODUCT_MPSCAN_RELEASED
PRODUCT_MSE
PRODUCT_MSERT
PRODUCT_MSRT
ProductName
PRODUCT_SCEP
PRODUCT_SCO
PRODUCT_STIRLING
PRODUCT_SYSTEMSWEEPER
PRODUCT_UNKNOWN
ProductVersion
PRODUCT_VERSION_DEFENDER_BASE
PRODUCT_VERSION_DEFENDER_BLUE
PRODUCT_VERSION_DEFENDER_VISTA
PRODUCT_VERSION_DEFENDER_WGA
PRODUCT_VERSION_DEFENDER_WIN7
PRODUCT_VERSION_DEFENDER_WIN8
PRODUCT_VERSION_MDATP_LINUX_BASE
PRODUCT_VERSION_MDATP_MAC_BASE
PRODUCT_VERSION_MSE_BASE
PRODUCT_VERSION_MSE_V1
PRODUCT_VERSION_MSE_V2
PRODUCT_VERSION_NA
PRODUCT_VERSION_SCO_BASE
PRODUCT_VERSION_SCO_WAVE1
PRODUCT_VERSION_SCO_WAVE2
PRODUCT_VERSION_WDO_BASE
PRODUCT_VERSION_WDO_WIN8
PRODUCT_WDO
(.*)(.profile)
.profile
"profile_author":"
"profile_date":"
"profile_description":"
profilemgr
:ProfileMgr
"profile_name":"
.profile_name
profile_name
ProfilePath
Profiles directory does not exist
profiletype
PROG.COM
progenitorpersistsigseq
progenitorpersistsigsha
ProgramData
ProgramFiles
ProgramFiles(x86)
ProgramFilesX86
][PROL]JA
ProMan_UpdateTimeElapse
promise already satisfied
PropagateInsert
PropagateInsertOperation
PropagateQuery
PropagateQueryOperation
propertybag
Propertyhandler
propertyIsEnumerable
Propertysheethandler
PropertySheetW
protected: 
Protection disabled
protectionmask
Protective
pROTECTOR
pROTECTOR ?  
ProtectVmLocal
ProtectVmRemote
protocol
Protocol
protocol error
Protocolfilter
protocol format not supported
Protocolhandler
Protocolhandlerversion
protocolid
Protocolnamespacehandler
protocol not supported
prototype
Provider
ProxyCount
proxypacurl
proxyserver
proxyserver_scrubbed
prpgppepq
pRpgppepq 8
?)))][PRPP
pRPPPPDPPxQPP
P*RRSSSSS
][PRrZ][@GNt
][PRrZPZ]LD
PRSc8SSSS@S
p]RS#c]SSS@S
PRSRSCEPSSS@SGWRSRScDPSSS@ScWRSRS
PRSSB[D9
pRSSI_UH
PRSs;QSSS@Sg
PRSSTLb9
PRSSTsSWSS
PRSSUsS3SS
:)))][PRTJH]JA
P)))Ru[]O
)))][PRv
)))][PRY[F]F]PYL
)))][PRY[F]F]PYLTJH]JA
pryI1ry1Mry
PRYTQkaDE
][PRYXK]
p)))rZPZ]LD
@@@@@@@@[pS[0bg@4
Ps0*llllllllmlll]Y]]
PS9fQEy[s
p'Sa17ggw
P@@@@@s@@A@AAac
P@@@@@s@@A@ADac
PSADJEGG
PsafggG@
PSAHC[Y_
P_S@AND]S@[N
PSBA|ELs
PSBAPQM9
PSBASQM9
PS[BBAGFZ
]]]PS]BBK]
[PSB_BPXA
PSBCOHE[BB[
PSBD_E@VL7@WQs'WSS9
PSBE9QssRSS9
PSBE@@E9@WE@AQ(VSSW_[(USSWPW
PSBE_E@[E9@TE9YE9XE9QssRSS9
PSBE_EPglVXQV
PSBE@VEYWLsgQFyE@XEPo
PSBEWgMPXWYTQsCS
PSBEXEWgePYQP
PSBEXQM9
PSBE@XWs
PSBEYE@WE9XEW
PSBEYEWL?9
PSBEYEXEWgYPEWK1
PSBE@YQLs9
psbgqggMoD
P[SBJOBMO
PSBPK7YUEb
PSBPLsgQEyE@EPLs
PSBQssRSS9
PSBQ(VSSW@BBB(uSSWK9
PSBQ(VSSW@@B@(uSSWK9
PSBQ(VSSWs;
PSBQ(VSSWs4
PSBQ(VSSWs5
PSBQ(VSSWsSS
PSBQ(VSSW@UBU(uSSWK9
PSBQ(VSSW(uSSW
PSBQ(VSSW(uSSWK9
PSBQ(VSSW_[(uSSWK9
PSBQ(VSSW_[(USSWs
PSBQ(VSSW(USSW_[skmQS9gQEy[s
PSBQ(VSSW(USSWsS
PSBQ(VSSW(USSWsSQSS9gQEyQ(WSSW@GBGs
PSBQ(VSSW(USSW@ZBZs
PSBQ(VSSW@WBW(uSSW
PSBQ(VSSWXT(USSWs
PSBQ(VSSWYU(uSSWK9
PSBQ(WSSW@CBCs
PSBQ(WSSWs
PSBQ(WSSW@XBXs
PSBQ(WSSWYUj
PSBVPfoV
PSBWKgUs
P]S__]BY
[PS_BYX]QGMYY__J
PSCN_MKDXJ]CM_PX_
PsCreateSystemThread
psCRSSSSS
PSCYQ]QCN[MH
PsDereferencePrimaryToken
PSDHCMNP
P[[[]-SdI[[[
#PSdJ[[[
_[PSDXEGO
p_Sdy[[[
PSe]BUsS
PSe_BZsS
P_SE[CZNC_L
ps"eK[[[
PSEP@Z@DA
Pseudorunkey
[[[pS"eV[[[
PSeZBTsS
[[[PSFdx[[[
PSFGCQ]KYKO
PS[fgfGE
PSFHBAYM
PSFKPLMS
PSFNJSKHH]NQNBQXQ
PSfQEyZsS
PSg5dgfG
PSGDDM[HGPLY
PSGDQM_M
PsGetCurrentProcessId
PsGetCurrentThreadId
PS[]G[GZ]BH_G[E
PsgllllllllmllllOllylm5
PSGPHO_FM
PS@GP@XFAB
PSgUkgfG_
PSHFYGOJC
PSHML_Z@S
PSJ_BD]BZYX
PSJC]PP]
PSJDMZMMCS
PSJQ[FHSB
psKd][[[|[[[s[[[]
PSKFN]PJ@OLAFCFLK
PSK__OP[[
@@@@@@@@[psL
@@@@@@@@[pSL
PSL_ALH_PODACPJFP
PS[LJX[N
PSLLDXXYD
psllllllllmllllOllylm
P]]SLMJZKBKK_G
PsLookupProcessByProcessId
PsLookupThreadByThreadId
PSMBXZAD[
PSMDJMDM@Y
 pSMgadgfGPDB
PSModulePath
P_SMOOOKZ[PM_M
PSMYLFSG
PSMYZMYLK
PSN]AGPMC]
PSNG]ANOP
PSNOSXSBDC
PS_NQSKLAM]E
PSNQXQDD
_P[SNZCKE
PSODBCKXSA
[PSPAZB[AGA_
PSPBEHPS
PSPcccLccacJc0
@(;p(sPD
pSpgppepq
]PSPJ@D@PHN
PSP_J]MGLDGG
PSPQXHXQY
PsProcessType
PSQE[J__FMYHDKG[
PSQK_EDOPHP
PSQK_JG[YKDJF
PSQK_JG[YKDJFDJB
]PSQPKSOABK
PSQSYMNGK@AMEKN
[[[p[[[s[)[r[
PsReferencePrimaryToken
PsRemoveLoadImageNotifyRoutine
PSROOOaa]Y]]
[pSRSSSSS
PSRUTWVYLPSRULPSRULPSRULPSRUTWVYXQPS
PSS8PSSk
PSS9SSSjQSS
PS_SBAGQ
PSSBCBWL_
PSSBH@Tk
PSSBH:Xk
PSSBI:XT9YUI9
PSSBJ:XZD
PSSBKI9	Ab
PSSBL@BA|LC
PSSB[LK9
PSSBLLjn
PSSB@M	9BO
PSSBq4@JBJU
PSSBqsSSUS
PSSBsLjn
PSSBssS#SS
PSSbSSSUQSSbQSS
PSSBsYUB|h
PSSBTLG9
PSSBULCdWLCxQBU@X
!PSSBU:XT9YUK9
PSSBVLC9
PSSBVsSCSS9
PSSBVsSScS9
PSSBVsSSS
_PSSBVYBV9@_BVEebQ(VSSW(
PSSBWBTsScSS
PSSBXsSSS
.PSSBYBI
PSSBYXBX@WBWT
PSSCSSSgRSS
PSSCSSS_SSSsSSS[SSSSRSSQRSSKSSSWSSSkSSSBSSScSSS
PSSdQOYUyPcPS
PSSDRSBPI9
PSSDSSBV
PSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSVSSS
PSSD_UTD9
P_SSDYMOEC
(PSSE@AE@XB@@wBAi
PSSEBTI9
PSSeQEyBYL7
PSSESSBAQs
PsSetCreateProcessNotifyRoutineEx
PSSE@TZJ
 PSSE@XBZ(
PSSEyBUs
PSSEYBXH
PSSE@YEP
PSSEyEyEyEyBFL
PSSf;BUXE@VEBWg
PSSf"BXs
PSSg_HYxYQs
PSSktWSSEP
PSSk@WSSB[D9
PSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSS
PSSLvBUU
PSSMUSSMUSS0SSS0SSSMUSSiQSSMUSS
PSSnWSBAPE
PSSPRSBW
PSSPRSSAQSSAPSS
PSSQASARLaA
PSSQTZsSSS
PSSQUTsSSS
PSSQ(VSSW(nSSW[
PSSQ(VSSW(nSSWBW
PSSQ(VSSW@TBT(USSW@ZBZZ
PSSQ(VSSW(USSW@JBJs
PSSQ(VSSW@ZBZ(USSWs
PSSQ@_]W
PSSQ(WSSW
PSSQ(WSSWs
PSSQ@X]W
PSSSQSSSSSSSSSSSSSSS
PSSS@S0VRSRS
PSSS@S3U[SRS
PSSS@S6WFSRS
PSSS@S8g
PSS@SSBEYWE
PSSS@Scg
PSSSSCSCSSSQSSWSSSSSSSWSSSSSSSSsSSSQSSSSSSQSSSSSCSSCSSSSCSSCSSSSSSCSSSCCSS3SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
PSSS@S	dNZRS
PSSS@Sen._RSC
(PSSS@S.exYRSC(PSSS@S
PSSS@S-g
'PSSS@SGePYRS
PSSS@SHg
PSSS@ShURSRS
PSSS@SidNZRS
PSSS@S]j]XRS
PSSS@S"k
PSSS@SLURSRSS
PSSS@SNdNZRS3
PSSS@Snk
PSSSSQSSSSSSSSSSSSSSS
"PSSS@Srf8ZRS
[pSSSSS3
PSSS@Ssk'YRSC
PSS[SSSp
pSS_sSSS
PSSSSSSQD
pSSSSSSQSSS)LSS
PSSSSSSRSSSSSSSSSRSSSSSRSRSSSSSRSSSSSRS
pSSSSSSs
	pSSSSSSSS
pSSSSSSSS
PSSSSSSSSSSSSSSSSSS
PSSSS@SYSRSRSSSSS
PSSS@S'URSRS
PSSS@SUURSRS
PSSS@SuVRSRSC
P]SSS@Sw
PSSS@SWdNZRSc
PSSS@SYgRSRS3
PSSS@SZVRSRSc
PSSSTSSCRSSA[SS	SSS*RSSFUSS
PSSSUSSVSSSk
PSSsWPSSYx5sVPSSYx
PSST4@tUK
PSSTLs3XE@Uk
PSSTRSBW
PSSUD3Yk
PSSUQ(VSSW(nSSW
PSSUS3PSSUS"PSSUS
PSSUSlWSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS
PSSUsSSLS
PSSVSSSVSSSVSSSVSSSVSSS
PSSvWSBE@CP
PSS@WBVD
PSS@WSBQ(WSSWs
PSS[:XBVD9
[PSSXLOAGX[G
PSS[:XT9YUK9
PSS[:XxwT9YUK9
PSSyPSBs
PSUWVcav3
PSUyUs0 
PSUyUsG!
PSUyUsh6
PSUyUstP
ps(VggfG
PSVOQOQOPA
PSW@[B[L
PSWB@qSS
PSW@_BV(	PSWB_
PSW@DBDBX
PSWD@VDQs
PSW@EBEs
PSWE@ZE9[TD
PSW@GE@XEU(
PSWj(SSSBW(
p@S]w@SNw@S
PSWsscSS
PSW@TDBTN
PSW@UAD@VsSQSS@WBV
PSW@VEBVgdQs
PSWxYZBW(	PSW
PSWYBT(	PSWU
PSW@YBus
PSWYBW(	PSWU
PSW.ySSWUE
PSX_MJYP
PSXOXE_[]H
PSXS]]Z[PDSC]OOFX]
PSxxrPTxxrkYPUxxriY
pSxxwxxx
PS_XYBKKAHKMQ@SQ
PSYALNGQCOHCADP[
PsyaSsyVSsy?Ssy
PSYBFLPP
PSYCLFXH
PSYD[PS_
PsydPsyMPsy
P_SYE_MJG_
P@[SYJKG
PSYKNE]M[
]PSYKZCB
PSYPEBJC
PS]YQ[LYDP[CGQ
PSYXYAAK]J
psyYssy;ssy ssy
]P_SZBZSC_AQQDKNBCS
]PSZK]P]XM
PS[ZNG]MJX
PSZ_SLYSX
P@SZW@SDW@SuW@SgW@S
[[[p[[[t[[[
[[[P[[[T[[[
PT@@@@BA@@Hp@D
?[[[p;TdC[[[
[[[p	TdM[[[
[[[p*TdM[[[
pT  D     ]Y]]
p tfyxpy
@Ptg9kgfGY
'.-?PTgfG
PTgfG#cb
PTgfGe9R
PTgfGIlS
PTgfGovo
PTgfGtVQ
PTgOagfG
.pTgqgg0r
PTgTBUTP
P[[[t#IdL[[[
ptk6BllllllllmllllOllylm
"@@@@@@@@[pTL
@@@@@@@@[pTL
PtllllllllmllllOllylm
PTllllllllmllllOllylm
p|t(m||vt|
pT@@@@@O
p[[[tomgJ[[[
pTpgppepq
P||tQ||gQ||MQ||9Q||
PT)?qmgfG
P_[_T__QV
pT@@@@@R
ptree contains data that cannot be represented in JSON format
ptr_offs
PTSSS@S"n._RS
pt_stats
PTxxrPUxxr
[||pT||YT||DT||1T||
[||pT||[Y||WT||6T||
[pT[[[Z[[[O[[[
:	]pTZ]pTZ]pTZ]pUZppTZT
@@@@@@@@.pU@
P@@@@@u@@A@AAac
p@@@@@@@@@@@u@@A@ADac
PUAAdvertising
PUA_appmap
PUABundler
PUADlManager
PUAFileInfo
PUAMarketing
PUAMiner
PUATorrent
public: 
PublicKey
PublicKeyBytes
PublicKeyEccCurveOid
PublicKeyEccCustomCurveBytes
publisher
P[UdU[[[b[[[
P)	UFMF#306
p)))u@GL]J
PU'gqggIW
PugqggtB
pugWegfG
pugwggfw
P)))UHMM
puJd@[[[
puJd[[[[
puJdA[[[
puJdB[[[
puJdC[[[
puJdD[[[
puJdF[[[
puJdH[[[
puJdL[[[
p)))uJDM
puJdN[[[
puJdO[[[
puJdT[[[
puJdW[[[
puJdY[[[Z[[[a[[[
puJdZ[[[?[[[
@@@@@@@@[pUL
PUllllllllmllllOllylmY
PUNdF[[[j[[[
PUNdM[[[
[[[PUNdT[[[;
punpckhbw
punpckhdq
punpckhqdq
punpckhwd
punpcklbw
punpckldq
punpcklqdq
punpcklwd
[[[puOdJ[[[
pupgppepq
)PUpgppepq#
PUpgppepqIAl
"p@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@@
  P     UPUUAUUeDUPUU
?PUPUUEol
puqgqggq
Puqg[vgfG
_purecall
[PusDKU-w
PusEnabled
Push_free_buffer
Push_ready_buffer
pUSSE@UBUD
p[[[Uukfx[[[
 --# "*puur
p UWATAUAWH
p UWATAVAWH
PuX.TpKpKuX
;puXXXxE
Puy7PuyGPuyWPuygPuyqPuy
puyyyyyyyyyxyyy
puyyyyyyyyyxyyy	
[[[p[[[v[[[
[[[P[[[V[[[
@@@@(p@V7Y
pVACUUM main;
pV@@@@B@A@Lp@W:
pVCRSSSSS
pv_dL[[[t[[[j[[[|y
|PVdO[[[
'pVdY[[[
pveWfgfG
pveWfgfGY
pvgGegfG
PvggfGgn
pVgGfggw
pvgqggdj
pv@gqggh
PVgqgg)rN)
PVgwcgfG
pVgYkgfG
@@@@@@@@[pvL
@@@@[pVL
PvllllllllmllllOllylm
P|vodo7ogo
p|voeo9ogo
	pvog'egfG
p@@@@@@@@@@@@@@Vp@@@@@@@@@@@@@@
pvPdG[[[;[[[
P||vQ|| A||pQ||fQ||
]Pv(_SSWD3._SSW[
]Pv(_SSWI3._SSWy
PVUpgppepq
p@VVNU3@@@@B@B@
[[[pvXdF[[[
@@@@(p@W
pW@@@@@1
p|||:	w5
pw6Wlgw(i
(PW@@@@@A@@Cp@W
pW@@A@h PJ
p@@@@@@@@@@@wA@Q@ACac
__p___wargv
pWA]s[RSS
p WATAUAVAWH
p WATAVH
p WATAWH
p WAUAVH
p WAVAWH
PW...ay7
PW..ayHHY
PW.ayHIY
pWB@A@2 @N
PW...Cy*
:PWd][[[
PWdJ[[[3[[[
PW...dy*
PW...dy?
PWdy8JUYK@NY
PW...dy8LUYHMAY
PW.dy8MUYKHIY
PW.dy;LUYHAKY
PW.dy;MUYKLIY
PWfgfGol
)))PWFPOFPiFP
-!).@@@@@.pWGCy4
PW@gedgfG
PwggfgfGp
p|WgqggZ
PW...Jy7
PwllllllllmllllOllylm
PwllllllllmllllOllylmZ
PW...ly1
PW...ly4
PW...my8
pWNdX[[[
PwNwSH]YQ
PW...ny:
PW...py7
p@@@@@@@@@@@@@@wp@@@@@@@@@@]Y]]K
p[@WTLCgFTD
p)))wWMOr
PW...wy7
PW...WyR8OHH5
PW...@y:
PW...[y:
PWYLVUUY
PW...Yy4
PW.Zy8MY*
*Px0pgppepqc
PX4XXXOXYHXHXX
PX4XXXOXYHXWXX
PX6XXXKXYH
p@@@@@x@@A@AAac
PXADSKMXMJGFHOK]MMM
PXAHLP@QSXXNQ
P___XALK_Q
PXANOMSSKDDKSLBZLDHKD
P_XASQPCEZKB
PXB]ACOLG
]PXBA@LMYC[CHMLLLO
PXBGECMN
PXBN_GKB
PXBQHDAKH
@PXBQKD]
PXBXCLXJFOX]DLEPN
PXBZZZMGECSQ
PX[CAMZBM
PXCHDBQQ@
_[[PXCSBYXMPZPHCKM[QEX]SY
PXDALL_[
PXDBCHNQ
pXdC1je!
P_XdC[[[P[[[T[[[a
PXDD[HGS
PXDGHYGMM
PXd@[[[k[[[
PXDNMQBQPX_
P_XDOG[_
PXdQ[[[I[[[
P]XDQSAO
P;XdW[[[
PXdZ[[[-[[[
PX[ECQZMLE
PXELZL]EP
PXES]@A[M
PX]EY]CG
P[XFLQNX
P_XFM@MN
PXFYXHBC]AGS
PXGAGYMG@YLSDSCL
PXGBY]O]
PXGOAZHJZNY
PXGOPNEQBE]
PXGZHPNQZQ
[PXHBYDJP
PXHCCBZJBEQM
_P]XHDP[SLPS_
@PXHG_SM@C[
PXHK@KKE
_PX__HLZM]CNKGY
PXHPLNMSB
pXjWggfG#
pxjyRxVx
PXKamgfG
P_XKHCNPSK_LJDQXJL
PXKLDDXM
PXKMH@F[KSYQF[
PXKYQQKE
p@@@@@@@@@@xkzxpxpxsxxyx0y.x
@@@@@@@@[pXL
P[X[L_BNG
PX[LHYJGJ
PXLK_JDGKLLPG
pxllllllllmllllOllylm
pXllllllllmllllOllylm
PXLMPPPX
PXLPQDM_COZ
PXLQSEJMCXS_NN
P@XME_QFOXNPK
|(pXmggfwum
PXMLJXAB[XSQG
[PXMOZDJM
_PXMXXQCS
PXMZYYQH
PXN[AAKGE[QLYO_
]PXNKBXQNMH]
PXNOH[NQNAYQG
PXNOOCPMOQG
PXNQ@AGXBLCYEQ
PX[N_XQX
PXOEOGMDZ
PXOGDCCQP
PXPAXYX]HM
PXPGD[]JENSXQ]JZ
)Pxpgppepq
PXPGZH_DLDNYP]
PXPH[PAOD
p@@@@@@@@XpiD
p@@@@@@@@@@@@@@XpJP
p@@@@@@@@@@@@@@XpKP
p@@@@@@@@@@@@@@XpNL
_PX@PQ_HKZ
"p@@@@XpWWK
"p@@@@@@@@XpWZH
PX]PXHMLO]PSLS@@Y
PXQDBJYNMPY[
P||xQ||iQ||[Q||FQ||1Q||'Q||
PXQLK_DMK]H
P[XQM[FOZ
[PXQ[[OXE
PXSK]SFFKK
PXSLKQAL
PXSNECC]N]
P[X]SPKCMZXE
PXS?PXS)PXS
PXSSS@S-"mORS3RXSSS@S
PXSUWXSGWXSqWXScWXSmWXS
pxSVyxwy
[[[pxUdN[[[
*||PX||!X||
@_PXXAL@
PX]XKDJSEADGNJMQCO
PX@X@LD]L
PXX[S][S_L
PX]X[XJD
pxxxJHHMHIHIxxxx
PX*XXXBXYH
pxxxxFxxyxyxyxY[
pxxxxRyxVxVx
pxxxxxCxxyxyxyxY[4
pxxxxxxxx
P[XXXXXXXXZX]XXX
pxXXXyxpy
pxxx]Y]]
pxxx]Y]]a
Pxxxyxly
pxxxyx|y
-pxx]Y]]
p xx]Y]]
?Pxx]Y]]
@.?Pxx]Y]]
pxx]Y]]_d_
pxx]Y]]j
PXXZX_M]NJXJ@HB
pxy*9yyU
PXY_AP_YO
PxyiSxyJSxy3Sxy
PxyiSxyQSxy9Sxy!Sxy	Sxy
P[XYLOCYGNO]HC_JAL
PxymSxyISxy1Sxy
pxynsxyJsxy4sxy
pxynsxyMsxy4sxy
pxyosxyIsxy2sxy
[P[XYPK_GN
Pxy:Qxy[
PxysSxybSxyRSxyBSxy7Sxy
pxy|sxyIsxy4sxy
PXYS]Z[LLCGJ[@O_
pxyUhyyyyyyyyyyyyyyyyyyyyyy
Pxyy@4uv
pxyyyyyqyy
pxyyyyyy
pxyyyyyyyyy
PX[Y]Z_BL
PXZDZKMDM
_PXZ]GGS
PXZGQ[Q[
PXZOG@O_
[P]XZYQL
  p     ]Y]]
 p "   ]Y]]
!p'((]Y]]
"p@@@@]Y]]
"p@@@@]Y]])
(p'((]Y]]
@@@@(p@Y
p!@@@@]Y]]
p#((]Y]]
p'((]Y]]
p@@@@@@@@@@]Y]]
p@@@@]Y]]
Py@@@@@@@@
  P     ]Y]]
P)))[@Y]
P@@@@]Y]]
py04yy04yy
pY0gqgg*|
py5xyyxIBI
p@@@@@@@@@@]Y]]9
py9upy@ypy
P]Y]]9wY
PYABK[GQHKD[SAN
PYACHEZ]J
PYAGLPGX
PYAJ_PZL
;pya;pyS;pyE;py7;py
PYASEBSB]QKCA][
P]YASPAKZ@DZDXB[L
Py@@@@BAC@
[PYBEMG[Q
PYBE[XOYP
PYB_FFMPK]H
PYBGZOO_ZL[ZXLDO
Py@@@@B@@@Hp@D
P_YBLJFYDPDN
p:YCCNCCCBACC	k
PYCCZDNAYY
PYCH]EHJ@
]P]YCLB]L
PYC_OPAAO
PYCPDQXKP@SKZM
!pyC py5 py' py
P[Y_CSFLM
PYCXQM_XCC@]J
PYDCSZZZA
p|ydE[[[B[[[
PYdK[[[2[[[1[[[
P[[["Y@dN[[[
p|ydO[[[
P_YD_O]BK
p|yds|y?s|y
_P[YEAMH]
P|yeS|y1S|y
pyeyyyyyyyyyyyyyyyyyyyyyyyyyyyY
PY@EYZ[J
PYEZ@CZYL
PYEZEPA]HN
P())Y[FKELDZ
PYFKZ[BFX
p)))YFZ]
PYG[C_KH
P[YGDA_]
pYgfGGSXR
PYgIfgfGLDa
PYGNYNBG
PYGP_KOBY
PYgqgg7[
pYgqggyK
PYGXH[QA@ZZEEFYDDSXX
PygzegfG
P@YG[ZMCC]
]P@YHACCF]
P]Y]HDMNS[M[
p)))YH[]HNLHG]
PYHKGHXL
P)))YHNL
PYH@@NY4
PYHP_G@Q_EGC
PY_]_H@X
PYiEPYiiPYi
pyIxyyvIXIRIDI.I
pyixyyxI
[pyiZpycZpyOZpy0Zpy
PYJEKDLAMQYC
PYJ__HSHF
P]YJ[OBSB
Py@@@@@@@@jp@@@@@@@@@@AB@@lpM@@@@@
PYKIIIY4
[PY[KNLBHMSF_Y
PYKOQYEKDPOCNHBXA
P_YKSBHCKH
	)))]PYL
')))]PYL
;())]PYL
;)))]PYL
_)))]PYL
)))]PYLA]DE
]PYLE@K]PYL
)))]PYLFO
]PYLFOAF]MFJ
]PYLFO]A@Z
]PYLFO@_B@Q
]PYLFOCZFG
]PYLFO@G@]@HE
]PYLFOLDH@E
]PYLFOLGHXG@O
]PYLFOL_HE
]PYLFOLQYF[]Z
]PYLFOMH
]PYLFOMLO@GL
]PYLFONEFKHE
]PYLFOOHEZL
]PYLFOQHCHQ
]PYLFOZLEO
]PYLFOZLGMMH]H
]PYLFOZPDKFE
]PYLFOZ]vCZ
)))]PYL@G]ALHMM[LZZKH[
]PYLGF]LY[FYL[]P
]PYLGHDL
]PYLGHDLD@J[FZFO]
]PYLGHDL@F
]PYLGHDLKP]Lrt
]PYLGHDLZ
]PYLGHDLZPZ]LD
]PYLG]OZ
]PYLJFDDHGMZ
)))[PY]LM
[]PYLMDK]UJDMZALEE
]PYLMH]H
]PYLM@[LJ]F[P
]PYLMLO@G@]@FG
]PYLMLO@G@]@FGi
PYLM]PYGXZZY[_E[E]
]PYLOF[D
]PYL]PYL@G
[]PYLQYAOB
]PYLrtR]PYLFO
)))]PYLt
')))]Pylu]AJbo
]PYLYL[O
PYL@YLQJ
]PYLZR[L]
PYMBBNPNQ
PYMEDPNJ
P_Y_MGLQA_D_N
PYMKZCQG
PY_MSSQY]HC
pym!syEcsy
PYM]YOQQ
PYNCMABLO_
PY_]]NC]YHE
PYNEMEBECY_O
PYNNASQQO
PYN]N[HH[GOAAQQ
(PYNORM)
P_Y_N[[YD
PYOGQPBC]M
PYO]PDFX
PYOPHZZME
PYOPXSZC
PY_OZAXLSGGGJ
p@@@@@@@@@@@@@@yp@G
PYPGK]EZ
pY-pgppepq"A
pypgppepqY
p@@@@@@@@@@@@@@yp@J
PYPLCKY_[HOSQHLL
PYP[LPNJ
]PYPMHJJ
PY_]_PMZ
PYPO[ZQFNQDZYOZBHPAOXHODQMFSH_GB
py*ppy[zpy
;py|:pyK:py5:py':py	:py
PYPYSK_JM_E
@PYPZEMNA
P]YQHOQP
P[_[YQNG
PYQSMDLBEM]
PYQXBQOY]
PYQYSSEZ
@PYQZO[KMEQMEK[
PYSAYZX[
@PYSBKAN
PYSBQSKSGKLJG[
@pysCpyECpy Cpy
PYSLBOGGE
)pys(pye(pyE(py((py
PythonInfected
PythonTokenizerError
p|yus|y9s|y
#pyw"pyQ"pyB"py7"py
PYXCDC_H]B
PYX]CZKSON
pyxlyI@MVJIMVIIKVNNW
PYXLZZ__
PY[XN_XYBSB
PYX_N[ZB
pyxpyqth
P|yxS|yaS|yKS|y)S|y
pyxtyRR*
pYXXlYXXXXXXLXXXZXLYPXXXXH@X
 PyxXy6Jr
py]xyypIYINI7I
PyxYyZH9
pyy3ryI3ryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pyy5Yyyzy
pyy9_yy|yu
pyyaXyyzy
PyybSyyZSyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
P[YYCFNY[LGM
PYYGSQYGHOGKBQ
p	y]Y]]h
PY[YHX@NSDAE
pyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
pyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
pyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
pyyiyyy	pyyiyyyyyyyyyyyyyyYyy
P]YYJGAPPD@OO@NN
pyyjy1y1
PyykSyyVSyy3Syy
pyyky1y:Bsyyly1
PyylSyyBSyy
pyym]yy|yC
pyymZyy|yE
pyy!nyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yy
PyyoSyyb@yy
pyyQoyy|I
PyyqSyydSyyBSyy#Syy
PyyqSyy[Syy@Syy7Syy
pyyqyxzyyyy
PY[YSGXQ
PyysSyybSyyJSyy;Syy!Syy
pyy	syyqI
PyyT;yy?;yy
PyyuSyyQSyy0Syy
pyyusyy]syyAsyy)syy
PyyXCCNCCCBACC
Pyyxyyyayyyayyy
pyyy8yyyQ
pyyyfyyy
PyyyIxyySyyyoxyyyyyyyyyyyyy9yy
pyyyIxyysyyyoxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
pyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
pyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
PyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
PyyyiyyyyyyyyyyyyyyyyyyyyyyyPyyiPyygPyyMPyyGPyy7Pyy#Pyy
PyyySyybSyyKSyy
pyyysyyQsyy)syy
PyyySyyYSyy9Syy
pyyyTyyy
pyyyVyyy
pyyy:yyy
pyyyyyy:
pyyy@yyy5n
pyyyyyy9yyy
PyyyyyyG
pyyyyyy!kyyY
pyyyyyyQyyy)yyy
pyyy)yyysyyyQyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pyyy)yyysyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_myyOmyyamyyyyyyyyyy
pyyy)yyysyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pyyy)yyysyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
pyyyyy	YxyyiyyyIxyyyr
pyyyyyyxyyyHy
pyyyyyyy
pyyyyyyyK
pyyy;yyyyn
pyyyYyyysyyy
pyyyYyyysyyyqyyyyyyyyyyyyyy9yy
pyyyyyyyy
Pyyyyyyyy?
pyyyyyyyyyy
pyyyyyyyyyyyyy9yy9W
pyyyyyyyyyyyyyyyyyyyyy
Pyyyyyyyyyyyyyyyyyyyyyy
Pyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
PYZAXBDOO
PYZB_P_X
PYZLO]]SPL]_OK
_PYZ[Y]JA
'@@@@@@@@_p@Z
 P@@@@@z#
:P[[[Z[[[
P[[[Z[[[
P[[[Z[[[	[[[
P[[[Z[[[![[[
P[[[Z[[[#[[[
P[[[Z[[[?[[[
P[[[Z[[[3[[[
PZ36o] H
P[[[Z[[[5[[[
P[[[Z[[[9[[[
P[[[Z[[[a[[[
P[[[Z[[[A[[[
PZAAKMZOPOMGSM
PZAGO_FY
PZAHPD_MY
PZAJAZQN
PZAMAFGGM
]PZAN@FY
PZAOEKAEKGCA
__PZAPPSACGPNSFO[
PZAQL][_LM
P]@ZAQNSLMYZBECHZLOCSHSYD@
[_PZAQ_P
P_ZAQXKH]
PZAYABKXQ
PZBDOXBOSH
]PZBHQ]J
P[ZBSM]D
P[[[Z[[[c[[[
!P[[[Z[[[C[[[
PZCBMKKZM
P]ZCDXJK
P_ZCMQZBJM
PZ_CNPC]A
PZCOOZX@CA
@PZ]CP@CZEF
PZCYYMBJXNQC
[PZDBHFP
PZDFCJXO
[PZDGS]L
PZDHGJXSLLNGAQH
]P[ZDHHQ
PZDLADQYKNQK]DNBZFC
PZDMZP[DY
PZDQMN@S
p|ZdS[[[
P[Z_DS]MPJ
P[[[Z[[[e[[[
P[[[Z[[[E[[[
P@ZEMNL[N][ZJ
@_PZEPXA
]PZEZO_NZCLNFZ
PZFCGODSHE
PZ]FJDAJ]J
)))PZFKCYJMFZ[]
	PzFW3bgfG
	PzFW3bgfG?
:)))PZFZL[@HE
pZFZL[@HElQYEF@]))
PZFZY]XDYSS][E
P[[[Z[[[g[[[
"P[[[Z[[[G[[[
[P[[[Z[[[G[[[
P[[[Z[[[G[[[
@P_ZG_DEPMB
P? zgfG.A
PZG@H[MC
PZGHZKHP
pzg;jgfG
P]_ZG_J@Q
PZG]KQCLGB
P]ZGNB[KP
P[ZGNJBZLMSKDOPL[
pzgqggYN
p)))Z]H[]
PZHBJBLDM
P[Z][[HD
PZH[DOQZ]KC
p)))Z]H]@J
p)))ZHO@G@YF@G]Z
p)))ZHOLMLG]HE
P[[[Z[[[I[[[
pZi3llllllllmllllOllylm
PZJAHGGLE
p)))ZJA]HZBZ
PZJA]HZBZ
p)))ZJ[@Y]EL]J
(Pzjyq)x
P[[[Z[[[k[[[
P[[[Z[[[K[[[
@P[ZKAAA
P[[Z]KBK
]]PZKYGCC
PZKZHKN_
@@@@@[pZL
PZL@]BJOO
!)))PZ]LD
P)))ZL]@G]L[_HE
')))][PZLH[JA@GN
PZLJOH[N
PZllllllllmllllOllylmF
p)))Z][[L_L[ZL
_PZLP]PY][H
PZ_LSSD_QA
P[[[Z[[[M[[[
[PZ]MKYJG
P_ZMLDP[LJXG
PZMN_O[AN
PZMOMYQDPQ@
P[[ZMPLAK
PZMZDEBJ[KXP]]
PZ[NAH_KQ[GLZF
PZNgqggC
PZ]NXSBM
PZ]NZLN_HLCZNCPMK
PZNZMNMMZ[A]CPFYPF
P[[[Z[[[o[[[
@P[[[Z[[[O[[[
P[[[Z[[[O[[[
PZ]ODA[ZFG_F
]PZODBDAC
PZ_OHAA@H
[@P]ZOJKO
PZOLBOASQA]PAY]
PZOMANDSY
PZOMAPGX_
PZO_@MQNDGD
PZOOBOBMP
[P[_ZOPB
@PZPEG]]GGC
pzpggcgfG
p|Zpgppepq
P(zpgppepq
pZpgppepqJ5@
PZ[POLBCJL
PZPSYLAM
PZPXOQGD
P]]ZPYHSO
]P[[[Z[[[q[[[
PZQAMQ]JC
PZ]QDAYD_PE
PZQF]LSZFN_FCPMCAFQ
PZQKAHKQ_KXZDD@
PZQMMQAHSY
PZQQQGZHMB
PZQSLYQFD
PZQYDNCX
P[[[Z[[[s[[[
PZSBP_B_P
_PZSBQPQPS
[PZS_C[@BH
PZSC[XCZAJO_BDEPHCBP
PZSFKD[_N[J
P_ZSJJYG
PZSLCSBB
_PZSN[]DDQZCC
PZSSQ@DHD
PZsSRSSsSSS
PZSYBJNJO]YQSA
P[[[Z[[[U[[[
PZUZTZZQQV
Pzvg'kgfG|
pZ@V[LCgC[D
pzwdG[[[
PZX_E]H]KSALQHML
P_ZXKAXYS
PZXKZX][_FZ_@
PZX_LXEP
PZ@XQC]]
pZXXXXXXXXZXXXXX
pZXXXXXXXXZXZXXX
P[[[Z[[[y[[[
[P[ZYDMLY
PZY@ELX]
PZ]YE_XQBM
PZYGJPSC[CQSNB[F@HJGO
pzyiozyqozyiozyqozyiozyqozy!lzy!lzy!lzyQhzy
pzymszy2szy
PZ]YPCOO
PZY]SBMSB]NNNB[A
PzyVSzy!Szy
PZyxty x)x@x
PZZ[]HQSBPS
PZZLNGXO_OLGJZ
_PZZM][H
P_ZZM[YZC]A
PZZ_N[@BHZABOG
pZZZQXkIkK]Qp]Z_Z
PzzzrzzKzzzzzzzzrzzTzzzzzzz
#q?@@@@@@@@
))q)))))
[[[)[[[q
[[[q[[[@
[q[[[	[[[
[q[[[:[[[
[q[[[;[[[
[q[[[|[[[
||||q|||||||
(Q*****)
(Q.....)
))Q)))))
-]Q****.(
[[[:[[[Q
[[[_[[[Q[[[
||||||:Q|||||||
||||Q|||||||
Q;??????
Q@@@@@@@@
Q||||||||||||||||||
Q||||||||||||||||||||||||||||||
  q!    0
  q"    0
[q[[[0[[[
Q0E9Q4s*A
q0g1EgfG#I
Q0g5ngfGG
Q0H;Q uL
Q0L;Q(wrI
Q0MpEnableExhaustiveDexScanning
q0qqWqQY	IGX-"
Q0R0S0T0U0V0W0P
Q 1fgfGw
q1g]kgfGg
q1)gqgg"
Q1gYggfGc
q1llllllllmllllOllylm
Q1pgppepq
Q1QRSSSSS
[q[[[1[[[s[i[k[o[l[w[o[r[w[
q24|vodo9ogo
Q2@@@@B@A@Lp@
q2fpgppepq
q2gqgg7[
*q2l_[[[
Q2RRSSSSS
[q[[[2[[[s[i[k[o[l[w[h[r[w[
[q[[[2[[[s[i[k[o[l[w[o[r[w[
q2?yxdyX
Q2yy92yy!2yy
q314_C__]_
q314_C__H_
	q314_E__]_
q314_E__T_
	q314_f__E_
q314_f__E_
	q314_F__O_
	q314_F__T_
q314_F__y_
q314_I__O_
q314_J__O_
q314_k__E_
	q314_K__O_
q314_l__E_
q314_m__E_
q314_N__O_
q314_O__O_
q314_Q__O_
q314_T__O_
q314_U__F_
q3@3@@E@BEac
(q;33_V__z_
Q3Dgqggi
q3fgfGOV
q3g'egfG
'Q3gqggo
q3|JgAkgfG?l
q3llllllllmllllOllylm
q3llllllllmllllOllylmN
[q[[[3[[[s[i[k[o[l[w[h[r[w[
  q"    4
[[[:[[[q4
q||||||4
Q4agqggr
[[[Q4*dI[[[
[[[Q4*dJ[[[
Q4*dO[[[
Q4*dX[[[h[[[m[[[
Q4fgqggM0
Q4giggfw
q4gqggZh
q4gWegfG
Q4llllllllmllllOllylmj
Q4llllllllmlll]Y]]
Q4!mggfw
q4yclj6'
q5dC[[[:[[[9[[[[[[d_[[[
@q5dL[[[|[[[h[[[
_;Q5fsV5fuVvV
q5gqgg(FA
q5gsggfG[
q5llllllllmllllOllylm
Q5XdF[[[
q6@@A@F!WU]A
Q6Gf@[[[
Q6Gf_[[[
Q6GfB[[[
Q6GfE[[[
Q6GfF[[[
Q6GfG[[[
[[[Q6GfH[[[
Q6GfO[[[
[[[Q6GfP[[[
Q6GfS[[[
Q6GfS[[[w[[[v[[[
Q6GfT[[[
Q6GfV[[[i[[[
Q6GfW[[[
Q6Gfx[[[g[[[
Q6Gfy[[[
Q6GfZ[[[
Q6gqggT|
Q6HdB[[[*[[[)[[[?
Q6lSSSSSSSSSSSSSSSSSSSSSSSS;]
Q6pgppepq
[q[[[6[[[s[i[k[o[l[w[o[r[w[
q6.v?dgfG
q70dgfG6
Q[[[77"gA[[[
Q7DdJ[[[
Q7dW[[[Q[[[
q7EdN[[[_[[[G[[[6
Q@@@@@7@@F@ACa
Q7g3dgfG
Q7gamggGY
q]7gqgg!
||||Q||||||7H||
Q[[[	7hfH[[[P[[[U[[[
q[[[	7hfO[[[
q7pgppepq
q8;##9##Z4i
Q|||8E(X
q8g'ggfG
q8g?kgfG
Q8gqgg4_|
Q8lA_]07:D
Q8Ow0_mgggw
Q8pgppepqg
Q8QRSSSSS
Q(8TnLh]'
;Q8v:D8Q4u
Q#(8((]Y]]
Q8Y8YvfPJPJ
q8ZGoooo
q9yyy9	T
q9yyyyyyyy9
[q[[[a[[[
[q[[[A[[[
Q@@@@@@A
Q@@@@@@A@
q@@@A@3 ET
q@@@A@3 EU
Q@@A@4 hlc
qAAAAAAAAAAA
qAAAAAAAAAAAAAA
qAAAAAAAAAAAAAAaqAIGE#
qAAAAAAAAAAAAAACA@A
qAAAAAAAAAAAAAAhqAAAAAAAAAAgqggS
qAAAAAAAAAAAAAAkqAAAAAAAAAACAAAIqAJ
qAAAAAAAAAAAAAAoqAAAAAAAAAAA@AADqAI
qAAAAAAAAAAAAAAoqAI
qAAAAAAAAAAA@AABqAEM
qAAAAAAAAAAAA@AIqCLg
qAAAAAAAAAA@AAAmqED
qAAAAAAAAAAA]AA@PAWAAAAAAAA
qAAAAAAAAAAA@AAQqxE
"qAAAAAA@AAAAAC
q	AAAAAA@AAAAAC
qAAAAAA@AAAAAC
QAAAAAA@AAAAAC
qAAAAAAAAAAAC@A
qAAAAAAAAAAACAA
QAAAAAA@AAAAACl]!
qAAAAAAAAAAAQ@AIqC]AAAA
qAAAAAAAAAAAUAA*qAHAAAA
qAAAAAAAAAACA@AA
qAAAAAAAAAACAAAIqAM
qAAAAAAAAAACAaAKPAR
qAAAAAAAAAACAAAoqAP
qAAAAAAAAAACA@AaqAR
qAAAAAAAAAAC]AAIqAbAAAAAAAA
qAAAAAAAAAAC@AAIqAE
qAAAAAAAAAAC@AAIqAE"I
qAAAAAAAAAAC]AAIqASAAAAAAAA
qAAAAAAAAAACA@AIqAY
qAAAAAAAAAACC@A
qAAAAAAAAAACCaA
qAAAAAAAAAACCAA
qAAAAAAAAAACCAA_qAAAAAAAAAACUAAeqAPAAAAAAAA-83(
qAAAAAAAAAACCEAPqAAAAAAAAAACAEAaqAL
qAAAAAAAAAACCEA;qAAAAAAAAAACCAA
qAAAAAAAAAACQ@A
qAAAAAAAAAACQ@AIqA[AAAAAAAA
qAAAAAAAAAAQAAAZq
qAAAAAAAAAAUAAA
qAAAAAAAAAAUAAAmqPE
qAAAAAAAAAAUAAAmq[V
qAAAAAAAAAAU@AAQqPI
qAAAAAAAAAA]Y]]
 QAAAA@AAAAAC
Q] _AAAA@AAAAAC
QAAAA@AAAAAC
QAAAA@AAAAAC|
QAAAA@AAAAAC1K
QAAAA@AAAAACEnG
 QAAAA@AAAAAC_M h
QAAAA@AAAAAColYW
qAAAA@AAAAACz3
q@AAAAAGQ
q@AAAAAl
qAAAAaQAAwqA
q@AAAAAr
'	@@@@@q@@A@AAac
.@@@@@q@@A@AAac
?@@@@@q@@A@AAac
@@@@@@q@@A@AAac
@@@@@q@@A@AAac
@q@@A@AAac
]q@@@@@|@@A@AAac
_@@@@@q@@A@AAac
QAAAAC@AAIqAO8
@q@@A@AAacoo
qAAAACQAAwqA
!QAA@Ai!OR
qaaaqaaaQ0
qaaa]Y]]
-qAaa]Y]]6
qAABAAAAAAAAAAACa@A
qAABAAAAAAA@AAACa@A
QAA[BHMK]AS
@@@@@q@@A@ACac
@q@@A@ACac
 @@@@@q@@A@ADac
@@@@@q@@A@ADac
QAA[_DE_
@@@@@q@@A@AEac
QAAGBKKQ
QAAKBHCX]LNY
QA@AmqPNAM
QAAQMKGGEHCBG
QA_AS_K_
q@A@A@XpRD
QA@AYqPE
QA@AYqUE
QAA@YqYE
qAbAAAAAAAA
Q@@@@@ABAPp@J
QAB]GNH_X
Qa@@@@B@@@Hp@K
QA@B@[pKL
QA@B@[pML
qaCCNCCCBACC
QAC[FDP][PB
QACHKXLZGB
**-]Q]A]DE
QADGDBPS[
QADHQBXLQD
[[[?QAdI[[[
QADLP[_]@
QAD_MCDQJPP
QA_DQMOKDNX]
Q[ADSZ_P
QAEJPJXZ
qAellllllllmlll]Y]]
QAEOXNDB@
QA[EP[OJO
QA"eZ[[[
QA[FDXLOOZH
QAF@DYNYAZY]H
QAFYOSBLDSZ
Q)))@AFZ]
QagfG44K
(QagfGLXn
QagfGz5zbgqgg
qAgGbgfG
qagGdgfG0
qAg#gggw
]QA_GHSH
QAG[M___[NCGS
QAGOCBCB
QAHF]HDD
q@@@A@h FN]
Q@@@@@@A@h GJ
QAHHXHHX
Q@@A@h IHZ
q@@@A@h IM
"'Q@@A@h IN
q@@@A@h IS
Q@@@@@@A@h Jiu
QAHKASMP[
q@@@A@h KN
Q@@@@@@A@HpBV
q@@@@@@A@HpBYqW
Q@@@@@@A@h PD
q@@@A@h PY
]QAHZLCDC
QAHZSOQN
Q@@A@; If
QaIgqggDsP
QAJGKD_SMJ
QAJMSLCHJ
QAJ@YQYX
QAKXHHHJKCZOCGHHK
QALAZJ[[
Q_ALBJ[OCQYL
qAllllllllmllllOllylme
qAllllllllmllllOllylmf
[Q[ALNOPGMH_D
_QALOYOYPJZB
QALPHKXQ_
QAMNE_KGD_DS_CK
QAMXDPQANP
QANHF]M]X
")))QANZ]H[]i
]Q@AO_JL
QAO_JN_C
QAOLAHOHMP]
QA[O@LEMZ
QAO_]OG]
]]QAOOJOQS]M
QAOY[L[G
@@@@@@qA@P@ACa
Q[APBDXF
QApgppepqc
Qa.pgppepqJ
QAPMSGQ[JS
q@@@@ap@O
QA[P_]PX
Q@@A@[pY[0bg@
Q[AP]]ZQ[ZZCLOZB
qAq50bRZ
]QA]QCZZLGPCAY
QAQGKA[OKBABCF
]QAQHLGL
@QAQH]OA
QAQJKY[XONH
QAQ[LXJP
Q_Aq@XLC@Y[
QA]QYKC_[JO
QAQY]OOS]ZXSLJNSJ
_QAQZO]BQO
QAQZPY_Z[BNMPAQENMY
QASARLaA
QASEX]OH
[q[[[a[[[s[h[b[b[r[w[
[q[[[a[[[s[i[k[o[l[w[j[r[w[
[q[[[a[[[s[j[k[k[h[n[j[w[j[r[w[
[q[[[a[[[s[j[k[k[h[n[j[w[o[r[w[
QAS_OK[HBK
]Q]ASZGJKBAX
qATAAAAAAAAo4".;o
qAUAAAAAAAA
qAutomaticRemediation
q|a(w|dHv|v.z
QAXGJKSPFZY
q@@@A@XpNHb
@)))QA]]Y
QAYBBHGMXCNP
QA_YCH[@
QAYDADFQG
QAYFYM[@OKAZ
QAY]HMYJMF
QAYMQN]GXM[Q_
Q[AYQBYMAQ]EKS]]JZPBMP
QAYZ]BGAD
@_QAZJZ]E
[q[[[b[[[
[q[[[B[[[
Q@@@@B@A@@
Q:B@A@2 @
q@@@@B@A@2 @C
q@B@A@2 @Cae
Q@@@@B@A@2 @CG
q@B@A@2 @D
Q@@@@B@A@2 @D
q@B@A@2 @E
Q@@@@B@A@2 @E
q@@@@B@A@2 @G
QB@A@2 @G!E]Y@@@@B@A@2 @G3u
QB@A@2 @GFH
q@B@A@2 @H
q@B@A@2 @I
q@B@A@2 @j
q@B@A@2 @K
Q@@@@B@A@2 @l
q@B@A@2 @Le
q@B@A@2 @n
q@B@A@2 @N
Q@@@@B@A@2 @PH
q@B@A@2 @Q
q@B@A@2 @Tr
q@B@A@2 @V
q@B@A@2 @vJL
q@@@@B@A@2 @Z
qBAAAAAr
q@BAA@Hp@O
q@BAA@Lp@R-
]q@@@@BAB@
Q@@@@B@AC2 @DL
@@@@@q@@B@ACac
q@BAC@ap@R
q@BAC@Hp@O
q@BAC@Hp@P19
'Q@BADh G@@@@@
q@B@A@dp@A
q@B@A@dp@Y
QBAEZXP[PZSL
QBA]FCF[
QBAHCG_Y
q@@@@@BA@h N@@@@@
Q!@BA@h N@@@@@
q@@@@B@A@Hp@_
q@B@A@Hp@Cr
Q@@@@BA@@Hp@D#H
q@B@A@Hp@il
Q@@@@B@A@Hp@L
q@@@@B@A@Hp@Rb
QBAHXSYQ
QBAI9	Bt
q@@@@B@A@Jp@C
q@B@A@JQ@S
QB]ALBD]
q@B@A@Lp@
Q@@@@B@A@Lp@
Q@@@@B@A@Lp@D
Q@@@@B@A@Lp@F
q@B@A@Lp@i
q@BA@@Lp@L"K]
q@B@A@Lp@Pj
Q@@@@B@A@Lp@q
Q@@@@@BA@NpN@@@@@yC
_QBAOJKC
QBAOXKLY]Z
qbaseName
q@B@A@yp@K
q@BBA@dp@@@@@@@@@@B@A@Lp@n
q@BBA@Vp@@@@@@@@@@B@A@
QBBBBBBB
QBBB[HNAN
QBBJOQ[XHP
@]QB]BKsSSS
[QBBMGMA
QBBYESAOG]Y]MMZEJX@
@[QB[BYsSSS
Q@@@@B@C@
QBCAE]MMJE
QBCBMOCPGD
QBCBNFAGH[]G
q@@@@B@CBqp@c
QbCCNCCCBACC
q@B@C@Hp@O
Q]BC[L_MO]
]QBCMGKK
QBC[QJHG]A_YFFXSBG
Q_B@CYJ_
qBdgWfgfG
[[[Q@BdI[[[F[[[
[[[Q]BdK[[[
QBdLCsSSS
QBDMHNL]
Q_BDXLDG
qbeI[[[k
[QBE][ONQ
[[[qB"eT[[[
qB"eY[[[
[[[QB"eY[[[
@qBFsSCSSd
QBGEFSB_XBZ
QBGELNNA
QbgfGz@f
Q|bggegfGi(k	gqgg
QBGK]HKOFLC]
qbgqggc)c
qbgqgg.O
qb_gqggs_WMP
QB_]GSCN
QBGsEBSS
QBGsSCSS
qBGT3X[L
QBGYG[QZ_SLQO_BGCXZGD]
QBH[DOH[OKYL
QBHLCsSSS
QBHNJQJB
Q@@@@B@@@Hp@Gs
q|bHp|oOr.v
q@B@@@Hp@WK
QBHYCYX__
@[QB[IsSSS
QBJAN[ESSYPYDPHPQ
[QBJBHOCDX
QBJBHYYKXB]C
QBJ[CQB_BBHX
_QBJJOZG
QB]JKC[NL]XM[JSJB[HCXL
]QBJKO[P@J
q@B@@@JQ@M
QBJS[CBJJDQLDEPPG
]@@QB[K_
QB_[KA]Q]A
qBkgfG[a
QBKP[HQQ
QBkZK1sSSS
@@QB[L_9
QBLAGAGSBNSXNE
Q_BLCNCQGCDJ
@[QB[LG9
QB]LG@@F
QBLHJQNS
QBllllllllmllllOllylm
@]QB]LssSSS
@[QB[LY9
QBLYH_HN
QBMALB]DH
[QBMC]PC
QBMG]EYS
QBMH_MSJH
QB[MOOZH
QBN_CXNNJHE
QbNdK[[[
QB[NFGOYZYMYGJ
qbNllllllllmllllOllylm1
QB_N_OSCH
QBNZO]B_M
QB]NZ[OJ
QBOGEOZ__XMFC
QBOJQ@]HM_
QBOMJLPO
QBO_ODXLZ
qBootPath
QB@OQ[GB
QBOZABBLBJN
QB@OZ_QCHAJ
QBPLOPALD
QBPXBD]ZP[L
QB  P     ]Y]]
QBPYXXYH
QBQ_BA_X
Q[_BQ]ES]]
Q[BQ[JOJ[H
QBQMAAMZP
QBQ]OJE@QNQ
@qBqsCRSSl6
@qBqsSSWS
Q_BQXCLO]YC_
QB[[SB[YJ[DFEMOA@COMJMK
QBS@GZQL]
[q[[[b[[[s[i[k[o[l[w[i[r[w[
[q[[[b[[[s[i[k[o[l[w[j[r[w[
[q[[[b[[[s[i[k[o[l[w[o[r[w[
QBSJKJP_
]QBSLCSFZDCOE
[QB_SLJH[AO
[q[[[b[[[s[o[k[b[n[r[w[
@QBS_SPALBKJZAS
qbSxpgppepq
Q_BS[ZZ]MLJY
@_QBTB_sSSS
@qBUAtLK
QBVMsSSS
QBWL]sSSS
QBWsSWSSsSSS
QBXD@ZGJ@
QBX[GJSP]XJ]ZAD
_QBXJMQS]
QBXMEYE]
QBX_NHZD
QBXPJGQGZ
q@@B@@XpW@@@@@
QBxx]Y]]
QBYBCBVUM9
Q_BYDSQODPB]D
QBYGMHGOQ]LEEHGP
QBYQEXQZ
QByyyyyyyyyy9ByyyiyyyyyyyyyyyyyyyyyyyyyyIByyyyyy
qB[[[Z[[[K[[[HcG
QBZNX@EF
QBZ_NYGZLCC
QBZ]OCANC_@ZCEB@
Q_BZPDLQGKA
Q[BZXG_BS
QBZYKO[QXNBSO
[q[[[c[[[
[q[[[C[[[
Q[[[C3QdH[[[P[[[
QC|5:?'6!
Qc7egfGF
Q@CABGNZJL
QC@ABJPKOS
Q_CACEGO
@qCaCIC1C
@qCaCQCMCAC1C!C
@QCAEJAY@COQ_F
QCAOOLPMPDL
QCAQNQPL[ZGK
QCASS]SD[L
qC@BA@; M@@@@@
QCBCKADSG
QCBF[NBC_GDYYLA
QC@BLXND
Q]CBOSN_
QCBPAZLL
QCB_PQKAKPNBNS
Q_CBY]XNJX
@qC]C9C!C
Qc@ccbchcM
QcccLccacJc0
QccgfGmT
QCCJJJCC
QCCNAHQDGPBJ[A
@qC]CNC(C
-qCCNCCCBACC
QCCNCCCBACC
QCCQYGG[Y
QCDAHO_M
Qc'dgfGQ
QC[DHDCBC
QCdK[[[7[[[6[[[@
QCDKHD@HB@NB
QC[DNFSKFA
QCDOBLLX
QCDOZGDL
QCdP[[[3[[[
QC[DPBEMC
QC(dQ[[[ 
QCDZ]MGLJ@BDGM_NL
QC[EEAXZXYAA
qce_[[[g[[[
QCEGSEJEK
Q_CE_]OJO
QCE@]ONPG
QCEY[JQZX[
QCEZAAPQY
QCFNGJZXLC
QCFPCLOCP
qcgfG998
qcgfGP0x3gqggd
QCGHQSNH
QC[GNEGY
qcgqgghe
qCgqggkJ
qCgqggSa
QCGQZDLNZ
]QC[GSH]GPA
]QCH][_]AY_]QNYCK
_QCHAYQP[H
q)))CH_H
Q[CHJQJOP
QCH[KQPE
[Q]CHLBM
QC]HL_KXPN
QCHM@Q]A]OM]GBN
QCHMQFXGOBHK
QCHOZ]]C
QCHYCBDD][_
@qCiCICAC5C!C
QCJDSQPGJPH
[QCJJAMCF]XNBD
QCJJASABK]SBZ]K
QCJJQBLQOCJNC
Q]CJZ@]K
QCJZPXZDMYJ_ZJK_
Q[CKGD_Q]S
QCK[L[_Q_YPP
QCKQS[P]MNLC
Q_CKX@_JYL][KC
_QC[LHMKYZ
Q_CL_NMX_ZXGC
QCLO_MHH
QCLQJGBC[
Qc.lSgfG
@qCmCeCUCMC!C
@qCMCFC!C
@qCmCUCMC5C-C
@qCmCYCUCACEC9C)C-C!C
qC.[mhJ4
QCMJZZCXAHLON
QC_MSHJEBKPC
QCMZZGQYAO
QCNCCCBBCC*
QCNCKSGCP]YASGDAZ_MDMZBHHQ
Q[CNSYKK
Q]C[N]XLA[Z
QCODDKA]
QCOGSHFQ
QCOKAJGEXYB[[LNY
QCOQZ_PJ
[QCPBYQZ]A_
QCPCLDH][B
QCPCXMGH]G
qcpgppepq
[qcpgppepqlV
Q]CP_MBCHZQ
QCP[M[J]XPGAM
Q_C_PXEYDF
]QCPYHGL[
QCQGNZZYYA
QCQLKX]AL]PZ
QCQOQ]MYKG
[]QCQQGDG
QCQYQYECQMNO
qCreateDeviceMapFailure
qCreateGlobalCSIDLDBFailure
qCreateGlobalEnvrDBFailure
qCreateOfflineCtxFailure
qCreateVolumeMapFailure
QC]SBLCE
QC]SHSLMKD]DD
QCSOXEMLD_H
@qCtCbCVC
qCUserProfilesInitFailure
QcxccbcdcM
@qCXCICGC
@qCXCOC7B-B
QCXL[_PYA
[Q@CXLQBL]JN
QCXO[J]N
QC]XS[SD
QCXZ]A@@
QCYBGGCC]_SMSJDE[L[ZGX
QcyccbcecM
QCYCJOMC
Q_CY]FXY
]QCYMZZ]
***]Q]CYN
QCY_ZAKDYJ_Y
QCZBX_AMHFOF
QczccbcecM
QCZEBB[NGD
QCZENSYS
QCZEP_GHKJYCNFP[ZG
QCZLB@_CHK
Q[C[ZL]BQYZ]JBK_Y
QCZPYN_S
QCZS[PSLZ
[q[[[d[[[
Q	d2wPdk
Qd@[[[3[[[
q"d3kddj
Qd][[[6[[[
_qD704]0
qdA[[[ [[[
QdA[[[?[[[
QdA[[[1[[[
QdA[[[9[[[
q|_dA[[[B[[[
Q@.@@D@ACac
QdA[[[c[[[g[[[J
QdA[[[D[[[
Q@-@@D@AEac
QDAEJANSZ
QDAE[K[K
QdA[[[f[[[
QDA@KQ_]CPJJOC
QD_AL]YJL
@*QdA[[[m[[[
QdA[[[M[[[D[[[
QdA[[[n[[[
QdA[[[P[[[
QDAPED[LO
QdA[[[u[[[
QdA[[[z[[[
[[[!|QdB[[[
QdB[[[#[[[
QdB[[[;[[[
!QdB[[[8[[[
qD@@@@B@@AHp@Hz
qdB[[[B[[[A[[[
QdB[[[B[[[@[[[l
'QdB[[[e[[[
QdB[[[f[[[
qDbFileSize
QDBHDJYNKM
QdB[[[l[[[c[[[c
QDBOD__Y_DY_@
QD]BPDOPNQ
QdB[[[P[[[V[[[
QDBXDPAGH
Q[DBZGEH
QdC[[[;[[[9[[[
Qd_[[[C[[[B[[[
QdC[[[c[[[
_QDC[CYC]
QdC[[[i[[[
QdC[[[J[[[
QDCLY___HS
Q[DCOMNXLC_P
QDCSEGGBPPSJ]
QdC[[[_[[[U[[[
QdD[[[4[[["[[[
QDDAD_GP]GJ
QDDCGDKAYHGMM
QDDDDDDDDDDDDDDDD]Y]]'y_
QDdE[[[4[[[
QDD@EC]A
QDdE[[[C[[[B[[[
qDdF[[[U[[[T[[[
QDDGDBAF_
q*DdI[[[
QDdI[[[g[[[
QDD[K@QCB
qDdL[[[Y[[[|[[[
QDdN[[[7[[[![[[
Q]DDNSLNPQY
QD(dR[[[
QdD[[[S[[[
QDdV[[[m[[[
qDdV[[[Y[[[
Q:DdW[[[
Qd][[[e[[[
Qd_[[[_[[[E[[[
QdE[[[-[[[
)))QDEA]]Y
)))QDEA]]Y[LX
qDEa]YnL]))
QDEA]]YUHMFMK
qDEdHJ[FzALL]))
QDEE@GBLMGFML
qDEfKCLJ]mH]Hy[F_@ML[))
")))QDEGZ
(Q_dE[[[H[[[
qDEhZZLDKEPd]AMeFHM))
QdE[[[i[[[
qDEjE[zPZ]LDhZZLDKEP))
qDEjE[zPZ]LDm@HNZ))
Q]DEKZZYQGD
QDE_L[Z@FG
qDEmFD))
!)(QDEMFD
@QDEMFDGFML
)))@QDEMFDLELDLG]
@QDEMFDLELDLG]
])))QDEMFDrv
QDEMFDrv
qDEmFDvHZPGJ))
***QDE[MO
QDEOF[DH]Z
QDEUZLELJ]
qDEy[FJLZZd]AMz]H[]))
QDEZ]H]@J
)))QDEZJALDH
QDEZ][LHD
qDEzL[@HEnHMNL]d_m@J]))
qDEzL[@HEnHMNL]dZyZlM@]F[mEE))
qDEzL[@HEnHMNL]hJ]F[))
qDEzL[@HEnHMNL]kFF]Z][HYj]Q))
qDEzL[@HEnHMNL]y[@GJ@YHE))
Q@[DFDOLCYQ
QdF[[[@[[[G[[['
QD@[[F[M
QdF[[[n[[[
QdF[[[Q[[[
QdF[[[][[[R[[[
Qd][[[g[[[
QdG[[[	[[[
QdG[[[![[[
QdG[[[)[[[#[[[
_Q-DgAgg
[_]]QDGBNAEQL
QDg[dgfGa5
QDgfGb[b
QDGJJPNE
[QDGMAOPO
[Q@DGPAQZGNG_K_XL_L_A
QDG@SPLXH
q;dgufgfG
|q]dH[[[
	QdH[[[_[[[
QdH[[[@[[[
QdH[[[_[[[
QdH[[[7[[[4[[[
Q]DHDCC_DQ
[QDHFLSG
q)))DH@G
QdH[[[j[[[3[[[
q@]dH[[[j[[[h[[[I
QDHKYPHM
q|dHp|d.h
QdH[[[Q[[[P[[[
QdH[[[_[[[V[[[
QD]HXYFBY[[BNB
QDHYDBY]
QDHZE@Z]
qdI[[[H[[[N[[[X
QdI[[[L[[[A[[[
QdI[[[X[[[
QdI[[[Y[[[
Qd][[[j[[[
:-QdJ[[[
QdJ[[[3[[[7[[[
QdJ[[[5[[[([[[
QdJ[[[8[[[
QDJAAAGS
QDJEJCHB_Z
qDjF@Gd@GL[
QdJ[[[H[[[
QdJ[[[h[[[g[[[dVudL[[[o[[[
Q[DJMJXJN
]Q_D]JMM
QdJ[[[N[[[
Q@DJQHZOK
QdJ[[[V[[[
QdK[[[	[[[
QdK[[[:[[[
QdK[[[2[[[
QdK[[[d[[[
QDKH_GZYLHFZ
QDKHXMQHZ
QdK[[[N[[[
QdK[[[n[[[m[[[
QDKOAX[C
#QdK[[[P[[[
QdK[[[_[[[Q[[[
Q@DKQG]_
QDK]S[FC
QdK[[[][[[V[[[
QdK[[[w[[[
QdK[[[W[[[
QD_KZBGS
q(dL[[[![[[
	QdL[[[_[[[][[[
;)))Q]@DL
QdL[[[2[[[1[[[
Q[DLCYON
[[[#q]dL[[[e[[[d[[[HKAd_[[[
qdL]HMH]H
QDLJMNOHIJEJ
QDLKJOKG_S
QDLL]GJH
QDLL]@GN
qdllllllllmllllOllylm
QdllllllllmllllOllylmk
qdllllllllmlll]Y]]
QdL[[[m[[[
QdM[[[	[[[
QdM[[[3[[[1[[[
QdM[[[A[[[h[[[
Qd@[[[M[[[C[[[
QDMJNNDXLCQ
)))QD[@N
.)))QD[@N
QD[@NB@L
QdN[[[C[[[A[[[	l
QD[@NJADFM
QdN[[[L[[[
QDN_LFZKG
qD[@NlQLJ))
QDNP_AD@
QdN[[[_[[[Q[[[)
?QdN[[[_[[[S[[[)
QDNSDC[S
QdN[[[U[[[J[[[a
QdN[[[Y[[[a[[[
QdO[[[][[[
QdO[[[5[[[
QdO[[[7[[[
QdO[[[E[[[D[[[
QdO[[[F[[[D[[[
QDOMCGAO
@QDOMZSMCKPL
Qd][[[O[[[N[[[
QdO[[[N[[[
QDOQNSSKBNO
QDOXAHO]Z
QDOYXBNL
QDOZNZCHX_NA@
QdP[[[_[[[
QdP[[[A[[[z[[[
QdPDxREy
QDPGJGXJ
QdPhRoRnR
QdP[[[J[[[
QdP[[[_[[[O[[[
q@@@@@@@@dp@P
QdP[[[w[[[h[[[
QDPZSMOLLJM
_QDQGGJOYDB
QdQ[[[H[[[B[[[ga
QdQ[[[H[[[O[[[
QdQ[[[M[[[B[[[V
[QD[Q_@NNFNB
QDQQ[O]NPD@@
QdQ[[[][[[S[[[
QDQYDZNPQCO
QdS[[[][[[
QdS[[[B[[[
@qD@sB@D
QDSCAQD[BHCHGCP]
Q_DSGADEL
[q[[[d[[[s[i[k[o[l[w[o[r[w[
Q[D[SLLYDPJ_O
QdS[[[o[[[b[[[	
_QDSQNHP
Q(dSSWBV
q@dS[[[V[[[T[[[
QdT[[[b[[[
QdT[[[c[[[
qdT[[[C[[[q[[[
Qd@[[[t[[[h[[[
QdT[[[J[[[H[[[
QdT[[[n[[[
QdT[[[n[[[l[[[
QdT[[[Z[[[
Qd][[[|[[[u[[[H
Qd@[[[U[[[K[[[
#qdU[[[K[[[i[[[u
q(dU[[[M[[[
QdU[[[M[[[
qDuplicate
QdU[[[t[[[
QdU[[[w[[[
QdU[[[W[[[
QdU[[[Y[[[
Qd@[[[V[[[
QdV[[[R[[[B[[[
QdV[[[t[[[o[[[
QdV[[[_[[[W[[[
QdV[[[W[[[A[[[
QdV[[[y[[[|[[[Jt
QdW[[[@[[[
QdW[[[0[[[7[[[9
q|d(w|dHv|d.h
QdW[[[K[[[
QdW[[[o[[[
QdW[[[W[[[N[[[lK
QDXAC]HDP
QdX[[[d[[[
q]dX[[[e[[[
'Qdx[[[E[[[
QD]XHLZX
QDXHQZPBP_YQ
Qdx[[[:[[[?[[[M
QD[XPQ][J
QdX[[[r[[[q[[[
Qdx[[[V[[[H[[[
QdxxyxR9
Qdx[[[y[[[x[[[
QdX[[[Z[[[
Q'*dY[[[
QdY[[[_[[[
QdY[[[1[[[7[[[
QdY[[[c[[[
QDY]DKCLZBSBB
QdY[[[e[[[
QDyEyEyEyEyEy
QDyEyEyEyEyEyPcWS
QdY[[[f[[[
QDYHPA_M
QDYHPGDG
QdY[[[p[[[
Qdy[[[s[[[
_Q]DYSDQKYMY
Qdy[[[][[[S[[[XX
qdy[[[T[[[I[[[XX
QDyVs@SS
Qdz[[[![[[
Qdz[[[][[[
QdZ[[[#[[[
QdZ[[[7[[[
Q[DZ]C[LZHG]N
QdZ[[[D[[[c[[[
Qdz[[[F[[[w[[[
Qdz[[[J[[[z[[[
QDZ@LQLJ
QdZ[[[m[[[
q_dz[[[M[[[C[[[
QDZMNG]C
QdZ[[[S[[[
QdZ[[[v[[[h[[[
QdZ[[[w[[[
Qd@[[[z[[[x[[[K
[q[[[e[[[
[q[[[E[[[
Q")||||e|||||||
qe_6ggfw
"qe7bgfGf
Qe9igfGI
QEAQQYXP
Q]EAXDZL
qeB[[[#[[[
Q@EBKQBZY
QEB[SNA]MXSE
QeB[[[U[[[
QEBXOAQL
]]QECCDXH[Z[_P[
QECOYZ_PBJ
QECPM_[_M]HGC
QeC[[[U[[[
Q]ECYMCNZH@BG
QEDdD[[[3[[['[[[I
qEDdHJ[FjHEE
qEDdHJ[FjHEEeFFY))
qEDdHJ[FjHEExh))
QEDdU[[[
Qe-dJ[[[
qeD[[[N[[[
qEdP[[[q[[[m[[[
[[[Q	Edy[[[
QE_D[[@YJ
qEdZ[[[8[[[
Q_[EECCALO
QEEDG_KZ
QEE]D]HSLL
QEELYLDSHSQ
QeE[[[x[[[
QEEYPOXQPDONNJ]OCZE
QEFE@JF[L
QEFFNM_[
QEFH_DP@JLQ
]Q]EFJHE
Q)))E@GB
QEGE_HSG
	"Q!egfGNj;
Q_egfG x
QE_G]]F[N[
QeggpgfG]
QE*giggfw
qEgiggfwT
QEG_OXL[BX
QEgqggcnuDt
qEgScgfG
_qEgUngfG
QeH[[[.[[[-[[[
QeH[[[1[[[
[QEHBZHO[Z[
QEHCM@YALD
QEHDYQHNOGMZ
_QE[HKHSYZ
QEHQJYPZNL
QeI[[[:[[[
qeI[[[n[[[
qeI[[[R[[[H[[[
QeJ[[[1[[[4[[[
QEJ]ABAPKBF
[[[?[[[qeJdV[[[
qe][[[k[[[
qEKAAAA3
@QEKCKEQ
QEK@GH[P@GMLQ
qeK[[[Q[[[
Qe][[[L[[[D[[[H
QeL[[[G[[[c[[[
Q]E]LG_O
Q[_EMAXE_
QeM[[[F[[[i[[[
QE]MMQDYB
QeM[[[@[[[s[[[
[QEMY]@LYHYOAL[Q
QEMZXMH]B
qEngineReportGuid
)qe	NOgSggfGe	NOgqgg
Q[ENYP@B
qeO[[[a[[[
qEoAAAA3
QE[_OEXCXHC
Q_EOKLMSK_
QEOMDXFY]
QEO[OHGSZMJM
QEOOPOKP
Qe_[[[p[[[
qEpgppepqs
QEPJMSYYLGSX
QeP[[[K[[[A[[[
QEPPAYSK
QeQ[[[.[[[
QEQBKFCZ[L
Q_E[QHBJ[M
QEQKOZFDLE
QEQLJQD@OYS
QEQOZKBG[OPK
Q]E[Q_PQ]
qeqqaq-6
qeqqhq-6
QEQ]YC]O
'QEQ ]Z2
Q_EQZZNOLQE
QeR[[[)[[[.[[[#
QeR[[[a[[[
QeR[[[N[[[
qErrCode
qErrorCode
qErrorMessage
qErrorType
QERRSSSSS
QESD_OZJXXSOONASGGGL
qeT[[[![[[
QeT[[[8[[[
QETxB_BDE
QeV[[[G[[[
-Qe|vodo7ogo
q|e(w|hHv|z
QEXAAHQCZDOG
qExCllllllllmllllOllylm
qExcluded
Qex[[[l[[[
QEXM[YALMA
qExpectedCount
QEyAE@YAE
QEyAI@_AI
QEyAK@TQ(XSSWAKs
QEyAOEJ9
QEyAVsSRSS
QEyBBvsSQSS9
QEyBrsSCSS
QEyB|sSCSS
QEyBUOdQEyBUKfQEyQBVLK
QEyB@(USSW@ABAsS
QEyBVLw9
QEyBYLA9
QEyBYZdHBYBEgFQBF
QEyBZ(TSSWsS
QEyBZ(USSW@[B[sS
QEyE@pE9@qEB
QEyEPL]9
QEyEXDYQPUsSCSS	sSSS
QEyEXEYE@@AL@ABA
QEyEXEYE@EAL@FBF
QEyEXEYE@YAL@ZBZ
QEyEyEyEyEyPcPScSSSSSSSPs
QEyEYP_P
QEYF]A]PDF
QEyLBACs
QEyLBArs
QEyLBARs
QEyLBA[s
QEyLBA]s
QEyLBA_s
QEyLBASs
QEyLBATs
QEyLBAUs
QEyLBAVs
QEyLBAWs
QEyLBAXs
QEyMXxsEVgOP@_B_
QEyPK7PD7
QEyP[MsSSS
QEyQBVBY
QEyQ(PSSW_[
QEyQ(PSSW@_B_s
QEyQ(PSSWs
QEyQ(PSSWss
QEyQ(PSSW@UBUsCtSS9fQEyBUs
QEyQ(QSSW@BBBLZeQEyBA(USSWs
QEyQ(QSSW@EBELadQEyE@YEBE
QEyQ(QSSW@GBGLZeQEyQ(VSSW(USSW@wBws
QEyQ(QSSWL
QEyQ(QSSW@TBT
QEyQ(@SSW@ZBZ@UBU@WBU
QEyQTIsSSS
QEyQ(VSSW_[(
QEyQ(VSSW@IBI(USSWs
QEyQ(VSSW(nSSW@WBWXTYT
QEyQ(VSSW@TBT(
QEyQ(VSSW@UBU(
QEyQ(VSSW(uSSW
QEyQ(VSSW(USSW@[B[s
QEyQ(VSSW(USSW@KBKs
QEyQ(VSSW(USSWs
QEyQ(VSSW(USSW@VBVs
QEyQ(VSSW(USSW@XBXsSsSS9
QEyQ(VSSW(USSW@YBYs
QEyQ(VSSW(USSWYUs
QEyQ(VSSW(USSWYUsSRSS9d
QEyQ(VSSWXT(USSWYUsSSPS9gQEyUsS
QEyQ(WSSW
QEyQ(WSSWD
QEyQ(WSSWj
QEyQ(WSSWs
QEyQ(WSSW@XBX
QEyQ(WSSWXTs
QEyQ(XSSWQ(YSSWE9sS
QEyTUL]9
QEyUsSRSS9
QEyZOdQEyZKfQEyQBWLK
QEZAH@CH__HNK_K
qezdfKOJFGJH]LGH]L))
qezdzALL]LQJLE))
QEZ[]K[E_AXO
QEZSLQJLE
QEZSNSGM
QE[ZZ[XOB
#qf[[[[[[
[q[[[f[[[
Q")||||f|||||||
QfAAAA@AAAAAC
QfAAAA@AAAAAC5"
qFAAAAAl;
]QFAAXJ]CZJPYGKCSYYBZZCM
QFA@GSE[
qFailurePoint
QFANFGLS
QFBG__CN
QF[BGMYLQCCP
QFBH_N@H
QFBKXD]BK
QFB@@MSSM
QFCAMHXXGCA
QF[C@A[XE
QfcCCNCCCBACCr
QFC[DDLNJ
QFdB[[[J[[[A[[[
QFdC[[[7[[[
QFdG[[[n[[[
[[[qf]dH[[[
QFDKAX_[[
QFDKOLMA]
QFdL[[[	[[[
QFdP[[[5[[[
QFdQ[[[9[[[
Q[f'	edR
qF[eFFY))
QFF]AANNADSZKBH
QFFDDH[]
_Q_FFXKYYXNQ
qf]g	dgfG
QFGGKP_FOJ
_qfggwEl
QFg'mgfG
QfgqggDH
qFgqggLt
QfgungfG
]Q]]FHHLDH@E
QF[H@HYK
@[QFHJJM_ZL
[QFHJQSH
QFHMMS_S
QF_HPNHZ
QFHvM[]J_K
qFHZALEE
qFileName
qFileSize
#QFIpgppepq
qfi(yxixz
qfJ[[[5[[[
q)))_F@JLDH@EZ
QFJNNGPQG[D
QF[JPYAL[
QFJYNQFAA
Qf_K8QMh
QFKCS[SB_DZ_KCB
QFK[NMPJCSBCX]Q
QFKQZEMF]X
Q]FL_BXGKKP
?)))QF[LHQLHQv[L]vFOOZL]
QFLKCJJCOP[
qfllllllllmllllOllylmN2*
qF[mmFz@GZ]HEEL[
QFNACN]B
[QF[NDZB
Q[@FNJMQL
]QFNLYPN
QFNPNYJQ
QFO_BOMF
Q[FOJBP]
QF@PB_NXO
QFPFGOCGD[JJKKBYNG
Qfpgppepqv
[QFQMQEQKY
qfqqWq-	
QfR[[[0[[[
qFriendlySigSeq
qFriendSource
[q[[[f[[[s[h[b[b[r[w[
QFSH_N_CJKG
[q[[[f[[[s[i[k[o[l[w[i[r[w[
Q[FSLKYFND
QFSLSDE_MBA
QFSZJ]KO
')))QF[vK[HGML[
QF[vKP]LZ
?)))QF[vLGJ[PY]@FG
QFXBCAY@E_PNDPS
@QFX_NDZL
@QFXPKDOXJKMOGGGC
qFXwk"6ggfGFXwkgqgg;JP
QF[YDCAGADQH
QF[YDQLBZDSCX]DSJ
QFyT(cQSW(
qF[[[Z[[[K[[[
@QFZSMJMOSBNLX
[q[[[g[[[
Qg0eQKbU0
Q|g1cgfG
qg1ogfGX
"qg3egfG
_qg5dgfG
qg5fgfGZQ zgqgg
#Qg5ogfG
q[[[g62eZ[[[
")QG6Lpg
Q?.g7dgfG
Qg7ggfGp
Qg7ggNwh
Qg7kgfGH
;QG98yyy
qGAAAAA]
QGAA]H[L_COL
q?g'agfG
Qg[agfG[D
Q|gAgg1t
QgAggBgU"
QGAJYXLSNG
QGAOLOYL
QGAXPYQN@JGZFB
QGBDKKHJELACQ
@@QGBFSY
q?g;BgfG
Qg_bgfGI
QgB@@@Hp@mm
QGB]HYNKMQN
QG]BXHXGJQXCA_
QGBXPNH_
QgB[[[Z[[[K[[[
;QgcagfG
_QGCBB[N
QGCC[YQCMBS@B_
q|g]cgfG#
Q[g]cgfG
"qg#cggGUa
@]QG[[CJLCA
QG@cllllllllmllllOllylmo
QGCL_X@DE
_QGCMBQH
QGCQSLGP
Q_[GCYZJOM
QGD[ASZN[MX
Q_GDF@JL
qg#DgfGB
)Qg_dgfGk
_[QGDMK[Y[
QGDNKN@[FZEM
_QGDNN@F
	QgdN[[[t[[[k[[[T
QGDOPLGBEPSNGYXHNKB
Q@[GD[QQJ
;QgdV[[[
QgebgfGz
_QGECLDGG
QgefgfGj
qg#egfGR
QGESQMSSS]KJ[
qgeugfG;
QGEXMGHQD
qgfG[3.]gqggO
qgfG3P2Ngqgg
_QgfG73XIgqgg!
qg'fgfG-
Qg;fgfGG
qg!fgfGj
QGFGHDLZ
qgfG];?Igqgg
qgfGmMp@gqggy)
QGF[GNGD[PBGJEQ[LOZ]X
QG@FGNO[[JL
qgfG@.Nzgqggi
qgfG)!Q8gqgg
qgfG#@qDgqggP
qgfG".tYgqgg
;qgfG v"
qgfGxT5KgqggM
 q:[gfwK
q|gGbgfG
QGGBL]DYGH
QGGD_CYBZ
qgGdgfG"K
QggDgfGr
	#qggegfG
QggegfGrfROgqgg
qggfgfG2g
QgGfgfG5
q)ggfGOV
|QggfGwe@
Qgg!gfG54
qg;ggfGTi
Q -gggfw
Qgggfw8y
QGGJA]KOPOHY_E
__qgGJgfG
qgGkgfGX
Q;gGMgfG
qgGogfGr
?qggqggex
)QGgqggR
QggUfgfG1
qggw*E0UR
QGGX]]ASJA
QGGYAASXXG]L
qG[Gyyyyyy
Q)))GH_H[
QGHP@HYP
@QG]HZM[[
?qgIdgfG
qgiegfG_
QgiggfwH
QgiggfwN
QgIkgfGl
QgI[[[q[[[
qgIwgfG7
QgIzcgw((
Q][_GJAD
qgJ[[[C[[[
QGJD@SNXGLDX
QGJGCAGY_FG
)qg'jgfG
[QGJM_ZK
Q]GKEYD[]EXX]E
QGK_F@JLZ
]qg_kgfG
qg?kgfG*-a gqgg
qg[kgfGE
qgkgfGOV
qg'kgfGQ
	qg?kgfGW
Qg#kgfGZ
qgKgggGC
QGKJMXZP
QgKkgfG]
QGKL_NXHG
QGKPZOECXBY
QGKSXKYS
QgK[[[U[[[
QGLDMDEZM
qgllllllllmllllOllylm
QgllllllllmllllOllylm
QGllllllllmllllOllylm
qgllllllllmllllOllylmqT
QGLYBM_YD
QgMcgfG4
QGM_D[DKGX_OP]S]
Q.Gmggfw
Q_GMHL_NHXB[K_
qgMkgfG'7
qgMkgfG[T
QGMSJ]BAHL
QGMSP]GC]@
QgM[[[x[[[h[[[3X"eW[[[
QGMYJPBCP
QGND]OXZE
Qg#ngfGd
qg	ngfGp
QGNGNXX]
QGNJKHP]F
QGNLHEMN
QGNLQSDBYGY
QGNOJ_QYP]
***]Q]@GO
Q]GO]A@P_QSC
QGOBCQSCOZ
QgOGgfGv
Q_GOJNHANL[GDOB
q]gOkgfG
qgOkgfGW
_QGPEP]]GP]
QGpgppepq
qGpgppepqB
QgPgqgg!
QgP[[[I[[[
Q]GPOGL]CNG
Q@GPOJDJP
QgP[[[R[[[
QGPXQCS[OKOPND_X
@QGQBBXPHEBDYQYQB[YQ
QGQDQYQKJZN]S
)qgqfgfG
[qgqgg1o
qgqgg2V*
Qgqgg)3!
q	gqgg3g
|Qgqgg3*x
Q[gqgg4O
:qgqgg9 
_Qgqgga4
QgqggAJE
Qgqgga?O
qgqggbdb
Qgqggbt_'
QgqggcnuD
qgqggcnuDIq
[qgqgg	CP
qgqggd |
qgqgge3*
QgqggfG5R
QgqggG7MK
		qgqggi
QgqggIA1
Qgqggi-#G
qgqgg?_K
qgqggKSl
QgqggKSl
Qgqggljqg['c
QgqgglXH
Q)gqggMt
Qgqgg!o_
Qgqggo-u
Qgqggo#V"
qgqggOvS
qgqggp4]
QgqggpU4X
Qgqgg;RB
qgqggrXL
[qgqggt)
Qgqgg:T0
Q"gqggtT
QgqggVPI
qgqgg	)W
 qgqggw7
!qgqggWe2M
!QgqggWz
qgqggY[aeB
qgqggyi;
QgqggZH9_
QG[Q[LDP
QGQLZYD]BCL_D@_SPK[P
QGQMHJCP
[QG]QMJP
QGQMXXXJBC]]D_
Q_GQQKHAMN
_QGQ_SN[L
QGQXAJP@M
QGQYG_]J
Q[GQZHOX
QGSBHMGLA]
QgsfgfG#
[q[[[g[[[s[i[k[o[l[w[i[r[w[
[Q@G]SJ]Z
qgskgfG?
"qgskgfGp
QGSLKJPK
[q[[[g[[[s[o[k[b[n[r[w[
QGS_QSXQZD
Q(GSSWLC9
QGSXEPEJM
QgubgfGQy
_QgUcgfG
qGuessSize
Qg#ugfG1
QguogfG5
QgWbgfG35
'QgWdgfGv
Q|gWegfGC
qgwegfGs!
QgwfgfG]c
q"gWggfG'
QgWkgfGL
qgwlgfGvI(
QgwqgfGL
"qg'xgfG9X
QGXHXBOC
QGXJNOJA
QGXJNOXJA
QGXLLMMGQ
QGXM_SBDXNHYGBYFLX
QGXPHJ_]LBGNDXBXMCSKO
QgX[[[S[[[U[[[
QGY@A_CX
QG_YAYSZ
QgycgfGT
QGY[E]BY]
QgyegfG1:g
qgYegfGV|
QgYfgfG_
*QgyigfG
QGYJSDGPQ
QGYKEHMLYBXSXX
QgykgfGY
|QgykgfGZ
QG[YNMOOZONK
Q_GYSGJNOJCH[GM
q]Gyyyyy
qGyyyyyyc9yyyy
]QGZLHME]
]Q]GZLKFO@J
QGZLYOOYJ
]]Q]GZNHZ@ZCAZHYX
QGZNPKSK
QGZ]ZXJC
[q[[[h[[[
[q[[[H[[[
q:':_H__]_
QHADJHPLYAP
QH_AEMABBXLPMX
QHAG_GLJDDB
_QHAMM]O
_QH]]A@_]P_
QHAQ[O[XD[JZ
]QHBA]_QOEBZPL
QHBG]GC[]J_Y]L
QHBKMB[BJXK
QHBNBL[OFKZOSMNFX
QHBPCXSX
QHBQHSYLLB
_QHBYSDOA]MQS]Q
QH_CFM@FHQ
')))QHCHQ
QHDANMG[
QHDBSLZP[
QHDE[LHML[
_QHDEQOMZ
QHDF@A]YCYEMXC_
QHD][HDZ_G
Q)))_H[DLZZHNL
QHDOXCPZL@JHD
]Q[[HD_P
.QHdW[[[
QHDYAGNLGCK
QHdZQLYgZKYxdQLYdZQLagZJYxzQLadZQL7gZIYxHQL7d_Qs
QH_ECG_G
QHELQQZPH
!)))Q@HFD@
Q@HFDHFE_
Q]HFGXHN_SAJ
Q_H_@_G[DZ
Q@HGE@HGNZFY
QHGK]ZON[N
@QHGMPCKFCBC
QHGNXQBSL
qHgOggfw
QHG[OMEC
?qhgqggq
Q)))_H[HCHQ
[QHH[EEP_GPCA
Q@H[]HSSL]
QHHSSOHD
QHJAYXAJ
QhJdM[[[
QhKdL[[[n[[[
QHKGK]_LMA
QHKJUHHKJP
q)))HKLEA@GAHMLZ@GZL]@SHMF[H
QHK@MGCS
Q[HKPLAJNA
_QHKQQKP
Q]HKQYY]OE
QHKXEA_[Y[Z
QHLCFSY[JXLS
Q)))_H[LGJFMLM]LQ]
QHLJM_BO
Q[H_LQ_XLP[
Q@HLQY[LZZ
QHlSSSSSSSSSSSSSSSSSSSS
QHMA[_NB
QHMd[[[[
Q@_H_NGPKZ
QHNG_Z[HJ
#q)]H[NL]
q)))]H[NL]
Q)))]H[NL]
Q[HNLOXY
[QHNLQYPC
QHNMGQ]K
Q[HNMXQMQGPZ]PSZFMCZDLMXD[LZ
-())QH[NZ
)))QH[NZB@EE
QH]O_E[DZ
QHOJB[GKOHHECBPBHAHA
qhpgppepqH
Q_HP[M[A
QHQ]CY[D
QHQDZNNQ
QH@QGNOJPZ
QHQPSLEPXGJQMGONCLYC
QHQSPMBJ
Q(H;Q t3A
Q(H;Q tLA
Q(H;Q tPA
Q(H;Q tRA
Q(H;Q tVA
QHQXKOBGJPEOQ
qHResult
qHRESULT
qHRESULT_FROM_WIN32(status)
Q@@@@@@@@h RgJ
[q[[[h[[[s[b[c[h[k[o[w[o[r[w[
q)))_H[SEF
qHSHT	f	
QHSO[P[@O
Q@HSPZN[
qh:USSUs
QHX_AHMDC_Z
QHXAKNKD
[QHXCNSDX
Q]HXGQXA[@OB[[MF
QHXHQO]GP_
qhxXXXXzzzz
[QHXZHGL
_QHYDX[Q
Q())_H[[YGK_
QHYMHYPJZYNH
QHYMKJJM
Q_]HYNLL
[QHY_QGS[]L
Q[]HYXS]PK
qhyyyyyyyyyyghyyyiyyyyyyyyyyyyyyyyyyyyyyihyyyyyy
qhyyyyyyyyyyKhyyyiyyyyyyyyyyyyyyyyyyyyyy]hyymhyyyyyy
#)))QH@ZALEE
QH@ZALEE
QH@ZD]E[POXJZ
_QHZH@NGKFZ_LFH
qhz-( Hxxxxx
Q@HZKHY_P
QHZNBKOP
_QHZ_NEX
')))QH@ZPGM@JH]L
QHZPLGZB]
QHZSYQD_Z
QH]ZYZSZZQ
q)))HZZL]Z
[q[[[i[[[
qI-3]Y]]y
QI4fIgUggfGI4fIgqggA
qIAAAAAFmk
]qIB@A@2 @
]qIB@A@2 @l
]qIB@A@2 @M
 qId_[[[
[[[ qIdM[[[
[[[ qIdT[[[
 qIdW[[[:[[[
qi!dX[[[
#QIdY[[[
q)))IFMU]
QIg9egfG
Qi_icgfG
QIiEQIiyQIi
qiL]1EDU
QIllllllllmllllOllylm
qimagename
qImageName
qIN@7!@h
qInitProfileMgrFailure
qio egfG
qiPbWvgfGG
qiPg'vgfG
QIQMPHQI]WPP
qiqqaq-8
qiqqhq-8
qIsReleaseMetric
_Q[IsSSS
qIssuer URL
qiubgfGz1I
QIUgAggrd
qiXCCNCCCBACC
qI"((]Y]]
QI'((]Y]]
[q[[[j[[[
[q[[[j[[[3[0[8[.[
q[[[j4XfA[[[
Q@@@@@j@@A@ACac
q@@@@@j@@A@AEac
QJABANOHZBJ[O
QJ_AL@KQ
QJAM_[_ANK
QJA_MNA_
QJA@NE[_PD
Q_JAPGGLZC
QJAXJPGMC[Y
QJAYMQ]BEALF[[JYNNHO@[SYD
_QJ]__BCBKCGL
QJBHJQBJSKM
QJB[[JFP
QJBPDNAJH
QJBQKLPPLSA
Q[JBX[BBXP
QJ[BXGJHQ
QJCAGAELKP
QJCCFEXDOH]DGSY
QJC@HLCL
QJCJ]YJXG
QJCKKGAC
QJCZGEEC
QJDJFPOCY[GY
|QJdS[[[!
'qJdY[[[
Q_JDYPOB
QJEGDBLY
Q]JEJPMMB
QJ]EM@Y_A
@Q[JENMDKY
Q[JFBMLK
[[[qJfdO[[[
]Q]JFGO@N
QJFJKQDJHHH
QJFK[AYYX_
qJFMLe@K
QJFMLE@K
QJFPPKJL
')))QJFYP
)))QJFYP
_)))QJFYPJ
QJgAegfG6
Q@J_G_AZP
QJGCBXD_][
Q[JGD@Q[D@H@Q
QJGEJNPE
QJGOAY_B
QJG]PMNOMOJ
 Qjgqgg!
Qj)gqggCM"
QJGXHMAX]
]QJHAJJE
q"Jhggfw
|QJhggfw
QJhggfwe
qjhggfwY
q)))JHGHM@HG]LLGHNL[Z
[QJHHHAC]P[
qJHHXyx-z
QJ[HJ]F[
QJH__JKHBHFGA
QJHMQESC
[Q_JHOYBPP
Q[JHX]HF
QJHX]SGL
qjhZZL]Z
QJJ_ADGNA
QJJ@BO[FHJPPD
QJJCGMBPQKCN
q@jJhggfw
QJJL@MBG
QJ_KMZNZ
[QJLDHKYNDMDSB
QJLGDHFPKDKMAPP
q)))J[LH]LFKCLJ]
Q)))J[LH]LFKCLJ]
_qjllllllllmllllOllylm
QjllllllllmllllOllylm
QJMCCZ]XC@L[P[
QJMDAPBP
Q_JMJPSB
QJMLKJDHA
Q_J[MQ[G
QJNALAA_Y
QJNGDNMCD]QQ
QJN@[HSAPQK
QJ@NMGZNJ[JGYB
[QJNM[ZF
Q]JOCCDY
QJ[OGLX_
]QJ[OGO[Y
QJ]OHJ_QQ
QJOPDLJPGAE
]]QJOXKO
QJPCODEGMB
Q.j)pgppepqA1
QJPJL[CFDQ
QJPJPPY__HPA
QJPOGN_ED]]
)))QJQ[]@
QJQD@[XOJ
QJQDXQK[
QJQGQFC@
Q_JQJ_Q_Q
qjqqWq-	
QJQSN_OY_MF[OQMQJ
qJq[Tpgppepqr
qJR[[[Z[[[
QJSBKN][
QJS_CLNPACMX
QJ]SSHEL[BQADYZ[GZC
QJSYA_NOA
QJSYKN]LXCE
QJUdK[[[
q:':_J__w_
q;-)_J__w_
QJXCZJZAE
QJX[HY]N
]Q[J_Y@[
QJYAZN[B
Q]JYBGNSGD
_QJYKEP[
QJYLSOMN
QJYMBCGBQASPSAS_
Q_[JYMYG
Q_JYON@Z
QJZ[G]QK
QJZJGJOQSM
QJZKBS]ELMFHNFHEDZO[[
QJZMGZHP
QJ]ZMJNMMKBM
Q_@@JZQY_ASHJJS@
[[[q[[[K
[[[Q[[[K[[[
)]#Q k2k
QKAAJMKNK
Q]_KAFGJOS
QKAHN]_LLMQZ
QKAOKXNHC_XQY
Q[KAQXAO
@Q@K[A]YM_]XOML_J
QKB_ALBBOH[BQK
QKBFHBMJQ[E
_Q_KBGKZ
QKBJNOL]Z
QKBJ_XPL
QK]B]K[]LOSQFQ
QKBNKJO]N
QKBPZGJH@
QK]BZYH[
QKCCFGNQ
Q_KCDPSLPO
Q@KCQGYGCYDAM
QKCXCEB]GZ
Q(KdA[[[
Q]KDALHF[E
*QKdI[[[
qKdI[[[i[[[
)))QKDL_SMHK
qKd_[[[M[[[@[[[
QKDMZEAP@
qKdQ[[[:[[[8[[[
'QKdT[[[
QKd][[[w[[[
QKE[@BY[
q)))KEHZ]@]JF
QKELQY_L
QKFPZGXGD
QKFQFGLLQYEF@]
@QKFXKQSBG
QKFXQOGS
QK_GQ_H[[PXB
_QKGSJ]OGY
QKHALESHN
QK_HBQZXE
QKH@DAQGCZXC_FGSA
Q@KHDBLKK
QKHGODCYEO
QKHH_FZA
QKHJDPB_@
QKHN]MYDHEDSSSG
QkJdO[[[
QKJLBQ]JYX
QKJMLC]X
QK_JYEHPXS
QKJYMAAL
[Q[KKBPONJS_O
Q[KKGSZXZ
QK@KJBNQFB
Q_KKKGAZ
QKKKKOJK
QKK[M]]A
QKK_QFSACNQG
QKKYA_MD
@QKLAMOYY
QKLAQ_B@Y
QKLKH[MSQNY_DS
qKllllllllmllllOllylm
QkllllllllmllllOllylm
QK]MEQXCQG
[QKmggfw
qKmggfwa
]QKMMLQB
QKMO[LLD
QKMZ@CDH
QKNCDPAKZ
QKNC][YD
QKN@PSAO
QKNZQDNKEZHA
QKOHY_YHOB
_QKOKQMHS
QKpgppepq
QKPHCAAPK
]QKP]PNOP_[
QK]PYFNX
')))QK[P_ZYD_@OS
QKQEGYXMCC]ON
QKQGQJJZAK_C
QKQM][ZB]_
QKQOJZKLJK@B
Q]KQQBKOQZ]C[
Q||kQ||XQ||QQ||JQ||BQ||:Q||.Q||"Q||
QKQZCXZJN[@GG
Q[K]SD[AZ
[q[[[k[[[s[i[k[o[l[w[i[r[w[
QKSK]LGOD
QKSLPOMY
QKSXAK]N[
QKSXCZ]]
_.qKV W"d
qkx7d*1_
QK_X]DCC
QKXKYGHSPJ
QKXYNQDCHKH
Q]KYECON
QKyEyEyEy
QKY[@PKSKXXOZ
QKYSQAFQPZ
[QKYYQJK]
]QKY]ZCZQC
QKZNSO[P
[q[[[l[[[
[q[[[L[[[
QLAAAA@AAAAAC
qLAAAAAaq
QLAAP]XDQX]
QlagfGrM
QLAGQY[E[]@KHZSJAQC][@N
QL_AJLGJ[QXNF
QLA@ODFQYL]Q
Q@@@@@lA@P@AEac
QLAQZCAS_Y
qLast Revoke Version
qLatencyMs
QL]AYCOYQNKH
QLAYMA]PC
QLBHHLKLQ
QLB_JH_G
QLBLZOE_KZQCK]M[]OKY
QLBMBBQNLL@
QLC13M1QsSS
QLC73M73y
Q[LCCLYODE
qlcgfGoI
QLCLMPMSA
QL]CNLNE
Q[LCSGEK
QLCZSDOMAX
[QL@DDNZ
QLdJ[[[_[[[][[[
QLDL]OAG
]]QLDNXX
"QLdW[[[
QL_ECK]ZGC
QlEdI[[[j[[[h[[[
q)))LEHGF[[@Z
@QLEJCGZ
Q]L__ELQL
QL_EOAMPN]B
QL[FDHG@HZFBFBFEF
QLFG]G[_
_QLFKYKLB
[Q[LGHDLHMM[LN
qLGJ[PY]
Q)))LGM@HGBL[GLE
Q)))LGM@OL_HE_H[
QL_GOJNLP
qLgqgggBm
QLGYCDPNCSBK
Q_L[GYXANX_OG
QLGZCKM]B
!)))QLGZ_J
QLHA_PSNMLBA
q)))L_HE
@QLHNDPB[@OOXZ
QLHNKC@PA
QLHZ[CK]QF
Qliggfw2
QLJAFHHLHGNHHHCBAHHHHHH
QLJDYEBDHDN_
QL_JECNHKME[
QLJ[QZNNCB
QLJSBNSL
QLKCQHJCY
qLkgOcgfG
QLKH]FFEZZZFFF
]QLKMBFK
Q[[L[[[K[[[q[
QLKSCNSEQXPXK
QllllllllllllwMO-
qlllllllllmllllOllylm
QLllllllllmllllOllylmP
 qllllllllmllllOllylm
"qllllllllmllllOllylm
;qllllllllmllllOllylm
q	llllllllmllllOllylm
q(llllllllmllllOllylm
q?llllllllmllllOllylm
q]llllllllmllllOllylm'
qllllllllmllllOllylm
qllllllllmllllOllylm[
 QllllllllmllllOllylm
!QllllllllmllllOllylm
#QllllllllmllllOllylm
:QllllllllmllllOllylm
@QllllllllmllllOllylm
] Q"llllllllmllllOllylm|
|QllllllllmllllOllylm[
Q!llllllllmllllOllylm
Q#llllllllmllllOllylm
Q'llllllllmllllOllylm
Q?llllllllmllllOllylm
Q_llllllllmllllOllylm
QllllllllmllllOllylm
qllllllllmllllOllylm#1
qllllllllmllllOllylm1
QllllllllmllllOllylm3h
QllllllllmllllOllylm4
qllllllllmllllOllylm4w?
qllllllllmllllOllylm.5
qllllllllmllllOllylm6
QllllllllmllllOllylm6
QllllllllmllllOllylm7c
QllllllllmllllOllylm7E
QllllllllmllllOllylm8
qllllllllmllllOllylm9
qllllllllmllllOllylma
qllllllllmllllOllylm#aq
qllllllllmllllOllylmc
Q]llllllllmllllOllylmc
qllllllllmllllOllylmd! 
QllllllllmllllOllylmd
QllllllllmllllOllylm"D?
QllllllllmllllOllylmD
QllllllllmllllOllylme
qllllllllmllllOllylmF
QllllllllmllllOllylmf
QllllllllmllllOllylmf6E
Q@llllllllmllllOllylmfrY
qllllllllmllllOllylm)g0
;QllllllllmllllOllylmh
qllllllllmllllOllylmj
QllllllllmllllOllylmK
qllllllllmllllOllylm#l6
QllllllllmllllOllylmlM!#
qllllllllmllllOllylmmM
QllllllllmllllOllylmN
qllllllllmllllOllylmO)
qllllllllmllllOllylmp
QllllllllmllllOllylmPo
qllllllllmllllOllylmq
QllllllllmllllOllylmq
QllllllllmllllOllylmR
QllllllllmllllOllylm'rq
qllllllllmllllOllylmT
QllllllllmllllOllylmv
QllllllllmllllOllylmVU
QllllllllmllllOllylmw
*QllllllllmllllOllylmy
QllllllllmllllOllylmY
qllllllllmllllOllylmy|V
qllllllllmllllOllylmz
qllllllllmllllOllylmZ
qllllllllmlll]Y]]
Qllllllllmlll]Y]]
_QLLMSKMG]B
q)))LLQLJ
QLLQSEDQQP
QLLQXLKB
]QL]MHL[
QLMHOBHZP
Q_LMHO]Z
QLMMECJ_ZSQ_
QLMMKLJA1
QL[MMMMGPH
Q]LMPANYQ@
[QLMXO_[MG
Q_LNCZPJAJ
Q]LNZBYS@C@DSCXO]D
QLOF[GLX
Q]LOJKLYNC
QLOP[S@[X]CNH_DOLFCQOY
QLOSMBXH
QLO@Z]OCN
QLPDHGE[@OD]XNK[_YSJBNES
QLPECOQJOL
q@@@@@Lp@em
QLPKPFL_Q
QL_PO_ZXG
QLPQZ_JEOZ]QAL
QLPSOSYQ[]CBK
]QLP[XZO
QLPYZJDBH[
QLPZ@YKD
QLQ]GQLLCS
QLQNQQPG
QL[QOLSHY]HA
QLQQMXZA[ES_QHY
QLQXBPZN
q)))@LQYEF[L
QLQYEF[L[
q)))LQYHGMLG_@[FGDLG]Z][@GNZ
[q[[[l[[[s[j[k[k[h[n[j[w[o[r[w[
QLSLK[C]KAQ]_
QLSOQDLGGPO
qlSSSSSSSS
 QlSSSSSSSS
qlSSSSSSSSF
QLSSZPDPYKEJEZK
Q'lvegfGd
qLx3_]-07:D)
QLX@D]ANO
QLXDBC]Z
QL_X_JK]J
[QLXOAYQ_KSJ_
QLXYOY]YXX
QLYBH]QAJ[BQAEB
_QLYBYBPJX
QLYCBMAQK
q())[LYEHJL
Q@LYHQKE
QLYJNNM_JBQNXBE_XL_
QLYPD[MYJ
QLYPZ[SPD]B
QLZ_[[BXMCL
QLZFJ_OZAKY
[q[[[m[[[
[q[[[M[[[
"||q#||]#||M#||0#||
Qm.0?:#i
Q[[[m1Pe[[[[P[[[
QMABQE@S[Y
QMAGYAPQ
Q_MA_KGDOB
QMAMZDJBDCAD@P_BD
QMANC_MFQSXYHYNBQMX
Q@MANGLPQ
qMapFullCount
qMaxConcurrentLiveContexts
qMaxDeadNotificationLatency
QMAXQNYPC
QMBAGSSGPKOKGBYOZ
__Q@MBCP_SS]EGQ
QMB]CYOAOFKMGJ
Q@[MB@]Z[A
QM]CANLGJSLKMB
Q@MCCCJNPG[
QMCCD[NHLQZMXN
qmC@DC2J
Q_MCGHCL[
]QMCNKZEO_XEQFNLS
QMCOPBABP@L
_QM]CYLZEG
@QMCY[YK
!QmD!7]1
QMDA[G]Y
QMDAXDGX
|qMdB[[[
qMd][[[c[[[a[[[Q
Q)))M@DNNLMHGZGL_F@MAFNNLMHGZGL_F@MAF
QMdU[[[A[[[
QMDZ]MPGBOZ
QMD_]Z_ZL
QMECA][D@J[
QMEGYNEPZ
QMEL@BKYJJY
QMEYAKM_EFAKYOO_H
QMFFFOANYZCCH
QMFLJOO_
QMFMCBXZ
QMFXH_XKS
QMGBSSDNCLSJKL]M[M_
qMgGagfG
q!mggfw4]
qmggfw]y
)QMg-ggfG
qmgiggfw.R
Q@]MGJGZ
QMGOOJZPZOJP
_QMGPP]BN
QM[GSB_Z[
QMgslgfGA
[[QMH[AYY[
QmHdK[[[
Q)))MH]H
QMHNHOHPHQHRH
QMHODPYOOXHYFQJQDQO
QMH[YCXJGH
_QM]HYO@LOKNXJZNPSDA]NPKXJNAYYOA
QMJAPGJC
QM_[JKG_
Qmjllllllllmlll]Y]]
QMJLOZKKPQD
QMKEKJSZZO
QMKF]PPN
QMKGS_HNNG
QMKH[BXJ_
QMKHCHLJG[[XB
[QMKO]GBB[J
QMKSMXJXHZL[
QM_LAZNM
q)))ML_@JL
q)))MLJ[PY]LMJFDDHGM
Q[@ML[LQL
QMLOCHCJCA
QM]MCBDXM
QMMHP]L]N
]Q]MMMMKY
QMMOM*YMM
QMMQZXJGBCM[
QMMSAQKE
Q_MNAEEDG_KZ
QMNJSCPDP
QMNNE_NAF
QMOBYY[]DCC
QM[OC]EHOE
|QMOggfG
[QMO]JMZ
@QMO]POKMXOB
@QMOQZCZLZHZZD
qMpGetVersionExFailure
QMPLG@CBCK]
QMPYZX@QA
QMQBM_JGLG]QKDZ
QMQ]NHNZ
qmqqTq-U
@QMQ[ZDJ]]
QM_QZH_A@_FFJYS
QMS_H]FG
QMSJO]NY_
Q[MS]LKD
qmSSSSSSSSSSSS
qmSSSSSSSSSSSSSSSSSSSSSSSS
QMSXBKJOBYXJA
QMSX_@DH
QMXBNN]BH
QMXCDKHZN
]QMXC_QC[K
Q[[[M_Xd_[[[
QMXD_LLSC
@QMX_]MKBSSLY
[QMXPJJXJB
QMYAMGG]QDP]DYX_MZOEQ[GZDAL
QMYDZNXYH
QMYEY[[DH
Q[MYODKCOCY
QMYXZAOB]Q
qmyyyyyyyyyy;myyyiyyyyyyyyyyyyyyyyyyyyyy_myyOmyyamyyyyyy
QMZA]CMJ
QMZDSOGLHK
QMZLKEFONHD
QMZMLCSPAO
QMZNFHDGJJN]PBEJG
QMZNP_]YBDA
QMZOZZYPGCCAJQD
]QMZZ[[DD
QMZZZFCLQLAMCBH
[q[[[n[[[
[q[[[n[[[3[0[8[.[
Qn'3]Y]]
QNA][KENFC
_Q]NAL_BO
QNAN]NBKY
QNAQEC[X
QNASZDCYNHN
q[[[NAWdG[[[
QNAY]QLPD__
QNBA_GFJ
_QN_B[AM@AK
QNBHH[ZFXJ
QN]BJNMHDB_X
QNBKZDMZ
QNBLCEZZFS]GMBFZZLY
Q]NBQAEBZFHZZ
QNCCANJD
qn]CCNCCCBACC
QNC_DPG]LKS
Q[N_CH_@
]QNCMCHJP
QNCQDM]BDJ]
QNCXEZMCPPBGD]ESBC
QNDGHFZMDMMAO
_QNDHXCMEBAHQJ
QNdI[[[N[[[
]QNDK[EJYB
qNdL[[[b[[[g[[[W
QNDOHCNGKH
 QNdR[[[U[[[
QNDXD[AC
_QN]DZ]]
)))QNDZA]H
QNENDA_N
Q)))NE@NS
QNEXHCCYX
_QNF[]HMPLQGD
QNFXGFC__
Q@NFYJG]QS
qNg'dgfG
QNGDG[NKZMS@P
__Q[NGE[SA
qNgfG5#u
?QngfGr[
Qngiggfw
QNGLLJOAH[KGXXYOX
QNGLZZMAMXCY
QNGYKQPP@@B
QNHOKE]P
Q[NHSCBN
]Q]NJB]@[Y@DMSZ
qN!jg)wgfG
Q]NJMMYBZOK[
QNJMQCYFPXS
QNJO]J[]
QNJQDMQNSX
QN@JZLY_XONH
[QNK]AQA
QNKBKDKN
QNKdR[[[
[Q[NKFSH
QNKNJDLEM
QNLAG_HEL
QNLdJ[[[r[[[p[[[
QNLF]MBHOYASQ
QNLHJOQQX
QN]LJL[X
qNllllllllmllllOllylmp
qnllllllllmllllOllylmRB
qnlnmqnjdiir
qnlnmqnkljir
QNLSEDF]ZQH]B_SKMZ
QNM]@A]LJGLL
qnMdO[[[
QnMdV[[[
QN[MG_PS
QNMJPYBAEXE
QN[MKYAG[XP
QN[MNG[MQJLEZHX
[[[Q[[[N[[[N
QNN.1-*3
QNNFO_GQFN
QNN]GYYYJLJXJJ
Q]NNHX_D
QNNJLSGP
QNNKONBS
QNNO]]JG
QNOAOXPGSMFN
QNOFZBJYK]GN
QnogAgg'
[QNOHMHK@Y
]QNOLZB[
QNOP_QDR
Q]NOQC[M
QNOS[GCYOS
QNOSHNN_]
QN]PBYXBYPBOP_XBC]]YGON
qnpgppepq
QNQBFZECXS_
QNQllllllllmllllOllylm
QNQOXFYQ
qNrg9kgfG
qNrg9kgfGd
qNrg9kgfGf
qNrg9kgfGl26
qNrg9kgfGQ
QNSGNQNSC
QNSJQNO_
@Q(NSSWLk
[QN_SSXD[LPZYL
;;)q:':_N__w_
QNXDDBOG
QNXGPZAY@
QNXNF]MBS@AJ
QNXPECK_YKP
[[]QNXZSMKZD[NZ]_JXE
QNY_AHYYLQXMKQGALP
[[[QNYdF[[[
[QN]YEFSJB
Q]N]YHNMHXPKAN
QNY[JJOSB
QNYOSCP[O
QNY]QXGS
QNZ]LC_X
[q[[[o[[[
q:':_O__
q@@@@@o@@A@AAac
QOABNYSO_]
[[[QoAdM[[[
QOAKN_P]HKK@G
Q]OAMQZZXJL]
]QOANKMHO
QOAOYCJYGHK]DC
Q[OAXSC[GSO
QOB[BY[PYSP
qObgfGOV
qObject Count
qO;B[[[Z[[[K[[[M
QO_CAQ_G]O_CP[
QOCCYKKK
QOCDHBA]
]QOCM_YFE
_QOCYPMJA
[QO[_DEJA
qOdG[[[a[[[
qOdH[[[)[[[#[[[
QODHYN_JP
QODKOJEAD
@qOdM[[[
QODNGPNGQK
QODXNYJN
QO]EAMZNSA
_QO]EBBD
Q[_OECCYQ]O
]Q]O@ELLQ@Z]Z
q)))@O@ELZPZ]LD
QOEN[JQAASZLSA
QO[E[ODY
QOEOLPSOE
QOEXJCMS
[QOEYG]]Y
QOFGMZ]P
QOFgqggS
QO[FJD@[
q)))OFQ@]vKHZL
QOFY_DOCGE
QOGD_KMFQH[QHO]A
QOGDOXOGJJH
QOGLPZZF_C
Q*Ogqgg9
qOgqgg'G8i
QOGXJNBZOL
Q)))@O@GZ][
Q[OG_ZBB
QO[HCMNXZZGZ[
QOHFSZQPQPQF
qoHFUC	f
q|oHp|o.s
q|oHp|s?v
QOHQGD_C_B
Q]O]JQCD
qOKCg'cgfG
[[[QOKdZ[[[
QOKEGGOC[S
QOK]GZKOFNYGH[HQLQ
QOKJNDPHY
QOKN]NGON[FXN
QOLCGPPFHX
qOldValue
qOllllllllmllllOllylm
QollllllllmllllOllylm
qollllllllmllllOllylmf#
qollllllllmllllOllylmf4
QOLLMOHJO
QOLOCHBAL_
QOLPODC[KSML]Z
]Q]@OLQ@Z]
QOLX[CG_
QOM]C_[M
QOMKNZOS
[QOM@LHFDDXO
QOMMM|GEGPJ
QOMMMOMMM
Q[OM]O[F[GAH]
QONAYYKE[]
QO]N@[GZH
	)))Q[ONOKEBCFHL
Q[ONOKEBCFHL
@QOOAGZ[ZAHJZB
[[[QoOdP[[[#
QO_O[DQN
@QOOHK]EC
QOOLXOLGQ[
QOOOOOOO
QOOOOOOOO
QOOOOOOOOOOOOG
QOP[@AJQAOY@
q[[Op[[Aw[[
qOperation
qopgppepq
Q;opgppepq
Q|Opgppepq
|||]|||||||||||[|||q|||O|||p|||H|||I|||U|||
||||||||||[|||q|||O|||p|||H|||I|||U|||
Q_OPMA]BQLAD
]QOPPLPKC
Q_OPYBFZ
QO?Q;1A:9IIJ"
[QOQB_PC
QOQEF_ZXB[Y_AC
QOqgfG]0
)))QOQJJDO
QOQ]KH@D
QO_QPPYP@
qoqqWqQY	IGX-22
QOQ[SEG@[CG
QOQXANYYXD
Q]OQ]ZCG
Q_@_OSK@
_QOSKFO@Z]D[CY
QOSOZ@KB
QO@SPSSSS[CCZRW
Q(OSSW(NSSWs
Q(OSSWYUD
qOubgfG?
qOufTGEi
qo uqXx xx
qoVgqggC
_[QOXMN]QDECP
[QOXQEPQG]
_QOXQZ[P
QOXXEXCH
QOYAGHMHYLXAX
QOYAGHMYLXEAX
QOYDDGZ[B]HQX
QOY[JLHNF
QOYM[XNSHCO
QOYONFMSSFLA
QOYS_KSMQ
QOYXHZ@Y[Y_
]QOZASQZGM]GKLSSZMY
QoZcgfG.
qoZg'|gfG
QOZMZASYF_O
__QOZQMS
]QOZ]ZBCSACMK]_G]OYL_A
[q[[[p[[[
[[[q[[[P
@@@@@@@@Qp@@@@@@@@@@@
@@@@Qp@@@@@@@@@@
Q@@@@@@@@_p@](
[[[Q[[[P[[[
qP7]TgfG
Qp?8kgwegfG
QP9QPw!H
qPackerName
QPAGGDSXFPA
QPALOCZAMX
QP_AOX[_Z[OC
qPartA_PrivTags
QPASYCPP
QPAZHXX_K
*QPB@@A@h FMHc
*QPB@@A@h OK
*QPBB@A@
QP_BBO_XLY
Q_P_BC]KB
QPB_EOZEND
QP]BF]GD
QP_BKNMOYLSNZZ
QPBSNLBCM
QPBYAH]_OGD
QPBYCSDY
Q_[P[@C_
@@@@@@@@Qp@@@@@@@@@@@ @@C@ACac
QPC_]A_O
QPCMYDEF
QP]CZBYLCK
QPCZD[PB@MDX_OEDLXMPKB
_QPCZHBYBDH
@@@@Qp@@@@@@@@@@@'@@D@ACac
QPDBJNHLCSL
QP_DJSHD
QPDPHXEOG
qp[dW[[[
QPDXHQDBQM
QPdX[[[J[[[H[[[
QPdZ[[[w[[[
Q[PEOKOKKS
[_QPEQLFFCEE
@_QPE[S@JQK
QPEXX[EDZBE[E
QPEZJLSPZN
[QPFS[YLB
QPGABJNDB
QPG@[AHFMNGNOZ
qP@@@@@@@@gpGFu
	qpgppepq
'qpgppepq
:qpgppepq
q @pgppepq
q)pgppepq
q@pgppepq
qpgppepq
qpgppepq!
qpgppepq)
qpgppepq;
qpgppepq[
qpgppepq[(
!Qpgppepq
#Qpgppepq	
Q)pgppepq
Q.pgppepq
Q;pgppepq
Q_pgppepq
Q|pgppepq
Qpgppepq
Qpgppepq!
Qpgppepq#@
Qpgppepq'
Qpgppepq*
Qpgppepq]
qpgppepq1
qpgppepq2
qpgppepq2@
Qpgppepq3
_'Q'pgppepq6*
qpgppepq7
Qpgppepqa
QpgppepqB
qpgppepq|c
qpgppepqC
QpgppepqcQ
	Q?pgppepqD5
qpgppepqF
QpgppepqgO
qpgppepqh2
Qpgppepqj_U!
qpgppepqk
qpgppepqL
qpgppepqM
Qpgppepqm
Qpgppepqn
QpgppepqN
QpgppepqNw
QpgppepqO
qpgppepqQ
Qpgppepqq
_Qpgppepqr
Qpgppepq:R
QpgppepqT22TU
QpgppepqTB
Qpgppepqv
Qpgppepqw
qpgppepqy
qpgppepqY*r-
qpgppepqz
qpgppept
qpgppept_
Qpgppept
qpgppeptO
qPgqgg7[
@@@@@@@@Qp@@@@@@@@@@gqgghmZ
QpgqggKf
@@@@@@@@qp@Gu
@@@@qp@Gu
QPHCJJO[KQ
QPHCZXJH_OL
[[Q_PHMNB
Q_PHNLB]BBEP
QPHO_MXHQO[Z_S
QPHO_MXHQO[Z_SB
QPHPNJSB[C_Z_
QP]HQCHS
_Q[PH]SQJ
QPHX[PMJL
Q[PHYOGPY
QPJGDOCEQJ
qPJggfw G
QP[[JHFNSO
QPJJHOJS
QPJMHLNKEJL_M
QPJNG]FCA
QPJP[XBL@
QPKJYLG_M
QPKKBLM[_X
Q@PK]LM_N
Q_]P__KP__BMZDAOXSZMCSXN
QPKPLP]YMS_
QPKQ@Z@_SLGB
QP]KSAK@SB
Q_P]LCOL
QpllllllllmllllOllylm
QpllllllllmllllOllylmb
q?[PL?rp
qPluginName
QPMSDLMMG
QPNJ_DS]
QPNMG]LHEAZHD
qpnpgppepqO
Q]POAUCOPCW]Y
_]QP[OCQH
QP[_OCZNP
QPOgFgfG
Q]P_OH]DNF
QPOPHMZAM
QPPBGDK[MKCCY
QPPEZANOKMBQZP]GJEQY]MY
QPPG[L[D
_QPP_KN[GLQD_
QP]PMOJB
QPPNZQOSYQ
QPPQNQOG
QP[P]ZEDCXEL
Q_PP_ZG_MB
QPQHSZLDHCBL
QPQQ_YLXB[S_XQLOFJJS[@[]H_C_FZ
?QPQSUPP
Q_PQXDKOD
Q_PQYEZD
QPQZD[GQHSA
Q||pR||Lb||
Q||pR||UR||:R||
(#QPSCH_H
qPSES;qPSDS
QPSGACAGMPF
qPSHSKpPSOScpPSNSkpPSMS
***QPSJFD
[q[[[p[[[s[j[k[k[h[n[j[w[o[r[w[
QPSLEQE]
QPSLOGANS
QPSMOC[N
Q_PSM[QPDAGS]BA
QPSSBssSS
qPSSPLC9
_QP[sSSS
Q(PSSWLO9
_Q(PSSWTsSRSS
QP]SSZDXE
QPSYK]JEQ
qPubSigSeq
@[QPWZ[LC9
QPXBQKDKBHON
QPXEJDZJ
QPXEODOKL]YXJL
QPX#GegfG
QPXLF[PPH
QPXM]KYJJB
QPXSCNQ]ESNJSLYASGS
QPXXZLES
@@@@@@@@qp@Y
QPYBGJOLZ_KM]HBYMJBZP]OGZF
qpyeppySopy
QPY[JONPCZDQ
QPYN[SBMHG
:@@@@Qp@@@@@@@@@@]Y]]T
QPZ_@BSC@OBO]PP
QPZDBBLAO
QPZdM[[[S[[[L[[[
QPZHPSYOM
qpz-( Hxxxxx
QPZJDHXC[
QPZJMYMLQQ
QPZ[KAM_C
?'q@@@@@@@@[pZL
QPZsSRSS9
QPZYYNGS_]JP@B
QPZZGAOS
[q[[[q[[[
Q|||||||||||Q||||||
#qq4@agYbgfG
QQ|5:?'6!
QQAAAAAAAA
QQAAAACCAAOqAAAAAAAAAAAAAANqAAAAAAAAAAA
QQABY_BK
QQA_FQL[Y
QQAGGXGLA
QQAMDNZKONOM
QQAQSKNY]
QQAQ]YSY
QQ]AY_C_]X
QQ[[AZYJHK
QQB_A]_GJYXHOJ
Q_Q[BAKGCH
QQBL]DXOJELA_
@qQBMIsSSS
QQB]MXJH__S
@QQBN_FH
@qQBqLCsSSS
@qQBqsSRSSsSSS
qQCCNCCCBACC
[QQCDZCGE
QQCEGPLL_NG
QQCEL_v@SONQB
Q]]QCMDP__YKEN@NM
QQCPD_AL
QQCQNAO_
QQcQQt!F
qQDdI[[[
qQDdI[[[_[[[K[[[
QQDKCGSCCY
QQdQQJ:)
Q@QdX[[[
QQEAKLABN@N
QQEAMG_A
QQEHBPYA
QQEllllllllmllllOllylm
QQFLHLND
QQFLP]PDYJCP_Z[LSC
QQFNYFJGXBYYN
QQFPY[X]XQ
]QQGDZ___
]QQGG[ANN@E
Q'qggfG53
Q_QGHLJXB[B[YC]XBJNA
QQ?gqgg!
]QQG]QOS
Q[QGXGCKO
Q_QHBDZO_SNA
QQHB_H_J
QQhQQue1Z
QQhZZ@Z]HG]
QQJD]CEZOKDYS
]QQ_JG]J_B
QQJN_MBJMDP
QQJ_PBSB_
QQ_JQMKDFZG
	;qQJtQG
Q[[[Q]KXC
QQKXJP_Y_Y
QQLCXBFDH
QQLGQMHMN]
QQ_LJ]GB
qqllllllllmllllOllylmB
QqllllllllmllllOllylmK
QQllllllllmlll]Y]]
Q[QLODNZC
QQLPDCMJC
QQL_YLG_BCLE
QQ@MDYP[
Q[QMEKHNKKP
qqmgfGOV
QQMLJFML
QQMPYPCA]O
Q[QMQ_JM
QQMQKMC]
QQMSDYXN
]_Q_QMYYXLP
QQNG_NLZ
Q_QNXEOZA
QQOAOAOAM
QQOB@HCC
[QQOCDJO_L_C
QQOHNPMM
QQoo|'*#6
QQOOAJZO]
QQOQF]CH_[KQ
QQoxcgfG
Q[QPCHD]GDPQ
qQpgppepq
QQPJDEJH
QQPP V"'PU#UVXTXVTYU"X VU"  V'Yaaa7aabababa@B14 [#
QQ_P[QL]
QQPSHSJB
|q@@@@Qp@@@@@@@@@@]Y]]
q	qq314_J__O_
q	qq314_K__O_
q	qq314_L__O_
QQQB[LSYZBB[YOQM
@QQ_QFGENLQJHXHH@LLG]QJGQ
QQQJFG][FEYHGLE
QQQJFGON
Q[QQK]DG_
@QQQMFMOSFQC
)))QQQ]Q]
QQQQGQQBQ
qqqqLqqqq
"QQQQQQQHca"KKKA237O282ALA 
QQQQQQQQ
QQQQQQQQMAQ
QQQQQQQQQ_F
QQQQQQQQQQ
QQQQQQQQQQQP
QQQQQQQQQQQQ
QQQQQQQQQQQQQQQQ
QQQQQQQQQQQQQQQQQQQQQQQQQP
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
QQQQQQQQQQQQSSQQ[[
QQQQQQQQQQSH]_JB
QQQQQQQS
QQQQQQQSSSSSSSSSS
QQQQQQQSSSSSSSSSSrHHHHH
"QQQQQQYMAQ
q_qqWqQY	IGX-22
QQQ]Z_SDN
QQSGG]SFP
]QQSGLGDCJKZQH][
[q[[[q[[[s[i[k[o[l[w[o[r[w[
Q]Q]SMQBK
qQSSB@DhIQSSUT
QQSSE]BY
QQSSQ(WSSW@WBW
QQSSsSQSSBD
Q(QSSW@C[BC|
QQUdG[[[
qQUdT[[[
QQUdZ[[[G[[[F[[[T
QqVd_[[[
_QQXADZZQ
QQXNDHD@
"qq"Xzqyyy
QQYEHPL[
Q__]QYGQ
@Q_Q]YHYA@
QQYSFQYY@P@ESXAHSO
QQYXQYJAM[NC
QQY_YLQPEF
QQYZ[HASA_GXA
QQZDN]EKDHH
QQZJX]]HG_
QQZJXNENO
Q[QZM]BEXP_Q
]QQZPXFAXE]AB
[QQZSYAG]B_L
[q[[[r[[[
[q[[[R[[[
qR3:;]xm
qr@@@A@3 ET
qr@@@@Cp@
QRdQ[[[5[[[
qRdZ[[[*[[[
qReportGuid
qResourceSchema
qRetrieveCSIDLPath(CSIDL_PROGRAM_FILES)Failure
qRgaagfGK
Q	Rgqgg_
;QRgqgg0
|qrHIJKLMNO@A
Q|||R||iR||PR||?R|| R||
QRLfggfw
qRoutineName
Q[[[RRXdL[[[
QRSCBYSSS@S
QRSCdQSSS@S
QRSCeQSSS@S6y
QRScfQSSS@S
|q|r|s|l|n|m|o|h|i|j|
qRSSBDK9
QRSsbSSSS@S
QRSSBTI3@Tk
qRSSBVK3@VBUT
QRSSWaaa
Q(RSSWK9
QRSSZLC9
qRSSZWg9BTWg6TP
Q'R'S'T'U'
Q#R#S#T#U#V#W#X#Y#
qRuleList
q)))Ru[]O
Q)))Ru[]O
qRVgqgg!
qrxGxxxGpz
q)))rZPZ]LD
[q[[[s[[[
Qs6gedgfG.
q@S9q@S*q@S
QSAEZYX_Q
qsALHML[)(
QSANCMNSMQAYGJPH
QSANEAH[B
QSAPS][_Z[
Q]SASKNDZ
QSAZ_KDLK
QSBAJsOPSS
QSB@A_SECLFLYOC
QS[BB_GA
QSBE_E9YDPg|DXUQ
QSBE_QXLsYTI9
QSBK_QPPJGFX
QSBLAJZ[OX]SMKA
QsBN(wfgw
QSBOMAXBH
QSBQBAQJC
QSBQPMAKYYOSHAGKPN
QSBQ(VSSW(
QSBQ(VSSW@]B](uSSWK9
QSBQ(VSSWs5
QSBQ(VSSW@UBU(uSSWK9
QSBQ(VSSW(uSSW
QSBQ(VSSW(uSSWK9
QSBQ(VSSW_[(uSSWK9
QSBQ(VSSW(USSWs
QSBQ(VSSW(USSW@YBYsS#SS9fUs
QSBQ(VSSW@WBW(uSSWK9
QSBQ(VSSWXT(USSWYUskmQS9
QSBQ(WSSW
QSBSMKZCKZ
QSBVDfCQs
QSB]WsSRSS9
QSBW]Wf5QLC9
QSBX@YPG
qScanSource
QS@@CBQCMHKMS
QScccLccacJc0
QSCDH]JFPYJCZ@C
QSCE_CPA
qSchemaID
QSCHGESC
QSC_O__SNQ
_QSCPCGL
qScriptName
_[QSCSOBN
qSd[[[[K[[[M[[[2
Q[]SDLGGK
QSEENHJJ]G
_QSEGHDSOH
QSEQMSNGEE
QSESGMQEP
QSE[YZMK[]SD
QSf5[sS3SSd
QSFgQggfG
QSfQEyTsS
QSfQEyZsS
Q]SFQFFJ
QSftLBA_s
QsggfgfGI
QSG]_GXSZYZQH]
QSGKKZHBB
QSGL]SKM_Y
QSgQEy[sS
QSgQEyUsS
[qsgqggb5
qsgwwggG
QSgXB]sS
QSGZYS]ZX]K
QSHF]CSXNKFCXP[LX@J
Q]SHFM@YKL
QSH[H[O_[O
Q[SHKALH[OCGLPPH
QSHKKHSHLKHSHMKHSHMLMSHNKHSH@LMSIHKHSIJLMSIKLMTXVVVTX
QSHLMAEC
Q@SHLY_BS_NHMDONQ
]QSH_NQ]
QSHZM[QGOE@
qSignatureId
[q[[[;[[[s[i[k[o[l[w[h[r[w[
[q[[[?[[[s[i[k[o[l[w[h[r[w[
[q[[[([[[s[i[k[o[l[w[o[r[w[
[q[[[)[[[s[i[k[o[l[w[o[r[w[
[q[[[.[[[s[i[k[o[l[w[o[r[w[
[q[[[?[[[s[i[m[i[j[o[o[w[o[r[w[
qsiwcgfG
QS@JBZJDQ
QSJ_CMP]ZQ[CS
Q_SJIx|B
QSJKKZCCOACZMCSHSHSHZ_QJ_GKKSHZSQJJ_Qi
_Q]SJKOP
QSJPDZJCBBS
[q[s[j[r[
[q[s[j[r[[[
[q[s[j[r[[[?[[[
[q[s[j[r[[[3[[[
[q[s[j[r[[[8[[[s[i[k[o[l[w[o[r[w[
[q[s[j[r[[[c[[[
[q[s[j[r[[[c[[[s[h[b[b[r[w[
[q[s[j[r[[[F[[[
[q[s[j[r[[[l[[[s[o[k[b[n[r[w[
[q[s[j[r[[[q[[[
QSJZOG_J
QSKBNNL_A
QS[KCXNQ]MQFM
QSKdL[[[f[[[
QSK_FO@LXB
QSKJLMXOFXJ
QSKMKS]S
QSKN[JNXNL
@[QsKPSS9
QSKSHB[QKD_H
QS[LDBSGZP
QSLMY[[GAAN
QS_LOYZDSX
QSLZYNHPS
_]Q[SM[A
@QSMADQP
QS@MBBZYQO
Q[S]M]O[B
QSM[ZMZQ
QSMZ_S[MSBZ
QSNAS@PH
QSNDYCNC
QS[N[HL@JPS
[QSNJ_QMB
[QSNL]QKN_
QSOEADGO[B[
_QSOKX@SB
QSOLQK]_JZDDXDN
QSO@P]H[GKODOS
QSOP[LZH
QSOXJBJCDX_G
QS_OYHJB
qspgppepq
qSpgppepq
QSpgppepq
qs-pgppepqP
QSPHA_DX[E_M]J
QS]PHYXA
QSPKBQDX_EZ
Q@]SPKZ_NYYHS
QSPOLGKHAGS
q@SPSSSS[CCZR(
q"Spynet is off when trying to generate AzSubmit feedback report"
q"Spynet is off when trying to generate Url Reputation report"
QSQD__NQZ
_QS_QH[XZ
QSQMKB@SCDQJNZ
qSqqfq-6
qSqqWq-	
@[Qs#QSS9
QSS2SSS9SSS
QSS4SSS1RSS
QSS7SSSsZSS
QSS8TSSOUSS
QSS[9@FT9@]Tj
QSS9SSS#SSS
QSSAa@MAa
QSSAGsS[SSAGsSWSS
;QSSA]LO
 QSSAqLs
QSSBA@BBV
;QSSBADh3QSSUT
QSSBAsSS
QSSB_BAI
QSSBELC9
QSSBGBTD
QSSBHLjn
QSSBJYTF
QSSBLBUn
QSSB[LG9
QSSBNLjn
QSSBOLjn
QSSbQSSk
QSSBs[O9
]QSSB]sS
QSSB[sSS
QSSB@sSS[S
QSSB_sS]SS
QSS[BTn(QSSUK
QSSBt[O9
QSSBT@VkmQSSB[BWgUB[@Wx]B[BVfWBVxQB[@VB[@TBMBG
QSSBULs9
)QSSBVsSSPS
;QSSBWB@
 QSSBWBV
QSSBWBXdQEyBXBW
QSSBWfQEyBW@Ts
QSSBwsSCSS
QSSBWsSCsS
QSSBXsScXS
QSScPSSMSSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSS
QSSCSSBP@OBODh
QSSCSSSCSSSS[SS
QSSCSSSp
QSSD@AUXk
[[[qsSdB[[[
QSSD_E@[k1
QSSD@FUXk
QSSD@GUXk
QSSDPSSPPSSLQSS
QSSdQEyB[D
QSSdQEyBEs"RSSdQEyBYs
QSSdQEyBTs
QSSD@@UXk
QSSD@WB[BO3@Vk
QSSD@WB[@Vk'QSSTH
'QSSE9@BBBBVLi9
QSSE9BUh
QSSE9@EPLK9
'QSSE9@rBrBVL
QSSE@_E@XE@UACELC9
QSSE@HAp@TsSRSS@IBTs
QSSE@HBUW
QSSeRSSvQSS
QSSeSSBQ
QSSE@TUD
QSSE@XE@YE@TBTsSYSS
QSSEyBGK
QSSEYBTZ
QSSfQEyB[
QSS[fQEy[@[s
qSSFSSSWSSSQpSS]SSSVSSSCpSS[SSSTSSSKpSSXSSSSSSSSSSSSSSSSSSSSSSSSSSS-sSS
qssggfgfG
QSSgQEyZs
QSShNRSSs
QSSIQSBEXQLf9
QSSIQSSIQSSSQSS
QSSiWSBQ(WSSW
QSSJQSBWI
QSS[KhpQSS[Jh.RSS[Ih
QSSkJUSSE@TUD
QSSk	PSSZK
QSSk.QSSPsE
QSSKRSSuSSSuSSS
QSSkSCSSPs
QSSKWSSKWSSKWSSKWSSKWSSHRSSKWSS
QSSkxPSS[K
QSSLSSSLSSS
QSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSQSSSLSSSASSSxNUTD9
QSSMUSSMUSS
QSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSVSSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
QSSnRSBQ(VSSW(USSWsSRSS9fQEyQ(
QSSNSSSlSSS
QSSNSSSNSSSNSSSNSSSNSSSNSSSNSSSNSSSlSSSlSSSlSSSlSSSlSSSlSSSlSSSlSSS!SSS
QSSpRSS3SSSbRSS
QSSQBVIsSSS
QSSQBYL_sSSS
QSSQByM9	BB
@QSSQMZB
QSS QSSk
QSS@QSSktQSSKYQD9
QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS
QSSQ(@SSWBC
(QSSQUMsSSS
QSSQ(VSSW(nSSW[
QSSQ(VSSW@UA]I
QSSQ(VSSW(USSWZ
QSSQ(VSSWYU(|SSWAJU(USSWM9
QSSQ(WSSW
QSSQ(WSSWD
QSSQ(WSSWi
QSSQ(XSSWU
QSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSS@R2SSSUS
QSSRRSBW
QSS:RSS1SSS
QSSRSSBQ(RSSW
QSS;RSSp
_Q[sSRSSsSSS
QSS!RSStSSS
QSSSJ_vXHSSQJZ
QSSSRSShQSS
QSSS@S@|
QSSS@S||
QSSS@S1QRSRS3
QSSS@S3RRSRS
QSSS@S6n._RS
QSSS@S6PRSRS
QSSS@S8URSRS
QSSS@S9TRSRS
QSSS@S"A
QSSS@SAu!BRS
QSSS@SaURSRS#
QSS[SSBL_
QSSS@Sb_RSRSc
QSS[sSCSS
QSSS@SDC
QSSS@SEPRSRSc
?QSSS@SEQRSRSS!QSSS@SqQRSRS
QSSS@SetrARS#
QSSS@SFz8ARS
QSSS@SgP[SRS
QSSS@SGx
QSSS@ShQRSRSc
QSSS@SjC
QSSS@SKq
QSSS@SlyMSRSC
QSSS@Smz8ARSS
]QSSS@S]N
QSSS@Snq
QSSS@SOTRSRS
QSSS@SpPRSRS
QSSS@S q
QSSS@S(QRSRS3
QSSS@S!RRSRS
QSSS@S;_RSRS
QSSS@S:[RSRSC
QSSS@SrURSRS
QSS[SSSp
QSS[sSSRS
QSSS@S)[[SRS
QSSSSSS:PSS0PSS
QSSSSSSS
qSSSSSS_SSSSSQSSSSSSS
QSSSSSSSSSSSSSS
QSSSSSSSSSSSSSSS
QSSSSSSSSSSSSSSSSSSSSSS
QSSSSSSSSSSSSSSSSSSSSSSSSSS
QSSSSSSSSSSSSSSSSSSSSSSSSSSS
QSSSSSSSSSSSSSSSSSSSSSSSSSSSdgSS
QSSS@S[trARS
QSSS@S(URSRS
QSSS@S]URSRS
QSSS@SUTRSRSs
QSSS@SVPRSRSS
q_SSS@SVqRSRS
QSSS@SwRRSRS
QSSS@Sy[RSRS
QSSS@SY[RSRS
QSSS@S.z8ARSC
QSSS@S;z8ARSs
QSSS@SZp
QSSS@Szz8ARS
QSSsuRSS@Ts
QSST9@BBBP
QSStarted
QSSTM9	BV
QSSU9@sB[Bs
QSSUI3Yk
QSSUK3Yk
QSSUQ(VSSW(nSSW
QSSUS9QSSUSFPSSUSsPSSUS
QSSVPSBQ(VSSW(uSSWK9
QSSvQSSaRSS
QSSVRSSERSS
QSSVSSSk
QSSVSSS[QSS
QSSvSSSvSSSvSSS
(QSSW(JSSWQM9
 QSSWLs9
QSSwPSBE@TE_QK9
QSSwQSSwQSSwQSSwQSSwQSSwQSSwQSSwQSS
QSSxOBVUK
QSSxPSBs
QSS[XQLSHD_ZQ
QSS[:XT9YUK9
QSSYQ[L_9
QSSYQSSWQSSnMSS
QSSyRSSk
QSSy[SS7SSSRWSS@RSS!RSS
QSSYSSBsZ
QSSYx]TLO
(QSSZsSQSS
QSU2@WBWs
QSU2@WBWsk]
QSU@ABAj
QSU@AQBAMsSSS
QSU@[A_@TZLC9
QSU@[B@AmM
QSUBAs0G
QSU@BBBEm
QSU@BBBEmY[SSUBB
QSU@BBBFh
QSU@BBBj
QSUBBOgXs
QSU@BBYBW
QSUBCHfQEyAGE
QSU@_BCj_WSSBVj
QSU@]B]D
QSU@_B_D
QSUBDXTD9
QSU@_B_EbfZB_
QSU@]B]EbHUB]
QSU@@B@EbOBG
QSU@@B@EbwTB@
QSU@@B@Em
QSU@[B[Em
QSU@_B_Em
QSUBEsBCm
QSU@_B_Fh
QSUBGyEyDy
QSU@[B[H
QSUB@HduUI9
QSUBI2@XULG9
QSU@[B[j
QSU@]B]j
QSU@_B_j
QSU@_B_j1PSSB_E9EEL
qSubject
QSUBKOgQEyLBADs
QSUBNHeWUH
QSUB_OgQEyU
QSU@BQBBL
QSU@BQBBLZ
QSU@BQTJ
QSU@_B_s
QSU@_B_sfX
QSU@]B]sS
QSU@_B_sS
QSU@[B[sS6SS
QSUBTaA]Tv
QSUBTyEy
QSU@BULC9
QSUBWyEyEyEyEyEyEyEy
QSUBWyPcQS
QSUBXHfQEyUs?PSS9
QSUBYOgQEyQ(
QSUBZEfQEyBWEfQEyBWsRCSS
QSUBZhDQSSEYk2QSSBNZ
QSU@CBCBWgnBy
QSU@CBCD
QSU@CBCEmaRSSB[
QSU@CBCJ
QSU@CBTEfQEyZ
qSucceeded
QSU@CQBCLc
QSU@CQBCM
QSU@CQBFLCsSSS
QSU@DUBDK
QSUDyBG@CTLGfQEyTL
QSUDyEyA
QSUDyEyAuD
QSUDyEyAv
QSUDyEyBD
QSUDyEyBH
QSUDyEyBLD
QSUDyEyBLK
QSUDyEyBMs
QSUDyEyB@s
QSUDyEyBU
QSUDyEyBV
QSUDyEyBW
QSUDyEyBWLCe
QSUDyEyBXHgQEyLBAJs
QSUDyEyBXs
QSUDyEyEy
QSUDyEyEyBW
QSUDyEyEyBWsSRSS
QSUDyEyEyEy
QSUDyEyEyEyEy
QSUDyEyEyEyEyEy
QSUDyEyEyEyEyEyEy
QSUDyEyEyEyEyEyEyEy
QSUDyEyEyEyEyEyEyEyEy
QSUDyEyEyEyEyEyEyEyEyEyEyEy
QSUDyEyEyEyEyEyEyEyPcWS
QSUDyEyEyEyEyEyEyPcVS*SSS
QSUDyEyEyEyPcPS;SSSKSSBQ
QSUDyEyEyEyPcWS
QSUDyEyEyLBAWs
QSUDyEyEyPcVS
QSUDyEyEyPcWS
QSUDyEyEyPcWSHVSS
QSUDyEyEyQ(OSSW(NSSW@TBTs
QSUDyEyEys
QSUDyEyLBAas
QSUDyEyLBAbs
QSUDyEyLBAds
QSUDyEyLBAes
QSUDyEyLBAEs
QSUDyEyLBAfs
QSUDyEyLBAFs
QSUDyEyLBAgs
QSUDyEyLBAGs
QSUDyEyLBAhs
QSUDyEyLBAis
QSUDyEyLBAjs
QSUDyEyLBAks
QSUDyEyLBAMs
QSUDyEyLBAns
QSUDyEyLBAos
QSUDyEyLBAPs
QSUDyEyLBAqs
QSUDyEyLBARs
QSUDyEyLBA|s
QSUDyEyLBASs
QSUDyEyLBATs
QSUDyEyLBAUs
QSUDyEyLBAXs
QSUDyEyPcWS
QSUDyEyQ(
QSUDyEyQBU
QSUDyEyQ(VSSW(USSW@wBwsS
QSUDyEyQ(VSSWXT(uSSW
QSUDyEyTDetLBAVs
QSUDyEyTLC
QSUDyEyTLY
QSUDyEyTM
QSUDyEyTs
QSUDyEyTU
QSUDyEyUNd
QSUDyEyUs
QSU_E9[hsRSS[(
QSU_E9[hxRSSUM9
QSUE9@Ux8Ps
QSUE9yPU
QSU@EBEj
QSU@EBELZ
QSU_[EbL[9U
QSUEe E@ZQ(VSSW(nSSW@TBTA[s
QSUEfP[xVs
QSU_[EmbRSS[O
QSU@EQBEIsSSS
QSU@EQBELssSSS
QSUEyBsI
QSUEyE@UBVI
QSUEyE@UE9[geUL_9
QSUEyEXBYM
QSUEyEyEy
QSUEyEyEyEyEyEy
QSUEyQLc9
QSU@FBFEm
QSU@FBFi[
QSU@FBFj
QSU@FBFs
QSU@_FB_h
QSU@GBGEm
QSU@GBGFh
QSU@GBGLC
QSUh0RSSEQ(VSSW(
QSUHbxQ(VSSW(|SSWAYs
QSUhDQSSEQ(VSSW(
QSU_[HeQEyULG9
QSUhNRSSs
QSU@HQBHL_
QSUhtRSSEQ(VSSW(
QSUhZRSSQ(VSSW@ZBZ(
QSUi4QSSQ(VSSWXT(nSSWU
QSU@IBIEbCBWBI
QSU@IBIEbETBI
QSU@IBIEm
QSU@IBIj
QSU@IBIs
QSUiHRSSBVK9	@KQ(VSSW(
QSUiIWSSPLp9
QSUilTSSQ(VSSWXT(nSSWU
QSU@IQBIIsSSS
QSUIsSSS
QSUi(SSSZJ
QSU@JBJEm
QSU@JBJEm)SSSUBJ
QSU@JBJj
QSU@JE9BJh
QSUjIRSSA]L_
QSUjiRSSULrdHTLL9
QSUj[RSSAOL_
QSUj-SSSUL@dKTLB9
QSU@KBKFh
QSU@KQBKsSRSSsSSS
QSUk	RSSAO
QSUKyEyB_E9
QSUKyEyBLD
QSUKyEyB_sSRSS
QSUKyEyB@T
QSUKyEyBW
QSUKyEyBXT
QSUKyEy[D9
QSUKyEyE@IEBT
QSUKyEyE@WEBY
QSUKyEyEy
QSUKyEyEyBY
QSUKyEyEyEy
QSUKyEyEyEyEy
QSUKyEyEyEyEyEy
QSUKyEyEyEyEyEyEy
QSUKyEyEyEyEyEyEyEy
QSUKyEyEyEyEyEyEyEyEy
QSUKyEyEyEyPcWS
QSUKyEyEyLBAVs
QSUKyEyEyPc[S
QSUKyEyEyPc[SWRSS
QSUKyEyEyPcVSU[SS
QSUKyEyEyPcWS
QSUKyEyEysS
QSUKyEyLBAIs
QSUKyEyLBAKs
QSUKyEyLBAPs
QSUKyEyLBA[s
QSUKyEy[Ls9
QSUKyEyQBV
QSUKyEyQ(GSSWLg9
QSUKyEyQsSE
QSUKyEyQ(VSSW_[(uSSW
QSUKyEyQ(VSSW@XBX(uSSW
QSUKyEyUBF
QSUKyEyUDerLBAPs
QSUKyEyUI9
QSUKyEyZBU
QSULBAes
QSULBAfs
QSULBAgs
QSU@LBLEbATBL
QSULKsSSS
QSU@LQTLD9
QSU@LUOh
QSUMsSSS
QSU@NBMs
QSU@NBNEbUBNK
QSU@NBNFh
QSU@NWLC9
QSU@NWLK
QSUPeQEyE@JEP
QSUpSSSSSS
QSU@]QB]I
QSU@]QB]L
QSU@qBqD
QSU@[QI9
QSU_Q[LC
QSU@[QLC9
QSU_Q[LcsSSS
QSU_Q[L#sSSS
QSU@_QM9
QSUQNBZD
QSUQPQLK9
QSU_QscRSS9
QSUQscRSS9
QSU@@Q(VSSW(
QSU@rBrDl
QSU@sBsD
QSUsPoSSh
QSUs	PSSh
QSUs-RSS
QSU_[sSCSS
QSUsSPSS
QSUsSQSSd
QSUsSsSS
QSUsSWSS
QSUsWwSS
QSU@TBBLG9
QSU@TBTD
QSU@tBtEb
QSU@TBTEbdUBT
QSU@TBTEfUs
QSU@TBTEm
QSU@TBTF
QSU@TBTj
QSU@TBTL
QSU@TBTT
QSU@TE9BTh
QSU@TEYQBTsSRSSsSSS
QSUTIatLBA[s
QSU@TQBTLYsSSS
QSUU2@XEs
QSUuA[Es
QSUuAGLs
QSUuA|LC
QSUuAPLk
QSUuAQAW
QSUuATAZ
QSUuBqI9
QSUuBT@_BT
QSU@UBTO
QSU@UBUBT
QSU@UBUBTdUs
QSU@UBUD
QSU@UBUDl
QSU@UBUEbCUBU
QSU@UBUEbiB@BU
QSU@UBUEbIBT
QSU@UBUEbnBZ
QSU@UBUEm
QSU@UBUFh
QSU@UBUFh([SSBUB[
QSU@UBUFhTRSSBUU
QSU@uBuj
QSU@UBUj
QSUuBULs
QSU@UBUs
QSUuBVy[L
QSUuBVy[s
QSUuBW_QBWLCsSSS
QSU@UBXjZQSSBUjQQSSBULr
QSUuB_yBUs
QSUuBYMgfZD9
QSUuBZsRdSS
QSUuD@[BV@WB_@XUD
QSUuD@BWD
QSUuD@yBLD
QSUuD@YBXBW
QSUuDYQLw9
QSUuD@zE@LEB@g
QSUuE9@GQWBv
QSUuE@AUM9
QSUuE@BUBA
QSUuE@Cs
QSUuE@Nx]WLC9
QSUuE@TD_Bv@DBD
QSUuE@WQLs9
QSUuEXEABL?
QSUuEXEW
QSUuEXEYQAQs
QSUuEyAQ
QSUuEyB@
QSUuEyEy
QSUuEyEyEy
QSUuEyEyEyEy
QSUuEyEyEyEyPcPS
QSUuEyEyEyPc[SUTSS6QSBPs
QSUuEyEyPcPS
QSUuEyFyEy
QSUuEyPcTS
QSUuEyPcVS
QSUuEyQTLG9
QSUuEyUTL]9
QSUuEYZ9@MEB_LC
QSUuEYZXT
QSUuE@ZE@_QUMsSSS
QSUUHgAQ
QSUUI|8[
QSUUI9	AD
QSUukaQSSQ(VSSW(nSSWU
QSUukDVSSUQ(VSSW(nSSW
QSUukMPSSQ(VSSW(nSSW[
QSUuk.PSSUQ(VSSW(nSSW
QSUukrWSSUQ(VSSW(nSSW
QSUukvRSSULX
QSUuk:VSSUQ(VSSW(nSSW
QSUukVYSS[LY
QSUuk WSSUQ(VSSW(nSSW
QSUukxPSSUQ(VSSW(nSSW
QSUukYTSS[M
QSUuLBADs
QSUuLBAEs
QSUuLBAFs
QSUuLBAKs
QSUuLBA[s
QSUuLBAZs
QSU@_ULC9
QSU@[UM9
QSUuQBAs
QSUuQBBs
QSUuQB[BY
QSUuQBCs
QSUuQBDI
QSUuQBEI
QSUuQBFI
QSUuQBGI
QSUuQBJs
QSUuQB_K
QSUuQBKs
QSUuQB@s
QSUuQBUD
QSU@UQBUI
QSU@UQBULCsSSS
QSU@UQBUL_sSSS
QSUuQBVs
QSUuQBWH
QSUuQBWI
QSUuQBWK
QSUuQBWL_
QSUuQBWLZ
QSUuQBWsj
QSUuQBXI
QSUuQBXs
QSUuQBYBZ
QSUuQBYI
QSUuQ[BZ
QSUuQBZK
QSU@UQI9
QSUuQLc9
QSUuQLC9
QSU@UQLC9
QSUuQ[Lr
QSUuQ[Ls
QSU@UQM9
QSUuQTBW
QSUuQTLb
QSUuQTLu
QSUuQTMsSSS
QSUuQ(tSSW
QSUuQULb
QSUuQ(VSSW(|SSWE9EE9E9E9
QSUuT@_T
QSUuUL69
QSUuULC9
QSUuULYdtLBAOs
QSUuUpSSS
QSUuUpSSSSSS
QSUuUsSKSSo
QSUuUsSRSSeUs
QSU@UVI9
QSUuV]W]V
QSUuWEaPWxRECQQI9
QSUux2Q(VSSW(nSSWBX
QSUuxDAGsSWSS
QSUuxQEyE@TAHE
QSUuxQEyEyEy
QSUux|Q(VSSW(nSSW[
QSUuxwBUDeLB_
QSUuxXBV
QSUUyEyEyEyEyEy
QSUUyEyQ(VSSW_[(uSSW
QSUUyQ(VSSWsZSS
QSUu[@ZE@[E@T[9@H[BWg1BHQ
QSU@VABs
QSU@VATL
QSU@VB@AmM
QSU@VB@L
QSU@vBvDl
QSU@VBVDl
QSU@VBVEb	BU
QSU@VBVEbTUBV
QSU@VBVEm
QSU@VBVEmuRSSZ
QSU@VBVFh
QSU@VBVj
QSU@VBVLC
QSU@VBVO
QSU@VBVs
QSU@vBvsS#SS
QSU;_VI9
QSU@VQBLIsSSS
QSU@VQBVBX
QSU@VQBVIsSSS
QSU@VQBVLF
QSU@VQI9
QSU@VVI9
QSU@wBtFhUQSSBwFh
QSU@WBWDl
QSU@WBWDloWSSU
QSU@WBWEb
QSU@WBWEbsZBW
QSU@WBWEm
QSU@WBWEm.ISSUBW
QSU@WBWEmqWSSTD
QSU@WBWFh
QSU@WBWFh?PSSBWZ
QSU@WBWj
QSU@WBWj"ZSSBWLY
QSU@WBWLC
QSU@WBWLs
QSU@WBWO
QSU@WBWsSSRSdTsSSRSxQBW_QBU[sSSS
QSU@WBWs|t
QSU@WD@CTM
QSU@]WLC9
QSU@WQBWH
QSU@WQBWI
QSU@WQBWL
QSU@WQBWLCsSSS
QSU@WQBWM
QSU@WQBWO
QSU@WQBWsS
QSU@WQBWssRSSsSSS
QSU@WQL39
QSU@W[QLc9
QSU@WQLC9
QSU@WU[gZk
QSU@WWBW
QSU@W]WD
QSU@WxCZK9
QSU@WZBW
QSU@XBXDl
QSU@XBXE
QSU@XBXFh
QSU@XBXO	K
QSUXpSSSSSS
QSU@XQBXs
QSU@XQBXT
QSU@XQLC9
QSUXQLC9
QSUXQM[LJ
QSUXTEfUs
QSUXTLCdQEyTM	@VULC9
QSUXTLCo-SSSTEm*SSS[
QSUXTsSWSSeDAGsSWSS
QSU@XU9@
QSU_xv]V
QSU@YBYBTM9
QSU@YBYD
QSU@YBYEcZUD
QSU@YBYEm
QSU@YBYEmTWSSE@FZ
QSU@YBYFh
QSU@YBYsS
QSUYE9Uh
QSU[yEyEy
QSU@YQBYBV
QSU@YQBYL_
QSU@YQBYM
QSU@YQBYs
QSU@YQBYsSRSSsSSS
QSUYQLC9
QSU@YTL]9
QSUYUEm2QSSBVU
QSUYUEm.SSSBWU
QSUYUEn@
QSUYUFh5QSSUH
QSUYUFhjRSSPJ9
QSUYUFh*SSSUD
QSUYUjHPSSUs
QSU@YUL|9
QSUYUpSSS
QSU;YUsS
QSUYU@VTj
QSUYUyE9y
QSUYZAULK
QSU@ZBVL]9
QSU@ZBZD
QSU@ZBZEm
QSU@ZBZEma[SSBY
QSU@ZBZH
QSU@ZBZj
QSU@ZBZsS
QSU@ZP@[P
QSU@ZQLC9
Q@SVP@S@P@SrP@S|P@SnP@S
QSWARLC.3QSWARsSS
QSW@BBH@CBB
QSW@]B]LC9
QSW@@BZ@AB@
QSW(cQSW(
QSW@DBK@EBD
QSW@DBN@EBD
QSW@FBs@GBF
QSW@qEYAv@ZAv
QSW@TBTL_9
QSW@_T@XB_
QSW@UBUK9
QSW@UBULw9
QSW@VBVK9
QSW@VBVM9
QSW@VBX@WBV
QSW@VEQs
QSW@WBWK9
QSW@wBwLG9
QSW@XBXL_9
QSW@YT@ZBY
QSW@ZU@[BZ
QSXBB]PA
QSXJCZECNB
Q]SXQAMGPS_A_SXGXN]XHL
QSxxxx1xxzxzxzxY[
@QSX]YPP
[QSX@_ZCMJ]DGZ
QSYBQ[JPKC
QSYGAJODMDEN
QSYGCN]XNJJAEL
Q_SYOC@CQM
QS_YOZ_HY
qS@YsSSpS@ZUsS
qSystemFolderLenTooSmallFailure
.Qsyy9tyy
QSZCOZXFZNXK
QSZMOXGG
QSZNOC[NK
QSZ]SXNOXBAX_AA
Q[]SZXAG_B@YBSC
QSZZDYMEH
[[[q[[[t[[[
[q[[[t[[[
)||q*||T*||;*||"*||
)||q*||T*||?*||
Qt0gqgg_
q  T!    2
[q[[[t[[[3[0[8[.[
q@@@@@t@@A@AAac
Q@@@@@t@@A@AAac
[qT@@@@@@A@HpBc
qTaintType
qT@@A@)pEA
"qT@@@@B
Q@@@t@@B@AFac
@qTBDeFBUTD
Q||Tb||Pb||
@_QTB_sSSS
(QTdI[[[
qtg3cgfG
Q?TgfGo 
QtgfGx(T
|Q#tgfG.y
qTggfw2e
Qtgqgg48
qtgqggYNZ
qth@@@@@@A@h LHZ
qthreatId
qThrottled
qTimeMin
'Q@TKTllllllllmllllOllylm
q__TlgCV__
QTLssSSS
qtmS[[[8[[[
qTotalTime
qtouovosG_G
[q[[[t[[[s[i[k[o[l[w[i[r[w[
[q[[[t[[[s[i[k[o[l[w[o[r[w[
[q[[[t[[[s[j[k[k[h[n[j[w[o[r[w[
QTsJpgppepq"
qTsyxfyD:
qTsyxkyD
QTVmpgppepq
qtXdI[[[
QTYL[JUR
[q[[[u[[[
[q[[[U[[[
q*U8g_egfG
qUAAAAAAAAA
q@@@@@u@@A@AAac
Q@UAq@Js
quarantinesize
QuaRescanFileSizeLimit
QuaResult
qUbgfG"z.
QUcccLccacJc0
QU*;cgfG
QUdD[[[q[[[
[[[]qUdN[[[
[[[qu|dO[[[
QUdV[[[G[[[
QUdX[[[i[[[g[[[
(QUdY[[[
QUEDgqgg
QUEDUPUU3QUEDUPUU"QUED
QUED]Y]]
QUED]Y]]j
query aborted
QueryCachedFileHashes
QueryDosDeviceW
QueryDynamicConfigBool
QueryDynamicConfigNumber
QueryDynamicConfigString
QueryFailure
QueryfileAMSI
QueryfileAMSIUAC
Queryfilebootrtsig
Queryfilebootsync
QueryFileCmdLine
QueryfileGenStream
QueryFileHookwow
QueryfileInlineScript
queryfileioavstream
Queryfileprocessrtsig
Queryfileregkeyvalue
Queryfilertsig
QueryFileUefiEnvVar
Queryfilewebscript
queryfilewmi
QueryFirewallRule
QueryFullProcessImageNameW
query_import
query_only
queryonly
QueryPerformanceCounter
QueryPerformanceFrequency
QueryPersistContext
QueryPersistContextNoPath
QueryPersistContext: UtilWideCharFromUtf8 failed
QueryServiceConfig2W
QueryServiceConfigW
QueryServiceStatus
QueryServiceStatusEx
QuerySessionInformation
QuerySessionInformationSession
QuerySymbolicLinkObject
QueryUnbiasedInterruptTime
QueryUnbiasedInterruptTimePrecise
QueryWorkingSetEx
question-mark
queuedticks
queueerrorscount
QueueFileChunk() failed
QueueUserApc
QueueVfo() failed
(Q.UgAggW?
quick_check
Quick filter
Q)))uJDM
]Q]UKHZA
QULCsSSS
qullllllllmllllOllylma1
q-ullllllllmllllOllylmJ
qU]llllllllmlll]Y]]
]Q]U@LQU@LQ
QuMdB[[[
quNdS[[[i[[[
Q)))u[]O
quotation-mark
quoted-printable
qupgppepq
Qupgppepq
QuQMHuQHJTuQ
quqpgppepq
)))Q]UQ[UQLUQHU
q"Url reputation report timed out waiting for response."
qUserCount
[q[[[u[[[s[i[k[o[l[w[j[r[w[
[q[[[u[[[s[j[k[k[h[n[j[w[j[r[w[
[q[[[u[[[s[j[k[k[h[n[j[w[o[r[w[
Q@Ux][J	BT
quyApuy[puyqpuy
QU]Y]]!]Y
quyyyyyy
[q[[[v[[[
Q[[[v63gT[[[
qv7XXXX[XXX[XXX
qv||||| 8
qV8LrJhggfw
QvA_]07:D
qV'AAAAAA@AAAAACX
qVaultType
qv!@@@@B@A@
	qVdM[[[
QVdN[[[Y[[[@[[[C'
q[[[#]VdR[[[
QvFdM[[[I[[[N[[[
QV:gAggM
QvgefgfG_
QVg#hggw X
qVGmggfw
qVgqggRL
qvgqggXuS
QVHMyxfy]
QVHMyxny
qVllllllllmllllOllylm
QvllllllllmllllOllylmHb
QVlpgppepq
[[[q[[[v[[[N
QvNllllllllmllllOllylm
q|vodo7ogo
QvOF[DH]
QVP[[[Z[[[e[[[
qv|||||||||||||qv(
qv|||qv||||||
Q||vR||TR||:R||
[q[[[v[[[s[i[k[o[l[w[i[r[w[
[q[[[v[[[s[i[k[o[l[w[j[r[w[
[q[[[v[[[s[o[k[b[n[w[j[r[w[
Qvs'QSS9
_Q[vsSQSS
Q[vsSRSS
?Q(VSSW@ABAv(|SSWAGTM9
@]Q(VSSW@EQB]
Q(VSSW(nSSW[
Q(VSSW(nSSWBVU
Q(VSSW(nSSWU
Q(VSSWs_3S
Q(VSSWs]cS
Q(VSSWsR
Q(VSSWs[SS
Q(VSSW(|SSWABQ(
Q(VSSW(|SSWA[BUA[I
Q(VSSW(|SSWA[BVBW
Q(VSSW(|SSWAOQ(
Q(VSSW(|SSWApQ(
_Q(VSSW(|SSWAQQ(
Q(VSSW(|SSWATQ(
Q(VSSW(|SSWA_UK9
@_Q(VSSW(|SSWB_E9L
Q(VSSW(|SSWBUs
Q(VSSW(|SSWE9EE9E9E9
Q(VSSW(|SSW[Q(
Q(VSSW(|SSWTQ(
_Q(VSSW(|SSWTULC9
Q(VSSW(|SSWUE9sS
Q(VSSW(|SSWUQ(
Q(VSSW(|SSWZE9sS
Q(VSSWsTSS
Q(VSSWsYSS
Q(VSSWsZSS
Q(VSSW(USSWdQEy[I9
@[Q(VSSWYBVI
@[Q(VSSWYU(|SSWAEU(USSWLC9
Q(VSSWYU(|SSWAKU(USSWLK9
Q(VSSWYU(|SSWU(
Q(VSSW@ZU[
QV@@@@@v@@A@AAac
QVVSSS@SS
q|v(w|yHv|
QVX#1(X9
	Qv(XSSWAWULY
((@QvYH]AZ
qV-yllllllllmllllOllylm
QVyxry2716X]
QvyyxyyyEydyuyu
QvyyxyyyEyfyuyu
QvyyxyyyEyiyuyu
QvyyxyyyEyoyuyu
QvyyxyyyEyPyqyq
QvyyxyyyEyqyqyq
QvyyxyyyEyxyqyq
QvyyxyyyEy_yqyq
Qvyyxyyyyyyyufyyhyyy)ypy|y|
Qvyyxyyyzyz
QVzxJx#]
[q[[[w[[[
Q@WAq@BL7@CBW
QWB_sSSS
QWdB[[[R[[[
qwDKjij	
QWdK[[[v[[[
QWg7kgfGX
qwgAggFne
qwgqgg@p
QwgyngfGT
QwKwJwBwJ
QWLcsSSS
QWLCsSSS
qW[llllllllmllllOllylmY
QwngYqgfG
QWogqggr(
qword ptr 
QwPgqggY
Q@WPZ_]QFSKRZZ
QWQQQQWWWWWWWW
Q||WR||TH||PR||5R||LH||0R||
QWSSQ(WSSW
@_Q(WSSWB_dUs
_[Q(WSSWd
Q(WSSW@DBDD
_[Q(WSSWg
_Q(WSSW@GBGs
Q(WSSWYUFh
qwszFileExtension
qwszFileName
QWWPyyyyW
QWWWPyyy
QWWWPyyy1
qww|Y8bd
[q[[[x[[[
||||q|||x
QX73VVVxx]Y]]
QXAEEKAP@QNL
QXAFGBGSH
QXAPGNCL
QXA_YF[NX
QXAYOSPXJKDD
Q]XBBK_QY
QXB[HPGHA]COH
QXBJ[HEQ
]QXCE][JJSP
QXC@]ESXB
Q_]_XCGLQM
QX]CH@[]E
Q]_X[C@J
QX[CSPJNGKL
Q_[]_XCY
QXd][[[e[[[
QXDFQMJHNE
QXDGOGHZS]
QXD[JL]G]J
QXDOOY_D[
_QXD@PKG
QXD]]]SM
QXD@[XESYLY
QXDXHOMNJ
QXEBAH_SG@_XOJ
@QXEZAYDMNG_DDS
Q@XFLJOF_]
QXF]S[XSD
qxgcbgfG
Q]XG_C@DBY
QXGF[_HYX[LS@
]]QXGGEXH[
QXGJDNNJXAABNZ
QxgkhgfG
[QX[GLYJC
QXGPBBXDZ
QXgqgg@ys!
QXGSX[NKEXK
Q_XGXFPKQ[N
QXGZEG[D
QXG[_ZPXNG_]ZKNKJKHMHKL
QXHCQQJGF
]QXHMHDEK_C
QXHN[POAASM
@QXH]@QEE
_Q_XHSMZGMZ
QXHXJAX]
QXHX[JCFBHLSE
QXIAAATJHHKX9
QXJCCDKPDBG
QXJHHIJUJHIMX?
QXJHHLXUXJHH@X(
QXJKBDCQ
QXJLXQFCY
]QXJS_@J
QXJ]Y[A]SXOBNFXH
QXKHCCXAMDFLL]DX]
qXkIkK]Qp]Z_Z
Q||xK|||K||tK||
QXKLLE]N
_Q]XK__XYJ
QXLANCLY
QXLBKL]S
QXLEOY_G
QX_LGZO@D]K
QXL]LBXN
qxllllllllmllllOllylm
[QxllllllllmllllOllylmK
QXLYCYYO
Q_XLZ]Q_
QXMGDD@GKCXK
QXMKFCSMCLCXY_QFSGO[MC[
QXM_L]KDNJ_BH
_QXM_QL]]ENF
QXNKAPZQOQKP
QXO_AQY]_@]
QXOZMZ[@AGFLHC
QXPALKPAOZ]JFYY
QXPBJBJKY
QXPBQX]N[[KOFS
QXPDOMJH
QXPFQZYP
qxpgppepq
Qxpgppepq
QXPPKOLMALHJJ
QXPPQ[X@B[OJAKJAMBY
QXPYBOK@HDXXK
Q@@@@@@@@XpZ[0bg@
QXPZA[_H
_Q[XQBP_ABPG[
QXQJHKNSLM
]QXQPYXOKQD
QXQSNCZZ
|||Q||xQ||tQ||pQ||lQ||TQ||
QXQXAJYL
qxr6ZCYAAU1AKAAAAAAAA
Q||xR||eR||
QXS1QXS#QXS-QXS
_[]QX[SFNQ
QXSKFYPDP
QXSPYELHKH[K
QXSQCN]P
@QXSSKGYZKYKNPJDAMD
QXSSOGHHDMDS
QXSSS@S2"
Q(XSSWAQsS
Q(XSSWAWTL
Q(XSSWPLO9
Q(XSSWTAAM
Q(XSSWTAXM
QXSYPXSKPXSuPXSgPXS
@Q_XS_YS
[QXSYSGMGLPA
Q;XVpgppepq
QXXE]XE]LYY
QXXE[ZEH@MAMSGD[HH
Q[XXGF]S_CL
QXX]GOCEDYK
QXXH_Q]YS
QXXLJADG
QXX[LJ]XO
QXXMMJLF
QXX[NZBX
QXXPPNNL
qxxrPsxxrgdP
QX][XS_QG
Qxxxpx]Y]]6
QX*XXXAXYH
qxxxxxxxxx
Qxxx#xxyxyxyxY[4
Qxxx]Y]]
qxxxyxky0I
qxxxyxpyN'
Qxxx_yx|x|x|xxyx
Qxx]Y]]	8X
Q_XX@YOB
qXxyyyyyyyyygXxyyiyyyyyyyyyyyyyyyyyyyyyyiXxyyyyy
QXXZOCLC
Qxxzx]Y]]
QXYAM__HD
QxycQxyWQxy9Qxy#Qxy
QXYEB_E[
QxyePxyNPxy-Pxy
Q]XYEXBLG
QXYFFZXJ_]QQ
]QXYFKYS
qxygpxy2pxy
QXY]H[EXGGH
qxyipxyZpxyOpxy
QxyjPxyUPxy0Pxy
QXYKNDN[HN
qxykpxyepxyUpxyGpxy7pxy#pxy
qxylpxy7pxy
qxyppxy-pxy pxy
Qxy|PxyYPxy0Pxy
QXYQXQED_JD
QxyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qxyrpxy)pxy
qxySqxy3qxy
QxyvPxy_PxyDPxy-Pxy
QxyvPxy_PxyNPxy1Pxy Pxy
QxyxBy]IX
qxyxpxyupxy(pxy
QxyxSi|v
QXYYAQZOJ]OL
qxyyB|9ih6v
Qxyyiyyyyyyyyyyyyyyyyyyyyyy
qxyyqxyyqyq
Qxyyxyyy
q.xyyyyyyyyy
qxyyyyyyyyy
Qxyyyyyyyyy
qxyyyyyyyyy3txy
Qxyyyyyyyyyyyyyyyyy
Q[XZABGE
QxZgaugfG
qXz-( Hxxxxx
[QXZOZPX
QX[ZPSLCEPM
QxzxwxRRR
QXZ_]XZSXGQN
[q[[[y[[[
q'((]Y]]
q.((]Y]]
Q(((]Y]]
Q-((]Y]]
Q Y)5:21'
qy9Uyy9UyyE
qy9)xyyyyyyyyy
Q@@@@@y@@A@ACac
QYAAE]HO[O
QYACJ[QN
Q_Y]AFBF
qyAFyyyyyyyyyy
QYAMHDMDQ
QYAYPZKJ]KMCJF
qyA yyA yy
QYBOMMZNKN]E@PN_CJ
QYBSHPKH
qybxpy"xpy
QY@CBJNM
QYCD_DJQ[C
QYCD[PKJJ[KB]YN
Q[YCJKPPABZQ
QYC_LCJPCQ
QYCLDSYYYBB
QYC[[SBL
QYDDA]NJSXF
QYDFD@OP_K]
QYDK]HH_SAXCLYYHMN
Q[YDNCJAGXXYLH[HHPKLDC
]@]@QYDQ
Q_YEBD@G_B
q)))YEH]OF[D
_QY[EOQG
)))QYF[]
QyfB[[[([[[
QYF_F@JLZ
qYfgfGOV
QYFJSZMNCBYPPLCY
QyfL[[["[[[
QYFNP_CGCX
QyfO[[[Z[[[K[[[
qyg3fgfG
qyG5qyG2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
[]QYGDQM
Qyg'egfGX.
QyGmggfw;
QYGM[NMX
qY[gqgg@k7]
qygufgfG
QYGX]MHNM
[Q[_YGXYQLLGBK
)))QYH]A]LQ]
QYHA_M]L
Q]YHB[Q]
QYHGMLG_@[
QYHJBL]KLN@G
QYHL]GMZHCJP
QYHMCFJSKKFSLYOJO[_Q
QYHSYXLB
Qy|h*x|t)x|0
Q@@@@]Y]]I
QYIdV[[[
qyIlyyyyyyyyyy#lyyyiyy9lyyyyyyyyyy
QYJS]QQGJ
Q)))[YJvJFG
QYJYAM@AK@QGP
QYJ]YSOCXBA
QYJZQBBMM[NYDHNJN[P
[Q[@[Y]K
QYKDJY_]
QYKJKC_CZMNBN]BQ
]QYK[JL]
QYKOBXMF
QY]KPABB]O[
QYKQQY]B
QYKSH]NYJH
|||Q|Y|	|||L|
QY@L_EMNSJ
|Q|Y|L|H|
QYLKAPQ_@ECJY
QYllllllllmllllOllylmJ
|Q|Y|L|N|
QYLOY]LAH
qy Lqyt]
QYLYSNDBDDC_[
QY[LZZDH@EEFN@Z]@JZ
QY[LZZ@FG
QY[MCEHJ_AJGXSPY
QYMCX]SJXD
]QYMQA[DNQLO_
QYMSXZ]KPLFMA_E
QYMXJBMO
qymxyybI
QY[NAJ]O
Q_YNDQ]MMLMLPL
QYNJXEMLCJ
QYNKYP]]P
@QY]N_NMFBY
QYNYJLNO@O
QY]NYQZX
QY[OAADMD
QYOEGCMP
QYOG_OH]]
QYOHMHJB
[QYONNY[AO
Qy|OSy|d
Q[YOZQJE
Q@YO_ZSCZL
QyPcQSMSSS
QyPcWS.RSSASSBPW
)))QYPDYEP
]_QYP@E_GCXXCDHMM_P
QYPLCBKGLYC
Q_Y@PMHOCML]KQ[J
QYPOXNHK
QYPPHSHM
[[Q]YPSDSPMPD]
QY[P]SYLY
_]Q@YPZ@KE
QYQADSC[
QYQAXKM_Q]Z_EKML
]QYQBSHXGD
QYQEYGGD
QYQJP[ZO
qYqqWq-22
qYqqYq-"
QYQXEJYJL
Q]]YQZMC
QYSB__ZBC]HQN]
-qYS!.kicgfG
][QYSLNQGC
QYS[_OCN
Q]YSPNQQFD[LGZFC
[Q[YSQHJH
Q(YSSWsSSWS9
QYSZAYHXS
qyuoyyyyyyyyyyCoyyyiyyyyyyyyyyyyyyyyyyyyyySoyyaoyyyyyy
Q|yuP|yTP|ygP|yBP|y1P|y#P|y
qyuTyyyyyyyyyy
q|yUu|y0t|y
QYvJDMZALEE
Q]Y]]w]]
Q|ywP|yGP|y
QYXDZ@ZK
[QYXHQPPPZSMN@BDBK
_QYXJXFJMKN
QYX@MXFPOA
QYXNE[X[CNS
]]Qyxqx]
QyxwyWW]
qyxyxybx!";
Qyy1Qyy!Qyy
Qyy7Qyy)_yy
qyy9Dyxyy
qyy9wyyzI
qyyAgyyzI
QyyaPyy'Pyy
[QYYBSMMYM
qyYfyy	hyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyYhxyfZyy
Qyyhyyyyyyy
qyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
qyyipyyApyy
qyyiyyy-qyyyyyyyyyyyyy9yy
qyyIyyyyyyyyyyyyyy9yy
QyylPyyRPyy8Pyy.Pyy
qyympyyUpyy9pyyyyyyQyyy)yyy
QyymPyyVPyy3Pyy
qyy	nyyuI
qyy]nyyuI
Q*Y*YOMOMMMmQ
QyypPyy]Pyy8Pyy
QyyqPyy]Pyy9Pyy
Q|yy|Q|yyB
Q@YYSXNZ
QyySZyyEZyy
QyytPyy_PyyDPyy*Pyy
QyyuPyyXPyyLPyy3Pyy
qyyUyyy;|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
QyyxhypS_m
qyy)xyytA
QyyxyyyyyyyU[yyhyyyyyyy
qyyy54yyzyyy
qyyy8yyyun
qyyyAyyy!n
..qYyyE5yywyB
qYyyIx9x
qyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
QyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
qyyyjiyy
qyyyRyyy
QyyyryyytyyyxyxyyyyyMyyyyyyyyyyyyyyyyyyyyyyy
QYYyxay;
qyyyxiyyAa
qyyyxylx
qyyy)xyysyyygxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyyxyyy
Qyyyxyyy
qyyyxyyyuyyyxyyyyyyy
qy!yyyAI3I
QyyyyelA
q|yyyyiy
qy	yyypI"I
qyy]]yytIW
..qyyyyy..
qy.;yy.;yy
qyyyyydx
qyyyyyfx
qyyyyygx
qyyyyyjx
qyyyyymx
qyyyyynx
qyyyyyQx
qyyyyysy
qyyyyy|x
qyyyyyXx
|qyyyyyxy
QyyyyyyEyyy
qyyyyyy]iyy
QyyyyyyKQyyyyyy
QyyyyyyKQyyyyyyyyyy'H
qyyyyyyQyyy)yyy
qyyy	yyysyyy
qyyy)yyysyyy[yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyy)yyysyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyehyyyyyyyyyyyyyyyyyy
qyyy)yyysyyy[yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyy)yyysyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyyyyy!vyy
qyyyyyy-wyy1
qyyyyyyy
QyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
qyyyyyyyxyyyyyyy
Qyyyyyyyy
QyyyyyyyyAA
Qyyyyyyyy)WI
QyyyyyyyyYi
qyyyyyyyyyy
Qyyyyyyyyyy
qyyyyyyyyyy3H
qyyyyyyyyyy5H
q(yyyyyyyyyyS(yyyiyyi(yyyyyyyyyy-(yyqiyyyyyyyyyyyyyyyyyyyyyye(yyyyyy?(yyA(yyyyyy
qyyyyyyyyyyyyy9yy9W
qyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeeyyyyyy
qyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyyyyyyyyyyYyy
qyyyyyyyyyyyyyyynyyy
qyyyyyyyyyyyyyyyyyyyajyyxyyyoyz
qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
qyyyyyzy
QyyZQyy;Qyy
qyyzyyyyyyynyyyyyyyyyyyyyyyyyyy
QY]ZDMKG_]]
[QYZK_S[
]QY@ZPC_L
[q[[[z[[[
Qz2WSBYUj
]_QZ_[A_
QZag?cgfG
q)))ZALL]
Q)))ZALL]
QZAX]K@CXHN
qZ@@@@B@A@2 @Q
QZBHX_LA
QZBKKLLN
QZBO]P[B_
]QZCBPNY
QZCBXHFJL
QZCDHCQE
Q[ZCEHYAP@BP[AS]
Q@]ZCONLXCC
qzd][[[_[[[
qzdA[[[X[[[
Q_ZDDPYY
?QzdE[[[
qzdF[[[;[[[?[[[
q*ZdG[[[
qzdG[[[J[[[M[[[
qzdJ[[[n[[[
QZDJSH_G]XJJCYKY]HQ
[QZD]NCD_
Q]ZDOFMB
_QZDQGOFAXK
qzdR[[[y[[[
qzdU[[[L[[[
qzdU[[[X[[[
qzdX[[[)[[[-[[[
[QZD[YE[GGJ
QZDYZXMM
QZECBZ@XXKP
qZEcZJ[@Y]jMH]H)(
]Q]Z@ELG]
QZE]vLGN@GL
qzevo@EL))
QZEYSZD@
qZgghgfG
QZgGMgfG
.qZgKfgfG
q_Zgqgg"
qZ-gqggs
!qzgWhgfGEa
qZGyyyyyy
Q_ZGZ__H
]Q]Z]H[]
Q)))Z]H[]
QZHC_A]G
QZH[DO_[
q)))ZH_L]FO@EL
QZHOBYXJQ
QZHOJY_QS
@)))[QZ]H[]r[Q[LGHDLt
[QZ]H[]r[Q[LGHDLtZL[_L[
QZ[J@D]LLEOCAOJ
QZ]JDMLGNX
]Q]ZJ[FKC
QZJHGGL[
QZ[JMS]]XJ
QZJNFXNQSXQXPQQAQKOGOQ
QZJN]PDN
QZJOBODJGSXMA[
QZ_JOZNE
QZJPHPMQDMCQ
Q_[[[Z[[[K[[[
QZ[KB]AADD
[QZKDAQ_ZL]PCC
)))QZKJD
qZKJDhJ]@_@]P
QZKJLNOF
QZKK@SFCNCAOXOA
QZ]KSSKGB_Z]
]QZKSXQSPLOCG
#)))QZL]
Q]]ZLBHKJ[N[_
QZLCQA]CN
q)))ZLELJ]
QZLGQSDY
QZMDDXNL
[[[qzMdP[[[
QZMGN_A[P
Q@Z@MMM_]BP
QZM@QNGC
QZNBZN[N
Q][ZNK[C_G
QZNL_ENCGC
QZNYAHCN_LG
Q]ZNZ_XH]PO_L
QZOAJXMD
QZOALASSBOLAZQA
QZOJQMYP
QZoLjgfG
QZOQ[_X]H][G
QZPAZXAHQJGJ
qzpgppepq
qzPgqggv
QZPLCGSGO]C]LO
Q_ZP[LPD
[QZPQSP[KOJYJNM
QZP[YAMJ
())QZPZ]LD
|QzPzSzRzUz
_QZQHSA[@C_HMLLS
QZQLLHEB
Q[ZQMXLXXXBOYG
QZQ]]MZKHY_C_OPFPJN
QZQPNBOB[GY_
QZ][QZ_[HH__L_O_M_
QZSBF[[MM
QZSEMJGH
Q@ZSZDKN@NHYPCL
qZTdF[[[r[[[u[[[
[]QZXAPLD
QZXGZSLG__CO
Q[ZXMZYC__
"QZXQkIkK]Qp]Z_Z
QZ[XSYKMBKBY
QzxvxJHJVANVIJ@VINNxx
QZxZ[kIkK]Qp]Z_Z
[QZYBSFLF
qzydpzy1pzy
QZYGDNNY
_QZYHMXMPKKC_QZ_S
QZYJCDZD
QZYP[YQMC]Z_PL
Qzyyxyyyqyq
Q_ZZAKGQMSPYQH
]QZZAXBBD
]]QZZDCPGY@[
QZZENQQA
QZZ]KQNLYJS
QZ@ZMJN_FLXPQ
QZZPYQXC
QZZQCZ]JDYD]
]QZZQQYK]KNH
QZZ]SXLLM]MP
_QZZXQEGB
QZZZH]PM
))r))))(
))r)))))
[[[:[[[r
[[[;[[[r
[[[r[[[]
|||||||||r"
r@@@@@@@@
r||||||||||||
r||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
))R)))))
[[[_[[[R[[[
[[[R[[[@[[[
]|||||||R|
|||| |||||||R|
|||||||  R ;
|||||||||||||||||||||||||||R
||||||||||||||||||||||||||R
|||||||||R|
||||||||R|
||||R|||||||
R||||||(
R01cay	3
R0AdX[[[
r0gGmgfGP	URgqgg]
"R0llllllllmllllOllylm
R0llllllllmllllOllylm
(R0pgppepq
R|||||||1
R1A18-_|
R1gAggw6
r1giggfw	
r1gqggev
r1gWkgfG
R1k_dgfG
R1llllllllmllllOllylm)
R1	m5llllllllmllllOllylmR
R1og_igfG
r[[[1oif@[[[q[[[
r1(XXBX]
])R2AllllllllmllllOllylm7
;: ;r2''!caS
#r2fgfGF
R2fllllllllmllllOllylm
r2g'fgfG
*R2gqgg0
R2llllllllmllllOllylm
R2upgppepqUx
'R2]Y]]G
r  3     
R35gqggu
R!39llllllllmllllOllylm
R3AAAACQ@@
R3DdZ[[[
r3g[dgfGG5)
_@[R3G]ngfGU
r3gSqgfG3o
R3H'[:S[N ;
r3llllllllmllllOllylm
R3llllllllmllllOllylmZB
r3pgppepq8
R[[[3;QdN[[[
R@3QSSSSRCXR
R@3QSSSSRCXRe2H
r3rgqgg!
r-4dM[[[
r4fnllllllllmllllOllylmS
R||4H||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
R4J'pgppepqDt
R4llllllllmllllOllylm
R4[pgppepq
R4RBR[RsR
r4TgSfgfGQW
r52:?67SSSSSSSS
r5:?'6!S
r5:?'6!SSSSSS
r5:?'6!SSSSSSSS
r59Tllllllllmlll]Y]]
R5dZ[[[L[[[
R5ffGwy'
r5gg_gfGok
R5gkagfG
R5jgqggN_
r5llllllllmllllOllylm
R[5llllllllmllllOllylm
R5llllllllmllllOllylm
r-5oRVgfG
R5R4R;R:R
[[[R5UdH[[[C
r6gqggId
r6Lgqggl
R?6pgfGf
r ;6??SSSSSSSS
R6up*]MC
r760!*#'S
r760!*#'SSSSS
r77GsggfG
R7dK[[[O[[[B[[[G
R7dK[[[y[[[
R7dS[[[(
R7dS[[[U[[[
R7dX[[[r
R7EgGbgfG
R7g]agfG
R7gqgg[|
R7gqggIR
R7Gyyyyy
R7|KggGbp
r7pgppepq
r7pgppepq(e
R7;pgppepqR
r * 7:!S
r7vOgAgg@
?]R7YR?e()*
[R[[[8[[]
r8llllllllmllllOllylm
R8pgAggC]x
R8@pgppepq
r[[[8sUd_[[[
R8YOMOMOMMMOMMM*YMM
r  9      0  
R9eBBTsQSS
r9ggagfG
 R9"K4-.
r9!)lvGn
r9yyyyyyyy#
r@@@@@@A@
r@@@@@@A@@
R@@@@@@A@@
ra0QgAgg
r@@@A@3 E[H
R@@@@@@A@3 ES
r@@A@7pQD
r@@@A@A0@@@@@@A@@@DBA@P0@@@@@@
r_AAAAAA@AAAAAC
RAAAAAA@AAAAAC
r[AAAAAA@AAAAACO
!]RAAAA@AAAAAC
RAAAA@AAAAAC
RAAAA@AAAAAC	
RAAAA@AAAAAC*
RAAAA@AAAAAC9
RAAAA@AAAAACM
R"AAAAA@AA)qAFh
	@@@@@r@@A@AAac
;@@@@@r@@A@AAac
;|@@@@@r@@A@AAac
?@@@@@r@@A@AAac
@@@@@r@@A@AAac
RAAAACA@A
RAAAACA@AaqAJ
RAAAACACA 1Aa
@@@@@r@@A@AAacoo
@r@@A@AAacoo
rAAAACQAAIqAZAAAAAAAA
rAAAACQ@CIqA
@@@@@r@@A@ACac
@r@@A@ACac
@@@@@r@@A@ADac
@r@@A@ADac
r@@AAh MT
r@@AA@HpBI
R@AA@PpcXJh40
rABLPvEFJHEvDHJA@GLuZPZ]LDuJFG][FEZL]
R]A[F]]EL
r)))AFZ]
rAgchgfG
 rAguagfGu
R|agYrgfGQ
r@@A@h ET
r@@@A@h FN]
R@@@@@@A@h IN
r@@A@h PZTTG
r#@@A@h ST
rAHZA]HKELt
RAHZALZr@t
RaiseException
RAISE() may only be used within a trigger-program
raJhggfw
RAKdC[[[
rA|-LgqGgfGy
R[ALHML[r@Z@DDLM@H]LY[FYHNH]@FGZ]FYYLM
RALHML[Z
RALHYvZY[HP
RallllllllmllllOllylm
RallllllllmllllOllylmMy
rAllllllllmllllOllylmsy
Rallllllllmlll]Y]]
r@@@@@@A@lpdd
())RA@MLSFFDKH[
)))rA@MMLG]HKELt
rA@MMLG[LNBLPZt
)))rA@MMLGY[FJLZZLZt
rA@MMLGYF[]Zt
rA@MMLGZL[_@JLZt
R)))AMOABB
?)))rA@NAY[@_Z
randomblob
Random Forest Classifier model not built or failed
RangeError
RangeError: 
RANGE must use only UNBOUNDED or CURRENT ROW
RANJXFC[GZBMCNBNZXNQ[FCP
Ran out of stack space trying to match the regular expression.
RansomwareDetections
@@@@@RA@O@ACac
r|a(q|aHp|a
RaQgajgfG
rARdEFAULT
(RarSfx)
rARwINcON
RarX64_420
RASCQY@MNSA
Rauao[N(
rawcommandline
rawcommandline_scrubbed
rawequal
RawScanLocations
rawutf8p1
rawutf8p2
r@@A@XpDQ
)))RA]]Yr
rAYtY[LOZr
RA]]YvAFZ]T
RA]]YvJFMLT
RA]]Yv[LOL[L[T
r)))A]]YZ
R]A@ZO@LEM
R@@@@@B@@
R;B1:("W
Rb'2|0AZ
RB]6S;S5ZGH
r@@@@B@A@@
r@@@@B@A@2 @a
r@@@@B@A@2 @HE
r@B@A@2 @Jm
r@@@@B@A@2 @K:
r@B@A@2 @L
r@B@A@2 @m
R@@@@B@A@2 @M
R@@@@B@A@2 @M.)RU@@@@B@A@2 @Lf
r@@@@B@A@2 @N
R@@@@B@A@2 @Q_
rB@A@2 @T
R@@@@B@A@2 @y;
r@BAA@Hp@DL
rBACAHp@J.
@@@@r@@B@AFac
r@B@A@Hp@Cr
r@@@@B@A@Hp@I
r@B@A@JQ@M
R@BA@; L@@@@@
rB]A[LHMM@t
r@B@A@Lp@m
R@@@@B@A@Lp@m
r@B@A@R0@@F@@@@@@@DBA@P0@@@@@@
r@B@A@yp@G
r@B@A@yp@K
RBBBBBBB
r@@@@BB@@Jp@@@@@@@@@@BA@@Hp@F
r@@@@BB@@Jp@@@@@@@@@@@@@@Kp@@@@@@@@@@BA@@Hp@F
r@@@@BB@@Jp@@@@@@@@@@@@@@yp@Du:
r@@@@B@B@Lp@Mbz
r@BB@[ps@@@@@
R@@@@B@C@
r@@@@@BCANpF@@@@@e
r@B@C@dp@C
rBdL[[[r[[[e[[[p
rBdM[[[c[[[
rBdO[[[m[[[e[[[
r)))B@EE
rbEgYggfG
[[[RB"eJ[[[
rbframework(.*)
RBFZDFM[F
RbgfG5I?
RbgfG!|6kgqggv
RbgfG-"7ogqgg
RbgfGbl9
RbgfGE7U
RbgfG-Fe
RbgfGfkdSgqgg
RbgfGg|f
RbgfGGlL
RbgfG?h!
RbgfGi)jOgqgg
RbgfG?]j
RbgfGj54
RbgfG:jA
RbgfGJvE
RbgfGKa7
RbgfGnXp
RbgfGOHv
RbgfGpn:
RbgfGS8v
RbgfGsy6
RbgfG'tU
RbgfGTVn
RbgfG-x!
RbgfGx:@
RbgfGXBdqgqgg9
RbgfGzBK
RbgfGZpCXgqgg
rbggfw;:
R;bggfw 
r@@@@B@@@Hp@J
r@B@@@Hp@KrO5[@@@@B@@@
rBHP@]MLO]L[@HGHA]H[@t
rBHP@]MLO]L[@MLNL[@t
r'B@@@Hp@Q 
rbJallllllllmllllOllylm
)RbJqW)	V
]rbkbjbpblb
RBLP@GMLQ
r@@@@B@@@Lp@vI
rbM[[[e[[[d[[[
rBq6JBP6
rBQllllllllmllllOllylm
@rBrDfQEyBrD
@rBrsSsPSgXBrsS
@rBrsSSRS
@rBr@sxaULO9
@rBsBLBM
@rBTBDgzBKBE
@rBUAtLs
RBUpSSSSS#;
RBWRWJHRHRVRA@RVRINNVRIKW
rB@@@@@z@@B@AFac
RB[[[Z[[[K[[[
R")||||c|||||||
rc1wgfG'
rc1wgfG.R
rc1wgfGu
rc?Agggfw
	;rca)IOggw
RcccLccacJc0
RCdM[[[e[[[
rcgA.gfGCb
@rCgCSCLC2C C[B
!rCgqgg?
r[Cgqggu
@rCkCaCfC_CTC;C*C
@rCLC3C*C
rCllllllllmllllOllylmc
r[[["cQdJ[[[
RcSRSSSSS
RcSRSS!SSSS@S
r@@@C@XpdG_L
rCygGegfG
RC]Y]]-*Y
RCZDvEFHMLM
R)))CZJ[@Y]
rCZJ[@Y]O@EL
[r[[[D[[[
Rd_[[[	[[[
Rd_[[[([[[.[[[
Rd_[[[2[[[
Rd@[[[2[[[1[[[
Rd_[[[6[[[5[[[
:Rd_[[[7[[[
Rd@[[[7[[[6[[[
Rd][[[9[[[
RdA[[[	[[[
RdA[[[?[[[
.RdA[[[?[[[3[[[
RdA[[[A[[[@[[['kNdx[[[
RdA[[[B[[[
RdA[[[H[[[
RdA[[[K[[[M[[[h
RdA[[[n[[[
RdA[[[N[[[L[[[
RdA[[[S[[[
RdA[[[w[[[v[[[
RdB[[[0[[[7[[[
RdB[[[6[[[5[[[)
R||Db||8b||4b||
RdB[[[e[[[
RdB[[[E[[[
RdB[[[i[[[h[[[L
rdblquote
RdB[[[n[[[
RdBp1ea.
Rd][[[C[[[
Rd][[[C[[[A[[[H
RDcgfGj"
]RdC[[[I[[[M[[[M
RdC[[[l[[[
RdC[[[M[[[
RdC[[[P[[[U[[[[[[dI[[[W[[[
RdC[[[S[[[
RdC[[[S[[[R[[[[[[dK[[[
RdC[[[t[[[k[[[
Rd[[[[d[[[
RdD[[[1[[[
RDdA[[[_[[[C[[[
RDDDDDDDDDDDDDDDD]Y]]
R DdL[[[V[[[L[[[
rDdM[[[Y[[[u[[[
rDdW[[[Y[[[
rDd][[[Y[[[G[[[
RdE[[[:[[[
rdE[[[8[[[?[[[
rDeH[[[][[[P[[[
rDeM[[[_[[[
RdE[[[M[[[L[[[
rDe@[[[N[[[
rDe@[[[v[[[t[[[
(RdF[[[:[[[
RdF[[[A[[[
r_dF[[[d[[[
RdF[[[I[[[n[[[
#)))rDFMLt
rDFM@O@L[
RdF[[[v[[[k[[[
RdG[[[7[[[5[[[
RdG[[[A[[[@[[[H
RdgfGxbgTgqgg
Rd[[[[g[[[f[[[o
RdG[[[n[[[l[[[H
RdG[[[Q[[[H[[[
RdH[[[	[[[
RdH[[[7[[[
)))rDH]A
#)))rDH]At
)))rDH]At
RDH@GH[[HP
rDHGHNLDLG]
)))rDH@GtHO@M
Rd_[[[h[[[m[[[
RdH[[[][[[P[[[-
RdH[[[S[[[R[[[
RdH[[[Z[[[
)))rDHZXYLK
rdI[[[#[[[
R[[[DI fB[[[Q[[[
RdI[[[G[[[
Rd_[[[I[[[N[[[
RdI[[[p[[[
RdI[[[R[[[U[[[
Rd_[[[J[[[
r-dJ[[[e[[[
)))rD@J[FZFO]
|)))rD@J[FZFO]
rD@J[FZFO]
RdJ[[[H[[[B[[[
Rd@[[[J[[[I[[[
r@dJ[[[M[[[L[[[T
RdJ[[[n[[[
rdJ[[[P[[[F[[[;
RdJ[[[S[[[Q[[[s
RdJ[[[t[[[
R[[[[[[dK[[[
RdK[[["[[[
RdK[[[7[[[
RdK[[[9[[[
r-dK[[[A[[[@[[[p
RdK[[[d[[[
r-dK[[[e[[[
RdK[[[H[[[
RdK[[[R[[[
RdK[[[S[[[
RdK[[[S[[[R[[[
RdK[[[T[[[
RdK[[[U[[[O[[[|M
RdL[[[;[[[
RdL[[[8[[[
r)))DL]AFM
RDLDF[PrBt
RDLDF[Pr@t
RdL[[[F[[[x[[[I
RdL[[[H[[[
R[DL]KZF
RDllllllllmllllOllylm
rDL]L[LMCZ
R]@DLO[HDL
RdL[[[O[[[L[[[2
rdlSSSSSSSSSSSSSSSSSSSSSSSS
RDLZZHNL
?RdM[[[#
RdM[[[([[[
:RdM[[[2[[[
RdM[[[;[[[9[[[@
RdM[[[E[[[z[[[
)RdM[[[G[[[s[[[3X"eB[[[
_RdM[[[u[[[g[[[
RdM[[[Y[[[][[[
RdM[[[Y[[[_[[[
RdM[[[Y[[[S[[[
RdN[[[K[[[
RdN[[[P[[[V[[[a
RdN[[[Y[[[h[[[
RdO[[[@[[[
.RdO[[[1[[[
RdO[[[2[[[5[[[
RdO[[[3[[[
RdO[[[a[[[
r|dO[[[f[[[
RdO[[[f[[[e[[[
RdO[[[v[[[
;:R@@@@@@@@dp@C
@RdP[[[o[[[
RdP[[[v[[[k[[[
r|d(q|dHp|d
RdQ[[[q[[[
RdQ[[[V[[[
RdR[[[.[[[-[[[
]RdR[[[7[[[
RdR[[[J[[[
RdR[[[y[[[
RdS[[[1[[[
RdS[[[1[[[4[[[v
RdS[[[b[[[e[[[
(Rd.-SdOH
Rd_[[[s[[[i[[[
RdS[[[i[[[
R||dS||IS||)S||
RdS[[[p[[[h[[[v
Rd_[[[S[[[R[[[
RdS[[[v[[[u[[[hmXdB[[[
RdT[[[][[[
RdT[[[E[[[o[[[
[RdT[[[k[[[
RdT[[[Q[[[
RdT[[[V[[[U[[[
RdU[[[*[[[
RduDAgGbgfG
RdU[[[g[[[
RdU[[[m[[[
RdU[[[R[[[K[[[
RdU[[[Y[[[Q[[[
RdV[[[j[[[d[[[
RdV[[[m[[[
RdV[[[S[[[U[[[
RdV[[[U[[[j[[[v
RdV[[[Y[[[P[[[
RdV[[[Y[[[S[[[
RdV[[[Y[[[S[[[E
RdW[[[2[[[0[[[2
@RdW[[[d[[[
rdwlJpihih
@RdW[[[S[[[P[[[?
RdW[[[Y[[[
Rd[[[[x[[[
RdX[[[9[[[?[[[
Rd_[[[X[[[C[[[
Rdx[[[e[[[
Rd@[[[x[[[g[[[
RdX[[[g[[[
r[dX[[[k[[[
 RdX[[[K[[[
|Rdx[[[T[[[
RdX[[[V[[[T[[[
RdX[[[Y[[[Q[[[C
RdX[[[Y[[[R[[[#
RdX[[[Z[[[
r-dY[[[-
R[[[[[[dY[[[
RD'((]Y]]
'RdY[[[a[[[
RDYCgooggG
RdY[[[E[[[
r())@DYF[]SE@K
R@DYL[ZFGH]
)))R@DYL[ZFGH]@FGEL_LE
R@DYL[ZFGH]@FGEL_LE
RdY[[[M[[[
R]DYMDNT
R]DYM@[T
R]DYO@ELT
RdY[[[Q[[[N[[[
RdY[[[Q[[[W[[[0n
)))R]DYTu
R]DYTuCZFGvYH[ZL[
RdY[[[U[[[
R]DYvO@ELT
Rdz[[[ [[[
Rd_[[[Z[[[
RdZ[[[	[[[
]RdZ[[[7[[[
Rdz[[[9[[[
RdZ[[[B[[[
rdZ[[[E[[[
Rdz[[[e[[[
rdZ[[[K[[[
RdZ[[[K[[[
Rdz[[[n[[[
rdZ[[[P[[[
RdZ[[[Q[[[
RdZ[[[r[[[q[[[lm5dF[[[
RdZ[[[s[[[
RdZ[[[v[[[a[[[
Re9pgppepq
Reached max limit for nodes of a tree
Reached max limit for number of decode buffers
Reached max limit of trees
Reached max limit pattern sets that can be loaded
ReadBruteMatchBuffer
ReadClipboard
ReadConsoleW
ReadEncryptedFileRaw
reader function must return a string
read error
Read failed
readfile
ReadFile
readfile_by_handle
ReadFileRaw
readfooter
readheader
readonly.
read only file system
Read-only file system
readonly_shm
ReadPEHeader
ReadPEHeaderRaw
ReadProcessMemory
ReadProcMem
ReadProcMem called to read 0 bytes
ReadProcMem is only available for SMS and Hookwow features
readprotection
reads_vdll_code
read_uncommitted
readu_u16
readu_u32
readu_u64
realfilepath
realfilepath_scrubbed
realpath
realpath_scrubbed
realprocesspath
realprocesspath_scrubbed
reason_ex
rebaseInfoOffset
rebaseInfoSize
recent_flow_count
recent_lbr
recent_norm_error_count
recent_norm_error_rate
recent_pmu
recent_pt
recent_violation_count
recent_violation_rate
recLimit
RecordCount
RecordData
record_high
recordname
RecordName
RecoveredResource
Recreate_1
Recreate_2
ReC[[[R[[[W[[[B
recursive aggregate queries not supported
recursive_triggers
rEdH[[[J[[[L[[[
Redmond1
*[[[R)EdO[[[)[[[
reEdR[[[
reemulate
ReF[[[7[[[5[[[
refanytype
refanyval
ReferenceError
ReferenceError: 
referrer
referrerurl
referrerurl_scrubbed
REFHME@K[H[PT
r)))EFJBLM
REFJBO@EL
R)))EFJHE
REFJHEA@MLvYF[]]DYvYF[]FEMv@OZFEMv@OZ
REFJHEvvO@EL
REFJHEZ]F[HNL
REFJHEZ]F[HNLr
)))REFJH]@FG
REFJH]@FG
reg_block_src
reg_block_usermode
RegCloseKey
RegCreateKeyExW
RegDeleteKeyW
RegDeleteValueW
Reg'dgfG
regedit.exe
REG_EFLAGS
RegEnumKeyExW
RegEnumKeys
RegEnumValues
RegEnumValueW
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
RegExp: 
RegExpandUserKey
regexp_exec
RegExp.prototype.exec() is not a constructor
RegExp.prototype.exec() must only called for RegExp objects
RegExp.prototype.test() is not a constructor
RegExp.prototype.toString() is not a constructor
regexp_test
regexp_tostring
regfG37M
RegfGIUC
RegfGL0N_gqgg
RegFlushKey
RegGetKeySecurity
RegGetValueA
rEgIkgfG2C
RegisterClassW
RegisterConsoleVDM
RegisterHotKey
RegisterInput
_register_onexit_function
RegisterRawInputDevices
RegisterServicesProcess
RegisterTasklist
_register_thread_local_exe_atexit_callback
RegisterTraceGuidsW
RegisterWaitForSingleObject
Registry
RegistryManipulation
RegistryRequestor
registryvalue
RegistryValueDeleteCount
registryvalue_scrubbed
RegistryValueSetCount
RegistryWhiteList
regkeylastwritetime
regkeyvalue
Regkeyvalue
regkeyvalue_scrubbed
RegLastChance
RegLoadKeyW
regnotemgr
RegNotifyChangeKeyValue
RegooggG
RegOpenCurrentUser
RegOpenKey
RegOpenKeyDiff
RegOpenKeyExW
RegOpenSubkey
RegQueryInfoKey
RegQueryInfoKeyW
RegQueryValueExW
RegReplaceKeyW
RegRestoreKeyW
RegSaveKeyW
RegSetKeySecurity
RegSetValueExW
RegShutdown
Regular expression is too large.
RegUnLoadKeyW
regvalue
regvaluedata
regvaluedata_scrubbed
regvaluename
regvalue_scrubbed
rEgWwggG
Re;h-SSSUs
REIFHIME@K[HI[PT
reIgqgg2
REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECTABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVEXISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARYUNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERANGEBETWEENOTHINGLOBYCASCADELETECASECOLLATECREATECURRENT_DATEDETACHIMMEDIATEJOINSERTLIKEMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHENOTNULLWHERECURSIVEAFTERENAMEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMITCONFLICTCROSSCURRENT_TIMESTAMPARTITIONDEFERREDISTINCTDROPRECEDINGFAILFILTEREPLACEFOLLOWINGFROMFULLIFISNULLORDERESTRICTOVERIGHTROLLBACKROWSUNBOUNDEDUNIONUSINGVACUUMVIEWINDOWINITIALLYPRIMARY
R"eK[[[9
r)))@E]L[
.rela.dyn
REL]A]H]LFCB
.relaNAME
.rela.plt
RelatedString
RelatedStringBMReport
RelatedStringFileReport
relatedto
RELATIONSHIP_CREATED
RELATIONSHIPEX_REASON_FLAG_CREATED
RELATIONSHIPEX_REASON_FLAG_INHERITED
RELATIONSHIPEX_REASON_FLAG_INJECTION
RELATIONSHIPEX_REASON_FLAG_NONE
RELATIONSHIP_INHERITED
RELATIONSHIP_INJECTION
RELATIONSHIP_NONE
RelativePath
.rel.dyn
ReleaseDC
ReleaseMutex
ReleaseSemaphore
ReleaseSRWLockExclusive
ReleaseSRWLockShared
REL]HCBY
REL]KP]LZ
r(EllllllllmllllOllylm
RellllllllmllllOllylm
rellllllllmllllOllylmS
.relNAME
relocs_but_no_relocs_flag
relocs_stripped
.rel.plt
?r"eM[[[7[[[)[[[
remainingholdtime
RemapErrorCode
Remediation
remediationcheckpoint
Remediationcheckpoint
RemediationCheckpointReport
RemediationCheckpointResource
RemediationConfiguration
Remediation.LuaResetBcdWmiParameter() expects argument to be number (booleab|string|number)
RemediationStatusReport
RemediationTime
RemediationUser
.remnants
RemoteAccess
remoteip
remoteip_scrubbed
remoteport
remoteprocesselevation
remoteprocessfilefullpath
remoteprocessfilefullpath_scrubbed
remoteprocessfilename
remoteprocessfilepath
remoteprocessfilepath_scrubbed
remoteprocessintegritylevel
remoteprocessstartparameters
remoteprocessstartparameters_scrubbed
remoteprocesstokenelevation
remoteprocesstokenelevationtype
RemoteThreadCreateCount
RemovalPolicy
REMOVEALL
RemovedC
RemovedE
RemoveDirectoryW
RemoveDnsBlockListDomain
RemoveDnsDomain (domain)
RemoveDnsDomain (master list)
REMOVEMANY
RemovePIIfromPath
RemoveResult
R)))EMvE@K[H[PvYH]A
reM[[[Z[[[
RENDMONMO
rENOS 7  
rENOS 8  
r;Enter to
"REnY[[[
r||||||||||EO
RE@OLCFP
RepggfGB
R#epgppepq
REpgppepq
.replace
ReplayableContainer
ReportedResources
ReportFilelessResource
report_filtering
"Reporting Started"
Reporting Started
ReportInternalDetection
ReportInternalDetection: UtilWideCharFromUtf8 failed
reportlimit
ReportLowfi
ReportLowfiEx
ReportLowfi: UtilWideCharFromUtf8 failed
reportonly
ReportQuery
ReportResource
ReportThreatAction
report_threat_component() failed
reportTime
reporttype
ReportUnknown
RePpgppepq
r|e(q|eHp|e
requeryineligiblereason
RequestCity
RequestCountry
Requested action would cause an out of bounds data read or arithmetic overflow.
requestguid
RequestIeBlockControl
RequestIeBlockPage
Requestor
RequestOrganizationType
requestoril
requestorname
requestorname_scrubbed
RequestorPid
requestorsha1
requests_elevation
request_SMS
RequestSmsOnProcess
RequestState
requires9x
rescanineligiblereason
researchdata
ResearchDataEx
researchdata_scrubbed
reserved
Reserved
Reserved1
Reserved2
ResetBcdWmiParameter
ResetEvent
ResetFsSddl
Reseting ignore list
RESHANDLE
RESMGR_Activesetupcomponent
RESMGR_Activex
RESMGR_AlternateShell
RESMGR_AMSI
ResmgrAmsiScan
RESMGR_AMSIUAC
ResmgrAmsiUacScan
RESMGR_AppCompatShim
RESMGR_Appinitdll
RESMGR_Appmodel
ResmgrAppModelRemove
ResmgrAppModelScan
RESMGR_Appsecdll
RESMGR_AutoConfigURL
RESMGR_AutodialDLL
RESMGR_Autorun
RESMGR_AutorunInf
RESMGR_Behavior
ResmgrBehaviorQuarantine
ResmgrBehaviorRemove
ResmgrBehaviorScan
RESMGR_Bho
RESMGR_BitsJob
ResmgrBitsJobScan
RESMGR_Boot
ResmgrBootClean
RESMGR_Bootexec
ResmgrBootScan
RESMGR_Bootsyncblock
ResmgrBootSyncScan
RESMGR_Bootverification
ResmgrCertStoreQuarantine
ResmgrCertStoreRemove
ResmgrCertStoreRestore
ResmgrCertStoreScan
RESMGR_ChromeExtensions
RESMGR_ChromeInstall
RESMGR_Class
RESMGR_Clsid
RESMGR_CmdLine
RESMGR_CmdLineFile
ResmgrCmdLineScan
RESMGR_Commandline
ResmgrCommandlineLongCmd
ResmgrCommandLineScan
RESMGR_Containerfile
RESMGR_Contextmenu
RESMGR_Copyhookhandler
RESMGR_Datahandler
RESMGR_Desktopcomponent
RESMGR_Dragdrophandler
RESMGR_Driver
RESMGR_Drophandler
RESMGR_DumpFile
ResmgrDumpFileScan
RESMGR_elam
RESMGR_elamfile
ResmgrElamScan
RESMGR_ems
ResmgrEmsScan
RESMGR_Expooffload
RESMGR_Extension
RESMGR_File
ResmgrFileClean
ResmgrFileQuarantine
ResmgrFileRecover
ResmgrFileRedirScan
ResmgrFileRemove
ResmgrFileRestore
ResmgrFileScan
RESMGR_Findextension
RESMGR_FirefoxExtensions
RESMGR_FirefoxInstall
RESMGR_FirefoxPlugins
RESMGR_Firewallokfile
RESMGR_Firewallport
RESMGR_Folder
ResmgrFolderRemove
ResmgrFolderScan
RESMGR_Fontdriver
RESMGR_GenStream
ResmgrGenStreamScan
RESMGR_Ginadll
RESMGR_Gpextension
RESMGR_Hiddendriver
RESMGR_Hiddenfile
RESMGR_hookwow
ResmgrHookWowRemove
ResmgrHookWowScan
RESMGR_Iconhandler
RESMGR_Ieabout
RESMGR_Ieaddon
RESMGR_Iedragdrop
RESMGR_Ieelevationpolicy
RESMGR_Ieexplorerbar
RESMGR_Ieext
RESMGR_Ieextapproved
RESMGR_Iemain
RESMGR_Iemenuext
RESMGR_Iephishingfilter
RESMGR_Ieplugin
RESMGR_Iepreapproved
RESMGR_Iesearch
RESMGR_Iesearchscope
RESMGR_Iesearchurl
RESMGR_Ieshellbrowser
RESMGR_Ietoolbar
RESMGR_Ieurlsearchhook
RESMGR_Ievext
RESMGR_Iewebbrowser
RESMGR_Imagefileexecoptions
RESMGR_Infotiphandler
RESMGR_Inifilemap
RESMGR_InlineScript
RESMGR_Interface
RESMGR_InternalAMSI
RESMGR_InternalAMSIUAC
RESMGR_Internalbehavior
RESMGR_InternalBootsyncblock
RESMGR_internalCmdLine
RESMGR_InternalGenStream
RESMGR_InternalIoavStream
RESMGR_Internalwebscript
RESMGR_IOAVSTREAM
ResmgrIoavStreamScan
RESMGR_Jitdebugger
ResmgrKeyEntryScan
RESMGR_Knowndll
RESMGR_Knowndll16
RESMGR_Linkhandler
ResmgrListValRemove
ResmgrListValRestore
ResmgrListValScan
RESMGR_Lsapackage
RESMGR_Lsp
ResmgrLSPRemove
ResmgrLSPScan
RESMGR_MapiStub
RESMGR_MapiStubDefault
RESMGR_Moduleusage
RESMGR_MpNotify
RESMGR_NCFile
RESMGR_NetworkIP
RESMGR_Nsp
RESMGR_Ntappdll
RESMGR_Ntrunkey
RESMGR_PackagedAppXDebug
RESMGR_PackageDebugInformation
RESMGR_Pendfile
RESMGR_Policyscript
RESMGR_Postsignatureupdatescan
RESMGR_Printmonitor
RESMGR_Printprovider
RESMGR_Process
RESMGR_ProcessMemoryScan
ResmgrProcessRemove
ResmgrProcessScan
RESMGR_Propertyhandler
RESMGR_Propertysheethandler
RESMGR_Protocolfilter
RESMGR_Protocolhandler
RESMGR_Protocolhandlerversion
RESMGR_Protocolnamespacehandler
RESMGR_Pseudorunkey
RESMGR_QueryfileAMSI
RESMGR_QueryfileAMSIUAC
RESMGR_Queryfilebootrtsig
RESMGR_Queryfilebootsync
RESMGR_QueryFileCmdLine
RESMGR_QueryfileGenStream
RESMGR_QueryFileHookwow
RESMGR_QueryfileInlineScript
RESMGR_QueryfileIoavStream
RESMGR_Queryfileprocessrtsig
RESMGR_Queryfileregkeyvalue
RESMGR_Queryfilertsig
RESMGR_QueryFileUefiEnvVar
RESMGR_Queryfilewebscript
RESMGR_QueryWmi
ResmgrQuickScanResult
RESMGR_Regkey
ResmgrRegKeyQuarantine
ResmgrRegKeyRemove
ResmgrRegKeyRestore
ResmgrRegKeyScan
RESMGR_Regkeyvalue
ResmgrRemedCheckpointScan
RESMGR_Remediationcheckpoint
RESMGR_Restrictrun
RESMGR_RootCert
RESMGR_RootCertUser
RESMGR_Rootkit
ResmgrRootkitScan
RESMGR_Rootkittelemetry
RESMGR_Runkey
RESMGR_Runonce
RESMGR_Runonceex
RESMGR_Safeboot
RESMGR_Samplefileelamfile
RESMGR_Samplefilehidden
RESMGR_Samplefilerecalled
RESMGR_Samplefilerootkit
RESMGR_Samplefilesubmissiononly
ResmgrSchema
RESMGR_Screensaver
RESMGR_Secprovider
RESMGR_Service
ResmgrServiceQuarantine
ResmgrServiceRemove
ResmgrServiceRestore
ResmgrServiceScan
RESMGR_Sfcfile
RESMGR_Shareddll
RESMGR_Sharedtaskscheduler
RESMGR_Shellcolumnhandler
RESMGR_Shellexechook
RESMGR_Shellextapproved
RESMGR_Shelliconoverlayid
RESMGR_Shellopencmd
RESMGR_Shellserviceobjectdelayload
RESMGR_SilentProcessExit
RESMGR_SMS
ResmgrSmsScan
RESMGR_Specialfolder
ResmgrSpecialFolderScan
RESMGR_Startup
RESMGR_Structstoragehandler
RESMGR_Subsystem
RESMGR_Subsystemtype
RESMGR_Taskscheduler
RESMGR_tcg
RESMGR_TelemetryController
RESMGR_Thumbnailhandler
RESMGR_Transactionfile
RESMGR_Tsstartup
RESMGR_Typelib
RESMGR_Typelibversion
RESMGR_UefiEnvVar
RESMGR_UefiFirmware
ResmgrUefiFirmwareScan
ResmgrUefiVarQuarantine
ResmgrUefiVarRemove
ResmgrUefiVarScan
RESMGR_Uninstall
RESMGR_UserInitMprLogonScript
RESMGR_Usershellfolder
RESMGR_Wallpaper
RESMGR_Webfile
RESMGR_Webscript
ResmgrWebScriptScan
RESMGR_WindowsContainers
RESMGR_Winlognotif
RESMGR_Winlogonshell
RESMGR_Winlogonsystem
RESMGR_Winlogontaskman
RESMGR_Winlogonuihost
RESMGR_Winlogonuserinit
RESMGR_Wmi
ResmgrWMIRemove
ResmgrWMIScan
ResolutionScope
ResolvedActions
ResolvedReason
ResorderLuaExecute
ResorderSysCleanExecute
resource
Resource
resourcecreatetime
Resource deadlock avoided
resource deadlock would occur
Resource device
ResourceLeak
resource_only_dll
resourceresult
.resources
Resources
resourceschema
ResourcesRVA
Resource temporarily unavailable
ResourceType
resource unavailable try again
Response
ResReportUnknowns
restoretype
__restrict
Restrictrun
RestrictRun
Result buffers count mismatches decode buffers count
Result is not available since decode API was not called
result out of range
Results - 
Result too large
ResumeProcess
ResumeThread
resutils
reswin32actionstatus
retarget
returnaddress
returnaddressmodulefullpath
returnaddressmodulefullpath_scrubbed
returncode
return-path:	
return-path: 
reverse_unordered_selects
rEVgqgg9KZ
revision
Rewind failed
R eX[[[k[[[
ReX[[[K[[[
rex_prefx
Rey[[[n[[[
REZKEFJBZ
ReZ[[[T[[[
||||  R ||||||||?F 8
RFallllllllmllllOllylm96!
rFbpcgfG
)))rFBtJFDDHGM
rfc_params
.rfc_prob_file_name
rf_[[[e[[[
R_FEYH]AT
rF]FDH]@BKHZEH]t
R]FFEKH[@M
)))r[FF]Y[FJLZZLZt
r[FF]Y[FJLZZLZt
#R)fggfw
?rfggfw8
rFGLZF]AHS
RFgMngfG-
#rFgqgg 
RFGviggG
rFKCLJ]H[[HPt
RFKCLJ]r
rFKCLJ]rtt
rFKCOMJ]rt
rfllllllllmllllOllylm
r;FllllllllmllllOllylm'
rFllllllllmllllOllylm
rf?llllllllmllllOllylmA
R@FLQJLY]@FG
)))r_F@Mt
rFpgppepq
rfP[[[h[[[
RFS5TZTjT
R:;F]U6|V
[[[RfUdT[[[
rFYfFWQ?
#)))rFYLGt
rFyxhi-( Yuqpq
RFyyyyyyyyf
R]FZ][@GN
)))rFZHONMONACBBCY[FZMOZMMFK
Rg][[[|[[[
rg1agfG:f
r.g1mgfG
-Rg7kgfG
rg7kgfGx
rg7mgfGE
Rg7wgfGU
Rg9cgfGv
Rg9kgfG.u
?rg9ugfG
!RgAAAAsJ
rgabgfG2
RgaegfGh
rgafgfG]
RgAggi9i
.RgAggY;
r@gAkgfG
-rgaNgfG
rgAngfGG
rgB"2     ]Y]][
)RgCcgfG6
R!g!cgfG
R!g!cgfGk)
r"g	cggG
Rgd[[[[1
rg	DgfGq
RgdH[[[l
RgdK[[[9
'RgdL[[[
rGDpgppepq80
RgdT[[[|
RgdY[[[f
RgdZ[[[q
|R gedgfG
rg!egfG(
rg'egfG@
R gEkgfG
RgeqgfGkK
RgesgfG3
RgfG#bWMgqgg
rg#fgfGt
rgfGha84gqgg
rgfGIHBfgqgg
@@rgfGK.
rgfGLbu	gqggs
rgfG-.l"gqggF
:_]RgfGX
)rgfGzFE
rGF]MLO@GLMt
R]ggagfGe[W
)RggAggl
r;gGcgfG_
rggCgfGf
")rggcggG
r@ggdgfG 
r-gGdgfG
rgGdgfG.
r	ggegfG
r_ggegfG
(Rg]@gfG
RggfwcF9F
RggG.C4@gqggyu
Rg-ggfG 
rgggGABs
RgGggfG1
RgggGWROMgqgg
R-gGkgfG
R_G_GMJPJPJ
RgGngfGJ
RgGNgfGY
#rggogfG
RGgqggwLVH
;RGgqggX
RGgSfgfG
rggsgfGfW9Ngqgg
RgGygfG[A
*RgHcgfG
RGHDLvHMFMKT
R@G@]@HE
RGH_@NH]F[
r|gHq|g.k
r)))GH@Z
rgIfgfGf
RgiggfwP
rgiigfGJc
Rg	jgfG@
rg[jgfG9'a
rgKcgfG_
rgKdgfGTy
rgKegfGz
RgKfgfGS
rgKfgfGY
Rg?kgfGfc
Rg_kgfGj
Rg[kgfGl
rg;kgfGPs
RgllllllllmllllOllylm
R@gMaggwZ|
)))rG]MEEt
RgMegfGKy
rgMggfG5!
rgM[[[_[[[H[[[
rg'ngfGg5
R!goagfG
RgOcgfGL
rgOdgfGE
RgOdI[[[
R)))@GOFiFGE@GL
R@GOFvYE@Z]T
RgOggfGI
Rg.oggG'
_rgooggGm
rgpgppepq
[rGpgppepq
r@@@@gpHI
r	gQbgfG
RgqegfGq
'r'gQfgfGH
#rgqgg'(
?r!gqgg]
r|#gqgg#
rgqgg#"-
")Rgqgg	]
(R?gqgg!
Rgqgg;0b_
Rgqgg;2jh
rgqgg3XbL@
r;'gqgg5G
	rgqgg8g
RgqggbB 
Rgqggbnv
|RgqggcnuD
Rgqgg#cV
 Rgqggda
	rgqggFx
r#gqgg'G8i
rgqgg'G8i
R)gqgg'G8i
RgqgggOg
rgqggH_Ci
RgqggHsVQ
rgqggi73)
r#gqggi-#G
rgqgg?_K
rgqgg)Ki
rgqggKSl
RgqggKSl
rgqggljqg
Rgqggljqg
rgqggLmy
R'gqgglpr
rgqgg(@R
R.gqgg]r
-rgqggrF
;RgqggRX
#R#gqggS@
r:gqggV0
rgqggWoql
RgqggWoql
rgqggx9H5
RgqggxIb
rgqggya:
)rgqggYJ
RgqggytU
rgqggZ Z[w
R]gQkgfG
r[[[grEdz[[[q[[[w[[[
;: ;r ?gS
;: ;r)?gS
RgsggfGkM
RgSkgfGv
R.@:g	TgfGYq
r@GtZ][@GNYZSHEN@M
r)gUogfGH
Rg#vgfGBe
r(gwdgfG
r	gWdgfG
rgWdgfG_
RgWegfGA
|rgWkgfG8
#rgwtgfG
R;gwwggGV t
RgXllllllllmllllOllylm
RgX[[[X[[[J[[[
RgYfgfG7Vl
RgYggfGq
rgYggfGW
)))r@G]Y][t
r@G]Y][t
rg'zgfGH
R@GZ]GHDLT
R@GZGHDLT
rh46Cpgppepq9
rH4BgfGu
R_H[AFZ]
R_H[AH@[JFE
R_H[AHZCMAHCZMAHZ
R_H[AL_AHQCFZ
r)))HA[LO
R_H[BEMZO
R_H[BLPJFML
R_H[_B]Z_S
R_H[CGGHZ_
RHCK]ZML[rCZHD
r[[[#-hd@[[[
R_H[D@GZ
R_H[DLZZHNL
rHdO[[[.
R_H[DPM@_
R_H[EFJH]A[LO
R_H[E@GBZ
:)))RHEL[]
|)))RHEL[]
RHEL[]]@DLM
RHEL[]JHEE
r_HE@MH]L[HGNL
R_H[EMPKEGN]L[
r'heUdgfG
R_H[E@Z]
R_H[]FDFG]AZ
[[[RhGdR[[[
rHGH@ZELDEL[t
r HgIbgfG
R[HGMFDvZZ[Ov@MT
R[HGMv]LQ]vHEYAH
Rhg'OgfG
rhg'wggGFy
rhgWwggGJ
R_H[HDZ@CZFG
R_H[_HEF[
R_H[H[[ELGN]A
R_H[_HE@MJAH[Z
R_H[HF@A
R_H[H]JHYL
R_H[]HKEL
rHHM@G]L[GHEZ
R_H[HMHMC@B
R)))H[[HP
)))rH[[HPt
R_H[HYYEL]
R_H[JAH[JFMLZ
)))rHJ]@_H]F[t
@)))rHJ]@_H]F[t
rHJ]@_LQFKCLJ]tr
RhjXSSPsT6
R_H[KEFK
R_H[K@GH[PvZ][@GN
R_H[KHZLJEZ
R_H[KP]LH[[HPZ
R_H[]LDY
R_H[LELDGHDL
R_H[LELDLG]
R_H[[L]F[GF
R_H[LGN@GLZL[_@JL
rHllllllllmllllOllylm
)))R_H[LQL
R_H[LQMH]L
R_H[MDONE_
((rHM_HGJLMtJFDY[LZZLM
R_H[MH]H
R_H[MH]HZ
RHMHMC@B
)))rHM_HY@
R_H[MLZJF
r)))HMM[
RHMMCH_HZJ[@Y]
RHMMI[LZZT
RHMM[LZZT
)))rHMZ@t
R_H[@NAH[PBJL
rHNHCMFCC
r)))HN@JHN@JHN@N_ZJ
r)))]H[NL]
R)))]H[NL]
R]H[NL][HGNL
R]H[NL]T
R]H[NL]vO@ELvGHDL
R]H[NL]vYH]AT
R_H[NP]PP[
R_H[OCBZM
R_H[@O[D
R_H[OE_H
r)))_H[O@EL
R_H[O@ELZPZ]LDFKC
rHO_H]LGP
rHPH[EH[t
R_H[QDEA]]Y
r|h(q|hHp|h
RhQlllllllllmllllOllylm
rHRgqggY[
?)))RHr@t
rHSNF[YPMK@KM
RhSRSSSSS
())R_H[v
)))R_H[v
rhVVSSUs
R_H[vvYv
R_H[vZJ[@Y]M@[
R_H[@XAPBPZO
R_H[X[HG]P
rhxx]Y]]
[rHY(6k?
R_H[YH]A
R_H[YKFE]A
RHYYGHDLTB@EEHEEFZHZJ[@Y]
rHYYMFDH@Gt
r)))_H[Z][
)))r]HZBOF[]HZB@GZLEO
R_H[ZE@JL
R_H[Z@E_L[HZ
R_H[Z][FGN
R_H[ZFYJHKBF
R_H[ZJ[@Y]
R_H[ZLH[JAKH[
R)))HZMB
R_H[Z][vA]]Y
R_H[ZXFB@
ri5gqgga
ri9O vdH
RI@@@@BBA@
@RiBCJhggfwO
rI]C]Y]]
RiDdU[[[I[[[
ri!dR[[[
RIGHT and FULL OUTER JOINs are not currently supported
right-curly-bracket
right hand side of 'instanceof' operator is not a constructor
right hand side of 'instanceof' or 'in' operator is not an object
right-parenthesis
right-square-bracket
rIg;kgfG
rigqggkl
Ri#gwWggw
riHg;ngfGP
r)))iHMFKL
RIi5RIimRIi
RIIIyyyyyyy
RIIIyyyyyyy:
RIIIyyyyyyyyy
RI |llllllllmllllOllylm
RillllllllmlllNMO8) V8
Rinvalid bitset position
[[[rIOd][[[
 ripgppepq
ripgppepq
r|i(q|lHp|x
riskymachine
rITgqggP
)r.iT:mDX
R-Ixx]Y]]
RIZ1(ggfG
RIZgqgg(
RJ8@@@@B
rj@@@@@|@@A@AAac
RJA[FDLr
rJAH[rtt
!)))rJAH[t
r-jCllllllllmllllOllylm
rJDMEL]K@GM@
)))rJDMEL]K@GM@GN
rJEgqgg!
RJE@JBCHJBOKA@ML
RJE@JB]HN
RJE@JB@MT
RJELH[@G]L[_HE
R)))JFDDHGM
r)))JFDDHGMZ
|)))rJFD@DYF[]
RJFDY[LZZLMvO@ELGHDLT
RJFFB@LTU
rjfgfGNj
r)))JFG]LG]
RJFG]LQ]
")))rJFG_L[]t
)))rJFG_L[]t
rJFG_L[]t
RJFGO@[D
RJFGOM@[T
)))rJFGO@Nt
rJFGY]PZALEEDH@GJEHZZt
RJFGZ]BXGGMKSX
RJFGZFEL
)))rJFGZFELt
rJFGZFELt
RJFGZ]H[[
RJFGZ]J@M
RJFGZ]M@_
RJFGZ]QQN@ZE
rJFMLMKPGCt
rJFMLMKPGCX
r)))JFYP
RJ!g7DgfGi
Rjg'fgfGd
R?jgqggfG
rJgqgg:V
RJHDYv@MT
r)Jhggfw
RJhggfwFJ'U
RJ]HRI8M[V8
)))RJHYE
)))RJHZL
RjIllllllllmllllOllylm
rJJAFJFYHJBHNL@GZ]HEEL[t@GZ]HEEDJHOLLHNLG]
r)))J[LH]LFKCLJ]
rjllllllllmllllOllylm#
RJllllllllmllllOllylm*
)))rJ[LM@]GF]Lt
rJ[LMLG]@HEt
RJ[LMLG]@HEZ
rJMH]Hr_H[
RJN@Y[@G]
rJ[PY]Ft
RjqVg_agfG
RjRXRiR[
RjXgAgg0X
rJ!xpgppepq
RjyyPSRU
RkccgfGa
|[[[.rKdK[[[
rKegqggT
][RKF[ML[
r-KgaogfG:
RkgfG(he
RK@GYH]A
RK@GYH]AT
rkH9K8veH
R)))K[HNXHKNKSHJ
r|kHq|k.o
r|kHq|oOr.v
R)))KHZ@J
rK@]JFG_L[]L[t
RKLAH_@F[
RkPattScan
RKP]LrtMLJFMLMKP]LJG]G]
rKP]Lrtrtt
)))rKP]Lrtt
;)))rKP]Lrtt
rKP]Lrtt
rKP]Lrtti
RKP]LZr@t
RKPYHZZT
RKQKQKQKQ
RKQKQKQKQKQ
rK@@@@@u@@C@AC@BA@@Hp@HX
rK@@@@@u@@C@AC@B@@@Np@C
rKv9llllllllmllllOllylm
rkwgqggXD
r_KZJ[PY]L[
r||||l|||||||
RL8xx]Y]]
rLC@BPGr
R[LDF]LvHMM[T
[[[Rl|dY[[[
r]LDYEH]LtKHZ@JY[FY[@L]H[PJFDDL[J@HEE@JLGZL
R]LDYvGHDLT
)))rLEHDt
r)))[LEH]@FGZA@Y]PYL
r)))LEZL@O
r)))LEZLRHEL[]
)))rLG_@[FGDLG]t
rLG_@[FGDLG]t
r]|Lg-ggfGr]|L]Y]]m
RlgmkgfG
RLGN@GLZ
rLgqggpd
RlgqggyJ
)))RL_HE
R)))L_HE
RLJAFKHZL
R_LJ]F[_
r[LJFML[
rlllllllllmllllOllylm
rllllllllmlll
rllllllllmlllLMO8) V8
;RllllllllmlllLMO8) V8
 rllllllllmllllOllylm@
)rllllllllmllllOllylm
r;llllllllmllllOllylm 
r?llllllllmllllOllylm
r[llllllllmllllOllylm@
r]llllllllmllllOllylm
rllllllllmllllOllylm
rllllllllmllllOllylm!
rllllllllmllllOllylm#
rllllllllmllllOllylm:
rllllllllmllllOllylm@
rllllllllmllllOllylm[
 RllllllllmllllOllylm
'RllllllllmllllOllylm
*RllllllllmllllOllylm
-RllllllllmllllOllylm
:RllllllllmllllOllylm
@RllllllllmllllOllylm
|RllllllllmllllOllylm
R	llllllllmllllOllylm
R(llllllllmllllOllylm
R]llllllllmllllOllylm
RllllllllmllllOllylm
RllllllllmllllOllylm'
RllllllllmllllOllylm*
RllllllllmllllOllylm:
RllllllllmllllOllylm?
rllllllllmllllOllylm|(0
RllllllllmllllOllylm0#[
R|llllllllmllllOllylm1
*RllllllllmllllOllylm3
RllllllllmllllOllylm3
(R);llllllllmllllOllylm4
RllllllllmllllOllylm9
RllllllllmllllOllylma
RllllllllmllllOllylmB
rllllllllmllllOllylmcq3
rllllllllmllllOllylmd
rllllllllmllllOllylmE
rllllllllmllllOllylmf
RllllllllmllllOllylmf
RllllllllmllllOllylmG
RllllllllmllllOllylmI|
rllllllllmllllOllylmJ
RllllllllmllllOllylmJo
rllllllllmllllOllylmjV
RllllllllmllllOllylmk
RllllllllmllllOllylmK
RllllllllmllllOllylmka
rllllllllmllllOllylmLI
R-llllllllmllllOllylmlq
RllllllllmllllOllylmN|
RllllllllmllllOllylmo
.RllllllllmllllOllylmP
RllllllllmllllOllylmP
RllllllllmllllOllylmq
RllllllllmllllOllylmQ
)RllllllllmllllOllylmR
rllllllllmllllOllylms
rllllllllmllllOllylms(?#
[R llllllllmllllOllylmsA
RllllllllmllllOllylmT
rllllllllmllllOllylmT7M
;RllllllllmllllOllylmTMcec
R-llllllllmllllOllylmtU"
RllllllllmllllOllylmv
RllllllllmllllOllylmV
rllllllllmllllOllylmw
RllllllllmllllOllylmx
rllllllllmllllOllylmy
RllllllllmllllOllylmy
(RllllllllmllllOllylmY
RllllllllmllllOllylmz
RllllllllmllllOllylmZ
rllllllllmlll]Y]]
R(llllllllmlll]Y]]
Rllllllllmlll]Y]]
r)))LLQLJ
R[LMDPDPr
RlmgfGQh
Rl!mggfw
)))r[LOELJ]@FG
r[LOELJ]@FG
RlO.gGbgfG
R[LOL[LGJLvA]]YT
R[LOL[LGJLvD@YZLE
R[LOL[LGJLvD@YZLET
)))r[LOt
.)))r[LOt
R@@@@@@@@Lp@
RLpgppepqQ
r@@@@@@@@lpXN
)))r]LQ]
r)))LQLJ
)))rLQLZtLQL
RLQYEF@]
RLQYEF@]v@GOFr
RLQ@]Z]FYYL[
:)))RLrH
RlRRSCISSSS@S4R
RLr_r@tt
R||lS||lR||hR||0N||
rlSSSSSSSS
RlSSSSSSSSSSSS
R'lSSSSSSSSSSSSSSSSSSSS
RLuYQJhggfw
RLUYQQLSY
r)))L[[vJFYP@GNv@LvLGHKEL[
_rLX:5gAgg
r)))[LYEHJL
R_L[Z@FG
R_L[Z@FGZ
R[LZL]EFN
R[LZYFGZL
;)))r]LZ]Z
r||||m|||||||
rM*(((7((9
rMdI[[[o[[[
rMdW[[[y[[[
)))rMEE@DYF[]
rMEE@DYF[]
RMEMFDH@GT
RmEndSession
RMEYH]AT
RMFDH@GT
)))rMFZPHEH[t
RmGetList
'RMgfGk)
?	r!mggfw
R(!mggfw0
R!mggfw7 E
r!mggfwIJ
R)mggfw(q6
rMg[ggfG#
|RmgqggwF6
R)))MH]H
RMH]HEHPL[
r)))MH]H]PYL
)))RMH]H]PYL
RMH]H]PYL
)))rMH]Ht
RMH]HZ]F[Lr
rMH]L]@DLt
)))rM@HNGFZ]@JZ
rMH;Q0sGH;A0v
RMLEL]LZLEO
RML]LJ]LG_@[FGDLG]
RMllllllllllllxMO-
RMllllllllmllllOllylm
rmllllllllmllllOllylmn
R)))ML_O@Q
RMLZ]@GH]@FGYH]A
rMMGZt[D
rMMGZtJADFMH
rMMY84]v
rmpgppepq
RmRegisterResources
RmSd][[[w[[[j[[[
RmStartSession
rMUgqgg"iB
RMXgqgg	[
rmxJxxxIxxx
RM]Y]]UaX
)))R[MYZFJBL]v_L[Z@FG
rMZ@G]L[GHEZ
rMZHOMZHOMZHOMZt
RM@ZYEHP
r||||n|||||||
rN1gqgg@
RNAdz[[[
rn@@A@h EX
rn@@A@h KNZB
Rn@@@@B@@@Hp@M
rNdM[[[r
[[[-RNdV[[[
rNdZ[[[W[[[
RNdZ[[[w
R;n e!e eFG7Q*J7Q?G
RNEFKHE[HGMFD
rN@fB[[[
rN@fD[[[4[[[
[[[rN@fE[[[
RNF]F[HGMYHJBL]Z
r)))NFFN
rN@fL[[[v[[[
rN@fN[[[
[[[rN@fQ[[[
[[[rN@fY[[[
rngEbgfG
Rnggfw0;
rnGgqggk
R@NgqggkV
RNiP@g-cgfG
r@NLGYPKZ
RNL]LDH@ET
r@@@@@@@@np@G
r[[[	NQdB[[[
rN|r2?e"
R]]NSrZKNOrKCQDSBtt
R||nS||YS||0S||
rnUFS_inno
'RnXpgppepqAV
Rnyxpgppepq
[[[r[[[O|
Ro3gqgg|*
Ro5g;ggfG
ro8pPNllllllllmllllOllylm
RoActivateInstance
.rodata1
rOdE[[[z[[[
[[[?ROdM[[[
r]OdN[[[q[[[
ROdU[[[W[[[
ROdW[[[R[[[P[[[
rOdY[[[p[[[l[[[
RO@ELJFYP
RO@ELTGO@LQ@]
rO@ELZtZL[_L[Z
R)))OF[B@G
R)))OF[JAH[@GMH]H
ROF[LHJA
R|ogAggSE
RoGetActivationFactory
RogGbgfG
@R-oggfw1R
ROHBLvHKvOEFH]r
rOhgqgg:
rOH]HE@Z]@JSvOQ
RoH[[[v[[[
ROIgqggq
roIjhggfw
RoInitialize
ROLLBACK;
rolledbackengineversion
rolledbackplatformversions
rolledbacksignatureversion
RollingQueueAppend
RollingQueueAppendMulti
RollingQueueCount
RollingQueueCountOfUniqueKeys
RollingQueueCountValuesForKey
RollingQueueCreate
RollingQueueCreatePopulated
RollingQueueErase
RollingQueueEraseAll
RollingQueueQuery
RollingQueueQueryFirst
RollingQueueQueryForPrefix
RollingQueueQueryKey
RollingQueueQueryKeyRegex
RollingQueueQueryKV
RollingQueueQueryLast
RollingQueueQueryMultiKey
RollingQueueQueryMultiKeyRegex
RollingQueues
RollingQueues::FinalizeInitialize
RollingQueuesTables
RollingQueueSumOfValues
RollingQueuesValues
Rolling queue with name "
rO[LLZYHJLt
rooggfwXJ
rOOllllllllmllllOllylm
RoOriginateError
RootCert
RootCertReport
RootCertUser
RootkitRemediation32
RootkitRemediation64
Rootkittelemetry
RootkitThreatReport
Ropgppepq
_RoT_gAngfG3
RoUninitialize
routineactiondelay
routineactionmaxdelay
row_number
Row offset array has invalid values or is of invalid size
rows deleted
rows inserted
rows updated
row value misused
roXCCNCCCBACC
[r[[[O[[[Z[[[O[[[
rO[[[Z[[[O[[[b*S[e
[r[[[O[[[Z[[[O[[[P
R'P;6XP-
@@@@@@@@rp@@@@@@@@@@B@@@Hp@M
RpcBindingBind
RpcBindingCreateW
RpcBindingFree
RpcBindingVectorFree
RpcEpRegisterW
RpcEpUnregister
RpcMgmtStopServerListening
RpcMgmtWaitServerListen
RpcObjectSetType
RPCRT4.dll
RpcServerInqBindings
RpcServerListen
RpcServerRegisterIf3
RpcServerUnregisterIfEx
RpcServerUseProtseqEpW
RPdH[[[F[[[
*[[[]rPdZ[[[
rPELMFXP
RpeYgwdgfG
rpfcleaningstatus
R@@@@	pffD
rpf_module_cleanup
rpf_module_init
rpf_module_update
rpfremediationstatus
rpfscsirewblob
RPF:TopLevelFile
rPgGcgfGJ
#rpgppepq
[rpgppepq
r"pgppepq
r*pgppepq
rpgppepq
rpgppepq		
#Rpgppepq
*Rpgppepq
]:Rpgppepq
R(pgppepq
R)(pgppepq
Rpgppepq
Rpgppepq''
Rpgppepq)
Rpgppepq;
rpgppepq1
rpgppepq3
rpgppepq4!
Rpgppepq4
rpgppepq6
r)pgppepq)a
rpgppepqa
RpgppepqA
;rpgppepqb
Rpgppepqb
Rpgppepqc
rpgppepqE
RpgppepqE
Rpgppepq]F
R.pgppepq(I
rpgppepqIZ#
rpgppepqj
RpgppepqJ
rpgppepqq
R|pgppepqr
RpgppepqR
rpgppepqT-
rpgppepq.u
rpgppepqw
Rpgppepqxw
rpgppepq	y(
rpgppepqZ
rpgppept
R@pgqgge
RPgqggPz
RPJPJSOSOROPJSORO;SSO
rP;KtsK2
rplbfsigversion
RPllllllllmllllOllylm
rpn9@@A@
rpn9B@A@2 @La_M
R||Pn||Dn||8n||
RpogfGoT
@@@@@rp@@@@@@@@@@@@@@op@C
r]POQLJO
RPPPPDPPxQPP
RPPPPDPPxQPPk
RPPP]Y]]
RPPP]Y]]j
rPP_XPGtrO@t
)))R][PR
|||R||PR||
R][PRA_H
R][PR]AHGBZYHNL
R][PR_H[
R][PR_H[]
R][PR_H[CL[ZLP
R][PR_H[G]_
R][PR_H[H
R][PR_H[J[LM@]Z
R][PR_H[JZO_O_
R][PR_H[L
R][PRHMF
R][PR_H[P
R][PR_H[v
R][PRL_HE
R][PRL_LG]MFJ
R][PRMFJr
R][PROL]JA
R][PROZFKC
R][PRY[FJLZZZ]H[]@GOFY[FJLZZZ]H[]@GOF
R][PRYMA__FK
R][PRZELLY
R][PRZ][@GN
R||PS||0S||lS||
RPSCSSSSSSSWSSSSSSSSSSSSSS
RPSgqggo3
R||pS||gS||VS||BS||
]_R[pSSSSS
RPSTSSSSRSSSSPS
RpyiUpycUpyUUpyGUpy)Upy
@@@@rp@@@@@@@@@@]Y]]L
r]PYXH[A@OLS
RQBg'kgfG(5u
RQbhggfw2
@rQ@BP@CBBv
R[[:Q[[bP[[VW[[
RQDEA]]Y
RQDE_L[Z@FG
RqdOGFgOM*YOMMM
R)))QFKCLJ]
RqgAdgfG1
rqg	gggG
rQgKfgfG
RQgqgg6 
RQgqggVp
r|](q|]Hp|]
|rqHUA9U"
rqKmggfwh
rqllllllllmllllOllylm
!rQllllllllmllllOllylmbL
rQllllllllmllllOllylmnbK
RQNENDA_N
RqOg_kgfG
rqo!uqnH
R[[]Q[[(Q[[
RQ_[QHZ]H[F]A
RqqvX|||||||
RqqvX|||||||	
RqqvX|||||||||||||||
RqqvX|||||||||||||||(
RqqvX|||||||||||||||*
RqqvX|||||||||||||||E
RqqvX|||||||r@
RqqvX|||||||||||||||V
R_QsQRSS9
RQSSK@ZUK9
RQSSZBJB[
@rQ(VSSW@KBILC9	@sUBN
rQ(VSSW(|SSWE9EE9E9E9
rQ(VSSW(|SSWULx9
rQwPOF[Q
rqxx]Y]]
rqyxayrq
(*r[QZ]H[]tABED
[[[r[[[r
RRAFZ]HMM[LZZTT
rrAgWegfG
R]RAllllllllmllllOllylm
RRdA[[[2[[[
r'RdgfGL
rrdH[[[J[[[I[[[k
rrdI[[[.[[[
rrdI[[[M[[[@[[[
RRdJ[[[d[[[
rrdM[[[J[[[I[[[
rrdM[[[l[[[
rrdN[[[_[[[p[[[
rrd[[[[R[[[Q[[[
rrdS[[[A[[[G[[[v
rrdS[[[v[[[i[[[
rrdU[[[V[[[
rrdx[[[E[[[
rrdx[[[S[[[Q[[[c
rrdZ[[[O[[[
RrEdW[[[Z[[[
RResmgrCommandFileScan
Rrf:4.d[[
rRfgsmgfG
Rr#g9ggfG
;RrgfG	Q
r'rgfGrnD
RR@G]L[_HETT
RRgOUgfG
rRgQkgfG
rrHPSXvvSt
RrIdJ[[[.[[[
RR;''#i||ve
RrJAH[tr@G]t
RrJAH[trJFG
)))RrJAH[trJFG_L[]t
RrJAH[trJFG_L[]t
RrJAH[trZPZ]
R)))rKP]Lrtt
RrKP]Lrtt
||||||||||||R|||R|||l3
Rrllllllllmlll]Y]]
r||||r||||||||m
RRMFDH@GTT
RrM@HNGFZ]@JZ
RRmo| 0!:#'m
RRNHMNL]YHPEFHMTT
RROF[LHJA
RRpgppepqN
_)))rR]PYL
r_.RQW[Cs
R	R	R	R	R	R	R	R	
RRRRRRRRRRRRRRuK@G
RRRRRRRRSSSSSSSS[[[[[[[[[[[[[[[[RRRRSR
RRRRRRRRuK@G
RRRRRRTTRTR
R;RRS3ISSSS@S
RRS3JSSSS@S
RRSCLSSSS@S
RRS#ESSSS@S_P
RRS#nWSSS@S
RR]SPSSW
RRSRSceRSSS@S
rRSRSCL_SSS@S
RRSRScmRSSS@S
RRSRSCzRSSS@S
RRSRS#dRSSS@S
RRSRSsdRSSS@S
RRSRSS?QSSS@SYQRSRS
RRSSBDTU
RRSSBKLb
rRSSD@_kJRSSZH
RRSSD@sk
rRSSEyAA
RRSSHSSSS@S
RRSSQ(VSSW(|SSWAKQ(
#)))RRuK@G
)))RRuK@G
?)))RRuLGZYHJL
r)))Ru[]O
R)))Ru[]O
|||||RR||VC||R|R|||||V|C||||||
rrwegfG?
RR[WUWPS
R[[RWyxly[
rrxxx]Y]]
rrxyxtyx;-
RRyxayR1
RRZ@]LGHDLTT
rRZL[_L[v@MLG]@O@JH]F[
r)))rZPZ]LD
RrZPZ]LD
r||||s|||||||
R@S0R@S!R@S
._RS#0WSSS@Sw
]RS3hQSSS@S5r
@RS3l]SSS@S6
._RS3NQSSS@Sd
@RS3n]SSS@S
._RS3*QSSS@S
r@S8r@S)r@S
RS9fQEyB_s
RS9gCZsRSS
rsAa*sYgu
RSBE_EWg
RSBE_EWguQYPQ
RSBE@WEQs
RSBEYEWgzQXPQ
RSBPKdUs
RSBPQL_9
RSBQPLCsSSS
RSBQ(VSSWs
RSBQ(VSSWsR
RSBQ(VSSW(|SSWQ(
RSBQ(VSSW(USSW@[B[s3
RSBQ(VSSW(uSSWK9
RSBQ(VSSW_[(uSSWK9
RSBQ(VSSW(USSWsS
RSBQ(VSSW_[(USSWsSS
RSBQ(VSSW@WBW(uSSW
RSBQ(VSSW@WBW(USSWsS
RSBQ(VSSWYU(uSSWK9
RSBQWMsSSS
RSBQ(WSSW
rSbSSSSSSS
RSBWsSRSS9
._RSceWSSS@S
]RScgQSSS@S
]@RSCj[SSS@S
._RSCkTSSS@S
]RSClQSSS@SNL
._RSCmYSSS@SI
]RScoQSSS@S?L
[RSc!PSSS@S2f
._RSc:TSSS@SE
._RSc-USSS@SV
||||RS |CV||
._RSc?WSSS@S3
RSCWSSSSSSSSSSSSSSSSSSS
._RSCyUSSS@SZ
R]S_]D[]
RSd5UsSSPSf
RSdaM1a.a3a5aAaDa
RSdcBUsS
rsDgqggF
RSdQEyQBNB_sSSS
RSd[[sSSPSetUsS
RSd!UsSSWSf9ZM9
-RSdy[[[
RSdyUsSSQSfqBV
*r"s"e*t"v"
rSFGLCP[Y
RSfQEyBVsS
RSfQEyBWsS
RSfQEyTsS
RSf]TLw9
RSg9QBVTsSSS
RSgQEyUsS
RSgqgg-P
RsGR0iD(
RSGyyyyy
RSh3RSSUsS3RSh
RShgRSSUsS
RShlRSSUsS
RShMRSSUsS
RSh@RSSUsS
RSh[RSSUsSSQSh
RShzRSSUsS
rsigattrevents
__rsignal
rsignalcode
RsignalLog
rsignalresult
|R|S|L|M|E|F|G|
RSLVYWQSR
RSN2523"	
r|spgppepq
Rspgppepq
RSPSSSSSS
._RS#PTSSS@S
RsRLWKWKQ
[RS#!RSSS@SaF8[RSSSSS
[RSRSSSSS
RSRSSSSS
@RSRSS|[SSS@S1@RSRS
RSS0SSBQ
RSS2SSSKSSSSWSS
@RSs2[SSS@SK
RSS3PSBQ(VSSW(USSW@YBYs
RSS4SSS8RSSsQSShQSS
RSS6RSBEXEYLsV
RSS7SSS7SSS
RSS7SSS9SSS
RSS7SSSeRSSvQSS
RSS8WSBPWL
RSS9RSS9RSS9RSS9RSS
RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSSVSSS9RSS
RSS9RSSDSSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS2SSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
RSS9SSS4SSS
RSS9SSSMRSS
RSS9@VUsV
RSS|9ZLog6[Ig4U9BZ
RSSAa@ZAa
#RSSABLG
RSSACTBW
RSSaSSSDSSSeSSS
RSSASSSPSSS
._RSsATSSS@SF
._RSsaWSSS@S
RSSAy@_E@VE@YE@ZBJ
RSSAYSS0PSS
RSSBA@[B[D
RSSBAQ(PSSWLq9
RSSBBDhmRSSBBK
RSSB@BUdWBUxQB@@UQBEBq
RSSBBULK9
RSS[B_BW
RSSBD[gWBD
RSSBEBVLs9
RSSBGBTK
RSSBGBWdQEyBABWdQEyB@BXdQEyBBBXdQEyBJ
RSSBGULC9
RSSBIBrh
RSSBILjn
RSSB[J7N
RSSB]jlRSSB][
:RSSB@K9
RSSBKAJM
RSSBMUK9
RSSBMXE@@s
RSS[BNB_
RSSBO9M9	BV
RSSBOKhFRSSBOJ
RSSbRSSARSSbWSS
RSSB[sSS
RSSB_sSSQS
RSSBT9LB9
|RSSBTBW
RSSBTilRSSTBU
RSSBTK3@Tk
RSSBTLM9
RSSBUDhnRSSBVDhfRSSUT
RSSBUpSSSSS#;
RSSBUsSQSS
RSSBUsWRSS9
(RSSBVBI
;RSSBVBW
RSSBVBXD
RSSBvi_QSSD@vBxiWQSSk
RSSBVLc9
._RSsbVSSS@S
RSSBv@WBWI
RSSBW9B[
 RSSBW[dP[xQBW_QBXBE
_RSSBWJ9
!RSSBWK9
RSSBWK	BZ
RSSBWLCm
RSSBWLs9
@RSSBWsCtSS9
?RSSBWsSsSS
RSSBXI9	AeI
RSSBXj RSSKBW
RSSBXL_9
)RSSBXsSQSS
RSSBXsSSPS
RSSBYBJo
)RSSBYL_9
RSSBYsCtSS9
@RSSBY]V
RSSBZLY9
RSSBZsCtSS9
"RSSBZvLY
RSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSS
RSScPSScPSScPSScPSScPSScPSScPSScPSSwQSSwQSSwQSSwQSSwQSSwQSSwQSSwQSS
RSScRSSqQSSDQSS)RSS
RSSCSSSSSSQSSSSSCSSCSSSSCSSCSSSSSSCSSSS
RSSD@AUXk
RSSD@BUXk
RSSD@KE@DBY9B]YBT
RSSdQEyEYE@GE@_BF@VBVs
RSSdRSSmQSS
RSSDSSSDSSSzSSSzSSSk
RSSD@UTI3Xk
RSSD@UUXk
RSSD@]UXkdRSS[D
|RSSD@WktRSSTD
RSSDX[BVAa
RSSD@XQA]
RSSDyE@@Ar@VsSRSS@ABVs
RSSE9B_Z[
RSSE9@JT9LC9	Ars
RSSE9@XE@bQ(VSSW(
RSSE9YB[
RSSEBVgiPD9
RSSE@CBLD
RSSE_E@UE@ZE9YE9XEW
RSSEQ(VSSW(
RSSE@TBB
RSSE@TE9@YP
RSSE@TEP
RSSE@TE@UE9@VBXE
RSSE@[T@TBT
RSSEUgsT@ZU@[BZv
RSSE@UULs
RSSE@UVLYdWLYxRV@VP
RSSE@VE9XT[
RSSE@wE9@ZEBI|
RSSE@WEBY|lE@TA@BT9T
RSSEXArs
RSSE@XBZ@YB_@GB]@@BCLL
RSSE@XEBWo
RSSEXEYE@_E@XUHo
RSSE@YAM@ABABY
RSSEYEBG
RSSE@YQs
RSSEyQ(XSSWPI9
RSSfiBW(nSSW_[L_dx[LBfuQLC9
RSSfQEyQsSCSS
RSSfrBULZ
RSSFRSSB[SS
._RSsfWSSS@Si
RSSFXSSFXSSFXSSO[SSFXSSFXSSFXSSFXSSFXSS
]RSSgQSSS@S
RSSGSSBVE
RSSgWSBQ(VSSW@ZBZ(uSSWK9
RSShPSBEXEWo
RSShSSBQ(PSSW@TBTs
RSShSSS"SSS
RSSiPSBEXEWo
RSSiPSS	USS
RSS[iRQSSBTD
RSSjPSBEXEWo
RSSjQSSjQSSjQSS
RSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSS
RSSjRSS4SSSRRSS
RSSJSSSk
RSSJ_ULZ
RSSk1QSSPs
RSSk3RSSEP
RSSk5RSSBTJ
RSSkIQSSUD9
RSSkPQSS[iFQSSBUiCQSSBTD
RSSKQSSKQSSKQSS-RSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSS
RSSkRQSSTD
RSSkSQSSBTD
RSSkSSS4SSS
RSSKSSSVSSS[SSSOSSScSSS[SSSKSSSKSSSCSSSURUU
RSSK@uBu@_B_
RSSKWSS'RSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSS
RSSkzQSSPst@
RSSLC@[BVBZ
RSSLfQL#9
RSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSS
RSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSS
RSSLWSSrSSS
RSSMRSBW(
RSSMUnQQSSJUD
RSSMUSSMUSSMUSS8RSSMUSSMUSSMUSSMUSSMUSS
RSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
RSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
RSSmVSS:SSS
RSSN_LFYk
RSSNPSBQ
RSSnPWSSBrs
RSSnSSSk
RSSORSSvQSS
RSSoSSBQ(PSSW@TBTs;
RSS@OULhs
]RSSPLO9
RSSPSSSSSSSSSSSSSSSSSSSSSSSSSSS
RSSpWSBQ(VSSW@TBT(uSSWK9
RSSQABLC
RSSQAJPUs
RSSQBAI9	Bt
RSSQB]IsSSS
RSSQBWBVLs
RSSQBXsSWSSsSSS
RSSQ(dSSW[
RSSQ(dSSWBW
RSSQ(OSSW(NSSWs
RSSQ(PSSWL
RSSQ_P@WTD
RSSqQSSqQSSqQSSqQSS
(RSSQ(QSSW
RSSQ(QSSW
RSSQ(QSSW(
RSSQ(QSSW@VBVNeQEyBV@[B[j
RSS|QSBQPs
RSS	QSS	QSS	QSS	QSS
RSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS
RSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS
RSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS
RSS_QSS_QSSVSSS_QSS_QSS_QSS
RSSQU[sSSS
RSSQ(VSSW(
RSSQ(VSSW(nSSW[
RSSQ(VSSW(|SSWUB_ABI
RSSQ(VSSW(|SSWUBYA]I
RSSQ(VSSW(USSWs
RSSQ(VSSW(USSW@UBUsS
RSSQ(VSSWY[B]
RSSQ@WBW
RSSQ(WSSW
RSSQ(WSSW@[B[s
RSSQ(WSSW[K
RSSQ(WSSWN
RSSQ(WSSW@YBYs
RSSQ(XSSWAgLy
RSSQ(XSSWPL_9
RSSQ(XSSWPLC9
RSSQ(XSSWPM9
RSSQ(XSSWPO9
RSS@R2SSSUSlQSSUS
RSSrPSBWP
RSSRQSSRQSSHQSS
RSSRQSSRQSSk]QSS[E
RSS	RSBL
RSS)RSSk
RSS]RSSk
RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSSoRSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSSVSSS;RSS;RSS;RSS4SSS;RSS;RSS;RSS;RSS;RSS
RSSRSSSS
RSSRSSSVSSS
RSSRSSSWSSS
._RSsRTSSS@S
RSSScSSSSSSSSS
RSSS@S @
RSSS@S3E
RSSS@S4SRSRS3
RSSS@S5O
|RSSS@S8RRSRS
RSSS@S9VRSRS
RSSS@SaO
RSS'SSBE_Qs'QSS9
RSSS@SbG
RSSS@SBH
RSS]SSBQj
RSSS@SBVRSRS
@RSSS@S"C
RSSS@SCE
RSSS@S_DEVRSSSSS
RSSS@SDWRSRS#
RSSS@S|EEVRSS@PSSS@SmEEVRSC
RSSS@SEO
RSSS@SEo._RS
RSSS@SeSRSRS#
RSSS@SgQRSRS
RSSS@S|H
RSSS@SJH
RSSS@SKSRSRS
RSSS@SkVRSRS
RSSS@SmH
RSSS@S;m._RS
RSSS@SnD
RSSS@SoWRSRS
RSSS@S PRSRS
RSSS@SpVRSRS
RSSS@S(QRSRS
RSSS@S?QRSRS
RSSSSQSSSSSSSSSSSSSSS
RSSsSQSSTeWEXx[TsS
RSSS@SqWRSRS
RSSS@SQXRSRSCzQSSS@SFXRSRS
RSSS@SrE
RSSSSRSSSS!SS
._RSSSSS
._RSSSSS2''20;SSSSSSSSSS
RSS!SSSAQSS
rSS_SSSKSSSCSSS3QSSkRSScRSS:SSSCSSS
RSS'SSSpRSS
RSSS@SsQRSRS#
RSS[sSSRS
RSSS@S	SRSRS
RSS]SSSrSSS[SSSTSSS
._RSs__SSS@S
*RSSsSSSQBT
RSSsSSSQBZ
RSSSSSSQLc
RSSSSSSQSSS
RSSSSSS_RSS
RSSSSSSRSSScRSS
RSSSSSSSSRSSSSSSSSSSSSSSS
RSSSSSSSSRSSSSSSSSSSSSSSSpQGSL
RSSSSSSSSRSSSSSSSSSSSSSSS|QGSL
RSSSSSSSSSS
RSS_SSSsSSS[SSS
RSSSSSSSSSSSSS
RSSSSSSSSSSSSSS
RSSSSSSSSSSSSSSlQSSSSSSSSSSSSSS
RSSSSSSSSSSSSSSSSSS
RSSSSSSSSSSSSSSSSSSSSSS
RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSgRSSSSSSSSSSSSSS
RSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSKSS
RSS[SSSTSSS
RSSS@SSVRSRS
RSSS@STH3_RS
RSSS@StSRSRS
RSSS@Suo._RS3
RSSsSUSSUsWWSS9
RSSS@SVO
RSSS@S)vpBRS
RSS[(|SSWABTL
RSSS@SWE
RSSS@S(WRSRS#
RSSS@S;WRSRS
RSSS@S|WRSRS
RSSS@S[WRSRSc
RSSsSWSSU
RSSS@SXI
RSSS@SYQRSRS
RSSS@SYSRSRS
RSSS@S|z
RSSSVSSSSSSSSS
RSSSVSSSSSSSSSSSSSSS
RSST(6RSW(4RSWs
RSST(6RSW(:RSWs
RSST(6RSW(;RSWs
RSSTBUgFQ(VSSWsPSS
RSS@TB[vBY
RSSTOhFRSSTOm
rSSTqSSEqSSwqSSaqSS
RSSTSSBARE
RSStSSBPE9
RSSTsSWSS
RSSU9@[UVg
RSSUBGK9
RSSUBXe[UBY
RSSUikRSSTD9
!RSSULC9
RSSULs3Yk
RSSUM3Yk
RSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSS
RSSUQ(VSSW(nSSW
RSSURSBQs
RSSUsC[SSo
RSSUsKRSS9
RSSUSSBWL
RSSUsScSS
RSSUsSCSS
RSSUsS#RSh
RSSUsSSLS
RSSUsS[SS
RSSUsSSUSh
RSSuSSSuSSS
RSSUsSSVS
RSSUsUWSS9
RSSvQSSrQSS
RSSVRSSeSSS
RSSVSSBWD9
._RSs|VSSS@S
RSSVSSSVSSSk
RSSvSSSvSSSo@SSsQSS
RSSVSSSVSSSxSSSxSSSxSSSxSSS
._RSSVTSSS@S
RSSvWSSSSSSSSSSSSSS
RSSWRSBQs
RSS|WSBQ
RSS"WSBQj
RSSWSSBQ(RSSW@ZBZ(QSSWK9
RSS WSS'QSS
RSS;WSS-SSS
RSS WSSSSSS
RSS	WSSwTSSzPSS
RSS@WTD9
RSS@WxTs
RSSWYQD9
RSSxiPM9
RSSxRSSeRSS
RSSXRSSSSSS
RSSxR[XWT
RSSxSSSxSSS
RSS[:XT9YUI9
RSS[:XT9YUK9
RSS_x_[TM9
RSSyPSSZRSS
RSSYRSSYRSS
RSSYSSBPj
RSSySSSLSSS
RSSYWSSVRSS SSS
RSSZBWdUs
*RSSZI	@VBVT
RSSZsS3SS9
RSSZsSRSSfUs
RSSZsSWSS
RSS@ZTBYT
rsTgqggMR
r?s?t?u?v?w?
RSTU(VWXYZ[
RSU@]BCM9
RSU@]BFO9
RSU@]BVL
RSU@CBCj
RSU@DBDqSS
RSUEyAPQsCPSS9
RSUEyAQs
RSUEyEYT
RSUEyPsSQSS
RSUEyQsCRSS9
RSUEyTD9
RSU@FE@GBF
RSUFy[LK9
RSUFyTVeFQsKPSS9
RSU@IBVLc9
RSU@IBVLi9
RSUiWRSSUPM9
RSUj2WSSUD9
RSUjHRSSUD9
RSUjJ_SSU
RSUj:RSSD9@WBH9@pBWBpo
RSUj[RSSk
RSUj)RSSUD9
RSU@KUs]RSS9
RSULK1T3YUiL
RSULK1U3y
RSUM1B[3
RSU@NBWI
RSU@NBWLs
RSU@OBOj
RSU@pBpjEPSSBpD
RSU@pBUJ9
RSUPQLX9
RSUQsKASS9
RSUSSSS !:)1:
RSUSSSS1#
RSUSSSS 2?:'*
RSUSSSS7??
RSU@TBTj
RSU@UBUE|QFyBUsSQSS
RSU@UBUj
RSUuD9XTB]|bTI9	BX
RSUuDyEy
RSUuEyEyEy
RSUuEyPcWS
RSUuTYUL
RSUuUqSS
RSUuUqSS)
RSUuUqSSE
RSUuUqSSQ
RSUuxTWs
RSU@VBVj
RSU@WBFK9
RSU@WBGK9
RSU@WB@K9
RSU@wBYI
RSUx1D@UE_AB[9U
RSUXBCI9
RSUXBCK9
RSUXBCO9
RSU@XBGO9
RSU@XB@O9
RSUXBUJ9
RSU@XBVI
RSU@XBVL
RSUXBVLk9
RSU@xBWLs
RSUxKQsTRS
RSUXQLG9
RSU@xWLG9
RSUxXQsWRS
RSU@yBWLs
RSUYD@WUj
RSUyPcWS
RSUyPcWSOQSS
RSUYQLs9
RSUYUE|BQsRSS
RSU@zBVLs9
RSU@ZBZLC9daBZr
rSVAZS_]OXVA
((rSvBL[GLE
RSW(6RSW(
RSW(6RSW(5RSWs
RSW(6RSW(5VSWZ
RSW(7VSWAO
RSW@ABX@BBX
RSW@BBB@YBB
RSW@_B_@[B[@VB[
RSWB_K9	
RSW@[B[N
RSW@@B@sSRSSdTsSRSSxQB@@JB[BJ
RSWBuK9	
RSW@[B[@VBV@WBV
RSW@_B_@XBX@UBX
RSW@][D9
RSW@FBX@GBX
RSWgMQBVsRSSQ
RSW@NBMO9	BN
RSW@OBOs
RSW@qBqsSRSSdTsSRSSxQBq@wBVD
RSW@rBrs
RSW@sBs@IBI@YBI
RSWsSCSS
RSWsSGSS
RSWsSKSS
RSWsSOSS
RSWsSRSS
RSWsS[SS
RSWsS_SS
RSWsSSSU
RSWsSWSS
RSW@TBW@UBW
RSW@UBUBTK9	
RSW@UBU_BU
RSW@UBULY
RSW@UBUN
RSWUpSSSSSS
RSW@VBVB[K9	
RSW@VBVBTK9	
RSW@VBVBYK9	
RSW@WBW_BW
RSW@WEBW(6RSW(:RSW
RSW@WZBW(6RSW(:RSW
RSWXQT(6RSW(5VSWZ
RSWXT(6RSW(4RSWs
RSWXT(6RSW(5RSWs
RSWXT(6RSW(5VSWA]M
RSWXT(6RSW(;RSW
RSWXT(6RSW(;RSW@;B;s
RSWXT(6RSW(:RSWs
RSWXT(6RSW(;RSWs
RSWXT(6RSW(:RSWs5QSS
RSWXT(6RSW(:RSWs5QSSeAprx
RSWXT(6RSW(:RSWsiRSS
RSWXT(6RSW(:RSW@VBVs
RSWXT(6RSW(:RSW@VBVsiRSS
RSWXT@CBC@_BC
RSW@YBW@ZBW
RSW@YBY_BY@[B[@UB[
RSWYUD3_ULkdVULne
RSW@ZBZ@[B[@VB[
RSW@ZBZLCdWLCxQBZ@XZBX
rsykusyPusyAusy6usy
rS]Y]]yfY
RS@YZ][LHD
r||||t|||||||
||||r|||||||T
||||r|||||||T;
)))r_t]A@Z
rt@@@@B@A@
RT@@@@B@A@2 @C
RTB[AM[EE
rT@@@@B@B@2 @j
RTdV[[[v[[[
R#te?oooo
r#te?#te?
RtgAggqz*L
rTgebgfG
Rtgqggm_
rTgqggR	[
RT_H[JYZ
RT_H[[KDOKQY
RTHMHZOMZHZH
r|t(i|3Mt|
rTimeMax
RTJFEELJ]NH[KHNL
RtlAbsoluteToSelfRelativeSD
RtlAddAccessAllowedAce
RtlAddFunctionTable
RtlAddGrowableFunctionTable
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlCaptureContext
RtlCompareUnicodeString
RtlCopyUnicodeString
RtlCreateSecurityDescriptor
RtlDeleteFunctionTable
RtlDeleteGrowableFunctionTable
RtlEqualSid
RtlEqualUnicodeString
#)))RTLEZLRT
RTLEZLRT
RTLEZLRZL]JFFB@L
RtlFreeUnicodeString
RtlGetDaclSecurityDescriptor
RtlGetGroupSecurityDescriptor
RtlGetNativeSystemInformation
RtlGetOwnerSecurityDescriptor
RtlGetSaclSecurityDescriptor
RtlGetVersion
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlIpv4AddressToStringA
RtlIpv4AddressToStringW
RtlIpv6AddressToStringA
RtlIpv6AddressToStringW
||||r|||t|||Lj
(rTllllllllmllllOllylm
rTllllllllmllllOllylm
RtlLookupFunctionEntry
RtlNtStatusToDosError
RtlPcToFileHeader
RtlPrefixUnicodeString
RtlRandomEx
RtlSecureZeroMemory
	RtlSetDaclSecurityDescriptor
RtlUnwind
RtlUnwindEx
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlValidRelativeSecurityDescriptor
RtlVirtualUnwind
 RtMa_"CD
RT@ODFM@OPMZ
rtOF[@@G[HGNL
")))RTOT
rtpconfigflags
RtpContextData
RTPContextualData
rtpdesiredaccess
rtphresult
rtpnewfilehint
RtpNotificationDropped
rtpprocesscreationtime
rtpprocessfriendly
rtpprocessid
RtpProcessInfo
rtpprocessname
RT][PRFX
RT][PR@O
RT][PROZF
RT][PRZAH
RT][PRZ][@GN
rtpscanreason
RtpScanTelemetry
RtpSkipRule
RtpSkipRuleEx
rtpstate
rtpstatebitfield
rtrJtrJt
RTRRRXRPRPRYRY
RTRT@YURT
R||tS||]S||FS||2S||
RTT_H[[DL]KZF
RTT_H[E@GB
rttimehistory
rttimestddev
RTTJH]JA
RTTLUTWTLYR
RTTTJH]JA
R||tV||LV||4V||
rT[[[Z[[[
RtzgiggfwvX
RT[[[Z[[[O[[[
R[TZVTWQ
r||||u|||||||
R	U4GO	uO
R	U4GW	uO
r@@@@@u@@A@AAac
R@u@@A@AAacoo
RuDDFMZF
RuDgqgg'R
)))RuDKF[ML[KFQY[
#)))RuDKFQY[
rUdN[[[5[[[
rUd TIdR
R'UdZ[[[
R#';-UeggG
(*RuFKCLJ]
(-RuFKCLJ]
)))RuFKCLJ]
RuFKCLJ]
((RuFKCLJ]Ru
")))RuFKCLJ]T
RuFKCLJ]u
)))RuFKCMH]H
!)(RuFKCMH]HRuFKCLDKuFKCMH]Hu
rU|@gkkgfGY_y
 rugqggc)
RuHGZ@uHGZ@JYN
RuleAction
RULE_DISABLE_AUDIT_INHERITANCE
RULE_DISABLE_BLOCK_INHERITANCE
ruletype
RULETYPE_CONSUMER
RULETYPE_ENTERPRISE
RULETYPE_TELEMETRY_ONLY
RUllllllllmllllOllylm
ruMtruMu
RunFirewallCleanup
Runonceex
run_only_on_up_machine
run() recursive call limit met
"Run Started"
Run Started
"Run Stopped"
Run Stopped
runtime built-ins init failed
	)))Ru[]O
')))Ru[]O
)))Ru[]O
.)))Ru[]O
:)))Ru[]O
;)))Ru[]O
[)))Ru[]O
])))Ru[]O
|)))Ru[]O
RuOFG]]KERuO
)))Ru[]OLZ]@DH]LMMH]LFOZA@YDLG]
)))Ru[]Ou
	)))Ru[]OuYH[
R)))uO]Y
R)))UQJP
rUQ(VSSW(nSSW
||ru||s|
?)))RuTuRu
RUURSzxsySUUS
Ru|wSu|bSu|MSu|5Su|
RUXDGDQPT
RuY@J]uCYLNKE@YuY@J
ruyyyyyyyyyxyyy
)))RuZAYTuMO[QZ]
r||||v|||||||
Rv||||||||||||||||
RV@@@@@@A@[pSL
rVCgqgg3
?RVdK[[[
rveB[[[w[[[v[[[
rveN[[[Z[[[
rveV[[[g[[[
rvex[[[8[[[
rvey[[[R[[[
#RvfgfGY
rvgqggvc
rVg	ugfGkg
rvg!xgfG
RVgybgfGu
rVHgqggZ
Rv||||||||L
rvlllllllllmllllOllylmv
R:VllllllllmllllOllylm:
RVllllllllmllllOllylm
rv[llllllllmllllOllylmx
R|vodo9ogo
R!VoLegfG
Rvpgppepq
RV@@@@@@@@[p]L
RVRxxxxRV
RVSSS4SSSSSSSSSSSSSSS
RvU'xpgppepq
RvvLGvvCZvvLM@]F[
RvvMvZ@N@G_T
|R|||v|v|||||R|R|R|||1|
R_@@@@@w@@A@AAacoo
R[[[)"WdD[[[
rWdJ[[[v[[[
rWdU[[[f[[[
RWdU[[[I[[[
rWdY[[[Z[[[k[[[F
r	w fD;P
RWgqgg7[
rWgqggJL
r!wJD;:r
rWllllllllmllllOllylm
RWllllllllmllllOllylm
Rw!mV[[[
r?WOgfG6
R)WPWpW(Z
rWsm2[ H
RWSSSSSSSS
-||r.||x
]:Rx0ULo9
Rx5T(6RSW(;RSWs
Rx5xxzxzxzxxyxUy
rx8y@HOM
RX@@A@; G[
]*RxbBTpSSSS
RxbBTpSSSS
R)xBg5kgfG
RXbgfGd4
rxbx8x1x8x
r@#XCCNCCCBACC
R]xdA[[[
RxdA[[[5[[[4[[[
[[[R]xdB[[[
R]xdB[[[
RxdB[[[:[[[
RxdB[[[T[[[
RxdF[[[y[[[
[[[R]xdH[[[
Rxd@[[[j[[[n[[[
R]xdK[[[
R]xdK[[[a[[[
RxdM[[[t[[[
R]xd_[[[N[[[M[[[
R]xdP[[[
R]xdQ[[[
R]xdX[[[
rxdyZx]x
R]xdZ[[[9[[[
rX]@ECLMEL[KF
rxgAkgfGc
rxg_ggfG
rxgzXxyxxllo
RXhg9eggw
rxhxs9JJJ	
rxhyIIVHHVANHHVI@HA@rxCy;
rxhznrXx
]|RxiUL'9
r(Xk05JD
RXK@FJ@A
rXkgqgg	
rxkznrXx
rxkznsXx
|rXllllllllmllllOllylm]
RxllllllllmllllOllylm
rxly?:X(
r||||x||||||||n
rxoyJHMVJKLVIKLVIHJxIVHVHVHrxXy
rxozk|i|
rXpgppepq0
rxpxJHHMHIHIrxHx
rxpxnrXx
rxpxnrXx"xx
rxpxnsXx
rxpxntXx"xx
rxpyx      xrxpy
rxqy]1NL
rxQYbllllllllmllllOllylm
RXRTaa]Y]]L
rxrx2716X]
rxry313:
Rxs@@@@@
RXS5RXS'RXS
R||xS||hS||YS||NS||CS||kU||]U||4S||*S||
RXSSQXS]QXSOQXSyQXSkQXS
rxsy]UJL
rxSzUxUx6x
Rx	T(6RSW(5RSWs
rxtzXx4xx
rxuyHHKxIVOx
RXVg9kgfG
rxvyt)4885QZV]AXY
rxvznrXx
rxvznrXx4xx
rxvznsXx
rxvznsXx4xx
RXW15yxqy
rxwx9.(V9
rxwyI4*G.O5 J6
rx|x2716rx|x61;3rx
Rxx|@Emxx
rxxrUcgdyxXyP
rxxx(xxlxlxzxY[9
rXxxxy]?
rxxx]Y]]
Rxx]Y]]L
rxXy:xxi
rxxyzxDz.
rxybuxyAuxy.uxy
rxycuxy@uxy!uxy
RxyeiyyARxyyyyyyyyy
rxyhuxyUuxy2uxy
RxyjUxyWUxy3Uxy
rxyltxyPtxyWtxyWtxy
rxymuxy]uxyOuxy1uxy-uxy
RxynUxyKUxy6Uxy
rxypuxyQuxy0uxy
Rxyqiyy-Rxyyyyyyyyy
RxyqUxy_UxyBUxy)Uxy
RxyqUxyYUxyAUxy)Uxy
rxy!rxy1rxyErxy]rxyyyyy
Rxy!Rxy1RxyORxyQRxyyyyyuRxy
RxysUxyZUxy9Uxy"Uxy
rxytuxyWuxy2uxy
rxyurxyHuxy
rxy|uxykuxyduxy[uxy_uxyRuxyIuxyLuxyAuxy
rxywuxyHuxy(uxy
rxyxbyBxWxWx
rxyxdy;'1
rxyxQy;'?
rxyxwyx9
rxyx[yx1
rxyxyx4xxyxiy-
|RxyxYyw
Rxyyiyyyyyyyyyyyyyyyyyyyyyy
(|Rxyy*j
RxyyyyyMy:
(rxyyyyyy
Rxyyyyyyyyyyyyyyyyy
rxYzJHHVIIVJKJVNK
r||||y|||||||
r!((]Y]]
r'((]Y]]
r@@@@]Y]][
r]Y]])]]
R'((]Y]]
R@@@@]Y]]
Ry-AAAAAAAAaqAQ
r@YALEYL[
ryAruyyyyyyyyyxyyy
ryAyuyyyyy
rYcpgppepq
RyfIAAAA@AAAAACQ
rYfJ[[[N[[[
R())Y[FN[HDO@ELZM@[J
RY[FN[HDvYH]A
r)))Y[FO
rY[FO@EL
rYF[]ZJHGGL[vMEE
RYFZ]KFMP
RYggfGAG
RYgGfgfw
R]YGXCZYHHKS[
RYHdU[[[u[[[
)))rYH[HDL]L[
rYH[HDL]L[
RYHMM@GN
RYHPEFHM
R]Y]]#i_
ryIxyyyIqImIUIMI-I
r|||y|||j|||m|||r|||y|||j|||m|||r|||y|||j|||m|||r|||y|||j|||m|||s|||z|||k|||n|||
r|||y|||j|||m|||r|||y|||j|||m|||r|||y|||j|||m|||t|||p|||o|||i|||q|||v|||v|||
R[|yjQmI
R|yjU|yLU|y
RY_kIkK]Qp]Z_Z
)))RY[L_LG]LQ@]YFY
rYllllllllmllllOllylm
rYllllllllmlll]Y]]
*..rYLL[ZtrEFJHEt
RYL[OF[DHYYEL]JFML
r)))Y[LYH[LKHJBMFF[ZALEEJY
RYMTSPUMXP
rymuuyyyyyyyyyxyyy
R@YnSSSS
RyPd_[[[
RYpgppepq
_r*YpgppepqO1
r|yPu|y3u|y
R|ysU|y]U|y9U|y)U|y#U|y
rYtgfG3t
]]r_Y@tr
ryUuuyyyyyyyyyxyyy
ry!uuyyyyyyyyyxyyy
		Ryx8yU!
RYXkIkK]Qp]Z_Z
RYxQEYUy
ryx'xx|x|x|xxyxrx
-ryy1qyyiIcl
ryy7qxxyy
ryy9xyyQyyyoyz
RyyaUyyHUyy2Uyy
ryy@Dao*
ryyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
RyyjUyySUyyFUyy)Uyy
RYYkIkK]Qp]Z_Z
ryyqIC1?
ryyquyyIuyy!uyy
ryyQyyyoyz
*ryy!ryF
RyysUyyZUyyOUyy6Uyy
RyytUyySUyyDUyy-Uyy
ryyuuyyUuyy)uyy	uyyyyyyQyyy)yyy
RyyXYyyMYyy(Yyy
Ryyxyyyxyyyxyyy
ryyy02yyp555552yp5yyzryyzzyywyyy
ryyy9yyyuyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ryyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
ryyyIyyyuyyyoyyyyyyyyyyyyyy9yy
RyyyIyyy_yyycyyyyyyyyyyyyyy9yy
ryyyjyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ryyyjyyy
ryyyryyyuyyyxyyyq
ryyyuyyEuyy
ryyyuyyeuyyAuyy-uyy	uyyyyyyQyyy)yyy
RyyyUyy]Uyy1Uyy
ryyyxYyyYyyy
ry)yyyeI
ryyyYxyyuyyy
ryyyyyQzuytyy
ryyyyyyQyyy)yyy
ryyy)yyyuyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ryyyyyyydyy
ryyyyyyyryyyyyyyyyyyi
RyyyYyyyUyyy
ryyyyyyyuyyyyyyyuyyyyyyyryyyyyyyyyyyi
Ryyyyyyyyy
ryyyyyyyyyy
ryyyyyyyyyy0H
ryyyyyyyyyy3H
RyyyyyyyyyyyyyyyYyyy
ryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
ryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
ryyyziyy9o
RyyzUyyrUyyjUyyQUyyBUyy-Uyy
rYZFKCLJ]t
RYZkIkK]Qp]Z_Z
r||||z|||||||
"R[[[Z[[[
[[[R[[[Z[[[
R[[[Z[[[
R@@@@@z@@A@AAac
r)))ZALL]
R)))ZALL]
RZdA[[[m[[[
RZdgqgg[
RZDHZAv_]HKEL
[[[R-ZdL[[[
r)))ZFJBL]
rZFJBZY[FQP
"[[[r_ZfX[[[
RzgAbgfG
rzg)fgfGI
rZgfGYH8
RZggegfG
rZg	ngfG
RZ][@GNH
RZ][@GNK
RZ][@GN[L]
RZ][@GNO@ELGHDL
rZ][@GNrttrZPZ]LD
)))rZ][@GNt
?)))rZ][@GNt
rZ][@GNt
)))rZ][@GNtrJAH[rtti
rZ][@GNtrZPZ]LD
RZ][@GNvFOvCZFG
rZ][@GNZt
]RZgqgg	P
RzgWTgfGK
)))RZ]H[]
R)))Z]H[]
RZIllllllllmllllOllylm
r)))ZJA]HZBZ
rzJgisgfG
rZJ[@Y]KEFJBt
RZJ[@Y]]LQ]
RZJ[@Y]vM@[T
R_[[[Z[[[K[[[M
rzL;[8t2I
r)))ZLELJ]GHDLvFGvJH[M
RZL]@G]L[_HE
")))rZL]]@GNt
rZL]]@GNZt
rZL]]@GNZtJA[FDL@M
((rZL]]@GNZtYH[HD
r)))ZL]H
RZLH[JA]L[DZT
||||r|||z|||Lj
RZL]JFFB@L
rZLJ]@FGtu
RZLJr]FPt
rzllllllllmllllOllylm
R)))ZL]Y[FQP
rZL[_@ZEL[t
RZLZZ@FG
RzMdW[[[
Rzpgppepq
R)))ZPZJ]E
	)))rZPZ]LD
)))rZPZ]LD
)))RZPZ]LD
rZPZ]LDrL_LG]@M
rzrzzTzzzzzzz[7[[D
rzrzzVzzz*
rzrzzxzzz
RZSSS@SXERSRS#PZSSS@SsE[SRS
|rzuztzwzvzizhzkzjzmzlzoznz
RZxgqgg8
rzyakzy)kzyMkzy
R)))ZYE@]
rzyfuzy9uzy
RzyoUzyFUzy
rzyUuzyiuzyMqzy
))s)))))
[[['[[[s
||||||s|
||||s|||||||
s|||||||
!S@@@@@@@@
(|||)||S)||")||
))S))))(
))S)))))
S@@@@@@@@
s0-gIkgfG
S0H;S8tK;z
s0IllllllllmllllOllylmw
S0)mggfw
s0pgppepqsL
S0S0S6S S S
S0S2S0S;S6SSSSSSS
S0y#NmgfG
S0y-NmgfG
-S1[3['1Z1K
s1@@@@@@A@epEE
S@1@@E@AEac
S1g5ggfG
S1g7bgfG
S1gqggKSl
S_ 1IgAgg
"s1	Opgppepq
S1pgppepq
[[[s1RdC[[[h[[[
S1S*S'S6S
S1S*S'S6SSS
S1xoecgfG'
S2@@BVI9
S2gqgg"|
[[[s2HdK[[[
!s 2llllllllmllllOllylm
s2llllllllmllllOllylmM?
s2paggngfG
s)2pgppepq
S2pgppepqS m
S2S0S8S6S7S
S2S1SsSaScScSjSsS
S2S1SsSaScScSjSSSSS
S2S4S:S0S
S2S7S7S!S6S S S
S2S7S7S!S6S S SSS
S2S7S7S!S6S S SSSSSSS
S2S7S7S!SSS
S2S7S7S!SSSSSSSSS
S2S[RCSvRSSrS2S2S[RCS
S2S)S2S!S7SSSSSSS
S2S*S6S!S
S2S*S6S!SbS
S2S S6SSSSSSSSS
S2S!S7S7S:S S8S
S2S!S7S7S:S S8SSSsSSSSQOSjWRSSUSSSS
S2S!S7S7S:S S8SSSSSSSSS
S2S:S?S6S7S
S2S#S#S7S2S'S2S
S2S:S?SSS
S2S?S:S'S*S
S2S!SSSSS
S2S'SSSSSSS
S2S*SSSSSSSSS
S2@UBVI9
S2@WBWTI9
S2YDXUvs
S3Eveks4
S3fggfwn
S3gMqgfG
S)3gqgg7[
s3gqggW0
S3gUkgfG
s3kgqggc
S3llllllllmllllOllylmxm
_[s3lSSeEQ(VSSWsW3S
S3QSSsSS
S3S2S1S0S7S6S5S4S;S:S9SRSQSWSVSUSTSES
S3@@@@]Y]]
S4dllllllllmllllOllylm
S4FM'Ue0u*P
S4g3dgfG
S;4gqggY
s4kpgppepq
;||s4||R4||24||
S4SRSSSSS
S   !    5
S5@@@@@@B@Lp@W
s5d_[[[g
s5dL[[[H[[[q[[[
s5dS[[[B[[[
"s5dT[[[
!s5dU[[[
"s5dV[[[
"s5dY[[[
S5Dyyyw@
S5gqgg	a
s5gwegfGeU
S5ISgAgg
S5@@@@@@@@kp@@@@@@@@@@B@@@Hp@TR
S5S2S:S?S6S7S
S5S5S S6S'SSSSS
S5S5S S6S'SSSSSSSSS
S5S:S!S S'S
S5S SSSSSSSSS
s5ugqgg]
[[[s6fdV[[[
s6g9dgfGpAMNgqggHA
s6llllllllmllllOllylm
s6llllllllmllllOllylmgm
s6pgppepq
S6S2S7S6S!S
S6S2S!SSS
S6S2S?SSS
S6S2S'SSSSSSS
S6SSSS5SSSS4SSSS;SSSSzSSSSSSSSS
*s)6)u)v)w)x)y)
s7@@@@B@A@Hp@S
s[[[	7hf@[[[
S[[[	7hfS[[[R[[[
S7S7S!S6S S SSSSS
S7S7S!S6S S SSSSSSS
S7S7S!SSSSS
S7SSSSSwS
s7TdF[[[
s7tgqgg4
[[[s7XdM[[[
S88c|.Eh
S8H9S0u'
S8llllllllmllllOllylm
@s8pirAV
S8S6S*SSSSSSSSS
S8SRSSSSS
@@S8@@S*@@S
s||8u't4
s(8((]Y]]
S9dQEy[(
S9dQEyBU(
S9dQEyBV(
S9dQEyBZ(
S9Ggqggvp
S9gWfgfG?
s9Gyyyyy9r9yyy
S9itn@m1
s9llllllllmllllOllylm-
S9llllllllmllllOllylm
s9pgppepq	
[[[s[[[a
s@@@@@@@A@
SaAa]aAa
SaAAAAAA@AAAAAC
sAAAAAA@AAAAAC
SAAAAAA@AAAAAC
SAAAAAA@AAAAACc
SAAAAAA@AAAAACg3w
SAAAA@AAAAAC
SAAAAaAAAOqAE
sAAAAAA@Amqee
#)@@@@@s@@A@AAac
#@@@@@s@@A@AAac
*@@@@@s@@A@AAac
?(@@@@@s@@A@AAac
@@@@@s@@A@AAac
@s@@A@AAac
sAAAACA@@3!ATP
@s@@A@AAacoo
S"@|@@A@AAacoo
S;AAAA]Y]]
s@@@@@AAAXpDDL
@@@@@s@@A@ACac
@s@@A@ACac
@@@@@s@@A@ADac
;@s@@A@AEac
S*aagqgg
SAAHFH]NN@
SAAL_A@HHGX[
SAAXMQ]M
SAAXP@GMQXH
sA@BAXpTD
[SABJCXXDA
SABKAHPDCN]
SA_B]PFJH
_SACAKAFQH
sACCAAQ1AAAAAAAAAA@AAAE
saCCNCCCBACC
s@@ACh DZTTG
SACMABZDP
_S[ACPJY
SA]CSPXQ_NBLZPS
S@@A@; CYG
_SAC]ZOOK
SACZSFBK@[
SADA]MCQ
"sAdH[[[?[[[
SADHS]APXMP
@SADNPXPCBZJ
SADOLKOLJK[M
SADXQ]SP
SAE[KGAQEPXKM
SAELG@SL]NPH]
SAE]MKKAPDBDN
S]AENMBHZG[MNO
SafeArrayAccessData
SafeArrayCopy
SafeArrayCreate
SafeArrayCreateVector
SafeArrayDestroy
SafeArrayGetDim
SafeArrayGetVartype
SafeArrayUnaccessData
Safeboot
SafeBoot
safereleasegroup
safereleasering
Safety level may not be changed inside a transaction
SAFMC]ZBN
SAFSONOYCC
SAFYYKQ]]ZLQCB
sag1agfG
sag5dgfG
SAgafgfG
SAGFCQKDG
sA'g'fgfGEd
'SAgfG[n
_SAGFPQO
SAGH]_PL[ONPABLDY
SAG]JDYH_SA
SAgMkgfG
sAgqggFT
sag]ugfG
SAGX]QX[
S_AG_YQH
sAg'zgfG
SA[HB[@ND]
_SA[]HDL
;)))SAHDLAH[MLG
*s@@A@h DZTTG
SAHGAFGN
SAHGNPHGNC@GN
SAHHSBJQKMH
S@@A@h KJ
s@@A@h NN]
s@@@@@@A@h Pf
s@@@@@@A@HpF
s@@A@h ST
s@@A@h T
S@@@@@@A@h Up
SA]JAZBPOEHOJFHX
SAJCLYMM
sAJdJ[[[
SAJLQQH]CGP
SAKCCSOZS_G
SAKCQXNZ
SAKHD]Q[G_X
SAK]LPKK
S]AK][[SQCK
SAL]B_BAZ
sAlgqggl3
SALJBPZSAL
sallllllllmllllOllylm
S__]A[LM_
S)))A[LO
SALQEKMX
SALQ@GN]@DZ
samaccountname
samaccountname_scrubbed
]SAMDYFMAMOHYY
_[SAMGMSO]L
SAMLESX_J@H
sampleconsentrequired
sampledata
Samplefileelamfile
Samplefilehidden
Samplefilerecalled
Samplefilerootkit
Samplefilesubmissiononly
sAMPLEoNLYaTTRIBUTE 
sampleparameter
samplerate
SAMPLEREQ
SampleRequest
SampleSubmission
samplesubmissionineligiblereason
sampletype
SAn2?6 gfGh
sandboxed
SANKJMXJH
@@@@@SA@O@A@ac
SAOBGXOG_]
@@@@@SA@O@ECac
SAOFBGJYK
S]AOJJ@DDZHX
S?@@@@@@A@[p
SAPAZZ]O
SAPBHDSN
SA-pgppepq
_SApgppepqo6
s@@@@A@@@[ppL
SAPZSS_BQXF
SAQ@AA[_M
SAQC]K_[
S[AQCOBM
SAQJQMXJ
SAQJZ@[AKLQ[S
SAQLC_EK
SAQL[C]S
SAQLSLHKH]SBJ]JC
SA[QMBMQCL]
]SAQNJPPMP_JAQ
SaScSaScSSSSSSS
S_A[SGOEQY
[SASN_ZXL
SAS]PM@]
SaSSSSQSSsS
SaSSSSQSSuS
SaSSSSSSS
s ATAVAWH
satgqggb]0
Saturday
sAWgqgg[
SAXEYAHKA
SAX[GOZCF_
]SA[XKXMMJO
s)))A]]Y
S)))A]]Y
SAYAZPXCH
SA@Y_KE_
)))SAYNJFEELNL
SAYODCHC
S_AYPDYEP
[SA@_Y@S
]SAYXDSEL]
SAYYPS[A]SA
SAZMQG]JC
S_@AZQ[[
s@@@@@@B@
sb7gqggf
sb7ugfGo
SB9g;egfG
_S@@@@B@A@@
S:@@@@B@A@@
S@@@@B@A@
s	@@@@B@A@2 @A
s@@@@B@A@2 @C
s@@@@B@A@2 @I
s@B@A@2 @N
sbAAAA@AAAAAC
@@@@@s@@B@ACac
@s@@B@ACac
!S@@@@BACAHp@c
 S*@@@@@BACNpf@@@@@Yg
s@@@@B@ADHp@O
S_BAEKAH
SB@@A@h EM
s@@@@@BA@h M@@@@@
s@@@@B@A@Hp@L
s@@@@B@A@Hp@L0
SBalR[[[
SBAMFQHOYP
sb@@A@; UT
s@BA@; X@@@@@N
!S@@@@BBA@bp@@@@@@@@@@B@A@Hp@R
sBBBBBBB
SBBBBBBB
SBBC[AZBPQC
[SBBDHOKHF
SBBGXYMHPAGQ
s)))BBIFMU]
@sBBLC9l|
SBB]_XNMN][OBMA
SBBZOBCHQOXODSL
!S@@@@B@CAap@D?
s@@@@B@CAJp@C
sBCDnDDMeg
SB_CDNXO
SBCGPSPSANSJ
[[[s[b[c[h[k[o[w[o[r[w[
SBCQJHKXB
SBCQ[LQ_
SBC_ZAOGQGLCL
[[['SBdC[[[
s@BdE[[[2[[[
SBDFGGOSJ
SBdG[[[q[[[
-SBdI[[[
_SBD]JF[QCB[
SBDKDHCCA
SBDKQKYFLX
sBDOeUHKH
SBD]SJ_H]C[KDS
SBDSJ]QHL
[_S[BDZEDA
SBEGSGNL@[
SB"eJ[[[c[[[f[[[
SBEQCYH]XDXAE]Y
SBE[QYBX
S]_[BEYJ
]]SB_FJCZG_G@
SBFJHEKYZHJKFANH
]]_SBFNAA
SBg?agfGs4
SBGDCO_MLNH
SBGDKJQH
SBgfGEFJ
sbgfGf]Jqgqggj
sBg!igfG5i
S[BGNKJFDC
S][B[G]_Q
S_B[GQJY_]O
SBGSHCOJBCK
sbgu_gfG'
S_BHDSBSQSKOJ]FHEGGLEMNE
SBHEBXJZBN
SBHGLQQYCX
SBHJP]OCX
SBHKJOZPGGB
SB_HP]EPJ
S@@@@B@@@Hp@TR
s|bHr|o?r
SB]HSHMQ
SB[J]J_D
SBJLSNHHC
]S_BKLNSZN]DQBB
SBKPMJKKF
SBKSKXDL@_
]SBKZJQQJ
s@@@@BLB@Hp@L]#D
SBLD@XXLJLE
SBLHZHZ_
SBLJ_AF_
sBllllllllmllllOllylm
SBllllllllmllllOllylm
sbllllllllmlll]Y]]
s@@@@B@@@Lp@M
SBMDYDPY
SB]MJCS_BZS
S_BMSFD[K]YXHOQCSHYOFCXKGOG
SBMZZSCLSGO
SBNACQQFQF
@SBNCPLPZ_
[SB[NJ_AQFH
SBNLFQQ[NA
s@@@@B@@@Np@E
SB[OG[LJC
[SBOHCXQGAGL]HL
S[BOHOQCP
_SBOJPM]
_SB[ONOAGSP]B]
SBOPJPJPJ
s@@@@B@@@-p@B
SBPBPYZYZ
sBpgppepq
SBpgppepq
S[BPHSPD]D
S@@B@[p]L
_SBPMG_F
SBP_O_]CDP[A]XBNB
SBPOXECJZ
@sBqBr	@qBrD9
SB[QFPDNZ[
SBQKNMA_
SBQLSJ]XC]QA
SBQ_@M[O[MMHB
@sBrBsdWBsxQBrL
@sBrBsf_BrBJ
SbScSSSSSSS
SBSLDSD_
@sBs@LEBL|
SBSLNYAZDFNAYB
SBSMOPZB
@sBssSCSS
SbSSSSQSSsS
SbSSSSQSSuS
SbSSSSSSS
@sBssSWSSfZBsL
@sBTsSRSSd
SBXBZZY[BL
@SBXPO_B
SBYCHEX[
SBYS_EPOO
S[BZAJDA
sBZdF[[[1[[[0[[[#
SBZ]EB[GZ
SBZGAXHDYDJ
SBZGQA[Y]
SBZGZANP]SA
SBZH[KK@BAP]XPA
SB[[[Z[[[K[[[
SBZKM]BM
SBZKNAAP@_
SBZMXXMCEAS
SBZ]SZPY
@SB@[[[@ZZPJ[A@[LDAJYGJJCG
SCAHQQCKEJ[
@SCAJYGXGO
ScanAborted
scanconfigflags
Scan Count
ScanCount
ScanExtraResListResult
scan_internal_data
scanmode
scanned process info not available in GetScannedPPID
ScannedProcessInfo not available in x86dasm
Scanning
Scanning aborted by the user!
scanpage
SCAN_PARAMETERS_DEEP_ANALYSIS
SCAN_PARAMETERS_HSTR_EXHAUSTIVE
SCAN_PARAMETERS_NONE
SCAN_PARAMETERS_VMM_GROW
ScanProcessCommandLine
ScanProcessModules
scanreason
ScanReason
SCANREASON_AMSI
SCANREASON_AMSI_UAC
SCANREASON_GENERICSTREAM
SCANREASON_INMEMORY
SCANREASON_IOAVSTREAM
SCANREASON_MPBHO_ONDETECTION
SCANREASON_MPBHO_ONLOAD
SCANREASON_ONFIRSTREAD
SCANREASON_ONMODIFIEDHANDLECLOSE
SCANREASON_ONMOUNT
SCANREASON_ONOPEN
SCANREASON_ONVOLUMECLEANUP
SCANREASON_ONWRITE
SCANREASON_TRUSTCHECK
SCANREASON_UEFISTREAM
SCANREASON_UNKNOWN
SCANREASON_VALIDATION_CONTENTSCAN
SCANREASON_VALIDATION_PRESCAN
SCAN_REPLY not available in GetHSTRCallerId
SCAN_REPLY not available in GetScannedPPID
SCAN_REPLY not available in GetSMSMappedFilename
SCAN_REPLY not available in GetSMSMemRanges
SCAN_REPLY not available in GetSMSProcArchitecture
SCAN_REPLY not available in GetSMSThreadInfo
SCAN_REPLY not available in ReadProcMem
SCAN_REPLY not available in SMSVirtualQuery
SCAN_REPLY not available in WriteProcByte
SCAN_REPLY not available in x86dasm
ScanResource
scanresult
ScanSize_kB
ScanSizeKB
scansource
ScanSource
SCANSOURCE_ADDITIONAL_ACTIONS
SCANSOURCE_AMSI
SCANSOURCE_AMSI_UAC
SCANSOURCE_BM
SCANSOURCE_BM_CLOUD
SCANSOURCE_BM_RESCAN
SCANSOURCE_CACHE
SCANSOURCE_CLEAN
SCANSOURCE_ELAM
SCANSOURCE_GENSTREAM
SCANSOURCE_HEARTBEAT
SCANSOURCE_IEPROTECT
SCANSOURCE_INFECTIONRESCAN
SCANSOURCE_IOAV_FILE
SCANSOURCE_IOAV_WEB
SCANSOURCE_KNOWNGOODCHECK
SCANSOURCE_LOCAL_ATTESTATION
SCANSOURCE_MAINTENANCE
SCANSOURCE_MPUT
SCANSOURCE_NOTASOURCE
SCANSOURCE_ONDEMAND
SCANSOURCE_REMOTE_ATTESTATION
SCANSOURCE_REPORTINTERNALDETECTION
SCANSOURCE_REPORTLOWFI
SCANSOURCE_RTP
SCANSOURCE_RTSIG
SCANSOURCE_SCHEDULED
SCANSOURCE_SDNCHECK
SCANSOURCE_SENSE
SCANSOURCE_SPYNETREQUEST
SCANSOURCE_STARTUP
SCANSOURCE_TRUSTEDINSTALLER
SCANSOURCE_UCL
SCANSOURCE_UNK_TELEMETRY
ScanTime
scantimems
ScanTime_ms
ScanType
S_CAPMKPFKDBAD
ScatterOffset
_SCBEZOPN
S]CBXMCBY
@S@C@BYP
SCBZDL[[Q
]SCCAHH@OYGMSGKG]_X
ScccLccacJc0
SCCCYCFCO_KP
scCgqgg"
SCCMCX_D
[s]CCNCCCBACC
S_CCNCCCBACC
[SCC[[ZYKCEYP
SC]@D_ANFDJ
SCDKP@[HLQLNAH
SCD@[]SBFMLX_POD
S[CD_]SGYXCA
SCdT[[[:[[[
[]SC]DYF_]
Sc[dZ[[[u[[[
_SCEJJE_CB]LJX_E
S[CEMMNADGL
scenario
SCEZ]HFSOHB
SCFYQCB[BB
sc-gafgfGEh7
S_]_C_GCKB
scgfGm#dBx
SCg;ggfG
sCg_kgfG
SCGK@OHXN
SC[GPGG]BE
SCGQFZHBGLE
S[CGS[J_@@_QA
SCGSPX@Z][PM
_SCGXZNOL
SC[]HBGD
SCHBX[KQH]GM
ScheduledTaskCreate
ScheduledTaskUpdate
ScheduleFFR
schema_version
SCHHZ[JP
s)))CH_HZJ[@Y]
SCH_KCFMXHB
_S[CHXBM
S_[_CHX][J
SCHZ[XNM
SCJQEEB[MAYM
SCJYAJMDLJDZ]YND
SCJYPMCHSBXS
@sCkC_CWC;C3C'C
S]]CKGS_H
S[CKLMMKXYGJ
SCKMKGJFCZ
[SCKSXHP
SCLAHFBXKZMC
SC]_LBP_JD
@sClCYCRCOC8C5C.C
SCLF]HYA_PM
S[CLJXZ]
scllllllllmllllOllylm
sCllllllllmllllOllylm
SCllllllllmllllOllylm
SCLMXY[EHX
SCL@QJYAGJL[
S_CLQXXND
[s[#[c[m[
SCM]CHNXQ@
]SCMC]ZP
SCMHMN_QCDBS
SC][MHPSC
]]SCM@HX@
SCMJQ]M_ZPKC
S[C]MMPCXJN
SCM[_MQCXL[
S[C[MPHEZYKHH
SCMQ@HDXC
SCMQYXHF[ZZKLQK
[[[S[[[C[[[N
SCNBC]O_[
s@CNCCCBACC
SCNCCCBBCC
SCNEFFFBLBZM
@SCNHCMNJ@]F
]SCNJB_BA
SC_][NJDY
S[CNOQDGX
SCNSKNA@L]
scopeofsearch
sCOSS9gUs
SCOSS_A]K
_SCPGDFFP[N
[SCPP]@MQXC
SCPSMX]GGBYJ
]SCPXFXB
@SC[QCLJ
_SCQGOQ]
@S]C]QQ[XA@
SCQSSsSS
SCQYLH[XZADPA
Screensaver
ScreenToClient
scripting.filesystemobject
scriptName
_ScriptName
ScriptName
ScriptPath
Script Scanning
script_scrubbed
(ScriptSrc)
ScriptType
SCRSSSSS
s[cSdgfGi
ScSdSeSfSrSYSZyxTy
SC@SKGZBS
SCSOCC@[A
sCS"Q3sCS!Q#sCS Q
sCS-Q[rCS
ScS[S_SCSCSsS3SUS3Q3SVS
ScSSS#QS
ScSSSSQ[SuS
ScSSSSS5
sC[SSsSSS
;ScSS;S#SS;SS
ScSSSSSSS
SCSSSSSSS
scVd_[[[
SCXGAPQ_
SCXKJQHMNZQKHK
SCXOAQNS
S[C]XYYCZXDFJ
S[_C_[Y@AAYH
SCYMNLQNB
SC]Y]]_ Y
S_CYYCPAS]Q
SCYZ[PKM
SC z5V G
_SCZ_AJD]ASYN
SCZKXYXMSPQKH
SCZSSEEE
S_CZX[ZJ
]s_d_[[[
)Sd@[[[?[[[2[[[
SdA[[[-[[[
SDA]@CZBSM
SDADLZYS
]SD_A[EO
SDAGYLXA
sdA[[[H[[[
SDAJCXXZN
SDAK]ODPO
SdA[[[n[[[
SdA[[[q[[[
SdA[[[q[[[f[[[
SdA[[[Q[[[W[[[
S:dAr9dp
SDASGSMBPOBZ]@ZN
[SDA]Y_ZLHSDZOKS
Sd][[[b[[[
SdB[[[	[[[
SdB[[[#[[[
SdB[[[][[[
SdB[[[2[[[1[[[ TBeZ[[[
SDBC]Y]M[
SdB[[[e[[[
SdB[[[g[[[f[[[5
SdB[[[w[[[v[[[1oifD[[[
Sd_[[[C[[[A[[[
SDCbEbh@
SdC[[[g[[[:[[[
SDCGAONEKX
SD[CJQOASL
SdC[[[O[[[p[[[
s)D;C s#A
@SdC[[[W[[[
sd_dA[[[
sDDDDDD48!y
SDDESCXCBJA]
SDDKYCQD
S@DDL[DHGGiAL@MLEKL[NJLDLG]
sdD[[[m[[[
SDDMJQ[ANN
_SDDSH[@ZOM
sDd@[[[_[[[T[[[
sDdT[[[D[[[
sDdU[[[I[[[E[[[u
sDd][[[X[[[E[[[
SD@D[XEL
S]DDXGGO
SDDYCYLAE
SDdz[[[a[[[
SdE[[[@[[[
SdE[[[7[[[([[[
SDEMYYLQ
sdE[[[N[[[M[[[
SDE_@NQYZML[KQ
*sdEO4dH
]SDEQP]G
SdE[[[s[[[r[[[
SdevOnVb
Sd@[[[f[[[
Sd[[[[f[[[
)SdF[[[@[[[
SdF[[[_[[[
SdF[[[:[[[7[[[
SdF[[[l[[[
SdF[[[o[[[n[[[
S[DFSMYSL[SNO
sdF[[[][[[W[[[
sd][[[g[[[
Sd][[[G[[[
SdG[[[3[[[
SdG[[[7[[[6[[[p
SdG[[[;[[[8[[[
S[D_GACH
SDGAQZGJ]Y[P@PBBYY
?SdG[[[A[[[w[[[
SdgcfgfG
SDG_CXQ]_
sDg#dgfGq8
SdgfG"29_gqgg
S]dgfGZ4
SDGGGBHGH
SDGG]KGP
SDGKLQEB_Q
SdG[[[l[[[
SD]GMSDAZ
SDGNDJJXGOGP
SDgOegfG
SDGOSNMP
SD]G]OXDAYHF__MCDGJ
SDgqggNR
sD|gqggX
@SD@GYOH_L
Sd_[[[H[[[
SdH[[[1[[[7[[[
sDHG@DhJ]@_@]P
SdH[[[H[[[O[[[
s)))DH]JA
SdH[[[J[[[N[[[
]SDHM[XJY
SDHND]N[
SdH[[[q[[[m[[[
SdH[[[q[[[p[[[
s@dH[[[r[[[
sdH[[[S[[[
SdH[[[s[[[
SDHS[Y_A
SdH[[[|[[[u[[[R
SDHYDL[J
S]DHYXPX@G]
S||Di||2i||
SdI[[[3[[[4[[[
SdI[[[E[[[
SdI[[[k[[[o[[[AU
SdI[[[o[[[l[[[
SdI[[[P[[[W[[[2
S||di||Ri||
SdI[[[y[[[l[[[
SdJ[[[_[[[
SdJ[[[a[[[6[[[
S]D]JBKH
SDJDGDNM
SDJEJFJGJHJ
 sdJ[[[h[[[
S]DJLML_Z
SDJL[_NH
SDJMB[X[]Y_JSM
S]DJMBZFMA
@SDJ[NBXG
SdJ[[[r[[[
]|SdK[[[
SdK[[[ [[[
SdK[[[7[[[
SDKBGHABPZB
SdK[[[C[[[
SDKDNMGLLDZHNGOBZGDSNYOH
s@dK[[[G[[[
!sdK[[[H[[[
S@DK[HHMD@G
SdK[[[l[[[
SDKMD_PL
SdK[[[O[[[
SdK[[[v[[[
SdK[[[w[[[
SdK[[[x[[[
SdK[[[y[[[
SDKYD_CZA
Sd_[[[l[[[
SdL[[[3[[[4[[[
SdL[[[;[[[8[[["
SDLAHEXMDXN
SdL[[[c[[[
SDLCJ_ON
SDLGSDEY[D
|||||||s|||||||||||||||||||d||||l||h|||||||d|||||||||||
Sd[[[[L[[[h[[[u
sdL[[[I[[[
sdL[[[L[[[
#sd.llllllllmllllOllylm
SDL]MYHE]
S_DLSXSN[
SdL[[[u[[[
SDLYMDS@AHQKOZDDAHFA]
SdM[[[1[[[5[[[
SdM[[[2[[[1[[[Z
SdM[[[a[[[
s_dM[[[C[[[|[[[
SDMFYHSMPHP
SdM[[[g[[[
SDMHBXNDO[KE[A]FLPHJ
SdM[[[j[[[m[[[
SdM[[[J[[[N[[[
SDMKMQ@EQCHXH
Sd_[[[m[[[l[[[
SdM[[[l[[[
@SD@[MLG]HE@DYEHG]
]SD[MLY_
SDM[_L[ZKE
SdM[[[_[[[R[[[
SDMSAPH@
SdN[[[b[[[
SDNEQD_XKEB
SDNGH_OY
SDN][HDJLOXX[_H]OSS
S[DNOLHDK
_SDNOPFL
S[]DNQPGAO_K
sdnrevision
sdnrevisionnew
S]D_NSM_Z
SD[NX_ZYCASFO
SD__NZ]L
S[[[[[[dO[[[
SdO[[[;[[[
SdO[[[_[[[
SdO[[[1[[[
!sdO[[[3[[[2[[[
SdO[[[5[[[4[[[
SdO[[[:[[[9[[[
SD]O[CCPOJHJY
SDOGND[]CG
SDOGSSKLCPJ@JS
SDO_JPQOOAXSZK
SDOJXBZSZZPH
SDOKN_ESYB
S[DOPQM@JCQL[X[C
sdO[[[P[[[W[[[7
SdO[[[q[[[b[[[I
s[dO[[[T[[[J[[[
S__DOZYZBCNF
	Sd][[[p[[[
]SDPBFOQSG[
S@DPBKGK
SdP[[[K[[[J[[[
SDPLNP]LAYS_G_
[S[DPOGQM
SDPQQY_QX
SDPQXXKJ
Sd[[[[q[[[
[[[:_SdQ[[[
SdQ[[[8[[[
SdQ[[[d[[[
SdQ[[[k[[[
_SD]QOGXY]OP
SDQOYMK_OO
SDQSPJDQP
@SDQXHSND
SD]Q@XJCLFENN
SDQYLJMJYP]NA_A
SDQYM]PK[
SdR[[[3[[[7[[[
s|d(r|dHq|d
SdR[[[e[[[
Sd@[[[s[[[
SDSCB[XNP
SDSECBHS
SD	SgwegfG
sdS[[[L[[[G[[[
SDSPEND[
SdS[[[q[[[t[[[mo_dY[[[p[[[
SdS[[[r[[[w[[[
SdSSSSQSSsS
SdSSSSSSS
SdT[[[	[[[
SdT[[[ [[[
SdT[[[2[[[
SdT[[[)[[[([[[a8
sdT[[[e[[[
SdT[[[q[[[
SdT[[[t[[[
SdT[[[w[[[
SdU[[[|[[[
SdU[[[b[[[
SdU[[[l[[[
SdU[[[l[[[b[[[	
*SdU[[[n[[[m[[[
sdU[[[o[[[
SdU[[[R[[[K[[[
SdU[[[u[[[
Sdu@@@@]Y]]J
SdV[[[d[[[
Sd_[[[V[[[H[[[
SdV[[[I[[[
 sdV[[[o[[[
SdV[[[Y[[[
SdV[[[y[[[x[[[
sdV[[[Z[[[
SdW[[[:[[[
SdW[[[B[[[@[[[
sdW[[[K[[[
SdW[[[L[[[
sDWWWWUWJWW
SdX[[[#[[[
SDXAKXO]
SdX[[[h[[[
S@DXH[GHLXYPPX
Sdx[[[J[[[
SDXJOACOYS
SDX]MLSNGEGJZLH[
SDX_OHLC]D
!SdX[[[P[[[H[[[
Sdx[[[p[[[w[[[	7hfA[[[
:SdX[[[T[[[
SdX[[[t[[[f[[[
Sdx[[[T[[[K[[[c
Sdy[[[2[[[7[[[8zwdO[[[
S@DY]AGKGCZ[
]SDYAJXP
_SDY][ANGLX
SdY[[[B[[[
SDY_BCA[DJ
SdY[[[j[[[
SDYJZLJMMQ]HZMBQ]
SdY[[[k[[[
_S_DYMGFMLQAPAMSCBZAX[
SD[YSQM@E]
Sdy[sSSSRfqBV
SdY[[[t[[[
(SdY[[[T[[[A[[[
SdY[[[U[[[
SdY[[[U[[[r[[[
SdyUsSSSRfqBV
SdY[[[X[[[|[[[
SD[YX]_[OG
SdZ[[[2[[[
.SdZ[[[8[[[
SdZ[[[e[[[
Sdz[[[G[[[z[[[P
S#d"zHdT
SdZ[[[j[[[i[[[
Sdz[[[L[[[
SDZNMA_QDQ
SdZ[[[P[[[
sdZ[[[r[[[
SdZ[[[S[[[
SDZSMYYY]Q
SdZ[[[t[[[j[[[
SdZ[[[U[[[T[[[
(s e][[[
-[[[(s e
(s eA[[[
SeA[[[7[[[4[[[V
seA[[[8[[[
seAAAACECAfqAK
S@@@@@e@@A@AFac
SEADQZPSLPLP_
seA[[[K[[[
SEA_OODMEZK
searchstring
searchstring_scrubbed
(s eB[[[
seB[[[([[[
seB[[[a[[[
(s eB[[[A[[[
SEBGX_SC_@H
_SEBH]_BEQKF
SEB[JSSBND_[Y]
S!E[_bks
(s eC[[[
SeCaptureSecurityDescriptor
secmisaligned
secmissize
second argument to likelihood() must be a constant between 0.0 and 1.0
second argument to nth_value must be a positive integer
Secprovider
SECQMQ_DG]K@Z[
SectionAlignment
SECTIONMH9
Section name not found!
sectornumber
sectorsize
sectorspertrack
SecureCopyMemory
secure_delete
SECURITY_MANDATORY_HIGH_RID
SECURITY_MANDATORY_LOW_RID
SECURITY_MANDATORY_MEDIUM_PLUS_RID
SECURITY_MANDATORY_MEDIUM_RID
SECURITY_MANDATORY_PROTECTED_PROCESS_RID
SECURITY_MANDATORY_SYSTEM_RID
SECURITY_MANDATORY_UNTRUSTED_RID
SecurityMitigations
SeC[[[z[[[r[[[[[[dU[[[y[[[
(s eD[[[4[[[
"sedC[[[Q[[[O[[[UuWdV[[[P[[[H[[[
SEDCXCS_
SEDDZ_SL_DO@
"sedE[[[E[[[
"sedF[[[
"sedL[[[
SEDNEZNLLQ
"sedQ[[[F[[[
"sedQ[[[v[[[b[[[
"sedR[[[
"sedR[[[R[[[
"sedS[[[
"sedS[[[D[[[c[[[v
S[EDSGNCDE
SEDSXJJS
"sedU[[[
"sedV[[[
S[]EDXCQYOQLD
"sedz[[[
"sedZ[[[
"sedZ[[[5[[[
SEDZJPBXQNGS[MKEJGXPXGP]Y[HZN[
seE[[[t[[[k[[[
SeE[[[u[[[
SeExports
;S)EExyxqy7@
Se[[[[f[[[
S_EFA]DJLH
SEFCYYYE
SEFDKFDHEZ@LQJLZZL
sefG7ffe*d
sefGPQ KzD3
SEF][M@DSAOMBBF
Seg#bgfG.
seg'egfG
SEGEQPNAHOYS
S|egfG'_K
SEGGAKHSY
Segment name not found!
SeH[[[6[[[4[[[D
_seh_filter_dll
_seh_filter_exe
SEHM]_GCKFFKBXXYC@H]KD
SEH_QASKLHZDPY
SE@@HYJNF_EP
SeI[[[9[[[
(s eI[[[P[[[
(s eI[[[S[[[
SEJAEXGBLPX_Z
SEJBNX[JLOSXC[JDB
SeJ[[[e[[[
SE_JMA@QJKF
SeJ[[[S[[[
;)))SE@K
SEKD[_JC
SEKH]KHXKKHQPZ
SEKOQLKDYQJON_
Sel	8e)p
SELECT Count(1) FROM AmsiFileCache;
SELECT COUNT(1) FROM AnomalyInfo; 
SELECT COUNT(1) FROM AnomalyTables; 
SELECT COUNT(1) FROM AtomicCounters; 
SELECT COUNT(1) FROM AttributePersistContext; 
SELECT Count(1) FROM AutoFeatureControl;
SELECT Count(1) FROM BackupProcessInfo;
SELECT Count(1) FROM BmFileInfo;
SELECT Count(1) FROM BmFileStartupActions;
SELECT Count(1) FROM BmProcessInfo;
SELECT Count(1) FROM DynSigRevisions;
SELECT COUNT(1) FROM FileHashes; 
SELECT COUNT(1) FROM FileLowFiAsync; 
SELECT Count(1) FROM NetworkIpFirewallRules;
SELECT Count(1) FROM NetworkIpFirewallRulesOutgoing;
SELECT COUNT(1) FROM ProcessBlockHistory;
SELECT Count(1) FROM RansomwareDetections;
SELECT COUNT(1) FROM RollingQueuesValues; 
SELECT Count(1) FROM SdnEx;
SELECT Count(1) FROM SystemFileCache;
SELECT Count(1) FROM SystemRegistryCache;
SELECT COUNT(DISTINCT ProcessPath) FROM ProcessBlockHistory;
SELECT Count(DISTINCT UserIdHash) FROM FolderGuardPaths;
SELECT DateTime('now');
SELECT DISTINCT TableName FROM AnomalyTables; 
selectionrate
SELECT Key FROM AtomicCounters ORDER BY InsertTime ASC LIMIT 1; 
SELECT Key FROM AttributeCounts ORDER BY InsertTime ASC LIMIT 1; 
SELECT Key FROM AttributePersistContext ORDER BY InsertTime ASC LIMIT 1; 
SELECT Key FROM FileHashes ORDER BY InstanceTimeStamp ASC LIMIT 1
SelectObject
SELF.COM
self_modifying_code
SELG@LYMQKJJLDvPAH
SELG]XQJ
SeL[[[i[[[o[[[
sE;llllllllmllllOllylm6
SE[LLMNH]_
SELQKSFAN
(s eM[[[
SeM[[[)[[[
SE_M]]G]AP[
sEMgqgg(
semicolon
SE[[NABMADJP
SENA]DOG_PZZ
SENDCH_]Y
SendDlgItemMessageW
SendInput
SendMessageW
SendQueryFailed
SendWDOReport
_SENENSE
SENN]HYO
@SENQJMDA
senseguid
senseguid_scrubbed
senseid_scrubbed
senseservicestate
sensorid
[[[;[[[(s eO[[[
SEOBBOLOQ
SEOD_BOCJLHGG
seogfG]z
SEOJJN_QJ]
S_EPGG_GO[
Sepgppepq
SEpgppepq
SEpgppepqF
S[E]P]]SJHAQO_QNCM_
September
S]E@PYP]H_OZ_CAB[PGZGPNKBB
[SEP@Z@DA
SEQDEOGAMMB
[SEQ[DZYN
SeQueryInformationToken
se[[[[q[[[w[[[hu
(s eR[[[A[[[@[[[
serialnumber
SerialNumber
seR[[[s[[[r[[[
ServerBinary
ServerStreamGetSizeInvalidContext
ServerStreamGetSizeInvalidContextIndex
ServerStreamReadInvalidContext
ServerStreamReadInvalidContextIndex
ServerStreamScanCallbackInvalidContext
ServerStreamScanCallbackInvalidContextIndex
ServerStreamSetAttributeInvalidContext
ServerStreamSetAttributeInvalidContextIndex
ServerStreamSetSizeInvalidContext
ServerStreamSetSizeInvalidContextIndex
ServerStreamWriteInvalidContext
ServerStreamWriteInvalidContextIndex
ServiceChangeAccount
ServiceChangeBinary
ServiceChangeStart
servicehostname
servicehostname_scrubbed
ServiceHostStart
servicename
ServiceName
ServicesCount
ServicesErrorCount
ServiceStart
servicestartstates
servicestate
ServiceStop
ServiceType
serviceupminutes
SeS[[[5[[[*[[[
]SESHGHBXS
SESHNDSCQ_BQJ
SeS[[[q[[[
SESRSSSSS
SeSSSSQSSuS
SeSSSSSSS
[[SESZAPXXJBXXKD
SESZ@YOZB
SetAmsiReportPath
_set_app_type
SetCallistoRequired
SetClipboardData
set_configuration status notification
SetConsoleActiveScreenBuffer
SetConsoleDisplayMode
SetConsoleHardwareState
SetConsoleKeyShortcuts
SetConsoleMenuClose
SetConsoleMode
SetConsoleScreenBufferInfoEx
SetConsoleScreenBufferSize
SetConsoleWindowInfo
set_detection_string
SetDlgItemTextW
SetEndOfFile
SetEntriesInAclW
SetEnvironmentVariableW
SetError
SetErrorMode
SetEvent
SetEventHook
'setfenv' cannot change environment of given object
set_fidelity_increment
SetFileAttributes
SetFileAttributesW
SetFileInformationByHandle
SetFilePointer
SetFilePointerEx
SetFileSecurityW
SetFileTime
SetFirmwareEnvironmentVariableW
_set_fmode
SetFocus
setFullYear
SetGlobalMpAttribute
SetGlobalMpAttributeEx
SetHipsRule
setHours
set_image_filename
SetInsert
SetInsertOperation
SetLastError
set list
SetLoadImage
SetLuaInstrLimit
setmetatable
setMilliseconds
setMinutes
setMonth
set_mpattribute
set_mpattributeex
SetNamedSecurityInfoW
_set_new_mode
'setn' is obsolete
SeTokenIsAdmin
SetOriginalFileName
SetParent
setpause
set_peattribute
SetPersistContext
SetPersistContext: Expected table for context (arg 2)
SetPersistContextNoPath
SetPersistContext: UtilWideCharFromUtf8 failed
SetPrivateObjectSecurityEx
set_process_configuration unsupported type 
SetProcessInformation
SetProcessWindowStation
seT[[[Q[[[
SetRebootRequired
SetRectEmpty
set_regval
SetRegValueAsBinary
SetRegValueAsDword
SetRegValueAsMultiString
SetRegValueAsQword
SetRegValueAsString
SetRegValueAsStringExpand
SetRemovalPolicy
SetRemove
SetRemoveOperation
set_scan_param
setSeconds
SetSecurityDescriptorControl
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityInfo
SetShellWindowEx
SetStdHandle
setstepmul
SetTaintedProcess
SetThread
SetThreadContext
SetThreadDesktop
SetThreadInformation
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadPriority
SetThreadToken
settimeout
setTimeout
setTimeout() is not a constructor
SetTimer
Setting delta tsc feature flag to true - needed for unhalted ratio feature
Setting list of incompatible processes
SettingsModifier
Setting t0 delta tsc feature flag to true - needed for t0 unhalted ratio feature
SetUnhandledExceptionFilter
SETUPAPI.dll
SetupDiDestroyDeviceInfoList
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiGetClassDevsW
SetupDiGetDeviceInstanceIdA
SetupDiGetDeviceInterfaceDetailW
setUTCDate
setUTCFullYear
setUTCHours
setUTCMilliseconds
setUTCMinutes
setUTCMonth
setUTCSeconds
SetWaitableTimer
SetWindowLongPtrW
SetWindowPos
SetWindowsHook
SetWindowTextW
SeU[[[?[[[1[[[
SeU[[[3[[[
se@[[[U[[[T[[[
severity
Severity
SeV[[[f[[[
s)E:!WgAgg
seW[[[w[[[
S]EXAAHBY
SEX]GJLHJ
S][EX_HCBQ
sex[[[O[[[
Sex[[[w[[[v[[[
Sey[[[1[[[
SEYCHFCJGB
SEY@FZ[QZ
(s eY[[[r[[[f[[[
SEY[XSOH
[[[(s eZ[[[
seZ[[[-[[[
Sez[[[	[[[
SEZBECD]
S[EZDSYBNAL
seZ[[[G[[[
S]EZNN_PX
(s ez[[[o[[[n[[[F
[SEZYPYA_
sf?6ggfw
SF]AJMDP
]SFA@NGE
SFA_SKZE]KLA]NOQ
s fB94Iu
SFBB]@LO
]@[SFB@_PNBQ
sfcbuild
SFCBuild
sfC[[[C[[[A[[[[[[dT[[[
SFCExtensions
SFCPBKB_N
sf?-.d[[
!sf	#.d6
SF]DCNHX
sF"dJ[[[
@SFDJGHF
?)))SFDK@L
sFDK@LkF]
SF]EG_GSD[
SFE]PMFLX
SfEQ(VSSWsU#S
sFFDPe@K
S@@FFFFFL[F@FF@ZFMOFvvv
SFFLOAHJKOG
SfG[[['[[[
SFGBGXNHZ@
SfgfGyf!ogqgg
sfggegfGp
s:fgqggP
SfgQkgfG
sfH[[[j[[[a[[[
sfH[[[k[[[
SFHXOYKFNAL
sfI[[[0[[[
sfIAAAA@AAAAAC
SFIdI[[[
S)))F@J[FKF]@JZ
SFJY_[SEBD
SFKASOJY
SFKAXX_XCF
SFK[PHHYXA
SFKSOSQHBHJENDN
SFLDOY_OX
sfllllllllmllllOllylm 
sfLyllllllllmllllOllylmD
SFLYSJ_SSMJNAAP[JZ]G
sfM[[[#[[[
SFMN[D_LQS
SfN[[[a[[[
SFNDDLQA
SF_NDNJYXZ]ASN[LNB
S]FNMXPO[
sfO[[[m[[[
sf_[[[O[[[N[[[
s)))FOO@JLO@_L
Sf_PBUsSQSS	
s)))FPESQH
SFPGFD_P
s-Fpgppepq
sfpgppepq[S
sfP[[[j[[[
S_FPKXXEJ
SF]]Q@]A
S[]FQESCYYH]
_SfQEyBVsS
_SfQEyZsS
SF_QHHBJGBLLO
]SFQHOALH[H
sf_[[[R[[[
#]SfSk"]SeS
SF_SNNBXAB
Sfs)RqI1
SfSSSSQSSsS
SfSSSSQWS
SfSSSSSSS
SfSSSSVSSSS
SFSSSWSTSSS
SFSYHAJZ
SFS_ZBHZ@LBFS
SfWg_ygfG
sfX[[[2[[[.[[[
(SfxCab_29ef55d8)
(SfxCab_3042dbd6)
(SfxCab_3bbdda3b)
(SfxCab_556fcda4)
(SfxCab_7a5100d5)
(SfxCab_8ead0856)
(SfxCab_9401eb59)
(SfxCab_ab7ba1b2)
(SfxCab_b1302d4c)
(SfxCab_bb7f3874)
(SfxCab_bec89f1c)
(SfxCab_c7f925e5)
(SfxCab_cecf004d)
(SfxCab_d53d2e4f)
(SfxCab_f8e1559a)
(SfxCab#GEN)
(SfxCab_old)
SFXKF]PX
SF]XNCXHXBHA_
SFXQAMXCS[]B
SFYLP___
SF@YYEFSMNOQX
sfZ[[[ [[[
sF[[[Z[[[K[[[W
S[][_FZL
sfZ[[[Q[[[
sg1bgfG(
sg1ggfGP
sg1kgfGb
Sg3dgfGP
-;sg5kgfG?
sG79pgppepq
s'g7fgfG
S(g7mgfG
[sg7wggG
Sg9fggwT'
SGAEPASOZHHKLK
Sg[agfG)
sg_agfGw
s]	:gAgg
SgAgg3C75g
?sgAgg5o
SgAggaAL
(SgAggzF
SGALLQEBG[N
[[SGALX]KCLXYBQD
s(gAwgfG3
SGAZY_QED
SGBDYJZJEQ_]L
SgB[[[F[[[
sg]bgfG_
S)[g-bgfG
sg#bgfGo.
__SGB_HLGOMNJJLN
SGBJP_QG
S]GBLKXLJ
_S[GBQDOM
S@GBX_ODPF
SgcdgfG|-
sGc'dgfG25
]SGCDY[JK_
SGCE[OCJE
Sg'cgfGu
SGCJNJLY
SGCLMBDO
S	gcrgfG
SGC]S_GXOAMG
SGCZ_PPPDFK[
)Sg?dgfG
.Sg	dgfG
Sg_dgfGG
SGDL][QQ_KS@O[
]SGDMYBCBO]
SGDXYZGCHNNDZGA
SGD[YP_PSY
SgEcgfGJ
SgEFggwLep*Y
Sg?egfG#
sg[egfGSE
SGE]@GGBANY
SGEGKFJH
SGEHHAX_DGOOYYE[OQJOE_A
S_GEJGSYP
@SGE_KJSJPOCLLAGO[Y
s)))@G_FBL
SG[@FCHCO
SGf-d-d[[
sgfG5GfdgqggH
SgfG5#ZAaD
SgfG!aw|aD
sgfGB:Vsgqgg
"SgfG'"c
sgfGF1rkgqggkP
;s	g#fgfG
sg	fgfGC
sg	fgfGv
sgfGG1e:gqgg
?S(gfGl3
SgfGm3T'
SgfGn gYxD4
SgfGwmz_gqggT
sgfGZ.8-gqgg6I
sgfGzSragqgg
sgfGzU	9gqgg
S@G[FMKEY
sgfwvOXF
SGFZKCX_[
SgGbgfG3
SGG]BZCNK
sgGcgfGu
SggcgfGz
sggdgfGg
sggdgfGz
SgGegfG8
sggegfGG
s:ggegfGz
sggfGJag
(sGgfGjH
sggfGM7HQgqgg
s|GgfGmz
Sggfwgkl
SgggffGC
?sgG@gfG
Sg'ggfG7B
SGGGGKN_JLCJ
sgggGQGT
sggGQ4V[gqgg
SG@GONFMM_DACXK
S"ggsgfG
SGGSZQBA
S.gGwggGl
SG[GXDX[CBO
sgGy1g7gggGgGy1gqgg
S_GGY_B[B@Q]PC
S[GHC[BAX_
SGH[GSLZKGGX[[[Z
SGHJ[@LAMY
SGH[QCXMO
_S[__G[HSEGSDS
SGHSF[OBN]D
_SGH]YCA
sgIdgfGp
|S?g!igfG
S giggfw
sgIkgfG!
_SGJCJNO
_SGJD_GM@JY[
]SGJKJQHGAJJ@@QB
SGJKP]AB
SGJLDZMY
SGJYECOZ
'sgK[[[4[[[)[[[7C
]SGK@_AKHDZKLPZ
s'g-kgfG
"*Sg[kgfG
.Sg-kgfG
@Sg]kgfG
Sg!kgfG@
Sg_kgfG.
Sg[kgfGb)r
Sg!kgfGDi
SgkgggwI
SG[KJKNKKF
SG@@KSJDD
S[[[gkweD[[[R[[[
Sg@[[[l[[[d[[[
S[GLDLBOZONMNA
SGLDZSESJL][QZ
s)))@G]L[HB]@_H
S)))@GL]NL]Z@SL
SGLNPYHASQZBX
SGLPGXFYLJM_LDSA
SGL[]QMG
SGLXFDGB
sgmdgfG_X
sgMegfG?
SGMFB[NZ_[CDFYLK
S]GMFHO@_QQDP
sGmggfwn
S[GMHSAA
.sgmigfG
SGM_KGZ]Q
SG]M_XBXF]XDSNL
_SGMXC]SXC
]SGN_AB]EH
_S_GNB[O
S@GNDHN@J
sg?ngfGKK
SGN_HZZNO_LKJ
SGNPDL[A
SGNSCNSPKC
S]GNXEHQ
sgoagfGS
SGOALYJ[_
SgobgfGh
*SgocgfG
SGODNKAN
"sg#ogfG"
*sg#ogfG
S@GOH]SQ
_SGOJCQLP
s?gOkgfGg
S-googgG
sgooggGk
SGO_SE]PZ
SG@_PABBXKZF
SGPDFSQK
SGPEGB_]P
Sg)pgfGT
SG]P_JLZM
SGPM]BOG
SGPMGNFPECBYGLK[L[OCGDK
S[GP_OMGBZL
SGQBZMQZ
[[SGQELYZ
S@G[QFED
SgqfgfG?"
sgqfgfGV
sgqgg-;;
S@@@@gqgg
S[gqgg;]!
S"gqgg#0
sgqgg0Yo
Sgqgg3ED
s#gqgg7[
Sgqgg#8l
sgqgg8PT
s;)gqgg9@
sgqggbPX
SgqggC"*
sgqggcnuDt
Sgqgg#D0
sgqgg"Ev
Sgqggf]*
s"gqggfT
s()gqggfU
S"gqggGS
]'SgqggH-
Sgqggi-#G
sgqggj"@
sgqggj_M_
sgqgglMI
.sgqggmW
SgqggN1c
_S gqggNj
SgqggQNr
SgqggQ.o
#SgqggR:
sgqgg-Ta
SgqggTC7(7
sgqggTo(2#
sgqggWoql
SgqggWoql
sgqggwTp
SgqggYyW
SG]QG]XCCJXD
SGQODASBLA
SGQPFK_N
__S[GQ]ZP
S!g_rgfG
SgScgfG"
SGSEHKGZ@PZ
SGSFSESDSHSOSNSMSsSrSeSdSkS
SGSHNP_J
S?gSkgfG
_SGSPOXEBQ
SgSSSSQSSkW
SgSSSSQSSuS
SgSSSSSSS
sgUbgfG:([
 SgUfgfG
SgufgfGy
sgu[gfG:
sgu[gfGL
s#;gUkgfGd
sgUkgfGYuP*gqgg
sgV[[[e[[[
SgVg5kgfG
sgwbgfG:
;sgwfggw
S?gW*gfG
SgWggfGSi
SGwGwSwCwZNF@DHNL[LZ
SgWigfGY
;SgWkgfG
S@GXN_CLNAYED
]SGXONXMPB_
S[GXPLB[[KN
SgxsS3GS@TsS
SGYACDHNYO]DGQEB
sgYggfG5
SGY@HOKONZX_LN]PXQO
SGYNDKNP
]@S@GYN]HYQJLBK
SGYOFQ]@PD_
SGYQMPEDZSB]D
SGYSHMOO@
SGyyyyyy
SGZCOYNQ
SGZDN[SY
SGZENNSHSKC
SGZJLNP]@NYZ
sgZ[[[m[[[
SGZ]NGYCC
SGZOS]NSB
SGZPBAXNHYLM]
S[]GZP[H_[__LA
_SGZ[SZM
[SGZXDOLO[M
SGZ[YB_Y
Sh1RSSUsP
S(H9S u'
Sha1Buffer
Sha256Buffer
Sha512Buffer
sHA8)uCE8q
ShadowSettings
SHADQG]DAZ
SH]AMBFQ_QG
S[HA[MS_A
SHA_OCFA
S_HAQHZHCE_S
Shareddll
shared_memory_comm failed to initialize: platform has too many logical CPUs
Sharedtaskscheduler
sHasFileId
SHAS_]KKLJ
_SH_B_BM[BHXC
)))S]HB@D@D
_SHBEK_DBD
SHBPCYLBMZZAX
SHBrowseForFolderW
_SHBSOXQLHXOY
]S][HB][_X
S]HB[ZCLE[HM
SHCDPSCBCNH
_]S_HCE_X[NXL
)))SHC@GL]
[SHC[QHB
S_HCZPH]
sHd_[[[3[[[2[[[
SHdI[[[b
[SHD[K@@MDHPL
SH]D@MEM
SHD]ONEO
sHdW[[[k
SHDZJQS][F_
sHdZ[[[U[[[
SH]ECQP]N
S)))_H[EG
]S]HEHHNZJBMZ
SHELL32.dll
Shellcolumnhandler
ShellColumnHandler
Shellexechook
ShellExecuteExW
ShellExecuteHook
ShellExecuteW
Shellextapproved
Shelliconoverlayid
Shell_NotifyIconW
Shellopencmd
ShellOpenCommand
Shellserviceobjectdelayload
ShellServiceObjectDelayLoad
SHFHA_YB]B
SHFLSBJZKC[
_SHFOOBSXSQMH]Q
SH[]FYK]Y
SHG@AQNPJ@QQZGO__MHXGF]OH
S_HGCQBGLPH[
SHG]EGZKDAPA
SHGetFolderLocation
SHGetKnownFolderPath
SHGetPathFromIDListW
S_h_ggw2
@SHGJ]JQDNQ]
SHGMvMKYYvYKLJ[B
SHGM]ZHOL]P
)))SH@]@H
SHHAXNL]
SH[HKF]FBGHZHP]L
SHHMHBGBMS[LX]MNJOX
SHHMMLPB
SHHM[NLMSK
s)))H[[HP
S)))H[[HP
S[H]_HPMG
SHH_SLMYO
ShH;Spt"H
SHH;SPtZL
Shibpgppepq
SHJ_C]LA
s)))HJ]@FG
SH]JHLMLJ
ShJiJjJkJlJmJnJ
SHJN__ZMQ
S[HJOKYNQCC
[SHJ[YCB
@SHJZDZ[ZD
SHk@@@@B@AA
SHKCA_KZNQ
_SHKHY[HC
@SHKKMADF
s)))HKM]OANQNMNANA
SHKXABPM]KYKQKZF
S[[HKZAPAMO
SHLCLNYHYQ
S_HLCOF_JJCJZP
SHLCXKCGOQ
SH_L[LHML[
SHllllllllmllllOllylm
ShllllllllmllllOllylm:H
SHLoadIndirectString
SHLQZPCYK][@
SHLWAPI.dll
@S@H_MAO
SH[MC[]N
S)))HMFKLHJ[FKH]
SHMMYMKCS[[JZYNXP@L
SHMOP_YXMZGY@
[SHM][SF
s)))]H[NL]
S)))]H[NL]
)))SHNLSFMX]Z
SHNQ[LM_O
SHOBOJ][QE
S||ho||Io||
SHOJDLCO
SHOJJJ[Z
SHOO[NQGBG[CXCS
short_column_names
shortdescription
shortdescriptionid
ShortLiveProcesses
ShouldHashIds
ShouldRemediate
ShouldReportThrottledAudit
ShowWindow
SHOXX]_G
shpgppepq
sHpgppepqE
SHP@O_XM@
___]SHPPSME
]SHPSXMD
SHQ[D]XNP
SHQ@EMCQL
S[HQFZPJCL@
SH][QOXA
S@H;Q@sGH
SHQYE@JZN@E
S H;r0v3I
s|_Hr|d?h
s|h(r|hHq|h
sHRINKER
(Shrinker v3.4)
sHRINKER :  !x
shrink_memory
[[[s[h[r[w[q[
_SHSABCSD
SHSBZ[JOPGB
SHSHZECB
shsisjsUslslsrsos
S_HSLCNCGQJNJ
SHSNLSEH
SHSO_COO]KQXO
_SHSQLPPS
SHSSM@NK
ShSSSSQSSkW
ShSSSSQSSsS
S H;S(t!
S(H;S t;
.shstrtab
]S_HSY]MOPJ
SHuA[FZL[
SHuNL[]@FBHZ
#)))SHuSK
ShutdownDelay
ShutdownEvent
ShutdownFailure
s)))_H[v
SH_XBBSFNMKF
S[HXNMLZB
ShxTSSPs
SHXYJDQN
sh(((]Y]]
SHY_BMZY]N[XOJEGL]KP[ANP
')))SHYF[LM
S]HYH_HK]G[
[]SHYLO]NZQHQYGXO_
S)))_H[Y[LOZL[_@JL
SHY@SDELHQ
S]HYSOYGYKG
SHZDJC]JNGSOGM
SHZDNGPHC]
SHZHJZBSD
S_HZ_JGNSO
SHZ]KFQJBC
[[[s[[[hZPdE[[[
S;''#i||
sIag'kgfGk
[[[s[i[c[m[l[i[w[o[r[w[
si!dJ[[[
SIdM[[[x[[[
@SiDpgppepq
S;iF@@A@)pGA
sifgiggfw
sigattr_head
sigattrlog: head is empty
sigattrlog not available
SIGATTR_LOG_SZ
sigattrlog: tail is empty
SIGATTR:SIGATTR_EXTENDED_LOG
SIGATTR:SIGATTR_LOG_ALL_FIRED
sigattr_tail
sigbackupdisabled
# SIG # Begin signature block
SigCdgfG
# SIG # End signature block
Sig-fgfG
signature
Signature
SignatureAgeDays
SignatureArgs
Signature check failed
SignatureContainer::IsDlpCloudSyncPathExcluded
SignatureContainerSetBMStartupActions
SignatureContainer::SetDlpCloudSyncExclusionPathsData
SignatureGenerationMetadata
signatureid
SignatureId
SignatureInfo
signaturematch
SignatureMatch
SignaturePatch
SignatureRequest
signaturering
SignatureRing
signaturetimestamp
SIGNATURE_TYPE_AAGGREGATOR
SIGNATURE_TYPE_AAGGREGATOREX
SIGNATURE_TYPE_ARHSTR_EXT
SIGNATURE_TYPE_ASEP_FILEPATH
SIGNATURE_TYPE_ASEP_FOLDERNAME
SIGNATURE_TYPE_AUTOITHSTR_EXT
SIGNATURE_TYPE_BLOOM_FILTER
SIGNATURE_TYPE_BM_ENV_VAR_MAP
SIGNATURE_TYPE_BM_INFO
SIGNATURE_TYPE_BM_STATIC
SIGNATURE_TYPE_BOOT
SIGNATURE_TYPE_BRUTE
SIGNATURE_TYPE_CERT_STORE_ENTRY
SIGNATURE_TYPE_CKOLDREC
SIGNATURE_TYPE_CKSIMPLEREC
SIGNATURE_TYPE_CLEANSCRIPT
SIGNATURE_TYPE_CLEANSTORE_RULE
SIGNATURE_TYPE_CMDHSTR_EXT
SIGNATURE_TYPE_COMMON_CODE
SIGNATURE_TYPE_DATABASE_CATALOG
SIGNATURE_TYPE_DATABASE_CERT
SIGNATURE_TYPE_DATABASE_CERT2
SIGNATURE_TYPE_DBVAR
SIGNATURE_TYPE_DEFAULTS
SIGNATURE_TYPE_DELTA_BLOB
SIGNATURE_TYPE_DELTA_BLOB_RECINFO
SIGNATURE_TYPE_DEXHSTR_EXT
SIGNATURE_TYPE_DMGHSTR_EXT
SIGNATURE_TYPE_DOSHSTR_EXT
SIGNATURE_TYPE_ELFHSTR_EXT
SIGNATURE_TYPE_ENVELOPE
SIGNATURE_TYPE_EXPLICITRESOURCE
SIGNATURE_TYPE_EXPLICITRESOURCEHASH
SIGNATURE_TYPE_FASTPATH_DATA
SIGNATURE_TYPE_FASTPATH_SDN
SIGNATURE_TYPE_FASTPATH_SDN_EX
SIGNATURE_TYPE_FASTPATH_TDN
SIGNATURE_TYPE_FILENAME
SIGNATURE_TYPE_FILEPATH
SIGNATURE_TYPE_FOLDERNAME
SIGNATURE_TYPE_FOP
SIGNATURE_TYPE_FOP64
SIGNATURE_TYPE_FOPEX
SIGNATURE_TYPE_FOPEX64
SIGNATURE_TYPE_FRIENDLYFILE_SHA256
SIGNATURE_TYPE_FRIENDLYFILE_SHA512
SIGNATURE_TYPE_FTRIE_POS
SIGNATURE_TYPE_GENSFX
SIGNATURE_TYPE_HIDDEN_FILE
SIGNATURE_TYPE_HOSTSENTRY
SIGNATURE_TYPE_IL2_PATTERN
SIGNATURE_TYPE_IL_PATTERN
SIGNATURE_TYPE_INNOHSTR_EXT
SIGNATURE_TYPE_JAVAHSTR_EXT
SIGNATURE_TYPE_JSINIT
SIGNATURE_TYPE_KCRCE
SIGNATURE_TYPE_KCRCEX
SIGNATURE_TYPE_KPAT
SIGNATURE_TYPE_KPATEX
SIGNATURE_TYPE_KVIR32
SIGNATURE_TYPE_LATENT_THREAT
SIGNATURE_TYPE_LOCALHASH
SIGNATURE_TYPE_LUASTANDALONE
SIGNATURE_TYPE_MAC_CURE
SIGNATURE_TYPE_MACHOHSTR_EXT
SIGNATURE_TYPE_MACROHSTR_EXT
SIGNATURE_TYPE_MACRO_PCODE
SIGNATURE_TYPE_MACRO_PCODE64
SIGNATURE_TYPE_MACRO_SOURCE
SIGNATURE_TYPE_MAGICCODE
SIGNATURE_TYPE_MDBHSTR_EXT
SIGNATURE_TYPE_MSILFOP
SIGNATURE_TYPE_MSILFOPEX
SIGNATURE_TYPE_NDAT
SIGNATURE_TYPE_NID
SIGNATURE_TYPE_NID64
SIGNATURE_TYPE_NISBLOB
SIGNATURE_TYPE_NSCRIPT_BRUTE
SIGNATURE_TYPE_NSCRIPT_CURE
SIGNATURE_TYPE_NSCRIPT_NORMAL
SIGNATURE_TYPE_NSCRIPT_SP
SIGNATURE_TYPE_PATTMATCH
SIGNATURE_TYPE_PATTMATCH_V2
SIGNATURE_TYPE_PCODEVALIDATOR
SIGNATURE_TYPE_PEBMPAT
SIGNATURE_TYPE_PEFILE_CURE
SIGNATURE_TYPE_PEHSTR
SIGNATURE_TYPE_PEHSTR_EXT
SIGNATURE_TYPE_PEHSTR_EXT2
SIGNATURE_TYPE_PEMAIN_LOCATOR
SIGNATURE_TYPE_PEPCODE
SIGNATURE_TYPE_PESTATIC
SIGNATURE_TYPE_PESTATICEX
SIGNATURE_TYPE_POLYVIR32
SIGNATURE_TYPE_PROPERTY_BAG
SIGNATURE_TYPE_PUA_APPMAP
SIGNATURE_TYPE_REGKEY
SIGNATURE_TYPE_REMOVAL_POLICY
SIGNATURE_TYPE_REMOVAL_POLICY64
SIGNATURE_TYPE_REMOVAL_POLICY64_BY_NAME
SIGNATURE_TYPE_REMOVAL_POLICY_BY_NAME
SIGNATURE_TYPE_RESEARCH_TAG
SIGNATURE_TYPE_RESERVED
SIGNATURE_TYPE_REVOKED_CERTIFICATE
SIGNATURE_TYPE_REWSIGS
SIGNATURE_TYPE_RPFROUTINE
SIGNATURE_TYPE_SAMPLE_REQUEST
SIGNATURE_TYPE_SAMPLE_REQUEST_BY_NAME
SIGNATURE_TYPE_SHARED_THREAT
SIGNATURE_TYPE_SIGFLAGS
SIGNATURE_TYPE_SIGTREE
SIGNATURE_TYPE_SIGTREE_BM
SIGNATURE_TYPE_SIGTREE_EXT
SIGNATURE_TYPE_SNID
SIGNATURE_TYPE_SNIDEX
SIGNATURE_TYPE_SNIDEX2
SIGNATURE_TYPE_SOURCE_INFO
SIGNATURE_TYPE_STATIC
SIGNATURE_TYPE_SWFHSTR_EXT
SIGNATURE_TYPE_TARGET_SCRIPT
SIGNATURE_TYPE_TARGET_SCRIPT_PCODE
SIGNATURE_TYPE_THREAD_ARM
SIGNATURE_TYPE_THREAD_IA64
SIGNATURE_TYPE_THREAD_X64
SIGNATURE_TYPE_THREAD_X86
SIGNATURE_TYPE_THREAT_BEGIN
SIGNATURE_TYPE_THREAT_END
SIGNATURE_TYPE_THREAT_UPDATE_STATUS
SIGNATURE_TYPE_TITANFLT
SIGNATURE_TYPE_TRUSTED_PUBLISHER
SIGNATURE_TYPE_TUNNEL_ARM
SIGNATURE_TYPE_TUNNEL_IA64
SIGNATURE_TYPE_TUNNEL_X64
SIGNATURE_TYPE_TUNNEL_X86
SIGNATURE_TYPE_UFSP_DISABLE
SIGNATURE_TYPE_UNKNOWN
SIGNATURE_TYPE_UNPLIB
SIGNATURE_TYPE_VBFOP
SIGNATURE_TYPE_VBFOPEX
SIGNATURE_TYPE_VDLL_ARM
SIGNATURE_TYPE_VDLL_CHECKSUM
SIGNATURE_TYPE_VDLL_IA64
SIGNATURE_TYPE_VDLL_META
SIGNATURE_TYPE_VDLL_META_ARM
SIGNATURE_TYPE_VDLL_META_MSIL
SIGNATURE_TYPE_VDLL_META_X64
SIGNATURE_TYPE_VDLL_MSIL
SIGNATURE_TYPE_VDLL_SYMINFO
SIGNATURE_TYPE_VDLL_X64
SIGNATURE_TYPE_VDLL_X86
SIGNATURE_TYPE_VDM_METADATA
SIGNATURE_TYPE_VERSIONCHECK
SIGNATURE_TYPE_VFILE
SIGNATURE_TYPE_VFILEEX
SIGNATURE_TYPE_VOLATILE_THREAT_ID
SIGNATURE_TYPE_VOLATILE_THREAT_INFO
SIGNATURE_TYPE_VREG
SIGNATURE_TYPE_VSTORE
SIGNATURE_TYPE_WVT_EXCEPTION
signatureupdatetime
SignatureValidator
signeddigest
signerdistinguishedname
signerhash
signerthumbprint
signingtime
[sIgqgg:!q
sigreleasereportnumber
sigroutine
sIgSdgfG
SigSeqHigh
SigSeqList
SigSeqLow
sigseqstring
sigtree log is not valid
SigTypeName
sigupdatessincelasthb
sigversion
SigVersion
siH9Z@thH
siIA9]S@
SIi!SIiQSIi
siJgKugfGc
S|||i||ji||
[[[s[i[k[o[c[k[w[o[r[w[
[[[?[[[s[i[k[o[l[w[h[r[w[
[[[s[i[k[o[l[w[i[r[w[
[[[s[i[k[o[l[w[j[r[w[
[[[?[[[s[i[k[o[l[w[o[r[w[
[[[s[i[k[o[l[w[o[r[w[
SILENT_ALL
SILENT_EVENTLOG
SilentProcessExit
SilentReload
SILENT_SENSE
SILENT_UI
(SimBoot)
SimBoot V1.0 disk image
SI!mggfwg
[[[s[i[m[i[j[o[o[w[o[r[w[
sIMPLEpACK
[[[s[i[o[n[l[m[w[o[r[w[
sIREFEF 
SirefefTrigger
SI[_[[s[[@
SiSSSSQSSfW
SiSSSSQSSsS
[Si[SYJEO]K
SiuogQkgfG
SizeLimit
SizeOfCode
SizeOfCommands
SizeOfHeaders
SizeOfHeapCommit
SizeOfHeapReserve
SizeOfImage
SizeOfInitializedData
SizeOfOptionalHeader
SizeOfRawData
SizeofResource
SizeOfStackCommit
SizeOfStackReserve
SizeOfUninitializedData
sizeondisk
SJ   !    
s)))JADFM
s)))JA[FDL
sJagqgg!
SJANDH[S
SJAND_PPQ
_SJ[AQQE
SJ_ASXZDYLK[JBOMPJBJPK]
SJAXDZJNNLKNK
SJBKPSQG
SJB]LP[M
SJBMNJSM
SJCAB[QYF
S]JC_OP@NYAM
sjCsNTASPsVB
SJCYBPZZYLB[N[
)))S_JD_AP
sJdA[[[r[[[
][SJDDN[PEZ]
s#JdI[[[G[[[
SJDJGEOCCHK
[_SJDJHPSK_
SJD@[[SC_
SJD[X_JH
SJDZQ]K_CM
S]JEAC[P_KBLL
SJEEAGBP
s)))JEHZZLZ
SJELZOQXBPB_OHE
SJ_FBD_D
_SJFENKH
s)))JF@GHDYE@OP
s)))JFG]LG]
SJF_]HX@X
]SJ[FPKHXO[
S_JFQZ_GJOSNX
SJGCXKBBMMOX]
_SJGD_SQAJ[
SJGO_DZYCQJ
SJGP_LHBN
SjgQegfG
sJgqgg"4
S[JGSB[]
SJHCBHCZSO
]SJHCPZQOZ[
SJHGAX@[B
'sJhggfw
SJhggfw3
 sJhggfwZ
[[[s[j[h[j[k[l[i[w[o[r[w[
S_JH_LPC
SJHSEM[S
sjJAAAACAAAaqAR
SJJALCE_]
S]JJMAKH[
SJ[JNAJJP
SJJ_NJPSSDJ_GPSA
[SJ_JO]YNBD]Y
SJJX_LZB
S@]JKC[@BCX
SJKDLZZNZ
_SJKFK[S_
SJ[KLFOFA
SJ_KOMMJ_CO]M_JMJM
S@[JKQJKBC]XJQG
SJKSZM]HEYJM
SJKX@]C_NK[NNXOQQAQ
S||jL||8B||dL||HL||0B||4L||
SJLAMLYCNDM
SJLBYGY_
SJ[LG[LZ
s)))J[LH]LFKCLJ]
S]J]L]@K]QLXK
_[_SJL[LQN
SJLMXAAY_QSJL
SJ[LPJPAHN
S_JLP[@K[ZL[
SJLYD[DCKZDM
SJMDZK[HCEDQK
Sj)mggfw
[[[s[j[m[h[c[o[w[o[r[w[
[[[s[j[m[l[l[l[i[i[l[r[w[
SJMMH@CBMYHGQY[NLGXXDN
SJMOSYCQDBOFHLDYSXP_MHFKGXS_
]SJMXPLZ
SJMZ[DLBQX
SJNHCP_[
SJ]NN_[HXCQO[ZJQH@
SJNNXYGN
SJNQ_DPP
SJNv]QK]PYLGHDL
SJ_O[DOQ
SJOY_L@@
S@JPAMDJDD
SJPB[]PQN
SJ]pgppepq
SJpgppepq@
_SJPH@PSYJJAC_S
SJPHQBBO_K
@S[JPJ[Z
SJPOBZZJP@OKBP
[SjPsxZSiP
_SJPYXGGNHGN@MYSPND_MLH
_SJQJXD]H
SJQMCEXYA
S@JQNKCDFHZL
SJQOBDAA
[[[s[j[r['[
SJ@SJOHEQ
SJS]KX[_
SjSRSSSSS
SJSRSSSSS
SjSSSSQSSeS
SjSSSSQSSsS
SjSS SSS	6S
[[[SJUdR[[[
SJXKOY[FH]DH
SJX_MAFKS]_M
]SJXY_HZXJ
SJXYYLP_
SJYEPQDMJNM
SJYHAJN[AGC
[SJ_YMKOQMLKFNJB
SJ_ZHNPPKA@Q
SJZNP]XY
SJZXKBJ_
SJZYNDLK
Sk2RSSBUpSSSSS#;
SK]'@@A@
sK[AAAA@AAAAAC
SK[AAAA@AAAAACB
SK@ADNMNQA
SKAD]X[G[
SK[AKB_QLAXYP
SK_AMYJHXSBQCK@
SKAZPMQXCC
SK]BLYXGO
SKBQCZ]Z
S_KBQ][F
SKBZDP_J
SKCFQB]GB
SKcMgAggb5u
SKCMZGG@S
SKCPMSQMYN
[[[@SKdE[[[
SK@DFHMSGH
]SKDJHYLNO
SKDNX[L]@[OS
SKD]OPXGAJ]P
sKdQ[[[2
SKD[XN[DZ_GZ
]SKEMNSQ
SK@]EPGNYSQ]
SK[FC]KSKOLMHG
sk?Fg'cgfG
sKgqggA!"3q
s(kgqggO
S_KGX[KSEBHGDL]
SKGZX]XSG@MXBLP[
SKHD@AOHK_JMJNL
@SKHFL]_LH
SKHM_Y@SGHBA
SKH]ODPL
s|kHr|oOr
skI1G(tH
:skicgfG
SkipIfUnknown
SkipScriptFailure
SkipScriptIncludeFailure
SkipTooBig
skip_unimplemented_opc
SkIRSSUL
SKJANYAHPLAN]
S[KJSLHZQCSDK
SKK_AOACPX]P
SKKMDJBOL
SKKNCJPN
SkkRSST(6RSW(;RSWs
SK[[KXCC
SKLEQOEN
S[KLJGY@QAYBHX_E
sKllllllllmllllOllylm
_SkllllllllmllllOllylm
SKllllllllmllllOllylm
SKL@[M[OAPASO
SKLZDSHOH
SKLZGYBJMN_[
[SKMA@G]
!sKmggfw
s_Kmggfw*
S[KMLX[_Y
SKMNOSYOB]C
S_KMQJO_
SKMS@_OOC
SKMSXCFFSFKCSJPOJ
[[[S[[[K[[[N
SKNF]OESN[
SKO@AZGY
SK]OCNCY@KQMLDOHS
SK[OX]S@DXE_
SK[PAJDX
SK[P]CHDAG__MZ
SKPKYCBJ
S_KPO_CCOXOYZXEZY
SKPPJKBE
SK_Q_[[[J
SKQKQ@PKC
SKQNEKLHAMXX
SK_QN_F_]SQ[
SK[QXAN_E_
SKSDDZEMN
_[SKSJPD
SKSRSSSSS
SkSSSSQSSkW
SkSSSSQSSsS
SkSSSSSSS
SKS[YXC@
SKSZY]YQ
SkwRSSBUpSSSSS#;
SKXCHDHQNS
SKXD_P]AOYKK
s[[[k|Xdx[[[
S[KX@GMM
SK_XKQBXZQ
S_KXLHP[MHCJKZDP
SKXOH]YX
@SK@XOML]F
S[KY_JCYY
S[KYMOAHXY[QHDH]AP_JBHO[PQ
S[KY[SPDYBOPS
SKZC_QA]BYCOPXJ
S_KZGOQ]_
SKZJY@ZHN
SKZLEE[KCZS
SKZQKXALN
s|||||||||||L||
Sl4s?)k4
 Sl76jHM
]SLAGXQK
]SLAM]EGPZKQZ
SLANYDBLCD]MZCKEG__G
S@LAPZB@
slastIndex
SL]AXJP_
S[LAYMGA
Sl@@B@[pVL
SLB_SA[LG
SLBSHPBDPMK
S@L]BZML
S[LCCH[M
@SLCCQGXQPD@KZYK
SLCDJ]OZJH
SL_CGHOEZL
SLCKMMDL]ZAQKOFAPKY@Z
SLC]QYDA
SLCXJEE[PH_M
[[[sl|d][[[
)))SL[DH]Z@GHEFH
SLD]KKNCX
SL]]D]KO
SLDMJPMZQL
S[L__DMOQOBJYH
S[LDPCZX
SLDPXGQ_GSZYPZ
SLD]YXHXNE
_SLECKFB
SleepConditionVariableCS
SleepConditionVariableSRW
_S[LEHNES
[]SLEL_GHX
SLFBS_BX[YNL
"SLfgfwejT
SL[FJE@YKFH[M
	)))SL[FMHPLQYEF@]L[AL[LK@GH[@LZ
SL][FMPLL
SL[FO@EL][HGZOL[O[FDAFZ]]FYJO[FD]AL@G]L[
SL[FOH]HE@]P
SL[FQGL]
slf)WCvgfG
.)))]@SLG
sLg7egfGh
sLg7fgfG
Slg7ggfG3
)))SLG][FG@J
_SL]G[__J
SLGMLN@GHDLLDHDHE@_HAHS[H]SHA[H
S@LGN@GLL[@GNJF
S]LGO[LA
Sl:gqgg1o
sLgqggBP@v
SLGXQLGHS
)))SLGY[FCLJ]
SLHBAXGK
SLHBZPJJPD
SLHCB]SK
SL]]HEEJ
S[LHGB_YPLH
sL]Hg@EL
sL]HG@EL
[SLHQYNBNK
SL:Ig7uggw
S||lj||8j||Dk||
SLJ[AYKDE]M
SLJBXEN]M
_S_LJBXX]GM_YMMQQ_
]SLJDLKY__ZDO
SLJ[HALLY]BC
SLJLLZQKK
SLJLONMNOSX
SLJQPJNMABA
S[LJZNGMMQ]A
SL]KCX]Z
S]LK[FLAQ
SLK[HDHYZ
sLK[HdHYZhJ]@_@]P
SLKL[MPZM
@@S[LKNK
SLKXMBYBD
[_SLKYOMK]MNSDLZKC_DP[P
S]LKZHKQXHSP
SLKZZCC_YZDDS_[
sLLc;D96t
SLL[D[]G]X]D
SL]LE@SSK
SLL[FFFF
SL[_LHCQZYHOJZPQMCMCLOYN[SCCX_
s(lllllllllmllllOllylm
slllllllllmllllOllylm
's.llllllllmllllOllylm
(sllllllllmllllOllylm
[sllllllllmllllOllylm
_sllllllllmllllOllylm)
s#llllllllmllllOllylm*
s)llllllllmllllOllylm
sllllllllmllllOllylm
sllllllllmllllOllylm 
sllllllllmllllOllylm#
sllllllllmllllOllylm(
sllllllllmllllOllylm.
sllllllllmllllOllylm;
sllllllllmllllOllylm_
'SllllllllmllllOllylm
.S[llllllllmllllOllylm
_SllllllllmllllOllylm
S(llllllllmllllOllylm
S)llllllllmllllOllylm
S-llllllllmllllOllylm
S.llllllllmllllOllylm
S[llllllllmllllOllylm
S|llllllllmllllOllylm
SllllllllmllllOllylm
SllllllllmllllOllylm?
SllllllllmllllOllylm@*
SllllllllmllllOllylm|
SllllllllmllllOllylm4
SllllllllmllllOllylm5
SllllllllmllllOllylm6
sllllllllmllllOllylm60
SllllllllmllllOllylm8Q
SllllllllmllllOllylm9I
SllllllllmllllOllylm:|B
SllllllllmllllOllylmC
sllllllllmllllOllylmD
SllllllllmllllOllylmd
sllllllllmllllOllylmdC'
SllllllllmllllOllylmGN
s?llllllllmllllOllylmgZ
sllllllllmllllOllylmhzT
sllllllllmllllOllylmI
SllllllllmllllOllylmi
SllllllllmllllOllylmJ
sllllllllmllllOllylmjZO
sllllllllmllllOllylmkRF:H
sllllllllmllllOllylml
SllllllllmllllOllylmL
SllllllllmllllOllylmlK
:sllllllllmllllOllylmm]
sllllllllmllllOllylmm
SllllllllmllllOllylmn
sllllllllmllllOllylmN0
SllllllllmllllOllylmnKS
sllllllllmllllOllylmPa
s(llllllllmllllOllylmQ
sllllllllmllllOllylmQGk5
sllllllllmllllOllylmr-
_sllllllllmllllOllylm.R|
sllllllllmllllOllylmR
S llllllllmllllOllylmR
sllllllllmllllOllylmTlk:
sllllllllmllllOllylmu
sllllllllmllllOllylmU.
sllllllllmllllOllylmw
sllllllllmllllOllylm	W
SllllllllmllllOllylmW
sllllllllmllllOllylmx
sllllllllmllllOllylmX
SllllllllmllllOllylmx
SllllllllmllllOllylmX0F
sllllllllmllllOllylmy
SllllllllmllllOllylmy
s)llllllllmllllOllylmz
!S]llllllllmllllOllylmZ
sllllllllmlll]Y]]
Sllllllllmlll]Y]]
sllllllllmlll]Y]]G
')))SL][LQQ
SL_LXKZKY]
SLL[YQX]
SLMASHXC
SLMBP[BB
SLMCAYCGQMGKD
S]LMDSKYQACK
S)))[LM@DY[LZL[_LHH
|s|l|m|n|
SLMYMGJZ
SLMY[]PJAJCD_XM[B
S]L_NAJDH
SLN[ESPQ
SLNFNNELZ
SLNHMGZ_J
SL_NHZ_EXGL[
SLNKZOF[H
SL@]NL@Z]
s)))[LN@Z][P
SLOA]SSL
SLOGJO]DLKNOM
S]L@OMJC@SAPK
SLONHY[K@[
SLOXHO_]
SLOZMEGZ@X_H
SL_PANK_
@SLPFH[QG
SLPO]NEO
SLP[PG]D
_S_LP[QS
SLPXHNJXP_ZAL]
S_LPZNPM
SLQCXO][BA
SL[_QDQLCN
SLQJGOCLLJKH
s)))LQLJ
SL_Q[NA[
S)))LQYEF@]HGM[F@MO@EL
s)))@LQYEF[L
@SLQZQMQF
SlrD704]0
SLRTRWLU
||sl|sm?l
SLSMSASO
_SLSQJOHL@
SlSRSSSSS
SLSSRSSSSRSSSSRSSSSRSSSSQSsSSQSsSS
SlSSSSPQ
SlSSSSQSSkW
SlSSSSQSSsS
SlSSSSSSS
 slSSSSSSSS
SlSSSSSSSSSSSSSSSSl!
SL[S[XDB]
SLSYNZCA@GA
((SLtZLEO
S'lwgfGi
SLX[[HAQD_
S|||L||xL||
SLXOJHMPJN
SLX[PKAAA]
SL]XQBAYZ]
SL[XYLOYMG_GJ_NJO_[AKAQQYSNNXA_
SLYAP[ZFO]
S]LYBFB]ZAQ
S]LYBGYOMD]C
]SL[YDL]
[[[slydO[[[#
s)))[LYEHJL
SLYO[CGPO_GSC
SL]YPS]KXEX@E]
SLYPZM[Z
S_]L@ZDJC
SLZF[MC_
SLZSQHQY
SLZ]SZAC
s)))LZYNHDL[@JH
S[MAJZMJBKSBX
small_data_directory_count
[S[@MAMX
SMAPZDAQ]
S_MAQKSF
sMARTiNST
smartscreen
smartscreenedge
SMASCO][
SMAZKMC]
SMBG[JPQ]
|sMBhvEb
SMBLKO]KH
S]@MBLNXH
SMB_QHKOGOQX
[S]MCALJ@
SM]CASDCY
SMC_E_OD
SMC]HC[JM
[[]]S@M_CHJ
SMCM[GLAQDCASJX
S]MCPBCXDAZ
SMDAZJQNJ
S]]M_D[L
[[[sm]dV[[[z[[[
SMdY[[[*[[[
SMdZ[[[U[[[
S]MEGOAQ]B
SMEL[GMA
SME[YDSXNG@XELJ
SMFXNKDZHE
SMFXSEDY
SMGC]E[_
SMGDJXYEPJGDK[FOAHFDXXCL[
S[MGDMGL
SMG]EMCZ
SMGEQSPCOQ
s)mggfw_
!S!mggfw
S!mggfw	
S?!mggfw
s(!mggfwYQ
SMGLCZK[S
SMGLPNA@
Smgqgg!"
SMGYXG][HKHX[
S)))MGZZE
SMHDQECBGOYPBF
SMHEOEHOE
SMHJSAZH@E
SMH]NDCHYO
SMH_QOYJCG
SMHSFL@YJXYY
SMH_[ZCXE
SMJCJ]OZ
SMJFKQCQCPPCZBK
_SMJ]JO_HX
SMJJQ[K]QQ_
SMJKEJGC_J@H
SMJLG[MNP[P
SMJ[MGSJ
SMJM[_YX_C
SMJN@HA[
SMJNKQLLN
SMJPJPJOJPJOJ
SMJ_P]S@B
SMJSDSLSPNGMFXKX
SMJS@SZL
SMKCS[OLMZ
SMKDS]KO
_SMKHXNAJSH
S]MKLHB]
]S]M]KSP
SMKXMAF[S_B
SMLBXFGYL_[
_SMLGDGSAZQ
sMllllllllmllllOllylm
]SMLOP]M
SMMA_MJDHJO
]SMMG]A]
SMM[NNYANSD
SMM_ZB]DB
SM]NBNPD
SMNOPED_BMZ
SMNOZKJKEJN_ZEQCEKN_AJ
smnpgppepqA
SMNPXJC[
SM_O[B[[FOSQLMYQBXG
SMO_EGDOS_JOK
SMOFN_KJH
SMOJ_AKFS
SM[OJZMKS
SM[OKADX
S_@MOOCMOMFLX
S[_M]]OXJBHLX
S@MOZACvNOMZOANZMOZ
@S@_MPC]
SMP_GOXDQ
Smpgqggg
SM]PHDP]DKQDXZLL
S_M@PJY]DZS@DLDNMDKY
SMPKFM_H
S]MPL]GM
S]]MPYGHC[PZ]F
SMQDKMHLHOX
SMQKZAQNH
SMQ]OBKHJX
SMQSABOQ
S_MRck(Wkb
s[[mr[[eq[[
@_[smRSSd
smRSSsSSS
SMSAsyncScan
SMSAsyncScan should only be called from Cmd_HSTR sigs
SM[SBNMPOXX
SMS_CompleteTime
SMS_FLAG_CHANGED
SMS_FLAG_SCANNED
SMS_FLAG_TRUSTED
SMSKX]BB
S]M[SL[H
SMS_MBI_COMMIT
SMS_MBI_FREE
SMS_MBI_IMAGE
SMS_MBI_MAPPED
SMS_MBI_PRIVATE
SMS_MBI_RESERVE
SMSModuleLoadSync
SMS_PROC_ARCH_X32
SMS_PROC_ARCH_X64
SMS_SCAN_HIGH
SMS_SCAN_HIGH_ADV
SMS_SCAN_INVALID
SMS_SCAN_LOW
SMS_SCAN_LOW_ADV
SMS_SCAN_MED
SMS_SCAN_MED_ADV
SMS_SCAN_NONE
SMS_SCAN_ONCE
SMS_SCAN_ONCE_ADV
sMs;sOsDs
"]SmSS!]SlS[!]S
SmSSSSSSSS
SmSSSSSSSSSSSS
smSSSSSSSSSSSSSSSS
smSSSSSSSSSSSSSSSSEc
SmSSSSSSSSSSSSSSSSSSSSSSSS
SMSSyncCount
SMSVirtualQuery
SMSVirtualQuery is only available for the SMS feature
sMtllllllllmllllOllylmsoN
SMU?SCCNCCCBACC
SMWgrggfG
SMXBHODPOJ
SMXE[HHN_X]
[SMXJGQP
SMXL_GC_N[
SMYCGA_YG
_S]MYH_]_CBS
SMYHHPQSE
SMYOYGGM
SMY[YQJH
Smyyqpsr
SMZC[MXCA@
s)))MZENFBONFS
SMZHY@O]
SMZJX[_AH
]_S]N[[]
Sn0gAcgfG[2
sn5zXgf0
Sn6Kpgppepq
SNAAAAAAAA45(-n
S"@n@@A@AAac
S@@@@@n@@A@AAac
SNABQXS[Q
]SNAJA]D@ELE
SNALJ@MBJSJBX
S@NAM[]DZ
]SNAQD]OYJ
_SNBD[_YP]S
SNBOQZK[_
SNBQSFQ]MFBONJMP
SNBZPLPCN
SNCA[CZ]
SNCG@SKSQ_E
SNCJNXADSNDGNCCAXBZ_YQYDFMKP@LB
SNC@OC[_
SNCOY[]ELLHXPZ[
]SNCYH[PG
SNDB@XLXS][DLGMKB
SNDF]AFODD
sNdH[[[J[[[I[[[
SND]JAC_JNOPMNEEJ
]S_ND@]L@F__
SNDQKH[ZQCB_[Y
SNDSBXS]XC]SO
S[NDXNNNC
SNDZDXCMOX
][SNEBYJYB_HN
SNEC[JOX[E
SN_E[MOSOBMGY_FDN
SNENGLJZOCS]CH
sNFHRc!a
SNFMAGX[C_KSE
SNFYBBZNS
 sng9ggfG
?SngfG8i
snggGt3	
[SNGH@FDMSDM
SNG]HOBGZX[F
SN[GMPEB[GYXD]KOJ]
SNGP_SGDQ
SNgqggcnuD#
SngqggDz
 sngqggG
?sngqggw
SNGSBOHYHNDE
SNGXQNGN[Q
SNHBJPNZ]KMCAXDJSC
SNHFGXHXS]YZ
SNHHJ]ADP
SNHMZG[BEO
SN_HX[FY]NN
SNH_YAYQ
SNHZ]DNF[X_G
SNidSearch
SNidSearch: expected sha1 string value (conversion to array failed)
SNidSearch: expected sha1 string value (string length mismatch)
[[[s[n[i[o[i[c[c[w[o[r[w[
SNJOAEXJ@_
][SNJXQBJ]HZJMD
SN_KCBBJC
SNK]K_PXPNN_MBF
SNKLCZSJH_
SNKLNZXPLOP_MPFX
SNKLSNKLDZ
SnKmggfws
SN_KMXBECQLGS
SNKQB]YH
SNKZPD_LOG
s)))NL]FKCLJ]
sNllllllllmllllOllylm
SNLLO@JQ[ZDMJHG]L
S[NLXEXAHG]
SNLZAXZAZ[CG[HPJJBDQ
][SNLZ]HF
SNMDNNPXQGKJBJCDGEN
S@NM[FLO
SNMJHMGQFC
SN]MMLHJ
[SNM_NPPZ
]]]SN__MO
SN_MQQG]
[SNMQZZHGBDN]A
SNMSCGNY
SNMSL[[Q
SNM@SYDMM
SNMXYCHSAYH
SNMY_QZCGSNOASP
SNNDSMOL[DZX
SNNM[GNYBL
SNNMJKCL
SNNQ]_X]XZBN
SNNSSLZOQ
_SNOEJHD
SNOGBONEC]
SNOHDZY]Q
SNOL_F_KHS
SNPC[XEF
SNPDCLDDJE
SNPDZ[SPEA
Snpgppepq
SNpgppepq
S_NPLS@COG
SNPQXF@EZJPKKQF
SNPZKYDQCKJMDLLEYXANY
]_SNQADOZ
SNQBM[CMBNC
snq@B@@@np@K
SNQ]DDBFZ]D
SNQ]DD[]K[_]CQQG
S_NQ[HSPLFS
[S[NQMKXO
Snqqhqzzh.
snRgqgg!
S*nrgUdgfGYQ
SN_SBCSDGP_
]S]NS]OCPL
SNSOKBZ[_OHNDAX[
SnSSSSQSSsS
.SnSSSSQSSuS
SnSSSSSSSSf
SnSSSSSSSSSSSSy
sNsvZsfCsNVs
sNsvZXSVR[[[[s
SN_SZKDZ
@SNT2M@@@@B@AG@
sNTBBW	d
sNTBBW	e
sNTBBW	f
_snwprintf
SN][[X]ABASGB
SN]X_ASHEQ
SNXEJFM__S[
SNXFKC_HS[SNMQBC_
@SNXGGKY
SNXM]]KP
SNXMSCXX[
@S[NXO_[Z
S_NXQBECKLGHA
[SNXS_B]
SNXSLGAO
SNX_Y_BDB
SNY__H[DDOJ[
SNYKXYSPBCGKQSYNN
SNYNLMA[LSJXZ
SNYQBZSB__HYE
SNYQQSGJAN[
SNyyyySSSSSAMJyyyySSSSSAJ
SNYZHABCG
SNYZSBQEJML_
SNZBCFM]HS]
[]SNZC]H
SNZ]LDQQKXJFAP]_YZKN
[S_NZN[]KDPDQNNOKD_M[X
SNZOCZ]Z
So7*ngfG14
_SOAYBDC
SOAZSGSXG
S_OB]GKNJZ_
]@SOB[ND@_]QJ
SOBNS_BBA
]S_O_CBXC
so]cgfGCf
S[OCHXCQSHSLOBA
[SOCJ]EYNB[N
SOCJZOQMDJ[M
SOCNBHASKLSG
SOCNBMENP_
S]OCSJ[[
SODBXLQAAYYMPMSNENMK
SODFZSJYN
SOdgfGLz
sOdI[[[:
SODOOPXFL
__SODPCJ
SOdT[[[|[[[r[[[
sOd[[[[w[[[
SODYXBZMGMK]EH
SO]_E[HOCL[
s)))OEHZA_H[Z
S)))OEHZA_H[Z
S]OENJFQJH
S__[OEPC
s)))OF[@
S)))OF[@
soft_heap_limit
software
SoftwareBundler
SOFXGMKNNJM_QAE
sog3ogfG
Sog)agfwKoM_v
"so-gBbgfG
@SOGBSJOG
SOGCMCYZ
sOg_egfG
sogfG.1ndgqgg
sogfG(49
Sog!FgfG
sogfG.'s
sogfGx)2
SO]GG@HS]NZC
SOGGQ[O[
SO(Gmggfw
S]OGOB__K
SOGOKAB@O@
so[gqgg!
SOG]SLHBMJBY
sogwegfG
sOgwngfG4
SOHBDZ]Q
SohbgfG5
SOHDSA@Y]O[
[SO_HEAXM
SOHFQLCZKZNNLSJ]DSQPHL_
SOHHQG_LHA]
SOHHYSQKYYJD]NGL]
SOHKSD[JBP[GM
]SOH]NK@X
SOHOESHEOHE
SOH]_OHZ[
SOHQABGXODY
SOHY]COO
__SOJCJSC
SOJE@_DK
s OjogfG
SOJXOADKP@AJ
SOJ]ZQEDS_DCJHYAHB
]@SOJZSY]XPLZG[BS
[[[s[o[k[b[m[w[o[r[w[
SO_[KS]C@XM]X]
SOK[YAALC
S[OLAJHLPCO
S_O_LNZDY
SOLOZPOK
]SOL@SFB]K
S||oL||SL||2L||
_SOMBHZKO
some of the expanded forms for path
]SOMGYH[
[SOMHHZBPXGA
@SOMJDL_GGD
SOM_]OYO
S[OMXDPG
[SO__MXSSHX
S]OMYM@GE
SONEMQ[QL
SO_NHBFZLPAHNQJJ
]SONMBKMJKAPMA_Z[XLS
SONMNJOCSX]JD
SONNAO_]QN_
S@O_]NOAOJ[_YLX
SONOELSSPNN
SOOG[SJA
SOOHQYXBDE
@SO_OJCS]JD
SOOLXPLMDS_O
SOOMNN[EEB]]ABKKC@@GXL
|S@OOOOOOOOO
|S@OOOOOOOOOOOOO
SOO@PA@G
S_OOXMHFX
SOPFLX@AKMG
SOPOZE@]X
@SOPPG_AGSXNNQB
[[[soqfT[[[
SOQJNSYNCJ
S_OQ]MQY]
SOQQA_BCQ
soQ) -QCr
SOQQJKQQQ
sOrLggwt1
SOSHPKFQ_MF
SOSJJESEC
SOSNSMSLSUS
SO_S[NXLQ]
SOSSGNCGALZD
SOSSHESQDLDXZ]SY
S]OSXAYBKCAEP
SOS[YZZX@GFGSLGF
SOSZD@_XPZZ[
sourceaddress
SourceAddressHigh
SourceAddressLow
sourceaddress_scrubbed
sourceip
sourceip_scrubbed
sourcenetwork
sourceport
SourcePort
SourceURL
SoVbgfGi
_SOXBC_Q@KCOA
SOXFKMKD_
SOXMHGJC
SOX[QAGG
SOXQMKSZCC
]S[OXXYZPO]HF[XDA
)))SOYBB
_S[O[YHBML
SOY]HZFM
SOY[MNLXYC[XY
SOYOLDACE
SOYPPOYPBQNONG]
SOYSLMOBBO
_SO]_YXX]B
SOYYZPGLS
_S[OZA[DPJLJBO
SO_ZBQ[AH
SO]ZE_CM
[SO[ZHKAZDGZ
SO[[ZJF@ALXCEBYNBEHZMCOZ
SOZMBCS_J]C
SOZ@NBL[J
[S[OZ_N]JJHJH@GSJZ
]SOZZAMNDB
[[[S[[[P[[[
sP3AAAAAA@AAAAAC
[[[SPAdC[[[m
SP[AOSCXG[EB
sPartA_PrivTags
(.*)spatialite(.*)
(*SPBKA]]Y
sPBllllllllmllllOllylm
sPBllllllllmlll]Y]]
SPBNCHNSF_
S_PBNGMS[
SPBPOPBCX
SPBXCAPXN
(||s)||P)||C)||
SP_CBCDND
SP]CDBOHKS
SPCGQJ_Z
SPCH_YMS
SPdE[[[@[[[
SPDELBXED
SPDPMNHGDFL
S_P]DQE[_
]SPDYLOC
[SPEBHCXEZ
Specialfolder
Spec ID Event03
_SPENJBS
Sp.g@[[[
SpG3ggfGU
Sp.gL[[[g[[[
SPGNEODX[CGY]PEGXJO
___SPG_O
S[P_G]PM@
s!pgppepq
s:pgppepq
s|pgppepq
spgppepq
spgppepq;
spgppepq?
spgppepq|
 Spgppepq
!Spgppepq
'Spgppepq
;Spgppepq
S'pgppepq
S*?pgppepq
S*pgppepq
S-pgppepq
Spgppepq
Spgppepq!
Spgppepq'
Spgppepq;
Spgppepq?
Spgppepq1
Spgppepq2
Spgppepq@7
"spgppepqa
SpgppepqA.
Spgppepqbt
spgppepq[c
s;;pgppepqC
SpgppepqC
spgppepqCk
SpgppepqD
Spgppepqd8
spgppepqE
SpgppepqEAvO
SpgppepqEb"k2
spgppepqf)
SpgppepqF
SpgppepqG
spgppepqh
Spgppepqh
SpgppepqhhO
spgppepqI
SpgppepqI.
spgppepqJ(
Spgppepqj
SpgppepqkC3a@Lb
SpgppepqN
spgppepqOm
spgppepqP
spgppepqqCO
spgppepqr
spgppepqT
Spgppepqu
SpgppepqVY.
spgppepqW
Spgppepqw
Spgppepqy
S#pgppept
Spgppept
SPGP_XL]ZCC
SPgUggfGm
S_@]P]@H
SP[HAZBDZF
[S_PHD[J
SPHDNJLJY[
S||pi||di||Hi||
SPJ]AAHN[K_NGJCE_NXNGH
S]PJ@EQ]
SPJHD_JCOKZH[J_]_@@_PJZ
SPJK_MX[
SPJMNHZD
SPKd_[[[*[[[([[[
SplitAfter
SplitBefore
split_nodes_array
SPLJOQXGJLJ
SPLKHLHB[JX
SPLKNBBCP
S||pL||lL||hL||dL||LL||
sPllllllllmllllOllylm	
SpllllllllmllllOllylm
SPL_XBXOMHZ
SPMajorVersion
SPMinorVersion
SPMOS_ZZ
S]PMQLML
SPMYDHQC
[]SPNJKYAFPXYHAO
SP]_NPCOJ[A
S[POAMNQKGO@K]BHMPQD_
SPO]EOLYMOBO
SPOGQQANO
[SPOM]HC
SPOQYGNX[Y
SPOQYKA]PH
SPOY]NNZDSZM]]
sPpgppepq
Sppgppepq
S@PPHDHHZ@
SPPLCN[QB]BH
SPPNL]DNCCEC[GNMP[
SPPPUPUUSUUUDUPUU
S@PP@XGB
SPQAJB]SGCM
]SPQCHJE@_MG]AJP
.)))SPQLE
SPQYDCKHOJOYPP]PF
SPRXR[SSUSSSUSSSSSS
SPR[[[Z[[[
SPS]BSAKBDNZ_[Z]X
SP[[SJPXDACQP
SPSKK[FSJQ
SPS[MP[EJ
SPSSBWsSPSS
"@SPSSSS[CCZR
*@SPSSSS[CCZR
*@SPSSSS[CCZR]
@SPSSSS[CCZR
@SPSSSS[CCZR3
@SPSSSS[CCZR5
@SPSSSS[CCZRf
@SPSSSS[CCZRK
@SPSSSS[CCZRL
@SPSSSS[CCZRm]
@SPSSSS[CCZRt
@SPSSSS[CCZRU
@SPSSSSQCC[R
S[pSSSSS
SPsSSSSS
SPsSSSSS1
SPsSSSSSub
@SPSSSSZC[VR
SPSSSWSS
SPSSSWSSS
SPSSTD3XD@Uk
SPSYS3SSQsS
SPT[[[Z[[[k[[[
!S@@@@@@@@[pVL
[[[SPWdQ[[[
SPXAHM]]C
SP[XF]_B_
SPXJOJZAH
S_PXNG]N
SPXOBFZ_
SPXZB[JYK_Y__NCPNZDSE[DJJPZY
S]PXZBXDA
spyHXpyb
SPYJECZJ
SpynetBondKillbit
SpynetBondResponseKillbit
SpynetCollectionErrors
SpynetError
Spynet is off when trying to generate AzSubmit feedback report
Spynet is off when trying to generate Url Reputation report
SpynetKillSwitches
SpynetLevelValueChanged
SpynetReport
SpynetReportGuid
SpynetReportingLevel
SpynetReportResponse
SpynetSigLoader
SPYOCYMY[KYO[[Q
SPZABN[K
SPZCXPSP
S@PZFDJLK_MKLNJM@Z
_SP@ZFL]LZOD
SPZF@XAO
SPZGHL_N
SPZKF]LHE_BN@XH@[C
SP_ZKK_QLBHYG
SPZK@OFB
S]PZK[YX
SPZLADAPAH_
SQ[ADAGCB]
SQANZPB]K
SQ]AQNAPXNZJ
SQAQOP]@[GBCC
SQ_BDXOYGJC
SQBFELZ]LP
@S[QBHG_
SQBPC[N]QOOLYQ
@sQBsLtsSSS
SQBZZS]Z]XQ_ZDOLKXBEP
)))SQCAMNE_KDOZE
SQcc]Y]]
S_QCDNC[DL
SQC]HN_ZKJ
SQCHSJDHYGKN_JOK
[SQCHY_A
SQCMKSPNE
SQCN_Q_C
|@SQc@SBc@Ssc@S|c@Smc@S
S]QDSOCNQ
SQDXLBBM
sQdX[[[Z[[[
SQD]ZYEDD
SQEK[BYG
SQE]Q[LN
SQFEXZM@KG
SQFGKAE]F_
SQF@HZQS
SQFLGALJXYES
S[QF]QZX
SQGAYFPYL
SQGCHAMAJG[
_	sqGgeVgfG
SQGMHCO[A_D
SQ[gqggF
sQgqggFT
sQgqgg'G8i
S[QHBBAH
_SQHCBXBCSAAG
sqH;C rkH
SQHDZJHA
SQHG]CY@QKL
SQHLCZPY_
SQHLG_MX
SQHZM]XXS
[[[sQIdM[[[
SQJEPBADGM
SQJHB_LY
SQJKJHCKB
S_QJZKEB
SQKA]NKJZOP]G
SQk@@@@@|@@B@ACa
SQKC[FNAJ[JPP_C
S_Q[KK@S]S
SQKNSJA[]Z
S_QKPNSNSHZ@SCO
SQLGKH@AJBXG
SQLInternalError
sqlite_attach
SQLiteDBInitSucceeded
sqlite_detach
SQLite format 3
SQLiteGlobals
sqlite_log
sqlite_master
sqlite_rename_column
sqlite_rename_table
sqlite_rename_test
sqlite_sequence
sqlite_source_id
sqlite_stat
sqlite_stat1
sqlite_stat3
sqlite_stat4
sqlite_temp_master
sqlite_version
sqlitewrapper
SQL logic error
SQLMQ_SO
S]QLOEB]HQY
SQLZEHS_
_SQL]ZEZ_Z[PEY_
SQMEPFKK]XSACL
S@QMKNBSQG
SQMN]PAXQCE@@PQ
S_]QMNSHA
SQMQNL]S
SQMYQNBM
SQN[CY[G
SQ[NDCGK
SqNdL[[[
S_QNJFQQGSD
S_[Q_NKKC
SQN]PSLODQ
SQNXJYCC
SQOJMC@YG
SQOQKGNB
S[QOYCOS]LKJLL@QJ
SQOYPH]DZFCC]A[ZGG
SQPDHXJB_BYP
SQPEO_SKKPX
SQPOB]YZQXJ
SQPPaagqgg
SQPXQHNCQFS_N
SQQJHXXHvSSSQHJJZ
SQQJ___ZQQJZMLLLMQQM__SSS
SQQ[P[CP_Q
SQQ_ZXCQMZOOQME_KFYMMJBJXH
!	@SQRT2
SQRZTRVZT
S]QS_]]BQE]]QD
SQSCQHNLCCGKLL_
sQsgqgga
]SQ_SMEKXGFBJ
SQSPXXPK
@SQSSSSQCCR
@SQSSSSQXXR
s#QSSsSSS
@SQSSSSTTVR
-@SQSSSSVVVR
@SQSSSSVVVR
@SQSSSSZCZR
@SQSSSSZCZR'
@SQSSSSZCZR1
@SQSSSSZCZRw0
@SQSSSSZZVR
:@SQSSSSZZZR
@SQSSSSZZZR
]SQSYMBPP
SQTlgWkgfG
sQUAggcgfG
S[[[qU_d@[[[
sQueryType
sQ(VSSW(nSSW[
sQ(VSSW(nSSWBVU
_SQXAGPQJ
SQXA_YQXAD]
SQXCKLKX
SQXSNPCNXMDQGXYDGAXBDX
S]QY@DAGZGJ]_
SQYGGEYN
SQ@[ZBJ_
@SQZD_QYCXN
S]QZDZSDX
S@QZED@AXSQXJ
SQZFSGNG
SQ_]ZGJG
S@QZgQngfG
SQZKAX[@
SQZSYHP[N
SQZZ]ZFLY
'||s ||R ||; ||
)sR?@@@@
[[[S[[[R[[[
)sR?@0@@D@ACac
sR0llllllllmllllOllylmCu"
S@@@@@r@@A@AAac
s@r@@A@AAacoo
)sR?@@AA(p@N
)sR?@@AB
)sR?@@A@XpGD
)sR?@@B@
'.'srB@A@2 @v
)sR?B@AA
)sR?BBA@
)sR?BLB@Hp@JDi
)sR?@B@@(p@@@@@@
S[RCSlSSSrSoS
S[RCSQVSSrS
S[RCSTPSSrS
S[RCSuSSSrSaS
SRg1qgfG
Srg7fgfG(
s[rg)dgfG
Sr#gqggi
SRgwjgfGI
)sR?@HA@N@AEac
srllllllllmllllOllylm;
SrllllllllmllllOllylm
s;RlN[[[I[[[O[[[
s)))r[LOELJ]@FG
).sroqtpqwa47#@B@C@Lp@Nw
##srPRgfG 8
)sR?@@@@(p@Y
SRQPWVUT[Z
SRQSSRSRSRQSRRPPPPPPPPPPPPPPRRRRSRRRRRRRSRRRPPSSQQQQ
SRRPPPSPPPSSSSSSSSSSSSSSSSSSSSSSSSPPPPRPPP
sRRRR	@[ULp9
sRRRR	@WAVLC
SRRSKRSSSJRSSS
SRRSSRRR
SRS3DSSSS@S
SRScMSSQS
sRSC	_SSS@S
SrSd@[[[
SRSRS3PQSSS@S
SRSRSCqSSSS@S
SRSRSCWRSSS@S
SRSRScZRSSS@S
SRSRSSSSS
SRSRSSWQSSS@S
sRSRS	YTU
SRSSB[BZ
sRSSBv@UBUs
SRSSFSSSS@S
@[SRSsl[SSS@S
@SRSSSS[CR
@SRSSSS[CRSWV
	@SRSSSSQTR
@SRSSSSQXR
@SRSSSSQZR
SRSSSSSPPPPPRPPPPPPPPPPSRSRSRSRSRSRS
sRSS-_SSS@S
@SRSSSSTTR'
@SRSSSSTTRF
@@SRSSSSVVR
@SRSSSSVZR
@SRSSSSZZR
SRSSSWSCS
SRSSSZSSSoSSSSS[SRSSSnSSSSSCSQSSS
SRSSTSSSS@SHR
SRSSUSSSS@S
SRSSVSSSS@SdR
SRS#TSSSS@SmRKSRS
sRsTs@sVs
SRSWSVSZSYS_SoSnS
s)))Ru[]O
S[RUSwSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSSUS3SSSUS.SSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSSUS
SRUTUCH_H
SRV5u|Elpgppepql]Qc
SrvNtTransactionDispatchTable[
SrvNtTransactionDispatchTable[0] Not NULL
SrvTransaction2DispatchTable[
SRwC@p!Z
S]rXRUSSsRSS
S]rXRUSSSSSSSSSSCSSSCSSSCSSS
)sR?]Y]]
)sR?]Y]]g
)sR?]Y]]Zb_
s)))rZ][@GNt
ss2|||||
S@s2QMQRSSSSS
S@s2SOSRS
S#S2S'S0S;S
S?S2S!S4S6SSSSSSSSS
S'S2S!S'S
S?S2S S'S
SS2;SSSS
S'S2S!S'SSSSSSSSS
SS2XB[sSS
	SS2@XEP
S@s3W*RRSSSSS
SS3Yx]UM3Yx[UsSQSS3YB]BU
S;S6S0S8SsS
S;S6S0S8SSSSSSSSS
S!S6S2S7S
S!S6S2S?S
S?S6SbScS
S!S6S#S2S:S!S
S S6S!S S
S|S7S:S!SSS
S|S7S:S!SSSSSSSSS|S
S@s7|TURSSSSS
ss8:_e9M
SS8SSSSGRSSSFRSSSERSSSDRSSS
SS8SSSWSSS
SS9BFdWBFxUsS
SS9[dP[xUsS
SS9fWBWxUsS
@SS9fXUss
SS9g_BYss
SS9gCZsPSS
SS9gQEyBYs
SS9SSSSS
SS9@WBVi
S"@s@@A@AAacoo
]SSADH]BXL[L
[SSaRSBQL|9
S@saRtRRSSSSS
SSASBXGNJX]EGZQ
SSaSSSVSSS-
S]SASSYX
S]SAXHCQC]B
SSBAQQLC9
_SSB_BAK9
SSBE9_E9PW
SSBE9XArQs
SSBE9XE9PW
SSBE9YE9PgKUQ
SSBE9@ZEXQ(PSSW@TBTsSSQS9
SSBE_E@UAB
SSBE_PI9
SSBE@VQ(@SSW@WBW_[Y[
SSBE@WP9@UW
SSBE@WQXQ
SSBE@[WsSRSSgQEyPWLs
SSBEXEPgDQYU
SSBEXEWgePYQP
SSBEXEYE9QUs
SSBEXEYE@VEVg
SSBEXP9E9YQ
SSBEYEVg
SSBEYE@VQM9
SSBEYE@ZE@[E@TE@UE@]E@@E@AQP
SSBEYPI9
SSBEYQLC9
SSBEYV_PV
SSBLBSK[@
@SSBMLK9
[SSBN9@yVK
[SSBOsSZSS
SSBPIe"PQLs9
SSBPj9RSSWj7RSSVEm
sS@@B@[p[L
[SSB@PLK9
SSBP@WPMgQFyQvI9
SSBQ(PSSW_[s
SSBQ(PSSWs
SSBQ(PSSWsS
SSBQ(PSSW_[sSCSS9
SSBQ(PSSW@TBTsS
SSBQ(PSSW@UBUsSCSS9
SSBQ(PSSW@UBUsSCSS9fQEyBUrSSS
SSBQ(PSSW@VBVsS
SSBQ(PSSW@WBWsSRSS9
SSBQ(PSSW@WBWsSS
SSBQ(PSSWXTsSPSS9
SSBQPVsSSS
SSBQ(RSSW
SSBQsCRSS9
SSBQsSQSS9
SSBQsSSS
SSBQ(@SSWYU@WBW_BW
SSBQ(VSSW@ABA(uSSWK9
SSBQ(VSSW@EBE(uSSWK9
SSBQ(VSSW@sBs(uSSWK9
SSBQ(VSSW@UBU(uSSWK9
SSBQ(VSSW(uSSWK9
SSBQ(VSSW(USSW@ZBZs#BRS9
SSBQ(VSSW@VBV(uSSWK9
SSBQ(WSSW
SSBQ(WSSW@ABAs
SSBQ(WSSW@OBOs
_SSbRSBQL|9
SSBRSSWSSS]
[SSBTsprSS
SSB]VMgQEyQLc9
SSB]VvLG9
[SSBY9K9	BF
S@sByW@RS
SSCCSSSQSSS
SSCcSSSRSSS
??SS[cc]Y]]
SSCEA]GO][P[JXK[GQF_BHKM
SSCIRSCRRSCERSCKRSCJRSC
SSCKQ@P]KZMAKCNJYSDDZC]SC
SSCPSSSS
sSCRSgQEyTM9
SSCRSSSS
SSCSRSSRSSSSSSSRSSS
sSCSS9dEQ(VSSWTr
sSCSS9dQEyB
sSCSS9dUs
sSCSS9fGUT
sSCSSd1B]JfQEyB@sS
sSCSSdUs
sScSSdXET
sSCSSeQEyBG(USSW@XBXsSSsS9eQEyBXsSCSS9gQEyB@sSCSS
sSCSSeQEyQB]L]
sSCSSf3ZM9
sSCSSfNUF
_[sSCSSfP[xVsSCSS_Q(VSSW(|SSWTBVU
_[sScSSfQEy[sS
_[sSCSSfZU
_[sSCSSgW[Yx[sSCSSYxYUs
@SSCSSSp
sScSSsSSS
sSCSSsSSS
SScSSSWSSSi
sSCSS|uB]T
SSCVSSSS
SSCVSSSS3QSS3RSS
SSCVSSSS#QSS3RSS
SSCVSSSS#QSScSSS
SSCWSSSS
SSCWSSSS3PSS3RSS
SSCWSSSScQSS3RSS
SSCWSSSS#PSS3RSS
SSCWSSSS#QSS3RSS
SSddBNLw9
sSdI[[[o[[[
ssdN[[[)[[[
SSDNCHJEQ
SSdQEyQBY
sSdU[[[a[[[
sSdV[[[3[[[
[SSD@WUI9
S_SDXYZK
SSdyUsSSUSfqBV
SSdZBHsS
SSdZBIsS
SSdZBJsS
SSdZBKsScRSeAZD
SSdZB]sScRSeCUD
SS]EA_NBBYNNJZCS
SSeC[sCSS
SSeEQ(VSSWs_
SSeEQ(VSSWsU
SSeEQ(VSSWsW
SSeEQ(VSSWsY
S@sEf3ZRS
[SSE@GW@xEBxo
[SSEQCYB
SSeQEyALLG
SSeQEyQBUUsSSS
SSeQEyQBZD
SSeQEyQs
SSeSRSSdSRSSkS[SSjS[SSiSZSShSZSSoSCSSnSCSSmSQSSlSQSS
]SSE@VE9@y[M9
[SSE@VTLs
[SSE@WE9@zZ9@TEBx
SSEYE[E_HCC_
_SSEyEyP
SSEZL]PH
SSf5UsSsSSd
SSf6QBXBWsSSS
]SSf7BWEfQEyBW[
SSf#BuM9
S[SFCQKJ
SSFFindClose() was called on an invalid vfo handle
SSFLPPAAK]DPAPJFAC[YOBX[[B[G_LJ
S@sfPRRRSSSSS
S@sF]|PRSSSSS
SSfPTxVsS
SSfPUxVsS
SSfP[xVsS
SSfQEyBFBGfQEyBMLC9
SSfQEyB_sS
SSfQEyBTsS
SSfQEyBUsS
SSfQEyBVsS
SSfQEyBWsS
SSfQEyE@UQ(OSSW(MSSW
SSfQEyTLC9
SSfQEyTsS
SSfQEyUsS
SSfQEyZsS
SSFQSSVSSSp
S@sfRYSRSSASSSS@S
SSF:ScanAllStreams
S@sfW9PRSSSSS
SSfWBUxVsS
SSfWBVxVsS
SSfWBWxVsS
S_SFXA_MCZ
[SSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSS
SSfZBVsS
ssg1kgfGWeY
SSg9QLG9
ssgCygfGB1O4gqggQ
|SSgEBAD
SSGKA@HHYQ
S_SG@LHQDPB
SSGNXE[K
S@sg](PRS
SSGQCF]MY_@G
SSgQEyAzs
SSgQEyBBM9
SSgQEyB_M9
SSgQEyBsM9
SSgQEyBWsSCSS
SSgQEyPU
SSgQEyTsS
SSgQEyTsS1SSeQEy[M9
SSgQEyUsS
s;Sgqgg4m
s_Sgqggin
sSgqgg-Lc
SSGTSSQSSS
SSgWUXx[sS
SSGXJGSQDLZ
SSGX[_[LLDB
S@shbaTRScKPSSS@S
S[SHCHGZ
	SShcRSSM[
S@shF'[RSs!RSSS@S
sshgqgg!
SS.hRSWBUB_UBUEL
SSHSKSK@H
SSH[YDBDNGGP
SShYPSST
_SSIWn(_SSBXLE9
S@s#j6XRSSSSS
SSJABESNG
SSJDS_L]
SS]J]LC[
SS[]JMP_AA[
SSJSCECHOMSXD
SS]JSDGC
S@sjx3PRSSSSS
SSJZ]AC_
SSJZKOCQ
@]SS@KAMY
_SSk*_SSUBW
SSLAE_[J_
SSLANNSE
SSLBJNDMCG]JMF
S_SLGG]_HLCBJQHNMDKY
SSLJMGX_J
SS_@LLAK
sSllllllllmllllOllylm
:s	SllllllllmllllOllylm4
S||sL||[L||OL||?L||(L||
S]S@L[OCP_NX
SslProtocol
S@slSYSRS
SSLXXKS[PB[LAN
[SSLYZZX[
SS_M[]]]
SSMABYQGBL
SSMC_PHJZLOXH]QOPL
SSMOOCPJY
S@smPARRSSSSS
@SSM[PPMMF
SSMP_ZHKJ
_[sSMSSa
SsmSS	ScmSS
)))SSMXQ_
S@sMy9QRS
SSNESYPQS_FXGQBBAZ_KY[
S[[_@SNG
S_SNKKGMSHL
SS]_NL_XFJN
S@s[]NPRSSSSS
sSnSSfQEyQBWsSjSS
[[_SSNZG[CS
SSo 0!:#'s !0n
SSo5QSSTLs9o
SSO]G[O_EH
SSONPJ@Y__MS
SSOOXSL]]
S@sORPRRSSSSS
SSORSSPSSS
SSOS][DM
SS_OSZJPD
SSOYGGH_H
SSPBD@LSK[N
@SSPBYB]ZN@JHBJG
??SSPcc]Y]]
SSPCKMDPJ
SSPHNAZ@]
S@s-PjRRSSSSS
S]S[PNBDM
SSPOB[G[HYD
S@sp]oPRSSSSS
sSPSS9BWf
sSPSSeUs
sSPSSfQEyBWBU
sSPSSgDBXBW
S@SPSSSS[C[ZR
sSPSSsSSS
_SSP]X]LB
SSQAXE9.
SSQ@BBB@CAGs
??SSQcc]Y]]
SSQ_DM]NSDPG
S[SQJEGMJZQS
SSQJJ_MMXHHvZSSQJQJJQ
[SSQLC.xSSWUD
[SSQLC.xSSWUE
[SSQLC.xSSWUH
[SSQLC.xSSWUI
[SSQLC.xSSWUJ
[SSQLC.xSSWUK
[SSQLC.xSSWULX
[SSQLC.xSSWULY
[SSQLC.xSSWULZ
[SSQLC.xSSWUM
[SSQLC.xSSWUN
[SSQLC.xSSWUO
[SSQLK.xSSWUD
[SSQLK.xSSWUE
[SSQLK.xSSWUJ
[SSQLK.xSSWUK
[SSQLO.xSSWUD
[SSQLO.xSSWUH
[SSQLO.xSSWUJ
[SSQLO.xSSWUK
[SSQLO.xSSWUL_
[SSQLO.xSSWULB
[SSQLO.xSSWULC
[SSQLO.xSSWULY
[SSQLO.xSSWULZ
[SSQLO.xSSWUM
[SSQLs.xSSWUE
[SSQLs.xSSWUI
[SSQLs.xSSWUL]
[SSQLs.xSSWULX
[SSQLs.xSSWUN
[SSQLs.xSSWUO
[SSQLy.xSSWUE
SSQPG_GXE
[SSQ(PSSWsSS
SSqqQ"RXSrSWS
SSQQQSSvQJJJvSQQS
SSQQQSvSvQJJJJvSQQS
SSQRBSSSCZZZ[ZZVCCZZ[CCXZWWSSSQSSSZSSS
SSQRCSSSZZZZCXZVXXZZZ[ZZWCSSSYSSSXSSSZSSSCSSSXSSSZSSSCSSSZSSSZSSSCSSSZSSSXSSSZSSSZSSSVSSSGSSQW[SSSXSSSXSSSXSSSXSSSXSSSZSSSXSSS
SSQRPSSS[VVRUSSS[VVVVVW_SSSZSSS[SSSVSSSZSSSZSSSVSSSZSSSVSSSQSSS[SSS
s@SQr@SBr@Ssr@S|r@Smr@S
SSQRWSSSZZCYWPSSS
SSQRZSSSZCCCCTCZYWVSSS[SSSZSSSCSSS
_[sSQSS9
sSQSS9fQEy[(|SSWAAL
sSQSSdUs
_[sSQSSe[sSQSS_xT[H
_[sSQSSeW[XxUsSQSSXQLq9
sSQSSfQEyBOs
_[sSQSSgP[xVsSQSSXZ(|SSWAWsSRSS
sSQSSgQEyBY
sSQSSgQEyULC9
sSQSSgXUQ(WSSW
SSQS[SNE
sSQSSoAUSSBUD
SSQ;SSQ;SSQ;SSQ
SSQsSSQsSSQLSSQ
sSQSSsSSS
SSQUBUsSSS
SSQuSSQW[SSSZSSSZSSSZSSSZSSSZSSSCSSS
[SSQ(VSSW(nSSWU
SSQWFSSSCSSSCSSSZSSSZSSSZSSSCSSSCSSSCSSSVSSSCSSSZSSSZSSSTSSSZSSSZSSSZSSS
SSQWRSSS
SSQW@SSSZSSSZSSSZSSSYSSSZSSSZSSSZSSSYSSSZSSSZSSSZSSSYSSSZSSSZSSSZSSSTSSSCSSS
[SSQ(WSSW
SSQWTSSSXSSSXSSSXSSSXSSSXSSSXSSS
SSQWUSSS[SSSVSSSVSSSVSSS
SSQWUSSSYSSSYSSSZSSS
SSQWUSSSZSSSXSSSZSSSZSSSZSSS
SSQWWSSSZSSS[SSSVSSS
SSQWWSSSZSSSZSSSVSSS
SSQ@XBXE
SSQxx]Y]]
SSQZSSQW
SSQzSSQZSSQ
??SSRcc]Y]]
S@S]R@SOR@SyR@SkR@S
SSRSRSRPPSRSRSPRRSPSPSPSSSPSPSPPRSRSRSRQSS
sSRSS9eUs
_[sSRSSd
sSRSSdPL
sSRSSdQEyB[
_[sSRSSdQEyQBY[sSSS
sSRSSeVD@WxPE@WUBW
sSRSSf:BT
[sSRSSgQEyBTL7	[
_[sSRSSh)SSSQvW9
[sSRSS|PExRD@b[Dm
#SSRSSSSS
S"SRSSSSS
S(SRSSSSS
S[SRSSSSS
S]SRSSSSS
ssRSSsSSS
sSRSSsSSS
sSRSS	WD9
sSRSS	WK9
sSRSSXsSRSSW
sSRSSYE@BE@KE@TE@yE@CUsSPSS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS-
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSo3SSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSe
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSH
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
	SS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUSJ
SS@R tSS@R tSS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSS@R tSS@R tSS@R tSSUSv
SS@R tSS@R tSS@R tSSUS
SS@R tSS@R tSSUS;
	SS@R tSSUS
SS@R tSSUS
|@S?|@S(|@S
SSS0RSBQ(VSSW(uSSWK9
SSS0SSS0SSS
SSS0SSSSSSS.SSS
SSS1SSBQ
SSS2@_BUs
SSS2RSBAU
SSS2RSBEXEV
S#S?S2S*S6S!S
SSS2SSBAQQ
SSS2SSS7SSS
SSS2SSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSS
S S'S2S!S'SSS
S S'S2S!S'SSSSSSS
SSS2YBGU
SSS2YBWD9
SSS2@[ZK9
SSS3RSBW
SSS3SSS;SSS
SSS3YxqUsS[SS3YxKUsS
SSS4RSShSSS?WSS
S S:S4S2S7S7S!SSSSSSSSS
SSS4SSBQ(VSSW(USSWXTsSRSS9
SSS4SSS5RSSOPSS#SSS
SSS5WSBE9XP
S;S:S6S5SsS
S;S:S6S5SSSSSSSSS
S:S#S6S7SSSSSSSSS
S:S?S6S S
SSS6SSBQM9
SSS6SSBQ(PSSW@WBWs
S:S#S6SSS
S:S)S6SSS
S:S?S6S SSS
SSS6SSSSSSSESSSSSSSSSSSSSSS
SSS7CSS7WSS[rSR
SSS7SSSFRSS
SSS7SSSHSSS
SSS7SSS*RSSOVSS
SSS7SSS(SSS
SSS7SSSWRSSNVSSSQSS
SSS7SSSZQSSuVSS
SSS8QSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSS_QSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSS
SSS8QSSSSSSSSSSfSSSySSSSSSS
SSS8SSBQj
SSS9	BUD7
SSS[9@IBIK9	U
SSS9|iUPgeBU[
SSS[9@JZBYe6BWsSCSS
SSS9|PExRD
SSS9Q9S9S;SSS
SSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
SSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
SSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS
SSS9SSS)RSS	RSS9SSS
SSS9@WTs
SSSA@ABs
SSSAa@JAa
SSSAbUK9
SSSAbULF9
SSSA[EsSRSS9
-SSSA|LG
SSSAM(mRSW@GTD9
SSSaPSBQ(VSSWYU(uSSWK9
SSSA]QsKASS9
SSSA_QsKASS9
SSSARSBASQ
SSSARSSARSSARSSARSSARSSARSS
SSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSSARSS
_[sSSASf
sSSaSgdBDM9
sSSASh!PSSUsSSUSh4PSSUBXe[UBY
SS'SaSSJSSSSSS
SSSaSSSmSSS
SSSaSSSMSSSaSSSMSSS
SSSaSSSMSSSJSSSaSSSMSSSdSSS
SSSAVAVsCRSS
SSSAVsKRSS
SSSaVSSSSSS!#5
)SSSAWTs
SSSAXQsKASS9
SSSAz@GAzI
SSSB]9LG9	T
SSSBABBB[
SSSBA@EHBT
SSSBAj.SSSBUB_fQEyBUB_
SSSBA@WUD
SSS@@B@B@F
SSSb]B[s
SSSB[BYfWB[xQBY@[B[T
SSSB]BZf
SSSBCsSSSR
SSSBC@XBXJ9
)SSSB@D9
SSS@@BDB]
SSSBEBCL
SSSBEsSSvS
SSSBGLC9
SSSBGM	@
SSSBGsSCSS
SSSBG:XB_
SSSBG@Zk
SSSBHBABJ
SSSBHJ7N
SSSBHjZRSSk
SSSBH@VBVI
*SSSBI@@ZD
SSSB[Jh*SSSB]
SSSBJLso
SSSB[L9h
SSSB[LM9
SSSBLWv	
*SSSB]M9
SSSbNB[s
SSSBN@UBUs
SSSBOLC9
SSSBOLfh
SSSBOL-n
SSSbPSBQ(VSSWYU(uSSWK9
SSSBq@DAx@EAy@FUs
SSSbQEyAUs
SSSbQSBPs
SSSBqsol
SSSBqsSSss3s(
SSSbRSSzRSS
S@s SbSRS#ASSSS@S
SSSB_sSQSS
SSSB[sSSCS9
SSSbSSSnSSS
SSSB[sSSPS
SSSBSSSPSSS
SSSB_sSsSS
SSSbSSSSSSSRSSSSSSSSSRSSSSSRSRSSSSSRSSSSSRS
'SSSBTBA
SSSBTB@n
SSSBT@CBvL
SSSBTI3@Tk
SSSBTLB9
SSSBtsS3SS
SSSBT[sSPSS
SSSBTsSRSS
SSSBTsSSCS
SSSBTsSUSSh
SSSBTsSVSSh
SSSBTsSYSSh
SSSBT@VBXBT
SSSBTYD@VUD
SSSBTZb"U9J9
SSSBU9@FBFBO
SSSBU9I9	P
SSSBUB[o
SSSBUBV2
SSSBUEeqULC
SSSBUjHRSSBV@qBqs
SSSBULB9
SSSBULI9
SSSBULod
SSSBULu9
SSSBUpSSSSS
SSSBUQs'QSS9
SSSBUsSCSS
SSSBUsSQSS9
SSSBUsSRSS
SSSBU@T[TD
SSSBU@VQLK9
SSSB]@UZD
SSSBV9B[
SSSBVBBn
SSSBVBZK9	
SSSB_@VE9@YE9[o
SSSBVi-SSSDXT
SSSBVLA9
SSSBVLC9
SSSBVLG9
SSSBVLH9
SSSBVLM9
SSSBVLsn
SSSBVsiRSSekT(6RSW(4RSWs
SSSBVsSCSS
SSS@]BV@UE@YWLs
SSSBVZM9
SSSBWB[BT
(SSSBWBTM9
SSSBWBU	Bw
'SSSBWBV
SSSBW@_EB_
SSSBWI9	BX
SSSBWj.SSS[L
SSSBWL'h
SSSBWLi9
SSSBW[Lm
SSSBWs3ASSo'SSSBT[
SSSBWsS3ZS
SSSBWsSS
SSSBWsSSCS9
SSSBW@]T_B]
SSSBWUfUs
SSSBXLhh
SSSBXLYn
SSSBXXPWTQz2WSBYUj
SSSBY9@XBYBW
SSSbYBUsR
SSSBYK9	@ZBZAI
SSSBYL_9
SSSBYLC9
SSSBYsSSSR9
SSSbZB[s
SSSBZBso
SSSBZBXK9
SSSBZDekBZD
SSS_BZ@EDXDBX
SSSBZIbABZL
SSSBZ(NSSWYUsnx
SSSBZs#BRS
SSSBZvLY
SSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSS
SSScQSBF@TsCQSSWeQFyPs
SSScRSBQj
SSSCRSBQ(@SSW@WBW_[X[
_[sSSCSd
sSSCSdZUsSSCS
sSSCSeQEyBUBW
sSSCSeUs
sSSCSfPDxREyEyEy
SSSCSSBE_PWg
SSSCSSScRSSSSCSCSSSCSSWSSSSSSSWSSSSSSSS
SSSCSSSp
SSScSSSSTS
SSScSSxSSCWSSSS
SSScSSZRSCWSSSS
SSSCSSZRSCWSSSS3SS
SSSD@Ak.SSSBBD
SSSdEBZs
SSSD@FByM9	BB
SSSdlBzs
SSSDPSBQs
SSSdQEyAJs
SSSdQEyAMAM
SSSdQEyBBK
SSSdQEyBXK
SSSdQEyDyEy
SSSdQEyE@TBE(uSSW
SSSdQEyLBAEs
SSSdQEyQ(
SSSdQEyQ(QSSWi
SSSdQEyQ(QSSWXTLY
SSSdQEyQ(VSSW(uSSW
SSSdQEyQ(VSSWXT(USSWs
SSSdQEyQ(WSSW
SSSdQEyTD
SSSdQEyU
SSSdRSBQ
SSSdRSSdPSS4SSS9SSS
SSSDRSSDRSSDRSSDRSS
SSSDRSSSSSS
SSSDSSBE@UP
SSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSISSSxfB_D
SSSdSSSSSSS
SSSDSSSSSSS
SSSD@Tk.SSSBVO
SSSD@TUXk
)SSSD@Tx
SSSD@UDBT
SSSd_U[sSRSS
SSSD@UxgQsQQSS9
SSSD@]UXk
SSSd_UZsSRSS
SSSD@VUXk
SSSD@WBYK9
SSSD@WZU
SSSDX[K9
SSSD@xTj
SSSDYZD9
SSSdZBVs
SSSD@ZD@FBAT
SSSD@ZWv
SSSe6ULo9
SSSE9BVL
SSSE9BWg
SSSE9_Q(@SSWXT
SSSE9XQM9
SSSE9Y]Z
SSSE9ZUI9
SSSE9@ZZN9	AND
SSSeApL'
SSSeApS2
SSSEAXLK
SSSEBVgiPD9
SSSECSSfSSS*SSS
SSSE@DE9@EBEU
SSSE@DE@ET@[T9@uTEedBJ(
SSSE@EAzI
SSSE@@EBG
SSS[EeUWj
SSSE_E@WE@U[Ls
SSSE@[EY[X[9@_[EecBUB_K9	
(SSSE@[EY[X[9@X[EecBUBXK9	
SSSE@GAsI
SSSE@GEBC
SSSE[gkB_@UBBB_
SSSE@MA|I
sSSeNBGBBI9
SSSE@O[Qs
SSSEPgmWD9
SSSeQEyATAULC
SSSeQEyQ(
SSSeQEyQWI
SSSeQEyQ(WSSW@IBIs
SSSeQEyQ(WSSW@MBMFh
SSSeQEy]VLC
SSSEQ(VSSW(
SSSERSBE_QM9
SSSeRSSqQSS
SSSESSBP
SSSESSBQj
SSSESSSSSSS
SSSE@]T@FEBFg
SSSE@TZO9	AHD
SSSE@UBVD
SSSE@UE9_W9@[E9B[o
SSSe:UL;9
SSSE@UUD9
SSSE@VE_AY@WBW
SSSE@VE@UD_EXEP
SSSewBZs
SSSE@WEBU
SSSE@WE]W
SSSE@WEZ
SSSE@WQ(VSSW@UsCS
SSSeWSSYQSS
(SSSEXBMK9
SSSEXBVF
SSSEXEBJM
SSSEXEUg'A]@VT
SSSEXEWo
SSSE@xE@yE@kE@dQBzsSVSSsSSS
SSSEXEYEP
SSSEXH[g
SSSeX[LC
SSSE@XLY@UQA_UQLC9
SSSEXWYVW
SSSEyBUI
SSSEYBUI
SSSEYE9_Ps
SSSEYEB_
SSSEYE@[B[I	9[
SSSEYEBZ
SSSEYE_E@VEB[
SSSEYE@TBTI	9[
SSSEYE@TE@WET
SSSEYE@VV
SSSEyEyBqj
SSSEyEyEyEyEyEyBFL9
SSSEYE@ZE@[E@TE@UB]D
SSSEyULI
SSSEyUs-
SSSeZB]s
SSSE@ZBW9K9	U
SSSf]BUD
SSSfePM9
SSSfIQL39
SSSfPUxVs
SSSfQEyB|s
SSSfQEyULC9
SSSfQEyUsCRSS9
SSSfQSBQM9
SSSFRSBQ
SSSfRSBW
SSSFRSSFRSS
SSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSSFRSS
S@s(SfSRSSSSS
SSSFSSBPK9
SSSfSSBQ
SSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSFSSSrSSSrSSSrSSSrSSSrSSSrSSSrSSSrSSSQSSSZSSS
SSSfSSShSSS
SSSFSSSPSSSwSSSoSSS
SSSfSSSRRSS_RSS
SSS.FSSWAxs
SSSfT]Tv
SSSfUB]D
SSSfUBVD
SSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSS
SSSFXSSMTSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSS
SSSFYE9@UBUI9|
SS@@SGAS
SSSg_BF@_Wv
SSSgDBDs
SSSgHD@VxEUD9
SSSgIAJ_AJ
SSSGJS@M@CYMQJ_
SSSgMUEeOT
SSSgNBYP
SSSGPSBASE
SSSGPSSSSSS
SSSgPUxVs
SSSgQDyEyEyEy
sSSgQEyB[BFM9
SSSgQEyQ(
SSSgQEyQ(VSSW(USSWsS
SSSgQEyZs
SSSgQSBP
SSSgRSSOQSS
SSSgSoS_RCQSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSgSSBQ
SSSGSSSESSSGSSSESSS
SSSgYULk
SSSh8PSSBKL_
SSSh9QSSBELZ
SSSh9QSSBWs
SSShAWSSUs
SSS@HBUBCD
SSSHCLSS
SSShERSSB[s3
SSShGQSSB]s
SSShkQSSUs
SSShkRSSBYs
SSShORSSBHD
SSSHPSBQLC9
SSShqRSSk]RSSBAs
SSSh'QSSAMI
SSSh_QSSBZU
sSSHSg7BFM9
SSSHSSBQLc9
SSShSSS9SSSISSS:SSS
SSSh'SSSB]s
SSSh(SSS[s
SSSh*SSSZs
SSShTRSSk
SSShTWSSUsS
SSSHUPM9
SSSh_VSSBFs
SSShWSBAPE
SSSH@WUAE
SSS[I9	P
SSSIPSSKRSS
SSSIRSBQ(@SSW_[XTYT
SSSiRSBQ(VSSW@ZBZ(USSWsSRSS9fQEyBZ(
SSSiRSBWXW
SSSIRSSIRSSIRSSIRSSIRSSIRSSIRSS
SSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSS
SSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSS
SSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSVSSSIRSSISSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSS2SSSkFRSSUD9
SSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSVRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSSIRSS
SSSIRSSIRSSVSSSVSSS
SSSiRSSSSSSSSSSeSSSSSSSSSSSSSSSSSSSSSSS
SSSiRSSzRSS
SSSISSBQ
SSSISSBQLc9
SSSISSB]WO1H3@WVBW
S[SSJOXAH
SSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSSjQSS
SSSJRSBDYQs
SSSJRSS SSS
S@s	SJSRSSSSS
SSSJSSBQ
SSSjSSBQLK9
SSSJSSBVO1H3_W[
SSSjSSShRSSSSSS
SSSjSSSjSSS
SSSJSSSJSSSqSSSqSSS
SSSJSSSYSSSdSSSdSSSaSSSMSSSdSSSaSSSMSSS
SSS@JxTs
SSSk6RSSTJ
SSS[K7@[[J
SSSkCRSSUsSWSS3YkPRSSUD3Yk
SSS[KlTRSSUO
SSSKQSSKQSSKQSS
SSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSS
SSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSSQSSk@QSS[D9
SSSKRSBQ
SSSKRSBQ(
SSSkRSSdSSSSSSSSSSS
SSSKRSSSSSS
SSSKSSBEYQEe[QHg[DYx
SSSkSSBQ
SSSKSSBQ
SSSKSSBQM9
SSSKSSSaSSS]SSS]SSSCSSS
SSS_k(SSSE_k
SSSkSSShZSS
SSSkSSSiSSS
SSSkSSSk
SSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSS
SSSKSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSQSSSQSSSQSSSQSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSCSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSOSSSCSSSOSSSOSSSOSSSOSSSYSSSYSSSOSSSOSSSOSSSYSSSxIBVD
SSSKSSSp
SSS[K	sS_SSbQEyEXE[g
SSSk)SSSUD
SSSk(SSSU]Z9s
SSSk)SSSU]Z9s
SSSkTQSSB_F
SSSK@VBUN9
SSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSVSSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSSKWSS
SSSkXRSST9YUK9
SSSLBAHs
SSSLBAJs
SSSLCBVT
SSSLCZdPZxQLC@[UB[
SSSLD@VUXs
SSSLiBVD9
SSSLPSBQLA9
SSSlPSBQs
SSSLpYk)SSSPs
SSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSS
SSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSSLQSS
SSSLRSBQ(RSSW
SSSlRSBWE
SSSlRSSlRSSVSSSVSSS
SSSLsBZU
S@s-SLSRSSSSS
SSSLSSBVLC9
SSSlSSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSS9RSSlSSS9RSS9RSS9RSS9RSS9RSS9RSS9RSSlSSS9RSS9RSS9RSS9RSS9RSS9RSS9RSSlSSS9RSS9RSS9RSS9RSS9RSS9RSS
SSSLSSSLSSSLSSSLSSS
SSSLSSSLSSSLSSSLSSSLSSSLSSSLSSS
SSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSSLSSS
SSSLsY[L
SSSLsYTL
SSS@Mk)WSSPL_9
SSSMPSBQK9
SSSmPSS]RSS
SSSMQSBPMgQEyE_QXT
SSSmRSSrSSSSSSSSSSS
SSSMSSBPLC9
SSSmSSBQ(VSSWs5
SSSmSSBW
SSSm[SSLSSS)SSS
SSSmSSSeSSS
SSSMSSSISSS
SSSMUnIRSSJUD
SSSmURSSB[s
SSSMUSSMUSSMUSS
SSSMUSSMUSSMUSSMUSS
SSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
SSS@N_@*
SSSnRSSrRSS
SSSNSSBQ
SSSNSSSCWSS
SSSNSSSjSSSCWSSSSSS
SSSNSSSlSSS
SSSOAQP4
SSSOPSBQsiRSS
SSSoQSBATLO
SSSoRSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSSVSSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS]RSS]RSS]RSS]RSS]RSS]RSS]RSS]RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSS'RSSMRSS'RSS'RSS'RSS'RSS'RSS
SSSo'SSSE9_[T
SSSOSSSQRSSvSSS
SSSOSSSSSSSSSSSSSSSNRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'SSSSSSS
SSSoSSSx
SSSPIh.SSSBTL
SSSpPSBQK9
SSSPs58y@h
SSS'PSBQ(VSSW(uSSWK9
SSS PSBW
SSSpSSBQLw9
SSSPSSBW
SSSPsSSCS
SSS[pSSSSS
SSSPssY8
SSSP@TBT
SSSP@UBU
SSSP@VBV
SSSPWB_Qz2WSB@UBUj
SSSPWLC9
SSSQAJPUBBLs9
SSSQAJPUBCAJM
SSSQAJPZBTBUB@AJLK
SSSQASAR[K
SSSQASARs
SSSQBAI9	Bt
SSSQB[BZsSSS
SSSQBCDsSSS
SSSQ_B]D
SSSQB_DsSSS
SSSQBEDsSSS
-SSSQBGLC
SSSQB[HsSSS
SSSQBJIsSSS
SSSQB[MsSSS
SSSQBOsSRSSsSSS
SSSQB[sRSS_
SSSQBUBW
SSSQBULvsSSS
SSSQBUsRSSN
SSSQBUUsSSS
*SSSQBVL
SSSQBWBU
SSSQBWJsSSS
SSSQBYDsSSS
SSSQBZ[sSSS
SSSQBzUsSSS
SSSQ(dSSW[
(SSSQ[K9
SSSQ[L_9
SSSQ[LCsSSS
SSS[QLy9
SSSQ[M9	
SSSQ(PSSW_[
SSSQ(PSSWL
SSSQ(PSSW_[s
SSSQ(PSSWsSSCS9
SSSQ(PSSWsSSSR9
SSSQ(PSSW@UBUr
SSSQ(qPSWF
SSSQQQSSvQJJJvSQQS
SSSQQSBV5P
SSSQ(QSSWK
SSSQ(QSSWLY
SSSQRSBEXWJ
SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSaSSSaSSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSS
SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSVSSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSS
SSSqRSS;SSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSSqRSS
SSSQ(RSSW
SSS-QSBEYEPg
SSS)QSBEYW
SSS'QSBQj(SSSPKl'SSSW
)SSSQs;BSS9
SSSQs;BSS9
SSSQscRSS9
sSsQSe[Ts
sSsQSfGZF
_[sSsQSfQEy[sS
SSSQs'QSS9
SSS	QSS	QSS
SSS[QSS[QSS[QSS[QSS[QSS
SSS	QSS	QSS	QSS	QSS	QSS	QSS	QSSeQSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSSySSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS
SSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS
SSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSSCSSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS_QSS
SSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS	QSS
SSSQsSRSS9
_SSSQSSS
SSSqSSSaSSSaSSSySSSySSSdSSS
SSSQSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSdSSSYSSSASSS
[SSSQSSSFSSS
SSSqSSSk
SSSQSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSQSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSQSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSQSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSQSSSQSSSQSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSKSSSQSSSQSSSxEPD
SSSQSSSnESS
SSSQSSSQSSS
SSSQSSSQSSSUSSSQSSSQSSSQSSSQSSSUSSSQSSSQSSSUSSSQSSSQSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSQSSSQSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSQSSSxWZD
SSSQSSS@SSSQSSS@SSSQSSS@SSS@SSS@SSSQSSSQSSSQSSS@SSS@SSS@SSSCSSS@SSS@SSSQSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSQSSS@SSS@SSS@SSS@SSS@SSSQSSS@SSSQSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSQSSS@SSSQSSS@SSS@SSS@SSSQSSSQSSSQSSS@SSSQSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSYSSS@SSS@SSSQSSS@SSS@SSS@SSS@SSSYSSS@SSSYSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSQSSSQSSS@SSSQSSSQSSS@SSS@SSSQSSSYSSSYSSS@SSSYSSSYSSSYSSS@SSSYSSS@SSS@SSS@SSS@SSS@SSSQSSS@SSS@SSS@SSS@SSS@SSS@SSSYSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSQSSSQSSS@SSS@SSS@SSS@SSSYSSSYSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSQSSSQSSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSS@SSSYSSSYSSS@SSSYSSS@SSS@SSS@SSSQSSS@SSS@SSS@SSS@SSS@SSS@SSSQSSSQSSS@SSS@SSSQSSS@SSSYSSSxBBWD
SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSS_SSS_SSS_SSS_SSS_SSS_SSS_SSS_SSSQSSSxYPK
SSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSUSSSQSSSxWUM3YTBZ
[SSSQSSSWSSS]SSS]SSSUSSS[SSSYSSS_SSSx_DyDyDyDyDyDyEyEy
SSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSWSSSQSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSWSSSQSSSxQDyEy
SSS*QSS*YSS
SSSQTLcsSSS
SSSQULz9
SSSQ(VSSW(
SSSQ(VSSW(nSSW[
SSSQ(VSSW(nSSWBVU
SSSQ(VSSW(nSSWU
SSSQ(VSSW(nSSW@VBV_[Y[
SSSQ(VSSW(|SSWAFQ(
SSSQ(VSSW(|SSWAIQ(
SSSQ(VSSW(|SSWAyBEBV
SSSQ(VSSW(|SSWBVTBW
SSSQ(VSSW(|SSWTB]U
SSSQ(VSSW(USSWsSSUS9
SSSQ(VSSWXT(nSSWU
SSSQ(VSSWYU(
SSSQ(VSSWY[U(USSW
SSSQv(XSSWASQ(PSSWLY9
SSSqWSBDW
SSSQ(WSSW
SSSQ(WSSW[
SSSQ(WSSWi
SSSQ@XP@YBXv
SSSQ(XSSWPL]9
SSSQ(XSSWPL_9
SSSQ(XSSWPLA9
SSSQ(XSSWPLq9
SSSQ(XSSWPLu9
SSSQ(XSSWPLw9
)SSSQ(XSSWPLy9
SSSQ(XSSWPLY9
SSSQ(XSSWPM9
SSSQ(XSSWPO9
.SSSQYQ6@TU
SSSQZ9Aa
SSSQZLYsSSS
SSSQ@ZP@[BZv
SSS@R2SSSUS
SSS@RaSSS@RaSSS@RaSSSUSARSS@RaSSS@RaSSS@RaSSS@RaSSS@RaSSS@RaSSSSYSSSS@SYSRSRS#HSSSS@S@SRSRSSSSS
SSS@RaSSS@RaSSSUS
SSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS
SSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSSUS
SSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSS@RfSSSUS
SSSRGQSSSSS
SSSRRSSuRSS
SSS@RSBPI9
SSS:RSBP_P
SSS[RSBQs
SSS!RSBQv(
SSS]RSBQv(
SSS_RSBWK7@UBUXBU@VEBVg
SSSrSCS@S[RCS
sSSRSfQEyQ(WSSW
sSSRSfZBUsSSRSeQD_Q(VSSWXT(USSWYUs
sSSRSgQEyBBM9
sSSRSgQEyQ(WSSW
SSS RSS4SSS
SSS'RSS9SSS:SSS4SSS9SSS
SSS;RSSnSSSqSSS
SSS?RSS?RSS?RSS?RSS?RSS?RSS?RSS?RSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSSNSSSNSSSNSSSNSSSNSSSNSSSNSSSNSSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSSVSSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSS[QSSnRSS[QSS
SSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS
sSSRS	sSS
SSSRS[SSS
sSSRSsSSS
SSS?RSSuRSS
SSS;RSSWRSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSSVSSS;RSS;RSS;RSS;RSSJSSSVSSS;RSSVSSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSS;RSSrSSSk0RSSU
SSSrVSS;RSS
SSSRWSBQ(VSSW@VBV(uSSWK9
SSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS@RySSS
s	s	s	s	
?]SSS@S?
_SSS@S".
SSSS1Q.m
_SSS@S2pRSRS
[SSS@S[3
_SSS@S3)zrRS
[SSS@S41
SSSS?6cm
S S:S)S6S
S!S:S'S6S
S S:S)S6SSSSSSSSS
[SSS@S76:ERS3
_SSS@S7*RSRS
SSSS7SSSS(SSSS(SSSS.SSSS.SSSS6SSSS4SSSS;SSSS4SSSS(SSSS(SSSS.SSSS.SSSS
[SSS@S8FRSRSs
S'S!S:S8S6SSSSSSS
_SSS@S9(
SSSS"aVl
_SSS@SB*
SSSS!'*c
_SSS@SC-j_RS
_SSS@SC)QrRS
SSSSC)RlSSSSSSSSp
SSSSCSSSSSS
SSSSCXSSS
[SSS@SD5
sS	SSdCBT
sS	SSdCBY
sS	SSdYBY
[SSS@Se6
SSSSeBUs
SSSSeQEyBO@HEBH|
_[sSS[Sf
SSSSfJ[BWZ
_[sS[SSfP[xVsS[SS_QB]
[SSS@S_F[SRSS
SSSSfSSSSSSSSSSSSSSSSSJSSSSSSSSS9SSS
(_SSS@Sg
SSSSg?Ll
;s;s;s;sGs
[SSS@S!G[SRS
sS_SSgUs
_SSS@Sh.
SSSSHM1l
SSSSHMQ_
SSSSHuSK
SSSSHZQZ
SSSSI9Ql?q
_SSS@Sip[SRS
_SSS@Si*RSRSC
_SSS@Sj(
SSSSj9-nSSSSSSSS
_SSS@SKpRSRSs
SSSS	KSmSSSS
SSSS	*:lSSSSSSSS
_SSS@SM.
SSSSM?*m(
SSSSo 0!:#'
SSSSojulSSSSSSSS
SSSSPCymSSSSSSSS
SSSSPeJm 5
[SSS@SpG[SRSs0[SSS@S
_SSS@S_pRSRSs
SSSsPSSSQSS
SSSSPSSS_SSScSSS
SSSSPSSSSSSS
sSSSQ9fPDxREy
SSSSq#klSSSSSSSS
_SSS@Sq(OrRS
SSSSQQSfW
SSSSQSSeS
SSSSQSSfW
SSSSQSSfWWRSUSSSS1#
SSSSQSSkW
SSSSQ[SsS
SSSSQSSS
SSSSQSSsS
SSSSQSSSSPS
"SSSSQSSSSSSSSSSSSSSS
;SSSSQSSSSSSSSSSSSSSS
SSSSQSSuS
SSSSQWSzR
_SSS@SR)
[SSS@Sr7
sSSSReP[xRD_[y
sSSSReQEyULs
SSSSRMElM
_SSS@SR(MSRSSSSS
SSSSRSBASL
SSSSRSBASs
SSSSRSBs
SSSsRSBW
SSSSRSS[SSSPSSSKSSSVSSS[SSSsSSSOSSScSSScSSS[SSSKSSSKSSSCSSSS
SSSS#rUlSSSSSSSSSSSS;
SSSSS '!
S;S*S S:S0S2S?S
SSSS@S0SRSRS#
SSSSS1SSSSSSS
SSS[sS3SS
SSSS@S3V
SSSS@S4XRSRS3
SSSSS!#5
SSSS@S7RcSRS3
SSSSS9S2S!S
SSSS@SaP
SSSSSASSSFSSS7
SSS!SSBASE
SSS[SSBD
SSS:SSBE_Q(PSSWYUs
SSS#SSBP(3PSWYUs
SSS(SSBPD|QFyQ
SSS;SSBpSSS
SSS[SSBP@UP
SSSSSbShS
SSSSSbSS[SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSS@SBV
SSS#SSBWK
SSS]SSBWLC9
SSS[sScSS
SSSsSCSST
SSSsSCSSXk
SSSS@SCUQPRS#
sSsSSeoBG
SSSS@SEZ6SRSSSSS
sSsSSfdBKM9
SSSS@SFSRSRS
sSSsSgdBDM9
sSSsSgdBFM9
sSSsSgqBV
	SSSS@SGSRSRSs#SSSS@SpSRSRS
_SSS@SShj_RS
SSSS@SHRcSRS
SSSS@SHV8WRS
SSSS@SiSRSRS
-@SSSSSjQSS
)SSSS@SKSCSRSSSSS
SSSS@SkXRSRS
SSSS@SkZ
SSSS@SlU
(SSSS@SM[LWRS
SSSS@SNU
@SS[SSSp
SSSS@SPRcSRS#
SSSS@SPV
S|SSSSQRS
SSS[sSQSS
S|SSSSQSSeS
S|SSSSQSSkW
ssssSQ[SSSSSSS
SS@[sSsqS@ZsSCqS@YsSsqS@UUsSCqS
SSS[sS]RS
SSSS@SrSRSRS
SSSS@S(_RSRSSSSS
SSSSSRSS
SSS[sSRSSg	[
SSSSSRSSSRRSSSQRSSSPRSSSWRSSSVRSSSURSSSTRSSS[RSSSZRSSSYRSSSXRSSS_RSSSSSSSS
SSSsS#RSYs_RSS@Ws
s@S?s@S(s@S
._SSSSSS
?:#SSSSSS
SSSSSS||
SSSSSS 0!:#'
SSSSSS!#5
SSSSSS9O;
SSS?SSS9SSS
SSS@SSSAVSS
SSS?SSSCRSS
SSS[sSScS
SSS[sSSCS9
SSSsSSCS@TsS
SSSsSSES@ZsSSKS@YsS
SSS]SSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSS]SSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSS]SSS[SSS[SSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSGSSSQSSSGSSSGSSSQSSSxABBBX
SSSsSsGS@TsS3GS@[sS
SSSsSSGS@ZsS
SSSSSSH]
SSSSSSKY
SSSSSSKYK
SSS[SSSp
S[SsSSSpb(_
SSS[sSSPS
SSS[sSsPS9
SSSSSSPSSS
sSSSSSQQ
SSS[sSSQS
SSS:SSS]QSS
SsSSSSQSSeS
SSSSSSQSSS
SsSSSSQWSbSQSSUSSSS
SSS[sSsRS
SSS[sSSRS
]SSSS@S@SRSRS
SSSS@S"SRSRSS
SSSSSSRSSS3
sssssss(
SSS[sS[SS
	SSSSSSS
 SSSSSSS
[SSSSSSS
_SSSSSSS
|SSSSSSS
S:S'SSSSS
SS|SSSSS
SSSSSSS	
SSSSSSS;
SSSSSSS2
SSSSSSS'21?6
SSSSSSS3
SSSSSSS!#5
SSSSSSS5
SSSSSSS5'
SSSSSSS7
SSSSSSS?7!beSSS
SSSSSSS7SSS9QSS
SSSSSSS9
SSSSSSS9_;
SSSSSSS9S
SSS#SSSSCSS#SSSSQSSSSSSSSSSSSSS
SSSS|SS[ScSS[SSSSSSSSSSS
SSSSSSSDSSS
SSSSSSSgRSSBSSS
SSSSSSSGRSSSSSSSSSS
SSSSSSShSSSSSSS
S[SsSSS?SN
SSSSSSSO
SSSSSSSP
SSSSSSSPI9
SSSSSSSPQWPLG9
SSSSSSSPs
SSSSSSSQ
SSSSSSSQE
SSSSSSSQE9
SSSSSSSQLc9
SSSSSSSQLk9
SSSsSSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSSQRSS
SSSSSSSQs
SSSSSSSqSSS
SSSSSSSQ(VSSWs5
SSSSSSSRSSSB
SSSSSSSRSSSSSSSSSRSSSSSRSRSSSSSRSSSSSRS2S[RCSdSSSrS
sS[SSsSSS
SSsSSSSS
SSS[sSsSS
	SSSSSSSS
!*#'SSSSSSSS
[SSSSSSSS;
_SSSSSSSS
S	SSSSSSS
S SSSSSSS
SS[SSSSSS
SSS[SSSSS
SSSS[SSSS
SSSSSSSS
SSSSSSSS	
SSSSSSSS!
SSSSSSSS"
SSSSSSSS#
SSSSSSSS'
SSSSSSSS(
SSSSSSSS*
SSSSSSSS-
SSSSSSSS:
SSSSSSSS:!
SSSSSSSS;
SSSSSSSS[
SSSSSSSS[!
SSSSSSSS]?
SSSSSSSS_
SSSSSSSS|
SSSSSSSS||
SSSSSSSS0
SSSSSSSS1
SSSSSSSS2
SSSSSSSS2y
SSSSSSSS3
SSSSSSSS3h;
SSSSSSSS3R
SSSSSSSS4
SSSSSSSS!#5
SSSSSSSS6
SSSSSSSS7
SSSSSSSS7M"
SSSSSSSS8
SSSSSSSS8?
SSSSSSSS8B
SSSSSSSS9
SSSSSSSS93;
SSSSSSSS9J
SSSSSSSS9pIn
SSSSSSSSa
SSSSSSSSaN
S[SSSSSSSaS
SSSSSSSSaS
SSSSSSSSb
SSSSSSSSB
SSSSSSSSbj
SSSSSSSSc
SSSSSSSSc|
SSSSSSSSC
SSSSSSSS]Cr
SSSSSSSSCT
SSSSSSSS:d
SSSSSSSSd
SSSSSSSSD
SSSSSSSSDA
SSSSSSSSe
SSSSSSSSe|
SSSSSSSSf
SSSSSSSSf!
SSSSSSSSF|
SSSSSSSSFo
SSSSSSSSFz
SSSSSSSSg
SSSSSSSSG
SSSSSSSSh
[SSSSSSSSH
[SSSSSSSSHPH
[SSSSSSSSHQJA
SSSSSSSSHR
SSSSSSSSi
SSSSSSSSI
SSSSSSSSIK
SSSSSSSSj
SSSSSSSSJ
SSSSSSSSj6jmSSSSSSSS
SSSSSSSSk
SSSSSSSSKO
SSSSSSSSkQzl
SSSSSSSSl
SSSSSSSSL)
SSSSSSSSLj
SSSSSSSSm
SSSSSSSSM
SSSSSSSSM9cl(J
SSSSSSSSm(Q
SSSSSSSS!N
SSSSSSSSN
SSSSSSSSNjn
SSSSSSSSNm
SSSSSSSS[o
SSSSSSSSo
SSSSSSSSO
SSSSSSSS-p
SSSSSSSSp
SSSSSSSSP
SSSSSSSSPYJ
SSSSSSSSq
SSSSSSSSQ
SSSSSSSSQatmSSSS
SSSSSSSSQW
SSSSSSSSr
SSSSSSSSR
SSSSSSSSR	
SSSSSSSSrRJ
sSsSSsSSS
SsSSSSSSS
SSsSSSSSS
SSSsSSSSS
;SSSSSSSSS
_SSSSSSSSS
S;S:SSSSSSS
SSSSSSSSS
SSSSSSSSSe
SSSSSSSSsf-
SSS]SSS]SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSS]SSSISSSISSSISSSISSSISSSISSSISSS]SSSISSSISSSISSSISSSISSSISSS]SSS]SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSS[SSS[SSS[SSS[SSSISSSISSS[SSS[SSS[SSS[SSS[SSS[SSSISSS[SSS[SSS[SSSISSSISSSISSSISSSISSSISSS]SSSISSS[SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSS]SSS]SSS]SSS]SSS[SSS[SSSISSS]SSS[SSS[SSSISSS[SSS[SSS[SSSISSS[SSSISSSISSSISSSISSSISSS]SSSISSSISSSISSSISSSISSSISSS[SSS[SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSS[SSSISSSISSSISSSISSSISSSISSSISSS[SSSISSSISSSISSSISSS[SSSISSSISSS]SSS]SSSISSS[SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSS]SSSISSSISSS]SSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSISSSQSSSQSSSISSSISSSISSSISSSISSSISSSGSSSISSSISSSISSSISSSISSS[SSS[SSSxKUD
SSS SSS SSSk
SSSSSSSSSR
SSSSSSSSS|RSSS
	SSSSSSSSSS
;SSSS;SSSSSS
SSSSSSSSSS
SSSSSSSSSS;
SSSSSSSSSS9S9S
	SSSSSSSSSSS
SSS;SSSS;SSSS
SSSSSSSSSSS
SSSSSSSSSSS6SSSSSSS
SSSSSSSSSSSgSSS
SSSSSSSSSSS#s
	SSSSSSSSSSSS
SSSS;SSSS;SSSS
SSSSSSSSSSSS
SSSSSSSSSSSS!
SSSSSSSSSSSS"
SSSSSSSSSSSS#
SSSSSSSSSSSS'
SSSSSSSSSSSS)
SSSSSSSSSSSS*
SSSSSSSSSSSS-
SSSSSSSSSSSS;
SSSSSSSSSSSS@
SSSSSSSSSSSS[
SSSSSSSSSSSS|[
SSSSSSSSSSSS0
SSSSSSSSSSSS0t
SSSSSSSSSSSS1
SSSSSSSSSSSS2
SSSSSSSSSSSS5
SSSSSSSSSSSS7*
SSSSSSSSSSSS9
SSSSSSSSSSSS(a
SSSSSSSSSSSSa
SSSSSSSSSSSSAD
SSSSSSSSSSSSb
SSSSSSSSSSSSB
SSSSSSSSSSSSc
SSSSSSSSSSSSC
SSSSSSSSSSSSd?
SSSSSSSSSSSSD
SSSSSSSSSSSSe
SSSSSSSSSSSSE
SSSSSSSSSSSSF@
SSSSSSSSSSSSg
SSSSSSSSSSSSG
SSSSSSSSSSSSh
SSSSSSSSSSSSH|
SSSSSSSSSSSSH6pl
SSSSSSSSSSSS*i!
SSSSSSSSSSSS:I
SSSSSSSSSSSSj
SSSSSSSSSSSSJ
SSSSSSSSSSSSJ;
SSSSSSSSSSSSk
SSSSSSSSSSSSl
SSSSSSSSSSSSL[
SSSSSSSSSSSSlm
SSSSSSSSSSSSM)2mSSSS
SSSSSSSSSSSSn
SSSSSSSSSSSSN
SSSSSSSSSSSSO
SSSSSSSSSSSS;p
SSSSSSSSSSSSPL
SSSSSSSSSSSS*P_o
SSSSSSSSSSSS|PPlSSSS
SSSSSSSSSSSSq
SSSSSSSSSSSSQ
SSSSSSSSSSSSR
SSSSSSSSSSSSR@dlSSSS
SSSSSSSSS[SSSRSSS
SSSSSsSSSSSSS
SSSSSSSSSSSSs
SSSSSSSSSSSSS
SSSSSSSSSSSSS"
SSSSSSSSSSSSSH
SSSSSSSSSSSSSP
SSSSSSSSSSS*SSS
SSSSSSSSSSSSSS
SSSSSSSSSSSSSSH
SSSSSSSSSSSSSSKY
SSSSSSSSSSSSSSPS
SSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSARSSSSSSSSSS
SSSSSSSSSSSSSSSfSSSZSSS
SSSSSSSSSSSSSSSH
SSSSSSSSSSSSSSSKY
SSSSSSSSSSSSSSSqSSS
SSSSSSSSSSSSSSS]RSS
SSSSSSSSSSSSSSSRSSS
SSSSSSSSSSSSSSSRSSS1FSS
SSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSS!
SSSSSSSSSSSSSSSS"
SSSSSSSSSSSSSSSS'
SSSSSSSSSSSSSSSS(
SSSSSSSSSSSSSSSS)
SSSSSSSSSSSSSSSS.
SSSSSSSSSSSSSSSS:
SSSSSSSSSSSSSSSS[
SSSSSSSSSSSSSSSS|
SSSSSSSSSSSSSSSS:2
SSSSSSSSSSSSSSSS5
SSSSSSSSSSSSSSSS8
SSSSSSSSSSSSSSSS9
SSSSSSSSSSSSSSSSA!
SSSSSSSSSSSSSSSS?A1mSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSB
SSSSSSSSSSSSSSSSD
SSSSSSSSSSSSSSSSf
SSSSSSSSSSSSSSSSgr
SSSSSSSSSSSSSSSSh4
SSSSSSSSSSSSSSSS-hUl)
SSSSSSSSSSSSSSSSi
SSSSSSSSSSSSSSSSI
SSSSSSSSSSSSSSSSJ
SSSSSSSSSSSSSSSSK
SSSSSSSSSSSSSSSSl
SSSSSSSSSSSSSSSSm
SSSSSSSSSSSSSSSSM
SSSSSSSSSSSSSSSSn
SSSSSSSSSSSSSSSSN 
SSSSSSSSSSSSSSSSp
SSSSSSSSSSSSSSSSpqz
SSSSSSSSSSSSSSSSpVAlSSSS
SSSSS;SSSS;SSSS;SSSS
SSSSSSS	SSSSSSSSSS
SSSSSSSSSSSSSSSSS
SSSSSSS'SSSSSSSSSSS
SSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSeSSS
SSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSS)
SSSSSSSSSSSSSSSSSSSS*
SSSSSSSSSSSSSSSSSSSS:
SSSSSSSSSSSSSSSSSSSS0
SSSSSSSSSSSSSSSSSSSS5
SSSSSSSSSSSSSSSSSSSS6g!mSSSS
SSSSSSSSSSSSSSSSSSSS!7
SSSSSSSSSSSSSSSSSSSS7
SSSSSSSSSSSSSSSSSSSS7iJ
SSSSSSSSSSSSSSSSSSSS7V
SSSSSSSSSSSSSSSSSSSSa?
SSSSSSSSSSSSSSSSSSSSB
SSSSSSSSSSSSSSSSSSSSd
SSSSSSSSSSSSSSSSSSSSE
SSSSSSSSSSSSSSSSSSSSEinlSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSF
SSSSSSSSSSSSSSSSSSSSgc
SSSSSSSSSSSSSSSSSSSSI2
SSSSSSSSSSSSSSSSSSSSk
SSSSSSSSSSSSSSSSSSSSL
SSSSSSSSSSSSSSSSSSSSm3r
SSSSSSSSSSSSSSSSSSSSMFE
SSSSSSSSSSSSSSSSSSSS?n
SSSSSSSSSSSSSSSSSSSSR
SSSSSSSSSSSSSSSSSsSSS
SSSSSSSSSSSSSSSSSSSSs
SSSSSSSSSSSSSSSSSSSSScRSSS
SSSSSSsSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSH
SSSSSSSSSSSSSSSSSSSSSSS7SSS
SSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSS 
SSSSSSSSSSSSSSSSSSSSSSSS!
SSSSSSSSSSSSSSSSSSSSSSSS"
SSSSSSSSSSSSSSSSSSSSSSSS#
SSSSSSSSSSSSSSSSSSSSSSSS?
SSSSSSSSSSSSSSSSSSSSSSSS|
SSSSSSSSSSSSSSSSSSSSSSSS0
SSSSSSSSSSSSSSSSSSSSSSSS2d
SSSSSSSSSSSSSSSSSSSSSSSS41
SSSSSSSSSSSSSSSSSSSSSSSS7
SSSSSSSSSSSSSSSSSSSSSSSS8
SSSSSSSSSSSSSSSSSSSSSSSSa1ko
SSSSSSSSSSSSSSSSSSSSSSSSb
SSSSSSSSSSSSSSSSSSSSSSSSB
SSSSSSSSSSSSSSSSSSSSSSSSbi
SSSSSSSSSSSSSSSSSSSSSSSSCK
SSSSSSSSSSSSSSSSSSSSSSSSd
SSSSSSSSSSSSSSSSSSSSSSSSF6
SSSSSSSSSSSSSSSSSSSSSSSSG'-lSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSe
SSSSSSSSSSSSSSSSSSSSSSSSq
SSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSLRSSSLSSSSLSSSSLSSSSLSSSSLSSSSLSSSSLSSSSLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSVSS
SSS#SSS#SSS#SSS#SSS#SSS#SSS#SSS#SSS
SSS:SSS:SSS:SSS:SSS:SSS:SSS:SSS:SSS
SSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSS3(
SSSSSSSSSSSSSSSSSSSSSSSSSSSS4_
SSSSSSSSSSSSSSSSSSSSSSSSSSSS]8b
SSSSSSSSSSSSSSSSSSSSSSSSSSSSB3
SSSSSSSSSSSSSSSSSSSSSSSSSSSSd
SSSSSSSSSSSSSSSSSSSSSSSSSSSSG
SSSSSSSSSSSSSSSSSSSSSSSSSSSSiS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSK!
SSSSSSSSSSSSSSSSSSSSSSSSSSSSlV
SSSSSSSSSSSSSSSSSSSSSSSSSSSSo4p
SSSSSSSSSSSSSSSSSSSSSSSSSSSSQ
SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSESSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSRSSSRSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSf
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSg_
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSg3
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSk;
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSo5_
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS0
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS1
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS2a
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS5
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSC0FlSSSSk
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSf
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS]SSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS	
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS(
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS;
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS_
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS85
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSg
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSlSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS6
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS7
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSD
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSe
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSo
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSmSSSlgfedkjihonSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSC
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSg
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS4
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSB
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSK
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSr
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSgS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSL
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSp
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSHj
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSH)KmSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJ
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSb(
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss(m||
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS w
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSvyL
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSz
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSZ1
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSwyY
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSV
SSSSSSSSSSSSSSSSSSSSSSSSSSSST
SSSSSSSSSSSSSSSSSSSSSSSSSSSSV
SSSSSSSSSSSSSSSSSSSSSSSSSSSS-"w
SSSSSSSSSSSSSSSSSSSSSSSSSSSSx
SSSSSSSSSSSSSSSSSSSSSSSSvSS
SSSSSSSSSSSSSSSSSSSSSSSSw
SSSSSSSSSSSSSSSSSSSSSSSSx
SSSSSSSSSSSSSSSSSSSSSSSSX)E
SSSSSSSSSSSSSSSSSSSST
SSSSSSSSSSSSSSSSSSSSU
SSSSSSSSSSSSSSSSSSSSV
SSSSSSSSSSSSSSSSSSSSx
SSSSSSSSSSSSSSSSSSSSy
SSSSSSSSSSSSSSSSSSSSz
SSSSSSSSSSSSSSSSt
SSSSSSSSSSSSSSSStS	l
SSSSSSSSSSSSSSSSVa
SSSSSSSSSSSSSSSSw
SSSSSSSSSSSSSSSSW
SSSSSSSSSSSSSSSSx
SSSSSSSSSSSSSSSSx.-l
SSSSSSSSSSSSSSSSZ
SSSSSSSSSSSSSSSSZ7Yl
SSSSSSSSSSSSSSSSZBjlSSSSY
SSSSSSSSSSSSt
SSSSSSSSSSSSTSSSSSSSSS
SSSSSSSSSSSS]u
SSSSSSSSSSSSv
SSSSSSSSSSSSW
SSSSSSSSSSSSws
SSSSSSSSSSSSx
SSSSSSSSSSSSXL
SSSSSSSSSSSSy?
SSSSSSSSSSSSy0
SSSSSSSSSSSSYW
SSSSSSSSSSSSz
SSSSSSSSSSSSZ
SSSSSSSSSSSSZM
SSSSSSSSSSStVSSSSSSSSSSSSSS
SSSSSSSSSSSUSSSSSSS5
SSSSSSSSSSSZRSS
SSS-SSSSSSSTRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSZSSSSSSS5
SSSSSSSSSSzSSSSySSSS
SSSSSSSSt
SSSSSSSST
SSSSSSSStF
SSSSSSSSu
SSSSSSSSuDX
SSSSSSSSv
SSSSSSSSV
SSSSSSSSvyh
SSSSSSSSw
SSSSSSSS*WK
SSSSSSSSWs
SSSSSSSSx
SSSSSSSS|X
SSSSSSSSX
SSSSSSSSy
SSSSSSSS@Y
SSSSSSSSY
SSSSSSSSz
SSSSSSSS[ Z
SSSSSSSSZ
SSSSSSSSzE
SSSSSSsUSSS
SSSSSSSUSSSSSSS
SSSSSS'SV
SSSSSSSvPSS
SSSSSSSvSSSqSSS
SSSSSSSvy vy v SSSSSSSS
SSSSSSSwSSSSSSS@SSSSSSSSSSS
SSSSSSSySSS
SSSSSSSzSSSSSSSn
SSS[sSSTS
SSSSSSU_AKMwyc
!SSS.SSSUQSS1SSS
SSS[sSSWS
SSS[SSSWSSSlSSS
SSS"SSSx
SSSsSSxSSCWSSSS
SSSsSSZRSCWSSSS#SS
SS[SSSTSSS
SS[SSSTSSS"
SS[SSSTSSSx
sSSSSUSSSRSSS;SSSS
SSSS@SuXRSRSC
SSSSSVSS
SS|SSSVSSS:
SSSsSVSSULq9
SSSsSVSSUs
(SSSS@SV[SWRS
SSSS@Sw_RSRS
SSSsSWSSPaPPxVsSWSS@VPLE
SSSsSWSST
SSSS@SX_gQRSC
SSSS@S]Y
SSSS@S YRQRSSSSS
SSSS@SYSRSRS
_SSSS@SYSRSRSswSSSS@SqSRSRSSSSS
SSSSSYSS
SSSSSZSSSRSSSTSSSSSSSQSSSWSSSUSSS[SSSRSSSTSSSPSSSVSSS[SSSQSSS
SSS;STS3SSSSQSSSRSS
[SSS@SU5
SSSS|VD@]xPE@]B]
SSSS|VD@_xPE@_B_
SSSS|VD@XxPE@XBX
[SSS@SvFRSRSc
[SSS@SVG[SRSS
[SSsSVSSUs
SS.[SSWPUWs
SS.[SSWQUPsSRSSL
SSSSWSSSSPS
[SSsSWSSUs
_SSS@SxpRSRSs
SSSsxwSS_sSSS
SSSSXxBhSSSS
[SSS@Sy0pFRS
_SSS@SzqRSRS
_SSS@Sz(.rRS
S[SS	SZSS
SSST(6RSW(4RSWs
SSST(6RSW(4RSWsAQSS
SSST(6RSW(4RSWsE_SSeCp
SSST(6RSW(5RSWs
SSST(6RSW(:RSWs
SSST(6RSW(:RSWs5QSSe
SSST(6RSW(:RSWs9RSSeAp
SSST(6RSW(:RSWs9RSSeApj
SSST(6RSW(:RSWs9RSSeApY
SSST(6RSW(:RSWsiRSSe9ULO9
SSST(6RSW(:RSW@VBVs
SSST9K9	@[s
SSST9YUI9
SSST9YUK9
SSST9@ZBZP
SSST@[BG
SSSTB_LC9
SSS[@TBrK9
SSSTBTM9
SSSTBVdPTxQBVXBNsSQSS
SSSTBWsSCSS
SSST(cQSW(
SSSTK9	@DQ(VSSW(
SSS[TLC9
SSSTPBVVU
SSStPSSHSSS SSS?SSSFRSS
SSStQSBV
SSStRSBPLEl
SSSTRSBQs
SSStRSSSSSSSSSSSSSS0SSS
sSSTSgtLBAZs
SSSTSSBQ(VSSW(uSSWK9
SSStSSBW_Q
SSSTsScWS
SSSTsSMRS
)SSSTsSS
SSSTsSSSR9
SSSTsSsSS9
SSSTsSSsS9
SSSTsSUSS
SSST(!SSW@Ak(SSST(!SSW@_x"T(!SSW@Xx4T(!SSW@Dx
SSST_xVV_W@T]VBT
SSSTYT9@TTE
SSSTZsRSSU
SSSU9BW	BV
SSSU9XE9@UUK
-SSSUATI
SSSUD3YB_O
SSSUD7@TBV
SSSUEeBUF
SSSUI3Yk
SSSUI	BV
SSSUK3Yk
SSSULC7s
SSSU[LC9
SSSULGdHTLA9
SSSULIdHTLK9
SSSULIh)SSSUs
(SSSULK9
.SSSULs9
SSS@uPsA
SSSuQSBPj
SSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSVSSSUQSSUQSSUQSSUQSSUQSSUQSSUQSSUQSS
SSSUQ(VSSW(nSSW
SSSURSBASL
SSSURSBASL	
SSSURSBASL 
SSSURSBASL0
SSSURSBASL1
SSSURSBASL3
SSSURSBASL5
SSSURSBASL7
SSSURSBASL9
SSSURSBASs
SSSURSSkKRSSTQL
SSSURSSSSSS.PSSiSSS
SSSUs7PSS9
SSSUsC[SSo
SSSUScWSSUSeWSSUSoWSS@R
SSSUsFRSS9
SSSUsGQSS9
SSSUsGRSS9
SSSUsgTSS9
SSSUsGWSS9
SSSUsKRSS9
SSSUs@@]mh
SSSUSpRSS
SSSUs*QSSh
SSSUs]RSS9
SSSUsS3QS9
SSSUsS3QSh
SSSUsS3RS
SSSUsS3SS
SSSUSSBAUE
SSSUsScQSh
SSSUsSCQSh
SSSUsScQSh)SSSUsS
SSSUsScRSh
SSSUsSCSS3Yk
@SSsUSSp
SSSUsS#QSh
SSSUsSQSS
SSSUsSRSS
SSSUsSRSS3Yk
SSSUsSSAS
SSSUsSScS
SSSUsSSCS
SSSUSSSjSSS
SSSUsSSKS
SSSUsSSMS
SSSUsSSPS
SSSUsSSQS
SSSUsSsQSh
SSSUSSSQSSS
SSSUsSsRS
SSSUsSSRS
SSSUsSSRS9
SSSUsS#SS
SSSUsS@SS
SSSUsSS[S
SSSUsSS]S
SSSUsSS_S
SSSUss[SS9
SSSUsSsSS
SSSUsSSsS
*SSSUsSsSSd"BJM9
SSSUsSSTS
SSSUsSSUS
SSSUsSSvS
SSSUsSSVS
SSSUsSsWS
SSSUsSSwS
SSSUsSSWS
SSSUsSUSS
SSSUsSWSS9
SSSUs_VSS9
SSSUs[WSS9
SSSUsXAK
SSSUSXRSS@R2SSSUS
SSSUSZTSSUSBTSSUSOTSS@R
SSSU@TQ@_B_
SSS[@VBT@W]V
SSSvJ_QOMQQQvSQQSZS
SSS@VPM9
SSSvPSBQM9
SSSV_P@WU]W
SSSVQSBPYEXUW
SSSvQSS7SSSyRSSyQSSjRSS
SSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSStRSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSS
SSSVRSBQs
SSSVRSS8SSS
S@s:SvSRSSSSS
SSSvSSBPMdUs
SSSvSSBPsRRSS
SSSVSSBQ
SSSVSSBQ(
SSSVSSBQs
SSSvSSBQ(VSSWYU(uSSWK9
SSSvSSBQ(VSSWYU(USSWsS
[SSSVSSS
SSSVSSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSShRSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSScPSS
SSSVSSSCRSS
SSSVSSSDSSShSSS
SSSVSSSk
SSSVSSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSAQSSAQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSStRSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSSKQSS
SSSVSSSLQSS
SSSVSSSqRSSISSSkNRSSUD9
(SSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSRWSSVSSSk
SSSVSSS]SSSDSSSaSSSsSSStSSSkNRSS]V]U
SSSVSSS[SSS]SSSGSSSHSSS
SSSVSSSVQSSuSSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSSVQSS SSSVQSSVQSSVQSSVQSSVQSSVQSSVQSS
SSSVSSSVSSS
SSSVSSSVSSSOSSSOSSSOSSSOSSSCRSSCRSS
SSSVSSSVSSSVSSSVSSS
SSSVSSSVSSSVSSSVSSSh[SSh[SSVSSSVSSSoSSSoSSSoSSSoSSSh[SSh[SSoSSSoSSSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SSh[SS SSS SSS SSS SSS SSS SSS SSS SSSke[SS]Tv
SSSVSSSVSSSVSSSVSSSVSSS
SSSVSSSzSSS
SSSVXSSVXSS
SSS[WgiBUWgfTP
SSS]W[J9
SSS]WL"9
SSSW@[PT
SSSWQLC9
SSSwQSBPs[RSS
SSSwQSS6SSS7SSS
SSS!WSBP_P
SSS#WSBQ
SSS WSBVH
_[sSSWSd
-SSSWs_RSS9
SSSWs[RSS9
s[sSWSS9
SSSwSSBQLw9
SSSWSSBQ(YSSWARQ(VSSWK9
SSSwSSS3SSS
SSSWSSSPS
SSSWSSSSS
SSS|WSSSSSSMSSSSSSSSSSSSSSSSSSS
SSSWYWX]T
SSSx1ZK9
SSSx8E@UA]sWRSS
SSSx8U]V
SSSxDQs__SS9
SSSX[EQs
SSSXk*SSSQBYI
SSSXQBOLCsSSS
SSSXQ(VSSWs5
SSSXQ(WSSW@@Q(VSSW(USSWsCtSS9gUs
SSSxRSBPj
SSSxRSSxRSSxRSSxRSSWRSSWRSSWRSSWRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSVSSSkSSSxRSS
SSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSWRSSWRSSxRSSxRSSxRSS
SSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSWRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSS
SSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSxRSSZRSSkuRSS]VjLRSSBW]U
SSSxSSSxRSS?QSS
SSS[:XT9YUI9
SSSx]TsSMSSBU
S@sSxzPRSSSSS
SSSyABEs
SSSyABLA
SSSyABLO
SSSyACEs
SSSyACs3QSSQ(VSSW(
SSSyA[E9
SSSyA[EL
SSSyAELa
SSSyAELC
SSSyAELI
SSSyAf@LAf
SSSyAFULw9
SSSyA_L'
SSSyA_La
SSSyA]LG
SSSyAPE9
SSSyApLA
SSSyASLp
SSSyA[sVRSSZUD
SSSyATLj
SSSyA[@UL
SSSyAVEL
SSSyAVLk
SSSyAVLK
SSSyA[@WA[
SSSyA[@WL
SSSyAXAZA_La
SSSyAXs3QSS
SSSyAZsWRSSQ(VSSW(nSSWTD
SSSyAZTJ
SSSyBABU
SSSyB]BB
SSSyB[BH
SSSyBBL_9
SSSyB|Bw
SSSyBDB_
SSSyBDBZ
SSSyBDLX
SSSyBEBX
SSSyBELX
SSSyBFBV
SSSyBFBY
SSSyBGJ9
SSSyB_H9
SSSyBHBC
SSSyB_I9
SSSyBIB]
SSSyB_K9
SSSyB[L_9
SSSyB@LC9
SSSyBOBB
SSSyBsBO
SSSyB[sS
SSSyB_sS
SSSyB[_sSCSSXE9@TB[E9
SSSyBTB]
SSSyBTBU
SSSyBTBZ
SSSyBTM9
SSSyBTsS
SSSyBT@UEBUgd
SSSyBTZgUs
SSSyBT@ZQBZsSRSSsSSS
SSSyBUAI
SSSyBUB[
SSSyBUBB
SSSyBUB]sSQSS
SSSyBUBtBJBc
SSSyBUBWD
SSSyBULK9
SSSyBUsSQSS9
SSSyBUsSWSSfUs
SSSyBUsWRSSeUs
SSSyBVBA
SSSyBVBG
SSSyBVFh
SSSyBVLv9
SSSyBVLZ9
SSSyBVM9
SSSyBVsBSS
SSSyBVsSSRSdUs
SSSyBVWLK9
SSSyBVZJ9
SSSyBWD9
SSSyBWH9
SSSyBWK9
SSSyBWLK9
SSSyBWLX9
SSSyBWN9
SSSyBWO9
SSSyB[W]W
SSSyBWWLG9
SSSyBWWLK9
SSSyBWWLs9
SSSyBWyPcVS
SSSyBXBY
SSSyBXO9
SSSyBXXTBUg
SSSyBYBp
SSSyBYBX
SSSyBYBZ
SSSyBYL_9
SSSyBYsS
SSSyBYsS#SS9
SSSyBZBBsSQSS
SSSyBZB]fWBZxQB]@ZBZBU
SSSyBZB]gUs
SSSyBZB_gUs
SSSyBZBV
SSSyBZBXeUs
.SSS[YBZD9
SSSyBZE9
SSSyBZL_9
SSSyBZLG9
SSSyBZO9
SSSyBZsWRSSeUs
SSSyB[ZU
SSSyBZ@[U
SSSyE9ATs
SSSyE9BZsS
SSSyE@_AJ
SSSyE_AY@WBW
SSSyE_B[@TEBTgh
SSSyE_BV@WEBWgd
SSSyE@LQ(VSSW(|SSWALQ(
SSSyE@_sS
SSSyE@UAK@VAD@WBV
SSSyE@UULv
SSSyE@U[Y[EeOUD
SSSyE@VEB[
SSSyE_WD
SSSyE@WE@[EXBWLs
SSSyEXBX@YEBYgh
SSSyEXE9YPI9
SSSyE@YAF@]B]
SSSyEYE@VE@_AAE
SSSyE@ZEAFI
SSSyE@ZE@@E@[E@UBY@AEBA|
SSSyFQ(VSSW(|SSWs[
SSSyF@]QZBX
SSSyFXZLC
SSSyIQ(VSSW(|SSWA[Q(
SSSyJ@ZxUs
SSSYk RSSQBUBTsSSS
SSSyL3YL
SSSy[L@9
SSSy[L_9
SSSy[LF9
SSSyLo_LsBT
SSSy[Ls9gUs
SSSyPc[S
SSSyPcVSnVSS
SSSyPcVS!PSS
SSSyPcWS
SSSyPcWSARSS
SSSyPcWSGQSS
SSSyPcWSnRSS
SSSyPcWSsQSS
SSSyPcWSTQSS
SSSyPL_9
SSSyPLO9
SSSyQABL'
SSSyQAVM
SSSyQBBBW
SSSyQBBsCTSS9
SSSyQB]BVsSSS
SSSyQBCTH
SSSyQBEB]
SSSyQBEBTsSSS
SSSyQBFLssSSS
SSSyQBFs
SSSyQBGs
SSSyQBHB]
SSSyQBIIsSSS
SSSyQBJIsSSS
SSSyQB_LG9
SSSyQB[s
SSSyQB[[sSSS
SSSyQB_[sSSS
SSSyQBTIsSSS
SSSyQBTL
SSSyQBTL!
SSSyQBTL"
SSSyQBTL-
SSSyQBTL8
SSSyQBTLXsSSS
SSSyQBTs
SSSyQB[TsSSS
SSSyQB@U
SSSyQBUIsSSS
SSSyQBUL
SSSyQBULB9
SSSyQBUs
SSSyQBUsG[SS9
SSSyQBUTsSSS
SSSyQBVBW
SSSyQBVI
SSSyQBVIsSSS
SSSyQBVLG	Z
SSSyQBV[sSSS
SSSyQBWHsSSS
SSSyQBWI9
SSSyQBWIsSSS
SSSyQBWs
SSSyQBW[sSSS
SSSyQBWTsSSS
SSSyQBY[
SSSyQBYIsSSS
SSSyQBYs
SSSyQBZB@
SSSyQBZs
SSSyQ[I9
SSSyQ[LB
SSSyQ[LG9
SSSyQLw9
SSSyQ[LZ
SSSyQ(PSSW@UBUsSCSS9fZBUN9
SSSyQ(PSSW@UBUsSRSS9
SSSyQsSSSWs
SSSyQsSSSWsS
SSSyQsSSSWTU
SSSyQ(@SSWBE
SSSyQsSWSSL
SSSyQ(@SSW@WBW@_B_@ZB_
SSSyQ(@SSWYU@ABA_BA
SSSyQ(@SSWZ
SSSyQTBU
SSSyQTD9
SSSyQTIsSSS
SSSyQUBZ
SSSyQULN9
SSSyQULssSSS
SSSyQUsS
SSSyQ[UsSSS
SSSyQUvLj
SSSyQvQ(
SSSyQ(VSSW(
SSSyQ(VSSW@[B[(|SSWB[(
SSSyQ(VSSW(nSSW@[B[_[X[
SSSyQ(VSSWs
SSSyQ(VSSWs5
SSSyQ(VSSWsBRS
SSSyQ(VSSWsBSS
SSSyQ(VSSWsC
SSSyQ(VSSWsCRS
SSSyQ(VSSWs[cS
SSSyQ(VSSWs_cS
SSSyQ(VSSWsCS
SSSyQ(VSSWsJsS
SSSyQ(VSSWsOP
SSSyQ(VSSWsQ
SSSyQ(VSSWs[SS
SSSyQ(VSSWs]SS
SSSyQ(VSSW_[(|SSW[(
SSSyQ(VSSW(|SSWABs
SSSyQ(VSSW(|SSWAEQ(
SSSyQ(VSSW(|SSWAKQ(
SSSyQ(VSSW(|SSWA]L
SSSyQ(VSSW(|SSWA_[LC
SSSyQ(VSSW(|SSWA_[Lp
SSSyQ(VSSW(|SSWANQ(
SSSyQ(VSSW(|SSWA@Q(
SSSyQ(VSSW(|SSWA[Q(
SSSyQ(VSSW(|SSWA]Q(
SSSyQ(VSSW(|SSWA_Q(
SSSyQ(VSSW(|SSWARQ(
SSSyQ(VSSW(|SSWASs
SSSyQ(VSSW(|SSWATLa
SSSyQ(VSSW(|SSWATQ(
SSSyQ(VSSW(|SSWAUQ(
SSSyQ(VSSW(|SSWAVQ(
SSSyQ(VSSW(|SSWAvsSRSS
SSSyQ(VSSW(|SSWAVUs
SSSyQ(VSSW(|SSWAVUsWRSS
SSSyQ(VSSW(|SSWAXQ(
SSSyQ(VSSW(|SSWAZQ(
SSSyQ(VSSW(|SSWB_BEL
SSSyQ(VSSW(|SSWBEQ(
SSSyQ(VSSW(|SSWB[Q(
SSSyQ(VSSW(|SSWBTQ(
SSSyQ(VSSW(|SSWBUI9
SSSyQ(VSSW(|SSWBULF9
SSSyQ(VSSW(|SSWBULO9
SSSyQ(VSSW(|SSWBUs
SSSyQ(VSSW(|SSWBVQ(
SSSyQ(VSSW(|SSWBWLO9
SSSyQ(VSSW(|SSWBYQ(
SSSyQ(VSSW(|SSWBZQ(
SSSyQ(VSSW(|SSW[L
SSSyQ(VSSW(|SSW[LB9
SSSyQ(VSSW(|SSW[LD9
SSSyQ(VSSW(|SSWQ(
SSSyQ(VSSW(|SSWs
SSSyQ(VSSW(|SSWTBZLB9
SSSyQ(VSSW(|SSWTLK9
SSSyQ(VSSW(|SSWUBTZ
SSSyQ(VSSW(|SSWUD9
SSSyQ(VSSW(|SSWUL
SSSyQ(VSSW(|SSWULd9
SSSyQ(VSSW(|SSWULn9
SSSyQ(VSSW(|SSWUM9
SSSyQ(VSSW(|SSWUQ(
SSSyQ(VSSW(|SSWUs
SSSyQ(VSSW(|SSWZLO9
SSSyQ(VSSW(|SSWZTsS
SSSyQ(VSSWsT
SSSyQ(VSSWsT3S
SSSyQ(VSSWsTrS
SSSyQ(VSSWsU
SSSyQ(VSSWsUcS
SSSyQ(VSSWsUCS
SSSyQ(VSSWsUS
SSSyQ(VSSWsXcS
SSSyQ(VSSWsYcS
SSSyQ(VSSWsZcS
SSSyQ(VSSW@TBT(|SSWBT(
SSSyQ(VSSW@UBU(|SSWBU(
SSSyQ(VSSW(USSWsS
SSSyQ(VSSW(USSWsSsSS9fUs
SSSyQ(VSSW@VBV(|SSWBV(
SSSyQ(VSSW@XBX(|SSWBX(
SSSyQ(VSSWYB[[
SSSyQ(VSSWYBT[
SSSyQ(VSSW@YBY(|SSWBY(
SSSyQ(VSSWYBZ[
SSSyQ(VSSWYU(
SSSyQ(VSSWYU(|SSWAAU(
SSSyQ(VSSWYU(|SSWADU(USSWM9
SSSyQ(VSSWYU(|SSWAGU(USSWM9
SSSyQ(VSSWYU(|SSWA@U(USSWLK9
SSSyQ(VSSWYU(USSW@@B@LI9gUs
SSSyQ(VSSWYU(USSW@CBCLq9gUs
SSSyQ(VSSWYU(USSWr
SSSyQWLG9
SSSyQWLO9
SSSyQ(WSSWB]K
SSSyQ(WSSWBTD
SSSyQ(WSSW@[BV
SSSyQ(WSSWBYK
SSSyQ(WSSWD
SSSyQ(WSSW@UBUBTD
SSSyQ(WSSW@UBUBWI
SSSyQ(WSSW@UBUBWJ
SSSyQ(WSSW@ZBZUD
SSSyQ(WSSWZD
SSSyQ(XSSWE9TU
SSSyQZBT
SSSyQZBU
SSSyQZBV
SSSyQZI	BT
SSSyQZIsSSS
SSSyQZL_9
SSSyQZLG9
SSSyQZL#sSSS
SSSyQZs!VSS
SSSyQZTsSSS
SSSyRSBQ
SSSyRSSLQSS5PSS
SSSYRSSSSSS
SSSySSBQLG9
SSSy[sSpSS9
SSSy[sSSS
SSSy[sS[SSd
SSSySSS[SSSOSSS_SSS
SSSysSsSSU
SSSy[s[TSS9
SSSyTBCH
SSSyTB[eUs
SSSyTBTeUs
SSSyTI|Us
SSSyTLc9
SSSyTLC9
SSSyTLD9
SSSyTL#eUs
SSSyTLG9
SSSyTLJ1TN73Z
SSSyTLk9
SSSyTLr9
SSSyTLZ9
SSSy[TM9
SSSyTsHRSS9
SSSyT[sKQSS9
SSSyTsKQSS9fUs
SSSyTsmRSS9
SSSyTs[RSS9
SSSyT@UT[gVT@Z[XU@TBWU
SSSyTYTsS
SSSyTZfUs
SSSyUATBVT
SSSyUB[H
SSSyUE9T[
SSSyUL59
SSSy[UL]9
SSSy[UL|9
SSSyUL;9
SSSyUL@9
SSSyUL_9
SSSyULA9
SSSy[ULb9
SSSyULb9
SSSyULB9
SSSyULC9
SSSyULe9
SSSyULE9
SSSyULf9
SSSyULF9
SSSyULG9
SSSyULH9
SSSyULi9
SSSyULI9
SSSyULj9
SSSyULJ9
SSSyULk9
SSSyULK9
SSSyULL9
SSSyULm9
SSSyULM9
SSSyULo9
SSSyULO9
SSSyULp9
SSSyULq9
SSSyULr9
SSSyULs9gUs
SSSyULt9
SSSyULu9
SSSyULw9
SSSyULx9
SSSyULY9
SSSy[UM9
SSSy[@Us
SSSyUsPSS
SSSyUsS_SS9gUs
SSSyUsSSSQeUs
SSSyUsSuRS9
SSSyU(|SSWAFBCLN9
SSSyU(|SSWAIBCLN9
SSSyU(|SSWAKB@LF9
SSSyU(|SSWARs
SSSyUsuUSS9
SSSyUTgUs
SSSyUWI9
SSSyUWL_9
SSSyU@ZUBYD9
SSSyWL_9
SSSYxG[LY
SSSYxnQ(
SSSYxuKYxqDYxMJYxIIYxEHYxAOYx]NYxYMYxUs
SSSy[@YBVBK
SSSYZ9@TEUg
SSSYZ9@VEUgiBVQ
SSSyZB[D
SSSyZKfUs
SSSy[ZLC9
SSSyZLCfUs
SSSyZLK9
SSSyZLt9
SSSyZsEBSS9
SSSyZsSS
SSSyZsSSRSeUs
SSSyZsSSsP9eUs
SSSyZUJ9
SSSyZUM9
SSSyZWLs9
SSSZ4@Zk
SSS[Z9B]
SSSZ9K9	T
'SSSZBVM9
SSSZBVsSCSS
@SSSZEZK
SSSZLLdyEA[s
SSSZLs3L2
'SSSZM	@VBVZd9BYT
SSSZPSBQ(
SSSzQSBQPLK
SSSZRSBQs
SSSZRSS_RSS
SSSZs_RSS9
SSSZSSBQj
SSSzSSSxSSS
SSSzWSBQ
SSSZ@XE@U[vJ
SSSZYxQZYB[D
??SSTcc]Y]]
SSTdPTxVsS
sStgqggy
sSTSSdATsSTSS
S@sTU)VRSSSSS
S@sU@0TRSSSSS
SSU2CQUCSQI9
SSU@ABAFh
SSU@ABAs
SSU@BBBFh
SSU@]B]j
SSU@@B@jxRSSBTjwRSSE@CT
SSU@[B[Qs
SSU@_B_Qs
SSU@@B@r
SSU@_B_r
SSUBTsWRSS9
SSUBTyEy
SSU@[BVj
SSU_BVLI9
SSU_BVLO9
SSUBVYE@VEQ
SSUBVYUK
SSUBWUA[
SSUBW@WBWK
SSUBWyEyEyEy
SSUBZ2_QLG9
SS@UBZE9e
SSU@CBCBZ
SSU@CBCj
??SSUcc]Y]]
SSU@DAME
SSU@DBDLB
SSUDyEyBVy
SSUDyEyEy
SSUDyEyEyEy
SSUDyEyEyEyEy
SSUDyEyEyEyEyEyEy
SSUDyEyEyEyEyEyEyEy
SSUDyEyEyEyEyEyEyPcPS
SSUDyEyEyEyPc[S
SSUDyEy[L]
SSUDyEyLBA|s
SSUDyEyLBAus
SSUDyEyPcQS
SSUDyEyQ(PSSWsSQSS9eNLBAJs
SSUDyEy[s
SSUDyEyU
SSUDyEyULF
SSUDyEyUs
SSUDyLBAWs
SSUE9@]k
SSUEaHBVsR[WS
SSU@EBEr
SSU@@EB@h
SSU@_EB_h|RSSFB_htRSSBWB_
SSU_[E|P[x@AWs[[SS
SSU;_[E|QEyP[U
SSUEyE_B[BZ
SSUEyEyEy
SSUEyUXU
SSUEYxQEYUyPcUS
SSUFh[QSS[BWBK
SSU[IgQEysSQSSQ(XSSWAPQ(PSSWD7s
SSUirQSS[i
SSUj@RSSQUD9
SSUj_RSSx0L
SSU[jVRSS[BW
SSUKyEyEy
SSUKyEyEyEyEy
SSUKyEyEyEyEyEyEy
SSUKyEyEyEyEyEyEyEyEyEyEyEy
SSUKyEyULK
SSULBAHs
SSULBAIs
SSULBA_s
SSU@LBVLE9
SSULK7BA
SSULK7BD
SSULK7BF
SSULK7BI
SSULK7BN
SSULK7Bu
SSU_[M1sS
SSUM7Bp3
SSUM7Bq3
SSUM7Bs3@HBHs
SSUM7Bv3
SSUM7Bw3
SSUM7T3J
SSU@MQBMHsSSS
SSUMWnK_SSQ
SSU@[PLw9
SSUPsSWSS9
SS@UPWsS
SSUQ(RSSW
[SSUS6ySSUS8ySSUS#ySS@R
[SSUSDGSS@R
[SSUSmYSS@R
SSUsQRSS
SSUsQVRG
SSUsrsssgWTK3XBWs#RSS9
SSUsSCSSU
sSUSSdQEyQAe
SSUsSQSS
SSUssRSS
SSUsSRSS
SSUsSRSSg
SSUsSSRS
SSUSSSS1#
SSUSSSS;2?2
SSUsSSS9
SSUsssSS3
[SSUSUZSS@R
SSU@TBTj
SSUTLC1T32s	
SSUTsSQSS9
SSUTXEYEQ
SSUTYk!QSSUK
SSUTyPcZS
SSUU2sSSS
SSUU2@UTD
SSUU2@YEs
SSUuAD@UAD
SSUuAELC
SSUuA]LC
SSUuAPLC
SSUuAQLN
SSUuAqLw
SSUuARLC
SSUuAYU.
SSUuB_9M9	BV
SSUuBCBWB_
SSUuBDAJM
SSUuB_Em
SSUuBT@ULC@VBD@WBVF
SSU@UBUE|QEyBU9@AE9XE9_BXjNRSSBUU
SSU@UBUj
SSU@UBUj[USSE@DE@qTE
SSU@UBUr
SSUuBVQ(PSSWd
SSUuBWWd
SSUuByAi
SSUuDyEy
SSUuDYxQEYUy
SSUuE9@BZL_9
SSUuE9@_QL_9
SSUuE@]ET
SSUuEyEy
SSUuEyEyEy
SSUuEyEyEyEyEy
SSUuEyEyEyPcPS
SSUuEyLBASs
SSUuEyLBAWs
SSUuEyPcQS
SSUuQAJPUs
SSU@UQBW
SSUuQ(dSSW@TBT@WBW_BW
SSUuQLs9
SSUuQ(PSSWXTsSS
SSUuQ(RSSW
SSUusSCSSBW
SSUusSCSST
SSUusSCSSU
SSUusSSRS_AGI
SSUux5Q(PSSW@WBWsS
SSUuxFBZs
SSUuxGUqSS
SSU@UxPE@U[K
SSUux?UqSS
SSUuxyUqSS#
SSUUyAGM
SSU@VA[LG
SSU@VBVF
SSU@VBVj
SSU@VBVs
SSU@VBVsSCSS
SSU@VQBVHsSSS
SSU@VTBVdUs
SSU@VUM9
SSU@VVBV
SSU]WAXM
SSU@WBWjBRSSE9@KQTLY9
SSU@WBWr
SSU@WBWs
SSU@WPBW
SSU@WPLc9
SSU@WUO9
SSU@WZMfQEyZL
SSU@XBXs
SSU@XBXsSSsS9dUs
SSU_xQE_Q(PSSW@TBTsSsSS9gDBTsSCSS9e
SSUxQE_[y
SSUXTEcPExRTyEy
SSUXTsSWSSe
SSUXTsSWSSfcT
SSU@XULY9
SSU@YABLG
SSU@yAgLO
SSU@YBUD9
SSU@YBUH9
SSU@YBYD
SSU@YBYF
SSU@YBYj
SSUY[CQUK	YUW
SSUYE9Uh
SSUYE@[ETg
SSUYE@XETg
SSUyEyEy
SSUYPUsSS
SSUYQ(dSSW@ZBZ@UBU@WBU
SSUYQLs9
SSU@YsSCSSBY
SSUYUsSRSS
SSUYUsSRSSe
SSUYUsSSYS
SSUYU@VTj
SSUYxQTYU@UTj
SSUyZO1@TVLC9
SSU@[ZAZD
SSU@ZBUD9
SSU@ZBZFh
SSU@ZBZM1sS
SSUZDeQEysSQSS_Q(PSSWsSQSS9
SSU@ZTBZ
SSU@ZTUD
[SSVAdByD
[SSVAgZK9
SS@VBTE9
??SSVcc]Y]]
]SSVIfs[D9
SSvQQQvSSvQJvJJvSQvQS
sSVSSdtB[
SSWABAC.
SSWABBZ.
SSWACBZ.
SSWAdAe.
SSWAdAf.
SSWADB].
SSWADBV.
SSWAdUL_9
SSWAdUM9
SSWA[E9.
SSWAeQ(XSSW.
SSWAfUL_9
SSWAfUs]RSS9
SSWAJAD.
SSWAJAFO
SSWAJAK.
SSWAJBC.
SSWAKBC.
SSW@AsSCSSBA
SSWAXA[.
SSWAXAY.
SSWAXAZ.
SSWAYBU.
SSWAYBV.
SSWAZE9.
SSWAZQ(XSSW.
SSW@BBBBU
SSW@BBBZL_9
SSW@[B[D9
SS@WBGB]
SS@WBHB[
SSW@_B_i
SSW@[B[[L_9
SSW@[BMBG
SSWBtyEy
([SSWBZ(
SSWBzyQsS
SSW@CBCBU
??SSWcc]Y]]
([SSWgYTD
SSWIeuPW(
SSWi(SSSB]LC9
SSW_k7CSSBWs
SSW_kB_SSBWiQQSSZsSSR
SSW_k@BSSBWs
SSW_kJVSSBWL
SSW_kKWSSBWs
SSW_kN]SSBWL
SSW_kt_SSZs
SSW_kW]SSBTs
SSWLBAZs
SSW@LE9XAL@ZAL
SSWMerPW(
SSW@NBNsSRSS
SSWs1RSS9
SSWsIRSS9
SSWsMUSS9
SSWsnRSS9
SSWs.RSS9
@[[sSWSS
@_sSWSSB_dWB_xVsSWSSLs
_sSWSSBX
SSWsSCSS9
_[sSWSSdJQ
sSWSSf@TH9
sSWSSf@TO9
sSWSSgQEyB[LYeQEyB[D
sSWSSsSSS
SSWsSTSSfQFyQ
SSWsSWSS
SSWsSWSSd
SSWSSYSSSSSSS
SSW@TBTD7@VBTL
SSW@TBTsSRSS
SSW@UBUBW
SSW@UBUsSCRS
SSW@VBV@WE@DEPLC9
SSW@WBWs
SSW@WBWsSRSS
SSW@XBXB_L_9
SSW@XBXD9
SSWXQ(VSSW(|SSWUM9
SSWXTBVfUs
SSWXTBYBX
SSWXUsKWSS9
(_SSWYUs
SSWYUsSPSSd
SSWYx]B[D
SSW@ZBT(
SSW@ZBZBW
SSW@ZBZ[L_9
SSXBUUsS
_SSXE@[E@TE@BE@CL
SSXGLSJM_
SSXGN[MM[CDHB]GCAOZOXOQB
_SSXk'PSSPs
S]SXMLJ[
SSXQBBsSCSSsSSS
SSXQSSSSSS
SSXSSKSM
sSXSS@VQBW
SSYBCXE9@ZBXj
SSYHPYJDHJXE@BGYKHYQ[L
]SSYHXABP
ssyjrsyLrsy
S]SY]LKG
SSY[]_NYX
SSYPOY_X[
S@s'yq@RSSSSS
SSYSXQP[J
SsyvRsy_RsyDRsy-Rsy
SSY[XZONX
S@s.YYQRS
SSYZP@ZZLCHASH
SSYZsSsRS9
SSZACB]ZGJ@HN@JK
SS@ZBUBO
S]SZGHSEQ
SS_ZGKQGGC
SS@ZJ@EH@Gk
SS@ZJ@EN@Gk
S_SZKOLZHJ
SSZOGEXL]
_SSZPni_SSU9Q
SSZSSSSSSSSSSSSSSSSSSSSSSSSSSS_
SSzSSSSySSSS
S[S@ZZKDXNAJ
sT4g]tgfG
st7(wgfG
STAAAAAA@AAAAACaD
.stabstr
stackaddress
stack overflow
. stacktrace: 
Standardizes different data to be useful to ML classifiers. Requires data input from at least one other plugin.
StartAddr
StartIoAddress
StartMpEngine
start of 
StartService
StartServiceW
start status notification
starttime
StartTime
starttimefiletime
start_timestamp
StartupRegistrykey
startupuserfolder
startxref
"state":"inactive"
statement too long
state not recoverable
state_type
stat_get
stat_init
Statistics of the data message pool:
Statistics of the feature engineering memory usage
stat_push
StatusCode
StatusFlag
StatusInactiveCode
StatusTime
__stdcall
std::nullptr_t
std::nullptr_t 
[[[s TdP[[[
STDPRPXP
stelem.i
stelem.i1
stelem.i2
stelem.i4
stelem.i8
stelem.r4
stelem.r8
stelem.ref
 stepping 
stepping
 Stepping: 
StgfG1tewgqgg@
sTgIkgfG
STgKWffGCj
st?gqggC
sTgqggG	E
st[HMW|Vc
stillaliveheartbeat
stind.i1
stind.i2
stind.i4
stind.i8
stind.r4
stind.r8
stind.ref
S||tL||DL||
-sTllllllllmllllOllylm?
stoi argument out of range
StopService
stop_timestamp
stoul argument out of range
stoull argument out of range
!sTpgppepq
stpgppepq*P
str_charat
str_charcodeat
str_concat
strcpy_s
STREAM_ATTRIBUTE_SITE_HAS_GOOD_REPUTATION
STREAM_ATTRIBUTE_URL_HAS_GOOD_REPUTATION
#Stream Container File
stream end
stream error
streamip
streamip_scrubbed
stream timeout
streamtype
streamurl
streamurl_scrubbed
StreetAddress
str_fromcharcode
strftime
strheap_RVA
strheap_size
str_indexof
[string "
String: 
StringCchCopyA failed
StringChhPrintfA() failed
string.fromcharcode
String.fromCharCode() is not a constructor
StringFromGUID2
'string.gfind' was renamed to 'string.gmatch'
string length overflow
string or blob too big
String.prototype.charAt() is not a constructor
String.prototype.charCodeAt() is not a constructor
String.prototype.concat() is not a constructor
String.prototype.indexOf() is not a constructor
String.prototype.lastIndexOf() is not a constructor
String.prototype.localeCompare is unimplemented
String.prototype.match() is not a constructor
String.prototype.replace() is not a constructor
String.prototype.search() is not a constructor
String.prototype.slice() is not a constructor
String.prototype.split() is not a constructor
String.prototype.substring() is not a constructor
String.prototype.substr() is not a constructor
String.prototype.toLowerCase() is not a constructor
String.prototype.toString and String.prototype.valueOf must be called only for Strings
String.prototype.toUpperCase() is not a constructor
String.prototype.valueOf() is not a constructor
StringRegExpSearch
StringReport
#Strings
string slice too long
string too large
string too long
stringvalue
str_lastindexof
str_match
str_replace
str_search
str_slice
str_split
str_substr
str_substring
str_tolowercase
str_touppercase
Structstoragehandler
sTSN]eq@
sTSSS@S3
StTJH]JA
STtnryjgfw
sTTpgppepq
	S	T	U	W@
STWVRXWW
stylesheet
ST[[[Z[[[k[[[
[[[S[[[U[[[
@SUATAUH
subjectcommonname
subjectdistinguishedname
subjectdomainname
subjectdomainname_scrubbed
subjectlogonid
subjectprivilegelist
subjectusername
subjectusername_scrubbed
subjectusersid
subjectusersid_scrubbed
Subject: UTF8 conversion failed
submissionrequest
submissiontype
SubmitSpynetReportResult
SubmitThreadpoolWork
sub.ovf.un
subqueries
substatus
Substatus
substring
Subsystem
Subsystemtype
	Succeeded
success.
"SUdS[[[d[[[
[[[@sUdZ[[[
s)))uFKCLJ]
sugafgfG
SUgakgfG
S?(!_-UgfG
S!UgokgfG
SUgqggEo
sUHMFIcHPIKHFCBU
sUHMFIcHPIKHFCBUxm
sUHMFIcUHWWBU
sUHMFIdKNDLBU
s)))uHYYMH]HuEFJHEu
SuigqggM;
suIllllllllmllllOllylm
S)))uJDM
sukdG[[[
SUKP;_*M
SullllllllmllllOllylm
sUllllllllmllllOllylm2
su llllllllmlll]Y]]g
SuLQLJMFZ
SunMonTueWedThuFriSat
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
sUNTLDFJ	f
S)))u[]O
SUpgppepq6E
Supported
supportedcompressions
supportedUris_
SupportScam
SupportsObjects
Supressed lowfi per named attribute
sUQ(VSSW(nSSW
surplussectors
SUSeSSSUS
suspended
SuspendProcess
SuspendThread
Suspiciosus
suspicious
Suspicious
Suspicious:
SUSPICIOUS
suspicious_dosheader
suspicious_falign
suspicious_heap_geometry
suspicious_heap_size
suspicious_imagebase
suspicious_image_size
suspicious_image_version
suspicious_import_directory_size
suspicious_linker_version
suspicious_ntheader
suspicious_number_of_dirs
suspicious_os_version
suspicious_rebase
suspicious_resource_directory_size
suspicious_section_characteristics
suspicious_section_fsize
suspicious_section_name
suspicious_section_offset
suspicious_section_rva
suspicious_section_vsize
suspicious_stack_geometry
suspicious_stack_size
suspicious_subsystem
suspicious_subsystem_version
suspicious_timestamp
suspicious_valign
SUSTS[SIS
:susywspylytu
@S@UUsScBSd
SUVATAUAVAWH
SUVATAUH
@SUVATAVAWH
@SUVWATAUAVAWH
SUVWATAUAVAWH
SUVWATAUAVAWL
@SUVWATAUAVH
SUVWATAUAWH
@SUVWATAVAWH
SUVWATAVAWH
@SUVWATAVH
SUVWATAVH
@SUVWAUAVAWH
SUVWAUAVAWH
@SUVWAUAVH
@SUVWAUAWH
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
SUWATAUAVAWH
@SUWATAVH
@SUWAVAWH
SUWAVAWH
SuYg9egfGa:
[[[s[[[v
[[[s[[[v[[[
[[[;[[[SV
S@@@@@v@@A@AAac
@SVATAUAVAWH
SVATAUAVAWH
@SVATAUAVH
SVATAUAWH
Sv@@@@@@B@dp@S
svchostgroup
	SVdy[[[
SVd_[[[Y[[[P[[[
SvEP[@JZ
svfohigh
))S))))(V)))F)))R
SvgKdgfG
sv;gMegfG
sv;gMegfG@
sv;gMegfG2e
sv;gMegfGv
SV)mggfwX
s|vodo9ogo
S|voeo9ogo
sVPgqggj
s[[[vPpdF[[[
SvQdO[[[
s[[[v"QdU[[[
SVQSTWS_
_;SVSSSSS
SVSSSSSSS5
#]SvS##]SzS
sv[sv[sv[NB
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
@SVWATAUAVH
SVWATAUAVH
@SVWATAUAWH
SVWATAUAWH
@SVWATAUH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
SVWATAVH
@SVWATAWH
SVWATAWH
@SVWAUAVAWH
SVWAUAVAWH
@SVWAVAWH
SVWAVAWH
svYkae;p
svzALEELQLJ))
svz][LHD))
svZ][MLJ))
[svZrSY[sfCsNVsfCV[B
svZsvZDSWB
svZsvZSSSSSSSSPcPSmSSSQSSBEXEWgePYQP
svZsvZSSSSSSSSSPcWSLRSS
svZsvZsvZs
svZVUSRQsvZZSRQsjCB
svZXSRQs
svZXsvZsvZQBSPsVB
s WATAUAVAW
s WATAUAVAWH
@SWATAUAVAWH
SWATAUAVAWH
SWATAUAVH
@SWATAUAWH
SWATAUAWH
@SWATAUH
@SWATAVAWH
SWATAVAWH
s WATAVH
@SWATAWH
s WAUAWH
s WAVAWH
s!WdB[[[
sw[dF[[[
sWdgfG8VX
sWfB[[[m[[[
sWfH[[[A[[[
sWfJ[[[O[[[
sWfK[[[n[[[m[[[
sWf_[[[q[[[
sWfQ[[[n[[[m[[[n
sWfR[[[r[[[
sWf_[[[t[[[
Swgqgg#Jx
__swift_1
__swift_2
__swift_3
SwitchToThread
sWllllllllmllllOllylm
swllllllllmllllOllylmM
swllllllllmllllOllylmw
SWllllllllmlll]Y]]
SWlOllylmE
Swpgppepq
SWpgppepq
swpgppepqy 
SwqgkcgfG9
sWQSSsSSS
sWRSSeUs
SWRSSSSS
[SWs[RSS
s:WSSedUs#QSS9
s;WSSsSSS
SWSSSSSSSxS
':SWuiggdgfG
S_WW_S_95!'-*4WG
SWWSSCSSSp
SWWWWWWWGWWWW
SWWWWWWWUWWWW
SWWWWWWWUWWWWWS
[SW@XBV@YBX
[swye.yy9zyy
SwyHRwyPVwy
[SW@ZBF@[BZ
[[[[s[_[[[X[[[
Sx0n0;N5_o0
Sx4Us'QSS9
SX4Z@llllllllmlll]Y]]
Sx5T(6RSW(4RSWs
_SXAGC_SN@Q
SXA]H_YJNK
_SXAKMK]Q_AKXHQ
SxbBUpSSSSSc0
SXBGCABFO]_H
SX[B[SQ_
Sx	BUpSSSSSc0
sXCCNCCCBACC
SXCP@QCM_E
SX_CXLDANFL
SXCYZAYQ
SX@C__ZNCYSBSZ
'SXdB[[[
SXDCHFDB
SXDDQ]PG
_SXDQCQE
[SXDSNLXZP__CKGQ]
SXDS[PBG
SXdU[[[L[[[
SxdUs_QSS9
SXdZ[[[t[[[h[[[I
SXE_AHBB
SXEBNC__
SXE_BQ_DA_
SXECAHHJS
[SXECLOQ
SXE[GCGY_
SXEJJMDH
SXEOEJMCCCZY
SxEpgppepq
SX[E[]X_ZD]LM_S]XEM@[OQZ
[SXFAA[Y[SGCX_Z_O
SXFHJXXBK
SXFZDMGCLN
SXGBKJBX
SXgengfGR
SxgqggKSl
]SX__GSB
SXgwdgfG
SXHDGBQ]H
SX@HO]GJQ@PQF]CC]
[[[SxJdK[[[
SxJhggfw
SXJHHSAZYXSYM
SXJKDAMB]
SXJPMKQYOG
SXJSMSOYAHZHQDQQY_J_MG
SXK[BSPPJ
SXKJAAEFPMPA
]SXKMJCOZ
SXKSDMAH
sXllllllllmllllOllylm
sXllllllllmlll]Y]]
S_X_LMJK
SXLOMSZHLGYHAEGDN
SXLXJQ[BZ
SXLXXSQGGZEOMS
SXL@YALSZBKCPH
SXL@ZKXAYZ
SX]M[HOD
SXNAZ_F_
SXNCZ[MZMLM
_SXNK]SJYX
SXNOCNHNNS
SXNQXBXLGDOCB
[SXNS_]X
SxnUs[RSS9
SxnUs_RSS9
[SXNYYGSY
SXOAMNNE
S_XOBNAQ[CAXA
SXONBFDSNB
_SXOSBAD_OCQBZ[
S[]X@OYMKKXDZMLB
S[XOZBQSOA
)))SXPBN
SXPGLAHCELDAJP[OQ
sxpgppepq
SxpgppepqO]
sxpgppepq:Zm
*s@@@@@@@@xp@Ky@.
SXPLYKJQ]
SXPQKBZAQSN
]S_XPXJAJ
[SXPYPJS
[SXQDLZP[
SXQ[]ELND
SXQEPXQB
SXQ@HAK_JX
S_XQXCSC
SXQX_LLKXYPK_LSPDG
S]XQXLPHQN
_SXQZZJH
SXSDMQZGQQ
SXS]HHGJS_]
SXSK@ODG
SXSNQCL_SO
SXSPZK]O
SxSSSSQRS
SxSSSSQSSsS
SX_SYHDF]_
[[[sXTdC[[[
sxvZa@@A@h LI
SXXAC]H_AY
s!XXCCNCCCBACC
SXXDG@BCMLP]
SXXDYGMOX
SXXE[Y]_Z
SXXHSXONDA
SXXMCQKOX
SXXMY[OE[]
SXXNLHLSA[[N
]_SXXPNXDLZCHB]SK
sxx|PXxxr
sxxrsPtxxr
Sxxrxly(
@sxxxP@xxrRzxjy(
sxx]Y]]4j_
sXX]Y]]m
Sxxytpno
sxx(yxhy
Sxx]Y]][(Y
sxxzx]Y]]
sx'((]Y]]
SxydSxyCSxy.Sxy
SxyDWxyXWxy
sxyEcxy.cxy
sxyfrxy9rxy
sxyhrxyMrxy*rxy
sxynrxyOrxy rxy
SxyoRxyHRxy-Rxy
SxyqRxygRxyNRxy-Rxy
SXYQYHBCDPZ
Sxy|RxygRxyNRxy5Rxy
Sxy|Rxy_Rxy:Rxy'Rxy
Sxy#Sxy7Sxy9SxyISxyYSxyiSxy
sxytrxyUrxy6rxy
SxywRxySRxy?Rxy
SxyxRxyoRxyTRxy1Rxy
sxyx@y@xJxNxKxHxLxIxIx
SxyyRxyaRxyIRxy1Rxy
sxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
S]X]YY]ZQY_
[[SXYZJXKPXA@YOHSN
sxyzrxydrxy
S_[XZAJXJYP
]SXZCQKPLOS
s*'((]Y]]
s@@@@]Y]]
S'((]Y]]
S(((]Y]]
sy1yyyyyyyyyyyy
SY8kV]Rq
SY8X[[[Z[[[O[[[a
SYABGCMPX]S
SYA@DFGE@GL
SYADLJNEN
SYAGJ]MMH
S_YAJ_NLF]E
s@YaLHML[
SYAMQSS_
syaOry!Iry
SYAQBBSMFBY[OOCP_
SYASKN[CEPKB
SYAX]D_DL
_SYAXN_MGQZ
SYA@YYCJQ
SYAYYHGJZZS
SYAZOOADY
SYBEPXEHS
SYBGNJZ_D
S]YBSZ]M
SYBZJ_N_M
SYCAG]KXK
S]YCCZLFAP
sYCdC[[[7[[[6[[[
[@SYCFLZQ]D
_S[YCKLE[
S]_YDD_SS[
S_]Y_DHZ
S[YDN_SLG
_SY[DQAGB@LCCM
SYDSA_JGNKN
***S@Y]DY
]SYDYKQOAF
SY_]ECQ]
]S]YEDCG_
S_YEENNCDK
SY[EGGGBA
SYEGPNCN
s]Y]]eIX
S_YELL[N]EC
S[YEOLDG]KMO
sye]yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy)
syeyyyyyyyyyyyyyyyyyyyyyyyyyyy
SY[EZXKGM[B
]sYfgfGS
SY[FJLZZ
SYF]ZQMC]BGXYSDMQPJ
SygCegfG
syg	cgfG
SYGCXHYPCJL
SYGDNK_BCN
SY[GMYZZBK_QS
SyGqgQggfGSyGqx
]SYGQLYCXPG
SY]GQMMYEJ[
SYGQZXYJPMFK[HS
sYgWcgfG
SYG@XMBG
SYH_CXCPLXS
s)))YHGZE@D@]L[M
SYHXG]OJZXH]O
SYHY[LQQDK@GJL]
S@YHYYMH]H
S)))YH[ZL@G]BL[GLE
SYi1SYiaSYi
SYJAJ[[[
SYJAL_AO
S[YJCXAXPHYN@H
S_YJGNXYF
)))S@YJH[KHAHDHZ
SYJSYPHQPEQK
SYKA]NA[GSSY
SYKASSDQ
SYKBK[OPXMB_YE
SYKBNPB[_D_N_S
SYKDOZHQYEHO
SYKDPZOCE
S[YK]GZKGM_CM][Z[
SYKN][G_G]L
S]]YKXNH
S@]YLGAS
S@YLG][P
Sylk|qli|
SYLKSZBJX
SyllllllllmllllOllylmw
]S@YLQ]@DYF[]L[]@GZ]HEE
S|ylR|y@R|y
SYMASS]SH
SymbolicLinkValue
symbol is undefined
SYM[_DOCZ
SYMHCNLLJ
S_YMHDZJN
SYMLE_EADP]
SYMYNQ_@
SYNBN[DZ
SyncDSSResponseError
synchronous
synchronousLookupUris_
SYNCLOWFI
SYNCLOWFISAMPLEREQ
SyncProcessStart
syncquery
SY@NQ]X__QPX
syntax error
 Syntax error: 
SyntaxError
SyntaxError: 
SYN[[YSOY
[SYOBFDEOLH
S[YO[_EHLNSE
S@YO@ELt
 )))S@YOEM[
SYOHOCD_OEZ][
SYONOCCG
SY_OPZGL
S_YOYNK[PAXHL
SYOZ]F[C
S[Y][PYKXF
SY_QDLDB_@DL_GQZYNZ
SYQ_GPQQKG
SYQHMGJKANFC
S]YQMDON
SY[QMPAOHACJFMC
syqwsqpr
SYQXYF]XFGZXEHSJ
SyRpgppepq
S|yrR|ycR|yIR|y0R|y
SysAllocString
SysAllocStringLen
sysclean
SYSEACCO
sysenter
Sysenter
SYSFK_AZOJ
SysFreeString
sysio.IsPathAVExcluded() error: 2nd parameter must be boolean
sysio.RegKey
SYS]]JHN[PA
_SYSL[HJ
sysmarker
sysmodel
SYSN_PEB
SysProductName
SYS]PSZNF_
SysSerialNumber
@SYSSSS[CC[[[ZZQQ[R
@SYSSSS[CC[[[ZZQQ[RP
SysStringLen
SystemCacheFile
system cpu model is not supported
systemdiskfree
systemdisksize
SYSTEMDRIVE
system_file
SystemFileCache
systemfilecachefile
systemfilecachesize
SystemFunction036
System is not a vPro system
systemLanguage
systemmanufacturer
systemproductname
System.Reflection
SystemRegistryCache
SYSTEMROOT
SystemTimeToFileTime
SysVersion
SYSXS[SZKY
SY #"T"QLU'"#LPP"'L  9TLYP"9P"WRTWPS
S@YuCFKvMLZJ[@Y]@FG
s|yur|y8r|y
sYVpgppepqx
sYwubgfG
SYXD_EEN
SYXDHLSJ
SYXHZ]QC
[SYXJS]C
SYXJ]XPSS[ZJ
S_YXJZB_ASLN
SYXOKDS_
]SYXYBN[M
syy5syypI
s]Y]]y8_
SYYAKM]JBJQA]@
syyaryy9ryy
syyaryyEryy!ryy
SyyBSyy- yyKGyy
SyybUyyUUyyDUyy6Uyy
_S[YYBZCFE
SYYEQYZYND
syyErryy
]S[YY_[GFNAGJSB
SyygRyyGRyy'Ryy
syyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
SyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
syyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
SyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
SyyIMyyxkyy
syyiryy5ryy
syyiwyy|yI
S@YYL[]H[NL]FZ
S@YYL[ZL[_L[
SYY[MFCH
SYYNA[DO
SYYPCYOBF
SyypRyyeRyyLRyy:Ryy)Ryy'Ryy
_SYYQQC[DGQJJYHMNA
SYYSGGSZJLH
SyysRyy_RyyDRyy(Ryy
S|yYU|y9T|yYU|y
sYyy9x)x
syyy9yyymn
syyyixyyuyyy
syyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
syyYiyyzy
syyyqiyy
SyyyRyyaRyyVRyy3Ryy
SyyyRyyjRyy_RyyBRyy)Ryy
SyyyRyyYRyy9Ryy
syyyUyyy
S@yyyySSSSHAS
S@yyyySSSSKAS
S@yyyySSSSS
syyyyysy
syyy)yyyuyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyyyyyyyyy
syyy)yyyuyyy[yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
syyy)yyyuyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
syyyyyyy
syyyYyyyuyyy
syyyyyyyyyy2H
syyyyyyyyyy3H
syyyyyyyyyyyuyyyqyyyyyyyyyyy7
syyyyyyyyyyyyy9yy9W
syyyyyyyyyyyYyy
Syyyyyyyyyyyyyy
syyyyyyyyyyyyyyytyyy
syyyyyyyyyyyyyyyyyyyyyq
syyyyyyyyyyyyyyyyyyyyyyyyyyW
syyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyy7
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyy
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
Syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyy
syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy*F
S]_YYZDCAC@
[SYYZN[NFMDKJ[BXF_FQZ
[@SYZ@SKZ@SuZ@SgZ@S
[sy]Zsy"Zsy
SYZXQDBXCA
SYZ]ZPAD
SY[[[Z[[[Z[[[Z[[["[[[B[[[Y[[[
SZ6ypgppepq
sZ;9gAggG
s@@@@@z@@A@AAac
S"@z@@A@AAacoo
SZ_AFMJ[
	)))SZAJM
SZAKBSKB
s)))ZALL]
S)))ZALL]
SZAvA@Z]F[P
SZBNYMY[]SMS
SZBQJCN]
SZ@BZNBYDG_P
SZCDBXGDY
SZ]CJDHML
SZC[L__A[MJPPAHFKJL[
SZ[CZJYD
SZCZMPOXBC_XG
SZD@CHBYQZ
S]]ZD_CQSCAFC
@S_ZDDBL
SZdE[[[U[[[
]SZ_DG]D
SZDMKONMCG
SZDPHMLYX
SZEMNQ_NKP
S[ZFA@][HJDM
SZfllllllllmllllOllylm|TE
SZflYggGd[6
SZF@OH[ZNK_
SZGDQX@_
szgfGKfR
SZGGJDFJOS]OJL
SZ@GM]@H
S]ZG]QX[
SZ_GS[LQ
sZgSngfG*N
SZ_G_X_B
s)))Z]H[]
SZHA_KFNFO]Z[Z@O
SZHCK_AP
s)))ZHFAHFLHFEHFEHF
_SZHQGCG_KD
s)))ZJA]HZBZ
_SZJEHQNCLLQZKEJSQZ
S)))ZJF]]Z_@EL
szJhggfw
SZJXFLOZ@
_]SZKFSQA
SZKOL@NQM
SZ[K_QHZDG
SZ_KSXSNCHXDBGLXC
SZKZOQHM
SZKZZF]DPBSAQSNCMHHAC_
_SZLB]GK
SZ_LD]DZ
_SZ@LD[SSSQNM
SZLGHO[D
SZLH]AKCXQQZ[HZYS
SzllllllllmllllOllylm
SZ_LQHH[BH
SZLXS[FDY_
SZ]L]YFNJG
SZLZZCGQN
SZMAGA]CKAS
S-ZMaTrc
SZMB_]JO
SZMGGGQGMB
SZMKYHGS@
SZM[LFBF]FZJBNZDJ
[SZMZBDCHA_DZK
S_ZMZBQS
[[[S[[[z[[[N
SZNCLHFONE
SZNKOLP]]OCJ_]JSDYA_
SZNLENE_MAE
SZ@N_NHZ]M
_SZ[NNO_
SZ]NOJ@QGBS
SZNPL[AB
SZNPNXHK
S_Z]OBCASOB
SZOMZDEG_K
SZPA]NZH
SZ__P_DN
Sz@PdPEy7
sZpgppepq
Szpgppepq"'
szpgppepqV
SZPGXZE_[
SZPNJPCSG
SZPO]_[P
SZPPEAXL
S_Z[PPMYBQG
]_SZPYPOSS
Sz]QggfGv
SZQY_BMEPX
SZQZJ_P]P
sZRSSsSSS
SZSCMAZ_
SZSHFGEC
[SZSLKDOH
SZSMAONALCPZXXZQNDOY
SZSRSC[SSSS@S
SzSRSSSSS
@S@ZsScBS@YsS
sZSSS@S"4cDRS
SzSSSSSSSSS
SzSSSSSSSSSSSSSD
SzSSSSySSSSCSS
SzSSSSySSSS[SR
SzSSSSzSSSSzSSSSzSSSSzSSSSzSSSSzSSSSzSSSSySSSSySSSSySSSSySSSSySSSSySSSSySSSSySSSSxSSSS
sZsxagfG"e
[@SZS@[[YDKQSXQX
SZSYSXSHSJS
SZS@ZQO[Y
SztgmcgfG1
SZXBFFAD_
S[ZXDLJA
[SZXE_BBL_
_SZXOPOMHHKJH
_[]SZXP[YMNCAL
S]Z_]XXL
SZXZDGPPQGO
S]ZYAQZQ
SZ@Y@AZB@J
S__ZYGY]
S@]ZYKG_NGN]C_[AP
S@ZY_LFMO
[SZYLHHLZAP
SZ@YL[@Y
SZ[YMBJGY
SZYMDGEOAAYNXA[SXYD
SZYNC]PE
szytrzyYrzyArzy(rzy
SZYX@DX[
S]Z[Y]ZS
.SZz4Dyyy[[
SZZCFJESP
SZZNFY_YZX[Z
S[ZZNKX[GFPOB
SZZXJH_OY
  t     *
))t)))))
[[[	[[[t
[[[:[[[t
[[[|[[[t
_||||||||||||||t||||||
|||]|t||
||||||||||||||||||||||||||t
||||||||||||||||||||||||t
||||||||||||||||||||t:
||||||||||||||||||||t;
||||||||||||||||t
||||||||||||||t
||||||||||||t
||||||||||t
|||||||t
||||||t|
||||t|||||||
|||t[|||
t@@@@@@@@
t|||||||||
t|||||||||||
t|||||||||||||
t|||||||||||||||||
t|||||||||||||||||||||
t|||||||||||||||||||||||||||||||||||||||||||||||||
))T))))(
))T)))))
[[[:[[[ T
[[[:[[[T
||||||||||||||||||||||||||T
||||||||||||||||||||||||T
||||||||||||||||||||T:
||||||||||||||||||T
||||||||||T
||||T|||||||
T@@@@@@@@
T||||||||||||||||
__[T[__0[
t0-0UUqUU
t0-0UUqUUWpO"
t0-0UUsUU
t'02UUqUUdJ
t'02UUrUUW
t!09dUUfUU
t!09fUUfUU
t!09gUUfUU
t!09UUaUU
t!09UUaUU(I
t!09UUeUU
t!09UUmUU
t!09UUpUU
t!09UU|UU
t!09UU|UUu:h
T0_d][[[
t0deltats
t0deltatsc
t0dN[[[2
|t0dS[[[
T0gMjgfG
t0gTZLllllllllmllllOllylm
T0S?sr#.
t0unhaltedratio
t;0"UUKUU
||||||t|0w
t1'42UUyUU
t14!UUpUU
t199UUeUU
t199UUqUU
t199UUrUU
t199UU|UU
t1hllllllllmllllOllylmeC
T1kpgppepq
t1llllllllmllllOllylmInqEJ
t 1qV?Cm
t1@@@@@v@@A@AAac
T2B_73Xx
T2BX73XxeQLg9
t2llllllllmllllOllylm-R
t2sllllllllmlllLMO8) V8
T2@TBWI9
t2VllllllllmllllOllylmRTK
t2Vllllllllmlll]Y]]
T2@WDYUI	9T
t2xg?jgfGK
||t2||Z2||
T3_]07:D(
T3_]07:D8
t3@8u8u!H
t]3AAAACA@AIqAo
t3E	)|gfG
T	3F8qR9m
t3fD98t-H
T3gqgg	V
T3[jgAgg
t3KdV[[[
t3Kg?cgfG!
t3L7 dggw
T3llllllllmllllOllylm
t3llllllllmllllOllylmnl
t3lSSSSSSSSc[vlSSSS
t|]|||3Mt|
t3pgppepqm
T?3]Y]]F
||||||||||||||||||||t4
||||||t|4
|||t|||4
T4dM[[[c
T4Engine.Scan.CommandLineScan
T*4gqggD
T4llllllllmllllOllylm
||||t|||||||4N
t4Nd][[[
T[[[4vPdM[[[
||||||t|4w
||||||||||||||||||||t5
||||||||||||||||||||T5
T53 F'xD
t5@81t0H
T5bgulgfG
T5DdJ[[[
t5DdM[[[
T5dZ[[[P[[[
t5Epgppepq
t5gqggIV
#t5gqggj
T5gqggMy|
@T@[5H@@@@@n@@A@AAac
t5)mggfw
T||||||||||||||||||5O
t5_pgppepq
T5pgppepq
T5PRSSSSS
t5SRSSSSS
T5U5V5W5X5
T6_"1ggGN
t681UUqUU
t6:;!':9UUaUU
t69UUlUU
t69UUlUUkkn
t6;.dgfG
T6g7fgfG
T6gMkgfG
T	6gqggIJ_
t6L9!t1H
t6@@@@@@@@Lp@u
T(6RSW(4RSWs
T(6RSW(:RSWs
t||6t|e6t|
t6ufQugfG
t74!UUqUU
T	77cegfG
T*(((7((9
t7gCfgfG
T7g#egfG
T[[[	7hfA[[[K[[[J[[[
T7;llllllllmllllOllylm
t7pgppepq 
T7pgppepqs
t|]|||7pz|
t?:7UUqUU4UUuDtv
@[T(7VSWA]
t7:yxdyS
||||||t|8
||@?||t8|| 8||
t8DdW[[[
t@8E0yxx
t8gc-gfGJg
T8ggcgfG
T8gIegfG
t8llllllllmllllOllylm
||t8||S8||
t|]|||8tt|
	t8]xY||||O
t(8((]Y]]
||||||||||||||||||||t9
t|9Bt|!Bt|
t9bUUdUUO
t9cUUdUU
t|9dt|ket|
t9dUUdUU
t9fUUdUU
t'9g#kgfG
T9-Gkq.Jhggfw3.|q
t9gUUdUU
t9Kd_[[[
t9lUUdUU
t9mUUdUU
T9pgppepq
	;_T9Ppgppepq
!t|9?t|"?t|T"t|"?t|
T9U"THUAT'TUyx9x
T||9W|| W||
T9xx]Y]]:GX
||t9||Y9||p
@[T9YUK9
@_T9YUK9
t|9yxSi|
t9yyyyyy
t@@@@@@A@
t@@@@@@A@@
ta0occgfG
T@@A@4 RS
t(A86u#H9
T@@@@@@AA@
tAAAA7 3a
tAAAAAA@AAAAAC
TAAAAAA@AAAAAC
tAAAAAA@AAAAACm
tAAAAAA@AAAAACw
tAAAAA@AAAAAC
tAAAAA@AAAAACQ
TAAAA@AAAAAC
TAAAA@AAAAAC_
TAAAA@AAAAAC'5P
TAAAA@AAAAACf3
TAAAA@AAAAACH
TAAAA@AAAAACH[t
TAAAA@AAAAACO
TAAAA@AAAAACr
TAAAA@AAAAACy
 @@@@@t@@A@AAac
!@@@@@t@@A@AAac
.@@@@@t@@A@AAac
@@@@@t@@A@AAac
[@@@@@t@@A@AAac
tAAAACACAMqAX
@@@@@t@@A@AAacoo
@t@@A@AAacoo
tAAAAUPUUWUUeD
@@@@@t@@A@ACac
@t@@A@ACac
@@@@@t@@A@ADac
@@@@@t@@A@AFac
@t@@A@AFac
't.?.@.A.B.C.
TableAge
TableCheck
TableCreate
TableHook
table index is nil
table_info
tablename
table overflow
table_xinfo
@||tA||cA||@A||!A||
TaC!egfGg
t	AdL[[[
tAdU[[[h
@TAF@_sS[SS@XB_v
t@@A@; F[v
(TA|GDyy
TAgEggfG
tagfG@:3
TaggGs4l
	(TAgq@gfG
]Tagqgg!
Ta_gqgg?#
TAgykgfG
]T@@@@@@A@h Ea
]T@@A@h EZ
T@@A@h LN
t@@@@@@A@HpBZ
taHpgppepq
t@@@A@h QZ
taintEnabled
"TaintOtherProcess"
TaintOtherProcess
TAIOHKJMLO@O
TAlbgfG*wi
TALHML[Z
TAllllllllmllllOllylm"'
tamperprotectionexclusionsstate
tamperprotectionsource
tamperprotectionstate
taNgqgg#
@TA@O@AEac
Tapgppepq
t)))APYL[E@GB
@@@@@tA@Q@AAacoo
@tA@Q@CCac
-taQiaa]Y]]
-taQiaa]Y]][xY
targetaddress
targetdiskfree
targetdisksize
targetdomainname
targetdomainname_scrubbed
targetimage
targetimage_scrubbed
targetname
targetname_scrubbed
targetpath
targetpath_scrubbed
targetpid
targetprocesscmdline
targetprocesscmdline_scrubbed
targetprocessppid
target_scrubbed
targetusername
targetusername_scrubbed
targetusersid
targetusersid_scrubbed
tARSSSSS
taskmanager
Taskscheduler
TaskScheduler
]t|a]t|Qbt|pbt|gbt|
TaUaRaTaUaRaTaUaRaTaUa aTaUaRaTa
t|aUt|9Vt|
TaWXllllllllmllllOllylm
T[[[A_XdK[[[K[[[
tAxx]Y]]
tazg[ggfG
tazgqgg!
[[[t[[[b[[[
 T;@@@@B
T@@@@B@@@
tB6dJ[[[
tB6dL[[[G[[[x[[[s
t@@@@B@A@
T@@@@B@A@
T@@@@B@A@@
t;@@@@B@A@2 @D
]TB@A@2 @_D
TB@A@2 @e
]TB@A@2 @I
]TB@A@2 @J
]TB@A@2 @K
T@@@@B@A@2 @LJI
]TB@A@2 @M7
t@B@A@2 @N
t	@@@@B@A@2 @NW
]TB@A@2 @U
]T@	@@B@AAacoo
]TB@AAh @IUfo
t@@@@BAA@Lp@W
T@@@@BAB@
@@@@@t@@B@ACa
@@@@@t@@B@ACac
t@BA@@Ep@
T@@@@BA@@Ep@Gg
@@@@t@@B@AFac
T@@@@B@A@Hp@T
T@@@@B@A@Hp@WK
t@@@@B@BA2 @M
tBBBBBBB
TBBBBBBB
t@@@@B@@BHp@LIwS
@TB[BTdWBTxQB[@UWBU
@TB[BTdWBTxQB[YU_QM9
t@@@@B@@@cp@P7
@tBdB1B!B
[[[|TBdG[[[k[[[	[[[_
t@B@@@dp@GJ
 TBe[[[[
 TBe][[[
TB"e][[[9[[[
 TBeA[[[U[[[
 TBeA[[[w[[[u[[[
tB"eC[[[
 TBeC[[[E[[[
 TBeF[[[
tB"eH[[[
 TBeI[[[
 TBeJ[[[
tB"eK[[[C[[[
 TBeK[[[R[[[
[[[ TBeL[[[
 TBeM[[[e[[[
 TBeN[[[K[[[L[[[0o
 TBeV[[[U[[[M[[[(
tB"eW[[[
 TBex[[[
tB"eY[[[
 TBey[[[
 TBey[[[-[[[
TBEYrupxyxw
tB"eZ[[[
 TBeZ[[[
 TBeZ[[[O[[[
tB"eZ[[[q[[[
 TBeZ[[[q[[[
tBgiggfw
-Tbhggfw
t@@@@B@@@Hp@TR
@TBH@UBTBU
@TBJjTRSSBWjQRSS]WM9
||T)||B)||L
tBLA@Hp@L7
?tbllllllllmllllOllylm
@TBLLsBT
t?-@@@@@@B@Lp@c
t@@@@@@B@Lp@u
t)))BL@Z@L
TBmg]fgfG
Tb)mggfwG
TBM@ICL]Ai
t@@@@B@@@Np@D
T@@@@B@@@Np@I
T@@@@B@@@Np@J
@TBOBAB@
Tbpgppepqn
tbpgppept
t@@@@B@@@_p@J
TbQ[[[p[[[
tBSdQ[[[
Tbsi_Context_Create
Tbsi_GetDeviceInfo
Tbsi_Get_TCG_Log
Tbsip_Context_Close
#"''TBT3!@0
@TBT4EbZBTBY	@UxTDBT61@UPM9
t||Bt|9Bt|
@TBTA_LO
@TBTB[BTD
@TBTB[dUs
@TBTB[fQEyBTB[
@TBTB[fQEyQBTBVsSSS
@TBT:_BTUfABTr
@TBTBULA
@TBTBWgZBT@Wk
@TBTDfUs
@TBTEfUs
tBT@HWOBU
@tBtIeQEyQ(WSSW@]B]BtD
@TBTKgUs
@TBTL_7XBTs
@TBTLsgBBpD
@TBT(MSSW
@TBTPdVBTWdsBVBVD
@TBTPLC9
@TBTs3QSS|BZP
@TBTs[RSS9
@TBTsScSS
@TBTsSCSS
@TBTsSRSSd
@TBTsSScSeZBTsSSkSdKBTsSSPS
@TBTsSSRS
@TBTsSSSR9
@TBTTfQEyBTT
@TBT@UBT
@TBT@UBUUM9
@TBTUfQEyQBT[sSSS
@TBTULa9
@TBTULc9
@TBTULd9
@TBTULe9
@TBTULg9
@TBTULi9
@TBTULl9
@TBTULx9
@tBt@uxXp
@TBTVdUBT]We7ZD
@TBTWo)SSSE@UEBT|NV@VBV
t|b(u|fHv|j
@TBVBTeCBVBT
@_TBVsSQSS	eFQsKPSS9
@TBWBTLC9
TBWgNBVM9	@[B[A_
tbyte ptr 
[[[T[[[C[[[
tcBgqggQ
TcccLccacJc0
TcCCNCCCBACC
@tC]CJCBC0C
T]CCNCCCBACC
TCCNCCCBACC
TCCNCCCBACC.
;tCd_[[[
TCdG[[[O[[[
tcg?kgfG
tc	gqgg0LPW
TCgqgg7[
TCIBAR1AE
@TCJCAC0C
TcJdN[[[
tcL9ght]
T)))CLJ]
@tCmCcCfCFC'C
@t[cmJ@@@@@
||TC||PC||LC||HC||
tCpgppepq
TCpgppepqpd
Tcpgppepqq
TcubgfGz
TcWogfGO
tcZdD[[[
?_Td[[[['
Td[[[[[[
Td_[[[)[[[([[[
T)d3lsNp
Td][[[5[[[
td73sdqt
td7.edsN
(td7egfG:
TD7@VBTD7P
Td[[[[8[[[
Td_[[[8[[[?[[[
Td@[[[9[[[?[[[
[[[T__dA[[[
Td]AAAAAA@AAAAAC
TdA[[[f[[[e[[[
TdA[[[@[[[G[[[
TdA[[[I[[[
tDallllllllmllllOllylm
tdA[[[M[[[
TdA[[[m[[[
TdA[[[q[[[v[[[
TdA[[[R[[[
TdA[[[s[[[
TdB[[[ [[[
TdB[[[0[[[
TdB[[[G[[[
TdB[[[k[[[
TdB[[[k[[[g[[[
TdB[[[l[[[a[[[L
T)))DBM@[
TdB[[[q[[[
TdB[[[Q[[[L[[[
TdB[[[Q[[[W[[[P
@TD_BT9D9
TdB[[[V[[[
TdB[[[y[[[
tdC[[[][[[
;]TdC[[[
TdC[[[#[[[
TdC[[[;[[[
TdC[[[6[[[
TdC[[[7[[[
TdC[[[;[[[8[[[
TdC[[[8[[[
Td_[[[C[[[E[[[G
TdC[[[M[[[F[[[M
TdC[[[x[[[
Td[[[[d[[[
TdD[[[	[[[
?tDdA[[[
@TDdG[[[	[[[8[[[
tDdS[[[Y[[[v[[[
[[[td_dT[[[X[[[
TdD[[[u[[[;[[[@
TdD[[[v[[[n[[[
t;DdW[[[
t!DdZ[[[
TdE[[[8[[[
@TD@[E_E9XUD9
TdE[[[S[[[T[[[
Td_[[[E[[[z[[[z
[[[t?_dF[[[
TdF[[[5[[[
tdF[[[c[[[
TdF[[[D[[[
TdF[[[D[[[r[[[]
 TdF[[[i[[[b[[[
tdF[[[K[[[I[[[
!TdF[[[r[[[t[[[
TdF[[[S[[[Q[[[
TdF[[[t[[[
*tdF[[[y[[[
"TdF[[[z[[[t[[[
TdG[[[	[[[
TdG[[[?[[[
t;DgAggM
TdG[[[e[[[
TDgEjgfG2
TdgfG1|s
TdG[[[O[[[z[[[
(tDgucgfG
[tdgwcgfG
Td[[[[H[[[
TdH[[[-[[[
TdH[[[2[[[1[[[.
tdH9w@tNI
TdH[[[b[[[
TdH[[[c[[[e[[[
TdhFormatProperty
Td@[[[H[[[G[[[
TdhGetEventInformation
TdhGetProperty
TdhGetPropertySize
tDH@GvLGJ[PY]
TdH[[[h[[[
	TdH[[[n[[[
TdH[[[P[[[U[[[
tdH[[[r[[[
TdH[[[u[[[h[[[
TdH[[[v[[[k[[[
TdH[[[W[[[I[[[
tdH[[[z[[[o[[[
[[[t#]dI[[[
Td_[[[I[[[
TdI[[[)[[[
TdI[[[.[[[
TdI[[[a[[[
TdI[[[G[[[
TdI[[[G[[[E[[[
TdI[[[H[[[
TdI[[[L[[[E[[[
TdI[[[m[[[
tD_IMRllllllllmllllOllylm
TdI[[[P[[[V[[[
TdI[[[t[[[k[[[
TdI[[[u[[[h[[[J
TdI[[[V[[[U[[[
TdI[[[W[[[
TdI[[[z[[[
tdJ[[[:[[[
Td_[[[j[[[
tdJ[[[?[[[0[[[-W
TdJ[[[2[[[([[[
TdJ[[[A[[[@[[[
TdJ[[[B[[[F[[[
TdJ[[[i[[[n[[[
TdJ[[[S[[[D[[[
TdJ[[[t[[[
TdJ[[[u[[[
TdK[[['[[[
TdK[[[|[[[
TdK[[[1[[[
TdK[[[3[[[
tdK[[[5[[[.[[[
TdK[[[6[[[
TdK[[[7[[[
TdK[[[9[[[
TdK[[[G[[[
tdK[[[I[[[
Td_[[[K[[[J[[[V
tdK[[[k[[[
tdK[[[M[[[
TdK[[[M[[[@[[[
TdK[[[n[[[
TdK[[[Q[[[T[[[#l
TdK[[[R[[[
TdK[[[u[[[
TdK[[[V[[[I[[[
TdK[[[w[[[
TdL[[[2[[[
TdL[[[4[[[
TdL[[[h[[[e[[[A
tDllllllllmllllOllylmM
TdL[[[-[[[#[[[Q
TdL[[[Z[[[s[[[:
TdM[[[#[[[
tdM[[[3[[[#[[[(
tDMdM[[[o[[[
TdM[[[H[[[N[[[
TdM[[[n[[[
TdM[[[Z[[[
tdM[[[z[[[h[[[
[[[;.TdN[[[ 
[[[T[[[D[[[N
TdN[[[a[[[
t||||||||||DO
[[[?(TdO[[[
TdO[[[7[[[
TdO[[[9[[[
TdO[[[E[[[
td_[[[O[[[h[[[
tdO[[[|[[[k[[[l
TdO[[[u[[[
t|dOx|COx|d
TdO[[[y[[[
TdP[[[8[[[1[[[:e|dM[[[?[[[
tdPdU[[[
tdpgppepq
Tdpgppepq
TdP[[[J[[[
TdP[[[Q[[[
TdP[[[r[[[q[[[I
TdP[[[s[[[q[[[
TdP[[[W[[[
TdQ[[[	[[[
TdQ[[[-[[[
TdQ[[[4[[[
TdQ[[[d[[[
[[[t!	dQ[[[E
TdQ[[[e[[[d[[[
TdQEyBWLY
TdQ[[[k[[[
TdQ[[[K[[[
TdQ[[[M[[[
|TdQ[[[][[[P[[[
tDQpgppepqV
TdQ[[[p[[[v[[[
TdQ[[[R[[[W[[[
TdQ[[[u[[[
TdQ[[[U[[[
Td@[[[Q[[[V[[[
TdR[[[:[[[
TdR[[[1[[[
TdR[[[E[[[y[[[
TdR[[[F[[[y[[[k
TdR[[[@[[[G[[[
TdrgAggS
TdR[[[k[[[m[[[f
TdR[[[l[[[
TdR[[[R[[[Q[[[*
TdR[[[z[[[
Td@[[[#[[[ [[[S
Td][[[][[[S[[[
TdS[[[-[[[
TdS[[[9[[[
Td[[[[][[[S[[[ d
TdS[[[e[[[
TdS[[[P[[[
TdS[[[t[[[
]TdS[[[T[[[K[[[I
tdS[[[V[[[
T[[[[[[dT[[[
TdT[[[1[[[
TdT[[[6[[[
TdT[[[7[[[6[[[
TDT agent has aborted
TDT agent is already running
TDT Agent is already running!
TDT agent is not functional
TDT Agent is not in stopped state!
TDT agent is not running
TDT Agent is NOT running
TDT Agent is NOT running!
TDT agent requires administrator privileges.
tdt_cm_g2010.profile.dbvar
tdt_cm_g2010_rfc.model.bin.dbvar
TDT driver access denied
TDT driver not loaded
tdt_dt_class_value_t
tdt_dt_feature_value_t
tdt_dt_split_node_t
tdt_dt_threshold_value_t
T||dT||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||dZ||
TdT[[[h[[[
tdtinfojson
tdt_manifest.
tdt_manifest.detector_types
tdt_manifest.profile.dbvar
tdT[[[O[[[
tdt_profile
T||dT||QT||:T||#T||
tdt_rsw_g3010_normalizer.model.dbvar
tdt_rsw_g3010.profile.dbvar
tdt_rsw_g3010_rfc.model.bin.dbvar
tdt_rsw_g3020_normalizer.model.dbvar
tdt_rsw_g3020.profile.dbvar
tdt_rsw_g3020_rfc.model.bin.dbvar
tdt_rsw_g303x_ecore_norm.model.dbvar
tdt_rsw_g303x_ecore_rfc.model.bin.dbvar
tdt_rsw_g303x_pcore_norm.model.dbvar
tdt_rsw_g303x_pcore_rfc.model.bin.dbvar
tdt_rsw_g303x.profile.dbvar
TdtStartEngineBlock
TDTSTATUS
tdTUZLm[
tdt_version
TDT violation details: 
||||||||||||||||Tdtxxt||||t|xx
tdU[[[.[[[
]_TdU[[[
TdU[[[	[[[
TdU[[[_[[[
TdU[[[2[[[
@TD@UAM@VBV
TdU[[[B[[[
TdU[[[c[[[
TdU[[[I[[[
TdU[[[L[[[
TdU[[[m[[[
TdU[[[n[[[
tdunwskhpan
TdU[[[O[[[C[[[
TdU[[[T[[[L[[[
'TdU[[[Z[[[
TdV[[[b[[[
TdV[[[V[[[J[[[
TdV[[[V[[[N[[[
 TdV[[[Z[[[!
TdV[[[Z[[[
tdW[[[ [[[
TdW[[[	[[[
TdW[[[:[[[
TdW[[[|[[[
TdW[[[6[[[
TdW[[[A[[[r[[[
_Td"wgKegfGt
TdW[[[H[[[
tdW[[[I[[[
TdW[[[R[[[O[[[
TdW[[[v[[[t[[[
TdW[[[W[[[
TdW[[[X[[[S[[[
TdW[[[Z[[[
TdX[[[ [[[
T_dX[[[@[[[E[[[
tdx[[[G[[[
TdX[[[G[[[E[[[E1
TdX[[[H[[[M[[[
TdX[[[J[[[
TdX[[[M[[[L[[[
tdx[[[r[[[p[[[?
@TdX[[[t[[[m[[[
TdX[[[W[[[
tdX[[[z[[[s[[[
Tdy[[[:[[[
TdY[[[:[[[
Tdy[[[7[[[
Tdy[[[8[[[3[[[
t@DYFZZ@K@ELJ
tdYgqggpt
@TDYkCRSS[Kl
TdY[[[m[[[
tDYpF	!zL
TdY[[[][[[S[[[
tdz[[[:[[[
Tdz[[[	[[[
Tdz[[[][[[
)TdZ[[[;[[[:[[[
TdZ[[[	[[[
TdZ[[[([[[
 TdZ[[[9[[[?[[[.
TdZ[[[A[[[
TdZ[[[C[[[
Td#;ZdJd
tdZ[[[f[[[
TdZ[[[h[[[o[[[
TdZ[[[J[[[
tdZ[[[M[[[
Tdz[[[M[[[	[[[
Tdz[[[P[[[A[[[
TdZ[[[S[[[
Tdz[[[s[[[t[[[
tdz[[[T[[[K[[[q
TdZ[[[U[[[I[[[
TdZ[[[v[[[
TdZ[[[V[[[
TdZ[[[W[[[
T[[[|[[E
te0llllllllmllllOllylm
	t|e6t|M6t|
te7fgfG@
'te7Kpdq
TeA[[[F[[[b[[[9ELdJ[[[E[[[t[[[
TeamIdentifier
TeA[[[|[[[s[[[
tE@@BBh Qw
tebgqggh
#te?Bz9t#te?
:*teC[[[
TeC[[[T[[[I[[[
teD[[[4[[[*[[[
[[[t?EdE[[[
te-dO[[[
|t||EDs0DG
]TEdU[[[1[[[
TEdx[[[D[[[
T)))EFJHE
Teg7bgfG
tEgqgg6a|
tEHAZ[HD
t|eHz|eNi
TeK[[[F[[[D[[[
teK[[[R[[[
t[[Ek[[wj[[
TE_kyQSSAaLY
TeL[[[1[[[
(TeleDisk)
TelemetryAssert
TelemetryAssertDiagTrack
TelemetryController
telemetryerrorscount
Telemetry_HOSTNAME
telemetryonly
TELEMETRYONLY
Telemetry_PATH
Telemetry_QUERY
Telemetry_REFERER
TelemetryThrottle
Tellllllllmlll]Y]]
TELMCHAKBEHSGNQDXZBQ
TeL[[[O[[[
Te((mdCB
TEMOMggfG
template
template-parameter-
temporary storage cannot be changed from within a transaction
temporary table name must be unqualified
temporary trigger may not have qualified name
temp_store
temp_store_directory
teM[[[Z[[[e[[[q
tEngine.Scan.LSPScan
teO[[[m[[[c[[[
	#te?oooo
"#te?oooo
#te?oooo
*#te?oooo
.#te?oooo
|[[[:*teP[[[
TePE9yUL_9
tEpgppepq
T||eP||LP||CP||
TeP[[[T[[[
[[[:*teQ[[[
teRESMGR_Poststartupscan
TeR[[[H[[[
teR[[[k[[[
terminate
TerminateProcess
TerminateThread
TerminationTime
TestDetection
test failure
TestHook
testsigningstate
TestTrigger
"#te?#te?
#te?#te?
#te?#te?(
.#te?#te?
#te?#te?0F
#te?#te?Bz9t#te?
#te?#te?Gd
.#te?#te?Gd
"#te?#te?k
#te?#te?*K
#te?#te?m
"#te?#te?oooo
#te?#te?oooo
*#te?#te?oooo
.#te?#te?oooo
#te?#te?r
#te?#te?S
.#te?#te?S
#te?#te?#te?
.#te?#te?#te?
.#te?#te?#te?!
.#te?#te?#te?Gd
#te?#te?#te?oooo
'(#te?#te?#te?oooo
.#te?#te?#te?oooo
#te?#te?#te?S
#te?#te?#te?#te?
.#te?#te?#te?#te?
"#te?#te?#te?#te?oooo
#te?#te?#te?#te?#te?Gd
#te?#te?#te?#te?#te?oooo
#te?#te?#te?#te?#te?#te?
#te?#te?#te?#te?#te?#te?#te?#te?
'(#te?#te?#te?#te?#te?#te?#te?#te?
.#te?#te?#te?#te?#te?#te?#te?#te?
'(#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?
#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?#te?oooo
#te?#te?#te?#te?#te?V(
TeT[[[G[[[
)))tEvEiwuQ
@TE@VEYEW
teW[[[D[[[
@TE@WEQL
TeW[[[i[[[
;TE X 	lE X
text file busy
textrekey
tey[[[9[[[
t'Eyyyyyy
.Tez@@A@h LS
@TE@zE@LBTU
;)Tf_[[[
Tf0 pgppepq9b*QE
t'f9]0t!
t:f90t5H
t@@@@@:@@F@ACa
Tf_[[[a[[[g[[[
TFagfGTi
TfA[[[t[[[k[[[Y
tfB[[[C[[[
TfB[[[c[[[
T"FbgfGu
TfB[[[k[[[i[[[
TfB[[[M[[[
tfB[[[q[[[v[[[L
tfcbgfGCc
t.fD93t(
t[fD98tUH
TfdVU-ddDDf
TfF[[[c[[[e[[[xk
TffGG-xTgqgg
TfF[[[w[[[v[[[
TfgfG|1o(gqgg
TFggfGW"x
T)))FGJE@JB
tFgmjgfG4
TfG[[[v[[[
TfH[[[|[[[
t)))FKCZALEE
tfK[[[M[[[
TfK[[[p[[[
-TfK[[[V[[[@[[[
tfL[[[ [[['[[[
tfllllllllmllllOllylm
TF-llllllllmllllOllylm
TfllllllllmllllOllylmj
T)))F[ML[
tfM[[[x[[[
TFNgqggIk3D
tfN[[[h[[[
t||||||||||FO
t)))FPB@JD
TfP[[[o[[[n[[[u
TfQEyBYT
tFQllllllllmllllOllylm
TfR[[[7[[[
TfR[[[A[[[@[[[
TfS[[[r[[[j[[[H
#*TfT[[[
TfT[[[b[[[
TfU[[[@[[[
T||fU||OU||;U||
TfV[[[N[[[
TfW[[[f[[[
TfX[[[f[[[
TfX[[[T[[[
tFxx]Y]]
TfY[[[3[[[
TfY[[[f[[[
TfY[[[P[[[
TfY[[[q[[[
TfY[[[r[[[
tfZ[[[C[[[z[[[
TfZ[[[i[[[
tF[[[Z[[[K[[[
tF[[[Z[[[K[[[G
TfZ[[[n[[[
Tg)2gfGx
Tg3dgfG]
tg5gggGKv
Tg5kgfGS
Tg7egfGZ
tg7igfGg
Tg9cgfGO
tg9egfG	)
t g9ggfG
tgaegfGc
T;gAfgfGX
Tg]AgfG|
tgAkgfGu
TgA[[[N[[[
TgaPgfGe
tGB@A@2 @B
Tg-bgfG8
Tg;bgfG	M6
TgCagfGi
TGCCNCCCBACC
tgcdgfGr
tgcfgfGm
tgCfgfGO
Tg'cgfG8
tg-cgfGK
T_GCgOM[G
tg@[[[d[[[
;tg)dgfG
;tgEcgfG
(TgeigfG
:tgEkgfG
t)))@G_FBL
tgfG-@cOgqgg
t_g?fgfG
tg	fgfG#
Tg-fgfG4
tgfG"fMNgqgg(
?tgfG[Gn.gqgg
tgfGgq	3gqggM'
tgfGGy85gqggf
tgfGH-fWgqgg
T:)gfGIJk
tgfGIrQFgqgg
tgfG)]L-gqgg
TgfGnlpwgqgg
TgfGo3;@gqggqUW
tgfGok9?gqgg)7g
tgfGrpr-gqggX
tgfGS8bBgqgg
(TgfGsp6
tgfG;u3tgqgg
tgfGY*|ugqgg
t)))G@FZHJ
Tg][[[g[[[
tGgAgg-Gd
TggcgfGh
Tg]'gfG?
Tggfggw]
TggfGh6O
tggfG :P
Tg[ggfGhV
TgggfwSE
tggGZGH#]Y]] 
TgGhgfG0
#TggmgfGM
tggngfG@ve
tggogfGO;Q
T	-ggoggw
t"Gg#pgfG
Tg|gqggY
tggWfgfG
tgG[[[y[[[
T]GGYPJwG
_TgIDgfG
tgidgfGGu
t-g#kgfG
[Tg;kgfG
T#g'kgfG
Tg!kgfGC
?Tg_kgfGD
tg]kgfGk
tg;kgfGK)
tg)kgfGn
t?g]kgfG@sskgqgg
TgK[[[y[[[
TgllllllllmllllOllylm[T-;J
tgMagfGzAy
?TgmcgfG)
TgMdW[[[
tGmggfwj
TgMlgfG(
TgOcgfGq
t'godgfG
TgO@ffG:7
tgO[[[G[[[E[[[
|tgooggG
t@@@@gpP@@@@@
tgQ3ggG!
TGQagwqgfG
TgQEyABM
)TgQfgfGZJ
t	gqgg0SP
)tgqgg1'
T#gqgg1o
tgqgg3H(
Tgqgg5'R#
Tgqgg5rb
Tgqgg6.M
tgqgg7F"
tgqgg8N@
Tgqgg[8Xz
Tgqgg9:X
TgqggAfR3
tgqggBFTS
tgqgg*)C
TgqggcnuD
TgqggcnuD8
tgqggcnuDd
tgqggCxU
t#gqggda
#t[gqgg.E
!Tgqgg-e
[[TgqggE
'TgqggELyv
T;gqggg.
Tgqgg'G8i
tgqgggOV
*tgqggGq
T*gqgggyKh
tgqgg]H@
TgqgghSa
tgqggi*"
Tgqgg"i8
t!gqgg?ItD
tgqggj"@
 'tgqggJ
T"gqgg|jf
_tgqggK?
_Tgqgg#k
tgqgg:L)
Tgqgg:L)
T.gqggL4
TgqggLQ9Y
-t-gqggm
tgqgg(!!m
tgqgg.nPV
tgqggNu#
]tgqggO)KR
|TgqggPE
Tgqggqbx
tgqgg;[r
Tgqggr@g
T(gqggRS
tgqggspS
tgqggTbX
TgqggUBQK
TgqggW5!
Tgqgg'Wgj?
Tgqggwy54
tgqggXB!
TgqggXb F
T|gqgg-Y
 Tgqggy3tB
#TgQkgfGo
TgqllllllllmllllOllylm
tg;QXwbM
.tg_RgfG'
tGRy!56Ve
"tgsrgfG-
tgUdgfG0c
tgUegfG"
tgUggfGr
Tgugggw.q#8
T.gUkgfGDeg
_TGVaggwI
t?gwcgfG
@tgWcgfG
tgWdfilter missing in PspCreateProcessNotifyRoutine
TgwegfGU
tgWkgfG(
Tg?Ws3QSSg7WV
tgWwgfG	
tgwwgfGy
tgYdgfGuHb
tgyRgfGs
TGyyyyy9o9yyy
t@GZ]HEE@GN[FF]B@]
t@GZ]HEE@GNKHJBMFF[
th@@@@@@@@
_ t:H;_(
TH@@@@@@@@
t|H1y|p2y|
T[[[H4jey[[[
Th;7vgfG3
t|H9t|79t|(
t*H9Y(taL
T_H[ASCQY@MNSA
TH@@@@B@A@
)))T_H[BLPZ][
t]HBLZLH[JA
TH@@@@@@CAap@S
t_H[CAZHCHZMM
thcCCNCCCBACCa2
t)))HCHQ
t_H[CHZBMGEG
T)))_H[D
T@hD704]0
T_H[DDOPSM
T_H[DE@_[L
t[[[#-hdR[[[
The argument is not a handle
The complexity of matching the regular expression exceeded predefined bounds.  Try refactoring the regular expression to make each choice made by the state machine unambiguous.  This exception is thrown to prevent "eternal" matches that take an indefinite period time to locate.
  The error occurred while parsing the regular expression: '
  The error occurred while parsing the regular expression fragment: '
the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers
t)))HEL[]
tHEMIDA :  
tHEMIDA 9  
the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers
the "." operator
The repeat operator "*" cannot start a regular expression.
The repeat operator "?" cannot start a regular expression.
TH@@@@@f@@A@ACac
T_H[FKCZALEE
t_H[G@JLCAFGLE]FG
T_H[@GMLQ
t_H[GQBCHGZF@MGMGM
tHgqgg4U?
Thgqggey
__thiscall
(This file must be converted with BinHex 4.0)
This file was removed because it contains potentially harmful or unwanted software that can affect your privacy or the security of your computer.
This function cannot be called on a default constructed task
!This program cannot be run in DOS mode.
this_sigattrlog
this_sigattrlog not available
T_H[JFML
T_H[J_OC@CCJBK
T)))_H[K
T_H[KEFK
T_H[KJKG]G
T_H[KLHDKFQY[FO@]ELZZ
tH]]LDY]@GN]F@GCLJ]YAY@GOF
tHllllllllmllllOllylm
tHllllllllmlllqMO8) V)
-tHlyyxk;8xK
-tHlyyxl;8xK
THMHZOMZHZH
t)))HMMHGGF]
t)))HMMO@LEM
t)))]H[NL]
T)))]H[NL]
T_H[PEEHCPY_
t|hpy|Mqy|L
ThrdMgr:WakeInOrder
Thread32First
Thread32Next
thread event
threadid
.thread_pool_num_cpus_per_thread
 threads
.threads
threads and thread_pool_num_cpus_per_thread cannot both be specified!
ThreadThreatReport
ThreadTime
threatadvice
threatadviceinfoid
threatcategory
threatcontext
ThreatDetails
ThreatDetectionFastRemediationFailure
ThreatDetectionFastRemediationSuppressed
ThreatDetectionNoResourceSuppressed
ThreatDetectionStarted
ThreatFileManipulation
threatFound
threathashevent
THREAT_HISTORY_CATEGORY_ASR
THREAT_HISTORY_CATEGORY_NONE
THREAT_HISTORY_CATEGORY_NP
threatid
ThreatId
ThreatID
threatidex
ThreatLatent
threatmgr
threatname
ThreatName
ThreatNotFound
threat_resources
threatseverity
ThreatSeverityDefaultAction
ThreatTracking
threattrackingid
threshold
Threshold
Throttled
.throttle_reports
thstndrd
t'H;_(t!H
Thumbnailhandler
thumbprint
[thunk]:
Thursday
thWRSSUs
T_H[YH[]Z
t|(Hy|jIy|
TH]YKMFD[K_NOCB@_
T_H[@Z][
T_H[ZHMM[
T_H[ZJ[@Y]
tHZZPZ]LD
TI13XQD9
Ti7gqggp
t|i7t|R7t|d
ti8]egfG
#t|i8t|R8t|@
Ti@@@@@@A@? EG
t-IdR[[[
t"I	EhE3
tifiegfG
Ti!g5jgfG]@
tIgAfgfG
tigqggKXg
t|iHz|iNm
[[[TiKd[[[[A
Tikicjkikjinikc
Tikihknjnjiiion
Tikimjjiliknhoi
Tikkcjkikjiiikc
Tikkhknjnjjnion
Tikkmjjilikihoi
TILKKrxoy
[tillllllllmllllOllylm
tIllllllllmllllOllylm
@TIllllllllmllllOllylm
tiM9p tcI9
timeDateStamp
TimeDateStamp
timed out
time series analysis
timestamp
TimestampChain
timestampchainresult
.timestamp_delta_ms
timestamptype
timestampuint
TimeTToFileTime
time_update_service
(TinyProg)
t||||||||||IO
t|]It|IHt|h
T||iU||MU||7U||
T_[j4ZSS[BTn
tj@8yPuI
t@@@@@j@@A@ADac
tJAFFZLFY
tJANvM@[
tj@@@@@@B@cp@S#
@tjCgfG:U
[[[TJ;dQ[[[
[[[t|JdT[[[w[[[
TJEEEEEEEEEEEVi
TJEHZZML[@_LMGLQ]LGMZML[@_LMvG
TJFDFKCLJ]rv
tJFFB@LvGHDL
TJFGO@NLQ][HJ]@FGOH@ELM
TJgooggG
tJgqggo-
TjgUkgfGwZ
t)))JH[]FFG@Z]
')))TJH]JA
)))TJH]JA
:)))TJH]JA
;)))TJH]JA
TJH]JARDL]AFM@GOF
TJH]JART
TJH]JARTT
TJH]JARTT@GZ]HEErZPZ]LD
TJH]JARTTTJH]JART][PRZ][@GNXXXXXX
TJH]JARTZ]H[]
||tJ||[J||
tjllllllllmlllLMO8) V8
t[JllllllllmllllOllylm
TjllllllllmllllOllylm
TJllllllllmllllOllylmOo
t'JNHgfG
TJOgmogfG
[[[T[[[J[[[[Rf[[[Y[[Z[[[
]||tj||Tj||
tjvgfG*1
[[[tJXdU[[[
TjxLCtygv
tj@@@@]Y]]
TJ@YAL[J
't!jYg_cgfG
[[[t[[[k[[[
Tk@@@@@@B@Lp@S
@tKBtcpK9@_BtD
[[[Tk|d_[[[
TKdH[[[9[[[
TKdI[[[v[[[
tKdV[[[6[[[
tK@]EFJBL[FB
tK@]EFJBL[@ZGF]@GZ]HEELM
t|ket|0et|
t)))KF[ML[r
tk!g-egfGR[
@TkJQSSBTL
T[[]K[[ K[[
])))TK[LHB
TKllllllllmlll]Y]]
tKlSSSSSSSSSSSSSSSS
|TKmggfw
tKmggfwC
t||||||||||KO
TKP]LrtB
TKP]LrtY@JLZLJFG]LG]
:t|k;t|(
tkt7uxYX
t|k:t|L:t|h
t|k;t|S;t|
@Tk:WSSUD9
@TkXRSSTD
@TkYTSS]W
|||t|||||||||||l||||.
t|||||||||||||||||l
'||t:||L:||
Tl-5jnSSSSSSSSa
t?L5]llllllllmllllOllylm
TL8g_mgfG
t:L97t5D
TLaJhggfw
T?LALBLCLDLELFL@LHLILJLGLLLKLNLOLPLQLRLSLbK
t)))]LBGFEFN@
t)))]_L[BZM@ZBH[
TLC13M13XUsSS
TLC3XBZD
TLC73M7TsS
@TL:@CBTL:a
TLC	TH72T
t	LdF[[[q[[[
[TLdU[[[
T'Ldz[[[#[[[
t)))[LEH]@FGZA@Y@M
tLE-llllllllmllllOllylm
T)))LE@ODH@GvJFDDHGM
TLEZLLrCO
)))TLEZL@O
TLEZLRAFZ]
TLEZLRG]_
TLEZLR_H[EFJH]A[LO
TLEZLRHEL[]
TLEZLR_H[H
TLEZLR_H[MGQ
TLEZLR@JFG]H@GL[
TLEZLRJLE
TLEZLRJZO_O_
TLEZLR]LDYQ
TLEZLRLJAF
TLEZLR@O
TLEZLRON
TLEZLROYEP
TLEZLROZYE
TLEZLR][PR_H[F]MDGZ
TLEZLRrKP]Lrtt
TLEZLR@SH
TLEZLRY[@G]
TLEZLRYH]A
TLEZLRZFMJ
TLEZLRZ][@GNvFOvCZFG
TLEZLRZJ[@Y]]LQ]
t)))L[[F[DZN
T]LFKCLJ]
TlgAggregateSummary
__TlgCV__
TlgecgfG:D?
t][L_GFJ
t][L_GFJr
tlgIpgfG
tLGJ[PY]LMJFDDHGMZ
T-LgMggfG
TLGMRY[@G]ZT
TLGMv[LM@[LJ]
t|Lgqgg)
tl;gqggctu
tlH9;tgH
)))TL_HE
tL_HErA]]Y
TL]HGFZ[LYD@
t)))[LHMvK@GH[PvZALEEJFML
t)))LJAF
TLjeXTLs3L
tLJg'egfG
@_TLK9	@VB_
TLkicgfG
t||l||||||||||||||||||||||||||l
tllllllllllllxMO-
)tllllllllmllllOllylm
?tllllllllmllllOllylm
|tllllllllmllllOllylm
t'llllllllmllllOllylm
t@#llllllllmllllOllylm
t_llllllllmllllOllylm
tllllllllmllllOllylm
tllllllllmllllOllylm]
tllllllllmllllOllylm|
!TllllllllmllllOllylm
(TllllllllmllllOllylm
)TllllllllmllllOllylm
:TllllllllmllllOllylm
[ !TllllllllmllllOllylm
]TllllllllmllllOllylm
_(TllllllllmllllOllylm
_TllllllllmllllOllylm
T	llllllllmllllOllylm
T)llllllllmllllOllylm
T|llllllllmllllOllylm
TllllllllmllllOllylm
TllllllllmllllOllylm"
TllllllllmllllOllylm-
t)llllllllmllllOllylm0
TllllllllmllllOllylm2
tllllllllmllllOllylm3j
TllllllllmllllOllylm3V
tllllllllmllllOllylm7Mr
T"llllllllmllllOllylm7.X
tllllllllmllllOllylm9
tllllllllmllllOllylm *9F
TllllllllmllllOllylmd
TllllllllmllllOllylmD
tllllllllmllllOllylmE_
TllllllllmllllOllylmE
TllllllllmllllOllylmEF
tllllllllmllllOllylmf
TllllllllmllllOllylmf
tllllllllmllllOllylmftk
tllllllllmllllOllylmi
TllllllllmllllOllylmj
TllllllllmllllOllylm[k
T;llllllllmllllOllylml
tllllllllmllllOllylmNLnLGM
TllllllllmllllOllylmo
tllllllllmllllOllylmoo:
tllllllllmllllOllylmP
tllllllllmllllOllylmr
tllllllllmllllOllylmT
TllllllllmllllOllylmt7
;TllllllllmllllOllylmu_-
TllllllllmllllOllylmu
TllllllllmllllOllylmv
tllllllllmllllOllylmV(U y
?tllllllllmllllOllylmw
tllllllllmllllOllylmWh
tllllllllmllllOllylmWK
TllllllllmllllOllylmx
tllllllllmllllOllylmY
TllllllllmllllOllylmY
tllllllllmllllOllylm;YM
tllllllllmllllOllylmyP
TllllllllmllllOllylmYzn|D
tllllllllmlll]Y]]
tllllllllmlll]Y]];
]Tllllllllmlll]Y]]
T[llllllllmlll]Y]]
Tllllllllmlll]Y]]
t)))LLQLJ
t[L_L[Z@GN@GJF[ZF
T)))[LNHMM
t)))[LNZ_[
T@@@@@@@@Lp@
tlpgqgg[
t@@@@@@@@Lp@I
TlPllylm
Tlppgppepq
t@@@@Lp@t
T[[[L]QdP[[[K[[[
t)))LQLJ
T)))LQLJ
tLQLJJFML@GDFM
#)))tLQYEF@]
tLQYEF@]@GNMFGL
TlsAlloc
TlsGetValue
TlSPSSTK
TlSQSSBIT
TlsSetValue
tlSSSSSSSS03mnSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
TlSSSSSSSSSSSSSSSSSSSS
t|L:t|5:t|@
|T!LTLgfw
T|||l||tT||||||||||
t|lty|Kty|
TlUllylmeKo
tlv buffers
tlv events
tLvgqgg6
Tlxxxyxpy
t|L*y|8*y|
TLYakT9K9	[
T)))[LYEHJL
t|||ly||v|||
@T	lz#@@@@B@A@@
TLZBH[SLK
T_L[Z@FGZ
t[LZ]F[LMFGL
T[LZYFGZL
t[[M[[[_[
||Tm||||||||||||||||||||||
t|m0t|V0t|t
	t|M6t|16t|
TM72XBYD9
t---m9Y.
tm@B@@h N@@@@@
[[[T?MdA[[[b[[[a[[[
TMd@[[[f[[[d[[[
tMd][[[n[[[l[[[.
TMdZ[[[E[[[
tMFgqgg4
TMFJFYLGLM
tMG]A@[]LLG
t[[[mG"eN[[[
t)mggfw!
t)mggfwk4
T!mggfwl
tMg	kgfGy:
]Tmgqgg.
Tm:gyggfG
t)))MH]H]PYL
T MHxyxsy
[[[TMKd[[[[
|||||||tM")||||L
tMllllllllmllllOllylm
tmllllllllmlll]Y]]
[[[tMMdG[[[
t)))MMFZJFDDHGMZ
]tMmgfGy'O
T]MollllllllmllllOllylmG0;
tmpgppepq
TM	pgppepq
TmSllllllllmllllOllylm
tmSRSSSSS
tmSSSSSSSS
t.mSSSSSSSSSSSSSSSS
TmSSSSSSSSSSSSSSSSD
TN0#Gfggw
t@@@@@n@@A@AAac
tnD8gEtZH
tND;F(sHH
t;NdK[[[
tNdY[[[L
[TNEFEncoded]
[TNEFMsgAtt]
[TNEFMsgBody]
tNF][FF]
tng1dgfG
T*ngfG@!
tNG@MFJGL
t*Ng'pgfG
!TNgqgg*
t)))NL]FKCLJ]
TnllllllllmllllOllylm
TNllllllllmllllOllylm
tNllllllllmllllOllylmM
TnllllllllmllllOllylm@N
TNSPUgwdgfG
TnSSSSSSSSSSSSSSSSj
TnWrlgfG
TNx)qcu7
TNZgqggY
"TO5bgfGd
TO8xgfG|
tobesignedhash
t:Od@[[[
" to data failed
toDateString
t]OdZ[[[
)))tO@EL@GZ]HEE
to_error
toExponential
tOf;1tJH
t)))OF[LHJA
TOF[LHJA
T)))OFQ@][LHML[
tOf;:tJH
t)))@OGF]O@ELZPZ]LDFKC
Togqgg9)
TogqggBGK
TogYggfG
tOHUShUCBU	f
tokenelevation
token_elevation_type
tokenelevationtype
TOKEN_ELEVATION_TYPE_DEFAULT
TOKEN_ELEVATION_TYPE_FULL
TOKEN_ELEVATION_TYPE_LIMITED
token_is_elevated
tokentamperingtype
||||t|||ol||
TollllllllmllllOllylm
toLocaleDateString
toLocaleLowerCase
toLocaleString
toLocaleTimeString
toLocaleUpperCase
toLowerCase
toMAtUn9
tomg_[[[
tomgA[[[
tomgF[[[L[[[B[[[
tomgI[[[
tomgK[[[
tomgN[[[
tomgU[[[
tomgW[[[
tonumber
too deep
too many arguments to resume
too many captures
too many columns in result set
too many files open
too many files open in system
Too many imported symbols
too many length or distance symbols
too many levels of trigger recursion
too many links
Too many links
too many nested functions
Too many open files
Too many open files in system
too many results to resume
too many results to unpack
too many SQL variables
too many symbolic link levels
too many terms in compound SELECT
too many terms in ORDER BY clause
#TOpgppepq
toPrecision
tO;QXwJH
to_scrubbed
__tostring
tostring
toString
total_changes
TotalCollectTime100Ns
total_evaluation_count
totalfilecount
total_flow_count
totalHits
total_norm_error_count
total_norm_error_rate
TotalNotificationsDropped
TotalNotificationsProcessed
	TotalNotificationsPropogated
TotalNotificationsQueued
TotalNumberOfBytes
TotalNumberOfFreeBytes
total_positive_count
totalrtpeventscount
TotalTime
totaltimems
TotalTimePrecise
total_violation_count
total_violation_rate
toTimeString
toUpperCase
toUTCString
ToVdM[[[
tOVgqggn1'o
TOxx]Y]]
t|o(z|T(z|l
tOz|vodo7ogo
")||||T ")||||p
:||T;||P;||
T||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||p ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||04||||||||||||||||||||||||||||||||||||||||||||||||||
t|p5z|a6z|
tP7Yg7dgfG
TpAAAAAAAA(qyM
T@@@@@p@@A@AAac
TpAAAACA@A3!AEM
TpAAAAC@AAIqAE
TpAAAACA@AMqA
TpAAAACCAA
TPaa]Y]]
:t paggfw
t|PAy|2Ay|L
@TPBTgYW
TpDdL[[[_[[[a[[[
tPdG[[[9[[[
tp_dO[[[
[[[t.PdU[[[
tPFEAB_	ux
tPfxxrPgxxr
tpgfG"1-
T;pg	#gfG
TpgIfgfGAj
tp"gIfgfGf
.|tpgppepq
tpgppepq
tpgppepq'
tpgppepq:
'Tpgppepq
*Tpgppepq_:
:Tpgppepq(
[!Tpgppepq
]Tpgppepq
T(pgppepq
T-pgppepq
T|pgppepq
Tpgppepq
Tpgppepq 
Tpgppepq!
Tpgppepq#
Tpgppepq*
Tpgppepq;
Tpgppepq1
Tpgppepq1*
tpgppepq2
tpgppepq4
tpgppepq5
tpgppepq#6
tpgppepqb;
'#t?pgppepqd
tpgppepqD
tpgppepq'Dh
TpgppepqE
TpgppepqF
tpgppepqg
Tpgppepqg
tpgppepqi
tpgppepqI
Tpgppepqj
Tpgppepq*J
Tpgppepql
tpgppepq.lq
tpgppepqm
TpgppepqNo
TpgppepqQ
tpgppepqs
Tpgppepqt
TpgppepqT
TpgppepqU
tpgppepqx
TpgppepqY
)t#pgppepqYg
t:pgqgg.
TPgqggKQo
'tPgqggt
tpgqggxZ
tPgUvgfG.
;tpibn	as
TPIdU[[[u[[[k[[[
T@@@@)pIG
@||tP||jP||
@||TP||JP||
TpKdX[[[Z[[[
TPKg'cgfGH
TplgiegfG*
:||t;||p;||l;||h;||
TpllllllllmllllOllylm
'tpllllllllmllllOllylmn
t@@@@@@@@(p@M
tpmmanufacturerid
tpmready
t|pMt|@Mt|d
tpmuniqueid
tpmuniqueid_scrubbed
tp;pgppepq_
T(P(P(P(P(P(P
T][PR_H[H
T][PR_H[@Y[LX
t@@@@@@@@[pRL
T][PRL_HE
T][PRMDONE_
T][PRMH]L
T(PRSc6SSSS@S
T][PR_X_X
tPSoS#tPSnS
tPSSBM(|SSWALB]L
TPSSQ(WSSW
TPSSS@S"x
TPSSULY9
TPTrustedProcesses
TPUVQPUPSU
t|PUy|nVy|
TpwtgCcgfGe
tPXxxrPYxxr
TPXXX[XXX[XXXXXTXXXXXZXXXXXXXXXXX
TPXXX[XXX[XXXYXXX
TPXXX[XXX[XXXYXXXX
TPXXX[XXX[XXXYXXXXXXX
TPXXX[XXX[XXXYXXXXXXXP
TPXXX[XXX[XXXYXXXXXXXXXXhPXXXXXXX
TPXXX[XXX[XXXYXXXXXXXXXXhPXXXXXXXtZXX
TPXXX[XXX[XXXYXXXXXXXXXXTYXXXXXXX
TPXXX[XXX[XXXYXXXXXXXXXXTZXXXXXXX
TpyqWpyeWpyWWpy9Wpy3Wpy-Wpy
TP[[[Z[[[I[[[
t[[[Q4*dR[[[
T?QBg5kgfG
@TQBTBWs
@tQBtL]sSSS
@TQBTOsSSS
@TQBTsSQSSsSSS
@TQ_BTXTPfH]WT[VzuSSBEcP[xRT_BWT
@TQ_BTXTPfH]WT[Vz*WSBEcP[xRT_BWT
@TQBxBCsSSS
@TQByB@sSSS
Tqc'dgfGf
 tQD8c:u0M
tQd_[[[N[[[@[[[
t]QdR[[[
[t[q[[[D[[[t[
tQdx[[[9[[[
t|Qez|	ez|
tqfD90tkH
tQfD9 tK
T#Qgqgg 
T qgqggN
@tQ@KBKv
tQllllllllmllllOllylm
TQllllllllmllllOllylm	
t?qmgfG?
tQmpgppepqc
tqpgppepq
[t[q[[[p[[[t[
TqQdS[[[Z[[[t[[[]
TQSSB]LG
tQSSBy@zE@[BUH
@TQ(VSSWYBUI
TQWRWcccLccacJc0
@TQ(XSSWAoBUBB
tqy65yy'#|y
t|@qy| ry|@
t|R4t|04t|h
t|R7t|;7t|h
t|R8t|;8t|
T@r@@A@AAacoo
TraceMessage
track_direct_imports
trackspercylinder
Transactionfile
TranslateMessage
Transposition table config data is not set
trCgqgg|
[[[]TRdB[[[
tree_begin_leaf_nodes_offsets
tree_begin_split_nodes_offsets
Tr?]gAgg
TRgmpgfG
TriggerBMDetectionOnProcess
triggerEvent
triggeringprocessname
TriggerKernelScan
TriggerScan32
TriggerScan64
TriggerScanResource
trigger_sig
trigger_sig_self_propagate
triggersigseq
triggersigseqstring
triggersigsha
trigger_sig_target_propagate
t[]RkIkK]Qp]Z_Z
tRllllllllmllllOllylm
trllllllllmllllOllylmN
tr:llllllllmllllOllylmr
t)))rMEE@DYF[]
TrN:pgppepq
TrojanClicker
tROJANdOWNLOADER
TrojanDownloader
tROJANdROPPER
TrojanDropper
TrojanNotifier
TrojanProxy
TrojanSpy
Trpgppepq
t|rqz|aqz|
TRS3zQSSS@S
tRScz]SSS@S
TRSSD@Yk
"tRSSSSS
tRSST(6RSW(4RSWs
TRTTTTRRRRRRRR
)))TRuFYL[H]F[HG]@ZLJTRuJ[LH]@DuP[
TRuHGZ@uHGZ@JYN
truncate
truncated input to decodeURIComponent()
TruncateFile
TruncateFileRaw
t)))Ru[]O
TrustCheck
trustedcontent
Trusted content
TrustedInstallerFlagged
TrustedInstallerMOACAdd
Trusted source
trustedstate
TrustIntermediateStore
TrustRootStore
TrustState
TruY@YLuZYFFEZZt
trxdR[[[
TrXNWJhggfw	
t|]rx|rHp|y
||tR||xR||pR||
TryAcquireSRWLockExclusive
TryEnterCriticalSection
trying to cast a non-object value to an object pointer
trying to cast from value to a non-JsComplexType
trying to clone stream in read only store
trying to write to stream in read only store
trZ][@GNt
t:S05tSQ@c
t|s5t|T5t|T
t@S6t@S't@S
T@S7T@S!T@S
ts9Gyyyyy9|9yyy
tsc	fcsONBA	t
Ts:cXr"8
tSdA[[[i[[[
TsEgqggs
tSf91tNH
tsgeegfG
tSgqggCZx
#tSgqggDC
tSH98tNH
t|sHz|sNw
[[[t[[[s[i[k[o[l[w[j[r[w[
@]TsIRSS9
[[[t[[[s[j[k[k[h[n[j[w[i[r[w[
TsKgqggb
TSKmggfw
tsllllllllmllllOllylmLX
TSLUXXWLX
TSLWTSPUTYTS
 TsPg3ggfG TsPgqgg
t'SRSSSSS
TSS9eZUs7JSS9dGUs
TSSBBL_9
TSSBBL@bXBBLE
-TSSBFH9
@_TsSCSSeUs
TsSCSSsSSS
TSSfwBVD
TSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSIVSSvYSSFXSSFXSSXWSS:WSSFXSSFXSSFXSSFXSSFXSS9[SSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSFXSSVSSS
TSSPSSSs
TSSQASARLGA
TSSQULssSSS
TSSQ(VSSW(
TSSSBWSS
TSSs.QSSUsTPSS9
TSSs-QSSUsXPSS9
t]SSS@S]
TsSSS0dQEyAUJ
TSSS@S5C[SRS
t]SSS@S7
:TSSS@SA]RSRS
TSSS@SbBRSRS#
?TSSS@Sb]RSRSs!TSSS@So]RSRS
TSSS@S)C[SRS
TSSS@SECRSRS
TSSS@SJB[SRS
TSSS@SnCRSRSC
TSSS@SQCRSRS
TSSS@SRB[SRSS
TSSSS@SYSRSRS
TSSS@Swn._RS#
TSSS@SyCRSRS
TSSSVSSSVSSSsSSSsSSS SSS SSS SSSk-SSSBUB]L
TSSs!VSSUs
TSSs"VSSUs
Tsstartup
TSST@BBBLCl
TSS"TSS"TSS"TSS"TSS"TSS"TSS"TSS"TSS
TSSUjlTSSBss
TSSUQ(VSSW(nSSW
tSSUS7tSSUS?tSS@R tSS@R tSSUS
TSSVSSSVSSS
TSS@WB_D
TSS@WSS'QSS
T(!SSW@Yx
TS[TP[cccLccacJc0
t|S;t|;;t|
TSW@TP@UP
TSW@VBZ@WBV
TSW@VU@WBV
t[[[S[[X[[
TSXSLYSR
t#SY'ggG
TsyQWsy9esyQLsy9Vsy
tsy|wsyewsyJwsy3wsy
tsyyytsyy
tsyyyy-56**Y
tsyyyyyts-
tsyyyyyy
tS@@@@@z@@B@ACa
[[[t[[[t[
||t*||t*||
Tt3gqbgfGEr
@TT9YUK9
T@@@@@t@@A@AAac
tt]ALGLJAF
TT@@@@B@@@Lp@s
TT@@@@@B@@pp@@@@@@@@@@@@@@@
@TTBTfPTxQBTX[@W[9@[[Tg
tTd|voeo9ogo
TTEFHMZJ[@Y]
T'#te?#te?#te?
[[[TT"eY[[[
TTg7agfG
ttg7qgfG
TTg9ugfG1
TtgfGWaLAgqgg
ttg?kgfGi
TT_H[OEHZA_L[
TT@@@@@@@@HpB
ttI!aakI aakj
ttI!aakI aakm
TTjgqggz
TTJH]JART
TTJH]JARTT
TTJH]JARTTZELLY
TTKHZEHM@D
T[[TK[[.K[[
TTLEZLRZLGMZ][@GN
TTllllllllmllllOllylm
ttllllllllmllllOllylmT
TTO@GHEEPR
ttpgppepq
Ttpgppepq
TT@@@@@@@@[phL
TTPQQQQQQQQQQTPPHQHQHQHQHQHQHQHQHQHQHTSPH
TT][PR]A@Z
)))TTRRRTu
TTRuOEM[ZE]uJO
TTTJH]JA
TTTLEZLR
TTTLEZLR_H[O@MLSZ@_
TTTLEZLROF[
TTTO@GHEEPR
TTTTHL@OEG]BHMOCFZ@COFLEOCFQD
TTTTLEZL@O
TTTTTJH]JA
TTTTTTLEZLR_H[LGHXG@O
TTTTTTTG
tttttttt
!)*TTTTTTTT
TTTTTTTTM
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
[TTUcccLccacJc0
@TT@UTBWdQEyEXBYi
tTuuO[FG]LGMuuA]]YY[FQPuu
t|t)x|m*x|
t|]tx|t(m|xHl|
TTY[@_H]LZ]H]@J@G]Y][LQLJ
TTYL[OF[DYHNL
t| ty|_uy|
|tTyxr8N
t|@Ty|XUy|
|TTZ]AAew
]TTZwAAeH
TU0gqggp
t|u1t|R1t|
(||t)||U)||4)||
TU4gqggb
tU@82tML
TuA]DE[]ORuO@LEMRu
TuA]DE[]OuE@GLuA]DE[]O
tuApgppepq
tubg7kgfGlw	
@TUBT|oB[K9	T
tu@@@@@#@@D@ACac
t|UdC[[[
TUdgqgg-
tUeB[[[A[[[@[[[
tUeB[[[r[[[
TUED]Y]]
TUED]Y]]:
TUED]Y]]_
tUeW[[[v[[[u[[[
tUf98tPH
!)))TuFKCA
")))TuFKCLDKR
t)))uFKCLJ]
tug#jgfG
TUgkfgfG
tUg	kgfG
TUg?ngfG
TugqggfGM
tUgsbgfG@:
TUH28pgppepq
	TUH)4.4.	
	TUH#)45
	TUH*4WQWSWgZgg
	TUH*4WQWSWgZgg|
	TUH*4WSWU_F
tUH;QHu"@2
TuHZMOMZOZJZM
((TuJMZHOHZ
((TuJMZHOMHZ
t[[Uk[[)k[[
TuKSGM]NEB
TUm	ZdlN
T||!U||@N||
tUNdZ[[[
tUNP_METHOD_INFLATE
.)))Tu[]O
TUOF[LHJA
TuO[LLvZDZvZLGML[
TuONOM_MOZN
|||TU||P|||BA||B|||@A||@|||Y|||S|||QBV|Z|||W|||Q|||QQ||WW||V|||QB||
T||UR||FR||0R||
TurnNriOnProcess
tUSSS@SFYRSRS
t||Ut|aUt|x
TUTTUTTUV
T|||U||tU||||||||||||||||||||||||||||||||||||||||||84||
TUTUTUTUTUTT
TUTUTUTUTUTUTb
TUuDgAgg
TUuDtvzz
TUuD]Y]]
TUUD]Y]]
TuuUr]MHEFYtuuU
TUUUUUUUUUUV
T||uU||ZU||AU||
TU]VeQFy]W
|T|U|V|W|P|	|
T.U.V.W.X.Y.Z.
T*U*V*W*X*Y*Z*q
tu*((]Y]]
tuygqggLf
Tu@@@@]Y]]n
tuyyyyyyyyyxyyyi
tuyyyyyyyyyxyyyy
tuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyU
TuZALEEuFYLGuJFDDHGMti
TU_[[[Z[[[K[[[
t[]UZkIkK]Qp]Z_Z
TUZLELJ]
TV1CgAggm
TV6-pgppepqt
tV9qHvQL
T@@@@@v@@A@AAac
TVadN[[[
@TVAfZK9
tv AllllllllmllllOllylm
[[[tv[dA[[[
TV@@@@@.@@D@ACac
T	VdO[[[
TV	fcQPLX9
tvfE;8tpD
tVg!egfG
TvgfGF9u
TV"gqgg|
tvgqgggpT
tvgqgghP
T)vjhggfw
TVllllllllmllllOllylm
t|vodo9ogo
t|voeo9ogo
	T|voeo9ogo
tVrllllllllmllllOllylm
TvSllllllllmllllOllylm
t|v(u|yHr|
t|v(u|yHv|
TVVVVVVVVVV
tvxXyxxx 
||||t|||W|||
#t@w4G 3;
T'w5DD@@@
T'w5DDAJ@
T'w5DD@@B
T'w5DDB@B
T'w5@r@@A@AAacoo
tWD9qHvQM
)TWdN[[[F[[[h[[[
TWEpgppepq.
twfA;)tkfA
twfgfGL6
TWf)icK"
TW[gggw#
TWgqggDL
tWgqggKSl
TwgWagfG
TWhg-kgfG
twllllllllmllllOllylm
?TW!mgfG!f
TWmkubgfG
Twm|LAAAA@AAAAAC
T@WT9@TTsSPSS
@tW@vBvv
T|||W||wW||jW||YW||IW||
TWWWWWWWGWWWW
TWWWWWWWUWWWW
TWWWWWWW_WWWW
TWWWWWWWwWWWW
TX0g0Y0L0
t|x3y|93y|D
TX-*4BX]
||||t|||x|||4j
@Tx6BTD9
TXAgqgg6
T@@@@@x@@B@ACa
@txCAaLZ
@txDBXBU
@TxED@[ZBV
-tXgAgg|
TXgqggh!
TxguegfGCAgvgqgg
txi|o k|i|q
TxjgqggK
TXJHIOxxx
TXJLHTXMHHQzxby
t;xllllllllmlll]Y]]
TXLUVTTLXQYRL
Txpgppepq
txp|HvntIOI@IAIHMKKN#If
t@@@@Xp@U
@TxqD@[ZBV
_t)xrW]egfG
TXRWRxx]Y]]
TxtRecord
@TxUBZ@YxLBTI
T||xU||iU||[U||FU||1U||'U||
txwgqgg!
t(|xx9Hj1
txx|PQxxrr
txxrk|i|
Txxruqznz
txxxyxSy
txxxyx|y
TXxxzx]Y]]
t(xx]Y]]
txx||yI*HrIp
txxyivo kvxxx
txxyk|i|n
txxy]	txxyitiv
txx]Y]]uWX
t@xx]Y]]zAX
@TxYD@[ZBV
txyewxyDwxy!wxy
txyihyyyyyyyyyyyyyyyyyyyyyy
txyjwxyVwxy7wxy
TxylWxyWWxy2Wxy'Wxy
TxynWxyIWxy2Wxy
txypwxy]wxy8wxy
TxypWxy_Wxy:Wxy.Wxy
TxyqWxyXWxyCWxy*Wxy
Txy'Txy5TxyCTxyQTxymTxy
Txy#TxyETxySTxyYTxyiTxy
Txy[TxyGTxy#Txy
TxyUUxy-Uxy9Uxy
TxywWxyPWxy1Wxy
txywwxyTwxy)wxy
t@@@@x|yxnxnx|xxyxHy
txyxyyy|yyy|yyy
(txyyyyyy
|||Tx||||y||z|||
t"((]Y]]
t'((]Y]]
ty5yyyyyyyyyyyq
Ty_6?8jM7
ty7yyyyyyyyyyyy
tyAHyyYhyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
tyaxyy53yysyyyyyyyxyyy
tyayyyyyyyyyyyI
T]Y]]b _
t]Y]]BJX
tyD8cbtfA
[[[t]YdC[[[f[[[e[[[
tyDdH[[[
t?YDfgw_
  t     ]Y]]|E_
tyfD9 tsH
tYfE90tSL
t)))YFH]EHZ
TY[FJLZZ
TYg7fggG
t;YggfGx
T?yg-kgfG
TygqggV9[
tYgqgg-yV@r
t[]Y]G@r
TYGWGOMMMOMOMrG
tygxyyyyyyyyyy
tyGyyyyyyyyyyy
tYH9Y8tSM
tYH]AJAHGNLM]F
TYi-TYiYTYi
tyIxyyyyyyyyyyQ
tyiyyy53yysyyy
tyiyyya7yysyyyEy
tyLdG[[[g[[[
tyllllllllmllllOllylm
tY  m"    0
tyMxyyyyyyyyyy
tyMxyyyyyyyyyy	
tymzyyyyyyyyyy
TyPcQS4SSSdWSBPs
TYPE_ASYNC_LOWFI
TypeDefOrRef
 Type Descriptor'
Type Detection
TypeError
TypeError: 
Typelibversion
Type mismatch in AtomicCounters record.
Type mismatch in AttributePersistContext record.
Type mismatch in RollingQueues record.
TypeOrMethodDef
TYPE_PERSIST
TYPE_SYNC_LOWFI
TYPE_TELEMETRY_ONLY
TYQjllllllllmllllOllylm
T|yqW|yeW|yIW|yCW|y3W|y
tyqxyyqyq
tyQy0yoyz
tyQy1yoyz
tyQy2yoyz
tyQy3yoyz
tyQy4yoyz
tyQy5yoyz
tyQy6yoyz
tyQy7yoyz
tyQy8yoyz
tyQy9yoyz
tyQyayoyz
tyQyAyoyz
tyQybyoyz
tyQyByoyz
tyQycyoyz
tyQyCyoyz
tyQydyoyz
tyQyDyoyz
tyQyeyoyz
tyQyEyoyz
tyQyfyoyz
tyQyFyoyz
tyQygyoyz
tyQyGyoyz
tyQyhyoyz
tyQyHyoyz
tyQyiyoyz
tyQyIyoyz
tyQyjyoyz
tyQyJyoyz
tyQykyoyz
tyQyKyoyz
tyQylyoyz
tyQyLyoyz
tyQymyoyz
tyQyMyoyz
tyQynyoyz
tyQyNyoyz
tyQyoyoyz
tyQyOyoyz
tyQypyoyz
tyQyPyoyz
tyQyqyoyz
tyQyQyoyz
tyQyryoyz
tyQyRyoyz
tyQysyoyz
tyQySyoyz
tyQytyoyz
tyQyTyoyz
tyQyuyoyz
tyQyUyoyz
tyQyvyoyz
tyQyVyoyz
tyQywyoyz
tyQyWyoyz
tyQyxyoyz
tyQyXyoyz
tyQy yoyz
tyQy!yoyz
tyQy"yoyz
tyQy#yoyz
tyQy'yoyz
tyQy(yoyz
tyQy)yoyz
tyQy*yoyz
tyQy-yoyz
tyQy.yoyz
tyQy:yoyz
tyQy;yoyz
tyQy?yoyz
tyQy@yoyz
tyQy[yoyz
tyQy]yoyz
tyQy_yoyz
tyQy|yoyz
tyqyyy53yysyyyEy
tyqyyy53yysyyyyyyyyyyyxyyy
tyQyYyoyz
tyqyyyq)yysyyyyyyyxyyy
tyQyzyoyz
tyQyZyoyz
TYSSS@S;IRSRSCDYSSS@S'I[SRScfYSSS@S
tysySySySyYy-y
tySyyyyyyyyyyyY
tyszyyyyyyyyyyI
|ty-|ty9|tyW|tya|ty
tyUyyyyyyyyyyyq
tyWxyyyyyyyyyyI
;tyxby5x9x1x6x1x;x7x6xxxxx
_Tyxfx*x
tyxhy9.4
TyxRyNLMOOJNAOLNMJJJ
ty#xyyyyyyyyyy
ty_xyyyyyyyyyy!
ty]xyyyyyyyyyyQ
tyy)....
tyy1nyyrID 
tyy5lyysI?n
tyy9dyyqIy1
Tyy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyMyyyyyyyyyyyyyyyyyyyyyyyyyyyW
tyyAryyuI
TyyaWyyLWyy.Wyy
TyybTyyMTyy4Tyy
TyycTyyITyy)Tyy
	tyycxyy
	tyydxyy
tyy!eyyqI
TyyhWyyZWyyIWyyEWyy6Wyy
tyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
TyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
tyyiwyyAwyy
tyyiwyyyyyyayyyIyyy1yyy
tyy-kyypIIX
TyylTyy]Tyy@Tyy2Tyy"Tyy
tyymdyyuIS
tyyMwyyy1y
tyyMxyyrI8
TyypWyy9Wyy
TyyqWyyyyyyQyyy)yyy
TyysWyygWyySWyyAWyy?Wyy-Wyy
TyytWyydWyyKWyy*Wyy
TyytWyyRWyyEWyy)Wyy
Tyy@TyyGTyy:Tyy
tyyUayytI
tyyuuyyrI
TyyuWyyPWyy?Wyy
TyywWyyjWyyKWyyNWyyEWyy
tyy-wyytI
tyy-XyyuI
!tyyxyyy
tyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
tyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
TyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
TyyyiyyyyyyyyyyyyyyyyyyyyyyMTyy5Tyy
TyyyiyyyyzyyyC
TyyYKyyihyylhyychyyfhyy]hyyPhyyWhyyJhyy3hyy4hyy	hyy
tyyytyyywyyyxyyy
	tyyYxyy
tyyyy9xyy9
tyyyy9xyy9Qoyy9oyyyyyyQyyy
tyyyy9xyy9Ubyy1byyyyyyQyyy
tyyy|yFFI*:9
tyYyyy53yysyyy:
tyYyyy53yysyyyEy
tyyyyyyayyyIyyy
tyyyyyyayyyIyyy1yyy
tyyyyyyQyyy)yyy
tyyyy yYyDyDyYy
tyyyYyyywyyy
tyyyYyyywyyysyyyyyyyyyyyyyy9yy
tyyyyyyyyyxzyyyy1yyyxyx
tyyyyyyyyyyy
ty?yyyyyyyyyyy
ty[yyyyyyyyyyy
ty[yyyyyyyyyyy	
ty[yyyyyyyyyyy)
ty[yyyyyyyyyyy1
ty[yyyyyyyyyyy9
ty[yyyyyyyyyyyi
ty[yyyyyyyyyyyI
ty[yyyyyyyyyyyQ
tyyyyyyyyyyyyy9yy
tyyyyyyyyyyyyy9yy9W
tyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
tyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
tyyyyyyyyyyyyyyysyyy
tyyyyyyyyyyyyyyysyyyt
Tyyyyyyyyyyyyyyyyyy
TyyyyyyyyyyyyyyyYyyy?
tyyyyyyyyyyyyyyyyyyyyyyyyyyyyy15|yI(xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
tyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
tyyyzyysI
|||Tz|||
T[[[Z[[[
TZ7.lgfG
T@z@@A@AAacoo
@TZBTgUs
[[[tZ]dE[[[
TzeCCNCCCBACC
t)))ZELLY
tZfA9?tTH
tZFJBL]L[[F[r
TZgCggfGg
:tZgfG	ShMgqgg
TZ][@GN]K
TZ][@GNOK
TZgOogfG
TZgorgfG
tzgqggu8?W
tZgqggVC
t)))Z]H[]
[t_[[[Z[[[K[[[
T[[[Z[[[k[[[
T[[[Z[[[k[[['-
T[[[Z[[[K[[[
T[[[Z[[[k[[[H
T[[[Z[[[k[[[i
T[[[Z[[[k[[[P_n)
T[[[Z[[[k[[[s
T_[[[Z[[[K[[[t
T[[[Z[[[k[[[W1
T[[[Z[[[k[[[y
T)))ZL[]
t)))ZLH[JALGN@GLZEFN@J
t)))ZL]KOJLJ
t]zllllllllmllllOllylm
tZllllllllmllllOllylm
tZMdA[[[
"T[[[Z[[[O[[[
#T[[[Z[[[O[[[
T[[[Z[[[O[[[
T[[[Z[[[O[[[@
T[[[Z[[[O[[[]
T[[[Z[[[O[[[|
)T[[[Z[[[O[[[6
T[[[Z[[[O[[[7_
T[[[Z[[[O[[[9
T[[[Z[[[O[[[b@
T[[[Z[[[O[[[e
T[[[Z[[[O[[[E
T[[[Z[[[O[[[F
T[[[Z[[[O[[[g
T[[[Z[[[O[[[j
T[[[Z[[[O[[[L
T[[[Z[[[O[[[;m
T[[[Z[[[O[[[T1
T[[[Z[[[O[[[ui
tZpgppepq
tzP[[[Z[[[o[[[
T())Z@SL
TZSSS@SgERSRS
TZ]TAewA
tzT[[[Z[[[k[[[
tzvgqggN
]TZxxyxQy
tzyEwzymwzy
tZy@g[ogfG
!)))tZY[HP
Tzy_Wzy-Wzy
tZZAEF_L
tZzpgppepq
tZZ]ZkIkK]Qp]Z_Z
															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_]-07:D(
u_]-07:D*
u0D9@(u*D
u0dH[[[5[[[4[[[
u0dY[[[R[[[
u0	gqgg#
u0LcC8E3
[[[:[[[U0PdL[[[
_[U1[BH73_BpI9
[[[u1CdI[[[
:U1Ehgggwd
U1_gqgg9
u1pgppepq(
U1Spgppepq
U1"V:p2._;
U25J?O)9
U2B[73Yx
U2BT73YxeQLg9
U2BU73Yx
U2BV73YxeQLg9
U2g'AgfG
U2gmegfG
U2gWogfG_ny
u2kg'kgfG
U2LdY[[[
U2MdV[[[
U2MdZ[[[e[[[
U2sSSSRdE[sS
)u39jPSk
u3]dS[[[
u3g	lgfG
U3LdY[[[l
#u3llllllllmllllOllylm
u3pgppepq
U3pgppepq
U3'((]Y]]
;||u4||24||
[u[?[4[8[
[u[?[4[8[#[
U4g)egfw
u4Gq-kt|
u4H8xxx]Y]]
U4hgqgg;1
_U_55_U_
u59Egt0@
U5Dd@[[[
u5fD;mXu
U5gCqgfG
u5gewgfwM
U5g-kgfGy
[[[U5MdM[[[
U5pgppepq
[[[U5QdK[[[
U5QdY[[[y[[[
u5R[[[Z[[[
U5xyxty?
U5zdC[[[
U5zd][[[@[[[G[[[
[[[U5zdI[[[
U5zdI[[[
[[[U5zdM[[[
U5zdS[[[
[[[U5zdV[[[
U5zdx[[[
U5zdz[[[a[[[
(u6b@b6e
(u6b@b(W
(u6b@b(W0W@S
(u6b@b(WKN
U6gWcgfGH
u6p6fgfG
U6pgppepqim8
@[U6@TBTT
u6XgGegfG
U6XXPhE8
u6;yxdyT
[u[#[7[([
[u[#[7[([#[
u7d@[[[:[[[9[[[gK
u7dA[[[2[[[
u7dA[[[6[[[
u7d][[[c[[[
u7dD[[[5[[[([[[L
u7dI[[[!
u7dK[[[#[[[
u7dK[[[M[[[A[[[
u7dK[[[w[[[
u7dL[[[ [[[
u7dM[[[:[[[([[[
u7dO[[[o[[[l[[[
u7dR[[[o[[[e[[[
u7d[[[[s[[[
U7[dU[[[.[[[
u7dU[[[F[[[
u7d][[[y[[[
u7dz[[[S[[[
U7g-egfG
U_7gokgfG
U[[[	7hfS[[[
U7pgppepq
U[[7T[[nK[[
u8)7kF]X
u8)7kK]Rp]Z_Z
[u[:[8[8[?[9[([
U8Bg7fgfG
u8B@@@Np@C
u8D-oOJF
U8g7egfG
U8H9U(u)L
!u8H!u H
u8L9H0u2H
u8llllllllmllllOllylm
u8Pe3v3@G
u8pgppepq
u]8_rt#H
|u8||z|||o|o
u9'Bggw6
U9DdG[[[
U9eB[sRSS
U9eBTsRSS
U9eBUsRSS
U9llllllllmllllOllylm_
U9MK;UN9MLKK9L:NM@
_U9@TBTP
U9@VUDeOBVK9	BW
	u9]-x9]m
_U9@YBYP
U9yyyyyyy9D
u9yyyyyyyy)
u!@@@@@@A@@
u@@@@@@@A
UA13qgYkgfG
UA1gqgg?G
UA;9JU;AHLK9:J@MH@
uAA@A2!D
uAAAAAAAA
UAAAAAAAA
uAAAAAA@AAAAAC
uAAAAAA@AAAAAC?
:UAAAAAA@AAAAAC
UAAAAAA@AAAAAC
UAAAAA@AAAAAC8
[u-_AAAA@AAAAAC
uAAAA@AAAAAC
UAAAA@AAAAACWv
	@@@@@u@@A@AAac
'(@@@@@u@@A@AAac
)@u@@A@AAac
.@@@@@u@@A@AAac
@@@@@u@@A@AAac
[@@@@@u@@A@AAac
@u@@A@AAacoo
UAAAA(qHF
UAAAYqVQ
@U@@A@AC@@@@@@
u!a	acaa
     @U@@A@AC@AA@@[pEF
@@@@@u@@A@ACac
@u@@A@ACac
@U@@A@AC@B@A@Cp@84a
@U@@A@AC@B@@@Hp@
@U@@A@AC@BL@@Hp@V
UAACYqmE
@U@@A@AD@@@A@@
@@@@@u@@A@ADac
@U@@A@AD@LLA@@
UAAOLUHN
u.@@@@@A@@AQ@V[
!Uaax(xx|x|x|xxyx|
uacconsentadmin
uacconsentuser
uacdesktopprompt
uacluaenable
UACTrigger
uA]DE]HN
uAdV[[[Z[[[
uAdz[[[t[[[i[[[
uAfD;1tBH
uA[FDFuKY
.)))uAFDL
;)))uAFELM
UAgAkgfG
UagfG:7i
'uagfGS0
Ua.gqggY#
uaHdJ[[[
U@@@@@@A@h EY
uAHL][@FuGHGF[Z]Hu]O_LGZL
UAHLK@@LK
U@@A@h N
U@@A@h QP
u|aHt|aNe
uaHwlllllllllmllllOllylm
@UAIBUAI
UAIJIUKIHKOM
@U@AIJULNIMU
UAINJNJJ
@UAJ@LUAI
UAKHHUO@
[.[([u[(["[([a[k[k[k[i[k[k[k[k[k[k[k[k[k[k[k[k[[[A[[[
u)))]ALDH][@Q
UaLdQ[[[
u)))]ALGYB@EE
UALHLUIL
UALJ@UL@IOUAI
uAllllllllmllllOllylm
UallllllllmllllOllylmTKb
)))uAL[LuHDF
u)))AL@NA]
U)))A[LO
u@@@@@@A@Lp@Hp
_[Ual[PI
|UAMgAgg
 )))uA@MMLG
uANBMEMCO
u@@@@@@A@NpAL
@UA@O@ACac
@UA@O@AEac
UAOALULII
UAOLJUA@;MKKM;OALNyxny:
Uao@@@@@n@@A@AAac
[u;|apgppepq
UApgppepq
@uA@Q@AEac3)'!442z
@UA@Q@FC@@@A@lp
@UA@Q@QA@DDA@B
UaRaSaUaRaSaUaRaSa(aUaSaRaUaSaRaUaRaSa
@@@@@uA@S@AC@@@A@epCE
@UATAUAVAWH
UATAUAVAWH
@UATAUAVH
uatllllllllmllllOllylm
@UAUAVAWH
u'a@@@@]Y]]
U)))A]]Y
)))uAYAFEML[uAFEML[Z]H[]L[
)))uAYBLLYL[uBLLYL[Z]H[]L[
)))u]AY]@FG
)))uAY[LPFZu[LPFZZ]H[]L[
)))uAY[LZL[_L[uYHNLZ]H[]L[
uA]]YZALEYL[
)))uAYZ]FJBL[uZ]FJBL[Z]H[]L[
)))uAYZFPL[uZFPL[Z]H[]L[
)))uAYZHE]L[uZHE]L[Z]H[]L[
UaZaacacaca@B-
u@@@@B@@@
[[[U[[[B[[[
U@@@@@@B@
u@@@@B@A@
u@@@@B@A@@
U@@@@B@A@
U_@@@@B@A@2 @b
u@B@A@2 @C
u@@@@B@A@2 @E
U?@@@@B@A@2 @EJ
u@@@@B@A@2 @EZ
U@@@@B@A@2 @G
u@@@@B@A@2 @J
u@B@A@2 @N
U@@@@B@AALp@m
u@@@@BAB@
u@@@@B@A@C
";@u@@B@ACac
@u@@B@ACac
uBAdO[[[
u@@@@B@A@dp@a
U@@@@B@AE2 @iW
UBA@@Hp@D
U@@@@B@A@Lp@m
u@@@@B@A@Np@F
UB@@AxXBWI9
U@@@@BBA@2 @@@@@@@@@@B@A@2 @DL
UbB@A@2 @E
u	@@@@B@B@ap@
uBBA@Qp@@@@@@@@@@BBA@Kp@@@@@@@@@@BBA@
uBBBBBBB
UBBBBBBB
@UBBBUgpZD
U@@@@BB@@ep@@@@@@@@@@@
U@@@@B@B@Hp@M.pi
uBBIFMU]uBBIFMU]
U@@@@B@B@Jp@
")))uBBOD
@UB_BUBX
@UB@BUgQEyB[LC9
u@@@@B@CA_p@L
@UBCB5B.B
uBCNUBDSHU	lf
ub|dI[[[
[[[U(BdN[[[
UBdO[[[a[[[
U!be_[[[
((UB@EE]FY
u?begfGv
ubEHWDak
U@@@@@@B@Ep@k
uB"eW[[[
[[[uB"eY[[[.
")))uB[F
#)))uB[F
UBFfQEyBZUBF
uBFKJ	SFTL
uBg)dgfG
|ubgfG.W
uBGFKKLMuZ@ELGJLM
u!BgqggARy
uBgqggrqt
UB@gtBYU
uBHBLYH]PuHKJ]OANANMNANA
Ub@@@@h FN
uBHGMLZ]@uGNPAH
uBHGMLZ]@uGNPAK
)))uBHZYL[ZBPEHKuBHZYL[ZBPHG]@
u)))BL[GLE
uBL[GLEu[
uBlgqgga
?UbllllllllmllllOllylm
UbllllllllmllllOllylm
uBMEMPLOO
uB!mggfw
u@BMZNZ]uD@LOHZ]uBFLOHNBKB[]
U@@@@@@B@_p@C
#ubpgppepq
Ubpgppepq
@UBTBUgQEyBTBU
@UBTBUgtB[ZBUBT
@UBTBUO	|pBTBU
@UBTLsBU
@UBU9I9	BC
]uBUAsj0
@UBUBVL_
@UBUBVM9
@UBUBW2@WPBW
@uBu@EBE9@wBEE
@UBUEefB@D
@UBUElXTSSMBUnPTSS[O9
@UBUE|Us
:@UBUE|VE@_xCBU@_BULsaULL@XxWB_@X[BX
U*Bu;g3ggfG*Bu;gqgg
ubuggfGH
@U[BUgQEy[BU
@uBuJ7Bu2N
@UBUKd0BUK
@UBU[L_9
@UBULcdUBULjeKBUL2dUBUL)e_BUL
@UBULCfWBUxQLC@VZBVghZU
@UBULc|Tk
@UBULo|Tk
@UBUMfWBUxRM@V[BVgLBWBY
@UBUPdVBUWdsBWBWD
@UBUPLC9
@UBUQsSGSS9
@UBUsS3QS
@UBUsS3SSgQEyBUT
@UBUsSCSS
@UBUsSCSSdUs
@UBUsSCSSgTE_kUPSSE@[BUL_7@UE@GEBU
@UBUsSQSSeCTsSsSSBU
@UBUsSQSSeZsSQSS@Ux[BUH
@UBUsSRSS
@UBUsSRSSdQEyQTBUsSSS
@UBUsS#SS
@UBUsSWSSfWBUxVsSWSS@UE@VE@ZBVLs
@UBUsSWSSfWBUxVsSWSS@UEXEYE_F@VBUL
@UBUsSWSSn
@UBUUfQEyQBUTsSSS
@UBUULi9
@UBU@VBU
@UBU@VPBUAT
@UBUvs_RSS9
@uBu@vxXpB
_[Ub[[UZ
@UBVBUgQEyBVBTLC9
UBVdWBVxRU@WBW_EBWgeQI9
UBV@XxWBV@TBTBX
@UBVYAa@DH_BDv
@UBVYAc@wO_Bwv
@UBVYBUB@
@UBWBT	BU
UBWdJULs
@UBX@ABV@CBCs
UB_@_xGAb
||ubz|b.f
]uB[[[Z[[[K[[[
uB[[[Z[[[K[[[
uB[[[Z[[[K[[[i
||||u|||c|||
-uC||||||
uC7]TgfGs
u@@@@@@CA
)@u@@C@A@@@@A@@
@@@@@u@@C@A@@@@A@@
@u@@C@AA@@@A@@
)@u@@C@AC@@@@@
@u@@C@AC@@@@@
@@@@@u@@C@AC@@@A@
@@@@@u@@C@AC@@@A@@
@u@@C@AC@@@A@@
@u@@C@AC@@@A@HpB
@u@@C@AC@@@A@lpMIsc
@u@@C@AC@A@@@lpOW
@u@@C@AC@@@A@[p
@u@@C@AC@@@A@vpGVFes
(((@u@@C@AC@@@A@XpfH
@@@@@u@@C@AC@BAA@ap@[
)@u@@C@AC@BAA@Hp@N
@u@@C@AC@B@A@ap@gCu
@u@@C@AC@B@A@ap@U
@u@@C@AC@B@A@cp@dv(
@u@@C@AC@B@A@cp@w
@u@@C@AC@B@A@dp@QE
@u@@C@AC@B@A@dp@T
@u@@C@AC@BA@@Hp@JTv
@@@@@u@@C@AC@BA@@Lp@c
@u@@C@AC@B@A@Lp@m
)@u@@C@AC@B@A@Lp@U
@u@@C@AC@B@A@np@Ii
@u@@C@AC@B@A@np@X
@u@@C@AC@B@@@Hp@c
@u@@C@AC@B@@@Hp@D
@u@@C@AC@B@@@Hp@K
@u@@C@AC@B@@@Hp@Ky
@u@@C@AC@BL@@Hp@V
)@u@@C@AC@B@@@Lp@
@u@@C@AC@B@@@np@
@u@@C@AC@B@@@np@a
@@@@@u@@C@AC@@@B@vpX
@u@@C@AC@@@@@Cp@][l
@u@@C@AC@@@C@Xp
@u@@C@AC@@D@@Lp@
@u@@C@AC@@@@@HpFS
@u@@C@AC@LBA@gpG@@@@@k
@@@@@u@@C@AC@@@@@Lp@jG2#e@@@@BB@@Np@@@@@@@@@@@@@@dp@F
@u@@C@AC@@@@@|p@R
@@@@@u@@C@AC@@@@@|p@U
@@@@@u@@C@AC@@@@@vpGl
@u@@C@AD@@@A@@
@u@@C@AE@B@A@
@u@@C@AE@B@A@2 @G
uCAO[Nu[NZ[AMH
uCAO[Nu[NZ[AMK
@u@@C@BC@@@A@jp@@@@@@@@@@@@@@gpE@@@@@l
UCBdM[[[
@u@@C@C@@B@A@@
@u@@C@CE@B@A@2 @F
@uC]CEC-C
 )))uCCJJCC
)))uCCJJCC
u	_CCNCCCBACC
U_CCNCCCBACC
UCCNCCCBACC
UCCNCCCBACC0
UCCNCCCBACCDz
@uC]CUC9C5C-C
u!cC]Y]]
uCCYZSJ_@M]
'UCd][[[
UC(dC[[[
UcDdI[[[O[[[
UCdG[[[j[[[;[[[
uC(dT[[[
UCDXstqyyxyyyyyyy
U	CdZ[[[
@uCeCQCIC9C1C
|u!Cg7fgfG
U c!g7wggG
U#]cgfGv
uCgGegfG
UCgOnggw
uCgqbgfG
uCgqgg6A:9
Uc|gqggX
!ucgsdgfG
uCgsdgfGq
)))uCHDKFuCHDKFuH
)))uCHDKFuCHDKFuN
uCHDKFuCHDKFuT
uCHDKFuO
UCH_HZJ[@Y]U
uCHYFG@JHu
@uCiCmCaCeCYC]CQCUCICMCAC
UcK[[[K[[[
uC[[L[[FuKYQFHLL
uCLKMCBHZ
u?CllllllllmllllOllylm
uCllllllllmllllOllylm
uC[LuK@GuZLEOZLW
@uCmCYC1C)C
UcmI[[[9[[[?[[[e
uCqgqgg*
ucTgAfgfGyv
UcUdX[[[
*ucV[[[	
Ucyy1Jyyhyr
uCZMZMNNOuHKJ]OANQNMNANA
uCZMZMNNOuHKM]OANQNMNANA
uCZMZ]NNOuHKM]OANQNMNANA
ud[[[[[[
||||u|||||||D
Ud@[[[	[[[ [[[
Ud_[[[#[[[
Ud_[[[|[[[
UD3YxuTD
_[Ud4[YUBVd
Ud[[[[5[[[*[[[
Ud@[[[8[[[
u)D9eHt#H
u(D9vpu"
@UD9@WBWB]|
?-UdA[[[
Ud_[[[A[[[
UdA[[[a[[[
UdA[[[f[[[
UdA[[[F[[[
UdA[[[J[[[
UdA[[[j[[[i[[[E
u_dA[[[k[[[
UdA[[[L[[[A[[[
UdA[[[m[[[
UdA[[[M[[[A[[[
UdA[[[N[[[x[[[
UdA[[[o[[[
UdA[[[O[[[
UdA[[[y[[[
UdB[[[	[[[
UdB[[[([[[
u_dB[[[E[[[y[[[
?.UdB[[[h[[[m[[[
(UdB[[[M[[[C[[[
@UDBUO71YBULm
@u dC[[[	
Ud_[[[c[[[
UdC[[[([[[.[[[
UdC[[[.[[[-[[[
UdC[[[4[[[
UdC[[[A[[[
UdC[[[A[[[G[[[W
UdC[[[B[[[
uDCCuL]HC
UdC[[[@[[[D[[[[[[dM[[[G[[[E[[[
UdC[[[X[[[S[[[A
UdC[[[Y[[[v[[[
([[[Ud]d
Ud_[[[d[[[
UDdE[[[a[[[9[[[
UdD[[[f[[[e[[[
uDdG[[[.[[[
UDd][[[H[[[z[[[ 
uDDJGMDN[
U(DdK[[[D[[[
u_dD[[[S[[[
u DdS[[[C[[[
uDdT[[[_[[[
u	DdV[[[
@UD@DxPF@CTD
U(Ddz[[[U[[[J[[[
UdE[[[A[[[G[[[A
UdE[[[h[[[
)))u[@DF
Ud][[[F[[[
UdF[[[:[[[
UdF[[[?[[[
U||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||df||@c||
UdFgqgg[
uDF_LDLGF[LN
uDF[L]LGAL
UdF[[[M[[[n[[[
uDFS@EEH
uDFS@EEHO@[LOFQuNFFNELJA[FDL
uDFS@EEHO@[LOFQuO@[LOFQ
uDFS@EEHu
uDFS@EEHuO@[LOFQuY[FO@ELZu
UdF[[[w[[[
udF[[[x[[[
Ud[[[[g[[[
Ud_[[[g[[[
UdG[[[A[[[s[[[H
UdG[[[B[[[
UdG[[[E[[[
UdG[[[F[[[
__udgfGL
UDggdgfG
UdG[[[G[[[r[[[H
UdG[[[q[[[?[[[
UdG[[[x[[[
;]UdH[[[
U#@dH[[[
UdH[[[@[[[
UdH[[[6[[[
UdH[[[7[[[6[[[
UdH[[[8[[[1[[[
uDHBLJHK
UdH[[[d[[[
UdH[[[@[[[F[[[
UdH[[[l[[[
UdH[[[m[[[3[[[
u@DHNL[LZ
UdH[[[Q[[[T[[[e
UdH[[[s[[[r[[[
UdH[[[S[[[T[[[
UdH[[[T[[[@[[[6F
u|dHt|dNh
UdH[[[Y[[[E[[[e
UdH[[[Y[[[z[[[e
UdI[[[ [[[
udI[[[0[[[
UdI[[[2[[[*[[[
UdI[[[4[[[
UdI[[[:[[[8[[[;
UdI[[[@[[[e[[[
UdI[[[f[[[
UdI[[[F[[[m[[[(M
UdIIikIJIIHi
UdI[[[J[[[
UdI[[[r[[[q[[[
UdI[[[S[[[V[[[
UdI[[[t[[[k[[[g
UdI[[[w[[[h[[[M
UdI[[[x[[[
UdI[[[Y[[[l[[[
UdI[[[Z[[[
UdJ[[[@[[[
UdJ[[[_[[[][[[
UdJ[[[0[[[4[[[c
UdJ[[[3[[[1[[[c
*)Ud'j8ogw
U@dJ[[[d[[[
uD@J[FZFO]
)))uD@J[FZFO]FOO@JLu[FF]uFOO@JL
uD@J[FZFO]FOO@JLuFOO@JL
uD@J[FZFO]uFOO@JLuDZF
uD@J[FZFO]u@GZ]HEEL[uR
uD@J[FZFO]uHMM@GZ
uD@J[FZFO]uHMM@GZuHMMJ[PY]
uD@J[FZFO]uHMM@GZuHMMJ[PY]v
uD@J[FZFO]uJ[PY]Fu
uD@J[FZFO]uLMNLuHYYE@JH]@FGuDZLMNL
uD@J[FZFO]uLQJLEuQEZ]H[]
uD@J[FZFO]uZPZ
")))uD@J[FZHu
UdJ[[[J[[[A[[[i
UdJ[[[P[[[
UdJ[[[R[[[
UdJ[[[u[[[
 )UdK[[[
u !dK[[[0
UdK[[[2[[[1[[[w?
UdK[[[3[[[
UdK[[[8[[[
Ud_[[[K[[[H[[[G
UdK[[[_[[[S[[[#l
UdK[[[v[[[
UdK[[[w[[[u[[[6C
UdK[[[X[[[R[[[#l
UdK[[[Y[[[
UdL[[[	[[[
#u)DL]AFM
UdL[[[_[[[B[[[-
UdL[[[d[[[
uDL[]FuKP[FZ]u_LFGZL
Ud_[[[L[[[g[[[
u)))DL]HA]]Y
UdL[[[k[[[
Ud]llllllllmllllOllylm
UdllllllllmllllOllylm2
UdL[[[|[[[p[[[4
UdL[[[t[[[
u@DLuZ_JAFZ]
UdL[[[X[[[C[[[
UdL[[[x[[[n[[[H
UdL[[[Y[[[@[[[7n
UdL[[[Y[[[A[[[j
UdL[[[Y[[[C[[[
UdL[[[Y[[[G[[[
UdL[[[Y[[[s[[[
UdL[[[Y[[[x[[[
udL[[[Z[[[	[[[
uDLZLG]L[@JuNPDGHZ]ZMLGH]@FGHE@SLZ
][udM[[[
UdM[[[)[[[
UdM[[[3[[[1[[[7
UdM[[[H[[[
UdM[[[S[[[W[[[
UdM[[[x[[[
UdM[[[X[[[K[[[ 
||||u|||||||dN
UdN[[[	[[[
UdN[[[#[[[
UdN[[['[[[
UdN[[[;[[[
UdN[[[:[[[2[[[
[UdN[[[6[[[4[[[
UdN[[[6[[[5[[[6
UdN[[[D[[[
UdN[[[g[[[
UdN[[[m[[[
UdN[[[*[[[)[[[S
UdN[[[_[[[U[[[
UdN[[[X[[[@[[[6
UdN[[[X[[[B[[[6
UdN[[[X[[[F[[[6
UdN[[[X[[[G[[[6
UdN[[[X[[[O[[[
UdN[[[Y[[[A[[[6
UdN[[[Y[[[D[[[6
UdN[[[Y[[[E[[[6
UdN[[[Y[[[F[[[6
UdN[[[Z[[[
Ud_[[[O[[[
UdO[[[.[[[
UdO[[[@[[[
UdO[[[6[[[#[[[
UdO[[[:[[[8[[[
UdO[[[:[[[8[[[t
UdO[[[A[[[
UdO[[[d[[[
UdO[[[G[[[
UdO[[[i[[[
UdO[[[p[[[u[[[L
UdO[[[U[[[T[[[
UdO[[[Y[[[@[[[x
Ud[[[[p[[[
Ud_[[[|[[[p[[[
Ud_[[[P[[[
?UdP[[[2[[[1[[[:
UdP[[[9[[[4[[[
U[dPE9y]T[U
UdP[[[F[[[E[[[
uDpgppepq
UdP[[[l[[[c[[[
UdP[[[R[[[
UdP[[[y[[[|[[[
UdP[[[z[[[
UdQ[[[0[[[6[[[
UdQ[[[9[[[
UdQ[[[B[[[A[[[J
UdQ[[[E[[[
UdQ[[[E[[[s[[[t
)UdQ[[[h[[[
UdQ[[[h[[[8[[[ 
uD@QMHEHE
UdQ[[[o[[[
UdQ[[[p[[[
udQ[[[R[[[
UdQ[[[r[[[h[[[
U_dQ[[[u[[[
:|UdQ[[[u[[[h[[[
UdQ[[[w[[[t[[[
UdQ[[[z[[[
udR[[[.[[[
UdR[[[g[[[
UdR[[[n[[[
UdR[[[r[[[
UdR[[[z[[[
UdS[[[([[[#[[[
UdS[[[_[[[][[[
UdS[[[f[[[
UdS[[[g[[[
UdS[[[l[[[
;UDs	;MD
UdS[[[n[[[
UdS[[[_[[[S[[[
udS[[[T[[[A[[[7
UdS[[[_[[[V[[[
UdS[[[v[[[j[[[
UdS[[[][[[W[[[
UdS[[[W[[[K[[[
@UD@_swPSS@[PI9
UdS[[[x[[[|[[[
UdS[[[X[[[|[[[
UdS[[[X[[[A[[[
UdS[[[X[[[E[[[
UdS[[[Y[[[@[[[_
UdS[[[Y[[[A[[[zh
UdS[[[Y[[[F[[[
UdS[[[Y[[[N[[[zh
UdS[[[Y[[[s[[[H
UdT[[[?[[[
UdT[[[|[[[
UdT[[[e[[[
UdT[[[i[[[
UdT[[[l[[[
UdT[[[n[[[
UdT[[[X[[[c[[[_Jsd][[[_[[[K[[[
UdT[[[X[[[k[[[
UdT[[[Z[[[
u !dU[[[
udU[[[:[[[
]UdU[[[![[[
u]Du9yyv
Ud_[[[U[[[B[[[
UdU[[[c[[[
UDugqggC
UdU[[[i[[[
@UdU[[[Z[[[
UdU[[[Z[[[
UdU[[[Z[[[6[[[NWAd@[[[Y[[[N[[[
UdU[[[z[[[v[[[A
][udV[[[
Ud@[[[v[[[
Ud@[[[V[[[
UdV[[[a[[[
UdV[[[j[[[
UdV[[[j[[[i[[[
UdV[[[o[[[
UdV[[[u[[[
UdV[[[u[[[k[[[
UdV[[[w[[[u[[[Om
UdV[[[X[[[s[[[
UdV[[[Z[[[G[[[
UdW[[[2[[[
Ud][[[W[[[J[[[7
]UdW[[[k[[[
udW[[[U[[[T[[[
UdW[[[W[[[
UdW[[[W[[[K[[[
UdW[[[Y[[[
UdW[[[Z[[[H[[[
Ud_[[[x[[[
Udx[[[;[[[
Udx[[[b[[[
Ud][[[X[[[B[[[
@UD@xBUT
Ud][[[X[[[D[[[
UdX[[[g[[[
UdX[[[h[[[o[[[
UdX[[[R[[[E[[[
UdX[[[R[[[P[[[
Udx[[[t[[[
UdX[[[U[[[G[[[
UdX[[[x[[[
UdX[[[Y[[[a[[[
UdX[[[Y[[[m[[[
UdX[[[Y[[[t[[[
UdX[[[z[[[t[[[
Ud][[[Y[[[
UdY[[[	[[[
UdY[[[)[[[
UdY[[[;[[[
Ud][[[Y[[[B[[[
UdY[[[c[[[
Ud][[[Y[[[D[[[
Ud][[[Y[[[F[[[
UdY[[[h[[[
uDYHZMLZJ
UdY[[[I[[[@[[[
UdY[[[j[[[
uDYJE@LG]Z
Ud_[[[Y[[[k[[[
UdY[[[_[[[O[[[
.)))u]DYu
u]DYvDHJA@GL
Udy[[[V[[[T[[[
UdY[[[V[[[U[[[P
|UdY[[[Z[[[i[[[
UdY[[[Z[[[i[[[
!UdZ[[[][[[
UdZ[[[	[[[
UdZ[[[_[[[][[[
UdZ[[[|[[[
udZ[[[3[[[0[[[Y
Udz[[[?[[[7[[[
UdZ[[[7[[[
)))uDZA]H
uDZA]HA]]Y
uDZA]HA]]YZ
UdZ[[[C[[[
uDZDYLGN
!)))uDZFEu
)))uDZ@LQLJ
uDZ@LQLJ
Ud_[[[z[[[r[[[
UdZ[[[r[[[
UdZ[[[T[[[K[[[
uDZ@uHDK@LG]E@GBuHDK@LG]vE@GBuDZ@F
UdZ[[[w[[[
Ud@[[[z[[[y[[[
Ud_[[[z[[[y[[[
uDZYH@G]
ue@@@@@@@@@
uE.5cgfG
#Ue[[[[8[[[
@UE9@DBUE9
uE:'9iD(
@UE9XBUsS
@UE9XE9BUgbTP
ue@@@@@@A@@
#UeA[[[f[[[
UeAQ(VSSWsPSS
Ue'ASP	p
UEa@WU9[	Q
ue@@@@B@A@@
ue@@@@B@AF@
UeBBTsPSS
UeBBUsPSS
#UeB[[[@[[[E[[[P
_[Ueb[QLs9
@UEBUg0E9XW
@UEBUg9BALL
@UEBUgJW@WEBW
ue_[[[d[[[
@UE@DF@CEXBJ9@[E9B[o
UEdK[[[-[[[
uEdX[[[I[[[H[[[
#UeF[[[A[[[
#UeF[[[C[[[G[[[7(
UeF[[[D[[[i[[[4
uEFED@GL[
UeF[[[G[[[m[[[
UefiEnvVar
UefiFirmware
UefiScanBlock
uefiscanstatus
uefisecurebootstatus
)))uEFJBLM
!)))uEFJHE
uEFJHEDHJA@GL
uEFJHEDHJA@GLu[FF]
uEFJHEZDZ
)))uEFJHEZL]]@GNZuHYYE@JH]@FGMH]Hu
)))uEFJHEZL]]@GNZu]LDYu
uEFJHEZL]]@GNZu]LDYuZL[_@JL
uEFJHEZL[_L[
uEFJHEZW
#Ue@[[[G[[[F[[[
UeG[[[@[[[F[[[
UeG[[[K[[[I[[[M
UeG[[[O[[[C[[[_
uE#gqgg8
uEgqggvy
ueG[[[T[[[K[[[
UEhggfwx
ueH[[[J[[[x[[[
Ue@[[[h[[[l[[[
UeH[[[q[[[p[[[
u|eHt|e.i
u|eHt|eNi
u]@EHv]@GF
uEHZ]HZ]@uDP_@H
uEHZ]HZ]@uDP_@K
ueI[[[f[[[
UeI[[[_[[[y[[[
UeJ[[[#[[[
UeJ[[[a[[[
uE][JAuOJZ
ueJ	Me'0
UeJ[[[x[[[
uEKBLYH]QuHKM]OANANMNANA
uE@K[H[@LZu
#UeK[[[k[[[j[[[
uE@KuZ@]L
#UeL[[[a[[[
UeL[[[@[[[g[[[
U!eLIce!
U	ellllllllmllllOllylm
U	ellllllllmlll]Y]]
uELO@JA@L[
UeL[[[X[[[][[[5
UeM[[[8[[[?[[[J
UeM[[[z[[[
UeN[[[D[[[
uEN_G;@bT
UEngine.Scan.SpecialFolderScan
uE]]N]]XuM[PXJNN
#UeN[[[Y[[[q[[[C
ueO[[[*[[[
UeO[[[![[[
ueoggG#!
UeO[[[n[[[m[[[_
UeO[[[Q[[[
UeP[[[C[[[
uepgppepq
uEpgppepq
UeP[[[p[[[
UeQ[[[6[[[
UeQ[[[H[[[A[[[t
#Ue@[[[q[[[w[[[
#UeQ[[[Y[[[N[[[1
#UeR[[[e[[[
#UeR[[[g[[[
UerUsSCSS
ueT[[[	[[[
ueT[[[s[[[
UeU[[[f[[[
UeU[[[L[[[
UeV[[[_[[[
@UE@VE9Tg
@UE@VE@WQZ
UeV[[[F[[[E[[[Jt
UeV[[[u[[[t[[[Jt
UeV[[[x[[[s[[[!#
UeX[[[G[[[F[[[
@UE@[xPD@GTD
UeX[[[r[[[q[[[
@UEXsSCSS@IQBL
@UE@yE@zE@@EBA
@UE@YT[H7BG
#UeZ[[[f[[[
UeZ[[[g[[[
)))uEZHZZ
)))uEZMEFJBLM
UezNllllllllmllllOllylm
U_E@ZQWMsSSS
uf_[[[|[[[
")))u]F]
uF5gqgg6
UF7gqggH
uf7N.d:A#d
ufA[[[;[[[
UfA[[[][[[
UFAdX[[[;
ufA[[[j[[[
UfA[[[J[[[
ufB[[[a[[["[[[
Uf[[[[B[[[A[[[
UfB[[[n[[[m[[[|
UfB[[[P[[[
UfB[[[u[[[t[[[
ufC[[[n[[[c[[[G
UfcRgsegfGS
u"fD9cFtO
	UFdA[[[
[[[	UFdJ[[[
[[[	UFdK[[[
	UFdL[[[
uFdR[[[-
	UFdU[[[
ufE[[[g[[[d[[[
uFELJEZ@Mu
UfE[[[R[[[
UfF*@@@B
?)))u]FFEZuKMDHGHNL[
u[FF]uJ@D_
uFg[egfGj)
|UfgfGh.
UfgfGj*_
|UfgfGvM
UfgfGW?!
Ufggfwxu
u)))FGJL
uFGLuHEZF]A@GN
ufgqggbuNU
UFgqggpb
uFgUbgfG
ufgwbgfG
)))u[FHD@GNuDFS@EEHuO@[LOFQuY[FO@ELZu
uF[HJELuKHZL@DHNL
UfH[[[T[[[
ufIAAAA@AAAAAC
UfI[[[F[[[
 u_figfGh
UfI[[[x[[[k[[[
ufK[[[:[[[
uFKCA]DE
uFKCE@GB
uFKCLDKuFKC
)))uFKCLJ]
#)))uFKCMH]H
((uFKCMH]H
)))uFKCMH]H
uFKCMH]H
uFKCMH]HR
uFKCMH]HRT
uFKCMH]HRu
uFKCMH]HRuFKCLJ]uFKCMH]H
uFKCMH]HRuFMZ
?)))uFKCMH]Hu
(*uFKCZJHELP
(*uFKCZJHELQ
)))uFKJQZG[XAN
uFKJQZG[XAN
uFKLM@LGJLZuLDKHED@GN
)))uFK[NPZB_BJ
uFK[NPZB_BJ
ufL[[[3[[[
ufL Eea:
u)))@F[LN
uFMGMDOM
uFMKJJFGO
UfMQ(XSSWTL
UFN3cgfG
ufN[[[C[[[E[[[
UF[@N@GHEZL]]@GNZ
)))u_FN@ZA
UfO[[[I[[[H[[[
uFOO@JLJELHGL[
uFOO@JLZL]]@GN
UfO[[[v[[[t[[[
Ufpgppepq
ufQ@.d[[
Uf_[[[|[[[r[[[
UfRdT[[[
UfR[[[J[[[
Uf[[[[R[[[V[[[2
UfsClientRequest::fscan
ufS[[[e[[[
UFsE)gfGmS]
UFS exception
UfsGetMetadataBool
UfsGetMetadataByte
UfsGetMetadataLong
UfsGetMetadataLongLong
UfsGetMetadataShort
UfsGetMetadataStringA
UfsGetMetadataStringW
ufS[[[i[[[
UfsMetadata: UtilWideCharFromUtf8 failed
UfS[[[R[[[I[[[]
UfsSetMetadataBool
UfsSetMetadataByte
UfsSetMetadataLong
UfsSetMetadataLongLong
UfsSetMetadataShort
UfsSetMetadataStringA
UfsSetMetadataStringW
Uf][[[S[[[T[[[H
UFtD704]0
UfVAAAAAA@AAAAAC
UfVAAAAC
UFVdO[[[
UfW[[[M[[[
u)))FYLG
)))uFYLGuJFDDHGM
)))UFYLGZZEHLZ
)))UFYLGZZEKHZL
UFYLGZZEKHZL
)))UFYLGZZELGJ
@)))UFYLGZZELGJ
UFYLGZZELGJ
Ufy[[[V[[[
uFZEFuHKJ
uFZJFG]LG]u
uF[[[Z[[[K[[[;.
uF[[[Z[[[K[[[(9EJ9
UfZ[[[P[[[
UfZ[[[W[[[
u_g1fgfG
u(G2Npgppepq
#ug3bgfG
ug3dgfGX
Ug3ngfG.
U.g5kgfG
ug7dgfG:
Ug7fgfGY
Ug7hgfG9
!ug7qggG
U g9ggfGm
u'g9jgfG
ug9kgfGe
ugacgfG54
ug]agfG#
!)UgAggb(
u(gAggfG
UgapgfGx
uGBE@JBLGZ@LA@L[
.Ug'bgfG
UgbgfGH*:
ugbPyxxrk|XH
UgCbgfGL
UgCcgfGz
UgCCNCCCBACC
u_gCfgfG
]UgCkgfG:
Ug!dgfG2
Ug_dgfGD'
Ug'dgfGJ
@[[[UG]dJ[[[
U GdM[[[
u?g)egfG
ug#egfG.
ug'egfG!
Ug'egfGo
u- gEkgfG
ugengfGIF
u)))@G_FBL
ugfGaKl[gqgg#
ug_fgfGd(
Ug[fgfGGj
ug'fgfGM2V
]Ug#fgfGv
ugfGipYlgqggvEu
ugfGLsL gqggP
ugfGMElkgqgg
?:ugfGu4
ugfGVbm-gqgg|
uGF]LYHM
")))uGFML
ugfw*	FJj
uGFZGHYE@GLN[@MT
uggbgfG;
UggbgfG#
uggbggG;
uGgcfgfG
|(uggcgfG
u[ggcgfG
uggcgfGYi8
uggdgfGJ
!U'ggegfG
uggG7BZigqgg
uggGC!yUgqgg
;ug'ggfG
Ug#ggfG:
Ug-ggfG;
uggGVH3pgqgg
UgghgfG0
UGg-kgfG
-UggngfG
uggwgfG9
uG_H[H[NZ
uGHJA@EL
uG]HZBB@EE
uGHZ]L[FZH
uGHZ]L[FZJ
uGHZ]L[FZRH
UgicgfG]At)gqggf
UgiegfGdAy-gqgg
UgiggfwS
ugIJgfG1
UgI[[[l[[[c[[[(M
ugIvgfG#
ugJ[[[9[[[
UgJhggfwM
)))u@GJ@MLG]
;UgKfgfG
ugkfgfGs
)ug]kgfG
ug'kgfG)8-
Ug'kgfGD
ug-kgfGikTjgqgg
ug[kgfGT
'ug'kggG
U	gkkgfG
U	gkkgfw
UgkUDegVL
ugkugfGkj
UGLdU[[[
)))uGL]EFNFGuZPGJ
u@G]LEu]HZB
uGL[FOHM
Ug-lgfG[g
)))u@G]L[GL]LQYEF[L[@_L[
)))u@G]L[GL]LQYEF[L[u@LQYEF[L
u@G]L[GL]LQYEF[L[u@LQYEF[L
uGL]L[HJ
uGL]L[RH
UgL[[[p[[[
u@GL]uEFNZuYFFEuHNG@H
")))uGL@X
ug)"mdGV
'UgmegfG
Ug;mgfGIS
;UgMmgfGe"
uGMOKZCZBMN
u)g'NgfG
UgO[[[a[[[
U_goagfGd
ugODgfGD
#ug-|ogfG
#ug-|ogfGv
u)gOkgfGuS
ugooggG?p
UgO[[[s[[[
UgOwggG7
u;gowggGy	O
u:gpgppepq
ugpgppepqK
uGPHGQJH]
uGPJA][@HuKPOFZ[]HuGPOLGZL
u@@@@gp@P
UgQEyQUsSCSSsSSS
UgqfgfGD
u)|gqgg*
ugqgg07G
Ugqgg2z;
Ugqgg4((
Ugqgg4ATF
ugqgg;58i
ugqgg5CN
Ugqgg5gI
:)ugqgg7
ugqgg8wA
ugqgga9r'
ugqggaj7
U"gqgg"B
ugqggBk!:K
ugqggcnuD
ugqggcnuDy
U!gqggd	
UgqggeL-
*UgqggEY
UgqggF6P[
ugqgg'G8i
Ugqgg'G8i
-ugQgggGI
"u)gqggh
	ugqgg|HR
]ugqgg_i
|ugqggI?
ugqgg'ik
UgqggIT9
!	ugqggi*V2T
ugqgg]IvE
*UgqggjH*
ugqggKfe
ugqggKSl
U*gqggKSl
UgqggKSl
-Ugqgglr
UgqgglwfQ
UgqggM@OP
U|gqggMv
@ugqgg#N
_'ugqggO
U	#gqggOR1M
ugqggoVOe
Ugqggp!"Ij
-ugqgg!r
u:gqggR(ch
ugqggspS
ugqggsS0
u@gqgguD
Ugqggv;:Q
UgqggWm.
U#gqggwTO
UgqggWU)
Ugqggy6o
ugqggyg(
UgQmgfwkSI
UgqngfG3
u(gqqgfG
UgR[[[A[[[
UgS[[[;[[[:[[[
ugscgfG9
;ugsfggG0
UgSkgfGp
[[[UgTdC[[[g[[[e[[[[[[d[[[[
ugT[[[o[[[m[[[
UgU1gfwT
uguegfGd
U?)guegfGl
uGuGA]]YZ
)))uGuG]FEEO[LL
Ug;ugfGS
uGuGJE@JBu
uGuGL[[F[
uGuGuGA]]YZ
)))uGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuG
uGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuG
uGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuGuG
uGuGu]YL[E
uGuGYELHZLJFG]HJ]]LJAG@JHE
uGuGYELHZLZLELJ]
)-ugvgfG
Ug[[[[w[[[
]ugwbgfG
ugWdgfGU
#u'gwegfG
ugWegfG"gB
ugwegfGz
UgwfgfG8
ugwfggGe
ugwjgfG0X
uGY[FJLZZ
u@GY[FJZL[_L[
u*gYggfw
_UGyyyyyy
uG@ZAHGNuZALEEZu@G_FBL
u@GZ]HEEL[
u@GZ]HEEvOEHZA
u@GZ]HEEvOEHZAYEHPL[
]uGZLQLJ
uGZMZ]NNAuHKM]OANQNLNAMA
uGZMZ]NNAuHKM]OANQNLNAMY
uGZMZ]NNQuHKM]OANQNLNAMA
u@GZ[Z@M
[[[U[[[H[[[
UH7UI12U
u_H9S8w8H
UHANHIKO
")))u][HB
uHbhggfw
UHCUMPQ_SUU
UHdC[[[j[[[h[[[
)))uH[@DHEL
UHdH[[[T[[[
UHdJ[[[R[[[I[[[v
UHdL[[[*
UHd_[[[N[[[
UHdN[[[S[[[
#UHdV[[[
UHdV[[[_[[[
UHdW[[[_[[[S[[[
UhEdF[[[
UHEE[@NA]Z[LZL[_LM
uHEEZ]H[uBF[]
uHEKH][FZ
uHGHEPZ@Zu
uHGHEPZ@ZuEFNZu
u H!GHH!GP3
u_HG]HZ]@u
u_HG]HZ]@uPAZ[H
u_HG]HZ]@uPAZ[J
u_HG]HZ]@uPAZ[K
uHG]@K@F]@J
U)Hgqgg!
u;Hgqgg9
Uhgqgg[jI
uHGZ@uHGZ@JYN
')))uH_HZ]
@UHIJLUL@A
U@@HIUHJ@AK
u][HJBOF[DH]]@GN
U]HJ ]HJ U]HJ ]HJ ]HJ ]HJ ]HJ ]HJ 
uHJJLZZ@K@E@]PJYE
')))uHJ]@_L
UHJNIJK@J
u]HKBLPuYHMFDHKLu
UHKdW[[[
((uHKM]OANANMNANA
 uHL)eNYg
UHllllllllmllllOllylm
 U]HL U]HL
uHMD@G@W
)))uHMFKLHJM
uHMLOEHGN
U)))_H[MZ
u[HN_HGHKZJHKu@GLQHJ]JFDOF[]
u[HNHZ]@uPAZ[H
uH_NJ][E
#u)]H[NL]
u)))]H[NL]
U)))]H[NL]
UHNMLULH
UHOdO[[[
u-hpgppepq
uHpgppepq
UhpgppepqV
UHpgppepqW
u|h(t|hHz|hNl
@ uh@ uPL
uhVdO[[[9[[[8[[[6
uHxxxyxQy
uhxyyvyy
UHY1_[[[Z[[[K[[[u
)))uHYYE@JH]@FGMH]Hu
uHYYE@JH]@FGMH]Hu
uHYYE@JH]@FGMH]HuD@J[FZFO]u
uHYYE@JH]@FGMH]Hu@GMLOLGML[
uHYYMH]H
")))uHYYMH]Hu
uHYYMH]Hu
uHYYMH]HuA
)))uHYYMH]HuEFJHEu
uHYYMH]HuEFJHEu
uHYYMH]HuEFJHEuD@J[FZFO]
uHYYMH]HuEFJHEuKM
uHYYMH]HuEFJHEu]LDY
)))uHYYMH]HuEFJHEu]LDYu
?)))uHYYMH]HuEFJHEu]LDYu
uHYYMH]HuEFJHEu]LDYu
uHYYMH]HuEFJHEu]LDYuA@DL[HEFHML[
)))uHYYMH]HuEFJHEu]LDYuEFN@Z]@J[LOELJ]@FG
uHYYMH]HuEFJHEu]LDYuKHZLJHDY
uHYYMH]HuEFJHEu]LDYuLQL
uHYYMH]HuEFJHEu]LDYuMLJFP
uHYYMH]HuEFJHEu]LDYuQQQQ
uHYYMH]HuEFJHEu]LDYuR
uHYYMH]HuEFJHEu]LDYuRK
uHYYMH]HuEFJHEu]LDYuRM
uHYYMH]HuEFJHEu]LDYuRMLJJ
uHYYMH]HuEFJHEu]LDYuRO
uHYYMH]HuEFJHEu]LDYuYHPDLG]Z
;)))uHYYMH]Hu[FHD@GN
uHYYMH]Hu[FHD@GN
	)))uHYYMH]Hu[FHD@GNu
)))uHYYMH]Hu[FHD@GNu
:)))uHYYMH]Hu[FHD@GNu
uHYYMH]Hu[FHD@GNu
)))uHYYMH]Hu[FHD@GNuBBLLM]]
)))uHYYMH]Hu[FHD@GNuDF[S@EEHu
)))uHYYMH]Hu[FHD@GNuNL[]@B
uHYYMH]Hu[FHD@GNuNL[]@B
uHYYYH]JAuEZHZZ
u]HZBDN[
u]HZBLGNZJ[
u)))]HZFFZA@
uHZYGL]vJFDY@EL[
_[UI9	AD
@[UI9	A]LC
U@i@@A@ACa
U@@@@@i@@A@ACac
uiaa]Y]]
 uiaccess
UiAgqgg7[
uibAAAA@AAAAAC
UIBdT[[[![[[
UIdC[[[1[[[6[[[
UiDdL[[[Y[[[@[[[
UiDd@[[[_[[[V[[[
uIdU[[[Z[[[
#UIdz[[[t[[[c[[[
)U)IfgfG
UifV[[[2
UigqbgfG
uIgqgg?.
UIHLHMOLH
u|iHt|i.m
UIiUUIiyUIi
UI@KJULKM@U
uILdW[[[:[[[
UINNMULOM
@UINOHUHI
ui|o k|i|fJ
Uipgppepq
uiqo kqiq
uISllllllllmllllOllylm
UiUdA[[[u[[[o[[[
U@;@IU:;JIJLKONIKK
UiZ6yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
u(I;z r"L;
Uj2@@@@@u@@A@ACac
UJ4z]g	rgfG
u*j@@A@3 ET
u*j@@ABh PR
)))uJA[FDL
@)))uJA[FDL
uJA[FDLL
uJA[FDLuHYYE@JH]@FGuJA[FDL
uJA[FDLuJA[FDL
uJAHDYHN
u*j@@A@h FN
u*j@@A@h GH
'u"J[@@A@h PD
u*j@@A@h PS
u[@JA_@MLFJFMLJ
u*jB@A@2 @C
u*jB@A@2 @E
u*j@@@@B@A@2 @G
[UJ?cc]Y]]
[UJ?cc]Y]] ]]
[UJ?cc]Y]]#]]
.)))]uJ@D
uJd_[[[a[[[
u*j@(@@D@AEac
uj@dA[[[s[[[
UJdI[[[E[[[
;)))uJDM
uJdM[[[d[[[
uJdM[[[o[[[
u_JdO[[[
U)))JF@]
uJFDDFGO@ELZuD@J[FZFO]ZAH[LMuDZ@GOFu[LJPJELM
UJFDYEL]LUZ@NGU@G
uJFDZ_JZ
uJFFB@LZ
uJFFB@LZL[[
.)))[uJFG
uJFGAFZ]
uJFG][FE
uJFG][FEYHGLEuMLZB]FY
uJFGGLJ]O[FG]
uJFG][HJ]
UJ[FG]HK
)))UJFG_L[]]F
UJFG_L[]O[FD
uJFGO@NuZHD
uJFGO@NuZPZ]LD
u)))JFGSFFD
UjgEagfG
ujgq|gfG
UJgqggcnuD
(UjgqggS
UjgqggyLP.
U)))JHEE
uJhggfwK
((UJ[HGKL[[P
UJHHHXHHBHHBHHX
((uJHJALZuJ_L[Z@FGZ
UJHJJUJLMJIxxx
UJ@HN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHN@JHNYJ
U]JHxx]Y]]v
)))uJHZA[LD@GML[
')))uJ[@JB
)))uJJ]LZ]uH_HZ]HMJFGO@N
uJKBLYHM
uJ_KGQSJ_
uJK)mggfw
uJL[]FuK[FZ]uGLFGZL
uJL[]FuK[FZ]uGLFGZLH
U)))J[LH]LFKCLJ]
*UJllllllllmllllOllylm
@UJ@MNUL
u:j:OggfG
Ujpgppepq
UJpgppepq
uJ[PZ]HEGL]
U"jYXZ[Z
uJZJ[@Y]
[[[U[[[K[[[
@u@k@a@g@]@S@I@O@E@;@1@7@-@#@
UKAH@ULL
ukam_buffer_count_trigger
ukam_buffer_delay_trigger_in_ms
ukam_buffer_size
UKBdU[[[
ukcgfGcf
(*|uk_dgfG)C
UKdI[[[?[[[
uKEBEFJBvALEYvMLJ[PY]
UKeB[[[j[[[
UKeF[[[d[[[
UKeL[[[3[[[1[[[
ukELVjmkniojchbom
UKeZ[[[	[[[
uKFEL]FZJ
uKFEL]FZRH
)))uKF]_H
uK[FJH]LEEL
")))uK@G
#)))uK@G
')))uK@G
U)))K@GH[P@G
UKgkagfG
u"Kgqgg(
ukgqicgw
!)))u[KHJu
)))uKHZL
)))UKHZL
uKHZLJHDY
u)))KHZLO@EL
Ukigqgg"
Uk"Jhggfw
ukJpgppepq
uKLGJAuY[FQP
UkLllllllllmllllOllylm
)))uKLOH]A
)))uKLZ]
ukmeG[[[
ukmeK[[[
ukmeQ[[[
ukmeU[[[
UKmggfw[e
uK[NMHZ]uOAZK@Z]uZA[CMCPBMAC]
UKO@NH@MJLNM
uKP[[[Z[[[u[[[
uKQuYaa]Y]]
;UKRSc'ZSSS@S
@Uk(SSST
:uKvgfGp
ukwjPkR]X
ukyyyyyyyyyy1kyyyiyyyyyyyyyyyyyyyyyyyyyyUkyyCkyyekyyyyyy
Ul1[SSUK
Ul1VSSUK
Ul1WSSBNU
UL2aVUL)bMUL
UL2dVUL)e
UL@AKU@M
ULALOU@OK
ULC13M13
ULC73M7UsS
ULC	UH72U
UL_dA[[[g[[[e[[[
uLDESDDCu_B[@_SP
u)))[LDF_L
U'LdI[[[
U_LdR[[[
Ul_dT[[[
U*LdU[[[
!)))u]LDY
u]LDYELD
u]LDYHYYu_KHY[FCLJ]
UlDYSSUK
!)))u]LDYu
u]LDYuDZ
u]LDYuJYuJYv
u]LDYuJYu]LDYvJYv
u]LDYuQQ
u]LDYuS]DYiLJAFFOO
u]LDYu@YvHMM[LZZ
U]LDYWDHGHNL[u
uLDZYHJL
u[LEPFG_DE
UlEVSSBWU
u]L[]Fu_]FZ]uPFLGZL
u]L[]Fu_]FZ]uPFLGZLH
UlfVSSUK
'UlgAggD
ULGdKTLA9
uLG_@[FGDLG]
uLG_@[FGDLG]u]LDY
uLgGegfG
Ulg?kgfG
Ulg	mgfG
ULgqggP6
UlgWdggG
((uLGZYHJL
uLH97t7H
uLHBLYH]AuHKJ]OANQNANANA
uLHBLYH]AuHKM]OANQNANANA
ULHdHTLJ9
U@LHKU@HK
ULHNNUAI@LU
u|lHt|l.p
ULHUJIUHIU
ULIJKUAJH
ULIKAUAAM
ULIKHUAA
@@ULIMJUA@IHUH
UL@IMU@HOIUOMO@@KKN
UliZSSUK
u)))LJAFJ[LH]LFKCLJ]
u[LJF_L[PuZPZ]LD
u)))LJ]GL]
u[LJPJELM
|U@lK[[[
U@LKHKANN
ULKIMUAN@HULJAJ@
ULKKLUA@O
_ULL7UD13YBUBW
_ULL7UD13YZBU
ulllllllllmllllOllylm[
UlllllllllmllllOllylm
ULllllllllmllllOllylm
 ullllllllmllllOllylm
-ullllllllmllllOllylm
;ullllllllmllllOllylm
u!llllllllmllllOllylm
u"llllllllmllllOllylm
u(llllllllmllllOllylm
u@llllllllmllllOllylm
ullllllllmllllOllylm
ullllllllmllllOllylm)
ullllllllmllllOllylm:|
ullllllllmllllOllylm?
-UllllllllmllllOllylm
;UllllllllmllllOllylm
]UllllllllmllllOllylm
U(llllllllmllllOllylm
U-llllllllmllllOllylm
U[.llllllllmllllOllylm
U[llllllllmllllOllylm
UllllllllmllllOllylm
UllllllllmllllOllylm-
UllllllllmllllOllylm@
_UllllllllmllllOllylm1]
UllllllllmllllOllylm3
UllllllllmllllOllylm!4:m!:
UllllllllmllllOllylm5
ullllllllmllllOllylm7
ullllllllmllllOllylm7-
ullllllllmllllOllylm8
|UllllllllmllllOllylm8p
ullllllllmllllOllylma
UllllllllmllllOllylmAH
ullllllllmllllOllylmb
UllllllllmllllOllylm?D
ullllllllmllllOllylme
ullllllllmllllOllylmF
UllllllllmllllOllylmi
UllllllllmllllOllylmI
U@llllllllmllllOllylmk
UllllllllmllllOllylmk
UllllllllmllllOllylmL
UllllllllmllllOllylmM
ullllllllmllllOllylmM9
UllllllllmllllOllylmn
ullllllllmllllOllylmp
ullllllllmllllOllylmq
ullllllllmllllOllylmQ
UllllllllmllllOllylmq
ullllllllmllllOllylmQi
UllllllllmllllOllylmR
ullllllllmllllOllylmSO
_UllllllllmllllOllylmT
UllllllllmllllOllylm"V
UllllllllmllllOllylm#X
ullllllllmllllOllylmZ
ullllllllmllllOllylmZi_
ullllllllmlllqMO8) V8
ullllllllmlll]Y]]
Ullllllllmlll]Y]]
Ul*llylm
u)))LLQLJ
uL)mgfGR
ULM@HUANKIUALHJH@
ULMLMU@IKNU
@ULMMKU@MLNUO
uLNALCMF[
ULNdHTLH9
ULNKAU@J
u[LNLM@]
ULNOMUAOKMU
UlNQSSBWU
)))uLO[ANAAMA
u@LO[HDL
U(LO"k7z
UlPllylm
U@@@@@@@@Lp@n
.)))ULQ@]
?)))U@LQ
ULqdHTLs9
)))uLQ]LGZ@FGZuOCM@BGHA@KJOLYGCEHDKDHELGDO@YGAH
u)))LQLJ
)))uLQLJJDM
")))uLQLNGH[B
uLQYEF@]
)))u@LQYEF[L
:)))u@LQYEF[L
uLQYEF[L[
uLQYEF[L[u
uLQYEF[L[uLQYEF[L[
uLQYF[]ZL]]@GN
ULrdKTLL9
uLRdx[[[
UlRSU@WQAU
ulSSSSSSSS
ulSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSdj
;ULsuegfG
uLTRApROTECT
Ul(TSSUK
UL;UHIUHKU
ULUQPTLYUPVL
Ul)USSUK
u@LvJHZA
ULX97LY9
ULyggGs 
ULYgQDyULbgQEyULt
u]LZ]u]LZ]
u]LZ]uZG
@ULZ@VTD9
UM72Y[D9
UM73YTK9
UM73YxYU]V
]UM7CUAQD
]UM7CUAQK
U[[[M9Xdx[[[T[[[
UmBagucgfG
u)))M@DJA@EFZDPH[[HPM@EFZZMFDH@G
[[[U.me@[[[
U.meA[[[
U.meA[[[a[[[e[[[
U.meB[[[
[[[U.meD[[[
uMEEAFZ]
U.meE[[[u[[[
U.meF[[[
#[[[U.meI[[[
U.meI[[[
U.meJ[[[
U.meK[[[
[[[U.meL[[[
[[[U.meO[[[a[[[f[[[
'U'mEsgfG5
U.meU[[[	[[[
U.meU[[[Z[[[
U.meV[[[
[[[U.mex[[[
U.mex[[[
[[[U.mez[[[
U.mez[[[
U.mez[[['[[[
?[[[U.meZ[[[
[[[U.meZ[[[
U.meZ[[[
uMFGF]LDKLMZPZOFG]
uMFGF]ZJHGu_]LHD
umg9ggfG
uMg)egfG
UM'?ggfG
u)mggfw;
U!mggfw-
:u)mggfwu
umgWdgfGSO!
uMH98uHH
uMHBLYH]Au
uMHBLYH]AuHKM]OANQNANANA
)))uMHDvPFG
uMH]FYu_@DH
U)))MH]HJLG][HE
u)))MH]H]PYL
uMH]HZ]F[L
uMH]HZ]F[LTT
uMH]HZJ[HDKEL[uJELHG
uMHKDFuN
:)))uM@HNYHJBHNL
UMKAJULOMAU@JKIUJ@H
u)))MKJEHZZ
u_@MLFZuw_
uMLJE@GH
uM[@_L[JHJALu
)))uML_@JLJFGO@NDHGHNL[
uMLJvLGJv
uMLOLH]@G
uMLZB]FY
uMLZB]FYu
uMLZB]FYu_@[
uMLZB]FYuFF@A
uMLZB]FYuLQJLELQYEF@]
uM@_L[ZLEPu
uM[@_L[Zu
uM[@_L[ZuD[QMH_
uM[@_L[ZuL]Ju
uM[@_L[ZuL]JuAFZ]
uM[@_L[ZuL]JuAFZ]Z
uM[@_L[ZuL]JuAFZ]ZLJAF
uM[@_L[ZuL]JuAFZ]ZZ]H[]A]]Y
uM[@_L[ZuL]JuAFZ]ZZL]CF
uM[@_L[ZuMLZY[F]L]F[M[_
uM[@_L[ZuNKYBD
)))uMLZY[F]L]F[
UMMMM*Y*YMM
_[[[U[[[[m[[N
UMNppgppepqu.
uM]OAM][
UmP[[[5[[[([[[
|umpgppepq
UMpgppepqZ
umSSSSSSSSSSSS
UmSSSSSSSSSSSS
umSZpgppepq(k
;umTv]Xg
UMUbatPV
UMUbaxA@SLI
UMUbaxBPWNL
UMUbaxRLAB@
UMUbaxWPHGD
UMUbayHQGLKCJ
UMw	dgfG;?
UM@@@@XpQC@
u[MYH[LGH
UN	13XPUD
u@@@@@n@@A@AAac
Unable to add detection message handling callback during pipeline startup.
Unable to add pipeline message handling callback during pipeline startup.
Unable to add to ignore list
unable to close due to unfinalized statements or unfinished backups
Unable to create 'C' locale.
Unable to delete from ignore list
unable to dump given function
Unable to find required source for profile_database_service_api_ptr.
Unable to get tampering detection diagnostic information from the driver
Unable to get TDT operational state
unable to identify the object to be reindexed
Unable to load '
Unable to locate  PspCreateProcessNotifyRoutine
Unable to locate  PspLoadImageNotifyRoutine
Unable to locate SrvTransaction2DispatchTable Offset
unable to open a temporary database file for storing temporary tables
unable to open database file
Unable to open message catalog: 
Unable to pause agent. Already in pause state
Unable to pause agent. Verify if core_telemetry_publisher is listed as a plugin in the profile
Unable to pause TDT agent
Unable to reset ignore list
Unable to resume agent. Agent not in Pause state
Unable to resume agent. Failed to register PMI handler.
Unable to resume agent. PMU in use.
Unable to resume agent.  Verify if core_telemetry_publisher is listed as a plugin in the profile
Unable to resume TDT agent
Unable to resume TDT operation
unable to set new timeout internally
Unable to start data pipeline! error code : 
Unable to stop TDT agent
uNAG[FYL
__unaligned
unaligned.
unbalanced pattern
unbiasedminutes
UnbiasedTime
unbox.any
undefined
undefined is not an object
UnderBar
underscore
u:NdF[[[
UNDOCUMENTED
unescape
unescape() is not a constructor
Unexpected count
unexpected end
unexpected end of data
unexpected end of line
UnexpectedNotifications
Unexpected token
uNfAAAA@AAAAACl
uNFFNELJA[FDL
uNFFNELuJA[FDLuHYYE@JH]@FGuJA[FDL
unfinished capture
uNg7kgfG
uNggfGI?
UNgiggfw0
Ung]kgfGP
[UNgqggcnuD
u[NGu[NG
u[NGu[NGCBEH
unhaltedratio
Unhandled
UnhandledExceptionFilter
Unhandled token
uN[HDFuKY
uNHLNSZ]@uFEMO[H
uNHLNSZ]@uFEMO[K
UnhookWindowsHookEx
uNHOOLZu
uNHOOLZuE@D@]ELZZKFHZ]L[
uNHOOLZu[L][LH]LM]FEE
uNHZ]LJGFEFN@H
Unininitalized
Uninstall
UninstalledServicesCount
Uninteresting
UNION ALL
uniqueid
uniqueid_scrubbed
UniversalQuery
unixepoch
__UNIXSTACK
uNJJu@G]L[GL]LQYEF[L[
unknown compression method
unknown compute device.
UnknownContent
unknown directive
unknowndll.dll
UNKNOWNDLL.DLL
unknown error
Unknown error
Unknown error.
Unknown error (MpCatchAll).
unknown escape sequence
Unknown exception
Unknown exception.
UnknownFileManipulation
Unknown flags
Unknown Hash Type
Unknown json error
unknown MSR
unknown operation
Unknown operation
Unknown record type
Unknown type.
uNL]HMD@G
unlikely
UNllllllllmllllOllylm!
UnlockFile
UnlockFileEx
U)))N[LY
UNL]Z]PELZ
UnmappedDetectionC
UnmappedDetectionE
UnmapViewOfFile
UN!mggfw
u)))NMQA
uNnFD]C]Y]]
UN@NMUL@HHU@N@@UHJO
U@NOLUIAMJNNA
unopened
unordered*
uNOxcgfG
)))uNOZMN[
Unpacker
unparseable argument to Function contructor
unpckhpd
unpckhps
unpcklpd
unpcklps
UNP_METHOD_EXE32PACK
Unrecognized compression type
Unrecognized table field "
UnregisterClassW
UnregisterHotKey
UnregisterTraceGuids
UnregisterUserApiHook
UnregisterWaitEx
unsigned 
unsigned __int64 __cdecl boost::json::object::growth(unsigned __int64) const
unsigned __int64 __cdecl boost::json::value::as_uint64(void) const
Unsupported
Unsupported BOM
unsupported file format
unsupported frame delimiter for ROWS
Unsupported model version
Unsupported operating system
Unsupported platform
UNSUPPORTED_UNICODE_FILENAME
Unterminated named capture.
unterminated string
?)))uNuYO
Unverified
U||nV||SV||6V||
?UnXvkV]Rq
uN'((]Y]]
U:_nY[[[j
..unyy![yyuI!
[[[u[[[o[[[
|)))u[]O
@uO6kgfG
UOAKOULNJ
uOANHCBEH
uo@@@@B@A@2 @FE
uOB_F_SGuDJN@HSYuF@M[QNA
Uob.gexgfGt
;)))uO@BO]BD
'uo'c'':
uOdL[[["[[[
!)))uOEFJB
:)))uOEFYL[Z
uOEFYu][LZ
?uo egfG
uO@ELHY@
uO@ELZuLQJLELQYEF@]
uOEM@GZ]RAPYL[E@GB
UO[FDJAH[UZ][@GNUOF[U
])))uOFE
')))UOFG]UNEPYAZ
)))UOF[LHJA
UOF[LHJA
)))UOF[LHJAR
UOF[LHJAR
UOF[LHJARJELH[
UOF[LHJARrJAH[t
uOF[O@ELZ
uOF[ZLHOFQNHYuLJAF@GNLELDLG]
U;ogcogfG
uog'egfG
u_ogfGBj
u[[[.;ogK[[[
uO@GMY[FJMEE
UO@GMZ][
UogYkgfG
uOH]AFDLMu
uOHBLYH]A
uOHBLYH]Au
uOHBLYH]AuHKJ
uOHBLYH]AuHKJ]OANANANANAN
uOHBLYH]AuHKJ]OANQNANANA
uOHBLYH]AuHKJ]OANQNANANAC
uOHBLYH]AuHKJ]OANQNANANAN
uOHBLYH]AuHKJ]OANQNANANANZJ]
uOHBLYH]AuHKJ]OANQNMNANA
uOHBLYH]AuHKM]OANQNANANA
uOHBLYH]AuHKM]OANQNLNAM@
uOHBLYH]AuHKM]OANQNLNAMA
uOHBLYH]AuHKM]OANQNLNAMY
uO[HZ]uM[LZ]uHZ]FY
UOJHKAHINNOL
U@O@KULJJ
u)))OL]JA
uollllllllmllllOllylm
U[OllllllllmllllOllylm.
uOLMJKHOLMJKHOLMJKHOLMJKHOLMJKHOLMJKHOK
')))uO@[LOFQ
;)))uO@[LOFQ
u)))@OLQ@Z]
)))uOM@GDM
)))uO@MMEL[
uO@MMEL[
UOMMMMMOM
UOMOMSHOJ
uONZMNOMZONK_J_GJ_GMNOONANOMAMAONKNOKNOTRuFKCMH]HuFKCLDK
u[ONZNuFC@CH
u[ONZNuFC@CHGH
u[ONZNuFC@CHGK
uOOALEY]LQ]
UO_O_O_O_OR
UO|PExRD
Uopgppepq
UoqpgfGfK
uorgfGGY
?)))u[]Ou
UO]YUO@ELUJA[FDL
)))uOY[X
uoyyyyyyyyyy[oyyyiyyyyyyyyyyyyyyyyyyyyyymoyyyyyy
uOZJ[@Y]
UoZllllllllmllllOllylm
uOZMOCANABC
uOZMZMNNOuHKJ]OANQNANANAN
up0VH2L@H
@UP6@BP@VBU
;upAgggfw
@@@@@@@@up@@@@@@@@@@@@@@ap@g
Upcpgppepq
UpdateCalls
UpdateFolderStatus
UpdateMisses
UpdatePolicyStatus
UpdateProcMisses
UpdateProcThreadAttribute
_update_single_process
UpdateSource
update_time
UP]dB[[[
UpDdJ[[[_[[[t[[[
UPdI[[[a[[[
UPdK[[[s[[[
UPdK[[[V[[[B[[[
UPdM[[[)[[[-[[[
UPdM[[[:[[[9[[[
UPdR[[[h[[[
UPdS[[[D[[[z[[[
UPdx[[[I[[[O[[[
Upg-kgfG
!upgppepq
#upgppepq:
)u pgppepq
u!pgppepq.
u.pgppepq
u[pgppepq
upgppepq
upgppepq 
upgppepq*
upgppepq;
upgppepq@
	Upgppepq#
!Upgppepq
#Upgppepq
-Upgppepq
[Upgppepq
U#pgppepq
U*pgppepq
U?pgppepq
U@pgppepq
U[pgppepq
U_pgppepq
U|pgppepq
Upgppepq
Upgppepq#.
Upgppepq)
Upgppepq.
Upgppepq@
Upgppepq_
upgppepq0P3
u_pgppepq2
upgppepq5
Upgppepq5
upgppepqaI?
upgppepqb
Upgppepqc
upgppepqdV
U[pgppepqE
(upgppepqf
u:pgppepqF)@
Upgppepqft
:?upgppepqg
UpgppepqH;
UpgppepqHb-
.upgppepqL
_Upgppepql
Upgppepqo
upgppepqp
upgppepqP
UpgppepqP
upgppepqQ
U pgppepqq
upgppepqSG|
UpgppepqT
Upgppepq@u
upgppepqw
UpgppepqW
u;pgppepqx
Upgppepqx
UpgppepqYbJ
U';pgppepqy)S
upgppepqz
upgppepqZJ
upgppept
Upgppept
Upgppept!
UPgqggI'X
?upgwwggG
upH9.urH9
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@Cp@MqZ3
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@XpsD
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@jp@@@@@@@@@@@#@@D@ACac
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@Kp@@@@@@@@@@B@AAHp@U
@@@@@@@@up@@@@@@@@@@@@@@Ip@@@@@@@@@@@@@@Lp@i
u@@@@@@@@_p@J
[[[UPKdZ[[[
(U]pkN3]Y
	U]?P]?L
uPL;f rJH
uPLJN][@Fu@HOF[Z]HuKPNLGZL
upllllllllmllllOllylm7
@@@@@@@@up@@@@@@@@@@@@@@Lp@I
u_P[LSJMJ]E
UPMdC[[[
uppgppepq
U)))][PR
uPrimary
uPSiSstPShS
uPSkS3uPSjS
UPSSBF(nSSW@@B@LY
uPSSWL_9
uptodate
@@@@@@@@up@@@@@@@@@@@@@@up@@@@@@@@@@@@@@AQ@M
@@@@UPUU
UPUU1TUuD]Y]]
UPUU1TUUD]Y]]
@@@@UPUU2TUuDgAgg
UPUU3fL?
UPUU3TUuD]Y]]
UPUU3YUUD]Y]]
UPUU4TUuD]Y]]
UPUU4UUeD]Y]]
UPUU7UUeD]Y]]
UPUU9TUuD]Y]]
UPUU9UUeD]Y]]
UPUUBTUuD]Y]]
UPUUBWUUD]Y]]
@@@@UPUUc_
UPUUdYUUD]Y]]
UPUUeYUUD]Y]]
UPUUfUUeD]Y]]
UPUUgTUuD]Y]]
UPUUI_UUD]Y]]
UPUUj_UUD]Y]]
@@@@UPUUlTUeDgqgg.
@@@@UPUUMTUED]Y]]
UPUUnTUUD]Y]]
UPUUNTUuD]Y]]
UPUUoTUUD]Y]]
UPUU TUuD]Y]]
UPUU@TUUD]Y]]
UPUU"UUeD_R__O_
UPUU UUeD]Y]]
UPUU'UUeD]Y]]
UPUU-UUeD]Y]]
)UPUU!UUuD]Y]]
UPUU:UUuD]Y]]
)UPUU UUuD]Y]]b
UPUUYTUuD]Y]]
UPUU YUUD]Y]]
UPUU!YUUD]Y]]
UPUU"YUUD]Y]]
UPUU#YUUD]Y]]
UPUU'YUUD]Y]]
UPUU-YUUD]Y]]
UPUU.YUUD]Y]]
"@@@@UPUUZTUEDx
UPUUZUUeD]Y]]
UPXCompressionMethod
upxsCRAMBLER
UPXVersion
(Upxw-DAMAGED)
upy1tpyZ
u)))]PYL
UpywTpyYTpyMTpy-Tpy
:upyyqmpyysx
uP[[[Z[[[
 uP[[[Z[[[q[[[
[[[u[[[q
[[[u[[[Q
||||u|||Q|||
[[[U[[[q[
u@@@@@q@@A@AAac
Uq@@@@AA@@mpDF
(UQagfGH
uQAMBAXDBPF
Uq@@@@@@A@mpYMd
Uq@@@@@A@@_p@F
uQAVllllllllmllllOllylmG
Uq@@@@B@A@2 @D
Uq@@@@B@A@2 @m
Uq@@@@B@A@2 @Yl
Uq@@@@BAA@ap@D
Uq@@@@BAA@ap@DL
Uq@@@@B@A@ap@
Uq@@@@BA@@Hp@D
Uq@@@@BA@@Hp@F7
Uq@@@@B@CAEp@M
@uQBDsSWSSsSSS
Uq@@@@B@@@Hp@y
@UQBUB[B_
@UQBUHsSSS
@UQBULG9
@UQBULsBT
@UQBUTsSSS
@UQBUvBG
@UQBUZsSSS
UQdM[[[?[[[
Uq@@@@@@@@dp@O
uQdR[[[o[[[
U;QdZ[[[
uQEAZKNSYZQ
uQELJN[HD
@uQ@EP@DBEv
uQEuDLM@Hu@D
uQEuDLM@Hu@DHNL
uQEuSHBF[u_L
UQgG[[[z[[[y[[[
uQHMuQKKuQJ
UQH[NZB@EE
uQJHuQOO
uQKMr]BPuQ
uQKX]ZXYYkIkK]Qp]Z_Z
uQKX]ZXYZkIkK]Qp]Z_Z
uqL@@@@A@AA[pJL
uqL@@@@@@AA[pLL
uQLLuQJLuQ
uQMMLHuQJ
uqNbK[[[
u:(QNLL6W
uQOMuQJOuQ
uQOOuQOOuQOO
uQOOuQOOuQOOuQOO
uQOOuQOOuQOOuQOOuQJ
uQpgppepq
Uq@@@@@@@@)pxL
U)))]]@QQ
UQSSD@_k
@UQssRSS9
@UQUOsSSS
uQUYZYkIkK]Qp]Z_Z
uQUYZZkIkK]Qp]Z_Z
UQ(VSSW(nSSW
@UQ(VSSWYBVI
Uq@@@@@w@@B@AFac
UQXPQ#"'LQ#QSLUPV
?uqxyy.v
Uq@@@@@@@@yp@J
UQz@@AAh C]3
UQz@@ADh C]3
UQz@@A@h HN]
UQzB@AA2 @B
UQzB@AD2 @B
Uqz?ZUGP
UR@@A@4 blc
UR@@A@4 Tlc
UR@@A@4 Xlc
UR@@A@4 Ylc
UR@@A@4 Zlc
URA@A@4 Tlc
u@@@@@r@@A@AAac
UR@@A@h PN]
URB@A@2 @F
URB@A@4 @lc
uRCdB[[[V[[[
U[RCSkcSSrS
U[RCS tSSrS
U[RCS tSSrSUX
U[RCSVaSSrS
U[RCSx3SSrS
U[RCSyiSSrS
urD9bTulM9f
U)))rDH@GtHO@M
uR dzRZNF
UR@fA@P@ACac
UR)fgfGz
u(rg3kgfG
uRg7kgfG
urGH]@_LJFMLut
u]Rgqgg'G8i
Ur-gqggl
URGyyyyy
UrHdA[[[
URIError
URIError: 
urIJOVHVHVIq
uri_scrubbed
UrlContext
UrlContextElement
UrlElement
UrlGetPartW
ur|LllllllllmllllOllylm|
URLParseFail
UrlReport
urlreportguid
Url reputation report timed out waiting for response.
URLRespMismatch
UrlResponse
urlresponsecontext
UrlResponseContext
UrlResponseContextElement
UrlResult
url_scrubbed
URLSendLatency
URLTimeOut
UrlUnescapeW
ur)mggfwrc|_i
UrmgggwQ
u)))rM@HNGFZ]@JZ
UrNdU[[[W[[[g[[[u
|U|R|N|O|L|M|L|I|Q|L|N|M|J|U|||
uRS3]]SSS@S
URSCa]SSS@SGbMTRSSSSS
URScccLccacJc0
uRSC]]SSS@S
uRSCt]SSS@Se
URS#DRSSS@S
urS ipgppepq
URSRSc3QSSS@S
uRSRSCQ]SSS@S
uRSRSCW]SSS@S
URSRSS2QSSS@S
uRSRSSP]SSS@S
URSRSSXWSSS@S
URSSEyBWI
uRSsF]SSS@Sz
URSS[QSS[WSS[[SS[CSS[QRS[WRS[[RS[CRS[QQS[WQS[[QS[CQS[QWS[WWS[[WS[CW
uRSSQ(VSSW@DAwI
)uRSSSSS
uRSSULG9
uRS#Y]SSS@S
)u|r)u|k)u|])u|V)u|I)u|B)u|5)u|-)u|')u|
ururuwuiu
ururyxpx
uRuTuTTRuTuRu
URUVLUXP
URVVVVWOWWHSWWWWWWWUWWWW
]uRxiULO9
urxxxur.
urxx]Y]]
urxyxcxD
urxyxsy1
urxyxZyx#;
u!r@@@@]Y]]
?u:RYMjllllllllmllllOllylm
_uryxTx1x
uR[[[Z[[[
||||u|||S|||
us9E8u	H
uS9E8u	H
Usage Error: Can't mix regular expression captures with POSIX matching rules
@USATAUAWH
usA.tBmW
uSBOZOZ]uXFXPYKOuXSABOAE
@_UsCRSS9
uSd@[[[)[[[-[[[
[[[USDdR[[[
useE[[[H[[[O[[[V
usequarantinestore
USER32.dll
useraccountcontrol
userAgent
UserBlock
user buffer pool has already been initialized.
user_buffer_pool init parameters
userdata
USERDOMAIN
USERENV.dll
UserHandleGrantAccess
UserInitMprLogonScript
userLanguage
username
USERNAME
username_scrubbed
userparameters
userProfile
USERPROFILE
userservice
Usershellfolder
UserShellFolder
user_version
uses_access_violation
uses_bound_exceptions
uses_breakpoints
uses_div_by_zero
uses_int_overflow
uses_invalid_opcodes
uses_privinstr
uses_single_stepping
uses_udbgrd
uses_udbgwr
usesuninitializedregs
uses_unusual_breakpoint
uSgfGyqXRgqgg
USg!ogfG
_[UsGRSS9
UsgUggfG
UShDQSSUs
usheap_RVA
usheap_size
UShqQSSUsW
USh_QSSUs
UShRQSSUs
u|sHt|s.w
u|sHz|sNw
[	[[[u[[[s[j[k[k[h[n[j[w[i[r[w[
[[[u[[[s[j[k[k[h[n[j[w[o[r[w[
uSj@pgppepq
USK[AAAA@AAAAAC
us@@@@@L@@AQ@P
USllllllllmllllOllylmF
USLUQWTL
uSL[uZYY
usntimestamp
Uspgppepq;N
@Us-PSSZK	gQEyVYEZgjPXBUP
U@SQT@SCT@SMT@S
uSQYEQYMuPD_]F[]
USRPQ_QPW
[u@SRSSSSQVR
USS3URS#URS
USSBb@KBK
USSBCU9Q
USSBTAgLO
USSBTLA9
USSBYsSCRS
USSBZ[K9
USSBzLjn
USSD@@UD9
USSE@WE@VE@_EYEBy
USSFXSSFXSSFXSS
USSIQSS;RSShQSS
USSkhPSSL
USSMRSSpQSS
USSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
USSQPSBQ(VSSWs5
@U[sSQSS
USSQ(WSSW@]B]s
USSRSSBQ(RSSW(QSSWK9
_UsSRSSd
USS:RSSGPSS
_UsSRSS[LC7s
USSSESSSASSS]SSSYSSSUSSSQSSSxKUT	YUT	YUT	YUT	YUT	YUT	YBqs
USSSoSSSVSSS]SSSDSSStSSSsSSSk@RSS]V]U
USSSQSSS]SSSpSSSkSSS
USSSQSSSXSSSGSSSzSSSmSSS1SSSx
USSSQSSSYSSSASSSuSSSiSSS
USSS@S6h._RS
USSS@S9XRSRSS
USSS@SD_RSRS
USSS@Seo._RS
USSS@SGn._RSc
USSS@S|_RSRSS
UsSsSS3Yx
UsSSsS9f
USSSS@S RKSRS
USSSSSSS9Y
USSSSSSSS
[uSSSSSSSSSH
uSSSSSSSSSH
uSSSSSSSSSHPH
USSSSSSSSSSSSSSSSSSSSSS
USSS@S(XRSRS
USSSVSSSaSSS
USSSVSSSMSSSeSSS
USSSVSSSNSSSeSSS
USSSVSSS_SSS@SSScSSSISSSLSSSk#RSSU]V
USSSVSSSVSSSOSSS
USSUPSBQ(VSSW(uSSWK9
USSUQ(VSSW(nSSW
USSUWSBQ(WSSW
#USS]WL'9
USSW@VBVv
USSZPSSBQSS
USU@[B[s
USUBWUA[
USUEyE9@IE9@JBVj
USUj1RSSBYLk
USUQTLC9
USU@TBTj
USUuAVZPLC9
USUuAXLs
USU@UBUs
USU@UBUUg;UBU
USUuE9@zWE
USUuQLs9
USU]WAXM
USU@XBXj
USU@YBYj
USUyEyEy
USUYQLs9
USUYxCBWs
USUyZO1@TVLC9
@USVATAUAVAWH
USVATAUAVAWH
@USVATAUAWH
USVATAVH
@USVAVAWH
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
USVWATAVH
@USVWATAWH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAVAWH
USVWAVAWH
@USVWAVH
@USVWAWH
USWABQ(VSSW(|SSW.
USWACBZ.
USWACE9.
USWA_Q(VSSW(|SSW.
@USWATAUAVAWH
USWATAUAVAWH
@USWAUAWH
USWA_UB[
@USWAVAWH
USWAVAWH
USWAXE9.
USWAXsSSRS9.
USWBUBT.
USWBUE9.
USWBVBX.
USWBVE9.
USWBVTLC9
USWxcA_J.
u@SXt@SIt@Szt@Skt@S
uS@YOEM[
usyqtsyftsyOtsy4tsy
u[SZY[AZKLD
|U|||||T
U||||||T|
UT7]TgfGn
u[[[ TBeI[[[
@UTBUdWBUxRT@ZVBZ
UtcAggParams
UtcAggVal
Ut!emgfG
UTF-16be
(UTF-16BE)
UTF-16le
(UTF-16LE)
UTF-16LEUNICODE
UTF-16 string has invalid low surrogate
UTF-16 string is missing low surrogate
utf16to8
utf16to8(): buffer is empty or invalid
utf16to8(): buffer not null terminated
(UTF-32BE)
(UTF-32LE)
UTF-8 continuation byte is missing leading bit mask
UTF-8 string character can never start with 10xxxxxx
UTF-8 string has invalid Unicode code point
UTF-8 string is missing bytes in character
utf8to16
(UTF_ASCII)
uTg70gfGT
utgiegfG
uTgQggfGd
[[[uTHdV[[[
u;_TH;vt
UtilConvertSidToStringSid
UtilGetTokenInformation
UtilWideCharFromUtf8 failed
utKdH[[[
uTLGL[H]F[ZO]LM@]
uTllllllllmllllOllylm
Utllllllllmlll]Y]]
U_tlM[[[
UTMYSSRMRQV
u[[[tomgR[[[
uTpgppepq
UtPRSSSSS
uTSSS@SM
uTTuFKCFJQRHu
UtudH[[[
UtudI[[[
UtudM[[[A[[[j[[[
[[[UtudP[[[
UtudY[[[
@@@@UtUUD
U||tV||dV||UV||DV||0V||
||utx|tNx
UtZllllllllmllllOllylm
uT[[[Z[[[O[[[
@UU5LsBU
uu9?ee	-ll
uU9] tPD
	UUAAAAAQAAYqM
UU]AHGBZKL]FNFMUU
uuAN]MS_XYKJY@@SJBMM]_MNEYDM
UUaUU1n3
UUaUU;do
uubgfG#*C
uubgfGH_
uubgfGmX
uubgfG#S2zgqgg
uubgfGT1'
uubgfG*x
uuBL[GLEKHZL
Uubpgppepq
@UUBUdNUBTLC9
UUBUU4TUeDtv
UUBUU-.6
UUCTUuDtv
'':'UUCUU
'':'UUCUU	
'':'UUCUU)
UUcUUKy?
UUCUUXUUUDtv
[[[Uu|dC[[[5
uuD@J[FZFO]
uuD@J[FZFO]uu
)))uuD@J[FZFO]uuM[FYKFQuuH_H]H[vJHJALuuN]
_UUD]Y]]
uUdY[[[:[[[7[[[
uuDZA]DE
 )))UUDZA]H
uuDZALHE]A
UUeDgqgg
UUEDgqgg
UUEDgqgg5
UUeDgqgg9w_t
UUEDgqggi-
UUEDgqggK
UUEDgqggv
UUeD_U__O_
UUEDUPUU
UUEDx(zxIyTyYxxJxcx
UUeD]Y]]
UUED]Y]]
UUED]Y]]8
UUED]Y]]a
UUeD]Y]]b
UUED]Y]]F
UUED]Y]]O
uuEFJHEJFGO@N
UUEUUcWUEDt
uuFEMuuR
uu[FF]uuJ@D_
!'UUFUU 
UUFxxJx]Y]]
u[uGAFZ]
uuGF]LYHM
UUGH_@NH]F[
uu@G]LG[L]LQYEF[L[
uUgOtgfG
uUgqgg'G8i
u.UgqggO
u[uGTu[uGTu[uGT
UUgUU[5S ov
UUgUUfE_"ov
u[uGu[uG
UugYkgfG
uuHEEZ]H[uu
uuHJ[FKH]uuHJ[FKH]
uUH;q rOM
uuHYYMH]HuuEFJHE
uuHYYMH]HuuEFJHEuu
UuidCreate
UuidCreateSequential
UuidFromStringW
uU;i rPM
:'!UUIUU
:'!UUIUU(
UUJALJB_L[Z@FG
.)))UUJDM
#)))UUJDMBLP
 )))UUJDZ]Y
")))uuJFDDHGM
UUJF@GKQLEFNNFM
UUJUUSTUuDtv
UUJUU-TUeDtv
UUJUU@TUuDtv
UUJUUz4#*ov
")))UUJZJ[@Y]
UukfC[[[
[[[UukfS[[[
')))uu_KJ
uuKL]]L[M@ZJF[MuuMH]HuuKL]]L[M@ZJF[M
UUKUU?UUEDtv
uu]LDYuu
UUlgqggNa
uu[LHMDL
UUllllllllmllllOllylmr
uu[LNwZ_[w
uu[LNZ_[
UULURUSL
@UUM7UJ2
U[[[U.meC[[[T[[[J[[[
uuMLEL]LM
uuM[@_L[ZuuuBE
uuM[@_L[ZuuZPZ
UUmUUEw)@
uuM@ZJF[MvMLZB]FYvJF[LuuAHSH[M
uuM@ZJF[MvMLZB]FYvJF[Luu@GMLQ
UUNAFZ]DFMLUU
UUNEFKHE
uuNEFKHE[FF]uuML_@JLuu
)))UUNF]F
uuO_LGF]@OP
uuO@[LLPLuuQHN]
UUOUU0TUeDtv
UUoUU1#D
Uu|OVu|	Vu|
Uupgppepq
: 'UUpUU
':UUpUUD
UUpUU.TUuDtv
UUpUU;VUEDtv
:"UUpUUwf
UUpUUXTUuDtv
UUqUU!(-?
UUqUU5uCQov
UUqUU7UUuDtv
UUqUUTTUuDtv
UUqUU'TUeDtv
UUrUUqQUEDtv
UUrUU#TUeDtv
UUSetSSUS
@UUsSQSSd
':UUsUUJ
UUsUUPTUuDtv
UUsUU TUeDtv
UUsUU!TUeDtv
UUsUU)TUeDtv
UUsUUzZ0
UU?TUuDtv
U@UT@W[@V[Lsg
UUuDgqgg
UUU@DL]AFMUJA[
UUuD]Y]]
UUUD]Y]]
UUuD]Y]]c
UUuD]Y]]C
UUuD]Y]]p
UUuryxry
UU|UUBM_6
uuuuR@MuuuuT
UUuUU8TUeDtv
UUuUUeTUuDtv
UUuUUHTUuDtv
UUuUUu8(
uuuuuuuubtnufruuuuuuuuuuuuuuuuuu
UUUUUUUUH
uuuuuuuuKuuu
uuuuuuuuuuu
UUUUUUUUUUurx
UUUUUUUUUUurxxx
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUV
UUUUUUUUUUUV
UUUUUUUUV
UUuUUxTUuDtv
uuuuuZPZ]LD
UUUUyxty
@UU@VU6@IBV
UUvUUATUuDtv
UUvUU	TUuDtv
UUvUU#TUuDtv
[[[UuWd@[[[
[[[UuWd_[[[
UuWd@[[[
UuWd[[[[
UuWdA[[[
[[[UuWdB[[[
UuWdB[[[
UuWdB[[[a[[[
UuWd_[[[c[[[
UuWdC[[[
#[[[UuWdD[[["[[[
UuWdD[[[
UuWdD[[[0[[[
[[[UuWdE[[[
UuWdE[[[
UuWdF[[[
UuWdG[[[
UuWdH[[[
UuWdI[[[
UuWdJ[[[
[[[UuWdK[[[
![[[UuWdL[[[ [[['[[[
[[[UuWdL[[[
UuWdL[[[
[[[UuWdM[[["
UuWdM[[[
)[[[UuWdN[[[([[[
UuWdN[[[8[[[?[[[
UuWdO[[[
UuWdO[[[*[[[
UuWdQ[[[
UuWdR[[[z[[[
UuWdS[[[
UuWdT[[[
UuWdV[[[
UuWdx[[[
)[[[UuWdX[[[
UuWdx[[[B[[[
UuWdy[[[
UuWdy[[[([[[
UuWdz[[[
UuWdZ[[[
UUwUUfTUuDtv
UUwUUOTUuDtv
UUwUUyTUuDtv
UUwUUZtX
UUXUUb26
UUxUUEIC
UUxUU.tb
@UUxx]Y]]
uuYAPZ@JHEM[@_L
uuY[FN[HD
uuY[FN[HDMH]HuuNK]LJGFEFN@HE]MHuuOE]E@K
uuY[FN[HDO@ELZ
uuY[FN[HDO@ELZuu
uuY[FN[HDZuuD@J[FZFO]uuFOO@JL
uuY[FN[iHDMH]Hu
Uuy'gfGs
uuYP]AFG
UUyUU!?:
UUyUU6S*
UUyUU!In
UUyUU-Ln
uuyyyyyyyyyxyyy
UUZALQYDH]JA
uuZDH[]ZJ[LLG
Uu_zgfGn
uuZ]H[]v@GZ]HEE
uuZJ[@Y]@GN
UU@Z@LLMNLUU@G]L[GL]LQUUGH_@NH]F[
uuZPZ@GOF
uuZPZ]LD
UUzu)vov
uuZYFFEuuM[@_L[ZuuQ
UUZYLJ@HEBLPZ
@UVATAUAWH
UVATAUAWH
@UVATAVAWH
UVATAVAWH
UVAUAVAWH
UvDdz[[[I[[[
UVdH[[[Y[[[B[[[
UVdN[[[Y[[[K[[[
UVdQ[[[T[[[J[[[
UVdV[[[Y[[[Q[[[E
UVdW[[[Y[[[W[[[Hl0dO[[[X[[[Q[[[j @dO[[[_[[[
UVEgqggP
Uvf@t.dM
@Uvg3kgfGo
UvgAgg"9
UVllllllllmllllOllylmC
UvlSSSSSSSSSSSSc6
U|vodo9ogo
u|voeo9ogo
U|voeo9ogo
uvpgppepq
Uvpgppepq
U[[[vPpdY[[[T[[[I[[[
||||u|||v|||r|||l|||e|||8|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
uvR]oooo
uVUd_[[[
U||vV||aV||@V||'V||
uvvZJ[@Y]LvvuvvNEH_G@vv
UVWATAUAVAW
UVWATAUAVAWD
@UVWATAUAVAWH
UVWATAUAVAWH
UVWATAUAVAWI
UVWATAUH
UVWATAVH
UVWATAWH
UVWAUAVH
[ UVWAVAWH
UVWAVAWH
U!V!W!X!
!uVX-eCO
UV!YCCNCCCBACC
u)))vZXE@]LvJEFZL
uW4gqgg7
UWATAUAVH
UWATAUAWH
@UWATAUL
UWATAVAWH
UWAUAVAWH
@UWAVAWH
UWCCNCCCBACC
u[[[)"Wd][[[
U[[[)"WdE[[[T[[[
*uwfbAAAA@AAAAAC
uWg7fgfG
;UwgfGaK
uwgwdgfG
UwgWfgfG
UwidgfG]u
uWig'fgfGA
uwllllllllmllllOllylm
uWllllllllmllllOllylm#
uwMdT[[[
UWOLrgfG
uWPllllllllmllllOllylmL
@UWsQRSS9
uWSSQ(QSSW@OBOLG
U@wubgfG
UwubgfG'aK
UWWPJWWTWgSgg?
UWWPJWWTWgSgg_
uWYdB[[[
U@WYHCHKMJMSMSSKWYHCHK
uwyyyyzy
	[[ux-8yu
u@x@@A@AEac
UXaqW7:'
@_UXB_Ls
UX_CCNCCCBACC
uXCPD[GuXCPD[G
UXdJ[[[i[[[l[[[
uXdU[[[	[[[
uXD;uXsf2
uXDZYHJL
ux|evx|P
*uxgCkgfG
u_Xgqgg(
U)xgqgg3
uX.gqggDX
uX gqggKSl
uXgWdgfG
[[[uXHdS[[[
uXH[HG]@GLu
uXH[HG]@GLuFHZMEOYH
uxHxhAe|Hxh
uXkMpgppepqz
UxllllllllmllllOllylm
UXMdK[[[
-ux_:O9pgppepq
@UxPE@U[D
uXpgqggcnuD
uxPxPx:xxrx
U_xQEyUBY
U_xQU_[Qs
U_xQU_Qs
U_xQU_[Vg
uX?qX?u.
UxrEgAgg
@Ux]TssCSSgUs
|uxt|z|||
uX@uSQFCYuMZ_H
uxux||||4
U||xV||nV||bV||NV||?V||2V|| V||
[[[UxWdR[[[
@UxWLy@UTBU
uxxrPvxxr
uxxxAxxyxyxyxY[
Uxxx)xxmxmx|xxrxox
uxxxxyxfy
uxxxxyxqy
];];] Uxx]Y]]
uxx]Y]]S
)uxxyxly2ixx
uxyGtxyDtxyGtxy
UxygTxyETxy!Txy
UxyiTxyfTxyWTxyDTxy2Txy#Txy
UxyiTxyJTxy5Txy
UxyiTxyQTxy9Txy Txy
UxyjTxyKTxy1Txy'Txy
UxyjTxyWTxy3Txy
uxyktxyJtxy-txy
UxynUxycUxyfUxy
UxyoTxyLTxy7Txy
UxyqTxymTxyXTxyWTxyGTxy4Txy'Txy
uxystxyetxyUtxyyyyyeyy
Uxy)UxyEUxySUxyoUxy
UxyXUxyDUxy!Uxy
UxyxyyyqyyyqyyyaUxyAUxy!Uxy
UxyyB|5ih6v
Uxyy!pyyfI]
.UxyyUwyyZIA
.Uxyy-|yyeI
UxyyyyyymY
UxyzTxyqTxy
uxzxxxxx
  u     ]Y]]
u   "    ]Y]]
u ((]Y]]
u'((]Y]]
u(((]Y]]
u@@@@]Y]]
U ((]Y]]
U#((]Y]]
U'((]Y]]
U@@@@]Y]]
U||:Y||0Y||
uYAF]FZJ[LLGZH_L[
UYAYHVKY
uy@@@@B@B@Hp@LO
uy@@@@@@B@Cp@J
uYdQ[[[Q[[[M[[[
U|yDU|yKS|y
u]YD_ZJDN[
UyE9yPcQS
uy|Evy|l
!)))uYFE@J
uYFE@J@LZ
Uy(fggfw
u)))YF]LGSH@G]E
:)))uY[FMDL][@JZ
uY[FN[HD
uY[FN[HDDLu
uY[FN[HDMH]
uY[FN[HDMH]H
uY[FN[HDMH]HJ
uY[FN[HDMH]HK
uY[FN[HDMH]Hu
uY[FN[HDMH]HuA[CP][C
uY[FN[HDMH]HuA[FZL[
uY[FN[HDMH]HuBHZYL[ZBPEHK
uY[FN[HDMH]HuBXEGFPXXG
uY[FN[HDMH]HuCFFZLL
uY[FN[HDMH]HuD@J[FZFO]
uY[FN[HDMH]HuD@J[FZFO]uJ[PY]Fu[ZHuDHJA@GLBLPZ
uY[FN[HDMH]HuD@J[FZFO]uML_@JLZ]HNLu]HZBuR
uY[FN[HDMH]HuESAPBFF
uY[FN[HDMH]HuFC@CH
uY[FN[HDMH]Hu_FEL]
uY[FN[HDMH]HuFGLGF]L
uY[FN[HDMH]HuFOKu
uY[FN[HDMH]HuF@XHQ@MEZ_N
uY[FN[HDMH]HuGXCMENEBXMXDY
uY[FN[HDMH]HuHAHYu
uY[FN[HDMH]HuH_L[MF[]
uY[FN[HDMH]HuHMFKL
uY[FN[HDMH]HuiiiiiLiiQiiiiiiii
uY[FN[HDMH]HuiiiiiLiiQiiiiiiiiiiiiiiiiiiJLE
uY[FN[HDMH]HuiiiiiLiiQiiiiiiiiJLE
uY[FN[HDMH]HuiiLQJiiLEi
uY[FN[HDMH]HuJ@@LO_KX
uY[FN[HDMH]HuK]A
uY[FN[HDMH]HuKFDNH[
uY[FN[HDMH]Hu][LGMD@J[F
uY[FN[HDMH]HuLM
uY[FN[HDMH]HuLQJLE
uY[FN[HDMH]Hu]L[@Z
uY[FN[HDMH]Hu]L[@ZH
uY[FN[HDMH]Hu]LZ]PP
uY[FN[HDMH]HuMF][
uY[FN[HDMH]HuMF[@FJQB
uY[FN[HDMH]HuM[FYEL]
uY[FN[HDMH]HuM[FYEL]J
uY[FN[HDMH]HuMLE]H
uY[FN[HDMH]HuMMNu
uY[FN[HDMH]HuM@Z
uY[FN[HDMH]HuNFFNELJA[FDL
uY[FN[HDMH]HuNLYEHZML[
uY[FN[HDMH]HuNYBSSSSSSSSSSSSSSSNYBKY
uY[FN[HDMH]HuNYBu
uY[FN[HDMH]HuOKYBK[O
uY[FN[HDMH]HuO[LP[NK
uY[FN[HDMH]HuOS_JB]GFQQ
uY[FN[HDMH]HuOYZu
uY[FN[HDMH]HuOZAu
uY[FN[HDMH]HuQDEOF[D
uY[FN[HDMH]HuR
uY[FN[HDMH]HuSF_GPMM
uY[FN[HDMH]Hu]SJQXY
)))uY[FN[HDMH]HuSSSSSSSSSSSSSHGCC
uY[FN[HDMH]HuuQQ
uY[FN[HDMH]Huuu
uY[FN[HDMH]HuYEF
uY[FN[HDMH]HuYFJ
uY[FN[HDMH]HuZJAHGGLE
uY[FN[HDMH]HuZYYLQ]JFD]LEuZYYLQ]JFD]LE
uY[FN[HDMH]LJ
uY[FN[HDO
uY[FN[HDO@ELZ
uY[FN[HDO@ELZJFDDFGO@ELZM@[uJFDDFGO@ELZ
U())Y[FN[HDO@ELZM@[J
uY[FN[HDO@ELZuDFS@EEHO@[LOFQuO@[LOFQ
uY[FN[HDO@ELZu@G]L[GL]LQYEF[L[u@LQYEF[L
uY[FN[HDO@ELZuJFDDFGO@ELZ
uY[FN[HDO@ELZuL_L[P]A@GNuL_L[P]A@GN
uY[FN[HDO@ELZuNFFNELuJA[FDLuHYYE@JH]@FGuJA[FDL
uY[FN[HDO@ELZuO@MMEL[
uY[FN[HW
uY[FN[iHDMH]Hu
uY[FN[iHDMH]HuOCBMNCBGOMNOCBMNCBGOMNi
uY[FNw[HDMH]H
uY[FN[wHDwMH]H
uygAggds
uy'gfGI3
Uy#gGcgfG
Uyg]kgfG
)))uY@GN
uYGNKE@YuKE@Y]HN
u-ygqggC
uYHL][@FuDGH[FZ]uDGKLGZL
UYHMYNVAY
UYHNLNLGL[H]@FG]@DL
uYHPJ[PY]
uYHPJ[Y]
uYH[TuA]DE[]OuA]DE[]O
UYi-UYieUYi
uY@JANFHE
uY@JJ[FY[
uY@JJ[FY]
uY@JJ[FYE
uY@JJ[FYK
UYJYLVAY
UYJYNVAY
uY@JZJHELP
uY@JZJHELQ
uYL9S(uSH;
u[Y@LHLOOFOEL@]
Uy"LllllllllmllllOllylm
UyllllllllmllllOllylm
uYL[OEFNuu
uYL[OEFNuYP]AFGu]FFEZuYP]AFG
uYLO[EFNZu
UYLUYQPL
UYLYHVKY
uymYyyimyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy9Myy9yyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
u)))YN[LY
UYNYHVKY
u@YO@E]L[
uypgppepq
UYpgppepq
uyqyqyYxy2;
UYRCSoiSSrS
uY[RDDDTFN[HDMRDDDTH]HuRDDDT
uYSSS@S]8
UYTL[DBOEEE
:u|y;u|o;u|f;u|Y;u|L;u|G;u|:;u|.;u|";u|
u|yut|y't|y
U||yV||jV||WV||(V||
U||yV||ZV||CV|| V||	V||
UywCgAgg
u]Y]]WKX
uyxcx]HL
uyxvyDxxx!yxx|QxxgeyxvyDxxx!yxx
uyxvyUxUx
Uyxxzxty
uy-xyy]IUI9I5I-I
uyxyyyibyy
uyy9yyy5uyyyyyyyyyyyyy9yy
uyyatyy9tyy
U[yyhyyy1ylyuyu
uyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
uyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
-uyyiyyy
!)))uY@YLu
uY@YLuA@NAY[@_
UyyoTyyLTyy!Tyy
Uyy|TyyfTyyITyy:Tyy Tyy
UyyxTyydTyyOTyy4Tyy
U[yyxyyyqyq
U[yyxyyyuyu
Uyyxyyyxyyyxyyy
Uyyxyyyzyyyzyyy
uyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
UyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
uyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Uyyyiyyyyyyyyyyyyyyyyyyyyyy
uyyYtyy1tyy	tyy
uyyytyyyyyyQyyy
uyyyuyyytyyyxyyy
uyyywyyyvyyyxyyy
Uyyyxyyy
Uyy([yywTyyfTyy
uyyyyyA|uyk|uy[|uyyyyynyy
uyyyyyByy
uyyyyyEH
uyyyyy@H
uyyyyynyy
uyyyyyyQyyy)yyy
uyyyyyyQyyy)yyy)yyyQyyyoyz
uyyy)yyywyyy_yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
uyyy)yyywyyy_yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
uyyyyyyy
uyyyyyyyyyxyyy
uyyyyyyyyyxyyy)
uyyyyyyyyyxyyy9
uyyyyyyyyyxyyyi
uyyyyyyyyyxyyyI
uyyyyyyyyyxyyyy
uyyyyyyyyyxyyyY
Uyyyyyyyyyy
uyyyyyyyyyy2H
uyyyyyyyyyy3H
uyyyyyyyyyy5H
uyyyyyyyyyyyyy9yy
uyyyyyyyyyyyyy9yy9W
uyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
U(yyyyyyyyyy;(yyyiyyyyyyyyyyyyyyyyyyyyyyM(yyyyyy
U*yyyyyyyyyy;*yyyiyyyyyyyyyyyyyyyyyyyyyyM*yyyyyy
uyyyyyyyyyyyyyyysyyy
Uyyyyyyyyyyyyyyyyyy
UyyyyyyyyyyyyyyyYyyyE
uyyyyyzyy
UyyzTyy[Tyy:Tyy
uyyzyyyyyyyyy2yyyyyyyyyyyyyyyyy
uYZPZJF[LKH
[[[[[[UZ[[
Uz2g_egfG
uZ2opgppepq
uz|7pz||
U@@@@@z@@A@AAac
uZA_AFZ]
;)))uZAF[]KFFZ]
!)))[uZALE
uZALEE@MZuD@J[FZFO]
uZAOFEML[
uZAY]Q]T
Uz*BdgfG
uZBPYLLu
@UZBUd_ZTLC9
UZdA[[[x[[[
uZDH[]H[]N[HYA@JZEFN
)))uZDH[]YEHPL[@GZ]HEEL[
uZDH[]YEHPL[@GZ]HEEL[
uZDH[]ZJ[LLG
UZd	PUW[U
@uZ#?g7gggw(
)))uZGBK
uZg'cgfGu
u@ZGHFKK
UZ][@GNULGJ
Uz	gqgg5
UZ]gqggL
uZgqggse
UZgqggvA
_uzgWfgfG
u*ZG.Xt!
((UZ]H[]
uZH_@GNZALGu
u)))Z]H]@J
u)))ZHJFZYFML[FZFZ
)))uZ]H[]L[
|||u|||z|||j|||
uZ_JAFZ]
u)))ZJA]HZBZ
uZJFGGLJ]
')))uZJ[FKC
uZJKYKJPuESAPBFFuCL]GL_@
u_[[[Z[[[K[[[[J
u)))ZL]BHPMFZLZ
(-UZLELJ]
)))UZLELJ]
u)))ZLGHEN[HOZHJ
uZL]]@GNZ
uZLJEFNFG
uZLJ[@GN
?)))uZL[_L[
uZllllllllmllllOllylm
uZllllllllmllllOllylm	Z
u)))ZLSLGJ@G
uZLZZ@FG
Uz)mggfw
uZMLEL]L
 )))uZMN_CB
uZ]PELGHDLZ
UZpgppepq
uZPZ_FEu
)))uZPZ]LD
uZPZ]LDH
uZPZ]LDuZLELJ]
uZPZY[LYu
U@ZQDEMFJ
Uzrzzzzzzzzzzzrzz
_uZsxg)|gfG
uZXEZL[_[Z
uZYFFEuM[@_L[Z
uZYFF@Z_
uZyNH'P[
UzypTzy3Tzy
uzyyIhyyizyyIhyyyyyyyyyyyyy9yy9W
uZYYLQ]JFD]LEuZYYLQ]JFD]LE
UZYZSZkIkK]Qp]Z_Z
#)))uZ]ZAOA@
#)|||||v
)))v@@@@@@@@@@
))v)))))
[[[	[[[v
[[[;[[[v
||||v|||||||
v@@@@@@@@
v|||||||||||
v||||||||||||||||||||||||||||||||||||||||||||||||||||||
v||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
  V     (
))))(V)))
))))))))))))))))))))))[[[[V
))V)))))
))V)))-)
[[[.[[[V
[[[V[[[@[[[
V   !    
V||||||||||
V||||||||||||||
v  0     
  V!    0
V  0     
V||03||(3|| 3||
v0gfGP@5pgqgg
_v0gggfw
v0gqgg#9
V0Ixyxly
V0:KgWbgfG
[[[v[[[0o
v0pgppepq
V0pgppepqT
_||@V||0V||!V||
V:0xyxGz
V0xyxmy4
V0xyxry5
V0xyxty(
V0xyxvyV(
V0xzxkyx6
V161yxwy
*v1Gmggfwj
V1Ix|xfy
V1VRSSSSS
V1"xrxox
V1)xrxqx9
V1xyxdy1x
V;1xyxhz
V1:xyxjx
V;1xyxlz
V:1xyxwy:
V1xyx y;x
V 1xyx]zL
V29xrxhz
v2AAAAAAAAeqAAAAAAAAAAUAAAZqdM
V@2@@E@ACac
!V2g9egfGu
V2gGfgfGX
V2gqgguP
V2Ixzxmy
V2:xyxQz
V2xyx:xw
V2xyx[zK
v3.0 LZMA
V349Jxyxdy
V[[[34_dA[[[U[[[
v3@@A@h CP
V3g3kgfGJ
V3IIII(K
v3ogqgg:
v3pgppepqC
V;3xrxqx#
V3xyxbyVG9.:
V3;xyxdz
V?3xyxhyqgP
V3xyxoy6
V:3xyxpy
V42xyxqy
v4@BA@; F@@@@@
v-4d_[[[
v4d:AFde
v4gqggk5
v4?llllllllmllllOllylm
[[[V4UdH[[[3
V-*4V9xyxdyVx
V-*4V9xyxhy
V-*4V9xyxiyV
V-*4V9xyxky
V;4VIxyxpyxxx...
V;4VJxyx
V4xyxXzK
V;4xyx_y
V4ygkuggw-T@w
V:4yxfy;
V5757575V
v58yxdyQ
[[[v5adT[[[l
v5@@@@B@A@2 @S4
v5dP[[[x[[[
:V5dZ[[[
V5g_egfG
v5gKtgfG
V?5Ixyxbz
V5IxyxiyK
V5llllllllmllllOllylm
V5llllllllmlll]Y]]
V5!mggfw
V5pgppepq
V5RgufgfG
V5;;;;;V
V5VIxyxvy8HC0
V5*xyx1zR
V5)xyxDy#
v68g7wggG
v6!g#fgfG
v6gMagfGEW
*v6gqgg_3
v6?gqgg'G8i
V6Ixyxry
V6JdH[[[
V6?*Jxyx@k
v6llllllllmllllOllylm
v6m!mggfwg
v6pgppepq
V6pgppepq
V(6VIxzx|y
V(6VJxzx|y
V(6VKxzx|y
V(6VLxzx|y
V(6V@xyx
V6xyxLy:x
V6xyxoyE(
V71gqggK
V7:2yxvy?
v77g7ygfG
v7cdgfGI
V7d@[[[g[[[
V7dJ[[[?[[[
V7dK[[[7[[[
V7dO[[[	[[[
v*7fgfGu
V7fyd*d[[
V7gIcgfG
V7[gqggV
v7KdC[[[
V7llllllllmllllOllylmW
v7*mgfG"
v7pgppepqo
V7]TgfG;
V7:xyxYz
V7zRpgppepq
V||85||(5||
v8gKwgfG
V8H9V0u.
V8xx]Y]]
[[[v[[[8zwdx[[[
V900xyxtx
V90IxyxDzxPXxxrz
V9!1xyxNy
V91xyxoz
V9(1yxfy"
V9(1yxZy"
V92:xyxdx
V92"xyx"y5x
V933xyxcz
V9?3xyxpy
V941xyxjy
V942xyxtyf
V955Jxyxpy
V955Kxyxry
V955Mxyxpy
V96:'JJ'Nxyxwy
V96;xyxvy
V974xyxmyV
V97)xrxVy
V97xyxwyV
V9999xyxXz
V999:xyxXz9x
V999;xyxXz9x
V9(9xrxdz
V99xyxXy
V99xyx]z
V99YIxyxoy
V99YJxyxPy:x
V9*AAxyxq
V9*AOxyx
V]9@@@@B@A@2 @L
@V9DJq@@@@@q@@A@AAac
v!9dV[[[
v9gggG	N
V9|gqgg[
v9gWfgfG
V9HxyxYyS
V9Hxzxiy
V9HxzxLy
V9Ixpxgy
V9Ixrxiy?
V9Ix|xay
V9Ix|xly
V9Ix|xny'
V9Ix|xoy
*-V9Ix|xRy
V9Ix|xTyKNOO
V9Ix|x@y
V9Ixyxay
V9Ixyxby-
V9Ixyxcy(
	V9Ixyxdy
V"9Ixyxfy
V9Ixyxfy
V9IxyxFyR
V9Ixyxfyw
V9IxyxHy
V9Ixyxhy7x
V9Ixyxky
V9Ixyxly
V9IxyxLy
V9IxyxnyWxGx
V9Ixyxpy
V9IxyxQy
V9IxyxRyKNNNAJOLN@UJJJMK@KMKK8
V9Ixyxsy
V9Ixyxsy-
V9IxyxXy
V9IxyxYy
V9IxyxZy
V9Ixzx0y
V9Ixzxfy6x
V9IxzxJyVx
V9Ixzxny
V9IxzxZy9
V9JVIxyxsy
V9Jx|xfy
V9Jxyx0y	xEx
V9Jxyxcy
	V9JxyxFyN9
V9Jxyxiy
V9JxyxjyR
V9Jxyxly
V9Jxyxmy
V9Jxyxny
V9JxyxqyO
V9Jxyxwy
V9Jxyxwz
V9JxyxXy
V9JxyxXy8
V9JxyxXy9x
V9Jxzxjy
V9Jxzxoy
V9Kxyxcy
V9Kxyxdy
V9:Kxyxjy
V9KxyxKy	1
V9Kxyxly
V9Kxyxny
V9Kxyxoy
V_9llllllllmllllOllylm
v9llllllllmllllOllylmF
V9Lxyxjy?
V9Lxzxdyx
V9Mxyxwy3
V9Oxyxvy
V9W9X9Y9Z9
V9xJxby6x
V9xrxhx1
V9xrxjzR
V9:xrxlz
V9x|xXy1x
V9xyxAy4
V9xyxby99x
V9xyxby9x
V9!xyxbyBLMNIJW
V9xyxbyP
V9xyxbyRxXxXx9x
V9xyxby-x
V9xyxby?x
V9xyxcyV(
V9xyxdy6x
V9xyxdzC
V9xyxeyip
V9xyxFyC
"V9xyxfyUx
V9xyxFy-x
V9xyxgy4
V9xyxgytpX
V9xyxhx3
V9xyxhy*
V9xyxHy9
V9xyxhy9x
V9xyxhyw
V9xyxHy.x
V9xyxiy-
V9xyxiy9
V9xyxiy9w
V9:xyxiyx41:*9*!V
V9xyxjy3x
V9xyxjyxx0x
V9@xyxky?
V9xyxky?
	V9xyxky1;
V9xyxlxxx
(V9xyxly
V9xyxly1x(xUx
V9xyxmy;
V9xyxmy9
V9xyxny1
V9xyxNy4x
V9xyxny?x
V9xyxoy9
V9xyxpy  
V9xyxPy6x
V9xyxPy-x
V9xyxqy''
V9xyxqy]
V9xyxQy5
V9xyxrx.
V9xyxrx0
V9xyxry-
V9(?xyxRy
V9xyxRy9x
V9xyxrywP
V9xyxsy*
V9xyxsy0
V9xyxsy*2
V9xyxsyL
V9xyxty;
V9xyxtyKIVIAKVHVIO@yxsyyY
V9xyxtyx
V9xyxuy';((
V9xyxuy*
V9xyxuy:
V9xyxUy]
V9xyxuy0
V9xyxuyW
V9xyxUz1x
V9xyxvy*
V9xyxvy3
V9xyxvy3;(-
V9xyxvyVG9.;939
V9xyxvyx
V9xyxwy:4'4
V9xyxwy9
V9xyxwyV
V9xyxXy9.:
V9xyxXyDx9x.x.x
V9xyxXyE
V9xyxXyVx
V9xyx[y]HVL
V9xyx|yw
V9xyx@y-x
V:9.xyxYyw
V9xyxZx5x
V9xyxZy9x
V9xyxZy-x
V9xyxZy.x
V9xzxdy9x
V9xzxfy9x
V9xzxkyJHNVIJKVILOVJJNxLLKzxkyI@MVILOVJKOVJLLxLLKzxlyI@MVILOVJKOVJLLx@J@JyxwyJHNVIJKVILOVJJNyxwyI@MVILOVJKOVJLLyxpyVJJNxLLKyxpyVJLLxLLKyxqyVJLLx@J@Jxxx
V9xzxox?
V""9xzxry
v9yyyyyyyy]
v@@@@@@A@
v@@@@@@A@@
v@@A@3 EW
vAAAAAA@AAAAAC
VAAAAAA@AAAAAC
VAAAAAA@AAAAACm
vAAAAAA@AAAAACqa
vAAAAAA@AAAAACZ
V.[AAAA@AAAAAC
VAAAA@AAAAAC
vAAAAAAAAYqXZ1cfA
vAAAAA@AABqAOE
vAAAAAABAaqAQ-
@@@@@v@@A@AAac
@v@@A@AAac
]@@@@@v@@A@AAac
|@@@@@v@@A@AAac
vAAAACAAAIqAW
vAAAACACA 1Aa
VAAAACACAfqALx
vAAAACAD@
@v@@A@AAacoo
vAAAACY@AMqA]AAAAAAAA
vAAAA*qAFl;
va@@AAh HS
VAA@Ai!EaxhW
Vaaba]Y]]
VAA@B.!E[
@@@@@v@@A@ACac
@v@@A@ACac
VAA@C.!E[
?@v@@A@ADac
@@@@@v@@A@ADac
@v@@A@ADac
@@@@@v@@A@AEac
@v@@A@AFac
va@@A@h GW3
v@@@@@A@@ap@DL
VA_count
]VadO[[[j[[[b[[[
vAdV[[[Z[[[
V@@A@epFF
V@@A@epFF:
v@@A@; FYG
vAgccgfG8y
VagfGmXZ
vagGegfG
V@@A@gpSFu
vAgqggyY
VagqMgfG
v@@A@h FMHc
v@@@@@@A@h FS
v@@@@@@A@h HLll
v@@@@@@A@h Jiu
v@@@@@@A@h KD
[]vAHM[FG
v|aHt|aNe
V@@A@h TZTTG
V@@A@h UJ.
vail_random_forest_classifier
Vail Random Forest ML classifier based on PMU counters. Requires normalized data input from another plugin.
VALdy[[[
v)))ALEY
v]A[LHMZ
ValidateMemoryEP
validatetrust
ValidateTrust
validationtype
ValidDir-MultiCert-FirstValid
ValidDir-MultiCert-NotFirstValid
ValidFrom
Valid Revocation Count
vAllllllllmllllOllylm
VallllllllmllllOllylm
VAllllllllmllllOllylm
VallllllllmllllOllylm	[Q"
v)))]ALMLZ@NGL[P
val_scrubbed
value expected
valuehash
ValueMapArray
value_scrubbed
Value should be a string (should start with "'")
valuesize
valuestart
value to be written must be a byte
value too large
ValueType
 )))vAMOZ
@VA@N@ADac
V@@A@?pCGxh
Vapgppepq
@VA@P@PCac
@vA@R@ACac
VarAttributes
VarFullValueSize
variableattributes
variablename
VariantClear
VariantCopy
VariantInit
VarValue
vA(t5ffG@
[ VATAUAVAWH
VATAUAVAWH
v|a(u|aHt|aNe
vaultflags
VaultQuery
VaultStepBusy
VaultSvcEnumerateItems
VaultSvcFindItems
VaultSvcGetItem
VaultType
VaultUtilization
vavadallocationbase
vavadallocationprotect
vavadcommitsize
vavadmmfname
vavadregionsize
vavadregiontype
vaWodgfG
v)))A]]Y
VaYaWaTaVaTaUaWaQaUaTaVaWaYaVadawOa
V)))A]]YvZL[_L[
#v)A]]YZ
v)))A]]YZ
v)))A@Z]F[P
v@@@@B@@@@
V@B@@0pB@@@@@
VB7rgUl9
v@@@@@BA@
v@@@@B@A@
V@@@@B@A@
V@@@@B@A@@
vB@A@2 @]
V@@@@B@A@2 @A
V@@@@B@A@2 @Ar
V@@@@B@A@2 @D
v@@@@B@A@2 @EN
v@@@@B@A@2 @Fd
V@@@@B@A@2 @GP
v@@@@B@A@2 @H
v@@@@B@A@2 @i
V@@@@B@A@2 @I
vB@A@2 @J
v@@@@B@A@2 @K
v@@@@B@A@2 @L
vB@A@2 @q
vB@A@2 @Y
v@BAA@2 @
V@@@@B@AA2 @AW
vBAAALp@W
VBAAC2 @D
VBAA@Ep@Dm@
v@@@@BAA@Ep@M
v@@@@B@A@AQ@
V@@@@B@AB
V@@@@BAB@
!@@@@@v@@B@ACac
@@@@@v@@B@ACac
@v@@B@ACac
vBa(cj7O
V:?@@@@B@A@dp@H
VBAExcelIssue
V@@@@BA@@Hp@D
v@@@@B@A@Lp@o)n
v@@@@@B@ANp@@@@@@@@@@B@CB[p@L
v@@@@B@A@Np@F4
V@@@@B@A@np@H
VBAPptIssue
VBAWordIssue
v@@@@BB@@
V@@@@B@BANp@KJ
vBBBBBBB
VBBBBBBB
v@BBBh L@@@@@
@@@@@v@@B@BCac
V	BbfG10
V	BbfGF)k
V	BbfGIg
v@@@@BB@@Jp@@@@@@@@@@]Y]]
v@@@@B@B@Np@Qw
vbBRS3OPSSS@S
@VB_BWlX
VbCCNCCCBACC
v@@@@@@B@cp@L
vBdF[[[Z[[[:[[[
VBdK[[[:[[[
vBdY[[[5[[[*[[[
)))vB@EE
V)))B@EEvD@GL[vY[FJ
vbgfG)-|
vbgfG0Cw
vbgfG1_3Ggqgg
vbgfG1sA
vbgfG2Ak
vbgfG	[3
vbgfG 32
vbgfG 5o
vbgfG]|6
vbgfG6H@
vbgfG6u"
vbgfG7Ns!gqgg
vbgfG	7RHgqgg
vbgfG7rv
VbgfG8?#
vbgfG8J.
vbgfG8Kj
vbgfG#8Phgqgg
vbgfG9ar
vbgfG-aF
vbgfGc3i
vbgfG[@[Cgqgg
vbgfGCqDggqggV
vbgfGd_#Igqgg
vbgfGenpqgqgg
vbgfGEy8cgqgg
vbgfGfJ 
vbgfGfpp
vbgfGFZ|
vbgfGgGuwgqgg
vbgfG	gW
vbgfGjHf
vbgfG:Jk
vbgfGjpy
vbgfG]JTrgqggY
vbgfGKYt
vbgfG	lLfgqggOCon
vbgfG"Lr
vbgfG;MJUgqgglA
vbgfGmRA
vbgfGMSl
vbgfGNO16gqgg
vbgfGO(d
vbgfG"ONBgqgg
vbgfGovmggqggt
vbgfG|Ox
vbgfGOzV
vbgfGp1q
vbgfGP[P
vbgfGP	x
vbgfGpy.jgqgg'J
vbgfG;#Q
vbgfGQ.68gqgg
vbgfG@S#
vbgfGS2g
vbgfGsn9DgqggOCon
vbgfG_sp
vbgfGtebEgqgg
vbgfG	"trgqgg
vbgfGU|X
vbgfGVHi
vbgfGW9!
vbgfGX4SQgqgg#
vbgfGxG	
vbgfGXgSPgqgg
vbgfGx_s
vbgfG-Xu]gqggOCon
"VBg?kgfG@bD
vBg-pgfG
v@@@@B@@@gp@T
vbgqggm*
v@b	g(u7b
vbhggfwX
V@@@@B@@@Hp@
|V@@@@B@@@Hp@sjU
V@@@@B@@@Jp@L
v@@@@B@@@Lp@m
@VBM@@BVL
@VBNBVdWBVxQBN@bZBABb
@VBNBVdWBVxQBN@XBXYZBOBX
V@@B@np@M
v@@@@B@@@Np@TB
V@@@@@@B@np@Xt
VBOh8pgppepq
vbOX 6  :
vbOX 6  x
VBpgppepq
vbscript
VBScript
VbsTokenizerError
@VBTK3@TBWLk
@VBTK3@Tk
@VBUBBgYx
@VBUsSRSSd
@VBV9@tBVE
@VBVBTdQEyBTBV
@VBVBU2sSS
@VBVBUdMU[
@VBVBUgnBVXU
@VBV:_BVUfABVr
@VBVE9aHBVM9	@TBTA_
@VBVE|VBV6@VBVLcbQEy[LB9
:@VBVE|VE@YxCBV@YBVLsaULL@ZxWBY@Z[D9
@VBV_FBVh
@VBV[fQEyBV_UsS
@VBVI9d[BVBDe
@VBVI9gQEyBVBDeQEyBVI9
@VBVI9gQEyBVBDf
@VBVJ7BV2N
@vBv@JBJ
@VBVL3eCBVL(gYBUBVLs
@VBVLCfUs
@vBv@LE9_Q(
@VBV(MSSW
@vBv(MSSW@EBE
@VBV(NSSWs
@VBVObZBWDbWZDcF[D9
@VBVOdQEyUBVD
@VBVPLC9
@VBVsSCSS
@VBVsScSSfQEyBVsS
@VBVsSGRS
@VBVsSRSS
@VBVsSRSSdQEyQL
@VBVsSSRSeQEyQL_9
@VBVTgQEyBUT
@VBVUdAUsS
@VBVUlsTSSBVWnKTSSQ
@VBVUl	TSSBVWn
@VBV@WBV
@VBV@WBWs
@VBVZfX[I9
@VBWBVdQEyBVsSKSS9
@VBWBYsSKSS9
VBxx]Y]]
VByxuxUIxHx
@VB[ZgUs
vB[[[Z[[[K[[[
[[[?[[[Vc
vCA@C3!Ae
vCatalog
VcccLccacJc0
vCCgqggG
vCCNCCCBACC
VCCNCCCBACC
v]CCNCCCBACC?m
VCdF[[[:[[[
VCdH[[[b[[[
vCdI[[[g[[[
vCFKvFOOL[
vcH_HzJ[@Y]))
VcicgfG'E
VCJhggfw8
[v[c[m[c[
vCNdC[[[
@vCoCdC]CRCKC@C9C
vcpgppepq#
VCpgppepq
v)))CZFG
|||v|||d|
?Vd][[["[[[
Vd][[[*[[[
Vd22Nt::
vd54Ddxz
Vd_[[[7[[[
!vD704]0
vd8 rdgR
VdA[[[;[[[
VdA[[[?[[[
VdA[[[5[[[4[[[d
vdA[[[d[[[
VdA[[[e[[[
VdA[[[p[[[w[[[
VdA[[[|[[[s[[[
Vd_[[[B[[[
VDB@@0pB@@@@@
VdB[[[3[[[2[[[
VdB[[[3[[[2[[[|
vdB[[[J[[[O[[[
VdB[[[P[[[
VdB[[[r[[[
[[[])VdC[[[
VdC[[[:[[[9[[[
V@@@@@'@@D@CCac
VdC[[[m[[[
VdC[[[R[[[Q[[[[[[d[[[[
VD@CxPE@CUv
VdD[[[7[[[
V'DdA[[[K[[[
VdD[[[c[[[
V;DdC[[[n[[[g[[[B
VDdE[[[g[[[
Vd_dH[[[V[[[T[[[
vDdS[[[Y[[[p[[[
vDdV[[[Y[[[
VDdW[[[n[[[
VDdX[[[|[[[
vDdx[[[u[[[
V;Ddy[[[
vdE[[[-[[[
VdE[[[@[[[
Vd(Eme?#	dk
vd:EVfCRS
v[dF[[[8[[[2[[[
VdF[[[a[[[
#VdF[[[e[[[
VdG[[[7[[[6[[[
vdgfGCVJ
v|dggfgfG
VdG[[[p[[[j[[[
vDgqgg4*
VDgqgg?F
VdgqggPE
v|dgqgg;r1
@VD@Gx0Qs
vdH[[[*[[[
vdH[[[_[[[
VdH[[[:[[[
VdH[[[1[[[0[[[
vdH[[[_[[[I[[[
VdH[[[J[[[
vdHJ[FzALL]
]_v@DHNL
vdH[[[n[[[m[[[
VdH[[[.[[[-[[[r
VdH[[[_[[[S[[[
v|dHt|dNh
v|dHu|d.h
v|dHu|dNh
v|dHu|p.t
VdI[[[-[[[
vdI[[[1[[[
V]dI[[[8[[[
VdI[[[D[[[
V[[[DI fU[[[
'VdI[[[I[[[
vdI[[[W[[[
VdJ[[[b[[[
VdJF5d!L
v)))D@J[FZF]O
Vd_[[[j[[[i[[[
vdJ[[[i[[[d[[[
VdJ[[[K[[[J[[[
VdJ[[[s[[[
VdJ[[[Y[[[H[[[
VdK[[[![[[
VdK[[[5[[[
VdK[[[8[[[
VdK[[[L[[[s[[[R
VdK[[[Z[[[
VdL[[[-[[[#[[[
VdL[[[?[[[
VdL[[[c[[[f[[[
VdllllllllmllllOllylm
VdL[[[M[[[C[[[8
VdL[[[Y[[[][[[CM
v]@DLY@JBL[
VdL[[[Y[[[S[[[y
VdL[[[z[[[y[[[
vDLZZHNL
]Vd_[[[m[[[
]|VdM[[[
VdM[[["[[[
VdM[[[*[[[
VdM[[[:[[[
VdM[[[;[[[
VdM[[[5[[[
VdM[[[a[[[f[[[
VdM[[[G[[[E[[[J
VdM[[[K[[[B[[[Ai!dN[[[J[[[
Vd@[[[n[[[
].VdN[[[8[[[
VdN[[[H[[[C[[[
VdN[[[.[[["[[['k
vdN[[[_[[[Q[[[E'
VdN[[[t[[[
VdN[[[W[[[A[[[
vDNwriKX
VdN[[[Y[[[
VdN[[[Y[[[K[[[
VdN[[[Y[[[N[[[V'
VdN[[[Y[[[T[[[
VdN[[[Z[[[
v|dO[[[@[[[
v||||||||||DO
VdO[[[([[[#[[[
VdO[[[.[[[
vdO[[[J[[[
VdO[[[j[[[
VdO[[[M[[[C[[[
VdO[[[M[[[L[[[
VdO[[[Q[[[
.VdO[[[R[[[x[[[
VdO[[[u[[[
VdO[[[x[[[
vdP[[[_[[[
VdP[[[?[[[
[]vDP[@HM
VdP[[[h[[[n[[[
VdP[[[o[[[
VdP[[[O[[[
VdP[[[w[[[m[[[
VdQ[[[![[[
*vd"qadU
VdQ[[[f[[[e[[[t
vdQ[[[R[[[
vdQ[[[_[[[S[[[
VdQ[[[s[[[k[[[
VdQ[[[w[[[h[[[h
VdQ[[[x[[[
VdR[[["[[[
VdR[[[;[[[7[[[
VdR[[[9[[[
VdR[[[L[[[A[[[
VdR[[[S[[[
VdR[[[X[[[Q[[[
v_dS[[[F[[[s[[[
VdS[[[K[[[B[[[
Vd@[[[s[[[m[[[
VdS[[[_[[[P[[[
VdT[[[	[[[
VdT[[[5[[[
VdTdO[[[
vdTeFS-2W
Vd[[[[t[[[j[[[
vdtTpgppepqG
v[[[[[[dT[[[u[[[
vD]TwLItN]Er
VD@TxYI@Tx
VdT[[[Z[[[
VdU[[[|[[[
VdU[[[5[[[
v|d(u|dHt|dNh
VdU[[[F[[[
VdU[[[G[[[
v dU[[[K[[[M[[[
VdU[[[M[[[
VdU[[[N[[[
VdU[[[Y[[[R[[[#1WdI[[[X[[[
VdU[[[Y[[[V[[[
vdV[[[g[[[
VdV[[[k[[[
VdV[[[l[[[
VdV[[[Y[[[J[[[
VdV[[[Y[[[Q[[[
VdV[[[Y[[[T[[[
VdV[[[Y[[[W[[[*
vdV[[[z[[[
VdV[[[Z[[[
V[[[[[[dW[[[
VdW[[[:[[[
vdW[[[7[[[4[[[lK
VdW[[[a[[[
vdW[[[S[[[P[[[
VdW[[[u[[[
VdW[[[ [[['[[[W
VD@WxPE@WBW
VdW[[[Y[[[Q[[[
VdW[[[Y[[[V[[[@
Vdx[[[4[[[
@VDXBV_[L
VdX[[[I[[[
VdX[[[k[[[
VdX[[[k[[[i[[[K
VdX[[[L[[[A[[[
VdX[[[l[[[e[[[	k
VdX[[[Y[[[P[[[j'edU[[[
vdY[[[#[[[
VdY[[[c[[[
VdY[[[C[[[
vDYCCNCCCBACCe;r
VdY[[[E[[[
v)))@DYF[]
v@DYL[ZFGH]L
VdY[[[O[[[
VdY[[[O[[[N[[[
vdY[[[V[[[
Vdz[[[?[[[0[[[m
Vdz[[[3[[[2[[[
v)))DZA]H
VD@zE_BU
VdZ[[[M[[[
VdZ[[[m[[[b[[[T
VdZ[[[P[[[
Vdz[[[V[[[I[[[
vDZZHvHHHvH@A
v)))D@ZZ@ZZ@YY@]LLGHNL[Z
|vE2pxxw
@VE9@XBVE9
Veaa]Y]]qMX
-(vEagfG
@VEBUBWAYI
@VEBVghBUQ
__vectorcall
vector too long
VEcY[[[2
V_EdI[[[
vE]dI[[[m[[[
vEdQ[[[J[[[
vEEggfGs
VeEIMe# 
vEFJHE]@DL
v)))EFJHEvO@EL
vEFNFGZLZZ@FG
vEFN@JHEM@ZB
vegfG4r 
vegfG*mqvgqgg
V|eggfwA
Vegqggc1
V@@eH[[[
v|eHt|eNi
VeJ[[[h[[[m[[[
vEKb	eKdgfG
vE@K@ZGF]ML_@JL
ve llllllllmllllOllylm
Ve'llllllllmllllOllylm
VendorId
V[[[e.PdK[[[
"vEpgppepq
Vepgppepq
VEpgppepqy#
	]VeQFyQPWE9VvLC9
.verbose_output
verbose_vdll_reads
Verified
verify callback is a deprecated parameter. TDT does not load dynamic libraries anymore
VerifyHandle
VerifyVersionInfoW
VerQueryValueW
VerSetConditionMask
!Version
_VERSION
versioning
VERSTRINGHANDLE
vertical-line
VerticalLine
vertical-tab
VeS[[[0[[[
VE@TxJBW
v|e(u|eHt|e.i
VeV[[[-[[[
|V|E|||||||||V|V|V|V|M|D|V|
VE||||||||VVVVMDV
|V|E|||||||||V|V|V|V|N|D|V|
VE||||||||VVVVNDV
|V|E|||||||||V|V|V|V|V|
VE||||||||VVVVV
@VE@WE9_VD
@VE@WE_BV
VE@]xPD@]B]
@VEYEPgiV
[[[V@"eZ[[[c
VeZ[[[w[[[
VfA[[[([[[
v@@@@@FA@N@AEac
VfB[[[c[[[
vFBvDZNv
VfC[[[K[[[
VfC[[[|[[[s[[[
VfC[[[t[[[
[[[.vfe_[[[
VfE[[[b[[[
[[[.vfeC[[[
v[FELAFGF[_F
.vfeM[[[
[[[.vfeM[[[
.vfeN[[[
.vfeO[[[
.vfeP[[[
.vfeQ[[[
.vfeT[[[
VfE[[[W[[[V[[[t
VFGgqggh
vfggwV c
Vfgqgg2FGpn
vFgwegfG
vFHLYO[FDJ[PY]F
VfI[[[3[[[
-vfI[[[7[[[*[[[
vfIAAAA@AAAAAC
VfIAAAA@AAAAAC
VfI[[[F[[[
VfJ[[["[[[![[[
VfJ[[[J[[[O[[[
vFKCZALEE
vfK[[[q[[[
vFLEHS	j#
vFLEHS	uq
VfllllllllmllllOllylm
Vfllllllllmlll]Y]]
VfN[[[l[[[
vfo_add_buffer
vfo_add_buffer(): buffer is empty
vfo_add_filechunk
__vfo_close() was called on an invalid vfo handle
]vFOOZL]
vfo_write() failed
Vfpgppepq
_VFpgppepq
VFpgppepq
Vf[[[[Q[[[
VfQ[[[f[[[
VfR[[[C[[[
VFSParams
'Vf@@@@@t@@A@AAac
vfwq.d[[
v_fy[[[.
vFYL[H]@GNZPZ]LD
vFyyyyyyyy
Vg0eQKbU0
.v(g1|gfG
vg1pgfGq
Vg2ngfGg
vg3egfGN'
Vg5egfGq
)vg5)]S-
v#g7fgfGHoI
Vg7ggfGK
_vg7hgfG
!Vg7mgfG
VgA[[[?[[[
VgAbgfGje
VgAegfGG
v"gAggPw
vgAjgfG2
VgAjgfGn
VgA[[[L[[[A[[[?
VgB[[[?[[[
Vg!begfw
VgB[[[M[[[
vgcbgfGf
VgCCNCCCBACC
vg?cgfGg
_VgCwgfG
|VgdC[[[q[[[t[[[[[[dU[[[p[[[
V(g]dgfG
V)g-dgfG
Vg-dgfGH
vg[dgfGm
vg'dgfGME
Vg	dgfGo
Vg]dgfGo
VGdL[[[Z[[[h[[[kl
	VgdM[[[
v)g)egfG
Vg_egfGLL
Vg)egfGM
vg'egfGo
VgEkgfGWG
vgfG2m6Jgqgg!
vgfG2@uYgqgg!
vgfG5jR gqggH
vgfG5*Qrgqgg!
vgfG5r9Wgqgg!
vgfG.7h;gqgg!
vgfG8wENgqgg!
"vgfG-96
vgfG9ya8gqgg
vgfGAF[Bgqgg!
vgfGaivGgqgg!
vgfG)A kgqggl
vgfG#"c-gqgg
vgfGcjR9gqgg!
vgfG!?D0gqgg!
vgfGD *Agqgg!
vgfGD)LPgqgg
vgfG'DOjgqgg
vgfGEWtIgqgg!
vgfGfB#3gqgg!
v]g-fgfGiY
vg_fgfGu2
vgfGFu8zgqgg
vgfGGChHgqgg!
vgfG@gw7gqgg
vgfG"H6;gqgg!
VgfG_#ISgqgg
vgfGItsVgqgg
vgfGIweOgqgg!
vgfGIXaggqgg!
vgfGj|qhgqgg!
vgfGk0azgqgg!
vgfGk-):gqgg!
vgfGKUbbgqgg
vgfG"MBXgqgg
vgfGM@wRgqgg!
vgfGo8)Tgqgg!
vgfG#o-*gqgg!
vgfG	!O;gqgg
vgfG*oHDgqgg!
vgfGOtx7gqgg!
* v'gfGP
vgfG]pFfgqgg@
vgfGpF|ugqgg!
vgfGPh.ugqgg!
vgfGP'vngqgg!
vgfGP!x5gqgg!
vgfGQDj_gqgg!
vgfGQIpXgqgg!
vgfGr2V-gqgg!
vgfGrBJagqgg!
vgfG'rIQgqgg!
vgfGRopvgqggm
vgfGRrJ6gqgg!
vgfGSvkvgqgg!
vgfG#tOMgqgg!
vgfGuJ(Qgqgg
vgfGUWrHgqgg!
vgfG(VY5gqgg!
vgfGw?M7gqgg
__vgfGY:
vgfG;)Yggqgg
vgfGYo52gqgg!
v"gg7gfG8
vggagfG)1S
vgGbgfG19
v]-ggdgfG
VggdgfGJ
vggdgfGjNf
VgGegfGo
;VggfgfG
vggfGPGo
vggfGXT2
)-#Vggfw
v;g	ggfGN
Vg;ggfGW
v"ggGgfG
]vgGmgfG
vgGngfG'
vgGngfG@
vgGngfGeun7gqgg
vgGngfGi
vgGngfG-q
vgGngfGv
vgGngfGW
V#gGUgfG
VggugfGD
v"ggwgfGG"
Vg#hggwU
*VgifgfG
Vgiggfw[
vgiggfwB
VGKdI[[["[[[
v_]g	kgfG3
vg-kgfGj
v(g)kgfGp
 Vg_kgfGSs
Vg-kgfGy0
v'gKgggw
vgKigfGv@pOgqgg
VgK[[[J[[[
VgKjgfG' 
VgKjgfG-
VgKjgfG_
VgKjgfG45
VgKjgfG9h
VgKjgfGB
VgKjgfGQ
VgKjgfGW
VgKjgfG.@Wngqgg
VgKjgfGxS
VgK[[[u[[[
-||v.||g.||L.||9.||).||
VgL[[[C[[[
vgllllllllmllllOllylm
V-GllllllllmllllOllylm
vgllllllllmllllOllylma
vGLLMELZ
VgmfgfGJs
Vg!mgfGr
V)GmggfwY
v@GMLQvZ]PELvOHGJP
vgmoggGYoz
	vgmugfGa
vg_ngfGm
VgoagfG2
VgodgfGH
v[goegfG
vg#ogfGq
vg?ogfGZ
vgO[[[J[[[
vgopgfG1
v(gOrgfG
vgP@@@@B
vGpgppepq
-v_gqgg;
v* gqgg[
vgqgg"*.
-V*gqgg!
:Vgqgg [
@Vgqgg[?
V"gqgg	]
V[*gqgg?
Vgqgg0F1
Vgqgg0	S
*vgqgg'3
vgqgg9j_A
Vgqgga_e
	vgqggBG
VgqggbNA
VgqggcnuD
vgqggcPF
)V!gqggd
:vgqggdC1m
vgqgge7g
vgqgge]bv
V@gqggF 
vgqgg'G8i
Vgqgg'G8i
vgqggHR)J
vgqggJ@.
vgqggj"O
v[gqgg@K
vgqggKSl
!vgqggLP
(;vgqggM5
VgqggmmD
VgqggoBN
vgqggPb_
vgqggPFO
V#gqgg q
VgqggQbr
vgqgg@QXxE
v[gqggRl
vgqggS	k
Vgqgg#SP
Vgqggt|:
vgqggtBvh
Vgqgg|UE
;Vgqgg	W
[vgqggWoql
!Vgqgg[ X
v	'gqggY
Vgqggza!)
vgqggzhY
vgqggzyN
vgQ[[[u[[[h[[[h
vgScgfGi-
-vgSegfGg
VgsfgfGHu
vgsHRINK
vgS[[[p[[[h[[['
vgUbgfGv
vg_ugfGG
VgU[[[I[[[
[VgUkgfG
#VgUUgfG
V*gwfgfGdf
VgwfgfwM
vgwjgfGX
vgW[[[k[[[
VgwogfGs
V?gWygfG
vgYdgfGk
V|gyggfGC
vgykgfG.
v	?Gyyyyy
v;Gyyyyy
VGyyyyy9g9yyyE
VGyyyyyyr9yyy
VgZ[[[@[[[
v@GZ]HEEvFOOL[ZvY[L
v)))@GZ]HGJLZFO
v@GZ]HN[HDMKvHMD@G
V*(HAUHA
[[[vH@dF[[[.[[['[[[
vhdJ[[[F
vhdK[[[v
vhdL[[[p[[[
vhdQ[[[g
vHdR[[[D[[[
vhdU[[[Z[[[@[[[
vhdxfileH
vhdxfileH9
vhdY[[[3[[[
V)))HEL[]
v)))_H[F
Vhg'ggfG
vhgqggC|_
VHHHHHHHHHHVHHHJyxq
VHHHHU]HK
v)))HHO]HK
vH[[HPvZJvHMM[
V*(HIUHA
VHJxyxqh
Vh@llllllllmllllOllylm
vhllllllllmllllOllylmL
vhmfmk))
vHM@GOF@M
vHMM[LZZM]
V*(HMUIH
#v)]H[NL]
v)))]H[NL]
#V)]H[NL]
V)))]H[NL]
V*(HNUHA
v())_H[OEHZA_H[Z
VhostBin
vhpgppepq
vHpgppepq[
V!hpgppepq
Vhpgppepq
v)))_H[QPS
V*(H@UHA
v|h(u|hHt|h.l
V[[[h?VdI[[[
V)))_H[vHOO@M
VHVHVIxxx
:)))vHYYE@JH]@FG
v)))HYYMH]H
)))v)))_H[Z][
v)))]HZBB@EE
v)))]HZFFZA@
v)))HZZLDKEPO@EL
[v[	[i[[[
vI6;F#o_dgfG
[v[i[b[h[
'VId_[[[
V"IdE[[[.[[[#[[[
VIeubgfGL
views may not be indexed
VI_f#V;0
VIgaegfG
ViGcgfGN"
ViggmgfG
VigOggfwFj
VigubgfGo
v|iHt|i.m
v|iHt|u.y
V*(IHUIH
v|iHu|i.m
VIHxyxly
VIi!VIiIVIiyVIi
vIJoTHo_dgfGS
V*(IJUHA
V*(IJUIH
vikocvjvjjjkF]X
[v[i[l[c[l[v[o[c[o[
V)))i[LGHDLXFQ
vIllllllllmllllOllylm
V* ILUII
vimohbhbnk
vimohbhbnkELVjnkniljiikkk
V*(IMUHA
V* INUII
violation_flags
violation_types
V*(IOUIH
VipgppepqM
VIpgppepqN
virtual 
VirtualAddress
VirtualAlloc
VirtualAllocEx
virtualDirectory
VirtualFree
VirtualFreeEx
VirtualLock
VirtualProtect
VirtualProtectEx
VirtualQuery
VirtualQueryEx
VirtualSize
virtual table
virtual tables may not be altered
virtual tables may not be indexed
VirtualUnlock
(Viseman)
[VisioEmbedded]
Visio (TM) Drawing
v[[["IUdH[[[u[[[
v|i(u|iHt|i.m
v:ivgfG9.
')VIVHVHxxx
VIVHxyxnyUx
VIVHxyxryUx
VIVNVJVHyx
V;Ixrxdy5x
VIxxfx]Y]]
VI_xxx.xxyxyxyxY[4
V:Ixyxby
V"Ixyxdy
V?;Ixyxdz
V: Ixyxey
V;Ixyxoy
V;Ixyxty
V"IxyxTzy]nP
V:IxyxXya
V:Ixyx]y
VIxyx|yL.D
V?Ixyx[yV
V!.Ixzxdy
V:IxzxIy".
ViygCwgfGi
[[[V[[[J[[[
v[[[j4XfL[[[u[[[
;VJ6gAgg|v
v]JBPLYEJ
[vJdB[[[
V)JdH[[[K[[[C[[[hu
[[[V)JdY[[[
v)jDyyyyyyyy
')))vJDZAFYKHJBr
#v)JE@JB
V)))JE@JB@GNAL[L
vJE@JB][@NNL[LMHM]PYLZ
vJE@LG]vbe))
vJE@LG]vZ
vjeO[[[P[[[W[[[
vJFDDHGM
((@vJFDDHGMZ
vJFDJEHZZ
vJFDY[LZZ
v)))JFEF[
 )))vJFFB@L
vJFFB@Lr
;)))vJFGGLJ]@FG
vJFGZ]HG]Z
_[[[Vj;fV[[[
V)))JFYP
Vjg5UgfG
V_Jgqggs
VJgqgg]"U
v!Jhggfw_C;
[vJhggfwEN
vJhggfwI
VJhggfwo
vJhggfwR
vJH]HEFN
VjIdH[[[
V*(JIUHA
vJJhggfw
vJKONrYSXt
V*(JKUHA
VJLdM[[[
v())J[LH]L]LDYO@EL
vJ[LH]Lv
vjlmnbbnljMkO]X
vJMGMFDH@G
V*(JMUH@
V*(JMUIH
vJN@K@G))
v@@@@@@@@jp@@@@@@@@@@B@@@Hp@U
vjpgppepq
VJpgppepq
[]vJPNGL]
vJ[PY]LMO@EL
vJ[PY]vAHZAO@EL
)))vJ[PY]vMLJ[PY]MH]H
vJ[PY]vMLJ[PY]MH]H
vjvmibkF]X
V: Jxyxdy
V:Jxyxhy?
V:Jxyxiy2A
VJxyxMz(x
V;Jxyxuyx1_
V-JxyxUzyra
V:!Jxyx[y
V;Jxyx]y
V:JxyxYy
V:"Jxzxdy
VjyyTWVI
vK0dK[[[
Vk0J0D0f0)
VKBdL[[[4[[[
vkBgOtgfGi
[v[k[c[k[j[j[l[m[v[
vkckjjlmv
]vKdC[[[1[[[
vk'dgfG|
VKdT[[[k[[[
vKEHGBMH]H
V K-ggfG
vK@GMEYF[]
vKgqgg#)dsmO
vK[HGM@GNvKH[vDLZZHNL
V*(KIUH@
vKk_dgfG
vKLHJFG))
v)))KLZ]LE
vKmggfww
v||||||||||KO
v@@@@@@@@Kp@@@@@@@@@@@
Vkpgppepq9Z
_]vKP[LOU_]v@
vKPYHZZ))
vKv_H[vAFMF[
vKv_H[vAFMF[]PYL
vKv_H[v]HDKHAH[JA@_L_
vKv_H[v]HDKHAH[N
|V|K|||||||||V|V|V|V|V|D|H|O|||||||||V|V|V|V|V|D|O|
VK||||||||VVVVVDHO||||||||VVVVVDO
V: Kxyxdy
VKxyxlx5x
V?Kxyxny
VKxyxQy*
V:!KxyxXy
V:KxyxXy]
vk@@@@]Y]]
@VL4@WsewSSYk
@VL6@WL3YkIRSSs
v@@@@@l@@A@AFac
@V[Lcgrk
VLdB[[[E[[[
v)))[LDF]LLQL
vLDKLMMLM
vLdO[[[b
VLdQ[[[G[[[x[[[
V.LdS[[[
v[LdZ[[[
VLEgqggN]
v)))LELDLG]
 vLfgSugfG
vLgqggHc
vLgqggNN
V)))L_HE
V)))L_HE_H[
vlhgqggx
v|lHu|l.p
v)))LJFMF]
V)LJnaOv
[v[l[k[k[
v[[[ll]dJ[[[
)))vL_LG]E@Z]LGL[Z
vL_LG]E@Z]LGL[Z
VLllllllllmllllOllylm
vLllllllllmllllOllylmt
'vllllllllmllllOllylm
;vllllllllmllllOllylm
v!llllllllmllllOllylm
v?*llllllllmllllOllylm
v@llllllllmllllOllylm
v[llllllllmllllOllylm;
vllllllllmllllOllylm
vllllllllmllllOllylm!
vllllllllmllllOllylm.
vllllllllmllllOllylm;
#VllllllllmllllOllylm
*"VllllllllmllllOllylm
*VllllllllmllllOllylm
;VllllllllmllllOllylm
?V	llllllllmllllOllylm
@VllllllllmllllOllylm
[VllllllllmllllOllylm
_VllllllllmllllOllylm
V(llllllllmllllOllylm
V.llllllllmllllOllylm
V@"llllllllmllllOllylm
V]llllllllmllllOllylm
V_llllllllmllllOllylm
VllllllllmllllOllylm
VllllllllmllllOllylm 
VllllllllmllllOllylm#
VllllllllmllllOllylm1sa
vllllllllmllllOllylm3B
vllllllllmllllOllylm4
vllllllllmllllOllylm5
v.llllllllmllllOllylm8
vllllllllmllllOllylmc
?vllllllllmllllOllylmCg
VllllllllmllllOllylmd
VllllllllmllllOllylmdM
VllllllllmllllOllylme
vllllllllmllllOllylmH
VllllllllmllllOllylmh
VllllllllmllllOllylmkN
VllllllllmllllOllylm;|L
|vllllllllmllllOllylmLM35W
VllllllllmllllOllylm.M
vllllllllmllllOllylmn
VllllllllmllllOllylmn
VllllllllmllllOllylmN
vllllllllmllllOllylmNq
vllllllllmllllOllylmo
vllllllllmllllOllylmp
vllllllllmllllOllylmP
vllllllllmllllOllylmq)
VllllllllmllllOllylmr7
VllllllllmllllOllylmrx
VllllllllmllllOllylmS6k
VllllllllmllllOllylmsXP
v|llllllllmllllOllylmT
vllllllllmllllOllylmu
VllllllllmllllOllylmV
VllllllllmllllOllylmw
vllllllllmllllOllylmX
VllllllllmllllOllylmX
vllllllllmlll]Y]]
!Vllllllllmlll]Y]]
;Vllllllllmlll]Y]]
V#llllllllmlll]Y]]
Vllllllllmlll]Y]]
vllllllllmlll]Y]]I
Vl#mggfw
v[LM@[LJ]
v[LM@[LJ]))
v[LM@[LJ]v
??VLMMMa6r
??VLMMMd6r
VLMM[vLMM9
v||||||||||||||||||||||||||||||||||||||||||||||l|||||||N
v)))LNALCMF[
V)))[LNHMM
@VLogDTBUgAk
VlOllylmyJ
V)))[LO[LZA
!Vl	-O?r
v@@@@@@@@Lp@b
vLpgppepq
V@@@@@@@@Lp@m
V@@@@Lp@n
vLQJLY]@FG))
v)))@LQYEF[L
v)))LQYHGMLG_@[FGDLG]Z][@GNZ
vlSSSSSSSSSSSSSSSS
VlSSSSSSSSSSSSSSSS
v|l(t|l.p
vL[[vDZNv
|||v|||L|v|e|e
||||v|||||||LX
@VlxEC@@@@@r@@A@AAac
VL:xWxxyxyxyxxyxZz
?_vL'((]Y]]
vLYgqgg:
'v|m[[[[
vmaccessremoved
VmAddress
v._master_2020-12-14T09:20:49-08:00_5b3acb1_2020-12-22T16:20:51
vmbaseaddress
vmbytescopied
vMdJ[[[f[[[
VMdM[[[G[[[o[[[
(vMeK[[[
)))vMFvDH@E
?v!mggfw
v)mggfw0
V|)mggfwe
v)mggfwIL
vmggfwJe*
VmgqegfG
'Vmgqgge
vMgSkgfG
VMgWdgfG
vMGyyyyyy
vmHgAgg#
v)))MH]H]PYL
V)))MH]H]PYL
V[[[mi#dN[[[U[[[H[[[
[[[VmJdO[[[
vM@[JFDY[LZZ
vMKEJE@JB
v_@MLFJFG][FEEL[
 |VMllllllllmllllOllylm
vMLZB]FYDFG@]F[
vm)mggfw
vmNg7dgfG0
vm pgppepq
VmProcessProtection
VMProtect
vmregionsize
vm_search
VM_SEARCH_BITMASK
VM_SEARCH_BM
VM_SEARCH_FOP
VM_SEARCH_FOP64
VM_SEARCH_MSILFOP
VM_SEARCH_VBFOP
VMVIVIHxyxfy1
VMVMVNxyxey1
VMVMVOxyxey1
VmVVViVV
VMwareVMware
v||||||||||||||||||||||||||||||||||||||||||||||N
VN[d@[[[
:vNdO[[[
VNeZ[[[J[[[
vNg?:gfGn
vNgWjgfG
)))vNHY@v]JYZLGMO@EL
[[[VNKfZ[[[3
vNLFvPLZvA]]Y))
!)))vNLGL[
V)))NL[HGMFMHGOLLEL][G@JH
vNL]MM@_Lr
vNL]v[HGMv@YvHMM[
vNOgqggW
v?nPgfGy
VNPpgppepq
VNQRSSSSS
vnUFS_zip
vnV[[[e[[[
vOdA[[[)[[[
'VOdI[[[2[[[
.|vodo7ogo
[|vodo7ogo
|vodo7ogo
#|vodo9ogo
)|vodo9ogo
-(|vodo9ogo
.|vodo9ogo
?|vodo9ogo
|vodo9ogo
V.Od[[[[u[[[k[[[
Vo]dW[[[
vOEHNZvZL[_L[v]Fv[LM@[
vO@ELE@Z]]FH[[HP
vO@ELZMLEL]L
	|voeo7ogo
@|voeo7ogo
_|voeo7ogo
||voeo7ogo
|voeo7ogo
(|voeo9ogo
-|voeo9ogo
|voeo9ogo
|voeo;ogo
v)))OFNLNALAML]P
|vofo9ogo
V)))OF[O@EL@G
v)))OFYLG
?VogAkgfG
vOgfGL.L
vogfGS|7
vOgggfwY
V|ogqgg!
Vogqgg7-V
VOgqggry[
Vo[gqggVa
vog_zffGkf
vOHBLCH_H))
vohhnhjimjqks]X
[v[o[h[n[h[v[b[m[o[l[v[k[l[
v|oHu|oNs
 volatile
volatile
volatile 
volatile.
 )))vO[LHBS
vollllllllmllllOllylm
vOllllllllmllllOllylm
VollllllllmllllOllylm
VolumeCreationTime
VolumeLabelLength
VolumeMountBehavior
VolumeSerialNumber
[v[o[m[c[i[v[c[
??vOMMMa6r
??vOMMMa9
VONBJH@Kxxyxx
v@[[oooo
vOpgppepq
Vopgppepq
_)[VoqegfG
VO[[[Z[[[O[[[
vO[[[Z[[[O[[[A
@@@@vp@@
v||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||p
||||v|||P|||
@@@@@Vp@@@@@@@@@@@@@@
vpath_scrubbed
@VPBVd3WLC9
V[PcccLccacJc0
@@@@@@@@vpD
@@@@@@@@vpDt
@@@@@@@@vpEE9
@@@@@@@@vpEMG
@@@@@vp@f
Vp g1kgfG
vP	g)kgfG
;vpgppepq
_vpgppepq
|vpgppepq
v!pgppepq
v"pgppepq
v*pgppepq
vpgppepq
vpgppepq 
vpgppepq.
vpgppepq;
vpgppepq[
.Vpgppepq
:Vpgppepq
@Vpgppepq
V-pgppepq
V;[pgppepq
Vpgppepq
Vpgppepq(
Vpgppepq:
Vpgppepq@
vpgppepq0W
vpgppepq4
vpgppepq9
Vpgppepq-a
vpgppepq#B
vpgppepqB
vpgppepqbhm
v(pgppepqc
Vpgppepqc
Vpgppepqf
;vpgppepqG
vpgppepqH
*vpgppepqi
VpgppepqIFd
	Vpgppepqj
Vpgppepqk
VpgppepqK
)Vpgppepql'
vpgppepqlcx
VpgppepqLQ
vpgppepqoMC
VpgppepqOq
VpgppepqpE
vpgppepq@]Q
vpgppepqqzB3
V)pgppepqr
V(pgppepqR
vpgppepqu
vpgppepqwj
VpgppepqX
Vpgppepqz
vpgppeptB
?VpguegfG
vp(gwcgfG:
@@@@@@@@vpHYi
VPI;VXtCH
@@@@@@@@vpJ
vpj7Dyyy
VPJPJPJPJPJPJ
VPJPJPJPJPJPJOJOJPJPJOJOJPJPJPJOJPJOJPJOJPJOJPJOJPJOJPJOJPJOJPJOJPJPJOJOJ
VPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJ
VpMgAggY
vpmSSSSSSSS
[[[vPpd_[[[
vPpd][[[
vPpdA[[[
vPpdA[[[A[[[
vPpdB[[[
vPpdJ[[[
vPpdK[[[
vPpdM[[[
[[[vPpdU[[[
vPpdV[[[Z[[[
vPpdX[[[
vPpd@[[[z[[[
@@@@vpQze
@@@@@@@@vpR
V)))][PR_
vPSfS[uPSeS
VPSSD@WBw@Vk
||||v|||||||p|||t|||||||||||
V__PUPTUQ
VpUS"xyyy	
v	PvllllllllmllllOllylm.
_vPvPvFvYvZvGvMvQvAv_vKvLvQ
@@@@vpW	
v[[[pwPdP[[[
vPWVvPWV
:@@@@vpX
VpyxJyBWWx
VpyyIpykIpyUIpyOIpy1Ipy#Ipy
vpyyipyQ:zy4:zy
|VQ@@A@@
|VQ@|@@A@AAacoo
@VQBVLCsSSS
@VQBVLKsSSS
@VQBVLXsSSS
@vQBvNsSSS
@vQBvsSCSSsSSS
@VQBVsSRSSsSSS
@VQBXBVsSSS
@VQBZIsSSS
VQcccLccacJc0
Vq@CNCCCBACC
VQg7wggG
V	qgqggj 
__VQgZgg
V)))QH[NZB@EE
[[[VqJdJ[[[
_vqllllllllmllllOllylm
vQngOkgfGp
.vq@@@@[pa_P7
Vqpgppepq
vQQQEF_L
vQQQJ[PY]L[
v|'!qv||||!qv|'|||*5
@VQ(VSSW(|SSWAUBVLG
@VQ(VSSW(|SSWBVULG9
V||qW||XW||?W||
V!QX"aaa
VQyJhggfw
@VQYP_Uv
VQyxgy" 6;XXXXXXXXXXXXXXXXXXXXXXEEF6;yxZy" 0
))))(V)))_)))R
VR5PKggfG
VrBd_[[[
vrc;ggfG
V)))rDH@GtHO@M
vRdT[[[Z[[[
vrEPXGOQ
VRgehgfG
VR.gqgg?e;
VRgQ[[[t[[[
vrN_gfGq
VRSCBRSSS@S	C
VRS#nRSSS@S
VRSRSCqQSSS@S
V[rSRZWS
VRSSBWTM9
vRSSQPL_9
vRSSQ(XSSWPLK9
VRSSUsSSPS
V)))Ru[]O
v|r(u|uHt|x
v|r(w|uHp|x
vryi!ryM
VS9gQEyQ(QSSWLcdQEyQ(
V@S9V@S*V@S
!v@@@@@s@@A@AAac
v@@@@@s@@A@AAac
vSDgqgg!4
vSd][[[M[[[A[[[CJ;dJ[[[L[[[
VSgAagfG
_v:"SgWdgfG
v|sHu|s.w
[[[v[[[s[j[k[k[h[n[j[w[j[r[w[
vsllllllllmllllOllylmf
vS_llllllllmllllOllylmqn
vSNd][[[
VSNjqQDtQA
_vsnwprintf
.Vspgppepq
VSS4QSBPs
VSS6PSSaSSS
VSS7SSShQSS
VSS7SSSvQSS
"VSSAkUL_9
VSSBIsSSRSf]B[LG9
VSSBKBWh
VSSBpLs9
)VSSBsBW
VSSB_sSCSS
VSSB_sSWSS
VSSBTUD9
VSSBuLjn
VSSBV@ABW@sD@Nk
VSSBV@JTM9	Aa
VSSBW_BV@LD@HkoVSSBND
?VSSBwsS
VSSBXj1VSSD@WB[@VUJ9
VSSBXL_9
VSSBXLC9
VSSBZsSRSS
VSScSSScSSS
VSSD@WB[@Vk#VSSTI
VSSe6T(6RSW(4RSWs
VSSE9X[9@tE9Bto
VSSe;T(6RSW(4RSWs
VSSE@TUD
VSSE@UUD
VSSE@YBYD
VSSEYE@VE@UE@ZE_BVO
VssFreeSnapshotProperties
VSSGPSS	SSSqRSS
VSSiPSS4SSS2RSS
VSSkWSBQ(VSSW@vBv(uSSWK9
VSSNRSSXPSS
VSSNSSBPM9
vsspathscount
VSS|QEyAQs
VSS_QSBPsSCSS
VSSQ(VSSW@JBJ(
VSSQ(WSSW
VSSRRSSuRSS
vSSRSSBQ(RSSWL
VSSRSSCc
VSSRS[SSS
VSSRSSSsS
VSSRSWSSS
vsssnapshotcount
vsssnapshoterror
vsssnapshottime
v]SSS@S?
VSSS@SC[RSRS
VSSS@SiZRSRS
VSSS@Sl[RSRSC
VSSS@SOZRSRS
VSSS@S:[RSRS
VSSsSRSS
VSSSSSRSSSSSSSSSSSSSSS
vSSSSSSSS
VSSSSSSSSSSS
vSSSSSSSSSSSSS
vSSSSSSSSSSSSSSSSSSSSSSwSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSS[
VSSS@S!ZRSRS
VSSS@S.ZRSRS
VSSS@S_ZRSRS
VSSTB_BW
VSSUQ(VSSW(nSSW
VSSUSgVSSUS
VSS'VSSMUSS
VSSVSSSVSSSk
(VSSWBXAqLs
(VSSW[D9
(VSSW(|SSWACB[I9
(VSSW(|SSWAPQI9
(VSSW(|SSWAQQI9
(VSSW(|SSWAWQI9
(VSSW(|SSWQM9
(VSSW(|SSWTBTI9
(VSSW(|SSWZ
_[(VSSW(|SSWZ[(
(VSSWTD9
(VSSW_T[(USSWL
(VSSW(USSW
(VSSW(USSWdQEyQs'WSS9
(VSSW(USSW@IBHBIg
(VSSW_[(USSWYBVr
VSSxIQASARA
VSS[Y[9@T[EekQ(VSSW(
?VSSZj5VSSZU
VSU@ABAj
VSU@[B[j
VSUCV][j
VSUCVxF]U
VSUEyEyPcWS
VSU@GBGj0RSSQBGD
VSUicTSSBO
VSUiD]SSBT
VSUiGZSSD@UBU
VSUiI_SSTD
VSUi?RSSA[L_
VSUitRSSE_k
VSUi	TSSBU6@MBYK9
VSUjQZSSxsBTBZK
VSUj(SSSQs
VSUQsQRSS9
VSUQ(VSSWASs
VSUQ(VSSWs[3S
VSUQ(VSSWsAsS
VSUQ(VSSWsBsS
VSUQ(VSSWsCCS
VSUQ(VSSWs[CS
VSUQ(VSSWs]CS
VSUQ(VSSWs_CS
VSUQ(VSSWsFsS
VSUQ(VSSWsHsS
VSUQ(VSSWsPCS
VSUQ(VSSWsPsS
VSUQ(VSSWsQCS
VSUQ(VSSWsQsS
VSUQ(VSSWsR3S
VSUQ(VSSWsRCS
VSUQ(VSSWs_rS
VSUQ(VSSWsRsS
VSUQ(VSSWsSqS
VSUQ(VSSWsSrS
VSUQ(VSSWs]sS
VSUQ(VSSWsSsS
VSUQ(VSSWsTCS
VSUQ(VSSWsTRS
VSUQ(VSSWsUCS
VSUQ(VSSWsVCS
VSUQ(VSSWsVRS
VSUQ(VSSWsWCS
VSUQ(VSSWsWrS
VSUQ(VSSWsWRS
VSUQ(VSSWsWsS
VSUQ(VSSWsXCS
VSUQ(VSSWsYCS
VSUQ(VSSWsYrS
VSUQ(VSSWsZCS
v@S_u@SHu@Syu@Sju@S
VSUsSSRS
VSUuAVLK
VSUuEyEy
VSUuEyEyEy
VSUuPLC9
VSU@WxuLBAPs
VSUXZ9@KTj
VSUyFyPcWS
VSUYxAAQQ
VSUYxA]V
V@SVU@S@U@SrU@S|U@SnU@S
VSW_E9X[
VSW@TBY@UBT
VSW@TU@UBT
Vswu	'gfG
V||sW||VW||9W||
VSW@ZU@[BZ
vsyaisyIisy2isy
Vsy|Isy]IsyBIsy
[[[V[[[T[[[
@VT9@WBWQ
V@@@@@t@@A@AAac
vt@B@A@2 @A
VTbaEVVSU
@_[@VTB_T
@_V@TBTB_gZV@TBT@UxWB_@UB[BU
[||vT||cT||JT||3T||
VTdF[[[4[[[
VTdF[[[V[[[
VTdT[[[n[[[
V||tg||||||||||||||
VTg?fgfG
vtggegfG
vtgiggfwr
V_Tgqggv
vtgsAgfG0
||||v|||tl||
VTLC3XQ(
vT;llllllllmllllOllylm
V@tllllllllmllllOllylm
VTPX@W]VD
V||TQ||0Q||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@VTsSRSS
@VTszRSS9
_]V@@T]T
vttc[[[[
VTyqggfw2I
[[[v[[[?TZdO[[[
[[[v[[[u[[[
@VUBVdQEyWBVU
@VUBVgQEyBBLC9
VUEDgqgg
VUEDUPUUn
VUED]Y]]
VUED]Y]]	3_
VUED]Y]]4
VUED]Y]]r(_
VufxD.d|)*d
VUG0fgfG
V)))uJDM
VULgqggka
vullllllllmllllOllylm
vUllllllllmllllOllylm
VullllllllmllllOllylm
VUllllllllmllllOllylm
vuML_@JLJFGO@NDHGHNL[
vUpgppepq
VurxxxUX1
Vurxyxey" 0
Vurxyxfy" 0
Vurxyxvy" (
Vurxyx;y
VUSSBUsSSSR9
V)))UUNF]F
vUuQMOuQO
@vUURUUy3t
@vUU_UUC
]V@ U]VL U]VL U]VJ ]VJ U]VJ ]VJ ]VJ ]VJ ]VJ ]VJ 
VuywIuy_IuyAIuy5Iuy#Iuy
||||vv||||||@
V(((((((((V
vv6llllllllmllllOllylm
V*-V9Ixzxg
vvAFZ]vv
v@@@@@VA@O@AEac
(([vv]AvJE@LG]
vv@@@@B@A@
vvBL[GLEvv
VVBxx]Y]]
VVCpgppepq
vvDH@Gvv
vvDHJFZQ
vvDL]HMH]H
vv@DYF[]vv
Vve4-#dMi
vvEFHML[vv
)))vv@G_FBL
VvgoagfG
Vvgqgg*-
vv@G@]vv
vvgwogfGwO;
vvHBOYvZ]F[HNLv]LZ]vv
v_]@vHMD
)))vvHYYEL]vZZ_v_HE@MH]LM
vvHYYEL]vZZ_v_HE@MH]LM
:)))vvHZ
)))vvHZDvv
V:VIxrxvy.
V)VIxyxgz
V(VIxyxPi(
V:VIxyxv
[[[VvJdY[[[
v_]@vJGO
vvJ[PY]vMEEAHGMEL
v_]@vK@G
vv]KvO@ELZ
vv]KvO@ELZvKB
?)))vv]KvZPZvZL
V:VKxyxr
vv[LDF]Lvv
vv]LDYvv
vv[LEYH]A
VVLFFxx]Y]]!
)))vvLFOvvJJ
VVllllllllmllllOllylm
vv_L[Z@FGvv
vvM@[GHDL
vvM@J]vv
vvMLJF[H]L
vvMLO@GLNL]]L[vv
vvMLO@GLZL]]L[vv
V|vodo7ogo
V|vodo9ogo
vvO@ELvv
V|voeo7ogo
V|voeo9ogo
Vv-pgppepq
VVQQPWWW
||||vv||RRR|@
vVSSBABV
VVSSSCSSsSSS
VVSSUQ(VSSW(nSSW
|v|||||||||||||||||||||||||||||||||||||||||||||||vv|||||
vvvNJONuQ
)))vvvQDEA]]Yvvv
VVVrxxxx
VVVrxxx]Y]]
VVVrxyxh
VVVVBXzxky
VVVVBxzxvy6K
VVVVByxhy.
VVVVByxhy6
|||||||||V|V|V|V|H|
||||||||VVVVH
|||||||||V|V|V|V|H|D|V|
||||||||VVVVHDV
|||||||||V|V|V|V|H|H|V|
||||||||VVVVHHV
|||||||||V|V|V|V|H|V|V|
||||||||VVVVHVV
|||||||||V|V|V|V|M|
||||||||VVVVM
|||||||||V|V|V|V|M|D|M|
||||||||VVVVMDM
|||||||||V|V|V|V|M|D|O|
||||||||VVVVMDO
|||||||||V|V|V|V|M|D|V|
||||||||VVVVMDV
|||||||||V|V|V|V|M|D|V|E|||||||||V|V|V|V|M|H|V|
||||||||VVVVMDVE||||||||VVVVMHV
|||||||||V|V|V|V|M|H|M|
||||||||VVVVMHM
|||||||||V|V|V|V|M|H|O|
||||||||VVVVMHO
|||||||||V|V|V|V|M|H|V|
||||||||VVVVMHV
|||||||||V|V|V|V|M|H|V|E|||||||||V|V|V|V|M|H|V|K|||||||||V|V|V|V|M|V|V|
||||||||VVVVMHVE||||||||VVVVMHVK||||||||VVVVMVV
|||||||||V|V|V|V|M|V|M|
||||||||VVVVMVM
|||||||||V|V|V|V|M|V|O|
||||||||VVVVMVO
|||||||||V|V|V|V|M|V|V|
||||||||VVVVMVV
|||||||||V|V|V|V|M|V|V|E|||||||||V|V|V|V|M|V|V|K|||||||||V|V|V|V|V|
||||||||VVVVMVVE||||||||VVVVMVVK||||||||VVVVV
|||||||||V|V|V|V|N|
||||||||VVVVN
|||||||||V|V|V|V|N|D|V|E|||||||||V|V|V|V|N|H|V|
||||||||VVVVNDVE||||||||VVVVNHV
|||||||||V|V|V|V|N|H|V|E|||||||||V|V|V|V|N|V|V|
||||||||VVVVNHVE||||||||VVVVNVV
|||||||||V|V|V|V|N|V|O|
||||||||VVVVNVO
|||||||||V|V|V|V|N|V|V|E|||||||||V|V|V|V|M|
||||||||VVVVNVVE||||||||VVVVM
|||||||||V|V|V|V|O|
||||||||VVVVO
|||||||||V|V|V|V|O|D|V|
||||||||VVVVODV
|||||||||V|V|V|V|O|H|V|
||||||||VVVVOHV
|||||||||V|V|V|V|O|H|V|E|||||||||V|V|V|V|O|V|V|
||||||||VVVVOHVE||||||||VVVVOVV
|||||||||V|V|V|V|O|V|V|E|||||||||V|V|V|V|N|
||||||||VVVVOVVE||||||||VVVVN
V	V	V	V	v
|||||||||V|V|V|V|V|
||||||||VVVVV
V	V	V	V	V	
VVVVVBXzxmy;
VVVVVByxhy6
VVVVVByxsy(
|||||||||V|V|V|V|V|D|I|
||||||||VVVVVDI
|||||||||V|V|V|V|V|D|J|
||||||||VVVVVDJ
|||||||||V|V|V|V|V|D|M|
||||||||VVVVVDM
|||||||||V|V|V|V|V|D|M|J|||||||||V|V|V|V|V|D|M|H|||||||||V|V|V|V|V|D|M|O|||||||||V|V|V|V|V|D|M|V|||||||||V|V|V|V|V|D|V|
||||||||VVVVVDMJ||||||||VVVVVDMH||||||||VVVVVDMO||||||||VVVVVDMV||||||||VVVVVDV
|||||||||V|V|V|V|V|D|N|
||||||||VVVVVDN
|||||||||V|V|V|V|V|D|O|
||||||||VVVVVDO
|||||||||V|V|V|V|V|D|V|
||||||||VVVVVDV
|||||||||V|V|V|V|V|D|V|E|||||||||V|V|V|V|V|D|V|K|||||||||V|V|V|V|V|H|I|J|||||||||V|V|V|V|V|H|I|V|||||||||V|V|V|V|V|H|H|H|||||||||V|V|V|V|V|H|H|O|||||||||V|V|V|V|V|H|H|M|||||||||V|V|V|V|V|H|H|V|||||||||V|V|V|V|V|H|O|
||||||||VVVVVDVE||||||||VVVVVDVK||||||||VVVVVHIJ||||||||VVVVVHIV||||||||VVVVVHHH||||||||VVVVVHHO||||||||VVVVVHHM||||||||VVVVVHHV||||||||VVVVVHO
|||||||||V|V|V|V|V|H|D|M|||||||||V|V|V|V|V|H|I|N|||||||||V|V|V|V|I|V|V|
||||||||VVVVVHDM||||||||VVVVVHIN||||||||VVVVIVV
|||||||||V|V|V|V|V|H|J|
||||||||VVVVVHJ
|||||||||V|V|V|V|V|H|J|H|||||||||V|V|V|V|N|H|O|
||||||||VVVVVHJH||||||||VVVVNHO
|||||||||V|V|V|V|V|H|J|N|||||||||V|V|V|V|V|H|M|K|||||||||V|V|V|V|V|H|K|
||||||||VVVVVHJN||||||||VVVVVHMK||||||||VVVVVHK
|||||||||V|V|V|V|V|H|K|
||||||||VVVVVHK
|||||||||V|V|V|V|V|H|M|
||||||||VVVVVHM
|||||||||V|V|V|V|V|H|M|E|||||||||V|V|V|V|V|H|M|D|||||||||V|V|V|V|V|H|M|J|||||||||V|V|V|V|V|H|M|I|||||||||V|V|V|V|V|H|M|H|||||||||V|V|V|V|V|H|M|O|||||||||V|V|V|V|V|H|M|V|||||||||V|V|V|V|V|H|V|
||||||||VVVVVHME||||||||VVVVVHMD||||||||VVVVVHMJ||||||||VVVVVHMI||||||||VVVVVHMH||||||||VVVVVHMO||||||||VVVVVHMV||||||||VVVVVHV
|||||||||V|V|V|V|V|H|N|
||||||||VVVVVHN
|||||||||V|V|V|V|V|H|N|K|||||||||V|V|V|V|V|H|N|J|||||||||V|V|V|V|V|H|N|I|||||||||V|V|V|V|V|H|N|H|||||||||V|V|V|V|V|H|N|O|||||||||V|V|V|V|V|H|N|N|||||||||V|V|V|V|V|H|N|M|||||||||V|V|V|V|V|H|M|
||||||||VVVVVHNK||||||||VVVVVHNJ||||||||VVVVVHNI||||||||VVVVVHNH||||||||VVVVVHNO||||||||VVVVVHNN||||||||VVVVVHNM||||||||VVVVVHM
|||||||||V|V|V|V|V|H|O|
||||||||VVVVVHO
|||||||||V|V|V|V|V|H|O|D|||||||||V|V|V|V|V|H|O|J|||||||||V|V|V|V|V|H|N|
||||||||VVVVVHOD||||||||VVVVVHOJ||||||||VVVVVHN
|||||||||V|V|V|V|V|H|O|I|||||||||V|V|V|V|V|H|O|H|||||||||V|V|V|V|V|H|O|N|||||||||V|V|V|V|V|
||||||||VVVVVHOI||||||||VVVVVHOH||||||||VVVVVHON||||||||VVVVV
|||||||||V|V|V|V|V|H|V|
||||||||VVVVVHV
|||||||||V|V|V|V|V|H|V|E|||||||||V|V|V|V|V|H|V|D|||||||||V|V|V|V|V|H|V|K|||||||||V|V|V|V|V|H|V|J|||||||||V|V|V|V|V|H|V|I|||||||||V|V|V|V|V|H|V|O|||||||||V|V|V|V|V|H|V|N|||||||||VVVVNVM
vvvvvOZMOvvvvvvvM
V	V	V	V	V	v
VVVVVVBX
!VV:(VVVVV7VVV0
VVVVVVVBxyxBy(
VVVVVVVByxhy1
vvvvvvvF
vvvvvvvMOvvvvvvvvv
v	v	v	v	v	v	v	v	
vvvvvvvv
V	V	V	V	V	V	V	V	
VVVVVVVV
vvvvvvvvB
vvvvvvvvv
vvvvvvvvvF
vvvvvvvvvv
VVVVVVVVVVByxky59;VVVVVVVVVVVVVVVBxx]Y]]
VVVVVVVVVVByxox
vvvvvvvvvvv
VVVVVVVVVVV
vvvvvvvvvvveeeeeee
vvvvvvvvvvvv
vvvvvvvvvvvvvv
vvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV66
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVe
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVC
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvkh
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvJ
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv5i
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv5i
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyiyy
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyu
VVVVVVVVV)yx1y
vvvvvvyv
VVVV?Vyx(y)VVV
VVVxxx3xxyxyxyxY[4
VVVxx]Y]]
VVVxx]Y]] D_
VVVxx]Y]]h
VVVxyxiy]
VVVxyxmy?
VVVxyxtyx
VVVyxhyH
VVVyxhyJJLC
VVVyxkx9
VVVyxky-
VVVyxkyX
VVVyxmx1;5(X
VVVyxry3
VVVyxvx6
VVVyxwy1
VVVyxwyx(
VVVyx]y;
VVXA@B@CB!!
vvY[F]Fvv
vvZHDv[BvO
:)))vv_Z]H]LNLGL[H]F[
[:[v[![w[
V|||W||9W||
VWATAUAVAW
VWATAUAVAWD
@VWATAUAVAWH
VWATAUAVAWH
VWATAUAVAWL
VWATAUAVH
VWATAUAW
VWATAUAWH
VWATAVAW
@VWATAVAWH
[ VWATAVAWH
VWATAVAWH
VWAUAVAW
VWAUAVAW3
@VWAUAVAWH
VWAUAVAWH
@VWAVAWH
vW@@@@B@B@2 @j
#VWCbgfG
vWd@@@@@@B@dp@dM4
VWd][[[G[[[
V@WdO[[[
V[[[)"WdZ[[[U[[[
Vwg?cgfG
Vwh4gWfgfG
[[[VWKdL[[[
vWllllllllmllllOllylmE
vWLngfGC
|v|w|p|q|r|
V@WSLF@V
VWSUATAUAVAWH
VwtxhsS(Z
V'W'X'Y'
v#w#x#y#9
v[[[wYJdF[[[u[[[
VWzgkfgfGb.
vx1gqggNj
vx4bgAggn
v@@@@@x@@A@AAac
@Vx[AT@UL
_||vX||aX||UX||:X||*X||
vxBdZ[[[
V||Xd||||||||||||||||||||||||||||||||||||||
vXdB[[[R[[[E[[[
v[[[?XDdP[[[
Vx	ExxW[xxW
@VxfBUEecBUF
vXgefgfGSi
V XgqggbZ
vXgqgg'G8i
vxgqgg)m7tP
Vxg?ZgfG
vX.illllllllmllllOllylm
_||vX||kX||WX||FX||1X||
vXllllllllmllllOllylm)b
V:xmxay4
[[[V[[[x[[[N
VXOpgppepq
vxOZQ[s Q)MZ
@VxPD@UBTD
@VxPE@VBV_EYBV
V@@@@XpjE
]V@@@@Xp@M
[@VxP[@VE@C]WBV
V:xpxKyw
vxrU.gTH
V?xrxhx1
V*xrxiy'*
V:xrxny-
V!xrxXx;3
vXSSB@K9
@Vx*T9YUK9
@VxTBVBZ
]VXV@T[Lsg_TBT
v||x|| Wv|
V||xW||@W||
VxxrkZiZ
Vxxx!xxyxyxyxY[4
Vxxx]Y]]
Vxxx]Y]]tj_
|Vxx]Y]]
Vxx]Y]]N
Vxx]Y]]OKY
Vxx]Y]]Q
Vxx]Y]]V
v|Xxyxxlla
vxyfixy9ixy
vxyhixyMixy*ixy
vxyIixymixy
vxyiixyPixy?ixy
vxyiixyRixy3ixy
VxyIiyy-VxyyyyyyyyyuIxyaiyyyyyyyyyyyyyyyyyyyyyy
vxy|ixywixyjixyaixydixyIixyCixyDixy:ixy1ixy2ixy)ixy.ixy
vxyjixyUixy0ixy
VxykIxyPIxy9Ixy*Ixy
VxypIxyaIxyRIxy
VxyQiyyEVxyyyyyyyyy
VxytIxygIxyVIxy
vxy)vxyyyyy
V;xyxaz9
V""xyxby4
V:xyxbyx4
V:xyxcy1
V:xyxdyD7
V:xyxDy'x;x
V;xyxEyx
V;xyxfy';
V;xyxfy4
V?xyxfyVG9.;;
V:xyxHy9x
V;xyxHy9x:x
V:xyxiy*
V-xyxiyHYHVH
V:xyxjy*
V:xyxjy3
V:xyxjy6x2x;x
V:xyxJy]x
V;xyxjyY(Y
V;xyxky;
V: xyxly
V;xyxmyVG9.
V:xyxnyVG9.;9
V:xyxnyx
Vxyxnyx]
V:xyxnz'
V;xyxoy3
V:xyxPyW
V;xyxpy:x3x0x6xyxhy
VxyxpyxU
V?*xyxqx
V;xyxQy#
V;xyxQy;
V";xyxQz1x
V;xyxsy1
V?xyxty(
V:xyxTyPx
V?xyxTyUX9
V:xyxuy:
V:!xyxUy
V:*xyxvyVx
V:xyxWy(
V:xyxwyV
V:xyxwyW
V:xyxwyx
VX]yx'x]
V:xyx(x'x
V:xyx]y;1(;4
V:xyx	yD
V?xyx(yS
V:xyxZy4
vxyyiyyirxyyyyyyyyyaixyIhyyyyyyyyyyyyyyyyyyyyyy
Vxyyyyyyyyy
vxyyyyyyyyyyyyyyyyy
V:xzxlyx
Vxzx:x(x
vX_ZZkU]X
	v ((]Y]]
V"((]Y]]
V'((]Y]]
V-((]Y]]
Vy9pgppepqm
vyayxyoyz
vyayzyoyz
  v     ]Y]]B
V_y@@@@BA@@Hp@D
V_y@@@@@BA@.p]@@@@@
V[[[(Y]dB[[[U[[[T[[[
VY]dC[[[
vYFEPMKvHMD@G
vY[FJLZZ
vY[FJLZZF[
v)))Y[FJLZZ@GN
vY[FJLZZ@GN
vY[FJLZZZ
vy[FJLZZz]H[]))
vY[FJLZZZ]H
V())Y[FN[HDO@ELZM@[J
((vYF[]Tu
vYFZ]rE@S
vYFZ]rZFZPL]Lt
	v]Y]]G(_
Vyg5fgfG"
VYgEkgfG
Vygiggfw
.vyg)kgfG
vyg?mgfG2Y
vy]gqggHo 
vygsngfG_
vYGYLG]@]P
)))vYHPEFHM
vYHPEFHM
vYHPEFHMv]
vYHPEFHMYH]]L[GEFHML[@GOFOEHZA
V)))YH[ZL[
VYi1VYiYVYi
V)YIxzxey
VYllllllllmllllOllylm
vYL[OOF[DH]]LMMH]HvYL[OFZvZPZ]LD
VylQgiggfw
V|ymI|yQI|yEI|y7I|y
vYMOvMFJZ
vyog'ggfG
v[[[y;PeR[[[u[[[
VYpgppepq
vYSSxZUD9
V||yW|||A||pW||
V]Y]]|wY
Vyx|9m(X
VyxbyV6-
Vyxex;(-X
;;VyxPx5x
Vyxqy:5-
V*;.:yxr
Vyxry U0
V(yxty!!
Vyx|x3144yx|x
V_y@@@@]Y]]
Vyy9yyyyyyyyyyyyiyy
vyyaiyyEiyyyyyyQyyy)yyy
VyyBIyy!Iyy
vyyHyyyqyyy
vyyhyyy-y
vyyhyyy-yqyuyu
vyyhyyyyyyy5iyyhyyyyyyy
vyyHyyyzyz
VyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
vyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
VyyiIyyMIyy5Iyy
VyyiIyyUIyy:Iyy#Iyy
vyyiyyyyyyyyyyyyyyYyy
vyyMyyykA
VyyoIyy Iyy
vyyqiyyYiyyAiyy
vyyQyyyoyz
VyysIyyoIyyXIyyIIyyGIyy5Iyy.Iyy
VyyxIyyuIyyeIyyQIyy
vyyxyyy1yjyqyq
vyyxyyy1ykyuyu
vyyxyyy1ymyuyu
vyyxyyy1ytyqyq
vyyxyyy1yuyuyu
vyyxyyy1ywyuyu
vyyxyyyEylyqyq
-vyyxyyyEySyuyu
vyyxyyyEyvyqyq
-vyyxyyyEyzyqyq
VyyxyyyqyyyqyyyAVyy!Vyy
vyyxyyyyyyy
vyyy1Qyy
vyyy)hyy
vyyyityy
vyy|yiyy0
vyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
vyyyQJyy-yyy
vyyyUFyy
vy)yyyOM
vyyyYXyyuyxy
vyyy	|yyUqyy
vyyyY[yy
vyyy)yyyiyyyIyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vyyy)yyyiyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vyyy)yyyiyyyUyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vyyy)yyyiyyyWyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
vyyyyyyQyyy)yyy
vyyyyyyy
vyyyYyyyiyyy
vyyyyyyyyyy
vyyyyyyyyyyyIyy
vyyyyyyyyyyyYyy
Vyyyyyyyyyyyyyyy
vyyyyyyyyyyyyyyymyyyS
vyyyyyyyyyyyyyyyuyyy
vyyyyyyyyyyyyyyyuyyy?
vyyyyyyyyyyyyyyyuyyy_6
vyyyyyyyyyyyyyYyy
vyyyyyyyyyyyyyyyyyyyyyyyyyy
vyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
vyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
VyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyZfyy
vyyyZ[yy
vyyy-zyyeyyy
vyyy]zyyIyyy
VyyzIyyTIyy7Iyy
V-YzgIkgfGj
||||v||||||||Z
Vz5Ak7ggfGVz5Agqgg
vZAAAAAA@AKqGa
v)))@ZALEEM@ZYH]JA
vzALL]gHDL
vZALQMLJFML
vZC]Y]]i'Y
'VZdH[[[
vZDKJFGGLJ]@FG
vZ@DYELvHM
vZdZ[[[u[[[
vze@[[[5[[[
((vZEF]Z
vZg7vgfG@
vZ][@GNLGJ[PY]
vZ][@GN[L_L[ZL
Vzgqgg2]
vZgqggG:
VzgWdgfG
v)))Z]H[]
v)))ZH_L]FO@EL
[vZiCiZiA
VzilSSSSM
v)))ZJA]HZBZ
vzJ[@Y]))
v)))ZJ[@Y]ZJ[@Y]EL]J
v[[[zkZdC[[[
v)))ZL]D
')))vZ][LHD
)))vZ][LHD
vZL[_@JL
vZL[_@JLU
vzllllllllmllllOllylmW
vZL[_L[r
vZL[_L[rKHZL
((]vZL[_L[vv]AvJE@LG]A@JAHGvAJA[
vZL[_L[vY[FJLZZ
vZLZZ@FGr
vZLZZ@FGrDM
v)))Z]PEL
vZpgppepq?
vZ	pxooN!
v)))ZPZ]LD
vZSllllllllmllllOllylm
VZSyxkhSZV
VZSyxlhSZV
VZSyxnhSZV
@VZUg[U@Wk
[@VZ@[U@TB[
vzvozf))
VZV[ZVUQ
V||zW||cW||@W||)W||
VzxcyXUX
vzyeizy@izy.izy
VzylIzy1Izy
VzytIzy*Izy
vzyyyyyyyyyyyyyyZyyy2
  w     
))w)))))
[[[	[[[w?
[[[;[[[w
[[[w[[[:
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||w
||||w|||
||||w|||||||
w@@@@@@@@
w||||||||||||||||||
))W)))))
[[[;[[[W
[[[][[[W[[[
||||W|||||||
W-||||||
 W )0 ;0#
?W02efG6x)
W070yyyyW15)yyyy
W0f0D0_0K0
W0gMkgfG
W0H9W8tNL
W0I;W8t;H
_W0j0D0(
W0j0D0g0
 w0llllllllmllllOllylm
W0llllllllmllllOllylmw
w0!mggfw
W...0y8Y
w  (!    1
W13AEgfGZd
W15)yyCCyyyy1
w1d?1@dlp
w1Epgppepq
W1gfGR]Z
W1llllllllmllllOllylm
W1llllllllmllllOllylmL
W1pgppepq
W)1xT*aQ
W2@@A@h LN
W2D[Dyyy
w2pgppepq
W2QoSkSS_YSZSUSGSSC
W2rollllllllmllllOllylm
	W...2y0
W32pServiceTable
w3A@kecgfG
w3@@@@BAA@
w3@@@@BAA@qp@Mg?g
W3g3dgfG
w3Gf6kloS
W3gGdgfG|
w3)gqggj
W3gqgg@[PR
W3llllllllmllllOllylm
w	@3PSSSS[CZZR
w	@3PSSSS[CZZR9
w	@3PSSSS[CZZRT
w3QdJ[[[H[[[
w3wgqggz
w3ZdM[[[#[[[ [[[
W45quAIZ
w49yxdyR
w4@@@@B@A@2 @H
w4EdZ[[[
W4FR[[[Z[[[
w4g]fgfG
w4Gpgppepq?
w4gqggDW
w4gUcgfGc
w4llllllllmllllOllylm
w5A;.r0M
w5dL[[[J[[[8[[[
w5dL[[[z[[[q[[[q
w5dR[[[_[[[D[[[
W5ggfgfG
W5ggfGzv
W5gqgg-N'
w5gqggt_b
W5LdG[[[7[[[
w	5llllllllmllllOllylmu
W5!mggfwb
w5pgppepq8
w5x53(2(
W...5y8Y
W65o|bgfGc
w!66?61yxmy)
w6fkv*dW
@W6g'D@@@@@q@@A@AAac
W!6!)gGdgfGO
w6hP[[[1[[[0[[[
W6ILO@';
W6p3Jcb|
W70VgGfgfG
W@@@7@@F@AFac
W7g7egfG
w7g'cgfGO
w7gqggmx
w7g	tgfG2_
W7Gyyyyy
w7IdH[[[
W(7JKLMV
w7llllllllmllllOllylm
|w7MllllllllmllllOllylm
:W7ngfGu
W7#pgppepq
?||W8|||8||i8||C8||
W[[[8:IdQ[[[
w8Jhggfwq
w[[[8kPf[[[[
W8llllllllmllllOllylm
W8)mggfw
w;?8mggGX
w8ngfGbv(
W||8P||(P||
?||w8||V8||98||
W(8((]Y]]
@W[9@C[QL
W9EgAggq6
w9g!kgfG'
W9_gqgg3
w9]VJ9tv
	W...9y:
w|||||||||||a||
w@@@A@3 E[H
W@@A@3 EJ
w@@@@@@A@3 EoP
w@@@A@3 ET
wA_]72211.D3
wAAAAAA@AAAAAC
	WAAAAAA@AAAAAC
_WAAAAAA@AAAAAC
W)AAAAAA@AAAAAC
WAAAAAA@AAAAAC
wAAAAAA@AAAAACl
?WAAAAAA@AAAAACL
WAAAAAA@AAAAACM
WAAAAAA@AAAAACQ
wAAAAAA@AAAAACrE
WAAAAA@AAAAAC
WAAAA@AAAAAC
WAAAA@AAAAACYP
wAAAAAAAAaqAJ8
WAAAAAA@Ai!GLIb
wAAAAA@AAZqdE
	)@@@@@w@@A@AAac
'@@@@@w@@A@AAac
:@@@@@w@@A@AAac
@@@@@w@@A@AAac
@w@@A@AAac
.WAAAACAAAOqAH6F
.WAAAACAAAOqAO
wAAAAC]AAIqAPAAAAAAAA
WAAAACACAeqAYU
wAAAAC@CCIqAW
!@w@@A@AAacoo
@w@@A@AAacoo
WAAAACQAAKqAWAAAAAAAA
WAAAACY@@3!AUAAAAAAAA
@w@@A@A@ac
@@@@@w@@A@ACac
@w@@A@ACac
@w@@A@AEac
waaepfIsaak
W@AA@h DM
WAAOH@INOHOIHOKAHINWAAOH@LHOAMJHL@MKONW0
waa]Y]]3FY
@wAbIPBw
@WABs3QSSQ(VSSW(
wAdD[[[6[[[
WadW[[[6
w@Adx[[[
Waeg)fgfG
W@A@Exyxay
@WAFBWAF
!]WagfGo"e
W|AgqggM
w'Agqgg]O
WAg'zgfG
waHd][[[
W@@A@h FY
W@@A@h Gb
wAHJB@GN
W@@A@h MR
W@@A@h NN]
w@@A@h NS
W@@A@h On
W@@A@HpB
W@@A@h PN]
W@@A@h ST
W@@A@h TZTTG
WaitForInputIdle
WaitForMultipleObjects
WaitForSingleObject
WaitForSingleObjectEx
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWorkCallbacks
WakeAllConditionVariable
WakeConditionVariable
wal_autocheckpoint
wal_checkpoint
w)))]ALGJY
wAllllllllmllllOllylm
Wallpaper
WallTime_ms
WA@@MAAO@AOOLHOOANMWIHIIJMJN@@IAHOIK@ONW
@@@@@WA@P@AFac
WApgppepq
WApgppepqm
warning message
warn.txt
wASBwG@ZwZwD
Washington1
WASSSS@SS
WATAUAVAW
WATAUAVAWD
@WATAUAVAWH
[ WATAUAVAWH
WATAUAVAWH
WATAUAVAWI
WATAUAVAWL
w|a(u|aHt|a.e
@WAUAVAWH
wAvgfG9p
w_AwHFO_
w@A]w]wY
wAwYw[EE
WaxLx xXx(x
w@@@@@A@@XpDD#H
WAXpgppepq
Waxyyyyyy
W)))A]]Y
Wayy)**.
w)))A]]YZ
w@@@@B@@@
w@@@@@@B@3 EYe
W@@@@BA@@
w@@@@B@A@2 @A
W@@@@B@a@2 @A
W@@@@B@A@2 @A
W@@@@B@A@2 @A_
W@@@@B@A@2 @AFP
W@@@@B@A@2 @As
W@@@@B@A@2 @B
wB@A@2 @D
w@@@@B@A@2 @I_
W@@@@B@A@2 @I
w@@@@B@A@2 @K
w@@@@B@A@2 @q
wB@A@4 @T
w@@@@B@AA
W@@@@B@AA2 @A
W@@@@B@AA2 @As
W@@@@BAA@Ep@J
w@@@@BAA@Hp@N
w@@@@BAB@
W@@@@BAB@
W@@@@B@AB2 @As
@@@@@w@@B@ACac
W@@@@B@AE2 @A
@@@@@w@@B@AFac
w@@@@B@A@Hp@y@Q
WB@A@Lp@|
WBAWVKOIVLLA@VWO
wBBBBBBB
WBBBBBBB
w@@@@BB@@Fp@@@@@@@@@@@
W@@@@BB@@Jp@@@@@@@@@@BA@@Hp@Za
WB@B@Lp@|
W@@@@BB@@Np@@@@@@@@@@@
wBB@@*p@@@@@@@@@@@
@WBBsB(T
wBB@@wp@@@@@@@@@@@B@@-pA@@@@@
@WB]BWU9Q
wBCwLJwHwKwOQJ
WBd@[[[	[[[?[[[
WBdG[[[f[[[;[[[	
wB"eP[[[i
wbggfw3?
w;bgqggx
WbgSigfG
w@@@@B@@@Hp@V]1
WbIfgfGF
WbIfgfGS
wBKAwBwZ
W)))BL[GLEKHZL
[wb!llllllllmllllOllylm
WBllllllllmllllOllylmqCk
W@B@@|p@@@@@@@@@@@@@@
wBP8ufe2
Wbpgppepqd-
wB@@@*p@Hs
w@@@@@@B@_p@L
wBrDfD9J
@WB[sSQSSd
@WB_sS]SS
W	BTK	]W
@WBTLY	@TBVF
@WBTsSQSS
@wBUAtLC
@WBUBWLG9
@WBU@YBWE9
@WBVYAb@sO_Bsv
@WBVYAf@pM_Bpv
@WBVYAg@vLZ_Bvv
@WBW9K9	U
@WBWA[L_
@WBWBbl]
@wBwBqLG9
@WBWBTsSBSS
@WBWBVgc[
@WBWBVgQEyBWYUsSCSS
@WBWBVL_9
@WBW@E[BD
@WBWEbTBWU
@WBWEfQEyAAs
:@WBWE|VE@XxCBW@XBWLsaULL@YxWBX@YULY9
#wbwgfGh
@WBWHgUs
@WBW@I[BI
@WBWIgaW
@WBWIgUs
@WBWJfUs
@wBwK9	U
@WBWLcdLBWLjfJBWLc
@WBWLO9a
@WBWM1BW3M1BW3M1BW3@TUL
@WBWM1BW3M1BW3M1BW3@TULl9
@WBWPLC9
@WBWsScRS
@WBWsSCSS
@WBWsSCSSdUs
@WBWsSCSSl
@WBWsSFSS
@WBWsS-RS
@WBWsSRSSl
@WBWsSsPSd
@WBWsSSRS
@WBWsSSRSgQEyBWsS
@WBWsS#SSdcBWsS
@WBWsS#SSfQEyBWsS
@WBWsSSSR.
@WBWsSSWSfWBWxVsSSWS@WsS
@WBWsSUSS
@wBw@TBKLsBT
@WBWTe_[U
@WBWTI9	P
@WBWUerQ(VSSW(uSSW
@WBWWgTkU
@WBWYE_UBWK	D
@WBWZLC9
@WBXBWU9Q
@WBZ@[B[J
wC0llllllllmllllOllylm
Wc2BVI	T
Wc5.gYkgfGh
w@ @@C@ACac
wCAMTD	ec	
wCAMTD	fmv	
wCAMTD	fnd	
wCAMTDuwaxcBDHCB
wCAMTDuwaxcBDHCBe
WcccLccacJc0
wcCCNCCCBACC
w_CCNCCCBACC
wCCNCCCBACC
WCCNCCCBACC
WC	CSSVs	CSRVc	CSQV
Wcc#te?k
Wcc#te?oooo
Wcc#te?S
Wcc#te?#te?
Wcc#te?#te?oooo
Wcc#te?#te?#te?
[Wcc]Y]]w
WCdL[[[8[[[
WcdMachineId
WCE@C]LG
[wcg;bgfG
":*WcgfG_
WCgfG*	F
WCgfGTXC
WCgfGU j
wc@ggAgg?j
WcgowggG
wCgqggV|
WcIfgfGH
WCKgfG6[d
w)))C@[LA
@wCNCGC:C6C
wCogfGrf@
WCo@NgfG
wCOwNwLKwYZALEE
w?CRSS1QSSS@S6w*CRS
_wcsicmp
_wcsnicmp
wCTg_ggfG
W'cWdgfG
W"cWegfGU	aLgqgg
wC@wMwDAwDwY
@wCw_w]ADG
@wCw_w]ADGZALEE
wCXdA[[[
_wd[[[[[[
)"Wd@[[[@[[[
)"Wd][[[
@Wd_[[[#[[[
[[[)"Wd][[[
Wd@[[[;[[[
]wD8't!L
Wd@[[[:[[[9[[[
![[[)"WdA[[[
)"WdA[[[
)"WdA[[[?[[[
@WdA[[[#[[[
[[[)"WdA[[[
WdA[[[][[[
WdA[[[9[[[?[[[T
WdA[[[f[[[
WdA[[[j[[[h[[[M
WdA[[[L[[[
wdA[[[m[[[
WdA[[[n[[[m[[[a
WdA[[[Q[[[
WdA[[[Q[[[M[[[
wDAwHwNZOwM
WdA[[[x[[[
wdA[[[z[[[
)"WdB[[[
)"WdB[[[([[[
WdB[[[2[[[.[[[X
WdB[[[4[[[
WdB[[[L[[[
WdB[[[p[[[v[[[
WdB[[[t[[[f[[[U
WdB[[[T[[[K[[[
wdB[[[w[[[
WdB[[[w[[[
-wdC[[[	[[[
?w_dC[[[
)"WdC[[[
)"WdC[[[([[[.[[[
[[[)"WdC[[[
Wd][[[c[[[a[[[dp
WdC[[[h[[[m[[[G
WdC[[[|[[[i[[[
@WdC[[[m[[[e[[[
wdC[[[p[[[
WdC[[[T[[[J[[[w
WdC[[[X[[[S[[[[[[d_[[[
)"WdD[[[
[[[)"WdD[[[
Wd_[[[D[[[
w.DdQ[[[3[[[2[[[t
WDdR[[[0[[[5[[[
)"WdD[[[s[[[i[[[
WDdT[[[n[[[
wDdV[[[Y[[[
@wDd@[[[_[[[W[[[
wDdZ[[[g[[[
)"WdE[[[
[[[)"WdE[[[
Wd_[[[E[[[
WdE[[[2[[[
WdE[[[c[[[
)"WdE[[[t[[[
WdE[[[U[[[
)"Wd@[[[F[[[
)"WdF[[[
[[[;[[[)"WdF[[[
wdfilterhealthstatus
Wdfilter missing in PspLoadImageNotifyRoutine
WdF[[[l[[[
WdfLdrQueryInterface
WDFLDR.SYS
WdF[[[m[[[a[[[
wDFM@O@L[
WdF[[[o[[[
)"WdF[[[O[[[
WdF[[[S[[[
WdfTVfbQ[
WdfVersionBind
WdfVersionBindClass
WdfVersionUnbind
WdfVersionUnbindClass
[[[)"WdG[[[
WdG[[[;[[[:[[[
|wD gAgg
wdgooggG
W*dgqgg!
WdG[[[R[[[
WdG[[[U[[[H[[[4
)"WdH[[[
@[[[)"WdH[[[
[[[)"WdH[[[
@[[[)"WdH[[[G[[[
WDHGO[LM
w)))DH@GvHCHQ
WdH[[[L[[[@[[[
WdH[[[M[[[
WdH[[[P[[[
WdH[[[:[[[?[[[q
WdH[[[Q[[[T[[[z2
)"WdH[[[U[[[
w|dHv|p.t
)"WdI[[[
WdI[[[A[[[
-WdI[[[g[[[e[[[
WdI[[[I[[[
WdI[[[k[[[
WdI[[[M[[[L[[[
WdI[[[P[[[
WdI[[[R[[[Q[[[
_WdI[[[T[[[
WdI[[[W[[[V[[[
WdI[[[x[[[
WdI[[[z[[[
w !dJ[[[
WdJ[[[A[[[
WdJ[[[][[[E[[[
WdJ[[[h[[[b[[[
WdJ[[[K[[[H[[[
WdJ[[[V[[[
WdJ[[[W[[[
WdJ[[[x[[[
;WdK[[[	[[[
WdK[[[d[[[
WdK[[[G[[[
WdK[[[H[[[
@WD@_kKPSSBW[
w[dK[[[l[[[
WdK[[[s[[[q[[[
)"WdK[[[x[[[
)"WdL[[[
[[[)"WdL[[[
WdL[[[	[[[
WdL[[["[[[
WdL[[[2[[[.[[[?
(Wdl2Of6
wdL[[[4[[[
WDLCC@LV@K
WdL[[[d[[[
WdL[[[h[[[
WdL[[[o[[[
WdL[[[q[[[v[[[
WdL[[[w[[[
w@dL[[[y[[[x[[[
)"WdM[[[
WdM[[[a[[[
WdM[[[I[[[H[[[
"WdM[[[i[[[o[[[
WdM[[[M[[[E[[[
WdM[[[q[[[
WdM[[[T[[[K[[[ 
)"WdN[[[
WdN[[[-[[[
-WdN[[[c[[[f[[[5
WdN[[[k[[[
WdN[[[K[[[H[[[
WdN[[[r[[[
WdN[[[S[[[W[[[a
wdN[[[Z[[[
WdN[[[Z[[[
w||||||||||DO
)"WdO[[[
[[[-|WdO[[[
WdO[[[	[[[
WdO[[[|[[[
;WdO[[[0[[[6[[[
wDo[5gTdp
WdO[[[B[[[
wd][[[o[[[c[[[ 
WdO[[[f[[[
@WdO[[[j[[[
wdolastrun
WdO[[[M[[[L[[[
wd[[[[O[[[N[[[
wdO[[[N[[[B[[[
WdO[[[p[[[
)"WdO[[[p[[[t[[[5
WdO[[[q[[[p[[[
WdO[[[Q[[[U[[[Y
WdO[[[Q[[[V[[[
)"WdO[[[s[[[q[[[
-wdO[[[s[[[r[[[
WdO[[[X[[[
W||dP||(
WdP[[[9[[[
WdP[[[A[[[
wdpgppepq
Wd[[[[P[[[J[[[
W||dP||MP||7P||
WdP[[[p[[[j[[[(
WdP[[[r[[[q[[[t
WdP[[[U[[[K[[[
W[dP[xRW@ZBWBZfsPBW
)"WdQ[[[
WdQ[[[B[[[F[[[
)"WdQ[[[B[[[o[[[peXdI[[[A[[[@[[[0
WdQ[[[][[[I[[[
WdQ[[[K[[[
WdQ[[[N[[[B[[[
wdQ[[[p[[[v[[[
WdQ[[[P[[[V[[[]Y
*WdQ[[[q[[[w[[[ 
wDQwYOw]
-wdR[[[	[[[
:_WdR[[[
Wd_[[[R[[[
WdR[[[a[[[
WdR[[[A[[[
WdR[[[H[[[A[[[
WdS[[[B[[[D[[[
)"WdS[[[J[[[
WdS[[[J[[[
:WdS[[[|[[[q[[[
wdS[[[q[[[p[[[
WdS[[[S[[[P[[[
wdS[[[z[[[s[[[	
Wd@[[[t[[[
[[[)"WdT[[[
WdT[[[?[[[
wD@@@@@t@@A@AAac
wd@[[[T[[[I[[[
wdtllllllllmllllOllylm
Wd_[[[T[[[M[[[
W]dT[[[Z[[[
-wdU[[[@[[[
Wd[[[[u[[[
)"WdU[[[
WdU[[[b[[[
WdU[[[C[[[
w|d(u|dHt|dNh
WdU[[[g[[[
WdU[[[N[[[
WdU[[[r[[[
WdU[[[R[[[
WdU[[[t[[[
WdU[[[V[[[
WdU[[[V[[[I[[[
WdU[[[Z[[[
-wdV[[[)[[[
)"WdV[[[
WdV[[[ [[[
WdV[[[9[[[
w|d(v|dHt|dNh
w|d(v|dHu|dNh
wdV[[[@[[[F[[[
)"WdV[[[F[[[D[[[Z
WdV[[[X[[[
WdW[[[g[[[
wdwgfGZS
wDwGwYwYwCBwXwK
WdW[[[h[[[b[[[?
_wDwMwOw[w@
wDw@wGDwZw@wLwQLwJw
)"Wdx[[[
)"Wdx[[[	[[[
)"WdX[[[
WdX[[[e[[[
WdX[[[F[[[
WdX[[[i[[[o[[[
WdX[[[M[[[
WdX[[[m[[[l[[[
)"Wdx[[[n[[[
!WdX[[[N[[[
WdX[[[O[[[N[[[
WdX[[[P[[[W[[[
w_dX[[[p[[[w[[[RZqfK[[[
WdX[[[r[[[
WdX[[[S[[[R[[[
WdX[[[V[[[A[[[
-wdX[[[W[[[V[[[
WdX[[[W[[[V[[[
Wdy[[[	[[[
wdy[[[4[[[
Wdy[[[B[[[
[[[)"Wdy[[[f[[[d[[[
WdY[[[G[[[
WdY[[[w[[[v[[[
WDYxQEYU
WDyyyyyyyy
Wdy[[[Z[[[z[[[
)"Wdz[[[
)"WdZ[[[
[[[	[[[)"WdZ[[[
[[[)"WdZ[[[
WdZ[[[-[[[
Wdz[[[A[[[
Wdz[[[B[[[
WdZ[[[d[[[
@Wdz[[[f[[[
WdZ[[[f[[[
WdZ[[[G[[[
WdZ[[[h[[[
WdZ[[[i[[[
WdZ[[[j[[[
WdZ[[[K[[[@[[[
WdZ[[[q[[[
wdz[[[R[[[N[[[
Wdz[[[r[[[w[[[
Wdz[[[S[[[
WdZ[[[U[[[
Wdz[[[V[[[
@WE9@VBWZ
weakBindingInfoOffset
weakBindingInfoSize
weA[[[o[[[
weB[[[d[[[
webfilebrowser
webfileip
webfileip_scrubbed
webfileurl
webfileurl_scrubbed
Webscript
@WEBWgIP_Q[UV
@WEBW|)P@ZBZ
wEBw@wBHCZK
wEdM[[[e[[[
Wednesday
wEdO[[[C[[[
WeD[[[r[[[o[[[|
WEdV[[[t[[[
@WE_EB@g
WeE[[[K[[[
weekday 
weE[[[x[[[
w)))EFJHE
WegAgg""
)'wegfG.
wE)gfGH!U
?(WegfGo
WegfG#op
weG[[[j[[[9[[[_
Weg-lgfG
WEgSdgfGP
WegwegfG
WE]gyegfG
w|||E#h	h
weH[[[O[[[
w|eHv|e.i
weI[[[e[[[
WeI[[[u[[[
weJ[[[;[[[:[[[
WEJgfG0P
W"eK[[['[[[
weK[[[K[[[
weK[[[O[[[
weK[[[R[[[
WellllllllmllllOllylm
W)))EL]Q
weL[[[Z[[[u[[[
weM[[[w[[[u[[[
weN[[[b[[[
WEngine.DFSP.Init
W"EOa32@
W)))EOiYF
weO[[[R[[[
wepgppepq
Wepgppepq
WeQEyE_QAQL
werconsentvalue
wETgoUYTXUv
weU[[[F[[[
weU[[[G[[[
@WE@Ux Ts
WeV[[[	[[[
@WEWgLPYBWP
WEWRSs-SSSS@S
W_EXQY[s
(WExtract)
We:XXXXXXXX
We:XXXXXXXXX0
We:XXXXXXXXXXXXXXXX
wexxyxhy]
@WEXZAGI
weY[[[B[[[
WeY[[[U[[[
WEyyyyyy
We_[[[z[[[x[[[
wF5g1kgfG
Wf@[[[A[[[
WfA[[[C[[[
w'fC[[[@[[[
wF"dJ[[[
[[[wF"dM[[[
wF"d_[[[r[[[
wf#' dT*
wFdy[[[	[[[
wF"d_[[[Z[[[C[[[
w'fE[[[@[[[
WFeN[[[y[[[q[[[
WFeX[[[9[[[?[[[
w'fF[[[F[[[E[[[
(WffGWd|
WFg5ngfG
WFg7fgfG
W!fgfGkN'
Wfgfw8vpS
WfgGdgfG
]wfggfw 
wFg]GgfGV
.WFgqgg?
WFgqgg|O
wFGwHwEwABwHD
w'fH[[[)[[[
Wf_[[[I[[[
WfI[[[I[[[l[[[M
w'fI[[[J[[[
w'fI[[[u[[[j[[[
_wFJWbcz
WfK[[[2[[[
WfK[[[S[[[
w'fK[[[V[[[
w'fL[[[8[[[
wFlggwK1
|WFllllllllmllllOllylm
w'f][[[M[[[
Wf[[[[M[[[C[[[
wfmgqggA
w'fN[[[x[[[
wFODwZwHwKwAwK
w[[[FP]dH[[[
W||fP||IP||-P||
]wFPwBw[LwQ
w'fQ[[[K[[[J[[[
w'fQ[[[V[[[K[[[
w'fR[[[G[[[
w'fR[[[y[[[
w'f[[[[S[[[
wFS@wHFwJ
WfT[[[L[[[
WfW[[[*[[[![[[
wFwLwZGwCwD
Wfx[[[R[[[
wfxxyxhy]
w'fZ[[[c[[[
w'fZ[[[H[[[
w'fZ[[[M[[[
Wfz[[[P[[[V[[[
wg2gFrgAgg
Wg3dgfGj
w*g3ggfG
.W'g3ggfG
Wg3LgfGO
wg5bgfGn
 Wg5egfwQ
Wg5qgfGq
-Wg5tgfG
Wg7dgfGH.
W!g7ggfG
W.g7jgfG
Wg7tgfGzn
Wg9kgfG9
WgAAAA@A@AAAAAC	
.wgaagfG
wgAagfG(K
WgAbgfGW
wgadgfGX
WgAegfG4Hi
Wg)agfG10QJgqgg
 ?@WgAgg
w*gAgg1.c
wgAgg_"CHU
W!gAgg@d	
wgASgfGd
w.g-bgfG
:wg'bgfGM
WGBgooggG
wgCCNCCCBACC
!w[g'cgfGI
wg#cgfGy	?Ngqgg
WgCggfG!
wg_[[[D[[[
WGdJ[[[T[[[
wG]dO[[[
w#Gdy[[[;[[[
wgEBgfGU
w g'egfG
wg#egfG9
Wg'egfGZ
w)))@G_FBL
wg)|ffG2
WgfG3xTMgqgg
wgfG5a"3gqgg
WgfG_5#;pD3
;wgfGCVE
@wg[fgfG
|Wg[fgfG
W*:g	fgfG
W*:g	fgfG7W
Wg]fgfGN
Wg	fgfGY
wgfG		-"gqgg
wgfG'iArgqgg
WgfGJfsSgqgg"
W[|gfG?K
wGfgqgg#k
wgfG:-r*gqggCum
wgfG]xLwgqgg
wg@gB[[[
WGgecgfG
wggegfG]
wggegfGb(
w_ggfgfG(
wgGfgfG|
WgGfgfG]
	WggfGhe
WggfGNhp9gqgg
W;ggfGTRD
WggfG[uOegqggl
wggG2v	)gqgg
W]g'ggfG
Wg'ggfGZr
Wg_|ggGV
Wg	gggwXE
wg@gM[[[
WggpgfGy
WG|gqggn
wGgqggQl
wG_g-tgfG
WggwD05G
-wgGxgfG
[[[wg@gz[[[
WgidgfGD
wgiegfGF
WgIggfGQ
WgIkgfG_
wgipgfGc
WgiqgfG.s
WgkcggG1
wgKegfGO
w"g;kgfG
W	g]kgfG
Wg#kgfGe
wg[kgfGJ_
Wg[kgfGKdE-gqgg
wg-kgfGSD
wgKkgfGEi
wgky5NFDE
WgL[[[?[[[0[[[B
wgL[[[5[[[
wgL[[[L[[[z[[[
?WgmfgfG
WgMfgfGix
@WGmggfw
WGNd@[[[
Wg'ngfG@
wgOagfGG
wgODgfGV
Wg_ogfGm
:WgOjgfG
wgooggG;
;WgooggG
]WgPExRD
wG)pgppepq
WGpgppepqA
WGpgppepqg
w;Gpgppepqz
WgPgqgg?
wg[[[[|[[[p[[[p
_W[gQEyZLC9
Wgqgg-.[
Wgqgg@".
-wgqgg|3
wgqgg4OJo
]wgqgg7[
Wgqgg[	8
'wgqgg8e
|WgqggcMN
wgqggcnuD
wgqggcnuDN
wgqggcnuD"T
wgqggcnuD	V
WgqggcYA(
WgqggeL-
Wgqggez!
wgqgg f#
WgqggF2b
wgqggfnd
wgqgg'G8i
W.gqgg'G8i
w#gqggH6
WgqggIJK
w gqggJb*[
wgqggLc	o
wgqgglt1S
WgqggP@#
[WgqggPE
WgqggR3n
WgqggVf1o
wgqggv;:Qn.UPL
w@@@@gqggW
WgqggWoql
 WgqggxJ
	wgqggy2f
*WgqkgfGph
?Wg!rdfG
WgScgfG"
WgSkgfG*
WgSkgfG1
WgskgfGYs
WgSogfG1;
WgswgfGt
WgT[[[Z[[[
W!gUegfG
W)g;ugfG
wgUkgfGj
w gWagfGX
W'gWDgfGt
w)gwegfG
wgwegfG@
w	gWegfG
wgWegfGy
WgwfgfGI'g
wgwfgfGt
* Wg]wgfGz0
wgwjggw5P
:wgWkgfG
W.gWkgfGH
WgWkgfGP
]?WgWngfG
wgWpgfGQ
W)gWugfG
w]GwYwLwCN
wgX[[[|[[[
wgx9S*|9
wGXw[KwS
WgyjgfG 
WGyyyyyy
WgyzffG"b
wgz[[[b[[[
WGZcfG@2
[wH3MLvg!egfG
WHAAAAAA@AAAAAC
WHaPpgppepqZ
Wh@@@@B@A@Hp@
WHdN[[[ [[['[[[@
WHdW[[[v[[[
w_Hdx[[[I[[[H[[[
#WHdY[[[
wH]EXS[wOwCS
Wh?g_kgfG
WHIOOLJLOLMMAKOAKKAWMNMLLMNIOKHOMNKJO@W
w)))HJ]@FG
W)))_H[KEFJBAHZA
w)))_H[L
(WH llllllllmllllOllylm
WhllllllllmllllOllylmH
w!Hlpgppepq
w)))_H[[@M
w)))HMFKLYMOFGE@GL
W)))HMM@]@FGHE@GOF[DH]@FG
#w)]H[NL]
w)))]H[NL]
#W)]H[NL]
W)))]H[NL]
wHOwCwOOYwFwH
wHPBUqNBP#
wHPBUtOBKK
wHPBUTOBKK
whpgppepq
Whpgppepq
w@@@@hpHHo
whrWm42wqI
WhSSSSSSSSSSSSSSSSSSSSSSSSSSSSM8
w|h(v|hHu|h.l
WHVIZyxmy
WHv llllllllmllllOllylmNy
wHwFwHwDw]_
wHwNwZwNDwYwAPwS
W H;W(tW3
w)))_H[X
;wHxPRRU
WHyxFy?x
WHZS][]PJ
wI1gqgg(sh
W?i@@A@@
w@@@@@i@@A@AFac
W?i@@A@B
W?i@AB@B
wIAgemggw
WIAWJJIW
WideCharToMultiByte
WifggfwO
Wi	gAgg 
WIg#fgfGm
wIggfG	ZN
:wiggfw|dS
wIg'ggfG
wIggqagfG.
WigIgggwN
WIiEWIiiWIi
w!ijgifgfG
WIJVHxyxkyx
WIKAMAKA'
wiKdB[[[K[[[J[[[?
willllllllmllllOllylm
wIllllllllmllllOllylm
wIllllllllmllllOllylm4
WillllllllmllllOllylmq
win32actionstatus
win32-longpath
win32-longpath-none
win32-none
Win32VersionValue
winAccess
WinChangedHandler
winClose
winDelete
[windows]
WINDOWS 286 3.0
WINDOWS 386 3.0
.windows_build
windowscontainers
WindowsCreateString
WindowsCreateStringReference
WindowsDeleteString
WindowsGetStringRawBuffer
WINDOWS NT  3.1
WINDOWS NT  4.0
 (Windows_NTFS :
Windows OS build 
WindowsStringHasEmbeddedNull
WindowsUpdateStatus
WINDOWS VMM 4.0
winFileSize
winFullPathname1
winFullPathname2
winFullPathname3
winFullPathname4
winGetTempname1
winGetTempname2
winGetTempname3
winGetTempname4
winGetTempname5
WinHttpAddRequestHeaders
WinHttpCloseHandle
WinHttpConnect
WinHttpCrackUrl
WINHTTP.dll
WinHttpGetDefaultProxyConfiguration
WinHttpGetIEProxyConfigForCurrentUser
WinHttpGetProxyForUrl
WinHttpOpen
WinHttpOpenRequest
WinHttpQueryDataAvailable
WinHttpQueryHeaders
WinHttpQueryOption
WinHttpReadData
WinHttpReceiveResponse
WinHttpSendRequest
WinHttpSetOption
WinHttpSetStatusCallback
WinHttpSetTimeouts
WinHttpWriteData
wINkRYPt
winLockSharedMemory
Winlognotif
Winlogonshell
winlogonsystem
Winlogonsystem
winlogontaskman
Winlogontaskman
Winlogonuihost
Winlogonuserinit
winMapfile1
winMapfile2
winOpenShm
winSeekFile
(WinSfx)
winShmMap1
winShmMap2
winShmMap3
winTruncate1
winTruncate2
WINTRUST.dll
winUnlock
winUnlockReadLock
winUnmapfile1
winUnmapfile2
WinVerifyTrust
winWrite1
winWrite2
(WinZipSfx)
w||||||||||IO
WIO(xyxwxV
WIO(yxrx0
WIpgppepqo
wiTdx[[[t[[[
WIVAxyxsy:
WIVHHyxqx
WIVHyxXy9x
w|i(v|iHt|i.m
WIVIXLHKX
WIVKJX8xx
W(I;W0t	
wiy:wi4y
w[[[IZQdS[[[
w)))JA[FDLuHYYE@JH]@FGuJA[FDL
W)))JAH]][
wJBdQ[[[n[[[m[[[
wJ@@B@[pfL
WjFgscgfG
WJgfGHMW"gqgg
wjgqggdZp
Wjgqgg#k
wjgqgg	N
wjgqgg_N1Y
WJgQkgfG
wJG@SwPX
(WjhgfGC
wJhggfwhQ
WJHHNyxS
WJHIIWIHWMWKJHLAANW
w)))JH]JA
w)))JH]W
WJJhggfw
wJKHFwZ[
.WjllllllllmllllOllylm
WJllllllllmllllOllylm
wjO)mggfw
Wjpgppepq
WjpgppepqtESV
WJ@VHVIMHHVAMX2
_wJ_wNwH
wJwwZw]wHw[w]wO@ELZ
WJxyxjyIxJxKx
W...Jy8Y5
wJYCwPwK
wJZZ]LQ]
!)))wJZ[ZZ
_[[[[[[W[[[[[K[[[[[[[
@Wk3RSSTs
@Wk7QSSPs
@_wKBwMMSP
wKdH[[[t[[[n[[[3B
wKdR[[[;[[[9[[[
[[[Wk|dS[[[
wK_DWgfG
]WKeZ[[[
wKFw[LwFHwLMwQ
w kgaagfG
wkgEjgfG
wkgfGdKm
WKgOfgfG
WKHB@QLK
wkHd_[[[p[[[t[[[
w|kHu|kNo
w|kHv|kNo
WkiBgiegfG
-wKillRawWrite
WKKVHxxx
wkllllllllmllllOllylm
wKllllllllmllllOllylm
wkllllllllmllllOllylmo_
wk)mggfwaM
W@KMMJNMHxxx
w||||||||||KO
wKpgfGW]
wKpgppepq
WkQRSSSSS
WKVHVIyxrx
w|k(v|kHu|k.o
'WKwAw4K
w@]KwMwYJ
wKw@]Z][HGZOL[w
@WkxRSSTK
wK@Y_wBK
wKZdZ[[[
w]KZwFZALEE
wL2ugAgg
WL4ffG"Zk0gqggP
wL;6PUg]
WlAAAAAA@AAAAAC
wL@dN[[[
WldpQueryWindowsLockdownMode
wlegfGrA
wLgKkgfGgw
wl'gqgg5
wLgqggPE
WLHx||	s4
WLLL|||?
wLllllllllmllllOllylm
!wllllllllmllllOllylm
;wllllllllmllllOllylm
w	llllllllmllllOllylm
w#llllllllmllllOllylm
w.llllllllmllllOllylm
w@llllllllmllllOllylm
wllllllllmllllOllylm
wllllllllmllllOllylm)
wllllllllmllllOllylm:
	WllllllllmllllOllylm
#WllllllllmllllOllylm
*.WllllllllmllllOllylm
-W@llllllllmllllOllylm
-WllllllllmllllOllylm
:WllllllllmllllOllylm
]WllllllllmllllOllylm
W"]llllllllmllllOllylm
W(llllllllmllllOllylm
W:llllllllmllllOllylm
W@llllllllmllllOllylm
WllllllllmllllOllylm
WllllllllmllllOllylm:
WllllllllmllllOllylm;
WllllllllmllllOllylm[
WllllllllmllllOllylm_
*wllllllllmllllOllylm	19
;wllllllllmllllOllylm2
WllllllllmllllOllylm3
[#WllllllllmllllOllylm4
_WllllllllmllllOllylm	5
wllllllllmllllOllylm5k
wllllllllmllllOllylm6
w	llllllllmllllOllylm7
WllllllllmllllOllylma
wllllllllmllllOllylmB'8X
WllllllllmllllOllylmBt
w#:llllllllmllllOllylmff3
WllllllllmllllOllylmh
wllllllllmllllOllylmi
-WllllllllmllllOllylmiVi9F
w)llllllllmllllOllylmjv
WllllllllmllllOllylm"K
WllllllllmllllOllylml
wllllllllmllllOllylmN
WllllllllmllllOllylmN
w)llllllllmllllOllylmo
WllllllllmllllOllylmOU
wllllllllmllllOllylmp
WllllllllmllllOllylmP
wllllllllmllllOllylmPxd
wllllllllmllllOllylmr
wllllllllmllllOllylmR
wllllllllmllllOllylmS
wllllllllmllllOllylmsj
wllllllllmllllOllylm|Ss
WllllllllmllllOllylmt@
wllllllllmllllOllylmu
wllllllllmllllOllylmU
WllllllllmllllOllylmu
WllllllllmllllOllylmup
wllllllllmllllOllylmV;
wllllllllmllllOllylmzr
'wllllllllmlll]Y]]
w.llllllllmlll]Y]]
wllllllllmlll]Y]]
_Wllllllllmlll]Y]]
Wllllllllmlll]Y]]
W@LLOJNMO@LIMNNMJKNW@LNJHAJLNJNLN@@NMHW
W@LLOJNMO@LIMNNMJKNW@LOJMAJ@MKKA@AO@ANW
w)))LLQLJ
@wLl@ZBTBwBT
w)))[LNHMM
@WLogDUBVgAk
@WLogIUBVgFkC
wLPBw][DZSJ
WLpgppepqn
W)))LQ]LGZ@FGZ
w)))LQLJ
w)))@LQYEF[L
W]lSSSSSSSSSSSSSSSSSSSS
WLVHxx|x
WLVHyxuy
wlwpUnggw
WLXAAAAAA@AAAAACNB
W..ly0T;
WLyXgG0efG
]WM7CWAPD
]WM7CWAPK
w@@@@@m@@A@AAac
W@MAIKHHHL@A@LLOKNHW@NAKJNK@HJMAOM@H@HW.
WMApgppepq
W@MBWI	BZbPExRD@NUM9
[wM@[CwKw@JC
[[[]WMd_[[[
[[["wMdA[[[
wMdK[[[m[[[b[[[
[[[wm|dN[[[
!wMdT[[[E[[[y[[[
!wMdY[[[
wMdZ[[[W[[[V[[[
WmEogfGN
w|MG?.A)
wmgfG;iR
W*)mggfw
W:)mggfw
w)mggfwg
w!mggfwl
W)mggfwS
W)mggfwW
W)))MH]H
w)))MH]H]PYL
WMHIHHHHHLOMIV
WMIActivityNew
wmicaller
WMIExecMethod
WMIHHA@MMW
wmipath_scrubbed
wmisensorconfig
WmiThreatReport
w)))MJHGNF
WMKOVKNyxty
w)))MLDF
w)))MLDFMFJ]F[
wMLdR[[[B[[[x[[[#
w)))MLJ[PY]
wmllllllllmllllOllylm
wM"llllllllmllllOllylm
WMllllllllmllllOllylm
WmllllllllmllllOllylmO
WMllllllllmllllOllylmx
Wmllllllllmlll]Y]]
wMNwGw_[w_B
WMpgppepq3
WMqgqggY
WMSSRVMTTSSMYSWSMT
wmSSSSSSSSSSSS
wmSSSSSSSSSSSSK
WMVHP IIC?C4
WMVHXP IICX4
WMVHyxryV
WMVHyxXy9
WMWegfGO;
wMwSwN@DHNL[LZ
WMYPRYMT
Wmyyutwv
[[[?wNdT[[[
_wNg'gggG
WngOkgfG
_wNgqgg_
W"ngqggcnuD
W;ngqggH;.h
wngsgggw(
WNgWdgfG
wni@'pgppepq
WNjgqgg!
wNKJw[w]XZALEE
wn@l@@A@ACac
wnLdZ[[[
w)))NL]FKCLJ]
WnL[[[h[[[
(w#nllllllllmllllOllylm
wN|llllllllmllllOllylm
@WnllllllllmllllOllylm
w)))N[LY
_wnm*gwagfGr
W@NNKMIAOLLNNAOO@KMWyx]
wNpgppepqQ
WNQRSSSSS
Wn*SSSE@rE9@ZEBK|
	w'nSSSSSSSS
WnUXSSBUD9
WNVzvogfG
wN@@@@@w@@A@AAac
wNWB_BD	f
wNwKB@[wYwX
wNwllllllllmllllOllylm
WnwPSST9P
wNwXwDAwHD
Wn-XSSZ9@TBTP
||||w|||o|||
w@o@@A@ACac
w())OBFGXM
wodgfGxF	
 [[[w OdL[[[
WOdL[[[f[[[
WOd[[[[s[[[
w[OdT[[[
wOdZ[[[8[[[
woecgfGV 
WoecgfGX
WO@EL[LHM
w)))@O@ELZPZ]LD
w)))O[FDKHZL
WofSetFileDataLocation
WofShouldCompressBinaries
wogfGia-
WOgqgg7[
WO gqggFt
W@O@GZ][
w)))@O]H[
wOHZHvH]RK
WOKINJNII
WOMOAALHHIONOA@AJNAW
WONOJLLMJrxqyI
wONTO	tc
W@OOAOKNLHAKO@AOA@LW@O@HJIKNOOLJOKLKONW
WooSSSSSSSSSSSS9
Wopgppepq
wOQgqgg6
Word OLE File (.doc)
word ptr 
Worgqgg_p
WorkDirectory
WorkingDir
workingsetmb
workload
Workload initialization API not called or failed
workstationname
workstationname_scrubbed
Workstations
woSSSSSSSSSSSSw
Wo't0b'5
wOwAwHwXPwABwPZALEE
wOwODCQwF
WOWW3SWWWWWWWwWWWW
wOwYwLw_wGJ
W)))@OYEH]OF[D
Wo:Ypgppepq4
W#O[[[Z[[[O[[[
@@@@@@@@wp@@@@@@@@@@@
wP6:ullllllllmlll]Y]]
@@@@@@@@wp@@@@@@@@@@B@@@
@WPBWg:L
wP_BWYWEeH[U
WpcgfG'c
@@@@@@@@wp@@@@@@@@@@@@@@cp@T
WPdA[[[J[[[
wPdH[[[I[[[
w(Petite 1.2)
wPg7egfG
WpgcagfG)
wPg)|gfGFO
WpGgqgg2
)wpgppepq
_:wpgppepq
w-pgppepq
w_pgppepq
wpgppepq
wpgppepq!
wpgppepq#
wpgppepq:
wpgppepq?.
wpgppepq_
!Wpgppepq
(Wpgppepq*
-Wpgppepq
|Wpgppepq
W*pgppepq
Wpgppepq
Wpgppepq	
Wpgppepq?
wpgppepq6
wpgppepq7
 wpgppepq9
WpgppepqA
wpgppepqamO
WpgppepqC
wpgppepqd
]wpgppepqE
W*pgppepqe
	wpgppepqF
wpgppepqg
WpgppepqH7
wpgppepq[he
Wpgppepqj
wpgppepqK(
Wpgppepqk@
Wpgppepqm
_WpgppepqmA
WpgppepqN
#]Wpgppepqo
wpgppepqo5
wpgppepqoZW
WpgppepqP
wpgppepqq
wpgppepqR
wpgppepqs
WpgppepqS
wpgppepqT
wpgppepquyp
WpgppepqV4
wpgppepqW
Wpgppepqw
Wpgppepqx
WpgppepqZ
wpgppepqZ5
wpgppept8
w[[[PGUdF[[[
@@@@@@@@wp@@@@@@@@@@@@@@hp@@@@@@@@@@@@@@gp]@@@@@
@@@@wp@@@@@@@@@@@@@@hp@@@@@@@@@@]Y]]
WPJPJPJPJPJPJMJPJPJPJ8OPJ8OPJ8OPJ8OPJFOPJPJ	X
WpKdL[[[
w@@@@@@@@_p@Kg
"WP?llllllllmllllOllylm
WPllllllllmllllOllylmv
Wposoyuqopprttwopouoyqr
WppAutoLogStart
WppAutoLogStop
WppAutoLogTrace
wPpgppepq
"WPPPPXq
WppRecorder.sys
wpsindicator
wPSSBFDhOPSSD@FUXkAPSS[J
WPSSWLG9
wpUdQ[[[
wpxgMbgfG
@@@@@@@@wp@@@@@@@@@@]Y]]j
wPY[JGwA
w)))]PYLA]DE
wpY]Y]]q
wP[[[Z[[[7[[[
wP[[[Z[[[q[[[
-W  q"    0
W[[[Q4KdZ[[[V[[[J[[[
wQ58)mgAgg
WQ9gQjgfGY
@WQBWLCsSSS
@WQBWLG9
@WQBWL]sSSS
@WQBWQLC9
@WQBWsSCSSsSSS
wqcgfGfS
]wQck(Wkb
wQdF[[[k[[[o[[[
wQdF[[[t[[[k[[[
wQdK[[[ [[[
_WQgadgfGW
wqgooggG
wqllllllllmllllOllylm
WqmSSSSSSSSSSSSSSSSSSSSSSSSSSSSx
WQogqgg2
W"Qpgppepqtr
W||qP||VP||:P||#P||
wQPZwP]YwM
W]QRSSSSS
@WQscRSS9
@WQsSRSS9
WQSSUSSSS
@wQ@UP@FW
wQvqhpgppepqH#z
@WQ(VSSW(|SSWAYQ(
wQwF[Pw]Q
[wQwFwOwEwGCwCwZ
wQwLDwGwGP
wQwPwFYw@KBQ
W_qYfgfGE(
W..qy?HHY
W...qy?HIY
W..qy?HJY
W..qy?HKY
W..qy?HLY
W..qy?HMY
W..qy?HOY
wr8yyx5_Zg
]WRCCNCCCBACCx
wrDdF[[[C[[[@[[[
[[[]WRdx[[[
Wrg'fgfG
wrgfwlO7
wRGmggfw
W[[[ri!dO[[[
writable_schema
WriteConsoleW
WriteEncryptedFileRaw
write error
Write failed
WriteFile
WriteFileRaw
.writeln 
WriteProcByte
WriteProcByte is only available for SMS and Hookwow features
WriteProcessMemory
WriteTime
writeu_u16
writeu_u16: attempt to write to a constant string!!!
writeu_u32
writeu_u32: attempt to write to a constant string!!!
writeu_u64
writeu_u64: attempt to write to a constant string!!!
writeu_u8
writeu_u8: attempt to write to a constant string!!!
WriteVmRemote
WRIXFllllllllmllllOllylmT-
w)))rKP]Lrtt
 (WrlgfG
w_RLG]L[T
wrllllllllmllllOllylm
WRllllllllmllllOllylm
W?RllllllllmllllOllylmn
WRllllllllmlll]Y]]
w)))rMEE@DYF[]
WRN[[PPN[V
Wrong argument to LuaResetBcdWmiParameter boolean type is expected
Wrong argument to LuaResetBcdWmiParameter integer type is expected
Wrong argument to LuaResetBcdWmiParameter string type is expected
wrong number of arguments to 'insert'
wrong # of entries in index 
wrong protocol type
Wrong version of AMSI_UAC_REQUEST_CONTEXT
Wrong version of AMSI_UAC_REQUEST_CONTEXT::AMSI_UAC_REQUEST_AX_INFO
Wrong version of AMSI_UAC_REQUEST_CONTEXT::AMSI_UAC_REQUEST_COM_INFO
Wrong version of AMSI_UAC_REQUEST_CONTEXT::AMSI_UAC_REQUEST_EXE_INFO
Wrong version of AMSI_UAC_REQUEST_CONTEXT::AMSI_UAC_REQUEST_MSI_INFO
Wrong version of AMSI_UAC_REQUEST_CONTEXT::AMSI_UAC_REQUEST_PACKAGED_APP_INFO
WrP]MPBZJ
WRPP.QPP
wRS9eZUs
WRSSEBVghPD9
wRSSUsS3SS
WRSSUSSSS
W|RSUSSSS02??1208
W*'ruklf
WRVRxxxzxky*
WRVRxxxzxsyxxx
WRVRxxxzxvy;
WRVRxxxzxwy9
	wRWbhggfw
Wrxsyx;(
WRxyxkx*
WRxyxpyx
WRxyxwxx
WRxyxwy]
WRxyxwyx
	W...Ry:
WRyxWyx]
w.rZD;3r'wSH
ws1cY[[[
ws2llllllllmllllOllylm
@W[s3QSSd
w@@@@@s@@A@AAac
WSAAddressToStringW
WSACleanup
WSAEnumNameSpaceProvidersW
WSAGetLastError
WSAStartup
WSBE9@Us
WSBE_EXEP
WSBE_EYQ(WSSW
WSBEYPLwgQFyE9XPLw
WSBEYQ(QSSW_E[gz
Wsbhggfw
WSBPMdUs
WSBqSSSS@ZEXEP
WSBQ(VSSW@UBU(USSW@VsS
WSBQ(VSSW(uSSWK9
WSBQ(VSSW@ZBZ(USSW@[sS
WSBQ@[WL
WSBQ(WSSW
wSBUHCH	tne
WSBVO1H3_W[
WSB]WO1H3@WVBW
WSBWQLC9
WSCDeinstallProvider
WSCDeinstallProvider32
WSCEnumProtocols
WSCEnumProtocols32
WSCGetProviderPath
WSCGetProviderPath32
WSCInstallProvider
WSCInstallProvider64_32
wscservice
wscShowAMSCN
WSCUnInstallNameSpace
WSCUnInstallNameSpace32
WSCUpdateProvider32
WSCWriteProviderOrder
WSCWriteProviderOrder32
wSCwYwXC
wSCwYwXCZALEE
WSCYLBAQUQM9
wSd_[[[F[[[t[[[
wSdO[[[d[[[
wSegfG6Y
WsegfGmO
wSegqgg 
@w@[@S@G@?@#@
wsg'ggfG
wSg'mgfG
WsgqggkJ'LA!T
w|sHv|s.w
wSHwGwJwC
[[[w[[[s[j[k[k[h[n[j[w[i[r[w[
[	[[[w[[[s[j[k[k[h[n[j[w[j[r[w[
[[[w[[[s[j[k[k[h[n[j[w[j[r[w[
wSllllllllmllllOllylm
WSllllllllmllllOllylmO
w)))@SMACFMXPPSPPDM_BPCAAPDX
WSng7fgfG
wsogfGC	
WsPegfGb(Z
]WsRRSS9
_WsRRSS9
WSS3SSSsRSS1SSS
WSS4PSS4PSS4PSS4PSS
WSS4PSS4PSS4PSS4PSS4PSS4PSS
WSS8SSBEYQ
WSS9dQEyBXs
WSSBpL7o
WSSBpLjn
WSSBqLjn
WSSbSSBQ(VSSW(uSSWK9
*WSSBTUK9
WSSBU:XBOD
WSSBVLCn
WSSBx@Zk
WSSBY@]BVBX
WSSBYXEYBTi
WSSBZLsn
WSScSSScSSS
WSSCSSSp
WSSD@WB[@Vk
WSSE9@EBEBVLs9
WSSEPSShWSS
WSSeRSBWK
WSSERSSSSSSzRSS
WSSE@sE@TQTLG9
WSSE@TUD
WSSE@uE9@_EBN|
WSSE@XEYE_E@FE@YE@GE@@E@ZE@AE@UBXLa
WSSfdTsSPSS
WSSk	BSSPs
WSSkeVSSQs
WSSktVSSPs
WSSMSSBQL
WSSmSSSbSSS
WSSMUSSMUSSMUSS
WSSMUSSMUSSMUSSMUSSMUSSMUSSMUSS
WSSNSSSNSSS
WSSNSSSNSSSNSSSNSSS
WSSNSSSSSSSSSSSSSSSSSSSSSSSSSSSlSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
WSSoWSBAYE
@WsSqSSBWdWBWxVsSqSS_UZg
WSSQ(VSSW(
WSSQ(VSSW(nSSWBW
]WsSRSS9
@W[sSRSSd
WSS RSSoRSS
WsSSCSfoEYQL_9
WSSsQSBVD
wSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSQSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSDSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSkSSSx
WSSS@S4l._RS3
WSSS@S5o._RSc
WSSS@S7TRSRS
-WSSS@Se
WSSS@SGh
WSSS@S*l._RS3
WSSS@SrhoRRS
wSSSS@SdP
WsSsSSdTsSsSSxRWXQM9
WsSsSSeJQL_9
WSS[SSSp
WSsSSSSS
WSSSSSSS;
wSSSSSSSS
WSSSSSSSS
WSSSSSSSS9V
WSSSSSSSSS];
WsSSSSsSSSSRSSSSRSSSSRSSSSRSSSSRSSSSPSSSSRSSSSySSSSWSSSSsSSSSsSSSSsSSSSsSSSSsSSSSsSSSSsSSSSrSSSSqSSSS5SSSS
WSS]SSSSSSSSSSSSSSSSSSSSSSS
WSSSSS SV
WSSS@S)TRSRS
WSSS@SUh
*WSSS@Sy
WSSS@Syh
WSSS@SYm._RS
wSSSVSSSXSSSBSSSDSSSNSSSpSSSzSSS|SSSfSSShSSS
WSST9YUD9
WSSTK3XD@UE@Tk
WSSTSSS[SSS
WSSTWniWSSBEP
WSSU9@YBYP
WSSUBFK9
WSSULYh4WSSULXh
WSSUQ(VSSW(nSSW
WSSU@UBUE
WSSVRSS4SSSVQSS
WSSVSSSBSSS
WSSxmBui
WSUAUXAU
WSUAY_AY
WSUAz@]Az
WSUBBjpWSSBBEmHWSSBBKm
WSU@[B[[L_9
wsubpuC@
WSU@[BYNeQEyBZL
WSU@_B_ZL_9
WSUDyQ(WSSWD
WSU_E9[h
WSUE@WEBF
WSUE@WEQ(
WSUEyARLC
WSUEyPARL_
WSUEyPcQS
WSUEyPcWS
WSU@HE@Z]VD
WSUjiPSSAC[I1T3
WSUj(PSSACD
WSUj_PSSULY9
WSUj QSSACN
WSUj@RSSACLX
WSUj	RSSACLY
WSUj)SSSs
WSUjuRSSULH9
WSUjYVSSBXZ
WSUkfRSSUA]I
WSUk!RSSBWVL
WSUkVRSSBWLE9
WSU@MBMs
WSU@]PLZ9
WSU@[Q(GSSW@@B@L_9
WSU@]QLs9
WSUQ(VSSWsSS
WSUQ(VSSWUM9
WSU@tBtj
WSU@TBTs
WSU@TPLJ9
WS[UTWWSUV
WSU@UBTL
WSU@UBUrSSSS
WSU@UBUs
WSUuDyFy
WSUuEAxQ(VSSW(
WSUuEyEy
WSUuEyEyEyEyEyEyEyEy
WSUuEyPcVS
WSUuQBVD
WSUuQ(VSSWYU(|SSWACU(
WSUuQ(VSSWYU(|SSWU(
WSUuQZTsSSS
WSU@VAULr
WSU@VB]BVdQEyBVB]
WSU@VBVj
WSU@W[BVIsSSS
WSU@WBVNeQEyBWL
WSU@WBWrSSSS
WSU@WBWsSWSSeVE@WxZBWsSWSSgFBJ@IBLEsSWSSBW
WSU@WBYK9
WSU@WE9BW
WSU@WE9BWh
WSU@W[O9
WSU@XABLK
WSUxAQ(VSSWsQSS
WSUxAUI9
WSUxbQ(VSSWs]SS
WSUxCQ(VSSWsCS
WSUxeQ(VSSWsUSS
WSUxeQ(VSSWsZSS
WSUxiQ(VSSWsBSS
WSUxKQ(VSSWsQSS
WSUxL[sBSS
WSU@XQBVBU
WSUxtQBVB@
WSUXTsSQSSe
WSUxwQ(VSSWs[SS
WSUxyQ(VSSWsVSS
WSU@YBYs
WSUyPcPS
WSUyPcPS7SSSURSBASs
WSUyPcPS9SSSURSBASs
WSUyPcWS
WSU@YQLC9
WSU@zBzj
WSU@ZPLH9
wsvgAgg-
W@S[V@SEV@SwV@SaV@S
@[wS:v@@@@@u@@A@AAac
wSwHZALEE
wSwOYwBwXwFwQ@DHNL[LZ
_WsWRSS9
W")||||t|||||||
[[[W[[[T[[[
wtAAAAA@AAAAAC
wt	bkeurt	t
WTbpgppepq
WTdG[[[d[[[
	WTdV[[[
w;tgfGcaB
wtggwNE]o
wTgqggJ?
WTHelperGetProvCertFromChain
WTHelperGetProvSignerFromChain
WTHelperProvDataFromStateData
WTJH]JALRTZELLY
w[[[tomgU[[[v[[[
wtpgppepq
Wt?pgppepq
Wtpgppepq
Wtpgppepq	E
WTSApplicationName
WTSClientAddress
WTSClientBuildNumber
WTSClientDirectory
WTSClientInfo
WTSClientName
WTSClientProductId
WTSClientProtocolType
WTSConfigInfo
WTSConnectState
WTSDomainName
WTSEnumerateSessionsExW
WTSEnumerateSessionsW
WTSFreeMemory
WTSFreeMemoryExW
WTSInitialProgram
WTSIsRemoteSession
wtS?mggwIb
WTSQuerySessionInformationW
WTSQuerySessionInformationW() failed to format IPv6 address
WTSQueryUserToken
WTSSessionAddressV4
WTSSessionId
WTSSessionInfo
@WTsSSRSd
WTSUserName
WTSWinStationName
WTSWorkingDirectory
Wtts]yyyyyyy
Wtts]yyyyyyy		
Wtts]yyyyyyy*
Wtts]yyyyyyy|
Wtts]yyyyyyywE
Wtts]yyyyyyyyyyyyyyy
Wtts]yyyyyyyyyyyyyyy'
Wtts]yyyyyyyyyyyyyyy.
Wtts]yyyyyyyyyyyyyyy_
Wtts]yyyyyyyyyyyyyyy3'M
Wtts]yyyyyyyyyyyyyyy4
Wtts]yyyyyyyyyyyyyyy5
Wtts]yyyyyyyyyyyyyyy-9
Wtts]yyyyyyyyyyyyyyyo
Wtts]yyyyyyyyyyyyyyyS
Wtts]yyyyyyyyyyyyyyyV
Wtts]yyyyyyyyyyyyyyyw
Wtts]yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Wtts]yyyyyyyyyyyyyyyz
W||TW||||||
	W...Ty:
W...Ty6	
W")||||u|||||||
@WU5LsBW
Wu8J-O8#
w@@@@@u@@A@AAac
W@@@@@u@@A@AAac
@WUBWdQEyE_EBVg
@WUBWdQEyLOBWU
@WUBWdWBWxRUQ
@WUBWeAUBW
@WUBWg]BWU
[[[w(Ud_[[[
wUd][[[5[[[*[[[x
WUED]Y]]
WUED]Y]])	_
WUED]Y]]3
WUED]Y]]s
WUfgfG]l
#wug1pgfG(l
Wug'egfG
Wugqgg3OU|
W)))uGuG]FEEO[LL
"WugwfgfG
WUHaa]Y]]
wUJd[[[[?
wullllllllmllllOllylmv
wu!mggfwO
WuOdQ[[[i[[[l[[[
]WupgppepqY
wUr(fD;R
:@WUsCRSS9
@WUsSQSSd
wUSSS@STYRSRS
@WU_TBWT
WUUD]Y]]
wuuniqueid
wuuniqueid_scrubbed
wuVgqgg!
WUWPRVSS
Wuyx]ygE
wuyyyyyyyyy
[[[w[[[v[[[
[[[W[[[V[[[
)wV@@@@B@A@
)wV@@@@B@A@JQ@M
W'VcgfGb
wVCggwYI
wvd67hd||
WVdO[[[4[[[
w?VdY[[[
WVgiggfw
wVgpgppepq
W_vgqggj
WVgqggjq
WVgWugfG
wVHdJ[[[![[[
wV|hMgsDgfG
wvllllllllmllllOllylm
wVllllllllmllllOllylm
wVllllllllmlll]Y]]
wVllllllllmlll]Y]]_
WvmgGOMMM
W_|vodo9ogo
W|vodo9ogo
w|voeo7ogo
w|voeo9ogo
W|voeo9ogo
WVpgppepq#
wvq|cqe9
WVVVWyx@z
*wvypgppepq
wW2@_BZs
WW;;9((]
W@@@@@w@@A@AAac
WwAdL[[[0[[[5[[[
w]wCwESQKwC
w]wCwESQKwC@DHNL[LZ
W[[[)"WdF[[[
wW_dL[[[
WWdL[[[h[[[
w[wDwAZALEE
w@wFwOwS
wwg7kgfG
#w"WgfGn
WWg!ggfG2
W)wgqgg@
w!WgqggF
w[wJCwKwS
w@@wJwQwASwHwKZALEE
WWllllllllmllllOllylm
w_wMXwFZALEE
w[wNHwAwMQ_QA
w@@@@wp@@@@@@@@@@BB@@hp@@@@@@@@@@BB@@ip@@@@@@@@@@@!@@D@ACac
wWRSSSSS
WWSgseggG
?wWSSSSSS
[[[wwWdJ[[[
wWWg5kgfG
WWWWVWWWWWOWW
WWWWWWQQWQW
	wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxy
WWWWyysg
WWWWyyy#b
WWWWyyyHe
WWWWyyyud
WWWWyyyy
WWWWyyyylX
wwxgqggyY
wwYwwAwwY
WWyxhxB@H@HW
WWzmQ[[[
w]wZwJGwCw[CF
	wx1cDc7B
wXAAAAAA@AAAAAC
WXAeE[[[
WXAe[[[[|[[[r[[[
WXAey[[[w[[[
WXAez[[[
W)XBXXXnX
 wXCCNCCCBACC
wX@DHNL[LZ
wXD]wNwKwQH
WXdz[[[p[[[i[[[
wXFw@wDS_wAwK
wXGCwBBwGGwO
wX*gfGaD
)WXgKdgfG7
:wXgpgppepqY
W-XgulgfG
wXG]]wGPwN@
wXGwK]wBKPwKwO
WxgWTgfG
wXGZALEE
|||||||||||||||||||w|||x|||h|||l|||
WxI"WxIIN
WXJhggfw
Wx_jOggw
wXJwZEwB@w@wDwQwH
wXKpgppepqT
WxllllllllmllllOllylm
WXllllllllmllllOllylm
wX)mggfw
WxngfGwA
wXNwCwNwCw[w]wQw]wD
WXOPJXOPJXOXO
wXOYwMKwPLwLO
W||xP||hP||YP||JP||6P||#P||
w@@@@@@@@Xp_P
|wxpxqxrx
@WxQEyQs
wXQSwLYG
WXSSS@Sl"
WXTWWTUPSRSP
_WXUqpgppepq
[WxU!((]Y]]
W_XvllllllllmllllOllylm
WxVxxpxpxyxxpxYy9J4J
@wXwEwPwZZwXED
wXwGSXwAO[wNwK
wXwGZALEE
wXw[[w[[J
wXw@w_wAwYw[wQ
wXwYYwQwNw[wX
wxxux8xx
Wxxx0xxyxyxyxY[4
Wxxx1xxyxyxyxY[4
Wxxx4xxyxyxyxY[4
Wxxx5xxyxyxyxY[4
Wxxx9xxyxyxyxY[4
WxxxGxxyxyxyxY[4
Wxxxxxxgyx
wxxxxx)xxyxyxzxxyxXyi
Wxxx*xxyxyxyxY[4
Wxxx-xxyxyxyxY[4
Wxxx.xxyxyxyxY[4
Wxx|x]Y]]
Wxx]Y]]e
Wxx]Y]]r
wxxy]	wxxy
wxxyxxzx]Y]]
Wxxzx]Y]]
W..Xy8		
wxyavxyVvxy5vxy
wxydvxyEvxy vxy
WxyDVxy	Vxy
wxykvxyVvxy)vxy
wxylvxyIvxy4vxy
WxymVxyVVxy3Vxy Vxy
WxyNVxybVxy
wxynvxyMvxy4vxy
WxyoVxyPVxy9Vxy"Vxy
wxyPvxyKvxy
WxysHxy5Mxy
WxytVxy[VxyCVxy-Vxy
wxy|vxy[vxyDvxy!vxy
wxy|vxyYvxyCvxy-vxy
wxywvxyevxySvxy
Wxy	Wxy!Wxy1WxyGWxy]WxywWxy
WxyxcyDW
WxyxVxExEx?x
WxyxVxycVxyNVxy(Vxy
''Wxyx(y
Wxyxyyyqyyyqyyy
Wxyyiyyyyyyyyyyyyyyyyyyyyyy
'W-X-Y-Y-Z-
wxyzvxyfvxyBvxy!vxy
_WXYZXXXXX]xXXXxZXXXH@X
wX[[[Z[[[O[[[
  w     ]Y]]
w"((]Y]]
w@@@@]Y]]
W'((]Y]]
wy5yyyyyyyyyyyq
wy7yyyyyyyyyyyy
Wya1llllllllmllllOllylm
w|yav|y*v|y
WYCCNCCCBACC
:wy	:D'g
WYdS[[[v[[[o[[[
wyE#te?#te?
wyE#te?#te?oooo
wY[FJLZZ
W())Y[FN[HDO@ELZM@[J
WygGugfG
W|ygV|yKV|y-V|y
WYgWegfG
!wygxyyyyyyyyyy
wyGyyyyyyyyyyy
wYHJBHwNL
wYHJBwHNwL
wYHJBwHwNwL
wYHJwBHNL
wYHJwBwHNL
wYHJwBwHwNL
wYHwJBHNwL
wYHwJBwHwNL
wYHwJBwHwNwL
wYHwJwBHNwL
wYHwJwBwHNL
wYH[ZL@G]
WYi!WYiUWYiyWYi
wyIxyyyyyyyyyyQ
wYjdfG*)
WYK	;Jj:
WyLdS[[[:[[[6[[[
WYmgfG._w
wy|mpy|T
wymzyyyyyyyyyy
wyollllllllmllllOllylm5
wYOZw@wHQwHJ
wY:pgppepq
w yQ;VZB 
WySA9KmpZDSPD8Kd@
wYSD[wEP
wySyyyyyyyyyyyY
wyszyyyyyyyyyyI
W	YUBWdVUBW
wyUyyyyyyyyyyyq
wY[wEHwBwKF]wP
wYwHJBwHNL
wYwHJBwHNwL
wYwHJwBHNL
)))wYwHJwBHNwL
wYwHJwBHNwL
wYwHJwBHwNL
wYwHJwBHwNwL
wYwHJwBwHwNwL
wYwHwJwBHNwL
wYwHwJwBHwNwL
wYwHwJwBwHwNL
wYwJwGJwDwKMwQP
wYw[wFJwLwZZw
wyWxyyyyyyyyyyI
wYXAw_LwXAwZ
wyxxxx]Y]]
WyxXyFx;x
 wy#xyyyyyyyyyy
wy_xyyyyyyyyyy!
wy]xyyyyyyyyyyQ
wyy1byyoIv
wyy1UyyuI
wyy5ayyoI
wyy5_yykI]
wyyAfyyqI4
WyyaVyyAVyy)Vyy	Vyy
wyybyyyiwy
wyy!dyyiI
wyyEiyypIr
wyye[yyiI
wyy	hyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
wyyIyyyJ
wyyqvyyMvyy
WyyrVyyZVyy9Vyy
WyytVyy_VyycVyyIVyyBVyy7Vyy Vyy
wyyUlyysIh
WyyuVyyeVyyLVyy7Vyy
wyyuydf5
W|yYV|y	I|y	I|yYV|y
Wyy)Wyy*Wyy
!wyyxyyy
)wyyxyyy
WyyxyyyJ
Wyyxyyyr
Wyyxyyyz
wyyy4?:MKW	
Wyyy8-5y
wyyygyyuI
WyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Wyyyiyyyyyyyyyyyyyyyyyyyyyy
wyyyqyyy]a
wyyyRyysI
wyyyUyyiI
wyyyvyyQvyy)vyy
wyyYvyy)vyy
WyyyWyyy
WyyyWyyy	
WyyyWyyy!5K
WyyyxyyyY|
wy	yyyVI
WyyyYxyyIyyy
wyy-yyymA
wyyyyyyQyyy)yyy
WyyyyyyQyyy)yyy
WyyyyyyyG
Wyyyyyyyyyy
wyyyyyyyyyy5H
wy?yyyyyyyyyyy
!wy[yyyyyyyyyyy1Owy[yyyyyyyyyyy
wyyyyyyyyyyyyy9yy;
wyyyyyyyyyyyYyy
Wyyyyyyyyyyyyyy
Wyyyyyyyyyyyyyyy
wyyyyyyyyyyyyyyysyyy
wyyyyyyyyyyyyyyysyyy4
Wyyyyyyyyyyyyyyyyyy
wyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
W* *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
W* *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
W* *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
W* *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
	W* *yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
wyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
WyyzVyycVyyJVyy-Vyy
WyyzVyytVyyoVyyYVyyPVyyJVyyEVyy?Vyy)Vyy"Vyy
W[[[[[Z[[[_[[[
WZ@@@@@AB@_p@D
w!zA@B@[pKL
w)))ZAHGN[@EHKP]ALEHBL
WZ@@A@h LHZ
WZ@@A@h NHZ
WZ@@A@h NO
w)))@ZALEEM@ZYH]JA
WZ@@@@B@AB
wZbgfG1z
WzBgSjgfG
w?ZBMX846jBkL]QR
w?ZBMY8:jMkO]X
w?ZBMY)(jNkH]QR
wZCCNCCCBACC
wZdK[[[s[[[r[[[
wzdL[[[:[[[
WZdO[[[G[[[
w)))ZELLY
WzFgqggv
Wzg'dgfGC
wzggfG2u
w(Zggwy0
wzgqggNC
wZg)tgfG
wZGwMEwMwBLw_wN
w)))Z]H[]
[wZ]H[w]DwZ@wLwQwLJ@wJwP
[wZ]H[w]DwZw@wLQLJ
[wZ]Hw[]DZw@wLwQLwJwK@wNwB
[wZ]Hw[w]DwZ@wLQwLwJ
[wZ]Hw[]wDZ@LQwLJw_@
W)))ZJ[@Y]]PYL
wZJz'mggfw
W_[[[Z[[[K[[[
||||w|||zl||
WZllllllllmllllOllylm
WZ@@@@@m@@A@ACac
WZM (Ys 
WZN]H]AHD
wzpgppepq
wZ-pgppepq
W#zpgppepq
Wzpgppepq
WZ@@@@@@@@_p@L
 )))wZPZ]LD
WZQkIkK]Qp]Z_Z
WZRpgppepq
@WZsSRSSa
@WZsSRSSd
WzSSSSSSSSSUSR
w|ZTLFG[
wZwEGwCwLwQ
[wZw]H[]DwZ@wLQwLJ@PwMwK
[wZ]wH[]DwZw@LwQwLwJ]QFNQ]
[wZw]H[]DZ@LwQwLwJ
[wZ]wH[w]DwZw@LQwLJwFwYB
[wZ]wH[w]DwZw@wLwQLJ
[wZw]Hw[]DZw@LQwLJ
[wZ]wHw[]DZ@wLQwLJ]Pw[w@
[wZ]wHw[]DZw@LQwLJwEw@K
[wZ]wH[w]DZ@wLQwLJ]wOOwLZwXHY
[wZw]H[]wDZ@wLQwLwJw[]wZKPwSPwP
[wZ]wH[w]wDwZ@wLQwLwJ
[wZw]H[w]wDwZ@wLQwLwJ
[wZw]Hw[]wDwZw@LwQLwJJ@wKAXPwLw@wB
[wZ]wH[w]wDZ@wLQLJ
[wZ]wHw[w]DZw@LQLJJGQwLwAwAwD
[wZw]H[w]wDZ@wLQwLJ
[wZ]wHw[w]DZw@wLQwLJ
[wZw]Hw[w]wDZ@LwQLwJwMFFwOA
[wZw]Hw[w]wDZ@LwQwLwJ
[wZw]Hw[w]wDZ@wLQLwJ
wZ@WtGrv
[wZw]wH[]DwZ@wLwQwLJ[AwAwA@wSwAwE
[wZw]wH[]wDwZ@wLwQLJHM
[wZw]wHw[]DZw@LwQwLwJ
[wZw]wH[w]DZw@wLwQLwJBGL
[wZw]wHw[w]DwZw@wLQwLJ
[wZw]wHw[w]DZ@wLQwLwJ
[wZw]wHw[w]wDwZ@LwQwLJwCQM
wZw@[wXw@Q]wY
WZXkIkK]Qp]Z_Z
WZXkV]Rq
wZ|xuxwX
wZZDwSwLG
WZZkIkK]Qp]Z_Z
WZ_ZkQ]Sq
WZ_ZkV]Rq
))x))))(
))x)))))
:|||;||x;||
[[[	[[[x
[[[#[[[x
[[[x[[[|[[[
||||||||||||@x||
|||||||||||||x
|||||||||||||x|||||||
||||||||||||x|||||||
||||x|||
||||x|||:|||
||||x|||;|||
||||x||||||||
x@@@@@@@@
x|||||||
x|||||||||||
x||||||||||||||||||
x||||||||||||||||||||||||||||||||||||||
x||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
x||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
'||X;||@;||
))X)))))
[[[	[[[X
[[[:[[[X
[[[;[[[X
[||X[||?[||
[X[[[_[[[
|||||||X|||
||||X|||||||
|||X.|||
||X@||.@||
X||||||||||
||||x|||0|||
 ||X0||00||
 x0345x03;-yxby'4
X(09*5yxly1
x0A	e3kgfG
x0BWElsVSSBWU
x0BWEltQSSBWU
x0fgqggpR
x0[gqgg_.
x]0gqggt
x0pgppepq
X0pgppepq
x0x2xMx.x?xAx
x0x3x4xJxKx
x0x5xExyxXy
x0x5x?xJx
X0X9X*X1X6X?XxXpX
x0xAx.x?x(x@x
x0xHx4xKx
x0xOxyxVyBxLxLxKxuxrx*x
x0x:x5xIxJxHxzxXx:x
X0X-X5X:X6X9X1X4XxX
x0x*x9xIx
x0x)xExyx
x0x.xHx!x x
x0x.xHx"x x2x
x0x!xKx2x7x
x0xxrxrxzxxyxZy9C
]X0XXXHXYH
]X0XXXHXYHXZXX
x0x:x	xOx
x0xXx@xKxOx@xKxNxyxLy;x3x
x0xXx"x.x
x0xxx]Y]]v
x0xZxYxZx2x
||||x|||1|||
x11111111111111111111111111111111111111111111yxv
x1111111111111111111111111111111111111111111yxLx3
X:169*!X
X(16zxly
X(*1.9;!X(741;!xxx
X1(BXyxuy-
x1]C_Q79
X1eCCNCCCBACC
x1EyQATI
[[[x1fdK[[[
x1g!jgfG
X1gowggG
x1HHJyx_y
X1kllllllllmllllOllylm
X||||||||||||||||||||||||||1O
x1pgppepq
)X1TullllllllmllllOllylmc
X1(U1( rxmyHHHH
x1x0xHx2x
x;1x;6?x0*6x3:
x1x6x1x(x
x1x9x*x'x
x1xJxHxOxxxx
x1xNxLx x
x1x;x1xExyx0x!xJxIx
x1x-x6x x
x1x*x9xTxXx
x1x.xNx0x@xUx4x:x
x1x-xSx;x
x1x;x*x5x
X1X:X*X9X*X!XXX
x1x?x.xLx
x1x(xXx9x
x1x(xXxExXx
X1X(XXX(X*X7X(XbX
x1xx|x|x|xxyxs
x"1(xxxzxxlyx|x|xsxxyxvyx9x
X"1(xxzx]Y]]
x1xxzxzxzxxyxby
x1yxjxixtxxzxuy
||||x|||2|||
X2"0OsgfG)q
x2(DFgfG
 ||x2||F2||
x2gEdgfG
x2gmcgfG
X2gqgghfE
@x2]_|kD
x2pgppepq
!X2pgppepq
X2u.v8yY
x2x0x	x9x
|x2x1x*x9xxxx
x2x3x:x)x9xExx
x2x4x x4x7x
x2x4xyxdy x
x2xIxJxJxzxPy)x0x
x2x@x3x!x4x*xJxHxIxyx
x2x)x.x5x
x2x	x(xAx(x
x2x(x;x	x
X2zgoggfw
||||x|||3|||
X[[[3;AdJ[[[
X@3@@D@ACac
X3dP[[[w[[[u[[[
X3dS[[[h[[[
 ||x3||e3||
x;3eA[[[
[[[x;3eL[[[
x;3eT[[[
X3g	bgfG|
X3_gqgg(
x3gqggZ(
x3Gyyyyyy
x3IgMtgfG
x3Ix3Jx3Kyxuy
x3llllllllmllllOllylmF
X3pgppepqu
X@3PSSSS[CCZR
X@3PSSSS[CCZR9
X@3PSSSS[CCZRF
X@3PSSSS[CCZRn
x3x0x?xAxIx@xyxVy0x
X3X3?:@:A:B:C:D:
x3x9xExExyx(y
x3xHxKx	xIx
x3xIxHxyx8y4x
x3xIxLxNxyx2y
x3xIxLxyx6y
x3xJxHx4x5x
x3xNxUx1x
x3x.xHxKxVx
x3xxlxrx|xxrxnyK
x3xxsxsx|xxzxsy
x3xx|x|x|xxyxry
x3xx|x|x|xxyxuy#4
x3xx|x|xzxxzxWy
|x3xxyxyxyxxyxFz
x3xxzxzx|xxyxry
x3YdH[[[M[[[
x||||||47?.qv
X496Vxxx[yx
x-(49!'9;0'?
x4DdJ[[[w[[[
[[[X4fdJ[[[n[[[
x4)g)dgfG
x4	giggfw
X4g)kgfG
x	4gofgfG
'||x4||P4||
X4pgppepqB
||||x|||4|||Pi
x4x1x:xVx
x4x5x5xOx6x
X4X7X;X3X
X4X7X:X9X4X
X4X9X1X6XxX
x4x9x6xxxx
x4xMxKxyxLy:x
x4x-x9xxx
x4x-x9xxx0x
_X4XXXJXYH
_X4XXXKXYH
[X4XXXTXYHXDXX
]X4XXXVXYHHXXX
]X4XXXVXYHXYXX
x4xx|x|x|xxyxsy
x4xxx]Y]]@
x4xxzxzxzxxyxjx
x4yxexbxqxxrxAz
x4yxrxrxpxxyx
||||x|||5|||
X54*yxjyUU
x58lgCggfGx58lgqgg
[[[x5fdL[[[w[[[k[[[
X5Igpgppepq
X5@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@
X5@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@A
X5Kg?egfG
x5pgppepq]DcP?v)
:X5slD5mg8
x5TllllllllmllllOllylmV
x5Tllllllllmlll]Y]]
X5uN6gAggJ
x5''''''''''x
x5x1x:xVx
x5x4x;x x"x
x5x6xxxyxty
x5x9x9x9xExExx
x5x9x;xBx]x
x5x9x;xXx9x
x5xAx4x:x)x9xExx
x5xHx9x9x9x9x9x9x9x9x9x9x
x5xNxIxJx9x.x;x
x5x xIxKx
x5x	xJxKxNx:x
x5x*x*xEx|xly
x5xxzxzxzxxyxby
x5xxzxzxzxxyxey
x5xyxhy;x
x5''''''''''xyxjyx:
X5'((]Y]]
x*5:yxax
x5yxpxpxqxx|xly
||||x|||6|||
x6Ddy[[[w[[[
x6DdZ[[[O[[[
x6Edz[[[
||x6||J6||
x6llllllllmllllOllylm
x6pgppepq
@X[6_QBXBY[	sSSS
x6x4x2x9x
x6x9xJx?x
x6xHx x9xyx8y1x9x
x6xKx:x!x!x
x6x*x3x4x.x
X6X-X5XXX
X6X-X5XXXNXXXXXXXY[XX
x6x(xHxNx
x6x"xKx1xExyx@y*x?x
x6x(xVx;x
x6xxwxwxzxxrxRyrns@Yxxx
X6X(X*X7X;X
_X6XXXTXYHXDXX
x6x-x@x"x
x6x*xxzxzxzxxyxjx5
x6x?xZxXxXxWx
x6xxzxzxzxxyxKyw
X6 xyxgy;
x6xyx*y*x
x;6yxdy_
-x6ZAA@@A
||||x|||7|||
X73VVVyx
X73Yxyxnyx?
X73Yyxty#;
X73Yzxax
X;75(9;yxiy1
X76Vxx]Y]]
"X7egfG@
x7EPg3Q@TP@UBTv
(x7gqgg!
X7gqggcZ3
	x7pgppepq
X7pgppepqR
x*7]TgfG
x7;tllllllllmllllOllylmjQ
x7x3x;x?x
X7X4X1X;X!X
X7X4X1X;X!XxX
X7X4X1X;X!XXX
X7X4X1X;X!XXXBYXX
X7X5X9X1X6X
X7X5X(X9X6X!XcX
x7xAx@xKx(x
x7xHx?x0x	x7x6x(x
x7xIxIxIxyx:y
x7xJxDy2x
x7xJxLxxxx
x7xNx@x7x
X7X;X9X4X
x7x;xHxHx6x
x7x)xHxIx0x*x
x7x*x?x1x
x7x(x"x x
X7X?XXX XXX
x7xx|x|x|xxyxhy]VJ
x7xx|x|x|xxyxsy
x7x	xxx]Y]]
x7xxyxyxyxxyx:y
x7xxzxzxzxxyxey
x7xyxwy;
x7zxnxnxnxxyxqx9
||||x|||8|||
|||x|||8
X||||||||||||||8
x86dasm caller must provide a valid buffer to be disassembled
x86_image
x8B[_BKL
-x8E.x8s3.x8
x8g'dgfG
X'8	gGdgfG
x8]ggmgfG
X8gqggKSl
X8gqggp 
x8Gyyyyy
x8J@@@@@@@@
x8JhggfwZ
X8JHIJyxwy
x'8llllllllmllllOllylm
X8llllllllmllllOllylm
X8pgppepq
?||||||||||x8||||||U
x8xIxrxoy
x8xxxrx]Y]]
x8xxyxoy
x8xxzxzxzxxyxby
x8xxzxzxzxxyxhyx]
x8xxzxzxzxxyxv
x8xyxvy?
X@8X[[[Z[[[O[[[
||||x|||9|||
x:9]0u5D
X;91 9rx;z
X;91 9yxd
X;91 9yxJx:
X!9dW[[[
x!9dX[[[
X9g!GgfGl
x9llllllllmllllOllylm
x9mEwodgfGi
?x9pgppepq
-X'9pgppepqbh
x9x0x0xJx
x9x0x1x9x
x9x0x1x9x4x
x9x0x5x9x
x9x0x5x9x x9x:x:x9x0x9x9x
x9x0x5x9x!x)x:x
x9x0x9x9x"x)x:x
x9x0x!x9x
x9x0x)x9x
x9x1x0x9x
x9x1x0x9yxF
X9X1X6XXX
X9X1X6XXXFXXXXXXX[YXX
X9X1X6XXXhXXXXXXX[YXX
X9X1X6XXXvXXXXXXX[YXX
X9X1X6XXX|XXXXXXX[YXX
x9x3xzxnx
x9x5x0x9x
x9x5x0x9yxHyx)x?x9x
x9x5x?x9x
x9x9x9x9x
x9x9x9x9x9x9x9x9x9x9x!x-x
x9x9x9x9x9x9x9x9x9x9x;x"x
x9x9x9x9x9x9x9x9x9x)x9x9x
x9x9x9xExx
x9x9xExExyx2y
x9x9xNx9x;x@x9x4x
|x9x9xoxY[9
x9x9x;x9x
x9x9xyx2y
x9xExExxx|x]Y]]
x9xExExxx]Y]]soX
x9xExExyxdy
x9xIx5x4x2x xNx9x@x	x-x6x7x2x
x9xIxMxMxyxHy:x
x9xJxLx9xMx
x9xJxxxyxey
x9xLx:xFxFxFxFxFxFx
x9xLx:x)xFx
X9XL?:Yyx8x
x9xNx6x?x"x
x9x(x1x'x1x
X9X;X3X-X(X
x9x?x5x9x
X9X-X6X;X0X
X9X-X6X;X0XXXX
x9x;x9x9x4x
x9x?x9x9xAx9x x
x9x)x9xx
x9x-x9xyx.y
x9x(xAx7x
x9x:xHx9x0x)x9x
x9x:xHx9x?x
x9x?xHx9x"x)x9x
x9x:xIx9x?x-x9xxxyx]Y]]
x9x;xLx9x
x9x?xLx9x
x9x?xLx9x"x9x:x
x9x;xLx9x"x)x:xLx9x?x-x9xrx
x9x"x)x9x
x9x?x)x9x
x9x?x-x9x
x9x?x@x9x
x9x@x?x9x
x9x?x@x9x!x
x9x?x@x9x"x
x9x?x@x9x"x9x:x
x9x?x)x9x!x)x:xMx9x?x
x9x"x)x9xxx]Y]]
x9x?x-x9xxxzx]Y]]
x9x.x)xJx
x9x"x)x:x
x9x-x)x:x;x9x0x
x9x"x)x:x:x9x0x-x9x
x9xxxxx]Y]]
x9x-x)xxxyx]Y]]
x9xxx]Y]]NTY
x9x xyxdy4x
x9xxyxyxyxxyxLy
x9xxyxyxyxxyxLzV
x9xxzxzxzxxyxdx
x9xyxpy?
x9xyxRxUxExXx:xUx
X9YllllllllmllllOllylm
x9)yxhy1
X9.yxiyXW
X9:yxny1
X9yyyyyyyy
XA0gyngfG
x@@@A@3 E[H
x||A|||3s
XAAAAAAaA
XAAAAAA@AAAAAC
XAAAAAA@AAAAACp".
xAAAAAA@AAAAACz
X _AAAA@AAAAAC
XAAAA@AAAAAC
XAAAAAAAAiqAAAAAAAAAAAAAAiqAAAAAAAAAAAAAAvqAAAAAAAAAAA
xAAAAAAAAMqA
xA@@AAAAAC
XAAAAACAAzqAAAAAAAAAAAF@AFA@BAACAAoqAAAAAAAAAAA@AADqAETz
)@@@@@x@@A@AAac
@@@@@x@@A@AAac
_@@@@@x@@A@AAac
XAAAAC]AAIqAZAAAAAAAA
@x@@A@AAacoo
xAAAA]Y]]
x@@@@AAA@PpCD
@@@@@x@@A@ACac
@x@@A@ACac
@x@@A@ADac
@@@@@x@@A@AEac
XAAHLYOEHAYY_
XaakkgMmIraag
XA]AL[C]AZP
X[AAMQDOO@HFG
XAA__MSGZB
XAAMY_PA
X@AAN]A[LGK
XAANNOZC
_X@@AAOANEO
XAAOJXECS[A
X_[AA]PNZLMJNCMC
x@@@@AA@@PpCG
x@@@@AA@@PpDD
x@@@@AA@@PpDK
XA]APQYNDPCO
XAAQADPONG
XA_AQ[QHMM
XAA@UT@[I@TB[
XAAXKXMQ
X@@@@A@A@XpDD
XAAYA_N]
XAAyxhy" 6;XU
@Xa@@@@B@AB2 @A
x@@@@ABA@PpD@@@@@L
XABAXAY_N
X[ABHLC_X
XA@B@[pKL
XA[BX_]Z]
x@@@@@ACAPphD
XA[CGQCMEQ
XA][CJSPDEY
XACP]HM[]
XACQNHDCBXHYP
xACY@A3!AXAAAAAAAA
]XACYMY[
xAd@[[[	[[[
XADBNZZ@EZDOS
XADHPPNZ
xAdH[[[s[[[q[[[
XADM_PXJ
X[AD]NNAS
XADPXZB[G
XADQEHD_
xADyDyDyEyDyDyEyDyEyEyEyEyEy
XADYQMLB
xAe97Tdg|
X@[AEBAZC_
XAEDMCGBAQ[CDGL_JNN
XAEO_GJCJHAJZM
XAES]PQ]MPB]DQPQE
xAEyEyEyEyEyEyEyEyEyBWMdQDyEy
xAEyEyEyEyEyEyEyEyEyEy
XAFXLXSXP]F
X)))@AFZ]
XAG[[BDO
xAg]ggfG
XAGLAJCKMF@
XAGLCXY[LMK[D
XagllllllllmllllOllylm
xAg'NgfG
XA_GN[LQFMM@HA_[OAAFBXO
xagqgg.c
XAHAAA]YCJ@
XA_HACNE
XAH[_BML_DBQASY
]XAHDGKGNAQEZSH_
X]AH_DOX
X@@A@h EW
XAHFPHXYYEBN
[]XA_HGE
X@@A@h GP
XAHHLMxxxzx]Y]]
XAHH]NPHG]
x@@@@@@A@h KN
X@@A@h LN
X]AHMGMH
XA__H_QBAH
XAHXBHCYC_
XAHY[CX_
XAHYZMKFK
XAHZ_LEHMP
XAJAYHHGO
XAJCFMXXOGGJ
XAJDSH_YABMN
x@A[@JIFC
XAJJM_YXN
XAJ[[[JX
XA[JK[AOFHXQE
XAJO]O_N
XAJPPCAQ]JPNY_MPZFBNMGEYEC
XAJQP_NC
XAJZQHSJFP[HHJ@AM
XAK]ANSKO
XAKGMKBO]]
X@AKHQALKNKSKFS]QG
XAK]JMYJ
XAKLB]HHXZF
XAK]QDGA[
X_AKSPYYAQN@
XAK[[YMN@M]Q_
XAKYQPLPJ
XAL[AAZE
XALCD]JZ
XALC[SLPGLYLE
XALENDOJLED
_XALGMNAF]
XA_L[HGMQ
XALJPBA]MSOD
xAllllllllmllllOllylm
XAllllllllmllllOllylmp
X)))AL@NA]
XA[LNBALCD
[@XA[L[OAM
[XALOHFYEQ[A
x@@@@@@A@Lp@@
X!@@A@lpEF
XALQ_LYO
xAlSSSS.qF
XALXE[EEZZ
XALYHZEBC
XAM__CD__
xaMdT[[[q[[[t[[[
XAMGBGAY
[X[A@MJCJ
XAMKCY_Q[KHS
XAMP]LSOXE
]XAMQ_KEY@C]XLvC
XAMXOKP]
XAMXZPSLCMXPPZ
XANAAOYASG
XANM@_SE
XANNQ[BLAHNL
]XANPFJYZ
XANQ]MKOQYC]
]XANZHKMQNG_
@@@@@XA@O@ACac
@@@@@XA@O@AEac
X[AODXGJPXBFX
XA_ODZOBX
@XAOH]LAS
XAOKQMBB
XA[ONE_Q[
XAOQ[F@NL
_XAO]XLL
]XAOZ_YAAJZO@K]]
XAOZZAOPS
@XAPBPZO
xAPgqgg6
XAPJZDLJB
XAPLGNHE[LSX[
X@AP_L]SHS[J
XAPNPJN]YD
x@@@@A@@@PpDX
x@@@@@@A@PpHm
x@@@@@A@@Pp_J
XAPPM]GY
X_APP_QX
x@@@@@A@@PpTH
x@@@@@A@@PpWD
XA_PQDJQS
X_APXOOJBN_
XAPZPXZNAEJDQDCDBG_
XAQAEZLS
XAQEBPES]
XAQGPEHYQ
XAQLPQDPB]
XAQ]MNJM
XAQSCLME
(XARCertDetection)
XA[_RuYwS
XASC[LB_YYEC
XASEZN]XAO
XASHZCMBKD
XASJZ]CZ
X_]ASM_LH
XASM_XZ][
x ATAUAVAW
x ATAUAVAW3
x ATAUAVAWA
x ATAUAVAWD
x ATAUAVAWE3
x ATAUAVAWH
x ATAUAVAWL
x ATAUAVAWM
x ATAUAVH
x ATAUAWH
x ATAVAW
x ATAVAWD
x ATAVAWH
x ATAVAWL
x ATAVAWM
x AUAVAWH
X@@A@U!TP
x AVAWE3
@XA|@WBK@EB[Lc
xAx0xHx!x
xAx5x"xIxKxIxNxAxyxRy
xAx5x*x;xMx7x
xAx7x.x.x*x
XaXd][[[
XA[X[DQE_B
xAxHx1x0x6xHx
xAxHx.x?xAx-x
xAxJxKxOx
xAxJxUx@xMx@x
X]A]XKS@JXO
XaXkXuXlX
XAX_LOYB]GYMBNNNE
XAXMEOEH
xAxMxyxhy.x
XAXMZXDZ
xAxNxKxKxJxMxUxHxIx
XaXnXuXhXhX
xAxOxJxUx
XAXSLCECZBMZFDF
xAxUxHxAxOx
XaXuXhXhX
xAx x5x4x
xAx@xOxLxKxOx
xAx@xUxMxLx
xAxxyxyxyxxyxTy
xAxxyxyxyxxyxTz
xAxxzxzxzxxyxhyw
xAxxzxzxzxxyxly
XAXYMQBL
xAxyxByAxAxAxAxAxAxAxAxAx*xAx
xAxyxHy?x
xAxyxRy;x
x)))A]]Y
XAY[EBH]DJGQ_
XAYGM_[NCXJ
XAYGPAQKBZY
X[AYOJOJOOG
X[AYP[H]
XAYSDAGCCJHS
)xAyxjxvxqxxyxZxE'6
xayxpxpxpxxyxR
X)))A]]YYFZ]
X)))]A@Z
XAZAAGANY
XAZCMQ_SM_GBDNL
X[A]ZDAQYH
XAZDCOQHBZ
XAZGBLLKY
XAZGE@YSQ
XAZGSEHCX
XAZJZXXG
XAZ[KZCSAD
XA]ZNHXL
XAZQDCJD]L
XA[[[ZQ_D_]JYQ
XA[Z_QSADC
X]AZSEAQ
X@AZYDX[G[
x	b9ER	e4
"||x#||b#||A#||'#||
X@@@@@BA@
X@@@@B@A@@
X@@@@B@A@2 @Cg
x@@@@B@A@2 @I7
[X@@@@B@A@2 @L
?X@@@@B@A@2 @T
X@@@@B@A@2 @T
X@@@@B@A@2 @X
x@@@@B@AAEp@O:
X@@@@BAA@np@O
XBABSGBSOHJ
@@@@@x@@B@ACa
@x@@B@ACa
@@@@@x@@B@ACac
@x@@B@ACac
@@@@@x@@B@AFac
@@@@x@@B@AFac
XBAFS_N[
x@@@@B@A@h @]
x@@@@B@A@Hp@
X@@@@B@A@Hp@dU
'xBA@@Hp@J
#x@@@@BA@@Hp@Mje'S@@@@BA@@Hp@Hq
XB]A[JMS
XBAJNHYQ
XB_AKCSQP
x)))B]A[LHMM@
X!B@A@Lp@Hp
xBA@@lp@T_
x@@@@B@A@Lp@ZP
XBAMHDCXNCSXX[J
XBAMLSYZ
X_BAMSQO
XBANEPHBA_
x@@@@@BA@Pph@@@@@
@X_BAQG[_[
XBASBZJYJPA
XBAS@]Q]L]HC[OJB][
Xba-SsJ("
XB]AYQHD
XBA]Z_MAKHNQSYE
||xB||@B||
x@@@@BBA@Pp@@@@@@@@@@@
xBBBBBBB
XBBBBBBB
XBBBSCKL
XBB_FENNZK_[NLJXZQHJ
XBB]GHOA
X@@@@B@B@Hp@Mi
XBBJHFQ[XHML
XBBMPBSH
x@@@@BB@@Pp@@@@@@@@@@BB@@Xp@@@@@@@@@@@!@@D@ACac
XBB[QADMOG
@XB_BXdWBXxQB_@YWBY
@XB@B@Xp@HQ
XBBYBBBAENOQCP
XBCBPSQ_
XBC]CGSYG
XbCCNCCCBACC
XBCDCXPXG
XBCESQ[C
X[BCJQHS@_AAJNJY
XBCMDJXH
X_BCPLQD@ZZCP]OH
XBCPOGJ]L]
xB'CXUKT
XBC_YYGSQMKH
!xBdA[[[
[XBDBDBBGB
XBDCFN_KYO
xbDdZ[[[
XBDE]JALJYOC
XB[[@_D[GDHP
xBdG[[[p[[[
XBDJO_HJA
XBDMCSDXC_DG
x@@@@@@B@dp@l(
__X@BDS]KQ
XBDX_YGAGBM
XBDYCGXYGAJNXJHQ]D
xBdY[[[D[[[
XBEHLQK[SQ
XB]ENYXXH
X)))B[FGFJ[LH]@_LHNLGJP
XBF[GS]XN
XBFJP@B]OBPSF
XBGBXQOJ
XBGCYCJ[
xbgfG1V!
]XbgfGf0
X]]BGHNGLS
]XBGMFLQS
XBGN]HCHJ
XBGPYKXD
@XBHDeoBHD
XBHDEPC]
XB_HFO[KB]@
XBHGG]JQNQGZO
XBH_HOO[A
XBHJQDPH_SJP
XBHMZX]CM
_XBHNEZZJ]QK
XBHOCGBZPDN
X@@@@B@@@Hp@O
XBHSONNOQSD
XBJFJGASHN]NOEZM
XBJHAOGNX
X]BJNH]GCC
XBJOBAOMY
X[BJOCCD
XBJOMBECY
XBJOOCBD
XB_K9	BW
XBKA_ABCB[JKPKSB
XB_]KBDGBH]NG
_XBK]BKXZGQSO[
XBKDAZQBP
XBKOAPQM_BM_S
XBK_XLYJ
XBKYH[NP
XBLBPLGH
XBLEN]QY
XBLHSJ]O[
XBLLQC]]_G
XBLNAGGLAZ
XBLNO_S_
XBLQSGSA
XBLQY_]NE
XBMBQ]LHGOANPSSYZ
XBME]X]K
XBMH_BMZENO
X_BMJLLY
XBMKY_HB_
XBMOPX]EXYEQY
XB__MPQA[S
X@BM]]QGN
XBMQQQZB
XBMYDCCCE
XBMYOAYDBCD
XBNHGOOPS_
X[BNKONY_
XBNLYMLL
XBNOPMNJQ[[
XBNOSMLQB
@XBN@O@ZE
XBNSCBECQBZK_
XB_NSGOYXBJHP
x[BN@wBH@
XBN]ZABM[
XBOFHJGE[
XBOFNQ_DMPO
XBOHQSZCJ
XB[OKLHAN_]AYH
XBOMAAMH
XBOMYBBMX
XBONDJJA
XBOZGB]Q_[_PD
XBPBHXOGSE
XBPBNZAMESYL]M
XBPBPBPBP
XBPBZB]SEJHOJ]M
XBPCMDKX
XBPDZLZZP
XBPG_N]XXBYGO[OJLD[HXZ
xbpgppepq
X-bpgppepqAX
XBPMQEOLJC
XBPMXMQQ
XBPNDPJN
X__BPNG[CAMZSS
X]BPNQPO
x@@@@@B@@Pp_@@@@@
x@@@@@B@@Pp@@@@@@@@@@@@AA@
x@@@@@B@@PpH@@@@@z
XBPPQAEK]GD[
x@@@@@B@@PpT@@@@@R
x@@@@B@@@Pp@W
X[BPQPDX
XBPyxcx2
_XBQAHQB
XBQB]BJB[
XBQDMEC]JJHS
xBQdR[[[H[[[
__XBQLMLM
xBQsSRSS9
XBQxyxNyxx
_XBQyxtx7
XBQZCCNAG
]X)BR3XR
xbrubprC@
XB[[S]FJ[]SQ
XBSGFBZGN
XBSJ]K_Q
X@BSLCPPSGYO
XBSMBHAGS
@XB_sSRSSd
@XBTBXgmBXBT
xbTd_[[[
XB[Td6B[T
@XBUBXL_9
XBU@@BYj
@XBUPgTk
XBU@VT9Q
Xbu@@@@@x@@A@AAac
xBvJ97N9
XBV@TUXk
@XBV@Yk(SSSBU
XBWB_gdk
@XBWBX(USSW
XBWBZgQEyTsSRSSgQEyTsSCSSfPTxVsSCSSXQBWTLs
xb;wg8x0A
XBWLY	@WZD
XBW(|SSWASTs
XBWTfQEyBWT
XBWTgZT[fVT_UCRUD
XB[@WTPD
XBW@UTEm
xBx3xBx;x
xBx8x[x8x8x8x[x[x[x8x[x8x8x8x[x[x[x
XBXAQSHCSSHL
@XBXBVM9
@XBXBWAe
xBxBx7x;x?x
xBxBxBxyxPy
xBxBx;x0x
xBxBx;x;x
@XBX@CUj
@XBXEfUs
XBXGNBLLQP
xBxIxIxVxHxQxXx
XB__XJBND
XBXJQMDHA
XBXJVIVJIJHKVJxxx
xBxJxAxVxHxQxXx?x
xBxJxHxVxHxQxXx?x
xBxJxLxVxHxQxXx?x
xBxJxNxXx
xBxKxHxHxHxxxrxx
xBxKxIxVxHxQxXx?x
xBxKxKxKxKxXxUx
@XBXLCfXBX
xBxLxIxOxKxWx:x
xBxLxLxKxXxUx
xBxLxLxLxLxXxUx
xBxLxxxx
XBXMH_HP[Z
@XBX(MSSW
xBxMxMxMxMxXxUx
XBXMYZGNLZY
XBXNSEMPB
XBXPHG_NOBZG
XBXPKBSCOM
@X@@@@@@B@XpSD
@XBXs3QSS|@BUBT
@XBXsSQSS
@XBXsSSSR
@XBXsSsSS
@XBXsSSWSdQEyZLs9
@XBXsSSYS
@XBXsSWSSe@EQ(YSSW
@XBXUL19
@XBXUL39
@XBXUL#9
@XBXUL;9
XBX@UTEc
@XBXUWM9
xBxWxWx9x
xBxWxWxAxIxVxAxJxVxIxJxHxVxIxJxNxWx4x
xBxWxWxAxIxVxIxHx@xVxNx@xVxJxHxJxWx
xBxWxWxAxIxVxJxLxKxVxLxLxVxJxJxWx
xBxWxWxAxIxVxJxLxKxVxLxLxVxLxMxWx
xBxWxWxAxIxVxJxLxKxVxLxLxVxNxKxWx
xBxWxWxHxIx
xBxWxWxHxKx
xBxWxWxIxAxJxVxJxJxOxVxIxOxKxVxKxKxWx
xBxWxWxIxAxJxVxJxJxOxVxIx@xKxVxIxMxJxWxrx
xBxWxWxIxAxJxVxKxVxJxLxMxVxIxLxOxWxLxLxVx
xBxWxWxIxAxKxVxKxOxVxJxIxJxVxJxNxWxyx
xBxWxWxIxAxLxVxIx@xHxVxLx@xVxAxWx
xBxWxWxIxAxLxVxIx@xHxVxLx@xVxJxLxNxWx!x
xBxWxWxIxAxLxVxKx@xVxJxKxVxIxOxHxWx
xBxWxWxIxAxMxVxIxOx@xVxIxJxHxVxNxJxWxrx
xBxWxWxIxAx@xVxJxKxVxJxMxJxVxIxIxOxWx
xBxWxWxIxHxAxVxJxHxNxVxJxLxIxVxAxKxWx
xBxWxWxIxHxKxVxIxLxOxVxIx@xLxVxAx@xWxIxHxJxHxWx-x
xBxWxWxIxHxKxVxJxHxOxVxKxAxVxIxMxLxWxKxHxLxHxWx
xBxWxWxIxHxLxVxIxNx@xVxAx@xVxJxHxNxWx
xBxWxWxIxHxLxVxJxJxJxVxIx@x@xVxNxOxWx
xBxWxWxIxHxOxVxIxOxJxVxIxKxVxIxMxLxWx
xBxWxWxIxJxOxVxHxVxHxVxIxBxLxLxKxJx
xBxWxWxIxJxOxVxHxVxHxVxIxBx@xHxHxHxWx
xBxWxWxIxKxNxVxIxLxLxVxLxIxVxJxHxOxWx7x
xBxWxWxIxMxAxVx@xVxKxIxVxJxKxIxWxyxjy
xBxWxWxIxMxJxVx@xAxVxJxLxOxVxIxHxIxWxzxNy
xBxWxWxIxOxAxVxIx@x@xVxKx@xVxLxJxWx
xBxWxWxIx@xJxVxNxIxVxJxKxVxJxIxMxBxAxHxWxyxTy
xBxWxWxIx@xLxVxIxHxMxVxIxNxKxVxJxKx@xWxyxby
xBxWxWxIx@xLxVx@xJxVxNxMxVxIxHx@xWx
xBxWxWxIx@xMxVxIx@xKxVxAx@xVxJxKxJxWx
xBxWxWxIx@xMxVxJxIxNxVxOxIxIxJxHxWx"x
xBxWxWxIx@xMxVxJxIxNxVxOxIxVxIxJxHxWx
xBxWxWxIx@xMxVxJxIxNxVxOxIxVxIxJxHxWxrxTx
xBxWxWxIx@xMxVxJxLxNxVxJxJxHxVxJxIxHxWx
xBxWxWxIx@xVxIxOxAxVxIxIxIxVxJxLxHxWx
xBxWxWxIx@xVxIx@xKxVxJxJxOxVxAxLxWx
xBxWxWxIx@x@xVxJxJxOxVxMxOxVxLxNxWx
xBxWxWxJxHxOxVxIxNxOxVxNxLxVxIxJxJxWx
xBxWxWxJxHxVxJxJxJxVxMxHxVxIxKxLxWxxx
xBxWxWxJxHxVxJxJxNxVxIxOxVxIxKxIxBxOxOxOxWx
xBxWxWxJxHxVxMxIxVxJxIxOxVxIxIxKxWxyxTx
xBxWxWxJxIxJxVxIxJxAxVxKxIxVxNxOxxx]Y]]
xBxWxWxJxIxKxVxLxIxVx@x@xVxKxJxBx@xHx@xHxWxyx@y
xBxWxWxJxJxJxVxIx@xOxVx
xBxWxWxJxKxVxIxHx@xVxIxHxVxIxKxOxWx
xBxWxWxJxKxVxJxLxLxVxIxLxIxVxIx@xMxWx
xBxWxWxJxVxMxNxVxMxNxVxIxIxLxWx
xBxWxWxJxVxMxNxVxMxOxVxIxJxLxWx7x
xBxWxWxKxOxVxIxKxAxVxIxJxAxVxIxLxJxWx
xBxWxWxKxVxOxHxVxIxMxOxVxOxAxWx
xBxWxWxLxIxLxIxMxVxIxKxIxLxIxOxVxIxIxLxIxLx@xVxOxBxJxIxJxIxyx8y*x
xBxWxWxLxIxVxJxIxNxVxIx@xKxVxJxKxMxWx
xBxWxWxLxIxVxJxIxNxVxIx@xKxVxJxKxMxWx;x
xBxWxWxLxMxVxIxKxAxVxIxHxMxVxJxJx@xWx
xBxWxWxLxMxVxIxKxOxVxJxJxVxJxKxAxWxNxNxVx
xBxWxWxLxMxVxIxKx@xVxIxOxJxVxIxMx@xyx6y4x
xBxWxWxLxMxVxIxKx@xVxMxHxVxIxIxAxyxby1xPxQx'xExRxNxXx	x
xBxWxWxMxAxVxIxHxNxVxIxLxMxVxMx@xWx
xBxWxWxNxJxVxIxAxOxVxIxKxNxVxKxWx
xBxWxWxNxJxVxIxAxOxVxIxKxNxVxKxWxzxfy(
xBxWxWxNxJxVxIxHx@xVxLxHxVxOxIxWx
xBxWxWxRxBxLxLx
xBxWxWxSxBx]x
xBxWxWxSxBx@xHxWxzxJyWx
xBxWxWxWx
xBxWxWxWxxi4x
xBxWxWxWxyxdx
xBxWxWxWxyxJx
xBxWxWx)x
xBxWxWx?x
xBxWxWx]x
xBxWxWx@xLxVxJxMxJxVxIxJxIxVxAxOxWx
xBxWxWxxx
xBxWxWxxx|x]Y]]
xBxWxWxxx]Y]]R]]
xBxWxWxxxzxfxWxOxOx
xBxWxWx|x@y
xBxWxWxyxUzW
xBxxeuxrxuxr
XBXX]G@CJP
xBx]xHxJx
xBx]xHxVxJx
xBx]xJxBxVxJx
xBx]xJxVxJx
xBx]xKxBxVxJx
xBx[xNxNxNxCxXx
xBxxrxrxyxxrxUyqp
xBxxrx(x
xBx]xVxJx
xBxXx1x6x1xXx
xBx*x]x1xNxLx
xBxxxBxxx
xBxXxDx*x
xBxxxmxx
xBxxxmx]Y]]
xBxXxPx]x
xBxXxRxWxRxuxrx9x
xBxXx;x9xXxHxVxHxVxHxVxJxxxx
xBxxxxxuxrxuxrxxxx
xBxXx]x xUx]x xyxjy
xBxXx#x;x:x
xBxXxxxx
xBxXxXx#x]x
XBXxxxxxx
xBxxxxx|xxNyx
xBxXx x x xXx
xBxXxXxXxXxXxXxXx]x
xBxXxXxXxXxXxXxXxXx]x
xBxxx]Y]]
xBxxxyxdy
xBxxxyxLy6x
xBxXxyxvy#xEx5x
xBxxxyxXxZxXx
xBxXxyxZy1x
xBxXxZx7xXx
xBxXxZx-x
xBxxyxyxyxxyxUy
xBxxyxyxyxxyxUyqp
xBxxzxzxzxxyxby
xBxxzxzxzxxyxjx
@XBX@YEBY|
xBxyx0x(x
xBxyx2y1x(xBx
xBxyx2y:x3xBxXx0x
xBxyxBy1x
xBxyxby.x
xBxyxdyJxHxIxNx8x
xBxyxdy;x
xBxyxHx(x
xBxyxHy*x
XBXyxiy*
xBxyxjxw
xBxyxJx;x
xBxyxjyCx
xBxyxJy#x3x
XBXyxky9
xBxyxpyUx
xBxyxrx.x
XBXyxry[
xBxyxty(x
XBxyxvy:
xBxzxRyUx
xb  @     ]Y]]
X_BYA]M_ONY
XBYAYCBGOXXB
XBYBNAGZ
XBYDBQB_CQ
XBYDDBBCOKDQA@
XBYGFA_@Y
XBY]SELSA
X[BYSLX[[
XBZB@HS]
XBZ]BOLE
x)))BZBYBZBYBZBYBZBYBZBYBZBYBZBYBZBY
X]_BZBZQ_PJNLCBG[N_Y
XB]ZDJSQPO
XBZGGLPPK
X]BZG_SC
XBZLLGPMZXDGG
XBZN]BZ]Q_[N
XBZOZH_Z
XB[Z@PO[H
XBZZQD[F
[[[X[[[C[[[
XC15?3-l
x c!3llllllllmllllOllylm
XCA_BH_Y
XCABYQPOJ
xCAdO[[[c[[[
XCAHCZ[Z
XCAHJ@PJ]YPH
XCAJOXOQPHN
XC_AMAQL
XCAMOQDD
XCA_NGJA
XCA]QQB[E
XCASYXEXY
XCAXBANZJFSQ
X[CA_Y[Q
[X[CA]ZLPE
X]CBACOE
XC[BA[LE
XCBCHCAGM
XCBGXO]]
XCBKK[O_
XCB[_OMAY
_XCB_OMO
XCBQF]LXP
XCB]QNMN
X[[CBXHJPA
XC_CAYGOA
XCCK_DZNAZK
X_CCMACG_JH[
	XCCNCCCBACC
#XCCNCCCBACC
XCCNCCCBACC
XCCNCCCBACC	
XCCNCCCBACC57
XCCNCCCBACC8
XCCNCCCBACCa
XCCNCCCBACCAB
XCCNCCCBACCb
XCCNCCCBACCB
XCCNCCCBACCD
XCCNCCCBACCE
(XCCNCCCBACCF
X]CCNCCCBACCI
XCCNCCCBACCj
XCCNCCCBACCL
XCCNCCCBACCn
XCCNCCCBACCN
)XCCNCCCBACCp
XCCNCCCBACCQF
XCCNCCCBACCv
'XCCNCCCBACCV?
XCCNCCCBACCx
XCCNCCCBACCZ
X_CCNGHE
XC]COMCQHD]PZDD]G_PX
X[CCPXJ@
XCCQPABDYSG
XCCQQGBX]
_XCCQ_Q]]NYL]GF@S_LZAYX
X[CCSSYBSOQSLAS
XCC[XYLOLQ
XC]CYPAKB
[[XCCZOPPP
XC__DC]EQMEZ]DN
]XC[DEYMD_
XCDJADX@@
XCD_JQ_Z
]xCdM[[[
xCD)mggfw.
XCD[NAXM
XCDOFMFAMC]CGA
XCDP]BEP
XC]DPZ[JHHNPOA
XCDSQGE_
XCDS_][]SCL
XCDYKOGKKSAXX
XCEBOG_G
@xCeCTC9C4C
XCEGQYA[_
XC]]E[HM
XCEL]AG]MB_ONDPENQ
XC[E]YLGH
XCEYMJGCGE
XCFDXHNDJS
X]_CFOYZOH_LY[
_@XC[_@G
X_CGD]DPMF@L@
X_[CGEQX[XM]EGQ[
XCGFJAY_
Xcggfggw
xCg]ogfG
XCGQBBKONGGO
xcgqggoQi
XCGQ[LHEXPZB
XCGQZYPC
]@XCGS_NQQBS
XCGZOZ]Y
XC]HA_H_@JLD
XCH_AOLHADP
XCHB[PPNSKSHQPCJY
XCHH]NCM
XCHO@O[P@H]AM
]XCHSKQ]PPQ
XCHXHSHBN]P
XCHYLO[]XNQGLNKJ_J
XC[HZYEX_DBHMHB
xCig[bgfG|
XC_JBOCBYH
XCJPMXSG
XCJQLMXMGO_@ZSHPJNBQB
XCJQXAL[MJCNBM
XCJSZ_LG
X]@@CKBSLXL
XCKF@X]JJJ]LC
XCKHEZ[CQO[
xcLdE[[[i[[[o[[[5O
XCLGS[FEH
XcllllllllmllllOllylmi
XCLPJZCSHZDZ
XCLSOPHXK_YAK]X[_@M
XCL]YLDQ
XCMAEGC[
XC]MB_BPM[BC
XC_MCYJNC
XC_M[GHX
XCMGN][[
XCMKHYDZ
XCM[KX_[E
[XCMLECNHZ
XC_MLGAZ
X]CMNAHX
XCMNGSAC_
[XCMOBCPB
XC__]MXAY
XC_N[CMN
[[[XCNdC[[[
XCNN][GGML
X[CN]P]H@
XCNQEDNHLPPQKP
XCNYL[DAB[]AS
XCNZBPQCL
XCOAH]YHP
XCOC[MXBB
_XC[OCXMJ
XCOGAFXGB
XCOgqgg'
XCO]JGMZM
]XCOJZ]JS]N
XCOLOLCBG
XCONLSCJ]Z
[XCOQDXPFGQMAGZN
XCOQLQE[
XCOZ_AH_O_ON
]XCP]A_EPE@OZD
XCPBC]HGOAAZG]GYD
@xCpCaCgC"CiE
XCP[D[EQAD
X]]CPDPL
xcpgppepq
XC]PJOXCB@FA@BNM]
XCPPP_ECFOZHCDQY@
XCPSGQLLCXQEY[EBXA
XC@PSKSM
_XcptFilter
XCPXSN@@ON@YM
XCPYD]BJ
[XCPYZGXZ
XCQCENM]
XCQ]_CXKX[
XC_QD]E[GP
XCQD[_JCZOBH
XCQML_QD_
XCQNOJSML
XCQYHBO[PH
XCQYQCQGML_XOM
XC]SG[SM]Z
XCS_[HYDMMGH
XCSJCAZHCO
XCSLDEPLYY
xcSllllllllmllllOllylm
X[CSM[DJHD
X]CSPBA_
XCS_PYNMEFHE
XCSPZSALY
XCSY]CJ@
XCS]ZKS[Q]Q
X#cubgfG
xCUsCRSS9
xcvNL]))
XCwOOH@wLK[H
xCx2xTxPx
XCXFX@XGX
XcXhX XjXhXhXkXaXcXcXcX
__XCXKHHK[FB
XcXkXcXcXcX
XC[[XNCP[ZXD
xCx	xBxJx
xCxxyxyxyxxyxVy
xCxxyxyxyxxyxVz
xCxxyxyxyxxyxVz.K
xCxxzxzxzxxyxsy
xCxxzxzxzxxyxXy
xCxyxZyVx
XCXZ[L_SHSD@L[LSK_[
XC]Y]]2'Y
XC]Y]]5*Y
XC[YAJZN
xcybyeydygyfyYyXy[yZy
XCYC_CX]
XCYCGXA_C[DPN
@xCYCSEHE|DuD
X[[C]YCSP
XC]Y]]F'Y
XC]Y]]g'Y
XC]Y]]G'Y
XCYMYEQJ
XCYPBJDG
XCYSZSCESH]H
XC]Y]]T'Y
@@@@xCyx
XC]Y]].*Y
XCYZGQDAH
XC]Y]]Z'Y
XCZC[PEGD
XCZ]FCX]C
XCZK[QHX
XCZLDNL[
XCZMADM_
x-|d_[[[
x?#d[[[[
[[[;X#d_[[[
Xd][[[ [[[
Xd_[[[|[[[
Xd5llllllllmllllOllylm
Xd_[[[6[[[
@xD9@EKZcqK9@FZD
[[[x-|dA[[[
x?#dA[[[
XdA[[[?[[[
XdA[[[0[[[
Xd[[[[A[[[a[[[
xDAAAA@AAAAAC
x@@@@@*@@D@ACac
XDACQAOQKYEHLKAG
@XDACYQ[C
XdA[[[d[[[
XDADAPCSJYJ
XDADDSAE]HZ
XDA_E]OZMNH
XDA]HAXLLJ
XdA[[[L[[[
XdA[[[m[[[b[[[a
XDAMPQMPL
XDAPDZSCC
XdA[[[U[[[
XDAXJA[Q]
X[DAX[OS__Y]Z[Z]XZY@EJECX[LYGD
x-|dB[[[
xd@@@@B@@@@
XdB[[[a[[[
XDBBH_]X[[C_
XDBCQ[OQ
XdB[[[D[[[
XD_BEYHXZP
XDB]JQHLKM[
XDBMSPNLAON_
XDB[NGOSEPQ]P
XDB_O]_LJOO
XdB[[[|[[[q[[[
XdB[[[v[[[
[[[	[[[x-|dC[[[
Xd_[[[C[[[
XDC_AL[A
XdC[[[E[[[D[[[c1
x]dC[[[j[[[
XdC[[[j[[[
[XD_CK[G
X_DCMHC_
XDCO[MBS_
XdC[[[O[[[N[[[
 XdC[[[z[[[
XDDBGQMCX]]
XDDCE_NCS[]
XD]DCOZQ
XD_DDAQGZHEOZAJNL
XDDDDDDDDDDDDDDDDgqggU
XD_DDMOGO][
XDDDyxkyx;
:XDdG[[[x[[[
xDdI[[[X[[[j[[[M
XDdL[[[][[[
x:DdM[[[
XDDMQCDASLBQ
XD_DPDJZ]
XDDSALYJJSKG_AMJPCC
XDD[SBQY
X:Ddx[[[
[[[x__dE[[[
Xd][[[E[[[
XdE[[['[[[
XdE[[[.[[[-[[[
XdE[[[4[[[
X]DE_CLJJ
Xd_[[[e[[[d[[[
XDEEEEEEEEEEEX;
XdE[[[f[[[e[[[i
xdEgocgfG
XDEGYG_L]C
X@DEKQKJGHZH
XDEMS[[QXJA
XD[EOXXX
[[[x-|dF[[[	[[[
XdF[[[B[[[A[[[
XDFBDCNHMCJ
XdF[[[][[[C[[[
XdF[[[I[[[
XdF[[[L[[[
XdF[[[O[[[C[[[
X@dFoooo
XdF[[[p[[[
XdF[[[p[[[h[[[
XDFPXAXGP
XDFXHyxuyW
[[[x-|dG[[[
XdG[[[0[[[
Xd_[[[g[[[e[[[
X_D_G]EL
Xd_[[[G[[[F[[[jB
*xd)gGbgfG
XDGHDDOJ
xdgH[[[f[[[
XdG[[[H[[[O[[[T
Xdg?kgfGd
X_DGNCEJBDP
XDG]NPMX
XDGNYLYG
_XDGOM@BQ
XdgqggeXg
XdgqgghJB
xDgqggJU
XdG[[[s[[[u[[[
xdgW[[[c[[[
XDGXNOMB
XDGYBBC_
xdgY[[[Z[[[
XD_G]ZCYLM
[[[x-|dH[[[
;|XdH[[[
XD[_HEHS
x)))DH@G
x)))DH@GvEFJH]@FG
XDHNNANP
XD]HONDKNPSS[S
XDHQLQOJ
XdH[[[|[[[s[[[
XDHSHABG
X[DHSPPC
X[]DHXXS
[[[x-|dI[[[
x-|dI[[[
XdI[[[1[[[
XdI[[[a[[[
XdI[[[b[[[
XdI[[[B[[[
_XdI[[[@[[[F[[[
XdI[[[g[[[
Xd@[[[I[[[H[[[
XdI[[[H[[[
XdI[[[H[[[L[[[q
XdI[[[J[[[I[[[
xdI[[[U[[[@[[[
XdJ[[[.[[[
XDJ[BMHYQ
XDJCZHCB
XdJ[[[f[[[2[[[
XdJ[[[G[[[
XDJG[X[ME]XD[ENDBDGX]NQXS
[XD]JHDFKK@SGLC
XDJJKANQQ
XdJ[[[l[[[
X_DJLB]HHYC
X]dJ[[[][[[S[[[;
XdJ[[[U[[[u[[[
XdJ[[[W[[[
XDJXLECNSCE[
XD_JYBS_]
XDJ]Y[YDGX[[AHKSNA
[[[x-|dK[[[
[[[x-|dK[[[	[[[
x-|dK[[[
XdK[[[.[[[ [[[
XdK[[[E[[[
XdK[[[k[[[
XdK[[[l[[[
]X_DKMDPOGKQCNMA
XDKPDO@D@K
XDKPKNSDM
XdK[[[p[[[w[[[
XdK[[[r[[[
[XDKY]JFG
XdK[[[Z[[[
XdK[[[Z[[[*
XdL[[[	[[[
XdL[[[)[[[
#x)DL]AFM
XdLaMe!*
XDLEJ_EK
XDLE]KZZ@_ZELQ]QAHJM
XDlggfgfG
;)))XDLG][HGM@GN
XD@L]GLD
XDLHEPKLQQX
x)))DL]H_H[]PYLALEY
-xdllllllllmllllOllylm
xD|llllllllmllllOllylmX|H
XDLSSOQ[
XdL[[[v[[[u[[[
XDLYJYJ[O
XdL[[[y[[[x[[[
XdL[[[Z[[[6[[[I
XdL[[[Z[[[u[[[e
Xd@[[[m[[[
 XdM[[['
XDMAQYCO
X]DMASEAZB
XDMBNHSJBM]
Xd][[[m[[[c[[[
XDMHSAHG
XdM[[[i[[[
XDMM]]JX
XDMOMZ]H
XDMOPDC]
x-|dM[[[r[[[v[[[Z
XDM[Y@AOLYMHX@
XdM[[[Z[[[
XDM_ZOACH
XdM[[[Z[[[;[[[q
#XdN[[[3[[[#[[[
XdN[[[b[[[
XDNBAEHJNPPG
X_DNBOYYQ
XDNEPCQP
|XdN[[[g
XdN[[[G[[[E[[[rN@fG[[[F[[[
Xd[[[[N[[[M[[[2
XDN]MZLP_
XDNNHNBLLZHQN
XDN_NYXZ
X]DN@[_[PBQQPA
x||||||||||DO
XdO[[[:[[[
XDOCG]BLX
XdO[[[e[[[d[[[2
XDOEJXMEESLOS_]_
XDOGHSG[
XDOGL]KE
XdO[[[h[[[
XD_OHGGA
XD_OHXB[EON
[XDOLO_G
Xd@[[[o[[[m[[[
X]DO_MLB
@_[XDONAD[
_XdO[[[P[[[
xD]OP	L@I-D
X[]DO_]PQM]
XDOQ_X]K[
XD[OSKOYN
XdO[[[s[[[r[[[
X]dO[[[u[[[
XDOXM_K_
x-|dP[[[
XdP[[[*[[[ [[[
]XD_[PAS
XDPBNNAE
_X[DPG[J[G
xdpgppepqn
XDPH]FP[
XDPKPJY[
X_DPSSYEY
XDPY]BPFXY@M
x?#dQ[[[
XdQ[[[B[[[F[[[
]XDQEMZQOKK
[XDQE]QSHP
XDQGENANB
XD[]QGQM
XdQ[[[k[[[h[[[I
XD[QMY_GJMQN
XdQ[[[s[[[
XdQ[[[S[[[
XdQ[[[v[[[g[[[
XDQ__YM_
x-|dR[[[
x?#dR[[[
XdR[[[e[[[
XdR[[[L[[[@[[[
Xd_[[[R[[[Q[[[
XdR[[[r[[[
XdR[[[t[[[
XD[SALENB_
XD_]SANP
XdS[[[B[[[G[[[
XDSDLXQ[A
X#d*shdE
XdS[[[k[[[b[[[
XDS_LO_Q
XD[SNHGOQ_CG
XDSSBQMJZ
XDSSNND_G[LX]PK_
XdS[[[x[[[w[[[]
XdS[[[y[[[x[[[	
XDSZDSEASF
x-|dT[[[
XdT[[[h[[[
||||x|||d|||tj
]X@dT[[[Q[[[
x?#dU[[[
xdU[[[#[[[ 
XdU[[[4[[[
XdU[[[7[[[6[[[
XdU[[[g[[[
XdU[[[G[[[z[[[u
xdULcd_ULjfTTUI
XdU[[[m[[[b[[[
XD@UQASARLaA
x-|dV[[[
x?#dV[[[
Xd@[[[_[[[V[[[
XdV[[[?[[[
XdV[[[?[[[.[[[
XdV[[[@[[[
XdV[[[9[[[?[[[
XdV[[[a[[[g[[[
XdV[[[;[[[:[[[BW]d@[[[
XdV[[[d[[[
XDvDLZZ@M
XdV[[[L[[[C[[[
XdV[[[o[[[f[[[*Q
XdV[[[O[[[N[[[(
Xd_[[[V[[[U[[[
x[dV[[[Z[[[
XdW[[[0[[[6[[[
XdW[[[E[[[
XdW[[[F[[[
Xd][[[W[[[T[[[
Xd_[[[w[[[v[[[
Xdx[[[_[[[|[[[
xdx[[[3[[[6[[[
xDx3xJxMxNx3xDxBxDxIx
]XD@XAPEGBL]
XDXCMNYJMM[
XdX[[[d[[[
xDxDxBxBxFxFxxx]Y]]
XDXGAYKKL
XDXGJJEQJPGXQ]
X_[DX@HK_
XdX[[[h[[[n[[[
X[DXH_SEBNN
XdX[[[j[[[i[[[
XdX[[[N[[[
XDXND[P[GC
XDXODEQE
Xdx[[[Q[[[
XdX[[[R[[[
XdX[[[s[[[
XDXSCGC]ZE
X[[[dXSdU[[[_[[[][[[
XDXSNPAD
Xdx[[[U[[[
Xdx[[[v[[[u[[[c
Xdx[[[w[[[k[[[	7hfB[[[v[[[
     xdxxyxyxyxxyxwy
xDxxzxzxzxxyxey
xDxxzxzxzxxyxhy?
xDxxzxzxzxxyxoy
x]D_xYD_xUD_xQD_BU
x-|dX[[[y[[[n[[[P
xDxyxJy9x
XdX[[[Z[[[
Xdx[[[z[[[y[[[M
x[[[[[[dY[[[
Xdy[[[5[[[
X_DYBCMB
x||Dy||Dy||
XD@YE@_BYi
XD]YGGZOQ
X_D]Y]HJEZ
XdY[[[N[[[
XDY_]OAD
xdy@OLAL
XdY[[[O[[[N[[[B
X]DYQ]_MPQDES
XdY[[[R[[[F[[['
XdY[[[S[[[P[[[
Xdz[[[;[[[
Xdz[[[0[[[
[XD]Z]D]
XDZDLZDXDGYC
XdZ[[[e[[[
x)))DZFOO@JL
XdZ[[[g[[[
XDZJPMQP[
XdZ[[[K[[[J[[[
Xdz[[[m[[[c[[[
(Xdz[[[N[[[M[[[
XDZON@]_YKNXAF
XdZ[[[P[[[
XDZQCEAZ
_XDZQSC@NL
]#XDZqtk
XDZQXDZG
XdZ[[[R[[[
XdZ[[[R[[[H[[[
Xdz[[[S[[[
XdZ[[[s[[[
Xdz[[[T[[[
XdZ[[[U[[[
XDZXBBSYX[H
XDZ[X]MY
XD_ZYSHHB
x  e     
[[[X[[[E[[[
@XE9XE9YBXK
x@E9yE9yE9yUyE9yUyE9yE9y
XEAANSSEE
xeA[[[d[[[
XEAHHNAG
XEAJLBOZMAZZ
X[EANH[ZN@
XE]A]__PHCO
XE@AT9@F[T
XeB[[[][[[
xe@@@@B@A@
XE]BA_MG
xe@@@@B@CA
@]X]EBDANXG
XEBDFSPJHGN
XEB[NHXL
]X]EBXGL
@XEBXn'ZSSU9@DBDBV
XEBYYEGP
XEBZ_]O_E
XECEXONX
XEC[J[JC_J_
XECJKY]F
XeC[[[l[[[c[[[.
X[ECNMDH
XE_CNSENP
XE[COOHNS
]XEC]OZ]CZ
XE_[CP]P]
XE[[CSCJ
XeC[[[_[[[][[[w
xED8V*tqH
xEdB[[[a[[[e[[[c
xEDdQ[[[h[[[m[[[Q
XEDEGYNG
X]EDKHDHQA
XEDMNX_]NA
XE@]D@[xoU
xEdx[[[V[[[
x.Edy[[[y[[[s[[[8zwd[[[[x[[[
X|Edz[[[
XEDZZX_QMGA[G
XE_E9@VT9YTEl
XEEAMJA]HXQ
XEEEEEEEEEEEFX;
XEEEEEEyxay*
Xe]eggGz
XEEX6-44X?4
X[EEXEON
xeEXxaQLs9
XeF[[[_[[[
XefGuFT:
x)))E@FGYH[]Z
X)))EFJHE
XEFX(7(X
XEF[ZYXPX@MO@BP
xe"gAgg]6
]XEGCPZSJ_
xE@GE9QBGL_1B_
@XEG]EJ_CM[D[
xegfG"B0
'XegfGbM0egqggM#
XEgfGHGo
XEGJ@EADECLZC
XEGJSGEGXAA
XEGLAAOA
XegOigfG  
Xeg]pgfG
XEGPLG_@G
[XEG[PQQ
Xegqggq#
XEGSMNEE[
_XEGXJ[NP]
XEHBAACJAOO
XEHdR[[[R[[[V[[[
XEHJEBAG[S]
XEHJHGBNX
_XEH[LAZP]
XEHL_LDJNQSYOX
X[EHMDHBO
XEHMDLMZGSXZ
XEHQDE_NZ]C[QKYPPPX]KLX
XEHQPYNQ
XeJ[[[_[[[][[[
XEJ]ASBQPO
XEJENOO_
X[EJJMOJB_
XEJMGJB_HZ
X@EJOABB[HQL[
XEJS]YLG
XEJYGY]C]Y
XEKEKNHK
XEKKBCBD
[X_EKLSF[]
XEKQXSA_AGDOZG]LCZ]H]
XELCQPQ]QQ
XELGBSGX
XeL[[[G[[[r[[[
XELGYP_MD
XELJ]DL]
)xEllllllllmllllOllylm
XELLSPMN_NDJ
XELMS]_YE
x)))EL]ZJ[@Y]vE@GB
Xem4'd4i?g
XEMCBGZADHNCG
XEMHXYAMK
XEML]JHXYN
XEMY]JZEDZDD]X
XE_MZPJP
_X[ENB_MG_P@AGO@[
X[EN_CPNEH
XENDYLLS
 xeN[[[E[[[
XENGD]AX
XE_NGJP_OQ
XE]N]PEL]LYB
XENPGSHOX]BL[L[
XENQHMF_@JC
XENZQXCS
x||||||||||EO
xeO[[[d[[[
XE@OEHZNGLEEGLX
X_EO[GLEM
]_XEOHEN__J
XEOHLCQL]G
X)))EOiYF
XEOLNC_S
XeP[[[*[[[([[[
XEP_FSGN
x?EPg;Q@[EXE9@TPT
XEPg#QYP@W[D
XEPLMHQGB
XEPNHSAN
XEPPECLP[
XEPXPNK]XLL
XEPZSAMY
XEQDDZD]
xeQdO[[[
XE]QHHZA_
XEQPEBGY
XE@qT9@ZBZ@@EQ
xEQ(VSSWs
xEQ(VSSWsCsS
xEQ(VSSWsQrS
xEQ(VSSWsRqS
xeQ[[[x[[[
xeq?xHxeq"x)xeqeqeqyxly5x)xeqHxeqeqeqeq3x
XEQXO__LBLN]C
[[[xERdy[[[
XESAYJEC
]XES][]CQC
XESD[GBY
XESFQZNQAL
XESGBZ[SXSZ
XE]SX[XQ]
XETghBUJ9
XEtllllllllmllllOllylm
xeT[[[M[[[
XeU[[[_[[[
XE@UB]sSRSSdTsSRSSxQB]@CBUBCg6Q
xeU[[[d[[[
XeU[[[f[[[
xeU[[[G[[[
XeU[[[K[[[
xeUsCRSS9
XeV[[[_[[[
XE@vT9@BBB@FEB]O9
XE@Vx5UD
XeW[[[_[[[V[[[
XEX@Cyxmy
[[[X;[eX[[[d[[[
XEXDHXKYJMB_
xExExrx8y
xExExuxrxxxExEx-x
xExExxxxxx
xExExxx]Y]]
xExExxxzx]Y]]
xExExyxHy
xExExyxly
xExExyxvy
xExExyxXy4xKx:x
xExFxFxFx1x
X@EXG]MXYH[
XEX_GZANGBXJKSPHDQKYZXDZQC
xExHx:xHx
xExHx:xLx
xExHx:xNx
xExHxxxx
xExHxxxyx
xExHxyxTy-x
xExHxZxQxyx
xExIxIxIxxxyxuy]
xExIxJxKxLx[x
xExIxVxHxVxHxVxHxTxXx;x
xExIxVxHxVxKxVxHxxxx
xExIx@xLxVxIxNx@xVxIxAxLxVxMxMxxxlx
xExIxxxx
xExIxXx]x
xExIxxxyx
xExIxxxyxjyxxWx
xExIxyxDy
xExIxyxNy
xExIxzxfy
xExJxTxXx
xExJxxxx
xExKxyxPy
X]EXN[NO
xExNxKx@xxxx
xExOxOxOxxxx
_[XEXQOHJL
XEX]QSEBEAOX
;XE X 	rE X
xExrxjyDx
xExRxQxQxrxq
xEx]x1xNxLx
xEx]xHxIxHx
xEx]xHxVx@x
xEx]xHx@x
xEx]xLx]xyxny5x
XEXXMNYMCZM
xEx@xNxxxxx]Y]]k
xEx;xOx2xMx:x
xExxsxsxzxxyxqxW
x[EXxUDXxQEXTy
xEx_xVxWx
xExxxfxx
xExXxWx4x
xEx_xxxx
xExxxxxHxxx;
xExxxxxUxUx
xExxxxxUx(x
xExxxxxx
xExxxxx]Y]]
xEx_xxxyx yExEx:x
XEXxx]Y]]
xExxx]Y]]G
xExxx]Y]]O
xExxxyxjy'x'x
xExxxyxjyxx
xExxxyxlyxx
xExxxyxny
xExxxyxrxUx
xExxxyxtx
xExxxyxtxWx
xExxxyxTy
xExxxyxXxWx
xExxxyx]Y]]
xExxxzx0y
xExxxzx2yWx
xExxxzx4y
xExxxzxf
xExxxzxfxWx
xExxxzxwy
xExxxZx]x
xExXxZx]x
xExXxZxXx]x(xXx1x6xXxPx_x
xEx_xyxfyDx
xEx_xyxly_xXx
xEx]xyxXy]x
xExxzxzxzxxyxmyz
xExyx0x(x
xExyx4yPxGxDxExDx;x
xExyx8y0x
xExyx8y)xJxAx
xExyxbxWx
XEXYXCNGANSM
xExyxdx'x?x
xExyxdy6x
xExyxfx;x
xExyxfy-x
xExyxhx]x
xExyxhyW;
xExyxhy:x
xExyxjyVx
xExyxlyVx
xExyxny(x
xExyxPyWx
xExyxryQxCxuxrxFxxxx
xExyxRy(x
xExyxTyUxUx
xExyxTyWx
xExyxvy;
xExyxvyCx
xExyxVy*x
xExyx x7x
xExyxXxWx
xExyx*yUxUx5x
xExyx@y!x
xExyx@y)xJx
xExyxZyUx
xExyxZyWxDx
xExzxAzWx
xExZxHxTxIxTxJxTxKxTxLxTxMxTxNxZxFxrxXxXxXxXxDx
xExZxNxZxXx
xExZxOxZxXx
xExzxTyWx
xExZx*x3x6x4x
xExZx#x9x
xExZxyxw
x  E     ]Y]]
X@@eY[[[
X]EYAP_L
XEYCBMYXSZ
X[EYDDHLBO]DM
x[EyDyEyEyDy
XEYEQLK9
XEY_EXB]YNJDP
x[EyEyEyEyDy
x_EyEyEyEyEyEyBV
x]EyEyEyEyEyEyEyBWLYe
x_EyEyEyEyEyEyEyEy
x]EyEyEyEyEyEyEyEyEyEy
x|EyEyEyEyLBABs
x|EyEyEyEyLBAOs
x[EyEyEyEy[Lm
XE[YKKNZ
]XEYLCHZBHQ
XEYMJGCGE
X]EYM_OAZ_
XEYM_XLLQN
XeY[[[_[[[P[[[
@XEYPLC9
XeZ[[[-[[[
XEZ5ZXFX
XEZAOAOAEC
XEZHSBLAG_M
xe_[[[Z[[[i[[[
XE_ZJAXCGA
_XEZJ__Y
XEZ]NALO
X]_EZQS]GO
XEZXCMOQO
XEZXC]Y]]
xEzxhxhxuxxyxvy6
xeZ[[[y[[[
[[[X[[[F[[[
[[[xf0dO[[[
XfAAAA@AAAAAC
XFABLABM[S
XFALEL]ZFEH[
X:@@@@@;@@F@BEac
XFB[HPBMGC
XFBYJGJ_DH]
XFCKGJQCOA
XFDAMJAQOPBOQ
XFDDQQJSL_XP
X:fdH[[[
xfdI[[[I[[[
xfdI[[[K[[[
xfdJ[[[O[[[
xfdK[[[5
XFDKEMBJHJSENS]PSX
xfdK[[[U[[[I[[[
xfd][[[O[[[C[[[OJ;dI[[[N[[[L[[[
xfdP[[[n
xfdQ[[[!
x:fdT[[[	[[[
xfdU[[[k
xfdW[[[@[[[F[[['P5dH[[[G[[[
xFdZ[[[L
]XFE[HGBKA
xFE_knPSSE_kePSSE_k|PSSA|Es
X@FE[KZ_PKXJ
[XFFDOCGD
XFFIxx]Y]]
XFFOQXL[DGS_
XFF[SPXSGF_
XFFX6-44yxry
XFFXyxky
[XFFyxtx
xfgfG Xb
][XF]GFP]Q
XFGLSMKNE]]@
xfgw1gHV
xfgw58emT
xfgwggfw
XFHLPZZX@N
XFH_MHQO
X@fIAAAA@AAAAAC
XfIdO[[[
XFJ][CH]
XFJDKYCAM]
X]FJHAMZCH
XFJ[OSSBDHOF_L_
XF[JY_DJ
XFKDEMJB
XFKFKGBMGF
_XFK]NX[
XFLF_HBLHY
XFLK]_[ZMJ[N[JCXPFG[_Y
xfllllllllmllllOllylm
Xf@@@@@MC@n@AEac
XFMEQXKD
xf!mggfw
XFNBL]M_J
XFNS[HNL
x||||||||||FO
xFoSdgfGP
XFPDAPS_S_]]KC
XFQFXKG@G
XFQHGDNC_PE
XFQHNEZNPP@QJNH
]X]]FQMJCXQAYSA
X[FQ@]ZYJYE
XFSBKA]MPFO
XFSCC]ACFD
xFSgqgg5
XFSHQQG]F
"xFSpcmY
XFSQJX@HQCSHX
XFSZSKHDDGNY
xfT9L_9	BU
xFUHdDHYVs
xfV[[[p[[[
xFx5x9xLx;x9x
xFxDxWx)x
xFxFxFx#x
xFxFxFxyx
xFxFxFxyxlxRx4x
xFxFxFxzxNyExUx1x
xFxFxLx?x9x
|xfxfx_xxyxvx;
xFxNxHxDx
xFxPxVxRxQx
xFxQxVxSxPxGxExDxWx;x
xFxQxyxry
xFx]x4x1x6x3x]xDxWx
XFXXMDO@EDEKNGAZ]ZCNXDZX
xFxxsxsx|xxrxu
xFxxxxxx
xFxxx]Y]]
xFxxxzxly
xFx|x]yw
xFxxyxyxyxxyxIz
XFX[YJ[Y
xFxyx0yDx
xFxyx4y;x
xFxyxdyDx
xFxyxfyDx
xFxyxhyDx
xFxyxjy'x
xFxyxlyWx
xFxyxnyDx
xFxyxPyYx
xFxyxRyDx
xFxyxuyD
x[FyFyFyEyFy
x[FyFyFyFyEy
XF_@YLYD
[XFYMJ[KY
xfZ[[[h[[[
xfZ[[[w[[[
X[g1ogfG
x_g3bgfG
#xg3mgfG
[xg5cgfG
x;g5fgfG .
?Xg5kgfG
xg7dgfGt
xg*8NdDb
X|g9fgfG
XGADXB]CNBDPXAQEG
XGAFQECA
xg]agfGgn
x.gAgg5V
'xgAggb6?
XG.ag;kgfGt
_X]GANEPYEFABN
x]gaPgfG6
xG@@@@B@A@2 @F
Xg!bgfG6
x:g	bgfGoZ
Xg!bgfGp
xg#bgfGx
X_GBG[_SP[
XGB@K]MB_BZ
XGB]NOMSALEJJ
XGBQCPQ]MCD[
[XG_BS]C
@X]GBYGHYX]
X]gB[[[z[[[
XGCBXLLPLM]@KKP
XGC_BY[LQ
XgccgfG0
XGC]DHBL
xgcegfG2
XGCGDwZC
X!gC|gfG
Xg#cgfGL
xg[cgfGV
XGCHSAQOJSO_
X'gCigfG
XG__CPDLG
x"gctgfG
XGDCONGDQ
X]GDD]NZL
XGDDZPBJBSZJ
Xg'dgfGjh
Xg_dgfGnL
XG"dK[[[B[[[@[[[
]X_GDKG@YSHQSFYJX]
XGDON[XCG
xgdQ[[[8[[[?[[[2q
xgdU[[[t[[[
xgecgfGtQ
xgedbxeefbUUpUU
xgeddxecgcUU@UU.
xgeddxeeagUUvUU
xgeddxgafgUUvUU
XgEdgfGx[0
;XgefgfGYX
xgegexeblcUU|UU
XgEggfG8F
XGEHLKBZNQ[
XGEHOP_G
xgeH[[[r[[[
XGEHZBG]N
xgeI[[[P[[[
XGEO[NBS
XGEQFOBQ
xgeQ[[[T[[[L[[[t
xGEyEyEyEyDyEyEyDyEyEyEy
xGEyEyQUQL
X[GEYHMGO
x)))@G_FBL
XgfG6daAgqgg
xgfGA!tAgqgg
xgfG[dB*gqgg
xgfGe)Jigqgg
xg[fgfG2
Xg]fgfGXc
Xg;fgfG:YB
xgfG]rFIgqgg
xgfGVapvgqgg
XGFM[MDOS
xgg1jgfGM
xGg?agfG
X]GGAJA]
X_GGAXSJN
x!gGbgfG
xgGbgfGm
XGGBYZLD
XggcgfGIlM
xggcgfGr
XgGcgfGrka
xgGcgfGx7
XggfGD:B
x!ggfgfG
xgGfgfG#
xgGfgfG-
xgGfgfGE]Q
xgGfgfGW
	@xggfGp
Xggfw'tqI2
xg	ggfGQ
|XgggGa8Y
xgGggfGh
XGGGOCJYS
X]GGHZOL
XG[GKZYYH
Xgg)lgfGH
XggmfgfG
X"ggmgfGgw* gqgg
X_[G@GMS]FSJKQD
XG_GON[MS
XgGwggG 
xggwUzGg
Xg[gYzgfG
xggzgfGTG
xGG*zxhy
XGHAYBSCH
XGHBQLCD_]ZA
XGHB[_YLN
]XGHCGOJM
XGHHMDNS
XG]]HLNMZC[
XGHNBNS_Q
XGH]QNNS
XGH_QPXL
]XGH]]SQJDN
XGHSQMO_O
XGHX]PFDCQHJ
xG@:[iFD1
Xgiggfwbp
xgiggfwNa
XGJDZGYODM
xg?jgfG.Z
XGJHJNP_
XG[J[L]H[Z
X'GJllllllllmllllOllylm
xgjugfG0
xgjugfG7
XGJ__XLS[MEJGC
XGJXXEZOFMZPDD
xgKbgfG"W
X_GKCMLSCPHFBZL
XGKFOKXGJ
XGK]GCAGM[[
xgK[gfG7K._gqgg
Xg	kgfGE 
XGKGHMLDGS
]XGK]NSH]PXX
XGKOJ[NN
'XgKtgfG
XGLBBXOG]HKF
XGLCSBJXZ
[[[XGLdH[[[m
_X[G]L@E]SP__GQ
xgllllllllmllllOllylm
XGLMZOXPA
X_GLPLOZFXS
_[X_[GLX
XGLXMOBE
XGLYOLBQ
XGLYPQHN
XGMCCCL_J
*xgMegfG
XgmfggGQ
Xg)mgfG7
xgMggfGA
XgMkgfG6
XgMkgfGB
xgMngfGDM
XGMYE[HSXJLPNAPGQSNJMM[HHNZB
X_GMZLXZS
X[GNBPHCQG
XGNBSJNEM
X)g#ngfG
Xg]NgfGt
XGNGLEHG
XGNKSGXQQ
X_[GNM]O
XGNO]FYS
XGNOOMJBQKS
XGOAYDOX
XGO]CPEM]K
XG@OCPG@E
XG_OFP_B
XGO_JSGBNAC_XJ
XGOMN_BZJ__AMCO
XGOMX]]E_M
XGON]JZNXSAZ
XGONN]QSG
_XGO_NSSX_QDS_]]]NB
XgooggG1l
X_G_O]QQ_AY
!xgOwggG
xgOwggGk
XGOXOLPJ
XG_[[OYQHJ
X]GO]ZZHQPC
XGPAES[H
XGPCZJBD
XGPEBEJN
_XGPJ@GGLP
XG]PLSHEBPJ
XGPNOX]ZJ
XGPw@wFNw[wXYLw_
XGPZECAGF]ES
XGPZJXMGY
XGQBBJPJM
XG[Q][BEH
XGQD]CDC_Q
XGQD]C_Q
X_GQFMAQXN
xgq|gfG.
_|xgqgg!
x'((gqgg
x(((gqgg
x@@@@gqgg)
!*Xgqgg!
Xgqgg	??
X.gqgg0G
X:gqgg7[
X]gqggA?1
XgqggaS.
xgqggcnuD
XgqggcnuD
#xgqgg]D
"xgqgge8q
XgqggeL-
x|gqggF_
XgqggF(c
Xgqgg#FL
X.gqggFT
x*gqgg@G
xgqgg'G8i
Xgqgg'G8i
Xgqggg.j
Xgqgg	"h
xgqggHsVQ
X;gqggi*
Xgqggj[4e
xgqggKSl
xgqgg(@L
xgqggLi9
xgqgg_m"
Xgqggm.#g
Xgqggm-yN
xgqggNAG
xgqggNb1
Xgqggnn]
X	gqggoS
XgqggPJns8
XgqggPR4l
Xgqggqn[t
*xgqggrt
xgqggs_A
XgqggsLQ
xgqggsx	2:r
XgqggtimZ
_XgqggU@q
xgqggV6g
x#gqggwU
?xgqggy]@
xgqggyv6
X_GQJEHQ
xgQkgfG6
XGQOXGCB
xGQPVW]Ws
xGQsCCSS9
"xgqsgfG
X[GQXYB]MC
XGQYXJDG
x]GRSsSPSSS@S
XgSCgfGs
xgScgfGXkQ
]@]XGS_DA_B
x?gSegfG
XG@SEN_DXCMS_
XgSlgfGc
)@XgSllllllllmllllOllylm3OuP
XGSLQAGQ
]XGS_@M[
X;gSngfG
]XGS[NGJ
XGSODEDGSB
XGSPKXLSG[EX
XgsygfG3
Xg]tgfG'
XgUfgfG0
xguggfGMn
xgUggfGP
[xgWagfG
XGwCG[wAP
x?gWegfG
XgWegfGdw3|gqgg
[XgWeggGXN
XGwEwAwQwXwKCw@w@wQ
XgWfgfG|-
XgWggfGn
XGw[wPwES
xGx1x;x9xEx_xSx
XGXCO@[CB
X]GXGACC
xGxGx5xGxGxGx
xGxGxGxGx
xGxGxGxGx5xGxGx
xGxGxGxGxGx
xGxGxGxVxGxGx
xGxGxVxGx
xGxGxVxGxGxGx
XG]X_HBYN
xGxIxJxIx@xxxx
X_GXLQLN
X[]GXM]YPZQ[JC_PLCM
xGx	xEx]x
xGx	xExxxx
xGx	x	xEx]x
xGxxxyx]Y]]
xGxxxzx6yWx
xGxxzxzxzxxyxlyxx
xGxxzxzxzxxyxty
xGxxzxzxzxxyxXy
[XGXYOKZ[QGLACDE
xGxyxfy.x
XGxyxry:
xGxyxRy6
xGxyxuy9
xGxYx:xGxYxGyx@yx
xGxYxXxBx
XGXYY_HYZ[E
X]gy[[[8[[[
XGYABLNMZE
]XGYB]__
XGYBMO[K
XG]YB]OA
XG_YEJXS]
XgyKgfGY
XGYMH[]XC
_XGYO]BCN
XGYOHMODOQZM[HOFPNB]K
X.gysgfG
xgyxoxox
X(;GyxQy9
xgyxzxzxzxxyx
xGyyyyy9z9yyyQ.
XGZ_EMMYLHCQ
XGZEPYXH]
XG@ZF[PH
XG_ZGMOQ
XGZ__GZCSM
X@GZ]HEEL[
XG]ZHY[A
X_GZMPOCYN]S
X@GZOFHAJ
XGZOXPYHS_XPMDA
XGZSKOFSPJQAY]
X_GZYDMS
XGZZ_ZCJ
x||||||h|.|
||||x|||H|||
:)))@X[H
Xh5gqgg8m
xH8xxx]Y]]
XHABGAXJ[P[N
XHA@DMS_EGYEBG]A@
XHAHO]CLMYZ]PPCD
[XHA_PQXXJD
XHASS@AN@ZXEK[H
XHBCGNHZEJCB_HL
XHBDBY]MSA
XHBFQFLG@ZJQQYDP
XHB[G]ZHM
XHB]HQPMM
xHBKF]egb
XHBKF]EGB
XHBKF]JDM
XHBKF]_KZ
xHBKF]QEZ
xHBkF]yzvHDZ@))
XHBLN]EB
XHBMOKCEYJPNK
XHB_N]SB[O
XHBOJP]S
X||Hb||pQ||
XHBSLJ@O[M
|X;H|Bxx]Y]]
XHBYPL]GQ
_XH]CCD_
XHC]@DHG_
XHCJY@FCDOMCD
XHCLASCCLMQJKBB
XHCLHPDKNPO_HP
X]HCXQ[CPDZLLGGJ
X[HDAJXGA
XHD]A_LZM
XHDBHYNA_MSA
xHdC[[[@[[[
X[@_HDCXS_
xhDgqggwTp
XH_[DJM]
XHDM[O@MSKJYGOLDO
]XHDNHGLOCO
XHDPJAQXQ
[[[]XHdS[[[
X!HdY[[[	
XHDYBN[ZKJ
XHDZJCOE]
XHEGZ_OKYZ
XHESSMZOZHP
X_[HEYAQ
XHEYBDC_M
XHEYZOMD
XHEZ]AOSYXH
xhf93t3H
XHFHZ@BNPDGB
XHG4pgppepq
XHGBADQAZ
XH[GDAMBE
XHgIkgfG
XhgiQgfG
XH[[GLLZYM
)XhgMegfG
x)))HGM[F@M
XH_GNHXZXONYA
XHGOAGZCM_JH
XHGONSGB
X[HG]Pr]LDtr
xhgqggj#2[
xhgqggMz
XHGZOMEPDODSPX]O
[]X]HH[AY
XHHCJEPQM[HDM
XHHDSYNP
XHHECLCEJPXLLAH
xHHHHxyxky1
XHHH_ZCKQKG
x[@HHIlxey(x
)))@X[HHJO@GM@H
@X[HHJO@GM@H
XHHKC][JBG
X_HHQ_AL
)))XH]HQHSHYH
XHH]QJGYY]_BKN
X]HHQMLXYQ
XHHSAJLS
XHHS_HZ_MZ
xHHUHHxxx]
XHHYHMQB]
XH[[J]CBLZD
XHJEYYEXHP
]XH]JHPLS
XHJLCS_JL
XHJM@Y[Z
X[HJ@]SM]XPLC@JB
]X_HJXNLJ
XHJ_[[ZB
XH]KAYOAXSPCP
X[HKBYO_
XHKGPSNL
XHK@KZQ_
XHKPKQXBGKBOD
X[HKXHGSC
XHLBE]YGYQAZY[
[XHLFQM_C
XH[[LJYCGPSPNC]AM@
]XhllllllllmllllOllylm
]Xhllllllllmlll]Y]]
XHLMPMN[
XHLONJ]D]YE
XHL_XGYSEYM[H
XHMADKDM
XHMAMQGM
XHM[]EDPE
x h)mggfw
XHMHSHKH[HEHPH@HXH@HXHYH
XHMJSQCQ_
XHM_]P@LGGK
XHMSQB[AHHBSGB
XHMYLSAX
X[_H_M_Z[X]
XHND@DG]O[C
X]HNECFQN
XHNGHDMJHNJ
XHNHNPZAY
XHNKGBLOJBJN
X[HNK_OMPDK
x)))]H[NL]
#X)]H[NL]
X)))]H[NL]
x)))]H[NL]DFML
X@]_HNLKNJ_G
X]HN_NBPSH]
XHNPXJ[CB
XHOAAMEO
XH[OAP[BGE]HMH_KSMNSPJAMYBMD[
XHOBDZJMX
x)))HO]L[Z]H[Z
XHOSJ[QL
XHO]_XQL
XHOZDHC[BBM
XHOZG[NQ
XHPBPLEP_
XH[PE[LMQ
XHPGNANJO
XHPJ[M[ZDYPGQ_
XHPKNXZAGAN
XHP]KYPZNBNHAXDYGA[GBQOHAMLX[[SD
X]HPPYGOBD_
XHQ[BBGH
xHqC]Y]]
X]HQ[DONYBZX
XH[QDOPOHGHJG
XHQELPJX
XHQJBMXQLXABJMG
XHQ][M[QA[P
x|Hqy|hpy| ry|@qy|
XHSEHXHBKC
XH@SGM]HPJH[
XHSHDXGBZBL
XHSMBLJZJFS_B]
X_HSY]ZZO
XHS[ZS]DXH]
X@HT@H@HXU
X]]Hurxyxdy]x
X]]HurxyxXy
X]]Huryxmy
x(H!uXH!u
XHVHVHVHF
@]xhWDddZWD
xHx0x7x3x
xhx8xxxxx
xHxAxAxJx
xHxAxHxLxJxOxMx
xHxAx@xHxKxJx
xHxAx-x-x
XHXBEAP[
xHxBxHxHx
XH[XCJSAB
xHxCx0xZxHxExCxZx2x
XHXCZSDZ
x())_H[XDPM@X_
xhxdy.x3xXx7x3xXx9x
XH_XGAQBS
xHxHxAxAx
xHxHxAxIx
xHxHxHxHx
xHxHxHxHxHx
xHxHxHxHxHxHxHxHxQxxx]Y]]
xHxHxHxHxHxHxHxHxTxXxHx
xHxHxHxHxHxHxHxHxxxrx
xHxHxHxHxHxHxHxHxxxxxHx
xHxHxHxHxHxHxHxIxyxfy
xHxHxHxHxHxIxKxXx(x
xHxHxHxHxyx:yHxHx*xHx
xHxHxIxJxKxVx
xHxHxIxVx
xHxHxNxLxVx
XhXhXuXlXjX
xHxHx@xAx@xxxyxly
xHxIx7xJx
XhXiXhXnXmXmX
xHxIxLxKxKxAx
xHxIxVx(x
xHxIxWxx
xHxIxxxyxx
xHxIxZxyxjy
X_HXJH[[GSNZHO
xHxJxHxAxNx
xHxJxKxyxny
xHxKxHxJxyxhx4xHx
xHxKxJxAxIxVx
xHxLxKxMxKxLxHxHxOx
xHxLxKxVx
xHxLxTxXx
xHxMxMxOxMxUx@x@xMxOxUxLx@xMxHxUxAxJxOxOxUxIxIx
xHxMxMxOxMxyxFy
xHxNxHxIx@x'x
xHxNxLxJxJxJxKx
xHxNxMxIxNxJxHx'x"x
xHxNxyxny1x
xhxNyBxWxWx
XHXOXDCO
xHxOx-x9xAx9x"xNx
_]XH[XPOQMX
XHXSD_X[MECLQA
X_]HXSEA
@[XHXSJXFY_D
[XHXS_XNS_HDKAB
XhXuXaXaX
XhXuXiXhXnXaXuX
xHxUxLxJxLxOxUxAxAx
xHxUxOxAxAx
xHxUx@xAxIx
xHx@x4xHxIx
xHx;x9x9xExExx
"((XhXXHXXXYXZX
XhXXHXXXYXZX
xhxxlxsx
xhxxUxhxx
xhxxxHxxx_x
XhXXXpXXXXXXXY[XX
xHx:x:x;x
xHx?x!x	x5x
xHxxxx]Y]]
xHxxx]Y]]J
xHxxxyxby
xHxxxyxfy;x
xHxxyxcy
xHxxyxdy
xHxxyxly
xHxxyxpy
xHxxyxuy5
xHxxyx[y
xHxxzxzxzxxyxsy
xHxxzxzxzxxyxty
XHXYHJN@YLZG_@BJ[Q
X]]Hxyxpy
XHXYZOMHXX
XHYCLJDLY
@XHYC]SF_
XH]YCXEL]Q
XHYG[FFZY[GA@LP
xHyKyJyMy
X||hY||lV||HV|| Y||
XHYPCLCM
XHYPPEDBO
XHYQEMLAX
XHYSQGESKHH
X]]Hyxay-*4BX]
X]]Hyxmy1
X]]Hyxqy
xhyxsxsx
X@Hyxuy" 6;XU
xhyxzxzx
XHYYE@JH]@FG
XHYY]LE]
XHYYXLALSH
XH[Z_B]M
XHZ[CA_KCQXSXGCFO_S
XHZDMOHAXC
XHZGAZ[XL
')))XHZJBL[
]XHZLEDBOG_
XHZMSQQCSOX_
||||x|||i|||
||||x|||I|||
?x||	i0G
Xi7]TgfG
XIAAMUJHHMX5
XIAAMUJHIJX5
xIAHAIAOAzxdy#]
XIAJVHVJVJXU
XIALVINMVLVKAXUU
x*IdD[[[
xiD@UBZB]
XIdY[[[o[[[
Xifggfw?
XIg1egfG
XIgkmgfG
xigqgg! 
X.IgqggN
XIHHHXIJOVHVHVIXFX
XIHHIZHyxdy?
XIIALzxox
XIIIVIIIVIIIVIIIzxlx]xVxRx
xIIJJAHJM@IJHNIIOOIHL@IINIIILMHJAJHNHJHAKAIILKHKIIIINKIIIIIHOLHK@IHMOJHKNAHAMMIIIOIHAMIHOMHMKIHLNLHMIxx]Y]]
XIJOVHVHVIur
XIJOVHVHVIX
XIJOVHVHVIXU
XIJOVHVHXVIXU
XIJOVIXFX
XILIAHXJHIHUIIUIKXIK
XIL@IAXJHIHUIJUIMXHA
xIllllllllmllllOllylm
XILLO@XJHI
xImdtKmXcD
xi|m k|i|n
x||||||||||IO
xi|o k|i|o
xi|o k|i|p
xi|o k|i|Xx xx
xipgppepq|
xipo kpipp
xiQ6YiHX
xiqbippoP
XIQDH[]@
XIQEHY]FY
;XIQgYkgfGb)_
XIQMLZB]FY
XIQNHEHQPZ
xiqo kqiqp
XIQZL[_L[S_L
XIQZrxXy6
xiso ksisXx
X]]IurB]
XIVHVHX*
X.IVHxxxyxsy
XIVIVIVIXU
XIVJVKX;
XIVJVOX;
XIVNVHSLLOKLIANL
XIVzxayx
xIx5x4x;x
xIxAxAxIxOxUxNx
xIxAxAxOxyxfy9x
xIxAxIxNxyx
xIxAxKxyxDy
xIxAxKxzxDx:x
xIxAx@x@xVx
xIxAx@xyx0y
xIxAxyx6y
xIxAxyxtz
xIxBxHxHx
XIXEyxqy
xIxHxAxZxBxIxKxKxHx@x@xKx@xAxJxHxMxIxTxZx
xIxHxHxyxNy
xIxHxIxHxyxPy-x
xIxHxJxHxKxHxzxdyIx
xIxHxKxIx@x
xIxHx'x2x
xIxHx@xHxBxKxJxXx:x
xIxHx@xVx
XiXhXXXzXXXLXXX]YYXXX
xIxIxAxyxJy-xMx
xIxIxAxyxNy
XIXIXFFX
xIxIxIxIxIx
xIxIxIxIxIxUxJxJxJxJxJxUxIxHxHxHxAxUxIxIxIxIxJx
xIxIxIxIxIxUxJxJxJxJxJxUxJxHxHxHxIxUxHxHxHxHxIx
xIxIxIxIxIxUxJxJxJxJxJxUxJxHxHxHxIxUxHxHxHxHxJx
xIxIxIxIxIxUxJxJxJxJxJxUxKxHxHxHxIxUxHxHxHxHxIx
xIxIxIxIxIxUxJxJxJxJxJxUxKxHxHxHxIxUxHxHxHxHxJx
xIxIxIxIxIxUxJxJxJxJxJxUxLxHxHxHxIxUxHxHxHxHxIx
xIxIxIxIxIxUxJxJxJxJxJxUxLxHxHxHxIxUxHxHxHxHxJx
xIxIxIxIxIxUxJxJxJxJxJxUxMxHxHxHxIxUxHxHxHxHxHx
xIxIxIxIxIxUxJxJxJxJxJxUxMxHxHxHxIxUxHxHxHxHxIx
xIxIxIxIxIxUxJxJxJxJxJxUxMxHxHxHxIxUxHxHxHxHxJx
xIxIxIxIxVx
xIxIxIxZxBxIxKxKxHx@x@xKx@xAxJxHxLxNxTxZx
xIxIxJxxx]Y]]
xIxIxLxyxLy
xIxIxOxLxOxKxLxOxIxIxOxLxOxKxLxOx
xIxIxOxLxOxKxLxOxyx4yNxAxAxHxAxMxJxNxAxAxHxAxMxJx1x
xIxIxyxBy
xIxIxyxZy.xKx
xIxJx6x4xIx x
xIxJxHxyx6y
xIxJxKxLxMxNx
xIxJxKxLxMxNxxxx
xIxJxKxLxVx
xIxJxKxLxyx3z
xIxJxKxVx
xIxJxKxVxVxVxyxZyWx
xIxJxKx]x
xIxJxKxxxyx
xIxJxMxKxLxMxJxKxJx
xIxJxMxKxLxMxJxKxJxxx]Y]]
xIxJxMxKxLxMxJxKxJxxx]Y]]C
xIxJxMxKxLxMxJxKxJxyxDy
xIxJxMxKxLxMxJxKxJxyxPy9x
xIxJxNxyxFy
xIxJxxxxxVx
xIxKxHxUxJx
xIxKxIxKx
xIxKxKx8x
xIxKxMx#xIxKxMxIxKx#xMxKxIx
xIxKx@xVx
xIxKx!x x2x
xIxLxLxHxBxKxJxXx:x
xIxLxNxxxx
xIxMxCxyxRx;x
xIxMxJxyxTy:x
xIxNxLxKx
xIxOx7x!x
xIxOxKxVx
xIxOxOxxx]Y]]
xIxOxOxyx2y
xIxrxny5x
xIxTxXxVx
xIxUxHx@xHxHxJx
xIxUx@xOx@xMxUxLx
xIxVxHxWx
xIxVxHxzxdy]x
xIxVxyx:y(x
xIx@x4xVx
xIx'xHx'x
xIx@xNxVx
xixxrxty*
xIxXxExXx
xIxXxExXx_xzx
xIxxxxx?x
xIxxxxxy
XIxxx]Y]]
xIxxxyxPy1x
X]Ixx]Y]]
xIx*xyxby
xIxxyxXyx
xIxxzxzxzxxyxwyqpi|
xIxyxJy]x
xIxyxky1
xIxyxpy7x
xIxyxpy:x3x0x6xyxhy
xIxyxryWx
XIxyxsy:
xIxyxTy9x
xIxyx@y9x
xIxyx yJx
XIxzxeyx
XIyx|8JU
xIyxgxgx
xIyxlyV*
xIyxOxNxkxxrxv
xiyxvxvx
xIyxzxzxzxxyx
xiyy.yziyy.yyyzIyy
||||x||J|||
[[[X[[[J[[[
XJ@@@@@|@@A@AAac
XJAA[CJH
XJABJAS[[HSEYD
X)))JADFM
XJ[AGADX
XJAGJDYQC
x)))JALJA@E
XJ_AN]QPZSPN
XJAPQ[ES[EXZ]
_XJAXHYP[NKCGMOH
XJBBAEQCO
XJ[BCOYL
XJB[DLGEOAMYHJ
XJBH[JJ[D
_XJBLAXGC[E
XJB]ONHQ
XJBPJFYK_L
XJBPJGSXBL[[N]HHYPPHE
[X]J_BP_XP
xjcBNjcBxjb
XJCGBDK[
XJCJ_AJCPZEZMNB
XJC_K_]BGHY
XJCMNEH_
XJCMQQ]G
X[JCMYFX]CSBA
XJCNYZNJY
XJCZ_N[AGCCN_Y[
XJD@[COSEQXBM
XJDEOA[GABCHY
[XJDEQK@
[[[XjdeT[[[l
XJDG]BMMDB
xJdI[[[A[[[
XJDJOAMMEX
]XJDLMOJZS
X_JD]MCZHNY
[[[]XJdN[[[
x(JDPack 1.01)
XJDXCNC__MLX
XJDZLJS]
XJ[[D]ZYA
XJEDMCEP
[XJ]E_KPZ[
X[JEMYCPX
X]JEOQOCE
XJEPMP_SCL
[XJE@PXHJNMAQ
xJE@Wx|E@WxyE@WxvE@WxsE@WxHQ
XJEXDN[EOJ
X)))JFGJLY]
X)))JFGZ]
XJFMBPADSA
XJFSOGZP
XJ@GBYQFCG
XJG_F@LB
_XJGFOH]
XJGGNJYQB
XJGJHOCXH
XJGJ]JMB
XJGJSZJSNNDA
XJ[_GLSBBO
XJGNPLYJ
xj'gqgg[
X	jgqgg5g
XJ]GS_CC
XJGSHCQODBP
xjgwcgfG9g
XJHA_MHK
x)))JHEE
xJhggfw;
xJhggfw2bE
XJHHAyxEy5
XJHHHyxay1
XJHHKXRxxR496X5
XJHHXLKO[Y@
XJHIIyxXy
xJHIJyxux
XJHIKyxuy
XJHIMrxhx#
XJHIMUHL
XJHINyxsy"
x)))JH]JA
X)))JH]JA
XJHJIxxx
XJHJJyxr
XJHKWINOAX
X_JHNZHF_O_P_
XJH_PBPSYD[BCAZJ
 (XJHyxcy(
 (XJHzxYy!
||||x|||J||| i
XJJGSYYPGG
XJJLJLHQYZ[
XJJMM[B@_PP
XJJ_NGYJY
XJJOSK]A
XJJPB]A]
XJJ_]PGJGJ]
XJ]JYPGQ
X_JK[FBL[
X)))JKHLKFFBZ
XJKLKSK_XD
XJKQJSPY
XJK[_QPS
X]JLAGAP
x)))J[LH]@_LJALZZ
x)))J[LH]L]LQ]O@EL
XjllllllllmllllOllylmd
xjllllllllmllllOllylmow
]XJLNP]XSNHO
XJLSHO[EYZFY
XJMGMN]]YY
XJMJO[CM
XJMLY_QK
XJMNZB]CN
X]JNBGXYC
[XJN]DGQNQCG
XJNDO[MAC
XJNECCBGY
XJNEMBZDXH
XJNJACCOGA
x|j(n|jHm|j
XJNLLBCAGZ[Y
XJ__]NPAXQ
XJNPGSL]]
[X]JNPX@B
[XJN]QEJ
x||||||||||JO
XJOJAH]NC
]XJOJNDO[H
XJOKYOXQ
XJOL[XAD
XJOMB[PHJ
XJOMMPGuQ_
XJOPCHS]
XJOQYBM_YZYBOXN
[XJOSPQSGBC
XJ]O[XBZNDOBP@PZ
XJ@OYMYG
XJ][PBC[E
_]XJPCHHJQF
XJPC]YEO
X_JPEBFYM
XJPEHZQZ
XJP_LEQZP
XJPP]XXSD
XJPSHMSQA]
XJP[SLAHDB
XJPSQSH]P
X[J]PX_POESC_
XJPZJ]FXZ
X]JQAEPOG
XJQANSQOE
XJQAQ]YPZ
XJ_QHCNDOZE[
X[JQ[]KPO@[KM_NCBK
XJQ]PMN_H]GJ
XJQ]_SPBAML
XJQYXXNP
xJRdV[[[B[[[q[[[_Z
XJSAFYYB
xJsg'eggGrP
XJSJL]GL
XJSLEAY]MON
XJSNB]JZS
XJ]S[QDALC
@XJ@UBFj
XJVHyx8y
XJVHyxry.
xJx1x2xAx
xJx5x4x;x
xJx6x;xLx
xJxAxLxAx
xJxBxBx9x
xJxBxHxHx
xJxExIxyx:y
XJXGLM[]Q
xJxHx9xyxjy*
xJxHxExrxXy4xKx:x
xJxHxHxMx8x
xJxHxHxVx
xJxHxHx@x'xHxIxVx*x
xJxHxIxHxWx
xJxHxIxHx'x
xJxHxIxJxVx
xJxHxIxKx8x
xJxHxIxKxUx
xJxHxIxLx
xJxHxIxLx8x
xJxHxIxMx
xJxHxIxMx8x
xJxHxIx@xVx
xJxHxJxHx8x
xJxHxNxJxNxIxNx
xJxHxUx@x
xJxHx@xAxxxzx
xJxIxHxxxx
xJxIxKxIxMxKxOxJxKxIxLxIxIx
xJxIxKxVx
xJxIxOxHxJxHxAxOxyxvy0x
xJxIxOxHxJxHxOxNxyxjy
xJxIxOxHxJxMxJxHxyxjy
xJxIxVx(x
xJxJxAxHxLx
xJxJxJxJx
xJxJxJxVx5x
xJxJxMxIxAx
xJxJxxx]Y]]
xJxJxyxpy?
xJxKxIxMx
xJxKxKxyx:y
xJxKxLxyxjy
xJxKx#xKxJxMx
xJxKx@xyx8y2x
xJxKxyxBx(x
xJxLx9x;xJxLx@xIxUxHxHxNx@xUxLxMx;x9xUx@x9xJxKxUxJxLx9xLxIxAxAxKxIxAx@xLx
xJxLxJxyx(y*xNxAx-x
xJxLx@xUxNx
xJxMxAxKxUx@xLxIxIxUxLxLx
xJxMxJxIxJxNx
xJxNxLxUxMxNxVx
xJxNyxwy
XJ_XPYCY
xJxVxHxVxMxHxOxJxO
xJxVxKxNxHx
xJx"x3xJxIxHxKxyx.y x
xJx@xAxHxVx
XJ]XXCQD
xJx@xNxAx
xJx@x@xAxMx
xJxXxExXxZx
xJx:x!x)x?x
xJxx|x|x|xxyx|y
xJxxx]Y]]
xJxxxzxXx
*@xJxxyxyxyxxyx]zH|O6
XJXY@AXBX[SXC
XJX]YGYPNABLL
xJxyxByJxJx*xJx
xJxyxHy?x
xJxyxPy9xJxJxJx
xJxyxty:x
xJxyxVy6x
XJXZAJJNYA
XJxzxpx19RV
X||||||jY||||||
XJYHK[C]@
XJYKKLQP]@
X]JY]LAHS
XJYMGXZP
XJYN@[HO
XJY[NSOBQL
XjyyFFX[
X[JYY@YZQJ
XJYZLHLM[
XJYZOPKKDMLJ
XJ[[Y]ZZGQXJA
xjZgqgg-5
XJZLHQNYXJ
XJZOJrCZHD
XJZ_[PH]
XJZPYOBZ
XJZZQGZQA
[[[X[[[K[[[
Xk3RSSUs
@xk7ccgfG
XKA_AH_L
XKADXOLK
xkaGllllllllmllllOllylm
XKAHSCBMDD
[XK]AQPCH[YAD
XkARSSUs
X_KB[AQ[LLKX
]XK]BBDM]MX
XKBMZCPGS
XKBSSXNHK__
XKC_A]JZA
X@K]CBOX@C
XKCDJZQOJNL[
XKCMLN@Y@H
]X]K]CXD_@
xKdggegfG
[XKDHPSF
XKD_PPZH
xkE@[BY(|SSWA[BWI
@XKEHNMXNXK_K
xkeOfgfG
XKEQ@B__
XKEQQCPB
xKEYx;EYx7EYx3EYx
XKFEHBCZLZPYSG
X]KFF]LFMCNA
XK[FLZNF
XKFOBMJZOYC
XKFO[CA[LLO
XK]g7bgfG
X]K@GCB_HS
_XKG[C[SBO
XKGG_BZSFY
XKGMKDAN
XKG[N[OH
XKHHHXFX6
XkHPSSQASARA
XKH[QO[PSM
XKHSHCQZ
XKHXQDCA_@G
xkH|xyxsy
XKHYAKQJLDF
X)))KHZL
xkicgfGZ
xkipgppepq
XKJ[AHGHLNAZYKLSO@JSPH
XKJJ_BSDM
XKJ_MBNCJCKMGO_[
XkjRSSUs
XKJYGPJ]
X_KKC_L_GC@
_XKKECOJH@PKGXF
X@K_KJPBOS
X[KKOSP_LZG
XK]KPGS_]_
X]KKQBQ]L@_]
XKKS_XQEB]
XKKXBJJZAQZOYPH
XK[KYYOX_JJOH@F
XKL_CN_Q[]
XKLGCYODDKK[
[X[KLJCQFGLKJ
XKLJHABB
XK[L[[K[
XKLKLMB_EBOMSBJGLY
X_KLLJYMLYX
XKllllllllmllllOllylm
xKllllllllmllllOllylm1j
xkllllllllmllllOllylmF
xKllllllllmllllOllylmom(
X_KLMYHCBM
XKLQMDK]]
XkLRSSUs
XKLZD[BO
XKMGCXBD
x]Kmggfw
XKMH[A]Z]
XKMOANLP
xKNHyxhy
XK:nJ[[[
XKNJYZZZB_XO
XknRSSBA
XKNXS[GMZSKS
XKNYPNOOSJMMQ
XKNZYNH_
x||||||||||KO
[[[XKOdB[[[
XKODOGYA
XKOHBXPBQNPBOS
XKOVMAVJNVALyxvyU
xKP[9LC9	APs
[XKP][AGLK
XK[P_JBXBASAQYYP]
XKPJYCYF_]
XKPM@@[XY
X@KP_PLXF@@
XK][PSM@SMC
XKPY_LGA@]OLJSSQYLGKAP
XKQJCNMK
XKQ__]PNYSYAF]D
XKQQJYYP[][
XKQSO]PQAS
Xk;QSSB_Fh
X[KQSXAELCQGLC
XKQY_YHMLGJA@G
Xk)RSSUs
XK]SAQ]C
XKSEJMYMDNN[COBPX
XKSP@]F]]
Xk-SSSBUD9
Xk*SSSQLg9
)XkUMllllllllmllllOllylm
XKVHQxx]Y]]u
XKVHQzxryE
XKVHxxx]Y]]
XKVKVILVJyxi
xK@VOMVK@VI@NzxXyI@@VJMMVJLIVMAxW
XkVRSSUs
xKx4x)x@xOx
xKx9xJx0xMx
xKxAx@xMxHxHx
xKxAxyx6y.x
xKxBxHxHx
X_KXD[HOAOMPC_
XKXGA]HAL
Xk]xg]kgfG
xKxHxKxAx
XkXhXkXhXaX
xKxHxyx*y
xKxIxAxXxPxKxVxIxIxQxxx
XkXiXkXhX
XKXJrxtzntXx
xKxJxBxBx*x
xKxJxBxBx.x
xKxJxBxBx;x
xKxJxIx8x
xKxJxLxVx
xKxJxMxUxIxIx
xKxJxMx#xJxKx
xKxJxMxyxdyJxKx
xKxJxQxyxby]
xKxJxUxFx
xKxJxWx7x
xKxJxWxNxLxxxxWyx|x|xsxY[9
xKxJxWx(x
xKxJx'x4x
xKxJx'x6x
xKxJx'x7x
xKxJx|xHy
xKxJx'x(x
xKxJx'x.x
xKxJx'x:x
xKxJx'x;x
XkXjXXXpXXXBXXX]YYXXX
xKxJxXxUx
xKxJxXxWx
xKxJxxxx
xKxJxXx]x
XkXjXXX|XXXNXXX]YYXXX
xKxJxxx]Y]]
xKxJxxxyxfyxx
xKxJxxxyxZx0x
xKxJxXxZx]x
XkXjXXXzXXXLXXX]YYXXX
xKxJxyx2y
xKxJxyx8y)x
xKxJxyxhyUx
xKxJxyxjx
xKxJxyxlx
xKxJxyxnx*x
xKxJxyxPxIx?xJx
xKxJxyxqyUV
xKxJxyxqyx
XKXJXyxr
xKxJxyxtx*
xKxJxyxvx
xKxJxyx*y
xKxJxZxxxx
xKxKxIxJxJxxxx
xKxKxKxKx
xKxKxyxHy?x
xKxLxJxUx.x:x
xKxLxMxEx*x
xKxLxMxLxKx
xKxLxMxLxKxMxKxLxLxKxyx
xKxLxMxLxKxMxLxKxMxLxKx
xKxLxMxLx#xKxMx
xKxLxMxyx
xKxLxNxKxLxNxKxMxNxNxMxNxKxLxMxJxKxMxJx
xKxMxKxOxLx
xKxMxKx@x
xKxMx@xUx
xKxMxyx@z
xKxNxHxxxyxlyxx
xKxNxIx@x
xKxNxMxVx
xKxnxxyxxx
xKxNxyxLy
XKXOK_]GH
]XKXOSB_
xKxOxKxLxKxNxNxNxKxNxNxLxKxNxKxMxKxNxNxMxKxOxKxMxKxNxKxKxKxOxKxMxKxNxKxIxKxOxKxNxKxNxKxIxKxOxKxKxKxOxKxLxJx
'x|k x|P
xKxQxxxx
xKxUxAxMx
xKx.x4x-x@x
xKx@xHxHxHxHyxoyKx@x
xKx)xJx6x?x6x
xKx.xJx9xAx-xSx
xKx@xKxJx
xKx#xLxxxx
xKx@xNxyxJy4x
xKxxxxiyx
xKxxxyxPy1x
xKxxxyxty
xKx@xyx6y0x
xkxxyxly;
xKxxzxzxzxxyxhy
xKxxzxzxzxxyxlyI
xKxxzxzxzxxyxwyx
XKXY]SNQ_DO_XAOK
xKxyxHyKxKx9xKxKxKx
xKxyxJy*xKxKxKx
XKXZAAXNAP[
XKYLBDQB[XD
XKYX[FQOG]A]GHD
xkyxwxwxrxx|xuyx*
XKZCHNBNX
XKZCKNAJXDSM]][]LMLAQB_ZPF
XKZDLJLC_QFH
X)))K@]ZHMD@G
XKZLACJYY_DLBJS
XKZOCYODH
_XKZQCLG[
XKZQOZSPM
XkZQSSUs
||x-||_-||L
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||L||
X|||l||||||||||||||||||||||||||
Xl@@@@@@@@
XL;:1ARs
xl6@BA@h H@@@@@
X@L@@@@@8@@E@ACac
XL|]8XT4
X|LAAAA@AAAAACE
XLABOPOXC[NCZ
XLABS@NZK@
XLAJBBQQS
XLAJGXHBN
XLAKPYAX_P@SB
XLAMM]HEGM
XLAN[SLQX_Q
XL[A]PXF]
XLASXLSJ
XLBCGOB_
XL_B_DDCEBJNM
XLBDL]BHFHNX@KXNBPKD
XLB][KCA
XLBLAJEA
X]LBPHXGD_JPYSO
XLB_PJ[G
XLBXNAJSQBL
[]XLBYPGSZB
Xlc9ggfG
]XL__CCALF
XLCGNJAJN
XLCGQPKP
XLCHLLOSZ[BNHMA
X[LC]HMXM
xLChpgppepq
XLCJQFBLL_Q
XLCNZPM_S
XL]CPH]CQ_ND
XL]CSYNJ_S]K
XLC]YPPKXBBCHFL[
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l||D|||
_X[[L@DA
__X]LDDJ
XL_DDJYN
XLDDONCEZ_
XL_DDQESJLY
X_LDGXQABDM[HX
XL[]]_]DJ
xLdJ[[[9[[[
XLDJMYMJ
XLD[MKCYL
XLDMP_OSHEH
XLDSBLZX
xLD@YB]T
xLDyyy3N
XLE]A[G]YN
XLEDP_[@EZGBPY
X_L_[EEAG
XLEEGYHA[A
XL]EG]JKF[Q[
XLEGZAAM
xlEPghQ@VP@WBVv
xlEPghWK9
XleQ]CCNCCCBACC
XLFGGLPDG
X[LFHG]GQZMC
@XLG@ABTBXBT
_XlgfG|[
Xlg)fgfGc
@XlgfGqP
XLggPgfG'
XLGGYBM@XJQCN]M_]
XLGHKELM
xlgibgfG)i9
xLgKfgfGj
XLGKP]MAADZSXCDPZQZAJ[JAYJBKCO
X)))LG][LGHD@LG]FLGE@GLH
XLGOM[QOAX
XLGPG[MCQBG]
xlgqgghD
Xlgqggqz
_X]LHCGFX
XLHDYOJ@HC
x)))L_HE
x)))LHJA
XLHLYyxny
XLHM_LXXO
XLHOEDD]A
XLHOQCMG
XLHOQJPC
XL@HPMYHP
XLHSZJBHPS
XLHXJSXXHHC[YBC[LJGQCZ
XLHX]NMLXZZZNSPE
"xliggfw
x)))LJAF
XL_JAQPD
XL[JBZK_
XLJ]GNXN]NPPN_DQYH
XL_]JKKLGQH
XLJKL_HJHBSFGPEFME]
XLJYJMPHGN_
_xL[K9	@WBWAI
@XLk@BBTBXBT
XLKC_HJNYYED
XLKCSXZNLO
XLKEZAC]ZAAJDCADDOPF]
x)))LK]G
XLKMNSBG
XLKMZJAXGELKOQNK
X_LKY[ZSL
XlL__2yF
XLLAZYC_D
XLLEDNJP
X)))L_LG]
XlLiolpr7
xLllllllllmllllOllylm
xllllllllmlllLMO8) V8
 xllllllllmllllOllylm*
'x|llllllllmllllOllylm#
*xllllllllmllllOllylm
-xllllllllmllllOllylm
.xllllllllmllllOllylm
:xllllllllmllllOllylm
x	llllllllmllllOllylm
x)llllllllmllllOllylm
x@llllllllmllllOllylm
xllllllllmllllOllylm
xllllllllmllllOllylm	
xllllllllmllllOllylm-
xllllllllmllllOllylm@
-XllllllllmllllOllylm
.X#llllllllmllllOllylm
]XllllllllmllllOllylm
_XllllllllmllllOllylm
X llllllllmllllOllylm
X(#llllllllmllllOllylm
X(llllllllmllllOllylm
X)llllllllmllllOllylm
X;llllllllmllllOllylm
X_llllllllmllllOllylm
X|llllllllmllllOllylm
XllllllllmllllOllylm
XllllllllmllllOllylm #
XllllllllmllllOllylm*
XllllllllmllllOllylm;
XllllllllmllllOllylm0
XllllllllmllllOllylm1
.xllllllllmllllOllylm1z
XllllllllmllllOllylm2@C
xllllllllmllllOllylm5
xllllllllmllllOllylmb
XllllllllmllllOllylmc
xllllllllmllllOllylmD
XllllllllmllllOllylm.d?
xllllllllmllllOllylmf
xllllllllmllllOllylmH
)xllllllllmllllOllylmK
xllllllllmllllOllylmK
xllllllllmllllOllylmm
XllllllllmllllOllylmM
xllllllllmllllOllylmOPT0
X-llllllllmllllOllylmpY7)5
	XllllllllmllllOllylmq
XllllllllmllllOllylm-q6
xllllllllmllllOllylmQT
XllllllllmllllOllylmr_
xllllllllmllllOllylmS-
xllllllllmllllOllylmt
xllllllllmllllOllylmT
XllllllllmllllOllylmt
XllllllllmllllOllylmT
xllllllllmllllOllylmu
XllllllllmllllOllylmU
xllllllllmllllOllylmv
xllllllllmllllOllylmV
	xllllllllmllllOllylmw
XllllllllmllllOllylmW
XllllllllmllllOllylm"x
x[llllllllmllllOllylmy
xllllllllmllllOllylmy
XllllllllmllllOllylmy
xllllllllmlllMMO8) V8
xllllllllmllltMO
XllllllllmlllwMO8) V.
x	llllllllmlll]Y]]
x@llllllllmlll]Y]]_
xllllllllmlll]Y]]
X;llllllllmlll]Y]]
Xllllllllmlll]Y]]
xllllllllmlll]Y]]0
X]LL_MB_
XLLM[MSD
XLLNBA]D
x)))L[LN@Z]L[
XLLQSQA]NNOB]
XLLSLXNX
XLLYMEYLHO
XLMAS[FSNYG][
XLMDHQNGQEBH
XLMGSM]H
XLM]JO__YC
XLMOJLFAJQE]MD
]XLM_O@O
XLMQYCB[[
XLNAOAG_YBJ
xLNB[Kzxn
XLN]FXJB
XLNK_AQM
XLNNGBHQCL[
X[LNQBX[PGYE_H
XLNQJNDNL
XLNSCLF[G_
XLN][XHHE
XLNZJSDE
XL[OGLDG
XLOK]BGQG
xlOllylmF
XLOL@YQ[_J
X)))_L[@OP@GN
_XLOPLQM
X_LOSLGZ
X]LOZL]H[YP[[JPD
XLOZX]HM_SGFLD
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||l||P|||
XL]PBSF_
XLPCCOYL
XLPCEQGEH
XLPDLSO_
)xlpgppepqIW
XlPllylm
X@@@@@@@@Lp@m
XLPMLSYBMS
x@@@@@@@@lpNJ
XLPPSMECG
x|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||L||p|||t
x@@@@@@@@Lp@X
XLPXCASA]SLC]
XLQCE]M_
X[LQCGPFAN[]Z_LLO
XLQCLHLGXBNGBM
XLQ_FHXKB
X_LQFZCM
XLQHMHJ@
@XLQ[KLBMSQ
X__L_QM]FPZQ]DDYC@D
XLQ_NHBABSSN
X]L]QPNC]
XLQSEDME
XLSA[_QGZC_
X[LsdaUs
XLSDMPHQKY[K
XLSHOCHP
xlSSSSSSSS
XLSTWQUQYWUW
[[[xltdW[[[1
[[[xlTdX[[[
||||x|||l|||tj
XL:@[TL:llRSSTB[ndRSST
x|lty|Dty|
XLUTPQLYW
xlUxyxsy
xlUxzxiy
xLx4xKx)xIx
xLx7x6xOx
XLXGO]SB
@X@L_XGP
] XL] XH4
xLxHxHxHxIxJxIxKxxxyxZx
xLxHxIxLxHxLxyxXyGxFxDx4x
XlXhXmXuX
xLxHx@xNxOxLxLxHxNxMx
xLxIxIxxxx
xLxIxKxKx
xLxJxMxJx
xLxJx;xNxNxNxNxNxNx
xlxkxhxaxmxoxtxwx
xLxKxMxKxLx
xLxKxMxyx
xLxKxUxMx@x
xLxMxAxHx
xLxMxHxHxVx
xLxMxLxHx
xLxMxMxUxLxNx
xLxNxyxhy6x
xLxOxNxyx0yHxLxIx
xLxOxUxLx
xlxoy !"(
XlXuXhXaX
xLxVxHxVxKxHxKxIxAxxxx
xLxVxHxVxKxHxKxIxAxxxxx;
xLxVxVxVxVxBxzxdy;x
xLx.x3x:x4xIxAx
xLx@xAxNxIx
xLx@xHxBxKxJxXx:x
xLx@xIxKxJx
xLx'xLxNxHx
xLx!xNx x
xLx@xSx x
xLx(x;x9x
xLxxxMyxqy]
xLx.x)x(xOx
xLx.x:xxxx
xLxxyxyxzxxyxk;K
xLxxzxzxyxxzx_z
xLxxzxzxzxxyxmx
xLxyxly?x-x
xLxyxtxU
XLX[Z[]PCADJ
x|L*y|8*y|
[_XLYFJOEQ
XL]YFOKA
XLYGYCXD
[X]LY[HKK[D
|xLyINAA
X[LYL[BY
XLYLX]PHE
XLYNHYJCX
XLY[OHSXNJD
XLYPSDDYP
[[XLYPXJMO[
XLYQCONYM
XLYQG_BNPXNPHDN
[X[LYQ_GNAZ
XLY[QOLJ
XLYSYLN][P
xlyxpxpxtxxyx[
xlyx|x|x
XLYZ@JDH
X]LZENP]D_SBO
XLZG]B[Z]A
XL[ZJ[QYLCH
XLZMEJXAPPZX]]JMEPP
XLZNYDEZQP
XLZNYDXEZQP
XLZQS[NP
XLZX[_[NYBKD
XLZYHNDJYDA
[[[[[[[x[[M
||||x|||M|||
x@@@@@m@@A@AAac
XMAAXS@MFQC
X_M_ADSGXP
XMAKNLCD
_XMAL[DP
XMAPDH]]O
XMAPMZMLAH
XMAQ[[XP]A
XMASAKODXYPLF
XMASMCGG
XMBAL_APOF
XMBBQFGKP
XMBFQHHM
XMBGN[NDX]GBL_EGD
XMBHNO[OZ
XMBJNKDY
XM]B_@JQMG
XMBOGJOC
XMBY[]ME
xM_CCNCCCBACC
XMCDQENH
[XMCEO[[L
XMCGCBYSE
XMCHSE_JLD
XMCKBX_Y_BAAEPE
XMCLNX]_PB[C_OH
X_M]COJNL
X[_MCPMDA_FJSZDF
XMCQPACJE
XMC@XKQH
X_MCY[PD
]]X]MDBB[]QO
XMDDJSFOCNG[
XMDD[XCJO
xmde[[[[
[[[xmde@[[[1[[[.[[[gK
XMDEAXMJH
xmdeN[[[
xmdeV[[[
xmdey[[[
XMdG[[[V[[[E[[[
x-MdI[[[
xMdI[[[E[[[b[[[
xMd[]LdY
XM_DLFLL[NK
XM_DOC_]PY
XMDSPF]LCOXX[O
XM]@DXK_[
X_MDYFNXCQGS
x)))MEE[LN
XMEEZPXJ[]C]Z_EDAZB
XMEGSLXMNQM
XM[EH]OB_JEP
XMEJSESL]D
_XM[ELPC
XMENDQAPN
XMEQAPQ]
XMESSZXNAM
X[M[EZCYH
XMGAJMJX
Xmg;BgfG
XM]GDDEH
XMGDYCXK
XM_G_]E_
?XM]ggfgfG?XM]gqgga
x!mggfw2g
Xmggfw73
x)mggfwP
X@_[M]GM
XM[GMLYADMJC
XMGNOONB
XMGQCEQDMH]
Xmgqggox
xMgqgg*Y
X]MGQNMP
XMG[QYQHPA_OD
XMG[]SAL
]XMG@XOY
XMGX]XCL
XMGZLBYHH
X_MGZO[[DGO_Q
XMGZXFH_
XMH]]AE[
XMHBELAJ
XmHdJ[[[
@XMHDXOX
XMHGMLBCMZ
#x)MH]H]PYL
x)))MH]H]PYL
X)))MH]H]PYL
XMhJ]@_@]P
XMHJQ@@AXZMNJONJD_EC_CPKK
XMH]LQPS
X_MHML]S
XM]]HMSLMB[G
XMHOEBMC
[XMHQZSN][DD
XM_HXLLYL
XMHZCSPFYBSZ
XMIXIJOVHVHVIXKK@Ayxby5
XMJB]D[X[
[_XM@J@]EYZYYQ
XMJGBX_@
XMJGLDGYG
XMJJPJPY
XMJMMZPY
XMJMZCQQ
XMJ[OJG]
]X_MJOZDDEO
XMKOMKCPSNQXMG[AY
X]MKXSO]
X[MLACQSASOY
XMLAZ[LOX
XMLBG__SQ
XMLBHQQHNPCM_L_P[
XMLDeserializationFailure
(XmlDumpObject:HashInfo)
XMlgqggKe
XMLGYJ[_
XMLHBGOPJ
X]]ML_HQCGZGD_G
XMLL@H]_BPQ
x"MllllllllmllllOllylm
*XMllllllllmllllOllylmE
Xm_llllllllmllllOllylm;V
XMLPQJZOD]XON]YH
XMLQY@YCS
XML_SXQ[EM_
XMLYYXYN[S
XMLZ_ZOAC_P
XMMAN_XJ
XMMCDHEY
[XMMEAY[
XMMJLZEGKCNJG[
XMM_]LZNZ
XMMN]_EB
XMMSCAPOHS[MN
XMMZHZCC]L]HMJ@
XMNBANAB
XMN[EXJB
XMNODMXL
_XMNPQAJ
XMNSXEXMPAB_
XMNXAGAONLG
XMN][ZQGPQ]JGQLAF
XMOCJA[JSCH
[XMOGOEDPY
XMOGXZSL@L_ASBF]O[L
XMOMFCKD@AYK
XMOODJ]D
_X_]MOOM]P
XMOZOSLEH
[XMPA]BXZF_@
XMP[CDA]DYYASJ
XMPOY@BDHQJA]@YNAAO
XMPPOPSO
XMPXSG_GZHJA
X_MP@YYAOHHQ
@XMQ_C[]
XMQJFEAH
]XM@QLSA]CSZKO
XM[QMGXS
XMQOAN[SS
XMQQ@MLN
XMQ_SXHJD
XMQYQLDCS
XMQYXJAX[D
X_MSDA]EQPC[QHM]
XMSMAMNDF
XMSSDYAD[LXJ
[XMSYP]PS@O
X@MvYL[Z@Z]LG]
xMx1x4x)x
xMx4x?xIx
XmXaXhXoXaX
xMxAxIxVx
xMxAxNxJxOx
XmXaXuXlX
XMXB[LESN]SZ
XMXBZJQGOS
XMXCSDCECH
xMxCx0xZxMxExCxZx2x
XMXE]CQZM
XMXESHJZBGYDE
XM_XHAYB
XMXHCXKM
xMxHxLxKxNxOx
xMxHxLx(x	xIx
xMxHx;xLx;xAx
xMxIxJxVx
xMxIxMxNx
xMxIxWx;x
XMXJDQBSE
xMxJxKx x
XmXjXuXkX
XmXjXuXlX
xMxJx'x*x
xMxKxJx8x
xMxKxLxMx
xMxKxNxJxHxMxMxKxNxJxHxMx
xMxKxNxJxHxMxMxyx yNxMx@xKxKxNxNxNxMx@xKxKxNxNx
xMxKxxxx
xMxLxAxHxLxNxNxyx2yKxHxLxJxAxKxNxKxHxLxJxAxKxNx4xKxHxLxJxAxKxNxKxHxLxJxAxKxNx
xMxLxKxMx
xMxLxNxLxNxKxNxKxyx
xMxLxNxMxLx
xMxLxNxMxLxNxMx
xMxLxNxNxMxOx#xNxMxyx.yOxMx
xMxLxxxyxnyI
xMxMxMxMx'x9x
xMxMxyxTy*x
XMXNQPHM
xMxNxKxMxHxNxAxKx
xMxNxMxLxLx@xOx
xMxNxxxxEyx
xMxNxyxdy
xMxOxIxKxxxzx
xMxOxIxKxxxzxx
xMxOxOxIxAxAxKxKxKx@xNx
xMxOxxxx
XMXQBZEYFACDNAFZS
XMXSC_EP
xMxUxAxLx
XmXuXaXmXkX
XmXuXiXiX
xMxUxNxKx@xJxAx
xMx:x0x.x
xMx(x9x6x5x3x
xMx@xAx@x
XMXXCYYYQ_
xMx#xIx#xMx#xJx
XMXXSBBO
xMx?x?xIx@xJxyxfy
xMx:x xJx
xMxxyxyxyxxyxPz
xMxxzxzxyxxzxPz
Xmxy@']v
xMxyxby:x
xMxyxfyWxWx@x9x9x4x
xMxyxnx1x
xMxyxpy7x
xMxyxry4
xMxyx(y]xIx]x
xm;'((]Y]]
_XMYAHNC
XMYALHPZOBYKD@
XMYB[SBH]
X[MYCODZXOYJ]_]ZZZG
X__M]YJL
_XMyllllllllmllllOllylm
XMYNGMQL
[XMYNOGH[GQXO
XMYNQ[HYO
X[M[Y[]Q
XMYQFXAN
X||mY||VY||CY||(Y||
XMYXXSBBO
xmyxzxzx|xxzx.z
XM[YYYEZ[ZGP
_]XM@Z[D
XMZDB_GX
XM]@ZDGXMAZ
XMZFCPCJJ
X[MZ[MHE
XMZ[ONBKNJ
XM]ZP_QQ
XMZYEBOBSAZMMS
XM[ZYKSDNOKHB[Y
XM_ZYYQJ[L
||||x|||N|||
[[[Xn0dH[[[
XNAOF_QJ
XNAQPZSY
xNAVMHVIxxx
XN@BDQOON
XNB[DSDZ
X]NBEK[]LYC
XNBGLBAJ@PHGEO[ZB
_XNBG[QHSQP]
xNBW(!SSW_x@
XNBXGJEDALH
XNBXS]EHL
XNCCQNS]L
X[NC_DGJ
XNCE[NDQDO[
XNCGO_BK
X]NCJXSXZE_N
XNCLNZLPSY[]QB
X]_N]CLQ
XN@CPNY]O
X[[_NCYC
XNDCMBYLHH]OCPCSPC
XNDJACDZJY
XNDJBB_XENXZS
XNDLQXNN
XNDMB_]KPKXXK]Y]PNMGEZ[N
XNDNEK]DL
XNDOCECLD
X_ND_PLP[
xNdQ[[[f
XNDQMEGXQN
XNDXOSYSJXH
XNDYDBJN]H
XNDZMD]H
X]NEAEBXNEY
XNEAGX]Q
XNEDXCXLX
XNEPPOX_
XNEPXNPDCJM
XNEYGPSS_
]_[XNEZMS
X_NFCADL
XNF[DKJPK
x)))NF]F
XNFGJX]EH
XNF]_JBJLYOJH]MOYPHBKSBN[
@XNFSDZYQA]
XNGA]JPKOPGMA_AP
XNGBNQBSPN
XNGL[[E_X
XNGLKGSCQAS
XNG]NSMKM
_XNGPPK[
X"Ngqggf
.xngqggg
XN[gqggJ
xngqggQm
xngWcgfG
xngWfgfG
xngwkgfG
X[NGZDNPG
]XNH_CQJJH
XNHDYGJPMYQLDMKQ
X_NHJELC]
XNHKBGPB]M
XNHK]_MZHM
XNH_MQHY
XNHMXBZ_
XNH@PGLNBZ
XNHXPM_]B
X_NJBB_]
_XNJCKYQFKOL
XNJ@CZDO[GCC
X?NJgfG__
XNJ__MSAAG
XNJZB[X_
XNJZOB_SOMDJEH
XNKAYFYHHSNQN
XNKDSNBNXDYJ
XNKG@MJDY_
XN_KGOCKS
XNKKMXL_
XNKOGLEXHO
XN[KOJSQN[Z
XNKYKH[[NSJ
XNKZY[_O
||||x|||nl||
XNLBMYZYGDPLPM
XNLGC_AK
XNL_GJELPG_N
X]]NLJ_YHZ
XNLJYOA[E
XNLLKyxsyU
XnllllllllmllllOllylmF
x|n(l|nHs|n
XNLP_YAYH]OZDCFH
XN[LYM[ANNXLE
XNMASABB
XNMBOE[Y
XNMCE_@ZSN
XN_MHFNG[_PMQKQYLP]
XNMND[NN
]XN[M[SO
XNN][EE_
XNNHD_HGMOOP]S[
XNNJ__[QAZZ
XNNK[AQZKGZ@@_Z
XNNLPHPXMLX
X_]N]NOE
xNN)ogfG
XNNSQF[_XZ
X@NOCLAQ]P[BCDPGO_
XNODOGNPKP]HJ
XNOJB[@J
X[NOJJZGY
XNOKOOJYX[O
_XNONMYABO_
XN_OOY[H
XN[OPK@B_J[]
XN_OXG[HHHSN
xNpD|NJG
XNPFXPS@HHA
xNpgppepqi0
XNPHN]DYOJ
XNPKA_[KBXQ
XNP[KAQSKM
]XN]PLOJAAKJ
XNPMO_MJ
XN]PMPNCC]C]CHK
XNPN_JE[BQB
XNPOZHMX
XNPQDXYSK_Z
X[N]PSPO_
XNP_XME[@[P
XNPYMYBPJ_GQ
XNQCCYONK
x)))NQCPCLANSL_]M@
XNQ[DAZPJ
XNQDXBBKZ
_XNQEZL]
XNQJZGY]D
XN]Q_KY[XP
X_N@[QMOJPN_
XNQPO_AJ
XNQXB_DQ
XNQZCKF@F
XNSAHD]N]
xnSSSSSSSSSSSSSSSS
XnSSSSSSSSSSSSSSSSB
XNSSSYAQSBDJ
XNSSX[]XQZXE[A
XNSXBH]C
XNSXN]ZM
XNSZHEDXGEE]
[[[xnUdL[[[
!'xnX:22U
xNx4x x5x
xNx5xJxHxMxxxx
xNxAxAxHxAxMxJxNxAxAxHxAxMxJx
xNxAxAxHxAxMxJxxxx
xNxAxOxHxxx]Y]]
xNxCx0xZxNxExCxZx2x
xNxHx5xyxJy.x
xNxHxHxBxKxJxXx:x
xNxHxHxHxHx
xNxHxHxHxHxIx
xNxHxKxIx@xAxNxVx
xNxIxOxJxNx
xNxIxOxKxJx
xNxIxUxAxKx
XNXJBQQD
XNXJCKCM
XN_XJS__
xNxJx2x7xKxHx
xNxJxOxJxJx
xNxJxRxfxLy
XNX_KB]_
xNxKxKxOx
xNxKxLxyx*y
XN[XLDHMFO
XNXLSDOA[
xNxLxBxBx
xNxLxCxXx
xNxLxGxEx]x
xNxLxKxJx6x
xNxLxMxNxMxLxyx
xNxLxNxAxOxJxJx
xNxLxOxMxOxLxNx
xNxLxXxPx
xNxLxxxx
xNxLxxxxxx7xxyxyxyxY[
xNxLxxx]Y]]
xNxLxyxjx
xNxLxyxjy
X]NXMPG_PN
xNxMxKxIxKxJxKxNxJx
xNxMxKxOxKxMxKxLxJx
xNxMxLxLx
xNxMxLxLxyx
xNxMxLxLxyx.yLxJxIxLxJxJxKxMxNxKxLxMx4x
xNxMxLxNx
xNxMxLxNxMxLx
xNxMxLxOx
xNxMxMx@xLxNxOxKxIx
xNxMxOxJxNxAxNxKxNxIxNx
xNxMxOxLxJxHxLxJxNxIxNx
xNxMxOx#xNxMxOxMx
xNxMxOx@xNxMxyx
xNxMxRxZxCxlxVy
xNxMx@xKxKxNxNxNxMx@xKxKxNxNx
xNxMx@xKxKxNxNxNxMx@xKxKxNxNxyx*yIxLxIxOxHxLxJxLxIxLxIxOxHxLxJxLx9xIxLxIxOxHxLxJxLxIxLxIxOxHxLxJxLxIxLxIxOxHxLxJxLxyx yIxIxOxLxOxKxLxOxIxIxOxLxOxKxLxOx.x
xNxOxMxyxvyKxLxMx1xKxLxMxyx
xNxOxMxyx*yKxLxMx1xKxLxMx
xNxOxOxJxNx
xNxOxOxMxNxAxNxJxJx
xNxOxWx@xOxNx
xNxOx@xOxNxWx@xNxOx@xOxNx
xNxOxyxZyHxOxMxNx
xNx*x4xIxKx
xNx*x6xHx
xNx@xIxKx@xyxcy9.)
xNx@xIxKx@xyxeyVG9.9
xNx@xIxKx@xyxZ
xNx:xVx?x"x
xNxXx1xUx9x
xNx	x!xLx!x
xNx"x(xMx
xnxxyxnyxx]x
xNxyxpy7x
xNxyx_yNH
XNYB[JO_[_CCMJ
]XNYCJ]DB[E
]XNY[DPZHFPCJ
XNY_OGCNOCSFCJ
XN[YO_JAJGP
XNYOQY_NXB
XNY]PEEYBBD
]X[_NYQXMXDL_
XN_YSKQM[ALFQH[BA
X@NY[SQQLQPY
XNYXPBZS]CKGDX
X]NZJJS_ZG
XNZKPK[O]YSP[]S
xNzllllllllmllllOllylmkM
XNZMSDLDM]NE
XNZ_[P[YX
XNZSDZSBNG_
XNZXPBZA
XNZYNE[X
_XN[ZZN_
||||x|||O|||
XO[8	QdxXU
X[OAD_J_DHQ
XOAG]YM]L_DH
]XO_AHOMHD
XO_AS_C[ZD
[[[#[[[XOBdK[[[
XOBEY__ZNXEEYHKPC
XoBgqggn"
XOBJNNH_EN
XOBLFN_BSFFBC
X[O]B[QAE
XO[BZMC_BG
XOCBOKOS
XOC_C@MY
XOCGBCNXHYDG
#X?ocgfG
X_OCHMMA
X[OCNGMAB[D[K
XO[@COCPG
XOCOJBKPKLFG
XOCOMAKQ[YHX
XOCPDSHL
x#Od@[[[
#xOdA[[[
XODAABACOPB
XOD_[_FA
XODMNLGKNYMQX
XODNGS@XSH
xoDpgppepq
_XODXKOCF][K
XO[_]EB[MC
XOECHSLQ
X]OEGOPE_
x)))OEHZA
XOEHZHNN_[H]
XO]EJJHHPY
XOELAM[FDE
XO[[EMBS
XOEM_[KAXSCGX@N
XOEMPPYMC
XOEO]ZX]NZZZAA
xOETgKUYTXUv
xOEyEyEyEyEyEyEyEyEyEyEyEyEyEy[j
x)))OF[DGHDL
XOFHM@MQH
XOFLJEGKXQNQBSHK
Xog1qgfG
xOg3dgfGy
XOGAKXFXN
XOGBCXQSBXZO
XOgEcgfG
xogfGEA@
X[og'fgfG
XOGGJCEB
XOGHX]MHJ_
.XogiegfG
XOGL[NNE
XO_GNB]J
XOGOQNONSY
XOG@P[[KADD_
XOGPY[MSO[
X[OGPZM_XXAB
x]Ogqgga
xoGWKllllllllmllllOllylm[
XO_HA_BNMN
X_OHCBNGBNZ
XOHCYBYX
XOH[HK][@JC]BJ@CP_K
XOHL]CNZ
XOHLGZBGB
XOHMYHM]MO[J
XOHNPQZA
XOHOYNMY
XOHP]ENY
XOHPJH]FYD_M@[
XOH]SZPD]KDO@
XOJAJG[C
XOJLQDGS
X_OJQQHG
XOJSL[_SYHJ[OOK_CO]]C
X_OJZA[SJBJ
X[OKBDPJD
XOKDZ_ZO
XOKGAN[XKEP
]XOKJBDG
XOKXCDMZH
XOLA]NQY
]X[OL[_BE
[XOLCSOB
XOLCZGLA
x)))OL[_LG]
XOllllllllmllllOllylm)
XOllllllllmllllOllylmq?
X"ollllllllmllllOllylmw
XOLLMDQEZLYKXHLK
XOLMPOGJEOS
XOLMPSNS
XOLOBBMACH
XOLOBMODEBC
XOLOGA_PN
XO[MC]NCKK]YNMOLP
XOMEGQJNP
X)))@OMFZLGMFGL
XOMGAEYJQDXM
]XOMJHLHS
XOMMOH_DZY
XOMXSYB]HPD
X[ONANSG
XON[EQYAJM
XONKKHYM_D
XONMDPANC
XONMPSLQ
XONNNDXM
XONZELDB
X]]O[OAHCGHBA]
X[OOAJBP]GZ
XOO_DHMLSMM]
]XOO[EHC]
XOO_JDLL_DB[
XOOKPCHSDL
XOOLSMNP]
XOOMP[QS
XOOMQH]S]YX
XO[OMSPL
XOO_QCYSYNN
XOOSY]PGC
XO]P]APM
XOPCA[YZ
XOPFMKHQ
Xopgppepqd
XOPK[B@FD][D
XO[POYMZS
XOPP_MPG_AHQL
XOQ_AKLHSHFOEOSGXS
[XOQAO[QN
XOQBQLKP]FP
XOQYBQXS]C@B_MXSDLSPBNPLN]@@O[BX
@XOQ_ZACC
XOQZXJBOOS
(XoredPE)
XOSGJJDP
XOSH_KYSB]
X]OSLSXJD]BBZG
XOS]MMF_
XOSY[CPP[J@LXXN
X_OSZ[XOA
[[[xOUdQ[[[
xovd][[[
xovdS[[[k[[[
XOVHHVHMMMX
xOx3x4x;x
xOx3xAxMxLxMxIx	x:x@x@x
xOxAxOxHxNxMxJx
xOxAxOxHxNxMxMx
xOxAxOxHxNxMxyx
xOxAxyxBy3x
XOX@CC[CDY
XOXCY]Q_Z
xOxHxJxIxMxAxAxMx
xOxHxNx@xOxHxyx
xOxHxVx(x
xOxHx@xAx
xOxIx6x:x
xOxIxIxHxNxKxHx@x'x5x
xOxIx@xIxNxIxxxx
xOxIxyxby"x
xOxJxKxLxVx
xOxJxRxZxCxPx0y
xOxKxKxIxKxIxKxNxJx
xOxKxKxNxKxMxKx@xJx
xOxKxMxMx
xOxKxOxLxNxOxNxIxOxLxNx
xOxKxUxAxKx
xOxKx'x'xxxx
XoXlXhXuXnXiXiXaXuXiXhXiX
xOxLxLxNxTx2x
xOxLxMxJxHx
xOxLxNxMxOxJxNx
X]OXL_Z[
xOxMx5x.x
xOxMxMxVx
xOxMxRxfxfy
xOxNxNxIxOxKxJx
xOxNxNxMxJx
xOxNx@xBxKxJxXx
xOxNx@xWxOx@x
xOxNxyx6y*x1x?x
[X_OXPAL
XO[XPJAJSN
xOxUxAxOx
XoXuXhXhX
xOxUxLxKx
XoXvXhXvXkXkXhXhXvXhX
xOxVxLx(x;x x.x
xOx:xDxHxAxKxxx]Y]]A
xOx?x x!x
xOx@xxxx
xOxxzxzxzxxyxly
xOxxzxzxzxxyxoy
xOxyxby*x
XOxyxey1
xOxyxhy7x
xOxyxmy0
xOxzxmx1
XOYAEQCP
XO@YASHY]
X__OYCJD
X_O[YMDC
XOYM_SCSP
XO]YS[FYC
XOYYCGJS
X]OYZKPHZ
XOZBBK[YZ
XOZNEPGX[JO
X]OZOC[YMCSG
_XOZPBH_PHMZ
XOZ_ZBHMSSS
X]OZ_Z[E
@@@@@@@@Xp
[[[X[[[p[[[
[[[X[[[P[[[
@@@@Xp3D
XP:47:Qyxwy;
XP(5BXZ]
xP_(8(((
xp9xwtxxxyxxxxxxxyL
Xp9yyyyyyy
XPACPJDYLO_L
XPADEML[M[
XPADO]EYPPSG
@XPAKS_HXP[
XP_A[LDK
@@@@@@@@XpAP
XPAPQNXX
XPAQDLSM
XPA[Q_QS
XPAS_Z@X
[X_PAZ]F]O
_XP]AZHJQLF
XPBA]QXLGX
X_PB_DNSMOMC_]L
XP[BJLXHZJP
XPBKOX_OODLK
XPBNC_NH
XPBPNEBCL[
XPBSYGNO]N
xPBUXUNgQEyUL
xPBVyEy[
xPBVyEyEy
XP;(-[BX]
XPBXGBQ]AFMKPEQFXHP
X]PB_XP[HJC][XKEZN
XPBY_NSN
@@@@@xp_C
XPCACJ]_G
;@@@@XpcD
@@@@XpCd
XP_C_DDSA[
XPCDOHL_S_Y
XPC_GONE
XPCH]GJQD
XPCHO_AG
XPC[OQQ_O_QA
@@@@@@@@XpcP
X]PCXOD@
XPCXQFZYBG
XPC]Z_QS]
@@@@@@@@Xp[D
@@@@Xp[D
@@@@XpD[
xPD@AB[LCl_RSSBAjVRSSBYj
@@@@@@@@XpdD
@@@@@@@@XpDd.	)P
@@@@@@@@XpDE
XPDEXBLYD
@@@@XpDg
@@@@XpDGu
xPD@HBOi
@@@@XpDJ
XPdK[[[@
@@@@XpDL
@@@@@@@@XpDM
XPDNBG]GBY
xPD@OE@EAu@FBF
@@@@@@@@XpDQV
@@@@XpDR
xPD@rE@AAw@BBB
@@@@XpDT5
xPD@XBE@YBX
@@@@XpDY5N
)[[[Xp@eA[[[([[[
Xp@eA[[[
XPEAJXS[H
@[xPE@[BVD
x||P|||e|e
XPEHCYQC
XPEHDLBG
X]P__EHGXAPMMMDM
@@@@XpeL
XPELEGNPE
XPELZ]AY
XPEPHZGHCXA_J
xPE@rZBU
[[[Xp@ez[[[
Xp@eZ[[[
@@@@Xpf[0bg@Dy
X?pF# c 
]XPFNAHD[[[HO
XPF]N]ZOM
XP_F[PMM
@@@@XpFWr
X_P@GBH]CHPS
@@@@@@@@xpGC
@@@@@XpgD
xPgdggfwFJ
XPGJODBXBSYP
#xpgppepq
'xpgppepq
)|xpgppepq]
*xpgppepq
x	pgppepq
x(pgppepq
x]pgppepq
xpgppepq
xpgppepq	
xpgppepq'
xpgppepq?
!Xpgppepq
-Xpgppepq
:Xpgppepq
@Xpgppepq
[Xpgppepq
X)pgppepq
X_pgppepq
X_pgppepq?
Xpgppepq
Xpgppepq	
Xpgppepq#
Xpgppepq'
Xpgppepq@
Xpgppepq|
Xpgppepq2
Xpgppepq3
x#pgppepq5
xpgppepq7
Xpgppepq7
Xpgppepq8
?Xpgppepqb7a
X_pgppepqbj
 xpgppepqD
xpgppepq"e
xpgppepqe
xpgppepqi
xpgppepqir
x*pgppepqK
?X pgppepqk
XpgppepqK|
Xpgppepql[
xpgppepqo.
Xpgppepqo
XpgppepqO
Xpgppepqp
@xpgppepqR
Xpgppepqt
XpgppepqU
xpgppepqUR!)
XpgppepqUU
xpgppepqW
xpgppepqZ
XpgppepqzD
"xpgppept
!xpgqggy
XPGQYAGYY
xpgu txxSKpg9Jrpg"
X[PGXDCZBX
XPGZDPSO
X_PHAQCCELDN
@@@@@@@@XpHD
XP]_HDDDLMEAB
XPHEHQ[_P]
XPHEJOCL
XPHEJQZGOSHOO]G]
XPHEMNHQPZ
X]PHHXQKN
XPHNANLP
||||x|||@|||Pi
XPIJOTHTHTIT]
XPITITIHHQX
x@@@@@@@@_p@J
XPJABMBXGZQ
]XPJAXHQHSHMEY
XPJC_[PL
@@@@XpJD
X_PJE_[[O
@@@@XpJHb
XPJHPSNFS]S
XP_JJDQBJ
XPJMHBNJY
XPJNHEPCKK
X@PJ_Q_B[MYMBAPX]Z
XPJSQLPF
X[PJXXDX]D
]XPKAO_OOMZFA[@PO
@@@@@@@@XpKD
@XPKLH]L
@@@@@@@@XpKP
XP[KYJHSCFGMF
())XPKZEPA
@@@@Xp@L
XPLASLCNX
@@@@XpLD
X]PLDOOP
@@@@@@@@XpLh
@@@@XpLh
XPL_JAA]XC
@@@@@@@@XpLL
xP?llllllllmllllOllylm
xplltat||||2
@@@@@@@@XpLN
@@@@@@@@XpLN8
XPLOOHHHHHHX
@@@@@@@@XpLP
@@@@XpLP
@@@@XpLT
!@@@@XpLU
@@@@@@@@XpLU
@@@@@@@@XpL]vLm
XPLWXYULUV
@@@@@@@@XpLWxZ
XPLXGOJY
XPLXN__HDX]_MAKQK
XPLYQ_N[BN]
XPLZCOPP][Q[_XS
XPMAOOEXG
@@@@@@@@XpMD
XPMEJQ_X
@@@@@@@@XpMEl
xP)mggfw
XPMGGQ_S_QMBG
XPMHHHHQyxMy1
X[PM_HJJN
XPMJBLOJ
_XPML[PQ
XPMM_EBQ
XPM]QQBG
X@P[MSCABAHM
XPM__YLEXJ]Y
XPMYNPKMBFO
XPMYOJAQ
XPMZSB_E
XPNBB_QFP
XPNCA]]NYYN
X[PNCEFNN
@@@@@@@@XpnD
@@@@@@@@XpND
XPNDEHQM
_XPNGH[L
@@@@@@@@XpNG_L
XPngqggH
XPNKC[_BEDOQ
@@@@XpNL
XPNLLYNC
XP]_NMQS
X_[PNNQXYHAZ
@@@@@@@@XpNP
@@@@@XpNP
XPNPNDJYYAP
XPNQNADCCCA
XPNZOCNL[
XP][OAGP]
XP]OBLSOL_H
XPOCD]GBL
@@@@XpOD
_XPOJASH
XPOKLNG]P
XP][OK]SPKSG]
XPOO_LYSQ
@@@@@@@@XpoP
@@@@Xp@oq
xpo tpXx
XPOZSXOGYOMJDK
@@@@@@@@Xp_P
@@@@@Xp@P
@@@@@Xp_P
@@@@Xp@P
XPPBFEM[ACX_J_Z
XPPCQ[M]
@@@@@@@@XppD
@@@@@XpPD
X@PP[[DYCO
XPPEDHQAQPEPPNZPJ
XPPEZOSXA_SP
xPpgppepq
XPpgppepq;
X?Ppgppepqo
XPPJSLK]]OM
XPPMQHGO]B
XPPNDEHQM
]XPPNM_HE[COACJEOXGAH
x@@@@@@@@PpNr
@@@@@XpPoq
XPPP]DZKSC]NM_
|xPPxxrxnt@
XPPYOOBX
@@@@Xp@Q:
XPQDSFBJMHBHZ
XPQGGBNZ
XPQGS_NAPM]ZNCLYLDMF
XPQM[X][SCFCHNM
XP@QNZ_J
XPQQXH_BL]GL
XPQSCOQXL
XP;QXJHJITX
@@@@@@@@XprD
@@@@@@@@XpRD
@@@@XpRH
x:PRSSSSS
XPRVRQyxuy]
@@@@@@@@XpSD
@@@@XpSD
]X[[PSKXJ
X[PSLCHNY
X__PS]NN
XP]_SNXHMZXMZ
XPSQ]NHAZ[O
XPSXSEABM
]_XPSY_[@
@@@@XptD
@@@@XpTD
@@@@Xp@U
@@@@Xpu[0bg@
@@@@XpUC
@@@@@@@@XpuD
@@@@@@@@XpvD
@@@@XpVD
@@@@@@@@XpvP
@@@@XpvP
XP_XADCLAN
XP[XBO]EA@QJN
@@@@@@@@XpxD
XPXDEDBH
X]PXDEZZ
XPXD_KPSBAZ
XPXDPBCLPDMC
XP[XGQSNGDQ
xpxHyi?DIt
xPxKxLxQxTxHxyx
@@@@@@@@XpXL
XP_XMBEGO_DPB]]PJ[HB
xpxnyRxVx
X]PXOCMNZAH
XP_XPDXO[EQJNAO_
xPxQxCxxx
xPxQxEx_x
xPxQxEx_x]x
xPxQxJx)x7x;x
xPxQxxxx
xPxQxxx]Y]]
xPxQxyxny
xpxx.())
X@PXX]GMLM
xPx]xHxJx
xPx#xHxUxAx
xpxxJxfy
xPx;xQxXx
xPxXxHxVxLxWx
xpxxyxbx
xpxxyxhy
xpxxyxky
xpxxyxlx4x
xpxxyxly
xpxxyxmyG
xpxxyxox
xpxxyxty
xpxxyxvx](
xPxxyxyxyxxyxcy
xpxxyx[z.
xpxxzxFx
xpxxzxiy
xpxxzx@y
XP[[XY]P_YDSZDQ
@@@@@@@@XpY[0bg@
@@@@@XpY[0bg@
XPYANLAJMMHPQDXPE]C__@N
@@@@@@@@XpYD
XPYEO[YLQ
Xpy]epyq9
]XPYGOAPSPB
XPYJDYHPD
XPYJJABXK
X)))]PYL
X]PYMMXE
XPYNJ_O_
X_PYPQDKL
X||pY||UY||:Y||
xpyxxx...
XPY@YQMXALELS
@@@@XpZ[0bg@
XP_ZAK[]
@@@@XpzC
@@@@@@@@XpZC
@@@@@@@@XpZD
X[[]P_[ZE
XPZKDXLZY@_S[JDGBGS
@@@@XpZP
[[[X[[[q[[[
XQ0RV;*VT
xqAAAA@AAAAACH
X*@@@@@q@@A@AAac
X@@@@@q@@A@AAac
XQAABQA]
XQAACHHJZC@S
XQ[AGBGNCGOOX
xQAgqggE
XQA]HYLHNJOC
XQAHYQBGS
XQAJM]YPXG@[
XQALDHMEH_NSSE
XQAL_XG_
X_QA]XPLZCBAFFMQGZJ]Q
xQ@@@@B@A@2 @R
@XQBDBXsSSS
XQB[DD[Q
XQBGBDNX]]
XQBHEOACND
xQBKLYbQEyBUU
XQBLSCNJ
XQBONYHN]]_E
XQBPOEGSHM
XQBX]GGJQZC
@XQBXKsSSS
@XQBXsSQSSsSSS
XQCAYJJQ
X[QCDQ]S
XQCGPSHC
XQCLDODOAPC
XQC_[YHC
XQDAMB[H
XQDAZYKXPC]O
XQdB[[[O[[[N[[[
XQ[D]DGO@YZ
XQDE]EACZ
XQdJ[[[t[[[
XQDKKSDFD
xQdL[[[0[[[
XQDOZ_FNB_
xQdU[[[g[[[f[[[
xQDyEyDyEy
xQDyEyEy
xQDyEyPsQ
xQDyQPIsSSS
xQDyQsKPSS9
xQE9@[BWs
XQEA_EEP
XQEKLXSNBJHAYA
XQE_OAH[NQD[O
XQEPA[ZLL
XQE]SCEH
XQESQXSLC
xQEyB]AqLs
xQEyDyEy
xQEyDyEyEyEy
xQEyDyPcPS
xqEyEyEyEyEyEyEyEyEyDyEyEyEyEyEyDyEyEy
xQEyEyZBU9
xQEyLBAEs
xQEyLBAvs
xQEyLJXPLJ9
xQEyPLG9
:@[xQEyQs
:_xQEyQs
xQEyTHaWUD
xqEYxsQs[RSS9
xQEyZL]atLBA]s
XQFJL[DM[_
@X[QFKKPNH
XQ_GEQG[
xqgiggfwy
XQgIkgfG
XQGLB_P]XL
XQGMHBSPMM
XQ@G]OL@
XQGP]OGD
x	qgqggG
XQGXGCDQ
XQGZGXGXPC
XQGZJCO]EG
XQGZMASHL
XQGZOPGXOP
X_Q_GZYY
XQHEBMSSC
XQHGLNQOMCQ_
XQHHLBLJZH[]
X)))QH[NZ
XQHOJG]GJ[AH
XQHY_XPLCHSBMMMAXS
XQH_ZOAD[L
XQJBPLHGY]BC
XQJCKJBNOLN
X]QJDLJD
XQJEMPJ_JSEM]
X@Q@JFDDL[JL
X_]QJGOXL]NS
XQJJBGHPJ_
__XQJK@JPHSBDJGJF]DBPH_QSNGYP
XQJLHSLFY
XQJLKXNBXNMO@_KKDDP
XQ_JMGDP
X]Q[JQ[EB
XQJYNBOSXA
XQKAHAP@YE@[MFXZM
XQKCKZLGAQ
XQKGHXXP
_XQKHJOO]
XQKJLG[S
XQKLZZS]Y
XQK[N]ADL@
XQKP_JHYQZ[
XQKZNKHLF@M
XQLCXLX[HCOP
XQLD]ALGSS
XQLELDMCAP
XQLG]HENGLPG
x|qllllllllmllllOllylm
@XQLM_YL]CGCMB
XQLOGMYSJQ@CQHY
XQMH[YLBQ
_X[QMJZP_DLANC
X]Q]M_KG
[X[QMLXKNNDH
]XQM_MOJYFPC
X_QMOHZN
XQMSCXCDXB
XQM[YG__H
XQMZ_G[NZM]L
XQNCBG]GDD
XQNDMSHX_DMEDDQ
XQN[]FGGXAA@JM@
XQNFP_[G
XQN]GJNF
XQNH[GYG
XQNHQ_YSM
X[QN]LMC
_XQNNGEG
XQNOQXZQ][ZGMBPPSEB
XQNOS[A[
XQNPKCPAKQ@
XQ]NQOQE
XQNXJPAZ
X[Q]NY[LL
XQO_A[[NDQ
X_QOBM]_Q
XQOBS[YGSC[_]MLNBS]
XQOG_EBBSQZ
XQOK[GBSMG
XQOMNEDQNB
xqo uqXx xx
XQOZNO[Z
Xqpgppepq
X(Qpgppepq
XQPMODQX_Z
XQPMXYOC
X_Q[_PPOS
XQ[PQ]MJ]O
XQP_SM_B
XQ@PS_NX
_XQPXHXGC
XQP]XOOGL
XQQCPMOE
XQQC_]SHN
XQQJM[XL[PH
XQQKAHP_NKJQDJ
XQQKGXQHAC
]XQQKQBGHOEX
XQQLHML]HP
XQQLKGCYQ[DB
X]QQQDGO
X__QQUKQ
XQSELYGBZ
XQSEX]ESG
XQS_HYBSFBMZ
XQSLNM]PK]S
XQSSQBVsSSSQ
x]QssRSS9
xQSSS@S!M
XQSSS@S*VRSRScFQSSS@S
X_QSYGSS
]XQSZ[NZ[
XQTHsSSS
XQTLcsSSS
XQTLCsSSS
XQTLIsSSS
xQtlpgppepqb
XQTLssSSS
_xQU_Z[dqZ[fsBWD
@XQ@VP@UBV
XQ(VSSW(|SSWUBwAmM
XQw_GEwEwLwCwHH
XQ_X[BGM[S
xQxBxWxWx
xQxBxXx]x
xQxBxXx:x1x2x7xXx
XQXCLNX_OD
xQxCxxxx
xQxCxyxJy
XQXDKBHO
XQXG]NYABJNZXBANDBZXXZ__S
XQXGQ[DK
XQXQOBD[C[SHMZJZ]
xQxQxCxyx
XQXQXQLUPT
xqxuxixaxYxIx9x
xQxuxrxx
xQxVxVxVxxx]Y]]
xQxVxVxVxyxfy!x
xQxVx_xQxZxxxx
xQxVxyx x*x9x5xXx
xqx]xHxJx
xqxxJxmy
xQxXx7x*xXxPxUx
xQxXxBxXx]x
xQxXxJxHxIxKxXx4x
xQxxxsxx
xQxXxWxXx
xQxXx[xXx]x
xQxxxx*xxyxyxyxY[4
xQxxx]Y]]
xQxxx]Y]]U
xqxxyxly
xqxxyxqy
xqxxyxZyV
xqxxzxvyW
xQxxzxzxzxxyxph
xQxyxbyQx9x
xQxyxfx;x
xQxyxhy?
xQxyxhy(x
xQxyxly;x
xQxyxPx;x
xQxyxpyW
xQxyxXxD
xQxyxXyQx*x
xQxyx)zZ 5*
xQxzxPy3x
XQ]YAOHLPCMGY_LJL
XQYAYZA[
XQY_BAXZQECE[_QC
XQYDJG_GXNHD
XQYDSOJ]_
]XQYHNBOYEC
XQYNC@H]
X__QYXDYH
xQyx|x|x
XQY[YDAYS[YEH
XQYZEBLPH]Q[L
XQYZGZL_
X]Q_Z]AHHP]
XQ_ZCOCG[LYPXLMPB_C
XQZELGZPB_O@NK@EAB
XQZEXO]_BO
XQ_ZJGEG]XJ[B
_X[QZK]A
XQZN_LAP@[M
XQZSFCMYYD]
XQZSQNAG_
XQzxXx;x
x||||||||||||||||||||||||||R
X	R@@@@@
xray_block
xray: expected table argument
xray_type
X	R@@@@B@A@Np@P
X	R@@@@B@@@Np@P
X	R@@@@B@@@Np@TB
X	R@@@@B@@@Np@VM
XrCvP]XQt
xrDdL[[[
xRdP[[[y[[[x[[[
x(RdX[[[
xRg5wgfG
x'rgAggY
xrg'egfG
XrgfG]Yg
xRg]kgfG
xrgqggn9
xRgqgg;S
x'RgqogfG
xRKdG[[[
X-))rKP]Lrtt
xrllllllllmllllOllylm
x)))r[LOt
x)))R[LZYFGZL
xrpgppepq
XrpgppepqfA
XRRRRRRRRRRWxxx
XRRRyxex
XRRyxbyRRX9
XRSCe]SSS@SZi
XRSch]SSS@S
XRS#JPSSS@S
xrSjzzKAo
xRSRSS_WSSS@S
xRSSBHK9
xRSSBZAMM
xRSSD@UUXkrRSS[K
XRSsdZSSS@S
xRSSTLx9
xRSSUsScSS
XRSSZsScSS
x)))Ru[]O
X)))Ru[]O
xrx4xBxWxWx
xrx8yBxWxWxIx@xMxVxJxIxNxVxOxIxVxNxNxWx2x	x
xrxay15?B]
xrxDyWx;xXx
xrxdy@xLx
xrxFyBxWxWxIx@xMxVxJxLxNxVxJxJxHxVxNxMxWx
xRXgqggh5G:
xrxgz|yxx
xrxHzk|i|nqnfP2yxr
xrxIzlsa
xrxjyW9((W
xrxly X(
xrxLyxx7x
xrxny15?B]
xrxNyBxWxWxIx@xMxVxJxIxNxVxOxIxVxNxNxWx3x
xrxPxkmimngV
xrxPzUxhxx
xrxqx.;JH ;HH-rxsx1
xrxqy@MVIJVLKVrxry
|xrxrxfxx
xrxrxMxxrx0yMx
|xrxrxPxxrxdy1
xrxrxqXx
xRxRxRxRxRxRxRxRxRxRxRxRxRxRxyxZx?x
xrxrxUxUx
xrxRy15?B]
xrxry6K66
xrxRzpi|
xrxsxk|i|Xx
xrxtxx#;
xrxtyx9x
xrxvx5x(x3xVx
xRxVxRxx
xRxVxRxxx]x
xRxVxRxxxx
xrxVz-( Hxxxxx
xrxWzlsa
xrx(xBxWxWx
xrxxJxPy
xrxxJxYy
xrxxrxpy
xrxxrxYz
xrxxxxxx
xrxxxxx]Y]]
xrxxxyxBy7x
xrxxxyxJy;x
xrxXy15?B]
xrxxyxly
xrxxyxly?
xrxxyxqx
xrxxyxQy
xrxxyxXyD
xRxxyxyxyxxyxez
xRxxyxyxyxxyxezw
xrxxzxMyW
xrxyxjyV
xRxyxPyVx
xrx@zk|i|P
xrx	zWxWx
xrx'zWxWx
xrxZz((#)
xR[[[Z[[[
[[[X[[[s[[[
X[[[s[[@
_XS2_XS#_XS
@XS3@XS"@XS
X@S7X@S!X@S
]XS9]XS)]XS
XS@AGNGEXNZEG
XS[AJCMDJ
XSALCAPY
XSA[LM_O
XSAPKJGZA
_XSAQSKMBM[OC
XSASQEZ_MJ[QQMZS
XSAXFDSDZJ
XSAYPPBA
XSBBBEEYDEAG
XSB@FMEFOD
XSBL@XYNG
XSBMO[MJNN
_XS_BNAB
X]SBPENAD][
XSBSKNSAA
XSBX[BLS[E]
X]SBZNPQ]Y
XSCEOB[ZX
xScgqggg
XS_CMM]QSQ_C]D]KCJ
XSCQ@DDG
XSCSC_QC]M
XSCSQHHAA
XSCX]KSMQ
XSCXPJHCAG]ND
XS]D[ASYP
XS]DBSQYP
XSDDNYPO[G
#xSdH[[[
XSDHXGFX
XSDJG[LQ_OJBC
XSDLQO_ZDABYGECB
XSDQAZBMP[GYL
xSdR[[[S[[[
XSE@A_GM
XS_[EDEY
X]SEE]NDZ
XSES_P]_O@_PPE
XS]EXQYL
XSFEPYPQFPSPF
XSFGHQAKY
xSFhhhhhh
XSG[DYZGOEMZD
XSGELEXY
xsg#kgfGr
XSGSODLB
X]SGSQCA[
XSGSYEE]
X[S[GXOY
XSGXZ]NQ]
XSGYSFZGEACM
[XS@HE[CQMS
X]SHE]NLPYAJ
XSHGGMNEA_L
XSHJXPMDAQQH
XSHQZC@_]
XSHXAG[@
XSHZZ[]SGP
x-signature
X]SJBDA[H
XSJBYGLLML
XSJC[AYO[
XS[J@CFQSLJ
XSJCZGDC
XSJDAOCJQ]
XS]JDSASG
XS[JLS@N]DQSOF
XSJMHBXJGF
X@S[JNJ[YMXCNNJ[K_N
X[SJOMZ]
X[SJQ_HSD
XSJQKAN@PY
X_SJQNE[_JC
X]]SJXMN
XSJXYZNJDPXEBSMLEC
XSJYBNJC
XSKBNOK]F
XSK]DKSYD
X__SKKHMXX
XSKMKNCAZ]
[@XSKO@H
XSKOH_GGM
XSLBZQMZ
XSLGECK[BP]YH_KODSQMK
X;sllllllllmllllOllylm
X]SL]PJZHB
XS_LPNPXNAN
XSLZMDEQ_GB_SPA
XSMCDXCEJZ
]XSMELYCN
[XSMMD[[P
XSMXHL_Q
XSNES@D_JQ_
XSNJAKEGECL
XSNJ_JJZPBMSOK@_
X@S[NJL]
XS_N[_N][K
XSNQSOOJ
XSNtgpsu
_X[SNXNY
[XSNZKBP
XSNZX]BZP
XSODNYBH_
_X_SOE]B
XSOHHMMNQLP@QP_YHAJ
XSOJF]M[HG
XSOOC[[SHGLM
XSOP@KZOAS
XSOQ][XAO
XS]OXPSJOQ
XSP]CX_G
XSpgppepq
XSP_H[OP
XS_PM]JXJ
XSPN_LGCH
XS_PNQ_X]
xSPRSsc]SSS@S;x'PRSSSSS
XSPYHBJA
XS]PYZNSOEJ[KOSOENLOH@GP
XSPZQMOL[JHSZ
XSQA_]CDO
XSQA_DSNSGHMQNZ
XSQ_GA@DC
XSQGSKDY
XSQOCHQBQN
XSQSALQ[JQZ
XSQ]Y]QQC
XS_SAJCEBQQP]PHK@
XSSAL@VBT[
XSSA__MB
XSSBIL@9
XSSBSSSSSSSSSSSSSSSSSSSSSSSSSSS
XS[SCN]YMGCS
XsSCSSYE9@UTE9
XSSDBBLL
XSSGODJ_
XSSGQLXEJ_SLP
XSSHQYQ]Z
XSS@JGZG
X[SSKCEJQPQJOBNKH
XSS]NGABJO
X][SSPBN
XSS'PSSfRSS
XSSPSSSVSSS
xSS@R tSS@R tSS@R tSS@R tSSUSu
xSS@R tSSUS
XSSS@S1MRSRS
XSSS@S7LRSRS#
XSSS@SarRSRS
XSSS@SDMRSRS
XSSS@SeMRSRS
XSSS@SFLRSRS
XSSS@SJr[SRS
XSSS@SKsRSRS
XSSS@Sn!
XSSS@SnrRSRSS
_XSSS@S;NRSRS
XSSS@Sp'
XSSS@SRLRSRS
XSSS@S'rRSRS
XSSS@S:rRSRS
XSSS@S_r[SRSC
XSSS@SSsRSRS
XSSSSSSRSSSIYSSmYSS5YSSQS
XSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSAL
XSS[SSSTSSS
XSSS@SUMRSRS
XSSS@SU'-NRS
XSSsSVSSUs
[XSSsSVSSUs@RSS9
XSSS@SZ!
xSSUS8xSSUS
XSS.VSS;PSStQSS
(XSSW@FBFLCa@BFL@bXBFs
XSSWJhnZSSWIh
(XSSWQLw9
_[X[sSWSS
XsSWSSTf[sSSsSTgBZD
XSS:XSS)XSS
XSSYSSSWSSS
XSSZD[PP]_
[XSVZXSGZXSwZXSfZXS
xSWgqggs
XsWRSSYTD9
XSXEMXND
XSXGPCMJ
XSXLM]NDHB@
XSXOE[Q_CKGXPQA
XSXPLBDSNSX
xsxxlxHy]x
xSxxrxrxyxxrxfy
xsxxyxhy
xsxxyxoz:
xsxxyxqy
xSxxyxxx
xSxxyxyxyxxyxe
xSxxyxyxyxxyxfzI
xsxxzxRy
xsxxzxWy(
xSxxzxzxzxxyxtxE
XSxyxqyx
xSxyxwxVG9."(
X__SXZSD[
X||sY||5Y||
XSYCQ@XS[Z
XSYDXP_O
XSYGCHZLYGQLYSQXEPZJ
XSY]_[LBYB
xSyRyUyTy
XSYSZQ_H
xsyxyxyxyxxyx
X_SYYJHCZ
XSZCADB]
XSZCZE__ABZPN
XSZ[HQJXPGB
]XSZJLM]Z
XSZ[L_OY
XSZMBZDJ
X_SZNLZ[
XSZOSKJPDNCG[
XS]ZPQDOG_NO_]
]XSZXCHM]_GB_]P]
XSZX__DOFJ
XSZYOGOY]
x||||||||||||||||||||||||||||||||t|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[[[X[[[T[[[
X[[[[[[[)[[T
xt0dZ[[[
XT9L_9	BU
XT9@|TFh5PSSB|Bc
@XT9@UBU[
XT9@UTWg
[:XT9YUI9
xTBAAAA@AAAAAC
XTBJb_BXsSRSSlL
@[xTBN@yE@[[A|
XTBWfd]W
XTDfQEyQ(VSSW(USSWsSsSS9fQEyTs
X[TdPTxR[YWU
XTdV[[[l[[[c[[[YLAeO[[[
@XTdY[[[
XTEfQEyQ(
XTE|VTB[
[[[;[[[xTFdI[[[
XTFh(SSSULZ9
X[TfQEyBULC9
xtFyxsyw
XT[gB]WT[VzuSSBEb
XT[gB]WT[Vz*WSBEb
XT[gDTBZ
XT[gITBZ
XTg]jgfG
XtgqggCG
x.tgqgge
XtgqggKSl
Xtgqgg-Y
||||x|||'|||Tj
XTjAPSSTD
XTjCRSSTLcd[TLj
XTJfQEyQZ
X'tJhggfw
XTj@WSSTD
XTJXKXLXXMX
XTKfQEyUTD
XTKgNTIeJZJ
XTLcdbTL5f
XTLcdBTLjf_ULC	T
XTLcdVTLjeFTL2dVTL5eXTs
 xt.llllllllmllllOllylmZ
 xt.llllllllmlll]Y]]
XTLsaVTL-bWULl
XTLsd[Ts
XTLsgeBV
XTMfCAVLK
XtPpgppepq
xtQ	56.w(
XT|	q8E0XL	z
XTQ(PSSWdUs
XTQs#QSS9
XTQ(YSSW
xtRIcHPI	
XTsLRSS9b
XTsS3RSfQEyTsS3RS
XTsS3SSfPTxVsS3SSXQBNBV
XTsS3SSgQEyUM9
XTsSCSSfPTxVsSCSSXB[
XTsScSSfQEyTsS
XTsSQSS9
XTsSQSSdUs
XTsSRSSd
XTsSRSSgQEyTsSCSS
XTsS]SSf
XTsSsSSdQEyB_s
XTsSsSSgUs
XTsSSWSfQEyTsSS
XTsSWSSf
XTsSWSSfPTxVsSWSSXAJK
XTUdCTYx
XTUliPSSTBUnaPSSU9@tB[Bt
XTUl#PSSTYkrPSSUD
XTU	sSQSS
XT[	@VBVs
xtVllllllllmllllOllylm_
XTWgQEyTWV
XTWgQFyTPeQFyVU
xtXnpyxuxxx
|xtxtxRxxyxjyx] ] ] ] ] ] ] ] xyxwyx             xyxayx99999999999999999999999xyxX
xTxUxJxIx@xIxKxyx2y
'((XtXXHXXXYXZX
xtxxJxZzjL.
xTxXx4x4x;xxxx
xTxXxHxIxUx2x
xTxXxyxayH
xtxxyx0k;
xtxxyx[zU
xtxxzxay
xTxyxHyZx
x]TyTyTyTyTyTyTyTy
X|t(Y|xHZ|
xTyxvxvxsxx
XTZgEZBV
XTZg@ZBV
xT[[[Z[[[k[[[vGMf
XU7XZ]9'9
X@u@@A@AFac
x UATAUAVAWH
x UATAVH
x UATAWH
x UAUAVH
x UAVAWH
xUB47(67zx
XUdB[[[([[[
[[[x'UdK[[[
xUDyEyEyEy
xuE!mggfw
xUEyEyEyABs
xUEyEyEyB
xUEyEyEyBJM9
xUEyEyEyBV
xuEyEyEyEyEyEyEyEyEyEyEyEyEyEyEyEyEyEyEyB[EfQEyBTEfQEyBEEfQEyBYEfQEyB[s
xuEyEyEyEyEyU]Z9s
xUFyFyFyEy
xUFyFyFyUy
xU*g?agfw
xUgUtgfG]
xuHg;rgfG7(
X[[[UISdN[[[_[[[P[[[
Xu|iYu|VYu|8Yu|
XuJdZ[[[
xU[j.QSS[T
xU:Lpgppepq
Xu.!mggfw
xU@n@@A@AAacoo
xupgppepq9(
@XUsSRSSd
@XUsSWSS
@X[@UTBXT
XUTdOBVLC9
XUTeQFyQsQRSS9
XUTLQQTQW
[[[xuUdV[[[
XUUD]Y]]
x-uuencode
XUUFyxfy
XUUFyxPy
'X"U"U"U"
XUUUUUUUUUUUUUyxfx]
XUUUyxjy]
xUUyUyUyUy
X UVWATAUAVAWH
xUx0x0xUx
xUx3x:xxxx
xUx5x5xUx
xUx5x!xOx
xUx6xAx?xHx:xVx
xUx6x?xxx]Y]]
XUX(9.xyx"x1
XUXFXIEX
xUxIxKxLxIxHxIxNxNxNxAxVx
xUxIxMxrxJy(x
xUxIxMxrxNy(x
xUxIxMxxxwx]Y]]
xUxIxVxKxVxIxVx
xUxJxHxMxHxxxx
xUxJxLxHx
xUxJxVxJxVxHxVx
xUxJxzxHy
XuXkXmXiX
xUxKxNxKx@xUxLxKxJxNxUx
xUxKxUxJxyx
xUxLxIxNx
xUxLxJxJxNxUx
xUxLxNxUxIxVx
xUxLxOxOxMxUxAxNx
xUxLx@xAxHxUxAxLx
XuXlX:X:XnXuX
xUxNx@xJx@xUxLx
xUxOxMxJx
XUX@Oxxx*xxyxyxyxY[4
xuxrxBxVx
xuxrxxxxx
xUxUxUxUxUxyx3y
xUx]xHxJx
xUx]xHxLx
xUx]xHxVxJx
xUx]xHx@x
xUx]xJxVxJx
xUx@xNxHx9xUxNxHxHx9xLx@x9x:xMxAxMxMxxxx
xUx@xNx@x
XUxxxLxxyxyxyxY[
xUxxxxxx
XUxx]Y]]F
xuxxyxey]HJ
xUxxyxyxyxxyxXy
 ?xUxxyxyxyxxyxXz!
XUXxzxsy
xuxyxPy;
X)))uY[FN[HDO@ELZM@[J
xuytywyvyiy
x]UyUyUyUysV
XUYYYyxB
x)))uZAF[]KFFZ]
xVBCZdLBOBB
xVBWyZyFy
XvdAAAA@AAAAAC
?XVdS[[[3[[[
xVD@]xPE@]B]
xVD@[xPE@[B[y
xVE9yTyE9y
xVeM[[[	
xVeM[[[(
X?vgAggB
[xvgqgg 5
xvgqgge|
X@VHIVHNJJX
XVhWVViWV
X@VIVHVL@AJxxx
XvJdF[[[y[[[x[[[
XvKdO[[[
X vLllllllllmllllOllylm
XvlmrtlZ
XVNg?agfGaAF
X|vodo9ogo
X@vUURUUs
XVVVVXxzxby
XVVVxyxdy*
XVVVxzxsy
X@V@V@V@yx
XVVVyxay
XVVVyxVy
xVx4x7x?x
xVx4x7x?xXx
xVx8xyxly]x
xVx9xXx:x
xVxHxHxHx
xVxHxIxHx@xIxOxUxIxIxLx@xQxxx8xhxyx1x
xVxIxHxKxJxMxLxOxNxAx
xVxIxHx@x
xVxIxIxMx
xVxIxJxKx]x
xvxixjxuxnx
xVxIxNxHxVx
xVxIxXxUx
xVxIxyxby3x
xVxIxyxhy5x
xVxIxyxjy
xVxJxAx;x
xVxJxKxLxMxVx
xVxJxyxvy
xVxRxxxx
xVxrxyxnx
|xVxSxJxxyxpx
xVxSxyxjy
xVxTxXx4x
xVxVVx]yxHy
xVxVxBxWxWxVxVx
xVxVxBxXxx
xVxVxBxxx]Y]]
xVxVxBxyxazWx
xVxVxVxuxrx5x
xVxVxVxVxVxBxzxdyKx
xVxVxVxVxVxLx
xVxVxVxVxVxrxxxyx
xVxVxVxx
xVxVxVx:xUx
xVxVxVx)x-x
xVxVxVxXx
xVxVxVxxxx
xVxVxVxXx;x
xVxVxVxxxxx9x
xVxVxVxxx]Y]]
xVxVxVxyx
xVxVxVxyxByWx
xVxVxVxyxDy;x
xVxVxVxyxfy5x
xVxVxVxyxhx
xVxVxVxyxhy9
xVxVxVxyxhyWx
xVxVxVxyxRx
xVxVxVxyxXy;x
xVxVxVxyx[y;:
xVxVxVxyx:y6x
xVxVxVxzx2xZx]x
xVxVxVxzxDxZx]x
xVxVxVxzxJx4x
xVxVxxxx
xVxVxxxxx|x]Y]]
XvX;X7X5XXXVXXXXXXXY[iXXXzXXXHXXX]YXX
xVx]xHxJx
xVx]xHxKx
xVx]xHxLx
xVx]xIxJxKx
xVxxlxlxzxxrxoy1
xVx?x-x1xVx(x
xVx(x;x3x
xVx;x*x5xVx
xVxxxGx	xExxx
xVxXxNxLxXx;x
xVxxxrx8x9x
xVx	x	xVx
xVxxxx2zx
xVx x xXx
xVxXxXx9x
xVxxxxxx
xVxXxXx-x
xVxXxXx;x
xVxxxxx]Y]]
xVxxx]Y]]
xVxxx]Y]]MTY
xVxxxyx_
xVxxxyxbx]x
xVxxxyxby
xVxxxyxfx
xVxxxyxlyU
xVxxxyxnyUU
xVxxxyxRy
xvxxyxDy
xVxxzxzxzxxyxuy
xVxyx0y@x
xVxyx4xxx]Y]]
xVxyxfy9x
xVxyxJy7x
xVxyxlyVx
xVxyxnx4
xVxyxNy3x
xVxyxny"x
xVxyxPy1x5x?x'xNxIx@xLxNx'xKxMxAxOxIx@xVx
xVxyxshK
xVxyxty-
xVxyxvy(
xVxyxwy;
xVxyxXy;x
xVxyx]z;x
XvXYYXXXXX]JXXXXX@X
XvXYZXXXXX]xXXXxZXXXX@X
xVxzxJy1x
xVxzxwyv
xVxzx(x-x
xVxzx:x-x
xVxzx@xZx]x
xVxzx*yWx
X||||||vY||||||||||||||
X||vY||gY||QY||6Y|| Y||
XVYVEaPUxREYUBVaVBVD
xVyxuxuxpxxyxYy
xvyx|x|x
xVyxzxzxpxxyxiy
X(;VzxRy
[[[x[[[w[[[
XW5XFFX]
XW9*?BZ]
xwAAA@A.!B
x@@@@@w@@A@AAac
X@@@@@w@@A@AAac
xWB[@DBZs3QSSeQEyAxs3QSSBJ(
xWBT@qBTs
xWBZ@vBZs
xWdU[[[O[[[N[[[Q6GfH[[[
xWDyDyEyEy
xWDyDyEyEyEyPs
xWDyEyDy
xWDyEyQs
XwE@@@@B@A@2 @H
xWEyDyEy
xWEyEyBVBXeQEyE@UU
xWEyEyBVEeVD@UxPE@UBU
xWEyEyDy
xWEyEyDyEy
xWEyEyDyEyEyEyEyEyEyEyEyEyEyEyEyEy
xWEyEyEUg5UTf1BT
xWEyEyK@TAeI
xWEyEyLBANs
xWEyEyQBVs
xWEyEyUI9
xWEyEyWT
xWEyEy[y
xWEyEyZEfQEyT
xWEyEyZLsfQEyBVL7	Z
XWfpgppepq
xWFyFyEyPcPS
xWFyUyFy
XWg7fgfG3#n6gqgg
XwGOw_wQSHAwM@
]XWgqggN
XwGZALEE
XWhegfGw
xWhngfGl
xWI96tRI
X_wKEwZL
XWkgfG3|
[[[xWLdB[[[e[[[d[[[*
xWllllllllmllllOllylm
xw)Lpgppepqb
XWLUUPVLU
@[xWLy@[TB[
XwNXwZw[
XwO]wCHBw[QwPw@
-(XW:pgppepq"
XWsRRSS9
xWTUdCQs
xwtxswt@B@A@B
xWUPdPE9yVUW
xWUyUyFy
xWUZdQEyUM
xWx0x(x?x
xWx1x(xWx5x9x;xXx
xWx4x7x?x1x6xyxUx
xWx6x4xWx
xWx7x*xLxMxNxOx@xAxAxNxMxLxKxNxOx@xAxHxHxHxHxHxOxNxHx'x4x
xWxAxAxJxLxOxHxOxHxJxJx@xNxLxMxHx@xLxHxWxAxAxKxOxIxIxAxIxKx@xHxJxLxIxJxIx@xJxWx"x
xWxAxAxOxNxJxJxAxKxHxHxKxLxAxIxOxLxHx@xWxIxHxHxMxMxNxKxHxMxMxAxMxIx@xMxMxNxOxNxWx x
xWxAxHxHxWxIxHxHxIxHxHxLxMxVx
xWxAxHxOxJxMxLxLxAxNxLxIxIxAxKx@x@xJxAxWxyx
xWxAxIxAxKxKxKxIxKxIxAxHxIx@x@xJxLxHxNxWxAxKxJxKxAxAxNx@xMxHxMxOxHxHxKxMxLxHxWx*x
xWxAxIxIxKxMxOx@x@xMxHxOxNx@xOxKxJxAxNxWxAxIxIxNxOxOx@xOxJxLxLxJxKxIx@x@x@x@xWx
xWxAxIxKxMx@xLxJxIxNx@xJxMxHxJx@xNxIxJxWxAxLxJxOx@x@xJx@xOxKxJxJxMxJxMxOxJxNxWx"x
xWxAxIxKxMx@xLxJxIxNx@xJxMxHxJx@xNxIxJxWxAxLxKxHxAxKxKxJxOxOxIxIxHxOxJxJxOxNxWx:x
xWxAxIxKxMx@xLxJxIxNx@xJxMxHxJx@xNxIxJxWxAxLxMx@xJxMxAxMxNxLxIxMx@xKxJxHxAxLxWx.x
xWxAxIxNxIxKxOxLxIxHxKxHxJxJxIxHxHx@xHxWxyx8x
xWxAxIx@xMxLxKxIxAxNxKxHxKxJxNxIxOxHxAxWxyx
xWxAxJxHxLxIxHxLxJxIxKxJxJxOxKxMxOxHxAxWxyx
xWxAxJxKxAxIxMxAx@xHxAxHxNx@xLxLxJxHxLxWxyx
xWxAxJxLxHx@xOxKxKxNxNxHx@x@x@xJxNx@xAxWxyx
xWxAxKxHxAxNxHx@xKxMxOxIxOxOxAxIx@xIxNxWxAxKxIxNxNxIxAxLxMx@xKxIxHxKxAxHxLxOxWxMxVx
xWxAxKxKxAxKxKxLxOxIxHxAxMxOxKx@xKxAxAxWxAxKxMxLxLxMxKxKxNxKx@xHxMxLxJxAxAxNxWx9x
xWxAxKxKxAxKxKxLxOxIxHxAxMxOxKx@xKxAxAxWxAxLxIxKxLxLxLxMxJxKxIxHxNxHxAxAxMxHxWx;x
xWxAxKxKxAxKxKxLxOxIxHxAxMxOxKx@xKxAxAxWxAxLxKxHxLxLxJxAxJxHxKxIxOxHxAxJxIxLxWx?x
xWxAxKxMxIxMxNxHxKx@xLxMxJxJx@xIxKx@xMxWxAxKxMx@x@xHxHxOxJxAxOx@xNxMxOxKxLxHxWx-x
xWxAxKxOxLxHxLxLxNxJxMxJxNxMxHxMxHxMxIxWxAxKx@xMxLxIxIxJxNxLxJxNxOxIxHxHxLxNxWx.x	x
xWxAxLxHxIxOxNx@xJxAxNxLx@xNxIxOxLxAxJxWxAxLxHxAxLxLxMxKxHxKxIxHxMxAxHxLxNxLxWx!x
xWxAxLxHxIxOxNx@xJxAxNxLx@xNxIxOxLxAxJxWxAxLxIxNxNxAxLxJxJxNxHxIxLxOxLxHxLx@xWx"x	x
xWxAxLx@xMxOx@x@xJxKxAx@xKxOxJxNxOxJxNxWxAxMxJx@xMxLx@xLxNxAxOxMxAxKxHxLxNx@xWx;x
xWxAxMxJx@xJxJxJx@xHxLxOxLxLxOxNxMx@xMxWxAxMxMxJxJxJxKxOxHxIxIxMx@xHxIxIxLxAxWx5x
xWxAxMxKxIx@xIxOxLx@xHxNxHxIxIxAxHxLxHxWxAxMxMxJxLxLx@xHxJxNxKxOxNxAxOxHx@xLxWx	x
xWxAxVxHxQxxxyxtyG
xWxAx@xAxMxIxKx@xKxNxLxHxAxJxOxHxJx@xMxWxAxAxIxHxJxAxIxKxAxHxKxMxJxNxKxHxJxNxWx-x
xWxAx@x@xMxLxIxJxJxIxKx@xAxNxHxJxAxIxJxWxAxAxOxLxNxHxMxJxNxJxAx@x@xLxMxJxLxLxWx
xWxAx@x@xMxOxAxAxJx@xHxLxMxAxLxHxOxNxAxWxAx@x@xMx@xIxHxOxLxOxLxKxLx@xHxKxJxHxWx
xWxAx@x@xMxOxAxAxJx@xHxLxMxAxLxHxOxNxAxWxIxHxIxKxAxHxAxJxMxNxAxAxNxNxMxIxIxHx@xWx
xWxAx@x@xMx@xAx@xJx@xOxHxLxOxJxJxAxAxOxWxAx@x@xMx@xAxAxNxLxNxNxOxJxMxNx@x@xJxWx!x
xWxAx@x@xOxJxOxNxLx@xHxIxLxLxMx@x@x@xKxWxAx@x@x@xAxAxOxLxIxOxJxMxJxMxOxOxNx@xWx?x
xWxAx@x@x@xJx@xJxLx@xOxAxHxIxLxOxIxLxLxWxAx@x@x@xMxKxMxOxLxJx@xJxAxKxNxKx@xHxWx:x
xWxCx0xZxWxExCxZx2x
xWxGxHxEx]x
xWxGx	xEx
xWxGxyx.yVx
xWxHxVxNxyxnx
xWxIxHxIxJxNxLxAxHxKxIx@xIxIxLx@xIxNxLxIxWxIxHxIxJx@xNx@x@xHxIxHx@xAxMxJxKxOxMxJxWx1x
xWxIxHxIxKxMxOxIxOxNxOxLxJxAxOxOxIxJxAx@xWxIxHxIxKxMxOxLx@xLxKxKxJxNx@xIxJxJxNxIxWx
xWxIxHxIxLxKx@xHxLxHxOxJxOxAxMx@xKxJxNxMxWxIxHxIxLxKx@xHxLx@xMxIxMxIxHxLxKxNxLxNxWx?x
xWxIxHxIxLxKx@xHxLxHxOxJxOxAxMx@xKxJxNxMxWxIxHxIxLxLx@xAxMxJxIxMxAxLx@xLxOxJxOxKxWx9x
xWxIxHxIxLxLxHxIxLxMxHxJxAxMxNx@xAxJxOxAxWxIxHxIxLxLxAxJxOxIxMxMxJxKxOx@xLxOxNxLxWx1x
xWxIxHxIxNxAxLxNxOx@xOxAxAxJxLxAxHxHxKxOxWx
xWxIxHxJxAxAx@xJx@xMxLxLxOxIxLxAxIxNx@xIxWxIxHxKxIx@xIxIxLxOxAxKxJx@xHxIx@xLxKxJxWx6x
xWxIxHxJxIxOxHx@xKxIxOxKxKxLxIx@x@xHxKxNxWx
xWxIxHxJxIxOxHx@xKxIxOxKxKxLxIx@x@xHxKxNxWxIxHxJxKxOxLxAxKxNxHxNxNxIxMxNxMxMxHxIxWx9x
xWxIxHxJxIxOxHx@xKxIxOxKxKxLxIx@x@xHxKxNxWxIxHxJxKxOxMxJxHxKxHxIxOxJxLxOxAxMxAxAxWx"x
xWxIxHxKxAxAxNxIxLxAxJxMxJxLxNxKx@xJxHx@xWxIxHxLxIxAxNxKxNxKxJxAxLxLxJxJxNxKxNxMxWx-x
xWxIxHxKxJxJxOxLxMxAxAxLxHxNxJxJxKxKxAxMxWxIxHxKxJx@xAxAxIxJxHxJx@xJxOxLxNxAxOxJxWx?x
xWxIxHxKxJxJxOxLxMxAxAxLxHxNxJxJxKxKxAxMxWxIxHxKxKxAxOx@xOxOxNxMxHxKxJxHxIx@xLxKxWx"x
xWxIxHxKxJxLxNxIxIxNxIxHxOxHx@xOxLxNxOxMxWxIxHxKxKxAxLxAxKxMxNxMxLxOxNxLxIxKxAxLxWx x
xWxIxHxKxJx@xMxMxMxJxKxLxAxAxAxOxHxNxJxKxWxIxHxKxKxKxIxJxJxIxNxMxIxNxIxMxKxLxJxMxWx-x
xWxIxHxKxKxNx@xAxIxLxOxAxMx@xAxHxJx@xHxLxWxIxHxKxKxAxIxNxIxAxNxLxMxIxMxIxNxMxIxNxWx6x
xWxIxHxKxKx@xOxMxIxNxAxLxNxHxIxIxKxLxOxIxWxIxHxKxKx@xOxOxMxIxAxAxMxJxJxMxJxAxLx@xWx5x
xWxIxHxKxLxKxOxKxAxKxAxIxIxOxLxLxMxJxIxJxWxIxHxKxMxHxAxHxHxIxHx@xIxNxKxAxOxKxAxJxWx?x
xWxIxHxKxLx@xIxJxHx@xNxJxHx@xAxMx@xMxIxOxWxIxHxKxLxAxAxHxHxHxMx@xOxHxAxJxKx@xKx@xWx1x
xWxIxHxKxNxWx
xWxIxIxAxWxIxHxHx@xHxHxHxAxVx
xWxIxIxAxWxIxHxHx@xHxHxHx@xVx
xWxIxWxxxyxtxxx
xWxIxxxWx]x
||||x|||w|||Xj
xWxJxHxHxKxHxMxHxLxXx5x
xWxJxHxHxKxWxHxMxWx
xWxJxHxHxMx
xWxJxHxIxKxWxyxlx
xWxJxHxIxLxWx
xWxJxHxIxMxWxHxIxWxJxAxWxJxHxWxOxLxJxAxOxNxIxHxLxVx
xWxJxIxWxHxMxLxLx@xOxIxAxLx
xWxJxJxAx@xIxMx@xWx
xWxJxLxVxHxyx
xWxJx;x.x)x!x4xWx-x
xWxKx7x7x
xWxKxIxVxHxyx
xWxLxVxHx
xWxLxVxHxXxPx
xWxNxHxHxQxCxzx
xWxNxIxAxyxt
xWxOxAx@xIxJxLxOxJxAxIxHxIx@xLxLxMxHxJxWxAx@x@xJxLxKxLxHxOxHxJxKxMxJxMxAxNxIxWx2x
xWxOxOxHxOxIxNxIxJxNxAx@x@xMxAxAxKxIxNxWx
xWxOxVxHxCxXx
xWxrxHy(x
xWxrxRx?x
xwxSyNA@A
xWxVxVxVxWx
xWxWxIx@xVxIx@xKxVxJxJxOxVxAxLxWx
xWxWxKxVxNxOxVxIxKxJxVxIxOxHxWx
xWxWxyxvy
XW-XW;XZ
xWx(x7xUxIxJxIxJxJxJxJx
xWx@xAxKxIxOxOxKxLxJxLxJxNxMxHxAxKxKxMxWx
xWx"xFx@x x
xWx;xHxIx
xWx@xHxIx@xLxNxNxOxAxLxKxAxHxIxNxHxIxHxWxyxRx
xWx]xHxJx
xWx@xIxKxMx
xWx@xLxLxOxJxNxMxOx@xLxIxMxNxNxMxJxKxNxWx@xLxNxJxHxAxJxLxNxJxNxLxNx@x@xNxMxHxWx
xWx@xLxLx@xOxOxLxIxHxIxKxHxLxNxHxOxHxJxWxAxKxKx@xJxIxAxLxMxMxMxLx@xIxOxHxOxLxWx?x
xWx@xLxOx@xAxHxIxJxOx@xMxHxHxLxMxLx@xKxWxyx
xWx@xMxAxIxKxHxHxHxLx@xAx@xLxLxOxKxNxHxWx@xNxMxJxIxOxNxLxIx@xNxMxAxKxNxAxHxNxWx
xWx@xMxAxIxKxHxHxHxLx@xAx@xLxLxOxKxNxHxWx@xOxIxIxLxKxNxNxKxOxMxIx@xJxKxKxOxHxWx9x
xWx@xNxNxKxMxIxAxOxLxLxNxNxAxOxOx@xKxMxWxyx
xWx@xOxMxMxJxOxOxKxNxLxNxHxAxOxJxHxOxJxWxyxPx
xWx@xOxNxOxLxJxKx@xOxAxKxJxOxLxMxOxLxIxWx@xOxNxOxLxKxLxMxNxMxKxNxMxMxAxNxMxNxWx
xWxxrxrxyxxrxZy
xWx|xTxWx
xWx]xVxJx
xWx.x(x6xXx(x
xWxXxUxXx1x
xWx!x-x'x
xWx?x@x)x
xWx@x"x(x
xWx@x@x@xLxOxKxHxMxIxHxMxNxAx@xLxHxAx@xWxyx8x
xWxxxxNyx
xWxxxxx]Y]]
xWxxx]Y]]
xWxxxyxByWx
xWxxxzx2yWx
xWxxxzx:yWx
xWxxyxyxyxxyxZy
xWxxzxzxzxxyxry
xWxyxay0
xWxyxBxWxWx-x
xWxyxdzx
xWxyxfx'x
xWxyxHy1x
xWxyxhyPx:x
xWxyxjy1x
xWxyxjy'x
xWxyxlyWx
xWxyxly?x
xWxyxozW
xWxyxqy*
xWxyxRxWxWx
xWxyxRx(x
xWxyxuyV5
xWxyx@y4x
xWxyxZyx1;
XWXYYXXXXXYXXXXZX
xWxzxJxWxWx
xWxzxPxWx
Xwy3j[;_
xWyxhxhx
"x|	#x| 
x|X||||||||||||
[[[X[[[x[[[
|||||X|x|||(|
_||]X||*X||
x!x0x6x7x
x:x0x7xNxLxVx
x"x0xHxExyxJy
x?x0xOx9x"x7x)x x
x	x0xZx:x
X*X1X5X9X*X!X
x!x1x9x*x9x9x?x9x
x-x1xIx7xVx
x;x1xIxJxMx3x7x
x:x1xLx;xNx
x x1x;xIxHxOxyxFy
x-x1xXxIxLxQxXx9x
x-x1xxxx
x:x1xyxby5
x"x1xyxNy!x
X||x2||@2||
x[x2x3x0x4x
x"x2x3x2xHxOx
x;x2x4xIx;x3x7x
x@x2x5xHx1x
x"x2x9x?xIxHxIxyx
x	x2xNx(xLx
x-x2x:x9x5xHx
xx3x3xqxxrxHy.
x.x3xIxSx:xHx
x	x3xJxJxIxyxby6x
x:x3xPxQx
x	x3x	x0x
x(x3x!x6x:x
x(x3xyxx
xx|||||4
x(x4x*xyxRy?x
x*x4xyxfy
x x5xExxxx
x.x5xHx(xKx2x
x;x5x;xOxyxpy
x.x5xXx#x
x;x6x1x;xNx
x x6xHx1x;x1x
x x6xHx4x
x?x6xMxUx*xHx
x;x6x"xAx
x.x6x;xXx
x.x6x;xXx-x
x*x6xxyxey
x*x6xxyxXyx
x x7x1xIxNx@xyx0y	x
x:x7x5x6x
x:x7x5x!x
x*x7x6xyxTy2x
x*x7x6xyx:y2x
x!x7xAxHxyxLy
x	x7xJxKxLxyxhy xHx x
x;x7xKxKxIxNxAxyxty5x
X(X7X;X0X
X(X7X;X0XjX
X(X7X;X0XjXXX
X(X7X;X0XXX
X(X7X;X0XXXnXXX
x)x7x'xLx-x
X*X7X X!X
X*X7X?X*X9X5X
X*X7X;XxX
x!x7x-xxxx
X*X7X-X(XXX
X*X7X X!XXX4XXXfXXX]YXX
X*X7X-X(XXXfXXXVXXX_YXX
X*X7X-X(XXXfXXX@XXX]YXX
X*X7X-X(XXX.XXX
X*X7X-X(XXXXXXXfXXX@XXX]YXX
	x)x9x9x
x:x9x9xExExx
x x9xExExxx]Y]]
x!x9xHyx8yx
x"x9xLx?x9x
x#x9xUx"x
x.x9x)x0x9x
x#x9x]x1xNxLx
x!x9x;x2x
x-x9x"x?x
x	x9x;x-xLx3x
x-x9x;xyx
XX_A_AB_ZELHYX
X@XAD_[YN
XXAE_DXL
XXAGBONQAQ
XX]]_AMGFDLQG
XXAN[NBDLEPZ
XX]APF[]JBCCGL
X]XAP]OHSM]AH
x!xAx0x	x
x;xAx1x0xxxx
xxaxaxpxxrxt
xxaxaxpxxwxhz
xxaxaxqxxrxjx?
xxaxaxrxxrxt
x?xAxKx1x9xExExyx
x@xAxKxLxMx
x	xAxLx4x
]XXAXQSPYO
x;xAx;xLxJxMxIxHxUxAx:xJxIxUxLxIx
XXAZ_HBZ
X_X@BBO]Z[[PXQPCPY]SZQXQL_
XXBCL_LYL]
_xX[B@D9
_xXB[EbJBUD
XX]B[G_OMH[
]XX@BP[F
@Xx]BXBCD
xxbxbxrxxrxt
x_xBxyxdy
x|xby[x'x[xAxKxNxBx4x
XXBZG[ACQ
XXBZLBZ]Z
XX_CAQXNA_
XXCDGGMX
X[XC[]DL_
XXCES[_LK
XXCGPDGJSN]
]XXCJJJSB
XX_CJSGN
XXCNBAQC
xxcxcxrxxrxt
x_xCxXx;x
XXCYDNSZ
XXCZ_CXNSQNF
XXdA[[[J[[[A[[[
XXDASCJK
XXDCPGF[B
XXdC[[[S[[[M[[[
[X[XD[NN@MZMA]
XXDP]DDK
X]XDPJSE
XXdR[[[f[[[
XXd[[[[V[[[T[[[
XXdW[[[R[[[M[[[
xxDx]Y]]
XXdY[[[J[[[N[[[
XXdY[[[P[[[
x|xdyVG9.6
xXE9yUyE9yE9yE9y
XXES]P_]OH[
xxExEx|xxlxdy:x
x)xExyxHy!x
x[xExyxPy.x
XXEYSAQYD
XXF]DQYD
xXFFX6-4xW
XXFSFYEF
X_XFSMM]@
xxfx]Y]]
xxfx]Y]]c*Y
xXFyDyW]WeQDyFW]WdR5y
XXFyxXy]x
XXGAGJZXQH
XXGA]Z[AHNK]
XX]GBCN[M
Xxg)egfG
XXGGNHKXBF@
XXGHBL[_[D
XX_GHHQJ
XXGJHAB@N
XXGLGJPS]Y
X]XGLJPCM
XXGLJQYBX
XXGMDZEZLL
XXGOAYDGQ
XXgqgglA
XXGQZBXNJB
[XXGSYK@O_M]]XLYCJODY
xxgxgxpxxrxiy-
_||xX||gX||MX||;X||"X||
xxgx]Y]]
XX_H]BSMYZDZS
]XXHCFOMMF
XXHDO[CL_AMAQQMO[AO
XXH_EGZYBD[Z]EEA
XXHHBSYQ
)))]_XXHHDHHHHL
]_XXHHDHHHHL
]_XXHHDHHHHLHH
())]_XXHHDHHHHLHHHH
]_XXHHDHHHHLHHHH
[XX[HJPSK
XXHMZHMAZ
XXHNSH]YAFHFLG[
XXHQC@MQJYPQDFH
x!xHx7x9xExExyx
x;xHxHxHxHxHxHx@xTxXxHx
X#XhXhXhXjXiXlXhXiXuXhXhXhXhXuXhXhXhXhXuX
x	xHxHxIxHxVx
x'xHxHxJx'xJxHxIxIxJxHxIxKxVx
xxhxhx|xxrx1z
xxhxhx|xxrx2z
xxhxhx|xxrxCz
xxhxhx|xxrxdx
xxhxhx|xxrxGzS
xxhxhx|xxrxNzS
xxhxhx|xxrxUz
xxhxhx|xxrxUzyh
xxhxhx|xxrxWz
xxhxhx|xxrx_x
xxhxhx|xxrx*z
x@xHxJxDy0xNxMx	x7x1xIx
x]xHxJx x]xHxJx x]xHxJx x]xHxJx x]xHxJx x]xHxJx xxx]Y]]
x@xHxMxJxJxNxyxly
x'xHxVxHxVxHxIxyxqy
xxhxvxqxY[9
x@xHxWx2x
xxhxwxpxxrxuy
Xxhxxg8P
x:xHx!x x6x
x]xHx@x xUx]xHxLx xUx]xHxLx xUx]xHxLx xUx]xHx@x x]xHxLx x
x]xHx@x xVx
x]xHx@x xxxx
x|xhyxILLVJILVJMVINAxzxvy
XXHZGHAA@S
xXI96tSI
xxipo kpipi
XxiQASARL7A
xxiqo kqiqip
xxixhxpxxrxHz
x'xIxIxKxHx@xNxOxHxHxHx'xIxOxHxNxNxOx
xxixixpxxrxr
xxIxIxsxxlxry.9;V.
x@xIxIxUxIx
x'xIxIxxxx
x'xIxJxIxAxJxHxIxKxVx
x]xIxJxKx
XXIXJXKXX
x'xIxJxMxJxVx
x	xIxJxNxyxDy0x
x*xIxLx@xyxBy
x@xIxMx'x1x
x'xIxVxHxzx@y
x-xIx x(x6x
XXIXXXXXXXXXXXXXXXXXXX
x	xIxxxyxTy1x
x"xIxyxcy]
x@xIxyxny
x'xIxzxsy(
xxIyHysxx
x|xiyxxyxzx
XX_JDJDQ]
XXJDKFOYK
X]XJE_C[DXXXQJSJL
XXjFZz]H[]hJ]@_@]P
X(;XJHHAV
@XXJJDDD[NMDKY
]X[XJJGY
xxJNHHxx]Y]]
XXJNMPNX
XXJ]NYZ_]
XXJPYZXE
XXJ[SJ@HSLNSZGLYHY
X[XJSQPJSXY
XXJSSYZYJPA
x.xJx1x(x
x"xJxAxHx
x]xJxAx]xKx
XXJXGXGMMH
x)xJxHx9x
x(xJxHxKxyxJy9x@xKxAx"xIx
x)xJxHxOxyx:y
xxJxHxsxxrxsy
x]xJxHx-x
x@xJxIxMxAx
x@xJxIxNx@xIxAx
x(xJxIxNxyxFy6x
x-xJxJxJxyxHy
x@xJxJxNxAx"x
xxjxjxpxxrxdz
xxJxJxqxxwxXy
xxjxjxrxY[9
xxjxjxsxxrxu
x]xJxJx]xNxKx]xNxIx]xNxLx]xNxIx]xOxLx]xNxIx]xLx
xxJxJx|xY[4
x"xJxJx@xyxLy?x
x'xJxKxLxMx
x'xJxKxLxMxVx
x'xJxKxLxMx(x
x.xJxKxOxyx*y0x
x!xJxLxJxyxLy5xNx
x?xJxLx@x
x)xJxNx9x x
xxjxwxsxxrxnyw
x-xJx.xHx
x]xJx@x]xOxAx]xJxAx]xKx
x]xJx@x]xOx@x]xJxAx]xKx
x.xJxxxx
XXJXXXXXXXXXXXXXXXXXXX
xxJx]Y]]
XXJYALQJ
XXKAPHKSNYX
x)))XKDHN
XX@KD[KM]
XxKD@Zx@[D
XXKF[_J@MCAAZDEKN
XXKGFMEKM
XXKLLAD__KN_FZJDXG
X@X]KNJB
x:xKx9x0x5x9x"x)x:x
X#XkXhXmXhX
x'xKxJxVx
xxkxkx|xxrxQx
xxkxkx|xxrxXxK
xxkxkx|xxrx_z-
x]xKxLx]xKxHx]xKxLx]xKx
x'xKxNxHxVx(x
x'xKxOxAx
x.xKxVx(x
x)xKx*x9x!x
x.xKx	xAx*x*x
x@xKx@xLx@xLxKxLxKxHxIxAxJx
x)xKxzxnyMx
XX]KY]DFPPLSY[]BS
X]XLAQDSH
XXLEQHJS
XXLHOLPE
XX@LHZPJXYG[
X_XLJSDHN
xX[llllllllmllllOllylm
XxllllllllmllllOllylm
X'XllllllllmllllOllylm
Xxllllllllmlll]Y]]
XXL]NGNM
XXLPNDQYN
XXLSOBDBDOMML
XXLSXA[DCXA
x:xLx9x9xExExyx
x@xLxAx x*x
xxLxLxpxxrxPyEE
xxLxLxrxxrxixV
xxlxlxrxxzx]
xxLxLxsxxrxqx]H@
xxlxlxzxxrx1z-0
xxlxlxzxxrxczI
xxlxlxzxxrxNz
xxlxlxzxxrxOz
xxlxlxzxxrxUzw
xxlxlxzxxrx"z
xxlxlxzxxrx[zw
xxlxlxzxY[4
xxlxlxzxY[9
X#XlXmXaXhX
x'xLxrxrxWx
x'xLxxxyxhyxx
xxlx]Y]]
xxlxzxzxY[.
x|xly7(K
XXLZGL]HPG
X@X@L[ZHG
xXLZzALEEhJ]@_@]P
XXM_CPYM]KC
X[X_]MJ_O
XXMJQDSXM[
X]XM[MQM
XX_MOG]D[
XXMOKGG_CNY
XXMQZ[F]
x:xMx7xLx
X#XmXiXkX
xxmxixsxxzxkx
x]xMxJx]xNxMx]xNxLx]xNxAx]xOxJx]xNxMx]xNxKx]xOxLx]xJx@x]xJxJx]xJx
x]xMxJx]xNxMx]xOxIx]xOxMxyx
x]xMxJx]xNxMx]xOxIxyx
x]xMxJx]xNxMx]xOxKx]xOxHx]xNx
x]xMxKx]xOxLx]xNxIx]xOxLx]xOxMx]xOxKx]xLxKx]xNx
xxmxlxpxxwxh
xxmxmxpxxlxvz
xxmxmxpxxrxiy
xxMxMxrxxrxsx
xxmxmxsxY[
xxmxmx|xxrxgz
xxmxmx|xxrxlx
xxmxmx|xxrxmy
xxmxmx|xxrx?z
xxmxmx|xxyxHy.x.x;x
xxmxmx|xY[
xxmxmxzxxyxdz
x xMxVx:x
x"xMx@x1x
x'xMx'xIxxx]Y]]
xxmxxxxxxxxxxx
xxmx]Y]]
x@xMxyx:y'xJx
XXMZ_SZ@Z[SOPGL
XXNBGEZA
XXNGH_PJ_
XXNJCGHD
XXNMB[B[BND_D
XXNM_HZMSN
XXNOEDE[D[PD
[XXNPYQCH
XXNQNGMD
XXNSQAZAYNQ
X(;XNVHCX1
x]xNxAx]xNxNx]xJx@x]xOxAx]xJxAx]xOx
x]xNxAx]xNxNx]xJx@x]xOx@x]xJxAx]xOx
X#XnXhXjXmXlX
x]xNxIx]xOxMx]xOxLxxx]Y]]
x'xNxLxVx
x]xNxLx]xNxMx]xKx
xxnxlx|xY[.
xxnxmxrxxrxHz
x]xNxMx]xNx
x]xNxMx]xOxAx]xJxJx]xMx
x]xNxMx]xOxNx]xNxIxyx
x]xNxMx]xOxNxyx
x"xNxMxxxxayx
xxnxnxpxxyxny5
xxnxnx|xxrx
xxnxnx|xxrx9z
xxnxnx|xxrx)z
x@xNxOx@xOxNx
x@xNxOx@xOxWxNx@xOxNx
x@xNxOx@xWxNxOx@xNxOx
x@xNxQxxxxx
x!xNx?x0x
x@xNx:xHx:x@xxxyxly
XXNZPXL_[QOH]N_M
XXOANHQHJQKHH@HCNHDHHHNPJJQJLNZJDY@DNGCKMXQ[
XX[[O[EE
X]XOG@LNB
XXOKYNNH
XXOMPLJLSSZAPMJ_
XXONAZ]M
x"xOx2xyxXxJx?x5xJxKx
x'xOxHxOxVx
x]xOxKx]xNxMx]xJx
x]xOxKx]xNxMx]xOx
x@xOxNxWx@xNxOx@x
x@xOxNxWx@xOxNx
x@xOxNxWxyxlyJxKxLxKxJxLxJxKxLxKxyxPyIx?xJx
x@xOxNx@xNxOx@xNxOx
x@xOxNx@xOxNx
x@xOxNx@xOxNx@x
x@xOxNx@xWxNxOx@xNxOx
xxoxoxhxxrxj
x]xOxOx]xNxIx]xJx
x@xOx@xOxNx@xNxOx
x"xOx*x?x2x.x
XXOYAN_Y
XXOZGJALDO
XXOZGZ___X
XXOZSDM[HGOBDHHD
XxpBZLG9
X!@@@@XpDCt
XXPDMGAGYXZH
X]XP[EQYSC
@xxPE@xWBx
xxpgppepq
;xXpgppepq
XXpgppepqe
XXPHwBMY@DHNL[LZ
XXPKPXCMZ
XXPLG[BZD
XXPLNNKSA]
XXPOMYHJ
XxPpgppepq
XXPSCYLA
xxPWxxrgdP"xxr
xxPxfxrxxrxty
xxpxpxpxxyx
xxpxpxpxxyxh
xxpxpxpxxyxhy
xxpxpxpxxyxhy4
xxpxpxpxxyxMy
xxpxpxpxxyxNx
xxpxpxpxxyxnx9
xxpxpxpxxyxpy
xxpxpxpxxyxqy
xxpxpxpxxyxqy:
xxpxpxpxxyxsy
xxpxpxpxxyxsyWW
xxpxpxpxxyxt
xxpxpxpxxyxtx
xxpxpxpxxyxty
xxpxpxpxxyxty(
xxpxpxpxxyxuy
xxpxpxpxxyxWx;
xxpxpxpxxyxZxE'
xxpxpxpxY[(
xxpxpxpxY[9
xxpxpxpxY[(-9B:
xxpxpxqxxyxg
xxpxpxqxxyxry
xxpxpxqxxyxwx
xxpxpxqxY[0
xxpxpxsxxyxby
xxpxpxtxxyx
xxPxPx|xxrxRy
xxPxPx|xxrxXx
xxpxpx|xx|x(x
xxpxpx|xxyxi
xxpxpx|xY[0
xxpxpx|xY[9
xxPxPx|xY[9
xxpx|x|xx|xVy
xxpx]Y]]
xxpx]Y]]]
xxPx]Y]]
xxPYxxrP8xxrunk|Sgqi|
XXQCQPXH
XxQEXB_D
XxQEXBUK9
@XxQEyPD
XxQEyTsS
XXQJJGDLZY
Xx]QME[D
XXQMNDHQ_XMHE]XY
xxqnqqUq-
XX_QP]CH
X[XQPNZKNN
XXQ_]QGHGG
X_XQS_G]]
x_xQxCxXx
xxqxqxpxx|xtx
xxqxqxqxxyx
xxqxqxqxxyx7y9
xxqxqxqxxyxb
xxqxqxqxxyxf
xxqxqxqxxyxi
xxqxqxqxxyxmx
xxqxqxqxxyxr
xxqxqxqxxzxhyW
xxqxqxqxY[
xxqxqxqxY[:
xxqxqxqxY[9
x_xQxQxXx
xxqxqx|xxyxvy#(
xxqxqx|xxzxly
xxqxqx|xY[9
x_xQxVxPx[x
xxqx]Y]]
XX]Q@YDCSNDJ
xxrAsxxx
]xxrnkvSYiqiv
 xxrnkvyxcyiqir]o kr
xxrPpxxr
_xxrPPxxrtpn
-xxrP.xxrPMxxrui|o
xxrtxRxx]Y]]
x-xRxAxFxIx'x
xxrxiyDP
|xxrxjyxxxxyxx
xxrxlxxx
xxrxny9x6x-x6x:x1xHxVx:x9x3xrxXyWx
xxrxpxrxxyxmy
xxrxpxsxxzx
xxRxRxpxxrx
xxRxRxpxxrxVzw
xxrxrxpxx|xrx
xxrxrxpxxyxoy;
xxrxrxpxxzxhy
xxrxrxqxxzxQyW
xxrxrxrxxyxb
xxrxrxrxxyxi
xxrxrxrxxyxp
xxrxrxrxxyxq
xxrxrxrxxyxsy
xxrxrxrxxyxvy
xxrxrxrxY[9
xxrxrxsxxyxiy
xxrxrxsxxyxqy]
xxrxrxtxxyxsy
xxrxrxtxY[4
xxrxrx|xx|x
xxrxrx|xxyx
xxrxrx|xxyx]y
xxrxrx|xY[*
xxrxrxyxxrx
xxrxrxyxxrx#z
xxrxrxyxxrx zw
xxrxrxyxY[9
xxrxrxzxxrxAy9
xxrxrxzxxrxCzw
xxrxrxzxxrx;zw
xxrxrxzxY[:5'.
xxrxrxzxY[9
xxrxvyJ5
XXrXXXpXXXBXXX]YQXXX
XXrXXXrXXXDXXX]YQXXX
XXrXXX@XXXRXXX][YXXXdXwX;XxXXXx
xxRxxxxxxx
xxrxx@yxwxwxtxxyxpy
xxrXXzxx
xxrx]Y]]
x'xRxzxhy
xxrxzx|xxyxqi
xxrxzxzxY[:
xxryx[yglD]yxxz
xxrzxpy4x
xxrz|zuxx
XXS4XXS*XXS
X[X[SA[A
X]]XSBDP
XXSCP[CO
xxskxxskyx
XXSQ_XS@_XSp_XSa_XS
XXSSB@I9
xxsxqxtxxzxqxV
xxsxrxpxxzxryW
xxsxrxpxY[0
xxsxrxuxxyxiy	
xxsxrx|xxyxq
xxsxrxzxxyx
xxsxsxrxxzxuy
xxsxsxsxxyxjy;
xxsxsxsxxyxr
xxsxsx|xxrxay
xxsxsx|xxrxvyxW
xxsxsx|xxyxix
xxsxsx|xxyxXy
xxsxsx|xxyxYz
xxsxsx|xY[4
xxsxsx|xY[9
xxsxsxzxxrx
xxsxsxzxxyxnz
xxsxsxzxxyxry
xxsxsxzxxyxuz
xxsxxlyxuxuxuxxyxjy
xxsx]Y]]
xxsx]Y]]]
XX[S_X_YEM
XX_[SYAYBM
x||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||x|tx|||
xxtxrxqxxyxby
xxtxrxtxxyxtz
xxtxrx|xxyx]z
xxtxsxtxxzx
xxtxsx|xxrxay
xxtxtxqxxrxby
xxtxtxqxY[9
xxtxtxtxxyxl
xxtxtxtxxyxoy;
xxtxtxtxxyxp
xxtxtxtxxyxsy(
xxtxtx|xxrxGyM
xxtxtx|xxrxozMV
xxtxtx|xxrxPz
xxtxtx|xxrxXzw
xxtxtx|xxyxv
xxtxtx|xxzxjy(
x_xTx_x]x
x_xTxXx_x
xxtxxzyxoxox
xxTyTy|xx
xxUdC[[[
x(xUxExzxXxEx1x
x@xUxHxKx@xKx
x]xUxIxHx
x]xUxIxMx
x]xUxJxMx
x@xUxLxNxOxIxUx@x
xxuxuxrxxrxwyVU
xxuxux|xxrx
xxuxux|xxrxez
xxuxux|xxrxRy*I
xxuxux|xxrxsy1
xxuxux|xxrxtyW
xxuxux|xxyxh
xxuxux|xxyxhyw
xxuxux|xxyxrxW
xxuxux|xxzxry4
xxUxUx|xY[9
xxuxuxzxxrxUx
x_xUx_x7x
x xUx]xHxLx xUx]xHxLx xUx]xHxJx x]xHxJx xUx]xHxJx x]xHxJx x]xHxJx x]xHxJx x]xHxJx x]xHxJx x
xxux]Y]]R
xx]VJ yxfy
xxvxvxpxx
xxvxvxpxxyxpy
xxVxVxrxxrx
xxvxvxsxxrxty?
xxvxvxuxxzxOxC
xxvxvxvxxyx
x]xVx@x x]xVx@x xyx
x]xVx@x x]xVx@x xyxFx
x_xVxyx4y_x
xxwxwxpxxrx[z
xxwxwxrxxyxjyeqeqeqeqeqeqeqeqeqyxjyLxeq5xeqeq
xxwxwxsxxrxi
xxwxwxsxxyxty;
xxwxwxwxxyxty
xxwxwx|xY[9
xxwxwxzxxrx_x
xxwx]Y]]
xxwyxlyS5
''''''''''''''''''''xxx
|xxx((((((((
x?x x0xAxHx.xzxry
xxx0xjxyx4x
xxx0xxrxrxyxxrxCz
xxx0x)xUx.x
xxx0x)xUx.xOxUx(x
xxx0x)xUx.xUx(x
xxx0x)xUx.x(x
XXX0XXXR[XX
xxx0xxyxyxyxY[
xxx0xxyxyxyxY[4
xxx0xxyxyxzxY[4
xxx0xxzxzxzxY[
xXx1x5x9x(xyxPy7x
xXx1x5xXx
xXx1x6x1xUx
xXx1x9x;xXx;x
x-x*x1x;x
xXx1x:x5xXxKxIxAxXx3x
xXx1x(xBxXx
x-x-x1x x)x)x
X;X(X1X(XXX
xXx1x(xXx9x
xXx1x(xXx;x
xXx1x*x;xXx:x
x!x-x1x@xyxJy7x
xxx1xxyxyxyxxyxDy
xxx1xxyxyxyxY[
xxx1xxyxyxyxY[4
xxx1xxyxyxzxY[
xxx1xxzxzxzxY[4
x-x*x1xyxlx
x*x.x2x;x)x
XXX2XXX]YXX
'xxx2xxyxyxyxY[4
xxx2xxyxyxyxY[4
.xxx2xxzxzxzxxyxnz
xxx2xxzxzxzxY[
xXx3x7xQxXxWxxxyxVy
x!x	x3x?x
x!x-x3x;x
xXx3x:xxxrxx
:xxx3xxyxyxyxY[
xxx3xxyxyxyxY[
xxx3xxyxyxyxY[4
xxx3xxyxyxzxY[4
xxx3xxzxzxzxY[(-9B:
X-X:X4X1X;X
xXx4x4x;x
xXx4x4x;xVxXx9x
xXx4x4x;xVxXxXx9x
xXx4x4x;xyxTy(x
xXx4x9x6xXx
x-x*x4xEx
x-x*x4xPx
x-x*x4xXx
XXX4XXX]YXX
xxx4xxyxyxyxY[4
x-x*x4xyx
x-x*x4xyxhxWx
x-x*x4xzxVy
xxx4yxexbxqxxrxAz
xXx5x9x(x1xxxx
xXx5x9x;x9x
x?x-x5x*x
'xxx5xxyxyxyxxyx8zK
-|xxx5xxyxyxyxY[1
xxx5xxyxyxyxY[4
xXx5xyxXy6x
x"x-x6x2x4xHx)x
x(x x6xHx!x x*xIx
x;x-x6xJxJx
x x	x6xOxAxxx]Y]]
xXx6x-x4x4xVxxxx
'xxx6xx|x|x|xxyxi
xxx6xxyxyxyxY[4
xxx6xxzxzxzxxyxZ
xxx6xxzxzxzxY[4
xXx7x3xXx7x
xXx7x3xXx_x]x
xXx7x3xXxYxyxly.x
xXx7x3xYxXx;x
X*X*X7X*X
xxx7xxyxyxyxxyx:z
xxx7xxyxyxyxY[.
xxx7xxyxyxyxY[4
xXx8xXx]x
XXX8XXX_YXX
xxx8xxyxyxyxY[4
xxx8xxzxzxzxY[
xxx9)9(*).0I
xXx9x1x5xTxXx!x
xXx9x3x9xXx3x
x?x;x9x7x
x	x:x9x9xExx
x"x)x9xNx
x:x?x9x;x9x9x4x
xxx9x.xIxAx'x?x
xXx9x.xXx
xXx9x.xXx;x(x4x
xxx9x.x?xxxzx
xXx9x?xx]Y]]d
xxx9xxyxyxyxY[1
xxx9xxyxyxyxY[4
xxx9xxyxyxzxY[9
xXx9xyxXy
XXXAESZNG
x"x?xAxKx
xXxAx@xTxXxIxIxLxTxXxIxIxIxTxXxIxHxHxTxXxIxJxIxTxXxIxHxLxTxXxIxHxIxTxXxIxJxIxTxXxIxIxAxTxXxIxIxIxTxXxIxIxIxTxXxIxHxHxTxXxNxLxTxXxIxJxIxTxXxAxOxTxXxIxIxHxTxXxIxHxHxTxXxIxHxIxTxXxIxJxHxTxXxLxNxTxXxAxAxTxXxIxIxIxTxXxIxHxAxXx
xxxAxxyxyxyxY[
'xxxAxxyxyxyxY[4
xxxAxxyxyxyxY[4
xXxBxPxyxTy(x
xXxBxXx9x
xXxBxXx-x
xXxBxXx]x
xXxBxxx]Y]]
XXXbXXX]YXX
XXXBXXX]YXX
xxxBxx]Y]]
xxxBxxyxyxyxY[.:1
xXxBxyxly5x
xXxBxyxny
xXxBxyxpy
xXxBxyxVy9x
x)x;xBxyxXy
xXxBxyx(y
xXxCxQxzxPx3x
xXxCxXx;x
xxxCxxyxyxyxY[4
x]x_xCxyx
xxxCyxixix
xxxcyxqxqxqxY[4
xxxcyxwxwx
xXxDxFxXx
xXxDxFxXxZx9xBxZxXx
xxxdxxx xxx
XXXdXXX]YXX
XXXDXXX]YXX
_xxxDxxyxyxyxY[4
xxxDxxyxyxyxY[4
xxxDxxyxyxyxY[9
xxxDxxzxzxzxY[
xXxDxyx@x-x
xXxExUxxx]Y]]
xXxExUxyxVxUxExXx1xUx
X] X]"XEXxx
xXxExXxHx
xXxExXxIxXx
xXxExXxJxQxXx
xXxExXxKxQxQxyxvy;
xXxExXxPx6x
xXxExxxx
xXxExXx(x
xXxExXx]x
xXxExXx_xxxx
xXxExXx]xyxFxVx
xXxExXxZx
xXxExXxZxWx
xXxExXxZx(x*x7x x!xfxFy
xXxExXxZx(x*x7x x!xPxZy
xxxExxyxyxyxY[9
xxxExxzxzxzxY[
x?x-xExyxiy*
xxxeyxmxmx
xxxfqxlxlxZxY[9
x@x(xFxFxFx
xXxFxFxXx#x
xXxFxFxXx]x
xXxFxFxyx:x
xxxFxxrxrxyxxrxIy9
XXXFXXXHXXX]YYXXX
XXXfXXXVXXX_YXX
xXxFxXx]x
XXXfXXX]YXX
XXXFXXX]YXX
XXXFXXX_YXX
xxxfxx[yx
xxxFxxyxyxyxY[
xxxFxxyxyxyxY["
xxxFxxyxyxyxY[4
xxxFxxyxyxzxY[;
xxxFxxzxzxzxY[
xxxfx]Y]]
xxxfyxhxuxpxY[9
x"xxgxgx|xxrxiy-
xXxGxXxNxHxHxXxBxXx
xxxGxxyxyxyxxyxJy
xxxGxxyxyxyxY[
xxxGxxyxyxyxY[4
xxxgx]Y]]
xxxgyx|x|xuxxyxtyAL@HL@NHILKNyxl
xxxGyxyxyx|xY[.
XXXHH_FQ_
]XX@XHMP_P
xXxHxHx|xVy
xXxHxHxXxUx
xXxHxHxxxxHyx
xXxHxHxyxVy
xXxHxIxxk
x'x]xHxJx
xXxHxTxXx
xXxHxVxOxXx?x
xXxHxVxVx]x
x x]xHx@x
x'x]xHx@x
x?x"xHx!xJx
xXxHx@xOxx
xxxHxxx;
xxxhxxxMxxx
xXxHxXxUx
xXxHxXxUxXx
xXxHxXxWx
x'x]xHx@x xyxuyx-
XXXhXXX]YXX
xxxHxxyxyxyxxyx[yQ
xxxHxxyxyxyxY[
xxxHxxzxzxzxxyxuy
xXxHxyx9y
XXXHXYXgXXX
xXxHxyxlyWx
xxxhyxvxvxqxxyxsx
xxxI3xx]Y]]
[xxxIJOVHVHVIX
xxx:I|q1
xXxIxAx@xVxLxIxVxHxVxLxXx
xXxIxHxHxHxXxFxXx6x
xXxIxHxHxXxUx
xXxIxHxQxyx
xXxIxHx@xTxXxIxHxIxTxXxIxIx@xTxXxIxHxMxTxXxAx@xTxXxIxHx@xTxXxIxIxOxTxXxIxHxAxTxXxNxLxTxXxIxJxIxTxXxAxOxTxXxIxIxHxTxXxIxHxHxTxXxIxHxIxTxXxIxJxHxTxXxLxNxTxXxAxAxTxXxIxIxIxTxXxIxHxAxXx
xXxIxHxXxIxJxOxVxHxVxHxVxIxXxFx
xxxIxIxIxIxIxIxIxIxIxIxIxIxIxzx
xXxIxJxOxVxHxVxHxVxIxXxUx
xXxIxKxJxxxx
xXxIxMxVxLxyx
xXxIxMxVxOxVxIxVxyx
xXxIxTxXx
xXxIxVxIxVxIxVxIxXxUx
xXxIxVxKxVxNxVxIxVxMxVxMxVxOxVxKxVxIxXxUx
xXxIxVxLx.xHxKxVxHxNxXx1x
x)x"xIx	x
x!x?xIx@xAxyx(y
xXxIxXxExyxhy
xXxIxXxFxXx6x
xXxIxXxRxXx
xXxIxXxUx
xXxIxXxWx
xXxIxXx-x1xXx;x
xxxIxxyxyxyxY[
xxxIxxyxyxyxY[4
xxxiyxzxzxzxxyx z
x.x!xJx9x
xxxJxdz0I
xXxJxHxHx
xXxJxHxHxAxXx(x
xXxJxHxHxVxAx@xVxIxLxLxVxMxAxzx8y1
xXxJxHxIx
xXxJxHxIxAxXx
xXxJxHxIxHxXx
xXxJxHxIxKxXx(x
xXxJxHxIxKxyx
xXxJxHxIxLxyx6x
xXxJxHxIxMxXx;x
xXxJxHxIxzx
xXxJxHxJxVxIxJxVxJxOxVxKxKxXx
xXxJxHxXxUx	xXxUx
xXxJxHxyx
xxxJxKxLxMx5x
xxxJxKxLxMx7x;x*x5x
xxxJxKxLxMx(x
xxxJxKxLxMx:x
xXxJxKxLxMx(x
xXxJxMxMxVxJxMxMxVxJxMxMxVxJxMxMxyx
xXxJxMxMxVxJxMxMxVxJxMxMxVxJxMxMxyx.y*x
xXxJxNxXxWx
x)x	xJxQx
x|xxJxvyV
xXxJxXxExyxhy
xXxJxXxUx
xXxJxXx x4x
XXXjXXX]YXX
xxxJxxyxyxyxY[4
xxxjyxvxux
xxxJYxyxyx
xxx kqpo
xXxKxHxHxHxXxFxXx6x
xXxKxHxHxHxyxwy
xXxKxHxHxXx
xXxKxHxXxIxJxOxVxHxVxHxVxIxXxFx
x!x	xKx;x7x)x(
xXxKxXxIxJxOxVxHxVxHxVxIxXxFxXx
xXxKxXxJxyx
xXxKxXxPx
xXxKxXxUxUx?x
xXxKxxxx
xXxKxXx x4x
xxxKxxyxyxyxY[
xXxKxyxpxJxVxHxJxyxRx]x
xxxkyxhxtxuxx|xsxwX
xxxkyxqxqxqxY[(-9B:
xxxkyxsxsx
XXXLMJQSO
XXXLOQGKPJ
xXxLxIxXxOxHxXxOxHxXxNx
x;x)xLxLx4x
x:xxlxlxzxxrxwx
xxxLxrxyx1x
x'x]xLxVxLx
XXXLXXXhXXXZXdXYXXXZ
XXXLXXXhXXXZXDXYXXXZ
XXXLXXXlXXXZXxXYXXXZ
XXXLXXXXXXX[XXX[XXXVXXXSXXXPXXX[XXX[XXXYXXX
XXXLXXXXXXX[XXX[XXXVXXXSXXXPXXX[XXX[XXXYXXX(YXX
XXXLXXXXXXX[XXX[XXXYXXXSXXXPXXX[XXX[XXXYXXX
XXXLXXXXXXX[XXX[XXXYXXXSXXXPXXX[XXX[XXXYXXXhYXX
XXXlXXX]YXX
XXXLXXX]YXX
XXXLXXX_YXX
xxxLxxyxyxyxxyx_y
xxxLxxyxyxyxY[
xxxLxxyxyxyxY[4
xxxlx]Y]]
xxxlx]Y]]3UY
xxxlx]Y]]B
xxxlx]Y]]lJX
XXX]ME[QAE
xxxMpxyxyx
x@x@xMxAxLxAx@xLx
x x@xMxHx?x
xXxMxHxXxUx
xXxMxJxXxNxMxXxNxOxXxNxMxXxNxLxXxNxAxXxOxLxyx*yMx
xXxMxXxWx
xxxmxx*yxpxpxqxxyxty
xxxMxxyxyxyxY[
xxxMxxyxyxyxY[4
xxxmx]Y]]
XXXNHBQA
xXxNxAxXxNxNxXxNxMxXxOxKxXxOxLxXxJx
xXxNxIxXxNx
x"x*xNxMx
xXxNxMxXxOxLxXxOxKxXxMx
xxxnxxxsxx]Y]]
XXXnXXX]YXX
XXXNXXX]YXX
XXXNXXX_YXX
xxxNxxzxzxzxY[
xXxNxyxwyR5
xxxnyxvxvx
xxxOxKxNxK
xxxOxKxNxKxNx@xO
xXxOxKxXxNx
x!x xOxMxyxVy
x@x!xOxOxNxOx
xXxOxVxHxXx
xxxOxxyxyxyxxyxRy
xxxOxxyxyxyxY[
xxxOxxyxyxzxY[
xxxox]Y]]
|x|x|xoxY[9
XX[XP[NSZAHNXLY_DN
xXxPxIxHxIxQxyx
xXxPxIxTxIxTxNxHxQxXx
xXxPxJxQxyxLx
xXxPxKxVxIxKxQxxx
xXxPxPx6x
xXxPxRxVx
xXxPxRxVxRxQx
xxxPxx7yxQxQx
xXxPx;xQxXxJxHxHxKxXxUxXxJxHxHxAxXxXx4x
xXxPx;xQxXxJxHxHxKxXxUxXxJxHxHxNxXxXx4x
xXxPx;xQxXxJxHxIxKxXx(x
xXxPx;xQxXxJxHxIxLxXx(x
xXxPx;xQxXxJxHxIxMxXx
xXxPx;xQxXxJxHxIxMxXx(x
xXxPx;xQxXxJxHxIxOxUxXx x5x*x
XXXpXXXBXXX]YYXXX
xxxPxxxFxxxpxxxyxxxtxxxyxby9
xXxPxxxx
xxxpx]Y]]
xxxPx]Y]]
xxxPx]Y]]n
XXXPXYXgXXX
xXxPxZxExZxQxxx]Y]]
xxxPyx|x|x|xxzxX
xxxqJqqWq-"
xxxqxxxsxxxxxx
xxxqxxxxxx
xxxQxxyxyxyxY[
xxxQxxyxyxyxY[9
XXXQXYXgXXX
xxxQyxTy
XxxrPYxxr
xxx_R__X_
xxxrxfyWx
xxxrxhxHA
xxxrxiy]
x@xxrxrxyxxrxSy@xxxx
xXxRxVx1x
xxxrxwyBWW]
xXxRx]x1xNxLx
xXxRxXxNxHxHxXxDxXx
xXxRxXxXx
XXXRXXX]YXX
xxxrx]Y]]
xxxrx]Y]]:FY
xxxrx@zw
xxxrxZyGx
xxxRyxixvxqxY[9
xxxryxlxlx
XX[[X_SH
x-xxsxsx|xxrxiy
x@xxsxsxzxxyxry
xxxsx]Y]]
xxxsx]Y]]9
XXXSXYXgXXX
xxx!tSppX
_|||X||xX||tX||pX||lX||PX||HX||@X||
xxxtxxx*x
xxxtx:xxx6xyxvxxxx
XXXtXXX]YXX
XXXTXXX]YXX
xxxTxxyxyxyxY[(
xxxTxxyxyxyxY[:
xxxtx]Y]]
XXXTXYXgXXX
@XXXTXYZXXXXX]xXXXxZXXZX
XXXTXZXPXXXHXZX
xxxtyx|x|x|xxzxX
xxx'ui|i
xxx'Uspp"X
xXxUx1x:x;x3xyxPy
xXxUx9xXxUx
xXxUxExyxJxUxExXx5xUx
xXxUxUx2x
xXxUxUx4x
xxxUxUx5x
xxxUxUx-x
xxxUxUx;x
xxxUxUx?x
xXxUxUx(x
xXxUxUx*x
xXxUxUxXx
xXxUxUxXx0x
xXxUxXx0x
xxxUxxx0yxx
xXxUxXx1x
xXxUxXx1xXx
xXxUxXx3x
xXxUxXx4x
xXxUxXx4x1x9xxxx
xXxUxXx5x
xXxUxXx6x
xXxUxXx9x
xXxUxXx9xXx
xXxUxxxx
xXxUx	xXx
xXxUxXx#x
xXxUxXx(x
xXxUxXx;x
xXxUxXx?x
xXxUxXx]x
xXxUx*xXxRxVx
xXxUxXx#xyxTx6x
xXxUx-x;xZxyxfy]x
xxxUxxyxyxyxY[4
xxxUxxzxzxzxxyxuy
xxxux]Y]]'
xXxUxyxnx
xxxUyxxxw
x'x]xVxNx
x#xxvxvx
xXxVxVxVxXx
xXxVxVxXx.x xXx:x
xXxVxXxWx
xXxVxXx;xVxXx
XXXVXXXXXXXY[yXXX*XXX
XXXVXXXXXXXYZYXXXX
XXXVXXXXXXXYZYXXXXLYX
XXXvXXX]YXX
xxxVxxyxyxyxY[
xxxVxxyxyxyxY[7
xxxVxxzxzxzxY[
xXxWx5x7xXx
xXxWx9xZx
xXxWxWx:xXxWxWx6x
xXxWxWx:xyx
xXxWx	xBx
x'x'xWx|xLy
xXxWxXx4x
xXxWxXx5x
xXxWx!xXx
xXxWx;xXx
xXxWxXx]x
xXxWx	xXxWx
xXxWx)xXxWx9xBx0xXx
xXxWx;xXx]x
xxxWx;xXxZx
xXxWx;xXxZx
xxxWxxx;yxx
xxxwxx]Y]]
xXxWx	xyxFy
xxxWxxzxzxzxxyxry
x																													xxx
xXx:x0x7xxxx
xxxx0xxrxrxyxxrxCz
xxxx0xxrxrxyxxrxCzI
x*x)x x0x!xyxXy!xJxAx
xxxx0xxyxyxyxxyxCz
xxxx0xxyxyxyxY[
xxxx0xxzxzxzxxyxjy
xxxx1xxyxyxyxxyxDz
xxxx1xxyxyxyxxyxDzK
xxxx1xxyxyxyxY[
xxxx1xxyxyxyxY[4
xxxx1xxyxyxyxY[9
xxxx1xxyxyxzxxyxnz
xxxx1xxzxzxzxxyxfz
xxxx1xxzxzxzxY[
xxxx1xxzxzxzxY[9
xx|xx1zxuxux
xxxx2xxyxyxyxxyxEz
xxxx2xxyxyxyxxyxEzS
xxxx2xxyxyxyxxyxEzw
xxxx2xxyxyxyxY[
xxxx2xxyxyxyxY[4
xxxx2xxzxzxzxxyxey
xxxx3xxrxrxyxxrxFz!
xxxx3xxrxrxyxxrxFzw
xxxx3xxrxrxyxxrxFzz
xxxx3xxyxyxyxxyxFz
xxxx3xxyxyxyxY[
xxxx3xxyxyxyxY[4
xxxx3xxzxzxyxxzxFyyz
xxxx3xxzxzxzxxyxSz
xxxx3xxzxzxzxY[
xxxx-*4;
xxxx4xxrxrxyxY[
xXx.x4x;xxx]Y]]
xXx.x4x;xyx2y4x
xxxx4xxyxyxyxxyxGz
xxxx4xxyxyxyxY[
xxxx4xxyxyxyxY[(
xxxx4xxyxyxyxY[4
xxxx4xxzxzxzxxyxbz
XXXX4ZXX
xxxx5x1x6x7x*xxxyxXy!9
xXx*x5x1xXxyxPyDx
xXx x5x*x
xxxx5xxrxrxyxxrx8zR
xXx:x5x(xXx
xxxx5xx|x|xzxxzxfx
xxxx5xxyxyxyxxyx8z)
xxxx5xxyxyxyxY[
xxxx5xxyxyxyxY[4
xxxx5xxzxzxzxxyxZyw
xxxx6xxrxrxyxxrx9z
xxxx6xxyxyxyxxyx9z
xxxx6xxyxyxyxY[
xxxx6xxyxyxzxxyx_
xxxx6xxzxzxzxxyxcy
xxxx6xxzxzxzxxyxHz
xXx;x6xyx
xXx_x7x3x
xXx*x7x5xyxdy5x
xxxx7xxrxrxyxY[
xxxx7xxyxyxyxxyx:y
xxxx7xxyxyxyxxyx:z
xxxx7xxyxyxyxxyx:zw
xxxx7xxyxyxyxY[
xxxx7xxyxyxyxY[4
xxxx7xxzxzxzxxyxaz
xxxx7xxzxzxzxxyxdy
xxxx7xxzxzxzxxyxgzHlp8
xxxx7xxzxzxzxxyxlx
xxxx7xxzxzxzxxyxLy
xxxx8xxyxyxyxxyxKzK
xxxx8xxyxyxyxY[*
xxxx8xxyxyxyxY[4
xxxx8xxzxzxzxxyxcz
xxxx8xxzxzxzxxyxiy
xxxx8xxzxzxzxxyxky
xxxx8xxzxzxzxY[
xxxx91;Oxxxx91;@xxxx91;Axxxx91;AV
xxx:x9x3xVx
xxxx9xxrxrxyxxrxLz
xXx-x9x;xXx
xxxx9xx|x|x|xxyxry
xXx-x9x;xxxyxhy4
xxxx9xxyxyxyxxyxLz
xxxx9xxyxyxyxY[4
xxxx9xxzxzxyxxzxLz
xxxx9xxzxzxzxxyxay
xxxx9xxzxzxzxxyxqy*
xxxx9yxyxyx
x@x.x(xAx
xxxxAxxyxyxyxY[
xxxxayxtxtxrxY[9
xXx;xBxWxWx
XXXXbXXbXXXXXXX
xxxxbxxxl
xxxxBxxyxyxyxxyxUz
xxxxBxxyxyxyxxyxUzw
xxxxBxxyxyxyxY[
xxxxBxxyxyxyxY[4
xxxxBxxzxzxzxxyxpy
xxxxBxxzxzxzxxyxuxG
xxxxcrx|
xxxxCxxx
xxxxCxxyxyxyxxyxVy
xxxxCxxyxyxyxxyxVz
xxxxCxxyxyxyxY[4
xxxxCxxzxzxzxxyxhy
xxxxCxxzxzxzxY[9
xxxxCyxrxpxvxY[9
xxxxDxxrxrxyxxrxWz
xxxxDxxyxyxyxxyxWz
xxxxDxxyxyxyxY[4
xxxxDxxzxzxzxxyxXy
xxxxdyxzxzxpxY[9
xxxxExxrxrxyxxrxHz
xxxxExxyxyxyxxyxHz
xxxxExxyxyxyxY[
xxxxExxyxyxyxY[.
xxxxExxyxyxyxY[4
xxxxExxzxzxzxxyxdy
xxxxExxzxzxzxxyxwz
XXXXFXNXFXN
xxxxFxxyxyxyxxyxIz
xxxxFxxyxyxyxxyxIzK
xxxxFxxyxyxyxY[
xxxxFxxyxyxyxY[.
xxxxFxxyxyxyxY[4
xxxxFxxzxzxyxxzxIz
xxxxFxxzxzxzxxyxdy
xxxxFxxzxzxzxxyxoy
xxxxfyxyxyx
xxxxfyxzxzx|xY[9
xxxxGxxzxzxzxxyxbx
xxxxGxxzxzxzxxyxly(
xxxx]H@ V
x(x.x.xHx4x!x
XXX#XhXhXhXjXiXlXhXiXuXhXhXhXhXuXhXhXhXhXuX
x[xxxHxHxIxIxHxHxyx
xXx]xHxJx
XXXXhXXhXXXXXXX
xxxxHxxyxyxyxxyx[z
xxxxHxxyxyxyxY[
xxxxHxxyxyxyxY[4
xxxxHxxzxzxyxxzx[yQ
xxxxHyxjxwx
xxxxIH;;
xxxxIH17
xXx@xIxHx
x?x:x-xIxKx
x xXxIxVxxxx
x;x(x"xIx;x
xXx]xIxxxx
xXx]xIxXx;x
xXx]xIxxxzxbyxx
xxxxIxxyxyxyxY[
xxxxIxxzxzxzxxyx
xxxxiyxhxhx
xXx]xJxVxJx
XXXXjXXjXXXXXXX
xxxxJxxyxyxyxxyx]z
xxxxJxxzxzxyxxzx]zw
xxxxjyxmxmx
xxxxjyxzxzx|xxyx
xxxxjyxzxzxzxY[9
xxxxKxxyxyxyxY[
xxxxKxxzxzxzxxyxvy
?:xxxx]LVJX
xxxx]LVJX
x	x:x:xLxOxxxx
x?x(x-xLxxxyx]Y]]
xxxxLxxyxyxyxxyx_z
xxxxLxxyxyxyxY[
xxxxLxxzxzxzxxyxpyH|O
XXX#XmXiXkX
xxxxMxxyxyxyxxyxPz
xxxxMxxzxzxyxxzxPz
xxxxmyx|x|xtxY[9
XXX#XnXhXjXmXlX
XXXXnXXnXXXXXXXX
xxxxNxxyxyxyxxyxQz
xxxxNxxyxyxyxxyxQzw
xxxxNxxyxyxyxY[
xxxxNxxzxzxyxxzxQy1
xxxxNyxpxpxrxxyxsy
xxxxOxxyxyxyxxyxRz
xxxxOxxyxyxyxY[
xxxxOxxzxzxzxxyxcy
xxxxOxxzxzxzxxyxwy
xxxxoyxqxqxqxY[(-9B:
xx_x_xpxxrxaxmxxx
xx|x|xpxxyxky(
xx|x|xpxxyxry
xx|x|xpxxyxsy
xx|x|xpxxyxvy9;97E
xx|x|xpxxzxky
xxxxPyxyxyx
xxxxPyxyxyxuxY[9
xXx[xqx8x
xx|x|xqxxyxmy
xx|x|xqxxzxmy
xx|x|xqxY[9
xx]x]xrxxrxH
xx[x[xrxxrxt
xx|x|xrxxyxry
xxxxRyx|x|x
xxxxrzxkzkzjxx
xXx;xSxSxXx*x
x_xxxsxx
xxxxSxxyxyxyxxyxfz
xxxxSxxyxyxyxY[4
xxxxsyxqxqxrxY[(-9B:
xxxxsyxrxrx
xxxxsyxyxyx
XXXXtXXtXXXXX[X
)XXXXTXXXTXXX@XZX
xxxxTxxyxyxyxxyxgzS
XXXXtZXX
xxxxtzxzxzx
xXxxuKxJxVx
x xXxUxXx
xxxxUxxx]HL xxxx
Xxxxuxxx;x
xxxxUxxyxyxyxxyxXz
xxxxUxxyxyxyxxyxXzw
xxxxUxxzxzxzxxyxsy
xxxx Uzxtyx5
XxxxVVxxyxpy
x'x'x'xVx
x?x(x-xVx
x@x@x@xVxIxXxUx
xxx?xVxIxxx?xVxJxxxyxhy
xXx]xVxJx
XXXXvXXvXXXXXXX
xxxxVxxxW
xxxxVxxyxyxyxxyxYz
xxxxv]xyxyxPyY[.
xxxxvyx|x|x
xxxxvyx|x|x|xY[9
xxxxWxxyxyxyxxyxZz
xxxxWyxwyW
;:xxx;xx
x'x.x:x'x
x-x*x)x;x
x.x.x"x.x
x?x.x(x!x
xxxxx;.;
xxxxx0AOw
x|x|xx|x0y
xxxxx2xxxyxxx
x(x;xXx4x
xXx-x*x4xBxyxby
xXx-x*x4xXx
xxx?x?x5x'x5x
xXx(x*x7xXx*x
xxxxx8HC0
xxxxx9(9(0
xXxXx9xVx
XXXXXBX-
xXxXxBxxx]Y]]
x?x"x(x@xCxIx
xxxxxCxxzxzxzxY[
xxx|xxfzx
xxxxxHIJKLyxhy]
x'x'x'xxh'x
xXx#x]xHxLx
x x!x@x-xIx0x
xxxxxIxJxKxLxMxxxIJKLMxxx
xXxXxJxHxIxNxyxsy(
xXxXxJxHxJxHxxxRx
xXx.x:xKx
xx]xxxkxxxxxyx
xxxxxLxrxyx1x
x!x?x)x)xLx:x:x
xxxxxlxxx7x
xxxxxMxVxIxVxJxNxHxHxVxHxXxPx
xxxxxPxx
xxx;xxrxrxyxxrxNz1
xxx xxrxrxzxY[9
xxxxxRxVx
xxxxxRxxx
xxxxxRxxxVxxxVxVxxxxx
xxx|xxsyxqxqxsxxyxlyYx
xXx#x#xUx
xxxxxUx1xxxxxzxiy
xxxxxUxUx
xxxxxUxUx1x
xxxxxUxUx(x
xxxxxUxUx-x
xxxxxUxUx.x
xxxxxUx-xxxxxUx
xxxxxux]Y]]N
xXx_x]xVxIxHxJxLx
xxxxxVxWxxxxx
xxxxxVx]x
xxxxxvxxx
xxxxxVxxx
X.X;XXXVXXXXXXXY[yXXX
X.X;XXXVXXXXXXXY[yXXXfXXXVXXX_YXX
xxxxxW''
xxxxxwgx0
 |xxxxxx
x(x;xxxx
x x)xXx;x
x;x;xXx;x
xXx;x;x(x
xXx?x(x-x
xxxxx x5x*x
xxxxxx5yxtxsx|xxyx
xxxxxx8MNLO
xxxxxx8NLKJKIOHMAO
xxxxx]xIxMxJxxxyxVy6x
xxxxxxKJ
X[XXXXXLX
X]XXXXXLX
xxxx*xxlxlxzxxrxTz
xxxx;xxlxlxzxY[9
XXX|XXXNXXX]YYXXX
xxxxxxOxxyxyxyxY[4
X_XXXXXpX
XXXXXXPX
xxx xxxPxxxPxxx
xxxxxxqxqxxxxxxxqxxxxy
xxxx#xxrxrxyxxrx6z
xxxx#xxrxrxyxxrx6zw
xxxx?xxrxrxyxxrxBzJ
xxxx;xxrxrxyxxrxNzE
xxxx@xxrxrxyxxrxSz
xxxx'xxrxrxyxxrx*z
xxxx.xxuxuxzxxrxgzS
xxxx#xxuxuxzxxrx]x
xXxXx;xVx
xxxxxxW)
x;x(x-xxxx
x;x@x	x;x-x@x
x@xxxxx]x
xxxxx.x:x
xxxxxx|x
xxxxxxx(
xxxxxxx*
xxxxxxx]
xXx#xxxx
xXx_xxxx
xXx(x;xXx
xXx:x:xXx
xXx_x_xXx
Xxxxxxx(
X*X.XXXXX
X_XXXXX@X
xxxxxxx0
xxxxxxx2x
xxxxxxx5
xxxxxxx8
[xxxxxxx8#[xxxxxx
xxxxxxx8xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xXxXxXxBxXxHx
xx|x|x|xx|xey
xXxxxXxFxFxXx6x-x4xxx;x
XXXXXXXhYXX
xxxxx|xxNyx
xxxxxXxUx
xxxxxxxVx
?xxxxxxxx
x	x	x	x	x	x	x	x	
x'x'xxxxxx
xxxxxxx]x
xxxxxxxx
xXx;x(x-xXx
xXx(x;xXx*x
xXx(x;xXx;x
xXxXxXx!x
Xxxxxxxx
XXXXXXXX
xxxxxxxx0
xx@xxxxxx0Y
xxxxxxxx1
xXx?x(x-xXx4x
xXx?x(x-xXx5x
xxx*x(x xXxIxVxKxVxLxKxAxAxVxLxKxIxAxIxxxxxx
xxx*x(x xXxIxVxKxVxLxLxHxHxVxNxIxxxyx@y;x
x	x	x	x	x	x	x	x	j
x	x	x	x	x	x	x	x	u
x	x	x	x	x	x	x	x	x	
x'xxxxx'xxx
xxxxxxxxx
xXxXxXxXx
XXXXXXXXx
xxxxxxxxx1x
XXXXXXXXXBX
x;x;x;x;x;x;x;x;xQxXxYxExXx
XxXXXXXXXUXXXUXXXHXZXYXXXYYXXXXXXXXXXXXXX
XxXXXXXXXUXXXUXXXHXZXYXXXYYXXXXXXXXXXXXXXhYXX
xxxxx.x.x:x:x:x
xxxxxxxxxx;
x;x;xXx;x(x-xXx
xXx(x-x:x?xXx*x
xXxXxXxXx(x
xXxXxXxXx-x
xXxXxXxXx]x
XXXXXXXXXX
xxx'xxxxxxx4
xXxXxXxXx]xJxHx
XXXX[XXX[XXXVXXXc
xxxxxxxxxxx
xXXXX[XXX[XXX
XXXXXXXXXXX
xxxxxxxxxxx0
xXxXxXxXx;x'x9x1x x9xBxyxVyBx
xxxxxxxxxxxjx(
XX@XXXXXXX@XXX
XXXX:XX:XXXXX[X
XXXXXXXXXXXX
xxxxxxxxxxxx2
XXXXXXXXXX"XXX
XXXXXXXXXXXXX(
XXXXXXXXXXXXX-
[XXXXXXXXXX[XXXLXXXYXXX
xxxxxxxxxxxxxp
xxxxxxxxxxxxxx
XXXXxXXxXXXXX[X
XXXXXXXXXXXXXX
xxxxxxxxxxxxxxxxxvxxxD
XXXXXXXXXXXXXXXXXX
xXxXxXxXxXxXxXxXxxxx
XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX4ZXX
XXXXXXXXXXXXXXXXXXXXtZXX
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiyiyiyiyiyiy
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyx4x
xxxxxxxxxxy
xxxxxxxxxx]Y]]
XXXX[XXX[XXXYXXXc
xXx x(xxxx	xxyxyxyxY[4
xxxxxxxxxxzxxx
XXXXXXXXXZX
XXXXXXXXXZX1
XXXXXXXXXZXKX
XXXXXXXXXZXmoM
x[XXXXXXXXZX]XXX
XXXXXXXXXZXXXXX
XXXXXXXXXZXZXXX
@[XXXXXXXXZX]XXX
[XXXXXXXXZX]XXX
xxxxxxxxzxzx
xx|x|x|xx|x:y
xxxxxxx]Y]]
x?xx|x|x|xxyx
xxxxxxxyxdywiy
x	xx|x|x|xxyxmy]
x#xx|x|x|xxyxqx
x!xx|x|x|xxyxsy
XXXxXXX]YXX
XXXxXXX_YXX
XXXXXXX[YXX
xxXxx|x|xyxx|xky
XXXXXXXYZXX
xxxxxxxZyxxxxxxxxx
x'xxxxx]Y]]
xxxxxx]Y]]
xXx)xxx]Y]]
xx|x|x|xxyx
xxxxxxyx
xx|x|x|xxyx0y
xx|x|x|xxyx0yWx
xx|x|x|xxyx8y
xx|x|x|xxyxax
xx|x|x|xxyxax6
xx|x|x|xxyxay
xx|x|x|xxyxay]
xx|x|x|xxyxAz
xx|x|x|xxyxby
xx|x|x|xxyxcx;
xx|x|x|xxyxCy
xx|x|x|xxyxcyK
xx|x|x|xxyxcz
xx|x|x|xxyxcz3
xx|x|x|xxyxd
xx|x|x|xxyxdy
xx|x|x|xxyxDy
xx|x|x|xxyxdyJINVJMHVAAVMW
xx|x|x|xxyxdy(x
xx|x|x|xxyxey!9
x;x:x;xxxyxfx
xx|x|x|xxyxfy
xx|x|x|xxyxfy9
xx|x|x|xxyxfyw
xx|x|x|xxyxFy(x
xx|x|x|xxyxgy
xx|x|x|xxyxhx
xx|x|x|xxyxHx5x
xx|x|x|xxyxhy
xx|x|x|xxyxhy]
xx|x|x|xxyxHy
xx|x|x|xxyxhy4x
xx|x|x|xxyxHz
xx|x|x|xxyxIy
xx|x|x|xxyxiy]VJ
xx|x|x|xxyxiz1
xx|x|x|xxyxj
xx|x|x|xxyxjx
xx|x|x|xxyxJx
xx|x|x|xxyxjy
xx|x|x|xxyxJy
xx|x|x|xxyxjy7
xx|x|x|xxyxjy-x
xx|x|x|xxyxkx
xx|x|x|xxyxKx
xx|x|x|xxyxky
xx|x|x|xxyxly
xx|x|x|xxyxLy:
xx|x|x|xxyxly?x
xx|x|x|xxyxLy-x
xx|x|x|xxyxmy
xx|x|x|xxyxmy9
xx|x|x|xxyxmy9'''
xx|x|x|xxyxnx!
xx|x|x|xxyxNx
xx|x|x|xxyxny?
xx|x|x|xxyxny]
xx|x|x|xxyxnyw
xx|x|x|xxyxny]x
xx|x|x|xxyxnz
xx|x|x|xxyxOzw
xx|x|x|xxyxP
xx|x|x|xxyxpy
xx|x|x|xxyxPy
xx|x|x|xxyxPy	0
xx|x|x|xxyxpy5
xx|x|x|xxyxPyw
xx|x|x|xxyxpyx73x5
xx|x|x|xxyxqx
xx|x|x|xxyxqy
xx|x|x|xxyxqy?
xx|x|x|xxyxRy
xx|x|x|xxyxryRV;
xx|x|x|xxyxsx
xx|x|x|xxyxsy
xx|x|x|xxyxsy;
xx|x|x|xxyxSy
xx|x|x|xxyxSy(
xx|x|x|xxyxsy6
xx|x|x|xxyxsyx
xx|x|x|xxyxt
xx|x|x|xxyxtx
xx|x|x|xxyxty
xx|x|x|xxyxTy
xx|x|x|xxyxtyW
xx|x|x|xxyxu
xx|x|x|xxyxUx
xx|x|x|xxyxux8
xx|x|x|xxyxuy
xx|x|x|xxyxuy]
xx|x|x|xxyxUy5
xx|x|x|xxyxuyMV
xx|x|x|xxyxuyr:
xx|x|x|xxyxv
xx|x|x|xxyxvy
xx|x|x|xxyxvyV
xx|x|x|xxyxvyWx*xxxxxWx1xxxzxPy
xx|x|x|xxyxVz
xx|x|x|xxyxw
xx|x|x|xxyxwy]
xx|x|x|xxyxwyV
xx|x|x|xxyx*x
xx|x|x|xxyx]x
XXX@XXX]YXX
XXX@XXX_YXX
XXX|XXX]YXX
XXX|XXX_YXX
xx|x|x|xxyxXx
xx|x|x|xxyxXy
xx|x|x|xxyxXy5x
xx|x|x|xxyxXyaegXQKVWLLNCMyy
xx|x|x|xxyx@y
xx|x|x|xxyx_y
xx|x|x|xxyx@y5
xx|x|x|xxyx.y9 7
xx|x|x|xxyx]yW
xxxx	xxyxyxyxxyx
xxxx-xxyxyxyxxyx0z-
xxxx.xxyxyxyxxyx1z
xxxx xxyxyxyxxyx3zS
xxxx!xxyxyxyxxyx4yHxHxHxHxHxHxHxHxHxHxxxxx@xnxyx;x
xxxx!xxyxyxyxxyx4z
xxxx!xxyxyxyxxyx4zV
xxxx"xxyxyxyxxyx5z
xxxx:xxyxyxyxxyxMz
xxxx:xxyxyxyxxyxMzK
xxxx;xxyxyxyxxyxNz
xxxx;xxyxyxyxxyxNzC
xxxx@xxyxyxyxxyxSz
xxxx'xxyxyxyxxyx*z
xxxx(xxyxyxyxxyx;z
xxxx'xxyxyxyxxyx*zS
xxxx;xxyxyxyxxzxNy
xxxx xxyxyxyxY[
xxxx!xxyxyxyxY[
xxxx#xxyxyxyxY[
xxxx(xxyxyxyxY[
xxxx)xxyxyxyxY[
xxxx*xxyxyxyxY[
xxxx-xxyxyxyxY[
xxxx:xxyxyxyxY[
xxxx;xxyxyxyxY[
xxxx;xxyxyxyxY[.
xxxx?xxyxyxyxY[
xxxx?xxyxyxyxY[:
xxxx@xxyxyxyxY[
xxxx@xxyxyxyxY[.
xxxx xxyxyxyxY[4
xxxx!xxyxyxyxY[4
xxxx"xxyxyxyxY[4
xxxx#xxyxyxyxY[4
xxxx'xxyxyxyxY[4
xxxx(xxyxyxyxY[4
xxxx)xxyxyxyxY[4
xxxx*xxyxyxyxY[4
xxxx-xxyxyxyxY[4
xxxx.xxyxyxyxY[4
xxxx:xxyxyxyxY[4
xxxx;xxyxyxyxY[4
xxxx?xxyxyxyxY[4
Xxxx;xxyxyxyxY[4
xxxx*xxyxyxzxxyxfy
xxxx(xxyxyxzxxyxgz
xxxx'xxyxyxzxxyx_zK
xxxx#xxyxyxzxY[
xxxx'xxyxyxzxY[
xxxx-xxyxyxzxY[4
xx|x|x|xxyxYy
xx|x|x|xxyxZ
xx|x|x|xxyx_zG
xx|x|x|xxyx_zw
xx|x|x|xxyxZx
xx|x|x|xxyxZy
xx|x|x|xxyxZz
XXXXXXZX
xx|x|x|xxzxez
xx|x|x|xxzxfy
xx|x|x|xxzxhy
xx|x|x|xxzxHy
xx|x|x|xxzxiy
xx|x|x|xxzxOy
xx|x|x|xxzxry
xx|x|x|xxzxw
xx|x|x|xxzxX
xx|x|x|xxzxXy
xxxxX|xzxzxgxY[9
xxxx?xxzxzxyxxzxBz
xxxx#xxzxzxzxxyxAz
xxxx)xxzxzxzxxyxfzK
xxxx'xxzxzxzxxyxGz
xxxx'xxzxzxzxxyxhyhXH8(
xxxx)xxzxzxzxxyxIzK
xxxx?xxzxzxzxxyxjy
xxxx xxzxzxzxxyxJzK
xxxx*xxzxzxzxxyxJzK
xxxx?xxzxzxzxxyxmz5"
xxxx"xxzxzxzxxyxN
xxxx.xxzxzxzxxyxUz
xxxx(xxzxzxzxxyxWz
xxxx;xxzxzxzxxyxXzK
xxxx)xxzxzxzxxyx_zS
xxxx#xxzxzxzxxyxZx
xxxx"xxzxzxzxY[
xxxx"xxzxzxzxY[4
xxxx#xxzxzxzxY[4
xxxx)xxzxzxzxY[4
xxxx'xxzxzxzxY[9
xxxx.xxzxzxzxY[9
xx|x|x|xxzxZy
xx|x|x|xY[
xx|x|x|xY[(
xx|x|x|xY[*
xxx;xx]Y]](
xxxxx]Y]]
xxxxx]Y]] 
xx|x|x|xY[1
xxxxx]Y]]3
xx|x|x|xY[4
xx|x|x|xY[9
xx|x|x|xY[(-9B:
xxxxx]Y]]B
xxxxx]Y]]G
xxxxx]Y]]If_
xxxxx]Y]]k
xxxxx]Y]]]L_
xxxxx]Y]]q
xxxxx]Y]]w
x'x'xxxyx]
xxxxxyx8y6
x?x:xxxyxay
xXx.x:xyxay*x
xXxxxyxbx
xxxxxyxe
xxxxxyxhxxx
xXxxxyxhyV
xxxxxyxly
x[x[x[x[xyxLy[x[x[x[x*x
xxxxxyxnxxx
x'x'xxxyxny
xxxxxyxry
xxxxxyxTy
x[x[x[x[xyxTy[x[x[x[x9x
XXXXXyxuy
xxxxxyxwz
xxxxxyxx
x'x'xxxyxXy'x
xxxxxyx]Y]]
xXx(x;xYxyx
XX"XXXYXYX
XX*XXXYXYX
xxx xxyxyx|xY[4
xxx'xxyxyxyxxyx*zx
xxx:xxyxyxyxY[:
xxx;xxyxyxyxY[;
xxx@xxyxyxyxY[
(xxx(xxyxyxyxY[4
]xxx:xxyxyxyxY[4
|xxx?xxyxyxyxY[4
xxx	xxyxyxyxY[4
xxx xxyxyxyxY[4
xxx!xxyxyxyxY[4
xxx"xxyxyxyxY[4
xxx#xxyxyxyxY[4
xxx'xxyxyxyxY[4
xxx(xxyxyxyxY[4
xxx)xxyxyxyxY[4
xxx*xxyxyxyxY[4
xxx-xxyxyxyxY[4
xxx.xxyxyxyxY[4
xxx:xxyxyxyxY[4
xxx;xxyxyxyxY[4
xxx?xxyxyxyxY[4
xxx*xxyxyxzxxyxfx
xxx;xxyxyxzxY[
xxx?xxyxyxzxY[4
xxxxx]Y]]y
xXxXxZx5x
x|x|x]xxzxdx(x
xxxxxzxx
xxxxxZxXxUx
x!xx|x|xzxxzxoy
xxxxxzx]Y]]
xxxxxzxzxzxtxY[4
xxx(xxzxzxzxxyxaz
xxx	xxzxzxzxxyxcy
xxx)xxzxzxzxxyxIzK
xxx#xxzxzxzxxyxKy
xxx*xxzxzxzxxyxUz
xxx-xxzxzxzxxyxZz
xxx xxzxzxzxY[
xxx!xxzxzxzxY[
xxx*xxzxzxzxY[(
xxx;xxzxzxzxY[
xxx.xxzxzxzxY[0
xxx;xxzxzxzxY[4
xxx?xxzxzxzxY[4
xxx"xxzxzxzxY[:5'6
xxx)xxzxzxzxY[9
]xxxx]Y]]
x	xxx]Y]]
x(xxx]Y]]
x-xxx]Y]]
x]xxx]Y]]!
xx-*xx]Y]]
xxx|x]Y]]
xxx|x]Y]]'
xxxx]Y]]
xxxx]Y]]]:_
Xxxx]Y]]
x*xxx]Y]]1
xxx|x]Y]]e
x@xxx]Y]]n
xxx|x]Y]]N
Xxxxyxc9
xxxxyxdx
XXX]XYXgXXX
XXX[XYXGXXX
xxxxyxhy
xxxxyxHyV
Xxxxyxi9
xxxxyxiy(
xXx#xyxJy1x
Xxxxyxk9
xxxxyxkyxxxx
xXx_xyxly'
Xxxxyxm9
xxxxyxmy
xxxxyxmyxxxx
Xxxxyxn9
Xxxxyxo9
xxxxyxpy
xXxxyxqy4x
xXxxyxry
Xxxxyxt9
x'xxxyxty;
xxxxyxuyxxxx
xxxxyxvy
xXx@xyxVy
xxxxyxvyxxxx
xxxxyxwyxxxx
xxxxyxxExxzxzxzxxyxi
XXXXYXXLXXXhXXXZXdXYXXXZ
xxxx|yx|x|x
xxxx;yx|x|xuxY[9
xxxXyx|x|xwxxyxqy
xxxx[yx|x|x|xxyxTy-x
xxxxyx|x|x|xxzxX
xxxXyx|x|x|xY[9
XXXXYXXXYXXXbXXX
XXXXYXXXYXXXIXXX
xXxxyxyxyxxyxj
xxxx.yxzxzxuxxyxix
xxxxzxwxwxwxY[9
x;x:x;xzxwy.
XXXXZXXXZXXX
XXXXZXXXZXXX[XXX
XXXXZXXXZXXXYXXXXXXX
XXXXZXXXZXXXzZXX
xx|x|xzxxyxqx
xx|x|xzxxzx
xx|x|xzxxzx1zK
xx|x|xzxxzxdz!!
XXXXzXXzXXXXX[X
xx|x|xzxxzx?zI
x	xxxzx]Y]]z8Y
(.xxx]Y]]
xx|x]Y]]
xxx]Y]]	
xxx]Y]] 
xxx]Y]]!
xxx]Y]]"
xxx]Y]]#
xxx]Y]]'
xxx]Y]](
xxx]Y]])
xxx]Y]]*
xxx]Y]]-
xxx]Y]].
xxx]Y]]:
xxx]Y]]:	_
xxx]Y]];
xxx]Y]];?_
xxx]Y]];__
xxx]Y]]?
xxx]Y]]@
xxx]Y]][
xxx]Y]]]
xxx]Y]]]]]
xxx]Y]]_
xxx]Y]]|
.Xxx]Y]]
xxx]Y]]0
xxx]Y]]0gX
xxx]Y]]0|Y
xxx]Y]]1
xxx]Y]]1._
xxx]Y]]1fY
xxx]Y]]1IX
xxx]Y]]2
xxx]Y]]25Y
xxx]Y]]2lX
xxx]Y]]2tY
xxx]Y]]2ZY
xxx]Y]]3
xxx]Y]]4
xxx]Y]]4;_
xxx]Y]]4;X
xxx]Y]]5
xxx]Y]]5tY
xxx]Y]]6
xxx]Y]]6!_
xxx]Y]]6BY
xxx]Y]]6j_
xxx]Y]]6sX
xxx]Y]]6vX
xxx]Y]]6?X
xxx]Y]]6|Y
xxx]Y]]7
xxx]Y]]7BY
xxx]Y]]7DX
xxx]Y]]7j_
xxx]Y]]8
xxx]Y]]8RY
xxx]Y]]8|Y
xxx]Y]]8zY
xxx]Y]]9
xxx]Y]]9FX
xxx]Y]]9t_
xxx]Y]]a
xxx]Y]]a)_
xxx]Y]]A
xxx]Y]]acX
xxx]Y]]aGY
xxx]Y]]AKY
xxx]Y]]aUY
xxx]Y]]b
xxx]Y]]B
xxx]Y]]bFY
xxx]Y]]BfY
xxx]Y]]bgY
xxx]Y]]biX
xxx]Y]]bJY
xxx]Y]]bKY
xxx]Y]]|BX
xxx]Y]]	bY
xxx]Y]]c
xxx]Y]]C
xxx]Y]]CP_
xxx]Y]]cRY
xxx]Y]]c Y
xxx]Y]]d
xxx]Y]]d _
xxx]Y]]D
xxx]Y]]D[_
xxx]Y]]d1Y
xxx]Y]]daY
xxx]Y]]dBY
xxx]Y]]dGY
xxx]Y]]Dh_
xxx]Y]]DKY
xxx]Y]]doY
xxx]Y]]D@X
xxx]Y]]:dY
xxx]Y]]e
xxx]Y]]E
xxx]Y]]EpY
xxx]Y]]eq_
xxx]Y]]EtY
xxx]Y]]ETY
xxx]Y]]EwY
xxx]Y]]e]X
xxx]Y]]eY_
xxx]Y]]E"Y
xxx]Y]]E@Y
xxx]Y]]ezY
xxx]Y]]f
xxx]Y]]F
xxx]Y]]F|_
xxx]Y]]fJY
xxx]Y]]FkY
xxx]Y]]fLY
xxx]Y]] FX
xxx]Y]]?FX
xxx]Y]]f]Y
xxx]Y]]-FY
xxx]Y]]F]Y
xxx]Y]]g
xxx]Y]]G
xxx]Y]]G|_
xxx]Y]]gJX
xxx]Y]]gLY
xxx]Y]]gtY
xxx]Y]]GV_
xxx]Y]]g	X
xxx]Y]]g)Y
xxx]Y]]	GY
xxx]Y]]h
xxx]Y]]]H_
xxx]Y]]H
xxx]Y]]hfY
xx|x]Y]]hIX
xxx]Y]]H?X
xxx]Y]]h|Y
xxx]Y]]?HY
xxx]Y]]@i_
xxx]Y]]i
xxx]Y]]I
xxx]Y]]ImX
xxx]Y]]ir_
xxx]Y]]iVY
xxx]Y]]iwY
xxx]Y]]I|Y
xxx]Y]]IzY
xxx]Y]]j
xxx]Y]]J
xxx]Y]]j9Y
xxx]Y]]jMY
xxx]Y]]JPX
xxx]Y]][JX
xxx]Y]]j Y
xxx]Y]]k
xxx]Y]]K
xxx]Y]]KM_
xxx]Y]]KMX
xxx]Y]]KNY
xxx]Y]]k|X
xxx]Y]]KxY
xxx]Y]]l
xxx]Y]]l)_
xxx]Y]]L
xxx]Y]]l9Y
xxx]Y]]lAY
xxx]Y]]LdX
xxx]Y]]LEX
xxx]Y]]lEY
xxx]Y]]Lf_
xxx]Y]]LjX
xxx]Y]]LRY
xxx]Y]]LTY
xxx]Y]]:lX
xxx]Y]])lY
xxx]Y]]l"Y
xxx]Y]]l@Y
xxx]Y]]*LY
xxx]Y]] m_
xxx]Y]]-m_
xxx]Y]]m
xxx]Y]]M
xxx]Y]]me_
xxx]Y]]Mh_
xxx]Y]]mk_
xxx]Y]]MPY
xxx]Y]]	mY
xxx]Y]][MY
xxx]Y]]n
xxx]Y]]N
xxx]Y]]nb_
xxx]Y]]NnY
xxx]Y]]NRY
xxx]Y]]nvY
xxx]Y]]]nX
xxx]Y]]o
xxx]Y]]O
xxx]Y]]oAY
xxx]Y]]oBX
xxx]Y]]oCX
xxx]Y]]Of_
xxx]Y]]Oh_
xxx]Y]]OqY
xxx]Y]]ORY
xxx]Y]]OTY
xxx]Y]]oUX
xxx]Y]]*oX
xxx]Y]].OX
xxx]Y]]OX_
xxx]Y]]p
xxx]Y]]p _
xxx]Y]]P
xxx]Y]]p8X
xxx]Y]]pDX
xxx]Y]]pe_
xxx]Y]]Pk_
xxx]Y]]PtY
xxx]Y]]PxY
xxx]Y]]_PY
xxx]Y]]q
xxx]Y]]Q
xxx]Y]]Q]]
xxx]Y]]Q8Y
xxx]Y]]qBX
xxx]Y]]qEY
xxx]Y]]QJX
xxx]Y]]qSX
xxx]Y]]QtY
xxx]Y]]Q[X
xxx]Y]]r
xxx]Y]]R
xxx]Y]]rLY
xxx]Y]]rnY
xxx]Y]]RPY
xxx]Y]]rU_
xxx]Y]]r;Y
xxx]Y]]:RY
xxx]Y]];RY
xxx]Y]] s_
xxx]Y]]s
xxx]Y]])S_
xxx]Y]]S
xxx]Y]]S _
xxx]Y]]ShX
xxx]Y]]SKY
xxx]Y]]sOY
xxx]Y]]	SX
xxx]Y]]sZX
xxx]Y]]t
xxx]Y]]T
xxx]Y]]tB_
xxx]Y]]TbY
xxx]Y]]tGX
xxx]Y]]TtY
xxx]Y]]u
xx|x]Y]]U
xxx]Y]]U
xxx]Y]]u0_
xxx]Y]]UCX
xxx]Y]]uoY
xxx]Y]]uTX
xxx]Y]]u;X
xxx]Y]]#UY
xxx]Y]]'UY
xxx]Y]]v
xxx]Y]]v#_
xxx]Y]]v:_
xxx]Y]]V
xxx]Y]]vmX
xxx]Y]]VUY
xxx]Y]]VVY
xxx]Y]](vX
xxx]Y]]V[X
xxx]Y]]w
xxx]Y]]W
Xxx]Y]]W
xxx]Y]]wLY
xxx]Y]]WtY
xxx]Y]]wx_
xxx]Y]]x
xxx]Y]].;X
xxx]Y]]]?X
xxx]Y]]]|X
xxx]Y]]|:X
xxx]Y]]X]]
xxxyx0y9x
xxxyx4xXx
xxxyx4y-x
xxxyx4y;x
xxxyx6y5x
xxxyx6yDx
xxxyx8y0
xxxyx8y"x
xxxyx9y511:
xxxyxAzVx
xxxyxbx!x
xxxyxbx]x
xxxyxBx!x
x	x@xyxBy0x
xxxyxby4x
xxxyxbyVG9.
xxxyxbyVx
xxxyxbyVx?x
xxxyxByWx
xxxyxby]x
xxxyxbyxx
xxxyxBz]x
xxxyxcy;
xxxyxcy]
xxxyxdx:
xxxyxdx0x
xxxyxdx;x
xxxyxdy0x
xxxyxdy6x
xxxyxdyWx
xxxyxdy)x
xxxyxdy:x
xxxyxdy;x
xxxyxdy?x
xxxyxdy.x3xXx7x3xXx9x
xxxyxDy;x9x
|xxxyxfx
xxxyxfx1x
xxxyxfy1x
xxxyxfy5x
xxxyxfyGx
xxxyxfyWx
x'x'xyxfy'x
xxxyxfy;x
xxxyxFy;x
xxx*yxgxgxtxY[9
xxxyxgy9
xxxyxhx9x
xxxyxhxWx
xxxyxHxWx
xxxyxhx(x
x'x'xyxhxxxxxVx
|xxxyxhy
xxxyxhy.
xxxyxHy1x
xxxyxHy5V!x9x(x
xxxyxHyJxKxLxJxIxLxJxIxNxIxNxIxJxJxNxJxJxMxJxJx@xIxHx@xyxRyKxMxAxLxHxIxLxIxOxKxAxMxLxHxIxKxNxKxJxAxJxyx
xxxyxhy*x
xxxyxHy;x
xxxyxhy'x'x
xxxyxhyxx
xxxyxHyxx2x
xxxyxhyxxWx
x|xxyxiy]
xxxyxiy1
xxxyxiyx#;1
xxxyxjxWx
xxxyxJxWx
xxxyxjx]x
xxxyxjxx;
|xxxyxjy
x|xxyxjy
xxxyxjy(
xxxyxJy?
xxxyxjy4
xxxyxjy4x
xxxyxJy7x
xxxyxjyLxMxNx
xxxyxJyWx
xxxyxjy:x
xxxyxjy]x
xxxyxJy;x
xxxyxJy?x
xxxyxjyxx
x|xxyxJzK
xXxyx@kW
xXxyx]kW
[xxxyxky
xxxyxky (
xxxyxkyw
xxxyxkyx?
xxxyxlx4x
xxxyxlx'x
xxxyxLx*x
xxxyxly1X
xxxyxLy9x
xxxyxLyRxXx-x
xxxyxLyWx
xxxyxly	x
xxxyxly-x
xxxyxly]x
xxxyxlyxx
|xxxyxmy
xxxyxmy;
xxxyxmy]
xxxyxMy;
xxx]Y]]xmY
xxxyxmyV
xxxyxnx]x
xxxyxNx]x
xxx]Y]]XNY
xxxyxNy1x
xxxyxny6x
xxxyxny9x
xxxyxNy9x
xxxyxnyIxJxKxIxJxKxVx
x|xxyxnyUU
xxxyxnyUx
xxxyxNyWx
xxxyxnyxx
xxxyxNyxx5x
x.x?xyxo
xxx(yxoy
xxxyxoy!
xxxyxoyx
x|xxyxpy]
xxxyxpyO
xxxyxPyWx
xxxyxPy*x
xxxyxPy?x
xxxyxqiqqWq-22
xxx)yxrxrx
xxxyxRy3x
xxxyxryWx
xXXyxryx
x|xxyxsy
xxxyxSy1
xxx]Y]]Xt_
xxxyxtx;
xxxyxTxW
xxxyxTxWx
|xxxyxTy
xxxyxTy5xLx
xxxyxtyFxFx
xxxyxTyGx
xXxyxtyHxVxLxVxIx
xxxyxTyWx
x|xxyxTy;x
xxxyxTy;x
xXxyxty[x
xxxyxty'x'x
xxxyxtyxx
xxxyxtyxx]x
xxxyxTyxx]x
xxxyxUzw
xxxyxVx5x
xxxyxVxPxxx6x
xxxyxvx(x
xxxyxvxxx
xxx]Y]]xVY
xXxyxvy0x
xxxyxVy1x
xxxyxvyxx
xxx@yxwxwx
xxxyxwy;
xxxyxwyBWW]
xxxyxwyV
xxxyxWyxurur
xxxyx(x5x
xxxyxxBxxsxsxzxxrxrywI
xxxyxxGxxyxyxyxY[9
xxxyxxGyxzxzx|xxzx0x
xxxyx;xUUFX
xxxyx)xw
xxxyx@xWx
xxx:yx|x|x
xxxyx x(x
xxxyx.x;x
xxxyx:x!x
xxxYxxxU
xxxyxx*xx
x'x'xyxXx'x'x
xXxYxxx]Y]]a
xXxYxxxyxbx]x
xxxyxXy;
xxxyxXy]
xxxyxXy4x
xxxyxXyWx
xxxyxXy!x
xxxyxXy;x
xxxyxXy]x
xxxyxXy:x0x7x'x
xxxyxXyxx
xXxyx:xZx
|xxxyx|y
xxxyx]Y]]
xxxyx]Y]]#
xxxyx]Y]]?
xxx]Y]]x|Y
xxxyx]Y]]6LY
xxxyx]Y]]8
xxxyx*y9x
xxxyx]Y]]A
xxxyx]Y]]D
xxxyx]Y]]d.Y
xxxyx]Y]]e.Y
xxxyx]Y]]o
xxxyx]Y]]P
xxxyx]Y]]s
xXxYxyx4x;x[xXx
xXxYxyxiy;
xxxyxyxxJx]Y]]
xXxYxYxXxXx(x
XXXYXYXX[ZX
)x.xxyxyxyxxyx1y]471749]
x.xxyxyxyxxyx1z9
x_xxyxyxyxxyxa
x:xxyxyxyxxyxMyz
x[xxyxyxyxxyxny
x;xxyxyxyxxyxNy
x;xxyxyxyxxyxNz
x@xxyxyxyxxyxSz
x'xxyxyxyxxyx*y1x
xxx[yxyxyxyxY[4
xxx_yxyxyxyxY[4
x!xxyxyxzxxyxezW
x.xxyxyxzxxyxgz
x(xxyxyxzxxyxmz
xxxyx]Y]]y
@xxxyx]Y]]z
xxxyx]Y]]z
xxxyxYzVxxxzxxx
xxxyxYz?xxx
xxxyxZxdxxx.x
xxxyxZy1x
xxxyxZy9x
xxxyxZyWx
xxxyxZy;x
xxx]Y]]y
xxx]Y]]#'Y
xxx]Y]]? Y
xxx]Y]]]@Y
xxx]Y]]Y
xxx]Y]]YdY
xxx]Y]]yG_
xxx]Y]]ym_
xxx]Y]]YN_
xxx]Y]]y@X
xxx]Y]]y|X
xxxyyxey
xxxyyxrxrx
XXX]YYXXX#XhXhXhXjXiXlXhXiXuXhXhXhXhXuXhXhXhXhXuX
XXX]YYXXX#XnXhXjXmXlX
XXXYYXXXXXYXXXXYYXXXXX]KXXXYYXXXXX]KXXX
XXXYYXXXXXYXXXXYYXXXXX]KXXXYYXXXXX]KXXXtZXX
XXXYYXXXXXYXXXXYYXXXXX]KXXXYYXXXXX]KXXX]Y]]
XXXYYXXXXXYXXXXYYXXXXX]KXXXYYXXXXX]KXXX YXX
XXXYYXXXXXYXXXXYYXXXXX]LXXXYYXXXXX]LXXX YXX
xxxyyx|x|x|xxzxX
XXX]YYXXXzXrX
xxx]Y]]y@Y
xxx]Y]]Y]Y
xxx]Y]]z
xxx]Y]]Z
xxx]Y]]zFY
xxx]Y]]ZPY
xxx]Y]]ZtY
xxx]Y]]zVY
XXXYZXXXXX]xXXXyZXXYYXXXXX]JXXXYYXXXXX]JXXXX
xxx]Y]]'zY
xxxzrzzzzzzzzzzx
xxxzrzzzzzzzzzzzrzzhzzzzz|z
xxxzx5zXx
xxxzx6yWx
xxxzx8y]x
#xxxzxay
x|xxzxby0x
xXxzxcy2
x|xxzxdyKx@xVxIxKxJxAxVx]x
x'x'xzxfy]
xxxzxfyWx
xxxzxHx'x]x
x|xxzxhy?
xxxzxhy1
xxxzxhyZxXxWx?x9x.xXxxxyx
xxxzxlyVx
xxxzxLy]x
xxxzxmyVG9.;?
xXxzxnx.x
x|xxzxny1x
xxxzxnyS
xxxzxnyxI
xxxzxPy]x
xxxzxRy6x
xxxzx_R__z_
x|xxzxsy
xxxzxTyxx
xXxzxTzX
x|xxzxVxw
xxxzxVy?x
|xxxZx]x
xxxzx]x9
xxxzxxExx
xxxzxxgyxqxpxqxx|xYy
xXxZx]xIxZxXx]xRxxxxxx
xxxzxxQzx
xxxzxxV|x
xxx@zx|x|x
xxxzxxx5xxxzxxx
xxxzxxx6xxxzxxx
xxxzxxxIxxxzxxx
XXXzXXXLXXX]YYXXX
xxxzxxxMxxxzxxxJxxxzxxxKxxxzxxx
xxxzxxxVxxxzxxx
xxxZxxxWx
xXxZxxxx
xxxzxxx@xxx
xxxzxxxXxxxzxxxIxxxzxxx
xxxzxx(xxyxyxyxxyx;zS
xx|xzx|xxyxcx
xx|xzx|xxyxhy
xXxZxxxzx]Y]]
xxxzxXy:
xxxzxXy1x0x(x
xxxzx]Y]]
xxxzx]Y]]"
xxxzx]Y]]'
xxxzx]Y]]|
xxxzx]y0
xxxzx]Y]]8	Y
xxxzx]Y]]g
xxxzx@yHxHxHxHxHxHxHxHxHxHxHxBx
xxxzx]Y]]K
xxxzx]Y]]l
xxxzx]Y]]L
xxxzx]Y]]O
xxxzx]Y]]qdY
xxxzx]Y]]UWX
xxxzx]Y]]VqY
xxxzx]Y]]W
xxxzx"yWx
xxxzx(yWx
xXxZxyx0yOx
xXxZxyxcy
xXxZxyxJy
xXxZxyxMz
xXxZxyxTy
xXxZxyxvy
xXxZxyxXy
x'xxzxyxzxxyxby
xXxZxyxZy4x
x|xxzx[z
xXxZxzxTx'x]x
xxxzxZx*x
x.xxzxzx|xxyxhy
xXxZxZxXxZx
xXxZxZxXxZxyxTy
xxx|zxzxzxqxY[9
)x!xxzxzxzxxyxay
x@xxzxzxzxxyxay
x;xxzxzxzxxyxcy
x(xxzxzxzxxyxcy0
x.xxzxzxzxxyxcy5
x@xxzxzxzxxyxcz
x)xxzxzxzxxyxdy
x*xxzxzxzxxyxey
x?xxzxzxzxxyxey
x@xxzxzxzxxyxez
#x;xxzxzxzxxyxiy
x(xxzxzxzxxyxkyW
x@xxzxzxzxxyxly
x(xxzxzxzxxyxLy
x'xxzxzxzxxyxMz
x;xxzxzxzxxyxnx0
x?xxzxzxzxxyxoy
x xxzxzxzxxyxSz
x#xxzxzxzxxyxuy
x!xxzxzxzxxyxUy
x#xxzxzxzxxyxUyK
x@xxzxzxzxxyxvy
     x?xxzxzxzxxyxvyw
x:xxzxzxzxxyxwy]
xxxzxZyGx
xxxzxZy-x
xxxzyxpxpxpxxyxmy#1
xxxzyx|x|x
xxxzyx|x|x|xxyxZz
]XXXZYXXZYXXxXZXVXXXDXZXVXXX
]XXXZYXXZYXX@XZXZXXXZXXXXXXXZXXXZXXX[XXXXXXX
]XXXZYXXZYXX@XZXZXXXZXXXXXXXZXXXZXXXZXXXXXXX
]XXXZYXXZYXX@XZXZXXXZXXX]XXXZXXXZXXX
xxxzyxyxyx
xxxzzxiy(
 	xx]Y]]
 ]xx]Y]]
!" xx]Y]]
';;xx]Y]]
()xx]Y]]
).xx]Y]]
:	xx]Y]]
?"xx]Y]]
xx]Y]]!!_
xx]Y]]#"_
xx]Y]][]]
xx]Y]]_]]
xx]Y]]0g_
xx]Y]]0@X
xx]Y]]18X
xx]Y]]1gX
xx]Y]]2-_
xx]Y]]3fY
-xx]Y]]3TX
xx]Y]]40Y
xx]Y]]4GX
xx]Y]]4@X
xx]Y]]5#_
xx]Y]]5KX
xx]Y]]7T_
xx]Y]]|7X
-xx]Y]]8!_
xx]Y]]8FX
xx]Y]]8GX
xx]Y]]9GX
xx]Y]]9HX
-xx]Y]]a
xx]Y]]?a_
XXY_AEAEB
X||xY||aY||HY||6Y||#Y||
xx]Y]].b_
xx]Y]]B5_
xx]Y]]BCX
xx]Y]]BnX
xx]Y]]B?X
xx]Y]]B|X
"xx]Y]]c
xx]Y]]C:_
XXYCNHSYQ
xx]Y]]cqY
xx]Y]]	CX
xx]Y]];CX
xx]Y]]cyY
xx]Y]]DF_
[xx]Y]]e
xx]Y]]_e_
"xx]Y]]E
xx]Y]]e8_
xx]Y]]E8X
xx]Y]]EHX
xx]Y]]eWX
xxyEyyyy
xx]Y]]F._
xx]Y]]FbY
xx]Y]]GbY
X]XY_GDEDNCD
X]XYG_DEDNCD
xx]Y]]gjY
xx]Y]]gR_
xx]Y]]?GX
xx]Y]]|gY
xx]Y]]_GY
xx]Y]]H4X
xx]Y]]H5X
(xx]Y]]hMX
Xxyh[xyQ[xy:[xy'[xy
xx]Y]]i"_
xx]Y]]i[_
xx]Y]]IbY
xx]Y]]IxY
xx]Y]]	iY
.xx]Y]]j
xx]Y]]'J_
xx]Y]]J;_
xx]Y]]j8_
xx]Y]]je_
xx]Y]]jEX
xx]Y]](k_
xx]Y]]kaY
xx]Y]]kdY
xx]Y]]KPY
_xxyk[Ryx;y
XXYKSC]GDAYC
xx]Y]])KX
Xxyk[xyS[xy;[xy![xy
X||||||||||XY|||l||
xx]Y]]LCX
xx]Y]]le_
xx]Y]]lGX
xx]Y]]lkX
Xxyl[xyI[xy5[xy
xx]Y]]maY
XX[YML[]M
xx]Y]]moY
_xx]Y]]MX_
xx]Y]]*MX
xx]Y]]M]X
xx]Y]]NDX
!xxy]ngX
xx]Y]]njY
xx]Y]]n;X
xx]Y]]N]X
Xxyn[xyM[xy([xy
xx]Y]]OEX
xx]Y]]OFX
xx]Y]]oI_
XXYOJDM]
XXYOKEBG
xx]Y]]:OX
xx]Y]];OX
xx]Y]]O]X
xx]Y]]o]Y
	xx]Y]]P
xx]Y]]P]]
:xxyPKxxr
xx]Y]]PKY
xx]Y]]Pt_
xx]Y]]PTX
xx]Y]] pX
----....xx]Y]]q
xx]Y]]Q[_
* 	xx]Y]]qGX
xx]Y]]qRY
-xx]Y]]R
xx]Y]]RBY
xx]Y]]rD_
xx]Y]]S[_
xx]Y]]S|Y
xx]Y]]'t_
xx]Y]]T]]
xx]Y]]tmX
xx]Y]](TX
xx]Y]]U]]
xx]Y]]u4X
xx]Y]]u5Y
xx]Y]]uHX
Xxyu[xyX[xyO[xy2[xy
xx]Y]].v_
xx]Y]]v0_
xx]Y]]V2_
xx]Y]]vBX
?xx]Y]]vrY
xx]Y]]VUX
xx]Y]]VXX
-xx]Y]]W
xx]Y]]We_
xx]Y]]wEX
xx]Y]]w:X
xx]Y]]w|Y
xx]Y]]x)_
xx]Y]]![X
xx]Y]]"?X
xx]Y]]#[X
xx]Y]]_@X
x_xyx0y9x
xxyx4y(x
x_xyx6y;x1x
 .xxyxby
xxyxby1x
x@xyxby6x
x	xyxBy6x
xxyxby9x
xXyxbys7x
x'xyxby?x
x]xyxby]x
xxyxby]x
xxyxdyEK
xxyxdy@OLAL
x@xyxdy-x
xx]Y]]XFX
xxyxfx:x
xxyxfxX5
x'xyxfy!x
x-xyxfy(x
xxyxhxxx (X9
xxyxhyxxx
xxyxhyY 
xx-yxIy]
xxyxiyYx
x'xyxjxWx
xxyxjx]x
x[xyxjy:x
x'xyxJy;x;x
(xxyxkyK
xxyxkyYx
x_xyxlx]x
xxyxlyB;
x'xyxly)x
x*;xyxlyx
Xxyxlyx2
]XX_YX[N
xxyxnyEEEEEEE
x.xyxnyVx
xx]Y]]xpX
xx|yxpy*
xxyxpy''
xxyxqx8V
xxyxqxxx
xxyxqyX69.X
xxyxqyYx
xxyxQz (X9
x xyxrx4x
x'xyxRy5x
xxyxRy;x
Xxyxryx1X
XxyxryxW
xxyxryxx
|xx|yxsy?
xxyxsy5x
xxyxsyYx
xxyxSzVx
x	xyxty;
x]xyxTy9x
x]xyxty]x
xx]Y]]XUY
xxyxuyJP
Xxyxuyx0
xxyxvxJMJVOJVIKIVJJ@yxuxJLHVJKJVJHHVHyxqxHVHVNMV@IyxsxNMV@HV@JV@Iyxtx@NVOJVLAVJIHyxuxIHIVOJVIKAV@Jyxoy*
x!xyxVy9x
xxyxwx(9
xxyxwyYx
xxyxWz(x
xx]Y]]x:X
xxyxx1xxzxzxzxxyxw
x?xyx@x3x
xXy(x*x9x?x5x9xXx
 xxyxx9xxzxzxzxxyxh
"xxyxxFxxyxyxyxY[9
XxyxxGyxZx*x	x
x'xyx@xJxKxLxMx(x
Xxyxxlli
Xxyxxllo
xxyx|x|x
xxyxx;xx
xxyxx?xx
xxyxx:xxzxzxzxxyxj
xxyxXy0N
xxyxXyQ 
x[xyxXyVx
xxyxXy]x
xxyxXyyx
xxyx]Y]]
Xxyx]Y]]
Xxyx@yIVJVKx
x_xyx"y?x
xxyxyxhy
xxyxyxmy
xxyxyxpxxyxfy
xxYxYxpxxyxtxwX
xxyxyxpxY[
xxyxyxpxY[.
xxyxyxpxY[4
xxyxyxsxY[4
xxyx"y!x-xRxVxRxJxRxWxVxRxVxNxKxUxIxUxMxNxKxVxRxLxWxJxHxIxJxJxIxHxRxMxHxNxJxWxWxVxVxJxRxVxUxUxHxyx"y(x
xxyxyx|xx
xxyxyx|xxyxAz
xxyxyx|xxyxAzK
xxyxyx|xxyxdz
xxyxyx|xxyxez
xxyxyx|xxyxgxK
xxyxyx|xxyxgz
xxyxyx|xxyxJ;
xxyxyx|xxyxjx
xxyxyx|xxyxmy
xxyxyx|xxyxOx
xxyxyx|xxyxPz
xxyxyx|xxyxQz
xxyxyx|xxyxTz
xxyxyx|xxyx_y
xxyxyx|xxyx[z
xxyxyx|xxyx]z
xxyxyx|xxyx_z
xxyxyx|xxyx[zw
xxyxyx|xxyxZzw
xxyxyx|xY[
xxyxyx|xY[4
xxyxyxyxxyx
xxyxyxyxxyx-y9
xxyxyxyxxyx-ywI
xxyxyxyxxyx z
xxyxyxyxxyx z-
xxyxyxyxxyx"z
xxyxyxyxxyx'z
xxyxyxyxxyx-z
xxyxyxyxxyx.z
xxyxyxyxxyx-zc
xxyxyxyxxyx zq
xxyxyxyxxyx'zQ
xxyxyxyxxyx	zS
xxyxyxyxxyx-zS
xxyxyxyxxyx zw
xxyxyxyxxyx#zw
xxyxyxyxxyx.zw
xxyxyxyxY[
xxyxyxyxY[.
xxyxyxyxY[4
xxyxyxyxY[5
xxyxyxyxY[9
xxyxyxzxxyx
xxyxyxzxxyx3z
xxyxyxzxxyx6
xxyxyxzxxyx6z
xxyxyxzxxyxAz
xxyxyxzxxyxBxy
xxyxyxzxxyxbz
xxyxyxzxxyxBz
xxyxyxzxxyxbzw
xxyxyxzxxyxcz-
xxyxyxzxxyxCz
xxyxyxzxxyxDy
xxyxyxzxxyxEy6
xxyxyxzxxyxez
xxyxyxzxxyxFy0
xxyxyxzxxyxfz
xxyxyxzxxyxgzw
xxyxyxzxxyxHz
xxyxyxzxxyxHzw
xxyxyxzxxyxI9w
xxyxyxzxxyxIz
xxyxyxzxxyxJz
xxyxyxzxxyxKz
xxyxyxzxxyxKzK
xxyxyxzxxyxKzw
xxyxyxzxxyxLzw
xxyxyxzxxyxNz
xxyxyxzxxyxOz
xxyxyxzxxyxPy
xxyxyxzxxyxPz
xxyxyxzxxyxPzw
xxyxyxzxxyxQz
xxyxyxzxxyxQzw
xxyxyxzxxyxRyw
xxyxyxzxxyxRz
xxyxyxzxxyxRzw
xxyxyxzxxyxSz
xxyxyxzxxyxSzw
xxyxyxzxxyxTy
xxyxyxzxxyxTz
xxyxyxzxxyxTzw
xxyxyxzxxyxUz
xxyxyxzxxyxUz-
xxyxyxzxxyxVz
xxyxyxzxxyxVzI
xxyxyxzxxyxWy
xxyxyxzxxyxWz
xxyxyxzxxyxWzK
xxyxyxzxxyxYz
xxyxyxzxxyxYz2
xxyxyxzxxyxYzK
xxyxyxzxxyxYzw
xxyxyxzxxyx)z
xxyxyxzxxyx:z
xxyxyxzxxyx[z
xxyxyxzxxyx]z
xxyxyxzxxyx_z1
xxyxyxzxxyx*zK
xxyxyxzxxyx;zS
xxyxyxzxxyx@zS
xxyxyxzxxyx*zw
xxyxyxzxxyx@zw
xxyxyxzxxyx]zw
xxyxyxzxxyx_zw
xxyxyxzxxyxZz
xxyxyxzxY[
xxyxyxzxY[.
xxyxyxzxY[:
xxyxyxzxY[0
xxyxyxzxY[4
xxyxyxzxY[7
xxyxyxzxY[9
xxyxyxzxY[(-9B:
xxyxZyP]
xxyxZyWx
x'xyxZy]x
xxyxZy;x;x
'xx]Y]]y
;xx]Y]]?@Y
?xx]Y]];|Y
xx]Y]].|Y
xx]Y]]Y"_
xx]Y]]YCX
Xxyyiyyyyyyyyyyyyyyyyyyyyyy
xx.]yyxHy5x
xxyyyyyA
XxyyyyyMy:
xxyyyyyyyyy
Xxyyyyyyyyy
xxyyyyyyyyyyyyy[
xxyyyyyyyyyyyyy1y
xxyyyyyyyyyyyyy4y*yYy*y
xxyyyyyyyyyyyyy]q
Xxyyyyyyyyyyyyyybyyy
XxyyyyyyyyyyyyyybyyyI
xxyyyyyyyyyyyyyyiyyy
Xxyyyyyyyyyyyyyyyyy
xxyyyyyyyyyyyyyyyyyyyyy
xx]Y]]z:_
xx]Y]]Z]]
xx]Y]]ZZ_
XXZCH]QQC
XXZCOQNY
XXZEYALZ
XXZ[FHPYCCB
@XX__ZGLAKKOFXLKH]FEKB
XX@ZMEGHX_PKD
XXZOYJ_AEZAC
XXZPF]NZ_Q@H
XXZPGJv@G][F
x||x||ZPy|
XXZQSLMG[Y_ZCAJ
XXZSPXLKCNO_SNP
x'xZx2xyxby
x]xzx8xWx
xxzxbxWx
x'xzxjy]x
xxzxjy]x
xxzxLz1x
xxzxqy;(
xxzxx6xx
xxzxx8xxyxyxyxY[:
xxzxxeyx
x(;xzxx]Y]]-
.@xxzxx;zx
'xxzx]Y]]
(|xxzx]Y]]
)xxzx]Y]]
xxzx]Y]]
xxzx]Y]]@
xxzx]Y]]|
xxzx_yC5t
xxzx]Y]]TqY
xxzx]Y]]UqY
xxzxzxpxY[
xxZxZxqxxrxLz]
x'xZxZxQxyx0y)x
xxzxzxrxY[
xxzxzx|xxyxas
xxzxzx|xxyxAz
xxzxzx|xxyxcy
xxzxzx|xxyxDyNxNxNxNxNxNx-x
xxzxzx|xxyxEz
xxzxzx|xxyxfy
xxzxzx|xxyxGz
xxzxzx|xxyxhxW
xxzxzx|xxyxiy
xxzxzx|xxyxiyw
xxzxzx|xxyxKzw
xxzxzx|xxyxoyw
xxzxzx|xxyxPz?[
xxzxzx|xxyxqyx
xxzxzx|xxyxty
xxzxzx|xxyxTz
xxzxzx|xxyxuxx
xxzxzx|xxyxuy
xxzxzx|xxyxUzW
xxzxzx|xxyxvy
xxzxzx|xxyxvyEV
xxzxzx|xxyxVz
xxzxzx|xxyx[y
xxzxzx|xxyx[y0
xxzxzx|xxyxYxy
xxzxzx|xxyx[z
xxzxzx|xxzxlz3@
xxzxzx|xxzxQz
xxzxzx|xxzxRz
xxzxzx|xxzxWz
xxzxzx|xxzx[x
xxzxzx|xxzxXx
xxzxzx|xxzx]z
xxzxzx|xY[
xxzxzx|xY[.
xxzxzx|xY[4
xxzxzx|xY[9
xxzxzxyxxzx
xxzxzxyxxzx.y
xxzxzxyxxzx z
xxzxzxyxxzx!z
xxzxzxzxxyx
xxzxzxzxxyx!
xxzxzxzxxyx:
xxzxzxzxxyx;
xxzxzxzxxyx0xGx
xxzxzxzxxyx0x@xKx
xxzxzxzxxyx0zw
xxzxzxzxxyx1y
xxzxzxzxxyx2z
xxzxzxzxxyx4
xxzxzxzxxyx4y
xxzxzxzxxyx5y
xxzxzxzxxyx5z
xxzxzxzxxyx6yxz
xxzxzxzxxyx7z
xxzxzxzxxyx8yH'L
xxzxzxzxxyx8yZ
xxzxzxzxxyx8zPoxxS
xxzxzxzxxyx9x
xxzxzxzxxyx9y-JA
xxzxzxzxxyx9z
xxzxzxzxxyx9zS
xxzxzxzxxyxay
xxzxzxzxxyxAy
xxzxzxzxxyxayS
xxzxzxzxxyxAz
xxzxzxzxxyxAz-
xxzxzxzxxyxBy
xxzxzxzxxyxBz
xxzxzxzxxyxCy
xxzxzxzxxyxCz
xxzxzxzxxyxdy
xxzxzxzxxyxdz
xxzxzxzxxyxDz
xxzxzxzxxyxdzwI
xxzxzxzxxyxEy
xxzxzxzxxyxEy(
xxzxzxzxxyxez
xxzxzxzxxyxEz
xxzxzxzxxyxezK
xxzxzxzxxyxfx
xxzxzxzxxyxFxZxxx5x
xxzxzxzxxyxfy
xxzxzxzxxyxfz
xxzxzxzxxyxFz
xxzxzxzxxyxfzS
xxzxzxzxxyxfzw
xxzxzxzxxyxFzw
xxzxzxzxxyxg
xxzxzxzxxyxgy
xxzxzxzxxyxGy
xxzxzxzxxyxGyS
xxzxzxzxxyxGzw
xxzxzxzxxyxHy
xxzxzxzxxyxHy4
xxzxzxzxxyxIy
xxzxzxzxxyxiyw
xxzxzxzxxyxIz
xxzxzxzxxyxJy
xxzxzxzxxyxJy)x
xxzxzxzxxyxJz
xxzxzxzxxyx:k
xxzxzxzxxyxk
xxzxzxzxxyxky
xxzxzxzxxyxKy
xxzxzxzxxyxkyw
xxzxzxzxxyxKz
xxzxzxzxxyxLy
xxzxzxzxxyxLyxx
xxzxzxzxxyxlyxxXx
xxzxzxzxxyxLz
xxzxzxzxxyxMx
xxzxzxzxxyxMy
xxzxzxzxxyxMz
xxzxzxzxxyxNxH
xxzxzxzxxyxny
xxzxzxzxxyxNy0
xxzxzxzxxyxnyP
xxzxzxzxxyxNz
xxzxzxzxxyxOy
xxzxzxzxxyxoyI
xxzxzxzxxyxOz
xxzxzxzxxyxOzw
xxzxzxzxxyxp
xxzxzxzxxyx"p1x
xxzxzxzxxyxPx
xxzxzxzxxyxPx7
xxzxzxzxxyxPxxx-x
xxzxzxzxxyxPz
xxzxzxzxxyxPzrgRgHP
xxzxzxzxxyxQxG
xxzxzxzxxyxQyEuWxx
xxzxzxzxxyxQz
xxzxzxzxxyxRy
xxzxzxzxxyxryw
xxzxzxzxxyxRz
xxzxzxzxxyxSy-0
xxzxzxzxxyxSz
xxzxzxzxxyxtx
xxzxzxzxxyxty6x
xxzxzxzxxyxtyw
xxzxzxzxxyxtz
xxzxzxzxxyxTz)
xxzxzxzxxyxTzK
xxzxzxzxxyxUz
xxzxzxzxxyxvy9
xxzxzxzxxyxVy#x:x
xxzxzxzxxyxwy
xxzxzxzxxyxWy
xxzxzxzxxyxwyHJIKLOIHNHLJILMyx
xxzxzxzxxyxWz
xxzxzxzxxyx;x
xxzxzxzxxyx"x?x
xxzxzxzxxyxXy
xxzxzxzxxyx#y
xxzxzxzxxyx(y
xxzxzxzxxyx_y
xxzxzxzxxyx[yEl
xxzxzxzxxyx@yw
xxzxzxzxxyxYy
xxzxzxzxxyxYz
xxzxzxzxxyx"z
xxzxzxzxxyx"z-
xxzxzxzxxyx(z
xxzxzxzxxyx-z
xxzxzxzxxyx;z
xxzxzxzxxyx;z-
xxzxzxzxxyx?z
xxzxzxzxxyx@z
xxzxzxzxxyx[z
xxzxzxzxxyx]z
xxzxzxzxxyx_z(
xxzxzxzxxyx-zHxVxHxVxHxVxHx
xxzxzxzxxyx@zK
xxzxzxzxxyx@zS
xxzxzxzxxyx@zw
xxzxzxzxxyx_zw
xxzxzxzxxyxZx.
xxzxzxzxxyxZy
xxzxzxzxxyxZz
xxzxzxzxxyxZz"I
xxzxzxzxxzx1z-
xxzxzxzxxzx2z
xxzxzxzxxzxEz
xxzxzxzxxzxHz
xxzxzxzxxzxMzS
xxzxzxzxxzxSz
xxzxzxzxxzxTx
xxzxzxzxxzxUz
xxzxzxzxxzx[x
xxzxzxzxY[
xxzxzxzxY[(
xxzxzxzxY[*
xxzxzxzxY[.
xxzxzxzxY[:
xxzxzxzxY[4
xxzxzxzxY[:5'6
xxzxzxzxY[9
x|xZyDx!x
xxZyvypxx
XXZyxpyx
||||x|||y|||||||||||||||||||||||||||
  x     ]Y]]
(x@@@@]Y]]
@  x     ]Y]]
x'((]Y]]
X!@@@@]Y]]
X@@@@]Y]]
xy07qy07qy	
#xy0#xyl
X|||Y||1Y||
xy1yyyyyyyyyyy1
xy3RxybSxy
X||||||||||@Y||4l||||||||||||||||||||||
xy5yyyQK
xy6xyyyyyyyyyy
X(((]Y]]8
xy8'xy.'xy
xY[(-9B:
xY[(-9B54B:
xy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
)xya0xyd0xy
XYaaa"aacacaca@B
xyaBzybBzy
@xyaCxyICxy?Cxy
XYADAHQM[BDZGPSJY
XY_AESPO
XY][A]GZ]PL
XYA]HAQ@DGQGOMLMZYGXLXS
XYA]JGZA
xyAjyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
XYAKQY_BYY]OB[L_DJMG
XYALOXSP
XYANYDAS
XY[AX@ZYC]]
xyAyyyOI:I
xyayyyyCHC
xyayyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyY
XYAZ[G[H
xYBdL[[[
XY]BGLD__B
_XYBJNPO
XYBLYJJ[PGA_G
XYBOD]GZ
XYB[OXXL
XYBSMNHG
:xyb:xyI:xy0:xy':xy
[xybZxyAZxy*Zxy
XYCCAALQX
X[YCGJ]N
XYCJZXXOSLN
XYCPJLNOLLHYL
XY[CPX]SASKOAFOCLQCN[EZP
XYCQPXYEEC
xy[Cyy[Cyy[CyyL
XYCZMX_EGSE
]@XYDDJYAGS_
XYDEGL_QN
XYDGLCL[
XYD[JHMP
[XYDMFOSBYQ]
XYDM_JMG
XYDNPPPY]DJEG[ZLN_DSASCGKJ
XYDPSLOHB
X_YDSMAO
xYD_xUD_xQD_BYD
(xyD*xy4*xy'*xy
xyE9yyE9yy
XYE_DGH_
XY]EELEBCQESNB_J
X_YEKSMXHCK_
xyEkyyyyyyyyyyyyyyyyyyyyyy
XY_EOPOY_YBODJXC
XYEQAQYY
xyEWyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xYEyEyDyDyDyEyEyEyEy
xYEyEyDyEyEyBVyEy
xYEyEyEyBX
xYEyEyEyEyEyDyEy
xYEyEyEyEyEyT@XE@NT
xYEyEy]VU
:xyEyyyy
xyEyyyyyyyyyyyyyyyyyyyyyyyyyyyy
[XYFEXBDO
xyfHqy|dqy
")))XY[FJLZZ
#)))XY[FJLZZ
XYGCBXEH]HPXB
XYGFQBKCC
XYGLCKBA]H
XYGOXLXM
XYGP[X_OL
xygqqy'Pzy
XYGSA]P_[PSED
XYG_XNSOYEF
XYHB_FDD
[XYHCMMQBBSQ
XYHCMOHQX
XYHDGNDCN
XYHDQCACOMLCKX_S[XJQGP
XYHHBJPBENFSO
XYH@_[MXOQ
XYHPSLO_
XYHSXMANS
xyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
x_yiuPTxxrkwgj@
XYi)XYiyXYi
xyi	xyN	xy'	xy
.xyi!xyV!xy7!xy
!xyi xy[ xyO xy3 xy! xy
xyIyyy7M
xyIyyyCI"I
xyiyyyNH
XYJBAZFO
X[Y]J_BH
@xyjCxy_CxyNCxy5Cxy
XYJDE[[G_
X]Y]JKX_B
X_YJPYEADYNYD
XYJSCZCSJJ]L
XYJSQ]GBHLE
XYJSSCB_F_
;xyj:xyQ:xy8:xy':xy
!xyj xyQ xyE xy( xy
XY_]JYNDN
XYK[AF[XQMNDL
XY_KFEH]L[YAOK
XYKFKNSPPB
XY]KJK]GC
xY|K_l14G
[@X]Y_KLF
XYKXASXLLCFC
XYKXNEMCNCO]_S
.xyk!xyP!xyE!xy(!xy
;xyk:xyW:xy3:xy
xYL|||]4
xYL|||4y
xYL|||8s
xYL|||9O
X]YLADYPHMJE
xylAzyJAzy
XYLBOOLSBPKNQY
x]Y]]lc_
xyllllllllmllllOllylm
XYLOEZNZ
XYLOYLCHK
XY[LPM]OQ
XYLQOGBHC]
*xyLSxy6Sxy
xYL|||	u
XYLXGBSD
xymgzyH@yy
XYM_HLHAN
)xymiyyyyyyyyyyyyyyyyyyyyyy	)xy
XYMJMCFPZ
XYM[LNCYXL
XY_MQXLZJCK
xymqyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xymyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyMyyyWK	M
xyMyyyYK
xymzyy	iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
XY_[N]_AS
XYNA_ZSS
XYNEGO]]Y[]J
XY]NFFO_]
XYNGA[PG]K_XZGOK
XYNHJG__NQD
X[YNLX_LMP@Z[
XY[NNOOLYOMYHNOBEJ[S]LLL
XYN][QNBSN
X|yn?qyv_|y
x]Y]]_NX
)xyn(xyK(xy4(xy
;xyn:xyM:xy7:xy
xy)nyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
_XYOCJAY
XYOFGS@M
XY_OGZAN
XYOH_HLL
XYOH]LOEQC
XY]@OLHKJA
XYOLOGGSO
XYOMJ]MYJ
XYOMPQXEOL
X@YOSLHDQJXX
XY[PCLGK
@xypCxy]CxyFCxy#Cxy
XYPDZLPMP
XYPJ_ONL[_
XYP]]MOOJJL
XYP_MSKKB[
X@YPPDNB
XYP@QSB_KK
XYQD[HY_XXOB
#X"	YQl-
]XYQMPBLPXN@O
X_YQOSGBML
XYQY@PBAGOBXJQNSKLG]B
'xyQyyyy
 xyQyyyy	xy
X]Y@QZ[NP
 xyr#xyZ#xyC#xy)#xy
xy	ryy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyAyyyyyyyyyyyyyyyyyyyyyyyyyyyW
[xyrZxyXZxyNZxy4Zxy
;XySCJg4ogfG
XYSCZMOO
XYSEH_HN
XYS@JvO[TJ
X]YSKN[[J_
XY]SNBXF
xYSSS@S:8
;xys:xyU:xy2:xy
xysyyyMyyyMyyy
;xyt:xy[:xy@:xy):xy
xyT#xyyv
[xytZxyQZxy:Zxy'Zxy
xyUkyyyyyyyyyyyyyyyyyyyyyy
xyUtyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
!xyU"xyA"xy7"xy'"xy
!xyu xyX xyO xy0 xy
 xyu#xy]#xyC#xy-#xy
xyUxyyXISIOI#I
#xyu"xyY"xyO"xy
xy_UyyE9yy
xy)UyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyuyyy1Cyyy
xy-UyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyymyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyuyyyyIyyyy
xyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
[xyuZxyYZxyMZxy3Zxy!Zxy
xyV8zyT-|y
X|||Y||vY||hY||]Y||SY||AY||0Y|| Y||
[xyvZxyUZxy0Zxy
]xy|Wxys]xyQ]xy
 xyw#xyX#xyC#xy.#xy
[xywZxyVZxy1Zxy
*?:X !"yx
xyx0yOJLHHOKMJINOU
xyx0y	xEx
xyx1zJtf
xyx2x*x;x(x
xyx2yJHHX;
xyx2yKxNxHx
xyx2zExExExExExExExExExExExExExExExExExExEx
xyx4y1x6x1xBx
xyx4y3.4;X
xyx4y	xEx
xyx6xIxJxOxVxHxVxHxVxIxXx
xyx6y9xFx(x3xBxCxBx(x3xGx8x(x3x@x(x3x@x(x3x@x(x3xAx@xGx(x3x@x(x3xAx@xAx(x3x@x(x3xAxyx6y(x3xAx@xFx(x3xDxFx(x3xAx@xFx(x3xAxBx(x3xBxCxBx(x3xAxAx8x(x3xCx(x3x@x(x3x@x(x3xxxx
xyx6y]xHxLx
xYx7x8xyxay) [
xYx7x8xyxly
xYx7x8xyxPy
xyx8xJxKxLxMx(x
xyx8x*x;x7x;x*x;x
xYx8x[yxwy
xyx8yLxAxNx
xyx8yOxLxIxAxMxJx
xyx8y#xUxXx;xVx
xyx8y#xXx#xXx
xyx|9I e
xyx9yKK(
'] xyxaxW
xyxax]Y]]
xyxay!!*
xyxay9.;(
xyxayVG9.1
xyxayXX" 0
xyxAy#xxx|
xyxb;2Y7N
X(;yxbx.
xyxbx-*4BX]
xyxBx5x	x"x
xyxBxIxJxOxVxHxVxHxVxIxXx
xyxBx U5
xyxbx*VX
xyxbx(x7x(xKxXx(x
xyxby--.
xyxby1x1x
xyxby5E9
Xyxby'IIIIIIIIIII'x
xyxbyIx3x
xyxbyIxAxJxVxIxNx@xVxJxVxIx@xNxyxry
xyxbySxAxNx7x
xyxbyVG9.7
xyxby*VX
xyxByWx5x
xyxby(x0x(xXx*x
xyxby.x3xXx7x3xXx9x
xyxby;x4x6xVx*x
xyxby(xNxLxVx
xyxby#x(x
xyxby-x*x
xyxBz1x3x
xyxCxcIxR[t
xyxCy7HKR L
xyxcyALHIX7
xyxcyqi|
xyxcz8xx
xyxczPxxx;
xyxDxIH:
xyxdxIxHxIxVxKxOxVxIx@x@xVxLxJxWxyx*x
xyxdxJHHVA@VINJVIJNW?
xyxDxJxKxLxMx(x
xyxdx#x:x
xyxdy-02
xyxDy0x?x
xyxdy1x9x(x
xyxdyBxBx[xMxIxPxRx
xyxdyE5"xx
xyxDyExExXxJxMxOxXx
xyxdyG9.
xyxdyPRQX.V1V(XPRQXP
xyxDyUxUx
xyxdyWx;x
xyxdyWx?x;x5x*x
xyxdy?x5x'x
xyxdy"x9x4x4x7xXx;x*x
xyxDy#x]x
xyxdyxx6x
xyxDzWx;xXx
xyxdz.x*x
XYXELGA[
xyxexwy5
xyxey;'?
xyxey;'7
xyxey@7	 F
xyxey-JA
XyxeyKIV
xyxeyVG9.9
xyxEy(xSx
xyxezH|F6
xyxezKNH
xyxezxx!
xyxfxW-XW;XZ
xyxfyUxUx
xyxfyx#?
xyxfy.x:x
xyxfyxYWWUUUWWUUUWWUUUWWUUUWWUUUWWxxx]Y]]
xYxgxdxfx
XYXGXXCM
xyxgy8.;:
xyxgy]9'9
xyxgyFFFX
xyxgygdP
xyxh;9xwI
xyxhx?(-
xyxhxBWW]
xyxhxHxLxHxAxHxLx
;xyxhxxW]
xyxhy15?'HHJJJV
xyxhy16:*NLV
xyxHy1x:x5xXx
xyxhy3xUx5x
xyxhy5"*
xyxHy5V!x
xyxHy5x!x9x
xyxhy7U3
xyxHy7x5x?xXx6x
xyxhy9.;1
xyxhyD7F
xyxhyHxNxKxXx
xyxhy(JALMNO@A9IJKL
xyxHyKLMN
xyxhyPx:x
xyxhyVG9.;4
xyxhyVG9.5
xyxHyWx(x
'*xyxhyx
xyxhyx''
xyxHy;x7x5x]x
xyxHyxVx
xyxhy;x;x
xyxhyxxx
xyxhyxxx	
xyxHyZxXxWx
xyxhz(80
xyxhzWIVHur
xYxIx9x)x
xyxIxWW?
xyxiy5(3.
?(xyxiy7
xyxiyJ|r9
xyxiyK5|
xyxiyVG9.
xyxiyVG9.;
xyxiyVI@H
xyxIyWW?
xyxiyxxx
xyxiz5"xx
xyxizH|K
xyxjx5x(x3xNxLxVx
XYX@JXB_]M
xyxjxIxJxOxVxHxVxHxVxIxyxjx
xyxjxVG9."(
xyxjxxW]
xYxJx y-x
|:xyxjy.
xyxjy;'?
X(;yxJy(
xyxJy1x6x1xUx
xyxjy4x7x4x4x1x(x7x(xxxyxty
xyxjy9.;*
xyxjy9-1;
xyxJy9x.x?xOxXx9x
xyxjyHMO
xyxjyKIVIAJVJHAV@AB@H@HyxkyKIVIAJVJHAVIIAB@H@HyxjyJIOVJNVJHAVIHB@H@HyxiyNIVIAVJMKVJNB@H@H|xsy]
xyxjyVG9.4
xyxjyvxxx
xyxjyWx4x
xyxjyWx9x
xyxjyWx*x
xyxjy@xOx
xyxJy@xVx@xXx
xyxjyXxUx
xyxjyxxx
xyxjyxxxx
xyxjyY81
xyxJyZxxx5x
xyxjzkyxH
xyxk;KzK
xyxkx9."
xyxkxBNMIMIW
xyxkxW15X
Xyxky" 0
(?xyxky5
xyxky[[[[8[[[[X[[[[8[[[[yxvy
xyxkyf"gg'
xyxkyIM@VNAVIAAVJJKB@H@Hxxx
xyxkyK5|
xyxkyVG9.
xyxKywg8x
xyxkyXXX
xyxkz(..
xyxkzA5p
xyxlx5x0x6xXx
xyxlxJxIxLxOxLx@xKxNxLx@xyxmz( 
xyxLxWx;xXx
xyxlx*x2x
xyxLy1xXx
xyxly-9;V
xyxly9((W
xyxLy9xXx
xyxlyIxJxIxVxOx@xVxAxKxVxyx(y
xyxlyIxLxOxYx8x[x9x
xyxlyJxJx
xyxLyUxUx
xyxlyVG9.
xyxlyVG9.;
xyxlyVxMxIx
xyxlyVx?x
xyxly[X5
xyxly#x6x
xyxLy;x6xEx2x
xyxLyX#]HL
xyxlyxRRV
xyxlyxxx
xyxm;8xJ
xyxm;8xw
xyxmy0)U.
xyxmy6).4
xyxmygr 
xyxmyVG9.
xyxmyVG9.;9
xyxmywhz:wh4z
xyxmyx#;;
?xyxmyxW
xyxmzJz:
xyxn;8xK
xyxnx5x(x3x.x
xyxNxJxKxLxMx
xyxNx#;;U;
xyxnx'x'x
xyxNy0x?x;x
xyxny3x1x
xyxny5x9x;xUx
xyxny9.;
xyxny]HJ
xyxNyJxHxHxKxIxJxKxIxIxKxIxIxKxHx@xJxKxJxKxIxIxKxIxNxKxIxIxxx
xyxnyJxJx
xyxny]nirn
xyxnyUx(xXx
''xyxnyVG9.
xyxnyVG9.;
xyxnyVG9.0
xyxnyWx-x
xyxNy]xOxNx]xNxIx]xOxJx]xJxHx]xOxAx]xKx
xyxNy#x]x
xyxNy'x:x
xyxny.x:xVx0x
xyxnyZx]x
xyxNyZx]x
[XYXOOA]YMCBY
xyxoxUEX 7*XJHHAX.
xyxoyu1x
xyxoyVG9.(
xyxoyVG9-2
xyxoywh|r
xyxoz2x3x;x
xyxOzUxhxx
XYXPNB_[ZA_GE[G
xyxPxDxDxDx6x
xyxpxIxIxOxOxxxxQyxixixqxxzxwy.3;
xyxpxxVNV
xyxPxZx]x
xyxpy09']H@
xyxpy(5RV
xyxPy64:
xyxpyBxVx
xyxpyDW-
xyxpy]H@
xyxpyHHBHMBNAyxpyHHBH;BJAxxx
xyxpyHHIV
xyxpyHHJV
xyxpyILJHI
xyxpyIp8
xyxpyJto
xyxPy]JVM
xyxPyLML
xyxpyM[y
xyxPyNxLxHx
XYXPYQJD[LQ
xyxpyTYCx
xyxpyWWB
xyxpyx2-2-:9Hxx]Y]]
xyxpy#x5x
xyxPy]xIxBxVxJx
xyxpyx((V
xyxpy]xx
xyxPy?x:x5x
xyxPy"x?x.x
xyxpyx      xyxi
xyxpyx((((((xyxjx
xyxPzONVOKVN@VIOMXXXXXXXXX
xyxqx:31
x'yxQxQx
x)yxqxqxqxx|xPy
x#yxqxqxqxxyx
xyxqxY8[	
xyxqy56-
xyxqy73'9
xyxqy-9;
xyxqy9.-61'*;Lyx
xyxqyHdo?C
xyxQy[[[]HL
xyxqyK7X0
xyxqyKNH
xyxqyLM:
xyxQy]yxx
xyxQzWx;x
xyxrxJxVx
xyxrxKxVx
xyxRxVx(x
xyxrx]Y]]|
xyxry?(-
xyxry5(3NLV
xyxry56-
xyxry7;-
xyxryEUEU(
@xyxry?H
xyxryHAKHKAAAAAyx
xyxry@HHHHH
xyxRyIx:x
xyxry@OVJMIV
xyxryRxVx
xyxryUxUx
xyxry.:V(
xyxryV[[
xyxryWIIIIV
xyxryx;*
xyxry:xVx:xXx
xyxry]xx
xyxRy#x[x
xyxRzxWxM
xyxs98xHly
xyxs99xHlp
xyxsi5@"
xyxsx?(-
xyxsx561
xyxsy"!!
xyxSy;'?
xyxsy1 (]HK
xyxsy56*
xyxsy5IUP]JH]JHQyxby
xyxsy9.-3V
xyxsyH|oJ
xyxsy]UJL
xyxsyWNM@KMHANMWxx]Y]]
xyxsyx.5:
xyxsyxxxx
xyxtx5x9x;xVxVxBxzxEz
xyxTxWxAxKxIxVxOxJxIxVxJxIxVx@xAxIxWxWxBx
xyxTxx1x
xyxtx[xKxJxOxOxHxxxx
xyxtxxVKKJJV
xyxTxZx]x
		xyxty!
xyxty14?
xyxTy1BX:
xyxty1x9xVx
xyxty;(5V
xyxty9.:
xyxty9x.xBxXx]x
xyxtyDxWx
xyxtyHtz8
xyxtyiyXxpyx
xyxTyUX.
xyxtyVG9.1
xyxtyx#;
xyxtyx;0
	xyxtyx6
xyxty(x6x1x;x6x-xyxvy
xyxtyXBX
xyxTy	x:x
xyxTy'x'x
xyxTy;x]x
xyxtzH|g7
xyxtzH|O6
xyxu;wI9S
x@yxUxUxvxxrxty
xyxUxZ]]
xyxuy15*'9
xyxuy517V
xyxuy''''9.(V*
xyxuy9((W
xyxuyALVJLJVJJJVILxxx
xyxuyEI|xx
xyxuy]HL
xyxuyHtHz
xyxUyKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJxxx
xyxuyU;HHHU
xyxUyVG9.;
xyxuyxxx
xyxuz( I
xyxuz]xx
xyxv;8Eeqxx
xyxv;r)hK
xyxvs;75(
xyxv;s)hK
xyxvx5x(x3xVx
xyxvx8x'x
xyxvxHxVxAxVxJxAx9xyx1y'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'x'xxx
xyxVxJxKxLxMx
xyxvxLIKH
x_yxvxvx
xyxvx(x9x"x-x"x-xxxyxnx
xyxVxx;x
xyxvy';*
xyxvy?1?9(
xyxvy4x7x4xVx
X[[[yxvy5
xyxvy9.;7
xyxvy9x7x4xVx
xyxVy9xHxHxHx
xyxvyCx7x3xXxIxJxKxxxxZyxrxrx
xyxvyFxFx
xyxvy]HJ
xyxvyIAKVI@JVILLV@MyxsyMVJKHVOHVLAyx:yW
xyxvyIxVxAxVxMxVxIxyxTy9x
xyxVyJJJV
xyxvyJMAJOAAx]
xyxvyqxxx
xyxvyUxUx
xyxvyVG9.
xyxvy@@VIA@VJK@VIKWyxuyNJVIHAVJIVAHWxx
xyxvyVWW5
xyxvyx;;
xyxvy@xKx@x
xyxvy#x:x
xyxvy'x'x
xyxvyxxx
xyxvyZx]x
xyxvz23;
xyxVzJHAVMAVJINVIM@XXXXXXX
xyxwx''';((
xyxwxBI@ANKW
xyxwxOLHHHLMLOMV
xyxwy"5G2
xyxwy9.;
xyxwy9.;5
xyxwyPQS
xyxWyP;QX5
xyxwyqxxxIJK
xyxwys|J
':xyxwyU
'																													xyxwyx
xyxwyxxx
xyxwyxxxqxxxsxxxuxxxxxx	xx
xyxxDxxx
xyx]xE'6
xyx:xIxJxOxVxHxVxHxVxIxXx
xyx@xIxJxOxVxHxVxHxVxIxXx
xyx@xJxHxIxLx
XYXXNX[L
xyx(xRxRxRxRxRxRxRxRxRxRxRx6x
xyx xTxXx
xyx'xU9X
xyx.xWx(x
xyx;x????????????????????x000000000000000000000x))))))))))))))))))))))))yxk
xyxXx]H@ V
xYxXxrxxxyxgy
x'yx|x|xvxxyxkx0
xyxXxWx(x
xYxXx#x*x
xYxxxxxx
x#yx|x|x|xxyxBy7x
xYxxx]Y]]
xYxxx]Y]]q
xYxxxyx0y]xLxVxLx
xYxxxyxb
xYxxxyxbx
xYxxxyxDy9x
xyxXy4x(x
xyxXy5!9
xyxXy7X9
;xyx:xye:xyM:xyF:xy#:xy
xyxXy;I.
xyxXyiqiu
xyxXyRX1
xyxXyUKxx
xyxXyUxUx
xyxXyVx	x
xyxXyW9((W
xyxXyWxxx
xyxxyxAxz
xyxXy!xJxAx
xyxXyxnUYS2S*S.
xyxxyxuy]
xyxXy#x(x
xyxXyXxUxXx?x
xYxxyxyxyxxyxly
xYxxzxzxyxxzxly
xyx|y!!!
xyx]Y]]]
xyx]Y]]_
Xyx[y" 0
xyx@y4xJxMxHx"x
(xy#(xy5)xy
xyx|y?;6
xyx(y7xXx
xyx.y91;Lxxxx91;Mxxxx91;Nxxxx
#xy|"xyc"xyT"xy
.xy|!xyc!xyV!xy:!xy!!xy
xyx.yDx4xFx.xJx
xyx:yDxWx
xyx@yEx]x
?xy[?xyG?xy#?xy
xyx_y#]HJ
xyx@yHxAx@xOx
xyx(yHxEx]x
xyx]y[IILxxxx
xyx[yJHILUJHJIX1
xyx[y:?L(:
xyx@yLxIxNx
xyx]Y]]Pf_
xyx]Y]]r
xyx]Y]]S
xyx]yUUUX]HJ
xyx@yUxUx
xyx@yUx(xXx*x
xyx(yWx;x
xyx"y;x0x
xYxyx0y9x
(xy@(xyx5xy
xYxyx6y*x
xYxyx8y#xUxXx;xVx
xYxyxay(
xYxyxby4x
xYxyxby(x
xYxyxby;x
xYxyxDy-x
xyx y	xEx
xyx(y	xEx
xyx*y	xEx
xyx@y	xEx
|xyxyxexxyxdz]
xYxyxFy6x
|xyxyxIxY[
xyx@y@xJxNxKxHxLxIxIx
xYxyxjxWx
xYxyxjy3x
XYXyxly1(X
xYxyxLyWx
xYxyxny7x
xYxyxnyWx
xYxyxNyWx5x
xyxyxPxY[
xYxyxRy1x.xXx
xYxyxSy!
xYxyxtx?
xYxyxTx(x
xYxyxty1
xyx[yxUx1xUxUx
xyx@y]xVxJx
xyx:y'x@x
xyx:y.x-x
xyx(y*xXx1x6x1xBx
xyxyx:xY[.
xYxyxXy]x
xy@'xy)'xy
xYxyx:y?x
xYxYxYxYxYxYxYxWx
xy;[xy?Xyy#Qyy
xyx]yxYYYX
xyxYy.6;]
xyxYySAY
xyxYyVG9.;:
xyxy|yvx
[xyxyyybyyybyyy
xyxyyy)yyy)yyy
xyxyyy|yyy|yyy
xyxYz8xcx
xyxYz9xcx
xyx]Y]]ZD_
xyxYzJtz
xyxYzyxx
xyx?zg9g
XYXZMGNN
xYxzxby4x
xYxzxDyWx
xYxzxlxWx
xyxZxUxXx3x
xyxZy5x*x5xVx9x
xyxZyDx8xXx(x
xyxZyE'6
xyxZy#]HJ
xyxZy]HJ
xyxZyLx;x
xyxZyUxUxUxUxUx
xyxZy#xEx6x
xyxZy'x'x'x
!xyy...)
xyy1yyyyyy)
xyy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
!xyyA(qv
-xyyA qv
#xyyBdq4
)xyyB|!ih6v
xyyB|	ih6v
XyycXyyUXyy;Xyy"Xyy
xy) |yC#|yC"|y
xyycyyy5xyyyyyyyyyyyyy9yy
xyycyyyExyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyCyyyyyy4	xyyiyyy
xyycyyyyyyyyyyyyyy9yy
xyyDpxyyv
xyyDqxyyv
xyyDyxyy
XYYEMAXEYP
Xyye[yyL[yy)[yy
xyyeyyyyyyyyyyyyyy9yy
Xyyf[yy4[yy	[yy
XYYGPLNM
XyyHJyyHJyy
X_[YYHPD_
xyy|IhIbIEI	I
xyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
XyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
XyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyy|InIMI
xyyixyyyyyyyyyyyyy9yy
xyy	iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyi|yyIyyyayy
)xyyiyy-)xyyyyyyyyy
'xyyiyyy
|xyyiyyy
xyyIyyyayyycyyyyyyyyyyyyyy9yy
xyyIyyyuyu
.xyyiyyy	xyyy
Xyyi[yy_[yy
'xyyiyyyyyyyyyyyyyyyyyyyyyy
[xyyiyyyyyyyyyyyyyyyyyyyyyy
xyyiyyyyyyyyyyyyyyyyyyyyyy
xyyiyyyyyyyyyyyyyyyyyyyyyyY
X|yyiyyyyyyyyyyyyyyyyyyyyyy*yy
xyyjIbIXIPIVIBI
XYYJMOFANG
Xyyj[yyQ[yyB[yy3[yy
XyyJ[yy [yy
xyykyyyMxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyYlyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy)lyy9yyyyyyyyyyyyiyye|yyyyyyyyyyyyyyyyyyyyyyyyyyW
XYYMACNNL[]C]O
xyymXyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyymyyyOxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYhxyyyyyyyyyyyyyyyyy
XYYNLQO_
XYYOQMGC
xyyoxyyyyyyyyyyyyy9yy
XYYOYJA__J
XYYPMPHJDCHYEYHJSK]
xyYpzyXpzyYpzyXpzyYpzyXpzy#oxyAnxy
XYYQEALD
XYYQLGJM
xyyqxyyyxiyyu:
xyyqxyyzyyyyyyyyy
XyyQ[yyN[yy?[yy
xyyQyyya
xyyQyyyoyz
xyyqyyyyyyyyyyyyyy9yy
xyyQyyyzyz
xyyrIWI"I
xyysxyyyyyyyyyyyyy9yy
Xyys[yyn[yyR[yyC[yy4[yy
xyysyyyAyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyysyyyeyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyysyyyyyy
xyysyyyyyyyyyyyyyy9yy
xyyTixyy
xyyTtwyyv
xyytyyUryyzyyyyyyyyy8yyyyyyyyyyyyyyyyy
xyyuhxyQyyyy
!xyy@!uv
xyyuyyyExyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyuyyyyyy
xyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvJ
xyywIlI_I5I
Xyy!wyy-oyy
Xyyw[yy;[yy1[yy
xyyxIqISI
X;(-YyxQz
xyyxyxyxyxxyx
Xyyx[yyc[yyW[yyF[yy
[xy)Yxy Yxy
XyyxyyyIyvyuyu
xyyxyyytyt
Xyyxyyyxyyyxyyy
xyyxyyy]y
xyyxyyyyyyy
Xyyxyyyyyyy
xyy!xyyyyyyyyyyyyy9yy
xyyxyyyzyz
xYyXy[yZy]y
xyyy*...
xyyy8B75
xyyybyyy
xyyyEywyayy
XYYYFOZPQBHP[
xyyyIaI]IEI1I
xy-]yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyyyIyvyqyq
xyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
XyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
XyyyiyyyIyyyy
xyyyIyzyqyq
xyyykyy(
xyyynyyy
xy.?yyPa|y
XYYYrxyxiyxXU
xyyYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"yYR"UiR"yyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
xyyyviyy
xyyywiyy
xyyyWyyy
xyyyWyyyxyyy:yyyyyyyxyyy
xyyyWyyyxyyyyyyyyyyy|yy
xyyyWyyyxyyyyyyyyyyyyyyy
xyyyWyyyxyyyyyyyyyyyyyyyY|
xyyyWyyyxyyyyyyyyyyyzyyyyyyyyyyyyyyy
XYYyxbx-
XYYyxcxP
XYYYXVVVV
XYYYXVVVVX
XYYYXVVVVX:93XB
X|yyyxy|y
xyyyxyyy
xyyyxyyyyyyy
XYYyxZx1
Xyy_[yy0[yy
xy-yyy5yyyzyyyyyyyxyyyyyyyyyyyyyyyyyyy	qyy
xy)yyylI#I
xy-yyypH
xyy)|yyQyyyoyz
xy!yyySI
xy!yyyxI
XYYYyxly1BX:
XYYYyxoy
XYYYYXVVVVX
xyyy)yxxyyyy
_xyy_YYY
xyyyyy9;vyyyyy
X|yyyyyDyy
xy)yyyYI
Xyyyyyiy
xyyyyykyy
xyyyyylxy
[xyyyyyMy:
xyyyyyMy:
xyy)yyyQyyyoyz
xyyyyyuyy
xyyyyyWhxyyiyyyYxyyy
xy|yyyyx
xy|yyyyxYCgyyyyyyyyyyyyyyyyH
xyy|yyyxyyy!a
xyy_yyy!xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-hxyyyyyyyyyyyyyyyyy
xyyy)yyy
xyyy|yyy
Xyy|[yy;[yy
xyyyyyy5zyy
xyyYyyyiyyy
xyyyyyymzyy
xy|yyyyynCdyyyyyyyyyyyyyyyy	
|xyyYyyyOyyyqyyyyyyyyyyyyyy9yy
xyyyyyyy
xyyyyyyy?
Xyyyyyyy
xyyyyyyyxyyyyyyyyyyyi
xyyyyyyyxyyyyyyyyyyyyyyyyyyyi
xyyyyyyyY|
Xyyy[yyy[yy
Xyyyyyyyy8Y
xyy_yyyyyyB
'xyyyyyyyyy
[xyyyyyyyyy
xyyyyyyyyy
xyyyyyyyyy(
xyyyyyyyyy-
xyyyyyyyyy[
X|yyyyyyyyy
xyyyyyyyyy3
xyyyyyyyyy5
xyyyyyyyyy9
	xyyyyyyyyyA
xyyyyyyyyye
xyyyyyyyyyE
)xyyyyyyyyy	H
xyyyyyyyyyQ
xyyyyyyyyyu
xyyyyyyyyyU
|xyyyyyyyyyxf
xyyyyyyyyyy
xyyyyyyyyyy9
xyyyyyyyyyy9"wyayyyyyyyyyyyIMwy[yyyyyyyyyyy
xyyyyyyyyyya
xyyyyyyyyyyI
xyyyyyyyyyyiyyy
xyyyyyyyyyyiyyyYyyyy
xyyyyyyyyyyiyyyYyyyyO
xyyyyyyyyyyQ
xyyyyyyyyyyy
xy_yyyyyyyyyyy
	xyyyyyyyyyyyyy
xyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy
xyyyyyyyyyyyyy9yy9W
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3jxyAjxy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3mxyAmxy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiXxyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMTyy5Tyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEkyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYeyySeyy9eyy'eyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyKWxyeWxy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyYyy
|xyyyyyyyyyyyyyyiyyy
xyyyyyyyyyyyyyysyyy
xyyyyyyyyyyyyyysyyy)
xyyyyyyyyyyyyyysyyy0
xyyyyyyyyyyyyyysyyy44
xyyyyyyyyyyyyyysyyyF7
xyyyyyyyyyyyyyysyyyP4
xyyyyyyyyyyyyyysyyyv5
xyyyyyyyyyyyyyysyyyY
Xyyyyyyyyyyyyyyxyiyyyayy
xyyyyyyyyyyyyyyypyyy
xyyyyyyyyyyyyyyypyyyB
xyyyyyyyyyyyyyyypyyyyv
Xyyyyyyyyyyyyyyyqyyy
Xyyyyyyyyyyyyyyyqyyy5
XyyyyyyyyyyyyyyyqyyyAG
xyy]yyyyyyyyyyyyyy9yy
'xyyyyyyyyyyyyyyyyy
[xyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyyI]
xyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyyyW
xyyyyyyyyyyyyyyyyyyy
xy	[yyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyyyyyy
Xyyy	yyy[yyy-yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyyyyyyyyIyyyryyyd
xyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
xyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyM
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
Xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqzyy	H
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyym
xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
xyyyyyyyyyyyzyyyY|
xyyyzyyy
xyyyzyyyxyyy
XYYZDL[DH
xyyzyyyyyyy
xyyzyyyyyyyyypyyyyyyyyyyyyyyyyy
xyyzyyyyyyyyyqyyyyyyyyyyyyyyyyy
xyyzyyyyyyyyyryyyyyyyyyyyyyyyyy
xyyzyyyyyyy|yyyyyyyyyyyyyyyyyyy
xyyzyyyyyyy|yyyyyyyyyyyyyyyyyyyI
@xyzCxyYCxy8Cxy
__XYZ]kD]X
__XYZ]kf]X
__XYZ]kF]X
__XYZ]kH]X
__XYZ]kJ]R;
__XYZ]kL]X
__XYZ]kQ]Sq
__XYZ]kT]X
__XYZ]kV]Rq
__XYZ]kW]X
__XYZ]k@]X
__XYZ]k|]X
XYZOQM_O
XYZSD]BQQ_BHACJ[HLX
xyzx|x|xrxxyxuxW
_[XYZXXXXX]xXXXtZXXXHpX
[xy|ZxyaZxyJZxy7Zxy
;xyz:xyc:xyH:xy5:xy
)xyz(xyj(xy
XYZYY_c8
XYZYYH]7
XYZYYJqc
XYZYYKBAi
XYZYYK"c
XYZYYKi2
XYZYYKNc.
XYZYYKQZ
XYZYYK_RC@
XYZYYKT0
XYZYYKTc
XYZYYKX2
XYZYYKXa
XYZYYKXl
XYZYYKYP
XYZYYK;Z
XYZYYKzq
XYZYYKZY9
XYZYYP_[[[[ZN
XYZYYP_[[[[ZT
XYZYYP_[[[[Zz
XYZYYQ *
XYZYYQtQ
XYZYYS13e
XYZYYS w
XYZYYSwr
XYZYYWV1
XYZYYXYo
XYZYY_Y[[
xYzyy-yypyywixxhxYlwz-yyNpyyx
xy|zyyyyy
XYZYYYZkkV]Rq
XYZYYZFkV]Rq
XYZYYZ[kQ]Sq
XYZYYZ kV]Rq
XYZYYZ[kV]Rq
XYZYYZ_kV]Rq
XYZYYZXkV]Rq
XYZYYZYkV]Rq
XYZYYZZkV]Rq
XYZZLOXB
[[[X[[[z[[[
|||X|||Z|||]|||
]xz8xxx]Y]]
XZA_JDBDM[_Q
@XZAJDXXLFDB
XZALYQLEZZ
]XZAYJCPBJYYCAMOHOJJOHGC
XZB]_[_C
X_ZBGHLXXP
:XZBgiagfG
XZBLEEYJG
X]ZB]MHB
][XZ[BOC
XZB]PAQQ
_xZBXK7Z	T
XZCBYDYDM
XZCBYLNAJ@GCMLXA
XZCFACFB
XZCHHPHX
XZCLCOJL
]_XZC[LKZDXAPZX
XZCP]S_OD
XZCYXBK]K
xz_d@[[[
(xz-damaged)
@XZDBGDMO
X_[ZDCA_AKCMK_K
XZDCZ[KEGYZFC
XZdE[[[	[[[
XZDE]OQLXBL
XZD][HC[A
XZDHPK_GCB
XZDHQCN]
XZD]HXDO
]XZDMLPASKM_JYKBN
XZdY[[[v[[[
XZ[DZFCQDNACMOQB[HLZZA
[]XZE_B_
XZECJNQEZK]
XZ]EJHLG
X_ZESBMNBSF
XZ]ESED]
X[ZEXKJMC
xzEyLBA@s
[XZE_YYJNFSLN]
xZg3	gfG
XZGABYSY
XZGBEEQAB]PDBAJQNDJ
XZGBPQQNLDHJZG
XZGCO]ZZ
XZG[]DAY
XZGGYGZYM
XZ_GNXH@PBON
Xzg-ogfG
XzgokgfG
X|zgqgg7(K?|
XZgqgggP
XZGQSEP_
XzgWfgfG
XZGYSGYGB
x)))Z]H[]
XZ_HABJY
XZ[HBNHDJ]QP
XZHCB__G_LSSN
XZHEBJESPLSG
XZHENYOLG
XZH]EYACJN_SE]
@XZH[GBXDE@
XZHHBMP_
XZHJGGHBL
XZH_KZ]C
x)))ZH_L]FO@EL
Xzh.llllllllmllllOllylm
XZHMLK[X
XZHSEYOOA
XZ]HSQNJ
XZ]]HZyxhx
XZ]]IZX]]Rx
XZJHC[LF
]@_@]X_]Z__JKPMO[YJ
XZJOAHSG]
XZJPGZPQ]
X_ZJXBH]
XZJYMP[ZNN_]EJM
x)))ZJ[@Y]]PYL
x)))@ZJZ@JE@
]XZ[KD@]XJCM
XZKHYC[CNOFY@S
[X[Z]KJA
XZKLOQZFNBZO
X@[ZKMEBX
XZKO_JAB
XZKOZYJSJ@
X@ZLBBLD
XZLB]OJODZN
XZLCMABD
x)))ZL]E
X[ZLEH]OBM
x)))ZL]F
x)))ZLGMZ][@GN
X[Z][LHD
XZLHYYMQMHS
]X_ZLHZX[SO
@XZLKKQL
x|ZllllllllmllllOllylm
x|Zllllllllmlll]Y]]
XZ[]LL_MQQKAKM
x)))ZL]O
XZLONAXP
XZLOPASCHEXS
XZ]LOXNQ
XZL[YA_PPMD
XZ[LYQ]XGP
XZ[MADBBJJ
X_ZMJN]]JLB
XZMLOH[E
X]ZMN]BL
XZ[M[NPQH
X[ZMOQONZAJKOLDMMS
XZMZ[LSZJLDPJ
xzn	e|j6
XZ]NHHZHQOZ
XZNH[Q]C
XZNMYHOK
[XZNN]AX[BBH
XZ]NPMA]_
]X_ZNSLXQAMESH__
xZ(NSSWXTs
XZNXAX[S]]AQB
XZNZXNYESQLSG_H
	X[[[Z[[[O[[[
:X[[[Z[[[O[[[;
X[[[Z[[[O[[[
X[[[Z[[[O[[[]2
X[[[Z[[[O[[[B
XZOBESLBBCL
XZOE_LY]Y
XZOGZ]QNPH
XZOH]ENK
X[[[Z[[[O[[[k
_XZOKMKEAS
X]ZOKZLQ
]XZONB[Z
XZ[O]OPZ
X[[[Z[[[O[[[s
X[[[Z[[[O[[[]Sd
X[[[Z[[[O[[[t
X[[[Z[[[O[[[x
X[[[Z[[[O[[[xA
X[ZOX]A[DXY
XZOXNDPPM
[]X_ZPAKO@NC
XZP[AYDZ
X[ZPD@QS
X[ZPEBFYGSL
XZPEM_BDLJ
XZPG[PAS
xZpgppepq
xzpgppepqF
_XZPL[CQ_SZX
XZ[PME@JPH
XZPQQOMD
X_ZP]XJGO
XZ_QD[NL@JX
XZQEGGHB
XZQ_LHAM
X[ZQON_Z[YJ
XZQpgppepq
X]ZQQ@P[EX_
XZ@@@@@r@@A@AAac
X[ZSAAB[
x!ZsAQSSegULK9
XZSC[OGQZ
XZS]KMHSHB]
XZSL]G[PNJYQJA
XZ[S_][M
]XZ[SSPL_L
XZsSQSS9
XZSY@CDEJZ
XZTgAT[g]UPWsSSS
XZTgQEyZT
xzwOB#ggw
xzx8y@HOM
xzxbxWx;xXx
xZxBxXxIxTxyxHyZxXxUxUx
xZxBxXxZx
xZxBxXxZxx
xZxBxZxJxLyIxIxLxMx@xNxOx@xLxAxOxNx@xLxKx@xAxKxJxOx@xOxKxJx@xAxxxx
xZxBxZx]x
xzxbyRRX:
xZxCxJxTy
xzxczwI1Q
X]ZXDM[SMJZQ
xzxdxRRR4
xzxDy7x;x9x
xzxdyAxKx
xzxfyxWG
xzxfy#xXx9x
xzxgyxNOILHHANMAM@MKMy
XZXHLZMGGXM
xzxh;Mxxx8
xzxhxEUEU(
xzxHxHKK
xzxhxxxWx
xzxhyPixxr
xzxix19-
xzxiyLJMX!
xzxiyVG9.;5
xzxjx1x;xXx4x
xzxjx889
xzxJyEx]x
xzxJyUUUUUUUUUUUUUUUUUUUUUUUUUUUUU* "
xzxkxRZC
xzxl[]Hxxx
xzxlx-x*x4x'x5x
xzxly(;:
xzxly496?B]
xzxly5 *
xzxmy??]
xzxn;b]HC
xzxn;n_HL
xzxNyD:FHHHHHHHHHHHHHHHHHHHHHHHHHHD
xzxNyPx;xQxXx5x
X_ZXOGCGY
xzxpy-*4'
xzxPyIxLxAxVxMxNxVxIxLxKxVxJxKxLxXx
xZxQxCxxx
xZxQxCxXxFxFx
xZxQxQxQxyx
		xzxqxx
xzxqy5L	
xZxrx4y1x6x1xBx
xZxrxvy;x
xzxRy1x_x
xzxry!""95
xzxsx1(1
xZXszrxx
xZxTxJxTx
xZxTx[xIxxxxxx
xZxTxXx4x
xZxTxXxIxHxQxCxyxuy(
xZxTxXxIxHxQxCxyxXxXx
xZxTxXxJxQxCxXxFxFx
xZxTxXx[xIxxx
xZxTxXx[xIxxxRxxxVxxxVxVxxx
xZxTxXx*xKxJxXx]x
xZxTxXxZx
xzxTyZxXxZx
xzxuy r|ga
xzxvx-*47
xzxvyO@VIHAVINVJMHxyxry
xzxvyrxxx:
xzxvy:x9x3xVx
xzxWxHKK
x'zxwxpxcxx
XZ_XXA[Q
xzxxlxcy
|xZxxxDxxyxyxyxY[9
xzxXxExUx1x
xZxXxOxXxZx]x
xZxXxUx9x
xZxXxUxUx
xZxXxUxUx0x
xZxXxUxUx(x
xZxXxUx(x
xZxXxUx(x7xyxZy]x
xZxXxWx1x
xZxXxWxFxDx
xZxXxWx x5x4xyx
xZxXx-x9x;x9x
xZxxxxxXxUxUx
XZXXXXXXXXZXXXXX
xZxxx]Y]]
xZxxxyxayx]HJ
xzx|xxyxsk
xZxXxZx]x
xZxxxzx]Y]]
xzxx]Y]]
xzxXyBx"x
xzxxyxhyx]
xZxxyxqy
xzxxyxry
XZxxyxRy9
xzxxyxuy
xZxxyxyxyxxyxmy1
xzxXzH9|
xzx@y8x]x
XZXYCGDACQC]JGD
xzx[yEN_xx
XZXYXEX@X]X
xZxyxly:x
xZxyxryW
xZxyxryYx
xZxyxtyZ]
xZxyx#yZ
XZXYYXXXXX]sXXXXXLX
XZXYYXXXXX]SXXXXX@X
XZXZDGQDN_Z
XZxZXFFX6-4Xyxmy5
|xzxzxsxxyx
XZYBGPGH
XZYC_S]A
X)))ZYE@]
XzygXzy-Xzy
xZyIx@x@xVxIxNxMxVxIxLxHxVxJxKxKxZxCxJxPy7x x!xXxLxNxVxIxNxNxVxIxLxNxVxIxNxMxZxCxJxRy(x*x7x x!xXxAxLxVxJxKxVxIxLxLxVxJxJx@xZxCxPx
X_ZYJLJSMS]SJ
XZYLO_P_C
XZY_L[YD
XZYMFGEKDP_L
Xzyr[zyY[zy5[zy
x;ZYx7BYD9
xZyxfxfxqxxrxkyw
XZYX[QQHBYAZ@N_D
xzyyyyy9";
XZZAZN][
XZZDDZZNN
XZZNAAOPL@
XZZO[P[K
XZZPMZQSZNX]ZZAJ
XZZPQQDSYN
XZZPX[D]
XZZQDG[LLAFF
XZZ]RZZX
XZZSAOMAJSC
XZzxsxZX
XZZxyxly5
xZzxyxyx
XZZYA]XE
xzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzy
))))(y)))
))y))))(
))y)))))
[[[:[[[.y
[[[;[[[y
|[[y[[[__
|[[y[[[___
||||-y||-
||||||||||||y|||
||||y|||||||
y          ;           
y         ?        
y!!!*!!!
y"""*"""
y################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
y@@@@@@@*@
y]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
y_@@@@@@@@@
y|()!  ()! 
y||||||#
y|||||||||||
	 !((]Y]]
	:@@@@]Y]]
	Y****.*
     ]Y]]
     ]Y]]#
     ]Y]]:
     ]Y]]@
   "    ]Y]]
  .!    ]Y]]
  .!    ]Y]]"
  :     ]Y]]
  ?     ]Y]]
  @     ]Y]]
  @     ]Y]]!
  [     ]Y]] 
 !   ]Y]]
 @@@@]Y]]
!    ]Y]]
" ((]Y]]
"!((]Y]]
"'((]Y]]
")((]Y]]
#'((]Y]]
#@@@@]Y]]
#@@@@]Y]]!
#[[Y"[[)"[[
'((]Y]]]
'@@@@]Y]]
('((]Y]]
(((]Y]]?
(.((]Y]]
))Y)))))
)*((]Y]]
)@@@@]Y]]
)]Y]]_(_
*'((]Y]]
*((]Y]] 
*((]Y]].
*@@@@]Y]]
-]-((]Y]]
.	!((]Y]]
.)))Y[@_
.@@@@]Y]]
;  @     ]Y]]
;@@@@]Y]]
;|(((]Y]]
?'((]Y]]
?@@@@]Y]]
@(((]Y]]
@@@@@]Y]]
@@@@]Y]]
@@@@]Y]]!
@@@@]Y]]*
@@@@]Y]].
@@@@]Y]]:
@@@@]Y]]@
@@@@]Y]][
@@@@]Y]]]
@@@@]Y]]|
@]Y]]'-]
@]Y]])-]
[(((]Y]]
[[[	[[[Y
[[[:[[[Y
]'((]Y]]
](((]Y]]
](((]Y]]@
]@@@@]Y]]
_!((]Y]]
_'((]Y]]
_(((]Y]]
_)*((]Y]]
_@@@@]Y]]
|||||||||Y|
Y@@@@@@@@
*((]Y]]0
:||Y;||0
@]Y]]]0]
y!0!0!0!0!0!0!yxl
y***??02?0V(
y;0-6?'1*76';96676V4-9yxi
y0773'16XEX]
y_]-07:D6*32Q.
Y09*1;9xyxSi|
Y0eZ[[[J[[[
y0ggcgfG
;Y0gqggF
y0gqggqw
Y0M;Y u0A
y0O@@A@h SLQc;
y0OB@A@2 @e
Y0PdO[[[
y0ru6fb5PP
Y:0VIxyxFz1
Y0VIxyxtzr
[Y0y0f0L0 
y0y3y2y5y4y
y0y3y2y5y7y6y
y''''''''''''''''0yxi
y0y;y4yKyNyNy
y0y)y!yyy7y
y0y:y?yyy8y
y0y	yyyyy0y)yYy-y
())))))y1
y         1         
'((]Y]]1
@@@@]Y]]1
Y*10?-R:
y(!1111111111111111O)"
y11111111111111Lyxn
y11111111111111Lyxr
y11111111111111Lyxt
y11111111111Kyxv
y11111111111Kyxw
y1111111111Ixxx
y1111111111Iyxq
y111111111Myxi
y111111111Myxw
y11111111Jyxr
y11111111Jyxv
y111111LJyxp
y .111yxpyx      xyxs
y1'''''''1yxr
y1''''''''1yxs
y1'''''''''1yxt
y1'''''''''''1yxu
y1''''''''''1yxu
y 1*;75yxp
.y*18		;
y1BAAAA@AAAAACl
Y1CYdgfG
y@1@@E@ACac
@@@@]Y]]1EX
y1g3bgfGJSWigqgg
Y.1gAggwH?
y1gCjgfG
y1g'kgfG
Y1gqggyx
|y1KyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
@]Y]]1M]
Y1mgqgg?
Y:1VIxyx
Y1|vodo9ogo
y''''''''''''''''1xxxdyx
Y;'-*1xyx:iBxWxWxxx
y1yyy9I1I!I
]y1Z!|rR
@@@@]Y]]2
y-2-2-12-2-2-2-2-2--2yxt
y2Bgqgg0
 Y2cdgfG
y2DdH[[[
Y2DdS[[[
y2F8!86]
y2g7aggG
Y2g#cgfG
y2HJ'IVJyxqyW
)]Y]]2KX
y2llllllllmllllOllylm:d
)]Y]]2MX
y2opbgfG
Y2.xyxcy
Y?2xyxdy
Y2.xyxny
Y3_]-07:D)
y3-(16?xyxty
y3417!JLH4
@@@@]Y]]3a_
Y3'Axyxvy4
Y3bg]kgfGW
y3g|||p||
y3gYkgfG
Y3Gyyyyy
Y3I3]Y]]
;Y3llllllllmllllOllylm
Y3VKxyxFzD9
)]Y]]3_X
)]Y]]3 Y
y3yyypyTy2yyy|yTy5yyyxyWy4yyy
y3yyyyyyypy4y*yYy*y
y        4              
@@@@]Y]]4
y(4735Kyx
y49494949yxw
y'4_CCNCCCBACCEg
?y4eF[[[
?y4eV[[[
?y4eX[[[
?y4ey[[[
?y4eZ[[["[[[ [[[
Y4g;gufgfG
Y-*4xyxHz
	y4yTy6y
y4ytyyKUyEyyyyJWyGyyyyMVyFyyyyLyyyyyyyySyyy
-y4y)yyyyyyy
y @.50MA @
y*5)!3	"
Y54xzxuy
y)58 Y4)JY
Y5CgqggC
y5D;lkZA_
Y5fgfG(uW
Y@5gqggI
y5;;;;;Iyx
|Y|5|J|H|
y5LdG[[[z[[[
'Y	5llllllllmllllOllylm
Y5@@@@@@@@Lp@f
y5Q@@@@B@B@2 @j
|y5(qy;	qy
y5TyyMWyy
Y:5VIxyx
Y5VJx|xux
Y:5xyxqy
Y5(xyxsy*(
y5;;;;;yx
:y5y*y0yy)y
'((]Y]]6
y.; 65; .6;  ;5:V
y6:;:; 6:6;:6;:5:6; 6; 6;6 :;6: yxh
y6:;:; 6:6;:6;:5:6; 6; 6;6 :;6: yxR
y:6" 6:" :6" :6" :6 yxt
y"667777
y.667777
y67cgsfgfG
Y	6@@@@B
Y6DdO[[[
y6f.-g-cgfG
Y6g9lgfG
Y6llllllllmllllOllylm?
Y6pgppepq
y6y2yyyyy
y6y2yyyyyyyyyx)yyyy
y6y2yyyyyyyyyz)yyyy
Y6 Yg-bgfGx
y*6!(!yxp
#]Y]]7]]
y7373737373737373yxu
y.7777HIyx]
Y7cllllllllmllllOllylma
y7g]dgfG
Y7gipgfGE
Y)7g_wggG[
y[[[	7hfE[[[x[[[
Y7llllllllmllllOllylm
|y 7qy 7qy
y7SXD7zx
Y7]TgfG 
y7x?x)xMx6x
y:7yxdy@
Y7;Z9u1g
@@@@]Y]]8
@]Y]]!8]
@]Y]]"8]
y*-8-0:yy
)**y8-44
.y.*87*)0
Y?8AllllllllmllllOllylmq
y8dDxyyy
||Y8||E8||28||
y[[[8ftdN[[[
@y8gqggB
y|8hpz8hpz
Y:8IgntIJHKIMIIIIII#ntHJHKIJKJL@L@#I*HrIp
Y:8IgntIJHKIMIIIIII#ntIAHKIJKJL@L@#I.HrIp
Y):8IgntIOIMIMH@MJMO#ntINHIIMH@LJMO#I
Y8IJKLMNOyxhyHI
y8I'KNHV
y8llllllllmllllOllylm
Y8llllllllmllllOllylm
Y8ngqggIy
y'8pgppepq
Y8pgppepq
.#Y8QggfG
y8y)y0yyyyy
y8y	y	yy
y8y	y	yyy:y
y8y)yyyyy.y
Y||||||||||||||||||8Z||||||||||
y!!!9!!!
y"""9"""
y@@@@@@@9@@@@
@@@@]Y]]9
y9;0'73xyxqyW
y:96;79:;yxu
Y96VIxyx
Y97xyxly"
@@@@]Y]]98X
y 9 9 9 9 9 yxk
y 9 9 9 9 9 yxu
y"9"9"9"9""9zxq
Y9DdA[[[
y9e?yqyyyyyyyyyyya
y9[Gmggfw
##Y9gsPgfG
y-9HHHHHyxcy
y9iyyyyyi9y
y?9ML?N(JOM*L90?M!OM090xxx
];]-Y9MRK
Y9pgppepq
y9sg[ggfG
Y9VIxyxUz
Y9VIxyx-z
y|9xEw_xx
(y9xx]Y]]T
Y9xyxmy(
Y9xyxnyW
Y9xyxqhJVAIx-( YyxhhGmm
Y9xyxuy8x
Y9xyxXy6x
Y9xyxZy(x
y9xyy9i0
)]Y]]9 Y
y9y9yyy9y
y9y9yyyyy*y
)]Y]]9YX
y9" ;;;;;;;;;;;;;;;;;;;yxk
y9" ;;;;;;;;;;;;;;;;;;;yxlxx
y9" ;;;;;;;;;;;;;;;;;;;yxv
y9yyy9i0
|y9yyyJI4I
|y9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
y@@@@@@A@
y_@@@@@@A@@
@@@@]Y]]A
Y.@@@@@@A@@
Y@@@@@@A@@
yA1xy71xyF]|yYW|y
y@@A@7pQD
yAAA@A2!DU
YAAAAAAAAA
yAAAAAAAAA*A
yAAAAAAAAAAAAAAAAAAA9
 yAAAAAA@AAAAAC_
yAAAAAA@AAAAAC
YAAAAAA@AAAAAC
YAAAAAA@AAAAAC2
YAAAAAA@AAAAAC5
YAAAAAA@AAAAAC9b
yAAAA@AAAAAC
yAAAAAAAAaqAJ
yAAAAAAAAaqAWX
YAAAAACAAeqAAAAAAAAAACQAAIqA
yAAAAAQAAQqRJAAAAS
#(@@@@@y@@A@AAac
@@@@@y@@A@AAac
@y@@A@AAac
yAAAAC@AAIqAI
"yAAAAC@@A@PAIp
@@@@@y@@A@AAacoo
@y@@A@AAacoo
yAAAAUAAAQqSA
YA[AACXG
YAAANOHPQG@Y
yaaaZ9en
@@@@@y@@A@ACac
@y@@A@ACac
@@@@@y@@A@ADac
YAAE_YDS_Z
YAALHBP[ZN@KFGDDL
YA][AMLPNZOJ
yA'A']N'
YAAXNMQBY]K]O[O
YAAXYMGYHZ
ya@@@@B@A@2 @
Y@@@@ABABNpD@@@@@L
YAB]BB_QMA[EOPZZD]
Y@[ABCYKAJMGA_QFHH
YABHOD_LH]JHFLBHBM
YABJCY@SL
YABJJCPJ]
YABLHZMG@CPBOG
YABMAHB]
YA@B@[pML
@YABPYBZ
]YAC]GYBNZMP
YA_CM[ZNN
YA]]COMHQHL[]SY
@YACYHALJF
YADC_MDQADJS
]YADGQADYOAO[GXLYYEPM
YADJLDZJ
YA@DZAFJB
YAEBQMPZX[N
@YAEBXBY
Y[AEBXSOM]NQBXSBB
@YAECKMYMZBA
:)))Y]]AEDQ
Y]]AEDQ[L_[LZ
YAEECX_O
YA@EEF_L
YA@EFEFN
YA[EGOJSPZD]@
YaEgqggE
YAENPMPSYK
YA]EZMJDYLPP
YAF]BBDF
yAFD@GL[
.)))YAF]F
yAF]Fd@Qo[LL
YAF]FJ[H]@vGLQ]NLG
YAF]FN[H
YAF]FN[HDDL][PZL[_@JLZ
YAF]FN[LLGKLL
yAF]Fn[@M
YAF]FN[@M
YAF]FYAHZL
yAF]FyAHZLy[LOL[LGJLZ
!)))YAF]FZ
yAF]FzYLHB
yAF]FzYLHBFG
yAfgfG	z
((@YAFGL
@yAFGLfz
YAFGLNHY
YAFGLZH_L[
YAFGLZYEF@]
]YAFSPMPMMQHYY
@YAFZ]LG][PDP@YAFZ]LG][P
YAG_CFDCH_
]YAGGZXQP]XSJNK[ZQNOYBDPZP_YZMKY
Y]AG]_JJ
(([YA@GLv@GZ]HEE
((YA@GLvZ]Z
YAGL[YQDP]QJA
YAGOHBS_]KPALX
YAgqggCY
yA:gqggd-9
*Yagqggwz
YAG]_YFDJDPS
yagyngfGA
YAGYN_QJ
yAHAHIAAyxpyAI@IHOHHxxx
Y_AHAQB[OH
@YAHDAHNFGJ
y@@A@h EF
YAHENF[@]AD
YAHG]FDJ
YAHGMEL[
[YAHGPFA_OD
Y]AHJBL[
YAHOLZJNB
YAHS]ASDXHHOAKHLME@GKGB
YAHSL]A[LL
YAHSSEYAP
Y@@A@h ST
YAHXMENSYM
yAIVJKLVKMVIHNzxt
)))YAJ]CFJC
YA[J[DSE@SSOHYALPSBSM
]Y_[AJJDDX_
YA_J@NCQGJL@CSNB
YAJZKOLC
YAJZYGJNB
YAKCHDJKN
YAKMNG[L
YAKNEZE@LS
yAKVIIMVJOVMOyxt
YALDENEM[
Y)))ALEE
y@aL[FLZ
Y@AL[FLZ
yAllllllllmllllOllylm
YAllllllllmllllOllylm
y@ALMKIMUNML@LKIxyxk
Y[AL_O_P
YALSEPHQ
[YALSKHA
YAL@YNC@
Y)))A@ML
ya@MMLGjDM
ya@MMLGzJA]HZBZ
YAMNNCSOK
Y[AM[P@[JLGYCEQFLNM
YAMSDOCA
YAM[Y_MOYDXQE[A
YAMZ]]]CA
]YANCGADD[BHN
]Y[ANE]F
YANMLYZE
@Y_ANOCY
YANOJJSL
Y]ANPZ[BY
Y[AN_ZPZAFNKG
@YA@O@ACac
YAODKMSP@O[_OSZ
YAOQA_EBGL[LDH_
YAO]SHOO[PDBY
YAP@HA[SGMNCHD
YAPMBLHBM
[Y_A_PMEX
YAPOMHBNMK
YAPSZYLEZ
y)))APYL[E@GB
YAPZ@JHEDLDF[P@GZ]HEELM
YAPZ@JhGM[F@M
YAPZYA@E
Y[AQDMHDP
YA[[QJK_]ZSL
YAQMQHNSDZKJ
YAQN_ZMQ[X[NNEZA]CK
YA[QSLDHQN
YARASANL
YARg;KgfG;C
YASBQHOXQ_D
]YASGGDXOY_OKKNB
YASMCAGAA
)]Y]]ASX
yAs#y1N)
yavllllllllmllllOllylm
Y)))A_WNrYL
YAWPsRRSS9
yA|wyE|wy
)]Y]]?AX
Y[AXALNJ_O@ZJ
YAX_GHGQGYAD
||||y|||A|||Xi
Y][AX_LAQPJJ
[]YAXLCB
YAXOXACC
y@@A@XpDQ
Y]AXPKFZ]HS
YAXQXY_KF[JC_CMC[
YAXY][YK
YAXZEZLOYXE[
y)))A]]Y
YAYAFZ]LME@GB]PYL
YAYA_HZALEEZJ[@Y]
YAYBCKHX
Y[AYCMYJ_H
YAYDH@EL[
YAYDL]AFM
)))YAYDPHMD@G
YAYDPHMD@G
?)))YAYFKvJELHG
)))YAY@GOF@O
_Y]AYHDQPJCHZMMQJ_
YAYiHZZL[]
YAYiL_HE
YAYiY[LNv[LYEHJL
yAyIyMyKy	y
yAyIyMyKyYy2y
yAyIyYy5y
YAYJFMLAL[L
;)))YAYJFML@GCLJ]@FG
)))YAYJFML@GCLJ]@FGLQYEF@]UuG
)))YAYJFML@GCLJ]@FGUULQYEF@]KP@
YAYJFMLT
YA_YJYXH
:|yA;|yK9|y
YAYKHJBJFGGLJ]
YAYL[[F[v[LYF[]@GN
	)))YAYL_HE
YAYLQJLE
YAYMLO@GL
YAYMQXP[_CZD[B
_YAYMXD_D
YAYOC]]A]JA
YAYO@ELE@GBGF[DHEF[K
YAYOGOMPA
yAYQPSzLH[JA|[E))
]YAYSZZS[HJS
YAY]tYHZZ]LZ]
YAYUFZHJFDY@EL
yAYvlJAFvjE@LG]vmFD
YAYv_L[Z@FG
yAYvnL]vlDH@E
YAYvYHPEFHM
YAYvZLEOu
YAYvZLZZ@FGvYAY
yAYvzLZZ@FGvZ]H[]
YAY@XB_OZ
**-YAYYAY
yay_yNySyoymy
|yAyyy9A1A
|yAyyyQI
yayzALEE
YAYZALEE
yAYZALEEv]DY))
yAYZALEEv_L[Z@FG))
YAYZALEEv_L[Z@FG
YAYZL]]@GNZYHEH_[HJAH_L
YAYZLZZ@FG
YAYZLZZ@FGvZ]H[]
YAYZLZZ@M
YAYZPEPOMAPQAD]LGSLQ
YAYZPZ@GOF
YAYZPZ]LD
YAYZZLZ@M
yA@ZAaF]dH@E))
yA@ZAa[LO
yA@ZAb@]kEFJB
yA@ZAb@]za
yA@ZAfGLM[@_LEFN@GdH@E
yA@ZAfGLM[@_LEFN@Gdz
yA@ZAfGLM[@_LEFN@GfOO@JL
yA@ZAfGLM[@_LEFN@GoF[D
yA@ZAfGLM[@_LoF[D
yA@ZA@GN
YA@ZA@GN
yA@ZA@GNdLZZHNL))
yA@ZA]HGB
")))YA@ZA]HGB
YA@ZA]HGB
yA@ZAj[PY]F
yA@ZAkHGB
yA@ZAKHGB
yA@ZAkHGBjj
yA@ZAL[]AL
yA@ZAmLE
yA@ZAmLJ[PY]
yA@ZAndH@E))
yA@ZApHAFFdH@E))
yA@ZAvKFEL]F))
yA@ZAvNFFNEL]@]EL))
yA@ZAvNFFNELHY@Z))
yA@ZAvyHPYHEdZN
yA@ZAy[@_
yA@ZAyHNL
yA@ZAyHNLqFMG@
yA@ZAzJH[L
YAZ]_CCO_
YazeL[[[
YazeL[[[Z[[[x[[[
YAZKLBZQCK]CEB_C
YAZ[NBHH
YA]ZSB[L
]YAZSC[LSOL[_MOJBZZBAMNGMS
]Y[[AZS[O]HJ
YAZYDNM]M_JCD
_[[[[y[[B
*((]Y]]b
@@@@]Y]]b
Y@@@@B@@@@
y@@@@B@A@
Y@@@@B@A@@
Y@@@@B@a@2 @A
Y@@@@B@A@2 @A
Y@@@@B@A@2 @A;
Y@@@@B@A@2 @At
Y@@@@B@A@2 @F
Y.B@A@2 @J
Y@@@@B@A@2 @K
Y@@@@B@A@5 @Mp
y_@@@@B@AA@
y@@@@BAABHp@H.
Y@@@@B@AB2 @Am
Y@@@@BAB@Hp@L0
Y@@@@B@AC2 @Am
@@@@@y@@B@ACa
@y@@B@ACa
@@@@@y@@B@ACac
@y@@B@ACac
YBA[CAGZO
y_@@@@B@AD@
Y.@@@@B@AE@
[YB@AGF]
Yb"@@A@h DN
Yb"@@A@h DQ
y@@@@B@A@JQ@NW
Y@@@@BA@@Lp@[
y@@@@B@A@Lp@m
YBALSLNDAQY
y@@BAmpFB!]
y@@@@B@A@_p@G
YBASQXA]
yBBBBBBB
YBBBBBBB
YBBDKHKNAC]KO@
YBBEP[B]CD
YBBFNL[CB
Y@BBLGLZ
YBBNQOKXO[SOCH@YQMOL
YBBPGHYDA
YBBSQ_@QD
YB__BXPA
Y@@@@B@C@
y@@@@B@C@ap@JdIl
Y@BC]AYYX
YBC@ELAJY
YBCL__H[
YBCPY[@Z
[YBCQY@Y
YB_@CU9Q
_YBCX[[KAZSNJD
YBC_XYBQ]
Y@[BC[ZC[CNZDAYYEDS[A[D_SPYB]KQSH
[[[Yb]dA[[[
_YBDAAZB]FQ
y@@@@BD@AHp@q
YBDA[]OQD@L@
YBDHKNNKCK
YBDS]DE[ZQ
[YBDSLXNQA[
YBEB@PO@G
]YBECDKSGP]SMJGFNQDN
y)))B@EEHEEZHOH[@
YB@EEMMN
YBEGE_ZYBP[YK
yB"eH[[[
[[[YB"eN[[[:
YBEPQN_Z
YBE_[XHBCS
YB[_FCJOJ]Q_NH@Y_HQ
YBFEFMS@LC
YBF@GBGU
YBFJA]]YZ
Y_BFNONLM
YBF[Q__[[
YB@FYL[H]@FG
YBGBGOLO
YBG@B[H[]BA_D_BNGHD
YBGBNZHCCJ
YbgcegfG'
ybg!dgfG
YBG@_D@Xk
Y_BG_GNNBCY
yB?gqgg!
@YB][gTx
YBGYZPQY
YBGZZEMYHKGA
[[YBH[A[
YBHCLN[MNFQ
Y]BHGAKX
Y[bhggfw[
YbhggfwjUm
YB[HGO@H
[YBHMXKLP
YBHONEA_JDL
Y@@@@B@@@Hp@gob
YBHPK@XNZQM[QZ
Y]BHQGN_]E_L
YB_HSKFB
Y_BH[_Z[GN
@YB[iPQSSBY
@YBJBYe_BJBY
YBJB@YXSQMQD
YBJDOCCQ_NOD
Y[BJ]GHGK[
YBJNJEEQ_
YBJO[NO_YK
YBJ_PAQN_
YB[JSN[BHOBQ]A
YB[JSN[BHOQ]A
YbjUStcU
yBJZyHMM@GN))
YBKDHZNQ]Q
ybkdk.zP
ybkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyxyiyyyayy
YBKPMJGQ[DFQ_
YBL[_ASBCPP[LHXBJJ
)Y@@@@BLB@Hp@M
YBLBYYNLBBYNL
y)))BLEHZLK@S
YBLJ@CJPBP]DANBP
YB@LJOCSLKEQ
YBL@JPHOQAL
YB llllllllmllllOllylm
YBllllllllmllllOllylm
ybLPEFNNL[
Y@@@@@@B@Lp@Q
[YBLQ_ZZD
YBLXDANG
YB_MAXJKMXK_
YBMBOGA]@SOK[_JHJAAK
@YBMBVdUBMBYdGBZD
YBMCADN]
Y@B[MCLA@
YBMEKNSBA
YBMFQZEXBEHLBSJY[O
YBM]Y[JG
YBMZM@PB[]
YBMZXDBCAS
YBN@GZ]HEE
YBNJ_AZ_
YBNPP]PS
YBNSJQ]B
YBNYFFEO@EEL[
YBO4@HBHU
YBOADEZDP
YBOBPN[Q
YBOGEQ[J
ybo@llllllllmllllOllylmM)1u
[_]YBOLMJ
YBOMXGYMD_JF]NDEM_DD
@@@@]Y]]BP_
YBP[B_YOF
YBPEEBAE
Ybpgppepq
YB[PLMSF@GO
YBPLN_MP
YBPO[XO_SAJ
YBPPONMZ
y:Bpyywx
(((]Y]]bq_
YBQCQ@LFA
]YBQMD_Y
Y_BQYXAHB
YBQZABMBGCMXKQKDCQZDMN
YBQZLNEN[M]ZPGP
]]YBQZXZPF
YB[SAM_J
YBSDL[BZSM
YBSE[P[GZDZC
YBSJ[XSDDK_[
YBSK@JB[E
YBSLKZ[X]ZGB_G@FK_QCGGDA
YBSLN_SSJG
Y([BSullllllllmlll]Y]]
]ybSyyyy
YBT:?)t7
YBT@WUEc
YBTXUTaLBVQ
YBTXUTauBZP
YB[@]U9Q
YB_UdgB_TLC9
YBusSCSSa
YBUUaEQ(VSSWs
YBU]Wg[k
@YBVBXMBY
YBVD1@UBUs
YBVLY	@VTF
YBV@TUEbCk"
YB[@VUEc
@yBW@ABXByBX
@YBWj	RSSBYL
YBWLC9	U9
YBWsSRSS3@WPU
@YBWsSWSSa
YBWU6aVBWUaBBWsSS
YB[@WUEb
YBW@VUEm
yBWWI@VIAKVIHJVJKJWxxx
yBWWI@VIMNV@JV@LWyxw
yBWWJHVLHVAOVALWyxh
yBWWKVOIVKAVJJLWyxj
@YBXBYdWBYxQBX@LBGBLgUBG@ZxABXBYdWBYxQBX@MBM@ZZBZ
@YBXBYgQEyB]LC9
YBXGHJLAJZEJS
YB[XLQBOQQBJ_S
YBXMN_OY
@YBXsSRSS
@YBXsSRSSd
][Y_B[XZ
@YBY9@X[9@wBYBWgiBwB]
YBYA[P@BPCOLG
YBYA_QYOG
@YBYB@e@EQ(YSSW
@YBYB]eUs
@YBYBTfQEyTBY
@YBYBXf@BYBZ
@YBYBXfUs
@YBY:_BYUfABYr
@YBYDfQEyPBZ(
@YBYDfUs
@YBY[dNBYBWfDBTs
YBYDQNCL
@YBYE|Us
[YBYHZLP]
@YBYKfUs
@YBYL7gQEyBYs
YB_YMKOL
@YBYQ(QSSW
@YBYQs;BSS9
@YBYsSPSS9l
@YBYssSS
@YBYsS[SS
@YBYsS_SSgUs
@YBYsSSSR9
@YBYsSWSS
@YBYsSWSSfXBYs
@YBYTLC9	
@YBY(TSSW@ABAL
YBYUgQEyTLC9
@YBY@vBY@tTL_9
@yBy@YsS[SS@XBYvD9
@YBY@ZBY
@YBYZdCE@YBTT
@YBYZeQEyE@WE@UE@KE@XE@]E@sBYsSVSS
@YBY@ZIBZ
@YBYZL_9
YBZAOAGZ
@YB_@ZBY
]Y]_BZ_J
yB[[[Z[[[K[[[
YBZNJPCL]KF[SL_[KQ
!(]Y]]c]]
@@@@]Y]]C
@yC1C5C)C-C!C
Yc2Q]ZWlggG
@]Y]]C8]
Y@][CA[]
YCAA*qbAAAAAAAAA
@yCAB9B-B
YCA]B_ZBMYKJ_@
@yCaCYCMC9C1C!C
ycAdJ[[[
YcaEPQXX
YCA[FZP@N
Y[CAJJBPNC
YCAKGAAKMYB
_YCA[LCS
_YCAMDDQDPEHYDY
YCA]M]_HXHCQHA
YCAXDEQOCK
YCAZS_[Z
YCBCSNS@
YCBDCC]MXMA
YCB_DYMCG
:Yc;|BE2
Y_CBLXJC
YC]BZHPAXMP_XHO
YC_CAEY]
Y__CCEDZYDHCDJS_A
(y]CCNCCCBACC
y]CCNCCCBACC
!YCCNCCCBACC
-YCCNCCCBACC'
[YCCNCCCBACC
_YCCNCCCBACC
|YCCNCCCBACC
Y]CCNCCCBACC
YCCNCCCBACC
YCCNCCCBACC"
YCCNCCCBACC'
YCCNCCCBACC?_.
YCCNCCCBACC@
YCCNCCCBACC]
YCCNCCCBACC6;
YCCNCCCBACC7
YCCNCCCBACC84
YCCNCCCBACC9
YCCNCCCBACCb
YCCNCCCBACC]CF
YCCNCCCBACCCh
	YCCNCCCBACCk
YCCNCCCBACCKjy|*
;YCCNCCCBACCl
YCCNCCCBACCn
YCCNCCCBACCp
YCCNCCCBACCu
YCCNCCCBACCWF
YCCNCCCBACCy
YCCNGK[E
_Y_[CDAB
?[[[yCDd@[[[
Y[CDHAOH
YCdqLuCm
YCD]ZZCZFOS
YCECCZFS]
YCECOLNA
@yCeCYCyyy
YCEYZ_NA_
@YCF_CQXN
YCFCSGFAP[NJBA_J
YCFCY]XKL
YCFHLYBGYSPOA_SD
y*CgAgg7
YCGCZKX[B
YCGDJF_Y@P
@YCG_[GA
YcggfwM"L
YC*gggfw h
YCGYPDSLHAHD
]]YCH[@G
YCHJSYJHOM
YCHQQCXL[
@yCiCIC9CEB
@yCjCZCSCCC
YC]JFSOMJPS
[YCJGEH_NZSXB
YC_JHBYOBSDPS
YCJJMGDB
YCJJZHLH
YC]JYCXDCFBKDZ]
YCJY_]_SPLMJY
YCJ_ZPMMQZHO]N
YcKdU[[[
YCLBHO_[
]YCLBQ_JOLA_D
YCLDQOHG[
YCLJPLSEHP[[
yC?llllllllmlll]Y]]
YCL_SLMHJ
_YCLXCM[GGPXBYZP_J
YCLXLPKC@NXG
YCMAMDHXLZO
YCM[COM_
)))YCMKM@HEFNOF[D
YCMKM@HEFNOF[D
Y_C[MKPHCJP
YCM]PPNMD
YCMZXFC_PK
YCNADCG[
YCNAGBQLXHKA
YCNDFSLG
_YCNHN[LLG
_YCNJ[Q[[AP
Y]CN_JZ]NQBZ
YC_NL_EJQB
YCNPGPXGD]ECBLN]XNFH[KPK
]Y[CNQEADH
YCNSXZODC@
YCODDNGJKNLKA_D
YCO[GJFQD
YCOSEPH[YS_AD_[
YCOXOOPD
YCOZHJ_S_AC]
YCPAECMPNQZM
@YCPBLOGQX
YCP]CBZZNJ
]YCP@CNHO@FD_BGK]
Ycpgppepq
YcpgppepqD
YCPKLGGKDYPO
YC]PNX[G]J_DN
YCPOKMSOBNOZQS
)]Y]]CPX
YCQBCOG_
YCQBENJQC
@yCqCEC5C!C
@yCqCmCUCMC9C!C
YCQHSOOC
Y[_CQMLHMF
YCQOBBQJOKQ
YC]QQAAMQ
YCQQBD@Q
YCQXH@QADCJCEQAL[
YCRqgggwu
)]Y]]cRX
YCSAAFXN
Y@CS_AG]_B_
YCSBG[CJNOSYJ[_
Y_CSBMXZM
YC[S[GASCAC
[YCSKQBGQ
YCSMLQPPD
YCS[QGP[
Y[CSYAASDGXYY]ZOYJHKSG
yCsytysy:yy
YCSYXODZOKNK
YCUAAIqA
@yCuCmCaCQCAC1C!C
@yCuCXCTC2C
y[[[cvId_[[[
Y]CXA[PAYZ
YC]XFK[A@D
YCXgcegfG
YCXXP__NO
YC_XZMCJDM_@YNY
YC]Y]]6*Y
YC]Y]]7*Y
ycybyeydygyfy
@yCYCSCJCEC
YCYDALHYQ]
YCYEJPZ]_[N[[H
yCyIyHyIyIyMyyy*y
YC]Y]]j'Y
_@YCY@K[HC
YC]Y]]l'Y
]YCYMCHJNPZ_Y
YCYODG_KQ
YC_YOD]LP]KN
YCYOOLA[Q@LYMSP
YCYOPGHS
yCyuydyByzx
YC]Y]] *Y
YC]Y]]|!Y
YC]Y]]|'Y
yCy*yHyIyHyIyyy*y
yCy*yHy:yIyIyyy*y
yCyyyIyIyIyIyIyyy
yCyYyyy8y
yCyYyyyi
yCyyyyyUy7y
yCyYyyyyy5y
yCyYyyyyyEy	y
yCyyyyyyy(rX)yyyyzydy"y4y
yCyYyyyyy?y
@yCyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yCyyyyyyyzqX)yyyy
yCyyyyyzxX)yyyy8yzy
yCyyyyyzxX)yyyyzyty
YCZBGKDXHQLMDY]
YCZDAFOKA[DA
YCZGBNNQJQC
YCZMO@QBXHHEAKBGLDD_O
YCZP[J_]
Y||cZ||pN||
_YCZ_YOE
     ]Y]]d
-*((]Y]]d
||||Y|||||||d:
Yd@[[[][[[
Yd][[[:[[[
*((]Y]]D
Y	d0Ahdw
[[[yd0dY[[[
)||y*||d*||[*||A*||1*||
.YdA[[[:[[[9[[[2
ydAAAACAaA
y@'@@D@AAacoo
YDADMXHP
YdA[[[e[[[
YDAGASQOZA
@YDAGJJGLEND
())YD@AGYO
YD]AKJDLSLCOS
ydA[[[l[[[
Y|d||A|l||s
YDA[OEYXO]
Y|d||A|t||s
YDAXABZ]C
YdA[[[y[[[j[[[
YD]A]YQJ
YdB[[[A[[[
YDB]]_CLNK_EBHJ[GC
YdB[[[Q[[[
[YDBQHMNS]ZAX
YdB[[[R[[[Q[[[5
YDBSDMQ_OX[XZ
YD_BYA@CJ[MOCGQC
YDCCDQJE
YDC_DXH]EQOLX]HMS
YDC[ENO[
YDCKDSLG
.y:dC[[[M[[[C[[[[[[dK[[[L[[[
YDCOGCXLO
YDCOGHSAJSCCB_
YdC[[[R[[[V[[[lP
Y[DCS][[OA[NL
YdC[[[V[[[T[[[M
YDCYZ[XQ
YD@C]ZFP
y@Dd@[[[
YdD[[[.[[[
Y]DD[BDPG[EJOCGQ
Y[@DDDDDDLHH
!yd(.dd@N
YDDDSC_FLMZYAGD
y[DdE[[[
YD[D]_FOA
YD_DGN_CGC@JQDA
yDdH[[[s[[[p[[[
YdD[[[j[[[i[[[
YDdjmgfG
YdD[[[k[[[
YDDL@DOXH
YDDQBOAXJ_
YD[DS_GY
YDD]SSXECQEM
YDdT[[[L[[[y[[[
Y;DdU[[[3[[[
YDdU[[[y[[[
yDdX[[[B[[[G[[[B
YDDXOCYA
YDD@_YNC
yDdy[[[u[[[n[[[
Yd_[[[D[[[z[[[
YDdZ[[[8[[[
]YDDZ]SMLCXPM
YDdz[[[T[[[
Y_DdZ[[[_[[[U[[[2
Yd][[[e[[[
YdE[[[0[[[7[[[
Y_DECAYA
YDECGAXZF
[[[ydEdE[[[
YDEMYAG_ZZEMOON
YDEODQJP
YDE_OQYJH
ydF[[[;[[[
Yd_[[[f[[[
YdF[[[2[[[7[[[
ydF[[[6[[[
YdF[[[D[[[z[[[
YdF[[[i[[[
)))_@YDFM
YdF[[[O[[[N[[[
YdF[[[q[[[
YdF[[[Q[[[P[[[
)YdF[[[T[[[F[[[
YdF[[[w[[[
YDFYDFY@L@JALB
ydG[[[4[[[
YdG[[[A[[[
Y_DGC][FOLGX_
Y]DGEGZ_HL_JG
yDgGagfGg
YDG@JBSB
YDGNGA[[]PSBLHHSPQL
Y]DG[QN[
YdG[[[u[[[
YdH[[[C[[[
YDHCMCG[X_
YDHDLDAAGJ
YDHDQC@CB
YDHDXMM]
yD]HJ Fyxw
YdH[[[K[[[
Y[@DH_L[H
YDH[NBBOQASDSLGDD]N
YDHNPXQBXYZJP
)))Y[@DH[PBLP
Y[@DH[P]FBLG
]YDHPME[FHF
)))Y[@DH[PvJ
YdH[[[u[[[b[[[
y)))DH[ZAHE
@YDHZALLG
[[[.y:dI[[[
YdI[[[![[[
YdI[[[1[[[5[[[y
]ydi_7d1
YdI[[[K[[[
YdI[[[P[[[I[[[
YdJ[[[@[[[
YDJEDZKCBNY
y)))D@J[FZFO]BK
YDJGBOBJA
ydJ[[[n[[[
]YDJQ[QJSQ]@O
YDJXZOLOJ
Yd][[[k[[[
YdK[[[![[[
ydK[[[a[[[
YDKdH[[[#
YDKKXXK[PQ
)YdK[[[R[[[
YD[KXEOA
YDKXYBGNSFS_MNL
ydK[[[Z[[[
YDKZB_YS
y.]dL[[[
Y]dL[[[:[[[
Yd@[[[:[[[?[[[L
y)))DL]AFM
yDLd@[[[
YdL[[[d[[[
YDLd_[[[
Y[@DLDH[BL]@GN
YDLELAE]
Y[@DLHH[_@
Y]@DLH_JXYOFYZHJBD[B@PE
YDLLD]SKLY
YDL_LG]Z
YDllllllllmllllOllylm
YDLL[_[S
[YDLM@H]LHD
Y[@DLOHJLZ
y[@D@]@_Lo]YMhJ]@_@]P
YD]LPXPG
YdL[[[v[[[k[[[F
YDLXLD[S@QY
YdL[[[X[[[o[[[
YdL[[[x[[[t[[[
YDLYPSNAH
YdM[[[6[[[-[[[
YDMAMGPX
_Y[DMBABQ[YLX]
YDMCGKM[CC
@YDMDGDJC_AB
YdM[[[D[[[q[[[
YdM[[[e[[[
Y_@[_DMK
YD@MXPG@
YDM@ZAHK
YDM_ZLO]O
YdN[[[@[[[
YDNAFBCG
Y_DNANEK
YDNCQJBA
YDNFr@GN[YFGFN@GF[AK
ydN[[[G[[[D[[[
YDNJN[[O
YDNLLS[YA
YDNLXA[D
YD]N]MPSHD[A_G
YdN[[[O[[[
_YdN[[[O[[[M[[[0o
YdN[[[s[[[e[[[d
YDNZNYGPLGZZ
YDNZXDG[O
y||||||||||DO
YdO[[[:[[[
]YDOBSGJAH]XQ
YDODAAP]A
YDODNANJMH
YdO[[[e[[[
Y_DOGMNZ[M
YD]OG[QH@
YD_[OHAB
YdO[[[j[[[h[[[
YdO[[[M[[[B[[[EIEdL[[[
YdO[[[O[[[
YdO[[[R[[[
YdO[[[R[[[P[[[
Y[@DO]YM
YDPCLAD[Q[
YDPDAYXLL
YdP[[[E[[[
ydP[[[:[[[#[[[:e|dL[[[9[[[-[[[
YDPHBDPO@_QCLZHO_
___YDPJ[
Y[DPKPCC
YDPLDCHSLO
YD]P]@QL
YD[PSOZKKP]PNMK
YDP]YPKZSC]
Y_DP[ZB]YYSX
y@dQ[[[0
YdQ[[[;[[[8[[[
YD@_QASARLaA
YdQ[[[c[[[
_YDQEMZML
Y_DQ[HPMGH
YdQ[[[i[[[o[[[t
 YdQ[[[j[[[
YDQ[KOF_]
YDQMPLX_[]POM_NDLMD[]ZF
YD@_QMYMGKCGC
*y]dQ[[[R[[[
YD[QXYHSXKYQ[
#)YdR[[[
YdR[[[*[[[#[[[
YdR[[[][[[
YdR[[[8[[[3[[[
YdR[[[A[[[
y(dS[[[	[[[
YdS[[[2[[[7[[[8
YdS[[[;[[[9[[[G
)))Y]DSC
Y]_DS_CHP
YdS[[[f[[[
YDS[GBDANDJCBQ
YdS[[[i[[[
YdS[[[w[[[v[[[G
Y[DSYJMB
YDSY_SL@KD
YdT[[[0[[[*[[[g
YdT[[[9[[[
;[[[YDTdW[[[
Y!d tKmggfw
YdT[[[N[[[r[[[U
YdU[[[	[[[
YdU[[[f[[[e[[[
YdU[[[i[[[h[[[
ydU[[[M[[[
YdU[[[Z[[[
YdV[[[a[[[
YdV[[[b[[[f[[[
[YDvMLKvHYB
ydV[[[Z[[[
]YdW[[[E
YdW[[[g[[[
y(dx[[[#[[["[[[
Ydx[[[|[[[
YdX[[[c[[[b[[[tomgX[[[
Ydx[[[d[[[
Ydx[[[H[[[
YDXKA]BZ
YDXK[OJKJX[_DNSNC]
YDXLHO_O
YDX]]LNCOJLXCL
Ydx[[[N[[[F[[[
YDXQscRSS9
YdX[[[Q[[[V[[[
YDXSC_XE
YdX[[[U[[[K[[[
Ydx[[[][[[W[[[c
Ydxyyyyyyyyy
YdX[[[z[[[y[[[
YdY[[[_[[[
)]Y]]D*Y
YDYADLGXPXBKZ
YDY_[@]B
YDYBDPGOOLPXHS
YDYBEG[XFSNYS
YdY[[[F[[[m[[[
YdY[[[j[[[c[[[Y
YdY[[[K[[[J[[[
YDYMCPY]D@
Y[DYO@OG]@AGDN_Y_O]Q]NJDQHAY]OBA
YdY[[[R[[[Q[[[
YdY[[[S[[[
yDySyPyyVN
-]YDyxyy
ydyybtytysyyeyyyyyyyy
YdY[[[y[[[x[[[
yDyyyyyyyyyyyyyyy
Y[D[YZDNG
yd@[[[Z[[[
ydZ[[[6[[[
YdZ[[[7[[[
y_dz[[[B[[[
YDZBYZFJABXM
YDZ]CKCFDK[
y||Dz||Dz|| z|| z||
YdZ[[[e[[[
YDZFZCXJDBPKDPYML@
;YdZ[[[h[[[
YdZ[[[H[[[
YDZHZHMCY
YdZ[[[i[[[
YDZJJ_KY
YDZJM]PBQM_
Ydz[[[l[[[a[[[
@YDZL]YH[HDL]L[
Y]D]ZM[G
Y_DZMNE[JK
Y]DZP@LJN
YDZQXQCCQD
YdZ[[[T[[[
Y.@dZ[[[W[[[
YDZ_XQG[LM
YDZZX_HEA
*ye[[[[[[
     ]Y]]e
 !   ]Y]]e
Y@@e_[[[
*((]Y]]E
@@@@]Y]]E
*Ye][[[0[[[
YE5gGwggG
ye7dgfGW
ye97oRfU
*Ye[[[[9[[[8[[[O
YE9@_B_U
YE9_PBWUI9
yE9@_QsKASS9
[yE9yE9y
yE9yE9yE9y
*Ye][[[a[[[
YEAJY]JYQ@[CMAL]PXNY@
Year is out of valid range: 1400..9999
yeA[[[w[[[
yeB[[[;[[[
*YeB[[[0[[[
[YEBCSOEHH
YEBENKNBMQFDHJSDJ
YE@BE@pE@@E@AE@ZUs
YEBHOAOHYAD
*YeB[[[l[[[b[[[
[YEBQDOA
yeBT0eag
@yEByg1B@YB]BF
YE[_BYO]
[Y[ECASGO
YE_CBJXCCNQ]JESHSGKK
YE_C]C]P
YECDCYXH_]ZM
yeC[[[F[[[
YEC][[G@KPOX@_F
YEC_NYQL_YONP
YeC[[[P[[[U[[[
yeC[[[([[[.[[[UuWdS[[[
Y"EdA[[[
YEDCSHF[
YEdE[[[2[[[7[[[
Y[EDPXYLL
*YeD[[[u[[[
yEE99999999999999999999999999999999999999yxh
YE_E9XEWg
yeEdM[[[
YE]E]HGZJQX
((YEELGN]A
YEENLJSDNYBP]PD
@]]YEEPPSB]
Y[EEZDZFASMH_SPSFGN@E
Yef3sf'".d
yEFFDHNL
yEFFDHNLk
|YEFHMYHZ]LK@G))
Y)))EFJHEYH]A
YEF]LLN_
yEF[LQ@L
Y[@_EFNFG]FBLGAHGMEL
@YEFNNL[
yEF]PvLQJE
yeF[[[t[[[
yEFY[FEF
YeF[[[Z[[[
Y@EF]ZJ@LGJL
Yeg9agfG
YEG_EYSD
YEGF_[GL
yegfGpnk
YeggGSx0Pgqgg
Y[EG_[LC]]Q@Z[BY[
YEGPHMXJ
Yegqgg#h
YEgqggqQ
yegWugfGRZ
[YEGXBBG_
Y]EHBLY[J
YEH]FD@Q
.)))YEHG
YEHGG@GN
Y@[EHG]H@ZN@P@D
YEH]@G@JAEF[@ML
YEHG]LMKHJBMFF[
YEH@G]LQ]
YEHGNFZA
yEHGZy@JBL[hJ]@_@]P
YEH]]iDLNN@]]
)))YEHJLAFEML[
YEHJLAFEML[
YEHJLAFEML[_HE@MH]F[
YEHJSGHO
((YE_@H]JY
)))YEH]OF[D
]YEH]OF[D
YEH]OF[D
YEH]OF[Dv@M
YEHPE@Z]Z
YEHP@GN_F@Y
)))YEHPL[
yEHPL[fGE@GL
YEHPL[FGE@GL
YEHZ]@JKF]]EL
yeI[[[0[[[4[[[X
yeiEmgfG
yeI[[[l[[[
y||eIpY[
yeI[[[V[[[@[[[
yeI[[[w[[[
Y@@eJ[[["
yeJ[[[1[[[0[[[T
YE@JH]@FG
YEJMLNZH
YEJNXEPGQA
*YeJ[[[u[[[
YE@JXG@F[E
YEJZSGFADN
[[[Y@@eK[[[
YEKDLXPYSASD
yeK[[[g[[[
YEKGMJHFYQ
Y_EKM_QKK
yeK[[[S[[[V[[[
yeL[[[7[[[4[[[
YELAEFF]L]HL[J
YELdH[[[
YeL[[[@[[[g[[[
YELHK_CPY]O_OAKAY
)))YELHZL
YELHZLHJ]@_H]L
((YELHZLJE@JB
YELHZLJE@JB
YELHZLJE@JBLGHKELLM@]@GNHGMLGHKELJFG]LG]
)))YELHZLJFGZ@ML[]A@ZFY]@FGHEFOOL[
YELHZLKLYH]@LG]
YELHZLLGHKELLM@]@GN
)))YELHZLLGHKELLM@]@GNHGMJFG]LG]DFML
)))YELHZLLG]L[]ALGHDLFO]ALKHZOJFDYHGPF[]A@[MYH[]PJFDYHGP
YELHZL_L[@OPHGM[L
YELHZL][PHNH@G
YELHZL][PHNH@GEH]L[
YELHZLYHG@J]A@Z@ZGFHM[@EE
YELHZL_@Z@]
')))YELHZLZJ[FEE
YELHZLZL]YP]AFG@FLGJFM@GN
YELHZLZ@NG@GHNH@G
][@YELJHDLE
][@YELMLZJ[PY]FZL[_@JLY[F_@ML[
Y[@_@ELMNLLZJLEH]F[Z
)))Y[@_@ELNL
;)))Y[@_@ELNL
Y[@_@ELNL
Y[@_@ELNLLZJHEH]@FGLQYEF@]
Y[@_@ELNLMLQJLY]@FGHJ]@FG
yeL[[[w[[[
*YeL[[[w[[[t[[[
YELXLGZJ
yeM[[[0[[[7[[[
YEMDBGX[MSC
YEMGXMDOH
yeM[[[I[[[
@YE_MPH[G_MOOX
YEMXOZXDS
yeN[[[.[[["[[[
yeN[[[:[[[1[[[
yeN[[[2[[[7[[[
yeN[[[3[[[([[[
YENHDOZSO
YENLK_SCMYDQ
yeN[[[P[[[
YENZJZ_P
Y]ENZNNZ[_
y||||||||||EO
YEO[FDA]]Y
*YeO[[[j[[[
[YEOKCKM@LSGMO
Y]EOY_BQKNP[
YEOZG]EM
	YE-p	eE-x	hD-
Yepgppepq
[YEPH_PPCLGXCNE_[DGS
y|EPrxxw
Y[EPYXGX_P
*YeQ[[[b[[[
YeQ[[[F[[[
YEQHYE@J
]YEQ[JQBH
YEQN_XAGHY
*YeQ[[[R[[[J[[[
YEQYBSNGC
YEQZ_]_J
*Ye][[[r[[[u[[[
YE_]SCZOHAASJ
YeS[[[G[[[c[[[
*YeS[[[h[[[
yeS[[[j[[[b[[[#
	]Y]]eSY
y[@_ESZ]
YESZAH[L@GOF[DH]@FG
yeT[[[)[[[
Y@@eT[[[
*YeT[[[1[[[
yeT[[[5[[[)[[[
yeT[[[8[[[
yeT[[[w[[[v[[[
yeT[[[Z[[[
yeU[[[-[[[ [[[
yeU[[[i[[[
yeU[[[w[[[
yeV[[[9[[[
YeV[[[d[[[
@YE@VE9Tg1BYI9
@YE@VE@ZBY9[
yeV[[[f[[[
@YE@WE_D@V
YeW[[[k[[[h[[[
)]Y]]?EX
YEX[CQOHOJYCBHSCJL[
YEXD@WUj
YEX[EPB_O@Gi
YEX[EPB_OtT
YEXE@WULs9
YeX[[[K[[[H[[[
yex[[[m[[[
yeX[[[q[[[w[[[
YEXUPdQEyU9Q
	]Y]]E*Y
yEyBZs_SS
Y[EYEMLPO[
YEYENPE_[
yEyEyEyEy
YE_YYHYS
..Yeyym2yyuy
.YeyyM;yywy
YeyyuNyypy
yEyyyfALA6Am@
|yEyyyyi
yez[[[-[[[ [[[
)))YE@Z]
]YEZABYQQX
YE@Z]A]]Y
@YE@Z[BY
@YE@ZBY@[B[
YE@ZE@UBTBW
YE@Z]H]YH]A
Y||eZ||KZ||*Z||
YE@Z]_L[Z@FG
YeZ[[[M[[[
*Yez[[[O[[[
yE@Z]o@ELmL]LJ]@FG
]YEZQKQQ]S
YE@Z]vSHBF))
[YEZYGLXQSBX
YE@Z]ZELLY
(((]Y]]f
@@@@]Y]]f
_@@@@]Y]]f
.)))Y[@F[
@@@@]Y]]F
yF.));9:0#yF.));9yF.
YFAAJQ]]PB[CB
Y]FAGP@KHHDJOOOSYJQPYBX[SO
YFA]KMNSZN[[O
Yf@@@@B@AA2 @U
YFBF_L[HGMH
)]Y]]FbX
YFBY]]HQ
YFCCQGZEQ_
Y[FCL]FDLDF[H_LE
Y[FCLJ]EHFNH@
Y[FCLJ]]FFEZ_L[Z@FG
Y[FCLJ]@FG
Y[FCLJ]LG
Y[FCLJ]]LHD
Y[FCLJ]@M
Y[FCLJ]Z
Y[FCLJ]ZLHZFG
YFDCBEJ@G]NBP_J
Y[FDDMEACQ
Y[FDFJ@FG@GDFK@E@H[@H
Y[FDFJHF
_Y]FDJX]
YFDPMGZL]FECX]Q
YFDPSD[E
YFDSXX@X
YF_DXPPKQM[
y[FDY]))
y[FDY]j[LMLG]@HE))
Y[FDY]OF[J[LMLG]@HE
?)))YF_DZBOA
YFDZHOL]P
#)))Y[FD@ZL
)))YFE@DF
YFEE@G]L[_HE
YFEE@GNZL[_@JL
YFE@F@J][[D
YFE@J@LZ
	)))YFE@JPKPYHZZ
YFE@]LM[F@M
YFELZ]H[
YFENF[LG_SY
yFEPALEE
YFE@YF@M
yFE@YHGLE
YF[]E@Z]
YFE@ZLD@JFZ
)))Y[F]F
YFFCHO@GLELHZL
?)))YFFE
YFFEDHGHNL[
YFFEvD@GL[
yFFEYHEvGZvHDZ@))
yFFEYHEvMGZZL[_L[vHDZ@))
yFFEYHEvY[F]FvHDZ@))
yFFJ9 8!)8!
)))Y[F]FJFE
Y[F]FJFE
Y[F]FJFEF
Y[F]FJFE]JY
Y[F]FJFET
Y[F]FJFEv]EZ_
yFFKyFFK:
__YFFLD]
yFFl[WW_
y[F]F]PYL
y[F]F]PYL))
Y[F]F]PYL
Y[F]F]PYLJH[
Y[F]F]PYLr
Y[F]F]PYLrGHDLt
Y[F]F]PYLrGt
Y[F]F]PYLrJt
Y[F]F]PYLrJtUU
Y[F]F]PYLu
Y[F]F]PYLw
Y[F]FYEHZD
YFFYyyyy
YF@FZEEMZ
Y[F]FZ]H[
YF]FZQPEFN@JHEG[L@GOF[JLDLG]HNLGJP
.)))YF@G]
|yFgfG12
" yfgfGG
YFgfG*sm
YFG]FMHOH[MH
YfggGcFVBgqgg
yfggigfG
Y[FG@GPH[FZEH_
y[F@GhJ]@_@]P
YFGJAFBAHGH
yFGJAL[LEEF
yF@G]jE@JBzHG]H
YF@G]L[FO
YFGMJKYELKGOKYSSPJ
]YFGP]BXM
yFGPo@GHE
")))YFGPO@GHE
YFGPY[LNGHGJP
YF@G]vFOOZL]
;YFgWcgfGI
YF@GZH[]
YF[][H@]
YF[H_AO_@S_
YFHBEHJL
yF[]HEzLYL]@)(
YF[]HEZLYL]@
YF[]H@EZPGJ))
y[FhJ]@_@]P
YF[]HKEL
YfIIII2K
YFJABDKYZG@MON
Y[FJA]DEJFML
y[FJa@G]
YFJBL][HNH
Y[FJFMLKP]LZ]FZ][
y[FJgHDL
y[FJgHDL))
Y[FJGHDL
Y[FJ@GOF
;)))Y[FJHGHEPSL[
Y[FJHMM[LZZBL[GLE
Y[FJJLZZ
@)))Y[FJLM@D@LG]FZ
yFjlQJANaM[
yFjlQJANzFHY
yFjlQJANzFHYlQJAHGNLdH@EKFQ))
yFjlQJANzFHYlQJAHGNLoFEML[))
yFjlQJANzFHYlQJAHGNLqDE))
y[FJLZZ))
)))Y[FJLZZ
Y[FJLZZAHGMEL
:)))Y[FJLZZAHJBL[
y[FJLZZA@ML[
Y[FJLZZA@ML[
Y[FJLZZD@]@NH]@FGZ
Y[FJLZZDZN]FZLGM
')))Y[FJLZZE@Z]
Y[FJLZZE@Z]
Y[FJLZZEZHZZ
Y[FJLZZF
Y[FJLZZF[
Y[FJLZZF[v@MLG]@O@L[
Y[FJLZZGF]LYHM
Y[FJLZZGHDL
Y[FJLZZGHDLGZZP
Y[FJLZZGH]@_LDL]AFMZt
Y[FJLZZ@GN
Y[FJLZZ@GOF
)))Y[FJLZZ@GOF[DH]@FG
Y[FJLZZJ
Y[FJLZZJA[FDLUOF[LHJA
)))Y[FJLZZJDM
Y[FJLZZJDM
Y[FJLZZJEFZL
:)))Y[FJLZZJHEEJ[LH]L
Y[FJLZZ[LJL@_L
Y[FJLZZ[LNZ_[
Y[FJLZZ@LQYEF[L
Y[FJLZZLQ@Z]Z
Y[FJLZZ@M
Y[FJLZZ@MI
Y[FJLZZ@MLG]@O@L[
Y[FJLZZNL]GHDL
;)))Y[FJLZZNL]Z]H]Z
Y[FJLZZR
Y[FJLZZt
Y[FJLZZUZLELJ]
Y[FJLZZv@GOF[DH]@FG
Y[FJLZZvYHJBL]
)))Y[FJLZZY
Y[FJLZZY
Y[FJLZZYAFGL
Y[FJLZZYH[HDL]L[Z
y[FJLZZz]H[]
y[FJLZZz]H[]))
Y[FJLZZZ]H[]@GOF
Y[FJLZZZ]H[]@GOF@
Y[FJLZZZ]H[]@GOF@GOF
Y[FJLZZZ]H[]@GOFI
)))Y[FJLZZZ]H[]@GOFYZ@
Y[FJLZZZJA]HZBZ
y[FJmDY))
y[FJm@ZJF_
YFJOF[J_L
YFJOHA_GX
Y[FJvFYLG
Y[FJvGHDL
Y[FJvH]]HJA
Y[FJv[LHMDLDF[P
Y[FJvML]HJA
Y[FJvNL][LNZ
Y[FJvZL][LNZ
Y[FJYL[J
y[FJz]FY))
y[FJz]H[]))
Y[FJZL]r
yfK[[[	[[[
_YFKDX[M]
 )))Y[FKELD
())Y[FKELDZ
Y[FKELDZ[LGM
)))YF[]K@GMZALEEJFMLO[FDDL]HZYEF@]
Y[FKHZAL[BFG]AF
YFK[]KLC
Y]FKKMJZ]C
Y[F]LFNLG@Q
YF]LG]@HEEPJFDY[FD@ZLMZL[_L[
;)))YF]LG]@HEEPOH]HE
)))Y[F]LJ]
@[]Y[F]LJ]
Y[F]LJ]F[
Y[F]LJ]@FF
y[F]LJ]@FG
y[F]LJ]@FG))
Y[F]LJ]@FGKFMPZ]H]@J]LQ]
Y[F]LJ]@FGMFDH@G
Y[F]LJ]@FGZ
@[]y[F]LJ]jFYP
")))Y[F]LJ]LM
)))Y[F]LJ]LM
Y[F]LJ]LM
y[F]LJ]LMaFZ]ZlG][P))
Y[F]LJ]LM_F@MYHNLvEFHM
Y[F]LJ]LMFZ
;)))Y[F]LJ]LMJFG]LG]
Y[F]LJ]LMMH]Ht
Y[F]LJ]LMZL[_@JL
YFLJMNAQX[M
Y[F]LJ]vLGN
Y[F]LJ]_ZH
yF_L[]LE
yfllllllllmllllOllylm
yFllllllllmllllOllylmNbW
)))Y[FLM
Y[F[LNJELHG
YFMD@HG_
YFME@Z]LG
YF]M[F@M
Y[@[FMH@SM[H_ECL
YFMJMFGSPFM]
YFMKJDXC[
y[F_@ML[))
Y[F_@ML[
yF[MLLSP
Y[F_@ML[Z
)))Y[FM@N@]HE@SL
YFMYNQGHXXO
YFNFD_SNYNF
	yfNgofgfG
!)))Y[FN[H
 )))Y[FN[HD
Y[FN[HDDHGHNL[
Y[FN[HDD@L[LJBL
Y[FN[HD@GN
((Y[FN[HDMH]H
Y[FN[HDMH]H
*".Y[FN[HDMH]HHYYMH]H
y[FN[HDmH]Hvmee))
Y[FN[HDO@EL
Y[FN[HDO@ELZ
())Y[FN[HDO@ELZM@[J
)))Y[FN[HDO@ELZM@[J
)))Y[FN[HDO@ELZM@[JFDDFGO@ELZM@[J
((Y[FN[HDOZ
Y[FN[HDt
#)))Y[FN[HDZ
((Y[FN[HDZ
Y[FN[HDZ
Y[FN[HDZY[LZLGJL
]YFNHGA_JJ
YFNKGA_KMPLC
y[FN[LZZ))
#)))Y[FN[LZZ
)))Y[FN[LZZ
Y[FN[LZZ
')))Y[FN[LZZFOO
Y[FN[LZZKH[
Y[FN[LZZY[LOL[LGJL
')))Y[FN[LZZZL]
)))Y[FN@M
YFODJZDB]X
yFO@DZ))
?)))Y[FO@ELF[HJELAHGMEL[
Y[FO@ELHGP
Y[FO@ELv@
Y[FO@ELv@DHNL
Y[FO@ELZ
Y[FO@ELZuYEHJLZ
YF[]OFE@F
YF[]OFE@FZ
YFOMCFCQ_
Y@FOOL[Z
YFO_PY]LXA
Y[FOQLGNHNLDLG]
YFO[XMGMZ
yfOxy7yxy:
Y[@F[@]P
Y[@F[@]PA@NA
Y[@F[@]PA@NAA]]Y
YF@PC]PJA[_ELEONH
YFPDJKMK
Y[@F[@]PGF[DHE
yfpgppepqA
YF[_POP[[JBFB]XKMX_JCO
Y[F_P@P]
y[FQ@JFG
Y[FQ@O@L[YL
!)))Y[FQP
)))Y[FQP
Y[FQPAHGMEL[
Y[FQPEFNFG
y[FQPeFNFGjE][v
y[FQPeFNFGkv
y[FQPeFNFGzALEEv
y[FQPeFNFGzJ[v
y[FQPejFFB@L
y[FQPejFFB@L))
Y[FQPGF]ZALEE[JLLQYEF@]]A@Z@ZYFZ]
Y[FQPHMM[LZZ
y[FQPjAHGNL[
y[FQPj[LMLG]@HEZ
Y[FQP_LEE@uQ
Y[FQPRNL]
Y[FQPvEFN
Y[FQPY[FQP
Y[FQPYHZZ
y[FQPzALEEeFNZyH]]L[G
y[FQPzALEEzJHG
Y[FQPZL[_L[
Y[FRHYYTuYJZY
YFSDYDALZGGX
YFSJPS@HCBDBS
YftdP[[[	
YfT[[[E[[[
YF[]vO@EL
YFXA_[_MLCH
YFXEMNQNBD
YFXXPKMYM
yfxxxxxx
)]Y]]F*Y
YFY]APZALEE
YFYFMMOMOMOMOMOMMMOMOMOF
YFYF@YFFY@FYF@FFFFFFFFFFFFF
YFYFYFYYFY
YFYGM_AHXFXB
Y[FYHNH]F[PYZHEDPJFDYH[
y)))]FY]HQ@
)))Y[FY[L_@
y)))FYLG
)))Y[FYL[]@LZ
Y[FYL[]@LZ
Y[FYL[]@LZ]FEFHM
Y[FYL[]@LZJ[LH]LM
Y[FYL[]P[FF]
Y[FYL[]PGHDL
Y[FYL[]PGHDLULQYF[]
Y[FYL[]PKHNZ
Y[FYL[]P]PYL
Y[FYL[]P]PYLZ][@GN
Y||fY||MY||:Y|| Y||
YFYSYCH_OSK]JEO
YFYY@GN]A[LL
YFYYHZZMvYH]A
YFyyyyyyyyh
!)))YFZ]
")))YFZ]
yFZABFM))
YFZABFML[
yFZABFMvAFZ]@GN))
YFZA[H]A]]Y
YFZA[H]A]]YZ
YFZAJ[LH]LY[FQPt
yFZAlQLJlGJ
YFZBCQNNCM[
yFZBLP[HG
YFZDCNHQM
)Yfzde@Q
YFZ]DH@EL[
YFZ]DHZ]L[iX@PL
yFZ]dL]AFM
YFZ]DLZZHNL
')))YFZ]DLZZHNLH
YFZ]DLZZHNLHGM[L][@L_L[LZYFGZL
y[FZE@BLOHG
y[FZE@BLOHG)(
y[FZE@BLOHG))
YFZ]E@GB
)))YFZ@]@FG
:)))YFZ@]@FG
YFZ@]@FG
yF@ZFGhGZ))
")))YF@ZFG]HY
YF@ZFG]HY
YF@ZFGOHEEL[
YF@ZFGOHEEL[H
YF@ZFGOHEEL[OYF@ZFGOHEEL[
YFZ@]@FGt
yF@ZFGZALEE))
YF@ZFGZALEE
YFZ]GHDL
Y][]FZ][@GNHGZ@
YFZ]@GOF
)))]@YFZH
YFZ]HELZ
YFZ]HGZB@K[FC
)YFZ]HJ]@FG
YFZ]HJ]@FG
YFZHMHD@Z@FG
YFZ]H[NZ
YF[]ZJHGG@GN
yF[]zJHGGL[
YF[]ZJHGJFML
yF[[[Z[[[K[[[
YF[[[Z[[[K[[[H[
YFZ]KHJBvQ
)))YFZ]L[
Y[FZL]DFG@]F[@GNZL[_@JL
YFZL@MFG
YFZLNYZKCQ
YFZ]LQO@E
YFZ@]@_Lv@GO@G@]P
YFZ]MAEE
YFZ]MH]H
YFZ]M@ZYH]JA
Y]F[ZN[KN
YFZ]N[LZXE
YFZ]OE@NA]
')))YFZ]r
;)))YFZ]r
YFZ]vKFMP
YFZ]v[LZYFGZL
YFZ]YAYE@GBAL[L
YFZ]YFZ@]@FGHEEP
YFZ]YH[HDZ
yFZ]yHZZdL]AFM))
YFZZ]H[]H]@GMLQ
yFZ]zJ[@Y]vhhhhvDH[BL[))
yFZ]zJ[@Y]vhhhvDH[BL[))
yFZ]zJ[@Y]vKP]LZH_H@EHKEL))
yFZ]zJ[@Y]vOF[HEE)(
yFZ]zJ[@Y]vyzfkc)(
yFZZ@KEL
#)))YFZZ@KEL
YFZZ@KEL
yFZZ@KELjFZ]HJHZjFG][FE
yFZZ@KELkHZL
yFZZ@KELoF[kHZL
yFZZ@KELve@JLGZLjFML))
yFZZ@KELvfOO@SvkLHJFG))
yFZZ@KELvjBYEHPL[zJ[@Y]))
yFZZ@KELvjFDDFGcZ))
yFZZ@KELvjHELGMH[zJ[@Y]
yFZZ@KELvjzAH[Yy[@_H]L))
yFZZ@KELvlGHKELmL]LJ]cZ))
yFZZ@KELv]_[LN))
yFZZ@KELvYP]AFG
yFZZ@KELyA@ZAeFNF
yFZZ@KELyA@ZAjEHZZ
yFZZ@KELyHGN@DFYeHGM@GN
yFZZ@KELyHGN@DFYjFG][FE
yFZZ@KELzB@DD@GNvh
yFZZ@KELzHGMjHZ]ELlQY)(
     ]Y]]g
@@@@]Y]]g
)))Y[@G]
)))Y[@G]@]
)]Y]]G._
?)))Y[@G]
@)))Y[@G]
@@@@]Y]]G
[[[Y[[[G[[[
"yg3cgfG
Yg3ggfGV
yg5bgfG1
yg5ggfGF;
yg7bgfGA
yg7bgfGt
yg7dgfGj
|yg7egfG
Yg7ggfGE
yg7ggfGz
'Yg7mgfG?!i1gqgg_7
Yg7qgfGS6
Yg9fgfGh@
!yg9kgfG
Y@@@@@g@@A@AFac
YgAagfG1
ygAbgfGGJ
?!ygAegfGZ
ygafgfG2
yg'agfGd
Yg]agfGn|49gqgg
 ygAgg!e
YgAggsf	O
ygAggwSU
YgAkgfG?
YGALOKF[C
Y|g||A|l||s
Y|g||A|m||s
YgangfGBtP
Y|g||A|n||s
Y_GA@OFJ
ygArgfGo
]@YGAYQG
YGBDPZHPAEH
Yg)bgfG1
#yg'bgfGO
YGBGGQBLMDQZESNMDKY
YGBHKDSDDKQ
Y@GBJFGGLQ]
Y@GBLELYAHG]EHKZ
)))Y@GBM@H[P
Y[GBMOHO_
Y]GBM@PMOH]E
yGBPjxyyyyyy
:)))Y@GBYHGMHZFOJA@GH
Y@GBYHY[@BH
ygcagfGt
YG_CA_[OBKZKDSYMO@YP[@K
YGC][ASL
.YgCbgfG0
YGCBN[X]CA
ygccgfG5B
ygcdgfGwNd
Yg?cgfGA
-yg_cgfGw
YG]CGXPKH
YG[CJSYNBC_
ygcNgfGJ
YGCPKFZ_[_EQPYD[GO_MZ@SKH[SXN[KA
YgCugfG8
YGCZGPGPG
((Y[@G][D
YGDBCHCQSKYFNX_MFONDCAP
yGDdV[[[	[[[
YGDE_DA_AC
Y[@G]DLZZHNL
YGD[OBDEBEEJ
]YGDOMK[
YG_DOODP
YGDSGL@Q
@Y]G]DYAN
YgebgfG0"
YgecgfGL
ygEdgfGL
y@gedggG
yg]egfG_
Y	g[egfG
Y.g_egfG
yg'egfG1
yg;egfG1
YGEJ@J[SS]OAXZMMZ
YGEOSNPS
YGEPOMYH]
Y)))@G_FBL
Yg--ffGb
y)))GF[]FGW
YgfGjHG5gqgg
ygfG-N"fgqgg
@]YGFJSGPP
Y(gGbgfG
YGGB[XZPGDLLS
y)ggcgfG
y-ggdgfG
YgGdgfG(
YggdgfGEw
yggdgfGf_
yggE@6dK|
YGGEQYCYJNGN
YggfG'| 
ygGfgfG'C
"YggfGP][
YggfGZDx
Yggfw9W]d
Y_.ggfwz6k#
YGGGABAHOO
!yg?ggfG
Y-[g#ggfG
yg!ggfG2j
yg?ggfG46
yg-ggfGI
yg-ggfGo
Y	g!ggfw
YgggG1CARgqgg
ygggG3Ga
YgggGB@#
ygGgggwnPt
y|gggGuMm
Y@GGHJELDLM@JHE][H@G@GN
YgGMgfGo
Y[@G]@GN
Ygg'ogfG
yggogfGWLD
yggOkgfGV
YGGOMYFCOXO[L
YGG@PAAKO
YGGP][FHKMYJNSS[K_]L
ygH[[[|[[[
YGHA][K]G
YGHDDGGG_J
y)))GHDL
YGHG_JS@HLAZOAMMYG
Y[@G]][HJBL[
y@GhJ]@_@]P
Y@G]HK@HG
YGhllllllllmllllOllylm
YGHM[AG[ZZ@
YG]][]HS
ygIegfGs
Yg]IgfGz
ygIggfG4
ygiggfwDMRi0
YgIogfGd
YgirDg'|
Y[@G]JFG_L[]v]FvZALEEJFML
?Yg@[[[J[[[H[[[
YGJHMLZL
Y[@GJL]@
Y[@GJLZZ
YGJMY_]ZDQ]X
YGJOPGDXDXPY
Y[@GJ@YELZ
Y][_GJYF
)))Y[@GJ@YHE
Y[@GJ@YHE
Y[@GJ@YHEJFG]LQ]
Y[@GJ@YHE@M
Y[@GJ@YHEZ
Y]GKBDXJBM]CKAJD]OH
ygKdgfG#CdTgqgg
YGKFL_@JQ_N[DAND
Yg]kgfGh
Y;g[kgfGR
]YGKKBOQKMK]F
Y]GKKZYOMNEGBA
Y]GKLKHYFL
YGKONNGKMNX
YG[[@]KPDCADXZ
yGKpgppepq
y[@G]L[))
YGLBKPMXY@KPK
Y@G]L[CHGG
Y@G]@LG]
Y;g;lgfGw
YGLGJLOHX
Y_G_L_H[
YG]LHDZZ
YGLKE_]GN
Y[@G]L_LG]
ygllllllllmllllOllylm
Yg!llllllllmllllOllylmN
Y[@G][L_L[ZL@OJDM
Y[@G]@Lv_DE
Y[@G]L[Z
YGL]ZDLLCP
Y[@G]L[ZG@]
YGMAMJHQ
YGM[_GS_H
Y[@G]MH]H
YG[MKHMSS
y[@G]m[@_L[))
YGMOANQJO
[YGMQNSCBA]KKCDGJG
YGMQSJLE@C_HPFZ
ygmugfGAnn
;)))Y@GN
YGNADQXKELJ_
yGNaLHML[
[YGN]BCYLPAYB
**-YGNCYLN
y@GNeFJHEAFZ]))
]YGN@E[PQM
Y@GNFGEP
y@GNfY]@FGmFG]o[HNDLG]))
Y@GNFY]@FGZ
Y@GNHMF[@
y@GNjE@LG]nL]zLGM))
YGNLEKEFNMLEFZJHJAHG@EEHZ
Y@GN]LJA@L
YGN[LMZ@ZY[F
Y@GNNFFNEL
YGNO[MCY
YGNXA]]Y
?YgO[[[D[[[
YG_O[DJQYY]
y:gOegfG!
YgOegfGs
)))Y[@G]O@EL
YGO__GDYYFEDBHPA_NBG_]QB
#y)g-ogfG
Yg]ogfG9k[
ygokgfG*
Y__GO[KJ
ygozgfGOl
YGPCGGHGJ[
YGPCGGHJ[
YgpgppepqRM
Y]GPNBY_PAO
y@@@@@@@@gp@S
_Y]G[PYSMABKJM
?Yg_[[[|[[[q[[[
ygQ7gfw)
YGQC]MXXDZXOXS[SGNM
YGQECZX_
ygqgg2m|
ygqgg@46c
|Ygqgg5VuYo"
Ygqgg613
ygqgg7-)
y_gqgg70
Ygqgg?738
Y:gqggbI
[ygqggc)
ygqggcnuD
YgqggcnuD
ygqggcnuDrO
Y*gqggdF
;ygqggdG
Ygqggdv"B
_ygqgge-
y;?gqggeL-
ygqggeL-
YgqggeL-
YgqggfG	
y'gqgg|Ft]
Y#gqggGI
].Ygqggi
 ygqggJl;s
;ygqggKK
ygqggKSl
YgqggKSl
[ygqggkx
Y. gqggl
Ygqgg)MDv
Y-gqggMg
YgqggmMI
Y|"gqggo3
ygqggO4-1
YgqggoHM3
ygqggP*-2
ygqggpgl
-ygqggRw
Ygqgg[sU
?Ygqggt2pQ
"ygqggt3
YgqggTG:
ygqgguyD
.ygqggvf8VW
ygqggv-l
*ygqggVy(
YgqggW73J
ygqggWoql
ygqggY6 
YgqggyBr
ygqggz]'y
YgQhgfG 
_Y_G]@QJ
ygQkgfGu
YG_QLFX@CAX
_YGQMYQLH
YGQSDAOPXXALMCL[ZBC
YG[QSZDQ
ygsbgfGG
YGSCDXOOLAQOEGZ
YGSdU[[[
YGSK_N[N
YGSL_ALGLCLX
YGSL_GOLL[B
[]YGSLKED]YHNQ
YGS_NDMFDZ
YGSQAMOMC
YG_]_SXPY]GMJ
[_YGSZ]NA
?YgU[[[e[[[
YgUegfGA
YgUggfG8
YgvgqggE
Y[@G]vH[LH
Y[@G]vLQJ
Y@GvNLLL]
ygwbgfG1
ygWbggGD
y@gwcgfG
Y?gWdgfG*l
YgWdggG6
y#gWegfG
-YgwegfG
YgwegfGZ
YgwigfGo
ygwJgfGi
Y?gWqggGJB@
ygwzgfG*
]YGXCZYHHKS[
YGXE_CLXD
yGxFxcy8x;x:x
Y]GX[GPZMP
Y[GXHMSES
YGXJDSQC
[Y__GX[LHZDF
YG[XSC[AOM]A]
[YGXSMSBDDO]S
)]Y]]G*Y
y)))GYBC
Y[@G]Y[FDY]
yGyGyGIXIp
YGYJNYGAD
?YgY[[[k[[[
;)))@YGYK
Y.gykgfG#
ygylG]@]P))
[YGYLMZ[N_J
YG@YNOYNOB]MHJD
ygyryHxVxKxIxXy
)]Y]]gYX
|y!gyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy)iyy9yyyyyyyyyyyyiyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Y_GYYYNOGQ
yGyyyty	yFyyyty
YGyyyyy9f9yyy
yGyyyyy)y
yGyyyyyyyqy4y*yYy*y
YGZDJGKD
#y)@GZ]HEEM@[
Y[@G]Z]HJB][HJL
Y[@G]ZJ[@Y]
?YgZ[[[l[[[
Y[@G]ZL]AFDLYHNL
YGZQBG]AH[
YGZYGBPG
 !   ]Y]]h
@@@@]Y]]#h_
'((]Y]]H
)((]Y]]H
*((]Y]]H
@@@@]Y]]H
yH60N66?;
.)))[YH]A
.)))YH]A
[)))YH]A
YH]AABED
YH]AA@CHJB
YHAACPN]K
)))Y[H]ADLZAK@F]LJA
YH]A@DYF[]LQ@Z]ZY@JvKP]L
YH]AFGM@ZB
YH]A]FZ@NGLM[LYF[]@GNLQL
YH]A]FZ@NGLM[LYF[]@GNLQL))
YH]AGHDL
YH]AGHDLE@BL
YH]A@GOF
YH]A@GOFvLQ]LGZ@FG
YH]AJL[]
]YH_AKAEGO
[YHA[LO[@
YH]AMH]H
YH]AMH]Hr@t
YH]A]PYLJFG]H@GL[
YH]AvDH@G
YH]Av@GOF
yH@@@@BAB@
]@Y@]HBH
YH[B]LGS
yHBL[OEFM
')))YHB@S
YH@BSA@@HY
@YHBu_FE@D
YHBX]GESKJKL[KC
YH[BYF[]HE
YHBZBMNB
YHB@Z]HG@_@MLFZZ
YHCCKGKY
]YHCH[COYOKKAP_SH
YHCJDQ[B
YHCNKNNLMKJAO
YHCNZXYCBAPGD_
YH[CSCQY[
Y"Hd][[[
YHDHSQG]B]N
YHDLHCZD]PA]
y!HdT[[[
Y[H[EAM_
YHEDEHBL
YHED][LL
#)))YHEFHE]F
YHE_GN]O
YHEHNKQB
Yhe? jJu
_YHEZN_EGCB
.)))YH[FE
!)))YH[FFE
YH[]FG@[FF
yH[]@]@FGhEEFJlQYEF@]
y)))HFJiHFi
YH[FM@iN[@OFEZ
YH[]FOMFDH@G
YHFXZGBCQ[AQJNDZ
YH][@F]YH]A
YHF[YJPNEZ_
Y][@HFZC
Y)))_H[G
YHG]AL[v_YG
yHG]AL[ZoHGZ
YHG@BFEZFZ
YHG[]EC]Q
YHGEEKPNGMS
YH!"ggfG
")))YHGHZFG@J
)))YHG@JLG][F
Y_HG]]JYSE_JE_EGZJ
YH[]GL[DHGHNL
)))YHGLE
?)))YHGLEGL]
YHGLEHMD@G
YHGLEK[FHMJHZ]
YH[]GL[v@M
YH[]GL[Z
yHGMF[HlG][P
YHGMH]ALDL
YHGMHJZNALNJ
yHGN@DFY
yHGN@DFY)(
yHGN@DFYeHGM@GN
yHGN@DFYj[HO]LMjFML
yHGN@DFYzALEEJFML
 )))@Y[HGNL
@Y[HGNLJ@M[
@Y[HGNLJ@M[T
YHGNOSSNXYCAZAZ
YHGPZM[YGXL
]yhgqgg;
Y[hgqgg-D
YHGZFJSX
YHGZP[YNJD_J_
_YHGZSMYZ
)))YH[H]_
[YHHB@[NB_
YHHBXPCQP[B
)))YH[HD
YH[HD@BF
yH[HD@BHyFE@JP
YH[HDFOOZL]P
YH[HDFOOZL]Q
)))YH[HDGHDL
YH[HDGHDL
YH[HDL]L[EHKLE@MZ
YH[HDL]L[Z
YH[HDL]L[ZL]GHDL
YH[HDL]L[ZrMt
YH[HD]LQ]@M
YH[HDM@_@M
YHHDZJDCABAZ
YH[HDZYFZ]
YH[HEEHQ
YH[HEELE
YH[HEELEZ
YH[HEHNEF@[L
yH[]@HEyZyH]A))
YH[]@HEZ
YHHFCBCO
YH[HGF@H
yHhg	jgfG4
YHHGMADZY
YHH[H_C_
y(  HHHHLyxq
y-!*HHIHLMOxyx
y-!*HHIHLMOyx
y-!*HHIHLMOyxS
yH[@hJ]@_@]P
YHHMHAEi
YHHMO]PHN_ZDOCZ
YH[HM@ZLELH[G@GNJLG]L[
YH]HNFG@HJFDLMP
YH[HN[HYAZ
Y]HHNLG]t
YHHOBPM[N
)))YH[HO@H
YHHOYBMAHFQZ
[YH[HPGES
yhhphhTksxx
YH[HPPC[
YH@_[HP]ZZAAD
Y[HH[QAHQXO
YHHQSLJYOZB
YHHYHVKY
Y][HHYZ[
yH[HZ@]@JHE
yH[HZ@]@JHEe@BL
yH[HZ@]@JHEmLJ[PY]@FG
yHIJKLMNO@A'	
y;;;;;;;HIxyxp
YHIYHVKY
YHIYJVAY
YHJAHDDL[
yH]JAjFML))
YH]JAvHOO@M
yHJBELL]
YHJBE@Z]
YHJB@GNZ@SLt
yHJBHNL))
)))YHJBHNL
YHJBHNLA]]Y
)))YHJBHNLDH@G@DYF[]
YHJBHNL@G]LN[H]L
)))YHJBHNL]HZB
YHJBHNLLQYEF[L[
YHJBHNLZ
:)))YHJBHNLZJ[LLGZAF]
YHJBHNLZuuYPH[BuuLGJ[PYuu
YHJBHNLZuYP
YHJBHNwL
YHJBL]F[ML[LMM@J]@FGH[P
yHJBL]hMM
yHJBLM))
yHJBL]nL]
YHJBL]vALHML[vELGN]A
YHJBL]vGL]K@FZvZLZZ@FGvZL[_@JLvELGN]A
YHJBL]vJFDDHGM
YHJBL]v][LLv@M
YHJBL]vMH]HvELGN]A
YHJBL]vNL]v]E_
YHJBL]vOEHNZ
YHJBL]vY[FJLZZv@M
YHJBL]v[YJK@GM
YHJBL]Z]F[D
YHJBL[ZHGMDF_L[ZKHGNHEF[LJAH[NLZ
YHJBL]Z@SL
YHJBvZFJBHMM[v@G
YHJBwHNL
YHJBwHNwL
YH[]JFDYFGLG]T
YHJF]LZR@NDYT
YHJFQ_PSKM[[PPN
YHJ][HJB
y]HJ ]HJ ]HJ ]HJ ]HJ ]HJ ]HM ]HK yxT
y]HJ ]HJ ]HJ ]HJ ]HJ ]HJ yxk
y:HJHKJHHxyxu
y:HJHKJHLxyxq
y:HJHKJHMxyxs
YHJHNECCKH
yH_@JHvgZ@Z
yHJI@KALOMNO@KAJJxyx
Y[HJ]@JHE
Y[HJ]]@JLDN]
Y[HJ]]@JLKNJ	
YHJJNDOJP
YHJKCNNYF
yHJkHGBL[
YHJLSJXQJGN_HDB]FZ
yhJ]@_@]P
 )))Y[@_HJP
Y[@_HJPO[@LGMEP
Y[@_HJPO[@LGMEPDLDF[P
Y[@_HJPO[@LGMEPGF]LZ
Y[@_HJPO[@LGMEPGL]DFG@]F[
Y[@_HJPo[@LGMEPjFMLzJHGGL[
Y[@_HJPO[@LGMEPMHDL
Y[@_HJPO[@LGMEPPHA]SLLM@JL[
Y[@_HJPZ@NG
YHJwBwHNL
YH[]@J@YHG]@M
YHKBOOMF
YHKDLZCHQ
YHKDMJKPXYKGAXCPNMEHDD
)))@Y]HKELZ
@Y]HKELZ
@Y]HKELZvvB@EEvF]AL[vD@GL[Z
@Y]HKELZZ]FYJABJFGO@N@Y]HKELZFOOLJAF
YHKGPX[QQCSXX[LQH
yhKIggfG
y)))HKJ]OANQNMNANA
YHKLKQPY
y)))HKM]OANQNLNAMY
YHKN[SME
Y]]HKPDD
YHKSANXX
YHKZB[YL
 )))Y[@_H]L
_]YH]LBLHDQ
Y[@_H]LBLP
YHLBSCLS
YHLCPA_CAQJCACB[ECPMK
y@[H]LdHY
Y[@_H]LEFJH]@FG
	)))YH[LG]
YH[LG])(
YH]]L[GDH]JA
)))YH[LG]GFML
YH[LG]GFML
YH]]L[GGHDL
y)))_H[LGHKELML]LJ]
YH[LG]OFEML[
YH[LG]OFEML[@M]LQ]
YH]]L[GZ
Y]HL_JYND
Y[@_H]LKHGB
YHLLLAHZYD
Y[HL_MQG]HK
YH]LQ@QAHQF
YHLQYLNM
YHLSDEEH
Y@HLYZH[LX
:)))Y[@_H]LZ]H]@J
)))Y[@_H]LZ]H]@JLQ]L[G@G]Y][J[LH]L]A[LHM
)))Y[@_H]LZ]H]@JLQ]L[GKFFEJ[LM[LHM
)))Y[@_H]LZ]H]@JO@GHEZ][@GNYF[]vDHY
)))Y[@_H]LZ]H]@JO@GHEZ][@GNZALEEvFGE@GL
YHMCAQALLOOBEECQ@LBS
YH[@M[F@M
Y]HMGNN[
YH[MHBA]
YH[]@MHiJ]HKLO
Y[HM@]H]LJA
YHMLJOXA
YHMMEL]LGG@Z
YHMM@GNDFML
YHMM@GNDFMLt
YHMM@GNZ][
)))@YHMM[LZZ
;)))@YHMM[LZZ
@YHMM[LZZ
@YHMM[LZZ]FZ][@GN
@YHMM[LZZHGHEPZ@Zt
@YHMM[LZZr
@YHMM[LZZt
YHMPGML_
yhMxAx@xAxHxIxNxNxKxIx;xHx;xKx
YHMYAF[MB
Y]HNB]M]
Y[HNDH[LN@FG
YHN@GH]@FG
YHNHDLG]
Y[HNHGHDL
Y@HN@JHNJN
#y)]H[NL]
y)))]H[NL]
#Y)]H[NL]
Y)))]H[NL]
YHNLEFHM@GN
yHNLeHGNjzAH[Y))
YHNL]FE@BL))
YHNLGHDL
)))@YHNL@GM@H
YHNLH[LH@M
YHNLJFG]LG]]PYL
)))YHNLJFG]LQ]
YHNLJFG]LQ]JFG]LQ]
YHNLLGJFM@GN
YH_NLOBZ
YHNLOHQH]
YHNLPFOOZL]
YHNLQFOOZL]rDHBLH[[HP
YHNLQFOOZL]rDH]JAHGPJFG]LQ]t
YHNLQFOOZL]r[EFJHEY[F]FJFE
YHNLQFOOZL]TLEZLR
YHNLSFFDL[
YHNLvEFHM
YHNLYHNLLGJFM@GN
YHNMAYLXEAXG
[YHNMX]CKK
YHNNGF[SQC
YHNOCKB]QZBFO[AGG
YHOD[O@Y]
YHOHX@MNN
YHOLE_[ZNDLP
YHOXMACAG]OOEOA
]yhOxyyy
YHOZAXE_A
YH[OZLJOBLC
YH]PCYQFP_
YHPdJ[[[
 )))YHPDLG]
)))YHPDLG]
YHPDLG]E@GL
YHPDLG]JFYP
YHPDLG]vHM_@JL
YHPDLG]vZDZvD@GYL[JL
YHPDLG]vZDZvHE]JFZ]DFML
YHPDLG]Z
YHPDMXOONJ[H_
 )))YHPEFHM
#)))YHPEFHM
())YHPEFHM
)))YHPEFHM
YHPEFHMLQ@Z]
yHPEFHMm[FYYL[
)))YHPEFHMQJHGGF]KL[LZFE_LMEFHML[QJHGGF]KL[LZFE_LM
YHPEFHMv
YHPEFHMvGHDL
YHPEFHMvHMM[
)))YHPEFHMvZALEEJFMLvHMM[LZZvJFGZ]
YHPEFHMZJ[@Y]J
Y__HP[FBXBBAG
YHP]F[MDKMLBD@SX
YH[]PGLNF]@H]F[Z
!)))YHP@GN
Yhpgppepq
yhpgppepqW
YHP@GYMO
YHPJ][ELG_
)))YHPJ[PY]
Y)))_H[PKDE
)))YHPKP_@ZHF[DHZ]L[JH[MH]
)))YHPMEFHMvZALEEJFMLvHMM[LZZvJFGZ]
YHPMEL]LMDMKOCD
YHPMJZOYD
YHPOBK[GMYNJQG
]Y[_HPOOYCN
YHPXKSH[
yHPyA@ZAeFNF
!)))YHPYHE
)))YHPYHE
YHPYHECKQL
YHPYHE_L
YHPYHEOMAMA
YHPYHEvEFNF
yHPYHEyA@ZA
yHPZFG]LE
YHPZGMCAZ
y(hqy1lqyPaqynf|y
YH[QYAZAC
YH_QZDNZSPXF
yhRxVxRx
]YHS[BS[
YHS]BYCS@K@DMG
YHSGYNJP
YHSKNLCYDX
[YHS[SHNHOENSQM
YH[]@]@S_YH[]@]@[_[DEZSX
Y_H[SZSKG
Y(H;_ t(D
)]Y]]HUX
y)))_H[v
yHVI2I)I"I
YHwJBwHwNwL
YHwJwBwHNwL
)]Y]]:HX
@@@@]Y]]HX_
YHXDSJZXA
YH@XL]YH]NS]BPY
YHXOL]D]B[M]_MZ[
y|hxxiqo
YH@XXJ[O
yHxxxxxxxx
@Y[HXY_G
yhxyyyyyyyyyohxyyiyyyyyyyyyyyyyyyyyyyyyyqhxyyyyy
)]Y]]H Y
)]Y]]H*Y
YHYACA[CHD
YH[YALPCMYL
yHyAy8y	y	y
YH[YA@ZD@SNO
YHYEY[N@P[Q
yH]YFFYP
YHYG[]EK
YHYHHDL[@JHGFLQYEF@]
YHYHQDSS]G
yHyHyIyyy
yHyHyIyYy5y
yHyHyIyyyyy
yHyHyLZyLZyJyJyHyHyHyHyFy
yHyIyIyYy5y
yHyIyIyyyyy
yHyIyYy5y
yHyKyIyYy5y
yHyKyIyyyyy
YHYMMLAL
yHyMyIyYy5y
yHyMyIyyyyy
]YHYQ@YSL
YhYtXdgfw
yHyTyHyTyHyyy
yHyTyHyTyHyYy5y
yHyTyHyTyHyyyyy
yHyTyHyTyIyWy
yHyTyHyTyIyyy
yHyTyHyTyIyYy5y
yHyTyHyTyIyyyyy
yHyTyHyTyKyyy
yHyTyHyTyKyYy5y
yHyTyHyTyKyyyyy
yHyTyKyTyHyyy
yHyTyKyTyHyYy5y
yHyTyKyTyHyyyyy
yHyTyKyTyIyyy
yHyTyKyTyIyYy5y
yHyTyKyTyIyyyyy
)|yh(|yU(|y*(|y
yHyWyIyyy
yHyWyYyYyyyyyyyyymy0y
YHYYNGXSZQSO_
yHyyyBy6y
yHyYyTyYy-y
yHy.y*yyyyyyy
YhyyyyyyyyyyOhyyyiyyyyyyyyyyyyyyyyyyyyyyQhyyyyyy
YHYZMX_[PB
@YHZEFGN
#)))YHZ_F[]F
)))YHZFKr
")))YHZHA@]SH
YH[]ZHYY
YHZKLGJP
)))YH[ZL
)))YH[ZL[
)))YHZ]L
#)))YH[ZL@G]
)))YH[ZL@G]
YH[ZL@G]
YH[ZL@G]))
YH[ZLGHDL
YHZ]LGHDL
YH[ZL@G]u
')))YHZ]LK@G
;)))YHZ]LK@G
YHZ]LK@G
YH[ZLKHZL
YH[ZLL[[F[
YHZ]L]LQ]
YH[ZLOEFH]
YH[ZLO[FDJ[PY]F
)))YH[ZLvYHZZ
yHZ]LyFZ]))
YHZ]LZ@GNEL
YHZMCHEZMH
YH[]ZrYH[]Z
YH[]ZvZL[_@JL
Y||hZ||WZ||8Z||!Z||	Z||
yHZZAHZALZ))
YHZZAHZALZ
YHZZAHZALZR
yHZZe@Z]hJ]@_@]P
YHZZGLL]
YHZZHGM[F@M
YHZZHKEL
')))YHZZJHYL
YHZZKHEEZ
YHZZ]LDY
YHZZL[[F[
YHZZLNH[LZ
)))YHZZM
yHZZo@GM
YHZZRAFZ]T
)))YHZZvELG
YHZZvKEFJB
YHZZvYHNLvM@ZYEHP
yHZZyEHJL
YHZZYF[]
YHZZYHZZ
 !   ]Y]]i
)((]Y]]i
'((]Y]]I
@@@@]Y]]I
#yi3pgppepq
@@@@]Y]]I3Y
y@i@@A@AAac
y@iA@P@AEac
)]Y]]iBX
YIdH[[[j[[[i[[[
yig5fgfG
YigfG Y*
YI-)gGkgfG3
Y?ig_kgfG
yiGWgAgg
y@IHAM@HyxpyAHNLMHLMyx
y?:I@HKHyxky1
y?:I@HKHyxp
y?:I@HKHyxq
yIHOVNMVOAVNMyxvy.
YihZYSSPs
yIIIIIUJJJJJUJHHHIUHHHHJyxv
YIIjIEJI
YIInIyJI
yIiyy9i0
yIJIVJHOVJJAVILMxx]Y]]5
yIJJVIAKVIKHVOLyxw
y 'IJKIJKLMLKNKyxt
y 'IJKIJKLMLKNKyxT
y 'IJKIJKLMLKNKyxw
yIJOVHVHVIyxv
Yi_llllllllmllllOllylm
YIllllllllmllllOllylm
@y;IMFvcp
yI@MVILIVJLVJINW
yINLMAONyxpyIAAAMMOOyx
yI@NVOIVIMHVJKxx]Y]] JY
y||||||||||IO
yipgppepq
yIQgqggnz]N
yiqyy|yxYzxy-y
]yiUyyyy
YiwgAggZ
yIwpgppepq
yIxJxLx9xKxJxLx
yIxPxLxOxHx
yixyy9i0
yIxyy9i0
yixyyiIHI
yI'((]Y]]
)]Y]]I Y
yiyHyYyTyYy?y
[Yi)[Yi][Yi
yiyiyiyiyiyiyiy
yIyIyIyyyyyyy
y|iyXxpyx
yiyyeyyy
yiyyIyyy
yiyyTyiyy
yIyyxyyyyyyyyyyyxyyyzyyyY|
yIyyxyyyyyyyyyyyyyyyyyyyyyy
yIyyy5yoyxy:y
yIyyyIIIIIMI@yyyy:
yiyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yiyyYyyybK:K
yIyyyyyyyyyyJ
yIyyyyyyyyyyyyy
yIzyy9yqxyyy
     ]Y]]j
 !   ]Y]]j
@@@@]Y]]j
[[[Y[[[j[[[
*((]Y]]J
;]Y]]j4_
YJA_[]AQ_[CSCMJ
YJAG_SL[M[
y[@_JALJB))
[Y@JALJB
YJAZPJA]
YJB_DQMM@A[GX
YJBHDBLXE
YJBJJMOMB
YJBJXMPCL[X
YJBKABX[H
]YJBKOOSSXHO]Y
Y@JBL[M@HEFN]PYL
YJBXCYAY_F_Q@
YJBXYCSG
YJBZO_[N
YJCA]PAMX
Y_J__[CHCXZKOCSC
Y_JCJMGOSQ
YJCOBJBZS
YJC[PNDOZ
[[[y-Jd[[[[
YJDEZYE_
yjdH]LbLPEFNNL[
)))YJDH]LO[LLBLPEFNNL[
yjdLJAHG@J)(
YJDLSPCASAL
[[[Y(JdX[[[
yJdZ[[[6[[[
YJEBX_XL
)))YJEHKQ
YJE@LG]@M
YJEOZLGBA
YJE_QrGGE]BJ
YJEvZ]H]@J@Y
YJE]ZJ_OBL_]ZP
YJFDDHGM]PYLLX
YJ[FDKQQYO
YJ-fG[[[
;)))@YJFGO@N
@YJFGO@N
YJFGO@NO@EL
@YJFGO@Nu
)))@YJFGO@NUO@GMZ][r
@YJFGO@NwUO@GM
YJ-fK[[[E[[[
YJ-fL[[[7[[[
YJFMPSG[
YJFMSZ[YX
|[[[YJ-fR[[[
YJ-fX[[[
[YJFYLGY[@G]L[
y)))JFYP
Y@JFZFO]GLYHE
YJG[AEOXK_ZZKAXXDB
YJGCDQJEGA
.yjggcgfG
)))YJGHDL
YJGJPHCP
YJ_GNKLJG
YJGO]HOK
YJ_GPEGBBE_A
YJG]@_QGO]A
YJG_SXQF
YJGS_YN_CBH_
YJgUkgfG
YJ@GYHJ]
YJHBOGPLZLM
Y_JHDHC]KMQ_YXE]
YJHDHGHEP]@JZ
Y)Jhggfw
YJhggfwD
yJhggfw'f
[YJ][HGZYF[]
Y@JHJFD@J
YJHLHFDK
[YJ@H]SD
)))YJHYvEFFY
YJHYvFYLGvE@_L
y 'JIKA@IK@OJIxxx
Y_J[JCAMKX[@C
[YJJE@LG]
YJJF@KJ]GAJCNQPBC
YJJF]@QH
YJJM@PYC
YJJNAXO_HHGQONOYNH
YJJPGYNAHXNNYYS
YJK[A[[G
YJ@KAY@S@@BL_
[YJK@GMvJFG]LQ]@M
YJKQ]SFZCY
)))]YJKXBSCCZS
.)))Y[@JL
]YJLA[NPG
y)))J[LH]LFKCLJ]
y[@JLjAFYzPGJ|[E))
')))Y[@JLMLYLGMZ
YJLMPJZYH
YJL@SJOJ
YJlSSSSK
)))YJ[LYH@[
Y[@JLYL[AFZ]
]yjlyyyy
Y@JLZLELG
Y@JLZLJFG]LG]
]YJLZLK[
)))YJMAOYK
Y@JMDPJPHYXG
y'JM@JKA@JIJOKL
YJMLBDSAJK]G
YJ_MQXK[_
YJMSXPNB
y[Jm@ZJlQJE))
YJNBKO[P_XZ
YJN[LQXOZX
yJ|npgppepqA
YJ]NQPGQ]
YJNSQLND@G
YJNS_QSXCQ]ZL
YJNSSEGJSJP
Y[JNX_]M[S[_X_GH
y||||||||||JO
YJOEHPQN
y@JoFEML[
YJOK_[_LOA
YJO@QL[RHYYTuHYQ
YJOXH_H[
Y@JOZE[XC
YJOZHNMLLP
yjpgppepq
YJ@PJDLSPK]_XG
YJPJKCCXLF
YJPJKS[EC
_YJPJNZXALYK[
Y]JPJSQP
YJPLQCSYK
YJPPJ@_[
y)))J[PY]F
YJPZXAJH
YJ[QA]JX
YjQdG[[[f[[[
YJ[Q_KJHNHBQS
_Y]JQP]QSP
YJ@SBD@FL
YJSHQYJKA_FY
YJ]SJJK@J
YJSMMHLJHH
YJSX]DCGSQ_OPXH
YJSXYYX]
Y]JSYXLL
Y)))JuSSSSSSSSSH
Y:JUYJKMY
Y@JvK@GMZALEE
YJvM@DDL[
YJWHWYY0
yJxHxIxKxUxJxHxIxMxXx5x
yJxJxJxNxOxMxMxAxLxAxLxLxIxJxIx@xAxJxKxNxNxAxNxNx@xAxNxKxAxIxMxLx@xNxAxAxNxAxLxLxKxLxIxJxMxLxAxOxOxIxMxJxAxIxIxAxOxAxMx@xMxOxJxKxLxKxKxAxOxOxNx@xJxLxMxLxIxNxOxMxJxOxJxAxAxAxMxAxAxMxNxMxAxNxOxMxMxOxNxNxLx@xKxJxKxOxAxOxKxLxyx
YJXL[BGQGN
YJXOBOQL
YJXYF_PMQQG_
YJX_Y__GA@EH[SL
YJY]F_BEN_AH_MODLJDLY]
[YJY[F]FJFEt
YJY[F]PAAXP@SZFZ
yJyHyMyJ
yJyHyYy5y
yJyHyyyyy
yjYiy	yayiyy
YJYKJX_MCYN
yJyKyHyOyYy5y
yJyKyHyOyyyyy
yJyKyTy	y
yJyKyWy-8)0JKyy_yyy
yJyKyyy|
yJyKyYy5y
yJyKyyym
yJyKyyy.y
yJyKyyyyy
yJyKyyyyy)
yJyKyyyyy-y
yJyKyyyyy:y
yJyKyyyyyyy
yJyKyyyyyyy-
yJyKyyyyyyy]
yJyKyyyyyyyyy
yJyKyyyyyyy-z
YJYNYOBSHD
YJYOGXJ@ZXYY
YJY]YXQQ
yJyYyTyYy)y
Yjyyyyyyyyyy
YJY@]Z]FY
YJZDDF@[K[]EM
YJZ@FHOLK
YJZ@GYN[_EPJ
]Y@[JZH_HC
YJZL]]@GNZ
]YJZOE]OSO
YJZOXHYD
_YJZYJYS
YJZYX]BD_
YJ]ZZ[AM
 !   ]Y]]k
)]Y]]k'_
     ]Y]]K
@@@@]Y]]K
Yk1RSSPLO9
YK2llllllllmllllOllylmV
YK3pgppepq
Yk4RSSUD
Yk5RSSB]s
Yk9RSSBTi0RSSTBU
YKACKPJZ
YKAHDDOS
y|kajanP
yKAKIJKHLIJH
YKALPCAMC]ECA
YKANZFMXYYZS
YKAOSGBPLD_
YKAO[[YNCH@OYA
_YKBACDH_M
]YKBDXL]
YKBLHGM[MCA
_YKBXYOAOD
@yKBycpK9@AByD
YKB][YLA
	]Y]]kc_
YKCAZ_GFGH
(YkccgfG
Y[KCF__K
YKCHXGBCHO
YKDAADXX
YKD]AEDG_KZ
YKDALBQM
YKDAOYDD_
YKD]_DB]ZGJG
YK__DDN_O_H
Y[KDGMZDXA_P[HS
y|kdidTzSh
YKDKPSND
[YKDMLPQ[A
YK_D[MY[SX
[[[.yKdP[[[
YkDQSSBWs
YKDSAHQ[FEDCYL@
YKEGCDBC
y|kejenP
YKEMZGEKMSMD]
YkeRSS[D9
Y_K@FBLOBA
YKFJQQPO[
YKFNCZOXZSKA
YkfQSSUD9
YK]FYBMHAQNB
 YkgCggfG
YKGGBGHYMO@
YK[GKF_LXPD
Y[K@G]L[_HE
YKGLKHPQSPSH@LHMX
YK@GPSSBXLN
YkgqggOConG
yKgqggrMb
YK@GQXGZ[
Y__KGXSMOJ
YKHDMCB]
YKHHL]XG]XPD]C
YKHHNBCB_[_LQAG
y|khjhnP
ykhJ]@_@]P
YK@H_MACAKGGDSQ@
Y_KHOH]Y
YKH[PBB@[SNBK
Y_KHPE]]GQ
YKHQDKGQAQYSG
)]Y]]kHX
YKH@XFZNODNYO]
Y)))KHXHHHXLHHHLKHHH
YKHXK@QOPAC_@EGD[MKP_
YKI5gWegfG
YkicgfG3i;
ykiiiUPxnkwSkxiviw
y|k|i|nqnfP
YkIRSSZs
yk|i|TzS
yKIVJHJVIKHVAyxu
YK:(J6"2AA
YKJBDKCKMDMHZLB
YKJHY@ZK
ykjijTzSixp
YKJLDSFPLB
y|k_j_nP
YkjRSSUD9
)))YKK_D
ykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
YKKKN_QCK@@_
YKKLQKFH
YKKMYLDMBHPQ
YKKMZ_D@QCPJOC
YKKQ__JXOODMSXA
YKKwPwQwXJwY
YKKYMBJNG_NBHH[_AKD
[Y]KLBAJS
YkLdB[[[k[[[
YKLD]EOM
Y[KLDS]EF
YKLEPQKNZQP_J
y|klilTzShqiiP
.YKlK[[[f[[[
YKLK]LSBZ[MAGJ[OXC
YKLKM[AG[B
YkLRSSBC
-]Y]]KlY
Y[@KMCJCC]
Y@KMDB[ENA
ykmimTkStnknSxxqo
ykmimTzSQik
yKMJLMJKLM@
YKMMS]QXX
@YKM]NAM
YKMPPFCL
YK[MSAKO]
YKN@B[BJ_CEG[AJXM
]YKNCXPYNXG_
]YKNHBGQOQ][LDY
ykninTzS
y|kninTzSmikP
yK@NJLIKKLLN:MHL@yxn
YknRSSD@BL
y||||||||||KO
YKOCXYYLQF
[YKOCY[Q
YkOdP[[[
y|koioTzSmilP
y|koioTzSQin
YK@O[OAJ
Y]_KOYP[
y|kpckqiqksiskrircVzSuoktxp
-ykpgppepq
YKpgppepq
YKP_HKYOJ]
y|kpi|pip
y|kpi|qip
y|kpi|qipP
YKPLNS_C__M
y|kppqi|
YkPQSSAaLY
YKPX]_C]N
[YK]PXXS_YN_
|y!kpy tpy tpyZ8yym
YKP]ZJ_SO
YKPZKKMY
[YKQGAPEN
YKQHZ[YLPAF
y|kqi|piq
ykqiqTzSPip
ykqiqUjx
ykqiqUppqyxsyX
y|kqokrxp
YKQPPYLX
y|kqxiqo
y|kri|pir
y|krirnnnnP
ykrirTzSHip
y|krirTzSl
ykrirTzSTip
Yk]RSSUD9
Yk*RSSUJ
Yk#RSSUK
)]Y]]kRX
@@@@]Y]]ks_
Y]KSBGSK
y|ksisTTxpjrP
y|ksisTzSdipP
yksisTzSTiq
y|ksisTzSVir
yksoklisk
Yk*SSSQLg9
Yk'SSSUBWD9
y|k|Sxi|R
yktitTzSlpirP
y|ktitTzSmz
y|ktitTzSRir
y|kuiuTzSJit
y|kujunP
YkURSSUD9
y|kvivTzSaz
ykvivTzSl
ykvivTzSPiu
y[[[KvJdK[[[
y@KVJIOV@VNIyxt
yKVLVNVOyxey
yKv(p7sT
[[[YkV]Rq
y|kwiwTzSl
y|kwjwnP
y|kwjwnPWxxrkvivTzSaz
'?yKx5'P
YKXCQJ[[CQCQY
YK@[[XJOX
y|k(x|kH
yKxnxxyxxx]xxx|
yKxnxxyxxx(xxxfxxxcxxxdzxx
yKxnxxyxxxyxH
YK]XPHK[ADGOKS
YK[XYYQSLLK
YKYBDCDMNY[Z_[
Y_KY[BKHLXD
yKyBy*yTyHyTy
YKYC_KLB
yKyIyYy5y
yKyIyyyyy
YKYOPXSKX
YkyPSSA|LC
yKyTyHyNy
yKyTyHyTyHyyy
yKyTyHyTyHyYy5y
yKyTyHyTyHyyyyy
yKyTyHyTyIyyy
yKyTyHyTyIyYy5y
yKyTyHyTyIyyyyy
yKyTyHyYy5y
yKyTyHyyyyy
yKyWyYyYy y
y:.:'Kyxs
YKYY[CQMNZJXA
yKyYyTyYy)y
y	kyyyyy
yKyyy|y	yJyyy|y
YKZEKPEAOXPAQBCNS_@CZG]MA
YKZGLML_BNK_]A[
YKZ_GM]D
YKZHKEHZY
y|l|||||||||||
 "   ]Y]]l
@@@@]Y]]l
'((]Y]]L
(((]Y]]L
Y[L3dmL3Y[s
Y@@@@@l@@A@AFac
YLADEL@JNZZMS
YLAeC[[[
[[[YLAe_[[[e[[[
[[[YLAeH[[[g[[[d[[[
[[[YLAeJ[[[
[[[YLAeK[[[
YLAEQDFC
YLAeU[[[b[[[
YLAGM]OH
YLAHGMEL
yLaLHML[aLQ))
yLaLHML[kHZL
YLAMNAFO
YL_]AOQJLPA
)))YLAYJLHOCKSEBSOB
YLBBMBNP
)))@YLBFSDLE
YLBHPZOC[JJB]C
Y#]-lbII
YLBL_XZK]P_AMA]N[
YLBNQYZ[KPFXX
YLBXBXLZX_[
YL]BY@HBMBOE
YLCC_S@XZ
YLCJAQE]
YL[C_KDSMSC]Q
YL_CKG[AXYYXD]HCDGG
YLCNDCZN
YLCYCJXLSQOJPC
YL]CZ[GXJY[X@
|||||YLD
YL[D@][FF]EFN@G
Y[LDG@[DHE
")))YL[DHGLG]
:)))YL[DHGLG]MH]HEFZZ
YL_D_]HJ
YL[DHN[HO
YLDHNXEA@L_EAO]DY]C
YLDKYJBONL
YL]dL[[[
YLDN]B[QK
yLDpgppepq@'
*--YL[D]PYL
[[[yl@dQ[[[
YLDQQJSAGMOG
YLdQ[[[s[[[
yLdX[[[v[[[
]yLDyyyy
YL[DZ]H[]
)))YL[D@ZZ@FG
YL[D@ZZ@FG
YL[D@ZZ@FGZ
YL[D@ZZ@FGZCH_H
yL[D@ZZ@FGZhJ]@_@]P
:)))YL[E
_YL][@EEFiZH]JFDM@[LJ]
((Y[LEFHM
Y[LEFHM[D
Y[LEFHMJAH]][
Y[LEFHML[
Y[LEFHMLJAF
Y[LEFHMU
Y[LEFHMUULJAF
YLEJNBCPGHKKSPMA
YLFCECQF
)))YL][FGLJ]
YLFHYASZE
YL[@][FJAF@M
YLF]MGPZGMJQDO
YL[@FM@JHE
YL[@FM@J]HKEL
_@YL[]FZ
)]Y]]lg_
YL[GAPNGO]]CSOH
YLGDCZGG]K[PM
YLgdgfGP
YLGDPHS@[DAC
YL[G@EFGNF
YLG_@[FGDLG]
YLGHJN_H
@YLGHKELM
@YLGHKELMT
YLGLD_YJ
")))YLGL][H]L
@]YLGL][H]LZ
YLGM@GNDLZZHNLZ
YLGM@GNO@EL
Y[LGMLGMF
YLGMZO[FX@
?yLgqgg89
Ylgqggc;
	ylgqggH7l
yLGS@L_Z
YLGX[BZGXP
@yLGXZ9U
YLGZ_@EEL
YLHAQAEDGM
yLhd7jK1
Y[LHDKEL
YL[HDYFB
y)))[L]_HE
y)))L_HE
@YLHGLZD[CCQ
yLHJNMKI@LHxxx
YLHMDMHCYLJHSMMAL_J]OSF__ZGXH
Y@L]HMOHOPYNL
YLHMOOND
YLHMXKZAC
yLHOOMHOJ@HOAOH@@AHLJIHMLOHLJIHMJMHLNLHMNNHNJKHMIKHAJAHLH@HM@IHMJOHLOKHLALHMOMHMIJHL@JIH@MIHOAHALyx
Y]_LHS_E[LLYC]G[[
YLHSQAJZB]C
Y@LH]SSP
Y]LHYMZXS
y@LI5ALI
y?L?IMyxn
Y)))LJAF
YLJALGBH
YL[JDBDJ
YLJDX[CK]
@Y[LjeX[Ls3L
)))YL[JHZL
_YLJKKEJXBKLZJM]PPQ
YLJKLHSHQ
YL[JLG]JFDYEL]L
yL[JLG]vlGJvo[LHBSk[F]AL[Z
Y@LJLZ@GZ]HGJLFOH[[HP
Y_L[@[J]O
YL]J]OZDJQGKGGNDOGK
YLJQC[CZPP
YLJ]XPHH
)))Y[LJ@Z@FG
Y[LJ@Z@FG
YLKDHZXt
YLK@NPH_HLGXPMM
YLKSQ[EN
YLKZF@DCA
YL]LCFK[CAAAF_J
YLLDAAZG
Y[L]LGJL
Y[L_LG]LQ]LGZ@FGZ
Yllgqggvn
YLL[HMM[
yllllllllmlllHMO8) V8
 y]llllllllmllllOllylm
 yllllllllmllllOllylm
)yllllllllmllllOllylm
*yllllllllmllllOllylm
;y:llllllllmllllOllylm
|yllllllllmllllOllylm
y;llllllllmllllOllylm
y?llllllllmllllOllylm
y_llllllllmllllOllylm
yllllllllmllllOllylm
yllllllllmllllOllylm	
yllllllllmllllOllylm#
yllllllllmllllOllylm'
yllllllllmllllOllylm(
yllllllllmllllOllylm-
yllllllllmllllOllylm?
yllllllllmllllOllylm@
yllllllllmllllOllylm]
';YllllllllmllllOllylm""
)YllllllllmllllOllylm
*YllllllllmllllOllylm
.YllllllllmllllOllylm_
@Y"llllllllmllllOllylm
]YllllllllmllllOllylm
Y	@llllllllmllllOllylm
Y:llllllllmllllOllylm
Y]llllllllmllllOllylm
YllllllllmllllOllylm
YllllllllmllllOllylm@
yllllllllmllllOllylm1
yllllllllmllllOllylm3
yllllllllmllllOllylm4
YllllllllmllllOllylm6
yllllllllmllllOllylm@60
YllllllllmllllOllylm 7
YllllllllmllllOllylm7
YllllllllmllllOllylm*8
yllllllllmllllOllylma 
YllllllllmllllOllylmA
yllllllllmllllOllylmd
YllllllllmllllOllylmd
YllllllllmllllOllylmD
Y.llllllllmllllOllylme
"yllllllllmllllOllylmg
YllllllllmllllOllylmg
yllllllllmllllOllylmh0
yllllllllmllllOllylmI
YllllllllmllllOllylmI
YllllllllmllllOllylmif]N
yllllllllmllllOllylmJ 
YllllllllmllllOllylmk
YllllllllmllllOllylmL
yllllllllmllllOllylml[u
yllllllllmllllOllylmP
y"llllllllmllllOllylmS
yllllllllmllllOllylm[S
YllllllllmllllOllylmS
[yllllllllmllllOllylmt
|YllllllllmllllOllylm;T
YllllllllmllllOllylmT
yllllllllmllllOllylmu
Y'llllllllmllllOllylmu
yllllllllmllllOllylmV
YllllllllmllllOllylmXY
yllllllllmllllOllylmZe:HB
YllllllllmllllOllylmz"O
YllllllllmlllxMO
yllllllllmlll]Y]]
Yllllllllmlll]Y]]
yllllllllmlll]Y]]i
(Yllllllllmlll]Y]]Y
Y@L[[LM_
YL[LN[@GLYEHZ]@JZ
yllQLJ))
y)))LLQLJ
Y)))LLQLJ
YLLSACESAPMZK
YL[LSJF]
YLLSKPLY
YLL[YF[]
YL]L[YFEEH[M
YLLZDQJ_
#)))YL@M
YLMDXXNA
YlMdZ[[[
yLMFDL]L[
YLMFDL]L[
YLM[FG_LEFZF
YLM[FZ_HML@[H
y[LMH]F[
YLM@H][@HM[NFGSHELZ
y[L_m@HN))
Y[LM@J]F[
Y@LMLOAG[
YLM@MFvHDHSFGvDLQ@JF
YLM@MFvMLvHDHSFG
y 'LMNIyxs
YLMOGPLMPCOP
Y]LMQQLNP
YLM_[QYQGPCOBJM
YL]MSLHNKS]K
]YLNEPDDS
Y[LNGHGJP
Y[LNGHGJPALEYL[
y[LNGHGJPaLEYL[hJ]@_@]P
YLNJZYMKM
Y]LN_L_Y
[YLNQP@Q
)))Y[LNvDH]JA
Y[LNvDH]JA
)))Y[LNv[LYEHJL
Y[LNv[LYEHJL
y)))[LNZ_[
Y_LNZO_E
Y_LOBOSB[XPY@B
yLOCLPYHN
Y[LO@E]L[F[OHJ]F[P
YL[OEPZ]
)))YL[OF[DHGJL
YL[OF[DHGJL
YL[OF[D]JYJFGGLJ]ZJHG
YL[OF[DvH]]HJB
YL[OF[DZLQYEF@]H]@FGOF[@@Gr
YLOFQOXCCL
YL_OGQQZHSBASEY
YLOHHQDDHBYJYXKA
YL[OLJ]ZPZ]LDZ
y[LOL[LGJLZ
Y[LOL[LGJLZ
Y[LOL[LGJLZDHGHNL[
Y[LOL[[LM
Y[LOL[[LMMFJt
Y[L]]@OP
;)))Y[LO@Q
Y[LO@QLZ
)))Y[LOZr
Y[L]]PALS@
[YLPA[LZLC
YLPFZ__GND
Ylpgppepq
yL]PHEH]L[HE
Y@LPLB_B
YlPllylm
YLPNXZQ[
YLP]Q@EKO
YLPQXBJN
yLPRSSSSS
)]Y]]lPX
Y[L]]PyAF]F
Y[L]]PYAF]F
yLpyyxz*syyryx!
YLQFK]FNPPK
Y_LQG@_P]L
)))YLQJFBYN
y)))LQLJ
Y)))LQLJ
Y[L]@QM[F@M
YLQOJ[AF
YLQ[PNHXXJ]P
Y)))@LQYEF[L
y)))LQYHGMLG_@[FGDLG]Z][@GNZ
YLQ@YMZZDMMN
Y[L]@QZJHG
YLQZKGPHG
y|L|||]|r||
)]Y]]LR_
YLS_AQSA@@L
YLSF[CXHMNP
YLSGZ]FEZ_P]SHAO_L_KX
YL[S[PBC
YLSPFM]G[P
	ylSSSSSSSS;
ylSSSSSSSS
YlSSSSSSSSl
YlSSSSSSSSSSSS
ylSSSSSSSSSSSSSSSS
YlSSSSSSSSSSSSSSSSSSSSJ
_YLS[XA@
YLS@]ZHNXBS]X_
@@@@]Y]]lt_
Y;LUYHNOY
Y:LUYHOKY
ylVgIkgfGG
y)))L[[vJFYP@GNv@LvLGHKEL[
YL][@vM@ZAvNLGL
YL][@vM@ZAvYH]A
YL:@VUL:anUBVckU
]YLX_ANX@
YLXHHZ]YNN
yLxJxOxLxKxOx#xMxLxOxKxMxLxOxJxMxMx
Y[LXK_[J
YLXSOQ[[BM
yLxWxIxJxMxVxUxKxRxTx
y|lXxzxxlll
Y_LXYABO
[YL]XZSJ_DO@SB
y)))[LYEHJL
Y[LYFGML[HG]
YL_YFZNCXYBMLF
Y[LYH[H]@FG
Y[LYH[H]@FGZ
YL]YH[HM@ZL
ylyH[Z@GN
Y_LYJEHBZF
YL_YNC_ZP
[YLY]OSZ
?|yLyxxS
Y]LYYCDHNQAS
YLYYL[JH[[F]
yLyYyTyYy0y
YLYZPMDPAZX[D[Y
YLYZP]M[KPK
Y|Lz4g9egfG
YLZBZXSJFAL[AD[
Y@LZCMBAE
YLZDMDKK
YLZEJHXGPL
#)))YL[ZFGHE
YL[ZFGHE
')))YL[ZFGHEJFML
YL[ZFGHEJ@O
YL[ZFGHEKHGB@GNUAZKJ
YL[ZFGHEKHGB@GNUKH[JEHPZ
YLZFJEFJBE@]L
Y)))LZ]HBHMH
 )))Y[@_LZJ
YL[@ZJFYLvFGvH@[
Y]LZ_JQBHN
Y[LZLG]EP
Y[LZLG]H]@FG
Y[LZLG]H]@FG]@DL[
Y[LZLG]L[
Y[LZL[_L
YLZM@KMKSKCZX[
YLZNBLPBO
y[LZ]@NL
YLZPFZQSGP
YL[ZYLB]@_HGF_F
)))Y[LZZ
yL[Z@Z]HGJL))
Y[LZZHGPBLP]FJEFZL
Y[LZZJ][E
Y[LZZJHGJLE
Y[LZZJHGJLE]F[LYH@[
Y[LZZJHGJLE]FY[L_LG]@]
)))YL[Z@Z]LG]JAH]][
YL[Z@Z]LG]JFFB@L
yL[Z@Z]LGJL
yL[Z@Z]LGJL))
YL[Z@Z]LGJL
@@@@]Y]]|m_
YMACYqgWJ
]YMALCYQPEMCK
YM_]AML]Y
YMANH_OLPANPHXXMXOMK_C
YMBAHQJADFM
YMBAHQLFOJADFM
YMBAHQLJAF
Y[]MBEBJX
Y_][[MBFZYQP]L
YM]BJYLB
YM]B[]]KLAOH]
YMBKMFNSKD
YMBMHO__]EQYM
YMCBZZCHNQG
[YMCCXMA_
YMCHMBDEM
YMCHOCKB
Y]MCKCN_HAOHHN
]YMCQ]L_O
@YM]CYY[Q
YM[CZHNL
YMCZJQCQ
Y_MCZSEC_S
YMDdE[[[
yMdG	!e"0
YMDH]M_A_SA
Y*MdJ[[[
YmdllllllllmllllOllylm
YM[DMMGZ
YMDSZ[JPCHG
YMDZPKBKCJNP
YMEAOOHKS]S@SDLE
]Y@MEB_CAJLYD
YMESFOZMFMYCDCZONBNAJLZBPOSXHMQ
YMEXKQD_
]ymEyyyy
Y@_MFCMLO
YMFDQPPB
Y]]M[F@M
YMFSZXB_SM
YM[[GACBBXDS
_YMGAPZPQ_C
YMG_BENX
Y[MGCSJLD_QAPE[C
YMGC[ZGDMXHKP
Ymg#fgfG
YMGGAGXC
y)mggfwO
Y)mggfwP
Y!mggfwS
Y)mggfwY
y!mggfwz3R
YMGGQJ[A
YMGNMKGSG
Y_MGOMY@
YM@GOOM[[QS[SXGXN@
[Y]M]G@PMDFDMK]G@L[G]NY
Y[MG[PPJCK
ym]gqfgfG
Y(mgqgg!
YM]GSDPEHA]_NE
YMGXJPQBS
YMGY_LK]J
YMHAGMJ@NP[
YMHBSPXPC
YMHDHJO]N
YMHES_JLB[HOH
@YMHGPH]Q
YM[HH[KA
Y)))MH]H]PYL
YMHJMNNZN_D
yMhJ]@_@]P
|YMH]LhNLG]
|YMH]Lo[FDlQ]L[GHEe@GB))
[Y[M]HQCH
Y_MH[ZJBJJX@[@
YMJA@LPCX
YMJCJJHCA@
YMJDG@PN[G@
_YMJGA[KDBSN][]ZJN[
YMJGSPPBZA_YD
YMJMGYLQ
YM]JOQZLY
yMJVO@VINMVINMW
]YMJ]ZXNJY_JZA]E
YM]KB[JKZ
YM]KCACHP@
YMKDHDCJPF
YMKJB[FJB
Y]M[KKNSGDJ
YMKKZNSNY]
YMKN]JAJBF[GAH[K[
YMKNLCZSPDA
YM_LBKZ@XCNLJEF
YMLdG[[[
Y@MLG]@]PLELDLG]
YMLH_PYG
YM_LJBDQ
y)))MLJFMLKHZL
ymllllllllmllllOllylm
YmllllllllmllllOllylm
Y#mllllllllmllllOllylmu
YMLMZG]XK
Y[MLOL_AKZ
y@M@LOzALEEvaLQ
y@M@LOzALEEvhZJ@@
[[YMMCQ[LXBXP_MYOA]O
YMM[DEJDO
YMMDYXOAH
y@M@MFM))
YM]MNPJMLP
YMMOQPGOZ@QBKEZ_G
YMM_ZJKDO
YMNCY@Z_ZZ]QYNM[CGK[_
YMNJGDNGX]SAKY
YM[N[]LSJYL_J[
YMNMPEOQ[AY[H
YMNQ@]C]]DQLPNDBBL]
YMNQQ_KNQEAB
YMNXOJ]HXD_SASE
Y]MOCXDX
yMOcYLN)(
yMOCZJlqyvkHZL
yMOCZJvFKOL_HE))
yMOCZJvhGGF]))
yMOCZJvL_HE))
]YMODYLM
)))YMOFGE@GL
YMOFGE@GL
YMOF@X]G]X]HDY
yMOfYLGhJ]@FG))
yMOg3cgfG
YMO@G_F@JL
Ym|oggfw9
YMOi[LGHDL
YMOJBDZZ@LME
yMOj[LH]F[)(
yMOJ[LH]F[
YMOJ[LH]F[
YMOJ[LH]F[KL]H
?)))YMOJ[LH]F[YMOJ[LH]F[
ymolDKLMh
YMO[LHML[
YMO[LHML[UHMFKLHJ[FKH][LHML[MJ
yMO]@OO))
YMOSB]GM
yMOvgFzH_L))
ymovlQYEF@]v
ymovzJHGhEEz][LHDZ)(
ymovzJHGhEEz][LHDZ))
YMOXJ]]QLSQ]DD
ymoyA@ZA
yMOyA@ZA
yMOYA@ZA
yMOYA@ZA))
YMOYHPDLG]
yMOZALEE
YM_OZZL[_@JL
YMP[CHLXXKGS
ympgppepq
YMpgppepq:
YMP@_KD[ZA
YMPXHSCHHYHZ
YMPY_AZBQJ
YMP_YB_PAY_ES
[YMQEXJOB
YMQH_]QXQ
Y[MQKFEJN[O
Y[M[QOP[__
Y]M]QP[Y
YMQ_X]YP
YM]QZ[AODD_
YMSG[OLO
YMSHHQEESXG]L
y)))MSJEF_L[
YM__SOXYFPJ@FLZ
]YMSPLO[D
YmSSSSL_
YmSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
?]Y]]MSX
YMSYYL[LDGQMKZ
YMUHUKUJy
Y:MUYKK@Y
Y;MUYKLIY
YmuzaV@l_m
yMVgqgg9
yMVKAVJI@VIMJyxp
YMvO@ELZ
YmV[[[v[[[t[[[7
yMxAxMxHxMxNxNxHxMx@xJxHxMxMxMxHxMxNxMxHxMxOxIxHxMxOxJxHxMxNxAxHxMxKxHxHxNxHxMxHxMxKxLxHxMxMxMxHxMxKxHxyx
Y_MX[CBB
YMXCMAXMFDJ@
YMXDCGNBFM
YMXEN[F[AXAEB
yMxKxLxKxNxKxNxJxIxJxJxJxNxOxMxMxAxLxAxLxLxIxJxIx@xAxJxKxNxNxAxNxNx@xAxNxKxAxIxMxLx@xNxAxAxNxAxLxLxKxLxIxJxMxLxAxOxOxIxMxJxAxIxIxAxOxAxMx@xMxOxJxKxLxKxKxAxOxOxNx@xJxLxMxLxIxNxOxMxJxOxJxAxAxAxMxAxAxMxNxMxAxNxOxMxMxOxNxNxLx@xKxJxKxOxAxOxKxLxyx
YMXPZJHQ]
Y_]MXQBYABMOOJLDL
[@YM[_XZEH
)]Y]]M Y
YMYA]BJNQG
YmY[[[B[[[
yMyIyYy5y
yMyIyyyyy
YMYKSHJJ@E
yMyKyJyyyyy8y
YMYNDGHY
YMYXHM@K
ymyxyyylyxy
yMyYyTyYy:y
|yMyyyUIJIEI4I#I
Ymy[yyyyyyyyyyy
_[YMZBAA_YFPMY
YMZEK@PES
Y_M]@ZJQE
YMZKZ][N
[YMZMBPJ
YMZQBJCH
YMZQKNGBXF
Y_MZS][Z
YM[ZZCKO
 !   ]Y]]n
YN1llllllllmllllOllylmo
yn2||ux|
y][NAAbb
YNACJJEHYDDQJ]XXKFSHQMANSQPHA
YNAHLZYKPE
Y[NAHOLG
]YNAJQGSYJ
Y[NAOOAS
YNA[SN@ZJ
YNAXFPJHO
YNBBHQAAAFJXL
YNBC[_OH[GASPCQ
YN[BFLXAO
Y[NBJZLJ
YNBKQ_ES
]@]YNBMP
Y@NBQY]C_A_
YNBXLXOY
yNcgfGaD
YNCGHOZ[_C]
YNCPYCQFJC
YNC_SABNK
YNCSK]BSS
)]Y]]NcX
YNCZ]DON__XN
YNCZOODJ
YNDBPBYZYLEHMLDKC[SQ[AZMPDDN
YN__DCSMP[]
[[[#yNdD[[[
yNdK[[[D[[[
Y]@NDL]GJLND[ZXK
YNDLLJG[Q
YNDM_AN]XBQ
YNDNKC[DAKF
YNd][[[q[[[
YNDSAKJAMNNB]
YNdW[[[I[[[
Y)NdX[[[Z[[[
YNDZXCDBB
YNEDJDO]SZKSJDD
YNEDOXOQA[Z
_YNEEQZQLX
YNE_E[ZGN
@YNEFKHEY[FYL[]@LZt
Y][NEJZFGJJ_Y
Y@NEMEJKHX
YNEOOPS]YN
YNEP__AE
)))YNFCYAKAJDO]@JK
YNFDA]QC
YNFD@FB[
YNGBD]Y@S
YNGEZG]YD
YNGGEBSON
[yNggegfG
Y_NGHXBJC
__]@@YN]GJ
YNGJ]XOB
Y[NGLKXJSA[G
YNGMSPGHG
YNGOXKAAJHLE
YNGS[ZG]LNAYKZ_CKX
YNGXHHJQ]G
Y_NHCBYLKJ]FQ@X
YNHCNHHM[[S[N
YNHGP]G]OX
YNHGQDXO
YN[HOMQN
YN_H]PDNC
YNHQAOP]
Y]NHYOM_JHB
YNH]ZHOO
ynigfG5u
yNIIHJII@LIJHNII@JHNHOHLHIHLNMIHOLIHIMIIHAIHOMHANKHAMIIHLKIHOIHLMLIHKKIH@IIH@KHLLAIHMLIHIJIJIOHKAOIHMKIHINII@@HOILIHAMHMNNIJ@MHAAIH@LNIIJAHLLLII@MHNOKIIKyx
Y_NJHZB[B
YNJJAPQY
YNJNNQXLZ_EM
Y]NJOZ@AZBMOOBX
ynJ[[[V[[[
YN_]JXXGQH_LC
Y_]NKBOGD
YNKDGXY[
YNKJGHDAHP
YN_]KKQXYH_J
Y]N@KMBZSMAQKD
YNKME_OY
YNKO_N@G
YN[KOP_Y
YNKSY_J]QP
[YN@[KXC
YNKYDMD[SE
YNKZXQBX
YNLBLDPNA
y)))NL]FKCLJ]
y	nllllllllmllllOllylm
YNLSJDHHM
YNLSJXDX
	)))YN[LY
)))YN[LY
*())YN[LY
YNMA_D_BYK
YNMALMODFJMPZKG[S
YNMEGS[X
YNMEJOCZY
Y]NMFCZQHNKLD
YNMHKZZPHF
yNMKKAKNLyxvx
YNM]NZQHLY
YN]MOC]ZZZPJC
YNMQMAMY[YNXG
_YNMSHXMQ]
)]Y]]NMX
YN]MXLJDL
YNNC@O_Z
YNNDN[LQ
YNNFMKC_O_
YNNHKN]H
ynnkg7wgfG
YNNQES]CGC]AYJLO_G
]YN]NS_]BMAKLZJOQEJCMHL[
YNOFJC_L
YNOMBCGC_SFQ
Y@NO[MGZ
YNOQAPJBO
YNO]XJDC@AFBG
)]Y]]NoY
YNOZEMSN
Y_N]OZNC
@@@@]Y]]Np_
Ynpgppepq:-
YNpgppepq
YNPGPSDEY
YNP_H[BX
Y]NPJFP_
Y@@@@np@l
yNpllllllllmllllOllylm
Y_N]PNCOHZX
YNPNZHGJNMO[A
YNPQCNH][
YNPQDGPYACLZJJHXEKAGH
YNPXYACYPMFMNKD
YNQNCMPJDSD
YN_QSQ@Z
YNQZLO]HK
YNSGLGXC
ynvdH@GhJ]@_@]P
yNVHVIVHyxe
)]Y]]nVX
yNWWWWNWNINNIyxi
YN@XDDPSXP]YNOECOJ[A
YN[X@GJ[LME
YNX]JCZQ
Y]NX[_LC
YN]XMFBZLONP[DN
YNXQL_CKYSBOH
yNx@xOxLxOxLxOxHxKx
YN@[]XZYS
YNYG[_MY[Q
yNyIyIyYy5y
yNyIyIyyyyy
yNyIyYy5y
YNY_KHQ[JCMM
YNYLDPJ][G
*|yn-|yN-|y!-|y
yNyOyAyy'
[YNY]XOCNJ
Y?nyxry(
yNyYyTyYy:y
yn@@@@@z@@A@AAac
YNZB[JJSAO
YNZDYZXPKCXAAOSHO_LE]LP
y|]nzi|P
]YNZLH@XAAZ]CBKN__X@N
]YNZNMZJLFQ
YNZSOOFH
Y||nZ||*Z||
 !   ]Y]]o
(((]Y]]o
@@@@]Y]]O
@]Y]]o3]
)]Y]]O6Y
YOAASJJPX
YOAKO@HAZM
YOA[LCLNYQEDB[L
YO]_AX_BMCNSZJG
YOBAJQCQKO
YOBEXLBHLD
Y]_OBMCGQE
_Y_O[BM_GQB
Y[OBOLXGO
YOBQBEXBH
]YOBQJGZKCAJXG
YOC]JMXYJDMMYMA
Y[OCXJ]GM
YODABLJP_LBOYMKY
yODAcRYPT
yODApROTECTOR
YODAZFOM
[YO_D[BNP
Yo_dgfGY
YODLQYMYMQM
Y;OdO[[[9[[[?[[[Y2LdA[[[
_YODQANQPX
y[OdV[[[
YOD_XLABFEJE
YO_]EHJFXHNMDKY
YOEJNDOAZP]D
@YO@E]L[
Y]OESZZG[EFGFK
Y@[@OF[D
y@[@OF[Dh_HZ]fOOL[))
y)))OF[DHJ]@FG
YO[FHJOJQJ
yog#dgfG
YOGDGGDD]O_QKO
YogE[[[3[[[
YogF[[[B[[[
Yog_[[[f[[[d[[[k
yogfGSDG(gqgg
YO]GJL_@Y[BQNYJCD
YogL[[[([[[
YogL[[[h[[[n[[[dL[dx[[[o[[[
YOG[N@HKPEZSGFP]_ZNMMJFCSOG
YOgooggG
YOGPQLFQ
YOgqggcnuD
yogqgg	Z
YogT[[[7[[[6[[[n[
Yogz[[[g[[[f[[[
YOG_ZLBY
YOGZP_ZSC
YOHAZZQNDDA
YOH]LYCXQ@K
YOHPKYOY@PD
Y[OHSDKQCJ
yOHV@MVJJIVIHzxr
YOHZYPLL[PHE_Q
y!OII?A2AJI"
YO[J_C_B
_YOJC]PAGQ
')))YOJ]E
]Y]O]JGKY
YOJLPN@[@
YO]JMF]SJEAG
YOJ]MY@Z
Y[]_O]_JO_E_G
Y@@OJPZCPQKKN]
y@o?k6_)
YOKC]MA]YJMO[F
YOKMNYOKG
YOKNNH__Z
YOKQJCBNG]SJ
@_YOKX_BHA_
YOKXPLY_
YOL_ACCNN
YO]]LAYDJZXCHLYHSF_LFHAACQ
YOLGBNKGYD
YOLGXYAGPF
yollllllllmllllOllylm
Y"OllllllllmllllOllylm
YOllllllllmllllOllylm
YOL[NOL_N
Y:OLUYHHMY
Y[_OLXYN
YO[MCPB[SGCJKM
YOMG@APLCDQFDM
]YO_M_HNND
YOMPXJKS
YOMXHGF@NE
YOND]_OK[M
YONFCHD_NGQA
YONFPQM]PGAEOHBX
YONKNZHHBY][N
yONL@0J@yxw
YONPPCZ_P
[YONQAXPZHYSMMLAFCD
_@YON[QB]X_]
YOO_AGB@O[HCMAP
YOOCEGQHDMCQX
YOODYHBLMDF[KMQHP
YOOMPHPO
Y@OO[SGDZMCC_JBDJL[M
YOOXCGODDP
YoO[[[Z[[[O[[[
YOPACPZ]Y
YOPA]]LL
YOPA_QAMBEM_
YOPCZD]YDJ
YOPGYLYXBLDJ__EQYP
YOPJ[AM[S]P[DY][OHA
YOPP_MSHBG
YO[PXHGNXH
YOQCKLDPXDX[
@YOQ[DPA
YOQGAAQY
YOQJL[]@O@JH]L
YOQL]DQA
YOQMXFDPK
YOQNPFKGY
Y]OSGH_AK
YOS@_HMX
YOSO_CAJ
YOSQK]@OMY[JPAG
)]Y]]OSX
YOS_YCEGG
Y;O"UggG
Y:OUYHHMY
Y;OUYHNOY
yovdV[[[
)]Y]]|OX
YOXCCMKSZHE_A
Y[OXD]H_O
y!oXFilJhggfw
YOXKOXJG]
YOXOBPD_DG]B]X
YOXQDXLPP@N
]|yO_xyt
y)))O]YA]]Y
YOY]KGPBMQ
yOyMy;yy
YOYX__M]
yoyxyyyayxy
YO[YYXPL
yoyyy*****
yoyyy.....
yOyYyTyYy4y
YOYZJHAKZ
YO@ZAON]
YO_ZBEPZ
YOZFKXBPA
YOZGKQLQ
YOZ_GP]DSY
YOZJGXDA
YOZJHO_JP
yO[[[Z[[[O[[[
Y||oZ||RZ||4Z||
@YOZSBSNAMG@HJGCYHLG
YOZ[YPJKZ
|||Y|||p|||[|||
)))YP@@@@@@@@@@@@@@@@
@@@@]Y]]P
yp0I _0U
y@@@@@p@@A@AAac
y@p@@A@ADac
YPAAOSSP
?)))YP]AFG
[)))YP]AFG
yP]AFGbLPEFNNL[
yP]AFGbLPEFNNL[v
yP]AFGjFML
yP]AFGkHZL
yP]AFGm[@_L[hMMm[@_L[))
yP]AFGm[@_L[KEFK))
yP]AFGm[@_L[OEHNZ))
YP]AFGOHS@ZZFGHF
YPALESOY
YPA_]LGJDC
YPA_NN]SHGZ
YPAYKNDDH
@y|PAy|T
y_@@@@@p@@B@ACac
Y)))PBA]]Y
YPBBAE]MN
YPBDDECKZSPHYXJ
YP_BDHSZML
YpBdU[[[
@YPBF_HX@
YPBMZCMMLQELS
YPBQS_DGJ
YPBZPMJO
@@@@@@@@yp@C
[YPCA]CAHA
YPCACDHLQ[JPD
YPC_BKDOQPD_
YP_CC]S[HXX@A
Y[PCHSQO@MO
YP]CJPCL
]YP[CMJSMQN
Y[PCNGCA
YPCO[ZHMO
YP[]CS[MN
yPcWSRQSSlWSBAYE
YP]CYFZEK
YPCZP[[GYZ
Y[PDCHYDSFM
YPdgIlgfG
]Y@PDJ[ALJGXL
]YPDOMQQOJGJS_
YPDOP]D[
YP]DOPDNYZYAY
YPDSNNGX[
-@@@@@@@@yp@Du:
@@@@@@@@yp@Du:
YPD][X]ABY_QOXNQC
YPDYDM_]
YPDZQXDJ
([[[y;Pe_[[[
y;PeB[[[f[[[
YPEH]PGYGYEH]PGYEPGYJ@F
yPeHSHNGL))
[[[y;PeM[[[
YP_EMNDD
YPE@OLFYLGA]]Y
[[[y;PeV[[[
y;Pey[[[w[[[j[[[
:@@@@@@@@yp@Fk
@@@@yp@Fk
YPFOLHKKHO
YPFXQBXC
@@@@@@@@yp@G
@@@@@yp@G
@@@@yp@G
YPGGKJXHYZ
YPG[NMOJ
YPG]NXHAPNSPMBPP
:ypgppepq
|ypgppepq
y!pgppepq
y'pgppepq
ypgppepq
ypgppepq)
ypgppepq[
ypgppepq_(
'Ypgppepq
[Ypgppepq_
]Ypgppepq
|Ypgppepq
Y_pgppepq
Ypgppepq
Ypgppepq!
Ypgppepq?
Ypgppepq1
Ypgppepq2R
ypgppepq5
ypgppepq5[ 
Ypgppepq8
ypgppepqA
ypgppepqB
Ypgppepqc
ypgppepqd
Ypgppepqd
y[pgppepqe
ypgppepqf
YpgppepqH
YpgppepqJ
Ypgppepqk
y)pgppepqkjze5r
ypgppepqL
Ypgppepql
YpgppepqM
ypgppepqO
Ypgppepqq
Ypgppepqr1
ypgppepqt
YpgppepqW56
'YpgppepqxE
ypgppepqx#OW
ypgppepqy
ypgppept
YpgppeptqZ
YpgqggKSl
Y@PGQHYYOMX
Y@PGQSPSZONZ[
YPGSYKFB
YPGYEPGYJ@FY]PEGYEH]PGY@FGHYYE@
YPHCJKXQMM
Y[PHFMKDJ
yPh[JA@_LfYL[H]Lv
Y@PHKGXCB
yPhLGHZ))
YP]H@LKJZ
YP[HMKZL
YPH_PMMYCN
YPH[QDBL
YPH]Q_KGYGGOB
[YPH[]XL
@@@@]Y]]pi_
ypIga*gfG
ypIxKx'x
@@@@@@@@yp@J
YP_JFG_Z_E
YP[JHMNCQ@X[@
[YPJKM[O
YPJOCGZ[KBJXDJ
Y[[PJPJ_YSZ[X
YP_@JQG]GKPG
YPJXBZ[EFLNONP
@@@@@@@@yp@K
YPKJAMAS
]YPKKYQXKGQ@KEXMOM
Y_PKNQBK__BOB
YPKOEBXAM
YPK[SFMFX
YPK_SJFEKHG
YPKXKHFLQC
@@@@yp@L
YPLBFYKZO]KX
YP[LCZ[]
YPLELFYGGJ
YPllllllllmllllOllylmT
YPLLMZPKP
_YPLOOBL
YP_LQL[NZA
YPME]AK]XYHBL
YPM@E_]PHJ
[YPM[JNZSHM
YPMLEL]L
YPMLHBZP@H
Y][PMPSNB
Y[[PMQCX
Y[PMQOCQSP
yPm@ZJF_L[Pv|ZL[GHDL))
YPNAGEGC
YPNJHGOX
YPNJPZ_JZ
YPNMYXKHN
Y_PNQMS]DY
@@@@yp@O
yPoEHZAh
yPoEHZAha))
yPoEHZAhb))
yPoEHZAhc))
yPoEHZAhd))
yPoEHZAhe))
yPoEHZAhf))
yPoEHZAhg))
yPoEHZAhh))
yPoEHZAhk))
yPoEHZAhl))
yPoEHZAhm))
yPoEHZAhn))
yPoEHZAhp))
yPoEHZAhq))
yPoEHZAhx))
yPoEHZAhy))
yPoEHZAhz))
YPOMNN_BQJGANS]L
YPONKYKDQKPM@CGG
YPO][OPP[GPEGBCGBGH[FM
y|po tpz
YPOYQKBX]
YPPAZM@ZMQMGYQAC
YPp@@@@B
YPP_B[Z]
YPPC_NCZKD
yppgppepqt
YPPLXHDHEA
YPPOQFA_BJGD[KQ
yPPP]G#:
YPPPJANY
YPPZL]OZM
YPPZNNXP
YPQAYCXGL
YPQEZLHNYOB
YPQQMPMC[_PE@PKHJMO
YP_QXZOEQ
y)))][PR
YPrFY]@FGZtuG
YPS_CKOPX]Y[AHL
YPSGA]FO_D
Y@]PSGBXCJ
Y_PSHSOY
Y_PSJCHY_L
YP__SKOH
YPSLDS[JQD
YPSLGCNQ
YPSM[O[DADB
YPSMYZAJGY
@YPSNDGJBHDZCOM_
YPSSWLs9
)]Y]]PSX
@YPSZDZ[
YPSZ]_NH
ypt"g_fggG
YPUdYPZI9
YPUUYP]AFG
[[[YPWdB[[[
)]Y]]_pX
y[[[P_XdH[[[
YP]@X]J]
Y_PXJ_ZOLOQG
YPXLK]GJCCF_MMJ
ypxxxxxx
YPXXXX[XXXKXXXXXXX[XXX[XXX
YPYAKMB]
YPYG]LA@CDBKNA
|yp	|yg	|yT	|yG	|y(	|y
ypyIopygypy
YPYJD@_X
[YP_YJLO
YPYJOXJM[BGOA
YPYLABAYCY_[J
YPYM]_ZB
yPYPbH]S
yPYPBH]S
#)))YPYPBH]S
)))YPYPBH]S
?)))YPYPBH]S
YPYS]AYH
YP]YSYCH
yPytysy)y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy1ymyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy3ylyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy5yoyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyAyuyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyCytyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyEywyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyGyvyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyIyqyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyKypyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyMysyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyOyryxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyySy|yxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyUy
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy-ycyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy#ydyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy!yeyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy'yfyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy;yhyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy	yQyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyyYyyyxy0y
yPyWyKyJyIyHyIyLyTyIyKyIyAyPyyy_yzyxy0y
yPyWyNy8y
|yp	|y;	|y
ypy"ypy1
Y[py--yy
yPyyyMysyxy?y
yPyyyyyQ
yPyyyyyyywyQy)y
yPyyyyyyyyy?y
yPyZLQLJ
YPZAMSHH
Y[PZB]KNYOHHOA
YPZ]CXQO
@YPZGBQ_X]P
YPZHCBJY][SK
YPZJ[@Y]
YP@ZPQLZZX
YP]ZXLQJMPLCOYX
YPZYOOJD
YPZ@ZSANA]
@@@@]Y]]q
 ]Y]]|Q_
(((]Y]]Q
*((]Y]]Q
@@@@]Y]]Q
YQ8gqggf
YQA_HLL@X
YQAJAZMXLHLMLS
YQAJFMQ[
YQAM[QZ[NOBZMXX
YQAO_JBQ
)]Y]]QAX
Y[QAY]QXB
[YQBBSGG
YQBCUsSSS
yqBdZ[[[
YQBLS_QHKBEZNC
YQBNHZ@CN
YQBNXPX_OKN
YQBPJYZG
Y]]QBSKGQK
@YQBUL_9
@YQBYIsSSS
YQBZLZDYBEOZ
YQCASCOPOOPXM
YQ[CGLJXL
Y[Q]CHMN
Y_QCLXG_
YQC_N_SLX
]YQCP[]@EYNHQPCNP
YQD@J[FZFO]PHAL@
YQ_DMCNCO_GXBQ
YQDYMCSB[MNY]
(((]Y]]qe_
YQE][BDZYNN
)))YQEDL
YQEDMZGKGZPHJ
Y__QESM@K@YY]QN_
YQFLN@[JYQQQ][OP
YQF_OP]N
_YQGAGYXLM
YQ_GCD]S
YQGCO[[C_A[
[YQ[]GDOZ]YQ
Y_QGE]HP[GGBOYJPSK
Yqg)fgfG
YQ[G]HBZL
[]YQGHZQS
Y]QGL]DBOCYE]
yqgqggnE[
y#qgqggO
y|#q gr 
[YQHDFOH
YQHDSHHSEK
YQHJ[A][
YQH@JUKKMPPP_HPDHP
YQHOJN@_GXZOO
[YQHZLA]
yQiyyyyyyyyyyyyyyyyyyyyyy
yqiyyyyyyyyyyyyyyyyyyyyyyzyy
YQ__JAQGGMC
YQJBEBGALM]
Y_@QJ_LJSQHOJ
YQJMJSZLLYGCP_D
.]Y]]qJX
YQJXQQHHH]A
]YQJZ_H[
YQKB[OLPJKKB
YQKDAQBAS
YQKQNOAFJ]
YQK@ZCCC
Y_Q@KZ@GBMX
@@@@]Y]]ql_
YQLCKZPG
Y@QLEH[]@Z]
')))Y@QLEZLH[JA
Y@QLEZ@SL
]YQLJQZSON
yQllllllllmllllOllylm
YQ_L[MHGH
Y_QLPJXYZB
_YQLS@J]N_ZAXCE
YQMDDJKL
Y]QM]FGEH
YQMOOFJG
YQMXMXAPCA
YQNCDYO_E
@YQNDYKXSG
YQ_NHLMB
YQNJJFQ]POEH
YQNOEML]_MGHHJC]_
_YQNYQAGOQKS[JO[Y[
YQOBQBO_MMC
_YQOJXSMMQ
YQOK_AMM[N
]YQOL[M[GLJKKHDFSDP
_]Y@QONFQJ
y|qo uqz
YQOYPKPL
YQPCGEAY
_[YQP@DE
yQpgppepq
yQpgppepq-
]YQP_GY[
YQP_JNAXY
YQPZXHCNHN__GQ[SPL
YQQA_G]LXP
YQQCN_]MF
YQQ]DCPNOGF
YQQLNJGGK@CG_D
YQQpgppepqt
@Y@QQP_M@G
YQQQJYCCKAF
YQ(QSSWs
YqQyfgfw
YQQYZ[ZQAD[NHK
YQ(rSSW@WxPE@WUN
)]Y]]qRX
YQs;BSS9
YQSBZCAYHL[]
YQS_KXXP@N
[YQ][SNBOG
YQSOGEZ@
YQSSBAB]
)]Y]]QSX
YQSX]YQA
Y[QSYYBSZZ
yqtgSkgfG
YQUdJ[[[s[[[p[[[
YQUIsSSS
YQULcsSSS
YQULCsSSS
YQUL.sSSS
YQ(VSSW(
YQ(VSSW(|SSWASQ(
YQ(VSSW(|SSWAVUs
@YQ(VSSW(|SSWAYQ(
yQ(VSSW@UBU(|SSWBU(
YQ(VSSW_[(uSSW
	YQW;4)Y
@YQWBYsSSS
YQwgqggU
YQ(WSSWU
)]Y]]*QX
Y]QXBP_[CDZSO
YQXG_XME
YQXHY_A[GKC
YQ[XL[SSQF
YQXNZZCDHEP@OX@Z
YQXQBNKJPMDG[SPLS[
yQ(XSSWPLc9
YQ(XSSWPLM9
YQ(XSSWPLs9
yQ(XSSWPs
YQXZ[NGH
)]Y]]	qY
yqy1yuyqy1yiyqyjXypyuyyyqyYyayqy?	yeyqyJ
Y[qya*yy
YQYHMYMLZA
yqyIyYyTyYy7y
|y.@qyJEqyx
YQYJZ]K[PY
YQYKBQHG]
Y_QYPASLM[
.yqypysyry
yQyPySyRyUy
yQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yQyQywy_j
yQy-y4yPyYy
YQYYQJCZr
yQy[yyySyWySyyye
yQyyyyy)y
yQy[yyyyy"y
yQy[yyyyy"y	y
!Y)QZ0kK
YQZA]BJS
Y]QZC_@GAJHY_NN@
YQZ_]DC[P
YQZEXKYAEJBCL
YQZFE@M[LM
Y||qZ||fZ||ZZ||EZ||2Z||
YQZHZJCJ
YQZLJGNCANH
Y_QZOHZPKGLG
Y||qZ||PZ||5Z||
)]Y]]QZX
YQ_ZXDDCSY[FFP
@Y]QZXMEC
     ]Y]]R
)((]Y]]R
 ||y!||R!||5!||
|y|[]R8B
Y@@@@@r@@A@AAac
yRdH[[[Z[[[
yReA[[[V[[[J[[[
yrEdU[[[?[[[
yReO[[[?[[[
yReX[[[n[[[m[[[
YrGgqgg9?
@Yrgqggha
Y.RgsdgfGyb
)))Yr]H[NL]Z
yr]hyzyyy
yRllllllllmllllOllylm
Y.rllllllllmllllOllylmA
yr]lyzyyy
yrMoy|yyy
yrMTy|yyyQ
yrMUy|yyyP
yrMVyzyyy]
yrNryyyzy
Yrpgppepq
YRpgppepq@
y|rpqnXxhxx
yr]qyzyxy
YRRW[WRTTUW]Y]]
yRRyhxxxxVxM
yr]ryzyyy
YRS3DPSSS@S
YRScGPSSS@S5K3YRScFPSSS@S*K?YRSC
YRSRS#3USSS@S
YRSSBELC9
YRSSB_K1s
YRSSBWJ9
yRSSBWss
YRSSE9@sBsBVL
yRSSQ(QSSW(
yRSSS@SEAWTRS
YRSSS@SvC
yRSSS@SzAWTRSsyRSSS@SoAWTRS
YRSSTjQRSSTsSRSS
Y)))Ru[]O
yrvggGt"A:qD3
yRVRZyxs
yr]wyzyyy
]YRx4Us'QSS9
]yRxbBUpSSSSS#;
yrXnhzxsyxn
y|rxqo uqp
Yrxyxayx
Yrxyxhyx
)]Y]]r'Y
yRy8y	y	y
yRyQywy?
yryxpxxP
y)ryy9i0
yRy?yHyHy
yRy?yHyKy
y;RyyKSyy
yr]yyzyyy
yr]|yzyxy
][@YrZ][
@@@@]Y]]s
	(((]Y]]S
     ]Y]]S
  @     ]Y]]S
:]Y]]S]]
@@@@]Y]]S
y@S1y@S"y@S
y@s@@A@AAacoo
Y_SABKPQAHZ_HF
YSAESYSN
Y]SAGDYK
YSAJCAHACSGH
YSAKZYMXY_MN
YSAM_GGA
YSAQGNHM[_HB
Y@SASLACKYAFYQAB
[YSASO]G
YSAXLPS]PXL
YS@@@@BB@@Qp@@@@@@@@@@@p@@B@ACac
YSBEOJNDZ
YSBH[_@M
Y[SBN_XJ
Y[SBQA@FQ]ZM
YSBQQ[OQ@
YSBZ@KDK
Y]SCB[KJ
YS]CLJXP
YSC_QLY[_P]SLKX
_[YSC[XBBJDEDH
@|ysC|yaC|y]C|yKC|yFC|y4C|y C|y
YS[CZHASZ@PB
Y[SDAXC@AJ]QN
YSDC]_C]QH
YSDGEJJF
YSDJYPPZ_ANXS
YSDOAMNE_K
YSDOYEZ_[Q]ED_
y.SdR[[[
YSDSDKLOMPB
Ys[dX[[[
ySDyy sqy
]YSEAYNOCO
YS]EGEZNOPG@PYO[GY[PKY@NM
[YSEJAMYXX
]YSELGGS
]YSFCDNC
YSFDNJMZOXKP
_YSFD@O[F]YXSMZ
YS_FMCJKZ
ysg7agfG
YSGAQGO[SFF
Ysg;fgfG
ySgGfggG
:.Y Sggw
Y_S]GNMD___GHB_
YSGOMPOXD
Y@SG@SFMJ
Y@SGY]ZHABJ
YSHA]GZY
Y@SHBYCHBG
YsHd_[[[Z[[[g[[[
YSHFBJYJ[]BJA
YSHMGYNNK__[LH
YSHMQMSDJNOM
YSJGBP_B
YSJH_@FKK
YSJHLZLK
YSJP]X]]A_DC
Y]_SJQ_G
YSJY__QPCQ
YSKABCLMND
YSKACDYSCMLOLXQ
YSKBZNKZCMLMQ__OLXKDKG
YSKdZ[[["[[[
YSKQG@ONKAY_PASKQ
ysKRKa;y
YSKXE[GHE
')))Y[@SL
YSLBM]OL
Y_SLCOOCS
YSLDQK]PMKYQCC
YSL_KMAXZ@
YsllllllllmllllOllylmK3
YSLLYPH[QCB
YS]LNGNCCE
Y]]SL[OPPMJ[SY
YSLUVQYLX
YSLYEFME]_DZSJZGJ
YSLZBABNB
YSL]ZFQALZ
YSMJDZDYQ
YS]MN[SGE
YSMPBYQPJ
YsmSSSSS
YSMXFPJLD
YSMXSM_X_JYZD
YSMZAHQNQ
[[[Y[[[s[[[N
[_YSNACJB
YSN[ALDL
YSNKMDLM[M
YSNMCJMPDXAQ__
Y_SNP]XZCQXL
YSNQKCDZZMJJ
YSNSENCFXHH
y|sntS[x
YSo]cgfG
YSOHLKMNMSLKAG
ySO(K(NN2	
YSO_LKGYN
]YS@OOANQL[
YSOPOSGJ
YSO][QQ_KG
YSPAAAC@_]
Y_SPCGQC
YS@PFLJJXD
yspgppepq
]yspgppepq7
ySpgppepql
YSPLMLGS[
YSPMXPJXM
YSPPSJQ]H
YSPP@SK[ZA
ySPRSSSSS
YS[PYOA_Y
Ys]q;CL*_s
YSQLXB[ZHJXLA_YQPPCP
YSQOJEXSEPXC
YSQPJG]C_YK
Y[SQS]N[BQ
Y@SQX@SCX@SMX@S
YS[QYXDKCQJB@MYXOPAB
ySRTRA@:9;921314151xxx
YSS2@JBJ_TLL
YSSaSSSQSSS
YSSBTsSWSSh
YSSBU@JBJs
YSSCPYN_QZSOZGCLGYLQCA
YSSc[SSp
YSSCSSSp
YSSGCSPNN
YSSMM[BDQMAYXB_L
YSS_OAAQAA]LHEQA
YSSQASARs
YsSQSSBVdWBVxVsSQSSD
ySS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSS@R tSSUS
YSSSE]NDHGZK]LGQ_HOMJH
@YSSS@S;
YSSS@S6ORSRS
YSSS@S|"bORS
YSSS@Sc#
YSSS@SD"
YSSS@SDHRSRS
YSSS@SDNRSRS
y_SSS@SDqRSRSS
YSSS@ShHRSRS
YSSS@SHORSRS3
YSSS@SI#
YSSS@S[l._RS
YSSS@SnNRSRS3VXSSS@S
YSS[SSSp
YSSSSSSRSSSSSSSSSRSSSSSRSRSSSSSRSSSSSRS
YSSSSSSSSS
YSSSSSSSSSSSH
YSSSSSSSSSSSHA
YSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Y]SSS@SStRSRSs@]SSS@SFtRSRS
YsSsSSUdPUxVsSsSSYUj
YSSS@StNRSRSC
YSSS@SVHRSRS3
YSSsSVSSUL]9
YSSsSVSSUs_RSS9
YSSS@SX#
YSSS@SYNRSRSC
YSSS@SzHRSRS
YSSSVSSS
YSSSVSSSCSSSHSSSvSSS|SSSiSSS
YSSSVSSSISSS|SSS
YSSwQSSp
.ySSWUL_
.ySSWULB
.ySSWULC
.ySSWULX
.ySSWULY
.ySSWULZ
YS[SXSESXSwSXSaSXS
YSSY_MKHZSOGD
y@STx@SEx@Svx@Sgx@S
YsvK4Aj5
)]Y]]svY
YSW@TLG@UL
YSW@TLG@ULOYk
YSW@TLG@Us
YSW@UU@VBU
YS]XBKJ]H
@]YSXCKQ]
YSXKCZKY
]YS@XLBDQ
YSXNH[KS
YS]XNYQYXD[AN]_YE[N]C[G
YSXRXQXPXWXt_9
ySxuyXy3x
YS"xx]Y]]
ysxyyyyyyyyyOvxyYiyy
@]Y]]S]Y
YSYADCBO
YSY[ASYBFMMBNAL
y!Syg]kgfG
_YSYLON_CDZZZ
ySynuqTgxpg
ySyNyyyyySySySySySyAyMyJyyyyySySySySySyAyJy
YSYPYXEAGSG
ysyryuytywy
ySyWySyu
ysyxyyydyxyyygyxy
ySy@yyyyySySySySyHyAySy
ySy@yyyyySySySySyKyAySy
ySy@yyyyySySySySySy
ysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssy
Y]SYZLNZQ_ON
YSZCDNLFSZOOLJ[E[OQ
__Y[[SZEJCGLGHXJY
YSZ[KEFN
YSZOKGGM
_YS_ZOYZBNN
][YSZPMNQDSQJQ
@@@@]Y]]t
||||Y|||||||t
@YT5LsBY
yt8hpzxxxx8hpz
|yt9U02U"
|yt9U35U"
@YT9YUK9
ytdE[[[#
yTdM[[[Z[[[
Yt_dO[[[
YTdQ[[[e[[[d[[[
ytdS[[[5[[[([[[v
ytdV[[[8[[[
ytdX[[[*[[[
YTdY[[[d[[[
ytdz[[[)[[[
ytdZ[[[6[[[
y#te?oooo
y;#TgAgg
ytgqggjA
ytgqggjrt
*Ytgqggt
yTgQigfG
ytgWdgfG
YtgwdgfGI
Y||tj||jj||
YTL3emL3YTs
YTLC9	U9
YTLY	XUF
YTLZbLZD
YTLZbWZD
y'TlzETl
yT)mggfw
YT!mggfw
ytNdQ[[[
y|tnkpSm
y|tpTlpP
y|tpuSxqR
y|tpv|Xxyxxlla
YTsSCSSd
YTsSRSSd
Ytsyyyy4
YTUdPUxRT_W[
YTUeQDyFTUdR5y
ytWdB[[[
|||||y|Tx|||
ytXhp|xxxxXhp|xxxxXhp|
yTyHyKyyy
yTyHyKyYy5y
yTyHyMy@y
yTyKyIyKy
yTyKyIy;y4yAyNyHyy0y;y4yKyAyMy
yTyMyAyIy
ytywygyvyfy
ytywyvyiyhykyjymylyoyny
yTyWyVyIyHyKyJyMyLyOyNyAy@y
yTyWyVyIyHyKyJyMyLyOyNyAy@yCyByEyDyGyFy9y8y;y
ytywyvyiykyhyjymylyoy
yTy)y:yyyyyyyyyW
Y||tZ||bZ||LZ||:Z||#Z||
yT[[[Z[[[k[[[S
YT[[[Z[[[O[[[
||||y|||u|||
*((]Y]]u
@@@@]Y]]u
'((]Y]]U
*((]Y]]U
yu252yu252kyu252iyu252oyu252cyu252
@yU9@BBBP
YU9@[BV@TUBT
YU9@cUFh
YU9@KUB[
YU9@UU[ftQBU
YU9@VUEeqBVK9	Q
YU9X9@VTBVl
YU9@xEBVgmBxT
Y@@@@@u@@A@AAac
YUAdC[[[
YU:@[B[AK:s
YUBUfD[M9
YUBVgH]W
YUBVgIUZdEVU]W[U
YUBWdgUBC
@YUBYdWBYxRU@ZWBZ
|yUdO[[[	[[[
Y]UdQ[[[#
YUdQ[[[q[[[
YU[dZUQLK9
YUE9bGUQ
YUE9e]PQM9
YUEbcBWM9
YU[eC]WU[VzuSSB
YU[eC]WU[Vz*WSB
YUEexQPL
YUEfQEyEXBCLv
YUEfQEyUsSPSSdQEyEYBJ@IEBIg
YUEfQEyUsSRSSfPUxVsSRSSYQBWUsSSS
YUEmzRSSUsC[SSosRSSB]D
[[[yU"eY[[[
@YUFOO@JL
YU@GBVLC9
yu(g-egfGM
yugEkgfG
yug	igfG
Y[UgJUBU
YugWcgfGu
#y)uHYYMH]Hu[FHD@GNu
YUIatLBAUs
*((]Y]]uj_
)]Y]]uKX
|yuKyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
YUL2d@UL)f]TUL
YULcdKULjf@TLY	U
YULcdVULje
YULcdVULjeFUL2dVUL5eXUs
YULCePJxRKULygEQs
YULCgIkr
YULC|_TD9
YUL_gQEyQBVI
YULN7UJ13Y[D
yUlSSSSSSSSSSSSSSSSSSSSSSSS
YULYfQEyUsSSWSdQEyBXUfQEyBXU
YULZdXULZ
YUMg'agfG
yuMgcegfG
y|unkqSmpiq
Yu|nZu|GZu|!Zu|
yuO0eqgfG
YUPdTWUD
yUpgppepq
YU(	PSW@tBt@GU(
YUQd[[[[
YUQdUUQP
YUQ(QSSW
YUQ(QSSWd
YUQs;BSS9
YUQssRSS9
YurxyxPy
Yuryxhy]
YUscRSSd
YUsgRSSd
YUsJRSS9b
YUsS3QSdbUsS
YUsScRSd
YUsSCSS9gEQM9
YUsSCSS9gJQM9
YUsSCSS9gKQM9
YUsScSSd
YUsSCSSd
YUsSCSSd4UsSSASf
YUsSCSSd5UsSSASf
YUsSCSSdaUsS
YUsSCSSeUs
YUsSCSSe[UsS
YUsSPSSd
YUsSQSSd
YUsSRSSd
YUssRSSeQEyAns
YUsSRSSgUs
YUsSRSS|Kk
YUsSRSSl
YUsSS3Sd
YUsSS3SdaUsSS
YUsSScSd
YUsSSCSd
YUsSScSdFUsSS
YUsSScSdyUsSS
YUsSSCSgwBWD
YUsSSGSd
YUsSSISdaUsSS
YUsSSKSdaUsSS
YUsSSPSd
YUsSSPSd5UsSSwSf
YUsSsQSd
YUsSSQSd
YUsSSQSd0UsS
YUsSSQSd1UsS
YUsSSRSd
YUsSSRSd9UsS
YUsSSRSgQEyUsS
YUsSsRSh
YUsSS[Sd
YUsSS]Sd
YUsSS'Sd1UsSS
YUsSS_SdlUsSS
YUsSS'SdyUsSS
YUsSS[SdyUsSSsSfqBV
YUsSsSSd
YUsSSsSd
YUsSSsSdaUsSS
YUsSsSSdJQ
YUsSSsSdyUsSS
YUsSSUSd
YUsSSUSdyUsSS[SfqBV
YUsSSUSdyUsSSsSfqBV
YUsSSWSd
YUsSSWSdaUsS
YUsSSWSeXUsS#US
YUsSSXSd
YUsSSYSe
YUsSUSSaTsSUSSxRUy
YUsSWSS9
YUsSWSS9a
YUsSWSSd
YUsSWSSeaUsS
YUsSWSSeUs
)]Y]]uSX
YUTdZUQLK9
YUTfMUTd
YUTfxULsduQs
YUTgQEyWUfPDxREy
YU@_U@BP
YUUD]Y]]
YUUDzrzzzzzzzzzz]Y]]
@Yu[uGu[uG
)]Y]]UUX
YU@VQUOsSSS
 ]Y]]uVY
YUWf_QsSRSS9
YUWfqTWgCBVBU
YU@XEBX|
yuxqIJyxXxxx
yUypyGzTz[y)yPy
YuysXuygXuyKXuy9Xuy5Xuy#Xuy
YU@YTBVg
yuytywyvyiyhykyjymylyoyny
yuyyy.....
yUyYy4y4y4y4yYy
|yuyyyxHsHy
yUyYyYyty:y
YUZe_]WU[VzuSSB
YUZe_]WU[Vz*WSB
YUZlp[SSUWnO[SSBUD9
Y)))uZPZ]LD
Y||uZ||RZ||
@@@@]Y]]v
@@@@]Y]]V
YV4WVV5WV||
yv@@A@h JP
yv@@@A@h NOa
Y@@@@@v@@B@ACac
;YVdC[[[
[[[Yv|dQ[[[
y@VdR[[[
YVg'fgfG)
yVgKdgfG
y	Vgqgg(
Y(VIVHxyxpy
Y(VIVIxyx
Y(VIxyx0yV
Y::VIxyxiy
Y(VIxyxmy
Y(VIxyxry
Y!VIxyxsyxxx
@@@@]Y]]vj_
Y:(VJxyxiz]
Y]vK[@G@][M
Y(VKxyxPz
Y!VKxyxqyX
Y(VKxyx|y
Yv_L[Z@FGr
Y@V@)mggfw
Y|vodo7ogo
YVPDb'yg
[[[yVPdX[[[
Y@@@@@@@@vpE
y#vpgppepq
yVpgppepq
YVpgppepq
y[[[vPpdO[[[
y||v|||P|t|e|e
y||v|||P|v|e|e
|y?vpy-Pxy
y||v|||P|z|e|e
YVSSTL_9
YVUdI[[[
yvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvJ
y@V@V@V@zxsy5
yVVWVVxxxKxxzxzxzxY[
?]Y]]V@X
yVX2 'BU
yVxVxVxVxVxVxVxVxVxVxVxVxVxVxVx
yVxVxVxXx
yvxxxxGx
)]Y]]VxY
YVXYZXXXXX]xXXXxZXXXXLX
yvyiyhyky
yVy!xIyHyMyWy
yvyxyyyiyxyyyhyxy
Yvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
_)))[]YvZL]AY
  [     ]Y]]w
@@@@]Y]]W
yW0H_q :
'yw5giggfw
@@@@]Y]]W6_
YW@7@@E@AEac
#[[[yw9fA[[[
yw9fB[[[
yw9fO[[[
][[[yw9fW[[[
yw9fx[[[
yw@@@@B@A@2 @M
)]Y]]wBX
Y[[W[[[C[[[
yWcgfG30r'gqgg2
|ywDxyyF
;:YWDyIpk
[YWFF[LQQ
yWFmSSSS
ywg7jgfG*
yWgAgg3tW
YWg[dgfG
YwGEZALEE
YwgqggcnuD
ywgqggi*"
yWgqggKSl
YwgwegfG
YwHJBHNwL
YwHwJBHwNL
YwHwJBHwNwL
YwHwJBwHNL
y W ?J2*
[[[[Y[[[w[[[?K[[?_[[Sz[Z
ywllllllllmllllOllylm
YWMYYPPMXQYRR
[[[Y[[[w[[[N
Y)))WNLYL
Y;@woooo
YWpgppepq
[[[YWRdE[[[
)]Y]]wRX
yWSSS@S.i
yWSSZ@HE@[ZLCe
YwSwMZPwFwJZ
 ]Y]]WT_
]YwTng_fgfG
)]Y]]wvY
yWWAIVJLKVLLVILJW
yWWAIVJLKVLLVIMMW)
yWWIAJVJKNVIAJVILKW
YWXYYXXXXX]JXXXXX@X
YWXYYXXXXX]JXXXYYXXXXX]JXXXYYXXXXX]JXXXX(_X6XXXHXYHXYXX
YwXYYXXXXXYXXXXZX
YWXYYXXXXXYXXXXZX
YWXYYXXXXXYXXXXZX(X]XXXXXLX
YWXYYXXXXXYXXXXZX X]XXXXX@X
YWXYZXXXXX]xXXXxZXXXXLX
yWyHy5yYyDyyYy
YWyllllllllmllllOllylm#
yWyVyIyHy@yCyBy
Y;@wY;@w
")))YWYWW
yWyWyWyYy
yWyWyWyyyyyyyyyx)yyyyDyZyOywy
yWy]y6y	y
yWy]y8yYy
yWyyy3yhyxy6y
yWyyy5ykyxy6y
yWyyy9yuyxy6y
yWyyyAyqyxy6y
yWyyyCypyxy6y
yWyyyEysyxy6y
yWyyyGyryxy6y
yWyyyKy|yxy6y
yWyyyQyyyxy6y
yWyyysysyyyyyWyWyWyyy4y
yWyyyVy8y
yWyyyWyzyxy6y
yWyyy'ybyxy6y
yWyyy)ymyxy6y
yWyyy-yoyxy6y
yWyyy;ytyxy6y
yWyyy?yvyxy6y
yWyYyYy0y
yWyYyYy4y
yWyYyYy8y
yWyyyyy9yuyxy6y
yWyyyyyay-y
yWyyy	y]yxy6y
yWyYyYy y
yWyYyYy)y
yWyYyYy-y
yWyYyYy:y
yWyyyyy)y6y
yWyyyyyyyky7y
yWyyyyyyyyyPy:y
yWyyyyyyyYy:y
yWyyyyyyyyyyyky7y
yWyyyyyyyyyyyyyyyly:y
yWyyyyyyyyyyyyyyyyyyyvy;y
yWyyyyyyyyyyyyyyyyyyyyyly0y
yWyyyyyyyyyyyyyyyyyyyyyyymy?y
yWyyyyyyyyyyyyyyyyyyyyyyyyyfy)y
yWyyyyyyyyyyyyyyyyyyyyyyyyyky7y
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyhy0y
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyuy*y
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyty6y
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yWyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy	yyy7I
yWyyyyyzyy)yyyyqykykymy*m
ywyzyzyxyyyq
*((]Y]]x
@@@@]Y]]X
yx0x0xvxxrxfx
yx0x;x@xLxMxKx:xJxKxUxIxHx@xOxUxJxOx
yx0yAIJMAA@A@JIIU	
yx0yA@K@HKIJOMMAU
yx0yJIAHHIOKOMOHU
yx0y@K@HN@KK@NHMU
yx0yKLJMAO@JLKJAUM
yx0yLAL@OLKJNIH@U
yx0yLK@@AJOOINANUI
yx0yMK@OIJII@IHMU
yx0yOJALKL@IO@LIU
yx0yOOIONLNNILIMUO
yx0y@OOOOMAAINLKU
          yx2
yx504!xyxs
yx6y*95X
yx8xRRRX
yx8xWxWx6x
)yx8y5x;
_[yX9[_0
_[yX9[_A
_[yX9[_B
_[yX9[_-B6X
_[yX9[_N
_[yX9[_O
_[yX9[_Vk
_[yX9[_x
_[yX9[_X
y;x9x1x x9xXx1x
y x9x:x0x9x?x@x9x
y x9x:x5x9x?x@x9x!x
y x9yEyDy
yx9yqxSpyyx
YXAFA_GQ
((_YXAiQw
YX[ANBCOG]
yxaxaxhxxlxYyw
yxAxAxtxxrxhx1
yxaxaxuxxwxh
yxaxBWW]
yxax_exxx
yxaxJINVJLMVIAAVIAMW
yxay9.;(
yxay'JHL@V*
yxaynxxx;
[[[YxbeQ[[[
YX_BHA[D
yxbx1x1x
yxbxbxsxY[(-9B:
yxbyIJOVHVHVIX
yxByKxKxIxIxLxIxOxKxKxIxIxLxIxOx?xKxKxIxIxLxIxOxKxKxIxIxLxIxOxyx2yMxLxAxHxLxNxNxMxLxAxHxLxNxNx9xMxLxAxHxLxNxNxMxLxAxHxLxNxNx
yxby?;;U
YXCKFFOKQF[PC
YXCMXCZ]XQCL
YXCNLELC
YXCOQAJPGP
YxCQASARA
yxCxBxrxxyx
yxcxHNHJHHHHHH
yxcy1;4**
yxcy1*;X:
yxcy476?(744X
]yxCyHI]HH(]HH
yXC]Y]]O'Y
YXDCBJZQ
YXD_CHAL@
YXDCKP[D
YXDCLYZ_BZ
Y_@XDDBY
YXD_LD[HDSGKZPJLDXN
][YXDMYD
YXdQ[[[G[[[y[[[
YXDSQG]G
YXdX[[[f[[[e[[[B
yxDx#;;U;
yxDxUxqxxlxIy
yxdy9.;(
yxDy;BW-
yxDyUxUx
yxdy;V:VX;
yxdy#xWx
YXDY]ZSJE]KX[LY]FQZDJ
Y[XEAGC@Q
YxED@UBZB]
YXE_ESAAPPMDHGEX
YXEHF_DS
yxexXUX5
yxey9.1;
yxey]HJ U]HJ U]HJ U]HJ U]HJ U]HJ xxx
yxeyVG9.(
!yxEyXazxx
yxez#1;)X5
YXFCS]SMKPYHNPH
YXFNZ[ON
YXFPFCDOJGZFYLYSAGMN[P_QN
yxfx.6;]
yxfxfxqxxfxcz]x
yxfxWxWx
yxfy1x7x
yxfy.6;]
yxfy?;9V:
yxfy9x'x(x
yxfyIOJVINVIVIB@H@HC
yxfyKxJxHxLx@xJxHxKxAxLxOxJxHxKxMxyxZy
YXfyQexy
yxfyVxIxWx*x
yxfyW;XZ
*((]Y]]xg_
Y_XGBGZL[]Q
YXGDY@LQGYL
YX@GHYALK
Yxg]kgfG
yxgxBWW]
yxgxgxqxxyxLy
yxgxW9((W
yxgy    
yxgy1(;XP]
]yxgy]9'9
yxgy?;9V:
yxgyOLVNKVJJHVLIW
yxgyx																													xyxmyx-
YXH9YPt8H
_YXHBXOHBG
YXHNODYJS
]YXH@OHDC_ENXHK
y|Xhp|Xhp|Xhp|
yxhxB@IW;
yxhxhxcxxyxsyY
yxHxHxrxxlxiy
yxhxhxrxxyxvx
yxHxHxtxxyxhy
yxhxx!yxa9
yxhxxyxj9
?yxHy@	3
yxhy6x2x;x
YXHYDL@_
yxHyFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUFUyxpyUFUFUHJUyxpyUFUFU@HUyx
yxhyJHIMX4
yxHyJKA@H
yxhy@MVJMMVIIJVKNC@Myxvy
YXHyM"xy
yxhyV@@@V
yxhy;x7x.x
YX[HZSLXMOL
yxIN@@xyx
y|xipo kpipXx
y|xiqo kqiq
YxIUL	bVULs
*@yxiy''
yxiy]1NL
yxiy2222;
.yxiy9.;*
	"yxiyI:
yxiy.NIKHU
yxiyUUUU
yxiyVG9.;0
yxiyW9((W
YXJHB]BLK@H
YXJLCMAQLBPYB
Y||Xj||Nj||
Y_XJPCHJ
YXJ[QJ[OK_A
Y]XJQQ[BOZB_DNMCK
YXJXBLXL]AYF[P@QZ
YX_J[XQ[XHXY
yxjxtxpxY[9
yxjxXUX5
.*yxjxxx
yx:.:'Jxyx
yxjy414"
yxjy	??4	?2!.7
yxjy9.;*
yxjyHJKUX;
'yxjy]HVJ B]HVJ B]HVJ xyxry
yxjyV65!X1
YX@JZCCO
YX[KHK_KG
YX[KJ@AZGQKX
YXK]_NAMMY
YXKNDMLX[@[L
yxkx9.;;
yxkxBNNNNW
yxkx#]HVJ
yxkxhxvxx|x[y
yxkxkxkxxyxr
yx:.:'Kxyx
yxky(:'(
yxky3!1*
YXKYELQY@OM]QE[
yxkyhxxx;
YXkyIhxy
yxkyKOOLK'
Y]X[K[YN
yxkyVG9.5
YXL]]CXB]C
[Y]XL]DK
YXLD]ZSNP
YXLGPBQZA
YXLKYZLS
Y]X_LNNBA
yxlxBMNOOW
yxlxlxixxyxuy9:6X95*7X:
yxlxlxsxxrx5y
yx:.:'Lxyx
yxLy3x:x]xHx@x
yxly59?1;X
yxly]9'9
yxlyAxOx
yxlyI[)696xx]
YXlyijxy
yxlyKx@xOx
YXLYPGFMSNDCHQ]G[L
YXLYSNDNX
yxlyVG9.;.A
yxly[[[X
]YXMC_CXJN
y)))XM[LGOH
YXML[XOL
yxMMHLIUHHIN@UKHMUJLNJHAUHKUIHKKUONHHVHHHHUHMJJHIHxyxU
YXMN_[GO
YXMN_XBJ]
YXMNYLZS
YXMPCHH_O]F@@LF
YXMPHEAZGH
yxmxjxsxY[9
yxmxmxpxxrxu
yxmxmxrxxrxmy
yxmxmx|xxlx
yxmxmx|xxrx4k
yxmx[O@M
yxMy@KXOAXO@XHHXL
YXmy	kxy
yxmyMINMMLMNL	NM
yxmysyvxx
yxmyX]UJJ
yxmy[xxxx934VHHKx
YxnBUKd"BUMf?BTBUJ
YXNMYJMBLHGCHEBY
YXNNNMQ_YJ
YXNSPZGJL
yxnxG9E]
y]xNxIx]xNx
y]xNxMx]xOxKx]xOxLx]xMx
yxnxnxpxxrxhx1
yxnx']!U]
yxny-*47
yxny@AOA@OA@
yxnyqi|pi|p
Y_XNY[XOXM
yxNy'x-x
yxnyxxVx
YXNZBYA@
YXODSAEJO_
YXOEOSZK
YXOGGNG_
YXoIllllllllmllllOllylm
]YX]OPOQ[JA
yxoxBOHHHW
y]xOxMx]xNxMx]xOxKx]xOxLx]xMx
yxoxNNNNNOOONNNNNNNNNN
yxoxoxsxxrxwx:3
yxoy8JTi9
yxoy9.;(
yxoyONL@OUKKOU@LJAAMMUJJNILyxoyONL@OUNLLUKIOOHKOUJKMIHyxoyMMJOLUNLHUJNOKHNLUJKAMHxx]Y]] 
'?????????????????????????????????????????????????????????????yxoz4x
yxp98xHlp
YXPABSGSA]
YXPBA]XH_NHYAEJ
YXP[CLHB
YxPD@TBWD
YxPD@VTs
YxPE9YUy
]Y_XPJJGXZ]LXF
YxPL3YUD
y@@@@@@@@XpPD
yxpx1:5X;
yxPxJxHxKxVxIx@xKxVxIxOxJxVxIxAxNxBxKxLxOx@xyxTx
yxpxpxaxxyxh
yxpxpxpxxyx4y
yxpxpxpxxyxJy
yxpxpxrxxpxEz
yxpxpxrxxzxY
yxpxpxtxxyxOy
yxpxpxuxxzxwy
yxpxpxwxY[0
yxPxZx]x
'																													yxPy(
yxpy021@V
yxpy15*'1
yxpy1N0@V
yxpy25.'.52xyx[zV
YXPy	2xy
.@-yxpy6
yxpy;*9;316?yxqy
yxpyH|@8C
]yxPyHH;]HH
yxpy]H@ V
yxpyJ6hJ
yxpy.;JH ;HHyx|y6
yxpy'JV(
yxPy]K9I]K9]O:
yxpyT@MVJMMVyxpy
'																													yxPyx:
yxpy.x]x
YXpyYpxy
YxqD@UBZB]
YxQEyQs;BSS9
YxQEyUBY
YXQKCNLZ
YXQKKABAOGXMKX
YXQQSCYAHO]S
YXQXAZBY
yxQxQxpxxlxXy
yxqxqxqxxyxc
yxqxqxrxY[9
yxqxqxvxxyxX
yxqxWKMJIV
yxqxxJHIMUIHxyxrxX
yxqxxVJLV
YXQXZNGA
yxqy:1J90V
yxqy1(X0
?yxqy:2A
"	(yxqy6
yxqy6)2!.V
yxqy6(32:
yxqy[[[[8[[[[yxsy  U  U  U  yxsy;?U;?U;?U;?xxx
yxqypXxzyx
yxqyRINKRV
YxQ[YUEbeTV9T
yxQy#]UIM
yxqyX]VJ
yxQzHHIHJx
YxQZYUBBm
yxrxBxWxRxVxRxyxtx0x
Y:xrxjy;
yxrxpxsxxyxNy;x
y[Xrxpyy
y[XrxpyySyyy[yyyyyyyyyyyiyyy9yyyy
yxrxrxhxxzxn
yxrxrxkxxrx[z
yxrxrxnxxyxhy?
yxrxrxpxxzxuy
yxrxrxqxY[9
yxrxrxrxxyx
yxrxrxrxxyxey.
yxrxrxrxxyxl
yxrxrxrxxyxpy
yxrxrxsxxyx[y
yxrxrxsxY[1
yxrxrxsxY1
yxrxrxvxxzxnxW
yxrxUxUx
yxrxVx]x
''yxrxx:
YXrXXXxXXXRXXX]YXX
yxrx]Y]]
||||yxry
"yxry?0)
yxry257"(
yxry2716X]
yxry*(;4
yxry409;
yxry4090
yxry;(7	
YXRy)7xy9zyy
yxry9!J :M
yxry9.(V:
yxryDYUUX
yxryIJKLMV
yxRy J'x!J'x K'x!K'x]
yxry(!"UHHV
?yxry-W50;W.
yxrywg8x-
yxry?xLx?xIxMxxx]Y]]
YXS1YXS!YXS
yxs98xIly
YXSAZZENA_O[DEJCC@LZP
YXSBLFJSA
YX_SCBSSK
YXSFL[HHFPKFO
YXSHNH]F
yxspgppepq
YXS]SHOM
yxsx3(L5
yxsxB@IW
yxsxBLJNNIW
yxsxJINVIAMVRVRyxrxNNVJKMVRVRyxsxJHMVIOOVRVRyxvx
@YXSXOSZY]G]
yxsxqxqxY[9
yxsxrxqxxzxmx
yxsxrxsxxyxrx8
yxsxrxuxxzxoy
yxSxSxrxxrx
yxSxSxrxxrxpyx1
yxsxsxsxxyx
yxsxsxtxxrxpy
yxsxsxvxxrx_x
yxSxYxrxxrxny
yxsy0|yx(|zx
yxsyBLMNIJW
yxsyBX]1NL
Y[XSYJXYMYZHA[AC
:yxsy;MJ
yxsy]UJL
yxsyx(((((((((xyxsy
@@@@@@yxt
YxtU]V2YxsU6YxHUM1sS
yxtxpxxx
yxtxRYR8
yxtxsx|xxyx
yxtxtxixx|x
yxtxtxrxxzxq
yxtxtxtxxyx
yxtxtxtxxyxd
yxtxtxvxxrxwy
yxtxtxwxxrxry;
 !!!yxty
'																													yxty?
yxty3:A@OKJLV
yxTy?;9V:
yxtyD0KF]
yxtyIONVAVIIVJINxx]Y]]
yxtyM5Y5 
yxtyMHVNKVJHJVL@xxyxx
yxTyVxVxVx1x
yxtyY)9"J
y|xU||||1
yxuxBAAW
yxuxIJJVILIV@NVIJyxpx
yxuxIJKVLMNVO@AVHyxuxJHNVMIVJKOVAKyxwxW
yxuxOJVJKJVLKVJJNxxx
yxuxOJVJKJVLKVJJNyxixM
yxuxuxhxx|xXy
yxuxuxsxxrx6z3
yxUxUx[xxrxh
y#xUxXx(x
.yxuy9.;5
yxuy]HIN1NL
yxuyIAJVIN@VIVJLLyxly*
yxuyIAJVIN@VIVJLLzx
yxuyIONVKIVIIJVIHxxx
yxuy MHA;
y)Xuyqy		yuyqyJ
''yxuyV5
yxuyVWVW84
yxuy@xVx@xVx@xVx@xxx
yxuyyhu@c
''''''''''''''''''''yxv
)]Y]]XVX
yxvx!151
yxvx61;3X:
yxvx(7(KX(
yxvx]H@ '
yxvxIJKVMI
yxVxJxKxLxMx
yxvxtxhxxyxfy]
yxvxvxmxxrxwy
yxvxvxtxY[9
yxvxvxvxxyx_
yxvxvxvxxyx[h
yxvxvxvxxyxiy*
yxvxWxWxBx
[[[yxvy;
yxvy(:'?
yxvy;*';
yxvy*134
yxvy15?]
yxvy159(X(
yxvy159(X-
yxvy2x x?x
!yxVy3!xxBGxxvGxx4Oxx
 (yxVy7(
yxvy(7(KX(
yxvy(7(KX-
yxvy.:7 xxxx.5
.yxvy9.;5
yxvyFxFx
yxvyGGJMKONKJMKONKxxyx]Y]]
yxVy#]HL
yxvyIAMV@@VJH@VJIHyxiy
yxvyIBX9
yxvyIIMVILMVJJAV@MyxiyUU@
yxvy@OVJKNVJIMVIKJyxwyIHLVIOIVIIOVJIIyxwyIA@VIHMVIJJVI@LyxuyAIVJJAVO@VJJLyxvyI@MVOOVIJAVIJJyxvyJKVJJOVIANVIJJyxwyI@@VJLIVILHVJLKyxuyNAVAHVIKJVIKNyxuyAKVIIMV@NVIOHyxuyAMVJIMVLMVI@AyxvyIAKVINAVJLLV@MyxtyIHLVJJKVOVIHyxuy@OVJKNVJIMVNHyxwyIOKVIALVIIJVJLNyxvyNAVIOJVJHIVJH@yxuyKOVLNVIILVILKyxvyI@JVOOVIJAVIJJyxty@HVJMMVKVII@yxvyI@MV@JVJHHVJKMyxvyINOVIILVJILVNJyxvy
yxVyVyixx
yxVy!x5x
yxvy:xXx
YXVy).xy
yxVz)Exhxx
yxWW:XZxxxx
yxwx9.(V9
yxwxBIA@W
yxwxtxixxyxjy
yxwxuxqxxyx@x
yxwxwxsxxpxry
yxwxwxtxY[:
yxwxwxuxxyxoy?
;*;yxwy;
yxwy:16x
yxwy409*
yxwy-*4';75-61;9;97xxx
yxwy"5@[A
.yxwy9.;.
.yxwy9.;5
yxwy9.X?
yxwyBVVX?
yxwyC]LVL
yxwyHdH9
yxwyIALVIHAVJHNVJIJyxvyIKIVI@@VLHVI@Axx]Y]]
yxwyIAMVI@AVJLNVJKMyxU
yxwyx1111111111111xxxx
yxwyzi|zi|
)]Y]]x@X
YXX2YXX_YXX
y.x?xAx;x"x-xAx
YXX[_BNBY[
@YxXBVI9	Ag
yxxCxxxyxPyryxx
yx]xEEEX]HL
Y]'Xxegfw
y#x]xHxVxLx
y|XxHxxg8
yxxhyxxyxpxxxxx
y|xxiho khihiw
y|xxijo kjijii
y|xxiko kkikij
y|xximo kmimil
y|xxi[o k[i[iZ
y|xxi|o k|i|o
y|xxipo kpipi
y|xxiqo kqiqip
y|xxiqo kqiqo
y|xxiso ksisir
y|xxito ktitis
y|xxivo kviviu
YXX[JAAP
yx(xJxVxXx;x
y|xxpf tpz
YX[XPPJ_O
yxx|Pwxxrr
y|XxpxxR
YXXPXZX YXXYHPX
y|xxqo uqp
Yxxrszk|nui|
yxxwJxx]Y]]
yx xWx(x
yxxwxxx4
yx:xWx;xXx
y*xXx1x6x1xUx
yxxx2xxyxyxyxxyxEyw
YxxxDxxyxyxyxY[4
yxxxIp78?A
y|xxxiqo
yx#x#xnxxyxhy
yx.x.xnxxyxhy
yxxXnyxxP
yx|x|xpxxyxp
yx|x|xpxxzxNy
YXXXQXXXPXXX[XXX[XXXYXXX8YXX
YXXXQXXXPXXX[XXX[XXXYXXXhYXX
yx|x|xqxxyxdyK
yx|x|xqxxyxt
yxxxRxxxyx2xDR
yx|x|xtxx|xVz
yx|x|xtxxyxqy
yx|x|xtxxyxvy
yxxxVxxx
yx|x|xwxxyx
y|xxxx8hpzxxxx8hpz
YxxxxJxxyxyxyxY[
y|xxxxuxxx
)yxxxxVzxrxrx|xY[*
y|[xxxxx
y|xxxxXhp|xxxxXhp|xxxxXhp|xxxx
yxxx?xxx
YXXXXXXLXXXZXdYQXXXXH@X
yxxxxxxxH
yxxxxxxxI
yxx(xxx(xxxhxxxhxxxXx
YXXXXXXXXX
	YXXXXXXXXX[XXX
	YXXXXXXXXX[XXXLXXXYXXX
	YXXXXXXXXX[XXXLXXXYXXX8
	YXXXXXXXXX[XXXLXXXZXXX8
yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 YXXXXXXXXZX]XXX
YXXXXXXXXZX]XXX
(YXXXXXXXXZXXXXX
YXXXXXXXXZXXXXX
YXXXXXXXXZXXXXX.
YXXXXXXXXZXXXXX0'
YXXXXXXXXZXXXXX3
YXXXXXXXXZXXXXX4
(YXXXXXXXXZXXXXX9
YXXXXXXXXZXXXXX9
YXXXXXXXXZXXXXX91
(YXXXXXXXXZXXXXXC
YXXXXXXXXZXXXXXC
YXXXXXXXXZXXXXXf
YXXXXXXXXZXXXXXk
YXXXXXXXXZXXXXXK
(YXXXXXXXXZXXXXXN
YXXXXXXXXZXXXXXTR-
YXXXXXXXXZXXXXXu
YXXXXXXXXZXXXXXz
yxxxxx]Y]]
yx|x|x|xxyx
yx|x|x|xxyx2y
yx|x|x|xxyxsx
yx|x|x|xxyxVy
yx|x|x|xxzx
yxxxx]Y]]
yx|x|x|xY[9
y|xxxxye
y|xxxxyE
Yxxxxyxsxsx
yxXxxyxyxyxxyxkz
yxxx]Y]]
Yxxx]Y]]
yxxxyx4y
yxxxyxmy
yxxxyxuy
yxxxyx[x
YXXxYXXR[XX
YXXXYXXXXXXX[XXXHXZXYHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
YXXxYXX_YXX
yxxxyx|y
y?xxxzxxx
yxxxZxxx
yx|x|xzxxzx
y?xx]Y]]
'																													yxXy(
Y-xx]Y]]
Y[xx]Y]]
YXxy1xxy
yxXy" 6;X
YXXYAGHN
yxXy]H@ ]HL ]HL ]HJ ]HJ ]HJ ]HJ ]HJ zxRyw
yxXy ]HJ ]HJ ]HJ ]HL xxxxBxxx
|yxXy;I.
yxxyk|i|nP
yxxyk|i|nz
yxxykuiunP
yxxylllP
YXXyMdxy
yxXyNAVINJVN@VJIAW
yxxyPixxrk
yxx]Y]]U
Yxx]Y]]V
yxXyW[G[
yxXy!x9x
|yxxyxax
yx!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!xyxk
yx ;;..xyxn
yx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;xyxp
yx'''''''''''''''''''''''''''''''''xyxq
)yxxyxSz
|yxxyxty*
yx ;;..xyxu
yxxyxvy(
yx ;;..xyxw
y|!Xxyxx
y|XxyxxJ
yxXyXx]x
YXX.YXX]YXX
yxxyxyyx
yxxyxyyx1
yxxyxyyxj
yxxyxyyxK
yxxyyxxy
yxxyyxxy	
yxxyyxxy'
yxxyyxxy8
-yx@y';1
yx@y1xXx
Yxy3yyyyyyyyyyyy
yx[y?;9V:
yx]Y]]A1_
yxyaxxyJxxy5xxy
yx[y;BW-
YxYD@UBZB]
yx:yDx7x
YxYEY]VE
YXYHBXS[
yx;yHI]HH9]HH
yxyixxyVxxy0xxy'xxy
yx[y]JVJ
YxyjXxyMXxy6Xxy
YxyjXxyRXxy;Xxy Xxy	Xxy
yx?y@KOKJKNOMIKU
YxykXxyTXxy5Xxy
]YXY@LDYSJS_JG]]X
yxylxxyTxxy:xxy
YxymXxyHXxy1Xxy
YXYOXSXCXGJ[
yxyoxxyIxxy6xxy
yxyoxxyJxxy)xxy
YX[yqgxy
YxyQyyyy
YxysXxy[XxyNXxy4Xxy
YxysXxyZXxyCXxy(Xxy
yx|yTPUxyx
yxyvxxy]xxy:xxy
yx:yWx;xXx
y ; ; ; ; ; ;; ;  xyx_
y X---yx
yx:y(x0x*xLx
Yxyxayx?
Y:(xyxlz]
Yxyxmyx5
Y:xyxPyK
Y?xyx|qzxx
Yxyxtyx0
yxYx#]VJ
Y:*xyxXxbxxx*x
YxyxXxyYXxyGXxy"Xxy
yxy_xxyRxxyIxxy4xxy
yxyxxyxy
yxyxyxixY[.
yxyxyxpxY[9
yxyxyxqxxyxbz
yxyxyxqxY[
yxyxyxrxY[
yxYxYxtxxrxXy
yxyxyxtxxyxjy
yxyxyx|xxyxDxw
yxyxyx|xY[
yxyxyx|xY[.
yxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyiyiyiyiyiyiy
yxyxyxzxxyx
Yxyxyyy|yyy|yyy
@[YXYXZXZA[XXYCC[CXZA[C[CCXXY[
yxYy(16?XU
y	xyy9i0
y)xyy9i0
YxyyB|1ih6v
YxyyFFFX
yxYyIA@VMNVI@IVJLNW
yxyyiyyyyyyyyyyyyyyyyyyyyyy
yxYyJINVJLMVIAKVJOW
yxyy]Wyy
yx|y-( Yxx]Y]]9
YxyyXxypXxykXxybXxy]XxyTXxyOXxyFXxy1Xxy
Yxy	Yxy)Yxy*YxySXxyCXxy
Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy)Yxy
yxyyy7|yy7|yy
yxyyyqyq
?YxyyyR4
yxyyyryr
yxyyysyyysyyy
yxyy|yxyy
yxyy|yxyy)
yxyyy)xyyI6yyzyyy
yxyyyyiy
yxyyyyy	
yxyyyyy!
yxyyyyy1
yxyyyyy5	6
yxyyyyy9";
yxyyyyya
yxyyyyyi
yxyyyyyI
yxyyyyyy
yxyyyyyy8;
yxyyyyyyi
yxyyyyyyy
yxyyyyyyy5xyyqyyy
yxyyyyyyyyy
Y#xyyyyyyyyyO#xyyiyyyyyyyyyyyyyyyyyyyyyyQ#xyyyyy
yxyy)y)y)yYyYyx
yxyyyyyyyyyyyyy
yxyyyyyyyyyyyyyQ:;
yxyyyyyyyyyyyyyyiyyy
yxyyyyyyyyyyyyyyiyyya
yxyyyyyyyyyyyyyyiyyyDp
Yxyyyyyyyyyyyyyyryyy7
yxyyyyyyyyyyyyyyyyy
Yxyyyyy!zy
YxyzXxyeXxy@Xxy!Xxy
Y||xZ||gZ||NZ||4Z||"Z||	Z||
YXZSGOKCQA[
yxzxry;y)c
yxZxWxWx]x
yxzxyxpxxyxbz
yxzxyxzxxyx
yxzxzxpxxyxWy
yxzxzxpxY[
yxzxzxqxxyx
yxzxzxqxxyxay
yxzxzxqxxyxazK
yxzxzxqxY[4
yxzxzxqxY[9
yxzxzxsxY[4
yxzxzxvxxyxWy14
yxzxzxvxY[4
yxzxzx|xxyx
yxzxzxzxxyx
yxZy?;9V:
yxZy#]HJ
yxZyJH@VIIMVIAOVIIOW
yxZy?xUx
YXZ[ZkV]Rq
y#((]Y]]
y*'((]Y]]
y@@@@@]Y]]
)((]Y]]y
?@@@@]Y]]Y
Y(((]Y]]
Y.@@@@]Y]]
Y@@@@]Y]]
Y|*((]Y]]
y;y0y6y*yYy0y
y;y0y6y*yYy1y
y.y0y7yJyKyC
y.y0y7y*y-y8yIyyy.
yy0yAyyy
y]Y]]1]]
yy1Fyy1Fyy1Fyy
yy1hyyqI9
yy1lyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy1myyEyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyMyyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy1qyyy)yyysyyyeyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy1qyyy)yyysyyygyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy1syyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy1yayqy)Xeyqy)XY	y]yiyy
yy1yyyayy
y)y2yTy8y	y	
|yY3qyY3qyST|yOg|y
yy|3yyr3yy
!yy3yyyyyyyyyyyy
yy4myy)myy
yy4qyy4qy
yy|4yyX4yyD4yy
yy4yyyyyyyyyyyy
yy5iyyuIP
yy5pyyy)yyysyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy5RyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy5T5T5O5xxxx
yy5yyy#I
yy5yyyUHNHFH
Yy6@@@@@
yy6xxxLxK
yy*-6)Y4	JY
yy6:)y8:)y7
*yy6-yy.-yy
yy**7*B]
y*y7y4y)yPyyy
yy!7yyQyyyy
yy7Yyy;_yy
y*y7yyyyy.y
yy@9511:;
yy9()! '6
yy99yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy9H;99w
yy9H;:9w
yy9H;;9w
yy9hyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy9pyy|Ie
yy9xyy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyAyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy9;yy ;yy
yyA7yyQyyyy
y@y@@A@AAacoo
yyAayyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyAByyDByy_Cyy5Byy_Cyy5Byy
yyAByyDByyDByyAByyS_xyS_xyS_xyXpzyYpzy
YYACM]C]X
yyAFyyGFyy
yy@@@A@h FMHc
Y[YAH]KLHP[SAAX
yyaiyyyyyyyyyyyyyyyyyyyyyy
]yyaKyy*myy
|yyAkyysI
YYAMMN]XNB
Y_YA@MYS@QJE
yyaoyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyapyyIpyyI
yyaqyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyAqyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyAqyyy)yyysyyygyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|yyAuyyuI
y	yAyIyyy
y	yAyIyYy5y
YyAyPyyy
yyayxy@yxy)yxy
)yyA)yyK)yyL)yyD)yyl)yya)yyk(yy[(yy
yyayyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyaYyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyA[yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyAyyyRI
yyAyyyUI	I
yyAyyyYI
yyayyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
[yyaZyyHZyy2Zyy
yyB4yy.4yy
yyB9xy'9xy
yyBx]xHxJx
y"ybyAyyx
y	yBySyWy
#yyb"yyC"yy."yy
yyb?yyL?yy
;yy(ByyRCyy
'yyb)yy#)yy
YYBZDGXJLBDE
yyc1yyM1yy71yy
YYCACPK]
YYCAZS_PJ__
YYCCNCCCBACCEA
][YYCEXCBDX
YYCEXJPKCNZZ]QL
YYCG]AY_QCL
YY[CKEN@OD
YYCLJPML
YYC]N_LJ[
yycpyyy)yyysyyygyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YYCXQSXG
yyCyCy8y
@|yyC|ymC|ygC|yAC|y7C|y!C|y
yycynyayTy1ybyeydygy
y	yCyVyVy
y	yCyVyVyyy
y	yCyVyVyyyyyyyyy
yycyxyZyxy
*yyc-yyE-yy!-yy
yyC;yyZ:yy
YYDBGH]PP
Y_YdF[[[
YY_DHPG_
yYdJ[[[b
YYD[J]H@C
YY]DM]MHGJ[YKJZD
YYDNK[NBH
YYDO[_LX
yydOyydOyy
YYDSMXEZ[
yyDSyy"Syy
yyd|xyW|xy
yyDyiyyv
!yyd yyJ yy3 yy
_yyd_yyM_yy2_yy
)yyd(yyM(yy2(yy	(yy
)yyd(yyT(yyF(yy
(yyD]yy']yy
)yyd)yyY)yyy)yyz)yy
YY_DZYGG
[yydZyy#Zyy
yyEcyyy	yyyeyyy9yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YYEL]vZZ_v_HE@MH]LM
yyEMyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
YY[EOHZJOX
yyeqyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yyEryyrI
yyEtxyyiwyyixyy
|yyEvyysI
yyEyryuyu
yyEytyayy
yyEyxyayy
?yye?yyA?yy-?yy
!yye yyE yy8 yy
)yye)yye]yyU7yy
yyEyyyEK*K
yyeyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyIiyy9yyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyeyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyEYyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyeyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyeyyyKI
|yyEyyyqyq
)yyEyyyy
_yyEyyyy9yyqyyyyyyyyyyyyyyyyyyyy)yyaxyy)iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyeyyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyeyyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyEYyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
_yyEyyyyyyyyyyyyyyyyyyyyyyyyyyyyYxy
yyEyzyryr
?!#y*yF*
.)))YYF[]
YYFAAD@L]MCX
@yyfCyyNCyy0Cyy
yyFGyy;3yy
Y[[Y[FHGP
Y[YFJ_YKQZAQK
yyFnyyFfyyyyy
YYF@ODF]LKLJOF[KYM@H
yyfQxyUQxyq
YYF[]trFY]@FGZt
[yyf[yyK[yy5[yy
yyfyyygyyyeyyyayyyiyyyyyyyyyyyyyyyyyyy
*yyf-yy]-yyC-yy
Y]YGACOYQMZ
YYGAYADHD
YYGCZ[_SQN_JH
yygDyyNDyy)Dyy
yyGeyyy	yyygyyy?yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YYGGBBGDGBD
yyggyyy	xyyYyyy1xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyGgyyy	yyyYyyy3yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
@yyGHyy7Hyy
YYg'jggG
YYGKYBD@JM
YYGMXYD_D][NHMSOQP
Y]YG_SGY
yyguyyy9yyywyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyguyyy)yyywyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y|ygx|y4x|y
yy*Gxy*Gxy
yygxyyyyyyyyyyy
*yyg-yy8-yy
[yyg[yyN[yy)[yy
.yyg.yyO.yy5.yy
yyg|yyy9yyy
yyG#yy-#yy
yygYyyy	yyy[yyy5yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyG]yyy	yyy_yyy)yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyH|b:C-h
YY]HBHN@
Y_YHBJLH
@yyhCyy[CyyJCyy2Cyy
@yyhCyyXCyyACyy6Cyy
yyHHBML"X
yyHHHAHx
yyHHHAIx
yyHHHAJx
yyHHHVHHHHV]
yyHhqx8xx
yyHIHUIJUHOXILBMKBHJ"X
yyHIHUIJUIOXILBHJBJJ"X
YYHJBHNL
Y@YHKA[]DM]MDDP
Y@YHKLBSDPZS
Y_YH][LLEC
YYHQA]G_
YYHQJNGL_[[DNM
yyH|r9C5
y	yHyHyIyYy5y
y	yHyHyIyyyyy
y	yHyIyIyYy5y
y	yHyIyIyyyyy
yyhyjyUylx1y
y	yHyKyIyYy5y
y	yHyKyIyyyyy
y	yHyMyIyYy5y
y	yHyMyIyyyyy
*yyh*yyc*yyZ*yy
yy)hyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyYyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
.yyh!yyW!yy6!yy
]yyhyyy1ysy|y|
]yyhyyy-yry|y|
]yyhyyyyyyy
*yyHyyyyyyyyyyyy
yyHyyyyyyyyyyyy	yy
[YYHZPXOQ
yyIayyzI
[[[YYIdN[[[0[[[
yyIDyy@Eyy(Eyy
yyIGyyOGyyEGyy;Gyy1Gyy7Gyy-Gyy#Gyy
YYiiIYiY
]yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyIiyy9yyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
"yyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyW
)yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
]yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
_yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
)yyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyUyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyUyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIiyyyyyyyyyyyyyyyyyyyyyy
|yyIkyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyy
yyimyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
-yyInyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]|yyyyyyyyyyyyyyyyyyyyyyyyyyW
]yyiPyyXPyy
yyipzyipzyipzyqpzyqpzy
|yyiqyyuI
yyIryyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIryyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIsyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyiuyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyiwyyy)yyyiyyyQyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyi@xym@xyN
yyixyy|ImI
yyixyyjIGI
yyIyayayy
yyIycyayy
	yyiyFFH
yyIyhyayy
yyiyi9iyyyy
yyIyiyayy
yyIyiyqyq
yyIyjyayy
yyIykyayy
yyIylyayy
yyIymyayy
yyIynyayy
yyIyoyayy
yyIypyayy
yyIyqyayy
yyIyryayy
yyIysyayy
yyIytyayy
yyIyuyayy
yyIyvyayy
yyIywyayy
yyi)|yxIyw
yyIyxyayy
yyIyxy)yyyyyyyyyEyr]xyyyyy
yyIy|yayy
yy)iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyW
YYi-YYiMYYiuYYi
)yyi)yyj)yyV)yyK)yy
yyi*yyP*yy;*yy"*yy
yyI|yyrIw
!yyi yyT yy5 yy
*yyi-yyW-yy4-yy
y@yIyYy5y
yyiyyy?@6@!@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyI|yyy9yyy
yyiyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy!iyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy-iyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyi_yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy	IyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyIyyyuyu
)yyi(yy[(yyD(yy-(yy	(yy
yyiYyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyiyyyyyyyyyyyyyyyyyyyyyy
yyiyyyyyyyyyyyyyyyyyyyyyy5
yy)iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeiyym
yyIyzyayy
yyizxyyyyy
yyizYzIz
yy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]J
yyJ5yy.cxy
YYJEBXGFSKABBBA_Q[
YYJHQMX@
yyJNAU@J
Y_Y@J@X_
y	yJyKyyy
y	yJyKyYy5y
y	yJyKyyyyy
;yyj:yyI:yy):yy	:yy
 yyj#yyM#yy6#yy
yyj@yyPByyPByy
yyj;yyr;yy
 yyj#yyV#yy0#yy
.yyj!yyV!yy2!yy
:yyj:yy[:yyM:yy1:yy :yy
yyjyyyyy
YYJZN_QJQ
YYJZXSDHG
[yyjZyyRZyyDZyy7Zyy
;yyK8yyk9yyi;yy
@yyKCyyNCyyECyy
@yykCyyWCyyJCyy9Cyy"Cyy
YYKE@SQE
[YYKGZNYYSCD
yyKIMHAHA
yykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
yyKpyyy)yyysyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyahyyyyyyyyyyyyyyyyyy
yyKyLyyy
yykyxyHyxy7yxy
.yy_kyy5!yy
yy]kyykI?
(yyK yyN yy
yy?kyyy)xyymyyy_xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
)yyk(yy!(yy
"yyl2yyl2yyc2yy
yyL4yy(4yy
yyl8xKKKK
yyl8xZZZZ
yyL9N@NJMMMJN@N
YYLALFZC
[[[YYLdR[[[n[[[c[[[
]YYLDYMXF_NGQHZ
)))Y@YLE@GL
Y@YLE@GL
y@YLfY]@FGZ))
Y@YLGHDL
[YYLKvEM[vMH]H
yYllllllllmlll]Y]]
Y@YLM[LHD
YYLNAJXQ_
yyLNHUKJ
YYLNQPMZCCMGJN
yyLNyyLNyy
]YYLPL]]Y[GCGDEGPAC
Y]YLQCZQXY
Y)))YL][@vM@ZAvNLGL
yyLxKxOxJxNxMxNxIx
yyLxNxIxOxKxNx:xOxKxJxHxJ
y	yly8y	y	y
YYLYHA]E_PGZ
y	yLyIyyy
yylyxyIyxy2yxy
yyl	yyE	yy
#yyl"yyH"yy4"yy
*yyl-yyH-yy4-yy
yyl	yyH	yy4	yy
 yyl#yyQ#yyF#yy##yy
yyLyyyyy
?yyLyyyyyyyyyyyy
yyLyyyyyyyyyyyy
]yym6yyty
yyM7yyQyyyy
][YYMASHYAGXKYS
YYME]_D_H
yymEyycEyyW
YYMGMELO
yyMGyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yymhyyuI
yymHyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyMIOLAHJHKHOx
yyMJBM@"X
[[YYM@N@]HE
yyMNKJMLJ@KL
]YYMNKQALCPM
YY@]MNMQ
yymoyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
YYM@PMDQS
YYMP_OBEJEM
[YYMQHO]B
yyMQyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yyMqyyyyyyyyyy;y
yymtzyItzy.
yyMyIyWyHyLyOyWyHyWyIyHyyy
yyMYxyeo|yC
_yym_yyL_yyC_yy
!yym yyU yy: yy  yy	 yy
yyMyyyhI
yymyyyhIS
yymyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyM|yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yymyyy[JPJCJ
yy)myyYqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyMyyyUI
*yyM!yy !yy
yymyyyYCWC#CMF;Fyyy
@yym@yy[@yyI@yy*@yy
yyMyyyyyyyyyyyy
yyM|yyyyyyyyyyyyy9yy
YYMZYQMXEP
YYNAAZ[E
[yyNdyyEdyy*dyy
yynghPExxr
yyNHLNLLOOMKAHNJM
YYNKZSZS@CJ]
yyNL@O@K@xxx
YYNMCHHD
yyNNKMK@KJNINLJ
yyN;OKM;OKOIN;NKN;N
YYNPYGGD
yyNx@xCxOxAx9x8x#y
Y|ynX|y.X|y
y	yNyHyyy
y	yNyHyYy5y
'yyn'yyb
!yyn yyhgyy
.yyn!yyO!yy4!yy
yyN yyv yy
YYOCCJHP]ZHMKGYNQ
yyodyyy	yyygyyy?yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyOJAA@MJLA@AJAMKINIHMOM
YYOLYHSDO
-yyooyyM-yyQyyyy
YYO]S]XFCBK
yyOuyyy9yyywyyyYyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyovyyy)yyyiyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyovyyy)yyyiyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyOyNyAy@y
@yyo@yyb@yyM@yy@@yyG@yy#@yy
;yyO:yyE:yy
 yyo'yye'yyD'yy 'yy
yy	oyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyW
!yyo yyR yy; yy  yy
yyOyyy)4yy84yy4V
yyO|yyy9yyy
|yyOyyys|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
_yyo_yy__yyC_yy)_yy'_yy
!yyo!yyyyyy
|yyOyyyY|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YYOZLYKGF
[yyoZyyHZyy4Zyy
[yyoZyyKZyyNZyy*Zyy
YYPAAMXBO
@yypCyy(Cyy
@yypCyy[CyyNCyy7Cyy
@yypCyyXCyyOCyy4Cyy
yyPdxxrb
_YY]P_ECX
Y@@@@@@@@yp@K
Y@YPMAPLMZCQ
Y]Y_PQOA
yyPQxxrpn
yyp(SbDyy
YY_PSSCAA
)yyp(yy	
)yyp(yyw(yyY(yy
yyPyyy5l
yypyyycyyywyyyq
 yyp#yy]#yy8#yy!#yy
yypyyy|yyy|yyy
)yyQ2yyY1yy
YY]QBNJNPHGBNE
@yyqCyyPCyy4lyy
YY_QHZA_QHQ_]
yyqIiIaIIIAI9I
yyQiyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyQiyyy)yyykyyyMyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYkyyyyyyyyyyyyyyyyyy
yyQiyyy)yyykyyyUyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YY[QJDPABKJE_DZDPF[BXYQ
yyqJyyLJyy7Jyy
YY]QKXE@CXOLYOO
]yyqKyy2myy
YYQMMMY_Q
yyqmyyqIjY?
yyQmyyy)yyyoyyyMyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyQnyyQyyyy
yyQoyyy)yyyayyyKyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Y_YQPQBOXQ
yyqpyy|I
yyqpyyy)yyysyyygyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
]YYQ@]QEJHC
yyQQyyaIyyyyyyyyyyyyyyyyyyyyyy
yyqUxy[UxyEUxy.Uxy
yyqx]xHxJx
yyQ[xyL[xy
y|yqx|y:x|y
yyQyhyoyz
yyQyiyoyz
yyQyjyoyz
yyQykyoyz
yyQypygy
yyQypyoyz
yyqYqQiayi1yyAiAqyyyyy
yy#Q|y#Q|y
yyQyqygy
yyQyqyoyz
yyQyryoyz
yyQysygy
yyQysyoyz
yyQytyoyz
yyQyuyoyz
yyQyvyoyz
yyQywyoyz
yyQyxygy
yyqyxyhyxy
yyQyxyoyz
yyQy|ygy
yyQy|yoyz
#yyq"yyP"yy5"yy
;yyq:yyX:yyC:yy*:yy
yy]qyyy9yyysyyyeyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyQyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy)qyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyQyyyqyyytyyyxyxyyyyyMyyyyyyyyyyyyyyyyyyyyyyy
yyqyyyy	
	yyQyyyy
!yyQyyyy
-yyQyyyy
?yyQyyyy
Y|yQyyyy
yyQyyyyIeIWI I
yyQyyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyymyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyqyyyyy
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyixy9syyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyIxyMpyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy	xyUXyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy!iyy9yyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
	yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy)|ymxyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYxy
yyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzy
yyQyzygy
yyQyzyoyz
yyqzyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyR9yyR9yyR9yy
yyRBWWRWR
yyRVRxxx
YYrxyx]yx
yyr	yyJ	yy"	yy
;yyr:yyQ:yy9:yy.:yy
)yyR)yy))yy
yy]ryyyyxyyuyyy
#yyr#yy@Yyy
yyRyyyyY?;
yyr	yyY	yyL	yy1	yy"	yy
;yyr:yyZ:yyN:yy7:yy
[yyrZyyeZyy?Qyy-Qyy
:yyS9yyyyyyyyyyyyyy
YY[SEYDA_
YYSGHLDD
YY_SLPYL
[yysQyydQyyHQyy
]YYSQZLPQYLHHG]CK
YYSSS@S 
yYSSS@Sj8
yysSxyZSxyESxy*Sxy	Sxy
Y_YSSZZXOMLJ
yysxxyjxxyexxy
yyS.xyF4xyZ
yyS@xyW@xy
yysyxyXyxyAyxy6yxy
#yys"yyQ"yy?"yy
;yys:yyX:yyG:yy
|yysyyyUy
;yys:yy[:yyF:yy(:yy
yySyyy:yyy
yy]syyy)yyyuyyygyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yy?syyy)yyyuyyy[yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyihyyyyyyyyyyyyyyyyyy
yys	yyZ	yyE	yy#	yy
Y[_YSZPSZGOZNQ[ZLMMPBACCP_BN]J_M
 yytexyT
[yyTNyy|ZyyXZyy
yytyxyUyxy4yxy
-yyt:yyB:yyG:yy::yy1:yy
#yyt"yyI"yy2"yy
yy	tyyy9yyywyyySyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yytyyymyyyxyyyxyyyyyyyyyyyyyyyY|
.yyt!yy  yy
.yyt!yy_!yyD!yy3!yy !yy
yytyyyYyyyUyyypyyy
yytyyyYyyyUyyypyyy8
yyTyyy[yyy[yyyXyyyFyyyyyyyyyyy
[yytZyy_Zyy:Zyy'Zyy
yyuHyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyUIIUJOXIJBLIBJJ"X
yyuiyyyyyyyyyyyyyyyyyyyyyy
yyulyykIP
yyUPyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyusyy|Ir
yyUxUxUxUxUxUxUxUxUxUxUxUxUxUxxxxxuxrxxx
|yyUyjyyyTx
yy-UyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy)uyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
*yyU*yyL*yyG*yy
|yy	uyyuI
yyUyyy(.
yyUyyy0L
yyuyyy4O
yyuyyy5|
yyUyYy5y
'yyUyyy6yyy6yyy
yyUyyy8_
yyUyyy(D
yyuyyyE|
yyUyyyE9
yyUyyyEg
yyuyyy-I
yyUyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyIiyy9yyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyUyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyUyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuYyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuyyy?I)Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'y4#
yyuyyyIO
yyu|yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyUyyykX
yyuyyy!L
yyUyyynX
yyUyyyRF
yyuyyyRv
yyUyyy s
yyUyyySD
yyuyyytx
yyuyyy*v
yyuyyy?v
yyuyyy@v
yyuyyyx|
;yyu:yy]:yyE:yy-:yy
yyuyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyYiyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyuyyyyIyyy)iymyyyYI]IUIIIMIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	y4#
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	y4#
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)y4#
yyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	y4#
yyuyyyyx
yyuyyy_yyywyyy!
!yyu yyZ yyE yy( yy
yyvAhY0:
-yyVAxyC
@yyvCyyaCyyXCyyPCyyHCyy4Cyy
!yyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
yyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
yyVyjy:*
|yyVyjyy
yyVySyyy1
-yyv-yya-yyX-yyS-yyY)yy
;yyv:yye:yyC:yy):yy
*yy:Vyy!Iyy
.yyv!yyJ!yy?!yy
*yyv-yyK-yy5-yy
;yyv:yym:yyXlyy
#yyv"yyU"yy2"yy
)yyv(yy'(yy
;yyv:yy!:yy
yy-vyyzI
[yyvZyyNZyy3Zyy'Zyy
yyWByyJByyJByyWByyPByy
yyWbyyy	yyyeyyy5yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUjyyyyyyyyyyyyyyyyyy
yywpyyvy
')))YYWW
yyWxIxHxVxIxVxIxVxIxBx@xHx@xH
y	yWyby0y
yyW yy0 yy
:yyW:yyH:yy2:yy7:yy
)yyw(yyO(yy"(yy
yyw	yyR	yy1	yy
|yy]wyyuIs
|yy	wyyuIV
yy[wyyy9yyyiyyyQyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y	yWyyyAyqyxy6y
y	yWyYyHy@yAyHyTyHy@y@yAyyy9yuyxy6y
y	yWyYyHy@y@yJyTyHy@y@yAyyyQyyyxy5y
yy'wyyyIxyyiyyyqxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y	yWyyywx
;yyw:yy]:yyB:yy*:yy	:yy
#yyw"yy]"yyC"yy)"yy
yywyyyyyyyyyyy
yywyyyyyyyyyyye
)]Y]]?YX
yyx0x*x5x
yyx4x)x1x9xx
yyx5x4x(x)x5x9xx
yyx6x4x5x
yyx9x9xExExx
yyx9x'x;x
yyx9x)x)x9xExx
yyx9xXx;x
_YY@XAHSKNXY
YyxayUX9
y;y@xCxBxExDx
y@y#xCyByGyAy
YYXDZM[JCO
y:'''''''''''''''''''''''':yxf
YY@@]XFZ
y'"'''''''''''''''''''''''''''''''''''''''''yxh
Y]YXHCOG
yyxHx5x9xx
yyxHx9x6x;x9x9xExExx
yy]xHxJx
yyxHx:x9x9xExExx
y''''''''''''''''?yxi
yy!xiyqy)Xmyqyrya	yUyqyJ
yyXJHHOUHJUJNXIHBHIBK@"X
yyXJHHOUHLUIKXHABK@BIH"X
yy xLxHx6x;x
YYXMGLHGD
yyxMx1x4x)x
yyxMxOxKx
YYXPO]CQQ
yyxPxWxVxRxQxxx
yyXpzyYpzyYpzyXpzyXpzyYpzyXpzyYpzyXpzyXpzyYpzyXpzyXpzyXpzyYpzy
YY[ X[[t[[[
yyxVxVxx
yyxWx xMxHxAx;x
yyx;x9x9xExExx
yyx]xHx@x
yyxx|ihnih
yyxx|iif
YYXXLQN]OLCF
YYXXNOOE
yy|xxPxxx
yy|xxPxxx(
yyxxrghP
yyxxri#o
yyxxrkcq
yyxxrk|i|
yyxxrk|i|l
yyxxrk|j|P
yyxxrkpip
yyxxrk|po
yyxxrkpzq
yyxxrnnmP
yyxxrnzP
yyxxrrpo
yyxxrrqo
yyxxrrxpo
yyxxrsnt
yyxxrsqo
yyxxrsSx
yyxxrtpkq
yyxxrtpu
yyxxrtpz
yyxxrtpznz
yyxxruql
yyxxRxVx
yyxxrxxpo
yyxx|ti|f'A
yyxxx....
yyx(x)x5x
yyx)x)x9xExx
yy|xxxHxx
yyxxxhxxx
yyxxxJxVx
yyxxxx_|
yyxxxxDK
yyxxxxRx
YYXXXXX]JXXXYYXXXXX]JXXXdXXXXXXX[YXX
YYXXXXX]JXXXYYXXXXX]JXXXX
yyxxx|xxx
yyxxxxxxx
yyxxxxxxxxxxxxxx
yyXxXxZx
yyxxykqiqnn
yyxxyksisn
yyxxylllP
yyxxy]nz
yyXxyxxJ
yyxx|za 
yyxx|zo 
@yYxyiyyy
YYxyxUyx
yyxyxyax!";
yyxyxycx!";
yyxyxygyxyEyxy"yxy
yyxyxyKx
yyxyxytx
yyxyxyty
yyxyxyux
yyxyxyWx
yyxyxyxyx
yyxyxyxyyy
yyxyxyyx!";
yyxyxyYyxyFyxy
yyxyxyzxE.;
yyxyy9i0
 yyx#yyFkyy
_yy[XyyMXyy
.yyx!yyn!yyP!yyF!yy"!yy
!yyx yyr yye yyW yy9 yy5 yy  yy
yyx_yy*Syy)
 yyx#yyt#yya#yy_#yyM#yy:#yy*#yy
yyxy|y_x
]|yyxyyy
]yyxyyy5xyy5xyy
yyxyyybyyybyyy
yyxyyyeyyyeyyy!
-yyxyyyfyyynyyy
;yyxyyyhyyyhyyy
yyxyyyhyyyhyyy
yy]xyyyI
yyxyyyiyyyzyyy
yyxyyyjyyyjyyy
yyxyyykyyykyyy
yyxyyylyyylyyy
[yyxyyyqyq
yyxyyyqyyyqyyya
yyxyyyqyyyyyyyyyyyyyyyxyyy
yyxyyysyyy
yyxyyysyyysyyyA
yyxyyyuyyyuyyy
[yyxyyyuyyyuyyy1[yy
yyxyyywyyywyyy!
	yyxyyyxyyyxyyy
!yyxyyyxyyyxyyy
)yyxyyyxyyyxyyy
-yyxyyyxyyyxyyy
?yyxyyyxyyyxyyy
yyxyyyxyyyxyyy
]yyxyyy|y|
yyxyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
-[yyxyyy-ymyayy
yy'xyyyyy
 yyx#yyY#yyG#yy"#yy
	yyxyyyyyyy
]yyxyyyyyyy
yyxyyyyyyy
yyxyyyyyyyxyyyy
	yyxyyy|yyy|yyy
)yyxyyy|yyy|yyy
yyxyyy|yyy|yyy
yyxyyyyyyyyyyy
yyxyyyYyyyYyyy
-yy xyyyyyyyyyyy	yy
yyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!m
yyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|yy
yyxyyyzyyyzyyy
[yyxyyyzyz
yyxy|yzyxy
yyxyzyRx
yyxyzySx
yyxzyyyyapyyxyx
yyxzyyyyyzyy
.yyy.-*?
yyy((*...
yyy))))).
yyy*****
yyy*****)
yyy.....
#)))YY]Y
|]Y]][YY
yYy0y7y0yYy
yyy0y8y*y)y6y5y:y yyyyy
yYy0yVy6yYy
yYy0yVy6yYy)y
yyy0y	y7y
yYy0y*y8y4yyyyy
yyy0y)yYy
yYy0y?yYy
yyy0y)yYy7y
yYy0y)yYy-y
yyy0y)y!yYy-y
yYy0y)y!yYy:y
yyy1iyyikyy
yyy1iyy!jyy
yyy1lyyyYyyyoyyy
yyy1tyyy
yyy1xyyyyyyyyyyyyy9yy9W
yyy1y1yCy
yyy1y1y*y
yyy1yiyxy?y
yyy1yryqyq
yYy1y-y4y5yyy
yYy1y-y4y5yYy1y
yyy1_yy!RyyUVyy
yyy1yyyayyyoyz
yyy1yyyyyyyyyyyiyyyYyyyy
yyy1yyyyyyyyyyyyyy9yy
yyy1yyyyyyyyyyyyyy9yy9W
yyy1yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
!yyy1zyy
yyy2I*I"I
Yyy2Xyy2Xyy
yYy2y;yyyY
yyy]2yyyYyyy5yyy
yyy3qyyyyyyyyyyyyy9yy9W
yyy3xyyyyyyyyyyyyy9yy9W
yyy3xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy3yhyxy?y
yyy3yyyyyyyyyyyyyy9yy9W
yyy3yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy48)0*
yyy4y4yVy
yYy4y4y:yYy*y
yyy4y*y0y*y
yyy4y	y-y
yyy4y*y!y4y5yJyWy
yyy4y*y!y4y5yOyWy
yyy4y*y:y8y-yJyKyYy?y
yyy4y*y)y(y4yyy4y
yyy4y*y)y:y5y6y:y2yyyyyyyyy4y
yyy4y*yYy*y
yYy4y?y:yYy
yYy4y?y:yYy5y
yyy4y*y:y-y?yyy
yYy4y*y)yyyyy
yyy54yyHyyyIyxy
yyy54yyHyyyIyzy
Yyy-56**Y
yyy59yyyYxyy;yyysxyyyyyyyyyyyyy9yy
yyy59yyyYyyy;yyy
yyy5xyyyyyyyyyyyyy9yy9W
yyy5y0y7y2y0y7y?y6yyyyy
yYy5y8y7yYyAyIyKyWyHyYy:y
yyy5ykyxy?y
yyy5yyyyyyyyyyyyyy9yy9W
yyy5yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y#yy:64:-5JKW
yYy6y2yYy
yYy6y*yYy
yYy6y:y!yyyyy
yyy7IhHRHOH
yYy7y8y-yYy1y
yyy7yjyxy?y
yyy7y:y6y
yYy7y-yYy5y
yYy7y-yYyMyWyIyYyQy
yYy7y-yYy*y
yYy7y-yYy?y
yYy7y-yyyyy
yyy7yyyyyyyyyyyyyy9yy9W
yyy7yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy7zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy7zyyyyyyyyyyyyy9yy9W
yyy8y4y*y
yyy8:)y6:)yWyyyWyyyyyyy*
yYy8y)y0y
yYy8y)y0yyy
yYy8y)y0yYy5y
yYy8y)y0yYyQy
yYy8y)y0yYy*y
yYy8y)y0yyyyy
y*y-y8y-y0y:yyyyyyyyy)
yyy8y	y	y
yYy8y	y	y
yyy8y:y)y0yyyyy8
yYy8y-yYy4y
yyy99yyy
yyy9ciyy	yyyeiyy'yyyyyyyyyyyyyy9yy
yyy9cyyyYyyyeyyywyyyyyyyyyyyyyy9yy
yyy9eyyy
yyy9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;9ik;J
yyy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy9iyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyAyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyy9iyyyYxyykyyy
yyy9iyyyYyyykyyy
yyy9kyyyYyyymyyy
yyy9myyyxyy9myyyyyyyyyyyyy9yy;
yyy9myyy)yyyoyyy;yyyyyyyyyyyyyy9yy
yyy9oyyy
yyy9qyyy
yyy9ryyyYyyyuyyysyyyyyyyyyyyyyy9yy
yyy9Uyyy
yyy|9xyy@I
yyy9xyyQyyyoyz
yyy9xyyyyyyyyyyyyy9yy9W
yyy9xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy9xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy9yuyxy?y
|yyy9yyy
yyy9yyy9yyyayy
yyy9yyyayy
yyy9yyy@l
yyy9yyyqyyyayyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy9yyyqyyyUyyyyyyyyyyyyyy9yy
yyy9yyyyY
yyy9yyyyyyy
yyy9yyyyyyyyyyyyyy9yy
yyy9yyyyyyyyyyyyyy9yy9W
yyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyya0yyyYyyy3yyy
yyya7yyyYyyy)yyy
yyyaAuy!
yyyAnyyyYyyyayyy
yyyAsyyyyy|5yyyiyyy
yyyaxyy9xyy
yyyaxyy9xyy9xyyQyyyoyz
YyyaXyyMXyy)Xyy
yyyaxyyQyyyoyz
yyyaxyyyyyyyyyyyyy9yy9W
yy|yAy9y:yqyI
yyyAyqyxy?y
yyyAyuyxy?y
yYyAyWyIyBy
yyyayyyAyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YyyaYyyHYyy?Yyy Yyy
yyyayyyoyz
yyyAyyyy
yyya!yyyYxyy#yyyqxyyyyyyyyyyyyy9yy
yyyaYyyyYxyy[yyyuxyyyyyyyyyyyyy9yy
yyyayyyyyy
yyyayyyyyyy
yyyayyyyyyyyyyyiyyy
yyya|yyyyyyyyyyyyy9yy
yyyA|yyyyyyyyyyyyy9yy9W
yyyayyyyyyyyyyyyyy9yy9W
yyyAyyyyyyyyyyyyyy9yy9W
yyyayyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyayyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyayyy)yyyyyyyyyyyyyy9yy
yyyayyy?yyyyyyyyyyyyyy9yy
yyyazyyy)xyyyyyyyyyyyyyyyyyyyyy9yy
yyyB5]qv
yyyB|Aih6v
yyyB|Eih6v
yyybIHI7I
yyyB|Iih6v
yyyB|Mih6v
yyyB|Qih6v
yyyB|Uih6v
yyyB|yih6v
yyyByyyEn
yyYbyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyb|yyyiyyy
yyy-byyyyxyyeyyy
yyycI8I0I
yyycIYIWIBI
yyy)CxyyYyyyExyyqyyyyyyyyyyyyyy9yy
yyyCxyyyyyyyyyyyyy9yy
yyyCxyyyyyyyyyyyyy9yy9W
yyycyp9pyp
yyycyy9ayy
@yyyCyy]CyyOCyy0Cyy
@yyyCyyuCyy
yyycyyyAyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyycyyycyyy
yyycyyyCyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyYcyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyycyyyy
yyycyyyyyy
yyycyyyyyy)
@yyyCyyyyyyQyyy)yyy
yyycyyyyyyyyyyyiyyy
yyyCyyyyyyyyyyyiyyyYyyyyy
yyyc|yyyyyyyyyyyyy9yy9W
yyycyyyyyyyyyyyyyy9yy9W
yyyCyyyyyyyyyyyyyy9yy9W
yyycyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyCyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyCyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyycyz9YxyydyzyUxyycyz9Ixyydy
yyyczyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyCzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy@D9j*
yyydI3I#I
yyydIWI4I
yyyD)myyv
yyyDqqyy
yyyDuqyy
YyydXyy5Xyy
YyydXyyAXyy(Xyy
yyyDyxyyv
YyyD_yy5_yy._yy
yYyDyYy7y
|yyyDyyyIn
yYyDyYyIy
yyyDyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyDyYyyv
yyydyzym|yyby|Y|y|
yyyDyzyyv
yyydyzyYzyybyuYuyu
yyyE4yyyYyyy7yyy
yyyEI8I!I
yyyEIHJ!J
yyyeI]IUIIIMIEI)I
yyyeINI I
yyyEkyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyiyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyelyyy
YyyeXyyMXyy2Xyy
yyyexyyyyy
yyyEysyxy?y
yyye|yykI3
yyyeyyyGyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyeyyyyyy
YyyeYyyyyyy
yyyeYyyyYyyy[yyy
yyyeyyyyyyyyyyyiyyy
yyyeyyyyyyyyyyyyyy9yy9W
yyyEyyyyyyyyyyyyyy9yy9W
yyyeyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyeyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]hyymhyyyyyyyyyyyyyy
yyyeyyy;yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	H
YyyeYyyyyyyyyyyyyyyyyyy
yyyEzyyuy
#yy!yF.))09:0
yyyFFyyWWyy8Y
yyyfIPI7I
yyyfyyyFyyy
yyyFyyyyy
yyygI]IQIUIII
yyygISI2I
yyyGyryxy?y
yyyG|yyyiyyy
|yyyGyyyQn
yyygyyyy
yyyGyyyyi
yyygyyyyyy
yyygyyyyyy	iyyyiyyy
yyyGyyyyyyx
yyyGyyyyyy!yxyyiyyyixyyy
yyygyyyyyyyyyyyiyyy
yyygyyyyyyyyyyyyyy9yy
yyygyyyyyyyyyyyyyy9yy9W
yyyGyyyyyyyyyyyyyy9yy9W
yyyGyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyygzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyHH@H4H
YYY_HHXK_J[C
yyyhIGI'I
yyyhIJI;I
yyyhIKI8I
yyyhIUIMI
yyyhiyyqa
yyyH@KWHOAWIWHyHKNWIWIWHyyy
yyyhxyyIxyy7xyy
yy-yhyuyu
yYyHyWyIyYy6y
yYyHy@yAyNyTyKyIyIyIyYy4y
yyYhyymI
yyyhyyyy
yYyHyYy:y
YyyHyyyyyyy
yyyi9yyy
yyy|IaIdIUIBI3I#I
yyyIayyyYyyycyyy
yyyifyyyYyyyYyyy
yyyiHaHgH]HPH8H?H
yyy_IHIOI(I
yyyihyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyixyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyiHyyyYyyyiyyymyyyyyyyyyyyyyy9yy
yyyiIaIYINI)I
yyyIIFI!I
yyyiIIIAIEI-I!I
yyyiIWINIEI8I-I I
yyyIiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyy)iyy9yyyyyyyyyyyyiyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
YyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
YyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyIK?K"K
yyyimyyy
yyyIMyyy
yyyiOxyyY|yyAxyyk|yyyyyyyyyyyyy9yy
yyyIPyyyYyyySyyyuyyyyyyyyyyyyyy9yy
yyy!IqHbHEH
yyy|IsIiImIcIgI]IQIWIKINI
yyyisyyy
yyyIsyyyYyyyuyyy
yyy_IUI)H
yyy|IuIkI@I!I
yyy|IvIVIMI I
yyy@Ivy@
yyyixyyMxyy
yyyixyyVxyy4xyy
[yyyixyy]yyy
yyyixyyyyyyyyyyyyy9yy9W
yyyIxyyyyyyyyyyyyy9yy9W
yyyIyKyqyq
!yyyiyy9.yyyyyyyyyy
yyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
!yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
#yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
*yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
]yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
Yyyi#yyl#yy
yyy!iyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyuyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
	yyyiyyy
)yyyiyyy
*yyyiyyy
-yyyiyyy
[yyyiyyy
|yyyiyyy
y	y@yIyyy
yyyI[yyy
y	y@yIyYy5y
yyyiyyy9xyyy
yyyiyyyixyyy
yyyiyyyixyyy#
yyYiyyYiyy9qyy9qyy9qyy9qyyYiyyYiyya
_yyyIyyyQyyyoyyyyyyyyyyyyyy9yy
yyyiyyy	xyyyd
yyyiyyyyxyyy
[yyyi|yy]yyy
yyyIyyyyyxyyyyyyyyyyyyyyyyyyyyy9yy
yyyiyyyyyy)
yyyIyyyyy-y
yyyiyyy	yyyy
yyyiyyy	yyyy5
yyyiyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyyiyyyyyyyyyyyyyy9yy
yyyIyyyyyyyyyyyyyy9yy
yyyiyyyyyyyyyyyyyy9yy9W
yyyIyyyyyyyyyyyyyy9yy9W
yyyiyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
	yyyiyyyyyyyyyyyyyyyyyyyyyy
!yyyiyyyyyyyyyyyyyyyyyyyyyy
"yyyiyyyyyyyyyyyyyyyyyyyyyy
)yyyiyyyyyyyyyyyyyyyyyyyyyy
-yyyiyyyyyyyyyyyyyyyyyyyyyy
?yyyiyyyyyyyyyyyyyyyyyyyyyy
yyyiyyyyyyyyyyyyyyyyyyyyyy
yyyiyyyyyyyyyyyyyyyyyyyyyy#
yyyiyyyyyyyyyyyyyyyyyyyyyy-
Y|yyiyyyyyyyyyyyyyyyyyyyyyy
yyyiyyyyyyyyyyyyyyyyyyyyyy9
yyyiyyyyyyyyyyyyyyyyyyyyyyi
yyyiyyyyyyyyyyyyyyyyyyyyyym
yyyiyyyyyyyyyyyyyyyyyyyyyyu
yyyiyyyyyyyyyyyyyyyyyyyyyyU
yyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]J
YYYJB[D_KCS
yyyjI7I"I
YyyjXyyCXyy
yYyJyKyYy;y
y;yyJyOyTyHy	yWy
yYyJyWyIyBy
yYyJyWyLyyyyy
yYyJy@yYy
y	y@yJy@yyyTy
yyykIaIQI-I
yyykI@IFI?I
yyykIzH8H
YyykXyyPXyy9Xyy.Xyy
yyykxyyyyyyyyyyyyy9yy9W
yYyKyIyIyIyBy
yYyKyIyIyIyyy
yYyKyLyLyWyYy)y
yYyKyWyIyBy
yYyKyWyLyBy
yYyKyWyOyBy
yYyKyYy8y
	yyyKYyyC
yyykyyyIyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyyIyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyyKyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyyUyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyyWyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyyYyyymyyy	yyy
yyykyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyykyyyyyyyyyyyiyyy
yyyKyyyyyyyyyyyiyyy
yyyKyyyyyyyyyyyiyyyyxyyy
yyykyyyyyyyyyyyyyy9yy9W
yyyKyyyyyyyyyyyyyy9yy9W
yyykyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyKyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyykyyy?yyyyyyyyyyyyyy9yy
yyykzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyKzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyLI5I(I
yyylIKIBI
yyylINIFI
yyylIVIAIQHTHFH
YyylXyyEXyy
yyyl|xyyiyyy
yYyLyWyHyIyyy
yYyLyWyHyIyYy(y
yYyLyWyIyBy
yyyLyyyw
yyymIPIFI
yyymiyyyyxyykyyy
yyyMkyyEyyyy
yyyMpyyyYyyysyyy
yyymxyy)xyy
yyyM!xyyYyyy#xyyiyyyyyyyyyyyyyy9yy
yyymxyyyyyyyyyyyyy9yy9W
yYyMyWyIyBy
yyyMyyyFyyyyyyiy
yyyMyyyFyyyyyyyyyyiy
yyymyyyKyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyymyyyMyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyymyyyyyyyyyyyiyyy
yyyMyyyyyyyyyyyiyyy
yyymyyyyyyyyyyyiyyyixyyyx
yyymyyyyyyyyyyyiyyyyxyyy
yyymyyyyyyyyyyyiyyyYyyyy
yyymyyyyyyyyyyyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyymyyyyyyyyyyyyyy9yy9W
yyyMyyyyyyyyyyyyyy9yy9W
yyymyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyMyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyymzyyy	xyyyyyyyyyyyyyyyyyyyyy9yy
yyymzyyyyyyyyyyyyy9yy9W
yyynHFH)J
yyyNI2I!I'I
yyynI]IzHkH
yyYnyyQyyyy
yyyNyyyy
yyy)nyyyYyyyayyyqyyyyyyyyyyyyyy9yy
yyyoIdI	I
yyyoIfI*I
yyyOIlH3H
yyyoILI#I
yyyoIXIEI:I1I5I)I
yyyOxyyyyyyyyyyyyy9yy9W
yyyoyjy:Kxyyax
yyyOyWyIyIyWy@yOy@yIyyyEykyxy:y
yYyOyWyMyYy)y
yyyoyyyEyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyoyyyMyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyoyyyyyyyyyyyyyy9yy
yyyoyyyyyyyyyyyyyy9yy9W
yyyOyyyyyyyyyyyyyy9yy9W
yyyoyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyOyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyoyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyozyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyOzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyypHiHOH?H
yyypIaIMI
yyypIoIWINI9I
YyypXyyFXyy
YyypXyylXyyQXyy9Xyy#Xyy
yyyPyYQyyyyyyyy
|yyypyyy!a
yyypyyylyyynyyylyyyyWyyyZyyyCy
|yyypyyysyyyxyyy
yyypyyyyyyy
yyYpzyYpzyXpzyYpzyXpzyYpzyXpzyYpzyXpzyYpzyXpzyXpzyXpzyXpzyYpzyXpzyYpzyYpzy
yyyq1yyyi
yyyQ9yyyYyyy;yyymyyyyyyyyyyyyyy9yy
yyyqhyyEhyy-hyy
yyyqhyyYhyyAhyy8iyy
yyyqIaIQIAI1I
yyyqIGI1I
yyyqIjIYIKI
yyyQoyyy
yyyQsyyQyyyoyz
YYYQSZJA
yyyqVyyYVyyAVyy
yyyqvyyyYyyyiyyyqyyyyyyyyyyyyyy9yy
yyyqxyyMxyy
yyyqxyyyYyyyyyyyyyyyyyyyyyyyyyy9yy
yYyQy0y:y*yPyyyyy*y
yyyqy4y*yYy*y
yYyQy7y5y8yPyyyyy7y
yYyQyJyWyHyHyPyyyyy
Y'Y:YQYmY
yYyQySyWy
yYyQySyWySyPy
yYyQySyWy	y
yYyQy.y0y8yPyyy
yYyQy-y4yPyYy-y
yYyQy:yPyYy4y
yyYqyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyQyyyoyz
yyyQyyyqyyytyyyxyxyyyyyMyyyyyyyyyyyyyyyyyyyyyyy
yyyQyyyryyytyyyxyxyyyyyMyyyyyyyyyyyyyyyyyyyyyyy
yyyQyyyxy?y
yyyqyyyy
yYyQy)y)y-y)yPyyy)y	y
yyyqyyyyyy
yyyQyyyyyy)
yyyqyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyyqyyyyyyyyyyyiyyy
yyyQyyyyyyyyyyyiyyy
yyyqyyyyyyyyyyyiyyyYyyyy
yyyqyyyyyyyyyyyiyyyYyyyyU
yyyqyyyyyyyyyyyyyy9yy
yyyqyyyyyyyyyyyyyy9yy9W
yyyQyyyyyyyyyyyyyy9yy9W
yyyqyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyQyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyQyyy#yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyQyyy#yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyqyyy]yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyqyyyy	yyyyyyyyyyyyyyyyyyyyyy9yy
YyyQyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyqzyysIR
yyyrILI(I'I
yyyrISI0I
yyyrIZK9K2K!K	K
yyyryyyryyyQkyy-kyy
yyySIAIFI)I
yyysIaIgI
yyysIdI8I7I*I
yyysIiI8I!I
yyysIjIaIUI I
yyysxyyyyyyyyyyyyy9yy
yyySxyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy-syyy
yyysyyy	
yyysyyy1
yyysyyy3yyyyyyyyyyyyyy9yy
yyysyyywyyyoyyygyyyWyyyGyyy'yyy
yyysyyyyyy
yyysyyyyyy6	yyyiyyy
yyySyyyyyy9
yyysyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyysyyyyyyyyyyyiyyy
yyySyyyyyyyyyyyiyyy
yyysyyyyyyyyyyyiyyyyxyyy
yyysyyyyyyyyyyyiyyyyxyyyj
yyysyyyyyyyyyyyiyyyYyyyy
yyysyyyyyyyyyyyyyy9yy
yyySyyyyyyyyyyyyyy9yy
yyysyyyyyyyyyyyyyy9yy9W
yyySyyyyyyyyyyyyyy9yy9W
yyysyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyysyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	H
yyysyyy'yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyySyyy'yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyySyyy#yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyszyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyytIjIHINI!I'I
yyytIJI!I
yyytIRI1I
Yyytsyy-56**Y
yyytsyyYtsyYyyy
YyytXyy1Xyy
yyyTy9yy
yyytysyyyyy
yYyTyTyYy0y
yyytyxyy
yyytyxyyr
yYyTyYy3y0y-yYy
yYyTyYy8y
yyytyyyxyxyyyyy
yyyTyyyyyyyyyyyy
yyyTzYyy
yyyu9syyiyyy)syyiyyyyyyyyyyyyyyYyy
yyyU9yyyyzyy[yyy
yyyuIgIQI
yyyuIiImIQIUIIIAIEI5I)I
yyyUIJI@I
yyyUIKIAI
yyyUIKI)I
yyyuITI0I
YYYUQH[NZB@EE
yyyUryyy9yyyuyyyKyyyyyyyyyyyyyy9yy
YYYUUUyxi
yyyUuyygI;
yyyuwyyy
YyyuXyyRXyy3Xyy
yyyuyyyf
yyyuyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyyU|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyuyyyyyyyyyyyyyy9yy
yyyuyyyyyyyyyyyyyy9yy9W
yyyUyyyyyyyyyyyyyy9yy9W
yyyuyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyuyyy?yyyyyyyyyyyyyy9yy
yyyUyyy	yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyuyyy'yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyVHEH1K
yyyvIeIXINI
yyyvK_K K	K
yyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv#J
yyyWIBI?I5I
yyywI?I!I
yyyWIMI4I
yyyWIOI!I
yyywIoISIKI?I7I
yyywIXIAI)I
yyywxyyyyyyyyyyyyy9yy
yyywxyyyyyyyyyyyyy9yy9W
yyyWxyyyyyyyyyyyyy9yy9W
yyyWyyyyy
yyywyyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyywyyyyyyyyyyyyyy9yy
yyyWyyyyyyyyyyyyyy9yy9W
yyywyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyywyyy-yyyyyyyyyyyyyy9yy
yyyWyzyxy?y
yyywzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyWzyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
Yyyx@'	 
yyyxFFFFX[Z]
yyyxIgI	I
yyyxI|IpItIhI.I
yyyxIkIVIEI I'I
yyyxImI.I
YY_YXJGOLGG
yyyxrrSx
YYYxx]Y]]
yyyxxyy@|
yYyXyDym
yyy-	xyQyyyy
yyyxyx)yyyyXyEyLyvy(m
|yyy	xyy
|yyyxyy|I
Yyy|XyynXyyQXyy
yyyxyytInIYIPI
yyyxyyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxyx
yyyxyyy	
yyyxyyy 
yyyxyyy'
yyyxyyy'"
YyyxyyyiyyyiyyyQYyy
yyyxyyyJ
!yyyxyyyjyj
yyyxyyyjyj
yyyxyyypyp
yyyxyyyqR
yyyxyyysyyyIyyyyyyy
!yyyxyyytyt
yyyxyyytyt
yyyxyyyu
yyyxyyyxyyy
yyyxyyyxyyyxyyyiyyy1yyy-
yyyxyyyxyyyYyyyyyyy
y]yyxyyy|y|
yyyxyyyyyyy
Yyyxyyyyyyy
yyy)XyyyYyyy[yyyqyyyyyyyyyyyyyy9yy
yyyxyyyyyyyyyyyHIWHIW@W@@yyyyyyKLLWKLLWKLLWIyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Yyyxyyy|yyy|yyy!Yyy
yyy]xyyyyyyyyyyyyy9yy
yyy!xyyyyyyyyyyyyy9yy9W
yyy#xyyyyyyyyyyyyy9yy9W
yyy)xyyyyyyyyyyyyy9yy9W
yyy;xyyyyyyyyyyyyy9yy9W
yyy?xyyyyyyyyyyyyy9yy9W
yyy]xyyyyyyyyyyyyy9yy9W
yyyxyzyyyyy
yyy-:)y*
yyyy)((*
yyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
yyyy:0)8
y	yyy0yy
yyy#y0y)yYy?y
yYy*y0y)yYy)y
yyy;y0y-y*yyyyy;y
yyyy1gyyyyyyyyyyyyyyyyyy
yyyy1iyyxyyyyyyyyyyyyyyyyyyyyyyy
yyyy1kxyxyyyayyyayyy!hxy
y	y|y_y1y
@yy:"yy1"yyV2yy
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy).
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyye5
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi9c
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiI
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyymI
yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yYy.y2yHyBy
yYy.y2yJyBy
yYy.y2yMyBy
yy[	yy2	yy
yyyy3hyyxyyy|yyy|yyyahyyUhyy9hyy
yyyy3lxyxyyy|yyy|yyyalxyUlxy9lxyRhxyShxy
yyyy3Zxyxyyy|yyy|yyyaZxyUZxy9Zxy
yyyy4*Y*
yyy.y4y7y
yYy;y4y)yYy:y
yyyy5iyyxyyyyyyy
yYy:y5y5yyyyy
yyyy)5yyxyyy
yyyy5yyyyyyy
yyyy5yyyyyyyI88
yyy:y6y4y*y
yYy:y6y4yYy	y
yYy:y6y4yYy*y
yyyy6y:y
yyy.y6y.yJyKyyy
yYy.y6y.yYy*y
yYy*y7y4y)yYy4y
yyyy84yy)4yy44V
yyy-y8y)y0yJyWy
yYy-y8y)y0yJyyy
yYy-y8y)y0yJyYy-y
.yy)y*y8y)y0yWy
yYy-y8y)y0yYy:y
yYy)y8y*y-yyyyy
y	yyy9i0
yyyy9jyyxyyy5yyy5yyy1iyy
yyyy9kyyxyyymyyymyyy
yyyy9lxyxyyyeyyyeyyyQmxy
yyyy9xzyyyyy
yyyy9yyy
yyYy9yYy9YY
yyYy9Yyy9YY
yYYy9yyy9YY
yyyy9yyyea
yyyy9yyyIxyy9yyycxyyyyyyyyyyyyy9yy
yyyy9yyyI|yy9yyyo|yyyyyyyyyyyyy9yy
yyyy9yyy)n
yyyy9yyy	o
yyyy9yyy]o
yyyy9yyyqn
yyyy9yyyYyyy9yyy
yyyy9yyyYyyy9yyysyyyyyyyyyyyyyy9yy
yyyyAayyxyyy
yyyyAhyyxyyyqyyyqyyy
yyyyajyyxyyy1yyy1yyy1iyy
yyyyajyyxyyyQyyy-myyHyyy
yyyyAxy|yyyyyy
yyyyAxyyyyyyyyyyyyyysyyy
yyyyay5y
yyy!yayxy?y
yyyyA yyxyyy
yyyyayyy
yyyyayyy9yyyayyy_yyyyyyyyyyyyyy9yy
yyyyayyyYyyyayyy
yyyyayyyyyyyyyyy
yyyyayyyYyyyyyyyyyyyyyyyyyyyyyy9yy
yyyYBQBIBAB9B1B)B!B
yyy'ybyxy?y
yyyyc5yyxyyy
yyyyChxyxyyy|yyy|yyyqhxyehxyIhxy
yyyychyyxyyylyyylyyy1iyy
yyyychyyxyyy|yyy|yyy
yyyycHyy|yyy|yyy|yyy
yyyyC(xyxyyy4yyy4yyyA7xy
yyyy[Cyyxyyypyyypyyy
yyyyc(yyxyyy|yyy|yyy
yyyYCyyy
yyyy @dU
yyyy#d|yxyyy|yyy|yyyQd|yEd|y)d|y
yyyyDyyy*y
yyyyE5yyxyyy
yyyyehyyxyyysyyysyyy
yyyyEhyyxyyysyyysyyy
yyyyEjyyyyyy
yyyyEjyyyyyyyyyy
yyyyEkxyxyyykyyykyyy
yyyyekyyxyyykyyykyyy
yyyyEoyyxyyy[yyy[yyy
yyyyexyy
...yyyyexyypI#8
yyyyeytytysyy
 yy_#yyE#yy
yyyye yyxyyy
yyyyeyyy
yyyyeyyy	6s
yyyyeyyy]|s
yyyy[fyyxyyyxyyyxyyyafyyefyyYfyy
yyyyGoyyxyyyFyyyFyyy
yyyygyyyYyyygyyyuyyyyyyyyyyyyyy9yy
yyyyhxyyyyyys
yyyyhxyyyyyyy
yyyy]hyyxyyyoyyyoyyy1iyy
yyyy?hyyxyyyzyyyzyyyQhyyMhyy9hyy
y	yYyHyyy0y
yyyyHyyy.y
yyyy]hyy|yyy
yyyyIhy5uzyyyyyyyyyyyyyyyyyy9myU
yyyyihyyxyyymyyymyyy1iyy
yyyyijyyyyyy
yyyyIkxyxyyymyyymyyy
yyyyikyyxyyyeyyyeyyy
yyyyioyyxyyyqyq
yyyyIpIWI
yyyyIqIwIlH-H
yyyyiUyyeyyy8yyywyyy
yyyyIVI1I
yyyyIwIbI1I
)|yyyyiy
yyyyiyiyi9y
[yy@]yy	iyy
yyy|yiyy
yyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyyyyyyyyyyyyyyyyyyyyyyyyyyW
YyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyiyyy
yyyyIyyy
yyyyiyyy9yyyiyyyWyyyyyyyyyyyyyy9yy
yyyyiyyyIyyyiyyyYyyyyyyyyyyyyyy9yy
Yyyy	iyy[yyy9iyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
YyyyIyyy[yyyoyyyyyyyyyyyyyy9yy
yyyyiyyyYyyyiyyy
yyyyiyyyYyyyiyyysyyyyyyyyyyyyyy9yy
yyyYiyyyYyyykyyy
yyyyiyyyyyyyyyyyyyyyuyyy
Yyyyiyyyyyyyyyyyyyyyyyyyyyy
yyyy!!!J
yyyyJIyyyyy	qyyyyq
yyyy-jyyxyyy	yyycyyy
yyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
yyyyKkxyxyyyhyyyhyyy
yyyyKnyyxyyyHyyyHyyy1lyyuoyy
yyy	yKy	y
yYy	yKy	y
yyyyK]yyxyyy
yyyy#kyyxyyyLyyyLyyy1iyyehyy
yyy	yKy	yyy
yyyy[Lyyxyyypyyypyyy
yYy@yLyYyQy
yyyyLyyyyyy4Oyy
yyyymhyyxyyy
yyyyMhyyxyyy
yyyyMSyyxyyy
yyyy	mxyyyyyyyyyyyyy
yyy)ymyxy?y
yyyy;myyyyyy
yyyyMyyyYyyyMyyy
yyyymyyyYyyymyyyqyyyyyyyyyyyyyy9yy
Y_YYYO[[
yyyyOeyyxyyy
yyyyOhyyxyyyzyyyzyyyahyy]hyyIhyy
yyyyOKyyxyyyzyyyzyyyaKyy]KyyIKyy
yyyyOoxyxyyyRyyyRyyy
yyy-yoyxy?y
|y!yyyPI
yyyypyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyryyyyyyy
yyyyQmxyxyyyIyyyIyyy1kxyqjxy
yyyyQvyyxyyyiyyy
yyyyqyqyQyyyiyyyYyyyxyxyyyyy
yyyyqyyy
yyyyQyyy
yyyyQyyy:
yyyyQyyyC
yyyyQyyyqI
yyyyqyyyyyyy
yyyyqyyyyyyya
yYy:yRyRyYy
yYy:yRyRyyyyyAysyxy)y
yYy:yRyRyyyyyEyuyxy)y
yYy:yRyRyyyyyOypyxy)y
 yy[#yyR#yyM#yyD#yy?#yy6#yy!#yy
yyyyryyy
yyyyRyyyyyy6Hyy
yyyyshyyxyyy|yyy|yyy
yyyyShyyxyyy|yyy|yyy
yyyyskyyxyyyTyyyTyyy1iyy
yyyySmyyxyyyTyyyTyyy
yyyySSSSH
yyyySSSSHAH
yyyySSSSHAJ
yyyySSSSHAS
yyyySSSSHAS@yyyySSSSHMS
yyyySSSSHMH
yyyySSSSHMJ
yyyySSSSHMS
yyyySSSSHMS@yyyySSSSHMSNyyyySSSSHSS
yyyySSSSHSH
yyyySSSSHSJ
yyyySSSSHSS
yyyySSSSHSS@yyyySSSSHSSNyyyySSSSS
yyyySSSSJ
yyyySSSSJAS
yyyySSSSJMS
yyyySSSSJMS@yyyySSSSJSS
yyyySSSSJSS@yyyySSSSK
yyyySSSSK
yyyySSSSKAS@yyyySSSSKMS
yyyySSSSKMS@yyyySSSSKSS
yyyySSSSKSJ
yyyySSSSKSS@yyyySSSSH
yyyySSSSM
yyyySSSSMAS
yyyySSSSMMS
yyyySSSSMSS
yyyySSSSS
yyyySSSSSAH
yyyySSSSSAHOyyyySSSSSAHMyyyySSSSSAHJyyyySSSSSAHSyyyySSSSSAS
yyyySSSSSAJ
yyyySSSSSAK
yyyySSSSSAL
yyyySSSSSAO
yyyySSSSSAS
yyyySSSSSAS@yyyySSSSSASNyyyySSSSSMLOyyyySSSSSMLSyyyySSSSSMMMyyyySSSSSMMJyyyySSSSSMMHyyyySSSSSMMSyyyySSSSSMJ
yyyySSSSSMAHyyyySSSSSMLKyyyySSSSLSS
yyyySSSSSMH
yyyySSSSSMH@yyyySSSSSMHAyyyySSSSSMHOyyyySSSSSMHLyyyySSSSSMHMyyyySSSSSMHJyyyySSSSSMHSyyyySSSSSMS
yyyySSSSSMJ
yyyySSSSSMJAyyyySSSSSMJOyyyySSSSSMK
yyyySSSSSMJLyyyySSSSSMJMyyyySSSSSMJKyyyySSSSS
yyyySSSSSMK
yyyySSSSSMKNyyyySSSSSMKOyyyySSSSSMKLyyyySSSSSMKMyyyySSSSSMKJyyyySSSSSMKKyyyySSSSSMKHyyyySSSSSMH
yyyySSSSSMN
yyyySSSSSMO
yyyySSSSSMOKyyyySSSSSMHNyyyySSSSSMN
yyyySSSSSMOMyyyySSSSKMJ
yyyySSSSSMS
yyyyssyyE	
yyyyssyyWWWyE	
yyyysxxyyyyy
yyyysyyyYyyysyyy
yyyytxyyyyyyyyyyyyyy
yyyy!txyyyyyyyyyyyyyyyyy
yy-y?yTyAyIyOyMyOy
yyy;ytyxy?y
yyyytyyy
yyyyTyyyyyy2Myy
yyyYtyyyyyyyyyyyyy9yy9W
yyyyUdxyxyyycyyycyyyQexy
yyyyuhyyxyyysyyysyyy
yyyyulyyxyyysyyysyyy
yyyyUWWWyyyyY
yyyyu"xyxyyy	yyy
yyyyuyyy
yyyyuyyy-
yyyyuyyy.
yyyyuyyyd
yyyyuyyyF
yyyyuyyyN
yyyyuyyyR
yyyyuyyyyyyy
yyyyuyyyyyyy5
yyyyuyyyyyyy!@8
yyyyuyyyyyyya@8
yyyyuyyyYyyyuyyy
yyyyUyyyYyyyUyyy
yyy?yvyxy?y
yyyyvyyyyyyyyyyyyyyyuyyy
yyyyW)8!yyyy
yyyyWhyyxyyynyyynyyy1iyy
yyyyWkyyxyyynyyynyyy1hyy
yyyywkyyxyyyvyyyvyyy
yyyywUxyxyyy5yyy0yyyQPxy!Sxy
y	y	y	yWy
yyyyxiyy
y]yyy]xt
yyyyxxyyxx
yyyyxyHx
yyy	yXyqyq
yyyyxyTx
yyyyxyxy
yyyyxyxyQyyyiyyyYyyyxyxyyyyy
yyyyxyxyxyxyxyxyxyxyxyxyxyxyyxyxyxyyyyyyxxyxxyxxyxxyxxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyxyxyxyxyxyxyxyxyxyxyxyyxyxyxyyyyyyxxyxxyxxyxxyxxyyyyyyyyyyyyyyyyyyyyyyxyyxyyxy
yyyy].xyxyyy
|yyyyxyy
yyyyxy|y!";
YyyYXyyDXyy'Xyy
.yy|!yyX!yyD!yy !yy
yyyYxyy)xyy
YyyYXyy-Xyy
yyyyxyyy
Yyyyxyyy
yyyyxyyy#i
Yyyy	xyy[yyy5xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Yyyy	xyy[yyy7xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyahxyyyyyyyyyyyyyyyyy
Yyyy	xyy[yyy7xyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyAhxyyyyyyyyyyyyyyyyy
yyyyxyyy|yyy
yyyyxyyyyyyy
yyyyxyyyyyyy.
yyyyxyyyyyyyxyyyyyyyyyyyi
yyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyy
yyyYxyyyyyyyyyyyyy9yy9W
yyyyxyyyyyyyyyyyyyyyB|
Yyyyxyyyyyyyyyyyyyyylxyyyyyy
Yyyyxyyyyyyyyyyyyyyyoxyyyyyy
yyyyxyyyyyyyyyyyyyyyt
yyyyxyyyyyyyyyyyyyyyxyyyyyyy
yyyyxyyyyyyyyyyyyyyyyyyJyyyyyyyyyyyyyy
yyyYxyyyyyyyyyyyyyyyyyyty
yyyyxyyyyyyyyyyyyyyyyyyyyy9yy
Yyyyxyyyyyyyyyyyyyyyyyyyyyyy
Yyyyxyyyyyyyyyyyyyyyyyyyyyyy1C
yyyyxyyyZ
yyyyy0y8y*yYy
yyyyy0y8y*yYy3y
yyyyy0y8y*yYy)y
yyyyy0y8y*yYy*y
yyyyy0y)y
yyyyy0y	y0y
yyyyy0y	yOy?y
yyyyy0y	y?y
yyyyy0y)y*y
yyyyy0y?yYy4y
yyyyy0y*y)yyy-?y
yyyyy0y)y!yYy-y
yyyyy185@-1yy1y8y5y@y-y1yyyyy*
]yyyyy1H
yyy.y*y1y0y)yOyyyyy
yyyyy1y-y4y5yYy
yyY	yy1	yy		yy
yyyyy1y-y-y)yYy)y
yyyyy1y-y-y)yyyyy1y
yyyyy1y-y-y)yYy*y*y5yyyyy1y-y-y)y?y
yyyyy2y*y
yyyyy3y*y
yyyyy4y4y:yYy*y
!yyY yy4 yy
yyyyy4y	y
yyyyy4y*y0yYy*y
yyyyy4y*y!y4y5yYyJyWyIyYy*y)y@yyy
yyyyy4y*y!y4y5yYyOyWyIyYy*y)yKyyy
yyyyy4y*y:y8y-yJyKyYy?y
yyyyy4y*yYy*y
yyyyy4y*y:y-y?yYy*y
yyyyy4y*y:y-y?y)yYy*y
yYy*y(y5yYy*y
yYy*y(y5yYy:y
yyyyy.*6:2JKW
yyyyy6y	y
y.y;yyy7y
y;y-yyy7y
yyyyy7y8y)yYy0y)y*y
yyyyy7y8y)yYy7y
yyyyy7y	y
yyyyy7y-yyy
yyyyy7y-yYy5y
yyyyy8y4yyyyy)y4yyyyy4y4yVy
yyyyy8y	y
yyyyy8y-y5yYy4y
yyyyy8y	y	y
yyyyy8y	y	y4y
yyyyy8y	y	y8y
.yyyyy99!!!!!!y
yYyyy9i0
yyyyy9xyy9
yy	yyyaH
yy|yyyaxyyaxyy
yyyyyAyIyKyWyJyYy4y
yyyyyAysyxy)y
yyyyyAyuyxy?y
yyyyyAy-y
yyy	yyb	yyJ	yy6	yy
yyyyyCytyxy)y
yyyyyCy*y
;yyy:yyC:yyF:yy6:yyr4yy
;yyy:yyd:yyC:yy4:yy
 yyy#yyd#yyN#yy(#yy
yyyyyEysyxy6y
Yyyyyeytytysyy
yyyyyEyy
yyyyyFyyy
yyyyyGytyxy)y
yyyyYhyyqyyyryyysyyy
yyyyYhyyxyyyuyyyuyyy
yyyyy)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2)i"2J
yyyyyIHKJMLONA@
yy!YyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy- yyyIqyy#yyyyqyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
(yyyyyiy
)yyyyyiy
yy!)yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy))yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyy#iyyyiyyyYyyyy
yy	yyy	J
yyyyyJyKyTy
)yyy(yyl(yyU(yy0(yy
yyyyyMysyxy?y
yyyyYmyyxyyyEyyyEyyy
yyyy|yNyoy
yyyyyNyWyHyIyWyJyIyLyKyWyMyyyAyuyxy0y
yyyyyNyWyHyIyWyJyIyNyNyWyIyyyAyuyxy0y
yyyyyOyWyIyIyWy@yOy@yIyyyCytyxy0y
yyyyyOyWyIyKyWyJyHyIyMyWyIyyyAyuyxy0y
yyyyyoy)y
yyyyypy5y
yyyy|ypycy
)yyy(yyp(yyk(yyb(yy](yyT(yyO(yyF(yy1(yy((yy#(yy
YyyyyPYyy
YyyyyPYyy"
)yyy(yyq(yy
yy(yyyqyyyqyyyQ
yyyyySWSyyyyyyyyyyyyy)
yyyyySySySySyHy
yyyyySySySySyHyAyHy
yyyyySySySySyHyAyJy
yyyyySySySySyHyAySy
yyyyySySySySyHyAySy@yyyyySySySySyHyMySy
yyyyySySySySyHyMyHy
yyyyySySySySyHyMyJy
yyyyySySySySyHyMySy
yyyyySySySySyHyMySy@yyyyySySySySyHyMySyNyyyyySySySySyHySySy
yyyyySySySySyHySyHy
yyyyySySySySyHySyJy
yyyyySySySySyHySySy
yyyyySySySySyHySySy@yyyyySySySySyHySySyNyyyyySySySySySy
yyyyySySySySyJy
yyyyySySySySyJyAySy
yyyyySySySySyJyMySy
yyyyySySySySyJyMySy@yyyyySySySySyJySySy
yyyyySySySySyJySySy@yyyyySySySySyKy
yyyyySySySySyKy
yyyyySySySySyKyAySy@yyyyySySySySyKyMySy
yyyyySySySySyKyMySy@yyyyySySySySyKySySy
yyyyySySySySyKySyJy
yyyyySySySySyKySySy@yyyyySySySySyHy
yyyyySySySySyMy
yyyyySySySySyMyAySy
yyyyySySySySyMyMySy
yyyyySySySySyMySySy
yyyyySySySySySy
yyyyySySySySySyAyHy
yyyyySySySySySyAyHyOyyyyySySySySySyAyHyMyyyyySySySySySyAyHyJyyyyySySySySySyAyHySyyyyySySySySySyAySy
yyyyySySySySySyAyJy
yyyyySySySySySyAyKy
yyyyySySySySySyAyLy
yyyyySySySySySyAyOy
yyyyySySySySySyAySy
yyyyySySySySySyAySy@yyyyySySySySySyAySyNyyyyySySySySySyMyLyOyyyyySySySySySyMyLySyyyyySySySySySyMyMyMyyyyySySySySySyMyMyJyyyyySySySySySyMyMyHyyyyySySySySySyMyMySyyyyySySySySySyMyJy
yyyyySySySySySyMyAyHyyyyySySySySySyMyLyKyyyyySySySySyLySySy
yyyyySySySySySyMyHy
yyyyySySySySySyMyHy@yyyyySySySySySyMyHyAyyyyySySySySySyMyHyOyyyyySySySySySyMyHyLyyyyySySySySySyMyHyMyyyyySySySySySyMyHyJyyyyySySySySySyMyHySyyyyySySySySySyMySy
yyyyySySySySySyMyJy
yyyyySySySySySyMyJyAyyyyySySySySySyMyJyOyyyyySySySySySyMyKy
yyyyySySySySySyMyJyLyyyyySySySySySyMyJyMyyyyySySySySySyMyJyKyyyyySySySySySy
yyyyySySySySySyMyKy
yyyyySySySySySyMyKyNyyyyySySySySySyMyKyOyyyyySySySySySyMyKyLyyyyySySySySySyMyKyMyyyyySySySySySyMyKyJyyyyySySySySySyMyKyKyyyyySySySySySyMyKyHyyyyySySySySySyMyHy
yyyyySySySySySyMyNy
yyyyySySySySySyMyOy
yyyyySySySySySyMyOyKyyyyySySySySySyMyHyNyyyyySySySySySyMyNy
yyyyySySySySySyMyOyMyyyyySySySySyKyMyJy
yyyyySySySySySyMySy
yyyyySySySySySyMySy@yyyyySySySySySyMySyAyyyyySySySySySyMySyNyyyyySySySySySyMySyOyyyyySySySySySyMySyLyyyyySySySySySyMySyJyyyyySySySySySyMySyKyyyyySSSSKSH
yyyyytzyyyyyyyyyyyyy
yyyyyvy8y
yYy)y*yVyKyYy4y
yyyYyVy	y
:y)y*yyyWHWMWHWJHHWKI
yyyyyWWWy
yyyyyWWyySFyyWyWyyyyySyFyyyyyy
yyyyyxyx
yyy	y]yxy?y
yyyyyxyyyyiy
|yyyyyxyyyyyy
!yy]yyyy
!yy|yyyy
)yy.)yy.)yy
|yyy|yyy
y	yyyyy.
yyy	[yyy
yyy-y*y	y
yyyy(|yy(
yyyyyy?-
yyyyyy?:
yyyyyy?|
yyyy-#yy0
yyyyyy?06
y	yyy)y:y0yYy;y
yyyyyy*1?
yyyyyy1H
[yyyyyy1yyy
yyyyyy?1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1
yyyyyy3[
yyyyyy4iyyyiyyyYyyyyQ
y#yyyyy4y
yyyyy.y4y0yYy)y
yyyyyy5yr]
yyyyyy5yr]dyxyyy
yyyyyy5yr]fyxyyy
yyyyyy5yr]hyxyxy
yyyyyy5yr]hyxyyy#
yyyyyy5yr]iyxyxy
yyyyyy5yr]iyxyyy
yyyyyy5yr]iyxyyy#
yyyyyy5yr]jyxyyy
yyyyyy5yr]kyxyxyg
yyyyyy5yr]kyxyyy#
yyyyyy5yr]lyxyxy
yyyyyy5yr]myxyxy
yyyyyy5yr]myxyyy
yyyyyy5yr]nyxyyyJ
yyyyyy5yr]oyxyyy
yyyyyy5yr]pyxyyy#
yyyyyy5yr]pyxyyy(
yyyyyy5yr]pyxyyyC
yyyyyy5yr]qyxyyy#
yyyyyy5yr]qyxyyy@
yyyyyy5yr]qyxyyy7
yyyyyy5yr]qyxyyyB
yyyyyy5yr]ryxyyy
yyyyyy5yr]ryxyyy#
yyyyyy5yr]syxyyy
yyyyyy5yr]syxyyy#
yyyyyy5yr]tyxyyy
yyyyyy5yr]uyxyyy
yyyyyy5yr]uyxyyy#
yyyyyy5yr]vyxyyy#
yyyyyy5yr]wyxyyy#
yyyyyy5yr]xyxyyyS
yyyyyy5yr]|yxyxy
yyyyyy5yr]]yxyyy
yyyyyy5yr]|yxyyy
yyyyyy5yr]|yxyyyA
yyyyyy5yr]yyxyyy
yyyyyy5yr]zyxyyy
yyyyyy5yr]zyxyyy.
yyyyyy5yr]Zyxyyy
yyyyy-y5y*yYyVyYy*y*y5yYy*y
yyyyyy5yZ]yyxyyy'
yyyyy:y6y4yRyYy*y
yyyyy:y6y4yYy*y
y	yyyyy7y
y?yyyyy7y
yyyyyy?7y
yyy[yyy7yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyy?8
yyyyyy8H
yyyyyy8iyyyiyyyYyyyy
y	yyyyy8y
yyyyy*y8y4yYy*y
yyyyy.y8y7yYy4y
yyyyyy?8y!y.y0y7yyyW
yyyyyy?8y!y.y0y7yYy?y
yyyyy?y8y-yYy?y
:yyyyyy]9
yyyyyy95yyyiyyy)yyyy
yyyyyy99yyyiyyy)yyyy
yyyyyy9Eyyyiyyy9yyyy
yyyyyy9H
yyyyyy9iyyyiyyyYyyyy
yyyyyy9W
yyyyyy9]yyyiyyyIyyyy
yyyyyy]9yyyyyy 9yyyyy9
yyyyyy#a
yyyyyyA[
;yy]:yy;:yya9yy
yyyyyyA9yyyyy
yyyyyyajyyxyyyEy
yyyyyyajyyxyyyEyhy|y|
yyyyyyajyyxyyyEyjyuyu
yyyyyyajyyxyyyEykyuyu
yyyyyyajyyxyyyEymyqyq
yyyyyyajyyxyyyEypyhyh
yyyyyyajyyxyyyEypyryr
yyyyyyajyyxyyyEyry
yyyyyyajyyxyyyEyryqyq
yyyyyyajyyxyyyEysyryr
yyyyyyajyyxyyyEytyqyq
yyyyyyajyyxyyyEytyuyu
yyyyyyajyyxyyyEyvyzyz
yyyyyyajyyxyyyEywyuyu
yyyyyyajyyxyyyEy|yryr
yyyyyyajyyxyyyEy]yuyu
yyyyyyajyyxyyyyyyy
yyyyyyAsyyB
yyyyyy?axyyyyyy
yyyyyyBH
yyyyyyBmyyyiyyyYyyyy
yyyyyy?bxyyyyyy
yyyyyy?C
yyyyyy?cxyyyyyy
yyyyyy#d
yyyyyy-d
yyyyyyDH
yyyyyy?dxyyyyyy
yyyyyy?Dxyyyyyy
yyYyyyE7
|yyyyyyEpyy
yyyyyyeyy
yyyyyyFI
yyyyyyFiyyyiyyyYyyyy
yyyyyyFiyyyiyyyYyyyy2
yyyyyy?g
yyyyyyG[
yyyyyyge
yyyyyyGH
yyyyyyGiyyyiyyyYyyyy
yyyyyy)Gyyyiyyy9yyyy
yyyyyy#H
yyyyyy*H
yyyyyy:H
yyyyyy@H
yyyyyyh)6
yyyyyyHX
yy)yyyyI
yyyyyyiAyyy
yyyyyyiAyyy	
yyyyyyIH
yyYyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyiy
yyyyyyiyy
yyyyyyiyy9iyyyi
yy]yyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yy)YyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
|yYYyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyy)|yyyiyyy
yyy:|yyyiyyy
yyy_|yyyiyyy
)yyyyyyIyyy
_yyyyyyIyyy
yyyyyyiyyyIEyyIE
yyyyyy	iyyyiyyyIyyyy
yyyyyy	iyyyiyyyYyyyy
yyyyyyiyyyyyyy
yyyyyyI:yyyyyyy
yyyyyyiyyyyyyyy
yyyyyyiyyyyyyyyy
yyyyyy:j
yyyyyy?j
yyyyyy?jxyyyyyy
yyyyy.yJyKy-y
yyyyyy?k
yyyyyyK[
yyyyyyKH
yyYyyykHQH
yyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
yyyyyykx
yyyyyy?kxyyy6
yyyyyy?kxyyyyyy
yyyy|yyKyyy
yyyyyyLH
yyyyyy?lxyyyyyy
yyyyyyMbyyhyyy)yjyqyq
yyyyyyMH
yyYyyymK
yyyyyy?mm
yyyyyy?mxyyyyyy
yyyyyyMyj]iyyyyy
yyyyyyMyj]xyyyyy'
yyyyyyMyr]iyyyyy
yyyyyyMyr]uyyyyy
yyyyyyMyr]vyyyyy
yyyyyyMyr]xyyyyy
yyyyyyMyr]zyyyyyy
yyyyyymyyy
yyyyyy|n
yyyyyyNH
yyYyyynI(K
yyyyyyNX
yyyyyy?nxyyyyyy
yyyyyyOH
yyyyyyox
yyyyyy?oxyyyyyy
yyyyyy?oyyyyyyy
yyyyyyPA
yyyyyyPH
yyyyyyPx
yyyyyy?pxyyyyyy
	yyyyyyq
yyyyyy?Q
yyYyyyQI
yyyyyyQvyyxyyy1yhyqyq
yyyyyyQvyyxyyyEygyqyq
yyyyyyQvyyxyyyEynyqyq
yyyyyyQvyyxyyy-y|yqyq
yyyyyyQvyyxyyy	yYyuyu
yyyyyyQvyyxyyyzyz
*yy)*yy *yyq*yy
yyy)yyyqyyyEyyyyyyyyyyyyyy9yy
yyy)yyyQyyyoyz
yyy)yyyqyyyQyyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
?yyyyyyQyyy)yyy
yyyyyyQyyy)yyy
yyyyyyQyyyyyy*;
?yyyyyyQyyy)yyyQyyyoyz
)yyyyyyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
?yyyyyyQyyy)yyy)yyyQyyyoyz
yyy	yyyqyyy#yyyyyyyyyyyyyy9yy
yyyyyyRH
yyyyyy?rxyyyyyy
yyyyyyry
yy|yyyyryrayyyyyyyyyyyyyyyy
yyyyyy?ryyyyyyy
yyyyyySH
yyyyyy?syyyyyyy
yyyyyyTH
yyyyyy?txyyyyyy
yyyyy*yTyHyTyIy
yyyyyy?Tyyyyyyy
-#yyyyyytyyyyyyyyyyyyyyyyyyyyyyytyyyyyyyyyyyyyyyyyyyyyyytyyyyyyyyyyyyyyyyyyyyyyytyyyyyyyyyyyyyyyyyyyyyyytyyyyyyyyyyyyyyyyyyyyyyy[yyyyyyyyyyyyyyyyyyyyyyy[yyy
yyyyyy"u
yyyyyyUH
yyyyyyUr
yyyyyyUx
yyyyyy?uxyyyyyy
yyyyyyuy
@yyyYyyuyyy
yyyyyy?uyyyyyyy
yyyyyyuyyyyyyyyyyyyyyytyyyyyyyyyyyyyyywyyyyyyyxyyyyyyyvyyyyyyyyyyyyyyyiyyyyyyyxyyyyyyyhyyyyyyyxyyyyyyy
yyyyyyVH
yyyyyy?vxyyyyyy
yyyyyyvy
yYy-y:y)yVy0y)yYy
yyy-y:y)yVy0y)yYy7y
yyy-y:y)yVy0y)yyyyy8y
yyyyyywx
yyyyyy?wxyyyyyy
yyyyyywy
yyyyyy?x
yyyyyy?XD
yyyyyy?xw
yyyyyyxx
yy|yyyyxxxwyyyyyyyyyyyyyyyyYxyyyyyy
yyyyyyxxxyyyxyyyxyyyyyxyyyyyyy
yyyyyy?Xxyyyyyy
yy|yyyyxyjmyyyyyyyyyyyyyyyyRyu
yyyyyy?xyyy
yyyy'(yyxyyyvyyyvyyy
yyyyyy?Xyyyyyiy
yyyyyy?[xyyyyyy
yyyyyy?xyyyyyyy
	yyyyyyy:
*yy)-yyy*yy
-yyyyyyy
]yyyyyyy	
|yyyyyyy
y	yyyyy)y
y	yyyyy.y
y(yyyyy:y
yy__yy'yyy
yyyy!yyy
yyyy-yyy
yyyy|yyy
yyyyy	y	y
yyyyy y)y
yyyyy!y)y
yyyyy"y	y
yyyyy)y*y
yyyyy*y	y
yyyyy*y:y
yyyyy-yy
yyyyy.yy
yyyyy:y	y
yyyyy@y?y
yyyyyy?y
yyyyyyy)
yyyyyyy)*
yyyyyyy*
yyyyyyy-
yyyyyyy.
yyyyyyy:
yyyyyyy;
yyyyyyy?
!yy|yyyyY:;
yyyyyy?Y
|yyyYyyy
Yyyy!yyy
yyyyyyy0
yyyyy)y:y0y0y
yyyyy)y:y0yyy)y
yyy;yyyy1
?yyyYyyy1yyy
yyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyq
yyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyy4
yyyyyyy4y
yyyyyyy5
yyyyyyy6
yyyyyyy;6?8
yyyyyyy7
yyyyyyy7y-yYy5y4yYy*y
yyyyyyy8
yyyyyyy9
yyyyyyy9yyyyyy
yyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyaxyywf
yyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyixyywf
yyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)wyywf
yyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyywf
yyyyyyya
yyyyyyyby:y
yyyyyyybyyyHyyyKyyyJyyyMyyyLyyyOyyyNyyyAyyy@yyyIyyy
@yyyYyyyCyyy
yyyyyyydyyyyyyyyyyy
yyyyyyyF
yyyyyyyG
yyyyyyyi
yyyyyyyIVyy
yyyy*yyyIyyy-yyyoyyyyyyyyyyyyyy9yy
yyyyyyyJ
yyyyyyym
yyyyyyyMH
yyyyyyymxyyyyyy
yyyyyyyMxyyyyyy
yyyYyyymyyy	yyy
Yyyyyyyoyy
yyyyyyyPH
yyyyyyypyqyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyq
yyyyyyyQ:;
yyyyyyyQt
yyyyyyyqy4y*yYy*y
_yyyYyyyQyyy
yyyYyyyqyyywyyyyyyyyyyyyyy9yy
yyyyyy-yr]wyxy
yyyyyy-yr]yyxy
yyyyyyyryyy
yyyyyyyryyyhP
yyyyyyyryyyRP
yyyyyyyryy)yyyy
yyyyyyyryz)yyyy
yyyyyyysyyyyyyytyyy
yyyy:yyySyyyyyyyyyyyxyyy
yyyy!yyyU
yyyyyyyUyyy
yyyyyyyvyvyQyyyYyyy9yyyxyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyy
yyyyyyywy-y
yYyyyyyxy
yyyyyyyxyx)yyyy
:yyyyyyyxyyyWyyyM
yyyyyy?yxyyyyyy
:yyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!
:yyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyao
yyyyyyyxyz)yyyy
	yyyyyyyy
	yyyyyyyy*
!yyyyyyyy:
y.y;yyyyy(y
y:y yyyyy*y
y:y!yyyyy;y
yy|yyyyyy
yyyyyyy)y
yyyyyyy;y
yyyyyyy?y
yyyyyyyy
yyyyyyyy	
yyyyyyyy!
yyyyyyyy(:
yyyyyyyy)
yyyyyyyy);
yyyyyyyy*
yyyyyyyy-
yyyyyyyy.
yyyyyyyy:
yyyyyyyy?
yyyyyyyy]
yyyyyyyy|
yyyyYyyy
yyyYyyyy
yYy)y)y)yyy
yYy:y*y)yYy
Yyyyyyyy
yyyyyyyy0
yyyyyyyy1
yyyyyyyy1*
yyyyyyyy18
yyyyyyyy1j
yyyyyyyy1u
yyyyyyyy1Z
yyyyyyyy2
y	yyyyyyy4y
yyyyyyyy5
yyyyyyyy5?8
yyyyyyyy59
yyyyyyyy5F
yyyyyyyy5i
yyyyyyyy5r
yyyyyyyy5w
yyyyyyyy5W
yyyyyyyy#6
yyyyyyyy6
yyyyyyyy6H
yyyyyyyy7
yyyyyyyy!@8
yyyyyyyy?8
yyyyyyyy8
yyyyyyyy8		0
yyyyyyyy9
yyyyyyyy9";
yyyyyyyy9W
yYYyyyYy9Yy
yyyyyYyy9yyyyYY
yyyyYyyy9yyyyyyyyyyyyyyyyyyyyyy9yy
yyyyyyyya
yyyyyyyya"
yyyyyyyyA
yyyyyyyyA;
yyyyyyyya@8
yyyyyyyyaG
yyyyyyyyAH
yyyyyyyyaJ8
yyyyyyyyAn
yyyyyyyyAs
yyyyyyyyAU#
yyyyyyyyaz
yyyyyyyyBH
yyyyyyyybybybyyxHyXyyyy
yyyyyyyyC
yyyyyyyyCH
yyyyyyyy-d
	yyyyyyyyDH
yyyyyyyye
yyyyyyyye[
yyyyyyyye]
yyyyyyyyE
yyyyyyyye9
yyyyyyyyec
yyyyyyyyeF
yyyyyyyyEH
yyyyyyyyeH8
yyyyyyyyeI
yyyyyyyye|w
yyyyyyyyf
yyyyyyyyfyyyByyy#yyy
yyyyyyyyG
yyyyyyyy H
yyyyyyyy#H
yyyyyyyy?H
yyyyyyyy@H
yyyyyyyy-H8
yyyyyyyyHH
yyyyyyyy@hM
yyyyyyyyhM
yyyyyyyyi
yyyyyyyyI
yyyyyyyyI_
yyyyyyyyil
yyyyyyyyiR
yyyyyyyyJ
yyyyyyyy!J8
yyyyyyyyJH
yyyyyyyyJV
yyyyyyyyK
yyyyyyyyKa
yyyyyyyy	L8
yyyyyyyyLH
yyyyyyyym
yyyyyyyyM
yyyyyyyym8
yyyyyyyyM9
yyyyyyyyme
yyyyyyyyMF
yyyyyyyyMG
yyyyyyyyMh
yyyyyyyyMk
yyyyyyyymy
yy|yyyyyyoiyyyyyyyyyyyyyyyyYxy
yyyyyyyy-p
yyyyyyyyp
yyyyyyyy?P0
yyyyyyyyPH
yyyyyyyy!q
yyyyyyyyq
yyyyyyyyQ
yyyyyyyyQa
yyyyyyyyqf
yyyyyyyyqI
yyyyyyyyqp
yyyyyyyyqx
yyyyyyyyr!
yyyyyyyyR
yyyyyyyyS
yyyyyyyySH
yyyyyyyy-t
yyyyyyyyTH
yy|yyyyyyu
yyyyyyyyu
yyyyyyyyU
yyyyyyyyU8
yyyyyyyyud
yyyyyyyyuK8
yyyyyyyyuv
yyyyyyyyuY
yy|yyyyyywuyyyyyyyyyyyyyyyyyxy
	yy		yy)	yy*	yyx
yyyyyyyyx
yyyyyyyyxfy
yyyyyyyyxjy
yyyyyyyyxXy
yyyyyyyyxym
yyyyyyyyxyyy
yyyyyyyyxyyyac
yyyyyyyyxyyyan
yyyyyyyyxyyy(B
yyyyyyyyxyyybV
yyyyyyyyxyyy!J
yyyyyyyyxyyyQ
yyyyyyyyxyyyU
yyyyyyyyxyyyul
yyyyyyyyxyyyxyyy
yyyyyyyyxyyyxyyy	
yyyyyyyyxyyyxyyy!
yyyyyyyyxyyyxyyy)
yyyyyyyyxyyyxyyy]
yyyyyyyyxyyyxyyy1
yyyyyyyyxyyyxyyy)4
yyyyyyyyxyyyxyyy99
yyyyyyyyxyyyxyyyaM
yyyyyyyyxyyyxyyyas
yyyyyyyyxyyyxyyye
yyyyyyyyxyyyxyyye1
yyyyyyyyxyyyxyyyI
yyyyyyyyxyyyxyyymj
yyyyyyyyxyyyxyyyMK
yyyyyyyyxyyyxyyy]q
yyyyyyyyxyyyxyyyq
yyyyyyyyxyyyxyyyU
yyyyyyyyxyyyxyyyy
yyyyyyyyxyyyxyyyY
yyyyyyyyxyyyxyyyy4
yyyyyyyyxyyyxyyyYf
yyyyyyyyxyyyyy
yyyyyyyyxyyyyyy
yyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy]yyyyyxyyyyyyyyyyyyyyyyyyyyy9yy
	yyyyyyyyy
:yyyyyyyyy
yyy!yyyyyy
yyy!yyyyyy'
yyy#yyyyyy
yyy'yyyyyy)
yyyy|yyyyy
yyyyyyyyy
yyyyyyyyy#
yyyyyyyyy)
yyyyyyyyy*
yyyyyyyyy:
yyyyyyyyY
yyyyyyyyY;
yyyyyyyyY|
yyyyyyYyy
yyYyyyyyy
yYyyyyyYy
Yyyyyyyyy
yyyyyyyyy0
YYYYyyyyy0
yyyyyyyyy2
yyyyyYyyy!2
yyyyyyyyy4y
yyyyyyyyy5
yyyyyyyyy5H
yyyyyy?[yyy5y
yyyyyyyyy5yr]uyxyyy
yyyyyyyyy6H
yyyyyyyyy7
yyyyyyyyy8y
yyyyyyyyy8y	y	y
yyyyyyyyy9hsy
yyyyyyyyyb
yyyyyyyyyBH
yyyyyyyyyeS
yyyyyyyyyF
yyyyyyyyy*H
yyyyyyyyyi
yyyyyy)	yyyiyyy
yyyyyy))yyyiyyy
	yyyyyyyyyJ
yyyyyyyyyk
yyyyyyyyyK
yyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
yyyyyyyyyn
yyyyyyyyyOH
yyyyyyyyyq
yyyyyyyyy[Q
yyyyyyyyyQy)y
yyyyyyyyyVH
yyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
yyyyyyyyyw
yyyyyyyyyW
yyyyyyyyyx*
	yyyyyyyyyxmy
yyy]yyy_yyyXyyy
yyyyyyyyyx)yyyy
yyyyyyyyyx)yyyyzyZyOywy
	yyyyyyyyyy
!yyyyyyyyyy
"yyyyyyyyyy
#yyyyyyyyyy
)yyyyyyyyyy
-yyyyyyyyyy
?yyyyyyyyyy
]yyyyyyyyyy
|yyyyyyyyyy
yyyyyy?yyyy
yyyyyy?yyyy:
yyyyyyyyy*y
yyyyyyyyy.y
yyyyyyyyy;y
yyyyyyyyyy
yyyyyyyyyy.
yyyyyyyyyy?
yyyyyyyyyy[
yyyyyyyyyY|
Y|yyyyyyyyy
|yyyyyyyyyy0H
yyyyyyyyyy0H
yyyyyyyyyy16
|yyyyyyyyyy1H
yyyyyyyyyy1H
yyyyyy?yyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|yyyyyyyyyy2H
yyyyyyyyyy2H
|yyyyyyyyyy3H
yyyyyyyyyy3H
yyyyyyyyyy5H
yyyyyyyyyy7
yyyyyyyyyy8
yyyyyyyyyy8H
yyyyyyyyyy9
yyyYyyyyyy9
yyyyyyyyyy9H
|yyyyyyyyyyA
yyyyyyyyyyAH
|yyyyyyyyyyA*wy
yyyyyyyyyyBH
yyyyyyyyyyc
yyyyyyyyyyC
yyyyyyyyyyd
yyyyyyyyyyDH
|yyyyyyyyyye
yyyyyyyyyye
yyyyyyyyyyEH
yyyYyyy	yyyeyyy
yyyyyyyyyyFH
yyyyyyyyyyg
yyyyyyyyyyGH
yyyyyyyyyy#H
yyyyyyyyyy:H
yyyyyyyyyy;H
yyyyyyyyyy@H
yyyyyyyyyyHH
yyyYyyyyyy'hyyyiyyyYyyyy
yyyyyyyyyyIH
)yyyyyyyyyyI(yyyiyyyyyyyyyyyyyyyyyyyyyy[(yyyyyyu(yyyyyy
yyyyyyyyyyJ
yyyyyyyyyyJH
	yyyyyyyyyyk
yyyyyyyyyyLys
yyyyyyyyyym
yyyyyyyyyyM
yyyyyyyyyyMH
yyyyyyyyyyNH
yyyyyyyyyyo
yyyyyyyyyyOH
yyyyyyyyyyq
yyyyyyyyyyQH
yyyyyyyyyyRH
|yyyyyyyyyy-Rmy
yyyYYYYYYYS	:
yyyyyyyyyySH
yyyyyyyyyyTH
yyyyyyyyyyUH
yyyyyyyyyyVH
yyyyyyyyyyW
y	yyyyyyyyy)y
yyyy!yyyyyyy
yyyy)yyyyyyy
yyyy-yyyyyyy
yyyyyyyyyyy
yyyyyyyyyyy	
yyyyyyyyyyy!
yyyyyyyyyyy)
yyyy|yyyYyyy
yyyyyyyYyyy
Yyyyyyyyyyy
YyyyYyyy[yyy
YYYYYYyyyyy.
yyyyyyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyye
yyyyyyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyy)3wyMxyyyyyyyyyy
yyyy)yyyyyyy5yyyyyyy-yyymmD
yyyyyyyyyyy6
yyyyyyyyyyyA
yyyyyyyyyyyA1wyMxyyyyyyyyyy	0wy
yyyy-yyyyyyyA;8
yyyyyyyyyyyaimyexyyyyyyyyyyMhmy
yyyy!yyyyyyyAxw
yyyyyyyyyyyE
yyyy!yyyyyyyE|w
yyyyyyyyyyy*H
yyyyyyyyyyy	i
yyyyyyyyyyyIomy
yyyy-yyyyyyyIyw
yyyyyyyyyyyiyyy
yyyyyyyyyyyiyyy9yyyy
yyyyyyyyyyyiyyyi
yyyyyyyyyyyiyyyIxyyy
yyyyyyyyyyyiyyyIxyyy]
yyyyyyyyyyyiyyyIxyyy5
yyyyyyyyyyyiyyyIxyyy8
yyyyyyyyyyyiyyyIxyyyl
yyyyyyyyyyyiyyyiyyyy
yyyyyyyyyyyiyyyIyyyy
yyyyyyyyyyyiyyyIyyyy|
yyyyyyyyyyyiyyyiyyyyc
yyyyyyyyyyyiyyyYxyyy
yyyyyyyyyyyiyyyYxyyy4
yyyyyyyyyyyiyyyYxyyy5
yyyyyyyyyyyiyyyYxyyyJ
yyyyyyyyyyyiyyy	yyyy
yyyyyyyyyyyiyyy)yyyy
yyyyyyyyyyyiyyy)yyyyE
yyyyyyyyyyyiyyyYyyyy
yyyyyyyyyyyiyyyYyyyy@
yyyyyyyyyyyiyyyYyyyy9
yyyyyyyyyyyiyyyYyyyyB
yyyyyyyyyyyiyyyYyyyyG
yyyyyyyyyyyiyyyYyyyyH
yyyyyyyyyyyiyyyYyyyyN
yyyyyyyyyyyKy7y
yyyyyyyyyyy!MwyMxyyyyyyyyyy
yyyyyyyyyyy	OwyMxyyyyyyyyyy
yyyyyyyyyyyq
yyyyyyyyyyyQ
yyyy)yyyyyyyQ98
yyyyyyyyyyyQH
yyyyyyyyyyyqnmy
yyyyyyyyyyytyyy
yyyyyyyyyyytyyyhyyyyyyyyyyy
yyyyyyyyyyyvy;y
yyyyyyyyyyywy?y
yyyy:yyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyy:yyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyQa"
	yyyyyyyyyyyy
yyyyyyyy)yyyy
yyyyyyyyyyyy
yyyyyyyyyyyy	
yyyyyyyyyyyy	?;
yyyyyyyyyyyy 
yyyyyyyyyyyy!
yyyyyyyyyyyy"
yyyyyyyyyyyy(
yyyyyyyyyyyy)
yyyyyyyyyyyy)*;
yyyyyyyyyyyy):;
yyyyyyyyyyyy*
yyyyyyyyyyyy-
yyyyyyyyyyyy.
yyyyyyyyyyyy:
yyyyyyyyyyyy;
yyyyyyyyyyyy?
yyyyyyyyyyyy]
yyyyyyyyyyyy_
yyyyyyyyyyyy1
yyyyyyyyyyyy1*
yyyyyyyyyyyy1C8
yyyyyyyyyyyy1K8
yyyyyyyyyyyy1u|y
yyyyyyyyyyyy2
yyyyyyyyyyyy"2B
yyyyyyyyyyyy4
yyyyyyyyyyyy5
yyyyyyyyyyyy5?8
yyyyyyyyyyyy5p
yyyyyyyyyyyy5yB
yyyyyyyyyyyy6
yyyyyyyyyyyy!:8
yyyyyyyyyyyy8
yyyyyyyyyyyy8H
yyyyyyyyyyyy9
yyyyyyyyyyyy9";
yyyyyyyyyyyy9:;
yyyyyyyyyyyy9;
yyyyyyyyyyyy9jB
yyyyyyyyyyyy9yy
yyyyyyyyyyyya
yyyyyyyyyyyyA
yyyyyyyyyyyyAF8
yyyyyyyyyyyyAH8
yyyyyyyyyyyyaJ8
yyyyyyyyyyyyAJ8
yyyyyyyyyyyyA:yyyyyyA:
yyyyyyyyyyyyA:yyyyyyA:yyyyyyIEyyyyyyIE
yyyyyyyyyyyy -B
yyyyyyyyyyyyCH
yyyyyyyyyyyyD5B
yyyyyyyyyyyye
yyyyyyyyyyyy]E
yyyyyyyyyyyyE
yyyyyyyyyyyy)E8
yyyyyyyyyyyyeB8
yyyyyyyyyyyyEB8
	yyyyyyyyyyyyEH
yyyyyyyyyyyyeH8
yyyyyyyyyyyyelB
yyyyyyyyyyyye|w
yyyyyyyyyyyyF
yyyyyyyyyyyyf4B
yyyyyyyyyyyyg
yyyyyyyyyyyyG
yyyyyyyyyyyyGH
yyyyyyyyyyyyh
yyyyyyyyyyyy#H
yyyyyyyyyyyy:H
yyyyyyyyyyyy@H
yyyyyyyyyyyy-H8
yyyyyyyyyyyyHH
yyyyyyyyyyyyhhhhhh
yyyyyyyyyyyyi
yyyyyyyyyyyyI
yyyyyyyyyyyyI:;
yyyyyyyyyyyyI:8
yyyyyyyyyyyyIH
yyyyyyyyyyyyiL8
yyyyyyyyyyyyIL8
yyyyyyyyyyyyiXC
yyyyyy?Yyyyyyiy
yyyyyyyyyyyyIyy
yyyyyyyyyyyyizw
yyyyyyyyyyyyj
yyyyyyyyyyyyJ
yyyyyyyyyyyyj-B
yyyyyyyyyyyyJH
yyyyyyyyyyyyk
yyyyyyyyyyyyl
yyyyyyyyyyyyL
yyyyyyyyyyyy	L8
yyyyyyyyyyyy)L8
yyyyyyyyyyyym
yyyyyyyyyyyym?
yyyyyyyyyyyyM
yyyyyyyyyyyymF8
yyyyyyyyyyyymyxymyxyyyyyyyyy
yyyyyyyyyyyyMzw
yyyyyyyyyyyyn
yyyyyyyyyyyyn*B
yyyyyyyyyyyyNH
yyyyyyyyyyyyO
yyyyyyyyyyyy|oB
yyyyyyyyyyyyp
yyyyyyyyyyyyPH
yyyyyyyyyyyyq
yyyyyyyyyyyyQ
yyyyyyyyyyyyQa"
yyyyyyyyyyyyQG8
yyyyyyyyyyyyQM8
yyyyyyyyyyyyQN8
yyyyyyyyyyyyqyyy
yyyyyyyyyyyyS
yyyyyyyyyyyys#B
yyyyyyyyyyyyS B
yyyyyyyyyyyySH
yyyyyyyyyyyyT
yyyyyyyyyyyyu
yyyyyyyyyyyyU
yyyyyyyyyyyyUE8
yyyyyyyyyyyyuK8
yyyyyyyyyyyyv
yyyyyyyyyyyyVH
yyyyyyyyyyyyw
yyyyyyyyyyyyWmB
yyyyyyyyyyyyWzB
yyyyyyyyyyyyX
yyyyyyyyyyyyx7B
yyyyyyyyyyyy!xB
yyyyyyyyyyyyxy
yyyyyyyyyyyyxyo
yyyyyyyyyyyyxyyy
yyyyyyyyyyyyxyyy!
yyyyyyyyyyyyxyyy9
yyyyyyyyyyyyxyyya
yyyyyyyyyyyyxyyy	|D
yyyyyyyyyyyyxyyyE|D
yyyyyyyyyyyyxyyyxyyy
yyyyyyyyyyyyxyyyxyyy)
yyyyyyyyyyyyxyyyxyyy-
yyyyyyyyyyyyxyyyxyyy]
yyyyyyyyyyyyxyyyxyyy5:
yyyyyyyyyyyyxyyyxyyy9?
yyyyyyyyyyyyxyyyxyyy93
yyyyyyyyyyyyxyyyxyyyA0
yyyyyyyyyyyyxyyyxyyye|
yyyyyyyyyyyyxyyyxyyym
yyyyyyyyyyyyxyyyxyyyQ
yyyyyyyyyyyyxyyyxyyyQ7
yyyyyyyyyyyyxyyyxyyyU
yyyyyyyyyyyyxyyyxyyyUFD
yyyyyyyyyyyyxyyyxyyyy
yyyyyyyyyyyyxyyyxyyyY4
yyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyy
yyyyyyyyyyyyxyyyxyyy!z
yyyyyyyyyyyyxyyyyyyy
yyyyyyyyyyyyxyyyyyyy"]
yyyyyyyyyyyyxyyyyyyy-
yyyyyyyyyyyyxyyyyyyy18;
yyyyyyyyyyyyxyyyyyyyyyyyyyyy
yyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy:yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyy|yyyyyy
yyyyyyyy]yyyyy
yyyyyyyyyy_yyy
yyyyyyyyyyyyy
yyyyyyyyyyyyy	
yyyyyyyyyyyyY
yyyyyyyyyyyyY|
yyyyyyyyyyyyy4
|yyyyyyyyyyyyy9yy
yyyyyyyyyyyyy9yy
yyyyyyyyyyyyy9yy;
|yyyyyyyyyyyyy9yy9W
yyyyyyyyyyyyy9yy9W
yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyA
yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#9|y19|yO9|yQ9|yi9|y
|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy*yy
|yyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyD8
yyyyyyyyyyyyYD8
yyyyyyyyyyyyy(H
yyyyyyyyyyyyyHyyy
yyyyyyyyyyyyyIhyyHhyyyyyyyyyy
yyyyyyyyyyyyyJ
yyyyyyyyyyyyYO8
yyyyyyyyyyyyyoyyy
yyyyyyyyyyyyy?p
yyyyyyyyyyyyyQ
yyyyyyyyyyyyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyr
yyyyyyyyyyyyyRH
yyyyyyyyyyyyySH
yyyyyyyyyyyyyx
	yyyyyyyyyyyyyy
"yyyyyyyyyyyyyy
yy"yyyyyyyyyyyy
yy)yyyyyyyyyyyy
yyyy)yyyyyyy)yyy
yyyyyy?yyyyyyyy
yyyyyyyyyyyy	yy
yyyyyyyyyyyy)yy
yyyyyyyyyyyy|yy
yyyyyyyyyyyyyy
yyyyyyyyyyyyyy)
yyyyyyyyyyyyyy-|
yyyyyyyyyyyYyy
yyyy)yyyYyyy)yyy
yyyyyyyyyyyyyy5
yyyyyyyyyyyyyy5Kyy
yyyyyyyyyyyyyy6
yyyyyyyyyyyyyy6H
yyyyyyyyyyyyyy8
yyyyyyyyyyyyyy8H
yyyyyyyyyyyyyy9Gyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9GyyyyyyyyyyyyyyK9yyyyyyyy
yyyyyyyyyyyyyy9yy
yyyyyyyyyyyyyy9yy9W
yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy!lyyyyyyGlyyIlyyYlyyilyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyySoyyaoyyyyyyyyyyyyyy	H
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyGjyy)jyyIjyyyyyyyyyy	H
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyu
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyU
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyym
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUkyyCkyyekyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyA
yyyyyyyyyyyyyyAH
yyyyyyyyyyyyyyayxyyy
yyyyyyyyyyyyyyBH
yyyyyyyyyyyyyyCH
yyyyyyyyyyyyyyDH
yyyyyyyyyyyyyyEH
yyyyyyyyyyyyyyeN
yyyyyyyyyyyyyyFH
yyyyyyyyyyyyyyGH
yyyyyyyyyyyyyy:H
yyyyyyyyyyyyyy;H
yyyyyyyyyyyyyy?H
yyyyyyyyyyyyyy@H
yyyyyyyyyyyyyyIH
yyy[yyyyyyyyyyyiyyy
yyy[yyyyyyyyyyyiyyyyxyyy
yyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyJH
yyyyyyyyyyyyyyK9xyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyK9yxyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyKH
yyyyyyyyyyyyyyLH
yyyyyyyyyyyyyyMH
yyyyyyyyyyyyyyNH
yyyyyyyyyyyyyyOH
yyyyyyyyyyyyyyPH
yyyyyyyyyyyyyyTH
yyyyyyyyyyyyyyUH
yyyyyyyyyyyyyyuI
yyyyyyyyyyyyyyuyx
yyyyyyyyyyyyyyUyyytyyy
yyyyyyyyyyyyyyUyyytyyy8
yyyyyyyyyyyyyyWH
yyyyyyyyyyyyyyxy
"yyyyyyyyyyyyyyxyiyyyayy
#yyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyxyl
yyyyyyyyyyyyyyxyxyyy
yyyyyyyyyyyyyyxyxyyy9uy
yyyyyyyyyyyyyyxyxyyyIyy
yyy?yyyyyyyyyyyy
yyyyyyyyyyyy|yyy
yyyyyyyyyyyy|yyy)
yyyyyyyyyyyyyy|y
yyyyyyyyyyyyyyy
yyyyyyyyyyyyyyy)?;
yyyyyyyyyyyyyyy:
yyyyyyyyyyyyYyy
yyyyyyyyyyyy|yyy1
yyyyyyyyyyyy|yyy5
yyyyyyyyyyyyyyy7H
@yyyyyyyyyyyyyyy8yyyy
@yyyyyyyyyyyyyyy8yyyyxyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyy|yyy9
yyyyyyyyyyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyy#4
yyyyyyyyyyyy|yyya
yyyyyyyyyyyy|yyye
yyyyyyyyyyyy|yyyE
yyyyyyyyyyyyyyyeyyy
yyyyyyyyyyyyyyyeyyy"
]yyyyyyyyyyyyyyyfyyy3
|yyyyyyyyyyyyyyyhyyy
yyyyyyyyyyyyyyyHyyy
yyyyyyyyyyyyyyyHyyy]_
|yyyyyyyyyyyyyyyhyyyb
|yyyyyyyyyyyyyyyhyyyd
|yyyyyyyyyyyyyyyhyyyGF
yyyyyyyyyyyyyyyHyyyP
yyyyyyyyyyyyyyyi
yyyyyyyyyyyy|yyyI
yyyyyyyyyyyyyyy)I6
yyyyyyyyyyyyyyyiyyy
yyyyyyyyyyyyyyyiyyyYyyyy
yyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyypyyy
yyyyyyyyyyyyyyypyyy5
yyyyyyyyyyyyyyypyyyU
yyyyyyyyyyyyyyypyyyZ
yyyyyyyyyyyy|yyyQ
yyyyyyyyyyyyyyysyyy
*yyyyyyyyyyyyyyySyyy
yyyyyyyyyyyyyyyu
yyyyyyyyyyyy|yyyU
yyyyyyyyyyyyyyyuyyy
yyyyyyyyyyyyyyyuyyyIp
yyyyyyyyyyyyyyyuyyyX(
yyyyyyyyyyyyyyywy0y
yyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyXyyyw
yyyy!yyyyyyyyyyyxyyyyyyyyyyyyyyyyyyJyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyy*
yyyyyyyyyyyyyyyy:
yyyyyyyyyyyyyyyy:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
yyyyyyyyyyyyyyyy@)
yyyyyyyyyyyyyyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
yyyyyyyyyyyyyyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
yyyyYyyyYyyyYyyy
yyyyyyyyyyyyyyyy6H
yyyyyyyyyyyyyyyy8H
yyyyyyyyyyyyyyyy9m
yyy]|yyyyyyyyyyyyy9yy9W
yyyyyyyyyyyyyyyyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
yyyyyyyyyyyyyyyy)B
yyyyyyyyyyyyyyyyBH
yyyyyyyyyyyyyyyyC
yyyyyyyyyyyyyyyyeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
	yyyyyyyyyyyyyyyyEH
yyyyyyyyyyyyyyyyGH
yyyyyyyyyyyyyyyy	H
yyyyyyyyyyyyyyyy#H
yyyyyyyyyyyyyyyy:H
yyyyyyyyyyyyyyyy;H
yyyyyyyyyyyyyyyy@H
yyyyyyyyyyyyyyyyH
yyyyyyyyyyyyyyyyHH
yyyyyyyyyyyyyyyy)i
yyyyyyyyyyyyyyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]])i
yyyyyyyyyyyyyyyyIH
yyyyyyyyyyyyyyyy)iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN )iN J
yyyyyyyyyyyyyyyy)iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU )iU J
yyyyyyyyyyyyyyyy))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))J
yyyyyyyyyyyyyyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]J
yyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyMH
yyyyyyyyyyyyyyyyo
yyyyyyyyyyyyyyyyPH
yyyyyyyyyyyyyyyySH
yyyyyyyyyyyyyyyyT
yyyyyyyyyyyyyyyyTH
yyyyyyyyyyyyyyyyVH
yyyyyyyyyyyyyyyy)V v
yyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvJ
yyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvJ
yyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyxyyy
yyyyyyyyyyyyyyyyxyyyE
yyyyyyyyyyyyyyyyxyyyM
yyyyyyyyyyyyyyyyxyyyQAD
"yyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyy1zyyyyyy
yyy?yyyyyyyyyyyyyy9yy
yyy[yyyyyyyyyyyyyy9yy
yyy!yyyyyyyyyyyyyy9yy9W
yyy#yyyyyyyyyyyyyy9yy9W
yyy'yyyyyyyyyyyyyy9yy9W
yyy)yyyyyyyyyyyyyy9yy9W
yyy-yyyyyyyyyyyyyy9yy9W
yyy?yyyyyyyyyyyyyy9yy9W
yyy[yyyyyyyyyyyyyy9yy9W
yyy]yyyyyyyyyyyyyy9yy9W
yyy_yyyyyyyyyyyyyy9yy9W
yyy?yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy	yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy;yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy]yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy_yyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy!yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy-yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy;yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy-yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyM*yyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyaIyyQQyy6
yyyyyyyyyyyyyyyyyayyyyyyymyyyyyyy5yyy
yyyyyyyyyyyyyyyyy)H
.yyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyYi4
yyyyyyyyyyyyyyyyyPH
	yyyyyyyyyyyyyyyyyy
!yyyyyyyyyyyyyyyyyy
)yyyyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyyyyyy
?yyyyyyyyyyyyyyy]yyy
?yyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyy[yyy
yyyyyyyyyyyyyyy[yyy @
yyyyyyyyyyyyyyyyyy
Y|yyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyy1H
yyyyyyyyyyyyyyyyyy6H
yyyyyyyyyyyyyyyyyy8H
yyyyyyyyyyyyyyyyyy9H
yyyYyyyyyyyyyyyyyy9yy
yyyYyyyyyyyyyyyyyy9yy9W
yyyYyyyyyyyyyyyyyy9yy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyAH
yyyyyyyyyyyyyyyyyyBH
?yyyyyyyyyyyyyyy]yyyci
yyyyyyyyyyyyyyyyyyEH
yyyyyyyyyyyyyyyyyyFH
?yyyyyyyyyyyyyyy]yyyh
!yyyyyy'.yy-.yyyyyyyyyy'H
yyyyyyyyyyyyyyyyyy	H
yyyyyyyyyyyyyyyyyy#H
yyyyyyyyyyyyyyyyyy'H
yyyyyyyyyyyyyyyyyy)H
yyyyyyyyyyyyyyyyyy-H
yyyyyyyyyyyyyyyyyy:H
yyyyyyyyyyyyyyyyyy;H
yyyyyyyyyyyyyyyyyy@H
yyyyyyyyyyyyyyyyyyHH
yyyyyyyyyyyyyyyyyyIH
yyyyyyyyyyyyyyyyyyKH
yyyyyyyyyyyyyyyyyyLH
yyyyyyyyyyyyyyyyyyMH
	yyyyyyyyyyyyyyyyyyNH
yyyyyyyyyyyyyyy[yyyO
yyyyyyyyyyyyyyyyyyOH
yyyyyyyyyyyyyyyyyyol5Z
yyyyyyyyyyyyyyyyyyPH
yyyyyyyyyyyyyyyyyyQH
yyyyyyyyyyyyyyyyyyTH
yyyyyyyyyyyyyyyyyyUH
yyyyyyyyyyyyyyYyyyUyyypyyytyyyyyyyyyyyYyyyUyyypyyy:
yyyyyyyyyyyyyyyyyyUyyytyyyyyyyyyyyyyyyyyyyUyyytyyy:
yyyyyyyyyyyyyyyyyyWH
yyyyyyyyyyyyyyyyyywyyyvyyyyyyyyyyy5yyyeyyyyyyyyyyySyyydyyyAyyyd
yyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyxyxyxyxyyyyyyyyyyyyyyyyy9yyyiyyyYyyyIyyy9yyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyYxyyyyyy
yyyyyyyyyyyyyyyy|yyy
yyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyy5H
yyyyyyyyyyyyyyyy|yyy5ID
yyyyyyyyyyyyyyyy|yyy5VD
yyyyyyyyyyyyyyyyyyya
yyyyyyyyyyyyyyyy|yyyeND
yyyy|yyyyyyyyyyyyyyyhyyy
yyyy|yyyyyyyyyyyyyyyhyyy]
yyyyyyyyyyyyyyyy|yyyIJD
yyyyyyyyyyyyyyyy|yyyIMD
yyyyyyyyyyyyyyyy|yyy	JD
yyyyyyyyyyyyyyyy|yyy	MD
yyyyyyyyyyyyyyyyyyyUH
yyyyyyyyyyyyyyyy|yyyuID
yy.yyyyyyyyy.yyyyyyyyy
yyyyy]yyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyy!
yyyyyyyyyyyyyyyyyyyy)
yyyyYyYyYyYyYyYyYyYy
yyyyyyyyyyyyyyyyyyyy1
yyyyyyyyyyyyyyyyyyyy!8;
yyyyyyyyyyyyyyyyyyyy8
	yyyyyyyyyyyyyyyyyyyy8H
yyyyyyyyyyyyyyyyyyyy9";
yyyyyyyyyyyyyyyyyyyy98;
yyy]yyy?yyyyyyyyyyyyyy9yy
yyy[yyy)yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[(yyyyyyu(yyyyyyyyyy
yyy]yyy-yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy_yyy!yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyy[yyy?yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyAH
yyyyyyyyyyyyyyyyyyyyBH
yyyyyyyyyyyyyyyyyyyyE
y	yyyyyyyyyyyyyyyyyyyEy y
yyyyyyyyyyyyyyyyyyyyGH
yyyyyyyyyyyyyyyyyyyy#H
yyyyyyyyyyyyyyyyyyyy.H
yyyyyyyyyyyyyyyyyyyy?H
yyyyyyyyyyyyyyyyyyyy@H
yyyyyyyyyyyyyyyyyyyyHH
yyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyi8;
yyyyyyyyyyyyyyyyyyyyIH
yyyyyyyyyyyyyyyyyyyyJH
yyyyyyyyyyyyyyyyyyyyKH
yyyyyyyyyyyyyyyyyyyyM
yyyyyyyyyyyyyyyyyyyyOH
yyyyyyyyyyyyyyyyyyyyQ8;
yyyyyyyyyyyyyyyyyyyyRH
yyyyyyyyyyyyyyyyyyyyVH
yyyyyyyyyyyyyyyyyyyyWH
yyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyxyyy
yyyyyyyyyyyyyyyyyyyyxyyy[|
yyyyyyyyyyyyyyyyyyyyxyyyyyyy
yyyyyyyyyyyyyyyyyy[yyy
yyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyY8;
yyyyyyyyyyyyyyyyyyyyyv
;yyyyyyyyyyyyyyyyyyyyyy
@yyyyyyyyyyyyyyyyyyyyyy
yyyyyy?yyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyy
yyyyyy?yyyyyyyyyyyyyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyy9yy
yyyyyyyyyyyyyyyyyyyyyyAyyx
yyyyyyyyyyyyyyyyyyyyyyA:yyyyyyA:!
yyyyyy?yyyyyyyyyyyyyyyygxyyyyyy
y	yyyyyyyyyyyyyyyyyyyyyoy4y
yyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyy?yyyyyyyyyyyyyyyyxyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyy
yyyyyyYyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyy|y_y1y
yyyyyyyyyyyyyyyyyyyyyyymy8y
yyyyyyyyyyyyyyyyyyyyyyyoy6y	y
yyyyyy?yyyyyyyyyyyyyyyyyxyyyyyy
.yyyyyyyyyyyyyyyyyyyyyyyy
|yyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyy!
yyyyyyyyyyyyyyyyyyyyyyyy)
yyyyyyyyyyyyyyyyyyyyyyyy]
Yyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyy1
yyyyyyyyyyyyyyyyyyyyyyyy4
yyyyyyyyyyyyyyyyyyyyyyyy8
yyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyya
yyyyyyyyyyyyyyyyyyyyyyyye
yyyyyyyyyyyyyyyyyyyyyyyyE
yyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyiyy]yyy
yyyyyyyyyyyyyyyyyyyyyyyym
yyyyyyyyyyyyyyyyyyyyyyyyM
yyyyyyyyyyyyyyyyyyyyyyyyq
yyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yyyyyyyyyyyyyyyyyyyyyyyyU
yyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyY
yyYyyyyyyyyyyyyyyyyyyyyyy9yy
yyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyA:yyyyyyA:!
y	yyyyyyyyyyyyyyyyyyyyyyyyyky6y	y
yyyyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yyyyyyyyyyyyyyyyyyyyyyyyyyv
yyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyy?yyyyyyyyyyyyyyyyyyyy*y
yyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyby:y
yyyyyyyyyyyyyyyyyyyyyyyyyyyoy:y
yyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyy.yyy]yy.yyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyy0
yyyyyyyyyyyyyyyyyyyyyyyyyyyy1
yyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyA8;
yyyyyyyyyyyYyYyYyYyyyyyyyyyyBy-y'y
yyyyyyyyyyyyyyyyyyyyyyyyyyyy'H
yyyyyyyyyyyyyyyyyyyyyyyyyyyy	iyYoyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyykyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyymyoy
yyyyyyyyyyyyyyyyyyyyyyyyyyyy	ry]myy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyq
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyUiK	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyly6y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyo9
yyyyyyyyyyyyy]yyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyy.y.yyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy[y8y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy_y*y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Yyy]#yy)yyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyay0y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydy:y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyAyyyIyyy	yyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9N
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyygy7y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyly8y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyOy6y	y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyQuyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyyqyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyyuyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyym
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yyaoyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	yyU]yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyyyryyyd
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx
"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yy.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyMy:y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyR)R
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
?yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyB
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyly8y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyixy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYqyy)myy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy.Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yI*7yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy-
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYl
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyYYYYYYYYYYYYYYYYYYYYYYYYYYyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#y4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777y9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUh
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyYYYYYYYYYYYYYYYYYYYYYYYYYYyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyYYYYYYYYYYYYYYYYYYYYYYYYYYyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYQ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(y)W(yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyIyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
?yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqN
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy y)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy@)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyID
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5i
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyMyyy?H"H
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYM
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYS
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyWyyyxyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyAi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeiV
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyiyymyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9c
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvY|
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY1
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYT
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyw
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]yyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2yYX2eiX2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei(
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyD
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYH
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyy-I
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyy#I
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYA
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei4
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.byY.bei.byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'y	e'eie'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYH
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyoy4#
"yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYN
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI@
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei@2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei7#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeiv
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyQ
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy;
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeiM
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY;
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIj
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)r
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY'
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY4
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)5
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy94
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9e
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9k
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYc
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi2
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyio
)yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy3
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9!
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY!
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY;
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYf
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYN
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)!
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY.
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy4
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyw
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)1
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy99
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyeiY
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYV
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYE
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyo
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY9
								
										
												
													
														
																
																		
																								
																															
																																	
                
                          
                                                                               
!!!"!!""##";
"""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 
"""""""""""'
""""*"""
""""*"*"
""""****
""""****"*" 
"""**"*"""
"""******""*""
""*""*""*"""
""***""""
"*""*""""
#####################################################
#((((((("
#((((((((((((''#
'''''''''''''
'(((((("
'((((((("
'(((((((((
(((((''#
((((('('
((((((("
((((((((
(((((((((
((((((((('
((((((((((
((((((((((#
(((((((((('
(((((((((((
((((((((((((
((((((((((((((((((
((((((((((((((((((((
(******#
(*******(
)'''''''''''''
)))))))))))))))))))))))))))))))))))))))))
***"""""""
***"*"" 
****""""
****""*"**"**"
****(*(*(**(
******(**
*******(*(*(*(*(((
*******(**(*(*((((((((
********
*********(*
***********
***************************************************
************************************************************
*****************************************************************
------------
-----------------------------------------------------
----------------------------------------------------------------------
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
|                              |
00006666
0123456789
0123456789.
0123456789abcdef
0123456789ABCDEF
0123456789ABCDEF0
0123456789abcdefABCDEF
0123456789ABCDEFb
0123456789abcdefghijklmnopqrstuvwxyz
01StringCbLength failed!
0575555555555575-
??0bad_cast@@QEAA@AEBV0@@Z
??0bad_cast@@QEAA@PEBD@Z
??0CCBase@DirectUI@@QEAA@KPEBG@Z
??0CCListView@DirectUI@@QEAA@XZ
??0CHString@@QEAA@PEBG@Z
??0CHString@@QEAA@XZ
??0ClassInfoBase@DirectUI@@QEAA@XZ
??0Combobox@DirectUI@@QEAA@XZ
??0CritSecLock@DirectUI@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
"0: Default" means multiple contexts are allowed per device.
??0Edit@DirectUI@@QEAA@XZ
??0Element@DirectUI@@QEAA@XZ
??0ElementProvider@DirectUI@@QEAA@XZ
??0exception@@QEAA@AEBQEBDH@Z
??0exception@@QEAA@AEBQEBD@Z
??0exception@@QEAA@AEBV0@@Z
??0exception@@QEAA@XZ
??0HWNDElement@DirectUI@@QEAA@XZ
??0HWNDHost@DirectUI@@QEAA@XZ
??0_Lockit@std@@QEAA@H@Z
??0NativeHWNDHost@DirectUI@@QEAA@XZ
??0RefcountBase@DirectUI@@QEAA@XZ
??0TaskPage@DirectUI@@QEAA@XZ
0UGGIIHHKNNNOF
(0xFFFFFFFF). This is probably due to an uninitialized stack variable.
100701213655Z
111!000D000w000
111!000D111
111019184142Z
111B000f@@@
120418234838Z
1234567890.
1-2-3 Preloader
1246ab:c:e:fgi:kl:m:no:p:qstvxAB:CD:E:F:GI:J:KL:MNO:PQ:R:S:TVw:W:XYy
1246afhpqrvCc:D:i:l:o:s:S:b:B:F:J:P:R:
127.0.0.1
1.2.840.113556.1.5.284.7
1.3.14.3.2.26
1.3.6.1.4.1.311.54.1.1
1.3.6.1.5.5.7.3.1
1.3.6.1.5.5.7.3.3
150722190254Z
1.7 SecureFX*
190502212436Z
190906204115Z
191113214039Z
191219011459Z
??1AutoLock@DirectUI@@QEAA@XZ
??1bad_cast@@UEAA@XZ
??1CCBase@DirectUI@@UEAA@XZ
??1CCListView@DirectUI@@UEAA@XZ
??1CHString@@QEAA@XZ
??1ClassInfoBase@DirectUI@@UEAA@XZ
??1Combobox@DirectUI@@UEAA@XZ
??1CritSecLock@DirectUI@@QEAA@XZ
??1DUIFactory@DirectUI@@QEAA@XZ
??1Edit@DirectUI@@UEAA@XZ
1eeelttx
??1Element@DirectUI@@UEAA@XZ
??1ElementProvider@DirectUI@@UEAA@XZ
??1exception@@UEAA@XZ
??1HWNDElement@DirectUI@@UEAA@XZ
??1HWNDHost@DirectUI@@UEAA@XZ
??1_Lockit@std@@QEAA@XZ
??1NativeHWNDHost@DirectUI@@UEAA@XZ
??1RefcountBase@DirectUI@@UEAA@XZ
1Safhlnrt
??1TaskPage@DirectUI@@UEAA@XZ
??1type_info@@UEAA@XZ
1YCStream
200131192653Z
200304183039Z
200502212436Z0p1
200722153329Z
2008-02-22
201015172822Z
201204204115Z0
20191206192822Z
20191207010509.629Z0
20191207055517.985Z0
20191207075226Z
20191207192822Z0t0:
20200728045314.49Z0
20200728062602Z
20210108200450.008Z0
20210108200849.472Z0
20210108203804Z
20210109004021Z
20211209082115.407Z0
20211209083826Z
20211210083826Z0t0:
20220822085339Z0
20220822085341Z0
20221020211905Z
20221021042842.817Z0
20221021042935.021Z0
20221109135030.074Z0
20221109135243Z
20221110135243Z0t0:
20230106050500.918Z0
20230106073352Z
20230106073658Z
20230106111227.728Z0
20230107073352Z0t0:
20230107073658Z0t0:
210114190219Z
210122192653Z0p1
210211214039Z0
210303183039Z0p1
210317011459Z0
210429000000Z
210902182341Z
210930182225Z
211202190515Z
2147483647
2.16.840.1.101.3.4.1.42
2.16.840.1.101.3.4.2.1
220112172822Z0
220226000000Z
220302185128Z
220310195805Z
220411190219Z0
220505192313Z
220505192315Z
--.2205n
220822085339Z0)
220822085341Z0)
220901182341Z0p1
221104190125Z
221104190132Z
2222::::
2222222222-2.-3
;22dV::tN
230228190515Z0
230301235959Z0
230308195805Z0
230504192313Z0p1
230504192315Z0p1
230511185128Z0
240202190125Z0
240202190132Z0
--.2454n
250701214655Z0|1
2.5.29.37
261019185142Z0
270418235838Z0
290622193254Z0
290724141512Z0
2dV2:tN:
2#GetMUIHandle
2Microsoft Windows Hardware Compatibility Publisher0
"2: Prohibited" means no contexts are allowed per device (no compute apps).
300930183225Z0|1
301229162923Z0u1
30*p30* 
3.0 SecureCRT*
33303330
333@333 
33333333
33333333A
33333333D
33333333f
33333333H
33333333H#
33333333I
33333333L
33333333L#
360428235959Z0i1
3c]kbOOEM
3des-cbc
??3@YAXPEAX@Z
??4CHString@@QEAAAEBV0@AEBV0@@Z
??4CHString@@QEAAAEBV0@PEBG@Z
4*ppbOutBlob
4:;PPTTCr
4TargetString
4w6wOwPw9
525341310010000003000000000200000000000000000000010001f3d9a4dc78c4a06f086cd63b6e12d1e611e2dfba6690220490eadcc96f5c204218eca500de46922dd1bef85c39042091fc80f1fbc7197d291728801ebf7225a7075f5c99af719765051b3443815526533efb72262888a63f11305a86c1201d6de343569587b2c9c545276248379a4b063276bf7730c6f3e26a3ae08cb3e7918dcbca3fd4d4ebc897a49c7a346ec5cd8457192fbfac174a1437c48b9fd6d1b77f43c44604e6db235b744c1e7374e36a861f00699b1940bd5ae4db67ef8954fa6464e49fa73ac649719cdb9a508ba79080b475944fef90bdd957391dcb52383d96d4ba84375c168850a7a8bdeaba4dcedbfceb3bd20d39ef06a472c5daa669ebbed6efbad9c0ba6ae616e5ca95f28b89b5c330e8b8a49a91b1989ece16d9cfa480f4eab6d32c17bb8cfb339cff486107406d6dc62496433827c71f4cfa8ef1eb5efca98eb2fd497c1b2423b19e7dfb08e28a90a3afdf83fa8c7893c5ea88ac9a04e326dc2adf6e7f7805e80dad6eb4eca862a2a70cb013842d63d9fef855abf6af758105b1daafa6f4588ca4e7838687dfbb162d5c2514045686a7fd7c8c1a806d61516a92559bc7af26cf54872a4facbe4ee2bcfa5db92777eb542c7c3ccf465e795cde5f1d2b7701a240c604b4f9cfc907f06f90ee4b0a3b1894e7fdc0e81d4ff1b98d8b0720d112cb1318bce08f815873aa5c0dd15d269f4060c083fb2bd1df
5(5?X*xT
5psaCreds
5qdUpd42
*66DAGEEGEEHEE
	6FqcZO"
7777mmmm
:::#777jRRR
 778899::p
7DKKKLLNPPQQH
!""87;99::m
88882200..
@8A9x(|KH
8CPCStreamBuffer
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10
8fD91t!A
8fD99t'A
8	RSA_public_decrypt
@8u tHH;](u(I
8WdsSetupLogInit
8Y!u"D9a
@8y)u#D9i
920yku	H
961c151d2e87f2686a955a9be24d316f1362bf21 3.1.2
991224175051Z
9999JJJJLLLLXXXX
9A98u6A9x
9A t	kA 
9Atomu#eH
9hbinu	D;
9hbinueD9Q
9Hostu[H
9NObju[H
9N tLLcG
9regfulE
9Scenario requested is inapplicable.
9] u69]8u1A
 _9u rM9:
)9V3H3oJ
9xLt-9XLt
9z0|dA8x
9z0s:D9z8t
A0H9B0uAH
A89iXt	H
A8A9u!H!A
A8H!A@!AHH!APH
A @8x8uQH
A9kLu:A9kH
A A9B u;I
aaaa5555WWWW
AAAA:  Invalid IPv6 address length
AAAAOOOOgggg
AADTokenFailureCreateProcessTriggered
AAGPHelper::LoadGPProfile failed
A_A]_][Y
A!A!Z2Z2'
abcde12345
A!B!C!D!E!F!G!H!I!2
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
ABHLQUXceghiklopquvxyC:D:E:F:G:I:J:K:M:N:O:P:R:S:T:V:W:Y:Z:a:b:f:g:j:m:n:r:s:t:z:
ABNORMAL_RESET_DETECTED
AbortDoc
abortIfMemoryPressure
Aborting open because stream already closed
AbortSystemShutdownW
About to show deadline approaching dialog so schedule reboot in the background
About to show reboot failed dialog so schedule auto reboot in the background
AboveDispatch
AbsolutePath
A bugcheck occurred during the late stages of hibernate suspend or resume.
acAlarmSignaled
AcceptAutoModeLimit
acceptAutoToEnterAutoInHours
accepted auth socket
accepted x11 socket
accept-new
access denied due to attempt to escape chroot jail
AccessFault
AccessibleObjectFromWindow
AccessMode
Access to system memory supported
AccNotifyTouchInteraction
accounted_processes
Accounted Processes
AccountExpires: 
AccountId
accounting
accounting.buffer_size
Accounting Buffer Size
accounting.mode
accounting_mode
Accounting Mode
accounting_mode_buffer_size
Accounting Mode Buffer Size
AccountName
AccruedTimeSec
AccSetRunningUtilityState
AcDcState
	a complete diagnostic dump for the specified device.
AcOnLineWakeCapability
ACPI BIOS
ACPI_BIOS_ERROR
ACPI_BIOS_FATAL_ERROR
ACPI_DRIVER_INTERNAL
ACPI_FIRMWARE_WATCHDOG_TIMEOUT
AC Power
acPowerOnline
AcPowerOnline
acProgrammedTime
AcpSFileIpFIIrp MutaNtFsNtrfSemaTCPcDfCBEtwBFMsl
AcquireSRWLockExclusive
AcquireSRWLockShared
actionName
ActionQueue.dll
	Actions:
Activate
ActivateActCtx
ActivateReason
?ActivateTooltip@Element@DirectUI@@MEAAXPEAV12@K@Z
?ActivateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@K@Z
ActivationIntervalCount
ActivatorBucketCounts
ActivatorBucketTimesUs
ActivatorTotalTimeUs
	activeBatteryCount
activeBatteryCount
ActiveBucketCounts
ActiveBucketTimesUs
Active Compute Processes
Active Directory repair
activeEngaged
ACTIVE_EX_WORKER_THREAD_TERMINATION
activeHoursApplicable
activeHoursEnd
ActiveHoursEnd
ActiveHoursForcedWarningDialog
Active Hours on the device
ActiveHoursPoliciesSet
Active hours read from registry hook
	ActiveHoursRebootImminentDialog
Active hours reboot policy is configured so checking sbc applicability
activeHoursStart
ActiveHoursStart
Active hours suggestions are needed
Active hours suggestions are not needed
ActiveKernelPatchRundown
ActiveResidency
ActiveSecureKernelPatchRundown
Active Sessions
activeTime
ActiveTime
ActiveTimeBuckets
ActiveTimePerBucket
activeTimes
ActiveTimeZoneBias
ActiveTimeZoneId
ActiveTotalTimeUs
activeTripPoint0
activeTripPoint1
ActiveUserPatchRundown
Active vGPUs
Activity
ActivityError
ActivityFailure
ActivityIntermediateStop
ActivityResults
ActivityStoppedAutomatically
;a"CTSThreadInternal
ActualConfidence
ActualTransitions
AddAccessAllowedAce
addargs: argument too long
Add a synchronous boost group
?AddBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
AddCallback failed!
add_certificate_file
?AddChild@ClassInfoBase@DirectUI@@UEAAXXZ
AddDevice
AddDeviceByInstanceId
added key to store
?Add@Element@DirectUI@@QEAAJPEAV12@@Z
?Add@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
add_file
add_flag_option
AddFontMemResourceEx
AddFontResourceExW
addHypervisorPages
add_identity_file
adding event listener failed on pcstream
additionalInformation
    ADDITIONAL RECORDS:
addkeystoagent
AddLogContainer
AddMetaHeaderAndDumpReport
AddOperation
AddPathToCabContext
AddRadcSchemaToParser failed
?AddRef@ClassInfoBase@DirectUI@@UEAAXXZ
?AddRef@ElementProvider@DirectUI@@UEAAKXZ
?AddRef@RefcountBase@DirectUI@@QEAAJXZ
AddRemoteApplicationToQueueUi failed!
AddReportToMetaReport
Address:
Address already in use
Addresses:
addressfamily
address family not supported
address_family_not_supported
Address family not supported
address in use
address_in_use
address not available
address_not_available
Address not available
Address of a retired page. Address might be different when ECC is Enabled or Disabled.
addr_match_cidr_list
add_string_option
AddStringToComboBox failed!
AddWinLogonHook failed
A device is deleting itself while there is another device beneath it in
AdjustControlSize failed
adjustedWakeTime
AdjustTokenPrivileges
AdjustWindowRectEx
AdjustWindowRectExForDpi
AdjustWindowSize failed
ADllUnregisterServer
AdminAccessMaxAllowedDiffers
AdminAccessRequired
AdminComment
administratively prohibited
administrator
administrators
adminlessAccessGranted
AdminSetDWORDProperty (Authentication) failed
AdminSetDWORDProperty (shutdownafter) failed
AdminSetProperty failed
A driver has added a device object that is not a PDO to a device
A driver has called IoCallDriver without setting the CancelRoutine in
A driver has deleted it's device object during a surprise remove IRP.
A driver has detached it's device object during a surprise remove IRP.
A driver has enumerated two child PDO's that returned identical Device
A driver has marked an IRP pending but didn't return STATUS_PENDING.
A driver has passed an invalid device object to a function that requires
A driver has returned STATUS_PENDING but did not mark the IRP pending
A driver has succeeded IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_RELATIONS(TargetRelations)
A driver is attempting to delete a device object that has already been
A driver's completion routine has not marked the IRP
advapi32.dll
ADVAPI32.dll
?AdviseEventAdded@ElementProvider@DirectUI@@UEAAJHPEAUtagSAFEARRAY@@@Z
?AdviseEventRemoved@ElementProvider@DirectUI@@UEAAJHPEAUtagSAFEARRAY@@@Z
AeComputeProgramIdentityHash
aes128-cbc
aes128-ctr
aes128-gcm@openssh.com
aes192-cbc
aes192-ctr
aes256-cbc
aes256-ctr
aes256-gcm@openssh.com
AES_encrypt
AES_set_encrypt_key
AeWERQueryFileInfo
A(f9X8t*
A"fA9A u
Affffffff-ffff-ffff-ffff-ffffffffffff
A flag that indicates whether accounting mode is enabled for the GPU. Value is either "Enabled" or "Disabled". When accounting is enabled statistics are calculated for each compute process running on the GPU.Statistics can be queried during the lifetime or after termination of the process.The execution time of process is reported as 0 while the process is in running state and updated to actualexecution time after the process has terminated. See --help-query-accounted-apps for more info.
A flag that indicates whether a display is initialized on the GPU's (e.g. memory is allocated on the device for display). Display can be active even when no monitor is physically attached. "Enabled" indicates an active display. "Disabled" indicates otherwise.
A flag that indicates whether a physical display (e.g. monitor) is currently connected to any of the GPU's connectors. "Enabled" indicates an attached display. "Disabled" indicates otherwise.
A flag that indicates whether ECC support is enabled. May be either "Enabled" or "Disabled". Changes to ECC mode require a reboot. Requires Inforom ECC object version 1.0 or higher.
A flag that indicates whether MIG mode is enabled. May be either "Enabled" or "Disabled". Changes to MIG mode require a GPU reset.
A flag that indicates whether power management is enabled. Either "Supported" or "[Not Supported]". Requires Inforom PWR object version 3.0 or higher or Kepler device.
AFS database server
afstokenpassing
AgedCount
AgeFlags
agent contains no identities
Agent forwarding is disabled to avoid man-in-the-middle attacks.
agent not present
agent_process_connection
agent refused operation
agent_start
AgePercent
)aggggkklloooi
aggregate
        Aggregate
AGGREGATE
AggregateClearDevNodeProblem
AggregateDmaGuardDevicePolicy
AggregateInterruptConnection
AggregateSetDevNodeProblem
AggregatorAction
AggregatorIntent
AGP_GART_CORRUPTION
AGP_ILLEGALLY_REPROGRAMMED
AGP_INTERNAL
AGP_INVALID_ACCESS
A GPU reset must occur before this GPU can be used again.
A(H9A t"H
A H9G0v6H
A**** HalpAcpiGetFacsMapping: No FADT found.
AH reboot policy allowed SBC time in hours is retrieved via OneSettings
a	?Initialize@Element@DirectUI@@QEAAJIPEAV12@PEAK@Z
A kernel thread terminated while holding a mutex
A(L9p t(
AlertStatusTimestamp state variable not found
Aliases:
Alignment
Alignment error in the end of file view for CRC checksum
All done.
--all-gpus
All identities removed.
All keys used to sign KRL were revoked
aLLL033C
AllocateAndInitializeSid
allocatedPageCount
allocate memory for myCredsBuf
allocate memory for pCredSharePassword
allocate memory for pCredShareUsername
allocate memory for resultStr
allocate memory for userName
Allocation error in initialization.
allocationFromPartitionFailed
AllocationFromVMMemoryPartitionFailure
alloc memory for m_PreAuthCookie
Alloc NetBuffer
AllowedMitigations
AllowedPromotionFlags
AllowSetForegroundWindow
AllowSetForegroundWindow failed!
AllowSleep
AllowSnooze option : This is unexpected as this is not scheduled by user.
    Allows the caller to pass an explicit list of properties to query.
all records
All remote forwarding requests processed
ALMOSTRO
ALMOSTROZ
AlpcCreateSecurityContext
AlpcGetHeaderSize
AlpcGetMessageAttribute
AlpcInitializeMessageAttribute
already connected
already_connected
Already Initialized
AlreadyLocked
AlreadySet
Also try installing the latest NVIDIA Display Driver.
Alternate shell
(ALTERNATESHELL)
AlwaysOnCounter
AlwaysOnTimer
ambiguous target
Amount memory used on the device by the context. Not available on Windows when running in WDDM mode because Windows KMD manages all the memory not NVIDIA driver.
Amount of time in ms during which the compute context was active.
_amsg_exit
An application has made an attempt to load the C runtime library incorrectly.
Ancalrpc
and its host key have changed at the same time.
and received a STATUS_PENDING response.  This can result in unwinding
                                    and take effect regardless if an app is running.
An IRP dispatch handler has not properly detached from the stack below
An IRP dispatch handler has returned a status that is
An IRP dispatch handler has returned a status that is incorrect
An IRP dispatch handler has returned without passing down or completing
    ANSWERS:
Answers::AddCatchAllAnswer
Answers::AddPackageID
Answers::CreateNode
Answers::CreatePackageNode
Answers::GetAnswer
Answers::GetInteractionXPath
Answers::GetPackageXPath
Answers::GetValuesFromXML
Answers::Instance
Answers::LoadSupportAnswers
Answers::SetAnswer
Answers::SetValuesInXML
    [any one of]
Any PNP IRP must have status initialized to STATUS_NOT_SUPPORTED.
Any Power IRP must have status initialized to STATUS_NOT_SUPPORTED.
Any WMI IRP must have status initialized to STATUS_NOT_SUPPORTED.
AoAcCompliantNic
A PCI fD
APC_INDEX_MISMATCH
APH9A(t4
api-ms-win-appmodel-unlock-l1-1-0.dll
api-ms-win-core-apiquery-l1-1-0.dll
api-ms-win-core-apiquery-l2-1-0.dll
api-ms-win-core-com-l1-1-0.dll
api-ms-win-core-com-l1-1-1.dll
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l1-2-0.dll
api-ms-win-core-console-l2-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-delayload-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-file-l2-1-2.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-heap-l2-1-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-job-l1-1-0.dll
api-ms-win-core-job-l2-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-1.dll
api-ms-win-core-largeinteger-l1-1-0.dll
api-ms-win-core-libraryloader-l1-2-0.dll
api-ms-win-core-libraryloader-l1-2-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-localization-l1-2-2.dll
api-ms-win-core-localization-l2-1-0.dll
api-ms-win-core-localization-obsolete-l1-2-0.dll
api-ms-win-core-localization-private-l1-1-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-path-l1-1-0.dll
api-ms-win-core-privateprofile-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-psapi-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
api-ms-win-core-registry-l1-1-1.dll
api-ms-win-core-registry-l2-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-1.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-string-l2-1-0.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-threadpool-l1-2-0.dll
api-ms-win-core-threadpool-legacy-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-version-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-1.dll
api-ms-win-core-winrt-l1-1-0.dll
api-ms-win-core-winrt-string-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-devices-config-l1-1-1.dll
api-ms-win-eventing-classicprovider-l1-1-0.dll
api-ms-win-eventing-consumer-l1-1-0.dll
api-ms-win-eventing-controller-l1-1-0.dll
api-ms-win-eventing-legacy-l1-1-0.dll
api-ms-win-eventing-provider-l1-1-0.dll
api-ms-win-oobe-notification-l1-1-0.dll
api-ms-win-power-base-l1-1-0.dll
api-ms-win-power-setting-l1-1-0.dll
api-ms-win-rtcore-ntuser-window-l1-1-0.dll
api-ms-win-security-activedirectoryclient-l1-1-0.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-lsalookup-l1-1-0.dll
api-ms-win-security-lsalookup-l2-1-0.dll
api-ms-win-security-lsapolicy-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-service-core-l1-1-0.dll
api-ms-win-service-core-l1-1-1.dll
api-ms-win-service-core-l1-1-2.dll
api-ms-win-service-management-l1-1-0.dll
api-ms-win-service-management-l2-1-0.dll
api-ms-win-service-winsvc-l1-1-0.dll
api-ms-win-shcore-obsolete-l1-1-0.dll
api-ms-win-shcore-path-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-1.dll
api-ms-win-shcore-scaling-l1-1-2.dll
api-ms-win-shcore-stream-l1-1-0.dll
api-ms-win-shcore-taskpool-l1-1-0.dll
api-ms-win-shell-shellfolders-l1-1-0.dll
api-ms-win-shlwapi-winrt-storage-l1-1-0.dll
api-ms-win-stateseparation-helpers-l1-1-0.dll
ApiSetQueryApiSetPresence
AppcompatOptions
appContainer
AppendElement
AppendMenuW
apphelp.dll
AppHelpResources::GetResourceString
AppHelpResources::LoadLibraryPcaModule
ApplicableDisplayChecks
ApplicationRecoveryFinished
ApplicationRecoveryInProgress
    Applications Clocks
Applications Clocks Setting
applicationUserModelId
ApplyCmdLineSettings failed
ApplyRDPSigningSettings failed!
ApplyToControl failed
ApplyTSWASettings failed!
APPMODEL_ERROR_DYNAMIC_PROPERTY_INVALID
APPMODEL_ERROR_DYNAMIC_PROPERTY_READ_FAILED
APPMODEL_ERROR_NO_APPLICATION
APPMODEL_ERROR_NO_MUTABLE_DIRECTORY
APPMODEL_ERROR_NO_PACKAGE
APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT
APPMODEL_ERROR_PACKAGE_NOT_AVAILABLE
APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT
AppPolicyGetProcessTerminationMethod
AppPolicyGetThreadInitializationType
approvedPromotedSeekerUpdateCount
Approved Promoted Seeker update count
AppSessionGuid
AppStartState
AppStateChange
AppStateChangeSummary
APP_TAGGING_INITIALIZATION_FAILED
appwiz.cpl
APPX_E_BLOCK_HASH_INVALID
APPX_E_CORRUPT_CONTENT
APPX_E_DELTA_APPENDED_PACKAGE_NOT_ALLOWED
APPX_E_DELTA_BASELINE_VERSION_MISMATCH
APPX_E_DELTA_PACKAGE_MISSING_FILE
APPX_E_FILE_COMPRESSION_MISMATCH
APPX_E_INTERLEAVING_NOT_ALLOWED
APPX_E_INVALID_APPINSTALLER
APPX_E_INVALID_BLOCKMAP
APPX_E_INVALID_CONTENTGROUPMAP
APPX_E_INVALID_DELTA_PACKAGE
APPX_E_INVALID_ENCRYPTION_EXCLUSION_FILE_LIST
APPX_E_INVALID_KEY_INFO
APPX_E_INVALID_MANIFEST
APPX_E_INVALID_PACKAGESIGNCONFIG
APPX_E_INVALID_PACKAGING_LAYOUT
APPX_E_INVALID_PAYLOAD_PACKAGE_EXTENSION
APPX_E_INVALID_SIP_CLIENT_DATA
APPX_E_MISSING_REQUIRED_FILE
APPX_E_PACKAGING_INTERNAL
APPX_E_RELATIONSHIPS_NOT_ALLOWED
APPX_E_REQUESTED_RANGE_TOO_LARGE
APPX_E_RESOURCESPRI_NOT_ALLOWED
AreDpiAwarenessContextsEqual
AreFileApisANSI
Are you sure you are using nvidia-smi provided with the driver?
Arg list too long
      !args                                  Execute local command
Argument
argument list too long
argument out of domain
A.ROOT-SERVERS.NET.
	a) running as an administrator or
ASARAQAPQRPH
AslAnsiStringCreate
AslEnvBuildBasic
AslEnvExpandStrings
AslEnvExpandStrings2
AslEnvGetProcessWowInfo
AslEnvGetSysNativeDirPathForGuestBuf
AslEnvGetSystem32DirPathBuf
AslEnvVerifyGuestProcessorSupport
AslFileAllocAndGetAttributes
AslFileAttributeToString
AslFileKindDetailToString
AslFileMapping::AttributeToString
AslFileMappingCreate
AslFileMappingCreateFromImageView
AslFileMappingEnsure
AslFileMappingEnsureMappedAs
AslFileMapping::GetAttribute
AslFileMappingGetFileKindDetail
AslFileMappingGetImageTypeEx
AslFileMappingGetNtHeaders
AslFileMapping::InitializeAttributes
AslGuidToString
AslGuidToString_UStr
ASL_LOG FAIL: 
AslPathCleanUstr
AslPathCleanUstr failed with source pointer behind destination pointer.
AslPathCombine
AslPathSplit
AslPathToNetworkPathNt
AslPathToSystemPathBuf
AslPathWildcardFindFirst
AslPathWildcardFindNext
AslpEnvResolveVars
AslpEnvResolveVars failed to fail properly for null buffer
AslpFileGet16BitDescription
AslpFileGet16BitModuleName
AslpFileGetChecksum
AslpFileGetChecksumAttributes
AslpFileGetChecksumAttributes called with a partial view which is not supported
AslpFileGetClrVersion
AslpFileGetClrVersionAttribute
AslpFileGetCrcChecksum
AslpFileGetExeWrapper
AslpFileGetExportName
AslpFileGetFileKindDetailAttribute
AslpFileGetHeaderAttributesNE
AslpFileGetHeaderAttributesPE
AslpFileGetImageNtHeader
AslpFileGetNtHeaderAttributes
AslpFileGetPeExportNameExeWrapper
AslpFileGetVersionAttributes
AslpFileGetVersionBlock
AslpFileHasActiveMarkWrapper
AslpFileLargeEnsureLargeFileMapping
AslpFileLargeGetChecksum
AslpFileLargeGetChecksumAttributes
AslpFileLargeGetCrcChecksum
AslpFileLargeMapCreate
AslpFileMakeStringVersionAttributes
AslpFileMappingGetFileKind
AslpFileQuery16BitDescription
AslpFileQuery16BitModuleName
AslpFileQueryExportName
AslpFileQueryVersionString
AslpFileVerQueryBlock
AslpPathWildcardAllocMatchNode
AslpPathWildcardInitStack
AslpPathWildcardMakeLeaves
AslpPathWildcardPeekNode
AslpPathWildcardPopNode
AslRegistryBuildMachinePath
AslRegistryBuildUserPath
AslRegistryGetKey
AslRegistryGetString
AslRegistryGetStringExpand
AslRegistryGetUInt32
AslRegistryGetUInt32_UStr
AslRegistryOpenKey
AslRegistryOpenSubKey
AslStringAnsiToUnicode
AslStringDuplicate
AslStringDuplicateA
AslStringUpcaseToMultiByteN
AslTelemetryCreate
?AssertPIZeroRef@ClassInfoBase@DirectUI@@UEBAXXZ
ASSERT_V3
assertVersion
ASSIGN_DRIVE_LETTERS_FAILED
AssignedTerminalId
AssignVariantString
AssociateRole failed
ATAUAVAWH
ATDISK_DRIVER_INTERNAL
atime.sec not delimited
atime.sec not present
atime.usec not delimited
_AtlModule.PreMessageLoop failed!
AtlThunk_AllocateData
AtlThunk_DataToCode
atlthunk.dll
AtlThunk_FreeData
AtlThunk_InitData
?AttachCtrlSubclassProc@HWNDHost@DirectUI@@KAXPEAUHWND__@@@Z
attached_gpus
Attached GPUs
attached to anything. This may occur if detach was called twice on the
attached_units
Attached Units
ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
Attempted override of sensitive settings for signed file
ATTEMPTED_SWITCH_FROM_DPC
ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE
ATTEMPTED_WRITE_TO_READONLY_MEMORY
Attempting auto reboot
Attempting Auto Reboot for QualityUpdate while in Engaged
Attempting enhanced auto reboot
Attempting forced reboot
Attempting interactive reboot
Attempting interactive reboot for Mandatory updates
Attempting interactive reboot when policies are configured
Attempting intermediate auto reboot
Attempting soft forced reboot
Attempting soft force reboot
Attempting to show Notification
Attempting ultimate auto reboot
Attempting ultimate forced reboot
- Attempt to initialize the CRT more than once.
Attempt to release SDB handle that still has unreleased duplicates.
attempt to sign with invalid signer certificate
- Attempt to use MSIL code from this assembly during native code initialization
Attention required reason is out of range
Attributed
attributes
_AttributesFromAsl
_AttributesFromBOE
_AttributesFromHashing
_AttributesFromPath
_AttributesFromRunLevelInfo
_AttributesFromSignatureInfo
Attribute size doesn't match
.?AU_ATL_MODULE70@ATL@@
.?AUctype_base@std@@
AudioPlayback
AudioPlayed
AUDIT_FAILURE
audit.pdb
AuditShD.pdb
.?AUhresult_access_denied@winrt@@
.?AUhresult_canceled@winrt@@
.?AUhresult_changed_state@winrt@@
.?AUhresult_class_not_available@winrt@@
.?AUhresult_error@winrt@@
.?AUhresult_illegal_delegate_assignment@winrt@@
.?AUhresult_illegal_method_call@winrt@@
.?AUhresult_illegal_state_change@winrt@@
.?AUhresult_invalid_argument@winrt@@
.?AUhresult_no_interface@winrt@@
.?AUhresult_not_implemented@winrt@@
.?AUhresult_out_of_bounds@winrt@@
.?AUhresult_wrong_thread@winrt@@
.?AUIBackgroundCopyCallback@@
.?AUIBackgroundCopyCallback2@@
.?AUIFailureCallback@details@wil@@
.?AUinput_adapter_protocol@detail@nlohmann@@
.?AUIPaintListener@@
.?AUIPaintPublisher@@
.?AUIPersist@@
.?AUIPersistStorage@@
.?AUIPrintDialogCallback@@
.?AUISequentialStream@@
.?AUIStream@@
.?AUIStylusAsyncPlugin@@
.?AUIStylusPlugin@@
.?AUIUIApplication@@
.?AUIUICommandHandler@@
.?AUIUISimplePropertySet@@
.?AUIUnknown@@
.?AUIWiaDataCallback@@
.?AUIWiaEventCallback@@
.?AUIWiaProgressDialog@@
aUJ6[WT!LGC
.?AUKeyMaterial@Properties@@
A:	upA:I
AUser logged in : 
.?AUSoftwareKeyMaterial@Properties@@
auth-agent@openssh.com
auth-agent-req@openssh.com
authContext
authCookie
AuthenticAMD
authenticated
Authenticated with partial success.
authentication agent connection
Authentication failed.
AuthenticationType
authmethods_get
auth-only 
    AUTHORITY RECORDS:
AuthUsesFlags
Auto accept is already shown so scheduling ultimate forced reboot next
Auto accept is not shown so attempting to show forced precursor
AutoAssignToTerminal0
auto_boost
Auto Boost
auto_boost_default
Auto Boost Default
AUTOENABLE
autoEnterToForcedModeInHours
autoEnterToIntermediateAutoInHours
AutonomousActivityWindow
AutonomousPreference
Auto reboot
autoRebootAllowed
Auto reboot attempt failed so rescheduling the dialog
Auto reboot dialog schedule - Next predicted time is in forced reboot.
autoRebootEscalated
Auto reboot escalation percentage for escalation window is coming from OneSettings
Auto reboot limit passed in hours:
autoRebootPercentage
Auto reboot percentage for escalation window is coming from OneSettings
Auto reboot set in hours from pending reboot:
AutoRestartCountdownMinutesSet
AutoRestartDeadlineForFUConfigured
AutoRestartDeadlineForNonFUConfigured
AutoRestartImminentWarningMinutes
AutoRestartReminderConfigured
AutoRestartReminderMinutes
AutoRestartReminderOption
AutoRestartRequiredNotificationConfigured
AutoRestartWarningConfigured
AutoRestartWarningReminderHours
Auto sceduled reboot failed so we will show reboot failed dialog
Auto scheduled reboot so checking for valid time
AutoToAutoFailedLimit
.?AUTpmKeyMaterial@Properties@@
.?AUValue@@
AuxiliaryCounter
.?AV_AFX_DLL_MODULE_STATE@@
.?AVAFX_MODULE_STATE@@
Available commands:
AvailablePages
.?AVbad_alloc@std@@
.?AVbad_array_new_length@std@@
.?AVbad_cast@@
.?AVbad_exception@std@@
.?AVbad_function_call@std@@
.?AVbad_optional_access@std@@
.?AVbad_weak_ptr@std@@
.?AVBitmap@Gdiplus@@
.?AVBrush@Gdiplus@@
.?AVCAbstractSelectionTool@@
.?AVCAirBrushTool@@
.?AVCAppletPopoutButton@@
.?AVCAppletStatusBar@@
.?AVCAppletZoomControl@@
.?AVCApplication@@
.?AVCAtlException@ATL@@
.?AVCAtlModule@ATL@@
.?AVCAttrEdit@@
.?AVCAttribute@@
.?AVCAutoShapeTool@@
.?AVCAutoShapeToolCreatingState@@
.?AVCAutoShapeToolInitState@@
.?AVCAutoShapeToolModifyingState@@
.?AVCAutoStartDlg@@
.?AVCBackgroundCopyCallback@office@@
.?AVCBezierTool@@
.?AVCBezierToolCreatingState@@
.?AVCBezierToolInitState@@
.?AVCBezierToolModifyingState@@
.?AVCBitmap@@
.?AVCBitmapObj@@
.?AVCBmObjSequence@@
.?AVCBmpStream@@
.?AVCBootIniAdvancedDlg@@
.?AVCBrush@@
.?AVCBrushTool@@
.?AVCBrushToolCreatingState@@
.?AVCBrushToolInitState@@
.?AVCBrushToolModifyingState@@
.?AVCButton@@
.?AVCByteArray@@
.?AVCCaligraphicBrushTool@@
.?AVCCaligraphicBrushToolCreatingState@@
.?AVCCaligraphicBrushToolInitState@@
.?AVCCaligraphicBrushToolModifyingState@@
.?AVCCanvas@@
.?AVCChatWorkItem@@
.?AVCCmdTarget@@
.?AVCCmdUI@@
.?AVCColorGallerySite@@
.?AVCColors@@
.?AVCCommonDialog@@
.?AVCComObjectRootBase@ATL@@
.?AVCControlBar@@
.?AVCDataCallback@@
.?AVCDataSource@@
.?AVCDialog@@
.?AVCDocItem@@
.?AVCDocument@@
.?AVCDragger@@
.?AVCDrawAutoShapeOperation@@
.?AVCDrawBezierOperation@@
.?AVCDrawLineOperation@@
.?AVCDrawPolygonOperation@@
.?AVCDrawRectAutoShapeOperation@@
.?AVCDrawShapeOperation@@
.?AVCDrawStrokeOperation@@
.?AVCDummyCmdUI@@
.?AVCEmptyStateChangeArg@@
.?AVCEraserTool@@
.?AVCEventCallback@@
.?AVCEventPublisher@@
.?AVCException@@
.?AVCFileException@@
.?AVCFileFormatException@@
.?AVCFileWorkItem@@
.?AVCFlipStateChangeArg@@
.?AVCFloatThumbNailView@@
.?AVCFloodTool@@
.?AVCFont@@
.?AVCFontSite@@
.?AVCFrameWnd@@
.?AVCFreehandSelectTool@@
.?AVCFreehandTool@@
.?AVCFullScreenThumbNailView@@
.?AVCGdiObject@@
.?AVCGenericCommandSite@@
.?AVCGenericGallerySite@@
.?AVCGenericSite@@
.?AVCHeap_Exception@@
.?AVCImageAttr@@
.?AVCImagingMgr@@
.?AVCImgBrush@@
.?AVCImgTool@@
.?AVCImgWnd@@
.?AVCInvertColorStateChangeArg@@
.?AVCLineTool@@
.?AVCLineToolCreatingState@@
.?AVCLineToolInitState@@
.?AVCLineToolModifyingState@@
.?AVCLiveDataSource@@
.?AVCMarshalStream@CMarshaledInterface@@
.?AVCMemoryException@@
.?AVCMenu@@
.?AVCMessageMap@ATL@@
.?AVCMiniFrmWnd@@
.?AVCMouseStylusHandler@@
.?AVCMSConfigApp@@
.?AVCMSConfigSheet@@
.?AVCMSFTRichEditCtrl@@
.?AVCMSInfo5Category@@
.?AVCMSInfo7Category@@
.?AVCMSInfoCategory@@
.?AVCMSInfoColumn@@
.?AVCMSInfoFile@@
.?AVCMSInfoLiveCategory@@
.?AVCMSInfoTextFile@@
.?AVCNarratorBridge@@
.?AVCNFO6DataSource@@
.?AVCNFO7DataSource@@
.?AVCNoTrackObject@@
.?AVCObject@@
.?AVCOleDocument@@
.?AVCOleLinkingDoc@@
.?AVCOleServerDoc@@
.?AVCOleServerItem@@
.?AV_com_error@@
.?AVCOperation@@
.?AVCOperationStockImpl@@
.?AVCPageBase@@
.?AVCPageBootIni@@
.?AVCPageGeneral@@
.?AVCPageServices@@
.?AVCPageStartup@@
.?AVCPageTool@@
.?AVCPaintPolygonTool@@
.?AVCPaintPolygonToolCreatingState@@
.?AVCPaintPolygonToolInitState@@
.?AVCPaintPolygonToolModifyingState@@
.?AVCPaintPreviewView@@
.?AVCPaintPrimitive@@
.?AVCPaintShape@@
.?AVCPaintTool@@
.?AVCPaintToolGallerySite@@
.?AVCPaintToolManager@@
.?AVCPaintToolProxy@@
.?AVCPalette@@
.?AVCPBApp@@
.?AVCPBDoc@@
.?AVCPBFrame@@
.?AVCPBSrvrItem@@
.?AVCPBView@@
.?AVCPen@@
.?AVCPencilTool@@
.?AVCPencilToolCreatingState@@
.?AVCPencilToolInitState@@
.?AVCPencilToolModifyingState@@
.?AVCPickColorTool@@
.?AVCPointStateChangeArg@@
.?AVCPreviewView@@
.?AVCPrimitiveArc@@
.?AVCPrimitiveBezier@@
.?AVCPrimitiveEllipse@@
.?AVCPrimitiveLine@@
.?AVCPrimitiveRoundedRect@@
.?AVCPrintDialog@@
.?AVC_PrintDialogEx@@
.?AVCPrintResObj@@
.?AVCProgressCtrl@@
.?AVCProgressDialog@@
.?AVCPropertyPage@@
.?AVCPropertySheet@@
.?AVCRAEventSink@@
.?AVCRebootDlg@@
.?AVCRectStateChangeArg@@
.?AVCRectTool@@
.?AVCRectToolCreatingState@@
.?AVCRgn@@
.?AVCRibbonBar@@
.?AVCRotateStateChangeArg@@
.?AVCRTSPacketHandler@@
.?AVCRTSStylusHandler@@
.?AVCRulerBar@@
.?AVCRulerFiller@@
.?AVCScrollView@@
.?AVCSelectTool@@
.?AVCShapeModesGallery@@
.?AVCShapeTool@@
.?AVCShapeToolCreatingState@@
.?AVCShapeToolInitState@@
.?AVCShapeToolModifyingState@@
.?AVCSimplePropertySet@@
.?AVCSkeletalStrokeTool@@
.?AVCSkeletalStrokeToolCreatingState@@
.?AVCSkeletalStrokeToolInitState@@
.?AVCSkeletalStrokeToolModifyingState@@
.?AVCSliderCtrl@@
.?AVCStatBar@@
.?AVCStateChangeArgs@@
.?AVCStatic@@
.?AVCStatusBar@@
.?AVCStretchSkewDlg@@
.?AVCStrokeTool@@
.?AVCStrokeToolCreatingState@@
.?AVCStrokeToolInitState@@
.?AVCStrokeToolModifyingState@@
.?AVCStylusHandler@@
.?AVCTedit@@
.?AVCTempBitmap@@
.?AVCTextTool@@
.?AVCThumbNailView@@
.?AVCToolItem@@
.?AVCToolSizeGallerySite@@
.?AVCToolStateStockImpl@@
.?AVCUndoAdapter@@
.?AVCUndoBmObj@@
.?AVCView@@
.?AVCWIAMgr@@
.?AVCWinApp@@
.?AVCWindow@ATL@@
.?AVCWinThread@@
.?AVCWMIHelper@@
.?AVCWMILiveHelper@@
.?AVCWMILiveObject@@
.?AVCWMILiveObjectCollection@@
.?AVCWMIObject@@
.?AVCWMIObjectCollection@@
.?AVCWnd@@
.?AVCWorkItem@@
.?AVCZoomTool@@
.?AVDontUseNewUseMake@Details@WRL@Microsoft@@
average_fps
Average FPS
Average FPS of all sessions running on the GPU.
average_latency
Average Latency
Average latency in microseconds of all sessions running on the GPU.
.?AVerror_category@std@@
.?AVexception@@
.?AVexception@detail@nlohmann@@
.?AVexception@std@@
.?AVfacet@locale@std@@
.?AVfailure@ios_base@std@@
.?AVGdiplusBase@Gdiplus@@
.?AVhresult_error_categoryImpl@common@office@@
.?AVHResultException@@
.?AVIAppGalleryService@@
.?AVIAppRibbonService@@
.?AVIBitmapResourceManager@@
.?AVIDeltaInputListener@@
.?AV_IDispEvent@ATL@@
.?AVImage@Gdiplus@@
.?AVinput_buffer_adapter@detail@nlohmann@@
.?AVinvalid_argument@std@@
.?AVinvalid_iterator@detail@nlohmann@@
.?AVios_base@std@@
.?AVIPaintAppServices@@
.?AVIPaintImageUtilities@@
.?AVIPaintUndo@@
.?AVIRTSReciever@@
.?AVIToolState@@
.?AVIUIRibbonService@@
.?AVIZoomListener@@
.?AVjson_exception@json@web@@
.?AVlength_error@std@@
.?AVlogic_error@std@@
.?AVLogProvider@@
.?AVNgcIsoAddContainer@LogProvider@@
.?AVNgcIsoAddProtector@LogProvider@@
.?AVNgcIsoAuthenticateProtector@LogProvider@@
.?AVNgcIsoClaimPregenKey@LogProvider@@
.?AVNgcIsoCloseBuffer@LogProvider@@
.?AVNgcIsoCloseContainer@LogProvider@@
.?AVNgcIsoContainerImpl@@
.?AVNgcIsoContainerImportBuffer@LogProvider@@
.?AVNgcIsoContainerOpenBuffer@LogProvider@@
.?AVNgcIsoCreateBuffer@LogProvider@@
.?AVNgcIsoCreateSoftwareKey@LogProvider@@
.?AVNgcIsoCreateTpmKey@LogProvider@@
.?AVNgcIsoDecryptData@LogProvider@@
.?AVNgcIsoDeserializePregenKey@LogProvider@@
.?AVNgcIsoDuplicateTicket@LogProvider@@
.?AVNgcIsoExportData@LogProvider@@
.?AVNgcIsoExportTpmCounterStore@LogProvider@@
.?AVNgcIsoFinalizeContainer@LogProvider@@
.?AVNgcIsoFinalizePregenTpmKey@LogProvider@@
.?AVNgcIsoFinalizeTpmKey@LogProvider@@
.?AVNgcIsoGetAuthorizationNonce@LogProvider@@
.?AVNgcIsoGetContainerTrustLevel@LogProvider@@
.?AVNgcIsoImportData@LogProvider@@
.?AVNgcIsoImportRsaKey@LogProvider@@
.?AVNgcIsoInitializeTpmCounterStore@LogProvider@@
.?AVNgcIsoInitializeTpm@LogProvider@@
.?AVNgcIsoIsTicketAuthenticated@LogProvider@@
.?AVNgcIsoIsTicketCacheEmpty@LogProvider@@
.?AVNgcIsoOpenContainer@LogProvider@@
.?AVNgcIsoPregenTpmKey@LogProvider@@
.?AVNgcIsoReleaseAllCacheWhileUnlockedTickets@LogProvider@@
.?AVNgcIsoReleaseAllTickets@LogProvider@@
.?AVNgcIsoReleaseTicket@LogProvider@@
.?AVNgcIsoRemoveContainer@LogProvider@@
.?AVNgcIsoRemoveProtector@LogProvider@@
.?AVNgcIsoSerializePregenKey@LogProvider@@
.?AVNgcIsoSignHash@LogProvider@@
.?AVNgcIsoTerminate@LogProvider@@
.?AVNgcIsoVsmContainerImpl@@
.?AVOfdeployModule@@
.?AVother_error@detail@nlohmann@@
.?AVout_of_range@detail@nlohmann@@
.?AVout_of_range@std@@
.?AVoverflow_error@std@@
.?AVPaintRecoveryCallback@@
.?AVparse_error@detail@nlohmann@@
.?AVPGSBitmap@PGS@@
.?AVPGSBrush@PGS@@
.?AVPGSSkeletalStrokeBitmap@PGS@@
.?AVPGSSolidBrush@PGS@@
.?AVPGSTextureBrush@PGS@@
.?AVPGSTextureSkeletalStrokeBrush@PGS@@
.?AVRecoveryCallback@@
.?AV_Ref_count_base@std@@
.?AVregex_error@std@@
.?AVResultException@wil@@
.?AVRuntimeClassBase@Details@WRL@Microsoft@@
.?AVruntime_error@std@@
.?AVSafeIntException@@
.?AVSafeIntException@utilities@msl@@
.?AVSolidBrush@Gdiplus@@
.?AVsystem_error@std@@
.?AV_System_error@std@@
.?AVTextureBrush@Gdiplus@@
.?AVTraceLoggingProvider@wil@@
.?AVTrustletLifetime@LogProvider@@
.?AVtype_error@detail@nlohmann@@
.?AVtype_info@@
.?AVwin32_error_categoryImpl@common@office@@
.?AVWin32Exception@@
.?AVXGenericCommandSiteCommandHandler@CGenericCommandSite@@
.?AVXGenericGallerySiteCommandHandler@CGenericGallerySite@@
.?AVXPBPersistStg@CPBDoc@@
.?AVXPrintDialogCallback@C_PrintDialogEx@@
.?AVXRibbonApplication@CApplication@@
.?AVXSimplePropSet@CSimplePropertySet@@
Aw6w3wIw9
AWAVAUATWVUSH
AWRDACPI
""""**b"
""*"*****""""b
"*"***""*"b
"*"****""*"**"b
B0A9F0r#H
B0f9A0uM
B49A4uEL
B94 e[S:
BackgroundActivityPolicyUpdate
background ssh (when waiting for connections to terminate)
bad address
bad_address
Bad address
bad allocation
bad array new length
bad cast
BAD ERROR VALUE
bad exception
BAD_EXHANDLE
bad file descriptor
bad_file_descriptor
Bad file descriptor
Bad forwarding close specification.
Bad forwarding specification.
bad function call
BadIDMode::Run
bad key type
bad locale name
Badly encoded mechanism OID received
bad message
Bad message
bad mode
BAD_OBJECT_HEADER
Bad optional access
bad permissions
BAD_POOL_CALLER
BAD_POOL_HEADER
BAD_SYSTEM_CONFIG_INFO
bad_weak_ptr
Bank Remap Availability Histogram
BAR1 Memory
bar1_memory_usage
    BAR1 Memory Usage
Base64StringToBinary failed
BaseCheckSum
 Base Class Array'
 Base Class Descriptor at (
base-clocks
 BASE CLOCKS:
    Base Clocks --   List base clocks.
    base-clocks                 Query GPU base clocks. "nvidia-smi base-clocks -h" for more information. 
__based(
    based on the width of terminal window. Monitoring is limited to
BaseName
BaseSystemVpn
BaseTimeDateStamp
BaseVideo
Batch file already specified.
batchmode
batteryActionInternalFlags
batteryCapacity
BatteryCapacity
batteryCharge
BatteryCharge
BatteryChargeLevel
Battery charge limiting mode
BatteryChargeLimitingMode
BatteryChargePercentageChange
Battery Charging
batteryChargingState
Battery charging state adequate
Battery charging state power supply present
BatteryCommonStatusAtAlarmTrigger
batteryCount
Battery Critical
batteryDelta
batteryDischarging
Battery Discharging
BatteryDischarging
BatteryEnergyChange
Battery estimate suppressed
BatteryFullCapacityOnEnter
BatteryFullChargeCapacityOnExit
batteryLevel
batteryLow
batteryMilliPercentCapacity
batteryNumber
BatteryRemainingCapacityOnEnter
BatteryRemainingCapacityOnExit
Battery saver is enabled so postponing the reboot
Battery State
BatteryStateNotification
BatteryStatusAtAlarmTrigger
batteryThreshold
BatteryTriggerFlagsUpdated
BatteryTriggerMet
batteryTriggerSetFlag
batteryTriggerSystemFlag
batteryTriggerUserFlag
batteryUsbWeakCharger
"***b""b
"*b"b""*"""" 
BBBB))))A
BBBBBBBBBBBBBBB
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
BBBBhhhhAAAA
           [-b bind_address] [-c cipher_spec] [-D [bind_address:]port]
BC_BLUETOOTH_VERIFIER_FAULT
BC_BTHMINI_VERIFIER_FAULT
bcccggggfv
BcdCloseObject
BcdCloseStore
BcdCreateObject
BcdDeleteElement
BcdDeleteObject
BcdDeleteObjectReferences
BcdEnumerateObjects
BcdExportStore
bcdfghklmnprstvz
BcdGetElementData
BcdImportStoreWithFlags
BcdOpenObject
BcdOpenStoreFromFile
BcdOpenSystemStore
BcdQueryObject
BcdSetElementData
BCryptCloseAlgorithmProvider
BCryptCreateHash
BCryptDecrypt
BCryptDestroyHash
BCryptDestroyKey
bcrypt.dll
BCryptEncrypt
BCryptExportKey
BCryptFinalizeKeyPair
BCryptFinishHash
BCryptGenerateKeyPair
BCryptGenerateSymmetricKey
BCryptGenRandom
BCryptGetProperty
BCryptHashData
BCryptImportKey
BCryptImportKeyPair
BCryptOpenAlgorithmProvider
BCryptSetProperty
BCryptSignHash
BCryptVerifySignature
be broken.
Before invoking reboot: Ignoring system needed reason in Auto mode because of overriding setting.
Before invoking reboot: Ignorning system needed reason in Auto mode because of overriding setting.
-----BEGIN
Beginning
Beginning handle dump:
-----BEGIN OPENSSH PRIVATE KEY-----
BeginPaint
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
---- BEGIN SSH2 PUBLIC KEY ----
-----BEGIN SSH SIGNATURE-----
_beginthreadex
being passed down stack. Failed PNP IRPs must be completed.
being passed down stack. Failed POWER IRPs must be completed.
BGFX system font initialization failure!
BGI_DETECTED_VIOLATION
BgkDisplayCharacter
BgkGetConsoleState
BgkGetCursorState
BgkSetCursor
BH9AHu4H
bignum is negative
bignum is too large
BigStrcat
BinaryToBase64String failed
BinaryToHexString
bindaddress
bindinterface
BindInterface not supported on this platform.
BinFileVersion
BIO_ctrl
BIO_free
BIO_s_mem
BIO_write
bitlocker                       
BITLOCKER_FATAL_ERROR
Bitmask of active clock throttle reasons. See nvml.h for more details.
Bitmask of supported clock throttle reasons. See nvml.h for more details.
"*b""""j***"'
blackbox - ACPI
blackbox - BSD
blackbox - CI
blackbox - CrashedProcess
blackbox - DEVICECOMPLETIONQUEUE
blackbox - DXG-DISPLAY
blackbox - Explorer core startup
blackbox - Explorer logon tasks
blackbox - NTFS
blackbox - PDCLOCK
blackbox - PEPWORKORDER
blackbox - PNP
blackbox - PNPDELAYEDREMOVEWORKER
blackbox - PNPEVENTWORKER
blackbox - POIRP
blackbox - POWERWATCHDOG
blackbox - SCM
blackbox - User mode LKD API caller data
blackbox - UsoCommit
blackbox - WHEA
blackbox - Winlogon
blackbox - WINLOGON-NOTIFY
blob_section
BlockerGuid
BlockerType
Blocking
Blocking apps limit get from Grace Deadline Configuration:
Blocking apps limit read from OneSettings:
BlockInput
BlockNonCetBinaries
BLUETOOTH_ERROR_RECOVERY_LIVEDUMP
BMggmgmmmmmmmmmmmmomooommm
BN_add failed
BN_add_word
BN_add_word failed
BN_bin2bn
BN_bin2bn failed
BN_bn2bin
BN_bn2hex
BN_clear_free
BN_copy: failed
BN_CTX_free
BN_CTX_get
BN_CTX_new
BN_CTX_new failed
BN_CTX_start
BN_hex2bn
BN_hex2bn failed
BN_is_bit_set
BN_is_prime_ex
BN_is_prime_ex failed
BN_lshift
BN_lshift failed
BN_mod_word
BN_new failed
BN_num_bits
BN_print_fp
BN_rand failed
BN_rshift
BN_rshift failed
BN_set_bit
BN_set_bit: failed
BN_set_word
BN_set_word failed
BN_value_one
_B_NwEwZwIwG
board_id
Board ID
board_temp
boost-slider
 BOOST SLIDER:
    Boost Slider --   Control and list all boost sliders.
    boost-slider                Control and query boost sliders. "nvidia-smi boost-slider -h" for more information. 
BootConfig
BOOTING_IN_SAFEMODE_DSREPAIR
BOOTING_IN_SAFEMODE_MINIMAL
BOOTING_IN_SAFEMODE_NETWORK
BootLoaderDiagnosticInformation
BOOTLOG_ENABLED
BOOTLOG_LOADED
BOOTLOG_NOT_LOADED
BOOTLOGO
BootMode
BootPhase
BOOTPROC_INITIALIZATION_FAILED
BootTime
BootTimeUTC
BOOTVID.dll
BounceBufferNeeded
BOUND_IMAGE_UNSUPPORTED
""""*****"b"*"*"p
brace_expand
        Bridge Chip
bridge_chip_fw
bridge_chip_type
BringWindowToTop
Broadcasting WM_QUERYENDSESSION returned
Broadcasting WM_QUERYENDSESSION timed out.
Broadcast message result
BroadcastTreeErrorRecord
BroadcastTreeId
BroadcastTreeStatistics
broken pipe
Broken pipe
Broker calling USO to start PostInstall
Broker is ready to launch a notification
Broker launched with no arguments
Broker message
Broker not taking action because machine power state and task args dont match.
Broker taking action because machine power state and task args match.
BrowserSink::Close
BrowserSink::Init
BrowserSink::OnAnchorClick
BrowserSink::OnClick
BrowserSink::SinkHTMLDocumentEvents
BrowserSink::TranslateAcceleratorW
B	RSA_sign
bsearch_s
bstrActivityIdCookieHeader.Append(cookie contents) failed
bstrActivityIdCookieHeader.Append(postfix) failed
bstrActivityIdCookieHeader.Append(prefix) failed
bstrAllResourcesXPath.Append failed
bstrAllStatusXPath.Append failed
bstrAllTenantURLsXPath.Append failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_CONSENTSTATUS) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_CONTACTEMAIL) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_DEMO) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_FEEDURL) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_TENANTDEFAULTDOMAIN) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_TENANTDISPLAYNAME) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_TENANTID) failed
bstrAttributeName.Append(TS_DISCOVERY_TENANTFEEDURL_ATTRIBUTE_WORKSPACENAME) failed
bstrAttributeName.Append(TS_WORKSPACE_RESOURCE_ATTRIBUTE_ALIAS) failed
bstrAttributeName.Append(TS_WORKSPACE_RESOURCE_ATTRIBUTE_ID) failed
bstrAttributeName.Append(TS_WORKSPACE_RESOURCE_ATTRIBUTE_TITLE) failed
bstrAuthCookieHeader.Append(cookie contents) failed
bstrAuthCookieHeader.Append(postfix) failed
bstrAuthCookieHeader.Append(prefix) failed
bstrClientVersionHeader.Append(bstrHeaderName) failed
bstrClientVersionHeader.Append(bstrHeaderValue) failed
bstrClientVersionHeader.Append(postfix) failed
bstrDirectoryPath.Append(root) failed
bstrDirectoryPath.Append(subdirectory) failed
bstrDisplayFolderAttributeName.Append failed
bstrFilePath.Append(filename) failed
bstrFilePath.Append(ico extension) failed
bstrFilePath.Append(icon folder) failed
bstrFilePath.Append(png extension) failed
bstrFilePath.Append(resource folder) failed
bstrFolderNameAttributeName.Append failed
bstrFoldersXPath.Append failed
bstrHostingServerAttributeName.Append failed
bstrHostingServerXPath.Append failed
bstrIconsXPath.Append failed
bstrIfNoneMatchHeader.Append(m_bstrPreviousETag) failed
bstrIfNoneMatchHeader.Append(postfix) failed
bstrIfNoneMatchHeader.Append(prefix) failed
bstrLBInfo
bstrPropertyName.Append failed
bstrPublisherAttributeName.Append failed
bstrPublisherXPath.Append failed
bstrRDPFileName
bstrResourceFileExtensionAttributeName.Append failed
bstrResourceFileUrlAttributeName.Append failed
bstrResourceFileXPath.Append failed
bstrStagedFiles.AppendBSTR(staged directory) failed
bstrStagedFiles.Append(wildcard) failed
bstrSupportsWorkspaceReconnectAttributeName.Append failed
bstrTenantFeedURLsAttributeUserIdType.Append failed
bstrTypeAttributeName.Append failed
bstrUrlExtraInfo.Append(empty string) failed
bstrUrlExtraInfo.Append failed
bstrUrlPath.Append(empty string) failed
bstrUrlPath.Append failed
bstrWorkspaceIdAttributeName.Append failed
bstrWorkspaceRoot.Append(directory name) failed
bstrWorkspaceRoot.Append(root) failed
bstrWorkspaceRoot.Append(seperator) failed
Bt9Jxt	I9
BT_E_SPURIOUS_ACTIVATION
	b) there is not at least one TCC device in the system
Bucket16s
Bucket1m
Bucket2s
BucketMaxim
bucketNumber
bucketThresholds
bufferAllocationScheme
buffer error
buffer_get_bignum_bits
BufferLength
bufferType
BugcheckEnabled
BUGCODE_ID_DRIVER
BUGCODE_MBBADAPTER_DRIVER
BUGCODE_NDIS_DRIVER
BUGCODE_NDIS_DRIVER_LIVE_DUMP
BUGCODE_NETADAPTER_DRIVER
BUGCODE_USB3_DRIVER
BUGCODE_USB_DRIVER
BUGCODE_WIFIADAPTER_DRIVER
build_commandline_string
BuildNumber
BuildSecurityDescriptorW
BuildTrusteeWithNameW
BuildTrusteeWithSidW
BuildUpPackage
Built-in SkipDriverUnload shims: failed to register.
Built-in Win7 version lie shims: failed to register.
Built-in Win8.1 version lie shims: failed to register.
Built-in Win8 version lie shims: failed to register.
BUNDLE_ERROR_EVENT
BURNMEMORY
(BusQueryCompatibleIDs)
(BusQueryDeviceID)
(BusQueryHardwareIDs)
(BusQueryInstanceID)
(BusRelations)
but didn't properly fill out the request or forward the IRP to the
but keys of different type are already known for this host.
but the PDO is still present! Bus filters must clean up in FastIoDetach
bVLe@73K
bye                                Quit sftp
ByteCountInPushMessage
bytesWritten
C0H9C(u*H
(c) 1999 Entrust.net Limited1301
c28fc6f98a2c44abbbd89d6a3037d0d9_POSIX_FD_STATE
C2C_ERROR
C8A9PXv-
C8M90tXH
C8M98tUH
C9fD9?u-
C(9G(uMH
    -caa  --clear-accounted-apps
CabAndUploadFiles
CabConfigFileCheck
Cabinet.dll
CACHEALI
CACHEALIGN
CACHEALIGNZ
CACHE_E_NOCACHE_UPDATED
CACHE_INITIALIZATION_FAILED
CACHE_MANAGER
CACHE_S_FORMATETC_NOTSUPPORTED
CACHE_S_SAMECACHE
CACHE_S_SOMECACHES_NOTUPDATED
cacheToClear
cacheType
Caching is disabled by incorrect MTRR settings.
cadence in hours:
CAirBrushTool
CalcHmacCredHashWorker
CalcMd5CredHash
CalculateSecureSettingsLength failed
California1
CallbackDef
CallbackGuidDef
callbacks.
callContext
Caller has changed the information field of an IRP it does not understand.
Caller has changed the status field of an IRP it does not understand.
Caller has completed a IRP_MJ_PNP it didn't understand instead of
Caller has completed successful IRP_MJ_PNP instead of passing it down.
Caller has completed untouched IRP_MJ_PNP (instead of passing the irp
Caller has forwarded an Irp while skipping a device object in the stack.
Caller has manually copied the stack and has inadvertantly copied the
Caller has passed in NULL as a DeviceObject.
Caller has trashed or has not properly copied IRP's stack.
Caller is completing an IRP that is currently queued beneath it! The
Caller is forwarding an IRP that is currently queued beneath it! The
callerModule
Caller of IoFreeIrp is freeing an IRP that is still in use!
Caller of IoFreeIrp is freeing an IRP that is still queued to a
Caller of IoInitializeIrp has passed an IRP that was allocated with
callerReturnAddressOffset
CALL_HAS_NOT_RETURNED_WATCHDOG_TIMEOUT_LIVEDUMP
_callnewh
CallNextHookEx
CallNtPowerInformation
CalloutTag
Call to invoke dialog failed
Call to USO to get reboot results failed
CallWindowProcW
Campaign Applicable
Campaign Applicable. GUID not found
campaign name
Campaign name
     can be adjusted based on the width of terminal window. Monitoring
                          Can be any of the following:
Canceled forwarding.
CancelIo
CancelIoEx
CancelMibChangeNotify2
CANCEL_STATE_IN_COMPLETED_IRP
cancel-streamlocal-forward@openssh.com
CancelSynchronousIo
cancel-tcpip-forward
CancelThread
CancelThreadpoolIo
CancelWaitableTimer
cannot compare iterators of different containers
cannot decrypt data
cannot encrypt data
Cannot execute command-line and remote command.
cannot find private key
Cannot find the transition condition.
Cannot fork into background without a command to execute.
cannot get value
Cannot have multiple test-cmds set
CANNOT_MAP_TO_KERNEL_SPACE
cannot read public key from pkcs11
cannot retrieve client impersonation token
cannot retrieve current user's SID
cannot serialize empty signature
Cannot sign mix of paths and standard input
cannot sign using retrieved key
Cannot specify -J with ProxyCommand
Cannot specify multiplexing command with -W
Cannot specify stdio forward with -O
cannot use at() with 
cannot use key() for non-object iterators
Cannot use -l with -H or -R.
cannot use operator[] with 
cannot use push_back() with 
CANNOT_WRITE_CONFIGURATION
canonical
canonicaldomains
canonicalizefallbacklocal
canonicalizehostname
canonicalizemaxdots
canonicalizepermittedcnames
canonicalizePermittedcnames
canonical name
Can only have one of -p and -c.
CanScheduleUpdate
?CanSetFocus@HWNDElement@DirectUI@@UEAA_NXZ
Can show deadline warning:
CanSyncLocalClipboardToRemoteSession failed.
CanSyncRemoteClipboardToLocalSession failed.
Can't change directory: Can't check target
Can't get the name string
Can't query platform from context ptr
Can't read database header
Can't specify both -y and -E
--capabilities
capabilities IRP was not properly initialized.
capabilities IRP was not properly initialized to -1.
capacity
Capacity Unavailable
CAppletStatusBar
CaptureDumpEnded
CaptureDumpMemoryAllocationEnded
CaptureDumpMemoryCaptureEnded
CaptureDumpMemoryEstimateEnded
CaptureDumpStarted
CaptureProcessorContext
captureProcessorContextDuration_ms
ca_sign_algorithms
casignaturealgorithms
[CatalogFiles]
[CatalogHeader]
CAT_E_CATIDNOEXIST
CategoryType
Category type is out of range
CAT_E_NODESCRIPTION
CAtlExeModuleT::PreMessageLoop failed!
CAttrEdit
c AUAVAWH
cbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
CBitmapObj
CbsCoreFinalize
CbsCoreInitialize
CcAddDirtyPagesToExternalCache
CcAsyncCopyRead
CcCanIWrite
CCCCDDDD
CCCCMMMM3333
ccccUUUU!!!!
CcCoherencyFlushAndPurgeCache
CcCopyRead
CcCopyReadEx
CcCopyWrite
CcCopyWriteEx
CcCopyWriteWontFlush
CcDeductDirtyPagesFromExternalCache
CcDeferWrite
CcErrorCallbackRoutine
CcFastCopyRead
CcFastCopyWrite
CcFastMdlReadWait
CcFlushCache
CcFlushCacheToLsn
CcGetCachedDirtyPageCountForFile
CcGetDirtyPages
CcGetFileObjectFromBcb
CcGetFileObjectFromSectionPtrs
CcGetFileObjectFromSectionPtrsRef
CcGetFlushedValidData
CcGetLsnForFileObject
CcGetNumberOfMappedPages
CcInitializeCacheMap
CcInitializeCacheMapEx
CcIsCacheManagerCallbackNeeded
CcIsThereDirtyData
CcIsThereDirtyDataEx
CcIsThereDirtyLoggedPages
CClxShell
CcMapData
CcMdlRead
CcMdlReadComplete
CcMdlWriteAbort
CcMdlWriteComplete
CComBSTR::Append failed
CContWndExt
CcPhkPXD
CcPinMappedData
CcPinRead
CcPrepareMdlWrite
CcPreparePinWrite
CcPurgeCacheSection
CcRegisterExternalCache
CcRemapBcb
CcRepinBcb
CC: Reusing shared cache map that is already marked for deletion!
CcScheduleReadAhead
CcScheduleReadAheadEx
CcSetAdditionalCacheAttributes
CcSetAdditionalCacheAttributesEx
CcSetBcbOwnerPointer
CcSetDirtyPageThreshold
CcSetDirtyPinnedData
CcSetFileSizes
CcSetFileSizesEx
CcSetLoggedDataThreshold
CcSetLogHandleForFile
CcSetLogHandleForFileEx
CcSetParallelFlushFile
CcSetReadAheadGranularity
CcSetReadAheadGranularityEx
CcSetupWatchForRegistryChanges: Error-unexpected memory allocation!
CcTestControl
cCTscAuthenticationBlob
CcUninitializeCacheMap
CcUnmapFileOffsetFromSystemCache
CcUnpinData
CcUnpinDataForThread
CcUnpinRepinnedBcb
CcUnregisterExternalCache
CcUpdateDynamicRegistrySettings: 
CcWaitForCurrentLazyWriterActivity
CcZeroData
CcZeroDataOnDisk
CDFS_FILE_SYSTEM
cDHv46p:T:t:f:
cd path                            Change remote directory to 'path'
CDynamicDeviceTestServer
censusFlags
CentaurHauls
CEraserTool
@cert-authority
cert-authority
CertChainContextToArray failed
CERT_CHAIN_OF_TRUST_FAILURE
CertCloseStore
CertCompareCertificateName
CertDuplicateCertificateChain
CertDuplicateCertificateContext
CERT_E_CHAINING
CERT_E_CN_NO_MATCH
CERT_E_CRITICAL
CERT_E_EXPIRED
CERT_E_INVALID_NAME
CERT_E_INVALID_POLICY
CERT_E_ISSUERCHAINING
CERT_E_MALFORMED
CertEnumCertificatesInStore
CERT_E_PATHLENCONST
CERT_E_PURPOSE
CERT_E_REVOCATION_FAILURE
CERT_E_REVOKED
CERT_E_ROLE
CERT_E_UNTRUSTEDCA
CERT_E_UNTRUSTEDROOT
CERT_E_UNTRUSTEDTESTROOT
CERT_E_VALIDITYPERIODNESTING
CERT_E_WRONG_USAGE
CertFindCertificateInStore
CertFindExtension
CertFreeCertificateChain
CertFreeCertificateContext
CertGetCertificateChain
CertGetCertificateContextProperty
CertGetNameStringW
certificate
Certificate
certificate does not match key
certificatefile
Certificate invalid: expired
Certificate invalid: name is not a listed principal
Certificate invalid: not a host certificate
Certificate invalid: not a user certificate
Certificate invalid: not yet valid
Certificate lacks principal list
CertificateRequest
CertificateVerify
CERT_OEM_NAME_NOT_FOUND
CertOpenStore
-cert.pub
CERTSRV_E_ADMIN_DENIED_REQUEST
CERTSRV_E_ALIGNMENT_FAULT
CERTSRV_E_ARCHIVED_KEY_REQUIRED
CERTSRV_E_ARCHIVED_KEY_UNEXPECTED
CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE
CERTSRV_E_BAD_RENEWAL_SUBJECT
CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL
CERTSRV_E_BAD_REQUESTSTATUS
CERTSRV_E_BAD_REQUESTSUBJECT
CERTSRV_E_BAD_TEMPLATE_VERSION
CERTSRV_E_CERT_TYPE_OVERLAP
CERTSRV_E_CORRUPT_KEY_ATTESTATION
CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE
CERTSRV_E_ENCODING_LENGTH
CERTSRV_E_ENCRYPTION_CERT_REQUIRED
CERTSRV_E_ENROLL_DENIED
CERTSRV_E_EXPIRED_CHALLENGE
CERTSRV_E_INVALID_ATTESTATION
CERTSRV_E_INVALID_CA_CERTIFICATE
CERTSRV_E_INVALID_EK
CERTSRV_E_INVALID_IDBINDING
CERTSRV_E_INVALID_REQUESTID
CERTSRV_E_INVALID_RESPONSE
CERTSRV_E_ISSUANCE_POLICY_REQUIRED
CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED
CERTSRV_E_KEY_ATTESTATION
CERTSRV_E_KEY_ATTESTATION_NOT_SUPPORTED
CERTSRV_E_KEY_LENGTH
CERTSRV_E_NO_CAADMIN_DEFINED
CERTSRV_E_NO_CERT_TYPE
CERTSRV_E_NO_DB_SESSIONS
CERTSRV_E_NO_POLICY_SERVER
CERTSRV_E_NO_REQUEST
CERTSRV_E_NO_VALID_KRA
CERTSRV_E_PENDING_CLIENT_RESPONSE
CERTSRV_E_PROPERTY_EMPTY
CERTSRV_E_RENEWAL_BAD_PUBLIC_KEY
CERTSRV_E_REQUEST_PRECERTIFICATE_MISMATCH
CERTSRV_E_RESTRICTEDOFFICER
CERTSRV_E_ROLECONFLICT
CERTSRV_E_SEC_EXT_DIRECTORY_SID_REQUIRED
CERTSRV_E_SERVER_SUSPENDED
CERTSRV_E_SIGNATURE_COUNT
CERTSRV_E_SIGNATURE_POLICY_REQUIRED
CERTSRV_E_SIGNATURE_REJECTED
CERTSRV_E_SMIME_REQUIRED
CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED
CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED
CERTSRV_E_SUBJECT_DNS_REQUIRED
CERTSRV_E_SUBJECT_EMAIL_REQUIRED
CERTSRV_E_SUBJECT_UPN_REQUIRED
CERTSRV_E_TEMPLATE_CONFLICT
CERTSRV_E_TEMPLATE_DENIED
CERTSRV_E_TEMPLATE_POLICY_REQUIRED
CERTSRV_E_TOO_MANY_SIGNATURES
CERTSRV_E_UNKNOWN_CERT_TYPE
CERTSRV_E_UNSUPPORTED_CERT_TYPE
CERTSRV_E_WEAK_SIGNATURE_OR_KEY
CertStrToNameW
CERT_VALIDITY_PERIOD_NOT_FOUND
CertVerifyCertificateChainPolicy
C"f9C uuH
CFGMGR32.dll
.cfguard
CfgUnwritableLoadConfig
CFloatThumbNailView
CFloodTool
CFreehandSelectTool
CFreehandTool
CFullScreenThumbNailView
C_GetFunctionList
chacha20-poly1305@openssh.com
challengeresponseauthentication
	ChangeReason
ChangeSD
ChangeServiceConfigW
ChangeWindowMessageFilterEx
channel_before_prepare_select_rdynamic
channel_by_id
channel_cancel_cleanup
channel_cancel_lport_listener_streamlocal
channel_cancel_lport_listener_tcpip
channel_check_window
channel_connect_stdio_fwd
channel_decode_socks4
channel_decode_socks5
channel_handle_efd_read
channel_handle_efd_write
channel_handler
channel_handle_rfd
channel_handler_init
channel_handle_wfd
channel_init_channels
channel_input_data
channel_input_extended_data
channel_input_ieof
channel_input_oclose
channel_input_open_confirmation
channel_input_open_failure
channel_input_status_confirm
channel_input_window_adjust
ChannelName
channel_new
channel_open_message
channel_output_poll_extended_read
channel_output_poll_input_open
channel_post_auth_listener
channel_post_connecting
channel_post_mux_client_write
channel_post_mux_listener
channel_post_x11_listener
channel_proxy_upstream
channel_register_cleanup
channel_register_filter
channel_register_open_confirm
channel_register_status_confirm
channel_request_remote_forwarding
channel_request_rforward_cancel_streamlocal
channel_request_rforward_cancel_tcpip
channel_request_start
channel_send_open
channel_send_window_changes
channel_setup_fwd_listener_streamlocal
channel_setup_fwd_listener_tcpip
channel_still_open
channel_update_permission
chan_send_close2
chan_send_eof2
chan_send_eow2
chan_shutdown_extended_read
chan_shutdown_read
chan_shutdown_write
character conversion failed
ChargeTimeEstimate
CharLowerW
CharNextA
CharNextW
CharPrevA
CharPrevW
CharToOemBuffA
CharUpperW
C H;C0t2f90t-f
check_allowed_keys_line
CheckApn
Check BIOS settings and ensure that manual IRQ assignments dont conflict.
CheckBoxPage::GetUserChoices
CheckBoxPage::OnKillActive
CheckBoxPage::OnSetActive
CheckCertificateStatus
Check data migration call failed
CheckDlgButton
CheckedStatus
check_follow_cname
Check for connect to console failed.
Check for user presence when NoAutoRebootWithUsersLoggedOn is set
CheckGroupPolicy
check_host_cert
checkhostip
check_host_key
Checking AutoRestartDeadlinePeriodInDays max auto reboot days
Checking default max auto reboot days
Checking engage policies
Checking GraceDeadlinePolicy effective deadline time 
Checking if device is in auto reboot limit
checking without port identifier
CheckMenuItem
check-novalidate
Checkpoint filename too long
CheckRadioButton
checkRegistryReturnCode
CheckRegistryReturnCode
checksum
Checksum
CheckTokenMembership
CheckUrlLength(base URL) failed
CheckUrlLength failed
chgrp [-h] grp path                Change group of file 'path' to 'grp'
CHHHHHCCCCC
CHHHHHCCCCCCC
ChI9@8u(H
childCommandLine
ChildCommandLine
ChildDevice
ChildDeviceCount
childImagePathName
ChildImagePathName
CHIPSET_DETECTED_ERROR
__chkstk
chmod [-h] mode path               Change permissions of file 'path' to 'mode'
choose_comp
choose_enc
ChooseFontW
choose_hostkeyalg
choose_kex
choose_mac
chown [-h] own path                Change owner of file 'path' to 'own'
C@I9@(u2H
CID_HANDLE_CREATION
CID_HANDLE_DELETION
CiInitialize
CImgTool
 @CImgWnd
cipher-auth
ciphers ctos
ciphers stoc
Cisco-1.*
CK8S    
ClA9Blu"@
Class0FloorPerformance
Class1InitialPerformance
Class Code
CLASS_E_CLASSNOTAVAILABLE
CLASS_E_NOAGGREGATION
CLASS_E_NOTLICENSED
?ClassExist@ClassInfoBase@DirectUI@@SA_NPEAPEAUIClassInfo@2@PEBQEBUPropertyInfo@2@IPEAU32@PEAUHINSTANCE__@@PEBG_N@Z
ClassGuid
 Class Hierarchy Descriptor'
Class Id
Class. Map
CLBCatQ.DLL
CleanUpCOMRegistryEntries failed
CleanupFiles
cleanupScheduledTaskHR
--clear-accounted-apps
ClearAcctData
clearallforwardings
ClearedCount
Clearing Aggregate ECC errors is not supported on device in vGPU mode.
Clearing ECC errors is not supported on a MIG-enabled device.
ClearPCIDBits shim: failed to register.
Clears accounting information of the vGPU instance that have already terminated.
                                Clears all the accounted PIDs in the buffer.
ClearUseDefaultNonceFlag
ClfsAddLogContainer
ClfsCloseLogFileObject
ClfsCreateLogFile
ClfsCreateMarshallingArea
ClfsDeleteLogByPointer
ClfsDeleteMarshallingArea
ClfsFlushToLsn
ClfsGetLogFileInformation
ClfsLsnContainer
ClfsLsnDifference
ClfsLsnEqual
ClfsLsnInvalid
ClfsLsnLess
ClfsMgmtDeregisterManagedClient
ClfsMgmtInstallPolicy
ClfsMgmtRegisterManagedClient
ClfsReadLogRecord
ClfsReadNextLogRecord
ClfsReadRestartArea
ClfsReserveAndAppendLog
ClfsTerminateReadLog
ClfsWriteRestartArea
?Click@Button@DirectUI@@SA?AVUID@@XZ
clickSound
ClientAlertAlertType
ClientAlertEventType
ClientAlertInformation
ClientCertificateMissing
ClientCertificateReferenceUnauthorized
ClientCertInfoNotAfter
ClientCertInfoNotBefore
ClientCertSearchCriteriaConfigured
client_check_window_change
ClientElevationPipe::Communicate
ClientElevationPipe::Initialize
ClientElevationPipe::WaitOnIO
ClientEventsHandler
client_global_hostkeys_private_confirm
Client has already connected
ClientHello
client_input_channel_open
client_input_channel_req
client_input_hostkeys
ClientKeyExchange
client_loop
client_process_net_input
client_register_global_confirm
client_request_agent
client_request_forwarded_streamlocal
client_request_forwarded_tcpip
client_request_x11
client-session
client_session2_setup
clientStackDisconnectCode
client_status_confirm
ClientToScreen
ClientVersion
client_wait_until_can_do_something
client_x11_get_proto
CLIPBRD_E_BAD_DATA
CLIPBRD_E_CANT_CLOSE
CLIPBRD_E_CANT_EMPTY
CLIPBRD_E_CANT_OPEN
CLIPBRD_E_CANT_SET
ClipSpInitialize
ClockDomain
    Clock Policy
    Clocks
 CLOCKS:
clocks.applications
clocks.applications.gr
clocks.applications.graphics
clocks.applications.mem
clocks.applications.memory
    clocks -- Control and query clock information.
    clocks                      Control and query clock information. "nvidia-smi clocks -h" for more information.
clocks.current.graphics
clocks.current.memory
clocks.current.sm
clocks.current.video
clocks.default_applications
clocks.default_applications.gr
clocks.default_applications.graphics
clocks.default_applications.mem
clocks.default_applications.memory
clocks.gr
clocks.max
clocks.max.gr
clocks.max.graphics
clocks.max.mem
clocks.max.memory
clocks.max.sm
clocks.mem
ClockSource
clocks.sm
                                    clocks_throttle_reason_applications_clocks_setting|
clocks_throttle_reason_applications_clocks_setting
                                    clocks_throttle_reason_display_clocks_setting|
clocks_throttle_reason.display_clocks_setting
clocks_throttle_reason_display_clocks_setting
                                    clocks_throttle_reason_gpu_idle|
clocks_throttle_reason_gpu_idle
                                    clocks_throttle_reason_hw_power_brake_slowdown|
clocks_throttle_reason_hw_power_brake_slowdown
                                    clocks_throttle_reason_hw_slowdown|
clocks_throttle_reason_hw_slowdown
                                    clocks_throttle_reason_hw_thermal_slowdown|
clocks_throttle_reason_hw_thermal_slowdown
clocks_throttle_reasons
Clocks Throttle Reasons
clocks_throttle_reasons.active
clocks_throttle_reasons.applications_clocks_setting
clocks_throttle_reasons.gpu_idle
clocks_throttle_reasons.hw_power_brake_slowdown
clocks_throttle_reasons.hw_slowdown
clocks_throttle_reasons.hw_thermal_slowdown
clocks_throttle_reasons.supported
clocks_throttle_reasons.sw_power_cap
clocks_throttle_reasons.sw_thermal_slowdown
clocks_throttle_reasons.sync_boost
                                    clocks_throttle_reason_sw_power_cap|
clocks_throttle_reason_sw_power_cap
                                    clocks_throttle_reason_sw_thermal_slowdown|
clocks_throttle_reason_sw_thermal_slowdown
                                    clocks_throttle_reason_sync_boost|
clocks_throttle_reason_sync_boost
clocks_throttle_reason_user_defined_clocks
clocks.video
ClockTimer
CLOCK_WATCHDOG_TIMEOUT
CloseClipboard
CloseDesktop
Close failed on stream!
CloseHandle
Close on the memory stream failed!
ClosePrinter
CloseServiceHandle
CloseThemeData
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolIo
CloseThreadpoolTimer
CloseThreadpoolWork
CloseTouchInputHandle
CloseTrace
CloseWindowStation
CloudDomainJoined
__clrcall
CLR version string null or too long
CLSIDFromProgID
CLSIDFromString
CLUSTER_CLUSPORT_STATUS_IO_TIMEOUT_LIVEDUMP
CLUSTER_CSV_CLUSSVC_DISCONNECT_WATCHDOG
CLUSTER_CSV_CLUSTER_WATCHDOG_LIVEDUMP
CLUSTER_CSVFS_LIVEDUMP
CLUSTER_CSV_SNAPSHOT_DEVICE_INFO_TIMEOUT_LIVEDUMP
CLUSTER_CSV_STATE_TRANSITION_INTERVAL_TIMEOUT_LIVEDUMP
CLUSTER_CSV_STATE_TRANSITION_TIMEOUT_LIVEDUMP
CLUSTER_CSV_STATUS_IO_TIMEOUT_LIVEDUMP
CLUSTER_CSV_VOLUME_ARRIVAL_LIVEDUMP
CLUSTER_CSV_VOLUME_REMOVAL_LIVEDUMP
CLUSTER_RESOURCE_CALL_TIMEOUT_LIVEDUMP
CLUSTER_SVHDX_LIVEDUMP
clxCmdLine
ClxShlConnect
ClxShlInitialize
ClxShlOnBlockedFile
ClxShlOnContinuableDialogDisplayed
ClxShlOnDialogDisplayed
ClxShlOnShellDialogDisplayed
ClxShlTerminate
CmCallbackGetKeyObjectID
CmCallbackGetKeyObjectIDEx
CmCallbackReleaseKeyObjectIDEx
CmCompleteInitMachineConfig
cmdline_init failed.
CmdLineLaunch
CmGetBoundTransaction
CmGetCallbackVersion
CM_Get_Child
CM_Get_Device_Interface_List_SizeW
CM_Get_Device_Interface_ListW
CM_Get_DevNode_Registry_PropertyW
CM_Get_Parent
CM_Get_Sibling
CMiniFrmWnd
CmKeyObjectType
CmLoadAppKeyFailed
CmLoadAppKeyFailed(Aggregate)
CmLoadAppKeyFailedNoInfo(Aggregate)
CmLoadAppKeySucceeded(Aggregate)
CmLoadKeyFailed
CmLoadKeyFailed(Aggregate)
CmLoadKeySucceeded(Aggregate)
CmpAddRemoveContainerToCLFSLog
CmpCommitPreparedLightWeightTransaction
CmpLogCheckpoint
CmpPrepareLightWeightTransaction
CmpSaveBootControlSetFailed
CmpSaveBootControlSetSucceeded
CmpTransLightWeightRollback
CmpTransMgrCommit
CmpTransMgrCommitUoW
CmRegisterCallback
CmRegisterCallbackEx
CmRegisterMachineHiveLoadedNotification
CM_Register_Notification
CmSaveMergedKeysAttemptToSaveMasterHive
CMSConfigSheet
CmSetCallbackObjectContext
CmSetInitMachineConfig
CmUnRegisterCallback
CmUnregisterMachineHiveLoadedNotification
CM_Unregister_Notification
CNamedPipeStream
_Cnd_do_broadcast_at_thread_exit
CNSS_FILE_SYSTEM_FILTER
CoAddRefServerProcess
CoAllowSetForegroundWindow
CoCopyProxy
CoCreateFreeThreadedMarshaler
CoCreateGuid
CoCreateInstance
CoCreateInstance(DOMDocument60) failed.
CoCreateInstanceEx
CoCreateInstance failed
CoCreateInstance failed!
CoCreateInstance(IID_IShellLink) failed!
CoCreateInstance(XMLSchemaCache60 failed.
code handling IRPs returning STATUS_PENDING in this driver appears to
code handling IRPs returning STATUS_PENDING in this driver appears to be
CO_E_ACCESSCHECKFAILED
CO_E_ACESINWRONGORDER
CO_E_ACNOTINITIALIZED
CO_E_ACTIVATIONFAILED
CO_E_ACTIVATIONFAILED_CATALOGERROR
CO_E_ACTIVATIONFAILED_EVENTLOGGED
CO_E_ACTIVATIONFAILED_TIMEOUT
CO_E_ALREADYINITIALIZED
CO_E_APPDIDNTREG
CO_E_APPNOTFOUND
CO_E_APPSINGLEUSE
CO_E_ASYNC_WORK_REJECTED
CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT
CO_E_BAD_PATH
CO_E_BAD_SERVER_NAME
CO_E_CALL_OUT_OF_TX_SCOPE_NOT_ALLOWED
CO_E_CANCEL_DISABLED
CO_E_CANTDETERMINECLASS
CO_E_CANT_REMOTE
CO_E_CLASS_CREATE_FAILED
CO_E_CLASS_DISABLED
CO_E_CLASSSTRING
CO_E_CLRNOTAVAILABLE
CO_E_CLSREG_INCONSISTENT
CO_E_CONVERSIONFAILED
CO_E_CREATEPROCESS_FAILURE
CO_E_DBERROR
CO_E_DECODEFAILED
CO_E_DLLNOTFOUND
CO_E_ELEVATION_DISABLED
CO_E_ERRORINAPP
CO_E_ERRORINDLL
CO_E_EXCEEDSYSACLLIMIT
CO_E_EXIT_TRANSACTION_SCOPE_NOT_CALLED
CO_E_FAILEDTOCLOSEHANDLE
CO_E_FAILEDTOCREATEFILE
CO_E_FAILEDTOGENUUID
CO_E_FAILEDTOGETSECCTX
CO_E_FAILEDTOGETTOKENINFO
CO_E_FAILEDTOGETWINDIR
CO_E_FAILEDTOIMPERSONATE
CO_E_FAILEDTOOPENPROCESSTOKEN
CO_E_FAILEDTOOPENTHREADTOKEN
CO_E_FAILEDTOQUERYCLIENTBLANKET
CO_E_FAILEDTOSETDACL
CO_E_IIDREG_INCONSISTENT
CO_E_IIDSTRING
CO_E_INCOMPATIBLESTREAMVERSION
CO_E_INIT_CLASS_CACHE
CO_E_INITIALIZATIONFAILED
CO_E_INIT_MEMORY_ALLOCATOR
CO_E_INIT_ONLY_SINGLE_THREADED
CO_E_INIT_RPC_CHANNEL
CO_E_INIT_SCM_EXEC_FAILURE
CO_E_INIT_SCM_FILE_MAPPING_EXISTS
CO_E_INIT_SCM_MAP_VIEW_OF_FILE
CO_E_INIT_SCM_MUTEX_EXISTS
CO_E_INIT_SHARED_ALLOCATOR
CO_E_INIT_TLS
CO_E_INIT_TLS_CHANNEL_CONTROL
CO_E_INIT_TLS_SET_CHANNEL_CONTROL
CO_E_INIT_UNACCEPTED_USER_ALLOCATOR
CO_E_INVALIDSID
CO_E_ISOLEVELMISMATCH
CO_E_LAUNCH_PERMSSION_DENIED
CO_E_LOOKUPACCNAMEFAILED
CO_E_LOOKUPACCSIDFAILED
CO_E_MALFORMED_SPN
CO_E_MISSING_DISPLAYNAME
CO_E_MSI_ERROR
CO_E_NETACCESSAPIFAILED
CO_E_NOCOOKIES
CO_E_NOIISINTRINSICS
CO_E_NOMATCHINGNAMEFOUND
CO_E_NOMATCHINGSIDFOUND
CO_E_NO_SECCTX_IN_ACTIVATE
CO_E_NOSYNCHRONIZATION
CO_E_NOTCONSTRUCTED
CO_E_NOTINITIALIZED
CO_E_NOTPOOLED
CO_E_NOT_SUPPORTED
CO_E_OBJISREG
CO_E_OBJNOTCONNECTED
CO_E_OBJNOTREG
CO_E_OBJSRV_RPC_FAILURE
CO_E_OLE1DDE_DISABLED
CO_E_PATHTOOLONG
CO_E_PREMATURE_STUB_RUNDOWN
CO_E_RELEASED
CO_E_RELOAD_DLL
CO_E_REMOTE_COMMUNICATION_FAILURE
CO_E_RUNAS_CREATEPROCESS_FAILURE
CO_E_RUNAS_LOGON_FAILURE
CO_E_RUNAS_SYNTAX
CO_E_RUNAS_VALUE_MUST_BE_AAA
CO_E_SCM_ERROR
CO_E_SCM_RPC_FAILURE
CO_E_SERVER_EXEC_FAILURE
CO_E_SERVER_INIT_TIMEOUT
CO_E_SERVER_NOT_PAUSED
CO_E_SERVER_PAUSED
CO_E_SERVER_START_TIMEOUT
CO_E_SERVER_STOPPING
CO_E_SETSERLHNDLFAILED
CO_E_START_SERVICE_FAILURE
CO_E_SXS_CONFIG
CO_E_THREADINGMODEL_CHANGED
CO_E_THREADPOOL_CONFIG
CO_E_TRACKER_CONFIG
CO_E_TRUSTEEDOESNTMATCHCLIENT
CO_E_UNREVOKED_REGISTRATION_ON_APARTMENT_SHUTDOWN
CO_E_WRONGOSFORAPP
CO_E_WRONG_SERVER_IDENTITY
CO_E_WRONGTRUSTEENAMESYNTAX
CoFreeUnusedLibraries
CoGetApartmentType
CoGetCallContext
CoGetClassObject
CoGetInterfaceAndReleaseStream
CoGetMalloc
CoGetObject
CoGetObjectContext
CoIncrementMTAUsage
CoInitialize
CoInitializeEx
CoInitializeEx failed
CoInitialize failed!
CoInitializeSecurity
CoIsHandlerConnected
ColdHint
      Collect specified number of samples and exit
ColorChanged
colorDepth
ColorFilter
COMADMIN_E_ALREADYINSTALLED
COMADMIN_E_AMBIGUOUS_APPLICATION_NAME
COMADMIN_E_AMBIGUOUS_PARTITION_NAME
COMADMIN_E_APPDIRNOTFOUND
COMADMIN_E_APP_FILE_READFAIL
COMADMIN_E_APP_FILE_VERSION
COMADMIN_E_APP_FILE_WRITEFAIL
COMADMIN_E_APPLICATIONEXISTS
COMADMIN_E_APPLID_MATCHES_CLSID
COMADMIN_E_APP_NOT_RUNNING
COMADMIN_E_AUTHENTICATIONLEVEL
COMADMIN_E_BADPATH
COMADMIN_E_BADREGISTRYLIBID
COMADMIN_E_BADREGISTRYPROGID
COMADMIN_E_BASE_PARTITION_ONLY
COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET
COMADMIN_E_CANNOT_ALIAS_EVENTCLASS
COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY
COMADMIN_E_CAN_NOT_EXPORT_SYS_APP
COMADMIN_E_CAN_NOT_START_APP
COMADMIN_E_CANTCOPYFILE
COMADMIN_E_CANTMAKEINPROCSERVICE
COMADMIN_E_CANTRECYCLELIBRARYAPPS
COMADMIN_E_CANTRECYCLESERVICEAPPS
COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT
COMADMIN_E_CAT_BITNESSMISMATCH
COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME
COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED
COMADMIN_E_CAT_INVALID_PARTITION_NAME
COMADMIN_E_CAT_PARTITION_IN_USE
COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED
COMADMIN_E_CAT_SERVERFAULT
COMADMIN_E_CAT_UNACCEPTABLEBITNESS
COMADMIN_E_CAT_WRONGAPPBITNESS
COMADMIN_E_CLSIDORIIDMISMATCH
COMADMIN_E_COMPFILE_BADTLB
COMADMIN_E_COMPFILE_CLASSNOTAVAIL
COMADMIN_E_COMPFILE_DOESNOTEXIST
COMADMIN_E_COMPFILE_GETCLASSOBJ
COMADMIN_E_COMPFILE_LOADDLLFAIL
COMADMIN_E_COMPFILE_NOREGISTRAR
COMADMIN_E_COMPFILE_NOTINSTALLABLE
COMADMIN_E_COMP_MOVE_BAD_DEST
COMADMIN_E_COMP_MOVE_DEST
COMADMIN_E_COMP_MOVE_LOCKED
COMADMIN_E_COMP_MOVE_PRIVATE
COMADMIN_E_COMP_MOVE_SOURCE
COMADMIN_E_COMPONENTEXISTS
COMADMIN_E_COREQCOMPINSTALLED
COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET
COMADMIN_E_DLLLOADFAILED
COMADMIN_E_DLLREGISTERSERVER
COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER
COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES
COMADMIN_E_INVALID_PARTITION
COMADMIN_E_INVALIDUSERIDS
COMADMIN_E_KEYMISSING
COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT
COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS
COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE
COMADMIN_E_MIG_SCHEMANOTFOUND
COMADMIN_E_MIG_VERSIONNOTSUPPORTED
COMADMIN_E_NOREGISTRYCLSID
COMADMIN_E_NOSERVERSHARE
COMADMIN_E_NOTCHANGEABLE
COMADMIN_E_NOTDELETEABLE
COMADMIN_E_NOTINREGISTRY
COMADMIN_E_NOUSER
COMADMIN_E_OBJECT_DOES_NOT_EXIST
COMADMIN_E_OBJECTERRORS
COMADMIN_E_OBJECTEXISTS
COMADMIN_E_OBJECTINVALID
COMADMIN_E_OBJECTNOTPOOLABLE
COMADMIN_E_OBJECT_PARENT_MISSING
COMADMIN_E_PARTITION_ACCESSDENIED
COMADMIN_E_PARTITION_MSI_ONLY
COMADMIN_E_PARTITIONS_DISABLED
COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED
COMADMIN_E_PRIVATE_ACCESSDENIED
COMADMIN_E_PROCESSALREADYRECYCLED
COMADMIN_E_PROGIDINUSEBYCLSID
COMADMIN_E_PROPERTY_OVERFLOW
COMADMIN_E_PROPERTYSAVEFAILED
COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED
COMADMIN_E_REGDB_ALREADYRUNNING
COMADMIN_E_REGDB_NOTINITIALIZED
COMADMIN_E_REGDB_NOTOPEN
COMADMIN_E_REGDB_SYSTEMERR
COMADMIN_E_REGFILE_CORRUPT
COMADMIN_E_REGISTERTLB
COMADMIN_E_REGISTRARFAILED
COMADMIN_E_REGISTRY_ACCESSDENIED
COMADMIN_E_REMOTEINTERFACE
COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM
COMADMIN_E_ROLE_DOES_NOT_EXIST
COMADMIN_E_ROLEEXISTS
COMADMIN_E_SAFERINVALID
COMADMIN_E_SERVICENOTINSTALLED
COMADMIN_E_SESSION
COMADMIN_E_START_APP_DISABLED
COMADMIN_E_START_APP_NEEDS_COMPONENTS
COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE
COMADMIN_E_SYSTEMAPP
COMADMIN_E_USER_IN_SET
COMADMIN_E_USERPASSWDNOTVALID
CoMarshalInterThreadInterfaceInStream
CombineRgn
COMCTL32.dll
COMDLG32.dll
COMDLG32.DLL
!command                           Execute 'command' in local shell
command-line
CommandLine
CommandLineArg
CommandLineArgs
CommandLineData
CommandLineToArgvW
CommandLinkPage::GetUserChoices
CommandLinkPage::OnKillActive
CommandLinkPage::OnListenedEvent
CommandLinkPage::OnSetActive
CommandLinkPage::ResetUI
Command not implemented
Commands:
         Comma separated Enumeration index
CommDlgExtendedError
Comment removed
Comments are only supported for keys stored in the new format (-o).
CommitCharge
CommitChargePeak
Commit delete UOW failed
Commit failed!
CommitPagesReleased
CommitSavedProcessInSwapTrigger
CommitTransaction
_commode
COMMON PROBLEM: is your dump file encrypted? Please try 
communication with agent failed
Compare Failed
CompareFileTime
CompareStringA
CompareStringEx
CompareStringOrdinal
CompareStringW
CompareStringW failed
compat_cipher_proposal
compatible.
CompatIssue
compat_kex_proposal
compat_pkalg_proposal
Completed
 Complete Object Locator'
completionReason
Component
ComponentCount
ComponentGuid
CompositeBattery
CompositeBatteryEnergyChange
Composite Information
Composite Status
CompressedSize
compression
compression ctos
compressionlevel
compression stoc
compute_cap
Computed
_ComputeFileId
compute_instance_id
Compute Instance ID
compute_mode
Compute Mode
_ComputePeHeaderHash
compute-policy
 COMPUTE POLICY:
    Compute Policy -- Control and list compute policies.
    compute-policy              Control and query compute policies. "nvidia-smi compute-policy -h" for more information. 
ComputerBrowser
COMQC_E_APPLICATION_NOT_QUEUED
COMQC_E_BAD_MESSAGE
COMQC_E_NO_IPERSISTSTREAM
COMQC_E_NO_QUEUEABLE_INTERFACES
COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE
COMQC_E_UNAUTHENTICATED
COMQC_E_UNTRUSTED_ENQUEUER
conalloc
ConciergeUSBConfigEnabled
CONFIG_INITIALIZATION_FAILED
CONFIG_LIST_FAILED
Configuration::CanonicalizeFilePath
Configuration::CheckNumberArgs
Configuration::CheckRegistrySkipWelcome
ConfigurationComparisonStatus
Configuration::Destroy
Configuration::GetFullyQualifiedArguments
Configuration::GetInstanceHash
Configuration::Initialize
Configuration::LoadAnswerFile
Configuration::LoadCab
Configuration::LoadCommandLineAnswers
Configuration::LoadConfigFile
Configuration::LoadDisplayNodesFromFile
ConfigurationLoaded
Configuration::LoadFeedbackContextIdFromFile
Configuration::LoadFromProvider
Configuration::LoadKeywordsFromFile
Configuration::LoadMode
Configuration::LoadSupport
Configuration::ParseArgs
configuration requests final Match pass
Configuration::TextFromSingleNode
Configuration::ValidateAnswer
Configuration::ValidateAnswersXML
Configured
Configuring Data Access Components
conf-only 
Connected
CONNECTED_STANDBY_WATCHDOG_TIMEOUT_LIVEDUMP
connect failed
connection aborted
connection_aborted
Connection aborted
Connection aborted by network
connection already in progress
connection_already_in_progress
Connection already in progress
connectionattempts
Connection closed
Connection closed.  
ConnectionCorrelationId
Connection corrupted
Connection established.
connectionFile
Connection lost
connection refused
connection_refused
Connection refused
connection reset
connection_reset
Connection reset
ConnectionSettings
Connection timed out
Connection timed out during banner exchange
ConnectivityInStandbyUpdate
ConnectNamedPipe
ConnectNamedPipe returned TRUE unexpectedly 
connect_next
connect_next: getnameinfo failed
connecttimeout
connecttimeout none
ConsentPage::OnListenedEvent
ConsentPage::OnSetActive
ConsentPage::ResetUI
ConsentToResolution
console doesn't support the ansi parsing
ConstructAdditionalHeader
ConstructCertificateChain failed!
ConstructHeader
ConstructPartialMsgVA
ConstructPartialMsgVW
ConstructPKCS7Blob
ContainerFunctionResult
containerId
ContainerId
ContainerKey
ContainerName
ContainerPath
ContainerResponseLength
ContainerResponseStatusCount
ContainerResponseXMLParserErrorHresult
ContainerWarningNotSessionId
?ContentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
ContentType
CONTEXT_E_ABORTED
CONTEXT_E_ABORTING
CONTEXT_E_NOCONTEXT
CONTEXT_E_NOJIT
CONTEXT_E_NOTRANSACTION
CONTEXT_E_OLDREF
CONTEXT_E_ROLENOTFOUND
CONTEXT_E_SYNCH_TIMEOUT
CONTEXT_E_TMNOTAVAILABLE
CONTEXT_E_WOULD_DEADLOCK
ContinueTrimPasses
continueType
controlFlags
ControlFlags
ControllerIsInstalled
controlmaster
controlpath
controlPcImageName
controlpersist
control_persist_detach
ControlPersist timeout expired
ControlProtectionUserModeReturnMismatch
ControlService
ControlSet000
ControlTraceW
CONVERT10_E_OLESTREAM_BITMAP_TO_DIB
CONVERT10_E_OLESTREAM_FMT
CONVERT10_E_OLESTREAM_GET
CONVERT10_E_OLESTREAM_PUT
CONVERT10_E_STG_DIB_TO_BITMAP
CONVERT10_E_STG_FMT
CONVERT10_E_STG_NO_STD_STREAM
CONVERT10_S_NO_PRESENTATION
ConvertAuthCookieBytesToUTF16LE failed
ConvertGuidToString
ConvertInterfaceAliasToLuid
ConvertInterfaceGuidToLuid
ConvertInterfaceLuidToGuid
ConvertInterfaceLuidToIndex
ConvertInterfaceLuidToNameW
ConvertInterfaceNameToLuidW
ConvertInterfacePhysicalAddressToLuid
ConvertJsonValueToVariant
ConvertSidToStringSidA
ConvertSidToStringSidW
ConvertStringSecurityDescriptorToSecurityDescriptorW
ConvertStringSidToSidW
ConvertStringToGuid
ConvertStringToInterfacePhysicalAddress
ConvertTextXmlToWBXmlEx
ConvertWBXmlToTextXmlEx
CopyAcceleratorTableW
CopyComputerList failed
copy_engine_count
Copy Engine count
Copy Extension list to local array failed!
CopyFileExW
CopyFileW
CopyLatestCab
CopyLocalComputerSettings failed
CopyOEMInf
CopyOEMInfFailed
CopyOEMInfSucceeded
CopyRect
CopySecureSettings failed
CopyString
CopyTo ppCredentialsQueryUi failed!
CopyTo ppCredManAssistant failed!
CORE_CHANNEL_REGS
coredpus.dll
CoRegisterClassObject
 Core GPU temperature. in degrees C.
CoReleaseMarshalData
CoReleaseServerProcess
COREMSGCALL_INTERNAL_ERROR
COREMSG_INTERNAL_ERROR
CoResumeClassObjects
CoRevokeClassObject
CoreWindowHandle
CorExitProcess
corralDuration_ms
CorralProcessors
Correctable Error
correlationId
CorrelationId
CorrelationVectors
CORRUPT_ACCESS_TOKEN
Corrupted infoROM
Corrupted MAC on input.
CoSetProxyBlanket
CO_S_MACHINENAMENOTFOUND
CO_S_NOTALLINTERFACES
CoSuspendClassObjects
CoTaskMemAlloc
CoTaskMemFree
CoTaskMemRealloc
could not allocate bHashAlgorithm
could not allocate bHashAlgorithmA
Could not convert to the expected type
Could not create broadcasting thread
Could not find components registry information under clsid key to write over the mtx settings in the CLSID part of the tree.
Could not get PCI info.
Could not get the localf file names from the job
Could not get the package collection from the transaction object
Could not get the transactional utilities
Could not get the transaction object
Could not instantiate remote session
could not load host key
Could not open a connection to your authentication agent.
could not read protocol version
Could not request local forwarding.
Could not request remote forwarding.
Could not request tunnel forwarding.
Could not verify signature.
Couldn't allocate session state
couldn't create KRL
couldn't find ProgramData environment variable
Couldn't generate KRL
Couldn't initialise connection to server
Couldn't parse signature: missing footer
Couldn't parse signature: missing header
Couldn't track common buffer allocation
Couldn't verify signature: hash algorithm mismatch
Couldn't verify signature: invalid format
Couldn't verify signature: namespace does not match
CoUninitialize
Countdown for force reboot reminder is less so dialog is not shown
Countdown for reboot dialog is zero to one minute so dialog is not shown
countdown in  minutes
CountdownMinutes
Countdown minutes are not matching for a reboot.
Counter object doesn't support IRDPPerfCounterGeneric
Counter object doesn't support IRDPPerfCounterLong
CountNew
CountOld
Courier New
CoverageId
CoWaitForMultipleHandles
CPageBootIni
CPageGeneral
CPageServices
CPageStartup
CPageTool
CPaintPreviewView
CPaintToolProxy
CPBSrvrItem
CPConcurrencyThreshold
"CPCStream"
CPCStream
CPDecreasePolicy
CPDecreaseTime
CPDistributeThreshold
CPDistributeUtility
CPHeadroomThreshold
CPickColorTool
CPIncreasePolicy
CPIncreaseTime
CPL::CommunicateEscalationContext
CPL::UseCommandLine
CPL::UsePipe
CPMaxCores
CPMinCores
CPOverUtilizationThreshold
C_PrintDialogEx
CPrintResObj
                              c - Proc and Mem Clocks
CPUCycleCount
CpuManager
CPU_REGS
CpuWakeMasks
Cr3Mitigated
Cr3Tripped
CRASH TRIAGE: a fake crash will be simulated.
CRASH TRIAGE: all drivers will be targetted.
CRASH TRIAGE: a real crash happened.
CRASH TRIAGE: driver verifier settings present.
CRASH TRIAGE: failed to get driver count from the dump.
CRASH TRIAGE: found zeroed rule during validation.
CRASH TRIAGE: invalid rules structure! 
CRASH TRIAGE: no suspect drivers will be selected for verification.
CRASH TRIAGE: null loader extension.
CRASH TRIAGE: rules are ok.
CRASH TRIAGE: some drivers changed from previous crash.
CRASH TRIAGE: standard retail exit point.
CRASH TRIAGE: triage disabled due to invalid internal rules!
CRASH TRIAGE: triage disabled due to invalid registry rules.
CRASH TRIAGE: triage disabled due to rule with null features.
CRASH TRIAGE: triage enabled!
CRASH TRIAGE: triage skipped because it is disabled explicitely.
CRASH TRIAGE: triage skipped because it is not enabled by default.
CRASH TRIAGE: triage skipped because it was active in previous crash or server system.
CRASH TRIAGE: unexpected loader extension size.
CRASH TRIAGE: will select target drivers for verification.
CRASH TRIAGE: zeroed rules structure (hit an invalid type rule).
Crc32 Castagnoli
Crc64 ReFS-v1
--crcerrorcounters
CRDPCollection
CRDPCollection::CreateInstance failed
"CRDPENCCONStream"
CRDPENCCONStream
CRDPENCCONStreamBuffer
CRDPENCCONStreamWorker
CRDPENCDesktopManager
.#CRDPENCDirectConnector
CRdpEncIOContext
CRDPENCONPort
CRDPENCONTCPListener
CRDPENCPlatformContextWrapper
CRDPENCTcpEndpointInfo
CRdpEncTransportWorker
CRDPEventLog
CRdpSettingsFileStream
CRdpSettingsMemoryStream
CRdpSettingsStore
CRdpSettingsStore::ApplyCertSignature failed
CRdpSettingsStore::CalculateSignScopeLength failed
CRdpSettingsStore::GenerateSecureSettingsBlob failed
CRdpSettingsStore::GetSignature failed
CRdpSettingsStore::GetSignatureType failed
CRdpSettingsStore::InitializeSignature failed.
CRdpSettingsStore::SetUnsignedBlob failed
CRdpSettingsStore::VerifySensitiveSettings failed
CRdpSettingsStore::VerifySignature failed
CRdpWinConnector
CRdpWinStreamTcp
CRdpWinStreamTcp::AllocBuffer
CRdpWinStreamTcp::FreeBuffer
CRdpWinStreamTcp::OnReadCompleted
CRdpWinStreamTcp::OnWriteCompleted
CRdpWinStreamTcp::ReadBuffer
CRdpWinStreamTcp::WriteBuffer
--creatable
CreateAcceleratorTableW
CreateActCtxW
CreateAndEnqueueNarratorCommandEvent
CreateBindCtx
CreateBitmap
CreateCab
CreateCabFromPath
CreateClaimsAuthResponseHeader
CreateClaimsAuthResponseHeader failed
CreateCompatibleBitmap
CreateCompatibleDC
CreateConQueuePane failed!
CreateConsoleScreenBuffer
CreateCred
Created Block All Filter failed
Created by NvDebugDump
CreateDCW
CREATE_DELETE_LOCK_NOT_LOCKED
CreateDialogIndirectParamW
CreateDialogParamW
CreateDIBitmap
CreateDIBSection
CreateDirectoryExW
CreateDirectoryW
?CreateDUICP@TaskPage@DirectUI@@EEAAJPEAVHWNDElement@2@PEAUHWND__@@1PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?Create@DUIXmlParser@DirectUI@@SAJPEAPEAV12@P6APEAVValue@2@PEBGPEAX@Z2P6AX11H2@Z2@Z
CreateDXGIFactory
CreateDXGIFactory2
?Create@Element@DirectUI@@SAJIPEAV12@PEAKPEAPEAV12@@Z
?CreateElement@DUIXmlParser@DirectUI@@QEAAJPEBGPEAVElement@2@1PEAKPEAPEAV32@@Z
CreateEnvironmentBlock
CreateEventA
CreateEventExW
CreateEvent() failed.
CreateEventW
CreateExtension failed
CreateFileA
CreateFile failed
createFile_flags_setup() failed.
CreateFileInputStream failed
CreateFileMappingW
CreateFileOutputStream failed
CreateFileW
?Create@FillLayout@DirectUI@@SAJPEAPEAVLayout@2@@Z
CreateFirstPackage
CreateFontIndirectW
CreateFonts failed!
CreateFontW
?CreateGraphic@Value@DirectUI@@SAPEAV12@PEAUHICON__@@_N11@Z
CreateHalftonePalette
CreateHardLinkW
CreateHistoryDirectory
CreateHistoryFile
?CreateHostWindow@NativeHWNDHost@DirectUI@@UEAAPEAUHWND__@@KPEBG0KHHHHPEAU3@PEAUHMENU__@@PEAUHINSTANCE__@@PEAX@Z
?CreateHWND@CCBase@DirectUI@@UEAAPEAUHWND__@@PEAU3@@Z
?CreateHWND@Combobox@DirectUI@@UEAAPEAUHWND__@@PEAU3@@Z
?CreateHWND@Edit@DirectUI@@MEAAPEAUHWND__@@PEAU3@_N@Z
?CreateHWND@Edit@DirectUI@@MEAAPEAUHWND__@@PEAU3@@Z
CreateInstance failed. Exiting!
CreateInstance failed for CTSBufferResult!
CreateInstance failed for CTSMsg!
CreateInteractionContext
CreateInterruptTime
?CreateInt@Value@DirectUI@@SAPEAV12@HW4DynamicScaleValue@@@Z
CreateIoCompletionPort
CreateItemMoniker
CreateItemMoniker failed
CreateIUSecurityDescriptor
CreateMailslotA
CreateMenu
CreateMutexA
CreateMutexExW
CreateMutexW
CreateNamedPipeA
CreateNamedPipeW
?Create@NativeHWNDHost@DirectUI@@SAJPEBG0PEAUHWND__@@PEAUHICON__@@HHHHHHPEAUHINSTANCE__@@IPEAPEAV12@@Z
CreatePackageCollection
CreatePalette
?CreateParserCP@TaskPage@DirectUI@@EEAAJPEAPEAVDUIXmlParser@2@@Z
CreatePatternBrush
?CreatePatternProvider@Schema@DirectUI@@SAJW4Pattern@12@PEAVElementProvider@2@PEAPEAUIUnknown@@@Z
CreatePen
CreatePipe
CreatePolygonRgn
CreatePopupMenu
Create PowerRequest
CreatePrivateObjectSecurityEx
CreateProcessA
CreateProcessAsUserW
CreateProcessHresult
CreateProcessInChamber
CreateProcessW
CreatePropertySheetPageW
CreateProviderInstanceHelper failed.
CreatePseudoConsole
CreateRectRgn
CreateRectRgnIndirect
CreateReportHeader
CreateResultsSmsMsg
CreateSddl
CreateSecurityDescriptor
CreateSemaphoreExW
CreateSemaphoreW
CreateServiceW
CreateSolidBrush
CreateSortedAddressPairs
CreateSPN failed
CreateStatusWindowW
CreateStreamOnHGlobal
?CreateStyleParser@HWNDElement@DirectUI@@UEAAJPEAPEAVDUIXmlParser@2@@Z
?Create@TableLayout@DirectUI@@SAJHPEAHPEAPEAVValue@2@@Z
CreateTemporarySessionFile
CreateThread
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWork
CreateTimerQueue
CreateTimerQueueTimer
CreateToolhelp32Snapshot
CreateTransaction
CreateUserAgent
CreateWaitableTimerA
CreateWaitableTimerExW
CreateWaitableTimerW
CreateWellKnownSid
CreateWindowExW
CreateXml failed
CreateXmlReader
CreateXmlReaderInputWithEncodingName
CreateXmlWriter
CreateXmlWriterOutputWithEncodingName
Creating the post migration passed key
CredDelete failed
CredDelete for canonical name failed
CredDelete(Server) failed
CredDelete(SPN) failed
CredDeleteW
CredFree
CredGetSessionTypes
CredIsMarshaledCredentialW
CredPackAuthenticationBufferW
credProvider
CredReadDomainCredentials
CredReadDomainCredentials failed
CredReadDomainCredentialsW
CredRead(Server) failed
CredReadW
Creds.Attach failed!
CredUICmdLinePromptForCredentialsW
credui.dll
CredUIParseUserName
CredUIParseUserNameW
CredUIPromptForWindowsCredentialsW
CredUnmarshalCredentialW
CredUnPackAuthenticationBufferW
CredWriteDomainCredentials failed
CredWriteDomainCredentials for canonical name failed
CredWriteDomainCredentialsW
CredWrite failed
CredWriteW
  -c          Require confirmation to sign using identities
critical:
CriticalAceChanged
Critical Battery Index
CRITICAL_INITIALIZATION_FAILURE
CRITICAL_OBJECT_TERMINATION
        Critical Options: 
CRITICAL_PROCESS_DIED
CRITICAL_SERVICE_FAILED
CRITICAL_STRUCTURE_CORRUPTION
criticalTripPoint
cross device link
__crtCompareStringW
__crtGetStringTypeW
__crtLCMapStringW
- CRT not initialized
CRulerFiller
CRYPT32.dll
CryptAcquireContextA
CryptAcquireContextW
CRYPTBASE.dll
CryptBinaryToStringA
CryptBinaryToStringW
CryptCATCDFClose
CryptCATCDFEnumAttributesWithCDFTag
CryptCATCDFEnumCatAttributes
CryptCATCDFEnumMembersByCDFTagEx
CryptCATCDFOpen
CryptCATClose
CryptCATGetMemberInfo
CryptCATOpen
CryptCATPersistStore
CryptCATPutAttrInfo
CryptCATPutMemberInfo
CryptCATStoreFromHandle
CryptCreateHash
CryptDataPKCS7
CryptDecodeObject
CryptDecodeObjectEx
CryptDecrypt
CryptDecryptMessage
CryptDeriveKey
CryptDestroyHash
CryptDestroyKey
CRYPT_E_ALREADY_DECRYPTED
CRYPT_E_ASN1_BADARGS
CRYPT_E_ASN1_BADPDU
CRYPT_E_ASN1_BADREAL
CRYPT_E_ASN1_BADTAG
CRYPT_E_ASN1_CHOICE
CRYPT_E_ASN1_CONSTRAINT
CRYPT_E_ASN1_CORRUPT
CRYPT_E_ASN1_EOD
CRYPT_E_ASN1_ERROR
CRYPT_E_ASN1_EXTENDED
CRYPT_E_ASN1_INTERNAL
CRYPT_E_ASN1_LARGE
CRYPT_E_ASN1_MEMORY
CRYPT_E_ASN1_NOEOD
CRYPT_E_ASN1_NYI
CRYPT_E_ASN1_OVERFLOW
CRYPT_E_ASN1_PDU_TYPE
CRYPT_E_ASN1_RULE
CRYPT_E_ASN1_UTF8
CRYPT_E_ATTRIBUTES_MISSING
CRYPT_E_AUTH_ATTR_MISSING
CRYPT_E_BAD_ENCODE
CRYPT_E_BAD_LEN
CRYPT_E_BAD_MSG
CRYPT_E_CONTROL_TYPE
CRYPT_E_DELETED_PREV
CRYPT_E_EXISTS
CRYPT_E_FILE_ERROR
CRYPT_E_FILERESIZED
CRYPT_E_HASH_VALUE
CRYPT_E_INVALID_IA5_STRING
CRYPT_E_INVALID_INDEX
CRYPT_E_INVALID_MSG_TYPE
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_X500_STRING
CRYPT_E_ISSUER_SERIALNUMBER
CRYPT_E_MISSING_PUBKEY_PARA
CRYPT_E_MSG_ERROR
CryptEncrypt
CryptEncryptMessage
CRYPT_E_NO_DECRYPT_CERT
CRYPT_E_NO_KEY_PROPERTY
CRYPT_E_NO_MATCH
CRYPT_E_NO_PROVIDER
CRYPT_E_NO_REVOCATION_CHECK
CRYPT_E_NO_REVOCATION_DLL
CRYPT_E_NO_SIGNER
CRYPT_E_NOT_CHAR_STRING
CRYPT_E_NOT_DECRYPTED
CRYPT_E_NOT_FOUND
CRYPT_E_NOT_IN_CTL
CRYPT_E_NOT_IN_REVOCATION_DATABASE
CRYPT_E_NO_TRUSTED_SIGNER
CRYPT_E_NO_VERIFY_USAGE_CHECK
CRYPT_E_NO_VERIFY_USAGE_DLL
CRYPT_E_OBJECT_LOCATOR_OBJECT_NOT_FOUND
CRYPT_E_OID_FORMAT
CRYPT_E_OSS_ERROR
CRYPT_E_PENDING_CLOSE
CRYPT_E_RECIPIENT_NOT_FOUND
CRYPT_E_REVOCATION_OFFLINE
CRYPT_E_REVOKED
CRYPT_E_SECURITY_SETTINGS
CRYPT_E_SELF_SIGNED
CRYPT_E_SIGNER_NOT_FOUND
CRYPT_E_STREAM_INSUFFICIENT_DATA
CRYPT_E_STREAM_MSG_NOT_READY
CRYPT_E_UNEXPECTED_ENCODING
CRYPT_E_UNEXPECTED_MSG_TYPE
CRYPT_E_UNKNOWN_ALGO
CRYPT_E_VERIFY_USAGE_OFFLINE
CryptExportKey
CryptGenKey
CryptGenRandom
CryptGetHashParam
CryptGetUserKey
CryptHashCertificate
CryptHashData
CryptImportKey
CRYPT_I_NEW_PROTECTION_REQUIRED
CryptMsgClose
CryptMsgOpenToDecode
CryptMsgUpdate
Cryptographic Error
crypto_hash_sha512
CRYPTO_LIBRARY_INTERNAL_ERROR
CRYPTO_SELF_TEST_FAILURE
CryptProtectData
CryptProtectMemory
CryptReleaseContext
CryptSetKeyParam
CryptSignMessage
CryptSIPLoad
CryptSIPRetrieveSubjectGuid
CRYPTSP.dll
CryptStringToBinaryA
CryptStringToBinaryW
)CryptUIDlgViewCertificate failed
CryptUIDlgViewCertificateW
CRYPTUI.dll
CryptUnprotectData
CryptUnprotectMemory
CryptVerifyDetachedMessageSignature
CryptVerifyMessageSignature
CsActiveTime
CsActiveTimeBuckets
CsActiveTimePerBucket
CsActiveTimeUnattributed
CsDurationInMinutes
CS_E_ADMIN_LIMIT_EXCEEDED
CS_E_CLASS_NOTFOUND
CS_E_INTERNAL_ERROR
CS_E_INVALID_PATH
CS_E_INVALID_VERSION
CSelectTool
CS_E_NETWORK_ERROR
CS_E_NO_CLASSSTORE
CS_E_NOT_DELETABLE
CsEnterReason
CS Entry
CS_E_OBJECT_ALREADY_EXISTS
CS_E_OBJECT_NOTFOUND
CS_E_PACKAGE_NOTFOUND
CS_E_SCHEMA_MISMATCH
CsExitReason
CShadowRpcUtils::s_Bind failed
CShadowRpcUtils::s_BindSecure failed
__C_specific_handler
CSrApiViewerAxHost
CSrApiViewerAxHost::s_LaunchViewer failed!
csSessionId
CsSessionId
cssszNNNHXX
CStatBar
CsUnattributedTime
                                  csv - comma separated values (MANDATORY)
CTADialog
CTextTool
CThumbNailView
CTSBufferResult
CTSBufferResult::CreateInstance failed!
CTSBufferResult::CreateInstancePool failed!
CTscAuthenticationBlob::CreateInstance
CTscComHelper::StartRemoteApplication failed!
CTscCredentialsQueryUi
CTscCredentialsQueryUi::CreateInstance failed!
CTSCoreEvents
CTSCoreEventSink
CTSCoreEventSource
CTSCredManAssistant
CTSCredManAssistant::CreateInstance failed!
CTscRemoteSession
CTscRemoteSession::CreateInstance failed
CTscRemoteSession::CreateInstance failed!
CTscRemoteSession.Initialize failed
CTscRemoteSessionsManager
CTscRemoteSession::StartShell failed
CTscSettings
CTscSettings::LoadDrives failed!
CTscSettings::LoadRedirectedCameras failed!
CTscSettings::LoadRedirectedDrivesAndDevices failed
CTscSettings::LoadSupportedDevices failed!
CTscSettings::LoadSupportedPnPDevices failed!
CTscSettings::LoadSupportedUsbDevices failed!
CTSEventFilterAllowAllEvents
CTSEventFilterAllowSpecifiedEvents
CTSEventFilterAllowSyncEventsOnly
CTSEventFilterBlockAllEvents
CTSMsg::CreateInstancePool failed!
CTSObjectPool
CTSPlatform
CTsRdpCertSignature::GetCertificateChainContext failed
CTsRdpCertSignature::GetCertificateThumbPrint failed
CTsRdpSignature
CTsRdpSignature::Initialize failed
CTSSyncWaitResult
CTSSyncWaitResult::CreateInstancePool failed!
CTSThread
CTS_TLS_ThreadDescriptor
CTSUnknownResult
CTSWorkItemResult
c UAVAWH
c UAVAWI
cuda_version
CUDA Version
CummulativeLogger
CumulativePressCount
CumulativeReleaseCount
CUndoBmObj
currentCapacity
CurrentConfigurationLoadStatus
currentContextId
currentContextMessage
currentContextName
Current day does not match the reboot time for countdown policy
current_dm
current_ecc
CurrentEndHour
Current frequency of graphics (shader) clock.
Current frequency of memory clock.
Current frequency of SM (Streaming Multiprocessor) clock.
current_gom
CurrentInterruptTime
CurrentIP
current_link_gen
current_link_width
Current Max Speed
Current Max Width
current_mig
CurrentNotificationState
CurrentPowerState
CurrentRebootState
Current reboot time is not matching the time scheduled by user
CurrentSmartActiveHoursState
CurrentSmartActiveHoursSuggestionState
Current Speed
CurrentStartHour
Current state is never allowed in the tray.
Current State of the reboot
Current state uses less aggressive display checks
currentStatus
CurrentTimeZoneBias
Current UpToDateStatus
Current Width
CurrentXmlSize
CURSOR_CHANNEL_REGS
curve25519-sha256
curve25519-sha256@libssh.org
CUSTOM 0
CUSTOM 1
CUSTOM 2
CUSTOM 3
CUSTOM 4
CUSTOM 5
CUSTOM 6
CUSTOM 7
CustomizeAutoRestartWarningConfigured
CustomizePage::AddResolutions
CustomizePage::AddRootCauses
CustomizePage::OnListenedEvent
CustomizePage::OnSetActive
CustomizePage::OnWizNext
CustomizePage::ResetCheckboxes
CustomizePage::ResolutionsChecked
CustomizePage::SetupCheckboxes
CustomTelemetry
CUT::GetServerNameFromFullAddress failed!
CUT::UT_GetKnownLowILSafeTempDir failed
cwd is not currently within chroot
__CxxFrameHandler3
__CxxFrameHandler4
_CxxThrowException
CZoomTool
D2DERR_BAD_NUMBER
D2DERR_BITMAP_BOUND_AS_TARGET
D2DERR_BITMAP_CANNOT_DRAW
D2DERR_CYCLIC_GRAPH
D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED
D2DERR_DISPLAY_STATE_INVALID
D2DERR_EFFECT_IS_NOT_REGISTERED
D2DERR_EXCEEDS_MAX_BITMAP_SIZE
D2DERR_INCOMPATIBLE_BRUSH_TYPES
D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES
D2DERR_INTERMEDIATE_TOO_LARGE
D2DERR_INTERNAL_ERROR
D2DERR_INVALID_CALL
D2DERR_INVALID_GLYPH_IMAGE
D2DERR_INVALID_GRAPH_CONFIGURATION
D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION
D2DERR_INVALID_PROPERTY
D2DERR_INVALID_TARGET
D2DERR_LAYER_ALREADY_IN_USE
D2DERR_MAX_TEXTURE_SIZE_EXCEEDED
D2DERR_NO_HARDWARE_DEVICE
D2DERR_NO_SUBPROPERTIES
D2DERR_NOT_INITIALIZED
D2DERR_ORIGINAL_TARGET_NOT_BOUND
D2DERR_OUTSTANDING_BITMAP_REFERENCES
D2DERR_POP_CALL_DID_NOT_MATCH_PUSH
D2DERR_PRINT_FORMAT_NOT_SUPPORTED
D2DERR_PRINT_JOB_CLOSED
D2DERR_PUSH_POP_UNBALANCED
D2DERR_RECREATE_TARGET
D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT
D2DERR_SCANNER_FAILED
D2DERR_SCREEN_ACCESS_DENIED
D2DERR_SHADER_COMPILE_FAILED
D2DERR_TARGET_NOT_GDI_COMPATIBLE
D2DERR_TEXT_EFFECT_IS_WRONG_TYPE
D2DERR_TEXT_RENDERER_NOT_RELEASED
D2DERR_TOO_MANY_SHADER_ELEMENTS
D2DERR_TOO_MANY_TRANSFORM_INPUTS
D2DERR_UNSUPPORTED_OPERATION
D2DERR_UNSUPPORTED_VERSION
D2DERR_WIN32_ERROR
D2DERR_WRONG_FACTORY
D2DERR_WRONG_RESOURCE_DOMAIN
D2DERR_WRONG_STATE
D2DERR_ZERO_VECTOR
d2i_X509
d2i_x509 failed
d2 mode disabled; still in debug mode
D3D10_ERROR_FILE_NOT_FOUND
D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS
D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD
D3D11_ERROR_FILE_NOT_FOUND
D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS
D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS
D3D12_ERROR_ADAPTER_NOT_FOUND
D3D12_ERROR_DRIVER_VERSION_MISMATCH
D3D12_ERROR_INVALID_REDIST
D8I1uvI9P
d@8s@t1L
D8x!u!9p
D97w D9w
D9eot"D9e
D9Mot4E3
D9mXu3D9-l
@D9sTuPD9sLuJD9sXuD
D9 u1D9b
D9 u8D9b
daemon_init
    daemon                      Runs in background and monitor devices as a daemon process.
DATA_BUS_ERROR
dataByteCount
DATA_COHERENCY_EXCEPTION
data does not exist
data error
DataMigrationStatus
Data migration successful
DATA_S_SAMEFORMATETC
Data Struct:
dataVersion
DaylightBias
DaylightBoundaryInLocalTime
DaylightStart
DaylightStartDay
DaylightStartHour
DaylightStartMilliseconds
DaylightStartMinute
DaylightStartMonth
DaylightStartSecond
DaylightStartWeekday
DaylightStartYear
daysBeforeAlert
Days Before Alert Default
Days before icon notification read from OneSettings
daysBeforeWarning
Days Before Warning Default
DaysDelayedAfterFirstEncounter
DaysDelayedAfterOOBE
Days limit
DaysSinceRebootRequired
Days to delay read from OneSettings
DBG_APP_NOT_IDLE
DbgBreakPoint
DbgBreakPointWithStatus
DBG_COMMAND_EXCEPTION
DbgCommandString
DBG_CONTINUE
DBG_CONTROL_BREAK
DBG_CONTROL_C
DBG_EXCEPTION_HANDLED
DBG_EXCEPTION_NOT_HANDLED
DBGK: Calling IoCaptureLiveDump
DBGK: Could not allocate an Io Control.
DBGK: Could not allocate IoLivedumpControl
DBGK: Could not allocate timer.
DBGK: DbgkWerAddSecondaryData: Invalid parameter.
DBGK: DbgkWerCaptureLiveKernelDump: called before initialization.
DBGK: File was not opened for synchronous access.
DBGK: Full Live Kernel Dumps are disabled. Failing request.
DBGK: KeCapturePersistentThreadState failed
DbgkLkmdRegisterCallback
DbgkLkmdUnregisterCallback
DbgkWerCaptureLiveKernelDump
DbgLoadImageSymbols
DBG_NO_STATE_CHANGE
DbgPrint
DbgPrintEx
DBG_PRINTEXCEPTION_C
DBG_PRINTEXCEPTION_WIDE_C
DbgPrintReturnControlC
DbgPrompt
DbgQueryDebugFilterState
DBG_REPLY_LATER
DBG_RIPEXCEPTION
DbgSetDebugFilterState
DbgSetDebugPrintCallback
DBG_TERMINATE_PROCESS
DBG_TERMINATE_THREAD
DBG_UNABLE_TO_PROVIDE_HANDLE
      -D[bind_address:]port                  Request dynamic forward
dcAlarmSignaled
DCOMPOSITION_ERROR_SURFACE_BEING_RENDERED
DCOMPOSITION_ERROR_SURFACE_NOT_BEING_RENDERED
DCOMPOSITION_ERROR_WINDOW_ALREADY_COMPOSED
DC Power
dcProgrammedTime
DDD@DDD@
DDD@DDD@DDD@
DDDDDDDDD@
DDDDDDDDDDDDDD
DDDDDDDDDGpw
DDDDDDFDD
  -D          Delete all identities.
  -d          Delete identity.
DDFDdDDDDlDLFLlD
          d: Display tx and rx data payload in KiB
DDTeFDDDDD
Deactivate
DeactivateActCtx
DeactivateReason
Deadline from policy is set
Deadline hour is not available to show up
deadlineInDays
deadlineInDaysForFU
deadlineInDaysForNonFU
Deadline policy toast timespan has not passed
Deadline policy toast timespan has passed
Deadline policy with Grace period: Attempting auto reboot
Deadline policy with Grace period: Attempting force reboot
Deadline policy with Grace Period Notification User Response :
Deadline warning notification time since last shown
Deadline warning notification will not be shown because it did not pass cadence
Deadlock detection: Must release resources in reverse-order
DebugBreak
DEBUG_BREAKPOINT
DEBUG_BREAKPOINT_V3
debug_buffers
December
DeclaredConfigurationAlertSummary
decode_attrib
DecodeBase64W
DecodedSize
DecodePointer
decoder_count
Decoder count
decoder_util
   (Decodes the dump.zip dump file.)
DecryptData
DecryptDataPKCS7
DecryptFileW
DecryptPKCS7Blob
    DEC Utilization Samples
DeepSleepBlockerDurationsInUs
?DefaultAction@CCBase@DirectUI@@UEAAJXZ
?DefaultAction@Element@DirectUI@@UEAAJXZ
defaultAlert1
    Default Applications Clocks
Default behavior on full stack and mobile is Auto reboot and Engaged reboot
Default behavior on full stack is Direct To Engaged reboot
Default behavior on full stack is Enhanced Engaged - Extended Reboot
DefaultCabAndUpload
Default frequency at which applications will be running at. Application clocks can be changed with [-ac | --applications-clocks] switches. Application clocks can be set to default using [-rac | --reset-applications-clocks] switches.
Default frequency of applications graphics (shader) clock.
Default frequency of applications memory clock.
Default ignorable reasons
DefaultMode::Run
default_power_limit
Default Power Limit
Default reboot workflow
Default threshold for sbc in AH reboot policy is retrieved via OneSettings
Default threshold for sbc in auto reboot is retrieved via OneSettings
DefDlgProcW
deferDumpFileWrite
Deferred
DeferredRebootReasonSmartBusyCheckPredictedUser
Deferred the reboot
Deferred the reboot and the reason is: display is needed
Deferred the reboot and the reason is: system is needed
Deferred the reboot and the reason is: user active
Deferring doze to S4
Deferring PIN entry to reader keypad.
deferring postauth fork until remote forward confirmation received
DefineDosDeviceW
 deflate 1.2.3 Copyright 1995-2005 Jean-loup Gailly 
 deflate 1.2.8 Copyright 1995-2013 Jean-loup Gailly and Mark Adler 
DefWindowProcW
delayDays
delayDaysOOBE
DelayLoadFailureHook
Delay updated
Delegating credentials
 delete[]
DeleteAKey failed
DeleteCriticalSection
DeleteDC
DeleteDirectory
deleted via a prior call to IoDeleteDevice.
DeleteFileA
DeleteFileW
DeleteMenu
DeleteObject
Delete PowerRequest
DeleteProcThreadAttributeList
DeleteSavedCreds(CRED_TYPE_DOMAIN_PASSWORD) failed
DeleteSavedCreds(CRED_TYPE_GENERIC) failed
DeleteService
Delete this file to ensure privacy of hostnames
DeleteTimerQueueEx
DeleteTimerQueueTimer
DeleteTransactionServerKey failed
DeleteTransactionServerKey returned false -- post mode may have failed
DeniedTokenCreation
DENSITY_1G
DENSITY_256M
DENSITY_2G
DENSITY_4G
DENSITY_512M
DENSITY_8G
DensityType
DEREF_UNKNOWN_LOGON_SESSION
DeregisterEventSource
derive_key
designedCapacity
DesiredAccess
DesiredFreeGoal
DesiredNumaNode
desktopHeight
DesktopKeepOnReminder
desktopScaleFactor
desktopWidth
          destination
destination address required
destination_address_required
Destination address required
destination file bigger or same size as source file
DESTINATION_FLA_TRANSLATION_ERROR
DestroyAcceleratorTable
?DestroyAll@Element@DirectUI@@QEAAJ_N@Z
?DestroyCP@TaskPage@DirectUI@@EEAAXXZ
DestroyCursor
?Destroy@DUIXmlParser@DirectUI@@QEAAXXZ
?Destroy@Element@DirectUI@@QEAAJ_N@Z
DestroyEnvironmentBlock
DestroyIcon
DestroyInteractionContext
?Destroy@Layout@DirectUI@@QEAAXXZ
DestroyMenu
?DestroyMsg@NativeHWNDHost@DirectUI@@SAIXZ
?Destroy@NativeHWNDHost@DirectUI@@QEAAXXZ
DestroyPrivateObjectSecurity
DestroyWindow
?DestroyWindow@NativeHWNDHost@DirectUI@@QEAAXXZ
DetailsMode::Run
DetailsPage::OnKillActive
DetailsPage::OnMessage
DetailsPage::OnSetActive
DeveloperModeEnabled
--device
device_attributes
Device Attributes
DeviceBucketCounts
DeviceBucketTimesUs
DeviceClassGuid
DeviceClassName
DeviceCnt
DeviceConfig
DeviceConstraintIntervalCount
DeviceCount
DeviceDiagnostics
Device effective deadline time from UX: 
DeviceFound
DeviceHresult
Device Id
DeviceId
	Device ID
Device ID
Device ID (zero-based)
Device in auto reboot limit:
Device in Failed notification window since enter auto
deviceInstance
DeviceInstanceId
DeviceIoControl
Device is: Entering EnterAuto state because Auto accept notification is already shown in auto mode
Device is: Entering EnterAuto state because Auto accept notification is already shown in engaged mode
Device is: Entering Ultimate Forced state because Auto accept notification is already shown in forced mode
Device is in: Engaged mode
Device is in: Enter auto state
Device is in Failed notification window since user scheduled reboot failed in engaged
Device is in: Forced state
Device is in: Intermediate auto state
Device is in: Ultimate auto state
Device is in: Ultimate forced state
Device is in: User Accept auto state
Device is not in a time window to show failed notification in auto reboot so checking to see if user scheduled reboot failed.
Device is not in Failed notification window since enter auto
Device is not ready for reboot
Device is not ready for reboot: Battery saver is ON
Device is past deadline so scheduling forced reboot.
Device is pending reboot for the first time so scheduling a reboot
Device is ready for reboot
Device is ready for reboot: Reboot is scheduled by user
Device is ready to show reboot dialog
DeviceLocalTime
DeviceMarkedCount
device_memory
Device Memory
deviceMigitationStatus
  DEVICE MODIFICATION OPTIONS:
 Device Monitoring:
deviceName
DeviceObject
device objects elsewhere in the stack.
device or resource busy
devicePastEffectiveDeadline
DevicePowerDeltaMw
DevicePowerMw
DEVICE_QUEUE_NOT_BUSY
DEVICE_REFERENCE_COUNT_NOT_ZERO
DeviceRemovalForResetComplete
DeviceRemoveProcessVeto
DeviceState
deviceStatsCollectValAdd failed
deviceStatsInit failed
(DeviceTextDescription)
(DeviceTextLocationInformation)
DeviceTotalTimeUs
(DeviceUsageTypeDumpFile
(DeviceUsageTypeHibernation
(DeviceUsageTypePaging
(DeviceUsageTypeUndefined
DEVID_MISMATCH
DevNodeState
DevObjChangeState
DevObjCreateClassDeviceInfoList
DevObjCreateDeviceInfo
DevObjCreateDeviceInfoList
DevObjCreateDevRegKey
DevObjDeleteDevice
DevObjDestroyDeviceInfoList
DEVOBJ.dll
DevObjEnumDeviceInfo
DevObjGetDeviceInstanceId
DevObjGetDeviceRegistryProperty
DevObjOpenDeviceInfo
DevObjOpenDevRegKey
DevObjRegisterDeviceInfo
DevObjSetDeviceRegistryProperty
@DFDDDDDD
df [-hi] [path]                    Display statistics for current directory or
dfl:prtTvBCc:i:P:q12346S:o:F:J:
DFSC_FILE_SYSTEM
DFS_FILE_SYSTEM
DfxTransitionCount
DH_compute_key
dhcpcsvc.DLL
DhcpDomain
DhcpEnabled
DhcpEnableDhcp
DhcpSearchList
DH_generate_key
DH GEX group out of range
dh_pub_is_valid
DialogBoxIndirectParamW
DialogBoxParamW
 DialogNotificationToBeDisplayed
dialogRebootReminderCadenceInHours
dialogToSecondDialogReminderInHours
DialogType
d;iCClientUtils
Diffie-Hellman
diffie-hellman-group14-sha1
diffie-hellman-group14-sha256
diffie-hellman-group16-sha512
diffie-hellman-group18-sha512
diffie-hellman-group1-sha1
diffie-hellman-group-exchange-sha1
diffie-hellman-group-exchange-sha256
Diff. Map
DifLoadPlugins
DifUpdatePluginState
DigiCert Inc1
DigiCert Trusted Root G40
DIGSIG_E_CRYPTO
DIGSIG_E_DECODE
DIGSIG_E_ENCODE
DIGSIG_E_EXTENSIBILITY
DimTimeoutSeconds
DimTimeoutSpan
                              D - Include Date (YYYYMMDD) in scrolling output
DirectedDripsCandidateDevice
DIRECTED_FX_TRANSITION_LIVEDUMP
DirectEngagedReboot
?DirectionProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
directory not empty
Directory not empty
Direct PCI access is not supported on this platform
direct-streamlocal@openssh.com
direct-tcpip
Direct To Engaged logic values:
DIRTY_MAPPED_PAGES_CONGESTION
DIRTY_NOWRITE_PAGES_CONGESTION
DisableAllNotificationsSet
DisableAutoRestartNotificationsConfigured
DisableCount
disabled
Disabled
Disabled*
DISABLED
DISABLEDYNAMICTICK
disableInterruptsDuration_ms
disableReasonTimesSeconds
Disable UX Access Policy
discarded
dischargePolicyIndex
disconnected
Disconnected
disconnected by user
DisconnectedStandby
Disconnect failed
DisconnectNamedPipe
DISORDERLY_SHUTDOWN
DispatchMessageW
dispatch_protocol_error
DISP_E_ARRAYISLOCKED
DISP_E_BADCALLEE
DISP_E_BADINDEX
DISP_E_BADPARAMCOUNT
DISP_E_BADVARTYPE
DISP_E_BUFFERTOOSMALL
DISP_E_DIVBYZERO
DISP_E_EXCEPTION
DISP_E_MEMBERNOTFOUND
DISP_E_NONAMEDARGS
DISP_E_NOTACOLLECTION
DISP_E_OVERFLOW
DISP_E_PARAMNOTFOUND
DISP_E_PARAMNOTOPTIONAL
DispError
DISP_E_TYPEMISMATCH
DISP_E_UNKNOWNINTERFACE
DISP_E_UNKNOWNLCID
DISP_E_UNKNOWNNAME
--display
display_active
Display Active
DisplayApphelpDialog
displayBBar
DISPLAY_CHANNEL_EXCEPTION
DisplayChecksToRespect
Display Clock Setting
DisplayCount
Display detailed information about supported vGPU types or vGPU types that can be created
DisplayDimTimeout
Display error counters for a link.
Display GPU engine usage by currently active process running in the vGPU VMs
Display GPU engine usage by currently active vGPUs
Display Heads
       Display help information
Display help information
Display information about currently running vGPUs
Display is allowed for current state by default
Display link capabilities.
Display link throughput counters for specified counter type
DisplayMessageM
DisplayMessageToConsole
display_mode
Display Mode
DisplayNotificationUxState
DISPLAY not set.
DisplayOffTimeout
Display of notification is skipped for metered network and rescheduled to show at a later time
Display per-lane CRC error counters for a link.
Display remote device PCI bus ID and NvLink ID for a link.
Display remote node PCI bus ID for a link.
DisplayRequestActive
DisplayRequestEnded
Display specific metric. Provide comma separated
DisplayState
DisplayStateChanged
DisplayStateChangedReason
DisplayStateReason
Display supported vGPU types
Display the information about encoder sessions for currently running vGPUs
Display the information about FBC sessions for currently running vGPUs
Display the vGPU types that can currently be created
?        Display this list.
DISP_SUPERVISOR_ERROR
DllGetClassObject
DllGetTscCtlVer
DllInitialize
DlLlLLL|g
__dllonexit
DllRegisterServer
DllUnload
DMA adapters aren't supposed to be NULL anymore
DMAccountLookupType
DMA_COMMON_BUFFER_VECTOR_ERROR
DmaGuardIommuDeviceProperties
DmaGuardSystemPolicy
DmaVrfy0 
DmCancelGetUserPermissionAsync
DmCheckIfAadAccountLoggedOn
DMCmnUtils.dll
DmCreateTask
DmDeleteTask
dmEnrollEngine.DLL
dmenterprisediagnostics.dll
DmGetAadDeviceToken
DmGetAadUserToken
DmGetActiveUserSid
DmGetUserPermission
DmGetUserPermissionAsync
DmImpersonate
DmInformUser
DmInitializeContainer
DmIsDeviceConnected
DmIsDeviceRoaming
dmiso8601utils.dll
DmIsTaskScheduled
DMMA HIGH K
DMMA LOW K
DMMA PERF
DmMdmSign
    dmon                        Displays device stats in scrolling format.
DmPlayNotificationSound
DMPushProxy.dll
DmRegisterRoamingNotification
DmReleaseContainer
DmRevertToSelf
DmRunTask
DmStartContainerActivity
DmStopContainerActivity
DMUI_DisplayConfigurationResult
DmUnregisterRoamingNotification
DmWnfQuery
DNSAPI.dll
DNS_ERROR_ADDRESS_REQUIRED
DNS_ERROR_ALIAS_LOOP
DNS_ERROR_AUTOZONE_ALREADY_EXISTS
DNS_ERROR_AXFR
DNS_ERROR_BACKGROUND_LOADING
DNS_ERROR_BAD_KEYMASTER
DNS_ERROR_BAD_PACKET
DNS_ERROR_CANNOT_FIND_ROOT_HINTS
DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS
DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST
DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED
DNS_ERROR_CNAME_COLLISION
DNS_ERROR_CNAME_LOOP
DNS_ERROR_DATAFILE_OPEN_FAILURE
DNS_ERROR_DATAFILE_PARSING
DNS_ERROR_DEFAULT_SCOPE
DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE
DNS_ERROR_DEFAULT_ZONESCOPE
DNS_ERROR_DELEGATION_REQUIRED
DNS_ERROR_DNAME_COLLISION
DNS_ERROR_DNSSEC_IS_DISABLED
DNS_ERROR_DP_ALREADY_ENLISTED
DNS_ERROR_DP_ALREADY_EXISTS
DNS_ERROR_DP_DOES_NOT_EXIST
DNS_ERROR_DP_FSMO_ERROR
DNS_ERROR_DP_NOT_AVAILABLE
DNS_ERROR_DP_NOT_ENLISTED
DNS_ERROR_DS_UNAVAILABLE
DNS_ERROR_DS_ZONE_ALREADY_EXISTS
DNS_ERROR_DWORD_VALUE_TOO_LARGE
DNS_ERROR_DWORD_VALUE_TOO_SMALL
DNS_ERROR_FILE_WRITEBACK_FAILED
DNS_ERROR_FORWARDER_ALREADY_EXISTS
DNS_ERROR_INCONSISTENT_ROOT_HINTS
DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME
DNS_ERROR_INVALID_CLIENT_SUBNET_NAME
DNS_ERROR_INVALID_DATAFILE_NAME
DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET
DNS_ERROR_INVALID_IP_ADDRESS
DNS_ERROR_INVALID_KEY_SIZE
DNS_ERROR_INVALID_NAME_CHAR
DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT
DNS_ERROR_INVALID_POLICY_TABLE
DNS_ERROR_INVALID_PROPERTY
DNS_ERROR_INVALID_ROLLOVER_PERIOD
DNS_ERROR_INVALID_SCOPE_NAME
DNS_ERROR_INVALID_SCOPE_OPERATION
DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD
DNS_ERROR_INVALID_TYPE
DNS_ERROR_INVALID_XML
DNS_ERROR_INVALID_ZONE_OPERATION
DNS_ERROR_INVALID_ZONESCOPE_NAME
DNS_ERROR_INVALID_ZONE_TYPE
DNS_ERROR_KEYMASTER_REQUIRED
DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION
DNS_ERROR_KSP_NOT_ACCESSIBLE
DNS_ERROR_LOAD_ZONESCOPE_FAILED
DNS_ERROR_NAME_DOES_NOT_EXIST
DNS_ERROR_NAME_NOT_IN_ZONE
DNS_ERROR_NBSTAT_INIT_FAILED
DNS_ERROR_NEED_SECONDARY_ADDRESSES
DNS_ERROR_NEED_WINS_SERVERS
DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE
DNS_ERROR_NO_CREATE_CACHE_DATA
DNS_ERROR_NODE_CREATION_FAILED
DNS_ERROR_NODE_IS_CNAME
DNS_ERROR_NODE_IS_DNAME
DNS_ERROR_NO_DNS_SERVERS
DNS_ERROR_NON_RFC_NAME
DNS_ERROR_NO_PACKET
DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD
DNS_ERROR_NOT_ALLOWED_ON_RODC
DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER
DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE
DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE
DNS_ERROR_NOT_ALLOWED_ON_ZSK
DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION
DNS_ERROR_NOT_ALLOWED_UNDER_DNAME
DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES
DNS_ERROR_NO_TCPIP
DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS
DNS_ERROR_NOT_UNIQUE
DNS_ERROR_NO_VALID_TRUST_ANCHORS
DNS_ERROR_NO_ZONE_INFO
DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1
DNS_ERROR_NSEC3_NAME_COLLISION
DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1
DNS_ERROR_NUMERIC_NAME
DNS_ERROR_POLICY_ALREADY_EXISTS
DNS_ERROR_POLICY_DOES_NOT_EXIST
DNS_ERROR_POLICY_INVALID_CRITERIA
DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET
DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN
DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE
DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL
DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE
DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY
DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL
DNS_ERROR_POLICY_INVALID_NAME
DNS_ERROR_POLICY_INVALID_SETTINGS
DNS_ERROR_POLICY_INVALID_WEIGHT
DNS_ERROR_POLICY_LOCKED
DNS_ERROR_POLICY_MISSING_CRITERIA
DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID
DNS_ERROR_POLICY_SCOPE_MISSING
DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED
DNS_ERROR_PRIMARY_REQUIRES_DATAFILE
DNS_ERROR_RCODE
DNS_ERROR_RCODE_BADKEY
DNS_ERROR_RCODE_BADSIG
DNS_ERROR_RCODE_BADTIME
DNS_ERROR_RCODE_FORMAT_ERROR
DNS_ERROR_RCODE_NAME_ERROR
DNS_ERROR_RCODE_NOTAUTH
DNS_ERROR_RCODE_NOT_IMPLEMENTED
DNS_ERROR_RCODE_NOTZONE
DNS_ERROR_RCODE_NXRRSET
DNS_ERROR_RCODE_REFUSED
DNS_ERROR_RCODE_SERVER_FAILURE
DNS_ERROR_RCODE_YXDOMAIN
DNS_ERROR_RCODE_YXRRSET
DNS_ERROR_RECORD_ALREADY_EXISTS
DNS_ERROR_RECORD_DOES_NOT_EXIST
DNS_ERROR_RECORD_FORMAT
DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT
DNS_ERROR_RECORD_TIMED_OUT
DNS_ERROR_ROLLOVER_ALREADY_QUEUED
DNS_ERROR_ROLLOVER_IN_PROGRESS
DNS_ERROR_ROLLOVER_NOT_POKEABLE
DNS_ERROR_RRL_INVALID_IPV4_PREFIX
DNS_ERROR_RRL_INVALID_IPV6_PREFIX
DNS_ERROR_RRL_INVALID_LEAK_RATE
DNS_ERROR_RRL_INVALID_TC_RATE
DNS_ERROR_RRL_INVALID_WINDOW_SIZE
DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE
DNS_ERROR_RRL_NOT_ENABLED
DNS_ERROR_SCOPE_ALREADY_EXISTS
DNS_ERROR_SCOPE_DOES_NOT_EXIST
DNS_ERROR_SCOPE_LOCKED
DNS_ERROR_SECONDARY_DATA
DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP
DNS_ERROR_SERVERSCOPE_IS_REFERENCED
DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE
DNS_ERROR_SOA_DELETE_INVALID
DNS_ERROR_STANDBY_KEY_NOT_PRESENT
DNS_ERROR_SUBNET_ALREADY_EXISTS
DNS_ERROR_SUBNET_DOES_NOT_EXIST
DNS_ERROR_TOO_MANY_SKDS
DNS_ERROR_TRY_AGAIN_LATER
DNS_ERROR_UNEXPECTED_CNG_ERROR
DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR
DNS_ERROR_UNKNOWN_RECORD_TYPE
DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION
DNS_ERROR_UNSECURE_PACKET
DNS_ERROR_UNSUPPORTED_ALGORITHM
DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS
DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST
DNS_ERROR_VIRTUALIZATION_TREE_LOCKED
DNS_ERROR_WINS_INIT_FAILED
DNS_ERROR_ZONE_ALREADY_EXISTS
DNS_ERROR_ZONE_CONFIGURATION_ERROR
DNS_ERROR_ZONE_CREATION_FAILED
DNS_ERROR_ZONE_DOES_NOT_EXIST
DNS_ERROR_ZONE_HAS_NO_NS_RECORDS
DNS_ERROR_ZONE_HAS_NO_SOA_RECORD
DNS_ERROR_ZONE_IS_SHUTDOWN
DNS_ERROR_ZONE_LOCKED
DNS_ERROR_ZONE_LOCKED_FOR_SIGNING
DNS_ERROR_ZONE_NOT_SECONDARY
DNS_ERROR_ZONE_REQUIRES_MASTER_IP
DNS_ERROR_ZONESCOPE_ALREADY_EXISTS
DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST
DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED
DNS_ERROR_ZONESCOPE_IS_REFERENCED
DnsFreeConfigStructure
DnsHostnameToComputerNameW
DNS_INFO_ADDED_LOCAL_WINS
DNS_INFO_AXFR_COMPLETE
DNS_INFO_NO_RECORDS
DNSLookupOrder
DnsQueryConfigAllocEx
dns_read_key
DNS_REQUEST_PENDING
DNS request timed out.
DNS SPOOFING is happening or the IP address for the host
DNS_STATUS_CONTINUE_NEEDED
DNS_STATUS_DOTTED_NAME
DNS_STATUS_FQDN
DNS_STATUS_SINGLE_PART_NAME
DNS_WARNING_DOMAIN_UNDELETED
DNS_WARNING_PTR_CREATE_FAILED
do_ca_sign
DockDeviceEnumerated
Docked Profile
DockStatus
do_close
do_convert_from
do_convert_from_pem
do_convert_from_pkcs8
do_convert_from_ssh2
do_convert_private_ssh2
do_convert_to
do_convert_to_pem
do_convert_to_pkcs8
do_convert_to_ssh2
do_download
                                Doesn't work with -u or -x flags.
do_fsync
do_hardlink
?DoInvokeArgs@ElementProvider@DirectUI@@QEAAJHP6APEAVProviderProxy@2@PEAVElement@2@@ZPEAD@Z
?DoInvoke@ElementProvider@DirectUI@@IEAAJHZZ
do_known_hosts
do_local_cmd
do_local_cmd: no arguments
do_lsetstat
do_lsreaddir
Domain error
DOMAIN error
DomainJoined
domain name (DNAME)
domain name pointer
?DoMethod@ElementProxy@DirectUI@@UEAAJHPEAD@Z
do_print_resource_record
do_realpath
do_rename
DOSCALLSL9D
DosDateTimeToFileTime
do_statvfs
do_symlink
            Double Bit            
Double Bit ECC
 - Double Bit ECC - The number of GPU device memory pages that have been retired due to a double bit ECC error.
?DoubleBuffered@Element@DirectUI@@QEAAX_N@Z
do_upload
Download
Download did not complete in the required timeout
DownloadFile
DownloadNeedMoreSpace
DownloadNeedUserAgreement
DownloadNeedUserAgreementPerCTA
DownloadNeedWifi
DownloadViaCellularNeedUserAgreement
down) or non-PDO has failed the irp using incorrect value of
DozeDeferralDeniedReasons
DozeDeferralMaxSeconds
DozeDeferralStartTime
DozeToS4Deferral
DPC_WATCHDOG_TIMEOUT
DPC_WATCHDOG_VIOLATION
DP_LT_FAILURE
DragAcceptFiles
DRAGDROP_E_ALREADYREGISTERED
DRAGDROP_E_CONCURRENT_DRAG_ATTEMPTED
DRAGDROP_E_INVALIDHWND
DRAGDROP_E_NOTREGISTERED
DRAGDROP_S_CANCEL
DRAGDROP_S_DROP
DRAGDROP_S_USEDEFAULTCURSORS
DragFinish
DragQueryFileW
dram_correctable
DRAM Correctable
dram_uncorrectable
DRAM Uncorrectable
DrawFocusRect
DrawIcon
DrawIconEx
DrawStart
DrawTextExW
DrawTextW
DrawThemeBackground
DrawThemeTextEx
DripsHistogram
DripsPercentage
DripsResidency
DRIPS_SW_HW_DIVERGENCE_LIVEDUMP
DripsTransitions
DRIVE_EXTENDER
DriverBase
DriverBlocked
DriverCancel
DRIVER_CAUGHT_MODIFYING_FREED_POOL
DRIVER_CORRUPTED_EXPOOL
DRIVER_CORRUPTED_MMPOOL
DRIVER_CORRUPTED_SYSPTES
DriverDate
DriverEntry
DriverFlightIds
Driver has allocated too many simultaneous adapter channels.
Driver has freed too many simultaneous adapter channels.
Driver has returned a suspicious status. This is probably due to an
DriverInfName
DRIVER_INVALID_CRUNTIME_PARAMETER
DRIVER_INVALID_STACK_ACCESS
DRIVER_IRQL_NOT_LESS_OR_EQUAL
Driver is attempting to map a 0-length transfer.
DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS
driver_model
    Driver Model
driver_model.current
driver_model.pending
DriverName
Driver Not Loaded
DRIVER_OVERRAN_STACK_BUFFER
DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
DRIVER_PAGE_FAULT_IN_FREED_SPECIAL_POOL
DRIVER_PNP_WATCHDOG
DRIVER_PORTION_MUST_BE_NONPAGED
DRIVER_POWER_STATE_FAILURE
DriverProvider
DRIVER_RETURNED_HOLDING_CANCEL_LOCK
DRIVER_RETURNED_STATUS_REPARSE_FOR_VOLUME_OPEN
- drivers cannot fail a PnP IRP with this value.
- drivers cannot fail a Power IRP with this value.
DriverSize
DriverStartIo
DriverSubmissionId
DriverUnload
DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS
DRIVER_UNMAPPING_INVALID_VIEW
DRIVER_USED_EXCESSIVE_PTES
Driver Verifier: Clearing Verifier options from Registry for preventing recursive crash.
Driver Verifier detected that this system didn't finish shutting down
Driver Verifier detected violation:
DRIVER_VERIFIER_DETECTED_VIOLATION
DRIVER_VERIFIER_DETECTED_VIOLATION_LIVEDUMP
DRIVER_VERIFIER_DMA_VIOLATION
DRIVER_VERIFIER_IOMANAGER_VIOLATION
Driver Verifier: VERIFIER_OPTION_ONEBOOT set before boot. Clearing Verifier options from Registry.
driver_version
Driver Version
DriverVersion
DRIVER_VIOLATION
D	RSA_size
dsaauthentication
DSA-CERT
DsAddressToSiteNamesExA
DSA_do_sign
DSA_do_verify
DSA_free
DSA_generate_key
DSA_generate_parameters_ex
DSA_SIG_free
DSA_SIG_new
DsBindWithSpnExW
DsCrackNamesW
DsDeregisterDnsHostRecordsA
DsEnumerateDomainTrustsA
DsFreeDomainControllerInfoW
DsFreeNameResultW
          [-D sftp_server_path] [-F ssh_config] [-i identity_file]
DsGetDcCloseW
DsGetDcNameA
DsGetDcNameW
DsGetDcNameWithAccountW
DsGetDcNextA
DsGetDcOpenA
DsGetDcSiteCoverageA
DsGetDomainControllerInfoW
DsGetForestTrustInformationW
DsGetSiteNameA
DsReason
DSREPAIR
DSROLE.dll
DsRoleFreeMemory
DsRoleGetPrimaryDomainInformation
DsUnBindW
DtcDebugBreak
          --dtd                 Print device DTD and exit.
DTE Enabled by default for Ring
DTE Enabled by test hook
DTE Enabled from OneSettings
DTURebootDialog
DTURebootForcedDialog
DUI70.dll
?DUICreatePropertySheetPage@TaskPage@DirectUI@@QEAAJPEAUHINSTANCE__@@@Z
--dumpall
Dump all components
dump_client_config
DumpDataBuffering
dumpDataBufferingDuration_ms
Dumping all components.
Dumping nvlog.  The dump file will be in plaintext.
Dumps only nvlog
   (Dumps the dump.zip dump file.)
dump.zip
DuplicateEncryptionInfoFile
DuplicateHandle
DuplicateToken
DuplicateTokenEx
DUPLICATE_VENDOR_CERT_FOUND
duration
Duration
durationInMins
DurationInMs
DurationInMS
durationInSeconds
DurationInSeconds
Duration updated
DUser.dll
DutyCycling
dV22tN::
DV_E_CLIPFORMAT
DV_E_DVASPECT
DV_E_DVTARGETDEVICE
DV_E_DVTARGETDEVICE_SIZE
DV_E_FORMATETC
DV_E_LINDEX
DV_E_NOIVIEWOBJECT
DV_E_STATDATA
DV_E_STGMEDIUM
DV_E_TYMED
dVM_D94K'
DVmmmmmmmmmmmmmmmm
DVRF: Driver switched stacks using an unsupported method!
DwiSyncFlushTime
dwmapi.dll
DWM_E_ADAPTER_NOT_FOUND
DWM_E_COMPOSITIONDISABLED
DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE
DWM_E_NOT_QUEUING_PRESENTS
DWM_E_REMOTING_NOT_SUPPORTED
DWMERR_CATASTROPHIC_FAILURE
DWMERR_STATE_TRANSITION_FAILED
DWMERR_THEME_FAILED
DWM_E_TEXTURE_TOO_LARGE
DwmGetWindowAttribute
DwmSetWindowAttribute
DWM_S_GDI_REDIRECTION_SURFACE
DWM_S_GDI_REDIRECTION_SURFACE_BLT_VIA_GDI
DWordMult failed
DWORD_SHIFT
DWRITE_E_ALREADYREGISTERED
DWRITE_E_CACHEFORMAT
DWRITE_E_CACHEVERSION
DWRITE_E_DOWNLOADCANCELLED
DWRITE_E_DOWNLOADFAILED
DWRITE_E_FILEACCESS
DWRITE_E_FILEFORMAT
DWRITE_E_FILENOTFOUND
DWRITE_E_FLOWDIRECTIONCONFLICTS
DWRITE_E_FONTCOLLECTIONOBSOLETE
DWRITE_E_NOCOLOR
DWRITE_E_NOFONT
DWRITE_E_REMOTEFONT
DWRITE_E_TEXTRENDERERINCOMPATIBLE
DWRITE_E_TOOMANYDOWNLOADS
DWRITE_E_UNEXPECTED
DWRITE_E_UNSUPPORTEDOPERATION
DwzAddWERParameters
DwzGetSingleNode
DwzIsPhysicallyLoggedOn
DwzLoadIcon
DwzLoadLocalString
DwzLoadResourceString
DwzLoadSmallIcon
DwzParseLocaleString
DwzRegReadValue
DwzRegWriteValue
DwzSqmCustomTelemetry
DwzSqmError
DwzSqmExit
DwzSqmID
DwzSqmResolution
DwzSqmRootCause
DwzSqmUserContext
DwzStrCat
DwzStrCpy
DwzStringTrim
DwzStrTok
DwzStrTruncate
DwzSubmitWERReport
DwzSubstituteXmlParameters
DwzTryLoadFileResource
DwzTryLoadResourceString
DwzXmlCheckNode
DwzXmlCreate
DwzXmlCreateElement
DwzXmlGetChildNodes
DwzXmlGetNode
DwzXmlGetNodes
DwzXmlGetNumChildNodes
DwzXmlGetRootNode
DwzXmlLoad
DwzXmlNextNode
DwzXmlSetSelectionNamespace
DXCORE_ERROR_EVENT_NOT_UNREGISTERED
DXGI_DDI_ERR_NONEXCLUSIVE
DXGI_DDI_ERR_UNSUPPORTED
DXGI_DDI_ERR_WASSTILLDRAWING
dxgi.dll
DXGI_ERROR_ACCESS_DENIED
DXGI_ERROR_ACCESS_LOST
DXGI_ERROR_ALREADY_EXISTS
DXGI_ERROR_CACHE_CORRUPT
DXGI_ERROR_CACHE_FULL
DXGI_ERROR_CACHE_HASH_COLLISION
DXGI_ERROR_CANNOT_PROTECT_CONTENT
DXGI_ERROR_DEVICE_HUNG
DXGI_ERROR_DEVICE_REMOVED
DXGI_ERROR_DEVICE_RESET
DXGI_ERROR_DRIVER_INTERNAL_ERROR
DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION
DXGI_ERROR_FRAME_STATISTICS_DISJOINT
DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE
DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY
DXGI_ERROR_INVALID_CALL
DXGI_ERROR_MODE_CHANGE_IN_PROGRESS
DXGI_ERROR_MORE_DATA
DXGI_ERROR_NAME_ALREADY_EXISTS
DXGI_ERROR_NON_COMPOSITED_UI
DXGI_ERROR_NONEXCLUSIVE
DXGI_ERROR_NOT_CURRENT
DXGI_ERROR_NOT_CURRENTLY_AVAILABLE
DXGI_ERROR_NOT_FOUND
DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED
DXGI_ERROR_REMOTE_OUTOFMEMORY
DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE
DXGI_ERROR_SDK_COMPONENT_MISSING
DXGI_ERROR_SESSION_DISCONNECTED
DXGI_ERROR_UNSUPPORTED
DXGI_ERROR_WAIT_TIMEOUT
DXGI_ERROR_WAS_STILL_DRAWING
DXGI_STATUS_CLIPPED
DXGI_STATUS_DDA_WAS_STILL_DRAWING
DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE
DXGI_STATUS_MODE_CHANGED
DXGI_STATUS_MODE_CHANGE_IN_PROGRESS
DXGI_STATUS_NO_DESKTOP_ACCESS
DXGI_STATUS_NO_REDIRECTION
DXGI_STATUS_OCCLUDED
DXGI_STATUS_PRESENT_REQUIRED
DXGI_STATUS_UNOCCLUDED
D	y0D	x0
DYNAMIC_ADD_PROCESSOR_MISMATCH
DynamicDaylightTimeDisabled
dynamicforward
dynamic-tcpip
Dynamic UX campaign name:
E0H9E@sd
E899a99:ZnnnZ
E8f98ttH
E8f9E0tJ
E_ACCESSDENIED
E_APPLICATION_ACTIVATION_EXEC_FAILURE
E_APPLICATION_ACTIVATION_TIMED_OUT
E_APPLICATION_EXITING
E_APPLICATION_MANAGER_NOT_RUNNING
E_APPLICATION_NOT_REGISTERED
E_APPLICATION_TEMPORARY_LICENSE_ERROR
E_APPLICATION_TRIAL_LICENSE_EXPIRED
E_APPLICATION_VIEW_EXITING
EarliestWakeTimerDueTime
EAS_E_ADMINS_CANNOT_CHANGE_PASSWORD
EAS_E_ADMINS_HAVE_BLANK_PASSWORD
EAS_E_CONNECTED_ADMINS_NEED_TO_CHANGE_PASSWORD
EAS_E_CURRENT_CONNECTED_USER_NEED_TO_CHANGE_PASSWORD
EAS_E_CURRENT_USER_HAS_BLANK_PASSWORD
EAS_E_LOCAL_CONTROLLED_USERS_CANNOT_CHANGE_PASSWORD
EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CONNECTED_ADMINS
EAS_E_PASSWORD_POLICY_NOT_ENFORCEABLE_FOR_CURRENT_CONNECTED_USER
EAS_E_POLICY_COMPLIANT_WITH_ACTIONS
EAS_E_POLICY_NOT_MANAGED_BY_OS
EAS_E_REQUESTED_POLICY_NOT_ENFORCEABLE
EAS_E_REQUESTED_POLICY_PASSWORD_EXPIRATION_INCOMPATIBLE
EAS_E_USER_CANNOT_CHANGE_PASSWORD
E_ASYNC_OPERATION_NOT_STARTED
E_AUDIO_ENGINE_NODE_NOT_FOUND
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND
E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG
E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION
E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION
E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION
E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE
E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES
E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH
E_BLUETOOTH_ATT_INVALID_HANDLE
E_BLUETOOTH_ATT_INVALID_OFFSET
E_BLUETOOTH_ATT_INVALID_PDU
E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL
E_BLUETOOTH_ATT_READ_NOT_PERMITTED
E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED
E_BLUETOOTH_ATT_UNKNOWN_ERROR
E_BLUETOOTH_ATT_UNLIKELY
E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE
E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED
E_BOUNDS
|                  |                      |        ECC|                       |
ecc_error_count
ecc.errors
    ECC Errors
ECC Errors
ecc.errors.corrected.aggregate.cbu
ecc.errors.corrected.aggregate.device_memory
ecc.errors.corrected.aggregate.dram
ecc.errors.corrected.aggregate.l1_cache
ecc.errors.corrected.aggregate.l2_cache
ecc.errors.corrected.aggregate.register_file
ecc.errors.corrected.aggregate.sram
ecc.errors.corrected.aggregate.texture_memory
ecc.errors.corrected.aggregate.total
ecc.errors.corrected.volatile.cbu
ecc.errors.corrected.volatile.device_memory
ecc.errors.corrected.volatile.dram
ecc.errors.corrected.volatile.l1_cache
ecc.errors.corrected.volatile.l2_cache
ecc.errors.corrected.volatile.register_file
ecc.errors.corrected.volatile.sram
ecc.errors.corrected.volatile.texture_memory
ecc.errors.corrected.volatile.total
ecc.errors.uncorrected.aggregate.cbu
ecc.errors.uncorrected.aggregate.device_memory
ecc.errors.uncorrected.aggregate.dram
ecc.errors.uncorrected.aggregate.l1_cache
ecc.errors.uncorrected.aggregate.l2_cache
ecc.errors.uncorrected.aggregate.register_file
ecc.errors.uncorrected.aggregate.sram
ecc.errors.uncorrected.aggregate.texture_memory
ecc.errors.uncorrected.aggregate.total
ecc.errors.uncorrected.volatile.cbu
ecc.errors.uncorrected.volatile.device_memory
ecc.errors.uncorrected.volatile.dram
ecc.errors.uncorrected.volatile.l1_cache
ecc.errors.uncorrected.volatile.l2_cache
ecc.errors.uncorrected.volatile.register_file
ecc.errors.uncorrected.volatile.sram
ecc.errors.uncorrected.volatile.texture_memory
ecc.errors.uncorrected.volatile.total
ecc.mode
    Ecc Mode
ECC Mode
ecc.mode.current
ecc.mode.pending
ecc_object
ECC Object
ECDH_compute_key
ecdh-sha2-nistp256
ecdh-sha2-nistp384
ecdh-sha2-nistp521
ECDSA-CERT
ECDSA_do_sign
ECDSA_do_verify
ecdsa-sha2-nistp256
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521
ecdsa-sha2-nistp521-cert-v01@openssh.com
ECDSA_SIG_free
ECDSA_SIG_new
EC_GROUP_cmp
EC_GROUP_free
EC_GROUP_get_curve_name
EC_GROUP_get_degree
EC_GROUP_get_order
EC_GROUP_method_of
EC_GROUP_new_by_curve_name
EC_GROUP_set_asn1_flag
E_CHANGED_STATE
EC_KEY_free
EC_KEY_generate_key
EC_KEY_get0_group
EC_KEY_get0_private_key
EC_KEY_get0_public_key
EC_KEY_new_by_curve_name
EC_KEY_set_asn1_flag
EC_KEY_set_group
EC_KEY_set_private_key
EC_KEY_set_public_key
EC_METHOD_get_field_type
EC_POINT_clear_free
EC_POINT_cmp
EC_POINT_free
EC_POINT_get_affine_coordinates_GFp
EC_POINT_is_at_infinity
EC_POINT_mul
EC_POINT_new
EC_POINT_oct2point
EC_POINT_point2oct
e"d" #!#
ED25519-CERT
EditCopyCount
EditCutCount
EditDeleteCount
EditFindCount
EditGotoCount
EditPage::GetUserChoices
EditPage::Initialize
EditPage::OnListenedEvent
EditPage::OnSetActive
EditPage::OnWizNext
EditPage::ResetUI
EditPasteCount
EditReplaceCount
EditUndoCount
EdpFileOpen
EdpFileOpenAttemptFail
EdpFileOpenAttemptFailCount
EdpFileOpenCount
EdpFileSave
EdpFileSaveCount
EdpPasteFromToNoContext
EdpPasteFromToPersonal
EdpPasteToNoContext
EdpPasteToNoContextCount
EdpPasteToPersonal
EDPStatus
                              e - ECC Errors and PCIe Replay errors
]]]]eeee
eeeezzzz
E_ELEVATED_ACTIVATION_NOT_SUPPORTED
EFailed to add the address info to the list
effectiveDeadlineFileTime
Effective Deadline is determined in UX!
effectiveDeadlineTime
effectiveDeadlineTimeFileTime
effectiveDeadlineTimeLocalTime
effectiveDeadlineUtcTime
effectiveLogSizeCap
EFI PART
EfiRuntimeServices
EFS_FATAL_ERROR
E_FULL_ADMIN_NOT_SUPPORTED
E H9K@t3H
E_HANDLE
  -E hash     Specify hash algorithm used for fingerprints.
E_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED
E_HDAUDIO_EMPTY_CONNECTION_LIST
E_HDAUDIO_NO_LOGICAL_DEVICES_CREATED
E_HDAUDIO_NULL_LINKED_LIST_ENTRY
E_ILLEGAL_DELEGATE_ASSIGNMENT
E_ILLEGAL_METHOD_CALL
E_ILLEGAL_STATE_CHANGE
E_INVALIDARG
E_INVALID_PROTOCOL_FORMAT
E_INVALID_PROTOCOL_OPERATION
eIQtc(Q6
(EjectionRelations)
-#Ej|]#p
E(L9p u!A
ELAM_DRIVER_DETECTED_FATAL_ERROR
ElapsedTime
ElapsedTimeBsdWrite
ElapsedTimeInBsdWriteInMs
ElapsedTimeMs
elapsedTimeSeconds
?ElementFromPoint@HWNDElement@DirectUI@@QEAAPEAVElement@2@PEAUtagPOINT@@@Z
Elliptic curve
elliptic curve does not match
elliptic curve point is too large
           [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11]
EmbeddedClientInfo
EmbeddedClientInfoFailed
embedding
E_MBN_BAD_SIM
E_MBN_CONTEXT_NOT_ACTIVATED
E_MBN_DATA_CLASS_NOT_AVAILABLE
E_MBN_DEFAULT_PROFILE_EXIST
E_MBN_FAILURE
E_MBN_INVALID_ACCESS_STRING
E_MBN_INVALID_CACHE
E_MBN_INVALID_PROFILE
E_MBN_MAX_ACTIVATED_CONTEXTS
E_MBN_NOT_REGISTERED
E_MBN_PACKET_SVC_DETACHED
E_MBN_PIN_DISABLED
E_MBN_PIN_NOT_SUPPORTED
E_MBN_PIN_REQUIRED
E_MBN_PROVIDER_NOT_VISIBLE
E_MBN_PROVIDERS_NOT_FOUND
E_MBN_RADIO_POWER_OFF
E_MBN_SERVICE_NOT_ACTIVATED
E_MBN_SIM_NOT_INSERTED
E_MBN_SMS_ENCODING_NOT_SUPPORTED
E_MBN_SMS_FILTER_NOT_SUPPORTED
E_MBN_SMS_FORMAT_NOT_SUPPORTED
E_MBN_SMS_INVALID_MEMORY_INDEX
E_MBN_SMS_LANG_NOT_SUPPORTED
E_MBN_SMS_MEMORY_FAILURE
E_MBN_SMS_MEMORY_FULL
E_MBN_SMS_NETWORK_TIMEOUT
E_MBN_SMS_OPERATION_NOT_ALLOWED
E_MBN_SMS_UNKNOWN_SMSC_ADDRESS
E_MBN_VOICE_CALL_IN_PROGRESS
EmClientQueryRuleState
EmClientRuleDeregisterNotification
EmClientRuleEvaluate
EmClientRuleRegisterNotification
EM_INITIALIZATION_ERROR
E_MONITOR_RESOLUTION_TOO_LOW
EmpProviderRegister
EmProviderDeregister
EmProviderDeregisterEntry
EmProviderRegister
EmProviderRegisterEntry
Empty certificate validity interval
EmptyClipboard
empty domain name
Empty element
Empty force-command option
Empty principal name
Empty signscope field
Empty source-address option
EMPTY_THREAD_REAPER_LIST
E_MULTIPLE_EXTENSIONS_FOR_APPLICATION
E_MULTIPLE_PACKAGES_FOR_FAMILY
EnableBWCPage::OnListenedEvent
EnableBWCPage::OnSetActive
EnableBWCPage::OnWizNext
EnableConnectivityPage::OnListenedEvent
EnableConnectivityPage::OnWizNext
Enabled*
EnabledFeatureUsage
EnabledMitigations
EnabledNew
?EnabledProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
enabledTimeSeconds
enableInterruptsDuration_ms
EnableLocalTroubleshooting
EnableMenuItem
EnableMouseInPointer
EnableNonClientDpiScaling
EnableScrollBar
enablesshkeysign
EnableThemeDialogTexture
EnableTraceEx2
ENABLE_VIRTUAL_TERMINAL_INPUT is supported. Reading the VTSequence from console
ENABLE_VIRTUAL_TERMINAL_PROCESSING is supported. Console supports the ansi parsing
EnableWindow
EncodeBase64
EncodeBase64W
EncodePointer
encoder_count
Encoder count
Encoder failed to initialize lock
--encodersessions
encodersessions
 ENCODER SESSIONS:
    encodersessions -- Display Encoder Sessions information.
    encodersessions             Displays device encoder sessions information. "nvidia-smi encodersessions -h" for more information.
encoder.stats
encoder_stats
    Encoder Stats
Encoder Stats
encoder.stats.averageFps
encoder.stats.averageLatency
encoder.stats.sessionCount
encoder_util
Encoding
EncodingSelection
Encountered null NT header
EncryptData
EncryptFileW
    ENC Utilization Samples
endBoundFileTime
?EndDefer@Element@DirectUI@@QEAAXK@Z
EndDialog
EndElement
Ending bracket missing in the action switch
Ending Post Phase
Ending User Migration Phase
endMirroringPhaseEndIntervalDuration_ms
End of file
END_OF_NT_EVALUATION_PERIOD
-----END OPENSSH PRIVATE KEY-----
EndPaint
---- END SSH2 PUBLIC KEY ----
-----END SSH SIGNATURE-----
EndTimeInUTC
energyChangemW
EnergyChangeV2
	EnergyChangeV2Flags
energyCountermW
Energy Counter Unavailable
EnergyDrain
EnergyPerfPreference
EnergySaverEngagementChanged
energySaverMode
EnergySaverSettingChanged
EneryDrain
	EneryDrainV2Flags
EneryDrainV2Value
enforced.power.limit
enforced_power_limit
Enforced Power Limit
Engaged Auto Reboot Mode
EngagedMitigations
EngagedModeLimit
Engaged or Forced reboot state is not expected when showing auto reboot dialog. Re-routing..
EngagedReboot
EngagedRebootFailedDialog
EngagedRebootFirstReminderDialog
EngagedRebootForcedReminderDialog
EngagedRebootFourthReminderDialog
Engaged reboot is not expected so rescheduling again.
	EngagedRebootSecondReminderDialog
	EngagedRebootThirdReminderDialog
EngagedRebootUserScheduledRebootDialog
Engaged reminder notification time since last shown
Engaged reminder notification will not be shown because it did not pass cadence
Engaged restart
EngagedRestartDeadlineDays is set
engagedRestartDeadlineInDaysForFU
engagedRestartDeadlineInDaysForNonFU
Engaged restart mode - Engaged reboot : Attempting user scheduled restart
EngagedRestartSnoozeDays is set
engagedRestartSnoozeInDaysForFU
engagedRestartSnoozeInDaysForNonFU
EngagedRestartTransitionDays is set
engagedRestartTransitionInDaysForFU
engagedRestartTransitionInDaysForNonFU
engagedToAutoRebootPercentage
engagementReason
Engage reminder notification cadence
Engage reminder notification time since last shown
Engage reminder notification will not be shown because it did not pass cadence
EngineCallback::Disconnected
EngineCallback::GetAnswerFromUser
EngineCallback::GetHashID
EngineCallback::GetStoredAnswer
EngineCallback::Interact
EngineCallback::LoadInteractionDetails
EngineCallback::LoadPackageLocations
EngineCallback::LoadSecurityBoundarySafe
EngineCallback::LoadSingleElementSafeArray
EngineCallback::LoadSupportKey
EngineCallback::Progress
EngineCallback::RecordAnswer
EngineCallback::Telemetry
EngineCallback::UploadLater
Enhanced Auto reboot
Enhanced Engaged Enter Auto Reboot Mode
Enhanced Engaged Experience Settings
Enhanced Engaged Forced Reboot Mode
Enhanced Engaged Intermediate Auto Reboot Mode
 EnhancedEngagedRebootAcceptAutoDialog
 EnhancedEngagedRebootForcedPrecursorDialog
 EnhancedEngagedRebootForcedWarningDialog
Enhanced Engaged Reboot Mode
 EnhancedEngagedRebootRebootFailedDialog
 EnhancedEngagedRebootRebootImminentDialog
 EnhancedEngagedRebootReminderDialog
 EnhancedEngagedRebootReminderToast
 EnhancedEngagedRebootUxState
Enhanced Engaged Ultimate Auto Reboot Mode
Enhanced Engaged Ultimate Reboot Mode
Enhanced Engaged User Accept Auto Reboot Mode
ENHANCED ENGAGED USER RESPONSE
Enhanced Engaged user response: Default action was chosen automatically or by user
Enhanced Engaged user response: Ok on accept auto dialog
Enhanced Engaged user response: Ok on forced precursor dialog
Enhanced Engaged user response: Ok on forced warning dialog
Enhanced Engaged user response: Ok on reboot imminent dialog
Enhanced Engaged user response: Pick a time
Enhanced Engaged user response: Restart now
Enhanced Engaged user response: Snooze on first reminder
Enhanced Engaged user response: Snooze on second reminder
Enhanced Engaged user response: Unexpected user response
Enhanced Engaged user response: Wait an Hour option on reboot failed dialog
Enhanced Engaged user response: Wait an Hour option on reboot imminent dialog
E_NOINTERFACE
E_NOTIMPL
enotrecoverable
EnrolledUser
EnrollmentId
EnrollmentType
EnsureFileStorageDirectoriesExist failed
EnsureFileStorageSubdirectoriesExist(committed) failed
EnsureFileStorageSubdirectoriesExist(staged) failed
Ensure the remote shell produces no output for non-interactive sessions.
?EnsureVisible@Element@DirectUI@@UEAA_NHHHH@Z
EnterAutoModeLimit
EnterCriticalSection
Enter file in which the key is
Enter file in which to save the key
Entering interactive session.
Entering monitorHandlerInit
Entering monitorHandlerRun
Entering nvsmiReplay
EnteringUserOobe
Enter lock password: 
Enter new passphrase (empty for no passphrase): 
Enter old passphrase: 
Enter passphrase: 
Enter passphrase (empty for no passphrase): 
Enter passphrase for PKCS#11: 
EnterpriseAttributionValue
Enterprise policies are set for forced reminder
Enterprise policy is set for auto restart reminder
Enterprise policy is set for force restart reminder
Enterprise policy is set for force restart warning
Enterprise policy is set to disable notifications so notification is not shown.
EnterpriseProvisioningEnabled
Enterprise UpdatePolicyLevel policy is set to disable notifications so notification is not shown.
Enter same passphrase again: 
entiu0E3
*Entrust.net Certification Authority (2048)0
"Entrust Timestamp Authority - TSA1
"Entrust Timestamp Authority - TSA10
Entrust Timestamping CA - TS1
Entrust Timestamping CA - TS10
EntryDeleted
EntryGuid
Entry_Header_Overruns_Structure
entrypoint
entryPoint
EntryTypeGuidDef
EnumDependentServicesW
EnumDisplayDevicesW
EnumDisplayMonitors
EnumDisplaySettingsExW
EnumDisplaySettingsW
EnumeratedKey_ContainerPath
EnumerateVariables
EnumerationResult
    enumeration (starting with GPU index 0) are used for monitoring.
EnumFontFamiliesExW
EnumFontsW
EnumJobsA
?EnumPropertyInfo@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
EnumServicesStatusExW
EnumServicesStatusW
EoD9gLtfH
E_OUTOFMEMORY
eownerdead
eow@openssh.com
EpA9E|s]f
E_PENDING
  -e pkcs11   Remove keys provided by PKCS#11 provider.
E_POINTER
E. Process
E_PROTOCOL_EXTENSIONS_NOT_SUPPORTED
E_PROTOCOL_VERSION_NOT_SUPPORTED
EPT_NT_CANT_CREATE
EPT_NT_CANT_PERFORM_OP
EPT_NT_INVALID_ENTRY
EPT_NT_NOT_REGISTERED
EPT_S_CANT_CREATE
EPT_S_CANT_PERFORM_OP
EPT_S_INVALID_ENTRY
EPT_S_NOT_REGISTERED
EqualRect
EqualRgn
EqualSid
?EraseBkgnd@HWNDHost@DirectUI@@MEAA_NPEAUHDC__@@PEA_J@Z
ERESOURCE_INVALID_RELEASE
ERRATA_WORKAROUND_UNSUCCESSFUL
ERR_get_error
ERR_HASH_HEADER_FLAG_SET
**Error** 
ERROR_ABANDONED_WAIT_0
ERROR_ABANDONED_WAIT_63
ERROR_ABANDON_HIBERFILE
ERROR_ABIOS_ERROR
ERROR_ACCESS_AUDIT_BY_POLICY
ERROR_ACCESS_DENIED
ERROR_ACCESS_DISABLED_BY_POLICY
ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY
ERROR_ACCESS_DISABLED_WEBBLADE
ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER
ERROR_ACCOUNT_DISABLED
ERROR_ACCOUNT_EXPIRED
ERROR_ACCOUNT_LOCKED_OUT
ERROR_ACCOUNT_RESTRICTION
ERROR_ACPI_ERROR
ERROR_ACTIVATION_COUNT_EXCEEDED
ERROR_ACTIVE_CONNECTIONS
ERROR_ADAP_HDW_ERR
ERROR_ADDRESS_ALREADY_ASSOCIATED
ERROR_ADDRESS_NOT_ASSOCIATED
ERROR_ADVANCED_INSTALLER_FAILED
ERROR_ALERTED
ERROR_ALIAS_EXISTS
ERROR_ALL_NODES_NOT_AVAILABLE
ERROR_ALLOCATE_BUCKET
ERROR_ALLOTTED_SPACE_EXCEEDED
ERROR_ALL_SIDS_FILTERED
ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED
ERROR_ALREADY_ASSIGNED
ERROR_ALREADY_EXISTS
ERROR_ALREADY_FIBER
ERROR_ALREADY_HAS_STREAM_ID
ERROR_ALREADY_INITIALIZED
ERROR_ALREADY_REGISTERED
ERROR_ALREADY_RUNNING_LKG
ERROR_ALREADY_THREAD
ERROR_ALREADY_WAITING
ERROR_ALREADY_WIN32
ERROR_AMBIGUOUS_SYSTEM_DEVICE
ERROR_API_UNAVAILABLE
ERROR_APPCONTAINER_REQUIRED
ERROR_APP_DATA_CORRUPT
ERROR_APP_DATA_EXPIRED
ERROR_APP_DATA_LIMIT_EXCEEDED
ERROR_APP_DATA_NOT_FOUND
ERROR_APP_DATA_REBOOT_REQUIRED
ERROR_APPEXEC_CONDITION_NOT_SATISFIED
ERROR_APPEXEC_HANDLE_INVALIDATED
ERROR_APPEXEC_HOST_ID_MISMATCH
ERROR_APPEXEC_INVALID_HOST_GENERATION
ERROR_APPEXEC_INVALID_HOST_STATE
ERROR_APPEXEC_NO_DONOR
ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION
ERROR_APPEXEC_UNKNOWN_USER
ERROR_APP_HANG
ERROR_APPHELP_BLOCK
ERROR_APP_INIT_FAILURE
ERROR_APPINSTALLER_ACTIVATION_BLOCKED
ERROR_APP_WRONG_OS
ERROR_APPX_FILE_NOT_ENCRYPTED
ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN
ERROR_APPX_RAW_DATA_WRITE_FAILED
ERROR_ARBITRATION_UNHANDLED
ERROR_ARENA_TRASHED
ERROR_ARITHMETIC_OVERFLOW
ERROR_ASSERTION_FAILURE
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED
ERROR_ATTRIBUTE_NOT_PRESENT
ERROR_AUDIT_FAILED
ERROR_AUDITING_DISABLED
ERROR_AUTHENTICATION_FIREWALL_FAILED
ERROR_AUTHIP_FAILURE
ERROR_AUTODATASEG_EXCEEDS_64k
ERROR_BACKUP_CONTROLLER
ERROR_BAD_ACCESSOR_FLAGS
ERROR_BAD_ARGUMENTS
ERROR_BAD_CLUSTERS
ERROR_BAD_COMMAND
ERROR_BAD_COMPRESSION_BUFFER
ERROR_BAD_CONFIGURATION
ERROR_BAD_CURRENT_DIRECTORY
ERROR_BADDB
ERROR_BAD_DESCRIPTOR_FORMAT
ERROR_BAD_DEVICE
ERROR_BAD_DEVICE_PATH
ERROR_BAD_DEV_TYPE
ERROR_BAD_DLL_ENTRYPOINT
ERROR_BAD_DRIVER
ERROR_BAD_DRIVER_LEVEL
ERROR_BAD_ENVIRONMENT
ERROR_BAD_EXE_FORMAT
ERROR_BAD_FILE_TYPE
ERROR_BAD_FORMAT
ERROR_BAD_FUNCTION_TABLE
ERROR_BAD_IMPERSONATION_LEVEL
ERROR_BAD_INHERITANCE_ACL
ERROR_BADKEY
ERROR_BAD_LENGTH
ERROR_BAD_LOGON_SESSION_STATE
ERROR_BAD_MCFG_TABLE
ERROR_BAD_NET_NAME
ERROR_BAD_NETPATH
ERROR_BAD_NET_RESP
ERROR_BAD_PATHNAME
ERROR_BAD_PIPE
ERROR_BAD_PROFILE
ERROR_BAD_PROVIDER
ERROR_BAD_QUERY_SYNTAX
ERROR_BAD_RECOVERY_POLICY
ERROR_BAD_REM_ADAP
ERROR_BAD_SERVICE_ENTRYPOINT
ERROR_BAD_STACK
ERROR_BADSTARTPOSITION
ERROR_BAD_THREADID_ADDR
ERROR_BAD_TOKEN_TYPE
ERROR_BAD_UNIT
ERROR_BAD_USERNAME
ERROR_BAD_USER_PROFILE
ERROR_BAD_VALIDATION_CLASS
ERROR_BCD_NOT_ALL_ENTRIES_IMPORTED
ERROR_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED
ERROR_BCD_TOO_MANY_ELEMENTS
ERROR_BEGINNING_OF_MEDIA
ERROR_BEYOND_VDL
ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT
ERROR_BIZRULES_NOT_ENABLED
ERROR_BLOCKED_BY_PARENTAL_CONTROLS
ERROR_BLOCK_TOO_MANY_REFERENCES
ERROR_BOOT_ALREADY_ACCEPTED
errorBootId
ERROR_BROKEN_PIPE
ERROR_BUFFER_ALL_ZEROS
ERROR_BUFFER_OVERFLOW
ERROR_BUS_RESET
ERROR_BUSY
ERROR_BUSY_DRIVE
ERROR_CACHE_PAGE_LOCKED
ERROR_CALLBACK_INVOKE_INLINE
ERROR_CALLBACK_POP_STACK
ERROR_CALLBACK_SUPPLIED_INVALID_DATA
ERROR_CALL_NOT_IMPLEMENTED
ERROR_CANCELLED
ERROR_CANCEL_VIOLATION
ERROR_CANNOT_ABORT_TRANSACTIONS
ERROR_CANNOT_ACCEPT_TRANSACTED_WORK
ERROR_CANNOT_BREAK_OPLOCK
ERROR_CAN_NOT_COMPLETE
ERROR_CANNOT_COPY
ERROR_CAN_NOT_DEL_LOCAL_WINS
ERROR_CANNOT_DETECT_DRIVER_FAILURE
ERROR_CANNOT_DETECT_PROCESS_ABORT
ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION
ERROR_CANNOT_FIND_WND_CLASS
ERROR_CANNOT_GRANT_REQUESTED_OPLOCK
ERROR_CANNOT_IMPERSONATE
ERROR_CANNOT_LOAD_REGISTRY_FILE
ERROR_CANNOT_MAKE
ERROR_CANNOT_OPEN_PROFILE
ERROR_CANNOT_SWITCH_RUNLEVEL
ERROR_CANT_ACCESS_DOMAIN_INFO
ERROR_CANT_ACCESS_FILE
ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY
ERROR_CANT_CLEAR_ENCRYPTION_FLAG
ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS
ERROR_CANT_CROSS_RM_BOUNDARY
ERROR_CANT_DELETE_LAST_ITEM
ERROR_CANT_DISABLE_MANDATORY
ERROR_CANT_ENABLE_DENY_ONLY
ERROR_CANT_EVICT_ACTIVE_NODE
ERROR_CANTFETCHBACKWARDS
ERROR_CANTOPEN
ERROR_CANT_OPEN_ANONYMOUS
ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT
ERROR_CANTREAD
ERROR_CANT_RECOVER_WITH_HANDLE_OPEN
ERROR_CANT_RESOLVE_FILENAME
ERROR_CANTSCROLLBACKWARDS
ERROR_CANT_TERMINATE_SELF
ERROR_CANT_WAIT
ERROR_CANTWRITE
ERROR_CAPAUTHZ_CHANGE_TYPE
ERROR_CAPAUTHZ_DB_CORRUPTED
ERROR_CAPAUTHZ_NO_POLICY
ERROR_CAPAUTHZ_NOT_AUTHORIZED
ERROR_CAPAUTHZ_NOT_DEVUNLOCKED
ERROR_CAPAUTHZ_NOT_PROVISIONED
ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED
ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG
ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY
ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH
ERROR_CAPAUTHZ_SCCD_PARSE_ERROR
ERROR_CARDBUS_NOT_SUPPORTED
ERROR_CASE_DIFFERING_NAMES_IN_DIR
ERROR_CASE_SENSITIVE_PATH
**Error** Changeable did not come back as a BSTR
ERROR_CHECKING_FILE_SYSTEM
ERROR_CHECKOUT_REQUIRED
ERROR_CHILD_MUST_BE_VOLATILE
ERROR_CHILD_NOT_COMPLETE
ERROR_CHILD_PROCESS_BLOCKED
ERROR_CHILD_WINDOW_MENU
ERROR_CIMFS_IMAGE_CORRUPT
ERROR_CIRCULAR_DEPENDENCY
ERROR_CLASS_ALREADY_EXISTS
ERROR_CLASS_DOES_NOT_EXIST
ERROR_CLASS_HAS_WINDOWS
ERROR_CLEANER_CARTRIDGE_INSTALLED
ERROR_CLEANER_CARTRIDGE_SPENT
ERROR_CLEANER_SLOT_NOT_SET
ERROR_CLEANER_SLOT_SET
ERROR_CLIENT_SERVER_PARAMETERS_INVALID
ERROR_CLIPBOARD_NOT_OPEN
ERROR_CLIP_DEVICE_LICENSE_MISSING
ERROR_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID
ERROR_CLIP_LICENSE_DEVICE_ID_MISMATCH
ERROR_CLIP_LICENSE_EXPIRED
ERROR_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE
ERROR_CLIP_LICENSE_INVALID_SIGNATURE
ERROR_CLIP_LICENSE_NOT_FOUND
ERROR_CLIP_LICENSE_NOT_SIGNED
ERROR_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE
ERROR_CLIPPING_NOT_SUPPORTED
ERROR_CLOUD_FILE_ACCESS_DENIED
ERROR_CLOUD_FILE_ALREADY_CONNECTED
ERROR_CLOUD_FILE_AUTHENTICATION_FAILED
ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY
ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED
ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS
ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES
ERROR_CLOUD_FILE_IN_USE
ERROR_CLOUD_FILE_INVALID_REQUEST
ERROR_CLOUD_FILE_METADATA_CORRUPT
ERROR_CLOUD_FILE_METADATA_TOO_LARGE
ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE
ERROR_CLOUD_FILE_NOT_IN_SYNC
ERROR_CLOUD_FILE_NOT_SUPPORTED
ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT
ERROR_CLOUD_FILE_PINNED
ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH
ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE
ERROR_CLOUD_FILE_PROPERTY_CORRUPT
ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT
ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED
ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING
ERROR_CLOUD_FILE_PROVIDER_TERMINATED
ERROR_CLOUD_FILE_READ_ONLY_VOLUME
ERROR_CLOUD_FILE_REQUEST_ABORTED
ERROR_CLOUD_FILE_REQUEST_CANCELED
ERROR_CLOUD_FILE_REQUEST_TIMEOUT
ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT
ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS
ERROR_CLOUD_FILE_UNSUCCESSFUL
ERROR_CLOUD_FILE_US_MESSAGE_TIMEOUT
ERROR_CLOUD_FILE_VALIDATION_FAILED
ERROR_CLUSCFG_ALREADY_COMMITTED
ERROR_CLUSCFG_ROLLBACK_FAILED
ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT
ERROR_CLUSTER_AFFINITY_CONFLICT
ERROR_CLUSTER_BACKUP_IN_PROGRESS
ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES
ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME
ERROR_CLUSTER_CANT_DESERIALIZE_DATA
ERROR_CLUSTER_CSV_INVALID_HANDLE
ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT
ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR
ERROR_CLUSTER_DATABASE_SEQMISMATCH
ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS
ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS
ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED
ERROR_CLUSTER_DISK_NOT_CONNECTED
ERROR_CLUSTER_EVICT_INVALID_REQUEST
ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP
ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION
ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY
ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND
ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS
ERROR_CLUSTER_GROUP_BUSY
ERROR_CLUSTER_GROUP_MOVING
ERROR_CLUSTER_GROUP_QUEUED
ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE
ERROR_CLUSTER_GUM_NOT_LOCKER
ERROR_CLUSTER_INCOMPATIBLE_VERSIONS
ERROR_CLUSTER_INSTANCE_ID_MISMATCH
ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION
ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME
ERROR_CLUSTER_INVALID_IPV6_NETWORK
ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK
ERROR_CLUSTER_INVALID_NETWORK
ERROR_CLUSTER_INVALID_NETWORK_PROVIDER
ERROR_CLUSTER_INVALID_NODE
ERROR_CLUSTER_INVALID_NODE_WEIGHT
ERROR_CLUSTER_INVALID_REQUEST
ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR
ERROR_CLUSTER_INVALID_STRING_FORMAT
ERROR_CLUSTER_INVALID_STRING_TERMINATION
ERROR_CLUSTER_IPADDR_IN_USE
ERROR_CLUSTER_JOIN_ABORTED
ERROR_CLUSTER_JOIN_IN_PROGRESS
ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS
ERROR_CLUSTER_LAST_INTERNAL_NETWORK
ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND
ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND
ERROR_CLUSTERLOG_CORRUPT
ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE
ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE
ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE
ERROR_CLUSTER_MAX_NODES_IN_CLUSTER
ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED
ERROR_CLUSTER_MEMBERSHIP_HALT
ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE
ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME
ERROR_CLUSTER_NETINTERFACE_EXISTS
ERROR_CLUSTER_NETINTERFACE_NOT_FOUND
ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE
ERROR_CLUSTER_NETWORK_ALREADY_ONLINE
ERROR_CLUSTER_NETWORK_EXISTS
ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS
ERROR_CLUSTER_NETWORK_NOT_FOUND
ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP
ERROR_CLUSTER_NETWORK_NOT_INTERNAL
ERROR_CLUSTER_NODE_ALREADY_DOWN
ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT
ERROR_CLUSTER_NODE_ALREADY_MEMBER
ERROR_CLUSTER_NODE_ALREADY_UP
ERROR_CLUSTER_NODE_DOWN
ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS
ERROR_CLUSTER_NODE_EXISTS
ERROR_CLUSTER_NODE_IN_GRACE_PERIOD
ERROR_CLUSTER_NODE_ISOLATED
ERROR_CLUSTER_NODE_NOT_FOUND
ERROR_CLUSTER_NODE_NOT_MEMBER
ERROR_CLUSTER_NODE_NOT_PAUSED
ERROR_CLUSTER_NODE_NOT_READY
ERROR_CLUSTER_NODE_PAUSED
ERROR_CLUSTER_NODE_QUARANTINED
ERROR_CLUSTER_NODE_SHUTTING_DOWN
ERROR_CLUSTER_NODE_UNREACHABLE
ERROR_CLUSTER_NODE_UP
ERROR_CLUSTER_NO_NET_ADAPTERS
ERROR_CLUSTER_NO_QUORUM
ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED
ERROR_CLUSTER_NO_SECURITY_CONTEXT
ERROR_CLUSTER_NOT_INSTALLED
ERROR_CLUSTER_NOT_SHARED_VOLUME
ERROR_CLUSTER_NULL_DATA
ERROR_CLUSTER_OBJECT_ALREADY_USED
ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM
ERROR_CLUSTER_OLD_VERSION
ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST
ERROR_CLUSTER_PARAMETER_MISMATCH
ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS
ERROR_CLUSTER_PARTIAL_READ
ERROR_CLUSTER_PARTIAL_SEND
ERROR_CLUSTER_PARTIAL_WRITE
ERROR_CLUSTER_POISONED
ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH
ERROR_CLUSTER_QUORUMLOG_NOT_FOUND
ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION
ERROR_CLUSTER_RESNAME_NOT_FOUND
ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR
ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES
ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED
ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE
ERROR_CLUSTER_RESOURCE_IS_REPLICATED
ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE
ERROR_CLUSTER_RESOURCE_LOCKED_STATUS
ERROR_CLUSTER_RESOURCE_NOT_MONITORED
ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED
ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE
ERROR_CLUSTER_RESOURCE_TYPE_BUSY
ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND
ERROR_CLUSTER_RESOURCE_VETOED_CALL
ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES
ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION
ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE
ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED
ERROR_CLUSTER_RHS_FAILED_INITIALIZATION
ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE
ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED
ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED
ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED
ERROR_CLUSTER_SHARED_VOLUMES_IN_USE
ERROR_CLUSTER_SHUTTING_DOWN
ERROR_CLUSTER_SINGLETON_RESOURCE
ERROR_CLUSTER_SPACE_DEGRADED
ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED
ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED
ERROR_CLUSTER_TOO_MANY_NODES
ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED
ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS
ERROR_CLUSTER_UPGRADE_INCOMPLETE
ERROR_CLUSTER_UPGRADE_IN_PROGRESS
ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED
ERROR_CLUSTER_USE_SHARED_VOLUMES_API
ERROR_CLUSTER_WATCHDOG_TERMINATING
ERROR_CLUSTER_WRONG_OS_VERSION
errorCode
ErrorCode
ERROR_COLORSPACE_MISMATCH
ERROR_COMMITMENT_LIMIT
ERROR_COMMITMENT_MINIMUM
**ERROR**   components inproc server was greater than max_path
ERROR_COMPRESSED_FILE_NOT_SUPPORTED
ERROR_COMPRESSION_DISABLED
ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION
ERROR_COMPRESSION_NOT_BENEFICIAL
ERROR_COM_TASK_STOP_PENDING
ERROR_CONNECTED_OTHER_PASSWORD
ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
ERROR_CONNECTION_ABORTED
ERROR_CONNECTION_ACTIVE
ERROR_CONNECTION_COUNT_LIMIT
ERROR_CONNECTION_INVALID
ERROR_CONNECTION_REFUSED
ERROR_CONNECTION_UNAVAIL
ERROR_CONTAINER_ASSIGNED
ERROR_CONTENT_BLOCKED
ERROR_CONTEXT_EXPIRED
ERROR_CONTINUE
ERROR_CONTROL_C_EXIT
ERROR_CONTROL_ID_NOT_FOUND
ERROR_CONTROLLING_IEPORT
ERROR_CONVERT_TO_LARGE
ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND
ERROR_CORE_RESOURCE
ERROR_CORRUPT_LOG_CLEARED
ERROR_CORRUPT_LOG_CORRUPTED
ERROR_CORRUPT_LOG_DELETED_FULL
ERROR_CORRUPT_LOG_OVERFULL
ERROR_CORRUPT_LOG_UNAVAILABLE
ERROR_CORRUPT_SYSTEM_FILE
ERROR_COULD_NOT_INTERPRET
ERROR_COULD_NOT_RESIZE_LOG
ErrorCount
--errorcounters
ERROR_COUNTER_TIMEOUT
ERROR_CPU_SET_INVALID
ERROR_CRASH_DUMP
ERROR_CRC
ERROR_CREATE_FAILED
Error creating object type
Error creating temp file
ERROR_CRED_REQUIRES_CONFIRMATION
ERROR_CRM_PROTOCOL_ALREADY_EXISTS
ERROR_CRM_PROTOCOL_NOT_FOUND
ERROR_CROSS_PARTITION_VIOLATION
ERROR_CSCSHARE_OFFLINE
ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE
ERROR_CS_ENCRYPTION_FILE_NOT_CSE
ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE
ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE
ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER
ERROR_CSV_VOLUME_NOT_LOCAL
ERROR_CTLOG_INCONSISTENT_TRACKING_FILE
ERROR_CTLOG_INVALID_TRACKING_STATE
ERROR_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE
ERROR_CTLOG_TRACKING_NOT_INITIALIZED
ERROR_CTLOG_VHD_CHANGED_OFFLINE
ERROR_CTX_ACCOUNT_RESTRICTION
ERROR_CTX_BAD_VIDEO_MODE
ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY
ERROR_CTX_CDM_CONNECT
ERROR_CTX_CDM_DISCONNECT
ERROR_CTX_CLIENT_LICENSE_IN_USE
ERROR_CTX_CLIENT_LICENSE_NOT_SET
ERROR_CTX_CLIENT_QUERY_TIMEOUT
ERROR_CTX_CLOSE_PENDING
ERROR_CTX_CONSOLE_CONNECT
ERROR_CTX_CONSOLE_DISCONNECT
ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED
ERROR_CTX_GRAPHICS_INVALID
ERROR_CTX_INVALID_MODEMNAME
ERROR_CTX_INVALID_PD
ERROR_CTX_INVALID_WD
ERROR_CTX_LICENSE_CLIENT_INVALID
ERROR_CTX_LICENSE_EXPIRED
ERROR_CTX_LICENSE_NOT_AVAILABLE
ERROR_CTX_LOGON_DISABLED
ERROR_CTX_MODEM_INF_NOT_FOUND
ERROR_CTX_MODEM_RESPONSE_BUSY
ERROR_CTX_MODEM_RESPONSE_ERROR
ERROR_CTX_MODEM_RESPONSE_NO_CARRIER
ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE
ERROR_CTX_MODEM_RESPONSE_TIMEOUT
ERROR_CTX_MODEM_RESPONSE_VOICE
ERROR_CTX_NO_FORCE_LOGOFF
ERROR_CTX_NO_OUTBUF
ERROR_CTX_NOT_CONSOLE
ERROR_CTX_PD_NOT_FOUND
ERROR_CTX_SECURITY_LAYER_ERROR
ERROR_CTX_SERVICE_NAME_COLLISION
ERROR_CTX_SESSION_IN_USE
ERROR_CTX_SHADOW_DENIED
ERROR_CTX_SHADOW_DISABLED
ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE
ERROR_CTX_SHADOW_INVALID
ERROR_CTX_SHADOW_NOT_RUNNING
ERROR_CTX_TD_ERROR
ERROR_CTX_WD_NOT_FOUND
ERROR_CTX_WINSTATION_ACCESS_DENIED
ERROR_CTX_WINSTATION_ALREADY_EXISTS
ERROR_CTX_WINSTATION_BUSY
ERROR_CTX_WINSTATION_NAME_INVALID
ERROR_CTX_WINSTATION_NOT_FOUND
ERROR_CTX_WINSTATIONS_DISABLED
ERROR_CURRENT_DIRECTORY
ERROR_CURRENT_DOMAIN_NOT_ALLOWED
ERROR_CURRENT_TRANSACTION_NOT_VALID
error_data
ERROR_DATABASE_BACKUP_CORRUPT
ERROR_DATABASE_DOES_NOT_EXIST
ERROR_DATABASE_FAILURE
ERROR_DATABASE_FULL
ERROR_DATA_CHECKSUM_ERROR
ERROR_DATA_LOST_REPAIR
ERROR_DATA_NOT_ACCEPTED
ERROR_DATATYPE_MISMATCH
ERROR_DAX_MAPPING_EXISTS
ERROR_DBG_ATTACH_PROCESS_FAILURE_LOCKDOWN
ERROR_DBG_COMMAND_EXCEPTION
ERROR_DBG_CONNECT_SERVER_FAILURE_LOCKDOWN
ERROR_DBG_CONTINUE
ERROR_DBG_CONTROL_BREAK
ERROR_DBG_CONTROL_C
ERROR_DBG_CREATE_PROCESS_FAILURE_LOCKDOWN
ERROR_DBG_EXCEPTION_HANDLED
ERROR_DBG_EXCEPTION_NOT_HANDLED
ERROR_DBG_PRINTEXCEPTION_C
ERROR_DBG_REPLY_LATER
ERROR_DBG_RIPEXCEPTION
ERROR_DBG_START_SERVER_FAILURE_LOCKDOWN
ERROR_DBG_TERMINATE_PROCESS
ERROR_DBG_TERMINATE_THREAD
ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE
ERROR_DC_NOT_FOUND
ERROR_DDE_FAIL
ERROR_DEBUG_ATTACH_FAILED
ERROR_DEBUGGER_INACTIVE
ERROR_DECRYPTION_FAILED
ERROR_DELAY_LOAD_FAILED
ERROR_DELETE_PENDING
ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED
ERROR_DELETING_ICM_XFORM
ERROR_DEPENDENCY_ALREADY_EXISTS
ERROR_DEPENDENCY_NOT_ALLOWED
ERROR_DEPENDENCY_NOT_FOUND
ERROR_DEPENDENCY_TREE_TOO_COMPLEX
ERROR_DEPENDENT_RESOURCE_EXISTS
ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT
ERROR_DEPENDENT_SERVICES_RUNNING
ERROR_DEPLOYMENT_BLOCKED_BY_POLICY
ERROR_DEPLOYMENT_BLOCKED_BY_PROFILE_POLICY
ERROR_DEPLOYMENT_BLOCKED_BY_USER_LOG_OFF
ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_MACHINE
ERROR_DEPLOYMENT_BLOCKED_BY_VOLUME_POLICY_PACKAGE
ERROR_DEPLOYMENT_FAILED_CONFLICTING_MUTABLE_PACKAGE_DIRECTORY
ERROR_DEPLOYMENT_OPTION_NOT_SUPPORTED
ERROR_DESTINATION_ELEMENT_FULL
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD
ERROR_DEVICE_ALREADY_ATTACHED
ERROR_DEVICE_ALREADY_REMEMBERED
ERROR_DEVICE_DOOR_OPEN
ERROR_DEVICE_ENUMERATION_ERROR
ERROR_DEVICE_FEATURE_NOT_SUPPORTED
ERROR_DEVICE_HARDWARE_ERROR
ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL
ErrorDeviceId
ERROR_DEVICE_IN_MAINTENANCE
ERROR_DEVICE_IN_USE
ERROR_DEVICE_NO_RESOURCES
ERROR_DEVICE_NOT_AVAILABLE
ERROR_DEVICE_NOT_CONNECTED
ERROR_DEVICE_NOT_PARTITIONED
ERROR_DEVICE_REINITIALIZATION_NEEDED
ERROR_DEVICE_REMOVED
ERROR_DEVICE_REQUIRES_CLEANING
ERROR_DEVICE_SUPPORT_IN_PROGRESS
ERROR_DEVICE_UNREACHABLE
ERROR_DEV_NOT_EXIST
ERROR_DEV_SIDELOAD_LIMIT_EXCEEDED
ERROR_DHCP_ADDRESS_CONFLICT
ERROR_DIFFERENT_PROFILE_RESOURCE_MANAGER_EXIST
ERROR_DIFFERENT_SERVICE_ACCOUNT
ERROR_DIFFERENT_VERSION_OF_PACKAGED_SERVICE_INSTALLED
ERROR_DIRECT_ACCESS_HANDLE
ERROR_DIRECTORY
ERROR_DIRECTORY_NOT_RM
ERROR_DIRECTORY_NOT_SUPPORTED
ERROR_DIR_EFS_DISALLOWED
ERROR_DIR_NOT_EMPTY
ERROR_DIR_NOT_ROOT
ERROR_DISCARDED
ERROR_DISK_CHANGE
ERROR_DISK_CORRUPT
ERROR_DISK_FULL
ERROR_DISK_NOT_CSV_CAPABLE
ERROR_DISK_OPERATION_FAILED
ERROR_DISK_QUOTA_EXCEEDED
ERROR_DISK_RECALIBRATE_FAILED
ERROR_DISK_REPAIR_DISABLED
ERROR_DISK_REPAIR_REDIRECTED
ERROR_DISK_REPAIR_UNSUCCESSFUL
ERROR_DISK_RESET_FAILED
ERROR_DISK_RESOURCES_EXHAUSTED
ERROR_DISK_TOO_FRAGMENTED
ERROR_DLL_INIT_FAILED
ERROR_DLL_INIT_FAILED_LOGOFF
ERROR_DLL_MIGHT_BE_INCOMPATIBLE
ERROR_DLL_MIGHT_BE_INSECURE
ERROR_DLL_NOT_FOUND
ERROR_DLP_POLICY_DENIES_OPERATION
ERROR_DLP_POLICY_SILENTLY_FAIL
ERROR_DLP_POLICY_WARNS_AGAINST_OPERATION
ERROR_DOMAIN_CONTROLLER_EXISTS
ERROR_DOMAIN_CONTROLLER_NOT_FOUND
ERROR_DOMAIN_CTRLR_CONFIG_ERROR
ERROR_DOMAIN_EXISTS
ERROR_DOMAIN_LIMIT_EXCEEDED
ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION
ERROR_DOMAIN_TRUST_INCONSISTENT
ERROR_DOWNGRADE_DETECTED
ERROR_DPL_NOT_SUPPORTED_FOR_USER
ERROR_DRIVE_LOCKED
ERROR_DRIVE_MEDIA_MISMATCH
ERROR_DRIVER_BLOCKED
ERROR_DRIVER_CANCEL_TIMEOUT
ERROR_DRIVER_DATABASE_ERROR
ERROR_DRIVER_FAILED_PRIOR_UNLOAD
ERROR_DRIVER_FAILED_SLEEP
ERROR_DRIVER_PROCESS_TERMINATED
ERROR_DRIVERS_LEAKING_LOCKED_PAGES
ERROR_DS_ADD_REPLICA_INHIBITED
ERROR_DS_ADMIN_LIMIT_EXCEEDED
ERROR_DS_AFFECTS_MULTIPLE_DSAS
ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER
ERROR_DS_ALIAS_DEREF_PROBLEM
ERROR_DS_ALIASED_OBJ_MISSING
ERROR_DS_ALIAS_POINTS_TO_ALIAS
ERROR_DS_ALIAS_PROBLEM
ERROR_DS_ATT_ALREADY_EXISTS
ERROR_DS_ATT_IS_NOT_ON_OBJ
ERROR_DS_ATT_NOT_DEF_FOR_CLASS
ERROR_DS_ATT_NOT_DEF_IN_SCHEMA
ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS
ERROR_DS_ATTRIBUTE_OWNED_BY_SAM
ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED
ERROR_DS_ATT_SCHEMA_REQ_ID
ERROR_DS_ATT_SCHEMA_REQ_SYNTAX
ERROR_DS_ATT_VAL_ALREADY_EXISTS
ERROR_DS_AUDIT_FAILURE
ERROR_DS_AUTH_METHOD_NOT_SUPPORTED
ERROR_DS_AUTHORIZATION_FAILED
ERROR_DS_AUTH_UNKNOWN
ERROR_DS_AUX_CLS_TEST_FAIL
ERROR_DS_BACKLINK_WITHOUT_LINK
ERROR_DS_BAD_ATT_SCHEMA_SYNTAX
ERROR_DS_BAD_HIERARCHY_FILE
ERROR_DS_BAD_INSTANCE_TYPE
ERROR_DS_BAD_NAME_SYNTAX
ERROR_DS_BAD_RDN_ATT_ID_SYNTAX
ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED
ERROR_DS_BUSY
ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD
ERROR_DS_CANT_ADD_ATT_VALUES
ERROR_DS_CANT_ADD_SYSTEM_ONLY
ERROR_DS_CANT_ADD_TO_GC
ERROR_DS_CANT_CACHE_ATT
ERROR_DS_CANT_CACHE_CLASS
ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC
ERROR_DS_CANT_CREATE_UNDER_SCHEMA
ERROR_DS_CANT_DELETE
ERROR_DS_CANT_DELETE_DSA_OBJ
ERROR_DS_CANT_DEL_MASTER_CROSSREF
ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC
ERROR_DS_CANT_DEREF_ALIAS
ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN
ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF
ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN
ERROR_DS_CANT_FIND_DSA_OBJ
ERROR_DS_CANT_FIND_EXPECTED_NC
ERROR_DS_CANT_FIND_NC_IN_CACHE
ERROR_DS_CANT_MIX_MASTER_AND_REPS
ERROR_DS_CANT_MOD_OBJ_CLASS
ERROR_DS_CANT_MOD_PRIMARYGROUPID
ERROR_DS_CANT_MOD_SYSTEM_ONLY
ERROR_DS_CANT_MOVE_ACCOUNT_GROUP
ERROR_DS_CANT_MOVE_APP_BASIC_GROUP
ERROR_DS_CANT_MOVE_APP_QUERY_GROUP
ERROR_DS_CANT_MOVE_DELETED_OBJECT
ERROR_DS_CANT_MOVE_RESOURCE_GROUP
ERROR_DS_CANT_ON_NON_LEAF
ERROR_DS_CANT_ON_RDN
ERROR_DS_CANT_REM_MISSING_ATT
ERROR_DS_CANT_REM_MISSING_ATT_VAL
ERROR_DS_CANT_REMOVE_ATT_CACHE
ERROR_DS_CANT_REMOVE_CLASS_CACHE
ERROR_DS_CANT_REPLACE_HIDDEN_REC
ERROR_DS_CANT_RETRIEVE_ATTS
ERROR_DS_CANT_RETRIEVE_CHILD
ERROR_DS_CANT_RETRIEVE_DN
ERROR_DS_CANT_RETRIEVE_INSTANCE
ERROR_DS_CANT_RETRIEVE_SD
ERROR_DS_CANT_START
ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ
ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS
ERROR_DS_CHILDREN_EXIST
ERROR_DS_CLASS_MUST_BE_CONCRETE
ERROR_DS_CLASS_NOT_DSA
ERROR_DS_CLIENT_LOOP
ERROR_DS_CODE_INCONSISTENCY
ERROR_DS_COMPARE_FALSE
ERROR_DS_COMPARE_TRUE
ERROR_DS_CONFIDENTIALITY_REQUIRED
ERROR_DS_CONFIG_PARAM_MISSING
ERROR_DS_CONSTRAINT_VIOLATION
ERROR_DS_CONSTRUCTED_ATT_MOD
ERROR_DS_CONTROL_NOT_FOUND
ERROR_DS_COULDNT_CONTACT_FSMO
ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE
ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE
ERROR_DS_COULDNT_UPDATE_SPNS
ERROR_DS_COUNTING_AB_INDICES_FAILED
ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE
ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2
ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD
ERROR_DS_CROSS_DOM_MOVE_ERROR
ERROR_DS_CROSS_NC_DN_RENAME
ERROR_DS_CROSS_REF_BUSY
ERROR_DS_CROSS_REF_EXISTS
ERROR_DS_DATABASE_ERROR
ERROR_DS_DECODING_ERROR
ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED
ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST
ERROR_DS_DIFFERENT_REPL_EPOCHS
ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER
ERROR_DS_DISALLOWED_NC_REDIRECT
ERROR_DS_DNS_LOOKUP_FAILURE
ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST
ERROR_DS_DOMAIN_RENAME_IN_PROGRESS
ERROR_DS_DOMAIN_VERSION_TOO_HIGH
ERROR_DS_DOMAIN_VERSION_TOO_LOW
ERROR_DS_DRA_ABANDON_SYNC
ERROR_DS_DRA_ACCESS_DENIED
ERROR_DS_DRA_BAD_DN
ERROR_DS_DRA_BAD_INSTANCE_TYPE
ERROR_DS_DRA_BAD_NC
ERROR_DS_DRA_BUSY
ERROR_DS_DRA_CONNECTION_FAILED
ERROR_DS_DRA_CORRUPT_UTD_VECTOR
ERROR_DS_DRA_DB_ERROR
ERROR_DS_DRA_DN_EXISTS
ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT
ERROR_DS_DRA_EXTN_CONNECTION_FAILED
ERROR_DS_DRA_GENERIC
ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET
ERROR_DS_DRA_INCONSISTENT_DIT
ERROR_DS_DRA_INTERNAL_ERROR
ERROR_DS_DRA_INVALID_PARAMETER
ERROR_DS_DRA_MAIL_PROBLEM
ERROR_DS_DRA_MISSING_KRBTGT_SECRET
ERROR_DS_DRA_MISSING_PARENT
ERROR_DS_DRA_NAME_COLLISION
ERROR_DS_DRA_NO_REPLICA
ERROR_DS_DRA_NOT_SUPPORTED
ERROR_DS_DRA_OBJ_IS_REP_SOURCE
ERROR_DS_DRA_OBJ_NC_MISMATCH
ERROR_DS_DRA_OUT_OF_MEM
ERROR_DS_DRA_OUT_SCHEDULE_WINDOW
ERROR_DS_DRA_PREEMPTED
ERROR_DS_DRA_RECYCLED_TARGET
ERROR_DS_DRA_REF_ALREADY_EXISTS
ERROR_DS_DRA_REF_NOT_FOUND
ERROR_DS_DRA_REPL_PENDING
ERROR_DS_DRA_RPC_CANCELLED
ERROR_DS_DRA_SCHEMA_CONFLICT
ERROR_DS_DRA_SCHEMA_INFO_SHIP
ERROR_DS_DRA_SCHEMA_MISMATCH
ERROR_DS_DRA_SECRETS_DENIED
ERROR_DS_DRA_SHUTDOWN
ERROR_DS_DRA_SINK_DISABLED
ERROR_DS_DRA_SOURCE_DISABLED
ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA
ERROR_DS_DRA_SOURCE_REINSTALLED
ERROR_DS_DRS_EXTENSIONS_CHANGED
ERROR_DS_DSA_MUST_BE_INT_MASTER
ERROR_DS_DS_REQUIRED
ERROR_DS_DST_DOMAIN_NOT_NATIVE
ERROR_DS_DST_NC_MISMATCH
ERROR_DS_DUP_LDAP_DISPLAY_NAME
ERROR_DS_DUPLICATE_ID_FOUND
ERROR_DS_DUP_LINK_ID
ERROR_DS_DUP_MAPI_ID
ERROR_DS_DUP_MSDS_INTID
ERROR_DS_DUP_OID
ERROR_DS_DUP_RDN
ERROR_DS_DUP_SCHEMA_ID_GUID
ERROR_DS_ENCODING_ERROR
ERROR_DS_EPOCH_MISMATCH
ERROR_DS_EXISTING_AD_CHILD_NC
ERROR_DS_EXISTS_IN_AUX_CLS
ERROR_DS_EXISTS_IN_MAY_HAVE
ERROR_DS_EXISTS_IN_MUST_HAVE
ERROR_DS_EXISTS_IN_POSS_SUP
ERROR_DS_EXISTS_IN_RDNATTID
ERROR_DS_EXISTS_IN_SUB_CLS
ERROR_DS_FILTER_UNKNOWN
ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS
ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST
ERROR_DS_FOREST_VERSION_TOO_HIGH
ERROR_DS_FOREST_VERSION_TOO_LOW
ERROR_DS_GC_NOT_AVAILABLE
ERROR_DS_GC_REQUIRED
ERROR_DS_GCVERIFY_ERROR
ERROR_DS_GENERIC_ERROR
ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER
ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER
ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER
ERROR_DS_GOVERNSID_MISSING
ERROR_DS_GROUP_CONVERSION_ERROR
ERROR_DS_HAVE_PRIMARY_MEMBERS
ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED
ERROR_DS_HIERARCHY_TABLE_TOO_DEEP
ERROR_DS_HIGH_ADLDS_FFL
ERROR_DS_HIGH_DSA_VERSION
ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD
ERROR_DS_ILLEGAL_MOD_OPERATION
ERROR_DS_ILLEGAL_SUPERIOR
ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION
ERROR_DS_INAPPROPRIATE_AUTH
ERROR_DS_INAPPROPRIATE_MATCHING
ERROR_DS_INCOMPATIBLE_CONTROLS_USED
ERROR_DS_INCOMPATIBLE_VERSION
ERROR_DS_INCORRECT_ROLE_OWNER
ERROR_DS_INIT_FAILURE
ERROR_DS_INIT_FAILURE_CONSOLE
ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE
ERROR_DS_INSTALL_NO_SRC_SCH_VERSION
ERROR_DS_INSTALL_SCHEMA_MISMATCH
ERROR_DS_INSUFF_ACCESS_RIGHTS
ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT
ERROR_DS_INTERNAL_FAILURE
ERROR_DS_INVALID_ATTRIBUTE_SYNTAX
ERROR_DS_INVALID_DMD
ERROR_DS_INVALID_DN_SYNTAX
ERROR_DS_INVALID_GROUP_TYPE
ERROR_DS_INVALID_LDAP_DISPLAY_NAME
ERROR_DS_INVALID_NAME_FOR_SPN
ERROR_DS_INVALID_ROLE_OWNER
ERROR_DS_INVALID_SCRIPT
ERROR_DS_INVALID_SEARCH_FLAG
ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE
ERROR_DS_INVALID_SEARCH_FLAG_TUPLE
ERROR_DS_IS_LEAF
ERROR_DS_KEY_NOT_UNIQUE
ERROR_DS_LDAP_SEND_QUEUE_FULL
ERROR_DS_LINK_ID_NOT_AVAILABLE
ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER
ERROR_DS_LOCAL_ERROR
ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY
ERROR_DS_LOOP_DETECT
ERROR_DS_LOW_ADLDS_FFL
ERROR_DS_LOW_DSA_VERSION
ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4
ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED
ERROR_DS_MAPI_ID_NOT_AVAILABLE
ERROR_DS_MASTERDSA_REQUIRED
ERROR_DS_MAX_OBJ_SIZE_EXCEEDED
ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY
ERROR_DS_MISSING_EXPECTED_ATT
ERROR_DS_MISSING_FOREST_TRUST
ERROR_DS_MISSING_FSMO_SETTINGS
ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER
ERROR_DS_MISSING_REQUIRED_ATT
ERROR_DS_MISSING_SUPREF
ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG
ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE
ERROR_DS_MODIFYDN_WRONG_GRANDPARENT
ERROR_DS_MUST_BE_RUN_ON_DST_DC
ERROR_DS_NAME_ERROR_DOMAIN_ONLY
ERROR_DS_NAME_ERROR_NO_MAPPING
ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING
ERROR_DS_NAME_ERROR_NOT_FOUND
ERROR_DS_NAME_ERROR_NOT_UNIQUE
ERROR_DS_NAME_ERROR_RESOLVING
ERROR_DS_NAME_ERROR_TRUST_REFERRAL
ERROR_DS_NAME_NOT_UNIQUE
ERROR_DS_NAME_REFERENCE_INVALID
ERROR_DS_NAME_TOO_LONG
ERROR_DS_NAME_TOO_MANY_PARTS
ERROR_DS_NAME_TYPE_UNKNOWN
ERROR_DS_NAME_UNPARSEABLE
ERROR_DS_NAME_VALUE_TOO_LONG
ERROR_DS_NAMING_MASTER_GC
ERROR_DS_NAMING_VIOLATION
ERROR_DS_NC_MUST_HAVE_NC_PARENT
ERROR_DS_NCNAME_MISSING_CR_REF
ERROR_DS_NCNAME_MUST_BE_NC
ERROR_DS_NC_STILL_HAS_DSAS
ERROR_DS_NO_ATTRIBUTE_OR_VALUE
ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN
ERROR_DS_NO_CHAINED_EVAL
ERROR_DS_NO_CHAINING
ERROR_DS_NO_CHECKPOINT_WITH_PDC
ERROR_DS_NO_CROSSREF_FOR_NC
ERROR_DS_NO_DELETED_NAME
ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS
ERROR_DS_NO_MORE_RIDS
ERROR_DS_NO_MSDS_INTID
ERROR_DS_NON_ASQ_SEARCH
ERROR_DS_NON_BASE_SEARCH
ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN
ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN
ERROR_DS_NONEXISTENT_MAY_HAVE
ERROR_DS_NONEXISTENT_MUST_HAVE
ERROR_DS_NONEXISTENT_POSS_SUP
ERROR_DS_NONSAFE_SCHEMA_CHANGE
ERROR_DS_NO_NTDSA_OBJECT
ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC
ERROR_DS_NO_PARENT_OBJECT
ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION
ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA
ERROR_DS_NO_REF_DOMAIN
ERROR_DS_NO_REQUESTED_ATTS_FOUND
ERROR_DS_NO_RESULTS_RETURNED
ERROR_DS_NO_RIDS_ALLOCATED
ERROR_DS_NO_SERVER_OBJECT
ERROR_DS_NO_SUCH_OBJECT
ERROR_DS_NOT_AN_OBJECT
ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC
ERROR_DS_NOT_CLOSEST
ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX
ERROR_DS_NOT_INSTALLED
ERROR_DS_NOT_ON_BACKLINK
ERROR_DS_NO_TREE_DELETE_ABOVE_NC
ERROR_DS_NOT_SUPPORTED
ERROR_DS_NOT_SUPPORTED_SORT_ORDER
ERROR_DS_NTDSCRIPT_PROCESS_ERROR
ERROR_DS_NTDSCRIPT_SYNTAX_ERROR
ERROR_DS_OBJ_CLASS_NOT_DEFINED
ERROR_DS_OBJ_CLASS_NOT_SUBCLASS
ERROR_DS_OBJ_CLASS_VIOLATION
ERROR_DS_OBJECT_BEING_REMOVED
ERROR_DS_OBJECT_CLASS_REQUIRED
ERROR_DS_OBJECT_RESULTS_TOO_LARGE
ERROR_DS_OBJ_GUID_EXISTS
ERROR_DS_OBJ_NOT_FOUND
ERROR_DS_OBJ_STRING_NAME_EXISTS
ERROR_DS_OBJ_TOO_LARGE
ERROR_DS_OFFSET_RANGE_ERROR
ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS
ERROR_DS_OID_NOT_FOUND
ERROR_DS_OPERATIONS_ERROR
ERROR_DS_OUT_OF_SCOPE
ERROR_DS_OUT_OF_VERSION_STORE
ERROR_DS_PARAM_ERROR
ERROR_DS_PARENT_IS_AN_ALIAS
ERROR_DS_PDC_OPERATION_IN_PROGRESS
ERROR_DS_PER_ATTRIBUTE_AUTHZ_FAILED_DURING_ADD
ERROR_DS_POLICY_NOT_KNOWN
ERROR_DS_PROTOCOL_ERROR
ERROR_DS_RANGE_CONSTRAINT
ERROR_DS_RDN_DOESNT_MATCH_SCHEMA
ERROR_DS_RECALCSCHEMA_FAILED
ERROR_DS_REFERRAL
ERROR_DS_REFERRAL_LIMIT_EXCEEDED
ERROR_DS_REFUSING_FSMO_ROLES
ERROR_DS_REMOTE_CROSSREF_OP_FAILED
ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR
ERROR_DS_REPLICATOR_ONLY
ERROR_DS_REPL_LIFETIME_EXCEEDED
ERROR_DS_RESERVED_LINK_ID
ERROR_DS_RESERVED_MAPI_ID
ERROR_DS_RIDMGR_DISABLED
ERROR_DS_RIDMGR_INIT_ERROR
ERROR_DS_ROLE_NOT_VERIFIED
ERROR_DS_ROOT_CANT_BE_SUBREF
ERROR_DS_ROOT_MUST_BE_NC
ERROR_DS_ROOT_REQUIRES_CLASS_TOP
ERROR_DS_SAM_INIT_FAILURE
ERROR_DS_SAM_INIT_FAILURE_CONSOLE
ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY
ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD
ERROR_DS_SCHEMA_ALLOC_FAILED
ERROR_DS_SCHEMA_NOT_LOADED
ERROR_DS_SCHEMA_UPDATE_DISALLOWED
ERROR_DS_SEC_DESC_INVALID
ERROR_DS_SEC_DESC_TOO_SHORT
ERROR_DS_SECURITY_CHECKING_ERROR
ERROR_DS_SECURITY_ILLEGAL_MODIFY
ERROR_DS_SEMANTIC_ATT_TEST
ERROR_DS_SENSITIVE_GROUP_VIOLATION
ERROR_DS_SERVER_DOWN
ERROR_DS_SHUTTING_DOWN
ERROR_DS_SINGLE_USER_MODE_FAILED
ERROR_DS_SINGLE_VALUE_CONSTRAINT
ERROR_DS_SIZELIMIT_EXCEEDED
ERROR_DS_SORT_CONTROL_MISSING
ERROR_DS_SOURCE_AUDITING_NOT_ENABLED
ERROR_DS_SOURCE_DOMAIN_IN_FOREST
ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST
ERROR_DS_SRC_AND_DST_NC_IDENTICAL
ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH
ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER
ERROR_DS_SRC_GUID_MISMATCH
ERROR_DS_SRC_NAME_MISMATCH
ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER
ERROR_DS_SRC_SID_EXISTS_IN_FOREST
ERROR_DS_STRING_SD_CONVERSION_FAILED
ERROR_DS_STRONG_AUTH_REQUIRED
ERROR_DS_SUB_CLS_TEST_FAIL
ERROR_DS_SUBREF_MUST_HAVE_PARENT
ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD
ERROR_DS_SYNTAX_MISMATCH
ERROR_DS_THREAD_LIMIT_EXCEEDED
ERROR_DS_TIMELIMIT_EXCEEDED
ERROR_DS_TREE_DELETE_NOT_FINISHED
ERROR_DS_UNABLE_TO_SURRENDER_ROLES
ERROR_DS_UNAVAILABLE
ERROR_DS_UNAVAILABLE_CRIT_EXTENSION
ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED
ERROR_DS_UNICODEPWD_NOT_IN_QUOTES
ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER
ERROR_DS_UNKNOWN_ERROR
ERROR_DS_UNKNOWN_OPERATION
ERROR_DS_UNWILLING_TO_PERFORM
ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST
ERROR_DS_USER_BUFFER_TO_SMALL
ERROR_DS_VALUE_KEY_NOT_UNIQUE
ERROR_DS_VERSION_CHECK_FAILURE
ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL
ERROR_DS_WRONG_LINKED_ATT_SYNTAX
ERROR_DS_WRONG_OM_OBJ_CLASS
ERROR_DUP_DOMAINNAME
ERROR_DUPLICATE_PRIVILEGES
ERROR_DUPLICATE_SERVICE_NAME
ERROR_DUPLICATE_TAG
ERROR_DUP_NAME
ERROR_DYNAMIC_CODE_BLOCKED
ERROR_DYNLINK_FROM_INVALID_RING
ERROR_EA_ACCESS_DENIED
ERROR_EA_FILE_CORRUPT
ERROR_EA_LIST_INCONSISTENT
ERROR_EAS_DIDNT_FIT
ERROR_EAS_NOT_SUPPORTED
ERROR_EA_TABLE_FULL
ERROR_EC_CIRCULAR_FORWARDING
ERROR_EC_CRED_NOT_FOUND
ERROR_EC_CREDSTORE_FULL
ERROR_EC_LOG_DISABLED
ERROR_EC_NO_ACTIVE_CHANNEL
ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE
ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED
ERROR_EDP_POLICY_DENIES_OPERATION
ERROR_EFS_ALG_BLOB_TOO_BIG
ERROR_EFS_DISABLED
ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION
ERROR_EFS_SERVER_NOT_TRUSTED
ERROR_EFS_VERSION_NOT_SUPPORT
ERROR_ELEVATION_REQUIRED
ERROR_EMPTY
ERROR_ENCLAVE_FAILURE
ERROR_ENCLAVE_NOT_TERMINATED
ERROR_ENCLAVE_VIOLATION
ERROR_ENCRYPTED_IO_NOT_POSSIBLE
ERROR_ENCRYPTING_METADATA_DISALLOWED
ERROR_ENCRYPTION_DISABLED
ERROR_ENCRYPTION_FAILED
ERROR_ENCRYPTION_POLICY_DENIES_OPERATION
ERROR_END_OF_MEDIA
ERROR_ENLISTMENT_NOT_FOUND
ERROR_ENLISTMENT_NOT_SUPERIOR
ERROR_ENVVAR_NOT_FOUND
ERROR_EOM_OVERFLOW
ERROR_ERRORS_ENCOUNTERED
ERROR_EVALUATION_EXPIRATION
ERROR_EVENT_DONE
ERROR_EVENTLOG_CANT_START
ERROR_EVENTLOG_FILE_CHANGED
ERROR_EVENTLOG_FILE_CORRUPT
ERROR_EVENT_PENDING
ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY
ERROR_EVT_CHANNEL_CANNOT_ACTIVATE
ERROR_EVT_CHANNEL_NOT_FOUND
ERROR_EVT_CONFIGURATION_ERROR
ERROR_EVT_EVENT_DEFINITION_NOT_FOUND
ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND
ERROR_EVT_FILTER_ALREADYSCOPED
ERROR_EVT_FILTER_INVARG
ERROR_EVT_FILTER_INVTEST
ERROR_EVT_FILTER_INVTYPE
ERROR_EVT_FILTER_NOTELTSET
ERROR_EVT_FILTER_OUT_OF_RANGE
ERROR_EVT_FILTER_PARSEERR
ERROR_EVT_FILTER_TOO_COMPLEX
ERROR_EVT_FILTER_UNEXPECTEDTOKEN
ERROR_EVT_FILTER_UNSUPPORTEDOP
ERROR_EVT_INVALID_CHANNEL_PATH
ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE
ERROR_EVT_INVALID_EVENT_DATA
ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL
ERROR_EVT_INVALID_PUBLISHER_NAME
ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE
ERROR_EVT_INVALID_QUERY
ERROR_EVT_MALFORMED_XML_TEXT
ERROR_EVT_MAX_INSERTS_REACHED
ERROR_EVT_MESSAGE_ID_NOT_FOUND
ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND
ERROR_EVT_MESSAGE_NOT_FOUND
ERROR_EVT_NON_VALIDATING_MSXML
ERROR_EVT_PUBLISHER_DISABLED
ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND
ERROR_EVT_QUERY_RESULT_INVALID_POSITION
ERROR_EVT_QUERY_RESULT_STALE
ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL
ERROR_EVT_UNRESOLVED_PARAMETER_INSERT
ERROR_EVT_UNRESOLVED_VALUE_INSERT
ERROR_EVT_VERSION_TOO_NEW
ERROR_EVT_VERSION_TOO_OLD
ERROR_EXCEPTION_IN_RESOURCE_CALL
ERROR_EXCEPTION_IN_SERVICE
ERROR_EXCL_SEM_ALREADY_OWNED
ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY
ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY
ERROR_EXE_MACHINE_TYPE_MISMATCH
ERROR_EXE_MARKED_INVALID
ERROR_EXPIRED_HANDLE
ERROR_EXTENDED_ERROR
ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN
ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED
ERROR_EXTRANEOUS_INFORMATION
ERROR_FAILED_DRIVER_ENTRY
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
ERROR: Failed to allocate GPU component filename
ERROR: Failed to allocate nvlog component filename
ERROR: Failed to allocate system component filename
ERROR_FAIL_FAST_EXCEPTION
ERROR_FAIL_I24
ERROR_FAIL_NOACTION_REBOOT
ERROR_FAIL_REBOOT_INITIATED
ERROR_FAIL_REBOOT_REQUIRED
ERROR_FAIL_RESTART
ERROR_FAIL_SHUTDOWN
**Error** Failure allocating a bstr copy of the RoleName -- Out of Memory
ERROR_FATAL_APP_EXIT
**Error**  Field containing IID was longer than an IID should be
ERROR_FILE_CHECKED_OUT
ERROR_FILE_CORRUPT
ERROR_FILE_ENCRYPTED
ERROR_FILE_EXISTS
ERROR_FILE_HANDLE_REVOKED
ERROR_FILE_IDENTITY_NOT_PERSISTENT
ERROR_FILE_INVALID
ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED
ERROR_FILEMARK_DETECTED
ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS
ERROR_FILENAME_EXCED_RANGE
ERROR_FILE_NOT_ENCRYPTED
ERROR_FILE_NOT_FOUND
ERROR_FILE_NOT_SUPPORTED
ERROR_FILE_OFFLINE
ERROR_FILE_PROTECTED_UNDER_DPL
ERROR_FILE_READ_ONLY
ERROR_FILE_SHARE_RESOURCE_CONFLICT
ERROR_FILE_SNAP_IN_PROGRESS
ERROR_FILE_SNAP_INVALID_PARAMETER
ERROR_FILE_SNAP_IO_NOT_COORDINATED
ERROR_FILE_SNAP_MODIFY_NOT_SUPPORTED
ERROR_FILE_SNAP_UNEXPECTED_ERROR
ERROR_FILE_SNAP_USER_SECTION_NOT_SUPPORTED
ERROR_FILE_SYSTEM_LIMITATION
ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY
ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION
ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT
ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN
ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE
ERROR_FILE_TOO_LARGE
ERROR_FIRMWARE_UPDATED
ERROR_FLOATED_SECTION
ERROR_FLOAT_MULTIPLE_FAULTS
ERROR_FLOAT_MULTIPLE_TRAPS
ERROR_FLOPPY_BAD_REGISTERS
ERROR_FLOPPY_ID_MARK_NOT_FOUND
ERROR_FLOPPY_UNKNOWN_ERROR
ERROR_FLOPPY_VOLUME
ERROR_FLOPPY_WRONG_CYLINDER
ERROR_FLT_ALREADY_ENLISTED
ERROR_FLT_CBDQ_DISABLED
ERROR_FLT_CONTEXT_ALLOCATION_NOT_FOUND
ERROR_FLT_CONTEXT_ALREADY_DEFINED
ERROR_FLT_CONTEXT_ALREADY_LINKED
ERROR_FLT_DELETING_OBJECT
ERROR_FLT_DISALLOW_FAST_IO
ERROR_FLT_DO_NOT_ATTACH
ERROR_FLT_DO_NOT_DETACH
ERROR_FLT_DUPLICATE_ENTRY
ERROR_FLT_FILTER_NOT_FOUND
ERROR_FLT_FILTER_NOT_READY
ERROR_FLT_INSTANCE_ALTITUDE_COLLISION
ERROR_FLT_INSTANCE_NAME_COLLISION
ERROR_FLT_INSTANCE_NOT_FOUND
ERROR_FLT_INTERNAL_ERROR
ERROR_FLT_INVALID_ASYNCHRONOUS_REQUEST
ERROR_FLT_INVALID_CONTEXT_REGISTRATION
ERROR_FLT_INVALID_NAME_REQUEST
ERROR_FLT_IO_COMPLETE
ERROR_FLT_MUST_BE_NONPAGED_POOL
ERROR_FLT_NAME_CACHE_MISS
ERROR_FLT_NO_DEVICE_OBJECT
ERROR_FLT_NO_HANDLER_DEFINED
ERROR_FLT_NOT_INITIALIZED
ERROR_FLT_NOT_SAFE_TO_POST_OPERATION
ERROR_FLT_NO_WAITER_FOR_REPLY
ERROR_FLT_POST_OPERATION_CLEANUP
ERROR_FLT_REGISTRATION_BUSY
ERROR_FLT_VOLUME_ALREADY_MOUNTED
ERROR_FLT_VOLUME_NOT_FOUND
ERROR_FORMS_AUTH_REQUIRED
Error: forwarding disabled due to host key check failure
ERROR_FOUND_OUT_OF_SCOPE
ERROR_FS_DRIVER_REQUIRED
ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY
ERROR_FS_METADATA_INCONSISTENT
ERROR_FT_DI_SCAN_REQUIRED
ERROR_FT_READ_FAILURE
ERROR_FT_READ_RECOVERY_FROM_BACKUP
ERROR_FT_WRITE_FAILURE
ERROR_FT_WRITE_RECOVERY
ERROR_FULL_BACKUP
ERROR_FULLSCREEN_MODE
ERROR_FUNCTION_FAILED
ERROR_FUNCTION_NOT_CALLED
ERROR_GDI_HANDLE_LEAK
ERROR_GENERIC_COMMAND_FAILED
ERROR_GENERIC_NOT_MAPPED
ERROR_GEN_FAILURE
Error getting ptr to tag data
Error getting session variable: AutoAcceptShownToUser. Setting default as false.
Error getting StringRef
Error getting the grace deadline state from USO. Using default values.
Error getting the value of reboot failed session variable. Setting to false.
ERROR_GLOBAL_ONLY_HOOK
ERROR_GPIO_CLIENT_INFORMATION_INVALID
ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE
ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED
ERROR_GPIO_INVALID_REGISTRATION_PACKET
ERROR_GPIO_OPERATION_DENIED
ERROR_GPIO_VERSION_NOT_SUPPORTED
ERROR_GRACEFUL_DISCONNECT
ERROR_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED
ERROR_GRAPHICS_ADAPTER_CHAIN_NOT_READY
ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE
ERROR_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET
ERROR_GRAPHICS_ADAPTER_WAS_RESET
ERROR_GRAPHICS_ALLOCATION_BUSY
ERROR_GRAPHICS_ALLOCATION_CLOSED
ERROR_GRAPHICS_ALLOCATION_CONTENT_LOST
ERROR_GRAPHICS_ALLOCATION_INVALID
ERROR_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION
ERROR_GRAPHICS_CANNOTCOLORCONVERT
ERROR_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN
ERROR_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION
ERROR_GRAPHICS_CANT_LOCK_MEMORY
ERROR_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION
ERROR_GRAPHICS_CHAINLINKS_NOT_ENUMERATED
ERROR_GRAPHICS_CHAINLINKS_NOT_POWERED_ON
ERROR_GRAPHICS_CHAINLINKS_NOT_STARTED
ERROR_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED
ERROR_GRAPHICS_CLIENTVIDPN_NOT_SET
ERROR_GRAPHICS_COPP_NOT_SUPPORTED
ERROR_GRAPHICS_DATASET_IS_EMPTY
ERROR_GRAPHICS_DDCCI_CURRENT_CURRENT_VALUE_GREATER_THAN_MAXIMUM_VALUE
ERROR_GRAPHICS_DDCCI_INVALID_DATA
ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM
ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND
ERROR_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH
ERROR_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE
ERROR_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED
ERROR_GRAPHICS_DEPENDABLE_CHILD_STATUS
ERROR_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP
ERROR_GRAPHICS_DRIVER_MISMATCH
ERROR_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION
ERROR_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET
ERROR_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET
ERROR_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED
ERROR_GRAPHICS_GPU_EXCEPTION_ON_DEVICE
ERROR_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST
ERROR_GRAPHICS_I2C_ERROR_RECEIVING_DATA
ERROR_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA
ERROR_GRAPHICS_I2C_NOT_SUPPORTED
ERROR_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT
ERROR_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE
ERROR_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN
ERROR_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED
ERROR_GRAPHICS_INSUFFICIENT_DMA_BUFFER
ERROR_GRAPHICS_INTERNAL_ERROR
ERROR_GRAPHICS_INVALID_ACTIVE_REGION
ERROR_GRAPHICS_INVALID_ALLOCATION_HANDLE
ERROR_GRAPHICS_INVALID_ALLOCATION_INSTANCE
ERROR_GRAPHICS_INVALID_ALLOCATION_USAGE
ERROR_GRAPHICS_INVALID_CLIENT_TYPE
ERROR_GRAPHICS_INVALID_COLORBASIS
ERROR_GRAPHICS_INVALID_COPYPROTECTION_TYPE
ERROR_GRAPHICS_INVALID_DISPLAY_ADAPTER
ERROR_GRAPHICS_INVALID_DRIVER_MODEL
ERROR_GRAPHICS_INVALID_FREQUENCY
ERROR_GRAPHICS_INVALID_GAMMA_RAMP
ERROR_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM
ERROR_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN
ERROR_GRAPHICS_INVALID_MONITORDESCRIPTOR
ERROR_GRAPHICS_INVALID_MONITORDESCRIPTORSET
ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE
ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT
ERROR_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET
ERROR_GRAPHICS_INVALID_MONITOR_SOURCE_MODE
ERROR_GRAPHICS_INVALID_MONITOR_SOURCEMODESET
ERROR_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION
ERROR_GRAPHICS_INVALID_PATH_CONTENT_TYPE
ERROR_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL
ERROR_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE
ERROR_GRAPHICS_INVALID_PIXELFORMAT
ERROR_GRAPHICS_INVALID_PIXELVALUEACCESSMODE
ERROR_GRAPHICS_INVALID_POINTER
ERROR_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE
ERROR_GRAPHICS_INVALID_SCANLINE_ORDERING
ERROR_GRAPHICS_INVALID_STRIDE
ERROR_GRAPHICS_INVALID_TOTAL_REGION
ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE
ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE
ERROR_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET
ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET
ERROR_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE
ERROR_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET
ERROR_GRAPHICS_INVALID_VIDPN
ERROR_GRAPHICS_INVALID_VIDPN_PRESENT_PATH
ERROR_GRAPHICS_INVALID_VIDPN_SOURCEMODESET
ERROR_GRAPHICS_INVALID_VIDPN_TARGETMODESET
ERROR_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE
ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY
ERROR_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON
ERROR_GRAPHICS_INVALID_VISIBLEREGION_SIZE
ERROR_GRAPHICS_LEADLINK_NOT_ENUMERATED
ERROR_GRAPHICS_LEADLINK_START_DEFERRED
ERROR_GRAPHICS_MAX_NUM_PATHS_REACHED
ERROR_GRAPHICS_MCA_INTERNAL_ERROR
ERROR_GRAPHICS_MCA_INVALID_CAPABILITIES_STRING
ERROR_GRAPHICS_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED
ERROR_GRAPHICS_MCA_INVALID_VCP_VERSION
ERROR_GRAPHICS_MCA_MCCS_VERSION_MISMATCH
ERROR_GRAPHICS_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION
ERROR_GRAPHICS_MCA_UNSUPPORTED_COLOR_TEMPERATURE
ERROR_GRAPHICS_MCA_UNSUPPORTED_MCCS_VERSION
ERROR_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED
ERROR_GRAPHICS_MODE_ALREADY_IN_MODESET
ERROR_GRAPHICS_MODE_ID_MUST_BE_UNIQUE
ERROR_GRAPHICS_MODE_NOT_IN_MODESET
ERROR_GRAPHICS_MODE_NOT_PINNED
ERROR_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER
ERROR_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET
ERROR_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE
ERROR_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET
ERROR_GRAPHICS_MONITOR_NO_LONGER_EXISTS
ERROR_GRAPHICS_MONITOR_NOT_CONNECTED
ERROR_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED
ERROR_GRAPHICS_NO_ACTIVE_VIDPN
ERROR_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS
ERROR_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET
ERROR_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME
ERROR_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT
ERROR_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE
ERROR_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET
ERROR_GRAPHICS_NO_PREFERRED_MODE
ERROR_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN
ERROR_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY
ERROR_GRAPHICS_NOT_A_LINKED_ADAPTER
ERROR_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER
ERROR_GRAPHICS_NOT_POST_DEVICE_DRIVER
ERROR_GRAPHICS_NO_VIDEO_MEMORY
ERROR_GRAPHICS_NO_VIDPNMGR
ERROR_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED
ERROR_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE
ERROR_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR
ERROR_GRAPHICS_OPM_HDCP_SRM_NEVER_SET
ERROR_GRAPHICS_OPM_INTERNAL_ERROR
ERROR_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST
ERROR_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS
ERROR_GRAPHICS_OPM_INVALID_HANDLE
ERROR_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST
ERROR_GRAPHICS_OPM_INVALID_SRM
ERROR_GRAPHICS_OPM_NOT_SUPPORTED
ERROR_GRAPHICS_OPM_NO_VIDEO_OUTPUTS_EXIST
ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP
ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA
ERROR_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP
ERROR_GRAPHICS_OPM_RESOLUTION_TOO_HIGH
ERROR_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS
ERROR_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED
ERROR_GRAPHICS_OPM_SPANNING_MODE_ENABLED
ERROR_GRAPHICS_OPM_THEATER_MODE_ENABLED
ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS
ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS
ERROR_GRAPHICS_OPM_VIDEO_OUTPUT_NO_LONGER_EXISTS
ERROR_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL
ERROR_GRAPHICS_PARTIAL_DATA_POPULATED
ERROR_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY
ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED
ERROR_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED
ERROR_GRAPHICS_PATH_NOT_IN_TOPOLOGY
ERROR_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET
ERROR_GRAPHICS_POLLING_TOO_FREQUENTLY
ERROR_GRAPHICS_PRESENT_BUFFER_NOT_BOUND
ERROR_GRAPHICS_PRESENT_DENIED
ERROR_GRAPHICS_PRESENT_INVALID_WINDOW
ERROR_GRAPHICS_PRESENT_MODE_CHANGED
ERROR_GRAPHICS_PRESENT_OCCLUDED
ERROR_GRAPHICS_PRESENT_REDIRECTION_DISABLED
ERROR_GRAPHICS_PRESENT_UNOCCLUDED
ERROR_GRAPHICS_PVP_HFS_FAILED
ERROR_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH
ERROR_GRAPHICS_RESOURCES_NOT_RELATED
ERROR_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS
ERROR_GRAPHICS_SKIP_ALLOCATION_PREPARATION
ERROR_GRAPHICS_SOURCE_ALREADY_IN_SET
ERROR_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE
ERROR_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY
ERROR_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED
ERROR_GRAPHICS_STALE_MODESET
ERROR_GRAPHICS_STALE_VIDPN_TOPOLOGY
ERROR_GRAPHICS_START_DEFERRED
ERROR_GRAPHICS_TARGET_ALREADY_IN_SET
ERROR_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE
ERROR_GRAPHICS_TARGET_NOT_IN_TOPOLOGY
ERROR_GRAPHICS_TOO_MANY_REFERENCES
ERROR_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED
ERROR_GRAPHICS_TRY_AGAIN_LATER
ERROR_GRAPHICS_TRY_AGAIN_NOW
ERROR_GRAPHICS_UAB_NOT_SUPPORTED
ERROR_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS
ERROR_GRAPHICS_UNKNOWN_CHILD_STATUS
ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE
ERROR_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED
ERROR_GRAPHICS_VAIL_FAILED_TO_SEND_CREATE_SUPERWETINK_MESSAGE
ERROR_GRAPHICS_VAIL_FAILED_TO_SEND_DESTROY_SUPERWETINK_MESSAGE
ERROR_GRAPHICS_VAIL_STATE_CHANGED
ERROR_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES
ERROR_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED
ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE
ERROR_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED
ERROR_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED
ERROR_GRAPHICS_WINDOWDC_NOT_AVAILABLE
ERROR_GRAPHICS_WINDOWLESS_PRESENT_DISABLED
ERROR_GRAPHICS_WRONG_ALLOCATION_DEVICE
ERROR_GROUP_EXISTS
ERROR_GROUP_NOT_AVAILABLE
ERROR_GROUP_NOT_FOUND
ERROR_GROUP_NOT_ONLINE
ERROR_GROUPSET_CANT_PROVIDE
ERROR_GROUPSET_NOT_AVAILABLE
ERROR_GROUPSET_NOT_FOUND
ERROR_GUID_SUBSTITUTION_MADE
ERROR_HANDLE_DISK_FULL
ERROR_HANDLE_EOF
ERROR_HANDLE_NO_LONGER_VALID
ERROR_HANDLE_REVOKED
ERROR_HANDLES_CLOSED
ERROR_HASH_NOT_PRESENT
ERROR_HASH_NOT_SUPPORTED
ERROR_HAS_SYSTEM_CRITICAL_FILES
ERROR_HEURISTIC_DAMAGE_POSSIBLE
ERROR_HIBERNATED
ERROR_HIBERNATION_FAILURE
ERROR_HOOK_NEEDS_HMOD
ERROR_HOOK_NOT_INSTALLED
ERROR_HOOK_TYPE_NOT_ALLOWED
ERROR_HOST_DOWN
ERROR_HOST_NODE_NOT_AVAILABLE
ERROR_HOST_NODE_NOT_GROUP_OWNER
ERROR_HOST_NODE_NOT_RESOURCE_OWNER
ERROR_HOST_UNREACHABLE
ERROR_HOTKEY_ALREADY_REGISTERED
ERROR_HOTKEY_NOT_REGISTERED
ERROR_HUNG_DISPLAY_DRIVER_THREAD
ERROR_HV_ACCESS_DENIED
ERROR_HV_ACKNOWLEDGED
ERROR_HV_CPUID_FEATURE_VALIDATION
ERROR_HV_CPUID_XSAVE_FEATURE_VALIDATION
ERROR_HV_EVENT_BUFFER_ALREADY_FREED
ERROR_HV_FEATURE_UNAVAILABLE
ERROR_HV_INACTIVE
ERROR_HV_INSUFFICIENT_BUFFER
ERROR_HV_INSUFFICIENT_BUFFERS
ERROR_HV_INSUFFICIENT_CONTIGUOUS_MEMORY
ERROR_HV_INSUFFICIENT_DEVICE_DOMAINS
ERROR_HV_INSUFFICIENT_MEMORY
ERROR_HV_INSUFFICIENT_ROOT_MEMORY
ERROR_HV_INVALID_ALIGNMENT
ERROR_HV_INVALID_CONNECTION_ID
ERROR_HV_INVALID_CPU_GROUP_ID
ERROR_HV_INVALID_CPU_GROUP_STATE
ERROR_HV_INVALID_DEVICE_ID
ERROR_HV_INVALID_DEVICE_STATE
ERROR_HV_INVALID_HYPERCALL_CODE
ERROR_HV_INVALID_HYPERCALL_INPUT
ERROR_HV_INVALID_LP_INDEX
ERROR_HV_INVALID_PARAMETER
ERROR_HV_INVALID_PARTITION_ID
ERROR_HV_INVALID_PARTITION_STATE
ERROR_HV_INVALID_PORT_ID
ERROR_HV_INVALID_PROXIMITY_DOMAIN_INFO
ERROR_HV_INVALID_REGISTER_VALUE
ERROR_HV_INVALID_SAVE_RESTORE_STATE
ERROR_HV_INVALID_SYNIC_STATE
ERROR_HV_INVALID_VP_INDEX
ERROR_HV_INVALID_VP_STATE
ERROR_HV_INVALID_VTL_STATE
ERROR_HV_NO_DATA
ERROR_HV_NO_RESOURCES
ERROR_HV_NOT_ACKNOWLEDGED
ERROR_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE
ERROR_HV_NOT_PRESENT
ERROR_HV_NX_NOT_DETECTED
ERROR_HV_OBJECT_IN_USE
ERROR_HV_OPERATION_DENIED
ERROR_HV_OPERATION_FAILED
ERROR_HV_PAGE_REQUEST_INVALID
ERROR_HV_PARTITION_TOO_DEEP
ERROR_HV_PENDING_PAGE_REQUESTS
ERROR_HV_PROCESSOR_STARTUP_TIMEOUT
ERROR_HV_PROPERTY_VALUE_OUT_OF_RANGE
ERROR_HV_SMX_ENABLED
ERROR_HV_UNKNOWN_PROPERTY
ERROR_HWNDS_HAVE_DIFF_PARENT
ERROR_ICM_NOT_ENABLED
ERROR_IEPORT_FULL
ERROR_ILLEGAL_CHARACTER
ERROR_ILLEGAL_DLL_RELOCATION
ERROR_ILLEGAL_ELEMENT_ADDRESS
ERROR_ILLEGAL_FLOAT_CONTEXT
ERROR_ILL_FORMED_PASSWORD
ERROR_IMAGE_AT_DIFFERENT_BASE
ERROR_IMAGE_MACHINE_TYPE_MISMATCH
ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE
ERROR_IMAGE_NOT_AT_BASE
ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT
ERROR_IMPLEMENTATION_LIMIT
ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED
Error in adding timeseries
ERROR_INC_BACKUP
Error in cnd init
ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE
ERROR_INCOMPATIBLE_SERVICE_SID_TYPE
ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING
ERROR_INCORRECT_ACCOUNT_TYPE
ERROR_INCORRECT_ADDRESS
ERROR_INCORRECT_SIZE
Error in creating log query thread
Error in creating query thread to query device
Error in creating thread for replay
Error in creating writer thread for logging
Error in creating writer thread to display monitoring information
ERROR_INDEX_ABSENT
ERROR_INDIGENOUS_TYPE
ERROR_INDOUBT_TRANSACTIONS_EXIST
ERROR_INFLOOP_IN_RELOC_CHAIN
Error in getting keyed vector
Error in getting timeseries from device stats
Error in init of device stats collection
Error in init of vector for metric instances
Error in launching multi user reboot toast
Error in launching schedule reboot in uso session
Error in launching settings update page
Error in launching settings update restart options page
error in libcrypto
Error in mutex init
Error in parsing file name
Error in parsing options
Error in parsing start time
Error in scheduling next update notification
ERROR_INSTALL_ALREADY_RUNNING
ERROR_INSTALL_CANCEL
ERROR_INSTALL_DEREGISTRATION_FAILURE
ERROR_INSTALL_FAILED
ERROR_INSTALL_FAILURE
ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING
ERROR_INSTALL_FULLTRUST_HOSTRUNTIME_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY
ERROR_INSTALL_INVALID_PACKAGE
ERROR_INSTALL_INVALID_RELATED_SET_UPDATE
ERROR_INSTALL_LANGUAGE_UNSUPPORTED
ERROR_INSTALL_LOG_FAILURE
ERROR_INSTALL_NETWORK_FAILURE
ERROR_INSTALL_NOTUSED
ERROR_INSTALL_OPEN_PACKAGE_FAILED
ERROR_INSTALL_OPTIONAL_PACKAGE_APPLICATIONID_NOT_UNIQUE
ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE
ERROR_INSTALL_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_FULLTRUST_CAPABILITY
ERROR_INSTALL_OUT_OF_DISK_SPACE
ERROR_INSTALL_PACKAGE_DOWNGRADE
ERROR_INSTALL_PACKAGE_INVALID
ERROR_INSTALL_PACKAGE_NOT_FOUND
ERROR_INSTALL_PACKAGE_OPEN_FAILED
ERROR_INSTALL_PACKAGE_REJECTED
ERROR_INSTALL_PACKAGE_VERSION
ERROR_INSTALL_PLATFORM_UNSUPPORTED
ERROR_INSTALL_POLICY_FAILURE
ERROR_INSTALL_PREREQUISITE_FAILED
ERROR_INSTALL_REGISTRATION_FAILURE
ERROR_INSTALL_REJECTED
ERROR_INSTALL_REMOTE_DISALLOWED
ERROR_INSTALL_REMOTE_PROHIBITED
ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED
ERROR_INSTALL_SERVICE_FAILURE
ERROR_INSTALL_SERVICE_SAFEBOOT
ERROR_INSTALL_SOURCE_ABSENT
ERROR_INSTALL_SUSPEND
ERROR_INSTALL_TEMP_UNWRITABLE
ERROR_INSTALL_TRANSFORM_FAILURE
ERROR_INSTALL_TRANSFORM_REJECTED
ERROR_INSTALL_UI_FAILURE
ERROR_INSTALL_USEREXIT
ERROR_INSTALL_VOLUME_CORRUPT
ERROR_INSTALL_VOLUME_NOT_EMPTY
ERROR_INSTALL_VOLUME_OFFLINE
ERROR_INSTALL_WRONG_PROCESSOR_ARCHITECTURE
ERROR_INSTRUCTION_MISALIGNMENT
ERROR_INSUFFICIENT_BUFFER
ERROR_INSUFFICIENT_LOGON_INFO
ERROR_INSUFFICIENT_POWER
ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE
ERROR_INTERMIXED_KERNEL_EA_OPERATION
ERROR_INTERNAL_DB_CORRUPTION
ERROR_INTERNAL_DB_ERROR
ERROR_INTERNAL_ERROR
ERROR_INTERRUPT_STILL_CONNECTED
ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED
ERROR_INVALID_ACCEL_HANDLE
ERROR_INVALID_ACCESS
ERROR_INVALID_ACCOUNT_NAME
ERROR_INVALID_ACE_CONDITION
ERROR_INVALID_ACL
ERROR_INVALID_ADDRESS
ERROR_INVALID_AT_INTERRUPT_TIME
ERROR_INVALID_BLOCK
ERROR_INVALID_BLOCK_LENGTH
ERROR_INVALID_CAP
ERROR_INVALID_CATEGORY
ERROR_INVALID_CLEANER
ERROR_INVALID_CLUSTER_IPV6_ADDRESS
ERROR_INVALID_CMM
ERROR_INVALID_COLORINDEX
ERROR_INVALID_COLORSPACE
ERROR_INVALID_COMBOBOX_MESSAGE
ERROR_INVALID_COMMAND_LINE
ERROR_INVALID_COMPUTERNAME
ERROR_INVALID_CRUNTIME_PARAMETER
ERROR_INVALID_CURSOR_HANDLE
ERROR_INVALID_DATA
ERROR_INVALID_DATATYPE
ERROR_INVALID_DEVICE_OBJECT_PARAMETER
ERROR_INVALID_DLL
ERROR_INVALID_DOMAINNAME
ERROR_INVALID_DOMAIN_ROLE
ERROR_INVALID_DOMAIN_STATE
ERROR_INVALID_DRIVE
ERROR_INVALID_DRIVE_OBJECT
ERROR_INVALID_DWP_HANDLE
ERROR_INVALID_EA_HANDLE
ERROR_INVALID_EA_NAME
ERROR_INVALID_EDIT_HEIGHT
ERROR_INVALID_ENVIRONMENT
ERROR_INVALID_EVENT_COUNT
ERROR_INVALID_EVENTNAME
ERROR_INVALID_EXCEPTION_HANDLER
ERROR_INVALID_EXE_SIGNATURE
ERROR_INVALID_FIELD
ERROR_INVALID_FIELD_IN_PARAMETER_LIST
ERROR_INVALID_FILTER_PROC
ERROR_INVALID_FLAG_NUMBER
ERROR_INVALID_FLAGS
ERROR_INVALID_FORM_NAME
ERROR_INVALID_FORM_SIZE
ERROR_INVALID_FUNCTION
ERROR_INVALID_GROUP_ATTRIBUTES
ERROR_INVALID_GROUPNAME
ERROR_INVALID_GW_COMMAND
ERROR_INVALID_HANDLE
ERROR_INVALID_HANDLE_STATE
ERROR_INVALID_HOOK_FILTER
ERROR_INVALID_HOOK_HANDLE
ERROR_INVALID_HW_PROFILE
ERROR_INVALID_ICON_HANDLE
ERROR_INVALID_ID_AUTHORITY
ERROR_INVALID_IMAGE_HASH
ERROR_INVALID_IMPORT_OF_NON_DLL
ERROR_INVALID_INDEX
ERROR_INVALID_KERNEL_INFO_VERSION
ERROR_INVALID_KEYBOARD_HANDLE
ERROR_INVALID_LABEL
ERROR_INVALID_LB_MESSAGE
ERROR_INVALID_LDT_DESCRIPTOR
ERROR_INVALID_LDT_OFFSET
ERROR_INVALID_LDT_SIZE
ERROR_INVALID_LEVEL
ERROR_INVALID_LIBRARY
ERROR_INVALID_LIST_FORMAT
ERROR_INVALID_LOCK_RANGE
ERROR_INVALID_LOGON_HOURS
ERROR_INVALID_LOGON_TYPE
ERROR_INVALID_MEDIA
ERROR_INVALID_MEDIA_POOL
ERROR_INVALID_MEMBER
ERROR_INVALID_MENU_HANDLE
ERROR_INVALID_MESSAGE
ERROR_INVALID_MESSAGEDEST
ERROR_INVALID_MESSAGENAME
ERROR_INVALID_MINALLOCSIZE
ERROR_INVALID_MODULETYPE
ERROR_INVALID_MONITOR_HANDLE
ERROR_INVALID_MSGBOX_STYLE
ERROR_INVALID_NAME
ERROR_INVALID_NETNAME
ERROR_INVALID_OPERATION
ERROR_INVALID_OPERATION_ON_QUORUM
ERROR_INVALID_OPLOCK_PROTOCOL
ERROR_INVALID_ORDINAL
ERROR_INVALID_OWNER
ERROR_INVALID_PACKAGE_SID_LENGTH
ERROR_INVALID_PARAMETER
ERROR_INVALID_PASSWORD
ERROR_INVALID_PASSWORDNAME
ERROR_INVALID_PATCH_XML
ERROR_INVALID_PEP_INFO_VERSION
ERROR_INVALID_PIXEL_FORMAT
ERROR_INVALID_PLUGPLAY_DEVICE_PATH
ERROR_INVALID_PORT_ATTRIBUTES
ERROR_INVALID_PRIMARY_GROUP
ERROR_INVALID_PRINTER_COMMAND
ERROR_INVALID_PRINTER_DRIVER_MANIFEST
ERROR_INVALID_PRINTER_NAME
ERROR_INVALID_PRINTER_STATE
ERROR_INVALID_PRINT_MONITOR
ERROR_INVALID_PRIORITY
ERROR_INVALID_PROFILE
ERROR_INVALID_QUOTA_LOWER
ERROR_INVALID_REPARSE_DATA
ERROR_INVALID_RUNLEVEL_SETTING
ERROR_INVALID_SCROLLBAR_RANGE
ERROR_INVALID_SECURITY_DESCR
ERROR_INVALID_SEGDPL
ERROR_INVALID_SEGMENT_NUMBER
ERROR_INVALID_SEPARATOR_FILE
ERROR_INVALID_SERVER_STATE
ERROR_INVALID_SERVICE_ACCOUNT
ERROR_INVALID_SERVICE_CONTROL
ERROR_INVALID_SERVICE_LOCK
ERROR_INVALID_SERVICENAME
ERROR_INVALID_SHARENAME
ERROR_INVALID_SHOWWIN_COMMAND
ERROR_INVALID_SID
ERROR_INVALID_SIGNAL_NUMBER
ERROR_INVALID_SPI_VALUE
ERROR_INVALID_STACKSEG
ERROR_INVALID_STAGED_SIGNATURE
ERROR_INVALID_STARTING_CODESEG
ERROR_INVALID_STATE
ERROR_INVALID_SUB_AUTHORITY
ERROR_INVALID_TABLE
ERROR_INVALID_TARGET_HANDLE
ERROR_INVALID_TASK_INDEX
ERROR_INVALID_TASK_NAME
ERROR_INVALID_THREAD_ID
ERROR_INVALID_TIME
ERROR_INVALID_TOKEN
ERROR_INVALID_TRANSACTION
ERROR_INVALID_TRANSFORM
ERROR_INVALID_UNWIND_TARGET
ERROR_INVALID_USER_BUFFER
ERROR_INVALID_USER_PRINCIPAL_NAME
ERROR_INVALID_VARIANT
ERROR_INVALID_VERIFY_SWITCH
ERROR_INVALID_WINDOW_HANDLE
ERROR_INVALID_WINDOW_STYLE
ERROR_INVALID_WORKSTATION
ERROR_IO_DEVICE
ERROR_IO_INCOMPLETE
ERROR_IO_PENDING
ERROR_IOPL_NOT_ENABLED
ERROR_IO_PREEMPTED
ERROR_IO_PRIVILEGE_FAILED
ERROR_IO_REISSUE_AS_CACHED
ERROR_IP_ADDRESS_CONFLICT1
ERROR_IP_ADDRESS_CONFLICT2
ERROR_IPSEC_AUTH_FIREWALL_DROP
ERROR_IPSEC_BAD_SPI
ERROR_IPSEC_CLEAR_TEXT_DROP
ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND
ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND
ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND
ERROR_IPSEC_DOSP_BLOCK
ERROR_IPSEC_DOSP_INVALID_PACKET
ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED
ERROR_IPSEC_DOSP_MAX_ENTRIES
ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES
ERROR_IPSEC_DOSP_NOT_INSTALLED
ERROR_IPSEC_DOSP_RECEIVED_MULTICAST
ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED
ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED
ERROR_IPSEC_IKE_ATTRIB_FAIL
ERROR_IPSEC_IKE_AUTH_FAIL
ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE
ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY
ERROR_IPSEC_IKE_BENIGN_REINIT
ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH
ERROR_IPSEC_IKE_CGA_AUTH_FAILED
ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS
ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED
ERROR_IPSEC_IKE_CRL_FAILED
ERROR_IPSEC_IKE_DECRYPT
ERROR_IPSEC_IKE_DH_FAIL
ERROR_IPSEC_IKE_DH_FAILURE
ERROR_IPSEC_IKE_DOS_COOKIE_SENT
ERROR_IPSEC_IKE_DROP_NO_RESPONSE
ERROR_IPSEC_IKE_ENCRYPT
ERROR_IPSEC_IKE_ERROR
ERROR_IPSEC_IKE_FAILQUERYSSP
ERROR_IPSEC_IKE_FAILSSPINIT
ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR
ERROR_IPSEC_IKE_GETSPIFAIL
ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE
ERROR_IPSEC_IKE_INVALID_AUTH_ALG
ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD
ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN
ERROR_IPSEC_IKE_INVALID_CERT_TYPE
ERROR_IPSEC_IKE_INVALID_COOKIE
ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG
ERROR_IPSEC_IKE_INVALID_FILTER
ERROR_IPSEC_IKE_INVALID_GROUP
ERROR_IPSEC_IKE_INVALID_HASH
ERROR_IPSEC_IKE_INVALID_HASH_ALG
ERROR_IPSEC_IKE_INVALID_HASH_SIZE
ERROR_IPSEC_IKE_INVALID_HEADER
ERROR_IPSEC_IKE_INVALID_KEY_USAGE
ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION
ERROR_IPSEC_IKE_INVALID_MM_FOR_QM
ERROR_IPSEC_IKE_INVALID_PAYLOAD
ERROR_IPSEC_IKE_INVALID_POLICY
ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY
ERROR_IPSEC_IKE_INVALID_SIG
ERROR_IPSEC_IKE_INVALID_SIGNATURE
ERROR_IPSEC_IKE_INVALID_SITUATION
ERROR_IPSEC_IKE_KERBEROS_ERROR
ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL
ERROR_IPSEC_IKE_LOAD_FAILED
ERROR_IPSEC_IKE_LOAD_SOFT_SA
ERROR_IPSEC_IKE_MM_ACQUIRE_DROP
ERROR_IPSEC_IKE_MM_DELAY_DROP
ERROR_IPSEC_IKE_MM_EXPIRED
ERROR_IPSEC_IKE_MM_LIMIT
ERROR_IPSEC_IKE_NEGOTIATION_DISABLED
ERROR_IPSEC_IKE_NEGOTIATION_PENDING
ERROR_IPSEC_IKE_NEG_STATUS_BEGIN
ERROR_IPSEC_IKE_NEG_STATUS_END
ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END
ERROR_IPSEC_IKE_NO_CERT
ERROR_IPSEC_IKE_NO_MM_POLICY
ERROR_IPSEC_IKE_NO_PEER_CERT
ERROR_IPSEC_IKE_NO_POLICY
ERROR_IPSEC_IKE_NO_PRIVATE_KEY
ERROR_IPSEC_IKE_NO_PUBLIC_KEY
ERROR_IPSEC_IKE_NOTCBPRIV
ERROR_IPSEC_IKE_OUT_OF_MEMORY
ERROR_IPSEC_IKE_PEER_CRL_FAILED
ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE
ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID
ERROR_IPSEC_IKE_POLICY_CHANGE
ERROR_IPSEC_IKE_POLICY_MATCH
ERROR_IPSEC_IKE_PROCESS_ERR
ERROR_IPSEC_IKE_PROCESS_ERR_CERT
ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ
ERROR_IPSEC_IKE_PROCESS_ERR_DELETE
ERROR_IPSEC_IKE_PROCESS_ERR_HASH
ERROR_IPSEC_IKE_PROCESS_ERR_ID
ERROR_IPSEC_IKE_PROCESS_ERR_KE
ERROR_IPSEC_IKE_PROCESS_ERR_NATOA
ERROR_IPSEC_IKE_PROCESS_ERR_NONCE
ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY
ERROR_IPSEC_IKE_PROCESS_ERR_PROP
ERROR_IPSEC_IKE_PROCESS_ERR_SA
ERROR_IPSEC_IKE_PROCESS_ERR_SIG
ERROR_IPSEC_IKE_PROCESS_ERR_TRANS
ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR
ERROR_IPSEC_IKE_QM_ACQUIRE_DROP
ERROR_IPSEC_IKE_QM_DELAY_DROP
ERROR_IPSEC_IKE_QM_EXPIRED
ERROR_IPSEC_IKE_QM_LIMIT
ERROR_IPSEC_IKE_QUEUE_DROP_MM
ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM
ERROR_IPSEC_IKE_RATELIMIT_DROP
ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING
ERROR_IPSEC_IKE_RPC_DELETE
ERROR_IPSEC_IKE_SA_DELETED
ERROR_IPSEC_IKE_SA_REAPED
ERROR_IPSEC_IKE_SECLOADFAIL
ERROR_IPSEC_IKE_SHUTTING_DOWN
ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY
ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN
ERROR_IPSEC_IKE_SRVACQFAIL
ERROR_IPSEC_IKE_SRVQUERYCRED
ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE
ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE
ERROR_IPSEC_IKE_TIMED_OUT
ERROR_IPSEC_IKE_TOO_MANY_FILTERS
ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID
ERROR_IPSEC_IKE_UNKNOWN_DOI
ERROR_IPSEC_IKE_UNSUPPORTED_ID
ERROR_IPSEC_INTEGRITY_CHECK_FAILED
ERROR_IPSEC_INVALID_PACKET
ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING
ERROR_IPSEC_MM_AUTH_EXISTS
ERROR_IPSEC_MM_AUTH_IN_USE
ERROR_IPSEC_MM_AUTH_NOT_FOUND
ERROR_IPSEC_MM_AUTH_PENDING_DELETION
ERROR_IPSEC_MM_FILTER_EXISTS
ERROR_IPSEC_MM_FILTER_NOT_FOUND
ERROR_IPSEC_MM_FILTER_PENDING_DELETION
ERROR_IPSEC_MM_POLICY_EXISTS
ERROR_IPSEC_MM_POLICY_IN_USE
ERROR_IPSEC_MM_POLICY_NOT_FOUND
ERROR_IPSEC_MM_POLICY_PENDING_DELETION
ERROR_IPSEC_QM_POLICY_EXISTS
ERROR_IPSEC_QM_POLICY_IN_USE
ERROR_IPSEC_QM_POLICY_NOT_FOUND
ERROR_IPSEC_QM_POLICY_PENDING_DELETION
ERROR_IPSEC_REPLAY_CHECK_FAILED
ERROR_IPSEC_SA_LIFETIME_EXPIRED
ERROR_IPSEC_THROTTLE_DROP
ERROR_IPSEC_TRANSPORT_FILTER_EXISTS
ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND
ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION
ERROR_IPSEC_TUNNEL_FILTER_EXISTS
ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND
ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION
ERROR_IPSEC_WRONG_SA
ERROR_IRQ_BUSY
ERROR_IS_JOINED
ERROR_IS_JOIN_PATH
ERROR_IS_JOIN_TARGET
ERROR_IS_SUBSTED
ERROR_IS_SUBST_PATH
ERROR_IS_SUBST_TARGET
ERROR_ITERATED_DATA_EXCEEDS_64k
ERROR_JOB_NO_CONTAINER
ERROR_JOIN_TO_JOIN
ERROR_JOIN_TO_SUBST
ERROR_JOURNAL_DELETE_IN_PROGRESS
ERROR_JOURNAL_ENTRY_DELETED
ERROR_JOURNAL_HOOK_SET
ERROR_JOURNAL_NOT_ACTIVE
ERROR_KERNEL_APC
ERROR_KEY_DELETED
ERROR_KEY_HAS_CHILDREN
ERROR_KM_DRIVER_BLOCKED
ERROR_LABEL_TOO_LONG
ERROR_LAST_ADMIN
ERROR_LB_WITHOUT_TABSTOPS
ERROR_LIBRARY_FULL
ERROR_LIBRARY_OFFLINE
ERROR_LICENSE_QUOTA_EXCEEDED
ERROR_LINUX_SUBSYSTEM_NOT_PRESENT
ERROR_LINUX_SUBSYSTEM_UPDATE_REQUIRED
ERROR_LISTBOX_ID_NOT_FOUND
ERROR_LM_CROSS_ENCRYPTION_REQUIRED
Error Loading response file
ERROR_LOCAL_POLICY_MODIFICATION_NOT_SUPPORTED
ERROR_LOCAL_USER_SESSION_KEY
ERROR_LOCKED
ERROR_LOCK_FAILED
ERROR_LOCK_VIOLATION
ERROR_LOG_APPENDED_FLUSH_FAILED
ERROR_LOG_ARCHIVE_IN_PROGRESS
ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS
ERROR_LOG_BLOCK_INCOMPLETE
ERROR_LOG_BLOCK_INVALID
ERROR_LOG_BLOCKS_EXHAUSTED
ERROR_LOG_BLOCK_VERSION
ERROR_LOG_CANT_DELETE
ERROR_LOG_CLIENT_ALREADY_REGISTERED
ERROR_LOG_CLIENT_NOT_REGISTERED
ERROR_LOG_CONTAINER_LIMIT_EXCEEDED
ERROR_LOG_CONTAINER_OPEN_FAILED
ERROR_LOG_CONTAINER_READ_FAILED
ERROR_LOG_CONTAINER_STATE_INVALID
ERROR_LOG_CONTAINER_WRITE_FAILED
ERROR_LOG_CORRUPTION_DETECTED
ERROR_LOG_DEDICATED
ERROR_LOG_EPHEMERAL
ERROR_LOG_FILE_FULL
ERROR_LOG_FULL
ERROR_LOG_FULL_HANDLER_IN_PROGRESS
ERROR_LOG_GROWTH_FAILED
ERROR_LOG_HARD_ERROR
ERROR_LOG_INCONSISTENT_SECURITY
ERROR_LOGIN_TIME_RESTRICTION
ERROR_LOG_INVALID_RANGE
ERROR_LOGIN_WKSTA_RESTRICTION
ERROR_LOG_METADATA_CORRUPT
ERROR_LOG_METADATA_FLUSH_FAILED
ERROR_LOG_METADATA_INCONSISTENT
ERROR_LOG_METADATA_INVALID
ERROR_LOG_MULTIPLEXED
ERROR_LOG_NO_RESTART
ERROR_LOG_NOT_ENOUGH_CONTAINERS
ERROR_LOGON_FAILURE
ERROR_LOGON_NOT_GRANTED
ERROR_LOGON_SERVER_CONFLICT
ERROR_LOGON_SESSION_COLLISION
ERROR_LOGON_SESSION_EXISTS
ERROR_LOGON_TYPE_NOT_GRANTED
ERROR_LOG_PINNED
ERROR_LOG_PINNED_ARCHIVE_TAIL
ERROR_LOG_PINNED_RESERVATION
ERROR_LOG_POLICY_ALREADY_INSTALLED
ERROR_LOG_POLICY_CONFLICT
ERROR_LOG_POLICY_INVALID
ERROR_LOG_POLICY_NOT_INSTALLED
ERROR_LOG_READ_CONTEXT_INVALID
ERROR_LOG_READ_MODE_INVALID
ERROR_LOG_RECORD_NONEXISTENT
ERROR_LOG_RECORDS_RESERVED_INVALID
ERROR_LOG_RESERVATION_INVALID
ERROR_LOG_RESIZE_INVALID_SIZE
ERROR_LOG_RESTART_INVALID
ERROR_LOG_SECTOR_INVALID
ERROR_LOG_SECTOR_PARITY_INVALID
ERROR_LOG_SECTOR_REMAPPED
ERROR_LOG_SPACE_RESERVED_INVALID
ERROR_LOG_START_OF_LOG
ERROR_LOG_STATE_INVALID
ERROR_LOG_TAIL_INVALID
ERROR_LONGJUMP
ERROR_LOST_MODE_LOGON_RESTRICTION
ERROR_LOST_WRITEBEHIND_DATA
ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR
ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED
ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR
ERROR_LUIDS_EXHAUSTED
ERROR_MACHINE_LOCKED
ERROR_MAGAZINE_NOT_PRESENT
ERROR_MALFORMED_SUBSTITUTION_STRING
ERROR_MAPPED_ALIGNMENT
ERROR_MARKED_TO_DISALLOW_WRITES
ERROR_MARSHALL_OVERFLOW
ERROR: MAX_FDS limit reached
ERROR_MAX_SESSIONS_REACHED
ERROR_MAX_THRDS_REACHED
ERROR_MCA_EXCEPTION
ERROR_MCA_INTERNAL_ERROR
ERROR_MCA_INVALID_CAPABILITIES_STRING
ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED
ERROR_MCA_INVALID_VCP_VERSION
ERROR_MCA_MCCS_VERSION_MISMATCH
ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION
ERROR_MCA_OCCURED
ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE
ERROR_MCA_UNSUPPORTED_MCCS_VERSION
ERROR_MEDIA_CHANGED
ERROR_MEDIA_CHECK
ERROR_MEDIA_INCOMPATIBLE
ERROR_MEDIA_NOT_AVAILABLE
ERROR_MEDIA_OFFLINE
ERROR_MEDIA_UNAVAILABLE
ERROR_MEDIUM_NOT_ACCESSIBLE
ERROR_MEMBER_IN_ALIAS
ERROR_MEMBER_IN_GROUP
ERROR_MEMBER_NOT_IN_ALIAS
ERROR_MEMBER_NOT_IN_GROUP
ERROR_MEMBERS_PRIMARY_GROUP
ERROR_MEMORY_HARDWARE
ERROR_MENU_ITEM_NOT_FOUND
ERROR_MESSAGE_EXCEEDS_MAX_SIZE
ERROR_MESSAGE_SYNC_ONLY
ERROR_META_EXPANSION_TOO_LONG
ERROR_METAFILE_NOT_SUPPORTED
ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION
ERROR_MISSING_SYSTEMFILE
ERROR_MOD_NOT_FOUND
ERROR_MONITOR_INVALID_DESCRIPTOR_CHECKSUM
ERROR_MONITOR_INVALID_DETAILED_TIMING_BLOCK
ERROR_MONITOR_INVALID_MANUFACTURE_DATE
ERROR_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK
ERROR_MONITOR_INVALID_STANDARD_TIMING_BLOCK
ERROR_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK
ERROR_MONITOR_NO_DESCRIPTOR
ERROR_MONITOR_NO_MORE_DESCRIPTOR_DATA
ERROR_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT
ERROR_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED
ERROR_MORE_DATA
ERROR_MORE_WRITES
ERROR_MOUNT_POINT_NOT_RESOLVED
ERROR_MP_PROCESSOR_MISMATCH
ERROR_MRM_AUTOMERGE_ENABLED
ERROR_MRM_DIRECT_REF_TO_NON_DEFAULT_RESOURCE
ERROR_MRM_DUPLICATE_ENTRY
ERROR_MRM_DUPLICATE_MAP_NAME
ERROR_MRM_FILEPATH_TOO_LONG
ERROR_MRM_GENERATION_COUNT_MISMATCH
ERROR_MR_MID_NOT_FOUND
ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE
ERROR_MRM_INVALID_FILE_TYPE
ERROR_MRM_INVALID_PRICONFIG
ERROR_MRM_INVALID_PRI_FILE
ERROR_MRM_INVALID_QUALIFIER_OPERATOR
ERROR_MRM_INVALID_QUALIFIER_VALUE
ERROR_MRM_INVALID_RESOURCE_IDENTIFIER
ERROR_MRM_MAP_NOT_FOUND
ERROR_MRM_MISSING_DEFAULT_LANGUAGE
ERROR_MRM_NAMED_RESOURCE_NOT_FOUND
ERROR_MRM_NO_CANDIDATE
ERROR_MRM_NO_CURRENT_VIEW_ON_THREAD
ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE
ERROR_MRM_PACKAGE_NOT_FOUND
ERROR_MRM_RESOURCE_TYPE_MISMATCH
ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE
ERROR_MRM_TOO_MANY_RESOURCES
ERROR_MRM_UNKNOWN_QUALIFIER
ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE
ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_LOAD_UNLOAD_PRI_FILE
ERROR_MRM_UNSUPPORTED_FILE_TYPE_FOR_MERGE
ERROR_MRM_UNSUPPORTED_PROFILE_TYPE
ERROR_MUI_FILE_NOT_FOUND
ERROR_MUI_FILE_NOT_LOADED
ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME
ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED
ERROR_MUI_INVALID_FILE
ERROR_MUI_INVALID_LOCALE_NAME
ERROR_MUI_INVALID_RC_CONFIG
ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME
ERROR_MULTIPLE_FAULT_VIOLATION
ERROR_MUTANT_LIMIT_EXCEEDED
ERROR_MUTUAL_AUTH_FAILED
ERROR_NDIS_ADAPTER_NOT_FOUND
ERROR_NDIS_ADAPTER_NOT_READY
ERROR_NDIS_ADAPTER_REMOVED
ERROR_NDIS_ALREADY_MAPPED
ERROR_NDIS_BAD_CHARACTERISTICS
ERROR_NDIS_BAD_VERSION
ERROR_NDIS_BUFFER_TOO_SHORT
ERROR_NDIS_DEVICE_FAILED
ERROR_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE
ERROR_NDIS_DOT11_AP_BAND_NOT_ALLOWED
ERROR_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE
ERROR_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED
ERROR_NDIS_DOT11_AUTO_CONFIG_ENABLED
ERROR_NDIS_DOT11_MEDIA_IN_USE
ERROR_NDIS_DOT11_POWER_STATE_INVALID
ERROR_NDIS_ERROR_READING_FILE
ERROR_NDIS_FILE_NOT_FOUND
ERROR_NDIS_GROUP_ADDRESS_IN_USE
ERROR_NDIS_INDICATION_REQUIRED
ERROR_NDIS_INTERFACE_CLOSING
ERROR_NDIS_INTERFACE_NOT_FOUND
ERROR_NDIS_INVALID_ADDRESS
ERROR_NDIS_INVALID_DATA
ERROR_NDIS_INVALID_DEVICE_REQUEST
ERROR_NDIS_INVALID_LENGTH
ERROR_NDIS_INVALID_OID
ERROR_NDIS_INVALID_PACKET
ERROR_NDIS_INVALID_PORT
ERROR_NDIS_INVALID_PORT_STATE
ERROR_NDIS_LOW_POWER_STATE
ERROR_NDIS_MEDIA_DISCONNECTED
ERROR_NDIS_MULTICAST_EXISTS
ERROR_NDIS_MULTICAST_FULL
ERROR_NDIS_MULTICAST_NOT_FOUND
ERROR_NDIS_NO_QUEUES
ERROR_NDIS_NOT_SUPPORTED
ERROR_NDIS_OFFLOAD_CONNECTION_REJECTED
ERROR_NDIS_OFFLOAD_PATH_REJECTED
ERROR_NDIS_OFFLOAD_POLICY
ERROR_NDIS_OPEN_FAILED
ERROR_NDIS_PAUSED
ERROR_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL
ERROR_NDIS_PM_WOL_PATTERN_LIST_FULL
ERROR_NDIS_REINIT_REQUIRED
ERROR_NDIS_REQUEST_ABORTED
ERROR_NDIS_RESET_IN_PROGRESS
ERROR_NDIS_RESOURCE_CONFLICT
ERROR_NDIS_UNSUPPORTED_MEDIA
ERROR_NDIS_UNSUPPORTED_REVISION
ERROR_NEEDS_REGISTRATION
ERROR_NEEDS_REMEDIATION
ERROR_NEGATIVE_SEEK
ERROR_NESTING_NOT_ALLOWED
ERROR_NETLOGON_NOT_STARTED
ERROR_NETNAME_DELETED
ERROR_NET_OPEN_FAILED
ERROR_NETWORK_ACCESS_DENIED
ERROR_NETWORK_ACCESS_DENIED_EDP
ERROR_NETWORK_BUSY
ERROR_NETWORK_NOT_AVAILABLE
ERROR_NETWORK_UNREACHABLE
ERROR_NET_WRITE_FAULT
ERROR_NOACCESS
ERROR_NO_ACE_CONDITION
ERROR_NO_ADMIN_ACCESS_POINT
ERROR_NO_APPLICABLE_APP_LICENSES_FOUND
ERROR_NO_ASSOCIATION
ERROR_NO_BROWSER_SERVERS_FOUND
ERROR_NO_CALLBACK_ACTIVE
ERROR_NO_DATA
ERROR_NO_DATA_DETECTED
ERROR_NODE_CANNOT_BE_CLUSTERED
ERROR_NODE_CANT_HOST_RESOURCE
ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER
ERROR_NODE_NOT_AVAILABLE
ERROR_NO_EFS
ERROR_NO_EVENT_PAIR
ERROR_NO_GUID_TRANSLATION
ERROR_NO_IMPERSONATION_TOKEN
ERROR_NO_INHERITANCE
ERROR_NOINTERFACE
ERROR_NO_LINK_TRACKING_IN_TRANSACTION
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
ERROR_NO_LOGON_SERVERS
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT
ERROR_NO_LOG_SPACE
ERROR_NO_MATCH
ERROR_NO_MEDIA_IN_DRIVE
ERROR_NO_MORE_DEVICES
ERROR_NO_MORE_FILES
ERROR_NO_MORE_ITEMS
ERROR_NO_MORE_MATCHES
ERROR_NO_MORE_SEARCH_HANDLES
ERROR_NO_MORE_USER_HANDLES
ERROR_NON_ACCOUNT_SID
ERROR_NONCORE_GROUPS_FOUND
ERROR_NON_CSV_PATH
ERROR_NON_DOMAIN_SID
ERROR_NONE_MAPPED
ERROR_NO_NET_OR_BAD_PATH
ERROR_NO_NETWORK
ERROR_NON_MDICHILD_WINDOW
ERROR_NONPAGED_SYSTEM_RESOURCES
ERROR_NO_NVRAM_RESOURCES
ERROR_NO_PAGEFILE
ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND
ERROR_NO_PROC_SLOTS
ERROR_NO_PROMOTION_ACTIVE
ERROR_NO_QUOTAS_FOR_ACCOUNT
ERROR_NO_RANGES_PROCESSED
ERROR_NO_RECOVERY_POLICY
ERROR_NO_RECOVERY_PROGRAM
ERROR_NO_SAVEPOINT_WITH_OPEN_FILES
ERROR_NO_SCROLLBARS
ERROR_NO_SECRETS
ERROR_NO_SECURITY_ON_OBJECT
ERROR_NO_SHUTDOWN_IN_PROGRESS
ERROR_NO_SIGNAL_SENT
ERROR_NO_SITENAME
ERROR_NO_SITE_SETTINGS_OBJECT
ERROR_NO_SPOOL_SPACE
ERROR_NO_SUCH_ALIAS
ERROR_NO_SUCH_DEVICE
ERROR_NO_SUCH_DOMAIN
ERROR_NO_SUCH_GROUP
ERROR_NO_SUCH_LOGON_SESSION
ERROR_NO_SUCH_MEMBER
ERROR_NO_SUCH_PACKAGE
ERROR_NO_SUCH_PRIVILEGE
ERROR_NO_SUCH_SITE
ERROR_NO_SUCH_USER
ERROR_NO_SUPPORTING_DRIVES
ERROR_NO_SYSTEM_MENU
ERROR_NO_SYSTEM_RESOURCES
ERROR_NOT_A_CLOUD_FILE
ERROR_NOT_A_CLOUD_SYNC_ROOT
ERROR_NOT_A_DAX_VOLUME
ERROR_NOT_ALL_ASSIGNED
ERROR_NOT_ALLOWED_ON_SYSTEM_FILE
ERROR_NOT_APPCONTAINER
ERROR_NOT_A_REPARSE_POINT
ERROR_NO_TASK_QUEUE
ERROR_NOT_A_TIERED_VOLUME
ERROR_NOT_AUTHENTICATED
ERROR_NOT_CAPABLE
ERROR_NOT_CHILD_WINDOW
ERROR_NOT_CONNECTED
ERROR_NOT_CONTAINER
ERROR_NOT_DAX_MAPPABLE
ERROR_NOT_DOS_DISK
ERROR_NOT_EMPTY
ERROR_NOT_ENOUGH_MEMORY
ERROR_NOT_ENOUGH_QUOTA
ERROR_NOT_ENOUGH_SERVER_MEMORY
ERROR_NOT_EXPORT_FORMAT
ERROR_NOT_FOUND
ERROR_NOT_GUI_PROCESS
ERROR_NOTHING_TO_TERMINATE
ERROR_NOTIFICATION_GUID_ALREADY_DEFINED
ERROR_NOTIFY_CLEANUP
ERROR_NOTIFY_ENUM_DIR
ERROR_NOT_JOINED
ERROR_NOT_LOCKED
ERROR_NOT_LOGGED_ON
ERROR_NOT_LOGON_PROCESS
ERROR_NO_TOKEN
ERROR_NOT_OWNER
ERROR_NOT_QUORUM_CAPABLE
ERROR_NOT_QUORUM_CLASS
ERROR_NO_TRACKING_SERVICE
ERROR_NOT_READ_FROM_COPY
ERROR_NOT_READY
ERROR_NOT_REDUNDANT_STORAGE
ERROR_NOT_REGISTRY_FILE
ERROR_NO_TRUST_LSA_SECRET
ERROR_NO_TRUST_SAM_ACCOUNT
ERROR_NOT_SAFEBOOT_SERVICE
ERROR_NOT_SAFE_MODE_DRIVER
ERROR_NOT_SAME_DEVICE
ERROR_NOT_SAME_OBJECT
ERROR_NOT_SNAPSHOT_VOLUME
ERROR_NOT_SUBSTED
ERROR_NOT_SUPPORTED
ERROR_NOT_SUPPORTED_IN_APPCONTAINER
ERROR_NOT_SUPPORTED_ON_DAX
ERROR_NOT_SUPPORTED_ON_SBS
ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER
ERROR_NOT_SUPPORTED_WITH_BTT
ERROR_NOT_TINY_STREAM
ERROR_NO_TXF_METADATA
ERROR_NO_UNICODE_TRANSLATION
ERROR_NO_USER_KEYS
ERROR_NO_USER_SESSION_KEY
ERROR_NO_VOLUME_ID
ERROR_NO_VOLUME_LABEL
ERROR_NO_WILDCARD_CHARACTERS
ERROR_NO_WORK_DONE
ERROR_NO_WRITABLE_DC_FOUND
ERROR_NO_YIELD_PERFORMED
ERROR_NT_CROSS_ENCRYPTION_REQUIRED
ERROR_NTLM_BLOCKED
ERROR_NULL_LM_PASSWORD
ERROR: NVLOG is not supported on this system.
ERROR_OBJECT_ALREADY_EXISTS
ERROR_OBJECT_IN_LIST
ERROR_OBJECT_NAME_EXISTS
ERROR_OBJECT_NO_LONGER_EXISTS
ERROR_OBJECT_NOT_EXTERNALLY_BACKED
ERROR_OBJECT_NOT_FOUND
ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED
ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED
ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED
ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED
ERROR_OFFSET_ALIGNMENT_VIOLATION
ERROR_OLD_WIN_VERSION
Error on getting TiP utilities from XDV.
Error on getting XdvQueryDispatchTable utility from XDV.
ERROR_ONLY_IF_CONNECTED
Error on providing kernel utilities to  XDV.
Error on Verifier Extention DDI bound process
Error on Verifier Extention entry point bound process
--error-on-warning
ERROR_OPEN_FAILED
ERROR_OPEN_FILES
ERROR_OPERATION_ABORTED
ERROR_OPERATION_IN_PROGRESS
ERROR_OPERATION_NOT_ALLOWED_FROM_SYSTEM_COMPONENT
ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION
ERROR_OPLOCK_BREAK_IN_PROGRESS
ERROR_OPLOCK_HANDLE_CLOSED
ERROR_OPLOCK_NOT_GRANTED
ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE
Error Originate:ActiveHoursHelper::GetDeviceActiveHours:323
Error Originate:ActiveHoursHelper::GetDeviceActiveHours:330
Error Originate:ConfigUtil::CheckIfUserLoggedInWhenMgmtPolicySet:51
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5199
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5211
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5222
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5240
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5255
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5268
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5277
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5289
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5301
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5312
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5331
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5343
Error Originate:InteractiveToast::BuildAllowSchedulingRebootFailedDialogPayload:5361
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:4984
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:4996
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5008
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5020
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5032
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5043
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5055
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5066
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5078
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5089
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5101
Error Originate:InteractiveToast::BuildAllowSchedulingReminderDialogPayload:5121
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2709
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2721
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2734
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2752
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2764
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2773
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2785
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2797
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2809
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2821
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2833
Error Originate:InteractiveToast::BuildForcedReminderToastPayload:2852
Error Originate:InteractiveToast::BuildLowDiskToastPayload:1517
Error Originate:InteractiveToast::BuildLowDiskToastPayload:1529
Error Originate:InteractiveToast::BuildLowDiskToastPayload:1541
Error Originate:InteractiveToast::BuildLowDiskToastPayload:1559
Error Originate:InteractiveToast::BuildLowDiskToastPayload:1576
Error Originate:InteractiveToast::BuildNotifyDialogPayload:4446
Error Originate:InteractiveToast::BuildNotifyDialogPayload:4458
Error Originate:InteractiveToast::BuildNotifyDialogPayload:4470
Error Originate:InteractiveToast::BuildNotifyDialogPayload:4486
Error Originate:InteractiveToast::BuildNotifyUpdatesToastPayload:2069
Error Originate:InteractiveToast::BuildNotifyUpdatesToastPayload:2081
Error Originate:InteractiveToast::BuildNotifyUpdatesToastPayload:2093
Error Originate:InteractiveToast::BuildNotifyUpdatesToastPayload:2109
Error Originate:InteractiveToast::BuildPowerRelatedToastPayload:2276
Error Originate:InteractiveToast::BuildPowerRelatedToastPayload:2288
Error Originate:InteractiveToast::BuildPowerRelatedToastPayload:2300
Error Originate:InteractiveToast::BuildPowerRelatedToastPayload:2312
Error Originate:InteractiveToast::BuildPowerRelatedToastPayload:2337
Error Originate:InteractiveToast::BuildRebootDialogPayload:4588
Error Originate:InteractiveToast::BuildRebootDialogPayload:4600
Error Originate:InteractiveToast::BuildRebootDialogPayload:4613
Error Originate:InteractiveToast::BuildRebootDialogPayload:4631
Error Originate:InteractiveToast::BuildRebootDialogPayload:4643
Error Originate:InteractiveToast::BuildRebootDialogPayload:4652
Error Originate:InteractiveToast::BuildRebootDialogPayload:4664
Error Originate:InteractiveToast::BuildRebootDialogPayload:4676
Error Originate:InteractiveToast::BuildRebootDialogPayload:4687
Error Originate:InteractiveToast::BuildRebootDialogPayload:4699
Error Originate:InteractiveToast::BuildRebootDialogPayload:4710
Error Originate:InteractiveToast::BuildRebootDialogPayload:4722
Error Originate:InteractiveToast::BuildRebootDialogPayload:4736
Error Originate:InteractiveToast::BuildRebootDialogPayload:4747
Error Originate:InteractiveToast::BuildRebootDialogPayload:4759
Error Originate:InteractiveToast::BuildRebootDialogPayload:4781
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1692
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1704
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1716
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1729
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1740
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1758
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1773
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1786
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1795
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1809
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1821
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1833
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1845
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1862
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1896
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1910
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1924
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1936
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1948
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1960
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:1972
Error Originate:InteractiveToast::BuildRebootFailedToastPayload:2002
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2417
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2429
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2442
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2460
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2472
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2481
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2493
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2505
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2517
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2531
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2545
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2559
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2571
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2583
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2595
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2607
Error Originate:InteractiveToast::BuildRebootImminentToastPayload:2631
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4847
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4859
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4871
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4882
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4894
Error Originate:InteractiveToast::BuildRebootPolicyEnabledDialogPayload:4910
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1143
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1155
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1167
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1179
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1191
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1203
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1216
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1234
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1249
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1262
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1276
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1290
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1304
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1318
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1330
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1342
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1354
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1367
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1379
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1391
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1403
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1415
Error Originate:InteractiveToast::BuildRebootWarningToastPayload:1448
Error Originate:InteractiveToast::BuildSnoozeToastPayload:1021
Error Originate:InteractiveToast::BuildSnoozeToastPayload:761
Error Originate:InteractiveToast::BuildSnoozeToastPayload:774
Error Originate:InteractiveToast::BuildSnoozeToastPayload:788
Error Originate:InteractiveToast::BuildSnoozeToastPayload:802
Error Originate:InteractiveToast::BuildSnoozeToastPayload:816
Error Originate:InteractiveToast::BuildSnoozeToastPayload:829
Error Originate:InteractiveToast::BuildSnoozeToastPayload:841
Error Originate:InteractiveToast::BuildSnoozeToastPayload:853
Error Originate:InteractiveToast::BuildSnoozeToastPayload:865
Error Originate:InteractiveToast::BuildSnoozeToastPayload:877
Error Originate:InteractiveToast::BuildSnoozeToastPayload:889
Error Originate:InteractiveToast::BuildSnoozeToastPayload:901
Error Originate:InteractiveToast::BuildSnoozeToastPayload:913
Error Originate:InteractiveToast::BuildSnoozeToastPayload:925
Error Originate:InteractiveToast::BuildSnoozeToastPayload:937
Error Originate:InteractiveToast::BuildSnoozeToastPayload:949
Error Originate:InteractiveToast::BuildSnoozeToastPayload:961
Error Originate:InteractiveToast::BuildSnoozeToastPayload:973
Error Originate:InteractiveToast::DisplayDialog:4078
Error Originate:InteractiveToast::DisplayDialog:4091
Error Originate:InteractiveToast::DisplayDialog:4103
Error Originate:InteractiveToast::DisplayDialog:4112
Error Originate:InteractiveToast::DisplayDialog:4121
Error Originate:InteractiveToast::DisplayDialog:4178
Error Originate:InteractiveToast::DisplayDialog:4196
Error Originate:InteractiveToast::DisplayDialog:4224
Error Originate:InteractiveToast::DisplayDialogNotification:4385
Error Originate:InteractiveToast::DisplayToast:341
Error Originate:InteractiveToast::GetScheduledRebootTime:2901
Error Originate:InteractiveToast::GetScheduledRebootTime:2915
Error Originate:InteractiveToast::GetScheduledRebootTime:2932
Error Originate:InteractiveToast::InvokeRestartNow:3922
Error Originate:InteractiveToast::InvokeRestartNow:3966
Error Originate:InteractiveToast::InvokeRestartNow:3979
Error Originate:InteractiveToast::InvokeRestartNow:4003
Error Originate:InteractiveToast::InvokeUsoScheduleReboot:3073
Error Originate:InteractiveToast::InvokeUsoScheduleReboot:3087
Error Originate:InteractiveToast::InvokeUsoScheduleReboot:3100
Error Originate:InteractiveToast::InvokeUsoScheduleReboot:3110
Error Originate:InteractiveToast::InvokeUsoScheduleReboot:3119
Error Originate:InteractiveToast::LaunchSettingsToScheduleReboot:2987
Error Originate:InteractiveToast::LaunchSettingsToScheduleReboot:2994
Error Originate:InteractiveToast::LaunchSettingsToScheduleReboot:3005
Error Originate:InteractiveToast::PostToast:393
Error Originate:InteractiveToast::PostToast:406
Error Originate:InteractiveToast::PostToast:418
Error Originate:InteractiveToast::PostToast:427
Error Originate:InteractiveToast::PostToast:436
Error Originate:InteractiveToast::PostToast:493
Error Originate:InteractiveToast::PostToast:512
Error Originate:InteractiveToast::PostToast:540
Error Originate:InteractiveToast::PostToast:552
Error Originate:InteractiveToast::PostToast:581
Error Originate:InteractiveToast::RegisterClassW:78
Error Originate:InteractiveToast::RegisterClassW:90
Error Originate:InteractiveToast::ScheduleInteractiveReboot:3764
Error Originate:InteractiveToast::ScheduleInteractiveReboot:3775
Error Originate:InteractiveToast::ScheduleInteractiveReboot:3807
Error Originate:InteractiveToast::ScheduleInteractiveReboot:3818
Error Originate:InteractiveToast::ScheduleInteractiveReboot:3829
Error Originate:InteractiveToast::SnoozeReboot:3533
Error Originate:InteractiveToast::SnoozeReboot:3544
Error Originate:InteractiveToast::SnoozeReboot:3554
Error Originate:MusToastNotification::BuildToastPayload:377
Error Originate:MusToastNotification::BuildToastPayload:392
Error Originate:MusToastNotification::BuildToastPayload:403
Error Originate:MusToastNotification::BuildToastPayload:418
Error Originate:MusToastNotification::BuildToastPayload:432
Error Originate:MusToastNotification::BuildToastPayload:443
Error Originate:MusToastNotification::BuildToastPayload:515
Error Originate:MusToastNotification::Display:62
Error Originate:MusToastNotification::PostToastNotification:117
Error Originate:MusToastNotification::PostToastNotification:129
Error Originate:MusToastNotification::PostToastNotification:139
Error Originate:MusToastNotification::PostToastNotification:146
Error Originate:MusToastNotification::PostToastNotification:153
Error Originate:MusToastNotification::PostToastNotification:189
Error Originate:MusToastNotification::PostToastNotification:213
Error Originate:MusToastNotification::PostToastNotification:222
Error Originate:MusUxRebootHelper::RebootWithUx:249
Error Originate:MusUxStateAction::DisplayDialog:1062
Error Originate:MusUxStateAction::DisplayDialog:1071
Error Originate:MusUxStateAction::DisplayDialog:1441
Error Originate:MusUxStateAction::DisplayDialog:1453
Error Originate:MusUxStateAction::DisplayDialog:1464
Error Originate:MusUxStateAction::DisplayMusUxState:646
Error Originate:MusUxStateAction::DisplayMusUxState:671
Error Originate:MusUxStateAction::DisplayMusUxState:689
Error Originate:MusUxStateAction::DisplayMusUxState:696
Error Originate:MusUxStateAction::DisplayMusUxState:703
Error Originate:MusUxStateAction::DisplayMusUxState:761
Error Originate:MusUxStateAction::DisplayMusUxState:785
Error Originate:MusUxStateAction::DisplayMusUxStateOnWCOS:865
Error Originate:MusUxStateAction::DisplayMusUxStateOnWCOS:924
Error Originate:MusUxStateAction::GetLastRebootAttemptTime:3030
Error Originate:MusUxStateAction::GetLastRebootAttemptTime:3055
Error Originate:MusUxStateAction::GetMgmtUpdatePolicy:3119
Error Originate:MusUxStateAction::GetScheduledRebootTime:2945
Error Originate:MusUxStateAction::GetScheduledRebootTime:2959
Error Originate:MusUxStateAction::GetScheduledRebootTime:2976
Error Originate:MusUxStateAction::LaunchCTADialog:4582
Error Originate:MusUxStateAction::LaunchCTADialog:4597
Error Originate:MusUxStateAction::LaunchCTADialog:4609
Error Originate:MusUxStateAction::LaunchCTADialog:4620
Error Originate:MusUxStateAction::LaunchEnhancedEngagedRebootReminderDialog:4332
Error Originate:MusUxStateAction::LaunchEnhancedEngagedRebootReminderDialog:4371
Error Originate:MusUxStateAction::LaunchEnhancedEngagedRebootReminderDialog:4378
Error Originate:MusUxStateAction::LaunchEnhancedEngagedRebootReminderDialog:4388
Error Originate:MusUxStateAction::LaunchEnhancedEngagedRebootReminderDialog:4467
Error Originate:MusUxStateAction::LaunchNotificationDialog:1556
Error Originate:MusUxStateAction::LaunchNotificationDialog:1570
Error Originate:MusUxStateAction::LaunchNotificationDialog:1579
Error Originate:MusUxStateAction::LaunchNotificationDialog:1590
Error Originate:MusUxStateAction::LaunchNotificationDialog:1603
Error Originate:MusUxStateAction::LaunchPolicyDeadlineApproachingDialog:4789
Error Originate:MusUxStateAction::LaunchPolicyDeadlineApproachingDialog:4799
Error Originate:MusUxStateAction::LaunchPolicyDeadlineApproachingDialog:4810
Error Originate:MusUxStateAction::LaunchPolicyDeadlineEngagementDialog:4697
Error Originate:MusUxStateAction::LaunchPolicyDeadlineEngagementDialog:4707
Error Originate:MusUxStateAction::LaunchPolicyDeadlineEngagementDialog:4718
Error Originate:MusUxStateAction::LaunchPolicyDeadlineRebootFailedDialog:4875
Error Originate:MusUxStateAction::LaunchPolicyDeadlineRebootFailedDialog:4885
Error Originate:MusUxStateAction::LaunchPolicyDeadlineRebootFailedDialog:4896
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedReminderDialog:2442
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedReminderDialog:2457
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedReminderDialog:2466
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedReminderDialog:2476
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedReminderDialog:2487
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedWarningDialog:2584
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedWarningDialog:2599
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedWarningDialog:2611
Error Originate:MusUxStateAction::LaunchRebootActiveHoursForcedWarningDialog:2622
Error Originate:MusUxStateAction::LaunchRebootActiveHoursImminentDialog:2310
Error Originate:MusUxStateAction::LaunchRebootActiveHoursImminentDialog:2325
Error Originate:MusUxStateAction::LaunchRebootActiveHoursImminentDialog:2337
Error Originate:MusUxStateAction::LaunchRebootActiveHoursImminentDialog:2348
Error Originate:MusUxStateAction::LaunchRebootActiveHoursUserSelectedDialog:2183
Error Originate:MusUxStateAction::LaunchRebootActiveHoursUserSelectedDialog:2192
Error Originate:MusUxStateAction::LaunchRebootActiveHoursUserSelectedDialog:2202
Error Originate:MusUxStateAction::LaunchRebootActiveHoursUserSelectedDialog:2213
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingFirstReminderDialog:3189
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingFirstReminderDialog:3204
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingFirstReminderDialog:3216
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingFirstReminderDialog:3227
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingRebootFailedDialog:3689
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingRebootFailedDialog:3704
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingRebootFailedDialog:3713
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingRebootFailedDialog:3723
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingRebootFailedDialog:3734
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingSecondReminderDialog:3318
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingSecondReminderDialog:3327
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingSecondReminderDialog:3337
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingSecondReminderDialog:3348
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingThirdReminderDialog:3440
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingThirdReminderDialog:3449
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingThirdReminderDialog:3459
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingThirdReminderDialog:3470
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingWarningDialog:3576
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingWarningDialog:3585
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingWarningDialog:3595
Error Originate:MusUxStateAction::LaunchRebootAllowSchedulingWarningDialog:3606
Error Originate:MusUxStateAction::LaunchRebootDTUDialog:1959
Error Originate:MusUxStateAction::LaunchRebootDTUDialog:1969
Error Originate:MusUxStateAction::LaunchRebootDTUDialog:1979
Error Originate:MusUxStateAction::LaunchRebootEngagedFourthReminderDialog:3825
Error Originate:MusUxStateAction::LaunchRebootEngagedFourthReminderDialog:3834
Error Originate:MusUxStateAction::LaunchRebootEngagedFourthReminderDialog:3844
Error Originate:MusUxStateAction::LaunchRebootEngagedFourthReminderDialog:3855
Error Originate:MusUxStateAction::LaunchRebootForcedDTUDialog:2060
Error Originate:MusUxStateAction::LaunchRebootForcedDTUDialog:2070
Error Originate:MusUxStateAction::LaunchRebootForcedDTUDialog:2080
Error Originate:MusUxStateAction::LaunchRebootImminentDialog:1709
Error Originate:MusUxStateAction::LaunchRebootImminentDialog:1718
Error Originate:MusUxStateAction::LaunchRebootImminentDialog:1729
Error Originate:MusUxStateAction::LaunchRebootImminentDialog:1742
Error Originate:MusUxStateAction::LaunchRebootPolicyDeadlineEnabledForcedWarningDialog:2719
Error Originate:MusUxStateAction::LaunchRebootPolicyDeadlineEnabledForcedWarningDialog:2734
Error Originate:MusUxStateAction::LaunchRebootPolicyDeadlineEnabledForcedWarningDialog:2746
Error Originate:MusUxStateAction::LaunchRebootPolicyDeadlineEnabledForcedWarningDialog:2757
Error Originate:MusUxStateAction::LaunchRebootPostponeMgmtDialog:2861
Error Originate:MusUxStateAction::LaunchRebootPostponeMgmtDialog:2870
Error Originate:MusUxStateAction::LaunchRebootPostponeMgmtDialog:2880
Error Originate:MusUxStateAction::LaunchRebootPostponeMgmtDialog:2891
Error Originate:MusUxStateAction::LaunchRebootWarningDialog:1847
Error Originate:MusUxStateAction::LaunchRebootWarningDialog:1856
Error Originate:MusUxStateAction::LaunchRebootWarningDialog:1866
Error Originate:MusUxStateAction::LaunchRebootWarningDialog:1877
Error Originate:MusUxStateAction::LaunchSuggestedActiveHoursDialog:4510
Error Originate:MusUxStateAction::LaunchSuggestedActiveHoursDialog:4520
Error Originate:MusUxStateAction::LaunchSuggestedActiveHoursDialog:4531
Error Originate:MusUxStateAction::SendNotificationToBeDisplayedEvent:4128
Error Originate:MusUxStateAction::SendNotificationToBeDisplayedEvent:4195
Error Originate:MusUxStateAction::ShowToastRebootReminder:1011
Error Originate:MusUxStateAction::ShowToastRebootReminder:981
Error Originate:MusUxStateAction::ShowToastRebootReminder:997
Error Originate:PolicyUtil::GetTransitionDaysIfEngagedPolicyInEffect:1864
Error Originate:RebootActiveHoursAutomatic::CreateInstance:69
Error Originate:RebootActiveHoursAutomatic::CreateInstance:79
Error Originate:RebootActiveHoursAutomatic::EvaluatePreRebootCondition:1150
Error Originate:RebootActiveHoursAutomatic::EvaluatePreRebootCondition:1172
Error Originate:RebootActiveHoursAutomatic::EvaluateUserInitiatedRebootCondition:3010
Error Originate:RebootActiveHoursAutomatic::ExecuteForcedReboot:1305
Error Originate:RebootActiveHoursAutomatic::ExecuteForcedReboot:1362
Error Originate:RebootActiveHoursAutomatic::ExecuteInteractiveReboot:3063
Error Originate:RebootActiveHoursAutomatic::ExecuteReboot:1256
Error Originate:RebootActiveHoursAutomatic::IsDeviceReadyForReboot:2749
Error Originate:RebootActiveHoursAutomatic::OnFirstReadyToReboot:172
Error Originate:RebootActiveHoursAutomatic::OnFirstReadyToReboot:183
Error Originate:RebootActiveHoursAutomatic::OnFirstReadyToReboot:196
Error Originate:RebootActiveHoursAutomatic::OnFirstReadyToReboot:209
Error Originate:RebootActiveHoursAutomatic::OnForceRebootDevice:773
Error Originate:RebootActiveHoursAutomatic::OnForceRebootDevice:789
Error Originate:RebootActiveHoursAutomatic::OnForceRebootDevice:807
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:492
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:505
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:524
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:549
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:564
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:586
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:602
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:619
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:635
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:648
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:662
Error Originate:RebootActiveHoursAutomatic::OnForceRebootReminder:714
Error Originate:RebootActiveHoursAutomatic::OnForceRebootRetry:904
Error Originate:RebootActiveHoursAutomatic::OnForceRebootRetry:922
Error Originate:RebootActiveHoursAutomatic::OnRebootDevice:417
Error Originate:RebootActiveHoursAutomatic::OnRebootDialog:280
Error Originate:RebootActiveHoursAutomatic::OnRebootDialog:298
Error Originate:RebootActiveHoursAutomatic::PostponeRebootDialog:1967
Error Originate:RebootActiveHoursAutomatic::PostponeRebootDialog:1982
Error Originate:RebootActiveHoursAutomatic::PostponeRebootDialog:1993
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1441
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1468
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1482
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1499
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1511
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1547
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1556
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1565
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1593
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1604
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1619
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1628
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1637
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartRetry:1703
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartRetry:1717
Error Originate:RebootActiveHoursAutomatic::ScheduleForcedRestartRetry:1745
Error Originate:RebootActiveHoursAutomatic::ScheduleForceReboot:2803
Error Originate:RebootActiveHoursAutomatic::ScheduleForceReboot:2814
Error Originate:RebootActiveHoursAutomatic::ScheduleReboot:2081
Error Originate:RebootActiveHoursAutomatic::ScheduleReboot:2096
Error Originate:RebootActiveHoursAutomatic::ScheduleReboot:2112
Error Originate:RebootActiveHoursAutomatic::ScheduleRebootDialog:1825
Error Originate:RebootActiveHoursAutomatic::ScheduleRebootDialog:1841
Error Originate:RebootActiveHoursAutomatic::ScheduleRebootDialog:1852
Error Originate:RebootActiveHoursAutomatic::ScheduleRebootDialog:1877
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2196
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2206
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2216
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2243
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2307
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialog:2342
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2383
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2392
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2403
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2452
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2493
Error Originate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon:2502
Error Originate:RebootStateHelper::DidDataMigrationSucceed:957
Error Originate:RebootStateHelper::InvokeUSOReboot:235
Error Originate:RebootStateHelper::InvokeUSOReboot:293
Error Originate:RebootStateHelper::InvokeUSOReboot:318
Error Originate:RebootStateHelper::IsDeviceReadyForReboot:2303
Error Originate:RebootStateHelper::IsRebootOutsideOfActiveHours:1860
Error Originate:RebootStateHelper::IsRebootScheduled:1744
Error Originate:RebootStateHelper::IsRebootScheduled:1757
Error Originate:RebootStateHelper::IsRebootScheduledInTheFuture:1803
Error Originate:RebootStateHelper::IsRebootScheduledInTheFuture:1813
Error Originate:RebootStateHelper::IsRebootTimeMatchingScheduledTime:1675
Error Originate:RebootStateHelper::IsRebootTimeMatchingScheduledTime:1691
Error Originate:RebootStateHelper::IsValidTimeToReboot:1052
Error Originate:RebootStateHelper::IsValidTimeToShowRebootNotificationOnLogon:1099
Error Originate:RebootStateHelper::RescheduleForceReboot:1599
Error Originate:RebootStateHelper::ScheduleForcedReminder:2075
Error Originate:RebootStateHelper::ScheduleForcedReminder:2103
Error Originate:RebootStateHelper::ScheduleForcedReminder:2119
Error Originate:RebootStateHelper::ScheduleForcedReminder:2127
Error Originate:RebootStateHelper::ScheduleForcedReminder:2137
Error Originate:RebootStateHelper::ScheduleForcedReminder:2146
Error Originate:RebootStateHelper::ScheduleRebootIn5Minutes:638
Error Originate:RebootStateHelper::ScheduleSoftForcedRestart:1959
Error Originate:RebootStateHelper::ScheduleSoftForcedRestart:1981
Error Originate:RebootStateHelper::ScheduleSoftForcedRestart:1990
Error Originate:RebootStateHelper::ScheduleSoftForcedRestart:2002
Error Originate:RebootStateHelper::ShowMgmtUpdateResults:994
Error Originate:RebootStateHelper::ShowUpdateResults:724
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:801
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:838
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:861
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:874
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:888
Error Originate:RebootStateHelper::ShowUpdateResultsNotification:909
Error Originate:RebootWorkflowMandatory::CreateInstance:49
Error Originate:RebootWorkflowMandatory::CreateInstance:59
Error Originate:RebootWorkflowMandatory::OnFirstReadyToReboot:147
Error Originate:RebootWorkflowMandatory::ShowRebootDialog:450
Error Originate:RebootWorkflowMandatory::ShowRebootDialog:462
Error Originate:RebootWorkflowMandatory::ShowRebootDialogOnLogon:503
Error Originate:RebootWorkflowMandatory::ShowRebootDialogOnLogon:520
Error Originate:RebootWorkflowMandatory::ShowRebootDialogOnLogon:539
Error Originate:RebootWorkflowMandatory::ShowRebootDialogOnLogon:551
Error Originate:RebootWorkflowMgmtUpdates::CreateInstance:56
Error Originate:RebootWorkflowMgmtUpdates::CreateInstance:66
Error Originate:RebootWorkflowMgmtUpdates::IsValidTimeToRebootAtMaintenanceTime:611
Error Originate:RebootWorkflowMgmtUpdates::RescheduleReboot:1103
Error Originate:RebootWorkflowMgmtUpdates::RescheduleReboot:1144
Error Originate:RebootWorkflowMgmtUpdates::RescheduleReboot:1149
Error Originate:RebootWorkflowMgmtUpdates::RescheduleReboot:1154
Error Originate:RebootWorkflowMgmtUpdates::ScheduleNoUxReboot:1218
Error Originate:RebootWorkflowMgmtUpdates::ScheduleNoUxReboot:1223
Error Originate:RebootWorkflowMgmtUpdates::ScheduleNoUxReboot:1228
Error Originate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:1015
Error Originate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:1026
Error Originate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:1065
Error Originate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:976
Error Originate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:987
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootDialogOnLogon:863
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootDialogOnLogon:879
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootDialogOnLogon:898
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootDialogOnLogon:910
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1284
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1293
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1316
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1333
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1345
Error Originate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1356
Error Originate:SettingUtil::IsDeviceTimeOutsideRebootBounds:940
Error Originate:UpdateNotification::DisplayNotification:342
Error Originate:UpdateNotification::DisplayNotification:467
Error Originate:UpdateNotification::DisplayNotification:474
Error Originate:UpdateNotification::IsDisplayNeeded:705
Error Originate:UpdateNotification::IsDisplayNeeded:734
Error Originate:UpdateNotification::IsDisplayNeeded:749
Error Originate:UpdateNotification::IsNotificationSkipped:617
Error Originate:UpdateNotification::IsNotificationSkipped:628
Error Originate:UpdateUtil::GetUpdatePayloadInfo:460
Error Originate:UpdateUtil::GetUpdatePayloadInfo:478
Error Originate:UpdateUtil::GetUpdatePayloadInfo:501
Error Originate:UpdateUtil::GetUpdatePayloadInfo:522
Error Originate:UpdateUtil::GetUpdatePayloadInfo:550
Error Originate:UpToDateStatusHelper::ShouldRecalcUpToDateStatus:142
Error Originate:UpToDateStatusHelper::ShouldRecalcUpToDateStatus:154
Error Originate:UserProcess::GetNotificationCommandLineArguments:1299
Error Originate:UserProcess::GetNotificationCommandLineArguments:1310
Error Originate:UserProcess::GetNotificationCommandLineArguments:1320
Error Originate:UserProcess::GetNotificationCommandLineArguments:1330
Error Originate:UserProcess::GetUserTokenForLoggedInUser:1367
Error Originate:UserProcess::GetUserTokenForLoggedInUser:1379
Error Originate:UserProcess::GetUserTokenForLoggedInUser:1390
Error Originate:UserProcess::GetUserTokenForLoggedInUser:1397
Error Originate:UserProcess::GetUserTokenForLoggedInUser:1409
Error Originate:UserProcess::IsUserSessionActive:634
Error Originate:UserProcess::LaunchDialogProcess:507
Error Originate:UserProcess::LaunchDialogProcess:519
Error Originate:UserProcess::LaunchDialogProcessOnWindowsMobile:802
Error Originate:UserProcess::LaunchDialogProcessOnWindowsMobile:814
Error Originate:UserProcess::LaunchToastProcess:577
Error Originate:UserProcess::LaunchToastProcessOnWindowsMobile:870
Error Originate:UserProcess::LaunchUxAsUser:395
Error Originate:UserProcess::LaunchUxAsUser:418
Error Originate:UxDisplaySurfaceManager::DisplaySurfaceNotification:85
Error Originate:UXElementStore::CheckIfScenarioApplicable:479
Error Originate:UXElementStore::CheckIfScenarioApplicable:497
Error Originate:UXElementStore::ExtractCurrentScenario:719
Error Originate:UXElementStore::ExtractCurrentScenario:724
Error Originate:UXElementStore::ExtractCurrentScenario:729
Error Originate:UXElementStore::ExtractCurrentScenario:735
Error Originate:UXElementStore::ExtractCurrentScenario:740
Error Originate:UXElementStore::ExtractValues:562
Error Originate:UXElementStore::ExtractValues:580
Error Originate:UXElementStore::ExtractValues:602
Error Originate:UXElementStore::ExtractValues:608
Error Originate:UXElementStore::ExtractValues:613
Error Originate:UXElementStore::ExtractValues:618
Error Originate:UXElementStore::GetFilePath:1064
Error Originate:UXElementStore::GetFilePath:1069
Error Originate:UXElementStore::GetImageFilePath:1322
Error Originate:UXElementStore::GetImageFilePath:1328
Error Originate:UXElementStore::GetStringValue:830
Error Originate:UXElementStore::GetUserLocale:1001
Error Originate:UXElementStore::GetUserLocale:1007
Error Originate:UXElementStore::GetUserLocale:948
Error Originate:UXElementStore::GetUserLocale:961
Error Originate:UXElementStore::GetUserLocale:972
Error Originate:UXElementStore::GetUserLocale:984
Error Originate:UXElementStore::GetXmlFilePath:1132
Error Originate:UXElementStore::GetXmlFilePath:1143
Error Originate:UXElementStore::GetXmlFilePath:1159
Error Originate:UXElementStore::GetXmlFilePath:1193
Error Originate:UXElementStore::GetXmlFilePath:1199
Error Originate:UXElementStore::GetXmlFilePath:1204
Error Originate:UXElementStore::GetXmlFilePath:1209
Error Originate:UXElementStore::GetXmlFilePath:1214
Error Originate:UXElementStore::GetXmlFilePath:1221
Error Originate:UXElementStore::GetXmlFilePath:1241
Error Originate:UXElementStore::GetXmlFilePath:1255
Error Originate:UXElementStore::GetXmlFilePath:1260
Error Originate:UXElementStore::Initialize:219
Error Originate:UXElementStore::Initialize:232
Error Originate:UXElementStore::Initialize:249
Error Originate:UXElementStore::Initialize:254
Error Originate:UXElementStore::Initialize:266
Error Originate:UXElementStore::Initialize:282
Error Originate:UXElementStore::Initialize:287
Error Originate:UXElementStore::Initialize:292
Error Originate:UXElementStore::Initialize:303
Error Originate:wWinMain:111
Error Originate:wWinMain:123
Error Originate:wWinMain:130
Error Originate:wWinMain:137
Error Originate:wWinMain:151
Error Originate:wWinMain:160
Error Originate:wWinMain:175
Error Originate:wWinMain:184
Error Originate:wWinMain:223
Error Originate:wWinMain:252
Error Originate:wWinMain:78
ERROR_ORPHAN_NAME_EXHAUSTED
ERROR_OUTOFMEMORY
ERROR_OUT_OF_PAPER
ERROR_OUT_OF_STRUCTURES
ERROR_OVERRIDE_NOCHANGES
Error_Overruns_Buffer
ERROR_PACKAGE_ALREADY_EXISTS
ERROR_PACKAGED_SERVICE_REQUIRES_ADMIN_PRIVILEGES
ERROR_PACKAGE_EXTERNAL_LOCATION_NOT_ALLOWED
ERROR_PACKAGE_LACKS_CAPABILITY_TO_DEPLOY_ON_HOST
ERROR_PACKAGE_MOVE_BLOCKED_BY_STREAMING
ERROR_PACKAGE_MOVE_FAILED
ERROR_PACKAGE_NOT_REGISTERED_FOR_USER
ERROR_PACKAGE_NOT_SUPPORTED_ON_FILESYSTEM
ERROR_PACKAGE_REPOSITORY_CORRUPTED
ERROR_PACKAGES_IN_USE
ERROR_PACKAGES_REPUTATION_CHECK_FAILED
ERROR_PACKAGES_REPUTATION_CHECK_TIMEDOUT
ERROR_PACKAGE_STAGING_ONHOLD
ERROR_PACKAGE_UPDATING
Error_Packet_Lenth_Too_Small
ERROR_PAGED_SYSTEM_RESOURCES
ERROR_PAGE_FAULT_COPY_ON_WRITE
ERROR_PAGE_FAULT_DEMAND_ZERO
ERROR_PAGE_FAULT_GUARD_PAGE
ERROR_PAGE_FAULT_PAGING_FILE
ERROR_PAGE_FAULT_TRANSITION
ERROR_PAGEFILE_CREATE_FAILED
ERROR_PAGEFILE_QUOTA
ERROR_PAGEFILE_QUOTA_EXCEEDED
ErrorPage::OnListenedEvent
ErrorPage::OnSetActive
ErrorPage::SetupErrorDetails
ERROR_PARAMETER_QUOTA_EXCEEDED
ERROR_PARTIAL_COPY
ERROR_PARTITION_FAILURE
ERROR_PARTITION_TERMINATING
ERROR_PASSWORD_CHANGE_REQUIRED
ERROR_PASSWORD_EXPIRED
ERROR_PASSWORD_MUST_CHANGE
ERROR_PASSWORD_RESTRICTION
ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT
ERROR_PATCH_NO_SEQUENCE
ERROR_PATCH_PACKAGE_INVALID
ERROR_PATCH_PACKAGE_OPEN_FAILED
ERROR_PATCH_PACKAGE_REJECTED
ERROR_PATCH_PACKAGE_UNSUPPORTED
ERROR_PATCH_REMOVAL_DISALLOWED
ERROR_PATCH_REMOVAL_UNSUPPORTED
ERROR_PATCH_TARGET_NOT_FOUND
ERROR_PATH_BUSY
ERROR_PATH_NOT_FOUND
ERROR_PER_USER_TRUST_QUOTA_EXCEEDED
ERROR_PIPE_BUSY
ERROR_PIPE_CONNECTED
ERROR_PIPE_LISTENING
ERROR_PIPE_LOCAL
ERROR_PIPE_NOT_CONNECTED
ERROR_PKINIT_FAILURE
ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND
ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED
ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED
ERROR_PLATFORM_MANIFEST_INVALID
ERROR_PLATFORM_MANIFEST_NOT_ACTIVE
ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED
ERROR_PLATFORM_MANIFEST_NOT_SIGNED
ERROR_PLUGPLAY_QUERY_VETOED
ERROR_PNP_BAD_MPS_TABLE
ERROR_PNP_INVALID_ID
ERROR_PNP_IRQ_TRANSLATION_FAILED
ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT
ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT
ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT
ERROR_PNP_REBOOT_REQUIRED
ERROR_PNP_RESTART_ENUMERATION
ERROR_PNP_TRANSLATION_FAILED
ERROR_POINT_NOT_FOUND
ERROR_POLICY_OBJECT_NOT_FOUND
ERROR_POLICY_ONLY_IN_DS
ERROR_POPUP_ALREADY_ACTIVE
ERROR_PORT_MESSAGE_TOO_LONG
ERROR_PORT_NOT_SET
ERROR_PORT_UNREACHABLE
ERROR_POSSIBLE_DEADLOCK
ERROR_POTENTIAL_FILE_FOUND
ERROR_PREDEFINED_HANDLE
Error preparing for reboot
ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED
ERROR_PRI_MERGE_ADD_FILE_FAILED
ERROR_PRI_MERGE_BUNDLE_PACKAGES_NOT_ALLOWED
ERROR_PRI_MERGE_INVALID_FILE_NAME
ERROR_PRI_MERGE_LOAD_FILE_FAILED
ERROR_PRI_MERGE_MAIN_PACKAGE_REQUIRED
ERROR_PRI_MERGE_MISSING_SCHEMA
ERROR_PRI_MERGE_MULTIPLE_MAIN_PACKAGES_NOT_ALLOWED
ERROR_PRI_MERGE_MULTIPLE_PACKAGE_FAMILIES_NOT_ALLOWED
ERROR_PRI_MERGE_RESOURCE_PACKAGE_REQUIRED
ERROR_PRI_MERGE_VERSION_MISMATCH
ERROR_PRI_MERGE_WRITE_FILE_FAILED
ERROR_PRINT_CANCELLED
ERROR_PRINTER_ALREADY_EXISTS
ERROR_PRINTER_DELETED
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED
ERROR_PRINTER_DRIVER_BLOCKED
ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED
ERROR_PRINTER_DRIVER_IN_USE
ERROR_PRINTER_DRIVER_PACKAGE_IN_USE
ERROR_PRINTER_DRIVER_WARNED
ERROR_PRINTER_HAS_JOBS_QUEUED
ERROR_PRINTER_NOT_FOUND
ERROR_PRINTER_NOT_SHAREABLE
ERROR_PRINT_JOB_RESTART_REQUIRED
ERROR_PRINT_MONITOR_ALREADY_INSTALLED
ERROR_PRINT_MONITOR_IN_USE
ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED
ERROR_PRINTQ_FULL
ERROR_PRIVATE_DIALOG_INDEX
ERROR_PRIVILEGE_NOT_HELD
ERROR_PROCESS_ABORTED
ERROR_PROCESS_IN_JOB
ERROR_PROCESS_IS_PROTECTED
ERROR_PROCESS_MODE_ALREADY_BACKGROUND
ERROR_PROCESS_MODE_NOT_BACKGROUND
ERROR_PROCESS_NOT_IN_JOB
ERROR_PROC_NOT_FOUND
ERROR_PRODUCT_UNINSTALLED
ERROR_PRODUCT_VERSION
ERROR_PROFILE_DOES_NOT_MATCH_DEVICE
ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE
ERROR_PROFILE_NOT_FOUND
ERROR_PROFILING_AT_LIMIT
ERROR_PROFILING_NOT_STARTED
ERROR_PROFILING_NOT_STOPPED
ERROR_PROMOTION_ACTIVE
Error Propagate:ConfigUtil::CheckIfUserLoggedInWhenMgmtPolicySet
Error Propagate:InteractiveToast::InvokeRestartNow
Error Propagate:InteractiveToast::ScheduleInteractiveReboot
Error Propagate:InteractiveToast::SnoozeReboot
Error Propagate:NotificationFactory::ProcessNotification
Error Propagate:RebootActiveHoursAutomatic::CreateInstance
Error Propagate:RebootActiveHoursAutomatic::ExecuteForcedReboot
Error Propagate:RebootActiveHoursAutomatic::ExecuteInteractiveReboot
Error Propagate:RebootActiveHoursAutomatic::ExecuteReboot
Error Propagate:RebootActiveHoursAutomatic::ExecuteStateAction
Error Propagate:RebootActiveHoursAutomatic::IsFairWarningActive
Error Propagate:RebootActiveHoursAutomatic::OnFirstReadyToReboot
Error Propagate:RebootActiveHoursAutomatic::OnForceRebootDevice
Error Propagate:RebootActiveHoursAutomatic::OnForceRebootReminder
Error Propagate:RebootActiveHoursAutomatic::OnForceRebootRetry
Error Propagate:RebootActiveHoursAutomatic::OnLogonRebootDialog
Error Propagate:RebootActiveHoursAutomatic::OnRebootDevice
Error Propagate:RebootActiveHoursAutomatic::OnRebootDialog
Error Propagate:RebootActiveHoursAutomatic::PostponeRebootDialog
Error Propagate:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder
Error Propagate:RebootActiveHoursAutomatic::ScheduleForcedRestartRetry
Error Propagate:RebootActiveHoursAutomatic::ScheduleForceReboot
Error Propagate:RebootActiveHoursAutomatic::ScheduleReboot
Error Propagate:RebootActiveHoursAutomatic::ScheduleRebootDialog
Error Propagate:RebootActiveHoursAutomatic::ShowRebootDialog
Error Propagate:RebootActiveHoursAutomatic::ShowRebootDialogOnLogon
Error Propagate:RebootActiveHoursAutomatic::ShowRebootUpdateResults
Error Propagate:RebootStateHelper::DidDataMigrationSucceed
Error Propagate:RebootStateHelper::InvokeUSOReboot
Error Propagate:RebootStateHelper::IsRebootTimeMatchingScheduledTime
Error Propagate:RebootStateHelper::RescheduleForceReboot
Error Propagate:RebootStateHelper::ScheduleForcedReminder
Error Propagate:RebootStateHelper::ScheduleRebootIn5Minutes
Error Propagate:RebootStateHelper::ScheduleSoftForcedRestart
Error Propagate:RebootStateHelper::ShowMgmtUpdateResults
Error Propagate:RebootStateHelper::ShowUpdateResults
Error Propagate:RebootStateHelper::ShowUpdateResultsNotification
Error Propagate:RebootWorkflowMandatory::CreateInstance
Error Propagate:RebootWorkflowMandatory::ExecuteReboot
Error Propagate:RebootWorkflowMandatory::ExecuteStateAction
Error Propagate:RebootWorkflowMandatory::IsFairWarningActive
Error Propagate:RebootWorkflowMandatory::OnFirstReadyToReboot
Error Propagate:RebootWorkflowMandatory::OnLogonRebootDialog
Error Propagate:RebootWorkflowMandatory::OnRebootDevice
Error Propagate:RebootWorkflowMandatory::ShowRebootDialog
Error Propagate:RebootWorkflowMandatory::ShowRebootDialogOnLogon
Error Propagate:RebootWorkflowMandatory::ShowRebootUpdateResults
Error Propagate:RebootWorkflowMgmtUpdates::CreateInstance
Error Propagate:RebootWorkflowMgmtUpdates::ExecuteAutoRestartCountdownPolicy
Error Propagate:RebootWorkflowMgmtUpdates::ExecuteForcedReboot
Error Propagate:RebootWorkflowMgmtUpdates::ExecuteScheduledTimeNoUXPolicy
Error Propagate:RebootWorkflowMgmtUpdates::ExecuteStateAction
Error Propagate:RebootWorkflowMgmtUpdates::IsFairWarningActive
Error Propagate:RebootWorkflowMgmtUpdates::OnFirstReadyToReboot
Error Propagate:RebootWorkflowMgmtUpdates::OnForceRebootDevice
Error Propagate:RebootWorkflowMgmtUpdates::OnLogonRebootDialog
Error Propagate:RebootWorkflowMgmtUpdates::OnRebootDevice
Error Propagate:RebootWorkflowMgmtUpdates::RescheduleReboot
Error Propagate:RebootWorkflowMgmtUpdates::ScheduleNoUxReboot
Error Propagate:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone
Error Propagate:RebootWorkflowMgmtUpdates::ShowRebootDialogOnLogon
Error Propagate:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog
Error Propagate:RebootWorkflowMgmtUpdates::ShowRebootUpdateResults
Error Propagate:UpdateNotification::DisplayNotification
Error Propagate:UpdateNotification::DoAction
Error Propagate:UpdateNotification::ProcessUpdateNotification
Error Propagate:UpdateNotification::ProcessUpdateNotificationOnUserLogon
Error Propagate:UserProcess::IsUserSessionActive
Error Propagate:UserProcess::LaunchDialogProcess
Error Propagate:UserProcess::LaunchDialogProcessOnWindowsMobile
Error Propagate:UserProcess::LaunchToastProcess
Error Propagate:UserProcess::LaunchToastProcessOnWindowsMobile
Error Propagate:UserProcess::LaunchUxAsUser
Error Propagate:UxDisplaySurfaceManager::DisplaySurfaceNotification
ERROR_PROTOCOL_UNREACHABLE
ERROR_PROVISION_OPTIONAL_PACKAGE_REQUIRES_MAIN_PACKAGE_PROVISIONED
ERROR_PWD_HISTORY_CONFLICT
ERROR_PWD_TOO_LONG
ERROR_PWD_TOO_RECENT
ERROR_PWD_TOO_SHORT
ERROR_QUERY_STORAGE_ERROR
ERROR_QUIC_HANDSHAKE_FAILURE
ERROR_QUIC_VER_NEG_FAILURE
ERROR quit
ERROR_QUORUM_DISK_NOT_FOUND
ERROR_QUORUMLOG_OPEN_FAILED
ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP
ERROR_QUORUM_OWNER_ALIVE
ERROR_QUORUM_RESOURCE
ERROR_QUORUM_RESOURCE_ONLINE_FAILED
ERROR_QUOTA_ACTIVITY
ERROR_QUOTA_LIST_INCONSISTENT
ERROR_RANGE_LIST_CONFLICT
ERROR_RANGE_NOT_FOUND
ERROR_RDP_PROTOCOL_ERROR
ERROR_READ_FAULT
Error reading buffer
error reading CBOR; last byte: 0x
Error reading data
Error reading size data
Error reading tag
Error reading tag data
ERROR_RECEIVE_EXPEDITED
ERROR_RECEIVE_PARTIAL
ERROR_RECEIVE_PARTIAL_EXPEDITED
ERROR_REC_NON_EXISTENT
ERROR_RECOVERY_FAILURE
ERROR_RECOVERY_FILE_CORRUPT
ERROR_RECOVERY_NOT_NEEDED
ERROR_REDIRECTION_TO_DEFAULT_ACCOUNT_NOT_ALLOWED
ERROR_REDIRECTOR_HAS_OPEN_HANDLES
ERROR_REDIR_PAUSED
ERROR_REGISTRATION_FROM_REMOTE_DRIVE_NOT_SUPPORTED
ERROR_REGISTRY_CORRUPT
ERROR_REGISTRY_HIVE_RECOVERED
ERROR_REGISTRY_IO_FAILED
ERROR_REGISTRY_QUOTA_LIMIT
ERROR_REGISTRY_RECOVERED
ERROR_REG_NAT_CONSUMPTION
ERROR_RELOC_CHAIN_XEEDS_SEGLIM
ERROR_REM_NOT_LIST
ERROR_REMOTE_FILE_VERSION_MISMATCH
ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED
ERROR_REMOTE_STORAGE_MEDIA_ERROR
ERROR_REMOTE_STORAGE_NOT_ACTIVE
ERROR_REMOVE_FAILED
ERROR_REPARSE
ERROR_REPARSE_ATTRIBUTE_CONFLICT
ERROR_REPARSE_OBJECT
ERROR_REPARSE_POINT_ENCOUNTERED
ERROR_REPARSE_TAG_INVALID
ERROR_REPARSE_TAG_MISMATCH
ERROR_REPLY_MESSAGE_MISMATCH
ERROR_REQ_NOT_ACCEP
ERROR_REQUEST_ABORTED
ERROR_REQUEST_OUT_OF_SEQUENCE
ERROR_REQUEST_PAUSED
ERROR_REQUEST_REFUSED
ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
ERROR_RESIDENT_FILE_NOT_SUPPORTED
ERROR_RESILIENCY_FILE_CORRUPT
ERROR_RESMON_CREATE_FAILED
ERROR_RESMON_INVALID_STATE
ERROR_RESMON_ONLINE_FAILED
ERROR_RESMON_SYSTEM_RESOURCES_LACKING
ERROR_RESOURCE_CALL_TIMED_OUT
ERROR_RESOURCE_DATA_NOT_FOUND
ERROR_RESOURCE_DISABLED
ERROR_RESOURCE_ENUM_USER_STOP
ERROR_RESOURCE_FAILED
ERROR_RESOURCE_LANG_NOT_FOUND
ERROR_RESOURCEMANAGER_NOT_FOUND
ERROR_RESOURCEMANAGER_READ_ONLY
ERROR_RESOURCE_NAME_NOT_FOUND
ERROR_RESOURCE_NOT_AVAILABLE
ERROR_RESOURCE_NOT_FOUND
ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE
ERROR_RESOURCE_NOT_ONLINE
ERROR_RESOURCE_NOT_PRESENT
ERROR_RESOURCE_ONLINE
ERROR_RESOURCE_PROPERTIES_STORED
ERROR_RESOURCE_PROPERTY_UNCHANGEABLE
ERROR_RESOURCE_REQUIREMENTS_CHANGED
ERROR_RESOURCE_TYPE_NOT_FOUND
ERROR_RESTART_APPLICATION
ERROR_RESUME_HIBERNATION
ERROR_RETRY
ERROR_RETURN_ADDRESS_HIJACK_ATTEMPT
ERROR_REVISION_MISMATCH
ERROR_RING2SEG_MUST_BE_MOVABLE
ERROR_RING2_STACK_IN_USE
ERROR_RM_ALREADY_STARTED
ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT
ERROR_RM_DISCONNECTED
ERROR_RM_METADATA_CORRUPT
ERROR_RM_NOT_ACTIVE
ERROR_RMODE_APP
ERROR_ROLLBACK_TIMER_EXPIRED
ERROR_ROWSNOTRELEASED
ERROR_RPL_NOT_ALLOWED
ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT
ERROR_RUNLEVEL_SWITCH_IN_PROGRESS
ERROR_RUNLEVEL_SWITCH_TIMEOUT
ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED
ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET
ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE
ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER
ERROR_RXACT_COMMIT_FAILURE
ERROR_RXACT_COMMIT_NECESSARY
ERROR_RXACT_COMMITTED
ERROR_RXACT_INVALID_STATE
ERROR_RXACT_STATE_CREATED
ERROR_SAME_DRIVE
ERROR_SAM_INIT_FAILURE
ERROR_SCOPE_NOT_FOUND
ERROR_SCREEN_ALREADY_LOCKED
ERROR_SCRUB_DATA_DISABLED
Errors detected in global device memory.
Errors detected in global SRAMs.
Errors detected in register file memory.
Errors detected in the L1 cache.
Errors detected in the L2 cache.
ERROR_SECCORE_INVALID_COMMAND
ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED
ERROR_SECRET_TOO_LONG
ERROR_SECTOR_NOT_FOUND
ERROR_SECUREBOOT_FILE_REPLACED
ERROR_SECUREBOOT_INVALID_POLICY
ERROR_SECUREBOOT_NOT_BASE_POLICY
ERROR_SECUREBOOT_NOT_ENABLED
ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY
ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH
ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION
ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED
ERROR_SECUREBOOT_POLICY_NOT_SIGNED
ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND
ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED
ERROR_SECUREBOOT_POLICY_UNKNOWN
ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH
ERROR_SECUREBOOT_POLICY_VIOLATION
ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING
ERROR_SECUREBOOT_ROLLBACK_DETECTED
ERROR_SECURITY_STREAM_IS_INCONSISTENT
ERROR_SEEK
ERROR_SEEK_ON_DEVICE
ERROR_SEGMENT_NOTIFICATION
ERROR_SEM_IS_SET
ERROR_SEM_NOT_FOUND
ERROR_SEM_OWNER_DIED
ERROR_SEM_TIMEOUT
ERROR_SEM_USER_LIMIT
ERROR_SERIAL_NO_DEVICE
ERROR_SERVER_DISABLED
ERROR_SERVER_HAS_OPEN_HANDLES
ERROR_SERVER_NOT_DISABLED
ERROR_SERVER_SHUTDOWN_IN_PROGRESS
ERROR_SERVER_SID_MISMATCH
ERROR_SERVICE_ALREADY_RUNNING
ERROR_SERVICE_CANNOT_ACCEPT_CTRL
ERROR_SERVICE_DATABASE_LOCKED
ERROR_SERVICE_DEPENDENCY_DELETED
ERROR_SERVICE_DEPENDENCY_FAIL
ERROR_SERVICE_DISABLED
ERROR_SERVICE_DOES_NOT_EXIST
ERROR_SERVICE_EXISTS
ERROR_SERVICE_EXISTS_AS_NON_PACKAGED_SERVICE
ERROR_SERVICE_LOGON_FAILED
ERROR_SERVICE_MARKED_FOR_DELETE
ERROR_SERVICE_NEVER_STARTED
ERROR_SERVICE_NOT_ACTIVE
ERROR_SERVICE_NOT_FOUND
ERROR_SERVICE_NO_THREAD
ERROR_SERVICE_NOTIFICATION
ERROR_SERVICE_NOTIFY_CLIENT_LAGGING
ERROR_SERVICE_NOT_IN_EXE
ERROR_SERVICE_REQUEST_TIMEOUT
ERROR_SERVICES_FAILED_AUTOSTART
ERROR_SERVICE_SPECIFIC_ERROR
ERROR_SERVICE_START_HANG
ERROR_SESSION_CREDENTIAL_CONFLICT
ERROR_SET_CONTEXT_DENIED
ERROR_SETCOUNT_ON_BAD_LB
ERROR_SETMARK_DETECTED
ERROR_SET_NOT_FOUND
ERROR_SET_POWER_STATE_FAILED
ERROR_SET_POWER_STATE_VETOED
ERROR_SHARED_POLICY
ERROR_SHARING_BUFFER_EXCEEDED
ERROR_SHARING_PAUSED
ERROR_SHARING_VIOLATION
ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME
ERROR_SHUTDOWN_CLUSTER
ERROR_SHUTDOWN_IN_PROGRESS
ERROR_SHUTDOWN_IS_SCHEDULED
ERROR_SHUTDOWN_USERS_LOGGED_ON
ERROR_SIGNAL_PENDING
ERROR_SIGNAL_REFUSED
ERROR_SIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE
ERROR_SINGLE_INSTANCE_APP
ERROR_SINGLETON_RESOURCE_INSTALLED_IN_ACTIVE_USER
ERROR_SMARTCARD_SUBSYSTEM_FAILURE
ERROR_SMB1_NOT_AVAILABLE
ERROR_SMB_BAD_CLUSTER_DIALECT
ERROR_SMB_GUEST_LOGON_BLOCKED
ERROR_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP
ERROR_SMI_PRIMITIVE_INSTALLER_FAILED
ERROR_SMR_GARBAGE_COLLECTION_REQUIRED
ERROR_SOME_NOT_MAPPED
errorSource
ERROR_SOURCE_ELEMENT_EMPTY
ERROR_SPACES_ALLOCATION_SIZE_INVALID
ERROR_SPACES_DRIVE_OPERATIONAL_STATE_INVALID
ERROR_SPACES_DRIVE_REDUNDANCY_INVALID
ERROR_SPACES_DRIVE_SECTOR_SIZE_INVALID
ERROR_SPACES_ENCLOSURE_AWARE_INVALID
ERROR_SPACES_ENTRY_INCOMPLETE
ERROR_SPACES_ENTRY_INVALID
ERROR_SPACES_EXTENDED_ERROR
ERROR_SPACES_FAULT_DOMAIN_TYPE_INVALID
ERROR_SPACES_INTERLEAVE_LENGTH_INVALID
ERROR_SPACES_INTERNAL_ERROR
ERROR_SPACES_NOT_ENOUGH_DRIVES
ERROR_SPACES_NUMBER_OF_COLUMNS_INVALID
ERROR_SPACES_NUMBER_OF_DATA_COPIES_INVALID
ERROR_SPACES_NUMBER_OF_GROUPS_INVALID
ERROR_SPACES_PARITY_LAYOUT_INVALID
ERROR_SPACES_POOL_WAS_DELETED
ERROR_SPACES_PROVISIONING_TYPE_INVALID
ERROR_SPACES_RESILIENCY_TYPE_INVALID
ERROR_SPACES_WRITE_CACHE_SIZE_INVALID
ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION
ERROR_SPECIAL_ACCOUNT
ERROR_SPECIAL_GROUP
ERROR_SPECIAL_USER
ERROR_SPL_NO_ADDJOB
ERROR_SPL_NO_STARTDOC
ERROR_SPOOL_FILE_NOT_FOUND
ERROR_SRC_SRV_DLL_LOAD_FAILED
ERROR_STACK_BUFFER_OVERRUN
ERROR_STACK_OVERFLOW
ERROR_STACK_OVERFLOW_READ
ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED
ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED
ERROR_STATE_CREATE_CONTAINER_FAILED
ERROR_STATE_DELETE_CONTAINER_FAILED
ERROR_STATE_DELETE_SETTING_FAILED
ERROR_STATE_ENUMERATE_CONTAINER_FAILED
ERROR_STATE_ENUMERATE_SETTINGS_FAILED
ERROR_STATE_GET_VERSION_FAILED
ERROR_STATE_LOAD_STORE_FAILED
ERROR_STATE_OPEN_CONTAINER_FAILED
ERROR_STATE_QUERY_SETTING_FAILED
ERROR_STATE_READ_COMPOSITE_SETTING_FAILED
ERROR_STATE_READ_SETTING_FAILED
ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED
ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED
ERROR_STATE_SET_VERSION_FAILED
ERROR_STATE_STRUCTURED_RESET_FAILED
ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED
ERROR_STATE_WRITE_SETTING_FAILED
ERROR_STATIC_INIT
errorStatus
Error_Status_block_register
ERROR_STOPPED_ON_SYMLINK
ERROR_STORAGE_LOST_DATA_PERSISTENCE
ERROR_STORAGE_RESERVE_ALREADY_EXISTS
ERROR_STORAGE_RESERVE_DOES_NOT_EXIST
ERROR_STORAGE_RESERVE_ID_INVALID
ERROR_STORAGE_RESERVE_NOT_EMPTY
ERROR_STORAGE_TOPOLOGY_ID_MISMATCH
ERROR_STREAM_MINIVERSION_NOT_FOUND
ERROR_STREAM_MINIVERSION_NOT_VALID
ERROR_STRICT_CFG_VIOLATION
ERROR_SUBST_TO_JOIN
ERROR_SUBST_TO_SUBST
ERROR_SUCCESS
ERROR_SUCCESS_REBOOT_INITIATED
ERROR_SUCCESS_REBOOT_REQUIRED
ERROR_SUCCESS_RESTART_REQUIRED
ERROR_SVHDX_ERROR_NOT_AVAILABLE
ERROR_SVHDX_ERROR_STORED
ERROR_SVHDX_NO_INITIATOR
ERROR_SVHDX_RESERVATION_CONFLICT
ERROR_SVHDX_UNIT_ATTENTION_AVAILABLE
ERROR_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED
ERROR_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED
ERROR_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED
ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED
ERROR_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED
ERROR_SVHDX_VERSION_MISMATCH
ERROR_SVHDX_WRONG_FILE_TYPE
ERROR_SWAPERROR
ERROR_SXS_ACTIVATION_CONTEXT_DISABLED
ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT
ERROR_SXS_ASSEMBLY_MISSING
ERROR_SXS_ASSEMBLY_NOT_FOUND
ERROR_SXS_ASSEMBLY_NOT_LOCKED
ERROR_SXS_CANT_GEN_ACTCTX
ERROR_SXS_COMPONENT_STORE_CORRUPT
ERROR_SXS_CORRUPT_ACTIVATION_STACK
ERROR_SXS_CORRUPTION
ERROR_SXS_DUPLICATE_ACTIVATABLE_CLASS
ERROR_SXS_DUPLICATE_ASSEMBLY_NAME
ERROR_SXS_DUPLICATE_CLSID
ERROR_SXS_DUPLICATE_DLL_NAME
ERROR_SXS_DUPLICATE_IID
ERROR_SXS_DUPLICATE_PROGID
ERROR_SXS_DUPLICATE_TLBID
ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME
ERROR_SXS_EARLY_DEACTIVATION
ERROR_SXS_FILE_HASH_MISMATCH
ERROR_SXS_FILE_HASH_MISSING
ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY
ERROR_SXS_IDENTITIES_DIFFERENT
ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE
ERROR_SXS_IDENTITY_PARSE_ERROR
ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN
ERROR_SXS_INVALID_ACTCTXDATA_FORMAT
ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE
ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME
ERROR_SXS_INVALID_DEACTIVATION
ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME
ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE
ERROR_SXS_INVALID_XML_NAMESPACE_URI
ERROR_SXS_KEY_NOT_FOUND
ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED
ERROR_SXS_MANIFEST_FORMAT_ERROR
ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT
ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE
ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE
ERROR_SXS_MANIFEST_PARSE_ERROR
ERROR_SXS_MANIFEST_TOO_BIG
ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE
ERROR_SXS_MULTIPLE_DEACTIVATION
ERROR_SXS_POLICY_PARSE_ERROR
ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT
ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET
ERROR_SXS_PROCESS_TERMINATION_REQUESTED
ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING
ERROR_SXS_PROTECTION_CATALOG_NOT_VALID
ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT
ERROR_SXS_PROTECTION_RECOVERY_FAILED
ERROR_SXS_RELEASE_ACTIVATION_CONTEXT
ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED
ERROR_SXS_SECTION_NOT_FOUND
ERROR_SXS_SETTING_NOT_REGISTERED
ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY
ERROR_SXS_THREAD_QUERIES_DISABLED
ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE
ERROR_SXS_UNKNOWN_ENCODING
ERROR_SXS_UNKNOWN_ENCODING_GROUP
ERROR_SXS_UNTRANSLATABLE_HRESULT
ERROR_SXS_VERSION_CONFLICT
ERROR_SXS_WRONG_SECTION_TYPE
ERROR_SXS_XML_E_BADCHARDATA
ERROR_SXS_XML_E_BADCHARINSTRING
ERROR_SXS_XML_E_BADNAMECHAR
ERROR_SXS_XML_E_BADPEREFINSUBSET
ERROR_SXS_XML_E_BADSTARTNAMECHAR
ERROR_SXS_XML_E_BADXMLCASE
ERROR_SXS_XML_E_BADXMLDECL
ERROR_SXS_XML_E_COMMENTSYNTAX
ERROR_SXS_XML_E_DUPLICATEATTRIBUTE
ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE
ERROR_SXS_XML_E_EXPECTINGTAGEND
ERROR_SXS_XML_E_INCOMPLETE_ENCODING
ERROR_SXS_XML_E_INTERNALERROR
ERROR_SXS_XML_E_INVALIDATROOTLEVEL
ERROR_SXS_XML_E_INVALID_DECIMAL
ERROR_SXS_XML_E_INVALIDENCODING
ERROR_SXS_XML_E_INVALID_HEXIDECIMAL
ERROR_SXS_XML_E_INVALID_STANDALONE
ERROR_SXS_XML_E_INVALIDSWITCH
ERROR_SXS_XML_E_INVALID_UNICODE
ERROR_SXS_XML_E_INVALID_VERSION
ERROR_SXS_XML_E_MISSINGEQUALS
ERROR_SXS_XML_E_MISSING_PAREN
ERROR_SXS_XML_E_MISSINGQUOTE
ERROR_SXS_XML_E_MISSINGROOT
ERROR_SXS_XML_E_MISSINGSEMICOLON
ERROR_SXS_XML_E_MISSINGWHITESPACE
ERROR_SXS_XML_E_MULTIPLE_COLONS
ERROR_SXS_XML_E_MULTIPLEROOTS
ERROR_SXS_XML_E_RESERVEDNAMESPACE
ERROR_SXS_XML_E_UNBALANCEDPAREN
ERROR_SXS_XML_E_UNCLOSEDCDATA
ERROR_SXS_XML_E_UNCLOSEDCOMMENT
ERROR_SXS_XML_E_UNCLOSEDDECL
ERROR_SXS_XML_E_UNCLOSEDENDTAG
ERROR_SXS_XML_E_UNCLOSEDSTARTTAG
ERROR_SXS_XML_E_UNCLOSEDSTRING
ERROR_SXS_XML_E_UNCLOSEDTAG
ERROR_SXS_XML_E_UNEXPECTEDENDTAG
ERROR_SXS_XML_E_UNEXPECTEDEOF
ERROR_SXS_XML_E_UNEXPECTED_STANDALONE
ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE
ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK
ERROR_SXS_XML_E_XMLDECLSYNTAX
ERROR_SYMLINK_CLASS_DISABLED
ERROR_SYMLINK_NOT_SUPPORTED
ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED
ERROR_SYNCHRONIZATION_REQUIRED
ERROR_SYSTEM_DEVICE_NOT_FOUND
ERROR_SYSTEM_HIVE_TOO_LARGE
ERROR_SYSTEM_IMAGE_BAD_SIGNATURE
ERROR_SYSTEM_INTEGRITY_INVALID_POLICY
ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED
ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION
ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED
ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED
ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES
ERROR_SYSTEM_NEEDS_REMEDIATION
ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION
ERROR_SYSTEM_POWERSTATE_TRANSITION
ERROR_SYSTEM_PROCESS_TERMINATED
ERROR_SYSTEM_SHUTDOWN
ERROR_SYSTEM_TRACE
ERROR_TAG_NOT_FOUND
ERROR_TAG_NOT_PRESENT
**Error**     The package id was greater than the length of a guid
ERROR_THREAD_1_INACTIVE
ERROR_THREAD_ALREADY_IN_TASK
ERROR_THREAD_MODE_ALREADY_BACKGROUND
ERROR_THREAD_MODE_NOT_BACKGROUND
ERROR_THREAD_NOT_IN_PROCESS
ERROR_THREAD_WAS_SUSPENDED
ERROR_TIERING_ALREADY_PROCESSING
ERROR_TIERING_CANNOT_PIN_OBJECT
ERROR_TIERING_FILE_IS_NOT_PINNED
ERROR_TIERING_INVALID_FILE_ID
ERROR_TIERING_NOT_SUPPORTED_ON_VOLUME
ERROR_TIERING_STORAGE_TIER_NOT_FOUND
ERROR_TIERING_VOLUME_DISMOUNT_IN_PROGRESS
ERROR_TIERING_WRONG_CLUSTER_NODE
ERROR_TIMEOUT
ERROR_TIMER_NOT_CANCELED
ERROR_TIMER_RESOLUTION_NOT_SET
ERROR_TIMER_RESUME_IGNORED
ERROR_TIME_SENSITIVE_THREAD
ERROR_TIME_SKEW
ERROR_TLW_WITH_WSCHILD
ERROR_TM_IDENTITY_MISMATCH
ERROR_TM_INITIALIZATION_FAILED
ERROR_TM_VOLATILE
ERROR_TOKEN_ALREADY_IN_USE
ERROR_TOO_MANY_CMDS
ERROR_TOO_MANY_CONTEXT_IDS
ERROR_TOO_MANY_DESCRIPTORS
ERROR_TOO_MANY_LINKS
ERROR_TOO_MANY_LUIDS_REQUESTED
ERROR_TOO_MANY_MODULES
ERROR_TOO_MANY_MUXWAITERS
ERROR_TOO_MANY_NAMES
ERROR_TOO_MANY_OPEN_FILES
ERROR_TOO_MANY_POSTS
ERROR_TOO_MANY_SECRETS
ERROR_TOO_MANY_SEMAPHORES
ERROR_TOO_MANY_SEM_REQUESTS
ERROR_TOO_MANY_SESS
ERROR_TOO_MANY_SIDS
ERROR_TOO_MANY_TCBS
ERROR_TOO_MANY_THREADS
ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE
ERROR_TRANSACTIONAL_CONFLICT
ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED
ERROR_TRANSACTION_ALREADY_ABORTED
ERROR_TRANSACTION_ALREADY_COMMITTED
ERROR_TRANSACTION_FREEZE_IN_PROGRESS
ERROR_TRANSACTION_INTEGRITY_VIOLATED
ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER
ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH
ERROR_TRANSACTIONMANAGER_NOT_FOUND
ERROR_TRANSACTIONMANAGER_NOT_ONLINE
ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION
ERROR_TRANSACTION_MUST_WRITETHROUGH
ERROR_TRANSACTION_NO_SUPERIOR
ERROR_TRANSACTION_NOT_ACTIVE
ERROR_TRANSACTION_NOT_ENLISTED
ERROR_TRANSACTION_NOT_FOUND
ERROR_TRANSACTION_NOT_JOINED
ERROR_TRANSACTION_NOT_REQUESTED
ERROR_TRANSACTION_NOT_ROOT
ERROR_TRANSACTION_OBJECT_EXPIRED
ERROR_TRANSACTION_PROPAGATION_FAILED
ERROR_TRANSACTION_RECORD_TOO_LONG
ERROR_TRANSACTION_REQUEST_NOT_VALID
ERROR_TRANSACTION_REQUIRED_PROMOTION
ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED
ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET
ERROR_TRANSACTIONS_NOT_FROZEN
ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE
ERROR_TRANSACTION_SUPERIOR_EXISTS
ERROR_TRANSFORM_NOT_SUPPORTED
ERROR_TRANSLATION_COMPLETE
ERROR_TRANSPORT_FULL
ERROR_TRUSTED_DOMAIN_FAILURE
ERROR_TRUSTED_RELATIONSHIP_FAILURE
ERROR_TRUST_FAILURE
ERROR_TS_INCOMPATIBLE_SESSIONS
ERROR_TS_VIDEO_SUBSYSTEM_ERROR
ERROR_TXF_ATTRIBUTE_CORRUPT
ERROR_TXF_DIR_NOT_EMPTY
ERROR_TXF_METADATA_ALREADY_PRESENT
ERROR_UNABLE_TO_CLEAN
ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA
ERROR_UNABLE_TO_INVENTORY_DRIVE
ERROR_UNABLE_TO_INVENTORY_SLOT
ERROR_UNABLE_TO_INVENTORY_TRANSPORT
ERROR_UNABLE_TO_LOAD_MEDIUM
ERROR_UNABLE_TO_LOCK_MEDIA
ERROR_UNABLE_TO_MOVE_REPLACEMENT
ERROR_UNABLE_TO_MOVE_REPLACEMENT_2
ERROR_UNABLE_TO_REMOVE_REPLACED
ERROR_UNABLE_TO_UNLOAD_MEDIA
ERROR_UNDEFINED_CHARACTER
ERROR_UNDEFINED_SCOPE
ERROR_UNEXPECTED_MM_CREATE_ERR
ERROR_UNEXPECTED_MM_EXTEND_ERR
ERROR_UNEXPECTED_MM_MAP_ERROR
ERROR_UNEXPECTED_NTCACHEMANAGER_ERROR
ERROR_UNEXPECTED_OMID
ERROR_UNEXP_NET_ERR
ERROR_UNHANDLED_EXCEPTION
ERROR_UNIDENTIFIED_ERROR
ERROR_UNKNOWN_COMPONENT
ERROR_UNKNOWN_FEATURE
ERROR_UNKNOWN_PATCH
ERROR_UNKNOWN_PORT
ERROR_UNKNOWN_PRINTER_DRIVER
ERROR_UNKNOWN_PRINT_MONITOR
ERROR_UNKNOWN_PRINTPROCESSOR
ERROR_UNKNOWN_PRODUCT
ERROR_UNKNOWN_PROPERTY
ERROR_UNKNOWN_REVISION
ERROR_UNMAPPED_SUBSTITUTION_STRING
ERROR_UNRECOGNIZED_MEDIA
ERROR_UNRECOGNIZED_VOLUME
ERROR_UNSATISFIED_DEPENDENCIES
ERROR_UNSIGNED_PACKAGE_INVALID_CONTENT
ERROR_UNSIGNED_PACKAGE_INVALID_PUBLISHER_NAMESPACE
ERROR_UNSUPPORTED_COMPRESSION
ERROR_UNSUPPORTED_TYPE
ERROR_UNTRUSTED_MOUNT_POINT
ERROR_UNWIND
ERROR_UNWIND_CONSOLIDATE
ERROR_USER_APC
ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED
ERROR_USER_EXISTS
ERROR_USER_MAPPED_FILE
ERROR_USER_PROFILE_LOAD
ERROR_VALIDATE_CONTINUE
ERROR_VC_DISCONNECTED
ERROR_VDM_DISALLOWED
ERROR_VDM_HARD_ERROR
ERROR_VERIFIER_STOP
ERROR_VERSION_PARSE_ERROR
ERROR_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE
ERROR_VHD_BITMAP_MISMATCH
ERROR_VHD_BLOCK_ALLOCATION_FAILURE
ERROR_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT
ERROR_VHD_CHANGE_TRACKING_DISABLED
ERROR_VHD_CHILD_PARENT_ID_MISMATCH
ERROR_VHD_CHILD_PARENT_SIZE_MISMATCH
ERROR_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH
ERROR_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE
ERROR_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED
ERROR_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT
ERROR_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH
ERROR_VHD_DRIVE_FOOTER_CORRUPT
ERROR_VHD_DRIVE_FOOTER_MISSING
ERROR_VHD_FORMAT_UNKNOWN
ERROR_VHD_FORMAT_UNSUPPORTED_VERSION
ERROR_VHD_INVALID_BLOCK_SIZE
ERROR_VHD_INVALID_CHANGE_TRACKING_ID
ERROR_VHD_INVALID_FILE_SIZE
ERROR_VHD_INVALID_SIZE
ERROR_VHD_INVALID_STATE
ERROR_VHD_INVALID_TYPE
ERROR_VHD_METADATA_FULL
ERROR_VHD_METADATA_READ_FAILURE
ERROR_VHD_METADATA_WRITE_FAILURE
ERROR_VHD_MISSING_CHANGE_TRACKING_INFORMATION
ERROR_VHD_PARENT_VHD_ACCESS_DENIED
ERROR_VHD_PARENT_VHD_NOT_FOUND
ERROR_VHD_RESIZE_WOULD_TRUNCATE_DATA
ERROR_VHDSET_BACKING_STORAGE_NOT_FOUND
ERROR_VHD_SHARED
ERROR_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH
ERROR_VHD_SPARSE_HEADER_CORRUPT
ERROR_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION
ERROR_VID_CHILD_GPA_PAGE_SET_CORRUPTED
ERROR_VID_DUPLICATE_HANDLER
ERROR_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT
ERROR_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT
ERROR_VID_HANDLER_NOT_PRESENT
ERROR_VID_INVALID_CHILD_GPA_PAGE_SET
ERROR_VID_INVALID_GPA_RANGE_HANDLE
ERROR_VID_INVALID_MEMORY_BLOCK_HANDLE
ERROR_VID_INVALID_MESSAGE_QUEUE_HANDLE
ERROR_VID_INVALID_NUMA_NODE_INDEX
ERROR_VID_INVALID_NUMA_SETTINGS
ERROR_VID_INVALID_OBJECT_NAME
ERROR_VID_INVALID_PPM_HANDLE
ERROR_VID_INVALID_PROCESSOR_STATE
ERROR_VID_KM_INTERFACE_ALREADY_INITIALIZED
ERROR_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE
ERROR_VID_MBP_COUNT_EXCEEDED_LIMIT
ERROR_VID_MB_PROPERTY_ALREADY_SET_RESET
ERROR_VID_MBPS_ARE_LOCKED
ERROR_VID_MB_STILL_REFERENCED
ERROR_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED
ERROR_VID_MESSAGE_QUEUE_ALREADY_EXISTS
ERROR_VID_MESSAGE_QUEUE_CLOSED
ERROR_VID_MESSAGE_QUEUE_NAME_TOO_LONG
ERROR_VID_MMIO_RANGE_DESTROYED
ERROR_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE
ERROR_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED
ERROR_VID_PAGE_RANGE_OVERFLOW
ERROR_VID_PARTITION_ALREADY_EXISTS
ERROR_VID_PARTITION_DOES_NOT_EXIST
ERROR_VID_PARTITION_NAME_NOT_FOUND
ERROR_VID_PARTITION_NAME_TOO_LONG
ERROR_VID_QUEUE_FULL
ERROR_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED
ERROR_VID_RESERVE_PAGE_SET_IS_BEING_USED
ERROR_VID_RESERVE_PAGE_SET_TOO_SMALL
ERROR_VID_SAVED_STATE_CORRUPT
ERROR_VID_SAVED_STATE_INCOMPATIBLE
ERROR_VID_SAVED_STATE_UNRECOGNIZED_ITEM
ERROR_VID_STOP_PENDING
ERROR_VID_TOO_MANY_HANDLERS
ERROR_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED
ERROR_VID_VTL_ACCESS_DENIED
ERROR_VIRTDISK_DISK_ALREADY_OWNED
ERROR_VIRTDISK_DISK_ONLINE_AND_WRITABLE
ERROR_VIRTDISK_NOT_VIRTUAL_DISK
ERROR_VIRTDISK_PROVIDER_NOT_FOUND
ERROR_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE
ERROR_VIRTUAL_DISK_LIMITATION
ERROR_VIRUS_DELETED
ERROR_VIRUS_INFECTED
ERROR_VMCOMPUTE_CONNECT_FAILED
ERROR_VMCOMPUTE_CONNECTION_CLOSED
ERROR_VMCOMPUTE_HYPERV_NOT_INSTALLED
ERROR_VMCOMPUTE_IMAGE_MISMATCH
ERROR_VMCOMPUTE_INVALID_JSON
ERROR_VMCOMPUTE_INVALID_LAYER
ERROR_VMCOMPUTE_INVALID_STATE
ERROR_VMCOMPUTE_OPERATION_PENDING
ERROR_VMCOMPUTE_PROTOCOL_ERROR
ERROR_VMCOMPUTE_SYSTEM_ALREADY_EXISTS
ERROR_VMCOMPUTE_SYSTEM_ALREADY_STOPPED
ERROR_VMCOMPUTE_SYSTEM_NOT_FOUND
ERROR_VMCOMPUTE_TERMINATED
ERROR_VMCOMPUTE_TERMINATED_DURING_START
ERROR_VMCOMPUTE_TIMEOUT
ERROR_VMCOMPUTE_TOO_MANY_NOTIFICATIONS
ERROR_VMCOMPUTE_UNEXPECTED_EXIT
ERROR_VMCOMPUTE_UNKNOWN_MESSAGE
ERROR_VMCOMPUTE_UNSUPPORTED_PROTOCOL_VERSION
ERROR_VMCOMPUTE_WINDOWS_INSIDER_REQUIRED
ERROR_VNET_VIRTUAL_SWITCH_NAME_NOT_FOUND
ERROR_VOLMGR_ALL_DISKS_FAILED
ERROR_VOLMGR_BAD_BOOT_DISK
ERROR_VOLMGR_DATABASE_FULL
ERROR_VOLMGR_DIFFERENT_SECTOR_SIZE
ERROR_VOLMGR_DISK_CONFIGURATION_CORRUPTED
ERROR_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC
ERROR_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME
ERROR_VOLMGR_DISK_DUPLICATE
ERROR_VOLMGR_DISK_DYNAMIC
ERROR_VOLMGR_DISK_ID_INVALID
ERROR_VOLMGR_DISK_INVALID
ERROR_VOLMGR_DISK_LAST_VOTER
ERROR_VOLMGR_DISK_LAYOUT_INVALID
ERROR_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS
ERROR_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED
ERROR_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL
ERROR_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS
ERROR_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS
ERROR_VOLMGR_DISK_MISSING
ERROR_VOLMGR_DISK_NOT_EMPTY
ERROR_VOLMGR_DISK_NOT_ENOUGH_SPACE
ERROR_VOLMGR_DISK_REVECTORING_FAILED
ERROR_VOLMGR_DISK_SECTOR_SIZE_INVALID
ERROR_VOLMGR_DISK_SET_NOT_CONTAINED
ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS
ERROR_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES
ERROR_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED
ERROR_VOLMGR_EXTENT_ALREADY_USED
ERROR_VOLMGR_EXTENT_NOT_CONTIGUOUS
ERROR_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION
ERROR_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED
ERROR_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION
ERROR_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH
ERROR_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED
ERROR_VOLMGR_INCOMPLETE_DISK_MIGRATION
ERROR_VOLMGR_INCOMPLETE_REGENERATION
ERROR_VOLMGR_INTERLEAVE_LENGTH_INVALID
ERROR_VOLMGR_MAXIMUM_REGISTERED_USERS
ERROR_VOLMGR_MEMBER_INDEX_DUPLICATE
ERROR_VOLMGR_MEMBER_INDEX_INVALID
ERROR_VOLMGR_MEMBER_IN_SYNC
ERROR_VOLMGR_MEMBER_MISSING
ERROR_VOLMGR_MEMBER_NOT_DETACHED
ERROR_VOLMGR_MEMBER_REGENERATING
ERROR_VOLMGR_MIRROR_NOT_SUPPORTED
ERROR_VOLMGR_NO_REGISTERED_USERS
ERROR_VOLMGR_NO_SUCH_USER
ERROR_VOLMGR_NOTIFICATION_RESET
ERROR_VOLMGR_NOT_PRIMARY_PACK
ERROR_VOLMGR_NO_VALID_LOG_COPIES
ERROR_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID
ERROR_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID
ERROR_VOLMGR_NUMBER_OF_DISKS_INVALID
ERROR_VOLMGR_NUMBER_OF_EXTENTS_INVALID
ERROR_VOLMGR_NUMBER_OF_MEMBERS_INVALID
ERROR_VOLMGR_NUMBER_OF_PLEXES_INVALID
ERROR_VOLMGR_PACK_CONFIG_OFFLINE
ERROR_VOLMGR_PACK_CONFIG_ONLINE
ERROR_VOLMGR_PACK_CONFIG_UPDATE_FAILED
ERROR_VOLMGR_PACK_DUPLICATE
ERROR_VOLMGR_PACK_HAS_QUORUM
ERROR_VOLMGR_PACK_ID_INVALID
ERROR_VOLMGR_PACK_INVALID
ERROR_VOLMGR_PACK_LOG_UPDATE_FAILED
ERROR_VOLMGR_PACK_NAME_INVALID
ERROR_VOLMGR_PACK_OFFLINE
ERROR_VOLMGR_PACK_WITHOUT_QUORUM
ERROR_VOLMGR_PARTITION_STYLE_INVALID
ERROR_VOLMGR_PARTITION_UPDATE_FAILED
ERROR_VOLMGR_PLEX_INDEX_DUPLICATE
ERROR_VOLMGR_PLEX_INDEX_INVALID
ERROR_VOLMGR_PLEX_IN_SYNC
ERROR_VOLMGR_PLEX_LAST_ACTIVE
ERROR_VOLMGR_PLEX_MISSING
ERROR_VOLMGR_PLEX_NOT_RAID5
ERROR_VOLMGR_PLEX_NOT_SIMPLE
ERROR_VOLMGR_PLEX_NOT_SIMPLE_SPANNED
ERROR_VOLMGR_PLEX_REGENERATING
ERROR_VOLMGR_PLEX_TYPE_INVALID
ERROR_VOLMGR_PRIMARY_PACK_PRESENT
ERROR_VOLMGR_RAID5_NOT_SUPPORTED
ERROR_VOLMGR_STRUCTURE_SIZE_INVALID
ERROR_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS
ERROR_VOLMGR_TRANSACTION_IN_PROGRESS
ERROR_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE
ERROR_VOLMGR_VOLUME_CONTAINS_MISSING_DISK
ERROR_VOLMGR_VOLUME_ID_INVALID
ERROR_VOLMGR_VOLUME_LENGTH_INVALID
ERROR_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE
ERROR_VOLMGR_VOLUME_MIRRORED
ERROR_VOLMGR_VOLUME_NOT_MIRRORED
ERROR_VOLMGR_VOLUME_NOT_RETAINED
ERROR_VOLMGR_VOLUME_OFFLINE
ERROR_VOLMGR_VOLUME_RETAINED
ERROR_VOLSNAP_ACTIVATION_TIMEOUT
ERROR_VOLSNAP_BOOTFILE_NOT_VALID
ERROR_VOLSNAP_HIBERNATE_READY
ERROR_VOLSNAP_PREPARE_HIBERNATE
ERROR_VOLUME_CONTAINS_SYS_FILES
ERROR_VOLUME_DIRTY
ERROR_VOLUME_MOUNTED
ERROR_VOLUME_NOT_CLUSTER_ALIGNED
ERROR_VOLUME_NOT_SIS_ENABLED
ERROR_VOLUME_NOT_SUPPORT_EFS
ERROR_VRF_CFG_AND_IO_ENABLED
ERROR_VSMB_SAVED_STATE_CORRUPT
ERROR_VSMB_SAVED_STATE_FILE_NOT_FOUND
ERROR_VSM_DMA_PROTECTION_NOT_IN_USE
ERROR_VSM_NOT_INITIALIZED
ERROR_WAIT_1
ERROR_WAIT_2
ERROR_WAIT_3
ERROR_WAIT_63
ERROR_WAIT_FOR_OPLOCK
ERROR_WAIT_NO_CHILDREN
ERROR_WAKE_SYSTEM
ERROR_WAKE_SYSTEM_DEBUGGER
ERROR_WAS_LOCKED
ERROR_WAS_UNLOCKED
ERROR_WINDOW_NOT_COMBOBOX
ERROR_WINDOW_NOT_DIALOG
ERROR_WINDOW_OF_OTHER_THREAD
ERROR_WINS_INTERNAL
ERROR_WIP_ENCRYPTION_FAILED
ERROR_WMI_ALREADY_DISABLED
ERROR_WMI_ALREADY_ENABLED
ERROR_WMI_DP_FAILED
ERROR_WMI_DP_NOT_FOUND
ERROR_WMI_GUID_DISCONNECTED
ERROR_WMI_GUID_NOT_FOUND
ERROR_WMI_INSTANCE_NOT_FOUND
ERROR_WMI_INVALID_MOF
ERROR_WMI_INVALID_REGINFO
ERROR_WMI_ITEMID_NOT_FOUND
ERROR_WMI_READ_ONLY
ERROR_WMI_SERVER_UNAVAILABLE
ERROR_WMI_SET_FAILURE
ERROR_WMI_TRY_AGAIN
ERROR_WMI_UNRESOLVED_INSTANCE_REF
ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT
ERROR_WOF_WIM_HEADER_CORRUPT
ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT
ERROR_WORKING_SET_QUOTA
ERROR_WOW_ASSERTION
ERROR_WRITE_FAULT
ERROR_WRITE_PROTECT
ERROR_WRONG_COMPARTMENT
ERROR_WRONG_DISK
ERROR_WRONG_EFS
ERROR_WRONG_PASSWORD
ERROR_WRONG_TARGET_NAME
ERROR_WX86_ERROR
ERROR_WX86_WARNING
ERROR_XMLDSIG_ERROR
ERROR_XML_ENCODING_MISMATCH
ERROR_XML_PARSE_ERROR
ERR_peek_error
ERR_peek_last_error
ERR_ROMPACK_OFFSET
escalatedRebootPercentage
escapechar
escapechar none
EscapeCount
!                                  Escape to local shell
E_SKYDRIVE_FILE_NOT_UPLOADED
E_SKYDRIVE_ROOT_TARGET_CANNOT_INDEX
E_SKYDRIVE_ROOT_TARGET_FILE_SYSTEM_NOT_SUPPORTED
E_SKYDRIVE_ROOT_TARGET_OVERLAP
E_SKYDRIVE_ROOT_TARGET_VOLUME_ROOT_NOT_SUPPORTED
E_SKYDRIVE_UPDATE_AVAILABILITY_FAIL
EsReasonOnEntry
	EsStateOnEntry
estimate
E_STRING_NOT_NULL_TERMINATED
E_SUBPROTOCOL_NOT_SUPPORTED
EsUpdateCount
E_SYNCENGINE_CLIENT_UPDATE_NEEDED
E_SYNCENGINE_FILE_IDENTIFIER_UNKNOWN
E_SYNCENGINE_FILE_SIZE_EXCEEDS_REMAINING_QUOTA
E_SYNCENGINE_FILE_SIZE_OVER_LIMIT
E_SYNCENGINE_FILE_SYNC_PARTNER_ERROR
E_SYNCENGINE_FOLDER_INACCESSIBLE
E_SYNCENGINE_FOLDER_IN_REDIRECTION
E_SYNCENGINE_FOLDER_ITEM_COUNT_LIMIT_EXCEEDED
E_SYNCENGINE_PATH_LENGTH_LIMIT_EXCEEDED
E_SYNCENGINE_PROXY_AUTHENTICATION_REQUIRED
E_SYNCENGINE_REMOTE_PATH_LENGTH_LIMIT_EXCEEDED
E_SYNCENGINE_REQUEST_BLOCKED_BY_SERVICE
E_SYNCENGINE_REQUEST_BLOCKED_DUE_TO_CLIENT_ERROR
E_SYNCENGINE_SERVICE_AUTHENTICATION_FAILED
E_SYNCENGINE_SERVICE_RETURNED_UNEXPECTED_SIZE
E_SYNCENGINE_STORAGE_SERVICE_BLOCKED
E_SYNCENGINE_STORAGE_SERVICE_PROVISIONING_FAILED
E_SYNCENGINE_SYNC_PAUSED_BY_SERVICE
E_SYNCENGINE_UNKNOWN_SERVICE_ERROR
E_SYNCENGINE_UNSUPPORTED_FILE_NAME
E_SYNCENGINE_UNSUPPORTED_FOLDER_NAME
E_SYNCENGINE_UNSUPPORTED_MARKET
E_SYNCENGINE_UNSUPPORTED_REPARSE_POINT
  --:-- ETA
ethernet
E. Thread
EtwActivityIdControl
EtwEnableTrace
EtwEventEnabled
EtwEventRegister
EtwEventUnregister
EtwEventWrite
EtwGetTraceEnableFlags
EtwGetTraceEnableLevel
EtwGetTraceLoggerHandle
EtwOutOfLoggerSlots
EtwpDisableStackWalkApc
EtwPoolAllocationStatus
EtwpReenableStackWalkApc
EtwProviderEnabled
EtwRegister
EtwRegisterClassicProvider
EtwRegisterTraceGuidsW
EtwSendTraceBuffer
EtwSetInformation
ETW_TelCov_Boot
ETW_TelCov_Reset
ETW_TelCov_ResetCP
ETW_TelCov_Trace
EtwTelemetryCoverageReport
EtwTraceMessage
EtwTraceMessageVa
EtwUnregister
EtwUnregisterTraceGuids
EtwWrite
EtwWriteEndScenario
EtwWriteEx
EtwWriteStartScenario
EtwWriteString
EtwWriteTransfer
E_UAC_DISABLED
EulaPage::GetUserChoices
EulaPage::OnListenedEvent
EulaPage::OnSetActive
EulaPage::ResetUI
E_UNEXPECTED
EventActivityIdControl
EventData
EVENT_E_ALL_SUBSCRIBERS_FAILED
EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT
EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT
EVENT_E_COMPLUS_NOT_INSTALLED
EVENT_E_INTERNALERROR
EVENT_E_INTERNALEXCEPTION
EVENT_E_INVALID_EVENT_CLASS_PARTITION
EVENT_E_INVALID_PER_USER_SID
EVENT_E_MISSING_EVENTCLASS
EventEnabled
EVENT_E_NOT_ALL_REMOVED
EventEnum
EVENT_E_PER_USER_SID_NOT_LOGGED_ON
EVENT_E_QUERYFIELD
EVENT_E_QUERYSYNTAX
EVENT_E_TOO_MANY_METHODS
EVENT_E_USER_EXCEPTION
EventProviderEnabled
EventRegister
EventSequence
EventSetInformation
EventsHandler
EVENT_S_NOSUBSCRIBERS
EVENT_S_SOME_SUBSCRIBERS_FAILED
EVENT_TRACING_FATAL_ERROR
EventUnregister
eventVersion
EventWrite
EventWriteTransfer
EVP_aes_128_cbc
EVP_aes_128_gcm
EVP_aes_192_cbc
EVP_aes_256_cbc
EVP_aes_256_gcm
EVP_Cipher
EVP_CIPHER_CTX_ctrl
EVP_CIPHER_CTX_free
EVP_CIPHER_CTX_get_app_data
EVP_CIPHER_CTX_key_length
EVP_CIPHER_CTX_new
EVP_CIPHER_CTX_set_app_data
EVP_CIPHER_CTX_set_key_length
EVP_CipherInit
EVP_des_ede3_cbc
EVP_Digest
EVP_DigestFinal_ex
EVP_DigestInit_ex
EVP_DigestUpdate
EVP_MD_block_size
EVP_MD_CTX_cleanup
EVP_MD_CTX_copy_ex
EVP_MD_CTX_md
EVP_PKEY_base_id
EVP_PKEY_free
EVP_PKEY_get1_DSA
EVP_PKEY_get1_EC_KEY
EVP_PKEY_get1_RSA
EVP_PKEY_new
EVP_PKEY_set1_DSA
EVP_PKEY_set1_EC_KEY
EVP_PKEY_set1_RSA
EVP_sha1
EVP_sha256
EVP_sha384
EVP_sha512
EvtClose
EvtCreateRenderContext
EvtOpenChannelConfig
EvtQuery
EvtRender
EvtSaveChannelConfig
EvtSetChannelConfigProperty
ExAcquireAutoExpandPushLockExclusive
ExAcquireAutoExpandPushLockShared
ExAcquireCacheAwarePushLockExclusive
ExAcquireCacheAwarePushLockExclusiveEx
ExAcquireCacheAwarePushLockSharedEx
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireFastResourceExclusive
ExAcquireFastResourceShared
ExAcquireFastResourceSharedStarveExclusive
ExAcquirePushLockExclusiveEx
ExAcquirePushLockSharedEx
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExAcquireRundownProtection
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAcquireRundownProtectionEx
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAcquireSpinLockExclusive
ExAcquireSpinLockExclusiveAtDpcLevel
ExAcquireSpinLockShared
ExAcquireSpinLockSharedAtDpcLevel
ExActivationObjectType
ExAllocateAutoExpandPushLock
ExAllocateCacheAwarePushLock
ExAllocateCacheAwareRundownProtection
ExAllocatePool
ExAllocatePool2
ExAllocatePool3
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExAllocateTimer
ExBlockOnAddressPushLock
ExBlockPushLock
ExCancelTimer
Exception
?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
?__ExceptionPtrCopy@@YAXPEAXPEBX@Z
?__ExceptionPtrCreate@@YAXPEAX@Z
?__ExceptionPtrCurrentException@@YAXPEAX@Z
?__ExceptionPtrDestroy@@YAXPEAX@Z
?__ExceptionPtrRethrow@@YAXPEBX@Z
?__ExceptionPtrToBool@@YA_NPEBX@Z
EXCEPTION_SCOPE_INVALID
ExcessBucketCounts
ExcessBucketTimesUs
EXCESSIVE_SBE_INTERRUPTS
ExcessTotalTimeUs
ExCleanupAutoExpandPushLock
ExCleanupRundownProtectionCacheAware
ExcludeClipRect
ExclusivePowerMw
Exclusive_Process
EXCLUSIVE_PROCESS
Exclusive_Thread
EXCLUSIVE_THREAD
Exclusive_Thread was deprecated! Use value 3:Exclusive_Process instead.
ExCompositionObjectType
ExConvertExclusiveToSharedLite
ExConvertFastResourceExclusiveToShared
ExConvertPushLockExclusiveToShared
ExCoreMessagingObjectType
ExCreateCallback
ExDeleteFastResource
ExDeleteLookasideListEx
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResourceLite
ExDeleteTimer
ExDesktopObjectType
ExDisableResourceBoostLite
ExDisownFastResource
Exec format error
executable format error
ExecuteAction
ExecuteNarratorFind
?_Execute_once@std@@YAHAEAUonce_flag@1@P6AHPEAX1PEAPEAX@Z1@Z
Executing:
EXECUTING ACTIONS
Executing reboot for Countdown policy
ExEnterCriticalRegionAndAcquireFastMutexUnsafe
ExEnterCriticalRegionAndAcquireResourceExclusive
ExEnterCriticalRegionAndAcquireResourceShared
ExEnterCriticalRegionAndAcquireSharedWaitForExclusive
ExEnterPriorityRegionAndAcquireResourceExclusive
ExEnterPriorityRegionAndAcquireResourceShared
ExEnumerateSystemFirmwareTables
ExEnumHandleTable
ExEventObjectType
ExExtendZone
ExfAcquirePushLockExclusive
ExfAcquirePushLockShared
EXFAT   
EXFAT_FILE_SYSTEM
ExFetchLicenseData
ExFlushLookasideListEx
ExFreeAutoExpandPushLock
ExFreeCacheAwarePushLock
ExFreeCacheAwareRundownProtection
ExFreePool
ExFreePoolWithTag
ExfReleasePushLock
ExfReleasePushLockExclusive
ExfReleasePushLockShared
ExfTryAcquirePushLockShared
ExfTryToWakePushLock
ExfUnblockPushLock
ExGetCurrentProcessorCounts
ExGetCurrentProcessorCpuUsage
ExGetExclusiveWaiterCount
ExGetFirmwareEnvironmentVariable
ExGetFirmwareType
ExGetLicenseTamperState
ExGetPreviousMode
ExGetSharedWaiterCount
ExGetSystemFirmwareTable
ExInitializeAutoExpandPushLock
ExInitializeFastOwnerEntry
ExInitializeFastResource
ExInitializeLookasideListEx
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializePushLock
ExInitializeResourceLite
ExInitializeRundownProtection
ExInitializeRundownProtectionCacheAware
ExInitializeRundownProtectionCacheAwareEx
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddUlong
ExInterlockedExtendZone
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPushEntryList
ExInterlockedRemoveHeadList
ExIsFastResourceContended
ExIsFastResourceHeld
ExIsFastResourceHeldExclusive
ExIsManufacturingModeEnabled
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExIsSoftBoot
exitAction
ExitBootServicesEntry
ExitBootServicesExit
exitcode
ExitCode
ExitLatency
ExitNarratorFromDialog
exitonforwardfailure
ExitProcess
exit                               Quit sftp
ExitReason
exit-status
ExitStatus
ExitThread
ExLocalTimeToSystemTime
ExNotifyBootDeviceRemoval
ExNotifyCallback
expand 32-byte kexpand 16-byte k
expand 32-byte kexpand 16-byte kBKMGTPE
Expand callback failed to expand SDB
ExpandEnvironmentStringsA
ExpandEnvironmentStringsW
ExpandVariables
expected a CBOR string; last byte: 0x
expectedChecksum
expected control record
expected end of input
expectedTimestamp
Expecting a saved reboot time in USO session variable but not found
expecting SSH2_MSG_KEX_ECDH_REPLY
expecting SSH2_MSG_NEWKEYS
ExpeditedRebootDialog
ExpInitializeStateSeparationPhase0
ExpInitializeStateSeparationPhase1
ExpInitializeStateSeparationPhase2
ExpInterlockedFlushSList
ExpInterlockedPopEntrySList
ExpInterlockedPopEntrySListEnd
ExpInterlockedPopEntrySListFault
ExpInterlockedPopEntrySListResume
ExpInterlockedPushEntrySList
 explicit
ExpMicrocodeInformationLoad
ExpMicrocodeInformationUnload
ExpMicrocodeInitialization
Export directory invalid or invalid image format
export_dns_rr
ExQueryDepthSList
ExQueryFastCacheDevLicense
ExQueryPoolBlockSize
ExQueryTimerResolution
ExQueryWnfStateData
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseException
ExRaiseHardError
ExRaiseStatus
ExRawInputManagerObjectType
ExRealTimeIsUniversal
ExRegisterBootDevice
ExRegisterCallback
ExRegisterExtension
ExReinitializeFastResource
ExReinitializeResourceLite
ExReInitializeRundownProtection
ExReInitializeRundownProtectionCacheAware
ExReleaseAutoExpandPushLockExclusive
ExReleaseAutoExpandPushLockShared
ExReleaseCacheAwarePushLockExclusive
ExReleaseCacheAwarePushLockExclusiveEx
ExReleaseCacheAwarePushLockSharedEx
ExReleaseDisownedFastResource
ExReleaseDisownedFastResourceExclusive
ExReleaseDisownedFastResourceShared
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseFastMutexUnsafeAndLeaveCriticalRegion
ExReleaseFastResource
ExReleaseFastResourceExclusive
ExReleaseFastResourceShared
ExReleasePushLockEx
ExReleasePushLockExclusiveEx
ExReleasePushLockSharedEx
ExReleaseResourceAndLeaveCriticalRegion
ExReleaseResourceAndLeavePriorityRegion
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExReleaseRundownProtection
ExReleaseRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAwareEx
ExReleaseRundownProtectionEx
ExReleaseSpinLockExclusive
ExReleaseSpinLockExclusiveFromDpcLevel
ExReleaseSpinLockShared
ExReleaseSpinLockSharedFromDpcLevel
EXRESOURCE_TIMEOUT_LIVEDUMP
ExRundownCompleted
ExRundownCompletedCacheAware
ExSemaphoreObjectType
ExSetFirmwareEnvironmentVariable
ExSetLicenseTamperState
ExSetResourceOwnerPointer
ExSetResourceOwnerPointerEx
ExSetTimer
ExSetTimerResolution
ExShareAddressSpaceWithDevice
ExSizeOfAutoExpandPushLock
ExSizeOfRundownProtectionCacheAware
ExSubscribeWnfStateChange
ExSvmBeginDeviceReset
ExSvmFinalizeDeviceReset
ExSystemExceptionFilter
ExSystemTimeToLocalTime
extended data
ExtendedReboot
extension:
ExtensionDrivers
        Extensions: 
ExternalMonitorConnected
externalMonitorConnectedState
ExternalMonitorConnectedState
ExternalNmiCallbackRegistered
ExtFloodFill
ExTimedWaitForUnblockPushLock
ExTimerObjectType
ext-info-c
ext-ms-win32-subsystem-query-l1-1-0.dll
ext-ms-win-com-ole32-l1-1-1.dll
ext-ms-win-devmgmt-dm-l1-1-0.dll
ext-ms-win-devmgmt-dm-l1-1-2.dll
ext-ms-win-fs-clfs-l1-1-0.dll
ext-ms-win-gdi-dc-create-l1-1-0.dll
ext-ms-win-gdi-dc-l1-2-0.dll
ext-ms-win-gdi-devcaps-l1-1-0.dll
ext-ms-win-gdi-draw-l1-1-0.dll
ext-ms-win-gdi-draw-l1-1-1.dll
ext-ms-win-gdi-draw-l1-1-2.dll
ext-ms-win-gdi-font-l1-1-0.dll
ext-ms-win-gdi-font-l1-1-1.dll
ext-ms-win-gdi-font-l1-1-2.dll
ext-ms-win-kernel32-localization-l1-1-0.dll
ext-ms-win-kernel32-windowserrorreporting-l1-1-1.dll
ext-ms-win-ntos-clipsp-l1-1-0.dll
ext-ms-win-ntos-kcminitcfg-l1-1-0.dll
ext-ms-win-ntos-ksecurity-l1-1-1.dll
ext-ms-win-ntos-ksr-l1-1-3.dll
ext-ms-win-ntos-processparameters-l1-1-0.dll
ext-ms-win-ntos-stateseparation-l1-1-0.dll
ext-ms-win-ntos-tm-l1-1-0.dll
ext-ms-win-ntos-trace-l1-1-0.dll
ext-ms-win-ntos-ucode-l1-1-0.dll
ext-ms-win-ntos-werkernel-l1-1-1.dll
ext-ms-win-ntuser-chartranslation-l1-1-0.dll
ext-ms-win-ntuser-dc-access-ext-l1-1-0.dll
ext-ms-win-ntuser-draw-l1-1-0.dll
ext-ms-win-ntuser-draw-l1-1-1.dll
ext-ms-win-ntuser-gui-l1-1-0.dll
ext-ms-win-ntuser-keyboard-l1-1-0.dll
ext-ms-win-ntuser-message-l1-1-0.dll
ext-ms-win-ntuser-misc-l1-1-0.dll
ext-ms-win-ntuser-server-l1-1-0.dll
ext-ms-win-ntuser-windowclass-l1-1-0.dll
ext-ms-win-ntuser-windowclass-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-0.dll
ext-ms-win-ntuser-window-l1-1-1.dll
ext-ms-win-ntuser-window-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-4.dll
ext-ms-win-ntuser-windowstation-l1-1-0.dll
ext-ms-win-rtcore-gdi-object-l1-1-0.dll
ext-ms-win-rtcore-ntuser-cursor-l1-1-0.dll
ext-ms-win-rtcore-ntuser-sysparams-l1-1-0.dll
ext-ms-win-rtcore-ntuser-window-ext-l1-1-0.dll
ext-ms-win-security-chambers-l1-1-0.dll
ext-ms-win-security-credui-l1-1-0.dll
ext-ms-win-security-credui-l1-1-1.dll
ext-ms-win-session-usermgr-l1-1-0.dll
ext-ms-win-session-usertoken-l1-1-0.dll
ext-ms-win-session-winsta-l1-1-0.dll
ext-ms-win-session-wtsapi32-l1-1-0.dll
ext-ms-win-shell32-shellfolders-l1-1-0.dll
ext-ms-win-shell-shell32-l1-2-0.dll
ext-ms-win-shell-shell32-l1-2-1.dll
ext-ms-win-smbshare-browserclient-l1-1-0.dll
ext-ms-win-tsf-inputsetting-l1-1-0.dll
ExtractAppCommandLine
ExtractHmacParameters
extract_salt: invalid magic identifier
extract_salt: missing salt termination character
extract_salt: salt decode error
extract_salt: string too short
ExtractSyncBody
ExtraInfoFlags
ExTryAcquireAutoExpandPushLockExclusive
ExTryAcquireAutoExpandPushLockShared
ExTryAcquireCacheAwarePushLockExclusiveEx
ExTryAcquireCacheAwarePushLockSharedEx
ExTryAcquirePushLockExclusiveEx
ExTryAcquirePushLockSharedEx
ExTryAcquireSpinLockExclusiveAtDpcLevel
ExTryAcquireSpinLockSharedAtDpcLevel
ExTryConvertPushLockSharedToExclusiveEx
ExTryConvertSharedSpinLockExclusive
ExTryQueueWorkItem
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
ExTryToConvertFastResourceSharedToExclusive
ExtSelectClipRgn
ExtTextOutW
ExUnblockOnAddressPushLockEx
ExUnblockPushLockEx
ExUnregisterCallback
ExUnregisterExtension
ExUnsubscribeWnfStateChange
ExUpdateLicenseData
ExUuidCreate
ExVerifySuite
ExWaitForRundownProtectionRelease
ExWaitForRundownProtectionReleaseCacheAware
ExWaitForUnblockPushLock
ExWindowStationObjectType
F0D8#ubD8c
F4D;B4r.w	
'F8888888
f9K8uAL9
f9K8uEL9
fA;0t)fA98t
fA94@t A
fA9FJv@A
fA9GBt	M
facename
FACILITY_ITF - This error is interface specific.  No further information is available.
FACP_000
FAdvapi32.dll
FA_E_HOMEGROUP_NOT_AVAILABLE
FA_E_MAX_PERSISTED_ITEMS_REACHED
Failed_Add_Section
Failed_Add_Unstructured
Failed create the element
FailedDiskSpaceCheck
Failed DisplayContents on Help Pane
Failed GenerateSignScope
Failed InitializeInstanceWorker
failed in TracedStringCchCopyW
Failed put_CLXCmdLine
Failed RegisterPopupParentWindowClass(FALSE)
Failed RegisterPopupParentWindowClass(TRUE)
Failed signature type check on signature
FailedSizePages
Failed StringCchPrintf
Failed the transaction so we will now try it non-transactional
failed to acquire function table for sspi support.
Failed to add a redirected port mapping
Failed to AddCallback for workitem
Failed to add callback to thread!
failed to add key to store
Failed to add object global object table
Failed to add string to addresses array
Failed to add the connection
Failed to add the port mapping
Failed to add the port to the temp list
failed to alloc
Failed to allocate argument
Failed to allocate DB structure
Failed to allocate from large stream buffer pool - fatal error
Failed to allocate from small stream buffer pool - fatal error
Failed to allocate from stream buffer pool - fatal error
Failed to allocate memory
Failed to allocate memory for text blob
Failed to allocate process history buffer
Failed to allocate sdbcontext
Failed to allocate search path parts
Failed to allocate temp buffer
Failed to allocate XStream object!
Failed to alloc language string
Failed to alloc name string
Failed to append the new element
failed to assign pipe to ioc_port
Failed to associate sock with IO completion port.
Failed to bind the network decoupler sink
Failed to call CoInitialize
Failed to check if reboot is confirmed by user
Failed to check if reboot should be canceled for blocking apps
Failed to check MATCHING_REG entry
Failed to check MATCHING_TEXT entry
Failed to check MATCHING_WILDCARD_REGISTRY entry
Failed to close file stream!
Failed to cocreate CLSID_HxHelpPane
Failed to complete connection creation
Failed to complete the connection
Failed to construct full key path
Failed to convert guid str to GUID
Failed to convert name to multi-byte
Failed to convert tagid to tagref
Failed to convert tiKObject to trKObject
Failed to copy company name.
Failed to copy file description string.
Failed to copy sorted addresses array to member
Failed to copy temporary array to member array
Failed to copy the parent context properties
Failed to create a buffer instance
Failed to create a listener element
Failed to create a new connection
Failed to create a running context
Failed to create default buffer result buffer!
Failed to create global object
Failed to create IO Context pool
Failed to create IRDPENCConnectorStringSerializer
Failed to create IRdpScheduler
Failed to create ITSThreadInternal
Failed to create Large StreamBuffer pool
Failed to create logger instance
Failed to create memory settings stream!
Failed to create named pipe stream
Failed to create search DB context
Failed to create Security Filter Stream
Failed to create settings store!
Failed to create Small StreamBuffer pool
Failed to create STA threads
Failed to create Stream PropertyStore
Failed to create TaskQueue
Failed to create temporary AA profile
Failed to create temporary AA profile - ExplicitProxySettings are NOT allowed
Failed to create the attribute
Failed to create the connection thread
Failed to create the context
Failed to create the endpoint
Failed to create the endpoint connection UUID
Failed to create the event source
Failed to create the global context
Failed to create the listener Uri
Failed to create the listener worker thread
Failed to create the map string
Failed to create the new child element
Failed to create the notification thread
Failed to create the root element
Failed to create the server address
Failed to create the server port
Failed to create the socket connection event
Failed to create the STA thread
Failed to create the stream core events
Failed to create the stream object
Failed to create the stream pool
Failed to create the TCP connector
Failed to create the TCP stream object
Failed to create the transport root node
Failed to create the UDP stream object
Failed to create the worker thread
Failed to create the Worker thread
Failed to create the XML document
Failed to create thread signal
Failed to create thread signal event
Failed to create Tunnel Filter Stream
Failed to create XString for localIp
Failed to create XString for remoteIp
Failed to decouple a stream event
Failed to decouple on close event
Failed to destroy STA thread
Failed to Destroy the worker thread
Failed to dispatch the connection completed call
Failed to dispatch the error async call
Failed to enable usage of IPV6 link-local addresses
Failed to end all remaining sessions
failed to fetch key
Failed to filter addr list
Failed to find any device
Failed to find any matching device(s)
Failed to find any metric to display
Failed to find any supported device
Failed to find Attribute to use for sdb tag
Failed to find the Cor20Header
Failed to fire the event
Failed to format error message
Failed to generate the external port number
Failed to generate the unsorted address list
Failed to get Activity ID property
Failed to get a document interface
Failed to get a value to use for BOE App name.
Failed to get broadcasting message result
Failed to get HWID
Failed to get ITsWatchdog
Failed to get Iunknown interface
Failed to get key path tag
Failed to get MATCHING_TEXT file path
Failed to get module specific class name
Failed to get NVLink device index
Failed to get NVLink device name
Failed to get plain server name
Failed to get RdpClientUtils
Failed to get RdpXInterfaceStream
Failed to get root tag
Failed to get ServerName
Failed to get Server port
Failed to get string length
Failed to get TAG_REG_VALUE_DATA_BINARY
Failed to get TAG_REG_VALUE_DATA_DWORD
Failed to get TAG_REG_VALUE_DATA_QWORD
Failed to get TAG_REG_VALUE_DATA_SZ
Failed to get TCP keep alive interval.
Failed to get TCP keep alive timeout.
Failed to get text to match blob
Failed to get the addr list
Failed to get the attribute value
Failed to get the base name
Failed to get the bstr attribute
Failed to get the child index from root
Failed to get the database id
Failed to get the database ID
Failed to get the external IP address
Failed to get the external port number
Failed to get the file contents as a string!
Failed to get the length
Failed to get the local IP string
Failed to get the node
Failed to get the owner document
Failed to get the platform context
Failed to get the port mapping
Failed to get the port mapping count
Failed to get the root element
Failed to get the server name
Failed to get the server port
Failed to get the session id
Failed to get the socket info
Failed to get the string from the database
Failed to get the uint attribute
Failed to get the XML string
Failed to get throughput counters
Failed to get work item interface
Failed to identify any devices from command-line args
Failed to identify any devices from the log file
Failed to initialize
Failed to initialize buffer result!
Failed to initialize CTscAuthenticationBlob!
Failed to initialize CTSCredManAssistant!
Failed to initialize instance security stream filter object
Failed to initialize instance tunnel stream filter object
Failed to initialize login UI
Failed to Initialize Monitor Handler
Failed to initialize RDP scheduler
Failed to initialize RDV::RDP::Encoder::FrameEncodingEn counter
Failed to initialize RDV::RDP::Encoder::FrameEncodingStart counter
Failed to initialize RDV::RDP::Encoder::ProtocolBytes perf counter
Failed to initialize RDV::RDP::GraphicsPipeline::ProgressiveEncodingStatus perf counter
Failed to initialize remote app login UI!
Failed to initialize SEARCHDBCONTEXT
Failed to initialize serializer
Failed to initialize settings with specified rdp file
Failed to initialize the context
Failed to initialize the CRDPENCONPort
Failed to initialize the endpoint
Failed to initialize the Gfx plugin object
Failed to initialize the global context
Failed to initialize the ip helper
Failed to initialize the MUI resource loader!
Failed to initialize the NAT manager
Failed to initialize the platform
Failed to initialize the platform context
Failed to initialize the settings object!
Failed to initialize the STAWrapper
Failed to initialize the stream
Failed to initialize the stream pool
Failed to initialize the tcp con info
Failed to initialize the transport worker
Failed to initialize the UDP stream object
Failed to initialize timer globals
Failed to initialize timer list lock
Failed to initialize TLSLogger in CRDPENCCONStream!
failed to initialize w32posix wrapper
Failed to initialize winsock
Failed to init in thread context
Failed to init RdpXStream
Failed to init the direct connector
Failed to init workitem result
Failed to insert address from sorted pairs into array
Failed to insert address in the result array
Failed to insert IPv4 address in array
Failed to insert IPv6 address in array
Failed to install control handler
Failed to install the control handler
Failed to launch remote app login UI!
Failed to load file contents!
Failed to load library
Failed to LoadLibrary dwmapi.dll
Failed to load the XML string
Failed to load TSWorkspace.dll
Failed to log message to workspace runtime
Failed to log stats to persistent storage
Failed to move pointer to the beginning of the file!
Failed to notify OnConnectionCompleted!
Failed to obtain command-line
Failed to obtain workspace runtime.
Failed to obtain workspace runtime scriptable interface.
Failed to open database
Failed to open SDB - File size too large or small.
Failed to open settings store from file
Failed to parse app name argument
Failed to parse App StoreId argument
Failed to parse block type argument
Failed to parse command-line argument
Failed to parse command-line arguments
Failed to parse context flags argument
Failed to parse counter arguments specified at the command-line
Failed to parse counter specified at the command-line
Failed to parse current directory argument
Failed to parse database GUID argument
Failed to parse device(s) specified at the command-line
Failed to parse device string on command line
Failed to parse event type argument
Failed to parse executable GUID argument
Failed to parse executable path argument
Failed to parse graphics clock at the command-line
Failed to parse KB Article argument
Failed to parse layer argument
Failed to parse link specified at the command-line
Failed to parse memory clock at the command-line
Failed to parse profile id at the command-line
Failed to parse start of message
Failed to parse summary argument
Failed to parse temperature at the command-line
Failed to parse user SID argument
Failed to prase FWLink id argument
Failed to process command line
Failed to process command line 
Failed to properly clean up on exit
Failed to put UTREG_UI_CONNECT_TO_CHILD_SESSION property
Failed to QI
Failed to QI for IRDPENCNetStream
Failed to QI for IRDPENCPlatformContext
Failed to QI for iterator
Failed to QI for IUnknown
Failed to QI for IUnknown from context
Failed to QI for the parent context
Failed to QI IRDPCollection on running context.
Failed to QI object for interface
Failed to QI the payload
Failed to query device index
Failed to query the nodes
Failed to query the UDP socket interface
Failed to query the UDP stream interface
Failed to read database header
Failed to read encoding type
Failed to read GUID
Failed to read GUID of the database
Failed to read HWID attribute
Failed to read key path
Failed to read MATCHING_REG entry
Failed to read matching text blob
Failed to read MATCHING_TEXT entry
Failed to read MATCHING_TEXT file path
Failed to read MATCHING_WILDCARD_REGISTRY entry
Failed to read text encoding
Failed to read text to match
Failed to read value
Failed to read value data
Failed to read value type
Failed to redirect output
Failed to redirect to stdout
Failed to register stream
Failed to register window class
Failed to remove all identities.
Failed to resize buffer - fatal error
Failed to resolve matching dir
Failed to resolve matching file
Failed to resolve matching text file
Failed to resolve server name asynchronously
failed to retrieve client details
Failed to retrieve process history
Failed to retrieve the connection UUID
Failed to retrieve updates for the dialog to be displayed telemetry events.
Failed to retrieve updates for the reboot dialog telemetry events.
Failed to retrieve updates for the reboot invoked telemetry event.
Failed to retrieve updates for the smart busy check telemetry event.
Failed to retrieve updates for the ToastNotificationDisplayed event.
Failed to Run Monitor Handler
Failed to run thread events
Failed to serialize the string
Failed to set authentication service class to Microsoft Virtual Console Service
Failed to set ControlUIParent
Failed to set memory stream contents!
Failed to SetRdpXInterface for localIp
Failed to SetRdpXInterface for remoteIp
Failed to set SdbEntryFlags
Failed to set teh string attribute
Failed to set the Activity ID
Failed to set the async property
Failed to set the attribute on the node
Failed to set the attribute value
Failed to set the connector Id
Failed to set the resolve externals property
Failed to set the session id
Failed to set the session Id
Failed to set the transport name
Failed to set URCP property
Failed to SetXUInt32
Failed to show a notification for UX State because it is not implemented
Failed to signal event queue
Failed to Signal Event Queue
Failed to sort addresses via IpHlpApi
Failed to sort addresses via WSAIoctl
Failed to sort the address list
Failed to split the wildcard path
Failed to start remote application
Failed to start the accept thread
Failed to start the listener worker thread
Failed to start the network thread
Failed to start the notification thread
Failed to start the STA thread
Failed to start the Worker thread
Failed to store application name
Failed to store app name argument
Failed to store block type
Failed to store command-line
Failed to store command-line argument
Failed to store current directory
Failed to store database GUID
Failed to store event type
Failed to store executable GUID
Failed to store executable path
Failed to store flags
Failed to store layer name
Failed to store URL argument
Failed to store user sid
Failed to store vendor name argument
Failed to terminate timer globals
Failed to terminate timer list lock
Failed to to intialize remote sessions manager
Failed to unregister stream
Failed to unregister the thread window class
Failed to unregister the timer window class
Failed to update process utilization values in data structures
Failed to validate certificate chain
Failed to validate command-line arguments
Failed to validate log file
Failed to write to buffer
Failed version check on signature
FailFast
Fail to add thread to thread descriptor
Fail to run queue events
failureCount
failureHr
failureId
FailureReason
FailureReasonCounts
FailureResult
FailuresInRound
Failure status
failureType
Fair warning blocking apps limit read from OneSettings:
Fair Warning default duration overridden due to flighting
Fair Warning Duration
Fair Warning duration specified through OneSettings
Fair Warning timespan has not passed
Fair Warning timespan has passed
Fair Warning Timestamps
FallbackError
fallbacktorsh
FanEnumerated
fan_info
Fan Info
fan.speed
fan_speed
Fan Speed
fan_state
Far::AttributeValueToString
Far::RetrieveSpecifiedFileAttributes
Far::StringFromBinaryType
__fastcall
FAST_ERESOURCE_PRECONDITION_VIOLATION
FATAL_ABNORMAL_RESET_ERROR
fatal error - scanner input buffer overflow
fatal flex scanner internal error--end of buffer missed
fatal flex scanner internal error--no action found
FATAL_UNHANDLED_HARD_ERROR
FAT_FILE_SYSTEM
FaultTypeFlags
FAULTY_HARDWARE_CORRUPTED_PAGE
fB94ht	H
--fbcsessions
fbcsessions
 FBC SESSIONS:
    fbcsessions -- Display FBC Sessions information.
    fbcsessions                 Displays device FBC sessions information. "nvidia-smi fbcsessions -h" for more information.
fbc_stats
    FBC Stats
FBC Stats
FB_LINK_TRAINING_FAILURE_ERROR
FB Memory
FB_MEMORY_ERROR
fb_memory_usage
    FB Memory Usage
FB Memory Usage
FCC Unavailable
FCPBFrame
FCRulerBar
fD;7uKfD;w
fD91u0f9i
fD92tbE3
fD93tsD;
fD93tVfD9;uB3
fD94H|8D
fD9c8u!D8ewu
fD9eHt_L
fD9gBt(H
fD9oJwPD
fD9p8thH
fD9tD0tK
fD9;tifD
fD9)u fD9i
FDDDDLDdLl||||x
)fD;ibwPI
fD;[(tkL
fD; u	fD
fD;(u	fD
fE9a8u-H
fE9o u#3
fE9wBt5E3
fE9xHt	I
featureBaseVersion
FeatureConfigurationUpdateCorruptedBuffer
FeatureError
featureId
FeaturePayload
featureStage
FeatureUpdate
featureUpdatePending
Feature Update pending
FeatureUpdate reg key is overwriting the actual update type to show toasts.
FeatureUsage
FeatureVariantUsage
featureVersion
February
Fext-ms-win-networking-teredo-l1-1-0.dll
FFailed to get the local port
F"fD9f u
ffff((((
-fffffff
.fffffff
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C93402849236C3FAB4D27C7026C1D4DCB2602646DEC9751E763DBA37BDF8FF9406AD9E530EE5DB382F413001AEB06A53ED9027D831179727B0865A8918DA3EDBEBCF9B14ED44CE6CBACED4BB1BDB7F1447E6CC254B332051512BD7AF426FB8F401378CD2BF5983CA01C64B92ECF032EA15D1721D03F482D7CE6E74FEF6D55E702F46980C82B5A84031900B1C9E59E7C97FBEC7E8F323A97A7E36CC88BE0F1D45B7FF585AC54BD407B22B4154AACC8F6D7EBF48E1D814CC5ED20F8037E0A79715EEF29BE32806A1D58BB7C5DA76F550AA3D8A1FBFF0EB19CCB1A313D55CDA56C9EC2EF29632387FE8D76E3C0468043E8F663F4860EE12BF2D5B0B7474D6E694F91E6DBE115974A3926F12FEE5E438777CB6A932DF8CD8BEC4D073B931BA3BC832B68D9DD300741FA7BF8AFC47ED2576F6936BA424663AAB639C5AE4F5683423B4742BF1C978238F16CBE39D652DE3FDB8BEFC848AD922222E04A4037C0713EB57A81A23F0C73473FC646CEA306B4BCBC8862F8385DDFA9D4B7FA2C087E879683303ED5BDD3A062B3CF5B3A278A66D2A13F83F44F82DDF310EE074AB6A364597E899A0255DC164F31CC50846851DF9AB48195DED7EA1B1D510BD7EE74D73FAF36BC31ECFA268359046F4EB879F924009438B481C6CD7889A002ED5EE382BC9190DA6FC026E479558E4475677E9AA9E3050E2765694DFC81F56E880B96E7160C980DD98EDD3DFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6BF12FFA06D98A0864D87602733EC86A64521F2B18177B200CBBE117577A615D6C770988C0BAD946E208E24FA074E5AB3143DB5BFCE0FD108E4B82D120A92108011A723C12A787E6D788719A10BDBA5B2699C327186AF4E23C1A946834B6150BDA2583E9CA2AD44CE8DBBBC2DB04DE8EF92E8EFC141FBECAA6287C59474E6BC05D99B2964FA090C3A2233BA186515BE7ED1F612970CEE2D7AFB81BDD762170481CD0069127D5B05AA993B4EA988D8FDDC186FFB7DC90A6C08F4DF435C934063199FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE65381FFFFFFFFFFFFFFFF
ffffffffffffffffffff
ffffffffgwwwwwwvgwwwwwwvffffffff
fffffffflff
fffffffg
ffffHHHH
FFFFWWWW
#FFFtyyy
ffvgfvgfvgl|gfv
Fgeneric
FH9U@t	H
FHDCCCD8nnxxxxxxD
F#'hK799
Field in SignScope not found in store
                  file ...
FileBrowser
file changed while reading
fileContents
fileEdit
file error
file exists
File exists
FileExtension
FILE_INITIALIZATION_FAILED
File is missing first index block
File mapping invalid
--filename
fileName
FileName
filename does not match request
FileName lenght is greater then MAX_PATH 
Filename not listed
filename too long
filename_too_long
Filename too long
   File name to redirect replay information
FileNewCount
FileOpen
FileOpenComplete
FileOpenStart
filePath
FilePrintCount
FileSave
FileSaveAs
FileSaveAsCount
FileSaveCount
FileSize
-File size is 0 bytes yet ImageViewBase was present
FILE_SYSTEM
                                   filesystem containing 'path'
FileTimeToDosDateTime
FileTimeToISO8601String
FileTimeToLocalFileTime
FileTimeToSystemTime
file too large
File too large
fileType
FileUrlFromPath failed.
FillConsoleOutputAttribute
FillConsoleOutputCharacterA
FillConsoleOutputCharacterW
fill_default_options
FillRect
FillSlatLargePage
FillSlatSparse
FilteredInput
filterProvided
FinalElevationPage::RCApplies
FinalElevationPage::SetupRootCauseResult
FinalElevationPage::SortRootCauses
FinalLinksPage::AddRootCauses
FinalLinksPage::CreateLinks
FinalLinksPage::OnListenedEvent
FinalLinksPage::OnSetActive
FinalLinksPage::SetupRootCauseResult
FinalWERReportPage::OnSetActive
Final window cadence
FindAppSecurityCertificatesReference
?Find@CHString@@QEBAHPEBG@Z
FindClose
?FindDescendent@Element@DirectUI@@QEAAPEAV12@G@Z
FindFirstFileExW
FindFirstFileNameW
FindFirstFileW
FindFirstStreamW
FindFirstVolumeW
Finding a different reboot notification time
FindMimeFromData
FindNextFileNameW
FindNextFileW
FindNextStreamW
FindNextVolumeW
FindNLSString
FindReferencedCert
FindResourceExW
FindResourceW
FindStringOrdinal
FindTextW
FindVolumeClose
FindWindowA
FindWindowExW
FindWindowW
fingerprinthash
fingerprint_one_key
Finished
FinishTime
?FireEvent@Element@DirectUI@@QEAAXPEAUEvent@2@_N1@Z
firmware
Firmware
FirmwareBootData
FirmwareTableAccessDenied
Firmware Version
    first 4 supported devices under natural enumeration (starting
FirstDripsEntry
FirstEncounterTime
FirstEncounterTimeUTC
FirstEntrySList
FirstHardwareId
FirstLogonAnim.pdb
FirstRangeNumberOfPages
FirstRangePageSize
FirstRangePfn
FirstRedTime
FirstRedTimeUTC
FirstRefresh
First reminder toast will be shown
firstThermalStandby
FirstTimeRefresh
FIRST_X509_NOT_FOUND
FirstYellowTime
FirstYellowTimeUTC
fixedProblem
fixedWakeSource
_F!KuilSo
FLAG_DAMAGEROUTINE
FLAG_DEVIDHACK
FLAG_DRIVERHACKFORSLI
flag-ext 
FLAG_FUSEERROR
FLAG_MULTIMON
FLAG_OVERCLOCKG
FLAG_OVERCLOCKMEM
FLAG_OVERCLOCKR
FLAG_OVERCLOCKS
FLAG_POWERMIZER
FLAG_SLIMODE
FlashWindowEx
FLCN_DPU
FLCN_FBFLCN
FLCN_GSP
FLCN_HDA
FLCN_MSENC0
FLCN_MSENC1
FLCN_MSENC2
FLCN_NVDEC0
FLCN_NVDEC1
FLCN_NVDEC2
FLCN_NVDEC3
FLCN_NVDEC4
FLCN_NVDEC5
FLCN_NVDEC6
FLCN_NVDEC7
FLCN_NVLINK
FLCN_PMU
FLCN_SEC2
FlcnSecurity
FLCN_SECURITY_MODEL_HEAVY
FLCN_SECURITY_MODEL_LIGHT
FLCN_SECURITY_MODEL_NONE
|flflflf
- floating point support not loaded
FLOPPY_INTERNAL_ERROR
FlsAlloc
FlsGetValue
FlsSetValue
FLTMGR_FILE_SYSTEM
FlushFileBuffers
Flushing too many map registers
FlushInstructionCache
FlushKey Bypassed
FlushKey Success
FolderBrowser
FoldStringW
force-command
force-command already specified
forcedPrecursorToForcedDialogInHours
Forced reboot
Forced reboot failed so reschedule
Forced reboot in 5 minutes
ForcedRestartReminderVisible
forcedToUltimateForcedModeInHours
Forced Warning Timestamps
FORCEGROUPAWARE
ForceIdleResetReason
FORCELEGACYPLATFORM
FORCEMSI
ForcePackagePage
Force reboot
Force reboot but honoring user active and user presenting
Force reboot dialog time is not valid so rescheduling again.
ForceRebootReminderDialogDisplayed
ForceRebootReminder: valid reboot time in 4 hrs
Force reboot time is not valid so rescheduling again.
FORCETIMESYNC
For example:
    for Kepler or newer GPUs under x64 and ppc64 bare metal Linux.
forking to background
fork is not supported
?Format@CHString@@QEAAXPEBGZZ
Format error
FormatFontCount
FormatMessageA
'FormatMessage failed
FormatMessageW
Format modifier is not recognized.
FormatNPVString
Format options and one or more properties to be queried need to be provided as comma separated values for this switch.
FormulateResponseToServer
#         FOR NVIDIA ENGINEERING USE ONLY.          #
for the boot phase of hibernate! Check the callstack and parameters
forwardagent
forwarded-streamlocal
forwarded-streamlocal@openssh.com
forwarded-tcpip
forwarded this IRP from another stack.
ForwardGadgetMessage
Forward host name too long.
Forwarding port.
ForwardMessageToControl failed
forwardx11
forwardx11timeout
forwardx11trusted
FP_EMULATION_ERROR
framedynos.dll
Frame Rate Limit
FrameRect
freeaddrinfo
FreeAddrInfoExW
FreeAddrInfoW
FreeConsole
FreeContextBuffer
Freed too many common buffers.
FreeEnvironmentStringsA
FreeEnvironmentStringsW
FreeLibrary
FreeLibraryAndExitThread
FreeMibTable
FreePropVariantArray
FreeQuotedString
FreeResource
FreeString
Frequency
FrequencyCap
FreshWindow
FriendlyName
 from agent
FromScanner
FRS_ERR_AUTHENTICATION
FRS_ERR_CHILD_TO_PARENT_COMM
FRS_ERR_INSUFFICIENT_PRIV
FRS_ERR_INTERNAL
FRS_ERR_INTERNAL_API
FRS_ERR_INVALID_API_SEQUENCE
FRS_ERR_INVALID_SERVICE_PARAMETER
FRS_ERR_PARENT_AUTHENTICATION
FRS_ERR_PARENT_INSUFFICIENT_PRIV
FRS_ERR_PARENT_TO_CHILD_COMM
FRS_ERR_SERVICE_COMM
FRS_ERR_STARTING_SERVICE
FRS_ERR_STOPPING_SERVICE
FRS_ERR_SYSVOL_DEMOTE
FRS_ERR_SYSVOL_IS_BUSY
FRS_ERR_SYSVOL_POPULATE
FRS_ERR_SYSVOL_POPULATE_TIMEOUT
fShadowWithControl
FsRtlAcknowledgeEcp
FsRtlAcquireEofLock
FsRtlAcquireFileExclusive
FsRtlAcquireHeaderMutex
FsRtlAddBaseMcbEntry
FsRtlAddBaseMcbEntryEx
FsRtlAddLargeMcbEntry
FsRtlAddMcbEntry
FsRtlAddToTunnelCache
FsRtlAddToTunnelCacheEx
FsRtlAllocateExtraCreateParameter
FsRtlAllocateExtraCreateParameterFromLookasideList
FsRtlAllocateExtraCreateParameterList
FsRtlAllocateFileLock
FsRtlAllocatePool
FsRtlAllocatePoolWithQuota
FsRtlAllocatePoolWithQuotaTag
FsRtlAllocatePoolWithTag
FsRtlAllocateResource
FsRtlAreNamesEqual
FsRtlAreThereCurrentOrInProgressFileLocks
FsRtlAreThereWaitingFileLocks
FsRtlAreVolumeStartupApplicationsComplete
FsRtlBalanceReads
FsRtlCancellableWaitForMultipleObjects
FsRtlCancellableWaitForSingleObject
FsRtlChangeBackingFileObject
FsRtlCheckLockForOplockRequest
FsRtlCheckLockForReadAccess
FsRtlCheckLockForWriteAccess
FsRtlCheckOplock
FsRtlCheckOplockEx
FsRtlCheckOplockEx2
FsRtlCheckUpperOplock
FsRtlCopyRead
FsRtlCopyWrite
FsRtlCreateSectionForDataScan
FsRtlCurrentBatchOplock
FsRtlCurrentOplock
FsRtlCurrentOplockH
FsRtlDeleteExtraCreateParameterLookasideList
FsRtlDeleteKeyFromTunnelCache
FsRtlDeleteTunnelCache
FsRtlDeregisterUncProvider
FsRtlDismountComplete
FsRtlDissectDbcs
FsRtlDissectName
FsRtlDoesDbcsContainWildCards
FsRtlDoesNameContainWildCards
FSRTL_EXTRA_CREATE_PARAMETER_VIOLATION
FsRtlFastCheckLockForRead
FsRtlFastCheckLockForWrite
FsRtlFastUnlockAll
FsRtlFastUnlockAllByKey
FsRtlFastUnlockSingle
FsRtlFindExtraCreateParameter
FsRtlFindInTunnelCache
FsRtlFindInTunnelCacheEx
FsRtlFreeExtraCreateParameter
FsRtlFreeExtraCreateParameterList
FsRtlFreeFileLock
FsRtlGetCurrentProcessLoaderList
FsRtlGetEcpListFromIrp
FsRtlGetFileNameInformation
FsRtlGetFileSize
FsRtlGetIoAtEof
FsRtlGetNextBaseMcbEntry
FsRtlGetNextExtraCreateParameter
FsRtlGetNextFileLock
FsRtlGetNextLargeMcbEntry
FsRtlGetNextMcbEntry
FsRtlGetSectorSizeInformation
FsRtlGetSupportedFeatures
FsRtlGetVirtualDiskNestingLevel
FsRtlHeatInit
FsRtlHeatLogIo
FsRtlHeatLogTierMove
FsRtlHeatUninit
FsRtlIncrementCcFastMdlReadWait
FsRtlIncrementCcFastReadNotPossible
FsRtlIncrementCcFastReadNoWait
FsRtlIncrementCcFastReadResourceMiss
FsRtlIncrementCcFastReadWait
FsRtlInitExtraCreateParameterLookasideList
FsRtlInitializeBaseMcb
FsRtlInitializeBaseMcbEx
FsRtlInitializeEofLock
FsRtlInitializeExtraCreateParameter
FsRtlInitializeExtraCreateParameterList
FsRtlInitializeFileLock
FsRtlInitializeLargeMcb
FsRtlInitializeMcb
FsRtlInitializeOplock
FsRtlInitializeTunnelCache
FsRtlInsertExtraCreateParameter
FsRtlInsertPerFileContext
FsRtlInsertPerFileObjectContext
FsRtlInsertPerStreamContext
FsRtlIs32BitProcess
FsRtlIsDaxVolume
FsRtlIsDbcsInExpression
FsRtlIsEcpAcknowledged
FsRtlIsEcpFromUserMode
FsRtlIsExtentDangling
FsRtlIsFatDbcsLegal
FsRtlIsHpfsDbcsLegal
FsRtlIsMobileOS
FsRtlIsNameInExpression
FsRtlIsNameInUnUpcasedExpression
FsRtlIsNonEmptyDirectoryReparsePointAllowed
FsRtlIsNtstatusExpected
FsRtlIsPagingFile
FsRtlIssueDeviceIoControl
FsRtlIsSystemPagingFile
FsRtlIsTotalDeviceFailure
FsRtlKernelFsControlFile
FsRtlLegalAnsiCharacterArray
FsRtlLogCcFlushError
FsRtlLookupBaseMcbEntry
FsRtlLookupLargeMcbEntry
FsRtlLookupLastBaseMcbEntry
FsRtlLookupLastBaseMcbEntryAndIndex
FsRtlLookupLastLargeMcbEntry
FsRtlLookupLastLargeMcbEntryAndIndex
FsRtlLookupLastMcbEntry
FsRtlLookupMcbEntry
FsRtlLookupPerFileContext
FsRtlLookupPerFileObjectContext
FsRtlLookupPerStreamContextInternal
FsRtlMdlRead
FsRtlMdlReadComplete
FsRtlMdlReadCompleteDev
FsRtlMdlReadDev
FsRtlMdlReadEx
FsRtlMdlWriteComplete
FsRtlMdlWriteCompleteDev
FsRtlMupGetProviderIdFromName
FsRtlMupGetProviderInfoFromFileObject
FsRtlNormalizeNtstatus
FsRtlNotifyChangeDirectory
FsRtlNotifyCleanup
FsRtlNotifyCleanupAll
FsRtlNotifyFilterChangeDirectory
FsRtlNotifyFilterChangeDirectoryLite
FsRtlNotifyFilterReportChange
FsRtlNotifyFilterReportChangeLite
FsRtlNotifyFilterReportChangeLiteEx
FsRtlNotifyFullChangeDirectory
FsRtlNotifyFullReportChange
FsRtlNotifyInitializeSync
FsRtlNotifyReportChange
FsRtlNotifyUninitializeSync
FsRtlNotifyVolumeEvent
FsRtlNotifyVolumeEventEx
FsRtlNumberOfRunsInBaseMcb
FsRtlNumberOfRunsInLargeMcb
FsRtlNumberOfRunsInMcb
FsRtlOplockBreakH
FsRtlOplockBreakToNone
FsRtlOplockBreakToNoneEx
FsRtlOplockFsctrl
FsRtlOplockFsctrlEx
FsRtlOplockGetAnyBreakOwnerProcess
FsRtlOplockIsFastIoPossible
FsRtlOplockIsSharedRequest
FsRtlOplockKeysEqual
FsRtlPostPagingFileStackOverflow
FsRtlPostStackOverflow
FsRtlPrepareMdlWrite
FsRtlPrepareMdlWriteDev
FsRtlPrepareMdlWriteEx
FsRtlPrepareToReuseEcp
FsRtlPrivateLock
FsRtlProcessFileLock
FsRtlQueryCachedVdl
FsRtlQueryInformationFile
FsRtlQueryKernelEaFile
FsRtlQueryMaximumVirtualDiskNestingLevel
FsRtlRegisterFileSystemFilterCallbacks
FsRtlRegisterFltMgrCalls
FsRtlRegisterMupCalls
FsRtlRegisterUncProvider
FsRtlRegisterUncProviderEx
FsRtlRegisterUncProviderEx2
FsRtlReleaseEofLock
FsRtlReleaseFile
FsRtlReleaseFileNameInformation
FsRtlReleaseHeaderMutex
FsRtlRemoveBaseMcbEntry
FsRtlRemoveDotsFromPath
FsRtlRemoveExtraCreateParameter
FsRtlRemoveLargeMcbEntry
FsRtlRemoveMcbEntry
FsRtlRemovePerFileContext
FsRtlRemovePerFileObjectContext
FsRtlRemovePerStreamContext
FsRtlResetBaseMcb
FsRtlResetLargeMcb
FsRtlSendModernAppTermination
FsRtlSetDriverBacking
FsRtlSetEcpListIntoIrp
FsRtlSetKernelEaFile
FsRtlSplitBaseMcb
FsRtlSplitLargeMcb
FsRtlSyncVolumes
FsRtlTeardownPerFileContexts
FsRtlTeardownPerStreamContexts
FsRtlTruncateBaseMcb
FsRtlTruncateLargeMcb
FsRtlTruncateMcb
FsRtlTryToAcquireHeaderMutex
FsRtlUninitializeBaseMcb
FsRtlUninitializeFileLock
FsRtlUninitializeLargeMcb
FsRtlUninitializeMcb
FsRtlUninitializeOplock
FsRtlUpdateDiskCounters
FsRtlUpperOplockFsctrl
FsRtlValidateReparsePointBuffer
FsRtlVolumeDeviceToCorrelationId
fstatvfs@openssh.com
Fstring too long
fsync@openssh.com
fullChargeCapacity
FullChargeCapacityRatio
fullChargedCapacity
FullCommandLine
FullEnumeratedKey_ContainerPath
FullImageFileName
FullName
fullProcessImageName
fullScreen
FullScreen
- Full Support
fullWake
function
Function
FunctionEntry
FunctionExit
FunctionName
Function Not Found
Function not implemented
function not supported
fUseSavedCreds
FUxTheme.dll
FveAddAuthMethodInformation
FveAddTrustedWimData
FveCheckSuspendBitLockerOnUpgrade
FveCheckTpmCapability
FveCloseVolume
FveCommitChanges
FveDeleteAuthMethod
FveDetectTelemetry
FveDisableAuthenticationW
FVE_E_AAD_ENDPOINT_BUSY
FVE_E_ACTION_NOT_ALLOWED
FVE_E_AD_ATTR_NOT_SET
FVE_E_ADBACKUP_NOT_ENABLED
FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_FIXED_DRIVE
FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_OS_DRIVE
FVE_E_AD_BACKUP_REQUIRED_POLICY_NOT_SET_REMOVABLE_DRIVE
FVE_E_AD_GUID_NOT_FOUND
FVE_E_AD_INSUFFICIENT_BUFFER
FVE_E_AD_INVALID_DATASIZE
FVE_E_AD_INVALID_DATATYPE
FVE_E_AD_NO_VALUES
FVE_E_AD_SCHEMA_NOT_INSTALLED
FVE_E_AUTH_INVALID_APPLICATION
FVE_E_AUTH_INVALID_CONFIG
FVE_E_AUTOUNLOCK_ENABLED
FVE_E_BAD_DATA
FVE_E_BAD_INFORMATION
FVE_E_BAD_PARTITION_SIZE
FVE_E_BCD_APPLICATIONS_PATH_INCORRECT
FVE_E_BOOTABLE_CDDVD
FVE_E_BUFFER_TOO_LARGE
FVE_E_CANNOT_ENCRYPT_NO_KEY
FVE_E_CANNOT_SET_FVEK_ENCRYPTED
FVE_E_CANT_LOCK_AUTOUNLOCK_ENABLED_VOLUME
FVE_E_CLUSTERING_NOT_SUPPORTED
FVE_E_CONV_READ
FVE_E_CONV_RECOVERY_FAILED
FVE_E_CONV_WRITE
FVE_E_DEBUGGER_ENABLED
FVE_E_DE_DEVICE_LOCKEDOUT
FVE_E_DE_FIXED_DATA_NOT_SUPPORTED
FVE_E_DE_HARDWARE_NOT_COMPLIANT
FVE_E_DE_OS_VOLUME_NOT_PROTECTED
FVE_E_DE_PREVENTED_FOR_OS
FVE_E_DE_PROTECTION_NOT_YET_ENABLED
FVE_E_DE_PROTECTION_SUSPENDED
FVE_E_DEVICELOCKOUT_COUNTER_MISMATCH
FVE_E_DEVICE_LOCKOUT_COUNTER_UNAVAILABLE
FVE_E_DEVICE_NOT_JOINED
FVE_E_DE_VOLUME_NOT_SUPPORTED
FVE_E_DE_VOLUME_OPTED_OUT
FVE_E_DE_WINRE_NOT_CONFIGURED
FVE_E_DRY_RUN_FAILED
FVE_E_DV_NOT_ALLOWED_BY_GP
FVE_E_DV_NOT_SUPPORTED_ON_FS
FVE_E_EDRIVE_BAND_IN_USE
FVE_E_EDRIVE_DISALLOWED_BY_GP
FVE_E_EDRIVE_DRY_RUN_FAILED
FVE_E_EDRIVE_DV_NOT_SUPPORTED
FVE_E_EDRIVE_INCOMPATIBLE_FIRMWARE
FVE_E_EDRIVE_INCOMPATIBLE_VOLUME
FVE_E_EDRIVE_NO_FAILOVER_TO_SW
FVE_E_EFI_ONLY
FVE_E_ENH_PIN_INVALID
FVE_E_EOW_NOT_SUPPORTED_IN_VERSION
FVE_E_EXECUTE_REQUEST_SENT_TOO_SOON
FVE_E_FAILED_AUTHENTICATION
FVE_E_FAILED_SECTOR_SIZE
FVE_E_FAILED_WRONG_FS
FVE_E_FIPS_DISABLE_PROTECTION_NOT_ALLOWED
FVE_E_FIPS_HASH_KDF_NOT_ALLOWED
FVE_E_FIPS_PREVENTS_EXTERNAL_KEY_EXPORT
FVE_E_FIPS_PREVENTS_PASSPHRASE
FVE_E_FIPS_PREVENTS_RECOVERY_PASSWORD
FVE_E_FIPS_RNG_CHECK_FAILED
FVE_E_FIRMWARE_TYPE_NOT_SUPPORTED
FVE_E_FOREIGN_VOLUME
FVE_E_FS_MOUNTED
FVE_E_FS_NOT_EXTENDED
FVE_E_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE
FVE_E_HIDDEN_VOLUME
FVE_E_INVALID_BITLOCKER_OID
FVE_E_INVALID_DATUM_TYPE
FVE_E_INVALID_KEY_FORMAT
FVE_E_INVALID_NKP_CERT
FVE_E_INVALID_PASSWORD_FORMAT
FVE_E_INVALID_PIN_CHARS
FVE_E_INVALID_PIN_CHARS_DETAILED
FVE_E_INVALID_PROTECTOR_TYPE
FVE_E_INVALID_STARTUP_OPTIONS
FVE_E_KEYFILE_INVALID
FVE_E_KEYFILE_NOT_FOUND
FVE_E_KEYFILE_NO_VMK
FVE_E_KEY_LENGTH_NOT_SUPPORTED_BY_EDRIVE
FVE_E_KEY_PROTECTOR_NOT_SUPPORTED
FVE_E_KEY_REQUIRED
FVE_E_KEY_ROTATION_NOT_ENABLED
FVE_E_KEY_ROTATION_NOT_SUPPORTED
FVE_E_LIVEID_ACCOUNT_BLOCKED
FVE_E_LIVEID_ACCOUNT_SUSPENDED
FVE_E_LOCKED_VOLUME
FVE_E_MOR_FAILED
FVE_E_MULTIPLE_NKP_CERTS
FveEnableAuthenticationW
FVE_E_NO_AUTOUNLOCK_MASTER_KEY
FVE_E_NO_BOOTMGR_METRIC
FVE_E_NO_BOOTSECTOR_METRIC
FVE_E_NO_EXISTING_PASSPHRASE
FVE_E_NO_EXISTING_PIN
FVE_E_NO_FEATURE_LICENSE
FVE_E_NO_LICENSE
FVE_E_NO_MBR_METRIC
FVE_E_NON_BITLOCKER_KU
FVE_E_NON_BITLOCKER_OID
FVE_E_NO_PASSPHRASE_WITH_TPM
FVE_E_NO_PREBOOT_KEYBOARD_DETECTED
FVE_E_NO_PREBOOT_KEYBOARD_OR_WINRE_DETECTED
FVE_E_NO_PROTECTORS_TO_TEST
FVE_E_NO_SUCH_CAPABILITY_ON_TARGET
FVE_E_NOT_ACTIVATED
FVE_E_NOT_ALLOWED_IN_SAFE_MODE
FVE_E_NOT_ALLOWED_IN_VERSION
FVE_E_NOT_ALLOWED_ON_CLUSTER
FVE_E_NOT_ALLOWED_ON_CSV_STACK
FVE_E_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING
FVE_E_NOT_DATA_VOLUME
FVE_E_NOT_DECRYPTED
FVE_E_NOT_DE_VOLUME
FVE_E_NOT_ENCRYPTED
FVE_E_NOT_ON_STACK
FVE_E_NOT_OS_VOLUME
FVE_E_NO_TPM_BIOS
FVE_E_NO_TPM_WITH_PASSPHRASE
FVE_E_NOT_PROVISIONED_ON_ALL_VOLUMES
FVE_E_NOT_SUPPORTED
FVE_E_OPERATION_NOT_SUPPORTED_ON_VISTA_VOLUME
FVE_E_OS_NOT_PROTECTED
FVE_E_OSV_KSR_NOT_ALLOWED
FVE_E_OS_VOLUME_PASSPHRASE_NOT_ALLOWED
FVE_E_OVERLAPPED_UPDATE
FVE_E_PASSPHRASE_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED
FVE_E_PASSPHRASE_TOO_LONG
FVE_E_PIN_INVALID
FVE_E_PIN_PROTECTOR_CHANGE_BY_STD_USER_DISALLOWED
FVE_E_POLICY_CONFLICT_FDV_RK_OFF_AUK_ON
FVE_E_POLICY_CONFLICT_FDV_RP_OFF_ADB_ON
FVE_E_POLICY_CONFLICT_OSV_RP_OFF_ADB_ON
FVE_E_POLICY_CONFLICT_RDV_RK_OFF_AUK_ON
FVE_E_POLICY_CONFLICT_RDV_RP_OFF_ADB_ON
FVE_E_POLICY_CONFLICT_RO_AND_STARTUP_KEY_REQUIRED
FVE_E_POLICY_INVALID_ENHANCED_BCD_SETTINGS
FVE_E_POLICY_INVALID_PASSPHRASE_LENGTH
FVE_E_POLICY_INVALID_PIN_LENGTH
FVE_E_POLICY_PASSPHRASE_NOT_ALLOWED
FVE_E_POLICY_PASSPHRASE_REQUIRED
FVE_E_POLICY_PASSPHRASE_REQUIRES_ASCII
FVE_E_POLICY_PASSPHRASE_TOO_SIMPLE
FVE_E_POLICY_PASSWORD_REQUIRED
FVE_E_POLICY_PROHIBITS_SELFSIGNED
FVE_E_POLICY_RECOVERY_KEY_NOT_ALLOWED
FVE_E_POLICY_RECOVERY_KEY_REQUIRED
FVE_E_POLICY_RECOVERY_PASSWORD_NOT_ALLOWED
FVE_E_POLICY_RECOVERY_PASSWORD_REQUIRED
FVE_E_POLICY_REQUIRES_RECOVERY_PASSWORD_ON_TOUCH_DEVICE
FVE_E_POLICY_REQUIRES_STARTUP_PIN_ON_TOUCH_DEVICE
FVE_E_POLICY_STARTUP_KEY_NOT_ALLOWED
FVE_E_POLICY_STARTUP_KEY_REQUIRED
FVE_E_POLICY_STARTUP_PIN_KEY_NOT_ALLOWED
FVE_E_POLICY_STARTUP_PIN_KEY_REQUIRED
FVE_E_POLICY_STARTUP_PIN_NOT_ALLOWED
FVE_E_POLICY_STARTUP_PIN_REQUIRED
FVE_E_POLICY_STARTUP_TPM_NOT_ALLOWED
FVE_E_POLICY_STARTUP_TPM_REQUIRED
FVE_E_POLICY_USER_CERTIFICATE_NOT_ALLOWED
FVE_E_POLICY_USER_CERTIFICATE_REQUIRED
FVE_E_POLICY_USER_CERT_MUST_BE_HW
FVE_E_POLICY_USER_CONFIGURE_FDV_AUTOUNLOCK_NOT_ALLOWED
FVE_E_POLICY_USER_CONFIGURE_RDV_AUTOUNLOCK_NOT_ALLOWED
FVE_E_POLICY_USER_CONFIGURE_RDV_NOT_ALLOWED
FVE_E_POLICY_USER_DISABLE_RDV_NOT_ALLOWED
FVE_E_POLICY_USER_ENABLE_RDV_NOT_ALLOWED
FVE_E_PREDICTED_TPM_PROTECTOR_NOT_SUPPORTED
FVE_E_PRIVATEKEY_AUTH_FAILED
FVE_E_PROTECTION_CANNOT_BE_DISABLED
FVE_E_PROTECTION_DISABLED
FVE_E_PROTECTOR_CHANGE_MAX_PASSPHRASE_CHANGE_ATTEMPTS_REACHED
FVE_E_PROTECTOR_CHANGE_MAX_PIN_CHANGE_ATTEMPTS_REACHED
FVE_E_PROTECTOR_CHANGE_PASSPHRASE_MISMATCH
FVE_E_PROTECTOR_CHANGE_PIN_MISMATCH
FVE_E_PROTECTOR_EXISTS
FVE_E_PROTECTOR_NOT_FOUND
FVE_E_PUBKEY_NOT_ALLOWED
FVE_E_RAW_ACCESS
FVE_E_RAW_BLOCKED
FVE_E_REBOOT_REQUIRED
FVE_E_RECOVERY_KEY_REQUIRED
FVE_E_RECOVERY_PARTITION
FVE_E_RELATIVE_PATH
FVE_E_REMOVAL_OF_DRA_FAILED
FVE_E_REMOVAL_OF_NKP_FAILED
FVE_E_SECUREBOOT_CONFIGURATION_INVALID
FVE_E_SECUREBOOT_DISABLED
FVE_E_SECURE_KEY_REQUIRED
FVE_E_SETUP_TPM_CALLBACK_NOT_SUPPORTED
FVE_E_SHADOW_COPY_PRESENT
FVE_E_SYSTEM_VOLUME
FVE_E_TOKEN_NOT_IMPERSONATED
FVE_E_TOO_SMALL
FVE_E_TPM_CONTEXT_SETUP_NOT_SUPPORTED
FVE_E_TPM_DISABLED
FVE_E_TPM_INVALID_PCR
FVE_E_TPM_NOT_OWNED
FVE_E_TPM_NO_VMK
FVE_E_TPM_SRK_AUTH_NOT_ZERO
FVE_E_TRANSIENT_STATE
FVE_E_UPDATE_INVALID_CONFIG
FVE_E_VIRTUALIZED_SPACE_TOO_BIG
FVE_E_VOLUME_BOUND_ALREADY
FVE_E_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT
FVE_E_VOLUME_HANDLE_OPEN
FVE_E_VOLUME_NOT_BOUND
FVE_E_VOLUME_TOO_SMALL
FVE_E_WIPE_CANCEL_NOT_APPLICABLE
FVE_E_WIPE_NOT_ALLOWED_ON_TP_STORAGE
FVE_E_WRONG_BOOTMGR
FVE_E_WRONG_BOOTSECTOR
FVE_E_WRONG_SYSTEM_FS
-FVE-FS-
FveGetAuthMethodInformation
FveGetSecureBootBindingState
FveGetStatus
FveGetStatusBasicW
FveGetStatusW
FveOpenVolumeW
FveQueryDeviceEncryptionSupport
FveRemoveTrustedWimData
FveSetFipsAllowDisabled
FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER
FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER
FWP_E_ALREADY_EXISTS
FWP_E_BUILTIN_OBJECT
FWP_E_CALLOUT_NOT_FOUND
FWP_E_CALLOUT_NOTIFICATION_FAILED
FWP_E_CONDITION_NOT_FOUND
FWP_E_CONNECTIONS_DISABLED
FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT
FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER
FWP_E_DROP_NOICMP
FWP_E_DUPLICATE_AUTH_METHOD
FWP_E_DUPLICATE_CONDITION
FWP_E_DUPLICATE_KEYMOD
FWP_E_DYNAMIC_SESSION_IN_PROGRESS
FWP_E_EM_NOT_SUPPORTED
FWP_E_FILTER_NOT_FOUND
FWP_E_IKEEXT_NOT_RUNNING
FWP_E_INCOMPATIBLE_AUTH_METHOD
FWP_E_INCOMPATIBLE_CIPHER_TRANSFORM
FWP_E_INCOMPATIBLE_DH_GROUP
FWP_E_INCOMPATIBLE_LAYER
FWP_E_INCOMPATIBLE_SA_STATE
FWP_E_INCOMPATIBLE_TXN
FWP_E_IN_USE
FWP_E_INVALID_ACTION_TYPE
FWP_E_INVALID_AUTH_TRANSFORM
FWP_E_INVALID_CIPHER_TRANSFORM
FWP_E_INVALID_DNS_NAME
FWP_E_INVALID_ENUMERATOR
FWP_E_INVALID_FLAGS
FWP_E_INVALID_INTERVAL
FWP_E_INVALID_NET_MASK
FWP_E_INVALID_PARAMETER
FWP_E_INVALID_RANGE
FWP_E_INVALID_TRANSFORM_COMBINATION
FWP_E_INVALID_TUNNEL_ENDPOINT
FWP_E_INVALID_WEIGHT
FWP_E_KEY_DICTATION_INVALID_KEYING_MATERIAL
FWP_E_KEY_DICTATOR_ALREADY_REGISTERED
FWP_E_KM_CLIENTS_ONLY
FWP_E_L2_DRIVER_NOT_READY
FWP_E_LAYER_NOT_FOUND
FWP_E_LIFETIME_MISMATCH
FWP_E_MATCH_TYPE_MISMATCH
FWP_E_NET_EVENTS_DISABLED
FWP_E_NEVER_MATCH
FWP_E_NOT_FOUND
FWP_E_NOTIFICATION_DROPPED
FWP_E_NO_TXN_IN_PROGRESS
FWP_E_NULL_DISPLAY_NAME
FWP_E_NULL_POINTER
FWP_E_OUT_OF_BOUNDS
FWP_E_PROVIDER_CONTEXT_MISMATCH
FWP_E_PROVIDER_CONTEXT_NOT_FOUND
FWP_E_PROVIDER_NOT_FOUND
FWP_E_RESERVED
FWP_E_SESSION_ABORTED
FWP_E_STILL_ON
FWP_E_SUBLAYER_NOT_FOUND
FWP_E_TIMEOUT
FWP_E_TOO_MANY_CALLOUTS
FWP_E_TOO_MANY_SUBLAYERS
FWP_E_TRAFFIC_MISMATCH
FWP_E_TXN_ABORTED
FWP_E_TXN_IN_PROGRESS
FWP_E_TYPE_MISMATCH
FWP_E_WRONG_SESSION
FWP_E_ZERO_LENGTH_ARRAY
fwprintf
fwwvffff
FW|yOcYL
FxA;F|skH
fYQHeXNG
gatewayports
()--.??GC?
GCN_E_DEFAULTNAMESPACE_EXISTS
GCN_E_MODULE_NOT_FOUND
GCN_E_NETADAPTER_NOT_FOUND
GCN_E_NETADAPTER_TIMEOUT
GCN_E_NETCOMPARTMENT_NOT_FOUND
GCN_E_NETINTERFACE_NOT_FOUND
GCN_E_NO_REQUEST_HANDLERS
GCN_E_REQUEST_UNSUPPORTED
GCN_E_RUNTIMEKEYS_FAILED
Gcuuuuuuwuwuwwwwac
GDDR3_BGA136
GDDR3_BGA144
GDI32.dll
GdiAlphaBlend
GdiGradientFill
GdiOnTime
GdipAddPathArcI
GdipAddPathBezierI
GdipAddPathEllipseI
GdipAddPathLine2I
GdipAddPathLineI
GdipAlloc
GdipBitmapLockBits
GdipBitmapSetPixel
GdipBitmapSetResolution
GdipBitmapUnlockBits
GdipCloneBrush
GdipCloneImage
GdipCloneMatrix
GdipClonePath
GdipCreateBitmapFromFile
GdipCreateBitmapFromGdiDib
GdipCreateBitmapFromHBITMAP
GdipCreateBitmapFromHICON
GdipCreateBitmapFromScan0
GdipCreateFromHDC
GdipCreateHBITMAPFromBitmap
GdipCreateImageAttributes
GdipCreateMatrix
GdipCreateMatrix2
GdipCreatePath
GdipCreatePen1
GdipCreatePen2
GdipCreateRegion
GdipCreateRegionPath
GdipCreateRegionRectI
GdipCreateSolidFill
GdipCreateTexture
GdipDeleteBrush
GdipDeleteGraphics
GdipDeleteMatrix
GdipDeletePath
GdipDeletePen
GdipDeleteRegion
GdipDisposeImage
GdipDisposeImageAttributes
GdipDrawImageI
GdipDrawImagePointRectI
GdipDrawImagePointsI
GdipDrawImageRectRectI
GdipDrawLineI
GdipDrawLinesI
GdipDrawPath
GdipDrawPolygonI
GdipDrawRectangleI
GdipFillPolygonI
GdipFillRectangleI
GdipFillRegion
GdipFlattenPath
GdipFree
GdipGetAllPropertyItems
GdipGetClipBoundsI
GdipGetCompositingMode
GdipGetImageDecoders
GdipGetImageDecodersSize
GdipGetImageEncoders
GdipGetImageEncodersSize
GdipGetImageGraphicsContext
GdipGetImageHeight
GdipGetImagePixelFormat
GdipGetImageRawFormat
GdipGetImageWidth
GdipGetMatrixElements
GdipGetPathPointsI
GdipGetPointCount
GdipGetPropertyItem
GdipGetPropertyItemSize
GdipGetPropertySize
GdipGetRegionBoundsI
GdipGetSmoothingMode
GdipGetTextureImage
GdipGetTextureWrapMode
GdipGetWorldTransform
GdipGraphicsClear
GdipImageRotateFlip
GdipIsMatrixIdentity
gdiplus.dll
GdiplusShutdown
GdiplusStartup
GdipMultiplyMatrix
GdipRotateMatrix
GdipSaveImageToFile
GdipSaveImageToStream
GdipScaleMatrix
GdipSetClipRectI
GdipSetClipRegion
GdipSetCompositingMode
GdipSetImageAttributesColorMatrix
GdipSetMatrixElements
GdipSetPenBrushFill
GdipSetPenEndCap
GdipSetPenLineJoin
GdipSetPenStartCap
GdipSetPenWidth
GdipSetPropertyItem
GdipSetSmoothingMode
GdipSetSolidFillColor
GdipSetTextureTransform
GdipSetTextureWrapMode
GdipSetWorldTransform
GdipTransformMatrixPoints
GdipTransformMatrixPointsI
GdipTranslateMatrix
GdipTranslateTextureTransform
GdipVectorTransformMatrixPoints
GeForce RTX
.gehcont
G|;EHtQeH
general failure
GenerateAadClientAlertXml
GenerateActionQueue
GenerateCertId
GenerateClientAlertXml
GenerateClientHeaderAlert
GenerateDeclaredConfigurationAlertXml
GenerateErrorDumps
GenerateFirstSyncAlertXml
GenerateFirstSyncDuringOdjAlertXml
GenerateIptSecondaryData
generateIptSecondaryDataDuration_ms
GenerateNewNonce
GenerateRequestPendingAlertXml
GenerateSessionAbortAlert
GenerateSessionActionsCustomAlert
GenerateSslClientCertReference
generationId
GenericDialogDisplayed
GenericLogEvent
GenericMitigationForProcess
GenericMonitor
GenuineIntel
Geographic position
?GetAccessibleImpl@Element@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDElement@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDHost@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
GetAce() failed
GetAclInformation
GetActiveWindow
GetAdaptersAddresses
getaddrinfo
GetAddrInfoExW
getaddrinfo: no addrs
GetAddrInfoW
?GetAdjacent@Element@DirectUI@@UEAAPEAV12@PEAV12@HPEBUNavReference@2@K@Z
GetAdvancedActivationProxySetting
get_AdvancedSettings2 failed!
get_AdvancedSettings9 failed!
get [-afpR] remote [local]         Download file
GetAncestor
GetAndSetClientVersionHeaders failed
GetAppContainerRegistryLocation
GetAppSecurityCertificate
GetAsyncKeyState
GetAuthenticationPackageId failed!
?get_BoundingRectangle@ElementProvider@DirectUI@@UEAAJPEAUUiaRect@@@Z
GetBrushOrgEx
?GetByClassIndex@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
GetCampaignContentLocation
GetCanonicalName failed
GetCanonicalServerName failed!
GetCapture
GetCaretPos
GetCertificate
GetCertificateChainContext failed
GetCertificate failed
GetCertificateThumbPrint failed
?GetChildren@ClassInfoBase@DirectUI@@UEBAHXZ
?GetClass@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
GetClassInfoExW
?GetClassInfoPtr@CCBase@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Combobox@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Edit@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Element@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDElement@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDHost@DirectUI@@SAPEAUIClassInfo@2@XZ
GetClassInfoW
?GetClassInfoW@CCBase@DirectUI@@UEAAPEAUIClassInfo@2@XZ
?GetClassInfoW@CCListView@DirectUI@@UEAAPEAUIClassInfo@2@XZ
?GetClassInfoW@HWNDElement@DirectUI@@UEAAPEAUIClassInfo@2@XZ
?GetClassInfoW@HWNDHost@DirectUI@@UEAAPEAUIClassInfo@2@XZ
GetClassNameW
GetClientIdentifier failed!
GetClientOS failed!
GetClientPath failed!
GetClientRect
GetClientVersion failed!
GetClientVersionInfoForHttpHeader failed!
GetClipboardData
get_Clipboard failed!
GetComboBoxInfo
GetCommandLineA
GetCommandLineW
GetComponentsAndUtilityForTempPackage failed
GetComputerNameExW
GetComputerNameW
get_Connected failed
GetConsoleCP
GetConsoleCursorInfo
GetConsoleMode
GetConsoleOutputCP
GetConsoleScreenBufferInfo
?GetContentSize@Combobox@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentSize@Edit@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentSize@Element@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentStringAsDisplayed@Edit@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentStringAsDisplayed@Element@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentString@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
--getcontrol
--getcounters
GetCPInfo
GetCredForBasic
GetCredForHmac
GetCredForMd5
GetCurrentActCtx
GetCurrentDirectoryW
GetCurrentInputMessageSource
GetCurrentObject
GetCurrentPackageFamilyName
GetCurrentProcess
GetCurrentProcessId
GetCurrentThemeName
GetCurrentThread
GetCurrentThreadCompartmentId
GetCurrentThreadId
GetCurrentUserSid
GetCursorInfo
GetCursorPos
get_custom_lsa_package
?GetData@CHString@@IEBAPEAUCHStringData@@XZ
GetDataFromServer
GetDateFormatEx
GetDateFormat Failed
GetDateFormatW
get_decode_stat
get_decode_statvfs
GetDesktopWindow
get_DeviceById
GetDeviceCaps
GetDevInfoData
GetDialogBaseUnits
GetDIBColorTable
GetDIBits
GetDiskFreeSpaceExW
GetDiskFreeSpaceW
GetDlgCtrlID
GetDlgItem
GetDlgItemInt
GetDlgItemText failed!
GetDlgItemTextW
GetDoubleClickTime
GetDpiForMonitor
GetDpiForShellUIComponent
GetDpiForSystem
GetDpiForWindow
GetDriveTypeW
GetEffectiveAuthMode
GetEffectiveAuthMode failed!
GetEffectiveServerName failed!
GetEffectiveSettings
?GetElement@ElementProvider@DirectUI@@UEAAPEDVElement@2@XZ
?GetElementProviderImpl@Element@DirectUI@@UEAAJPEAVInvokeHelper@2@PEAPEAVElementProvider@2@@Z
?GetEmbeddedFragmentRoots@ElementProvider@DirectUI@@UEAAJPEAPEAUtagSAFEARRAY@@@Z
GetEnrollmentAadResourceUrl
GetEnrollmentAadSendDeviceToken
GetEnrollmentCertStore
GetEnrollmentClientCertThumbprint
GetEnrollmentForceAadToken
GetEnrollmentPartnerOpaqueID
GetEnrollmentSID
GetEnrollmentType
GetEnumString
GetEnvironmentStrings
GetEnvironmentStringsW
GetEnvironmentVariableA
GetEnvironmentVariableW
GetErrorDescription failed
GetErrorMode
GetExitCodeProcess
GetExitCodeThread
?GetFactoryLock@Element@DirectUI@@SAPEAU_RTL_CRITICAL_SECTION@@XZ
GetFeedFilePath failed
GetFileAttributesExW
GetFileAttributesW
GetFileInformationByHandle
GetFileInformationByHandleEx
GetFileSize
GetFileSizeEx
GetFileTime
GetFileTitleW
GetFileType
GetFileVersionInfo!
GetFileVersionInfoExW
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
GetFinalPathNameByHandleW
GetFirmwareType
GetFirstSslClientCertStore
GetFocus
GetForegroundWindow
?get_FragmentRoot@ElementProvider@DirectUI@@UEAAJPEAPEAUIRawElementProviderFragmentRoot@@@Z
GetFullPathNameW
GetGadgetFocus
?GetGlobalIndex@ClassInfoBase@DirectUI@@UEBAIXZ
GetGUIThreadInfo
get_handle
GetHeader
GetHGlobalFromStream
get_hostfile_hostname_ipaddr
?get_HostRawElementProvider@ElementProvider@DirectUI@@UEAAJPEAPEAUIRawElementProviderSimple@@@Z
GetHttpHeaderFromResponse(WINHTTP_QUERY_CONTENT_TYPE) failed
GetHttpHeaderFromResponse(WINHTTP_QUERY_ETAG) failed
?GetHWND@HWNDElement@DirectUI@@UEAAPEAUHWND__@@XZ
?GetHWND@HWNDHost@DirectUI@@UEAAPEAUHWND__@@XZ
GetIconFilePath failed
GetIconInfo
?GetImmersiveFocusRectOffsets@Element@DirectUI@@UEAAXPEAUtagRECT@@@Z
GetINetCfg
GetINetCfgResult
GetInterface for ITSRdpCertSignature failed
GetInterface for ITSRdpSignature failed
GetInterface for IUnknown failed
?GetInvokeHelper@InvokeManager@DirectUI@@SAJPEAPEAVInvokeHelper@2@@Z
GetItem failed
GetItem failed!
GetKeyboardLayout
?GetKeyFocused@Element@DirectUI@@UEAA_NXZ
?GetKeyFocusedElement@HWNDElement@DirectUI@@SAPEAVElement@2@XZ
?GetKeyFocused@HWNDHost@DirectUI@@UEAA_NXZ
GetKeyState
GetLastActivePopup
GetLastError
GetLayout
GetLengthSid
GetLocaleInfoA
GetLocaleInfoEx
GetLocaleInfoW
get_local_name
GetLocalTime
GetLogicalDrives
GetLogicalDriveStringsW
GetLongPathNameW
__getmainargs
GetManagementServerAddressList
GetMenuDefaultItem
GetMenuInfo
GetMenuItemCount
GetMenuItemInfoW
GetMessageExtraInfo
GetMessageW
?GetModule@ClassInfoBase@DirectUI@@UEBAPEAUHINSTANCE__@@XZ
GetModuleFileNameA
GetModuleFileNameW
GetModuleHandleA
GetModuleHandleExA
GetModuleHandleExW
GetModuleHandleW
GetMonitorCount failed
GetMonitorDevNum failed
GetMonitorInfoA
GetMonitorInfoW
GetMsdtTempPath
get_msg_extended
GetMSRDCWFileVersion Failed !
GetMtsAppIdentity failed
?GetMultiline@Edit@DirectUI@@QEAA_NXZ
?GetName@ClassInfoBase@DirectUI@@UEBAPEBGXZ
GetNamedAttributeValue failed
GetNamedAttributeValue failed for Hosting Server attribute
GetNamedAttributeValue failed for ResourceFile FileExtension attribute
GetNamedAttributeValue failed for ResourceFile URL attribute
GetNamedAttributeValue for Publisher Name failed.
GetNamedAttributeValue for resource Alias attribute failed
GetNamedAttributeValue for resource ID attribute failed
GetNamedAttributeValue for resource Title attribute failed
GetNamedAttributeValue for resource Type attribute failed
GetNamedAttributeValue for TenantFeedURL ConsentStatus attribute failed
GetNamedAttributeValue for TenantFeedURL ContactEmail attribute failed
GetNamedAttributeValue for TenantFeedURL demo attribute failed
GetNamedAttributeValue for TenantFeedURL FeedURL attribute failed
GetNamedAttributeValue for TenantFeedURL TenantDefaultDomain attribute failed
GetNamedAttributeValue for TenantFeedURL TenantDisplayName attribute failed
GetNamedAttributeValue for TenantFeedURL TenantId attribute failed
GetNamedAttributeValue for TenantFeedURL WorkspaceName attribute failed
GetNamedAttributeValue for UserIdType failed.
GetNamedAttributeValue for Workspace ID failed.
GetNamedPipeClientProcessId
GetNamedSecurityInfoW
getnameinfo
GetNameInfoW
GetNativeSystemInfo
GetNcpSecretKey
GetNearestColor
GetNearestPaletteIndex
GetNextSslClientCertStore
GetNodeData
GetNonce
_GetNtImageHeader
GetNumberFormatEx
GetNumberFormatW
GetNumberOfConsoleInputEvents
GetObjectFromCollection (clsid in temp collection) failed:  object was not found
GetObjectFromCollection failed:  component skipped
GetObjectFromCollection failed to get package from package collection
GetObjectFromCollection failed to get the interface object from the collection
GetObjectFromCollection (looking for temporary package) failed
GetObjectFromCollection (Package from PackageCollection) failed
GetObjectFromCollection returned false:  should never print this - impossible error
GetObjectW
GetOEMCP
GetOpenFileNameW
_get_osfhandle
GetOverlappedResult
GetPaletteEntries
GetParent
get_passwd
getpeereid
GetPersistedRegistryLocationW
GetPhysicallyInstalledSystemMemory
?GetPICount@ClassInfoBase@DirectUI@@UEBAIXZ
GetPixel
GetPointerDevice
GetPointerDevices
GetPointerFrameInfoHistory
GetPointerInfo
GetPooledObject(CTSBufferResult) failed
GetPortMappingCount failed!
GetPrinterA
GetPrinterDriverA
GetPrinterDriverW
GetPrivateProfileIntW
GetPrivateProfileSectionW
GetPrivateProfileStringW
GetProcAddress
GetProcessDpiAwareness
GetProcessHeap
GetProcessId
GetProcessMitigationPolicy
GetProcessWindowStation
GetProductInfo
GetProfileStringW
GetProfileType
GetPromptTextId failed!
?GetProperty@ElementProxy@DirectUI@@IEAAJPEAUtagVARIANT@@H@Z
get_Property (UTREG_UI_SELECTED_MONITORS) failed
get_Property(UTREG_UI_ZOOM_LEVEL) failed!
?GetPropertyValue@ElementProvider@DirectUI@@UEAAJHPEAUtagVARIANT@@@Z
GetPropW
GetProviderInstanceHelper failed
?get_ProviderOptions@ElementProvider@DirectUI@@UEAAJPEAW4ProviderOptions@@@Z
GetProxyConfig failed
get_ProxyIsSupported failed!
GetProxyPasswordCch failed!
GetPurposeApn
GetQueuedCompletionStatus
GetRawInputDeviceInfoW
GetRegistrySection failed
?GetRegNodeDispenser@@YAJPEAPEAUIRegNodeDispenser@@@Z
GetRegNodeFromRegistry failed (Microsoft key) 
GetRegNodeFromRegistry (Microsoft key) failed
get_RemoteMonitorCount failed!
get_RemoteMonitorLayoutMatchesLocal failed!
GetRemoteMonitorsBoundingBox failed
get_RemoteProgram3 failed
get_RemoteProgram3 failed!
GetResolutionsRunHelper
GetResourceFilePath failed
GetResourceString
GetRestrictedErrorInfo
GetRgnBox
?GetRoot@Element@DirectUI@@QEAAPEAV12@XZ
getrrsetbyname
GetRunningObjectTable
?GetRuntimeId@ElementProvider@DirectUI@@UEAAJPEAPEAUtagSAFEARRAY@@@Z
GetSaveFileNameW
GetScaleFactorForMonitor
get_SecuredSettings3 failed!
GetSecureIdentitySigningKey
GetSecurityAdmin failed
GetSecurityDescriptorDacl
GetSecurityDescriptorLength
GetSelectedCredentials failed!
GetSelectedMonitorRegion failed
?GetSelection@Combobox@DirectUI@@QEAAHXZ
GetServerNameFromFullAddress failed!
GetServerNamePortion failed!
GetServerPortion failed!
GetServiceDisplayNameW
GetServiceKeyNameW
GetSessionTemporaryPath
GetShadowInvitation failed
?GetSheet@DUIXmlParser@DirectUI@@QEAAJPEBGPEAPEAVValue@2@@Z
GetShellWindow
GetShortPathNameW
GetSidLengthRequired
GetSidSubAuthority
GetSidSubAuthorityCount
GetSignedReport
get_socket_address
GetSocketErrorMessageW
getsockopt SO_ERROR failed
get_sock_port
GetSpaceNeededForWinPE
GetSslClientCert
GetSslClientCertReference
GetStartupInfoA
GetStartupInfoW
get_status
GetStatusText failed
GetStdHandle
GetStockObject
GetStringTypeA
GetStringTypeExW
GetStringTypeW
GetSubMenu
GetSysColor
GetSysColorBrush
GetSystemDefaultLangID
GetSystemDefaultLocaleName
GetSystemDefaultUILanguage
GetSystemDirectoryA
GetSystemDirectory failed
GetSystemDirectoryW
GetSystemInfo
GetSystemMenu
GetSystemMetrics
GetSystemMetricsForDpi
GetSystemTime
GetSystemTimeAsFileTime
GetSystemTimePreciseAsFileTime
GetSystemWindowsDirectoryA
GetSystemWindowsDirectoryW
GetSystemWow64DirectoryW
GetTaggedData
GetTaggedDataSize
GetTargetForExtednedCredential failed
GetTargetUserSid
GetTempDirectory failed
GetTempFileName failed
GetTempFileNameW
GetTemporaryFileName
GetTempPathW
--get-test-cmd-1
--get-test-cmd-2
--get-test-cmd-3
GetTextAlign
GetTextExtentPoint32W
GetTextFaceW
GetTextFromNode
GetTextMetricsW
GetThemeColor
?GetThemedBorder@Edit@DirectUI@@QEAA_NXZ
GetThemeFont
GetThreadDesktop
GetThreadDpiAwarenessContext
GetThreadLocale
GetThreadPreferredUILanguages
GetThreadUILanguage
--getthroughput
GetTickCount
GetTickCount64
GetTimeFormatEx
GetTimeFormat Failed
GetTimeFormatW
GetTimestamp
GetTimeZoneInformation
Getting auto restart countdown minutes failed
Getting counter control is deprecated!
Getting counters using option -g is deprecated. 
Getting the mtstocom.exe module name failed
Getting thread id failed
GetTitleBarInfo
GetTokenInformation
GetTouchInputInfo
GetTpmBindingInfo
GetTraceEnableFlags
GetTraceEnableLevel
GetTraceLoggerHandle
GetTransportPerfMonSession failed. Perfmon counter sill not be available
get_TransportSettings failed!
?GetUIAElementProvider@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?GetUiaFocusDelegate@Element@DirectUI@@UEAAPEAV12@XZ
GetUpdateRect
GetUpdatesFromControl failed!
GetUserDefaultLCID
GetUserDefaultLocaleName
GetUserDefaultUILanguage
GetUserGeoID
GetUserNameExW
GetUserNameW
GetUserObjectInformationA
GetUserObjectInformationW
GetUserPermission
GetUserPreferredUILanguages
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@P6APEBUPropertyInfo@2@XZHPEAUUpdateCache@2@@Z
GetVariable
GetVersion
GetVersionExA
GetVersionExW
GetVolumeInformationByHandleW
GetVolumeInformationW
GetVolumePathNameW
GetWindow
?GetWindowClassNameAndStyle@HWNDElement@DirectUI@@UEAAXPEAPEBGPEAI@Z
GetWindowDC
GetWindowDC failed
GetWindowDpiAwarenessContext
GetWindowInfo
GetWindowLongPtrW
GetWindowLongW
GetWindowMinimizeRect
GetWindowPlacement
GetWindowRect
GetWindowRgn
GetWindowsDirectoryA
GetWindowsDirectoryA failed
GetWindowsDirectoryW
GetWindowTextLengthW
GetWindowTextW
GetWindowThreadProcessId
GetWorkspaceFileStorageRoot failed
GetWriteLock
GetXdvDDIWrappers
GetXdvDriverEntryWrappers
GetXMLDOMDocument failed
GeZ2'RZq
G(fE9wBtZI
gfffffff
gfffffffH
gfffffffH;
gfffffffI
gfffffffL
gfffffffM
GfgCRDPENCORESessionContext
G'gfvgf(h
ggggggggggggggggggggg
G@H9F@u7
G@H9F@uj
G(H9G tYH
gH9Y8tMH
G(HcG0H;G
GhD8gDt"I
GHH9FHutH
GhostCount
G I9A8u	
g	?Initialize@HWNDElement@DirectUI@@QEAAJPEAUHWND__@@_NIPEAVElement@2@PEAK@Z
GLD#G|L#
GLD#O|L#
GlobalAddAtomW
GlobalAlloc
globalBatteryCount
GlobalCollection
GlobalDeleteAtom
GlobalFree
GlobalHandle
globalknownhostsfile
globalknownhostsfile2
GlobalLock
GlobalMemoryStatus
GlobalMemoryStatusEx
GlobalReAlloc
GlobalSettingsInventory
GlobalSize
GlobalUnlock
Global version of the infoROM image. Image version just like VBIOS version uniquely describes the exact version of the infoROM flashed on the board in contrast to infoROM object version which is only an indicator of supported features.
gmFFwF-S
GOM allows to reduce power usage and optimize GPU throughput by disabling GPU features. Each GOM is designed to meet specific user needs.
GOM can be changed with the (--gom) flag.
gom.current
gom.pending
Got answer:
G ;o(tEH
got SSH2_MSG_KEX_DH_GEX_GROUP
got SSH2_MSG_KEX_DH_GEX_REPLY
GPCSTATUS
GPH3OXH3
GPIO_CONTROLLER_DRIVER_ERROR
GPU access blocked by the operating system
| GPU Boost Slider                                |
gpu_bus_id
| GPU compute policies:               |
GPU Current Temp
GPU device ID. Provide comma
GPU device ID's. Provide comma
| GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
GPU Index from packet is beyond the Max number of GPUs supported
gpu_instance_id
GPU Instance ID
GPU Instance Profile ID
GPU is lost
GPU is lost.  Reboot the system to recover this GPU
        GPU Link Info
GPU Max Operating Temp
GPUMGR_BUFFER_TOO_SMALL
GPUMGR_OBJECT_NOT_FOUND
gpu_module_id
gpu_name
| GPU  Name                       | Bus-Id                       | GPU-Util   |
| GPU     Name           Value        |
GPU_OFF_BUS
    GPU Operation Mode
gpu_operation_mode.current
gpu_operation_mode.pending
gpu_part_number
GPU Part Number
| GPU    Power      Graphics      Memory      Temperature    Profile           |
| GPU Power Hint                                                               |
GPU_REGS
GPU requires reset
GPU_RESET
GpuSampleType
gpu_serial
GPU Shutdown Temp
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_0
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_1
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_2
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_3
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_4
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_5
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_6
GPU_SIGNAL_INFO_SIGNAL_TYPE_CSB_PM_CADDR_WAIT_7
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_0
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_1
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_2
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_3
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_4
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_5
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_6
GPU_SIGNAL_INFO_SIGNAL_TYPE_ZTLF_PM_ZADDR_WAIT_7
| GPU     Slider       Max Value    Current Value |
GPU Slowdown Temp
    GPU statistics are displayed in scrolling format with one line
gpu_target_temperature
GPU Target Temperature
gpu_target_temp_max
gpu_target_temp_min
gpu_temp
gpu_temp_max_gpu_threshold
gpu_temp_max_mem_threshold
gpu_temp_max_threshold
gpu_temp_slow_threshold
gpu_util
gpu_utilization
GPU Utilization
    GPU Utilization Samples
gpu_uuid
GPU UUID
    GPU Virtualization Mode
Grace Deadline enabled by test hook
Grace Deadline Policy is applicable:
Grace deadline policy is not applicable
Grace deadline policy is not applicable so grace deadline policy state is not calculated!
GraceDeadlineReboot
Grace deadline reboot after the deadline: Schedule forcedreboot
Grace deadline reboot: Auto reboot allowed for scheduling
Grace deadline reboot: Before the deadline
Grace deadline reboot before the deadline: Schedule reboot
Grace deadline reboot: Deadline is approaching
Grace deadline reboot: Device is not past deadline so rescheduling again.
Grace deadline reboot: Device is past deadline so rescheduling again.
Grace deadline reboot: Find next escalation window 
Grace deadline reboot: get next active hours start time
Grace deadline reboot: get next reboot time
Grace deadline reboot: next reboot schedule is in the final escalation window
Grace deadline reboot: next reboot schedule is past deadline
Grace deadline reboot: on engage reboot reminder
Grace deadline reboot: on force reboot device
Grace deadline reboot: on force reboot retry
Grace deadline reboot: on logon reboot dialog
Grace deadline reboot: on reboot dialog
Grace deadline reboot : Process reboot failed scenario
Grace deadline reboot: Process reboot mode
Grace deadline reboot: reboot device
Grace deadline reboot: reboot or reminder? which comes first
Grace deadline reboot: schedule auto reboot
Grace deadline reboot: schedule engage reminder
Grace deadline reboot: show update results
Grace deadline state:
Grace deadline state set by test hook:
Grace deadline state set on this device: 
gracePeriodEligible
gracePeriodInDaysForFU
gracePeriodInDaysForNonFU
GracePolicy deadline is set
graphics
		Graphics:
Graphics
--graphics-clock
graphics_clock
Graphics Clock
	Graphics: 	Not Supported
    graphics processes running on each device. Metrics to be monitored
graphics_volt
GR_ERR_TYP
GR_ERR_TYP_UNKNOWN
GR_EXCPTN_SUBTYP
GR_EXCPTN_SUBTYP_BE_CROP
GR_EXCPTN_SUBTYP_BE_ZROP
GR_EXCPTN_SUBTYP_DS_SPH0_ERR
GR_EXCPTN_SUBTYP_DS_SPH10_ERR
GR_EXCPTN_SUBTYP_DS_SPH11_ERR
GR_EXCPTN_SUBTYP_DS_SPH12_ERR
GR_EXCPTN_SUBTYP_DS_SPH13_ERR
GR_EXCPTN_SUBTYP_DS_SPH14_ERR
GR_EXCPTN_SUBTYP_DS_SPH15_ERR
GR_EXCPTN_SUBTYP_DS_SPH16_ERR
GR_EXCPTN_SUBTYP_DS_SPH17_ERR
GR_EXCPTN_SUBTYP_DS_SPH18_ERR
GR_EXCPTN_SUBTYP_DS_SPH19_ERR
GR_EXCPTN_SUBTYP_DS_SPH1_ERR
GR_EXCPTN_SUBTYP_DS_SPH20_ERR
GR_EXCPTN_SUBTYP_DS_SPH21_ERR
GR_EXCPTN_SUBTYP_DS_SPH22_ERR
GR_EXCPTN_SUBTYP_DS_SPH23_ERR
GR_EXCPTN_SUBTYP_DS_SPH24_ERR
GR_EXCPTN_SUBTYP_DS_SPH25_ERR
GR_EXCPTN_SUBTYP_DS_SPH26_ERR
GR_EXCPTN_SUBTYP_DS_SPH27_ERR
GR_EXCPTN_SUBTYP_DS_SPH28_ERR
GR_EXCPTN_SUBTYP_DS_SPH29_ERR
GR_EXCPTN_SUBTYP_DS_SPH2_ERR
GR_EXCPTN_SUBTYP_DS_SPH30_ERR
GR_EXCPTN_SUBTYP_DS_SPH3_ERR
GR_EXCPTN_SUBTYP_DS_SPH4_ERR
GR_EXCPTN_SUBTYP_DS_SPH5_ERR
GR_EXCPTN_SUBTYP_DS_SPH6_ERR
GR_EXCPTN_SUBTYP_DS_SPH7_ERR
GR_EXCPTN_SUBTYP_DS_SPH8_ERR
GR_EXCPTN_SUBTYP_DS_SPH9_ERR
GR_EXCPTN_SUBTYP_FE_CLASS_SUBCH_MISMATCH
GR_EXCPTN_SUBTYP_FE_INJECTED_BUNDLE_ERROR
GR_EXCPTN_SUBTYP_FE_SPECULATIVE_GO_IDLE
GR_EXCPTN_SUBTYP_FE_SUBCHSW_DURING_NOTIFY
GR_EXCPTN_SUBTYP_GPC_GPCCS_GCC
GR_EXCPTN_SUBTYP_GPC_GPCCS_GENERIC
GR_EXCPTN_SUBTYP_GPC_GPCCS_GPCMMU
GR_EXCPTN_SUBTYP_GPC_GPCCS_PES
GR_EXCPTN_SUBTYP_GPC_GPCCS_PROP
GR_EXCPTN_SUBTYP_GPC_GPCCS_SETUP
GR_EXCPTN_SUBTYP_GPC_GPCCS_ZCULL
GR_EXCPTN_SUBTYP_GPC_TPCCS_GENERIC
GR_EXCPTN_SUBTYP_GPC_TPCCS_L1C
GR_EXCPTN_SUBTYP_GPC_TPCCS_MPC
GR_EXCPTN_SUBTYP_GPC_TPCCS_PE
GR_EXCPTN_SUBTYP_GPC_TPCCS_SM
GR_EXCPTN_SUBTYP_GPC_TPCCS_TEX
GR_EXCPTN_SUBTYP_MEMFMT_EXTRA_INLINE_DATA
GR_EXCPTN_SUBTYP_MEMFMT_MISSING_INLINE_DATA
GR_EXCPTN_SUBTYP_MME_BRANCH_IN_DELAY_SLOT
GR_EXCPTN_SUBTYP_MME_DATA_RAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_DMA_DRAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_DMA_ILLEGAL_FIFO_CONFIG
GR_EXCPTN_SUBTYP_MME_DMA_READ_FIFOED_FROM_PB
GR_EXCPTN_SUBTYP_MME_DMA_READ_FIFOED_OVERFLOW
GR_EXCPTN_SUBTYP_MME_EXTRA_MACRO_DATA
GR_EXCPTN_SUBTYP_MME_ILLEGAL_MME_METHOD
GR_EXCPTN_SUBTYP_MME_ILLEGAL_OPCODE
GR_EXCPTN_SUBTYP_MME_INSTR_RAM_ACCESS_OUT_OF_BOUNDS
GR_EXCPTN_SUBTYP_MME_MAX_INSTR_LIMIT
GR_EXCPTN_SUBTYP_MME_MISSING_MACRO_DATA
GR_EXCPTN_SUBTYP_MME_STOP_ON_TRAP
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_INVALID_PAGEPOOL
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_LODS
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_OUTPUT
GR_EXCPTN_SUBTYP_PD_INVALID_AB_DIST_MAX_WARPS
GR_EXCPTN_SUBTYP_SCC_LDCONST_OOB
GR_EXCPTN_SUBTYP_SCC_LDROOTTABLE_OOB
GR_EXCPTN_SUBTYP_SKED_CHECK02_LOCAL_MEMORY_LOW_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK03_LOCAL_MEMORY_HIGH_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK04_LOCAL_MEMORY_CRS_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK05_LOCAL_MEMORY_TOTAL_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK06_REGISTER_COUNT
GR_EXCPTN_SUBTYP_SKED_CHECK07_OUTER_PUT
GR_EXCPTN_SUBTYP_SKED_CHECK08_INNER_PUT
GR_EXCPTN_SUBTYP_SKED_CHECK09_INNER_GET
GR_EXCPTN_SUBTYP_SKED_CHECK10_OUTER_GET
GR_EXCPTN_SUBTYP_SKED_CHECK11_TOTAL_THREADS
GR_EXCPTN_SUBTYP_SKED_CHECK13_PROGRAM_OFFSET
GR_EXCPTN_SUBTYP_SKED_CHECK14_SHARED_MEMORY_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK15_UNUSED
GR_EXCPTN_SUBTYP_SKED_CHECK16_CTA_THREAD_DIMENSION_ZERO
GR_EXCPTN_SUBTYP_SKED_CHECK17_MEMORY_WINDOW_OVERLAP
GR_EXCPTN_SUBTYP_SKED_CHECK18_L1_CONFIG_TOO_SMALL
GR_EXCPTN_SUBTYP_SKED_CHECK19_CTA_REGISTER_CONSUMPTION
GR_EXCPTN_SUBTYP_SKED_CHECK20_GET_PUT_TOO_LARGE
GR_EXCPTN_SUBTYP_SKED_CHECK21_CIRCULAR_QUEUE_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK22_INVALIDATE_ACTIVE_QMD
GR_EXCPTN_SUBTYP_SKED_CHECK23_CONSTANT_BUFFER_SIZE
GR_EXCPTN_SUBTYP_SKED_CHECK24_CTA_RESUME
GR_EXCPTN_SUBTYP_SKED_CHECK25_THROTTLED_IS_RESTRICTED
GR_EXCPTN_SUBTYP_SKED_CHECK27_VSPAN_OVERFLOW
GR_EXCPTN_SUBTYP_SKED_CHECK28_PCAS_WITH_SEM
GR_EXCPTN_SUBTYP_SKED_CHECK32_VSPAN_NONEMPTY_PREEMPT
GR_EXCPTN_SUBTYP_SKED_CHECK35_IGNORE_VEID_CACHE_LINE
GR_EXCPTN_SUBTYP_UNKNOWN
GR_EXCPTN_TYP_BE
GR_EXCPTN_TYP_DS
GR_EXCPTN_TYP_FE
GR_EXCPTN_TYP_GPC
GR_EXCPTN_TYP_MEMFMT
GR_EXCPTN_TYP_MME
GR_EXCPTN_TYP_PD
GR_EXCPTN_TYP_SCC
GR_EXCPTN_TYP_SKED
GR_EXCPTN_TYP_SSYNC
GRID License
GR_INTR_TYP_BUFFER_NOTIFY
GR_INTR_TYP_CLASS_ERROR
GR_INTR_TYP_DEBUG_METHOD
GR_INTR_TYP_EXCEPTION
GR_INTR_TYP_FECS_ERROR
GR_INTR_TYP_FIRMWARE_METHOD
GR_INTR_TYP_ILLEGAL_CLASS
GR_INTR_TYP_ILLEGAL_METHOD
GR_INTR_TYP_ILLEGAL_NOTIFY
GR_INTR_TYP_NOTIFY
GR_INTR_TYP_SEMAPHORE
GR_INTR_TYP_SEMAPHORE_TIMEOUT
group ID
GROUPSIZE
GRSTATUS
gsp_firmware_version
GSP Firmware Version
GSP_RPC_TIMEOUT
gssapiauthentication
gssapidelegatecredentials
gssapi-with-mic
GSS_S_BAD_BINDINGS
GSS_S_BAD_MECH
GSS_S_BAD_NAME
GSS_S_BAD_NAMETYPE
GSS_S_BAD_QOP
GSS_S_BAD_SIG
GSS_S_BAD_STATUS
GSS_S_COMPLETE
GSS_S_CONTEXT_EXPIRED
GSS_S_CONTINUE_NEEDED
GSS_S_CREDENTIALS_EXPIRED
GSS_S_DEFECTIVE_CREDENTIAL
GSS_S_DEFECTIVE_TOKEN
GSS_S_DUPLICATE_ELEMENT
GSS_S_DUPLICATE_TOKEN
GSS_S_FAILURE
GSS_S_NAME_NOT_MN
GSS_S_NO_CONTEXT
GSS_S_NO_CRED
GSS_S_OLD_TOKEN
GSS_S_UNAUTHORIZED
GSS_S_UNAVAILABLE
GSS_S_UNSEQ_TOKEN
g_U0og]jqi_I
Guest Driver Version
GUIDToString failed!
GUIDToString(XGUIDToGUID(localId)) failed
GvVXellx
!!! !" H
H1Q H1Q(H1Q0H1Q8H1Q@H1QHH
H1QHH1QPH
 H3E H3E
(H97tBH95
H97tBH95
H98u0A8h)t
@(H9C(t#@2
H9J8t:H9J@t4
H9J8tOH9J@tI
H9J8tYH9J@tSH
H9p8u9H9B
	H9p(t*H;
H9Q0r3w6
H9)upH9-
H9y v!fff
H9Yxu!H9
?HA;4-*!
Haaacccjjkk]
H!A@H!APD
H;A(|.HcA
H!A(HcE4H
HAL1_INITIALIZATION_FAILED
HalAcpiGetTableEx
HALACPI:  The BIOS's non-volatile data will not be preserved
HalAcquireDisplayOwnership
HalAdjustResourceList
HalAllocateAdapterChannel
HalAllocateCommonBuffer
HalAllocateCrashDumpRegisters
HalAllocateHardwareCounters
HalAllProcessorsStarted
HalAssignSlotResources
HAL_BLOCKED_PROCESSOR_INTERNAL_ERROR
HalBugCheckSystem
HalCalibratePerformanceCounter
HalClearSoftwareInterrupt
HalConvertDeviceIdtToIrql
HalDisableInterrupt
HalDispatchTable
HalDisplayString
HalDmaAllocateCrashDumpRegistersEx
HalDmaFreeCrashDumpRegistersEx
HalEnableInterrupt
HalEnumerateEnvironmentVariablesEx
HalEnumerateProcessors
HalExamineMBR
HalFlushCommonBuffer
HalFreeCommonBuffer
HalFreeHardwareCounters
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetEnvironmentVariable
HalGetEnvironmentVariableEx
HalGetInterruptTargetInformation
HalGetInterruptVector
HalGetMemoryCachingRequirements
HalGetMessageRoutingInfo
HalGetProcessorIdByNtNumber
HalGetVectorInput
HalHandleMcheck
HalHandleNMI
HAL_ILLEGAL_IOMMU_PAGE_FAULT
HAL_INITIALIZATION_FAILED
HalInitializeBios
HalInitializeOnResume
HalInitializeProcessor
HalInitSystem
HAL_IOMMU_INTERNAL_ERROR
HalIsHyperThreadingEnabled
HalMakeBeep
HAL_MEMORY_ALLOCATION
**** HalpAcpiFindRsdp: Could not find RSDP
**** HalpAcpiTableCacheInit: The RSDT pointer is invalid.
**** HalpAcpiTableCacheInit: Unable to cache RSDT.
**** HalpAcpiTableCacheInit: Unable to map RSDT
**** HalpAcpiTableCacheInit: Unable to remap RSDT.
HalPerformEndOfInterrupt
HalpGetChipHacks
HalPrivateDispatchTable
HalProcessorIdle
HalQueryDisplayParameters
HalQueryEnvironmentVariableInfoEx
HalQueryMaximumProcessorCount
HalQueryRealTimeClock
HalReadDmaCounter
HalRegisterDynamicProcessor
HalRegisterErrataCallbacks
HalReportResourceUsage
HalRequestClockInterrupt
HalRequestDeferredRecoveryServiceInterrupt
HalRequestIpi
HalRequestIpiSpecifyVector
HalRequestSoftwareInterrupt
HalReturnToFirmware
HalReturnToFirmware called
HalSendNMI
HalSendSoftwareInterrupt
HalSetBusData
HalSetBusDataByOffset
HalSetDisplayParameters
HalSetEnvironmentVariable
HalSetEnvironmentVariableEx
HalSetProfileInterval
HalSetRealTimeClock
HalStartDynamicProcessor
HalStartNextProcessor
HalStartProfileInterrupt
HalStopProfileInterrupt
HalSystemVectorDispatchEntry
HalTranslateBusAddress
**************** HAL Verifier Detected Violation ****************
HalWheaUpdateCmciPolicy
HandleClientAuthFailure
HandleCount
HandleElementContent
HandleFailurePackage
HandleGPSettings
HandleServerAuthFailure
?HandleUiaDestroyListener@Element@DirectUI@@UEAAXXZ
?HandleUiaEventListener@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?HandleUiaPropertyChangingListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@@Z
?HandleUiaPropertyListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
HandshakeMessage
HangCount
HardFaultCount
hardlink@openssh.com
HardwareId
HARDWARE_INTERRUPT_STORM
HARDWARE_WATCHDOG_TIMEOUT
has a different value
HasCapability
hasFeatureUpdate
HashAlgorithm registry type is incorrect
HasHeaderOrFooter
hash_file
HashFromUnicode
hash_host failed
hashknownhosts
hash_to_blob
hasQueryText
HasResults
 HBM memory temperature. in degrees C.
H;B rBw]H
H!CHH!CP
H!CHH!CPH!C@E
HCN_E_ADAPTER_NOT_FOUND
HCN_E_ADDR_INVALID_OR_RESERVED
HCN_E_DEGRADED_OPERATION
HCN_E_ENDPOINT_ALREADY_ATTACHED
HCN_E_ENDPOINT_NAMESPACE_ALREADY_EXISTS
HCN_E_ENDPOINT_NOT_ATTACHED
HCN_E_ENDPOINT_NOT_FOUND
HCN_E_ENDPOINT_NOT_LOCAL
HCN_E_ENDPOINT_SHARING_DISABLED
HCN_E_ENTITY_HAS_REFERENCES
HCN_E_GUID_CONVERSION_FAILURE
HCN_E_ICS_DISABLED
HCN_E_INVALID_ENDPOINT
HCN_E_INVALID_INTERNAL_PORT
HCN_E_INVALID_IP
HCN_E_INVALID_IP_SUBNET
HCN_E_INVALID_JSON
HCN_E_INVALID_JSON_REFERENCE
HCN_E_INVALID_NETWORK
HCN_E_INVALID_NETWORK_TYPE
HCN_E_INVALID_POLICY
HCN_E_INVALID_POLICY_TYPE
HCN_E_INVALID_PREFIX
HCN_E_INVALID_REMOTE_ENDPOINT_OPERATION
HCN_E_INVALID_SUBNET
HCN_E_LAYER_ALREADY_EXISTS
HCN_E_LAYER_NOT_FOUND
HCN_E_MANAGER_STOPPED
HCN_E_MAPPING_NOT_SUPPORTED
HCN_E_NAMESPACE_ATTACH_FAILED
HCN_E_NETWORK_ALREADY_EXISTS
HCN_E_NETWORK_NOT_FOUND
HCN_E_OBJECT_USED_AFTER_UNLOAD
HCN_E_POLICY_ALREADY_EXISTS
HCN_E_POLICY_NOT_FOUND
HCN_E_PORT_ALREADY_EXISTS
HCN_E_PORT_NOT_FOUND
HCN_E_REGKEY_FAILURE
HCN_E_REQUEST_UNSUPPORTED
HCN_E_SHARED_SWITCH_MODIFICATION
HCN_E_SUBNET_NOT_FOUND
HCN_E_SWITCH_EXTENSION_NOT_FOUND
HCN_E_SWITCH_NOT_FOUND
HCN_E_VFP_PORTSETTING_NOT_FOUND
HCN_INTERFACEPARAMETERS_ALREADY_APPLIED
h!CRDPENCCONStreamWorkerEvent
HCS_E_ACCESS_DENIED
HCS_E_CONNECT_FAILED
HCS_E_CONNECTION_CLOSED
HCS_E_CONNECTION_TIMEOUT
HCS_E_GUEST_CRITICAL_ERROR
HCS_E_HYPERV_NOT_INSTALLED
HCS_E_IMAGE_MISMATCH
HCS_E_INVALID_JSON
HCS_E_INVALID_LAYER
HCS_E_INVALID_STATE
HCS_E_OPERATION_ALREADY_STARTED
HCS_E_OPERATION_NOT_STARTED
HCS_E_OPERATION_PENDING
HCS_E_OPERATION_RESULT_ALLOCATION_FAILED
HCS_E_OPERATION_SYSTEM_CALLBACK_ALREADY_SET
HCS_E_OPERATION_TIMEOUT
HCS_E_PROCESS_ALREADY_STOPPED
HCS_E_PROCESS_INFO_NOT_AVAILABLE
HCS_E_PROTOCOL_ERROR
HCS_E_SERVICE_DISCONNECT
HCS_E_SERVICE_NOT_AVAILABLE
HCS_E_SYSTEM_ALREADY_EXISTS
HCS_E_SYSTEM_ALREADY_STOPPED
HCS_E_SYSTEM_NOT_FOUND
HCS_E_TERMINATED
HCS_E_TERMINATED_DURING_START
HCS_E_UNEXPECTED_EXIT
HCS_E_UNKNOWN_MESSAGE
HCS_E_UNSUPPORTED_PROTOCOL_VERSION
HCS_E_WINDOWS_INSIDER_REQUIRED
_HD8w9tLH
HDCCCC88
hdcConnectionStatus
hdcTitle
    HEADER:
headerByteCount
header crc mismatch
	header flags: 
Header_Overruns_Buffer
HeadlessDispatch
HEAD_REGS
HEAD_RG_UNDERFLOW
healthStateFlags
HeapAlloc
HeapCompact
HeapCreate
HeapDestroy
HeapFree
HeapReAlloc
HeapSetInformation
HeapSize
HeapValidate
HeapWalk
HelloRequest
help                               Display this help text
help     Display this list.
Helpers::SendMessageTimeoutW
--help-query-accounted-apps
--help-query-compute-apps
--help-query-gpu
--help-query-remapped-rows
--help-query-retired-pages
--help-query-supported-clocks
HeroImageDisabledByOneSettings
HeteroDecreaseThreshold
HeteroDecreaseTime
HeteroIncreaseThreshold
HeteroIncreaseTime
HexStringToBinary
]HfD9;u@
_hfnTitleText
H!GHH!GP
H!GHH!GPH
H)](H)]0H;5
H!_(H!_0H!_8H!_@3
H!_(H!_0H!_8H!_@I
hhctrl.ocx
HHH9	u5M;
HH:mm:ss
HH:MM:SS
hic_info
HIC Info
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetHidGuid
HidD_GetPreparsedData
HideMSFTservices
HidP_GetCaps
HighestEndingAddress
HighestUserAddress
HistoryFileRemoveSupportKey
HitPrefilterUE
HiveAlreadyLoaded
HiveFlush
HiveFlushControlDataGenerated
HiveFlushPhase
hiveLength
hiveLengthFromHeader
hiveLengthOnDisk
HiveLoadAppHiveImpersonationRequired
HiveLoadErrorDetected
HiveLoadFailedToQueryLogFileSize
hiveLoadFailure
HiveLoadFailure
HiveLoadFileInaccessible
HiveLoadFromFile
HiveLoadLogIneligible
HiveLoadLogInvalid
HiveLoadLogMismatch
HiveLoadLogsFound
HiveLoadLogUnreadable
HiveReorganizationFailed
HiveReorganizationResultedInDifferentKeyCount
HiveReorganizationValidationFailed
HiveReorganized
HiveSelfHealed
hKVASCODE
hmac-md5
hmac-md5-96
hmac-md5-96-etm@openssh.com
hmac-md5-etm@openssh.com
hmac-sha1
hmac-sha1-96
hmac-sha1-96-etm@openssh.com
hmac-sha1-etm@openssh.com
hmac-sha2-256
hmac-sha2-256-etm@openssh.com
hmac-sha2-512
hmac-sha2-512-etm@openssh.com
 * holding this one at lower clocks.
HomeDirectory
HomeDirectoryDrive
horizontal
		   [host | addrlist namelist]
hostbased
hostbasedauthentication
hostbased_key_types
hostbasedkeytypes
host_delete
Host directive not supported as a command-line option
hostfile_replace_entries
host_hash
host_hash failed
host information
Host is unreachable
host-key 
host key algorithms
hostkeyalgorithms
hostkeyalias
hostkeys-00@openssh.com
hostkeys_find
hostkeys_foreach
hostkeys-prove-00@openssh.com
Host key verification failed.
HostMountPath
hostname
	?Host@NativeHWNDHost@DirectUI@@QEAAXPEAVElement@2@@Z
HostOsContainerResponseXMLDetails
HostOsContainerResponseXMLHttpStatusMismatchContent
HostOsContainerResponseXMLHttpStatusMismatchContentMismatch
HostOsContainerResponseXMLHttpStatusMismatchContentMismatchChoice
HostOsContainerResponseXMLHttpStatusMismatchContentMismatchContainerHttpStatus
HostOsContainerResponseXMLHttpStatusMismatchContentMismatchHresult
HostOsContainerResponseXMLHttpStatusMismatchHostOSHttpStatus
HostOsContainerResponseXMLParserError
HostOsContainerResponseXMLResultContentMismatch
HostOsContainerResponseXMLResultContentMismatchContent
HostOsContainerResponseXMLResultContentMismatchHresult
HostOsContainerResponseXMLResultItemCountMismatch
HostOsContainerResponseXMLResultItemCountMismatchContaineritemCount
HostOsContainerResponseXMLResultItemCountMismatchContent
HostOsContainerResponseXMLResultItemCountMismatchHostOsItemCount
HostOsContainerResponseXMLResultItemCountMismatchHresult
HostOsContainerResponseXMLResultItemDataMismatch
HostOsContainerResponseXMLResultItemDataMismatchContainerData
HostOsContainerResponseXMLResultItemDataMismatchContent
HostOsContainerResponseXMLResultItemDataMismatchHostOsData
HostOsContainerResponseXMLResultItemDataMismatchItemIndex
HostOsContainerResponseXMLResultItemDataMismatchStatusIndex
HostOsContainerResponseXMLResultItemSoureLocURIOrMetaMismatch
HostOsContainerResponseXMLResultItemSoureLocURIOrMetaMismatchContent
HostOsContainerResponseXMLResultItemSoureLocURIOrMetaMismatchItemIndex
HostOsContainerResponseXMLResultItemSoureLocURIOrMetaMismatchStatusIndex
HostOsContainerResponseXMLStatusContentMismatch
HostOsContainerResponseXMLStatusContentMismatchHresult
HostOsContainerResponseXMLStatusContentMismatchStatusContent
HostOsContainerResponseXMLStatusCountMismatch
HostOsContainerResponseXMLStatusCountMismatchHresult
HostOsResponseLength
HostOsResponseStatusCount
HostPath
host unreachable
host_unreachable
Host VGPU
host_vgpu_mode
Host VGPU Mode
Host VSGA
Hours Limit
hoursUntilDeadline
hoursUntilDeadline:
hoverDuration
HPartA_PrivTags
HpatEntryCount
HqCTscProxyUtil::GetEffectiveSettings failed
HqEXZZ2|
HSpuriousWakeBucketTimesMs
H SUVWATAUAVAWH
H SUVWAVAWH
H SUVWAVH
H SVWATAUAVAWH
H SWAUAVAWH
hTRACESUP[
HTTP_DRIVER_CORRUPTED
HTTP_E_STATUS_AMBIGUOUS
HTTP_E_STATUS_BAD_GATEWAY
HTTP_E_STATUS_BAD_METHOD
HTTP_E_STATUS_BAD_REQUEST
HTTP_E_STATUS_CONFLICT
HTTP_E_STATUS_DENIED
HTTP_E_STATUS_EXPECTATION_FAILED
HTTP_E_STATUS_FORBIDDEN
HTTP_E_STATUS_GATEWAY_TIMEOUT
HTTP_E_STATUS_GONE
HTTP_E_STATUS_LENGTH_REQUIRED
HTTP_E_STATUS_MOVED
HTTP_E_STATUS_NONE_ACCEPTABLE
HTTP_E_STATUS_NOT_FOUND
HTTP_E_STATUS_NOT_MODIFIED
HTTP_E_STATUS_NOT_SUPPORTED
HTTP_E_STATUS_PAYMENT_REQ
HTTP_E_STATUS_PRECOND_FAILED
HTTP_E_STATUS_PROXY_AUTH_REQ
HTTP_E_STATUS_RANGE_NOT_SATISFIABLE
HTTP_E_STATUS_REDIRECT
HTTP_E_STATUS_REDIRECT_KEEP_VERB
HTTP_E_STATUS_REDIRECT_METHOD
HTTP_E_STATUS_REQUEST_TIMEOUT
HTTP_E_STATUS_REQUEST_TOO_LARGE
HTTP_E_STATUS_SERVER_ERROR
HTTP_E_STATUS_SERVICE_UNAVAIL
HTTP_E_STATUS_UNEXPECTED
HTTP_E_STATUS_UNEXPECTED_CLIENT_ERROR
HTTP_E_STATUS_UNEXPECTED_REDIRECTION
HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR
HTTP_E_STATUS_UNSUPPORTED_MEDIA
HTTP_E_STATUS_URI_TOO_LONG
HTTP_E_STATUS_USE_PROXY
HTTP_E_STATUS_VERSION_NOT_SUP
HttpOpenRequestW
HttpSendRequestExW
H!u8!u0H
H UATAUAVAWH
H UATAVH
h UAVAWH
H UAVAWH
!Hupcaui
H USVWATAUAVAWH
H UVWATAUAVAWH
H UVWAVAWH
H UWAUAVAWH
HvciDriverLoadFail
HvGpaMapping
HviGetDebugDeviceOptions
HviGetEnlightenmentInformation
HviGetHardwareFeatures
HviGetHypervisorFeatures
HviGetHypervisorInterface
HviGetHypervisorVendorAndMaxFunction
HviGetHypervisorVersion
HviGetImplementationLimits
HviIsAnyHypervisorPresent
HviIsHypervisorMicrosoftCompatible
HviIsHypervisorVendorMicrosoft
HviIsIommuInUse
hvlCalculateLiveDumpSizeDuration_ms
HvlCollectLiveDump
hvlCollectLivedumpDuration_ms
hvlCollectLiveDumpDuration_ms
HvlGetLpIndexFromApicId
HvlGetLpIndexFromProcessorIndex
HvlInvokeFastExtendedHypercall
HvlInvokeHypercall
HvlPerformEndOfInterrupt
HvlQueryActiveHypervisorProcessorCount
HvlQueryActiveProcessors
HvlQueryConnection
hvlQueryDumpSizeFailed
HvlQueryHypervisorProcessorNodeNumber
HvlQueryNumaDistance
HvlQueryProcessorTopology
HvlQueryProcessorTopologyCount
HvlQueryProcessorTopologyEx
HvlQueryProcessorTopologyHighestId
HvlQueryStartedProcessors
HvlReadPerformanceStateCounters
HvlRegisterInterruptCallback
HvlRegisterWheaErrorNotification
HvlUnregisterInterruptCallback
HvlUnregisterWheaErrorNotification
HvlUpdatePerformanceStateCountersForLp
hvPageCount
h VWATAUAVH
H VWATAUAVH
h VWATAVAWH
H VWATAVAWH
h VWAUAVAWH
h WATAUAVAWH
H WATAUAVAWH
h WAVAWH
H WAVAWH
    HW Power Brake Slowdown
 HW Power Brake Slowdown: External Power Brake Assertion is triggered (e.g. by the system power supply)
HW Power Brake Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of External Power Brake Assertion being triggered (e.g. by the system power supply)
HW Slowdown
HW Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of:
    HW Thermal Slowdown
HW Thermal Slowdown (reducing the core clocks by a factor of 2 or more) is engaged. This is an indicator of temperature being too high
 HW Thermal Slowdown: temperature being too high
H!]XH9YH
HygonGenuine
HYPERGUARD_VIOLATION
HypervisorCrashdumpArea
HypervisorCrashdumpArea2
HYPERVISORDBG
HYPERVISOR_ERROR
HypervisorLevel
_i64toa_s
_i64tow_s
I9i0u!I9q8u
@ I!9I!x(H
I9:u)A8h9t
I9:u)A8h)t
IBackgroundCopyJob2::Resume failed
    IBMNPU
IcmpRedirectsEnabled
Icon tooltip set
Icwuwuwwwwxxxxxxed
Identifier
identifier removed
Identifier removed
IdentifierResult
#Identifying devices from the log file
identitiesonly
Identity
identityagent
identityfile
identityfile2
Identity filename too long
identity_sign
|      ID  ID  Dev |           BAR1-Usage | SM     Unc| CE  ENC  DEC  OFA  JPG|
|        ID   ID                                                   Usage      |
IdleAllowScaling
IdleDemoteThreshold
IdleDisable
IdleIntervalCountBucketLimitsInMs
IdleIntervalCountBuckets
IdleMaxDurationInUs
IdleMinDurationInUs
IdlePromoteThreshold
IdleStateCount
IdleStateMax
IdleTimeCheck
IdleTotalDurationInUs
IdnToNameprepUnicode
IdnToUnicode
ignorableReasons
                                Ignores the error that display is connected.
ignoreunknown
I(H9KPu	H
IHalEfiRuntime
           [-i identity_file] [-J [user@]host[:port]] [-L address]
IIDFromString
IIIImmmm
i	?Initialize@HWNDHost@DirectUI@@QEAAJIIPEAVElement@2@PEAK@Z
illegal byte sequence
Illegal byte sequence
ILLEGAL_IOMMU_PAGE_FAULT
ILocalDevice::GetDeviceByIndex failed
ILocalDevice::get_DeviceInstanceId failed
ILocalDevice::IsUSBDevice failed
imageCetShadowStacksReady
ImageChecksum
ImageCheckSum
imageEHContinuationTablePresent
IMAGE_EXCEEDS_PCIR_SIZE
ImageFileMapFailure
ImageFileName
ImageHotPatchLockedPagesFound
ImageHotPatchOperation
ImageHotPatchOperationStatus
imageIdentifier
ImageKey
ImageList_Create
ImageList_Destroy
ImageList_Draw
ImageList_GetIcon
ImageList_GetImageCount
ImageList_LoadImageW
ImageList_Remove
ImageList_ReplaceIcon
imageName
ImageName
__ImagePolicyMetadata
ImageRotate
imageSize
IMAGE_SIZE_OUT_OF_BOUNDS
ImageTimeDateStamp
ImageTransparent
IMAGE_VERIFICATION_FAILURE
Image Version
img_version
IMM32.dll
ImmDisableIME
ImpersonateLoggedOnUser
ImpersonateRequired
impersonate this host.
Impersonating
IMPERSONATING_WORKER_THREAD
impersonationTokenSessionFlags
ImportCompInTempApp failed
imported
Improper link
IMsRdpClient5::get_DeviceCollection failed!
IMsRdpClient5::get_DriveCollection failed!
IMsRdpDeviceCollection::DeviceCount failed!
IMsRdpDeviceCollection::get_DeviceByIndex failed
IMsRdpDeviceCollection::get_DeviceByIndex failed!
IMsRdpDeviceCollection::get_DeviceCount failed
IMsRdpDeviceCollection::GetDeviceCount failed
IMsRdpDevice::get_ClassGuid failed
IMsRdpDevice::get_CmDeviceInstance failed
IMsRdpDevice::get_DeviceDescription failed
IMsRdpDevice::get_DeviceInstanceId failed
IMsRdpDevice::get_DeviceText failed
IMsRdpDevice::get_DriveLetterBitmap failed
IMsRdpDevice::get_RedirectionState failed
IMsRdpDevice::IsCompositeDevice failed
IMsRdpDevice::IsOptionalDevice failed
IMsRdpDevice::IsUSBDevice failed
IMsRdpDevice::put_RedirectionState failed
IMsRdpDriveCollection::get_DriveByIndex failed!
IMsRdpDriveCollection::get_DriveCount failed!
IMsRdpDriveCollection::GetDriveCount failed
IMsRdpDrive::get_DeviceInstanceId failed
IMsRdpDrive::get_Name failed!
IMsRdpDrive::get_RedirectionState failed!
IMsRdpDrive::put_RedirectionState failed!
IMsRdpExtendedSettings::put_Property(DisableCredentialsDelegation) failed!
IMsRdpExtendedSettings::put_Property(UTREG_PRINTING_PROGRESS_MODE) failed!
IMsRdpExtendedSettings::put_Property(UTREG_UI_DESKTOP_SCALE_FACTOR) failed!
IMsRdpExtendedSettings::put_Property(UTREG_UI_DEVICE_SCALE_FACTOR) failed!
IMsRdpSessionManager Interface
INACCESSIBLE_BOOT_DEVICE
In "All On" mode everything is enabled and running at full speed.
inappropriate io control operation
InboxDriver
InbvAcquireDisplayOwnership
InbvCheckDisplayOwnership
InbvDisplayString
InbvEnableBootDriver
InbvEnableDisplayString
InbvInstallDisplayStringFilter
InbvIsBootDriverInstalled
	InbvMode
InbvNotifyDisplayOwnershipChange
InbvNotifyDisplayOwnershipLost
InbvResetDisplay
InbvSetScrollRegion
InbvSetTextColor
InbvSetVirtualFrameBuffer
InbvSolidColorFill
Include directive not supported as a command-line option
incoming seqnr wraps around
incompatible version
incomplete message
INCONSISTENT_IRP
Inconsistent state data size in wnf_query
inconsistent with the Irp's IoStatus.Status field.
incorrect data check
incorrect header check
incorrect length check
incorrect passphrase supplied to decrypt private key
incorrect signature
incremental zone transfer
indefinitely
Index missing TAG_INDEX_BITS
Index missing TAG_INDEX_KEY
Index missing TAG_INDEX_TAG
IND)ind)
IND)ind).
IND)ind)c
IND)ind)SNAN)
INetCfg::Apply
INetCfg::ApplyResult
INetCfgClassSetup::DeInstall
INetCfgClassSetup::DeInstallResult
INetCfgClassSetup::Install
INetCfgClassSetup::InstallResult
INET_E_AUTHENTICATION_REQUIRED
INET_E_CANNOT_CONNECT
INET_E_CANNOT_INSTANTIATE_OBJECT
INET_E_CANNOT_LOAD_DATA
INET_E_CONNECTION_TIMEOUT
INET_E_DATA_NOT_AVAILABLE
INET_E_DOWNLOAD_FAILURE
INET_E_INVALID_CERTIFICATE
INET_E_INVALID_REQUEST
INET_E_INVALID_URL
INET_E_NO_SESSION
INET_E_NO_VALID_MEDIA
INET_E_OBJECT_NOT_FOUND
INET_E_REDIRECT_FAILED
INET_E_REDIRECT_TO_DIR
INET_E_RESOURCE_NOT_FOUND
INET_E_SECURITY_PROBLEM
INET_E_UNKNOWN_PROTOCOL
I_NetGetDCList
I_NetlogonComputeClientDigest
I_NetlogonComputeClientSignature
I_NetlogonComputeServerDigest
I_NetlogonComputeServerSignature
I_NetLogonControl
I_NetLogonControl2
I_NetlogonGetTrustRid
inet_ntop
InetNtopW
 inflate 1.2.3 Copyright 1995-2005 Mark Adler 
 inflate 1.2.8 Copyright 1995-2013 Mark Adler 
InflateRect
INFOICRD
Info Message
Information about GPU.
Information about remapped rows.
informationClass
InformationClass
InformationToChange
InformUser
INFOROM_DRAM_RETIREMENT_EVENT
INFOROM_DRAM_RETIREMENT_FAILURE
inforom.ecc
INFOROM_ERASE_LIMIT_EXCEEDED
inforom.image
inforom.img
inforom.oem
inforom.power
inforom.pwr
    Inforom Version
InfPathCopy
INITAPGD
InitCommonControls
InitCommonControlsEx
INITCONST
INITDATA
INITDATAD
INITDATAZ
)	?Init@ElementProvider@DirectUI@@MEAAJPEAVElement@2@PEAVInvokeHelper@2@@Z
Init() Error loading CLx DLL.
InitErrorReportDeviceDriver
InitHelperDll
InitializationResult
Initialize
InitializeAcl
InitializeConditionVariable
InitializeConsole
InitializeContainer
InitializeCriticalSection
InitializeCriticalSectionAndSpinCount
InitializeCriticalSectionEx
InitializeDpu
Initialize failed
Initialize failed!
Initialize failed.
InitializeForReuse failed!
InitializeFromMoniker failed!
InitializeHVCIDriverInfo
InitializeInstance failed
InitializeInstance failed!
InitializeIpForwardEntry
InitializeNetwork
InitializeOSKSupport
InitializeProcThreadAttributeList
InitializeSecurityDescriptor
InitializeSListHead
InitializeSRWLock
InitializeTouchInjection
InitializeUnicastIpAddressEntry
InitializeWorker failed!
Initializing tracing
InitiateSession
InitiateShutdownW
InitiateSystemShutdownExW
InitiationID
initiator
Initiator
INITKDBG
InitLocalMsCtfMonitor
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceGetStringTableOffset
InitOnceGetStringTableOffset succeeded but failed to find string table
InitOnceScanIndexes
InitProcessPriv
init_prog_paths
InitSafeBootMode
InitSecurityInterfaceW
_initterm
_initterm_e
InitThread
in more than 20 minutes. To display information about the thread that is
INPLACE_E_NOTOOLSPACE
INPLACE_E_NOTUNDOABLE
INPLACE_S_TRUNCATED
                                    Input can also be a singular desired clock value
INPUT_E_DEVICE_INFO
INPUT_E_DEVICE_PROPERTY
INPUT_E_FRAME
INPUT_E_HISTORY
INPUT_E_MULTIMODAL
INPUT_E_OUT_OF_ORDER
INPUT_E_PACKET
INPUT_E_REENTRANCY
INPUT_E_TRANSFORM
input file is not seekable
Input File Name must be specified
InputFlags
Input graphics clock in MHz (required)
input_gssapi_response: no authentication context
input in flex scanner failed
input line too long.
Input memory clock in MHz (optional)
Input profile ID (required)
Input should be 0 or 1. See nvidia-smi -h.
InputStreamComWrapper
InputStreamComWrapper::CreateInstance failed.
InputSuppressionAction
InputSuppressionCount
inputSuppressionFinalAction
InputSuppressionMonitorOnRequestUserInput
input_userauth_banner
input_userauth_error
input_userauth_failure: no authentication context
input_userauth_info_req
input_userauth_info_req: no authentication context
input_userauth_passwd_changereq
input_userauth_passwd_changereq: no authentication context
input_userauth_pk_ok
input_userauth_pk_ok: no authentication context
input_userauth_success
InsertCurrentUserSid
	?Insert@Element@DirectUI@@UEAAJPEAPEAV12@II@Z
InsertMenuItemW
InsertMenuW
insertSpace
InstallAppAndRolesAndComponents failed
InstallApplication
InstallAtMaintenanceTimeSet
InstallAtScheduledTimeSet
InstallCompInTempApp failed
InstallCopyCodeUpdate
InstallDate
Installing only QU when both FU and QU are pending
InstallLayoutOrTip
InstallLayoutOrTipUserReg
INSTALL_MORE_MEMORY
InstallNeedMoreSpace
InstallNeedUserAgreement
InstallNeedUserAgreementPerAUPolicy
InstallNeedUx
InstallNetComponent
InstallNetComponentResult
InstallNewPackage failed
InstallNewPackage returned false:  some of the properties may not be correct
InstallOnlyQU
InstallOrImportAComponent failed
InstallSetupUpdates
InstallStatusMIF
InstallWindows
INSTANCE
Instance::ActivateThread
Instance::Destroy
	InstanceId
InstanceId
Instance::Load
INSTANCE_NOT_FOUND
InstancePath
InstanceStartTime
instantaneousRate
instantaneousVoltage
INSTRUCTION_BUS_ERROR
INSTRUCTION_COHERENCY_EXCEPTION
insufficient buffer space
Insufficient External Power
insufficient memory
Insufficient Memory
insufficient number of signature verification parameters
Insufficient Permissions
Insufficient Resources
INSUFFICIENT_RESOURCES
Insufficient Size
INSUFFICIENT_SYSTEM_MAP_REGS
integer overflow
Interactive Dialog: Dialog template not found
Interactive Toast is invoked
Interactive Toast: Toast template not found
InteractivityChoice::MakeButtonImageList
InteractivityDirector::CreatePage
InteractivityPage::ClearButtonImageList
InteractivityPage::GetItem
InteractivityPage::Initialize
InteractivityPage::LoadRTF
InteractivityPage::OnListenedEvent
InteractivityPage::OnSetActive
InteractivityPage::OnWizNext
InteractivityPage::ResetUI
InteractivityPage::SetInteractionIcon
InteractivityTextPage::GetUserChoices
InteractivityTextPage::Initialize
InteractivityTextPage::OnSetActive
InteractivityTextPage::ResetUI
InteractivityUIPage::GetUserChoices
InteractivityUIPage::Initialize
InteractivityUIPage::OnListenedEvent
InteractivityUIPage::OnSetActive
InteractivityUIPage::ResetUI
InteractivityUIPage::SplitCmdLine
InterfacePath
Interfaces
InterlockedPopEntrySList
InterlockedPushEntrySList
InterlockedPushListSList
intermediateAutoIgnorableReasons
intermediateAutoToUltimateAutoInHours
intermediateDurationInMinutes
Internal application error
InternalBuffer
InternalCreateIpForwardEntry2
InternalCreateUnicastIpAddressEntry
internal_dumpGpuComponent() succeeded
internal_dumpNvLogComponent() skipped unsupported NVLOG component
internal_dumpNvLogComponent() succeeded
internal_dumpSystemComponent() succeeded
internal error
Internal error
internal error: askpass undefined
internal error: buffer is read-only
internal_getDumpBuffer
Internal nvidia-smi error
Internal nvidia-smi error. Unexpected modification operation.
Internal NVML error
INTERNAL_POWER_ERROR
InternalSign failed
internal type for both IPv4 and IPv6 Addresses
InternetCloseHandle
InternetConnectW
InternetCrackUrlW
InternetOpenW
InternetSetStatusCallbackW
Interrupt  
interrupted
Interrupted function call
INTERRUPT_EXCEPTION_NOT_HANDLED
Interrupt Request Issue
INTERRUPT_UNWIND_ATTEMPTED
IntersectRect
    interval. This tool lists the statistics for all the compute and 
IntlCopyDefaultUserLocale
IntlSetInputLocales
IntlUpdateSystemLocale
IntroPage::EnablePrivacyButton
IntroPage::LoadIntro
IntroPage::NotifyHandler
IntroPage::OnGetInfoTip
IntroPage::OnListenedEvent
IntroPage::OnSetActive
IntroPage::OnWizNext
IntroPage::SetupPackageList
IntToUInt failed
I;N(tYH;
In use by another client
 invalid AAAA address length
INVALID_AFFINITY_SET
INVALID_ALTERNATE_SYSTEM_CALL_HANDLER_REGISTRATION
Invalid application commandline buffer
Invalid application name buffer
Invalid application name specified
invalid argument
invalid_argument
Invalid argument
Invalid Argument
Invalid arguments
InvalidateGadget
InvalidateRect
InvalidateRgn
invalid attribute length
invalid bit length repeat
invalid block type
Invalid block type
Invalid buffer size
INVALID_CALLBACK_STACK_ADDRESS
INVALID_CANCEL_OF_FILE_OPEN
INVALID_CERT
invalid certificate
invalid certificate signing key
INVALID_CHECKSUM
invalid code lengths set
invalid code -- missing end-of-block
Invalid combination of actions
Invalid combination of input arguments. Please run 'nvidia-smi -h' for help.
Invalid COM Descriptor virtual address encountered
Invalid command.
Invalid CopyData params
Invalid COR20 Metadata signature encountered
Invalid COR20 Metadata virtual address encountered
Invalid current directory buffer
INVALID_DATA_ACCESS_TRAP
Invalid database GUID specified
Invalid device.
invalid distance code
invalid distances set
invalid distance too far back
INVALID_DRIVER_HANDLE
Invalid DSA key length: must be 1024 bits
invalid elliptic curve
invalid elliptic curve value
Invalid event type
Invalid eventtype buffer
Invalid executable GUID specified
Invalid extended_data message
INVALID_EXTENDED_PROCESSOR_STATE
Invalid file attribute array
Invalid flags buffer
INVALID_FLOATING_POINT_STATE
invalid format
Invalid Frequency
Invalid GPU passed to --sync-boost-add. GPUs must be identical and not part of any existing groups.
Invalid Handle
INVALID_HASH
invalid hash bucket count
INVALID_HASH_HEADER_VERSION
INVALID_HIBERNATED_STATE
Invalid ieof message
INVALID_IO_BOOST_STATE
INVALID_IRP_CODE
invalid_iterator
Invalid -J argument
INVALID_KERNEL_HANDLE
INVALID_KERNEL_STACK_ADDRESS
Invalid key length
Invalid layername buffer
invalid length of signature field
Invalid lifetime
Invalid match file length
INVALID_MDL_RANGE
Invalid multiplex command.
 invalid MX name
Invalid notificaiton ux state
Invalid Notification Type.
Invalid number of ConnectionAttempts
Invalid oclose message
Invalid open confirmation message
Invalid open failure message
invalid parameter
Invalid Parameter in command line
Invalid parameter passed to C runtime function.
INVALID_PARAMS
Invalid path size
Invalid PCI bus id format. Try format [domain:]bus:device.function E.g. 0:2:0.0
INVALID_PCI_DATA_SIG
INVALID_PCI_HEADER
INVALID_PCI_ROM_SIG
Invalid pdb
INVALID_PEM_FORMAT
INVALID_PROCESS_ATTACH_ATTEMPT
INVALID_PROCESS_DETACH_ATTEMPT
invalid public DH value: negative
Invalid pUnkPlatContext (NULL). Ignoring the error
INVALID_PUSH_LOCK_FLAGS
INVALID_REGION_OR_SEGMENT
INVALID_RUNDOWN_PROTECTION_FLAGS
invalid seek
Invalid seek
INVALID_SIGNATURE_HEADER_VER
invalid signature type
invalid signature version
INVALID_SILO_DETACH
INVALID_SLOT_ALLOCATOR_FLAGS
INVALID_SOFTWARE_INTERRUPT
Invalid source-address list
Invalid SSH identification string.
Invalid start point.
Invalid status confirm message
invalid stored block lengths
invalid string position
Invalid timeslice value specified at the command-line. Check the nvidia-smi help command for acceptable timeslice values
Invalid user sid buffer
Invalid value for number of samples to be displayed
Invalid value specified at the command-line. Check the nvidia-smi help command for acceptable values for vboost slider
Invalid value type
Invalid vendor name specified
InvalidWatchdogBlamedChildCount
Invalid window adjust message
invalid window size
INVALID_WORK_QUEUE_ITEM
invalid x509; no rsa key
Invalid Zip Mode
InvertSelection
InvokedArgs
	?InvokePattern@Schema@DirectUI@@2HA
Invoking interactive reboot
InvStrCmpIW
InvStrCmpNIW
InvStrCmpW
IO1_INITIALIZATION_FAILED
IoAcquireCancelSpinLock
IoAcquireKsrPersistentMemory
IoAcquireRemoveLockEx
IoAcquireVpbSpinLock
IoAdapterObjectType
IoAdjustStackSizeForRedirection
IoAllocateAdapterChannel
IoAllocateController
IoAllocateDriverObjectExtension
IoAllocateErrorLogEntry
IoAllocateIrp
IoAllocateIrpEx
IoAllocateMdl
IoAllocateMiniCompletionPacket
IoAllocateSfioStreamIdentifier
IoAllocateWorkItem
IoApplyPriorityInfoThread
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoAttachDeviceToDeviceStackSafe
__iob_func
IoBoostThreadIo
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildDeviceIoControlRequest.
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelFileOpen
IoCancelIrp
IoCheckDesiredAccess
IoCheckEaBufferValidity
IoCheckFunctionAccess
IoCheckLinkShareAccess
IoCheckQuerySetFileInformation
IoCheckQuerySetVolumeInformation
IoCheckQuotaBufferValidity
IoCheckRedirectionTrustLevel
IoCheckShareAccess
IoCheckShareAccessEx
IoCleanupIrp
IoClearActivityIdThread
IoClearAdapterCryptoEngineExtension
IoClearFsTrackOffsetState
IoClearIrpExtraCreateParameter
IoCompleteRequest
IoCompletionObjectType
IoComputeRedirectionTrustLevel
IoConnectInterrupt
IoConnectInterruptEx
IoControlCode
IoConvertFileHandleToKernelHandle
IoCopyCurrentIrpStackLocationToNext.
IoCopyDeviceObjectHint
IoCreateArcName
IoCreateController
IoCreateDevice
IoCreateDeviceSecure
IoCreateDisk
IoCreateDriver
IoCreateFile
IoCreateFileEx
IoCreateFileSpecifyDeviceObjectHint
IoCreateNotificationEvent
IoCreateStreamFileObject
IoCreateStreamFileObjectEx
IoCreateStreamFileObjectEx2
IoCreateStreamFileObjectLite
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateSystemThread
IoCreateUnprotectedSymbolicLink
IoCsqInitialize
IoCsqInitializeEx
IoCsqInsertIrp
IoCsqInsertIrpEx
IoCsqRemoveIrp
IoCsqRemoveNextIrp
IOCTL Called from inside Container
IoCtlComplete
IoDecrementKeepAliveCount
IoDeleteController
IoDeleteDevice
IoDeleteDriver
IoDeleteSymbolicLink
IoDetachDevice
IoDeviceHandlerObjectSize
IoDeviceHandlerObjectType
IoDeviceObjectType
IoDisconnectInterrupt
IoDisconnectInterruptEx
IoDriverObjectType
IoDuplicateDependency
IoEnqueueIrp
IoEnumerateDeviceObjectList
IoEnumerateRegisteredFiltersList
io error
IoFastQueryNetworkAttributes
IofCallDriver
IofCompleteRequest
IoFileObjectType
IoFlushAdapterBuffers
IoForwardAndCatchIrp
IoForwardIrpSynchronously
IoFreeAdapterChannel
IoFreeController
IoFreeErrorLogEntry
IoFreeIrp
IoFreeKsrPersistentMemory
IoFreeMapRegisters
IoFreeMdl
IoFreeMiniCompletionPacket
IoFreeSfioStreamIdentifier
IoFreeWorkItem
IoGetActivityIdIrp
IoGetActivityIdThread
IoGetAdapterCryptoEngineExtension
IoGetAffinityInterrupt
IoGetAttachedDevice
IoGetAttachedDeviceReference
IoGetBaseFileSystemDeviceObject
IoGetBootDiskInformation
IoGetBootDiskInformationLite
IoGetConfigurationInformation
IoGetContainerInformation
IoGetCurrentProcess
IoGetDeviceAttachmentBaseRef
IoGetDeviceDirectory
IoGetDeviceInterfaceAlias
IoGetDeviceInterfacePropertyData
IoGetDeviceInterfaces
IoGetDeviceNumaNode
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDevicePropertyData
IoGetDeviceToVerify
IoGetDiskDeviceObject
IoGetDmaAdapter
IoGetDriverDirectory
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetFsTrackOffsetState
IoGetFsZeroingOffset
IoGetGenericIrpExtension
IoGetInitialStack
IoGetInitiatorProcess
IoGetIoAttributionHandle
IoGetIommuInterface
IoGetIoPriorityHint
IoGetIrpExtraCreateParameter
IoGetLowerDeviceObject
IoGetOplockKeyContext
IoGetOplockKeyContextEx
IoGetPagingIoPriority
IoGetRelatedDeviceObject
IoGetRequestorProcess
IoGetRequestorProcessId
IoGetRequestorSessionId
IoGetSfioStreamIdentifier
IoGetSilo
IoGetSiloParameters
IoGetStackLimits
IoGetSymlinkSupportInformation
IoGetTopLevelIrp
IoGetTransactionParameterBlock
IoIncrementKeepAliveCount
IoInitializeIrp
IoInitializeIrpEx
IoInitializeMiniCompletionPacket
IoInitializeRemoveLockEx
IoInitializeTimer
IoInitializeWorkItem
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIrpHasFsTrackOffsetExtensionType
IoIs32bitProcess
IoIsActivityTracingEnabled
IoIsFileObjectIgnoringSharing
IoIsFileOriginRemote
IoIsInitiator32bitProcess
IoIsOperationSynchronous
IoIsSystemThread
IoIsValidIrpStatus
IoIsValidNameGraftingBuffer
IoIsWdmVersionAvailable
IoLoadCrashDumpDriver
IoMakeAssociatedIrp
IoMakeAssociatedIrpEx
IoMapTransfer
IO_OBJECT_INVALID
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoOpenDriverRegistryKey
IoPageRead
IoPropagateActivityIdToThread
IoPropagateIrpExtension
IoPropagateIrpExtensionEx
IoQueryDeviceDescription
IoQueryFileDosDeviceName
IoQueryFileInformation
IoQueryFullDriverPath
IoQueryInformationByName
IoQueryInterface
IoQueryKsrPersistentMemorySize
IoQueryVolumeInformation
IoQueueThreadIrp
IoQueueWorkItem
IoQueueWorkItemEx
IoQueueWorkItemToNode
IoRaiseHardError
IoRaiseInformationalHardError
IoReadDiskSignature
IoReadOperationCount
IoReadPartitionTable
IoReadPartitionTableEx
IoReadTransferCount
IoRecordIoAttribution
IoRegisterBootDriverCallback
IoRegisterBootDriverReinitialization
IoRegisterContainerNotification
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterFileSystem
IoRegisterFsRegistrationChange
IoRegisterFsRegistrationChangeMountAware
IoRegisterIoTracking
IoRegisterLastChanceShutdownNotification
IoRegisterPlugPlayNotification
IoRegisterPriorityCallback
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLockAndWaitEx
IoReleaseRemoveLockEx
IoReleaseVpbSpinLock
IoRemoveLinkShareAccess
IoRemoveLinkShareAccessEx
IoRemoveShareAccess
IoReplaceFileObjectName
IoReplacePartitionUnit
IoReportDetectedDevice
IoReportHalResourceUsage
IoReportInterruptActive
IoReportInterruptInactive
IoReportResourceForDetection
IoReportResourceUsage
IoReportRootDevice
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoRequestDeviceEjectEx
IoRequestDeviceRemovalForReset
IoReserveDependency
IoReserveKsrPersistentMemory
IoResolveDependency
IoRetrievePriorityInfo
IoReuseIrp
ios_base::badbit set
ios_base::eofbit set
ios_base::failbit set
IoSetActivityIdIrp
IoSetActivityIdThread
IoSetAdapterCryptoEngineExtension
IoSetCompletionRoutineEx
IoSetDependency
IoSetDeviceInterfacePropertyData
IoSetDeviceInterfaceState
IoSetDevicePropertyData
IoSetDeviceToVerify
IoSetFileObjectIgnoreSharing
IoSetFileOrigin
IoSetFsTrackOffsetState
IoSetFsZeroingOffset
IoSetFsZeroingOffsetRequired
IoSetGenericIrpExtension
IoSetHardErrorOrVerifyDevice
IoSetInformation
IoSetIoAttributionIrp
IoSetIoCompletion
IoSetIoCompletionEx
IoSetIoPriorityHint
IoSetIoPriorityHintIntoFileObject
IoSetIoPriorityHintIntoThread
IoSetIrpExtraCreateParameter
IoSetLinkShareAccess
IoSetMasterIrpStatus
IoSetPartitionInformation
IoSetPartitionInformationEx
IoSetShareAccess
IoSetShareAccessEx
IoSetStartIoAttributes
IoSetSystemPartition
IoSetThreadHardErrorMode
IoSetTopLevelIrp
IoSizeofGenericIrpExtension
IoSizeOfIrpEx
IoSizeofWorkItem
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStatisticsLock
IoSteerInterrupt
IoStopTimer
iostream
iostream stream error
IoSynchronousCallDriver
IoSynchronousPageWrite
IoTestDependency
IO_THREADPOOL_DEADLOCK_LIVEDUMP
IoThreadToProcess
IoTransferActivityId
IoTranslateBusAddress
IoTriageDumpData
IoTryQueueWorkItem
IoUninitializeWorkItem
IoUnregisterBootDriverCallback
IoUnregisterContainerNotification
IoUnregisterFileSystem
IoUnregisterFsRegistrationChange
IoUnregisterIoTracking
IoUnregisterPlugPlayNotification
IoUnregisterPlugPlayNotificationEx
IoUnregisterPriorityCallback
IoUnregisterShutdownNotification
IoUpdateLinkShareAccess
IoUpdateLinkShareAccessEx
IoUpdateShareAccess
IoValidateDeviceIoControlAccess
IoVerifyPartitionTable
IoVerifyVolume
IoVolumeDeviceNameToGuid
IoVolumeDeviceNameToGuidPath
IoVolumeDeviceToDosName
IoVolumeDeviceToGuid
IoVolumeDeviceToGuidPath
IoWithinStackLimits
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToInstanceName
IoWMIDeviceObjectToProviderId
IoWMIExecuteMethod
IoWMIHandleToInstanceName
IoWMIOpenBlock
IoWMIQueryAllData
IoWMIQueryAllDataMultiple
IoWMIQuerySingleInstance
IoWMIQuerySingleInstanceMultiple
IoWMIRegistrationControl
IoWMISetNotificationCallback
IoWMISetSingleInstance
IoWMISetSingleItem
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWriteKsrPersistentMemory
IoWriteOperationCount
IoWritePartitionTable
IoWritePartitionTableEx
IoWriteTransferCount
ip6.arpa.
IPHLPAPI.DLL
IPI_WATCHDOG_TIMEOUT
Ipv4Settings
IPv6 address
IPv6 Address
Ipv6Settings
I_RpcExceptionFilter
I_RpcServerInqRemoteConnAddress
IRP_MJ_??
IRP_MJ_BOGUS
IRP_MJ_CLEANUP
IRP_MJ_CLOSE
IRP_MJ_CREATE
IRP_MJ_CREATE_MAILSLOT
IRP_MJ_CREATE_NAMED_PIPE
IRP_MJ_DEVICE_CHANGE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_DIRECTORY_CONTROL
IRP_MJ_FILE_SYSTEM_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_LOCK_CONTROL
IRP_MJ_PNP
IRP_MJ_PNP.
IRP_MJ_POWER
IRP_MJ_POWER.
IRP_MJ_QUERY_EA
IRP_MJ_QUERY_INFORMATION
IRP_MJ_QUERY_QUOTA
IRP_MJ_QUERY_SECURITY
IRP_MJ_QUERY_VOLUME_INFORMATION
IRP_MJ_READ
IRP_MJ_SCSI
IRP_MJ_SET_EA
IRP_MJ_SET_INFORMATION
IRP_MJ_SET_QUOTA
IRP_MJ_SET_SECURITY
IRP_MJ_SET_VOLUME_INFORMATION
IRP_MJ_SHUTDOWN
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_SYSTEM_CONTROL.
IRP_MJ_SYSTEM_CONTROL has been completed by someone other than the
IRP_MJ_WRITE
IRP_MN_BOGUS
IRP_MN_CANCEL_REMOVE_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
IRP_MN_CHANGE_SINGLE_INSTANCE
IRP_MN_CHANGE_SINGLE_ITEM
IRP_MN_DEVICE_USAGE_NOTIFICATION
IRP_MN_DISABLE_COLLECTION
IRP_MN_DISABLE_EVENTS
IRP_MN_EJECT
IRP_MN_ENABLE_COLLECTION
IRP_MN_ENABLE_EVENTS
IRP_MN_EXECUTE_METHOD
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_POWER_SEQUENCE
IRP_MN_QUERY_ALL_DATA
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_QUERY_ID
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_POWER
IRP_MN_QUERY_REMOVE_DEVICE
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_SINGLE_INSTANCE
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_READ_CONFIG
IRP_MN_REGINFO
IRP_MN_REMOVE_DEVICE - 
IRP_MN_SET_LOCK
IRP_MN_SET_POWER
IRP_MN_START_DEVICE
IRP_MN_STOP_DEVICE
IRP_MN_SURPRISE_REMOVAL
IRP_MN_WAIT_WAKE
IRP_MN_WRITE_CONFIG
IrpStatus
IRQL_GT_ZERO_AT_SYSTEM_SERVICE
IRQL_NOT_DISPATCH_LEVEL
IRQL_NOT_GREATER_OR_EQUAL
IRQL_NOT_LESS_OR_EQUAL
IrqlState
IRQL_UNEXPECTED_VALUE
isAadEnrollment
IsAccountConfiguredToUseClientCert
isAcOnline
is a directory
Is a directory
	IsAdmin
IsAdminCapability
IsAdminMode
IsAdminToken
IsApiSetImplemented
Is Applicable:
IsAppThemed
IsAssignedAccess
IsAuditMode
IsAutoRebootAllowed method :auto reboot chosen by user
IsAutoRebootAllowed method :opted into auto reboot
isBatteryChargeLimitingFlag
IsBatteryChargeLimitingMode
isBatteryChargingStateAdequateFlag
isBatteryChargingStatePowerSupplyPresentFlag
isCapacityRelative
isCapacityRelativeBatteryFlag
isCapacityUnavailable
IsCharAlphaNumericW
IsCharAlphaW
isChargingBatteryFlag
IsClipboardFormatAvailable
IsConfirmedByUser
	?IsContentProtected@Edit@DirectUI@@UEAA_NXZ
	?IsContentProtected@Element@DirectUI@@UEAA_NXZ
IsContextMenu
isCriticalBatteryFlag
isDeadlineForFUConfigured
isDeadlineForNonFUConfigured
IsDebuggerPresent
IsDeveloperModeEnabled
isDevicePastDeadline
isDevicePastEffectiveDeadline
IsDevicePresenting
IsDialogMessageW
isDischargingBatteryFlag
IsDisplayAllowed
IsDisplayBurstSuppressed
isDisplayOff
IsDlgButtonChecked
ISDN address
isEnergyCounterUnavailable
isEngagedRestartDeadlineForFUConfigured
isEngagedRestartDeadlineForNonFUConfigured
isEngagedRestartSnoozeForFUConfigured
isEngagedRestartSnoozeForNonFUConfigured
isEngagedRestartTransitionForFUConfigured
isEngagedRestartTransitionForNonFUConfigured
IsEnhancedEngagedReboot
IsExceedingMaximumHoursOverlapAllowed
IsExternalMonitorConnected
isFccUnavailable
is Feature Update
IsFeatureUpdatePending
IsFocusAssist
IsForcedEnabled
isForcedModeEnabled
IsFullScreen
IsGameModeActive
	?IsGlobal@ClassInfoBase@DirectUI@@UEBA_NXZ
isGracePeriodEligible
is greater than the output section of the system buffer.
IsHungAppWindow
IsIconic
isInputSuppressionOptedIn
IsInteractiveUser
isKernelDetectedBatteryDischarging
isKernelDetectedWeakCharger
IsLeftController
isLidClosed
isLidStateIgnored
IsLogEntry
isMachineOnACPower
IsMachineOnACPower
_ismbblead
IsMetaPackage
|IsMouseInPointerEnabled
	?IsMSAAEnabled@HWNDElement@DirectUI@@UEAA_NXZ
IsNetworkPath
isNoExternalMonitorPresent
is NonFeature Update
is_numeric_hostname called with NULL hostname
ISO8601StringToFileTime
ISO8601StringToSystemTime
isOptedIntoAutoReboot
IsOsPreRS1
IsPathCanonical failed
	?IsPatternSupported@ElementProxy@DirectUI@@IEAAJW4Pattern@Schema@2@PEA_N@Z
IsPhoneOS
isPolicyConfigured
isPowerActionCallIgnored
isPowerOnlineBatteryFlag
isPowerPolicyEnabled
isPowerSourceConnected
isPowerStateDc
IsProcessInJob
IsProcessorFeaturePresent
IsProtectionEnabled
IsRebootRequired
IsRebootScheduledByUser
isRecoverable
IsRectEmpty
	?IsRTLReading@Element@DirectUI@@UEAA_NXZ
is_running
Is Running
IsRunning
Is SBC Allowed:
IsScheduledBySmartScheduler
IsScheduledByUser
IsSecureBootBound
IsSmartBusyCheckApplicable
isSpoiledIndefinate
	?IsSubclassOf@ClassInfoBase@DirectUI@@UEBA_NPEAUIClassInfo@2@@Z
IsSuggestionNeeded
IsSystemNeededReasonIgnoredInAutoMode
IsTestMode
IsTextUnicode
IStream_Size
IsUltimateForcedEnabled
isUltimateForcedModeEnabled
is unchanged
is unknown
IsUserLoggedIn
IsValidAcl
IsValidCodePage
IsValidLocale
	?IsValidProperty@ClassInfoBase@DirectUI@@UEBA_NPEBUPropertyInfo@2@@Z
IsValidRedirectUrl failed
IsValidSecurityDescriptor
IsValidSecurityDescriptor return FALSE
IsValidSid
iswalnum
iswalpha
iswascii
iswctype
iswdigit
IsWellKnownSid
IsWindow
IsWindowEnabled
IsWindowVisible
IsWordWrap
IsWow64Process
iswprint
iswspace
isxdigit
IsZoomed
Iteration
It is also possible that a host key has just been changed.
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
It is required that your private key files are NOT accessible by others.
ITSPlatform::CreateThread failed
ITSPlatform::Initialize failed
ITsRdpSignature::Serialize failed
ITsRdpSignature::SetCertificate failed
ITsRdpSignature::SetUnsignedBlob failed
ITsRdpSignature::Sign failed
ITsSettingsStore::GetSignature failed
ITsSettingsStore::GetSignatureType failed
ITSThread::BindThread failed
it upon receiving a remove IRP.
IumEnablement
IumPolicy
IumSdk.dll
IumStatus
IumTelemetryProvider
IUnknown_GetSite
IUnknown_QueryService
IUnknown_Set
IUnknown_SetSite
IXmlDDOMDocument::load failed.
IXmlDDOMDocument::save failed.
IXmlDOMDocument::put_async failed.
IXmlDOMDocument::putref_schemas failed.
IXmlDOMDocument::put_resolveExternals failed.
IXmlDOMDocument::put_validateOnParse failed.
IXmlDOMDocument::setProperty failed.
#IXMLDOMNamedNodeMap::getNamedItem failed
IXMLDOMNode::get_attributes failed
IXMLDOMNode::get_nodeValue failed
IXMLDOMNodeList::get_item failed
IXMLDOMNodeList::get_length failed
IXMLDOMNodeList::get_length failed.
IXMLDOMNodeList::get_length failed for all folder nodes
IXMLDOMNodeList::get_length failed for all icon nodes
IXMLDomNodeList::item failed.
IXMLDOMNode::selectNodes failed
IXMLDOMNode::selectNodes failed for all icon nodes
IXMLDOMNode::SelectNodes failed for all resources.
IXMLDOMNode::SelectNodes failed for all status infos.
IXMLDOMSchemaCollection::add failed.
iYHG_XW!]VR*LGC
"**"*j"""
*****"""""***"j""
j**"""""***""
J0I9H0u6
J2AJ)3P;
JanFebMarAprMayJunJulAugSepOctNovDec
JCRDPENCPlatformContext
            [-J destination] [-l limit] [-o ssh_option] [-P port]
          [-J destination] [-l limit] [-o ssh_option] [-P port]
J (	DPBf
jea zod8
J E!B(E;
J"fA3J f3
J(I9H(u@H
jIN6hE1	9!
J	?InitPropSheetPage@TaskPage@DirectUI@@MEAAXPEAU_PROPSHEETPAGEW@@@Z
[[[[jjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
JJL5jjlf
JobPrivateCommitLimitPages
JobPrivateCommitUsedPages
JobSharedCommitUsedPages
JobTotalCommitLimitPages
joyReleaseCapture
joySetCapture
JPA9HPu-
JPartA_PrivTags
jpConsentStatus
jpg_count
JPG count
JSCRIPT_E_CANTEXECUTE
[json.exception.
                  [-j start_line] [-K checkpt] [-W generator]
K32EnumProcesses
K32EnumProcessModules
K32GetModuleBaseNameW
K32GetProcessMemoryInfo
K(@8qEu@
'KaadddeeefhhO
Kaspersky shim: failed to register.
kbdinteractiveauthentication
kbdinteractivedevices
KdAcquireDebuggerLock
      -KD[bind_address:]port                 Cancel dynamic forward
KdChangeOption
kdcom.dll
KdComPortInUse
KdDebuggerEnabled
KdDebuggerNotPresent
KdDeregisterPowerHandler
KdDisableDebugger
KdEnabled
KdEnableDebugger
KdEnteredDebugger
KdEventLoggingEnabled
KdGetDebugDevice
KdHvComPortInUse
KdInitialize
kd_'jc_!c[W
KdLogDbgPrint
KdPollBreakIn
KdPowerTransition
KdPowerTransitionEx
KdReceivePacket
KdRefreshDebuggerNotPresent
KdRegisterPowerHandler
KdReleaseDebuggerLock
KdSendPacket
KdSetEventLoggingPresent
KdSetHiberRange
KdSystemDebugControl
KDTARGET: Refreshing KD connection
KeAcquireGuardedMutex
KeAcquireGuardedMutexUnsafe
KeAcquireInStackQueuedSpinLock
KeAcquireInStackQueuedSpinLockAtDpcLevel
KeAcquireInStackQueuedSpinLockForDpc
KeAcquireInStackQueuedSpinLockRaiseToSynch
KeAcquireInterruptSpinLock
KeAcquireQueuedSpinLock
KeAcquireQueuedSpinLockRaiseToSynch
KeAcquireSpinLockAtDpcLevel
KeAcquireSpinLockForDpc
KeAcquireSpinLockRaiseToDpc
KeAcquireSpinLockRaiseToSynch
KeAddGroupAffinityEx
KeAddProcessorAffinityEx
KeAddProcessorGroupAffinity
KeAddSystemServiceTable
KeAddTriageDumpDataBlock
KeAlertThread
KeAllocateCalloutStack
KeAllocateCalloutStackEx
KeAllocateProcessorProfileStructures
KeAndAffinityEx
KeAndGroupAffinityEx
KeAreAllApcsDisabled
KeAreApcsDisabled
KeAttachProcess
KeBugCheck
KeBugCheckEx
KeCancelTimer
KeCancelTimer2
KeCapturePersistentThreadState
KeCheckProcessorAffinityEx
KeCheckProcessorGroupAffinity
KeClearEvent
KeClockInterruptNotify
KeClockTimerPowerChange
KeComplementAffinityEx
KeConnectInterruptForHal
KeConvertAuxiliaryCounterToPerformanceCounter
KeConvertPerformanceCounterToAuxiliaryCounter
KeCopyAffinityEx
KeCountSetBitsAffinityEx
KeCountSetBitsGroupAffinity
KeDelayExecutionThread
KeDeregisterBoundCallback
KeDeregisterBugCheckCallback
KeDeregisterBugCheckReasonCallback
KeDeregisterNmiCallback
KeDeregisterProcessorChangeCallback
KeDetachProcess
KeDispatchSecondaryInterrupt
KeDynamicPartitioningSupported
KeEnterCriticalRegion
KeEnterGuardedRegion
KeEnterKernelDebugger
KeEnumerateNextProcessor
keepalive
KeepAliveOnBatteryWarning
keepalive@openssh.com
KeExpandKernelStackAndCallout
KeExpandKernelStackAndCalloutEx
KeFindConfigurationEntry
KeFindConfigurationNextEntry
KeFindFirstSetLeftAffinityEx
KeFindFirstSetLeftGroupAffinity
KeFindFirstSetRightAffinityEx
KeFindFirstSetRightGroupAffinity
KeFirstGroupAffinityEx
KeFlushCurrentTbImmediately
KeFlushEntireTb
KeFlushIoBuffers
KeFlushQueuedDpcs
KeFlushWriteBuffer
KeForceEnableNx
KeFreeCalloutStack
KeGenericCallDpc
KeGetClockOwner
KeGetClockTimerResolution
KeGetCurrentIrql
KeGetCurrentNodeNumber
KeGetCurrentProcessorNumberEx
KeGetCurrentThread
KeGetEffectiveIrql
KeGetNextClockTickDuration
KeGetProcessorIndexFromNumber
KeGetProcessorNumberFromIndex
KeGetRecommendedSharedDataAlignment
KeGetXSaveFeatureFlags
KeHwPolicyLocateResource
KeInitializeAffinityEx
KeInitializeApc
KeInitializeCrashDumpHeader
KeInitializeDeviceQueue
KeInitializeDpc
KeInitializeEnumerationContext
KeInitializeEnumerationContextFromAffinity
KeInitializeEnumerationContextFromGroup
KeInitializeEvent
KeInitializeGuardedMutex
KeInitializeInterrupt
KeInitializeMutant
KeInitializeMutex
KeInitializeQueue
KeInitializeSecondaryInterruptServices
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeThreadedDpc
KeInitializeTimer
KeInitializeTimer2
KeInitializeTimerEx
KeInitializeTriageDumpDataArray
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertHeadQueue
KeInsertQueue
KeInsertQueueApc
KeInsertQueueDpc
KeInterlockedClearProcessorAffinityEx
KeInterlockedSetProcessorAffinityEx
KeInvalidateAllCaches
KeInvalidateRangeAllCaches
KeInvalidateRangeAllCachesNoIpi
KeIpiGenericCall
KeIsAttachedProcess
KeIsEmptyAffinityEx
KeIsEqualAffinityEx
KeIsExecutingDpc
KeIsSingleGroupAffinityEx
KeIsSubsetAffinityEx
KeIsWaitListEmpty
KeLastBranchMSR
KeLeaveCriticalRegion
KeLeaveGuardedRegion
KeLoaderBlock
KeLoadMTRR
KeLowerIrql
KeNotifyProcessorFreezeSupported
KeNumberProcessors
KeOrAffinityEx
KePrepareToDispatchVirtualProcessor
KeProcessorGroupAffinity
KeProfileInterruptWithSource
KePulseEvent
KeQueryActiveGroupCount
KeQueryActiveProcessorAffinity
KeQueryActiveProcessorCount
KeQueryActiveProcessorCountEx
KeQueryActiveProcessors
KeQueryAuxiliaryCounterFrequency
KeQueryDpcWatchdogInformation
KeQueryEffectivePriorityThread
KeQueryGroupAffinity
KeQueryGroupAffinityEx
KeQueryHardwareCounterConfiguration
KeQueryHeteroCpuPolicyThread
KeQueryHighestNodeNumber
KeQueryInterruptTimePrecise
KeQueryLogicalProcessorRelationship
KeQueryMaximumGroupCount
KeQueryMaximumProcessorCount
KeQueryMaximumProcessorCountEx
KeQueryNodeActiveAffinity
KeQueryNodeMaximumProcessorCount
KeQueryPerformanceCounter
KeQueryPrcbAddress
KeQueryPriorityThread
KeQueryRuntimeThread
KeQuerySystemTimePrecise
KeQueryTimeIncrement
KeQueryTotalCycleTimeThread
KeQueryUnbiasedInterruptTime
KeQueryUnbiasedInterruptTimePrecise
KeRaiseIrqlToDpcLevel
KeRaiseUserException
kerberosauthentication
kerberostgtpassing
KeReadStateEvent
KeReadStateMutant
KeReadStateMutex
KeReadStateQueue
KeReadStateSemaphore
KeReadStateTimer
KeReenterRetpolinedCode
KeRegisterBoundCallback
KeRegisterBugCheckCallback
KeRegisterBugCheckReasonCallback
KeRegisterNmiCallback
KeRegisterProcessorChangeCallback
KeReleaseGuardedMutex
KeReleaseGuardedMutexUnsafe
KeReleaseInStackQueuedSpinLock
KeReleaseInStackQueuedSpinLockForDpc
KeReleaseInStackQueuedSpinLockFromDpcLevel
KeReleaseInterruptSpinLock
KeReleaseMutant
KeReleaseMutex
KeReleaseQueuedSpinLock
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockForDpc
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveByKeyDeviceQueueIfBusy
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveGroupAffinityEx
KeRemoveProcessorAffinityEx
KeRemoveProcessorGroupAffinity
KeRemoveQueue
KeRemoveQueueDpc
KeRemoveQueueDpcEx
KeRemoveQueueEx
KeRemoveSystemServiceTable
KeReportCacheIncoherentDevice
KeResetEvent
KeRestoreExtendedProcessorState
KeRestoreFloatingPointState
KeRevertToUserAffinityThread
KeRevertToUserAffinityThreadEx
KeRevertToUserGroupAffinityThread
KERNEL32.dll
KERNEL_APC_PENDING_DURING_EXIT
KERNEL_AUTO_BOOST_INVALID_LOCK_RELEASE
KERNEL_AUTO_BOOST_LOCK_ACQUISITION_WITH_RAISED_IRQL
KERNELBASE.dll
KernelCallbackTiming
KERNEL_DATA_INPAGE_ERROR
KernelExecutive
KERNEL_EXPAND_STACK_ACTIVE
KernelGeneral
KernelHotPatchOperationStatus
KERNEL_LOCK_ENTRY_LEAKED_ON_THREAD_TERMINATION
KERNEL_MODE_EXCEPTION_NOT_HANDLED
KERNEL_MODE_HEAP_CORRUPTION
Kernel_OSStateChange_CS
Kernel_OSStateChange_CSResume
Kernel_OSStateChange_Hiberboot
Kernel_OSStateChange_HiberbootResume
Kernel_OSStateChange_Hibernate
Kernel_OSStateChange_HibernateResume
Kernel_OSStateChange_HybridSleep
Kernel_OSStateChange_HybridSleepResume
Kernel_OSStateChange_Reboot
Kernel_OSStateChange_Shutdown
Kernel_OSStateChange_Standby
Kernel_OSStateChange_StandbyResume
KernelPadSectionsOverride shim: failed to register.
KernelPadSectionsOverride shim: failed to set KernelPadSectionsOverride value.
KERNEL_PARTITION_REFERENCE_VIOLATION
KernelProcess
Kernel_Process_Crash
Kernel_Process_Hang
KERNEL_SECURITY_CHECK_FAILURE
KernelSpace
KERNEL_STACK_INPAGE_ERROR
KERNEL_STACK_LOCKED_AT_EXIT
KERNEL_STORAGE_SLOT_IN_USE
KERNEL_THREAD_PRIORITY_FLOOR_VIOLATION
KERNEL_WMI_INTERNAL
KeRundownQueue
KeSaveExtendedProcessorState
KeSaveFloatingPointState
KeSaveStateForHibernate
KeSetActualBasePriorityThread
KeSetAffinityThread
KeSetBasePriorityThread
KeSetCoalescableTimer
KeSetDmaIoCoherency
KeSetEvent
KeSetEventBoostPriority
KeSetHardwareCounterConfiguration
KeSetHeteroCpuPolicyThread
KeSetIdealProcessorThread
KeSetImportanceDpc
KeSetKernelStackSwapEnable
KeSetLastBranchRecordInUse
KeSetPriorityThread
KeSetProfileIrql
KeSetSelectedCpuSetsThread
KeSetSystemAffinityThread
KeSetSystemAffinityThreadEx
KeSetSystemGroupAffinityThread
KeSetTargetProcessorDpc
KeSetTargetProcessorDpcEx
KeSetTimer
KeSetTimer2
KeSetTimerEx
KeSetTracepoint
KeShouldYieldProcessor
KeSignalCallDpcDone
KeSignalCallDpcSynchronize
KeStackAttachProcess
KeStallExecutionProcessor
KeStallWhileFrozen
KeStartDynamicProcessor
KeSubtractAffinityEx
KeSweepLocalCaches
KeSynchronizeExecution
KeSynchronizeTimeToQpc
KeSystemFullyCacheCoherent
KeTestAlertThread
KeTestSpinLock
KeTryToAcquireGuardedMutex
KeTryToAcquireQueuedSpinLock
KeTryToAcquireQueuedSpinLockRaiseToSynch
KeTryToAcquireSpinLockAtDpcLevel
KeUnstackDetachProcess
KeUpdateThreadTag
KeUserModeCallback
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
KeWriteProtectPAT
kex_algorithms
kexalgorithms
KEX algorithms
kex_buf2prop
kex_exchange_identification
kex_input_ext_info
kex_input_kexinit
kex_send_ext_info
kex_send_kexinit
kex_start_rekex
kex_verify_host_key
key add request is invalid
key bits do not match
KeyboardDialogCheckbox
keyboard-interactive
Keyboard-interactive authentication is disabled to avoid man-in-the-middle attacks.
keyboardLayout
keyByteCount
key-cert
key encrypted using unsupported cipher
	?KeyFocusedProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
Key is revoked
key lacks certificate data
key not found
key-plain
key type does not match
key write failed
K"f3K fA3
KfRaiseIrql
kH9Y8tRH
K(H;K(r1
KHyc]XRI
KiBugCheckData
KiCheckForKernelApcDelivery
KiInitializeMTRR: Found non-contiguous MTRR mask!
KiInitializeMTRR: MTRR_MSR_DEFAULT is not consistent between processors.
KillTimer
KiRaiseUserExceptionDispatcher
KitLogFeatureUsage
KiUserApcDispatcher
KiUserCallbackDispatcher
KiUserExceptionDispatcher
KiUserInvertedFunctionTable
kjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjl
kkkk::::
kkkkoooo
      -KL[bind_address:]port                 Cancel local forward
  -k          Load only keys and not certificates.
KMODE_EXCEPTION_NOT_HANDLED
known_hosts_find_delete
known_hosts path too long
      -KR[bind_address:]port                 Cancel remote forward
KRL certificate section contains unparsed data
KRL checking requires an input file
KRL contains non-signature section after signature
KRL file has invalid magic number
KRL generation requires an output file
KRL section contains unparsed data
KRL signed more than once with the same key
KSE: Callback shimming - missing driver object or driver name.
KSE: Cannot add hardware id until the kshim engine is initialized
KSE-DS: driver scope shim registered.
KSE: Failed to allocate memory for shim database during boot!
KSE: Failed to delete patch shim database!
KSE: GetShimCallbacks succeeded
KSE: KsepMatchInitCpuInfo failed
KSE: KsepSdbBootInitialize failed for patch SDB!
KSE: ObRefByHandle(section) failed!
KseQueryDeviceData
KseQueryDeviceDataList
KseQueryDeviceFlags
KseRegisterShim
KseRegisterShimEx
KSE: SdbInitDatabaseInMemory Failed!
KSE: SdbInitDatabaseInMemory failed during boot!
KseSetDeviceFlags
KSE: Shimmed driver unload notification processed
KSE: Two shims are hooking same callback! 
KSE: Unable to map view of section!
KseUnregisterShim
KSE: ZwCreateSection Failed!
KSE: ZwOpenFile failed opening DB file!
KSE: ZwQueryInformationFile failed getting DB file!
KsrClaimPersistedMemory
KsrCleanupPageDatabase
KsrEnumeratePersistedMemory
KsrFreePersistedMemory
KsrFreePersistedMemoryBlock
KsrGetFirmwareInformation
KsrInitPageDatabase
KsrInitSystem
KsrMdlToMemoryRuns
KsrPersistMemoryWithMetadata
KsrQueryMetadata
K SVWATAUAVAWH
K SVWAUAVAWH
K SVWAVAWH
K SVWAVH
ktmw32.dll
K UVWATAUAVAWH
K UWATAVAWH
k VATAUAVAWH
k VWATAVAWH
K VWATAVAWH
K VWAUAVAWH
K WATAUAVAWH
K WAVAWH
KZf3OZf#
l1_cache
L1 Cache
L1s(H1s0H
L1w(H1w0H
l2_cache
L2 Cache
L9c@u-eH
L9mxtdL9
L9mxtlL9
L9P t	M;
L9s u	9k0
languages ctos
languages stoc
LaptopPlugInReminder
L;A@r'L;AHw'E
LastBadPasswordTime: 
                                last boost client has exited.
LAST_CHANCE_CALLED_FROM_KMODE
LastCompatibleId
Last Fair Warning Timestamp
Last Forced Warning Timestamp
lastFullChargedCapacity
LastInputTime
lastInteractionId
LastKnownGood
LastLogoff: 
LastLogon: 
lastPageId
LastPowerWatchdogStage
LastPressBootId
LastPressTime
LastProblem
LastProblemStatus
Last reboot marked time deleted.
Last reboot marked time read
Last reboot marked time updated post reboot.
Last Reboot Required Timestamp
LastReleaseBootId
LastReleaseTime
Last reminder value is retrieved via one settings
lastReorganizeTime
	lastStateOfCharge
lastStateOfChargeFccAdjusted
LastStateTransition
LastStateTransitionSub
LastTimeZoneBias
LastTimeZoneId
LastVirtualAddress
LatencyHintPerf
LatencyHintUnpark
Latency(us)
LaunchClientProcessFromWow64 failed
LaunchCount
LaunchedForFlow
Launched UX from broker and the user process timed out on wait
LaunchHypervisorTime
LaunchingPackagedCWA
Launching tray icon from system context
Launching tray icon from user context
LaunchNetworkingPackage
LaunchNotepadComplete
LaunchNotepadStart
LaunchODT
LaunchSearchAndSelectStop
LaunchSettingsInCPL
launchTime
LaunchVsmTime
LaunchWithAutomation
LaunchWithDocument
LaunchWithEmbedding
LaunchWithPrint
LaunchWithPrintTo
?LayoutProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
@Lbi5Y0S
      -L[bind_address:]port:host:hostport    Request local forward
L;B w L;B
___lc_codepage_func
___lc_collate_cp_func
lcd path                           Change local directory to 'path'
___lc_handle_func
LCIDToLocaleName
LCMapStringA
LCMapStringEx
LCMapStringW
LDDLltLtle
LdrAccessResource
LdrAddRefDll
LdrEnumResources
LdrFastFailInLoaderCallout
LdrFindResourceDirectory_U
LdrFindResourceEx_U
LdrFindResource_U
LdrInitializeThunk
LDriver has attempted to detach from a device object which is not
LdrResFindResource
LdrResFindResourceDirectory
LdrResSearchResource
LdrSystemDllInitBlock
LdrUnloadDll
lDWordToInt failed
leak. Check the documentation for IoReuseIrp if this IRP is being
LeapSecondDataParseFailed
LeapSecondDataUpdate
Learn more clicked on CTA dialog
LeaveCriticalSection
    LED State
?Left@CHString@@QEBA?AV1@H@Z
Left-over characters in stream after parsing a JSON value
LengthOfServerID
lFlagsWWd
lflfffflg
lflflflf
||||l|||g
libcrypto.dll
library. See the NVIDIA developer website for more information about NVML.
Licensed
licensed_product_name
license_status
License Status
LidOpenState
lidState
LidState
- Limited Support
LimitedToNonLimitedTokenSessionImpersonation
lineNumber
LinkedTokenQuery
Link has been severed
Link is supported
            Link Width
List all boost sliders
List all compute policies
List all devices
	List all NVIDIA GPU devices in this computer
List all synchronous boost groups
--list-blacklist-gpus
Listener is terminated
--list-excluded-gpus
list forwarded connections
--list-gpus
--list-info
Listing all GPUs.
List of accounted compute processes.
List of currently active compute processes.
List of device memory pages that have been retired.
List of possible memory and graphics clocks combinations that the GPU can operate on (not taking into account HW brake reduced clocks). These are the only clock combinations that can be passed to --applications-clocks flag.
List of processes having compute context on the device.
List of properties that can be queried are:
List of supported clocks.
  LIST OPTIONS:
   (Lists all of the GPU devices on this computer)
List supported input values. Incompatible with input options
ListViewPage::GetUserChoices
ListViewPage::NotifyHandler
ListViewPage::OnGetInfoTip
ListViewPage::OnSetActive
liTime.QuadPart is overflowed
LIVE_SYSTEM_DUMP
LkgConfigurationLoadStatus
  -l          List fingerprints of all identities.
  -L          List public key parameters of all identities.
Ll||||l||
LLlLLllll
|llllllln
llllppppHHHHPPPP
llllVVVV
           [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
lls [ls-options [path]]            Display local directory listing
lmkdir path                        Create local directory
LmOwfPassword
LmPasswordHistory
LM_SERVER_INTERNAL_ERROR
lnnnynygz
ln [-s] oldpath newpath            Link remote file (-s for symlink)
LoadAcceleratorsW
LoadAllSettings Failed
LoadBitmapW
LoadConnectionSharingSettings failed
LoadCursorW
LoadDefaultProfile failed
LoadDefaultProfile Failed
LOADER_BLOCK_MISMATCH
LOADER_ROLLBACK_DETECTED
?LoadFromResource@DUIFactory@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG1PEAVElement@2@PEAKPEAPEAV42@1@Z
LoadHistoryXml
load_hostkeys
LoadHttpHelperLibrary failed
LoadHypervisorTime
LoadIconW
LoadImage failed
LoadImageStart
LoadImageW
Loading odbcconf.dll
LoadInitiationIds
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryW
LoadMenuW
?LoadPage@TaskPage@DirectUI@@MEAAJPEAVHWNDElement@2@PEAUHINSTANCE__@@PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?LoadParser@TaskPage@DirectUI@@MEAAJPEAPEAVDUIXmlParser@2@@Z
LoadPatch
LoadPatchForUser
load_pkcs11_key
load_public_identity_files
LoadResource
load_sign_key
LoadStartupItems
LoadString
LoadStringW
_LoadSystemModule failed for shlwapi.dll
_LoadSystemModule failed for wintrust.dll
LoadSystemServices
LoadUserNameFromStore failed
LoadVsmTime
LocalAlloc
localcommand
localeconv
LocaleNameToLCID
LocalFileTimeToFileTime
localforward
LocalFree
localhost
localhost:
LOCALHOST
localInputFileTime
LocalLock
LocalReAlloc
LocalSize
LocalTime
LocalUnlock
_local_unwind
localuser
location
Location
LockDisplayTimeoutOverrideActive
LOCKED_PAGES_TRACKER_CORRUPTION
LockResource
LockSetForegroundWindow
LockWindowUpdate
log1Sequence
log1Type
log2Sequence
log2Type
LogContainerLimitReached
logDataLength
logEntries
logFileSize
logFileStatus
LogFileSwap
logger already initialized
logger not initialized
login failed
login failed for always-auth key
loglevel
logoncli.dll
LogonHours
Logon update results task created
LogonUserExExW
LogSequenceNumberGapDetected
LogServerSideTimeSaved
LookupAccountNameLocalW
LookupAccountNameW
LookupAccountSidLocalW
LookupAccountSidW
LookupPrivilegeValueW
lost connection
Low Battery Index
lowdelay
Low Disk Toast is invoked
Low Double Precision
LowestStartingAddress
LOW_POWER
LowUptime
LowUptime notification params
LPC_INITIALIZATION_FAILED
LpcPortObjectType
LpcReplyWaitReplyPort
LpcRequestPort
LpcRequestWaitReplyPort
LpcRequestWaitReplyPortEx
LpcSendWaitReceivePort
lpwd                               Print local working directory
ls [-1afhlnrSt] [path]             Display remote directory listing
LsaAddAccountRights
LSA_AUTHENTICATION_INITIALIZED
LsaCallAuthenticationPackage
LsaClose
LsaConnectUntrusted
LsaConnectUntrusted failed!
LsaDeregisterLogonProcess
LsaEnumerateAccountRights
LsaFreeMemory
LsaFreeReturnBuffer
LsaLogonUser
LsaLookupAuthenticationPackage
LsaLookupAuthenticationPackage failed!
LsaLookupNames
LsaLookupNames2
LsaLookupSids
LsaOpenPolicy
LsaQueryForestTrustInformation
LsaQueryForestTrustInformation2
LsaQueryInformationPolicy
LsaRegisterLogonProcess
LsaRemoveAccountRights
LsaRetrievePrivateData
LsaStorePrivateData
ls: connect
lsetstat@openssh.com
ls: socket
lstrcmpiW
lstrcmpW
lstrlenA
lstrlenW
ls: write
LTC_ERROR
lumask umask                       Set local umask to 'umask'
L!vHL!vP
lWoUeWm]j_j]E_
Lwuuwujz:
M0C6sAPR
M5ZYY[Y[Y[[______?
M89u0uVH
MACHINE_CHECK_EXCEPTION
MachineOOBEProcessActivity
MachineOOBEType
MACs ctos
MACs stoc
mail agent
mailbox information
mailbox-related data
mail destination
mail exchange
mail forwarder
mail group member
mail rename
MAILSLOT_FILE_SYSTEM
	mainly for programmers.
MaintenanceUI.dll
major function.
MajorVersion
MakeAbsoluteSD
MakeHistoryDirectory
_makepath_s
MakeQuotedString
MakeSelfRelativeSD
MakeString
Malformed array literal
Malformed comment
Malformed literal
Malformed numeric literal
Malformed object literal
Malformed string literal
Malformed token
Malformed Zip Data
malloc prop failed
    [mandatory]
Mandatory
Mandatory sensitive setting empty
Mandatory sensitive setting missing from file
Mandatory sensitive setting not present
ManualBugcheckRegistryConfig
MANUALLY_INITIATED_CRASH
MANUALLY_INITIATED_POWER_BUTTON_HOLD
ManualPowerButtonBugcheck
MapDialogRect
MapFlags
mappedImageName
MapViewOfFile
MapViewOfFileEx
MapVirtualKeyExW
MapWindowPoints
MarkImportantDumpData
markImportantDumpDataDuration_ms
MarkRequiredDumpData
markRequiredDumpDataDuration_ms
Master devices should return DeallocateObjectKeepRegisters
MatchCertificate
MatchCmdLine
MatchEnumTag
match_filter_blacklist failed
Matching host key fingerprint found in DNS.
MatchTagsInCmdLine
MatchToken
MaxActivationConcurrency
MaxActivationIntervalInUs
MAXAPICCLUSTER
    Max Clocks
    Max Customer Boost Clocks
MaxDaysToSupressNotificationsDuringRebootRequired
MaxDeviceConstraintIntervalInUs
MaxEntriesFlushed
MaxEntriesStored
MAXGROUP
Maximum amount memory used on the device by the context.
MaximumComputedSpread
Maximum frequency at which parts of the GPU are design to run.
Maximum frequency of graphics (shader) clock.
Maximum frequency of memory clock.
Maximum frequency of SM (Streaming Multiprocessor) clock.
maximumVariableSize
maximumVariableStorageSize
MAXIMUM_WAIT_OBJECTS_EXCEEDED
MaximumWaves
Maximum X Resolution
Maximum Y Resolution
Max Instances
max_link_gen
max_link_width
MaxLoggers
max_memory_usage
Max memory usage
max_power_limit
Max Power Limit
 MAXPROC
MAXPROCSPERCLUSTER
 * May be also reported during PState or clock change
__mb_cur_max
___mb_cur_max_func
MBR_CHECKSUM_MISMATCH
mbstowcs
mbstowcs_s
m_bstrAuthCookie.Append failed
m_bstrClaimsToken.Append(empty string) failed
m_bstrClaimsToken.Append failed
m_bstrHttpMethod.Append failed
m_bstrPreviousETag.Append failed
m_bstrUrl.Append failed
MBToUnicode
McsDeferredRebootReasonACPowerNeeded
m_cs.Init failed
MDEV UUID
MeasuredLaunch
memAllocDuration_ms
mem_clock
memcpy_s
Memcpy shim: failed to register.
MEM_E_INVALID_LINK
MEM_E_INVALID_ROOT
MEM_E_INVALID_SIZE
_memicmp
memmove_s
		Memory:
MEMORY1_INITIALIZATION_FAILED
memory allocation failed
Memory allocation failed
Memory allocation failure in cmdline_init.
memoryCaptureDuration_ms
--memory-clock
Memory Clock
    Memory Clock Samples
MemoryColdHint
Memory Current Temp
MemoryDumpType
memoryEstimateDuration_ms
memory.free
MemoryHotHint
MEMORY_IMAGE_CORRUPT
MEMORY_MANAGEMENT
Memory Max Operating Temp
memory.reserved
memory_temp
memory.total
memory.used
memory_util
Memory Utilization
    Memory Utilization Samples
Memory was accessed during this time that was not properly marked
MemSpace
mem_temp
mem_util
mem_utilization
MergeResultsXml
MesDecodeBufferHandleCreate
MesEncodeIncrementalHandleCreate
MesHandleFree
MesIncrementalHandleReset
message authentication code incorrect
MessageBeep
MessageBoxA
MessageBoxW
MessageBufferPtr
?MessageCallback@Edit@DirectUI@@UEAAIPEAUtagGMSG@@@Z
?MessageCallback@Element@DirectUI@@UEAAIPEAUtagGMSG@@@Z
?MessageCallback@HWNDHost@DirectUI@@UEAAIPEAUtagGMSG@@@Z
Messages
message size
message_size
Message timeout updated via OneSettings.
Message too long
Message too long!
MessageVersion
metaPackageId
MetAssignVariantString
MetCanonicalizeFilePath
MetCopyDir
MetCreateDirectory
MetCreateSddl
MetCreateSecurityDescriptor
Metered network next notification is scheduled successfully
MetExpandVariables
MetExtractCab
MetGetCurrentUserSid
method GetProcessIdWWW"
method StartRemoteApplicationW
MetInsertCurrentUserSid
MetIsAdminToken
MetLoadResourceString
MetParseLocaleString
MetSetCurrentDirectoryByFile
MetStrCpy
MetSubstituteParamSet
MetSubstituteXmlParameters
MetTryLoadResourceString
MetXmlCreate
MetXmlCreateElement
MetXmlGetAttribute
MetXmlGetNodes
MetXmlGetNodeText
MetXmlGetRootNode
MetXmlGetSingleNode
MetXmlLoad
MetXmlNextNode
MetXmlSetAttribute
MetXmlSetSelectionNamespace
MetXmlTextFromSingleNode
m_Extension not null on object destructor
                              m - FB and Bar1 Memory
                              m - FB memory usage
MFC42u.dll
MH? MH?pEA8
MH? MH?pvrk
MICROCODE_REVISION_MISMATCH
Microsoft Corporation1
Microsoft Corporation1)0'
Microsoft Corporation1;09
Microsoft Corporation1200
Microsoft Corporation1806
Microsoft Hv
Microsoft.Notepad
Microsoft.Office.Deployment.OfficeCsp
 Microsoft Operations Puerto Rico1
Microsoft.Paint
Microsoft.RDS.RADC.FeedSubscription
Microsoft.RDS.RdClient.Client.FeedSubscription
Microsoft.RDS.Windows.Client.AX
Microsoft.RDS.Windows.Client.MSRDC
)Microsoft Root Certificate Authority 20100
MICROSOFT (R) WINDOWS (TM)
"Microsoft Time Source Master Clock0
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
Microsoft Windows0
Microsoft.Windows.Accessibility.NarratorHome
Microsoft.Windows.Accessibility.Osk
Microsoft.Windows.Analog.PerceptionSimulation
Microsoft.Windows.ApplicationModel.DesktopAppx
Microsoft.Windows.Compatibility.Asl
Microsoft.Windows.Containers.RegistryVirtualization
Microsoft.Windows.Darwin
Microsoft.Windows.Desktop.Shell.MachineOOBE
Microsoft.Windows.Desktop.Shell.OOBEHealth
Microsoft.Windows.DeviceManagement.ConfigLock
Microsoft.Windows.DeviceManagement.ConfigManager2
Microsoft.Windows.DeviceManagement.DcSvc
Microsoft.Windows.DeviceManagement.DevDetailCsp
Microsoft.Windows.DeviceManagement.DevInfo
Microsoft.Windows.DeviceManagement.DmAccCsp
Microsoft.Windows.DeviceManagement.OmaDmApiProvider
Microsoft.Windows.DeviceManagement.OmaDmClient
Microsoft.Windows.DeviceManagement.OMADMPRC
Microsoft.Windows.DeviceManagement.SecurityPolicyCsp
Microsoft.Windows.DeviceManagement.SessionManagement
Microsoft-Windows-DeviceManagement-W7NodeProcessor
Microsoft.Windows.Diagnostics.Troubleshooter
Microsoft.Windows.EMPS.Enrollment
Microsoft.Windows.EnterpriseManagement.ConfigManagerHook
Microsoft.Windows.EnterpriseManagement.DeclaredConfiguration
Microsoft.Windows.EnterpriseManagement.Enrollment
Microsoft.Windows.EnterpriseManagement.PolicyManager
Microsoft.Windows.EnterpriseManagement.ResourceManager
Microsoft.Windows.EnterpriseManagement.ResourceManagerUnenrollHook
Microsoft.Windows.Kernel.BootEnvironment
Microsoft.Windows.Kernel.DeviceConfig
Microsoft.Windows.Kernel.FeatureConfigurationManager
Microsoft.Windows.Kernel.HAL
Microsoft.Windows.Kernel.Kernel
Microsoft.Windows.Kernel.LiveDump
Microsoft-Windows-Kernel-Mm
Microsoft.Windows.Kernel.PnP
Microsoft.Windows.Kernel.Power
Microsoft.Windows.Kernel.Power.DirectedDrips
Microsoft.Windows.Kernel.ProcessSubsystem
Microsoft.Windows.Kernel.Registry
Microsoft.Windows.Kernel.Security
Microsoft.Windows.Kernel.SysEnv
Microsoft.Windows.Kernel.Ttm
Microsoft-Windows-Kernel-Vm
Microsoft.Windows.Msconfig
Microsoft.Windows.Msinfo32
Microsoft.Windows.Narrator.Asimov
Microsoft.Windows.Networking.NetCfgExe
Microsoft.Windows.Power.SleepstudyHelper
Microsoft.Windows.Security.Capabilities
Microsoft.Windows.Security.Ngc.Truslet
Microsoft.Windows.Settings.Accessibility
Microsoft.Windows.Shell.OOBE
Microsoft.Windows.Shell.UserOOBE
Microsoft.Windows.TlgAggregateInternal
Microsoft.Windows.Update.NotificationUx
Microsoft.Windows.Update.Orchestrator
Microsoft.Windows.Update.Ux.MusNotification
Microsoft.Windows.Update.Ux.NotifyIcon
Microsoft.Windows.Wil.FeatureLogging
?Mid@CHString@@QEBA?AV1@HH@Z
?Mid@CHString@@QEBA?AV1@H@Z
mig_device
MIG Device
| MIG devices:                                                                |
|                               |                      |               MIG M. |
mig.mode
    MIG Mode
mig.mode.current
mig.mode.pending
MigrateInterfaceRoles failed
MigrateMethodDescriptions failed
MigratePackageRoles failed
MigrateRoleUsers failed
MigrateUserAndIdentity failed
--migrationcap
Migration capability
MILAVERR_INSUFFICIENTVIDEORESOURCES
MILAVERR_INVALIDWMPVERSION
MILAVERR_MEDIAPLAYERCLOSED
MILAVERR_MODULENOTLOADED
MILAVERR_NOCLOCK
MILAVERR_NOMEDIATYPE
MILAVERR_NOREADYFRAMES
MILAVERR_NOVIDEOMIXER
MILAVERR_NOVIDEOPRESENTER
MILAVERR_REQUESTEDTEXTURETOOBIG
MILAVERR_SEEKFAILED
MILAVERR_UNEXPECTEDWMPFAILURE
MILAVERR_UNKNOWNHARDWAREERROR
MILAVERR_VIDEOACCELERATIONNOTAVAILABLE
MILAVERR_WMPFACTORYNOTREGISTERED
MILEFFECTSERR_ALREADYATTACHEDTOLISTENER
MILEFFECTSERR_CONNECTORNOTASSOCIATEDWITHEFFECT
MILEFFECTSERR_CONNECTORNOTCONNECTED
MILEFFECTSERR_CYCLEDETECTED
MILEFFECTSERR_EFFECTALREADYINAGRAPH
MILEFFECTSERR_EFFECTHASNOCHILDREN
MILEFFECTSERR_EFFECTINMORETHANONEGRAPH
MILEFFECTSERR_EFFECTNOTPARTOFGROUP
MILEFFECTSERR_EMPTYBOUNDS
MILEFFECTSERR_NOINPUTSOURCEATTACHED
MILEFFECTSERR_NOTAFFINETRANSFORM
MILEFFECTSERR_OUTPUTSIZETOOLARGE
MILEFFECTSERR_RESERVED
MILEFFECTSERR_UNKNOWNPROPERTY
MILERR_ADAPTER_NOT_FOUND
MILERR_ALREADY_INITIALIZED
MILERR_ALREADYLOCKED
MILERR_BADNUMBER
MILERR_COLORSPACE_NOT_SUPPORTED
MILERR_DEVICECANNOTRENDERTEXT
MILERR_DISPLAYFORMATNOTSUPPORTED
MILERR_DISPLAYID_ACCESS_DENIED
MILERR_DISPLAYSTATEINVALID
MILERR_DXGI_ENUMERATION_OUT_OF_SYNC
MILERR_GENERIC_IGNORE
MILERR_GLYPHBITMAPMISSED
MILERR_INSUFFICIENTBUFFER
MILERR_INTERNALERROR
MILERR_INVALIDCALL
MILERR_MALFORMEDGLYPHCACHE
MILERR_MALFORMED_GUIDELINE_DATA
MILERR_MAX_TEXTURE_SIZE_EXCEEDED
MILERR_MISMATCHED_SIZE
MILERR_MROW_READLOCK_FAILED
MILERR_MROW_UPDATE_FAILED
MILERR_NEED_RECREATE_AND_PRESENT
MILERR_NO_HARDWARE_DEVICE
MILERR_NONINVERTIBLEMATRIX
MILERR_NO_REDIRECTION_SURFACE_AVAILABLE
MILERR_NO_REDIRECTION_SURFACE_RETRY_LATER
MILERR_NOTLOCKED
MILERR_NOT_QUEUING_PRESENTS
MILERR_OBJECTBUSY
MILERR_PREFILTER_NOT_SUPPORTED
MILERR_QPC_TIME_WENT_BACKWARD
MILERR_QUEUED_PRESENT_NOT_SUPPORTED
MILERR_REMOTING_NOT_SUPPORTED
MILERR_SCANNER_FAILED
MILERR_SCREENACCESSDENIED
MILERR_SHADER_COMPILE_FAILED
MILERR_TERMINATED
MILERR_TOOMANYSHADERELEMNTS
MILERR_WIN32ERROR
MILERR_ZEROVECTOR
milliPercentCapacity
MillisecondsSinceToastLaunch
MinActivationIntervalInUs
MinDeviceConstraintIntervalInUs
*MindTerm*
MinEntriesFlushed
MiniDumpWriteDump
MinimumConfidence
MinimumDuration
minimumSequence
minimumUpdateGentleNotificationDays
minimumUpdateStrongNotificationDays
m	?Initialize@NativeHWNDHost@DirectUI@@QEAAJPEBG0PEAUHWND__@@PEAUHICON__@@HHHHHHPEAUHINSTANCE__@@I@Z
Minizip Error
minor_number
Minor Number
MinorVersion
min_power_limit
Min Power Limit
MINTCBIGNOREKD
MinTrimAge
minutes:
Minutes since last forced warning dialog
__misaligned_access
Mismatched braces
MISMATCHED_HAL
Mismatch in expected NVML version.  Are you sure you are using the correct NVML version?
Mismatch in versions between nvidia-smi and NVML.
missing end quote
Missing hostname
missing start quote
MitigatedActiveTimeBuckets
MitigatedActiveTimePerBucket
mitigationId
mitigationType
MIT-MAGIC-COOKIE-1
mkdir path                         Create remote directory
MK_E_CANTOPENFILE
MK_E_CONNECTMANUALLY
MK_E_ENUMERATION_FAILED
MK_E_EXCEEDEDDEADLINE
MK_E_INTERMEDIATEINTERFACENOTSUPPORTED
MK_E_INVALIDEXTENSION
MK_E_MUSTBOTHERUSER
MK_E_NEEDGENERIC
MK_E_NOINVERSE
MK_E_NO_NORMALIZED
MK_E_NOOBJECT
MK_E_NOPREFIX
MK_E_NOSTORAGE
MK_E_NOTBINDABLE
MK_E_NOTBOUND
MK_E_SYNTAX
MK_E_UNAVAILABLE
MkParseDisplayName
MK_S_HIM
MK_S_MONIKERALREADYREGISTERED
MK_S_REDUCED_TO_SELF
mktemp_proto
m_listPendingBuffers
Mm64BitPhysicalAddress
MmAddPhysicalMemory
MmAddVerifierSpecialThunks
MmAddVerifierThunks
MmAdjustWorkingSetSize
MmAdvanceMdl
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateContiguousMemorySpecifyCacheNode
MmAllocateContiguousNodeMemory
MmAllocateMappingAddress
MmAllocateMappingAddressEx
MmAllocateMdlForIoSpace
MmAllocateMemoryRanges
MmAllocateNodePagesForMdlEx
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmAllocatePagesForMdlEx
MmAllocatePartitionNodePagesForMdlEx
MmAreMdlPagesCached
  -M maxsign  Maximum number of signatures allowed (for XMSS)
MmBadPointer
MmBuildMdlForNonPagedPool
MmCanFileBeTruncated
MmChangeImageProtection
MmCommitSessionMappedView
MmConfigureGraphicsPtes
MmCopyMemory
MmCopyVirtualMemory
MmCreateMdl
MmCreateMirror
MmCreateSection
MmDisableModifiedWriteOfSection
MmDoesFileHaveUserWritableReferences
MmFlushImageSection
MmForceSectionClosed
MmForceSectionClosedEx
MmFreeContiguousMemory
MmFreeContiguousMemorySpecifyCache
MmFreeMappingAddress
MmFreeMemoryRanges
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmFreePagesFromMdlEx
MmGetCacheAttribute
MmGetCacheAttributeEx
MmGetMaximumFileSectionSize
MmGetPageBadStatus
MmGetPhysicalAddress
MmGetPhysicalMemoryRanges
MmGetPhysicalMemoryRangesEx
MmGetPhysicalMemoryRangesEx2
MmGetSectionInformation
MmGetSystemRoutineAddress
MmGetVirtualForPhysical
MmGrowKernelStack
MmHighestUserAddress
  -m minleft  Maxsign is only changed if less than minleft are left (for XMSS)
MmIsAddressValid
MmIsDriverSuspectForVerifier
MmIsDriverVerifying
MmIsDriverVerifyingByAddress
MmIsIoSpaceActive
MmIsNonPagedSystemAddressValid
MmIsRecursiveIoFault
MmIsThisAnNtAsSystem
MmIsVerifierEnabled
MmLoadSystemImage
MmLockPagableDataSection
MmLockPagableImageSection
MmLockPagableSectionByHandle
MmLockPreChargedPagedPool
MmMapIoSpace
MmMapIoSpaceEx
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmMapLockedPagesWithReservedMapping
MmMapMdl
MmMapMemoryDumpMdl
MmMapMemoryDumpMdlEx
MmMapUserAddressesToPage
MmMapVideoDisplay
MmMapViewInSessionSpace
MmMapViewInSessionSpaceEx
MmMapViewInSystemSpace
MmMapViewInSystemSpaceEx
MmMapViewOfSection
MmMarkPhysicalMemoryAsBad
MmMarkPhysicalMemoryAsGood
MmMdlPageContentsState
MmMdlPagesAreZero
;;;;MMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM5UUYVYYYYYYY]Y]Y:
MmObtainChargesToLockPagedPool
MmPageEntireDriver
Mmpc_Lockdown_IsCertificateTrustedForMmpc
Mmpc_Lockdown_IsLockedToMmpc
MmPrefetchPages
MmPrefetchVirtualAddresses
MmProbeAndLockPages
MmProbeAndLockProcessPages
MmProbeAndLockSelectedPages
MmProtectDriverSection
MmProtectMdlSystemAddress
MmQueryMemoryRanges
MmQuerySystemSize
MmRemovePhysicalMemory
MmResetDriverPaging
MmReturnChargesToLockPagedPool
MmRotatePhysicalView
MmSectionObjectType
MmSecureVirtualMemory
MmSecureVirtualMemoryEx
MmSecureVirtualMemory failed to secure the end view
MmSecureVirtualMemory failed to secure the start view
MmSetAddressRangeModified
MmSetBankedSection
MmSetGraphicsPtes
MmSetPermanentCacheAttribute
MmSizeOfMdl
MmSystemRangeStart
MmTrimAllSystemPagableMemory
MMUErrSrc
MMUFaultType
MMUFltAccessType
MmUnloadSystemImage
MmUnlockPagableImageSection
MmUnlockPages
MmUnlockPreChargedPagedPool
MmUnmapIoSpace
MmUnmapLockedPages
MmUnmapReservedMapping
MmUnmapVideoDisplay
MmUnmapViewInSessionSpace
MmUnmapViewInSystemSpace
MmUnmapViewOfSection
MmUnsecureVirtualMemory
MmUserProbeAddress
Mode::DisplayWizard
Mode::Elevate
Mode::Error
mode not delimited
ModernPaintAttemptingLaunch
ModernPaintFileActivation
ModernPaintIsDisabled
ModernPaintLaunchFailed
ModernPaintLaunchFailedToOpenFile
ModernPaintLaunchSuccess
ModernPaintProtocolActivation
ModernPaintUnsupportedCommandLine
ModernPaintUpsellClicked
Mode::Run
ModifiedPagefilePages
ModifiedPages
ModifyMenuW
Module 2
Module 3
Module 4
Module 5
Module 6
Module 7
ModuleCollection
Module ID
modulus candidate generation failed
modulus screening failed
monitorCount
MonitorFromPoint
MonitorFromRect
MonitorFromWindow
    monitoring data is compressed and logged to a persistent storage.
    Monitoring is limited to a maximum of 4 devices. If no devices
MonitorOnWithLidClosed
MonitorPowerOnTime
MonitorRequestReason
monitorRequestReasonCode
moommmmmm
moooooooooooooooooooomlloppmppmppmppppppppppppppppmppppmnml
mountPoint
MoveAComponent failed
MoveFileEx to delete the mtstocom.exe failed
MoveFileExW
MoveFileW
MoveToEx
MoveWindow
m_pfnCreateClaimsAuthResponseHeader failed
m_pfnTryParseClaimsAuthHeader failed
MprmsgGetErrorString
m_RdClient
m_RemoteSessionLock.Init failed!
MsCatConstructHashTag
MsCatFreeHashTag
MSchedExe.pdb
		'MSConfig.EXE'
msconfig.pdb
MsCtfMonitor.DLL
MSDTC_E_DUPLICATE_RESOURCE
msdtcexe.pdb
MSDTCTM.dll
msdt.pdb
msfeedssync.pdb
MsgWaitForMultipleObjects
MsgWaitForMultipleObjectsEx
mshta.pdb
msiexec.pdb
msinfo32.pdb
MS_MDAC_LOGFILE
MS_MDAC_LOGMODE
msoobe.pdb
mspaint.pdb
m_spClientShellNotification
m_spIcons.Add failed
m_spProtocolMessageFactory
m_spRdpWinTapClientShellCallback
m_spRdpWinTapPublishCallback
m_spXConnectorEvents is NULL
		'MSRA.EXE'
MSRA.pdb
MsRdpSessionManager 1.0 Type LibraryWW
MsRdpSessionManager ClassW
MsRdpSessionManagerSingleUse Class
MsRdpSessionManagerWd
MSRPC_STATE_VIOLATION
msrpc.sys
MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT
MSSIPOTF_E_BAD_MAGICNUMBER
MSSIPOTF_E_BAD_OFFSET_TABLE
MSSIPOTF_E_BADVERSION
MSSIPOTF_E_CANTGETOBJECT
MSSIPOTF_E_CRYPT
MSSIPOTF_E_DSIG_STRUCTURE
MSSIPOTF_E_FAILED_HINTS_CHECK
MSSIPOTF_E_FAILED_POLICY
MSSIPOTF_E_FILE
MSSIPOTF_E_FILE_CHECKSUM
MSSIPOTF_E_FILETOOSMALL
MSSIPOTF_E_NOHEADTABLE
MSSIPOTF_E_NOT_OPENTYPE
MSSIPOTF_E_OUTOFMEMRANGE
MSSIPOTF_E_PCONST_CHECK
MSSIPOTF_E_STRUCTURE
MSSIPOTF_E_TABLE_CHECKSUM
MSSIPOTF_E_TABLE_LONGWORD
MSSIPOTF_E_TABLE_PADBYTES
MSSIPOTF_E_TABLES_OVERLAP
MSSIPOTF_E_TABLE_TAGORDER
msspellcheckinghost.pdb
MSTelCov
mstsc.pdb
MSTSCTelemetryTraceLogging_Registe failed
msvcp110_win.dll
msvcp_win.dll
msvcrt.dll
MSWSOCK.dll
mtime.sec not delimited
mtime.sec not present
mtime.usec not delimited
mtstocom.exe
mtstocom.pdb
_Mtx_destroy_in_situ
_Mtx_init_in_situ
_Mtx_lock
_Mtx_unlock
MUI_NO_VALID_SYSTEM_LANGUAGE
MUIUnattend.pdb
MultiByteToWideChar
MultiDigiMon.pdb
multigpu_board
MultiGPU Board
multiMon
MULTIPLE_IRP_COMPLETE_REQUESTS
multiple "namespaces" clauses
Multiplexing command already specified
multiplexing control connection
Multiprocessor
MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED
multiprocessor_count
Multiprocessor count
MultiProcessor Kernel
MUP_FILE_SYSTEM
MusNotification broker: Display notification
MusNotification.exe is not displaying notification because device is running Server Core SKU
MusNotification.exe is not displaying notification because NoUX policy is set for Mgmt scenarios.
MusNotification.exe is not displaying notification because UpdateNotificationLevel policy is set for Mgmt scenarios.
MusNotification.pdb
MusNotificationUx.pdb
MusNotifyIcon.exe invoked
MusNotifyIcon.pdb
Must specify key id (-I) when certifying
MUST_SUCCEED_POOL_EMPTY
MusUxState
MusUxState is not supported on WCOS: 
MusUxStateString
MUTEX_ALREADY_OWNED
MUTEX_LEVEL_NUMBER_VIOLATION
mux_remove_remote_forwardings
mWh Unit
N8H;O8uAH
name does not exist
	name is required (such as for dumping or decoding).
name server
NameServerList
namespaces
(name truncated?)
nan(ind)
NAN(IND)
nan(snan)
NAN(SNAN)
NAP_E_CONFLICTING_ID
NAP_E_ENTITY_DISABLED
NAP_E_ID_NOT_FOUND
NAP_E_INVALID_PACKET
NAP_E_MAXSIZE_TOO_SMALL
NAP_E_MISMATCHED_ID
NAP_E_MISSING_SOH
NAP_E_NETSH_GROUPPOLICY_ERROR
NAP_E_NO_CACHED_SOH
NAP_E_NOT_INITIALIZED
NAP_E_NOT_PENDING
NAP_E_NOT_REGISTERED
NAP_E_SERVICE_NOT_RUNNING
NAP_E_SHV_CONFIG_EXISTED
NAP_E_SHV_CONFIG_NOT_FOUND
NAP_E_SHV_TIMEOUT
NAP_E_STILL_BOUND
NAP_E_TOO_MANY_CALLS
NAP_S_CERT_ALREADY_PRESENT
NarratorElement::get_isInteresting failed
NarratorHomeLaunchedFromSystemTray
Narrator.pdb
?Navigate@ElementProvider@DirectUI@@UEAAJW4NavigateDirection@@PEAPEAUIRawElementProviderFragment@@@Z
NBSI_INCOMPLETE
nbtstat.pdb
NDAdmin.pdb
NDFAPI.DLL
NdfCloseIncident
NdfCreateIncident
NdfExecuteDiagnosis
NDIS_INTERNAL_ERROR
NDIS_NET_BUFFER_LIST_INFO_ILLEGALLY_TRANSFERRED
NDKPing.pdb
Ndr64AsyncServerCallAll
NdrAsyncServerCall
NdrClientCall3
NdrMesTypeDecode3
NdrMesTypeEncode3
NdrServerCall2
NdrServerCallAll
Need cwd
need dictionary
NeedReboot
need rekeying
Negative file size
 NERR_NotPrimary
Nesting too deep
net1.pdb
NETAPI32.dll
NetApiBufferAllocate
NetApiBufferFree
NetApiBufferReallocate
NetapipBufferAllocate
NetbiosOptions
NetBT: bad format for IP address
NetBT: Buffer too small to hold normalized IP address
NetBT: Failed to allocate memory for LUID.
NetBT: Failed to allocate memory for SubkeyName
NetBT: NetbiosOptions successfully set
netbtugc.pdb
NetBT: Unable to QueryInfo NameServerList subkey
NetCfgNotifyObjectHost.pdb
netcfg.pdb
NetClass
NetConnectionEnum
NetEvtFwdr.pdb
NetFileClose
NetFileEnum
NetFileGetInfo
NetFreeAadJoinInformation
NetGetAadJoinInformation
NetGetAadJoinInformation failed
NetGetDCName
NetGetJoinInformation
NetGroupAdd
NetGroupAddUser
NetGroupDel
NetGroupDelUser
NetGroupEnum
NetGroupGetInfo
NetGroupGetUsers
NetGroupSetInfo
nethost.pdb
NETIO_INVALID_POOL_CALLER
netiougc.pdb
NetLogonGetTimeServiceParentDomain
NETPLWIZ.dll
netplwiz.pdb
NetpwListCanonicalize
NetpwListTraverse
NetpwNameCanonicalize
NetpwNameCompare
NetpwNameValidate
NetpwPathType
NetRemoteTOD
NetServerEnum
NetServerGetInfo
NetServerSetInfo
NetServerTransportEnum
NetSessionDel
NetSessionEnum
NetSessionGetInfo
NetSetupApi.dll
NetSetupClose
NetSetupCreateBindingMap
NetSetupInitialize
NetSetupMockInstallSubordinate
NetSetupMockUninstallSubordinate
NetSetupResetBindings
NetSetupShimExecuteInfSection
NetShareAdd
NetShareCheck
NetShareDel
NetShareDelSticky
NetShareEnum
NetShareGetInfo
NetShareSetInfo
NETSH.EXE
netsh.pdb
NET_TO_rdpXBuffer
NetUseDel
NetUseEnum
NetUseGetInfo
NetUserAdd
NetUserDel
NetUserEnum
NetUserGetGroups
NetUserGetInfo
NetUserModalsGet
NetUserModalsSet
NetUserSetInfo
netutils.dll
NetWkstaGetInfo
NetWkstaStatisticsGet
NetWkstaTransportEnum
NetWkstaUserGetInfo
NETWORK_BOOT_DUPLICATE_ADDRESS
NETWORK_BOOT_INITIALIZATION_FAILED
network down
network_down
Network is down
network reset
network_reset
NetworkStatus
network unreachable
network_unreachable
Network unreachable
NewBootStatusState
New comment: 
NewCommitDebt
newConsentUpdates
NewDev.pdb
newKeyCount
NewPatchCheckSum
NewPatchGeneration
NewPatchPath
NewPatchTimeDateStamp
NewPolicy
NewSessionTemporaryPath
NewSessionTicket
newStore
NewTableAddr
NewTableLen
NewTimeZoneId
newZoomLevel
NextCutoverInLocalTime
nextEngagedReminderTime
Next_Entry_Overruns_Structure
nextEscalationWindow
NextEvaluationSpan
NextHopAddress
nextRebootDialogTime
Next reboot time computed using Smart Scheduler
NextState
Next suggested reboot time is invalid
Next UX state to show notification is None or Terminal so exiting.
NgcIsoAddContainer
NgcIsoAddProtector
NgcIsoAuthenticateProtector
NgcIsoClaimPregenKey
NgcIsoCloseBuffer
NgcIsoCloseContainer
NgcIsoContainerCreateBuffer
NgcIsoContainerImportBuffer
NgcIsoContainerOpenBuffer
NgcIsoCreateBuffer
NgcIsoCreateSoftwareKey
NgcIsoCreateTpmKey
NgcIsoDecryptData
NgcIsoDeserializePregenKey
NgcIsoDuplicateTicket
NgcIso.exe
NgcIsoExportData
NgcIsoExportTpmCounterStore
NgcIsoFinalizeContainer
NgcIsoFinalizePregenTpmKey
NgcIsoFinalizeTpmKey
NgcIsoGetAuthorizationNonce
NgcIsoGetContainerTrustLevel
NgcIsoHeader_46FEE803-62FB-45CE-B8BD-6D5AF0A44EDA
NgcIsoImportData
NgcIsoImportRsaKey
NgcIsoInitializeTpm
NgcIsoInitializeTpmCounterStore
NgcIsoIsTicketAuthenticated
NgcIsoIsTicketCacheEmpty
NgcIsoIsVsmContainer
NgcIsoOpenContainer
NgcIso.pdb
NgcIsoPregenTpmKey
NgcIsoReleaseAllCacheWhileUnlockedTickets
NgcIsoReleaseAllTickets
NgcIsoReleaseTicket
NgcIsoRemoveContainer
NgcIsoRemoveProtector
NgcIsoSerializePregenKey
NgcIsoSignHash
NgcIsoTerminate
NgcTrustletChannel
NgscbCheckDmaSecurity
NgscbCheckHSTIPrerequisitesVerified
NgscbCheckIsAOACDevice
NgscbCheckIsHSTIVerified
NgscbCheckPreventDeviceEncryption
NgscbCheckPreventDeviceEncryptionForAad
NgscbGetWinReConfiguration
NgscbIsHostOsOnRoamableDrive
n))H0C#@
N H9	t M
NhGetInterfaceNameFromDeviceGuid
nH[[[[Zw
NIMsRdpSessionManagerd
NInput.dll
nistp256
nistp384
nistp521
NlsAnsiCodePage
NlsLeadByteInfo
NlsMbCodePageTag
NlsMbOemCodePageTag
NlsOemCodePage
NlsOemLeadByteInfo
NlsUpdateLocale
nltest.pdb
NmiCallbackAddress
NMI_HARDWARE_FAILURE
NMR_INVALID_STATE
       		-n namespace -s signature_file [-r revocation_file]
                  [-N new_passphrase] [-t dsa | ecdsa | ed25519 | rsa]
|nnhh__Z
nnnnGGGG
nnnnZZZZ
nnwwnnn[
NOACCESSBITREPLACEMENT
No action listed after action switch
No action listed in brackets for action switch
No Actions specified
No ADS found for reinstall_upgrade apphelp
no-agent-forwarding
No appids registry node
no application name.
No arguments detected for toast activation
NoAutoRebootWithLoggedOnUsersSet
NoAutoRebootWithUsersLoggedOn policy is set so a reboot is not attempted
NoAutoRebootWithUsersLoggedOn policy is set so reschedule
nobase64
NO_BIT_HEADER
NO_BOOT_DEVICE
no buffer space
no_buffer_space
No buffer space available
No change
NOCHANGE
No change to comment
no child process
No child processes
No clsid registry node
No command-line arguments specified
no comment
No components registry node
No connection
noConsentPrompt
No ControlPath specified for "-O" command
No DATABASE tag found
Node on the stack with invalid handle.
No device query callback specified
No devices found
No devices found.
No devices were found
No error
NO_EXCEPTION_HANDLING_SUPPORT
No excluded devices found.
NOEXECUTE
No existing comment
No expand callback method set. Cannot expand ZDB file.
NO_EXPANSION_ROM
No forward host name.
No forward path name.
NoGuiBoot
NOGUIBOOT
noheader
                                  noheader - skip the first line with column headers
nohostauthenticationforlocalhost
No information
no keys found.
no keys to test
No key to look up!
no lock available
No locks available
(no match)
No matching CA found. Retry with plain key
no matching cipher found
no matching compression method found
No matching host key fingerprint found in DNS.
no matching host key type found
no matching key exchange method found
no matching MAC found
no message
no message available
No message is available on the STREAM head read queue
No message of the desired type
|  No MIG devices found                                                       |
No more authentication methods to try.
No more client hostkeys for hostbased authentication.
NO_MORE_IRP_STACK_LOCATIONS
no-more-sessions@openssh.com
NO_MORE_SYSTEM_PTES
NonActivatedCpuActivity
NonActiveTime
NonActiveTimeBuckets
NonActiveTimePerBucket
NonAttributedCpuActivity
Non-authoritative answer
Non-blocking
NO_NBSI_BLOCK
NonDripsTimeActivated
nonEhcontMode
Non-existent domain
nonFeatureUpdatePending
non-rechargeable
NonResiliencyTime
NonRetpolineSystemImageLoadedAggregate
Non SR-IOV
Non-successful non-STATUS_NOT_SUPPORTED IRP status for IRP_MJ_PNP is
Non-successful non-STATUS_NOT_SUPPORTED IRP status for IRP_MJ_POWER is
No NVLink devices found.
No Open File
No Open Zip File
No package registry node
NO_PAGES_AVAILABLE
no pkcs11 (valid) provider found
no-port-forwarding
no protocol option
no_protocol_option
NO_PUBLIC_KEY
No records
	NoRemove AppID
    NoRemove AppID
    NoRemove CLSID
No response file listed
No response from server
No return context was supplied for InitOnceGetStringTableOffset
No return context was supplied for InitOnceScanIndexes
Normal force reboot warning dialog has been shown when passing deadline
Normalising mapped IPv4 in IPv6 address
NoRootCauses
|  No running processes found                                                 |
no signature field
No space left on device
no space on device
NO_SPIN_LOCK_AVAILABLE
No SSH identification string received.
no stream resources
No STREAM resources
No string interface on the object contained in the array
No stringtable in DB
no such device
No such device
no such device or address
No such device or address
no such file or directory
No such file or directory
NO_SUCH_PARTITION
no such process
No such process
No supported ciphers found
|   No supported devices found                    |
No supported devices found
No supported devices in vGPU mode
No supported key exchange algorithms found
No supported PK algorithms found
No synchronous boost groups are currently configured.
Not Active
not a directory
Not a directory
not a socket
not_a_socket
Not a socket
not a stream
Not a STREAM
Not available
Not Available
not connected
not_connected
not enough memory
Not enough space
- not enough space for arguments
- not enough space for environment
- not enough space for locale information
- not enough space for lowio initialization
- not enough space for stdio initialization
- not enough space for thread data
notepad.pdb
(Note that escapes are only recognized immediately after newline.)
Note that the functionality of NVSMI is exposed through the NVML C-based
Not executing reboot for Countdown policy
Not exist
' not found
not found
Not Found
not guaranteed to be backwards compatible; NVML and the bindings are backwards
Nothing is running on the GPU and the clocks are dropping to Idle state. This limiter may be removed in a later release.
NOTICE: Disconnect and disable the display before next reboot. You are switching to TCC driver model with display active!
Notification callback occurred from a Toast
NotificationDisplayChecksResult
NotificationDisplayChecksStart
NotificationDisplayed state variable is not found
Notification display is needed since last displayed notification is not the same as current notification.
Notification is allowed because the machine has been in the reboot required state for too long
Notification is not defined for current ux state
Notification is not displayed because it is not in the expected time range.
Notification is postponed
Notification is shown
Notification minutes to show
Notification next action is not found in state table
Notification platform not initialized.
NotificationReason
Notification related to metered network is being displayed for the first time
NotificationStartState
Notification state is to show reboot imminent instead of user accept because a reboot is scheduled by user
Notification state is to show user accept auto dialog
Notification time is valid to show policy enabled forced warning dialog
NotificationType
Notification ux is launched
Notification ux state
NotificationUxState
NotificationUxStateString
NotifyAction
NotifyAlertStatuses
	NotifyIconClicked
NotifyIconNotified
Notifying tray icon of new state
NotifyRebootRequired
NotifySessionResult
NotifySessionState
NotifyStableUnicastIpAddressTable
NotifyToInstallNotifyToRebootSet
Notify to reboot: Attempting interactive reboot
Notify to reboot: first ready to reboot
Notify to reboot: get next active hours start time
Notify to reboot: on engaged reboot reminder
Notify to reboot: on reboot dialog
Notify to reboot policy Notification User Response :
Notify to reboot: reboot device
Notify to reboot: schedule engaged reminder
Notify to reboot: show update results
Notify to reboot: Verify whether it is a valid time to show engaged reminder
NotifyUILanguageChange
NotifyWinEvent
Not implemented
Not replacing existing known_hosts file because of errors
Not scheduling reboot for Countdown policy
NOT_SILICON_OR_EMULATION
not supported
Not supported
Not Supported
Not supported on the device(s)
    Not supported on vGPU host.
                                  nounits - don't print units for numerical
No units found in system
No updates requiring reboot found for the  dialog to be displayed telemetry events.
No updates requiring reboot found for the reboot dialog telemetry events.
No updates requiring reboot found for the reboot invoked telemetry event.
No updates requiring reboot found for the smart busy check telemetry event.
No updates requiring reboot found for the ToastNotificationDisplayed event.
NO_USER_MODE_CONTEXT
no-user-rc
No valid endpoint is available
NO_VBIOS_FOUND
November
No vGPUs found on this device 
No workspaces exist
no-x11-forwarding
No xauth program.
NPFS_FILE_SYSTEM
                  [-n principals] [-O option] [-V validity_interval]
@:nrr2@:nsuI
@:nrrv@:ns
NSAP pointer
NsiGetAllParameters
NsiGetAllPersistentParametersWithMask
NsiSetAllParameters
NsiSetAllPersistentParametersWithMask
nslookup.pdb
n	SSLeay
NtAddAtom
NtAdjustPrivilegesToken
NtAllocateLocallyUniqueId
NtAllocateUuids
NtAllocateVirtualMemory
NtBuildGUID
NtBuildLab
NtBuildNumber
NtCommitComplete
NtCommitEnlistment
NtCommitTransaction
NtCompareSigningLevels
NtConnectPort
NtCreateCrossVmEvent
NtCreateEnlistment
NtCreateEvent
NtCreateFile
NtCreateResourceManager
NtCreateSection
NtCreateTransaction
NtCreateTransactionManager
NtDeleteAtom
NtDeleteFile
NtDeviceIoControlFile
ntdll.dll
NTDSAPI.dll
NtDuplicateObject
NtDuplicateToken
NTE_AUTHENTICATION_IGNORED
NTE_BAD_ALGID
NTE_BAD_DATA
NTE_BAD_FLAGS
NTE_BAD_HASH
NTE_BAD_HASH_STATE
NTE_BAD_KEY
NTE_BAD_KEYSET
NTE_BAD_KEYSET_PARAM
NTE_BAD_KEY_STATE
NTE_BAD_LEN
NTE_BAD_PROVIDER
NTE_BAD_PROV_TYPE
NTE_BAD_PUBLIC_KEY
NTE_BAD_SIGNATURE
NTE_BAD_TYPE
NTE_BAD_UID
NTE_BAD_VER
NTE_BUFFERS_OVERLAP
NTE_BUFFER_TOO_SMALL
NTE_DECRYPTION_FAILURE
NTE_DEVICE_NOT_FOUND
NTE_DEVICE_NOT_READY
NTE_DOUBLE_ENCRYPT
NTE_ENCRYPTION_FAILURE
NTE_EXISTS
NTE_FAIL
NTE_FIXEDPARAMETER
NTE_HMAC_NOT_SUPPORTED
NTE_INCORRECT_PASSWORD
NTE_INTERNAL_ERROR
NTE_INVALID_HANDLE
NTE_INVALID_PARAMETER
NTE_KEYSET_ENTRY_BAD
NTE_KEYSET_NOT_DEF
NTE_NO_KEY
NTE_NO_MEMORY
NTE_NO_MORE_ITEMS
NTE_NOT_ACTIVE_CONSOLE
NTE_NOT_FOUND
NTE_NOT_SUPPORTED
NtEnumerateBootEntries
NtEnumerateTransactionObject
NTE_PASSWORD_CHANGE_REQUIRED
NTE_PERM
NTE_PROV_DLL_NOT_FOUND
NTE_PROVIDER_DLL_FAIL
NTE_PROV_TYPE_ENTRY_BAD
NTE_PROV_TYPE_NO_MATCH
NTE_PROV_TYPE_NOT_DEF
NTE_SIGNATURE_FILE_BAD
NTE_SILENT_CONTEXT
NTE_SYS_ERR
NTE_TEMPORARY_PROFILE
NTE_TOKEN_KEYSET_STORAGE_FULL
NTE_UI_REQUIRED
NTE_USER_CANCELLED
NTE_VALIDATION_FAILED
NTfE)N*fD
NtFindAtom
NtFreeVirtualMemory
NtFreezeTransactions
NTFS    
NtFsControlFile
NTFS_FILE_SYSTEM
NTFS    H9N
NtGetEnvironmentVariableEx
NtGetNotificationResourceManager
NtGlobalFlag
NTHV_GUEST_ERROR
NtImageInfo
ntkrnlmp.pdb
NtLockFile
NtMakePermanentObject
NtMapViewOfSection
NtNotifyChangeDirectoryFile
NtNotifyChangeDirectoryFileEx
NtOpenDirectoryObject
NtOpenEnlistment
NtOpenFile
NtOpenKey
NtOpenProcess
NtOpenProcessToken
NtOpenProcessTokenEx
NtOpenResourceManager
NtOpenSymbolicLinkObject
NtOpenThread
NtOpenThreadToken
NtOpenThreadTokenEx
NtOpenTransaction
NtOpenTransactionManager
ntoskrnl
ntoskrnl.exe
NTOSPNP:
NtOwfPassword
NtPasswordHistory
NtPrepareComplete
NtPrepareEnlistment
NtPrePrepareComplete
NtPrePrepareEnlistment
NtPrint.pdb
NtPropagationComplete
NtPropagationFailed
NtQueryBootEntryOrder
NtQueryBootOptions
NtQueryDirectoryFile
NtQueryDirectoryFileEx
NtQueryDirectoryObject
NtQueryEaFile
NtQueryEnvironmentVariableInfoEx
NtQueryInformationAtom
NtQueryInformationByName
NtQueryInformationEnlistment
NtQueryInformationFile
NtQueryInformationProcess
NtQueryInformationResourceManager
NtQueryInformationThread
NtQueryInformationToken
NtQueryInformationTransaction
NtQueryInformationTransactionManager
NtQueryObject
NtQueryQuotaInformationFile
NtQuerySecurityAttributesToken
NtQuerySecurityObject
NtQuerySymbolicLinkObject
NtQuerySystemInformation
NtQuerySystemInformationEx
NtQuerySystemTime
NtQueryValueKey
NtQueryVolumeInformationFile
NtQueryWnfStateData
NtReadFile
NtReadFileScatter
NtReadOnlyEnlistment
NtRecoverEnlistment
NtRecoverResourceManager
NtRecoverTransactionManager
NtRegisterProtocolAddressInformation
NtRenameTransactionManager
NtReplaceKeyFailed
NtReplaceKeySucceeded
NtRequestPort
NtRequestWaitReplyPort
NtRollbackComplete
NtRollbackEnlistment
NtRollbackTransaction
NtRollforwardTransactionManager
NtSetCachedSigningLevel
NtSetEaFile
NtSetEvent
NtSetInformationEnlistment
NtSetInformationFile
NtSetInformationProcess
NtSetInformationResourceManager
NtSetInformationThread
NtSetInformationToken
NtSetInformationTransaction
NtSetInformationTransactionManager
NtSetInformationVirtualMemory
NtSetQuotaInformationFile
NtSetSecurityObject
NtSetThreadExecutionState
NtSetVolumeInformationFile
NtShutdownSystem
NtSinglePhaseReject
ntStatus
NtStatus
nt!store memory compression
!NT_SUCCESS(Status)
NtThawTransactions
NtTraceControl
NtTraceEvent
NtTranslateFilePath
NtUnlockFile
NtUpdateWnfStateData
NtVdmControl
NtWaitForSingleObject
NtWriteFile
NtWriteFileGather
NumAllocationFailures
NumberExamined
number is too large
Number of encoder sessions running on the GPU.
NumberOfLockedPages
NumberOfPages
numberofpasswordprompts
Number of Samples
NumBucketLimitReached
NumExtraDevices
NumFlushes
NumLargeEventFailures
NumPasses
numRootCausesCheckedNotFound
numRootCausesFixed
numRootCausesFound
numRootCausesNotFixed
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_ACTIVATE
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_DEACTIVATE
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_GC5_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF_GC6_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_GC6_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF_MSHYBRID_GC6_ENTER
NV2080_CTRL_GPU_POWER_ON_OFF_MSHYBRID_GC6_EXIT
NV2080_CTRL_GPU_POWER_ON_OFF__OFFSET
NV2080_CTRL_GPU_POWER_ON_OFF_RG_RESTORE
NV2080_CTRL_GPU_POWER_ON_OFF_RG_SAVE
NV_CONFIG_PCI_NV_20_READ_ERROR
NV_CPU_ATOM
NV_CPU_C6
NV_CPU_C62
NV_CPU_CELA
NV_CPU_CELN_M16H
NV_CPU_CORE2
NV_CPU_CORE2_EXTRM
NV_CPU_GX
NV_CPU_IA64
NV_CPU_K10
NV_CPU_K11
NV_CPU_K5
NV_CPU_K6
NV_CPU_K62
NV_CPU_K63
NV_CPU_K7
NV_CPU_K8
NV_CPU_K8_NON_OPTERON
NV_CPU_K8_OPTERON
NV_CPU_M1
NV_CPU_M2
NV_CPU_MGX
NV_CPU_P2
NV_CPU_P2XC
NV_CPU_P3
NV_CPU_P3_INTL2
NV_CPU_P4
NV_CPU_P5
NV_CPU_P55
NV_CPU_P6
NV_CPU_PPC603
NV_CPU_PPC604
NV_CPU_PPC750
NV_CPU_TM_CRUSOE
NV_CPU_UNKNOWN
NV_DISP_EVENT_DP_LINKTRAIN_DISABLE
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_16GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_2_43GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_3_24GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_1
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_2
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_4
NV_DISP_EVENT_DP_LINKTRAIN_EDP_4_32GHZ_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR2_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_1
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_2
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR3_8
NV_DISP_EVENT_DP_LINKTRAIN_HBR_4
NV_DISP_EVENT_DP_LINKTRAIN_HBR_8
NV_DISP_EVENT_DP_LINKTRAIN_RBR_1
NV_DISP_EVENT_DP_LINKTRAIN_RBR_2
NV_DISP_EVENT_DP_LINKTRAIN_RBR_4
NV_DISP_EVENT_DP_LINKTRAIN_RBR_8
NV_DISP_EVENT_GENERIC
NV_DISP_EVENT_HOTPLUG
NV_DISP_EVENT_HOTUNPLUG
NV_DISP_EVENT_LOAD_MAXMCLKSWITCHTIME
NV_DISP_EVENT_LOAD_MEMSYSSTATELOAD
NV_DISP_EVENT_LOAD_TEGRARAMGENROM
NV_DISP_EVENT_LOAD_TEGRASOCDISABLE
NV_DISP_EVENT_LOAD_TEGRASOCENABLE
NV_DISP_EVENT_STATE_LOAD
NV_DISP_EVENT_STATE_UNLOAD
NV_DISP_EVENT_SUPERVISOR_1
NV_DISP_EVENT_SUPERVISOR_2
NV_DISP_EVENT_SUPERVISOR_3
nvdZip_AddFile succeeded
nvdZip_Close() succeeded
NVIDIA Cloud Gaming
Nvidia Corporation0
Nvidia Corporation1
NVIDIA driver.
__NVIDIA_NVML_1190
__NVIDIA_NVML_27944
NVIDIA RTX
NVIDIA RTX Virtual Workstation
                                "nvidia-smi daemon -h" for more information.
                                "nvidia-smi dmon -h" for more information.
nvidia-smi.exe daemon_init
NVIDIA-SMI has failed because you are not:
nvidia-smi [OPTION1 [ARG1]] [OPTION2 [ARG2]] ...
                                "nvidia-smi pmon -h" for more information.
                                "nvidia-smi replay -h" for more information.
NVIDIA Virtual Applications
NVIDIA Virtual Compute Server
NVIDIA Virtual PC
 NVLINK:
    nvlink -- Display NvLink information.
    nvlink                      Displays device nvlink information. "nvidia-smi nvlink -h" for more information.
NVLINK_LINK_DISABLED
NvLog dump.
	nvlog only.
--nvlogonly
__NVML_DBG_FILE
__NVML_DBG_LVL
nvmlDeviceClearAccountingPids
nvmlDeviceClearEccErrorCounts
nvmlDeviceGetAccountingBufferSize
nvmlDeviceGetAccountingMode
nvmlDeviceGetAccountingPids
nvmlDeviceGetAccountingStats
nvmlDeviceGetActiveVgpus
nvmlDeviceGetApplicationsClock
nvmlDeviceGetArchitecture
nvmlDeviceGetAttributes_v2
nvmlDeviceGetAutoBoostedClocksEnabled
nvmlDeviceGetBAR1MemoryInfo
nvmlDeviceGetBoardId
nvmlDeviceGetBoardPartNumber
nvmlDeviceGetBrand
nvmlDeviceGetBridgeChipInfo
nvmlDeviceGetClock
nvmlDeviceGetClockInfo
nvmlDeviceGetComputeInstanceId
nvmlDeviceGetComputeMode
nvmlDeviceGetCount_v2
nvmlDeviceGetCreatableVgpus
nvmlDeviceGetCudaComputeCapability
nvmlDeviceGetCurrentClocksThrottleReasons
nvmlDeviceGetCurrPcieLinkGeneration
nvmlDeviceGetCurrPcieLinkWidth
nvmlDeviceGetDecoderUtilization
nvmlDeviceGetDefaultApplicationsClock
nvmlDeviceGetDeviceHandleFromMigDeviceHandle
nvmlDeviceGetDisplayActive
nvmlDeviceGetDisplayMode
nvmlDeviceGetDriverModel
nvmlDeviceGetEccMode
nvmlDeviceGetEncoderSessions
nvmlDeviceGetEncoderStats
nvmlDeviceGetEncoderUtilization
nvmlDeviceGetEnforcedPowerLimit
nvmlDeviceGetFanSpeed
nvmlDeviceGetFBCSessions
nvmlDeviceGetFBCStats
nvmlDeviceGetFieldValues
nvmlDeviceGetGpcClkVfOffset
nvmlDeviceGetGpuInstanceId
nvmlDeviceGetGpuOperationMode
nvmlDeviceGetGridLicensableFeatures_v4
nvmlDeviceGetGspFirmwareVersion
nvmlDeviceGetHandleByIndex_v2
nvmlDeviceGetHostVgpuMode
nvmlDeviceGetIndex
nvmlDeviceGetInforomImageVersion
nvmlDeviceGetInforomVersion
nvmlDeviceGetMaxClockInfo
nvmlDeviceGetMaxMigDeviceCount
nvmlDeviceGetMaxPcieLinkGeneration
nvmlDeviceGetMaxPcieLinkWidth
nvmlDeviceGetMemoryErrorCounter
nvmlDeviceGetMemoryInfo_v2
nvmlDeviceGetMigDeviceHandleByIndex
nvmlDeviceGetMigMode
nvmlDeviceGetMinorNumber
nvmlDeviceGetMultiGpuBoard
nvmlDeviceGetName
nvmlDeviceGetNvLinkCapability
nvmlDeviceGetNvLinkErrorCounter
nvmlDeviceGetNvLinkRemotePciInfo_v2
nvmlDeviceGetNvLinkState
nvmlDeviceGetPcieReplayCounter
nvmlDeviceGetPcieThroughput
nvmlDeviceGetPciInfo_v3
nvmlDeviceGetPerformanceState
nvmlDeviceGetPersistenceMode
nvmlDeviceGetPowerManagementDefaultLimit
nvmlDeviceGetPowerManagementLimit
nvmlDeviceGetPowerManagementLimitConstraints
nvmlDeviceGetPowerManagementMode
nvmlDeviceGetPowerState
nvmlDeviceGetPowerUsage
nvmlDeviceGetRemappedRows
nvmlDeviceGetRetiredPages
nvmlDeviceGetRetiredPagesPendingStatus
nvmlDeviceGetRetiredPages_v2
nvmlDeviceGetRowRemapperHistogram
nvmlDeviceGetSamples
nvmlDeviceGetSerial
nvmlDeviceGetSupportedClocksThrottleReasons
nvmlDeviceGetSupportedEventTypes
nvmlDeviceGetSupportedGraphicsClocks
nvmlDeviceGetSupportedMemoryClocks
nvmlDeviceGetSupportedVgpus
nvmlDeviceGetTemperature
nvmlDeviceGetTemperatureThreshold
nvmlDeviceGetTotalEccErrors
nvmlDeviceGetUtilizationRates
nvmlDeviceGetUUID
nvmlDeviceGetVbiosVersion
nvmlDeviceGetVgpuMetadata
nvmlDeviceGetVgpuProcessUtilization
nvmlDeviceGetVgpuUtilization
nvmlDeviceGetViolationStatus
nvmlDeviceGetVirtualizationMode
nvmlDeviceIsMigDeviceHandle
nvmlDeviceRegisterEvents
nvmlDeviceResetApplicationsClocks
nvmlDeviceResetGpuLockedClocks
nvmlDeviceResetMemoryLockedClocks
nvmlDeviceResetNvLinkErrorCounters
nvmlDeviceSetAccountingMode
nvmlDeviceSetAPIRestriction
nvmlDeviceSetApplicationsClocks
nvmlDeviceSetAutoBoostedClocksEnabled
nvmlDeviceSetComputeMode
nvmlDeviceSetDefaultAutoBoostedClocksEnabled
nvmlDeviceSetDriverModel
nvmlDeviceSetEccMode
nvmlDeviceSetGpcClkVfOffset
nvmlDeviceSetGpuLockedClocks
nvmlDeviceSetGpuOperationMode
nvmlDeviceSetMemoryLockedClocks
nvmlDeviceSetMigMode
nvmlDeviceSetPersistenceMode
nvmlDeviceSetPowerManagementLimit
nvmlDeviceSetTemperatureThreshold
nvmlDeviceSetVirtualizationMode
nvmlDeviceValidateInforom
nvml.dll
nvmlErrorString
nvmlEventSetCreate
nvmlEventSetFree
nvmlEventSetWait_v2
nvmlGetExcludedDeviceCount
nvmlGetExcludedDeviceInfoByIndex
nvmlInit succeeded
nvmlInit_v2
nvmlInitWithFlags
nvmlInternalGetExportTable
NVML Shared Library Not Found
nvmlShutdown
nvmlSystemGetCudaDriverVersion_v2
nvmlSystemGetDriverVersion
nvmlSystemGetHicVersion
nvmlSystemGetProcessName
nvmlUnitGetCount
nvmlUnitGetDevices
nvmlUnitGetFanSpeedInfo
nvmlUnitGetHandleByIndex
nvmlUnitGetLedState
nvmlUnitGetPsuInfo
nvmlUnitGetTemperature
nvmlUnitGetUnitInfo
nvmlUnitSetLedState
nvmlVgpuInstanceClearAccountingPids
nvmlVgpuInstanceGetAccountingMode
nvmlVgpuInstanceGetAccountingPids
nvmlVgpuInstanceGetAccountingStats
nvmlVgpuInstanceGetEccMode
nvmlVgpuInstanceGetEncoderSessions
nvmlVgpuInstanceGetEncoderStats
nvmlVgpuInstanceGetFBCSessions
nvmlVgpuInstanceGetFBCStats
nvmlVgpuInstanceGetFbUsage
nvmlVgpuInstanceGetFrameRateLimit
nvmlVgpuInstanceGetGpuInstanceId
nvmlVgpuInstanceGetGpuPciId
nvmlVgpuInstanceGetLicenseInfo_v2
nvmlVgpuInstanceGetMdevUUID
nvmlVgpuInstanceGetType
nvmlVgpuInstanceGetUUID
nvmlVgpuInstanceGetVmDriverVersion
nvmlVgpuInstanceGetVmID
nvmlVgpuTypeGetClass
nvmlVgpuTypeGetDeviceID
nvmlVgpuTypeGetFramebufferSize
nvmlVgpuTypeGetFrameRateLimit
nvmlVgpuTypeGetGpuInstanceProfileId
nvmlVgpuTypeGetLicense
nvmlVgpuTypeGetMaxInstances
nvmlVgpuTypeGetName
nvmlVgpuTypeGetNumDisplayHeads
nvmlVgpuTypeGetResolution
NV_PFAULT_ACCESS_TYPE_PHYS_ATOMIC
NV_PFAULT_ACCESS_TYPE_PHYS_PREFETCH
NV_PFAULT_ACCESS_TYPE_PHYS_READ
NV_PFAULT_ACCESS_TYPE_PHYS_WRITE
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC_STRONG
NV_PFAULT_ACCESS_TYPE_VIRT_ATOMIC_WEAK
NV_PFAULT_ACCESS_TYPE_VIRT_PREFETCH
NV_PFAULT_ACCESS_TYPE_VIRT_READ
NV_PFAULT_ACCESS_TYPE_VIRT_WRITE
NV_PFAULT_FAULT_TYPE_ATOMIC_VIOLATION
NV_PFAULT_FAULT_TYPE_COMPRESSION_FAILURE
NV_PFAULT_FAULT_TYPE_PDE
NV_PFAULT_FAULT_TYPE_PDE_SIZE
NV_PFAULT_FAULT_TYPE_PITCH_MASK_VIOLATION
NV_PFAULT_FAULT_TYPE_POISONED
NV_PFAULT_FAULT_TYPE_PRIV_VIOLATION
NV_PFAULT_FAULT_TYPE_PTE
NV_PFAULT_FAULT_TYPE_REGION_VIOLATION
NV_PFAULT_FAULT_TYPE_RO_VIOLATION
NV_PFAULT_FAULT_TYPE_UNBOUND_INST_BLOCK
NV_PFAULT_FAULT_TYPE_UNKNOWN
NV_PFAULT_FAULT_TYPE_UNSUPPORTED_APERTURE
NV_PFAULT_FAULT_TYPE_UNSUPPORTED_KIND
NV_PFAULT_FAULT_TYPE_VA_LIMIT_VIOLATION
NV_PFAULT_FAULT_TYPE_WORK_CREATION
NV_PFAULT_FAULT_TYPE_WO_VIOLATION
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GCC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GPCCS
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_GPM
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_L1_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_LTP_UTLB_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PE_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_PROP_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_RAST
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_RGG_UTLB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_T1_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_10
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_11
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_3
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_4
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_5
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_6
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_7
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_8
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_GPC_TPCCS_9
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_AFALCON
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_CE2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DFALCON
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DNISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_DONT_CARE
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_FE
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_FECS
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_GRCOPY
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST_CPU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_HOST_CPU_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_ISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MMU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MMU_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSENC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSPDEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSPPP
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_MSVLD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NISO
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVDEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC0
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC1
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_NVENC2
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_P2P
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PERF
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_PMU
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_RASTERTWOD
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SCC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SCC_NB
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SEC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SKED
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_SSYNC
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_VIP
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_HUB_XV
NV_PFIFO_INTR_MMU_FAULT_INFO_CLIENT_UNKNOWN
NV_POWER_ADAPTER_D3HOT
NV_POWER_ADAPTER_FEATURE_CTXSAVED
NV_POWER_ADAPTER_OPTIMUS_GOLD
NV_POWER_ADAPTER_STATE_0
NV_POWER_ADAPTER_STATE_1
NV_POWER_ADAPTER_STATE_2
NV_POWER_ADAPTER_STATE_3
NV_POWER_ADAPTER_STATE_4
NV_POWER_ADAPTER_STATE_HIBERNATE
NV_POWER_EVENT_SET_POWER_ENTRY
NV_POWER_EVENT_SET_POWER_EXIT
NV_POWER_MONITOR_STATE_0
NV_POWER_MONITOR_STATE_1
NV_POWER_MONITOR_STATE_2
NV_POWER_MONITOR_STATE_HIBERNATE
NVSMI also provides several management operations for changing the device state.
nvsmi daemon started
nvsmi daemon terminated
NVSMI provides monitoring information for Tesla and select Quadro devices.
NVSMI_PSTATE_LOCK
NVSMI_SHOW_ALL_DEVICES
NV_SYSTEM_HIBERNATE
NV_SYSTEM_NO_HIBERNATE_OR_SHUTDOWN
NV_SYSTEM_SHUTDOWN_STATE_FAST_NO_STARTUP
NV_SYSTEM_SHUTDOWN_STATE_FAST_STARTUP
NVTELEMETRY_DRIVER_REPORT
NWAttachToFileServerW
NWDetachFromFileServer
NWGetFileServerDateAndTime
;NX*144B
NXDOMAIN
O0H;O8t#H
O:2O92O8
_o___acrt_iob_func
ObAssignSecurity
-obatchmode yes
ObCheckCreateObjectAccess
ObCheckObjectAccess
ObCloseHandle
ObCreateObject
ObCreateObjectType
ObCreateObjectTypeEx
ObDeleteCapturedInsertInfo
ObDereferenceObject
ObDereferenceObjectDeferDelete
ObDereferenceObjectDeferDeleteWithTag
ObDereferenceSecurityDescriptor
ObDuplicateObject
_o__beginthreadex
ObfDereferenceObject
ObfDereferenceObjectWithTag
ObFindHandleForObject
ObfReferenceObject
ObfReferenceObjectWithTag
ObGetFilterVersion
ObGetObjectSecurity
ObGetObjectType
ObInsertObject
ObIsDosDeviceLocallyMapped
ObIsKernelHandle
OBJECT1_INITIALIZATION_FAILED
ObjectAttributes
OBJECT_INITIALIZATION_FAILED
object was abandoned
ObLogSecurityDescriptor
ObMakeTemporaryObject
ObOpenObjectByName
ObOpenObjectByNameEx
ObOpenObjectByPointer
ObOpenObjectByPointerWithTag
ObpPushRefDerefInfo - ObpStackTable overflow
ObQueryNameInfo
ObQueryNameString
ObQueryObjectAuditingByHandle
ObReferenceObjectByHandle
ObReferenceObjectByHandleWithTag
ObReferenceObjectByName
ObReferenceObjectByPointer
ObReferenceObjectByPointerWithTag
ObReferenceObjectSafe
ObReferenceObjectSafeWithTag
ObReferenceSecurityDescriptor
ObRegisterCallbacks
ObReleaseObjectSecurity
_o_bsearch
ObSetHandleAttributes
ObSetSecurityDescriptorInfo
ObSetSecurityObjectByPointer
ObUnRegisterCallbacks
ObWaitForMultipleObjects
ObWaitForSingleObject
_o__callnewh
_o__cexit
-oClearAllForwardings yes
_o__configthreadlocale
_o__configure_narrow_argv
_o__configure_wide_argv
_o__create_locale
_o__crt_atexit
odbcad32.pdb
odbcconf.dll
odbcconf.pdb
odbccp32.dll
oem_object
OEM Object
OemToCharBuffW
_o__errno
_o__exit
ofa_count
OFA count
_o_fclose
ofdeploy.pdb
                                    of desired locked GPU clock speed in MHz.
                                    of desired locked Memory clock speed in MHz.
Offset 2
Offset 3
Offset 4
Offset 5
Offset 6
Offset 7
Offset and region size add up to cause an integer overflow or underflow
OffsetRect
OffsetRgn
Offsetting of this clock is not supported.
OffTimeoutSeconds
OffTimeoutSpan
_o_fgetws
_o__fileno
-oForwardAgent no
-oForwardX11 no
_o__fpclass
_o__free_locale
OFS_FILE_SYSTEM
_o__getch
_o_getenv
_o__get_errno
_o__get_initial_wide_environment
_o__get_narrow_winmain_command_line
_o__get_wide_winmain_command_line
o@h(8?vu
O H91u	H9w(u
O H;C w*H;K
_o__i64toa_s
_o__i64tow_s
_o__initialize_narrow_environment
_o__initialize_onexit_table
_o__initialize_wide_environment
_o__invalid_parameter_noinfo
_o__invalid_parameter_noinfo_noreturn
_o_iswdigit
_o_iswprint
_o_iswspace
_o__itow_s
OK clicked on CTA dialog
Old answer:
Oldest Reboot Time is in the future; Failing to get OldestRebootTime.
Oldest reboot update local time
OldestUpdateLocalTime
OldestUpdateTime
_o_ldexp
oldKeyCount
OldPatchCheckSum
OldPatchGeneration
OldPatchPath
OldPatchTimeDateStamp
OldTableAddr
OldTableLen
	OldTime
ole32.dll
OLEACC.dll
OLEAUT32.dll
OLE_E_ADVF
OLE_E_ADVISENOTSUPPORTED
OLE_E_BLANK
OLE_E_CANT_BINDTOSOURCE
OLE_E_CANTCONVERT
OLE_E_CANT_GETMONIKER
OLE_E_CLASSDIFF
OLE_E_ENUM_NOMORE
OLE_E_INVALIDHWND
OLE_E_INVALIDRECT
OLE_E_NOCACHE
OLE_E_NOCONNECTION
OLE_E_NOSTORAGE
OLE_E_NOT_INPLACEACTIVE
OLE_E_NOTRUNNING
OLE_E_OLEVERB
OLE_E_PROMPTSAVECANCELLED
OLE_E_STATIC
OLE_E_WRONGCOMPOBJ
OleGetClipboard
OleGetClipboardWithEnterpriseInfo
OleInitialize
OleInitialize from WinConnector failed!
OleLockRunning
OLEOBJ_E_INVALIDVERB
OLEOBJ_E_NOVERBS
OLEOBJ_S_CANNOT_DOVERB_NOW
OLEOBJ_S_INVALIDHWND
OLEOBJ_S_INVALIDVERB
OLE_S_MAC_CLIPFORMAT
OLE_S_STATIC
OLE_S_USEREG
OleUninitialize
_o__ltow_s
omadmapi.dll
OmaDmClientExeComplete
OmaDmClientExeStart
omadmclient.pdb
OmaDmHttpHeaderAlert
OmaDmLoadSessions
OmaDmMultipleMessagesInPackage
OmaDmMultipleMessagesInPackageContinue
OmaDmPrcDeleteRetriableSessions.
OmaDmPrcDmRunTaskFailed.
OmaDmPrcFailedToDeleteQueuedTask.
OmaDmPrcHandleMessageFailed.
OmaDmPrcNoMessagePending.
OmaDmPrcOmaDmSessionFailed.
OmaDmPrcOmaDmSessionRetryScheduled.
omadmprc.pdb
OmaDmPrcProcessRetriableSessions.
OmaDmPrcPushRouter_GetMessageExFailed.
OmaDmPrcPushRouter_OpenFailed.
OmaDmPrcTriggerContentValidationFailed.
OmaDmPrcTriggerInfo.
OmaDmPrcTriggerLengthValidationFailed.
OmaDmPrcTriggerServerIDValidationFailed.
OmaDmPrcTriggerStarted.
OmaDmPrcTriggerUIInitiationValidationFailed.
OmaDmPrcTriggerVersionValidationFailed.
OmaDmRegistryGetDWORD
OmaDmRegistrySetDWORD
OmaDmRegistrySetString
OmaDmRunPostSessionWork
OmaDmSessionComplete
OmaDmSessionEndInformation
OmaDmSessionInformation
OmaDmSessionStart
OmaDmSessionUser
OmaDmSessionUserTokenFailure
OmaDmSessionWaitForShellReadyFailure
OmaDmSyncmlVerboseTrace
OmaDmTimeBomb
OmaDmXmlVerboseTrace
_o_malloc
_o_memcpy_s
OMLvjWcElu
OnActivateApp failed
?OnAdjustWindowSize@Combobox@DirectUI@@UEAAHHHI@Z
?OnAdjustWindowSize@HWNDHost@DirectUI@@UEAAHHHI@Z
OnCancel failed
OnClickOkButton failed!
OnClickOkButton failed!. Closing the dialog.
OnClose failed
?OnCompositionChanged@HWNDElement@DirectUI@@UEAAXXZ
OnConnectFailed failed
?OnCtrlThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnCustomDraw@CCBase@DirectUI@@UEAA_NPEAUtagNMCUSTOMDRAWINFO@@PEA_J@Z
?OnDestroy@Element@DirectUI@@UEAAXXZ
?OnDestroy@HWNDElement@DirectUI@@UEAAXXZ
?OnDestroy@HWNDHost@DirectUI@@UEAAXXZ
    [one of]
One of lpBuffer or lpcbBufferSize should not be null
One or more attributes required for Match
    One or more from the following:
OnEraseBkgnd failed
OneSettingBugcheckRegistryConfig
One settings: acceptAutoToEnterAutoInHours
One settings: autoEnterToForcedModeInHours
One settings: autoEnterToIntermediateAutoInHours
One settings: dialogToAcceptAutoReminderInHours
One settings: dialogToSecondDialogReminderInHours
One settings: firstReminderCadenceInHours
One settings: forcedPrecursorToForcedDialogInHours
One settings: forcedToUltimateForcedModeInHours
One settings: intermediateAutoIgnorableReasons
One settings: intermediateAutoToUltimateAutoInHours
One settings: isForcedModeEnabled
One settings: IsSystemNeededReasonIgnoredInAutoMode
One settings: isUltimateForcedModeEnabled
One settings: rebootImminentToAutoFailedInHours
One settings: secondReminderCadenceInHours
One settings: skipToAcceptAutoReminderInHours
One settings: thirdReminderCadenceInHours
One settings: toastToDialogReminderInHours
One settings: ultimateAutoIgnorableReasons
OneShotUpdate
?OnEvent@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDElement@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDHost@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnGetDlgCode@HWNDElement@DirectUI@@UEAAXPEAUtagMSG@@PEA_J@Z
?OnGroupChanged@Element@DirectUI@@UEAAXH_N@Z
?OnGroupChanged@HWNDElement@DirectUI@@UEAAXH_N@Z
?OnHosted@Combobox@DirectUI@@UEAAXPEAVElement@2@@Z
?OnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
?OnImmersiveColorSchemeChanged@HWNDElement@DirectUI@@UEAAXXZ
?OnInput@CCBase@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Combobox@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Edit@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Element@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDElement@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDHost@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnKeyFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnKillActive@TaskPage@DirectUI@@MEAA_JXZ
ONL_CONNECTION_COUNT_LIMIT
ONL_E_ACCESS_DENIED_BY_TOU
ONL_E_ACCOUNT_LOCKED
ONL_E_ACCOUNT_SUSPENDED_ABUSE
ONL_E_ACCOUNT_SUSPENDED_COMPROIMISE
ONL_E_ACCOUNT_UPDATE_REQUIRED
ONL_E_ACTION_REQUIRED
ONL_E_CONNECTED_ACCOUNT_CAN_NOT_SIGNOUT
ONL_E_EMAIL_VERIFICATION_REQUIRED
ONL_E_FORCESIGNIN
ONL_E_INVALID_APPLICATION
ONL_E_INVALID_AUTHENTICATION_TARGET
ONL_E_PARENTAL_CONSENT_REQUIRED
ONL_E_PASSWORD_UPDATE_REQUIRED
ONL_E_REQUEST_THROTTLED
ONL_E_USER_AUTHENTICATION_REQUIRED
-online specified; using NsiActive store
?OnListenedEvent@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEAUEvent@2@@Z
?OnListenedInput@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEAUInputEvent@2@@Z
?OnListenedPropertyChanged@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenedPropertyChanging@TaskPage@DirectUI@@MEAA_NPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenerAttach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
?OnListenerDetach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
?OnLostDialogFocus@CCBase@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
Only a single -J option is permitted (use commas to separate multiple jump hops)
Only one --query-* switch can be used at a time.
                                Only on supported devices starting from the Volta series.
?OnMessage@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnMouseActivate failed
?OnMouseFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnNoChildWithShortcutFound@HWNDElement@DirectUI@@UEAAXPEAUKeyboardEvent@2@@Z
?OnNotify@CCBase@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnNotify@Edit@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnNotify@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnOffRequest
OnOffRequestReason
OnPaint failed
OnPreCreateControl failed
?OnPropertyChanged@CCBase@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Edit@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDElement@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDHost@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnQueryInitialFocus@TaskPage@DirectUI@@MEAAPEAVElement@2@XZ
 on reader keypad
?OnReceivedDialogFocus@CCBase@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
OnRemoved event returned failed value
?OnReset@TaskPage@DirectUI@@MEAA_JXZ
?OnSinkThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
OnSize failed
OnStartViewer failed
?OnSysChar@HWNDHost@DirectUI@@UEAA_NG@Z
OnSysCommand failed
Ontario1
?OnThemeChanged@HWNDElement@DirectUI@@UEAAXPEAUThemeChangedEvent@2@@Z
?_OnUIStateChanged@HWNDElement@DirectUI@@MEAAXGG@Z
?OnUnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnUnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
?OnWindowStyleChanged@HWNDHost@DirectUI@@UEAAX_KPEBUtagSTYLESTRUCT@@@Z
?OnWizFinish@TaskPage@DirectUI@@MEAA_JXZ
?OnWmSettingChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
?OnWmThemeChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
Oobe approved update is applicable
OOBE check result
OOBEComplete
OOBECompleted
OOBEHealthMetric
OOBEHealthNonCriticalMetric
oobeldr.pdb
OOBE-Maintenance.pdb
OobstrCommandLine
_o___p___argc
_o___p__commode
_o___pctype_func
OpD2I[D"
OPD9wXtjH
open a command line
OpenClipboard
open confirmation
OpenDesktopW
OpenEventW
open failed
open failure
OpenFileById
OpenFileMappingW
OpenIcon
OpenJobObjectW
openKeysInvalidated
OpenMutexW
openPartitionFailed
OpenPrinterW
OpenProcess
OpenProcessToken
OpenReason
OpenSCManagerA
OpenSCManagerW
OpenSemaphoreW
OpenServiceA
OpenServiceW
OpenSSH*
OpenSSH_3.*
OpenSSH_5*
OpenSSH_6.6.1*
OpenSSH_for_Windows_8.1
OpenSSH_for_Windows_8.1p1
openssh-key-v1
OpenSSH SSH client
OpenStore failed!
OpenThemeData
OpenThread
OpenThreadToken
OpenTraceW
OpenVMMemoryPartitionFailure
OpenWindowStationW
OpenWith.pdb
Operation
operation canceled
Operation canceled
operation in progress
operation_in_progress
Operation in progress
operation not permitted
Operation not permitted
operation not supported
operation_not_supported
Operation not supported
Operation not supported on socket
Operation unsupported
operation would block
operation_would_block
Operation would block
operator
operator "" 
operator co_await
-oPermitLocalCommand no
OpnFiles.pdb
	option.
OptionalFeatures.pdb
Option corrupt: extra data at end
	options.
--options
    Options:
Options:
    Options include:
Options include:
_o__purecall
_o___p___wargv
order_hostkeyalgs
 * order to maximize performance per watt. All GPUs in the sync boost group
_o__recalloc
_o__register_onexit_function
OriginalBootStatusState
originalhost
OriginalSD
originatingContextId
originatingContextMessage
originatingContextName
originCallerModule
originCallerReturnAddressOffset
originFile
originLineNumber
originModule
originName
OR_INVALID_OID
OR_INVALID_OXID
OR_INVALID_SET
?_Orphan_all@_Container_base0@std@@QEAAXXZ
OSBootInformation
OS_DATA_TAMPERING
_o__seh_filter_exe
_o__set_app_type
_o__set_errno
_o__set_fmode
_o__setmode
_o__set_new_mode
OskSupport.dll
OS_LIBOS
OsloaderTime
OSS_ACCESS_SERIALIZATION_ERROR
OSS_API_DLL_NOT_LINKED
OSS_BAD_ARG
OSS_BAD_ENCRULES
OSS_BAD_PTR
OSS_BAD_TABLE
OSS_BAD_TIME
OSS_BAD_VERSION
OSS_BERDER_DLL_NOT_LINKED
OSS_CANT_CLOSE_TRACE_FILE
OSS_CANT_OPEN_TRACE_FILE
OSS_CANT_OPEN_TRACE_WINDOW
OSS_COMPARATOR_CODE_NOT_LINKED
OSS_COMPARATOR_DLL_NOT_LINKED
OSS_CONSTRAINT_DLL_NOT_LINKED
OSS_CONSTRAINT_VIOLATED
OSS_COPIER_DLL_NOT_LINKED
OSS_DATA_ERROR
OSS_FATAL_ERROR
OSS_INDEFINITE_NOT_SUPPORTED
o	SSLeay_version
OSS_LIMITED
OSS_MEM_ERROR
OSS_MEM_MGR_DLL_NOT_LINKED
OSS_MORE_BUF
OSS_MORE_INPUT
OSS_MUTEX_NOT_CREATED
OSS_NEGATIVE_UINTEGER
OSS_NULL_FCN
OSS_NULL_TBL
OSS_OID_DLL_NOT_LINKED
OSS_OPEN_TYPE_ERROR
OSS_OUT_MEMORY
OSS_OUT_OF_RANGE
OSS_PDU_MISMATCH
OSS_PDU_RANGE
OSS_PDV_CODE_NOT_LINKED
OSS_PDV_DLL_NOT_LINKED
OS-Specific Error
OSS_PER_DLL_NOT_LINKED
OSS_REAL_CODE_NOT_LINKED
OSS_REAL_DLL_NOT_LINKED
OSS_TABLE_MISMATCH
OSStateChange
OSS_TOO_LONG
OSS_TRACE_FILE_ALREADY_OPEN
OSS_TYPE_NOT_SUPPORTED
OSS_UNAVAIL_ENCRULES
OSS_UNIMPLEMENTED
_o___std_exception_copy
_o___std_exception_destroy
_o___stdio_common_vfwprintf
_o___stdio_common_vfwprintf_s
_o___stdio_common_vsnprintf_s
_o___stdio_common_vsnwprintf_s
_o___stdio_common_vsprintf
_o___stdio_common_vsprintf_s
_o___stdio_common_vswprintf
_o___stdio_common_vswprintf_s
_o___stdio_common_vswscanf
_o_strcpy_s
_o__stricmp
_o_strncpy_s
_o_strtol
OS_UNITTEST
_o_terminate
other_error
otherErrorCount
other-key 
_o_toupper
_o_towlower
_o_towupper
oTPCookie
OuEwFuPw
_o__ui64toa_s
_o__ui64tow_s
outgoing seqnr wraps around
out of dynamic memory in yy_create_buffer()
out of memory
Out of memory
Out of memory.
Out of Memory
Out of memory allocating rolename bstr
Out of memory allocating role name space
out_of_range
OutputDebugStringA
OutputDebugStringW
Output filename too long
OutputStreamComWrapper
OutputStreamComWrapper::CreateInstance failed.
)OutSize
OVd A_!T
Overflow doing pointer addition
Overflow_Entry_Header_Offset
Overflow_Entry_Length
Overflow_Finding_Structured_Len
Overflow_Next_Entry_Offset
Overflow_Unstructured_End
OverlapInHours
OverlapThreshold
OVERRIDE
Overriding CUDA clock limit is not supported for this device.
OverwriteByteBlob failed
Ow3wEwJwR
Ow[:6J*?
_o_wcscat_s
_o_wcscpy_s
_o__wcsicmp
_o__wcslwr
_o__wcslwr_s
_o_wcsncat_s
_o_wcsncpy_s
_o__wcsnicmp
_o__wcstod_l
_o_wcstok
_o_wcstok_s
_o_wcstol
_o_wcstombs_s
_o_wcstoul
_o_wcstoull
OwDeugDup !
_o__wfopen_s
_o__wfullpath
owner dead
_o__wremove
_o__wsplitpath_s
_o__wtoi
_o__wtol
OxychromaticBlowfishSwatDynamite
""*""""p
"*"******"p
P2P atomics supported
P2P is supported
.P6AHPEAX@Z
.P6AHPEBX@Z
.P6AXW4Level@LogLevel@common@office@@PEB_WPEAX@Z
pAAProfile
pacjsworker.pdb
Package::BlockListed
PackageCollection::AddFallbackAnswersForFirstPackage
PackageCollection::AddMetaInfoToReport
PackageCollection::AddPackage
PackageCollection::AddPackageCab
PackageCollection::AddPackageConfig
PackageCollection::AllocatePackages
PackageCollection::Cancel
PackageCollection::Diagnose
PackageCollection::DumpReport
PackageCollection::FindConfigFile
PackageCollection::get_ElevatedDiagnose
PackageCollection::get_ElevationRequired
PackageCollection::get_Extension
PackageCollection::get_ExtensionXML
PackageCollection::get_MetaPackageInfo
PackageCollection::get_NumberPackages
PackageCollection::get_Package
PackageCollection::InitializePackage
PackageCollection::LoadAnswers
PackageCollection::LoadConfigFile
PackageCollection::LoadDisplayNodesFromFile
PackageCollection::LoadPackageInfo
PackageCollection::QueryInterface
PackageCollection::Resolve
PackageCollection::SaveResults
PackageCollection::set_Extension
PackageCollection::UpdateAnswers
PackageCollection::Verify
PackageContentsPage::OnListenedEvent
PackageContentsPage::OnSetActive
Package::CreateRootCausesFromXml
PackagedCWALauncher
PackagedCWALauncher.pdb
Package_Description
Package_Diagnose
Package::FlattenArray
Package::get_Answers
Package::get_CheckedRootCause
Package::get_Engine
Package::get_Extension
Package::get_ExtensionXML
Package::get_NumberCheckedRootCauses
Package_GetNumberCheckedRootCauses
Package::get_NumberRootCauses
Package_GetNumberRootCauses
Package::get_PackageCollection
Package::get_PackageInfo
Package::get_PackageLocation
Package_GetPackageLocation
Package::get_RootCause
Package::get_WindowsPackage
Package_Icon
packageId
Package_ID
PackageInfo::get_Description
PackageInfo::get_ID
PackageInfo::get_Name
PackageInfo::get_PrivacyLink
PackageInfo::get_Publisher
PackageInfo::get_Version
PackageInfo::QueryInterface
PackageInfo::Same
PackageInfo::set_Description
PackageInfo::set_ID
PackageInfo::set_Name
PackageInfo::set_PrivacyLink
PackageInfo::set_Publisher
PackageInfo::set_Version
PackageInspector.pdb
Package::MarkPrereqs
Package::MergeCheckedRootCauses
Package::MergeRootCauses
Package_Name
PackageName
Package_PackageLocation
Package_PrivacyLink
Package_Publisher
Package::QueryInterface
packageRelativeExe
Packages_AddCab
Packages_Cancel
Packages_Category
Packages_Description
Packages_Diagnose
Packages_DifferentRCs
Packages_ElevatedDiagnose
Packages_Elevation
Package::set_Answers
Package::set_Engine
Package::set_Extension
Package::set_ExtensionXML
Package::set_PackageLocation
Package::set_Prereqs
Package::SetupBlockList
Packages_FeedbackContextId
Packages_FreeExtensions
Packages_GetCallback
Packages_GetCheckedRootCause
Packages_GetNumber
Packages_GetNumberCheckedRootCauses
Packages_GetNumberResolutions
Packages_GetNumberRootCauses
Packages_GetNumberRootCausesWithResolutions
Packages_GetPackage
Packages_GetPath
Packages_GetResolution
Packages_GetResolutionsRun
Packages_GetRootCause
Packages_Icon
Packages_ID
Packages_Keywords
Packages_Load
Packages_Name
Packages_PrivacyLink
Packages_Publisher
Packages_ReleaseEngine
Packages_Resolve
Packages_SaveResults
Packages_SetCategory
Packages_SetDescription
Packages_SetElevation
Packages_SetFeedbackContextId
Packages_SetIcon
Packages_SetID
Packages_SetKeywords
Packages_SetName
Packages_SetPath
Packages_SetPrivacyLink
Packages_SetPublisher
Packages_SetResolutionsRun
Packages_SetResolveAll
Packages_SetupExtension
Packages_SetVersion
Packages_SqmRootCausesAndResolutions
Packages_UseDisplayInfoFromFirstPackage
Packages_Verify
Packages_Version
Package::UpdateRootCausesWithDiagnoseXml
Package::UpdateRootCausesWithVerifyXml
Package_Verify
Package_Version
Packet corrupt
packet_disconnect called recursively.
PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGX
PAGECONST
PageCount
PAGEDATA
PAGEDATAZ
_PageErrorExceptionHandler
PAGE_FAULT_BEYOND_END_OF_ALLOCATION
PAGE_FAULT_IN_FREED_SPECIAL_POOL
PAGE_FAULT_IN_NONPAGED_AREA
PAGE_FAULT_WITH_INTERRUPTS_OFF
PAGELKCONST
PageManager::AddPage
PageManager::Consent
PageManager::Create
PageManager::CreateNextPage
PageManager::Error
PageManager::Instance
PageManager::Intro
PageManager::NoRootCauses
PageManager::Pause
PageManager::ProgressFinished
PageManager::RetryDownload
PageManager::SetupBackPage
PageManager::SetupNextPage
PageManager::SwitchToPage
PageManager::TypeToPage
PageNotStoreCandidate
PAGE_NOT_ZERO
PAGEPAGEH
PageProtection
page_retirement
PageSetupDlgW
PageSetupUpdated
PAGESPEC
PagesToTrim
PagesTrimmed
PagesWritten
PAGEVRFC
PAGEVRFD
PAGEVRFDZ
?Paint@Element@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
?Paint@HWNDHost@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
pAllowedSettings
pAllSettingsEnforced
PAL_System_CondReset failed
PAL_System_CondSignal failed
PANIC_STACK_SWITCH
_pAnsiLineBuf
Parameter1
Parameter2
Parameter3
Parameter4
Parameters
Params.Attach failed!
Params.SetAt failed!
parentCommandLine
ParentCommandLine
ParentGuid
parentImagePathName
ParentPid
parentProcessStartKey
Parity errors detected in CBU.
Parity errors detected in texture memory.
ParkingPerfState
ParseCommandLine
parse error
parse_error
ParseError
ParseJson
ParseNetworkString
 (parse only)
parse_revoked_certs
ParseSslClientCertSearchCriteria
ParseSslClientCertStoresCriteria
ParseSslClientCertSubjectCriteria
ParseSslClientCertThumbprint
ParseStoreInfo
ParsingStatus
PartA_PrivTags
partition(
PartitionCommitLimitPages
PartitionCommitUsagePages
__pascal
passing it down.
passiveEngaged
PASSIVE_INTERRUPT_ERROR
passiveTripPoint
passphrase is too short (minimum five characters)
Pass phrases do not match.  Try again.
Passphrases do not match.  Try again.
Pass-Through
password
passwordauthentication
Password authentication is disabled to avoid man-in-the-middle attacks.
PasswordLastSet: 
PasswordOnWakeSettingFlyout.pdb
Passwords do not match.
PatchCheckSum
PatchGeneration
PatchMinSequenceNumber
PatchPath
PatchTimeDateStamp
PathAddExtensionW
PathAllocCanonicalize
PathAppendW
PathCanonicalizeW
PathCchAppend
PathCchCanonicalize
PathCchCombine
PathCchRemoveBackslash
PathCchRemoveFileSpec
PathCchSkipRoot
PathCombineW
PathFileExistsW
PathFindExtensionW
PathFindFileNameW
PathGetArgsW
PathIsFileSpecW
PathIsURLW
PathMatchSpecW
       Path of directory to write to [default]:
PathRemoveExtensionW
PathRemoveFileSpecW
PathStripPathW
?PatternFromPatternId@Schema@DirectUI@@SA?AW4Pattern@12@H@Z
PausePage::OnSetActive
pAuthMode
pAuthSchemeUsed
pbBinary
PBDMA_ERR_ACQUIRE
PBDMA_ERR_CLEAR_FAULTED_ERROR
PBDMA_ERR_CTXNOTVALID
PBDMA_ERR_DEVICE
PBDMA_ERR_ENG_RESET_PENDING
PBDMA_ERR_GPCRC
PBDMA_ERR_GPENTRY
PBDMA_ERR_GPFIFO
PBDMA_ERR_GPPTR
PBDMA_ERR_HCE_ILLEGAL_CLASS
PBDMA_ERR_HCE_ILLEGAL_MTHD
PBDMA_ERR_HCE_PRIV
PBDMA_ERR_HCE_RE_ALIGNB
PBDMA_ERR_HCE_RE_ILLEGAL_OP
PBDMA_ERR_INVALID_HOST_SW_METHOD
PBDMA_ERR_LBACK_EXTRA
PBDMA_ERR_LBACK_TIMEOUT
PBDMA_ERR_LBCONNECT
PBDMA_ERR_LBDAT_EXTRA
PBDMA_ERR_LBDAT_TIMEOUT
PBDMA_ERR_LBREQ
PBDMA_ERR_MEMACK_EXTRA
PBDMA_ERR_MEMACK_TIMEOUT
PBDMA_ERR_MEMDAT_EXTRA
PBDMA_ERR_MEMDAT_TIMEOUT
PBDMA_ERR_MEMFLUSH
PBDMA_ERR_MEMOP
PBDMA_ERR_MEMREQ
PBDMA_ERR_METHODCRC
PBDMA_ERR_NO_CTXSW_SEG
PBDMA_ERR_PBCRC_MISMATCH
PBDMA_ERR_PBENTRY
PBDMA_ERR_PBPTR
PBDMA_ERR_PBSEG
PBDMA_ERR_PRI
PBDMA_ERR_SEMAPHORE
PBDMA_ERR_SIGNATURE
PBDMAErrType
PBDMA_ERR_UNKNOWN
PBDMA_ERR_XBARCONNECT
PBDMA_PUSHBUFFER_CRC_MISMATCH
pbSignedBlob
PcaLaunchApplicationWithConsent
pcalua.pdb
PcaPersistSettingsAndLaunchApplication
pcaui::AppHelpToast
pcaui::ChooseLink
pcaui.dll
pcaui.pdb
pcaui::SdbEntryFlags::SdbEntryFlags
pcaui::SdbEntryFlags::SetFlags
pcaui::ShowNotificationAppHelp
pcaui::ToastNotification::GetNode
pcaui::ToastNotification::SetNodeAttribute
pcaui::ToastNotification::SetNodeText
pcaui::ToastNotification::ShowToast
pcaui::ToastNotification::ToastNotification
pCertArray
PCI_BUS_DRIVER_INTERNAL
--pcibusid
pci.bus_id
pci_bus_id
PCI_CONFIG_REGS
PCI_CONFIG_SPACE_ACCESS_FAILURE
pci.device
pci_device
PCI_DEVICE_DISABLED
pci.device_id
pci_device_id
pci.domain
pci_domain
PCIEGENCLK
            PCIe Generation
pcie.link.gen.current
pcie.link.gen.max
pcie.link.width.current
pcie.link.width.max
--pci-info
PCIR_LEN_EXCEEDS_IMAGE
PCIR_VENDOR_ID_MISMATCH
PCI_SPACE
pci.sub_device_id
pci_sub_system_id
PCI_VERIFIER_DETECTED_VIOLATION
__pctype_func
PcwAddInstance
PcwCloseInstance
PcwCreateInstance
PcwRegister
pcwrun.pdb
PcwUnregister
PDB was not supplied for InitOnceGetStringTableOffset
PDB was not supplied for InitOnceScanIndexes
PdcActivationClientActivityRequest
PdcActivationClientActivityRequest Network (FALSE)
PdcActivationClientActivityRequest Network Renew (TRUE)
PdcActivationClientActivityRequest Network (TRUE)
PdcActivationClientActivityRequest Timer (FALSE)
PdcActivationClientActivityRequest Timer Renew (TRUE)
PdcActivationClientActivityRequest Timer (TRUE)
PdcActivationClientRegister
PdcActivationClientUnregister
PDC_LOCK_WATCHDOG_LIVEDUMP
pdCookieSize
PDC_PRIVILEGE_CHECK_LIVEDUMP
PdcTaskClientRegister
PdcTaskClientRequest
PdcTaskClientUnregister
PDC_UNEXPECTED_REVOCATION_LIVEDUMP
Pdcv2ActivationClientActivate
Pdcv2ActivationClientDeactivate
Pdcv2ActivationClientRegister
Pdcv2ActivationClientRenewActivation
Pdcv2ActivationClientUnregister
PDC_WATCHDOG_TIMEOUT
PDC_WATCHDOG_TIMEOUT_LIVEDUMP
PDDBH!p0L
pDiDoDeviceInstallAsAdmin
pDiDoNullDriverInstall
pDiRunFinishInstallOperations
PDO has forgotten to fill out the device relation list with the PDO for
PDO has not responded to a required IRP.
pdwBytesInFlight
PeakPowerMw
PeakVirtualSizeBytes
.PEAVCException@@
.PEAVCFileException@@
.PEAVCFileFormatException@@
.PEAVCInvalidArgException@@
.PEAVCMemoryException@@
.PEAVCObject@@
.PEAVCResourceException@@
PeekConsoleInputA
PeekConsoleInputW
PeekMessageW
PeekNamedPipe
PeerCreatePeerName
PEERDIST_ERROR_ALREADY_COMPLETED
PEERDIST_ERROR_ALREADY_EXISTS
PEERDIST_ERROR_ALREADY_INITIALIZED
PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO
PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED
PEERDIST_ERROR_INVALIDATED
PEERDIST_ERROR_INVALID_CONFIGURATION
PEERDIST_ERROR_MISSING_DATA
PEERDIST_ERROR_NO_MORE
PEERDIST_ERROR_NOT_INITIALIZED
PEERDIST_ERROR_NOT_LICENSED
PEERDIST_ERROR_OPERATION_NOTFOUND
PEERDIST_ERROR_OUT_OF_BOUNDS
PEERDIST_ERROR_SERVICE_UNAVAILABLE
PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS
PEERDIST_ERROR_TRUST_FAILURE
PEERDIST_ERROR_VERSION_UNSUPPORTED
PEER_E_ALREADY_LISTENING
PEER_E_CANNOT_CONVERT_PEER_NAME
PEER_E_CANNOT_START_SERVICE
PEER_E_CERT_STORE_CORRUPTED
PEER_E_CHAIN_TOO_LONG
PEER_E_CIRCULAR_CHAIN_DETECTED
PEER_E_CLASSIFIER_TOO_LONG
PEER_E_CLOUD_NAME_AMBIGUOUS
PEER_E_CONNECTION_FAILED
PEER_E_CONNECTION_NOT_AUTHENTICATED
PEER_E_CONNECTION_NOT_FOUND
PEER_E_CONNECTION_REFUSED
PEER_E_CONNECT_SELF
PEER_E_CONTACT_NOT_FOUND
PEER_E_DATABASE_ACCESSDENIED
PEER_E_DATABASE_ALREADY_PRESENT
PEER_E_DATABASE_NOT_PRESENT
PEER_E_DBINITIALIZATION_FAILED
PEER_E_DBNAME_CHANGED
PEER_E_DEFERRED_VALIDATION
PEER_E_DUPLICATE_GRAPH
PEER_E_EVENT_HANDLE_NOT_FOUND
PEER_E_FW_BLOCKED_BY_POLICY
PEER_E_FW_BLOCKED_BY_SHIELDS_UP
PEER_E_FW_DECLINED
PEER_E_FW_EXCEPTION_DISABLED
PEER_E_GRAPH_IN_USE
PEER_E_GRAPH_NOT_READY
PEER_E_GRAPH_SHUTTING_DOWN
PEER_E_GROUP_IN_USE
PEER_E_GROUP_NOT_READY
PEER_E_GROUPS_EXIST
PEER_E_IDENTITY_DELETED
PEER_E_IDENTITY_NOT_FOUND
PEER_E_INVALID_ADDRESS
PEER_E_INVALID_ATTRIBUTES
PEER_E_INVALID_CLASSIFIER
PEER_E_INVALID_CLASSIFIER_PROPERTY
PEER_E_INVALID_CREDENTIAL
PEER_E_INVALID_CREDENTIAL_INFO
PEER_E_INVALID_DATABASE
PEER_E_INVALID_FRIENDLY_NAME
PEER_E_INVALID_GRAPH
PEER_E_INVALID_GROUP
PEER_E_INVALID_GROUP_PROPERTIES
PEER_E_INVALID_PEER_HOST_NAME
PEER_E_INVALID_PEER_NAME
PEER_E_INVALID_RECORD
PEER_E_INVALID_RECORD_EXPIRATION
PEER_E_INVALID_RECORD_SIZE
PEER_E_INVALID_ROLE_PROPERTY
PEER_E_INVALID_SEARCH
PEER_E_INVALID_TIME_PERIOD
PEER_E_INVITATION_NOT_TRUSTED
PEER_E_INVITE_CANCELLED
PEER_E_INVITE_RESPONSE_NOT_AVAILABLE
PEER_E_IPV6_NOT_INSTALLED
PEER_E_MAX_RECORD_SIZE_EXCEEDED
PeerEndEnumeration
PEER_E_NO_CLOUD
PEER_E_NODE_NOT_FOUND
PEER_E_NO_KEY_ACCESS
PEER_E_NO_MEMBER_CONNECTIONS
PEER_E_NO_MEMBERS_FOUND
PEER_E_NO_MORE
PEER_E_NOT_AUTHORIZED
PEER_E_NOT_INITIALIZED
PEER_E_NOT_LICENSED
PEER_E_NOT_SIGNED_IN
PeerEnumIdentities
PEER_E_PASSWORD_DOES_NOT_MEET_POLICY
PEER_E_PNRP_DUPLICATE_PEER_NAME
PEER_E_PRIVACY_DECLINED
PEER_E_RECORD_NOT_FOUND
PEER_E_SERVICE_NOT_AVAILABLE
PEER_E_TIMEOUT
PEER_E_TOO_MANY_ATTRIBUTES
PEER_E_TOO_MANY_IDENTITIES
PEER_E_UNABLE_TO_LISTEN
PEER_E_UNSUPPORTED_VERSION
PeerFreeData
PeerGetItemCount
PeerGetNextItem
PeerIdentityCreate
PeerIdentityGetCryptKey
PeerPnrpEndResolve
PeerPnrpGetEndpoint
PeerPnrpRegister
PeerPnrpResolve
PeerPnrpShutdown
PeerPnrpStartResolve
PeerPnrpStartup
PeerPnrpUnregister
PEER_S_ALREADY_A_MEMBER
PEER_S_ALREADY_CONNECTED
PEER_S_GRAPH_DATA_CREATED
PEER_S_NO_CONNECTIVITY
PEER_S_NO_EVENT_DATA
PEER_S_SUBSCRIPTION_EXISTS
PEM_read_bio_PrivateKey
PEM_read_PUBKEY
PEM_read_RSAPublicKey
PEM_write_bio_DSAPrivateKey
PEM_write_bio_ECPrivateKey
PEM_write_bio_PrivateKey
PEM_write_bio_RSAPrivateKey
PEM_write_DSAPrivateKey
PEM_write_DSA_PUBKEY
PEM_write_DSA_PUBKEY failed
PEM_write_ECPrivateKey
PEM_write_EC_PUBKEY
PEM_write_EC_PUBKEY failed
PEM_write_RSAPrivateKey
PEM_write_RSA_PUBKEY
PEM_write_RSA_PUBKEY failed
PEM_write_RSAPublicKey
PEM_write_RSAPublicKey failed
pending_blacklist
pending_dm
pending_ecc
pending_gom
pending if the PendingReturned field was set in the IRP passed to it.
pending_mig
PendingOnOff
PendingOnOffReason
Pending Page Blacklist
pendingRebootFileTime
pendingRebootLocalFileTime
pendingRebootTime
pending_retirement
percentage:
PercentageChange
Percentage of GPU memory utilized on the device by the context.
percentCapacity
percent_expand
Percent of time over the past sample period during which global (device) memory was being read or written.
Percent of time over the past sample period during which one or more kernels was executing on the GPU.
PerceptionSimulationInput.dll
PerceptionSimulationInput.pdb
PerceptionSimulationService.pdb
PerfBoostMode
PerfBoostPolicy
PerfDecreasePolicy
PerfDecreaseThreshold
PerfDecreaseTime
PerfHistoryCount
PerfIncreasePolicy
PerfIncreaseThreshold
PerfIncreaseTime
PERF_LIMIT_APPLICATIONCLOCKS
PERF_LIMIT_AUX_POWER
PERF_LIMIT_AUX_PWR_STATE
PERF_LIMIT_BANDWIDTH_HCLONE
PERF_LIMIT_BIF_USBC_PMU_PCIE_MIN
PERF_LIMIT_BIF_USBC_RM_PCIE_MIN
PERF_LIMIT_BOOST
PERF_LIMIT_BUG_535734
PERF_LIMIT_BUG_660789
PERF_LIMIT_CLIENT_0_MAX
PERF_LIMIT_CLIENT_0_MIN
PERF_LIMIT_CLIENT_1_MAX
PERF_LIMIT_CLIENT_1_MIN
PERF_LIMIT_CLIENT_2_MAX
PERF_LIMIT_CLIENT_2_MIN
PERF_LIMIT_CLIENT_HARD
PERF_LIMIT_CLIENT_LOCK_DRAM_MAX
PERF_LIMIT_CLIENT_LOCK_DRAM_MIN
PERF_LIMIT_CLIENT_LOCK_XBAR_MAX
PERF_LIMIT_CLIENT_LOCK_XBAR_MIN
PERF_LIMIT_CLIENT_LOOSE_0_MAX
PERF_LIMIT_CLIENT_LOOSE_0_MIN
PERF_LIMIT_CLIENT_LOOSE_1_MAX
PERF_LIMIT_CLIENT_LOOSE_1_MIN
PERF_LIMIT_CLIENT_LOOSE_2_MAX
PERF_LIMIT_CLIENT_LOOSE_2_MIN
PERF_LIMIT_CLIENT_LOOSE_3_MAX
PERF_LIMIT_CLIENT_LOOSE_3_MIN
PERF_LIMIT_CLIENT_LOOSE_4_MAX
PERF_LIMIT_CLIENT_LOOSE_4_MIN
PERF_LIMIT_CLIENT_LOOSE_5_MAX
PERF_LIMIT_CLIENT_LOOSE_5_MIN
PERF_LIMIT_CLIENT_LOOSE_6_MAX
PERF_LIMIT_CLIENT_LOOSE_6_MIN
PERF_LIMIT_CLIENT_LOOSE_7_MAX
PERF_LIMIT_CLIENT_LOOSE_7_MIN
PERF_LIMIT_CLIENT_LOOSE_8_MAX
PERF_LIMIT_CLIENT_LOOSE_8_MIN
PERF_LIMIT_CLIENT_LOOSE_9_MAX
PERF_LIMIT_CLIENT_LOOSE_9_MIN
PERF_LIMIT_CLIENT_LOW_INTERSECT
PERF_LIMIT_CLIENT_LOW_LOCK_DRAM_MAX
PERF_LIMIT_CLIENT_LOW_LOCK_DRAM_MIN
PERF_LIMIT_CLIENT_LOW_LOCK_XBAR_MAX
PERF_LIMIT_CLIENT_LOW_LOCK_XBAR_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_0_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_0_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_1_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_1_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_2_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_2_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_3_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_3_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_4_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_4_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_5_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_5_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_6_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_6_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_7_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_7_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_8_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_8_MIN
PERF_LIMIT_CLIENT_LOW_LOOSE_9_MAX
PERF_LIMIT_CLIENT_LOW_LOOSE_9_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_DISP_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_DISP_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_DRAM_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_DRAM_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_GPC_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_GPC_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_PCIE_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_PCIE_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_PSTATE_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_PSTATE_MIN
PERF_LIMIT_CLIENT_LOW_STRICT_XBAR_MAX
PERF_LIMIT_CLIENT_LOW_STRICT_XBAR_MIN
PERF_LIMIT_CLIENT_STRICT_DISP_MAX
PERF_LIMIT_CLIENT_STRICT_DISP_MIN
PERF_LIMIT_CLIENT_STRICT_DRAM_MAX
PERF_LIMIT_CLIENT_STRICT_DRAM_MIN
PERF_LIMIT_CLIENT_STRICT_GPC_MAX
PERF_LIMIT_CLIENT_STRICT_GPC_MIN
PERF_LIMIT_CLIENT_STRICT_PCIE_MAX
PERF_LIMIT_CLIENT_STRICT_PCIE_MIN
PERF_LIMIT_CLIENT_STRICT_PSTATE_MAX
PERF_LIMIT_CLIENT_STRICT_PSTATE_MIN
PERF_LIMIT_CLIENT_STRICT_XBAR_MAX
PERF_LIMIT_CLIENT_STRICT_XBAR_MIN
PERF_LIMIT_CUDA_MAX
PERF_LIMIT_CUSTOMER_BOOST_MAX
PERF_LIMIT_DEEP_IDLE
PERF_LIMIT_DISPLAY_GLITCH
PERF_LIMIT_DISP_RESTRICT_GPC_MAX
PERF_LIMIT_ECC_MAX
PERF_LIMIT_EDP_POLICY_DOM_GRP_1
PERF_LIMIT_EXCEPT_VIDEO
PERF_LIMIT_EXT_PERF_CONTROL
PERF_LIMIT_FORCED
PERF_LIMIT_FORCED_DACPERFTEST
PERF_LIMIT_FORCED_LINKTRAIN
PERF_LIMIT_FORCED_STRESSTEST
PERF_LIMIT_GPU_IS_IDLE
PERF_LIMIT_GPU_IS_IDLE_GROUP1
PERF_LIMIT_GPU_STATE_LOAD_BOOST_DOM_GRP_0
PERF_LIMIT_GPU_STATE_LOAD_BOOST_DOM_GRP_1
PERF_LIMIT_HD_FRAMEDROP_WAR
PERF_LIMIT_INTERSECT
PERF_LIMIT_INTERSECT_LOGIC_0_MIN
PERF_LIMIT_INTERSECT_LOGIC_1_MAX
PERF_LIMIT_INTERSECT_LOGIC_1_MIN
PERF_LIMIT_INTERSECT_LOGIC_2_MAX
PERF_LIMIT_INTERSECT_LOGIC_2_MIN
PERF_LIMIT_INTERSECT_SRAM_0_MAX
PERF_LIMIT_INTERSECT_SRAM_0_MIN
PERF_LIMIT_INTERSECT_SRAM_1_MAX
PERF_LIMIT_INTERSECT_SRAM_1_MIN
PERF_LIMIT_INTERSECT_SRAM_2_MAX
PERF_LIMIT_INTERSECT_SRAM_2_MIN
PERF_LIMIT_ISMODEPOSSIBLE
PERF_LIMIT_ISMODEPOSSIBLE_DISP
PERF_LIMIT_LOCKED_DRIVER
PERF_LIMIT_MCLK_CLONE
PERF_LIMIT_MIN_FAN_LEVEL
PERF_LIMIT_MODS_RULES
PERF_LIMIT_MODS_RULES_INTERSECT
PERF_LIMIT_MODS_RULES_LOCK_DRAM_MAX
PERF_LIMIT_MODS_RULES_LOCK_DRAM_MIN
PERF_LIMIT_MODS_RULES_LOCK_XBAR_MAX
PERF_LIMIT_MODS_RULES_LOCK_XBAR_MIN
PERF_LIMIT_MODS_RULES_LOGIC
PERF_LIMIT_MODS_RULES_LOOSE_0_MAX
PERF_LIMIT_MODS_RULES_LOOSE_0_MIN
PERF_LIMIT_MODS_RULES_LOOSE_1_MAX
PERF_LIMIT_MODS_RULES_LOOSE_1_MIN
PERF_LIMIT_MODS_RULES_LOOSE_2_MAX
PERF_LIMIT_MODS_RULES_LOOSE_2_MIN
PERF_LIMIT_MODS_RULES_LOOSE_3_MAX
PERF_LIMIT_MODS_RULES_LOOSE_3_MIN
PERF_LIMIT_MODS_RULES_LOOSE_4_MAX
PERF_LIMIT_MODS_RULES_LOOSE_4_MIN
PERF_LIMIT_MODS_RULES_LOOSE_5_MAX
PERF_LIMIT_MODS_RULES_LOOSE_5_MIN
PERF_LIMIT_MODS_RULES_LOOSE_6_MAX
PERF_LIMIT_MODS_RULES_LOOSE_6_MIN
PERF_LIMIT_MODS_RULES_LOOSE_7_MAX
PERF_LIMIT_MODS_RULES_LOOSE_7_MIN
PERF_LIMIT_MODS_RULES_LOOSE_8_MAX
PERF_LIMIT_MODS_RULES_LOOSE_8_MIN
PERF_LIMIT_MODS_RULES_LOOSE_9_MAX
PERF_LIMIT_MODS_RULES_LOOSE_9_MIN
PERF_LIMIT_MODS_RULES_SRAM
PERF_LIMIT_MODS_RULES_STRICT_DISP_MAX
PERF_LIMIT_MODS_RULES_STRICT_DISP_MIN
PERF_LIMIT_MODS_RULES_STRICT_DRAM_MAX
PERF_LIMIT_MODS_RULES_STRICT_DRAM_MIN
PERF_LIMIT_MODS_RULES_STRICT_GPC_MAX
PERF_LIMIT_MODS_RULES_STRICT_GPC_MIN
PERF_LIMIT_MODS_RULES_STRICT_PCIE_MAX
PERF_LIMIT_MODS_RULES_STRICT_PCIE_MIN
PERF_LIMIT_MODS_RULES_STRICT_PSTATE_MAX
PERF_LIMIT_MODS_RULES_STRICT_PSTATE_MIN
PERF_LIMIT_MODS_RULES_STRICT_XBAR_MAX
PERF_LIMIT_MODS_RULES_STRICT_XBAR_MIN
PERF_LIMIT_MXM_ACPOWER
PERF_LIMIT_NO_CLIENT
PERF_LIMIT_NO_HIRES
PERF_LIMIT_OOB_CLOCK_LIMIT_MAX
PERF_LIMIT_OOB_CLOCK_LIMIT_MIN
PERF_LIMIT_OS_LEVEL
PERF_LIMIT_OVERCLOCK
PERF_LIMIT_OVERLAY
PERF_LIMIT_OVERVOLTAGE_LOGIC
PERF_LIMIT_OVERVOLTAGE_SRAM
PERF_LIMIT_PERF_CF_CONTROLLER_DRAM_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_DRAM_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_GPC_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_GPC_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_NVD_MAX
PERF_LIMIT_PERF_CF_CONTROLLER_NVD_MIN
PERF_LIMIT_PERF_CF_CONTROLLER_XBAR_MAX
PERF_LIMIT_PERFMON
PERF_LIMIT_PERFMON_GROUP_1
PERF_LIMIT_PERFORMANCE_CAP
PERF_LIMIT_PERFORMANCE_CAP1
PERF_LIMIT_PM_DYNAMIC
PERF_LIMIT_PMU_DOM_GRP_1
PERF_LIMIT_PMU_OVERRIDE
PERF_LIMIT_POWERMIZER
PERF_LIMIT_POWERMIZER_HARD
PERF_LIMIT_PWR_POLICY_XBAR
PERF_LIMIT_PWR_SUPPLY_CAPACITY
PERF_LIMIT_RATED_TDP_MAX
PERF_LIMIT_RATED_TDP_MIN
PERF_LIMIT_RC_ERROR
PERF_LIMIT_RELIABILITY_ALT_LOGIC
PERF_LIMIT_RELIABILITY_ALT_SRAM
PERF_LIMIT_RELIABILITY_LOGIC
PERF_LIMIT_RELIABILITY_SRAM
PERF_LIMIT_SCREEN_SAVER
PERF_LIMIT_SDI_INPUT_CAPTURE
PERF_LIMIT_SLI_DOM_GRP_0_MIN
PERF_LIMIT_SLI_GPU_BOOST_DOM_GRP_0
PERF_LIMIT_SLI_GPU_BOOST_DOM_GRP_1
PERF_LIMIT_SLI_GPU_BOOST_XBAR
PERF_LIMIT_SPDIFF_GLITCH
PERF_LIMIT_STRESSTEST_FAILURE
PERF_LIMIT_SUSPEND_POWER
PERF_LIMIT_SW_BATTPOWER
PERF_LIMIT_SYSPERF
PERF_LIMIT_THERMAL
PERF_LIMIT_THERM_POLICY_DOM_GRP_0
PERF_LIMIT_THERM_POLICY_DOM_GRP_1
PERF_LIMIT_THERM_POLICY_NVVDD
PERF_LIMIT_THERM_POLICY_XBAR
PERF_LIMIT_UNLOAD_DRIVER
PERF_LIMIT_UNLOAD_DRIVER_DISP
PERF_LIMIT_UNLOAD_DRIVER_PSTATE
PERF_LIMIT_UNLOAD_DRIVER_VOLTAGE_RAIL_0
PERF_LIMIT_UNLOAD_DRIVER_VOLTAGE_RAIL_1
PERF_LIMIT_VMIN_LOGIC
PERF_LIMIT_VMIN_SRAM
PERF_LIMIT_VPS
PerfMaxPolicy
PerfMinPolicy
performance
PerformanceCounter
Performance may be impacted by doing so.
performance_state
Performance State
PerformRequest failed
PerfTimeCheck
PeriodIntervalCountBucketLimitsInMs
PeriodIntervalCountBuckets
Permanent
permission denied
permission_denied
Permission denied
permission_set_add
permit-agent-forwarding
permitlocalcommand
permit-port-forwarding
permit-pty
permit-user-rc
permit-x11-forwarding
permit-X11-forwarding
    per sampling interval. Metrics to be monitored can be adjusted
persistence_mode
Persistence Mode
PERSIST_E_NOTSELFSIZING
PERSIST_E_SIZEDEFINITE
PERSIST_E_SIZEINDEFINITE
pfAADJoined
PF_DETECTED_CORRUPTION
PfFileInfoNotify
pFileInfo
PFN_LIST_CORRUPT
PFN_REFERENCE_COUNT
PFN_SHARE_COUNT
PfxFindPrefix
PfxInitialize
PfxInsertPrefix
PfxRemovePrefix
PH@8rLuaH
PHASE0_EXCEPTION
PHASE0_INITIALIZATION_FAILED
PHASE1_INITIALIZATION_FAILED
phrgnSelectedMonitors
PhsS-bLghP
PhysicalPowerButtonPressInfoAtBoot
pIdList is not long enough to hold all the workspaces
PINBALL_FILE_SYSTEM
pin required
pipe - ERROR invalid parameter
PipeETWEvents
PipeThread
pkcs11_add_provider
pkcs11_check_obj_bool_attrib
pkcs11_fetch_rsa_pubkey
pkcs11_get_key
pkcs11_get_key failed
pkcs11_k11_free
pkcs11_login_slot
pkcs11provider
pkcs11_register_provider
pkcs11_rsa_start_wrapper
PLA_E_CABAPI_FAILURE
PLA_E_CONFLICT_INCL_EXCL_API
PLA_E_CREDENTIALS_REQUIRED
PLA_E_DC_ALREADY_EXISTS
PLA_E_DCS_ALREADY_EXISTS
PLA_E_DCS_IN_USE
PLA_E_DCS_NOT_FOUND
PLA_E_DCS_NOT_RUNNING
PLA_E_DCS_SINGLETON_REQUIRED
PLA_E_DCS_START_WAIT_TIMEOUT
PLA_E_DC_START_WAIT_TIMEOUT
PLA_E_EXE_ALREADY_CONFIGURED
PLA_E_EXE_FULL_PATH_REQUIRED
PLA_E_EXE_PATH_NOT_VALID
PLA_E_INVALID_SESSION_NAME
PLA_E_NETWORK_EXE_NOT_VALID
PLA_E_NO_DUPLICATES
PLA_E_NO_MIN_DISK
PLA_E_PLA_CHANNEL_NOT_ENABLED
PLA_E_PROPERTY_CONFLICT
PLA_E_REPORT_WAIT_TIMEOUT
PLA_E_RULES_MANAGER_FAILED
PLA_E_TASKSCHED_CHANNEL_NOT_ENABLED
PLA_E_TOO_MANY_FOLDERS
plain key provided where certificate required
PLA_S_PROPERTY_IGNORED
PlatformRole
PlayMetaFile
PlaySoundW
Please contact the application's support team for more information.
Please contact your system administrator.
Please enter "yes" or "no"
Please Note: Current S-Class products don't provide unique LEDs for each unit.
Please run as Administrator
Please run this as root 
Please see the nvidia-smi documentation for more detailed information.
Please type 'yes' or 'no': 
Please use option -gt instead.
pledge: exec
pledge: filesystem full
pledge: id
pledge: network
pledge: proc
PlNotifyDeviceDState
PlNotifyDeviceFState
PlPowerPlaneComponentProfile
PlPowerPlaneDeviceProfile
PlPowerPlaneProfile
PlPublishSystemPowerChange
PlRegisterComponent
PlRegisterDevice
PlRegisterFxDevice
PlRegisterPowerPlaneStatus
PlRegisterUnregisteredFxDevice
PlUnregisterComponent
PlUnregisterDevice
    [plus any of]
     [plus optional]
   [plus optional]
    pmon                        Displays process stats in scrolling format.
PMU_BREAKPOINT
PMU_ERROR
PMU_HALT_ERROR
pNetBuffer
pNetStream
PnpCL9o0tXH
PnpCompareInterruptInformation
PNP_DETECTED_FATAL_ERROR
PnpDisengageTime
PNP_INTERNAL_ERROR
pnpRedirection
PoBatteryLevelCritical
PoBatteryLevelLow
PoBatteryLevelNormal
PoBatteryLevelUnknown
PoCallDriver
PoCancelDeviceNotify
PoClearPowerRequest
PoCpuIdledSinceLastCallImprecise
PoCreatePowerRequest
PoCreateThermalRequest
PoDeletePowerRequest
PoDeleteThermalRequest
PoDirectedDripsClearDeviceFlags
PoDirectedDripsInitialization
PoDirectedDripsSetDeviceFlags
PoDisableSleepStates
PoDripsWakeSource
PoEndDeviceBusy
PoEnergyEstimationEnabled
PoFxActivateComponent
PoFxCompleteDevicePowerNotRequired
PoFxCompleteDirectedPowerDown
PoFxCompleteIdleCondition
PoFxCompleteIdleState
PoFxDefaultPepWorkerOrphaned
PoFxDefaultPepWorkerRecovered
PoFxEnableDStateReporting
PoFxIdleComponent
PoFxIssueComponentPerfStateChange
PoFxIssueComponentPerfStateChangeMultiple
PoFxNotifySurprisePowerOn
PoFxPowerControl
PoFxPowerOnCrashdumpDevice
PoFxProcessorNotification
PoFxQueryCurrentComponentPerfState
PoFxRegisterComponentPerfStates
PoFxRegisterCoreDevice
PoFxRegisterCrashdumpDevice
PoFxRegisterDevice
PoFxRegisterDripsWatchdogCallback
PoFxRegisterPlugin
PoFxRegisterPluginEx
PoFxRegisterPrimaryDevice
PoFxReportDevicePoweredOn
PoFxSetComponentLatency
PoFxSetComponentResidency
PoFxSetComponentWake
PoFxSetDeviceIdleTimeout
PoFxSetTargetDripsDevicePowerState
PoFxStartDevicePowerManagement
PoFxUnregisterDevice
PoGetProcessorIdleAccounting
PoGetSystemWake
PoGetThermalRequestSupport
POGOBuffer
PoInitiateProcessorWake
POINTER_PAST_HASH_BLK
POINTER_PAST_SECURITY_BLK
point-to-point
PoIrpFinish
PoLatencySensitivityHint
                   [-P old_passphrase]
Policies are read successfully!
Policy AutoRestartDeadlineDays is configured
Policy AutoRestartDeadlineDays is set
PolicyBlockReason
PolicyDeadlineApproachingDialog
PolicyDeadlineEngagementDialog
PolicyDeadlineRebootFailedDialog
PolicyDeadlineRebootImminentDialog
PolicyDeadlineUserScheduledDialog
policyDeviceService
policyDigest
policyDriver
PolicyEnabledForcedWarningDialog
Polyline
PoNotifyMediaBuffering
PoNotifyVSyncChange
POOL_CORRUPTION_IN_FILE_AREA
PopCoalescing: Coalescing timer activated
PopCoalescing: FLUSH notification sent.
PopCoalescing: OFF notification sent.
PopDiagFxComponentAccounting
PopDiagFxDeviceAccounting
PopDiagFxGlobalDeviceAccounting
PopDiagTraceExternalDisplayState
PopDripsWakeSpuriousBuckets
po: POP_WAKE_DEVICE_AFTER_SLEEP enabled.
PopulateBitmapForDump
populateBitmapForDumpDuration_ms
PopulateFolders failed
PopulateHostServer failed
PopulateIconFiles failed
PopulateIndex failed
PopulateResourceFileDetails failed
PopulateType failed
PopulateUrl failed
PopulateWidth failed
PoQueryWatchdogTime
PoQueueShutdownWorkItem
PoReenableSleepStates
PoRegisterCoalescingCallback
PoRegisterDeviceForIdleDetection
PoRegisterDeviceNotify
PoRegisterPowerSettingCallback
PoRegisterSystemState
PoRequestPowerIrp
PoRequestShutdownEvent
PORT_DRIVER_INTERNAL
Port forwarding failed.
Port forwarding is disabled to avoid man-in-the-middle attacks.
port listener
port_open_helper
portRedirection
PoSetDeviceBusyEx
PoSetFixedWakeSource
PoSetHiberRange
PoSetPowerButtonHoldState
PoSetPowerRequest
PoSetPowerState
PoSetSystemState
PoSetSystemWake
PoSetSystemWakeDevice
PoSetThermalActiveCooling
PoSetThermalPassiveCooling
PoSetUserPresent
PoShutdownBugCheck
POSIXLY_CORRECT
posix-rename@openssh.com
PoStartDeviceBusy
PoStartNextPowerIrp
?PostCreate@CCBase@DirectUI@@MEAAXPEAUHWND__@@@Z
PostEnumerateKey
PostEnumerateKeyFailed
PostMessageW
PostNotification call to invoke toast failed
PostOpenOrCreateFailed
PostOpenOrCreateReparseDetected
PostPackageLoops failed
PostPowerwash
PostQueryKey
PostQueryKeyFailed
PostQueryKeyFinished
PostQuitMessage
PostSessionWork
PostThreadMessageW
PoUnregisterCoalescingCallback
PoUnregisterPowerSettingCallback
PoUnregisterSystemState
PoUserShutdownCancelled
PoUserShutdownInitiated
PowerAction
PowerActionHibernate
PowerActionNone
PowerActionReserved
PowerActionShutdown
PowerActionShutdownOff
PowerActionShutdownReset
PowerActionSleep
PowerActionWarmEject
PowerClearRequest
PowerCreateRequest
power.default_limit
PowerDeterminePlatformRoleEx
PowerDeviceD0
PowerDeviceD1
PowerDeviceD2
PowerDeviceD3
PowerDeviceMaximum
PowerDeviceUnspecified
power.draw
power_draw
Power Draw
 * Power draw is too high and Fast Trigger protection is reducing the clocks
PowerDrawMw
PoweredDownTimeBuckets
PoweredDownTimePerBucket
PowerEventEnum
POWER_FAILURE_SIMULATE
power-hint
 POWER HINT:
    power-hint                  Estimates GPU power usage. "nvidia-smi power-hint -h" for more information. 
power.limit
power_limit
Power Limit
power.management
power_management
Power Management
Power Management Object
power.max_limit
power.min_limit
PowerPlaneId
powerPolicyAction
powerPolicyActionType
powerPolicyBatteryLevel
powerPolicyEventCode
powerPolicyFlags
powerPolicyMinState
powerPolicyMinSystemState
PowerPressCount
PowerProfileRegistered
    Power Readings
PowerReconfigNotification
Power Related Toast Disabled through OneSettings
Power Related Toast Enabled through OneSettings
(PowerRelations)
Power Request Blocking Ended
Power Request Blocking Started
PowerRequest Clear
PowerRequester
PowerRequesterName
PowerRequesterType
PowerRequestHandle
PowerRequestId
PowerRequest Set
PowerRequestStats
    Power Samples
PowerSetRequest
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
power_state
powerState
PowerState
PowerStateAc
PowerStateChange
PowerStateEnum
PowerStateType
PowerSystemHibernate.S4
PowerSystemShutdown.S5
PowerSystemSleeping1.S1
PowerSystemSleeping2.S2
PowerSystemSleeping3.S3
PowerSystemUnspecified
PowerSystemWorking.S0
PowerWatchdogArmed
POWRPROF.dll
PP0_INITIALIZATION_FAILED
PP1_INITIALIZATION_FAILED
ppAAProfile
ppInstance
PpmQosEnableDisableStats
ppNetBuffer
ppooomhP
                              p - Power Usage and Temperature
pppkQ. K
ppppooogoghO
ppppooomgggb_G
PPPPPNNLLL84*****
ppProfile
PP[qqWP7"
ppRdpXBuffer
pPreAuthCookie
pps7tuxf
ppSe6SepprRW
ppSockAddrList
ppTenantId
*ppThumbprint
ppUserCreds
ppWin32DpiApi
ppwszAAProxyHostName
ppwszSettingsStore
#pragma once
pRdClient
pRdpXBuffer
pReadBuffer
preAuthCookie
PredictionType
preferredauthentications
PreloadEndTime
PreLoadKey
PreLoadKeyFailed
PreLoadKeySuccess
PreOpenOrCreateFailed
PreOpenOrCreateGlobalReparse
PrepareForCredWriteNew failed
PrepareForCredWriteOld failed
PrepareMachineForAuditMode
PrepareRequest failed
Preparing to reboot and commit
PreprocessCommand
PreQueryKeyName
PreQueryKeyNameFailed
PreQueryKeyNameSuccess
PRESERV_TABLE_HASH_NOT_STARTED
PreventSleep
preventSleepState
PreviousBodyResponseSize
PreviousDisplayState
PREVIOUS_FATAL_ABNORMAL_RESET_ERROR
Previously set IRP_MJ_PNP status has been converted to
Previously set IRP_MJ_POWER status has been converted to
Previous m_Extension value overridden
PreviousPolicy
PreviousShutdownWasThermalShutdown
PreviousState
PreviousZeroTime
previousZoomLevel
   (*PrimaryCard)
primaryTokenSessionFlags
        Principals: 
	Print a detailed usage description and exit.
Print a more detailed version of this message
print_cert
PrintDlgExW
printerRedirection
PrintError
print_escape_help
Print extra information
	Print extra information while running the program
	Print LOTS of extra information.
Print LOTS of extra information
PrintMessage
PrintMessageFromModule
PrintPreview
   (Prints a more extensive usage message than this one)
PrintSetup
Print version information
	Print version information. May be combined with other
PRIVATE KEY
PrivilegeCheck
PRNG is not seeded
ProbeForRead
ProbeForWrite
ProbeMode
ProblemStatus
Problem unloading provider DLL.
PROCESS1_INITIALIZATION_FAILED
Process32FirstW
Process32NextW
ProcessActionQueue
Process auto reboot failed scenario
ProcessCommand
processCommandLine
ProcessCommandLine
ProcessCommitFailure
ProcessCommitLimitPages
ProcessCommitReacquire
ProcessCommitReacquireFail
ProcessCommitReacquireSkip
ProcessCommitRelease
ProcessCommitUsedPages
process_config_line_depth
ProcessConnUri
ProcessDpuResults
ProcessedLogger
ProcessedPressCount
ProcessedReleaseCount
processes
| Processes:                                                                  |
Processes
process_escapes
process_gssapi_token
PROCESS_HAS_LOCKED_PAGES
ProcessHttpMethod failed
ProcessId
Process ID
Process ID of the compute application
ProcessIdToSessionId
PROCESS_INITIALIZATION_FAILED
 Process Monitoring:
process_name
Process Name
ProcessName
ProcessOpenFailedForForcedAccessCheck
PROCESSOR_DRIVER_INTERNAL
PROCESSOR_START_TIMEOUT
ProcessPageFileLimitPages
ProcessPageFileUsagePages
processPath
ProcessPointerFramesInteractionContext
ProcessReserveMemFailed
ProcessResetPagesCommitRelease
ProcessSequence
ProcessStarted
processStartKey
ProcessStartKey
    Process statistics are displayed in scrolling format per sampling
ProcessSyncBody
ProcessSyncHdr
ProcessTrace
ProcessWorkingSets
ProcessXml failed
product_architecture
Product Architecture
product_brand
Product Brand
Product Id
PRODUCTION_0
PRODUCTION_4
PRODUCTION_5
PRODUCTION_6
PRODUCTION_7
product_name
Product Name
Product Serial
profapi.dll
--profile
ProfilePath
PROFILER_CONFIGURATION_ILLEGAL
Program: 
ProgramData
__PROGRAMDATA__
ProgramFiles
progress
Progress meter disabled
Progress meter enabled
ProgressPage::OnKillActive
ProgressPage::OnMessage
ProgressPage::OnSetActive
ProgressPage::SetVisible
ProgressPage::ShowPageMinimumTimeCallback
progress                           Toggle display of progress meter
ProhibitChildProcessCreation
Prohibited
PROHIBITED
ProhibitLowILImageMap
ProhibitNonMicrosoftBinaries
PROM_CHECKSUM
PromotedSeekerTrayIconApplicable
Promoted Seeker Tray Icon applicable to this device
Promoted Seeker Tray Icon is not applicable because Disable UXAccess Policy is Enabled
Promoted Seeker Tray Icon is not applicable because feature is disabled in OneSettings.
Promoted Seeker Tray Icon not applicable to device.
promotedSeekerUpdateCount
Promoted Seeker update count
PromptForCreds failed
Properties
Property
PropertySheetW
PropertyStore
proposals match
?PropSheet_SendMessage@TaskPage@DirectUI@@IEAA_JI_K_J@Z
PROPSYS.dll
PropVariantClear
PropVariantCopy
PropVariantToBoolean
PropVariantToString
PropVariantToStringAlloc
PropVariantToStringVectorAlloc
PropVariantToUInt32
PropVariantToUInt32WithDefault
@PROTDATA
PROTDATA
protectorId
protocol
protocol error
Protocol error
Protocol major versions differ.
ProtocolMessageFactory
Protocol not available
protocol not supported
protocol_not_supported
Protocol not supported
protocol-version
protocol version mismatch
Protocol wrong type for socket
Provider
Provider::BWCOn
ProviderDeviceType
Provider::GetKeywords
Provider::GetMetadata
Provider::GetMetadataCollection
Provider::GetProvider
Provider::GetPublisherCertificateDigest
	ProviderGuid
ProviderId
ProviderId. This IRP should either have been completed earlier or
Provider::Init
Provider::LoadMetadata
ProviderSignature
ProviderSpecificType
proxycommand
Proxy host name too long!
proxyjump
proxyusefdpass
PrxmDisplayState
PrxmDisplayStateReason
PrxmEscapeCount
PrxmPowerPressCount
PrxmScenarioCount
PrxmSpanSinceLastPress
Ps4TransitionCount
PsAcquireProcessExitSynchronization
PsAcquireSiloHardReference
PsAllocSiloContextSlot
PsAssignImpersonationToken
PsAssignProcessToJobObject
PsAttachSiloToCurrentThread
PsChargePoolQuota
PsChargeProcessNonPagedPoolQuota
PsChargeProcessPagedPoolQuota
PsChargeProcessPoolQuota
PsChargeProcessWakeCounter
PSCreateMemoryPropertyStore
PsCreateSiloContext
PsCreateSystemThread
PsCreateSystemThreadEx
PsDereferenceImpersonationToken
PsDereferenceKernelStack
PsDereferencePrimaryToken
PsDereferenceSiloContext
PsDestroyProcessParameterOverrides
PsDetachSiloFromCurrentThread
PsDisableImpersonation
PSEC_WINNT_AUTH_IDENTITY_EX2
pSelectedMonitors
PsEnterPriorityRegion
PsEstablishWin32Callouts
PSetupElevatedDriverStoreAddDriverPackageW
PSetupElevatedInstallDownloadedLegacyDriverW
PSetupElevatedInstallDriverPackageFromConnectionW
PSetupElevatedInstallPrinterDriverFromTheWebW
PSetupElevatedLegacyPrintDriverInstallW
Pseudo-terminal will not be allocated because stdin is not a terminal.
PsFreeSiloContextSlot
PsGetContextThread
PsGetCurrentProcess
PsGetCurrentProcessId
PsGetCurrentProcessSessionId
PsGetCurrentProcessWin32Process
PsGetCurrentProcessWow64Process
PsGetCurrentServerSilo
PsGetCurrentServerSiloName
PsGetCurrentSilo
PsGetCurrentThread
PsGetCurrentThreadId
PsGetCurrentThreadPreviousMode
PsGetCurrentThreadProcess
PsGetCurrentThreadProcessId
PsGetCurrentThreadStackBase
PsGetCurrentThreadStackLimit
PsGetCurrentThreadTeb
PsGetCurrentThreadWin32Thread
PsGetCurrentThreadWin32ThreadAndEnterCriticalRegion
PsGetEffectiveContainerId
PsGetEffectiveServerSilo
PsGetHostSilo
PsGetJobLock
PsGetJobProperty
PsGetJobServerSilo
PsGetJobSessionId
PsGetJobSilo
PsGetJobUIRestrictionsClass
PsGetParentSilo
PsGetPermanentSiloContext
PsGetProcessCommonJob
PsGetProcessCreateTimeQuadPart
PsGetProcessDebugPort
PsGetProcessDxgProcess
PsGetProcessExitProcessCalled
PsGetProcessExitStatus
PsGetProcessExitTime
PsGetProcessId
PsGetProcessImageFileName
PsGetProcessInheritedFromUniqueProcessId
PsGetProcessJob
PsGetProcessParameterOverrides
PsGetProcessPeb
PsGetProcessPriorityClass
PsGetProcessProtection
PsGetProcessSectionBaseAddress
PsGetProcessSecurityPort
PsGetProcessSequenceNumber
PsGetProcessServerSilo
PsGetProcessSessionId
PsGetProcessSessionIdEx
PsGetProcessSignatureLevel
PsGetProcessSilo
PsGetProcessStartKey
PsGetProcessWin32Process
PsGetProcessWin32WindowStation
PsGetProcessWow64Process
PSGetPropertyDescriptionListFromString
PsGetServerSiloServiceSessionId
PsGetSiloContainerId
PsGetSiloContext
PsGetSiloIdentifier
PsGetSiloMonitorContextSlot
PsGetThreadCreateTime
PsGetThreadExitStatus
PsGetThreadFreezeCount
PsGetThreadHardErrorsAreDisabled
PsGetThreadId
PsGetThreadProcess
PsGetThreadProcessId
PsGetThreadProperty
PsGetThreadServerSilo
PsGetThreadSessionId
PsGetThreadTeb
PsGetThreadWin32Thread
PsGetVersion
PsGetWin32KFilterSet
P@@sH;;CE88
PshedAllocateMemory
PshedArePluginsPresent
PshedAttemptErrorRecovery
PshedBugCheckSystem
PshedClearErrorRecord
PshedDisableErrorSource
PSHED.dll
PshedDoPfa
PshedEnableErrorSource
PshedFinalizeErrorRecord
PshedFreeMemory
PshedGetAllErrorSources
PshedGetBootErrorPacket
PshedGetErrorSourceInfo
PshedGetInjectionCapabilities
PshedInitAvailable
PshedInitGlobal
PshedInitialize
PshedInitProc
PshedInjectError
PshedIsSystemWheaEnabled
PshedMarkHiberPhase
PshedReadErrorRecord
PshedRetrieveErrorInfo
PshedSetErrorSourceInfo
PshedSetHalEnlightenments
PshedWriteErrorRecord
PsImpersonateClient
PsInitialSystemProcess
PsInsertPermanentSiloContext
PsInsertSiloContext
PsIsComponentEnabled
PsIsCurrentThreadInServerSilo
PsIsCurrentThreadPrefetching
PsIsDiskCountersEnabled
PsIsHostSilo
PsIsProcessBeingDebugged
PsIsProcessCommitRelinquished
PsIsProcessInAppSilo
PsIsProtectedProcess
PsIsProtectedProcessLight
PsIsSystemProcess
PsIsSystemThread
PsIsThreadImpersonating
PsIsThreadTerminating
PsIsWin32KFilterAuditEnabled
PsIsWin32KFilterAuditEnabledForProcess
PsIsWin32KFilterEnabled
PsIsWin32KFilterEnabledForProcess
PsJobType
PsLeavePriorityRegion
PsLoadedModuleList
PsLoadedModuleResource
PsLookupProcessByProcessId
PsLookupProcessThreadByCid
PsLookupThreadByThreadId
PsMakeSiloContextPermanent
psMUITest
PsPartitionType
PsProcessType
PsQueryProcessAttributesByToken
PsQueryProcessCommandLine
PsQueryProcessExceptionFlags
PsQueryTotalCycleTimeProcess
PsReferenceImpersonationToken
PsReferenceKernelStack
PsReferencePrimaryToken
PsReferenceProcessFilePointer
PsReferenceSiloContext
PsRegisterAltSystemCallHandler
PsRegisterPicoProvider
PsRegisterSiloMonitor
PsReleaseProcessExitSynchronization
PsReleaseProcessWakeCounter
PsReleaseSiloHardReference
PsRemoveCreateThreadNotifyRoutine
PsRemoveLoadImageNotifyRoutine
PsRemoveSiloContext
PsReplaceSiloContext
PsRestoreImpersonation
PsResumeProcess
PsReturnPoolQuota
PsReturnProcessNonPagedPoolQuota
PsReturnProcessPagedPoolQuota
PsRevertThreadToSelf
PsRevertToSelf
PsSetContextThread
PsSetCreateProcessNotifyRoutine
PsSetCreateProcessNotifyRoutineEx
PsSetCreateProcessNotifyRoutineEx2
PsSetCreateThreadNotifyRoutine
PsSetCreateThreadNotifyRoutineEx
PsSetCurrentThreadPrefetching
PsSetJobProperty
PsSetLegoNotifyRoutine
PsSetLoadImageNotifyRoutine
PsSetLoadImageNotifyRoutineEx
PsSetProcessDxgProcess
PsSetProcessFaultInformation
PsSetProcessPriorityByClass
PsSetProcessPriorityClass
PsSetProcessSecurityPort
PsSetProcessWin32Process
PsSetProcessWindowStation
PsSetThreadHardErrorsAreDisabled
PsSetThreadProperty
PsSetThreadWin32Thread
PsSiloContextNonPagedType
PsSiloContextPagedType
PsStartSiloMonitor
PsSuspendProcess
PsTerminateServerSilo
PsTerminateSystemThread
PsThreadType
PsUILanguageComitted
PsUnregisterSiloMonitor
PsUpdateComponentPower
PsUpdateDiskCounters
psu_state
PsWow64GetProcessMachine
PsWow64IsMachineSupported
PsWrapApcWow64Thread
pszAlertType
pszClientIdentifier
pszCookie
pszExeName
pszExtension
pszHeader
pszRdpExtensionList
pszServer
pszVersion
PteExecutable
PteInvalid
pTenantId
PteWriteable
PtInRect
pTransportEvents
pTransportProps
PTY allocation
pubkeyacceptedkeytypes
pubkeyauthentication
pubkey_key_types
pubkey_prepare
publickey
Public Key
pulKeepAliveIntervalMs
pulKeepAliveTimeoutMs
Pulled out a non-stringtable item
pulProcessId
pulProxyCredsSource
pulProxyUsageMethod
PUPPPNNLLI8844.
_purecall
- pure virtual function call
pUserCreds
PushRouterOrigin
put [-afpR] local [remote]         Upload file
put_AllowCredentialSaving failed!
put_AudioCaptureRedirectionMode failed!
put_AudioQualityMode failed!
put_AudioRedirectionMode failed!
put_AuthenticationLevel failed!
put_BandwidthDetection failed!
put_BitmapCacheSize failed!
put_BitmapPersistence failed!
put_BitmapVirtualCache16BppSize failed!
put_BitmapVirtualCache24BppSize failed!
put_BitmapVirtualCache32BppSize failed!
put_BitmapVirtualCacheSize failed!
put_ClearTextPassword failed!
put_ClientProtocolSpec failed!
put_ColorDepth failed!
put_Compress failed!
put_ConnectToAdministerServer failed
put_ConnectToAdministerServer failed!
put_DesktopHeight failed!
put_DesktopWidth failed!
put_DisableCtrlAltDel failed!
put_DisableRemoteAppCapsCheck failed!
put_DisplayConnectionBar failed!
put_Domain failed!
put_EnableAutoReconnect failed!
put_EnableCredSspSupport failed!
put_EnableMouse failed!
put_EnableSuperPan failed!
put_FullScreen failed!
put_FullScreen(TRUE) failed!
put_FullScreen(VARIANT_TRUE) failed!
put_GatewayAuthCookieServerAddr failed!
put_GatewayAuthLoginPage failed!
put_GatewayBrokeringType failed!
put_GatewayCredentialSharing failed!
put_GatewayCredSourceCookie failed!
put_GatewayCredsSource failed!
put_GatewayEncryptedAuthCookie failed!
put_GatewayEncryptedAuthCookieSize failed!
put_GatewayEncryptedOtpCookie failed!
put_GatewayEncryptedOtpCookieSize failed!
put_GatewayHostname failed!
put_GatewayPassword failed!
put_GatewayPreAuthRequirement failed!
put_GatewayPreAuthServerAddr failed!
put_GatewayProfileUsageMethod failed!
put_GatewaySupportUrl failed!
put_GatewayUsageMethod failed!
put_GatewayUsername failed!
put_KeyboardHookMode failed!
put_KeyBoardLayoutStr failed!
put_LaunchedViaClientShellInterface failed!
put_LoadBalanceInfo failed!
put_MarkRdpSettingsSecure failed!
put_MaxReconnectAttempts failed!
put_MinSendInterval failed!
put_NegotiateSecurityLayer failed!
put_NetworkConnectionType failed!
put_PCB failed!
put_PerformanceFlags failed!
put_PinConnectionBar failed!
put_PluginDlls failed!
put_PromptForCredentials failed!
put_PromptForCredsOnClient failed!
put_Property(TSCSETTING_TRANSPORT_PROXYCERTLOGONAUTHORITY) failed!
put_Property(TS_PROP_CORE_CORRELATION_ID) failed!
put_Property(TS_PROP_CORE_DIAGNOSTICS_URL) failed!
put_Property(UTREG_APPCONTAINER_ID) failed!
put_Property(UTREG_DIAGNOSTICS_INFO) failed!
put_Property(UTREG_EVENTLOG_UPLOAD_ADDRESS) failed!
put_Property(UTREG_GP_ENABLE_HARDWARE_MODE_GRAPHICS) failed
put_Property(UTREG_UI_AUDIO_PROPERTY_CAPTURE_DEVICE) failed!
put_Property(UTREG_UI_AUDIO_PROPERTY_PLAYBACK_DEVICE) failed!
put_Property(UTREG_UI_DISABLE_CREDENTIALS_DELEGATION) failed!
put_Property(UTREG_UI_DISABLE_SEAMLESS_LANGUAGE_BAR) failed!
put_Property(UTREG_UI_DISABLE_TOUCH_REMOTING) failed!
put_Property(UTREG_UI_ENABLE_FRAME_BUFFER_REDIRECTION) failed!
put_Property(UTREG_UI_ENABLE_REMOTEEDGEBAR) failed!
put_Property(UTREG_UI_FEDAUTH_TOKEN) failed!
put_Property(UTREG_UI_HIDEF_REMOTEAPP_CONTAINER_GUID) failed!
put_Property(UTREG_UI_KDCPROXY_NAME) failed!
put_Property(UTREG_UI_MANUAL_CLIP_SYNC_ENABLED) failed!
put_Property(UTREG_UI_MULTIPEN_REMOTING_SUPPORTED) failed!
put_Property(UTREG_UI_RDG_IS_KDCPROXY) failed!
put_Property(UTREG_UI_REDIRECTED_AUTHENTICATION) failed!
put_Property(UTREG_UI_REQUEST_USE_NEW_OUTPUT_PRESENTER) failed!
put_Property(UTREG_UI_RESTRICTED_LOGON) failed!
put_Property (UTREG_UI_SELECTED_MONITORS) failed
put_Property(UTREG_UI_SHOWGATEWAYINFORMATION) failed!
put_Property(UTREG_UI_SHOWSESSIONDIAGNOSTICS) failed!
put_Property(UTREG_UI_URCP_MODE_SUPPORT) failed!
put_Property(UTREG_UI_USE_RDSAAD_AUTH) failed!
put_Property(UTREG_VAIL_ENABLE_MONITOR_CONFIG) failed!
put_PublicMode failed!
put_PublisherCertificateChain failed
put_RDPPort failed!
put_RedirectClipboard failed!
put_RedirectDynamicDevices failed!
put_RedirectionWarningType failed!
put_RedirectPorts failed!
put_RedirectPOSDevice failed!
put_RedirectPrinters failed!
put_RedirectSmartCards failed!
put_RemoteApplicationName failed!
put_RemoteApplicationPath failed!
put_RemoteProgramMode failed!
put_Server failed!
put_ShowRedirectionWarningDialog failed!
put_SmartSizing failed
put_SmartSizing failed!
put_StartProgram failed!
put_SuperPanAccelerationFactor failed!
put_TrustedZoneSite failed!
put_UseMultimon failed!
put_UseRedirectionServerName failed!
put_UserName failed!
put_VideoPlaybackMode failed!
put_WarnAboutClipboardRedirection failed!
put_WarnAboutDirectXRedirection failed!
put_WarnAboutPrinterRedirection failed!
put_WarnAboutSendingCredentials failed!
put_WorkDir failed!
p UWATAVAWH
p UWAUAVAWH
p WATAUAVAWH
p WATAVH
p WATAWH
p WAUAVH
p WAUAWH
p WAVAWH
pwcRemoteIp
pwd                                Display remote working directory
pwr_object
pwszHostname
pwszPreAuthServerAddr
pwszSupportUrl
Python wrappers to NVML are also available.  The output of NVSMI is
qBaseDllName
  -q          Be quiet after a successful operation.
qCallerId
Q?__cccccf]v
qCommitChargeAtExit_Sum
qCommitChargePeakAtExit_Sum
qConnected
qCrashCount
qc?vc]XD4"PY:
qCycleCountAtExit_Sum
QD;EdSI0
qDeviceInstanceId
qExitStatusNegativeCount
qExitStatusOneCount
qExitStatusZeroCount
qGhostCount_Sum
qgTNHGFCC@
qHandleCountAtExit_Sum
qHangCount_Sum
qHardFaultCountAtExit_Sum
qHeartbeatCount
qHeartbeatSuspendedCount
qHitPrefilterUECount
QI failed
QI Failed
QI for IID_IMsRdpClient5 failed!
QI for IID_IMsRdpClient9 failed!
QI for IID_IMsRdpClientNonScriptable4 failed!
QI for IID_IMsRdpClientNonScriptable5 failed!
QI for IID_IMsRdpExtendedSettings failed - Non-Fatal
QI for IID_IMsRdpPreferredRedirectionInfo failed!
QI for IID_ITsWkspInternal failed!
QI for IMsRdpClientNonScriptable3 failed!
QI for IMsRdpClientNonScriptable7 failed
QI for IMsRdpClientNonScriptable7 failed!
QI IID_IMstscAxInternal failed!
QI(IMsRdpDeviceCollection2)
qinvalid stoi argument
qlfD96uJH
qlfE9.uMH
QL;Y w5H
q.NNaZUdM'
qProcessDurationMS_Sum
qqqckkk(
Q-Q-R-R-
           [-Q query_option] [-R address] [-S ctl_path] [-W host:port]
qReadCountAtExit_Sum
qReadSizeInKBAtExit_Sum
qResumeCount
Q!R!S!T!]!c!d!e!m!
qRunningDurationMS_Sum
qSuspendCount
qTerminateCount
Quadro RTX
--query-accounted-apps
QueryActCtxW
QueryActiveSession
QueryDosDeviceW
QueryFullProcessImageNameW
QueryHvlDumpSizeFailure
QueryInstanceCount
QueryInterface
?QueryInterface@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInterface@ElementProvider@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
QueryInterface failed!
QueryInterface failed for IMsRdpExtendedSettings
QueryInterface(IID_IMsRdpClient7) failed!
QueryInterface(IID_IMsRdpClientNonScriptable7) failed!
QueryInterface(IID_IMsRdpDeviceV2)
QueryInterface(IID_IMsRdpExtendedSettings) failed!
QueryInterface(IID_IPropertyStore) failed!
QueryInterface IID_IRDPENCPlatformContext failed!. Ignoring the error
QueryLayoutOrTipString
  QUERY OPTIONS:
QueryPerformanceCounter
QueryPerformanceFrequency
QueryPolicy
Query refused
QuerySecurityPackageInfo failed
QuerySecurityPackageInfoW
QueryServiceConfigW
QueryServiceStatus
QueryServiceStatusEx
QueryTraceW
QueryUpdateFileEaAllowedExt
QueryUserToken
QueryVariables
QueryWin32SubsystemHost
    QUESTIONS:
QueueUserAPC
QueueUserTask failed!
QueueUserWorkItem
quit                               Quit sftp
QUOTA_UNDERFLOW
qUTCMetadata_ImageFileName
qVLpmic]XR
qVVxpmic]XR
qWriteCountAtExit_Sum
qWriteSizeInKBAtExit_Sum
"""""" r*****"'""""""*""
r""""""'
r"*"""*"
    -rac  --reset-applications-clocks
RadcCombineUrl failed
RadcValidateAndCreateActualUrl failed
RadcXmlIcon
RadcXmlIcon::CreateInstance failed
RadcXmlResource
RadcXmlResource::CreateInstance failed
RadcXmlResource::CreateRdpXResourceCopy failed
RadcXmlTenantFeedInfo
RadcXmlTenantFeedInfo::CreateInstance failed
RadcXmlTenantFeedInfo::CreateRdpXTenantFeedURLInfoCopy failed
RadcXmlUserConsentStatusInfo
RadcXmlUserConsentStatusInfo::CreateInstance failed
RadcXmlUserConsentStatusInfo::CreateRdpXUserConsentStatusInfoCopy failed
RadioButtonPage::GetUserChoices
RadioButtonPage::OnKillActive
RadioButtonPage::OnListenedEvent
RadioButtonPage::OnMessage
RadioButtonPage::OnSetActive
RaiseException
RaiseFailFastException
ramdisk(
RAMDISK_BOOT_INITIALIZATION_FAILED
RAND_bytes
RAND_status
RangeArray
RangeCount
RASAPI32.dll
RasConfigUserProxySettingsW
r#""""b'
      -R[bind_address:]port:host:hostport    Request remote forward
r"*b"""**"j""*"""""""g
RcDiagRecordType
rChH]@9a
RCs_AllElevated
RCs_AllResolved
RCs_AnyFixed
RCs_AnyResolutionsRun
RCs_HaveElevated
RCs_Keywords
RCs_LimitedRemainToBeRun
RCs_OnlyUnverifiableRootCauses
RCs_ResolutionsToChoose
rcStatus
RdClient
RDClientEventLogSession
RDIMAGELENGTH
RDIMAGEOFFSET
rdisk(0)
          r: Display tx and rx data payload and protocol overhead in KiB if supported
RDPAPI_GetGenericCounter GfxCacheEvictRects failed
RDPAPI_GetGenericCounter GfxCacheInsertImports failed
RDPAPI_GetGenericCounter GfxCacheInsertRects failed
RDPAPI_GetGenericCounter GfxClassifierInARects failed
RDPAPI_GetGenericCounter GfxClassifierOutImageRects failed
RDPAPI_GetGenericCounter GfxClassifierOutSolidRects failed
RDPAPI_GetGenericCounter GfxClassifierOutTextRects failed
RDPAPI_GetGenericCounter GfxClearCodec failed
RDPAPI_GetGenericCounter GfxCodecStats failed
RDPAPI_GetGenericCounter GfxDeltaReducedRects failed
RDPAPI_GetGenericCounter GfxInterFrameCacheHitRects failed
RDPAPI_GetGenericCounter GfxInterFrameCacheInARects failed
RDPAPI_GetGenericCounter GfxInterFrameCacheOutARects failed
RDPAPI_GetGenericCounter GfxIntraFrameCacheHitRects failed
RDPAPI_GetGenericCounter GfxMDInARects failed
RDPAPI_GetGenericCounter GfxMDOutARects failed
RDPAPI_GetGenericCounter GfxMDOutMoves failed
RDPAPI_GetGenericCounter GfxUTInVideoARects failed
RDPAPI_GetGenericCounter GfxUTOutEncARects failed
RDPAPI_GetGenericCounter m_spPerfCounterGfxDirtyRects failed
RDPAPI_GetGenericCounter m_spPerfCounterGfxPrimitiveRects failed
RDPAPI_GetGenericCounter QOEServerFrameDetails failed
RdpEdpPolicyManager
RdpEdpPolicyManager::CreateInstance failed!
RDPENCORE_InitializeLibrary failed.
RDP file signature has a wrong type.
RDP file signature is missing.
RDP.MSTSCTelemetry
RdpTapClientShellNotification
RdpWinRadcHttpRequest::InitializeInstance failed
"RdpWinTapClientShellCallback"
"RdpWinTapPublishCallback"
RdpXBufferPtr
RdpX_CreateObject CertSignature failed!
RdpXRadcHttpRequestTask::CreateInstance failed
RdpX_Strings_CreateConstXChar16String failed
RdpX_TO_NetBuffer
RDR_FILE_SYSTEM
RDWin32ClientTelemetryProvider
rdynamic_connect_prepare
Reached end of collected stats
ReadBuffer failed
ReadConsoleInputW
ReadConsoleOutputA
ReadConsoleW
ReadCount
ReadEffectivePolicyDWORD failed!
ReadEffectivePolicyDWORD(TSC_POLICY_ENFORCE_RESTRICTED_ADMIN_MODE) failed!
read failed
ReadFile
ReadFileEx
ReadFoldersFromRegistry failed
ReadIconInfoFromRegistry failed
Reading from unfinished list
Reading the auto reboot limit from reg key
ReadMachinePolicyDWORD failed!
read_mux
read only file system
Read-only file system
read_passphrase: stdin is not a tty
ReadPolicy
Read*PropertyFromRegistry failed.
ReadResourcesFromRegistry failed
ReadResourceTypePropertyFromRegistry failed
ReadResponseBody failed
ReadSizeInKB
ReadStringPropertyFromRegistry failed
ReadUserPolicyDWord failed!
Read values from USO for grace period policy successfully
ReadWorkspaceFromRegistry failed
ReadyToReboot
ReadytoReboot reminder is not shown yet
RealizePalette
RealTimeIsUniversal
ReasonCode
ReasonsNotToReboot
Reason that describes why the page was retired. Can take one of two values: 
RebalanceDueToDynamicPartitioning
RebalanceResult
Reboot and commit failed
rebootArgument
Reboot attempt failed in forced state so reschedule
Reboot attempt failed when initiated by user so show reboot failed dialog
Reboot attempt succeeded but may be waiting for apps to be closed so schedule reboot failed dialog
Reboot based on Active Hours recommended time
Reboot based on Policy Time
Reboot call to USO from UX Failed
rebootComesFirst
Reboot countdown is zero so notification is not shown.
Reboot countdown is zero to one minute so reboot dialog is not shown
Reboot deadline in days
Reboot deadline in hours
Reboot dialog
Reboot dialog time is not valid for policy so rescheduling again.
Reboot dialog time is not valid so rescheduling again.
rebootDurationInMinutes
rebootEscalationWindow
Reboot escalation Window
Reboot failed toast will be shown
Reboot flow changed. EngagedRebootReminder is not expected in enhanced reboot but processing from another flow.
Reboot flow changed. ForceRebootReminder is not expected in enhanced reboot but processing from another flow.
rebootImminentToAutoFailedInHours
Reboot in 5 minutes
Reboot is canceled due to blocking apps.
Reboot is in engaged state
Reboot is in expedited mode
Reboot is in forced state
Reboot is no longer required
Reboot is not in forced state
Reboot is scheduled by notification broker
Reboot is scheduled by user
Reboot is scheduled in the future by user so not scheduling one again.
Reboot next action is not found in state table
RebootNoLongerNeeded
Reboot notification state: auto reboot final escalation window
Reboot notification state: auto reboot initial escalation window
Reboot notification state: auto reboot intermediate escalation window
Reboot notification state: device past deadline
Reboot notification state: engaged reminder
Reboot notification state: show reboot failed dialog
Reboot notification state: user scheduled reboot
Reboot notification state: Valid time to auto reboot
Reboot notification state: Valid time to show engage reminder
rebootOutsideOfActiveHours
Reboot pending time
RebootReminderToastDisplayed
RebootRequestReasonsToIgnore
Reboot required.
RebootRequired
RebootRequiredButNoScheduleExists
RebootRequiredReason
 RebootScheduled
rebootScheduledByUser
Reboot schedule does not exist
Reboot schedule exists
RebootScheduleTimeInDays
Reboot schedule time in days is set
rebootState
Reboot state changed. Reprocess new state
RebootTime
Reboot time calculated using countdownMinutes:
Reboot time doesn't exist.
Reboot time is not valid so reboot notification is not shown on logon.
Reboot time is not valid so rescheduling again.
Reboot time is retrieved from update session:
RebootUserScheduledPerAUPolicyDialog
rebootUsingSmartScheduler
RebootUxState
Reboot Ux State reason is out of range
RebootUxStateString
RebootVersion
Reboot warning toast will be shown
RebootWithBlockingApps
RebootWithUXCalled
RebootWorkflowMandatory
RebootWorkflowMgmtUpdates
received directory without -r
Received SSH2_MSG_IGNORE
rechargeable
RECOM_DRIVER
RecordDiagnosticsError
Recorded
record_hostkey
RecordToString failed
RecoverableLoadFailureCount
RecoverableLoadFailureLocations
RecoveryOOBE
Rectangle
RecursiveDeleteDirectory failed
RECURSIVE_MACHINE_CHECK
RECURSIVE_NMI
recvfrom
recycled.
--redirect
redirectedAuthentication
RedirectionTrustPolicy
RedirectNow
Redmond1
RedrawWindow
REFERENCE_BY_POINTER
REFMON_INITIALIZATION_FAILED
RefreshConsole
RefreshFailures
RefreshTimeZoneInfoCutoverFail
RefreshTimeZoneInfoQueryFail
RefreshTimeZoneInfoSuccess
RefSetStart::AutoMark
RefSetStop::AutoMark
REFS_FILE_SYSTEM
REF_UNKNOWN_LOGON_SESSION
             regardless of which unit is specified with this command
RegCloseKey
RegConnectRegistryW
RegCreateKeyExA
RegCreateKeyEx to allow deletions failed
RegCreateKeyExW
RegCreateKeyTransactedW
RegCreateKeyW
REGDB_E_BADTHREADINGMODEL
REGDB_E_CLASSNOTREG
REGDB_E_IIDNOTREG
REGDB_E_INVALIDVALUE
REGDB_E_KEYMISSING
REGDB_E_PACKAGEPOLICYVIOLATION
REGDB_E_READREGDB
REGDB_E_WRITEREGDB
RegDeleteKeyExA
RegDeleteKeyExW
RegDeleteKeyValueW
RegDeleteKeyW
RegDeleteTreeA
RegDeleteTreeW
RegDeleteValueW
RegEnumKeyExA
RegEnumKeyExW
RegEnumKeyW
RegEnumValueA
RegEnumValueW
reget [-fpR] remote [local]        Resume download file
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
RegFlushKey
RegGetKeySecurity
RegGetValue failed
RegGetValueW
RegisterAppId failed!
RegisterApplicationRecoveryCallback
RegisterApplicationRestart
?Register@CCBase@DirectUI@@SAJXZ
RegisterClassExW
?Register@ClassInfoBase@DirectUI@@QEAAJXZ
RegisterClassW
RegisterClipboardFormatW
?Register@Combobox@DirectUI@@SAJXZ
RegisterContext
?Register@Edit@DirectUI@@SAJXZ
RegisteredPatchRundown
RegisteredUserSidPatchRundown
?Register@Element@DirectUI@@SAJXZ
RegisterErrorLogMessage failed.
RegisterEventSourceW
register_file
Register File
RegisterHelper
RegisterHotKey
?Register@HWNDElement@DirectUI@@SAJXZ
?Register@HWNDHost@DirectUI@@SAJXZ
RegisterOutputCallbackInteractionContext
RegisterPointerDeviceNotifications
RegisterServer failed!
RegisterServiceCtrlHandlerW
_register_thread_local_exe_atexit_callback
RegisterTouchWindow
RegisterTraceGuidsW
RegisterWaitForSingleObject
RegisterWindowMessageW
REGISTRY_CALLBACK_DRIVER_EXCEPTION
REGISTRY_ERROR
REGISTRY_FILTER_DRIVER_EXCEPTION
Registry key value is set: Upgrade found in the applicable updates
REGISTRY_NOT_FOUND
registryStateAfter
registryStateBefore
 Registry updates aborted!
RegLoadAppKeyW
RegLoadKeyW
RegLoadMUIStringW
RegNotifyChangeKeyValue
RegOpenCurrentUser
RegOpenKeyExA
RegOpenKeyExW
RegOpenKeyW
RegQueryInfoKeyA
RegQueryInfoKeyW
RegQueryValueExA
RegQueryValueEx failed
RegQueryValueExW
RegQueryValueW
RegReadDWORD failed
RegReadDWORD failed - Transaction Timeout key
RegReadDWORD returned false -- key didn't exist
RegReadDWORD returned false -- Transaction Timeout key didn't exist
RegReadDWORD returned (shutdownafter) false -- key didn't exist
RegReadDWORD (shutdownafter) failed
RegReadWriteString failed
RegReadWriteString (for identity of the package) returned false or failed
RegReadWriteString returned false -- could be no enabled flag
RegReadWriteString returned false:  no type library
RegReadWriteString returned false or failed
RegReadWriteString returned false: property did not exist
regServer
RegSetKeySecurity
RegSetKeyValueW
RegSetValueExA
RegSetValueEx to unprotect mtstocom failed
RegSetValueExW
regular bugcheck processing may not work.
RegUnLoadKeyW
Rejected X11 connection after ForwardX11Timeout expired
rejectReason
rekeying in progress
rekeying not supported by peer
rekeylimit
relations query.
Relative Capacity Unit
RelaunchPackageInstance
relaxed_ordering_mode
Relaxed Ordering Mode
ReleaseActCtx
ReleaseCapture
?Release@ClassInfoBase@DirectUI@@UEAAHXZ
ReleaseContainer
ReleaseDC
?Release@ElementProvider@DirectUI@@UEAAKXZ
ReleaseMutex
?Release@RefcountBase@DirectUI@@QEAAJXZ
ReleaseSemaphore
ReleaseSRWLockExclusive
ReleaseSRWLockShared
ReleaseStgMedium
ReleaseUpdatePolicyValue
?Release@Value@DirectUI@@QEAAXXZ
Releasing two locks in reverse order of their acquire.
reliability
ReloadAccountInfo
ReloadPackages
RemainingBodyResponseSize
remainingByteCount
remainingDurationInMinutes
remainingMilliPercent
remainingPercentage
RemainingPercentage
remainingVariableStorageSize
remapped_row_corr
remapped_row_failure
remapped_row_pending
                                 remapped_row_pending|remapped_row_failure|
remapped_rows
Remapped Rows
remapped_rows.correctable
remapped_rows.failure
remapped_rows.pending
remapped_rows.uncorrectable
remapped_row_unc
Remapping Failure Occurred
Reminder cadence from default settings
Reminder cadence from one settings
Reminder is needed to be shown for forced reboot but not shown yet
Reminder notification cadence
Remind me later clicked on CTA dialog
remoteAppMode
remoteCmdLine
remotecommand
remoteFile
remoteforward
--remotelinkinfo
(RemovalRelations)
?RemoveAll@Element@DirectUI@@QEAAJXZ
Remove a synchronous boost group. Provide the group id
?RemoveBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
?RemoveChild@ClassInfoBase@DirectUI@@UEAAXXZ
RemovedCount
RemoveDirectoryW
?Remove@Element@DirectUI@@QEAAJPEAV12@@Z
?Remove@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
RemoveErrorSourceDeviceDriver
RemoveFontMemResourceEx
RemoveMenu
RemoveNotificationSink failed
RemovePropW
RemoveReadyToReboot
removeSystemCacheFromDumpDuration_ms
RemoveTempPackage failed
?RemoveTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?RemoveTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
Removing
Removing a task from task scheduler failed
rename oldpath newpath             Rename remote file
re-parsing configuration
repeatCount
replacearg: argument too long
ReplaceTextW
replay_counter
Replay Number Rollovers
replay_rollover_counter
Replays Since Reset
ReportEventW
reput [-fpR] local [remote]        Resume upload file
RequestBlockingTimes
RequestCountsTotal
RequestDeviceRemovalForReset
RequestId
Requesting authentication agent forwarding.
Requesting no-more-sessions@openssh.com
Requesting X11 forwarding with authentication spoofing.
request rekey
requesttty
request with a failure status code.
requiredByteCount
Required confidence updated
requiredLength
requiredSignatureLevel
                                Requires administrator privileges
                                Requires administrator privileges.
                                Requires root.
rerunNumber
RescanDevices
reserved
Reserved
reserved-key 
RESERVE_QUEUE_OVERFLOW
Reset all error counters to zero.
--reset-application-clocks
--reset-applications-clocks
--resetcounters
ResetEnd
--reseterrorcounters
ResetEvent
--reset-gpu-clocks
--reset-memory-clocks
ResetPagesNotReleased
ResetPagesReleased
                                Resets the applications clocks to the default values.
                                Resets the Gpu clocks to the default values.
                                Resets the Memory clocks to the default values.
_resetstkoflw
Resetting counters is deprecated!
Resetting the role name to be Administrators
Resetting the role name to be Readers
Resetting the transaction timeout failed
ResiliencyDripsTime
ResiliencyHwDripsTime
ResiliencyPhaseExit
ResizePalette
Resolution
resolutionApplied
Resolution_GetConsentProvided
Resolution::get_ConsentRequired
Resolution::get_Description
Resolution_GetDoResolve
Resolution_GetElevation
Resolution::get_ElevationRequired
Resolution::get_Extension
Resolution::get_ExtensionXML
Resolution_GetFixedProblem
Resolution::get_ID
Resolution::get_IsInteractive
Resolution::get_IsScriptless
Resolution::get_Name
Resolution::get_Package
Resolution::get_PackageCollection
Resolution_GetRC
Resolution_GetRequiresConsent
Resolution_GetResolveRun
Resolution_GetResolveSucceeded
Resolution::get_RootCause
Resolution_GetRunNumber
Resolution_GetScriptless
Resolution::get_State
resolutionId
Resolution_Order
ResolutionOrderIterator::GetNextResolution
ResolutionOrderIterator::HasNext
ResolutionOrderIterator::Reset
Resolution_PhysicalUserCheck
Resolution::QueryInterface
Resolution_SetConsentProvided
Resolution::set_Description
Resolution_SetDoResolve
Resolution::set_Extension
Resolution::set_ExtensionXML
Resolution_SetFixedProblem
Resolution::set_ID
Resolution::set_Name
Resolution::set_Package
Resolution_SetResolveRun
Resolution_SetupExtension
resolve_addr
ResolveAndVerifyResolution
resolve_canonicalize
ResolveDelayLoadedAPI
ResolveDelayLoadsFromDll
resolve_host
ResolveLocaleName
resolveSucceeded
Resource deadlock avoided
resource deadlock would occur
Resource device
resourceId
resource name is empty
RESOURCE_NOT_OWNED
RESOURCE_OWNER_POINTER_INVALID
resource shortage
Resource temporarily unavailable
resource unavailable try again
 response
Response Data Key
Response Data Value
Response file already defined
ResponseFromNotificationUx
responsible person
ResponsivenessDisableThreshold
ResponsivenessDisableTime
ResponsivenessEnableThreshold
ResponsivenessEnableTime
ResponsivenessEppCeiling
ResponsivenessPerfFloor
Restart as planned.
RestartCountdownMinutes
restartDeadlineInDays
restartDeferredOnBlockingApps
Restart in 1 hour
Restart in 2 hours
Restart in 30 minutes
Restart reason is not in one of pre-defined reasons so falling back on general reason.
restart  Restart the system immediately.
RestoreDC
RESTORE_DEFAULT
restoreSupervisorStateDuration_ms
__restrict
restrict(
RESTRICTED
restrictedAdmin
restricted user
resultHandler
ResultingSD
result out of range
ResultStatus
Result too large
resumeClockTimerDuration_ms
ResumeUIVisibility
RetailDemo
retired_count
retired_page_address
retired_pagelist
retired_pages
    Retired Pages
retired_pages.address
retired_pages.cause
retired_pages.dbe
retired_pages.double_bit.count
retired_pages.pending
retired_pages.sbe
retired_pages.single_bit_ecc.count
retired_pages.timestamp
retired_page_timestamp
RetrieveOmadmSettings
Retrieves information about factors that are reducing the frequency of clocks. If all throttle reasons are returned as "Not Active" it means that clocks are running as high as possible.
RetryCount
RetryDownload
RetryInterval
Retry interval cannot be larger than the retry timeout
returned by IoAttachDeviceToDeviceStack.
returnedByteCount
                 returned from --sync-boost-list
ReturnHr
Returning from monitorHandlerInit : SUCCESS
Returning from monitorHandlerRun : SUCCESS
Returning from nvsmiReplay : SUCCESS
Returning from nvsmiSystemMon : SUCCESS
ReturnNetwareForm
ReuploadFiles
RevertToSelf
revisionNumber
@revoked
revoked 
revoked_certs_generate
revokedhostkeys
revoking certificates by key ID requires specification of a CA key
revoking certificates by serial number requires specification of a CA key
    -rgc  --reset-gpu-clocks
rhostsauthentication
rhostsrsaauthentication
?Right@CHString@@QEBA?AV1@H@Z
rijndael-cbc@lysator.liu.se
RJ666X]]EJ
r""j"*""*b""
r'L9cpt!L
 rM9N4sH
    -rmc  --reset-memory-clocks
rmdir path                         Remove remote directory
RmGlobal_Bitfields
rm path                            Delete remote file
          [-R num_requests] [-S program] [-s subsystem | sftp_server]
RoActivateInstance
ROBUST_CHANNEL_BAD_ADDR_ACCESS
ROBUST_CHANNEL_BSP_ERROR
ROBUST_CHANNEL_BUS_MASTER_TIMEOUT_ERROR
ROBUST_CHANNEL_CE0_ERROR
ROBUST_CHANNEL_CE1_ERROR
ROBUST_CHANNEL_CE2_ERROR
ROBUST_CHANNEL_CE3_ERROR
ROBUST_CHANNEL_CE4_ERROR
ROBUST_CHANNEL_CE5_ERROR
ROBUST_CHANNEL_CE6_ERROR
ROBUST_CHANNEL_CE7_ERROR
ROBUST_CHANNEL_CE8_ERROR
ROBUST_CHANNEL_CE9_ERROR
ROBUST_CHANNEL_CONTAINED_ERROR
ROBUST_CHANNEL_CTXSW_TIMEOUT_ERROR
ROBUST_CHANNEL_DISP_MISSED_NOTIFIER
RobustChannelError
ROBUST_CHANNEL_FAKE_ERROR
ROBUST_CHANNEL_FECS_ERR_REG_ACCESS_VIOLATION
ROBUST_CHANNEL_FECS_ERR_UNIMP_FIRMWARE_METHOD
ROBUST_CHANNEL_FECS_ERR_VERIF_VIOLATION
ROBUST_CHANNEL_FECS_ERR_WATCHDOG_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_CHANNEL_BUSY
ROBUST_CHANNEL_FIFO_ERROR_FBISTATE_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_FIFO_METHOD
ROBUST_CHANNEL_FIFO_ERROR_IDLE_TIMEOUT
ROBUST_CHANNEL_FIFO_ERROR_MMU_ERR_FLT
ROBUST_CHANNEL_FIFO_ERROR_PARSE_ERR
ROBUST_CHANNEL_FIFO_ERROR_PTE_ERR
ROBUST_CHANNEL_FIFO_ERROR_RUNOUT_OVERFLOW
ROBUST_CHANNEL_FIFO_ERROR_SW_METHOD
ROBUST_CHANNEL_FIFO_ERROR_UNK_METHOD
ROBUST_CHANNEL_GPU_ECC_DBE
ROBUST_CHANNEL_GPU_HAS_FALLEN_OFF_THE_BUS
ROBUST_CHANNEL_GPU_TIMEOUT_ERROR
ROBUST_CHANNEL_GR_CLASS_ERROR
ROBUST_CHANNEL_GR_ERROR_INSTANCE
ROBUST_CHANNEL_GR_ERROR_MISSING_HW
ROBUST_CHANNEL_GR_ERROR_SINGLE_STEP
ROBUST_CHANNEL_GR_ERROR_SW_METHOD
ROBUST_CHANNEL_GR_EXCEPTION
ROBUST_CHANNEL_GR_FAULT_DURING_CTXSW
ROBUST_CHANNEL_GR_ILLEGAL_NOTIFY
ROBUST_CHANNEL_GR_SEMAPHORE_TIMEOUT
ROBUST_CHANNEL_ME_ERROR_SW_METHOD
ROBUST_CHANNEL_MPEG_ERROR_SW_METHOD
ROBUST_CHANNEL_MSPDEC_ERROR
ROBUST_CHANNEL_MSPPP_ERROR
ROBUST_CHANNEL_MSVLD_ERROR
ROBUST_CHANNEL_NVDEC0_ERROR
ROBUST_CHANNEL_NVDEC1_ERROR
ROBUST_CHANNEL_NVDEC2_ERROR
ROBUST_CHANNEL_NVDEC3_ERROR
ROBUST_CHANNEL_NVDEC4_ERROR
ROBUST_CHANNEL_NVDEC5_ERROR
ROBUST_CHANNEL_NVDEC6_ERROR
ROBUST_CHANNEL_NVDEC7_ERROR
ROBUST_CHANNEL_NVENC0_ERROR
ROBUST_CHANNEL_NVENC1_ERROR
ROBUST_CHANNEL_NVENC2_ERROR
ROBUST_CHANNEL_NVJPG0_ERROR
ROBUST_CHANNEL_NVJPG1_ERROR
ROBUST_CHANNEL_NVJPG2_ERROR
ROBUST_CHANNEL_NVJPG3_ERROR
ROBUST_CHANNEL_NVJPG4_ERROR
ROBUST_CHANNEL_NVJPG5_ERROR
ROBUST_CHANNEL_NVJPG6_ERROR
ROBUST_CHANNEL_NVJPG7_ERROR
ROBUST_CHANNEL_OFA0_ERROR
ROBUST_CHANNEL_OTHER
ROBUST_CHANNEL_PARAMETER_ERROR
ROBUST_CHANNEL_PBDMA_ERROR
ROBUST_CHANNEL_PREEMPTIVE_REMOVAL
ROBUST_CHANNEL_RC_LOGGING_ENABLED
ROBUST_CHANNEL_RESETCHANNEL_VERIF_ERROR
ROBUST_CHANNEL_SCANLINE_TIMEOUT
ROBUST_CHANNEL_SEC2_ERROR
ROBUST_CHANNEL_SEC_ERROR
ROBUST_CHANNEL_UNCONTAINED_ERROR
ROBUST_CHANNEL_VBLANK_CALLBACK_TIMEOUT
ROBUST_CHANNEL_VGA_SUBSYSTEM_ERROR
ROBUST_CHANNEL_VIC_ERROR
ROBUST_CHANNEL_VP2_ERROR
ROBUST_CHANNEL_VP_ERROR
ROBUST_CHANNEL_VP_ERROR_SW_METHOD
RO_E_BLOCKED_CROSS_ASTA_CALL
RO_E_CANNOT_ACTIVATE_FULL_TRUST_SERVER
RO_E_CANNOT_ACTIVATE_UNIVERSAL_APPLICATION_SERVER
RO_E_CHANGE_NOTIFICATION_IN_PROGRESS
RO_E_CLOSED
RO_E_COMMITTED
RO_E_ERROR_STRING_NOT_FOUND
RO_E_EXCLUSIVE_WRITE
RO_E_INVALID_METADATA_FILE
RO_E_METADATA_INVALID_TYPE_FORMAT
RO_E_METADATA_NAME_IS_NAMESPACE
RO_E_METADATA_NAME_NOT_FOUND
RO_E_MUST_BE_AGILE
RO_E_UNSUPPORTED_FROM_MTA
RoGetActivationFactory
RoGetAgileReference
RoGetMatchingRestrictedErrorInfo
RoInitialize
RoOriginateError
RoOriginateErrorW
RoOriginateLanguageException
RootCause
RootCause_AllResolutionsHaveRun
RootCause::CreateResolutionsFromXml
RootCause::get_ContextParametersXML
RootCause::get_Description
RootCause::get_Extension
RootCause::get_ExtensionXML
RootCause::get_ID
RootCause_GetKeywords
RootCause::get_Name
RootCause::get_NumberResolutions
RootCause_GetNumberResolutions
RootCause::get_Package
RootCause::get_PackageCollection
RootCause::get_Resolution
RootCause::get_State
RootCause_GetState
RootCause_GetWERParam
RootCause_IsChecked
RootCause_IsResolved
RootCause_IsUnverifiable
RootCauseIterator::GetNextRootCause
RootCauseIterator::HasNext
RootCauseIterator::Reset
RootCause::QueryInterface
RootCause::set_ContextParametersXML
RootCause::set_Description
RootCause::set_Extension
RootCause::set_ExtensionXML
RootCause::set_ID
RootCause::set_Name
RootCause::set_Package
RootCause_SetupExtension
RootDeviceId
RoRegisterActivationFactories
RoRevokeActivationFactories
RoUninitialize
RouterDiscoveryEnabled
route through
row_remapper
row_remapper_histogram
                                      row_remapper_histogram_high|
row_remapper_histogram_high
                                      row_remapper_histogram_low|
row_remapper_histogram_low
row_remapper_histogram_max
row_remapper_histogram_none
                                      row_remapper_histogram_partial|
row_remapper_histogram_partial
RpcAsyncCompleteCall
RpcBindingFree
RpcBindingFromStringBindingW
RpcBindingInqAuthClientW
RpcBindingSetAuthInfoExW
RpcBindingVectorFree
RPC_E_ACCESS_DENIED
RPC_E_ATTEMPTED_MULTITHREAD
RPC_E_CALL_CANCELED
RPC_E_CALL_COMPLETE
RPC_E_CALL_REJECTED
RPC_E_CANTCALLOUT_AGAIN
RPC_E_CANTCALLOUT_INASYNCCALL
RPC_E_CANTCALLOUT_INEXTERNALCALL
RPC_E_CANTCALLOUT_ININPUTSYNCCALL
RPC_E_CANTPOST_INSENDCALL
RPC_E_CANTTRANSMIT_CALL
RPC_E_CHANGED_MODE
RPC_E_CLIENT_CANTMARSHAL_DATA
RPC_E_CLIENT_CANTUNMARSHAL_DATA
RPC_E_CLIENT_DIED
RPC_E_CONNECTION_TERMINATED
RPC_E_DISCONNECTED
RPC_E_FAULT
RPC_E_FULLSIC_REQUIRED
RPC_E_INVALID_CALLDATA
RPC_E_INVALID_DATA
RPC_E_INVALID_DATAPACKET
RPC_E_INVALID_EXTENSION
RPC_E_INVALID_HEADER
RPC_E_INVALID_IPID
RPC_E_INVALIDMETHOD
RPC_E_INVALID_OBJECT
RPC_E_INVALID_OBJREF
RPC_E_INVALID_PARAMETER
RPC_E_INVALID_STD_NAME
RPC_E_NO_CONTEXT
RPC_E_NO_GOOD_SECURITY_PACKAGES
RPC_E_NO_SYNC
RPC_E_NOT_REGISTERED
RPC_E_OUT_OF_RESOURCES
RpcEpRegisterW
RpcEpUnregister
RPC_E_REMOTE_DISABLED
RPC_E_RETRY
RPC_E_SERVERCALL_REJECTED
RPC_E_SERVERCALL_RETRYLATER
RPC_E_SERVER_CANTMARSHAL_DATA
RPC_E_SERVER_CANTUNMARSHAL_DATA
RPC_E_SERVER_DIED
RPC_E_SERVER_DIED_DNE
RPC_E_SERVERFAULT
RPC_E_SYS_CALL_FAILED
RPC_E_THREAD_NOT_INIT
RPC_E_TIMEOUT
RPC_E_TOO_LATE
RPC_E_UNEXPECTED
RPC_E_UNSECURE_CALL
RPC_E_VERSION_MISMATCH
RPC_E_WRONG_THREAD
RpcExceptionFilter
RpcImpersonateClient
RpcMgmtStopServerListening
RPC_NT_ADDRESS_ERROR
RPC_NT_ALREADY_LISTENING
RPC_NT_ALREADY_REGISTERED
RPC_NT_BAD_STUB_DATA
RPC_NT_BINDING_HAS_NO_AUTH
RPC_NT_BINDING_INCOMPLETE
RPC_NT_BYTE_COUNT_TOO_SMALL
RPC_NT_CALL_CANCELLED
RPC_NT_CALL_FAILED
RPC_NT_CALL_FAILED_DNE
RPC_NT_CALL_IN_PROGRESS
RPC_NT_CANNOT_SUPPORT
RPC_NT_CANT_CREATE_ENDPOINT
RPC_NT_COMM_FAILURE
RPC_NT_COOKIE_AUTH_FAILED
RPC_NT_DUPLICATE_ENDPOINT
RPC_NT_ENTRY_ALREADY_EXISTS
RPC_NT_ENTRY_NOT_FOUND
RPC_NT_ENUM_VALUE_OUT_OF_RANGE
RPC_NT_FP_DIV_ZERO
RPC_NT_FP_OVERFLOW
RPC_NT_FP_UNDERFLOW
RPC_NT_GROUP_MEMBER_NOT_FOUND
RPC_NT_INCOMPLETE_NAME
RPC_NT_INTERFACE_NOT_FOUND
RPC_NT_INTERNAL_ERROR
RPC_NT_INVALID_ASYNC_CALL
RPC_NT_INVALID_ASYNC_HANDLE
RPC_NT_INVALID_AUTH_IDENTITY
RPC_NT_INVALID_BINDING
RPC_NT_INVALID_BOUND
RPC_NT_INVALID_ENDPOINT_FORMAT
RPC_NT_INVALID_ES_ACTION
RPC_NT_INVALID_NAF_ID
RPC_NT_INVALID_NAME_SYNTAX
RPC_NT_INVALID_NET_ADDR
RPC_NT_INVALID_NETWORK_OPTIONS
RPC_NT_INVALID_OBJECT
RPC_NT_INVALID_PIPE_OBJECT
RPC_NT_INVALID_PIPE_OPERATION
RPC_NT_INVALID_RPC_PROTSEQ
RPC_NT_INVALID_STRING_BINDING
RPC_NT_INVALID_STRING_UUID
RPC_NT_INVALID_TAG
RPC_NT_INVALID_TIMEOUT
RPC_NT_INVALID_VERS_OPTION
RPC_NT_MAX_CALLS_TOO_SMALL
RPC_NT_NAME_SERVICE_UNAVAILABLE
RPC_NT_NO_BINDINGS
RPC_NT_NO_CALL_ACTIVE
RPC_NT_NO_CONTEXT_AVAILABLE
RPC_NT_NO_ENDPOINT_FOUND
RPC_NT_NO_ENTRY_NAME
RPC_NT_NO_INTERFACES
RPC_NT_NO_MORE_BINDINGS
RPC_NT_NO_MORE_ENTRIES
RPC_NT_NO_MORE_MEMBERS
RPC_NT_NO_PRINC_NAME
RPC_NT_NO_PROTSEQS
RPC_NT_NO_PROTSEQS_REGISTERED
RPC_NT_NOT_ALL_OBJS_UNEXPORTED
RPC_NT_NOT_CANCELLED
RPC_NT_NOTHING_TO_EXPORT
RPC_NT_NOT_LISTENING
RPC_NT_NOT_RPC_ERROR
RPC_NT_NULL_REF_POINTER
RPC_NT_OBJECT_NOT_FOUND
RPC_NT_OUT_OF_RESOURCES
RPC_NT_PIPE_CLOSED
RPC_NT_PIPE_DISCIPLINE_ERROR
RPC_NT_PIPE_EMPTY
RPC_NT_PROCNUM_OUT_OF_RANGE
RPC_NT_PROTOCOL_ERROR
RPC_NT_PROTSEQ_NOT_FOUND
RPC_NT_PROTSEQ_NOT_SUPPORTED
RPC_NT_PROXY_ACCESS_DENIED
RPC_NT_SEC_PKG_ERROR
RPC_NT_SEND_INCOMPLETE
RPC_NT_SERVER_TOO_BUSY
RPC_NT_SERVER_UNAVAILABLE
RPC_NT_SS_CANNOT_GET_CALL_HANDLE
RPC_NT_SS_CHAR_TRANS_OPEN_FAIL
RPC_NT_SS_CHAR_TRANS_SHORT_FILE
RPC_NT_SS_CONTEXT_DAMAGED
RPC_NT_SS_CONTEXT_MISMATCH
RPC_NT_SS_HANDLES_MISMATCH
RPC_NT_SS_IN_NULL_CONTEXT
RPC_NT_STRING_TOO_LONG
RPC_NT_TYPE_ALREADY_REGISTERED
RPC_NT_UNKNOWN_AUTHN_LEVEL
RPC_NT_UNKNOWN_AUTHN_SERVICE
RPC_NT_UNKNOWN_AUTHN_TYPE
RPC_NT_UNKNOWN_AUTHZ_SERVICE
RPC_NT_UNKNOWN_IF
RPC_NT_UNKNOWN_MGR_TYPE
RPC_NT_UNSUPPORTED_AUTHN_LEVEL
RPC_NT_UNSUPPORTED_NAME_SYNTAX
RPC_NT_UNSUPPORTED_TRANS_SYN
RPC_NT_UNSUPPORTED_TYPE
RPC_NT_UUID_LOCAL_ONLY
RPC_NT_UUID_NO_ADDRESS
RPC_NT_WRONG_ES_VERSION
RPC_NT_WRONG_KIND_OF_BINDING
RPC_NT_WRONG_PIPE_VERSION
RPC_NT_WRONG_STUB_VERSION
RPC_NT_ZERO_DIVIDE
RpcRaiseException
RpcRevertToSelfEx
RPCRT4.dll
RPC_S_ADDRESS_ERROR
RPC_S_ALREADY_LISTENING
RPC_S_ALREADY_REGISTERED
RPC_S_BINDING_HAS_NO_AUTH
RPC_S_BINDING_INCOMPLETE
RPC_S_CALL_CANCELLED
RPC_S_CALL_FAILED
RPC_S_CALL_FAILED_DNE
RPC_S_CALL_IN_PROGRESS
RPC_S_CALLPENDING
RPC_S_CANNOT_SUPPORT
RPC_S_CANT_CREATE_ENDPOINT
RPC_S_COMM_FAILURE
RPC_S_COOKIE_AUTH_FAILED
RPC_S_DO_NOT_DISTURB
RPC_S_DUPLICATE_ENDPOINT
RPC_S_ENTRY_ALREADY_EXISTS
RPC_S_ENTRY_NOT_FOUND
RPC_S_ENTRY_TYPE_MISMATCH
RpcServerInqBindings
RpcServerInqDefaultPrincNameW
RpcServerInterfaceGroupActivate
RpcServerInterfaceGroupClose
RpcServerInterfaceGroupCreateW
RpcServerInterfaceGroupDeactivate
RpcServerListen
RpcServerRegisterAuthInfoW
RpcServerRegisterIf
RpcServerRegisterIfEx
RpcServerSubscribeForNotification
RpcServerUnregisterIf
RpcServerUnsubscribeForNotification
RpcServerUseProtseqIfW
RpcServerUseProtseqW
RPC_S_FP_DIV_ZERO
RPC_S_FP_OVERFLOW
RPC_S_FP_UNDERFLOW
RPC_S_GROUP_MEMBER_NOT_FOUND
RPC_S_GRP_ELT_NOT_ADDED
RPC_S_GRP_ELT_NOT_REMOVED
RpcShadow2 failed
RpcShadow2 threw an exception
RPC_S_INCOMPLETE_NAME
RPC_S_INTERFACE_NOT_EXPORTED
RPC_S_INTERFACE_NOT_FOUND
RPC_S_INTERNAL_ERROR
RPC_S_INVALID_ASYNC_CALL
RPC_S_INVALID_ASYNC_HANDLE
RPC_S_INVALID_AUTH_IDENTITY
RPC_S_INVALID_BINDING
RPC_S_INVALID_BOUND
RPC_S_INVALID_ENDPOINT_FORMAT
RPC_S_INVALID_NAF_ID
RPC_S_INVALID_NAME_SYNTAX
RPC_S_INVALID_NET_ADDR
RPC_S_INVALID_NETWORK_OPTIONS
RPC_S_INVALID_OBJECT
RPC_S_INVALID_RPC_PROTSEQ
RPC_S_INVALID_STRING_BINDING
RPC_S_INVALID_STRING_UUID
RPC_S_INVALID_TAG
RPC_S_INVALID_TIMEOUT
RPC_S_INVALID_VERS_OPTION
RPC_S_MAX_CALLS_TOO_SMALL
RPC_S_NAME_SERVICE_UNAVAILABLE
RPC_S_NO_BINDINGS
RPC_S_NO_CALL_ACTIVE
RPC_S_NO_CONTEXT_AVAILABLE
RPC_S_NO_ENDPOINT_FOUND
RPC_S_NO_ENTRY_NAME
RPC_S_NO_INTERFACES
RPC_S_NO_MORE_BINDINGS
RPC_S_NO_MORE_MEMBERS
RPC_S_NO_PRINC_NAME
RPC_S_NO_PROTSEQS
RPC_S_NO_PROTSEQS_REGISTERED
RPC_S_NOT_ALL_OBJS_EXPORTED
RPC_S_NOT_ALL_OBJS_UNEXPORTED
RPC_S_NOT_CANCELLED
RPC_S_NOTHING_TO_EXPORT
RPC_S_NOT_LISTENING
RPC_S_NOT_RPC_ERROR
RPC_S_OBJECT_NOT_FOUND
RPC_S_OUT_OF_RESOURCES
RPC_S_PRF_ELT_NOT_ADDED
RPC_S_PRF_ELT_NOT_REMOVED
RPC_S_PROCNUM_OUT_OF_RANGE
RPC_S_PROFILE_NOT_ADDED
RPC_S_PROTOCOL_ERROR
RPC_S_PROTSEQ_NOT_FOUND
RPC_S_PROTSEQ_NOT_SUPPORTED
RPC_S_PROXY_ACCESS_DENIED
RPC_S_SEC_PKG_ERROR
RPC_S_SEND_INCOMPLETE
RPC_S_SERVER_TOO_BUSY
RPC_S_SERVER_UNAVAILABLE
RPC_S_STRING_TOO_LONG
RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED
RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH
RpcStringBindingComposeW
RpcStringFreeA
RpcStringFreeW
RPC_S_TYPE_ALREADY_REGISTERED
RPC_S_UNKNOWN_AUTHN_LEVEL
RPC_S_UNKNOWN_AUTHN_SERVICE
RPC_S_UNKNOWN_AUTHN_TYPE
RPC_S_UNKNOWN_AUTHZ_SERVICE
RPC_S_UNKNOWN_IF
RPC_S_UNKNOWN_MGR_TYPE
RPC_S_UNSUPPORTED_AUTHN_LEVEL
RPC_S_UNSUPPORTED_NAME_SYNTAX
RPC_S_UNSUPPORTED_TRANS_SYN
RPC_S_UNSUPPORTED_TYPE
RPC_S_UUID_LOCAL_ONLY
RPC_S_UUID_NO_ADDRESS
RPC_S_WAITONTIMER
RPC_S_WRONG_KIND_OF_BINDING
RPC_S_ZERO_DIVIDE
RPC_X_BAD_STUB_DATA
RPC_X_BYTE_COUNT_TOO_SMALL
RPC_X_ENUM_VALUE_OUT_OF_RANGE
RPC_X_INVALID_ES_ACTION
RPC_X_INVALID_PIPE_OBJECT
RPC_X_NO_MORE_ENTRIES
RPC_X_NULL_REF_POINTER
RPC_X_PIPE_CLOSED
RPC_X_PIPE_DISCIPLINE_ERROR
RPC_X_PIPE_EMPTY
RPC_X_SS_CANNOT_GET_CALL_HANDLE
RPC_X_SS_CHAR_TRANS_OPEN_FAIL
RPC_X_SS_CHAR_TRANS_SHORT_FILE
RPC_X_SS_CONTEXT_DAMAGED
RPC_X_SS_HANDLES_MISMATCH
RPC_X_SS_IN_NULL_CONTEXT
RPC_X_WRONG_ES_VERSION
RPC_X_WRONG_PIPE_ORDER
RPC_X_WRONG_PIPE_VERSION
RPC_X_WRONG_STUB_VERSION
RQQueryInterface for IBackgroundCopyJob3 failed
rqsppnmmTP84211h
RRRR;;;;
RRRR				jjjj
rsaauthentication
RSA_blinding_on
RSA-CERT
RSA_free
RSA_generate_key_ex
	RSA_get_default_method
	RSA_get_ex_data
	RSA_get_ex_new_index
RSA_new failed
RSAPublicKey_dup
RSAPublicKey_dup failed
@	RSA_set_method
rsa-sha2-256
rsa-sha2-256-cert-v01@openssh.com
rsa-sha2-512
rsa-sha2-512-cert-v01@openssh.com
RSD PTR I
RSDS(]P|-1
RSDSsx-C)
rSH9Xxt	
rspContentsImageName
RtcFailuresDuringResume
RtcFailuresDuringRuntime
rtcSignaled
RtcWakeCapability
RtcWakeInfo
RtcWakePolicyAc
RtcWakePolicyDc
__RTDynamicCast
RtlAbsoluteToSelfRelativeSD
RtlAddAccessAllowedAce
RtlAddAccessAllowedAceEx
RtlAddAccessAllowedObjectAce
RtlAddAccessDeniedAceEx
RtlAddAccessDeniedObjectAce
RtlAddAccessFilterAce
RtlAddAce
RtlAddAtomToAtomTable
RtlAddAtomToAtomTableEx
RtlAddAuditAccessAceEx
RtlAddAuditAccessObjectAce
RtlAddProcessTrustLabelAce
RtlAddRange
RtlAddResourceAttributeAce
RtlAdjustPrivilege
RtlAllocateHeap
RtlAnsiCharToUnicodeChar
RtlAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString
RtlAppendAsciizToString
RtlAppendStringToString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreAllAccessesGranted
RtlAreAnyAccessesGranted
RtlAreBitsClear
RtlAreBitsClearEx
RtlAreBitsSet
RtlAreBitsSetEx
RtlArrayGet failed to get the next node
RtlAssert
RtlAvlInsertNodeEx
RtlAvlRemoveNode
RtlBsdItemType
RtlCallEnclaveReturn
RtlCapabilityCheck
RtlCapabilityCheckForSingleSessionSku
RtlCapabilityCheckLatency
RtlCaptureContext
RtlCaptureStackBackTrace
RtlCharToInteger
RtlCheckPortableOperatingSystem
RtlCheckRegistryKey
RtlCheckSystemBootStatusIntegrity
RtlCheckTokenCapability
RtlCheckTokenMembership
RtlCheckTokenMembershipEx
RtlClearAllBits
RtlClearAllBitsEx
RtlClearBit
RtlClearBitEx
RtlClearBits
RtlClearBitsEx
RtlCmDecodeMemIoResource
RtlCmEncodeMemIoResource
RtlCompareAltitudes
RtlCompareMemory
RtlCompareMemoryUlong
RtlCompareString
RtlCompareUnicodeString
RtlCompareUnicodeStrings
RtlCompressBuffer
RtlCompressChunks
RtlComputeCrc32
RtlConstructCrossVmEventPath
RtlConstructCrossVmMutexPath
RtlContractHashTable
RtlConvertSidToUnicodeString
RtlCopyBitMap
RtlCopyBitMapEx
RtlCopyLuid
RtlCopyLuidAndAttributesArray
RtlCopyMemory
RtlCopyMemoryNonTemporal
RtlCopyRangeList
RtlCopySid
RtlCopySidAndAttributesArray
RtlCopyString
RtlCopyUnicodeString
RtlCrc32
RtlCrc64
RtlCreateAcl
RtlCreateAtomTable
RtlCreateAtomTableEx
RtlCreateEnvironment
RtlCreateHashTable
RtlCreateHashTableEx
RtlCreateHeap
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlCreateSystemVolumeInformationFolder
RtlCreateUnicodeString
RtlCreateUnicodeString failed
RtlCreateUnicodeStringFromAsciiz
RtlCreateUserThread
RtlCultureNameToLCID
RtlCustomCPToUnicodeN
RtlDecompressBuffer
RtlDecompressBufferEx
RtlDecompressBufferEx2
RtlDecompressChunks
RtlDecompressFragment
RtlDecompressFragmentEx
RtlDelete
RtlDeleteAce
RtlDeleteAtomFromAtomTable
RtlDeleteCriticalSection
RtlDeleteElementGenericTable
RtlDeleteElementGenericTableAvl
RtlDeleteElementGenericTableAvlEx
RtlDeleteHashTable
RtlDeleteNoSplay
RtlDeleteOwnersRanges
RtlDeleteRange
RtlDeleteRegistryValue
RtlDeriveCapabilitySidsFromName
RtlDescribeChunk
RtlDestroyAtomTable
RtlDestroyEnvironment
RtlDestroyHeap
RtlDisownModuleHeapAllocation
RtlDllShutdownInProgress
RtlDosPathNameToNtPathName_U_WithStatus
RtlDowncaseUnicodeChar
RtlDowncaseUnicodeString
RtlDrainNonVolatileFlush
RtlDuplicateUnicodeString
RtlEmptyAtomTable
RtlEnclaveCallDispatch
RtlEnclaveCallDispatchReturn
RtlEndEnumerationHashTable
RtlEndStrongEnumerationHashTable
RtlEndWeakEnumerationHashTable
RtlEnterCriticalSection
RtlEnumerateEntryHashTable
RtlEnumerateGenericTable
RtlEnumerateGenericTableAvl
RtlEnumerateGenericTableLikeADirectory
RtlEnumerateGenericTableWithoutSplaying
RtlEnumerateGenericTableWithoutSplayingAvl
RtlEqualLuid
RtlEqualSid
RtlEqualString
RtlEqualUnicodeString
RtlEqualWnfChangeStamps
RtlEthernetAddressToStringA
RtlEthernetAddressToStringW
RtlEthernetStringToAddressA
RtlEthernetStringToAddressW
RtlExpandEnvironmentStrings
RtlExpandHashTable
RtlExtendCorrelationVector
RtlExtractBitMap
RtlExtractBitMapEx
RtlFillMemory
RtlFillMemoryNonTemporal
RtlFillNonVolatileMemory
RtlFindAceByType
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearBitsAndSetEx
RtlFindClearBitsEx
RtlFindClearRuns
RtlFindClosestEncodableLength
RtlFindExportedRoutineByName
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindLongestRunClear
RtlFindMessage
RtlFindMostSignificantBit
RtlFindNextForwardRunClear
RtlFindNextForwardRunClearCapped
RtlFindNextForwardRunClearEx
RtlFindRange
RtlFindSetBits
RtlFindSetBitsAndClear
RtlFindSetBitsAndClearEx
RtlFindSetBitsEx
RtlFindUnicodePrefix
RtlFindUnicodeSubstring
RtlFirstFreeAce
RtlFlushNonVolatileMemory
RtlFlushNonVolatileMemoryRanges
RtlFormatCurrentUserKeyPath
RtlFormatMessage
RtlFreeAnsiString
RtlFreeHeap
RtlFreeNonVolatileToken
RtlFreeOemString
RtlFreeRangeList
RtlFreeUnicodeString
RtlFreeUTF8String
RtlGenerate8dot3Name
RtlGenerateClass5Guid
RtlGetAce
RtlGetActiveConsoleId
RtlGetAppContainerNamedObjectPath
RtlGetAppContainerParent
RtlGetAppContainerSidType
RtlGetCallersAddress
RtlGetCompressionWorkSpaceSize
RtlGetConsoleSessionForegroundProcessId
RtlGetControlSecurityDescriptor
RtlGetCurrentServiceSessionId
RtlGetDaclSecurityDescriptor
RtlGetDefaultCodePage
RtlGetDeviceFamilyInfoEnum
RtlGetElementGenericTable
RtlGetElementGenericTableAvl
RtlGetEnabledExtendedAndSupervisorFeatures
RtlGetEnabledExtendedFeatures
RtlGetFirstRange
RtlGetGroupSecurityDescriptor
RtlGetIntegerAtom
RtlGetLastRange
RtlGetMultiTimePrecise
RtlGetNativeSystemInformation
RtlGetNextEntryHashTable
RtlGetNextRange
RtlGetNonVolatileToken
RtlGetNtGlobalFlags
RtlGetNtProductType
RtlGetNtSystemRoot
RtlGetOwnerSecurityDescriptor
RtlGetPersistedStateLocation
RtlGetProductInfo
RtlGetSaclSecurityDescriptor
RtlGetSessionProperties
RtlGetSetBootStatusData
RtlGetSuiteMask
RtlGetSystemBootStatus
RtlGetSystemBootStatusEx
RtlGetThreadLangIdByIndex
RtlGetTokenNamedObjectPath
RtlGetUILanguageInfo
RtlGetVersion
RtlGUIDFromString
RtlHashUnicodeString
RtlIdnToAscii
RtlIdnToNameprepUnicode
RtlIdnToUnicode
RtlImageDirectoryEntryToData
RtlImageDirectoryEntryToData returned ExportDirectory that was too small
RtlImageNtHeader
RtlImageNtHeaderEx
RtlImpersonateSelf
RtlIncrementCorrelationVector
RtlInitAnsiString
RtlInitAnsiStringEx
RtlInitCodePageTable
RtlInitEnumerationHashTable
RtlInitializeBitMap
RtlInitializeBitMapEx
RtlInitializeCorrelationVector
RtlInitializeCriticalSection
RtlInitializeGenericTable
RtlInitializeGenericTableAvl
RtlInitializeRangeList
RtlInitializeSid
RtlInitializeSidEx
RtlInitializeUnicodePrefix
RtlInitString
RtlInitStringEx
RtlInitStrongEnumerationHashTable
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlInitUTF8String
RtlInitUTF8StringEx
RtlInitWeakEnumerationHashTable
RtlInsertElementGenericTable
RtlInsertElementGenericTableAvl
RtlInsertElementGenericTableFull
RtlInsertElementGenericTableFullAvl
RtlInsertEntryHashTable
RtlInsertUnicodePrefix
RtlInt64ToUnicodeString
RtlIntegerToChar
RtlIntegerToUnicode
RtlIntegerToUnicodeString
RtlInterlockedClearBitRun
RtlInterlockedClearBitRunEx
RtlInterlockedSetBitRun
RtlInterlockedSetBitRunEx
RtlInterlockedSetClearRun
RtlIntersectBitMaps
RtlIntersectBitMapsEx
RtlInvertRangeList
RtlInvertRangeListEx
RtlIoDecodeMemIoResource
RtlIoEncodeMemIoResource
RtlIpv4AddressToStringA
RtlIpv4AddressToStringExA
RtlIpv4AddressToStringExW
RtlIpv4AddressToStringW
RtlIpv4StringToAddressA
RtlIpv4StringToAddressExA
RtlIpv4StringToAddressExW
RtlIpv4StringToAddressW
RtlIpv6AddressToStringA
RtlIpv6AddressToStringExA
RtlIpv6AddressToStringExW
RtlIpv6AddressToStringW
RtlIpv6StringToAddressA
RtlIpv6StringToAddressExA
RtlIpv6StringToAddressExW
RtlIpv6StringToAddressW
RtlIsCloudFilesPlaceholder
RtlIsElevatedRid
RtlIsGenericTableEmpty
RtlIsGenericTableEmptyAvl
RtlIsMultiSessionSku
RtlIsMultiUsersInSessionSku
RtlIsNameLegalDOS8Dot3
RtlIsNonEmptyDirectoryReparsePointAllowed
RtlIsNormalizedString
RtlIsNtDdiVersionAvailable
RtlIsPartialPlaceholder
RtlIsPartialPlaceholderFileHandle
RtlIsPartialPlaceholderFileInfo
RtlIsRangeAvailable
RtlIsSandboxedToken
RtlIsServicePackVersionInstalled
RtlIsStateSeparationEnabled
RtlIsUntrustedObject
RtlIsValidOemCharacter
RtlIsZeroMemory
RtlLargeIntegerToChar
RtlLCIDToCultureName
RtlLeaveCriticalSection
RtlLengthRequiredSid
RtlLengthSecurityDescriptor
RtlLengthSid
RtlLoadString
RtlLocalTimeToSystemTime
RtlLocateSupervisorFeature
RtlLockBootStatusData
RtlLookupAtomInAtomTable
RtlLookupElementGenericTable
RtlLookupElementGenericTableAvl
RtlLookupElementGenericTableFull
RtlLookupElementGenericTableFullAvl
RtlLookupEntryHashTable
RtlLookupFirstMatchingElementGenericTableAvl
RtlLookupFunctionEntry
RtlMapGenericMask
RtlMapSecurityErrorToNtStatus
RtlMergeRangeLists
RtlMoveMemory
!!! RTLMUI: Reusing LocaleBuffer !!!
RtlMultiByteToUnicodeN
RtlMultiByteToUnicodeSize
RtlNextUnicodePrefix
RtlNormalizeSecurityDescriptor
RtlNormalizeString
RtlNotifyFeatureUsage
RtlNtStatusToDosError
RtlNtStatusToDosErrorNoTeb
RtlNumberGenericTableElements
RtlNumberGenericTableElementsAvl
RtlNumberOfClearBits
RtlNumberOfClearBitsEx
RtlNumberOfClearBitsInRange
RtlNumberOfSetBits
RtlNumberOfSetBitsEx
RtlNumberOfSetBitsInRange
RtlNumberOfSetBitsInRangeEx
RtlNumberOfSetBitsUlongPtr
RtlOemStringToCountedUnicodeString
RtlOemStringToUnicodeSize
RtlOemStringToUnicodeString
RtlOemToUnicodeN
RtlOpenCurrentUser
RtlOpenImageFileOptionsKey
RtlOsDeploymentState
RtlOwnerAcesPresent
RtlPcToFileHeader
RtlPcToFileName
RtlPcToFilePath
RtlpExecuteUmsThread
RtlpFreezeTimeBias
RtlPinAtomInAtomTable
RtlpQueryProcessDebugInformationRemote
RtlPrefetchMemoryNonTemporal
RtlPrefixString
RtlPrefixUnicodeString
RtlpSetPreferredUILanguages
RtlPublishWnfStateData
RtlpUmsExecuteYieldThreadEnd
RtlpUmsThreadYield
RtlQueryAllFeatureConfigurations
RtlQueryAtomInAtomTable
RtlQueryDynamicTimeZoneInformation
RtlQueryElevationFlags
RtlQueryFeatureConfiguration
RtlQueryFeatureConfigurationChangeStamp
RtlQueryImageFileKeyOption
RtlQueryInformationAcl
RtlQueryModuleInformation
RtlQueryPackageClaims
RtlQueryPackageIdentity
RtlQueryProcessPlaceholderCompatibilityMode
RtlQueryRegistryValues
RtlQueryRegistryValuesEx
RtlQueryRegistryValueWithFallback
RtlQueryThreadPlaceholderCompatibilityMode
RtlQueryTimeZoneInformation
RtlQueryValidationRunlevel
RtlQueryWnfStateData
RtlRaiseCustomSystemEventTrigger
RtlRaiseException
RtlRaiseExceptionForReturnAddressHijack
RtlRaiseStatus
RtlRandom
RtlRandomEx
RtlRbInsertNodeEx
RtlRbRemoveNode
RtlRbReplaceNode
RtlReAllocateHeap
RtlRealPredecessor
RtlRealSuccessor
RtlRegisterFeatureConfigurationChangeNotification
RtlRemoveEntryHashTable
RtlRemoveUnicodePrefix
RtlReplaceSidInSd
RtlReportException
RtlReserveChunk
RtlRestoreContext
RtlRestoreSystemBootStatusDefaults
RtlRunOnceBeginInitialize
RtlRunOnceComplete
RtlRunOnceExecuteOnce
RtlRunOnceInitialize
RtlSecondsSince1970ToTime
RtlSecondsSince1980ToTime
RtlSelfRelativeToAbsoluteSD
RtlSelfRelativeToAbsoluteSD2
RtlSetActiveConsoleId
RtlSetAllBits
RtlSetAllBitsEx
RtlSetBit
RtlSetBitEx
RtlSetBits
RtlSetBitsEx
RtlSetConsoleSessionForegroundProcessId
RtlSetControlSecurityDescriptor
RtlSetDaclSecurityDescriptor
RtlSetDynamicTimeZoneInformation
RtlSetEnvironmentVariable
RtlSetGroupSecurityDescriptor
RtlSetOwnerSecurityDescriptor
RtlSetPortableOperatingSystem
RtlSetProcessPlaceholderCompatibilityMode
RtlSetSaclSecurityDescriptor
RtlSetSystemBootStatus
RtlSetSystemBootStatusEx
RtlSetThreadPlaceholderCompatibilityMode
RtlSetTimeZoneInformation
RtlShiftLeftBitMap
RtlShiftLeftBitMapEx
RtlSidHashInitialize
RtlSidHashLookup
RtlSizeHeap
RtlSplay
RtlStringFromGUID
RtlStronglyEnumerateEntryHashTable
RtlSubAuthorityCountSid
RtlSubAuthoritySid
RtlSubscribeWnfStateChangeNotification
RtlSubtreePredecessor
RtlSubtreeSuccessor
RtlSuffixUnicodeString
RtlSystemTimeToLocalTime
RtlTestBit
RtlTestBitEx
RtlTimeFieldsToTime
RtlTimeToElapsedTimeFields
RtlTimeToSecondsSince1970
RtlTimeToSecondsSince1980
RtlTimeToTimeFields
RtlTraceDatabaseAdd
RtlTraceDatabaseCreate
RtlTraceDatabaseDestroy
RtlTraceDatabaseEnumerate
RtlTraceDatabaseFind
RtlTraceDatabaseLock
RtlTraceDatabaseUnlock
RtlTraceDatabaseValidate
RtlUdiv128
RtlUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString
RtlUnicodeStringToCountedOemString
RtlUnicodeStringToInt64
RtlUnicodeStringToInteger
RtlUnicodeStringToOemSize
RtlUnicodeStringToOemString
RtlUnicodeStringToUTF8String
RtlUnicodeToCustomCPN
RtlUnicodeToMultiByteN
RtlUnicodeToMultiByteSize
RtlUnicodeToOemN
RtlUnicodeToUTF8N
RtlUnlockBootStatusData
RtlUnregisterFeatureConfigurationChangeNotification
RtlUnsignedMultiplyHigh
RtlUnsubscribeWnfNotificationWaitForCompletion
RtlUnwind
RtlUnwindEx
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUpcaseUnicodeStringToAnsiString
RtlUpcaseUnicodeStringToCountedOemString
RtlUpcaseUnicodeStringToOemString
RtlUpcaseUnicodeToCustomCPN
RtlUpcaseUnicodeToMultiByteN
RtlUpcaseUnicodeToOemN
RtlUpperChar
RtlUpperString
RtlUserFiberStart
RtlUserThreadStart
RtlUTF8StringToUnicodeString
RtlUTF8ToUnicodeN
RtlValidAcl
RtlValidateCorrelationVector
RtlValidateUnicodeString
RtlValidRelativeSecurityDescriptor
RtlValidSecurityDescriptor
RtlValidSid
RtlVerifyVersionInfo
RtlVirtualUnwind
RtlVolumeDeviceToDosName
RtlWalkFrameChain
RtlWeaklyEnumerateEntryHashTable
RtlWriteNonVolatileMemory
RtlWriteRegistryValue
RtlxAnsiStringToUnicodeSize
RtlxOemStringToUnicodeSize
RtlxUnicodeStringToAnsiSize
RtlxUnicodeStringToOemSize
RtlZeroHeap
RtlZeroMemory
RTOS_DPU_TASK_ID_DISPATCH
RTOS_DPU_TASK_ID_IDLE
RTOS_DPU_TASK_ID_REGCACHE
RTOS_DPU_TASK_ID_UNKNOWN
RTOS_DPU_TASK_ID_VRR
RTOS_PMU_TASK_ID_ACR
RTOS_PMU_TASK_ID_BIF
RTOS_PMU_TASK_ID_CMDMGMT
RTOS_PMU_TASK_ID_DISP
RTOS_PMU_TASK_ID_FAS
RTOS_PMU_TASK_ID_FBBA
RTOS_PMU_TASK_ID_GCX
RTOS_PMU_TASK_ID_HDCP
RTOS_PMU_TASK_ID_I2C
RTOS_PMU_TASK_ID_IDLE
RTOS_PMU_TASK_ID_LOWLATENCY
RTOS_PMU_TASK_ID_LPWR
RTOS_PMU_TASK_ID_LPWR_LP
RTOS_PMU_TASK_ID_NNE
RTOS_PMU_TASK_ID_PCM
RTOS_PMU_TASK_ID_PCMEVT
RTOS_PMU_TASK_ID_PERF
RTOS_PMU_TASK_ID_PERF_CF
RTOS_PMU_TASK_ID_PERF_DAEMON
RTOS_PMU_TASK_ID_PERFMON
RTOS_PMU_TASK_ID_PMGR
RTOS_PMU_TASK_ID_SEQ
RTOS_PMU_TASK_ID_SPI
RTOS_PMU_TASK_ID_THERM
RTOS_PMU_TASK_ID_UNKNOWN
RTOS_PMU_TASK_ID_WATCHDOG
RTOS_SEC2_TASK_ID_CMDMGMT
RTOS_SEC2_TASK_ID_IDLE
RTOS_SEC2_TASK_ID_UNKNOWN
RtosTaskId
RuleNameGuidDef
rulersOn
Run for specified number of monitoring cycles and exit
RunHTMLApplication
RunNarrator
RunningState
Running with arguments:
runonce.exe
RunQueueEvent failed
runtime error 
Runtime Error!
Rx Throughput
S0HcC0H;C
s4TransitionTripPoint
" )S6636i
s9D8!u	I
SafeArrayGetVartype failed!
Safeboot
SAFEBOOT:
Safeboot-option
SafeStringToDword
SamAddMemberToAlias
samcli.dll
SamCloseHandle
SamConnect
SamCreateAliasInDomain
SamDeleteAlias
same device object.
SamEnumerateAliasesInDomain
SamFreeMemory
SamGetAliasMembership
SamGetMembersInAlias
SAMLIB.dll
SamLookupIdsInDomain
SamLookupNamesInDomain
SamOpenAlias
SamOpenDomain
samplingPeriod
SamQueryInformationAlias
SamRemoveMemberFromAlias
SamSetInformationAlias
SanitizedDimIntTime
SanitizedOffIntTime
Santa Clara1
saParams.Create failed!
S_APPLICATION_ACTIVATION_ERROR_HANDLED_BY_DIALOG
@SATAUAVAWH
SATAUAVAWH
@SATAUAVH
@SATAUAWH
SATAUAWH
@SATAVAWH
Saturday
@SAUAVAWH
SaveCertReference
SaveChanges failed
SaveChanges (on packages after setting changeable to NO) failed
SaveChanges (on packages after setting the identity and password) failed
SaveComplete
SaveCreds failed!
SaveNextNonce
SaveProtoVer
SAVER_ACCOUNTPROVSVCINITFAILURE
SAVER_APPBARDISMISSAL
SAVER_APPLISTUNREACHABLE
SAVER_AUDIODRIVERHANG
SAVER_AUXILIARYFULLDUMP
SAVER_BATTERYPULLOUT
SAVER_BLANKSCREEN
SAVER_CALLDISMISSAL
SAVER_CAPTURESERVICE
SAVER_CHROMEPROCESSCRASH
SAVER_DEVICEUPDATEUNSPECIFIED
SaveResultsPage::OnSetActive
SaveResultsPage::OnWizNext
SAVER_GRAPHICS
SAVER_INPUT
SAVER_MEDIACORETESTHANG
SAVER_MTBFCOMMANDHANG
SAVER_MTBFCOMMANDTIMEOUT
SAVER_MTBFIOERROR
SAVER_MTBFPASSBUGCHECK
SAVER_NAVIGATIONMODEL
SAVER_NAVSERVERTIMEOUT
SAVER_NONRESPONSIVEPROCESS
SAVER_NOTIFICATIONDISMISSAL
SAVER_OUTOFMEMORY
SAVER_RENDERMOBILEUIOOM
SAVER_RENDERTHREADHANG
SAVER_REPORTNOTIFICATIONFAILURE
SAVER_RESOURCEMANAGEMENT
SAVER_RILADAPTATIONCRASH
SAVER_RPCFAILURE
SAVER_SICKAPPLICATION
SAVER_SPEECHDISMISSAL
SAVER_STARTNOTVISIBLE
SAVER_UNEXPECTEDSHUTDOWN
SAVER_UNSPECIFIED
SAVER_WAITFORSHELLREADY
SAVER_WATCHDOG
SaveStart
saveSupervisorStateDuration_ms
SaveUserNameToStore failed!
Saving reboot time in session variable failed
s_Bind failed
s_BindSecureEx failed
scanSpeed
SCARD_E_BAD_SEEK
SCARD_E_CANCELLED
SCARD_E_CANT_DISPOSE
SCARD_E_CARD_UNSUPPORTED
SCARD_E_CERTIFICATE_UNAVAILABLE
SCARD_E_COMM_DATA_LOST
SCARD_E_DIR_NOT_FOUND
SCARD_E_DUPLICATE_READER
SCARD_E_FILE_NOT_FOUND
SCARD_E_ICC_CREATEORDER
SCARD_E_ICC_INSTALLATION
SCARD_E_INSUFFICIENT_BUFFER
SCARD_E_INVALID_ATR
SCARD_E_INVALID_CHV
SCARD_E_INVALID_HANDLE
SCARD_E_INVALID_PARAMETER
SCARD_E_INVALID_TARGET
SCARD_E_INVALID_VALUE
SCARD_E_NO_ACCESS
SCARD_E_NO_DIR
SCARD_E_NO_FILE
SCARD_E_NO_KEY_CONTAINER
SCARD_E_NO_MEMORY
SCARD_E_NO_PIN_CACHE
SCARD_E_NO_READERS_AVAILABLE
SCARD_E_NO_SERVICE
SCARD_E_NO_SMARTCARD
SCARD_E_NO_SUCH_CERTIFICATE
SCARD_E_NOT_READY
SCARD_E_NOT_TRANSACTED
SCARD_E_PCI_TOO_SMALL
SCARD_E_PIN_CACHE_EXPIRED
SCARD_E_PROTO_MISMATCH
SCARD_E_READER_UNAVAILABLE
SCARD_E_READER_UNSUPPORTED
SCARD_E_READ_ONLY_CARD
SCARD_E_SERVER_TOO_BUSY
SCARD_E_SERVICE_STOPPED
SCARD_E_SHARING_VIOLATION
SCARD_E_SYSTEM_CANCELLED
SCARD_E_TIMEOUT
SCARD_E_UNEXPECTED
SCARD_E_UNKNOWN_CARD
SCARD_E_UNKNOWN_READER
SCARD_E_UNKNOWN_RES_MNG
SCARD_E_UNSUPPORTED_FEATURE
SCARD_E_WRITE_TOO_MANY
SCARD_F_COMM_ERROR
SCARD_F_INTERNAL_ERROR
SCARD_F_UNKNOWN_ERROR
SCARD_F_WAITED_TOO_LONG
SCARD_P_SHUTDOWN
sCardRedirection
SCARD_W_CACHE_ITEM_NOT_FOUND
SCARD_W_CACHE_ITEM_STALE
SCARD_W_CACHE_ITEM_TOO_BIG
SCARD_W_CANCELLED_BY_USER
SCARD_W_CARD_NOT_AUTHENTICATED
SCARD_W_CHV_BLOCKED
SCARD_W_EOF
SCARD_W_REMOVED_CARD
SCARD_W_RESET_CARD
SCARD_W_SECURITY_VIOLATION
SCARD_W_UNPOWERED_CARD
SCARD_W_UNRESPONSIVE_CARD
SCARD_W_UNSUPPORTED_CARD
SCARD_W_WRONG_CHV
Scenario
ScenarioBlockerData
ScenarioCount
ScenarioId
ScenarioIdV2
ScenarioInstanceId
Scenario requested is inapplicable.
Scenario requested is not known.
SCHED_E_ACCOUNT_DBASE_CORRUPT
SCHED_E_ACCOUNT_INFORMATION_NOT_SET
SCHED_E_ACCOUNT_NAME_NOT_FOUND
SCHED_E_ALREADY_RUNNING
SCHED_E_CANNOT_OPEN_TASK
SCHED_E_DEPRECATED_FEATURE_USED
SCHED_E_INVALID_TASK
SCHED_E_INVALID_TASK_HASH
SCHED_E_INVALIDVALUE
SCHED_E_MALFORMEDXML
SCHED_E_MISSINGNODE
SCHED_E_NAMESPACE
SCHED_E_NO_SECURITY_SERVICES
SCHED_E_PAST_END_BOUNDARY
SCHED_E_SERVICE_NOT_AVAILABLE
SCHED_E_SERVICE_NOT_INSTALLED
SCHED_E_SERVICE_NOT_LOCALSYSTEM
SCHED_E_SERVICE_NOT_RUNNING
SCHED_E_SERVICE_TOO_BUSY
SCHED_E_START_ON_DEMAND
SCHED_E_TASK_ATTEMPTED
SCHED_E_TASK_DISABLED
SCHED_E_TASK_NOT_READY
SCHED_E_TASK_NOT_RUNNING
SCHED_E_TASK_NOT_UBPM_COMPAT
SCHED_E_TASK_NOT_V1_COMPAT
SCHED_E_TOO_MANY_NODES
SCHED_E_TRIGGER_NOT_FOUND
SCHED_E_UNEXPECTEDNODE
SCHED_E_UNKNOWN_OBJECT_VERSION
SCHED_E_UNSUPPORTED_ACCOUNT_OPTION
SCHED_E_USER_NOT_LOGGED_ON
SCHED_S_BATCH_LOGON_PROBLEM
SCHED_S_EVENT_TRIGGER
SCHED_S_SOME_TRIGGERS_FAILED
SCHED_S_TASK_DISABLED
SCHED_S_TASK_HAS_NOT_RUN
SCHED_S_TASK_NO_MORE_RUNS
SCHED_S_TASK_NOT_SCHEDULED
SCHED_S_TASK_NO_VALID_TRIGGERS
SCHED_S_TASK_QUEUED
SCHED_S_TASK_READY
SCHED_S_TASK_RUNNING
SCHED_S_TASK_TERMINATED
Scheduled by user so no need to show reboot failed notification.
ScheduledInstallDay
ScheduledInstallTime
scheduledRebootTime
Scheduled RebootTime
scheduledRebootTimeInUTC
Scheduled reboot time not found
Schedule force restart reminder : Enterprise policies are set
Schedule next auto reboot dialog
Schedule next reboot or reminder.
Schedule next reboot to keep auto reboot going before showing reboot failed
Schedule next reboot to keep auto reboot going before showing suggested active hours dialog
Schedule next reminder.
ScheduleRebootFailed property is set so attempt show the dialog
SchedulingPolicy
Scheduling reboot failed dialog.
Scheduling reboot for Countdown policy
Scheduling the next forced reboot in 15 minutes
Scheduling the next force reboot in 5 minutes
SchemaExt-Composable-Vail
SclPendedRequestExists
ScreenToClient
ScriptPath
ScrollConsoleScreenBufferA
SCSI_DISK_DRIVER_INTERNAL
SCSI_VERIFIER_DETECTED_VIOLATION
SDB compression algorithm does not match callback algorithm.
SdbFileDetails missing function pointer for path.
SDB file too small to be valid
SdbFindFirstNamedTag
SdbFindFirstStringIndexedTag
SdbFindNextTag
SdbFreeFileAttributes
SdbGetBinaryTagData
SdbGetDatabaseEdition
SdbGetDatabaseID
SdbGetDatabaseMatch
SdbGetDatabaseMatchEx
SdbGetEntryFlags
SdbGetFileAttributes
SdbGetIndex
SdbGetNextChild
SdbGetPathCustomSdb
SdbGetPathCustomSdb failed to get the database path.
SdbGetPathSystemSdb failed.
SdbGetStringTagPtr
SdbGetTagDataSize
SdbGetTagFromTagID
SdbGuestHostArchsToRuntimePlatformFlag
SdbGuestTargetPlatformFlagsToRuntimePlatformFlags
SDB Handle count was decremented after zero.
SdbInitDatabaseInMemory
SDB is not compressed
SdbIsNullGUID
SdbMakeIndexKeyFromStringEx
SdbOpenDatabaseEx
SdbpCheckAllAttributes
SdbpCheckAttribute
SdbpCheckExe
SdbpCheckMatchingDevice
SdbpCheckMatchingDir
SdbpCheckMatchingFiles
SdbpCheckMatchingRegistry
SdbpCheckMatchingRegistryEntry
SdbpCheckMatchingRegistryValue
SdbpCheckMatchingText
SdbpCheckMatchingTextEntry
SdbpCheckMatchingWildcardFiles
SdbpCheckMatchingWildcardRegistry
SdbpCheckPackageAttributes
SdbpCreateSearchDBContext
SdbpCreateSearchPathPartsFromPath
SdbpFindFirstIndexedWildCardTag
SdbpFindMatchingName
SdbpFindNextNamedTag
SdbpGetCustomSdbFileName
SdbpGetExeEntryFlags
SdbpGetFirstIndexedRecord
SdbpGetIndex
SdbpGetMappedData
SdbpGetMappedStringFromTable
SdbpGetMappedTagData
SdbpGetMatchingTextAttributes
SdbpGetNextIndexedRecord
SdbpGetNextTagId
SdbpGetPathAppPatch
SdbpGetPathAppPatchPreRS3
SdbpGetPathAppraiser
SdbpGetPathCustomSdb
SdbpGetPathCustomSdbPreRS3
SdbpGetPathSystem
SdbpGetProcessHistory
SdbpGetProcessHostGuestArchitectures
SdbpGetRegistryMatchingAttributes
SdbpGetStringTableItemFromStringRef
SdbpGetStringTableItemFromStringRef failed to get tagid for string ref
SdbpGetSystemSdbFilePath
SdbpGetTagHeadSize
SdbpInitializeSearchDBContext
SdbpOpenCompressedDatabase
SdbpOpenCompressedDatabase failed to allocate expanded buffer - out of memory
SdbpOpenCompressedDatabase failed to open compressed database.
SdbpOpenDatabaseInMemory
SdbpOpenLocalDatabaseEx
SdbpQueryAppCompatFlagsByExeID
SdbpReadMappedData
SdbpReadStringRef
SdbpReadTagData
SdbpResolveMatchingFile
SdbpSearchDB
SdbpValidateAndApplyCompatFlags
SdbQueryDataEx
SdbQueryDataExTagID
SdbReadBinaryTag
SdbReadDWORDTag
SdbReadEntryInformation
SdbReadGUIDTag
SdbReadQWORDTag
SdbReadWORDTag
SdbReleaseDatabase
SdbResolveDatabaseEx
SdbSetEntryFlags
SdbTagIDToTagRef
SdbTagToString
SDBUS_INTERNAL_ERROR
	s_DeleteCredHelper failed
SDIAG_E_CANCELLED
SDIAG_E_CANNOTRUN
SDIAG_E_DISABLED
SDIAG_E_MANAGEDHOST
SDIAG_E_NOVERIFIER
SDIAG_E_POWERSHELL
SDIAG_E_RESOURCE
SDIAG_E_ROOTCAUSE
SDIAG_E_SCRIPT
SDIAG_E_TRUST
SDIAG_E_VERSION
SDIAG_S_CANNOTRUN
SeAccessCheck
SeAccessCheckEx
SeAccessCheckFromState
SeAccessCheckFromStateEx
SeAccessCheckWithHint
SeAdjustAccessStateForAccessConstraints
SeAdjustAccessStateForTrustLabel
SeAdjustObjectSecurity
SeAppendPrivileges
SearchBingInvoked
SearchList
SearchPathW
SeAssignSecurity
SeAssignSecurityEx
SeAuditFipsCryptoSelftests
SeAuditHardLinkCreation
SeAuditHardLinkCreationWithTransaction
SeAuditingAnyFileEventsWithContext
SeAuditingAnyFileEventsWithContextEx
SeAuditingFileEvents
SeAuditingFileEventsWithContext
SeAuditingFileEventsWithContextEx
SeAuditingFileOrGlobalEvents
SeAuditingHardLinkEvents
SeAuditingHardLinkEventsWithContext
SeAuditingWithTokenForSubcategory
SeAuditTransactionStateChange
SeCaptureSecurityDescriptor
SeCaptureSubjectContext
SeCaptureSubjectContextEx
SEC_E_ALGORITHM_MISMATCH
SEC_E_APPLICATION_PROTOCOL_MISMATCH
SEC_E_BAD_BINDINGS
SEC_E_BAD_PKGID
SEC_E_BUFFER_TOO_SMALL
SEC_E_CANNOT_INSTALL
SEC_E_CANNOT_PACK
SEC_E_CERT_EXPIRED
SEC_E_CERT_UNKNOWN
SEC_E_CERT_WRONG_USAGE
SEC_E_CONTEXT_EXPIRED
SEC_E_CROSSREALM_DELEGATION_FAILURE
SEC_E_CRYPTO_SYSTEM_INVALID
SEC_E_DECRYPT_FAILURE
SEC_E_DELEGATION_POLICY
SEC_E_DELEGATION_REQUIRED
SEC_E_DOWNGRADE_DETECTED
SEC_E_ENCRYPT_FAILURE
SEC_E_EXT_BUFFER_TOO_SMALL
SEC_E_ILLEGAL_MESSAGE
SEC_E_INCOMPLETE_CREDENTIALS
SEC_E_INCOMPLETE_MESSAGE
SEC_E_INSUFFICIENT_BUFFERS
SEC_E_INSUFFICIENT_MEMORY
SEC_E_INTERNAL_ERROR
SEC_E_INVALID_HANDLE
SEC_E_INVALID_PARAMETER
SEC_E_INVALID_TOKEN
SEC_E_INVALID_UPN_NAME
SEC_E_ISSUING_CA_UNTRUSTED
SEC_E_ISSUING_CA_UNTRUSTED_KDC
SEC_E_KDC_CERT_EXPIRED
SEC_E_KDC_CERT_REVOKED
SEC_E_KDC_INVALID_REQUEST
SEC_E_KDC_UNABLE_TO_REFER
SEC_E_KDC_UNKNOWN_ETYPE
SEC_E_LOGON_DENIED
SEC_E_MAX_REFERRALS_EXCEEDED
SEC_E_MESSAGE_ALTERED
SEC_E_MULTIPLE_ACCOUNTS
SEC_E_MUST_BE_KDC
SEC_E_MUTUAL_AUTH_FAILED
SEC_E_NO_AUTHENTICATING_AUTHORITY
SEC_E_NO_CONTEXT
SEC_E_NO_CREDENTIALS
SEC_E_NO_IMPERSONATION
SEC_E_NO_IP_ADDRESSES
SEC_E_NO_KERB_KEY
SEC_E_NO_PA_DATA
SEC_E_NO_S4U_PROT_SUPPORT
SEC_E_NO_TGT_REPLY
SEC_E_NOT_OWNER
SEC_E_ONLY_HTTPS_ALLOWED
SEC_E_OUT_OF_SEQUENCE
SEC_E_PKINIT_CLIENT_FAILURE
SEC_E_PKINIT_NAME_MISMATCH
SEC_E_PKU2U_CERT_FAILURE
SEC_E_POLICY_NLTM_ONLY
SEC_E_QOP_NOT_SUPPORTED
SEC_E_REVOCATION_OFFLINE_C
SEC_E_REVOCATION_OFFLINE_KDC
SEC_E_SECPKG_NOT_FOUND
SEC_E_SECURITY_QOS_FAILED
SEC_E_SHUTDOWN_IN_PROGRESS
SEC_E_SMARTCARD_CERT_EXPIRED
SEC_E_SMARTCARD_CERT_REVOKED
SEC_E_SMARTCARD_LOGON_REQUIRED
SEC_E_STRONG_CRYPTO_NOT_SUPPORTED
SEC_E_TARGET_UNKNOWN
SEC_E_TIME_SKEW
SEC_E_TOO_MANY_PRINCIPALS
SEC_E_UNFINISHED_CONTEXT_DELETED
SEC_E_UNKNOWN_CREDENTIALS
SEC_E_UNSUPPORTED_FUNCTION
SEC_E_UNSUPPORTED_PREAUTH
SEC_E_UNTRUSTED_ROOT
SEC_E_WRONG_CREDENTIAL_HANDLE
SEC_E_WRONG_PRINCIPAL
SEC_FAULT_ERROR
SeCheckForCriticalAceRemoval
SEC_I_ASYNC_CALL_PENDING
SEC_I_COMPLETE_AND_CONTINUE
SEC_I_COMPLETE_NEEDED
SEC_I_CONTEXT_EXPIRED
SEC_I_CONTINUE_NEEDED
SEC_I_CONTINUE_NEEDED_MESSAGE_OK
SEC_I_GENERIC_EXTENSION_RECEIVED
SEC_I_INCOMPLETE_CREDENTIALS
SEC_I_LOCAL_LOGON
SEC_I_MESSAGE_FRAGMENT
SEC_I_NO_LSA_CONTEXT
SEC_I_NO_RENEGOTIATION
SEC_I_RENEGOTIATE
SEC_I_SIGNATURE_NEEDED
SeCloseObjectAuditAlarm
SeCloseObjectAuditAlarmForNonObObject
SeCompareSigningLevels
SeComputeAutoInheritByObjectType
secondDialogRebootReminderCadenceInHours
secondDialogToAcceptAutoReminderInHours
Second reminder toast will be shown
_SecondsSince1970ToFileTime
secondsSinceBoot
SeConvertSecurityDescriptorToStringSecurityDescriptor
SeConvertSidToStringSid
SeConvertStringSecurityDescriptorToSecurityDescriptor
SeConvertStringSidToSid
SeCreateAccessState
SeCreateAccessStateEx
SeCreateClientSecurity
SeCreateClientSecurityEx
SeCreateClientSecurityFromSubjectContext
SeCreateClientSecurityFromSubjectContextEx
SectionAlignmentIssue
SectionWXable
Secur32.dll
SECURE_BOOT_VIOLATION
SecureDeviceEnumerated
SecureDeviceState
SECURE_FAULT_UNHANDLED
SecureKernelCrashdumpArea
SecureKernelCrashdumpArea2
SECURE_KERNEL_ERROR
SecureKernelFailureLog
SecureKernelHotPatchOperationStatus
Secure System
SECURITY1_INITIALIZATION_FAILED
SECURITY_BLOCK_NOT_FOUND
SecurityDescriptor
SecurityDescriptorChanging
SECURITY_INITIALIZATION_FAILED
SECURITY_SYSTEM
.securom
SeDeassignSecurity
SeDeleteAccessState
SeDeleteObjectAuditAlarm
SeDeleteObjectAuditAlarmWithTransaction
SeekerUpdateAvailable
SeEtwWriteKMCveEvent
SeExamineSacl
SeExports
SeFilterToken
SeFreePrivileges
SeGetCachedSigningLevel
SeGetLinkedToken
SeGetLogonSessionToken
SeILSigningPolicyPtr
SeImpersonateClient
SeImpersonateClientEx
SeIsParentOfChildAppContainer
--select
selectedFilter
select - ERROR: empty fd_sets
select - ERROR: max #events breach
select - ERROR: max #events reached for select
select - ERROR: null fd_sets
?SelectionChange@Combobox@DirectUI@@SA?AVUID@@XZ
?SelectionItemPattern@Schema@DirectUI@@2HA
?SelectionProp@Combobox@DirectUI@@SAPEBUPropertyInfo@2@XZ
  SELECTIVE QUERY OPTIONS:
SelectObject
SelectPalette
SelectStart
?_SelfLayoutDoLayout@Element@DirectUI@@MEAAXHH@Z
?_SelfLayoutUpdateDesiredSize@Element@DirectUI@@MEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
SeLocateProcessImageName
SeLockSubjectContext
SeMarkLogonSessionForTerminationNotification
SeMarkLogonSessionForTerminationNotificationEx
send a BREAK to the remote system
SendData
SendDataToServer
SendDlgItemMessageW
send_error
Sending environment.
Sending SSH2_MSG_EXT_INFO
SendInput
SendMail
SendMessageTimeoutW
SendMessageW
SendNotifyMessageW
send_pubkey_test
send_read_request
send_string_attrs_request
send_string_request
SeOpenObjectAuditAlarm
SeOpenObjectAuditAlarmForNonObObject
SeOpenObjectAuditAlarmWithTransaction
SeOpenObjectForDeleteAuditAlarm
SeOpenObjectForDeleteAuditAlarmWithTransaction
                 separated values for more than one device
SePrivilegeCheck
SePrivilegeObjectAuditAlarm
September
SePublicDefaultDacl
sequence
sequence1
sequence2
sequenceNumber
SequenceNumber
SeQueryAuthenticationIdToken
SeQueryInformationToken
SeQuerySecureBootPlatformManifest
SeQuerySecureBootPolicyValue
SeQuerySecurityAttributesToken
SeQuerySecurityAttributesTokenAccessInformation
SeQuerySecurityDescriptorInfo
SeQueryServerSiloToken
SeQuerySessionIdToken
SeQuerySessionIdTokenEx
SeRegisterImageVerificationCallback
SeRegisterLogonSessionTerminatedRoutine
SeRegisterLogonSessionTerminatedRoutineEx
SeReleaseSecurityDescriptor
SeReleaseSubjectContext
SeReportSecurityEvent
SeReportSecurityEventWithSubCategory
SERIAL_DRIVER_INTERNAL
Serial Number
Served by:
server_alive_check
serveralivecountmax
serveraliveinterval
Server does not support hardlink@openssh.com extension
Server does not support lsetstat@openssh.com extension
Server does not support re-keying
Server does not support statvfs@openssh.com extension
ServerElevationPipe::Communicate
ServerElevationPipe::Initialize
ServerElevationPipe::WaitOnIO
ServerEventsHandler
Server failed
Server failed to confirm ownership of private host keys
ServerGetApplicationType
Server GSSAPI Error:
ServerHello
ServerHelloDone
ServerId
ServerID
ServerKeyExchange
ServerLastSuccessTime
ServerMaxObjectSize
ServerMaxXmlSize
Server returned different OID than expected
server-sig-algs
ServerSiloSymbolicLinkTrustCheckFailed
ServerSiloSymbolicLinkTrustCheckFailed(Aggregate)
serverStackDisconnectCode
SERVER_STATUS
ServerVer
ServerVersion
Server version does not support lstat operation
SERVFAIL
Service_DeviceInterfaceArrived
Service_InstallControllerStart
Service_InstallControllerSucceeded
Service_IsControllerInstalledComplete
Service_IsControllerInstalledStart
Service_IsDeveloperModeEnabledComplete
Service_IsDeveloperModeEnabledStart
Service location
ServiceName
Service_OnStartComplete
Service_OnStartStart
Service_OnStopComplete
Service_OnStopStart
Service Pack
ServicePack
Service_RemoveControllerStart
Service_RemoveControllerSucceeded
Services
SERVIGIL
SeSecurityAttributePresent
SeSetAccessStateGenericMapping
SeSetAuditParameter
SeSetSecurityAttributesToken
SeSetSecurityAttributesTokenEx
SeSetSecurityDescriptorInfo
SeSetSecurityDescriptorInfoEx
SeSetSessionIdTokenWithLinked
SeShouldCheckForAccessRightsFromParent
SeSinglePrivilegeCheck
SeSrpAccessCheck
SESSION1_INITIALIZATION_FAILED
SessionAvailable
session_count
SessionCreateTime
SessionData
SESSION_HAS_VALID_POOL_ON_EXIT
SESSION_HAS_VALID_SPECIAL_POOL_ON_EXIT
SESSION_HAS_VALID_VIEWS_ON_EXIT
sessionId
sessionID
SessionId
SessionID
SessionLaunch
SessionLoaded
SessionOrphaned
SessionState
SessionStatistics
SeSystemDefaultDacl
SeSystemDefaultSd
SetAbortProc
?SetAbsorbsShortcut@Element@DirectUI@@QEAAJ_N@Z
?SetAccDesc@Element@DirectUI@@QEAAJPEBG@Z
?SetAccessible@Element@DirectUI@@QEAAJ_N@Z
?SetAccItemStatus@Element@DirectUI@@QEAAJPEBG@Z
?SetAccName@Element@DirectUI@@QEAAJPEBG@Z
?SetAccValue@Element@DirectUI@@QEAAJPEBG@Z
SetActionEnum
SetActionLogFile
SetActionLogMode
SetActionName
?SetActive@Element@DirectUI@@QEAAJH@Z
SetActiveWindow
SetActivityIdIfExists failed
SetAppIDAndDisablePinning failed!
__set_app_type
SetArguments failed!
SetAuthCookieIfExists failed
SetBkColor
SetBkMode
SetBrailleBlinkingCursor
SetBrailleCursorRepresentation
SetBrailleDeviceChangeFromReg
SetBrailleIsEnabledFromReg
SetBrailleTablesFromReg
SetBrushOrgEx
SetCapture
SetCertificate failed
SetChangeableFlag failed
SetClaimsTokenIfExists failed
?SetClass@Element@DirectUI@@QEAAJPEBG@Z
SetClassLongPtrW
SetClientVersion
SetClientVersionHeader(TS_HEADER_USER_AGENT) failed
SetClientVersionHeader(TS_HEADER_X_MS_USER_AGENT) failed
SetClipboardData
SetConnectionPriority
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleMode
SetConsoleOutputCP
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitleA
SetConsoleWindowInfo
?SetContentAlign@Element@DirectUI@@QEAAJH@Z
?SetContentString@Element@DirectUI@@QEAAJPEBG@Z
--setcontrol
set_control_persist_exit_time
SetCurrentDirectoryW
SetCurrentProcessExplicitAppUserModelID
SetCursor
SetCursorPos
SetDefaultLayoutOrTip
SetDescription failed!
SetDesktopColorTransform
SetDiagnoseProgressText
SetDIBColorTable
SetDIBits
SetDIBitsToDevice
SetDlgItemInt
SetDlgItemTextW
SetDllDirectoryW
?SetEnabled@Element@DirectUI@@QEAAJ_N@Z
SetEndOfFile
SetEnvironmentVariableA
SetEnvironmentVariableW
SET_ENV_VAR_FAILED
_set_errno
SetErrorMode
SetEvent
::SetEvent( handle )
_SetFarAttributeFromAslAttribute
SetFileAttributesW
_SetFileAttributeValue
SetFileCopyErrorResultFromStruct
SetFileInformationByHandle
SetFilePointer
SetFilePointerEx
SetFileTime
SetFocus
?SetFocus@ElementProvider@DirectUI@@UEAAJXZ
SetForegroundWindow
SetFullConnectionString failed!
SetGestureConfig
SetGraphicsMode
SetHandleCount
SetHandleInformation
?SetHeight@Element@DirectUI@@QEAAJH@Z
SetIconLocation failed!
?SetID@Element@DirectUI@@QEAAJPEBG@Z
SetIfNoneMatchHeaderIfExists failed
SetInteractionConfigurationInteractionContext
SetInternetPolicies
_setjmpex
?SetKeyFocus@Element@DirectUI@@UEAAXXZ
?SetKeyFocus@HWNDHost@DirectUI@@UEAAXXZ
SetLastError
SetLayeredWindowAttributes
SetLayout
?SetLayout@Element@DirectUI@@QEAAJPEAVLayout@2@@Z
?SetLayoutPos@Element@DirectUI@@QEAAJH@Z
setlocale
SetLocalTime
SetMailslotInfo
SetMapMode
SetMenuInfo
SetMenuItemInfoW
SetMessageExtraInfo
_setmode
SetNamedSecurityInfoW
?SetNote@CCCommandLink@DirectUI@@QEAAJPEBG@Z
SET_OF_INVALID_CONTEXT
SeTokenFromAccessInformation
SeTokenImpersonationLevel
SeTokenIsAdmin
SeTokenIsRestricted
SeTokenIsWriteRestricted
SeTokenObjectType
SeTokenType
SetOptionalUserToken
SetPackageParts
SetPaletteEntries
SetParserPropertyBool(NormalizeAttributeValues) failed
SetParserPropertyBool(UseInlineSchema) failed
SetParserPropertyInt(MaxXMLSize) failed
SetParserPropertyString(SelectionLanguage) failed
SetParserPropertyString(SelectionNamespaces) failed
SetPath failed!
SetPixel
SetProcessDPIAware
SetProcessDpiAwareness
SetProcessDpiAwarenessContext
SetProcessDpiAwareness failed!
SetProcessMitigationPolicy
SetProcessReference
SetProcessShutdownParameters
SetProcessWindowStation
SetPropertyInteractionContext
SetProperty: RDPAPI_PROP_NUMBER_SCHEDULER_THREADS failed. Ignoring the error
SetPropW
_Set.pszEncryptedAuthCookie
_Set.pszEncryptedOtpCookie
SetRectEmpty
SetRectRgn
SetResolutionsRunHelper
SetRestrictedErrorInfo
SetRolesOnComponentAndItsInterfaces failed
SetRolesOnComponentAndItsInterfaces returned false did not set any roles
?SetRootWindowForTheming@DUIXmlParser@DirectUI@@QEAAXPEAUHWND__@@@Z
SetScriptingEnabledFromReg
SetScrollPos
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
?SetSelected@Element@DirectUI@@QEAAJ_N@Z
?SetSelection@Combobox@DirectUI@@QEAAJH@Z
SetServiceStatus
SetSessionVariable
SetShowCmd failed!
SetSilent
SetStdHandle
SetStretchBltMode
SetSupportMetaPackageName
SetSystemTime
--set-test-cmd-3
SetTestControllerParams: Invalid parameters.
SetTextAlign
SetTextCharacterExtra
SetTextColor
SetThreadDesktop
SetThreadDpiAwarenessContext
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadPreferredUILanguages
SetThreadPriority
SetThreadToken
SetThreadUILanguage
SetTimer
--set-timeslice
Set timeslice config for a GPU:
Setting ActiveHours end hour limit
Setting counter control is deprecated!
Setting default values
SettingPermanent
Setting Property Failed
Setting Remote Application's Arguments!
Setting Remote Application's Name Failed!
Setting Remote Application's Program!
Settings
Settings in signscope and file do not match up
Settings update page launched successfully
Settings update restart options page launched successfully
Setting the transaction timeout property back failed
                                    Setting this will supercede application clocks
SetTitle failed
SetToNullStore failed!
?SetTooltip@Element@DirectUI@@QEAAJ_N@Z
?SetTooltipMaxWidth@Element@DirectUI@@QEAAJH@Z
SetUnhandledExceptionFilter
SETUPAPI.dll
SetupClass
setupcl.dll
SetupCopyOEMInfW
SetupDiDestroyDeviceInfoList
SetupDiEnumDeviceInfo
SetupDiGetClassDevsW
SetupDiGetDeviceInstanceIdW
SetupDiGetDeviceRegistryPropertyW
SETUP_FAILURE
SetupIterateCabinetW
SetupMode
Setup.pdb
SetUserGeoID
__setusermatherr
?SetValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZHPEAVValue@2@@Z
?SetValue@Element@DirectUI@@QEAAJPEBUPropertyInfo@2@HPEAVValue@2@@Z
SetValue failed!
SetVariable
Set video boost slider from 0 to max value
SetViewportExtEx
?SetVisible@Element@DirectUI@@QEAAJ_N@Z
SetVoicePropertiesFromReg
SetWaitableTimer
SetWallpaper
?SetWidth@Element@DirectUI@@QEAAJH@Z
SetWindowContextHelpId
?SetWindowDirection@HWNDHost@DirectUI@@UEAAXPEAUHWND__@@@Z
SetWindowExtEx
SetWindowFeedbackSetting
SetWindowLongPtrW
SetWindowLongW
SetWindowPlacement
SetWindowPos
SetWindowRgn
SetWindowsHookExW
SetWindowTextW
SetWindowTheme
SetWinEventHook
?SetWinStyle@CCBase@DirectUI@@QEAAJH@Z
SetWorldTransform
SetXdvKernelUtilities
?SetX@Element@DirectUI@@QEAAJH@Z
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@0@Z
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJPEBGPEAUHINSTANCE__@@1@Z
?SetXMLFromResourceWithTheme@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@00@Z
?SetY@Element@DirectUI@@QEAAJH@Z
SeUnlockSubjectContext
SeUnregisterImageVerificationCallback
SeUnregisterLogonSessionTerminatedRoutine
SeUnregisterLogonSessionTerminatedRoutineEx
SeValidSecurityDescriptor
SfcIsFileProtected
sfixed32
sfixed64
sftp.pdb
sftp-server.exe
SHAddToRecentDocs
ShapeStart
SharedCommitCharge
SHARED_RESOURCE_CONV_ERROR
SharedSettings
SHBindToParent
SHBrowseForFolderW
SHChangeNotify
SHCORE.dll
SHCreateItemFromParsingName
SHCreateMemStream
SHCreateShellItem
SHCreateShellItemArrayFromShellItem
SHCreateStreamOnFileEx
SHCreateStreamOnFileW
SHCreateThreadRef
SHDeleteValueW
SHELL32.dll
ShellAboutW
ShellExecuteExW
ShellExecuteW
Shell_NotifyIconW
Shell_RequestShutdown
SHEnumKeyExW
SHEvaluateSystemCommandTemplate
SHFileOperationW
SHFormatDateTimeW
SHGetDesktopFolder
SHGetFileInfoW
SHGetFolderPathEx
SHGetFolderPathW
SHGetKnownFolderIDList
SHGetKnownFolderPath
SHGetKnownFolderPath(LocalAppDataLow) failed
SHGetMalloc
SHGetPathFromIDListW
SHGetPropertyStoreForWindow
SHGetSpecialFolderLocation
SHGetSpecialFolderPathW
SHGetStockIconInfo
SHGetThreadRef
sHH9oPt6H
ShimExceptionHandler
SHLWAPI.dll
ShortSchedulingPolicy
should have been passed down.
Should icon be shown in the tray
ShouldReencrypt
ShouldShowIcon
ShouldSuspendBitlocker
Show auto reboot notification
?ShowContextMenu@ElementProvider@DirectUI@@UEAAJXZ
ShowCursor
Show DataMigrationFailed dialog
Show deadline approaching notification.
Show deadline engagement dialog
Show deadline engagement toast
  SHOW DTD OPTIONS:
Show forced reboot warning notification
Show force reboot reminder
Show force reboot warning
ShowHelp
Showing LowUptime toast notification
Showing reboot dialog
Showing reboot notification
Showing reboot notification requiring user response
Showing reboot notification with a countdown timer
Showing reboot notification with impending reboot
Showing reboot notification without a countdown timer
Showing toast instead of dialogs for reboot
showKeys
Show normal force reboot warning dialog
Show notify to reboot toast
show_options
show_other_keys
ShowPasswordDialog
Show reboot failed notification
Show reboot failed notification.
Show reboot imminent notification for notify to reboot policy
Show reboot need user agreement toast
Show reminder notification.
ShowScrollBar
Show strictly force reboot warning dialog
ShowUpdateResultsAfterReboot
ShowWindow
ShowWindowAsync
ShowWnd(FALSE)
SHParseDisplayName
SHQueryUserNotificationState
SHRegGetValueW
SHSetThreadRef
SHStrDupA
SHStrDup failed
SHStrDupW
SHTaskPoolQueueTask
shutdown
ShutdownInProgress
ShutdownTime
shutting down
SigdumpType
SIG_INVALID_SIZE
SignalType
sign_and_send_pubkey
signature
Signature
signature algorithm not supported
Signature contains trailing data
Signature is zero-length
signatureLevel
Signature verification failed
SignDataPKCS7
Signing data on standard input
sign_one
sign request is invalid
SignScope field not found in store
SIG_UNKNOWN_DIGEST_ALGO
SIG_UNKNOWN_FORMAT
SIG_VERIFICATION_FAILURE
SILENT_RUNNING_CONSTANT_LEVEL_SET_BY_REGISTRY
SILENT_RUNNING_LEVEL_TRANS_DUE_TO_TEMP_RISE
SILENT_RUNNING_LEVEL_TRANSITION_DUE_TO_RC_ERROR
SILENT_RUNNING_PWR_REDUCED_CLOCKING
SILENT_RUNNING_STRESS_TEST_FAILURE
SILENT_RUNNING_TEMPERATURE_READ_ERROR
SILENT_RUNNING_TEMP_REDUCED_CLOCKING
SILO_CORRUPT
SinceLastFlushMS
SinceLastResetMS
SING error
            Single Bit            
Single Bit ECC
 - Single Bit ECC - The number of GPU device memory pages that have been retired due to multiple single bit ECC errors.
single_connection: closing X11 listener.
SizeBucket
Size Mismatch
size not delimited
size not present
SizeOfRangeBytes
SizeofResource
size out of range
SizeTAdd error (INTSAFE_E_ARITHMETIC_OVERFLOW?)
SizeTToDWord(cbIconUrl) failed
SizeTToInt failed
SkAcquirePushLockExclusive
SkAllocatePool
skeyauthentication
SkFreePool
SkInitializePushLock
SkipIntro
SkipMachineOOBE
skipped DNS lookup for numerical hostname
skipping unsupported certificate type
skipping unsupported key type
Skipping update: 
SkipPointerFrameMessages
skipToAcceptAutoReminderInHours
SkipToAutoModeLimit
SkIsSecureKernel
skPageCount
SkQuerySecureKernelInformation
SkReleasePushLockExclusive
s L96tRE3
SleepCheckpointInitFailed
SleepConditionVariableCS
SleepConditionVariableSRW
SleepStudy Blocker Event
SLGetWindowsInformationDWORD
SLI is supported
SmartActiveHoursAllowed
Smart Active hours result
Smart active hours result is not acceptable
Smart active hours set through OneSettings
SmartActiveHoursSuggestionChange
SmartBusyCheckApplicability
Smart busy check applicability on this device
Smart busy check duration value read from OneSettings
Smart busy check is applicable so using default settings configured for auto or intermediate reboot.
Smart busy check is applicable so using default settings configured for auto reboot.
Smart busy check is applicable so using default settings configured for Intermediate reboot.
Smart busy check is not applicable so ignoring the check.
Smart busy check is not applicable to ignoring the check.
Smart busy check within allowed duration
smartcarddevice
SmartSchedulerAHStart
Smart scheduler is using the configured value of the velocity feature
SmartSchedulerResult
SmartSchedulerStart
SmartSchedulingOn
SmartSizingChanged
SmbiosChange
SMBiosData
SMBPBI_TEST_MESSAGE
SMBPBI_TEST_MESSAGE_SILENT
SMB_REDIRECTOR_LIVEDUMP
SMB_SERVER_LIVEDUMP
sm_clock
    SM Clock Samples
snapToGridOn
snoozeInDays
Snooze until 3 days. No action is needed as this is scheduled as default.
Snooze until tomorrow
Snooze until tonight
_snprintf
snprintf: buffer too small
_snprintf_s
_snprintf_s failed.
_snscanf_s
sntrup4591761x25519-sha512@tinyssh.org
_snwprintf
_snwprintf_s
_snwscanf_s
SOC_CRITICAL_DEVICE_REMOVED
socket (dg) failed
socketio_bind
socketio_getpeername
socketio_getsockname
socketio_getsockopt
socketio_setsockopt
socketio_shutdown
Socket is connected
socket (vc) failed
sock_set_v6only
SOC_SUBSYSTEM_FAILURE
SOC_SUBSYSTEM_FAILURE_LIVEDUMP
Soft Force reboot
Soft force reboot attempt failed so rescheduling the dialog
SoftParkLatency
SOFT_RESTART_FATAL_ERROR
software
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
Sony Sound Forge 9.0
soundCaptureEnabled
soundRedirectionMode
source-address
source-address already specified
SOURCE_DEFAULT
SOURCE_DISPPLL
SOURCE_GPCPLL
SOURCE_HBMPLL
SOURCE_HOSTCLK
SOURCE_LTCPLL
SOURCE_MPLL
SOURCE_NVDPLL
SourcePageFrame1
SourcePageFrame2
SOURCE_PEXREFCLK
SourcePointer
SOURCE_REFMPLL
SOURCE_SPPLL0
SOURCE_SPPLL1
SOURCE_SYSPLL
sourceType
SOURCE_VPLL0
SOURCE_VPLL1
SOURCE_VPLL2
SOURCE_VPLL3
SOURCE_XBARPLL
SOURCE_XCLK
SOURCE_XCLK500
SOURCE_XCLKGEN3
SOURCE_XTAL
SOURCE_XTAL4X
SOURCE_XX3CLKDIV2
spanMonitors
SpanSinceLastPress
SPAPI_E_AUTHENTICODE_DISALLOWED
SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED
SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER
SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED
SPAPI_E_BAD_INTERFACE_INSTALLSECT
SPAPI_E_BAD_SECTION_NAME_LINE
SPAPI_E_BAD_SERVICE_INSTALLSECT
SPAPI_E_CANT_LOAD_CLASS_ICON
SPAPI_E_CANT_REMOVE_DEVINST
SPAPI_E_CLASS_MISMATCH
SPAPI_E_DEVICE_INSTALL_BLOCKED
SPAPI_E_DEVICE_INSTALLER_NOT_READY
SPAPI_E_DEVICE_INTERFACE_ACTIVE
SPAPI_E_DEVICE_INTERFACE_REMOVED
SPAPI_E_DEVINFO_DATA_LOCKED
SPAPI_E_DEVINFO_LIST_LOCKED
SPAPI_E_DEVINFO_NOT_REGISTERED
SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE
SPAPI_E_DEVINST_ALREADY_EXISTS
SPAPI_E_DI_BAD_PATH
SPAPI_E_DI_DO_DEFAULT
SPAPI_E_DI_DONT_INSTALL
SPAPI_E_DI_FUNCTION_OBSOLETE
SPAPI_E_DI_NOFILECOPY
SPAPI_E_DI_POSTPROCESSING_REQUIRED
SPAPI_E_DRIVER_INSTALL_BLOCKED
SPAPI_E_DRIVER_NONNATIVE
SPAPI_E_DRIVER_STORE_ADD_FAILED
SPAPI_E_DRIVER_STORE_DELETE_FAILED
SPAPI_E_DUPLICATE_FOUND
SPAPI_E_ERROR_NOT_INSTALLED
SPAPI_E_EXPECTED_SECTION_NAME
SPAPI_E_FILE_HASH_NOT_IN_CATALOG
SPAPI_E_FILEQUEUE_LOCKED
SPAPI_E_GENERAL_SYNTAX
SPAPI_E_INCORRECTLY_COPIED_INF
SPAPI_E_INF_IN_USE_BY_DEVICES
SPAPI_E_INVALID_CLASS
SPAPI_E_INVALID_CLASS_INSTALLER
SPAPI_E_INVALID_COINSTALLER
SPAPI_E_INVALID_DEVINST_NAME
SPAPI_E_INVALID_FILTER_DRIVER
SPAPI_E_INVALID_HWPROFILE
SPAPI_E_INVALID_INF_LOGCONFIG
SPAPI_E_INVALID_MACHINENAME
SPAPI_E_INVALID_PROPPAGE_PROVIDER
SPAPI_E_INVALID_REFERENCE_STRING
SPAPI_E_INVALID_REG_PROPERTY
SPAPI_E_INVALID_TARGET
SPAPI_E_IN_WOW64
SPAPI_E_KEY_DOES_NOT_EXIST
SPAPI_E_LINE_NOT_FOUND
SPAPI_E_MACHINE_UNAVAILABLE
SPAPI_E_NO_ASSOCIATED_CLASS
SPAPI_E_NO_ASSOCIATED_SERVICE
SPAPI_E_NO_AUTHENTICODE_CATALOG
SPAPI_E_NO_BACKUP
SPAPI_E_NO_CATALOG_FOR_OEM_INF
SPAPI_E_NO_CLASS_DRIVER_LIST
SPAPI_E_NO_CLASSINSTALL_PARAMS
SPAPI_E_NO_COMPAT_DRIVERS
SPAPI_E_NO_CONFIGMGR_SERVICES
SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE
SPAPI_E_NO_DEVICE_ICON
SPAPI_E_NO_DEVICE_SELECTED
SPAPI_E_NO_DRIVER_SELECTED
SPAPI_E_NO_INF
SPAPI_E_NON_WINDOWS_DRIVER
SPAPI_E_NON_WINDOWS_NT_DRIVER
SPAPI_E_NO_SUCH_DEVICE_INTERFACE
SPAPI_E_NO_SUCH_DEVINST
SPAPI_E_NO_SUCH_INTERFACE_CLASS
SPAPI_E_NOT_AN_INSTALLED_OEM_INF
SPAPI_E_NOT_DISABLEABLE
SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE
SPAPI_E_PNP_REGISTRY_ERROR
SPAPI_E_REMOTE_COMM_FAILURE
SPAPI_E_REMOTE_REQUEST_UNSUPPORTED
SPAPI_E_SCE_DISABLED
SPAPI_E_SECTION_NAME_TOO_LONG
SPAPI_E_SECTION_NOT_FOUND
SPAPI_E_SET_SYSTEM_RESTORE_POINT
SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH
SPAPI_E_UNKNOWN_EXCEPTION
SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW
SPAPI_E_WRONG_INF_STYLE
SPAPI_E_WRONG_INF_TYPE
SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION
Specified known hosts path too long
                                    speed in MHz while running applications on a GPU.
s_perror
spExtendedSettings
SPIN_LOCK_ALREADY_OWNED
SPIN_LOCK_INIT_FAILURE
SPIN_LOCK_NOT_OWNED
  -s pkcs11   Add keys from PKCS#11 provider.
_splitpath_s
SpoilBatteryEstimation
spoilerType
spProtocolMessageFactory
sprintf_s
            [-S program] source ... target
spStream
spStreamEx
spTcpInfo
spThreadDescriptor init failed
spurious
SpuriousEvent
SpuriousManualPowerButtonBugcheck
SpuriousWakeBucketCounts
SQLITE_E_ABORT
SQLITE_E_ABORT_ROLLBACK
SQLITE_E_AUTH
SQLITE_E_BUSY
SQLITE_E_BUSY_RECOVERY
SQLITE_E_BUSY_SNAPSHOT
SQLITE_E_CANTOPEN
SQLITE_E_CANTOPEN_CONVPATH
SQLITE_E_CANTOPEN_FULLPATH
SQLITE_E_CANTOPEN_ISDIR
SQLITE_E_CANTOPEN_NOTEMPDIR
SQLITE_E_CONSTRAINT
SQLITE_E_CONSTRAINT_CHECK
SQLITE_E_CONSTRAINT_COMMITHOOK
SQLITE_E_CONSTRAINT_FOREIGNKEY
SQLITE_E_CONSTRAINT_FUNCTION
SQLITE_E_CONSTRAINT_NOTNULL
SQLITE_E_CONSTRAINT_PRIMARYKEY
SQLITE_E_CONSTRAINT_ROWID
SQLITE_E_CONSTRAINT_TRIGGER
SQLITE_E_CONSTRAINT_UNIQUE
SQLITE_E_CONSTRAINT_VTAB
SQLITE_E_CORRUPT
SQLITE_E_CORRUPT_VTAB
SQLITE_E_DONE
SQLITE_E_EMPTY
SQLITE_E_ERROR
SQLITE_E_FORMAT
SQLITE_E_FULL
SQLITE_E_INTERNAL
SQLITE_E_INTERRUPT
SQLITE_E_IOERR
SQLITE_E_IOERR_ACCESS
SQLITE_E_IOERR_AUTH
SQLITE_E_IOERR_BLOCKED
SQLITE_E_IOERR_CHECKRESERVEDLOCK
SQLITE_E_IOERR_CLOSE
SQLITE_E_IOERR_CONVPATH
SQLITE_E_IOERR_DELETE
SQLITE_E_IOERR_DELETE_NOENT
SQLITE_E_IOERR_DIR_CLOSE
SQLITE_E_IOERR_DIR_FSYNC
SQLITE_E_IOERR_FSTAT
SQLITE_E_IOERR_FSYNC
SQLITE_E_IOERR_GETTEMPPATH
SQLITE_E_IOERR_LOCK
SQLITE_E_IOERR_MMAP
SQLITE_E_IOERR_NOMEM
SQLITE_E_IOERR_RDLOCK
SQLITE_E_IOERR_READ
SQLITE_E_IOERR_SEEK
SQLITE_E_IOERR_SHMLOCK
SQLITE_E_IOERR_SHMMAP
SQLITE_E_IOERR_SHMOPEN
SQLITE_E_IOERR_SHMSIZE
SQLITE_E_IOERR_SHORT_READ
SQLITE_E_IOERR_TRUNCATE
SQLITE_E_IOERR_UNLOCK
SQLITE_E_IOERR_VNODE
SQLITE_E_IOERR_WRITE
SQLITE_E_LOCKED
SQLITE_E_LOCKED_SHAREDCACHE
SQLITE_E_MISMATCH
SQLITE_E_MISUSE
SQLITE_E_NOLFS
SQLITE_E_NOMEM
SQLITE_E_NOTADB
SQLITE_E_NOTFOUND
SQLITE_E_NOTICE
SQLITE_E_NOTICE_RECOVER_ROLLBACK
SQLITE_E_NOTICE_RECOVER_WAL
SQLITE_E_PERM
SQLITE_E_PROTOCOL
SQLITE_E_RANGE
SQLITE_E_READONLY
SQLITE_E_READONLY_CANTLOCK
SQLITE_E_READONLY_DBMOVED
SQLITE_E_READONLY_RECOVERY
SQLITE_E_READONLY_ROLLBACK
SQLITE_E_ROW
SQLITE_E_SCHEMA
SQLITE_E_TOOBIG
SQLITE_E_WARNING
SQLITE_E_WARNING_AUTOINDEX
SQLManageDataSources
SQYV!0p'
sram_correctable
SRAM Correctable
sram_uncorrectable
SRAM Uncorrectable
SrpGetEnterpriseIds
srvcli.dll
	SRV service location:
sscanf_s
SSH2_FXP_RENAME
SSH2_MSG_EXT_INFO received
SSH2_MSG_KEX_DH_GEX_INIT sent
SSH2_MSG_KEXINIT received
SSH2_MSG_KEXINIT sent
SSH2_MSG_NEWKEYS received
SSH2_MSG_NEWKEYS sent
SSH2_MSG_SERVICE_ACCEPT received
ssh-add.pdb
ssh-agent
ssh-agent.pdb
SSH_ASKPASS
SSH_AUTH_SOCK
sshbuf_new failed
*SSH Compatible Server*
ssh_confirm_remote_forward
ssh_connect
ssh_connect_direct
ssh-connection
ssh_create_socket
sshd.exe
ssh_dispatch_run_fatal
ssh-dss-cert-v01@openssh.com
ssh-ed25519
ssh-ed25519-cert-v01@openssh.com
ssh_ed25519_verify
ssh_gssapi_buildmic
ssh_gssapi_last_error
ssh_init_stdio_forwarding
ssh_kex2
sshkey_fingerprint failed
       ssh-keygen -A [-f prefix_path]
       ssh-keygen -B [-f input_keyfile]
       ssh-keygen -c [-C comment] [-f keyfile] [-P passphrase]
       ssh-keygen -D pkcs11
       ssh-keygen -e [-f input_keyfile] [-m key_format]
sshkey_generate failed
       ssh-keygen -F hostname [-lv] [-f known_hosts_file]
       ssh-keygen -f input_file -T output_file [-v] [-a rounds] [-J num_lines]
       ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
       ssh-keygen -H [-f known_hosts_file]
       ssh-keygen -I certificate_identity -s ca_key [-hU] [-D pkcs11_provider]
       ssh-keygen -i [-f input_keyfile] [-m key_format]
       ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
       ssh-keygen -L [-f input_keyfile]
       ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
ssh-keygen.pdb
       ssh-keygen -p [-f keyfile] [-m format] [-N new_passphrase]
       ssh-keygen -Q -f krl_file file ...
       ssh-keygen -R hostname [-f known_hosts_file]
       ssh-keygen -r hostname [-g] [-f input_keyfile]
       ssh-keygen -Y check-novalidate -n namespace -s signature_file
       ssh-keygen -y [-f input_keyfile]
       ssh-keygen -Y sign -f key_file -n namespace file ...
       ssh-keygen -Y verify -f allowed_signers_file -I signer_identity
sshkey_new
sshkey_new failed
ssh-keyscan
ssh-keyscan.pdb
ssh_keysign
ssh_krl_check_key
ssh_krl_file_contains_key
ssh_krl_from_blob
ssh_krl_revoke_key_explicit
ssh_krl_revoke_key_sha1
ssh_krl_revoke_key_sha256
ssh_packet_disconnect
ssh_packet_read_poll2
ssh_packet_read_poll2_mux
ssh_packet_send2
ssh_packet_send_debug
ssh_packet_send_mux
ssh_packet_set_connection
ssh_packet_set_connection failed
ssh-pkcs11-rsa
sshpkt_vfatal
SSH PRIVATE KEY FILE
ssh protocol 1 is not supported
SSH protocol v.1 is no longer supported
ssh-rsa-cert-v01@openssh.com
ssh_session2
ssh_session2_open
ssh_session2_setup
ssh_set_newkeys
sshsig_armor
sshsig_check_hashalg
sshsig_dearmor
sshsig_sign_fd
sshsig_verify_fd
sshsig_wrap_sign
sshsig_wrap_verify
SSH_TERM_CONHOST_PARSER
SSH_TEST_ENVIRONMENT
ssh_tty_make_modes
ssh-unknown
ssh-userauth
ssh_userauth2
*SSH_Version_Mapper*
ssh-xmss-cert-v01@openssh.com
ssh-xmss@openssh.com
SSID_MISMATCH
SspiCli.dll
sspi delegation was requested but not fulfilled
SspiFreeAuthIdentity
SspiLocalFree
SspiPrepareForCredRead
SspiPrepareForCredRead failed
SspiPrepareForCredWrite
SspiPrepareForCredWrite failed
SspiUnmarshalAuthIdentity
SspiUnmarshalAuthIdentity failed
SssBindServicingStack
SssGetServicingStackFilePath
SssGetServicingStackFilePathLength
SssPreloadDownlevelDependencies
SssReleaseServicingStack
S_STORE_LAUNCHED_FOR_REMEDIATION
**S.T.A!A!V
stackHash
- stalled -
StandardBias
StandardBoundaryInLocalTime
(standard input)
StandardStart
StandardStartDay
StandardStartHour
StandardStartMilliseconds
StandardStartMinute
StandardStartMonth
StandardStartSecond
StandardStartWeekday
StandardStartYear
standbyTime
StartContainerActivity
?StartDefer@Element@DirectUI@@QEAAXPEAK@Z
StartDocW
StartedEventSignaled
StartElement
startFullScreen
StartGpn
StartHour
StartImageStart
Starting Post Phase
Starting time to find next reboot time is in the past. Choose another time.
Starting User Migration Phase
    (starting with GPU index 0) are used for monitoring purpose.
StartMaintenance
StartMessagePump
start of authority
StartPage
StartPerceptionSimulationControlUx
StartRemoteApplication failed
StartRemoteApplicationInSession failed
StartRemoteApplicationWW
StartServiceA
StartServiceCtrlDispatcherW
StartServiceW
StartSession worker failed
StartShell returned FALSE. Exiting!
StartThreadpoolIo
StartTime
StartTimeInUTC
Start time is in the active hours range
Start time is not in the active hours range
StartTraceW
StartupSelection
StartVirtualAddress
StartVpn
StateDurationMS
StateEventType
state not recoverable
stateOfCharge
STATEREPOSITORY_E_BLOCKED
STATEREPOSITORY_E_BUSY_RECOVERY_RETRY
STATEREPOSITORY_E_BUSY_RECOVERY_TIMEOUT_EXCEEDED
STATEREPOSITORY_E_BUSY_RETRY
STATEREPOSITORY_E_BUSY_TIMEOUT_EXCEEDED
STATEREPOSITORY_E_CONCURRENCY_LOCKING_FAILURE
STATEREPOSITORY_E_CONFIGURATION_INVALID
STATEREPOSITORY_E_LOCKED_RETRY
STATEREPOSITORY_E_LOCKED_SHAREDCACHE_RETRY
STATEREPOSITORY_E_LOCKED_SHAREDCACHE_TIMEOUT_EXCEEDED
STATEREPOSITORY_E_LOCKED_TIMEOUT_EXCEEDED
STATEREPOSITORY_ERROR_CACHE_CORRUPTED
STATEREPOSITORY_ERROR_DICTIONARY_CORRUPTED
STATEREPOSITORY_E_SERVICE_STOP_IN_PROGRESS
STATEREPOSITORY_E_STATEMENT_INPROGRESS
STATEREPOSITORY_E_TRANSACTION_REQUIRED
STATEREPOSITORY_E_UNKNOWN_SCHEMA_VERSION
STATEREPOSITORY_TRANSACTION_CALLER_ID_CHANGED
STATEREPOSITORY_TRANSACTION_IN_PROGRESS
STATEREPOSTORY_E_NESTED_TRANSACTION_NOT_SUPPORTED
StateString
StateTransition
StateTransitionSub
--status
STATUS_ABANDONED_WAIT_0
STATUS_ABANDONED_WAIT_63
STATUS_ABANDON_HIBERFILE
STATUS_ABIOS_INVALID_COMMAND
STATUS_ABIOS_INVALID_LID
STATUS_ABIOS_INVALID_SELECTOR
STATUS_ABIOS_LID_ALREADY_OWNED
STATUS_ABIOS_LID_NOT_EXIST
STATUS_ABIOS_NOT_LID_OWNER
STATUS_ABIOS_NOT_PRESENT
STATUS_ABIOS_SELECTOR_NOT_AVAILABLE
STATUS_ACCESS_AUDIT_BY_POLICY
STATUS_ACCESS_DENIED
STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT
STATUS_ACCESS_DISABLED_BY_POLICY_OTHER
STATUS_ACCESS_DISABLED_BY_POLICY_PATH
STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER
STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY
STATUS_ACCESS_VIOLATION
STATUS_ACCOUNT_DISABLED
STATUS_ACCOUNT_EXPIRED
STATUS_ACCOUNT_LOCKED_OUT
STATUS_ACCOUNT_RESTRICTION
STATUS_ACPI_ACQUIRE_GLOBAL_LOCK
STATUS_ACPI_ADDRESS_NOT_MAPPED
STATUS_ACPI_ALREADY_INITIALIZED
STATUS_ACPI_ASSERT_FAILED
STATUS_ACPI_FATAL
STATUS_ACPI_HANDLER_COLLISION
STATUS_ACPI_INCORRECT_ARGUMENT_COUNT
STATUS_ACPI_INVALID_ACCESS_SIZE
STATUS_ACPI_INVALID_ARGTYPE
STATUS_ACPI_INVALID_ARGUMENT
STATUS_ACPI_INVALID_DATA
STATUS_ACPI_INVALID_EVENTTYPE
STATUS_ACPI_INVALID_INDEX
STATUS_ACPI_INVALID_MUTEX_LEVEL
STATUS_ACPI_INVALID_OBJTYPE
STATUS_ACPI_INVALID_OPCODE
STATUS_ACPI_INVALID_REGION
STATUS_ACPI_INVALID_SUPERNAME
STATUS_ACPI_INVALID_TABLE
STATUS_ACPI_INVALID_TARGETTYPE
STATUS_ACPI_MUTEX_NOT_OWNED
STATUS_ACPI_MUTEX_NOT_OWNER
STATUS_ACPI_NOT_INITIALIZED
STATUS_ACPI_POWER_REQUEST_FAILED
STATUS_ACPI_REG_HANDLER_FAILED
STATUS_ACPI_RS_ACCESS
STATUS_ACPI_STACK_OVERFLOW
STATUS_ADAPTER_HARDWARE_ERROR
STATUS_ADDRESS_ALREADY_ASSOCIATED
STATUS_ADDRESS_ALREADY_EXISTS
STATUS_ADDRESS_CLOSED
STATUS_ADDRESS_NOT_ASSOCIATED
STATUS_ADMINLESS_ACCESS_DENIED
STATUS_ADVANCED_INSTALLER_FAILED
STATUS_AGENTS_EXHAUSTED
STATUS_ALERTED
STATUS_ALIAS_EXISTS
STATUS_ALLOCATE_BUCKET
STATUS_ALLOTTED_SPACE_EXCEEDED
STATUS_ALL_SIDS_FILTERED
STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED
STATUS_ALPC_CHECK_COMPLETION_LIST
STATUS_ALREADY_COMMITTED
STATUS_ALREADY_COMPLETE
STATUS_ALREADY_DISCONNECTED
STATUS_ALREADY_HAS_STREAM_ID
STATUS_ALREADY_INITIALIZED
STATUS_ALREADY_REGISTERED
STATUS_ALREADY_WIN32
STATUS_AMBIGUOUS_SYSTEM_DEVICE
STATUS_APC_RETURNED_WHILE_IMPERSONATING
STATUS_APISET_NOT_HOSTED
STATUS_APISET_NOT_PRESENT
STATUS_APP_DATA_CORRUPT
STATUS_APP_DATA_EXPIRED
STATUS_APP_DATA_LIMIT_EXCEEDED
STATUS_APP_DATA_NOT_FOUND
STATUS_APP_DATA_REBOOT_REQUIRED
STATUS_APPEXEC_CONDITION_NOT_SATISFIED
STATUS_APPEXEC_HANDLE_INVALIDATED
STATUS_APPEXEC_HOST_ID_MISMATCH
STATUS_APPEXEC_INVALID_HOST_GENERATION
STATUS_APPEXEC_INVALID_HOST_STATE
STATUS_APPEXEC_NO_DONOR
STATUS_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION
STATUS_APPEXEC_UNKNOWN_USER
STATUS_APPHELP_BLOCK
STATUS_APP_INIT_FAILURE
STATUS_APPX_FILE_NOT_ENCRYPTED
STATUS_APPX_INTEGRITY_FAILURE_CLR_NGEN
STATUS_ARBITRATION_UNHANDLED
STATUS_ARRAY_BOUNDS_EXCEEDED
STATUS_ASSERTION_FAILURE
STATUS_ATTACHED_EXECUTABLE_MEMORY_WRITE
STATUS_ATTRIBUTE_NOT_PRESENT
STATUS_AUDIO_ENGINE_NODE_NOT_FOUND
STATUS_AUDIT_FAILED
STATUS_AUDITING_DISABLED
STATUS_AUTHENTICATION_FIREWALL_FAILED
STATUS_AUTHIP_FAILURE
STATUS_AUTH_TAG_MISMATCH
STATUS_BACKUP_CONTROLLER
STATUS_BAD_BINDINGS
STATUS_BAD_CLUSTERS
STATUS_BAD_COMPRESSION_BUFFER
STATUS_BAD_CURRENT_DIRECTORY
STATUS_BAD_DATA
STATUS_BAD_DESCRIPTOR_FORMAT
STATUS_BAD_DEVICE_TYPE
STATUS_BAD_DLL_ENTRYPOINT
STATUS_BAD_FILE_TYPE
STATUS_BAD_FUNCTION_TABLE
STATUS_BAD_IMPERSONATION_LEVEL
STATUS_BAD_INHERITANCE_ACL
STATUS_BAD_INITIAL_PC
STATUS_BAD_INITIAL_STACK
STATUS_BAD_KEY
STATUS_BAD_LOGON_SESSION_STATE
STATUS_BAD_MASTER_BOOT_RECORD
STATUS_BAD_MCFG_TABLE
STATUS_BAD_NETWORK_NAME
STATUS_BAD_NETWORK_PATH
STATUS_BAD_REMOTE_ADAPTER
STATUS_BAD_SERVICE_ENTRYPOINT
STATUS_BAD_STACK
STATUS_BAD_TOKEN_TYPE
STATUS_BAD_VALIDATION_CLASS
STATUS_BAD_WORKING_SET_LIMIT
StatusBarVisibility
STATUS_BCD_NOT_ALL_ENTRIES_IMPORTED
STATUS_BCD_NOT_ALL_ENTRIES_SYNCHRONIZED
STATUS_BCD_TOO_MANY_ELEMENTS
STATUS_BEGINNING_OF_MEDIA
STATUS_BEYOND_VDL
STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT
STATUS_BIZRULES_NOT_ENABLED
STATUS_BLOCKED_BY_PARENTAL_CONTROLS
STATUS_BLOCK_TOO_MANY_REFERENCES
STATUS_BREAKPOINT
STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND
STATUS_BTH_ATT_ATTRIBUTE_NOT_LONG
STATUS_BTH_ATT_INSUFFICIENT_AUTHENTICATION
STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION
STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION
STATUS_BTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE
STATUS_BTH_ATT_INSUFFICIENT_RESOURCES
STATUS_BTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH
STATUS_BTH_ATT_INVALID_HANDLE
STATUS_BTH_ATT_INVALID_OFFSET
STATUS_BTH_ATT_INVALID_PDU
STATUS_BTH_ATT_PREPARE_QUEUE_FULL
STATUS_BTH_ATT_READ_NOT_PERMITTED
STATUS_BTH_ATT_REQUEST_NOT_SUPPORTED
STATUS_BTH_ATT_UNKNOWN_ERROR
STATUS_BTH_ATT_UNLIKELY
STATUS_BTH_ATT_UNSUPPORTED_GROUP_TYPE
STATUS_BTH_ATT_WRITE_NOT_PERMITTED
STATUS_BUFFER_ALL_ZEROS
STATUS_BUFFER_OVERFLOW
STATUS_BUFFER_TOO_SMALL
STATUS_BUS_RESET
STATUS_CACHE_PAGE_LOCKED
STATUS_CALLBACK_BYPASS
STATUS_CALLBACK_INVOKE_INLINE
STATUS_CALLBACK_POP_STACK
STATUS_CALLBACK_RETURNED_LANG
STATUS_CALLBACK_RETURNED_LDR_LOCK
STATUS_CALLBACK_RETURNED_PRI_BACK
STATUS_CALLBACK_RETURNED_THREAD_AFFINITY
STATUS_CALLBACK_RETURNED_THREAD_PRIORITY
STATUS_CALLBACK_RETURNED_TRANSACTION
STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING
STATUS_CANCELLED
STATUS_CANNOT_ABORT_TRANSACTIONS
STATUS_CANNOT_ACCEPT_TRANSACTED_WORK
STATUS_CANNOT_BREAK_OPLOCK
STATUS_CANNOT_DELETE
STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION
STATUS_CANNOT_GRANT_REQUESTED_OPLOCK
STATUS_CANNOT_IMPERSONATE
STATUS_CANNOT_LOAD_REGISTRY_FILE
STATUS_CANNOT_MAKE
STATUS_CANNOT_SWITCH_RUNLEVEL
STATUS_CANT_ACCESS_DOMAIN_INFO
STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY
STATUS_CANT_CLEAR_ENCRYPTION_FLAG
STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS
STATUS_CANT_CROSS_RM_BOUNDARY
STATUS_CANT_DISABLE_MANDATORY
STATUS_CANT_ENABLE_DENY_ONLY
STATUS_CANT_OPEN_ANONYMOUS
STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT
STATUS_CANT_RECOVER_WITH_HANDLE_OPEN
STATUS_CANT_TERMINATE_SELF
STATUS_CANT_WAIT
STATUS_CARDBUS_NOT_SUPPORTED
STATUS_CASE_DIFFERING_NAMES_IN_DIR
STATUS_CASE_SENSITIVE_PATH
STATUS_CC_NEEDS_CALLBACK_SECTION_DRAIN
STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE
STATUS_CHECKING_FILE_SYSTEM
STATUS_CHECKOUT_REQUIRED
STATUS_CHILD_MUST_BE_VOLATILE
STATUS_CHILD_PROCESS_BLOCKED
STATUS_CIMFS_IMAGE_CORRUPT
STATUS_CLEANER_CARTRIDGE_INSTALLED
STATUS_CLIENT_SERVER_PARAMETERS_INVALID
STATUS_CLIP_DEVICE_LICENSE_MISSING
STATUS_CLIP_KEYHOLDER_LICENSE_MISSING_OR_INVALID
STATUS_CLIP_LICENSE_DEVICE_ID_MISMATCH
STATUS_CLIP_LICENSE_EXPIRED
STATUS_CLIP_LICENSE_HARDWARE_ID_OUT_OF_TOLERANCE
STATUS_CLIP_LICENSE_INVALID_SIGNATURE
STATUS_CLIP_LICENSE_NOT_FOUND
STATUS_CLIP_LICENSE_NOT_SIGNED
STATUS_CLIP_LICENSE_SIGNED_BY_UNKNOWN_SOURCE
STATUS_CLOUD_FILE_ACCESS_DENIED
STATUS_CLOUD_FILE_ALREADY_CONNECTED
STATUS_CLOUD_FILE_AUTHENTICATION_FAILED
STATUS_CLOUD_FILE_CONNECTED_PROVIDER_ONLY
STATUS_CLOUD_FILE_DEHYDRATION_DISALLOWED
STATUS_CLOUD_FILE_INCOMPATIBLE_HARDLINKS
STATUS_CLOUD_FILE_INSUFFICIENT_RESOURCES
STATUS_CLOUD_FILE_IN_USE
STATUS_CLOUD_FILE_INVALID_REQUEST
STATUS_CLOUD_FILE_METADATA_CORRUPT
STATUS_CLOUD_FILE_METADATA_TOO_LARGE
STATUS_CLOUD_FILE_NETWORK_UNAVAILABLE
STATUS_CLOUD_FILE_NOT_IN_SYNC
STATUS_CLOUD_FILE_NOT_SUPPORTED
STATUS_CLOUD_FILE_NOT_UNDER_SYNC_ROOT
STATUS_CLOUD_FILE_PINNED
STATUS_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH
STATUS_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE
STATUS_CLOUD_FILE_PROPERTY_CORRUPT
STATUS_CLOUD_FILE_PROPERTY_LOCK_CONFLICT
STATUS_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED
STATUS_CLOUD_FILE_PROVIDER_NOT_RUNNING
STATUS_CLOUD_FILE_PROVIDER_TERMINATED
STATUS_CLOUD_FILE_READ_ONLY_VOLUME
STATUS_CLOUD_FILE_REQUEST_ABORTED
STATUS_CLOUD_FILE_REQUEST_CANCELED
STATUS_CLOUD_FILE_REQUEST_TIMEOUT
STATUS_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT
STATUS_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS
STATUS_CLOUD_FILE_UNSUCCESSFUL
STATUS_CLOUD_FILE_US_MESSAGE_TIMEOUT
STATUS_CLOUD_FILE_VALIDATION_FAILED
STATUS_CLUSTER_CAM_TICKET_REPLAY_DETECTED
STATUS_CLUSTER_CSV_AUTO_PAUSE_ERROR
STATUS_CLUSTER_CSV_INVALID_HANDLE
STATUS_CLUSTER_CSV_NO_SNAPSHOTS
STATUS_CLUSTER_CSV_NOT_REDIRECTED
STATUS_CLUSTER_CSV_READ_OPLOCK_BREAK_IN_PROGRESS
STATUS_CLUSTER_CSV_REDIRECTED
STATUS_CLUSTER_CSV_SNAPSHOT_CREATION_IN_PROGRESS
STATUS_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR
STATUS_CLUSTER_CSV_VOLUME_DRAINING
STATUS_CLUSTER_CSV_VOLUME_DRAINING_SUCCEEDED_DOWNLEVEL
STATUS_CLUSTER_CSV_VOLUME_NOT_LOCAL
STATUS_CLUSTER_INVALID_NETWORK
STATUS_CLUSTER_INVALID_NETWORK_PROVIDER
STATUS_CLUSTER_INVALID_NODE
STATUS_CLUSTER_INVALID_REQUEST
STATUS_CLUSTER_JOIN_IN_PROGRESS
STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS
STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND
STATUS_CLUSTER_NETINTERFACE_EXISTS
STATUS_CLUSTER_NETINTERFACE_NOT_FOUND
STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE
STATUS_CLUSTER_NETWORK_ALREADY_ONLINE
STATUS_CLUSTER_NETWORK_EXISTS
STATUS_CLUSTER_NETWORK_NOT_FOUND
STATUS_CLUSTER_NETWORK_NOT_INTERNAL
STATUS_CLUSTER_NODE_ALREADY_DOWN
STATUS_CLUSTER_NODE_ALREADY_MEMBER
STATUS_CLUSTER_NODE_ALREADY_UP
STATUS_CLUSTER_NODE_DOWN
STATUS_CLUSTER_NODE_EXISTS
STATUS_CLUSTER_NODE_NOT_FOUND
STATUS_CLUSTER_NODE_NOT_MEMBER
STATUS_CLUSTER_NODE_NOT_PAUSED
STATUS_CLUSTER_NODE_PAUSED
STATUS_CLUSTER_NODE_UNREACHABLE
STATUS_CLUSTER_NODE_UP
STATUS_CLUSTER_NON_CSV_PATH
STATUS_CLUSTER_NO_NET_ADAPTERS
STATUS_CLUSTER_NO_SECURITY_CONTEXT
STATUS_CLUSTER_POISONED
StatusCode
STATUS_COMMITMENT_LIMIT
STATUS_COMMITMENT_MINIMUM
STATUS_COMPRESSED_FILE_NOT_SUPPORTED
STATUS_COMPRESSION_DISABLED
STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION
STATUS_COMPRESSION_NOT_BENEFICIAL
status confirm
STATUS_CONFLICTING_ADDRESSES
STATUS_CONNECTION_ABORTED
STATUS_CONNECTION_ACTIVE
STATUS_CONNECTION_COUNT_LIMIT
STATUS_CONNECTION_DISCONNECTED
STATUS_CONNECTION_IN_USE
STATUS_CONNECTION_INVALID
STATUS_CONNECTION_REFUSED
STATUS_CONNECTION_RESET
STATUS_CONTAINER_ASSIGNED
STATUS_CONTENT_BLOCKED
STATUS_CONTEXT_MISMATCH
STATUS_CONTEXT_STOWED_EXCEPTION
STATUS_CONTROL_C_EXIT
STATUS_CONTROL_STACK_VIOLATION
STATUS_CONVERT_TO_LARGE
STATUS_COPY_PROTECTION_FAILURE
STATUS_CORRUPT_LOG_CLEARED
STATUS_CORRUPT_LOG_CORRUPTED
STATUS_CORRUPT_LOG_DELETED_FULL
STATUS_CORRUPT_LOG_OVERFULL
STATUS_CORRUPT_LOG_UNAVAILABLE
STATUS_CORRUPT_LOG_UPLEVEL_RECORDS
STATUS_CORRUPT_SYSTEM_FILE
STATUS_COULD_NOT_INTERPRET
STATUS_COULD_NOT_RESIZE_LOG
STATUS_CPU_SET_INVALID
STATUS_CRASH_DUMP
STATUS_CRC_ERROR
STATUS_CRED_REQUIRES_CONFIRMATION
STATUS_CRM_PROTOCOL_ALREADY_EXISTS
STATUS_CRM_PROTOCOL_NOT_FOUND
STATUS_CROSS_PARTITION_VIOLATION
STATUS_CROSSREALM_DELEGATION_FAILURE
STATUS_CRYPTO_SYSTEM_INVALID
STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE
STATUS_CS_ENCRYPTION_FILE_NOT_CSE
STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE
STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE
STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER
STATUS_CSS_AUTHENTICATION_FAILURE
STATUS_CSS_KEY_NOT_ESTABLISHED
STATUS_CSS_KEY_NOT_PRESENT
STATUS_CSS_REGION_MISMATCH
STATUS_CSS_RESETS_EXHAUSTED
STATUS_CSS_SCRAMBLED_SECTOR
STATUS_CSV_IO_PAUSE_TIMEOUT
STATUS_CTL_FILE_NOT_SUPPORTED
STATUS_CTLOG_INCONSISTENT_TRACKING_FILE
STATUS_CTLOG_INVALID_TRACKING_STATE
STATUS_CTLOG_LOGFILE_SIZE_EXCEEDED_MAXSIZE
STATUS_CTLOG_TRACKING_NOT_INITIALIZED
STATUS_CTLOG_VHD_CHANGED_OFFLINE
STATUS_CTX_BAD_VIDEO_MODE
STATUS_CTX_CDM_CONNECT
STATUS_CTX_CDM_DISCONNECT
STATUS_CTX_CLIENT_LICENSE_IN_USE
STATUS_CTX_CLIENT_LICENSE_NOT_SET
STATUS_CTX_CLIENT_QUERY_TIMEOUT
STATUS_CTX_CLOSE_PENDING
STATUS_CTX_CONSOLE_CONNECT
STATUS_CTX_CONSOLE_DISCONNECT
STATUS_CTX_GRAPHICS_INVALID
STATUS_CTX_INVALID_MODEMNAME
STATUS_CTX_INVALID_PD
STATUS_CTX_INVALID_WD
STATUS_CTX_LICENSE_CLIENT_INVALID
STATUS_CTX_LICENSE_EXPIRED
STATUS_CTX_LICENSE_NOT_AVAILABLE
STATUS_CTX_LOGON_DISABLED
STATUS_CTX_MODEM_INF_NOT_FOUND
STATUS_CTX_MODEM_RESPONSE_BUSY
STATUS_CTX_MODEM_RESPONSE_NO_CARRIER
STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE
STATUS_CTX_MODEM_RESPONSE_TIMEOUT
STATUS_CTX_MODEM_RESPONSE_VOICE
STATUS_CTX_NO_OUTBUF
STATUS_CTX_NOT_CONSOLE
STATUS_CTX_PD_NOT_FOUND
STATUS_CTX_RESPONSE_ERROR
STATUS_CTX_SECURITY_LAYER_ERROR
STATUS_CTX_SHADOW_DENIED
STATUS_CTX_SHADOW_DISABLED
STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE
STATUS_CTX_SHADOW_INVALID
STATUS_CTX_SHADOW_NOT_RUNNING
STATUS_CTX_TD_ERROR
STATUS_CTX_WD_NOT_FOUND
STATUS_CTX_WINSTATION_ACCESS_DENIED
STATUS_CTX_WINSTATION_BUSY
STATUS_CTX_WINSTATION_NAME_COLLISION
STATUS_CTX_WINSTATION_NAME_INVALID
STATUS_CTX_WINSTATION_NOT_FOUND
STATUS_CURRENT_DOMAIN_NOT_ALLOWED
STATUS_CURRENT_TRANSACTION_NOT_VALID
STATUS_DATA_CHECKSUM_ERROR
STATUS_DATA_ERROR
STATUS_DATA_LATE_ERROR
STATUS_DATA_LOST_REPAIR
STATUS_DATA_NOT_ACCEPTED
STATUS_DATA_OVERRUN
STATUS_DATA_OVERWRITTEN
STATUS_DATATYPE_MISALIGNMENT
STATUS_DATATYPE_MISALIGNMENT_ERROR
STATUS_DAX_MAPPING_EXISTS
STATUS_DEBUG_ATTACH_FAILED
STATUS_DEBUGGER_INACTIVE
STATUS_DECRYPTION_FAILED
STATUS_DELAY_LOAD_FAILED
STATUS_DELETE_PENDING
STATUS_DESTINATION_ELEMENT_FULL
STATUS_DEVICE_ALREADY_ATTACHED
STATUS_DEVICE_BUSY
STATUS_DEVICE_CONFIGURATION_ERROR
STATUS_DEVICE_DATA_ERROR
STATUS_DEVICE_DOES_NOT_EXIST
STATUS_DEVICE_DOOR_OPEN
STATUS_DEVICE_ENUMERATION_ERROR
STATUS_DEVICE_FEATURE_NOT_SUPPORTED
STATUS_DEVICE_HARDWARE_ERROR
STATUS_DEVICE_HINT_NAME_BUFFER_TOO_SMALL
STATUS_DEVICE_HUNG
STATUS_DEVICE_IN_MAINTENANCE
STATUS_DEVICE_INSUFFICIENT_RESOURCES
STATUS_DEVICE_NOT_CONNECTED
STATUS_DEVICE_NOT_PARTITIONED
STATUS_DEVICE_NOT_READY
STATUS_DEVICE_OFF_LINE
STATUS_DEVICE_PAPER_EMPTY
STATUS_DEVICE_POWER_CYCLE_REQUIRED
STATUS_DEVICE_POWERED_OFF
STATUS_DEVICE_POWER_FAILURE
STATUS_DEVICE_PROTOCOL_ERROR
STATUS_DEVICE_REMOVED
STATUS_DEVICE_REQUIRES_CLEANING
STATUS_DEVICE_SUPPORT_IN_PROGRESS
STATUS_DEVICE_UNREACHABLE
STATUS_DEVICE_UNRESPONSIVE
STATUS_DFS_EXIT_PATH_FOUND
STATUS_DFS_UNAVAILABLE
STATUS_DIRECTORY_IS_A_REPARSE_POINT
STATUS_DIRECTORY_NOT_EMPTY
STATUS_DIRECTORY_NOT_RM
STATUS_DIRECTORY_NOT_SUPPORTED
STATUS_DIRECTORY_SERVICE_REQUIRED
STATUS_DISK_CORRUPT_ERROR
STATUS_DISK_FULL
STATUS_DISK_OPERATION_FAILED
STATUS_DISK_QUOTA_EXCEEDED
STATUS_DISK_RECALIBRATE_FAILED
STATUS_DISK_REPAIR_DISABLED
STATUS_DISK_REPAIR_REDIRECTED
STATUS_DISK_REPAIR_UNSUCCESSFUL
STATUS_DISK_RESET_FAILED
STATUS_DISK_RESOURCES_EXHAUSTED
STATUS_DLL_INIT_FAILED
STATUS_DLL_INIT_FAILED_LOGOFF
STATUS_DLL_MIGHT_BE_INCOMPATIBLE
STATUS_DLL_MIGHT_BE_INSECURE
STATUS_DLL_NOT_FOUND
STATUS_DOMAIN_CONTROLLER_NOT_FOUND
STATUS_DOMAIN_CTRLR_CONFIG_ERROR
STATUS_DOMAIN_EXISTS
STATUS_DOMAIN_LIMIT_EXCEEDED
STATUS_DOMAIN_TRUST_INCONSISTENT
STATUS_DOWNGRADE_DETECTED
STATUS_DRIVER_BLOCKED
STATUS_DRIVER_BLOCKED_CRITICAL
STATUS_DRIVER_CANCEL_TIMEOUT
STATUS_DRIVER_DATABASE_ERROR
STATUS_DRIVER_ENTRYPOINT_NOT_FOUND
STATUS_DRIVER_FAILED_PRIOR_UNLOAD
STATUS_DRIVER_FAILED_SLEEP
STATUS_DRIVER_INTERNAL_ERROR
STATUS_DRIVER_ORDINAL_NOT_FOUND
STATUS_DRIVER_PROCESS_TERMINATED
STATUS_DRIVERS_LEAKING_LOCKED_PAGES
STATUS_DRIVER_UNABLE_TO_LOAD
STATUS_DS_ADMIN_LIMIT_EXCEEDED
STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER
STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS
STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED
STATUS_DS_BUSY
STATUS_DS_CANT_MOD_OBJ_CLASS
STATUS_DS_CANT_MOD_PRIMARYGROUPID
STATUS_DS_CANT_ON_NON_LEAF
STATUS_DS_CANT_ON_RDN
STATUS_DS_CANT_START
STATUS_DS_CROSS_DOM_MOVE_FAILED
STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST
STATUS_DS_DOMAIN_RENAME_IN_PROGRESS
STATUS_DS_DUPLICATE_ID_FOUND
STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST
STATUS_DS_GC_NOT_AVAILABLE
STATUS_DS_GC_REQUIRED
STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER
STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER
STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER
STATUS_DS_GROUP_CONVERSION_ERROR
STATUS_DS_HAVE_PRIMARY_MEMBERS
STATUS_DS_INCORRECT_ROLE_OWNER
STATUS_DS_INIT_FAILURE
STATUS_DS_INIT_FAILURE_CONSOLE
STATUS_DS_INVALID_ATTRIBUTE_SYNTAX
STATUS_DS_INVALID_GROUP_TYPE
STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER
STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY
STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED
STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY
STATUS_DS_NAME_NOT_UNIQUE
STATUS_DS_NO_ATTRIBUTE_OR_VALUE
STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS
STATUS_DS_NO_MORE_RIDS
STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN
STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN
STATUS_DS_NO_RIDS_ALLOCATED
STATUS_DS_OBJ_CLASS_VIOLATION
STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS
STATUS_DS_OID_NOT_FOUND
STATUS_DS_RIDMGR_DISABLED
STATUS_DS_RIDMGR_INIT_ERROR
STATUS_DS_SAM_INIT_FAILURE
STATUS_DS_SAM_INIT_FAILURE_CONSOLE
STATUS_DS_SENSITIVE_GROUP_VIOLATION
STATUS_DS_SHUTTING_DOWN
STATUS_DS_SRC_SID_EXISTS_IN_FOREST
STATUS_DS_UNAVAILABLE
STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER
STATUS_DS_VERSION_CHECK_FAILURE
STATUS_DUPLICATE_NAME
STATUS_DUPLICATE_OBJECTID
STATUS_DUPLICATE_PRIVILEGES
STATUS_DYNAMIC_CODE_BLOCKED
STATUS_EA_CORRUPT_ERROR
STATUS_EA_LIST_INCONSISTENT
STATUS_EAS_NOT_SUPPORTED
STATUS_EA_TOO_LARGE
STATUS_EFS_ALG_BLOB_TOO_BIG
STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION
STATUS_ELEVATION_REQUIRED
STATUS_ENCLAVE_FAILURE
STATUS_ENCLAVE_IS_TERMINATING
STATUS_ENCLAVE_NOT_TERMINATED
STATUS_ENCLAVE_VIOLATION
STATUS_ENCOUNTERED_WRITE_IN_PROGRESS
STATUS_ENCRYPTED_IO_NOT_POSSIBLE
STATUS_ENCRYPTING_METADATA_DISALLOWED
STATUS_ENCRYPTION_DISABLED
STATUS_ENCRYPTION_FAILED
STATUS_END_OF_FILE
STATUS_END_OF_MEDIA
STATUS_ENLISTMENT_NOT_FOUND
STATUS_ENLISTMENT_NOT_SUPERIOR
STATUS_ENTRYPOINT_NOT_FOUND
STATUS_EOF_ON_GHOSTED_RANGE
STATUS_EOM_OVERFLOW
STATUS_ERROR_PROCESS_NOT_IN_JOB
STATUS_EVALUATION_EXPIRATION
STATUS_EVENT_DONE
STATUS_EVENTLOG_CANT_START
STATUS_EVENTLOG_FILE_CHANGED
STATUS_EVENTLOG_FILE_CORRUPT
STATUS_EVENT_PENDING
STATUS_EXECUTABLE_MEMORY_WRITE
STATUS_EXPIRED_HANDLE
STATUS_EXTERNAL_BACKING_PROVIDER_UNKNOWN
STATUS_EXTERNAL_SYSKEY_NOT_SUPPORTED
STATUS_EXTRANEOUS_INFORMATION
STATUS_FAIL_CHECK
STATUS_FAILED_DRIVER_ENTRY
STATUS_FAILED_STACK_SWITCH
STATUS_FAIL_FAST_EXCEPTION
STATUS_FASTPATH_REJECTED
STATUS_FATAL_APP_EXIT
STATUS_FATAL_MEMORY_EXHAUSTION
STATUS_FATAL_USER_CALLBACK_EXCEPTION
STATUS_FILE_CHECKED_OUT
STATUS_FILE_CLOSED
STATUS_FILE_CORRUPT_ERROR
STATUS_FILE_DELETED
STATUS_FILE_ENCRYPTED
STATUS_FILE_FORCED_CLOSED
STATUS_FILE_HANDLE_REVOKED
STATUS_FILE_IDENTITY_NOT_PERSISTENT
STATUS_FILE_INVALID
STATUS_FILE_IS_A_DIRECTORY
STATUS_FILE_IS_OFFLINE
STATUS_FILE_LOCK_CONFLICT
STATUS_FILE_LOCKED_WITH_ONLY_READERS
STATUS_FILE_LOCKED_WITH_WRITERS
STATUS_FILEMARK_DETECTED
STATUS_FILE_METADATA_OPTIMIZATION_IN_PROGRESS
STATUS_FILE_NOT_AVAILABLE
STATUS_FILE_NOT_ENCRYPTED
STATUS_FILE_NOT_SUPPORTED
STATUS_FILE_PROTECTED_UNDER_DPL
STATUS_FILE_RENAMED
STATUS_FILE_SNAP_IN_PROGRESS
STATUS_FILE_SNAP_INVALID_PARAMETER
STATUS_FILE_SNAP_IO_NOT_COORDINATED
STATUS_FILE_SNAP_MODIFY_NOT_SUPPORTED
STATUS_FILE_SNAP_UNEXPECTED_ERROR
STATUS_FILE_SNAP_USER_SECTION_NOT_SUPPORTED
STATUS_FILES_OPEN
STATUS_FILE_SYSTEM_LIMITATION
STATUS_FILE_SYSTEM_VIRTUALIZATION_BUSY
STATUS_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION
STATUS_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT
STATUS_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN
STATUS_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE
STATUS_FILE_TOO_LARGE
STATUS_FIRMWARE_IMAGE_INVALID
STATUS_FIRMWARE_SLOT_INVALID
STATUS_FIRMWARE_UPDATED
STATUS_FLOAT_DENORMAL_OPERAND
STATUS_FLOAT_DIVIDE_BY_ZERO
STATUS_FLOATED_SECTION
STATUS_FLOAT_INEXACT_RESULT
STATUS_FLOAT_INVALID_OPERATION
STATUS_FLOAT_MULTIPLE_FAULTS
STATUS_FLOAT_MULTIPLE_TRAPS
STATUS_FLOAT_OVERFLOW
STATUS_FLOAT_STACK_CHECK
STATUS_FLOAT_UNDERFLOW
STATUS_FLOPPY_BAD_REGISTERS
STATUS_FLOPPY_ID_MARK_NOT_FOUND
STATUS_FLOPPY_UNKNOWN_ERROR
STATUS_FLOPPY_VOLUME
STATUS_FLOPPY_WRONG_CYLINDER
STATUS_FLT_ALREADY_ENLISTED
STATUS_FLT_BUFFER_TOO_SMALL
STATUS_FLT_CBDQ_DISABLED
STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND
STATUS_FLT_CONTEXT_ALREADY_DEFINED
STATUS_FLT_CONTEXT_ALREADY_LINKED
STATUS_FLT_DELETING_OBJECT
STATUS_FLT_DISALLOW_FAST_IO
STATUS_FLT_DO_NOT_ATTACH
STATUS_FLT_DO_NOT_DETACH
STATUS_FLT_DUPLICATE_ENTRY
STATUS_FLT_FILTER_NOT_FOUND
STATUS_FLT_FILTER_NOT_READY
STATUS_FLT_INSTANCE_ALTITUDE_COLLISION
STATUS_FLT_INSTANCE_NAME_COLLISION
STATUS_FLT_INSTANCE_NOT_FOUND
STATUS_FLT_INTERNAL_ERROR
STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST
STATUS_FLT_INVALID_CONTEXT_REGISTRATION
STATUS_FLT_INVALID_NAME_REQUEST
STATUS_FLT_IO_COMPLETE
STATUS_FLT_MUST_BE_NONPAGED_POOL
STATUS_FLT_NAME_CACHE_MISS
STATUS_FLT_NO_DEVICE_OBJECT
STATUS_FLT_NO_HANDLER_DEFINED
STATUS_FLT_NOT_INITIALIZED
STATUS_FLT_NOT_SAFE_TO_POST_OPERATION
STATUS_FLT_NO_WAITER_FOR_REPLY
STATUS_FLT_POST_OPERATION_CLEANUP
STATUS_FLT_REGISTRATION_BUSY
STATUS_FLT_VOLUME_ALREADY_MOUNTED
STATUS_FLT_VOLUME_NOT_FOUND
STATUS_FORMS_AUTH_REQUIRED
STATUS_FOUND_OUT_OF_SCOPE
STATUS_FREE_SPACE_TOO_FRAGMENTED
STATUS_FREE_VM_NOT_AT_BASE
STATUS_FS_DRIVER_REQUIRED
STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY
STATUS_FS_METADATA_INCONSISTENT
STATUS_FT_DI_SCAN_REQUIRED
STATUS_FT_MISSING_MEMBER
STATUS_FT_ORPHANING
STATUS_FT_READ_FAILURE
STATUS_FT_READ_FROM_COPY
STATUS_FT_READ_RECOVERY_FROM_BACKUP
STATUS_FT_WRITE_FAILURE
STATUS_FT_WRITE_RECOVERY
STATUS_FULLSCREEN_MODE
STATUS_FVE_ACTION_NOT_ALLOWED
STATUS_FVE_AUTH_INVALID_APPLICATION
STATUS_FVE_AUTH_INVALID_CONFIG
STATUS_FVE_BAD_DATA
STATUS_FVE_BAD_INFORMATION
STATUS_FVE_BAD_METADATA_POINTER
STATUS_FVE_BAD_PARTITION_SIZE
STATUS_FVE_CONV_READ_ERROR
STATUS_FVE_CONV_RECOVERY_FAILED
STATUS_FVE_CONV_WRITE_ERROR
STATUS_FVE_DEBUGGER_ENABLED
STATUS_FVE_DEVICE_LOCKEDOUT
STATUS_FVE_DRY_RUN_FAILED
STATUS_FVE_EDRIVE_DRY_RUN_FAILED
STATUS_FVE_ENH_PIN_INVALID
STATUS_FVE_FAILED_AUTHENTICATION
STATUS_FVE_FAILED_SECTOR_SIZE
STATUS_FVE_FAILED_WRONG_FS
STATUS_FVE_FS_MOUNTED
STATUS_FVE_FS_NOT_EXTENDED
STATUS_FVE_FULL_ENCRYPTION_NOT_ALLOWED_ON_TP_STORAGE
STATUS_FVE_INVALID_DATUM_TYPE
STATUS_FVE_KEYFILE_INVALID
STATUS_FVE_KEYFILE_NOT_FOUND
STATUS_FVE_KEYFILE_NO_VMK
STATUS_FVE_LOCKED_VOLUME
STATUS_FVE_MOR_FAILED
STATUS_FVE_NO_AUTOUNLOCK_MASTER_KEY
STATUS_FVE_NO_FEATURE_LICENSE
STATUS_FVE_NO_LICENSE
STATUS_FVE_NOT_ALLOWED_ON_CLUSTER
STATUS_FVE_NOT_ALLOWED_ON_CSV_STACK
STATUS_FVE_NOT_ALLOWED_TO_UPGRADE_WHILE_CONVERTING
STATUS_FVE_NOT_DATA_VOLUME
STATUS_FVE_NOT_DE_VOLUME
STATUS_FVE_NOT_ENCRYPTED
STATUS_FVE_NOT_OS_VOLUME
STATUS_FVE_OLD_METADATA_COPY
STATUS_FVE_OSV_KSR_NOT_ALLOWED
STATUS_FVE_OVERLAPPED_UPDATE
STATUS_FVE_PARTIAL_METADATA
STATUS_FVE_PIN_INVALID
STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED
STATUS_FVE_PROTECTION_CANNOT_BE_DISABLED
STATUS_FVE_PROTECTION_DISABLED
STATUS_FVE_RAW_ACCESS
STATUS_FVE_RAW_BLOCKED
STATUS_FVE_REBOOT_REQUIRED
STATUS_FVE_SECUREBOOT_CONFIG_CHANGE
STATUS_FVE_SECUREBOOT_DISABLED
STATUS_FVE_TOO_SMALL
STATUS_FVE_TPM_DISABLED
STATUS_FVE_TPM_INVALID_PCR
STATUS_FVE_TPM_NO_VMK
STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO
STATUS_FVE_TRANSIENT_STATE
STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG
STATUS_FVE_VOLUME_EXTEND_PREVENTS_EOW_DECRYPT
STATUS_FVE_VOLUME_NOT_BOUND
STATUS_FVE_VOLUME_TOO_SMALL
STATUS_FVE_WIPE_CANCEL_NOT_APPLICABLE
STATUS_FVE_WIPE_NOT_ALLOWED_ON_TP_STORAGE
STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER
STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER
STATUS_FWP_ALREADY_EXISTS
STATUS_FWP_BUILTIN_OBJECT
STATUS_FWP_CALLOUT_NOT_FOUND
STATUS_FWP_CALLOUT_NOTIFICATION_FAILED
STATUS_FWP_CANNOT_PEND
STATUS_FWP_CONDITION_NOT_FOUND
STATUS_FWP_CONNECTIONS_DISABLED
STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT
STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER
STATUS_FWP_DROP_NOICMP
STATUS_FWP_DUPLICATE_AUTH_METHOD
STATUS_FWP_DUPLICATE_CONDITION
STATUS_FWP_DUPLICATE_KEYMOD
STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS
STATUS_FWP_EM_NOT_SUPPORTED
STATUS_FWP_FILTER_NOT_FOUND
STATUS_FWP_IKEEXT_NOT_RUNNING
STATUS_FWP_INCOMPATIBLE_AUTH_METHOD
STATUS_FWP_INCOMPATIBLE_CIPHER_TRANSFORM
STATUS_FWP_INCOMPATIBLE_DH_GROUP
STATUS_FWP_INCOMPATIBLE_LAYER
STATUS_FWP_INCOMPATIBLE_SA_STATE
STATUS_FWP_INCOMPATIBLE_TXN
STATUS_FWP_INJECT_HANDLE_CLOSING
STATUS_FWP_INJECT_HANDLE_STALE
STATUS_FWP_IN_USE
STATUS_FWP_INVALID_ACTION_TYPE
STATUS_FWP_INVALID_AUTH_TRANSFORM
STATUS_FWP_INVALID_CIPHER_TRANSFORM
STATUS_FWP_INVALID_DNS_NAME
STATUS_FWP_INVALID_ENUMERATOR
STATUS_FWP_INVALID_FLAGS
STATUS_FWP_INVALID_INTERVAL
STATUS_FWP_INVALID_NET_MASK
STATUS_FWP_INVALID_PARAMETER
STATUS_FWP_INVALID_RANGE
STATUS_FWP_INVALID_TRANSFORM_COMBINATION
STATUS_FWP_INVALID_TUNNEL_ENDPOINT
STATUS_FWP_INVALID_WEIGHT
STATUS_FWP_KEY_DICTATION_INVALID_KEYING_MATERIAL
STATUS_FWP_KEY_DICTATOR_ALREADY_REGISTERED
STATUS_FWP_KM_CLIENTS_ONLY
STATUS_FWP_L2_DRIVER_NOT_READY
STATUS_FWP_LAYER_NOT_FOUND
STATUS_FWP_LIFETIME_MISMATCH
STATUS_FWP_MATCH_TYPE_MISMATCH
STATUS_FWP_NET_EVENTS_DISABLED
STATUS_FWP_NEVER_MATCH
STATUS_FWP_NOT_FOUND
STATUS_FWP_NOTIFICATION_DROPPED
STATUS_FWP_NO_TXN_IN_PROGRESS
STATUS_FWP_NULL_DISPLAY_NAME
STATUS_FWP_NULL_POINTER
STATUS_FWP_OUT_OF_BOUNDS
STATUS_FWP_PROVIDER_CONTEXT_MISMATCH
STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND
STATUS_FWP_PROVIDER_NOT_FOUND
STATUS_FWP_RESERVED
STATUS_FWP_SESSION_ABORTED
STATUS_FWP_STILL_ON
STATUS_FWP_SUBLAYER_NOT_FOUND
STATUS_FWP_TCPIP_NOT_READY
STATUS_FWP_TIMEOUT
STATUS_FWP_TOO_MANY_CALLOUTS
STATUS_FWP_TOO_MANY_SUBLAYERS
STATUS_FWP_TRAFFIC_MISMATCH
STATUS_FWP_TXN_ABORTED
STATUS_FWP_TXN_IN_PROGRESS
STATUS_FWP_TYPE_MISMATCH
STATUS_FWP_WRONG_SESSION
STATUS_FWP_ZERO_LENGTH_ARRAY
STATUS_GDI_HANDLE_LEAK
STATUS_GENERIC_COMMAND_FAILED
STATUS_GENERIC_NOT_MAPPED
STATUS_GHOSTED
STATUS_GPIO_CLIENT_INFORMATION_INVALID
STATUS_GPIO_INCOMPATIBLE_CONNECT_MODE
STATUS_GPIO_INTERRUPT_ALREADY_UNMASKED
STATUS_GPIO_INVALID_REGISTRATION_PACKET
STATUS_GPIO_OPERATION_DENIED
STATUS_GPIO_VERSION_NOT_SUPPORTED
STATUS_GRACEFUL_DISCONNECT
STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED
STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY
STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE
STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET
STATUS_GRAPHICS_ADAPTER_WAS_RESET
STATUS_GRAPHICS_ALLOCATION_BUSY
STATUS_GRAPHICS_ALLOCATION_CLOSED
STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST
STATUS_GRAPHICS_ALLOCATION_INVALID
STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION
STATUS_GRAPHICS_CANNOTCOLORCONVERT
STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN
STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION
STATUS_GRAPHICS_CANT_LOCK_MEMORY
STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION
STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED
STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON
STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED
STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED
STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET
STATUS_GRAPHICS_COPP_NOT_SUPPORTED
STATUS_GRAPHICS_DATASET_IS_EMPTY
STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING
STATUS_GRAPHICS_DDCCI_INVALID_DATA
STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM
STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND
STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH
STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE
STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED
STATUS_GRAPHICS_DEPENDABLE_CHILD_STATUS
STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP
STATUS_GRAPHICS_DRIVER_MISMATCH
STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION
STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET
STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET
STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED
STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST
STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA
STATUS_GRAPHICS_I2C_NOT_SUPPORTED
STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT
STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE
STATUS_GRAPHICS_INDIRECT_DISPLAY_ABANDON_SWAPCHAIN
STATUS_GRAPHICS_INDIRECT_DISPLAY_DEVICE_STOPPED
STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER
STATUS_GRAPHICS_INTERNAL_ERROR
STATUS_GRAPHICS_INVALID_ACTIVE_REGION
STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE
STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE
STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE
STATUS_GRAPHICS_INVALID_CLIENT_TYPE
STATUS_GRAPHICS_INVALID_COLORBASIS
STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE
STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER
STATUS_GRAPHICS_INVALID_DRIVER_MODEL
STATUS_GRAPHICS_INVALID_FREQUENCY
STATUS_GRAPHICS_INVALID_GAMMA_RAMP
STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM
STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN
STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR
STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET
STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE
STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT
STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET
STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE
STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET
STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION
STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE
STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL
STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE
STATUS_GRAPHICS_INVALID_PIXELFORMAT
STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE
STATUS_GRAPHICS_INVALID_POINTER
STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE
STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING
STATUS_GRAPHICS_INVALID_STRIDE
STATUS_GRAPHICS_INVALID_TOTAL_REGION
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE
STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET
STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE
STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET
STATUS_GRAPHICS_INVALID_VIDPN
STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH
STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET
STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET
STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON
STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE
STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED
STATUS_GRAPHICS_LEADLINK_START_DEFERRED
STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED
STATUS_GRAPHICS_MCA_INTERNAL_ERROR
STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED
STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET
STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE
STATUS_GRAPHICS_MODE_NOT_IN_MODESET
STATUS_GRAPHICS_MODE_NOT_PINNED
STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER
STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET
STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE
STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET
STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED
STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED
STATUS_GRAPHICS_NO_ACTIVE_VIDPN
STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS
STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET
STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME
STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT
STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE
STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET
STATUS_GRAPHICS_NO_PREFERRED_MODE
STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN
STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY
STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER
STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER
STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER
STATUS_GRAPHICS_NO_VIDEO_MEMORY
STATUS_GRAPHICS_NO_VIDPNMGR
STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED
STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE
STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR
STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET
STATUS_GRAPHICS_OPM_INTERNAL_ERROR
STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST
STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS
STATUS_GRAPHICS_OPM_INVALID_HANDLE
STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST
STATUS_GRAPHICS_OPM_INVALID_SRM
STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST
STATUS_GRAPHICS_OPM_NOT_SUPPORTED
STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP
STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA
STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP
STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS
STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS
STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS
STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH
STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED
STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED
STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED
STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL
STATUS_GRAPHICS_PARTIAL_DATA_POPULATED
STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY
STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED
STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED
STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY
STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET
STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY
STATUS_GRAPHICS_PRESENT_BUFFER_NOT_BOUND
STATUS_GRAPHICS_PRESENT_DENIED
STATUS_GRAPHICS_PRESENT_INVALID_WINDOW
STATUS_GRAPHICS_PRESENT_MODE_CHANGED
STATUS_GRAPHICS_PRESENT_OCCLUDED
STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED
STATUS_GRAPHICS_PRESENT_UNOCCLUDED
STATUS_GRAPHICS_PVP_HFS_FAILED
STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH
STATUS_GRAPHICS_RESOURCES_NOT_RELATED
STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS
STATUS_GRAPHICS_SKIP_ALLOCATION_PREPARATION
STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET
STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE
STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY
STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED
STATUS_GRAPHICS_STALE_MODESET
STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY
STATUS_GRAPHICS_START_DEFERRED
STATUS_GRAPHICS_TARGET_ALREADY_IN_SET
STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE
STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY
STATUS_GRAPHICS_TOO_MANY_REFERENCES
STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED
STATUS_GRAPHICS_TRY_AGAIN_LATER
STATUS_GRAPHICS_TRY_AGAIN_NOW
STATUS_GRAPHICS_UAB_NOT_SUPPORTED
STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS
STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS
STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE
STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED
STATUS_GRAPHICS_VAIL_STATE_CHANGED
STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES
STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED
STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE
STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED
STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED
STATUS_GRAPHICS_WINDOWDC_NOT_AVAILABLE
STATUS_GRAPHICS_WINDOWLESS_PRESENT_DISABLED
STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE
STATUS_GROUP_EXISTS
STATUS_GUARD_PAGE_VIOLATION
STATUS_GUIDS_EXHAUSTED
STATUS_GUID_SUBSTITUTION_MADE
STATUS_HANDLE_NO_LONGER_VALID
STATUS_HANDLE_NOT_CLOSABLE
STATUS_HANDLE_REVOKED
STATUS_HANDLES_CLOSED
STATUS_HARDWARE_MEMORY_ERROR
STATUS_HASH_NOT_PRESENT
STATUS_HASH_NOT_SUPPORTED
STATUS_HAS_SYSTEM_CRITICAL_FILES
STATUS_HDAUDIO_CONNECTION_LIST_NOT_SUPPORTED
STATUS_HDAUDIO_EMPTY_CONNECTION_LIST
STATUS_HDAUDIO_NO_LOGICAL_DEVICES_CREATED
STATUS_HDAUDIO_NULL_LINKED_LIST_ENTRY
STATUS_HEAP_CORRUPTION
STATUS_HEURISTIC_DAMAGE_POSSIBLE
STATUS_HIBERNATED
STATUS_HIBERNATION_FAILURE
STATUS_HIVE_UNLOADED
STATUS_HMAC_NOT_SUPPORTED
STATUS_HOPLIMIT_EXCEEDED
STATUS_HOST_DOWN
STATUS_HOST_UNREACHABLE
STATUS_HUNG_DISPLAY_DRIVER_THREAD
STATUS_HV_ACCESS_DENIED
STATUS_HV_ACKNOWLEDGED
STATUS_HV_CPUID_FEATURE_VALIDATION_ERROR
STATUS_HV_CPUID_XSAVE_FEATURE_VALIDATION_ERROR
STATUS_HV_EVENT_BUFFER_ALREADY_FREED
STATUS_HV_FEATURE_UNAVAILABLE
STATUS_HV_INACTIVE
STATUS_HV_INSUFFICIENT_BUFFER
STATUS_HV_INSUFFICIENT_BUFFERS
STATUS_HV_INSUFFICIENT_CONTIGUOUS_MEMORY
STATUS_HV_INSUFFICIENT_DEVICE_DOMAINS
STATUS_HV_INSUFFICIENT_MEMORY
STATUS_HV_INSUFFICIENT_ROOT_MEMORY
STATUS_HV_INVALID_ALIGNMENT
STATUS_HV_INVALID_CONNECTION_ID
STATUS_HV_INVALID_CPU_GROUP_ID
STATUS_HV_INVALID_CPU_GROUP_STATE
STATUS_HV_INVALID_DEVICE_ID
STATUS_HV_INVALID_DEVICE_STATE
STATUS_HV_INVALID_HYPERCALL_CODE
STATUS_HV_INVALID_HYPERCALL_INPUT
STATUS_HV_INVALID_LP_INDEX
STATUS_HV_INVALID_PARAMETER
STATUS_HV_INVALID_PARTITION_ID
STATUS_HV_INVALID_PARTITION_STATE
STATUS_HV_INVALID_PORT_ID
STATUS_HV_INVALID_PROXIMITY_DOMAIN_INFO
STATUS_HV_INVALID_REGISTER_VALUE
STATUS_HV_INVALID_SAVE_RESTORE_STATE
STATUS_HV_INVALID_SYNIC_STATE
STATUS_HV_INVALID_VP_INDEX
STATUS_HV_INVALID_VP_STATE
STATUS_HV_INVALID_VTL_STATE
STATUS_HV_NO_DATA
STATUS_HV_NO_RESOURCES
STATUS_HV_NOT_ACKNOWLEDGED
STATUS_HV_NOT_ALLOWED_WITH_NESTED_VIRT_ACTIVE
STATUS_HV_NOT_PRESENT
STATUS_HV_NX_NOT_DETECTED
STATUS_HV_OBJECT_IN_USE
STATUS_HV_OPERATION_DENIED
STATUS_HV_OPERATION_FAILED
STATUS_HV_PAGE_REQUEST_INVALID
STATUS_HV_PARTITION_TOO_DEEP
STATUS_HV_PENDING_PAGE_REQUESTS
STATUS_HV_PROCESSOR_STARTUP_TIMEOUT
STATUS_HV_PROPERTY_VALUE_OUT_OF_RANGE
STATUS_HV_SMX_ENABLED
STATUS_HV_UNKNOWN_PROPERTY
STATUS_ILLEGAL_CHARACTER
STATUS_ILLEGAL_DLL_RELOCATION
STATUS_ILLEGAL_ELEMENT_ADDRESS
STATUS_ILLEGAL_FLOAT_CONTEXT
STATUS_ILLEGAL_FUNCTION
STATUS_ILLEGAL_INSTRUCTION
STATUS_ILL_FORMED_PASSWORD
STATUS_ILL_FORMED_SERVICE_ENTRY
STATUS_IMAGE_ALREADY_LOADED
STATUS_IMAGE_ALREADY_LOADED_AS_DLL
STATUS_IMAGE_AT_DIFFERENT_BASE
STATUS_IMAGE_CERT_EXPIRED
STATUS_IMAGE_CERT_REVOKED
STATUS_IMAGE_CHECKSUM_MISMATCH
STATUS_IMAGE_MACHINE_TYPE_MISMATCH
STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE
STATUS_IMAGE_MP_UP_MISMATCH
STATUS_IMAGE_NOT_AT_BASE
STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT
STATUS_IMPLEMENTATION_LIMIT
StatusIn
STATUS_INCOMPATIBLE_DRIVER_BLOCKED
STATUS_INCOMPATIBLE_FILE_MAP
STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING
STATUS_INCORRECT_ACCOUNT_TYPE
STATUS_INDOUBT_TRANSACTIONS_EXIST
STATUS_INFO_LENGTH_MISMATCH
STATUS_IN_PAGE_ERROR
STATUS_INSTANCE_NOT_AVAILABLE
STATUS_INSTRUCTION_MISALIGNMENT
STATUS_INSUFFICIENT_LOGON_INFO
STATUS_INSUFFICIENT_NVRAM_RESOURCES
STATUS_INSUFFICIENT_POWER
STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE
STATUS_INSUFFICIENT_RESOURCES
STATUS_INSUFF_SERVER_RESOURCES
STATUS_INTEGER_DIVIDE_BY_ZERO
STATUS_INTEGER_OVERFLOW
STATUS_INTERMIXED_KERNEL_EA_OPERATION
STATUS_INTERNAL_DB_CORRUPTION
STATUS_INTERNAL_DB_ERROR
STATUS_INTERNAL_ERROR
STATUS_INTERRUPTED
STATUS_INTERRUPT_STILL_CONNECTED
STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED
STATUS_INVALID_ACCOUNT_NAME
STATUS_INVALID_ACE_CONDITION
STATUS_INVALID_ACL
STATUS_INVALID_ADDRESS
STATUS_INVALID_ADDRESS_COMPONENT
STATUS_INVALID_ADDRESS_WILDCARD
STATUS_INVALID_BLOCK_LENGTH
STATUS_INVALID_BUFFER_SIZE
STATUS_INVALID_CAP
STATUS_INVALID_CID
STATUS_INVALID_COMPUTER_NAME
STATUS_INVALID_CONNECTION
STATUS_INVALID_CRUNTIME_PARAMETER
STATUS_INVALID_DEVICE_OBJECT_PARAMETER
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_DEVICE_STATE
STATUS_INVALID_DISPOSITION
STATUS_INVALID_DOMAIN_ROLE
STATUS_INVALID_DOMAIN_STATE
STATUS_INVALID_EA_FLAG
STATUS_INVALID_EA_NAME
STATUS_INVALID_EXCEPTION_HANDLER
STATUS_INVALID_FIELD_IN_PARAMETER_LIST
STATUS_INVALID_FILE_FOR_SECTION
STATUS_INVALID_GROUP_ATTRIBUTES
STATUS_INVALID_HANDLE
STATUS_INVALID_HW_PROFILE
STATUS_INVALID_ID_AUTHORITY
STATUS_INVALID_IDN_NORMALIZATION
STATUS_INVALID_IMAGE_FORMAT
STATUS_INVALID_IMAGE_HASH
STATUS_INVALID_IMAGE_LE_FORMAT
STATUS_INVALID_IMAGE_NE_FORMAT
STATUS_INVALID_IMAGE_NOT_MZ
STATUS_INVALID_IMAGE_PROTECT
STATUS_INVALID_IMAGE_WIN_16
STATUS_INVALID_IMAGE_WIN_32
STATUS_INVALID_IMAGE_WIN_64
STATUS_INVALID_IMPORT_OF_NON_DLL
STATUS_INVALID_INFO_CLASS
STATUS_INVALID_INITIATOR_TARGET_PATH
STATUS_INVALID_KERNEL_INFO_VERSION
STATUS_INVALID_LABEL
STATUS_INVALID_LDT_DESCRIPTOR
STATUS_INVALID_LDT_OFFSET
STATUS_INVALID_LDT_SIZE
STATUS_INVALID_LEVEL
STATUS_INVALID_LOCK_RANGE
STATUS_INVALID_LOCK_SEQUENCE
STATUS_INVALID_LOGON_HOURS
STATUS_INVALID_LOGON_TYPE
STATUS_INVALID_MEMBER
STATUS_INVALID_MESSAGE
STATUS_INVALID_NETWORK_RESPONSE
STATUS_INVALID_OFFSET_ALIGNMENT
STATUS_INVALID_OPLOCK_PROTOCOL
STATUS_INVALID_OWNER
STATUS_INVALID_PACKAGE_SID_LENGTH
STATUS_INVALID_PAGE_PROTECTION
STATUS_INVALID_PARAMETER
STATUS_INVALID_PARAMETER_1
STATUS_INVALID_PARAMETER_10
STATUS_INVALID_PARAMETER_11
STATUS_INVALID_PARAMETER_12
STATUS_INVALID_PARAMETER_2
STATUS_INVALID_PARAMETER_3
STATUS_INVALID_PARAMETER_4
STATUS_INVALID_PARAMETER_5
STATUS_INVALID_PARAMETER_6
STATUS_INVALID_PARAMETER_7
STATUS_INVALID_PARAMETER_8
STATUS_INVALID_PARAMETER_9
STATUS_INVALID_PARAMETER_MIX
STATUS_INVALID_PEP_INFO_VERSION
STATUS_INVALID_PIPE_STATE
STATUS_INVALID_PLUGPLAY_DEVICE_PATH
STATUS_INVALID_PORT_ATTRIBUTES
STATUS_INVALID_PORT_HANDLE
STATUS_INVALID_PRIMARY_GROUP
STATUS_INVALID_QUOTA_LOWER
STATUS_INVALID_READ_MODE
STATUS_INVALID_RUNLEVEL_SETTING
STATUS_INVALID_SECURITY_DESCR
STATUS_INVALID_SERVER_STATE
STATUS_INVALID_SESSION
STATUS_INVALID_SID
STATUS_INVALID_SIGNATURE
STATUS_INVALID_STATE_TRANSITION
STATUS_INVALID_SUB_AUTHORITY
STATUS_INVALID_SYSTEM_SERVICE
STATUS_INVALID_TASK_INDEX
STATUS_INVALID_TASK_NAME
STATUS_INVALID_THREAD
STATUS_INVALID_TOKEN
STATUS_INVALID_TRANSACTION
STATUS_INVALID_UNWIND_TARGET
STATUS_INVALID_USER_BUFFER
STATUS_INVALID_USER_PRINCIPAL_NAME
STATUS_INVALID_VARIANT
STATUS_INVALID_VIEW_SIZE
STATUS_INVALID_VOLUME_LABEL
STATUS_INVALID_WEIGHT
STATUS_INVALID_WORKSTATION
STATUS_IO_DEVICE_ERROR
STATUS_IO_DEVICE_INVALID_DATA
STATUS_IO_OPERATION_TIMEOUT
STATUS_IO_PREEMPTED
STATUS_IO_PRIVILEGE_FAILED
STATUS_IO_REISSUE_AS_CACHED
STATUS_IO_REPARSE_DATA_INVALID
STATUS_IO_REPARSE_TAG_INVALID
STATUS_IO_REPARSE_TAG_MISMATCH
STATUS_IO_REPARSE_TAG_NOT_HANDLED
STATUS_IO_TIMEOUT
STATUS_IO_UNALIGNED_WRITE
STATUS_IP_ADDRESS_CONFLICT1
STATUS_IP_ADDRESS_CONFLICT2
STATUS_IPSEC_AUTH_FIREWALL_DROP
STATUS_IPSEC_BAD_SPI
STATUS_IPSEC_CLEAR_TEXT_DROP
STATUS_IPSEC_DOSP_BLOCK
STATUS_IPSEC_DOSP_INVALID_PACKET
STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED
STATUS_IPSEC_DOSP_MAX_ENTRIES
STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES
STATUS_IPSEC_DOSP_RECEIVED_MULTICAST
STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED
STATUS_IPSEC_INTEGRITY_CHECK_FAILED
STATUS_IPSEC_INVALID_PACKET
STATUS_IPSEC_QUEUE_OVERFLOW
STATUS_IPSEC_REPLAY_CHECK_FAILED
STATUS_IPSEC_SA_LIFETIME_EXPIRED
STATUS_IPSEC_THROTTLE_DROP
STATUS_IPSEC_WRONG_SA
STATUS_ISSUING_CA_UNTRUSTED
STATUS_ISSUING_CA_UNTRUSTED_KDC
STATUS_JOB_NO_CONTAINER
STATUS_JOB_NOT_EMPTY
STATUS_JOURNAL_DELETE_IN_PROGRESS
STATUS_JOURNAL_ENTRY_DELETED
STATUS_JOURNAL_NOT_ACTIVE
STATUS_KDC_CERT_EXPIRED
STATUS_KDC_CERT_REVOKED
STATUS_KDC_INVALID_REQUEST
STATUS_KDC_UNABLE_TO_REFER
STATUS_KDC_UNKNOWN_ETYPE
STATUS_KERNEL_APC
STATUS_KERNEL_EXECUTABLE_MEMORY_WRITE
STATUS_KEY_DELETED
STATUS_KEY_HAS_CHILDREN
STATUS_LAST_ADMIN
STATUS_LICENSE_QUOTA_EXCEEDED
STATUS_LICENSE_VIOLATION
STATUS_LINK_FAILED
STATUS_LINK_TIMEOUT
STATUS_LM_CROSS_ENCRYPTION_REQUIRED
STATUS_LOCAL_DISCONNECT
STATUS_LOCAL_POLICY_MODIFICATION_NOT_SUPPORTED
STATUS_LOCAL_USER_SESSION_KEY
STATUS_LOCK_NOT_GRANTED
STATUS_LOG_APPENDED_FLUSH_FAILED
STATUS_LOG_ARCHIVE_IN_PROGRESS
STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS
STATUS_LOG_BLOCK_INCOMPLETE
STATUS_LOG_BLOCK_INVALID
STATUS_LOG_BLOCKS_EXHAUSTED
STATUS_LOG_BLOCK_VERSION
STATUS_LOG_CANT_DELETE
STATUS_LOG_CLIENT_ALREADY_REGISTERED
STATUS_LOG_CLIENT_NOT_REGISTERED
STATUS_LOG_CONTAINER_LIMIT_EXCEEDED
STATUS_LOG_CONTAINER_OPEN_FAILED
STATUS_LOG_CONTAINER_READ_FAILED
STATUS_LOG_CONTAINER_STATE_INVALID
STATUS_LOG_CONTAINER_WRITE_FAILED
STATUS_LOG_CORRUPTION_DETECTED
STATUS_LOG_DEDICATED
STATUS_LOG_EPHEMERAL
STATUS_LOG_FILE_FULL
STATUS_LOG_FULL
STATUS_LOG_FULL_HANDLER_IN_PROGRESS
STATUS_LOG_GROWTH_FAILED
STATUS_LOG_HARD_ERROR
STATUS_LOG_INCONSISTENT_SECURITY
STATUS_LOGIN_TIME_RESTRICTION
STATUS_LOG_INVALID_RANGE
STATUS_LOGIN_WKSTA_RESTRICTION
STATUS_LOG_METADATA_CORRUPT
STATUS_LOG_METADATA_FLUSH_FAILED
STATUS_LOG_METADATA_INCONSISTENT
STATUS_LOG_METADATA_INVALID
STATUS_LOG_MULTIPLEXED
STATUS_LOG_NO_RESTART
STATUS_LOG_NOT_ENOUGH_CONTAINERS
STATUS_LOGON_FAILURE
STATUS_LOGON_NOT_GRANTED
STATUS_LOGON_SERVER_CONFLICT
STATUS_LOGON_SESSION_COLLISION
STATUS_LOGON_SESSION_EXISTS
STATUS_LOGON_TYPE_NOT_GRANTED
STATUS_LOG_PINNED
STATUS_LOG_PINNED_ARCHIVE_TAIL
STATUS_LOG_PINNED_RESERVATION
STATUS_LOG_POLICY_ALREADY_INSTALLED
STATUS_LOG_POLICY_CONFLICT
STATUS_LOG_POLICY_INVALID
STATUS_LOG_POLICY_NOT_INSTALLED
STATUS_LOG_READ_CONTEXT_INVALID
STATUS_LOG_READ_MODE_INVALID
STATUS_LOG_RECORD_NONEXISTENT
STATUS_LOG_RECORDS_RESERVED_INVALID
STATUS_LOG_RESERVATION_INVALID
STATUS_LOG_RESIZE_INVALID_SIZE
STATUS_LOG_RESTART_INVALID
STATUS_LOG_SECTOR_INVALID
STATUS_LOG_SECTOR_PARITY_INVALID
STATUS_LOG_SECTOR_REMAPPED
STATUS_LOG_SPACE_RESERVED_INVALID
STATUS_LOG_START_OF_LOG
STATUS_LOG_STATE_INVALID
STATUS_LOG_TAIL_INVALID
STATUS_LONGJUMP
STATUS_LOST_MODE_LOGON_RESTRICTION
STATUS_LOST_WRITEBEHIND_DATA
STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR
STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED
STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR
STATUS_LPAC_ACCESS_DENIED
STATUS_LPC_HANDLE_COUNT_EXCEEDED
STATUS_LPC_INVALID_CONNECTION_USAGE
STATUS_LPC_RECEIVE_BUFFER_EXPECTED
STATUS_LPC_REPLY_LOST
STATUS_LPC_REQUESTS_NOT_ALLOWED
STATUS_LUIDS_EXHAUSTED
STATUS_MAGAZINE_NOT_PRESENT
STATUS_MAPPED_ALIGNMENT
STATUS_MAPPED_FILE_SIZE_ZERO
STATUS_MARKED_TO_DISALLOW_WRITES
STATUS_MARSHALL_OVERFLOW
STATUS_MAX_REFERRALS_EXCEEDED
STATUS_MCA_EXCEPTION
STATUS_MCA_OCCURED
STATUS_MEDIA_CHANGED
STATUS_MEDIA_CHECK
STATUS_MEDIA_WRITE_PROTECTED
STATUS_MEMBER_IN_ALIAS
STATUS_MEMBER_IN_GROUP
STATUS_MEMBER_NOT_IN_ALIAS
STATUS_MEMBER_NOT_IN_GROUP
STATUS_MEMBERS_PRIMARY_GROUP
STATUS_MEMORY_NOT_ALLOCATED
STATUS_MESSAGE_LOST
STATUS_MESSAGE_NOT_FOUND
STATUS_MESSAGE_RETRIEVED
STATUS_MFT_TOO_FRAGMENTED
STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION
STATUS_MISSING_SYSTEMFILE
STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM
STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK
STATUS_MONITOR_INVALID_MANUFACTURE_DATE
STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK
STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK
STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK
STATUS_MONITOR_NO_DESCRIPTOR
STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA
STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT
STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED
STATUS_MORE_ENTRIES
STATUS_MORE_PROCESSING_REQUIRED
STATUS_MOUNT_POINT_NOT_RESOLVED
STATUS_MP_PROCESSOR_MISMATCH
STATUS_MUI_FILE_NOT_FOUND
STATUS_MUI_FILE_NOT_LOADED
STATUS_MUI_INVALID_FILE
STATUS_MUI_INVALID_LOCALE_NAME
STATUS_MUI_INVALID_RC_CONFIG
STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME
STATUS_MULTIPLE_FAULT_VIOLATION
STATUS_MUST_BE_KDC
STATUS_MUTANT_LIMIT_EXCEEDED
STATUS_MUTANT_NOT_OWNED
STATUS_MUTUAL_AUTHENTICATION_FAILED
STATUS_NAME_TOO_LONG
STATUS_NDIS_ADAPTER_NOT_FOUND
STATUS_NDIS_ADAPTER_NOT_READY
STATUS_NDIS_ADAPTER_REMOVED
STATUS_NDIS_ALREADY_MAPPED
STATUS_NDIS_BAD_CHARACTERISTICS
STATUS_NDIS_BAD_VERSION
STATUS_NDIS_BUFFER_TOO_SHORT
STATUS_NDIS_CLOSING
STATUS_NDIS_DEVICE_FAILED
STATUS_NDIS_DOT11_AP_BAND_CURRENTLY_NOT_AVAILABLE
STATUS_NDIS_DOT11_AP_BAND_NOT_ALLOWED
STATUS_NDIS_DOT11_AP_CHANNEL_CURRENTLY_NOT_AVAILABLE
STATUS_NDIS_DOT11_AP_CHANNEL_NOT_ALLOWED
STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED
STATUS_NDIS_DOT11_MEDIA_IN_USE
STATUS_NDIS_DOT11_POWER_STATE_INVALID
STATUS_NDIS_ERROR_READING_FILE
STATUS_NDIS_FILE_NOT_FOUND
STATUS_NDIS_GROUP_ADDRESS_IN_USE
STATUS_NDIS_INDICATION_REQUIRED
STATUS_NDIS_INTERFACE_NOT_FOUND
STATUS_NDIS_INVALID_ADDRESS
STATUS_NDIS_INVALID_DATA
STATUS_NDIS_INVALID_DEVICE_REQUEST
STATUS_NDIS_INVALID_LENGTH
STATUS_NDIS_INVALID_OID
STATUS_NDIS_INVALID_PACKET
STATUS_NDIS_INVALID_PORT
STATUS_NDIS_INVALID_PORT_STATE
STATUS_NDIS_LOW_POWER_STATE
STATUS_NDIS_MEDIA_DISCONNECTED
STATUS_NDIS_MULTICAST_EXISTS
STATUS_NDIS_MULTICAST_FULL
STATUS_NDIS_MULTICAST_NOT_FOUND
STATUS_NDIS_NO_QUEUES
STATUS_NDIS_NOT_SUPPORTED
STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED
STATUS_NDIS_OFFLOAD_PATH_REJECTED
STATUS_NDIS_OFFLOAD_POLICY
STATUS_NDIS_OPEN_FAILED
STATUS_NDIS_PAUSED
STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL
STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL
STATUS_NDIS_REINIT_REQUIRED
STATUS_NDIS_REQUEST_ABORTED
STATUS_NDIS_RESET_IN_PROGRESS
STATUS_NDIS_RESOURCE_CONFLICT
STATUS_NDIS_UNSUPPORTED_MEDIA
STATUS_NDIS_UNSUPPORTED_REVISION
STATUS_ND_QUEUE_OVERFLOW
STATUS_NEEDS_REGISTRATION
STATUS_NEEDS_REMEDIATION
STATUS_NETLOGON_NOT_STARTED
STATUS_NETWORK_ACCESS_DENIED
STATUS_NETWORK_ACCESS_DENIED_EDP
STATUS_NETWORK_BUSY
STATUS_NETWORK_CREDENTIAL_CONFLICT
STATUS_NETWORK_NAME_DELETED
STATUS_NETWORK_OPEN_RESTRICTION
STATUS_NETWORK_SESSION_EXPIRED
STATUS_NETWORK_UNREACHABLE
STATUS_NET_WRITE_FAULT
STATUS_NO_ACE_CONDITION
STATUS_NO_APPLICABLE_APP_LICENSES_FOUND
STATUS_NO_APPLICATION_PACKAGE
STATUS_NO_BROWSER_SERVERS_FOUND
STATUS_NO_CALLBACK_ACTIVE
STATUS_NO_DATA_DETECTED
STATUS_NO_EAS_ON_FILE
STATUS_NO_EFS
STATUS_NO_EVENT_PAIR
STATUS_NO_GUID_TRANSLATION
STATUS_NO_IMPERSONATION_TOKEN
STATUS_NO_INHERITANCE
STATUS_NOINTERFACE
STATUS_NO_IP_ADDRESSES
STATUS_NO_KERB_KEY
STATUS_NO_KEY
STATUS_NO_LDT
STATUS_NO_LINK_TRACKING_IN_TRANSACTION
STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
STATUS_NO_LOGON_SERVERS
STATUS_NOLOGON_SERVER_TRUST_ACCOUNT
STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT
STATUS_NO_LOG_SPACE
STATUS_NO_MATCH
STATUS_NO_MEDIA
STATUS_NO_MEDIA_IN_DEVICE
STATUS_NO_MEMORY
STATUS_NO_MORE_EAS
STATUS_NO_MORE_ENTRIES
STATUS_NO_MORE_FILES
STATUS_NO_MORE_MATCHES
STATUS_NONCONTINUABLE_EXCEPTION
STATUS_NONE_MAPPED
STATUS_NONEXISTENT_EA_ENTRY
STATUS_NONEXISTENT_SECTOR
STATUS_NO_PA_DATA
STATUS_NO_PAGEFILE
STATUS_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND
STATUS_NO_QUOTAS_FOR_ACCOUNT
STATUS_NO_RANGES_PROCESSED
STATUS_NO_RECOVERY_POLICY
STATUS_NO_S4U_PROT_SUPPORT
STATUS_NO_SAVEPOINT_WITH_OPEN_FILES
STATUS_NO_SECRETS
STATUS_NO_SECURITY_CONTEXT
STATUS_NO_SECURITY_ON_OBJECT
STATUS_NO_SPOOL_SPACE
STATUS_NO_SUCH_ALIAS
STATUS_NO_SUCH_DEVICE
STATUS_NO_SUCH_DOMAIN
STATUS_NO_SUCH_FILE
STATUS_NO_SUCH_GROUP
STATUS_NO_SUCH_LOGON_SESSION
STATUS_NO_SUCH_MEMBER
STATUS_NO_SUCH_PACKAGE
STATUS_NO_SUCH_PRIVILEGE
STATUS_NO_SUCH_USER
STATUS_NOT_A_CLOUD_FILE
STATUS_NOT_A_CLOUD_SYNC_ROOT
STATUS_NOT_A_DAX_VOLUME
STATUS_NOT_A_DIRECTORY
STATUS_NOT_ALL_ASSIGNED
STATUS_NOT_ALLOWED_ON_SYSTEM_FILE
STATUS_NOT_APPCONTAINER
STATUS_NOT_A_REPARSE_POINT
STATUS_NOT_A_TIERED_VOLUME
STATUS_NOT_CAPABLE
STATUS_NOT_CLIENT_SESSION
STATUS_NOT_COMMITTED
STATUS_NOT_DAX_MAPPABLE
STATUS_NOT_EXPORT_FORMAT
STATUS_NOT_FOUND
STATUS_NO_TGT_REPLY
STATUS_NOT_GUI_PROCESS
STATUS_NOTHING_TO_TERMINATE
STATUS_NOTIFICATION_GUID_ALREADY_DEFINED
STATUS_NOTIFY_CLEANUP
STATUS_NOTIFY_ENUM_DIR
STATUS_NOT_IMPLEMENTED
STATUS_NOT_LOCKED
STATUS_NOT_LOGON_PROCESS
STATUS_NOT_MAPPED_DATA
STATUS_NOT_MAPPED_VIEW
STATUS_NO_TOKEN
STATUS_NO_TRACKING_SERVICE
STATUS_NOT_READ_FROM_COPY
STATUS_NOT_REDUNDANT_STORAGE
STATUS_NOT_REGISTRY_FILE
STATUS_NO_TRUST_LSA_SECRET
STATUS_NO_TRUST_SAM_ACCOUNT
STATUS_NOT_SAFE_MODE_DRIVER
STATUS_NOT_SAME_DEVICE
STATUS_NOT_SAME_OBJECT
STATUS_NOT_SERVER_SESSION
STATUS_NOT_SNAPSHOT_VOLUME
STATUS_NOT_SUPPORTED
STATUS_NOT_SUPPORTED.
STATUS_NOT_SUPPORTED_IN_APPCONTAINER
STATUS_NOT_SUPPORTED_ON_DAX
STATUS_NOT_SUPPORTED_ON_SBS
STATUS_NOT_SUPPORTED. This failure status is reserved for use of the OS
STATUS_NOT_SUPPORTED_WITH_BTT
STATUS_NOT_TINY_STREAM
STATUS_NO_TXF_METADATA
STATUS_NO_UNICODE_TRANSLATION
STATUS_NO_USER_KEYS
STATUS_NO_USER_SESSION_KEY
STATUS_NO_WORK_DONE
STATUS_NO_YIELD_PERFORMED
STATUS_NT_CROSS_ENCRYPTION_REQUIRED
STATUS_NTLM_BLOCKED
STATUS_NULL_LM_PASSWORD
STATUS_OBJECTID_EXISTS
STATUS_OBJECTID_NOT_FOUND
STATUS_OBJECT_NAME_COLLISION
STATUS_OBJECT_NAME_EXISTS
STATUS_OBJECT_NAME_INVALID
STATUS_OBJECT_NAME_NOT_FOUND
STATUS_OBJECT_NO_LONGER_EXISTS
STATUS_OBJECT_NOT_EXTERNALLY_BACKED
STATUS_OBJECT_PATH_INVALID
STATUS_OBJECT_PATH_NOT_FOUND
STATUS_OBJECT_PATH_SYNTAX_BAD
STATUS_OBJECT_TYPE_MISMATCH
STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED
STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED
STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED
STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED
status of the IRP to indicate whether it's been handled or not.
STATUS_ONLY_IF_CONNECTED
STATUS_OPEN_FAILED
STATUS_OPERATION_IN_PROGRESS
STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION
STATUS_OPLOCK_BREAK_IN_PROGRESS
STATUS_OPLOCK_HANDLE_CLOSED
STATUS_OPLOCK_NOT_GRANTED
STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE
STATUS_ORDINAL_NOT_FOUND
STATUS_ORPHAN_NAME_EXHAUSTED
StatusOut
STATUS_PACKAGE_NOT_AVAILABLE
STATUS_PACKAGE_UPDATING
STATUS_PAGE_FAULT_COPY_ON_WRITE
STATUS_PAGE_FAULT_DEMAND_ZERO
STATUS_PAGE_FAULT_GUARD_PAGE
STATUS_PAGE_FAULT_PAGING_FILE
STATUS_PAGE_FAULT_TRANSITION
STATUS_PAGEFILE_CREATE_FAILED
STATUS_PAGEFILE_QUOTA
STATUS_PAGEFILE_QUOTA_EXCEEDED
STATUS_PARAMETER_QUOTA_EXCEEDED
STATUS_PARITY_ERROR
STATUS_PARTIAL_COPY
STATUS_PARTITION_FAILURE
STATUS_PARTITION_TERMINATING
STATUS_PASSWORD_CHANGE_REQUIRED
STATUS_PASSWORD_EXPIRED
STATUS_PASSWORD_MUST_CHANGE
STATUS_PASSWORD_RESTRICTION
STATUS_PATCH_CONFLICT
STATUS_PATCH_DEFERRED
STATUS_PATH_NOT_COVERED
STATUS_PCP_ATTESTATION_CHALLENGE_NOT_SET
STATUS_PCP_AUTHENTICATION_FAILED
STATUS_PCP_AUTHENTICATION_IGNORED
STATUS_PCP_BUFFER_LENGTH_MISMATCH
STATUS_PCP_BUFFER_TOO_SMALL
STATUS_PCP_CLAIM_TYPE_NOT_SUPPORTED
STATUS_PCP_DEVICE_NOT_FOUND
STATUS_PCP_DEVICE_NOT_READY
STATUS_PCP_ERROR_MASK
STATUS_PCP_FLAG_NOT_SUPPORTED
STATUS_PCP_IFX_RSA_KEY_CREATION_BLOCKED
STATUS_PCP_INTERNAL_ERROR
STATUS_PCP_INVALID_HANDLE
STATUS_PCP_INVALID_PARAMETER
STATUS_PCP_KEY_ALREADY_FINALIZED
STATUS_PCP_KEY_HANDLE_INVALIDATED
STATUS_PCP_KEY_NOT_AIK
STATUS_PCP_KEY_NOT_AUTHENTICATED
STATUS_PCP_KEY_NOT_FINALIZED
STATUS_PCP_KEY_NOT_LOADED
STATUS_PCP_KEY_NOT_SIGNING_KEY
STATUS_PCP_KEY_USAGE_POLICY_INVALID
STATUS_PCP_KEY_USAGE_POLICY_NOT_SUPPORTED
STATUS_PCP_LOCKED_OUT
STATUS_PCP_NO_KEY_CERTIFICATION
STATUS_PCP_NOT_PCR_BOUND
STATUS_PCP_NOT_SUPPORTED
STATUS_PCP_POLICY_NOT_FOUND
STATUS_PCP_PROFILE_NOT_FOUND
STATUS_PCP_RAW_POLICY_NOT_SUPPORTED
STATUS_PCP_SOFT_KEY_ERROR
STATUS_PCP_TICKET_MISSING
STATUS_PCP_TPM_VERSION_NOT_SUPPORTED
STATUS_PCP_UNSUPPORTED_PSS_SALT
STATUS_PCP_VALIDATION_FAILED
STATUS_PCP_WRONG_PARENT
STATUS_PENDING
STATUS_PER_USER_TRUST_QUOTA_EXCEEDED
STATUS_PIPE_BROKEN
STATUS_PIPE_BUSY
STATUS_PIPE_CLOSING
STATUS_PIPE_CONNECTED
STATUS_PIPE_DISCONNECTED
STATUS_PIPE_EMPTY
STATUS_PIPE_LISTENING
STATUS_PIPE_NOT_AVAILABLE
STATUS_PKINIT_CLIENT_FAILURE
STATUS_PKINIT_FAILURE
STATUS_PKINIT_NAME_MISMATCH
STATUS_PKU2U_CERT_FAILURE
STATUS_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND
STATUS_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED
STATUS_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED
STATUS_PLATFORM_MANIFEST_INVALID
STATUS_PLATFORM_MANIFEST_NOT_ACTIVE
STATUS_PLATFORM_MANIFEST_NOT_AUTHORIZED
STATUS_PLATFORM_MANIFEST_NOT_SIGNED
STATUS_PLUGPLAY_NO_DEVICE
STATUS_PLUGPLAY_QUERY_VETOED
STATUS_PNP_BAD_MPS_TABLE
STATUS_PNP_DEVICE_CONFIGURATION_PENDING
STATUS_PNP_DRIVER_CONFIGURATION_INCOMPLETE
STATUS_PNP_DRIVER_CONFIGURATION_NOT_FOUND
STATUS_PNP_DRIVER_PACKAGE_NOT_FOUND
STATUS_PNP_FUNCTION_DRIVER_REQUIRED
STATUS_PNP_INVALID_ID
STATUS_PNP_IRQ_TRANSLATION_FAILED
STATUS_PNP_NO_COMPAT_DRIVERS
STATUS_PNP_REBOOT_REQUIRED
STATUS_PNP_RESTART_ENUMERATION
STATUS_PNP_TRANSLATION_FAILED
STATUS_POLICY_OBJECT_NOT_FOUND
STATUS_POLICY_ONLY_IN_DS
STATUS_PORT_ALREADY_HAS_COMPLETION_LIST
STATUS_PORT_ALREADY_SET
STATUS_PORT_CLOSED
STATUS_PORT_CONNECTION_REFUSED
STATUS_PORT_DISCONNECTED
STATUS_PORT_DO_NOT_DISTURB
STATUS_PORT_MESSAGE_TOO_LONG
STATUS_PORT_NOT_SET
STATUS_PORT_UNREACHABLE
STATUS_POSSIBLE_DEADLOCK
STATUS_POWER_STATE_INVALID
STATUS_PREDEFINED_HANDLE
STATUS_PRENT4_MACHINE_ACCOUNT
STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED
STATUS_PRINT_CANCELLED
STATUS_PRINT_QUEUE_FULL
STATUS_PRIVILEGED_INSTRUCTION
STATUS_PRIVILEGE_NOT_HELD
STATUS_PROACTIVE_SCAN_IN_PROGRESS
STATUS_PROCEDURE_NOT_FOUND
STATUS_PROCESS_CLONED
STATUS_PROCESS_IN_JOB
STATUS_PROCESS_IS_PROTECTED
STATUS_PROCESS_IS_TERMINATING
STATUS_PROCESS_NOT_IN_JOB
STATUS_PROFILING_AT_LIMIT
STATUS_PROFILING_NOT_STARTED
STATUS_PROFILING_NOT_STOPPED
STATUS_PROPSET_NOT_FOUND
STATUS_PROTOCOL_NOT_SUPPORTED
STATUS_PROTOCOL_UNREACHABLE
STATUS_PTE_CHANGED
STATUS_PURGE_FAILED
STATUS_PWD_HISTORY_CONFLICT
STATUS_PWD_TOO_LONG
STATUS_PWD_TOO_RECENT
STATUS_PWD_TOO_SHORT
STATUS_QUERY_STORAGE_ERROR
STATUS_QUIC_HANDSHAKE_FAILURE
STATUS_QUIC_VER_NEG_FAILURE
STATUS_QUOTA_ACTIVITY
STATUS_QUOTA_EXCEEDED
STATUS_QUOTA_LIST_INCONSISTENT
STATUS_QUOTA_NOT_ENABLED
STATUS_RANGE_LIST_CONFLICT
STATUS_RANGE_NOT_FOUND
STATUS_RANGE_NOT_LOCKED
STATUS_RDBSS_CONTINUE_OPERATION
STATUS_RDBSS_POST_OPERATION
STATUS_RDBSS_RESTART_OPERATION
STATUS_RDBSS_RETRY_LOOKUP
STATUS_RDP_PROTOCOL_ERROR
STATUS_RECEIVE_EXPEDITED
STATUS_RECEIVE_PARTIAL
STATUS_RECEIVE_PARTIAL_EXPEDITED
STATUS_RECOVERY_FAILURE
STATUS_RECOVERY_NOT_NEEDED
STATUS_RECURSIVE_DISPATCH
STATUS_REDIRECTOR_HAS_OPEN_HANDLES
STATUS_REDIRECTOR_NOT_STARTED
STATUS_REDIRECTOR_PAUSED
STATUS_REDIRECTOR_STARTED
STATUS_REGISTRY_CORRUPT
STATUS_REGISTRY_HIVE_RECOVERED
STATUS_REGISTRY_IO_FAILED
STATUS_REGISTRY_QUOTA_LIMIT
STATUS_REGISTRY_RECOVERED
STATUS_REG_NAT_CONSUMPTION
STATUS_REINITIALIZATION_NEEDED
STATUS_REMOTE_DISCONNECT
STATUS_REMOTE_FILE_VERSION_MISMATCH
STATUS_REMOTE_NOT_LISTENING
STATUS_REMOTE_RESOURCES
STATUS_REMOTE_SESSION_LIMIT
STATUS_REMOTE_STORAGE_MEDIA_ERROR
STATUS_REMOTE_STORAGE_NOT_ACTIVE
STATUS_REPAIR_NEEDED
STATUS_REPARSE
STATUS_REPARSE_ATTRIBUTE_CONFLICT
STATUS_REPARSE_GLOBAL
STATUS_REPARSE_OBJECT
STATUS_REPARSE_POINT_ENCOUNTERED
STATUS_REPARSE_POINT_NOT_RESOLVED
STATUS_REPLY_MESSAGE_MISMATCH
STATUS_REQUEST_ABORTED
STATUS_REQUEST_CANCELED
STATUS_REQUEST_NOT_ACCEPTED
STATUS_REQUEST_OUT_OF_SEQUENCE
STATUS_REQUEST_PAUSED
STATUS_RESIDENT_FILE_NOT_SUPPORTED
STATUS_RESOURCE_DATA_NOT_FOUND
STATUS_RESOURCE_ENUM_USER_STOP
STATUS_RESOURCE_IN_USE
STATUS_RESOURCE_LANG_NOT_FOUND
STATUS_RESOURCEMANAGER_NOT_FOUND
STATUS_RESOURCEMANAGER_READ_ONLY
STATUS_RESOURCE_NAME_NOT_FOUND
STATUS_RESOURCE_NOT_OWNED
STATUS_RESOURCE_REQUIREMENTS_CHANGED
STATUS_RESOURCE_TYPE_NOT_FOUND
STATUS_RESTART_BOOT_APPLICATION
STATUS_RESUME_HIBERNATION
STATUS_RETRY
STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT
STATUS_REVISION_MISMATCH
STATUS_REVOCATION_OFFLINE_C
STATUS_REVOCATION_OFFLINE_KDC
STATUS_RING_NEWLY_EMPTY
STATUS_RING_PREVIOUSLY_ABOVE_QUOTA
STATUS_RING_PREVIOUSLY_EMPTY
STATUS_RING_PREVIOUSLY_FULL
STATUS_RING_SIGNAL_OPPOSITE_ENDPOINT
STATUS_RKF_ACTIVE_KEY
STATUS_RKF_BLOB_FULL
STATUS_RKF_DUPLICATE_KEY
STATUS_RKF_FILE_BLOCKED
STATUS_RKF_KEY_NOT_FOUND
STATUS_RKF_STORE_FULL
STATUS_RM_ALREADY_STARTED
STATUS_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT
STATUS_RM_DISCONNECTED
STATUS_RM_METADATA_CORRUPT
STATUS_RM_NOT_ACTIVE
STATUS_ROLLBACK_TIMER_EXPIRED
STATUS_RTPM_CONTEXT_COMPLETE
STATUS_RTPM_CONTEXT_CONTINUE
STATUS_RTPM_INVALID_CONTEXT
STATUS_RTPM_NO_RESULT
STATUS_RTPM_PCR_READ_INCOMPLETE
STATUS_RTPM_UNSUPPORTED_CMD
STATUS_RUNLEVEL_SWITCH_AGENT_TIMEOUT
STATUS_RUNLEVEL_SWITCH_IN_PROGRESS
STATUS_RUNLEVEL_SWITCH_TIMEOUT
STATUS_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED
STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET
STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE
STATUS_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER
STATUS_RXACT_COMMIT_FAILURE
STATUS_RXACT_COMMIT_NECESSARY
STATUS_RXACT_COMMITTED
STATUS_RXACT_INVALID_STATE
STATUS_RXACT_STATE_CREATED
STATUS_SAM_INIT_FAILURE
STATUS_SAM_NEED_BOOTKEY_FLOPPY
STATUS_SAM_NEED_BOOTKEY_PASSWORD
STATUS_SCRUB_DATA_DISABLED
STATUS_SECCORE_INVALID_COMMAND
STATUS_SECONDARY_IC_PROVIDER_NOT_REGISTERED
STATUS_SECRET_TOO_LONG
STATUS_SECTION_NOT_EXTENDED
STATUS_SECTION_NOT_IMAGE
STATUS_SECTION_PROTECTION
STATUS_SECTION_TOO_BIG
STATUS_SECUREBOOT_FILE_REPLACED
STATUS_SECUREBOOT_INVALID_POLICY
STATUS_SECUREBOOT_NOT_BASE_POLICY
STATUS_SECUREBOOT_NOT_ENABLED
STATUS_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY
STATUS_SECUREBOOT_PLATFORM_ID_MISMATCH
STATUS_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION
STATUS_SECUREBOOT_POLICY_NOT_AUTHORIZED
STATUS_SECUREBOOT_POLICY_NOT_SIGNED
STATUS_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND
STATUS_SECUREBOOT_POLICY_ROLLBACK_DETECTED
STATUS_SECUREBOOT_POLICY_UNKNOWN
STATUS_SECUREBOOT_POLICY_UPGRADE_MISMATCH
STATUS_SECUREBOOT_POLICY_VIOLATION
STATUS_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING
STATUS_SECUREBOOT_ROLLBACK_DETECTED
STATUS_SECURITY_STREAM_IS_INCONSISTENT
STATUS_SEGMENT_NOTIFICATION
STATUS_SEMAPHORE_LIMIT_EXCEEDED
STATUS_SERIAL_COUNTER_TIMEOUT
STATUS_SERIAL_MORE_WRITES
STATUS_SERIAL_NO_DEVICE_INITED
STATUS_SERVER_DISABLED
STATUS_SERVER_HAS_OPEN_HANDLES
STATUS_SERVER_NOT_DISABLED
STATUS_SERVER_SHUTDOWN_IN_PROGRESS
STATUS_SERVER_SID_MISMATCH
STATUS_SERVER_UNAVAILABLE
STATUS_SERVICE_NOTIFICATION
STATUS_SERVICES_FAILED_AUTOSTART
STATUS_SET_CONTEXT_DENIED
STATUS_SETMARK_DETECTED
STATUS_SHARED_IRQ_BUSY
STATUS_SHARED_POLICY
STATUS_SHARE_UNAVAILABLE
STATUS_SHARING_PAUSED
STATUS_SHARING_VIOLATION
STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME
STATUS_SHUTDOWN_IN_PROGRESS
STATUS_SINGLE_STEP
STATUS_SMARTCARD_CARD_BLOCKED
STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED
STATUS_SMARTCARD_CERT_EXPIRED
STATUS_SMARTCARD_CERT_REVOKED
STATUS_SMARTCARD_IO_ERROR
STATUS_SMARTCARD_LOGON_REQUIRED
STATUS_SMARTCARD_NO_CARD
STATUS_SMARTCARD_NO_CERTIFICATE
STATUS_SMARTCARD_NO_KEY_CONTAINER
STATUS_SMARTCARD_NO_KEYSET
STATUS_SMARTCARD_SILENT_CONTEXT
STATUS_SMARTCARD_SUBSYSTEM_FAILURE
STATUS_SMARTCARD_WRONG_PIN
STATUS_SMB1_NOT_AVAILABLE
STATUS_SMB_BAD_CLUSTER_DIALECT
STATUS_SMB_GUEST_LOGON_BLOCKED
STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP
STATUS_SMI_PRIMITIVE_INSTALLER_FAILED
STATUS_SMR_GARBAGE_COLLECTION_REQUIRED
STATUS_SOME_NOT_MAPPED
STATUS_SOURCE_ELEMENT_EMPTY
STATUS_SPACES_ALLOCATION_SIZE_INVALID
STATUS_SPACES_COMPLETE
STATUS_SPACES_CORRUPT_METADATA
STATUS_SPACES_DRIVE_LOST_DATA
STATUS_SPACES_DRIVE_NOT_READY
STATUS_SPACES_DRIVE_OPERATIONAL_STATE_INVALID
STATUS_SPACES_DRIVE_REDUNDANCY_INVALID
STATUS_SPACES_DRIVE_SECTOR_SIZE_INVALID
STATUS_SPACES_DRIVE_SPLIT
STATUS_SPACES_DRT_FULL
STATUS_SPACES_ENCLOSURE_AWARE_INVALID
STATUS_SPACES_ENTRY_INCOMPLETE
STATUS_SPACES_ENTRY_INVALID
STATUS_SPACES_EXTENDED_ERROR
STATUS_SPACES_FAULT_DOMAIN_TYPE_INVALID
STATUS_SPACES_INCONSISTENCY
STATUS_SPACES_INTERLEAVE_LENGTH_INVALID
STATUS_SPACES_LOG_NOT_READY
STATUS_SPACES_MAP_REQUIRED
STATUS_SPACES_MARK_DIRTY
STATUS_SPACES_NO_REDUNDANCY
STATUS_SPACES_NOT_ENOUGH_DRIVES
STATUS_SPACES_NUMBER_OF_COLUMNS_INVALID
STATUS_SPACES_NUMBER_OF_DATA_COPIES_INVALID
STATUS_SPACES_NUMBER_OF_GROUPS_INVALID
STATUS_SPACES_PAUSE
STATUS_SPACES_PROVISIONING_TYPE_INVALID
STATUS_SPACES_REDIRECT
STATUS_SPACES_REPAIRED
STATUS_SPACES_RESILIENCY_TYPE_INVALID
STATUS_SPACES_UNSUPPORTED_VERSION
STATUS_SPACES_UPDATE_COLUMN_STATE
STATUS_SPACES_WRITE_CACHE_SIZE_INVALID
STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION
STATUS_SPECIAL_ACCOUNT
STATUS_SPECIAL_GROUP
STATUS_SPECIAL_USER
STATUS_STACK_BUFFER_OVERRUN
STATUS_STACK_OVERFLOW
STATUS_STACK_OVERFLOW_READ
STATUS_STOPPED_ON_SYMLINK
STATUS_STORAGE_LOST_DATA_PERSISTENCE
STATUS_STORAGE_RESERVE_ALREADY_EXISTS
STATUS_STORAGE_RESERVE_DOES_NOT_EXIST
STATUS_STORAGE_RESERVE_ID_INVALID
STATUS_STORAGE_RESERVE_NOT_EMPTY
STATUS_STORAGE_TOPOLOGY_ID_MISMATCH
STATUS_STOWED_EXCEPTION
STATUS_STREAM_MINIVERSION_NOT_FOUND
STATUS_STREAM_MINIVERSION_NOT_VALID
STATUS_STRICT_CFG_VIOLATION
STATUS_STRONG_CRYPTO_NOT_SUPPORTED
STATUS_SUCCESS
STATUS_SUSPEND_COUNT_EXCEEDED
STATUS_SVHDX_ERROR_NOT_AVAILABLE
STATUS_SVHDX_ERROR_STORED
STATUS_SVHDX_NO_INITIATOR
STATUS_SVHDX_RESERVATION_CONFLICT
STATUS_SVHDX_UNIT_ATTENTION_AVAILABLE
STATUS_SVHDX_UNIT_ATTENTION_CAPACITY_DATA_CHANGED
STATUS_SVHDX_UNIT_ATTENTION_OPERATING_DEFINITION_CHANGED
STATUS_SVHDX_UNIT_ATTENTION_REGISTRATIONS_PREEMPTED
STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_PREEMPTED
STATUS_SVHDX_UNIT_ATTENTION_RESERVATIONS_RELEASED
STATUS_SVHDX_VERSION_MISMATCH
STATUS_SVHDX_WRONG_FILE_TYPE
STATUS_SXS_ACTIVATION_CONTEXT_DISABLED
STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT
STATUS_SXS_ASSEMBLY_MISSING
STATUS_SXS_ASSEMBLY_NOT_FOUND
STATUS_SXS_CANT_GEN_ACTCTX
STATUS_SXS_COMPONENT_STORE_CORRUPT
STATUS_SXS_CORRUPT_ACTIVATION_STACK
STATUS_SXS_CORRUPTION
STATUS_SXS_EARLY_DEACTIVATION
STATUS_SXS_FILE_HASH_MISMATCH
STATUS_SXS_FILE_HASH_MISSING
STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY
STATUS_SXS_IDENTITIES_DIFFERENT
STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE
STATUS_SXS_IDENTITY_PARSE_ERROR
STATUS_SXS_INVALID_ACTCTXDATA_FORMAT
STATUS_SXS_INVALID_DEACTIVATION
STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME
STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE
STATUS_SXS_KEY_NOT_FOUND
STATUS_SXS_MANIFEST_FORMAT_ERROR
STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT
STATUS_SXS_MANIFEST_PARSE_ERROR
STATUS_SXS_MANIFEST_TOO_BIG
STATUS_SXS_MULTIPLE_DEACTIVATION
STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET
STATUS_SXS_PROCESS_TERMINATION_REQUESTED
STATUS_SXS_RELEASE_ACTIVATION_CONTEXT
STATUS_SXS_SECTION_NOT_FOUND
STATUS_SXS_SETTING_NOT_REGISTERED
STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY
STATUS_SXS_THREAD_QUERIES_DISABLED
STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE
STATUS_SXS_VERSION_CONFLICT
STATUS_SXS_WRONG_SECTION_TYPE
STATUS_SYMLINK_CLASS_DISABLED
STATUS_SYNCHRONIZATION_REQUIRED
STATUS_SYSTEM_DEVICE_NOT_FOUND
STATUS_SYSTEM_HIVE_TOO_LARGE
STATUS_SYSTEM_IMAGE_BAD_SIGNATURE
STATUS_SYSTEM_INTEGRITY_INVALID_POLICY
STATUS_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED
STATUS_SYSTEM_INTEGRITY_POLICY_VIOLATION
STATUS_SYSTEM_INTEGRITY_ROLLBACK_DETECTED
STATUS_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED
STATUS_SYSTEM_INTEGRITY_TOO_MANY_POLICIES
STATUS_SYSTEM_NEEDS_REMEDIATION
STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION
STATUS_SYSTEM_POWERSTATE_TRANSITION
STATUS_SYSTEM_PROCESS_TERMINATED
STATUS_SYSTEM_SHUTDOWN
STATUS_THREAD_ALREADY_IN_SESSION
STATUS_THREAD_ALREADY_IN_TASK
STATUS_THREAD_IS_TERMINATING
STATUS_THREAD_NOT_IN_PROCESS
STATUS_THREAD_NOT_IN_SESSION
STATUS_THREAD_NOT_RUNNING
STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED
STATUS_THREADPOOL_HANDLE_EXCEPTION
STATUS_THREADPOOL_RELEASED_DURING_OPERATION
STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED
STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED
STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED
STATUS_THREAD_WAS_SUSPENDED
STATUS_TIME_DIFFERENCE_AT_DC
STATUS_TIMEOUT
STATUS_TIMER_NOT_CANCELED
STATUS_TIMER_RESOLUTION_NOT_SET
STATUS_TIMER_RESUME_IGNORED
STATUS_TM_IDENTITY_MISMATCH
STATUS_TM_INITIALIZATION_FAILED
STATUS_TM_VOLATILE
STATUS_TOKEN_ALREADY_IN_USE
STATUS_TOO_LATE
STATUS_TOO_MANY_ADDRESSES
STATUS_TOO_MANY_COMMANDS
STATUS_TOO_MANY_CONTEXT_IDS
STATUS_TOO_MANY_GUIDS_REQUESTED
STATUS_TOO_MANY_LINKS
STATUS_TOO_MANY_LUIDS_REQUESTED
STATUS_TOO_MANY_NAMES
STATUS_TOO_MANY_NODES
STATUS_TOO_MANY_OPENED_FILES
STATUS_TOO_MANY_PAGING_FILES
STATUS_TOO_MANY_PRINCIPALS
STATUS_TOO_MANY_SECRETS
STATUS_TOO_MANY_SEGMENT_DESCRIPTORS
STATUS_TOO_MANY_SESSIONS
STATUS_TOO_MANY_SIDS
STATUS_TOO_MANY_THREADS
STATUS_TPM_20_E_ASYMMETRIC
STATUS_TPM_20_E_ATTRIBUTES
STATUS_TPM_20_E_AUTH_CONTEXT
STATUS_TPM_20_E_AUTH_FAIL
STATUS_TPM_20_E_AUTH_MISSING
STATUS_TPM_20_E_AUTHSIZE
STATUS_TPM_20_E_AUTH_TYPE
STATUS_TPM_20_E_AUTH_UNAVAILABLE
STATUS_TPM_20_E_BAD_AUTH
STATUS_TPM_20_E_BAD_CONTEXT
STATUS_TPM_20_E_BINDING
STATUS_TPM_20_E_COMMAND_CODE
STATUS_TPM_20_E_COMMAND_SIZE
STATUS_TPM_20_E_CPHASH
STATUS_TPM_20_E_CURVE
STATUS_TPM_20_E_DISABLED
STATUS_TPM_20_E_ECC_CURVE
STATUS_TPM_20_E_ECC_POINT
STATUS_TPM_20_E_EXCLUSIVE
STATUS_TPM_20_E_EXPIRED
STATUS_TPM_20_E_FAILURE
STATUS_TPM_20_E_HANDLE
STATUS_TPM_20_E_HASH
STATUS_TPM_20_E_HIERARCHY
STATUS_TPM_20_E_HMAC
STATUS_TPM_20_E_INITIALIZE
STATUS_TPM_20_E_INSUFFICIENT
STATUS_TPM_20_E_INTEGRITY
STATUS_TPM_20_E_KDF
STATUS_TPM_20_E_KEY
STATUS_TPM_20_E_KEY_SIZE
STATUS_TPM_20_E_MGF
STATUS_TPM_20_E_MODE
STATUS_TPM_20_E_NEEDS_TEST
STATUS_TPM_20_E_NONCE
STATUS_TPM_20_E_NO_RESULT
STATUS_TPM_20_E_NV_AUTHORIZATION
STATUS_TPM_20_E_NV_DEFINED
STATUS_TPM_20_E_NV_LOCKED
STATUS_TPM_20_E_NV_RANGE
STATUS_TPM_20_E_NV_SIZE
STATUS_TPM_20_E_NV_SPACE
STATUS_TPM_20_E_NV_UNINITIALIZED
STATUS_TPM_20_E_PARENT
STATUS_TPM_20_E_PCR
STATUS_TPM_20_E_PCR_CHANGED
STATUS_TPM_20_E_POLICY
STATUS_TPM_20_E_POLICY_CC
STATUS_TPM_20_E_POLICY_FAIL
STATUS_TPM_20_E_PP
STATUS_TPM_20_E_PRIVATE
STATUS_TPM_20_E_RANGE
STATUS_TPM_20_E_REBOOT
STATUS_TPM_20_E_RESERVED_BITS
STATUS_TPM_20_E_SCHEME
STATUS_TPM_20_E_SELECTOR
STATUS_TPM_20_E_SENSITIVE
STATUS_TPM_20_E_SEQUENCE
STATUS_TPM_20_E_SIGNATURE
STATUS_TPM_20_E_SIZE
STATUS_TPM_20_E_SYMMETRIC
STATUS_TPM_20_E_TAG
STATUS_TPM_20_E_TICKET
STATUS_TPM_20_E_TOO_MANY_CONTEXTS
STATUS_TPM_20_E_TYPE
STATUS_TPM_20_E_UNBALANCED
STATUS_TPM_20_E_UPGRADE
STATUS_TPM_20_E_VALUE
STATUS_TPM_ACCESS_DENIED
STATUS_TPM_AREA_LOCKED
STATUS_TPM_AUDITFAIL_SUCCESSFUL
STATUS_TPM_AUDITFAIL_UNSUCCESSFUL
STATUS_TPM_AUDITFAILURE
STATUS_TPM_AUTH2FAIL
STATUS_TPM_AUTH_CONFLICT
STATUS_TPM_AUTHFAIL
STATUS_TPM_BAD_ATTRIBUTES
STATUS_TPM_BADCONTEXT
STATUS_TPM_BAD_COUNTER
STATUS_TPM_BAD_DATASIZE
STATUS_TPM_BAD_DELEGATE
STATUS_TPM_BAD_HANDLE
STATUS_TPM_BADINDEX
STATUS_TPM_BAD_KEY_PROPERTY
STATUS_TPM_BAD_LOCALITY
STATUS_TPM_BAD_MIGRATION
STATUS_TPM_BAD_MODE
STATUS_TPM_BAD_ORDINAL
STATUS_TPM_BAD_PARAMETER
STATUS_TPM_BAD_PARAM_SIZE
STATUS_TPM_BAD_PRESENCE
STATUS_TPM_BAD_SCHEME
STATUS_TPM_BAD_SIGNATURE
STATUS_TPM_BADTAG
STATUS_TPM_BAD_TYPE
STATUS_TPM_BAD_VERSION
STATUS_TPM_CLEAR_DISABLED
STATUS_TPM_COMMAND_BLOCKED
STATUS_TPM_COMMAND_CANCELED
STATUS_TPM_CONTEXT_GAP
STATUS_TPM_DAA_INPUT_DATA0
STATUS_TPM_DAA_INPUT_DATA1
STATUS_TPM_DAA_ISSUER_SETTINGS
STATUS_TPM_DAA_ISSUER_VALIDITY
STATUS_TPM_DAA_RESOURCES
STATUS_TPM_DAA_STAGE
STATUS_TPM_DAA_TPM_SETTINGS
STATUS_TPM_DAA_WRONG_W
STATUS_TPM_DEACTIVATED
STATUS_TPM_DECRYPT_ERROR
STATUS_TPM_DEFEND_LOCK_RUNNING
STATUS_TPM_DELEGATE_ADMIN
STATUS_TPM_DELEGATE_FAMILY
STATUS_TPM_DELEGATE_LOCK
STATUS_TPM_DISABLED
STATUS_TPM_DISABLED_CMD
STATUS_TPM_DOING_SELFTEST
STATUS_TPM_DUPLICATE_VHANDLE
STATUS_TPM_EMBEDDED_COMMAND_BLOCKED
STATUS_TPM_EMBEDDED_COMMAND_UNSUPPORTED
STATUS_TPM_ENCRYPT_ERROR
STATUS_TPM_ERROR_MASK
STATUS_TPM_FAIL
STATUS_TPM_FAILEDSELFTEST
STATUS_TPM_FAMILYCOUNT
STATUS_TPM_INAPPROPRIATE_ENC
STATUS_TPM_INAPPROPRIATE_SIG
STATUS_TPM_INSTALL_DISABLED
STATUS_TPM_INSUFFICIENT_BUFFER
STATUS_TPM_INVALID_AUTHHANDLE
STATUS_TPM_INVALID_FAMILY
STATUS_TPM_INVALID_HANDLE
STATUS_TPM_INVALID_KEYHANDLE
STATUS_TPM_INVALID_KEYUSAGE
STATUS_TPM_INVALID_PCR_INFO
STATUS_TPM_INVALID_POSTINIT
STATUS_TPM_INVALID_RESOURCE
STATUS_TPM_INVALID_STRUCTURE
STATUS_TPM_IOERROR
STATUS_TPM_KEYNOTFOUND
STATUS_TPM_KEY_NOTSUPPORTED
STATUS_TPM_KEY_OWNER_CONTROL
STATUS_TPM_MA_AUTHORITY
STATUS_TPM_MA_DESTINATION
STATUS_TPM_MA_SOURCE
STATUS_TPM_MA_TICKET_SIGNATURE
STATUS_TPM_MAXNVWRITES
STATUS_TPM_MIGRATEFAIL
STATUS_TPM_NEEDS_SELFTEST
STATUS_TPM_NOCONTEXTSPACE
STATUS_TPM_NO_ENDORSEMENT
STATUS_TPM_NO_NV_PERMISSION
STATUS_TPM_NOOPERATOR
STATUS_TPM_NOSPACE
STATUS_TPM_NOSRK
STATUS_TPM_NOTFIPS
STATUS_TPM_NOT_FOUND
STATUS_TPM_NOT_FULLWRITE
STATUS_TPM_NOTLOCAL
STATUS_TPM_NOTRESETABLE
STATUS_TPM_NOTSEALED_BLOB
STATUS_TPM_NO_WRAP_TRANSPORT
STATUS_TPM_OWNER_CONTROL
STATUS_TPM_OWNER_SET
STATUS_TPM_PERMANENTEK
STATUS_TPM_PER_NOWRITE
STATUS_TPM_PPI_FUNCTION_UNSUPPORTED
STATUS_TPM_READ_ONLY
STATUS_TPM_REQUIRES_SIGN
STATUS_TPM_RESOURCEMISSING
STATUS_TPM_RESOURCES
STATUS_TPM_RETRY
STATUS_TPM_SHA_ERROR
STATUS_TPM_SHA_THREAD
STATUS_TPM_SHORTRANDOM
STATUS_TPM_SIZE
STATUS_TPM_TOO_MANY_CONTEXTS
STATUS_TPM_TOOMANYCONTEXTS
STATUS_TPM_TRANSPORT_NOTEXCLUSIVE
STATUS_TPM_WRITE_LOCKED
STATUS_TPM_WRONG_ENTITYTYPE
STATUS_TPM_WRONGPCRVAL
STATUS_TPM_ZERO_EXHAUST_ENABLED
STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE
STATUS_TRANSACTION_ABORTED
STATUS_TRANSACTIONAL_CONFLICT
STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED
STATUS_TRANSACTION_ALREADY_ABORTED
STATUS_TRANSACTION_ALREADY_COMMITTED
STATUS_TRANSACTION_FREEZE_IN_PROGRESS
STATUS_TRANSACTION_INTEGRITY_VIOLATED
STATUS_TRANSACTION_INVALID_ID
STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER
STATUS_TRANSACTION_INVALID_TYPE
STATUS_TRANSACTIONMANAGER_IDENTITY_MISMATCH
STATUS_TRANSACTIONMANAGER_NOT_FOUND
STATUS_TRANSACTIONMANAGER_NOT_ONLINE
STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION
STATUS_TRANSACTION_MUST_WRITETHROUGH
STATUS_TRANSACTION_NO_MATCH
STATUS_TRANSACTION_NO_RELEASE
STATUS_TRANSACTION_NO_SUPERIOR
STATUS_TRANSACTION_NOT_ACTIVE
STATUS_TRANSACTION_NOT_ENLISTED
STATUS_TRANSACTION_NOT_FOUND
STATUS_TRANSACTION_NOT_JOINED
STATUS_TRANSACTION_NOT_REQUESTED
STATUS_TRANSACTION_NOT_ROOT
STATUS_TRANSACTION_OBJECT_EXPIRED
STATUS_TRANSACTION_PROPAGATION_FAILED
STATUS_TRANSACTION_RECORD_TOO_LONG
STATUS_TRANSACTION_REQUEST_NOT_VALID
STATUS_TRANSACTION_REQUIRED_PROMOTION
STATUS_TRANSACTION_RESPONDED
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET
STATUS_TRANSACTIONS_NOT_FROZEN
STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE
STATUS_TRANSACTION_SUPERIOR_EXISTS
STATUS_TRANSACTION_TIMED_OUT
STATUS_TRANSLATION_COMPLETE
STATUS_TRANSPORT_FULL
STATUS_TRIGGERED_EXECUTABLE_MEMORY_WRITE
STATUS_TRIM_READ_ZERO_NOT_SUPPORTED
STATUS_TRUSTED_DOMAIN_FAILURE
STATUS_TRUSTED_RELATIONSHIP_FAILURE
STATUS_TRUST_FAILURE
STATUS_TS_INCOMPATIBLE_SESSIONS
STATUS_TS_VIDEO_SUBSYSTEM_ERROR
STATUS_TXF_ATTRIBUTE_CORRUPT
STATUS_TXF_DIR_NOT_EMPTY
STATUS_TXF_METADATA_ALREADY_PRESENT
STATUS_UNABLE_TO_DECOMMIT_VM
STATUS_UNABLE_TO_DELETE_SECTION
STATUS_UNABLE_TO_FREE_VM
STATUS_UNABLE_TO_LOCK_MEDIA
STATUS_UNABLE_TO_UNLOAD_MEDIA
STATUS_UNDEFINED_CHARACTER
STATUS_UNDEFINED_SCOPE
STATUS_UNEXPECTED_IO_ERROR
STATUS_UNEXPECTED_MM_CREATE_ERR
STATUS_UNEXPECTED_MM_EXTEND_ERR
STATUS_UNEXPECTED_MM_MAP_ERROR
STATUS_UNEXPECTED_NETWORK_ERROR
STATUS_UNFINISHED_CONTEXT_DELETED
STATUS_UNHANDLED_EXCEPTION
STATUS_UNKNOWN_REVISION
STATUS_UNMAPPABLE_CHARACTER
STATUS_UNRECOGNIZED_MEDIA
STATUS_UNRECOGNIZED_VOLUME
STATUS_UNSATISFIED_DEPENDENCIES
STATUS_UNSUCCESSFUL
STATUS_UNSUPPORTED_COMPRESSION
STATUS_UNSUPPORTED_PREAUTH
STATUS_UNTRUSTED_MOUNT_POINT
STATUS_UNWIND
STATUS_UNWIND_CONSOLIDATE
STATUS_USER2USER_REQUIRED
STATUS_USER_APC
STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED
STATUS_USER_EXISTS
STATUS_USER_MAPPED_FILE
STATUS_USER_SESSION_DELETED
STATUS_VALIDATE_CONTINUE
STATUS_VALID_CATALOG_HASH
STATUS_VALID_IMAGE_HASH
STATUS_VALID_STRONG_CODE_HASH
STATUS_VARIABLE_NOT_FOUND
STATUS_VDM_DISALLOWED
STATUS_VDM_HARD_ERROR
STATUS_VERIFIER_STOP
STATUS_VERIFY_REQUIRED
STATUS_VHD_ALREADY_AT_OR_BELOW_MINIMUM_VIRTUAL_SIZE
STATUS_VHD_BITMAP_MISMATCH
STATUS_VHD_BLOCK_ALLOCATION_FAILURE
STATUS_VHD_BLOCK_ALLOCATION_TABLE_CORRUPT
STATUS_VHD_CHANGE_TRACKING_DISABLED
STATUS_VHD_CHILD_PARENT_ID_MISMATCH
STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH
STATUS_VHD_CHILD_PARENT_TIMESTAMP_MISMATCH
STATUS_VHD_COULD_NOT_COMPUTE_MINIMUM_VIRTUAL_SIZE
STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED
STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT
STATUS_VHD_DRIVE_FOOTER_CHECKSUM_MISMATCH
STATUS_VHD_DRIVE_FOOTER_CORRUPT
STATUS_VHD_DRIVE_FOOTER_MISSING
STATUS_VHD_FORMAT_UNKNOWN
STATUS_VHD_FORMAT_UNSUPPORTED_VERSION
STATUS_VHD_INVALID_BLOCK_SIZE
STATUS_VHD_INVALID_CHANGE_TRACKING_ID
STATUS_VHD_INVALID_FILE_SIZE
STATUS_VHD_INVALID_SIZE
STATUS_VHD_INVALID_STATE
STATUS_VHD_INVALID_TYPE
STATUS_VHD_METADATA_FULL
STATUS_VHD_METADATA_READ_FAILURE
STATUS_VHD_METADATA_WRITE_FAILURE
STATUS_VHD_MISSING_CHANGE_TRACKING_INFORMATION
STATUS_VHD_PARENT_VHD_ACCESS_DENIED
STATUS_VHD_PARENT_VHD_NOT_FOUND
STATUS_VHD_RESIZE_WOULD_TRUNCATE_DATA
STATUS_VHDSET_BACKING_STORAGE_NOT_FOUND
STATUS_VHD_SHARED
STATUS_VHD_SPARSE_HEADER_CHECKSUM_MISMATCH
STATUS_VHD_SPARSE_HEADER_CORRUPT
STATUS_VHD_SPARSE_HEADER_UNSUPPORTED_VERSION
STATUS_VID_CHILD_GPA_PAGE_SET_CORRUPTED
STATUS_VID_DUPLICATE_HANDLER
STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST
STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD
STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED
STATUS_VID_EXCEEDED_KM_CONTEXT_COUNT_LIMIT
STATUS_VID_EXCEEDED_MBP_ENTRY_MAP_LIMIT
STATUS_VID_HANDLER_NOT_PRESENT
STATUS_VID_INVALID_CHILD_GPA_PAGE_SET
STATUS_VID_INVALID_GPA_RANGE_HANDLE
STATUS_VID_INVALID_MEMORY_BLOCK_HANDLE
STATUS_VID_INVALID_MESSAGE_QUEUE_HANDLE
STATUS_VID_INVALID_NUMA_NODE_INDEX
STATUS_VID_INVALID_NUMA_SETTINGS
STATUS_VID_INVALID_OBJECT_NAME
STATUS_VID_INVALID_PPM_HANDLE
STATUS_VID_INVALID_PROCESSOR_STATE
STATUS_VID_KM_INTERFACE_ALREADY_INITIALIZED
STATUS_VID_MBP_ALREADY_LOCKED_USING_RESERVED_PAGE
STATUS_VID_MBP_COUNT_EXCEEDED_LIMIT
STATUS_VID_MB_PROPERTY_ALREADY_SET_RESET
STATUS_VID_MBPS_ARE_LOCKED
STATUS_VID_MB_STILL_REFERENCED
STATUS_VID_MEMORY_BLOCK_LOCK_COUNT_EXCEEDED
STATUS_VID_MESSAGE_QUEUE_ALREADY_EXISTS
STATUS_VID_MESSAGE_QUEUE_CLOSED
STATUS_VID_MESSAGE_QUEUE_NAME_TOO_LONG
STATUS_VID_MMIO_RANGE_DESTROYED
STATUS_VID_NO_MEMORY_BLOCK_NOTIFICATION_QUEUE
STATUS_VID_NOTIFICATION_QUEUE_ALREADY_ASSOCIATED
STATUS_VID_PAGE_RANGE_OVERFLOW
STATUS_VID_PARTITION_ALREADY_EXISTS
STATUS_VID_PARTITION_DOES_NOT_EXIST
STATUS_VID_PARTITION_NAME_NOT_FOUND
STATUS_VID_PARTITION_NAME_TOO_LONG
STATUS_VID_QUEUE_FULL
STATUS_VID_REMOTE_NODE_PARENT_GPA_PAGES_USED
STATUS_VID_RESERVE_PAGE_SET_IS_BEING_USED
STATUS_VID_RESERVE_PAGE_SET_TOO_SMALL
STATUS_VID_SAVED_STATE_CORRUPT
STATUS_VID_SAVED_STATE_INCOMPATIBLE
STATUS_VID_SAVED_STATE_UNRECOGNIZED_ITEM
STATUS_VID_STOP_PENDING
STATUS_VID_TOO_MANY_HANDLERS
STATUS_VID_VIRTUAL_PROCESSOR_LIMIT_EXCEEDED
STATUS_VID_VTL_ACCESS_DENIED
STATUS_VIRTDISK_DISK_ALREADY_OWNED
STATUS_VIRTDISK_DISK_ONLINE_AND_WRITABLE
STATUS_VIRTDISK_NOT_VIRTUAL_DISK
STATUS_VIRTDISK_PROVIDER_NOT_FOUND
STATUS_VIRTDISK_UNSUPPORTED_DISK_SECTOR_SIZE
STATUS_VIRTUAL_CIRCUIT_CLOSED
STATUS_VIRTUAL_DISK_LIMITATION
STATUS_VIRUS_DELETED
STATUS_VIRUS_INFECTED
STATUS_VOLMGR_ALL_DISKS_FAILED
STATUS_VOLMGR_BAD_BOOT_DISK
STATUS_VOLMGR_DATABASE_FULL
STATUS_VOLMGR_DIFFERENT_SECTOR_SIZE
STATUS_VOLMGR_DISK_CONFIGURATION_CORRUPTED
STATUS_VOLMGR_DISK_CONFIGURATION_NOT_IN_SYNC
STATUS_VOLMGR_DISK_CONTAINS_NON_SIMPLE_VOLUME
STATUS_VOLMGR_DISK_DUPLICATE
STATUS_VOLMGR_DISK_DYNAMIC
STATUS_VOLMGR_DISK_ID_INVALID
STATUS_VOLMGR_DISK_INVALID
STATUS_VOLMGR_DISK_LAST_VOTER
STATUS_VOLMGR_DISK_LAYOUT_INVALID
STATUS_VOLMGR_DISK_LAYOUT_NON_BASIC_BETWEEN_BASIC_PARTITIONS
STATUS_VOLMGR_DISK_LAYOUT_NOT_CYLINDER_ALIGNED
STATUS_VOLMGR_DISK_LAYOUT_PARTITIONS_TOO_SMALL
STATUS_VOLMGR_DISK_LAYOUT_PRIMARY_BETWEEN_LOGICAL_PARTITIONS
STATUS_VOLMGR_DISK_LAYOUT_TOO_MANY_PARTITIONS
STATUS_VOLMGR_DISK_MISSING
STATUS_VOLMGR_DISK_NOT_EMPTY
STATUS_VOLMGR_DISK_NOT_ENOUGH_SPACE
STATUS_VOLMGR_DISK_REVECTORING_FAILED
STATUS_VOLMGR_DISK_SECTOR_SIZE_INVALID
STATUS_VOLMGR_DISK_SET_NOT_CONTAINED
STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_MEMBERS
STATUS_VOLMGR_DISK_USED_BY_MULTIPLE_PLEXES
STATUS_VOLMGR_DYNAMIC_DISK_NOT_SUPPORTED
STATUS_VOLMGR_EXTENT_ALREADY_USED
STATUS_VOLMGR_EXTENT_NOT_CONTIGUOUS
STATUS_VOLMGR_EXTENT_NOT_IN_PUBLIC_REGION
STATUS_VOLMGR_EXTENT_NOT_SECTOR_ALIGNED
STATUS_VOLMGR_EXTENT_OVERLAPS_EBR_PARTITION
STATUS_VOLMGR_EXTENT_VOLUME_LENGTHS_DO_NOT_MATCH
STATUS_VOLMGR_FAULT_TOLERANT_NOT_SUPPORTED
STATUS_VOLMGR_INCOMPLETE_DISK_MIGRATION
STATUS_VOLMGR_INCOMPLETE_REGENERATION
STATUS_VOLMGR_INTERLEAVE_LENGTH_INVALID
STATUS_VOLMGR_MAXIMUM_REGISTERED_USERS
STATUS_VOLMGR_MEMBER_INDEX_DUPLICATE
STATUS_VOLMGR_MEMBER_INDEX_INVALID
STATUS_VOLMGR_MEMBER_IN_SYNC
STATUS_VOLMGR_MEMBER_MISSING
STATUS_VOLMGR_MEMBER_NOT_DETACHED
STATUS_VOLMGR_MEMBER_REGENERATING
STATUS_VOLMGR_MIRROR_NOT_SUPPORTED
STATUS_VOLMGR_NO_REGISTERED_USERS
STATUS_VOLMGR_NO_SUCH_USER
STATUS_VOLMGR_NOTIFICATION_RESET
STATUS_VOLMGR_NOT_PRIMARY_PACK
STATUS_VOLMGR_NO_VALID_LOG_COPIES
STATUS_VOLMGR_NUMBER_OF_DISKS_IN_MEMBER_INVALID
STATUS_VOLMGR_NUMBER_OF_DISKS_IN_PLEX_INVALID
STATUS_VOLMGR_NUMBER_OF_DISKS_INVALID
STATUS_VOLMGR_NUMBER_OF_EXTENTS_INVALID
STATUS_VOLMGR_NUMBER_OF_MEMBERS_INVALID
STATUS_VOLMGR_NUMBER_OF_PLEXES_INVALID
STATUS_VOLMGR_PACK_CONFIG_OFFLINE
STATUS_VOLMGR_PACK_CONFIG_ONLINE
STATUS_VOLMGR_PACK_CONFIG_UPDATE_FAILED
STATUS_VOLMGR_PACK_DUPLICATE
STATUS_VOLMGR_PACK_HAS_QUORUM
STATUS_VOLMGR_PACK_ID_INVALID
STATUS_VOLMGR_PACK_INVALID
STATUS_VOLMGR_PACK_LOG_UPDATE_FAILED
STATUS_VOLMGR_PACK_NAME_INVALID
STATUS_VOLMGR_PACK_OFFLINE
STATUS_VOLMGR_PACK_WITHOUT_QUORUM
STATUS_VOLMGR_PARTITION_STYLE_INVALID
STATUS_VOLMGR_PARTITION_UPDATE_FAILED
STATUS_VOLMGR_PLEX_INDEX_DUPLICATE
STATUS_VOLMGR_PLEX_INDEX_INVALID
STATUS_VOLMGR_PLEX_IN_SYNC
STATUS_VOLMGR_PLEX_LAST_ACTIVE
STATUS_VOLMGR_PLEX_MISSING
STATUS_VOLMGR_PLEX_NOT_RAID5
STATUS_VOLMGR_PLEX_NOT_SIMPLE
STATUS_VOLMGR_PLEX_NOT_SIMPLE_SPANNED
STATUS_VOLMGR_PLEX_REGENERATING
STATUS_VOLMGR_PLEX_TYPE_INVALID
STATUS_VOLMGR_PRIMARY_PACK_PRESENT
STATUS_VOLMGR_RAID5_NOT_SUPPORTED
STATUS_VOLMGR_STRUCTURE_SIZE_INVALID
STATUS_VOLMGR_TOO_MANY_NOTIFICATION_REQUESTS
STATUS_VOLMGR_TRANSACTION_IN_PROGRESS
STATUS_VOLMGR_UNEXPECTED_DISK_LAYOUT_CHANGE
STATUS_VOLMGR_VOLUME_CONTAINS_MISSING_DISK
STATUS_VOLMGR_VOLUME_ID_INVALID
STATUS_VOLMGR_VOLUME_LENGTH_INVALID
STATUS_VOLMGR_VOLUME_LENGTH_NOT_SECTOR_SIZE_MULTIPLE
STATUS_VOLMGR_VOLUME_MIRRORED
STATUS_VOLMGR_VOLUME_NOT_MIRRORED
STATUS_VOLMGR_VOLUME_NOT_RETAINED
STATUS_VOLMGR_VOLUME_OFFLINE
STATUS_VOLMGR_VOLUME_RETAINED
STATUS_VOLSNAP_ACTIVATION_TIMEOUT
STATUS_VOLSNAP_BOOTFILE_NOT_VALID
STATUS_VOLSNAP_HIBERNATE_READY
STATUS_VOLSNAP_PREPARE_HIBERNATE
STATUS_VOLUME_DIRTY
STATUS_VOLUME_DISMOUNTED
STATUS_VOLUME_MOUNTED
STATUS_VOLUME_NOT_CLUSTER_ALIGNED
STATUS_VOLUME_NOT_UPGRADED
STATUS_VRF_CFG_AND_IO_ENABLED
STATUS_VSM_DMA_PROTECTION_NOT_IN_USE
STATUS_VSM_NOT_INITIALIZED
STATUS_WAIT_1
STATUS_WAIT_2
STATUS_WAIT_3
STATUS_WAIT_63
STATUS_WAIT_FOR_OPLOCK
STATUS_WAKE_SYSTEM
STATUS_WAKE_SYSTEM_DEBUGGER
STATUS_WAS_LOCKED
STATUS_WAS_UNLOCKED
STATUS_WIM_NOT_BOOTABLE
STATUS_WMI_ALREADY_DISABLED
STATUS_WMI_ALREADY_ENABLED
STATUS_WMI_GUID_DISCONNECTED
STATUS_WMI_GUID_NOT_FOUND
STATUS_WMI_INSTANCE_NOT_FOUND
STATUS_WMI_ITEMID_NOT_FOUND
STATUS_WMI_NOT_SUPPORTED
STATUS_WMI_READ_ONLY
STATUS_WMI_SET_FAILURE
STATUS_WMI_TRY_AGAIN
STATUS_WOF_FILE_RESOURCE_TABLE_CORRUPT
STATUS_WOF_WIM_HEADER_CORRUPT
STATUS_WOF_WIM_RESOURCE_TABLE_CORRUPT
STATUS_WORKING_SET_LIMIT_RANGE
STATUS_WORKING_SET_QUOTA
STATUS_WOW_ASSERTION
STATUS_WRONG_COMPARTMENT
STATUS_WRONG_CREDENTIAL_HANDLE
STATUS_WRONG_EFS
STATUS_WRONG_PASSWORD
STATUS_WRONG_PASSWORD_CORE
STATUS_WRONG_VOLUME
STATUS_WX86_BREAKPOINT
STATUS_WX86_CONTINUE
STATUS_WX86_CREATEWX86TIB
STATUS_WX86_EXCEPTION_CHAIN
STATUS_WX86_EXCEPTION_CONTINUE
STATUS_WX86_EXCEPTION_LASTCHANCE
STATUS_WX86_FLOAT_STACK_CHECK
STATUS_WX86_INTERNAL_ERROR
STATUS_WX86_SINGLE_STEP
STATUS_WX86_UNSIMULATE
STATUS_XMLDSIG_ERROR
STATUS_XML_ENCODING_MISMATCH
STATUS_XML_PARSE_ERROR
statvfs@openssh.com
__stdcall
stdio-forward
stdio forward already specified
stdio forwarding: done
stdio forwarding failed
stdole2.tlbWWW
__std_terminate
Steve Ball
STG_E_ABNORMALAPIEXIT
STG_E_ACCESSDENIED
STG_E_BADBASEADDRESS
STG_E_CANTSAVE
STG_E_CSS_AUTHENTICATION_FAILURE
STG_E_CSS_KEY_NOT_ESTABLISHED
STG_E_CSS_KEY_NOT_PRESENT
STG_E_CSS_REGION_MISMATCH
STG_E_CSS_SCRAMBLED_SECTOR
STG_E_DEVICE_UNRESPONSIVE
STG_E_DISKISWRITEPROTECTED
STG_E_DOCFILECORRUPT
STG_E_DOCFILETOOLARGE
STG_E_EXTANTMARSHALLINGS
STG_E_FILEALREADYEXISTS
STG_E_FILENOTFOUND
STG_E_FIRMWARE_IMAGE_INVALID
STG_E_FIRMWARE_SLOT_INVALID
STG_E_INCOMPLETE
STG_E_INSUFFICIENTMEMORY
STG_E_INUSE
STG_E_INVALIDFLAG
STG_E_INVALIDFUNCTION
STG_E_INVALIDHANDLE
STG_E_INVALIDHEADER
STG_E_INVALIDNAME
STG_E_INVALIDPARAMETER
STG_E_INVALIDPOINTER
STG_E_LOCKVIOLATION
STG_E_MEDIUMFULL
STG_E_NOMOREFILES
STG_E_NOTCURRENT
STG_E_NOTFILEBASEDSTORAGE
STG_E_NOTSIMPLEFORMAT
STG_E_OLDDLL
STG_E_OLDFORMAT
STG_E_PATHNOTFOUND
STG_E_PROPSETMISMATCHED
STG_E_READFAULT
STG_E_RESETS_EXHAUSTED
STG_E_REVERTED
STG_E_SEEKERROR
STG_E_SHAREREQUIRED
STG_E_SHAREVIOLATION
STG_E_STATUS_COPY_PROTECTION_FAILURE
STG_E_TERMINATED
STG_E_TOOMANYOPENFILES
STG_E_UNIMPLEMENTEDFUNCTION
STG_E_UNKNOWN
STG_E_WRITEFAULT
StgOpenStorage
STG_S_BLOCK
STG_S_CANNOTCONSOLIDATE
STG_S_CONSOLIDATIONFAILED
STG_S_CONVERTED
STG_S_MONITORING
STG_S_MULTIPLEOPENS
STG_S_POWER_CYCLE_REQUIRED
STG_S_RETRYNOW
stoi argument out of range
StopContainerActivity
StopEventSignaled
StopMaintenance
StopMessagePump
stopRunningPackage
STORAGE_DEVICE_ABNORMALITY_DETECTED
STORAGE_MINIPORT_ERROR
StoreArgument
StoreCorruptionFixed
STORE_DATA_STRUCTURE_CORRUPTION
STORE_ERROR_LICENSE_REVOKED
STORE_ERROR_PENDING_COM_TRANSACTION
STORE_ERROR_UNLICENSED
STORE_ERROR_UNLICENSED_USER
StorePageFileFull
StorePageFileOffset
StoreRedirectedCameras!
StoreServerLastTime
StoreSessionResult
StoreSupportedPnPDevices!
StoreUpdatedManagementServerAddressList
StoreWriteCompleteFailure
StoreWriteDisabled
StoreWriteIssueFailure
StoreWriteIssueRetry
strcat_s
StrChrIW
StrCmpIW
strcpy_s
StreamBuffer
StreamBufferPtr
stream end
stream error
streamlocalbindmask
streamlocalbindunlink
streamlocal-forward@openssh.com
STREAMS_INTERNAL_ERROR
stream timeout
strerror
StretchBlt
StretchDIBits
StrFormatByteSizeEx
_stricmp
stricthostkeychecking
strictMode
StringCbCopy
StringCbCopy error
StringCbCopy failed
StringCbCopy failed!
StringCbLength error
StringCbLength failed
StringCbLength(icon url) failed
StringCbPrintf failed!
StringCchCatCRLF failed
StringCchCat ']' failed
StringCchCat failed
StringCchCat failed!
StringCchCat failed to append a minus sign
StringCchCat failed to append camera symbolic link
StringCchCat failed to append class guid
StringCchCat failed to append device instance
StringCchCat failed to append semi-colon
StringCchCopy
StringCchCopy(base URL) failed
StringCchCopy '[' failed
StringCchCopy failed
StringCchCopy failed!
StringCchCopy FAILED.
StringCchCopyN failed
StringCchCopyN(hostname) failed
StringCchCopy pszClientOSVersion failed!
StringCchCopy(relative URL) failed
StringCchCopy(szDomain) failed!
StringCchCopy(szUserName) failed!
StringCchCopyW failed
String cchlen failed
StringCchLength failed
StringCchLength failed!
StringCchLength of Load Balance Info failed
StringCchPrintf
StringCchPrintf!
StringCchPrintfA failed
StringCchPrintf failed
StringCchPrintf failed!
StringCchPrintf failed.
StringCchPrintf failed constructing registry string!
StringCchPrintf pszClientIdentifier failed!
StringCchPrintf pszHeader failed!
StringCchPrintf(reg key name) failed
StringChCopy failed!
StringChPrintf failed!
StringFromCLSID
_StringFromFileTime
StringFromGUID2
StringFromIID
string is too large
String loaded from campaign
StringToDword
StringToGUID failed
string too long
strncat_s
strncpy_s
_strnicmp
_strnset
_strnset_s
Strong ETag is not found
_strset_s
StrStrIW
_strtime
_strtoi64
strtok_s
_strtoui64
@SUATAUAVH
SUATAUAWH
@SUATAUH
@SUATAVAWH
SUATAVAWH
@SUATAWH
@SUAUAVH
@SUAVAWH
SubKeyAddress
SubmitThreadpoolWork
SubscriptionResources
SubstituteParamSet
subsystem
Sub System Id
Sub System ID
SubtractRect
SubtreeIncludesRoot
SubtreeRootInstanceId
Suggested active hours changed
SuggestedActiveHoursDialog
SuggestedActiveHoursUsed
SuggestedEndHour
suggestedPollingPeriod
SuggestedStartHour
SummaryAlert
  SUMMARY OPTIONS:
SunMonTueWedThuFriSat
s_UnpackAuthBlob failed
Sun_SSH_1.0*
SUPERVISOR_FULL_POWER_ACQUIRE_FAILURE
SUPERVISOR_LOCK_ACQUIRE_FAILURE
SUPERVISOR_WORKER_THREAD_TIMEOUT
SupportDownload
--supported
Supported
supported_clocks
Supported Clocks
Supported escape sequences:
supported_gpu_target_temp
    Supported GPU_TARGET_TEMP
supported_graphics_clock
Supported products:
	Supported Profiles:
SupportKeyPage::OnListenedEvent
SupportKeyPage::OnListenedInput
SupportKeyPage::OnMessage
SupportKeyPage::OnSetActive
SupportKeyPage::OnWizNext
SupportKeyPage::SetupNextButton
supportMode
SupportMode
SupportMode::Run
supportProvider
suspendClockTimerDuration_ms
suspend ssh
@SUVATAUAVAWH
SUVATAUAVAWH
@SUVATAUAVH
SUVATAVAWH
@SUVATAVH
@SUVAUAVAW
@SUVAUAWH
@SUVAVAWH
SUVAVAWH
@SUVWATAUAVAW
SUVWATAUAVAWD
@SUVWATAUAVAWE3
@SUVWATAUAVAWH
SUVWATAUAVAWH
@SUVWATAUAVH
SUVWATAUAVH
@SUVWATAUAWH
SUVWATAUAWH
@SUVWATAUH
SUVWATAUH
@SUVWATAVAW
@SUVWATAVAWH
SUVWATAVAWH
SUVWATAVH
@SUVWATAWH
SUVWATAWH
@SUVWATH
@SUVWAUAVAWH
SUVWAUAVAWH
@SUVWAUAWH
SUVWAUAWH
@SUVWAUH
@SUVWAVAW
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
@SUWATAUAVAWH
SUWATAUAVAWH
SUWATAUAVH
@SUWATAUAWH
SUWATAUAWH
s UWATAUAWI
SUWATAUH
s UWATAVAWH
@SUWATAVAWH
@SUWATAVH
SUWATAWH
@SUWAUAVAWH
@SUWAUAVH
SUWAUAWH
@SUWAVAWH
SUWAVAWH
@SVATAUAVAWH
SVATAUAVAWH
@SVATAUAWH
@SVATAVAWH
SVATAVAWH
@SVATAVH
SVAUAVAWH
@SVAUAVH
@SVAUAWH
@SVAVAWH
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
@SVWATAUAVH
SVWATAUAVH
@SVWATAUAW
SVWATAUAWH
@SVWATAUH
SVWATAUH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
SVWATAVH
SVWATAWH
SVWAUAVAWH
@SVWAUAVH
SVWAUAVH
@SVWAUAWH
SVWAUAWH
@SVWAVAW
@SVWAVAWH
SVWAVAWH
sVWruwwSewuww
?_Swap_all@_Container_base0@std@@QEAAXAEAU12@@Z
swapReason
SwapServerNonces
s WATAUAVAWH
SWATAUAVAWH
@SWATAUAVH
SWATAUAVH
@SWATAUAWH
SWATAUAWH
@SWATAUH
s WATAVAWE3
@SWATAVAWH
SWATAVAWH
s WATAVH
s WATAWH
@SWATAWH
@SWAUAVAWH
SWAUAVAWH
s WAUAVH
s WAVAWH
@SWAVAWH
__swift_1
__swift_2
SwitchDesktop
SwitchToThread
SW Power Cap
_swprintf
swprintf
swprintf_s
swscanf_s
SW Thermal capping algorithm is reducing clocks below requested clocks because GPU temperature is higher than Max Operating Temp.
SW Thermal Slowdown
sXSXQQCP
SYMBOLIC_INITIALIZATION_FAILED
SymbolicLinkValue
symlink oldpath newpath            Symlink remote file
SymmetricKeyImportWrongHeaderSize
Sync Boost
--sync-boost-add
--sync-boost-list
--sync-boost-remove
Sync Boost This GPU has been added to a Sync boost group with nvidia-smi or DCGM in
?SyncDestroyWindow@NativeHWNDHost@DirectUI@@QEAAXXZ
Synchronized boost is currently disabled.
SyncLocalClipboardToRemoteSession failed.
?SyncRect@HWNDHost@DirectUI@@IEAAXI_N@Z
SyncRemoteClipboardToLocalSession failed.
SyncSessionDisplaySettings failed
SyncSessionDisplaySettings failed!
?                                  Synonym for help
SYNTHETIC_WATCHDOG_TIMEOUT
?_Syserror_map@std@@YAPEBDH@Z
sysinfo: Can't set MachinePreferredUILanguages
syslogfacility
SysPreped
*SYSTEM*
SYSTEMBIOS_NO_LOAD
   (System Controller detected)
System dialog based on notification platform is invoked
systemdrive
SYSTEM_EXIT_OWNED_MUTEX
SystemFunction025
SystemFunction027
SystemFunction036
SystemFunction040
SystemFunction041
SystemHandleCount
SYSTEM_IMAGE_BAD_SIGNATURE
SystemImagePinAddressAggregate
SystemImagePinAddressDroppedAggregate
system_info
SYSTEM_LICENSE_VIOLATION
System memory atomics supported
SystemParametersInfoA
SystemParametersInfoW
SystemPowerDeltaMw
SystemPowerMw
SYSTEM_PTE_MISUSE
systemQuiescedDuration_ms
SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD
SYSTEM_SERVICE_EXCEPTION
SystemShutdown
SystemShutdownHibernateStateEnum
SystemStart
SYSTEM_THREAD_EXCEPTION_NOT_HANDLED
SystemTimeChange
SystemTimeToFileTime
SystemTimeToISO8601String
SystemTimeToTzSpecificLocalTime
SYSTEM_UNWIND_PREVIOUS_USER
System was rebooted due to system watchdog timeout.
szEncoded
szSignature
szSignScope
szTempScope
t0L9nHt*H
t4D9PDt	H
t4H9Y u.H
t59Ewr0H
t5H;*u!A
t]@8h8tWH
t.@8.t)@
t99_hu4H
t#9ADt	H
t.A99v)eH
TabUtils::BroadcastSettingChange
taE9p|t A
tAfA9(t;H
TapCoreClient
TapProtocolClient
TargetAsId
TargetDeviceId
targetDeviceName
(TargetDeviceRelation)
targetIpImageName
TARGET_MDL_TOO_SMALL
target port not supported with two remote hosts without the -3 option
TargetProcessId
TargetRuleDef
TargetThreadId
TargetUserSid
TaskDialog
TaskDialogIndirect
tbD8]XtwD8]ht
TbFlushSlatInvalidate
Tblllllmmln_
TBS_E_ACCESS_DENIED
TBS_E_BAD_PARAMETER
TBS_E_BUFFER_TOO_LARGE
TBS_E_COMMAND_CANCELED
TBS_E_INSUFFICIENT_BUFFER
TBS_E_INTERNAL_ERROR
TBS_E_INVALID_CONTEXT
TBS_E_INVALID_CONTEXT_PARAM
TBS_E_INVALID_OUTPUT_POINTER
TBS_E_IOERROR
TBS_E_NO_EVENT_LOG
TBS_E_OWNERAUTH_NOT_FOUND
TBS_E_PPI_FUNCTION_UNSUPPORTED
TBS_E_PPI_NOT_SUPPORTED
TBS_E_PROVISIONING_INCOMPLETE
TBS_E_PROVISIONING_NOT_ALLOWED
TBS_E_SERVICE_DISABLED
TBS_E_SERVICE_NOT_RUNNING
TBS_E_SERVICE_START_PENDING
TBS_E_TOO_MANY_RESOURCES
TBS_E_TOO_MANY_TBS_CONTEXTS
TBS_E_TPM_NOT_FOUND
TBSIMP_E_BUFFER_TOO_SMALL
TBSIMP_E_CLEANUP_FAILED
TBSIMP_E_COMMAND_CANCELED
TBSIMP_E_COMMAND_FAILED
TBSIMP_E_DUPLICATE_VHANDLE
TBSIMP_E_HASH_BAD_KEY
TBSIMP_E_HASH_TABLE_FULL
TBSIMP_E_INVALID_CONTEXT_HANDLE
TBSIMP_E_INVALID_CONTEXT_PARAM
TBSIMP_E_INVALID_OUTPUT_POINTER
TBSIMP_E_INVALID_PARAMETER
TBSIMP_E_INVALID_RESOURCE
TBSIMP_E_LIST_NO_MORE_ITEMS
TBSIMP_E_LIST_NOT_FOUND
TBSIMP_E_NO_EVENT_LOG
TBSIMP_E_NOT_ENOUGH_SPACE
TBSIMP_E_NOT_ENOUGH_TPM_CONTEXTS
TBSIMP_E_NOTHING_TO_UNLOAD
TBSIMP_E_OUT_OF_MEMORY
TBSIMP_E_PPI_NOT_SUPPORTED
TBSIMP_E_RESOURCE_EXPIRED
TBSIMP_E_RPC_INIT_FAILED
TBSIMP_E_SCHEDULER_NOT_RUNNING
TBSIMP_E_TOO_MANY_RESOURCES
TBSIMP_E_TOO_MANY_TBS_CONTEXTS
TBSIMP_E_TPM_ERROR
TBSIMP_E_TPM_INCOMPATIBLE
TBSIMP_E_UNKNOWN_ORDINAL
tC9SDt	H
TcbLoaderStartTime
tcpconnect
TCPIP_AOAC_NIC_ACTIVE_REFERENCE_LEAK
TCPIP: Failed to allocate memory for a route table entry -- rejecting transition.
tcpip-forward
tcpkeepalive
t[D8n|tQI
t.D9c8t(H
tDDDDDDDddel|l|||
tDDDDDDDFGx
tDDDDDDDlFG
tDDDDDdwx
tDf9)u8H
tDPfD9t|Pu
t;E8(t6H
tED9c|t-A
tefD90t_H
tEfD91u8H
tefD92t_H
teH;PXt_H
TelemetryAssert
TelemetryAssertDiagTrack
TELEMETRY_ASSERTS_LIVEDUMP
TelemetryClient
--temperature
temperature
	Temperature:
    Temperature
temperatureAboveTripPoint
temperature.gpu
temperature.memory
temporarily
TeredoExtAcquireTeredoConsumerHandle
TeredoExtReleaseTeredoConsumerHandle
t*ERjLLL
Terminal
TerminalCnt
TerminalId
TERMINAL_SERVER_DRIVER_MADE_INCORRECT_MEMORY_REFERENCE
TerminalState
terminate connection (and any multiplexed sessions)
       Terminate Daemon [Best Effort]
TerminateProcess
terminate session
TerminateThread
?terminate@@YAXXZ
Terminating early due to previous errors.
Terminating early due to previous errors. Reboot required.
TESLA_SIGDUMP_PLAIN
TestControllerName
text file busy
Text file busy
TextOutW
TextStart
TextTransparent
texture_memory
Texture Memory
Texture Shared
texture_shm
t;f97t6L
t@f97t;fE
t.f99u)fD9q
t]f9:tXf
tFA8.t7D
t:fA9(t4H
t?fA9(t9H
tfA9?uaI
tFD8;t3H
t.fD97t(L
t)fD9(u#
t@fE9(t:H
t-ffffff
tfHkA(d3
tfLLfEXXJgp0
tFM;;u2H
t:f;.t53
t@f;uPt:
tG@80tBL
tGL;8u3H
t	H!0H!p
than PASSIVE_LEVEL.
t'H;C8uLD
The address field of the query capabilities structure in a query
The agent has no identities.
The argument is not valid
       The arguments consist of character string representing the type of traffic counted:
The BIOS of the GPU board.
The caller is probably sending IRPs to the PDO instead of to the device
The caller provided the IRP Status Information field with a value that
The compute mode flag indicates whether individual or multiple compute applications may run on the GPU.
The "Compute" mode is designed for running only compute tasks. Graphics operations are not allowed.
The current PCI-E link generation. These may be reduced when the GPU is not in use.
The current PCI-E link width. These may be reduced when the GPU is not in use.
The current performance state for the GPU. States range from P0 (maximum performance) to P12 (minimum performance).
The current user does not have permissions to change CUDA clock mode.
The database has more matches than SDB_MAX_EXES
The driver has not handled a required IRP. The driver must update the
The driver has responded to an IRP that is that is reserved for other
The driver is completing an IRP_MJ_PNP.IRP_MN_REMOVE_DEVICE
The driver is reinitializing an IRP that is still in use.
The driver is reinitializing an IRP that was created with
the driver stack. This may be because the caller has forgotten to call
The dump file will be encrypted.
The ECC mode that the GPU is currently operating under.
The ECC mode that the GPU will operate under after the next reboot.
The eventlog session does not exsit
The following connections are open:
The GOM currently in use.
The GOM that will be used on the next reboot.
the hardware has not been reported as missing in a bus relations query.
the Irp to NULL.
The key fingerprint is:
The key's randomart image is:
The "Low Double Precision" mode is designed for running graphics applications that don't require high bandwidth double precision.
The maximum value in watts that power limit can be set to.
?ThemeChange@HWNDElement@DirectUI@@SA?AVUID@@XZ
The MIG mode that the GPU is currently operating under.
The MIG mode that the GPU will operate under after reset.
The minimum value in watts that power limit can be set to.
The number of GPU device memory pages that have been retired due to a double bit ECC error.
The number of GPU device memory pages that have been retired due to multiple single bit ECC errors.
The number of matching EXEs exceeded the max allowed
The number of NVIDIA GPUs in the system.
The number of rows that have been remapped due to correctable ECC errors.
The number of rows that have been remapped due to uncorrectable ECC errors.
    then up to first four supported devices under natural enumeration
The official product name of the GPU. This is an alphanumeric string. For all products.
The provided MDL is not sufficient to satisfy the requested length
There is no reboot failed in engaged mode so no need to check for failed notification
thermalConstant1
thermalConstant2
ThermalCriticalEvent
ThermalRequestActiveActivity
ThermalRequestPassiveHistogram
ThermalStandbyComplete
ThermalStandbyInitiated
thermalstandbyTripPoint
ThermalUsermodeEvent
thermalZone
ThermalZoneActiveActivity
ThermalZoneEnumeration
thermalZoneName
ThermalZonePassiveHistogram
The size field of the query capabilities structure in a query
The size of the circular buffer that holds list of processes that can be queried for accounting stats. This is the maximum number of processes that accounting information will be stored for before information about oldest processes will get overwritten by information about new processes.
The socket is not connected
The state transition eventlog session does not exist
the TargetDeviceRelation query.
 * the throttle reasons for other GPUs in the system to see why those GPUs are
The UI Number field of the query capabilities structure in a query
The user must confirm each use of the key
The version field of the query capabilities structure in a query
The version of the installed NVIDIA display driver. This is an alphanumeric string.
thf;:tcL
tHH;2u4H
THIRD_PARTY_FILE_SYSTEM_FAILURE
Third reminder toast will be shown
This application has requested the Runtime to terminate it in an unusual way.
 * This behavior may be removed in a later release
__thiscall
This could mean that a stolen key is being used to
This driver has not filled out a dispatch routine for a required IRP
This indicates a bug in your application.
This IRP is about to run out of stack locations. Someone may have
this Irp or someone forgot to return STATUS_PENDING.
                                This is an experimental feature.
    This is an experimental feature.
                                This is an experimental feature. Not supported on Windows baremetal
|   This is an external build of NvDebugDump        |
#   This is an internal build of NvDebugDump        #
This is a non-BTS processor - no branch tracing will occur.
This is a not a valid time to reboot device. scheduling again.
This is a not a valid time to show auto reboot notification. Scheduling auto reboot
This is not a good time to show engaged reminder. Scheduling next reminder
This is not a good time to show engage reminder. Scheduling auto reboot
#   This is not to be released outside of NVIDIA.   #
This is not valid time to reboot so rescheduling
This is valid time to auto reboot.
This is valid time to reboot so rebooting now
This is valid time to show auto reboot dialog.
This is valid time to show engaged reminder.
This is valid time to show engage reminder.
This may be because not all required external power cables are
this message
This number matches the serial number physically printed on each board. It is a globally unique immutable alphanumeric value.
	This occurs regardless of the presence of any other
This private key will be ignored.
!This program cannot be run in DOS mode.
                                This query is not supported on vGPU host.
This server does not support the symlink operation
This SKU on lite stack has chosen Active Hours workflow as default
This value is the globally unique immutable alphanumeric identifier of the GPU. It does not correspond to any physical label on the board.
This windows OS doesn't support conpty
This windows OS supports conpty
_Thrd_detach
_Thrd_id
_Thrd_join
thread descriptor creation failed in bind path
threadId
THREAD_NOT_MUTEX_OWNER
ThreadOpenFailedForForcedAccessCheck
THREAD_STUCK_IN_DEVICE_DRIVER
threshold
throttleHistogram
ThrottlingPolicy
throughput
?_Throw_C_error@std@@YAXH@Z
?_Throw_Cpp_error@std@@YAXH@Z
Thumbnail
thumbNailOn
Thursday
t)H;u(u#L
tID9!vDH
tIH91tDE
tiL9mxtcH
tilde_expand_filename: Path too long
TimeBomb
TimeDateInvoked
timed out
timed_out
Timed out
Timed out waiting for SSH identification string.
timeGetTime
timeKillEvent
timeOnLastPage
TIMEOUT_V3
Timer expired
TimerHardware
TIMER_OR_DPC_INVALID
TimerRtcFailures
TimerTscSync
timeSetEvent
timeSinceLastSwap
Timeslice
timestamp
Timestamp
Timestamp at which the page was retired.
Time-stamp of first reboot pending
timeStampUTC
TimeZoneBiasChange
TimeZoneInfoCacheUpdated
TimeZoneInformationAtBoot
TimeZoneInformationRefresh
TimeZoneKeyName
                              T - Include Time (HH:MM:SS) in scrolling output
T	?Initialize@CCBase@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
tisauthentication
Titan RTX
tJD8;t3H
tJD8z8tD
tkD90tfH
t	kE#d;E#w
tKfD9;tEH
t-L9m u'H
t'L9Q(t!A
t(LcuoH;
tLD8'uGD8g
TlgAggregateSummary
__TlgCV__
  -t life     Set lifetime (in seconds) when adding identities.
TLOSS error
tl;q0unD
TlsAlloc
TlsGetValue
TLSLogger detected bad data in CRDPENCCONStream.
TlsSetValue
TmCancelPropagationRequest
TmCommitComplete
TmCommitEnlistment
TmCommitTransaction
TmCreateEnlistment
TmCurrentTransaction
TmDereferenceEnlistmentKey
TmEnableCallbacks
TmEndPropagationRequest
TmEnlistmentObjectType
TmFreezeTransactions
TmGetTransactionId
tMH9_@tGH
TmInitializeTransactionManager
TmInitSystem
TmInitSystemPhase2
TmIsKTMCommitCoordinator
TmIsTransactionActive
TmPrepareComplete
TmPrepareEnlistment
TmPrePrepareComplete
TmPrePrepareEnlistment
TmPropagationComplete
TmPropagationFailed
TmReadOnlyEnlistment
TmRecoverEnlistment
TmRecoverResourceManager
TmRecoverTransactionManager
TmReferenceEnlistmentKey
TmRenameTransactionManager
TmRequestOutcomeEnlistment
TmResourceManagerObjectType
TmRollbackComplete
TmRollbackEnlistment
TmRollbackTransaction
TMSAMVOF
TmSetCurrentTransaction
TmShutdownSystem
TmSinglePhaseReject
TmThawTransactions
TmTransactionManagerObjectType
TmTransactionObjectType
tND8;t3H
tND8WXtH
tnfD;0uh
ToastNotificationDisplayed
ToastNotificationResponseReceived
ToastRebootButtonClicked
toastRebootReminderCadenceInHours
toastToDialogReminderInHours
toD85P#y
tOD8#tJH
tOD9u(t!E
To determine reboot escalation window: 
    to file dump.zip)
to find the pages that need to be marked.
Too few arguments.
Too few arguments for check-novalidate: missing signature file
Too few arguments for sign: missing allowed keys file
Too few arguments for sign: missing key
Too few arguments for verify: missing principal ID
Too few arguments for verify: missing signature file
too few bytes in signature
Too high debugging level.
too large
ToolName
Too many arguments.
Too many certificate principals specified
too many files open
too_many_files_open
too many files open in system
Too many indexes in file: recompile and increase SDB_MAX_INDEXES
too many length or distance symbols
Too many levels of symbolic links
too many links
Too many links
Too many open files
Too many open files in system
Too many recursive configuration includes
TOO_MANY_RECURSIVE_FAULTS
too many symbolic link levels
too small
?TossElement@ElementProvider@DirectUI@@UEAAXXZ
?TossPatternProvider@ElementProvider@DirectUI@@QEAAXW4Pattern@Schema@2@@Z
TotalActivationIntervalInUs
totalByteCount
totalBytes
TotalCount
TotalDeviceConstraintIntervalInUs
TotalDsTimeInUs
totalDumpCreationDuration_ms
TotalDurationMS
TotalEntriesFlushed
Total errors detected across entire chip.
TotalFixed
Total free memory.
totalHits
TotalHwDripsResidency
TotalHwDripsTimeInUs
Total installed GPU memory.
Total memory allocated by active contexts.
Total memory reserved by the NVIDIA driver and firmware.
totalMirrorPhysicalMemoryCallbackBytes_ms
totalMirrorPhysicalMemoryCallbackDuration_ms
TotalNumberOfPages
TotalSuspendedMS
TotalSwDripsTimeInUs
totalTime
TotalTimeInUs
TotalUptimeMS
TotalWriteFailures
towlower
towupper
TPC_E_INITIALIZE_FAIL
TPC_E_INVALID_CONFIGURATION
TPC_E_INVALID_DATA_FROM_RECOGNIZER
TPC_E_INVALID_INPUT_RECT
TPC_E_INVALID_PACKET_DESCRIPTION
TPC_E_INVALID_PROPERTY
TPC_E_INVALID_RIGHTS
TPC_E_INVALID_STROKE
TPC_E_NO_DEFAULT_TABLET
TPC_E_NOT_RELEVANT
TPC_E_OUT_OF_ORDER_CALL
TPC_E_QUEUE_FULL
TPC_E_RECOGNIZER_NOT_REGISTERED
TPC_E_UNKNOWN_PROPERTY
                              t - PCIe Rx and Tx Throughput
TPC_S_INTERRUPTED
TPC_S_NO_DATA_TO_PROCESS
TPC_S_TRUNCATED
 tPD8k2u3H
tpD;UXsbH
tPfD98tJH
TPM_20_E_ASYMMETRIC
TPM_20_E_ATTRIBUTES
TPM_20_E_AUTH_CONTEXT
TPM_20_E_AUTH_FAIL
TPM_20_E_AUTH_MISSING
TPM_20_E_AUTHSIZE
TPM_20_E_AUTH_TYPE
TPM_20_E_AUTH_UNAVAILABLE
TPM_20_E_BAD_AUTH
TPM_20_E_BAD_CONTEXT
TPM_20_E_BINDING
TPM_20_E_CANCELED
TPM_20_E_COMMAND_CODE
TPM_20_E_COMMAND_SIZE
TPM_20_E_CONTEXT_GAP
TPM_20_E_CPHASH
TPM_20_E_CURVE
TPM_20_E_DISABLED
TPM_20_E_ECC_CURVE
TPM_20_E_ECC_POINT
TPM_20_E_EXCLUSIVE
TPM_20_E_EXPIRED
TPM_20_E_FAILURE
TPM_20_E_HANDLE
TPM_20_E_HASH
TPM_20_E_HIERARCHY
TPM_20_E_HMAC
TPM_20_E_INITIALIZE
TPM_20_E_INSUFFICIENT
TPM_20_E_INTEGRITY
TPM_20_E_KDF
TPM_20_E_KEY
TPM_20_E_KEY_SIZE
TPM_20_E_LOCALITY
TPM_20_E_LOCKOUT
TPM_20_E_MEMORY
TPM_20_E_MGF
TPM_20_E_MODE
TPM_20_E_NEEDS_TEST
TPM_20_E_NONCE
TPM_20_E_NO_RESULT
TPM_20_E_NV_AUTHORIZATION
TPM_20_E_NV_DEFINED
TPM_20_E_NV_LOCKED
TPM_20_E_NV_RANGE
TPM_20_E_NV_RATE
TPM_20_E_NV_SIZE
TPM_20_E_NV_SPACE
TPM_20_E_NV_UNAVAILABLE
TPM_20_E_NV_UNINITIALIZED
TPM_20_E_OBJECT_HANDLES
TPM_20_E_OBJECT_MEMORY
TPM_20_E_PARENT
TPM_20_E_PCR
TPM_20_E_PCR_CHANGED
TPM_20_E_POLICY
TPM_20_E_POLICY_CC
TPM_20_E_POLICY_FAIL
TPM_20_E_PP
TPM_20_E_PRIVATE
TPM_20_E_RANGE
TPM_20_E_REBOOT
TPM_20_E_RESERVED_BITS
TPM_20_E_RETRY
TPM_20_E_SCHEME
TPM_20_E_SELECTOR
TPM_20_E_SENSITIVE
TPM_20_E_SEQUENCE
TPM_20_E_SESSION_HANDLES
TPM_20_E_SESSION_MEMORY
TPM_20_E_SIGNATURE
TPM_20_E_SIZE
TPM_20_E_SYMMETRIC
TPM_20_E_TAG
TPM_20_E_TESTING
TPM_20_E_TICKET
TPM_20_E_TOO_MANY_CONTEXTS
TPM_20_E_TYPE
TPM_20_E_UNBALANCED
TPM_20_E_UPGRADE
TPM_20_E_VALUE
TPM_20_E_YIELDED
TPMAPI_E_ACCESS_DENIED
TPMAPI_E_AUTHORIZATION_FAILED
TPMAPI_E_AUTHORIZATION_REVOKED
TPMAPI_E_AUTHORIZING_KEY_NOT_SUPPORTED
TPMAPI_E_BUFFER_TOO_SMALL
TPMAPI_E_EMPTY_TCG_LOG
TPMAPI_E_ENCRYPTION_FAILED
TPMAPI_E_ENDORSEMENT_AUTH_NOT_NULL
TPMAPI_E_FIPS_RNG_CHECK_FAILED
TPMAPI_E_INTERNAL_ERROR
TPMAPI_E_INVALID_AUTHORIZATION_SIGNATURE
TPMAPI_E_INVALID_CONTEXT_HANDLE
TPMAPI_E_INVALID_CONTEXT_PARAMS
TPMAPI_E_INVALID_DELEGATE_BLOB
TPMAPI_E_INVALID_ENCODING
TPMAPI_E_INVALID_KEY_BLOB
TPMAPI_E_INVALID_KEY_PARAMS
TPMAPI_E_INVALID_KEY_SIZE
TPMAPI_E_INVALID_MIGRATION_AUTHORIZATION_BLOB
TPMAPI_E_INVALID_OUTPUT_POINTER
TPMAPI_E_INVALID_OWNER_AUTH
TPMAPI_E_INVALID_PARAMETER
TPMAPI_E_INVALID_PCR_DATA
TPMAPI_E_INVALID_PCR_INDEX
TPMAPI_E_INVALID_POLICYAUTH_BLOB_TYPE
TPMAPI_E_INVALID_STATE
TPMAPI_E_INVALID_TCG_LOG_ENTRY
TPMAPI_E_INVALID_TPM_VERSION
TPMAPI_E_MALFORMED_AUTHORIZATION_KEY
TPMAPI_E_MALFORMED_AUTHORIZATION_OTHER
TPMAPI_E_MALFORMED_AUTHORIZATION_POLICY
TPMAPI_E_MESSAGE_TOO_LARGE
TPMAPI_E_NO_AUTHORIZATION_CHAIN_FOUND
TPMAPI_E_NOT_ENOUGH_DATA
TPMAPI_E_NV_BITS_NOT_DEFINED
TPMAPI_E_NV_BITS_NOT_READY
TPMAPI_E_OUT_OF_MEMORY
TPMAPI_E_OWNER_AUTH_NOT_NULL
TPMAPI_E_POLICY_DENIES_OPERATION
TPMAPI_E_SEALING_KEY_CHANGED
TPMAPI_E_SEALING_KEY_NOT_AVAILABLE
TPMAPI_E_SVN_COUNTER_NOT_AVAILABLE
TPMAPI_E_TBS_COMMUNICATION_ERROR
TPMAPI_E_TCG_INVALID_DIGEST_ENTRY
TPMAPI_E_TCG_SEPARATOR_ABSENT
TPMAPI_E_TOO_MUCH_DATA
TPMAPI_E_TPM_COMMAND_ERROR
TPM_E_AREA_LOCKED
TPM_E_ATTESTATION_CHALLENGE_NOT_SET
TPM_E_AUDITFAIL_SUCCESSFUL
TPM_E_AUDITFAIL_UNSUCCESSFUL
TPM_E_AUDITFAILURE
TPM_E_AUTH2FAIL
TPM_E_AUTH_CONFLICT
TPM_E_AUTHFAIL
TPM_E_BAD_ATTRIBUTES
TPM_E_BADCONTEXT
TPM_E_BAD_COUNTER
TPM_E_BAD_DATASIZE
TPM_E_BAD_DELEGATE
TPM_E_BAD_HANDLE
TPM_E_BADINDEX
TPM_E_BAD_KEY_PROPERTY
TPM_E_BAD_LOCALITY
TPM_E_BAD_MIGRATION
TPM_E_BAD_MODE
TPM_E_BAD_ORDINAL
TPM_E_BAD_PARAMETER
TPM_E_BAD_PARAM_SIZE
TPM_E_BAD_PRESENCE
TPM_E_BAD_SCHEME
TPM_E_BAD_SIGNATURE
TPM_E_BADTAG
TPM_E_BAD_TYPE
TPM_E_BAD_VERSION
TPM_E_BUFFER_LENGTH_MISMATCH
TPM_E_CLAIM_TYPE_NOT_SUPPORTED
TPM_E_CLEAR_DISABLED
TPM_E_COMMAND_BLOCKED
TPM_E_CONTEXT_GAP
TPM_E_DAA_INPUT_DATA0
TPM_E_DAA_INPUT_DATA1
TPM_E_DAA_ISSUER_SETTINGS
TPM_E_DAA_ISSUER_VALIDITY
TPM_E_DAA_RESOURCES
TPM_E_DAA_STAGE
TPM_E_DAA_TPM_SETTINGS
TPM_E_DAA_WRONG_W
TPM_E_DEACTIVATED
TPM_E_DECRYPT_ERROR
TPM_E_DEFEND_LOCK_RUNNING
TPM_E_DELEGATE_ADMIN
TPM_E_DELEGATE_FAMILY
TPM_E_DELEGATE_LOCK
TPM_E_DISABLED
TPM_E_DISABLED_CMD
TPM_E_DOING_SELFTEST
TPM_E_DUPLICATE_VHANDLE
TPM_E_EMBEDDED_COMMAND_BLOCKED
TPM_E_EMBEDDED_COMMAND_UNSUPPORTED
TPM_E_ENCRYPT_ERROR
TPM_E_ERROR_MASK
TPM_E_FAIL
TPM_E_FAILEDSELFTEST
TPM_E_FAMILYCOUNT
TPM_E_INAPPROPRIATE_ENC
TPM_E_INAPPROPRIATE_SIG
TPM_E_INSTALL_DISABLED
TPM_E_INVALID_AUTHHANDLE
TPM_E_INVALID_FAMILY
TPM_E_INVALID_HANDLE
TPM_E_INVALID_KEYHANDLE
TPM_E_INVALID_KEYUSAGE
TPM_E_INVALID_OWNER_AUTH
TPM_E_INVALID_PCR_INFO
TPM_E_INVALID_POSTINIT
TPM_E_INVALID_RESOURCE
TPM_E_INVALID_STRUCTURE
TPM_E_IOERROR
TPM_E_KEY_ALREADY_FINALIZED
TPM_E_KEY_NOT_AUTHENTICATED
TPM_E_KEY_NOT_FINALIZED
TPM_E_KEYNOTFOUND
TPM_E_KEY_NOT_LOADED
TPM_E_KEY_NOT_SIGNING_KEY
TPM_E_KEY_NOTSUPPORTED
TPM_E_KEY_OWNER_CONTROL
TPM_E_KEY_USAGE_POLICY_INVALID
TPM_E_KEY_USAGE_POLICY_NOT_SUPPORTED
TPM_E_LOCKED_OUT
TPM_E_MA_AUTHORITY
TPM_E_MA_DESTINATION
TPM_E_MA_SOURCE
TPM_E_MA_TICKET_SIGNATURE
TPM_E_MAXNVWRITES
TPM_E_MIGRATEFAIL
TPM_E_NEEDS_SELFTEST
TPM_E_NOCONTEXTSPACE
TPM_E_NO_ENDORSEMENT
TPM_E_NO_KEY_CERTIFICATION
TPM_E_NO_NV_PERMISSION
TPM_E_NOOPERATOR
TPM_E_NOSPACE
TPM_E_NOSRK
TPM_E_NOTFIPS
TPM_E_NOT_FULLWRITE
TPM_E_NOTLOCAL
TPM_E_NOT_PCR_BOUND
TPM_E_NOTRESETABLE
TPM_E_NOTSEALED_BLOB
TPM_E_NO_WRAP_TRANSPORT
TPM_E_OWNER_CONTROL
TPM_E_OWNER_SET
TPM_E_PCP_AUTHENTICATION_FAILED
TPM_E_PCP_AUTHENTICATION_IGNORED
TPM_E_PCP_BUFFER_TOO_SMALL
TPM_E_PCP_DEVICE_NOT_READY
TPM_E_PCP_ERROR_MASK
TPM_E_PCP_FLAG_NOT_SUPPORTED
TPM_E_PCP_IFX_RSA_KEY_CREATION_BLOCKED
TPM_E_PCP_INTERNAL_ERROR
TPM_E_PCP_INVALID_HANDLE
TPM_E_PCP_INVALID_PARAMETER
TPM_E_PCP_KEY_HANDLE_INVALIDATED
TPM_E_PCP_KEY_NOT_AIK
TPM_E_PCP_NOT_SUPPORTED
TPM_E_PCP_PLATFORM_CLAIM_MAY_BE_OUTDATED
TPM_E_PCP_PLATFORM_CLAIM_OUTDATED
TPM_E_PCP_PLATFORM_CLAIM_REBOOT
TPM_E_PCP_POLICY_NOT_FOUND
TPM_E_PCP_PROFILE_NOT_FOUND
TPM_E_PCP_RAW_POLICY_NOT_SUPPORTED
TPM_E_PCP_TICKET_MISSING
TPM_E_PCP_UNSUPPORTED_PSS_SALT
TPM_E_PCP_VALIDATION_FAILED
TPM_E_PCP_WRONG_PARENT
TPM_E_PERMANENTEK
TPM_E_PER_NOWRITE
TPM_E_PPI_ACPI_FAILURE
TPM_E_PPI_BIOS_FAILURE
TPM_E_PPI_BLOCKED_IN_BIOS
TPM_E_PPI_NOT_SUPPORTED
TPM_E_PPI_USER_ABORT
TPM_E_PROVISIONING_INCOMPLETE
TPM_E_READ_ONLY
TPM_E_REQUIRES_SIGN
TPM_E_RESOURCEMISSING
TPM_E_RESOURCES
TPM_E_RETRY
TPM_E_SHA_ERROR
TPM_E_SHA_THREAD
TPM_E_SHORTRANDOM
TPM_E_SIZE
TPM_E_SOFT_KEY_ERROR
TPM_E_TOOMANYCONTEXTS
TPM_E_TOO_MUCH_DATA
TPM_E_TRANSPORT_NOTEXCLUSIVE
TPM_E_VERSION_NOT_SUPPORTED
TPM_E_WRITE_LOCKED
TPM_E_WRONG_ENTITYTYPE
TPM_E_WRONGPCRVAL
TPM_E_ZERO_EXHAUST_ENABLED
.tPolicy
  -T pubkey   Test if ssh-agent can access matching private key.
tQ;C tkH
tQD8c:u0M
tQfA99tKI
TRACE_CLUSTER
TRACE_CM
TRACE_CONTACT
TRACE_ETWTRACE
TraceEvent
TRACE_GATEWAY
TraceInitSystem
TRACE_KTMRM
TRACE_LOG
TraceLoggingRegister Failed
TRACE_LU
TraceMessage
TRACE_MISC
TRACE_MTXOCI
TRACE_PERFMON
TRACE_PROXY
TRACE_RESOURCE
TRACE_SVC
TRACE_TIP
TRACE_TM
TRACE_TRACE
TRACE_UI
TRACE_UTIL
TRACE_VSSBACKUP
TRACE_WMI
TRACE_XA
Tracking
trackingInfo
TrackMouseEvent
TrackPopupMenu
TrackPopupMenuEx
(!TrailingUCR)
TransactionAborted
TransactionState
TRANSFORMER
transitionInDays
TransitionsToOn
TranslateAcceleratorW
TranslateCharsetInfo
TranslateMessage
TranslateServerData
transparent
TRAP_CAUSE_UNKNOWN
Tray icon disabled through OneSettings
Tray icon disabled through policy
Tray icon not shown because user is not logged in
tRD8;t3H
Treating as warning and moving on.
triggerBatteryFlags
triggerBatteryIgnoreStatus
triggerBatteryLevel
TriggerInitiator
TriggerVersion
TrimFlags
TrimReason
tripPoint
tripPointTemperature
TroubleshootingPackages::GetInstance
truncated answer
TruncatedPrimaryHiveRecovered
TRUST_E_ACTION_UNKNOWN
TRUST_E_BAD_DIGEST
TRUST_E_BASIC_CONSTRAINTS
TRUST_E_CERT_SIGNATURE
TRUST_E_COUNTER_SIGNER
trustedZone
TRUST_E_EXPLICIT_DISTRUST
TRUST_E_FAIL
TRUST_E_FINANCIAL_CRITERIA
TRUST_E_MALFORMED_SIGNATURE
TRUST_E_NOSIGNATURE
TRUST_E_NO_SIGNER_CERT
TRUST_E_PROVIDER_UNKNOWN
TRUST_E_SUBJECT_FORM_UNKNOWN
TRUST_E_SUBJECT_NOT_TRUSTED
TRUST_E_SYSTEM_ERROR
TRUST_E_TIME_STAMP
TrustletLifetime
trustLevel
TryAcquireSRWLockExclusive
TryApplyProcessUIPolicy failed!
TryBindToSingletonRailProcess failed
TryFindClaimsAuthChallenge failed
Trying again...
Trying to init unknown metric
Trying to start again
TryParseClaimsAuthnHeader
TryParseClaimsAuthnHeader failed
TryPauseResolution
TrySubmitThreadpoolCallback
tSA9O t!M
TscAdjustAvailable
TSC_QUEUED_APP
TSCreatePlatform failed
TsCreateSettingsStore failed!
TsCryptDecodeAndDecryptString failed!
TsCryptEncryptAndEncodeString failed.
TSLoadString failed
tspsaParamsWWW
tTD8F0t.3
ttfE9(tnH
TTM_CleanupCurrentSession
TTM_ConsoleUserPresent
TTM_DeviceArrived
TTM_DeviceArrivedTerminalEvent
TTM_DeviceAssignedTerminalEvent
TTM_DeviceAssignmentPolicySet
TTM_DeviceCallout
TTM_DeviceCalloutWatchdogCrashSkipped
TTM_DeviceDeparted
TTM_DeviceDepartedTerminalEvent
TTM_DeviceEnumeratedTerminalEvent
TTM_DeviceFromTerminalRemoved
TTM_DeviceInput
TTM_DeviceRundown
TTM_DeviceSetInputWakeCapability
TTM_DeviceToTerminalAssigned
TtmDispatchApi
TTM_DispatchApi
TTM_EnterProximity
TTM_Error
TTM_ExitProximity
TTM_FATAL_ERROR
TtmGetSessionDisplayRequiredCount
TtmiAcquireCurrentSession
TtmiAcquireTerminalId
TtmiAssignDevice
TtmiCreateEventQueue
TtmiCreateTerminal
TtmInitCurrentSession
TTM_InitCurrentSession
TTM_InitiateModernStandbyTransitionStart
TTM_InitiateModernStandbyTransitionStop
TtmiOpenDefaultTerminal
TtmiPublishDeviceEnumerationEvents
TtmiReferenceQueueByHandle
TtmiReferenceTerminalByHandle
TtmiRetrieveEventFromQueue
TtmiSessionsRundown
TtmiSetDisplayPowerRequest
TtmiSetInputWakeCapability
TtmiTerminalMonitorControl
TtmiWriteEnumerationEventsToQueue
TtmiWriteEventToAllQueues
TtmiWriteEventToSingleQueue
TtmNotifyConsoleUserPresent
TtmNotifyDeviceArrival
TtmNotifyDeviceDeparture
TtmNotifyDeviceInput
TtmNotifyLowPowerStateExited
TtmNotifySessionDisplayBurst
TtmNotifySessionDisplayRequiredChange
TtmNotifySessionPowerRequestDeleted
TtmNotifySessionPowerStateChange
TtmNotifySessionTerminalInput
TtmpAcquireSessionById
TtmpAcquireSessionFromTerminalHandle
TtmpCallAssignedToTerminal
TtmpCallSetDisplayState
TtmpCallSetInputMode
TtmpCommitTerminalDisplayStateUpdateWorker
TtmpDispatchAssignDevice
TtmpDispatchCreateEventQueue
TtmpDispatchCreateTerminal
TtmpDispatchEvacuateDevices
TtmpDispatchGetTerminalEvent
TtmpDispatchOpenTerminal
TtmpDispatchSetDefaultDeviceAssignment
TtmpDispatchSetDisplayPowerRequest
TtmpDispatchSetDisplayState
TtmpDispatchSetDisplayTimeouts
TtmpDispatchSetInputWakeCapability
TtmpFindPowerRequestEntryById
TtmpInsertPowerRequestToSession
TtmpPushTerminalState
TtmpQueueTerminalDisplayStateOntoDevice
TTM_ProximityBlockedRequest
TTM_ProximityPowerPress
TtmpSessionWorker
TtmpSetDisplayRequestEnded
TtmpUpdateDisplayRequiredPowerRequest
TtmpUpdatePowerRequestAttribute
TtmpWriteDisplayRequiredPowerRequestUpdatedEvent
TTM_QueueCreated
TTM_QueueDestroyed
TTM_QueueEventDequeued
TTM_QueueEventEnqueued
TTM_QueueHandleClosed
TTM_QueueHandleCreated
TTM_SessionActivate
TTM_SessionCsExitComplete
TTM_SessionDeactivate
TTM_SessionDisplayRequiredDereference
TTM_SessionDisplayRequiredReference
TtmSessionMonitorControl
TTM_SessionMonitorControl
TTM_SessionPowerControlStart
TTM_SessionPowerControlStop
TTM_SessionPowerRequestCreated
TTM_SessionPowerRequestDeleted
TTM_SessionPowerRequestPresent
TTM_SessionPowerRequestUpdated
TTM_SessionPowerStateChange
TTM_SessionRundown
TTM_SessionWorker
TTM_SessionWorkerPass
TTM_TerminalCleanup
TTM_TerminalCreated
TTM_TerminalDestroyed
TTM_TerminalDisplayPowerRequest
TTM_TerminalDisplayStateChangedEvent
TTM_TerminalHandleClosed
TTM_TerminalHandleCreated
TTM_TerminalOffRequest
TTM_TerminalOnRequest
TTM_TerminalRundown
TTM_TerminalStateMachine
TTM_TerminalTimeouts
TTM_WATCHDOG_TIMEOUT
tttt""""
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
T*tuu111
tUI9;tPI
tunneldevice
Tunnel device open failed.
Tunnel forwarding is disabled to avoid man-in-the-middle attacks.
Tunnel interfaces are not supported on this platform
turnOnKeyPad
tVf93tQH
tVfD93tPH
tVfD9;tPH
tvfD9(upH
tW@80uRH
tWA8Z!tAM
t	wcsrchr
twf91trL
Twisted*
Twisted_*
tX9s|tAA
tXfD9(uRM
Tx Throughput
tyfE9'ts3
tYH9A tSH9A(tMH9A0tGH9A8tAH9A@t;
tyH9B(ts
tYH9p tSf9p
tYL9:uTH
Type !deadlock in the debugger for more information.
 Type Descriptor'
TYPE_E_AMBIGUOUSNAME
TYPE_E_BADMODULEKIND
TYPE_E_BUFFERTOOSMALL
TYPE_E_CANTCREATETMPFILE
TYPE_E_CANTLOADLIBRARY
TYPE_E_CIRCULARTYPE
TYPE_E_DLLFUNCTIONNOTFOUND
TYPE_E_DUPLICATEID
TYPE_E_ELEMENTNOTFOUND
TYPE_E_FIELDNOTFOUND
TYPE_E_INCONSISTENTPROPFUNCS
TYPE_E_INVALIDID
TYPE_E_INVALIDSTATE
TYPE_E_INVDATAREAD
TYPE_E_IOERROR
TYPE_E_LIBNOTREGISTERED
TYPE_E_NAMECONFLICT
TYPE_E_OUTOFBOUNDS
TYPE_E_QUALIFIEDNAMEDISALLOWED
TYPE_E_REGISTRYACCESS
type_error
TYPE_E_SIZETOOBIG
TYPE_E_TYPEMISMATCH
TYPE_E_UNDEFINEDTYPE
TYPE_E_UNKNOWNLCID
TYPE_E_UNSUPFORMAT
TYPE_E_WRONGTYPEKIND
Type ? or Help for a list of commands.
t?;z4r!w
tZE9U0tTA
tZfD9"tT
TzSpecificLocalTimeToSystemTime
TZTT7-7x
U09U u	H
?*u0fA9_
u1H9upt1
	u2D9IPu
u4D;ATr.I
u5H9s t(H
u7D9eHt1
u7f9XBu*A
u89wXt3H
u8fD9G u1
u;@8wDuYH
u9A8Y#|3A
u:9uHu9H
u-A93u(B
uAf9J u;H
@UATAUAVAWH
UATAUAVAWH
UATAUAVAWI
@UATAUAVH
@UATAUAWH
Ubad allocation
uBfE9B u;H
ubH98u]H
UCEERR_BLOCKSFULL
UCEERR_CHANNELSYNCABANDONED
UCEERR_CHANNELSYNCTIMEDOUT
UCEERR_COMMANDTRANSPORTDENIED
UCEERR_CONNECTIONIDLOOKUPFAILED
UCEERR_CTXSTACKFRSTTARGETNULL
UCEERR_FEEDBACK_UNSUPPORTED
UCEERR_GRAPHICSSTREAMALREADYOPEN
UCEERR_GRAPHICSSTREAMUNAVAILABLE
UCEERR_HANDLELOOKUPFAILED
UCEERR_ILLEGALHANDLE
UCEERR_ILLEGALPACKET
UCEERR_ILLEGALRECORDTYPE
UCEERR_INVALIDPACKETHEADER
UCEERR_MALFORMEDPACKET
UCEERR_MEMORYFAILURE
UCEERR_MISSINGBEGINCOMMAND
UCEERR_MISSINGENDCOMMAND
UCEERR_NO_MULTIPLE_WORKER_THREADS
UCEERR_OUTOFHANDLES
UCEERR_PACKETRECORDOUTOFRANGE
UCEERR_PARTITION_ZOMBIED
UCEERR_REMOTINGNOTSUPPORTED
UCEERR_RENDERTHREADFAILURE
UCEERR_TRANSPORTDISCONNECTED
UCEERR_TRANSPORTOVERLOADED
UCEERR_TRANSPORTUNAVAILABLE
UCEERR_UNCHANGABLE_UPDATE_ATTEMPTED
UCEERR_UNKNOWNPACKET
UCEERR_UNSUPPORTEDTRANSPORTVERSION
ucI9N(u]
UCMUCSI_FAILURE
UCMUCSI_LIVEDUMP
u)D9n(t#E3
u(D9#u#eH
u)D9v t2H
uDeFDdlD
UDFS_FILE_SYSTEM
uED91v7H
u(fA9F u!A
uFA9w u@I
ufH9;uaH
UFX_LIVEDUMP
ugD9u@ua
uGH9u7t!H
ugL9mot5L
u-H98u(H
u]H98uXL
uHD9!v:H
uHH9]@t	H
!u H!u(H
_ui64toa_s
_ui64tow_s
ui9uwudL
UiaRaiseNotificationEvent
UIAutomationCore.DLL
UI_E_AMBIGUOUS_MATCH
UI_E_BOOLEAN_EXPECTED
UI_E_CREATE_FAILED
UI_E_DIFFERENT_OWNER
UI_E_END_KEYFRAME_NOT_DETERMINED
UI_E_FP_OVERFLOW
UI_E_ILLEGAL_REENTRANCY
UI_E_INVALID_DIMENSION
UI_E_INVALID_OUTPUT
UI_E_LOOPS_OVERLAP
UI_E_OBJECT_SEALED
UI_E_PRIMITIVE_OUT_OF_BOUNDS
UI_E_SHUTDOWN_CALLED
UI_E_START_KEYFRAME_AFTER_END
UI_E_STORYBOARD_ACTIVE
UI_E_STORYBOARD_NOT_PLAYING
UI_E_TIME_BEFORE_LAST_UPDATE
UI_E_TIMER_CLIENT_ALREADY_CONNECTED
UI_E_TRANSITION_ALREADY_USED
UI_E_TRANSITION_ECLIPSED
UI_E_TRANSITION_NOT_IN_STORYBOARD
UI_E_VALUE_NOT_DETERMINED
UI_E_VALUE_NOT_SET
UI_E_WINDOW_CLOSED
UI_E_WRONG_THREAD
UIF::LaunchUIF
uIH98uDH
uIH99uDH
uiL9[@ucL9[Hu]L9[PuW
UIntToInt failed
uj9wLu	9wP
uKM9	tFH
u.L98u)H
u:L9wht4H
ulLDDLlF
ultimateAutoIgnorableReasons
Ultimate forced reboot attempt failed so rescheduling again
u?ltktP5
_ultoa_s
_ultow_s
umac-128-etm@openssh.com
umac-128@openssh.com
umac-64-etm@openssh.com
umac-64@openssh.com
uMfD9#tG
UMgrEnumerateSessionUsers
UMgrFreeSessionUsers
UMgrQueryUserToken
Ummmmmmmmmmmm
UMPDC.dll
UmpoALPCMessageProcessingError
Unable to add the current thread to the descriptor
Unable to allocate memory for directory path
Unable to allocate memory for full name
Unable to allocate process history buffer
unable to alloc memory
Unable to apply connection arguments.
Unable to attach to active session
Unable to Auto Reboot during engaged. Instead scheduling next launch
Unable to change cuda clock mode.
Unable to CommitStore settings!
Unable to communicate with GPU because it is insufficiently powered.
Unable to construct cert chain for signing
Unable to create allowed event list filter
Unable to create blocking filter
Unable to create 'C' locale.
Unable to create counter instance
Unable to determine system path
Unable to determine the number of GPUs
Unable to get an error message for error code: 
Unable to get AppContainer registry location.
Unable to get a SyncWaitResult from pool!
Unable to get a TSMsg from pool!
Unable to get device by index
Unable to get property (TS_PROP_CORE_CONNECTION_IS_RAIL)
Unable to get property TS_PROP_CORE_CONNECTION_IS_RAIL!
Unable to get property (TS_PROP_CORE_EDGE_ACTIONS_V1_SUPPORTED)
Unable to get property (TS_PROP_TRANSPORT_TSG_IS_USED)
Unable to get property UTREG_UI_MANUAL_CLIP_SYNC_ENABLED!
Unable to get property UTREG_UI_ZOOM_LEVEL!
Unable to initialize counter instance
Unable to initialize file name from moniker!
- unable to initialize heap
- unable to open console device
Unable to open main database
unable to open service handle
Unable to parse groupId after --sync-boost-remove argument.
Unable to push new event filter
Unable to QI for IID_ITSQueuedCallback
unable to remove all listeners
unable to retrieve wpgmptr
Unable to set property UTREG_UI_ZOOM_LEVEL!
Unable to show for current state because user did not enable the notification.
__unaligned
UnattendAddResults
UnattendCreateduser
UnattendCtxBeginModify
UnattendCtxCancelModify
UnattendCtxCleanup
UnattendCtxCommitModify
UnattendCtxDeserializeWithResults
UnattendCtxGetEnumValueByNode
UnattendCtxGetFlagByNode
UnattendCtxOpenNode
UnattendCtxReplaceMatchedNodesWithText
UnattendCtxSerialize
UnattendCtxSerializeSettingsStream
UNATTEND.DLL
UnattendErrorFromResults
UnattendFindAnswerFileWithResults
UnattendFindFileFromCmdLine
UnattendFreeNode
UnattendFreeResults
UnattendLogAV
UnattendMarkPassUsedInCtx
UnattributedActiveTimeBuckets
UnattributedActiveTimePerBucket
UnattributedNonActiveTimeBuckets
UnattributedNonActiveTimePerBucket
__uncaught_exception
?uncaught_exception@std@@YA_NXZ
uncertain
UnclassifiedReadError
uncorralDuration_ms
UncorralProcessors
Uncorrectable Error
UNDEFINED
Undefined Status
underlying hardware stack.
Undocked Profile
undoCommand
unexpected
Unexpected 0 next write offset.
Unexpected arguments passed to interactive toast
unexpected bytes remain after decoding
Unexpected consent status
unexpected end of input
unexpected end-of-options
Unexpected files downloaded
- unexpected heap error
Unexpected icon file type encountered
UNEXPECTED_INITIALIZATION_CALL
unexpected internal error
UNEXPECTED_KERNEL_MODE_TRAP
- unexpected multithread lock error
Unexpected null offsets
Unexpected NVML event
Unexpected reboot type
Unexpected : Showing reboot failed dialog but last attempt is not marked as failed in session
Unexpected : Showing reboot failed dialog but Last reboot scheduled time was not found in session; defaulting to current time.
UNEXPECTED_STORE_EXCEPTION
Unexpected token
Unexpected UxBroker state
Unexpected ux reboot state in extended reboot. So setting default value.
UnhandledExceptionFilter
UnhookWindowsHookEx
UnhookWinEvent
UnicastIpAddresses
UnicodeToMB
Uninitialized
uninitialized variable bug in the driver.
UninitializeOSKSupport
UninitLocalMsCtfMonitor
UnInitProcessPriv
UnInitThread
UninstallNetComponent
UninstallNetComponentResult
UnionRect
  UNIT MODIFICATION OPTIONS:
Unix domain server sockets are not supported
unix listener
unix_listener
unknown certificate key type
UNKNOWN_CERT_TYPE
unknown channel type
Unknown command passed to EtwWmitraceWorker.
unknown compression method
Unknown consent status
Unknown context menu command id.
unknown error
Unknown error
Unknown Error
Unknown exception
Unknown file encoding
Unknown Hard Error
UNKNOWN_HASH_TYPE
unknown header flags set
UnknownIoCtl
Unknown json error
unknown key option
Unknown ls sort type
unknown or unsupported key type
Unknown port forwarding.
Unknown prime type
unknown reason
Unknown registry value data type
Unknown registry value type
Unknown request body content type
UNKNOWN-SERVER
Unknown source
Unknown status
Unknown user id type
	unless you limit it to one device with the "--device"
Unlicensed
Unlicensed (Restricted)
Unlicensed (Unrestricted)
unlimited
UnloadPatch
UnloadPatchForUser
Unlocked
UnmapViewOfFile
Unmatched Quote in command line
UNMOUNTABLE_BOOT_VOLUME
UnprotectStatus
Unread Buffered Data
UnrealizeObject
UnrecoverableLinkFailureCount
UnrecoverableLinkFailureLocations
UnrecoverableLoadFailureCount
UnrecoverableLoadFailureLocations
UnregisterAppId failed!
UnregisterClassA
UnregisterClassW
UnregisterHotKey
Unregistering viewer stream failed
UnregisterServer failed!
UnregisterTouchWindow
UnregisterTraceGuids
UnregisterWaitEx
unRegServer
UNRESTRICTED
(unspecified)
Unspecified error
Unstructered_Data_Too_Soon
Unstructured_Overruns_Buffer
UNSUPPORTED_INSTRUCTION_MODE
UnsupportedOperation
UnsupportedOperation(Aggregate)
UNSUPPORTED_PROCESSOR
Unterminated quoted argument
UnwritableIAT
UnwritableImportDirectory
uO9Q(tJL
uOD9ultI
uOD;uPsFE3
uOL9s@t'H
*UowCount
UowCount
UoW Count
UpdateColors
UpdateCredActionText
UPDATEDA
Update dialog
updatehostkeys
updateId
UpdateId
update_known_hosts
update_krl_from_file
UPDATEMA
UpdateModalDialogLaunched
UpdateNarratorSettingsFromReg
Update notification
UpdateNotificationLevel Policy is Configured
UpdateNotificationLevel Policy is Configured and disable all notifications
Update Option
UpdatePolicy.dll
UpdateProcThreadAttribute
UpdateReason
UpdateRevision
UpdateServerAuthState
updateState
UpdateStatusAlertAlertData
UpdateStatusAlertAlertType
UpdateStatusAlertEventtype
UpdateStatusAlertInformation
UpdateToastLaunched
?UpdateTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?UpdateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
UpdateUIProgressColor
UpdateUIProgressValue
UpdateUIText
UpdateUITextByID
UpdateUserName
UpdateUxBatterySaverEnabled
UpdateUxUserNotLoggedIn
UpdateUxUserProcessLaunched
UpdateUxUserProcessLaunchFailed
UpdateUxUserProcessTimeout
UpdateWindow
Updating
updddM8P
UP_DRIVER_ON_MP_SYSTEM
UploadCompletePage::OnListenedEvent
UploadCompletePage::OnSetActive
UploadConsentPage::OnListenedEvent
UploadConsentPage::OnSetActive
UploadFailurePage::OnListenedEvent
UploadFailurePage::OnSetActive
UploadFile
UploadFilePage::AddFile
UploadFilePage::AddPath
UploadFilePage::Copy
UploadFilePage::EnableViewButton
UploadFilePage::GetSelectedFile
UploadFilePage::NotifyHandler
UploadFilePage::OnListenedEvent
UploadFilePage::OnSetActive
UploadFilePage::OnWizNext
UploadMode::Run
upper layer's completion routine. Please use
UPShared.dll
UptimeDeltaMS
upToDateStatus
Up To date Status
UpToDateStatus
UpToDateStatus set through OneSettings
UpToDateStatusText
UpToDate status timestamp check result
UpToDateStatusTimestamp state variable not found
uQ8W@uLH
UrlCombine failed
UrlCombineW
UrlCreateFromPathW
UrlCreateFromPathW failed
urlmon.dll
    Usage: nvidia-smi daemon [options]
    Usage: nvidia-smi dmon [options]
    Usage: nvidia-smi pmon [options]
    Usage: nvidia-smi replay [options]
usage: scp [-346BCpqrTv] [-c cipher] [-F ssh_config] [-i identity_file]
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]
usage: ssh-keygen [-q] [-b bits] [-C comment] [-f output_keyfile] [-m format]
UsageSubscriptionLoadStatus
UsageSubscriptionUpdateCorruptedBuffer
@USATAUAVAWH
USATAUAVAWH
@USATAUAWH
USAUAVAWH
USAUAVAWI
USB_DRIPS_BLOCKER_SURPRISE_REMOVAL_LIVEDUMP
Use at your own risk!
useDevice
used_gpu_memory
            Used GPU Memory               : Not available in WDDM driver model
used_memory
USELEGACYAPICMODE
useMouse
useMultiMon
UseOriginalBootConfig
USEPHYSICALAPIC
USEPLATFORMCLOCK
USEPLATFORMTICK
usePrediction
useprivilegedport
USER32.dll
USER32.DLL
UserAgentOrigin
userauth_gssapi
userauth_hostbased
userauth_kbdint
userauth_kbdint: disable: no info_req_seen
userauth_none
userauth_passwd
userAway
UserCetAppcompatOptionsUpdated
UserCetBasicModeAllowRetTargetNotCetCompat shim: failed to register.
UserCetSetContextIpValidationFailure
User clicked on Cancel option
User clicked on Change active hours option
User clicked on Confirm option
User clicked on Don't change active hours option
User clicked on Not now
User clicked on Not now option
User clicked on Ok option
User clicked on OK option
User clicked on OK option on reboot imminent dialog
User clicked on option to pick a time
User clicked on option to restart in 5 minutes
User clicked on pick a time option
User clicked on RemindMeLater
User clicked on RemindMeLater for last reminder dialog during engaged
User clicked on Restart in 5 minutes
User clicked on RestartNow option
User clicked on Schedule or Reschedule in Allow Scheduling
User clicked on Snooze option on first reminder
User clicked on Snooze option on second reminder
User clicked on TryLater in Allow Scheduling
User clicked on Wait an Hour option
UserCommand
UserComment
User confirmed the reboot so attempting a forced reboot
-userConsentStatus
userConsentStatusInfo
userContext
User Defined Clocks
user denied adding this key
User did not schedule a reboot so checking for valid dialog time
UserDoesNotHaveRebootPrivilegeNotDisplayingNotifications
USERENV.dll
user information
userInitiated
UserInitiatedDisplayBurstStatus
User is logged in
 user is logged in and active so show the forced precursor dialog.
User is not active or presenting to show forced precursor. Rescheduling to show notification.
User is not logged in
User is not logged in to show a notification so initiate a reboot for NoAutoRebootWithUsersLoggedOn Policy.
userknownhostsfile
userknownhostsfile2
user local
USER_MODE_HEALTH_MONITOR
USER_MODE_HEALTH_MONITOR_LIVEDUMP
Username
UserName
useroaming
UserOOBEBroker.pdb
UserPassword
       User provided string to append the log file name
User Response
User response ID
UserResponseString
User scheduled a reboot so no other action is needed.
UserScheduledRebootDialog
User scheduled reboot failed so scheduling again
User scheduled reboot in engaged so soft force reboot
User scheduled reboot (wait an hour) so soft force reboot
User scheduled this reboot attemmpt so show the reboot dialog
User selected Confirm option so scheduling a force reboot
User specified frequency at which applications will be running at. Can be changed with [-ac | --applications-clocks] switches.
User specified frequency of graphics (shader) clock.
User specified frequency of memory clock.
UsersRunDllW
userStatus
UserToken
Use smart active hours
Use smart scheduling for reboot
usH90unH
usingAcTime
Using ALL devices
Using NotifyToReboot as reboot workflow
Using previously persisted global flight reboot time to enforce reboot.
Using previously persisted global update reboot time to enforce reboot.
Using RebootActiveHoursAutomatic as reboot workflow
USORebootInvoked
@USVATAUAVAWH
USVATAUAVAWH
@USVATAUAVH
@USVATAVAWH
@USVAUAVAWH
@USVAUAVH
USVAVAWH
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
@USVWATAUH
USVWATAUH
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
USVWATAVH
@USVWATAWH
USVWATAWH
@USVWATH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAUAVH
USVWAUAVH
@USVWAUAWH
@USVWAUH
@USVWAVAWH
USVWAVAWH
@USVWAVH
@USVWAWH
@USWATAUAVAWH
USWATAUAVAWH
@USWATAUH
@USWATAVAWH
USWATAVAWH
@USWATAVH
USWATAVH
@USWATAWH
@USWAUAVAWH
USWAUAVAWH
@USWAUAWH
@USWAVAWH
UTC_E_ACTION_NOT_SUPPORTED_IN_DESTINATION
UTC_E_AGENT_DIAGNOSTICS_TOO_LARGE
UTC_E_ALTERNATIVE_TRACE_CANNOT_PREEMPT
UTC_E_AOT_NOT_RUNNING
UTC_E_API_BUSY
UTC_E_API_NOT_SUPPORTED
UTC_E_API_RESULT_UNAVAILABLE
UTC_E_BINARY_MISSING
UTC_E_CANNOT_LOAD_SCENARIO_EDITOR_XML
UTC_E_CERT_REV_FAILED
UTC_E_CHILD_PROCESS_FAILED
UTC_E_COMMAND_LINE_NOT_AUTHORIZED
UTC_E_DELAY_TERMINATED
UTC_E_DEVICE_TICKET_ERROR
UTC_E_DIAGRULES_SCHEMAVERSION_MISMATCH
UTC_E_ESCALATION_ALREADY_RUNNING
UTC_E_ESCALATION_CANCELLED_AT_SHUTDOWN
UTC_E_ESCALATION_DIRECTORY_ALREADY_EXISTS
UTC_E_ESCALATION_NOT_AUTHORIZED
UTC_E_ESCALATION_TIMED_OUT
UTC_E_EVENTLOG_ENTRY_MALFORMED
UTC_E_EXCLUSIVITY_NOT_AVAILABLE
UTC_E_EXE_TERMINATED
UTC_E_FAILED_TO_RECEIVE_AGENT_DIAGNOSTICS
UTC_E_FAILED_TO_RESOLVE_CONTAINER_ID
UTC_E_FAILED_TO_START_NDISCAP
UTC_E_FILTER_FUNCTION_RESTRICTED
UTC_E_FILTER_ILLEGAL_EVAL
UTC_E_FILTER_INVALID_COMMAND
UTC_E_FILTER_INVALID_FUNCTION
UTC_E_FILTER_INVALID_FUNCTION_PARAMS
UTC_E_FILTER_INVALID_TYPE
UTC_E_FILTER_MISSING_ATTRIBUTE
UTC_E_FILTER_VARIABLE_NOT_FOUND
UTC_E_FILTER_VERSION_MISMATCH
UTC_E_FORWARDER_ALREADY_DISABLED
UTC_E_FORWARDER_ALREADY_ENABLED
UTC_E_FORWARDER_PRODUCER_MISMATCH
UTC_E_GETFILE_EXTERNAL_PATH_NOT_APPROVED
UTC_E_GETFILE_FILE_PATH_NOT_APPROVED
UTC_E_GETFILEINFOACTION_FILE_NOT_APPROVED
UTC_E_INSUFFICIENT_SPACE_TO_START_TRACE
UTC_E_INTENTIONAL_SCRIPT_FAILURE
UTC_E_INVALID_AGGREGATION_STRUCT
UTC_E_INVALID_CUSTOM_FILTER
UTC_E_INVALID_FILTER
UTC_E_KERNELDUMP_LIMIT_REACHED
UTC_E_MISSING_AGGREGATE_EVENT_TAG
UTC_E_MULTIPLE_TIME_TRIGGER_ON_SINGLE_STATE
UTC_E_NO_WER_LOGGER_SUPPORTED
UTC_E_PERFTRACK_ALREADY_TRACING
UTC_E_REACHED_MAX_ESCALATIONS
UTC_E_REESCALATED_TOO_QUICKLY
UTC_E_RPC_TIMEOUT
UTC_E_RPC_WAIT_FAILED
UTC_E_SCENARIODEF_NOT_FOUND
UTC_E_SCENARIODEF_SCHEMAVERSION_MISMATCH
UTC_E_SCENARIO_HAS_NO_ACTIONS
UTC_E_SCENARIO_THROTTLED
UTC_E_SCRIPT_MISSING
UTC_E_SCRIPT_TERMINATED
UTC_E_SCRIPT_TYPE_INVALID
UTC_E_SETREGKEYACTION_TYPE_NOT_APPROVED
UTC_E_SETUP_NOT_AUTHORIZED
UTC_E_SETUP_TIMED_OUT
UTC_E_SIF_NOT_SUPPORTED
UTC_E_SQM_INIT_FAILED
UTC_E_THROTTLED
UTC_E_TIME_TRIGGER_INVALID_TIME_RANGE
UTC_E_TIME_TRIGGER_ONLY_VALID_ON_SINGLE_TRANSITION
UTC_E_TIME_TRIGGER_ON_START_INVALID
UTC_E_TOGGLE_TRACE_STARTED
UTC_E_TRACE_BUFFER_LIMIT_EXCEEDED
UTC_E_TRACE_MIN_DURATION_REQUIREMENT_NOT_MET
UTC_E_TRACE_NOT_RUNNING
UTC_E_TRACEPROFILE_NOT_FOUND
UTC_E_TRACERS_DONT_EXIST
UTC_E_TRIGGER_MISMATCH
UTC_E_TRIGGER_NOT_FOUND
UTC_E_TRY_GET_SCENARIO_TIMEOUT_EXCEEDED
UTC_E_TTTRACER_RETURNED_ERROR
UTC_E_TTTRACER_STORAGE_FULL
UTC_E_UNABLE_TO_RESOLVE_SESSION
UTC_E_UNAPPROVED_SCRIPT
UTC_E_WINRT_INIT_FAILED
UTCMetadata_Commandline
UTCMetadata_ImageChecksum
UTCMetadata_ImageTimeDateStamp
UTCMetadata_PackageName
UTCMetadata_PRAID
UTCReplace_AppSessionGuid
UTCReplace_CommandLineHash
UTCReplace_CommandLineHash_FromEventData
UTCReplace_LicenseType
UTCReplace_LicenseType_FromEventData
UTCReplace_TargetAppId
UTCReplace_TargetAppId_FromEventData
UTCReplace_TargetAppType
UTCReplace_TargetAppType_FromEventData
UTCReplace_TargetAppVer
UTCReplace_TargetAppVer_FromEventData
UTF-16LE
UTF-16LEUNICODE
utf16_to_utf8 failed!
--utilization
utilization
    Utilization
Utilization
utilization.gpu
utilization.memory
UTILSCLK
uttttttttttttttttttttttttttttt
uuE9Y@|t
UuidCreate
UuidFromStringA
UuidFromStringW
UuidToStringA
UuidToStringW
uuL98upH
                              u - Utilization
uuuu				
UUUU((((
UUUUUUUU
UUUUUUUUH
UUUUUUUUH#
UUUUUUUUI
UUUUUUUUI3
UUUUUUUUL
UUUUUUUUM
@UVATAUAVAWH
UVATAUAVAWH
@UVATAUAVH
UVATAUAVI
@UVATAVAWH
UVATAVAWH
@UVATAWH
@UVAUAVAWH
UVAUAVAWH
@UVAUAWH
@UVAVAWH
UVWATAUAVAW
@UVWATAUAVAWH
UVWATAUAVAWH
@UVWATAUAVH
UVWATAUH
@UVWATAVAWH
UVWATAVAWH
UVWATAVAWI
@UVWATAVH
UVWATAVH
@UVWATAWH
UVWATAWH
@UVWAUAVAWH
UVWAUAVAWH
UVWAUAVH
@UVWAUAWH
UVWAUAWH
@UVWAVAWH
[ UVWAVAWH
UVWAVAWH
@UWATAUAVAW
@UWATAUAVAWH
UWATAUAVAWH
@UWATAUAVH
UWATAUAVH
@UWATAUAWH
UWATAUAWH
UWATAUAWI
UWATAVAW
@UWATAVAWH
UWATAVAWH
@UWATAWH
@UWAUAVAWH
UWAUAVAWH
@UWAVAWH
uWD;uXsNE3
uwwwXttt*ttt
UX attention required reason - Promoted Seeker
UxBrokerExpectedNextState
UxBroker expected next state : Allow Snooze reminder Dialog
UxBroker expected next state : Forced Reboot Dialog
UxBroker expected next state : Forced Reboot reminder
UxBroker expected next state : Reboot Dialog
UxBrokerFirstReadyToReboot
UxBrokerGraceDeadlinePolicy
UxBrokerLaunched
UxBrokerLaunchedByRebootScheduledTask
UxBrokerMgmtState
UxBroker next notification scheduled
UxBrokerRebootResults
UxBrokerUpdateState
UxBrokerWorkflow
uxD9kXtrH
uXD9mHu!H
UxNextState
UxRebootState
UX reboot State:
UxRebootWorkflowRun
UxStartState
Ux state
UX State
Ux State enum value
UX state is None so notification is not shown.
UX state to show notification is None.
UxTheme.dll
uYH98uTH
uYL97uTH
uzD9sTut
v100.5_vb_release_svc_2021-10-19T12:58:38_2021-10-19T12:58:38
V22dN::t
ValidateAcctParameters
ValidateAndOverrideGPSettings
ValidateApphelpData
ValidateCertificate failed
ValidateCertSubject
ValidatePackageToMigrate failed:  package does not get migrated
ValidatePackageToMigrate returned false:  package does not get migrated
ValidateRect
ValidateSupportKey
validLogs
Valid time to reboot so attempting a forced reboot
valueLength
                                             values
value too large
Value too large to be stored in data type
variableName
variantKind
varPropertyValue.Clear failed
@VATAUAVAWH
VATAUAVAWH
VATAVAWH
  -v          Be more verbose.
VBIOS_HASH_NOT_STARTED
VBiosStatus
vbios_version
VBIOS Version
--vboost
vCNIA;4-*!
VD9sTuPD9sLuJD9sXuD
vDbgPrintEx
vDbgPrintExWithPrefix
__vectorcall
vector_init failed for storing the threads
VelocityFeatureOn
vendorGuid
Vendor Id
VendorType
VENDOR_UNKNOWN
--verbose
*** Verifier assertion failed ***
*********** Verifier Detected a Code Integrity Issue ************
************ Verifier Detected a Potential Deadlock *************
verify_host_key
verify_host_key_dns
verifyhostkeydns
VerifyServerCreds
VerifySignature failed
VerifySignedDataPKCS7
VerifySyncHdrData
VerifyVersionInfoW
VerQueryValueW
VerQueryValueW!
VerSetConditionMask
--version
Version block has bad size
Version block invalid
VersionBlock is too long
VersionBlock not long enough
Version block out of range
VERSION.dll
Version for the ECC recording data.
Version for the OEM configuration data.
Version for the power management data.
version                            Show SFTP version
VetoedDeviceInstanceId
VetoName
	VetoType
VfCheckNxPagePriority
VfCheckNxPageProtection
VfCheckNxPoolType
VfFailDeviceNode
VfFailDriver
VfFailSystemBIOS
vffffffp
VfInsertContext
VfIsRuleClassEnabled
VfIsVerificationEnabled
vfprintf
VfQueryDeviceContext
VfQueryDispatchTable
VfQueryDriverContext
VfQueryIrpContext
VfQueryThreadContext
VfRemoveContext
vfwprintf
    vgpu -- Display vGPU information.
|      vGPU ID     Name           | VM ID     VM Name            | vGPU-Util  |
vgpu_instance
vGPU instance
vGPU Name
    vGPU Software Licensed Product
VGPU_START_ERROR
vGPU Type
vGPU Type ID
vGPU UUID
V(H9Z u	
VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE
VHD_BOOT_INITIALIZATION_FAILED
via a call to IoMarkIrpPending.
vibnlbb[[[bC!
VidBitBlt
VidBitBltEx
VidBufferToScreenBlt
VidCleanUp
VidDisplayString
video_clock
VIDEO_DRIVER_DEBUG_REPORT_REQUEST
VIDEO_DRIVER_INIT_FAILURE
VIDEO_DWMINIT_TIMEOUT_FALLBACK_BDD
VIDEO_DXGKRNL_BLACK_SCREEN_LIVEDUMP
VIDEO_DXGKRNL_FATAL_ERROR
VIDEO_DXGKRNL_LIVEDUMP
VIDEO_ENGINE_TIMEOUT_DETECTED
VIDEO_MEMORY_MANAGEMENT_INTERNAL
VIDEO_MINIPORT_BLACK_SCREEN_LIVEDUMP
VIDEO_MINIPORT_FAILED_LIVEDUMP
VIDEO_SCHEDULER_INTERNAL_ERROR
VIDEO_SHADOW_DRIVER_FATAL_ERROR
VIDEO_TDR_APPLICATION_BLOCKED
VIDEO_TDR_FAILURE
VIDEO_TDR_TIMEOUT_DETECTED
VidInitialize
VidResetDisplay
VidScreenToBufferBlt
VidSetScrollRegion
VidSetTextColor
VidSolidColorFill
VIEW_E_DRAW
View failed
ViewHelp
VIEW_S_ALREADY_FROZEN
V	?Initialize@CCListView@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
                      violThm and xidEvent
VirtualAlloc
VirtualFree
virtualization_mode
Virtualization Mode
VirtualProtect
VirtualQuery
VirtualSizeBytes
visualhostkey
vklLcdDTxXE:e:M:m:qs:t:
VM_SAVED_STATE_DUMP_E_GUEST_MEMORY_NOT_FOUND
VM_SAVED_STATE_DUMP_E_NESTED_VIRTUALIZATION_NOT_SUPPORTED
VM_SAVED_STATE_DUMP_E_NO_VP_FOUND_IN_PARTITION_STATE
VM_SAVED_STATE_DUMP_E_PARTITION_STATE_NOT_FOUND
VM_SAVED_STATE_DUMP_E_PDE_NOT_PRESENT
VM_SAVED_STATE_DUMP_E_PDPTE_NOT_PRESENT
VM_SAVED_STATE_DUMP_E_PTE_NOT_PRESENT
VM_SAVED_STATE_DUMP_E_PXE_NOT_PRESENT
VM_SAVED_STATE_DUMP_E_WINDOWS_KERNEL_IMAGE_NOT_FOUND
volatile
        Volatile
Volatile
VOLATILE
volatile_count
VOLATILE_REGISTRY_NOT_FOUND
VOLMGRX_INTERNAL_ERROR
VOLSNAP_OVERLAPPED_TABLE_ACCESS
    Voltage
Voltage Reg. 1
Voltage Reg. 2
Voltage Reg. 3
Voltage Reg. 4
VoltRail
VOLT_RAIL_INVALID
VOLT_RAIL_LOGIC
VOLT_RAIL_SRAM
volumeLogSizeCap
                              v - Power and Thermal Violations
VpptPhysicalTimer
]VQ(a[W'aYU
vr1_temp
vr2_temp
vr3_temp
vr4_temp
_vscwprintf
VslCreateSecureSection
VslDeleteSecureSection
VslExchangeEntropy
VslGetSecurePciDeviceAlternateFunctionNumberForVtl0Dma
VslGetSecurePciEnabled
VSL_INITIALIZATION_FAILED
VslQuerySecureDevice
VslRetrieveMailbox
_vsnprintf
_vsnprintf_s
_vsnwprintf
_vsnwprintf_s
vsprintf
vsprintf_s
_vswprintf
vswprintf_s
vtl1AuthBlob
vttttttttttttttttttttttttttttt
vvvv[[[[
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
vvvvvxxoris
VWATAUAVAW
@VWATAUAVAWH
VWATAUAVAWH
@VWATAUAVH
[ VWATAUAVH
VWATAUAVH
@VWATAUAWH
VWATAUAWH
@VWATAUH
VWATAVAW
@VWATAVAWH
VWATAVAWH
@VWATAWH
@VWAUAVAW
VWAUAVAWH
@VWAVAWH
??_V@YAXPEAX@Z
w0H;5f0D
w32_accept
w32_bind
w32_connect
w32_dup2
w32_fchmod
w32_fcntl
w32_fstat
w32_fsync
w32_ftruncate
w32_getpeername
w32_getsockname
w32_getsockopt
w32_listen
w32_lseek
W32pArgumentTable
W32pArgumentTableFilter
W32pServiceLimit
W32pServiceLimitFilter
W32pServiceTable
W32pServiceTableFilter
w32_read
w32_select
w32_setsockopt
w32_shutdown
w32_write
w32_writev
w5wwwWwvx
w8;_hhiihc
_waccess
WaitAllowed
Wait failed
wait_for_any_event() - ERROR max events reached
Wait for broadcasting message returned
WaitForMultipleObjects
WaitForMultipleObjectsEx
WaitForProgressPage
WaitForSingleObject
WaitForSingleObjectEx
WaitForSingleObject failed
WaitForThreadpoolIoCallbacks
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWorkCallbacks
wait_ieof
wait_oclose
Wait result
WaitTimeInSeconds
WAIT_TIMEOUT
WakeAlarmPresent
WakeAllConditionVariable
wakeTime
WakeTimerReason
WakeTimerRequester
@w.A]_ko
WalkRolesMigratingUsers failed
warn_changed_key
Warning:ConfigUtil::CheckIfUserLoggedInWhenMgmtPolicySet:64
Warning: Could not request remote forwarding.
Warning: EXCLUSIVE_THREAD mode is deprecated and will be removed in future releases.
Warning: Getting counter control is deprecated!
Warning: Getting counters using option -g is deprecated. 
WARNING: infoROM is corrupted
Warning:InteractiveToast::InvokeRestartNow:3929
WARNING_IPSEC_MM_POLICY_PRUNED
WARNING_IPSEC_QM_POLICY_PRUNED
Warning: No xauth data; using fake authentication data for X11 forwarding.
WARNING: Only monitoring up to 4 GPUs is supported by default.
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
Warning:RebootActiveHoursAutomatic::OnFirstReadyToReboot:161
Warning:RebootActiveHoursAutomatic::OnForceRebootDevice:757
Warning:RebootActiveHoursAutomatic::OnForceRebootReminder:481
Warning:RebootActiveHoursAutomatic::OnRebootDevice:384
Warning:RebootActiveHoursAutomatic::OnRebootDialog:253
Warning:RebootActiveHoursAutomatic::PostponeRebootDialog:2036
Warning:RebootActiveHoursAutomatic::ScheduleForcedRestartReminder:1451
Warning:RebootActiveHoursAutomatic::ScheduleForceReboot:2792
Warning:RebootActiveHoursAutomatic::ScheduleReboot:2154
Warning:RebootActiveHoursAutomatic::ScheduleRebootDialog:1920
Warning:RebootWorkflowMandatory::OnFirstReadyToReboot:156
Warning:RebootWorkflowMgmtUpdates::ExecuteScheduledTimeNoUXPolicy:761
Warning:RebootWorkflowMgmtUpdates::OnFirstReadyToReboot:149
Warning:RebootWorkflowMgmtUpdates::ScheduleRebootPostpone:962
Warning:RebootWorkflowMgmtUpdates::ShowRebootImminentDialog:1273
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
Warning: Resetting throughput counters is deprecated!
@       WARNING: REVOKED HOST KEY DETECTED!               @
Warning: Setting counter control is deprecated!
Warning: ssh server tried agent forwarding.
Warning: ssh server tried X11 forwarding.
WarningStatusTimestamp state variable not found
Warning: this is probably a break-in attempt by a malicious server.
Warning: This option is deprecated and will be removed in future releases
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
Warning:UpdateUtil::GetUpdatePayloadInfo:529
Warning:UXElementStore::CheckIfScenarioApplicable:479
Warning:UXElementStore::CheckIfScenarioApplicable:497
Warning:UXElementStore::ExtractCurrentScenario:719
Warning:UXElementStore::ExtractCurrentScenario:724
Warning:UXElementStore::ExtractCurrentScenario:729
Warning:UXElementStore::ExtractCurrentScenario:740
Warning:UXElementStore::ExtractValues:562
Warning:UXElementStore::ExtractValues:613
Warning:UXElementStore::ExtractValues:618
Warning:UXElementStore::GetImageFilePath:1322
Warning:UXElementStore::GetImageFilePath:1328
Warning:UXElementStore::GetStringValue:836
Warning:UXElementStore::GetXmlFilePath:1132
Warning:UXElementStore::GetXmlFilePath:1138
Warning:UXElementStore::GetXmlFilePath:1214
Warning:UXElementStore::GetXmlFilePath:1241
Warning:UXElementStore::GetXmlFilePath:1260
Warning:UXElementStore::Initialize:232
Warning:UXElementStore::Initialize:266
Warning:UXElementStore::Initialize:282
Warning:UXElementStore::Initialize:287
Warning:UXElementStore::Initialize:292
Warning:UXElementStore::Initialize:303
WasCompInstalled failed
WasCompInstalled returned false:  it was imported
Washington1
WasUpdateSuccessful
WasValidEntry
wasVertical
@WATAUAVAW
WATAUAVAWA
@WATAUAVAWH
[ WATAUAVAWH
WATAUAVAWH
WATAUAVAWMc
WATAUAVH
@WATAUAWH
WATAVAWA
WATAVAWH
Watchdog
WatchdogTimeout
WAUAVAWH
WAVEfmt 
waveOutGetNumDevs
WbWiWr_i_f_7_BwXwCwLwM
wcmapi.dll
WcmCloseOnDemandRequestHandle
WcmFreeMemory
WcmGetProfileListByPurpose
WcmOpenOnDemandRequestHandleByWwanProfileName
WcmQueryOnDemandRequestStateInfo
WcmStartOnDemandRequest
wcscat_s
wcscpy_s
_wcsicmp
_wcsicoll
_wcslwr_s
wcsncat_s
wcsncpy_s
	_wcsnicmp
_wcsnicmp
_wcsnset
_wcsnset_s
_wcsset_s
wcstok_s
wcstombs
wcstombs_s
wcstombs_s failed
_wcsupr_s
wDDDDDDDLdD
wDDDDDLDFLD
WDF_VIOLATION
WdsGenericSetupLogInit
WdsSetupLogDestroy
WdsSetupLogInit
WdsSetupLogMessageA
WdsSetupLogMessageW
weakCharger
WeakCharger
wEA;M0w?
WebAuthn: StringCchCat(WebAuthn.dll) failed
WebBrowser::Create
WebBrowser::CreateHWND
WebBrowser::Init
WebBrowser::LoadURL
WebBrowser::SetUSERFocusOnDocument
WEB_E_INVALID_JSON_NUMBER
WEB_E_INVALID_JSON_STRING
WEB_E_INVALID_XML
WEB_E_JSON_VALUE_NOT_FOUND
WEB_E_MISSING_REQUIRED_ATTRIBUTE
WEB_E_MISSING_REQUIRED_ELEMENT
WEB_E_RESOURCE_TOO_LARGE
WEB_E_UNEXPECTED_CONTENT
WEB_E_UNSUPPORTED_FORMAT
webFileName
wEDDDDDDDFLdLG
Wednesday
well-known services
WEP_E_BUFFER_TOO_LARGE
WEP_E_FIXED_DATA_NOT_SUPPORTED
WEP_E_HARDWARE_NOT_COMPLIANT
WEP_E_LOCK_NOT_CONFIGURED
WEP_E_NO_LICENSE
WEP_E_NOT_PROVISIONED_ON_ALL_VOLUMES
WEP_E_OS_NOT_PROTECTED
WEP_E_PROTECTION_SUSPENDED
WEP_E_UNEXPECTED_FAIL
WER_E_ALREADY_REPORTING
WER_E_CANCELED
WER_E_CRASH_FAILURE
WER_E_DUMP_THROTTLED
WER_E_INSUFFICIENT_CONSENT
WER_E_NETWORK_FAILURE
WER_E_NOT_INITIALIZED
WER_E_TOO_HEAVY
WerLiveKernelCancelReport
WerLiveKernelCloseHandle
WerLiveKernelCreateReport
WerLiveKernelInitSystem
WerLiveKernelOpenDumpFile
WerLiveKernelSubmitReport
WerReportAddFile
WerReportCloseHandle
WerReportCreate
WerReportExceptionWorker
WerReportSetParameter
WerReportSubmit
WER_S_ASSERT_CONTINUE
WER_S_DISABLED
WER_S_DISABLED_ARCHIVE
WER_S_DISABLED_QUEUE
WER_S_IGNORE_ALL_ASSERTS
WER_S_IGNORE_ASSERT_INSTANCE
WER_S_REPORT_ASYNC
WER_S_REPORT_DEBUG
WER_S_REPORT_QUEUED
WER_S_REPORT_UPLOADED
WER_S_REPORT_UPLOADED_CAB
WER_S_SUSPENDED_UPLOAD
WER_S_THROTTLED
wevtapi.dll
wFailed to create the global objects
wfffffffwww
WFP_INVALID_OPERATION
_wgetcwd
__wgetmainargs
wH44844440!!
?what@exception@@UEBAPEBDXZ
WHD9*tAD
WheaAddErrorSource
WheaAddErrorSourceDeviceDriver
WheaAddErrorSourceDeviceDriverV1
WheaAddHwErrorReportSectionDeviceDriver
WheaAttemptClearPoison
WheaAttemptPhysicalPageOffline
WheaConfigureErrorSource
WheaCreateHwErrorReportDeviceDriver
WheaDeferredRecoveryService
WheaGetErrorSource
WheaHighIrqlLogSelEventHandlerRegister
WheaHighIrqlLogSelEventHandlerUnregister
WheaHwErrorReportAbandonDeviceDriver
WheaHwErrorReportGetLogDataBufferDeviceDriver
WheaHwErrorReportMarkAsCriticalDeviceDriver
WheaHwErrorReportSetFatalSeverityDeviceDriver
WheaHwErrorReportSetSectionNameDeviceDriver
WheaHwErrorReportSetSeverityDeviceDriver
WheaHwErrorReportSubmitDeviceDriver
WheaInitializeDeferredRecoveryObject
WheaInitializeRecordHeader
WHEA_INTERNAL_ERROR
WheaLogInternalEvent
WheaRegisterInUsePageOfflineNotification
WheaRemoveErrorSource
WheaRemoveErrorSourceDeviceDriver
WheaReportFatalHwErrorDeviceDriverEx
WheaReportHwError
WheaReportHwErrorDeviceDriver
WheaReportHwErrorDeviceDriverEx
WheaRequestDeferredRecovery
WheaUnconfigureErrorSource
WHEA_UNCORRECTABLE_ERROR
WheaUnregisterInUsePageOfflineNotification
Whether or not a row remapping has failed in the past.
Whether or not there are pending row-remappings.
WHV_E_GPA_RANGE_NOT_FOUND
WHV_E_INSUFFICIENT_BUFFER
WHV_E_INVALID_PARTITION_CONFIG
WHV_E_INVALID_VP_REGISTER_NAME
WHV_E_INVALID_VP_STATE
WHV_E_UNKNOWN_CAPABILITY
WHV_E_UNKNOWN_PROPERTY
WHV_E_UNSUPPORTED_HYPERVISOR_CONFIG
WHV_E_UNSUPPORTED_PROCESSOR_CONFIG
WHV_E_VP_ALREADY_EXISTS
WHV_E_VP_DOES_NOT_EXIST
w?H;x r?H
wibbH[H!
WideCharToMultiByte
wilActivity
WilError_03
 * will boost to the minimum possible clocks across the entire group. Look at
 (will confirm each use)
WillEvaluate
wilResult
WilStaging_02
Win32DpiApi
Win32DpiApi::CreateInstance failed!
WIN32K_ATOMIC_CHECK_FAILURE
WIN32K_CALLOUT_WATCHDOG_BUGCHECK
WIN32K_CALLOUT_WATCHDOG_LIVEDUMP
WIN32K_CRITICAL_FAILURE
WIN32K_CRITICAL_FAILURE_LIVEDUMP
WIN32K_HANDLE_MANAGER
WIN32K_INIT_OR_RIT_FAILURE
WIN32K_POWER_WATCHDOG_TIMEOUT
WIN32K_SECURITY_FAILURE
WINCODEC_ERR_ALREADYLOCKED
WINCODEC_ERR_BADHEADER
WINCODEC_ERR_BADIMAGE
WINCODEC_ERR_BADMETADATAHEADER
WINCODEC_ERR_BADSTREAMDATA
WINCODEC_ERR_CODECNOTHUMBNAIL
WINCODEC_ERR_CODECPRESENT
WINCODEC_ERR_CODECTOOMANYSCANLINES
WINCODEC_ERR_COMPONENTINITIALIZEFAILURE
WINCODEC_ERR_COMPONENTNOTFOUND
WINCODEC_ERR_DUPLICATEMETADATAPRESENT
WINCODEC_ERR_FRAMEMISSING
WINCODEC_ERR_IMAGESIZEOUTOFRANGE
WINCODEC_ERR_INSUFFICIENTBUFFER
WINCODEC_ERR_INTERNALERROR
WINCODEC_ERR_INVALIDJPEGSCANINDEX
WINCODEC_ERR_INVALIDPROGRESSIVELEVEL
WINCODEC_ERR_INVALIDQUERYCHARACTER
WINCODEC_ERR_INVALIDQUERYREQUEST
WINCODEC_ERR_INVALIDREGISTRATION
WINCODEC_ERR_NOTINITIALIZED
WINCODEC_ERR_PALETTEUNAVAILABLE
WINCODEC_ERR_PROPERTYNOTFOUND
WINCODEC_ERR_PROPERTYNOTSUPPORTED
WINCODEC_ERR_PROPERTYSIZE
WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE
WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT
WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS
WINCODEC_ERR_STREAMNOTAVAILABLE
WINCODEC_ERR_STREAMREAD
WINCODEC_ERR_STREAMWRITE
WINCODEC_ERR_TOOMUCHMETADATA
WINCODEC_ERR_UNEXPECTEDMETADATATYPE
WINCODEC_ERR_UNEXPECTEDSIZE
WINCODEC_ERR_UNKNOWNIMAGEFORMAT
WINCODEC_ERR_UNSUPPORTEDOPERATION
WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT
WINCODEC_ERR_UNSUPPORTEDVERSION
WINCODEC_ERR_VALUEOUTOFRANGE
WINCODEC_ERR_WIN32ERROR
WINCODEC_ERR_WRONGSTATE
windeploy.pdb
window adjust
window-change
WINDOW_CHANNEL_REGS
WindowFromPhysicalPoint
WindowFromPoint
Windows 4.0
WindowsCreateString
WindowsCreateStringReference
WindowsDeleteString
WindowsDeleteStringBuffer
WindowsGetStringRawBuffer
WindowsIsStringEmpty
WindowsPreallocateStringBuffer
WindowsPromoteStringBuffer
WindowsStringHasEmbeddedNull
Windows Update tray icon - context menu invoked
Windows Update tray icon - reboot failed
Windows Update tray icon - taskbar recreated
?_Winerror_map@std@@YAHH@Z
?_Winerror_map@std@@YAPEBDH@Z
?_Winerror_message@std@@YAKKPEADK@Z
WinHttpAddRequestHeaders
WinHttpCloseHandle
WinHttpConnect
WinHttpConnect failed
WinHttpCrackUrl
WinHttpCreateUrl
winhttp.dll
WINHTTP.dll
WinHttpGetDefaultProxyConfiguration
WinHttpGetIEProxyConfigForCurrentUser
WinHttpGetProxyForUrl
WinHttpOpen
WinHttpOpen failed
WinHttpOpenRequest
WinHttpOpenRequest failed
WinHttpPacJsWorkerMain
WinHttpQueryDataAvailable
WinHttpQueryHeaders
WinHttpQueryOption
WinHttpQueryOption failed
WinHttpReadData
WinHttpReceiveResponse
WinHttpSendRequest
WinHttpSetOption
WinHttpSetStatusCallback
WinHttpSetTimeouts
WinHttpWriteData
WININET.dll
WININET_E_ASYNC_THREAD_FAILED
WININET_E_BAD_AUTO_PROXY_SCRIPT
WININET_E_BAD_OPTION_LENGTH
WININET_E_BAD_REGISTRY_PARAMETER
WININET_E_CANNOT_CONNECT
WININET_E_CHG_POST_IS_NON_SECURE
WININET_E_CLIENT_AUTH_CERT_NEEDED
WININET_E_CLIENT_AUTH_NOT_SETUP
WININET_E_CONNECTION_ABORTED
WININET_E_CONNECTION_RESET
WININET_E_COOKIE_DECLINED
WININET_E_COOKIE_NEEDS_CONFIRMATION
WININET_E_DECODING_FAILED
WININET_E_DIALOG_PENDING
WININET_E_DISCONNECTED
WININET_E_DOWNLEVEL_SERVER
WININET_E_EXTENDED_ERROR
WININET_E_FAILED_DUETOSECURITYCHECK
WININET_E_FORCE_RETRY
WININET_E_HANDLE_EXISTS
WININET_E_HEADER_ALREADY_EXISTS
WININET_E_HEADER_NOT_FOUND
WININET_E_HTTPS_HTTP_SUBMIT_REDIR
WININET_E_HTTPS_TO_HTTP_ON_REDIR
WININET_E_HTTP_TO_HTTPS_ON_REDIR
WININET_E_INCORRECT_FORMAT
WININET_E_INCORRECT_HANDLE_STATE
WININET_E_INCORRECT_HANDLE_TYPE
WININET_E_INCORRECT_PASSWORD
WININET_E_INCORRECT_USER_NAME
WININET_E_INTERNAL_ERROR
WININET_E_INVALID_CA
WININET_E_INVALID_HEADER
WININET_E_INVALID_OPERATION
WININET_E_INVALID_OPTION
WININET_E_INVALID_PROXY_REQUEST
WININET_E_INVALID_QUERY_REQUEST
WININET_E_INVALID_SERVER_RESPONSE
WININET_E_INVALID_URL
WININET_E_ITEM_NOT_FOUND
WININET_E_LOGIN_FAILURE
WININET_E_LOGIN_FAILURE_DISPLAY_ENTITY_BODY
WININET_E_MIXED_SECURITY
WININET_E_NAME_NOT_RESOLVED
WININET_E_NEED_UI
WININET_E_NO_CALLBACK
WININET_E_NO_CONTEXT
WININET_E_NO_DIRECT_ACCESS
WININET_E_NO_NEW_CONTAINERS
WININET_E_NOT_INITIALIZED
WININET_E_NOT_PROXY_REQUEST
WININET_E_NOT_REDIRECTED
WININET_E_OPERATION_CANCELLED
WININET_E_OPTION_NOT_SETTABLE
WININET_E_OUT_OF_HANDLES
WININET_E_POST_IS_NON_SECURE
WININET_E_PROTOCOL_NOT_FOUND
WININET_E_PROXY_SERVER_UNREACHABLE
WININET_E_REDIRECT_FAILED
WININET_E_REDIRECT_NEEDS_CONFIRMATION
WININET_E_REDIRECT_SCHEME_CHANGE
WININET_E_REGISTRY_VALUE_NOT_FOUND
WININET_E_REQUEST_PENDING
WININET_E_RETRY_DIALOG
WININET_E_SEC_CERT_CN_INVALID
WININET_E_SEC_CERT_DATE_INVALID
WININET_E_SEC_CERT_ERRORS
WININET_E_SEC_CERT_REV_FAILED
WININET_E_SEC_CERT_REVOKED
WININET_E_SEC_INVALID_CERT
WININET_E_SECURITY_CHANNEL_ERROR
WININET_E_SERVER_UNREACHABLE
WININET_E_SHUTDOWN
WININET_E_TCPIP_NOT_INSTALLED
WININET_E_TIMEOUT
WININET_E_UNABLE_TO_CACHE_FILE
WININET_E_UNABLE_TO_DOWNLOAD_SCRIPT
WININET_E_UNRECOGNIZED_SCHEME
WinloadFatalError
WINML_ERR_INVALID_BINDING
WINML_ERR_INVALID_DEVICE
WINML_ERR_SIZE_MISMATCH
WINML_ERR_VALUE_NOTFOUND
WINMM.dll
	WINS lookup
	WINS lookup info
WINS lookup info
WINSOCK_DETECTED_HUNG_CLOSESOCKET_LIVEDUMP
WINSPOOL.DRV
WinSqmAddToStream
WinSqmAddToStreamEx
WinSqmEndSession
WinSqmIncrementDWORD
WinSqmIsOptedIn
WinSqmSetDWORD
WinSqmSetIfMaxDWORD
WinSqmStartSession
WINS reverse lookup info
	WINS reverse (nbstat) lookup
WINSTA.dll
WinStationCloseServer
WinStationEnumerateW
WinStationFreeMemory
WinStationOpenServerW
WinStationQueryInformationW
WinStationSendMessageW
WINTRUST.dll
WinVerifyTrust
    with GPU index 0) are used for monitoring purpose.
WizardPage::CloseButton
WizardPage::CreateAndGotoNextPage
WizardPage::EnableNamedTooltip
WizardPage::EnableTooltip
WizardPage::GetNamedHandle
WizardPage::GetPageManager
WizardPage::HideElement
WizardPage::HideNamedElement
WizardPage::LaunchLink
WizardPage::LaunchPrivacyLink
WizardPage::LoadIconW
WizardPage::OnMessage
WizardPage::OnWizBack
WizardPage::OnWizNext
WizardPage::SetAccValues
WizardPage::SetHeader
WizardPage::SetHeaderByID
WizardPage::SetNamedValues
WizardPage::SetupButtons
WizardPage::ShowNamedElement
wjojXQQI
WKCBfYQL
wkscli.dll
WkWm_p_k_F_GwFwZwEwG
WldpGetLockdownPolicy
           [-w local_tun[:remote_tun]] destination [command]
_wmakepath_s
WmiGetClock
WmiQueryTraceInformation
WmiTraceMessage
WmiTraceMessageVa
WMsgAPI.dll
WmsgSendMessage
?WndProc@HWNDElement@DirectUI@@UEAA_JPEAUHWND__@@I_K_J@Z
?WndProc@NativeHWNDHost@DirectUI@@SA_JPEAUHWND__@@I_K_J@Z
WNetAddConnection2W
WNetCancelConnection2W
WNetCloseEnum
WNetEnumResourceW
WNetGetConnectionW
WNetGetLastErrorW
WNetOpenEnumW
wnfPublishStatus
wOf9)t[L;
wokeSystem
Won't cleanup because the DONTCLEANUP flag is there
WORKER_INVALID
WorkerTaskComplete
WorkerThread
WORKER_THREAD_INVALID_STATE
WORKER_THREAD_RETURNED_AT_BAD_IRQL
WORKER_THREAD_RETURNED_WHILE_ATTACHED_TO_SILO
WORKER_THREAD_RETURNED_WITH_BAD_IO_PRIORITY
WORKER_THREAD_RETURNED_WITH_BAD_PAGING_IO_PRIORITY
WORKER_THREAD_RETURNED_WITH_NON_DEFAULT_WORKLOAD_CLASS
WORKER_THREAD_RETURNED_WITH_SYSTEM_PAGE_PRIORITY_ACTIVE
WORKER_THREAD_TEST_CONDITION
WorkflowName
WorkingSetRequestFlags
WorkingSetType
WorkOnAllComponents failed
workspace client extension failed to initialize
WorkspaceManager
Workstations
WorkToDo
Wow64DisableWow64FsRedirection
Wow64RevertWow64FsRedirection
WPN_E_ACCESS_DENIED
WPN_E_ALL_URL_NOT_COMPLETED
WPN_E_CALLBACK_ALREADY_REGISTERED
WPN_E_CHANNEL_CLOSED
WPN_E_CHANNEL_REQUEST_NOT_COMPLETE
WPN_E_CLOUD_AUTH_UNAVAILABLE
WPN_E_CLOUD_DISABLED
WPN_E_CLOUD_DISABLED_FOR_APP
WPN_E_CLOUD_INCAPABLE
WPN_E_CLOUD_SERVICE_UNAVAILABLE
WPN_E_DEV_ID_SIZE
WPN_E_DUPLICATE_CHANNEL
WPN_E_DUPLICATE_REGISTRATION
WPN_E_FAILED_LOCK_SCREEN_UPDATE_INTIALIZATION
WPN_E_GROUP_ALPHANUMERIC
WPN_E_GROUP_SIZE
WPN_E_IMAGE_NOT_FOUND_IN_CACHE
WPN_E_INTERNET_INCAPABLE
WPN_E_INVALID_APP
WPN_E_INVALID_CLOUD_IMAGE
WPN_E_INVALID_HTTP_STATUS_CODE
WPN_E_NOTIFICATION_DISABLED
WPN_E_NOTIFICATION_HIDDEN
WPN_E_NOTIFICATION_ID_MATCHED
WPN_E_NOTIFICATION_INCAPABLE
WPN_E_NOTIFICATION_NOT_POSTED
WPN_E_NOTIFICATION_POSTED
WPN_E_NOTIFICATION_SIZE
WPN_E_NOTIFICATION_TYPE_DISABLED
WPN_E_OUT_OF_SESSION
WPN_E_OUTSTANDING_CHANNEL_REQUEST
WPN_E_PLATFORM_UNAVAILABLE
WPN_E_POWER_SAVE
WPN_E_PUSH_NOTIFICATION_INCAPABLE
WPN_E_STORAGE_LOCKED
WPN_E_TAG_ALPHANUMERIC
WPN_E_TAG_SIZE
WPN_E_TOAST_NOTIFICATION_DROPPED
_wremove
WriteBoolPropertyToRegistry failed
write_checkpoint: temp pathname too long
WriteClassStg
WriteConsoleA
WriteConsoleOutputA
WriteConsoleW
WriteCount
writeDeferredDumpDataDuration_ms
WriteDeferredDumpDataEnded
WriteDiscoveryCookieToRegistry failed
writeDumpDataDuration_ms
WriteDumpDataEnded
write failed
Write failed flushing stderr buffer.
WriteFile
WriteFileEx
WriteFmtUserTypeStg
WriteFoldersToRegistry failed
write_host_entry
WriteIconDownloadTypeToRegistry failed
WriteIconInfoToRegistry failed
WriteInt64PropertyToRegistry failed
WritePrivateProfileStringW
WriteResourcesToRegistry failed
WriteResultStatusPropertyToRegistry failed
writerThreadLogInit failed
writerThreadMonitorInit failed
writerThreadReplayInit failed
WriteSizeInKB
WriteStringPropertyToRegistry failed
WriteToCredMan failed
WriteUInt32PropertyToRegistry failed
WriteWorkspaceToRegistry failed
wrong protocol type
wrong_protocol_type
WS2_32.dll
WSAAddressToStringA
WSAAddressToStringW
WSADuplicateSocketW
WSAEACCES
WSAEADDRINUSE
WSAEADDRNOTAVAIL
WSAEAFNOSUPPORT
WSAEALREADY
WSAEBADF
WSA_E_CANCELLED
WSAECANCELLED
WSAECONNABORTED
WSAECONNREFUSED
WSAECONNRESET
WSAEDESTADDRREQ
WSAEDISCON
WSAEDQUOT
WSAEFAULT
WSAEHOSTDOWN
WSAEHOSTUNREACH
WSAEINPROGRESS
WSAEINTR
WSAEINVAL
WSAEINVALIDPROCTABLE
WSAEINVALIDPROVIDER
WSAEISCONN
WSAELOOP
WSAEMFILE
WSAEMSGSIZE
WSAENAMETOOLONG
WSAENETDOWN
WSAENETRESET
WSAENETUNREACH
WSAENOBUFS
WSA_E_NO_MORE
WSAENOMORE
WSAENOPROTOOPT
WSAENOTCONN
WSAENOTEMPTY
WSAENOTSOCK
WSAEOPNOTSUPP
WSAEPFNOSUPPORT
WSAEPROCLIM
WSAEPROTONOSUPPORT
WSAEPROTOTYPE
WSAEPROVIDERFAILEDINIT
WSAEREFUSED
WSAEREMOTE
WSAESHUTDOWN
WSAESOCKTNOSUPPORT
WSAESTALE
WSAETIMEDOUT
WSAETOOMANYREFS
WSAEUSERS
WSAEventSelect
WSAEWOULDBLOCK
WSAGetOverlappedResult
WSAHOST_NOT_FOUND
WSAIoctl
WSA_IPSEC_NAME_POLICY_ERROR
WSALookupServiceBeginW
WSALookupServiceEnd
WSALookupServiceNextW
WSANO_DATA
WSANO_RECOVERY
WSANOTINITIALISED
WSA_QOS_ADMISSION_FAILURE
WSA_QOS_BAD_OBJECT
WSA_QOS_BAD_STYLE
WSA_QOS_EFILTERCOUNT
WSA_QOS_EFILTERSTYLE
WSA_QOS_EFILTERTYPE
WSA_QOS_EFLOWCOUNT
WSA_QOS_EFLOWDESC
WSA_QOS_EFLOWSPEC
WSA_QOS_EOBJLENGTH
WSA_QOS_EPOLICYOBJ
WSA_QOS_EPROVSPECBUF
WSA_QOS_EPSFILTERSPEC
WSA_QOS_EPSFLOWSPEC
WSA_QOS_ESDMODEOBJ
WSA_QOS_ESERVICETYPE
WSA_QOS_ESHAPERATEOBJ
WSA_QOS_EUNKOWNPSOBJ
WSA_QOS_GENERIC_ERROR
WSA_QOS_NO_RECEIVERS
WSA_QOS_NO_SENDERS
WSA_QOS_POLICY_FAILURE
WSA_QOS_RECEIVERS
WSA_QOS_REQUEST_CONFIRMED
WSA_QOS_RESERVED_PETYPE
WSA_QOS_SENDERS
WSA_QOS_TRAFFIC_CTRL_ERROR
WSA_SECURE_HOST_NOT_FOUND
WSASERVICE_NOT_FOUND
WSASocketW
WSAStringToAddressA
WSAStringToAddressW
WSASYSCALLFAILURE
WSASYSNOTREADY
WSATRY_AGAIN
WSATYPE_NOT_FOUND
WSAVERNOTSUPPORTED
WS_E_ADDRESS_IN_USE
WS_E_ADDRESS_NOT_AVAILABLE
WS_E_ENDPOINT_ACCESS_DENIED
WS_E_ENDPOINT_ACTION_NOT_SUPPORTED
WS_E_ENDPOINT_DISCONNECTED
WS_E_ENDPOINT_FAILURE
WS_E_ENDPOINT_FAULT_RECEIVED
WS_E_ENDPOINT_NOT_AVAILABLE
WS_E_ENDPOINT_NOT_FOUND
WS_E_ENDPOINT_TOO_BUSY
WS_E_ENDPOINT_UNREACHABLE
WS_E_INVALID_ENDPOINT_URL
WS_E_INVALID_FORMAT
WS_E_INVALID_OPERATION
WsEmptyControl
WS_E_NO_TRANSLATION_AVAILABLE
WS_E_NOT_SUPPORTED
WS_E_NUMERIC_OVERFLOW
WS_E_OBJECT_FAULTED
WS_E_OPERATION_ABANDONED
WS_E_OPERATION_ABORTED
WS_E_OPERATION_TIMED_OUT
WS_E_OTHER
WS_E_PROXY_ACCESS_DENIED
WS_E_PROXY_FAILURE
WS_E_PROXY_REQUIRES_BASIC_AUTH
WS_E_PROXY_REQUIRES_DIGEST_AUTH
WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH
WS_E_PROXY_REQUIRES_NTLM_AUTH
WS_E_QUOTA_EXCEEDED
WS_E_SECURITY_SYSTEM_FAILURE
WS_E_SECURITY_TOKEN_EXPIRED
WS_E_SECURITY_VERIFICATION_FAILURE
WS_E_SERVER_REQUIRES_BASIC_AUTH
WS_E_SERVER_REQUIRES_DIGEST_AUTH
WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH
WS_E_SERVER_REQUIRES_NTLM_AUTH
_wsetlocale
_wsplitpath_s
WS_S_ASYNC
WS_S_END
wt5gqecrt7
WTGetSignatureInfo
WTHelperGetProvCertFromChain
WTHelperGetProvSignerFromChain
WTHelperGetProvSignerFromChain failed
WTHelperProvDataFromStateData
WTHelperProvDataFromStateData failed
WTSEnumerateSessionsExW
WTSEnumerateSessionsW
WTSFreeMemory
WTSFreeMemoryExW
WTSGetServiceSessionId
wuDeviceid
WVR_LIVEDUMP_APP_IO_TIMEOUT
WVR_LIVEDUMP_CRITICAL_ERROR
WVR_LIVEDUMP_MANUALLY_INITIATED
WVR_LIVEDUMP_RECOVERY_IOCONTEXT_TIMEOUT
WVR_LIVEDUMP_REPLICATION_IOCONTEXT_TIMEOUT
WVR_LIVEDUMP_STATE_FAILURE
WVR_LIVEDUMP_STATE_TRANSITION_TIMEOUT
wwDDDDDLD
wwDDDGee||lx
wWinMain
wwwbbb[[[H
www.digicert.com1!0
wwwwpvwx
wwwwwwwp
wwwwwwww
wwwwwwwwvwwwwwwwwwwwvw
wwwwwwwww
wwwwwwwwww
wwwwwwwwwwww
wwwwwwwwwwwww
wwwwwwwwwwwwww
wwwwwwwwwwwwwww
wwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwwwwv
wwwwwwwwwwwwwwwwwwwwt
wwwwwwwwwwwwwwwwwwwwwp
wwwwwwwwwwwwx
wwwwwwwwwwwwxwxp
wwwwwwwwwx
wwwwwwwwx
wwwwwwwxp
wwwwx@Ggg
wwxwwwwwwwwwwwwww
wxH96u	E:
wxxxxxxx!
x0H9?tlL
X11 auth data does not match fake data.
X11 connection rejected because of wrong authentication.
X11 connection requested.
X11 connection uses different authentication protocol.
X11 forwarding
X11 forwarding is disabled to avoid man-in-the-middle attacks.
X11 forwarding requested but DISPLAY not set
x11_request_forwarding_with_spoofing
X25 address
x3D9#tME
X"3tX4|sY6
X.400 Exchange
X509_free
X509_get_pubkey
X509_get_pubkey failed
X509_new
x509_new failed
x86BiosAllocateBuffer
x86BiosCall
x86BiosFreeBuffer
x86BiosReadMemory
x86BiosWriteMemory
XACT_E_ABORTED
XACT_E_ABORTING
XACT_E_ALREADYINPROGRESS
XACT_E_ALREADYOTHERSINGLEPHASE
XACT_E_CANTRETAIN
XACT_E_CLERKEXISTS
XACT_E_CLERKNOTFOUND
XACT_E_COMMITFAILED
XACT_E_COMMITPREVENTED
XACT_E_CONNECTION_DENIED
XACT_E_CONNECTION_DOWN
XACT_E_DEST_TMNOTAVAILABLE
XACT_E_HEURISTICABORT
XACT_E_HEURISTICCOMMIT
XACT_E_HEURISTICDAMAGE
XACT_E_HEURISTICDANGER
XACT_E_INDOUBT
XACT_E_INVALIDCOOKIE
XACT_E_INVALIDLSN
XACT_E_ISOLATIONLEVEL
XACT_E_LOGFULL
XACT_E_LU_TX_DISABLED
XACT_E_NETWORK_TX_DISABLED
XACT_E_NOASYNC
XACT_E_NOENLIST
XACT_E_NOIMPORTOBJECT
XACT_E_NOISORETAIN
XACT_E_NORESOURCE
XACT_E_NOTCURRENT
XACT_E_NOTIMEOUT
XACT_E_NOTRANSACTION
XACT_E_NOTSUPPORTED
XACT_E_PARTNER_NETWORK_TX_DISABLED
XACT_E_PULL_COMM_FAILURE
XACT_E_PUSH_COMM_FAILURE
XACT_E_RECOVERYINPROGRESS
XACT_E_REENLISTTIMEOUT
XACT_E_REPLAYREQUEST
XACT_E_TIP_CONNECT_FAILED
XACT_E_TIP_DISABLED
XACT_E_TIP_PROTOCOL_ERROR
XACT_E_TIP_PULL_FAILED
XACT_E_TMNOTAVAILABLE
XACT_E_TRANSACTIONCLOSED
XACT_E_UNABLE_TO_LOAD_DTC_PROXY
XACT_E_UNABLE_TO_READ_DTC_CONFIG
XACT_E_UNKNOWNRMGRID
XACT_E_WRONGSTATE
XACT_E_WRONGUOW
XACT_E_XA_TX_DISABLED
XACT_E_XTIONEXISTS
XACT_S_ABORTING
XACT_S_ALLNORETAIN
XACT_S_ASYNC
XACT_S_DEFECT
XACT_S_LASTRESOURCEMANAGER
XACT_S_LOCALLY_OK
XACT_S_MADECHANGESCONTENT
XACT_S_MADECHANGESINFORM
XACT_S_OKINFORM
XACT_S_READONLY
XACT_S_SINGLEPHASE
XACT_S_SOMENORETAIN
xasprintf: could not allocate memory
x ATAUAVAWD
x ATAUAVAWE3
x ATAUAVH
x ATAUAWH
x ATAVAWA
x ATAVAWD
x ATAVAWE3
x ATAVAWH
x ATAVAWM
x AUAVAWH
x AUAVAWL
xauthlocation
x AVAWE3
?_Xbad_alloc@std@@YAXXZ
?_Xbad_function_call@std@@YAXXZ
XBAR2CLK
XBOX_360_SYSTEM_CRASH
XBOX_360_SYSTEM_CRASH_RESERVED
XBOX_CORRUPTED_IMAGE
XBOX_CORRUPTED_IMAGE_BASE
XBOX_INVERTED_FUNCTION_TABLE_OVERFLOW
XBOX_SECURITY_FAILUE
XBOX_VMCTRL_CS_TIMEOUT
xcalloc: zero size
_XcptFilter
XCRDPENCCONStreamBufferPoolObject
x@D97u;L
x[D9ewuUD9eouOD
x?D9M3u9D9M7u3
x(D9o u"
xDDDDDDDDDDdDD
xDDDDDFDDdDDDLDD
XdvHibernationNotification
XdvNotifyExtensions
XdvQueryDispatchTable
XENROLL_E_CANNOT_ADD_ROOT_CERT
XENROLL_E_KEY_NOT_EXPORTABLE
XENROLL_E_KEYSPEC_SMIME_MISMATCH
XENROLL_E_RESPONSE_KA_HASH_MISMATCH
XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND
XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH
x	fD9u8A
?_XGetLastError@std@@YAXXZ
Xgiiiooootd
]xH;]pt@H
!x H!x(!x0H!x
?_Xinvalid_argument@std@@YAXPEBD@Z
XIPDispatch
?_Xlength_error@std@@YAXPEBD@Z
  -x          Lock agent.
xmalloc: zero size
XMLDeserialize failed!
--xml-format
XmlLite.dll
xN8MptIE
xND9m uHA
xND;F sHL
xNE9.uIH
XNS_INTERNAL_ERROR
xo@8u8ti
?_Xout_of_range@std@@YAXPEBD@Z
xpmic]XRI
xpmic]XRIED
xpmic]XRIED?
xpmic]XRIED?_
xpmic]XRIED_b;
xRD9'|MH
XSAVEDISABLE
XSAVEPOLICY
XSAVEREMOVEFEATURE
xSfD9u@tLH
xtDDDDDLFD
XTTTTTTNNSNNV
xttttttttttttttttttttttttttttv
xttttutttttttttttutttttttttttx
x UATAUAVAWH
x UATAVH
x UAUAVH
x UAVAWH
  -X          Unlock agent.
X UVWATAUAVAWH
X UVWAVAWH
xWI96tRI
xwwDDDDDDDDLd
xwwwqwwx
xwwwwwwwggggh
xwwwwwwwwwwwwwwwwwwww
xwwwwwwx
xXI96tSI
xxtDDDFLw
xxwwwwwwwwwwwwwwvwF|
xxwwZZYYYXXXXXXXXYXXXYXXXXXXXYXXYYXXYXXXXXTbeeeeehhhO
xxxnnni[kk
xxxwnnnibbb4
xxxwwwnnib!
xxxwwwYYYYXYXYXYX
xxxxxxxp
.XXXXXXXXXX
XZYAXAYAZA[]
Y(B:[pvr
??YCHString@@QEAAAEBV0@PEBG@Z
y'L9s0u!
y"L;Bpw13
YNSecur32.dll
You must specify a subsystem to invoke.
Your identification has been saved with the new passphrase.
yTH9k0uN
YXDOMAIN
yXL9s tRA
YYY0RRRp@@A
yyyy    
YYYY''''
YYYYGGGG
YYYYMMDD
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]y
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyey4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY@
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI	
-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy-Iyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi8
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyiyyMyyy
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi1
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyayyy'I
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy]yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyYyYyYyYyYyYyYyYyQyQyQyQyQyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYyYy1yiyiyiyiyiyiyiyiyiyiyiyiyiyiyiy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1byY1bei1byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7byY7bei7byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@byY@bei@byyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbyYYbeiYbyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy62yy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvY|
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei"2yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyey4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyL
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy6
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyybbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbby
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYH
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei:
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
!yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY 
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyixyYyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYG
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
	yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyq
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyaxyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyWyyyxyyyyyyy[y[y
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy]yyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY!
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywy4#
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy7
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyixyYyyy'I
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIO
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyByyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyUyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yyeyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY.
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY2
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyUi
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyIo
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyl
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyI
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9-
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy5xyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)8
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy9yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyaz4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyq
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyixyUyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyiyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyUyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyi V
'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyuyyyyIyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysy4#
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
!yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
#yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
)yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
?yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjyyyyyyyyyyyyyyy?
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy#q4#
Yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyei
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyE
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
y.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy0
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqyxyyy)yy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyEi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyDH
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy	yyuyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy)yy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyJ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
								
									
										
												
																															
        
         
            
                
                          
                                
                                                      
                                                                                                                                 
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
        )
!!!!!!!!!!!!!!!!!
"										"
"        
"""""""!
""""""""
""""""""""
""""""""""!
"""""""""""
"""""""""""" 
"""""""""""""""""
""""""""""""""""""""""
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"?????????????
################!
#......----------------
#.......
#.......---------------
#.........-------------
#...........-----------
#...............)
#................
#................!'!
#................!.)!
#..................#!
''''''''''
()))))))
()))))))))))))
()))))))))))))))))))))))))"
)))))))'
))))))))
))))))))))
)))))))))))
)))))))))))))
)))))))))))))))'
)))))))))))))))))
))))))))))))))))))
))))))))))))))))))))
)))))))))))))))))))))(
)))))))))))))))))))))))))))
)))))))))).
*(((((((((((((((((((()
*)))))))
--------------------------------------------------------------
.))))!! 
.)))))))
.)))))))*"
........
..........
::--------------------------------
::-----------------------------------
::--------------------------------------
???"????????????????????????
?????????
???????????
????????????
????????????-
????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????[]???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
)))))))))))0
0)))))))
0))))))))))"
0))))))))))) 
(((0(((((0
((0(0(0(
(0(0((0(
(0(0((0(0
[(0((0(0((0(
(0((0(0(0(0
[0(0((0((0(0
0(00(0((0(
0(00(0(0
00(00(0((
(0(0(0(00(0
(0(000(00(0
(00(00(0(00
[00((0(0(0((0(0((0(
0000000000000
0(00(0(0000(00(000h0(h00(0(0(0h(00
(0(0(0(0(0(0(0(0((000a0(
(0(0(000(0(0(0000h
(00(000(0000(0h(00000(0h
000(00000h0h00h0h
0000(0(0(00h(0h(h
0(00(00(00h0(0(h0
0000(000h0h0h
00000d0h0M
0(0(000h00a0(0(0h00(0(0(0(00000h(0000(U0h00(0h00h0h0h0h(00(0
0000a0O(O0h0
0(00((0(h
(0(0(0((0h0(0
0(00(0(U
(000a0(h00h000(00(0000h000
(0(0(0h000
000h(0(00(0000(0a(00(h00000a0h00E0
0(0(0h00(0E00a0h0
00a00(0(000000(0(0h0(000h00(0(
0((0a0(h(000(00000(a
(00h(00000(0
(0(0h000(h00(0a0(00(0(
0(0h00a00(000a0(000(0h000h0
00O0d0d0d0d0d0O
0123456789-
0123456789:;
0123456789abcdef
0123456789ABCDEF
0123456789ABCDEF0
0123456789abcdefghijklmnopqrstuvwxyz
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_
0123456789abcdefNull
0123456789abcedfABCEDF
 022F4D6 4l
088HWWWN
(((0a0(0(0(000
(0a00(00(000(00(00(0a0h(h
(0a00(00(00(0(U
0a0(00000h
0a00000O(0(0(0(0000
0a0(0a0U(U(
0a00h00h0h0h0h0h
0a0a0h0O(
0a(0a0U0h0U(
0a0(h0h0
??0ArgumentException@UnBCL@@QEAA@AEBV01@@Z
??0ArgumentException@UnBCL@@QEAA@PEBG@Z
??0ArgumentException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ArgumentException@UnBCL@@QEAA@PEBVString@1@@Z
??0ArgumentException@UnBCL@@QEAA@XZ
??0ARGUMENT_LEXEMIZER@@QEAA@XZ
??0ArgumentNullException@UnBCL@@QEAA@AEBV01@@Z
??0ArgumentNullException@UnBCL@@QEAA@PEBG@Z
??0ArgumentNullException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ArgumentNullException@UnBCL@@QEAA@PEBVString@1@@Z
??0ArgumentNullException@UnBCL@@QEAA@XZ
??0ArgumentOutOfRangeException@UnBCL@@QEAA@AEBV01@@Z
??0ArgumentOutOfRangeException@UnBCL@@QEAA@PEBG@Z
??0ArgumentOutOfRangeException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ArgumentOutOfRangeException@UnBCL@@QEAA@PEBVString@1@@Z
??0ArgumentOutOfRangeException@UnBCL@@QEAA@XZ
??0ArithmeticException@UnBCL@@QEAA@AEBV01@@Z
??0ArithmeticException@UnBCL@@QEAA@PEBG@Z
??0ArithmeticException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ArithmeticException@UnBCL@@QEAA@PEBVString@1@@Z
??0ArithmeticException@UnBCL@@QEAA@XZ
??0ARRAY@@QEAA@XZ
??0ASCIIEncoding@UnBCL@@QEAA@AEBV01@@Z
??0ASCIIEncoding@UnBCL@@QEAA@XZ
??0AutoLibrary@@QEAA@PEAUHINSTANCE__@@@Z
??0AutoLock@DirectUI@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
??0bad_cast@@QEAA@AEBV0@@Z
??0bad_cast@@QEAA@PEBD@Z
??0Button@DirectUI@@QEAA@XZ
??0CaseInsensitiveStringComparer@UnBCL@@QEAA@AEBV01@@Z
??0CaseInsensitiveStringComparer@UnBCL@@QEAA@XZ
??0CCBase@DirectUI@@QEAA@KPEBG@Z
??0CCListView@DirectUI@@QEAA@XZ
??0CCritSec@@QEAA@XZ
??0CErrorContext@@QEAA@_N@Z
??0CEventLog@@QEAA@PEBGAEBU_GUID@@K@Z
??0CFlexArray@@QEAA@HH@Z
??0CGlobalResource@@QEAA@XZ
??0CharReaderBuilder@Json@@QEAA@XZ
??0CHPtrArray@@QEAA@XZ
??0CHStringArray@@QEAA@XZ
??0CHString@@QEAA@AEBV0@@Z
??0CHString@@QEAA@GH@Z
??0CHString@@QEAA@PEBD@Z
??0CHString@@QEAA@PEBE@Z
??0CHString@@QEAA@PEBGH@Z
??0CHString@@QEAA@PEBG@Z
??0CHString@@QEAA@XZ
??0CInCritSec@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
??0CInsertionString@@QEAA@VCHex@@@Z
??0CLASS_DESCRIPTOR@@QEAA@XZ
??0ClassInfoBase@DirectUI@@QEAA@XZ
??0CLifeControl@@QEAA@XZ
??0CNtSid@@QEAA@AEBV0@@Z
??0CNtSid@@QEAA@PEAX@Z
??0CNtSid@@QEAA@W4SidType@0@@Z
??0ConsoleLogHandler@UnBCL@@QEAA@AEBV01@@Z
??0ConsoleLogHandler@UnBCL@@QEAA@XZ
??0CPrvEnumObject@@QEAA@XZ
??0CRegistry@@QEAA@AEBV0@@Z
??0CRegistry@@QEAA@XZ
??0CRegistrySearch@@QEAA@AEBV0@@Z
??0CRegistrySearch@@QEAA@XZ
??0CritSecLock@DirectUI@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
??0CRtlList@@QEAA@P6AXPEAVCRtlEntry@@@Z@Z
??0CRtlMap@@QEAA@KP6AXPEAVCRtlEntry@@@Z1@Z
??0CRtlSharedLock@@QEAA@XZ
0CRUMPCHelper::PCHelperInitialize
??0CSearchServiceObj@@QEAA@XZ
??0CStaticCritSec@@QEAA@XZ
??0CTcpMib@@QEAA@AEBV0@@Z
??0CTcpMib@@QEAA@XZ
??0CTraceFailureHelper@@QEAA@AEAVCTraceProvider@@JPEBGKPEBX@Z
??0CTraceFunction@@QEAA@AEAVCTraceProvider@@PEBGH1PEBX@Z
??0CTraceHelper@@QEAA@AEAVCTraceProvider@@PEBGKPEBX@Z
??0CTraceProvider@@QEAA@W4COMPONENT_CODE@@@Z
??0CUnkInternal@@QEAA@PEAVCLifeControl@@@Z
??0CUnk@@QEAA@PEAVCLifeControl@@PEAUIUnknown@@@Z
??0CVarVector@@QEAA@HHH@Z
??0CVarVector@@QEAA@XZ
??0CVdsAsyncObjectBase@@QEAA@XZ
??0CVdsCallTracer@@QEAA@KPEBD@Z
??0CVdsCriticalSection@@QEAA@PEAU_RTL_CRITICAL_SECTION@@@Z
??0CVdsPnPNotificationBase@@QEAA@XZ
??0CVdsUnlockIt@@QEAA@AEAJ@Z
??0CVdsWmiVariantObjectArrayEnum@@QEAA@XZ
??0CVersion@@QEAA@XZ
0d0d0d0O
0d0h0000O
??0DCSurface@DirectUI@@QEAA@PEAUHDC__@@@Z
??0Decoder@UnBCL@@QEAA@AEBV01@@Z
??0Decoder@UnBCL@@QEAA@XZ
??0DirectoryInfo@UnBCL@@QEAA@AEBV01@@Z
??0DirectoryInfo@UnBCL@@QEAA@XZ
??0DSTRING@@QEAA@XZ
#0D]wwg]ZECEPPXu
0dZVSS_SS_PREPAREDW
0E00h0h00h(h(h0h00(000h0a0h0h0h0h0hh0h
0E(0a0E0h0h
0e9ForWritingWW
':0EEEE0:'
';0EEGE-:'
??0Element@DirectUI@@QEAA@XZ
??0ElementProvider@DirectUI@@QEAA@XZ
??0ElementProxy@DirectUI@@IEAA@XZ
??0Encoding@UnBCL@@IEAA@H@Z
??0Encoding@UnBCL@@QEAA@AEBV01@@Z
??0Environment@UnBCL@@AEAA@XZ
0|ERSS_CANCELLEDWWW
??0exception@@QEAA@AEBQEBDH@Z
??0exception@@QEAA@AEBQEBD@Z
??0exception@@QEAA@AEBV0@@Z
??0exception@@QEAA@XZ
??0Exception@UnBCL@@QEAA@AEBV01@@Z
??0Exception@UnBCL@@QEAA@PEAV01@PEBG@Z
??0Exception@UnBCL@@QEAA@PEBG@Z
??0Exception@UnBCL@@QEAA@PEBVString@1@PEAV01@@Z
??0Exception@UnBCL@@QEAA@PEBVString@1@@Z
??0Exception@UnBCL@@QEAA@XZ
??0ExternalException@UnBCL@@QEAA@AEBV01@@Z
??0ExternalException@UnBCL@@QEAA@PEBGPEAVException@1@@Z
??0ExternalException@UnBCL@@QEAA@PEBG@Z
??0ExternalException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ExternalException@UnBCL@@QEAA@PEBVString@1@@Z
??0ExternalException@UnBCL@@QEAA@XZ
]0!|f#6J
??0facet@locale@std@@IEAA@_K@Z
??0FileStream@UnBCL@@QEAA@AEBV01@@Z
??0FileStream@UnBCL@@QEAA@PEAXW4FileAccess@1@@Z
??0FileStream@UnBCL@@QEAA@PEBVString@1@W4FileMode@1@W4FileAccess@1@W4FileShare@1@K@Z
0FIRSS_ACCEPTED
??0FLAG_ARGUMENT@@QEAA@XZ
??0FSN_FILTER@@QEAA@XZ
??0FSTRING@@QEAA@XZ
0h0000000(
0h000(0h
0(h000d0
(0h(000h
0h00a0h(h0a0a0a
0(h00h0h0
0h0h0h0hh0M0Mh
0h0h(0U0(h(0h0a0h0hh0h0h0hU
0h0U0U0U0U0U
??0HeapMemoryManager@UnBCL@@QEAA@AEBV01@@Z
??0HeapMemoryManager@UnBCL@@QEAA@XZ
!]0!]@!]HH!]
0h(h00hh
0HHHF@@@@@(
0(h(h(h(U(h0a0
(0(h((h(U0
??0HWNDElement@DirectUI@@QEAA@XZ
??0HWNDHost@DirectUI@@QEAA@XZ
??0IDataEntry@DirectUI@@QEAA@XZ
??0IDisposable@UnBCL@@QEAA@AEBU01@@Z
??0IDisposable@UnBCL@@QEAA@XZ
??0id@locale@std@@QEAA@_K@Z
??0IInstanceFactory@UnBCL@@QEAA@AEBU01@@Z
??0IInstanceFactory@UnBCL@@QEAA@XZ
??0ImpersonateUser@@QEAA@XZ
??0IndexOutOfRangeException@UnBCL@@QEAA@AEBV01@@Z
??0IndexOutOfRangeException@UnBCL@@QEAA@PEAVString@1@PEAVException@1@@Z
??0IndexOutOfRangeException@UnBCL@@QEAA@PEAVString@1@@Z
??0IndexOutOfRangeException@UnBCL@@QEAA@PEBG@Z
??0IndexOutOfRangeException@UnBCL@@QEAA@XZ
??0InvalidCastException@UnBCL@@QEAA@AEBV01@@Z
??0InvalidCastException@UnBCL@@QEAA@PEAVString@1@PEAVException@1@@Z
??0InvalidCastException@UnBCL@@QEAA@PEAVString@1@@Z
??0InvalidCastException@UnBCL@@QEAA@PEBG@Z
??0InvalidCastException@UnBCL@@QEAA@XZ
??0InvalidOperationException@UnBCL@@QEAA@AEBV01@@Z
??0InvalidOperationException@UnBCL@@QEAA@PEBG@Z
??0InvalidOperationException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0InvalidOperationException@UnBCL@@QEAA@PEBVString@1@@Z
??0InvalidOperationException@UnBCL@@QEAA@XZ
??0IPoolable@UnBCL@@QEAA@AEBU01@@Z
??0IPoolable@UnBCL@@QEAA@XZ
??0IProvider@DirectUI@@QEAA@XZ
??0ISerializable@UnBCL@@QEAA@AEBU01@@Z
??0ISerializable@UnBCL@@QEAA@XZ
0!][iZ.5
0J'ACTIVATION_CHANNEL_VOLUMEWWW
0;;K333(
0kEVSS_PROV_SOFTWAREWWW
??0KEYBOARD@@QEAA@XZ
??0_Locinfo@std@@QEAA@PEBD@Z
??0_Lockit@std@@QEAA@H@Z
??0LONG_ARGUMENT@@QEAA@XZ
0M3RS"DO"
??0MemoryStream@UnBCL@@QEAA@AEBV01@@Z
??0MemoryStream@UnBCL@@QEAA@XZ
	0mGDirectoryWWW
0@MgZSPSi
0mHV aB1
??0MULTIPLE_PATH_ARGUMENT@@QEAA@XZ
??0MultiSz@UnBCL@@QEAA@AEBV01@@Z
??0MultiSz@UnBCL@@QEAA@PEBE_KPEAK@Z
??0MultiSz@UnBCL@@QEAA@PEBG@Z
??0MultiSz@UnBCL@@QEAA@XZ
??0MutableString@UnBCL@@QEAA@AEBV01@@Z
??0MutableString@UnBCL@@QEAA@AEBVString@1@@Z
??0MutableString@UnBCL@@QEAA@GH@Z
??0MutableString@UnBCL@@QEAA@PEBGHH@Z
??0MutableString@UnBCL@@QEAA@PEBG@Z
??0MutableString@UnBCL@@QEAA@PEBVString@1@@Z
??0MutableString@UnBCL@@QEAA@XZ
0NotificationFlagsWWW
??0NotSupportedException@UnBCL@@QEAA@AEBV01@@Z
??0NotSupportedException@UnBCL@@QEAA@PEBG@Z
??0NotSupportedException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0NotSupportedException@UnBCL@@QEAA@PEBVString@1@@Z
??0NotSupportedException@UnBCL@@QEAA@XZ
0O0(0(h(0h(O0(h(00
0O0h00O0
0O0O0h0h0h00O0
??0ObjectDisposedException@UnBCL@@QEAA@AEBV01@@Z
??0ObjectDisposedException@UnBCL@@QEAA@PEBG@Z
??0ObjectDisposedException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0ObjectDisposedException@UnBCL@@QEAA@PEBVString@1@@Z
??0ObjectDisposedException@UnBCL@@QEAA@XZ
??0OBJECT@@QEAA@AEBV0@@Z
??0Object@UnBCL@@QEAA@AEBV01@@Z
??0Object@UnBCL@@QEAA@XZ
??0OnHTTPInitialize@@QEAA@XZ
(0O(O0O(
??0OperatingSystem@UnBCL@@AEAA@XZ
??0OperatingSystem@UnBCL@@QEAA@AEBV01@@Z
??0OperatingSystem@UnBCL@@QEAA@W4PlatformID@1@KPEAVVersion@1@@Z
??0OperatingSystem@UnBCL@@QEAA@W4PlatformID@1@KW4InstallationType@1@PEAVVersion@1@@Z
??0OperatingSystem@UnBCL@@QEAA@W4PlatformID@1@PEAVVersion@1@@Z
??0OperatingSystem@UnBCL@@QEAA@W4PlatformID@1@W4InstallationType@1@PEAVVersion@1@@Z
??0OutOfMemoryException@UnBCL@@QEAA@AEBV01@@Z
??0OutOfMemoryException@UnBCL@@QEAA@PEAVString@1@PEAVException@1@@Z
??0OutOfMemoryException@UnBCL@@QEAA@PEAVString@1@@Z
??0OutOfMemoryException@UnBCL@@QEAA@PEBG@Z
??0OutOfMemoryException@UnBCL@@QEAA@XZ
??0OverflowException@UnBCL@@QEAA@AEBV01@@Z
??0OverflowException@UnBCL@@QEAA@PEBG@Z
??0OverflowException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0OverflowException@UnBCL@@QEAA@PEBVString@1@@Z
??0OverflowException@UnBCL@@QEAA@XZ
0P555555555
??0PATH_ARGUMENT@@QEAA@XZ
??0PATH@@QEAA@XZ
??0PathTooLongException@UnBCL@@QEAA@AEBV01@@Z
??0PathTooLongException@UnBCL@@QEAA@PEBG@Z
??0PathTooLongException@UnBCL@@QEAA@PEBVString@1@@Z
??0PathTooLongException@UnBCL@@QEAA@XZ
??0PRINT_STREAM@@QEAA@XZ
??0PROGRAM@@IEAA@XZ
??0ProviderProxy@DirectUI@@IEAA@XZ
??0RefcountBase@DirectUI@@QEAA@XZ
??0Registry@@QEAA@PEBGK@Z
0R#T)442
??0ScopedObjectLock@UnBCL@@QEAA@PEAVSyncObject@1@@Z
??0ScrollViewer@DirectUI@@QEAA@XZ
??0SerializationException@UnBCL@@QEAA@AEBV01@@Z
??0SerializationException@UnBCL@@QEAA@PEBG@Z
??0SerializationException@UnBCL@@QEAA@PEBVString@1@@Z
??0SerializationException@UnBCL@@QEAA@XZ
??0SerializationId@UnBCL@@QEAA@AEBV01@@Z
??0SerializationId@UnBCL@@QEAA@PEAVString@1@H@Z
??0SerializationStream@UnBCL@@AEAA@AEBV01@@Z
??0SerializationStream@UnBCL@@QEAA@PEAVStream@1@W4Mode@01@PEAVObject@1@@Z
??0StreamCounter@UnBCL@@QEAA@XZ
??0STREAM_MESSAGE@@QEAA@XZ
??0Stream@UnBCL@@QEAA@AEBV01@@Z
??0Stream@UnBCL@@QEAA@XZ
??0STRING_ARGUMENT@@QEAA@XZ
??0STRING_ARRAY@@QEAA@XZ
??0StringBuilder@UnBCL@@QEAA@AEBV01@@Z
??0StringBuilder@UnBCL@@QEAA@H@Z
??0StringBuilder@UnBCL@@QEAA@PEBG@Z
??0StringBuilder@UnBCL@@QEAA@PEBVString@1@@Z
??0StringBuilder@UnBCL@@QEAA@XZ
??0StringPtr@UnBCL@@QEAA@AEBV01@@Z
??0StringPtr@UnBCL@@QEAA@PEAVString@1@@Z
??0StringPtr@UnBCL@@QEAA@PEBG@Z
??0StringPtr@UnBCL@@QEAA@XZ
??0String@UnBCL@@QEAA@AEAVSerializationStream@1@@Z
??0String@UnBCL@@QEAA@AEBV01@@Z
??0String@UnBCL@@QEAA@GH@Z
??0String@UnBCL@@QEAA@PEBGHH@Z
??0String@UnBCL@@QEAA@PEBG@Z
??0String@UnBCL@@QEAA@PEBV01@@Z
??0String@UnBCL@@QEAA@XZ
??0SyncObject@UnBCL@@QEAA@AEBV01@@Z
??0SyncObject@UnBCL@@QEAA@XZ
??0SystemException@UnBCL@@QEAA@AEBV01@@Z
??0SystemException@UnBCL@@QEAA@PEBGPEAVException@1@@Z
??0SystemException@UnBCL@@QEAA@PEBG@Z
??0SystemException@UnBCL@@QEAA@PEBVString@1@PEAVException@1@@Z
??0SystemException@UnBCL@@QEAA@PEBVString@1@@Z
??0SystemException@UnBCL@@QEAA@XZ
??0SystemInfo@UnBCL@@QEAA@AEBV01@@Z
??0SystemInfo@UnBCL@@QEAA@XZ
??0task_continuation_context@Concurrency@@AEAA@XZ
??0TaskPage@DirectUI@@QEAA@XZ
??0TIMEINFO_ARGUMENT@@QEAA@XZ
??0TIMEINFO@@QEAA@XZ
??0Type@UnBCL@@IEAA@PEAVString@1@@Z
??0Type@UnBCL@@QEAA@AEBV01@@Z
0U0a00h0h0h(hh0h0h0hh00h0h0h0h0hU0M0h
0U0E0U0E0E0
0U0E0U(h(h0
0U0h(U0h0a0h0h000h0h0hh0h0U0hh0h0M0h0M0Mhh
0U0U(0h0h0h0O0Ohh0h0h0hO0h0h0O0O
0U0U(U(U0U0h0a0h
??0UnicodeEncoding@UnBCL@@QEAA@AEBV01@@Z
??0UnicodeEncoding@UnBCL@@QEAA@XZ
??0Value@Json@@QEAA@W4ValueType@1@@Z
0vCountWWW
??0Version@UnBCL@@QEAA@AEBV01@@Z
??0Version@UnBCL@@QEAA@HHHPEAVString@1@@Z
??0Version@UnBCL@@QEAA@HHH@Z
??0Version@UnBCL@@QEAA@HH@Z
??0Version@UnBCL@@QEAA@PEBG@Z
??0Version@UnBCL@@QEAA@XZ
0WEIGHTS
??0Win32Exception@UnBCL@@QEAA@AEBV01@@Z
??0Win32Exception@UnBCL@@QEAA@KPEBGPEAVException@1@@Z
??0Win32Exception@UnBCL@@QEAA@KPEBG@Z
??0Win32Exception@UnBCL@@QEAA@KPEBVString@1@PEAVException@1@@Z
??0Win32Exception@UnBCL@@QEAA@KPEBVString@1@@Z
??0Win32Exception@UnBCL@@QEAA@K@Z
??0Win32Exception@UnBCL@@QEAA@PEBG@Z
??0Win32Exception@UnBCL@@QEAA@XZ
??0WString@@QEAA@PEAGH@Z
??0WString@@QEAA@PEBG@Z
??0WString@@QEAA@XZ
             "0x00000001"
??0XmlAttributeCollection@UnBCL@@IEAA@XZ
??0XmlAttributeCollection@UnBCL@@QEAA@AEBV01@@Z
??0XmlAttributeCollection@UnBCL@@QEAA@PEAUIXMLDOMNamedNodeMap@@@Z
??0XmlAttributeCollection@XmlLite@UnBCL@@QEAA@AEBV012@@Z
??0XmlAttributeCollection@XmlLite@UnBCL@@QEAA@XZ
??0XmlAttribute@UnBCL@@IEAA@XZ
??0XmlAttribute@UnBCL@@QEAA@AEBV01@@Z
??0XmlAttribute@UnBCL@@QEAA@PEAUIXMLDOMNode@@@Z
??0XmlAttribute@XmlLite@UnBCL@@QEAA@AEBV012@@Z
??0XmlAttribute@XmlLite@UnBCL@@QEAA@PEBG000@Z
??0XmlDocument@UnBCL@@QEAA@AEBV01@@Z
??0XmlDocument@UnBCL@@QEAA@PEAUIXMLDOMDocument3@@@Z
??0XmlDocument@UnBCL@@QEAA@XZ
??0XmlDocument@XmlLite@UnBCL@@QEAA@AEBV012@@Z
??0XmlDocument@XmlLite@UnBCL@@QEAA@XZ
??0XmlException@UnBCL@@QEAA@AEBV01@@Z
??0XmlException@UnBCL@@QEAA@PEAVString@1@PEAVException@1@HHJ@Z
??0XmlNamespaceManager@UnBCL@@QEAA@AEBV01@@Z
??0XmlNamespaceManager@UnBCL@@QEAA@XZ
??0XmlNodeList@UnBCL@@IEAA@XZ
??0XmlNodeList@UnBCL@@QEAA@AEBV01@@Z
??0XmlNodeList@UnBCL@@QEAA@PEAUIXMLDOMNodeList@@@Z
??0XmlNodeList@XmlLite@UnBCL@@QEAA@AEBV012@@Z
??0XmlNodeList@XmlLite@UnBCL@@QEAA@XZ
??0XmlNode@UnBCL@@IEAA@PEAUIXMLDOMNode@@@Z
??0XmlNode@UnBCL@@IEAA@XZ
??0XmlNode@UnBCL@@QEAA@AEBV01@@Z
??0XmlNode@XmlLite@UnBCL@@QEAA@AEBV012@@Z
??0XmlNode@XmlLite@UnBCL@@QEAA@W4XmlNodeType@2@PEBG111@Z
??0XmlSchemaSet@UnBCL@@QEAA@AEBV01@@Z
??0XmlSchemaSet@UnBCL@@QEAA@XZ
??0XPathException@UnBCL@@QEAA@AEBV01@@Z
??0XPathException@UnBCL@@QEAA@PEAVString@1@PEAVException@1@J@Z
0X@RSS_DECLINED
|0'yDHao
0zpRSS_CONNECTEDWWW
)))))))))))))))))))1
)))))))1
)1))))))))))))))
1)))))))))))))
1))))))))):
1)))))))).
1000BASECX fdx
1000BASECX hdx
1000BASELX fdx
1000BASELX hdx
1000BASESX fdx
1000BASESX hdx
1000BASE-T fdx
1000BASET fdx
1000BASE-T hdx
1000BASET hdx
1000BASEX fdx
1000BASEX hdx
10.0.10011.16384
100701213655Z
100BASEFX fdx
100BASEFX hdx
100BASE-T2 fdx
100BASET2 fdx
100BASE-T2 hdx
100BASET2 hdx
100BASE-T4
100BASET4
100BASE-TX fdx
100BASETX fdx
100BASE-TX hdx
100BASETX hdx
10BASE_5
10BASEFB
10BASEFL duplex mode unknown
10BASEFL fdx
10BASEFL hdx
10BASEFP
10BASET duplex mode unknown
10BASE-T fdx
10BASET fdx
10BASE-T hdx
10BASET hdx
10BROAD36
10GBASEER
10GBASEEW
10GBASELR
10GBASELW
10GBASELX4
10GBASER
10GBASESR
10GBASESW
10GBASEW
10GBASEX
110708205909Z
	'*)(((111
111!000D000w000
111!000D111
111019184142Z
!!1111)!
111*3383
111B000f@@@
111qafff
!')1121)
       11 - Power Users Full Access
120418234838Z
12.	DISCLAIMER OF WARRANTY. THE SOFTWARE IS LICENSED 
       12 - Power Users Read and Write Access
1.3.6.1.4.1.311.10.3.19
1.3.6.1.4.1.311.10.3.20
1.3.6.1.4.1.311.10.3.3
1.3.6.1.4.1.311.10.3.39
1.3.6.1.4.1.311.10.3.5
1.3.6.1.4.1.311.10.3.6
1.3.6.1.4.1.311.54.1.1
1.3.6.1.4.1.311.61.4.1
1.3.6.1.4.1.311.61.5.1
1.3.6.1.4.1.311.72.1.1
1.3.6.1.4.1.311.76.6.1
1.3.6.1.4.1.40808.1.1.1
1.3.6.1.5.5.7.3.1
1.3.6.1.5.5.7.3.3
1.3.6.1.5.5.7.3.8
141015203127Z
       14 - System Operators Full Access
150722210349Z
!!'1(5222(!
)'15511!
       15 - System Operators Read and Write Access
160107120000Z
160112000000Z
171223000000Z
       17 - System Full Access
181102000000Z
1860yJyTH
       18 - System Read and Write Access
190106101253Z
190327192125Z
190502000000Z
190502212436Z
190502213746Z
190906204106Z
190906204118Z
191023231918Z
191023231920Z
191023231921Z
191023231937Z
191113214035Z
191113214038Z
191219011456Z
191219011503Z
191219011504Z
19SourceTextWW
       19 - System Read Access
1a__CA@2
       1  - Administrators Full Access
1)"a[jvq
??1ArgumentException@UnBCL@@UEAA@XZ
??1ARGUMENT_LEXEMIZER@@UEAA@XZ
??1ArgumentNullException@UnBCL@@UEAA@XZ
??1ArgumentOutOfRangeException@UnBCL@@UEAA@XZ
??1ArithmeticException@UnBCL@@UEAA@XZ
??1ARRAY@@UEAA@XZ
??1ASCIIEncoding@UnBCL@@UEAA@XZ
??1AutoLibrary@@QEAA@XZ
??1AutoLock@DirectUI@@QEAA@XZ
(;*1@B4J
??1bad_cast@@UEAA@XZ
??1Button@DirectUI@@UEAA@XZ
??1CaseInsensitiveStringComparer@UnBCL@@UEAA@XZ
??1CCBase@DirectUI@@UEAA@XZ
??1CCListView@DirectUI@@UEAA@XZ
??1CCritSec@@QEAA@XZ
??1CErrorContext@@UEAA@XZ
??1CEventLog@@QEAA@XZ
??1CFlexArray@@QEAA@XZ
??1CGlobalResource@@QEAA@XZ
??1CharReaderBuilder@Json@@UEAA@XZ
??1CHPtrArray@@QEAA@XZ
??1CHStringArray@@QEAA@XZ
??1CHString@@QEAA@XZ
??1CInCritSec@@QEAA@XZ
??1ClassInfoBase@DirectUI@@UEAA@XZ
??1CNtSid@@QEAA@XZ
??1CPrvEnumObject@@QEAA@XZ
??1CRegistry@@QEAA@XZ
??1CRegistrySearch@@QEAA@XZ
??1CritSecLock@DirectUI@@QEAA@XZ
??1CRtlList@@QEAA@XZ
??1CRtlMap@@UEAA@XZ
??1CRtlSharedLock@@QEAA@XZ
??1CSearchServiceObj@@QEAA@XZ
??1CStaticCritSec@@QEAA@XZ
??1CTcpMib@@UEAA@XZ
??1CTraceFunction@@QEAA@XZ
??1CTraceProvider@@QEAA@XZ
??1CUnkInternal@@UEAA@XZ
??1CUnk@@UEAA@XZ
??1CVar@@QEAA@XZ
??1CVarVector@@QEAA@XZ
??1CVdsAsyncObjectBase@@QEAA@XZ
??1CVdsCallTracer@@QEAA@XZ
??1CVdsCriticalSection@@QEAA@XZ
??1CVdsPnPNotificationBase@@QEAA@XZ
??1CVdsUnlockIt@@QEAA@XZ
??1CVdsWmiVariantObjectArrayEnum@@QEAA@XZ
??1CWSManCriticalSection@@QEAA@XZ
??1CWSManCriticalSectionWithConditionVar@@QEAA@XZ
??1DCSurface@DirectUI@@UEAA@XZ
??1Decoder@UnBCL@@UEAA@XZ
1des-iv32
1des-iv64
1des-mac
??1DirectoryInfo@UnBCL@@UEAA@XZ
??1DSTRING@@UEAA@XZ
??1DUIFactory@DirectUI@@QEAA@XZ
??1Element@DirectUI@@UEAA@XZ
??1ElementProvider@DirectUI@@UEAA@XZ
??1Encoding@UnBCL@@UEAA@XZ
??1exception@@UEAA@XZ
??1Exception@UnBCL@@UEAA@XZ
??1ExternalException@UnBCL@@UEAA@XZ
1F 5[k0#x
??1facet@locale@std@@MEAA@XZ
??1FileStream@UnBCL@@UEAA@XZ
??1FSN_FILTER@@UEAA@XZ
??1FSTRING@@UEAA@XZ
1-G4VY_U
??1HeapMemoryManager@UnBCL@@UEAA@XZ
??1HWNDElement@DirectUI@@UEAA@XZ
??1HWNDHost@DirectUI@@UEAA@XZ
??1IDataEntry@DirectUI@@UEAA@XZ
??1IDisposable@UnBCL@@UEAA@XZ
??1ImpersonateUser@@UEAA@XZ
??1IndexOutOfRangeException@UnBCL@@UEAA@XZ
1.	INSTALLATION AND USE RIGHTS.
??1InvalidCastException@UnBCL@@UEAA@XZ
??1InvalidOperationException@UnBCL@@UEAA@XZ
??1IPoolable@UnBCL@@UEAA@XZ
??1ISerializable@UnBCL@@UEAA@XZ
1@!LK@p 
??1_Locinfo@std@@QEAA@XZ
??1_Lockit@std@@QEAA@XZ
??1MemoryStream@UnBCL@@UEAA@XZ
 1MettqH
1Microsoft Testing Root Certificate Authority 2010
1M|*SZ2C;
??1MULTIPLE_PATH_ARGUMENT@@UEAA@XZ
??1MultiSz@UnBCL@@UEAA@XZ
??1MutableString@UnBCL@@UEAA@XZ
??1NotSupportedException@UnBCL@@UEAA@XZ
1oBFLBB@Q
??1ObjectDisposedException@UnBCL@@UEAA@XZ
??1OBJECT@@UEAA@XZ
??1Object@UnBCL@@UEAA@XZ
??1OnHTTPInitialize@@QEAA@XZ
??1OperatingSystem@UnBCL@@UEAA@XZ
??1OutOfMemoryException@UnBCL@@UEAA@XZ
??1OverflowException@UnBCL@@UEAA@XZ
??1PATH_ARGUMENT@@UEAA@XZ
??1PathTooLongException@UnBCL@@UEAA@XZ
??1PATH@@UEAA@XZ
??1PRINT_STREAM@@UEAA@XZ
??1PROGRAM@@UEAA@XZ
1QueryGroupPolicySetting
??1RefcountBase@DirectUI@@UEAA@XZ
??1Registry@@QEAA@XZ
??1ScopedObjectLock@UnBCL@@QEAA@XZ
??1ScrollViewer@DirectUI@@UEAA@XZ
??1SerializationException@UnBCL@@UEAA@XZ
??1SerializationId@UnBCL@@UEAA@XZ
??1SerializationStream@UnBCL@@UEAA@XZ
??1StreamCounter@UnBCL@@QEAA@XZ
??1STREAM_MESSAGE@@UEAA@XZ
??1Stream@UnBCL@@UEAA@XZ
??1STRING_ARGUMENT@@UEAA@XZ
??1StringBuilder@UnBCL@@UEAA@XZ
??1StringPtr@UnBCL@@UEAA@XZ
??1String@UnBCL@@UEAA@XZ
??1SyncObject@UnBCL@@UEAA@XZ
??1SystemException@UnBCL@@UEAA@XZ
??1SystemInfo@UnBCL@@UEAA@XZ
??1TaskPage@DirectUI@@UEAA@XZ
??1TIMEINFO_ARGUMENT@@UEAA@XZ
1ttG_T60
??1type_info@@UEAA@XZ
1 TYPELIB "upnphost.tlb"
??1Type@UnBCL@@UEAA@XZ
??1UnicodeEncoding@UnBCL@@UEAA@XZ
??1Value@Json@@QEAA@XZ
??1Version@UnBCL@@UEAA@XZ
1WEIGHTS
??1Win32Exception@UnBCL@@UEAA@XZ
??1WString@@QEAA@XZ
??1XmlAttributeCollection@UnBCL@@UEAA@XZ
??1XmlAttributeCollection@XmlLite@UnBCL@@UEAA@XZ
??1XmlAttribute@UnBCL@@UEAA@XZ
??1XmlAttribute@XmlLite@UnBCL@@UEAA@XZ
??1XmlDocument@UnBCL@@UEAA@XZ
??1XmlDocument@XmlLite@UnBCL@@UEAA@XZ
??1XmlException@UnBCL@@UEAA@XZ
??1XmlNamespaceManager@UnBCL@@UEAA@XZ
??1XmlNodeList@UnBCL@@UEAA@XZ
??1XmlNodeList@XmlLite@UnBCL@@UEAA@XZ
??1XmlNode@UnBCL@@UEAA@XZ
??1XmlNode@XmlLite@UnBCL@@UEAA@XZ
??1XmlSchemaSet@UnBCL@@UEAA@XZ
??1XPathException@UnBCL@@UEAA@XZ
200131192646Z
200304183039Z
200327192125Z0z1
200502212436Z0p1
200502213746Z0t1
200924191625Z
201015172814Z
201015172822Z
201015172825Z
201015172826Z
201112182601Z
201112182602Z
201204204106Z0
201204204118Z0
201215212914Z
20191025205751.209Z0
20191026005654Z
20191027005654Z0t0:
20191207005656.242Z0
20191207005841.485Z0
20191207010135.365Z0
20191207034121Z
20191207034505Z
20191207034550Z
20191207055209.475Z0
20191207055505.37Z0
20191207075411Z
20191207125635Z
20191208034121Z0t0:
20191208125635Z0s09
20200926060922.572Z0
20200926060926.867Z0
20200926064302Z
20200926072231Z
20200927064302Z0t0:
20210108094301Z
20210108160931.271Z0
20210108161030.764Z0
20210108161207.155Z0
20210108200519.502Z0
20210108200834.059Z0
20210108200835.229Z0
20210108200903.536Z0
20210108201526.289Z0
20210108201540.224Z0
20210108204703Z
20210108213540Z
20210108215123Z
20210108215626Z
20210108222557Z
20210109032220Z
20210109032300Z
20210109222557Z0s09
20210110032220Z0t0:
20210408054053Z
20210408075454.344Z0
20210422174050Z
20210422231746.06Z0
20210826045458.538Z0
20210826100944.754Z0
20210826110721Z
20220211002955Z
20220211022412.063Z0
20220211024324.307Z0
20220211043803Z
20220211094414.034Z0
20220211094544.345Z0
20220211094548.367Z0
20220211122529Z
20220211123304Z
20220211130648Z
20220211160214Z
20220212043803Z0t0:
20220216082213.555Z0
20220216154952Z
20220218063649Z0
20220227222522Z
20220228015400.459Z0
20220301222727Z
20220302113800Z
20220302115052.807Z0
20220302115053.304Z0
20220302115117.121Z0
20220522141158.902Z0
20220522141202.288Z0
20220522154621Z
20220522190117.732Z0
20220522210958Z
20220522212358Z
20220523210958Z0t0:
20220523212358Z0t0:
20220618003146Z
20220618062106.954Z0
20220619003146Z0t0:
20220719232033Z
20220720024636.017Z0
20220720024641.56Z0
20220720024721.46Z0
20220720055434Z
20220910020729.913Z0
20220910020737.043Z0
20220910043523Z
20220910063837.547Z0
20220910095328Z
20220910095738Z
20220911095738Z0t0:
20221013210608Z
20221014022714.458Z0
20221014023025.444Z0
20221014065012Z
20221027060821Z
20221027143221.962Z0
20221027152621Z
20221103125254Z
20221103153249.077Z0
20221103221400.84Z0
20221103221738.889Z0
20221103232946Z
20221104020209Z
20221108225533Z
20221109010731Z
20221109031144.98Z0
20221109050807.374Z0
20221109050821.429Z0
20221109113346Z
20221109135243Z
20221109135422Z
20221109135611.266Z0
20221109135633.705Z0
20221109135635.558Z0
20221109135643.44Z0
20221109164402Z
20221110135243Z0t0:
20221110135422Z0t0:
20221110164402Z0s09
20221201014501Z
20221201050246Z
20221201050436.091Z0
20221201050438.569Z0
20221201050439.418Z0
20221201050440.097Z0
20221201081742Z
20221201122252Z
20221202014501Z0t0:
20221202081742Z0t0:
20221226111647Z
20230106034307Z
20230106050410.348Z0
20230106050747.203Z0
20230106073622Z
20230106074927Z
20230106075035Z
20230106110131.675Z0
20230106110749.029Z0
20230106191700.459Z0
20230106194835Z
20230107074927Z0t0:
20230107075035Z0t0:
20230107194835Z0t0:
210101000000Z
210114190215Z
210114190216Z
210114190217Z
210114190219Z
210121231918Z0
210121231920Z0
210121231921Z0
210121231937Z0
210122192646Z0z1
210211214035Z0
210211214038Z0
210303183039Z0p1
210317011456Z0
210317011503Z0
210317011504Z0
210331000000Z
210429000000Z
210617175559Z
210802000000Z
210902182341Z
210913000000Z
210923191625Z0z1
210930182225Z
211028192739Z
211028192745Z
211028192746Z
211202190512Z
211202190513Z
211202190515Z
211202190516Z
211202190517Z
211202190519Z
211202190522Z
211202190524Z
211202212914Z0p1
2.16.840.1.101.3.4.2.1
2.16.840.1.113730.4.1
       21 - Interactive User Full Access
2200 Mission College Blvd1
220112172814Z0
220112172822Z0
220112172825Z0
220112172826Z0
220127193118Z
220127193119Z
220211182601Z0
220211182602Z0
220302185121Z
220302185122Z
220302185123Z
220302185128Z
220302185129Z
220310192419Z
220310195805Z
220310195806Z
220323000000Z
220411190215Z0
220411190216Z0
220411190217Z0
220411190219Z0
220426000000Z
220505192313Z
220505192314Z
220505192315Z
220511000000Z
--.2205n
220607180806Z
220616175559Z0
220801000000Z
220802235959Z0l1
220901182341Z0p1
220913235959Z0l1
220920202159Z
220920202201Z
220920202211Z
220920202216Z
220920202217Z
220921000000Z
221013194352Z
221013194359Z
221027060821Z0?
221104190122Z
221104190125Z
221104190128Z
221104190134Z
.222..520.
       22 - Interactive User Read and Write Access
22Vd::Nt
230126192739Z0
230126192745Z0
230126192746Z0
230126193118Z0z1
230126193119Z0z1
230228190512Z0
230228190513Z0
230228190515Z0
230228190516Z0
230228190517Z0
230228190519Z0
230228190522Z0
230228190524Z0
230308192419Z0p1
230308195805Z0
230308195806Z0
230331235959Z0p1
230504192313Z0p1
230504192314Z0p1
230504192315Z0p1
230511185121Z0
230511185122Z0
230511185123Z0
230511185128Z0
230511185129Z0
230601180806Z0
231011194352Z0z1
231011194359Z0z1
231214202159Z0
231214202201Z0
231214202211Z0
231214202216Z0
231214202217Z0
240202190122Z0
240202190125Z0
240202190128Z0
240202190134Z0
--.2454n
250425235959Z0
250701214655Z0|1
250722210349Z0
2.5.29.17
2.5.29.37
261019185142Z0
26622221
270418235838Z0
28545C471652C8F777FF320E10B8A99458B662FA
290106101253Z0
290322235959Z0
291015204127Z0
       2  - Administrators Read Access
2CFileDlgEvents::CreateInstance
2.	DATA COLLECTION. The software may collect information about you and your use of the software and send that to Microsoft. Microsoft may use this information to provide services and improve Microsoft
2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA
2DigiCert Trusted G4 RSA4096 SHA256 TimeStamping CA0
2FColorWWW
2fE9(tAH
2H9YHt*H
2K25777785X
2lrrrlkZ
2Microsoft Windows Hardware Compatibility Publisher0
??2Object@UnBCL@@SAPEAX_KI@Z
??2Object@UnBCL@@SAPEAX_KPEBDHI@Z
??2Object@UnBCL@@SAPEAX_KPEBDH@Z
??2Object@UnBCL@@SAPEAX_K@Z
2psaWkspBlobs
2pwszSystemDrive
2QdaaQdaaQdaaX
2re2dCYjB
2Unknown
2Vd2:Nt:
2WEIGHTS
2YVSS.	u
'	2zASfN
2zUserNamesWWW
        3
3)))))))#
3))))))))
300930183225Z0|1
301231235959Z0|1
310106000000Z0H1
310107120000Z0r1
310111235959Z0w1
311109235959Z0b1
'''*"31nv
3232337-
3270 REGIME
32-Bit AS Number
330810235959Z0j1
331121235959Z0F1
33333330UUU
33333333
333333330UUUUUUUUU7ssspwwwwsssss0UUUUUUUUU77770wwwws77770UUUUUUUUU7y
!!..............!!333333333
33333333333
333333333330
@3333333333333333333333331
33333333H
33333333H#
;;:::3***3444nv
33484071
........34
360428235959Z0i1
370322235959Z0c1
(377(((3s
39MFCreate2DMediaBufferOn1DMediaBuffer
3ADCDFFCFGGnA
       3  - Administrators Read and Write Access
3B1uXtRh
3GetWorkspaceFolderContentsWW
3GFFFFD8
3.H5ITw#
]3HDJg2h
3#" hLIE
3H;s(t#L
*3:IXWUP
3JDDDMTq
3'KKKK'KKfKKKKfKfK.K
3KN::::75
3LoadIconWithScaleDown
3nGFFFD8
3N@ j1w*
??3Object@UnBCL@@SAXPEAXPEBDH@Z
??3Object@UnBCL@@SAXPEAX@Z
*3phxXX"
3psaWkspItemNames
3RtlQueryFeatureConfiguration
3ss0Xwwwww7ww
3System.Resources.Tools.StronglyTypedResourceBuilder
*3:WDplh
3WEIGHTS
??3@YAXPEAX@Z
)))))))4
----------4-
40rmiwwwP
44(((((((    2222UdXnnnnnnnnnnnnl
44(((((((   22UdXnnnnnnnnnnnnj
44(((((((((   22UdXnnnnnnnnnnnnj
4444414122(
4444422211(
4444422222(
444((((((( VaXnnnnnnnnnnnnQ
445::WXY_?
448:WXYR
449::WZY_bbS
44((((((((   UdXnnnnnnnnnnnnj
44((((((((  UgXnnnnnnnnnnnnj
44(((((((VaXnnnnnnnnnnnnQ
44(((WaXnnnnnnnnnnnnP
44WfXnnnnnnnnnnnnF
44((WfXnnnnnnnnnnnnP
???45678??????n0123456789???????????????????????
??4Allocator@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ArgumentException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ArgumentNullException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ArgumentOutOfRangeException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ArithmeticException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ASCIIEncoding@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4CaseInsensitiveStringComparer@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4CHPtrArray@@QEAAAEAV0@AEBV0@@Z
??4CHStringArray@@QEAAAEAV0@AEBV0@@Z
??4CHString@@QEAAAEBV0@AEBV0@@Z
??4CHString@@QEAAAEBV0@D@Z
??4CHString@@QEAAAEBV0@G@Z
??4CHString@@QEAAAEBV0@PEAV0@@Z
??4CHString@@QEAAAEBV0@PEBD@Z
??4CHString@@QEAAAEBV0@PEBE@Z
??4CHString@@QEAAAEBV0@PEBG@Z
??4ConsoleLogHandler@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4CRegistry@@QEAAAEAV0@AEBV0@@Z
??4CRegistrySearch@@QEAAAEAV0@AEBV0@@Z
??4CTcpMib@@QEAAAEAV0@AEBV0@@Z
??4CTraceProvider@@QEAAAEAV0@AEBV0@@Z
??4CVar@@QEAAAEAV0@AEBV0@@Z
??4CVarVector@@QEAAAEAV0@AEAV0@@Z
??4Decoder@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4DirectoryInfo@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Directory@UnBCL@@QEAAAEAV01@AEBV01@@Z
4)E]hrrgYL
??4Encoding@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Environment@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Exception@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ExternalException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4FileStream@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4File@UnBCL@@QEAAAEAV01@AEBV01@@Z
4gShowMessageDialogWWW
??4HeapMemoryManager@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4IDisposable@UnBCL@@QEAAAEAU01@AEBU01@@Z
??4IInstanceFactory@UnBCL@@QEAAAEAU01@AEBU01@@Z
??4IndexOutOfRangeException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Int32Ops@UnBCL@@QEAAAEAU01@AEBU01@@Z
??4InvalidCastException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4InvalidOperationException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4IPoolable@UnBCL@@QEAAAEAU01@AEBU01@@Z
??4ISerializable@UnBCL@@QEAAAEAU01@AEBU01@@Z
4''L)lGt
??4Logging@UnBCL@@QEAAAEAV01@AEBV01@@Z
4	memcmp
??4MemoryStream@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4MultiSz@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4MutableString@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4MutableString@UnBCL@@QEAAAEAV01@PEBG@Z
4n65788Iddx
??4NotSupportedException@UnBCL@@QEAAAEAV01@AEBV01@@Z
4nullptr
??4ObjectDisposedException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Object@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4OperatingSystem@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4OutOfMemoryException@UnBCL@@QEAAAEAV01@AEBV01@@Z
4[out_VersionW
??4OverflowException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4PathTooLongException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Path@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SbRegistrationList@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4ScopedObjectLock@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SerializationException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SerializationId@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SerializationStream@UnBCL@@AEAAXAEBV01@@Z
??4StreamCounter@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Stream@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4StringBuilder@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4StringPtr@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4String@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SyncObject@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SystemException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4SystemInfo@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4Type@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4UnicodeEncoding@UnBCL@@QEAAAEAV01@AEBV01@@Z
4((((((VaXnnnnnnnnnnnnh
4(((((VaXnnnnnnnnnnnnh
??4Version@UnBCL@@QEAAAEAV01@AEBV01@@Z
4)vk95([
4-Way Handshake timeout
??4Win32Exception@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4WString@@QEAAAEAV0@AEBV0@@Z
??4WString@@QEAAAEAV0@PEBG@Z
4W_XnnnnnnnnnnnnF
??4XmlAttributeCollection@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlAttributeCollection@XmlLite@UnBCL@@QEAAAEAV012@AEBV012@@Z
??4XmlAttribute@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlAttribute@XmlLite@UnBCL@@QEAAAEAV012@AEBV012@@Z
??4XmlDocument@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlDocument@XmlLite@UnBCL@@QEAAAEAV012@AEBV012@@Z
??4XmlException@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlNamespaceManager@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlNodeList@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlNodeList@XmlLite@UnBCL@@QEAAAEAV012@AEBV012@@Z
??4XmlNode@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XmlNode@XmlLite@UnBCL@@QEAAAEAV012@AEBV012@@Z
??4XmlSchemaSet@UnBCL@@QEAAAEAV01@AEBV01@@Z
??4XPathException@UnBCL@@QEAAAEAV01@AEBV01@@Z
)))))))))))))))))))))))5
(55554444222222111111(
(55554444444141411111(
(55555555555555554444(
'''---555;;;EEEbbb
555hjjRt
555taaaW
5-5ELLB-
5;(9?@DEvtvC*
:5:A:G:M:R:
5Command line argument is missing the argument value
       5  - Creator Full Access
5IsDefaultWorkspaceWW
5	memcpy
5Microsoft Development Root Certificate Authority 2014
5OpenAsTextStream
5out_Dispatch
5pbstrDescWWWd
5Q65)))8
5RRRRTTTUUTY
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAE@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAF@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAG@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAH@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAI@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEA_J@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAJ@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEA_K@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAK@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAM@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAN@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAPEAUISerializable@1@@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAPEAVString@1@@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAPEBUISerializable@1@@Z
??5SerializationStream@UnBCL@@QEAAAEAV01@AEAUEmptyType@MP@1@@Z
5SS[[[[[[
5.	SUPPORT SERVICES. Microsoft is not obligated under this agreement to provide any support services for the software. Any support provided is 
5SxClearDifficultAttributes
5TT@951'!
5Wekodtv
6.0.6001.17014
@66666666
@666666666
666666666666666
66666666666666666666666666
6666666666666666jjjjjjjjjjjjjjjj
;#67_i25
68007400740070003a002f002f00
68A!8EJ6
68LT[WS*
6983boqr'
6b4:2P8r:
6...].]B7].7H
6bstrWorkspaceIdW
       6  - Creator Read and Write Access
6dbbbb[H
6E;f(t	A
6Failed to create settings store!
6FaqnR444
	6FqcZO"
6H9Y0u0L
6H;WPu0H
6IIMRequestRA 
6	?Init@NavReference@DirectUI@@QEAAXPEAVElement@2@PEAUtagRECT@@@Z
'6'KKK'KKKKKKfKfKKKfKf
6pwszVolumeNameWW
6q44788Q
'6'R'6'K'KKKDKDK
'6'RK'RK
??6SerializationStream@UnBCL@@QEAAAEAV01@E@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@F@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@G@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@H@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@I@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@J@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@_J@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@K@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@_K@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@M@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@N@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@PEBUISerializable@1@@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@PEBVString@1@@Z
??6SerializationStream@UnBCL@@QEAAAEAV01@UEmptyType@MP@1@@Z
6|sipyZG
6TieringHeatSession::GetVolumeInfoFromReservedRecord
6UeXC*2M
6Wb8P(liq
70StartWorkspaceEx2WWW
70StartWorkspaceEx2WWW!
71777777777333333338
766"Vxzzz
....7.7.7
77770wwwws77770Xwwwwwwww7wwwpwwwwswwww0U
77777777
..7.7.7B7B7B
:::#777jRRR
77B777!B7
..7.7.B7B
7.7B7B77777B]B!7]!9Oh
.77B7B77]B7B]B777]e[0
].7.7B]B]7]7]
.7].7B]!B77]777]!5O
79qn#r@9
|7A9@@t1H
??_7ArgumentException@UnBCL@@6B@
??_7ArgumentNullException@UnBCL@@6B@
??_7ArgumentOutOfRangeException@UnBCL@@6B@
??_7ArithmeticException@UnBCL@@6B@
??_7ASCIIEncoding@UnBCL@@6BEncoding@1@@
??_7ASCIIEncoding@UnBCL@@6BObject@1@@
7B7.7B]B
7B7B77B!7!7
].7B]B7B]
7bGPreAssociateCompletion
??_7CaseInsensitiveStringComparer@UnBCL@@6BObject@1@@
7__ccefffE
??_7ConsoleLogHandler@UnBCL@@6B@
??_7CTcpMib@@6B@
??_7CUnkInternal@@6B@
??_7Decoder@UnBCL@@6B01@@
??_7Decoder@UnBCL@@6BObject@1@@
??_7DirectoryInfo@UnBCL@@6B@
7DxDeleteBlbBackupSets
]7E4!n?5
??_7Encoding@UnBCL@@6B01@@
??_7Encoding@UnBCL@@6BObject@1@@
??_7Exception@UnBCL@@6B@
??_7ExternalException@UnBCL@@6B@
.7f7B7B77B7
??_7FileStream@UnBCL@@6BIDisposable@1@@
??_7FileStream@UnBCL@@6BObject@1@@
??_7FileStream@UnBCL@@6BStream@1@@
7#FormatWW
??_7HeapMemoryManager@UnBCL@@6B@
??_7IndexOutOfRangeException@UnBCL@@6B@
??_7InvalidCastException@UnBCL@@6B@
??_7InvalidOperationException@UnBCL@@6B@
7	memcmp
7	memmove
??_7MemoryStream@UnBCL@@6BIDisposable@1@@
??_7MemoryStream@UnBCL@@6BObject@1@@
??_7MemoryStream@UnBCL@@6BStream@1@@
7Mqf1n-6u
??_7MultiSz@UnBCL@@6BISerializable@1@@
??_7MultiSz@UnBCL@@6BObject@1@@
??_7MutableString@UnBCL@@6B@
??_7NotSupportedException@UnBCL@@6B@
??_7ObjectDisposedException@UnBCL@@6B@
??_7Object@UnBCL@@6B@
??_7OperatingSystem@UnBCL@@6B@
??_7OperatingSystem@UnBCL@@6BISerializable@1@@
??_7OutOfMemoryException@UnBCL@@6B@
??_7OverflowException@UnBCL@@6B@
7@ParentFolder
??_7PathTooLongException@UnBCL@@6B@
7pExtentLayout
7pLaunchTargetAppWd
7pVef-ezL
7P XIqd(
??_7SerializationException@UnBCL@@6B@
??_7SerializationId@UnBCL@@6B@
??_7SerializationStream@UnBCL@@6B@
7ssspwwwwsssss0
??_7Stream@UnBCL@@6B01@@
??_7Stream@UnBCL@@6BIDisposable@1@@
??_7Stream@UnBCL@@6BObject@1@@
??_7StringBuilder@UnBCL@@6B@
??_7StringPtr@UnBCL@@6B01@@
??_7String@UnBCL@@6B@
??_7SyncObject@UnBCL@@6B@
??_7SystemException@UnBCL@@6B@
??_7SystemInfo@UnBCL@@6B@
??_7Type@UnBCL@@6B@
??_7UnicodeEncoding@UnBCL@@6BEncoding@1@@
??_7UnicodeEncoding@UnBCL@@6BObject@1@@
7Uout_ScriptNameWW
??_7Version@UnBCL@@6B@
??_7Version@UnBCL@@6BISerializable@1@@
??_7Win32Exception@UnBCL@@6B@
       7  - World Full Access
"?;7WSQN
7wwws33w
??_7XmlAttributeCollection@UnBCL@@6B@
??_7XmlAttributeCollection@XmlLite@UnBCL@@6B@
??_7XmlAttribute@UnBCL@@6B@
??_7XmlAttribute@XmlLite@UnBCL@@6B@
??_7XmlDocument@UnBCL@@6B@
??_7XmlDocument@XmlLite@UnBCL@@6B@
??_7XmlException@UnBCL@@6B@
??_7XmlNamespaceManager@UnBCL@@6B@
??_7XmlNodeList@UnBCL@@6B@
??_7XmlNodeList@XmlLite@UnBCL@@6B@
??_7XmlNode@UnBCL@@6B@
??_7XmlNode@XmlLite@UnBCL@@6B@
??_7XmlSchemaSet@UnBCL@@6B@
??_7XPathException@UnBCL@@6B@
802.11_if
802.1B G
802.1B I
802.1Q-9100
802.1Q-9200
802.1Q-QinQ
818999:999A
@..820001(
)(82KyEI
83333833338
835GetMsaToken
8388838A
-878Bbab
:8:::;;;;::8:8
8888888888888
888@888@mmm
888m999#JJJ
8996#! b
??_8ASCIIEncoding@UnBCL@@7B01@@
??_8ASCIIEncoding@UnBCL@@7BEncoding@1@@
8AYeghw.
8bgIArguments_Class
??_8CaseInsensitiveStringComparer@UnBCL@@7B@
??8CNtSid@@QEAAHAEAV0@@Z
8CServerClipRdrPduDispatcher
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
8DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA10
8EED-FHEKKJGG#
??_8FileStream@UnBCL@@7BIDisposable@1@@
??_8FileStream@UnBCL@@7BStream@1@@
8Finishedd
8ForReadingWW
?[8?GOQY
8HMt	8HL
8|@ISDChangeObjd
@(@8i t4H
8KaIWSHNamedArguments_Class
8K)tSH9M
8mdIWorkspaceRuntimeProxyWW
8	memcpy
??_8MemoryStream@UnBCL@@7BIDisposable@1@@
??_8MemoryStream@UnBCL@@7BStream@1@@
??_8MultiSz@UnBCL@@7B@
??_8MultiSz@UnBCL@@7BISerializable@1@@
8nBIWSHRemoteWW
8N"D8BLI.7
8NMIWorkspaceRegistrationWW
8NUFileSystemObject
8o1IWorkspaceClientExtW
??_8OperatingSystem@UnBCL@@7B01@@
??_8OperatingSystem@UnBCL@@7BISerializable@1@@
8PMt	8PL
8pr!H9xXv
8prVssSnapshotMgmtWd
8?)RASrvWWWd
8RtlIsStateSeparationEnabled
8srAcquisitionManagerWWd
??_8StringPtr@UnBCL@@7B@
8_tIUPnPDeviceProviderWX
??8type_info@@QEBAHAEBV0@@Z
8u8o;zxN
8*umfD9p
??_8UnicodeEncoding@UnBCL@@7B01@@
??_8UnicodeEncoding@UnBCL@@7BEncoding@1@@
8UWFSuYI
??_8Version@UnBCL@@7B01@@
??_8Version@UnBCL@@7BISerializable@1@@
8]vxeR_eqZ
       8  - World Read Access
??8WSTRING@@QEBAEAEBV0@@Z
8x6ISPPUIWWd
8x'Blh!y
8	XVd#:D?H
@8y uR@8y"uL
@8yZu	@8y
9066:01114::Jb1
90b6B0hK*c
9]0t.iM0
9]0u79]8u
9]3ty9];ttH
''9::9''
('9::9((
9993999 999
9-9-9-9[
|999#999
|999*999
999 9990999*999
999 9993
999#9993
999 999-999
999*999-999
999-999 999
999-999*999
999jEiWq
999*lllU
999#nnnS
999 nnnS9993
999 rrrM
999*tttU
999#uuuS
999-uuuS
999 vvv_999*999
999#XXXF
_--9-9e9-
9?A????9@@@@@8688@25
9A98u6A9x
9A t09A(t
9At least one template must be registered or unregistered.
@|9B|u	D
9Copyright (c) Microsoft Corporation. All rights reserved.
 9D) uEH
9ex	:.'b
9Fo0Bbm Z
9F(u|9E0uwD
9GGHGGGKG
9GKKKKKKKN
_9h eTMJ
9HrrrUrrrrsrrrrrrrrrr
9kLtK9sPtpH
9KTu_9KPuZ
9k@v99kLt
9l.3ND3p
9	memcpy_s
9	memset
9mmmmmmmm9999
9mmmmmmmmmed9
9mmmmmmmmWg9
9M;x s]H
9ppProperties
#	|9q6'Z
!9ReregisterRunningDeviceW
9s8vR;whsMH
9StartWorkspaceEx
9SUPBujH
9s@vV9CPu
9TpdwCookieWWWX
9TristateUseDefaultWW 
9ullAccessTokenExpiration
9_@vV9GPu
       9  - World Read and Write Access
9WSReset
??9WSTRING@@QEBAEAEBV0@@Z
9w|tVHcGHH
9X0tqfE;
9x(uS9y@
9xvv0ecc#USS
9y(u	9y@
a0(00h0h0h0h0h0h00h00h
a00h(U0h0O0h0h0h0h0U0U0U
A0123456789abcdefABCDEF
A08HEuAH
(a0(a0(h
a0(h(((0(
a0(h00h0h(h0h0h0h0h0h
a0h0h0h0h0h00hh0h
a0h0h0h0h(h0U0h0h0h0hU0hhh
a0h(0U00a0h0h0h(h(h0h
A0H9AHtS
A0H;B0t0A
a0U0E0E0
a0U0U(U0ah
a	 11Q"p
_A1AC_accfA
A4;A0u1H
a7A]XYae
A7"@fI!2J
a7z28B'v
A81t@@8r
A 8B t)H
A@8B@t(H
:a8Fex;H
A!8H!:!9I
A8H!AHH!A@H
A @8x8u[H
A8x*t8f;
A9@0u	E;
a9EGGGGG
A9OLutI9OPt
A9Olw*I9OPt
a9pdwValue
A9u4tzI9u8ttD
AaAaAaCcCcCcCcDd
@[]aacgma
AADChangePasswordInvoked
AAjTjTjj
a)	Australia. You have statutory guarantees under the Australian Consumer Law and nothing in this agreement is intended to affect those rights.
   a backslash and a subkey path.
AbandonedMutexException
aBb:C:cf:HhI:JjkLlmnOoPpqrSs:T:tUuvW:wX:xyZz
abbreviation
@ABCDEFGHIJKLMNO
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_
AbortAllSnapshotsInProgressWL
AbortedCommandCount
AbortSystemShutdownW
absence de contrefa
Absolute
absolute-paths
ACbsCoreInitialize
accelerationStructure
accelerationStructureCaptureReplay
accelerationStructureHostCommands
accelerationStructureIndirectBuild
Accepted
AccessCheck
AccessCheckByType
AccessCheck failed.
AccessDenied
AccessDeniedForUpdateUserChoices
AccessDeniedIsOk
AccessibilityOnCtrlWinEnter
AccessibilityOnWinVolumeUp
AccessibleObjectFromWindow
?AccessibleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
accessibleRootChild.CopyTo(IID_PPV_ARGS(automationProvider))
accessibleRoot.CopyTo(accessibleRootOut)
AccessLength
AccessOffet
ACCESS_SYSTEM_SECURITY
?AccNameProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
accorde aucune autre garantie expresse. Vous pouvez b
accountCloudPasswordless
AccountingRecordJson
AccountingRecordRetrievalTimestamp
accountPasswordless
AccountProtectionHealth
AccountProtectionStatus
AccountSyncing
accountType
AccountType
AccumulateData Delayed write bytes failed!.
Accumulated IGP Metric
??ACFlexArray@@QEAAAEAPEAXH@Z
ACheckPerAppBrokerInstancingRegistryValue
??ACHPtrArray@@QEAAAEAPEAXH@Z
??ACHPtrArray@@QEBAPEAXH@Z
??ACHStringArray@@QEAAAEAVCHString@@H@Z
??ACHStringArray@@QEBA?AVCHString@@H@Z
??ACHString@@QEBAGH@Z
Acknowledgment
ack present
ack_ratio
ack_vector0
ack_vector1
aClientChoicesWWW
ACLUI.dll
AcmPresent
ACPI BIOS
Acquired
AcquireFrame
AcquireFrameResponse
?AcquireRead@CRtlSharedLock@@AEAAXXZ
AcquireRundownProtection
AcquireSRWLockExclusive
AcquireSRWLockShared
AcquireUniqueId failed!
?AcquireWrite@CRtlSharedLock@@AEAAXXZ
AcquisitionManager ClassWW
__acrt_iob_func
ActionArg
ActionCollection
ActionDelay
ActionDialogManager::HandlePromptSync
ActionDialogManager::Initialize
ActionDialogManager::WnfCallbackImpl
ActionPath
ActionPlatform::LaunchModule: Failed to allocate memory for DLL entry point
ActionQueue.dll
ActionType
action_uri
ActivatableClass
ActivatableClassId
|Activate
Activate
ActivateActCtx
ActivateApplication failed
Activated
ActivateDeploymentExW
ActivatePendingCompartmentInfoList failed
Activate profile failed
?ActivateTooltip@Element@DirectUI@@MEAAXPEAV12@K@Z
?ActivateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@K@Z
ActivatingRecordSession
ACTIVATION_CHANNEL_INVALIDWWd
ACTIVATION_CHANNEL_RETAILWWW
ACTIVATION_CHANNEL_TOKEN
ActivationContextWWW
ActivationFactoryIID
ActivationFunction
ActiveClientCount
activeDesktopId
ActiveExtensionChangedToAggregate
ActiveExtensionHasChanged
ActiveExtensionHasChangedToNone
activeHoursEnd
activeHoursStart
Actively recording collectors: 
activeSessionid
Activity
ActivityError
ActivityFailure
activityId
ActivityId
Activity ID
ActivityIntermediateStop
ActivityRestrictedByActiveHoursPolicy
ActivityScopeNotExplicitlyStopped
ActivityStoppedAutomatically
activityType
;a"CTSThreadInternal
actualCount
actualMilliseconds
ActualScript
ACWindows::Rtl::SystemImplementation::CUserProfile::Initialize
A D8B tGL
A D8B t*L
AdapterLogList
AdapterLogListIndex
AdapterLogListSize
AdapterReset
AdapterZoneDeviceErrors
AdapterZoneOutOfOrderWriteCount
ADAPTIVETESS_W
ADAPTIVETESS_X
ADAPTIVETESS_Y
ADAPTIVETESS_Z
A D;B uUH
AddAccessAllowedAce
AddAccessAllowedAceEx
AddAccessDeniedAce
AddAccessDeniedAceEx
add-addr
AddArgument
AddAtomW
AddAuditAccessAceEx
ADDBA Request
ADDBA Response
?Add@BaseScrollViewer@DirectUI@@UEAAJPEAPEAVElement@2@I@Z
?AddBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
	-addboot 		Enables Autologger for the given profile. The wpr -addboot command takes the same options as the wpr -start command. Refer to the wpr -start options for the usage
AddBugCheckSignaturesToReport failed
AddCallback failed
AddCallback failed!
AddCallback for OnLogoffTriggerCheck failed
?AddChild@ClassInfoBase@DirectUI@@UEAAXXZ
?AddChildren@ScrollViewer@DirectUI@@MEAAJXZ
?Add@CHPtrArray@@QEAAHPEAX@Z
?Add@CHStringArray@@QEAAHPEBG@Z
AddClipboardFormatListener
AddCommand
?Add@CVarVector@@QEAAHAEAVCVar@@@Z
'A@DDDFGGFGF:
AddDirectoryToFgd failed!
AddDllDirectory
AddDomainUserPage_CreateInstance
Added Anchor
?Add@Element@DirectUI@@QEAAJPEAV12@@Z
?Add@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
AddEventSource
?_Addfac@_Locimp@locale@std@@AEAAXPEAVfacet@23@_K@Z
AddFileToReportW
AddFormW
AddFSPropertiesToMap
AddHours
_AddInterestingVolumes
AddIScsiStaticTargetW
AddItemToFgd failed!
AdditionalDetails
AdditionalInfo
additional_ts_possible
AddLayeredRef
AddLibraryIconToImageList
add_LinkClicked
?AddListener@Element@DirectUI@@QEAAJPEAUIElementListener@2@@Z
add_Loaded
__AddMachineCertToLicenseStore
AddMarkerFileDataEx (*.mrk) failed
AddMarkerFileDataEx (*.wdf) failed
AddMilliseconds
AddMonitor failed
AddMonitorW
?Add@MultiSz@UnBCL@@QEAAXPEBG@Z
?AddNamespace@XmlNamespaceManager@UnBCL@@QEAAXPEAVString@2@0@Z
AddObjectToGlobalMap()
add_OutputDataReceived
AddPackageEnded
AddPackageStarted
AddParameter
AddPinSettingAddAdPin
AddPinSettingAddLocalPin
AddPinSettingAddSecondaryAadPin
AddPrinterConnectionW
AddPrinterDriverExW
AddPrinterW
AddPrintProcessorW
AddPropertyX pszName cannot be NULL or empty.
AddPropertyX pVar cannot be NULL.
AddRefAction
?AddRef@ClassInfoBase@DirectUI@@UEAAXXZ
?AddRef@CUnkInternal@@UEAAKXZ
?AddRef@CUnk@@UEAAKXZ
?AddRef@CWbemCallSecurity@@UEAAKXZ
?AddRef@ElementProvider@DirectUI@@UEAAKXZ
AddRefFilter
?AddRef@Object@UnBCL@@QEAAXXZ
?AddRef@RefcountBase@DirectUI@@QEAAJXZ
AddRefScenarioStateModel
AddRefTraceProfile
AddRefTransition
AddRefTrigger
AddRegistry
AddResourceExWWW
AddResource failed
AddResourceW
Address cannot be null
address family not supported
address_family_not_supported
address in use
address_in_use
address mask request
address not available
address_not_available
ADDRESS-NOTIFICATION
ADDRESSU
ADDRESSV
ADDRESSW
AddrOfPinnedObject
AddScript
add_SettingChanged
add_Shown
AddSIDToBoundaryDescriptor
ADDSIGNED
ADDSIGNED2X
ADDSMOOTH
_AddSqmDatapointsAtWizardCompletion
?AddStackTrace@Exception@UnBCL@@QEAAXPEBD@Z
?Add@StreamCounter@UnBCL@@QEAAX_J@Z
AddStreamToRegister failed!
?AddString@TouchSelect@DirectUI@@QEAAJPEBG@Z
Add to head failed
AddToSetupExecuteList
Add to tail failed
AddUsersToEncryptedFileEx
AddVectoredExceptionHandler
AddWindow failed
AddWindowToCloakingTracker failed
?Add@XmlAttributeCollection@XmlLite@UnBCL@@IEAAXPEAVXmlAttribute@23@@Z
?Add@XmlNodeList@XmlLite@UnBCL@@IEAAXPEAVXmlNode@23@@Z
?Add@XmlSchemaSet@UnBCL@@QEAAXPEAVString@2@PEAVXmlDocument@2@@Z
AddXmlToReportWW
Adevice or resource busy
A@DfD9IXt
AdjustClipInsideRef
AdjustDateTimeForMidnightTransition
AdjustGeometryForWindow() failed
AdjustProjectionForMidnightTransition
AdjustTokenPrivileges
AdjustWindowRect
AdjustWindowRectEx
AdjustWindowRectExForDpi
Administrative Reset
Administrative Shutdown
adm.Initialize()
Adobe ImageReadyq
advancedBlendAllOperations
advancedBlendCoherentOperations
advancedBlendCorrelatedOverlap
advancedBlendIndependentBlend
advancedBlendMaxColorAttachments
advancedBlendNonPremultipliedDstColor
advancedBlendNonPremultipliedSrcColor
AdvancedINF
advapi32.dll
|Advapi32.dll
Advapi32.dll
ADVAPI32.dll
advertise
advertisement interval
Advertisement request
Advertisers
?AdviseEventAdded@ElementProvider@DirectUI@@UEAAJHPEAUtagSAFEARRAY@@@Z
?AdviseEventRemoved@ElementProvider@DirectUI@@UEAAJHPEAUtagSAFEARRAY@@@Z
advpack.dll
aeiouyAEIOUY
aEMM_NNNNNNYN
AEPIC.dll
aes128_xcbc
aes-xcbc
A failure occured while resetting history.
A failure occured while resetting write history.
A failure occured while trying to read partial assessments from the datastore.  Running full assessment
AFolderSpecWWL
AFTR-Name
a)	General. You may install and use one copy of the software. You may make one backup copy of the software for the sole purpose of reinstalling the software.
AgentActionActivity
AgentActivationSettingManagerInitialize
AgentActivationSettingUpdate
AgentActivationSystemLanguageUpdate
Agent circuit ID
Agent-Completed
AgentController::CopyFromMemory
AgentController::DereferenceDeviceObject
AgentController::DereferenceDriverObject
AgentController::DereferenceProcess
AgentController::DereferenceThread
AgentController::FreezeThread
AgentController::GetKernelFieldInfo
AgentController::GetNextProcess
AgentController::GetNextThread
AgentController::GetProcess
AgentController::InitializeAgent
AgentController::MapFile
AgentController::MapVirtualAddress
AgentController::OpenDevice
AgentController::PurgeReferences
AgentController::ReadMsr
AgentController::ReferenceDeviceObject
AgentController::ReferenceDriverObject
AgentController::ThawThread
AgentController::UnmapFile
AgentController::UnMapVirtualAddress
AgentDiagnosticsZip
Agent is already initialized
AgentOwnerInfo
Agent-RPCClientTerminated
AgentRunActivity
AgentSessionGuid
AgentViewer
AggregateProviderInitialize
Aggregate_WIL_Error
Aggregator
Aggregator4
aggression_penalty
AgileGitPtr.CopyLocal (IRemoteAppPrivilegedOperationBroker) failed
AgileGitPtr.Initialize (IRemoteAppPrivilegedOperationBroker) failed
A global parent context must be set before a secondary window can be initialized.
AgN5qT-t
aGNNzN_YYYYYYY
Agreement
Ah8Bht(H
AH8BHt[H
AH9BHu	A
AH9w0t*H
AHCI_PORT
AHCI_PORT_RESERVED_COUNT
AHCI_PORT_VENDOR_COUNT
AhCreateLoadOptionsString
AhD8BhtzL
AHfIS7((
AhGetArcDevice
A I!0H!s8H!
aiii B) 
a	?Initialize@Element@DirectUI@@QEAAJIPEAV12@PEAK@Z
AIWorkspaceScriptable
a:KM_KKKLLLN
AKMP is not valid
AL9APuu3
AlertMDMServer
AliasWWW
_aligned_free
_aligned_malloc
All enum values must be covered by this function
aLLL033C
AllLogonTasks
?Alloc@Allocator@UnBCL@@SAPEAX_KI@Z
AllocateAndGetVolumePathName
AllocateAndInitializeSid
AllocateAndSetupJetInstance
AllocateLocallyUniqueId
Allocation Failed
?AllocBeforeWrite@CHString@@IEAAXH@Z
?AllocBuffer@CHString@@IEAAXH@Z
AllocConsole
?AllocCopy@CHString@@IEBAXAEAV1@HHH@Z
?AllocDbg@Allocator@UnBCL@@SAPEAX_KPEBDHI@Z
?AllocDbg@HeapMemoryManager@UnBCL@@UEAAPEAXPEBDH_K@Z
?Alloc@HeapMemoryManager@UnBCL@@UEAAPEAX_K@Z
AllocHGlobal
?AllocSysString@CHString@@QEBAPEAGXZ
?Alloc@WSManMemory@@SAPEAX_KHW4_NitsFaultMode@@@Z
allowAADJMachineManaged
allowAADJUserManaged
AllowAccessDenied
AllowASTACallToICoreApplicationViewInternal(coreApplicationViewInternal.Get())
AllowBufferTooSmall
?AllowCancel@CVdsAsyncObjectBase@@QEAAXXZ
AllowCannotDelete
allowCommandBufferQueryCopies
AllowDebug
AllowDirectoryNotEmpty
allowDomainJoinedManaged
AllowFileAlreadyExists
AllowFileIsDirectory
AllowFileNotFound
AllowInvalidDeviceRequest
AllowKeyNotFound
Allow-list check failed
allowMDMManaged
AllowNameCollision
AllowNotSameDevice
AllowNotSupported
AllowObjectNameInvalid
AllowObjectPathInvalid
AllowObjectTypeMismatch
AllowPathNotFound
allowRetailDemoManaged
allowSCCMManaged
AllowServicing
AllowSetForegroundWindow
AllowSetForegroundWindow failed!
AllowSharingViolation
allow_short_seqno
AllowSleep
AllowTransactionalConflict
AllowTypeMismatch
AllowUpdate
AllowXsltScript
ALMOSTRO
ALMOSTROZ
AlpcGetMessageAttribute
AlpcInitializeMessageAttribute
ALPC should never fail here
ALPHAARG0
ALPHAARG1
ALPHAARG2
ALPHABLENDENABLE
ALPHAFUNC
ALPHAREF
ALPHAREPLICATE
ALPHATESTENABLE
alphaToOne
already connected
already_connected
Already initialized
Already initialized.
AlreadyInitialized
already in release wait
alreadyOnDesktop
alreadyRunningFlag
(altcoa: trunc)
AltDirectorySeparatorChar
Alternate
AlternateDNSNeeded
Alternative
altitude
?always_noconv@codecvt_base@std@@QEBA_NXZ
:AM:am:PM:pm
AMBIENTMATERIALSOURCE
AmdDrtmSecureCall
am_llVolumeFreeSpaceW
AmountOfTimeAccurate
_amsg_exit
AmsiCloseSession
AmsiInitialize
AmsiOpenSession
AmsiScanBuffer
AmsiUninitialize
An application has made an attempt to load the C runtime library incorrectly.
AnchorCount
anchorId
AnchorPriorityManager_WriteTransientAnchors
AnchorPriorityPerSpaceId::Add
AnchorPriorityPerSpaceId::Remove
) and re-try from there
An empty user agent string! This is unexpected.
An error occurred when processing a selective recording config file
A new termination type was added
A new URL Policy was encountered and deferred to the default zone manager
AnimationWaitResult
ANISOTROPIC
|annnrvv
annotation members
An object should only have one outstanding Target Device Registration with the Device Stack
A non-io Irp passed to win32 dispatcher
ANTIALIASEDLINEENABLE
?anyFailure@CStaticCritSec@@SAHXZ
    any values and keys under it.
anywhere
AObserverConnection
AOctagonRpcCallback
aOIUTaMuE
APD9XHu	
APH9A8rLH
api-ms-win-appmodel-identity-l1-2-0.dll
api-ms-win-appmodel-runtime-internal-l1-1-0.dll
api-ms-win-appmodel-runtime-internal-l1-1-1.dll
api-ms-win-appmodel-runtime-l1-1-0.dll
api-ms-win-appmodel-runtime-l1-1-1.dll
api-ms-win-appmodel-state-l1-2-0.dll
api-ms-win-appmodel-unlock-l1-1-0.dll
api-ms-win-base-bootconfig-l1-1-0.dll
api-ms-win-base-util-l1-1-0.dll
api-ms-win-core-apiquery-l1-1-0.dll
api-ms-win-core-appcompat-l1-1-0.dll
api-ms-win-core-appcompat-l1-1-1.dll
api-ms-win-core-atoms-l1-1-0.dll
api-ms-win-core-biplmapi-l1-1-0.dll
api-ms-win-core-biplmapi-l1-1-4.dll
api-ms-win-core-biptcltapi-l1-1-7.dll
api-ms-win-core-com-l1-1-0.dll
api-ms-win-core-com-l1-1-1.dll
api-ms-win-core-com-private-l1-1-0.dll
api-ms-win-core-console-l1-1-0.dll
api-ms-win-core-console-l1-2-0.dll
api-ms-win-core-console-l1-2-1.dll
api-ms-win-core-console-l2-1-0.dll
api-ms-win-core-crt-l1-1-0.dll
api-ms-win-core-crt-l2-1-0.dll
api-ms-win-core-datetime-l1-1-0.dll
api-ms-win-core-datetime-l1-1-1.dll
api-ms-win-core-datetime-l1-1-2.dll
api-ms-win-core-debug-l1-1-0.dll
api-ms-win-core-debug-l1-1-1.dll
api-ms-win-core-delayload-l1-1-0.dll
api-ms-win-core-delayload-l1-1-1.dll
api-ms-win-core-enclave-l1-1-0.dll
api-ms-win-core-enclave-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-0.dll
api-ms-win-core-errorhandling-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-2.dll
api-ms-win-core-errorhandling-l1-1-3.dll
api-ms-win-core-featurestaging-l1-1-0.dll
api-ms-win-core-fibers-l1-1-0.dll
api-ms-win-core-fibers-l1-1-1.dll
api-ms-win-core-fibers-l2-1-0.dll
api-ms-win-core-fibers-l2-1-1.dll
api-ms-win-core-file-l1-1-0.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-file-l1-2-1.dll
api-ms-win-core-file-l1-2-2.dll
api-ms-win-core-file-l2-1-0.dll
api-ms-win-core-file-l2-1-1.dll
api-ms-win-core-file-l2-1-2.dll
api-ms-win-core-firmware-l1-1-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-1-0.dll
api-ms-win-core-heap-l2-1-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-1-0.dll
api-ms-win-core-io-l1-1-0.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-job-l2-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-0.dll
api-ms-win-core-kernel32-legacy-l1-1-1.dll
api-ms-win-core-kernel32-legacy-l1-1-2.dll
api-ms-win-core-kernel32-legacy-l1-1-5.dll
api-ms-win-core-kernel32-private-l1-1-0.dll
api-ms-win-core-largeinteger-l1-1-0.dll
api-ms-win-core-libraryloader-l1-1-0.dll
api-ms-win-core-libraryloader-l1-2-0.dll
api-ms-win-core-libraryloader-l1-2-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-localization-l1-2-2.dll
api-ms-win-core-localization-l2-1-0.dll
api-ms-win-core-localization-obsolete-l1-2-0.dll
api-ms-win-core-localization-private-l1-1-0.dll
api-ms-win-core-memory-l1-1-0.dll
api-ms-win-core-memory-l1-1-1.dll
api-ms-win-core-memory-l1-1-3.dll
api-ms-win-core-misc-l1-1-0.dll
api-ms-win-core-namedpipe-l1-1-0.dll
api-ms-win-core-namespace-l1-1-0.dll
api-ms-win-core-path-l1-1-0.dll
api-ms-win-core-pcw-l1-1-0.dll
api-ms-win-core-privateprofile-l1-1-0.dll
api-ms-win-core-processenvironment-l1-1-0.dll
api-ms-win-core-processsnapshot-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-processthreads-l1-1-2.dll
api-ms-win-core-processthreads-l1-1-3.dll
api-ms-win-core-processtopology-obsolete-l1-1-0.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-psapi-ansi-l1-1-0.dll
api-ms-win-core-psapi-l1-1-0.dll
api-ms-win-core-quirks-l1-1-0.dll
api-ms-win-core-realtime-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
api-ms-win-core-registry-l1-1-1.dll
api-ms-win-core-registry-l2-1-0.dll
api-ms-win-core-rtlsupport-l1-1-0.dll
api-ms-win-core-shlwapi-legacy-l1-1-0.dll
api-ms-win-core-shlwapi-obsolete-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-0.dll
api-ms-win-core-shutdown-l1-1-1.dll
api-ms-win-core-sidebyside-l1-1-0.dll
api-ms-win-core-state-helpers-l1-1-0.dll
api-ms-win-core-stringansi-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-string-l2-1-0.dll
api-ms-win-core-string-l2-1-1.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-synch-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-synch-l1-2-1.dll
api-ms-win-core-sysinfo-l1-1-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-sysinfo-l1-2-1.dll
api-ms-win-core-sysinfo-l1-2-2.dll
api-ms-win-core-sysinfo-l1-2-3.dll
api-ms-win-core-sysinfo-l1-2-6.dll
api-ms-win-core-threadpool-l1-2-0.dll
api-ms-win-core-threadpool-legacy-l1-1-0.dll
api-ms-win-core-threadpool-private-l1-1-0.dll
api-ms-win-core-timezone-l1-1-0.dll
api-ms-win-core-timezone-private-l1-1-0.dll
api-ms-win-core-toolhelp-l1-1-0.dll
api-ms-win-core-url-l1-1-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-core-version-l1-1-0.dll
api-ms-win-core-version-l1-1-1.dll
api-ms-win-core-windowserrorreporting-l1-1-0.dll
api-ms-win-core-windowserrorreporting-l1-1-3.dll
api-ms-win-core-winrt-error-l1-1-0.dll
api-ms-win-core-winrt-error-l1-1-1.dll
api-ms-win-core-winrt-l1-1-0.dll
api-ms-win-core-winrt-robuffer-l1-1-0.dll
api-ms-win-core-winrt-string-l1-1-0.dll
api-ms-win-core-wow64-l1-1-0.dll
api-ms-win-core-wow64-l1-1-1.dll
api-ms-win-crt-convert-l1-1-0.dll
api-ms-win-crt-filesystem-l1-1-0.dll
api-ms-win-crt-heap-l1-1-0.dll
api-ms-win-crt-locale-l1-1-0.dll
api-ms-win-crt-math-l1-1-0.dll
api-ms-win-crt-private-l1-1-0.dll
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-crt-stdio-l1-1-0.dll
api-ms-win-crt-string-l1-1-0.dll
api-ms-win-crt-time-l1-1-0.dll
api-ms-win-crt-utility-l1-1-0.dll
api-ms-win-devices-config-l1-1-1.dll
api-ms-win-devices-query-l1-1-0.dll
api-ms-win-devices-query-l1-1-1.dll
api-ms-win-downlevel-shlwapi-l1-1-0.dll
api-ms-win-downlevel-shlwapi-l2-1-0.dll
api-ms-win-eventing-classicprovider-l1-1-0.dll
api-ms-win-eventing-consumer-l1-1-0.dll
api-ms-win-eventing-controller-l1-1-0.dll
api-ms-win-eventing-legacy-l1-1-0.dll
api-ms-win-eventing-obsolete-l1-1-0.dll
api-ms-win-eventing-provider-l1-1-0.dll
api-ms-win-eventing-tdh-l1-1-0.dll
api-ms-win-eventlog-legacy-l1-1-0.dll
api-ms-win-mm-misc-l1-1-0.dll
api-ms-win-ntuser-rectangle-l1-1-0.dll
api-ms-win-ntuser-sysparams-l1-1-0.dll
api-ms-win-oobe-notification-l1-1-0.dll
api-ms-win-power-base-l1-1-0.dll
api-ms-win-power-setting-l1-1-0.dll
api-ms-win-ro-typeresolution-l1-1-0.dll
api-ms-win-rtcore-ntuser-clipboard-l1-1-0.dll
api-ms-win-rtcore-ntuser-private-l1-1-0.dll
api-ms-win-rtcore-ntuser-private-l1-1-2.dll
api-ms-win-rtcore-ntuser-private-l1-1-7.dll
api-ms-win-rtcore-ntuser-synch-l1-1-0.dll
api-ms-win-rtcore-ntuser-window-l1-1-0.dll
api-ms-win-rtcore-ole32-clipboard-l1-1-0.dll
api-ms-win-security-accesshlpr-l1-1-0.dll
api-ms-win-security-base-l1-1-0.dll
api-ms-win-security-base-l1-2-0.dll
api-ms-win-security-base-l1-2-2.dll
api-ms-win-security-capability-l1-1-0.dll
api-ms-win-security-credentials-l1-1-0.dll
api-ms-win-security-credentials-l2-1-0.dll
api-ms-win-security-cryptoapi-l1-1-0.dll
api-ms-win-security-isolatedcontainer-l1-1-1.dll
api-ms-win-security-lsalookup-ansi-l2-1-0.dll
api-ms-win-security-lsalookup-l1-1-0.dll
api-ms-win-security-lsalookup-l1-1-1.dll
api-ms-win-security-lsalookup-l1-1-2.dll
api-ms-win-security-lsalookup-l2-1-0.dll
api-ms-win-security-lsapolicy-l1-1-0.dll
api-ms-win-security-provider-l1-1-0.dll
api-ms-win-security-sddl-l1-1-0.dll
api-ms-win-security-systemfunctions-l1-1-0.dll
api-ms-win-security-trustee-l1-1-0.dll
api-ms-win-service-core-l1-1-0.dll
api-ms-win-service-core-l1-1-1.dll
api-ms-win-service-core-l1-1-2.dll
api-ms-win-service-management-l1-1-0.dll
api-ms-win-service-management-l2-1-0.dll
api-ms-win-service-private-l1-1-0.dll
api-ms-win-service-private-l1-1-2.dll
api-ms-win-service-private-l1-1-3.dll
api-ms-win-service-winsvc-l1-1-0.dll
api-ms-win-shcore-obsolete-l1-1-0.dll
api-ms-win-shcore-registry-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-0.dll
api-ms-win-shcore-scaling-l1-1-1.dll
api-ms-win-shcore-scaling-l1-1-2.dll
api-ms-win-shcore-stream-l1-1-0.dll
api-ms-win-shcore-stream-winrt-l1-1-0.dll
api-ms-win-shcore-sysinfo-l1-1-0.dll
api-ms-win-shcore-taskpool-l1-1-0.dll
api-ms-win-shcore-thread-l1-1-0.dll
api-ms-win-shell-namespace-l1-1-0.dll
api-ms-win-shell-shdirectory-l1-1-0.dll
api-ms-win-shell-shellfolders-l1-1-0.dll
api-ms-win-shlwapi-winrt-storage-l1-1-1.dll
api-ms-win-stateseparation-helpers-l1-1-0.dll
ApiSetQueryApiSetPresence
API;@(u2H
apiVersion
APM9QHt#A
APOOOOOOOOOOOOOOOOOOOOO
AppActivationFailure
AppAndBrowserHealth
AppAndBrowserStatus
AppAnnotation
AppBlocked
AppChatSession
appConsentHR
AppContainerDeriveSidFromMoniker
appContainerSid
app_control
AppDomain
AppendAllText
?AppendBase@PATH@@QEAAEPEBVWSTRING@@E@Z
?AppendChild@XmlNode@UnBCL@@QEAAPEAV12@PEAV12@@Z
?Append@CHPtrArray@@QEAAHAEBV1@@Z
?Append@CHStringArray@@QEAAHAEBV1@@Z
?Append@CPrvEnumObject@@QEAAJPEAUIUnknown@@@Z
?AppendEscapedString@StringBuilder@UnBCL@@QEAAPEAV12@PEBGW4EscapingRules@2@@Z
AppendFormat
AppendLine
AppendMenuW
?Append@MutableString@UnBCL@@QEAAXG@Z
?Append@MutableString@UnBCL@@QEAAXPEBG@Z
?AppendNewLine@StringBuilder@UnBCL@@QEAAPEAV12@XZ
_AppendStatus
?Append@StringBuilder@UnBCL@@QEAAPEAV12@GH@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@G@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@H@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@_J@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@PEBGHH@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@PEBG@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@PEBVString@2@HH@Z
?Append@StringBuilder@UnBCL@@QEAAPEAV12@PEBVString@2@@Z
AppendText
AppError
App_Event
AppExecute
AppExecuted
AppExecutionFailure
apphelp_block
ApphelpCheckRunAppEx
ApphelpCheckShellObject
apphelp.dll
AppHistoryStringCache::Add
AppHistoryStringCache::Initialize
AppIncomingQoS
AppLaunch
AppLaunched
Appletalk
Appletalk ARP
applicableUpdateIdList
ApplicableUpdateInfo
applicableUpdateList
application
Application
applicationBinaryPath
ApplicationLanguage
Application Priority
	    Application Priority Table
	      Application Value
*ApplicationW
applique 
appliquera pas 
AppLoaded
ApplyDeltaB
ApplyPendingLanguageBarChanges failed
ApplyPermission(context)
ApplyStagedCollectionFailure
ApplyTurnEnded
ApplyTurnStarted
AppModeChanged
AppMonitorScopeTracker
AppOutgoingQoS
AppPairingStatus
AppPolicyGetProcessTerminationMethod
AppPolicyGetShowDeveloperDiagnostic
AppPolicyGetThreadInitializationType
AppPolicyGetWindowingModel
AppPrepinned
AppReadinessTaskStart failed
app_reputation
AppResolverWork
AppRestoreStuck
approxBlockCountToMoveToDisk
approxBlockCountToMoveToFlash
AppServiceGetRuntimeParametersTimeOut
appServiceName
AppServiceOpenAsyncTimeOut
AppSessionGuid
AppSessionId
AppShareUri
AppSharingSession
AppSuspended
appSuspendTimeMS
AppTimeUsageEventHandler_Invoke
AppTrace
AppTypeDesktop
AppTypeModern
AppTypeUnknown
AppVScript
AppVScriptRunnerParameters
AppXAllUserStore.dll
AppXFreeMemory
AppXGetDevelopmentMode
AppXGetPackageSid
A;Q0rqI;Y8wku
ArchBuildKernelGdt
ArchGetGdtRegister
.arch-ids
architecture
archive_clear_error
archive_entry_copy_hardlink
archive_entry_copy_pathname
archive_entry_filetype
archive_entry_free
archive_entry_gid
archive_entry_gname
archive_entry_hardlink
Archive entry has empty or unreadable filename ... skipping.
archive_entry_linkify
archive_entry_linkresolver_free
archive_entry_linkresolver_new
archive_entry_linkresolver_set_strategy
archive_entry_mtime
archive_entry_new
archive_entry_nlink
archive_entry_pathname
archive_entry_rdevmajor
archive_entry_rdevminor
archive_entry_set_gid
archive_entry_set_gname
archive_entry_set_size
archive_entry_set_uid
archive_entry_set_uname
archive_entry_size
archive_entry_sourcepath
archive_entry_strmode
archive_entry_symlink
archive_entry_uid
archive_entry_uname
archive_errno
archive_error_string
archive_filter_bytes
archive_filter_code
archive_filter_name
archive_format
archive_format_name
archiveint.dll
archive_match_excluded
archive_match_exclude_entry
archive_match_exclude_pattern
archive_match_exclude_pattern_from_file
archive_match_free
archive_match_include_date
archive_match_include_file_time
archive_match_include_pattern
archive_match_include_pattern_from_file
archive_match_new
archive_match_path_unmatched_inclusions
archive_match_path_unmatched_inclusions_next
archive_match_set_inclusion_recursion
archive_read_add_passphrase
archive_read_close
archive_read_data_block
archive_read_data_into_fd
archive_read_data_skip
archive_read_disk_can_descend
archive_read_disk_descend
archive_read_disk_gname
archive_read_disk_new
archive_read_disk_open
archive_read_disk_set_behavior
archive_read_disk_set_matching
archive_read_disk_set_metadata_filter_callback
archive_read_disk_set_standard_lookup
archive_read_disk_set_symlink_hybrid
archive_read_disk_set_symlink_logical
archive_read_disk_set_symlink_physical
archive_read_disk_uname
archive_read_extract2
archive_read_extract_set_progress_callback
archive_read_free
archive_read_header_position
archive_read_new
archive_read_next_header
archive_read_next_header2
archive_read_open_fd
archive_read_open_filename
archive_read_set_options
archive_read_set_passphrase_callback
archive_read_support_filter_all
archive_read_support_filter_program
archive_read_support_format_all
archive_read_support_format_empty
archive_read_support_format_gnutar
archive_read_support_format_tar
archive_version_details
ArchiveW
archive_write_add_filter_by_name
archive_write_add_filter_program
archive_write_close
archive_write_data
archive_write_disk_new
archive_write_disk_set_options
archive_write_disk_set_standard_lookup
archive_write_free
archive_write_header
archive_write_new
archive_write_open_fd
archive_write_open_filename
archive_write_set_bytes_in_last_block
archive_write_set_bytes_per_block
archive_write_set_format
archive_write_set_format_by_name
archive_write_set_format_pax_restricted
archive_write_set_options
archive_write_set_passphrase
archive_write_set_passphrase_callback
AreDpiAwarenessContextsEqual
AreEnrollmentsPresent
AreFileApisANSI
ARG_FLAG_EVTX
argIndex
argument
Argument does not have value.
ArgumentException
argument list too long
ArgumentNullException
argument out of domain
arguments
Arguments
Arguments Collection ObjectWWW!
aRQaKqsk
array dimensions must be literal scalar expressions
array expected
array index out of bounds
array of 
ArrayOfReconnectContent
ArrayOfScalars
ArrayOfStructsFinished
ArrayOfStructsUnfinished
ArrayOfVkExtensionProperties
ArrayOfVkFormatProperties
ArrayOfVkLayerProperties
ArrayOfVkQueueFamilyProperties
array reference cannot be used as an l-value; not natively addressable
Array size too big
ArrayToSafeArray
ArsoAuthResult
ARtlRegisterFeatureConfigurationChangeNotification
AS4 Path
    as an end of line comment character.
?ASCII_CODEPAGE@ASCIIEncoding@UnBCL@@0HB
ASFW_ANY
AsimovSerializeCustomData
AsimovUploader
asm_fragment
AS Routing Loop
AssemblyAssociatedContentFileAttribute
AssemblyCompanyAttribute
AssemblyConfigurationAttribute
AssemblyCopyrightAttribute
AssemblyCorruptOrMissing
AssemblyDelaySignAttribute
AssemblyDescriptionAttribute
AssemblyFileVersionAttribute
AssemblyInformationalVersionAttribute
AssemblyKeyFileAttribute
assemblyName
AssemblyProductAttribute
AssemblyTitleAttribute
AssemblyTrademarkAttribute
AssemblyVersionAttribute
ASSERT: Assert failed to build string.
Assert failed to build string.
AssertionFailed
AssertionId
AssertionIds
AssertionRecordCount
AssertionVersion
?AssertPIZeroRef@ClassInfoBase@DirectUI@@UEBAXXZ
AssertPrivilege
AssertPrivilegeOnToken
assertVersion
AssertWithArgs
    assessemnt.
AssessmentName
AssessmentRemediationEnd
AssessmentRemediationStart
Asset ID
assetPath
?_Assign@_ContextCallback@details@Concurrency@@AEAAXPEAX@Z
?AssignCopy@CHString@@IEAAXHPEBG@Z
AssignProcessToJobObject
AssignTempVolumeName
Assists::Broker_AllocateBuffer
Assists::Broker_TraceLog
Assists::_CancelTimer
Assists::_SetTimer
Association denied because AP is unable to handle additionalassociated stations
Association denied because the requested STA does not support HT features
Association denied because the requested STA does not support the PCO transition time required by the AP
Association denied due to QAP having insufficient bandwidth to handle another QSTA
Association denied due to reason outside the scope of the standard
Association denied due to requesting STA not supporting HT features
Association denied due to requesting station not supporting all of the data rates in BSSBasicRateSet parameter
Association denied due to requesting station not supporting Block Ack
Association denied due to requesting station not supporting channel agility
Association denied due to requesting station not supporting DSSS-OFDM operation
Association denied due to requesting station not supporting PBCC encoding
Association denied due to requesting station not supporting short preamble operation
Association denied due to requesting station not supporting short slot operation
Association request rejected because Spectrum Management capability is required
Association request rejected because the information in the Power Capability element is unacceptable
Association request rejected because the information in the Supported Channels element is unacceptable
Association (with QBSS) denied due to requesting station not supporting the QoS facility
AssocQueryKeyW
AssocQueryStringW
Assoc Request
Assoc Response
Assumption Violation
aStdOutWW
??AStringPtr@UnBCL@@UEBAGH@Z
aSxRegReadDWORD
Asym and Sym PAUSE for fdx
asymetric returns from if statements not yet implemented
Asym PAUSE for fdx
AsyncCallback
at44pt45p
At8@B!)q
ATA-186 VoIP VLAN assignment
ATA-186 VoIP VLAN request
ATA_IO_RECORD
ATAUAVAWH
ATAUAVAWSUVWL
AtDayEnd
AtDayStart
AtEndOfLineW
AtEndOfStreamWWW
at is larger than buffer size
__atl_condVal
ATL exception
ATL-SafeArrayCreate failed!
AtlThunk_AllocateData
AtlThunk_DataToCode
atlthunk.dll
AtlThunk_FreeData
AtlThunk_InitData
ATM AAL5 SDU VCC transport
ATMAssignString
ATMAssignStrings
AtmBaseView::CreateNewSidebarEntry
AtmBaseView::FindAndSetElementID
AtmBaseView::FormatTable
AtmBaseView::GetBestFitUnit
AtmBaseView::Initialize
AtmBaseView::OnCopy
AtmBaseView::Reset
AtmBaseView::ShowStaticEntry
AtmColumnHeader::Create
AtmColumnHeader::InitializeColumnHeader
AtmColumnHeader::SelectColumns
AtmColumnHeader::_SetColMinWidth
AtmColumnHeader::SetColumnVisible
AtmColumnHeader::UpdateSysUtilizationColumns
AtmDashboard::CreateSidebar
AtmDashboard::LoadCpuSidebar
AtmDashboard::LoadDiskSidebar
AtmDashboard::LoadMemorySidebar
AtmDashboard::SetSidebarTooltip
AtmDashboard::Show
AtmDashboard::SwitchDashboardView
AtmDiskView::AddDiskChart
AtmDiskView::AddDiskEntry
AtmDiskView::AddSidebarEntry
AtmDiskView::AddVolume
AtmDiskView::EnableDiskEntry
AtmDiskView::FindPageFile
AtmDiskView::FindSystemDrive
AtmDiskView::GetCurrentUsagePercent
AtmDiskView::GetDiskDrives
AtmDiskView::GetPageFileFromRegistry
AtmDiskView::Initialize
AtmDiskView::InitializeDiskList
AtmDiskView::LoadDiskChart
AtmDiskView::OnCopy
AtmDiskView::Refresh
AtmDiskView::RemoveDiskEntry
AtmDiskView::ResetStaticContent
AtmDiskView::SetDiskStaticData
AtmDiskView::ShowSystemDisk
AtmDiskView::SidebarRender
AtmDiskView::Update
AtmDiskView::UpdateDisk
AtmDiskView::UpdateDiskStaticData
AtmDiskView::UpdateDiskTitle
ATMFormatMessage
ATM Forum
AtmGpuView::AddSidebarEntry
AtmGpuView::CreateSideBarEntries
AtmGpuView::EnsureMonitor
AtmGpuView::GetCurrentAdapterName
AtmGpuView::GetCurrentUsagePercent
AtmGpuView::GetEngineChartsRoot
AtmGpuView::GetEngineNames
AtmGpuView::HideAdapter
AtmGpuView::Initialize
AtmGpuView::InitializeAdapterList
AtmGpuView::LoadMemoryCharts
AtmGpuView::LoadMultiEngineView
AtmGpuView::LoadSingleEngineView
AtmGpuView::OnCopy
AtmGpuView::Refresh
AtmGpuView::RefreshChartUsage
AtmGpuView::SetChartAutoRender
AtmGpuView::SetMemoryUsageString
AtmGpuView::SetStaticMemoryString
AtmGpuView::SidebarRender
AtmGpuView::SwitchEngine
AtmGpuView::SwitchView
AtmGpuView::Update
AtmGpuView::UpdateAdapterEntries
AtmGroupHeader::Create
AtmGroupHeader::InitializeGroupHeader
AtmGroupHeader::UpdateGroupHeader
AtmMemoryView::_GetCurrentUsage
AtmMemoryView::GetCurrentUsagePercent
AtmMemoryView::GetPageSize
AtmMemoryView::GetSMBiosTable
AtmMemoryView::Initialize
AtmMemoryView::InitializeChart
AtmMemoryView::InitializeResourceName
AtmMemoryView::OnCopy
AtmMemoryView::SetBarWidths
AtmMemoryView::SetStaticInfo
AtmMemoryView::SidebarRender
AtmMemoryView::UpdateBarTooltip
AtmMemoryView::UpdateChartTitle
AtmMemoryView::UpdateMaxMemory
AtmMemoryView::UpdateMemPerfData
AtmMemoryView::UpdateMemUsage
AtmMemoryView::UpdateResourceName
AtmNetworkView::Render
ATM n-to-one VCC cell transport
ATM n-to-one VPC cell transport
ATM transparent cell transport
AtmView::AddChildRow
AtmView::_AddParentToList
AtmView::Create
AtmView::_HandleRightClick
AtmView::_HandleRightClickOnViewItem
AtmViewItemCache::AddItem
AtmViewItem::CreateChildViewItemFromData
AtmViewItem::CreateFromResource
AtmViewItem::CreateSmallViewItemFromData
AtmViewItem::InitializeChildColumn
AtmViewItem::InitializeParentColumn
AtmViewItemSelector::Create
AtmViewItemSelectorExpandCollapsePatternProxy::DoMethod
AtmViewItemSelectorGridItemPatternProxy::DoMethod
AtmViewItemSelectorGridPatternProxy::DoMethod
AtmViewItemSelectorSelectionItemPatternProxy::DoMethod
AtmViewItem::SetIcon
AtmViewItem::SetVisibilityAndToolTip
AtmViewItem::UpdateChildCount
AtmViewItem::UpdateChildRow
AtmViewItem::UpdateParentRow
AtmViewItem::UpdateSuspendedStatus
AtmView::SortDUITree
AtmView::UpdateChildRow
AtmView::UpdateColors
AtmView::UpdateGroupHeaderColors
AtmView::UpdateGroupHeaders
AtmView::UpdateParentRow
AtmView::_UpdateSortOnSelectedColumnHeader
AtmView::UpdateSystemUtilization
Atomic Aggregate
AttachConsole
?Attach@CVdsWmiVariantObjectArrayEnum@@QEAAJPEAUtagVARIANT@@@Z
AttachDebugger
@AttachedXMLFileW
attachmentFragmentShadingRate
AttachOrLaunchProcess
AttachVirtualDisk
AttachWndProcW
Attempted
Attempted to send a channel message without an active RDP channel
AttemptImmediateReboot
Attempting engine update
AttemptSyncActivity
- Attempt to initialize the CRT more than once.
attempt to sign with invalid signer certificate
- Attempt to use MSIL code from this assembly during native code initialization
AttendeeId
attestationType
Attribute Flags Error
Attribute Length Error
attributes
Attribute Set
ATTRIBUTES-NOT-SUPPORTED
AttributesWW
_@A;u0s(D
.?AUArrayDataBlock@@
.?AU_ATL_MODULE70@ATL@@
.?AUCAutoProcessInformation@HealthAdvisor@WSD@@
.?AUConstDataBlock@@
.?AU_ContinuationTaskHandleBase@details@Concurrency@@
.?AU_Crt_new_delete@std@@
AuctionThread exiting due to shutdown
AuctionThread()(Service)
.?AUctype_base@std@@
.?AUDataBlock@@
audioRendererId
AuditMode
.?AUEmptyType@MP@UnBCL@@
.?AUFileLineException@@
.?AUFileNotFoundException@IO@@
.?AU_GUID@@
.?AUHandleClose@Private@@
.?AUhresult_access_denied@winrt@@
.?AUhresult_canceled@winrt@@
.?AUhresult_changed_state@winrt@@
.?AUhresult_class_not_available@winrt@@
.?AUhresult_error@winrt@@
.?AUhresult_illegal_delegate_assignment@winrt@@
.?AUhresult_illegal_method_call@winrt@@
.?AUhresult_illegal_state_change@winrt@@
.?AUhresult_invalid_argument@winrt@@
.?AUhresult_no_interface@winrt@@
.?AUhresult_not_implemented@winrt@@
.?AUhresult_out_of_bounds@winrt@@
.?AUhresult_wrong_thread@winrt@@
.?AUIAccountManager@@
.?AUIAccountProtectionNotificationsSink@@
.?AUIAccountProtectionShield@@
.?AUIAdvisorEngineSink@HealthAdvisor@WSD@@
.?AUIAppAndBrowserNotificationsSink@@
.?AUIAppAndBrowserShield@@
.?AUIApplicationGuardShield@@
.?AUIAssessmentBase@HealthAdvisor@WSD@@
.?AUIAssessmentSink@HealthAdvisor@WSD@@
.?AUIAsyncActionCompletedHandler@Foundation@Windows@@
.?AUIClassFactory@@
.?AUIClassInfo@DirectUI@@
.?AUIConstHierarchicalStorage@@
.?AUIConstStorageArray@@
.?AUIConstStorageValue@@
.?AUICrossContainerCommunicationManager@@
.?AUICrossContainerCommunicationManagerSink@@
.?AUIDashboard@@
.?AUIDataObject@@
.?AUIDataProtectionShield@@
.?AUIDataProtectionSink@@
.?AUIDefenderNotificationsSink@@
.?AUIDefenderPuaShield@@
.?AUIDefenderPuaSink@@
.?AUIDefenderShield@@
.?AUIDeviceDriverResults@@
.?AUIDisposable@UnBCL@@
.?AUIElementListener@DirectUI@@
.?AUIEnumFiles@CommonUtil@@
.?AUIException@wmi@@
.?AUIExpandCollapseProvider@@
.?AUIExplicitAccessControl@CommonUtil@@
.?AUIExploitShield@@
.?AUIFailureCallback@details@wil@@
.?AUIFaxAccountConfigUI@@
.?AUIFaxAccountManagerUI@@
.?AUIFaxOptionsUI@@
.?AUIFaxReassignUI@@
.?AUIForceFieldShield@@
.?AUIForceFieldSink@@
.?AUIGridItemProvider@@
.?AUIGridProvider@@
.?AUIHardwareNotificationsSink@@
.?AUIHardwareShield@@
.?AUIHealthAdvisorShield@@
.?AUIHeapMemory@@
.?AUIHierarchicalStorage@@
.?AUIHostApp@@
.?AUIImageViewer@@
.?AUIInspectable@@
.?AUIInstanceFactory@UnBCL@@
.?AUIInvokeProvider@@
.?AUIJsonStorage@JsonStorage@@
.?AUILaunchUIContextProvider@@
.?AUILockable@@
.?AUILogHandler@@
.?AUIManagementShield@@
.?AUIManagementStatusSink@@
.?AUIMarshal@@
.?AUIMarshal@impl@winrt@@
.?AUIModule@Com@@
.?AUImplementsBase@Details@WRL@Microsoft@@
.?AUIMpPrivateThreadPool@CommonUtil@@
.?AUIMpThreadPool@CommonUtil@@
.?AUIMpThreadPoolProvider@CommonUtil@@
.?AUINetworkProtectionHealthSink@@
.?AUINetworkProtectionShield@@
.?AUINotificationCB@@
.?AUINotificationIcon@UI@@
.?AUInternal_IWbemEventConsumerProvider@@
.?AUInternal_IWbemEventConsumerProviderEx@@
.?AUInternal_IWbemEventProvider@@
.?AUInternal_IWbemEventProviderQuerySink@@
.?AUInternal_IWbemEventProviderSecurity@@
.?AUInternal_IWbemPropertyProvider@@
.?AUInternal_IWbemServices@@
.?AUInternal_IWbemUnboundObjectSink@@
.?AUInternal_IWmiProviderConfiguration@@
.?AUIOSProtectionHealthSink@@
.?AUIOSProtectionShield@@
.?AUIPopupCommand@@
.?AUIPopupCommandHandler@@
.?AUIPopupEventHandler@@
.?AUIPrintDialogCallback@@
.?AUIProgressBar@@
.?AUIRawElementProviderAdviseEvents@@
.?AUIRawElementProviderFragment@@
.?AUIRawElementProviderSimple@@
.?AUIRawElementProviderSimple2@@
.?AUIRefObject@CommonUtil@@
.?AUIRegistrarBase@@
.?AUIResourceProvider@@
.?AUISecurityAppBrokerSink@SecurityCenter@Windows@@
.?AUISecurityAttributes@CommonUtil@@
.?AUISecurityInformation@@
.?AUISelectionItemProvider@@
.?AUISelectionProvider@@
.?AUISerializable@UnBCL@@
.?AUIServiceProvider@@
.?AUIShieldProcessLauncher@@
.?AUIShieldProviderToast@@
.?AUIStorageArray@@
.?AUIStorageHealthEvalResults@@
.?AUIStorageHealthResults@@
.?AUIStorageValue@@
.?AUISurrogate@@
.?AUITableItemProvider@@
.?AUITableProvider@@
.?AUIThreatProtectionShield@@
.?AUIThreatProtectionStatusSink@@
.?AUITimerCallback@@
.?AUIUnknown@@
.?AUIUtilRegEnumKeyValues@CommonUtil@@
.?AUIUtilRegListenerCallback@CommonUtil@@
.?AUIUtilRegListener@CommonUtil@@
.?AUIWaitable@@
.?AUIWaitForServiceCancellation@CommonUtil@@
.?AUIWbemEventConsumerProvider@@
.?AUIWbemEventConsumerProviderEx@@
.?AUIWbemEventProvider@@
.?AUIWbemEventProviderQuerySink@@
.?AUIWbemEventProviderSecurity@@
.?AUIWbemHiPerfProvider@@
.?AUIWbemObjectSink@@
.?AUIWbemObjectSinkEx@@
.?AUIWbemPropertyProvider@@
.?AUIWbemProviderIdentity@@
.?AUIWbemProviderInit@@
.?AUIWbemProviderInitSink@@
.?AU_IWbemRefresherMgr@@
.?AUIWbemRefreshingServices@@
.?AUIWbemServices@@
.?AUIWbemShutdown@@
.?AUIWbemUnboundObjectSink@@
.?AUIWeakReference@@
.?AUIWeakReferenceSource@@
.?AUIWiaEventCallback@@
.?AUIWinSecurityAcl@CommonUtil@@
.?AU_IWmiProviderConfiguration@@
.?AU_IWmiProviderFactory@@
.?AU_IWmiProviderFactoryInitialize@@
.?AU_IWmiProviderHost@@
.?AU_IWmiProviderInitialize@@
.?AU_IWmiProviderQuota@@
.?AU_IWmiProviderSite@@
.?AUIWscBrokerManagerSink@SecurityCenter@Windows@@
.?AUIWslInstallEventCallback@@
.?AUIXamlHost@@
.?AUIXamlHostHelper@XamlHost@SystemSettings@@
.?AULocalDeallocator@@
.?AUmessages_base@std@@
.?AUmoney_base@std@@
.?AUnarrowing_error@gsl@@
AUnknown exception
.?AUOtsTimeRequest@LockDialog@@
.?AUout_of_order@CXmlWriter@WindowsPerformanceRecorder@@
.?AUParseException@JsonParser@Marshal@@
.?AUscheduler_interface@Concurrency@@
.?AUSerializableExceptionBase@bond@@
.?AUstateengine_abandoned_exception@@
.?AUstateengine_hung_exception@@
.?AUStreamException@bond@@
.?AU_Task_impl_base@details@Concurrency@@
.?AU_TaskProcHandle@details@Concurrency@@
autest.txt
AuthenticAMD
AuthenticateUser
authentication
Authentication
AUTHENTICATION
AuthenticationActivityAccountType
AuthenticationActivityLogonResult
AuthenticationActivityStart
AuthenticationActivityStop
authentication_failed
AUTHENTICATION-FAILED
Authentication Failure
Authentication Information
Authentication rejected because of challenge failure
Authentication rejected due to timeout waiting for next frame in sequence
authenticode
Authority available
AuthorizationInfo
authResult
(auth: trunc)
AuthUsesFlags
AUTHZ.dll
AuthzFreeAuditEvent
AuthziFreeAuditEventType
AuthziInitializeAuditEvent
AuthziInitializeAuditEventType
AuthziInitializeAuditParams
AuthziLogAuditEvent
AuthziSourceAudit
AuthzRegisterSecurityEventSource
AuthzReportSecurityEventFromParams
AuthzUnregisterSecurityEventSource
.?AUtime_base@std@@
auto-compress
AutoDeleteFileStreamFailed
auto_display
AutoLockComplete
AutoLockOnLogon
AutoLockSet
autoMgrPath
AutoResetEvent
autorise pas l
AutoStartPhase1Complete
AutoStartPhaseComplete
AutoStartPhaseStart
autres droits pr
.?AUUserTicketResult@MicrosoftAccount@wpc@@
.?AUViewModel@LockDialog@@
.?AUVulkanException@@
.?AUwnf_subscription_state_base@details@wil@@
AUXMCID Name 
.?AVAccountProtectionShield@ShieldProvider@@
.?AVAdvisorEngine@HealthAdvisor@WSD@@
.?AVAgentActivationSettingBase@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVAgentActivationSettingManagerInitialize@AgentActivationSettingsTelemetry@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVAgentActivationSettingManager@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVAgentActivationSettingsProvider@Settings@Windows@VoiceAgentServices@Microsoft@@
AvailabilityCount
Available
availableHistoryMinutes
AvailableModelTechs
AvailableSpaceWW
.?AVAllAgentsActivationSetting@Settings@Windows@VoiceAgentServices@Microsoft@@
??AValue@Json@@QEAAAEAV01@PEBD@Z
.?AVAppAndBrowserShield@ShieldProvider@@
.?AVAppHistoryStringCache@@
.?AVApplication@@
.?AVApplicationErrorEvent@HealthAdvisor@WSD@@
.?AVApplicationGuardShield@ShieldProvider@@
.?AVAppLimitsEvents@E2EEvents@wpc@@
.?AVAppTimeUsageEventHandler_Invoke@MonitorUILogger@Logging@UI@wpc@@
.?AVAppTimeUsageEventHandler@UI@AppTimeLimits@wpc@@
.?AVArgument@@
.?AVArgumentDWORD@@
.?AVArgumentException@UnBCL@@
.?AVArgumentFlag@@
.?AVArgumentNullException@UnBCL@@
.?AVArgumentOutOfRangeException@UnBCL@@
.?AVArgumentULONG64@@
.?AVArithmeticException@UnBCL@@
.?AVASCIIDecoder@ASCIIEncoding@UnBCL@@
.?AVASCIIEncoding@UnBCL@@
.?AVAssessmentBase@HealthAdvisor@WSD@@
.?AVAssessmentQueueItem@HealthAdvisor@WSD@@
.?AVAssessmentRuntimeInfo@HealthAdvisor@WSD@@
.?AVAtmBaseView@@
.?AVAtmColumnHeader@@
.?AVAtmCpuView@@
.?AVAtmDashboard@@
.?AVAtmDiskView@@
.?AVAtmGpuView@@
.?AVAtmGroupHeader@@
.?AVAtmMemoryView@@
.?AVAtmNetworkView@@
.?AVAtmView@@
.?AVAtmViewItem@@
.?AVAtmViewItemSelector@@
.?AVAtmViewItemSelectorElementProvider@@
.?AVAtmViewItemSelectorElementProxy@@
.?AVAtmViewItemSelectorExpandCollapsePatternProvider@@
.?AVAtmViewItemSelectorExpandCollapsePatternProxy@@
.?AVAtmViewItemSelectorGridItemPatternProvider@@
.?AVAtmViewItemSelectorGridItemPatternProxy@@
.?AVAtmViewItemSelectorGridPatternProvider@@
.?AVAtmViewItemSelectorGridPatternProxy@@
.?AVAtmViewItemSelectorSelectionItemPatternProvider@@
.?AVAtmViewItemSelectorSelectionItemPatternProxy@@
.?AVAutoGetUserToken@ShieldProvider@@
.?AVAutoUserImpersonator@ShieldProvider@@
.?AVbad_alloc@std@@
.?AVbad_array_new_length@std@@
.?AVbad_cast@@
.?AVbad_cast@std@@
.?AVbad_exception@std@@
.?AVbad_function_call@std@@
.?AVbad_optional_access@std@@
.?AVbad_variant_access@std@@
.?AVbad_weak_ptr@std@@
.?AVBaseScrollViewer@DirectUI@@
.?AVBatteryAssessment@HealthAdvisor@WSD@@
.?AVBitmap@Gdiplus@@
.?AVBrush@Gdiplus@@
.?AVButton@DirectUI@@
.?AVCAboutDlg@@
.?AVCAcquisitionManager@@
.?AV_CancellationTokenRegistration@details@Concurrency@@
.?AVCArchiveMsg@@
.?AVCaseInsensitiveStringComparer@UnBCL@@
.?AVCAtlException@ATL@@
.?AVCAtlModule@ATL@@
.?AVCAuthorizationDlg@@
.?AVCButton@@
.?AVCCBase@DirectUI@@
.?AVCClassFactory@@
.?AVCClientConsoleApp@@
.?AVCClientConsoleDoc@@
.?AVCClientConsoleView@@
.?AVCCListView@DirectUI@@
.?AVCCmdLineInfo@@
.?AVCCmdTarget@@
.?AVCColumnSelectDlg@@
.?AVCComboBox@@
.?AVCComClassFactory@ATL@@
.?AVCCommandLineInfo@@
.?AVCComModule@ATL@@
.?AVCCommon_Batching_IWbemSyncObjectSink@@
.?AVCCommonDialog@@
.?AVCCommon_IWbemSyncObjectSink@@
.?AVCComObjectRootBase@ATL@@
.?AVCConfirmDriverListPage@@
.?AVCControlBar@@
.?AVCCoverPagesDlg@@
.?AVCCrtRegSettingsPage@@
.?AVCCSLock@@
.?AVCCtrlView@@
.?AVCCustomView@@
.?AVCCustSettPage@@
.?AVCDialog@@
.?AVCDialogBar@@
.?AVCDirTreeCtrl@@
.?AVCDocument@@
.?AVCDraftsFolder@@
.?AVCDraftsMsg@@
.?AVCDriverCountersPage@@
.?AVCDriverData@@
.?AVCDriverDataArray@@
.?AVCDriverSetPage@@
.?AVCDriversSet@@
.?AVCDriverStatusPage@@
.?AVCEdit@@
.?AVCError@@
.?AVCErrorDlg@@
.?AVCEventPrompt@@
.?AVCException@utils@pwlcmd@@
.?AVCExplicitAccessControl@CommonUtil@@
.?AVCFaultInjectionSettings@@
.?AVCFaxAccountConfigWizard@@
.?AVCFaxAccountManagerUI@@
.?AVCFaxClientDlg@@
.?AVCFaxClientPg@@
.?AVCFaxDoc@@
.?AVCFaxDuration@@
.?AVCFaxMsg@@
.?AVCFaxOptionsUI@@
.?AVCFaxReassignUI@@
.?AVCFaxStatusBar@@
.?AVCFaxTime@@
.?AVCFileSecurityDataObject@@
.?AVCFixedSplitter@@
.?AVCFlatEnumFiles@CommonUtil@@
.?AVCFolder@@
.?AVCFolderListView@@
.?AVCFont@@
.?AVCFrameWnd@@
.?AVCFullListSettingsPage@@
.?AVCGdiObject@@
.?AVCGenerateComment@@
.?AVCGlobalCountPage@@
.?AVChannelConfigException@@
.?AVcharNode@@
.?AVCHeaderCtrl@@
.?AVCHeap_Exception@@
.?AVChildIsAdminException@OTS@@
.?AVCHostApp@@
.?AVCHResultException@CommonUtil@@
.?AVCHResultExceptionImpl@CommonUtil@@
.?AVCImageViewer@@
.?AVCInboxDetailsPg@@
.?AVCInboxGeneralPg@@
.?AVCIncomingDetailsPg@@
.?AVCIncomingGeneralPg@@
.?AVCInterceptor_IWbemProviderInitSink@@
.?AVCInterceptor_IWbemServices_Interceptor@@
.?AVCInterceptor_IWbemServices_RestrictingInterceptor@@
.?AVCInterceptor_IWbemSyncObjectSink@@
.?AVCInterceptor_IWbemSyncObjectSink_CreateClassEnumAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_CreateInstanceEnumAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_DeleteClassAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_DeleteInstanceAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_ExecMethodAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_ExecQueryAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_GetObjectAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_PutClassAsync@@
.?AVCInterceptor_IWbemSyncObjectSink_PutInstanceAsync@@
.?AVCInterceptor_IWbemSyncProvider@@
.?AVCInterceptor_IWbemSyncUnboundObjectSink@@
.?AVCItemPropSheet@@
.?AVCJob@@
.?AVClassInfoBase@DirectUI@@
.?AVClearAppTimeLimitToast@MonitorUILogger@Logging@UI@wpc@@
.?AVClearToast@UILogger@Internal@UI@wpc@@
.?AVCLeftView@@
.?AVCListBox@@
.?AVCListCtrl@@
.?AVCListView@@
.?AVCListViewEx@@
.?AVCLocale@@
.?AVCLowResPage@@
.?AVCLowResRegistryDlg@@
.?AVCMainFrame@@
.?AVCmdWaitDialog@@
.?AVCMenu@@
.?AVCMessageFolder@@
.?AVCMessageMap@ATL@@
.?AVCMpPrivateThreadPool@CommonUtil@@
.?AVCMpShutter@CommonUtil@@
.?AVCMpShutterWait@CommonUtil@@
.?AVCMpSimpleThreadPool@CommonUtil@@
.?AVCMpThreadPoolItemBase@CommonUtil@@
.?AVCMpThreadPoolProviderVista@CommonUtil@@
.?AVCMpThreadPoolVistaHelper@CommonUtil@@
.?AVCMsgPropertyPg@@
.?AVCMultiViewSplitter@@
.?AVCMyFolderDialog@@
.?AVCMyWindow@@
.?AVCNavigationBar@@
.?AVCObArray@@
.?AVCObject@@
.?AVCObjectGlobal@@
.?AVCObjectProperty@@
.?AVcodecvt_base@std@@
.?AVComClientImpersonator@ShieldProvider@@
.?AV_com_error@@
.?AVConnectToEngine@MonitorUILogger@Logging@UI@wpc@@
.?AVConsoleLogHandler@UnBCL@@
.?AVCOutBarCtrl@@
.?AVCOutboxDetailsPg@@
.?AVCOutboxGeneralPg@@
.?AVCPerformanceObject@@
.?AVCPerformanceObjectEnum@@
.?AVCPeriodicTaskManager@ShieldProvider@@
.?AVCPeriodicTaskManagerWorkItem@CPeriodicTaskManager@ShieldProvider@@
.?AVCPersonalInfoPg@@
.?AVCPoolItem@CUtilRegListener@CommonUtil@@
.?AVCPreviewPaneView@@
.?AVCPrintDialog@@
.?AVC_PrintDialogEx@@
.?AVCProgressBar@@
.?AVCProgressCtrl@@
.?AVCPropertyPage@@
.?AVCPropertyPageEx@@
.?AVCPropertySheet@@
.?AVCQueueFolder@@
.?AVCRefCountedBase@@
.?AVCRefCountedBaseX@@
.?AVCRefObject@CommonUtil@@
.?AVCRegObject@ATL@@
.?AVCRenameFileDlg@@
.?AVCrossContainerCommunicationManager@ShieldProvider@@
.?AVCrossContainerCommunicationManagerSink@ShieldProvider@@
.?AVCRuntimeDriverData@@
.?AVCRuntimeDriverDataArray@@
.?AVCRuntimeVerifierData@@
.?AVCSampleService@@
.?AVCScanFolderDialog@@
.?AVCScanLeftView@@
.?AVCScrollView@@
.?AVCSecureSimpleString@@
.?AVCSecurityAttributesHolder@CommonUtil@@
.?AVCSelectDriversPage@@
.?AVCSentItemsDetailsPg@@
.?AVCSentItemsGeneralPg@@
.?AVCServerNode@@
.?AVCServerObject_Host@@
.?AVCServerObject_ProviderInitSink@@
.?AVCServerObject_ProviderRefresherManager@@
.?AVCServerObject_RawFactory@@
.?AVCServerObject_StaThread@@
.?AVCServerStatusDlg@@
.?AVCServiceBase@@
.?AVCSettingsBits@@
.?AVCSetUpRoutingDlg@@
.?AVCShareSecurityInformation@@
.?AVCShellFileHandling@@
.?AVCShrwizApp@@
.?AVCSimpleBStr@@
.?AVCSlowProgressDlg@@
.?AVCSortHeader@@
.?AVCSortStringArray@@
.?AVCSplitterWnd@@
.?AVCStatic@@
.?AVCStatusBar@@
.?AVCStiEventHandler@@
.?AVCStringArray@@
.?AVCStringTooBig@mlib@@
.?AVCSubItemEditCtrl@@
.?AVCSurrogate@@
.?AVCTablePanView@@
.?AVCTime@@
.?AVCTimeSpan@@
.?AVCTreeCtrl@@
.?AVCTreeNode@@
.?AVCTreeView@@
.?AVCTreeViewEx@@
.?AVCTypAdvStatPage@@
.?AVCUserInfoDlg@@
.?AVCUtilRegEnumKeyValues@CommonUtil@@
.?AVCUtilRegListener@CommonUtil@@
.?AVCVerifierApp@@
.?AVCVerifierPropertyPage@@
.?AVCVerifierPropSheet@@
.?AVCVerifierSettings@@
.?AVCView@@
.?AVCViewRow@@
.?AVCVolatileBitsDlg@@
.?AVCVrfProgressCtrl@@
.?AVCWaitDlg@@
.?AVCWaitDlgThread@@
.?AVCWbemDateTime@@
.?AVCWinApp@@
.?AVCWindow@ATL@@
.?AVCWinThread@@
.?AVCWizClient0@@
.?AVCWizFinish@@
.?AVCWizFolder@@
.?AVCWizPerm@@
.?AVCWizWelcome@@
.?AVCWnd@@
.?AVCWscProductInfoEntry@ShieldProvider@@
.?AVCWString@@
.?AVCXamlHost@@
.?AVCX_Exception@@
.?AVCX_MemoryException@@
.?AVDashboardEx@ShieldProvider@@
.?AVDataProtectionShield@ShieldProvider@@
.?AVDecoder@UnBCL@@
.?AV_DefaultPPLTaskScheduler@details@Concurrency@@
.?AVDefenderPuaShield@ShieldProvider@@
.?AVDefenderShield@ShieldProvider@@
.?AVDefenderSink@ShieldProvider@@
.?AVDefenderToastManager@ShieldProvider@@
.?AVDeviceDriverAssessment@HealthAdvisor@WSD@@
.?AVDeviceDriverResults@HealthAdvisor@WSD@@
.?AVDirectoryInfo@UnBCL@@
.?AVDNameNode@@
.?AVDNameStatusNode@@
.?AVDontUseNewUseMake@Details@WRL@Microsoft@@
.?AVDriverError@PktMon@@
.?AVDynLib@@
aveHeapAlloc
.?AVElement@DirectUI@@
.?AVElementNotFoundException@DUI@@
.?AVElementProvider@DirectUI@@
.?AVElementProxy@DirectUI@@
.?AVElementWithHWND@DirectUI@@
.?AVElevationCanceledException@OTS@@
aveMemAlloc
.?AVEncoding@UnBCL@@
.?AVEnumerator@MultiSz@UnBCL@@
averagePriorityOnDisk
averagePriorityOnFlash
.?AVerror_category@std@@
.?AVErrorCodeException@@
.?AVerror_exception@errorlib@@
.?AVesft2_deleter_wrapper@detail@boost@@
.?AVEventLogEvent@HealthAdvisor@WSD@@
.?AVEvent@Threading@@
.?AVexception@@
.?AVException@bond@@
.?AVexception@std@@
.?AVException@UnBCL@@
.?AVException@wmi@@
.?AVExploitShield@ShieldProvider@@
.?AVExternalException@UnBCL@@
.?AV_Facet_base@std@@
.?AVfacet@locale@std@@
.?AVFactoryLifeTimeThread@@
.?AVfailure@ios_base@std@@
.?AVFaxScanAppLogging@@
.?AVFeatureLogging@details@wil@@
.?AVFileStream@UnBCL@@
.?AVfilesystem_error@filesystem@std@@
.?AVFirewallManager@ShieldProvider@@
.?AVForceFieldShield@ShieldProvider@@
.?AVFtmBaseMarker@Details@WRL@Microsoft@@
.?AVFtmBase@WRL@Microsoft@@
.?AVfuture_error@std@@
.?AVGdiplusBase@Gdiplus@@
.?AV_Generic_error_category@std@@
.?AVGenericException@wmi@@
.?AVGetAppDisplayName@MonitorUILogger@Logging@UI@wpc@@
.?AVGlobalInitialize@@
.?AVGlobals@@
.?AVHardwareShield@ShieldProvider@@
.?AVHealthAdvisorShield@HealthAdvisor@WSD@@
.?AVHeapMemoryManager@UnBCL@@
.?AVHostController@@
.?AVhr_exception@sih@@
.?AVHWNDElement@DirectUI@@
.?AVHWNDHost@DirectUI@@
.?AVIAgentActivationSetting@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVIAgentActivationSettingView@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVIAgentSettingMonitor@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVIdentityResolver@@
AVI LIST
.?AVILockable@@
.?AVImage@Gdiplus@@
.?AVImmersiveDialogView@?A0x6d70c694@@
.?AVImmersiveIdentityResolver@@
.?AVIndexOutOfRangeException@UnBCL@@
.?AVInitFailure@LiveConsole@PktMon@@
.?AVInputFile@IO@@
.?AVInputStream@@
.?AV_Interruption_exception@details@Concurrency@@
.?AVinvalid_argument@std@@
.?AVInvalidCastException@UnBCL@@
.?AVInvalidComponentId@PktMon@@
.?AVinvalid_operation@Concurrency@@
.?AVInvalidOperationException@UnBCL@@
.?AVios_base@std@@
.?AV_Iostream_error_category@std@@
.?AVIProvider@DirectUI@@
.?AVIRefCounted@@
.?AVjson_exception@json@web@@
.?AVJsonStorageImpl@?A0x859e95b1@@
.?AVlength_error@std@@
.?AV_Locimp@locale@std@@
.?AVlogic_error@std@@
.?AVManagementShield@ShieldProvider@@
.?AVManualEvent@Threading@@
.?AVMemoryStream@UnBCL@@
.?AVMessageException@@
.?AVMicrophonePermissionsMonitor@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVModule@Com@@
.?AVMonitorUILogger@Logging@UI@wpc@@
.?AVMpClientForwarder@ShieldProvider@@
.?AVMSError@mlib@@
.?AVMUIError@mlib@@
.?AVMultiSz@UnBCL@@
.?AVMutableString@UnBCL@@
.?AVMutex@@
.?AVNamedCallContextActivity@Reliability@Providers@TraceLog@@
.?AVNetworkProtectionShield@ShieldProvider@@
.?AV_Node_assert@std@@
.?AV_Node_back@std@@
.?AV_Node_base@std@@
.?AV_Node_capture@std@@
.?AV_Node_end_group@std@@
.?AV_Node_endif@std@@
.?AV_Node_end_rep@std@@
.?AV_Node_if@std@@
.?AV_Node_rep@std@@
.?AVNonCopyable@@
.?AVNotificationIcon@@
.?AVNotificationsManager@ShieldProvider@@
.?AVNotSupportedException@UnBCL@@
.?AVNullEvent@HealthAdvisor@WSD@@
.?AVNWPServiceWaitCancel@ShieldProvider@@
.?AVObjectDisposedException@UnBCL@@
.?AVObject@UnBCL@@
.?AVObserverConnection@MonitorUILogger@Logging@UI@wpc@@
.?AVOfflineKey@@
.?AVOnlineKey@@
.?AVOperatingSystem@UnBCL@@
.?AVOSProtectionManager@ShieldProvider@@
.?AVOSProtectionShield@ShieldProvider@@
.?AVOutOfMemoryException@@
.?AVOutOfMemoryException@UnBCL@@
.?AVout_of_range@std@@
.?AVoverflow_error@std@@
.?AVOverflowException@UnBCL@@
.?AVPackageApplication@@
.?AVpairNode@@
.?AVParameterException@win_musl@@
.?AVPathAdder@ShieldProvider@@
.?AVPathTooLongException@UnBCL@@
.?AVpcharNode@@
.?AVpDNameNode@@
.?AVPktMonError@PktMon@@
.?AVPopupCommand@?A0x6d70c694@@
.?AVProcess@@
.?AVProviderProxy@DirectUI@@
.?AVQueryAndActionManager@ShieldProvider@@
.?AVQueryPreprocessor@@
.?AVQuitMessageException@Threading@@
.?AVrange_error@std@@
.?AVRefcountBase@DirectUI@@
.?AV_Ref_count_base@std@@
.?AV_RefCounter@details@Concurrency@@
.?AVRefresherManagerController@@
.?AVregex_error@std@@
.?AVRegistryBase@Private@@
.?AVRegistryPath@@
.?AVRegistrySettingMonitor@Settings@Windows@VoiceAgentServices@Microsoft@@
.?AVRegKey@PushButtonReset@@
.?AVReliabilityAssessment@HealthAdvisor@WSD@@
.?AVReliability@Providers@TraceLog@@
.?AVRequestLocalTimeException@ScreenTime@Providers@TraceLog@@
.?AVRequestOnlineTimeException@ScreenTime@Providers@TraceLog@@
.?AVResultException@wil@@
avRFX_Al
.?AV_Root_node@std@@
.?AVRuntimeClassBase@Details@WRL@Microsoft@@
.?AVruntime_error@std@@
.?AVRunTimeSettings@@
.?AVSafeIntException@@
.?AVSafeIntException@utilities@msl@@
.?AVScanManager@ShieldProvider@@
.?AVScreenTime@Providers@TraceLog@@
.?AVScrollViewer@DirectUI@@
.?AVSeekableInputStream@@
.?AVSeekableStream@@
.?AVSeException@@
.?AVSEHelperException@CVdsService@@
.?AVSelectiveRecordingConfigFileError@@
.?AVSelectiveRecordingConfigFileLexError@@
.?AVSelectiveRecordingConfigFileParseError@@
.?AVSerializationException@UnBCL@@
.?AVSerializationId@UnBCL@@
.?AVSerializationStream@UnBCL@@
.?AVShieldManagementProvider@ShieldProvider@@
.?AVShieldProcessLauncher@0@
.?AVShieldProviderToast@ShieldProvider@@
.?AVShowAppTimeLimitToast@MonitorUILogger@Logging@UI@wpc@@
.?AVShowLockScreen@ScreenTime@Providers@TraceLog@@
.?AVShowSystemToast@UILogger@Internal@UI@wpc@@
.?AVShowWarningDialog@ScreenTime@Providers@TraceLog@@
.?AVSignalEmptyException@@
.?AVSignatureUpdateManager@ShieldProvider@@
.?AV__SmartHANDLE@@
.?AV__SmartServiceHANDLE@@
.?AVSolidBrush@Gdiplus@@
.?AVStaTask_Create@@
.?AVstl_condition_variable_interface@details@Concurrency@@
.?AVstl_condition_variable_win7@details@Concurrency@@
.?AVstl_critical_section_interface@details@Concurrency@@
.?AVstl_critical_section_win7@details@Concurrency@@
.?AVStorageArray@?A0x859e95b1@@
.?AVStorageHealthAssessment@HealthAdvisor@WSD@@
.?AVStorageHealthEvalAssessment@HealthAdvisor@WSD@@
.?AVStorageHealthEvalResults@HealthAdvisor@WSD@@
.?AVStorageHealthResults@HealthAdvisor@WSD@@
.?AVStorageValue@?A0x859e95b1@@
.?AVStreamEmptyException@@
.?AVStream@UnBCL@@
.?AVStringBuilder@UnBCL@@
.?AVStringPtr@UnBCL@@
.?AVString@UnBCL@@
.?AVStrongReference@Details@WRL@Microsoft@@
.?AVSyncObject@UnBCL@@
.?AVSysprepAction@@
.?AVSysprepComponent@@
.?AV_System_error_category@std@@
.?AVSystemErrorEvent@HealthAdvisor@WSD@@
.?AVsystem_error@std@@
.?AV_System_error@std@@
.?AVSystemException@UnBCL@@
.?AVSystemInfo@UnBCL@@
.?AVTabGroupingServiceProvider@Launcher@TaskManager@@
.?AVtask_canceled@Concurrency@@
.?AVTask_FreeLibraries@@
.?AVTask_ObjectDestruction@@
.?AVTAtlException@SplException@@
.?AVThread@?A0x0541a9a1@@
.?AVThreadCancelledException@@
.?AVThreatProtectionShield@ShieldProvider@@
.?AVTHResultBaseInterfaceException@win_musl@@
.?AVTHResultException@SplException@@
.?AVTimerCallback@Private@@
.?AVTimeServiceAssessment@HealthAdvisor@WSD@@
.?AVTmColHeaderItem@@
.?AVTmColHeaderItemElementProvider@@
.?AVTmColHeaderItemElementProxy@@
.?AVTmColHeaderItemInvokePatternProvider@@
.?AVTmColHeaderItemInvokePatternProxy@@
.?AVTmLegendElement@@
.?AVTmListSorter@@
.?AVTmLowMemoryView@@
.?AVTmPage@@
.?AVTmPowerSettings@@
.?AVTmPseudoUnknown@@
.?AVTmQueryObject@@
.?AVTmRowTextElement@@
.?AVTmRowTextElementProvider@@
.?AVTmRowTextElementProxy@@
.?AVTmRowTextGridItemPatternProvider@@
.?AVTmRowTextGridItemPatternProxy@@
.?AVTmRowTextTableItemPatternProvider@@
.?AVTmRowTextTableItemPatternProxy@@
.?AVTmScrollViewer@@
.?AVTmScrollViewerElementProvider@@
.?AVTmScrollViewerElementProxy@@
.?AVTmScrollViewerGridPatternProvider@@
.?AVTmScrollViewerGridPatternProxy@@
.?AVTmScrollViewerSelectionPatternProvider@@
.?AVTmScrollViewerSelectionPatternProxy@@
.?AVTmScrollViewerTablePatternProvider@@
.?AVTmScrollViewerTablePatternProxy@@
.?AVTmSmallView@@
.?AVTmTraceControl@@
.?AVTraceLoggingProvider@wil@@
.?AVTracer@ShieldProvider@@
.?AVTSystemException@SplException@@
.?AVtype_info@@
.?AVType@UnBCL@@
.?AVUDCInstallerService@@
.?AVUILogger@Internal@UI@wpc@@
.?AVUnicodeDecoder@UnicodeEncoding@UnBCL@@
.?AVUnicodeEncoding@UnBCL@@
.?AVUpdateMonitorAssessment@UpdateMonitor@WSD@@
.?AVUpdateMonitorTask@UpdateMonitor@WSD@@
.?AVVersion@UnBCL@@
AVVID trust bitmap
AVVID untrusted ports CoS
.?AVWdcAppHistoryMonitor@@
.?AVWdcApplicationsMonitor@@
.?AVWdcAppServiceMonitor@@
.?AVWdcChart@@
.?AVWdcColumnList@@
.?AVWdcCpuMonitor@@
.?AVWdcDataMonitor@@
.?AVWdcDataPortal@@
.?AVWdcDiskMonitor@@
.?AVWdcGpuMonitor@@
.?AVWdcListView@@
.?AVWdcLockObject@@
.?AVWdcMemoryMonitor@@
.?AVWdcMonitor@@
.?AVWdcNetworkMonitor@@
.?AVWdcNumaCpuList@@
.?AVWdcNumaListBase@@
.?AVWdcNumaNodeList@@
.?AVWdcProcessMonitor@@
.?AVWdcSelectableList@@
.?AVWdcServiceCache@@
.?AVWdcServiceCacheCallback@@
.?AVWdcServiceMonitor@@
.?AVWdcStartupMonitor@@
.?AVWdcStringMap@@
.?AVWdcTab@@
.?AVWdcTrayIconMonitor@@
.?AVWdcUserMonitor@@
.?AVWdcWindowMonitor@@
.?AVWeakReferenceImpl@Details@WRL@Microsoft@@
.?AVWecUtilException@@
.?AVWin32Exception@UnBCL@@
.?AVWmiAndNode@@
.?AVWmi_Heap_Exception@@
.?AVWmiNotNode@@
.?AVWmiNullRangeNode@@
.?AVWmiOperatorEqualNode@@
.?AVWmiOperatorEqualOrGreaterNode@@
.?AVWmiOperatorEqualOrLessNode@@
.?AVWmiOperatorGreaterNode@@
.?AVWmiOperatorIsANode@@
.?AVWmiOperatorLessNode@@
.?AVWmiOperatorLikeNode@@
.?AVWmiOperatorNode@@
.?AVWmiOperatorNotEqualNode@@
.?AVWmiOperatorNotIsANode@@
.?AVWmiOperatorNotLikeNode@@
.?AVWmiOrNode@@
.?AVWmiPerformanceData@@
.?AVWmiPerformanceDataExt@@
.?AVWmiRangeNode@@
.?AVWmiReverseGuard@@
.?AVWmiSignedIntegerRangeNode@@
.?AVWmiStringNode@@
.?AVWmiStringRangeNode@@
.?AVWmiTreeNode@@
.?AVWmiUnsignedIntegerRangeNode@@
.?AVWmiValueNode@@
.?AVWorkItemBase@Private@@
.?AVWpcBaseLogger@Logging@wpc@@
.?AVWscBrokerSink@ShieldProvider@@
.?AVWscForceFieldBrokerSink@ShieldProvider@@
.?AVWscManager@ShieldProvider@@
.?AVWslInstallEventCallback@@
.?AVXmlAttributeCollection@UnBCL@@
.?AVXmlAttributeCollection@XmlLite@UnBCL@@
.?AVXmlAttribute@UnBCL@@
.?AVXmlAttribute@XmlLite@UnBCL@@
.?AVXmlDocument@UnBCL@@
.?AVXmlDocument@XmlLite@UnBCL@@
.?AVXmlException@UnBCL@@
.?AVXmlNamespaceManager@UnBCL@@
.?AVXmlNodeList@UnBCL@@
.?AVXmlNodeList@XmlLite@UnBCL@@
.?AVXmlNode@UnBCL@@
.?AVXmlNode@XmlLite@UnBCL@@
.?AVXmlSchemaSet@UnBCL@@
.?AVXPathException@UnBCL@@
.?AVXPrintDialogCallback@C_PrintDialogEx@@
.?AW4UnmarshalError@Marshal@@
aW5cFL"WY3
AWAVATVWSH
AWAVATVWUSH
AWAVAUATSVWU
AWAVAUATVWUSH
AWAVVWSH
AWAVVWUSH
a)	work around any technical limitations in the software that only allow you to use it in certain ways;
Awww4B@@
ax_54hQp
AxD9Xpu	
AxeInitOnOffHelper2
AxI;@(u9H
(AxkbNdCn
A.X #OPf
AyoSxGetPresentableVolumeName
.A z3u1E
?b????????
B011Aww7
B0g"*TCO
b_10dBjv
b1Ozt(-qE
b4InviterW
b64encode
b6gCSnip::CSnip
..].B777777]7B7![;0
B7.7B7B7
B77B7B77B
B7].7-S(
B7B7B77B77B7
B7B7B7B77B7B]77]
B]7BB-O(
]B]7B]-J0
B7ip7p7iB7B7
B89A8rSwJ
b999-999 999
b999-999#999
B(9A(u1H
B 9A uWH
B9l0@t6B
			background: #222;
Background activation has no window.
Background activation should only ever navigate to about:blank.
			background-attachment: fixed;
			background-color: #0b1e48;
BackgroundFetchDriverWU
BackgroundFormat
BackgroundInitRP
BackgroundNetInfoWorker
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
BackgroundStateCommit
BackgroundStateInit
BackgroundTargetRefresh
backgroundTaskResult
backgroundTaskSuccess
    Backslash character is a line continuation character.  All
BackupCompleted
Backup CRF Mode TLV
BackupDisabledInCloud
BackupNotAllowedOnNetwork
backupOS
BackupPorts
BackupRead
BackupReasonCode
BackupRestoreOptionsDlgCallbackProc
_BackupRestorePointPageNext
backupSyncAttempts
BackupType
BackupWrite
bad address
bad_address
bad allocation
bad array new length
Bad BGP Identifier
bad cast
Bad component id
Bad component name
bad conversion
bad exception
bad file descriptor
bad_file_descriptor
bad function call
BadImageFormatException
bad_init_cookie
bad locale name
Bad management tree URI
bad message
Bad Message Length
Bad Message Type
[bad opt]
Bad optional access
bad option length
Bad Peer AS
BAD-PROPOSAL-SYNTAX
!!-BAD SECTOR-!!
bad_service_code
bad variant access
bad_weak_ptr
BamCreateSettingsClientLib
BamDestroySettingsClientLib
BamFreeQueriedApplications
BamQueryKnownApplications
BamSetUserManagementState
Banyan Vines
base64EncryptedCookie
Base64StringToBinary failed
 Base Class Array'
 Base Class Descriptor at (
_BaseClass::Initialize failed
_BaseClass::Terminate failed
__based(
base_def
BaseFreeAppCompatDataForProcess
BaseInitAppcompatCacheSupport
BASELINE-CONTROL
baselineDesc
BaselineItem
baselineName
BaseReadAppCompatDataForProcess
BasicArrayProperty
BasicProperty
batteryLevel
batteryLevelThreshold
BatteryRunAssessmentEnd
BatteryRunAssessmentStart
BatteryStatus
B]B7!7!7!7
B.B7.]B7]7]77!
.B]B].7B]B7HO(
B]BB7B]B77[(
B.BBB7.]7
BBBB))))A
BBBbDDD3DDD
bbbbLbLbLbLb
bbbSbbbbSbSLbbbbLbLLbLL
bbbSbbSbLSLbLbL
bbLbLLbL*AF
bbLLSbLbLb
BBN 1822
bbn-rcc-mon
bbSbbSbSbSbSbSb
BbstrFilePath
"BCA?alpuy
_BcdBootDevicePath
BcdCloseObject
BcdCloseStore
BcdCopyObject
BcdExportStore
BcdForciblyUnloadStore
::BcdForciblyUnloadStore(hStoreHandle)
BcdGetElementData
_BcdGetPathFromDevice
BcdImportStoreWithFlags
BcdOpenObject
BcdOpenStoreFromFile
BcdOpenSystemStore
BcdQueryObject
_BcdRamdiskPath
BcdSetElementData
BcdSetLogging
BcdSetSystemStoreDevice
BCeeEF?Mo????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??BCHString@@QEBAPEBGXZ
BCMCS-domain-name
BCMCS-server
Bcp47GetMuiForm
Bcp47Langs.dll
BCryptCloseAlgorithmProvider
BCryptCreateHash
BCryptDecrypt
BCryptDestroyHash
BCryptDestroyKey
bcrypt.dll
BCryptEncrypt
BCryptFinishHash
BCryptGenerateSymmetricKey
BCryptGenRandom
BCryptGetProperty
BCryptHashData
BCryptImportKeyPair
BCryptKeyDerivation
BCryptOpenAlgorithmProvider
BCryptSetProperty
BCryptSignHash
BCryptVerifySignature
|bdA*0jq 
BD: Boot Debugger Initialized
bdbSbbdbb
bdbSSbdbdbSbbbbSb
 BDECAPSI
BDEREPAIR.dll
BdeRepairExitCode
bDisconnectObject
BdUsb3USB3CheckDebugSupport
BdUsb3USB3GetRxPacket
BdUsb3USB3GetTxPacket
BdUsb3USB3HandleExternalReset
BdUsb3USB3InitializeController
BdUsb3USB3ProcessEvents
BdUsb3USB3ReleaseRxPacket
BdUsb3Usb3ResetController
BdUsb3USB3SendTxPacket
BdUsb3USB3SetupDebugSupport
BdUsb3USB3WaitForConnection
BdUsb3Usb3WaitForControllerReady
BeginBufferedPaint
?Begin@CRtlList@@QEAA?AVCRtlListIter@@XZ
?Begin@CRtlMap@@QEAA?AVCRtlMapIter@@XZ
BeginDeferWindowPos
BeginFormatIdEnumeration() failed!
BeginInit
BeginInvoke
[BeginLog]
BeginOutputReadLine
BeginPaint
BeginPanningFeedback
BeginPath
BeginShutdown
_beginthread
_beginthreadex
BeginTransaction
BeginWorkspaceReconnect failed
beppItfWWW
beXr8nhj
beyond scope
Bf7.7B7pB777B77
Bf7B7B77BB77B7B77
Bf7f7p7iBi7B777B
Bf7.iB77B7B77
bFailed to call Uninitialize.
BfsIsBitLockerResealNeededForBootmgrServicingFailed
BfsIsBitLockerResealNeededForBootmgrServicingSucceeded
BfsResealBitLockerWithRetryFailed
BfsResealBitLockerWithRetrySucceeded
bgbbSbSbbbLSbbbbSbgbSbbbLbLbbbbLbLbLbLbWLW
bgsGdYJcr
BH8CHtGH
B H9A uaH
B(H9A(uWH
BHA9AHu.I
B(H;B8uQ
BHH9AHr?E3
b##ht.Qf
B.i.7.7B7B7
_bias opportunity missed because source was not clamped 0 to 1
BiB7iBiB7
BiChangeSessionState
??Bid@locale@std@@QEAA_KXZ
BigQueryInfo.Allocate(SmallQueryInfo.BytesRequired)
Big Switch Networks
BinaryToBase64String failed
binary_type
Bind AVCEVENTS failed
Bind failed
BindInfo should not be NULL
BINDING ARBITRATION AND CLASS ACTION WAIVER
BindingFlags
BindIoCompletionCallback
BindNotificationSink(RDPINPUT_EVENT_DISPLAY_CHANGE) failed!
BindNotificationSink(RDPINPUT_EVENT_SESSION_DISCONNECT) failed!
BindNotificationSink(RDPINPUT_EVENT_SESSION_RECONNECT) failed!
BindNotificationSinks failed!
?BindPtr@WString@@QEAAXPEAG@Z
Bind PWRREQ failed
Bind SENDVCPDUS failed
Bind Sink Map failed
BindThread failed!
Bind ZORDEREVENT failed
BinFileVerBuild
BinFileVerMajor
BinFileVerMinor
BinFileVerRev
binormal
Binormal
BINORMAL
BiNotifyNewSessionComplete
BiNotifyNewSessionComplete failed
"bip(60HZ
BiPtAssociateApplicationEntryPoint
BiPtEnumerateWorkItemsForPackageName
BiPtFreeMemory
BiPtQueryWorkItem
bISbbSbbbbLbLbLbLbLbL
bIsWinRE
BitArray::Initialize
BitConverter
bitlocker                       
BITLOCKER
        BitLocker Drive Encryption Repair Tool
BitmapAlphaMode
BitmapInfoFromHbitmap (color) failed
BitmapInfoFromHbitmap (mask) failed
BitmapPixelFormat
bitmap scaler failed to initialize
BitwiseAnd
BitwiseNot
BitwiseOr
BitwiseXor
B@J;D* t	
bK*s2rvt
BlackoutBlock
BlackoutNotExpired
BlackoutNotSet
BlackoutTimeDidNotExpire
BlackoutTimeDoesNotExist
BlAllocateSlabPages
BlAmdSlGetTaCommands
BlAppCheckDependency
BlAppendBootOptionBoolean
BlAppendBootOptionString
BlAppendUnicodeToString
BlAppSetDependency
BlArchCpuId
BlArchDetectSmt
BlArchGetCpuVendor
BlArchGetPerformanceCounter
BlArchIsCpuIdFunctionSupported
BlArchIsFiveLevelPagingActive
BlArchIsShadowStackSupported
BlArchKernelSetup
BlArchQueryIoPortAccessSupported
BlArchSetSecrets
BlBdDebuggerConnected
BlBdDebugTransitionsEnabled
BlBdGetExtensionName
BlBdGetMacAddressFromSmBiosUuid
BlBdGetPciDevicePath
BlBdInitializeDeviceDescriptor
BlBdInitializeTransportExtension
BlBdLoadImageSymbols
BlBdPatchIdt
BlBdReleaseDebuggingDevice
BlBdSetupDebugDevice
BlBdSetupDebuggingDevice
BlBdStart
BlBdStop
bLbgbLbb
bLbLLLbLWL*A)
bLbLLWLbLWLWLLWLLWL#L
BlBootOptionExists
BlBsdCloseLog
BlBsdLogEntry
BLB_USN_E_CRC_ERROR
!BlbutilIsEspVolume(dwVolumeFlagsInBackupSet)
BlbutilIsEspVolume(m_rgVolumeContext[m_iCurrentVolume].m_dwVolumeFlags)
BlbutilIsEspVolume(rgVolumesInBackup[0].m_dwVolumeFlags)
BlCopyBootOptions
BlCopyStringToUnicodeString
BlCopyStringToWcharString
BlCopyUnicodeStringToUnicodeString
BlCopyWcharStringToString
BlCreateTpmSealedBlob
BlDecryptSealedData
BlDeviceClose
BlDeviceCompare
BlDeviceGetInformation
BlDeviceGetIoInformation
BlDeviceOpen
BlDisplayFreeOemBitmap
BlDisplayGetOemBitmap
BlDisplayInvalidateOemBitmap
bLegacyW
BLENDCURRENTALPHA
BLENDDIFFUSEALPHA
BLENDFACTOR
BLENDFACTORALPHA
blendindices
BlendIndices
BLENDINDICES
BLENDOPALPHA
BLENDTEXTUREALPHA
BLENDTEXTUREALPHAPM
blendweight
BlendWeight
BLENDWEIGHT
BlEnNotifyEvent
BlFileClose
BlFileCopyFile
BlFileExists
BlFileGetInformation
BlFileLoad
BlFileOpen
BlFileReadAtOffsetEx
BlFileReadEx
BlFileSetInformation
BlFileWrite
BlFveCheckPermission
BlFwGetAcpiMemoryMap
BlFwGetSystemTable
BlFwQueryEfiRuntimeVaRange
BlFwReboot
BlFwServicesAvailable
BlGetApplicationEntry
BlGetApplicationIdentifier
BlGetBootDevice
BlGetBootOptionBoolean
BlGetBootOptionDevice
BlGetBootOptionInteger
BlGetBootOptionString
BlGetDevice
BlGetDeviceIdentifier
BlGetExecutionEnvironment
BlGetLogicalProcessorCount
BlGetProcessorApicIds
BlImgFindSection
BlImgGetNtHeader
BlImgGetPEImageSize
BlImgGetSigningPolicy
BlImgGetWhqlEnforcementDateTime
BlImgIsBootUpgradedPlatform
BlImgIsUpgradedPlatform
BlImgIsUpgradeInProgress
BlImgIsWhqlDeveloperTestModeEnabled
BlImgIsWhqlDisabledBySetting
BlImgIsWhqlEnabledBySetting
BlImgIsWinPE
BlImgLoadImageWithProgress2
BlImgLoadPEImageEx
BlImgLoadPEImageWithPolicyValidatedHash
BlImgParseOsRevocationList
BlImgQueryCodeIntegrityBootOptions
BlImgRegisterCodeIntegrityCatalogDirectory
BlImgRegisterCodeIntegrityCatalogs
BlImgRsaKnownAnswerTest
BlImgSetRestrictedSigning
BlImgSetSigningPolicy
BlImgSetSysDevWhqlPolicy
BlImgSha1KnownAnswerTest
BlImgSha1MonteCarloTest
BlImgTrustCustomSignersForDrivers
BlImgUnLoadImage
BlImgVerifyFontIntegrity
bLLbgbL*
BlLdrBuildImagePath
BlLdrFreeDataTableEntry
BlLdrLoadDll
BlLdrLoadImage
BlLdrPreloadFile
BlLdrPreloadImage
BlLdrUnloadImage
bLLLbLWLWLWLLWLLWLWLW
BlLogDestroy
BlLogDiagWrite
BlLogEtwRegister
BlLogEtwWrite
BlLogEtwWriteTransfer
BlLogInitialize
BlMmAddEnclavePageRange
BlMmAddPersistentPageRange
BlMmAllocateHeap
BlMmAllocatePages
BlMmAllocatePagesInRange
BlMmAllocatePhysicalPages
BlMmAllocatePhysicalPagesInRange
BlMmAllocatePhysicalPagesInRangeNuma
BlMmAllocateVirtualPages
BlMmDisableStaticDescriptors
BlMmEnableStaticDescriptors
BlMmEnumerateAllocations
BlMmFlushTlb
BlMmFreeHeap
BlMmFreePages
BlMmFreePhysicalPages
BlMmFreeVirtualPages
BlMmGetAllocationPages
BlMmGetMemoryMap
BlMmInitMemoryMapHandle
BlMmMapPhysicalAddress
BlMmMapPhysicalAddressEx
BlMmQueryLargePageSize
BlMmQueryTranslationType
BlMmReleaseMemoryMap
BlMmRemapVirtualAddress
BlMmTranslateEfiMemoryType
BlMmTranslateVirtualAddress
BlMmUnmapVirtualAddress
BlMmUnmapVirtualAddressEx
BlNumaGetNumaMemoryRanges
BlObtainUnusedSlabPages
blockCountToMovedToDisk
blockCountToMovedToFlash
BlockedByActiveHours
BlockedByBatteryLevel
blockedTimeinMinutes
blocking-factor
blockName
BlockOnly
BlockReason
?BlocksAllocated@Allocator@UnBCL@@SAII@Z
block-size
blowfish
BlPdAllocateData
BlPdDestroyData
BlPdFreeData
BlPdPersistAllocations
BlPdQueryData
BlPdQueryDataAll
BlPdSaveData
BlPltReadPciConfig
BlpPdQueryData
BlpPdReleaseData
BlRemoveBootOption
BlResourceFindDataFromImage
BlResourceFindMessage
BlResourceGetLanguageMapping
bLSbbSbbSbbSbbSbbbLbLbLbLbLbLbWbLLWLLWLLWLLWLWLWLWLWLWW
bLSbS*SLbLbbLbL
BLSEALEDH
BLSEALEDH9
BlSealSecretToCurrentPcrValues
BlSecureBootGetNonVolatilePrivateVariable
BlSecureBootIgnoreSingleBootOption
BlSecureBootSetVolatilePrivateVariable
BlSetVirtualizationLaunched
BlSiAppLosingTpmAccess
BlSiCloseEnvironment
BlSiDrtmEnvironmentUnsafe
BlSiEnterInsecureStateEx
BlSiEnvironmentReady
BlSiFlushCurrentMeasurements
BlSiHandleHypervisorLaunchEvent
BlSiLeaveEnvironment
BlSiMeasureOsRevocationList
BlSiPaRecordConfigEvent
BlSiPaRecordDrtmConfigEvent
BlSiPaRecordEvent
BlSIPolicyCheckPolicyOnDevice
BlSIPolicyDoesActivePolicyGrantPermission
BlSIPolicyLoadAndActivateTemporalPolicy
BlSiSetDrtmEnvironmentUnsafe
BlSlGetSmmIsolationLevel
BlStatusError
BlStatusPrint
BlStatusRegisterErrorHandler
BlSvnGetApplicationSvn
BlSvnGetChainStatus
BlSymCryptGetAesBlockCipher
BlSymCryptGetHmacSha256Algorithm
BlTblSetEntry
BlTcgFwSetAndLockMemoryOverwriteRequestControl
BlTimeGetRelativeTime
BlTimeQueryPerformanceCounter
BlTpmGetRandom
BlTpmShutdown
BlTpmStatus
BlTxtGetRlpParkPage
BlUpdateBootOptions
BlUtlCheckSum
BlUtlGetAcpiTable
BlUtlGetAcpiTableOverrides
BlUtlPopulateAcpiTableCache
BlUtlReleaseAcpiTable
BlUtlSetAcpiTableOverrides
BlUtlValidateMemoryRange
BlValidateAmeCertChain
BlValidateAnsiStringMemory
BlValidateListMemory
BlValidateMemoryRange
BlValidatePhysicalMemoryRange
BlValidateUnicodeStringMemory
BlValidateWideStringMemory
BlVsmCheckSystemPolicy
BlVsmGetSystemPolicy
BlVsmKeysAddNewKeyToArray
BlVsmKeysCreateKeyPkg
BlVsmKeysExplodePkg
BlVsmKeysFindKeyMapByType
BlVsmKeysGetCurrentLKeyRefFromArray
BlVsmKeysGetCurrentLKeyRefFromPkg
BlVsmKeysReadAndUnsealLKeyPkg
BlVsmKeysSupportedByPlatform
BlVsmKeysValidateKeyPkgBuffer
bNeedNetworkShare
_bOfferWW
bOfflineRan
 (bogus)
(BOGUS: Bottom of Stack NOT set!)
bonded_type
bond.FieldDef
bond.GUID
BondGuid
bond_meta
bond.Metadata
BondPointF
bond.Polymorphic
BondRectF
bond.SchemaDef
bond.SerializableExceptionBase
BondSizeF
bond.StructDef
bond.TypeDef
bond.Variant
bond.Void
boolalpha
BooleanArrayProperty
BooleanProperty
BOOT APPH
BOOT APPH9
Boot Application
BootApplicationId
BootAttemptCount
BootAttemptMaximum
BootNotPostReset
BootPostReset
BootSequence
BootStatusPolicy
BootstrapRestore
	-boottrace 
	Boottrace is already scheduled. Cancel the boottrace first to add the boottrace
	Boottrace is scheduled but has not started. Canceling the Autologger.
BootType
			border: 1px solid #446;
BORDERCOLOR
borderColorSwizzle
borderColorSwizzleFromImage
BOTHINVSRCALPHA
BOTHSRCALPHA
(bottom)
			bottom: 25px;
boundsSize
			box-shadow: 0px 0px 10px #000;
'BpperrorW
BPROPFIND
BPROPPATCH
bPureSSB
BrandingFormatString
BrandingFormatStringForEdition
BrandingLoadString
Breaking into kernel debugger.
BreakOnDbgAndRenterLoop
bresenhamLines
BriCreateBrokeredEvent
BriDeleteBrokeredEvent
Bridge Type TLV
BringSnipperToFrontIfAlreadyRunning
BringWindowToTop
broken pipe
broken promise
BrokerApplicationIdentity
BrokerError
BrokerInfo
BrokerInfoImportant
BrokerWarning
BrowseFolder
BrowseShare
BrowsingHistory
br-sat-mon
bSbbbLSLbLbLbSbSbL
bSbbLbbbbL
bS*bSbbSbSbLbbbbSbSbLbLbLS
bSbSbSbS*SbbSbSbLSLbLbLSbSbbLbL
bSbSbS*Sb
bSbSSSbSbgbgb
bSbSSSSbS
bsdrShown
bsdrTimeInMs
(bsdtar)
bsearch_s
-b specifies that REGINI should be backward compatible with older
B	sprintf_s
bSSbbSbSbSbSb*SbSbLbbbLbLbgbLbgbSbLbLLLbL
bSSbSbSbSSb*bS*Sbb
bSSISbSSSSb
bSSSbSbSbSbLSgbLbLSLbLbLbLbS
bS*SSSbdbdbSISbb
bSSS*SIS
bSSSSSbSSb
bstrAccessTokenW
bstrAppContainer
bstrAppDataW
bstrArguments
bstrArgumentsWWW
bstrClaimsHintWW
bstrCommandLine
bstrContainerIdW
bstrDeviceIdentifier
bstrFilePath
bstrHint
bstrHttpResponseHeadersWX
bstrImmersiveClientActivationContext
bstrInitStringWW
bstrMessage
bstrMessageW
bstrMessageWL
bstrMstsc
bstrPassword
bstrProviderName
bstrRDPDirectory
bstrRdpFileContents
bstrRDPFileName
bstrRefreshTokenX
bstrRequestingAppFamilyNameW
bstrServiceIdWWW
bstrTemplateUDNW
bstrTicketDataWW
bstrTicketWW
bstrTitle
bstrUDNW
bstrUserName
bstrValueNameWWW
bstrWkspIdWW
bstrWorkspace
bstrWorkspaceFriendlyNameWWW
bstrWorkspaceGUIDWWW
bstrWorkspaceId
bstrWorkspaceNameWWW
bstrWorkspaceParamsW
bstrXMLDescW
bSucceeded
bT79-!0!
!bTargetFailure
bTcZ.r.g3v
BT_DOUBLE
BtdT[RhRJ
[-b] textFiles...
BT_FLOAT
BT_INT16
BT_INT32
BT_INT64
BT_STOP_BASE
BT_STRING
BT_STRUCT
BT_UINT16
BT_UINT32
BT_UINT64
BT_UINT8
BT_UNAVAILABLE
BT_WSTRING
bT[xxxxxxxqqqoooooooooo[D
bucketArgument1
bucketArgument2
BUCL::Rtl::Increment(m_NextStringId)
bufferDeviceAddress
bufferDeviceAddressCaptureReplay
bufferDeviceAddressMultiDevice
BufferedPaintClear
BufferedPaintInit
BufferedPaintSetAlpha
BufferedPaintUnInit
buffer error
bufferFeatures
BufferId
bufferImageGranularity
Buffer should not be NULL
bufferSize
BufferSize
BufferTooSmall
BUFFER TOO SMALL!
BufferUsageNonpaged
BufferUsagePaged
BugCheckCode
BugCheckParameter1
BugCheckParameter2
BugCheckParameter3
BugCheckParameter4
BuildAnimation
BuildBoldFont
BuildCache
BuildDNSConfigSettings
builder.AppendChar(0)
builder.AppendChar(L'.')
builder.AppendUInt32(GetCurrentProcessId())
builder.AppendUInt32(GetCurrentThreadId())
BuildImmersiveClientArgString failed
BuildInfo
BuildInterpolation
BuildMonitorClipRegion() failed
BuildPerfFlagArray - LocalAlloc failed for *flagArray
BuildSecurityDescriptorW
BuildTrusteeWithSidW
BuildVersion
BuildWorkspaceTable failed
BUMPENVLOFFSET
BUMPENVLSCALE
BUMPENVMAP
BUMPENVMAPLUMINANCE
BUMPENVMAT00
BUMPENVMAT01
BUMPENVMAT10
BUMPENVMAT11
bundleId
bundleRevisionnumber
bUpxwwvuummjj[Z
ButtonBase
ButtonClick
ButtonID
bv_LdW6]
*BvvtEDA?9(;
bWaitWWW
bWatchSubtree
bWbLLLWLWLWL
bWROvsA;
??BWString@@QEAAPEAGXZ
BXA9@4t!
BxA9Axu 
BxA9@Tt!
BXD9XHu	
[bXnnnnnnnnnnnnE
b*  	X"p_
 by-address
 by-clientID
ByteArrayToSafeArray
BYTE MACRO
bytesPerSector
BytesRead
	BytesSent
    bytes.  So if the first number was 0x5 you would need two more
BytesWritten
      by the loader from the system directory.
b*	zMfrU
.bzrignore
.bzrtags
C0H!C8H!C@
C3?.dBr[
C434|gjo
C7MS"AV	i
C@8B@t(H
C9fD97u-
C9fD97uI
C9fD9?u-
C9fD9?u5
C(9G(u1H
C(9wpukH
CabAPI.dll
Cab_CreateCab
:CAB_DIR
Cab_Extract
cabFilePath
Cabinet.dll
CachedEngineVersion
CacheDWriteRenderTarget
 (Cache flush)
CacheSettingsDlg2
CAdapter::BluetoothSetProperties
CAdapter::EthernetSetProperties
CAdapter::GetAdapterInfo
CAdapter::GetAdapterList
CAdapter::GetNetworkStatus
CAdapter::GetNetworkTitle
CAdapter::GetWirelessBarsIcon
CAdapter::IncreaseArraySize
CAdapter::InitCOM
CAdapter::InitializeAdapter
CAdapter::IsDomainAuthenticated
CAdapter::NormalizeValue
CAdapter::RefreshAdapterTable
CAdapter::SetNetworkProperties
CAdapter::WifiSetProperties
CAdapter::WWanSetProperties
CAdapter::WwanUpdateProperties
CadenceBlock
CadenceBlockTimeDidNotExpire
CadenceBlockTimeDoesNotExist
CAdvancedPage::AddNewItemToTree
CAdvancedPage::ApplyFolderRulesToTree
CAdvancedPage::ApplyLibraryExclusionsToUser
CAdvancedPage::ApplyShellFolderExclusionsToUser
CAdvancedPage::ApplySingleRuleToNode
CAdvancedPage::ApplyUserExclusionsToTree
CAdvancedPage::AreAllChildrenChecked
CAdvancedPage::EnsureFoldersInfo
CAdvancedPage::EnsureTreeItemChildren
CAdvancedPage::FreeTreeItemData
CAdvancedPage::GetEffectiveInclusion
CAdvancedPage::GetRootNode
CAdvancedPage::IsPathExcludedFromBackup
CAdvancedPage::OnDestroy
CAdvancedPage::OnInitDialog
CAdvancedPage::OnInvokeHelpLink
CAdvancedPage::OnItemStateChange_UpdateChildren
CAdvancedPage::OnItemStateChange_UpdateParent
CAdvancedPage::OnItemStateChange_UpdateSelf
CAdvancedPage::OnKillActive
CAdvancedPage::OnNextPage
CAdvancedPage::OnNotify
CAdvancedPage::OnSetActive
CAdvancedPage::OnTreeItemChanged
CAdvancedPage::PopulateBackupFolders
CAdvancedPage::PopulateChildrenForFolderItem
CAdvancedPage::PopulateChildrenForItem
CAdvancedPage::PopulateChildrenForUserItem
CAdvancedPage::PopulateKnownFoldersForUserItem
CAdvancedPage::PopulateLibrariesForUserItem
CAdvancedPage::PopulateSelectedFolderLists
CAdvancedPage::PopulateSelectedFoldersForChild
CAdvancedPage::PopulateStateFromPage
CAdvancedPage::PopulateTree
CAdvancedPage::PopulateUserDataSettings
CAdvancedPage::PopulateUserDataSettingsForUser
CAdvancedPage::PopulateUsers
CAdvancedPage::RemoveAllTreeViewItems
CalculatePopupWindowPosition
CalculateSecureSettingsLength failed
California1
callback
CallbackMayRunLong
CallbackOnDirectory
CallbackOnFile
call :CAB_DIR .
callContext
CallEnclave
CallerApplicationName
CallerIdentity::GetCallingProcessAppId failed
callerIpAddress
callerModule
callerName
CallerProcess
callerReturnAddressOffset
Caller should remove its cancel callback before forwarding the irp
CallFailed
CallingMethod
Calling NtSetInformationFile to set end of file
CallingOperation
Calling to register signal: 
CallInitialize
CallJetTerm
_callnewh
CallNextHookEx
CallNtPowerInformation
_calloc_base
call_server
call_server_path
callStack
CallStack
callStackBufferBuilder.AppendChar(0)
call table
Call to register signal in signal manager failed: 
CallWindowProcA
CallWindowProcW
CALM FAST
CamCleanupDisardedCandidateAccounts
CamConnectCandidateUser
CAMERASPACENORMAL
CAMERASPACEPOSITION
CAMERASPACEREFLECTIONVECTOR
CamIsCandidateUser
CamIsEphemeralCandidateUser
CampaignConfigVersion
campaignExpired
CampaignID
campaignLive
campaignPaused
campaignState
campaignSubState
CamRefreshCandidateUser
CamSystemGlobalSwitch_CreateInstance
can be controlled
cancelAndLaunchUrl
CancelBackup
	-cancelboot 		Removes Autologger configured by addboot and cancels the boot recording initiated by wpr
CancelCallback failed
CancelCallback failed!
	-cancel			 - Cancels recording initiated via WPR (if any)
Cancel event has been set.
CancelIo
CancelIoEx
Cancellation of a PnP IRP other than wait-wake IRP is not supported
CancellationReported
cancelled
CancelMibChangeNotify2
CancelShutdown
	Cancels the recording initiated through WPR
CancelSynchronousIo
CancelThreadpoolIo
CancelWaitableTimer
CancelWW
cannot access w component from texcoord in general expression
Cannot add filters to the pipeline when the pipeline is already operating
Cannot allocate disk writer object
cannot allocate memory
Cannot append to compressed archive.
Cannot append to stdout.
Cannot be at the bottom of the stack while sending to Self IO Target
Cannot change device for a stack location
cannot clip from a swizzled vector
Cannot construct mod name signature.
cannot convert from 'object type' to 'numeric type'
Cannot create a json because the current selected GPU (
Cannot create default textures gs_State.m_pWindows is NULL 
cannot create link resolver
Cannot create read_disk object
Cannot create Vulkan instance.
CannotDelete
CannotDeleteIsOk
cannot get the enabled property for the task
Cannot install completion callback for Remove IRP
Cannot launch ERC. ERC is not installed on the system.
cannot map expression to pixel shader instruction set
cannot map expression to vertex shader instruction set
cannot map general loop to this instruction set
cannot map swizzle to ps_1_4
cannot match lerp because lerp factor is not _sat'd
cannot match to texm* because texm* cannot have source modifiers on input texcoord
cannot match to texm* because texm* can only have bx2 modifier on input texload
cannot match to texreg2ar or texreg2gb instruction because cannot have input modifiers
cannot match to texreg2rgb instruction because can only have input modifier _bx2
cannot perform dependent texture read which in any way is based on color inputs
cannot perform double dependent texture read in ps_1_x
cannot perform texture load that is in anyway dependent on COLOR registers
cannot read from a texcoord which was used as input in a sampler
Cannot reset running XHCI controller
Cannot run standalone
Cannot seek past the end of the stream.
Cannot seek to negative offset.
cannot serialize empty signature
Cannot Support all requested capabilities in the Capability Information field
Cannot use STREAM_SEEK_SET with a negative offset.
canonicalizer.ucsuri.tcs
Can present images from the following devices
can read from texcoord and use it for texlookup only in ps_1_4 and higher
?CanRegister@SerializationStream@UnBCL@@SAHXZ
CanRestartInOwnProcess
CanRunSnippingTool
CanSendToFaxRecipient
?CanSetFocus@HWNDElement@DirectUI@@UEAA_NXZ
Can't allocate memory for handle stream buffer
Can't allocate memory for sandbox name
Can't find 64-bit running flag in XML output
Can't find disk random read scores in XML output
Can't find file name from url
Can't find operating system major version number in XML output
Can't find physical memory size in XML output
Can't find primary adapter driver version in XML output
Can't find primary adapter WDDM flag in XML output
Can't find the shader 3.0 flag in the XML output
can't message is too large
can't message size is invalid
Can't specify both --uuencode and --b64encode
CanvasError HResult
Capabilities Advertisement
capability
Capability
CapabilityAllowedProcessesOverflow
CapabilityCheck
CapabilityDeniedBySystem
CapabilityDeniedByUser
capability.Get()
Capability Message Error
CapabilityNeedsRequestAccess
CapabilityNotManifested
CAPCThread
CAPCThread::CreateInstance FAILED
CAPCThread::Initialize failed
CAppBarManager
CAppBarManager.Initialize failed
capsuleName
?_Capture@_ContextCallback@details@Concurrency@@AEAAXXZ
CapturedMitigationAuditPolicyValue
CapturedMitigationPolicyValue
CaptureSnapshot
	-capturestateondemand	 - Capture states for the configured providers in the current recording
	Capture states for the configured providers in the current recording
CArchiveMsg
CardAcquireContext
CardAcquireContextInternal
cardapps
CardDeleteContext is not available
CardModule::CardBeginTransaction
CardModule::CardEndTransaction
CardModule::CardModuleWrapper::AcquireContext
CardModule::CardModuleWrapper::AuthenticateChallenge
CardModule::CardModuleWrapper::BeginTransaction
CardModule::CardModuleWrapper::CardModuleWrapper
CardModule::CardModuleWrapper::CreateDirectory
CardModule::CardModuleWrapper::CreateFile
CardModule::CardModuleWrapper::Deauthenticate
CardModule::CardModuleWrapper::Deinitialize
CardModule::CardModuleWrapper::DeleteContext
CardModule::CardModuleWrapper::EndTransaction
CardModule::CardModuleWrapper::GetChallenge
CardModule::CardModuleWrapper::GetFileInfo
CardModule::CardModuleWrapper::Initialize
CardModule::CardModuleWrapper::InitializeCardData
CardModule::CardModuleWrapper::ValidateCardData
CardModule::CardModuleWrapper::VerifyState
CardModule::CardModuleWrapper::WriteFile
CardModule::CreateAndWriteFile
CardModule::GetCardAtr
CardModule::GetCardModuleName
CardModule::GetCardName
CardModule::GetReaderState
CardModule::GetSCardContext
CardModule::GetSCardHandle
CardModule::ProvisionCard
CardModule::VerifyEmptyOrNoFile
case_sensitive
CAST128_CFB64
CAST128_OFB64
CAST5_40_CFB64
CAST5_40_OFB64
?Cast@KEYBOARD@@SAPEAV1@PEBVOBJECT@@@Z
category
c AUAVAWH
CAuthorizationDlg
CAvcEvents
CAvcEvents::CreateInstance failed
caX8caX"
caX8caX-
caX-caX8
caX-caXC
CBackgroundThread::AskRestore
CBackgroundThread::_BeginBlbBackup
CBackgroundThread::_BlbChangeMedia
CBackgroundThread::_BlbDetectForeignOperation
CBackgroundThread::ChangeMedia
CBackgroundThread::_CreateTemplate
CBackgroundThread::_Delete
CBackgroundThread::_DisplayBlbBackupVolumeStatus
CBackgroundThread::_DisplayScheduledBackupFinalStatus
CBackgroundThread::_FillTemplateName
CBackgroundThread::_FillTemplateTargetInfo
CBackgroundThread::_FillTemplateVolumes
CBackgroundThread::_GetBackupError
CBackgroundThread::_GetBlbBackupProgress
CBackgroundThread::_InitBlbBackup
CBackgroundThread::_InitBlbBackupSources
CBackgroundThread::_InitBlbBuildBackupSetList
CBackgroundThread::_InitBlbBuildTargetVolumeList
CBackgroundThread::_InitBlbProcessSourceVolumes
CBackgroundThread::InitializeThread
CBackgroundThread::_ProcessVolumeNamesInInfo
CBackgroundThread::_PrunePollProgress
CBackgroundThread::_QueryBlbBackupStatus
CBackgroundThread::_RestoreAddFileRules
CBackgroundThread::_RestoreAddFolderRules
CBackgroundThread::_RestoreAll
CBackgroundThread::_RestoreFiles
CBackgroundThread::_RestorePollProgress
CBackgroundThread::_RestoreUpdateProgress
CBackgroundThread::_ScanForeign
CBackgroundThread::_SchedBackup
CBackgroundThread::_SchedBackupPollForNewBackup
CBackgroundThread::_SchedBackupPollProgress
CBackgroundThread::_SchedBackupUpdateProgress
CBackgroundThread::SetNewTask
CBackgroundThread::_SplitFileStatusString
cbBytesRequested cannot be 0.
CBCf]]]'WWW
    CBDSf
CBecomeForegroundAppWindow::CreateInstance failed
CBinaryCompareWWWX
CBlbBackupWizard::_ChangeMessagefilter
CBlbBackupWizard::_ClearComboBox
CBlbBackupWizard::_ConfirmDlgDisplaySourceVolume
CBlbBackupWizard::_ConfirmDlgDisplayTargetVolume
CBlbBackupWizard::_ConfirmDlgGetTotalSizeToBackup
CBlbBackupWizard::_ConfirmDlgOnFinish
CBlbBackupWizard::_ConfirmDlgProcOnActive
CBlbBackupWizard::_ConfirmDlgProcOnInit
CBlbBackupWizard::_DestDlgEnableDisableControls
CBlbBackupWizard::_DestDlgOnCommand
CBlbBackupWizard::_DestDlgOnDestroy
CBlbBackupWizard::_DestDlgOnInitDialog
CBlbBackupWizard::_DestDlgOnKillActive
CBlbBackupWizard::_DestDlgOnNext
CBlbBackupWizard::_DestDlgOnSelectChangeHardDisk
CBlbBackupWizard::_DestDlgOnSelectNetwork
CBlbBackupWizard::_DestDlgOnSetActive
CBlbBackupWizard::_DestDlgRescanComplete
CBlbBackupWizard::_DestDlgSelectChosenTarget
CBlbBackupWizard::_DetectRunningOperation
CBlbBackupWizard::DisplayGroupPolicyInfo
CBlbBackupWizard::_DisplayTargetVolume
CBlbBackupWizard::_DoRecDisk
CBlbBackupWizard::_GetBackupTimesInTargetVolume
CBlbBackupWizard::_GetFocusedVolume
CBlbBackupWizard::_GetRequiredSpace
CBlbBackupWizard::_GetTargetFreeSpace
CBlbBackupWizard::_HandleRunningOperation
CBlbBackupWizard::_HasOldFormatBlbBackup
CBlbBackupWizard::Initialize
CBlbBackupWizard::_IsBetterDeviceToPreSelect
CBlbBackupWizard::_IsSameDiskAsCriticalVolumes
CBlbBackupWizard::_IsValidTargetVolume
CBlbBackupWizard::_IsVolumeOnDisk
CBlbBackupWizard::_MarkTargetInSourceVolumeList
CBlbBackupWizard::_PopulateTargetDevicePage
CBlbBackupWizard::_PopulateVolumePickerList
CBlbBackupWizard::_ProgressDlgOnCancel
CBlbBackupWizard::_ProgressDlgOnEndBackup
CBlbBackupWizard::_ProgressDlgOnFormatMedia
CBlbBackupWizard::_ProgressDlgOnInit
CBlbBackupWizard::_ProgressDlgOnInsertMedia
CBlbBackupWizard::_ProgressDlgOnPaint
CBlbBackupWizard::_QueryTargetCatalogForExistingImages
CBlbBackupWizard::RunProgressDlg
CBlbBackupWizard::RunWizard
CBlbBackupWizard::_SelectDisksDlgCheckSameDisk
CBlbBackupWizard::_SelectDisksDlgDisplaySameDisk
CBlbBackupWizard::_SelectDisksDlgOnClickItem
CBlbBackupWizard::_SelectDisksDlgOnInitDlg
CBlbBackupWizard::_SelectDisksDlgOnKeyDown
CBlbBackupWizard::_SelectDisksDlgOnSetActive
CBlbBackupWizard::_SelectDisksDlgOnSortVolumePicker
CBlbBackupWizard::_SelectDisksDlgOnValidate
CBlbBackupWizard::_SelectDisksDlgOnWizBack
CBlbBackupWizard::_SelectDisksDlgOnWizNext
CBlbBackupWizard::_SetupVolumePickerColumns
CBlbBackupWizard::_ShowWarning
CBlbBackupWizard::_ToggleVolumeState
CBlbBackupWizard::_UpdateTargetVolumeList
CBlbBackupWizard::_UpdateVolumeBools
CBlockingTaskExec::EnableCancel
CBlockingTaskExec::Execute
CBlockingTaskExec::OnCancelClicked
CBlockingTaskExec::OnCancelNotification
CBlockingTaskExec::OnTaskDlgCreate
CBlockingTaskExec::SetCurrentProgress
CBlockingTaskExec::SetDetails
CBlockingTaskExec::SetMarqueeProgress
CBlockingTaskExec::SetTitle
(!cbMountPoints || !bResult)
CbsCoreFinalize
CbsCoreInitialize
CBS_E_3RD_PARTY_MAPPING_UNAVAILABLE
CBS_E_3RD_PARTY_MISSING_PACKAGE_MAPPING_INDEX
CBS_E_ABORT
CBS_E_AC_POWER_REQUIRED
CBS_E_ALREADY_INITIALIZED
CBS_E_ARRAY_ELEMENT_MISSING
CBS_E_BUSY
CBS_E_CANCEL
CBS_E_CANNOT_UNINSTALL
CBS_E_COMPONENT_NOT_INSTALLED_BY_CBS
CBS_E_CYCLE_EVALUATION
CBS_E_DEPENDENT_FAILURE
CBS_E_DOWNLOAD_FAILURE
CBS_E_DPX_JOB_STATE_SAVED
CBS_E_DUPLICATE_UPDATENAME
CBS_E_EMPTY_PACKAGE_MAPPING_INDEX
CBS_E_EXCESSIVE_EVALUATION
CBS_E_EXCLUSIVE_WOULD_MERGE
CBS_E_GROUPPOLICY_DISALLOWED
CBS_E_HANG_DETECTED
CBS_E_IDENTITY_MISMATCH
CBS_E_ILLEGAL_COMPONENT_UPDATE
CBS_E_IMAGE_NOT_ACCESSIBLE
CBS_E_IMAGE_UNSERVICEABLE
CBS_E_INSTALLERS_FAILED
CBS_E_INSUFFICIENT_DISK_SPACE
CBS_E_INTERNAL_ERROR
CBS_E_INVALID_ACTION_LIST_INSTALL_REASON
CBS_E_INVALID_ACTION_LIST_PACKAGE_COUNT
CBS_E_INVALID_CARDINALITY
CBS_E_INVALID_CONFIG_VALUE
CBS_E_INVALID_DRIVER_OPERATION_KEY
CBS_E_INVALID_EXECUTESTATE
CBS_E_INVALID_INSTALL_STATE
CBS_E_INVALID_NO_PRODUCT_REGISTERED
CBS_E_INVALID_PACKAGE
CBS_E_INVALID_PACKAGE_REQUEST_ON_MULTILINGUAL_FOD
CBS_E_INVALID_PARAMETER
CBS_E_INVALID_RECALL
CBS_E_INVALID_WINDOWS_UPDATE_COUNT
CBS_E_INVALID_WINDOWS_UPDATE_COUNT_WSUS
CBS_E_MANIFEST_INVALID_ITEM
CBS_E_MANIFEST_VALIDATION_DUPLICATE_ATTRIBUTES
CBS_E_MANIFEST_VALIDATION_DUPLICATE_ELEMENT
CBS_E_MANIFEST_VALIDATION_MISSING_REQUIRED_ATTRIBUTES
CBS_E_MANIFEST_VALIDATION_MISSING_REQUIRED_ELEMENTS
CBS_E_MANIFEST_VALIDATION_MULTIPLE_UPDATE_COMPONENT_ON_SAME_FAMILY_NOT_ALLOWED
CBS_E_MANIFEST_VALIDATION_UPDATES_PARENT_MISSING
CBS_E_METERED_NETWORK
CBS_E_MISSING_PACKAGE_MAPPING_INDEX
CBS_E_MORE_THAN_ONE_ACTIVE_EDITION
CBS_E_NEW_SERVICING_STACK_REQUIRED
CBS_E_NO_ACTIVE_EDITION
CBS_E_NOT_ALLOWED_OFFLINE
CBS_E_NOT_APPLICABLE 
CBS_E_NOT_INITIALIZED
CBS_E_NOT_INSTALLABLE
CBS_E_OPEN_FAILED
CBS_E_PAC_INITIAL_FAILURE
CBS_E_PACKAGE_DELETED
CBS_E_PENDING
CBS_E_PENDING_VICTIM
CBS_E_PRIMITIVES_FAILED
CBS_E_PROPERTY_NOT_AVAILABLE
CBS_E_PUBLIC_OBJECT_LEAK
CBS_E_REESTABLISH_SESSION
CBS_E_REPAIR_PACKAGE_CORRUPT
CBS_E_RESOLVE_FAILED
CBS_E_SAFEMODE_ENTERED
CBS_E_SESSION_CORRUPT
CBS_E_SESSION_FINALIZED
CBS_E_SESSION_INTERRUPTED
CBS_E_SESSION_READONLY
CBS_E_SESSIONS_LEAKED
CBS_E_SOURCE_MISSING
CBS_E_SOURCE_MISSING_FROM_3RD_PARTY_CAB
CBS_E_SOURCE_MISSING_FROM_3RD_PARTY_EXPRESS
CBS_E_SOURCE_MISSING_FROM_WU_CAB
CBS_E_SOURCE_MISSING_FROM_WU_EXPRESS
CBS_E_SOURCE_MISSING_FROM_WUSUS_BYPASS_CAB
CBS_E_SOURCE_MISSING_FROM_WUSUS_BYPASS_EXPRESS
CBS_E_SOURCE_MISSING_FROM_WUSUS_CAB
CBS_E_SOURCE_MISSING_FROM_WUSUS_EXPRESS
CBS_E_SOURCE_NOT_IN_LIST
CBS_E_SQM_REPORT_IGNORED_AI_FAILURES_ON_TRANSACTION_RESOLVE
CBS_E_STACK_SHUTDOWN_REQUIRED
CBS_E_STACK_UPDATE_FAILED_REBOOT_REQUIRED
CBS_E_STORE_CORRUPTION
CBS_E_STORE_TOO_MUCH_CORRUPTION
CBS_E_UNEXPECTED_PROCESSOR_ARCHITECTURE
CBS_E_UNKNOWN_UPDATE
CBS_E_WINDOWS_AUTOMATIC_UPDATE_SETTING_DISALLOWED
CBS_E_WINDOWS_UPDATE_SEARCH_FAILURE
CBS_E_WU_MAPPING_UNAVAILABLE
CBS_E_WU_MISSING_PACKAGE_MAPPING_INDEX
CBS_E_WUSUS_BYPASS_MAPPING_UNAVAILABLE
CBS_E_WUSUS_BYPASS_MISSING_PACKAGE_MAPPING_INDEX
CBS_E_WUSUS_MAPPING_UNAVAILABLE
CBS_E_WUSUS_MISSING_PACKAGE_MAPPING_INDEX
CBS_E_XML_PARSER_FAILURE
CBS_S_ALREADY_EXISTS
CBS_S_BUSY
CBS session is not initialized.
cbsSessionOption
CBS_S_STACK_RESTART_REQUIRED
CBS_S_STACK_SHUTDOWN_REQUIRED
cbstrProgIDDeviceControlClass
CBSWdsLog
CCabDecompressor::CabDecompressorFileOpen
CCabDecompressor::CabDecompressorFileOpenHelper
CCabDecompressor::DecompressInternal
CCallback::Completed
CCallback::Progress
CCallerIdentity::GetDefAppsToken
CCallerIdentity::Init
CCaptureForm::Cleanup
CCaptureForm::CreateCaptureDC
CCaptureForm::CreateDisplayDC
CCaptureForm::GetDWMWindowRect
CCaptureForm::GetHighlightedWindowRect
CCaptureForm::GetWindowAtPoint
CCaptureForm::Init
CCaptureForm::InitResources
CCaptureForm::MonitorEnumProc
CCaptureForm::OnCreate
CCaptureForm::Paint
CCaptureForm::PaintMinusRect
CCaptureForm::RectSelectEventHelper
CCaptureForm::Register
CCaptureForm::SetCapture
CCaptureForm::SetMode
CCaptureForm::SetVisible
CCaptureForm::UpdateCursor
CCaptureForm::UpdateWindowCache
CCaptureForm::WndProc
CCaptureForm::WndProcDispatch
:@CCCC@:
CCCCRCCRCRCRR'
CCC - Normalized the high IO values - SEQ Heuristic
CCCRCCRCC
cccS999 
cccS999#999
CCC - Skipping the heuristic for random assessment
CCC Support disabled in registry
CCC Support not disabled in registry
CCfgWizard::RunFromCommandLine
cChanges
C@!CH!CL
CChecksPage::EngineThread
CClientConsoleDoc
CClientConsoleView
CClientRcvThreadDispatcher::CreateInstance failed!
CClientUtils
CClipBase::BindNotificationSinks failed!
CClipBase::Initialize failed!
CClipBase::OnDisconnected failed!
CClipBase::RemoveNotificationSinks failed!
CClipBase::Terminate failed!
CClipboard::CClipboard
CClipboard::Close
CClipboard::Empty
CClipboard::Open
CClipboard::SetData
CClipDndServerDriver
CClipDndServerDriver::CreateInstance failed!
CClipDndServerDriver::Start failed!
CClipReliableClipFunctions
CClipServer
CClipServer::CreateInstance failed!
CClipServer::InitializeInstance failed!
CCM_POST
CCommonAttributeProvider::AppendArchitecture
CCommonAttributeProvider::AppendClientHash
CCommonAttributeProvider::AppendDeviceTarget
CCommonAttributeProvider::AppendLanguages
CCommonAttributeProvider::AppendOSVersion
CCommonAttributeProvider::AppendProductType
CCommonAttributeProvider::AppendPrograms
CCommonAttributeProvider::AppendServiceID
CCommonAttributeProvider::AppendServicePack
CCommonAttributeProvider::AppendWindowsUpdateAgentVersion
CCommonAttributeProvider::GetCommonAttributes
CCommonAttributeProvider::GetOSVersionInfoEx
CConfirmDriverListPage
CCrashControlSettings::LoadSettings
CC'RCCRC'RC6'R'
CCrtRegSettingsPage
CCustSettPage
CCW_STENCILFAIL
CCW_STENCILFUNC
CCW_STENCILPASS
CCW_STENCILZFAIL
CDataCache::BuildBackupSettings
CDataCache::ClearState
CDataCache::_GetHourFromTimeString
CDataCache::IsTaskEnabled
CDataCache::_ReadSettingfromEngine
CDataCache::_ReadTaskSchedule
CDataCache::UpdateBackupSkippedFlag
CDataCache::_UpdateDriveListFromEngine
CDataCache::_UpdateFolderListFromEngine
__cdecl SysprepComponent::SysprepComponent(class UnBCL::XmlNode *)
__cdecl UnBCL::Encoding::Encoding(int)
__cdecl UnBCL::StringBuilder::StringBuilder(int)
__cdecl UnBCL::Version::Version(const unsigned short *)
__cdecl UnBCL::XmlDocument::XmlDocument(struct IXMLDOMDocument3 *)
__cdecl UnBCL::XmlDocument::XmlDocument(void)
__cdecl UnBCL::XmlSchemaSet::XmlSchemaSet(void)
CDirectory
CDispatcherFile::CDispatcherFile
cdmRegistrationComplete
CdplIsSupported
CDriveListPage::init
CDriverCountersPage
CDriverSetPage
CDriverStatusPage
CDRomWWW
CDumpProcessor::ConvertDumpFile
CDumpProcessor::CreateMiniDumpFile
CDumpProcessor::GenerateIntegratorReportId
CDumpProcessor::MoveDumpFile
CDumpProcessor::ProcessDump
CDumpProcessor::ReadDumpHeader
CDumpProcessor::SaveFinalDumpFilePath
CEcsPolicyConfigManager::CEcsPolicyConfigManager
CEcsPolicyConfigManager::EnsureConfigNode
CEcsPolicyConfigManager::GetConfigNode
CEcsPolicyConfigManager::Init
CEcsPolicyConfigManager::SetPolicy
CEcsPolicyHelper::CheckAndApplyPasswordPolicyCompliance
CEcsPolicyHelper::EnforcePasswordPolicyCompliance
CEcsPolicyHelper::EnrollWorkFoldersProvider
CEcsPolicyHelper::GetMaxInactivityDeviceLockMinutes
CEcsPolicyHelper::GetMaxPasswordFailedAttempts
CEcsPolicyHelper::GetMinPasswordLength
CEcsPolicyHelper::QueryPasswordPolicyCompliance
CEditor::CEditor
CEditor::Cleanup
CEditor::CommandProc
CEditor::DoLayout
CEditor::DropDownProc
CEditor::GetEditorRect
CEditor::Init
CEditor::InitResources
CEditor::InitToolbar
CEditor::MakeToolWindow
CEditor::NewSnip
CEditor::OnCreate
CEditorPanel::CEditorPanel
CEditorPanel::Cleanup
CEditorPanel::CopyToClipboard
CEditorPanel::CursorInRange
CEditorPanel::DeleteAllStrokes
CEditorPanel::DrawInkToBitmap
CEditorPanel::GetInkBoundingBoxInPixels
CEditorPanel::HandleInvertedCursor
CEditorPanel::Init
CEditorPanel::InitGui
CEditorPanel::InitInkOverlay
CEditorPanel::InitResources
CEditorPanel::InvalidateClipboardImage
CEditorPanel::NewInAirPackets
CEditorPanel::OnCreate
CEditorPanel::OnSysColorChange
CEditorPanel::PaintCanvas
CEditorPanel::Register
CEditorPanel::ResetScrollBars
CEditorPanel::Scroll
CEditorPanel::SetInkProperties
CEditorPanel::SetSnip
CEditorPanel::Stroke
CEditorPanel::StrokesDeleted
CEditorPanel::SystemGesture
CEditorPanel::TranslateInk
CEditorPanel::UpdateAnnotatedBitmap
CEditorPanel::WndProc
CEditorPanel::WndProcDispatch
CEditor::Register
CEditor::SaveSnip
CEditor::SetButtonCheck
CEditor::SetEditorRect
CEditor::SetFocus
CEditor::SetPen
CEditor::SetSnip
CEditor::SetVisible
CEditor::ShowSaveExitDlg
CEditor::ToolTipProc
CEditor::WndProc
CEditor::WndProcDispatch
?????????????????????????????????????????????????????????????????????????????????????C????E??gHHHh?IILl?N??PPQRRR????
CElementModification::ChangeTextValue
CEmailSupport::ComposeAsAttachment
CEmailSupport::ComposeAsInlineHtml
CEmailSupport::SendEMailWithSimpleMAPI
CEnsureGlobalFree::GlobalAlloc failed.
CEnsureGlobalFree Input pIStream is NULL.
censusFlags
CentaurHauls
CenterDialog
centroid
CEnumDirectoryEntries
CEnumFormatEtc
CEnumFormatEtc::CreateInstance failed!
CEnumKeys
CEnumValues
CertChainContextToArray failed
CertCloseStore
CertControlStore
CertDuplicateCertificateChain
CertDuplicateCertificateContext
CERT_E_CHAINING
CERT_E_CN_NO_MATCH
CERT_E_CRITICAL
CERT_E_EXPIRED
CERT_E_INVALID_NAME
CERT_E_INVALID_POLICY
CERT_E_ISSUERCHAINING
CERT_E_MALFORMED
CertEnumCertificatesInStore
CERT_E_PATHLENCONST
CERT_E_PURPOSE
CERT_E_REVOCATION_FAILURE
CERT_E_REVOKED
CERT_E_ROLE
CERT_E_UNTRUSTEDCA
CERT_E_UNTRUSTEDROOT
CERT_E_UNTRUSTEDTESTROOT
CERT_E_VALIDITYPERIODNESTING
CERT_E_WRONG_USAGE
CertFindCertificateInStore
CertFindExtension
CertFreeCertificateChain
CertFreeCertificateContext
CertGetCertificateChain
CertGetCertificateContextProperty
CertGetEnhancedKeyUsage
CertGetNameStringW
CERT_HASH
Certificate enrollment completed
Certificate enrollment failed
CERTIFICATE-UNAVAILABLE
CertOpenStore
CertOpenSystemStoreW
CertSetCertificateContextProperty
CERT-TYPE-UNSUPPORTED
CertVerifyCertificateChainPolicy
Cette limitation concerne:
CEtwEventProvHelper
CExecuteUninstall::OnResetButton
CFactoryResetOptions::setactive
CFailed to initialize the work crew.
CFaxClientPg
cfgmgr32.dll
CFGMGR32.dll
CfgState::AddSqmDatapointAtConfigurationCommit
CfgState::BuildBackupTargetMessages
CfgState::Commit
CfgState::CommitEngineSettings
CfgState::DoesTargetSupportBlb
CfgState::EnsureCatalog
CfgState::GetBackupTargetFlgs
CfgState::GetWinREVolume
CfgState::HasTargetChanged
CfgState::Init
CfgState::InitStateDefaults
CfgState::InitTargetFromDeviceProp
CfgState::IsFullBackupRequired
CfgState::IsSystemImageOnTarget
CfgState::IsTargetCritical
CfgState::IsTargetSupportedByBlb
CfgState::LoadAdvancedConfigSettings
CfgState::PopulateConfigRoots
CfgState::PopulateConfigUsers
CfgState::PopulateStateFromExistingConfig
CfgState::PopulateTargetDevices
CfgState::RecommendTarget
CfgState::RefreshDeviceList
CfgState::UpdateCaretakerTask
@.cfguard
CFileContentsReaderManager::CreateInstance failed!
CFileDlgEvents::_DisplayMessage
CFileDlgEvents::_Initialize
CFileDlgEvents::OnFileOk
CFileDlgEvents::OnFolderChanging
CFileDlgEvents::OnSelectionChange
CFileOperationConflictItems::CreateInstance
CFileOperationConflictItems::GetItem
CFileOperationConflictItems::_Initialize
cFileSpecs
CflFreeBuffer
CflGetScenarioData
CFlickerFreeSupport::Control::OnSize
CFlickerFreeSupport::Init
CFlickerFreeSupport::OnEraseBackground
CFlickerFreeSupport::OnGetMinMaxInfo
CFlickerFreeSupport::OnSize
CFlickerFreeSupport::SetControl
CFM (old)
CFolderListView
CFullListSettingsPage
c)	Germany and Austria.
_cgetws_s
CGIsolationAware function called after IsolationAwareCleanup
CGITPtr::Set
CGlobalCountPage
C H9C(rBI;
ChangeAccountPasswordW
Change Action
ChangeCurrentAnimationScenario
Changed file
ChangeDisplaySettingsExW
changedTZs
ChangeKbLayoutPage_CreateInstance
change_l
change_r
ChangeResolution failed
ChangeServiceConfig2W
ChangeServiceConfigW
ChangeSize
ChangeStamp
ChangeState
ChangeTimerQueueTimer
ChangeTrackingResetOnOverflow
ChangeWindowMessageFilter
ChangeWindowMessageFilterEx
ChannelConfigException
Char16ArrayProperty
Char16Property
char16_t
char32_t
character continues past end of file
    characters.
    characters are converted to a single space regardless of their
    characters from the backslash up to but not including the first
CharLowerA
CharLowerBuffW
CharLowerW
CharNextA
CharNextW
CharPrevA
CharPrevW
CharToOemBuffA
CharToOemBuffW
CHARTV.dll
CharUpperA
CharUpperBuffA
CharUpperBuffW
CharUpperW
Chassis component
Chassis ID
C(H;C8t3f9
C@H!CHH!CPH!CX
c?HDTXI[
CheckAction
?CheckAndAddToList@CRegistrySearch@@AEAAXPEAVCRegistry@@VCHString@@1AEAVCHPtrArray@@11H@Z
CheckAndSubmitOfflineCrash
CheckAndSubmitOfflineCrash failed
CheckAttendees failed!
CheckCollectionThrottlingFailed(Aggregate)
check data checksum
CheckDevice failed
CheckDlgButton
CheckElevationEnabled
CheckFilter
CheckForHiberboot
CheckForRailSession failed
CheckForUpdates
CheckForUpdatesActivity
checkFSConsistency
CheckFSConsistency
CheckGroupPolicy
Checking for Playlist Obfuscation.
Checking netcard bindings...
?CheckInvalidPathChars@Path@UnBCL@@CAXPEBVString@2@@Z
--check-links
check-links
CheckMenuItem
CheckMenuRadioItem
CheckMetadataStores
_CheckNoOtherInstances
CHECKOUT
?CheckPathTooLong@Path@UnBCL@@KAXPEBVString@2@@Z
Checkpoint
CheckpointFlushData
CheckRadioButton
CheckRecentBackups
_CheckRecentSPPCheckpoint
CheckRemoteDebuggerPresent
CheckScenarioInfo
CheckScenarioStateModel
CheckSumMappedFile
checksum present
CheckTokenCapability
CheckTokenMembership
CheckTraceProfile
CheckTransition
CheckTrigger
ChildAccountMapping
ChildIsAdmin
 child_sa 
child_sa
*childWindowContextOut
CHJwAzfPZzQ
chkdskDone
ChkdskEx
chkdskFinished
Chkdsk_OutputDataReceived
__chkstk
CHookEventProcessor
CHookEventProcessor::CreateInstance failed
CHookEventProcessor.Initialize failed
CHook.Initialize failed
CHookManager.Initialize failed
CHookManager.Terminate failed
CHook.Restart failed
ChooseDefaultPrinter
ChooseFontW
ChosenDefaultPrinter
chroot isn't supported on this platform
C H!s(H9w(t'
!CHUNKED(m_ulFeatures)
ciDelete
CImageViewer
CInboxDetailsPg
cIncludeSpecs || cExcludeSpecs
CIncomingDetailsPg
CIncomingGeneralPg
ciNewNoThrow
Cipher suite is rejected per security policy
Cisco bridged
Cisco HDLC
CIUPnPRemoteEndpointInfoW
civic address LCI
CKernelReport::AddUnsentReportsToWERQueue
CKernelReport::CheckAndDeleteLiveMemoryDump
CKernelReport::CheckAndDeleteMemoryDump
CKernelReport::CheckForFullLiveReports
CKernelReport::ConvertDumpAndReport
CKernelReport::ConvertLiveDumpAndReport
CKernelReportDataCollection::AddMarkerFileData
CKernelReportDataCollection::AddMarkerFileDataEx
CKernelReportDataCollection::GenerateDriverPath
CKernelReportDataCollection::GetDeviceData
CKernelReportDataCollection::GetDriverInformationFromRegistry
CKernelReportDataCollection::GetExtraReportFilePath
CKernelReportDataCollection::GetSubmissionId
CKernelReportDataCollection::GetSystemData
CKernelReportDataCollection::PrintRegKeyXML
CKernelReportDataCollection::WriteDriverRecord
CKernelReportDataCollection::WriteRegistryKeyXML
CKernelReportDataCollection::XMLEncodeString
CKernelReport::EnableFullKernelDump
CKernelReport::GetLiveReportsStoreRoot
CKernelReport::LoadQueuedReports
CKernelReport::QueueKernelReport
CKernelReport::ReportAllLiveReports
CKernelReport::ReportFromKQueue
CKernelReport::ReportLiveReport
CKernelReport::RestoreDumpSettings
CKernelReport::SendLiveReport
CKernelReport::SendReport
CKernelReport::SetReporting
CKernelReport::WaitForDumpConversion
CKernelReport::WaitForLiveDumpConversion
CKfK.fK.KK.f
ckhkkkoootttw
CLanguageBarEvents
CLanguageBarEvents::CreateInstance failed
CLanguageBarEvents.Initialize failed
CLanguageBarManager.Initialize failed
Class 2 frame received from nonauthenticated station
Class 3 frame received from nonassociated station
?ClassExist@ClassInfoBase@DirectUI@@SA_NPEAPEAUIClassInfo@2@PEBQEBUPropertyInfo@2@IPEAU32@PEAUHINSTANCE__@@PEBG_N@Z
ClassGuid
 Class Hierarchy Descriptor'
ClassifyLCNsComplete
class SysprepAction *__cdecl SysprepAction::CreateAction(class UnBCL::XmlNode *)
class UnBCL::DirectoryInfo *__cdecl UnBCL::Directory::CreateDir(const class UnBCL::String *)
class UnBCL::Object *__cdecl UnBCL::Object::Clone(void) const
class UnBCL::String *__cdecl SysprepSession::GetArchitecture(void)
class UnBCL::String *__cdecl SysprepSession::GetModeFromRegistry(void)
class UnBCL::String *__cdecl UnBCL::Directory::GetDirectoryRoot(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Directory::GetLoadedModuleDir(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Directory::GetTempPathName(void)
class UnBCL::String *__cdecl UnBCL::Environment::ExpandEnvironmentVariables(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Environment::GetEnvironmentVar(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::File::GetTemporaryFileName(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Path::GetFullPath(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Path::GetLongName(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Path::GetShortName(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::Path::Sanitize(const class UnBCL::String *)
class UnBCL::String *__cdecl UnBCL::String::FromASCII(const char *)
class UnBCL::XmlAttribute *__cdecl UnBCL::XmlAttributeCollection::get_Item(class UnBCL::String *)
class UnBCL::XmlNode *__cdecl UnBCL::XmlAttributeCollection::SetNamedItem(class UnBCL::XmlNode *)
class UnBCL::XmlNode *__cdecl UnBCL::XmlNode::AppendChild(class UnBCL::XmlNode *)
class UnBCL::XmlNode *__cdecl UnBCL::XmlNode::CloneNode(int)
class UnBCL::XmlNode *__cdecl UnBCL::XmlNode::CreateXmlNode(struct IXMLDOMNode *)
class UnBCL::XmlNode *__cdecl UnBCL::XmlNode::SelectSingleNode(class UnBCL::String *)
class UnBCL::XmlNodeList *__cdecl UnBCL::XmlNode::SelectNodes(class UnBCL::String *)
Cleaning up USO's shared data folder
Cleaning up USO's shared data folder is not supported
CleanInstallFeatureOnDemandPackageName
CleanPCRemovedAppList
_CleanUI
CleanupAllUpdateFiles
CleanupBackupConfigFields
CleanupBackupRoots
CleanupBackupUsers
?Cleanup@CSearchServiceObj@@SAXXZ
Cleanup IRP cannot be failed
CleanupLockScreenText
CleanUpLockScreenText
CleanupObjectTracking
CleanupParameters
CleanupScheduledBackupProgressFields
CleanupScheduledBackupStatusFields
Cleanup should be called only when Setup succeeded
ClearAppTimeLimitToast
?ClearButtonClicked@TouchEdit2@DirectUI@@SA?AVUID@@XZ
ClearClipboardSnapShot failed!
ClearCommError
?Clear@CPrvEnumObject@@QEAAXXZ
ClearDirectory: Removing directory:
ClearDirectory: This directory cannot be removed as it represents ML Model in the payload:
_clearfp
ClearGeometryOnVC
ClearGeometryOnVC: Geometry VC handle is NULL
clear-nochange-fflags
ClearRenderHint() failed
ClearToast
ClearToastResult
Clear-To-Send
ClearUserDisplayLanguageOverride
ClearVideoHint() failed
ClearWorkspaceCredential
ClearWorkspaceCredential failed
CLeftView
?Click@Button@DirectUI@@SA?AVUID@@XZ
ClickedParentHere
ClickedSendRequest
ClickedSwitchUsers
?Click@TouchButton@DirectUI@@SA?AVUID@@XZ
ClientApplicationIdentity
ClientConnected
ClientConnection::HandleMessage
ClientConnectionSourceClose
ClientConnectionSourceOpen
ClientCreationCount
ClientDisconnected
ClientDllFound
ClientDllNotFound
ClientEntryNotFound
Client-FQDN
ClientGeneratedSessionTag
client-ID
ClientImageName
ClientInitFailed
ClientLaunchType
clientLocalAdapterId.HighPart
clientLocalAdapterId.LowPart
Client not responding to data sent
ClientProcess
clientProcessId
ClientProcessId
ClientProcessName
ClientToScreen
ClientToScreen() failed
ClientVersion
ClientVersionBuild
ClientVersionMajor
ClientVersionMinor
CLinkFingerprint::CheckParent
CLinkFingerprint::DoesMatch
CLinkFingerprint::DoesParentMatch
CLinkFingerprint::IsValid
CLinkFingerprint::LoadStringW
CLinkInfo::GetLinkInfo
CLinkInfo::GetURLRecursive
clip cannot be performed from a constant or literal
clip must be performed from a float3 vector for ps_1_x models
clip must be performed from a float4 vector for ps_2_0 models
clip not supported in texture shaders
ClipParentClientRgn() failed
CLIPPING
CLIPPLANE0
CLIPPLANE1
CLIPPLANE2
CLIPPLANE3
CLIPPLANE4
CLIPPLANE5
CLIPPLANEENABLE
CLiveDumpProcessor::CancelMiniLiveReport
CLiveDumpProcessor::CompleteFullLiveReport
CLiveDumpProcessor::ConvertLiveDump
CLiveDumpProcessor::CreateLiveMiniDumpFile
CLiveDumpProcessor::CreateLiveReportKey
CLiveDumpProcessor::ProcessLiveDump
CLiveDumpProcessor::ReadDumpHeader
CLiveDumpProcessor::SubmitMiniLiveReport
CLiveDumpSettings::InitLiveReportsStoreRoot
CLiveDumpSettings::LoadSettings
.cLoadLibrary failed.
Clock-Time
?Clone@CPrvEnumObject@@UEAAJPEAPEAUIEnumVdsObject@@@Z
?Clone@MultiSz@UnBCL@@UEBAPEAVObject@2@XZ
?CloneNode@XmlNode@UnBCL@@QEAAPEAV12@H@Z
?Clone@Object@UnBCL@@UEBAPEAV12@XZ
?Clone@OperatingSystem@UnBCL@@UEBAPEAVObject@2@XZ
?Clone@String@UnBCL@@UEBAPEAVObject@2@XZ
?Clone@Version@UnBCL@@UEBAPEAVObject@2@XZ
CloneWWW
?Close@CEventLog@@QEAAHXZ
CloseClipboard
CloseCluster
CloseClusterNode
CloseClusterResource
?Close@CRegistry@@QEAAXXZ
CloseDesktop
Closed file object used in setting file for next IRP stack location
CloseEncryptedFileRaw
CloseEventLog
Close failed!
Close failed on stream!
CloseFile called on non-driver created file
?Close@FileStream@UnBCL@@UEAAXXZ
CloseGestureInfoHandle
CloseHandle
::CloseHandle(h)
CloseImageStorageService
?Close@MemoryStream@UnBCL@@UEAAXXZ
CloseMetaFile
Close on the memory stream failed!
ClosePackageInfo
ClosePrinter
ClosePrivateNamespace
ClosePseudoConsole
?Close@SerializationStream@UnBCL@@QEAAXXZ
CloseServiceHandle
closesocket
CloseSource
CloseState
?CloseSubKey@CRegistry@@AEAAXXZ
CloseThemeData
CloseThreadpool
CloseThreadpoolCleanupGroup
CloseThreadpoolCleanupGroupMembers
CloseThreadpoolIo
CloseThreadpoolTimer
CloseThreadpoolWait
CloseThreadpoolWork
CloseThreadWaitChainSession
CloseTrace
CloseVirtualChannel failed!
CloseVolumeHandle
CloseWindowStation
CloseWWW
closing settings store failed
CloudPasswordExpiredReminder
CloudResponse
CloudServiceProvider
cloud_sku
CLowResPage
CLpcNotification::CreateLpcAndThreads
CLpcNotification::GetDeviceStackConfiguration
CLpcNotification::InitializeDeviceStack
CLpcNotification::Message
CLpcNotification::ProcessCancelMessage
__clrcall
CLRCreateInstance
CLrpcClient
"CLrpcServer"
CLrpcServer
 CLrpcServer Initialize failed
CLSCompliantAttribute
CLSIDFromProgID
CLSIDFromString
Clt-time
CLUSAPI.dll
ClusterCount
ClusterFreeMrrResponse
Cluster List
ClusterRegCloseKey
ClusterRegOpenKey
ClusterRegQueryValue
ClusterRegSetValueForceSync
ClusterResourceCloseEnum
ClusterResourceControl
ClusterResourceEnum
ClusterResourceOpenEnum
ClusterSendReceiveMrr
ClusterSharedVolumeSetSnapshotState
ClusterSize
CMachineCrashSettings::LoadSettings
CMain::CMain
CMain::CopyBitmap
CMain::CreateCapturePenDrawingAttributes
CMain::CreateStrokesFromStroke
CMain::DispError
CMain::EnsureWindowFullyOnScreen
CMain::Exit
CMainFrame
CMain::GetAnnotationBackgroundROP
CMain::GetCapturePen
CMain::GetHighContrastInkColor
CMain::Init
CMain::InitLibs
CMain::IsOnTablet
CMain::MillimetersToPixels
CMain::PixelToInkSpace
CMain::PointsToRect
CMain::Run
CMain::SetInCaptureMode
CMain::SetInEditorMode
CMain::SetSnipInEditor
CMain::ShowHelp
CMainWnd::CancelCurrentOp
CMainWnd::GetSourceDir
CMainWnd::OnBuildingImageComplete
CMainWnd::OnBurningImageComplete
CMainWnd::OnCancel
CMainWnd::OnCancelComplete
CMainWnd::OnClose
CMainWnd::OnCreateDisc
CMainWnd::OnDestroy
CMainWnd::OnEnumDevicesComplete
CMainWnd::OnEnumerateDevices
CMainWnd::OnInitDialog
CMainWnd::OnNonBlankMediaDetected
CMainWnd::OnProgress
CMainWnd::OnTaskComplete
CMainWnd::OnUnsupportedMediaDetected
CMainWnd::_PrepareMediaLabel
CMainWnd::SetReadyState
CMainWnd::SetStatusText
CMainWnd::SetSystemRoot
CMainWnd::SetWindowTextW
cmapfile
CmCmdLineArgException
cmdbuf length is not the same as expected
CmdLineArgs
CMDLINE::FProcessArgs
cmdLineIgnoreMSA
CmdLineName
cmdLineShutdown
CM_Enumerate_Classes
CM_Get_Child
CM_Get_Class_PropertyW
CM_Get_Device_ID_List_SizeW
CM_Get_Device_ID_ListW
CM_Get_Device_IDW
CM_Get_Device_Interface_List_SizeW
CM_Get_Device_Interface_ListW
CM_Get_Device_Interface_PropertyW
CM_Get_DevNode_PropertyW
CM_Get_DevNode_Registry_PropertyW
CM_Get_DevNode_Status
CM_Get_Parent
CM_Get_Sibling
cM@G[k[OcSc
CMicrodom
CMicrodom_Blob
CMicrodomBuilder::AddString
CMicrodomBuilder::CElementNameToAttributeListTable::MaybeInsert
CMicrodomBuilder::CNamespaceNameExistenceCheck::AddAndCheckExistence
CMicrodomBuilder::CNamespaceNamePrefixToAttDef::Insert
CMicrodomBuilder::ConstructAndWriteMicrodom
CMicrodomBuilder::ConsumeAttdef
CMicrodomBuilder::ConsumeCData
CMicrodomBuilder::ConsumeComment
CMicrodomBuilder::ConsumeEntityDecl
CMicrodomBuilder::ConsumePCData
CMicrodomBuilder::ConsumeProcessingInstruction
CMicrodomBuilder::DetermineStringTableSize
CMicrodomBuilder::EndAttlist
CMicrodomBuilder::EndElement
CMicrodomBuilder::GetXmlDomSize
CMicrodomBuilder::Initialize
CMicrodomBuilder::InsertDefaultAttributes
CMicrodomBuilder::ProduceStringTable
CMicrodomBuilder::StartAttlist
CMicrodomBuilder::StartDocument
CMicrodomBuilder::StartElement
CMicrodomBuilder::WriteXmlDom
CMicrodomXmlWalker::XmlError
CMimeFile::AddString
CMimeFile::CreateCIDFromStream
CMimeFile::EncodeString
CMimeFile::InitNew
CMimeFile::Release
CMimeFile::Save
CMimeFile::SecureBodyCID
CM_Locate_DevNodeW
CM_MapCrToWin32Err
CModalDialogBase::s_RunDialogSynchronous
CM_Open_DevNode_Key
CM_Query_And_Remove_SubTreeW
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Register_Notification
CM_Setup_DevNode
CMsgPropertyPg
CM_Unregister_Notification
CmUtilException
CNavigationBar
_Cnd_broadcast
_Cnd_destroy_in_situ
_Cnd_do_broadcast_at_thread_exit
_Cnd_init_in_situ
_Cnd_wait
CNetshareInfo::CopyTo
CNetshareTargetPage::OnCommand
CNetshareTargetPage::OnFinish
CNetshareTargetPage::OnInitDialog
CNetshareTargetPage::OnInvokeHelpLink
CNetshareTargetSelect::Show
CngGetFipsAlgorithmMode
CNotifyWnd.InsertMenuItem failed
CoAddRefServerProcess
CoAllowSetForegroundWindow
CoAllowSetForegroundWindow failed
CoCancelCall
coclass 
CoCreateCOMTaskServerObject
CoCreate for WorkspaceInstaller failed
CoCreateFreeThreadedMarshaler
CoCreateGuid
CoCreateInSession failed!
CoCreateInstance
CoCreateInstanceAsSystem
CoCreateInstance (CLSID_ApplicationActivationManager) failed
CoCreateInstance (CLSID_AppReadinessService) failed
CoCreateInstance (CLSID_ImmersiveShellBuilder) failed
CoCreateInstance (CLSID_ImmersiveShell) failed
CoCreateInstance (CLSID_KnownFolderManager) failed in IsValidMstscLocation
CoCreateInstance (CLSID_StartMenuCacheAndAppResolver) failed
CoCreateInstance (CLSID_UiaManagerCrossMachineStubFactory) failed
CoCreateInstance (CWindowsPushNotificationPlatform) failed
CoCreateInstanceEx
CoCreateInstance failed
CoCreateInstance failed!
CoCreateInstance failed for CLSID_RADCApiWorkspaceManager
CoCreateInstance for Workspace Runtime failed
CoCreateInstanceFromApp
CoDecrementMTAUsage
CodeIntegrityBinarySignatureExpired
CodeIntegrityImageSignatureVerificationFailed
CodeIntegritySignCheckTriggeredCatalogFallback
CodeIntegrityWHQLDriverAuditFailure
CodeIntegrityWHQLDriverFailure
codePath
CodeSite
codeSymbolic
CoDisableCallCancellation
CoDisconnectContext
CoDisconnectObject
CoEEShutDownCOM
CoEnableCallCancellation
CoFreeStringArray
CoFreeUnusedLibraries
CoFreeUnusedLibrariesEx
CoGetActivationState
CoGetApartmentType
CoGetCallContext
CoGetCallState
CoGetClassObject
CoGetCurrentLogicalThreadId
CoGetInterfaceAndReleaseStream
CoGetInterfaceAndReleaseStream IAdviseSinkEx failed
CoGetMalloc
CoGetMarshalSizeMax
CoGetObject
CoGetObjectContext
CoGetStdMarshalEx
CoGetTreatAsClass
CoImpersonateClient
CoImpersonateClient failed
CoIncrementMTAUsage
CoInitialize
CoInitializeEx
CoInitializeEx failed
CoInitializeEx failed!
CoInitializeEx() failed
CoInitializeEx in InitializeWorkspaceThread failed
CoInitializeEx in SetupWorkspaceConfigThread failed
CoInitializeSecurity
CoInitializeSecurity failed!
cointerface 
CoInternetCombineIUri
CoInternetCombineUrl
CoInternetCreateSecurityManager
CoInternetGetSession
CoInternetParseIUri
CoInternetParseUrl
?Collate@CHString@@QEBAHPEBG@Z
CollectedPipedLogs
CollectedRegistrySettings
collectEtw
CollectInfoFromProcess
CollectionChange
CollectionCount
collectionId
CollectionId
CollectLogMan
CollectOfflineCrash
CollectOfflineCrash failed
collectPerf
CollectPerfCounters
CollectPsLog
CollectScheduledTaskSettings
collectStorageBreakdown
CollectTrace
CollectWinLogs
        ) : COLOR
			color: #acf;
			color: #afa;
COLORARG0
COLORARG1
COLORARG2
			color: #eee;
ColorFilter
color images
COLOR outputs must be contiguous from COLOR0 to COLORn
colorSpace
COLOR_SPACE_ADOBERGB_LINEAR_EXT
COLOR_SPACE_ADOBERGB_NONLINEAR_EXT
COLOR_SPACE_BT2020_LINEAR_EXT
COLOR_SPACE_BT709_LINEAR_EXT
COLOR_SPACE_BT709_NONLINEAR_EXT
COLOR_SPACE_DCI_P3_NONLINEAR_EXT
COLOR_SPACE_DISPLAY_NATIVE_AMD
COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT
COLOR_SPACE_DOLBYVISION_EXT
COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT
COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT
COLOR_SPACE_HDR10_HLG_EXT
COLOR_SPACE_HDR10_ST2084_EXT
COLOR_SPACE_PASS_THROUGH_EXT
COLOR_SPACE_SRGB_NONLINEAR_KHR
ColorStartupPhase
COLORVERTEX
colorWriteEnable
COLORWRITEENABLE
COLORWRITEENABLE1
COLORWRITEENABLE2
COLORWRITEENABLE3
ColumnAction
ColumnActions
column_major
ColumnName
CoMarshalInterface
CoMarshalInterThreadInterfaceInStream
CoMarshalInterThreadInterfaceInStream m_pStreamAdviseSink failed
combase.dll
CombaseTraceLoggingProvider
?Combine@Path@UnBCL@@SAPEAVString@2@PEBV32@0@Z
CombineRgn
CombineRgn() failed
CombineUrl failed
COMCTL32.dll
COMDLG32.dll
[COMDLG32.DLL
ComError
COMGUARD
comma expression used where an initializer list may have been intended
CommaList
	Command
CommandCollection
Command failed
commandLine
CommandLine
commandLineArgs
CommandLineArguments
CommandLineToArgvW
CommandLineToArgvW() failed.
commandName
CommandName
Command not allowed
Command not executed due to user
commandSetName
CommandSetName
CommandsIssued
CommandsToComplete
CommandText
CommDlgExtendedError
#comment
comment continues past end of file
CommitFailed
Commit of update failed
Committing the ActionList with UpdateAgent
CommitTransaction
CommitUpdate
_commode
CommonBase.dll
Common Format Group
Common Options:
CommonUtilities
Community
CommuteAndTravel
COMPACT_PROTOCOL
CompactRepository
CompactVirtualDisk
compaq-peer
?Compare@CaseInsensitiveStringComparer@UnBCL@@EEAAHPEAVString@2@0@Z
?Compare@CHString@@QEBAHPEBG@Z
CompareFileTime
CompareMethodWWWX
?CompareNoCase@CHString@@QEBAHPEBG@Z
CompareObjectHandles
?Compare@OBJECT@@UEBAJPEBV1@@Z
CompareStringA
CompareStringEx
CompareStringOrdinal
?Compare@String@UnBCL@@SAHPEBG0H@Z
?Compare@String@UnBCL@@SAHPEBGPEBV12@H@Z
?Compare@String@UnBCL@@SAHPEBV12@0H@Z
?Compare@String@UnBCL@@SAHPEBV12@PEBGH@Z
CompareStringW
CompareTo
?CompareTo@Object@UnBCL@@UEBAHPEBV12@@Z
?CompareTo@String@UnBCL@@QEBAHPEBGH@Z
?CompareTo@String@UnBCL@@QEBAHPEBG@Z
?CompareTo@String@UnBCL@@UEBAHPEBVObject@2@@Z
?CompareTo@Version@UnBCL@@UEBAHPEBVObject@2@@Z
CompensationAndBenefits
CompilationRelaxationsAttribute
compile_fragment
CompileRegistryFNTSExclude(p)
CompilerGeneratedAttribute
CompileSchemaToWMI
COMPLEMENT
complement cannot be used with other modifiers
complement is not supported in this shader version
complement opportunity missed because input result WAS clamped from 0 to 1
Complete
Completed
 Complete Object Locator'
completeUpdateList
Completing unknown type of IRP
Completing update session
Completion
CompletionEscalated
CompletionReported
ComplianceError
COM pointer failed QI for its interface
component
Component
component files for
Component.pwszCaption
Component.pwszComponentName
Component.pwszPath
components
COMPONENT_STORE
component was referenced by
ComposerId
COMPOSITE_ALPHA_INHERIT_BIT_KHR
COMPOSITE_ALPHA_OPAQUE_BIT_KHR
COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR
COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
CompositionScaleX
CompositionScaleY
CompPkgSup.DLL
compress
?Compress@CFlexArray@@QEAAXXZ
Compressed IP
CompressedWWL
CompressFile
_compressionReadAheadBufferOverlapped.hEvent
_ComputeAggregateState
computeFullSubgroups
ComputeLocalTime
ComputeNextTransition
computerPolicy
ComputeStringHash
ComputeTransitions
ComputeZOrderList failed
ComVisibleAttribute
?ConcatCopy@CHString@@IEAAXHPEBGH0@Z
?ConcatInPlace@CHString@@IEAAXHPEBG@Z
?Concat@String@UnBCL@@SAPEAV12@HZZ
?Concat@String@UnBCL@@SAPEAV12@PEBG000@Z
?Concat@String@UnBCL@@SAPEAV12@PEBG00@Z
?Concat@String@UnBCL@@SAPEAV12@PEBG0@Z
?Concat@String@UnBCL@@SAPEAV12@PEBG@Z
Conditional block too complex
conditional must be numeric
conditionalRendering
conectix
ConfigCatalogVersion
ConfigCloseKey
ConfigDispatchComplete
ConfigDispatchStart
configExpired
ConfigFileNotFound
configFileToValidate
ConfigHelp
ConfigInitialize
ConfigInitializeComplete
ConfigInitializeOpenFailure
ConfigInitializePartitionMapFailure
ConfigNotification
ConfigNotificationFirstTime
ConfigOpenKey
configStaged
ConfigTable
_configthreadlocale
configuration
ConfigurationAction
configurationFile
ConfigurationItem
ConfigurationItemBase
	Configure debug logging to the event log
configuredForArso
configuredPoliciescount
_configure_narrow_argv
ConfigureNotificationSettings failed
ConfigureUserArso
_configure_wide_argv
configVersion
confirmation
_ConfirmCancelFileBackup
_ConfirmCancelOnPaint
confirm_l
confirm_r
conflicting sampler array bindings
conformanceVersion
Congestion Control
Congestion Notification
ConnectAsyncWrapper()
ConnectCandidateUser
CONNECTED
ConnectEnumWrapper()
Connecting child LM
	ConnectingToHotspot2Network
	ConnectingToOSUServer
connection aborted
connection_aborted
connection already in progress
connection_already_in_progress
ConnectionCheckpoint
Connection Collision Resolution
ConnectionCorrelationId
ConnectionFailure
connectionId
ConnectionManagerEstablishClientConnection
ConnectionManagerRemoveClientConnection
Connection Not Synchronized
connection refused
connection_refused
Connection Rejected
connection reset
connection_reset
connectionState
connection status
ConnectionString
ConnectivityHeartBeat
ConnectNamedPipe
ConnectObjectWWW
ConnectTimeoutInMilliseconds
ConnectToEngine
ConnectWithNoviceWWW
conservativePointAndLineRasterization
conservativeRasterizationPostDepthCoverage
Consistency
Constant
CONSTANT
constantAlphaColorBlendFactors
constant table info exceeds maximum comment size
const_cast
const class UnBCL::Exception *__cdecl UnBCL::Exception::GetBaseException(void) const
const class UnBCL::OperatingSystem *__cdecl UnBCL::Environment::GetOSVersion(int)
const class UnBCL::String *__cdecl UnBCL::String::Intern(const class UnBCL::String *)
const class UnBCL::String *__cdecl UnBCL::String::IsInterned(const class UnBCL::String *)
ConstructCertificateChain failed!
constructor already failed
constructors only defined for numeric base types
ConstructPartialMsgVA
ConstructPartialMsgVW
ConsumeCacheSessionFailed
Consumer
ContainerAgent
ContainerControl
ContainerHost
ContainerId
ContainerIndexTablePages
ContainerIndexTableTraversalComplete
Container : Operation 
ContainerTableEntryPages
Contains
ContainsKey
?Contains@MultiSz@UnBCL@@QEBAHPEBGH@Z
?Contains@XmlSchemaSet@UnBCL@@QEAAHPEAVString@2@@Z
ContentAlignment
contentBuilder.AppendChar(0)
contentBuilder.AppendChar((WCHAR)0xFEFF)
contentBuilder.AppendChar(WerReportingConstants::StackDelimiter)
ContentConsumption
ContentDeliveryAllowed
contentId
_contentLoaded
?ContentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
contents
Content-Transfer-Encoding: base64
contentType
contentUrl
ContentVersion
Context being created should not already exist
Context callback failed.
CONTEXT_HANDLE_rundown
Context handle rundown for handle 
Context is not acquired
ContextJson
ContextMessage
contextWindowId
    continuations after the first number that gave the size of the data.
continue
continueRequired
Continue to use existing certificate
CONTINUOUS
ControlCode
ControlCollection
ControlGroupRegistered
ControlGroupUnregistered
Controller
ControllerModeEntered
ControllerModeExited
ControllerModeLost
Controllers
Control_RunDLLW
ControlService
ControlServiceExW
ControlTraceW
ControlType
?ControlTypeProperty@Schema@DirectUI@@2HA
Control Wrapper
Conversion Error: Input XPS package is OpenXPS.
ConversionId
Convert32bppWICBitmapSourceToHBITMAP
ConvertBitsToUlong
ConvertDumpAndReport failed
ConvertFiberToThread
ConvertHdropToUnicode failed!
ConvertHrgnToRdpRegionUsingBuffer() failed
Converting live dump failed
ConvertInterfaceLuidToGuid
ConvertInterfaceLuidToNameW
ConvertInterfaceNameToLuidW
ConvertJsonValueToVariant
ConvertLiveDumpAndReport failed
ConvertSecurityDescriptorToStringSecurityDescriptorW
ConvertSidToStringSid
ConvertSidToStringSidW
ConvertStringGUIDtoProperStringGUID failed
ConvertStringSecurityDescriptorToSecurityDescriptor
ConvertStringSecurityDescriptorToSecurityDescriptor failed
ConvertStringSecurityDescriptorToSecurityDescriptor failed.
ConvertStringSecurityDescriptorToSecurityDescriptorW
ConvertStringSidToSidW
ConvertThreadToFiber
_ConvertTimeHelper
ConvertToUtc
?ConvertToUTC@TIMEINFO@@QEAAEXZ
ConvertWICBitmapPixelFormat
 cookie 
Cookie invalid
 cookiereq
Cooperative Route Filtering
coordinate-based LCI
coordinateFrameId
CoordinateFramePriority
COptions::ComboboxAddItemWithData
COptions::ComboboxDrawColorItem
COptions::ComboboxDrawPenTipItem
COptions::ComboboxDrawThicknessItem
COptions::ComboboxGetCurSelItemData
COptions::ComboboxGetItemHeight
COptions::ComboboxSelectItemUsingData
COptions::ComboboxUpdateHeight
COptions::CustColCmdProc
COptions::CustColDlgProc
COptions::EncodeColor
COptions::EncodeThickness
COptions::GetColor
COptions::GetCustomPenDims
COptions::GetPenWidth
COptions::GetThickness
COptions::IsCaptureURLEnabled
COptions::Load
COptions::OptionsCmdProc
COptions::OptionsDlgProc
COptions::OptionsDlgProcDispatch
COptions::OptionsDlgToOptions
COptions::Persist
COptions::PopulateColorList
COptions::ReadEraseEnabled
COptions::ShowColorDlg
COptions::ShowOptionsDlg
CopyAllFilesComplete
CopyAllFilesStart
CopyAllowed
?CopyBeforeWrite@CHString@@IEAAXXZ
CopyCallStack(callStack)
?Copy@CHPtrArray@@QEAAXAEBV1@@Z
?Copy@CHStringArray@@QEAAXAEBV1@@Z
?Copy@Directory@UnBCL@@SAXPEBVString@2@0HPEAUICopyDelegate@12@@Z
Copy failed
Copy failed for name
Copy failed for string into live kernel report
CopyFile
CopyFile2
CopyFileA
CopyFileExW
CopyFileL
CopyFilesComplete
CopyFilesStart
?Copy@File@UnBCL@@SAPEAVString@2@PEBV32@0H@Z
CopyFileW
?Copy@FSN_FILE@@QEBAEPEAVPATH@@PEAW4_COPY_ERROR@@KP6AKT_LARGE_INTEGER@@222KKPEAX33@Z3PEAH@Z
CopyHGlobalStgMedium failed!
CopyIcon
CopyImage
CopyInstallerFiles
CopyIStreamContentsToPStream(): Number of bytes written is incorrect.
CopyPageProtectionsToProcess
CopyPStreamContentsToIStream() : Number of bytes written is incorrect.
CopyRecorderParametersToRemoteProcess
CopyRect
CopyRect() failed
"Copyright (c) 1997 Microsoft Corp.1
"Copyright (c) 1999 Microsoft Corp.1
    Copyright (c) 2003  Microsoft Corporation
    Copyright (c) 2008 Microsoft Corporation
Copyright (C) Lenovo
Copyright (c) Microsoft Corporation. All rights reserved.
Copyright (C) Microsoft Corporation. All rights reserved.
CopySecureSettings failed
CopySetupLogs
CopyStgMedium failed!
CopyStgMedium failed.
CopyString
?Copy@String@UnBCL@@SAPEAV12@PEBV12@@Z
CopyToClipboardClick
CopyTo failed!
CopyTo ppEnumFormatEtc failed!
CopyTo ppFileContentsReaderManager failed!
CopyTo ppProxyDataObject failed!
CopyTo ppProxyDataObjectManager failed!
CopyTo ppProxyStream failed!
CopyTo ppProxyStreamManager failed!
CopyTo ppRdpClipMainWnd failed!
CopyToTempPath failed!
CorBindToRuntimeEx
_CorDllMain
CoreAllow
*coreApplicationView
coreApplicationView.CopyTo(coreApplicationViewInternal)
coreApplicationView.Get()
coreApplicationViewInternal
CoreData
CoreDeny
coreDispatcherWithTaskPriority.CopyTo(coreDispatcherWithTaskPriorityAsUnknown)
CoRegisterClassObject
CoRegisterClassObject failed!
CoRegisterMessageFilter
CoRegisterSurrogate
CoReleaseMarshalData
CoReleaseServerProcess
CoreMessaging.dll
CoResumeClassObjects
CoreUIComponents.dll
CoreUICreate
CoreUIFactoryCreate
CoreUIServerCreate
Core uploader begin
CoRevertToSelf
CoRevokeClassObject
coreWindowHwnd
_CorExeMain
CorExitProcess
 (correct)
(correct)
CorrelationGroupRegistered
CorrelationGroupUnregistered
correlationId
CorrelationId
correlationIdWWW
correlationIdWWW 
CorrelationSourceSetRegistered
CorrelationVector
corrupted file
CorruptedStructuredStateAppData
CoSetProxyBlanket
CoSetProxyBlanket failed
CostDeferred
CostDeferredLatency
CoSuspendClassObjects
CoSwitchCallContext
"CoTaskMemAlloc()"
CoTaskMemAlloc
"CoTaskMemAlloc( RDP_TRACKED_WINDOW_NODE )"
"CoTaskMemAlloc( RGNDATA )"
"CoTaskMemAlloc( TSMM_VIDEO_HINT_NODE )"
CoTaskMemFree
CoTaskMemRealloc
could not allocate bHashAlgorithm
could not allocate bHashAlgorithmA
Could not copy AudienceUri to param struct
Could not create copy of RDP file contents (TsOpenMemorySettingsStore failed)
CouldNotDelete
Could not delete busy key
Could not destroy AttestationClient
Could not find an UpdateAgent cab
Could not get command line arguments.
Could not get exit code for LPAC
Could not get exit code for spawned process
Could not get lock
Could not get the image size
Could not open queue store
Could not query the input pUnk for IPartBase
Could not read report size from disk
Could not seek to archive end
Couldn't create threadpool wait
Couldn't open kernel device object
Couldn't read passphrase
CoUninitialize
CoUnmarshalInterface
?CountChars@String@UnBCL@@SAHPEBG@Z
Counters
COutboxDetailsPg
@COutboxGeneralPg
COutOfProcFactory
COutOfProcFactory::s_StartFactories failed!
COutofProcReportManager::Start failed
CoWaitForMultipleHandles
CoWaitForMultipleObjects
CPersonalInfoPg
Cpi#Bq8x
CPlatform::Create
CPlatformEvent::Wait
CPlatform::Initialize
CPlatformModule::CaptureLoadedModuleListWorker
CPlatformModule::CompareLoadedModuleLists
CPlatformSemaphore::Signal
CPlatformSemaphore::Wait
cPMImYVX]LIDYIF
CPollDesktop
CPollDesktop::CreateInstance failed
CPollDesktop.Initialize failed
CPollDesktop.Terminate failed
CPreparingForResetPage::MainThread
CPreparingForResetPage::OnResetButton
CPreparingForResetPage::RepairThread
CPreparingForResetPage::UploadThread
CPreviewPaneView
C_PrintDialogEx
CPrivilegedPresentationOperations
CPrivilegedPresentationOperations instance not available (may not be supported)
CPrivilegedPresentationOperations::Start failed
CPrivilegedPresentationOperations::Stop failed
CProxyDataObject
CProxyDataObject::CreateInstance failed!
CProxyDataObjectManager
CProxyDataObjectManager::CreateInstance failed!
CProxyStream
CProxyStream::CreateInstance failed!
CProxyStreamManager
CProxyStreamManager::CreateInstance failed!
CPrvEnumObject::CPrvEnumObject()
CpuComp2
CpuHeatMap::GetCpuUsageData
CpuHeatMap::Initialize
CpuHeatMap::LayoutCpuBlocks
CpuHeatMap::OnKernelTimesToggled
CpuHeatMap::RefreshColors
CpuHeatMap::SetBlockData
CpuHeatMap::UpdateData
CqCCCRCCCRCC
CqRCRCR'R'R'
CqRGCGCq
CQueueFolder
CRailChannel.Initialize failed
CRailExec.Exec failed
CRailExec.SendExecResult failed
CRailHandshake::ReceiveHandshake failed
CRailIcon
CRailLogoffDetector.Initialize failed
CRailMonitorSystemParameter
CRailNotifyExec
CRailOrderEncoder
CRailOrderEncoder::EncoderTerm failed
CRailOrderEncoderHelper::EncodeRailOrder failed due to NULL RPC binding
CRailOrderEncoderRpcServer
CRailOrderEncoderRpcServer Initialize failed
CRailShellInstance
CRailShellInstance.Initialize failed
CRailSystemParametersWindow
CRailSystemParametersWindow::Initialize failed
CRailTaskbar
CRailTaskbar.Initialize failed
CrashCount
Crc32 Castagnoli
Crc64 ECMA-182
CRCCR'C6'R'6'
CrcErrorCount
CRCRCK'R'CK'KK'KKK'KKKKfKKfKffff
CRDMessageDialogButton::CreateInstance
CRDMessageDialog::CloseAsync
CRDMessageDialog::InitMessageDialog
CRDMessageDialog::s_CreateDialogRoot
CRDMessageDialog::s_CreatePopupWindow
CRDMessageDialog::SetupButtons
CRDMessageDialog::s_ShowDialog
CRDPClipboardSharer_CreateInstance failed!
CRdpClipMainWnd
CRdpClipMainWnd::CreateInstance failed!
CRdpGeometryHelper
CRdpGeometryHelper::CreateInstance() failed
CRdpHintApiSink
CRdpHintApiSink::CreateInstance() failed
"CRdpHintManager"
CRdpHintManager
CRdpHintManager::GetInstance() failed
CRdpHintManager::GetInstance() failed.  Non-Fatal.
CRdpHintManager::s_csLock.Initialize() failed
CRdpHintManager::SetRenderHint() failed.  Non-Fatal.
CRdpRefCountString
"CRdpRefCountString::CreateInstance()"
CRdpSaComUtils::s_CoCreateInSession failed!
CRdpSaComUtils::s_GetKnownFolderFilePath failed!
CRdpSaUtils::s_CheckTokenUser failed!
CRdpSessionAgent
CRdpSessionAgentProxy
CRdpSettingsFileStream
CRdpSettingsMemoryStream
CRdpSettingsStore
CRdpSettingsStore::ApplyCertSignature failed
CRdpSettingsStore::CalculateSignScopeLength failed
CRdpSettingsStore::GenerateSecureSettingsBlob failed
CRdpSettingsStore::GetSignature failed
CRdpSettingsStore::GetSignatureType failed
CRdpSettingsStore::InitializeSignature failed.
CRdpSettingsStore::SetUnsignedBlob failed
CRdpSettingsStore::VerifySensitiveSettings failed
CRdpSettingsStore::VerifySignature failed
CRdpShell
CRdpShellHelper
CRdpShellHelper.Initialize failed
CRdpShell.Initialize failed
CRdpShellTestExtension
CRdpTray
CRdpWindowTracker
CRdpWindowTracker::ClientTopLeftToScreen() failed
CRdpWindowTracker::CreateInstance() failed
CRdpWindowTracker::STATIC_GetWindowRegionOrBounds() failed
CreateAcceleratorTableW
CreateAccessiblityTree()
?CreateAccNameLabel@HWNDHost@DirectUI@@IEAAPEAUHWND__@@PEAU3@@Z
CreateActCtxW
CreateAction
CreateActiveRuntimeFailed
CreateActiveRuntimeNull
CreateActivityTrace failed
CreateAlreadyRunningMutex failed!
CreateAnalysisTask
CreateAppContainerProfile
CreateBindCtx
_CreateBitmap
CreateBitmap
CreateBitmapScaler failed
?CreateBool@Value@DirectUI@@SAPEAV12@_N@Z
CreateBoundaryDescriptor
CreateBoundaryDescriptorW
CreateCardHresultException
CreateCardNtstatusException
CreateCardSetupapiException
CreateCardWin32Exception
CreateCheckBoxImagelist
CreateClassMoniker
CreateClipboardPdu failed!
CreateClipUpdateHandler failed!
CreateColorBitmap
CreateCommandingEngine
CreateCommandLine failed
CreateCompatibleBitmap
CreateCompatibleDC
CreateComRegDBWriter
CreateConfigWriter
CreateConsoleScreenBuffer
CreateContext is not cleaned up
CreateCoreWebView
CreateCoreWebViewComponentAndUninitializedCoreWebViewComponentCallbackForWebInstance
CreateDataObject failed!
CreateDataObjectFromFormatList failed.
Created Block All Filter failed
CreateDCW
CreateDeploymentSession
CreateDesktopW
CreateDeviceInfoSet
createdHandle
CreatedHardLink
CreateDialogInitEvent failed
CreateDialogParamW
CreateDIBPatternBrushPt
CreateDIBSection
?CreateDir@Directory@UnBCL@@SAPEAVDirectoryInfo@2@PEBVString@2@@Z
CreateDirectory
CreateDirectoryA
CreateDirectoryExW
?CreateDirectoryPath@FSN_DIRECTORY@@QEBAPEAV1@PEBVPATH@@@Z
CreateDirectoryW
CreateDiscoveryProfiles
  Created media library for player.
CreateDownloadListActivity
?CreateDUICP@TaskPage@DirectUI@@EEAAJPEAVHWNDElement@2@PEAUHWND__@@1PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?Create@DUIXmlParser@DirectUI@@SAJPEAPEAV12@P6APEAVValue@2@PEBGPEAX@Z2P6AX11H2@Z2@Z
CreateDXGIFactory
CreateDXGIFactory2
CreateDynamicChannelFromHandle failed!
?CreateElement@DUIXmlParser@DirectUI@@QEAAJPEBGPEAVElement@2@1PEAKPEAPEAV32@@Z
?Create@ElementProvider@DirectUI@@SAJPEAVElement@2@PEAVInvokeHelper@2@PEAPEAV12@@Z
CreateEnclave
CreateEnvironmentBlock
CreateEvent
CreateEventA
CreateEventExW
CreateEvent failed
CreateEvent failed!
CreateEvent failed for live conversion
CreateEventW
CreateExplorerSessionKey
CreateFiberEx
CreateFile
CreateFile2
CreateFileA
CreateFileMappingA
CreateFileMappingFromApp
CreateFileMappingW
CreateFileMoniker
?Create@File@UnBCL@@SAPEAVFileStream@2@PEBVString@2@@Z
CreateFileW
?Create@FillLayout@DirectUI@@SAJPEAPEAVLayout@2@@Z
CreateFilterTestHook
CreateFolderL
CreateFolderWithPermissions
CreateFontIndirectW
CreateFormatNamePacker failed!
CreateFromDirectory
CreateGadget
CreateGetDataEvents failed!
?CreateGraphic@Value@DirectUI@@SAPEAV12@PEAUHBITMAP__@@EI_N11@Z
?CreateGraphic@Value@DirectUI@@SAPEAV12@PEAUHICON__@@_N11@Z
?Create@GridLayout@DirectUI@@SAJHHPEAPEAVLayout@2@@Z
CreateHalftonePalette
CreateHardlink
CreateHardLinkW
CreateHiddenWindow
CreateHintNode failed
CreateHintNode() failed
CreateHostModule
?CreateHWND@CCBase@DirectUI@@UEAAPEAUHWND__@@PEAU3@@Z
?Create@HWNDElementProvider@DirectUI@@SAJPEAVHWNDElement@2@PEAVInvokeHelper@2@PEAPEAV12@@Z
CreateIconIndirect
CreateImageListForFolders
CreateInputHandler failed!
CreateInstallListActivity
CreateInstance CLSID_RDPSession failed!
CreateInstance CShellSettings failed
CreateInstance failed for CTSBufferResult!
CreateInstance failed for CTSMsg!
CreateInstance failed for CWindowActivationHelper
CreateInstance (IRemoteAppImmersiveIconBroker) failed
CreateInstance (IRemoteAppPrivilegedOperationBroker) failed
CreateInteractionContext
?CreateInt@Value@DirectUI@@SAPEAV12@HW4DynamicScaleValue@@@Z
CreateInvitation failed!
CreateIoCompletionPort
CreateIUriBuilder
CreateJitBufferInRemoteProcessBestEffort
CreateJobObjectW
CreateJunction
CreateKey
?CreateKey@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG@Z
CreateLiveMiniDumpFile failed
CreateMailslotW
CreateMetaFileW
CreateMiniDump
CreateMiniDumpFile failed
CreateMutex
CreateMutexA
CreateMutexExW
CreateMutex failed
CreateMutexW
CreateNamedPipe
CreateNamedPipeW
?Create@NativeHWNDHost@DirectUI@@SAJPEBGPEAUHWND__@@PEAUHICON__@@HHHHHHIPEAPEAV12@@Z
CreateNewPart ppNewObject cannot be null or emptry
CreateNewPart ppWriteStream cannot be null or emptry
CreateNewPart wszUri cannot be null or emptry
CreateNewTask
?CreateNode@XmlDocument@UnBCL@@QEAAPEAVXmlNode@2@W4XmlNodeType@2@PEAVString@2@1@Z
CreateObject
?CreateOpen@CRegistry@@QEAAJPEAUHKEY__@@PEBGPEAGKKPEAU_SECURITY_ATTRIBUTES@@PEAK@Z
CreateOptions
CreatePalette
?CreateParserCP@TaskPage@DirectUI@@EEAAJPEAPEAVDUIXmlParser@2@@Z
CreatePartitionAttributeChangeNotification
CreatePartitionTypeChangeNotification
CreatePatternBrush
?CreatePatternProvider@Schema@DirectUI@@SAJW4Pattern@12@PEAVElementProvider@2@PEAPEAUIUnknown@@@Z
CreatePen
CreatePipeline
CreatePolygonRgn
CreatePopupMenu
CreatePrivateNamespace
CreatePrivateNamespaceW
CreateProcessA
CreateProcessAsUserW
CreateProcess failed
CreateProcess failed!
CreateProcessInternalW
CreateProcessW
CreateProcessWithLogonW
CreatePropertySheetPageW
CreatePropMapperStorage
CreateProvHost
CreateProviderInstanceHelper failed.
CreatePseudoConsole
CreateQueryStringBuilder
CreateRandomAccessStreamOnFile
CreateRdrWindow failed!
CreateReader failed!
CreateReconnectMenuEntry failed
CreateRecoveryUsbFinished
CreateRecoveryUsbStarted
CreateRectRgn
CreateRectRgn() failed
CreateRectRgnIndirect
CreateRectRgnIndirect() failed
CreateRegisterParameter
CreateRemoteThread
CreateRestrictedToken
CreateRunspace
CreateScheduleTasks
CreateScript
?CreateScrollBars@ScrollViewer@DirectUI@@MEAAJXZ
CreateSecureDevice
CreateSemaphoreExW
CreateSemaphore failed
CreateSemaphoreW
CreateServerCloakSyncComponent failed
CreateServerSideVCManager failed!
CreateServiceW
CreateSession
CreateSessionNotifyEvents failed!
CreateShadowInvitation failed!
CreateSharer failed!
CreateShellItemFromFindData
CreateSif
CreateSolidBrush
CreateSplashWindows
CreateStatusWindowW
CreateStdAccessibleObject
CreateStorageService
CreateStream failed!
CreateStreamOnHGlobal
CreateStreamOnHGlobal failed
CreateStreamOverRandomAccessStream
?CreateString@Value@DirectUI@@SAPEAV12@PEBGPEAUHINSTANCE__@@@Z
?CreateStyleParser@HWNDElement@DirectUI@@UEAAJPEAPEAVDUIXmlParser@2@@Z
CreateSymbolicLinkW
CreateSystemSnapshotFinished
CreateSystemSnapshotStarted
?CreateTemporaryDirectory@Directory@UnBCL@@SAPEAVString@2@XZ
CreateTempRDPFile failed!
CreateText
CreateTextFileWW
CreateThread
CreateThread failed
CreateThread failed!
CreateThread() failed
CreateThreadpool
CreateThreadpoolCleanupGroup
CreateThreadpoolIo
CreateThreadpoolTimer
CreateThreadpoolWait
CreateThreadpoolWork
CreateTime
CreateTimerQueue
CreateTimerQueue failed
CreateTimerQueueTimer
CreateTimerQueueTimer failed
CreateToolhelp32Snapshot
CreateTouchTooltip
CreateTransaction
?CreateUdcRootDir@utility@UDC@@SAXXZ
CreateUri
CreateURLMonikerEx
CreateUserSwitchLogonInfoCollectedSyncEventWasWaiting
CreateVirtualDisk
CreateVirtualSmartCard
CreateVirtualSmartCardInternal
CreateVolumeArrivalNotification
_createVolumeMap
CreateVssBackupComponentsInternal
CreateVssExamineWriterMetadataInternal
CreateVssSnapshotSetDescription
CreateWaitableTimerExW
CreateWaitableTimerW
CreateWebModule
CreateWebRuntimeNotificationFromEventArg
CreateWebService failed
CreateWebViewEnvironmentError
CreateWebViewEnvironmentWithOptionsInternal
CreateWellKnownSid
"CreateWindow()"
CreateWindowExA
CreateWindowExW
CreateWindowIconEsc failed while creating High DPI Icon
CreateWindowInBand
CreateWindowNode() failed
CreateWindowStationW
CreateWinREServicingManager
CreateWinstaEvent failed
CreateWriter
CreateWriterEx
?CreateXmlNode@XmlNode@UnBCL@@SAPEAV12@PEAUIXMLDOMNode@@@Z
CreateXmlReader
CreateXmlReaderInputWithEncodingName
CreateXmlWriter
CreateXpsDocumentWriter
Creating Media Library for WMP...
creation_time
CRecoveryDiskAsync::Cancel
CRecoveryDiskAsync::CheckCancel
CRecoveryDiskAsync::FinalConstruct
CRecoveryDiskAsync::IsCancelled
CRecoveryDiskAsync::SetPercentComplete
CRecoveryDiskAsync::SetPhase
CRecoveryDiskAsync::Start
CRecoveryDiskCreator::_AddAllFiles
CRecoveryDiskCreator::_AddDirectory
CRecoveryDiskCreator::_AddFile
CRecoveryDiskCreator::BuildImage
CRecoveryDiskCreator::_BuildImageWorker
CRecoveryDiskCreator::_EnumerateCDDrivesWorker
CRecoveryDiskCreator::EnumerateDevices
CRecoveryDiskCreator::_EnumerateRecordersWorker
CRecoveryDiskCreator::_ExpandFileLocation
CRecoveryDiskCreator::FinalConstruct
CRecoveryDiskCreator::_FindOrMakeFile
CRecoveryDiskCreator::_FindRecorder
CRecoveryDiskCreator::_FindRecoveryWim
CRecoveryDiskCreator::FindSourceWim
CRecoveryDiskCreator::GetCDDrives
CRecoveryDiskCreator::_GetImageFiles
CRecoveryDiskCreator::_GetNativeWimName
CRecoveryDiskCreator::GetRecorders
CRecoveryDiskCreator::_GetTempPath
CRecoveryDiskCreator::_HasTimerElapsed
CRecoveryDiskCreator::_InitTimer
CRecoveryDiskCreator::_ReadOverridePath
CRecoveryDiskCreator::SetMediaLabel
CRecoveryDiskCreator::VerifyInstallationMedia
CRecoveryDiskCreator::Write
CRecoveryDiskCreator::_WriteWorker
CRecoveryDiskIMAPIImageEvent::Initialize
CRecoveryDiskIMAPIImageEvent::SetPercent
CRecoveryDiskIMAPIImageEvent::UpdateHelper
CRecoveryDiskIMAPIWriteEvent::Initialize
CRecoveryDiskIMAPIWriteEvent::UpdateHelper
Credentials
Credentials cannot be provisioned at this time
CredFree
CredGetSessionTypes
CredMarshalCredentialW
CredPackAuthenticationBufferW
CredReadByTokenHandle
CredReadW
CredsAreStaleReminder
CredUICmdLinePromptForCredentialsW
credui.dll
CredUIParseUserNameW
CredUIPromptForCredentialsW
CredUIPromptForWindowsCredentialsW
CredUnmarshalCredentialW
CredUnPackAuthenticationBufferW
CredWriteW
CRegistrySettingData_Initialize
CReliableClipUpdateHandler
CReliableClipUpdateHandler::CreateInstance failed.
CRemoteAppImmersiveHost
CRemoteAppImmersiveHost::Initialize failed
CRemoteAppImmersiveHost::Start failed
CRemoteAppImmersiveHost::Stop failed
CRemoteAppShellWindow
CRemoteAppShellWindow::Initialize failed
CRenameFileDlg
CResetEngine::Cancel
CResetEngine::Confirm
CResetEngine::Create
CResetEngine::EnumDataVolumes
CResetEngine::GetDiskSpaceRequired
CResetEngine::GetInstalledApps
CResetEngine::GetRestoredApps
CResetEngine::GetTelemetrySessionID
CResetEngine::IsSystemOnBattery
CResetEngine::PrepareSession
CResetEngine::StageExecution
CResetEngine::UnstageExecution
CResetEngine::WillSuspendProtection
CRestoreWizard::_AddNetworkInfoToList
CRestoreWizard::_AddSqmDatapointAtProgressDlg
CRestoreWizard::_ChangeMessagefilter
CRestoreWizard::_CheckBackupLocationExists
CRestoreWizard::_ClearCatalogListView
CRestoreWizard::_ClearComboBox
CRestoreWizard::_ClearVersionsListView
CRestoreWizard::_ConfirmClearSelection
CRestoreWizard::_ConfirmDialog
CRestoreWizard::_CustomizeCFD
CRestoreWizard::_EnsureAccessToNetworkShare
CRestoreWizard::_EnumBackupSetLocations
CRestoreWizard::_EnumBackupSetProc_PopulateList
CRestoreWizard::_FindActiveBackupSet
CRestoreWizard::_FindETTandDeviceForBackupSet
CRestoreWizard::_FinishBadDlgProcOnActive
CRestoreWizard::_FinishGoodDlgProcOnActive
CRestoreWizard::_FinishGoodDlgProcOnLinkClick
CRestoreWizard::_FinishGoodDlgProcOnLogLinkClick
CRestoreWizard::_FixPathForPidl
CRestoreWizard::_GetRestoreDevice
CRestoreWizard::_GetSelectedCatalog
CRestoreWizard::_GetSelectedVersion
CRestoreWizard::_HighlightSelectedCatalog
CRestoreWizard::_HighlightSelectedVersion
CRestoreWizard::Initialize
CRestoreWizard::InitializeForSingleFileRestore
CRestoreWizard::_InsertVersionsListViewItem
CRestoreWizard::_LoadCatalogFromMedia
CRestoreWizard::_LocationDlgOnBrowse
CRestoreWizard::_LocationDlgOnEdit
CRestoreWizard::_LocationDlgOnInit
CRestoreWizard::_LocationDlgOnKillActive
CRestoreWizard::_LocationDlgOnNext
CRestoreWizard::_LocationDlgOnSetActive
CRestoreWizard::_LocationDlgSetNextState
CRestoreWizard::_LocationDlgSetUIEnabled
CRestoreWizard::_LocationDlgUpdateStateFromUI
CRestoreWizard::_LocationDlgUpdateUIFromState
CRestoreWizard::_OnSelectNetwork
CRestoreWizard::_PopulateVersionsList
CRestoreWizard::_PopulateVersionsListFromEngine
CRestoreWizard::_ProgressDlgConflictResolution
CRestoreWizard::_ProgressDlgOnAskRestore
CRestoreWizard::_ProgressDlgOnCancel
CRestoreWizard::_ProgressDlgOnInsertMedia
CRestoreWizard::_ProgressDlgOnSetActive
CRestoreWizard::_ProgressDlgRestoreFileFailed
CRestoreWizard::_PutEngineInGIT
CRestoreWizard::_RemoveNetshareTarget
CRestoreWizard::_ResetEngine
CRestoreWizard::_RevokeEngineFromGIT
CRestoreWizard::RunWizard
CRestoreWizard::RunWizardForSingleRestore
CRestoreWizard::_SelectCatalogDlgItemChanged
CRestoreWizard::_SelectCatalogDlgOnInitDlg
CRestoreWizard::_SelectCatalogDlgOnNext
CRestoreWizard::_SelectCatalogDlgOnQueryingBackupSetsComplete
CRestoreWizard::_SelectCatalogDlgOnSetActive
CRestoreWizard::_SelectCatalogDlgOnSort
CRestoreWizard::_SelectFilesDlgOnCheckRestoreAll
CRestoreWizard::_SelectFilesDlgOnDestroy
CRestoreWizard::_SelectFilesDlgOnFileDlg
CRestoreWizard::_SelectFilesDlgOnForceRepaint
CRestoreWizard::_SelectFilesDlgOnInitDialog
CRestoreWizard::_SelectFilesDlgOnPreviousVersions
CRestoreWizard::_SelectFilesDlgOnRemove
CRestoreWizard::_SelectFilesDlgOnRemoveAll
CRestoreWizard::_SelectFilesDlgOnSearchFile
CRestoreWizard::_SelectFilesDlgOnSetActive
CRestoreWizard::_SelectFilesDlgOnStateChange
CRestoreWizard::_SelectFilesDlgOnWizNext
CRestoreWizard::_SelectFilesDlgSetWizardButtons
CRestoreWizard::_SelectFilesSetViewState
CRestoreWizard::_SetCFDDefaultView
CRestoreWizard::_SetResultsFolderViewColumns
CRestoreWizard::_SetupBackupPickerColumns
CRestoreWizard::_SetupCatalogPickerColumns
CRestoreWizard::_SetupShellExt
CRestoreWizard::_ShowNoCatalogOrNoBackupError
CRestoreWizard::_ShowTargetNoBackupSetsDialog
CRestoreWizard::_ShowTargetNotAvailableDialog
CRestoreWizardSite::CreateInstance
CRestoreWizardSite::_Initialize
CRestoreWizardSite::OnStateChange
CRestoreWizardSite::QueryService
CRestoreWizard::s_TaskDialogCallbackProc
CRestoreWizard::_StripHiddenFolderData
CRestoreWizard::_UpdateVersionInfo
CRestoreWizard::_VersionsDlgItemChanged
CRestoreWizard::_VersionsDlgOnDestroy
CRestoreWizard::_VersionsDlgOnInitDialog
CRestoreWizard::_VersionsDlgOnOk
CRestoreWizard::_VersionsDlgOnSort
CRestoreWizard::_VersionsDlgPopulate
crit certains droits juridiques. Vous pourriez avoir d
critical
Critical
CriticalData
CriticalDataKeyword
CriticalPersistence
CriticalPOQComplete
CrmActivityAllocate
CrmActivityFree
CrmActivityStart
CrmActivityStop
CrmRegister
CrmUnregister
CrossContainerAuthHelperConfigureGuestMachine
CrossContainerAuthHelperConfigureGuestUser
CrossContainerAuthHelper.dll
cross device link
C'RR'R'RK'
_crt_atexit
__crtCompareStringW
__crtGetStringTypeW
__crtLCMapStringA
__crtLCMapStringW
CRtlTransactionCoordinator
- CRT not initialized
CRUMAPIHelper::InitializeSrum
CRUMAPIHelper::SrumThread
CRUMHelper::AddProcData
CRUMHelper::CalcDiskPctHistAndAvg
CRUMHelper::CalcPctHistAndAvg
CRUMHelper::CalcSysDiskMetrics
CRUMHelper::CalcSysNetMetrics
CRUMHelper::GetProcResUsage
CRUMHelper::GetUtilization
CRUMHelper::Pass1CalcProcDeltas
CRUMHelper::RUMHelperInitialize
CRUMHelper::SrumHelperCallbackImpl
CRUMHelper::UpdateProcess
CRUMPCHelper::Query
CRUMPCHelper::UpdateFSUtilization
CRUMPCHelper::UpdateProcessorUtilization
CRYPT32.dll
CryptAcquireContext failed
CryptAcquireContextW
CryptAcquireContext with CRYPT_NEWKEYSET failed
cryptbase.dll
CRYPTBASE.dll
CryptBinaryToStringW
CryptCATAdminAcquireContext
CryptCATAdminCalcHashFromFileHandle
CryptCATAdminEnumCatalogFromHash
CryptCATAdminReleaseCatalogContext
CryptCATAdminReleaseContext
CryptCATCatalogInfoFromContext
CryptCATClose
CryptCATEnumerateCatAttr
CryptCATOpen
CryptCATOpen failed
CryptContextAddRef
CryptCreateHash
CryptDecodeObject
CryptDecodeObjectEx
CryptDecrypt
CryptDeriveKey
CryptDestroyHash
CryptDestroyKey
CRYPT_E_ALREADY_DECRYPTED
CRYPT_E_ASN1_BADARGS
CRYPT_E_ASN1_BADPDU
CRYPT_E_ASN1_BADREAL
CRYPT_E_ASN1_BADTAG
CRYPT_E_ASN1_CHOICE
CRYPT_E_ASN1_CONSTRAINT
CRYPT_E_ASN1_CORRUPT
CRYPT_E_ASN1_EOD
CRYPT_E_ASN1_ERROR
CRYPT_E_ASN1_EXTENDED
CRYPT_E_ASN1_INTERNAL
CRYPT_E_ASN1_LARGE
CRYPT_E_ASN1_MEMORY
CRYPT_E_ASN1_NOEOD
CRYPT_E_ASN1_NYI
CRYPT_E_ASN1_OVERFLOW
CRYPT_E_ASN1_PDU_TYPE
CRYPT_E_ASN1_RULE
CRYPT_E_ASN1_UTF8
CRYPT_E_ATTRIBUTES_MISSING
CRYPT_E_AUTH_ATTR_MISSING
CRYPT_E_BAD_ENCODE
CRYPT_E_BAD_LEN
CRYPT_E_BAD_MSG
CRYPT_E_CONTROL_TYPE
CRYPT_E_DELETED_PREV
CRYPT_E_EXISTS
CRYPT_E_FILE_ERROR
CRYPT_E_FILERESIZED
CRYPT_E_HASH_VALUE
CRYPT_E_INVALID_IA5_STRING
CRYPT_E_INVALID_INDEX
CRYPT_E_INVALID_MSG_TYPE
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_X500_STRING
CRYPT_E_ISSUER_SERIALNUMBER
CRYPT_E_MISSING_PUBKEY_PARA
CRYPT_E_MSG_ERROR
CryptEncrypt
CRYPT_E_NO_DECRYPT_CERT
CRYPT_E_NO_KEY_PROPERTY
CRYPT_E_NO_MATCH
CRYPT_E_NO_PROVIDER
CRYPT_E_NO_REVOCATION_CHECK
CRYPT_E_NO_REVOCATION_DLL
CRYPT_E_NO_SIGNER
CRYPT_E_NOT_CHAR_STRING
CRYPT_E_NOT_DECRYPTED
CRYPT_E_NOT_FOUND
CRYPT_E_NOT_IN_CTL
CRYPT_E_NOT_IN_REVOCATION_DATABASE
CRYPT_E_NO_TRUSTED_SIGNER
CRYPT_E_NO_VERIFY_USAGE_CHECK
CRYPT_E_NO_VERIFY_USAGE_DLL
CRYPT_E_OID_FORMAT
CRYPT_E_OSS_ERROR
CRYPT_E_PENDING_CLOSE
CRYPT_E_RECIPIENT_NOT_FOUND
CRYPT_E_REVOCATION_OFFLINE
CRYPT_E_REVOKED
CRYPT_E_SECURITY_SETTINGS
CRYPT_E_SELF_SIGNED
CRYPT_E_SIGNER_NOT_FOUND
CRYPT_E_STREAM_INSUFFICIENT_DATA
CRYPT_E_STREAM_MSG_NOT_READY
CRYPT_E_UNEXPECTED_ENCODING
CRYPT_E_UNEXPECTED_MSG_TYPE
CRYPT_E_UNKNOWN_ALGO
CRYPT_E_VERIFY_USAGE_OFFLINE
CryptExportKey
CryptFindOIDInfo
CryptGenKey
CryptGenRandom
CryptGetDefaultProviderW
CryptGetHashParam
CryptGetKeyParam
CryptGetUserKey
CryptHashData
CryptHashPublicKeyInfo
CryptImportKey
CryptImportPublicKeyInfoEx2
CryptMsgClose
CryptMsgGetParam
CryptMsgOpenToDecode
CryptMsgUpdate
cryptngc.dll
CryptProtectData
CryptProtectData failed
CryptProtectMemory
CryptQueryObject
CryptReleaseContext
CryptResetMachineCredentials
CryptSetKeyParam
CryptSetProvParam
CryptSignHashA
CryptSignMessage
cryptsp.dll
CRYPTSP.dll
CryptStringToBinaryW
CryptUIDlgSelectCertificateW
CryptUIDlgViewCertificateW
CRYPTUI.dll
CryptUIWizExport
CryptUnprotectData
CryptUnprotectMemory
CryptVerifyDetachedMessageSignature
CryptVerifySignatureA
CryptXmlClose
CRYPTXML.dll
CryptXmlGetDocContext
CryptXmlGetReference
CryptXmlGetSignature
CryptXmlGetStatus
CryptXmlOpenToDecode
CryptXmlVerifySignature
CScanLeftView
cscapi.dll
cscdll.dll
CScheduleDlg::Show
CSchedulePage::OnChangeFreqToDaily
CSchedulePage::OnChangeFreqToMonthly
CSchedulePage::OnChangeFrequency
CSchedulePage::OnCommand
CSchedulePage::OnEnableDisableSchedule
CSchedulePage::OnFinish
CSchedulePage::OnInitDialog
CSchedulePage::SetupFrequency
CSchedulePage::SetupHours
CScreenCapture::IsScreenShotAllowed
CScreenCapture::TakeDesktopScreenShot
cscui.dll
CSdApp::Init
CSdAutoPlaySuppressor::AllowAutoPlay
CSdAutoPlaySuppressor::CreateInstance
CSdAutoPlaySuppressor::_Initialize
CSdCallback::AskRestore
CSdCallback::Initialize
CSdSuppressAutoPlay::Initialize
CSdSuppressAutoPlay::_RegisterAutoPlayInROT
CSdSuppressAutoPlay::_RemoveAutoPlayFromROT
CSearchFileDlg::_ConstructFileAndPath
CSearchFileDlg::CreateInstance
CSearchFileDlg::_EndDialog
CSearchFileDlg::GetResults
CSearchFileDlg::_Initialize
CSearchFileDlg::_OnBeginSearch
CSearchFileDlg::_OnClearAll
CSearchFileDlg::_OnEditChange
CSearchFileDlg::_OnEditSetFocus
CSearchFileDlg::_OnEnableStop
CSearchFileDlg::_OnEndSearch
CSearchFileDlg::_OnForceRepaint
CSearchFileDlg::_OnInitDialog
CSearchFileDlg::_OnOk
CSearchFileDlg::_OnSelectAll
CSearchFileDlg::OnStateChange
CSearchFileDlg::_OnStopSearch
CSearchFileDlg::_OnUpdateSearchProgress
CSearchFileDlg::_PutResultsFolderInGIT
CSearchFileDlg::QueryService
CSearchFileDlg::Run
CSearchFileDlg::_SetResultsFolderViewColumns
CSearchFileDlg::s_SearchFile
CSearchFileDlg::_SwitchProgressAndEdit
CSecureProcessDump::CollectDump
CSecureProcessDump::Init
CSelectDriversPage
CSentItemsDetailsPg
CServerFileNamePacker::CreateInstance failed!
CServerFormatDataPacker
CServerFormatDataPacker::CreateInstance
CServerHdropPacker
CServerHdropPacker::CreateInstance failed!
CServerNode
CServerRdrFileTransfer
CServerRdrFileTransfer::CreateInstance failed!
CServerRdrVirtualChannel
CServerRdrVirtualChannel::CreateInstance failed!
CServerStaticVirtualChannel::CreateInstance failed!
CServerVCChannel
CServerVCChannel::CreateDynamicChannel
CServerVCChannel::CreateStaticChannel
CServerVCChannel::Initialize failed
CServerVCChannelManager
CServerVCChannelManager::Initialize failed
CSessionDialog::ShowBumpDialog
CSessionDialog::ShowMessageDialog
CSessionDialog::ShowMessageDialogWorker
CSessionNotify.Initialize failed
CSession::QueryRemoteSessionType
CSetUpRoutingDlg
CSharedWizData::_BuildFont
CSharedWizData::CleanupSharedData
CSharedWizData::Initialize
CShellEvents::CreateInstance failed
CShellNotifyManager
@CShellNotifyManager.Initialize failed
CShellSettings.Terminate failed
cshq*#@Oq
CSilHandle.Close() succeeded
CSimpleDataObject
CSimpleDataObject::CreateInstance failed!
CSimpleDataObject::Initialize failed!
CSimpleOrAdvPage::ChangeMessageFilter
CSimpleOrAdvPage::OnInvokeHelpLink
CSimpleOrAdvPage::OnKillActive
CSimpleOrAdvPage::OnNextPage
CSimpleOrAdvPage::OnSetActive
CSingleExeInstance.Initialize failed
CSI Perf Trace
CSLSResponse::ValidateRevision
CSnip::DrawCaptureDecorations
CSnip::DrawCaptureRect
CSnip::DrawCaptureStroke
CSnip::GenerateHTML
CSnip::GenerateHTMLBody
CSnip::GenerateInlineHTML
CSnip::GetEncoderClsid
CSnip::GetOriginalDimensions
CSnip::GetStrokePointArray
CSnip::ObscureStrokeNegativeRegion
CSnip::SaveAs
CSnip::SetCaptureStroke
CSnip::StrokeClearOffset
CSourceWnd::OnDestroy
CSourceWnd::OnInitDialog
CSourceWnd::OnOK
CSpaceInsufficientPage::init
CSpaceMgmtDlg::Show
CSpaceMgmtPage::ChangeMessageFilter
CSpaceMgmtPage::OnCommand
CSpaceMgmtPage::OnInvokeHelpLink
CSpaceMgmtPage::OnInvokeSysLink
CSpaceMgmtPage::_OnRefresh
CSpaceMgmtPage::OnSetActive
CSpaceMgmtPage::_SetSystemFileBackupBtnAndTxt
CSpaceState::_CheckNWConnection
CSpaceState::ClearStates
CSpaceState::GetSystemBackupSpace
CSpaceState::GetUserBackupSpace
CSpaceState::HasSystemFiles
CSpaceState::Init
CSpaceState::_IsDeviceConnected
CSpaceState::Refresh
__C_specific_handler
cSppBadWriters
CsrClientCallServer
CSrGuiCallback::CreateInstance
CSrGuiCallback::_Init
CSrGuiCallback::UpdateProgress
CStartupImpactHelper::ConvertStrToTime
CStartupImpactHelper::GetChildProcessIndex
CStartupImpactHelper::GetCurrentUserSidStr
CStartupImpactHelper::GetSIFileNames
CStartupImpactHelper::GetStartupImpact
CStartupImpactHelper::GetStartupProcessesIndex
CStartupImpactHelper::ReadProcessAttributes
CStartupImpactHelper::ReadProcessInfo
CStartupImpactHelper::SIInitialize
CString::Copy(miniDumpFile) failed
CSummaryPage::OnFinish
CSummaryPage::OnInitDialog
CSummaryPage::OnInvokeHelpLink
CSummaryPage::OnInvokeSysLink
CSummaryPage::OnNotify
CSummaryPage::OnPreviousPage
CSummaryPage::OnSetActive
CSummaryPage::PopulateSummaryList
CSummaryPage::PopulateSummaryPageMessages
CSummaryPage::PopulateUserKnownFolderSettingsInSummaryList
CSummaryPage::PopulateUserLibrarySettingsInSummaryList
CSummaryPage::PopulateUserSettingsInSummaryList
CSummaryPage::UpdateScheduleString
CsvQueryMdsPath
CSxApp::GetResourceString
CSxApp::Init
CSxApp::InitAccessLevel
CSxApp::MessageBoxW
CSxControl::Enable
CSxControl::GetText
CSxControl::Init
CSxControl::SetText
CSxControl::Show
CSxDialogBase::CreateControlInstance
CSxDialogBase::GetControlImpl
CSxDialogBase::IsSysLinkNotification
CSxDialogBase::OnNotifyImpl
CSxDialogBase::SxDialogProcImpl
CSxListView::DeleteAll
CSxListView::FindItem
CSxListView::GetItem
CSxListView::GetSelectedItem
CSxListView::InsertItem
CSxListView::SelectItem
CSxListView::SetImageList
CSxNodeListStack::AddItem
CSxNodeListStack::Pop
CSxNodeListStack::Push
CSxNodeListStack::TopItem
CSxNodeListStack::TopItemDelete
CSxPropPage::PreProcessMessage
CSxPropPage::SetFinishText
CSxVolumeLocator::_AddVolumes
CSxVolumeLocator::FinalConstruct
CSxVolumeLocator::FindVolumeById
CSxWizard::Run
CSystemCalls::CreateFileW
CSystemCalls::CreateKey
CSystemCalls::DeleteKey
CSystemCalls::DeleteValueKey
CSystemCalls::FlushBuffersFile
CSystemCalls::FlushKey
CSystemCalls::FsControlFile
CSystemCalls::OpenFile
CSystemCalls::OpenKey
CSystemCalls::QueryAttributesFile
CSystemCalls::QueryInformationFile
CSystemCalls::QuerySecurityObject
CSystemCalls::QueryValueKey
CSystemCalls::QueryVolumeInformationFile
CSystemCalls::ReadFile
CSystemCalls::SetInformationFile
CSystemCalls::SetSecurityObject
CSystemCalls::SetValueKey
CSystemCalls::WriteFile
CSystemFileDlg::Show
CSystemIsolationLayer
CSystemOffFilePage::OnFinish
CSystemOffFilePage::OnInitDialog
CSystemOnFilePage::OnFinish
CSystemOnFilePage::OnInitDialog
CSystemOnFilePage::ReadKeyFromRegistry
CSystemOnFilePage::UpdateKeyInRegistry
CTablePanView
CTabLicense::CanRunSnippingTool
CTabLicense::GetBOOLPermission
CTargetMessagesPanel::BuildText
CTargetMessagesPanel::Hide
CTargetMessagesPanel::Init
CTargetMessagesPanel::Show
CTargetMessagesPanel::ShowDetailsForMessage
CTargetPage::AddNetworkInfoToList
CTargetPage::BuildNetshareMessages
CTargetPage::ChangeMessageFilter
CTargetPage::ClearColumnSorting
CTargetPage::OnColumnClick
CTargetPage::OnCommand
CTargetPage::OnInitDialog
CTargetPage::OnInvokeHelpLink
CTargetPage::OnInvokeSysLink
CTargetPage::OnKillActive
CTargetPage::OnNextPage
CTargetPage::OnNotify
CTargetPage::OnRefreshTargets
CTargetPage::OnSelectNetwork
CTargetPage::OnSetActive
CTargetPage::PopulateTargetListCtrl
CTargetPage::PreSelectTarget
CTargetPage::RemoveNetshareTarget
CTargetPage::SelectTargetAfterPopulate
CTargetPage::SetupTargetsListCtrl
CTaskBarEvents
CTaskBarEvents::CreateInstance failed.
CTaskBarEvents.Initialize failed
CtEKfJdH
CThreadpool::SetMaximumThreadCount
CThreadpool::SetMinimumThreadCount
CTieredVolume::BeginOrCompleteDefragReconcile
CTieredVolume::ClearPinnedFile_ApiHandler
CTieredVolume::ClearPinnedFileInPinnedDb
CTieredVolume::ClearPinnedFlagFromHeatDb
CTieredVolume::CloseJetInstance
CTieredVolume::CTieredVolume
CTieredVolume::DeviceNotifyCallback
CTieredVolume::EnumerateFilesByFileName
CTieredVolume::GetFilePlacementByTier_ApiHandler
CTieredVolume::GetFiles_ApiHandler
CTieredVolume::GetFilesFromFileSystem
CTieredVolume::GetFileTieringState_ApiHandler
CTieredVolume::GetGeneralVolumeInfo
CTieredVolume::GetHeatRecords_ApiHandler
CTieredVolume::GetPinnedFileCount_ApiHandler
CTieredVolume::GetPinnedFileCountFromFileSystem
CTieredVolume::GetPinnedFileCountFromPinnedDb
CTieredVolume::GetPinnedFilesFromPinnedDb
CTieredVolume::GetSpecificHeatRecord_ApiHandler
CTieredVolume::GetTierInfo
CTieredVolume::GetTieringMovementsPending_ApiHandler
CTieredVolume::GetTieringStateForPinnedFiles
CTieredVolume::GetVolumeBitmapInfoByTier
CTieredVolume::Initialize
CTieredVolume::InitializeJetInstance
CTieredVolume::IsFilePinned_ApiHandler
CTieredVolume::IsFilePinnedInPinnedDb
CTieredVolume::IsTieredVolume_ApiHandler
CTieredVolume::OnDumpTableToDatabase
CTieredVolume::OpenFileHandle
CTieredVolume::PinFile_ApiHandler
CTieredVolume::PinFileInPinnedDb
CTieredVolume::PopulatePinnedCacheFromQfl
CTieredVolume::Processing_Pass1
CTieredVolume::Processing_Pass2
CTieredVolume::Processing_Pass3
CTieredVolume::QueryDesiredStorageClass
CTieredVolume::ReportProcessingTerminated
CTieredVolume::SetCurrentLocation_ApiHandler
CTieredVolume::SetDesiredStorageClass
CTieredVolume::SetHeatRecord_ApiHandler
CTieredVolume::SetupNames
CTieredVolume::TeardownMovementSession
CTieredVolume::UpdateTieringInformationFromVolume
CTieredVolume::UpgradePinnedDataDatabaseToDscAttribute
CTieringEngineLib::Initialize
CTieringEngineLib::OnNewVolume
CTieringEngineLib::ProcessEvents
CTieringEngineLib::ProcessTieringEvents
CTieringEngineLib::StartTieringEngine
CTieringEngineLib::StartTraceSession
CTieringEngineLib::StopTraceSession
CTieringEngineTaskHandler::FinalConstruct
CTieringEngineTaskHandler::Pause
CTieringEngineTaskHandler::Resume
CTieringEngineTaskHandler::ScanTaskStart
CTieringEngineTaskHandler::Start
CTieringEngineTaskHandler::Stop
CTieringPinnedSession::GetPinnedFilesListForDiskOptimizer
CTimedCallback
CTimedCallback::AddCallback (m_spDisplayControlTimedCallback) failed
CTimedCallback::CancelCallback (m_spDisplayControlTimedCallback) failed
CTimedCallback::CreateInstance failed
CTimedCallback::CreateInstance failed!
CTimedCallback::Terminate (m_spDisplayControlTimedCallback) failed
CTL_CODE
CToolbar::BringToFront
CToolbar::CalcInstructionHeight
CToolbar::CalcScreenSketchBannerHeight
CToolbar::Cleanup
CToolbar::ClearBackgroundButtonWndProc
CToolbar::ClearBackgroundButtonWndProcDispatch
CToolbar::ClearStrokes
CToolbar::ClearTouchUI
CToolbar::CommandProc
CToolbar::CToolbar
CToolbar::DoLayout
CToolbar::DrawHelpButton
CToolbar::DropDownProc
CToolbar::FullScreenSelectEvent
CToolbar::GetHelpButtonSize
CToolbar::GetInstructionTextParams
CToolbar::GetRectFromBoundingBox
CToolbar::GetScreenSketchBannerTextParams
CToolbar::GetScreenSketchBannerToggleSize
CToolbar::GetTryScreenSketchButtonSize
CToolbar::Init
CToolbar::InitBar
CToolbar::InitCaptureForm
CToolbar::InitInkCollector
CToolbar::InitInstructions
CToolbar::InitResources
CToolbar::InitScreenSketchBanner
CToolbar::InitToolbar
CToolbar::InkSpaceToPixels
CToolbar::InstructionsWndProc
CToolbar::InstructionsWndProcDispatch
CToolbar::MakeToolWindow
CToolbar::NewInAirPackets
CToolbar::OnCreate
CToolbar::OnUpdateCaptureProc
CToolbar::PaintInstructions
CToolbar::PaintScreenSketchBanner
CToolbar::PixelsToInkSpace
CToolbar::PutStrokeOnScreen
CToolbar::RectSelectEvent
CToolbar::Register
CToolbar::ScreenSketchBannerWndProc
CToolbar::ScreenSketchBannerWndProcDispatch
CToolbar::SetCancelButtonEnabled
CToolbar::SetCaptureButtonChecked
CToolbar::SetCapturePenProperties
CToolbar::SetInCaptureMode
CToolbar::SetVisible
CToolbar::ShowDRMError
CToolbar::StartQuickCapture
CToolbar::Stroke
CToolbar::StrokeToEditor
CToolbar::ToolTipProc
CToolbar::UpdateInstructionsText
CToolbar::UpdateScreenshot
CToolbar::WindowSelectEvent
CToolbar::WndProc
CToolbar::WndProcDispatch
CTrackedObject::AddRef
CTrackedObject::Release
CTreeNode
CtrlPrtScnUsed
CTSBufferResult
CTSBufferResult::CreateInstance failed!
CTSBufferResult::CreateInstancePool failed!
CTscComHelper::StartRemoteApplication failed!
CTSCoreEvents
CTSCoreEventSink
CTSCoreEventSource
CTSEventFilterAllowAllEvents
CTSEventFilterAllowSpecifiedEvents
CTSEventFilterAllowSyncEventsOnly
CTSEventFilterBlockAllEvents
CTSMsg::CreateInstancePool failed!
CTSNullValidator
CTSObjectPool
CTSPlatform
CTSPropertySet
CTSRangeValidator
CTsRdpSignature
CTsRdpSignature::Initialize failed
CTSStringLenValidator
CTSSyncWaitResult
CTSSyncWaitResult::CreateInstancePool failed!
CTSThread
CTSThreadAttacher::Initialize failed!
CTS_TLS_ThreadDescriptor
CTsWindow
CTsWindow::Create failed
CTSWorkItemResult
cT[xxxxqqoo[[[[[[[[[[[[[D
CTypAdvStatPage
c UAVAWH
c UAVAWI
CULLMODE
culture.get()
CultureInfo
CUMDFUnknown::AddRef
currentContextId
currentContextMessage
currentContextName
__current_exception
__current_exception_context
currentExtent
Current failed HR
currentHddTierSize
currentHeapAlloc
CurrentIP
currentIteration
currentLocalAnchor
currentMemAlloc
CurrentMemUsage
current_path()
CurrentProductId
CUrrent SpaceId
	currentSsdTierSize
currentState
CurrentState
CurrentSystemTime
CurrentTemperature_Index
?CurrentThreadIsWriter@CRtlSharedLock@@QEAAHXZ
CurrentTime
Current Tracker Mode
currentTransform
current user
cursor.ico
CUserFileDlg::Show
CUserFilePage::_ClearNotification
CUserFilePage::_DeleteAllListItems
CUserFilePage::OnCommand
CUserFilePage::_OnDelete
CUserFilePage::OnInitDialog
CUserFilePage::OnNotify
CUserFilePage::_PopulateBackupSetList
CUserFilePage::_ProgressDlgOnEndPrune
CUserFilePage::_ProgressDlgOnInit
CUserFilePage::_ShowDeleteWarning
CUserProfile
customBorderColors
customBorderColorWithoutFormat
CustomerContact
CustomerContactList
CustomerContent
CustomGadgetHitTestQuery
custom module not found in dependent files
?CustomProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
CustomShellHostLaunch
CUT::UT_GetKnownLowILSafeTempDir failed
CvCloseDataSource
CvCreateDataSource
c	vDbgPrintEx
CVdsAdviseSinkRmt::OnNotify()
CVdsAsyncObject::Cancel()
CVdsAsyncObject::CVdsAsyncObject()
CVdsAsyncObject::QueryStatus()
CVdsAsyncObject::Wait()
CVdsAsyncObject::Wait:15 provider returned NULL object pointer
CVdsAsyncObject::Wait:5.5 provider returned NULL object pointer
CVdsAsyncObject::Wait:7.5 provider returned NULL object pointer
CVdsAsyncObject::Wait:8.5 provider returned NULL object pointer
CVdsAsyncObject::Wait: provider returned NULL object pointer
CVdsCallbackObject()
CVdsCallbackObject::Advise()
CVdsCallbackObject::FindClientInQueue()
CVdsCallbackObject::Initialize()
CVdsCallbackObject::InitiateSecondAuction()
CVdsCallbackObject::InitiateSecondAuctionIfLayoutChanged()
CVdsCallbackObject::OnNotify()
CVdsCallbackObject::OnNotify - Notification lost
CVdsCallbackObject::QueryClaim()
CVdsCallbackObject::RemoveClientFromQueue()
CVdsCallbackObject::Unadvise()
CVdsController::CVdsController()
CVdsController::FlushCache()
CVdsController::GetPortProperties()
CVdsController::GetProperties()
CVdsController::GetSubSystem()
CVdsController::InvalidateCache()
CVdsControllerPort::CVdsControllerPort()
CVdsControllerPort::GetController()
CVdsControllerPort::GetProperties()
CVdsControllerPort::PulseMaintenance()
CVdsControllerPort::QueryAssociatedLuns()
CVdsControllerPort::Reset()
CVdsControllerPort::SetStatus()
CVdsControllerPort::StartMaintenance()
CVdsControllerPort::StopMaintenance()
CVdsController::PulseMaintenance()
CVdsController::QueryAssociatedLuns()
CVdsController::QueryControllerPorts()
CVdsController::Reset()
CVdsController::SetStatus()
CVdsController::StartMaintenance()
CVdsController::StopMaintenance()
CVdsDiskLun::AddPlex()
CVdsDiskLun::ApplyHints()
CVdsDiskLun::ApplyHints2()
CVdsDiskLun::AssignDriveLetter()
CVdsDiskLun::AssociateControllerPorts()
CVdsDiskLun::AssociateControllers()
CVdsDiskLun::AssociateTargets()
CVdsDiskLun::BuildOEMPartitionName()
CVdsDiskLun::ChangeAttributes()
CVdsDiskLun::ChangePartitionType()
CVdsDiskLun::Clean()
CVdsDiskLun::ClearFlags
CVdsDiskLun::ConvertStyle()
CVdsDiskLun::CreatePartition()
CVdsDiskLun::CreatePartitionEx()
CVdsDiskLun::CVdsDiskLun()
CVdsDiskLun::Delete()
CVdsDiskLun::DeleteDriveLetter()
CVdsDiskLun::DeletePartition()
CVdsDiskLun::DismountDiskVolumes
CVdsDiskLun::Eject()
CVdsDiskLun::Extend()
CVdsDiskLun::FindEndOfLastVolume()
CVdsDiskLun::FindMpioGetDescriptor()
CVdsDiskLun::FormatPartition()
CVdsDiskLun::GetDriveLetter()
CVdsDiskLun::GetIdentificationData
CVdsDiskLun::GetLoadBalancePolicy()
CVdsDiskLun::GetLunNumber()
CVdsDiskLun::GetPack()
CVdsDiskLun::GetPartitionFileSystemProperties()
CVdsDiskLun::GetPartitionFileSystemTypeName()
CVdsDiskLun::GetPartitionProperties()
CVdsDiskLun::GetPathInfo()
CVdsDiskLun::GetProperties2() (IVdsDisk3)
CVdsDiskLun::GetProperties() (IVdsAdvancedDisk3)
CVdsDiskLun::GetProperties() (IVdsDisk)
CVdsDiskLun::GetProperties() (IVdsLun)
CVdsDiskLun::GetSubSystem()
CVdsDiskLun::GetSupportedLbPolicies()
CVdsDiskLun::GetUniqueId()
CVdsDiskLun::IVdsLun::GetIdentificationData
CVdsDiskLun::Offline()
CVdsDiskLun::Online()
CVdsDiskLun::PostCleanDiskHandler()
CVdsDiskLun::PostCleanDiskHandlerEntry()
CVdsDiskLun::PrepareCancelVolumeDelete()
CVdsDiskLun::PulseMaintenance()
CVdsDiskLun::QueryActiveControllerPorts()
CVdsDiskLun::QueryActiveControllers()
CVdsDiskLun::QueryAssociatedTargets()
CVdsDiskLun::QueryDiskInterfaces()
CVdsDiskLun::QueryExtents()
CVdsDiskLun::QueryFreeExtents()
CVdsDiskLun::QueryHints()
CVdsDiskLun::QueryHints2()
CVdsDiskLun::QueryLunInterfaces()
CVdsDiskLun::QueryMaxLunExtendSize()
CVdsDiskLun::QueryMedia()
CVdsDiskLun::QueryPartitionFileSystemFormatSupport()
CVdsDiskLun::QueryPartitions()
CVdsDiskLun::QueryPlexes()
CVdsDiskLun::Recover()
CVdsDiskLun::RemountDiskVolumes
CVdsDiskLun::RemovePlex()
CVdsDiskLun::SetFlags
CVdsDiskLun::SetFriendlyName()
CVdsDiskLun::SetLoadBalancePolicy()
CVdsDiskLun::SetMask()
CVdsDiskLun::SetSANMode()
CVdsDiskLun::SetStatus()
CVdsDiskLun::Shrink()
CVdsDiskLun::StartMaintenance()
CVdsDiskLun::StopMaintenance()
CVdsDiskLun::ValidateDiskInterfaces()
CVdsDrive::ClearFlags()
CVdsDrive::CVdsDrive()
CVdsDrive::GetProperties()
CVdsDrive::GetProperties2()
CVdsDrive::GetSubSystem()
CVdsDrive::PulseMaintenance()
CVdsDrive::QueryExtents()
CVdsDrive::SetFlags()
CVdsDrive::SetStatus
CVdsDrive::StartMaintenance()
CVdsDrive::StopMaintenance()
CVdsEnumObject::Clone()
CVdsEnumObject::CVdsEnumObject()
CVdsEnumObject::Next()
CVdsEnumObject::Reset()
CVdsEnumObject::Skip()
CVdsHbaPort::GetProperties()
CVdsHbaPortInternal::CVdsHbaPortInternal()
CVdsHbaPortInternal::GetProperties()
CVdsHbaPortInternal::Initialize()
CVdsHbaPortInternal::SetAllPathStatuses()
CVdsHbaPort::SetAllPathStatuses()
CVdsIscsiInitiatorAdapter::CVdsIscsiInitiatorAdapter()
CVdsIscsiInitiatorAdapter::GetProperties()
CVdsIscsiInitiatorAdapterInternal::AddInitiatorPortal()
CVdsIscsiInitiatorAdapterInternal::CVdsIscsiInitiatorAdapterInternal()
CVdsIscsiInitiatorAdapterInternal::GetInitiatorPortal()
CVdsIscsiInitiatorAdapterInternal::GetProperties()
CVdsIscsiInitiatorAdapterInternal::Initialize()
CVdsIscsiInitiatorAdapterInternal::LoginToTarget()
CVdsIscsiInitiatorAdapterInternal::LoginToTargetThread()
CVdsIscsiInitiatorAdapterInternal::LoginToTargetThread exiting due to shutdown
CVdsIscsiInitiatorAdapterInternal::LogoutFromTarget()
CVdsIscsiInitiatorAdapterInternal::LogoutFromTargetThread()
CVdsIscsiInitiatorAdapterInternal::LogoutFromTargetThread exiting due to shutdown
CVdsIscsiInitiatorAdapterInternal::QueryInitiatorPortals()
CVdsIscsiInitiatorAdapterInternal::RemoveInitiatorPortals()
CVdsIscsiInitiatorAdapter::LoginToTarget()
CVdsIscsiInitiatorAdapter::LogoutFromTarget()
CVdsIscsiInitiatorAdapter::QueryInitiatorPortals()
CVdsIscsiInitiatorPortal::CVdsIscsiInitiatorPortal()
CVdsIscsiInitiatorPortal::GetInitiatorAdapter()
CVdsIscsiInitiatorPortal::GetIpsecSecurity()
CVdsIscsiInitiatorPortal::GetProperties()
CVdsIscsiInitiatorPortalInternal::CVdsIscsiInitiatorPortalInternal()
CVdsIscsiInitiatorPortalInternal::GetInitiatorAdapter()
CVdsIscsiInitiatorPortalInternal::GetIpsecSecurity()
CVdsIscsiInitiatorPortalInternal::GetProperties()
CVdsIscsiInitiatorPortalInternal::Initialize()
CVdsIscsiInitiatorPortalInternal::SetIpsecSecurity()
CVdsIscsiInitiatorPortalInternal::SetIpsecTunnelAddress()
CVdsIscsiInitiatorPortal::SetIpsecSecurity()
CVdsIscsiInitiatorPortal::SetIpsecTunnelAddress()
CVdsIscsiPortal::CVdsIscsiPortal()
CVdsIscsiPortal::GetIpsecSecurity
CVdsIscsiPortal::GetProperties()
CVdsIscsiPortal::GetSubSystem()
CVdsIscsiPortalGroup::AddPortal()
CVdsIscsiPortalGroup::CVdsIscsiPortalGroup()
CVdsIscsiPortalGroup::Delete()
CVdsIscsiPortalGroup::GetProperties()
CVdsIscsiPortalGroup::GetTarget()
CVdsIscsiPortalGroup::QueryAssociatedPortals()
CVdsIscsiPortalGroup::RemovePortal()
CVdsIscsiPortal::QueryAssociatedPortalGroups()
CVdsIscsiPortal::SetIpsecSecurity
CVdsIscsiPortal::SetIpsecSecurityLocal
CVdsIscsiPortal::SetIpsecTunnelAddress
CVdsIscsiPortal::SetStatus
CVdsIscsiTarget::CreatePortalGroup()
CVdsIscsiTarget::CVdsIscsiTarget()
CVdsIscsiTarget::Delete()
CVdsIscsiTarget::GetConnectedInitiators
CVdsIscsiTarget::GetProperties()
CVdsIscsiTarget::GetSubSystem()
CVdsIscsiTarget::QueryAssociatedLuns()
CVdsIscsiTarget::QueryPortalGroups()
CVdsIscsiTarget::RememberInitiatorSharedSecret
CVdsIscsiTarget::SetFriendlyName
CVdsIscsiTarget::SetSharedSecret
CVdsLoader::CVdsLoader()
CVdsLoader::LoadService()
CVdsLunPlex::ApplyHints()
CVdsLunPlex::CVdsLunPlex()
CVdsLunPlex::GetLun()
CVdsLunPlex::GetProperties()
CVdsLunPlex::QueryExtents()
CVdsLunPlex::QueryHints()
CVdsMessageQueue::DequeueEx()
CVdsMessageQueue::EnqueueEx()
CVdsMessageQueue::Initialize()
CVdsOpenVDisk::Attach
CVdsOpenVDisk::Compact
CVdsOpenVDisk::CVdsOpenVDisk
CVdsOpenVDisk::Detach
CVdsOpenVDisk::DetachAndDelete
CVdsOpenVDisk::Expand
CVdsPack::AddDisk()
CVdsPack::CreateVolume()
CVdsPack::CreateVolume2()
CVdsPack::CVdsPack()
CVdsPack::GetProperties()
CVdsPack::GetProvider()
CVdsPack::MigrateDisks()
CVdsPack::MigrateGetSourceInfo()
CVdsPack::MigrateGetTargetInfo()
CVdsPack::QueryDisks()
CVdsPack::QueryVolumes()
CVdsPack::Recover()
CVdsPack::RemoveMissingDisk()
CVdsPack::ReplaceDisk()
CVdsPnPNotificationManager::AuxThread()
CVdsPnPNotificationManager::DiskNotificationHandler()
CVdsPnPNotificationManager::DriveLetterNotificationHandler()
CVdsPnPNotificationManager::FindVolumeInMap()
CVdsPnPNotificationManager::FindVolumeInMap: not enoughmemory to make a copy of device path. Notificationmay be lost.
CVdsPnPNotificationManager::ForwardDiskNotification()
CVdsPnPNotificationManager::ForwardLayoutChangeNotification()
CVdsPnPNotificationManager::ForwardLayoutChangeNotification: Out of memory. A disk layout change notification is lost.
CVdsPnPNotificationManager::ForwardVolumeChangeNotification()
CVdsPnPNotificationManager::FreeVolumeEventHandleMap()
CVdsPnPNotificationManager::InitializeAuxThread()
CVdsPnPNotificationManager::InsertVolumeToMap()
CVdsPnPNotificationManager::LabelMountPointsNotificationHandler
CVdsPnPNotificationManager::LabelMountPointsNotificationHandler()
CVdsPnPNotificationManager::LayoutChangeNotificationHandler()
CVdsPnPNotificationManager::RegisterForCustomVolumeEvent
CVdsPnPNotificationManager::RegisterForCustomVolumeEventAll
CVdsPnPNotificationManager::RegisterPnPNotifications()
CVdsPnPNotificationManager::RemoveVolumeFromMap()
CVdsPnPNotificationManager::UnregisterPnPNotifications()
CVdsPnPNotificationManager::VolumeChangeNotificationHandler
CVdsPnPNotificationManager::VolumeNotificationHandler()
CVdsProvider::AddVDisk
CVdsProvider::CreateLunInStoragePool()
CVdsProvider::CreatePack()
CVdsProvider::CreateVDisk
CVdsProvider::CVdsProvider()
CVdsProvider::GetDiskFromVDisk
CVdsProvider::GetProperties()
CVdsProvider::GetProviderType()
CVdsProvider::GetProviderType2()
CVdsProvider::GetVDiskFromDisk
CVdsProvider::GetVersionSupport()
CVdsProvider::QueryMaxLunCreateSizeInStoragePool()
CVdsProvider::QueryPacks()
CVdsProvider::QueryStoragePools()
CVdsProvider::QuerySubSystems()
CVdsProvider::QueryVDisks
CVdsProvider::Reenumerate()
CVdsProvider::Refresh()
CVdsRawDiskLun::AssignDriveLetter()
CVdsRawDiskLun::ChangePartition()
CVdsRawDiskLun::ChangePartitionType()
CVdsRawDiskLun::Clean()
CVdsRawDiskLun::CleanDiskThread()
CVdsRawDiskLun::CleanDiskThreadEntry()
CVdsRawDiskLun::CleanDiskThreadEntry exiting due to shutdown
CVdsRawDiskLun::ConvertStyle()
CVdsRawDiskLun::CreatePartition()
CVdsRawDiskLun::CreatePartitionEx()
CVdsRawDiskLun::CVdsRawDiskLun()
CVdsRawDiskLun::DeleteDriveLetter()
CVdsRawDiskLun::DeletePartition()
CVdsRawDiskLun::GetDriveLetter()
CVdsRawDiskLun::GetPack()
CVdsRawDiskLun::GetPartitionProperties()
CVdsRawDiskLun::GetProperties2() (IVdsDisk)
CVdsRawDiskLun::GetProperties() (IVdsAdvancedDisk3)
CVdsRawDiskLun::GetProperties() (IVdsDisk)
CVdsRawDiskLun::GetUniqueId()
CVdsRawDiskLun::Initialize()
CVdsRawDiskLun::IVdsDisk::GetIdentificationData
CVdsRawDiskLun::Offline()
CVdsRawDiskLun::Offline2()
CVdsRawDiskLun::Online()
CVdsRawDiskLun::Online2()
CVdsRawDiskLun::QueryExtents()
CVdsRawDiskLun::QueryFreeExtents()
CVdsRawDiskLun::QueryPartitions()
CVdsRawDiskLun::SetSANMode()
CVdsService::AddDiskToVdProviders()
CVdsService::AddLunIdToMap()
CVdsService::AddNetworkShare()
CVdsService::AddObjectToMap()
CVdsService::Advise()
CVdsService::AssignDisksToProviders()
CVdsService::AssignDisksToProvidersInClass()
CVdsService::AssignOneDiskToProviders()
CVdsServiceAsyncObject::Cancel()
CVdsServiceAsyncObject::CVdsServiceAsyncObject()
CVdsServiceAsyncObject::Wait()
CVdsService::CanProvidersUnload()
CVdsService::CanProvidersUnloadHelper: 2 QueryInterface(IVdsProviderPrivate) failed.
CVdsService::ClaimDiskIfRaw()
CVdsService::ClaimRawDisk()
CVdsService::CleanupObsoleteMountPoints()
CVdsService::ClearFlags()
CVdsService::cmp_str_eq()
CVdsService::CopyStorageDescriptorString
CVdsService::CopyStorageDeviceIdDescriptorToLun
CVdsService::CVdsService()
CVdsService::DumpUnallocatedDisks()
CVdsService::EmptyLunInformation
CVdsService::FindLunFromId()
CVdsService::FindOrCreateWrapper()
CVdsService::FindRawDisk()
CVdsService::FindWrapperInMap()
CVdsService::FinishAddDiskToVdProviders()
CVdsService::GetDisk()
CVdsService::GetDiskFromSwProviders()
CVdsService::GetDiskId()
CVdsService::GetDiskIdFromMap()
CVdsService::GetDiskIUnknown()
CVdsService::GetDiskObject()
CVdsService::GetDiskObjectWrapper()
CVdsService::GetHbaPort()
CVdsService::GetInitiatorAdapter()
CVdsService::GetInitiatorName()
CVdsService::GetInitiatorPortal()
CVdsService::GetLunIdFromMap()
CVdsService::GetLunIdFromProviders()
CVdsService::GetLunInformationForDisk
CVdsService::GetLunObjectWrapper()
CVdsService::GetNextProviderClsid()
CVdsService::GetObject()
CVdsService::GetObjectFromProviders()
CVdsService::GetProperties()
CVdsService::GetRawDiskByDeviceID()
CVdsService::GetSANPolicy()
CVdsService::GetVolumeId()
CVdsService::HandleDiskLayoutChange()
CVdsService::Initialize()
CVdsService::InitializeNetworkShareConstants()
CVdsService::InitializeThread()
CVdsService::InitializeThread exiting due to shutdown
CVdsService::InitializeThread: *ppVdsProviderNext Alloc: Out of memory.
CVdsService::InternalQueryDisks()
CVdsService::InternalQueryHbaPorts()
CVdsService::InternalQueryInitiatorAdapters()
CVdsService::InternalQueryProviders()
CVdsService::IsBuiltinProvider()
CVdsService::IsLetterInMountMgrDB()
CVdsService::_IsServiceReady()
CVdsService::IsServiceReady()
CVdsService::LoadAndInitializeProviders()
CVdsService::LoadHbaPorts()
CVdsService::LoadIscsiInitiator()
CVdsService::LoadSasPorts()
CVdsService::MigrateSaveMountPoints()
CVdsServiceModule::DisplayMessage()
CVdsServiceModule::_Handler()
CVdsServiceModule::Handler()
CVdsServiceModule::Init()
CVdsServiceModule::Install()
CVdsServiceModule::IsInstalled()
CVdsServiceModule::RegisterServer()
CVdsServiceModule::Run()
CVdsServiceModule::_ServiceMain()
CVdsServiceModule::ServiceMain()
CVdsServiceModule::SetServiceStatus()
CVdsServiceModule::Start()
CVdsServiceModule::Uninstall()
CVdsServiceModule::UnregisterServer()
CVdsService::OnDiskLayoutChange()
CVdsService::OnDiskLayoutChange(2)
CVdsService::QueryDriveLetters()
CVdsService::QueryFileSystemTypes()
CVdsService::QueryHbaPorts()
CVdsService::QueryInitiatorAdapters()
CVdsService::QueryMaskedDisks
CVdsService::QueryProviders()
CVdsService::QueryUnallocatedDisks
CVdsService::Reboot()
CVdsService::Reenumerate()
CVdsService::Refresh()
CVdsService::RegisterProvider()
CVdsService::RegisterServiceInstance()
CVdsService::RememberTargetSharedSecret()
CVdsService::RemoveDiskFromVdProviders()
CVdsService::RemoveLunIdFromMap()
CVdsService::RemoveObjectFromMap()
CVdsService::RemoveObsoleteDevNodes
CVdsService::RemoveObsoleteObject()
CVdsService::RemoveOneDiskFromProviders()
CVdsService::RemoveRawDisk()
CVdsService::RemoveRawDisk()(2)
CVdsService::RemoveUnallocatedDiskFromMap()
CVdsService::ResetDiskWrapper()
CVdsService::ResetLunWrapper()
CVdsServiceRmt::Advise()
CVdsServiceRmt::CleanupObsoleteMountPoints()
CVdsServiceRmt::ClearFlags()
CVdsServiceRmt::GetDiskIdFromLunInfo()
CVdsServiceRmt::GetInitiatorName()
CVdsServiceRmt::GetObject()
CVdsServiceRmt::GetProperties()
CVdsServiceRmt::GetSANPolicy()
CVdsServiceRmt::IsServiceReady()
CVdsServiceRmt::QueryDriveLetters()
CVdsServiceRmt::QueryFileSystemTypes()
CVdsServiceRmt::QueryHbaPorts()
CVdsServiceRmt::QueryInitiatorAdapters()
CVdsServiceRmt::QueryMaskedDisks
CVdsServiceRmt::QueryProviders()
CVdsServiceRmt::QueryUnallocatedDisks
CVdsServiceRmt::Reboot()
CVdsServiceRmt::Reenumerate()
CVdsServiceRmt::Refresh()
CVdsServiceRmt::RegisterProvider()
CVdsServiceRmt::RememberTargetSharedSecret()
CVdsServiceRmt::SetAllIpsecSecurity()
CVdsServiceRmt::SetAllIpsecTunnelAddresses()
CVdsServiceRmt::SetFlags()
CVdsServiceRmt::SetInitiatorSharedSecret()
CVdsServiceRmt::SetIpsecGroupPresharedKey()
CVdsServiceRmt::SetSANPolicy()
CVdsServiceRmt::Unadvise()
CVdsServiceRmt::UninstallDisks()
CVdsServiceRmt::UnregisterProvider()
CVdsServiceRmt::WaitForServiceReady()
CVdsService::SendDiskNotification()
CVdsService::SendDriveLetterNotification()
CVdsService::SendFileSystemNotificaiton()
CVdsService::SendMountPointsNotificaiton()
CVdsService::SendVolumeNotification()
CVdsService::SetAllIpsecSecurity()
CVdsService::SetAllIpsecTunnelAddresses()
CVdsService::SetFlags()
CVdsService::SetInitiatorSharedSecret()
CVdsService::SetIpsecGroupPresharedKey()
CVdsService::SetSANPolicy()
CVdsService::ToggleAutoMountPoint()
CVdsService::Unadvise()
CVdsService::Uninitialize()
CVdsService::Uninitialize: CoUninitialize triggered exception.
CVdsService::UnloadProviders()
CVdsService::UnregisterProvider()
CVdsService::UnregisterServiceInstance()
CVdsService::WaitForServiceReady()
CVdsStoragePool::GetAttributes()
CVdsStoragePool::GetProperties()
CVdsStoragePool::GetProvider()
CVdsStoragePool::PulseMaintenance()
CVdsStoragePool::QueryAllocatedLuns()
CVdsStoragePool::QueryAllocatedStoragePools()
CVdsStoragePool::QueryDriveExtents()
CVdsStoragePool::StartMaintenance()
CVdsStoragePool::StopMaintenance()
CVdsSubSystem::CreateLun()
CVdsSubSystem::CreateLun2()
CVdsSubSystem::CreateTarget()
CVdsSubSystem::CVdsSubSystem()
CVdsSubSystem::GetDrive()
CVdsSubSystem::GetDrive2()
CVdsSubSystem::GetImportTarget()
CVdsSubSystem::GetProperties()
CVdsSubSystem::GetProperties2()
CVdsSubSystem::GetProvider()
CVdsSubSystem::GetProviderId()
CVdsSubSystem::GetSupportedInterconnects()
CVdsSubSystem::PulseMaintenance()
CVdsSubSystem::QueryControllers()
CVdsSubSystem::QueryDrives()
CVdsSubSystem::QueryLuns()
CVdsSubSystem::QueryMaxLunCreateSize()
CVdsSubSystem::QueryMaxLunCreateSize2()
CVdsSubSystem::QueryPortals()
CVdsSubSystem::QueryTargets()
CVdsSubSystem::Reenumerate()
CVdsSubSystem::ReplaceDrive()
CVdsSubSystem::SetControllerStatus()
CVdsSubSystem::SetFriendlyName
CVdsSubSystem::SetImportTarget()
CVdsSubSystem::SetIpsecGroupPresharedKey()
CVdsSubSystem::SetStatus()
CVdsSubSystem::StartMaintenance()
CVdsSubSystem::StopMaintenance()
CVdsVDisk::CVdsVDisk
CVdsVDisk::GetDeviceName
CVdsVDisk::GetHostVolume
CVdsVDisk::GetProperties
CVdsVDisk::Open
CVdsVolume::AddAccessPath()
CVdsVolume::AddPlex()
CVdsVolume::BreakPlex()
CVdsVolume::ChangeNoDLFlag()
CVdsVolume::CheckVolumeDirtyFlag()
CVdsVolume::ClearFileSystemFlags()
CVdsVolume::ClearFlags()
CVdsVolume::CreateAsynchObj()
CVdsVolume::CVdsVolume()
CVdsVolume::Delete()
CVdsVolume::DeleteAccessPath()
CVdsVolume::Dismount()
CVdsVolume::Extend()
CVdsVolume::Format()
CVdsVolume::FormatCallback()
CVdsVolume::FormatEx()
CVdsVolume::FormatEx2()
CVdsVolume::FormatInternal()
CVdsVolume::FormatPartitionEx()
CVdsVolume::FormatPartitionEx2()
CVdsVolume::FormatRoutine()
CVdsVolume::FormatRoutine exiting due to shutdown
CVdsVolume::GetFileSystemProperties()
CVdsVolume::GetFileSystemPropertiesInternal()
CVdsVolume::GetFileSystemTypeName()
CVdsVolume::GetFileSystemTypeNameInternal()
CVdsVolume::GetFsFlags()
CVdsVolume::GetFSType()
CVdsVolume::GetPack()
CVdsVolume::GetProperties()
CVdsVolume::GetProperties2()
CVdsVolume::GetVolumeName()
CVdsVolume::GetVolumeName: volume name is missing.
CVdsVolume::IsBasicMbrAndCriticalFlags()
CVdsVolume::IsPackOffline()
CVdsVolume::IsVolumeOnDynamicDisk()
CVdsVolume::Mount()
CVdsVolume::OfflineVolume()
CVdsVolume::Online()
CVdsVolume::OpenHandle()
CVdsVolumePlex::CVdsVolumePlex()
CVdsVolumePlex::GetProperties()
CVdsVolumePlex::GetVolume()
CVdsVolumePlex::QueryExtents()
CVdsVolumePlex::Repair()
CVdsVolume::PostExtendVolumeHandler()
CVdsVolume::QueryAccessPaths()
CVdsVolume::QueryAccessPathsToVolume()
CVdsVolume::QueryFileSystemFormatSupport()
CVdsVolume::QueryFileSystemFormatSupportInternal()
CVdsVolume::QueryMaxReclaimableBytes()
CVdsVolume::QueryPlexes()
CVdsVolume::QueryReparsePoints()
CVdsVolume::QueryVolumeGuidPathnames()
CVdsVolume::RemovePlex()
CVdsVolume::SetClearFsFlags()
CVdsVolume::SetFileSystemFlags()
CVdsVolume::SetFlags()
CVdsVolume::SetupFormatThreadParam()
CVdsVolume::Shrink()
CVdsVolume::ShrinkFileSystem()
CVdsVolume::Shrink() old
CVdsVolume::ShrinkRoutine()
CVdsVolume::ShrinkRoutine exiting due to shutdown
CVdsVolume::ValidateCall()
CVerifierPropertyPage
CvInitialize
cVolume || cComponent
cVolumeContext
cVolumeMap
cVolumesIn
cVolumeSSB
CvSetData
.cvsignore
CVssProviderProperties
cVUI)#j]
CvUninitialize
CWaitDlgThread
CWaiterThreads::StopWaitingOnHandle
CWaiterThreads::WorkerThread
CWindowActivationHelper
CWizClient0
#CWizFinish
CWizFolder
CWizPerm
CWizWelcome
CWorkspaceCredential
CWorkspaceCredential::CreateTimerQueue failed
CWorkspaceSetupNotify
cWriterInfo
CWudfCompanion::LoadDrivers
CWudfCompanion::ReleaseWait
CWudfDefaultDispatcher::Create
CWudfDefaultDispatcher::CreateDefaultDispatcher
CWudfDefaultDispatcher::DoCreate
CWudfDefaultDispatcher::DoFlushBuffers
CWudfDefaultDispatcher::DoIoctl
CWudfDefaultDispatcher::DoRead
CWudfDefaultDispatcher::DoWrite
CWudfDefaultDispatcher::QueryInterface
CWudfDefaultDispatcher::SubmitIo
CWudfDefaultDispatcher::SubmitQuerySetInformation
CWudfDevice::AttachDevice
CWudfDevice::_GetDeviceItf
CWudfDevice::GetDeviceStackInterface
CWudfDevice::_GetObjFromItf
CWudfDeviceStack::AddToDeviceFileList
CWudfDeviceStack::AllocateIfrMemory
CWudfDeviceStack::AllocateIoIrp
CWudfDeviceStack::AttachDevice
CWudfDeviceStack::CancelUsbSS
CWudfDeviceStack::CloseFile
CWudfDeviceStack::CreateDevice
CWudfDeviceStack::CreateDevice2
CWudfDeviceStack::CreateDeviceHelper
CWudfDeviceStack::CreateSymbolicLinkW
CWudfDeviceStack::CreateWdfFile
CWudfDeviceStack::CreateWdfFileForOpenHandle
CWudfDeviceStack::DetachDevice
CWudfDeviceStack::DetermineMaxAndMinDriverVersions
CWudfDeviceStack::Forward
CWudfDeviceStack::ForwardAndWaitForCompletion
CWudfDeviceStack::GetDriverID
CWudfDeviceStack::GetDriverModuleInfo
CWudfDeviceStack::GetMessageDispatch
CWudfDeviceStack::GetMultiTransportDispatcher
CWudfDeviceStack::Initialize
CWudfDeviceStack::InitializeInterrupt
CWudfDeviceStack::InvalidateDeviceState
CWudfDeviceStack::InvokePowerIrpCompletionCallback
CWudfDeviceStack::InvokeUsbSSEventHandler
CWudfDeviceStack::LoadDrivers
CWudfDeviceStack::MapIoSpace
CWudfDeviceStack::MergeIoTypeValues
CWudfDeviceStack::OnDispatchPnp
CWudfDeviceStack::PoFxActivateComponent
CWudfDeviceStack::PoFxCompleteDevicePowerNotRequired
CWudfDeviceStack::PoFxCompleteDirectedPowerDown
CWudfDeviceStack::PoFxIdleComponent
CWudfDeviceStack::PoFxReportDevicePoweredOn
CWudfDeviceStack::PoFxSetDeviceIdleTimeout
CWudfDeviceStack::PoFxSimulateDevicePowerRequiredInReflector
CWudfDeviceStack::PoFxStartDevicePowerManagement
CWudfDeviceStack::PoFxUnregisterDevice
CWudfDeviceStack::PrepareToForwardToSelf
CWudfDeviceStack::ReadFromHardware
CWudfDeviceStack::RegisterMultiTransportDispatcher
CWudfDeviceStack::RegisterRemoteInterfaceNotification
CWudfDeviceStack::RegisterTargetDeviceNotification
CWudfDeviceStack::ReleaseWait
CWudfDeviceStack::RemoveFromDeviceFileList
CWudfDeviceStack::RequestPowerIrp
CWudfDeviceStack::SendFastIoToControlObject
CWudfDeviceStack::SendMsgToControlObject
CWudfDeviceStack::SetPowerState
CWudfDeviceStack::SetPPO
CWudfDeviceStack::SignalUsbSSCallbackProcessingComplete
CWudfDeviceStack::SubmitUsbIdleNotification
CWudfDeviceStack::UnmapIoSpace
CWudfDeviceStack::UnregisterTargetDeviceNotification
CWudfDeviceStack::VerifyAndAssignPreferredTransferMode
CWudfDeviceStack::WriteToHardware
CWudfDevStackTable::UpdateEnvironmentBlock
CWudfDriverCreatedFile::Close
CWudfDriverCreatedFile::DequeueIrpFromFileObject
CWudfDriverCreatedFile::SendIrp
CWudfDriverCreatedFile::SendIrp should only be used with cleanup or close IRP
CWudfDriverCreatedFile::SetOwnerDevice
CWudfFileObj::AcquirePreallocatedIrp
CWudfFileObj::GetDeviceStack
CWudfFileObj::GetFrameworkFileObj
CWudfFileObj::Initialize
CWudfFileObj::PreallocateCleanupCloseIoIrp
CWudfFileObj::ReleasePreallocatedIrp
CWudfFileObj::SetCreateContext
CWudfFileObj::SetFrameworkFileObj
CWudfFileObj::UpdateKeepAliveCount
CWudfHostGlobals::ClearThreadTlsFlag
CWudfHostGlobals::IsThreadTlsFlagSet
CWudfHostGlobals::SetThreadTlsFlag
CWudfIoDispatcher::_CancelInternal
CWudfIoDispatcher::_CancelRoutine
CWudfIoDispatcher::Create
CWudfIoDispatcher::Dispatch
CWudfIoDispatcher::IoCompleted
CWudfIoDispatcher::MarkUmdfDriverInitiatedRequest
CWudfIoDispatcher::QueryInterface
CWudfIoDispatcher::SetCancelCallback
CWudfIoIrp::CompleteHandlerPostAlpcReply
CWudfIoIrp::CompleteHandlerPreAlpcReply
CWudfIoIrp::CreateAndInitialize
CWudfIoIrp::Deallocate
CWudfIoIrp::Dispatch
CWudfIoIrp::GetFrameworkRelatedFileObjectContext
CWudfIoIrp::Init
CWudfIoIrp::QueueOnTopmostFile
CWudfIoIrp::ReInitialize
CWudfIoIrp::SetCancelRoutine
CWudfIoIrp::SetFileForNextIrpStackLocation
CWudfIoIrp::SetFrameworkFileObjectContext
CWudfIoIrp::SetHostFileObject
CWudfIoStack::GetStackLocation
CWudfIoStack::HasCompletionRoutines
CWudfIoStack::Initialize
CWudfIoStackLocationBase::GetCompletionRoutine
CWudfIoStackLocation::GetCreateParameters
CWudfIoStackLocation::GetDeviceIoControlParameters
CWudfIoStackLocation::GetOtherParameters
CWudfIoStackLocation::GetQuerySetInformationParameters
CWudfIoStackLocation::GetReadParameters
CWudfIoStackLocation::GetWriteParameters
CWudfIoStackLocation::SetCreateParameters
CWudfIoStackLocation::SetDeviceIoControlParameters
CWudfIoStackLocation::SetFlushParameters
CWudfIoStackLocation::SetOtherParameters
CWudfIoStackLocation::SetQuerySetInformationParameters
CWudfIoStackLocation::SetReadParameters
CWudfIoStackLocation::SetWriteParameters
CWudfIoStack::OnCompletion
CWudfIoStack::Reinitialize
CWudfIoStack::SetCompletionRoutine
CWudfIoStack::Validate
CWudfIrp::CWudfIrp
CWudfIrp::Forward
CWudfIrp::GetContext
CWudfIrp::GetRequestorProcessId
CWudfIrp::ImpersonateRequestorProcess
CWudfIrp::Initialize
CWudfIrp::PrepareToForwardToSelf
CWudfIrp::ProcessCompletion
CWudfIrp::RevertImpersonation
CWudfIrp::SetCancelRoutine
CWudfIrp::SetCompletionRoutine
CWudfIrp::SetContext
CWudfIrpTable::GetAndSetCancelRoutine
CWudfModuleInfo::_BuildDriverRegistryPath
CWudfModuleInfo::GetFxModuleInfo
CWudfModuleInfo::_GetModuleNameFromImagePath
CWudfModuleInfo::GetName
CWudfModuleInfo::Release
CWudfModuleInfo::SetFxBindInfo
CWudfModuleInfo::SetFxModuleInfo
CWudfModuleTable::FindModuleAndReference
CWudfModuleTable::LoadComponentAndCreateInstance
CWudfModuleTable::LoadFrameworkAndDriver
CWudfNativeUsbDispatcher::Create
CWudfNativeUsbDispatcher::CreateNativeUsbDispatcher
CWudfNativeUsbDispatcher::QueryInterface
CWudfNativeUsbDispatcher::SubmitIo
CWudfNativeUsbDispatcher::SubmitUsbIo
CWudfPnpIrp::AcquireRelease
CWudfPnpIrp::Cancel
CWudfPnpIrp::ForwardToRedirector
CWudfRefCountedHandle::Release
CWudfRefCountedHandle::SetHandle
CWudfRemoteDispatcher::BindToHandle
CWudfRemoteDispatcher::Create
CWudfRemoteDispatcher::CreateRemoteDispatcher
CWudfRemoteDispatcher::QueryInterface
CWudfRemoteDispatcher::SubmitIo
CWudfUsbDispatcher::CreateUsbDispatcher
CWudfUsbDispatcher::QueryInterface
CWudfUsbDispatcher::SubmitIo
CWudfUsbDispatcher::SubmitUsbIo
CWudfWin32Dispatcher::Create
CWudfWin32Dispatcher::QueryInterface
CWudfWin32Dispatcher::SubmitIo
CWUSLSParse::ExtractEnvIDRevisionID
CwWWWS__Omm-UUUTUU
CxImageName
CxL9kht	H
CXmlCursor::CompareExtents
CXmlCursor::CompareStrings
CXmlCursor::DecodeExtent
CXmlCursor::Next
CXmlCursor::XmlAlloc
CXmlLogicalState::Initialize
CXmlNamespaceManager::Initialize
-cxsparse
cxsparse
cxsparseH
__CxxFrameHandler3
__CxxFrameHandler4
_CxxThrowException
CyberEvents
.C ziugA
d0..Nrnl
d0O0d00O
;d22Vt::N
D26CGITPtr::Get
d2d1.dll
D2"V1aQLS
d2yviii2
d3d10_1.dll
D3D10CompileShader
D3D10CreateDeviceAndSwapChain
D3D10CreateDeviceAndSwapChain1
D3D10CreateStateBlock
d3d10.dll
D3D10StateBlockMaskEnableAll
D3D11CreateDevice
d3d11.dll
d3d12.dll
d3d9.dll
D3DCOLORtoUBYTE4
D3DKMTCloseAdapter
D3DKMTEnumAdapters
D3DKMTEscape
D3DKMTNetDispQueryMiracastDisplayDeviceSupport
D3DKMTOpenAdapterFromLuid
D3DKMTQueryAdapterInfo
D3DX_VERSION
D3DX: (WARN) An allocation of zero bytes should return a unique non-null pointer to at
D3DX: (WARN) D3DX relies upon this behavior.
D3DX: (WARN) least zero bytes. Deletion of a null pointer should quietly do nothing.
D?;72-)#!
D8|7xt*H
D8EpueD8EH
D8f	u(E3
D8f	u*E3
D8g	u7E3
D8IDthH;
D8Mot	D8
D8!m_pCatalogChecksum
D8n(ukD8n
D8o)tGD8
D8@puFH;Phv H
D9c8t|L9cHtvM
D9c|tdD9
D9d1@uDH
D9g4|;L9
D9g(tEA9
D9gXu#D9gTu
D9gXukD9gTueD9gLt_E
D9ihu	D9alA
D9Khu D9Klu
D9Ktu4D9Kh
D9kXu'E9H0u!
D9[LtQA9.
D9m@u;E3
D9odtrD9oHt
D9oht2E3
D9o(t-D9
D9o|t|D9
D9ott]D9n
D9pXt1D9p
D9QptWL;
D9t3xtCH
D9t7 v0H
D9#t(D9c
D9u0uMA#
#D9#uHE;
D9 uKH95
D9:uND9z
D9w(t5D95
D9X8t	A;
D9Y tDL;H0u
DABAPI.dll
DabRegisterTriggerConsumer
DabUnregisterTriggerConsumer
DaemonTest
DafChallengeDevicePresence
DafCloseAssociationContext
DafCloseChallengeContext
DafCreateAssociationContext
DafCreateAssociationContextFromOobBlob
DafCreateChallengeContext
DafMemFree
DafSelectCeremony
DafStartDeviceStatusNotification
DafStartEnumCeremonies
DafStartFinalize
DafStartReadCeremonyData
DafStartRemoveAssociation
DailyTrigger
.DaLqE444444
DangerousGetHandle
d-AnZdYN
 [|dao-length too short]
??_DASCIIEncoding@UnBCL@@QEAAXXZ
dataAlloc
Database
DatabaseCompareW
DatabaseSizes
data_checksum
DataCollectorCreate failed
data_dropped
DATA ENTRY TERMINAL
data error
?DataGridControlType@Schema@DirectUI@@2HA
data.m_bRecreateDisks
!data.m_userCredentials.m_bScheduledBackup
data.m_userCredentials.m_bScheduledBackup
data.m_userCredentials.m_wszUserName
DataPointer
DataProtectionCloudBackupProviderUpdate
DataProtectionDismissWarning
DataProtectionEnterWarning
DataProtectionHealth
DataProtectionRevokeWarning
DataProtectionStatus
DataReceivedEventArgs
DataReceivedEventHandler
dataRegTZ
DataStore
DATASTORE_CONFIG
DATASTORE_CPU
DATASTORE_DISK
DATASTORE_DWM
DATASTORE_GRAPHICS_3D
DATASTORE_MEM
DATA_TYPE_ALLMEDIA
DATA_TYPE_APPS
DATA_TYPE_BUILTINAPPS
DATA_TYPE_CLASSIC_APPS
DATA_TYPE_CURRENT_USER_PROFILE
DATA_TYPE_DESKTOP
DATA_TYPE_DOCS
DATA_TYPE_DOWNLOADS
DATA_TYPE_END
DATA_TYPE_MAPS
DATA_TYPE_MUSIC
DATA_TYPE_NODE
DATA_TYPE_ONEDRIVE
DATA_TYPE_OTHER
DATA_TYPE_OTHER_USER_PROFILES
DATA_TYPE_PICTURES
DATA_TYPE_PIM
DATA_TYPE_PODCASTS
DATA_TYPE_RECYCLE_BIN
DATA_TYPE_RINGTONES
DATA_TYPE_ROOT
DATA_TYPE_SR_HARD
DATA_TYPE_SR_SOFT
DATA_TYPE_SR_UPDATESCRATCH
DATA_TYPE_STAGED_UPDATES
DATA_TYPE_SYSTEMANDRESERVED
DATA_TYPE_SYSTEM_HIBERFILE
DATA_TYPE_SYSTEM_PAGEFILE
DATA_TYPE_SYSTEM_RESTORE
DATA_TYPE_SYSTEMSEMIPERM
DATA_TYPE_TELEMETRY
DATA_TYPE_TEMP
DATA_TYPE_TEMP_PREV_INSTALLATION
DATA_TYPE_TEST
DATA_TYPE_VIDEOS
dataVersion
DateAndTime_Index
DateCreatedW
DateLastAccessed@
DateLastModified@
DateModified
DateTime
DateTimeArrayProperty
DateTimeEx
DateTimeFormatInfo
DateTimeProperty
DateTimeWithOffset
DaylightBias
DaylightName
DayOfMonth
dayOfWeek
DaysInMonth
daysSinceFirstLogonOnCurrentInstallation
daysSinceScoobeLastCompleted
daysSinceScoobeLastShown
daysUpdatesPaused
D;B4|mIc
?dbbbc[H
?dbbUUVV
dbdbSISISbSbdbSbSIbSbSL
DbgBreakPoint
dbghelp.dll
dbg: initializing...
DbgLoadImageSymbols
DBG_LOG_REASON
DbgPrint
DbgPrintEx
D	BhD	AhH
DBOnConnectedW
dbstrResourcePath
??_DCaseInsensitiveStringComparer@UnBCL@@QEAAXXZ
DCB Capability Exchange Protocol Rev 1
DCB Capability Exchange Protocol Rev 1.01
_dccaa_Z77E
DCCP-Ack
DCCP-Close
DCCP-CloseReq
DCCP-Data
DCCP-DataAck
DCCP-Request
DCCP-Reset
DCCP-Response
DCCP-Sync
DCCP-SyncAck
dcn-meas
dcomp.dll
DComp objects must all be set or not set together.
DCompositionCreateDevice2
DCompositionCreateSurfaceHandle
dDaAeEmMpPsSvVwW?
DDD8BCBCTPR
DDDDDDD@
dddddddd
DDDDDDDDD@
DDDDDDDDDD
DDDDDDDDDD@
DDDDDDDDDDD@
DDDDDDDDDDDDDDD@
DDDDDDDDDDDDDDDD@
dddddddddddddS
DDDDDDDDDDDGpw
DDDDDDDDDDDOp
DDDDDDDDDDFf
DDDDDDDDDLwwwwwwwx
DDDDDDDDDLwwwwwx
DDDDDDDO
dddddddSdS
DDDDDDgwwww
ddddddlo
DDDDDLxx
dddddOS0
DDDDGww|
DDDDGwww
ddddIddSISISISSbSbSSbS
ddddlddf
ddddOMOd0dMd
###DDDeee
dddldddd
dddSdSdSISbS
ddfDfFFF
ddIdddSddSISISISSISSbS
ddSdbdbSSbdSSSSbdbdbSbbb
DDvPPPDC
?de??????
Deactivate
DeactivateActCtx
Deactivated
deadbeef
Deauthenticated because sending station is leaving (or has left) IBSS or ESS
DeAuthentication
DebugBreak
DebugCreateEx
?DebugDump@OBJECT@@UEBAXE@Z
DebuggableAttribute
DebuggerBrowsableAttribute
DebuggerBrowsableState
DebuggerHiddenAttribute
DebuggerNonUserCodeAttribute
DebuggingModes
DebugHint
DebugInfoEvent
debug info exceeds maximum comment size; no debug info emitted
debugLogBuilder.AppendChar(0)
debugLogBuilder.AppendString(PackageInfo::GetDisplayNameStatic())
debugLogBuilder.AppendString(PackageInfo::Statics::ApplicationID)
debugLogBuilder.AppendString(PackageInfo::Statics::PackageFullName)
debugLogBuilder.AppendString(PackageInfo::Statics::PackageRelativeAppID)
DebugLogger
DEBUGMONITORTOKEN
DebugTrace
December
decimal value truncated to 32bits
DEC_KEYID
Decnet IV
DecodeBase64W
DecodeBaseCoordinate::Decoding the base latitude failed!
DecodeBaseCoordinate::Decoding the base longitude failed!
DecodeBaseLocation3DPdu failed!
DecodeClientReadyPdu failed!
DecodeCSReadyPdu failed!
DecodeDeltaCoordinate::Decoding the latitude delta failed!
DecodeDeltaCoordinate::Decoding the longitude delta failed!
DecodeDismissActivePenContactsPdu failed!
DecodeDismissActiveTouchContactsPdu failed!
DecodeDismissHoveringTouchContactPdu failed!
DecodeFileName failed!
DecodeHdrop failed!
DecodeInputEventPdu failed!
DecodeINT16Ex(contactRectBottom) failed!
DecodeINT16Ex(contactRectLeft) failed!
DecodeINT16Ex(contactRectRight) failed!
DecodeINT16Ex(contactRectTop) failed!
DecodeINT16Ex(tiltX) failed!
DecodeINT16Ex(tiltY) failed!
DecodeInt32::Decoding the altitude delta failed!
DecodeInt32::Decoding the base altitude failed!
DecodeInt32::Decoding the delta coordinate failed!
DecodeINT32Ex(x) failed!
DecodeINT32Ex(y) failed!
DecodeLocation2DDeltaPdu failed!
DecodeLocation3DDeltaPdu failed!
DecodeMetaFile failed!
decodeModeSharedExponent
DecodePalette failed!
DecodePenEventPdu failed!
DecodePointer
decoder.CoCreateInstance failed
DecodeTouchEventPdu failed!
DecodeUINT16Ex(contactCount) failed!
DecodeUINT16Ex(frameCount) failed!
DecodeUINT16Ex(rotation) failed!
DecodeUINT16(maxTouchContacts) failed!
DecodeUINT32Ex(contactFlags) failed!
DecodeUINT32Ex(encodeTime) failed!
DecodeUINT32Ex(orientation) failed!
DecodeUINT32Ex(penFlags) failed!
DecodeUINT32Ex(pressure) failed!
DecodeUINT32(flags) failed!
DecodeUINT32(protocolVersion) failed!
DecodeUINT64Ex(frameOffset) failed!
DecodeUINT8(contactId) failed!
DecodeUINT8(deviceId) failed!
DecodeUINT8(fieldsPresent) failed!
DecodeUINT8(pointerId) failed!
DecompressCabFileInternal
Decompressed
DecompressFile
?_Decref@facet@locale@std@@UEAAPEAV_Facet_base@3@XZ
?DecRef@Object@UnBCL@@QEAAHXZ
DecryptFileA
DecryptFileW
dEeEeEeEeEeGgGgGgGgHhHhIiIiIiIiIi??JjKk?LlLlLl??LlNnNnNn???OoOoOo
deeKNNNH
?DefaultAction@Button@DirectUI@@UEAAJXZ
?DefaultAction@CCBase@DirectUI@@UEAAJXZ
?DefaultAction@Element@DirectUI@@UEAAJXZ
DefaultAttribute.Allocate()
    default base for numbers is decimal.  Hexidecimal may be specified
DefaultDllImportSearchPathsAttribute
DefaultDNSResolverStatusCode
?DEFAULT_ERROR@Exception@UnBCL@@0PEBGEB
DefaultExtensionFailed
DefaultExtensionLoaded
DefaultInstall
DefaultLauncherLayoutSet
DefaultPrinterChanged
DefaultPrinterMode
DefaultPrinterModeChanged
	      default route target
default value
default_value
DefenderAvCurrentRunningMode
DefenderAvHealth
DefenderAvStatus
deferReason
DeferredGenericAndReinitialize
Deferred Install configured
DeferRestart
DeferWindowPos
DefineDosDeviceW
defragTimeInMinutes
DefSubclassProc
DefWindowProcA
DefWindowProcW
degenerateLinesRasterized
degenerateTrianglesRasterized
degreesFromDown
degreesFromDownChanged
D#ehD;eh
DeinitAdapter
DeinitService
Delaware1
DelayLoadFailureHook
DelayLock
delaySeconds
DelayStartPhaseComplete
DelayStartPhaseStart
delayUntilNextPoll
DelayUntilReboot
DelConfigValue
 delete[]
DeleteAce
DeleteAction
?DeleteAllMembers@ARRAY@@UEAAEXZ
DeleteAtom
DeleteBcdObjects
DeleteBoundaryDescriptor
_DeleteCatalogIfRequiredAndKickoffNew
?DeleteChAt@WSTRING@@QEAAXKK@Z
DeleteCorruptedReportFromStore
DeleteCPCBackupSets
DeleteCriticalSection
?DeleteCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBG@Z
?DeleteCurrentKeyValue@CRegistry@@QEAAKPEBG@Z
DeleteDC
_DeleteDirectory
?DeleteDirectory@FSN_DIRECTORY@@QEAAEXZ
_DeleteDirectoryTraverseCallback
?Delete@Directory@UnBCL@@SAXPEBVString@2@H@Z
DeletedMetadataStores
Deleted SpaceId
; *** Deleted the above key and all of its subkeys ***
DeleteEnclave
DeleteEnhMetaFile
DeleteFiber
DeleteFile
DeleteFileA
::DeleteFile( *pstrDir )
DeleteFilesOnly
::DeleteFile( strTracingDirectory )
?Delete@File@UnBCL@@SAXPEBVString@2@@Z
DeleteFileW
DeleteFileWWL
DeleteFilter
DeleteFolderL
DeleteFolderRecursively
DeleteFromSetupExecute
DeleteFromSetupExecuteList
DeleteHandle
DeleteIfReadOnly
?DeleteInternal@Directory@UnBCL@@CAXPEBVString@2@HH@Z
?DeleteInternal@File@UnBCL@@CAXPEBVString@2@@Z
DeleteKey
?DeleteKey@CRegistry@@QEAAJPEAVCHString@@@Z
DeleteKeyValue
DeleteMenu
DeleteMetadataStoresActivity
DeleteMetaFile
?DeleteNE@Directory@UnBCL@@SAHPEBVString@2@H@Z
DeleteNetworkShare
DeleteObject
Delete old prefs
_DeleteOldSPPGroups
_DeletePartialSPPGroups
DeletePending
DeletePendingIsOk
DeletePrinter
DeletePrinterConnectionW
DeleteProcThreadAttributeList
DeleteReason
DeleteScenarioInfo
DeleteScenarioStateModel
DeleteScheduleTasks
DeleteService
                                delete ' Still referencing v3 of WindowsBase for SxS compatibility. The regkey is not versioned. '
?DeleteString@WString@@AEAAXPEAG@Z
DeleteTask
DeleteTimerQueue
DeleteTimerQueueEx
DeleteTimerQueueTimer
DeleteTimerQueueTimer failed
DeleteTraceProfile
DeleteTransition
DeleteTrigger
?DeleteValue@CRegistry@@QEAAJPEBG@Z
DeleteVolumeMountPointW
DeleteVssSnapshots
Deleting live kernel dumps failed
deleting object with non-zero refCount
DelNodeRunDLL32
DemographicInformation
DEncodedCertBlob
deniedCount
denormBehaviorIndependence
DenyDeleteSharing
DenyReadSharing
denyReason
DenyUnthrottle
DenyUpdate
DenyWriteSharing
dependencies
DependencyMissing
dependencyName
dependencyOperationName
dependencyOperationVersion
dependencyType
dependent texture read chain cannot exceed 1 in ps_1_4
DeployAgent.dll
__DEPRECATED__SchemaRequests
DEPTHBIAS
depthBiasClamp
depthBounds
depthClamp
depthClipControl
depthClipEnable
DEPTH must be a scalar
dereference
DeregisterEventSource
DeregisterShellHookWindow
DeriveAppContainerSidFromAppContainerName
DeriveCapabilitySidsFromName
DES3_CFB64
DES3_OFB64
Descendants
DES_CFB64
		"desc": "JSON configuration file describing GPU 
description
Description
    [Description ("Enable Flags") : amended
 DescriptionW
descriptorBindingAccelerationStructureUpdateAfterBind
descriptorBindingInlineUniformBlockUpdateAfterBind
descriptorBindingPartiallyBound
descriptorBindingSampledImageUpdateAfterBind
descriptorBindingStorageBufferUpdateAfterBind
descriptorBindingStorageImageUpdateAfterBind
descriptorBindingStorageTexelBufferUpdateAfterBind
descriptorBindingUniformBufferUpdateAfterBind
descriptorBindingUniformTexelBufferUpdateAfterBind
descriptorBindingUpdateUnusedWhilePending
descriptorBindingVariableDescriptorCount
descriptorIndexing
Designated
desiredExpiring
desiredStorageTierClass
desiredTracking
desiredTrackingBehavior
desiredTrackingState
desireOrientationProcessIds
desireOrientationProcessNames
desireOrientationRpcInterfaceTypes
desirePositionProcessIds
desirePositionProcessNames
desirePositionRpcInterfaceTypes
desktopScaleFactor
DES_OFB64
DESTALPHA
DESTBLEND
DESTBLENDALPHA
DESTCOLOR
destination
destination address required
destination_address_required
Destination Advertisement Object
Destination Advertisement Object Ack
destination link-address
Destination STA is not present within this QBSS.
destination unreachable
DestinationW
DESTLISTTYPE
destprefix
DestroyAcceleratorTable
DestroyComRegDBWriter
DestroyConfigWriter
?DestroyCP@TaskPage@DirectUI@@EEAAXXZ
DestroyCursor
DestroyDisplayControlObjects
DestroyDisplayControlObjects failed
?Destroy@DUIXmlParser@DirectUI@@QEAAXXZ
?Destroy@Element@DirectUI@@QEAAJ_N@Z
DestroyEnvironmentBlock
DestroyIcon
DestroyInteractionContext
?Destroy@Layout@DirectUI@@QEAAXXZ
DestroyMenu
?Destroy@NativeHWNDHost@DirectUI@@QEAAXXZ
DestroyPendingDCVisuals
DestroyPropertySheetPage
DestroySplashWindows
DestroyThread failed
DestroyWindow
?DestroyWindow@NativeHWNDHost@DirectUI@@QEAAXXZ
?Detach@CVdsWmiVariantObjectArrayEnum@@QEAAJXZ
DetachGadgetVisuals
DetachVirtualDisk
DetachWndProc
DetailedHR
_DetailsInsertListView
DetectEdgeDataLossActivity
	Detection
DetectionActivity
detectionBlockingPolicy
detectionBlockreason
detectionDetails
detectionRetryMode
detectorAllowed
DetectorExecutionBitmap
DetectorFormExecution
DetectorFormSkipped
DetectorFormulaEvaluateFailed
DetectorFormulaExecuteActionFailed
DetectorFormulaExecuteElseActionFailed
DetectorPing
DetectorProcessEnd
DetectorProcessStart
DetectorVersion
detectorVersionFromXml
determinant
?DeterminateProp@ModernProgressBar@DirectUI@@SAPEBUPropertyInfo@2@XZ
DetermineFromRegistry
DetermineSubCAIdentity
DevCloseObjectQuery
DevCreateObjectQuery
DevCreateObjectQueryFromId
DeveloperModePage_CreateInstance
DevFindProperty
DevFreeObjectProperties
DevFreeObjects
DevGetObjectProperties
DevGetObjectPropertiesEx
DevGetObjects
DevHealthMon
deviceassociation.dll
Device cannot be null
deviceclass
DeviceClass
DeviceConnectivityAndConfiguration
deviceCount
DeviceDiscoveryUnpairAllDevicesPage_CreateInstance
DeviceEncryptionPage_CreateInstance
DeviceFamilyHolographic
DeviceFaultCount
Device full
DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_LOCAL_MULTI_DEVICE_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_REMOTE_BIT_KHR
DEVICE_GROUP_PRESENT_MODE_SUM_BIT_KHR
Device Groups
deviceGuids
deviceHandle
DeviceHandle
deviceID
DeviceId
Device-ID
DeviceID
Device-ID TLV
DeviceIdToRestoreFrom
deviceInfoData
DeviceInfoData
deviceInfoSet
DeviceInfoSet
[Device Install Log]
DeviceInstance
DeviceInstanceId
DeviceInterface
deviceInterfaceData
deviceInterfaceDetailData
deviceInterfaceDetailDataSize
DeviceInterfaceId
deviceInterfacePath
DeviceIoControl
DeviceIoControl failure: CopyFromMemory
DeviceIoControl failure: DereferenceDeviceObject
DeviceIoControl failure: DereferenceDriverObject
DeviceIoControl failure: DereferenceProcess
DeviceIoControl failure: DereferenceThread
DeviceIoControl failure: FreezeThread
DeviceIoControl failure: GetKernelFieldInfo
DeviceIoControl failure: GetNextProcess
DeviceIoControl failure: GetNextThread
DeviceIoControl failure: GetProcess
DeviceIoControl failure: MapFile
DeviceIoControl failure: MapVirtualAddress
DeviceIoControl failure: PurgeReferences
DeviceIoControl failure: ReferenceDeviceObject
DeviceIoControl failure: ReferenceDriverObject
DeviceIoControl failure: ThawThread
DeviceIoControl failure: UnmapFile
DeviceIoControl failure: UnMapVirtualAddress
DeviceIoControl on InitializeAgent
DeviceKind
deviceLUID
deviceLUIDValid
deviceMemoryReport
deviceName
Device Name TLV
deviceNodeMask
Device object not associated with device stack
deviceObjectPointer should not be NULL
device or resource busy
devicePasswordlessVersion
DevicePath
DevicePortalAuthenticationPage_CreateInstance
DevicePortalSetAuthenticationPage_CreateInstance
DevicePowerClose
DevicePowerEnumDevices
DevicePowerOpen
DevicePowerSetDeviceState
DeviceProperties
Device Properties and Extensions
deviceScaleFactor
Device stack depth can't be 0
deviceStack should not be NULL
DeviceStatisticsFlagsSupported
DeviceStatisticsFlagsValid
DeviceTicket
DeviceTrustRefreshed
deviceType
deviceUUID
deviceWokeUp
DevInfoHandle
DevmodeType
devnode process is still loaded
DevObjChangeState
DevObjClassNameFromGuid
DevObjCreateDeviceInfoList
DevObjDeleteDevice
DevObjDeleteDeviceInfo
DevObjDestroyDeviceInfoList
devobj.dll
DEVOBJ.dll
DevObjEnumDeviceInfo
DevObjEnumDeviceInterfaces
DevObjGetClassDevs
DevObjGetDeviceInfoListDetail
DevObjGetDeviceInstanceId
DevObjGetDeviceInterfaceDetail
DevObjGetDeviceProperty
DevObjGetDeviceRegistryProperty
DevObjOpenDeviceInfo
DevObjOpenDevRegKey
DevObjUninstallDevice
devplatMain.Initialize failed
DevTrace
DfDfffff
DfDfKfpffff
DfDifpfD
??_DFileStream@UnBCL@@QEAAXXZ
'D'fKDKDf
dGlEk1;X
DGQSuwwdNBK
	D;G t#H
DH9Q(wFH
DHresultCode
dHxVUXWV
DiagDataType
Diagnose
DiagnoseOnly
DiagnoseVolumeComplete
DiagnoseVolumeStart
DiagnosticDataBuffer
DIAGNOSTIC_DATA_BUFFER_DEFAULT_BYTES
DiagnosticsFeedback
Diag_TaskMgr_EndTask
Diag_TaskMgr_EndTask_FromDetails
Diag_TaskMgr_EndTask_FromSmallView
Diag_Taskmgr_Launch
diagtrackCancelScenarioId
diagtrackScenarioId
diagtrackStartScenarioId
diagtrackStopScenarioId
DialogBoxIndirectParamA
DialogBoxParamW
DictationManagerHost create succeeded
DictationManagerHost initialize succeeded
DictationManagerHost::WorkerThreadProc enter
dictsize
DidAppSurviveOSUpgradeForUser
Didn't get any modes
DI_DO_DEFAULT
DiffCompressed
different
diffOffset
DIFFUSEMATERIALSOURCE
DIGCF_ALLCLASSES
DIGCF_DEFAULT
DIGCF_DEVICEINTERFACE
DIGCF_PRESENT
DIGCF_PROFILE
digestPath
DigiCert Assured ID Root CA0
DigiCert Inc1
(DigiCert SHA2 Assured ID Timestamping CA
(DigiCert SHA2 Assured ID Timestamping CA0
DigiCert Timestamp 20210
DigiCert Timestamp 2022 - 20
DigiCert Trusted Root G40
DiInstallDevice
DiInstallDriverW
dimension of conditional does not match value
DIRECT3D
Direct3DCreate9
Direct3DCreate9Ex
Direct3DShaderValidatorCreate9
DIRECT3D_VERSION
DirectFsProvider.Allocate()
DIRECTIONAL
Direct Link is not allowed in the BSS by policy
directory
Directory
DirectoryInfo
DirectoryIsFileIsOk
DirectoryMissing
DirectoryMissingIsOk
DirectoryName
directory not empty
DirectoryNotEmpty
DirectoryNotEmptyIsOk
DirectoryWasMissing
DirectoryWatcherDestroy
DirectoryWatcherEvent
DirectoryWatcherStart
DirectRegProvider.Allocate()
DirectUserProvider.Allocate()
dirResourceFile
_DirSizeRecursive
DirsToDelete.Allocate(10)
DisableAnimations
DisableAntiMalware
?DisableBreakHandling@KEYBOARD@@SAEXZ
Disable cbs trace failed
DisableContainerHwnd
disable-copyfile
Disabled
DisabledViaTestHook
DISABLEELAMDRIVERS
DisableEnableSchedule
DISABLE_INTEGRITY_CHECKS
_DisableJob
?DisableLineMode@KEYBOARD@@QEAAEXZ
	-disablepagingexecutive	 - Change the Disable Paging Executive settings
	Disable Paging Executive settings were successfully turned off.
	Disable Paging Executive settings were successfully turned on.
	-disableperiodicsnapshot - Disable Periodic Snapshot for all process
	Disable Periodic Snapshot for all process specified at -enableperiodicsnapshot
DisableStackVerification
DisableThreadLibraryCalls
DisableUserPage_CreateInstance
Disabling MoReport as Update result failed
?DisallowCancel@CVdsAsyncObjectBase@@QEAAXXZ
DISALLOWMMCONFIG
DisallowQueuing
DisassociateAepFinished
DisassociateCurrentThreadFromCallback
Disassociated because AP is unable to handle all currently  associated stations
Disassociated because QoS AP lacks sufficient bandwidth for this QoS STA
Disassociated because sending station is leaving (or has left) BSS
Disassociated because STA is transmitting outside the limits of its TXOPs
Disassociated because the information in the Power Capability element is unacceptable
Disassociated because the information in the SupportedChannels element is unacceptable
Disassociated due to inactivity
Disassociation
Disconnect
DisconnectCode
Disconnected child LM
disconnectInstead
DisconnectNamedPipe
DisconnectTimeoutInMilliseconds
DisconnectWorkspaceByFriendlyName failed
DisconnectWorkspace failed
DISCRETE
discreteQueuePriorities
DiskAverageIOTime
	diskClustersFree
DiskDecayingAverage
DiskLatency95P
DiskLatencyMax
DiskListMarkClusteredDisks( m_pDiskListHead )
DiskListMarkClusteredDisks( pDiskListHead )
DiskListMarkOfflineDisks( m_pDiskListHead )
DiskListMarkOfflineDisks( pDiskListHead )
DiskPerfData
DiskProfilerThreadProc ::Disk Profile could not be completed - ERROR_INTERFERENCE_FROM_DRIVER 
DiskReliabilityCounters
DiskResponsive
DiskSumNormalizedSquares
DiskToFlashMovementTable
DiskType
DismApi.DLL
DismCloseSession
DismDelete
Dism.exe returned: ERROR_SUCCESS_REBOOT_REQUIRED
DismFODInstall
_DismGetProvisionedAppxPackages
DismInitialize
DismissAssessment
dismissed
DismissWorkspaceResource
DismOpenSession
Dismount
DismountFailed
DismountReason
DispatchAsyncCall failed
DispatchAsyncCall OnCaretBlinkOrderThreadWorker failed
DispatchAsyncCall OnDisconnected failed
DispatchAsyncCall OnNotifyLogoffParameterChange failed
DispatchAsyncCall OnShellNotifyEvent failed
DispatchAsyncCall OnWindowOrderExecThreadWorker failed
DispatchAsyncCallWithBuffer(HandleInputEventPduThreadWorker) failed!
DispatchAsyncCallWithParam failed
DispatchAsyncCallWithParam(OnChannelOpenedThreadWorker) failed!
DispatcherCallback
DispatchMessageA
DispatchMessageW
DispatchPdu failed!
DispatchSyncCall failed
displayBindingValid
displayCalibrationDeviceInterfacePath
DisplayConfigSetDeviceInfo
displayDriverInfo
DisplayDriverInfo
displayGuid
DisplayHandlerDriverError
DisplayHandlerGetDisplays
DisplayHandler_MonitorRepublishedWithDifferentDefinition
DisplayHandlerPrimaryAdapterIdDifferent
DisplayHandlerPrimaryAdapterIdSet
DisplayHandler_SetMonitors
DisplayHandler_SetMonitors_Details
DisplayHandlerSkipDisplay
displayHasDriverErrors
displayId
displayInformation should only be null when in authoring mode where there is no CoreWindow.
			display: inline;
			display: inline-block;
DisplayMessageAndExitWindows
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@PEADZZ
?DisplayMessage@PROGRAM@@UEBAEKW4MESSAGE_TYPE@@@Z
?Display@MESSAGE@@QEAAEPEBDZZ
DisplayName
DisplayNeeded
displayNeededReason
			display: none;
displayRequestActive
	Displays details about a set of profiles
	Displays information about providers
_DisplayStatus
	Displays the status of the active WPR recording
    Displays this message:
DisplaySYSDMCPL
?DisplaySystemError@SYSTEM@@SAXKH@Z
disposed
?Dispose@FileStream@UnBCL@@UEAAXXZ
?Dispose@MemoryStream@UnBCL@@UEAAXXZ
disposing
Disposition
DIssuerCommonName
distance
DistanceToAnchorSquared
DITHERENABLE
DiUninstallDevice
division by zero
division by zero in preprocessor expression
dIVssAdminExWL
DL'408dX	
|dldddfFg
DllCanUnloadNow
DllEnumerateClasses
DllGetActivationFactory
DllGetClassObject
DllGetVersion
DllImport
DllImportSearchPath
DllInstall
DllManager::LoadModule needs valid path.
__dllonexit
__dllonexit3
DllRegisterServer
DllRegisterServerEx
DllRegisterServerExW
DllUnregisterServer
?d@Log@UDC@@QEAAXPEBGZZ
DlO'IPSw
"""d'LuC
DMAPOFFSET
DMCmnUtils.dll
dmcommandlineutils.dll
DMCSP_DevDetail_GetFwV
DMCSP_DevDetail_GetSwV
??_DMemoryStream@UnBCL@@QEAAXXZ
dmEnrollEngine.DLL
_DMID9	u
dmiso8601utils.dll
dm_lSnapshotAttributesWWW 
dm_lSnapshotAttributesWWWx
D!moD!mwH
DMOleAutUtils.dll
Dm_SubNode.m_HostGuid should not be NULL if LoadRegistrySettings succeeds
??_DMultiSz@UnBCL@@QEAAXXZ
dNCLinkFingerprint::Load
DNSAPI.dll
DnsFreeNrptRule
DnsFreeNrptRuleNamesList
DnsGetNrptRuleNamesList
DNS name
DNSPolicy
DnsQuery_W
DnsRemoveNrptRule
DNSResiliencyCheck
DNS-search-list
DNS-server
DnsSetNrptRules
DnsValidateName_W
dnzzqqmhcd
DoBootActivities
DoBootActivities failed
DockStyle
DoConversionWorker failed!
DoCoreUpload
DoCoreUpload failed
DoCrashCleanup
DOCSIS Spanning Tree
#document
documentEventHandler
DocumentId
DocumentProperties failed
DocumentPropertiesW
DODAG Information Object
DODAG Information Solicitation
Does Default Account Exist
?DoesKeyExists@CRegUtil@UDC@@SAHPEAUHKEY__@@PEBG@Z
?DoesNodeMatch@FSN_FILTER@@QEAAEPEAVFSNODE@@@Z
) does not support the VK_KHR_portability_subset extension.
DoesServiceExist
DoFirstShellInitialization failed
DoFirstShellInitializationInternal failed
DoInfInstall
DOI-NOT-SUPPORTED
?DoInvokeArgs@ElementProvider@DirectUI@@QEAAJHP6APEAVProviderProxy@2@PEAVElement@2@@ZPEAD@Z
?DoInvoke@ElementProvider@DirectUI@@IEAAJHZZ
DOMAIN error
	Domain name: 
Domain TLV
?DoMethod@ElementProxy@DirectUI@@UEAAJHPEAD@Z
?Done@Environment@UnBCL@@SAJXZ
?Done@String@UnBCL@@SAXXZ
DontCompressInPackage
DontFailIfNotFound
DontPoolErrorTagOverride
DontPoolHwIdOverride
DontPoolSoftOverride
Dooo'MMM
?DoParsing@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
??_DOperatingSystem@UnBCL@@QEAAXXZ
DOQPSjfa
DoQueueReporting
DoQueueReporting failed
_DoRestore
_DoRestoreWizard
_DoRunOnce
_DoRunOnceSpawn
DosDateTimeToFileTime
?DosDriveNameToNtDriveName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@@Z
_DoSystemRestore
Dot11ExtIhvAdapterReset
Dot11ExtIhvControl
Dot11ExtIhvCreateDiscoveryProfiles
Dot11ExtIhvDeinitAdapter
Dot11ExtIhvDeinitService
Dot11ExtIhvGetVersionInfo
Dot11ExtIhvInitAdapter
Dot11ExtIhvInitService
Dot11ExtIhvInitVirtualStation
Dot11ExtIhvIsUIRequestPending
Dot11ExtIhvOnexIndicateResult
Dot11ExtIhvPerformCapabilityMatch
Dot11ExtIhvPerformPostAssociate
Dot11ExtIhvPerformPreAssociate
Dot11ExtIhvProcessSessionChange
Dot11ExtIhvProcessUIResponse
Dot11ExtIhvQueryUIRequest
Dot11ExtIhvReceiveIndication
Dot11ExtIhvReceivePacket
Dot11ExtIhvSendPacketCompletion
Dot11ExtIhvStopPostAssociate
Dot11ExtIhvValidateProfile
DOTPRODUCT3
DoubleArrayProperty
?DoubleBuffered@Element@DirectUI@@QEAAX_N@Z
DoubleNullTerminateString failed!
DoubleProperty
double_value
?Downgrade@CRtlSharedLock@@AEAAXXZ
download
	Download
Download
DownloadActivity
DownloadAndInstallPackageRequest
Download Bits Job: Started download
downloadCountAtWaitEnd
downloadCountAtWaitStart
downloadElapsedTime
Download finished
downloadJobId
DownloadManager
downloadResult
downloadRiskLevel
downloadSyncAttempts
Download timed out
DownloadType
downloadUpdateList
DownloadUpdatesActivity
downloadUrl
D	oXM96u
(DP5ZLr	
DPA_Create
DPA_DeleteAllPtrs
DPA_DeletePtr
DPA_Destroy
DPA_DestroyCallback
DPA_GetPtr
DPA_InsertPtr
DPAPI.dll
dpbstrPathWWW
Dp@g5	u(
D!!!pQQQ
DpxNewJob
dQJ	5HBT
)DQT4ECQ
DragQueryFileW
DrawEdge
DrawFocusRect
DrawFrameControl
DrawIcon
DrawIconEx
drawIndirectCount
drawIndirectFirstInstance
DrawMenuBar
DrawTextW
DrawThemeBackground
DrawThemeBackgroundEx
DrawThemeParentBackground
DrawThemeParentBackgroundEx
DrawThemeText
DrawThemeTextEx
.dRemoveWorkspaceResourceW
DriveExistsW
DriveInfo
DriveLetterW
Driver at this slot did not add a device to the stack.  Should not call VerifyAndAssignPTM in that case
DriverBinaryName
Driver cannot be null
driverClientLifetimeId
DriverDiagData
DriverDiagDataList
DriverDiagXml
DriverFileList
driverID
DRIVER_ID_AMD_OPEN_SOURCE
DRIVER_ID_AMD_PROPRIETARY
DRIVER_ID_ARM_PROPRIETARY
DRIVER_ID_BROADCOM_PROPRIETARY
DRIVER_ID_COREAVI_PROPRIETARY
DRIVER_ID_GGP_PROPRIETARY
DRIVER_ID_GOOGLE_SWIFTSHADER
DRIVER_ID_IMAGINATION_PROPRIETARY
DRIVER_ID_INTEL_OPEN_SOURCE_MESA
DRIVER_ID_INTEL_PROPRIETARY_WINDOWS
DRIVER_ID_JUICE_PROPRIETARY
DRIVER_ID_MESA_LLVMPIPE
DRIVER_ID_MESA_PANVK
DRIVER_ID_MESA_RADV
DRIVER_ID_MESA_TURNIP
DRIVER_ID_MESA_V3DV
DRIVER_ID_MESA_VENUS
DRIVER_ID_MOLTENVK
DRIVER_ID_NVIDIA_PROPRIETARY
DRIVER_ID_QUALCOMM_PROPRIETARY
DRIVER_ID_SAMSUNG_PROPRIETARY
DRIVER_ID_VERISILICON_PROPRIETARY
driverInfo
Driver is not using correct CLSID
Driver is not WDDM 1.1 or WDDM 1.2; aborting DX10 assessment.
Driver is not WDDM; aborting assessment.
driverModuleInfo should not be NULL
driverName
DriverName
driverName should not be NULL
DriverObjectLoad data length does not match expected
DriverObjectUnload data length does not match expected
DriverRunAssessmentEnd
DriverRunAssessmentStart
DriverStatus
DriverStoreClose
DriverStoreCopyW
DriverStoreEnumDeviceDriversW
DriverStoreEnumW
DriverStoreFindW
DriverStoreGetObjectProperty for DEVPKEY_DriverPackage_ClassGuid failed
DriverStoreGetObjectProperty for DEVPKEY_DriverPackage_DriverDate failed
DriverStoreGetObjectProperty for DEVPKEY_DriverPackage_DriverFlightIds failed
DriverStoreGetObjectPropertyW
DriverStoreOfflineAddDriverPackageW
DriverStoreOpenW
DriverStoreSetLogContext
DriverUpcall
driverUUID
driverVersion
DriverVersion
DriveSpecWWW
DrivesWW
drive_type
_driveType
@DriveTypeConstWW
DriveTypeWWW
DriveWWW
drmFormatModifier
drmFormatModifierCount
drmFormatModifierPlaneCount
drmFormatModifierTilingFeatures
DRMIsWindowProtected
_dropAccessPermissionsToTraceProvider: Failed to create key
_dropAccessPermissionsToTraceProvider: Failed to set value
DropAllExceptIpAddress
DropOnlyUserIdentifiers
DropPiiField
DrvMgrDeviceArrival
DrvMgrDeviceFailed
DrvMgrDeviceFailedInPool
DrvMgrLpcNotification::DrvMgrWorkerThread
DrvMgrLpcNotification::MarkForDelete
DrvMgrLpcNotification::Message
DrvMgrLpcNotification::PortIsConnected
DrvMgrStartFailure
DrvPopulateFilterServices
DrvSetupInstallDriver
drvstore.dll
dSbSbbSbbSbbSbS
DsCrackNamesW
dSdISS*dbdSdbSSbSSbdbbbdbbSbbS
dSdS*dbSdbS
dSdSdIdddISdbdbdbSSbSSbSb
dSdSISdSSSISSSdbdbSSbSbSIbdb
DsFreeDomainControllerInfoW
DsFreeNameResultW
DsGetDcNameW
DsGetDcNameWithAccountW
DsGetDomainControllerInfoW
dSISdSSbSSbbbSbS
DslLogPageReader
DsrCanCurrentUserProvisionNgcKey
DsrCanCurrentUserResetNgcKey
dsreg.dll
DSREPAIR
DsrFreeCxhScenarioInfo
DsrFreeJoinInfo
DsrGetCurrentUserNgcProvisionStatus
DsrGetCxhScenarioInfo
DsrGetJoinInfo
DsrIsDeviceJoined
DSROLE.dll
DsRoleFreeMemory
DsRoleGetPrimaryDomainInformation
dSSbSbSbISISbSbbb
dS*SSbSbSbSbSbSbSLSbbbSbSbbbSbSbbSbLbLbLbLbLbbLbWLWLWLWLWLWLWL
dSSSSSdSdSdSISSISbbbSbISbbbbSbbbb
??_DStringPtr@UnBCL@@QEAAXXZ
DstTransitionRule
DsUnBindW
DsWriteAccountSpnW
!DS)YWJ6
dtCurrent
dtDaylightDate
DTP type TLV
dtSyncUtc
DTUCompletedWhenWuFlightPendingCommit
DTUEnabled
dtuErrorCode
DTUInitiated
D!u0L!u@3
DualPropertyFilter
dualSrcBlend
DUI70.dll
DuiCreateObject
?DUICreatePropertySheetPage@TaskPage@DirectUI@@QEAAJPEAUHINSTANCE__@@@Z
DUI_GetElementBounds
DUI_GetElementScreenBounds
DUIParserHelper::Reload
DUIRemoveSubscriptionDialogModal in SetupWorkspaceConfigThread failed
DUI_SetElementStringProperty
DUI_SetElementTextAndAccName
DUISubscribeWizardModal Failed
DUISubscribeWizardModal in SetupWorkspaceConfigThread failed
D!u L!u8D!u0H
?Dump@Allocator@UnBCL@@SAIPEAUILogHandler@@I@Z
DumpCollectionStatus
?DumpDelta@Allocator@UnBCL@@SAIPEAUILogHandler@@I@Z
?DumpDelta@HeapMemoryManager@UnBCL@@UEAAIPEAUILogHandler@@@Z
	DumpFileAttributes
DumpFileSize
?Dump@HeapMemoryManager@UnBCL@@UEAAIPEAUILogHandler@@@Z
Dump not present or invalid
DumpType
??_DUnicodeEncoding@UnBCL@@QEAAXXZ
DuplicateExec StringCbLength failed
DuplicateExec StringCchCatW failed
DuplicateExec StringCchCopyW failed
DuplicateHandle
DuplicateIcon
DuplicateToken
DuplicateTokenEx
duplicate usages specified
Duration
durationInMins
durationInMs
DurationInMs
durationInSeconds
DUser.dll
DUserFlushDeferredMessages
DUserFlushMessages
DUserPostEvent
DUserSendEvent
DUserStopPVLAnimation
??_DVersion@UnBCL@@QEAAXXZ
D[-VYVhR
DW7_Reserved
dwCookieConnectionWW 
dwCookieState
dwCreationDisposition
dwDesiredAccess
DwEnumEntryDetails
dwErrorCodeW
dwFlagsAndAttributes
dwIoControlCode
dwIoctlLastError
dwLastError
dwmapi.dll
DwmEnableComposition
DwmGetWindowAttribute
DwmGetWindowAttribute failed
DwmIsCompositionEnabled
dwMoveMethod
DwmpCreateSessionProcess
DwmpGetColorizationParameters failed
DwmpIsInitialSessionInteractive
DwmpNotifyUserLogoff
DwmpNotifyUserLogon
DwmpRestartComposition
DwmpSetColorizationParameters
DwmpTerminateSessionProcess
DwmQueryThumbnailSourceSize
DwmRegisterThumbnail
DwmRenderGesture
DwmSetWindowAttribute
DwmSetWindowAttribute (DWMWA_CLOAK) failed
DwmTetherContact
DwmUnregisterThumbnail
DwmUpdateThumbnailProperties
dwNotifyFilter
DwordArgument
DwordExpr
dwProcessId
DwRasUninitialize
dwReason
dwRetLockScreenDismiss
dwRetLockScreenInit
DWriteCreateFactory
dwShareMode
dwStatus
dwTimeout
dwWaitReturn
DXCoreCreateAdapterFactory
dxcore.dll
DXGIDeclareAdapterRemovalSupport
dxgi.dll
DXGIReportAdapterConfiguration
Dying - An unknown handle was signaled in the watch dog thread
Dying - An unxpected timtout occurred in the watch dog thread
Dying - Cannot cancel the assessment watch dog timer
Dying - Cannot set the assessment watch dog timer
Dying - Cannot wait in the watch dog thread
Dying - Invalid value for short watch dog timer
Dying - Main watch dog timer triggred.  Killing this process
Dying - Short Watch dog times triggered
Dying - The watch dog wait had an unexpected APC
Dying - The watch dog wait was abandoned
Dynamic Capability
dynamic_cast
DynamicDaylightTimeDisabled
DynamicDescriptionsW
DynamicDstTransform
DynamicExtensionsWWW
dynamicNodeId
dynamicRendering
DYNAMIC_TIME_ZONE_INFORMATION
DynamicValuesWWW
Dynamic Virtual Channel failed to open!
-dzC7[P6
E09PHveI
E0E0E0U0h0hh
E0H9P(s3A
)E0IcAXH
E.164 with NSAP subaddress
e"|"|4BJ
]e'#7o0;
E81u4A;q
E81u;A;q
E899a99:ZnnnZ
E8H9H(s	
__;E?9#"
E9d. v.I
E@9EPt[H
E9nhvFHc
EAAAr...
E_ACCESSDENIED
   Each of these strings can stand alone as the key name or be followed
	Each profile can define both light and verbose variants or just one of the two.
EaCreateAggregatedEvent
EACreateAggregateEvent
EaDeleteAggregatedEvent
EADeleteAggregateEvent
EaFreeAggregatedEventParameters
E(A;F(wq
EaQueryAggregatedEventParameters
EAQueryAggregateEventData
Early exit in service shutdown
EaseOfAccessToggleSwitchOn
EB0L9J8L
EB(L9J0H
ebRendezvousW
ebstrCmdLineW
EcDeleteSubscription
EcEnumNextSubscription
EcGetObjectArrayProperty
EcGetObjectArraySize
EcGetSubscriptionProperty
EcGetSubscriptionRunTimeStatus
eChannel
echo done.
Echo message
@echo off
echo reply
echoreply
echo request
Echo-request-option
echo Saving trace and roamdiag
Echo TLV
EcInsertObjectArrayElement
:E'CkF	W
ecn_incapable
EcOpenSubscription
EcOpenSubscriptionEnum
EcQuickConfig
EcRemoveObjectArrayElement
EcRetrySubscription
EcSaveSubscription
ECS ELIN
	    ECS ELIN id 
EcSetObjectArrayProperty
EcSetSubscriptionProperty
E D9pPuUD8s
e@ddddddd
EditorBrowsableAttribute
EditorBrowsableState
EditUserPage_CreateInstance
EditWithPaint3DClicked
EDKKKKNKLNK
EdpFreeContext
EdpGetContextForProcess
EdpGetIsManaged
EdpGetPrimaryIdentities
EdpManaged
EdpProtected
EdpQueryCredServiceInfo
EdpRevoked
EDPSoftReset
EDPStatus
....eDXnnnnnnnnnnnn3
E(E9opvWI
e!ee!e_eee!
_e!_eeeee_ee-e
e!eeeeeee_e_e-e_e
e!ee!eeee_ee_eee9e9ek-ke9e9--_
e!e!eeeeeee_eeeee-ee-eeeSjF
eeeeeeeeeeeeeZ
e!eeeeeee_ee_eN_e-eeN-k
e!!ee!eee_ee!e!_ee!S8)
eeeeeeeeeek-ee
!eeeeeeeeee!S8F
e!e!e!e!ee_!e!eeS8F
ee!e_eeeeekee-_
!!!!e_!ee_ee_eeeN_
e_eee_eeeeNe
eeeeeeeN_eee-_
ee!eeeeeNeeee!-eee-e-_-NeS8)
_ee!e_e_eeeNee-_e-ke9eN9e9
!!e!eeeeeke_ee_-ee_
eeeeeeNee-e_e_eee9e9eN9e
eee-e_eNe-e-_-eeS8F
EEELDDD3DDD
EEHandler
eeHH;:?9  AoR
EeUtilCommand
EFFET JURIDIQUE. Le pr
_EFh7:8so
EfiGetMemoryAttributesTable
EFI PART
EFSADU.dll
EfsUIUtilCheckScardStatus
EfsUIUtilCreateSelfSignedCertificate
EfsUIUtilEnrollEfsCertificateEx
EfsUIUtilPromptForPinDialog
EfsUtilApplyGroupPolicy
EfsUtilCheckCurrentKeyCapabilities
EFSUTIL.dll
EfsUtilGetCertContextFromCertHash
EfsUtilGetCurrentKey
EfsUtilGetCurrentUserInformation
EfsUtilGetSmartcardProviderName
efswrt.dll
EGE@@@@@@@@
EGetWorkspacesWWW
EGL9M@tMH
EG(L9w H
E H9K@t3H
E_HANDLE
EHD90u;H
e!_Hee_-S8F
E?H;G8u	3
eHH;?9# 
EHMKMM_NNNNN
eHNAUslY
E@H;pxu]M
EhStorShell.dll
EHXL9JXL
)E@IcAhH
)E IcAXH
E_INVALIDARG
E;]krwjL-
elapsed-time
elapsed_time
ElementAt
?ElementAt@CHPtrArray@@QEAAAEAPEAXH@Z
?ElementAt@CHStringArray@@QEAAAEAVCHString@@H@Z
ELEMENTINDEX
elements
Elements
elevated
ElevatedUser
EligibleToRelaunchPostponedScoobeSession
?e@Log@UDC@@QEAAXPEBGZZ
elREcHk*u
    ) else (
) else (
EmailSent
Embedded
Emergency
EMISSIVEMATERIALSOURCE
EMoveMethod
emppmwszCriticalVolumes
?Empty@CFlexArray@@QEAAXXZ
?Empty@CHString@@QEAAXXZ
EmptyClipboard
?Empty@CVar@@QEAAXXZ
EmptyIdentityOnCentennialPushRequest
Empty list
Empty path was found for the live kernel location
EmptyProperty
Empty signscope field
EmptyStructuredState
)::::EMT
ENABLEADAPTIVETESSELLATION
EnableAnimations
EnableAntiMalware
?EnableBreakHandling@KEYBOARD@@SAEXZ
Enable cbs trace failed
EnableCoreUIIntegration
EnableDebugPrivilege
?EnableDelayedDeallocation@Allocator@UnBCL@@QEAAXH@Z
?EnableDelayedDeallocation@HeapMemoryManager@UnBCL@@UEAAXH@Z
EnabledFeatureUsage
EnableDisableElevationForSessionWorker
EnableEnterpriseAttribution
EnableInputProcessing failed!
EnableJetMultiInstance
_EnableJob
?EnableLineMode@KEYBOARD@@QEAAEXZ
EnableMenuItem
EnableMouseInPointer
EnableNonClientDpiScaling
	-enableperiodicsnapshot	 - Enable Periodic Snapshot for the specified interval and given process id
EnablePrivilege
EnablePrivileges
EnablePrivilegesInProcess
EnableRadar
EnableScrollBar
	Enables or disables heap tracing for a specific process or store application
	Enables or disables the ability to capture a periodic snapshot for a specific process
EnableTrace
EnableTraceEx
EnableTraceEx2
Enable trace failed
EnableUserPage_CreateInstance
EnableWindow
Enabling
Enabling clipboard support failed!
Enabling EVENT_TRACE_FLAG_DISK_IO_INIT - Verbose Mode
Enabling EVENT_TRACE_FLAG_IMAGE_LOAD | EVENT_TRACE_FLAG_THREAD | EVENT_TRACE_FLAG_PROCESS
Enabling EVENT_TRACE_FLAG_PROFILE
Enabling IO_INIT stack tracing
EnclaveControllerShim::CallEnclave
EnclaveControllerShim::Initialize
EnclaveControllerVsm::CallEnclave
EnclaveControllerVsm::Initialize
EnclaveError
EnclaveEvent
EnclaveFailure
EnclaveInfo
EnclaveInfoImportant
EnclaveInitialization
EnclaveMeasurement
EnclaveSize
EnclaveSvn
EnclaveWarning
enc mode
EncodeBase64W
EncodedCertBlob
EncodeFileName failed!
EncodeFormatNames failed.
EncodeHdrop failed!
EncodeMetaFile failed!
EncodePalette failed!
EncodePointer
EncodePropertyFailed
encoder.CoCreateInstance failed
Encoding
EncryptDumpFile
EncryptDumpStream
EncryptFileW
EndAllSgrmSessions: ending session 
EndBufferedPaint
?End@CRtlList@@QEAA?AVCRtlListIter@@XZ
?EndDefer@Element@DirectUI@@QEAAXK@Z
EndDeferWindowPos
EndDialog
EndDocPrinter
Ended all SGRM sessions
Ending One Shot based on scan limit
EndInvoke
END_KEYID
End of copying payload
end of file
End of install
end of line
EndofMediaCount
END OF RECORD
	      End-of-Rib Marker (empty NLRI)
	  End-of-Rib Marker (empty NLRI)
End of search
End of uninstall
EndPagePrinter
EndPaint
EndPanningFeedback
endpoint class 1
endpoint class 2
endpoint class 3
EndPointProvider
End progress bar marquee failed
EndSession
EndSgrmSession: ending session 
EndShareBeforeconnect
EndSharingReceived
?EndsWithDelimiter@PATH@@QEBAEXZ
?EndsWith@String@UnBCL@@QEBAHG@Z
?EndsWith@String@UnBCL@@QEBAHPEBGH@Z
EndTaskSessionGuid
EndTaskSummary
_endthread
EnergyWizard_Analyze
EnergyWizard_CancelTrace
EnergyWizard_CollectTrace
EnergyWizard_CreateEnergyWizard
EnergyWizard_DefaultTraceDuration
EnergyWizard_DestroyEnergyWizard
EnergyWizard_GetLogEntryCounts
EnergyWizard_SaveReport
EnergyWizard_SqmAnalysis
EnergyWizard_TransformReport
enforced_by_policy
EngHostAttest
EngHostCreateAttestationClient
EngHostDestroyAttestationClient
EngHostDispatchThread
EngHostGetRuntimeReport
EngHostGetSessionCertificate
EngHostGetSessionReport
EngHostInitialize
EngHostNotify
EngHostReinitialize
EngHostShutdown
EngineAccountingRecord
EngineBlock
EngineBlockUntilTimeDidNotExpire
Engine: EtwEventNotify failed
EngineInitialization
EngineInitializationCompleted
EngineName
EngineReinitialization
EngineSessionID
EngineVersion
EngineWW
Enhanced
ENHANCED
Enhanced Route Refresh
E_NOINTERFACE
E_NOTIMPL
e(Not removing
?EnqueueSbRegistration@SbRegistrationList@UnBCL@@SAXPEBDHPEAUHINSTANCE__@@PEAUIInstanceFactory@2@@Z
EnrollEngineInitialize
Enrollment
enrollmentProtocol
enrollmentServerURI
Ensure Flags Match
EnsureGadgetTransInitialized
EnsureKernelQueueRegkeyExists failed
EnsureNoEdgeDataLossSuccess
EnsurePackageIsRegistered
EnsurePrerequisites
EnsureRegkeyExists failed
EnsureTracingDirectory
?EnsureVisible@Element@DirectUI@@UEAA_NHHHH@Z
EnsureWindowIsOnScreen
?Enter@CCritSec@@QEAAXXZ
EnterControllerMode
EnterCriticalSection
?Enter@Edit@DirectUI@@SA?AVUID@@XZ
Entered _tWinMain
EnterFaceAuthenticationMode
Enter function
?EnterLogOnUserMode@ImpersonateUser@@UEAAHXZ
Enter passphrase:
enterprise
EnterpriseData
EnterpriseDataGetStatus
EnterpriseDataProtect
EnterpriseProvisioning
EnterProductKeyPage_CreateInstance
?EnterSection@SyncObject@UnBCL@@IEAAXXZ
Entropy Label
EntropyPoolTriggerReseedForIum
EntropyProvideData
EntropyRegisterSource
entrypoint
EnumChildWindows
EnumDependentServicesW
EnumDesktopsW
EnumDesktopWindows
EnumDisplayDevicesW
EnumDisplayMonitors
EnumDisplayMonitors() failed
EnumDisplaySettingsExW
EnumDisplaySettingsW
Enumerable
?EnumerateAndGetValues@CRegistry@@QEAAJAEAKAEAPEAGAEAPEAE@Z
EnumerateDstTransitions
EnumerateElementsFailed
EnumerateIdentityProviders
EnumerateLoadedModulesW64
EnumerateRestoreCollections
EnumerateTables
EnumerateTraceGuidsEx
EnumerateWindowsProjectionByYear
Enumerating AutoDial addresses...
EnumerationMode
Enumerator
EnumFormsW
EnumPortsW
EnumPrinterDataExW
EnumPrinterDriversW
EnumPrinterKeyW
EnumPrintersW
EnumPrintProcessorsW
EnumProcesses
EnumProcess failed!
EnumProcessModules
?EnumPropertyInfo@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
EnumResourceLanguagesA
EnumServicesStatusExW
EnumSystemLocalesEx
EnumSystemLocalesW
EnumThreadWindows
EnumUILanguagesW
EnumUserProfilePaths
EnumWindows
EnumWindowsFunctionFullZorder failed
EnumWindowsFunctionStart failed
EnumWindows(STATIC_EnumWindowsProc) failed
EnumWindowStationsW
Environment
EnvironmentalSensor
environment.cab
EnvironmentHandler_EnvironmentCreated
EnvironmentHandler_EnvironmentsLoaded
EnvironmentId
EnvironmentManager_DeleteEnvironmentCallback
EnvironmentManager_FinishDeletingEnvironment_Finished
EnvironmentManager_FinishDeletingEnvironment_HeadTracker
EnvironmentManager_FinishDeletingEnvironment_SurfaceReconstruction
EnvironmentVariableTarget
environment.xml
Eo9E_u0D
EOD8mWtd
EoL! E!e
E_OUTOFMEMORY
EP9ELudH
EPA9ELu(H
e par la loi en vigueur.
e	pBstrRANoviceNameWWWX
EPE9F vI
!Ep!Et!EH!EhD
EpH9Ehud
EPH9UHtCH
EPI9@Pu'I
)EPIcAhH
)EpIcAxH
EPL! E!'E3
EPNAydxVUUXWWXx
E_POINTER
eProviderTypeWWW
EqualDomainSid
EqualPrefixSid
EqualRect
EqualRgn
EqualSid
?Equals@Object@UnBCL@@SAHPEBV12@0@Z
?Equals@Object@UnBCL@@UEBAHPEBV12@@Z
?Equals@SerializationId@UnBCL@@UEBAHPEBVObject@2@@Z
?Equals@String@UnBCL@@UEBAHPEBVObject@2@@Z
?Equals@Version@UnBCL@@UEBAHPEBVObject@2@@Z
?EraseBkgnd@HWNDHost@DirectUI@@MEAA_NPEAUHDC__@@PEA_J@Z
Error:  
error64.Get()
ERROR_ABANDONED_WAIT_0
ERROR_ABANDONED_WAIT_63
ERROR_ABANDON_HIBERFILE
ERROR_ABIOS_ERROR
ERROR_ACCESS_AUDIT_BY_POLICY
ERROR_ACCESS_DENIED
ERROR_ACCESS_DISABLED_BY_POLICY
ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY
ERROR_ACCESS_DISABLED_WEBBLADE
ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER
ERROR_ACCOUNT_DISABLED
ERROR_ACCOUNT_EXPIRED
ERROR_ACCOUNT_LOCKED_OUT
ERROR_ACCOUNT_RESTRICTION
ERROR_ACPI_ERROR
ERROR_ACTIVATION_COUNT_EXCEEDED
ERROR_ACTIVE_CONNECTIONS
ERROR_ADAP_HDW_ERR
ERROR_ADDRESS_ALREADY_ASSOCIATED
ERROR_ADDRESS_NOT_ASSOCIATED
ERROR_ADVANCED_INSTALLER_FAILED
ERROR_ALERTED
ERROR_ALIAS_EXISTS
ERROR_ALL_NODES_NOT_AVAILABLE
ERROR_ALLOCATE_BUCKET
ErrorAllocatingCodeTable
ErrorAllocatingSessionData
ERROR_ALLOTTED_SPACE_EXCEEDED
ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED
ERROR_ALREADY_ASSIGNED
ERROR_ALREADY_EXISTS
ERROR_ALREADY_FIBER
ERROR_ALREADY_INITIALIZED
ERROR_ALREADY_REGISTERED
ERROR_ALREADY_RUNNING_LKG
ERROR_ALREADY_THREAD
ERROR_ALREADY_WAITING
ERROR_ALREADY_WIN32
ERROR_AMBIGUOUS_SYSTEM_DEVICE
ErrorAndUsage
ERROR: another copy of winsat is already running
Error: Another instance of wusa.exe is running.
ERROR_APP_HANG
ERROR_APPHELP_BLOCK
ERROR_APP_INIT_FAILURE
ERROR_APP_WRONG_OS
ERROR_ARBITRATION_UNHANDLED
ERROR_ARENA_TRASHED
ERROR_ARITHMETIC_OVERFLOW
ERROR_ASSERTION_FAILURE
ERROR at 
ERROR_ATOMIC_LOCKS_NOT_SUPPORTED
ERROR_AUDIT_FAILED
ERROR_AUTHENTICATION_FIREWALL_FAILED
ERROR_AUTHIP_FAILURE
ERROR_AUTODATASEG_EXCEEDS_64k
ERROR_BACKUP_CONTROLLER
ERROR_BAD_ACCESSOR_FLAGS
ERROR_BAD_ARGUMENTS
ERROR_BAD_CLUSTERS
ERROR_BAD_COMMAND
ERROR_BAD_COMPRESSION_BUFFER
ERROR_BAD_CONFIGURATION
ERROR_BAD_CURRENT_DIRECTORY
ERROR_BADDB
ERROR_BAD_DESCRIPTOR_FORMAT
ERROR_BAD_DEVICE
ERROR_BAD_DEV_TYPE
ERROR_BAD_DLL_ENTRYPOINT
ERROR_BAD_DRIVER
ERROR_BAD_DRIVER_LEVEL
ERROR_BAD_ENVIRONMENT
ERROR_BAD_EXE_FORMAT
ERROR_BAD_FILE_TYPE
ERROR_BAD_FORMAT
ERROR_BAD_FUNCTION_TABLE
ERROR_BAD_IMPERSONATION_LEVEL
ERROR_BAD_INHERITANCE_ACL
ERROR_BADKEY
ERROR_BAD_LENGTH
ERROR_BAD_LOGON_SESSION_STATE
ERROR_BAD_MCFG_TABLE
ERROR_BAD_NET_NAME
ERROR_BAD_NETPATH
ERROR_BAD_NET_RESP
ERROR_BAD_PATHNAME
ERROR_BAD_PIPE
ERROR_BAD_PROFILE
ERROR_BAD_PROVIDER
ERROR_BAD_QUERY_SYNTAX
ERROR_BAD_RECOVERY_POLICY
ERROR_BAD_REM_ADAP
ERROR_BAD_SERVICE_ENTRYPOINT
ERROR_BAD_STACK
ERROR_BADSTARTPOSITION
ERROR_BAD_THREADID_ADDR
ERROR_BAD_TOKEN_TYPE
ERROR_BAD_UNIT
ERROR_BAD_USERNAME
ERROR_BAD_USER_PROFILE
ERROR_BAD_VALIDATION_CLASS
ERROR_BEGINNING_OF_MEDIA
ERROR_BEYOND_VDL
ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT
ERROR_BOOT_ALREADY_ACCEPTED
ERROR_BROKEN_PIPE
ERROR_BUFFER_ALL_ZEROS
ERROR_BUFFER_OVERFLOW
Error building Keyboard layout string for InstallLayoutOrTip
ERROR_BUS_RESET
ERROR_BUSY
ERROR_BUSY_DRIVE
ERROR_CACHE_PAGE_LOCKED
ERROR_CALLBACK_POP_STACK
ERROR_CALLBACK_SUPPLIED_INVALID_DATA
ERROR_CALL_NOT_IMPLEMENTED
ERROR_CANCELLED
ERROR_CANCEL_VIOLATION
ERROR_CANNOT_ABORT_TRANSACTIONS
ERROR_CANNOT_ACCEPT_TRANSACTED_WORK
ERROR: cannot allocate memory for error record
ERROR: Cannot allocate memory to record an error
ERROR_CAN_NOT_COMPLETE
ERROR_CANNOT_COPY
ERROR_CAN_NOT_DEL_LOCAL_WINS
ERROR_CANNOT_DETECT_DRIVER_FAILURE
ERROR_CANNOT_DETECT_PROCESS_ABORT
ERROR Cannot enable logging becuase memory cannot be allocated
ERROR Cannot enable logging becuase the the WinSAT directory cannot be determined
ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION
ERROR_CANNOT_FIND_WND_CLASS
ERROR_CANNOT_IMPERSONATE
ERROR: cannot initialize handle streams
ERROR_CANNOT_LOAD_REGISTRY_FILE
ERROR_CANNOT_MAKE
ERROR_CANNOT_OPEN_PROFILE
ERROR: cannot set control C handler!
ERROR_CANT_ACCESS_DOMAIN_INFO
ERROR_CANT_ACCESS_FILE
ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY
ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS
ERROR_CANT_CROSS_RM_BOUNDARY
ERROR_CANT_DELETE_LAST_ITEM
ERROR_CANT_DISABLE_MANDATORY
ERROR_CANT_ENABLE_DENY_ONLY
ERROR_CANT_EVICT_ACTIVE_NODE
ERROR_CANTFETCHBACKWARDS
ERROR_CANTOPEN
ERROR_CANT_OPEN_ANONYMOUS
ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT
ERROR_CANTREAD
ERROR_CANT_RECOVER_WITH_HANDLE_OPEN
ERROR_CANT_RESOLVE_FILENAME
ERROR: can't run a formal assessment on batteries
ERROR: can't run a formal assessment via a remote session
ERROR: can't run formal assessment on OS's earlier than Vista
ERROR_CANTSCROLLBACKWARDS
ERROR_CANT_TERMINATE_SELF
ERROR_CANT_WAIT
ERROR_CANTWRITE
ERROR_CARDBUS_NOT_SUPPORTED
ERROR_CHECKING_FILE_SYSTEM
ERROR_CHECKOUT_REQUIRED
ERROR_CHILD_MUST_BE_VOLATILE
ERROR_CHILD_NOT_COMPLETE
ERROR_CHILD_WINDOW_MENU
ERROR_CIRCULAR_DEPENDENCY
ERROR_CLASS_ALREADY_EXISTS
ERROR_CLASS_DOES_NOT_EXIST
ERROR_CLASS_HAS_WINDOWS
ERROR_CLEANER_CARTRIDGE_INSTALLED
ERROR_CLEANER_CARTRIDGE_SPENT
ERROR_CLEANER_SLOT_NOT_SET
ERROR_CLEANER_SLOT_SET
ERROR_CLIENT_SERVER_PARAMETERS_INVALID
ERROR_CLIPBOARD_NOT_OPEN
ERROR_CLIPPING_NOT_SUPPORTED
ERROR_CLUSCFG_ALREADY_COMMITTED
ERROR_CLUSCFG_ROLLBACK_FAILED
ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT
ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME
ERROR_CLUSTER_CANT_DESERIALIZE_DATA
ERROR_CLUSTER_DATABASE_SEQMISMATCH
ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS
ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS
ERROR_CLUSTER_EVICT_INVALID_REQUEST
ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP
ERROR_CLUSTER_GROUP_MOVING
ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE
ERROR_CLUSTER_GUM_NOT_LOCKER
ERROR_CLUSTER_INCOMPATIBLE_VERSIONS
ERROR_CLUSTER_INSTANCE_ID_MISMATCH
ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION
ERROR_CLUSTER_INVALID_IPV6_NETWORK
ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK
ERROR_CLUSTER_INVALID_NETWORK
ERROR_CLUSTER_INVALID_NETWORK_PROVIDER
ERROR_CLUSTER_INVALID_NODE
ERROR_CLUSTER_INVALID_REQUEST
ERROR_CLUSTER_INVALID_STRING_FORMAT
ERROR_CLUSTER_INVALID_STRING_TERMINATION
ERROR_CLUSTER_IPADDR_IN_USE
ERROR_CLUSTER_JOIN_ABORTED
ERROR_CLUSTER_JOIN_IN_PROGRESS
ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS
ERROR_CLUSTER_LAST_INTERNAL_NETWORK
ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND
ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND
ERROR_CLUSTERLOG_CORRUPT
ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE
ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE
ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE
ERROR_CLUSTER_MAX_NODES_IN_CLUSTER
ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED
ERROR_CLUSTER_MEMBERSHIP_HALT
ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE
ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME
ERROR_CLUSTER_NETINTERFACE_EXISTS
ERROR_CLUSTER_NETINTERFACE_NOT_FOUND
ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE
ERROR_CLUSTER_NETWORK_ALREADY_ONLINE
ERROR_CLUSTER_NETWORK_EXISTS
ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS
ERROR_CLUSTER_NETWORK_NOT_FOUND
ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP
ERROR_CLUSTER_NETWORK_NOT_INTERNAL
ERROR_CLUSTER_NODE_ALREADY_DOWN
ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT
ERROR_CLUSTER_NODE_ALREADY_MEMBER
ERROR_CLUSTER_NODE_ALREADY_UP
ERROR_CLUSTER_NODE_DOWN
ERROR_CLUSTER_NODE_EXISTS
ERROR_CLUSTER_NODE_NOT_FOUND
ERROR_CLUSTER_NODE_NOT_MEMBER
ERROR_CLUSTER_NODE_NOT_PAUSED
ERROR_CLUSTER_NODE_NOT_READY
ERROR_CLUSTER_NODE_PAUSED
ERROR_CLUSTER_NODE_SHUTTING_DOWN
ERROR_CLUSTER_NODE_UNREACHABLE
ERROR_CLUSTER_NODE_UP
ERROR_CLUSTER_NO_NET_ADAPTERS
ERROR_CLUSTER_NO_QUORUM
ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED
ERROR_CLUSTER_NO_SECURITY_CONTEXT
ERROR_CLUSTER_NOT_INSTALLED
ERROR_CLUSTER_NULL_DATA
ERROR_CLUSTER_OBJECT_ALREADY_USED
ERROR_CLUSTER_OLD_VERSION
ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST
ERROR_CLUSTER_PARAMETER_MISMATCH
ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS
ERROR_CLUSTER_PARTIAL_READ
ERROR_CLUSTER_PARTIAL_SEND
ERROR_CLUSTER_PARTIAL_WRITE
ERROR_CLUSTER_POISONED
ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH
ERROR_CLUSTER_QUORUMLOG_NOT_FOUND
ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION
ERROR_CLUSTER_RESNAME_NOT_FOUND
ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR
ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED
ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE
ERROR_CLUSTER_RESOURCE_TYPE_BUSY
ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND
ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED
ERROR_CLUSTER_RHS_FAILED_INITIALIZATION
ERROR_CLUSTER_SHUTTING_DOWN
ERROR_CLUSTER_SINGLETON_RESOURCE
ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED
ERROR_CLUSTER_TOO_MANY_NODES
ERROR_CLUSTER_WRONG_OS_VERSION
errorCode
Error code
ErrorCode
ERROR_COLORSPACE_MISMATCH
ERROR_COMMITMENT_LIMIT
ERROR_COMMITMENT_MINIMUM
ERROR_COMPRESSION_DISABLED
ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION
ERROR_CONNECTED_OTHER_PASSWORD
ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT
ERROR_CONNECTION_ABORTED
ERROR_CONNECTION_ACTIVE
ERROR_CONNECTION_COUNT_LIMIT
ERROR_CONNECTION_INVALID
ERROR_CONNECTION_REFUSED
ERROR_CONNECTION_UNAVAIL
ERROR_CONTENT_BLOCKED
ERROR_CONTEXT_EXPIRED
ERROR_CONTINUE
ERROR_CONTROL_C_EXIT
ERROR_CONTROL_ID_NOT_FOUND
ERROR_CONTROLLING_IEPORT
Error converting layout id to string
[Error converting time]
ERROR_CONVERT_TO_LARGE
ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND
ERROR_CORE_RESOURCE
ERROR_CORRUPT_SYSTEM_FILE
ERROR_COULD_NOT_INTERPRET
ERROR_COULD_NOT_RESIZE_LOG
ERROR: Could not start assessment.
ERROR_COUNTER_TIMEOUT
ERROR_CRASH_DUMP
ERROR_CRC
ERROR_CREATE_FAILED
ErrorCreatingControlThread
ErrorCreatingEventToLogManagedRegion
ErrorCreatingEventToWaitOnClientReply
ErrorCreatingTraceFileWriter
ERROR_CRM_PROTOCOL_ALREADY_EXISTS
ERROR_CRM_PROTOCOL_NOT_FOUND
ERROR_CSCSHARE_OFFLINE
ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE
ERROR_CS_ENCRYPTION_FILE_NOT_CSE
ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE
ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE
ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER
ERROR_CTX_ACCOUNT_RESTRICTION
ERROR_CTX_BAD_VIDEO_MODE
ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY
ERROR_CTX_CDM_CONNECT
ERROR_CTX_CDM_DISCONNECT
ERROR_CTX_CLIENT_LICENSE_IN_USE
ERROR_CTX_CLIENT_LICENSE_NOT_SET
ERROR_CTX_CLIENT_QUERY_TIMEOUT
ERROR_CTX_CLOSE_PENDING
ERROR_CTX_CONSOLE_CONNECT
ERROR_CTX_CONSOLE_DISCONNECT
ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED
ERROR_CTX_GRAPHICS_INVALID
ERROR_CTX_INVALID_MODEMNAME
ERROR_CTX_INVALID_PD
ERROR_CTX_INVALID_WD
ERROR_CTX_LICENSE_CLIENT_INVALID
ERROR_CTX_LICENSE_EXPIRED
ERROR_CTX_LICENSE_NOT_AVAILABLE
ERROR_CTX_LOGON_DISABLED
ERROR_CTX_MODEM_INF_NOT_FOUND
ERROR_CTX_MODEM_RESPONSE_BUSY
ERROR_CTX_MODEM_RESPONSE_ERROR
ERROR_CTX_MODEM_RESPONSE_NO_CARRIER
ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE
ERROR_CTX_MODEM_RESPONSE_TIMEOUT
ERROR_CTX_MODEM_RESPONSE_VOICE
ERROR_CTX_NO_FORCE_LOGOFF
ERROR_CTX_NO_OUTBUF
ERROR_CTX_NOT_CONSOLE
ERROR_CTX_PD_NOT_FOUND
ERROR_CTX_SECURITY_LAYER_ERROR
ERROR_CTX_SERVICE_NAME_COLLISION
ERROR_CTX_SESSION_IN_USE
ERROR_CTX_SHADOW_DENIED
ERROR_CTX_SHADOW_DISABLED
ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE
ERROR_CTX_SHADOW_INVALID
ERROR_CTX_SHADOW_NOT_RUNNING
ERROR_CTX_TD_ERROR
ERROR_CTX_WD_NOT_FOUND
ERROR_CTX_WINSTATION_ACCESS_DENIED
ERROR_CTX_WINSTATION_ALREADY_EXISTS
ERROR_CTX_WINSTATION_BUSY
ERROR_CTX_WINSTATION_NAME_INVALID
ERROR_CTX_WINSTATION_NOT_FOUND
ERROR_CTX_WINSTATIONS_DISABLED
ERROR_CURRENT_DIRECTORY
ERROR_CURRENT_DOMAIN_NOT_ALLOWED
ERROR_CURRENT_TRANSACTION_NOT_VALID
ERROR_DATABASE_BACKUP_CORRUPT
ERROR_DATABASE_DOES_NOT_EXIST
ERROR_DATABASE_FAILURE
ERROR_DATABASE_FULL
ERROR_DATA_LOST_REPAIR
ERROR_DATA_NOT_ACCEPTED
ERROR_DATATYPE_MISMATCH
ERROR_DBG_COMMAND_EXCEPTION
ERROR_DBG_CONTINUE
ERROR_DBG_CONTROL_BREAK
ERROR_DBG_CONTROL_C
ERROR_DBG_EXCEPTION_HANDLED
ERROR_DBG_EXCEPTION_NOT_HANDLED
ERROR_DBG_PRINTEXCEPTION_C
ERROR_DBG_REPLY_LATER
ERROR_DBG_RIPEXCEPTION
ERROR_DBG_TERMINATE_PROCESS
ERROR_DBG_TERMINATE_THREAD
ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE
ERROR_DC_NOT_FOUND
ERROR_DDE_FAIL
ERROR_DEBUG_ATTACH_FAILED
ERROR_DEBUGGER_INACTIVE
ERROR_DECRYPTION_FAILED
ERROR_DELAY_LOAD_FAILED
ERROR_DELETE_PENDING
ERROR_DELETING_ICM_XFORM
ERROR_DEPENDENCY_ALREADY_EXISTS
ERROR_DEPENDENCY_NOT_ALLOWED
ERROR_DEPENDENCY_NOT_FOUND
ERROR_DEPENDENCY_TREE_TOO_COMPLEX
ERROR_DEPENDENT_RESOURCE_EXISTS
ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT
ERROR_DEPENDENT_SERVICES_RUNNING
errorDescription
Error description
ERROR_DESTINATION_ELEMENT_FULL
ERROR_DESTROY_OBJECT_OF_OTHER_THREAD
ERROR_DEVICE_ALREADY_ATTACHED
ERROR_DEVICE_ALREADY_REMEMBERED
ERROR_DEVICE_DOOR_OPEN
ERROR_DEVICE_ENUMERATION_ERROR
ERROR_DEVICE_IN_USE
ERROR_DEVICE_LOST
ERROR_DEVICE_NOT_AVAILABLE
ERROR_DEVICE_NOT_CONNECTED
ERROR_DEVICE_NOT_PARTITIONED
ERROR_DEVICE_REINITIALIZATION_NEEDED
ERROR_DEVICE_REMOVED
ERROR_DEVICE_REQUIRES_CLEANING
ERROR_DEV_NOT_EXIST
ERROR_DHCP_ADDRESS_CONFLICT
ERROR_DIFFERENT_SERVICE_ACCOUNT
ERROR_DIRECT_ACCESS_HANDLE
ERROR_DIRECTORY
ERROR_DIRECTORY_NOT_RM
ERROR_DIR_EFS_DISALLOWED
ERROR_DIR_NOT_EMPTY
ERROR_DIR_NOT_ROOT
ErrorDisablingTurboThunks
ERROR_DISCARDED
ERROR_DISK_CHANGE
ERROR_DISK_CORRUPT
ERROR_DISK_FULL
ERROR_DISK_OPERATION_FAILED
ERROR_DISK_QUOTA_EXCEEDED
ERROR_DISK_RECALIBRATE_FAILED
ERROR_DISK_REPAIR_DISABLED
ERROR_DISK_RESET_FAILED
ERROR_DISK_TOO_FRAGMENTED
ERROR_DLL_INIT_FAILED
ERROR_DLL_INIT_FAILED_LOGOFF
ERROR_DLL_MIGHT_BE_INCOMPATIBLE
ERROR_DLL_MIGHT_BE_INSECURE
ERROR_DLL_NOT_FOUND
ERROR_DOMAIN_CONTROLLER_EXISTS
ERROR_DOMAIN_CONTROLLER_NOT_FOUND
ERROR_DOMAIN_CTRLR_CONFIG_ERROR
ERROR_DOMAIN_EXISTS
ERROR_DOMAIN_LIMIT_EXCEEDED
ERROR_DOMAIN_TRUST_INCONSISTENT
ERROR_DOWNGRADE_DETECTED
ERROR_DRIVE_LOCKED
ERROR_DRIVE_MEDIA_MISMATCH
ERROR_DRIVER_BLOCKED
ERROR_DRIVER_CANCEL_TIMEOUT
ERROR_DRIVER_DATABASE_ERROR
ERROR_DRIVER_FAILED_PRIOR_UNLOAD
ERROR_DRIVER_FAILED_SLEEP
ERROR_DRIVER_PROCESS_TERMINATED
ERROR_DRIVERS_LEAKING_LOCKED_PAGES
ERROR_DS_ADD_REPLICA_INHIBITED
ERROR_DS_ADMIN_LIMIT_EXCEEDED
ERROR_DS_AFFECTS_MULTIPLE_DSAS
ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER
ERROR_DS_ALIAS_DEREF_PROBLEM
ERROR_DS_ALIASED_OBJ_MISSING
ERROR_DS_ALIAS_POINTS_TO_ALIAS
ERROR_DS_ALIAS_PROBLEM
ERROR_DS_ATT_ALREADY_EXISTS
ERROR_DS_ATT_IS_NOT_ON_OBJ
ERROR_DS_ATT_NOT_DEF_FOR_CLASS
ERROR_DS_ATT_NOT_DEF_IN_SCHEMA
ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS
ERROR_DS_ATTRIBUTE_OWNED_BY_SAM
ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED
ERROR_DS_ATT_SCHEMA_REQ_ID
ERROR_DS_ATT_SCHEMA_REQ_SYNTAX
ERROR_DS_ATT_VAL_ALREADY_EXISTS
ERROR_DS_AUDIT_FAILURE
ERROR_DS_AUTH_METHOD_NOT_SUPPORTED
ERROR_DS_AUTHORIZATION_FAILED
ERROR_DS_AUTH_UNKNOWN
ERROR_DS_AUX_CLS_TEST_FAIL
ERROR_DS_BACKLINK_WITHOUT_LINK
ERROR_DS_BAD_ATT_SCHEMA_SYNTAX
ERROR_DS_BAD_HIERARCHY_FILE
ERROR_DS_BAD_INSTANCE_TYPE
ERROR_DS_BAD_NAME_SYNTAX
ERROR_DS_BAD_RDN_ATT_ID_SYNTAX
ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED
ERROR_DS_BUSY
ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD
ERROR_DS_CANT_ADD_ATT_VALUES
ERROR_DS_CANT_ADD_SYSTEM_ONLY
ERROR_DS_CANT_ADD_TO_GC
ERROR_DS_CANT_CACHE_ATT
ERROR_DS_CANT_CACHE_CLASS
ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC
ERROR_DS_CANT_CREATE_UNDER_SCHEMA
ERROR_DS_CANT_DELETE
ERROR_DS_CANT_DELETE_DSA_OBJ
ERROR_DS_CANT_DEL_MASTER_CROSSREF
ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC
ERROR_DS_CANT_DEREF_ALIAS
ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN
ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF
ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN
ERROR_DS_CANT_FIND_DSA_OBJ
ERROR_DS_CANT_FIND_EXPECTED_NC
ERROR_DS_CANT_FIND_NC_IN_CACHE
ERROR_DS_CANT_MIX_MASTER_AND_REPS
ERROR_DS_CANT_MOD_OBJ_CLASS
ERROR_DS_CANT_MOD_PRIMARYGROUPID
ERROR_DS_CANT_MOD_SYSTEM_ONLY
ERROR_DS_CANT_MOVE_ACCOUNT_GROUP
ERROR_DS_CANT_MOVE_APP_BASIC_GROUP
ERROR_DS_CANT_MOVE_APP_QUERY_GROUP
ERROR_DS_CANT_MOVE_DELETED_OBJECT
ERROR_DS_CANT_MOVE_RESOURCE_GROUP
ERROR_DS_CANT_ON_NON_LEAF
ERROR_DS_CANT_ON_RDN
ERROR_DS_CANT_REM_MISSING_ATT
ERROR_DS_CANT_REM_MISSING_ATT_VAL
ERROR_DS_CANT_REMOVE_ATT_CACHE
ERROR_DS_CANT_REMOVE_CLASS_CACHE
ERROR_DS_CANT_REPLACE_HIDDEN_REC
ERROR_DS_CANT_RETRIEVE_ATTS
ERROR_DS_CANT_RETRIEVE_CHILD
ERROR_DS_CANT_RETRIEVE_DN
ERROR_DS_CANT_RETRIEVE_INSTANCE
ERROR_DS_CANT_RETRIEVE_SD
ERROR_DS_CANT_START
ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ
ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS
ERROR_DS_CHILDREN_EXIST
ERROR_DS_CLASS_MUST_BE_CONCRETE
ERROR_DS_CLASS_NOT_DSA
ERROR_DS_CLIENT_LOOP
ERROR_DS_CODE_INCONSISTENCY
ERROR_DS_COMPARE_FALSE
ERROR_DS_COMPARE_TRUE
ERROR_DS_CONFIDENTIALITY_REQUIRED
ERROR_DS_CONFIG_PARAM_MISSING
ERROR_DS_CONSTRAINT_VIOLATION
ERROR_DS_CONSTRUCTED_ATT_MOD
ERROR_DS_CONTROL_NOT_FOUND
ERROR_DS_COULDNT_CONTACT_FSMO
ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE
ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE
ERROR_DS_COULDNT_UPDATE_SPNS
ERROR_DS_COUNTING_AB_INDICES_FAILED
ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE
ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2
ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD
ERROR_DS_CROSS_DOM_MOVE_ERROR
ERROR_DS_CROSS_NC_DN_RENAME
ERROR_DS_CROSS_REF_BUSY
ERROR_DS_CROSS_REF_EXISTS
ERROR_DS_DATABASE_ERROR
ERROR_DS_DECODING_ERROR
ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED
ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST
ERROR_DS_DIFFERENT_REPL_EPOCHS
ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER
ERROR_DS_DNS_LOOKUP_FAILURE
ERROR_DS_DOMAIN_RENAME_IN_PROGRESS
ERROR_DS_DOMAIN_VERSION_TOO_HIGH
ERROR_DS_DOMAIN_VERSION_TOO_LOW
ERROR_DS_DRA_ABANDON_SYNC
ERROR_DS_DRA_ACCESS_DENIED
ERROR_DS_DRA_BAD_DN
ERROR_DS_DRA_BAD_INSTANCE_TYPE
ERROR_DS_DRA_BAD_NC
ERROR_DS_DRA_BUSY
ERROR_DS_DRA_CONNECTION_FAILED
ERROR_DS_DRA_CORRUPT_UTD_VECTOR
ERROR_DS_DRA_DB_ERROR
ERROR_DS_DRA_DN_EXISTS
ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT
ERROR_DS_DRA_EXTN_CONNECTION_FAILED
ERROR_DS_DRA_GENERIC
ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET
ERROR_DS_DRA_INCONSISTENT_DIT
ERROR_DS_DRA_INTERNAL_ERROR
ERROR_DS_DRA_INVALID_PARAMETER
ERROR_DS_DRA_MAIL_PROBLEM
ERROR_DS_DRA_MISSING_KRBTGT_SECRET
ERROR_DS_DRA_MISSING_PARENT
ERROR_DS_DRA_NAME_COLLISION
ERROR_DS_DRA_NO_REPLICA
ERROR_DS_DRA_NOT_SUPPORTED
ERROR_DS_DRA_OBJ_IS_REP_SOURCE
ERROR_DS_DRA_OBJ_NC_MISMATCH
ERROR_DS_DRA_OUT_OF_MEM
ERROR_DS_DRA_OUT_SCHEDULE_WINDOW
ERROR_DS_DRA_PREEMPTED
ERROR_DS_DRA_REF_ALREADY_EXISTS
ERROR_DS_DRA_REF_NOT_FOUND
ERROR_DS_DRA_REPL_PENDING
ERROR_DS_DRA_RPC_CANCELLED
ERROR_DS_DRA_SCHEMA_CONFLICT
ERROR_DS_DRA_SCHEMA_INFO_SHIP
ERROR_DS_DRA_SCHEMA_MISMATCH
ERROR_DS_DRA_SECRETS_DENIED
ERROR_DS_DRA_SHUTDOWN
ERROR_DS_DRA_SINK_DISABLED
ERROR_DS_DRA_SOURCE_DISABLED
ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA
ERROR_DS_DRA_SOURCE_REINSTALLED
ERROR_DS_DRS_EXTENSIONS_CHANGED
ERROR_DS_DSA_MUST_BE_INT_MASTER
ERROR_DS_DS_REQUIRED
ERROR_DS_DST_DOMAIN_NOT_NATIVE
ERROR_DS_DST_NC_MISMATCH
ERROR_DS_DUP_LDAP_DISPLAY_NAME
ERROR_DS_DUPLICATE_ID_FOUND
ERROR_DS_DUP_LINK_ID
ERROR_DS_DUP_MAPI_ID
ERROR_DS_DUP_MSDS_INTID
ERROR_DS_DUP_OID
ERROR_DS_DUP_RDN
ERROR_DS_DUP_SCHEMA_ID_GUID
ERROR_DS_ENCODING_ERROR
ERROR_DS_EPOCH_MISMATCH
ERROR_DS_EXISTING_AD_CHILD_NC
ERROR_DS_EXISTS_IN_AUX_CLS
ERROR_DS_EXISTS_IN_MAY_HAVE
ERROR_DS_EXISTS_IN_MUST_HAVE
ERROR_DS_EXISTS_IN_POSS_SUP
ERROR_DS_EXISTS_IN_RDNATTID
ERROR_DS_EXISTS_IN_SUB_CLS
ERROR_DS_FILTER_UNKNOWN
ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS
ERROR_DS_FOREST_VERSION_TOO_HIGH
ERROR_DS_FOREST_VERSION_TOO_LOW
ERROR_DS_GC_NOT_AVAILABLE
ERROR_DS_GC_REQUIRED
ERROR_DS_GCVERIFY_ERROR
ERROR_DS_GENERIC_ERROR
ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER
ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER
ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER
ERROR_DS_GOVERNSID_MISSING
ERROR_DS_GROUP_CONVERSION_ERROR
ERROR_DS_HAVE_PRIMARY_MEMBERS
ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED
ERROR_DS_HIERARCHY_TABLE_TOO_DEEP
ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD
ERROR_DS_ILLEGAL_MOD_OPERATION
ERROR_DS_ILLEGAL_SUPERIOR
ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION
ERROR_DS_INAPPROPRIATE_AUTH
ERROR_DS_INAPPROPRIATE_MATCHING
ERROR_DS_INCOMPATIBLE_CONTROLS_USED
ERROR_DS_INCOMPATIBLE_VERSION
ERROR_DS_INCORRECT_ROLE_OWNER
ERROR_DS_INIT_FAILURE
ERROR_DS_INIT_FAILURE_CONSOLE
ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE
ERROR_DS_INSTALL_NO_SRC_SCH_VERSION
ERROR_DS_INSTALL_SCHEMA_MISMATCH
ERROR_DS_INSUFF_ACCESS_RIGHTS
ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT
ERROR_DS_INTERNAL_FAILURE
ERROR_DS_INVALID_ATTRIBUTE_SYNTAX
ERROR_DS_INVALID_DMD
ERROR_DS_INVALID_DN_SYNTAX
ERROR_DS_INVALID_GROUP_TYPE
ERROR_DS_INVALID_LDAP_DISPLAY_NAME
ERROR_DS_INVALID_NAME_FOR_SPN
ERROR_DS_INVALID_ROLE_OWNER
ERROR_DS_INVALID_SCRIPT
ERROR_DS_INVALID_SEARCH_FLAG
ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE
ERROR_DS_INVALID_SEARCH_FLAG_TUPLE
ERROR_DS_IS_LEAF
ERROR_DS_KEY_NOT_UNIQUE
ERROR_DS_LDAP_SEND_QUEUE_FULL
ERROR_DS_LINK_ID_NOT_AVAILABLE
ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER
ERROR_DS_LOCAL_ERROR
ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY
ERROR_DS_LOOP_DETECT
ERROR_DS_LOW_DSA_VERSION
ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4
ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED
ERROR_DS_MAPI_ID_NOT_AVAILABLE
ERROR_DS_MASTERDSA_REQUIRED
ERROR_DS_MAX_OBJ_SIZE_EXCEEDED
ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY
ERROR_DS_MISSING_EXPECTED_ATT
ERROR_DS_MISSING_FSMO_SETTINGS
ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER
ERROR_DS_MISSING_REQUIRED_ATT
ERROR_DS_MISSING_SUPREF
ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG
ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE
ERROR_DS_MODIFYDN_WRONG_GRANDPARENT
ERROR_DS_MUST_BE_RUN_ON_DST_DC
ERROR_DS_NAME_ERROR_DOMAIN_ONLY
ERROR_DS_NAME_ERROR_NO_MAPPING
ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING
ERROR_DS_NAME_ERROR_NOT_FOUND
ERROR_DS_NAME_ERROR_NOT_UNIQUE
ERROR_DS_NAME_ERROR_RESOLVING
ERROR_DS_NAME_ERROR_TRUST_REFERRAL
ERROR_DS_NAME_NOT_UNIQUE
ERROR_DS_NAME_REFERENCE_INVALID
ERROR_DS_NAME_TOO_LONG
ERROR_DS_NAME_TOO_MANY_PARTS
ERROR_DS_NAME_TYPE_UNKNOWN
ERROR_DS_NAME_UNPARSEABLE
ERROR_DS_NAME_VALUE_TOO_LONG
ERROR_DS_NAMING_MASTER_GC
ERROR_DS_NAMING_VIOLATION
ERROR_DS_NC_MUST_HAVE_NC_PARENT
ERROR_DS_NCNAME_MISSING_CR_REF
ERROR_DS_NCNAME_MUST_BE_NC
ERROR_DS_NC_STILL_HAS_DSAS
ERROR_DS_NO_ATTRIBUTE_OR_VALUE
ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN
ERROR_DS_NO_CHAINED_EVAL
ERROR_DS_NO_CHAINING
ERROR_DS_NO_CHECKPOINT_WITH_PDC
ERROR_DS_NO_CROSSREF_FOR_NC
ERROR_DS_NO_DELETED_NAME
ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS
ERROR_DS_NO_MORE_RIDS
ERROR_DS_NO_MSDS_INTID
ERROR_DS_NON_ASQ_SEARCH
ERROR_DS_NON_BASE_SEARCH
ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN
ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN
ERROR_DS_NONEXISTENT_MAY_HAVE
ERROR_DS_NONEXISTENT_MUST_HAVE
ERROR_DS_NONEXISTENT_POSS_SUP
ERROR_DS_NONSAFE_SCHEMA_CHANGE
ERROR_DS_NO_NTDSA_OBJECT
ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC
ERROR_DS_NO_PARENT_OBJECT
ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION
ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA
ERROR_DS_NO_REF_DOMAIN
ERROR_DS_NO_REQUESTED_ATTS_FOUND
ERROR_DS_NO_RESULTS_RETURNED
ERROR_DS_NO_RIDS_ALLOCATED
ERROR_DS_NO_SERVER_OBJECT
ERROR_DS_NO_SUCH_OBJECT
ERROR_DS_NOT_AN_OBJECT
ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC
ERROR_DS_NOT_CLOSEST
ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX
ERROR_DS_NOT_INSTALLED
ERROR_DS_NOT_ON_BACKLINK
ERROR_DS_NO_TREE_DELETE_ABOVE_NC
ERROR_DS_NOT_SUPPORTED
ERROR_DS_NOT_SUPPORTED_SORT_ORDER
ERROR_DS_NTDSCRIPT_PROCESS_ERROR
ERROR_DS_NTDSCRIPT_SYNTAX_ERROR
ERROR_DS_OBJ_CLASS_NOT_DEFINED
ERROR_DS_OBJ_CLASS_NOT_SUBCLASS
ERROR_DS_OBJ_CLASS_VIOLATION
ERROR_DS_OBJECT_BEING_REMOVED
ERROR_DS_OBJECT_CLASS_REQUIRED
ERROR_DS_OBJECT_RESULTS_TOO_LARGE
ERROR_DS_OBJ_GUID_EXISTS
ERROR_DS_OBJ_NOT_FOUND
ERROR_DS_OBJ_STRING_NAME_EXISTS
ERROR_DS_OBJ_TOO_LARGE
ERROR_DS_OFFSET_RANGE_ERROR
ERROR_DS_OPERATIONS_ERROR
ERROR_DS_OUT_OF_SCOPE
ERROR_DS_OUT_OF_VERSION_STORE
ERROR_DS_PARAM_ERROR
ERROR_DS_PARENT_IS_AN_ALIAS
ERROR_DS_PDC_OPERATION_IN_PROGRESS
ERROR_DS_POLICY_NOT_KNOWN
ERROR_DS_PROTOCOL_ERROR
ERROR_DS_RANGE_CONSTRAINT
ERROR_DS_RDN_DOESNT_MATCH_SCHEMA
ERROR_DS_RECALCSCHEMA_FAILED
ERROR_DS_REFERRAL
ERROR_DS_REFERRAL_LIMIT_EXCEEDED
ERROR_DS_REFUSING_FSMO_ROLES
ERROR_DS_REMOTE_CROSSREF_OP_FAILED
ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR
ERROR_DS_REPLICATOR_ONLY
ERROR_DS_REPL_LIFETIME_EXCEEDED
ERROR_DS_RESERVED_LINK_ID
ERROR_DS_RESERVED_MAPI_ID
ERROR_DS_RIDMGR_INIT_ERROR
ERROR_DS_ROLE_NOT_VERIFIED
ERROR_DS_ROOT_CANT_BE_SUBREF
ERROR_DS_ROOT_MUST_BE_NC
ERROR_DS_ROOT_REQUIRES_CLASS_TOP
ERROR_DS_SAM_INIT_FAILURE
ERROR_DS_SAM_INIT_FAILURE_CONSOLE
ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY
ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD
ERROR_DS_SCHEMA_ALLOC_FAILED
ERROR_DS_SCHEMA_NOT_LOADED
ERROR_DS_SCHEMA_UPDATE_DISALLOWED
ERROR_DS_SEC_DESC_INVALID
ERROR_DS_SEC_DESC_TOO_SHORT
ERROR_DS_SECURITY_CHECKING_ERROR
ERROR_DS_SECURITY_ILLEGAL_MODIFY
ERROR_DS_SEMANTIC_ATT_TEST
ERROR_DS_SENSITIVE_GROUP_VIOLATION
ERROR_DS_SERVER_DOWN
ERROR_DS_SHUTTING_DOWN
ERROR_DS_SINGLE_USER_MODE_FAILED
ERROR_DS_SINGLE_VALUE_CONSTRAINT
ERROR_DS_SIZELIMIT_EXCEEDED
ERROR_DS_SORT_CONTROL_MISSING
ERROR_DS_SOURCE_AUDITING_NOT_ENABLED
ERROR_DS_SOURCE_DOMAIN_IN_FOREST
ERROR_DS_SRC_AND_DST_NC_IDENTICAL
ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH
ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER
ERROR_DS_SRC_GUID_MISMATCH
ERROR_DS_SRC_NAME_MISMATCH
ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER
ERROR_DS_SRC_SID_EXISTS_IN_FOREST
ERROR_DS_STRING_SD_CONVERSION_FAILED
ERROR_DS_STRONG_AUTH_REQUIRED
ERROR_DS_SUB_CLS_TEST_FAIL
ERROR_DS_SUBREF_MUST_HAVE_PARENT
ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD
ERROR_DS_SYNTAX_MISMATCH
ERROR_DS_THREAD_LIMIT_EXCEEDED
ERROR_DS_TIMELIMIT_EXCEEDED
ERROR_DS_TREE_DELETE_NOT_FINISHED
ERROR_DS_UNABLE_TO_SURRENDER_ROLES
ERROR_DS_UNAVAILABLE
ERROR_DS_UNAVAILABLE_CRIT_EXTENSION
ERROR_DS_UNICODEPWD_NOT_IN_QUOTES
ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER
ERROR_DS_UNKNOWN_ERROR
ERROR_DS_UNKNOWN_OPERATION
ERROR_DS_UNWILLING_TO_PERFORM
ERROR_DS_USER_BUFFER_TO_SMALL
ERROR_DS_VERSION_CHECK_FAILURE
ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL
ERROR_DS_WRONG_LINKED_ATT_SYNTAX
ERROR_DS_WRONG_OM_OBJ_CLASS
ERROR_DUP_DOMAINNAME
ERROR_DUPLICATE_SERVICE_NAME
ERROR_DUPLICATE_TAG
ERROR_DUP_NAME
ERROR_DYNLINK_FROM_INVALID_RING
ERROR_EA_ACCESS_DENIED
ERROR_EA_FILE_CORRUPT
ERROR_EA_LIST_INCONSISTENT
ERROR_EAS_DIDNT_FIT
ERROR_EAS_NOT_SUPPORTED
ERROR_EA_TABLE_FULL
ERROR_EC_CIRCULAR_FORWARDING
ERROR_EC_CRED_NOT_FOUND
ERROR_EC_CREDSTORE_FULL
ERROR_EC_LOG_DISABLED
ERROR_EC_NO_ACTIVE_CHANNEL
ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE
ERROR_EFS_ALG_BLOB_TOO_BIG
ERROR_EFS_DISABLED
ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION
ERROR_EFS_SERVER_NOT_TRUSTED
ERROR_EFS_VERSION_NOT_SUPPORT
ERROR_ELEVATION_REQUIRED
ERROR_EMPTY
ERROR_ENCRYPTION_FAILED
ERROR_END_OF_MEDIA
ERROR_ENLISTMENT_NOT_FOUND
ERROR_ENLISTMENT_NOT_SUPERIOR
ERROR_ENVVAR_NOT_FOUND
ERROR_EOM_OVERFLOW
ERROR: Error gathering results path
ERROR_ERRORS_ENCOUNTERED
ERROR_EVALUATION_EXPIRATION
ERROR_EVENT_DONE
ERROR_EVENTLOG_CANT_START
ERROR_EVENTLOG_FILE_CHANGED
ERROR_EVENTLOG_FILE_CORRUPT
ERROR_EVENT_PENDING
ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY
ERROR_EVT_CHANNEL_CANNOT_ACTIVATE
ERROR_EVT_CHANNEL_NOT_FOUND
ERROR_EVT_CONFIGURATION_ERROR
ERROR_EVT_EVENT_DEFINITION_NOT_FOUND
ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND
ERROR_EVT_FILTER_ALREADYSCOPED
ERROR_EVT_FILTER_INVARG
ERROR_EVT_FILTER_INVTEST
ERROR_EVT_FILTER_INVTYPE
ERROR_EVT_FILTER_NOTELTSET
ERROR_EVT_FILTER_OUT_OF_RANGE
ERROR_EVT_FILTER_PARSEERR
ERROR_EVT_FILTER_TOO_COMPLEX
ERROR_EVT_FILTER_UNEXPECTEDTOKEN
ERROR_EVT_FILTER_UNSUPPORTEDOP
ERROR_EVT_INVALID_CHANNEL_PATH
ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE
ERROR_EVT_INVALID_EVENT_DATA
ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL
ERROR_EVT_INVALID_PUBLISHER_NAME
ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE
ERROR_EVT_INVALID_QUERY
ERROR_EVT_MALFORMED_XML_TEXT
ERROR_EVT_MAX_INSERTS_REACHED
ERROR_EVT_MESSAGE_ID_NOT_FOUND
ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND
ERROR_EVT_MESSAGE_NOT_FOUND
ERROR_EVT_NON_VALIDATING_MSXML
ERROR_EVT_PUBLISHER_DISABLED
ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND
ERROR_EVT_QUERY_RESULT_INVALID_POSITION
ERROR_EVT_QUERY_RESULT_STALE
ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL
ERROR_EVT_UNRESOLVED_PARAMETER_INSERT
ERROR_EVT_UNRESOLVED_VALUE_INSERT
ERROR_EVT_VERSION_TOO_NEW
ERROR_EVT_VERSION_TOO_OLD
ERROR_EXCEPTION_IN_RESOURCE_CALL
ERROR_EXCEPTION_IN_SERVICE
ERROR_EXCL_SEM_ALREADY_OWNED
ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY
ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY
ERROR_EXE_MACHINE_TYPE_MISMATCH
ERROR_EXE_MARKED_INVALID
Error exit delayed from previous errors.
ERROR_EXPIRED_HANDLE
ERROR_EXTENDED_ERROR
ERROR_EXTENSION_NOT_PRESENT
ERROR_EXTRANEOUS_INFORMATION
ERROR: failed COM initialization.
ERROR_FAILED_DRIVER_ENTRY
ERROR_FAILED_SERVICE_CONTROLLER_CONNECT
ERROR: Failed to determine whether WinSAT was launched by AXE.
Error: Failed to get a temporary filename.
Error: Failed to load the WinSAT Event Viewer XML description from the resource.
ERROR: failed to save can't and why error mesages to the registry
Error: Failed to write temporary file to disk.
ERROR_FAIL_I24
ERROR_FAIL_NOACTION_REBOOT
ERROR_FAIL_REBOOT_INITIATED
ERROR_FAIL_REBOOT_REQUIRED
ERROR_FAIL_RESTART
ERROR_FAIL_SHUTDOWN
ERROR_FATAL_APP_EXIT
ERROR_FEATURE_NOT_PRESENT
ERROR_FILE_CHECKED_OUT
ERROR_FILE_CORRUPT
ERROR_FILE_ENCRYPTED
ERROR_FILE_EXISTS
ERROR_FILE_IDENTITY_NOT_PERSISTENT
ERROR_FILE_INVALID
ERROR_FILEMARK_DETECTED
ERROR_FILENAME_EXCED_RANGE
ERROR_FILE_NOT_ENCRYPTED
ERROR_FILE_NOT_FOUND
ERROR_FILE_OFFLINE
ERROR_FILE_READ_ONLY
ERROR_FILE_SHARE_RESOURCE_CONFLICT
ERROR_FILE_SYSTEM_LIMITATION
ERROR_FILE_TOO_LARGE
ERROR_FILE_VERSION_DIRECTORY_NOT_FOUND
ERROR_FILE_VERSION_LIMIT_EXCEEDED
ERROR_FILE_VERSION_NAME_COLLISION
ERROR_FILE_VERSION_NAME_TOO_LONG
ERROR_FILE_VERSION_NOT_ALLOWED_FOR_VERSION
ERROR_FIRMWARE_UPDATED
ERROR_FLOATED_SECTION
ERROR_FLOAT_MULTIPLE_FAULTS
ERROR_FLOAT_MULTIPLE_TRAPS
ERROR_FLOPPY_BAD_REGISTERS
ERROR_FLOPPY_ID_MARK_NOT_FOUND
ERROR_FLOPPY_UNKNOWN_ERROR
ERROR_FLOPPY_VOLUME
ERROR_FLOPPY_WRONG_CYLINDER
ERROR_FORMAT_NOT_SUPPORTED
ERROR_FORMS_AUTH_REQUIRED
ERROR_FOUND_OUT_OF_SCOPE
ERROR_FRAGMENTATION
ERROR_FRAGMENTED_POOL
ERROR_FS_DRIVER_REQUIRED
ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY
ERROR_FT_READ_RECOVERY_FROM_BACKUP
ERROR_FT_WRITE_RECOVERY
ERROR_FULL_BACKUP
ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT
ERROR_FULLSCREEN_MODE
ERROR_FUNCTION_FAILED
ERROR_FUNCTION_NOT_CALLED
ERROR_GENERIC_COMMAND_FAILED
ERROR_GENERIC_NOT_MAPPED
ERROR_GEN_FAILURE
ErrorGettingBlackoutUntilTime
ErrorGettingCadenceBlockTime
ErrorGettingEngineBlockUntilTime
Error getting IUnknown from disconnected child
ErrorGettingNtdllApiAddresses
ErrorGettingSkuInfo
ErrorGettingWaasMedicSvcRegHealth
ERROR_GLOBAL_ONLY_HOOK
ERROR_GRACEFUL_DISCONNECT
ERROR_GROUP_EXISTS
ERROR_GROUP_NOT_AVAILABLE
ERROR_GROUP_NOT_FOUND
ERROR_GROUP_NOT_ONLINE
ERROR_GUID_SUBSTITUTION_MADE
ERROR_HANDLE_DISK_FULL
ERROR_HANDLE_EOF
ERROR_HANDLE_NO_LONGER_VALID
ERROR_HANDLES_CLOSED
ERROR_HIBERNATED
ERROR_HIBERNATION_FAILURE
ERROR_HOOK_NEEDS_HMOD
ERROR_HOOK_NOT_INSTALLED
ERROR_HOOK_TYPE_NOT_ALLOWED
ERROR_HOST_DOWN
ERROR_HOST_NODE_NOT_AVAILABLE
ERROR_HOST_NODE_NOT_GROUP_OWNER
ERROR_HOST_NODE_NOT_RESOURCE_OWNER
ERROR_HOST_UNREACHABLE
ERROR_HOTKEY_ALREADY_REGISTERED
ERROR_HOTKEY_NOT_REGISTERED
ErrorHResult
ERROR_HWNDS_HAVE_DIFF_PARENT
ERROR_ICM_NOT_ENABLED
errorIcon
ERROR_IEPORT_FULL
ERROR_ILLEGAL_CHARACTER
ERROR_ILLEGAL_DLL_RELOCATION
ERROR_ILLEGAL_ELEMENT_ADDRESS
ERROR_ILLEGAL_FLOAT_CONTEXT
ERROR_ILL_FORMED_PASSWORD
ERROR_IMAGE_MACHINE_TYPE_MISMATCH
ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE
ERROR_IMAGE_NOT_AT_BASE
ERROR_IMPLEMENTATION_LIMIT
ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED
ERROR_INC_BACKUP
ERROR_INCOMPATIBLE_DISPLAY_KHR
ERROR_INCOMPATIBLE_DRIVER
ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE
ERROR_INCOMPATIBLE_SERVICE_SID_TYPE
ERROR_INCORRECT_ADDRESS
ERROR_INCORRECT_SIZE
ERROR_INDEX_ABSENT
ERROR_INDIGENOUS_TYPE
ERROR_INDOUBT_TRANSACTIONS_EXIST
ERROR_INFLOOP_IN_RELOC_CHAIN
ErrorInitFailed
ERROR_INITIALIZATION_FAILED
ErrorInitializingCodeTable
ErrorInitializingpfnLdrInitializeThunk
ErrorInitializingpfnUserThreadStart
ERROR_INSTALL_ALREADY_RUNNING
ERROR_INSTALL_FAILURE
ERROR_INSTALL_LANGUAGE_UNSUPPORTED
ERROR_INSTALL_LOG_FAILURE
ERROR_INSTALL_NOTUSED
ERROR_INSTALL_PACKAGE_INVALID
ERROR_INSTALL_PACKAGE_OPEN_FAILED
ERROR_INSTALL_PACKAGE_REJECTED
ERROR_INSTALL_PACKAGE_VERSION
ERROR_INSTALL_PLATFORM_UNSUPPORTED
ERROR_INSTALL_REMOTE_DISALLOWED
ERROR_INSTALL_REMOTE_PROHIBITED
ERROR_INSTALL_SERVICE_FAILURE
ERROR_INSTALL_SERVICE_SAFEBOOT
ERROR_INSTALL_SOURCE_ABSENT
ERROR_INSTALL_SUSPEND
ERROR_INSTALL_TEMP_UNWRITABLE
ERROR_INSTALL_TRANSFORM_FAILURE
ERROR_INSTALL_TRANSFORM_REJECTED
ERROR_INSTALL_UI_FAILURE
ERROR_INSTALL_USEREXIT
errorInstances
ERROR_INSTRUCTION_MISALIGNMENT
Error:Insufficient Buffer
ERROR_INSUFFICIENT_BUFFER
ERROR_INSUFFICIENT_LOGON_INFO
ERROR_INSUFFICIENT_POWER
ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE
ERROR_INTERNAL_DB_CORRUPTION
ERROR_INTERNAL_DB_ERROR
ERROR_INTERNAL_ERROR
ERROR_INTERRUPT_STILL_CONNECTED
ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED
ERROR_INVALID_ACCEL_HANDLE
ERROR_INVALID_ACCESS
ERROR_INVALID_ACCOUNT_NAME
ERROR_INVALID_ACL
ERROR_INVALID_ADDRESS
ERROR_INVALID_AT_INTERRUPT_TIME
ERROR_INVALID_BLOCK
ERROR_INVALID_BLOCK_LENGTH
ERROR_INVALID_CATEGORY
ERROR_INVALID_CLEANER
ERROR_INVALID_CLUSTER_IPV6_ADDRESS
ERROR_INVALID_CMM
ERROR_INVALID_COLORINDEX
ERROR_INVALID_COLORSPACE
ERROR_INVALID_COMBOBOX_MESSAGE
ERROR_INVALID_COMMAND_LINE
ERROR_INVALID_COMPUTERNAME
ERROR_INVALID_CRUNTIME_PARAMETER
ERROR_INVALID_CURSOR_HANDLE
ERROR_INVALID_DATA
ERROR_INVALID_DATATYPE
ERROR_INVALID_DEVICE_OBJECT_PARAMETER
ERROR_INVALID_DLL
ERROR_INVALID_DOMAINNAME
ERROR_INVALID_DOMAIN_ROLE
ERROR_INVALID_DOMAIN_STATE
ERROR_INVALID_DRIVE
ERROR_INVALID_DRIVE_OBJECT
ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT
ERROR_INVALID_DWP_HANDLE
ERROR_INVALID_EA_HANDLE
ERROR_INVALID_EA_NAME
ERROR_INVALID_EDIT_HEIGHT
ERROR_INVALID_ENVIRONMENT
ErrorInvalidErrorCheckLevel
ERROR_INVALID_EVENT_COUNT
ERROR_INVALID_EVENTNAME
ERROR_INVALID_EXE_SIGNATURE
ERROR_INVALID_EXTERNAL_HANDLE
ERROR_INVALID_FIELD
ERROR_INVALID_FILE_VERSION_FLAG
ERROR_INVALID_FILE_VERSION_TAG
ERROR_INVALID_FILTER_PROC
ERROR_INVALID_FLAG_NUMBER
ERROR_INVALID_FLAGS
ERROR_INVALID_FORM_NAME
ERROR_INVALID_FORM_SIZE
ERROR_INVALID_FUNCTION
ERROR_INVALID_GROUP_ATTRIBUTES
ERROR_INVALID_GROUPNAME
ERROR_INVALID_GW_COMMAND
ERROR_INVALID_HANDLE
ERROR_INVALID_HANDLE_STATE
ERROR_INVALID_HOOK_FILTER
ERROR_INVALID_HOOK_HANDLE
ERROR_INVALID_HW_PROFILE
ERROR_INVALID_ICON_HANDLE
ERROR_INVALID_ID_AUTHORITY
ERROR_INVALID_IMAGE_HASH
ERROR_INVALID_IMPORT_OF_NON_DLL
ERROR_INVALID_INDEX
ERROR_INVALID_KEYBOARD_HANDLE
ERROR_INVALID_LABEL
ERROR_INVALID_LB_MESSAGE
ERROR_INVALID_LDT_DESCRIPTOR
ERROR_INVALID_LDT_OFFSET
ERROR_INVALID_LDT_SIZE
ERROR_INVALID_LEVEL
ERROR_INVALID_LIBRARY
ERROR_INVALID_LIST_FORMAT
ERROR_INVALID_LOGON_HOURS
ERROR_INVALID_LOGON_TYPE
ERROR_INVALID_MEDIA
ERROR_INVALID_MEDIA_POOL
ERROR_INVALID_MEMBER
ERROR_INVALID_MENU_HANDLE
ERROR_INVALID_MESSAGE
ERROR_INVALID_MESSAGEDEST
ERROR_INVALID_MESSAGENAME
ERROR_INVALID_MINALLOCSIZE
ERROR_INVALID_MODULETYPE
ERROR_INVALID_MONITOR_HANDLE
ERROR_INVALID_MSGBOX_STYLE
ERROR_INVALID_NAME
ERROR_INVALID_NETNAME
ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS
ERROR_INVALID_OPERATION
ERROR_INVALID_OPERATION_ON_QUORUM
ERROR_INVALID_OPLOCK_PROTOCOL
ERROR_INVALID_ORDINAL
ERROR_INVALID_OWNER
ERROR_INVALID_PARAMETER
ERROR_INVALID_PASSWORD
ERROR_INVALID_PASSWORDNAME
ERROR_INVALID_PATCH_XML
ERROR_INVALID_PIXEL_FORMAT
ERROR_INVALID_PLUGPLAY_DEVICE_PATH
ERROR_INVALID_PORT_ATTRIBUTES
ERROR_INVALID_PRIMARY_GROUP
ERROR_INVALID_PRINTER_COMMAND
ERROR_INVALID_PRINTER_NAME
ERROR_INVALID_PRINTER_STATE
ERROR_INVALID_PRINT_MONITOR
ERROR_INVALID_PRIORITY
ERROR_INVALID_PROFILE
ERROR_INVALID_QUOTA_LOWER
ErrorInvalidReason
ErrorInvalidRecorderParams
ERROR_INVALID_REPARSE_DATA
ERROR_INVALID_SCROLLBAR_RANGE
ERROR_INVALID_SECURITY_DESCR
ERROR_INVALID_SEGDPL
ERROR_INVALID_SEGMENT_NUMBER
ERROR_INVALID_SEPARATOR_FILE
ERROR_INVALID_SERVER_STATE
ERROR_INVALID_SERVICE_ACCOUNT
ERROR_INVALID_SERVICE_CONTROL
ERROR_INVALID_SERVICE_LOCK
ERROR_INVALID_SERVICENAME
ERROR_INVALID_SHADER_NV
ERROR_INVALID_SHARENAME
ERROR_INVALID_SHOWWIN_COMMAND
ERROR_INVALID_SID
ERROR_INVALID_SIGNAL_NUMBER
ERROR_INVALID_SPI_VALUE
ERROR_INVALID_STACKSEG
ERROR_INVALID_STARTING_CODESEG
ERROR_INVALID_STATE
ERROR_INVALID_SUB_AUTHORITY
ERROR_INVALID_TABLE
ERROR_INVALID_TARGET_HANDLE
ERROR_INVALID_TASK_INDEX
ERROR_INVALID_TASK_NAME
ERROR_INVALID_THREAD_ID
ERROR_INVALID_TIME
Error:Invalid TMC annotation
ERROR_INVALID_TRANSACTION
ERROR_INVALID_TRANSFORM
ERROR_INVALID_UNWIND_TARGET
ERROR_INVALID_USER_BUFFER
ERROR_INVALID_VARIANT
ERROR_INVALID_VERIFY_SWITCH
ERROR_INVALID_WINDOW_HANDLE
ERROR_INVALID_WINDOW_STYLE
ERROR_INVALID_WORKSTATION
ERROR_IO_DEVICE
ERROR_IO_INCOMPLETE
ERROR_IO_PENDING
ERROR_IOPL_NOT_ENABLED
ERROR_IO_PRIVILEGE_FAILED
ERROR_IO_REISSUE_AS_CACHED
ERROR_IP_ADDRESS_CONFLICT1
ERROR_IP_ADDRESS_CONFLICT2
ERROR_IPSEC_BAD_SPI
ERROR_IPSEC_CLEAR_TEXT_DROP
ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND
ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND
ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND
ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED
ERROR_IPSEC_IKE_ATTRIB_FAIL
ERROR_IPSEC_IKE_AUTH_FAIL
ERROR_IPSEC_IKE_BENIGN_REINIT
ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH
ERROR_IPSEC_IKE_CGA_AUTH_FAILED
ERROR_IPSEC_IKE_CRITICAL_PAYLOAD_NOT_RECOGNIZED
ERROR_IPSEC_IKE_CRL_FAILED
ERROR_IPSEC_IKE_DECRYPT
ERROR_IPSEC_IKE_DH_FAIL
ERROR_IPSEC_IKE_DH_FAILURE
ERROR_IPSEC_IKE_DOS_COOKIE_SENT
ERROR_IPSEC_IKE_DROP_NO_RESPONSE
ERROR_IPSEC_IKE_ENCRYPT
ERROR_IPSEC_IKE_ERROR
ERROR_IPSEC_IKE_FAILQUERYSSP
ERROR_IPSEC_IKE_FAILSSPINIT
ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR
ERROR_IPSEC_IKE_GETSPIFAIL
ERROR_IPSEC_IKE_INVALID_AUTH_ALG
ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD
ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN
ERROR_IPSEC_IKE_INVALID_CERT_TYPE
ERROR_IPSEC_IKE_INVALID_COOKIE
ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG
ERROR_IPSEC_IKE_INVALID_FILTER
ERROR_IPSEC_IKE_INVALID_GROUP
ERROR_IPSEC_IKE_INVALID_HASH
ERROR_IPSEC_IKE_INVALID_HASH_ALG
ERROR_IPSEC_IKE_INVALID_HASH_SIZE
ERROR_IPSEC_IKE_INVALID_HEADER
ERROR_IPSEC_IKE_INVALID_KEY_USAGE
ERROR_IPSEC_IKE_INVALID_MAJOR_VERSION
ERROR_IPSEC_IKE_INVALID_MM_FOR_QM
ERROR_IPSEC_IKE_INVALID_PAYLOAD
ERROR_IPSEC_IKE_INVALID_POLICY
ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY
ERROR_IPSEC_IKE_INVALID_SIG
ERROR_IPSEC_IKE_INVALID_SIGNATURE
ERROR_IPSEC_IKE_INVALID_SITUATION
ERROR_IPSEC_IKE_KERBEROS_ERROR
ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL
ERROR_IPSEC_IKE_LOAD_FAILED
ERROR_IPSEC_IKE_LOAD_SOFT_SA
ERROR_IPSEC_IKE_MM_ACQUIRE_DROP
ERROR_IPSEC_IKE_MM_DELAY_DROP
ERROR_IPSEC_IKE_MM_EXPIRED
ERROR_IPSEC_IKE_MM_LIMIT
ERROR_IPSEC_IKE_NEGOTIATION_DISABLED
ERROR_IPSEC_IKE_NEGOTIATION_PENDING
ERROR_IPSEC_IKE_NEG_STATUS_BEGIN
ERROR_IPSEC_IKE_NEG_STATUS_END
ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END
ERROR_IPSEC_IKE_NO_CERT
ERROR_IPSEC_IKE_NO_MM_POLICY
ERROR_IPSEC_IKE_NO_PEER_CERT
ERROR_IPSEC_IKE_NO_POLICY
ERROR_IPSEC_IKE_NO_PRIVATE_KEY
ERROR_IPSEC_IKE_NO_PUBLIC_KEY
ERROR_IPSEC_IKE_NOTCBPRIV
ERROR_IPSEC_IKE_OUT_OF_MEMORY
ERROR_IPSEC_IKE_PEER_CRL_FAILED
ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID
ERROR_IPSEC_IKE_POLICY_CHANGE
ERROR_IPSEC_IKE_POLICY_MATCH
ERROR_IPSEC_IKE_PROCESS_ERR
ERROR_IPSEC_IKE_PROCESS_ERR_CERT
ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ
ERROR_IPSEC_IKE_PROCESS_ERR_DELETE
ERROR_IPSEC_IKE_PROCESS_ERR_HASH
ERROR_IPSEC_IKE_PROCESS_ERR_ID
ERROR_IPSEC_IKE_PROCESS_ERR_KE
ERROR_IPSEC_IKE_PROCESS_ERR_NATOA
ERROR_IPSEC_IKE_PROCESS_ERR_NONCE
ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY
ERROR_IPSEC_IKE_PROCESS_ERR_PROP
ERROR_IPSEC_IKE_PROCESS_ERR_SA
ERROR_IPSEC_IKE_PROCESS_ERR_SIG
ERROR_IPSEC_IKE_PROCESS_ERR_TRANS
ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR
ERROR_IPSEC_IKE_QM_ACQUIRE_DROP
ERROR_IPSEC_IKE_QM_DELAY_DROP
ERROR_IPSEC_IKE_QM_EXPIRED
ERROR_IPSEC_IKE_QM_LIMIT
ERROR_IPSEC_IKE_QUEUE_DROP_MM
ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM
ERROR_IPSEC_IKE_RPC_DELETE
ERROR_IPSEC_IKE_SA_DELETED
ERROR_IPSEC_IKE_SA_REAPED
ERROR_IPSEC_IKE_SECLOADFAIL
ERROR_IPSEC_IKE_SHUTTING_DOWN
ERROR_IPSEC_IKE_SIMULTANEOUS_REKEY
ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN
ERROR_IPSEC_IKE_SRVACQFAIL
ERROR_IPSEC_IKE_SRVQUERYCRED
ERROR_IPSEC_IKE_TIMED_OUT
ERROR_IPSEC_IKE_TOO_MANY_FILTERS
ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID
ERROR_IPSEC_IKE_UNKNOWN_DOI
ERROR_IPSEC_IKE_UNSUPPORTED_ID
ERROR_IPSEC_INTEGRITY_CHECK_FAILED
ERROR_IPSEC_INVALID_PACKET
ERROR_IPSEC_MM_AUTH_EXISTS
ERROR_IPSEC_MM_AUTH_IN_USE
ERROR_IPSEC_MM_AUTH_NOT_FOUND
ERROR_IPSEC_MM_AUTH_PENDING_DELETION
ERROR_IPSEC_MM_FILTER_EXISTS
ERROR_IPSEC_MM_FILTER_NOT_FOUND
ERROR_IPSEC_MM_FILTER_PENDING_DELETION
ERROR_IPSEC_MM_POLICY_EXISTS
ERROR_IPSEC_MM_POLICY_IN_USE
ERROR_IPSEC_MM_POLICY_NOT_FOUND
ERROR_IPSEC_MM_POLICY_PENDING_DELETION
ERROR_IPSEC_QM_POLICY_EXISTS
ERROR_IPSEC_QM_POLICY_IN_USE
ERROR_IPSEC_QM_POLICY_NOT_FOUND
ERROR_IPSEC_QM_POLICY_PENDING_DELETION
ERROR_IPSEC_REPLAY_CHECK_FAILED
ERROR_IPSEC_SA_LIFETIME_EXPIRED
ERROR_IPSEC_TRANSPORT_FILTER_EXISTS
ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND
ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION
ERROR_IPSEC_TUNNEL_FILTER_EXISTS
ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND
ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION
ERROR_IPSEC_WRONG_SA
ERROR_IRQ_BUSY
ERROR_IS_JOINED
ERROR_IS_JOIN_PATH
ERROR_IS_JOIN_TARGET
ERROR_IS_SUBSTED
ERROR_IS_SUBST_PATH
ERROR_IS_SUBST_TARGET
ERROR_ITERATED_DATA_EXCEEDS_64k
ERROR_JOIN_TO_JOIN
ERROR_JOIN_TO_SUBST
ERROR_JOURNAL_DELETE_IN_PROGRESS
ERROR_JOURNAL_ENTRY_DELETED
ERROR_JOURNAL_HOOK_SET
ERROR_JOURNAL_NOT_ACTIVE
ERROR_KERNEL_APC
ERROR_KEY_DELETED
ERROR_KEY_HAS_CHILDREN
ERROR_KM_DRIVER_BLOCKED
ERROR_LABEL_TOO_LONG
ERROR_LAST_ADMIN
ERROR_LAYER_NOT_PRESENT
ERROR_LB_WITHOUT_TABSTOPS
ERROR_LIBRARY_FULL
ERROR_LIBRARY_OFFLINE
ERROR_LICENSE_QUOTA_EXCEEDED
ERROR_LISTBOX_ID_NOT_FOUND
ERROR_LM_CROSS_ENCRYPTION_REQUIRED
Error loading operating system
Error: Loading resource 
ERROR:  LoadResultsIntoDOMNode failed.
ERROR_LOCAL_USER_SESSION_KEY
ERROR_LOCKED
ERROR_LOCK_FAILED
ERROR_LOCK_VIOLATION
ERROR_LOG_APPENDED_FLUSH_FAILED
ERROR_LOG_ARCHIVE_IN_PROGRESS
ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS
ERROR_LOG_BLOCK_INCOMPLETE
ERROR_LOG_BLOCK_INVALID
ERROR_LOG_BLOCKS_EXHAUSTED
ERROR_LOG_BLOCK_VERSION
ERROR_LOG_CANT_DELETE
ERROR_LOG_CLIENT_ALREADY_REGISTERED
ERROR_LOG_CLIENT_NOT_REGISTERED
ERROR_LOG_CONTAINER_LIMIT_EXCEEDED
ERROR_LOG_CONTAINER_OPEN_FAILED
ERROR_LOG_CONTAINER_READ_FAILED
ERROR_LOG_CONTAINER_STATE_INVALID
ERROR_LOG_CONTAINER_WRITE_FAILED
ERROR_LOG_CORRUPTION_DETECTED
ERROR_LOG_DEDICATED
ERROR_LOG_EPHEMERAL
ERROR_LOG_FILE_FULL
ErrorLogFilePathTooLong
ERROR_LOG_FULL
ERROR_LOG_FULL_HANDLER_IN_PROGRESS
ERROR_LOG_GROWTH_FAILED
ERROR_LOG_HARD_ERROR
ERROR_LOG_INCONSISTENT_SECURITY
ERROR_LOGIN_TIME_RESTRICTION
ERROR_LOG_INVALID_RANGE
ERROR_LOGIN_WKSTA_RESTRICTION
ERROR_LOG_METADATA_CORRUPT
ERROR_LOG_METADATA_FLUSH_FAILED
ERROR_LOG_METADATA_INCONSISTENT
ERROR_LOG_METADATA_INVALID
ERROR_LOG_MULTIPLEXED
ERROR_LOG_NO_RESTART
ERROR_LOG_NOT_ENOUGH_CONTAINERS
ERROR_LOGON_FAILURE
ERROR_LOGON_NOT_GRANTED
ERROR_LOGON_SERVER_CONFLICT
ERROR_LOGON_SESSION_COLLISION
ERROR_LOGON_SESSION_EXISTS
ERROR_LOGON_TYPE_NOT_GRANTED
ERROR_LOG_PINNED
ERROR_LOG_PINNED_ARCHIVE_TAIL
ERROR_LOG_PINNED_RESERVATION
ERROR_LOG_POLICY_ALREADY_INSTALLED
ERROR_LOG_POLICY_CONFLICT
ERROR_LOG_POLICY_INVALID
ERROR_LOG_POLICY_NOT_INSTALLED
ERROR_LOG_READ_CONTEXT_INVALID
ERROR_LOG_READ_MODE_INVALID
ERROR_LOG_RECORD_NONEXISTENT
ERROR_LOG_RECORDS_RESERVED_INVALID
ERROR_LOG_RESERVATION_INVALID
ERROR_LOG_RESIZE_INVALID_SIZE
ERROR_LOG_RESTART_INVALID
ERROR_LOG_SECTOR_INVALID
ERROR_LOG_SECTOR_PARITY_INVALID
ERROR_LOG_SECTOR_REMAPPED
ERROR_LOG_SPACE_RESERVED_INVALID
ERROR_LOG_START_OF_LOG
ERROR_LOG_STATE_INVALID
ERROR_LOG_TAIL_INVALID
ERROR_LONGJUMP
ERROR_LOST_WRITEBEHIND_DATA
ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR
ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED
ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR
ERROR_LUIDS_EXHAUSTED
ERROR_MACHINE_LOCKED
ERROR_MAGAZINE_NOT_PRESENT
ERROR_MALFORMED_SUBSTITUTION_STRING
ErrorMap_InsertInfo failed
ERROR_MAPPED_ALIGNMENT
ERROR_MARSHALL_OVERFLOW
ERROR_MAX_SESSIONS_REACHED
ERROR_MAX_THRDS_REACHED
ERROR_MCA_EXCEPTION
ERROR_MCA_INTERNAL_ERROR
ERROR_MCA_INVALID_CAPABILITIES_STRING
ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED
ERROR_MCA_INVALID_VCP_VERSION
ERROR_MCA_MCCS_VERSION_MISMATCH
ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION
ERROR_MCA_OCCURED
ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE
ERROR_MCA_UNSUPPORTED_MCCS_VERSION
ERROR_MEDIA_CHANGED
ERROR_MEDIA_CHECK
ERROR_MEDIA_INCOMPATIBLE
ERROR_MEDIA_NOT_AVAILABLE
ERROR_MEDIA_OFFLINE
ERROR_MEDIA_UNAVAILABLE
ERROR_MEDIUM_NOT_ACCESSIBLE
ERROR_MEMBER_IN_ALIAS
ERROR_MEMBER_IN_GROUP
ERROR_MEMBER_NOT_IN_ALIAS
ERROR_MEMBER_NOT_IN_GROUP
ERROR_MEMBERS_PRIMARY_GROUP
ERROR_MEMORY_HARDWARE
ERROR_MEMORY_MAP_FAILED
ERROR_MENU_ITEM_NOT_FOUND
ErrorMessage
ERROR_MESSAGE_EXCEEDS_MAX_SIZE
error message is too large
ErrorMessagePrint
ERROR_MESSAGE_SYNC_ONLY
ERROR_META_EXPANSION_TOO_LONG
ERROR_METAFILE_NOT_SUPPORTED
ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION
ERROR_MISSING_SYSTEMFILE
errormode
ERROR_MOD_NOT_FOUND
ERROR_MORE_DATA
ERROR_MORE_WRITES
ERROR_MOUNT_POINT_NOT_RESOLVED
ERROR_MP_PROCESSOR_MISMATCH
ERROR_MR_MID_NOT_FOUND
ErrorMsg
ERROR_MUI_FILE_NOT_FOUND
ERROR_MUI_FILE_NOT_LOADED
ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME
ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED
ERROR_MUI_INVALID_FILE
ERROR_MUI_INVALID_LOCALE_NAME
ERROR_MUI_INVALID_RC_CONFIG
ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME
ERROR_MULTIPLE_FAULT_VIOLATION
ERROR_MUTANT_LIMIT_EXCEEDED
ERROR_MUTUAL_AUTH_FAILED
ERROR:  MXMLResourceLoader failed to load WinsatSchema.xsd
ERROR_NATIVE_WINDOW_IN_USE_KHR
ERROR_NEGATIVE_SEEK
ERROR_NESTING_NOT_ALLOWED
ERROR_NETLOGON_NOT_STARTED
ERROR_NETNAME_DELETED
ERROR_NET_OPEN_FAILED
ERROR_NETWORK_ACCESS_DENIED
ERROR_NETWORK_BUSY
ERROR_NETWORK_NOT_AVAILABLE
ERROR_NETWORK_UNREACHABLE
ERROR_NET_WRITE_FAULT
ERROR_NOACCESS
ERROR_NO_ASSOCIATION
ERROR_NO_BROWSER_SERVERS_FOUND
ERROR: No Cache information found on this machine
ERROR_NO_CALLBACK_ACTIVE
ErrorNoClientParams
ERROR_NO_DATA
ERROR_NO_DATA_DETECTED
ERROR_NODE_CANNOT_BE_CLUSTERED
ERROR_NODE_CANT_HOST_RESOURCE
ERROR_NODE_NOT_AVAILABLE
ERROR_NO_EFS
ERROR_NO_EVENT_PAIR
ERROR_NO_GUID_TRANSLATION
ERROR_NO_IMPERSONATION_TOKEN
ERROR_NO_INHERITANCE
ERROR_NOINTERFACE
ERROR_NO_LINK_TRACKING_IN_TRANSACTION
ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT
ERROR_NO_LOGON_SERVERS
ERROR_NOLOGON_SERVER_TRUST_ACCOUNT
ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT
ERROR_NO_LOG_SPACE
ERROR_NO_MATCH
ERROR_NO_MEDIA_IN_DRIVE
ERROR_NO_MORE_DEVICES
ERROR_NO_MORE_FILES
ERROR_NO_MORE_ITEMS
ERROR_NO_MORE_MATCHES
ERROR_NO_MORE_SEARCH_HANDLES
ERROR_NO_MORE_USER_HANDLES
ERROR_NON_ACCOUNT_SID
ERROR_NONCORE_GROUPS_FOUND
ERROR_NON_DOMAIN_SID
ERROR_NONE_MAPPED
ERROR_NO_NET_OR_BAD_PATH
ERROR_NO_NETWORK
ERROR_NON_MDICHILD_WINDOW
ERROR_NONPAGED_SYSTEM_RESOURCES
ERROR_NO_PAGEFILE
ErrorNoPreviousSession
ERROR_NO_PROC_SLOTS
ERROR_NO_PROMOTION_ACTIVE
ERROR_NO_QUOTAS_FOR_ACCOUNT
ERROR_NO_RECOVERY_POLICY
ERROR_NO_RECOVERY_PROGRAM
ERROR_NO_SAVEPOINT_WITH_OPEN_FILES
ERROR_NO_SCROLLBARS
ERROR_NO_SECRETS
ERROR_NO_SECURITY_ON_OBJECT
ERROR_NO_SHUTDOWN_IN_PROGRESS
ERROR_NO_SIGNAL_SENT
ERROR_NO_SITENAME
ERROR_NO_SITE_SETTINGS_OBJECT
ERROR_NO_SPOOL_SPACE
ERROR_NO_SUCH_ALIAS
ERROR_NO_SUCH_DOMAIN
ERROR_NO_SUCH_GROUP
ERROR_NO_SUCH_LOGON_SESSION
ERROR_NO_SUCH_MEMBER
ERROR_NO_SUCH_PACKAGE
ERROR_NO_SUCH_PRIVILEGE
ERROR_NO_SUCH_SITE
ERROR_NO_SUCH_USER
ERROR_NO_SUPPORTING_DRIVES
ERROR_NO_SYSTEM_MENU
ERROR_NO_SYSTEM_RESOURCES
ERROR_NOT_ALL_ASSIGNED
ERROR_NOT_A_REPARSE_POINT
ERROR_NOT_AUTHENTICATED
ERROR_NOT_CAPABLE
ERROR_NOT_CHILD_WINDOW
ERROR_NOT_CONNECTED
ERROR_NOT_CONTAINER
ERROR_NOT_DOS_DISK
ERROR_NOT_EMPTY
ERROR_NOT_ENOUGH_MEMORY
ERROR_NOT_ENOUGH_QUOTA
ERROR_NOT_ENOUGH_SERVER_MEMORY
ERROR_NOT_EXPORT_FORMAT
ERROR_NOT_FOUND
ERROR_NOTHING_TO_TERMINATE
ERROR_NOTIFY_CLEANUP
ERROR_NOTIFY_ENUM_DIR
ERROR_NOT_JOINED
ERROR_NOT_LOCKED
ERROR_NOT_LOGGED_ON
ERROR_NOT_LOGON_PROCESS
ERROR_NO_TOKEN
ERROR_NOT_OWNER
ERROR_NOT_PERMITTED_KHR
ERROR_NOT_QUORUM_CAPABLE
ERROR_NOT_QUORUM_CLASS
ERROR_NO_TRACKING_SERVICE
ERROR_NOT_READY
ERROR_NOT_REGISTRY_FILE
ERROR_NO_TRUST_LSA_SECRET
ERROR_NO_TRUST_SAM_ACCOUNT
ERROR_NOT_SAFEBOOT_SERVICE
ERROR_NOT_SAFE_MODE_DRIVER
ERROR_NOT_SAME_DEVICE
ERROR_NOT_SNAPSHOT_VOLUME
ERROR_NOT_SUBSTED
ERROR_NOT_SUPPORTED
ERROR_NOT_SUPPORTED_ON_SBS
ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER
ERROR_NOT_TINY_STREAM
ERROR_NO_TXF_METADATA
ERROR_NO_UNICODE_TRANSLATION
ERROR_NO_USER_KEYS
ERROR_NO_USER_SESSION_KEY
ERROR_NO_VOLUME_ID
ERROR_NO_VOLUME_LABEL
ERROR_NO_WILDCARD_CHARACTERS
ERROR_NO_WRITABLE_DC_FOUND
ERROR_NO_YIELD_PERFORMED
ERROR_NT_CROSS_ENCRYPTION_REQUIRED
ERROR_NTLM_BLOCKED
ERROR_NULL_LM_PASSWORD
errorNumber
ERROR_OBJECT_ALREADY_EXISTS
ERROR_OBJECT_IN_LIST
ERROR_OBJECT_NAME_EXISTS
ERROR_OBJECT_NO_LONGER_EXISTS
ERROR_OBJECT_NOT_FOUND
Error occurred
ERROR_OLD_WIN_VERSION
ErrorOnEarlyStartTestGenerated
ErrorOnLateStartTestGenerated
ERROR_ONLY_IF_CONNECTED
Error: Only one operation is supported at a time
ERROR_OPEN_FAILED
ERROR_OPEN_FILES
Error opening driver
ERROR_OPERATION_ABORTED
ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION
ERROR_OPLOCK_BREAK_IN_PROGRESS
ERROR_OPLOCK_NOT_GRANTED
Error Originate:ActiveHoursHelper::GetDeviceActiveHours:323
Error Originate:ActiveHoursHelper::GetDeviceActiveHours:330
Error Originate:CUSOCorrelationVector::GenerateRootCorrelationVector:102
Error Originate:CUSOCorrelationVector::GenerateRootCorrelationVector:76
Error Originate:CUSOCorrelationVector::GenerateRootCorrelationVector:91
Error Originate:CUSOCorrelationVector::GetRootCorrelationVector:628
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:183
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:201
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:214
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:226
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:244
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:258
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:266
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:278
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:297
Error Originate:CUSOCorrelationVector::ProgressRootCorrelationVector:312
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:414
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:427
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:438
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:456
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:470
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:478
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:490
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:509
Error Originate:CUSOCorrelationVector::ProgressUpdateCorrelationVector:536
Error Originate:CUSOCorrelationVector::SetCorrelationVectorUpdateProperty:732
Error Originate:CUSOCorrelationVector::SetCorrelationVectorUpdateProperty:762
Error Originate:ExpeditedModeHelper::GetComplianceDeadlineState:502
Error Originate:GetVariableValueFromEscalations:100
Error Originate:InstallationHandler::LogInstallationResults:366
Error Originate:OtaUpdatesPerSkuGetUpdateResults:40
Error Originate:OtcUpdatesPerSkuInstallUpdates:128
Error Originate:OtcUpdatesPerSkuInstallUpdates:135
Error Originate:OtcUpdatesPerSkuInstallUpdates:144
Error Originate:OtcUpdatesPerSkuInstallUpdates:157
Error Originate:OtcUpdatesPerSkuInstallUpdates:164
Error Originate:OtcUpdatesPerSkuInstallUpdates:171
Error Originate:ParseEscalationsArrayFromJson:471
Error Originate:ParseEscalationsArrayFromJson:482
Error Originate:ParseEscalationsArrayFromJson:483
Error Originate:ParseEscalationsArrayFromJson:484
Error Originate:ParseEscalationsArrayFromJson:485
Error Originate:ParseEscalationsArrayFromJson:486
Error Originate:ParseEscalationsArrayFromJson:497
Error Originate:ParseEscalationsArrayFromJson:501
Error Originate:ParseVariablesFromJsonArray:412
Error Originate:ParseVariablesFromJsonArray:420
Error Originate:ParseVariablesFromJsonArray:421
Error Originate:ParseVariablesFromJsonArray:422
Error Originate:ParseVariablesFromJsonArray:423
Error Originate:ParseVariablesFromJsonArray:424
Error Originate:ThreadPoolTimerCallback:102
Error Originate:ThreadPoolTimerCallback:120
Error Originate:ThreadPoolTimerCallback:129
Error Originate:ThreadPoolTimerCallback:140
Error Originate:TroubleshootingPerSkuCollectFiles:27
Error Originate:TroubleshootingPerSkuCollectFiles:34
Error Originate:UpdateAgentWrapper::CleanMetadataFolder:41
Error Originate:UpdateAgentWrapper::CleanMetadataFolder:71
Error Originate:UpdateAgentWrapper::CleanMetadataFolder:85
Error Originate:UpdateAgentWrapper::CommitActionList:352
Error Originate:UpdateAgentWrapper::CommitActionList:364
Error Originate:UpdateAgentWrapper::CommitActionList:371
Error Originate:UpdateAgentWrapper::CommitActionList:378
Error Originate:UpdateAgentWrapper::CommitActionList:385
Error Originate:UpdateAgentWrapper::CreateActionList:224
Error Originate:UpdateAgentWrapper::CreateActionList:236
Error Originate:UpdateAgentWrapper::CreateActionList:243
Error Originate:UpdateAgentWrapper::CreateActionList:250
Error Originate:UpdateAgentWrapper::CreateActionList:260
Error Originate:UpdateAgentWrapper::Initialize:112
Error Originate:UpdateAgentWrapper::Initialize:119
Error Originate:UpdateAgentWrapper::Initialize:130
Error Originate:UpdateAgentWrapper::Initialize:157
Error Originate:UpdateAgentWrapper::Initialize:166
Error Originate:UpdateAgentWrapper::Initialize:176
Error Originate:UpdateAgentWrapper::Initialize:185
Error Originate:UpdateAgentWrapper::Initialize:195
Error Originate:UpdateAgentWrapper::InstallActionList:283
Error Originate:UpdateAgentWrapper::InstallActionList:295
Error Originate:UpdateAgentWrapper::InstallActionList:304
Error Originate:UpdateAgentWrapper::InstallActionList:311
Error Originate:UpdateAgentWrapper::InstallActionList:318
Error Originate:UpdateAgentWrapper::InstallActionList:325
Error Originate:UpdateAgentWrapper::InstallActionList:334
Error Originate:UpdateEscalationManager::GetVariableValue:133
Error Originate:UpdateEscalationManager::GetVariableValue:143
Error Originate:UpdateEscalationManager::GetVariableValue:174
Error Originate:UpdateEscalationManager::Initialize:540
Error Originate:UpdateEscalationManager::Initialize:541
Error Originate:UpdateEscalationManager::RefreshFromSettings:594
Error Originate:UpdateEscalationManager::RefreshFromSettings:602
Error Originate:UpdateEscalationManager::RefreshFromSettings:610
Error Originate:UpdateEscalationManager::RefreshFromSettings:619
Error Originate:UpdateEscalationManager::RefreshFromSettings:641
Error Originate:UpdateEscalationManager::RefreshFromSettings:646
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:201
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:206
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:212
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:223
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:235
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:240
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:253
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:262
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:342
Error Originate:UpdateEscalationManager::SetCurrentRiskLevels:358
Error Originate:UpdateHandlerBase::CheckActivityRestrictionsDueToPolicy:1072
Error Originate:UpdateHandlerBase::CheckUpdateHistoryStatusInfoAndLogEvent:701
Error Originate:UpdateHandlerBase::CheckUpdateHistoryStatusInfoAndLogEvent:718
Error Originate:UpdateHandlerBase::CheckUpdatesForStatuses:864
Error Originate:UpdateHandlerBase::CheckUpdatesForStatuses:875
Error Originate:UpdateHandlerBase::EvaluateActivityRestrictions:1131
Error Originate:UpdateHandlerBase::EvaluateActivityRestrictions:1136
Error Originate:UpdateHandlerBase::EvaluateActivityRestrictions:1141
Error Originate:UpdateHandlerBase::EvaluateActivityRestrictions:1150
Error Originate:UpdateHandlerBase::EvaluateActivityRestrictions:1167
Error Originate:UpdateHandlerBase::GetBatteryLevelFromWNF:1319
Error Originate:UpdateHandlerBase::LogUpdateRebootRequiredTelemetryEvent:1629
Error Originate:UpdateHandlerBase::LogUpdateRebootRequiredTelemetryEvent:1639
Error Originate:UpdateHandlerBase::LogUpdateRebootRequiredTelemetryEvent:1647
Error Originate:UpdateHandlerBase::LogUpdateRebootRequiredTelemetryEvent:1667
Error Originate:UpdateHandlerBase::LogUsoUpdateTerminatedByActiveHours:1860
Error Originate:UpdateHandlerBase::MarkUpdatesWithUpdateStatusInfo:506
Error Originate:UpdateHandlerBase::MarkUpdatesWithUpdateStatusInfo:517
Error Originate:UpdateHandlerBase::MarkUpdatesWithUpdateStatusInfoAndLogEvent:565
Error Originate:UpdateHandlerBase::MarkUpdatesWithUpdateStatusInfoAndLogEvent:576
Error Originate:UpdateHandlerBase::SetUpdatesWithNewUpdateStatusInfoAndLogEvent:775
Error Originate:UpdateHandlerBase::SetUpdatesWithNewUpdateStatusInfoAndLogEvent:786
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1209
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1225
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1228
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1233
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1235
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1243
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1245
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1250
Error Originate:UpdateHandlerBase::SetUpWNFSubscribers:1253
Error Originate:UpdateHandlerBase::StartDiskCleanupIfRequired:1958
Error Originate:UpdateHandlerBase::StartDiskCleanupIfRequired:1986
Error Originate:UpdateHandlerBase::StartDiskCleanupIfRequired:1995
Error Originate:UpdateHelper::AreEntriesEqual:414
Error Originate:UpdateHelper::CheckIfUUPFallBackNeeded:998
Error Originate:UpdateHelper::GetFlightID:212
Error Originate:UpdateHelper::GetFlightID:224
Error Originate:UpdateHelper::GetFlightID:230
Error Originate:UpdateHelper::GetFlightID:238
Error Originate:UpdateHelper::GetScenarioType:277
Error Originate:UpdateHelper::IsDeserializationFailureSimulated:358
Error Originate:UpdateHelper::IsOobeUpdate:1098
Error Originate:UpdateHelper::IsUUPFallBackError:649
Error Originate:UpdateHelper::IsUUPFallBackError:656
Error Originate:UpdateHelper::IsUUPFallBackExpired:775
Error Originate:UpdateHelper::IsWaaSUpToDateAssessmentThresholdExceeded:918
Error Originate:UpdateStore::DeleteSessionVariable:1016
Error Originate:UpdateStore::EnsureStoreDirCreated:1221
Error Originate:UpdateStore::EnsureStoreDirCreated:1243
Error Originate:UpdateStore::ExtractSessionVariablesTable:1753
Error Originate:UpdateStore::ExtractSessionVariablesTable:1772
Error Originate:UpdateStore::ExtractUpdatesTable:1841
Error Originate:UpdateStore::ExtractUpdateStore:1674
Error Originate:UpdateStore::ExtractUpdateStore:1681
Error Originate:UpdateStore::ExtractUpdateStore:1692
Error Originate:UpdateStore::FlushStore:215
Error Originate:UpdateStore::FlushStore:223
Error Originate:UpdateStore::FlushStore:233
Error Originate:UpdateStore::FlushStore:242
Error Originate:UpdateStore::FlushStore:249
Error Originate:UpdateStore::FlushStore:272
Error Originate:UpdateStore::GenerateUpdateStoreFilePath:2310
Error Originate:UpdateStore::GenerateUpdateStoreFilePath:2312
Error Originate:UpdateStore::GenerateUpdateStoreFilePath:2314
Error Originate:UpdateStore::GetSessionVariable:963
Error Originate:UpdateStore::GetUpdateExProperty:731
Error Originate:UpdateStore::GetUpdateExProperty:738
Error Originate:UpdateStore::HasValidHash:1358
Error Originate:UpdateStore::HasValidHash:1363
Error Originate:UpdateStore::HasValidHash:1366
Error Originate:UpdateStore::HasValidHash:1369
Error Originate:UpdateStore::HasValidHash:1375
Error Originate:UpdateStore::HasValidHash:1388
Error Originate:UpdateStore::HasValidHash:1409
Error Originate:UpdateStore::Initialize:164
Error Originate:UpdateStore::ReadFromFile:1453
Error Originate:UpdateStore::ReadFromFile:1457
Error Originate:UpdateStore::ReadFromFile:1459
Error Originate:UpdateStore::ReadFromFile:1466
Error Originate:UpdateStore::RestoreDefaultStore:1284
Error Originate:UpdateStore::RestoreDefaultStore:1298
Error Originate:UpdateStore::RestoreDefaultStore:1312
Error Originate:UpdateStore::RestoreDefaultStore:1319
Error Originate:UpdateStore::SetSessionVariable:866
Error Originate:UpdateStore::SetUpdateExProperty:627
Error Originate:UpdateStore::SetUpdateExProperty:634
Error Originate:UpdateStore::WriteLastSessionVariablesTable:2178
Error Originate:UpdateStore::WriteLastSessionVariablesTable:2196
Error Originate:UpdateStore::WriteSessionVariablesTable:2059
Error Originate:UpdateStore::WriteSessionVariablesTable:2070
Error Originate:UpdateStore::WriteSessionVariablesTable:2088
Error Originate:UpdateStore::WriteSessionVariablesTable:2096
Error Originate:UpdateStore::WriteUpdatesTable:2129
Error Originate:UpdateStore::WriteUpdatesTable:2145
Error Originate:UpdateStore::WriteUpdateStore:1916
Error Originate:UpdateStore::WriteUpdateStore:1931
Error Originate:UpdateStore::WriteUpdateStore:1938
Error Originate:UpdateStore::WriteUpdateStore:1945
Error Originate:UpdateStore::WriteUpdateStore:1952
Error Originate:UpdateStore::WriteUpdateStore:1959
Error Originate:UpdateStore::WriteUpdateStore:1984
Error Originate:UpdateStore::WriteUpdateStore:1991
Error Originate:UpdateStore::WriteUpdateStore:2004
Error Originate:UpdateStore::WriteUpdateStore:2011
Error Originate:UpdateStore::WriteUpdateStore:2018
Error Originate:UsoCoreWorker::HandlePreShutdown:267
Error Originate:UsoCoreWorker::HandlePreShutdown:292
Error Originate:UsoDownloadResult::CreateInstance:13
Error Originate:UsoDownloadResult::CreateInstance:17
Error Originate:UsoDownloadResult::GetUpdateResult:34
Error Originate:UsoDownloadResult::GetUpdateResult:36
Error Originate:UsoDownloadResult::GetUpdateResult:38
Error Originate:UsoInstallationResult::CreateInstance:19
Error Originate:UsoInstallationResult::CreateInstance:23
Error Originate:UsoInstallationResult::GetUpdateResult:35
Error Originate:UsoInstallationResult::GetUpdateResult:37
Error Originate:UsoInstallationResult::GetUpdateResult:39
Error Originate:UsoMedic::SetMedicDeferred:281
Error Originate:UsoMedic::SetMedicDeferred:333
Error Originate:UsoMedic::SetMedicDeferred:351
Error Originate:UsoMedic::SetMedicFailure:177
Error Originate:UsoMedic::SetMedicFailure:229
Error Originate:UsoMedic::SetMedicFailure:247
Error Originate:UsoMedic::SetMedicSuccess:143
Error Originate:UsoMedic::SetMedicSuccess:73
Error Originate:UsoMedic::SetMedicSystemState:383
Error Originate:UsoMedic::SetMedicSystemState:425
Error Originate:UsoMedic::SetMedicSystemState:436
Error Originate:UsoScheduler::ResetTimer:165
Error Originate:UsoScheduler::ResetTimer:193
Error Originate:UsoScheduler::ResetTimer:206
Error Originate:UsoScheduler::RunCallback:250
Error Originate:UsoScheduler::SaveRunTime:53
Error Originate:UsoScheduler::ScheduleCrmRun:385
Error Originate:UsoScheduler::ScheduleCrmRun:397
Error Originate:UsoScheduler::ScheduleCrmRun:411
Error Originate:UsoScheduler::ScheduleCrmRun:426
Error Originate:UsoScheduler::ScheduleCrmRun:440
Error Originate:UsoScheduler::ScheduleCrmRun:455
Error Originate:UsoSession::ClearUpdateAgentError:11310
Error Originate:UsoSession::GetIsWaaSOutOfDateFromCache:10198
Error Originate:UsoSettings::DownloadSettings:220
Error Originate:UsoSettings::DownloadSettings:282
Error Originate:UsoSettings::GetETag:572
Error Originate:UsoSettings::GetETag:583
Error Originate:UsoSettings::GetETag:605
Error Originate:UsoSettings::GetSettingName:738
Error Originate:UsoSettings::GetSettingName:745
Error Originate:UsoSettings::GetSettingName:752
Error Originate:UsoSettings::GetSettingName:768
Error Originate:UsoSettings::GetSettingName:775
Error Originate:UsoSettings::ParseJson:389
Error Originate:UsoSettings::ParseJson:397
Error Originate:UsoSettings::ParseJson:406
Error Originate:UsoSettings::ParseJson:415
Error Originate:UsoSettings::PersistETag:637
Error Originate:UsoSettings::PersistETag:648
Error Originate:UsoSettings::SaveNextDownloadTime:521
Error Originate:UsoSettings::SaveNextDownloadTime:535
Error Originate:UsoSettings::ShouldDownload:462
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:623
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:636
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:645
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:652
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:659
Error Originate:UsoUpdate::CalculateUpdateClassificationAndCategorization:692
Error Originate:UsoUpdateCollection::get_Item:63
Error Originate:UsoUpdateDeserializer::DeserializeUpdate:35
Error Originate:UsoUpdateDeserializer::DeserializeUpdate:37
Error Originate:UsoUpdateDeserializer::DeserializeUpdate:39
Error Originate:UsoUpdateDownloader::Add:112
Error Originate:UsoUpdateDownloader::Add:114
Error Originate:UsoUpdateDownloader::BeginDownload:48
Error Originate:UsoUpdateDownloader::BeginDownload:56
Error Originate:UsoUpdateDownloader::BeginDownload:58
Error Originate:UsoUpdateDownloader::CreateInstance:16
Error Originate:UsoUpdateDownloader::CreateInstance:20
Error Originate:UsoUpdateDownloader::EndDownload:68
Error Originate:UsoUpdateDownloader::EndDownload:70
Error Originate:UsoUpdateDownloader::EndDownload:72
Error Originate:UsoUpdateDownloader::EndDownload:74
Error Originate:UsoUpdateDownloader::Invoke:101
Error Originate:UsoUpdateDownloader::Invoke:103
Error Originate:UsoUpdateDownloader::Invoke:92
Error Originate:UsoUpdateDownloader::Invoke:94
Error Originate:UsoUpdateDownloader::put_InternalConfigurationProperty:83
Error Originate:UsoUpdateDownloader::put_InternalConfigurationProperty:85
Error Originate:UsoUpdateDownloader::put_Updates:37
Error Originate:UsoUpdateDownloader::put_Updates:39
Error Originate:UsoUpdateDownloadJob::CreateInstance:13
Error Originate:UsoUpdateDownloadJob::CreateInstance:17
Error Originate:UsoUpdateDownloadJob::get_IDownloadJob:55
Error Originate:UsoUpdateDownloadResult::CreateInstance:11
Error Originate:UsoUpdateDownloadResult::CreateInstance:15
Error Originate:UsoUpdate::GetInternalProperty:520
Error Originate:UsoUpdate::get_UpdateId:289
Error Originate:UsoUpdateHistoryEntry::get_Classification:302
Error Originate:UsoUpdateHistoryEntry::get_Classification:311
Error Originate:UsoUpdateHistoryEntry::get_UpdateId:93
Error Originate:UsoUpdateHistoryEntry::WuIdentityToUsoIdentity:246
Error Originate:UsoUpdateHistoryEntry::WuIdentityToUsoIdentity:253
Error Originate:UsoUpdateHistoryEntry::WuIdentityToUsoIdentity:260
Error Originate:UsoUpdateInstallationResult::CreateInstance:12
Error Originate:UsoUpdateInstallationResult::CreateInstance:16
Error Originate:UsoUpdateInternal::CreateInstance:11
Error Originate:UsoUpdateInternal::CreateInstance:15
Error Originate:UsoUpdateInternal::get_CanRequestUserInput:71
Error Originate:UsoUpdateInternal::get_CanRequestUserInput:73
Error Originate:UsoUpdateInternal::get_CanRequestUserInput:75
Error Originate:UsoUpdateInternal::get_DriverClass:32
Error Originate:UsoUpdateInternal::get_DriverClass:34
Error Originate:UsoUpdateInternal::get_DriverClass:36
Error Originate:UsoUpdateInternal::get_Impact:45
Error Originate:UsoUpdateInternal::get_Impact:47
Error Originate:UsoUpdateInternal::get_Impact:49
Error Originate:UsoUpdateInternal::get_InternalProperty:85
Error Originate:UsoUpdateInternal::get_InternalProperty:87
Error Originate:UsoUpdateInternal::get_InternalProperty:89
Error Originate:UsoUpdateInternal::get_IUpdate:120
Error Originate:UsoUpdateInternal::get_RebootRequired:58
Error Originate:UsoUpdateInternal::get_RebootRequired:60
Error Originate:UsoUpdateInternal::get_RebootRequired:62
Error Originate:UsoUpdateInternal::get_UpdateExpirationDate:129
Error Originate:UsoUpdateInternal::get_UpdateExpirationDate:132
Error Originate:UsoUpdateInternal::put_InternalProperty:100
Error Originate:UsoUpdateInternal::put_InternalProperty:98
Error Originate:UsoUpdateInternal::put_UpdateExpirationDate:142
Error Originate:UsoUpdateInternal::put_UpdateExpirationDate:144
Error Originate:UsoUpdateInternal::QueryInterface:368
Error Originate:UsoUpdateInternal::SerializeUpdate:109
Error Originate:UsoUpdateInternal::SerializeUpdate:111
Error Originate:UsoUpdateInternal::SerializeUpdate:113
Error Originate:UsoUpdateSearcher::CreateInstance:19
Error Originate:UsoUpdateSearcher::CreateInstance:23
Error Originate:UsoUpdateSearcher::EndSearch:106
Error Originate:UsoUpdateSearcher::EndSearch:108
Error Originate:UsoUpdateSearcher::EndSearch:110
Error Originate:UsoUpdateSearcher::EndSearch:112
Error Originate:UsoUpdateSearcher::Invoke:128
Error Originate:UsoUpdateSearcher::Invoke:130
Error Originate:UsoUpdateSearcher::put_IncludeDriverSets:88
Error Originate:UsoUpdateSearcher::put_IncludeDriverSets:90
Error Originate:UsoUpdateSearcher::put_InternalConfigurationProperty:44
Error Originate:UsoUpdateSearcher::put_InternalConfigurationProperty:46
Error Originate:UsoUpdateSearcher::RequestAbort:119
Error Originate:UsoUpdateSearcher::RequestAbort:121
Error Originate:UsoUpdateSearchResult::CreateInstance:19
Error Originate:UsoUpdateSearchResult::CreateInstance:23
Error Originate:UsoUpdateSearchResult::get_Updates:34
Error Originate:UsoUpdateSearchResult::get_Updates:36
Error Originate:UsoUpdateSearchResult::get_Updates:38
Error Originate:UsoUpdateServiceManager::AddService:69
Error Originate:UsoUpdateServiceManager::CreateInstance:20
Error Originate:UsoUpdateServiceManager::CreateInstance:24
Error Originate:UsoUpdateServiceManager::get_OptInToMU:38
Error Originate:UsoUpdateServiceManager::get_OptInToMU:40
Error Originate:UsoUpdateServiceManager::get_OptInToMU:41
Error Originate:UsoUpdateServiceManager::get_OptInToMU:43
Error Originate:UsoUpdateServiceManager::get_OptInToMU:50
Error Originate:UsoUpdateSession::CreateUpdateDownloader:50
Error Originate:UsoUpdateSession::CreateUpdateDownloader:52
Error Originate:UsoUpdateSession::CreateUpdateDownloader:54
Error Originate:UsoUpdateSession::CreateUpdateInstaller:63
Error Originate:UsoUpdateSession::CreateUpdateInstaller:65
Error Originate:UsoUpdateSession::CreateUpdateInstaller:67
Error Originate:UsoUpdateSession::CreateUpdateSearcher:36
Error Originate:UsoUpdateSession::CreateUpdateSearcher:38
Error Originate:UsoUpdateSession::CreateUpdateSearcher:40
Error Originate:UsoUpdateSession::CreateUpdateServiceManager:76
Error Originate:UsoUpdateSession::CreateUpdateServiceManager:78
Error Originate:UsoUpdateSession::CreateUpdateServiceManager:80
Error Originate:UsoUpdate::WuIdentityToUsoIdentity:555
Error Originate:UsoUpdate::WuIdentityToUsoIdentity:562
Error Originate:UsoUpdate::WuIdentityToUsoIdentity:569
Error Originate:UxHelper::LaunchNotificationProcess:23
Error Originate:UxHelper::LaunchNotificationProcess:26
Error Originate:UxHelper::LaunchNotificationProcess:34
Error Originate:UxHelper::LaunchNotificationProcess:49
ERROR_OUT_OF_DATE_KHR
ERROR_OUT_OF_DEVICE_MEMORY
ERROR_OUT_OF_HOST_MEMORY
Error - OUT OF MEMORY
ERROR_OUTOFMEMORY
error out of memory calling WideToMbcs
error out of memory from resize
ERROR: Out of memory while attempting to save exit code data to the registy
ERROR_OUT_OF_PAPER
ERROR_OUT_OF_POOL_MEMORY
ERROR_OUT_OF_STRUCTURES
ERROR_OVERRIDE_NOCHANGES
ERROR_PAGED_SYSTEM_RESOURCES
ERROR_PAGE_FAULT_COPY_ON_WRITE
ERROR_PAGE_FAULT_DEMAND_ZERO
ERROR_PAGE_FAULT_GUARD_PAGE
ERROR_PAGE_FAULT_PAGING_FILE
ERROR_PAGE_FAULT_TRANSITION
ERROR_PAGEFILE_CREATE_FAILED
ERROR_PAGEFILE_QUOTA
ERROR_PAGEFILE_QUOTA_EXCEEDED
ERROR_PARAMETER_QUOTA_EXCEEDED
ErrorParsingClientParams
ErrorParsingExtensionDllArgument
ErrorParsingExtensionDllPath
ErrorParsingLogFilePath
ERROR_PARTIAL_COPY
ERROR_PARTITION_FAILURE
ERROR_PASSWORD_EXPIRED
ERROR_PASSWORD_MUST_CHANGE
ERROR_PASSWORD_RESTRICTION
ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT
ERROR_PATCH_NO_SEQUENCE
ERROR_PATCH_PACKAGE_INVALID
ERROR_PATCH_PACKAGE_OPEN_FAILED
ERROR_PATCH_PACKAGE_REJECTED
ERROR_PATCH_PACKAGE_UNSUPPORTED
ERROR_PATCH_REMOVAL_DISALLOWED
ERROR_PATCH_REMOVAL_UNSUPPORTED
ERROR_PATCH_TARGET_NOT_FOUND
ERROR_PATH_BUSY
ERROR_PATH_NOT_FOUND
ERROR_PER_USER_TRUST_QUOTA_EXCEEDED
ERROR_PIPE_BUSY
ERROR_PIPE_CONNECTED
ERROR_PIPE_LISTENING
ERROR_PIPE_LOCAL
ERROR_PIPE_NOT_CONNECTED
ERROR_PKINIT_FAILURE
Error:  Please ensure that you are running TTD with elevated privileges or have initialized TTD from an elevated cmd prompt.
Error:  Please ensure that your guest process and version of TTD are in the same architecture.
ERROR_PLUGPLAY_QUERY_VETOED
ERROR_PNP_BAD_MPS_TABLE
ERROR_PNP_INVALID_ID
ERROR_PNP_IRQ_TRANSLATION_FAILED
ERROR_PNP_REBOOT_REQUIRED
ERROR_PNP_RESTART_ENUMERATION
ERROR_PNP_TRANSLATION_FAILED
ERROR_POINT_NOT_FOUND
ERROR_POLICY_OBJECT_NOT_FOUND
ERROR_POLICY_ONLY_IN_DS
ERROR_POPUP_ALREADY_ACTIVE
ERROR_PORT_MESSAGE_TOO_LONG
ERROR_PORT_NOT_SET
ERROR_PORT_UNREACHABLE
ERROR_POSSIBLE_DEADLOCK
ERROR_POTENTIAL_FILE_FOUND
ERROR_PREDEFINED_HANDLE
ErrorPreparingForDllNotification
ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED
ERROR_PRINT_CANCELLED
ERROR_PRINTER_ALREADY_EXISTS
ERROR_PRINTER_DELETED
ERROR_PRINTER_DRIVER_ALREADY_INSTALLED
ERROR_PRINTER_DRIVER_BLOCKED
ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED
ERROR_PRINTER_DRIVER_IN_USE
ERROR_PRINTER_DRIVER_PACKAGE_IN_USE
ERROR_PRINTER_DRIVER_WARNED
ERROR_PRINTER_HAS_JOBS_QUEUED
ERROR_PRINTER_NOT_FOUND
ERROR_PRINT_JOB_RESTART_REQUIRED
ERROR_PRINT_MONITOR_ALREADY_INSTALLED
ERROR_PRINT_MONITOR_IN_USE
ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED
ERROR_PRINTQ_FULL
ERROR_PRIVATE_DIALOG_INDEX
ERROR_PRIVILEGE_NOT_HELD
ERROR_PROCESS_ABORTED
ERROR_PROCESS_IN_JOB
ERROR_PROCESS_IS_PROTECTED
ERROR_PROCESS_MODE_ALREADY_BACKGROUND
ERROR_PROCESS_MODE_NOT_BACKGROUND
ERROR_PROCESS_NOT_IN_JOB
ERROR_PROC_NOT_FOUND
ERROR_PRODUCT_UNINSTALLED
ERROR_PRODUCT_VERSION
ERROR_PROFILE_DOES_NOT_MATCH_DEVICE
ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE
ERROR_PROFILE_NOT_FOUND
ERROR_PROFILING_AT_LIMIT
ERROR_PROFILING_NOT_STARTED
ERROR_PROFILING_NOT_STOPPED
ERROR_PROMOTION_ACTIVE
Error Propagate:CUSOCorrelationVector::GenerateRootCorrelationVector
Error Propagate:CUSOCorrelationVector::GetRootCorrelationVector
Error Propagate:CUSOCorrelationVector::ProgressUpdateCorrelationVector
ERROR_PROTOCOL_UNREACHABLE
ERROR_PWD_HISTORY_CONFLICT
ERROR_PWD_TOO_RECENT
ERROR_PWD_TOO_SHORT
 (error querying object name; ntstatus: 
ERROR_QUORUM_DISK_NOT_FOUND
ERROR_QUORUMLOG_OPEN_FAILED
ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP
ERROR_QUORUM_OWNER_ALIVE
ERROR_QUORUM_RESOURCE
ERROR_QUORUM_RESOURCE_ONLINE_FAILED
ERROR_QUOTA_LIST_INCONSISTENT
ERROR_RANGE_LIST_CONFLICT
ERROR_RANGE_NOT_FOUND
ERROR_RDP_PROTOCOL_ERROR
ERROR_READ_FAULT
ERROR_RECEIVE_EXPEDITED
ERROR_RECEIVE_PARTIAL
ERROR_RECEIVE_PARTIAL_EXPEDITED
ERROR_REC_NON_EXISTENT
ERROR_RECOVERY_FAILURE
ERROR_RECOVERY_NOT_NEEDED
ERROR_REDIRECTOR_HAS_OPEN_HANDLES
ERROR_REDIR_PAUSED
error reference is null.
ERROR: Registration for restart event for unregmp2 failed.
ERROR_REGISTRY_CORRUPT
Error: Registry editing has been disabled by your administrator.
ERROR_REGISTRY_HIVE_RECOVERED
ERROR_REGISTRY_IO_FAILED
ERROR_REGISTRY_QUOTA_LIMIT
ERROR_REGISTRY_RECOVERED
ERROR_REG_NAT_CONSUMPTION
Error releasing semaphore
ERROR_RELOC_CHAIN_XEEDS_SEGLIM
ERROR_REM_NOT_LIST
ERROR_REMOTE_FILE_VERSION_MISMATCH
ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED
ERROR_REMOTE_SESSION_LIMIT_EXCEEDED
ERROR_REMOTE_STORAGE_MEDIA_ERROR
ERROR_REMOTE_STORAGE_NOT_ACTIVE
ERROR_REPARSE
ERROR_REPARSE_ATTRIBUTE_CONFLICT
ERROR_REPARSE_OBJECT
ERROR_REPARSE_TAG_INVALID
ERROR_REPARSE_TAG_MISMATCH
ERROR_REPLY_MESSAGE_MISMATCH
ERROR_REQ_NOT_ACCEP
ERROR_REQUEST_ABORTED
ERROR_REQUEST_OUT_OF_SEQUENCE
ERROR_REQUEST_REFUSED
ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION
ERROR_RESMON_CREATE_FAILED
ERROR_RESMON_INVALID_STATE
ERROR_RESMON_ONLINE_FAILED
ERROR_RESOURCE_CALL_TIMED_OUT
ERROR_RESOURCE_DATA_NOT_FOUND
ERROR_RESOURCE_DISABLED
ERROR_RESOURCE_ENUM_USER_STOP
ERROR_RESOURCE_FAILED
ERROR_RESOURCE_LANG_NOT_FOUND
ERROR_RESOURCEMANAGER_NOT_FOUND
ERROR_RESOURCEMANAGER_READ_ONLY
ERROR_RESOURCE_NAME_NOT_FOUND
ERROR_RESOURCE_NOT_AVAILABLE
ERROR_RESOURCE_NOT_FOUND
ERROR_RESOURCE_NOT_ONLINE
ERROR_RESOURCE_NOT_PRESENT
ERROR_RESOURCE_ONLINE
ERROR_RESOURCE_PROPERTIES_STORED
ERROR_RESOURCE_PROPERTY_UNCHANGEABLE
ERROR_RESOURCE_REQUIREMENTS_CHANGED
ERROR_RESOURCE_TYPE_NOT_FOUND
ERROR_RESTART_APPLICATION
ERROR_RESUME_HIBERNATION
ErrorResumingControlThread
ERROR_RETRY
ERROR_REVISION_MISMATCH
ERROR_RING2SEG_MUST_BE_MOVABLE
ERROR_RING2_STACK_IN_USE
ERROR_RM_ALREADY_STARTED
ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT
ERROR_RM_DISCONNECTED
ERROR_RM_METADATA_CORRUPT
ERROR_RM_NOT_ACTIVE
ERROR_RMODE_APP
ERROR_ROLLBACK_TIMER_EXPIRED
ERROR_ROWSNOTRELEASED
ERROR_RPL_NOT_ALLOWED
ERROR: Run of moobe skipped
ErrorRuntimeIsStopped
ERROR_RXACT_COMMIT_FAILURE
ERROR_RXACT_COMMIT_NECESSARY
ERROR_RXACT_COMMITTED
ERROR_RXACT_INVALID_STATE
ERROR_RXACT_STATE_CREATED
ERROR_SAME_DRIVE
ERROR_SAM_INIT_FAILURE
ERROR:  Schema Validation of the formal assessment failed.
ERROR_SCOPE_NOT_FOUND
ERROR_SCREEN_ALREADY_LOCKED
ERROR_SECRET_TOO_LONG
ERROR_SECTOR_NOT_FOUND
ERROR_SEEK
ERROR_SEEK_ON_DEVICE
ERROR_SEGMENT_NOTIFICATION
ERROR_SEM_IS_SET
ERROR_SEM_NOT_FOUND
ERROR_SEM_OWNER_DIED
ERROR_SEM_TIMEOUT
ERROR_SEM_USER_LIMIT
ErrorSendingClientEventForInitDone
ERROR_SERIAL_NO_DEVICE
ERROR_SERVER_DISABLED
ERROR_SERVER_HAS_OPEN_HANDLES
ERROR_SERVER_NOT_DISABLED
ERROR_SERVER_SHUTDOWN_IN_PROGRESS
ERROR_SERVER_SID_MISMATCH
ERROR_SERVICE_ALREADY_RUNNING
ERROR_SERVICE_CANNOT_ACCEPT_CTRL
ERROR_SERVICE_DATABASE_LOCKED
ERROR_SERVICE_DEPENDENCY_DELETED
ERROR_SERVICE_DEPENDENCY_FAIL
ERROR_SERVICE_DISABLED
ERROR_SERVICE_DOES_NOT_EXIST
ERROR_SERVICE_EXISTS
ERROR_SERVICE_LOGON_FAILED
ERROR_SERVICE_MARKED_FOR_DELETE
ERROR_SERVICE_NEVER_STARTED
ERROR_SERVICE_NOT_ACTIVE
ERROR_SERVICE_NOT_FOUND
ERROR_SERVICE_NO_THREAD
ERROR_SERVICE_NOTIFICATION
ERROR_SERVICE_NOTIFY_CLIENT_LAGGING
ERROR_SERVICE_NOT_IN_EXE
ERROR_SERVICE_REQUEST_TIMEOUT
ERROR_SERVICE_SPECIFIC_ERROR
ERROR_SERVICE_START_HANG
ErrorSessionAlreadyActive
ERROR_SESSION_CREDENTIAL_CONFLICT
ErrorSessionIsActive
ERROR_SETCOUNT_ON_BAD_LB
ERROR_SETMARK_DETECTED
ERROR_SET_NOT_FOUND
ERROR_SET_POWER_STATE_FAILED
ERROR_SET_POWER_STATE_VETOED
ERROR_SHARED_POLICY
ERROR_SHARING_BUFFER_EXCEEDED
ERROR_SHARING_PAUSED
ERROR_SHARING_VIOLATION
ERROR_SHUTDOWN_CLUSTER
ERROR_SHUTDOWN_IN_PROGRESS
ERROR_SHUTDOWN_IS_SCHEDULED
ERROR_SHUTDOWN_USERS_LOGGED_ON
ERROR_SIGNAL_PENDING
ERROR_SIGNAL_REFUSED
ERROR_SINGLE_INSTANCE_APP
ERROR_SMARTCARD_SUBSYSTEM_FAILURE
ERROR_SMI_PRIMITIVE_INSTALLER_FAILED
ERROR_SOME_NOT_MAPPED
ERROR_SOURCE_ELEMENT_EMPTY
ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION
ERROR_SPECIAL_ACCOUNT
ERROR_SPECIAL_GROUP
ERROR_SPECIAL_USER
ERROR_SPL_NO_ADDJOB
ERROR_SPL_NO_STARTDOC
ERROR_SPOOL_FILE_NOT_FOUND
ERROR_STACK_BUFFER_OVERRUN
ERROR_STACK_OVERFLOW
ERROR_STACK_OVERFLOW_READ
ErrorStartingSimAndRegisteringCallback
ERROR_STATIC_INIT
errorStatus
ERROR_STOPPED_ON_SYMLINK
ERROR_STREAM_MINIVERSION_NOT_FOUND
ERROR_STREAM_MINIVERSION_NOT_VALID
ERROR_SUBST_TO_JOIN
ERROR_SUBST_TO_SUBST
ERROR_SUCCESS
ERROR_SUCCESS_REBOOT_INITIATED
ERROR_SUCCESS_REBOOT_REQUIRED
ERROR_SUCCESS_RESTART_REQUIRED
ERROR_SURFACE_LOST_KHR
ERROR_SWAPERROR
ERROR_SXS_ACTIVATION_CONTEXT_DISABLED
ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT
ERROR_SXS_ASSEMBLY_MISSING
ERROR_SXS_ASSEMBLY_NOT_FOUND
ERROR_SXS_ASSEMBLY_NOT_LOCKED
ERROR_SXS_CANT_GEN_ACTCTX
ERROR_SXS_COMPONENT_STORE_CORRUPT
ERROR_SXS_CORRUPT_ACTIVATION_STACK
ERROR_SXS_CORRUPTION
ERROR_SXS_DUPLICATE_ASSEMBLY_NAME
ERROR_SXS_DUPLICATE_CLSID
ERROR_SXS_DUPLICATE_DLL_NAME
ERROR_SXS_DUPLICATE_IID
ERROR_SXS_DUPLICATE_PROGID
ERROR_SXS_DUPLICATE_TLBID
ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME
ERROR_SXS_EARLY_DEACTIVATION
ERROR_SXS_FILE_HASH_MISMATCH
ERROR_SXS_FILE_HASH_MISSING
ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY
ERROR_SXS_IDENTITIES_DIFFERENT
ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE
ERROR_SXS_IDENTITY_PARSE_ERROR
ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN
ERROR_SXS_INVALID_ACTCTXDATA_FORMAT
ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE
ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME
ERROR_SXS_INVALID_DEACTIVATION
ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME
ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE
ERROR_SXS_INVALID_XML_NAMESPACE_URI
ERROR_SXS_KEY_NOT_FOUND
ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED
ERROR_SXS_MANIFEST_FORMAT_ERROR
ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT
ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE
ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE
ERROR_SXS_MANIFEST_PARSE_ERROR
ERROR_SXS_MANIFEST_TOO_BIG
ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE
ERROR_SXS_MULTIPLE_DEACTIVATION
ERROR_SXS_POLICY_PARSE_ERROR
ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT
ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET
ERROR_SXS_PROCESS_TERMINATION_REQUESTED
ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING
ERROR_SXS_PROTECTION_CATALOG_NOT_VALID
ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT
ERROR_SXS_PROTECTION_RECOVERY_FAILED
ERROR_SXS_RELEASE_ACTIVATION_CONTEXT
ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED
ERROR_SXS_SECTION_NOT_FOUND
ERROR_SXS_SETTING_NOT_REGISTERED
ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY
ERROR_SXS_THREAD_QUERIES_DISABLED
ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE
ERROR_SXS_UNKNOWN_ENCODING
ERROR_SXS_UNKNOWN_ENCODING_GROUP
ERROR_SXS_UNTRANSLATABLE_HRESULT
ERROR_SXS_VERSION_CONFLICT
ERROR_SXS_WRONG_SECTION_TYPE
ERROR_SXS_XML_E_BADCHARDATA
ERROR_SXS_XML_E_BADCHARINSTRING
ERROR_SXS_XML_E_BADNAMECHAR
ERROR_SXS_XML_E_BADPEREFINSUBSET
ERROR_SXS_XML_E_BADSTARTNAMECHAR
ERROR_SXS_XML_E_BADXMLCASE
ERROR_SXS_XML_E_BADXMLDECL
ERROR_SXS_XML_E_COMMENTSYNTAX
ERROR_SXS_XML_E_DUPLICATEATTRIBUTE
ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE
ERROR_SXS_XML_E_EXPECTINGTAGEND
ERROR_SXS_XML_E_INCOMPLETE_ENCODING
ERROR_SXS_XML_E_INTERNALERROR
ERROR_SXS_XML_E_INVALIDATROOTLEVEL
ERROR_SXS_XML_E_INVALID_DECIMAL
ERROR_SXS_XML_E_INVALIDENCODING
ERROR_SXS_XML_E_INVALID_HEXIDECIMAL
ERROR_SXS_XML_E_INVALID_STANDALONE
ERROR_SXS_XML_E_INVALIDSWITCH
ERROR_SXS_XML_E_INVALID_UNICODE
ERROR_SXS_XML_E_INVALID_VERSION
ERROR_SXS_XML_E_MISSINGEQUALS
ERROR_SXS_XML_E_MISSING_PAREN
ERROR_SXS_XML_E_MISSINGQUOTE
ERROR_SXS_XML_E_MISSINGROOT
ERROR_SXS_XML_E_MISSINGSEMICOLON
ERROR_SXS_XML_E_MISSINGWHITESPACE
ERROR_SXS_XML_E_MULTIPLE_COLONS
ERROR_SXS_XML_E_MULTIPLEROOTS
ERROR_SXS_XML_E_RESERVEDNAMESPACE
ERROR_SXS_XML_E_UNBALANCEDPAREN
ERROR_SXS_XML_E_UNCLOSEDCDATA
ERROR_SXS_XML_E_UNCLOSEDCOMMENT
ERROR_SXS_XML_E_UNCLOSEDDECL
ERROR_SXS_XML_E_UNCLOSEDENDTAG
ERROR_SXS_XML_E_UNCLOSEDSTARTTAG
ERROR_SXS_XML_E_UNCLOSEDSTRING
ERROR_SXS_XML_E_UNCLOSEDTAG
ERROR_SXS_XML_E_UNEXPECTEDENDTAG
ERROR_SXS_XML_E_UNEXPECTEDEOF
ERROR_SXS_XML_E_UNEXPECTED_STANDALONE
ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE
ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK
ERROR_SXS_XML_E_XMLDECLSYNTAX
ERROR_SYMLINK_CLASS_DISABLED
ERROR_SYMLINK_NOT_SUPPORTED
ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED
ERROR_SYNCHRONIZATION_REQUIRED
ERROR_SYSTEM_DEVICE_NOT_FOUND
ERROR_SYSTEM_HIVE_TOO_LARGE
ERROR_SYSTEM_IMAGE_BAD_SIGNATURE
ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION
ERROR_SYSTEM_POWERSTATE_TRANSITION
ERROR_SYSTEM_PROCESS_TERMINATED
ERROR_SYSTEM_SHUTDOWN
ERROR_SYSTEM_TRACE
ERROR_TAG_NOT_FOUND
ERROR_TAG_NOT_PRESENT
Error: The owner sid is invalid
ERROR: the system transitioned to a terminal server session during a formal assessment
Error: The user sid is invalid
ERROR_THREAD_1_INACTIVE
ERROR_THREAD_ALREADY_IN_TASK
ERROR_THREAD_MODE_ALREADY_BACKGROUND
ERROR_THREAD_MODE_NOT_BACKGROUND
ERROR_THREAD_NOT_IN_PROCESS
ERROR_THREAD_WAS_SUSPENDED
ERROR_TIMEOUT
ERROR_TIMER_NOT_CANCELED
ERROR_TIMER_RESOLUTION_NOT_SET
ERROR_TIMER_RESUME_IGNORED
ERROR_TIME_SKEW
ERROR_TLW_WITH_WSCHILD
ERROR_TM_IDENTITY_MISMATCH
ERROR_TM_INITIALIZATION_FAILED
ERROR_TM_VOLATILE
ERROR_TOKEN_ALREADY_IN_USE
Error: Too few arguments.
ERROR_TOO_MANY_bczED
ERROR_TOO_MANY_CMDS
ERROR_TOO_MANY_CONTEXT_IDS
ERROR_TOO_MANY_LINKS
ERROR_TOO_MANY_LUIDS_REQUESTED
ERROR_TOO_MANY_MODULES
ERROR_TOO_MANY_MUXWAITERS
ERROR_TOO_MANY_NAMES
ERROR_TOO_MANY_OBJECTS
ERROR_TOO_MANY_POSTS
ERROR_TOO_MANY_SECRETS
ERROR_TOO_MANY_SEMAPHORES
ERROR_TOO_MANY_SEM_REQUESTS
ERROR_TOO_MANY_SESS
ERROR_TOO_MANY_SIDS
ERROR_TOO_MANY_TCBS
ERROR_TOO_MANY_THREADS
ErrorTrace
ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE
ERROR_TRANSACTIONAL_CONFLICT
ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED
ERROR_TRANSACTION_ALREADY_ABORTED
ERROR_TRANSACTION_ALREADY_COMMITTED
ERROR_TRANSACTION_FREEZE_IN_PROGRESS
ERROR_TRANSACTION_INTEGRITY_VIOLATED
ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER
ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH
ERROR_TRANSACTIONMANAGER_NOT_FOUND
ERROR_TRANSACTIONMANAGER_NOT_ONLINE
ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION
ERROR_TRANSACTION_MUST_WRITETHROUGH
ERROR_TRANSACTION_NO_SUPERIOR
ERROR_TRANSACTION_NOT_ACTIVE
ERROR_TRANSACTION_NOT_FOUND
ERROR_TRANSACTION_NOT_JOINED
ERROR_TRANSACTION_NOT_REQUESTED
ERROR_TRANSACTION_NOT_ROOT
ERROR_TRANSACTION_OBJECT_EXPIRED
ERROR_TRANSACTION_PROPAGATION_FAILED
ERROR_TRANSACTION_RECORD_TOO_LONG
ERROR_TRANSACTION_REQUEST_NOT_VALID
ERROR_TRANSACTION_REQUIRED_PROMOTION
ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED
ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET
ERROR_TRANSACTIONS_NOT_FROZEN
ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE
ERROR_TRANSACTION_SUPERIOR_EXISTS
ERROR_TRANSFORM_NOT_SUPPORTED
ERROR_TRANSLATION_COMPLETE
ERROR_TRANSPORT_FULL
ERROR_TRUSTED_DOMAIN_FAILURE
ERROR_TRUSTED_RELATIONSHIP_FAILURE
ERROR_TRUST_FAILURE
ERROR_TS_INCOMPATIBLE_SESSIONS
ERROR_TXF_ATTRIBUTE_CORRUPT
ERROR_TXF_DIR_NOT_EMPTY
ERROR_TXF_METADATA_ALREADY_PRESENT
errorType
ErrorType
errorTypeText
ERROR_UNABLE_TO_CLEAN
ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA
ERROR: Unable to get results path environment variable
ERROR_UNABLE_TO_INVENTORY_DRIVE
ERROR_UNABLE_TO_INVENTORY_SLOT
ERROR_UNABLE_TO_INVENTORY_TRANSPORT
ERROR_UNABLE_TO_LOAD_MEDIUM
ERROR_UNABLE_TO_LOCK_MEDIA
ERROR_UNABLE_TO_MOVE_REPLACEMENT
ERROR_UNABLE_TO_MOVE_REPLACEMENT_2
ERROR_UNABLE_TO_REMOVE_REPLACED
ERROR:  Unable to save validated results.
ERROR_UNABLE_TO_UNLOAD_MEDIA
ERROR_UNDEFINED_CHARACTER
ERROR_UNEXPECTED_MM_CREATE_ERR
ERROR_UNEXPECTED_MM_EXTEND_ERR
ERROR_UNEXPECTED_MM_MAP_ERROR
ERROR_UNEXPECTED_OMID
ERROR_UNEXP_NET_ERR
ERROR_UNHANDLED_EXCEPTION
ERROR: unhandled general exception
ERROR: Unhandled while attempting to save exit code data to the registy
ERROR_UNIDENTIFIED_ERROR
ErrorUnknown
ERROR_UNKNOWN
ERROR_UNKNOWN_COMPONENT
ERROR_UNKNOWN_FEATURE
ERROR: unknown-next-protocol
ERROR_UNKNOWN_PATCH
ERROR_UNKNOWN_PORT
ERROR_UNKNOWN_PRINTER_DRIVER
ERROR_UNKNOWN_PRINT_MONITOR
ERROR_UNKNOWN_PRINTPROCESSOR
ERROR_UNKNOWN_PRODUCT
ERROR_UNKNOWN_PROPERTY
ERROR_UNKNOWN_REVISION
 ERROR: unknown-version
ERROR_UNMAPPED_SUBSTITUTION_STRING
ERROR_UNRECOGNIZED_MEDIA
ERROR_UNRECOGNIZED_VOLUME
ERROR_UNSUPPORTED_COMPRESSION
ERROR_UNSUPPORTED_TYPE
ERROR_UNWIND
ERROR_UNWIND_CONSOLIDATE
ERROR_USER_APC
ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED
ERROR: user does not have admin rights
ERROR_USER_EXISTS
ERROR_USER_MAPPED_FILE
ERROR_USER_PROFILE_LOAD
ERROR_VALIDATE_CONTINUE
ERROR_VALIDATION_FAILED_EXT
ErrorValue
ERROR_VC_DISCONNECTED
ErrorVcpuInitializationFailed
ERROR_VDM_DISALLOWED
ERROR_VDM_HARD_ERROR
ERROR_VERIFIER_STOP
ERROR_VERSION_PARSE_ERROR
ERROR_VIRUS_DELETED
ERROR_VIRUS_INFECTED
ERROR_VOLSNAP_HIBERNATE_READY
ERROR_VOLSNAP_PREPARE_HIBERNATE
ERROR_VOLUME_CONTAINS_SYS_FILES
ERROR_VOLUME_DIRTY
ERROR_VOLUME_MOUNTED
ERROR_VOLUME_NOT_SIS_ENABLED
ERROR_VOLUME_NOT_SUPPORT_EFS
ERROR_WAIT_1
ERROR_WAIT_2
ERROR_WAIT_3
ERROR_WAIT_63
ERROR_WAIT_FOR_OPLOCK
Error waiting for semaphore
ERROR: wait list abandoned.
ERROR: wait list failed.
ERROR: wait list timed out.
ERROR_WAIT_NO_CHILDREN
ERROR_WAKE_SYSTEM
ERROR_WAKE_SYSTEM_DEBUGGER
ERROR_WAS_LOCKED
ERROR_WAS_UNLOCKED
Error while ending receive thread!
ERROR_WINDOW_NOT_COMBOBOX
ERROR_WINDOW_NOT_DIALOG
ERROR_WINDOW_OF_OTHER_THREAD
ERROR_WINS_INTERNAL
ERROR_WMI_ALREADY_DISABLED
ERROR_WMI_ALREADY_ENABLED
ERROR_WMI_DP_FAILED
ERROR_WMI_DP_NOT_FOUND
ERROR_WMI_GUID_DISCONNECTED
ERROR_WMI_GUID_NOT_FOUND
ERROR_WMI_INSTANCE_NOT_FOUND
ERROR_WMI_INVALID_MOF
ERROR_WMI_INVALID_REGINFO
ERROR_WMI_ITEMID_NOT_FOUND
ERROR_WMI_READ_ONLY
ERROR_WMI_SERVER_UNAVAILABLE
ERROR_WMI_SET_FAILURE
ERROR_WMI_TRY_AGAIN
ERROR_WMI_UNRESOLVED_INSTANCE_REF
ERROR_WORKING_SET_QUOTA
ERROR_WOW_ASSERTION
ERROR_WRITE_FAULT
ERROR_WRITE_PROTECT
ERROR_WRONG_COMPARTMENT
ERROR_WRONG_DISK
ERROR_WRONG_EFS
ERROR_WRONG_PASSWORD
ERROR_WRONG_TARGET_NAME
ErrorWWW
ERROR_WX86_ERROR
ERROR_WX86_WARNING
ERROR:  XmlDOM::SelectSingleNode failed.
ERROR_XMLDSIG_ERROR
ERROR_XML_ENCODING_MISMATCH
ERROR_XML_PARSE_ERROR
eRx?m--[
Escalation
escalationAction
EscalationData
EscalationEngine
EscalationOnComplete
EscalationOnFail
EscalationRequest
EscalationRiskLevels
EscalationsRefreshFailed
EscapeCommFunction
?EscapeXMLAndAdd@StringBuilder@UnBCL@@IEAAXPEBG@Z
ESENT.dll
esscli.dll
estPassword
estUserID
ether_if
Ethernet
Ethernet bridged
Ethernet Raw Mode
Ethernet (VLAN) Tagged Mode
ethertype
ETS Configuration
ETS Recommendation
EtwCheckCoverage
?EtwEnabled@CTraceProvider@@QEAA_NW4TRACE_FLAG@@@Z
EtwEventActivityIdControl
EtwEventEnabled
EtwEventRegister
EtwEventSetInformation
EtwEventUnregister
EtwEventWrite
EtwEventWriteEndScenario
EtwEventWriteFull
EtwEventWriteNoRegistration
EtwEventWriteStartScenario
EtwEventWriteTransfer
EtwGetTraceEnableFlags
EtwGetTraceEnableLevel
EtwGetTraceLoggerHandle
EtwInvalidData
EtwListenerCreationFailure
EtwParsingFailure
ETWProcessETLEnd
ETWProcessETLStart
EtwRegister
EtwRegisterTraceGuidsW
EtwRegistrationFailure
etwSession cannot be NULL
EtwSetInformation
EtwSetMark
?EtwTrace@CTraceProvider@@QEAAXAEBUDLS_TRACE_EVENT@@@Z
EtwTraceMessage
EtwTraceMessageVa
EtwTrigger
EtwUnexpectedEvent
EtwUnregister
EtwUnregisterTraceGuids
EtwWrite
EtwWriteTransfer
-EU71Hk*
Eugm?A;.
EULA must be signed for TTTracer
E_UNEXPECTED
eUserCrashMain
e)	use the software in any way that is against the law or to create or propagate malware; or
EvalApplicability
evaluate
EvaluateSihBlocksFailed
EvaluateWaasMedicBlackoutBlockFailed
EvaluateWaasMedicCadenceBlockFailed
EvaluateWaasMedicSvcRegBlockFailed
EvaluatingRegistration
EVB Bridge
	    EVB Bridge Status
EVB Staion
	    EVB Station Status
EventActivityIdControl
EventAggregation.dll
EventData
EventDescription
eventDescriptor
EventEnabled
EventFieldTags
eventFile
Event ID
EventInfoLength
EventInstanceID
EventKeywords
EventLevel
EventLogEvent
EventLogException
EventLogNotFoundException
EventLogQuery
EventLogReader
eventLogRecord
EventLogRecord
EventLogSession
EventManifest
EventMask
EventMonitorManager
eventName
Event Name
EventName
EventPerBinaryDistribution
EventPerCategoryDistribution
EventPrompterWWW
eventProvider
EventProvider
EventProviderEnabled
EventProviderVersionTwo
EventPublishedTime
EventRecord
EventRegister
EVENT_RESET
eventScenario
EventScenario
EVENT_SET
EventSetInformation
EventsLogged
EventsLost
eventSourceName
EventSourceOptions
EventSourceSettings
EventStore
EventStoreClear
EventStoreDeleteData
EventStoreDeleteFailed
EventStoreFlushPreCompress
EventStoreFlushToFile
EventStoreGetDataByLatency
EventTags
eventTime
EventTimestamp
EventTranscriptManager
EventType
EventUnregister
EventVersion
EventWaitHandle
EventWrite
EventWriteConversionError
EventWriteConversionStart
EventWriteConversionStop
EventWriteInitializationError
EventWriteInitializationStart
EventWriteInitializationStop
EventWriteLogDebugAppMonitor
EventWriteString
EventWriteTransfer
EventWriteTzItemConversionError
EventWriteTzItemConversionStart
EventWriteTzItemConversionStop
EventWriteTZSyncError
EventWriteTZSyncStart
EventWriteTZSyncStop
EverythingElse
EvtArchiveExportedLog
EvtClearLog
EvtClose
EvtCreateBookmark
EvtCreateRenderContext
EvtExportLog
EvtFormatMessage
EvtGetChannelConfigProperty
EvtGetEventMetadataProperty
EvtGetExtendedStatus
EvtGetLogInfo
EvtGetObjectArrayProperty
EvtGetObjectArraySize
EvtGetPublisherMetadataProperty
EvtIntAssertConfig
EvtIntCreateLocalLogfile
EvtIntRenderResourceEventTemplate
EvtIntReportEventAndSourceAsync
EvtIntRetractConfig
EvtIntWriteXmlEventToLocalLogfile
EvtNextChannelPath
EvtNextEventMetadata
EvtNextPublisherId
EvtOpenChannelConfig
EvtOpenChannelEnum
EvtOpenEventMetadataEnum
EvtOpenLog
EvtOpenPublisherEnum
EvtOpenPublisherMetadata
EvtOpenSession
evt_path
EvtQuery
EvtRender
EvtSaveChannelConfig
EvtSetChannelConfigProperty
EvtUpdateBookmark
Ev|;vFAILED(hResult)
EwH!3H!0H
EwH98u H
eWorkspaceRuntimeLibW
ewwgwwwww
Ex9FTtqA
Ex9GTtwA
ExAcquireFastMutex
ExAcquirePushLockExclusiveEx
ExAcquirePushLockSharedEx
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
ExAllocatePoolWithTag
ExAllocateTimer
Examples:
exceeded maximum constant registers
Exception
exceptionBuilder.AppendString(documentUrlPath)
exceptionBuilder.AppendString(L"Javascript Exception Details are as follows")
exceptionBuilder.AppendString(sourceFilePath)
Exception caught in GetRuntimeReport
Exception caught in GetSessionCertificate
Exception caught in GetSessionReport
ExceptionCode
ExceptionFailure
exceptionLogBufferBuilder.AppendChar(0)
?__ExceptionPtrAssign@@YAXPEAXPEBX@Z
?__ExceptionPtrCopyException@@YAXPEAXPEBX1@Z
?__ExceptionPtrCopy@@YAXPEAXPEBX@Z
?__ExceptionPtrCreate@@YAXPEAX@Z
?__ExceptionPtrCurrentException@@YAXPEAX@Z
?__ExceptionPtrDestroy@@YAXPEAX@Z
?__ExceptionPtrRethrow@@YAXPEBX@Z
?__ExceptionPtrToBool@@YA_NPEBX@Z
exceptiontype
ExcludeClipRect
exclude-from
exclude-vcs
    excluding the first number.  After the first number must come enough
exclusion ci-dessus ne s
exclusion ou la limitation de responsabilit
ExclusiveNoSnapshot
ExCreateCallback
ExD9uXvXH
ExDeletePagedLookasideList
ExDeleteResourceLite
ExecAction
executable format error
executableName
Execute.CommandInstallationFailed
Execute.ContinueInstallFailure
Execute.CreateProcessFailed
Execute.CreateProcessGetExitCodeFailed
Execute.CreateProcessMissingHandle
Execute.CreateProcessWaitFailed
Execute.CreateWorkingDirectoryFailed
Execute.ImmediateReboot
ExecuteNextAssertionCount
ExecuteNextAssertionLongestUserTimeMs
ExecuteNextAssertionTotalUserTimeMs
?_Execute_once@std@@YAHAEAUonce_flag@1@P6AHPEAX1PEAPEAX@Z1@Z
Execute.ProvisioningCommandSucceeded
_ExecuteRestoreSingleFileCommandLine
_ExecuteRestoreWizardCommandLine
Execute result
_ExecuteScheduledSPPCreation
ExecuteScheduledSPPCreation
_ExecuteScopeRestorePoint
ExecuteScopeRestorePoint
ExecuteSetup
ExecuteSingleOperation
Execute.Start
Execute.Stop
ExecuteTTTracerCommandLine
ExecuteW
ExecutionHistoryCount
ExecutionHistoryIndex
exeFullPath
ExEventObjectType
E!X E!Z 
E!X(E!Z(
E!X@E!Z@
EXFAT   
ExFreePoolWithTag
ExInitializePagedLookasideList
ExInitializeResourceLite
ExIsResourceAcquiredSharedLite
Existing
?Exists@Directory@UnBCL@@SAHPEBVString@2@@Z
?Exists@File@UnBCL@@SAHPEBVString@2@@Z
]ExistsWW
ExitCode
ExitControllerMode
ExitEventArgs
ExitFaceAuthenticationMode
Exit function
exitingAppProcessId
exitingAppProcessName
_exitkind
?ExitLogOnUserMode@ImpersonateUser@@UEAAXXZ
ExitMessage
ExitProcess
?ExitProgram@PROGRAM@@SAXK@Z
[Exit status: SUCCESS]
ExitThread
ExitThread Params should be null
ExitWindowsEx
ExitWindowsFlags
EXL!o E3
ExNotifyCallback
ExpandCabFile
?ExpandCollapse_ExpandCollapseState_Property@Schema@DirectUI@@2HA
?ExpandCollapsePattern@Schema@DirectUI@@2HA
ExpandEnvironmentStringsA
ExpandEnvironmentStringsForUserW
ExpandEnvironmentStringsW
ExpandEnvironmentStringsW failed
ExpandEnvironmentVariables
?ExpandEnvironmentVariables@Environment@UnBCL@@SAPEAVString@2@PEBV32@@Z
ExpandEnvironmentVars failed
ExpandTxfLog
expectedChkDskDone
expected object not found in list
expectedPayload
Expected Query or Set Information Request
Expected resource missing during POQ execution:
expeditedMode
ExpeditedUpdateNthLogonDisplayStatus
experience
experienceBlocked
ExpInterlockedPopEntrySList
ExpInterlockedPopEntrySListEnd
ExpInterlockedPopEntrySListFault
ExpInterlockedPopEntrySListResume
ExpInterlockedPushEntrySList
	expirationDateInFileTimeTicks
expirationDateTicks
explicit
ExplicitScope
      exploit related to Sysprep.exe being auto-elevated. The list
explorer.exe
:ExportEventLogs
ExportLogAndMessages
ExportMitigation
expressions returning objects in an array or struct not yet implemented
exptest-253
exptest-254
ExQueryDepthSList
ExRegisterExtension
ExReleaseFastMutex
ExReleasePushLockExclusiveEx
ExReleasePushLockSharedEx
ExReleaseResourceLite
ExSetTimer
ExSubscribeWnfStateChange
ExtCreateRegion
EXTEND ASCII
Extended Community
extendedDynamicState
extendedDynamicState2
extendedDynamicState2LogicOp
extendedDynamicState2PatchControlPoints
Extended Next Hop Encoding
Extended power-via-MDI
extended power via MDI-PD
extended power via MDI-PSE
ExtendedProperties
ExtendTimeout callback not allowed when no timeout is specified
ExtendWindowRectIfTopAlignedQuadrant failed
Extension
ExtensionAttribute
ExtensionInstanceFailed
ExtensionInstanceLoaded
ExtensionInstanceMissingCLSID
ExtensionInstanceMissingHardware
ExtensionInstanceNotAdded
ExtensionModulePreActivate
extensionName
ExtensionName
extensionPointName
 : extension revision 
 Extensions
Extensions
?ExtentProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
External
externalOneshotupdate
extern "C" 
ExtEscape
ext-ms-onecore-shellchromeapi-l1-1-0.dll
ext-ms-onecore-shellchromeapi-l1-1-1.dll
ext-ms-win32-subsystem-query-l1-1-0.dll
ext-ms-win-advapi32-encryptedfile-l1-1-0.dll
ext-ms-win-advapi32-eventlog-l1-1-0.dll
ext-ms-win-advapi32-shutdown-l1-1-0.dll
ext-ms-win-appcompat-aepic-l1-1-0.dll
ext-ms-win-appmodel-deployment-l1-1-1.dll
ext-ms-win-authz-context-l1-1-0.dll
ext-ms-win-branding-winbrand-l1-1-0.dll
ext-ms-win-branding-winbrand-l1-2-0.dll
ext-ms-win-cluster-clusapi-l1-1-0.dll
ext-ms-win-cluster-clusapi-l1-1-1.dll
ext-ms-win-cluster-clusapi-l1-1-2.dll
ext-ms-win-cluster-clusapi-l1-1-4.dll
ext-ms-win-cluster-resutils-l1-1-1.dll
ext-ms-win-com-ole32-l1-1-0.dll
ext-ms-win-com-ole32-l1-1-1.dll
ext-ms-win-composition-init-l1-1-0.dll
ext-ms-win-com-psmregister-l1-2-0.dll
ext-ms-win-com-psmregister-l1-2-2.dll
ext-ms-win-com-psmregister-l1-3-0.dll
ext-ms-win-core-container-init-l1-1-0.dll
ext-ms-win-core-resourcemanager-l1-1-0.dll
ext-ms-win-core-resourcemanager-l1-2-0.dll
ext-ms-win-core-stateseparationext-l1-1-0.dll
ext-ms-win-coreui-l1-1-0.dll
ext-ms-win-coreui-navshutdown-l1-1-0.dll
ext-ms-win-deployment-productenumerator-l1-1-0.dll
ext-ms-win-desktopappx-l1-1-0.dll
ext-ms-win-devmgmt-dm-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-0.dll
ext-ms-win-devmgmt-policy-l1-1-1.dll
ext-ms-win-driver-setup-l1-1-0.dll
ext-ms-win-dwmapi-ext-l1-1-0.dll
ext-ms-win-edputil-policy-l1-1-0.dll
ext-ms-win-gdi-dc-l1-2-0.dll
ext-ms-win-gdi-font-l1-1-0.dll
ext-ms-win-gdi-font-l1-1-2.dll
ext-ms-win-gui-dui70-l1-1-0.dll
ext-ms-win-gui-uxinit-l1-1-0.dll
ext-ms-win-gui-uxinit-l1-1-1.dll
ext-ms-win-imm-l1-1-0.dll
ext-ms-win-kernel32-package-l1-1-0.dll
ext-ms-win-kernel32-windowserrorreporting-l1-1-1.dll
ext-ms-win-networking-wlanapi-l1-1-0.dll
ext-ms-win-newdev-config-l1-1-0.dll
ext-ms-win-ntos-ksr-l1-1-0.dll
ext-ms-win-ntos-vmsvc-l1-1-0.dll
ext-ms-win-ntuser-dc-access-ext-l1-1-0.dll
ext-ms-win-ntuser-dialogbox-l1-1-0.dll
ext-ms-win-ntuser-draw-l1-1-0.dll
ext-ms-win-ntuser-gui-l1-1-0.dll
ext-ms-win-ntuser-gui-l1-3-0.dll
ext-ms-win-ntuser-keyboard-l1-1-0.dll
ext-ms-win-ntuser-menu-l1-1-0.dll
ext-ms-win-ntuser-message-l1-1-0.dll
ext-ms-win-ntuser-misc-l1-1-0.dll
ext-ms-win-ntuser-private-l1-1-0.dll
ext-ms-win-ntuser-private-l1-1-1.dll
ext-ms-win-ntuser-rectangle-ext-l1-1-0.dll
ext-ms-win-ntuser-synch-l1-1-0.dll
ext-ms-win-ntuser-uicontext-ext-l1-1-0.dll
ext-ms-win-ntuser-windowclass-l1-1-0.dll
ext-ms-win-ntuser-windowclass-l1-1-1.dll
ext-ms-win-ntuser-windowclass-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-0.dll
ext-ms-win-ntuser-window-l1-1-1.dll
ext-ms-win-ntuser-window-l1-1-2.dll
ext-ms-win-ntuser-window-l1-1-3.dll
ext-ms-win-ntuser-window-l1-1-4.dll
ext-ms-win-ntuser-windowstation-ansi-l1-1-0.dll
ext-ms-win-ntuser-windowstation-l1-1-0.dll
ext-ms-win-ntuser-windowstation-l1-1-1.dll
ext-ms-win-ole32-bindctx-l1-1-0.dll
ext-ms-win-oleacc-l1-1-1.dll
ext-ms-win-onecore-shutdown-l1-1-0.dll
ext-ms-win-oobe-query-l1-1-0.dll
ext-ms-win-provisioning-platform-l1-1-1.dll
ext-ms-win-resourcemanager-crm-l1-2-0.dll
ext-ms-win-resourcemanager-gamemode-l1-2-0.dll
ext-ms-win-resourcemanager-gamemode-l1-2-1.dll
ext-ms-win-resources-languageoverlay-l1-1-0.dll
ext-ms-win-resources-languageoverlay-l1-1-2.dll
ext-ms-win-rometadata-dispenser-l1-1-0.dll
ext-ms-win-rtcore-gdi-object-l1-1-0.dll
ext-ms-win-rtcore-ntuser-controllernavigation-l1-1-0.dll
ext-ms-win-rtcore-ntuser-cursor-l1-1-0.dll
ext-ms-win-rtcore-ntuser-dpi-l1-2-0.dll
ext-ms-win-rtcore-ntuser-synch-ext-l1-1-0.dll
ext-ms-win-rtcore-ntuser-sysparams-l1-1-0.dll
ext-ms-win-rtcore-ntuser-usersecurity-l1-1-0.dll
ext-ms-win-rtcore-ntuser-window-ext-l1-1-0.dll
ext-ms-win-scesrv-server-l1-1-0.dll
ext-ms-win-secur32-translatename-l1-1-0.dll
ext-ms-win-security-cfl-l1-1-0.dll
ext-ms-win-security-chambers-l1-1-1.dll
ext-ms-win-security-credui-l1-1-0.dll
ext-ms-win-security-crosscontainerauthhelper-l1-1-0.dll
ext-ms-win-security-ngc-local-l1-1-0.dll
ext-ms-win-security-shutdownext-l1-1-0.dll
ext-ms-win-session-candidateaccountmgr-l1-1-0.dll
ext-ms-win-session-userinit-l1-1-0.dll
ext-ms-win-session-usermgr-l1-1-0.dll
ext-ms-win-session-usertoken-l1-1-0.dll
ext-ms-win-session-wininit-l1-1-0.dll
ext-ms-win-session-wininit-l1-1-1.dll
ext-ms-win-session-winlogon-l1-1-0.dll
ext-ms-win-session-winlogon-l1-1-1.dll
ext-ms-win-session-winlogon-l1-1-2.dll
ext-ms-win-session-winsta-l1-1-0.dll
ext-ms-win-session-winsta-l1-1-2.dll
ext-ms-win-session-winsta-l1-1-3.dll
ext-ms-win-session-winsta-l1-1-4.dll
ext-ms-win-session-wtsapi32-l1-1-0.dll
ext-ms-win-setupapi-classinstallers-l1-1-0.dll
ext-ms-win-setupapi-classinstallers-l1-1-1.dll
ext-ms-win-setupapi-classinstallers-l1-1-2.dll
ext-ms-win-shell32-shellfolders-l1-1-0.dll
ext-ms-win-shell-comctl32-init-l1-1-0.dll
ext-ms-win-shell-shell32-l1-2-0.dll
ext-ms-win-shell-shlwapi-l1-1-0.dll
ext-ms-win-smbshare-browserclient-l1-1-0.dll
ext-ms-win-spinf-inf-l1-1-0.dll
ext-ms-win-storage-sense-l1-1-0.dll
ext-ms-win-uxtheme-themes-l1-1-0.dll
ext-ms-win-uxtheme-themes-l1-1-1.dll
ext-ms-win-wer-reporting-l1-1-0.dll
ext-ms-win-wer-ui-l1-1-1.dll
ext-ms-win-wer-xbox-l1-1-1.dll
ext-ms-win-wevtapi-eventlog-l1-1-0.dll
ext-ms-win-wevtapi-eventlog-l1-1-1.dll
ext-ms-win-wevtapi-eventlog-l1-1-2.dll
ext-ms-win-wevtapi-eventlog-l1-1-3.dll
ext-ms-win-winlogon-mincreds-l1-1-0.dll
ext-ms-win-winrt-storage-l1-2-1.dll
ext-ms-win-wwaext-misc-l1-1-0.dll
ext-ms-win-wwaext-module-l1-1-0.dll
ext-ms-win-xaml-pal-l1-1-0.dll
ext-ms-win-xblauth-console-l1-1-0.dll
ExtractBootId failed
ExtractBugCheckInfo failed
ExtractEnvIDRevisionID
ExtractIconExW
EXTRACTOPT
ExtraInfo1
ExtraInfo2
ExtraInfo3
extraPLMTimeMS
extraPrimitiveOverestimationSizeGranularity
ExtTextOutW
ExUnsubscribeWnfStateChange
ExxwwEEx
Eze9r2o	
.....eZXnnnnnnnnnnnn3
F0D8#ubD8c
 F2RbyVm
F47F- *47888M6(
F4D;FXuyH
f7.7B7B7B
f7.7p7B7B77B77B7
..f..7...B
f7bstrRequestingAppIdW
f7fBiBi7
F8D88u6H
*f8Q)57H
F(9G(|nH
f9H r.w A
f9K8uAL9
f9K8uTL9
f9)tMf9.tCf
;fA;8uaH
:fA;8uMH
F A9G uP
fA9y s:I
fA9Z*v#A
FaceAuthenticationGroupRegistered
FaceAuthenticationGroupUnregistered
FaceAuthenticationModeEntered
FaceAuthenticationModeExited
FaceFod.Manager.DeleteModel
FaceFod.Manager.EnableFodCleanupScheduledTask
FaceFod.Manager.FailureToFindModelInCache
FaceFod.Manager.GetInstalledFods
FaceFod.TestUtilities.CBSOrFodHelperError
FaceFod.TestUtilities.FodHelperReInstall
FaceFod.TestUtilities.GetUninstalledFaceFods
FaceFod.Uninstaller.CBSOrFodHelperError
FaceFod.Uninstaller.GetUnusedFaceFods
FaceFod.Uninstaller.MarkOldFaceFodsForDeletion
FaceFodUninstaller.pdb
faceforward
FACILITY_ACPI_ERROR_CODE
FACILITY_CLUSTER_ERROR_CODE
FACILITY_COMMONLOG
FACILITY_DEBUGGER
FACILITY_DRIVER_FRAMEWORK
FACILITY_FILTER_MANAGER
FACILITY_FIREWIRE_ERROR_CODE
FACILITY_FVE_ERROR_CODE
FACILITY_FWP_ERROR_CODE
FACILITY_GRAPHICS_KERNEL
FACILITY_HID_ERROR_CODE
FACILITY_HYPERVISOR
FACILITY_IO_ERROR_CODE
FACILITY_MONITOR
FACILITY_NDIS_ERROR_CODE
FACILITY_NTSSPI
FACILITY_RPC_RUNTIME
FACILITY_RPC_STUBS
FACILITY_SXS_ERROR_CODE
FACILITY_TERMINAL_SERVER
FACILITY_TRANSACTION
FACILITY_USB_ERROR_CODE
FACILITY_VIDEO
FACILTIY_MUI_ERROR_CODE
fAcquired
fA;C-sUH
factory.CoCreateInstance failed
factory.CreateStream sourceStream failed
FAdvapi32.dll
FailCode
FailCount
Failed adding element to cbs array
Failed adjusting token privilege
Failed: AdjustTokenPrivileges()
Failed: AdjustTokenPrivileges(); not all token privileges were assigned
Failed allocating buffer for path expansion
Failed allocating event
Failed allocating memory
Failed allocating memory for the package location
Failed: AppModule::SetScanCabPath()
Failed at last attempt in reset card reconnect loop
Failed base class CTSPropertySet::Initialize()
Failed Bind to LRPC endpoint
Failed closing RAIL channel
Failed: ConvertSidToStringSid()
Failed: CopySid()
failed:cp_required
Failed: CreateProcessAsUser()
Failed creating command line
Failed creating the tracing session name
Failed disabling shutdown privilege
Failed enabling shutdown privilege
Failed enabling tracing
Failed: ExtractAllFiles()
Failed: FindNextFile()
Failed GenerateSignScope
Failed getting caption text
Failed getting deprecation message text
Failed getting error message
Failed getting full path
Failed getting maintenance flags.
Failed getting message text
Failed getting module location
Failed getting module location - path too long
Failed getting the full path name
Failed: GetTokenInformation()
Failed g_RailOrderEncoder.Initialize
Failed g_RailOrderEncoder.Start
FAILED(hr)
FAILED(hrError)
FAILED(hrResult)
Failed in GetCurrentExePathName
Failed initiate restart if needed
Failed in PathCchAppend
Failed in PathCchRemoveFilespec
Failed inserting boot directory into the offline location array
Failed inserting element io cbs array
Failed installing selectable updates
Failed in StringCchCopy
Failed looking up the privilege
Failed: LookupPrivilegeValue()
FailedLuaAccountingRetrievalCount
failedMigrateCount
FailedMigratePinnedDbToDscAttrib
Failed. More than one packages found in the sandbox
Failed. No packages found in the sandbox
Failed: NULL owner sid was returned by GetTokenInformation().
Failed opening the process token
Failed: OpenProcessToken()
Failed parsing offline parameters
Failed parsing package location list
Failed parsing selectable update list
Failed parsing uninstall package name list
failedPinRecord
Failed: ProcessIdToSessionId()
FailedQueryPinnedFiles
Failed releasing callback thread
Failed resetting m_dataProcessedEvent event
Failed resetting m_dataReadyEvent event
Failed restart attempt.
Failed restarting the computer
Failed. Restart mode was supplied multiple times
Failed. ShutdownBlockReasonCreate returned false.
Failed signature type check on signature
Failed StartRailOrderEncodingRpcServer
Failed StartServer
Failed StartShellHelperRpcServer
Failed StringCchPrintf
FailedSubscriber
Failed: TaskDialog()
Failed to accept EULA
Failed to acquire a key container handle
Failed to acquire context
Failed to acquire log manager
Failed to activate profile
Failed to add a blank space to the ignored argument list
Failed to add an argument to the ignored list
Failed to add a value to the option array
Failed to add a value to the package uninstall list
Failed to AddCallback for workitem
Failed to add callback to thread!
Failed to add CbsLogMonitor provider
Failed to add Enumeration entry : Memory allocation failed for Enumeration entries.
Failed to add Enumeration entry : Memory allocation failed for Enumeration name.
Failed to add Enumeration entry : Memory allocation failed for Guid Enumeration Link.
Failed to add EnumGuid entry : Memory allocation failed for Guid entries.
Failed to add EnumGuid entry : Memory allocation failed for Guid Enumeration Link.
Failed to add file to string collection
Failed to add global dism options to the command line.
Failed to add prefix to file path.
Failed to add prefix to UNC path.
Failed to add scan package service
Failed to add the new string
Failed to add timer to timer list
Failed to advise sink for IAICEventSink events
Failed to advise sink for IALEventSink events
Failed to allocate and initialize Administrators group SID.
Failed to allocate BSTR for application title
Failed to allocate BSTR for search criteria
Failed to allocate buffer for expanded path.
Failed to allocate buffer for full path.
Failed to allocate client application ID
Failed to allocate delete search string for backup logs path.
Failed to allocate directory string
Failed to allocate full path to msi DLL.
Failed to allocate full path to WDSCORE DLL.
Failed to allocate memory
Failed to allocate memory for ACL
Failed to allocate memory for argument value
Failed to allocate memory for command line.
Failed to allocate memory for deletion target file string
Failed to allocate memory for event trace properties
Failed to allocate memory for file searching string
Failed to allocate memory for full path.
Failed to allocate memory for ignored arguments.
Failed to allocate memory for lock file path.
Failed to allocate memory for owner sid
Failed to allocate memory for owner token info
Failed to allocate memory for product code
Failed to allocate memory for scan cab path
Failed to allocate memory for security attributes
Failed to allocate memory for security descriptor
Failed to allocate memory for temp path
Failed to allocate memory for user sid
Failed to allocate memory for user token info
Failed to allocate new string
Failed to allocate path for oldest backup log.
Failed to allocate payload full path
Failed to allocate relative path to WDSCORE DLL.
Failed to allocate space for expanded path.
Failed to allocate space for full path.
Failed to allocate space in the target process for the recording parameters
Failed to allocate string
Failed to allocate temp buffer
Failed to alloc mem for DLL
Failed to append to buffer
Failed to authenticate challenge
Failed to authenticate challenge (v6)
Failed to begin search
Failed to begin transaction
Failed to bind CLIP_CAPS response event sink!
Failed to bind FILE_CONTENTS_REQUEST event sink!
Failed to bind FILE_CONTENTS_RESPONSE event sink!
Failed to bind FORMAT_DATA_REQUEST event sink!
Failed to bind FORMAT_DATA_RESPONSE event sink!
Failed to bind FORMAT_LIST event sink!
Failed to bind FORMAT_LIST_RESPONSE response event sink!
Failed to bind LOCK_CLIPDATA event sink!
Failed to bind MONITOR_READY event sink!
Failed to bind the main RDPClip thread to the current thread!
Failed to block Operation System shutdown
Failed to broker extension to runtime
Failed to build msiexec.exe command line
Failed to build sandbox directory name
Failed to build sandbox full path
Failed to build search criteria
Failed to build security attribute for sandbox
Failed to build the full path for offline scan cab
Failed to build the path to Report.wer
Failed to build update payload full path
Failed to capture error message
Failed to change BI session state to SessionOemPreinstallComplete
Failed to change BI session state to SessionOemPreinstallStart
Failed to change state of a package
Failed to ChangeWindowMessageFilterEx
Failed to check cardapps
Failed to check cardcf
Failed to check cardid file
Failed to check cmapfile
Failed to check file
Failed to check token membership.
failed to clear error log
Failed to close file stream!
Failed to communicate with PktMon driver.
Failed to concat backslash onto string.
Failed to concat full path to WDSCORE DLL
Failed to concat second string.
Failed to concat string.
Failed to configure logging settings
Failed to connect to smart card
Failed to convert BufferSize to ULONG
Failed to convert cchExpandedPath to DWORD
Failed to convert cchValue to DWORD
Failed to convert from size_t to DWORD
Failed to convert from size_t to ULONG
Failed to convert IP address to string.
Failed to copy application start param
Failed to copy event message
FailedToCopyFilesFromSlFolder
Failed to copy graphics adapter device name
Failed to copy log file name
Failed to copy overlaydescription
Failed to copy overlay string into escData
Failed to copy "RDPClip-Disconnect" event name!
Failed to copy "RDPClip-Reconnect" event name!
Failed to copy relative path into full path.
Failed to copy sand box location
Failed to copy source string to destination
Failed to copy string
Failed to copy the dump path in the list
Failed to copy the offline update to WU's cache
Failed to copy the recording parameters to the destination buffer in the target process
FailedToCopyToUtcFolder
Failed to create a CBS package
Failed to create a CBS session instance
Failed to create a new CBS client
Failed to create a searcher object
Failed to create a UI handler
Failed to create a window!
Failed to create cardapps
Failed to create cardcf
Failed to create cardid
Failed to create CLIP_CAPS event source!
Failed to create CLIP_EVENT_FILE_CONTENTS_REQUEST event source!
Failed to create CLIP_EVENT_FILE_CONTENTS_RESPONSE event source!
Failed to create CLIP_EVENT_LOCK_CLIPDATA event source!
Failed to create CLIP_EVENT_UNLOCK_CLIPDATA event source!
Failed to create cmapfile
Failed to create default buffer result buffer!
Failed to create directory
Failed to create event
Failed to create file
Failed to create file settings stream!
Failed to create FORMAT_DATA_REQUEST event source!
Failed to create FORMAT_DATA_RESPONSE event source!
Failed to create FORMAT_LIST event source!
Failed to create FORMAT_LIST_RESPONSE event source!
Failed to create InputProcessorProfiles instance
Failed to create ITSThreadInternal
Failed to create Light runtime!
Failed to create memory settings stream!
Failed to create mini live report.
Failed to create mscp directory
Failed to create path
Failed to create receive thread!
Failed to create registry key
Failed to create sandbox
Failed to create settings store!
Failed to create TEMP_DIRECTORY event source!
Failed to create the clipboard driver thread!
Failed to create the clipboard thread!
Failed to create the jit buffer in the target process
Failed to create the location driver thread!
Failed to create the main RDPClip thread!
Failed to create the plugins
Failed to create thread signal
Failed to create thread signal event
Failed to create UNKNOWN_PDU event source!
Failed to create UpdateInstaller object
Failed to create window of progress bar
Failed to create workspace extension
Failed to create work thread
Failed to deauthenticate (v6)
Failed to delete context
Failed to delete extra backup log files.
Failed to delete oldest backup log.
Failed to delete sandbox
Failed to destroy the location driver thread!
Failed to determine size of string.
Failed to dispatch CLIP_CAPS!
Failed to dispatch FILECONTENTS_REQUEST!
Failed to dispatch FILECONTENTS_RESPONSE!
Failed to dispatch FORMAT_DATA_REQUEST!
Failed to dispatch FORMAT_DATA_RESPONSE!
Failed to dispatch FORMAT_LIST!
Failed to dispatch FORMAT_LIST_RESPONSE!
Failed to dispatch LOCK_CLIPDATA!
Failed to dispatch TEMP_DIRECTORY!
Failed to dispatch UNKNOWN_PDU!
Failed to dispatch UNLOCK_CLIPDATA!
Failed to display no-update message box
Failed to display uninstall-not-supported message box
Failed to display update-installed message box
Failed to display update-not-installed message box
Failed to display update-permanent message box
Failed to display welcome
Failed to duplicate sz
Failed to end transaction
Failed to enumerate installed packages
Failed to enumerate the report types
Failed to escape command line.
Failed to establish smart card context
Failed to extend the keep alive deadline
Failed to finalize session
failed to find an image for remoteApp item
Failed to find CapabilityRegisters
FailedToFindExtensionKey
FailedToFindExtensionsKey
Failed to format string.
Failed to free memory
Failed to generate a random number
Failed to get administrator sid
Failed to get administrator's SID
Failed to get CardAcquireContext address
Failed to get card module name
Failed to get card names
Failed to get challenge
Failed to get challenge (v6)
Failed to get CLSIDFromProgID
Failed to get command line length.
Failed to get count of updates
Failed to get count of updates to install
Failed to get download contents from the collection
Failed to get download contents from update
Failed to get download count
Failed to get download URL
Failed to get exit code of msiexec.exe process.
Failed to get file info
Failed to get ImeJpnKanaSetting
Failed to get input parameter wszPath's length
Failed to get InputProcessorProfileMgr interface
Failed to get install HResult
Failed to get install result code
Failed to get IStringCollection interface
Failed to get Iunknown interface
Failed to get IUpdate2 interface
Failed to get IUpdateInstallationResult interface
Failed to get IUpdateServiceManager interface
Failed to get IUpdateSession interface
Failed to get Kana settings
Failed to get live dump root folder
Failed to get max length of expanded path.
Failed to get module specific class name
Failed to get MSU file name
Failed to get MSU file name or KB number
Failed to get owner sid
Failed to get owner token
Failed to get proc address for ConstructPartialMsgVA.
Failed to get proc address for CurrentIP.
Failed to get proc address for MsiConfigureProductW.
Failed to get proc address for MsiSetInternalUI.
Failed to get proc address for WdsGenericSetupLogInit.
Failed to get proc address for WdsGetSetupLog.
Failed to get proc address for WdsSetupLogDestroy.
Failed to get proc address for WdsSetupLogInit.
Failed to get proc address for WdsSetupLogMessageA.
Failed to get RdpClientUtils
Failed to get reader state
Failed to get reboot requirement
Failed to get search result code
Failed to get search warnings
Failed to get service ID for scan package service
Failed to get size of destination string.
Failed to get size of existing string
Failed to get size of full path.
FailedToGetSlFolderForUser
Failed to get source length
Failed to get STR_CANCEL text
Failed to get STR_COPY_START text
Failed to get STR_DISPLAY_NAME text
Failed to get STR_EXPAND_START text
Failed to get STR_EXPAND_START_UNINSTALL text
Failed to get string length
Failed to get STR_SEARCH_START text
Failed to get STR_UNINSTALL_START text
Failed to get system direcotry
Failed to get system directory
Failed to get TabActive value from the property store
Failed to get TabList value from the property store
Failed to get the address of the destination buffer in the target process for the recording parameters
Failed to get the current active profile
Failed to get the device name for RDPUDD
Failed to get the file contents as a string!
Failed to get the length of ignored arguments
Failed to get the live kernel report
Failed to get the property store for frame window
Failed to get the recording engine initialization data back from the guest. Guest is no longer reachable.
Failed to get the session properties
Failed to get the token buffer size
Failed to get timer HWND
Failed to get update collection from search result
Failed to get update HResult
Failed to get update out of collection
Failed to get update property BundledUpdates
Failed to get update result code
Failed to get update title
Failed to get user sid
Failed to get user token
Failed to get warning
Failed to get warning count
Failed to get warning HRESULT
Failed to get windows directory.
Failed to get windows directory for WDSCORE DLL path.
Failed to get work item interface
Failed to grab timer list lock
Failed to initialize agent
Failed to initialize buffer result!
Failed to initialize CBS session
Failed to initialize CClipDndServerDriver!
Failed to initialize CClipServer!
Failed to initialize CEnumFormatEtc!
Failed to initialize COM
Failed to initialize COM security
Failed to initialize CProxyDataObject!
Failed to initialize CProxyDataObjectManager!
Failed to initialize CProxyStreamManager!
Failed to initialize CRdpClipMainWnd!
Failed to initialize critical section
Failed to initialize CServerClipRdrPduDispatcher!
Failed to initialize CServerFormatDataPacker!
Failed to initialize CServerRdrVirtualChannel!
Failed to initialize CShellSettings
Failed to initialize engine. Falling back.
Failed to initialize for FinalDumpFileLocation with error
Failed to initialize Kana setting
Failed to initialize ProcThreadAttributeList.
Failed to initialize test extension
Failed to initialize the application
Failed to initialize the live console display.
Failed to initialize the MUI resource loader!
Failed to initialize timer globals
Failed to initialize timer list lock
Failed to initialize tracing
Failed to initiate changes
Failed to initiate system shutdown
Failed to init in thread context
Failed to init workitem result
Failed to install update
Failed to load card module
Failed to load crash settings
Failed to load file contents!
Failed to load livedump settings
Failed to load policy settings.
Failed to load settings
Failed to load the resource. Does it exist in the resource file?
Failed to load user32.dll library!
Failed to load windows directory
Failed to move pointer to the beginning of the file!
Failed to notify taskbar button created to RAIL window. ITaskbarList interfaces may not work.
Failed to open a CBS package
Failed to open current user appmgmt key
Failed to open machine appmgmt key
failed to open resource
Failed to output the order in WND_InsertDesktopOrderIntoBuffer
Failed to output the order in WND_InsertSNOrderIntoBuffer
Failed to output the order in WND_InsertWindowIconOrderIntoBuffer
Failed to output the order in WND_InsertWindowOrderIntoBuffer
Failed to parse command line options
Failed to parse switch
Failed to patch LdrInitializeThunk in the guest process .
Failed to prefix KB number
Failed to prefix long path after expanding.
Failed to prefix long path after expanding environment variables.
Failed to purge WER stores
Failed to QI
Failed to QI for ITfSource
Failed to QI on a CBS package
Failed to QI ourselves for IUnknown
Failed to query keyword property
Failed to query permanence property
Failed to query properties
Failed to query status of package
Failed to query whether update is already installed
Failed to read settings for DumpFile
Failed to read settings for MiniDumpDir
Failed to read the dumpfile setting for machine crash
Failed to reallocate memory
Failed to re-allocate more space for expanded path.
Failed to re-allocate more space for full path.
Failed to reassemble input message!
Failed to reconnect
Failed to recursively call CopyToCache
Failed to register CbsLogMonitor provider
Failed to register the window class!
Failed to register wait object
Failed to register window class
Failed to remap server relative temporary directory!
Failed to remove CLIP_CAPS event sink!
Failed to remove CLIP_CAPS event source!
Failed to remove CLIP_EVENT_FILE_CONTENTS_REQUEST event source!
Failed to remove CLIP_EVENT_FILE_CONTENTS_RESPONSE event source!
Failed to remove FILE_CONTENTS_REQUEST event sink!
Failed to remove FILE_CONTENTS_RESPONSE event sink!
Failed to remove FORMAT_DATA_REQUEST event sink!
Failed to remove FORMAT_DATA_REQUEST event source!
Failed to remove FORMAT_DATA_RESPONSE event sink!
Failed to remove FORMAT_DATA_RESPONSE event source!
Failed to remove FORMAT_LIST event sink!
Failed to remove FORMAT_LIST event source!
Failed to remove FORMAT_LIST_RESPONSE event sink!
Failed to remove FORMAT_LIST_RESPONSE event source!
Failed to remove TEMP_DIRECTORY event sink!
Failed to remove TEMP_DIRECTORY event source!
Failed to remove timer to timer list
Failed to remove UNKNOWN_PDU event source!
Failed to reset DD
Failed to retrieve the activity ID.  Event logging will not be per-session
Failed to revert store serialization.
FailedToRevertToLKG
Failed to run thread events
Failed to run wizard
Failed to save for FinalDumpFileLocation with error
Failed to save package identity as string
Failed to save package keyword as string
Failed to save package name as string
Failed to save package release type as string
Failed to save the settings
Failed to save the settings for the path
Failed to send caps
Failed to send compartment Info
Failed to send message WM_WUA_EXPAND_STARTED to progress window
Failed to SendOverlayDescription
Failed to send RDPNAMEDPIPE_SERVER_READY_PDU
Failed to send recording parameters to the target process
Failed to set client application ID
Failed to set command line registry value
Failed to set default locale
Failed to set done event to release shutdown block
Failed to set EnableClipboardRedirect property
Failed to Set Imm Status
Failed to set kana mode on client
Failed to set memory stream contents!
Failed to set mitigation policy attribute.
Failed to set MSI internal UI level to none
Failed to set offline scab cab as the search server
Failed to set privilege SE_SHUTDOWN_NAME
Failed to set privilege: SE_TCB_NAME
Failed to set reporting mode to FALSE
Failed to set reporting mode to true
Failed to set SetClipboardRedirectCallback property
Failed to set the service ID
Failed to set update title
Failed to set waitable timer
Failed to show multiple instance dialog
Failed to show non administrator dialog
Failed to show stack update dialog
Failed to show welcome dialog
Failed to signal callback thread. No more packets will be available.
Failed to signal event queue
Failed to Signal Event Queue
Failed to snapshot the clipboard!
Failed to sprintf registry key name
Failed to start dism.exe.
Failed to start the clipboard driver thread!
Failed to start the clipboard thread!
Failed to start the location driver thread!
Failed to start the receive thread!
FailedToStartTracingSessions
Failed to subclass the window
Failed to sync compartments after a focus change
Failed to sync compartments after input context event
Failed to tell installer what update to install
Failed to terminate timer globals
Failed to terminate timer list lock
Failed to TsOpenMemorySettingsStore
Failed to uninstall package
Failed to unregister the thread window class
Failed to unregister the timer window class
Failed to unregister wait object
Failed to update progress window after created it.
Failed to validate card data
FailedToVerifyTrust
Failed to wait on msiexec.exe process
Failed to write file
Failed to write on TSGEOMETRY_CHANNEL_NAME DVC
_FAILED[TRACK]
FAILED[TRACK]
Failed TSCreateLpcServer
Failed. Unexpected return from MsgWaitForMultipleObjects()
Failed uninstalling package(s)
Failed uninstalling selectable updates
Failed updating maintenance flags.
Failed; user cancelled the install
Failed; user cancelled the installation
Failed; user cancelled the uninstall
Failed VC manager init
Failed version check on signature
Failed waiting on created process
 failed with 
 failed with error code 
FailFast
FailIfNotTrackable
FailingCode
FailingFunction
FailStartReason
Fail to add thread to thread descriptor
Fail to create core events
Fail to open instance of RDPIDD
Fail to run queue events
Fail to schedule the chore!
FailureAction
FailureCode
failureCount
failureDetail
FailureEscalated
failureId
FailureInfo
Failure is returned by CreateProgressWindow()
FailurePoint
failureReason
FailureReason
FailureReported
Failure returned by CreateFont()
Failure returned by CreateFontIndirectW()
Failure returned by CreateWindowExW() for the cancel button
Failure returned by CreateWindowExW() for the progress bar
Failure returned by CreateWindowExW() for the static text
Failure returned by DeleteDC ()
Failure returned by DeleteObject()
Failure returned by GetClientRect() of the progress window
Failure returned by GetDC()
Failure returned by GetDlgItem() for cancel button
Failure returned by GetDlgItem() for progress bar
Failure returned by GetTextExtentPoint32W() for string "Cancel"
Failure returned by InitCommonControlsEx()
Failure returned by SelectObject()
Failure returned by SetDlgItemTextW()
Failure returned by SetWindowLong() when disabling marquee
Failure returned by SystemParametersInfo()
Failures
FailureStatus
Failure to create accelerator key table()
Failure: top level unknown exception
failureType
_FakeupSnapshotName
fallbackBlockedCount
fallbackCount
FallbackError
FallbackServers
FamilyID
fAnnotate
Fapi-ms-win-shell-shellfolders-l1-1-0.dll
__fastcall
fast-close
FastProx.dll
--fast-read
fast-read
fAsynchronous
!FATAL!:
FatalFailure
?Fatal@PROGRAM@@UEBAXKKPEADZZ
?Fatal@PROGRAM@@UEBAXXZ
FATBOOTVOL
fA;?tWL;
faultrep.dll
FaxAccessCheckEx
FaxAccessCheckEx2
FaxClose
FaxComposeFreeBuffer
FaxConnectFaxServerW
FaxEndMessagesEnum
FaxEnumAccounts
FaxEnumJobsEx2
FaxEnumMessagesEx
FaxEnumMessagesW
FaxEnumPortsExW
FaxFreeBuffer
FaxFreeSenderInformation
FaxGetGeneralConfiguration
FaxGetJobExW
FaxGetMessageEx
FaxGetMessageTiffW
FaxGetMessageW
FaxGetQueueStates
FaxGetRecipientInfoW
FaxGetReportedServerAPIVersion
FaxGetSenderInformation
FaxGetSenderInfoW
FaxReAssignMessage
FaxRegisterForServerEvents
FaxRegisterForServerEventsEx
FaxRemoveMessage
FaxScanAppLaunched
FaxSetJobW
FaxSetMessage
FaxSetSenderInformation
FaxStartMessagesEnum
FaxStartMessagesEnumEx
FaxUnregisterForServerEvents
fA;y s.H
fB94ht	H
Fbad allocation
Fbad variant access
 FBAmxtq
fBfBf7.B
_@fBhdJsKV
#(FbI-*o
FbstrCommandLine
FCreateTagFile:Unable to construct path to tag file
??_FCRtlList@@QEAAXXZ
??_FCRtlMap@@QEAAXXZ
FCVdsHbaPort::CVdsHbaPort()
FCWudfIoStackLocationBase::SetDevice
F@D88u-D
fD93t E3
fD94pt	H
fD97t'H;
fD97t#L9w
fD9c8u!D8ewu
fD9Ews6I;
fD9]gu:I
fD9K(t[L9C
fD9m0v A
fD9r(u	@8z*A
fD9S(tHH9K
fD9 t7H;
F|D9 t'D
fD9*t*E9n
fD9[(tnL9C
fD9?tpH;
fD9#u6fD9c
fD9?u)H;
fD;a(u	H
fD;B r(w 
fD;cTs1H
FDDDDLDdLl||||x
FDDI-net
fDDpDpfD
fDfDffDfDfD
fDfDffDfDfDfffDf
fDffDfDpD
fDffDffDffDfffff
fDfffKfff
fD;j0sTH
fDKDffDffDffD
FDL9n ut
fD;q(u	H
fD;RHsAA
FDR: Unlikely Session ID found
fD;[(tPL
#fD; u2I
fD;y(u	H
F E98uzH
fE9a8u-H
fE9a8u-M
fE9e8u!D8ewu
fE9Hbt	A
:fE;9uGI
fE9X r]w!A
featureBaseVersion
FeaturedResetPCPage_CreateInstance
FeatureError
featureId
	    Feature - Priority Flow Control
FeatureSessionId
featureStage
FeatureUsage
FeatureUsed
FeatureVariantUsage
featureVersion
February
FeClient.dll
Feedback
FeedbackAndRatings
fE;fTsZI
FetchLanguageOverlayPackageForFirstLogon
!fExisted
Fext-ms-win-advapi32-eventlog-l1-1-0.dll
Fext-ms-win-ntuser-draw-l1-1-0.dll
Fext-ms-win-rtcore-ntuser-window-ext-l1-1-0.dll
Fext-ms-win-security-credui-l1-1-0.dll
@Ff9BFu1A
F"fA9F u
ffBi.i.p
@ffcaaCA17a
ffcfggpuqmmjj[s
ffDDffffDfDfffDffipfip
ffDfDffffffffifDff
Ffeedcaa_G
FFFFFFDh
-fffffff
.fffffff
fffffffDff
FFFFFFFF
]FFFFFFFFF]
ffffffffKff
ffffffffpipip
FFFFFFFO
ffffff.p
fff.ff.p
ffff.iffifpiBi7p7f7p7p
ff.ff.i.p
fffifff7fp.iB
fffiffifpppp
fff.i.ffp.if7fB7Bf
fffififp
ffi.ffpf
ff.i.pfif7fB
ffKDffffDfD
ffKfff.f
--fflags
FF"*nnnnyn N L N 
ffp7pfif7f7ff7p7Bi7p7B7iB7B7
ffpiDfDfiffffffpfpfifp
FGetComponentPath
F@GKGKKKKK
F H9xPtc@8
Fheaders
fh!EK'z9
fHibernate
fH)Y__g0
FieldDef
Field in SignScope not found in store
__FILE__
FileAccess
FILE_ADD_FILE
FILE_ADD_SUBDIRECTORY
FILE_ALL_ACCESS
FileAlreadyExisted
FILE_ANY_ACCESS
FILE_APPEND_DATA
FILE_ATTRIBUTE_DIRECTORY
FILE_ATTRIBUTE_NORMAL
FileAttributeWWW
file cannot be checked
FILE_COMPLETE_IF_OPLOCKED
FILE_CREATE
FILE_CREATE_TREE_CONNECTION
FILE_DELETE_CHILD
FILE_DELETE_ON_CLOSE
FILE_DEVICE_DISK
FILE_DEVICE_MASS_STORAGE
FILE_DIRECTORY_FILE
file error
FILE_EXECUTE
file exists
FileExists
FileExistsIsOk
FileExistsWW
FILE_FLAG_NO_BUFFERING
FileFunction
FILE_GENERIC_EXECUTE
FILE_GENERIC_READ
FILE_GENERIC_WRITE
FILEGROUPDESCRIPTOR
file handle is invalid
filehash
FileHash
FileHashVerified
FileInfo
FileInfoFilter
FileIsDirectory
file is missing
_filelength
FILE_LIST_DIRECTORY
FileLoadException
fileMappingHandle
FileMissing
FileMissingIsOk
FileMode
file_name
filename
fileName
FileName
filename too long
filename_too_long
FILE_NO_COMPRESSION
FILE_NO_EA_KNOWLEDGE
FILE_NO_INTERMEDIATE_BUFFERING
FILE_NON_DIRECTORY_FILE
File not found
FileNotFound
FileNotFoundException
File Object for the stack location must not already be set
File Object for the stack location not set. Potentially because driver didn't forward Create to this layer.
File object is unexpectedly NULL
File object not associated with device stack
FILE_OPEN
FILE_OPEN_BY_FILE_ID
FILE_OPEN_FOR_BACKUP_INTENT
FILE_OPEN_FOR_FREE_SPACE_QUERY
FILE_OPEN_IF
FILE_OPEN_NO_RECALL
FILE_OPEN_REMOTE_INSTANCE
FILE_OPEN_REPARSE_POINT
FILE_OVERWRITE
filePath
FILE_RANDOM_ACCESS
FILE_READ_ATTRIBUTES
FILE_READ_DATA
FILE_READ_EA
FILE_RESERVE_OPFILTER
FilesAndProfile
FILE_SEQUENTIAL_ONLY
files-from
FILE_SHARE_DELETE
FILE_SHARE_READ
FILE_SHARE_WRITE
FileSize
FILESIZES
FileSpecL
FilesToDelete.Allocate(10)
FileStream
FILE_SYNCHRONOUS_IO_ALERT
FILE_SYNCHRONOUS_IO_NONALERT
FileSystemInfo
FileSystemType
FileTimeToDosDateTime
FileTimeToLocalFileTime
FileTimeToLocalTime failed
FileTimeToSystemTime
FileTimeToSystemTime failed
FileTimeToVariantTime
file too large
FILE_TRAVERSE
FileUtils
FileVersion
FileVersionW
FileWasMissing
                    File will be written to the current working directory.
FILE_WRITE_ATTRIBUTES
FILE_WRITE_DATA
FILE_WRITE_EA
FILE_WRITE_THROUGH
FillAndSendGeometryEsc failed
FillConsoleOutputCharacterW
?FillCVarAt@CVarVector@@QEAAXHAEAVCVar@@@Z
_FillDetailsPage
FillIconEscHelper failed
FILLMODE
fillModeNonSolid
FillReceiveBuffer failed!
FillRect
FillRectangle
FillRectClr
?FillVariant@CVar@@QEAAXPEAUtagVARIANT@@H@Z
_FillWinDir
FilterAttach
FilterConnectCommunicationPort
filteredDeferReason
FilterGetMessage
filterkeys
FilterLoad
filterMinmaxImageComponentMapping
filterMinmaxSingleComponentFormats
filter module not found in dependent files
FilterProcessBackoff
FilterReplyMessage
_FilterRestorePointsBySystemId
FilterSendMessage
filterState
filterStateToSet
fImplicitStart
Finalize
FinalRelease incremented the refcount
FinancialAccountingAndRecords
FindActCtxSectionStringW
FindAndRemoveMenuItem failed
FindAtomW
_FindBackup
FindChildWindow can only be called on a parent window.
FindChildWindowCookieByViewId can only be called on a parent window.
?Find@CHString@@QEBAHG@Z
?Find@CHString@@QEBAHPEBG@Z
FindClose
FindCloseChangeNotification
FindClosePrinterChangeNotification
?Find@CRtlMap@@QEAAHAEAVCRtlEntry@@PEAV2@@Z
?FindDescendent@Element@DirectUI@@QEAAPEAV12@G@Z
?Find@ElementProviderManager@DirectUI@@SAPEAVElementProvider@2@PEAVElement@2@@Z
FindEmptySlot failed!
FindFirstChangeNotificationW
FindFirstFileA
FindFirstFileExA
FindFirstFileExW
FindFirstFileNameW
FindFirstFileW
?FindFirstFileW@@YAPEAXPEBVPATH@@PEAU_WIN32_FIND_DATAW@@@Z
FindFirstPrinterChangeNotification
FindFirstVolumeMountPointW
FindFirstVolumeW
FindFSPropertiesInMap
FindGadgetFromPoint
FindIndex
FindInteractiveUserProcess failed!
FindLivePdmPrinterById
_FindNewestAndSuggestedRestorePoints
FindNextChangeNotification
FindNextFileA
FindNextFileNameW
FindNextFileW
FindNextFileW(pFindData)
FindNextStorageTypeEx
FindNextVolumeMountPointW
FindNextVolumeW
FindOneOf()
?FindOneOf@CHString@@QEBAHPEBG@Z
FindOrCreateCookieInGlobalMap()
FindPackagesByPackageFamily
?FindPtr@CRtlMap@@QEAAHAEAVCRtlEntry@@PEAPEAV2@@Z
FindRdpSessionAgentProxyProcess failed!
FindResourceA
FindResourceExW
FindResourceW
FindSelectionScopeParamsForRestore
_FindSppExternalGroup
_FindSrVolumeInBackup
FindStdColor
FindStringOrdinal
FindVolumeClose
FindVolumeInMap: volume not found.
FindVolumeMountPointClose
FindWindow
FindWindowExW
FindWindowW
FingersStartedPackingData
FINISHMSG
Finite State Machine Error
Finvalid stoull argument
Finvalid string position
?_Fiopen@std@@YAPEAU_iobuf@@PEBGHH@Z
FireASyncNotification failed
FireASyncNotification failed!
FireASyncNotification failed for PowerDisplayRequest
FireASyncNotification failed for RAIL_EVENT_AVC_SHOW_IN_SWITCHERS
FireASyncNotification failed for RAIL_EVENT_WINDOW_ACTIVATION_TIMER_ELAPSED
FireASyncNotification failed for SendCloak
FireASyncNotification(RDPINPUT_EVENT_DISPLAY_CHANGE) failed!
FireASyncNotification(RDPINPUT_EVENT_SESSION_DISCONNECT) failed!
FireASyncNotification(RDPINPUT_EVENT_SESSION_RECONNECT) failed!
?FireEvent@Element@DirectUI@@QEAAXPEAUEvent@2@_N1@Z
	Fires an event marker
	Fires an event marker and flushes the working set
FireTimerElapsedEvent failed
FirewallAPI.dll
Firmware Error
FirmwareResetReasonEmbeddedController
FirmwareResetReasonEmbeddedControllerAdditional
FirmwareResetReasonPch
FirmwareResetReasonPchAdditional
FirmwareResetReasonSupplied
Firmware revision
Firmware version has changed
first_4k
first_64k
firstClientAppSessionGuid
firstClientFilename
firstClientSensorRefs
First failed HR
                    first gpu in the system conforming to the DevSim schema.
firstItem
firstLogon
first not in the string
First option must be a mode specifier:
FirstOrDefault
First-run thread message loop failed
firstSpectrumCall
FirstTimeInit
fIsValidFile
FitnessAndActivity
FixDevmode
FixedWWW
]f[)IXH|
F J;D* t
F J;D* t|A
FJLuppppjjiii
FJRVfffddd"
fKDfDfDfff
fKfffffp
fKfKDKffKfKff
fKfKfKfKfKffKfffffff.f
fK.Kf.K.
fK.KfKfff.f
fKKfKfKffKfffff.p.fi.
fKKfKKffDfffDfffpfp
F@L9n uu
FlagName
FlagsAttribute
?flags@ios_base@std@@QEBAHXZ
flashClustersFree
FlashToDiskMovementTable
F(L!fXD!fPD!fTH
flightID
	FlightInapplicable
FLIGHTSIGNING
flightUpdate
F(L!nXD!nPD!nTL!
    float2 Tex              : TEXCOORD0;
    float2 Tex : TEXCOORD0;
    float2   vTexCoord        : TEXCOORD0;
    float2   vTexCoord : TEXCOORD0;
    float3   vPosition : POSITION;
    float4 BlurSamplesBLBR  : TEXCOORD2;
    float4 BlurSamplesTLTR  : TEXCOORD1;
    float4 Color            : COLOR0;
    float4 Color : COLOR0;
float4 GlassPixelShader( GLASS_VS_OUTPUT sVIn ) : SV_Target
float4 GlassPixelShader( in GlassVertexShaderOutput In ) : COLOR
    float4   g_vWindowOffsetAndBlurStepSize;
    float4 Pos              : POSITION0;
    float4 Pos : POSITION0;
float4 RTPixelShader( in float2 TexCoord : TEXCOORD0 ) : COLOR
float4 RTPixelShader( SIMPLE_VS_OUTPUT sVIn ) : SV_Target
float4 SimplePixelShader(
float4 SimplePixelShader( SIMPLE_VS_OUTPUT sVIn ) : SV_Target
    float4 Sum;
    float4   vBlurSamplesBLBR : TEXCOORD2;
    float4   vBlurSamplesTLTR : TEXCOORD1;
    float4   vDiffuse         : COLOR;
    float4   vDiffuse  : COLOR;
    float4   vGlass;
    float4   vPosition        : SV_POSITION;
    float4   vPosition : SV_POSITION;
    float4   vRetVal;
    float4   vTexColor;
float4 WindowOffsetAndBlurStepSize : register( c0 );
float constant
float expected
- floating point support not loaded
floorGravity
floorToStaticNode
FlowName
FlsAlloc
FlsGetValue
FlsSetValue
fltLib.dll
FlushConsoleInputBuffer
FlushData
	Flushes logging sessions initiated through WPR
FlushFileBuffers
?Flush@FileStream@UnBCL@@UEAAXXZ
	-flush			 - Flushes logging sessions initiated through WPR (if any)
FlushInstructionCache
flushLat
FlushLiveReports
FlushLiveReports failed
?Flush@MemoryStream@UnBCL@@UEAAXXZ
Flush message
FlushPartition
FlushProcessWriteBuffers
?Flush@SerializationStream@UnBCL@@QEAAXXZ
FlushTraceW
FlushViewOfFile
fMessageSpecified
F  MfL'c
Fm_FxModInfo should not be NULL
"Fnnuyyu"
f??ntO)m
fnW32TmI_ScSetServiceBits
fnW32TmRegisterServiceCtrlHandlerEx
fnW32TmSetServiceStatus
FocalLengthX
FocalLengthY
fod.c_str()
FodHelperSessionId
fodPackageName
FodPackageName
FOGCOLOR
FOGDENSITY
FOGENABLE
FOG must be a scalar
FOGSTART
FOGTABLEMODE
FOGVERTEXMODE
FolderExists
FolderPathWW
FoldersW
FOLE32.dll
Followers
FontCachePortName
FontCacheServiceName
			font-size: 14px;
			font-size: 44px;
FontStyle
			font-weight: 200;
FOpenPrinterW
ForAppending 
ForceClosed
FORCEDISABLE
ForcedRebootReminderSet
ForcedShutdown
forcedSwitchToDesktopError
forceEvaluated
forceLock
ForceLogOffAadUserAsDpApiCredKeyDecryptionFailed
			ForceRemove 'Programmable'
            ForceRemove 'Programmable'
        ForceRemove 'vdsldr.exe'
force_service_determination
ForceUpload
ForceWWW@
 for inf-req)
--format
FORMAT_A1R5G5B5_UNORM_PACK16
FORMAT_A2B10G10R10_SINT_PACK32
FORMAT_A2B10G10R10_SNORM_PACK32
FORMAT_A2B10G10R10_SSCALED_PACK32
FORMAT_A2B10G10R10_UINT_PACK32
FORMAT_A2B10G10R10_UNORM_PACK32
FORMAT_A2B10G10R10_USCALED_PACK32
FORMAT_A2R10G10B10_SINT_PACK32
FORMAT_A2R10G10B10_SNORM_PACK32
FORMAT_A2R10G10B10_SSCALED_PACK32
FORMAT_A2R10G10B10_UINT_PACK32
FORMAT_A2R10G10B10_UNORM_PACK32
FORMAT_A2R10G10B10_USCALED_PACK32
formatA4B4G4R4
FORMAT_A4B4G4R4_UNORM_PACK16
formatA4R4G4B4
FORMAT_A4R4G4B4_UNORM_PACK16
FORMAT_A8B8G8R8_SINT_PACK32
FORMAT_A8B8G8R8_SNORM_PACK32
FORMAT_A8B8G8R8_SRGB_PACK32
FORMAT_A8B8G8R8_SSCALED_PACK32
FORMAT_A8B8G8R8_UINT_PACK32
FORMAT_A8B8G8R8_UNORM_PACK32
FORMAT_A8B8G8R8_USCALED_PACK32
FORMAT_ASTC_10x10_SFLOAT_BLOCK
FORMAT_ASTC_10x10_SRGB_BLOCK
FORMAT_ASTC_10x10_UNORM_BLOCK
FORMAT_ASTC_10x5_SFLOAT_BLOCK
FORMAT_ASTC_10x5_SRGB_BLOCK
FORMAT_ASTC_10x5_UNORM_BLOCK
FORMAT_ASTC_10x6_SFLOAT_BLOCK
FORMAT_ASTC_10x6_SRGB_BLOCK
FORMAT_ASTC_10x6_UNORM_BLOCK
FORMAT_ASTC_10x8_SFLOAT_BLOCK
FORMAT_ASTC_10x8_SRGB_BLOCK
FORMAT_ASTC_10x8_UNORM_BLOCK
FORMAT_ASTC_12x10_SFLOAT_BLOCK
FORMAT_ASTC_12x10_SRGB_BLOCK
FORMAT_ASTC_12x10_UNORM_BLOCK
FORMAT_ASTC_12x12_SFLOAT_BLOCK
FORMAT_ASTC_12x12_SRGB_BLOCK
FORMAT_ASTC_12x12_UNORM_BLOCK
FORMAT_ASTC_4x4_SFLOAT_BLOCK
FORMAT_ASTC_4x4_SRGB_BLOCK
FORMAT_ASTC_4x4_UNORM_BLOCK
FORMAT_ASTC_5x4_SFLOAT_BLOCK
FORMAT_ASTC_5x4_SRGB_BLOCK
FORMAT_ASTC_5x4_UNORM_BLOCK
FORMAT_ASTC_5x5_SFLOAT_BLOCK
FORMAT_ASTC_5x5_SRGB_BLOCK
FORMAT_ASTC_5x5_UNORM_BLOCK
FORMAT_ASTC_6x5_SFLOAT_BLOCK
FORMAT_ASTC_6x5_SRGB_BLOCK
FORMAT_ASTC_6x5_UNORM_BLOCK
FORMAT_ASTC_6x6_SFLOAT_BLOCK
FORMAT_ASTC_6x6_SRGB_BLOCK
FORMAT_ASTC_6x6_UNORM_BLOCK
FORMAT_ASTC_8x5_SFLOAT_BLOCK
FORMAT_ASTC_8x5_SRGB_BLOCK
FORMAT_ASTC_8x5_UNORM_BLOCK
FORMAT_ASTC_8x6_SFLOAT_BLOCK
FORMAT_ASTC_8x6_SRGB_BLOCK
FORMAT_ASTC_8x6_UNORM_BLOCK
FORMAT_ASTC_8x8_SFLOAT_BLOCK
FORMAT_ASTC_8x8_SRGB_BLOCK
FORMAT_ASTC_8x8_UNORM_BLOCK
FORMAT_B10G11R11_UFLOAT_PACK32
FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16
FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16
FORMAT_B16G16R16G16_422_UNORM
FORMAT_B4G4R4A4_UNORM_PACK16
FORMAT_B5G5R5A1_UNORM_PACK16
FORMAT_B5G6R5_UNORM_PACK16
FORMAT_B8G8R8A8_SINT
FORMAT_B8G8R8A8_SNORM
FORMAT_B8G8R8A8_SRGB
FORMAT_B8G8R8A8_SSCALED
FORMAT_B8G8R8A8_UINT
FORMAT_B8G8R8A8_UNORM
FORMAT_B8G8R8A8_USCALED
FORMAT_B8G8R8G8_422_UNORM
FORMAT_B8G8R8_SINT
FORMAT_B8G8R8_SNORM
FORMAT_B8G8R8_SRGB
FORMAT_B8G8R8_SSCALED
FORMAT_B8G8R8_UINT
FORMAT_B8G8R8_UNORM
FORMAT_B8G8R8_USCALED
FORMAT_BC1_RGBA_SRGB_BLOCK
FORMAT_BC1_RGBA_UNORM_BLOCK
FORMAT_BC1_RGB_SRGB_BLOCK
FORMAT_BC1_RGB_UNORM_BLOCK
FORMAT_BC2_SRGB_BLOCK
FORMAT_BC2_UNORM_BLOCK
FORMAT_BC3_SRGB_BLOCK
FORMAT_BC3_UNORM_BLOCK
FORMAT_BC4_SNORM_BLOCK
FORMAT_BC4_UNORM_BLOCK
FORMAT_BC5_SNORM_BLOCK
FORMAT_BC5_UNORM_BLOCK
FORMAT_BC6H_SFLOAT_BLOCK
FORMAT_BC6H_UFLOAT_BLOCK
FORMAT_BC7_SRGB_BLOCK
FORMAT_BC7_UNORM_BLOCK
?Format@CHString@@QEAAXIZZ
?Format@CHString@@QEAAXPEBGZZ
FORMAT_D16_UNORM
FORMAT_D16_UNORM_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT
FORMAT_D32_SFLOAT_S8_UINT
FormatDescription
FormatDisplayName
FormatDriveViaFmIfs
FORMAT_E5B9G9R9_UFLOAT_PACK32
FORMAT_EAC_R11G11_SNORM_BLOCK
FORMAT_EAC_R11G11_UNORM_BLOCK
FORMAT_EAC_R11_SNORM_BLOCK
FORMAT_EAC_R11_UNORM_BLOCK
FORMATETC
FORMATETC[]
FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK
FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK
FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK
FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK
FORMAT_ETC2_R8G8B8_SRGB_BLOCK
FORMAT_ETC2_R8G8B8_UNORM_BLOCK
FORMATETC_ENTRY
FormatEx2
FormatException
FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
FORMAT_FEATURE_2_BLIT_DST_BIT
FORMAT_FEATURE_2_BLIT_SRC_BIT
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT
FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT
FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT
FORMAT_FEATURE_2_DISJOINT_BIT
FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT
FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV
FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT
FORMAT_FEATURE_2_STORAGE_IMAGE_BIT
FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT
FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
FORMAT_FEATURE_2_TRANSFER_DST_BIT
FORMAT_FEATURE_2_TRANSFER_SRC_BIT
FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT
FORMAT_FEATURE_2_VERTEX_BUFFER_BIT
FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR
FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR
FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR
FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR
FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
FORMAT_FEATURE_BLIT_DST_BIT
FORMAT_FEATURE_BLIT_SRC_BIT
FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
FORMAT_FEATURE_DISJOINT_BIT
FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT
FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT
FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT
FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
FORMAT_FEATURE_STORAGE_IMAGE_BIT
FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT
FORMAT_FEATURE_TRANSFER_DST_BIT
FORMAT_FEATURE_TRANSFER_SRC_BIT
FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT
FORMAT_FEATURE_VERTEX_BUFFER_BIT
FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR
FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR
FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR
FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR
FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16
FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16
FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16
FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16
FORMAT_G16B16G16R16_422_UNORM
FORMAT_G16_B16R16_2PLANE_420_UNORM
FORMAT_G16_B16R16_2PLANE_422_UNORM
FORMAT_G16_B16R16_2PLANE_444_UNORM
FORMAT_G16_B16_R16_3PLANE_420_UNORM
FORMAT_G16_B16_R16_3PLANE_422_UNORM
FORMAT_G16_B16_R16_3PLANE_444_UNORM
FORMAT_G8B8G8R8_422_UNORM
FORMAT_G8_B8R8_2PLANE_420_UNORM
FORMAT_G8_B8R8_2PLANE_422_UNORM
FORMAT_G8_B8R8_2PLANE_444_UNORM
FORMAT_G8_B8_R8_3PLANE_420_UNORM
FORMAT_G8_B8_R8_3PLANE_422_UNORM
FORMAT_G8_B8_R8_3PLANE_444_UNORM
formatID
FORMAT_ID_MAP_ENTRY
FormatMessageA
FormatMessageW
?FormatMessageW@CHString@@QEAAXIZZ
?FormatMessageW@CHString@@QEAAXPEBGZZ
?Format@MutableString@UnBCL@@QEAAAEAV12@PEBGZZ
FORMAT_ON_WRITE_TYPE(eMediaType)
FormatPartition
FormatPartitionInternal
FormatPartitionInternal2
FormatPartitions
FormatPartitions2
FormatPartitionWithPath
Format Properties
FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG
FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG
FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG
FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
FORMAT_R10X6G10X6_UNORM_2PACK16
FORMAT_R10X6_UNORM_PACK16
FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16
FORMAT_R12X4G12X4_UNORM_2PACK16
FORMAT_R12X4_UNORM_PACK16
FORMAT_R16G16B16A16_SFLOAT
FORMAT_R16G16B16A16_SINT
FORMAT_R16G16B16A16_SNORM
FORMAT_R16G16B16A16_SSCALED
FORMAT_R16G16B16A16_UINT
FORMAT_R16G16B16A16_UNORM
FORMAT_R16G16B16A16_USCALED
FORMAT_R16G16B16_SFLOAT
FORMAT_R16G16B16_SINT
FORMAT_R16G16B16_SNORM
FORMAT_R16G16B16_SSCALED
FORMAT_R16G16B16_UINT
FORMAT_R16G16B16_UNORM
FORMAT_R16G16B16_USCALED
FORMAT_R16G16_SFLOAT
FORMAT_R16G16_SINT
FORMAT_R16G16_SNORM
FORMAT_R16G16_SSCALED
FORMAT_R16G16_UINT
FORMAT_R16G16_UNORM
FORMAT_R16G16_USCALED
FORMAT_R16_SFLOAT
FORMAT_R16_SINT
FORMAT_R16_SNORM
FORMAT_R16_SSCALED
FORMAT_R16_UINT
FORMAT_R16_UNORM
FORMAT_R16_USCALED
FORMAT_R32G32B32A32_SFLOAT
FORMAT_R32G32B32A32_SINT
FORMAT_R32G32B32A32_UINT
FORMAT_R32G32B32_SFLOAT
FORMAT_R32G32B32_SINT
FORMAT_R32G32B32_UINT
FORMAT_R32G32_SFLOAT
FORMAT_R32G32_SINT
FORMAT_R32G32_UINT
FORMAT_R32_SFLOAT
FORMAT_R32_SINT
FORMAT_R32_UINT
FORMAT_R4G4B4A4_UNORM_PACK16
FORMAT_R4G4_UNORM_PACK8
FORMAT_R5G5B5A1_UNORM_PACK16
FORMAT_R5G6B5_UNORM_PACK16
FORMAT_R64G64B64A64_SFLOAT
FORMAT_R64G64B64A64_SINT
FORMAT_R64G64B64A64_UINT
FORMAT_R64G64B64_SFLOAT
FORMAT_R64G64B64_SINT
FORMAT_R64G64B64_UINT
FORMAT_R64G64_SFLOAT
FORMAT_R64G64_SINT
FORMAT_R64G64_UINT
FORMAT_R64_SFLOAT
FORMAT_R64_SINT
FORMAT_R64_UINT
FORMAT_R8G8B8A8_SINT
FORMAT_R8G8B8A8_SNORM
FORMAT_R8G8B8A8_SRGB
FORMAT_R8G8B8A8_SSCALED
FORMAT_R8G8B8A8_UINT
FORMAT_R8G8B8A8_UNORM
FORMAT_R8G8B8A8_USCALED
FORMAT_R8G8B8_SINT
FORMAT_R8G8B8_SNORM
FORMAT_R8G8B8_SRGB
FORMAT_R8G8B8_SSCALED
FORMAT_R8G8B8_UINT
FORMAT_R8G8B8_UNORM
FORMAT_R8G8B8_USCALED
FORMAT_R8G8_SINT
FORMAT_R8G8_SNORM
FORMAT_R8G8_SRGB
FORMAT_R8G8_SSCALED
FORMAT_R8G8_UINT
FORMAT_R8G8_UNORM
FORMAT_R8G8_USCALED
FORMAT_R8_SINT
FORMAT_R8_SNORM
FORMAT_R8_SRGB
FORMAT_R8_SSCALED
FORMAT_R8_UINT
FORMAT_R8_UNORM
FORMAT_R8_USCALED
_FormatReason
_FormatRestorePointFriendlyName
formatRgba10x6WithoutYCbCrSampler
FormatRoutine: failed to get FormatEx2 or EnableVolumeCompression address
FORMAT_S8_UINT
FormatSafeDocsErrorCode
FormatSafeDocsErrorCodeWithoutHexCode
FormatSpaceString
?Format@String@UnBCL@@SAPEAV12@PEBGZZ
_FormatTaskDialogConfirm
_FormatTaskDialogProgress
_FormatTaskDialogReportStatus
FormatThread
FormatThread2
FORMAT_UNDEFINED
?FormatV@CHString@@QEAAXPEBGPEAD@Z
?FormatV@String@UnBCL@@SAPEAV12@PEBGPEAD@Z
FORMAT_X8_D24_UNORM_PACK32
 FormErr
FormStartPosition
formulaId
 for renew)
ForwardGadgetMessage
ForwardTranslateAccelerator
Found a token
foundRegistration
fp7f7p7p
_fpclass
fp.iffi.i.pifBiBi
fPoweroff
FQ65E]so?Y
fQMaLIi[W
Fragment
fragmentDensityInvocations
fragmentDensityMap
fragmentDensityMapDeferred
fragmentDensityMapDynamic
fragmentDensityMapNonSubsampledImages
fragment info exceeds maximum comment size
fragmentShaderPixelInterlock
fragmentShaderSampleInterlock
fragmentShaderShadingRateInterlock
fragmentShadingRateNonTrivialCombinerOps
fragmentShadingRateStrictMultiplyCombiner
fragmentShadingRateWithConservativeRasterization
fragmentShadingRateWithCustomSampleLocations
fragmentShadingRateWithFragmentShaderInterlock
fragmentShadingRateWithSampleMask
fragmentShadingRateWithShaderDepthStencilWrites
fragmentShadingRateWithShaderSampleMask
fragmentStoresAndAtomics
framebufferColorSampleCounts
framebufferDepthSampleCounts
framebufferIntegerColorSampleCounts
framebufferNoAttachmentsSampleCounts
framebufferStencilSampleCounts
FrameCaptured
FrameCaptureIntervalInMilliseconds
frameCount
FrameCount
framedynos.dll
FrameKind
FrameProviderAvailableChanged
FrameProviderInfoRegistered
FrameProviderInfoUnregistered
FrameProviderMissingActivatableClassRegistryEntry
FrameProviderMissingModulePathRegistryEntry
FrameProviderReleased
FrameProviderStarted
FrameProviderStopped
FramePublished
FrameRect
Frame Relay
FrameRelay
Frame Relay DLCI
Frame Relay Port mode
FrameworkDisplayName
FrameworkElement
FrameworkRegistryInstallation
FreeAddrInfoW
?Free@Allocator@UnBCL@@SAXPEAXI@Z
FreeAllResources failed
_free_base
FreeClaimDefinitions
FreeClaimDictionary
?_Free@CMUILocale@@SAHPEAX@Z
FreeCommandLineOptions
FreeConsole
FreeContextBuffer
freeDiskSpaceInMB
freeDiskSpaceInMBDelta
FreeEnvironmentStringsW
?FreeExtra@CHPtrArray@@QEAAXXZ
?FreeExtra@CHStringArray@@QEAAXXZ
?FreeExtra@CHString@@QEAAXXZ
FREEFALL_STATISTICS_LOG_PAGE_array
?Free@HeapMemoryManager@UnBCL@@UEAAXPEAX@Z
FreeHGlobal
FreeInstalledPackageInfo
FreeLibrary
FreeLibraryAndExitThread
?FreeLibraryHandle@SYSTEM@@SAXPEAX@Z
FreeLibraryWhenCallbackReturns
FreeMibTable
FreePayload
FreePrintPropertyValue
FreePropVariantArray
FreeResource
Freescale
?FreeSearchList@CRegistrySearch@@QEAAHHAEAVCHPtrArray@@@Z
FreeSpaceState
FreeSpaceWWW
FreeTransientObjectSecurityDescriptor
FreeTreeviewFolderNode
?Free@WSManMemory@@SAXPEAXH@Z
fRestartApps
fRestartAppsShutdown
friendlyError
FriendlyError
friendlyName
FriendlyName
friendlyNameLength
FromArgb
?FromASCII@String@UnBCL@@SAPEAV12@PEBD@Z
FromBaseToString
FromBlob
FromDateTime
FromHours
FromMilliseconds
FromMinutes
FromString
?FromString@MultiSz@UnBCL@@SAPEAV12@PEBGG@Z
FromSuffixToBase
FromTraceEventInfoMan
FromTraceEventInfoTlg
FromTzdbDate
FromWindowsProjection
FRtlQueryFeatureConfiguration
FRtlRegisterFeatureConfigurationChangeNotification
Fs.Allocate()
_fseeki64
fServerNameSpecified
fSfSfUfh
fshutdown
fShutdownHybrid
FSmartBusyCheckSignalEvaluationActivity
fSn@wB5Y
Fstring too long
fSuccess
_ftelli64
FTmCheckImmersiveProcess
FTurnOnDevicePortal
FUIsWorkspaceSSOEnabledWWW
full_dec
fullDenyReason
fullDrawIndexUint32
full_file
full_hex
full_name
fullName
FullName
fullName.c_str()
fullPath
FullPathToADotPs1AndBDotPs1
FullResetStartupErrorThreshold
FullScanComplete
FullScanStart
fullScreenExclusiveSupported
fullyCoveredFragmentShaderInputVariable
FullyQualifiedCollectionId
function
Function
FunctionalData
functional defines in preprocessor expressions not yet implemented
functionName
FunctionName
function not supported
function parameters
FUnknown
FUnknown exception
FUsoCoreWorkerRunning
future already retrieved
FuxKTg?t
fuxrjkfjjjjmrl
FveAddAuthMethodInformation
FveAddTrustedWimData
FveApiFound
FveAuthWithClearKey
FveAuthWithKey
FveAuthWithPassphraseW
FveAuthWithPasswordW
FveCheckSuspendBitLockerOnUpgrade
FveCloseVolume
FveCommitChanges
FveCreateRestoreContext
FveDecryptData
FveDeleteAuthMethod
FveDestroyRestoreContext
FveDetectTelemetry
FveDisableAuthenticationW
FveDisableDeviceLockoutState
FveEnableAuthenticationW
FveEnableRawAccessEx
FVE-EOWBH9
FVE-EOWBM
FVE-EOWBR
FveEraseDrive
-FVE-FS-
-FVE-FS-H
-FVE-FS-H9
-FVE-FS-J9
FveGetAuthMethodInformation
FveGetConvLogOffset
FveGetDescriptionW
FveGetDeviceLockoutData
FveGetInterruptedRangeOffset
FveGetMetadataFromRestoreContext
FveGetSecureBootBindingState
FveGetStatus
FveGetStatusBasicW
FveGetStatusW
FveInitializeDeviceEncryption
FveIsDeviceLockable
FveLoadConvLog
FveLockDevice
FveOpenVolumeW
FveRecoverBlock
FveRemoveTrustedWimData
FveSetFipsAllowDisabled
FveStatusChange
FveSupplyInformationBlock
FveSupplyKeyPackage
FveSupplyWatermark
FveUpdateDeviceLockoutState
FveValidateDeviceLockoutState
fvffffffffx
FwActivate
FwAnalyzeFirewallPolicy
?FWantAnyEvent@EventManager@DirectUI@@SA_NPEAVElement@2@@Z
FWClosePolicyStore
FWGetConfig
FwIsGroupPolicyEnforced
FWOpenPolicyStore
fwprintf
fwprintf_s
Fx9GDtQA
FxD9 tkD
FxD9vpt	H
FxDriverEntryUm
FxFrameworkEntryUm
FxIrp::GetIrpFromListEntry
Fx is requesting a power IRP with an unexpected minor function
FxModInfo should not be NULL
FXOLEHLP.dll
FXSAPI.dll
FxsCompose.dll
FXSTIFF.dll
fxsutility.DLL
:f*y(sE7
G..*********))))))"
g((0(0((0((
G0D8g@t(H
G1**0*1G
G333GGGGGG
G3GGGGGGGGGG
g5L9mXt	H
G6'K'KKfKfKfKfKfK.fff.ff
G(8XMt	8XL
g9]8uX9]
g9|E[8GAmN@w_
G 9F |JH
]g9s@vYD
GadgetTransCompositionChanged
gameModeReason
GA??[O4-M
GarbageCollectDriveLetters
Gate Announcement
G ;A t	H
GatherLogs
GatherWorkspaceResources failed
GAUSSIANQUAD
-*gB7xym
GCGRqqGqRRqRqR'q
GCHandle
GCHandleType
GCK6'K.'fK
G D8mOu!I
GDI32.dll
GdiAlphaBlend
GdiFlush
GdiGradientFill
GdipAddPathLine
GdipAlloc
GdipBitmapLockBits
GdipBitmapUnlockBits
GdipCloneBrush
GdipCloneImage
GdipCreateBitmapFromFile
GdipCreateBitmapFromHBITMAP
GdipCreateBitmapFromHICON
GdipCreateBitmapFromResource
GdipCreateBitmapFromScan0
GdipCreateBitmapFromStream
GdipCreateCachedBitmap
GdipCreateFont
GdipCreateFontFamilyFromName
GdipCreateFontFromLogfontW
GdipCreateFromHDC
GdipCreateFromHWND
GdipCreateHBITMAPFromBitmap
GdipCreateImageAttributes
GdipCreateLineBrush
GdipCreateLineBrushFromRect
GdipCreatePath
GdipCreatePen1
GdipCreateSolidFill
GdipCreateStringFormat
GdipDeleteBrush
GdipDeleteCachedBitmap
GdipDeleteFont
GdipDeleteFontFamily
GdipDeleteGraphics
GdipDeletePath
GdipDeletePen
GdipDeleteStringFormat
GdipDisposeImage
GdipDisposeImageAttributes
GdipDrawCachedBitmap
GdipDrawImageI
GdipDrawImageRect
GdipDrawImageRectI
GdipDrawImageRectRect
GdipDrawImageRectRectI
GdipDrawLine
GdipDrawString
GdipFillEllipseI
GdipFillPath
GdipFillRectangle
GdipFillRectangleI
GdipFree
GdipGetDC
GdipGetDpiX
GdipGetDpiY
GdipGetGenericFontFamilySansSerif
GdipGetImageEncoders
GdipGetImageEncodersSize
GdipGetImageGraphicsContext
GdipGetImageHeight
GdipGetImageHorizontalResolution
GdipGetImagePixelFormat
GdipGetImageRawFormat
GdipGetImageThumbnail
GdipGetImageVerticalResolution
GdipGetImageWidth
GdipGetPropertyItem
GdipGetPropertyItemSize
GdipGraphicsClear
GdipImageGetFrameCount
GdipImageGetFrameDimensionsCount
GdipImageGetFrameDimensionsList
GdipImageSelectActiveFrame
GdipLoadImageFromFile
GdipLoadImageFromStream
gdiplus.dll
GdiplusShutdown
GdiplusStartup
GdipMeasureString
GdipReleaseDC
GdipSaveAdd
GdipSaveAddImage
GdipSaveImageToFile
GdipSaveImageToStream
GdipSetImageAttributesWrapMode
GdipSetInterpolationMode
GdipSetPropertyItem
GdipSetSmoothingMode
GdipSetStringFormatAlign
GdipSetStringFormatFlags
GdipSetStringFormatLineAlign
GdipSetStringFormatTrimming
GdiTransparentBlt
.gehcont
?g_EncryptedSegmentSystemCall_2@WarbirdRuntime@@3U_ENCRYPTION_SEGMENT@1@C
?g_EncryptedSegmentSystemCall_3@WarbirdRuntime@@3U_ENCRYPTION_SEGMENT@1@C
?g_EncryptedSegmentSystemCall_4@WarbirdRuntime@@3U_ENCRYPTION_SEGMENT@1@C
?g_EncryptedSegmentSystemCall_5@WarbirdRuntime@@3U_ENCRYPTION_SEGMENT@1@C
GenCryptoSecureKey failed!
GENERAL_ERROR_STATISTICS_LOG_PAGE_array
GeneralEtmStats
GeneralOutOfMemory
GENERAL_STATISTICS_LOG_PAGE_array
GeneralTraceProfile
generate
GenerateActionQueue
GenerateConsoleCtrlEvent
_GenerateCrashDumpFilePath
GeneratedCodeAttribute
GenerateDeviceInfoString
GenerateDriverPath failed
). Generated using the 
GenerateHtml
GenerateIntegratorReportId failed
GenerateLogFilepath
GenerateMediaName
GenerateMenu failed
GenerateOutputFileName
GenerateServiceDBStart
GenerateServiceDBStop
Generating Root Correlation Vector
|generic
GENERIC_ALL
GENERIC_EXECUTE
GENERIC_READ
GenericTrace
generic-type-
GENERIC_WRITE
GenuineIntel
Geoconf-Civic
geometryShader
geometryStreams
GeoNet (old)
GestureSource
GesturesSentDataToMirage
GesturesStartedPackingData
get_Abbreviation
GetAbsolutePathNameWL
?GetAccessible@Element@DirectUI@@QEAA_NXZ
?GetAccessibleImpl@Element@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDElement@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
?GetAccessibleImpl@HWNDHost@DirectUI@@UEAAJPEAPEAUIAccessible@@@Z
GetAclInformation
get_Actions
GetActivationFactory failed
GetActivationFactory failed!
GetActivationFactory (Windows.UI.Xaml.Hosting.XamlRuntime) failed
GetActiveProcessorCount
GetActiveProcessorGroupCount
GetActivePwrScheme
GetActiveWindow
GetAdaptersAddresses
GetAdaptersInfo
GetAddrInfoW
?GetAdjacent@Element@DirectUI@@UEAAPEAV12@PEAV12@HPEBUNavReference@2@K@Z
GetAgentDiagnostics
GetAllDefaultApps
?GetAllocLength@CHString@@QEBAHXZ
?GetAltDirectorySeparatorChar@Path@UnBCL@@SAGXZ
GetAncestor
GetAndEnsureTracingDirectory
GetAndInitializePlatformObject
GetAppContainerRegistryLocation
GetAppDisplayName
GetAppIDForWindow failed
GetApplication failed
GetApplicationLanguages
GetApplicationRecoveryCallback
GetApplicationRestartSettings
?GetApplicationStartDir@Directory@UnBCL@@SAPEAVString@2@XZ
GetApplicationUserModelIdFromToken
GetAppxPackage
GetAppxProvisionFactory
?get_Architecture@OperatingSystem@UnBCL@@QEBAKXZ
?GetArchitectureString@OperatingSystem@UnBCL@@SAPEBGK@Z
get_Args
GetArgsDictionary
get_Arguments
get_ASCII
?GetASCII@Encoding@UnBCL@@SAPEAV12@XZ
get_Assembly
GetAsyncKeyState
?GetAt@CFlexArray@@QEBAPEAXH@Z
?GetAt@CHPtrArray@@QEBAPEAXH@Z
?GetAt@CHStringArray@@QEBA?AVCHString@@H@Z
?GetAt@CHString@@QEBAGH@Z
GetAtomNameW
get_Attendee failed
GetAttendeeName failed
?get_Attributes@XmlNode@UnBCL@@QEAAPEAVXmlAttributeCollection@2@XZ
?get_Attributes@XmlNode@XmlLite@UnBCL@@QEAAPEAVXmlAttributeCollection@23@XZ
?GetBackgroundColor@Element@DirectUI@@QEAAPEBUFill@2@PEAPEAVValue@2@@Z
get_BadClusters
get_Base
get_BaseDirectory
?GetBaseException@Exception@UnBCL@@UEBAPEBV12@XZ
GetBasicProfileFolderPath failed
?get_BiosName@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
GetBIOSPostTime
?get_BiosReleaseDate@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
?get_BiosVersion@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
GetBkColor
GetBkMode
_GetBlbChangeMediaReason
?GetBoolFalse@Value@DirectUI@@SAPEAV12@XZ
?GetBool@Value@DirectUI@@QEAA_NXZ
GetBootDiag
GetBootFromDiskNumber
GetBootStatFile
_GetBootVolumeProp
GetBootVolumeSizeStats
?GetBorderThickness@Element@DirectUI@@QEAAPEBUtagRECT@@PEAPEAVValue@2@@Z
?get_BoundingRectangle@ElementProvider@DirectUI@@UEAAJPEAUUiaRect@@@Z
GetBounds() failed
GetBrushOrgEx
get_Buckets
?GetBuffer@CHString@@QEAAPEAGH@Z
GetBufferedPaintBits
GetBuffer failed
GetBuffer failed!
?get_Buffer@MultiSz@UnBCL@@QEBAPEBGXZ
?GetBufferSetLength@CHString@@QEAAPEAGH@Z
?GetBuffer@StringBuilder@UnBCL@@QEAAPEAGH@Z
?get_Build@Version@UnBCL@@QEBAHXZ
?GetByClassIndex@ClassInfoBase@DirectUI@@UEAAPEBUPropertyInfo@2@I@Z
GetByteCodeCachePath
?GetByteCount@ASCIIEncoding@UnBCL@@UEBAHPEBVString@2@HH@Z
?GetByteCount@Encoding@UnBCL@@UEBAHPEBVString@2@@Z
?GetByteCount@UnicodeEncoding@UnBCL@@UEBAHPEBVString@2@HH@Z
GetCachedDWriteRenderTarget
GetCalendarInfoW
GetCallerProcessName
GetCallingAssembly
?GetCallingModule@SerializationStream@UnBCL@@SAPEAUHINSTANCE__@@XZ
GetCallingProcessPackageFamilyName Failed
?get_CanWrite@FileStream@UnBCL@@UEBAHXZ
?get_CanWrite@MemoryStream@UnBCL@@UEBAHXZ
get_Capacity
?get_Capacity@MemoryStream@UnBCL@@UEBAHXZ
GetCategories
get_CategoryName
getCertificate
GetCertificateChainContext failed
GetCertificate failed
GetCertificateThumbPrint failed
get_ChangeUtcOffsetsDates
GetChannelIfCorrectState failed
get_Chars
?get_Chars@StringBuilder@UnBCL@@QEBAGH@Z
?get_Chars@String@UnBCL@@QEBAAEBGH@Z
?GetCheckedState@TouchCheckBox@DirectUI@@QEAA?AW4CheckedStateFlags@2@XZ
?get_ChildNodes@XmlNode@UnBCL@@QEAAPEAVXmlNodeList@2@XZ
?get_ChildNodes@XmlNode@XmlLite@UnBCL@@QEAAPEAVXmlNodeList@23@XZ
?GetChildren@ClassInfoBase@DirectUI@@UEBAHXZ
GetClaimDefinitions
GetClaimsTokenWW
get_ClassDeviceGuid
?GetClass@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
GetClassFileOrMime
GetClassInfoA
GetClassInfoExW
?GetClassInfoPtr@Button@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@CCBase@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@CCListView@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@CCPushButton@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Element@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@Expando@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDElement@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@HWNDHost@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@ModernProgressBar@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@ScrollViewer@DirectUI@@SAPEAUIClassInfo@2@XZ
?GetClassInfoPtr@TouchSwitch@DirectUI@@SAPEAUIClassInfo@2@XZ
GetClassInfoW
?GetClassInfoW@HWNDElement@DirectUI@@UEAAPEAUIClassInfo@2@XZ
GetClassLongPtrW
GetClassLongW
GetClassNameA
GetClassNameW
?GetClassNameW@CRegistry@@QEAAPEAGXZ
GetClientRect
GetClientRect failed
GetClientRect() failed
GetClipboardFormatNameW
GetClipboardWithEnterpriseInfo failed.
GetClipRgn
GetCloudHistoryDataHandle failed.
GetClusterInformation
GetClusterKey
GetClusterResourceKey
GetClusterResourceState
?get_CodePage@Encoding@UnBCL@@UEBAHXZ
get_Collection
?_Getcoll@_Locinfo@std@@QEBA?AU_Collvec@@XZ
GetColorDirectoryW
GetColorFromPreference
GetColumnHeaderItemByID
GetColumnHeaderItems
GetCombinedResourceTypeMap failed
GetComboBoxInfo
GetCommandLineA
GetCommandLineW
get_Commands
GetCompressedFileSizeW
GetComputerNameExW
?get_ComputerName@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
GetComputerNameW
GetConfigDword
get_ConnectionString failed
get_ConnectionString failed!
get_ConnectivityInfo failed
GetConsoleCP
GetConsoleMode
GetConsoleOutputCP
GetConsoleProcessList
GetConsoleScreenBufferInfo
GetConsoleScreenBufferInfoEx
GetConsoleWindow
?GetContentSize@CCListView@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentSize@Element@DirectUI@@UEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
?GetContentStringAsDisplayed@Element@DirectUI@@UEAAPEBGPEAPEAVValue@2@@Z
?GetContentString@Element@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
?get_Context@SerializationStream@UnBCL@@QEBAPEAVObject@2@XZ
get_Control
get_Controls
get_ControlText
GetCoreEvents failed
GetCorePrinterDriversW
get_Count
get_CounterName
GetCounters
?get_Count@StreamCounter@UnBCL@@QEBA_KXZ
?get_Count@XmlAttributeCollection@UnBCL@@QEAAHXZ
?get_Count@XmlAttributeCollection@XmlLite@UnBCL@@QEBAHXZ
?get_Count@XmlNodeList@UnBCL@@QEAAHXZ
?get_Count@XmlNodeList@XmlLite@UnBCL@@QEBAHXZ
GetCPInfo
get_CreatedTime
?get_CSDVersion@Version@UnBCL@@QEBAPEAVString@2@XZ
?get_CString@StringBuilder@UnBCL@@QEBAPEBGXZ
?get_CString@String@UnBCL@@QEBAPEBGXZ
get_Culture
get_Current
GetCurrent
GetCurrentApplicationUserModelId
?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGPEAEPEAK@Z
?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
?GetCurrentBinaryKeyValue@CRegistry@@QEAAKPEBGPEAEPEAK@Z
get_CurrentCulture
?GetCurrentDir@Directory@UnBCL@@SAPEAVString@2@XZ
GetCurrentDirectoryA
GetCurrentDirectoryW
get_CurrentDomain
GetCurrentExePathName
GetCurrentInputMessageSource
?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
?GetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
?GetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
GetCurrentMethod
GetCurrentObject
GetCurrentPackageApplicationContext
GetCurrentPackageContext
GetCurrentPackageFamilyName
GetCurrentPackageFullName
GetCurrentPackageId
GetCurrentPackageInfo
GetCurrentProcess
GetCurrentProcessExplicitAppUserModelID
GetCurrentProcessId
GetCurrentProcessorNumber
?GetCurrentRawKeyValue@CRegistry@@AEAAKPEAUHKEY__@@PEBGPEAXPEAK3@Z
?GetCurrentRawSubKeyValue@CRegistry@@AEAAKPEBGPEAXPEAK2@Z
?GetCurrentSubKeyCount@CRegistry@@QEAAKXZ
?GetCurrentSubKeyName@CRegistry@@QEAAKAEAVCHString@@@Z
?GetCurrentSubKeyPath@CRegistry@@QEAAKAEAVCHString@@@Z
?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
?GetCurrentSubKeyValue@CRegistry@@QEAAKPEBGPEAXPEAK@Z
get_CurrentTemperature
get_CurrentThread
GetCurrentThread
GetCurrentThread failed.
GetCurrentThreadId
?GetCurrentThreadId@platform@details@Concurrency@@YAJXZ
get_CurrentUICulture
GetCurrentUserSid
GetCursorInfo
GetCursorPos
get_DalTelemetryId
get_Data
?GetData@CHPtrArray@@QEAAPEAPEAXXZ
?GetData@CHPtrArray@@QEBAPEAPEBXXZ
?GetData@CHStringArray@@QEAAPEAVCHString@@XZ
?GetData@CHStringArray@@QEBAPEBVCHString@@XZ
?GetData@CHString@@IEBAPEAUCHStringData@@XZ
GetData failed!
get_DateAndTime
GetDateFormatEx
GetDateFormatW
get_DateTimeFormat
get_DaylightDate
get_DayNames
get_DayOfWeek
GetDayOfWeekAbbreviation
GetDayOfWeekFromAbbreviation
GetDCBrushColor
get_DebugLogWriter
?GetDecoder@ASCIIEncoding@UnBCL@@UEBAPEAVDecoder@2@XZ
?GetDecoder@UnicodeEncoding@UnBCL@@UEBAPEAVDecoder@2@XZ
get_Default
GetDefaultDriveIcon
?GetDefault@Encoding@UnBCL@@SAPEAV12@XZ
GetDefaultFileSystem
GetDefaultIdentityProvider
?get_DefaultLangID@SystemInfo@UnBCL@@QEBAGXZ
GetDefaultProfileScan
get_DefaultRunspace
GetDeploymentDataFromManifest
get_Description
?GetDesiredSize@Element@DirectUI@@QEAAPEBUtagSIZE@@XZ
get_DesiredState
GetDesktopScalingFactor failed
GetDesktopScalingFactor GetScaleFactorForMonitor failed!
GetDesktopWindow
GetDeviceAndMediaType
GetDeviceCaps
GetDeviceData failed
GetDeviceDisplayName
get_DeviceId
GetDeviceId
GetDeviceIDString
GetDeviceLocationEx
GetDeviceManufacturerInfo
GetDeviceName
_GetDeviceNameOf
GetDeviceNameOf
GetDeviceNumber
GetDeviceRegistryPropertyByInfo
GetDeviceRegistryPropertyByInst
GetDevices
GetDIBits
GetDiffAreaInfo
GetDirectoryName
?GetDirectoryRoot@Directory@UnBCL@@SAPEAVString@2@PEBV32@@Z
?GetDirectorySeparatorChar@Path@UnBCL@@SAGXZ
GetDiskFreeSpaceA
GetDiskFreeSpaceEx failed
GetDiskFreeSpaceExW
GetDiskFreeSpaceW
GetDiskIdentifiers
GetDiskLatency
GetDiskLayout
GetDiskName
GetDiskNumAndPartitionCount
GetDiskOfflineReason
GetDiskRedundancyCount
GetDiskSize
GetDisplayableBackupDeviceName
GetDisplayComponentClientsRequestReceived
GetDisplayName
GetDisplayNameForDrive
_GetDisplayNameOfVolume
?GetDisplayNode@Element@DirectUI@@QEAAPEAUHGADGET__@@XZ
GetDlgCtrlID
GetDlgItem
GetDlgItemInt
GetDlgItemTextA
GetDlgItemTextW
get_DoesPlatformSupportModernApps
GetDoubleClickTime
GetDpiAwarenessContextForProcess
?GetDPI@Element@DirectUI@@QEAAHXZ
GetDpiForMonitor
GetDpiForMonitor failed!
GetDpiForShellUIComponent
GetDpiForSystem
GetDpiForWindow
_getdrive
get_DriveId
get_DriveLetter
_GetDriveLetterOrSharePath
GetDriverData failed
GetDriverDiag
GetDriverLog
GetDrives
get_DriveType
GetDriveType
GetDriveTypeA
GetDriveTypeW
get_dtStandardDate
get_Duration
GetDurationFormatEx
GetDUserModule
?GetDWORDStr@Registry@@QEAAHPEBGPEAK@Z
GetDwordValueWWW
GetDynamicDstRange
GetDynamicTimeZoneInformation
?GetElement@ElementProvider@DirectUI@@UEAAPEDVElement@2@XZ
?GetElementProviderImpl@Element@DirectUI@@UEAAJPEAVInvokeHelper@2@PEAPEAVElementProvider@2@@Z
?GetEmbeddedFragmentRoots@ElementProvider@DirectUI@@UEAAJPEAPEAUtagSAFEARRAY@@@Z
get_Enabled
?GetEnabled@Element@DirectUI@@QEAA_NXZ
GetEnabledXStateFeatures
GetEnterpriseDataId failed.
GetEnterprisePolicyName
?GetEntry@CRtlListIter@@QEAAPEAVCRtlEntry@@XZ
?GetEntryPointer@CRtlListIter@@QEAAPEAXXZ
GetEnumerator
GetEnvironmentStringsW
?GetEnvironmentVar@Environment@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetEnvironmentVariable
GetEnvironmentVariableA
GetEnvironmentVariableW
_get_errno
get_Error
get_ERROR_AT_LEAST_ONE_ACTION_REQUIRED
	?GetErrorCode@CErrorContext@@UEBAKXZ
get_ERROR_DESCRIPTION_TOO_LONG
get_ERROR_FILE_NOT_FOUND
get_ERROR_INTEGER_TOO_LARGE
get_ERROR_INVALID_ARGUMENT
get_ERROR_INVALID_ARGUMENT_COUNT
get_ERROR_INVALID_ARGUMENT_VALUE
get_ERROR_INVALID_BOOLEAN
get_ERROR_INVALID_COMMAND_LINE_ARG
get_ERROR_INVALID_CONFIG_FILE_SETTING
get_ERROR_INVALID_INTEGER
get_ERROR_INVALID_NEGATIVE_INTEGER
get_ERROR_INVALID_NO_VALUE
get_ERROR_INVALID_NULL_PATH
get_ERROR_INVALID_PATH
get_ERROR_INVALID_REGISTRATION_ACTION
get_ERROR_INVALID_SITE_CODE_FORMAT
get_ERROR_INVALID_SYNC_METHOD
get_ERROR_INVALID_URL_FORMAT
get_ERROR_INVALID_USER_CONFIG_FILE_SETTING
get_ErrorMessage
get_ERROR_MISSING_ACTION_VALUE
get_ERROR_MISSING_ARGUMENT_VALUE
get_ERROR_MISSING_DIGEST_FILE_PATH_VALUE
get_ERROR_MISSING_DIRECTORY_VALUE
get_ERROR_MISSING_OUTPUTFOLDER_VALUE
get_ERROR_MISSING_PATH_VALUE
get_ERROR_MISSING_REQUIRED_ARG
get_ERROR_MISSING_REQUIRED_ARG_OUTPUTFOLDER
get_ERROR_MISSING_REQUIRED_ARG_PATH
get_ERROR_MISSING_REQUIRED_ARG_SITE
get_ERROR_MISSING_SITE_VALUE
GetErrorMode
get_ERROR_NULL_IT_CONTACT__DESCRITION
get_ERROR_PATH_TOO_LONG
GetErrorStatus
get_ERROR_TEMPLATE_FOLDER_NOT_FOUND
get_ERROR_TEMPLATE_NOT_FOUND
get_ERROR_TEMPLATE_REGISTER_UNREGISTER_CONFLICT
get_ERROR_XSD_VALIDATION_FAILURE
GetETWLogPath
GetEventLogInformation
GetExecutingAssembly
get_ExitCode
GetExitCodeProcess
GetExitCodeThread
?GetExpanded@Expandable@DirectUI@@QEAA_NXZ
GetExtensionHostModuleCount
GetExtensionHostModuleFactory
GetExtensionNameL
GetExtensionWebModuleCount
GetExtensionWebModuleFactory
GetExtensionWebMultiThreadedModuleCount
GetExtensionWebMultiThreadedModuleFactory
?GetExtent@Element@DirectUI@@QEAAPEBUtagSIZE@@PEAPEAVValue@2@@Z
get_Factory
?GetFactoryLock@Element@DirectUI@@SAPEAU_RTL_CRITICAL_SECTION@@XZ
get_FailedReads
get_FailedWrites
GetFeatureEnabledState
GetFgd failed!
get_FieldName
GetFileAttributesA
GetFileAttributesExA
GetFileAttributesExW
_GetFileAttributesTag
GetFileAttributesW
GetFileContentFromResource
get_FileFlushIoCount
get_FileFlushLatency
GetFileIdByFilePath
GetFileInfo
GetFileInformationByHandle
GetFileInformationByHandleEx
GetFileMUIPath
get_FileName
?GetFileNameExtension@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
?GetFileName@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
?GetFileNameWithoutExtension@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetFileNameWL
GetFileObjAndDevStackFromMessage
GetFileObjAndDevStackFromMessage called for an unexpected message type
GetFileObjFromItf
GetFileOperationCount
get_Files
GetFileSecurityW
GetFileSize
GetFileSizeEx
get_FileSystem
GetFileSystemRecognitionName
GetFileTime
GetFileType
GetFileVersionInfoA
GetFileVersionInfoExW
GetFileVersionInfoSizeA
GetFileVersionInfoSizeExW
GetFileVersionInfoSizeW
GetFileVersionInfoW
!GetFileVersionWW
:GetFileW
GetFinalPathNameByHandleW
GetFirmwareEnvironmentVariableW
?get_FirmwareType@SystemInfo@UnBCL@@QEBA?AW4_FIRMWARE_TYPE@@XZ
get_FirmwareVersion
get_FirstAttribute
?get_FirstChild@XmlNode@UnBCL@@QEAAPEAV12@XZ
?get_FirstChild@XmlNode@XmlLite@UnBCL@@QEBAPEAV123@XZ
GetFMIFSEnableCompressionRoutine
GetFMIFSFormatEx2Routine
GetFMIFSGetDefaultFilesystemRoutine
GetFocus
_GetFocusedVolume
GetFolderPath
GetFoldersToKeepForPBR
GetFolderWWW
?GetFontStyle@Element@DirectUI@@QEAAHXZ
GetForegroundWindow
get_Format
GetFormatDataEvents failed!
GetFormatListToSendToPeer failed.
?get_FragmentRoot@ElementProvider@DirectUI@@UEAAJPEAPEAUIRawElementProviderFragmentRoot@@@Z
GetFrameworkRelatedFileObjectContext can only be called for Create Irp
GetFreeBytesOnVolume
GetFriendlyNameForUser
get_From
get_FullName
?get_FullName@Type@UnBCL@@UEBAPEBVString@2@XZ
GetFullPath
GetFullPathNameA
GetFullPathNameW
?GetFullPath@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetGadget
GetGadgetAnimation
GetGadgetFlags
GetGadgetFocus
GetGadgetLayerInfo
GetGadgetRect
GetGadgetRgn
GetGadgetRootInfo
GetGadgetSize
GetGadgetStyle
GetGadgetTicket
GetGadgetVisual
GetGeoInfoW
GetGestureInfo
?GetGlobalIndex@ClassInfoBase@DirectUI@@UEBAIXZ
?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ
GetGlobalLockForUploadingReports
get_GlobalSession
get_Graphics
GetGroupPolicyRegSetting failed!
GetGroupPolicySetting failed!
get_Groups
GetGuidValue
_GetGuidVolumeName
GetGuiResources
GetGUIThreadInfo
GetHandleInformation
?GetHandler@Logging@UnBCL@@SAPEAUILogHandler@@XZ
get_HardwareId
get_HasExited
GetHashCode
?GetHashCode@Object@UnBCL@@UEBAHXZ
?GetHashCode@SerializationId@UnBCL@@UEBAHXZ
?GetHashCode@String@UnBCL@@UEBAHXZ
?GetHashCode@Version@UnBCL@@UEBAHXZ
get_HasValue
get_HeadFlyingHours
get_HeadLoadEvents
get_Health
get_HealthStatus
GetHealthStatus
get_Height
get_Help
GetHGlobalFromStream
get_HighContrast
get_HighestTemperature
get_HighLatencyCount
GetHintForRoamingDataExists
?GethKey@CRegistry@@QEAAPEAUHKEY__@@XZ
?get_HostRawElementProvider@ElementProvider@DirectUI@@UEAAJPEAPEAUIRawElementProviderSimple@@@Z
get_Hour
GetHourFromTimeString
get_HResult
?get_HResult@Exception@UnBCL@@UEBAJXZ
GetHRForLastWin32Error
?GetHScroll@ScrollViewer@DirectUI@@MEAAPEAVBaseScrollBar@2@XZ
?GetHWND@HWNDElement@DirectUI@@UEAAPEAUHWND__@@XZ
?GetHWND@HWNDHost@DirectUI@@UEAAPEAUHWND__@@XZ
?GetHWND@NativeHWNDHost@DirectUI@@QEAAPEAUHWND__@@XZ
GetIconInfo
GetIconInfoExW
GetIconOf
?GetID@Element@DirectUI@@QEAAGXZ
GetIdentityProviderInfoByGUID
GetId failed in IsValidMstscLocation
GetIfEntry2
GetIfTable2Ex
GetImageDialog
GetImageSize
GetImmersiveColorFromColorSetEx
?GetImmersiveFocusRectOffsets@Element@DirectUI@@UEAAXPEAUtagRECT@@@Z
GetImmersiveUserColorSetPreference
get_Index
?GetIndex@Element@DirectUI@@QEAAHXZ
get_info
?GetInitError@CWSManCriticalSection@@QEBAKXZ
_get_initial_narrow_environment
_get_initial_wide_environment
?get_InnerException@Exception@UnBCL@@UEBAPEBV12@XZ
?get_InnerText@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?get_InnerText@XmlNode@XmlLite@UnBCL@@QEBAPEAVString@3@XZ
GetInstalledPackageInfo
GetInstance
?GetInstance@DeployAgent@@SAPEAV1@XZ
GetInstances
?GetInstance@SMBiosInformationRetriever@@SAPEAV1@XZ
GetInterfaceCurrentTimestampCapabilities
GetInterfaceDetailData
GetInterface for ITSRdpCertSignature failed
GetInterface for ITSRdpSignature failed
GetInterfaceFromGIT
get_IntervalEnd
get_IntervalStart
?GetInt@Value@DirectUI@@QEAAHXZ
?GetIntZero@Value@DirectUI@@SAPEAV12@XZ
?GetInvalidPathChars@Path@UnBCL@@SAPEBVString@2@XZ
get_InvariantCulture
get_Invitation failed
get_Invitations failed!
?GetInvokeHelper@InvokeManager@DirectUI@@SAJPEAPEAVInvokeHelper@2@@Z
GetIoReplyMessageSize
GetIoReplyMessageSize called for non-io message
GetIrpObjFromItf
get_Is64BitOperatingSystem
get_IsApplicable
get_IsArray
get_IsBoot
get_IsClosed
GetIScsiIKEInfoW
GetIScsiInitiatorNodeNameW
get_IsDeleted
GetISECultureInfo
GetIsEdpEnabled
?get_IsEmpty@String@UnBCL@@QEBAHXZ
?GetIsEmpty@String@UnBCL@@SAHPEBG@Z
get_IsEnabled
get_IsInvalid
?get_IsLoading@SerializationStream@UnBCL@@QEBAHXZ
?get_IsPrintable@String@UnBCL@@QEBAHXZ
get_IsPrinted
get_IsRightToLeft
get_IsScriptRunnerDataValid
get_IsSetByGroupPolicy
?get_IsStoring@SerializationStream@UnBCL@@QEBAHXZ
get_IsUpdating
?get_IsVM@SystemInfo@UnBCL@@QEBAHXZ
get_Item
get_Item1
get_Item2
GetItem failed
GetItem failed!
?get_Item@XmlAttributeCollection@UnBCL@@QEAAPEAVXmlAttribute@2@H@Z
?get_Item@XmlAttributeCollection@UnBCL@@QEAAPEAVXmlAttribute@2@PEAVString@2@@Z
?get_Item@XmlAttributeCollection@XmlLite@UnBCL@@QEAAPEAVXmlAttribute@23@H@Z
?get_Item@XmlAttributeCollection@XmlLite@UnBCL@@QEAAPEAVXmlAttribute@23@PEAVString@3@@Z
?get_Item@XmlNodeList@UnBCL@@QEAAPEAVXmlNode@2@H@Z
?get_Item@XmlNodeList@XmlLite@UnBCL@@QEAAPEAVXmlNode@23@H@Z
GetJobNamedPropertyValue
GetKernelDump
GetKernelObjectSecurity
GetKeyboardLayout
?GetKeyFocused@Element@DirectUI@@UEAA_NXZ
?GetKeyFocusedElement@HWNDElement@DirectUI@@SAPEAVElement@2@XZ
?GetKeyFocused@HWNDHost@DirectUI@@UEAA_NXZ
GetKeyNameTextW
get_Keys
GetKeyState
?GetKeyWithin@Element@DirectUI@@QEAA_NXZ
get_Keywords
GetLastActivePopup
?get_LastChild@XmlNode@UnBCL@@QEAAPEAV12@XZ
?get_LastChild@XmlNode@XmlLite@UnBCL@@QEBAPEAV123@XZ
::GetLastError()
GetLastError
GetLastError( )
GetLastError()
GetLastInputInfo
GetLastWin32Error
GetLastWriteTime
GetLayeredWindowAttributes
GetLayout
?GetLayoutPos@Element@DirectUI@@QEAAHXZ
get_Length
?GetLength@CHString@@QEBAHXZ
?get_Length@FileStream@UnBCL@@UEBA_JXZ
?get_Length@MemoryStream@UnBCL@@UEBA_JXZ
GetLengthSid
?get_Length@StringBuilder@UnBCL@@QEBAHXZ
?get_Length@String@UnBCL@@QEBAHXZ
get_Letter
get_Level
?GetLexeme@ARGUMENT@@QEAAPEAVWSTRING@@XZ
?GetLexemeAt@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@K@Z
get_LifeTimePoweronResets
?get_LineNumber@XmlException@UnBCL@@UEAAHXZ
?get_LinePosition@XmlException@UnBCL@@UEAAHXZ
get_LinkText
GetLoadedHiveKeyNameInternal
?GetLoadedModuleDir@Directory@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetLocaleInfoA
GetLocaleInfoEx
GetLocaleInfoW
get_LocalName
get_LocalStandardOffset
GetLocalTime
GetLocalTimeOfDay
get_LocalTransitionTime
get_Location
?GetLocation@Element@DirectUI@@QEAAPEBUtagPOINT@@PEAPEAVValue@2@@Z
?getloc@ios_base@std@@QEBA?AVlocale@2@XZ
GetLoggedOnUserCount
GetLogicalDrives
GetLogicalDriveStringsW
GetLogicalProcessorInformation
GetLogicalProcessorInformationEx
get_LogicalSectorsRead
get_LogicalSectorsWritten
?GetLongestClassStringSize@CRegistry@@QEAAKXZ
?GetLongestSubKeySize@CRegistry@@QEAAKXZ
?GetLongestValueData@CRegistry@@QEAAKXZ
?GetLongestValueName@CRegistry@@QEAAKXZ
?GetLongName@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetLongPathNameW
get_LowestTemperature
GetLpacPortSd failed
GetMachineId
get_MachineName
__getmainargs
GetMainenanceTaskFrequency
GetMainOSStoreId
?get_Major@Version@UnBCL@@QEBAHXZ
get_Manufacturer
?get_Manufacturer@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
get_MapDstToRules
GetMappedFileNameW
get_MapZoneToRules
?GetMaxByteCount@ASCIIEncoding@UnBCL@@UEBAHH@Z
?GetMaxByteCount@UnicodeEncoding@UnBCL@@UEBAHH@Z
_getmbcp
GetMediaComponentPackageInfo
GetMediaGeometryEx
get_MediaType
GetMediaType
get_Members
get_MemberType
GetMemLogObject
GetMemoryInfo
GetMenuDefaultItem
GetMenuItemCount
GetMenuItemID
GetMenuItemInfoW
GetMenuState
GetMenuStringW
get_Message
GetMessageA
?get_Message@Exception@UnBCL@@UEBAPEBVString@2@XZ
GetMessageExW
GetMessagePos
GetMessageW
GetMetadataRootForPackage
GetMetaFileBitsEx
GetMethod
get_Millisecond
!GetMinDiffAreaSizeWW
?get_Minor@Version@UnBCL@@QEBAHXZ
get_Minute
get_Model
?get_Model@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
GetModuleBaseNameW
?GetModule@ClassInfoBase@DirectUI@@UEBAPEAUHINSTANCE__@@XZ
GetModuleFileNameA
GetModuleFileNameW
GetModuleHandleA
GetModuleHandleExA
GetModuleHandleExW
GetModuleHandleW
GetModuleInformation failed
GetMonitorInfoW
get_Month
GetMonthAbbreviation
get_MonthNames
?GetMouseWithin@Element@DirectUI@@QEAA_NXZ
GetMsaLoginProofTokenFailed
GetMSATicket
GetMSATicketFailure
GetMsaToken
GetMsaTokenFailed
GetMstscLocation failed
get_Name
?GetName@ClassInfoBase@DirectUI@@UEBAPEBGXZ
GetNamedPipeClientProcessId
GetNamedSecurityInfoW
getnameinfo
GetNameInfoW
?get_NamespaceURI@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?get_NamespaceURI@XmlNode@XmlLite@UnBCL@@QEBAPEAVString@3@XZ
?get_Name@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?get_Name@XmlNode@XmlLite@UnBCL@@QEBAPEAVString@3@XZ
GetNativeSystemInfo
GetNativeWindow failed
?GetNewVariant@CVar@@QEAAPEAUtagVARIANT@@XZ
GetNextElementFailed
GetNextElementTooMany
?GetNext@FSN_DIRECTORY@@QEAAPEAVFSNODE@@PEAPEAXPEAK@Z
?get_NextSibling@XmlNode@UnBCL@@QEAAPEAV12@XZ
?get_NextSibling@XmlNode@XmlLite@UnBCL@@QEBAPEAV123@XZ
?GetNextString@MultiSz@UnBCL@@AEBAPEBGPEBG@Z
GetNLSVersionEx
GetNodeClusterState
GetNodeFromHWND() did not find the desired HWND when setting window tracking state to STOPPED
GetNodeFromHWND() failed
get_NodeType
?get_NodeType@XmlNode@UnBCL@@QEAA?AW4XmlNodeType@2@XZ
?get_NodeType@XmlNode@XmlLite@UnBCL@@QEBA?AW4XmlNodeType@3@XZ
get_NoProfile
GetNoviceUserInfoWWW
get_Number
get_NumberFormat
GetNumberFormatEx
GetNumberFormatW
get_NumberOfAsrEvents
GetNumberOfConsoleInputEvents
get_NumberofFreeFallEventsDetected
get_NumberOfHardwareResets
get_NumberOfHighPriorityUnloadEvents
get_NumberOfInterfaceCrcErrors
get_NumberOfMechanicalStartFailures
get_NumberOfReallocatedLogicalSectors
get_NumberOfReallocationCandidateLogicalSectors
get_NumberOfReportedUncorrectableErrors
get_NumberOfResetsBetweenCommandAcceptanceAndCommandCompletion
?get_NumCPU@SystemInfo@UnBCL@@QEBAKXZ
?get_NumLogicalCPU@SystemInfo@UnBCL@@QEBAKXZ
GetObject
?GetObjectID@Object@UnBCL@@UEBAIXZ
?get_ObjectID@SerializationStream@UnBCL@@QEBAPEBVSerializationId@2@XZ
GetObjectW
GetObjectWWW
?GetOccurenceCount@String@UnBCL@@QEBAHG@Z
?GetOccurenceIndexOf@String@UnBCL@@QEBAHGH@Z
?GetOccurenceLastIndexOf@String@UnBCL@@QEBAHGH@Z
GetOEMCP
?GetOffText@TouchSwitch@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
?GetOleType@CVar@@QEAAHXZ
?GetOnText@TouchSwitch@DirectUI@@QEAAPEBGPEAPEAVValue@2@@Z
?GetOOMHandler@Allocator@UnBCL@@SAPEAUIOutOfMemoryHandler@@XZ
GetOpenClipboardProcess failed
GetOpenClipboardWindow
GetOpenFileNameW
get_OperationalStatus
GetOperationalStatus
GetOperationCount
get_OrdinalIgnoreCase
_get_osfhandle
GetOsManufacturingMode
GetOsSafeBootMode
get_OSVersion
?GetOSVersion@Environment@UnBCL@@SAPEBVOperatingSystem@2@H@Z
?get_OSVersion@OperatingSystem@UnBCL@@QEBAPEBVVersion@2@XZ
?get_OuterXml@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?GetOutputType@CVdsAsyncObjectBase@@QEAA?AW4_VDS_ASYNC_OUTPUT_TYPE@@XZ
GetOverlappedResult
get_OverlimitShockEvents
?get_OwnerDocument@XmlNode@UnBCL@@QEAAPEAVXmlDocument@2@XZ
GetPackageApplicationIds
GetPackageApplicationPropertyString
get_PackageFamilyName
GetPackageFamilyName
GetPackageFullName
GetPackageOSMaxVersionTested
GetPackagePath
GetPackageProperty
GetPackagePropertyString
GetPackagesByPackageFamily
GetPackageStatus
?GetPadding@Element@DirectUI@@QEAAPEBUtagRECT@@PEAPEAVValue@2@@Z
?GetPageResID@TaskPage@DirectUI@@MEAAPEBGXZ
get_PageSessionId
GetPaletteEntries
GetParent
?GetParent@Element@DirectUI@@QEAAPEAV12@XZ
GetParent() failed
GetParentFolderNameWL
?get_ParentNode@XmlNode@UnBCL@@QEAAPEAV12@XZ
?get_ParentNode@XmlNode@XmlLite@UnBCL@@QEBAPEAV123@XZ
?GetParentPath@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetPartitionAttributes
GetPartitionFileSystem
GetPartitionInformation
GetPartitionOffset
GetPartitionPath
GetPartitionPath2
GetPartitionPathNoContext
GetPartitionSizeInSectors
GetPartitionStyle
GetPartitionType
get_Path
?GetPathRoot@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
?GetPattern@ARGUMENT@@QEAAPEAVWSTRING@@XZ
get_PeerIP failed
getpeername
get_PendingErrorCount
get_PercentageUsedEnduranceIndicator
get_Perf
GetPersistedFileLocationW
GetPersistedRegistryLocationW
GetPersistedRegistryValueW
?GetPFlagBreak@KEYBOARD@@QEBAQEAHXZ
GetPhysicallyInstalledSystemMemory
?GetPICount@ClassInfoBase@DirectUI@@UEBAIXZ
GetPixel
GetPlatform failed
?get_Platform@OperatingSystem@UnBCL@@QEBA?AW4PlatformID@2@XZ
GetPointerDevice
GetPointerDeviceProperties
GetPointerDeviceRects
GetPointerDevices
GetPointerFrameInfoHistory
GetPointerFramePenInfo
GetPointerFramePenInfoHistory
GetPointerFrameTouchInfo
GetPointerFrameTouchInfoHistory
GetPointerInfo
GetPointerPenInfo
GetPointerTouchInfo
GetPointerType
GetPolicySettings
GetPooledObject(CTSBufferResult) failed
getPoseAtTimeResult
?get_Position@FileStream@UnBCL@@UEBA_JXZ
?get_Position@MemoryStream@UnBCL@@UEBA_JXZ
get_PowerOnHours
get_PredictedToFail
?GetPreferredLanguages@CMUILocale@@SAJKPEAPEAGPEAK@Z
?get_Prefix@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?get_Prefix@XmlNode@XmlLite@UnBCL@@QEBAPEAVString@3@XZ
_GetPresentableVolumeName
?get_PreviousSibling@XmlNode@UnBCL@@QEAAPEAV12@XZ
?get_PreviousSibling@XmlNode@XmlLite@UnBCL@@QEBAPEAV123@XZ
get_Principal
GetPrinterDataExW
GetPrinterData failed.
GetPrinterDataW
GetPrinterDriverDirectory failed.
GetPrinterDriverDirectoryW
GetPrinterDriverPackagePathW
GetPrinterDriverW
GetPrinter failed
GetPrinterW
GetPrintJobInfoCollection
GetPrintProcessorDirectoryW
GetPrintQueue
GetPriorityClass
GetPrivateProfileIntA
GetPrivateProfileIntW
GetPrivateProfileSectionW
GetPrivateProfileStringA
GetPrivateProfileStringW
GetProcAddress
GetProcAddress failed
GetProcAddress for CheckAndSubmitOfflineCrash failed
GetProcessAffinityMask
GetProcessAppContainerSid
GetProcessDefaultLayout
GetProcessDpiAwareness
GetProcessDump
GetProcesses
GetProcessHandleFromHwnd
GetProcessHeap
GetProcessId
GetProcessIdOfThread
GetProcessInfo failed
GetProcessInformation
GetProcessIoCounters
GetProcessMitigationPolicy
get_ProcessName
?get_ProcessorArchitecture@SystemInfo@UnBCL@@QEBAKXZ
?get_ProcessorCaption@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
?get_ProcessorManufacturer@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
?get_ProcessorMaxClock@SystemInfo@UnBCL@@QEBAKXZ
?get_ProcessorName@SystemInfo@UnBCL@@QEBAPEBVString@2@XZ
GetProcessorSystemCycleTime
GetProcessStartInfo
GetProcessTimes
GetProcessWaitChainAsync
GetProcessWindowStation
GetProcessWorkingSetSize
GetProcessWorkingSetSizeEx
GetProductInfo
GetProductInfo failed
GetProductVersion
GetProfileCustomUserData
GetProfilesDirectoryW
GetProfileStringW
GetProfileType
get_projected
get_Projected
get_Properties
GetProperty
?GetProperty@ElementProxy@DirectUI@@IEAAJPEAUtagVARIANT@@H@Z
GetPropertySet failed
?GetPropertyValue@ElementProvider@DirectUI@@UEAAJHPEAUtagVARIANT@@@Z
GetPropertyX pszName cannot be NULL or empty.
GetPropertyX pVar cannot be NULL.
GetPropW
GetProvider
GetProviderInstanceHelper failed
GetProviderMgmtInterfaceInternal
get_ProviderName
?get_ProviderOptions@ElementProvider@DirectUI@@UEAAJPEAW4ProviderOptions@@@Z
GetProviderSchema
GetProvisionPackageNameFailed
GetPwrCapabilities
GetQueuedCompletionStatus
GetRailOrderEncoder failed in CHookEventProcessor::Initialize
GetRailOrderEncoder failed in CRdpShell::Initialize
GetRailVC failed
GetRandomNumber failed
?GetRawBuffer@MemoryStream@UnBCL@@UEAAPEAEXZ
GetRawInputDeviceInfoW
GetRawPointerDeviceData
GetRDPFiles
GetRDPFilesResponse
GetRDPFilesResult
GetRdpShellName failed
get_Read
get_ReadByteCount
get_ReadCommandCount
GetReaderFileItemX OpenThreadToken failed with unexpected error
get_ReadIoCount
get_ReadRecoveryAttempts
GetRecoveryInfoFinished
GetRecoveryInfoStarted
GetRecoverySequenceIds
GetRegionData
GetRegionData() failed
get_RegistrationInfo
GetRegistryKeySettings
GetRegistryValueWithFallbackW
GetRegKey
GetRegKeyPath
get_ReliabilityCounter
GetRemoteBackupCollectionIds
GetRemoteBackupCollectionIdsActivity
GetRemoteRoamingCollectionIds
GetRemoteRoamingCollectionIdsActivity
GetRenderingMetadataFromAppSharedBufferRequestReceived
GetRenderingMetadataFromAppSharedBufferResponseSent
GetRenderingMetadataSharedBufferForProcessRequestReceived
GetRenderingMetadataSharedBufferForProcessResponseSent
GetRequestedRuntimeInfo
GetResourceDisplayNameWW
GetResourceId failed
GetResourceIdWWW
get_ResourceManager
GetRestorePointIndexToWaitFor
GetRestorePointsCount
GetRestrictedErrorInfo
GetRgnBox
GetRgnBox() failed
GetRoleTextW
get_RollbackOnError
get_RootDirectory
?GetRoot@Element@DirectUI@@QEAAPEAV12@XZ
get_RootFolder
?GetRootLength@Path@UnBCL@@KAHPEBVString@2@@Z
?GetRootRelativeBounds@Element@DirectUI@@QEAAJPEAUtagRECT@@@Z
?get_Root@XmlDocument@XmlLite@UnBCL@@QEBAPEAVXmlNode@23@H@Z
get_Rules
GetRunningObjectTable
get_Runspace
?GetRuntimeId@ElementProvider@DirectUI@@UEAAJPEAPEAUtagSAFEARRAY@@@Z
GetRuntimeReport
GetRuntimeReport Dispatching Enclave Call
GetRuntimeReport Lock Acquired
GetRuntimeReport Retry Dispatching Enclave Call
get_SafeWaitHandle
get_Save
GetSaveFileNameW
GetScaleFactor
GetScaleFactorForDevice
GetScaleFactorForMonitor
GetScaleFactorForMonitor failed for desktop scale factor
GetScaleFactorForMonitor failed for device scale factor
GetSchema
GetScrollInfo
GetScrollPos
GetSdShellPathPrefix
GetSDTracingDirectory
get_Second
GetSector
GetSectorCount
get_SectorSize
GetSectorSize
GetSectorSizeFromHandle
GetSecurityDescriptorControl
GetSecurityDescriptorDacl
GetSecurityDescriptorGroup
GetSecurityDescriptorLength
GetSecurityDescriptorOwner
GetSecurityDescriptorSacl
GetSecurityInfo
?GetSelected@Element@DirectUI@@QEAA_NXZ
GetSelectedProfileIdFromProfileName
_GetSelectedRestorePoint
?GetSelectionIndex@TouchSelect@DirectUI@@QEAAHXZ
?GetSelection@TouchEdit2@DirectUI@@QEAAJPEAJ0@Z
GetServiceDisplayNameW
GetServiceKeyNameW
get_ServiceName
GetServicePath
GetServices
GetServiceSettings
GetSessionCertificate
GetSessionInfoWW
GetSessionReport
get_SetDaylightDates
get_SetStandardDates
GetSetting
GetSettingConfiguration
GetSettingForUser
GetSettingHandlerInstanceFromFullyQualifiedCollectionIdFailed
get_SettingName
get_Settings
GetSettings
GetSettingSyncOperationInfoForCollection
get_SettingValue
get_SetUtcOffsets
GetShellDisplayNameForVolumeGuid
GetShellWindow
?GetShortName@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetShortPathNameA
GetShortPathNameW
GetShowInSwitchers failed
GetShutdownTrace
GetSidIdentifierAuthority
GetSidLengthRequired
GetSidSubAuthority
GetSidSubAuthorityCount
GetSignalPayloadInfo
get_Size
?GetSize@CHPtrArray@@QEBAHXZ
?GetSize@CHStringArray@@QEBAHXZ
GetSize failed!
get_SizeRemaining
GetSize sourceFrameMax failed
?GetSize@Value@DirectUI@@QEAAPEBUtagSIZE@@XZ
GetSnapshotsCount
getsockname
getsockopt
?get_Source@Exception@UnBCL@@UEBAPEBVString@2@XZ
get_SpindleMotorPowerOnHours
GetSpoolerTlsIndexes
_GetSPPExternalGroups
_GetSrDelayedErrorString
?GetStackTrace@Exception@UnBCL@@QEBAPEAVString@2@XZ
GetStagedPackageOrigin
get_StandardDate
?GetStandardError@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Error_Stream
get_StandardInput
?GetStandardInput@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Input_Stream
get_StandardOutput
?GetStandardOutput@PROGRAM@@UEAAPEAVSTREAM@@XZ
Get_Standard_Output_Stream
GetStandardStreamWWW
get_StartInfo
GetStartupInfoA
GetStartupInfoW
GetStateFolder
GetStateSettingsFolder
GetStdColorBrushI
GetStdColorI
GetStdHandle
GetStockObject
GetStorageAccessAlignmentProperty
GetStorageAllocationBitmap
GetStorageControllerInfo
GetStorageDependencyInformation
GetStorageDeviceInfo
GetStorageDrivers
GetStorageInstanceCount
GetStoragePolicySettings
GetStorageUsageBreakdownInfo
GetStoreIdAndInfoFromPartitionName
GetStoreIdByPath
GetStoreIdFromPartitionName
_get_stream_buffer_pointers
GetStreamDataEvents failed!
GetStreamFromDataObject failed!
GetStream ppStream cannot be null
GetString
GetStringTypeExA
GetStringTypeExW
GetStringTypeW
GetSubKeyNames
GetSubMenu
GetSubmissionId (extension) failed
GetSubmissionId failed
GetSubscriptionInfo from WorkspaceInstaller failed
GetSubscriptionInfoW
get_SubstitutionParams
GetSwitchUserCredentials
GetSysColor
GetSysColorBrush
GetSysImgTracingDirectory
GetSystemAppDataKey
GetSystemBackupStats
GetSystemData failed
GetSystemDefaultLangID
GetSystemDefaultLCID
GetSystemDefaultLocaleName
GetSystemDefaultUILanguage
?GetSystemDir@Directory@UnBCL@@SAPEAVString@2@XZ
get_SystemDirectory
GetSystemDirectoryA
GetSystemDirectory failed
GetSystemDirectory failed.
GetSystemDirectoryW
GetSystemFirmwareTable
GetSystemId
GetSystemInfo
?GetSystemInfo@Environment@UnBCL@@SAPEBVSystemInfo@2@H@Z
GetSystemMenu
GetSystemMetrics
GetSystemMetricsForDpi
GetSystemPowerStatus
GetSystemPreferredUILanguages
GetSystemRootFromCommandLine
GetSystemTime
GetSystemTimeAsFileTime
GetSystemTimePreciseAsFileTime
GetSystemTimes
GetSystemWindowsDirectory failed
GetSystemWindowsDirectoryW
GetSystemWow64Directory2W
GetSystemWow64DirectoryW
GetTaskmanWindow
GetTcpMibPtr
GetTempFileNameA
GetTempFileNameW
GetTemplateConfigurationItems
GetTempNameWL
?GetTemporaryFileName@File@UnBCL@@SAPEAVString@2@PEBV32@@Z
GetTempPathA
?GetTempPathName@Directory@UnBCL@@SAPEAVString@2@XZ
GetTempPathW
GetTermsrCompatFlagsEx
GetTextAlign
GetTextColor
get_TEXT_CURRENT_USER
GetTextExtentPoint32W
GetTextExtentPointW
get_TextInfo
get_TEXT_LOCAL_MACHINE
GetTextMetricsW
?GetTextSid@CNtSid@@QEAAHPEAGPEAK@Z
get_TEXT_USAGE
:: Get the buildlabex string from the registry
GetThemeAnimationProperty
GetThemeAnimationTransform
GetThemeAppProperties
GetThemeBackgroundExtent
GetThemeColor
GetThemeFont
GetThemeInt
GetThemeMargins
GetThemeMetric
GetThemePartSize
GetThemeServices
GetThemeSysColor
GetThemeSysFont
GetThemeTextExtent
GetThreadContext
GetThreadDesktop
GetThreadDpiAwarenessContext
GetThreadId
GetThreadInformation
GetThreadLocale
GetThreadPreferredUILanguages
GetThreadPriority
?GetThreadSecurity@CWbemCallSecurity@@UEAAJW4tag_WMI_THREAD_SECURITY_ORIGIN@@PEAPEAU_IWmiThreadSecHandle@@@Z
GetThreadTimes
GetThreadUILanguage
GetThreadWaitChain
GetTickCount
GetTickCount64
get_Time
get_TimeCreated
GetTimeFormatEx
GetTimeFormatW
get_TimeInOverTemperature
get_TimeInUnderTemperature
get_TimeJobSubmitted
get_Timeout
GetTimeToWaitForRestorePointToAppear
GetTimeZoneInformation
GetTimeZoneInformationForYear
Getting host package status
Getting old prefs
Getting thread id failed
?GetToggleValue@TouchSwitch@DirectUI@@QEAAHXZ
GetTokenInformation
GetTokenInformation should have failed
GetTokenIntegrityLevel for caller failed
GetTokenIntegrityLevel for self failed
GetTopLevelParent() failed
?get_TotalMemory@SystemInfo@UnBCL@@QEBA_KXZ
get_TotalMilliseconds
get_TotalMinutes
get_TotalSeconds
get_TotalSectors
GetTraceEnableFlags
GetTraceEnableLevel
GetTraceLoggerHandle
get_TransitionTime
get_Transparent
get_Triggers
get_TsLocalStandardOffset
get_tsUtcOffset
get_TsUtcOffset
get_Type
GetTypeFromHandle
?get_TypeName@SerializationId@UnBCL@@QEBAPEBGXZ
?GetType@Object@UnBCL@@UEBAPEAVType@2@XZ
?get_Type@OperatingSystem@UnBCL@@QEBA?AW4InstallationType@2@XZ
?GetType@Value@DirectUI@@QEBAHXZ
?GetUIAElementProvider@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?GetUiaFocusDelegate@Element@DirectUI@@UEAAPEAV12@XZ
GetUICulture
GetUiUserAccessLevel
?GetUnicode@Encoding@UnBCL@@SAPEAV12@XZ
_GetUninstallInterface
GetUniqueDeviceNameW
get_UniqueId
get_UniquePublisherName failed
GetUnknownString
?GetUnset@Value@DirectUI@@SAPEAV12@XZ
get_Until
GetUpdatedClipboardFormats
GetUpdatePolicyName
GetUpdateReserveManager
GetUpdateResults
GetUpdateResultsEx
?GetUpperBound@CHPtrArray@@QEBAHXZ
?GetUpperBound@CHStringArray@@QEBAHXZ
GetUserColorPreference
GetUserDefaultGeoName
GetUserDefaultLangID
GetUserDefaultLCID
GetUserDefaultLocaleName
GetUserDefaultUILanguage
GetUserGeoID
get_UserInteractive
GetUserNameExW
GetUserNameW
GetUserObjectInformationA
GetUserObjectInformationW
GetUserPreferredUILanguages
GetUserProfileData
GetUserProfileDirectoryW
(GetUserProfilePath
GetUserRegionFailure
GetUserShellPaths
GetUserSid
get_UtcNow
get_UtcOffset
get_UTF8
get_ValidationMethod
get_Value
GetValue
GetValueAt failed
?GetValueCount@CRegistry@@QEAAKXZ
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@P6APEBUPropertyInfo@2@XZHPEAUUpdateCache@2@@Z
?GetValue@Element@DirectUI@@QEAAPEAVValue@2@PEBUPropertyInfo@2@HPEAUUpdateCache@2@@Z
GetValueKind
GetValueNames
GetValueOrDefault
get_Values
?get_Value@XmlNode@UnBCL@@QEAAPEAVString@2@XZ
?get_Value@XmlNode@XmlLite@UnBCL@@QEBAPEAVString@3@XZ
GetVersion
GetVersionExA
GetVersionEx failed
GetVersionExW
?get_Version@SerializationId@UnBCL@@QEBAHXZ
GetViewForHwnd failed
GetViewportOrgEx
GetVirtualDiskInformation
GetVirtualDiskOperationProgress
GetVirtualDiskPhysicalPath
?GetVisible@Element@DirectUI@@QEAA_NXZ
GetVolumeDeviceName
GetVolumeDiskExtentInfo
GetVolumeFromPartitionName
GetVolumeGuidPathnames
GetVolumeInformationA
GetVolumeInformationByHandleW
GetVolumeInformationW
GetVolumeLatency
GetVolumeName
GetVolumeNameForVolumeMountPointW
GetVolumePathByFilePath
GetVolumePathNamesForVolumeNameW
GetVolumePathNameW
get_Volumes
?GetVolumeSeparatorChar@Path@UnBCL@@SAGXZ
GetVolumeUniqueId
?GetVScroll@ScrollViewer@DirectUI@@MEAAPEAVBaseScrollBar@2@XZ
get_Wait
get_WaitCursor
GetWebDriverHostInstance
GetWebPlatformObject
get_White
get_Width
?GetWidth@Element@DirectUI@@QEAAHXZ
?get_Win32ErrorCode@Win32Exception@UnBCL@@QEBAKXZ
GetWin8AppSettings
GetWindow
GetWindowBand
?GetWindowClassNameAndStyle@HWNDElement@DirectUI@@UEAAXPEAPEBGPEAI@Z
GetWindowCompositionAttribute
GetWindowContextHelpId
GetWindowDC
GetWindow failed
GetWindowFeedbackSetting
GetWindowGeometry() failed
GetWindowInfo
GetWindowLongA
GetWindowLongPtrA
GetWindowLongPtr GWL_STYLE failed
GetWindowLongPtrW
GetWindowLongW
GetWindowPlacement
GetWindowRect
GetWindowRect() failed
GetWindowRegionOrBounds() failed
GetWindowRgn
GetWindowRgnBox
GetWindowsAccountDomainSid
?GetWindowsDir@Directory@UnBCL@@SAPEAVString@2@XZ
GetWindowsDirectoryA
GetWindowsDirectory failed
GetWindowsDirectoryW
GetWindows failed
GetWindowState() failed
GetWindowTextLengthW
GetWindowTextW
GetWindowThreadProcessId
GetWindowThreadProcessId failed
GetWindowThreadProcessId failed.
GetWinREDevPath
GetWMIADAPCmdLine
GetWMIBackupTask
GetWMISafeDocsFolder
GetWnfState
get_WorkloadUtilizaton
GetWorkspaceFoldersW
GetWorkspaceFromID failed
GetWorkspaceNameFromMenuId failed
GetWorkspaceNames failed
GetWorkspaceNamesWWW
GetWorkspaceSSPInfo failed
get_Write
get_WriteByteCount
get_WriteCommandCount
get_WriteIoCount
?GetWSTR@WSTRING@@QEBAPEBGXZ
?get_XMLDOMDocument@XmlDocument@UnBCL@@QEAAPEAUIXMLDOMDocument3@@XZ
?get_XMLDOMNode@XmlNode@UnBCL@@QEAAPEAUIXMLDOMNode@@XZ
?get_XMLDOMSchemaCollection@XmlSchemaSet@UnBCL@@QEAAPEAUIXMLDOMSchemaCollection2@@XZ
GetXStateFeaturesMask
get_Year
GeZ2'RZq
@GFFFFD8
gfffffff
gfffffffA
gfffffffD
gfffffffH
gfffffffH9Y
gfffffffI
gfffffffL
gfffffffL;
gfffffffM
gfffffffu
GfKffK.K..Kf.f
GGCGGRqCRqRqRqRCRC'R'C
(GGECCC@CCEGG(
gGetSystemTimePreciseAsFileTime
@GGGB3FDFDDB.
GGGGCGCGqCGCRGGCqGCRqRqRqRqR
GGGGEEEE@@@
GGGGGEEEEE@
_gggggg_
;@GGGGGG
GGGGGGGG
GGG@GGG@GGG@
GGGGGGGGGGG
GGG@GGG@GGG@GGG
GGGGGGGGGGGGGGGGGG
GGG@GGG@GGG@GGG@GGGpGGG
GGG@GGG@GGG@GGGPGGG
GGGGGGGGGGqGRqCGRGqqGqRqq
'gggggggggkl'
GGG@GGG@GGGpGGG
GGGGGqGqRCGRCq'q'C
GGGpGGG@GGG@
GGGPGGG@GGG@GGG@
GGGpGGG@GGG@GGG@GGG@
GGGqGqGqGqRqqRqRqR'RqRqR'RqRqRq
(((GGGttt
gghhipppzz
 @ggivi	
GGqXqGGq
GGRGqGGqqqGqRqCqqqRCqRqRqR'RCqR
GGRGRqRqGqRCqC
G@H9B@wMu
G(H9_(u	H
G@H9_@u	H
G(H9wXu"D
G(HcP09w
G H!_(H!_0E3
GHH9BHwAt?
GhostWindowFromHungWindow
giec(rqt
g	?Initialize@HWNDElement@DirectUI@@QEAAJPEAUHWND__@@_NIPEAVElement@2@PEAK@Z
Gir|||||
GIS4um9E
.gitattributes
.gitignore
.gitmodules
Given NULL tray window
GKKKKGGGGGF
GKNNNNNNYY_YY
)GL8-?QF
GlassPixelShader
GlassVertexShader
GlassVertexShaderOutput
GLASS_VS_OUTPUT GlassVertexShader( COMMON_VS_INPUT sVIn )
    GLASS_VS_OUTPUT   sVOut;
glD9ohu)
gligence ou d
GLLL01116
GlobalAddAtomW
GlobalAlloc
GlobalAlloc failed.
GlobalCollection
!GlobalContext.fPendingDeletesBehavior || GlobalContext.fAgainstUnbufferedSil
GlobalDeleteAtom
GlobalDeleteAtom failed
GlobalEventCounter
GlobalFindAtomW
GlobalFree
GlobalGetAtomNameW
GlobalHandle
GlobalLock
GlobalLock failed.
GlobalMemoryStatusEx
Global parent context must be removed before this function is called.
globalPriorityQuery
GlobalReAlloc
globalShutoff
GlobalSize
GlobalUnlock
global variables
?g_log@UDC@@3VLog@1@A
#:Gmc:Z;BO
Gmmmlnnmgiw
""""..-.-Gnv
g_oGqtzq
Going to sleep for 20 seconds to avoid hitting interference again immediately
Goodbye.IsAllowed
Goodbye.UserPresenceRuleStateChange
?good@ios_base@std@@QEBA_NXZ
GoodRunLimit
?GotABreak@KEYBOARD@@SAEXZ
G ;o(tEH
    goto :EOF
goto :EOF
GOTO :EOF
    goto :PhoneEventLogs
    goto :WindowsEventLogs
gpD9olu)
GPowerShell
GPowerShellDll
GPowerShellInitializationMutexName
GPowerShell.resources
GPU id : 
                    gpu in the system conforming to the DevSim Portability Subset schema.
GqGRqRGqRqRqqRRqRqR'R'R'Rq
gQLJHCId
Graceful Restart
g_RailOrderEncoder.EncodeRailOrder re-try failed for TS_WINDOW_APPBAR_INFO_ESCCODE
g_RailOrderEncoder.EncodeRailOrder TS_SHELL_NOTIFY_ESCCODE failed
g_RailOrderEncoder.EncodeRailOrder TS_WINDOW_CHANGE_ESCCODE failed
g_RailOrderEncoder.EncodeRailOrder TS_WINDOW_ICON_ESCCODE failed
GrantWorkingDirectoryAccess_FullTrustCaller_ForPackage
GraphicalPowerShell
GraphicsAdapter
GraphicsUnit
gravityAlignedHeadToNonGravityAlignedHead
gravityAlignedPointingToPose
gravityCount
gravityInDeviceSpace
gravityInPoseSpace
gravityIsSynthetic
gravityIsValid
gravityValid
GreaterEqual
GREATEREQUAL
Greater Manchester1
GreaterOrEqualTo
GreaterThan
GreaterThanEqual
GRGRCGRGRCCCC'RCCRC6'C
?GridItemPattern@Schema@DirectUI@@2HA
?GridPattern@Schema@DirectUI@@2HA
Group Cipher is not valid
GroupCollection
group curve A
group curve B
group desc
group gen1
group gen2
Group Key Acknowledge
Group Key Inform
Group key update timeout
GroupName
group prime
GroupTransitionsByYear
group type
__GSHandlerCheck
__GSHandlerCheck_SEH
g_spTray
;G(sTD9O
GTCccfr7h
GTD9gXtF
gtD9opu)
gTextStreamWW
gTPUVx@A5
?????????__???????????????????????????????????????????????????????????????????????????;????????????????????G????T??????????S??F??O???????a
guest voice
guest voice signaling
GuidArrayProperty
GuidAttribute
GUID_DEVINTERFACE_CDROM
GUID_DEVINTERFACE_DISK
GuidProperty
Guid should always translate into string
GuidToString
GuidToString failed
guwWwwwp
gVwGgtueef
gvwwwwwwx
GwvWuvugp
GwwWvwgugwp
  GXi5ADX
gxShareNameWWW
gxwgwwwwwwp
Gxwgwwwwwwwp
h0000000
h(0((0(0((0a
h000O00O0h0h00O
h00a0a0(h(h0h0
h00h000O0
h(00h0(h0
h0(0h0h0h0a0h0U
h00O0O0(000O0h
h0a00(00U00h0h0O0
h0E00h0h0a
H0fD;1tPD
!](H!]0H
h0h(00h0h(0(00
h(0h(0a0h
h0h0h0h0OM0hMhh0hO
h0h0h0hU
h0h0h0Mhh
h0h0h0O0
h0h0hh0M
h0h0M0hM0M
h0h0(U0U0h0h0h0h(h
(h0(h0U0U0U0hh
H!_(!_ !_0H!_@!_8!_H!_
H!]0H!](H
h0h(h0h00h0h0a0h00h0
h0h(h0h0h000
h0h(h0h0h0h0hM
h0hh0h0Mh0h
H!]0H!]HI
H0H!KpH!KxL
h0hM0hhMh
h0M0hh0hh0hM0h0hMhd0O0hh0MhhMh0dOdO
h0U0h0h0h00h0Mh
h0U0h0h0h0h
h0U0h0h0h0h0h
h0U0U0h0h0E0U0U0h
h0U0U0U0U0U0h
h0U(U(U(U0U0a0hU0hh0h0Mh
H::2UEE:UDD9TEE)SCC"SED
 H3E H3E
H5bJxsD3
H5_FhjE3
 H5JkkrH
H5Jt1 E3
H5LC.sA3
H5Z|#(A3
H7j?5#iOi
 H!_8H!_@
H!]8!](H!]0H!]
h@8u0uRD
 H9_0ttK
H98u0A8h)t
H9_8uDE3
H99uxH!9H
H9A0uPH9A8uJ
H9A@rKw*H
?H9C urH9_
@H9G@v@3
H9HHuJH9HPuDH
H9n uBI;
[H9_PtUH9_XtOH
H9_PuKH9_puEH
H9](t#eH
-H9_@t'H
H9.t	H9k(@
H9uxt'eH
H9uxt-eH
?H9w@t*H
H9W v)H;V
H9_xt	H9
:H9y(tFH
?HA;4-*!
H@A9x v!H
Haaacccjjkk]
HAccountingRecordCreationTimestamp
ha discovery reply
ha discovery request
halgorithm
HamCloseActivity
HamConnectToServer
HamCreateActivityForProcess
HamDisconnectFromServer
HamPopulateActivityPropertiesByClass
HamStartActivityAsync
HamTerminateActivityHost
HandleCheckpoint
HandleClosing
HandleDataPackets failed
HandleFailure
HandleHelpSysLink
HandleInputEventPdu failed!
HandleInteractiveUserProcess failed!
HandleLogOffOrDisconnectUser
HandleLogOffOrDisconnectUserCallback
HandleMigration
HandleSecureDumpCollection got invalid parameters
HandleTrackingEnabled
?HandleUiaDestroyListener@Element@DirectUI@@UEAAXXZ
?HandleUiaEventListener@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?HandleUiaPropertyChangingListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@@Z
?HandleUiaPropertyListener@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
HandTracked
HandTrackerDidNotSendDataToMirage
HandTrackerSentDataToMirage
HangReportError
HangUpEntry
HardCapsEnabled
Hardcoded
HardLink
HardLinkFile
HardLinkWithCopyFallback
hardwareId
HardwareId
Hardware revision
HardwareSecurityHealth
HardwareSecurityStatus
Hardware Voice Activation - Language Unsupported
hasActions
HasAdministratorPrivileges
?HasBorder@Element@DirectUI@@QEAA_NXZ
hasCallback
hasCallerToken
?HasChildren@Element@DirectUI@@QEAA_NXZ
HasContentStream
hasFeatureUpdate
HasFocus
HashAlgId
hash_algo
HashAlgorithm registry type is incorrect
HashFileData
hash mismatch
HasHostedWebContent
HashPiiField
	?HasPadding@Element@DirectUI@@QEAA_NXZ
hasPrimary
hasRender
HAssertionLogicFailureCount
HAssertionRecordFailedWriteCount
HAssertionRecordPassedWriteCount
HAssertionRunCount
hasSpeakerProtectionOverride
hasTimeout
HasValue
?HasWildCard@PATH@@QEBAEXZ
H ATAUAVH
H ATAVAWH
H AUAVAWH
haveNewBestLocal
haveNewSmooth
Having UMDF 2.0 and previous versions of UMDF drivers in same device stack is not supported. 
HBA_CloseAdapter
HBA_GetAdapterAttributes
HBA_GetAdapterName
HBA_GetAdapterPortAttributes
HBA_GetNumberOfAdapters
HBA_OpenAdapter
hBootVolume
hbstrProgIDProviderClassW
Hc3string too long
HCheckSREnabled
HclaimCookieW
H|.COptions::Init
hCryptHash
HD9NDsjE3
hdevInfo
hDevInfo
HDfD	@FI
HDispatchedNotificationCount
hdrlavih8
HDroppedNotificationCount
H!E8H!E0H!E
HeadComponent_GetGravityAlignedHeadToPose
HeadComponent_UpdateLastKnownGravityAlignedHeadToPose_AdjustOriginalPoseToCurrentPose
header should not be NULL
HeadFlyingHours_Index
HeadGetInitialGravityVector
HeadGetInitialGravityVectorDelayed
HeadlessConfig
HeadLoadEvents_Index
headToRig
HeadTracker_DeleteDurability
HeadTrackerFullUpdateStartPerf
HeadTrackerFullUpdateStopPerf
HeadTrackerHandler_GetPriorityNode
HeadTrackerHandler_GetStaticNodeForPoseHelper_DeviceNotFound
HeadTrackerHandler_GetStaticNodeForPoseHelper_DeviceReturnedNullStaticNode
HeadTrackerHandler_GetStaticNodeForPoseHelper_GetStaticNodeForPoseFailed
HeadTrackerHandler_GetStaticNodeForPoseHelper_Result
HeadTrackerHandler_GetStaticNodePoses_Pose
HeadTrackerHandler_InvalidStageDetected
HeadTrackerHandlerStartTracking
HeadTrackerHandlerStopTracking
HeadTrackerHandler_UpdateStaticNodesRequired
HeadTracker_RegisterLocationCallback_Start
HeadTracker_RemoveDirectoryDurability
HeadTracker_SpaceChangedResult
HeadTracker_SpaceManagerOnSpaceChanged
HeadTrackerSpaceManager::StartTracking
HeadTrackerSpaceManager::StartTrackingUnderLock
HeadTrackerSystemAcquireMapSnapshotStartPerf
HeadTrackerSystemAcquireMapSnapshotStopPerf
HeadTrackerSystemProcessAnchorStartPerf
HeadTrackerUsingCachedGravity
HeadTrackingClient::RebaseLocationIfNeeded
HeadTrackingClient::RebaseLocationIfNeeded after rebasing
HeadTrackingClient::RegisterActiveLocation
HeadTrackingClient::RegisterLocation
HeadTrackingClient::RegisterLocation after rebasing
HealthAdvisorHealth
HealthAdvisorStatus
HealthMetrics
healthStateFlags
_healthStatus
HeapAlloc
heapBudget
HeapCompact
HeapCreate
HeapDestroy
HeapFree
HeapFree failure
		 Heap : Heap Stack Tracking
heapIndex
heapLimit
HeapReAlloc
HeapSetInformation
HeapSize
	-heaptracingconfig	 - Change heap tracing settings for a process
heapUsage
HeapValidate
Heartbeat
HeartBeat
HeatFileListForDiskOptimizer
heatRecordsProcessed
	?HeightProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
helper _RetrieveRDPContents failed
Helpers::BitBlt
Helpers::CloseHandle
Helpers::CopyRect
Helpers::CreateCompatibleBitmap
Helpers::CreateCompatibleDC
Helpers::CreateCompatibleDIBSection
Helpers::CreateDIBSection
Helpers::CreateMutexW
Helpers::CreatePen
Helpers::CreateSolidBrush
Helpers::CreateWindowExW
Helpers::DeleteDC
Helpers::DeleteObject
Helpers::GetClientRect
Helpers::GetDC
Helpers::GetMonitorInfoW
Helpers::GetObjectW
Helpers::GetStockObject
Helpers::GetSubMenu
Helpers::GetWindowRect
Helpers::LoadIconW
Helpers::LoadImageW
Helpers::LoadMenuW
Helpers::LoadStringW
Helpers::MapWindowPoints
Helpers::MonitorFromWindow
Helpers::OffsetRect
Helpers::PostMessageW
Helpers::RegCloseKey
Helpers::RegCreateKeyExW
Helpers::RegOpenKeyExW
Helpers::RegQueryValueExW
Helpers::RegSetValueExW
Helpers::ReleaseDC
Helpers::ReleaseMutex
Helpers::SelectObject
Helpers::SendMessageTimeoutW
Helpers::SetLayout
Helpers::SetWindowPos
Helpers::StringCchCopyW
helpPattern
	-help			 - Provide command line help information
hetAnchorId
HeTUpdateTriggerStandaloneTimerInfo
HeTUpdateTriggerTimerInfo
HeTUpdateTrigger_WokeUp
Hewlett-Packard
hex value truncated to 32bits
H;F0uhI;
hfgdheVah
hFile is not a valid handle
--hfsCompression
hfsCompression
H!G H!G(H!G0!G8
.hgignore
H;Gpw;E3
h(h000h0h
h(h0(h0a0(h(h0a0h00a0h0a00Oh0M0hh0h0
h(h0h0h0a0a
h(h0h0ha00h00h0h0h0h
h(h0h0h(h0h0h0h0U0h0Uh0h0h0M0h
H!_(H!_0H!_8H!_@3
H!_(H!_0H!_8H!_@I
hh0hdhhMhM
hh0hh0h0M0h0O0Mh0h0h
hh0hhMhhMOMOhd0dOdOd
hh0hU0M0h
hh0Mh0h0O
h(h0(U0h0a0h0h0h0hh
h(h0(U0h0h0h
hhctrl.ocx
H!]@H!]H!]0D
hhh0hhhM0dh0dO
hhh0MhhMhdh0dh
hhhaa_OC
!!""....-HHHH
hhhhhhhhhhhhhbPf
hhhhMhh0h0hh
!!"".....HHHHnv
hhhhOhhdh0dO
H!]@H!]HL
 | -h hivefile hiveroot
!]@H!]HM
hhMh0h0hhM0hMhMOhdhd0h
HH:mm:ss
H!_@!_H!_p!
_HH;_Pt8H
H;[HuhH;[ ubH
#H@--@HVV@VVV#V-
@HI9@@u8H
_HiddenWndDlgOnEndSchedBackup
_HiddenWndDlgOnFormatMedia
_HiddenWndDlgOnInsertMedia
_HiddenWndDlgShowProgressDlg
HiddenWW
HidD_GetHidGuid
HideMinimizedApps failed!
HidP_GetCaps
HidP_GetSpecificValueCaps
highcontrast
HighestTemperature_Index
_HighlightSelectedRestorePoint
HighPriorityAnchorCount
HighPriorityAttribute
hInstance
hintType
HisEndToEndTest
hiveRoot
h|jjqU37N
HKEY_CLASSES_ROOT
     HKEY_CURRENT_USER
     HKEY_LOCAL_MACHINE
HKEY_LOCAL_MACHINE
     HKEY_USERS
HL12SN5h
hM0h0hMUh
hM0h0O0hd0hd
hM0OM0OMhhMhOMOdOd0j)
HmA7 S-;D
 hmac 0x
hmac-md5
hmac-sha
hmac-sha1
hmac-tiger
HmbMLJ]PK
hMddddddO
H!MhH!MpH!Mx!
hMhMh0O0MhMh
hMonitor
@HMooLD9
HNativeCallbackCount
hnnFss3l6
hO0h0M0dh0dh0hd
hO0h0O0hh
hO0hhhMO
hod"[x@6
hOh0OM0O
Hold Timer Expired
HolographicDeviceErrorStatusInfo
HolographicDeviceErrorStatusUpdated
HolographicDeviceProblemDetected
HolographicDriverDetected
HolographicUninstallPage_CreateInstance
(homeaddr: trunc)
home agent
homeagent information
hostChild
Host::CleanupParallelInitialization() must only be invoked once after Host::SetupParallelInitialization() completes.
hostedAppPerfFlags
HostInfo
HostLifetimeGUID
Hostname
	?Host@NativeHWNDHost@DirectUI@@QEAAXPEAVElement@2@@Z
Host: Operation 
Host package status acquired
HostProcessExecution
HostProcessExecutionStop
Host process must provide LifetimeID when initializing platform.
hostQueryReset
HOST_THREAD_IMPERSONATED not previous set
host unreachable
host_unreachable
host WER data should have been set when web modules are initialized.
HostWrapper::Attest
HostWrapper::GetRuntimeReport
HostWrapper::GetSessionCertificate
HostWrapper::GetSessionReport
Hotspot2OSUTelemetry
hoursInRebootPending
hpApplicationIdWW
HpbstrSourceWd
HpD9altAM
H!]PH!]@H
H!p(H!p0H
H!]PH!]XM
HpI9N |lD
hProcess
hQb7N]F:S'
HrAddressBookPreTranslateAccelerator
HrasconnFromEntry
HrDeInitAddressBook
HrDeinitComposeFormDll
hrDetection
	HResetFormatDataEvents failed!
HResourceDismissedWWWL
	HResult
HRESULT_FROM_WIN32(error)
HRESULT_FROM_WIN32(GetLastError())
HRESULT_FROM_WIN32(result)
HRESULT_FROM_WIN32(RtlNtStatusToDosError(status))
hresultRetVal
HResultSetEvent
HrFaxComposePreTranslateAccelerator
HrFreeDraftsListViewInfo
HrGetDraftsListViewInfo
HrInitAddressBook
HrInitComposeFormDll
HrInvokeAddressBook
hrLocal_RegGetValue_IsUnused
HrNewFaxComposeUI
HrNewFaxComposeUIFromFile
HrNewTiffViewUIFromFile
hrRemediation
hrResult
HrSelectEmailRecipient
hrSihLaunch
hrUpdateResult
hrWaasMedicLaunch
H!s H!s(!s0H!s8!sD@
H!s H!s(!s0!s4
-h specifies a specify local hive to manipulate.
H SUVAVAWH
HSUVWATAUAVAW
H SUVWATAUAVAWH
HSUVWATAUAVAWL
H SUVWATAVAWH
H SUVWATAVH
HSUVWATL
H SUVWAV3
H SUVWAVAWH
H SUVWAVH
H SUWATAWH
##H)((Sw
hSystemVolume
hTarget is not a valid handle
HtCreateHandleTable
HtDestroyHandleTable
hTemplateFile
HtGrowTable
htmlDocument
htmlWindow
htransform
HTristateTrue 
HtShrinkTable
HttpAddUrlToUrlGroup
HTTPAPI.dll
http_cert_lookup_supported
HttpCloseRequestQueue
HttpCloseServerSession
HttpCloseUrlGroup
HttpCreateRequestQueue
HttpCreateServerSession
HttpCreateUrlGroup
HttpInitialize
HttpOpenRequestW
HttpParseNetworkOptions
HttpPost
HttpQueryInfoW
HttpReceiveHttpRequest
HttpRemoveUrlFromUrlGroup
HttpSendHttpResponse
HttpSendRequestExW
HttpSendRequestW
HttpSetUrlGroupProperty
HTTPStatusCode
HttpTerminate
hU0M0h0hh0Uh0h0h
hU0U0M0hhMhhM0h
hU0U0MU0hh
	H;U0u8H
Hu@A88tB
H UATAUAVAWH
h UAVAWH
H UAVAWH
H!ugI!1H
H!uHH!u@H
H!uHH!uPH
H!U H!U0L
hungTimer
HungWindowFromGhostWindow
H!uoI!1H
H USVWATAUAVAWH
H USVWATAVH
H USVWAVAWH
H USVWAVH
H USWATAUAWH
H UVWATAUAVAWH
H UVWATAWH
H UVWAVAWH
H UWATAVAWH
HUyyyyyyy|yyyyvyvvvvvvtv
|hvarsadispidChangesWWd
h VAUAVH
HVCIAutoDisabledAfterUnsuccessfulBoot
HvciGetConfig
HvciIncompatibilityScanCancel
HvciIncompatibilityScanFree
HvciIncompatibilityScanGetResult
HvciIncompatibilityScanInitialize
HvciIncompatibilityScanStart
HvciIsActive
HvLEuFE3
HvlExchangeDispatchInterface
HvlLaunchHypervisor
HvlLoadHypervisor
HvlPreloadHypervisor
HvlQueryConnection
HvlRegisterRuntimeRange
HvlRescindVsm
HvlUpdateMcUpdateStatus
h VWATAUAVH
H VWATAUAVH
h VWATAUAWH
h VWATAVAWH
H VWATAVAWH
h VWAUAVAWH
h WATAUAVAWH
H WATAUAVAWH
H WATAUAVAWIc9E3
H WATAVH
H WATAWH
h WAVAWH
H WAVAWH
h	wcscat_s
H!wh9w@t	H
HwidCollectionFailed
hwndCredUiParent
hwndParent
hwnd was not destroyed
Hx9KPunH
Hx9OPuXL9o(uI
H!X(9YdtLH
!HXH!HxH
H!x(H!x0!x8H
H!x H!x(H
hxxxxxxxxxwp
??H@YA?AVCHString@@AEBV0@0@Z
??H@YA?AVCHString@@AEBV0@G@Z
??H@YA?AVCHString@@AEBV0@PEBG@Z
??H@YA?AVCHString@@GAEBV0@@Z
??H@YA?AVCHString@@PEBGAEBV0@@Z
HygonGenuine
H!YHH!Y@H!Y8
HylEntryOnLdrInitializeThunk
HylStubLdrInitializeThunk
HYSSe*pl
'|h-yxg9
H)YZZbuu
H!  zQPP
I.068.-Fy
I!0H9q t
I!0I!1I!u
_i64toa_s
_i64tow_s
i7Ap)V)P
I7!M]0vJ
I8D8axu.D
i@@8j@t(H
I92u)A8h
I92u)E8x9t
	I9H rFw
I9:u)A8h
I9:u)A8hat
I9:u)A8hAt
I9:u)A8hIt
I9:u)A8h)t
I9zXt.A9zdv(A
IAcquisitionManagerW
I!(A!)E3
IaFmmsmmGaI
IaGsssssFaI
IA N(8)J
IANADataValidationException
iana-grp06
iana-grp07
iana-grp08
iana-grp09
iana-grp10
iana-grp11
iana-grp12
iana-grp13
ianaLowerLimit
IanaRuleTransform
IA_PD-prefix
IAppDataManager
IAppPackageManager
IAppReadinessService::EnterLogonPhase failed
Ia|sor:Z
IAsyncResult
IbSbbSbSbL*
IButtonControl
"[IBvIM?
iCCharacterWWW
iCDraftsMsg
IcfChangeNotificationCreate
IcfChangeNotificationDestroy
Icmp6CreateFile
Icmp6SendEcho2
[icmp6 sum ok] 
IcmpCloseHandle
IcmpCreateFile
IcmpSendEcho
iColumnWW
IComponentConnector
IconData
icon.ico
IconSize
IContainer
iCServerFileNamePacker
ID3DXEffectCompiler: Assignment cannot be a structure
ID3DXEffectCompiler: Compilation failed
ID3DXEffectCompiler::CompileEffect: Could not compile expression containing shader array
ID3DXEffectCompiler::CompileEffect: Only 1-d shader arrays allowed
ID3DXEffectCompiler::CompileEffect: Shader arrays index was not float or int
ID3DXEffectCompiler::CompileEffect: Shader arrays must be a previously defined parameter
ID3DXEffectCompiler::CompileEffect: There was an error compiling expression
ID3DXEffectCompiler::CompileEffect: There was an error compiling HLL shader parameter
ID3DXEffectCompiler::CompileEffect: Unrecognized value type
ID3DXEffectCompiler: DMAPOFFSET sampler state can only be used with D3DDMAPSAMPLER (i.e. sampler index 256)
ID3DXEffectCompiler: Error initializing annotation type
ID3DXEffectCompiler: Error initializing assignment type
ID3DXEffectCompiler: Error initializing variable type
ID3DXEffectCompiler: Error in type checking
ID3DXEffectCompiler: FVFs must not evaluate to NULL
ID3DXEffectCompiler: Initializer list elements cannot be complex expressions or variables
ID3DXEffectCompiler: Initializers must be numeric scalars
ID3DXEffectCompiler: Internal error initializing assignment - missing type case
ID3DXEffectCompiler: Only numeric types and strings are allowed as annotations
ID3DXEffectCompiler: Only numeric types are allowed inside structures
ID3DXEffectCompiler: Only pass allowed within a technique
ID3DXEffectCompiler: There was an error initializing parameter annotation handles
ID3DXEffectCompiler: There was an error initializing parameter handles
ID3DXEffectCompiler: There was an error initializing pass annotation handles
ID3DXEffectCompiler: There was an error initializing technique annotation handles
ID3DXEffectCompiler: There was an error initializing the compiler
ID3DXEffectCompiler: There was an unexpected error in the parse tree
ID3DXEffectCompiler: There was a problem getting annotations
ID3DXEffectCompiler: There was a problem getting variable type
ID3DXEffectCompiler: There was a problem in the parse tree
ID3DXEffectCompiler: There were no techniques
ID3DXEffectCompiler: Unexpected component type
ID3DXEffectCompiler: Unexpected error
ID3DXEffectCompiler: Unexpected node encountered when trying to determine type
ID3DXEffectCompiler: Unexpected template type
ID3DXEffectCompiler: Unsupported sampler or stateblock expression (static usage not supported).
identifier removed
identity
IdentityChange
IdentityHash
IDictionary
IDisplayInformation::get_NativeOrientation returned an unexpected orientation.
IDisplayPropertiesStatics::get_CurrentOrientation returned an unexpected orientation.
IDisposable
idleDuration
IdleTimer
Id  Name                        Interval  Min      Max
IdnToAscii
IdnToNameprepUnicode
IdnToUnicode
idpr-cmtp
IDriveCollection
IDriveWW
IEEE 1394
IEEE1905.1
IEEE 802.1 Private
IEEE 802.1X Authentication failed
IEEE 802.3 Private
IeeeeeeeeeB@@@@E
i??ehggTw
IEnumerable
IEnumerator
iertutil.dll
.if7p7p7p7Bi7p
IFileCollectionWl
IFileSystemW
IFileWWWl
      if not errorlevel 0 (
IFormatProvider
IFR_OVERRIDE
IFR_VERIFY
IfsUtil.dll
    If there is an equal sign on the same line as a left square bracket
ifZHD7**
Igeneric
IGMP snooping
ignoredReason
IgnoreHeartbeat
IGNORE_HR
IgnoreReasonsForRestart
ignore-zeros
IHD8JHtHL
IHeadTrackerSystem::StopTracking failed during Spectrum shutdown
IHost_ClassWH
I!_(I!_0I
.i.iBiBiB
IIDFromString
I!I I!I(H
iiiit D;
*iIK(auX'
IImmersiveShellBuilder::CreateImmersiveShellController failed
IImmersiveShellController::Start failed
IImmersiveShellController::Stop failed
IIMOfferRA InterfaceWW
IIMRequestRA Interface
i	?Initialize@HWNDHost@DirectUI@@QEAAJIIPEAVElement@2@PEAK@Z
[IIZYHHRVFF;RCC
ikev2_auth
ikev2_init
Ikrrnnnnn
Il?333333c?
illegal byte sequence
IllegalCommandCount
Illegal command line
	    (illegal length)
	      (illegal prefix length)
	    (illegal prefix length)
Im0DIg5PH
imageCubeArray
ImageDirectoryEntryToData
ImageDirectoryEntryToDataEx
ImagehlpApiVersionEx
imagehlp.dll
imageIdentifier
imagelessFramebuffer
ImageList_Add
ImageList_AddMasked
ImageList_CoCreateInstance
ImageList_Create
ImageList_Destroy
ImageList_Draw
ImageList_DrawEx
ImageList_GetIcon
ImageList_LoadImageW
ImageList_Remove
ImageList_ReplaceIcon
ImageList_SetBkColor
ImageLoad
imageName
ImageName
__ImagePolicyMetadata
imageSize
IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT
IMAGE_TILING_LINEAR
IMAGE_TILING_OPTIMAL
ImageUnload
IMAGE_USAGE_COLOR_ATTACHMENT_BIT
IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT
IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
IMAGE_USAGE_INPUT_ATTACHMENT_BIT
IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI
IMAGE_USAGE_SAMPLED_BIT
IMAGE_USAGE_STORAGE_BIT
IMAGE_USAGE_TRANSFER_DST_BIT
IMAGE_USAGE_TRANSFER_SRC_BIT
IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT
IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR
IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR
imageView2DOn3DImage
imageViewFormatReinterpretation
imageViewFormatSwizzle
imaginary square root
imimTSTqt
IMM32.dll
ImmDisableIME
ImmDisableLegacyIME
ImmWorker
IMOfferRA ClassWWW
IMOfferRAWWW
ImpersonateLoggedOnUser
ImpersonateSelf
implementationAcid
implementation version
implementationVersion
implicitly 
ImportMitigation
Impossible case
IMRequestRA ClassW
IMRequestRAW
IMSTSWebProxy2 InterfaceWW
IMSTSWebProxy2WW
IMSTSWebProxy3 InterfaceWW
IMSTSWebProxy4 InterfaceWW
IMSTSWebProxy4WW
IMSTSWebProxy InterfaceWWW
Inactive
inapplicableReason
inappropriate io control operation
include interface required to support #include from resource or memory
incompatible version
Incomplete
INCOMPLETE
Incomplete arguments.
Inconsistent HR
Inconsistent HR appnames
Inconsistent state data size in wnf_query
InCoreDenyList
incorrect number of arguments to numeric-type constructor
?_Incref@facet@locale@std@@UEAAXXZ
indefinite acos
indefinite arccosine
indefinite arcsine
indefinite asin
indefinite logarithm
indefinite power
    Indentation is used to indicate the tree structure of registry keys
InDenyList
independentBlend
independentResolve
independentResolveNone
IndexAllFiles
IndexCsmFullDriveIndexing
INDEXEDVERTEXBLENDENABLE
IndexEfsCertificateMapFail
IndexEfsCertificateUnavailableFail
IndexEfsSuccess
IndexerDisabledByPolicy
IndexerPolicyChange
IndexerPushApiDocumentsAddedByPackage
IndexerPushApiTotalDocumentsAdded
IndexerRebuildOnVersion
IndexerRebuildOnVersionLegacy
IndexerXmlHandlerDocumentsAddedByPackage
IndexerXmlHandlerTotalDocumentsAdded
IndexingUpdatingSchemaOnBoot
?IndexOfAny@String@UnBCL@@QEBAHPEBGHH@Z
?IndexOfAny@String@UnBCL@@QEBAHPEBGH@Z
?IndexOfAny@String@UnBCL@@QEBAHPEBG@Z
?IndexOfAny@String@UnBCL@@SAHPEBG0HH@Z
Index of element to insert exceeds the number of elements.
?IndexOfEndOfLongPrefix@Path@UnBCL@@SAHPEBVString@2@@Z
?IndexOf@String@UnBCL@@QEBAHGH@Z
?IndexOf@String@UnBCL@@QEBAHG@Z
?IndexOf@String@UnBCL@@QEBAHPEBGH@Z
?IndexOf@String@UnBCL@@QEBAHPEBG@Z
Index out of bound.
IndexScopeCustomization
IndexSetupFailures
IndexShutdownStatus
indexTypeUint8
IndexWWW
IND)ind)
Individual
In Established State
I_NetServerSetServiceBits
InfDateAndVersion
infinity
InfInstaller
InfInstallerExe
InflateRect
                   in float2 Tex : TEXCOORD0 )
   in float4 Diffuse : COLOR0 
Infoblox Inc
INFO: cannot allocate memory for error string
INFO: D3DQUERYTYPE_EVENT not available!
INFO: DwmpRestartComposition() did not return OK!
InfoMakeCompat
Info Message
information
Information
information reply
information request
InformationSet
INFO: Skippin memory limit checks...
INFO: The axe results path environment variable is not set. Assuming we aren't running under AXE.
InfraredStartupPhase
Ingestion
Ingress Replication
inheritance
inheritedConditionalRendering
inheritedQueries
InitAdapter
?Init@CHString@@IEAAXXZ
InitCommonControlsEx
InitCommonControls failed for ICC_LINK_CLASS
initcookie
?Init@CPublishWMIOperationEvent@@SAJXZ
?Init@CVar@@AEAAXXZ
InitDone
)	?Init@ElementProvider@DirectUI@@MEAAJPEAVElement@2@PEAVInvokeHelper@2@@Z
initEvent
initEventId
InitFailed
InitGadgets
InitialChangeSharingModeFailed
initial_contact
INITIAL-CONTACT
initialDelay
initialFrameAcquired
initialGravityAcquired
InitialHeartbeat
Initialization
InitializationComplete
InitializationId
initializationMutex
initializationMutexReleased
Initialization of base CTSObject failed!
Initialization of legacy API wrapper failed!
Initialize
InitializeAcl
?Initialize@ARGUMENT_LEXEMIZER@@QEAAEPEAVARRAY@@@Z
InitializeArray
?Initialize@ARRAY@@QEAAEKK@Z
InitializeCaps failed
?Initialize@CGlobalResource@@QEAAJXZ
InitializeClaimDictionary
?Initialize@CLASS_DESCRIPTOR@@QEAAEPEBD@Z
InitializeCOM
InitializeComponent
InitializeConditionVariable
InitializeCoreApplicationViewInternal()
.#Initialize CRailOrderEncoder failed
InitializeCriticalSection
InitializeCriticalSectionAndSpinCount
InitializeCriticalSectionEx
?Initialize@CUnk@@UEAAHXZ
?Initialize@CVdsAsyncObjectBase@@SAKXZ
?Initialize@CVdsPnPNotificationBase@@QEAAKXZ
initializedSettings
InitializeEmulateOnlyClient
InitializeEnclave
InitializeETWSession
InitializeEveryoneSecurityDescriptor()
Initialize  failed
Initialize failed
Initialize failed!
Initialize failed.
Initialize failed for CRASH_DUMP_ENABLED_NEW
Initialize failed for CRASH_DUMP_ENABLED_OLD
Initialize failed for SUBKEY_CRASH_CONTROL
Initialize(FEATURES_DEFAULT) failed!
?Initialize@FLAG_ARGUMENT@@QEAAEPEAD@Z
?Initialize@FLAG_ARGUMENT@@QEAAEPEAVWSTRING@@@Z
InitializeForReuse failed!
InitializeFromMoniker failed!
?Initialize@FSN_FILTER@@QEAAEXZ
?Initialize@FSTRING@@QEAAPEAVWSTRING@@PEAGK@Z
InitializeHintRpcServer()
InitializeIgnoreLocalCompartmentChangeTimer failed
InitializeInstance failed!
InitializeJetInstance
?Initialize@KEYBOARD@@QEAAEEE@Z
InitializeLoaderDllForProcess
InitializeLocalHtmlEngine
InitializeLogTiming
?Initialize@LONG_ARGUMENT@@QEAAEPEAD@Z
InitializeMRTResourceManager
?Initialize@MULTIPLE_PATH_ARGUMENT@@QEAAEPEADEE@Z
_initialize_narrow_environment
InitializeNirvanaClient
_initialize_onexit_table
InitializeParents()
?Initialize@PATH_ARGUMENT@@QEAAEPEADE@Z
?Initialize@PATH@@QEAAEPEBGE@Z
?Initialize@PATH@@QEAAEPEBV1@E@Z
?Initialize@PATH@@QEAAEPEBVWSTRING@@E@Z
InitializePendingCompartmentInfoTimer failed
InitializePenInjection failed!
InitializePlatformLibrary
InitializePointerDeviceInjection
InitializePrintProvidor
?Initialize@PRINT_STREAM@@QEAAEPEBVPATH@@@Z
InitializeProcThreadAttributeList
?Initialize@PROGRAM@@QEAAEKKK@Z
initializer
Initialize rail channel failed
InitializeReconnectConfiguration failed
InitializeRecorderParameters
InitializeRundownProtection
InitializeSecurityDescriptor
InitializeSecurityDescriptorHelper
InitializeSid
InitializeSListHead
InitializeSRWLock
InitializeStateSeparation
?Initialize@STREAM_MESSAGE@@QEAAEPEAVSTREAM@@00@Z
?Initialize@STRING_ARGUMENT@@QEAAEPEAD@Z
?Initialize@STRING_ARRAY@@QEAAEKKK@Z
?Initialize@TIMEINFO_ARGUMENT@@QEAAEPEAD@Z
?Initialize@TIMEINFO@@QEAAXPEBV1@@Z
InitializeTouchInjection
InitializeTouchInjectionInternal failed!
InitializeUpdateNotificationMgrTask
InitializeVAILContainerPhase1
InitializeWebPlatformAccessibilityRoot( uiaWrapper.Get())
InitializeWebUIApplication()
_initialize_wide_environment
InitializeWindowContextWebInstanceThreadingHelper()
InitializeWinEventHooks() failed
InitializeWorkspaceObject for Workspace Runtime failed
InitializeWorkspaceRuntimeObject failed
InitializeWorkspaceSubscriptionW
InitializeWorkspaceTabled
InitializeWorkspaceTableInner failed
?Initialize@WSTRING@@QEAAEPEBDK@Z
?Initialize@WSTRING@@QEAAEPEBGK@Z
?Initialize@WSTRING@@QEAAEPEBV1@KK@Z
InitializeXamlCustomResourceLoader
InitializeXamlRuntime
Initializing
InitializingEngine
InitializingIptControl
InitializingSelectiveRecording
InitializingThreadInfoStructures
InitializingTraceFileWriter
InitializingVcpu
InitialRebase
InitialSharingMode
initial value
initialValues
InitiateLock
InitiateMgmtRefresh
InitiateRAReverseConnectionW
InitiateReboot
InitiateShutdownW
InitiateSystemShutdownExW
InitiateTierProcessingStart
Initiating live report flush
InitiatingReboot
InitInstance
?InitInternPool@String@UnBCL@@KAXXZ
INITKDBG
?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z
InitNewTaskDlg
InitOnceBeginInitialize
InitOnceComplete
InitOnceExecuteOnce
InitOnceExecuteOnce() failed
InitOnceInitialize
InitProcessPriv
InitPropVariantFromFileTimeEx
InitPropVariantFromSystemTimeEx
:	?Init@ProviderProxy@DirectUI@@MEAAXPEAVElement@2@@Z
InitRPfromBackup
InitRPFromSnapshot
InitSecurity failed!
InitStarted
_initterm
?InitTerm@Allocator@UnBCL@@SAXH@Z
_initterm_e
InitThread
InitVariantFromBuffer
_InitWbengine
InitWorkspaceAdvise failed
InitWudfDriverManagerRuntime
Injection by thread didn't reach the initialization function.
Injection by thread failed. Guest is no longer reachable.
Injection by thread is complete.
Injection by thread is not available for this process' architecture on this OS.
InjectionCount
InjectLocation failed!
InjectOnly
InjectPointerInput
InjectProtocolPenFrame failed!
InjectProtocolTouchFrame failed!
InjectThread
InjectTouchInput
InjectXToken
InkingTypingAndSpeechUtterance
inlineUniformBlock
[-i n] [-o outputWidth]
In OpenConfirm State
In OpenSent State
InProcRegisterProcess
InProcUnregisterProcess
Input HWND parameter is NULL
InputInjector
InputInjector_CreateInstance failed!
InputInjector::Initialize failed!
Input PStream reader or IStream is invalide.
Input PT malformed
Input string too long
insecure
InSendMessage
?InsertAfter@XmlNode@UnBCL@@QEAAPEAV12@PEAV12@0@Z
?InsertAt@CFlexArray@@QEAAHHPEAX@Z
?InsertAt@CHPtrArray@@QEAAXHPEAV1@@Z
?InsertAt@CHPtrArray@@QEAAXHPEAXH@Z
?InsertAt@CHStringArray@@QEAAXHPEAV1@@Z
?InsertAt@CHStringArray@@QEAAXHPEBGH@Z
?InsertBefore@XmlNode@UnBCL@@QEAAPEAV12@PEAV12@0@Z
?Insert@CRtlMap@@QEAAHAEAVCRtlEntry@@0@Z
	?Insert@Element@DirectUI@@QEAAJPEAV12@I@Z
	?Insert@Element@DirectUI@@UEAAJPEAPEAV12@II@Z
InsertErrorInfo failed
InsertEventRecord
?InsertHeadPointer@CRtlList@@QEAAHPEAX@Z
InsertMenuItem failed
InsertMenuItemW
InsertMenuW
?Insert@MutableString@UnBCL@@QEAAXHPEBGH@Z
InsertProducers
?Insert@String@UnBCL@@QEBAPEAV12@HPEBG@Z
InsertTagInfo
?InsertTailPointer@CRtlList@@QEAAHPEAX@Z
?InsertUnique@CRtlMap@@QEAAHAEAVCRtlEntry@@0@Z
-i n specifies the display indentation multiple.  Default is 4
InspectableArrayProperty
InspectableProperty
	Install
InstallActivity
InstallColorProfileW
installCommitfailedtime
Installed and Built-in Providers:
InstalledRuntime
installedUpdateList
installElapsedTime
InstallerServiceName
Install finished
InstallLayoutOrTip
Install not needed
InstallOfflineScan
InstallPrinterDriverFromPackageW
installRebootinitiatetime
installRiskLevel
installUpdateList
InstallUpdatesActivity
Install was outside maintenance window by default
_instance
Instance
INSTANCECHECK
instanceCount
Instance ID
Instance Layers
InstanceName
	-instancename		 - Specifies a name to uniquely identify the tracing instance. 
	-instancename		Specifies a name to uniquely identify the tracing instance.  Useful when managing multiple concurrent wpr sessions. Must be last parameter.
instruction coissue is not supported in this shader version
instruction predication is not supported in this shader version
insufficient buffer is ok
Insufficient buffer to prefix string.
insufficient memory
insufficient number of signature verification parameters
insufficient space in buffer to hold the device instance string - internal error.
__int128
Int16ArrayProperty
Int16Property
Int32ArrayProperty
Int32Property
Int64ArrayProperty
__int64 __cdecl UnBCL::FileStream::get_Length(void) const
__int64 __cdecl UnBCL::FileStream::get_Position(void) const
__int64 __cdecl UnBCL::MemoryStream::get_Length(void) const
__int64 __cdecl UnBCL::MemoryStream::get_Position(void) const
Int64Property
int __cdecl UnBCL::ASCIIEncoding::GetMaxByteCount(int) const
int __cdecl UnBCL::Directory::IsDirectoryEmpty(const class UnBCL::String *)
int __cdecl UnBCL::Encoding::GetByteCount(const class UnBCL::String *) const
int __cdecl UnBCL::Int32Ops::Parse(const unsigned short *)
int __cdecl UnBCL::MemoryStream::get_Capacity(void) const
int __cdecl UnBCL::Object::CompareTo(const class UnBCL::Object *) const
int __cdecl UnBCL::Path::GetRootLength(const class UnBCL::String *)
int __cdecl UnBCL::Path::IndexOfEndOfLongPrefix(const class UnBCL::String *)
int __cdecl UnBCL::SerializationStream::WritePhantomObject(const class UnBCL::Object *)
int __cdecl UnBCL::String::CountChars(const unsigned short *)
int __cdecl UnBCL::UnicodeEncoding::GetMaxByteCount(int) const
integer constant
integerDotProduct16BitMixedSignednessAccelerated
integerDotProduct16BitSignedAccelerated
integerDotProduct16BitUnsignedAccelerated
integerDotProduct32BitMixedSignednessAccelerated
integerDotProduct32BitSignedAccelerated
integerDotProduct32BitUnsignedAccelerated
integerDotProduct4x8BitPackedMixedSignednessAccelerated
integerDotProduct4x8BitPackedSignedAccelerated
integerDotProduct4x8BitPackedUnsignedAccelerated
integerDotProduct64BitMixedSignednessAccelerated
integerDotProduct64BitSignedAccelerated
integerDotProduct64BitUnsignedAccelerated
integerDotProduct8BitMixedSignednessAccelerated
integerDotProduct8BitSignedAccelerated
integerDotProduct8BitUnsignedAccelerated
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating16BitSignedAccelerated
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating32BitSignedAccelerated
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating64BitSignedAccelerated
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
integerDotProductAccumulatingSaturating8BitSignedAccelerated
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
IntegratorReportId
Intel Corporation0
Intel Corporation1
IntelligentUif
Interact
interactive
Interactive
InteractiveConsoleComplete
InteractiveConsoleStart
interactiveMode
interactiveOneshotupdate
InteractiveW
Inter-AS I-PMSI
InterestsAndFavorites
                    interest. This number can be determined by running
Interface alias
interfaceClassGuid
InterfaceClassGuid
interface-ID
Interface Index
Interface name
Interface Name
InterleavingManager::InterleavingManager() : Invalid parameters.
InterlockedFlushSList
InterlockedPopEntrySList
InterlockedPushEntrySList
internal
internal_address_failure
internal error: arguments not vectorized
Internal error: Client process was not retrieved properly
internal error: component out of range
internal error: DST test failure
internal error: endif mismatch
internal error: expression expected
internal error: if block with non matching predicates found
internal error: IF with size greater then 1 found
internal error: illformed write field
internal error: input register missing semantic
internal error: InputRemap component matchup failed
internal error: instruction missing outputs
internal error: instruction size mismatch
internal error: invalid swizzle found
internal error: l-value expected
internal error: malformed clip found
internal error: multiple breaks found
internal error: multiple write to same output
internal error: next match table entry index is negative
internal error: non-vectorized pool violated port constraints
internal error: no profile exists for this pixel shader version
internal error: no profile exists for this shader version
internal error: no profile exists for this vertex shader version
internal error: out of memory
internal error: output register missing semantic
internal error: overlapping output writes
internal error: production failed
internal error: production failed!
internal error: result register invalid
internal error: result violated port constraints
internal error: scope missing
internal error: scope underflow
internal error: stack underflow
internal error: texld alias found
internal error: unexpected Alias on texture declaration
internal error: unexpected argument type
internal error: unexpected endif found
internal error: unexpected input register type
internal error: unexpected output register
internal error: unexpected output register type
internal error: unhandled production
internal error: unknown node
internal error: unrecognized expression
internal error: unrecognized statement
internal error: unrecognized value
internal error: unvectorized register found
internal error: uppropagation failed
internal error: write to output with instruction other than mov
?InternalFree@HeapMemoryManager@UnBCL@@AEAAXPEAX@Z
InternalGetWindowText
InternalName
InternalPreSetProperty failed
?InternalQueryInterface@CUnkInternal@@QEAAJAEBU_GUID@@PEAPEAX@Z
?InternalRelease@CUnkInternal@@QEAAKXZ
InternalRPCActivity
InternalSign failed
InternalsVisibleToAttribute
?InternalValidate@HeapMemoryManager@UnBCL@@AEAAXPEAX@Z
internal warning: optimization did not converge
InternetCanonicalizeUrlW
InternetCloseHandle
InternetCombineUrlW
InternetConnection
InternetConnectW
InternetCrackUrlW
InternetCreateUrlW
internet_explorer
InternetGetCookie failed
InternetGetCookieW
InternetOpenW
InternetQueryDataAvailable
InternetQueryOptionW
InternetReadFile
InternetSetCookieEx2
InternetSetOptionW
InternetSetStatusCallbackW
?Intern@String@UnBCL@@SAPEBV12@PEBV12@@Z
InterpretDslHealthLog
InterpretEventLog
InterpretRawXml
interrupted
Intersect
IntersectClipRect
IntersectRect
intervalInSeconds
 in the store
Intra-AS I-PMSI
Intra-AS Segment-Leaf
int_value
 (invalid)
 invalid
Invalid Action Value
invalid arg ppWudfIrp
Invalid args
invalid argument
invalid_argument
Invalid argument
;Invalid argument count. Possibly missing an agrument value.
Invalid argument format.
Invalid argument to --gid
Invalid argument to --strip-components
Invalid argument to --uid
InvalidateDiskCache
InvalidateGadget
InvalidateLayeredDescendants
InvalidateMsaTokenCache
InvalidateRect
InvalidateRgn
Invalid buffer
Invalid Capability Length
Invalid card module name from SCardGetCardTypeProviderNameW
Invalid card name buffer from SCardListCardsW
INVALID-CERT-AUTHORITY
INVALID-CERT-ENCODING
INVALID-CERTIFICATE
INVALID code
Invalid command line params
Invalid commandline passed
Invalid command lines passed
invalid complement expression
Invalid component ID.
INVALID-COOKIE
InvalidDataException
Invalid data in TLS
Invalid device instance string
InvalidDeviceRequest
InvalidDir
Invalid DLL Name
Invalid DLL Name.
Invalid DLL Path
INVALID-EXCHANGE-TYPE
Invalid EXpsFontOptions option
INVALID-FLAGS
Invalid handle passed to InstallCallback
INVALID_HANDLE_VALUE
invalid hash bucket count
INVALID-HASH-INFORMATION
[Invalid header:
INVALID-ID-INFORMATION
invalid_ike_spi
Invalid image path.
Invalid index for GetContext
Invalid index for SetContext
Invalid index into m_pDriverAndFxInfo
Invalid Information Element
Invalid initiating process id was passed
Invalid integer
Invalid interleaving mode
Invalid interleaving pice size. Must be less than 0x20000
Invalid IStream pointer or cbWritten buffer.
invalid_ke_payload
INVALID-KEY-INFORMATION
Invalid launch type passed
invalid len
invalid length of signature field
invalid_major_version
INVALID-MAJOR-VERSION
Invalid MaxPSASize (0)
invalid_message_id
INVALID-MESSAGE-ID
INVALID-MINOR-VERSION
Invalid MSTSC Location passed in!
Invalid Network Field
Invalid NEXT_HOP Attribute
Invalid number of command line params passed
 [invalid number of groups]
 [invalid number of sources]
Invalid operation
Invalid operation: doesn't support cancel
InvalidOperationException
Invalid ORIGIN Attribute
Invalid or out of range (1..8192) argument to -b
invalid or unsupported integer constant expression
InvalidPackageExtension
InvalidPages
_invalid_parameter
_invalid_parameter_noinfo
_invalid_parameter_noinfo_noreturn
Invalid parameter - package missing
Invalid parameter passed to C runtime function.
Invalid params
Invalid parsing of module name
Invalid partition table
Invalid path
Invalid path.
InvalidPath
?INVALID_PATH_CHARS@Path@UnBCL@@0VString@2@B
Invalid path provided to prefix.
INVALID-PAYLOAD-TYPE
Invalid pbip parameter - should be between 0 and 100
Invalid PEB address.
Invalid pointer ppvObject
Invalid printer handle.
Invalid process id was passed
INVALID-PROTOCOL-ID
invalid random_device value
Invalid RSN IE Capabilities
 invalid sack
invalid seek
invalid_selectors
Invalid SID data in ProcessStart info buffer
INVALID-SIGNATURE
invalid signature type
invalid signature version
Invalid size on PDU data
Invalid size passed in section
invalid_spi
INVALID-SPI
invalid stod argument
invalid stoi argument
invalid stoll argument
invalid stoul argument
invalid stoull argument
Invalid String for Process Parameter.
.invalid string position
invalid string position
invalid string_view position
InvalidSyncGIdErrorHresult
invalid_syntax
INVALID-TRANSFORM-ID
Invalid type of Irp passed to USB dispatcher
Invalid U1DeviceExitLatency
Invalid U2DeviceExitLatency
Invalid USB SS idle callback reply ID!
invalid vector subscript
INVBLENDFACTOR
INVDESTALPHA
INVDESTCOLOR
Inventory
Inventory - asset ID
Inventory - firmware revision
Inventory - hardware revision
Inventory - manufacturer name
Inventory - model name
Inventory - serial number
Inventory - software revision
inverse neighbor advertisement
inverse neighbor solicitation
Inverse Reply
Inverse Request
invisible
Invitation could not be revoked
Invitation.msrcincident
invlaid size for new_size
InvokeClose
InvokeDefaultBrowserSearch
InvokeDefaultBrowserSearchCallback
Invoked Notification Dialog
InvokeNewTask
InvokeNoArgs
?InvokeOOMHandler@Allocator@UnBCL@@SAX_K@Z
	?InvokePattern@Schema@DirectUI@@2HA
InvokeSetMiddleLabelText
INVSRCALPHA
INVSRCCOLOR
InvStrCmpW
IoAllocateIrp
IoAllocateWorkItem
__iob_func
IoBuildDeviceIoControlRequest
IoCreateDevice
ioctlRequest
IOCTL_STORAGE_BASE
IOCTL_STORAGE_DIAGNOSTIC
IoDeleteDevice
io error
IOException
IofCallDriver
IofCompleteRequest
IoGetDeviceObjectPointer
IOModeWW
iOnAuthenticatedW
IoQueueWorkItem
IoQueueWorkItemEx
IoRecord
IoRegisterPlugPlayNotification
IoReuseIrp
ios_base::badbit set
ios_base::eofbit set
ios_base::failbit set
IoSb.Status
IoStatusBlock.Status
iostream
iostream stream error
IoUnregisterPlugPlayNotificationEx
@	IovFa?
IoWMIRegistrationControl
ipcomp_supported
IPHLPAPI.DLL
 (ipip-proto-4)
IP layer 2 transport
ip reassembly time exceeded
ipsec-ah
ipsec-esp
IPSECKEY
IPv4range
IPv6 Extended Community
ipv6-frag
ipv6-icmp
ipv6-nonxt
ipv6-opts
IPv6range
ipv6-route
ipx-in-ip
I_QueryTagInformation
IRASMapi Interface
IRASrv InterfaceWW
IRASrvWWd
IRDPCoreVirtualChannel::Open failed!
IRDPCoreVirtualChannel::Write failed!
IRDPSRAPISharingSession::Close failed!
IRDPSRAPISharingSession::Open failed!
I_RegisterSvchostNotificationCallback
IRemoteAppPrivilegedOperationBroker::SetWindowCloaked failed
IRemoteAppPrivilegedOperationBroker::SetWindowSnapArrangement failed
IRemoteAssistance InterfaceWWW
IRemoteAssistanceWWW
IRendezvousApplicationWW 
I_RpcAllocate
I_RpcBindingInqLocalClientPID
I_RpcBindingInqTransportType
I_RpcBindingIsClientLocal
I_RpcCertProcessAndProvision
I_RpcExceptionFilter
I_RpcFree
I_RpcMapWin32Status
I_RpcOpenClientProcess
I_RpcServerDisableExceptionFilter
I_RpcServerTurnOnOffKeepalives
I_RpcSessionStrictContextHandle
irY	SMsc
Is3DPrinter() failed.
IsAadAuthUrl
isAADJMachineManaged
isAADJUserManaged
isAadUser
IsAborted()
IsAccountPasswordless
IsActiveAutoTriggerConnection
IsActiveAutoTriggerConnectionEx
is a directory
isakmp-nat-keep-alive
isakmp_rfc3948
isAllowed
IsAllowed
IsAllZero
IsAlreadyRunning
isAlreadyStarted
IsAMServiceEnabled
IsAppThemed
__isascii
IsAsDisableByPolicy
isAssessmentBlocked
isAutoAadConnectEnabled
IsAvDisableByPolicy
isBackedOff
	IsBackground
IsBackupEnabled
_IsBackupOnTarget
IsBackupTaskDisabled
IsBadReadPtr
IsBadWritePtr
ISbdbdbdSdSb
IsBeginningOfYear
isBestNodeUnknown
IsBitlockerResealNeeded
isBootDiag
!IsBuilt()
isCancelled
?IsCancelRequested@CVdsAsyncObjectBase@@QEAAHXZ
isCandidateUser
IsCatalogFile
IsCfaByPolicy
IsCfaEnabled
IsCharAlphaNumericW
IsClientAccessAllowed failed
IsClientSKU
IsClipboardFormatAvailable
IsCloudByPolicy
IsCloudEnabled
IsCommandHidden(pCommand)
!_isCompactForm
isConfigured
isConsoleTerminal
	?IsContentElementProperty@Schema@DirectUI@@2HA
	?IsContentProtected@Element@DirectUI@@UEAA_NXZ
	?IsControlElementProperty@Schema@DirectUI@@2HA
I_ScRegisterDeviceNotification
IScriptedDiagnosticHostWd
IScriptedDiagnosticInteractionWW
isCritical
IsCritical
I_ScRpcBindA
I_ScRpcBindW
I_ScSendTSMessage
isCtrlPrtScnUpdated
I_ScUnregisterDeviceNotification
?_IsCurrentOriginSTA@_ContextCallback@details@Concurrency@@CA_NXZ
IsDBCSLeadByte
ISdbd*dbSSSSSISIS
ISDChangeObj Interface
isDebuggerEnabled
IsDebuggerPresent
IsDebugModeEnabled
isDefault
IsDefaultPKey
IsDefaultWorkspace failed
IsDefenderAsDisabled
IsDefenderAvDisabled
isDelayIncremented
	?IsDescendent@Element@DirectUI@@QEAA_NPEAV12@@Z
	?IsDestroyed@Element@DirectUI@@QEAA_NXZ
IsDeveloperModeEnabled
IsDeveloperModePolicyApplied
IsDeviceTrusted
isDiagnostic
IsDiagnosticDataAvailable
IsDialogMessageW
?IsDirectoryEmpty@Directory@UnBCL@@SAHPEBVString@2@@Z
?IsDirectorySeparator@Path@UnBCL@@SAHG@Z
IsDiscontinuous
IsDiskClustered
IsDiskCurrentStateReadOnly
IsDiskReadOnly
IsDlgButtonChecked
isDocument
isDomainJoinedManaged
isDomainUser
      is done as a defence-in-depth approach to closing a known UAC
IsDriveLetter
?IsDriveLetterOrUncPrefix@Path@UnBCL@@SAHPEBG@Z
?IsDriveLetterOrUncPrefix@Path@UnBCL@@SAHPEBVString@2@@Z
?IsDriveLetterPrefix@Path@UnBCL@@SAHPEBG@Z
?IsDriveLetterPrefix@Path@UnBCL@@SAHPEBVString@2@@Z
isDriverDiag
?IsDriveTypeHDD@HardDiskInfoCollector@StorageCollector@@SA_NXZ
isDtuApplicable
isDTUEnabled
ISECommandLineParser
IsEfiFirmware
?IsEmpty@CHString@@QEBAHXZ
?IsEmpty@FSN_DIRECTORY@@QEBAEXZ
IsEnabled
IsEnclaveTypeSupported
isEnterpriseAttributionEnabled
?IsEnvironmentVarSetTrue@Environment@UnBCL@@SAHPEBVString@2@H@Z
IsErrorMessageRegistered
IsErrorPropagationEnabled
IServerVCChannelManager::OpenDynamicChannel failed!
iSetRendezvousSession
isExistingUser
isExternal
isFeatureUpdate
isFeatureUpdatePending
IsFieldValidAndSupported
isfinite
isFirstActivation
isFramed
IsFrameworkInstalled
IsGlobalCatalog()
	?IsGlobal@ClassInfoBase@DirectUI@@UEBA_NXZ
isHeadless
isHealthy
isHolographicDevicePresent
isHolographicSimulationEnabled
isHotKeyLaunched
IsHungAppWindow
IsIconic
IsImageStateComplete
IsImmersiveProcess
IsInAdministratorGroup
isInline
IsInRole
isInteractive
?IsInterned@String@UnBCL@@SAPEBV12@PEBV12@@Z
IsInternetConnected
IsInvalidReport
IsLastMomentOfDay
isLaunching
IsLegacyLanguagePackInstalledForLanguage
IsLegacyStoreUpdated
isLicenseValid
?IsLittleEndian@SerializationStream@UnBCL@@KAHXZ
isLocalAnchor
IsLocalComputer
IsLocalTimeAccurate
isLockDisabled
isLockInitiated
isLockIntant
IsLowPowerKWSOnAC
IsLowPriorityConfiguration
isLowUptimeMachine
IsManagedUser
*isMarkedForDeletion
isMasterBootRecord
_ismbblead
isMDMManaged
IsMidnight
IsMRUEstablished
	?IsMSAAEnabled@HWNDElement@DirectUI@@UEAA_NXZ
IsMultipleDrivers
isMultipleTransition
IsMultipleTransition
IsNarratorAutoLaunchSettingsOn
IsNarratorRunning
IsNewSession
IsNextTransitionAccurate
IsNoAutoMount
isNotAdmin
) is not a valid GPU index. 
isNotificationUxAllowed
IsNotifyLogonSuccess
isNotMultiUserAssignedAccessEnabled
IsNtfsBoot
IsNullOrEmpty
IsNullOrWhiteSpace
Isolated driver: process not new
IsolationAware function called after IsolationAwareCleanup
IsolationModeEnabled
IsolationModeTestConfiguration
IsOneCoreTransformMode
isonsap_string: illegal length
isonsap_string: malloc
IsOsPreRS1
IsOwnProcess
isParameterPresent
?IsPathRooted@Path@UnBCL@@SAHPEBVString@2@@Z
	?IsPatternSupported@ElementProxy@DirectUI@@IEAAJW4Pattern@Schema@2@PEA_N@Z
IsPermanentSummerTime
IsPhoneDevice
ISPPUI InterfaceWW
IsProcessDPIAware
IsProcessInJob
IsProcessInWDAGContainer
IsProcessorFeaturePresent
IsProviderRuntimeRegistered
IsRailAllowed failed
!_isReadInitialized
IsReadyW
IsRectEmpty
IsRemote
isRendererCapable
isResolverShown
isRestart
isRetailDemoManaged
IsRoamingEnabled
IsRootFolder
_IsRPBootVolume
isRpcTransport
IsRpScoped
	?IsRTL@Element@DirectUI@@QEAA_NXZ
	?IsRTLReading@Element@DirectUI@@UEAA_NXZ
IsRtpByPolicy
IsRtpEnabled
                    is run.
IsRunning
IsRunningOnAMD64
IsSafeDocsTaskRunning
IsSampleSubmissionByPolicy
IsSampleSubmissionEnabled
isScanPastSla
isScanPastTriggerSla
isSCCMManaged
IsSchedulerServiceStarted
IsSecureBootBound
IsSecureProcess
isSediment
IsSelectedBySpooler
IsServerOS
_IsServerSku
?IsShortCompliant@Path@UnBCL@@SAHPEBVString@2@H@Z
isSihBlocked
isSilentElevation
isSmartStorageEnabled
IsSREnabled
IS*SSbSS
isStartWaitTask
	?IsSubclassOf@ClassInfoBase@DirectUI@@UEBA_NPEAUIClassInfo@2@@Z
IsSubDesktopSession
IssueDisconnectWX
    is surrounded by quotes.  If the text to the right of the equal sign
IsSvchostProcessMitigationPolicyActive
?IsSystemProcess@ProcessWrap@UDC@@SAHXZ
IsSystemVolumeInClient
_IsSystemVolumeRestorable
_IsTargetPresent
IsTestMode
IsTextUnicode
    is the first non-blank character on a line
IsThemeActive
IsThemeBackgroundPartiallyTransparent
IsThreadAFiber
IsThreadpoolTimerSet
IsTimeZoneRedirectionEnabled
IsTokenMember
?IsTrackingEnabled@HeapMemoryManager@UnBCL@@QEAAHXZ
IStream_Copy
IStream_Read
IStream_ReadStr
IStream_Reset
IStream_Size
IStream_Write
IStream_WriteStr
IsTriggerNotSample
IsTSAppCompatOn
IsTzsyncElevated
IsUIRequestPending
IsUninstallImageValid
isUpgradedInstallation
ISupportInitialize
IsUserAdministrator
IsUserCetAvailableInEnvironment
isUserClicked
isUserPresenceMonitoringEnabled
isUserPresentOnDesktop
IsUserService
	isValid
IsValid()
IsValidAcl
IsValidCodePage
IsValidDumpFile
IsValidFileName failed!
IsValidHdrop failed!
IsValidLocale
IsValidLocaleName
?IsValid@Path@UnBCL@@SAHPEBG@Z
	?IsValidProperty@ClassInfoBase@DirectUI@@UEBA_NPEBUPropertyInfo@2@@Z
IsValidRelativeSecurityDescriptor
IsValidSecurityDescriptor
IsValidSecurityDescriptor((PSECURITY_DESCRIPTOR)sd.GetPSECURITY_DESCRIPTOR())
IsValidSid
!IsValidSid(CurrentSid)
?IsValueSet@ARGUMENT@@QEAAEXZ
IsVdsLoggingEnabled
IsVDSProviderInbox
IsVolumeProtected
IsVolumeWinRe
isWaasMedicBlocked
isWaitMethod
iswalnum
iswalpha
iswascii
iswcntrl
*	iswctype
iswctype
iswdigit
IsWellFormedUriString
IsWellKnownSid
IsWhiteSpace
IsWindow
IsWindowEnabled
IsWindowOnCurrentVirtualDesktop() failed
IsWindowVisible
IsWinReOnSystemPartition
isWinShiftSLaunched
iswlower
IsWorkspaceCredentialSpecified failed
IsWorkspaceCredentialSpecifiedWW
IsWorkspaceSSOEnabled failed
IsWow64Process
IsWow64Process2
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
ISyncControllerLauncher
isZeroExhaustedEnabled
IsZoomed
I;@(t0H;
ItemCount
ItemEnum
ItemFlagsEnum
Iteration
!iteratorErrorInfo.pstrDirectory
ITextStreamW
ITfInputProcessorProfiles::EnableLanguageProfile failed!
ITflangbarmgr::AdviseEventSink failed
ITfLangBarMgr creation failed
ITfLangBarMgr::GetShowFloatingStatus failed
ITfLangBarMgr::ShowFloating failed
ITfThreadMgr creation failed
    It just kept looking on following lines until it found enough data
ITSCoreEventSource::RemoveNotificationSource (m_spMonitorLayoutChangeRequestedEventSource) failed
ITSPlatform::CreateThread failed
ITSPlatform.Initialize failed
ITsRdpSignature::Serialize failed
ITsRdpSignature::SetCertificate failed
ITsRdpSignature::SetUnsignedBlob failed
ITsRdpSignature::Sign failed
ITSRDSettings InterfaceWWW
ITSRDSettingsWWWd
ITSThread::BindThread failed
ITSThread::DestroyThread failed
ITSThread::DestroyThread (m_spDisplayControlProcessThread) failed
ITSThread::ThreadWaitForMultipleObjects failed
_ITSWkspEvents InterfaceWW
_ITSWkspEventsWW
IUiaManagerCrossMachineStubFactory::CreateStub failed
IUMBASE.dll
IUMDATAPROTECT
IumDebugNumToString
IumDebugPrintNt
IumTelemetryProvider
IUnknown_GetWindow
IUnknown_QueryService
IUnknown_Set
IUnknown_SetSite
IUPnPDeviceControlWW
IUPnPEventSinkWW
IUPnPEventSourced
IUPnPRegistrarWW
-i@V4;N3
IVssAdminEx interfaceW
IVssAdmin interfaceWWW
IVssEnumMgmtObject InterfaceWW
IVssEnumObject InterfaceWW
IVssSnapshotMgmt2 interfaceWWW
IVssSnapshotMgmt2WWW
IVssSnapshotMgmtd
IVssSnapshotMgmt interface
IWorkspace2 InterfaceW
IWorkspace3 InterfaceW
IWorkspace3W
IWorkspaceBroker
IWorkspaceBroker2WWW
IWorkspaceClientExt InterfaceW
IWorkspace InterfaceWW
IWorkspaceRegistration2 InterfaceW
IWorkspaceRegistration2W 
IWorkspaceRegistration  InterfaceW
IWorkspaceReportMessage InterfaceW
IWorkspaceReportMessageWL
IWorkspaceScriptable2 InterfaceWWW
IWorkspaceScriptable2WWW
IWorkspaceScriptable3 InterfaceWWW
IWorkspaceScriptable3WWW
IWorkspaceScriptable Interface
IWorkspaceWW
IWpnPlatform::CreateSettingsEndpoint failed
IWpnSettingsEndpoint::ChangeGlobalSetting (SETTING_TOAST) failed
IWSHNamedArgumentsWW
IWSHRemoteErrorWd
IWSHUnnamedArguments_ClassWW
IWTSVirtualChannel::Close (m_spDisplayControlChannel) failed
IWTSVirtualChannel::Close (spNamedPipeChannel) failed
I;	wxE9n
iwXYYayy
IXamlRuntimeStatics::put_EnableWebView failed
IXmlSerializable
iytttZrW
.I zLuJ3
J0kZyW"(
J10u0_#I
J2AJ)3P;
'j4c8Utb
J675be*2
J6TQ6))))4H
J9''!!''9J
 J@(''(AK 
JanFebMarAprMayJunJulAugSepOctNovDec
:Jan:January:Feb:February:Mar:March:Apr:April:May:May:Jun:June:Jul:July:Aug:August:Sep:September:Oct:October:Nov:November:Dec:December
:JaO?2J4
	jCkM3uT
J:cYoUUQ
J;D10t	H
J;D1Du@H
J;D1Lu5H
Jersey City1
JetAttachDatabase2W
JetBeginSessionW
JetBeginTransaction
JetCloseDatabase
JetCloseTable
JetCommitTransaction
JetComputeStats
JetCreateDatabase2W
JetCreateInstance2W
JetCreateTableColumnIndex2W
	jetDBFileName
jetDBFileName
JetDelete
JetDeleteTableW
JetEnableMultiInstanceW
JetEndSession
JET_errAccessDenied
JET_errAfterInitialization
JET_errAlreadyInitialized
JET_errAlreadyPrepared
JET_errAttachedDatabaseMismatch
JET_errBackupDirectoryNotEmpty
JET_errBackupInProgress
JET_errBackupNotAllowedYet
JET_errBadBackupDatabaseSize
JET_errBadBookmark
JET_errBadCheckpointSignature
JET_errBadColumnId
JET_errBadDbSignature
JET_errBadItagSequence
JET_errBadLogSignature
JET_errBadLogVersion
JET_errBadPageLink
JET_errBadParentPageLink
JET_errBadPatchPage
JET_errBadRestoreTargetInstance
JET_errBufferTooSmall
JET_errCallbackFailed
JET_errCallbackNotResolved
JET_errCannotAddFixedVarColumnToDerivedTable
JET_errCannotBeTagged
JET_errCannotDeleteSystemTable
JET_errCannotDeleteTemplateTable
JET_errCannotDeleteTempTable
JET_errCannotDisableVersioning
JET_errCannotIndex
JET_errCannotLogDuringRecoveryRedo
JET_errCannotMaterializeForwardOnlySort
JET_errCannotNestDDL
JET_errCatalogCorrupted
JET_errCheckpointCorrupt
JET_errCheckpointDepthTooDeep
JET_errCheckpointFileNotFound
JET_errClientRequestToStopJetService
JET_errColumnDoesNotFit
JET_errColumnDuplicate
JET_errColumnIndexed
JET_errColumnInRelationship
JET_errColumnInUse
JET_errColumnLong
JET_errColumnNoChunk
JET_errColumnNotFound
JET_errColumnNotUpdatable
JET_errColumnRedundant
JET_errColumnTooBig
JET_errCommittedLogFileCorrupt
JET_errCommittedLogFilesMissing
JET_errConsistentTimeMismatch
JET_errContainerNotEmpty
JET_errDatabase200Format
JET_errDatabase400Format
JET_errDatabase500Format
JET_errDatabaseAlreadyUpgraded
JET_errDatabaseBufferDependenciesCorrupted
JET_errDatabaseCorrupted
JET_errDatabaseCorruptedNoRepair
JET_errDatabaseDirtyShutdown
JET_errDatabaseDuplicate
JET_errDatabaseFileReadOnly
JET_errDatabaseIdInUse
JET_errDatabaseIncompleteUpgrade
JET_errDatabaseInconsistent
JET_errDatabaseInUse
JET_errDatabaseInvalidName
JET_errDatabaseInvalidPages
JET_errDatabaseInvalidPath
JET_errDatabaseLocked
JET_errDatabaseLogSetMismatch
JET_errDatabaseNotFound
JET_errDatabasePatchFileMismatch
JET_errDatabaseSharingViolation
JET_errDatabaseSignInUse
JET_errDatabasesNotFromSameSnapshot
JET_errDatabaseStreamingFileMismatch
JET_errDatabaseUnavailable
JET_errDataHasChanged
JET_errDbTimeCorrupted
JET_errDbTimeTooNew
JET_errDbTimeTooOld
JET_errDDLNotInheritable
JET_errDefaultValueTooBig
JET_errDeleteBackupFileFail
JET_errDensityInvalid
JET_errDerivedColumnCorruption
JET_errDirtyShutdown
JET_errDiskFull
JET_errDiskIO
JET_errEndingRestoreLogTooLow
JET_errEntryPointNotFound
JET_errExclusiveTableLockRequired
JET_errExistingLogFileHasBadSignature
JET_errExistingLogFileIsNotContiguous
JET_errFeatureNotAvailable
JET_errFileAccessDenied
JET_errFileClose
JET_errFileCompressed
JET_errFileInvalidType
JET_errFileIOAbort
JET_errFileIOBeyondEOF
JET_errFileIOFail
JET_errFileIORetry
JET_errFileIOSparse
JET_errFileNotFound
JET_errFixedDDL
JET_errFixedInheritedDDL
JET_errForceDetachNotAllowed
JET_errGivenLogFileHasBadSignature
JET_errGivenLogFileIsNotContiguous
JET_errIllegalOperation
JET_errIndexBuildCorrupted
JET_errIndexCantBuild
JET_errIndexDuplicate
JET_errIndexHasPrimary
JET_errIndexInUse
JET_errIndexInvalidDef
JET_errIndexMustStay
JET_errIndexNotFound
JET_errIndexTuplesCannotRetrieveFromIndex
JET_errIndexTuplesInvalidLimits
JET_errIndexTuplesKeyTooSmall
JET_errIndexTuplesNonUniqueOnly
JET_errIndexTuplesOneColumnOnly
JET_errIndexTuplesSecondaryIndexOnly
JET_errIndexTuplesTextBinaryColumnsOnly
JET_errIndexTuplesTextColumnsOnly
JET_errIndexTuplesTooManyColumns
JET_errIndexTuplesVarSegMacNotAllowed
JET_errInitInProgress
JET_errInstanceNameInUse
JET_errInstanceUnavailable
JET_errInstanceUnavailableDueToFatalLogDiskFull
JET_errInternalError
JET_errInTransaction
JET_errInvalidBackup
JET_errInvalidBackupSequence
JET_errInvalidBookmark
JET_errInvalidBufferSize
JET_errInvalidCodePage
JET_errInvalidColumnType
JET_errInvalidCountry
JET_errInvalidCreateDbVersion
JET_errInvalidCreateIndex
JET_errInvalidDatabase
JET_errInvalidDatabaseId
JET_errInvalidDatabaseVersion
JET_errInvalidFilename
JET_errInvalidGrbit
JET_errInvalidIndexId
JET_errInvalidInstance
JET_errInvalidLanguageId
JET_errInvalidLCMapStringFlags
JET_errInvalidLogDirectory
JET_errInvalidLoggedOperation
JET_errInvalidLogSequence
JET_errInvalidName
JET_errInvalidObject
JET_errInvalidOnSort
JET_errInvalidOperation
JET_errInvalidParameter
JET_errInvalidPath
JET_errInvalidPlaceholderColumn
JET_errInvalidSesid
JET_errInvalidSettings
JET_errInvalidSystemPath
JET_errInvalidTableId
JET_errKeyBoundary
JET_errKeyDuplicate
JET_errKeyIsMade
JET_errKeyNotMade
JET_errKeyTooBig
JET_errKeyTruncated
JET_errLanguageNotSupported
JET_errLinkNotSupported
JET_errLogBufferTooSmall
JET_errLogCorruptDuringHardRecovery
JET_errLogCorruptDuringHardRestore
JET_errLogCorrupted
JET_errLogDisabledDueToRecoveryFailure
JET_errLogDiskFull
JET_errLogFileCorrupt
JET_errLogFileNotCopied
JET_errLogFilePathInUse
JET_errLogFileSizeMismatch
JET_errLogFileSizeMismatchDatabasesConsistent
JET_errLogGenerationMismatch
JET_errLoggingDisabled
JET_errLogReadVerifyFailure
JET_errLogSectorSizeMismatch
JET_errLogSectorSizeMismatchDatabasesConsistent
JET_errLogSequenceEnd
JET_errLogSequenceEndDatabasesConsistent
JET_errLogTornWriteDuringHardRecovery
JET_errLogTornWriteDuringHardRestore
JET_errLogWriteFail
JET_errLSAlreadySet
JET_errLSCallbackNotSpecified
JET_errLSNotSet
JET_errLVCorrupted
JET_errMakeBackupDirectoryFail
JET_errMissingCurrentLogFiles
JET_errMissingFileToBackup
JET_errMissingFullBackup
JET_errMissingLogFile
JET_errMissingPatchPage
JET_errMissingPreviousLogFile
JET_errMissingRestoreLogFiles
JET_errMultiValuedColumnMustBeTagged
JET_errMultiValuedDuplicate
JET_errMultiValuedDuplicateAfterTruncation
JET_errMultiValuedIndexViolation
JET_errMustDisableLoggingForDbUpgrade
JET_errNoBackup
JET_errNoBackupDirectory
JET_errNoCurrentIndex
JET_errNoCurrentRecord
JET_errNotInitialized
JET_errNotInTransaction
JET_errNTSystemCallFailed
JET_errNullInvalid
JET_errNullKeyDisallowed
JET_errObjectDuplicate
JET_errObjectNotFound
JET_errOneDatabasePerSession
jetError
JET_errOSSnapshotInvalidSequence
JET_errOSSnapshotInvalidSnapId
JET_errOSSnapshotNotAllowed
JET_errOSSnapshotTimeOut
JET_errOutOfAutoincrementValues
JET_errOutOfBuffers
JET_errOutOfCursors
JET_errOutOfDatabaseSpace
JET_errOutOfDbtimeValues
JET_errOutOfFileHandles
JET_errOutOfLongValueIDs
JET_errOutOfMemory
JET_errOutOfObjectIDs
JET_errOutOfSequentialIndexValues
JET_errOutOfSessions
JET_errOutOfThreads
JET_errPageBoundary
JET_errPageNotInitialized
JET_errPageSizeMismatch
JET_errPartiallyAttachedDB
JET_errPatchFileMissing
JET_errPermissionDenied
JET_errPreviousVersion
JET_errPrimaryIndexCorrupted
JET_errReadVerifyFailure
JET_errRecordDeleted
JET_errRecordFormatConversionFailed
JET_errRecordNoCopy
JET_errRecordNotDeleted
JET_errRecordNotFound
JET_errRecordPrimaryChanged
JET_errRecordTooBig
JET_errRecordTooBigForBackwardCompatibility
JET_errRecoveredWithErrors
JET_errRecoveredWithoutUndo
JET_errRecoveredWithoutUndoDatabasesConsistent
JET_errRedoAbruptEnded
JET_errRequiredLogFilesMissing
JET_errRestoreInProgress
JET_errRestoreOfNonBackupDatabase
JET_errRfsFailure
JET_errRfsNotArmed
JET_errRollbackError
JET_errRollbackRequired
JET_errRunningInMultiInstanceMode
JET_errRunningInOneInstanceMode
JET_errSecondaryIndexCorrupted
JET_errSectorSizeNotSupported
JET_errSesidTableIdMismatch
JET_errSessionContextAlreadySet
JET_errSessionContextNotSetByThisThread
JET_errSessionInUse
JET_errSessionSharingViolation
JET_errSessionWriteConflict
JET_errSoftRecoveryOnBackupDatabase
JET_errSoftRecoveryOnSnapshot
JET_errSpaceHintsInvalid
JET_errSPAvailExtCacheOutOfMemory
JET_errSPAvailExtCacheOutOfSync
JET_errSPAvailExtCorrupted
JET_errSPOwnExtCorrupted
JET_errStartingRestoreLogTooHigh
JET_errStreamingDataNotLogged
JET_errSuccess
JET_errSystemParamsAlreadySet
JET_errSystemPathInUse
JET_errTableDuplicate
JET_errTableInUse
JET_errTableLocked
JET_errTableNotEmpty
JET_errTaggedNotNULL
JET_errTaskDropped
JET_errTempFileOpenError
JET_errTempPathInUse
JET_errTermInProgress
JET_errTooManyActiveUsers
JET_errTooManyAttachedDatabases
JET_errTooManyColumns
JET_errTooManyIndexes
JET_errTooManyInstances
JET_errTooManyIO
JET_errTooManyKeys
JET_errTooManyMempoolEntries
JET_errTooManyOpenDatabases
JET_errTooManyOpenIndexes
JET_errTooManyOpenTables
JET_errTooManyOpenTablesAndCleanupTimedOut
JET_errTooManySorts
JET_errTooManySplits
JET_errTransReadOnly
JET_errTransTooDeep
JET_errUnicodeNormalizationNotSupported
JET_errUnicodeTranslationBufferTooSmall
JET_errUnicodeTranslationFail
JET_errUpdateNotPrepared
JET_errVersionStoreEntryTooBig
JET_errVersionStoreOutOfMemory
JET_errVersionStoreOutOfMemoryAndCleanupTimedOut
JET_errWriteConflict
JET_errWriteConflictPrimaryIndex
JetGetColumnInfoW
JetGetObjectInfoW
JetInit3W
jetInstanceName
JetMakeKey
JetOpenDatabaseW
JetOpenTableW
JetOpenTempTable
JetPrepareUpdate
JetResetSessionContext
JetRetrieveColumn
JetRetrieveColumns
JetRollback
JetSetColumns
JetSetCurrentIndexW
JetSetSessionContext
JetSetSystemParameterW
JetTerm2
JetUpdate
JET_wrnBufferTruncated
JET_wrnCallbackNotRegistered
JET_wrnColumnDefault
JET_wrnColumnMaxTruncated
JET_wrnColumnMoreTags
JET_wrnColumnNotLocal
JET_wrnColumnNull
JET_wrnColumnPresent
JET_wrnColumnSetNull
JET_wrnColumnSingleValue
JET_wrnColumnSkipped
JET_wrnColumnTruncated
JET_wrnCommittedLogFilesLost
JET_wrnCommittedLogFilesRemoved
JET_wrnCopyLongValue
JET_wrnCorruptIndexDeleted
JET_wrnDatabaseAttached
JET_wrnDatabaseRepaired
JET_wrnDataHasChanged
JET_wrnDefragAlreadyRunning
JET_wrnDefragNotRunning
JET_wrnExistingLogFileHasBadSignature
JET_wrnExistingLogFileIsNotContiguous
JET_wrnFileOpenReadOnly
JET_wrnIdleFull
JET_wrnKeyChanged
JET_wrnNoErrorInfo
JET_wrnNoIdleActivity
JET_wrnNoWriteLock
JET_wrnNyi
JET_wrnRemainingVersions
JET_wrnSeekNotEqual
JET_wrnSeparateLongValue
JET_wrnSkipThisRecord
JET_wrnSortOverflow
JET_wrnTableEmpty
JET_wrnTableInUseBySystem
JET_wrnTargetInstanceRunning
JET_wrnUniqueKey
J"fA3J f3
J@fA9zHv'I
JfE;0tDL
JGmm.qJn
J	?InitPropSheetPage@TaskPage@DirectUI@@MEAAXPEAU_PROPSHEETPAGEW@@@Z
j"J2(q_s
JJI'KJIAJJIRJJI[JJIVJJIDJJI-NNM
jjjb999*999
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
JJSSUUUU
JKZZJQ9IP
J)lnnakk
:JmRgtZN
jniUE-?z
)jnooqql
Job HR Error
JoinDomainPage_CreateInstance
Join message
JOOQROOOOOOOOOOOOOOOOOO
jpbCredExistW
JpfA9zxv-I
JPfA9zXv'I
J	*q.Ab]
jqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
JsAddRef
JSbstrRedirectorNameWW
JsCallFunction
JsConstructObject
JsCreateContext
JsCreateError
JsCreateFunction
JsCreateObject
JsCreateRuntime
JsDisableRuntimeExecution
JsDisposeRuntime
JsEnableRuntimeExecution
JsGetAndClearException
JsGetCurrentContext
JsGetGlobalObject
JsGetProperty
JsGetPropertyIdFromName
JsGetValueType
JsHasProperty
JsInspectableToObject
JsNumberToInt
JsonBuilderOther
JsonBuilderOutOfMemory
JSON_PROTOCOL
JsPointerToString
JsProjectWinRTNamespace
JsRelease
JsRunScript
JsSetCurrentContext
JsSetException
JsSetObjectBeforeCollectCallback
JsSetPromiseContinuationCallback
JsSetProperty
JSSSUUUSS
JSSSUUUU
JSSSUUUUS
JsStringToPointer
JSSUUUUU
(jumbo: trunc)
jurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruj
juuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
juuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuj
jVRXfR)C
JwtAgent.dll
JxA8Hxt4H
JyPUdi.?U
JZSga6 6(
JZZ8U1!!
jzzzVSSS
K0H9	uGL
K0L9!t	H
k"0M#p@M
K222|bbb
K32EnumProcesses
K32EnumProcessModules
K32GetModuleBaseNameW
K32GetModuleFileNameExW
K32GetModuleInformation
K32GetProcessImageFileNameW
K32GetProcessMemoryInfo
K4#cgHbr*
K6'6'KK'fKKK'fKKKK
K8f9)v!H
K8H99t	H
K 8J t)H
 K999ICC
kB22322"
'KCK'KK'KKK
K(D91tIL
KDClassIdW
KDDDDDDDDDDDD@
KDDDDDDDOp
KDffifDfffffpD
KdInitializeLibrary
KDKffffKfKf
KdNetGetNetDataSize
KdNetGetParameters
@kDR]k	g
 kd)Ukqq
KdUsb3pInitialize
KdUsb3pReadDebuggerPacket
KdUsb3pSendBuffers
KdUsbEhcipInitialize
KdUsbEhcipReadDebuggerPacket
KdUsbEhcipSendBuffers
KdUsbpControlRead
KdUsbpControlWrite
KdUsbpHaltController
KdUsbpInitializeDevice
KdUsbpInitializeHc
KdUsbpInitializeHcHw
KdUsbpLocateDebugPortRegisters
KdUsbpReadPacketOnce
KdUsbpReinitializeDevice
KdUsbpSendPacketOnce
KdUsbpTryInitializeDevice
KdUsbpTrySetupDevice
KdUsbpWait
KdUsbReceivePacket
KdUsbSendPacket
KeAcquireSpinLockRaiseToDpc
KEA_SJ_INTEG
KeBugCheck
KeBugCheckEx
KeDelayExecutionThread
KeEnterCriticalRegion
KeEnterGuardedRegion
Keepalive
keep-newer-files
keep-old-files
KeGetCurrentIrql
KeGetCurrentProcessorNumberEx
KeGetCurrentThread
KeInitializeEvent
KeInitializeMutex
KeInitializeSpinLock
KeLeaveCriticalRegion
KeLeaveGuardedRegion
KeQueryPerformanceCounter
KeQueryUnbiasedInterruptTime
kerberos
Kerberos
KERBEROS_V4
KERBEROS_V5
KeReleaseMutex
KeReleaseSpinLock
KeResetEvent
KeRestoreExtendedProcessorState
kernel32
kernel32.dll
Kernel32.dll
KERNEL32.dll
KERNELBASE.dll
KernelCrashMain
KernelDump
kernelIrpPointer should not be NULL
Kernel(ms)
KernelWmiEvent
(kER[rAs
KeSaveExtendedProcessorState
KeSetEvent
KeWaitForSingleObject
KEY_ALL_ACCESS
KeyboardHook
?KeyboardNavigate@Element@DirectUI@@SA?AVUID@@XZ
Keyboard read failed
KeyCollection
KEY_CREATE_LINK
KEY_CREATE_SUB_KEY
KEY_ENUMERATE_SUB_KEYS
KEY_EXECUTE
	?KeyFocusedProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
    Key names can be followed by an Access Control List (ACL) which is a
KeyNotFound
KeyNotFoundException
KeyNotFoundIsOk
KEY_NOTIFY
key present
KEY_QUERY_VALUE
KEY_READ
KEY_SET_VALUE
KeyValueBasicInformation
KeyValueFullInformation
KeyValuePartialInformation
?KeyWithinProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
KEY_WOW64_32KEY
KEY_WOW64_64KEY
KEY_WOW64_RES
KEY_WRITE
K..f....7..
K(f9)v!H
KfD9#t?A
KfDfDfDfDDfDDpfpff
Kfff.ffff
Kfff.ffifp
KfffKfDff
KfKfffDfDfffDfffp
KfKfKff.
'Kf'K'K'KD'fKKfffffKfffffp
kgM5*D7h
KH8JHtGH
KhD9KtuIA
KHL9!t	H
KHyc]XRI
_KickOffBackup
_KickoffJob
_KickoffNew
KIKLWolh
KillProcessWithName
KillTimer
kIUPnPDeviceControlHttpHeadersWWW
KiUserExceptionDispatcher
KiUserInvertedFunctionTable
KjjjgZgZZZ4
KjZZZZVUUN1
  -k    Keep (don't overwrite) existing files
KKf.K.fB
'K'Kf'K'_Tl
KKKfffffff
KKKfKKfK.K.f.f.
'KK'KfKKKfKDKfKf
'KKKKKfKf
'KKKKKf.K.KfK.ff
KK'KKKfKKK.Kf
K'K'K'KKKf'KKKKffKfKff
'KKKKKKKffKKf.fff
'K'K'KKKKKK'fKKKKf
KKKKMFGF44
K.K....p
K L9A@tN
;KLgKKgggg
?klmoLJGjc
K L;O uzH
kMEFJJJIEEE4442
KMGTPEZY
Known Component list is invalid - string wastoo long or not property terminated
KnownProducerCategories
KnownProducers
KnownTags
k_[OE55;E
kpdk-md5
KpH91u]H
KpiDataEvent
KPL99t	H
KProgIDWW
KRWECAPSH
kryptolan
ks7?;	BOFT3'
KsrSkInitSystem
K SUVWATAUAVAWH
K SUVWATAVAWH
K SUVWAVAWH
K SUVWAVH
K SVWAUAVAWH
K SVWAVAWH
[kt1;c5V
ktmw32.dll
kTTT@999
K UATAUAVAWH
k@U_luukkkXXF
K USVWATH
K UVWATAUAVAWH
K UWATAVAWH
KValueWWWd
K_?vCblf
k VWATAVAWH
K VWATAVAWH
k VWAUAVAWH
K VWAUAVAWH
K WATAUAVAWH
K WAVAWH
K]]]]]]WOGz
KxcAP2sRU
KXf9)vaH
KxH;KhtKH
kx:HZjxB
KXL9!t	H
"Kxx)'#Y
Kydooood
L1 capable
L2 EtherType
L2 Switch
l2vpn-id
L333wMLL
L3 capable
@L5beTOk
L61444440
l744444411!
l74444:O
L96t	L9wXA
L9e8t'eH
|-L9gHt'L
L9gXuiL9g0u*H
L9JXu	L;
L9k0u3L;
:L9u t.H
labeled Unicast
labeled VPN Multicast
labeled VPN Unicast
Lanbridge
langaugeTag
LanguageListAsMuiForm
LanguagePackInstallationRequest
languagePackType
languageTag
Large Community
largePoints
	largestPrioritySeen
LastApplicableUpdateFoundTime
LASTBETA_D3DCOLOR
LASTBETA_UBYTE4
LastBootPerfCounterFrequency
LastBootSucceeded
Last Branch Record Events
Last Branch Record Filters
lastCaller
LastDownloadDeferredReason
LastDownloadDeferredTime
LastDownloadFailureError
LastDownloadFailureTime
LastError
lastErrorcode
lastErrorstate
LastIndexOf
?LastIndexOfAny@String@UnBCL@@QEBAHPEBGHH@Z
?LastIndexOf@String@UnBCL@@QEBAHGHH@Z
?LastIndexOf@String@UnBCL@@QEBAHG@Z
?LastIndexOf@String@UnBCL@@QEBAHPEBGHH@Z
?LastIndexOf@String@UnBCL@@QEBAHPEBG@Z
LastInstallCompletedTime
LastInstallDeferredReason
LastInstallDeferredTime
LastInstallFailureError
LastInstallFailureTime
lastKnownPoseToGravityAlignedHead
lastMapLoadResult
last not in the string
LastOrDefault
LASTPIXEL
LastRebootDeferredReason
LastRebootDeferredTime
Last reboot marked time deleted.
Last reboot marked time read
Last reboot marked time updated
Last reboot marked time updated post reboot.
LastRebootPendingTime
LastResult
LastRuntime
LastScanDeferredReason
LastScanDeferredTime
LastScanFailureError
LastScanFailureTime
LastShutdownSucceeded
lastSourceId
LastStackIndex
lastStaticNodesGenerationId
LastSuccesfulState
LastTokenCacheInvalidationTime
lastTransition
LastUpdateCheckTime
LastUpdateDownloadTime
LastUpgradeInstallFailureError
LastUpgradeInstallFailureTime
LatencyData
latencyMs
LaunchAllScripts
launchBrowserToURI
LaunchControlPanel
LaunchCurrentDirProcess
LaunchDll:Could not find name of DLL entry point (no comma)
LaunchDll:Received invalid DLL path
LaunchDll:String duplication failed
Launched
LaunchEventReportingConsole
LaunchEventReportingConsole failed
LaunchImmersiveApplication
LaunchImmersiveApplicationCallback
LaunchImmersiveClient failed
LaunchingMedic
LaunchingMedicMeasure
LaunchNonGenuineUIWW
LaunchNonRdpResource failed
LaunchProcess
LaunchRdpResource failed
LaunchRemoteUsersDialog
LaunchScoobe
LaunchSystem32Process
LaunchSystemProperties
launchTimeMS
launchtype
launchType
LaunchUmfdHostWithVirtualAccountWorker
LaunchUsersActivity
LaunchWizardElevate
layer2-info
Layer-2 VPN
Layer-Device
layeredShadingRateAttachments
layerName
Layer Properties
layerProperty
layoutId
?LayoutPosProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
layoutToAnchorTransform
layoutToSmoothedTransform
layoutVersion
LbbLbLbL
LbLbLbLbWLbL*AF
LbLbLLLLL
LbLLbLL*
LbLLLLLLb
lbstrTitleWWW
___lc_codepage_func
___lc_collate_cp_func
___lc_handle_func
LCIDToLocaleName
LclIsSessionZero
___lc_locale_name_func
LclPromptUIPerSessionUser
LCMapStringEx
LCMapStringW
L;C(u_H9Q
L;C(uXH9Q
lD9u@tfH
lDeleteValueResult
l(DiffVolW 
LDP MP2MP LSP
LDP P2MP LSP
LdrAccessResource
LdrAddRefDll
LdrEnumerateLoadedModules
LdrFastFailInLoaderCallout
LdrFindResource_U
LdrGetDllHandle
LdrGetProcedureAddress
LdrInitializeThunk
LdrInitSecurityCookie
LdrLoadDll
LdrQueryImageFileExecutionOptions
LdrQueryProcessModuleInformation
LdrSystemDllInitBlock
LdrUnloadDll
LdrVerifyImageMatchesChecksumEx
Leaf Information required
LeakDetectionComplete
LeakDetectionStart
LeakedClusters
LeakedReferenceCount
Leaking host objects
LeakParameters
LeaksFixed
LearningAndDevelopment
leasequery
Lease-query
leasequery-reply
?Leave@CCritSec@@QEAAXXZ
LeaveCriticalSection
LeaveDomainPage_CreateInstance
?LeaveSection@SyncObject@UnBCL@@IEAAXXZ
le_E0-@*'
			left: 50px;
?Left@CHString@@QEBA?AV1@H@Z
left is NULL
LeftShift
LegacyDrivers
legacy_first_4k
legacy_last_4k
legacyStoreRegKey
?LengthAtLeast@MemoryStream@UnBCL@@AEAAXH@Z
(*** Length not multiple of WCHAR ***)
 [|length too short]
?Length@WString@@QEBAHXZ
lengthWW
Lenovo Smart Standby
LessEqual
LESSEQUAL
LessThan
LessThanEqual
lFlagsWW
lFlagsWWd
LFpHrActivationResultWd
L!G8D!G@D!GDH
LhykICLm
LibJson.dll
Library Error
licenseAppPackageFamilyName
licenseAppServiceName
LicensingAndPurchase
liCurr.HighPart is not equal to zero.
liDistanceToMove
LID].--y
lifeduration
 lifetime 
lifetime
LifeTime
LifeTime_CoalescedSession
LifeTime_CoalesceFailure
LifeTime_MyInit
LifeTime_MyInit_Suppressed
LifeTimePoweronResets_Index
LifeTime_Start
LifeTime_Stop
lifetype
LIGHTAMBIENT
LIGHTATTENUATION0
LIGHTATTENUATION1
LIGHTATTENUATION2
LIGHTDIFFUSE
LIGHTDIRECTION
LIGHTENABLE
LIGHTFALLOFF
LIGHTING
LIGHTPHI
LIGHTPOSITION
LIGHTRANGE
LIGHTSPECULAR
LIGHTTHETA
LIGHTTYPE
liii7999
LIMITATION DES DOMMAGES-INT
__LINE__
lineAddProviderW
LinearGradientBrush
linearTiling
linearTilingFeatures
lineGetTranslateCapsW
			line-height: 20px;
lineInitialize
LINEMODE
lineNumber
Line number
Line Number
LineNumber
lineRemoveProvider
lineShutdown
lineSubPixelPrecisionBits
LinesWWW
lineWidthGranularity
lineWidthRange
linkaddr_string: malloc
Link aggregation
LinkClickedEventArgs
LinkClickedEventHandler
ListFull
?ListItemControlType@Schema@DirectUI@@2HA
listType
literal values outside range -1 to 1 are clamped on all ps_1_x shading models
liveDumpProcessor initialization failed
Live minidump directory not set
LiveStorageMetabaseInvalidModifiedTime(Aggregate)
LiveStorageRedirect
LIVssEnumObjectWW
LJ1d8Uz_@
lj5h6sj5
lk:976520.
Lke(dHkE(
LKEYPKG1H9
LKEYPKG1I
LkgError
lkk:77522.1
lkl8lklx
lkl8lklxlkl
lkldlkl#
lkl-lklqlkl
lklxlkl8
lklxlkl8xwx
lklxxtrE
L______L
@L@L@@	1F
ll::975520.
LL9y@tDH
LLaunchKernelExpirationDialog
LLDP-MED capabilities
LLDP-MED Capabilities
lll_9993
LLLbWLLWL
lllGtLlg
LLLLLLLL
LLLLLWWLL@
lllp|Lll
lllpttDYz
LLNNNNPPPOS
LLogonWWW
LLWLW	1F
LLWLWLLWLLWLW@	1F
LLWLWLW#WWW	1F
-lmmbyy	
LMMMMMMMMMM
lmmqxxXPR[
-lmXkkkkkkkX
	lnmagwW
l]nqAWNQB
LoadAcceleratorsW
LoadAssembly
LoadBitmapW
LoadComponent
LoadCursorA
LoadCursorW
LoadDefaultAppPackageManager
LoadDefaultSettingsProvider
LoadEnclaveImage
LoadEnclaveImageW
Loader initialization successful.
LoaderOptimization
LoaderOptimizationAttribute
LoadFromHistory
?LoadFromResource@DUIFactory@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG1PEAVElement@2@PEAKPEAPEAV42@1@Z
LoadGPSettings
LoadIconA
LoadIconW
LoadImageW
LoadInformation
Loading...
Loading a client with a different CPU architecture
LoadingLabel
LoadInternal()
LoadJsonFromFile
LoadKeyboardLayoutW
LoadLibrary
LoadLibraryA
LoadLibraryExA
LoadLibraryExW
LoadLibraryExW for offdmpsvc failed
LoadLibraryShim
LoadLibraryW
LoadLocalFonts
LoadMenuW
LoadOrderGroup
?LoadPage@TaskPage@DirectUI@@MEAAJPEAVHWNDElement@2@PEAUHINSTANCE__@@PEAPEAVElement@2@PEAPEAVDUIXmlParser@2@@Z
?LoadParser@TaskPage@DirectUI@@MEAAJPEAPEAVDUIXmlParser@2@@Z
LoadPerfCounterTextStringsW
loadperf.dll
LoadQueuedReports failed
LoadRemoteFontsAndInitMiscWorker
LoadResource
LoadString
LoadStringA
LoadStringByReference
LoadString() Error.  Could not load string resource.
LoadStringW
?LoadStringW@CHString@@IEAAHIPEAGI@Z
?LoadStringW@CHString@@QEAAHI@Z
LoadVssSnapshotSetDescription
LoadXmlAndGetRootNode() : TBstrVT construction failed to allocate memory for bstrVal.
LoadXmlBlob
?Load@XmlDocument@UnBCL@@QEAAXPEAUIStream@@@Z
?Load@XmlDocument@UnBCL@@QEAAXPEAVString@2@@Z
?Load@XmlDocument@XmlLite@UnBCL@@QEAAXPEAUIStream@@@Z
?Load@XmlDocument@XmlLite@UnBCL@@QEAAXPEAVString@3@@Z
?LoadXml@XmlDocument@UnBCL@@QEAAXPEAVString@2@@Z
?LoadXml@XmlDocument@XmlLite@UnBCL@@QEAAXPEAVString@3@@Z
LocalAlloc
LocalAlloc failed
local - backup power source
local compartment
LocalCoordinateFrame_FindTransform
LocalCoordinateFrame_SerializeLayout_Frame
LocalCoordinateFrame_SerializeLayout_SmoothFrame
LocalCoordinateFrame_SerializeLayout_Summary
LocalCoordinateFrame_StaticNodePose
LocalCoordinateFrame_Summary
LocalDataBaseSize
localeconv
LocaleNameToLCID
LocalePath
LocalFileTimeToFileTime
LocalFree
localGravity
localhost
local machine
LocalMachine
localNodeId
localNodeIdCoherent
localPath
Local Preference
LocalPrintServer
LocalReAlloc
	localRevisionId
LocalScope
LocalScreenTimeExtended
LocalServer32
LocalSize
LocalStandard
localStaticNodeId
localtime
localToRoot
localToStationaryCoordinateFrame
_local_unwind
local variables
LOCALVIEWER
?LocateKeyByNameOrValueName@CRegistrySearch@@QEAAHPEAUHKEY__@@PEBG1PEAPEBGKAEAVCHString@@3@Z
LocateXStateFeature
location
locationChanged
LocationCount
locationGravity
LocationHelper::CreateLocationManagerInternalOutOfProc(pFramework.GetAddressOf())
locationId
LocationId
	    Location ID 
location identification
Location identification
location of DHCP server
location of the client
location of the network element believed to be closest to the client
locationRegistration
locationRegistrationId
locationToStaticNode
LocationValidity
LocationValidityChanged
LockAndDismountDiskVolumes
LockAndDismountDiskVolumes2
LockAndDismountVolumeByHandle
?LockBuffer@CHString@@QEAAPEAGXZ
LockClipData failed!
LockClrVersion
LockDismountVolume
LockdownAppPage_CreateInstance
LockdownUserPage_CreateInstance
LockFailed
_lock_file
LockFile
LockFileEx
LockGlobalMemory failed!
_lock_locales
LockOnLogon
lockReason
LockResource
lockScreenDisabled
lockScreenInitialize
lockScreenOnApplicationDesktop
lockScreenType
_Lock_shared_ptr_spin_lock
lockSubReason
lockSucceeded
LockTicket is NULL or does not match expected value for this message
LockVolume
LockWindowStation
LockWorkStation
lockWorkstationDisabled
LO@D9GDD
LoDD9w@D
LogAdptPnpQDR
LogAdptPnpRemoveReceived
LogAdptPnpStartReceived
LogAdptPnpStopReceived
LogAdptPnpSurpriseRemovalReceived
LogAdptQueryPowerReceived
LogAdptSetPowerReceived
LogCallBusReset
LogCallMiniportBuildIo
LogCallMiniportStartIo
LogCallSmrResetWritePointer
LogCallSmrResetWritePointerComplete
LogCallSmrWriteIo
LogCallSmrWriteZoneComplete
?_LogCancelTask@_TaskEventLogger@details@Concurrency@@QEAAXXZ
LogCollectionThrottledForUpload(Aggregate)
	-log			 - Configure debug logging to the event log
_logCreationTime
LogError
LogEvent
LogFailedAllocDeferredAction
logFileName
LogFilePath
LoggerMethod
loggingCtx should not be NULL
LogicalProcessorCount
LogicalSectorsRead_Index
LogicalSectorsWritten_Index
LogicalToPhysicalPoint
Log_Information
LoginIScsiTargetW
LogLevelError
LogMiniportAdapterBusy
LogMiniportAdapterReady
LogMiniportBuildIoReturnFailure
LogMiniportBusChangeDetected
LogMiniportBusResetDetected
LogMiniportCompletion
LogMiniportDeviceBusy
LogMiniportDeviceReady
LogMiniportPauseAdapter
LogMiniportPauseDevice
LogMiniportResumeAdapter
LogMiniportResumeDevice
LogoffDetector terminate failed.
logoffFlags
logoffSyncTrailer
logoffTimeInMs
logoffTrailerTag
LogoffTrigger
logoncli.dll
LogonFindChanges
LogonIdFromWinStationNameW
logonOptimizationFlags
LogonResult
LogonSubResult
logonTask
LogonTask
LogonTaskAlreadyExecuted
LogonTaskExecutionTime
LogonTaskHung
LogonTaskKeyCreated
logonType
LogonType
logonTypeFlags
LogonUI.exe
LogonUIPowerButton
LogonUserExExW
LogonUserW
LogoutIScsiTarget
LOGPALETTE
LogPauseAdapter
LogPauseDevice
LogRequestComplete
LogResetWorkitemTimeout
LogRestartUnit
LogResumeAdapter
LogResumeDevice
?_LogScheduleTask@_TaskEventLogger@details@Concurrency@@QEAAX_N@Z
Log_SR_ERROR_SYSTEMRESTORE_UNSPECIFIED
_LogStatus
LogStorPortCompleteRequest
LogStorPortCompleteRequestSrb
LogSubmitRequest
?_LogTaskCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
?_LogTaskExecutionCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
LogToFile
LogUnitPnpRemoveReceived
LogUnitPnpStartReceived
LogUnitPnpStopReceived
LogUnitPnpSurpriseRemovalReceived
LogUnitQueryPowerReceived
LogUnitSetPowerReceived
LogUnitTimeout
?LogW@ConsoleLogHandler@UnBCL@@UEAA?AW4tagLOGRESULT@@KPEBDKPEBG1K@Z
?_LogWorkItemCompleted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
?_LogWorkItemStarted@_TaskEventLogger@details@Concurrency@@QEAAXXZ
.[[[lom#
LongIntervalEndHeartbeat
_LookForPriorInstallPointOrNothing
LookupAccountNameLocalW
LookupAccountNameW
LookupAccountSidLocalW
LookupAccountSidW
lookup_bytestring: calloc
LookupGadgetTicket
LookupHelpStrings
?LookupNamespace@XmlNamespaceManager@UnBCL@@QEAAPEAVString@2@PEAV32@@Z
lookup_nsap: calloc
lookup_nsap: malloc
LookupPrivilegeDisplayNameW
LookupPrivilegeNameW
LookupPrivilegeValueA
LookupPrivilegeValueW
LookupPublisherName failed
-LookupPublisherNameW
Loopback
loop control variables
lowerCaseArgs
LowestTemperature_Index
LowPriorityAnchorCount
LowResourceCallback
LowUpTimeDetectTime
lowUptimeMinHours
lowUptimeQueryDays
LowUptimes
LpacError
LpacHost::LpacTerminatedCallback
LpAcquireInstallationMutex
LPAC RpcEpRegister
LpacRpc::GetLpacPortSd
LPAC RpcServerInqBindingsEx
LPAC RpcServerListen
LPAC RpcServerRegisterAuthInfo
LPAC RpcServerRegisterIfEx
LPAC RpcServerUseProtseqEp
LpacRpc::StartServer
LpacStart
LpacStop
LPAC terminated with non-zero exit code
lpBuffer
lpBytesReturned
lpClassName
lpContext
LpcPort is NULL for non-driver created file
lpc should be NULL
lpDataToDump
lpExistingFileName
lpFileName
lpfRootFolder@
lpInBuffer
lpMatchValueData
lpMatchValueName
lpNewFileName
lpNewFilePointer
lpOutBuffer
lpOverlapped
lpParameter
LpReleaseInstallationMutex
LPRGNDATA
lpSecurityAttributes
lpszCopy
lpszSubmissionId is NULL
lpTargetValueData
lpTargetValueName
lpWindowName
LQ-client-data
LQ-client-link
LQ-relay-data
Lqssqqwnnnqn
LQuartile
LresultFromObject
LsaCallAuthenticationPackage
LsaClose
LsaConnectUntrusted
LsaDeregisterLogonProcess
LsaEnumerateLogonSessions
LsaFreeMemory
LsaFreeReturnBuffer
LsaGetLogonSessionData
lsaIsoStartupCheck
LsaIsoStartupResult
LsaLogonUser
LsaLookupAuthenticationPackage
LsaLookupClose
LsaLookupFreeMemory
LsaLookupGetDomainInfo
LsaLookupManageSidNameMapping
LsaLookupNames2
LsaLookupOpenLocalPolicy
LsaLookupPrivilegeValue
LsaLookupSids
LsaLookupTranslateNames
LsaLookupTranslateSids
LsaLookupUserAccountType
LsaNtStatusToWinError
LsaOpenPolicy
LsaQueryInformationPolicy
LsaRegisterLogonProcess
lsasrv.dll
lsass.exe
LsaStorePrivateData
LSLb[bLbWLbWLLLWLLWLWcW
lstrcmpA
lstrcmpiA
lstrcmpiW
lstrcmpW
lstrcpynW
lstrcpyW
lstrlenA
lstrlenW
lTimeout
L!u0L!u8H
L!u8L!u0H
LuaEngineMajorVersion
LuaEngineMinorVersion
LuaExecutionFailed
LuaExhaustedMemoryCount_Persisted
LuaFrameworkPerformanceAccounting
LuaMemoryCommit
LuaMemoryCommitGc
LuaPanicCount
LuaPcallCount
LuaPcallFailureCount
LuaScriptDigest
LuaScriptLoading
LuaScriptMajorVersion
LuaScriptMinorVersion
LuaScriptSize
LuaScriptSVN
"LUBBUB.
luCAPCThread
L!u@L!u8H
L!uoD!ugH
]@L!uPL!uHH
LUqF(Yh u
luunniiDu
L?UUUUUUU?
L!uwD!ug3
l-value specifies const object
L!v(L!v8L!vHL!v L!v0L!v@H
L!w0L!w83
LWLLWW@*1F
LWLWLWL@*1F
LxssException
LxssVerboseLog
lxvvbljjJRPP!
L[ZXXY1q
]:::::::M
M0H9M(t5H
M0hdhd0d0dh
M0;KDr*L
[m4KUX_B
 M567kX]]
@M6lyE!9
m"6vgbc#
m88@FMcrM
M@9M0vzH
MAC address
Machine already has a WinEI rating.  Rerunning all assessments ...
machineId
Machine resumed from hibernate
--mac-metadata
mac-metadata
MAFIA_PROTOCOL
MAGFILTER
magneticField
magneticFieldValid
main.css
main.htm
Main of CRdpShell failed
maintenance4
MainWindow
mainWindowName
MainWin_Loaded
MakeAbsoluteSD
MakeAndInitialize failed!
?MakeDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@0PEAW4_COPY_ERROR@@P6AKT_LARGE_INTEGER@@222KKPEAX33@Z3PEAHK@Z
?MakeLower@CHString@@QEAAXXZ
?MakeLower@MutableString@UnBCL@@QEAAXXZ
?MakeReverse@CHString@@QEAAXXZ
MakeSelfRelativeSD
MakesureDirectoryExists
?MakeSureDirectoryExists@Directory@UnBCL@@SAKPEBGPEAH@Z
MakeSureDirectoryPathExists
?MakeTrim@MutableString@UnBCL@@QEAAXPEBG@Z
?MakeUpper@CHString@@QEAAXXZ
Malformed AS_PATH
Malformed Attribute List
Malformed Capability Value
Malformed log provided
MalformedQuery
_malloc_base
ManageCommit
ManageExclusionPage_CreateInstance
Management Address
Management Addresses
ManagementBaseObject
ManagementClass
ManagementException
ManagementObject
ManagementObjectCollection
ManagementObjectEnumerator
ManagementRefreshEnded
ManagementRefreshStarted
managementTreeURI
ManageReboot
ManageRebootUI
Manchester1
mandatory
Mandatory
mandatory_error
Mandatory sensitive setting empty
Mandatory sensitive setting missing from file
Mandatory sensitive setting not present
Manifested
manifest from backup for
man_path
Manufacturer name
mapBaseToString
_MapBlbChangeMediaHrToSd
MapDialogRect
MapExceptionToHResult
MapGadgetPoints
MapGenericMask
mapIdEpoch
MapIdEpoch
mapIdMajor
MapIdMajor
mapIdMinor
MapIdMinor
MAPILogon
MAPISendMail
MAPISendMailW
mapMonthAbbreviations
MappedAddress cannot be null
MappedAddress should not be NULL
MappedSystemAddress should not be NULL
"MAPPED_WINDOW_GEOMETRY_PACKET*"
m_AppHistory
m_Applications
MapSnapshotCache_RefreshCurrentSnapshot_MapCoordinateFrame
MapSnapshotCache_RefreshCurrentSnapshot_MapSmoothCoordinateFrame
MapSnapshotCache_RefreshCurrentSnapshot_MapSummary
mapSuffixToBase
mapToCoordinateFramePoseCount
mapToCoordinateFramePoseRotation
mapToCoordinateFramePoseTranslation
mapToSmoothCoordinateFramePoseCount
MapViewOfFile
MapViewOfFileEx
MapViewOfFile failed
MapViewOfFileFromApp
MapVirtualKeyW
m_apVssComponent || m_apVssWMComponent
m_apVssExamineWriterMetadata
MapWindowPoints
mapWinTzToTzid
mapYearToProjection
			margin: 0;
			margin: 0 12px;
			margin-left: 22px;
			margin-left: -280px;
			margin-left: -80px;
MarkDeletePending
MarkedPendingDelete
	-marker			 - Fires an event marker
	-markerflush		 - Fires an event marker and flushes the working set
MarkForDelete not called
Marking past deadline update as mandatory
MARSHALED_PROTOCOL
marshaller should not be NULL
MatchEngine
MatchingId
?MatchI@String@UnBCL@@SAHPEBG0@Z
?MatchI@String@UnBCL@@SAHPEBV12@0@Z
?Match@String@UnBCL@@SAHPEBG0@Z
?Match@String@UnBCL@@SAHPEBV12@0@Z
MATERIAL
MATERIALAMBIENT
MATERIALDIFFUSE
MATERIALEMISSIVE
MATERIALPOWER
MATERIALSPECULAR
Matrices cannot be specified in temp registers with the fragment linker
matrix dimensions must be literal scalar expressions
m_AttdefListTable.Initialize()
MaVMFC"	h
MaxAbove4GbFreeRange
MAXANISOTROPY
Max ARP Hop Count TLV
MaxBelow4GbFreeRange
maxBoundDescriptorSets
maxBufferSize
maxClipDistances
maxColorAttachments
maxCombinedClipAndCullDistances
maxComputeSharedMemorySize
maxComputeWorkGroupCount
maxComputeWorkGroupInvocations
maxComputeWorkGroupSize
maxComputeWorkgroupSubgroups
maxCullDistances
maxCustomBorderColorSamplers
maxDescriptorSetAccelerationStructures
maxDescriptorSetInlineUniformBlocks
maxDescriptorSetInputAttachments
maxDescriptorSetSampledImages
maxDescriptorSetSamplers
maxDescriptorSetStorageBuffers
maxDescriptorSetStorageBuffersDynamic
maxDescriptorSetStorageImages
maxDescriptorSetSubsampledSamplers
maxDescriptorSetUniformBuffers
maxDescriptorSetUniformBuffersDynamic
maxDescriptorSetUpdateAfterBindAccelerationStructures
maxDescriptorSetUpdateAfterBindInlineUniformBlocks
maxDescriptorSetUpdateAfterBindInputAttachments
maxDescriptorSetUpdateAfterBindSampledImages
maxDescriptorSetUpdateAfterBindSamplers
maxDescriptorSetUpdateAfterBindStorageBuffers
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
maxDescriptorSetUpdateAfterBindStorageImages
maxDescriptorSetUpdateAfterBindUniformBuffers
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
MaxDeviceErrorCount
maxDiscardRectangles
maxDrawIndexedIndexValue
maxDrawIndirectCount
MaxEntriesFlushed
MaxEntriesStored
MAX_EVENTS_TO_READ
MAX_EXECUTION_HISTORY_ENTRY_COUNT
maxExtraPrimitiveOverestimationSize
maxFragmentCombinedOutputResources
maxFragmentDensityTexelSize
maxFragmentDualSrcAttachments
maxFragmentInputComponents
maxFragmentOutputAttachments
maxFragmentShadingRateAttachmentTexelSize
maxFragmentShadingRateAttachmentTexelSizeAspectRatio
maxFragmentShadingRateCoverageSamples
maxFragmentShadingRateRasterizationSamples
maxFragmentSize
maxFragmentSizeAspectRatio
maxFramebufferHeight
maxFramebufferLayers
maxFramebufferWidth
Max frame size
maxGeometryCount
maxGeometryInputComponents
maxGeometryOutputComponents
maxGeometryOutputVertices
maxGeometryShaderInvocations
maxGeometryTotalOutputComponents
maxHeapAlloc
maxHeatReplaceInPercentage
maxImageArrayLayers
maxImageCount
maxImageDimension1D
maxImageDimension2D
maxImageDimension3D
maxImageDimensionCube
maxImageExtent
maximum address register index exceeded
maximum boolean register index exceeded - Try reducing number of constant branches
maximum bool register index exceeded
maximum constant register index exceeded - Try reducing number of constants referenced
maximum input register index exceeded
maximum iterator register index exceeded - Try reducing number of loops
maximum iterator register index exceeded - Try reducing number of loops and depth of loops
maximum loop register index exceeded
maximum number of inputs exceeded
Maximum Number of Prefixes Reached
maximum predicate register index exceeded
maximum sampler register index exceeded
maximum temp register index exceeded
maxInlineUniformBlockSize
maxInlineUniformTotalSize
maxInstanceCount
maxInterpolationOffset
maxMemAlloc
maxMemoryAllocationCount
maxMemoryAllocationSize
MAXMIPLEVEL
maxMultiDrawCount
maxMultiviewInstanceIndex
maxMultiviewViewCount
maxNumberOfSectorsToRead
MAX_PATH
maxPerSetDescriptors
maxPerStageDescriptorAccelerationStructures
maxPerStageDescriptorInlineUniformBlocks
maxPerStageDescriptorInputAttachments
maxPerStageDescriptorSampledImages
maxPerStageDescriptorSamplers
maxPerStageDescriptorStorageBuffers
maxPerStageDescriptorStorageImages
maxPerStageDescriptorUniformBuffers
maxPerStageDescriptorUpdateAfterBindAccelerationStructures
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
maxPerStageDescriptorUpdateAfterBindInputAttachments
maxPerStageDescriptorUpdateAfterBindSampledImages
maxPerStageDescriptorUpdateAfterBindSamplers
maxPerStageDescriptorUpdateAfterBindStorageBuffers
maxPerStageDescriptorUpdateAfterBindStorageImages
maxPerStageDescriptorUpdateAfterBindUniformBuffers
maxPerStageResources
maxPerStageUpdateAfterBindResources
MaxPoolErrorCount
maxPrimitiveCount
maxPushConstantsSize
maxPushDescriptors
MaxQueueCount
maxRayDispatchInvocationCount
maxRayHitAttributeSize
maxRayRecursionDepth
maxSampleLocationGridSize
maxSampleMaskWords
maxSamplerAllocationCount
maxSamplerAnisotropy
maxSamplerLodBias
maxShaderGroupStride
Max STE Hop Count TLV
maxStorageBufferRange
maxSubgroupSize
maxSubsampledArrayLayers
maxTessellationControlPerPatchOutputComponents
maxTessellationControlPerVertexInputComponents
maxTessellationControlPerVertexOutputComponents
maxTessellationControlTotalOutputComponents
maxTessellationEvaluationInputComponents
maxTessellationEvaluationOutputComponents
maxTessellationGenerationLevel
MAXTESSELLATIONLEVEL
maxTessellationPatchSize
maxTexelBufferElements
maxTexelGatherOffset
maxTexelOffset
maxTimelineSemaphoreValueDifference
maxTransformFeedbackBufferDataSize
maxTransformFeedbackBufferDataStride
maxTransformFeedbackBuffers
maxTransformFeedbackBufferSize
maxTransformFeedbackStreamDataSize
maxTransformFeedbackStreams
maxUniformBufferRange
maxUpdateAfterBindDescriptorsInAllPools
MaxValue
maxVertexAttribDivisor
maxVertexInputAttributeOffset
maxVertexInputAttributes
maxVertexInputBindings
maxVertexInputBindingStride
maxVertexOutputComponents
maxViewportDimensions
maxViewports
maxZoomValue
May only specify one of -h or -m switches
m_BackupsetVerifier.Remove(wszLocalCatalogFile)
!m_bAsyncInProgress
m_bBackupOperation
mbbcx.sys
__mb_cur_max
___mb_cur_max_func
m_bDeleteFromTarget
!m_bGlobalCatalog
m_bGlobalCatalog
!m_bInitialized
m_bInitialized
m_bIsBuilt
m_bIsRecoveryStarted
m_bPreRestoreCalled
mbstowcs
mbstowcs_s
m_bstrCurrentSubComponentName
m_bSystemState
m_bValid
MCCA Advertisement
MCCA Advertisement Request
MCCA Setup Reply
MCCA Setup Request
MCCA Teardown
McGenEventWriteBoot
MCID Name 
McImageInfo
m_cIncludeFileSpecs || m_cExcludeFileSpecs
m_ClassIdWWW
m_ClassListHead not empty
MCreateWW
m_cs.Init failed
m_cs.Init failed!
m_csLock.Initialize() failed
m_cVolumeMap
MdFsssssGeM
MdOMOMOMdhdMOdhdMd
  -m    Don't restore modification times
m_DriverHostGuid is invalid
m_DriverHostGuid should not be NULL
:MdSptAH
?m_dwTraceCurrSize@CTraceProvider@@0KA
?m_dwTraceLevel@CTraceProvider@@0KA
?m_dwTraceMaxNum@CTraceProvider@@0KA
?m_dwTraceMaxSize@CTraceProvider@@0KA
?m_dwTraceNextNum@CTraceProvider@@0KA
Meaningless argument for -C: ''
Meaningless option: -C ''
    meanings are:
MeasuredLaunchCapable
MeasuredLaunchPrepared
MeasuredLaunchResume
Measures
MeasuresKeyword
MeasuresOptions
MediaErrorCount
MEDIA_LOADABLE_TYPE(eMediaType)
!MEDIA_LOADABLE_TYPE(eMediaTypeInTemplate)
                                    MediaPermission
_mediaType
MedicLauncherFailed
MedicLauncherSucceeded
MedicTimerArmed
MedicTimerFired
MediumPriorityCount
MeFsssssFeM
?MemAllocFailed@Allocator@UnBCL@@SAHXZ
member file
memberIndex
MemberIndex
memcpy failed
memcpy_s
MemHardLimit
_memicmp
MemMidLimit
:	memmove
;	memmove_s
memmove_s
MEMORY_HEAP_DEVICE_LOCAL_BIT
MEMORY_HEAP_MULTI_INSTANCE_BIT
memoryHeaps
memoryPriority
MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD
MEMORY_PROPERTY_HOST_CACHED_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
MEMORY_PROPERTY_PROTECTED_BIT
MEMORY_PROPERTY_RDMA_CAPABLE_BIT_NV
MemoryStreamProtocol::Start should never be called.
memoryTypes
memory usage has changed in the target process.
MemSoftLimit
m_EntryList not empty
MenuPolicy
m_eProviderTypeW
m_eProviderTypeW@
?Merge@MultiSz@UnBCL@@QEAAXAEBV12@H@Z
merit-inp
?m_errLogCriticalSection@CTraceProvider@@0U_RTL_CRITICAL_SECTION@@A
?m_errorFile@CTraceProvider@@0PEAU_iobuf@@EA
?m_errorTracingInBadState@CTraceProvider@@0_NA
MeshAction 
MeshLink
me si Microsoft connaissait ou devrait conna
MessageBeep
MessageBox
MessageBoxA
MessageBoxButtons
MessageBoxDefaultButton
MessageBoxExW
MessageBoxIcon
MessageBoxIndirectW
MessageBoxOptions
MessageBoxW
?MessageCallback@Element@DirectUI@@UEAAIPEAUtagGMSG@@@Z
?MessageCallback@HWNDHost@DirectUI@@UEAAIPEAUtagGMSG@@@Z
message handler failed
Message has not been replied to yet (or it wouldn't still exist) and so the lock operation should not fail
Message Header Error
MessageId
Message Interval TLV
Message_LinkClicked
Message not handled
message size
message_size
MessageType
MessageTypeString
*m_eStatusWWW
 meta_class 
metadata
Metadata
MetadataEngine
MetaDataGetDispenser
metadataH
MetadataModifiedTime
	MetadataModifiedTimeInt64
metaTagContentAttributeName.CopyFromString(L"content")
metaTagElementName.CopyFromString(L"meta")
meteredConnection
method AbortAllSnapshotsInProgress
method ActivateWWW#
method AddResource
method AddResourceExWW
method AdviseW
MethodBase
METHOD_BUFFERED
method ClearWorkspaceCredentialWWW
method ConnectWithNoviceWW
method DisconnectWorkspace
method DisconnectWorkspaceByFriendlyNameWW
method GetClaimsToken2
method GetClaimsTokenW
method GetNoviceUserInfoWW
method GetProcessIdWWW
method GetProviderCapabilityWW
method GetProviderContextW
method GetResourceDisplayNameW
method GetResourceIdWW
method GetSessionInfoW
method GetWorkspaceNamesWW
MethodInfo
method InitiateRAConnectionWWW
method InitiateRAReverseConnection
method IsErrorMessageRegisteredWWW
method IssueDisconnect
method IsWorkspaceCredentialSpecifiedW
method IsWorkspaceSSOEnabledWW
method LaunchKernelExpirationDialogWWW
method LaunchNonGenuineUIW
method LogoffW
method LogonWW
methodName
MethodName
method OnAuthenticated
method OnAuthenticated(
method OnConnected
method OnDisconnectedW
method OnStateChangedSafeW
method OnStateChangedW
method QueryProvidersW"
method RegisterErrorEventW
method RegisterErrorLogMessage
method RegisterProviderWWW
method RemoveResourceExWWW
method RemoveResourceW!
method ResourceDisconnectedWWW!
method ReverseConnectToExpertW
method SendMailWWW
method SetClaimsTokenW!
method SetProviderContextW
method StartRemoteApplicationExWWW
method StartRemoteApplicationW
method StartRemoteDesktopW
method StartWorkspaceEx2WW
method StartWorkspaceExWWW
method UnadviseWWW
method UnregisterProviderW
method WaitForConsumptionW"
method WaitForTicketWW
?m_ExtraLogging@CVdsTraceSettings@@QEAAHXZ
MFC42u.dll
MFCreateAttributes
MFCreateMFByteStreamOnStreamEx
MFCreateStreamOnMFByteStream
MFEnumDeviceSources
MFGetCallStackTracingWeakReference
MFGetSupportedSchemes
MFGetSystemTime
!m_fInitialized
m_fInitialized
MFPlat.DLL
MFShutdown
MFStartup
m_FxBindInfo should be NULL
m_FxListEntry not empty
m_FxModInfo should be NULL
m_FxModInfo should not be NULL
MGfE;C(u
Mh0M0hMhhMh
Mh0M0MOMh
!m_hCryptHash
MHfD91tlH
!m_hFmifs
MHL9MPt[E3
m_hMonitorLayoutChangeCompletedEvent
m_HostImagePath not valid
m_hRailOrderEncoderLrpcServerThread
MI_Application_InitializeV1
MiCCPPhotoshop ICC profile
Michael MIC failure
MicPermissionNotProvisioned
MicrodomImplementation::CDomLayoutCache::AdvanceCachedPointer
MicrodomImplementation::CDomLayoutCache::DecodeElementCounts
MicrodomImplementation::CDomLayoutCache::FindObject
MicrodomImplementation::CDomLayoutCache::GetNodeChildren
MicrodomImplementation::CDomPositionCache::AttachToPositionList
MicrodomImplementation::CDomPositionCache::GetLocation
MicrodomImplementation::CMicrodom::CreateInterface
MicrodomImplementation::CMicrodom::DecodeXmlString
MicrodomImplementation::CMicrodom::FindObject
MicrodomImplementation::CMicrodom::GetDocumentNodeSet
MicrodomImplementation::CMicrodom::GetElementById
MicrodomImplementation::CMicrodom::GetElementNodeSet
MicrodomImplementation::CMicrodom::GetElementsByTagName
MicrodomImplementation::CMicrodom::GetElementsByTagNameCommon
MicrodomImplementation::CMicrodom::GetNamedNodeMapItem
MicrodomImplementation::CMicrodom::GetNamedNodeMapLength
MicrodomImplementation::CMicrodom::GetNodeMapNamedItem
MicrodomImplementation::CMicrodom::Initialize
MicrodomImplementation::CMicrodom::IRtlMicrodom_Cast
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::CTempOutputStream::CreateInterface
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetAttribute
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetAttributeNode
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetAttributeNS
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetAttributeNSNode
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetDocument
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetDocumentElement
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetDocumentNodeSet
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetElementById
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetElementNodeSet
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetElementsByTagName
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetElementsByTagNameNS
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetItem
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetMicrodomBinaryRepresentation
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetNamedItem
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetNamedItemNs
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetPropertiesSetup
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::GetXml
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::HasAttribute
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::HasAttributeNs
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::HasAttributes
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::HasChildNodes
MicrodomImplementation::CMicrodom_IRtlMicrodomTearoff::Length
MicrodomImplementation::CreateBinaryMicrodomFromXml
MicrodomImplementation::CStringpoolCache::AttachToStringPool
MicrodomImplementation::CStringpoolCache::FindString
MicrodomImplementation::DecodeXmlCharacterToUcsChar
MicrodomWriterImplementation::CMicrodomWriter::CreateInterface
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::BeginOpenElement
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::CloseElement
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::EmitAttribute
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::EndOpenElement
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteCData
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteComment
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteEscapedString
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteProcessingInstruction
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteRawString
MicrodomWriterImplementation::CMicrodomWriter_IRtlMicrodomXmlWriter::WriteText
Microsoft
)Microsoft Authenticode(tm) Root Authority
Microsoft.BitLocker.BDERepair
Microsoft Code Signing PCA 2011
Microsoft Code Signing PCA 20110
 Microsoft Code Verification Root
 Microsoft Code Verification Root0
MicrosoftCommunications
Microsoft Corporation
Microsoft Corporation0
Microsoft Corporation1
Microsoft Corporation1!0
Microsoft Corporation1)0'
Microsoft Corporation1:08
Microsoft Corporation1;09
Microsoft Corporation1200
Microsoft Corporation1806
Microsoft.Diagnostics.Telemetry
Microsoft.Diagnostics.Telemetry.Internal
Microsoft.FamilySafety
Microsoft.FamilySafety.Dev
Microsoft.FamilySafety.Monitor
Microsoft.FamilySafety.UI
Microsoft Hv
Microsoft.Internal
Microsoft.MSEdgeWebView.Loader
 Microsoft Operations Puerto Rico1
Microsoft.OSG.IoT.Pos.RemotePosWorker
Microsoft.PowerShell
Microsoft.PowerShell.ISECommon
Microsoft (R) D3DX9 Shader Assembler 4.08.01.0612
Microsoft (R) D3DX9 Shader Compiler 4.08.01.0612
Microsoft.RemoteAssistance
Microsoft Root Authority
)Microsoft Root Certificate Authority 2010
)Microsoft Root Certificate Authority 20100
)Microsoft Root Certificate Authority 20110
*Microsoft (R) Windows (R) Operating System
Microsoft.SnippingTool
MICROSOFT SOFTWARE LICENSE TERMS
MicrosoftTelemetry
MicrosoftTelemetryTraits
Microsoft Terminal Services Web Proxy 1.0 Type Library
Microsoft Test Root Authority
"Microsoft Time Source Master Clock0
Microsoft Time-Stamp PCA 2010
Microsoft Time-Stamp PCA 20100
Microsoft Time-Stamp Service
Microsoft Time-Stamp Service0
MICROSOFT  TIME TRAVEL DEBUGGING (TTD)
Microsoft.Uev.AppMonitor
#Microsoft.Uev.AppMonitor.MainWindow
Microsoft.Uev.CmUtil
Microsoft.Uev.Common
Microsoft.Uev.Common.ProcessEvents
Microsoft.Uev.ManagedEventLogging
Microsoft.Uev.ModernAppCore
Microsoft.Uev.UevAgentPolicyGenerator
Microsoft.Uev.UevAgentPolicyGenerator.Properties
Microsoft.Uev.UevAgentPolicyGenerator.Properties.Resources.resources
Microsoft.Uev.UevCmUtil
Microsoft.Uev.UevTemplateBaselineGenerator
Microsoft.Uev.UevTemplateBaselineGenerator.Properties
Microsoft.Uev.UevTemplateBaselineGenerator.Properties.Resources.resources
Microsoft.Uev.UevTemplateConfigItemGenerator
Microsoft.Uev.UevTemplateConfigItemGenerator.Properties
Microsoft.Uev.UevTemplateConfigItemGenerator.Properties.Resources.resources
Microsoft.Wdf.Companion.Host
Microsoft.Wdf.UMDF.Dm
Microsoft.Wdf.UMDF.Host
Microsoft_WDF_UMDF_Version
Microsoft.Win32
Microsoft.Win32.SafeHandles
Microsoft.Win32.TaskScheduler
Microsoft Windows0
Microsoft.Windows.AgentActivationRuntime.Settings
Microsoft.Windows.Analog.NUI.SAPI
Microsoft.Windows.Analog.Spectrum
Microsoft.Windows.Analog.Spectrum.Activity
Microsoft.Windows.Analog.SpectrumContinuous
Microsoft.Windows.Analog.Spectrum.TrackingDiagnostics
Microsoft.Windows.Analog.Speech
Microsoft.Windows.Analog.Speech.Activity
Microsoft.Windows.Analog.Speech.OneSettings
Microsoft.Windows.Audio.License
Microsoft.Windows.Audio.SndVolExe
Microsoft.Windows.BackupAndRoaming.Diagnostics
Microsoft.Windows.BackupAndRoaming.SyncEngine
Microsoft.Windows.BackupAndRoaming.SyncOperations
Microsoft.Windows.BackupAndRoaming.WilProvider
Microsoft.Windows.BootFileServicing
Microsoft.Windows.CleanPC
MicrosoftWindowsCodeIntegrityAuditTraceLoggingProvider
MicrosoftWindowsCodeIntegrityTraceLoggingProvider
Microsoft.Windows.ContentDeliveryManager
Microsoft.Windows.DebuggingTools.DebuggerEngine
Microsoft.Windows.Defender
Microsoft.Windows.Defender.Shield
Microsoft.Windows.Desktop.Shell.LanguagePackInstallSettings
Microsoft.Windows.Desktop.Shell.OOBEHealth
Microsoft.Windows.DriverVerifier.UiGui
Microsoft.Windows.FamilySafety.Reliability
Microsoft.Windows.FamilySafety.ScreenTime
Microsoft.Windows.FaultReporting
MicrosoftWindowsFileExplorer
Microsoft.Windows.FileSystem.ReFSUtil
Microsoft.Windows.Holographic.MixedRealityMode
Microsoft.Windows.ImageMitigationPolicy
Microsoft.Windows.Kernel.BootEnvironment
Microsoft.Windows.Kernel.Smss.Telemetry
Microsoft.Windows.Licensing.ChangePK
Microsoft.Windows.Licensing.PhoneActivate
Microsoft.Windows.Licensing.SppSvc
Microsoft.Windows.MediaFoundation.BackgroundMediaPlayback
Microsoft.Windows.MediaFoundation.CallStack
Microsoft.Windows.MobilityExperience
Microsoft.Windows.Narrator.Asimov
Microsoft.Windows.Networking.RAS.Dialer
Microsoft.Windows.Networking.RAS.Manager
Microsoft.Windows.Networking.RAS.MediaManager
Microsoft.Windows.Networking.VPNPlugin
Microsoft.Windows.Networking.VPNPlugin.Manager
Microsoft.Windows.Oct.Broker
Microsoft.Windows.Oct.Enclave
Microsoft.Windows.Oct.Lpac
Microsoft-Windows-PerceptionSensorDataService
Microsoft-Windows-PerceptionSensorDataService-Verbose
Microsoft.Windows.PlatformExtensions
Microsoft.Windows.Power.PowercfgExe
Microsoft.Windows.PowerShell.GuiExe.Internal
Microsoft.Windows.PowerShell.Gui.Internal
Microsoft.Windows.Print.Brm
Microsoft.Windows.Print.CSPs.UPPrinterInstalls
Microsoft.Windows.Print.DevmodeSizePatch
Microsoft.Windows.Print.SplLib
Microsoft.Windows.Print.SpoolerService
Microsoft.Windows.Provisioning.ProvLaunch
Microsoft.Windows.Provisioning.ProvTool
Microsoft Windows Publisher0
Microsoft.Windows.RalmProvider
Microsoft::Windows::RDS::DisplayControl
Microsoft::Windows::RDS::Geometry::v08.01
Microsoft::Windows::RDS::Input
Microsoft::Windows::RDS::Location
Microsoft::Windows::RDS::NamedPipe
Microsoft.Windows.RecoveryDrive
Microsoft.Windows.RemoteDesktop.RAIL.RdpInit
Microsoft.Windows.RemoteDesktop.RAIL.RdpShell
Microsoft.Windows.RemoteDesktop.RAIL.Server.Diagnostics
Microsoft.Windows.Search.Indexer
Microsoft.Windows.Search.Indexer.Aggregated
Microsoft.Windows.Security.Biometrics.Face.DiagnosticsProvider
Microsoft.Windows.Security.Biometrics.Face.PerformanceProvider
Microsoft.Windows.Security.Biometrics.Face.TelemetryProvider
Microsoft.Windows.Security.CandidateAccountManagerPolicy
Microsoft.Windows.Security.PasswordlessPolicy
Microsoft.Windows.Security.SmartCards.TpmVscMgrClient
Microsoft.Windows.Security.SmartCards.TpmVscMgrServerLocal
Microsoft.Windows.Security.SmartCards.TpmVscMgrServerRemote
Microsoft.Windows.Security.TokenBroker.BrowserSSO
Microsoft.Windows.Security.Wininit
Microsoft.Windows.Security.Winlogon
Microsoft.Windows.Security.WinlogonNotify
Microsoft.Windows.ServiceControlManager
Microsoft.Windows.ServiceHealth
Microsoft.Windows.Settings.Accessibility
Microsoft.Windows.Shell.CoCreateInstanceAsSystem
Microsoft.Windows.Shell.CustomShellHost
Microsoft.Windows.Shell.Desktop.LogonFramework
Microsoft.Windows.Shell.FaxScanApp
Microsoft-Windows-Shell-Launcher
Microsoft.Windows.Shell.Oobe.ExpeditedUpdate
Microsoft.Windows.Shell.OpenWith
Microsoft.Windows.ShellPlacements
Microsoft.Windows.Shell.PrivacyConsentLogging
Microsoft.Windows.Shell.Proximity
Microsoft.Windows.Shell.ScoobeEligibility
Microsoft.Windows.Shell.SystemSettings.AdminFlow
Microsoft.Windows.Shell.SystemSettings.CorpDeviceManagementSettings
Microsoft.Windows.Shell.SystemSettings.DataModel
Microsoft.Windows.Shell.SystemSettings.RemoteDesktopAdminFlow
Microsoft.Windows.Shell.SystemSettings.SignInOptionsPage
Microsoft.Windows.Shell.Taskbar
Microsoft.Windows.SmartScreen
Microsoft.Windows.StartRepairCore
Microsoft.Windows.Storage.Spaceman
Microsoft.Windows.Storage.Tiering.Telemetry
Microsoft.Windows.Storage.VDS.Service
Microsoft.Windows.Storage.VSSTraceLogProvider
Microsoft.Windows.Subsystem.Lxss
Microsoft.Windows.SvchostTelemetryProvider
Microsoft.Windows.Sysprep
Microsoft.Windows.SystemImageBackup.Engine
Microsoft.Windows.SystemReset
Microsoft.Windows.Taskmgr
Microsoft.Windows.TaskScheduler
Microsoft.Windows.TlgAggregateInternal
Microsoft.Windows.UpdateNotificationPipeline
Microsoft.Windows.Update.Orchestrator
Microsoft.Windows.Update.Orchestrator.Client
Microsoft.Windows.Upfc
Microsoft.Windows.Upgrade.Uninstall
Microsoft.Windows.UtcDecoderHost
Microsoft.Windows.WaaSMedic
Microsoft.Windows.WaaSMedic.Local
Microsoft.Windows.WERSecureVertical
Microsoft.Windows.WERVertical
Microsoft.Windows.WiFiNetworkManager.WiFiTask
Microsoft.Windows.Wil.FeatureLogging
Microsoft.Windows.WindowsErrorReporting
Microsoft.Windows.WinRTClassActivation
Microsoft.Windows.WinSqm
Microsoft.Windows.WMIC.UsageStats
Microsoft.Windows.Wpr.WprExe
Microsoft.WpcCore.AppLimits
?Mid@CHString@@QEBA?AV1@HH@Z
?Mid@CHString@@QEBA?AV1@H@Z
__MIDL__IWorkspaceBroker20000WWW
__MIDL__IWorkspaceBroker20001WWW
__MIDL__IWorkspaceBroker20002WWW
__MIDL___MIDL_itf_ihost_0001_0000_0001WW
__MIDL___MIDL_itf_ihost_0001_0000_0002WW
__MIDL___MIDL_itf_ihost_0001_0000_0003WW4
__MIDL___MIDL_itf_ihost_0001_0000_0004WW
__MIDL___MIDL_itf_raserver_0001_0066_0001WWW
__MIDL___MIDL_itf_vsadmin_0001_0066_0001 
__MIDL___MIDL_itf_vsmgmt_0000_0000_0001WX
__MIDL___MIDL_itf_vsmgmt_0001_0066_0001Wx
MidnightTransitionType
MidPoint
MigrateAssignClearMountPoints()
MigrateExplorerDestList
MigrationDownsyncMaxAttemptPeriodExceeded
MigrationFeatureOnDemandPackageName
millisecondsTimeout
MIL_VERSION_SUFFIX
mimeType
MIME-Version: 1.0
MIMOPwrSave
m_ImpersonationDataValid should not be NULL
mIMSTSWebProxyWWW
minAccelerationStructureScratchOffsetAlignment
MinCredGetLogonCredentials
MinCredGetLogonType
MinCrypL_HashMemory
MincryptSetWeakCryptoPolicy
minDaysSinceFirstLogonOnCurrentInstallation
minDaysSinceScoobeLastCompleted
minDaysSinceScoobeLastShown
MinEntriesFlushed
MINFILTER
minFragmentDensityTexelSize
minFragmentShadingRateAttachmentTexelSize
Minidumpdir not set
MiniDumpThreadProc
MinidumpWrite
MiniDumpWriteDump
minImageCount
minImageExtent
minImageTransferGranularity
MINIMAL(ALTERNATESHELL)
minImportedHostPointerAlignment
minimum checksum coverage
minInterpolationOffset
	Min interval value is 5s.
MiniTraceProfile
minMemoryMapAlignment
minStorageBufferOffsetAlignment
minSubgroupSize
MINTESSELLATIONLEVEL
minTexelBufferOffsetAlignment
minTexelGatherOffset
minTexelOffset
minUniformBufferOffsetAlignment
MinusHelp
MinutesGranted
MinutesLeft
minutesOverScanSla
minutesOverScanTriggerSla
minutesToCommit
MinValue
minVertexInputBindingStrideAlignment
m_InvitationManager.AddInvitation failed!
m_InvitationManager.Initialize failed!
minZoomValue
MIPFILTER
MIPMAPLODBIAS
mipmapPrecisionBits
MIRRORONCE
?m_isCriticalSectionIntialized@CTraceProvider@@0_NA
MissedRuns
MissingAnchorCount
Missing argument for -C
Missing argument to -o switch
MissingCoreApproval
MissingCoreHash
missing export on dll
MissingFileIsOk
MissingHeTAnchor
MissingLocationCount
Missing operating system
Missing required v4 functions
Missing required v6 functions
MissingTags
(*** MISSING TRAILING NULL CHARACTER ***)
Missing Well-known Attribute
MitigationAuditPolicyValuePostSet
mitigationOption
MitigationPolicyValuePostSet
MKACTIVITY
M(;KDr*L
MkParseDisplayName
-m(KW@0dsT
MKWORKSPACE
;MLeFeeEeLL;
MLESTART
MLESTART_BSS
MLESTART_CODE
m_List is not NULL
m_llAllocatedDiffSpaceWW 
m_llMaximumDiffSpace 
m_llUsedDiffSpaceWWW
m_llVolumeTotalSpace
m_localCloakManager already set
MmAllocateMappingAddress
MMDevAPI.DLL
m_memory
m_message
MmFreeMappingAddress
MmFreePagesFromMdl
MmGetSystemRoutineAddress
mmioClose
mmioDescend
mmioOpenW
mmioRead
]]mmm];0
MmMapLockedPagesSpecifyCache
MmMapLockedPagesWithReservedMapping
	MMMI]]]5R
MMMMMMMMMMM
MMMMMMMMMMMM
MmmrruurrnmM
mmmtdHhzj
m_ModEntryPt should be NULL
MmUnmapLockedPages
MmUnmapReservedMapping
m_network
mnnnnnnnnnnnnnnnnnm
?m_NoDebuggerLogging@CVdsTraceSettings@@QEAAHXZ
mnpvzusif_
MO addition or update failed
Mobile IP
Mobile IP (old)
mobile router advertisement
mobile router solicitation
mobility
Mobility
mobility-header
moContainer
Model already exists under this directory so Model will be replaced
modelCabFileName
modelCountInPayload
ModelDownloadActivity
Model Download Job Callback: JobError
Model Download Job Callback: Job Modification
ModelDownloadSkipped
	ModelEjectionFodMarkForDeletion.IsEnabled
modelFirstTimeUpdated
Model is not needed so attempting to register the smart signal for model right away.
Model is not needed so attempting to register the smart signal right away.
Model name
Model schema is received from one settings but the Json Value type is unexpected so skipping.
ModelUpdate
ModelUpdate_Abort
ModelUpdate_Abort_Suppressed
ModelUpdateActivity
Model update after it is downloaded: 
ModelUpdate_Begin
ModelUpdate_Begin_Suppressed
ModelUpdate_CoalescedSession
ModelUpdate_CoalesceFailure
ModelUpdate_DownloadFiles
ModelUpdate_DownloadFiles_Suppressed
ModelUpdate_DownloadMetadata
ModelUpdate_DownloadMetadata_Suppressed
ModelUpdate_End
ModelUpdate_End_Suppressed
ModelUpdate_InitializeParameters
ModelUpdate_InitializeParameters_Suppressed
ModelUpdateNotAllowed
ModelUpdate_ParseMetadata
ModelUpdate_ParseMetadata_Suppressed
ModelUpdateSkipped
ModelUpdate_Start
ModelUpdateStatus: Remote and Local files
ModelUpdate_Stop
ModelUrl
Model Validation
ModelVerificationActivity
modification-time
ModificationType
modifier
?ModifyName@PATH@@QEAAEPEBVWSTRING@@@Z
ModifySystemAccessInDacl failed!
modInfo should not be NULL
modp1024
modp1536
modp2048
modp3072
modp4096
modp6144
modp8192
MODULATE
MODULATE2X
MODULATE4X
MODULATEALPHA_ADDCOLOR
MODULATECOLOR_ADDALPHA
MODULATEINVALPHA_ADDCOLOR
MODULATEINVCOLOR_ADDALPHA
Module32FirstW
Module32NextW
ModuleCollection
module failed to load
ModuleHandle
ModuleInfo contains invalid module name
_Module.Init failed
ModuleName
ModulePath
ModuleRegex
mofcomp.pdb
MOMd0MOMOMdMOdOMOMd
MOMOd0j)
monitorCount
monitorDevicePath
MonitorDisplayInfo
MonitorEnumFuncHelper failed
monitorFriendlyName
MonitorFromPoint
MonitorFromRect
MonitorFromWindow
monitorHeight
MonitoringPulse
monitorName
MonitorRect Bottom physical pixels
MonitorRect Left physical pixels
MonitorRect Right physical pixels
MonitorRect Top physical pixels
monitorTargetId
monitorWidth
MOpesSubscriberWWWd
moreCommands
More Data 
More Fragments 
MoReport is disabled
MoReport is enabled
more...press any key to continue
MoreTimeCanceled
MoreTimeGranted
Morrisville1
?m_OSVersion@Environment@UnBCL@@0PEAVOperatingSystem@2@EA
MountComponentsHive
MountSchemaHive
MountVolume
MO upload
mouse_event
mousekeys
?MouseWithinProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
MoveAndSecureFile
MoveAndSecureFile failed
?Move@Directory@UnBCL@@SAXPEBVString@2@0@Z
?MoveEx@File@UnBCL@@SAXPEBVString@2@0K@Z
MoveFile
MoveFileEx
MoveFileEx failed
MoveFileExW
MoveFileFlags
?Move@File@UnBCL@@SAXPEBVString@2@0@Z
MoveFileW
MoveFolderWWL
MoveNext
MoveSettingsToMigrationKey
MoveToAlone
MoveToContent
MoveToEx
MoveToFirstAttribute
MoveToNextAttribute
MoveToShared
MoveWindow
movi00db
movi00dc(
			-moz-background-size: cover;
MpAllocMemory
m_pAppBackupContext
m_pAsyncContext
!m_pAsyncHelper
m_pAsyncHelper
!m_pAsyncRef
m_pAttachedWudfDevice should be NULL
m_pBackupSet
!m_pbHashObject
m_pBmrAsrRestore
!m_pCatalogSystem
m_pCatalogSystem
MpChangeCapability
MpCleanControl
MpCleanOpen
MpCleanStart
m_pComponentBackupHelper
MpConfigClose
MpConfigDelValue
MpConfigGetValue
MpConfigGetValueAlloc
MpConfigIteratorClose
MpConfigIteratorEnum
MpConfigIteratorOpen
MpConfigOpen
MpConfigSetValue
MpConveyDlpBypass
MpConveyUserChoiceForDlpNotification
MpConveyUserChoiceForSampleList
m_pCtxtSppMetadata
m_pCurrentIWudfDevice should not be NULL
m_pCurrentRestoreContext
MPD8u@uLH
MpDeleteAsrHistory
MpErrorMessageFormat
m_pExclusionHandler
m_pFailureLog
MpForcedReboot
MpFreeMemory
m_pFullPathFgd
MpGetAsrBlockedActionInfos
MpGetAsrBlockedActions
MpGetAsrBlockedProcesses
MpGetCallistoDetections
MpGetRunningMode
MpGetSampleListRequiringConsent
MpGetThreatExecutionInfo
MpGetTPStateInfo
m_pGroup
MpHandleClose
m_pIgnoreLocalCompartmentChangeTimer.get()
MpIsGivenRunningModeSupported
MPL941tRH
m_pLocalCatalog
mpls-in-ip
MPLS multicast
MPLS unicast
MPLS-VPN Sham
MPM9e@tBE
MpManagerDisable
MpManagerEnable
MpManagerOpen
MpManagerStatusQueryEx
MpManagerVersionQuery
m_pMetadata
m_pMultiTransportDispatcher should not be NULL
MpNotificationRegister
MpNotifyStatus
MpOfflineScanInstall
MpOfflineScanStatusQuery
m_pOwnerIWudfDevice should not be NULL
m_pParentBackupAsync
m_pParentCtxt
m_pPendingCompartmentInfoTimer.get()
m_pQpcTimeConverter
MpQuarantineRequest
MpQueryDefaultFolderGuardList
MpQueryEngineConfigDword
m_process
m_PropertyCache.Allocate(m_LayoutCache.TotalObjectCount())
m_provider
m_ProviderId 
m_ProviderIdx
m_ProviderVersionIdW
m_ProviderVersionIdW@
MpScanControl
MpScanResult
MpScanStart
!m_pSecurityDescriptor
MpSetBreakTheGlassStatus
MpSetTPState
MpShowDlpDetailsDialog
m_pSSBContext
m_pStateInfo
m_pSuccessLog
MpThreatEnumerate
MpThreatHistoryRequest
MpThreatOpen
MpThreatQuery
MpTriggerStatusRefreshNotification
MpUpdateControl
MpUpdateStartEx
m_pwszDiffAreaVolumeName 
m_pwszExposedNameWWW 
m_pwszExposedNameWWWx
m_pwszExposedPathWWW 
m_pwszExposedPathWWWx
m_pwszOriginalVolumeName 
m_pwszOriginalVolumeNamex
m_pwszProviderNameWW
m_pwszProviderVersionWWW
m_pwszProviderVersionWWW@
m_pwszServiceMachine 
m_pwszServiceMachinex
m_pwszSnapshotDeviceObjectWW 
m_pwszSnapshotDeviceObjectWWx
m_pwszVersionString
m_pwszVolumeDisplayNameW
m_queuedDirectoryTree.IsEmpty()
m:::::::R
Mr@aCJ*@
mRegisterRunningDeviceWWW
m_remoteCloakManager already set
m_rgBagCat
m_rgMediaCat
m_rgSppGroup
m_rgVolumeContext
m_rgVolumeContext[iVolume].volumeMap.wszRestoreAccessPath
m_rgVolumeMap
m_RMHandles.Allocate(Capacity)
MrtCreateOverrideResourceContext
MrtGetThreadPreferredUILanguageName
MrtProcessMRTFilePath
MRUEstablishedValueChanged
mrymD2B6BFGig6  
MSAInterrupt
MsaPolicyDocumentNotCached
MSA scope
mscms.dll
mscoree.dll
mscorlib
MSDOS5.0
msdownld.tmp
msdrm.dll
m_service
MSFT1200
MsftDisk
msftwindow
MsgCreator_BitLocker
MsgCreator_BlbNotSupported
MsgCreator_ContainsOldFormatBLB
MsgCreator_Corruption
MsgCreator_GPDisablesUserFileBackup
MsgCreator_GroupPolicy
MsgCreator_InsufficientSpaceForBlb
MsgCreator_NoSecuritySupport
MsgCreator_OnDynamicDisk
MsgCreator_OnSysOrBootDisk
MsgCreator_WinREVolume
_MsgDetailsDlgInit
MsgDlgUtil
_MsgErrorDialogInit
_MsgFinishPageConfirm
_MsgFinishPageInitDlg
_MsgFinishPageSetActive
_MsgIntroErrorPageInitDlg
_MsgIntroErrorPageSetActive
_MsgIntroPageInitDlg
_MsgProgressDialogUpdate
_MsgRestorePointCheckboxClicked
_MsgRestorePointItemChanged
_MsgRestorePointPageInitDlg
_MsgRestorePointPageNext
_MsgRestorePointPageOnCommand
_MsgRestorePointPageSetActive
_MsgSortRestorePointPicker
_MsgSortVolumePicker
_MsgSuccessDialogInit
_MsgSuggestPageInitDlg
_MsgSuggestPageSetActive
_MsgVolumePickerClickItem
_MsgVolumePickerKeyDown
_MsgVolumePickerPageInitDlg
_MsgVolumePickerPageNext
_MsgVolumePickerPageSetActive
MsgWaitForMultipleObjects
MsgWaitForMultipleObjectsEx
MsiConfigureProductW
MSIPP-MK
MSIPP-SK
MsiSetInternalUI
m_SnapshotId 
m_SnapshotIdx
m_SnapshotSetIdW 
m_SnapshotSetIdWx
MS NLB heartbeat
m_spAICProxy
m_spAppBarTrayFn
m_spAvcShowInSwitchersEventSource
m_spBackupItemsRoot
m_spCachedStream
m_spCloakSyncComponent
m_spComponentNode
m_spCoreEvents
m_spDisplayControlChannel
m_spDisplayControlProcessThread
-m specifies a remote Windows NT machine whose registry is to be manipulated.
m_spIKanaSet
m_spInclusionRoot
m_spInjectionThread
m_spITfLangBarMgr
m_spMonitorLayoutChangeRequestedEventSource
m_spNamedPipeChannel
m_spPlatform
m_spPointerInputInjector
m_spRailChannels
MS Protected Media Test Root
m_spShellInstance
m_spTimerElapsedEventSource
m_spVCManager
!m_spVssAsync
m_spVssAsync
!m_spVssBackupComponents
m_spVssBackupComponents
msrodata
@msrodata0
MSSearch DAV
MSSignedWinLoadDriverLoadSuccessAudit
MSSRCH.DLL
m_StoredTable.Initialize()
m_strAccountName.IsEmpty()
m_strDomain.IsEmpty()
m_strSid.IsEmpty()
MSTSWebProxy Class
MSTSWebProxyd
msvcp110_win.dll
MSVCP140.dll
msvcp_win.dll
msvcrt.dll
?m_SystemInfo@Environment@UnBCL@@0PEAVSystemInfo@2@EA
MTACapital
MT_AcquireFrame
MT_AcquireFrameResponse
MTANoProfile
MTAThreadAttribute
m_tBackupTime.dwHighDateTime || m_tBackupTime.dwLowDateTime
MT_CloseSource
MT_ControllerModeLost
MT_Count
MTE;MXwaL
MT_EnterControllerMode
MT_EnterFaceAuthenticationMode
MT_ExitControllerMode
MT_ExitFaceAuthenticationMode
MT_FrameCaptured
MT_Heartbeat
m_ThreadPool should not be NULL
m_ThreadTransactionsLock.Initialize()
??MTIMEINFO@@QEBAEV0@@Z
m_TopDevice should not be NULL
MT_OpenSource
MT_PropertyChanged
mtrace message
mtrace response
mtree:checkfs
MT_ReleaseFrame
MT_ResponseRequired
MT_ResponseRequiredResult
m_tsCreationTimestampWWW
MT_SetPropertyResult
MT_SetPropertyValue
MT_SourceCalibrationChanged
MT_SourceEnumerationCompleted
MT_SourceRegistered
MT_SourceSetRegistered
MT_SourceSetUnregistered
MT_SourceStatusChanged
MT_SourceUnregistered
mTTT000@_
MT_Unknown
_Mtx_destroy_in_situ
_Mtx_init_in_situ
_Mtx_lock
_Mtx_unlock
mUA.*(Sh
multi(0)disk(0)
MultiByteToWideChar
Multicast
MulticastDelegate
multicast listener done
multicast listener query
multicast listener report
multicast listener report v2
Multicast VPN
multiDraw
multiDrawIndirect
Multi Exit Discriminator
MultiohopAction 
?MultipleClick@TouchButton@DirectUI@@SA?AVUID@@XZ
Multiple initialization
Multiple initialization of IoStack object
Multiple Paths
Multiple Routes to a Destination
MULTIPLYADD
Multiprotocol Extensions
Multi-Protocol Reach NLRI
Multi-Protocol Unreach NLRI
MULTISAMPLEANTIALIAS
multisampleArrayImage
MULTISAMPLEMASK
MultiScriptRunner
Multisession BGP
MultiSzToStrings failed
multiview
multiviewGeometryShader
multiViewport
multiviewTessellationShader
m_userContext
Must be initialized with non-null child before use.
Must be initialized with non-null web platform before use.
!Must be less that 1024 characters
Must only be registered once.
Must provide at least 1 event
Must specify an input XML file.
Must specify exactly one read and one write guid
mutableComparisonSamplers
MuteState
MuteToggle
mutexHandle
mutexName
m	wcscpy_s
m	wcscspn
m_wszApplicationId
m_wszBackupSetDirectory
m_wszBackupSpecs
m_wszCurrentCompactionVolume
m_wszSpecsXML
m_wszUserName
mXD9UPtOI
MXH9H(rDH
MXN94)tXH
.MyDereference of destroyed object
myPrinter
myProgramData
?myRegCreateKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKPEAGKKQEAU_SECURITY_ATTRIBUTES@@PEAPEAU2@PEAK@Z
?myRegDeleteKey@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
?myRegDeleteValue@CRegistry@@AEAAJPEAUHKEY__@@PEBG@Z
?myRegEnumKey@CRegistry@@AEAAJPEAUHKEY__@@KPEAGK@Z
?myRegEnumValue@CRegistry@@AEAAJPEAUHKEY__@@KPEAGPEAK22PEAE2@Z
?myRegOpenKeyEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEAPEAU2@@Z
?myRegQueryInfoKey@CRegistry@@AEAAJPEAUHKEY__@@PEAGPEAK22222222PEAU_FILETIME@@@Z
?myRegQueryValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGPEAK2PEAE2@Z
?myRegSetValueEx@CRegistry@@AEAAJPEAUHKEY__@@PEBGKKPEBEK@Z
N@@@81!4
-n*@8jk[
N 9H t[H
N 9H u	H
N(9M8u	H
NACK Reply
NaDynamicLockForceEvaluate
NaDynamicLockShouldIgnoreDisplayRequestActivity
NaDynamicLockShouldIgnoreUserActivity
NaDynamicLockShouldSkipGracePeriod
NaDynamicLockStart
NaDynamicLockStop
NameChange
NameCollision
Named Arguments Collection Object InterfaceWWW-
Named Arguments Collection ObjectW#
NamedCallContextActivity
NamedPipeClient
NamedPipeServer
NamedWWW
name (eg: 
name.get()
Names.Allocate()
namespace
?name@type_info@@QEBAPEBDXZ
nan(ind)
NAN(IND)
nan(snan)
NAN(SNAN)
nat_detection_destination_ip
nat_detection_source_ip
NativeCallbackFailureCount
NativeCallbackReadDirectCount
NativeCallbackReadMappedCount
NativeConstants
NativeCultureResolver
NativeMethods
Native orientation should have been a valid expected orientation or None when displayInformation is null
NativeVhdBoot
Native VLAN ID
NaturalAuthClient.dll
?Navigate@ElementProvider@DirectUI@@UEAAJW4NavigateDirection@@PEAPEAUIRawElementProviderFragment@@@Z
NavigateEvent
NavigationDomainService must be initialized before this call.
navigationEventHandler
NAVShutdown
@nb!dOW*f'	
?NBLKuTH
nBufferMax
NcHFHHHFCC:::*
NCObjAPI.DLL
nCODOSSSWWWWXWLWaanv
NcqReadLogErrorCount
NCQueueSlice
NCQueueSliceIssued
NCryptCreateClaim
ncrypt.dll
NCryptFreeObject
NCryptGetProperty
NCryptOpenKey
NCryptOpenStorageProvider
NCryptSetProperty
nd0d 10i
ND"3Q91uQ0
N(D8yMtT
ndis.sys
_NdisWan
ndp_count
Ndr64AsyncClientCall
Ndr64AsyncServerCallAll
NdrAsyncServerCall
NdrClientCall2
NdrClientCall3
NdrServerCall2
NdrServerCallAll
Nd]XUzvo
 NE26666
N'(E2a	 
NeedChkdsk
need dictionary
      need not contain KnownDlls since those are always loaded
needReboot
NeedToUpdateDNSresolver
negate and divide modifiers cannot be combined
Negotiate
NeHsxsxsIe5(
neighbor advertisement
neighbor solicitation
Neighbor TLV
Neither driver keys nor BCD keys may be modified during online servicing.
netadaptercx.sys
netapi32.dll
NETAPI32.dll
NetApiBufferAllocate
NetApiBufferFree
.NET Framework 4.5.1
.NET Framework 4.6.2
NetFreeAadJoinInformation
NetGetAadJoinInformation
NetGetJoinInformation
NetIsServiceAccount
NetJoinDomain
net_join_status
NetLocalGroupAdd
NetLocalGroupAddMembers
NetLocalGroupDel
NetLocalGroupDelMembers
NetLocalGroupGetInfo
NetLocalGroupGetMembers
netmsg.dll
NetpIsRemote
Netprofm_GetInterfaceHasInternetConnectionProfile
NetpsNameValidate
NetpwNameValidate
NetpwPathType
Netronome
NETSCAPE2.0
NetServerDiskEnum
NetServerEnum
NetServerGetInfo
NetServerTransportEnum
NetSetupApi.dll
NetSetupClose
NetSetupFreeObjectProperties
NetSetupFreeObjects
NetSetupGetObjectProperties
NetSetupGetObjects
NetSetupInitialize
NetShareAdd
NetShareDel
NetShareDelEx
NetShareEnum
NetShareGetInfo
NetShareSetInfo
NetUserGetInfo
netutils.dll
NetValidatePasswordPolicy
NetValidatePasswordPolicyFree
Network address
Network Address
NetworkConnected
NetworkConnected: LocalAlloc failed
NetworkConnected: RegGetValueA(bind) failed
NetworkConnected: RegGetValueA(LanaMap) failed
network connectivity
networkCostPolicy
NetworkCostPolicy
network down
network_down
network policy
Network policy
NetworkProtectionHealth
NetworkProtectionStatus
network reset
network_reset
NetworkRestricted
networkStatus
network unreachable
network_unreachable
NeutralResourcesLanguageAttribute
NeverHostedWebContent
NewAnchorId
?NewBuf@DSTRING@@UEAAEK@Z
?newCharReader@CharReaderBuilder@Json@@UEBAPEAVCharReader@2@XZ
"new CRdpGeometryHelper()"
"new CRdpHintApiSink()"
"new CRdpRefCountString()"
"new CRdpWindowTracker()"
?New@CWbemCallSecurity@@SAPEAV1@XZ
newDefaultId
newdev.dll
NewEntry.Allocate()
NEW-ENVIRON
newer-ctime
newer-ctime-than
newer-mtime
newer-mtime-than
newer-than
NewFaxScanAction
NewHeightInPixels
newhnamemem: calloc
NewInstance.Allocate()
New Jersey1
newLocalAnchor
?_New_Locimp@_Locimp@locale@std@@CAPEAV123@AEBV123@@Z
newMapIdEpoch
newMapIdMajor
newMapIdMinor
NewMetadataItemCreated
New module list should not be empty.
NewPrinterName
newPriorityStaticNodePosesNeeded
newRevisionId
newSpatialGraphDevicePath
newSpatialGraphDriverClientLifetimeId
newSpatialGraphDynamicNodeId
NewStartType
newState
New State
NewState
newStateId
newStaticNodesGenerationId
NewStatus
NewTabName
NewTearoff.Allocate()
NewTieredVolumeMount
newValue
NewValue
NewValue parameter is not a valid value
newVersion
_newVhdFormat
NewWidthInPixels
_nextafter
?Next@CPrvEnumObject@@UEAAJKPEAPEAUIUnknown@@PEAK@Z
?Next@CRtlListIter@@QEAAAEAV1@XZ
?Next@CRtlMapIter@@QEAAAEAV1@XZ
?Next@CVdsWmiVariantObjectArrayEnum@@QEAAJPEAPEAUIWbemClassObject@@@Z
NextExpirationTime
nextHealthCheckTime
	    nexthop: 
Next Hop
nextNode method failed
NextRuntime
?NextSubKey@CRegistry@@QEAAKXZ
NextValue
NFP(R.T.V
NgcEnumContainers
NgcFreeEnumState
NgcGetKeyId
NgcIncrementPinRetryAttempts
NgcIsAnyContainerInVsm
NgcLocalAddCredential
NgcLocalFindCredential
NgcNeedProvision
NgcQueryEnabled
N(GetDriveNameL
N;GGGGGGff
n...GGHHH
n..GGHHH
NhGetInterfaceNameFromDeviceGuid
;NHstD9x
NIArguments2W
Nicira Networks
NicSpecificExtension
NIFolderCollectionWWW
nInBufferSize
nInitialize  failed
NInitializeWW
NInput.dll
NIS-domain-name
n is equal to npos
NIsolationAware function called after IsolationAwareCleanup
NIS-server
(ni: trunc)
@nj dOW:n'	
nj dOW:n'	
NkpEk!q4
nLifeTimeWWW
*NLLLMG4
nlmSleepTimeMs
NLStrings
nM4444442--
nnn*CCC_DDD
nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXnnnnnnnnnnnnkkaaaaagddddddddddddddddddddddddiiiXnnnnnnnnnnnnlTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!iXnnnnnnnnnnnnl
"-nnuyyu"
No acceptable client certificate
--no-acls
NoAction
no_additional_sas
NoAddrsAvail
 NO_ADVERTISE
No ATR available
NoBinding
no buffer space
no_buffer_space
 NoChange
no child process
[no cksum] 
no_connection
No corresponding web-browser-connection Session ID
node addresses
nodeIdGuid
 node information query
node information query
 node information reply
node information reply
nodeReferenceAddress
nodeToParent
No Device Groups Found
--nodump
No dump file present in crash control
No dump file to get header from
No dump was present
 NO_EXPORT
 NO_EXPORT_SUBCONFED
--no-fflags
no-fflags
(no filename)
no files or directories specified
No files with exact match in the datastore
no handler registered
NOINTEGRITYCHECKS
	Nokia BH-505
No live dump was present
no lock available
NoLowUpTimeDetectTime
--no-mac-metadata
no-mac-metadata
No matching invitation found
NoMediaPresent
No memory
no message
no message available
No minidump file set
No more than one device in a stack can be the Power Policy Owner.
No more than one flag set check failed: __e
 non-backup
    non-blank character of the next line are ignored.  If there is more
nonCoherentAtomSize
No need to send OMA-DM report
non-elevated
NONESP-encap: 
NoNetwork
non_first_fragment_also
NonInjectedCount
Non Io message passed to CWudfIoIrp
non-matrix types cannot be declared 'row_major' or 'column_major'
NonPpkgDefaultPathFile
NonProvisioningPackage
(non-sparse)
nonstoring
nonstoring-multicast
nontemporary type used as a temporary
(non-transient)
non-transitive
non-trivial object expressions not yet implemented
noOfApplicablePausedUpdates
NoOfAppsInBackup
NoOfComponentsInBackup
NoOfVolumesFullyBackedUp
NoOfVolumesPartiallyBackedUp
NoOfVolumesWithBadClusters
No PerfTrack Providers
NoPrefixAvail
--nopreserveHFSCompression
nopreserveHFSCompression
NO-PROPOSAL-CHOSEN
no_protocol_chosen
no protocol option
no_protocol_option
norecurse
no-recursion
	NoRemove AppID
        NoRemove AppID
    NoRemove AppID
	NoRemove CLSID
        NoRemove CLSID
    NoRemove CLSID
            NoRemove 'Content Type'
        NoRemove Database
                        NoRemove Extensions
    NoRemove Interface
                                NoRemove Internet
                                NoRemove LocalIntranet
        NoRemove Microsoft
    NoRemove MIME
                            NoRemove NamedPermissionSets
            NoRemove .NETFramework
                    NoRemove Policy
                NoRemove Security
    NoRemove SOFTWARE
NORMALDEGREE
normalize
NORMALIZENORMALS
NormalLatency
NormalPersistence
NormalQueueSlice
NormalQueueSliceIssued
NormalWW
Nortel Networks SONMP
North American Datum 1983 (MLLW)
North American Datum 1983 (NAVD88)
North Carolina1
N]O_S2eQ
no-safe-writes
no-same-owner
no-same-permissions
NoScorch
NoSessionId
No shared mem handle or process id was passed
No shared mem handle passed
no signature field
NoSihPeriodicOrRebootActionsDue
no space on device
NoSpeechUsage
no state
no stream resources
no such device
no such device or address
no such file or directory
no such process
not a directory
 Not all Elements were destroyed and can cause crashes later! 
not allowed
NotAllowed
NotArray
not a socket
not_a_socket
not a stream
 NotAuth
Not Available
Not backup
not cannot be used with other modifiers
NotConfigured
not connected
not_connected
 not deserializable from 
NotEnoughCores
not enough memory
Not enough room in InputBuffer for GetKernelFieldInfo
Not enough room in InputBuffer for MapFile
Not enough room in InputBuffer for ReferenceDeviceObject
Not enough room in InputBuffer for ReferenceDriverObject
Not enough size left in data buffer to parse struct
- not enough space for arguments
- not enough space for environment
- not enough space for locale information
- not enough space for lowio initialization
- not enough space for stdio initialization
- not enough space for thread data
NotEqual
NOTEQUAL
Note: the Max value above was at the time of insertion and may NOT be the max if
                    Note: This option does not affect html or json output;
NotExists
No textFile specified
not found:
Not found
Not Found
NotFound
Not found in archive
notification
Notification
NotificationCount
NotificationSubscriptionLimitExceeded
NotificationThread()
NotificationThread exiting due to shutdown.
notificationType
NotifyBootConfigStatus
NotifyComponents - CreateThreadEx error
NotifyComponents - GetExitCodeThread error
NotifyingServices
NotifyInitializationComplete failed!
NotifyInteractiveSessionLogoff
NotifyKernelOnUserPresenceOnDesktopForDMAProtection
NotifyNewSession failed
NotifyParentThatCurrentChildWindowIsClosing can only be called on a child window.
NOTIFY-SA-LIFETIME
notifyService
NotifyServiceStatusChangeW
NotifyThemes - GetProcAddress (uxtheme) error
NotifyThemes - LoadLibrary uxtheme.dll error
NotifyThemes - RefreshThemeForTS error
NotifyThreadProc - CoCreateInstance failed. Probably didn't call CoInitialize
NotifyThreadProc - Property Bag write failed
NotifyThreadProc - UpdatePerUserSystemParameters failed
NotifyUnicastIpAddressChange
NotifyWinEvent
NotImplementedException
Not in transaction
no title
Not launching reporting console: current process is not interactive or wer is disabled or not opted in
Not launching reporting console: pester has not expired
Not launching reporting console: transport is not available
NotMidnight
Not-null check failed: AfterChar
Not-null check failed: AfterSplit
Not-null check failed: Attributes
Not-null check failed: BeforeChar
Not-null check failed: BeforeSplit
Not-null check failed: Blob
Not-null check failed: BytesRequired
Not-null check failed: ComparisonResult
Not-null check failed: Contents
Not-null check failed: Context
Not-null check failed: CountFetched
Not-null check failed: Data
Not-null check failed: DataBlock
Not-null check failed: Decoder
Not-null check failed: Destination
Not-null check failed: Directory
Not-null check failed: Document
Not-null check failed: DocumentNode
Not-null check failed: Duplicated
Not-null check failed: Enum
Not-null check failed: Enumerator
Not-null check failed: fHasAttribute
Not-null check failed: fHasAttributes
Not-null check failed: fHasChildNodes
Not-null check failed: File
Not-null check failed: FileID
Not-null check failed: FullOfflineHiveFilePath
Not-null check failed: GetOperationCallback
Not-null check failed: Group
Not-null check failed: Information
Not-null check failed: IoStatusBlock
Not-null check failed: IsoLayer
Not-null check failed: Iterator
Not-null check failed: Key
Not-null check failed: KeyNameBuffer
Not-null check failed: Length
Not-null check failed: MappedPath
Not-null check failed: Matches
Not-null check failed: Name
Not-null check failed: NodeList
Not-null check failed: NodeSet
Not-null check failed: ObjectName
Not-null check failed: Op.Data.BeginTransaction
Not-null check failed: Op.Data.CopyFile
Not-null check failed: Op.Data.CreateDirectory
Not-null check failed: Op.Data.CreateFile
Not-null check failed: Op.Data.DecompressFile
Not-null check failed: Op.Data.DeleteFile
Not-null check failed: Op.Data.DeleteKey
Not-null check failed: Op.Data.DeleteKeyValue
Not-null check failed: Op.Data.FlushFileBuffers
Not-null check failed: Op.Data.SetFileInformation
Not-null check failed: Op.Data.SetKeySecurity
Not-null check failed: Op.Data.SetKeyValue
Not-null check failed: Op.Data.WofDecompressFile
Not-null check failed: Op.Data.WriteFile
Not-null check failed: OtherSIL
Not-null check failed: Out
Not-null check failed: Owner
Not-null check failed: Params
Not-null check failed: Path
Not-null check failed: PathIn
Not-null check failed: PathOut
Not-null check failed: pDocument
Not-null check failed: pObject
Not-null check failed: pOutputStream
Not-null check failed: Profile
Not-null check failed: PseudoKeyOut
Not-null check failed: pStream
Not-null check failed: pTransactionCoordinator
Not-null check failed: pWriter
Not-null check failed: ReparseTag
Not-null check failed: ReserveId
Not-null check failed: ReserveManager
Not-null check failed: Result
Not-null check failed: Root
Not-null check failed: Source
Not-null check failed: SourceString
Not-null check failed: String
Not-null check failed: String1
Not-null check failed: String2
Not-null check failed: StringInBuffer
Not-null check failed: Target
Not-null check failed: Transaction
Not-null check failed: TransformFunction
Not-null check failed: UserSidString
Not-null check failed: Value
Not-null check failed: Writer
Not-null check failed: WritingContext
NotOnLink
NotPreempted
NOT_READY
NotRegex
not reproject corrupted file
not required
NotSameDevice
NotStarted
not supported
Not Supported
NotSupported
NotSupportedException
NotSupportedInThisSku
NotSupportedOnSku
Not supported to authenticate challenge
Not supported to deauthenticate the role
Not supported to get challenge
nOTUTU[[ED'
NOT visible
No type found
 NotZone
No update available at this time
NoUrlMimeFilters
nOutBufferSize
No UTC Providers
Novell IPX
November
nowInQpcTicks
no-xattr
--no-xattrs
no-xattrs
NPL;)uHH;y
NppWin32DpiApi
NqN555GGIdfi
NQueryProvidersWWd
NRAServerLibW
NSAP_PTR
nsfnet-igp
NsiGetAllParameters
NsiGetParameter
Nsi_NsiRpcRegisterChangeNotificationEx
NSSA External
nSubAuthorityCount
NtAccessCheck
NtAccessCheckAndAuditAlarm
NtAdjustPrivilegesToken
NtAllocateLocallyUniqueId
NtAllocateVirtualMemory
NtAlpcAcceptConnectPort
NtAlpcCancelMessage
NtAlpcConnectPort
NtAlpcCreatePort
NtAlpcCreatePortSection
NtAlpcCreateResourceReserve
NtAlpcCreateSectionView
NtAlpcCreateSecurityContext
NtAlpcDeletePortSection
NtAlpcDeleteResourceReserve
NtAlpcDeleteSectionView
NtAlpcDeleteSecurityContext
NtAlpcDisconnectPort
NtAlpcImpersonateClientOfPort
NtAlpcOpenSenderProcess
NtAlpcSendWaitReceivePort
NtAlpcSetInformation
NtAssignProcessToJobObject
NtClearEvent
::NtClose(Handle)
NtCloseObjectAuditAlarm
NtCommitTransaction
NtConnectPort
NtCreateDirectoryObject
NtCreateEvent
NtCreateFile
NtCreateIoCompletion
NtCreateIRTimer
NtCreateKey
NtCreateKeyTransacted
NtCreateMutant
NtCreatePagingFile
NtCreateSection
NtCreateSymbolicLinkObject
NtCreateThreadEx
NtCreateToken
NtCreateTransaction
NtCreateUserProcess
NtCreateWnfStateName
NtDelayExecution
NtDeleteFile
NtDeleteKey
NtDeleteObjectAuditAlarm
NtDeleteValueKey
NtDeleteWnfStateName
NtDeviceIoControlFile
NtDisplayString
ntdll32.dll
ntdll.dll
ntdllLdrInitializeThunk
NtDrawText
NTDSAPI.dll
NtDuplicateObject
NtDuplicateToken
NtEnumerateBootEntries
NtEnumerateKey
NtEnumerateValueKey
NtFilterToken
NtFlushBuffersFile
NtFlushKey
NtFlushKey(Key)
NtFreeVirtualMemory
NtFreezeRegistry
NtFreezeTransactions
NTFS    
NtFsControlFile
NTFS    H
NTFS    H9N
NtfsIoFailure
NtfsLatencySummary
NtGetCachedSigningLevel
NtGetMUIRegistryInfo
nthSkippedReasonFlag
NtImageInfo
NtInitializeRegistry
NtInitiatePowerAction
NtIsSystemResumeAutomatic
NTLMIsDisabledReminder
NtLoadDriver
NtLoadKey
NtLockProductActivationKeys
NtMakeTemporaryObject
NtMapViewOfSection
ntmarta.dll
NtOpenDirectoryObject
NtOpenEvent
NtOpenFile
NtOpenKey
NtOpenKeyEx
NtOpenKeyTransacted
NtOpenKeyTransactedEx
NtOpenProcess
NtOpenProcessToken
NtOpenProcessTokenEx
NtOpenSymbolicLinkObject
NtOpenThread
NtOpenThreadToken
NtOpenThreadTokenEx
ntoskrnl.exe
NtPowerInformation
NtPrivilegeCheck
NtPrivilegeObjectAuditAlarm
NTP-server
NtQueryAttributesFile
NtQueryBootEntryOrder
NtQueryBootOptions
NtQueryDirectoryFile
NtQueryDirectoryObject
NtQueryEaFile
NtQueryEvent
NtQueryInformationFile
NtQueryInformationJobObject
NtQueryInformationProcess
NtQueryInformationThread
NtQueryInformationToken
NtQueryInformationTransaction
NtQueryIntervalProfile
NtQueryKey
NtQueryLicenseValue
NtQueryObject
NtQueryPerformanceCounter
NtQuerySection
NtQuerySecurityObject
NtQuerySecurityPolicy
NtQuerySymbolicLinkObject
NtQuerySystemEnvironmentValueEx
NtQuerySystemInformation
NtQuerySystemInformationEx
NtQuerySystemTime
NtQueryTimerResolution
NtQueryValueKey
NtQueryVolumeInformationFile
NtQueryWnfStateData
NtQueueApcThread
NtRaiseHardError
NtReadFile
NtReleaseMutant
NtRemoveIoCompletion
NtRequestWaitReplyPort
NtResetEvent
NtResumeProcess
NtResumeThread
NtRollbackTransaction
NtSerializeBoot
NtSetCachedSigningLevel
NtSetCachedSigningLevel2
NtSetEaFile
NtSetEvent
NtSetInformationFile
NtSetInformationKey
NtSetInformationProcess
NtSetInformationThread
NtSetInformationToken
NtSetIntervalProfile
NtSetIoCompletion
NtSetIRTimer
NtSetSecurityObject
NtSetSystemEnvironmentValue
NtSetSystemInformation
NtSetThreadExecutionState
NtSetValueKey
ntshrui.dll
NtShutdownSystem
NtShutdownSystem(ShutdownReboot)
ntStatus
NTStatus
NTSTATUS Error
NTSTATUS_FROM_WIN32(
NT_SUCCESS(status)
NtSuspendProcess
NtSuspendThread
_NT_SYMBOL_PATH
NtSystemDebugControl
NtTerminateProcess
NtThawRegistry
NtThawTransactions
NtTranslateFilePath
NtUnloadDriver
NtUnloadKey
NtUnloadKey2
NtUnloadKeyEx
NtUnmapViewOfSection
NtUpdateWnfStateData
NtWaitForMultipleObjects
NtWaitForSingleObject
NtWriteFile
NtYieldExecution
nullDescriptor
NumActiveApps
NumAllocationFailures
NumberFormatInfo
numberOfActiveVolumes
Number of Application Errors
NumberOfAsrEvents_Index
Number of Collab Key Send failures
numberOfEntries
NumberOfFiles
NumberOfFilesCopied
numberOfFilesPinnedToHddTier
numberOfFilesPinnedToSsdTier
NumberofFreeFallEventsDetected_Index
NumberOfHardwareResets_Index
numberOfHeatBuckets
NumberOfHighPriorityUnloadEvents_Index
NumberOfInterfaceCrcErrors_Index
NumberOfMechanicalStartFailures_Index
Number of null sink errors
NumberOfReallocatedLogicalSectors_Index
NumberOfReallocationCandidateLogicalSectors_Index
NumberOfReportedUncorrectableErrors_Index
NumberOfResetsBetweenCommandAcceptanceAndCommandCompletion_Index
Number of System Errors
NumberOfVolumeFiles
    numbers after that to fill the 5 bytes.  The high order 3 bytes
    numbers to fill the value.  Each number represents one DWORD or 4
NumberStyles
-NumberWW
?NumBlocksAllocated@HeapMemoryManager@UnBCL@@UEAAIXZ
NumBucketLimitReached
numBytesRead
numBytesToRead
numDrives
numeric-owner
NumFlushes
NumHandles
	-numiterations		Set the number of iterations for OnOff recording. By default the settings from the built-in or custom profile file are used.
NumLargeEventFailures
NumRetries
NumSamples
numSuppressed
NumUsers
NumVolumes
""""..-nv
"""...-.nv
NXcbbb__[XXU1
 NXDomain
 NXRRSet
-Nz?-2  
N-Z|dpGA@
(O0(0O0h00O0Oh
O0d0d0O0
O0d0d0OM
O0D9)tGM
	o1(er81
o)#1TGfTE4	
@o2(|K.'
o4ZbqO#x3Ae
O8D8ipu*A
?o9WcoEb
_o_abort
_o___acrt_iob_func
oakley-newgroup
oakley-quick
_o__aligned_free
_o__aligned_malloc
OAssertionLogicEntryCount
oA[XXXXXYYYYYYYYYYYYYYV[?
oA[YYYYYYYYYYYYYYYYYYYYVA
			-o-background-size: cover;
_o__beginthreadex
ObfDereferenceObject
ObfReferenceObject
ObfuscateUserName: CreatePrintableHash failed!
ObfuscateUserName: StringCchLength failed!
Obfuscation for Playlist location failed.
Obfuscation for Playlist location succeeded.
OBJ_CASE_INSENSITIVE
object assignments are not allowed inside functions
ObjectFromLresult
object literals are not allowed inside functions
ObjectName
ObjectNameInvalid
ObjectPathInvalid
object release wait failed
Object release wait failed
ObjectTableDuplicateTraversalComplete
ObjectTableTraversalComplete
ObjectTypeMismatch
Object types are not allowed in structs
.ObjectWW
ObReferenceObjectByHandle
_o_bsearch
ObserverConnection
ObSetSecurityObjectByPointer
_o__callnewh
_o_calloc
_o__calloc_base
occlusionQueryPrecise
Occurrence
_o__cexit
_o__close
_o__configthreadlocale
_o__configure_narrow_argv
_o__configure_wide_argv
_o__create_locale
_o__crt_atexit
OctagonRpcCallback failed
OctagonRpcInitialize
octal value truncated to 32bits
OctBrokerSvc::_dropAccessPermissionsToTraceProvider
OctBrokerSvc::InitializeAgent
OctBrokerSvc::InitializeEnclave
OctBrokerSvc::_revertAccessPermissionsToTraceProvider
OctBrokerSvc::ServiceMain
OctBrokerSvc::ServiceManager::DirectoryWatcherEngReinitializeCallback
OctBrokerSvc::ServiceManager::ShutdownOctagon
OctBrokerSvc::ServiceManager::StartupOctagon
OctBrokerSvc::ServiceStopCallback
Octet-aligned playload for Structure-agnostic DS1 circuits
oD9p(tA;x(vdD
odaajdhhblllH
O(DDDDDDDDDDDDDDDDDD!
O(DGGDDDDDDDDDDDDDDD!
O*DGGGGGGGGGGGGGGGGG"
?OdsEnabled@CTraceProvider@@QEAA_NW4TRACE_FLAG@@@Z
?OdsTrace@CTraceProvider@@QEAAXAEBUDLS_TRACE_EVENT@@@Z
Odurability
oemAppSpecified
oemAppValid
oemGroupBranding
OEMModel
OemToCharBuffA
_o__errno
[[oeVV@"
_o__exit
oFailed Bind to RailOrderEncoder RPC endpoint
_o_fclose
O(fD99toA
_o_ferror
OfflineClusterResource
OfflineHive::Initialize
OfflineKey::CreateSubkey
OfflineKey::DeleteSubkey
OfflineKey::DeleteSubtree
OfflineKey::DeleteValue
OfflineKey::EnumSubkeys
OfflineKey::EnumValues
OfflineKey::GetSecurity
OfflineKey::GetValue
OfflineKey::HasValue
OfflineKey::OpenSubkey
OfflineKey::SetSecurity
OfflineKey::SetValue
OfflineSync
_o_fflush
OffsetOf
OffsetRect
OffsetRect() failed
OffsetRgn
OffsetRgn() failed
OffsetWindowOrgEx
||offZZZJj
_o_fgetc
_o_fgetpos
_o_fgetwc
_o_fgetws
_o__fileno
OFilePathL
_o_floor
_o_fopen
Ofp8Ykmt
_o__fpclass
_o_fputc
_o_fputs
_o_fputwc
_o_fread
_o__free_base
_o__free_locale
_o_frexp
_o__fseeki64
_o_fsetpos
    of the second DWORD would be ignored.
_o_fwrite
_o_getenv
_o__get_errno
_o__get_initial_narrow_environment
_o__get_initial_wide_environment
_o__get_narrow_winmain_command_line
_o__get_osfhandle
_o_getwc
_o__getwch
_o__get_wide_winmain_command_line
OGG;SSS455
O*GJJJJJJJJJJJJJJJJJ"
oGlllglgggi
_o__gmtime32
_o__gmtime64
oHD8hHtKL
OhdMdddhdM
O;hhhE0UE
ohnpnpxx
o	HoPMgn
OHostProcessExecution
_o__i64toa_s
_o__i64tow_s
OIHH|fcc
OIHHJUHHIDG
OiHzzzzz4
OiHzzzzzF2
O	?Initialize@BaseScrollViewer@DirectUI@@QEAAJPEAVElement@2@PEAK@Z
_o__initialize_narrow_environment
_o__initialize_onexit_table
_o__initialize_wide_environment
_o__invalid_parameter_noinfo
_o__invalid_parameter_noinfo_noreturn
_o_isalpha
_o_isdigit
_o_islower
_o_isprint
_o_isspace
_o_isupper
_o_iswalnum
_o_iswalpha
_o_iswascii
_o_iswctype
_o_iswdigit
_o_iswlower
_o_iswpunct
_o_iswspace
_o_iswxdigit
_o__itoa_s
_o__itow_s
oK[p[[[[[[[[[[[[[[[[[[[WA
oK[YYYYYYYYYYYYYYYYYYYYVA
OL9SHuIM
[O.l9t"O
_o____lc_codepage_func
_o____lc_locale_name_func
oldDefaultId
OLD-ENVIRON
older-ctime
older-ctime-than
older-mtime
older-mtime-than
older-than
oldlastscanOneshotupdate
oldLocationRegistration
oldMapIdEpoch
oldMapIdMajor
oldMapIdMinor
Old module list should not be empty.
OldPrinterName
oldSpaceId
oldSpatialGraphDevicePath
oldSpatialGraphDriverClientLifetimeId
oldSpatialGraphDynamicNodeId
oldState
Old State
OldState
oldStateId
oldStaticNodesGenerationId
OldTabName
oldValue
oldVersion
ole32.dll
OLE32.dll
OLEACC.dll
OLEAUT32.dll
OleGetClipboard
OleGetClipboard failed!
OleGetClipboardWithEnterpriseInfo
OleInitialize
OleInitialize failed!
OleIsCurrentClipboard
OleLockRunning
OleSetClipboard
OleUninitialize
_o_localeconv
_o__localtime32
_o__localtime64
_o__localtime64_s
_o__lock_file
olqqqqqnnniw
OLRDHEVFE
_o__ltow
_o__ltow_s
omadmapi.dll
_o_malloc
_o__malloc_base
_o____mb_cur_max_func
_o_mbstowcs_s
_o_mbtowc
OMdhdMOM
_o_memcpy_s
_o__memicmp
_o__mktime64
OnAddBoot
?OnAdjustWindowSize@HWNDHost@DirectUI@@UEAAHHHI@Z
On allocating cbs array
OnAttendeeConnected failed
OnAttendeeConnectedWithRelay
OnAttendeeDisconnected failed
OnAuthenticated failed
OnBattery
OnCancelCommand
OnCaptureStateOnDemand
OnCaretBlinkOrder failed
OnChannelOpened failed!
OnClientConnect
OnClipboardChainUpdated failed!
OnClipboardUpdated failed!
OnClose failed!
OnCompartmentInfo failed
?OnCompositionChanged@HWNDElement@DirectUI@@UEAAXXZ
OnConnected failed!
OnConnectionCompleted
?OnCtrlThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnCustomDraw@CCBase@DirectUI@@UEAA_NPEAUtagNMCUSTOMDRAWINFO@@PEA_J@Z
OnDataReceived failed!
on Demand
OnDemand
	On-demand Snapshot for specified Process ID
?OnDestroy@Element@DirectUI@@UEAAXXZ
?OnDestroy@HWNDElement@DirectUI@@UEAAXXZ
?OnDestroy@HWNDHost@DirectUI@@UEAAXXZ
OnDisconnected failed!
OnDisconnectedWWd
OnDisplayChange() failed
OnDrawClipboard failed!
OneDriveUploadBatch
--one-file-system
one-file-system
One of two unsupported situations occurred: either an attempt at modifying a driver key
One or more mandatory MOs not supported
OneSettings
OneSettingsCreateDownloadConfig
OneSettingsDownloadEndpoint
OneSettingsEndDownloadSession
OneSettingsFreeDownloadConfig
OneSettingsFreeDownloadResponse
OneSettingsGetResponseDwordProperty
OneSettingsGetResponseStringProperty
OneSettingsGetResponseWideStringProperty
OneSettingsSetConfigBoolProperty
OneSettingsSetConfigDwordProperty
OneSettingsSetConfigHandleProperty
OneSettingsSetConfigWideStringProperty
OneSettingsStartDownloadSession
OneshotUpdateDetection
OneTimeUse
?OnEvent@BaseScrollViewer@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@Element@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDElement@DirectUI@@UEAAXPEAUEvent@2@@Z
?OnEvent@HWNDHost@DirectUI@@UEAAXPEAUEvent@2@@Z
OnexIndicateResult
OnFlushCommand
?OnGetDlgCode@HWNDElement@DirectUI@@UEAAXPEAUtagMSG@@PEA_J@Z
?OnGroupChanged@Element@DirectUI@@UEAAXH_N@Z
?OnGroupChanged@HWNDElement@DirectUI@@UEAAXH_N@Z
OnHeapSnapshotConfigure
OnHeapTracingConfigure
?OnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
?OnImmersiveColorSchemeChanged@HWNDElement@DirectUI@@UEAAXXZ
?OnInitialize@CUnk@@UEAAHXZ
OnInitializePdu failed
?OnInput@BaseScrollViewer@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@Button@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@CCBase@DirectUI@@UEAAXPEAUInputEvent@2@@Z
OnInputChannelReady failed!
?OnInput@Element@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDElement@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnInput@HWNDHost@DirectUI@@UEAAXPEAUInputEvent@2@@Z
?OnKeyFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnKillActive@TaskPage@DirectUI@@MEAA_JXZ
OnLanguageIMEInfo failed
OnlineClusterResource
online_id_ticket
OnlineKey::CreateSubkey
OnlineKey::DeleteSubkey
OnlineKey::DeleteSubtree
OnlineKey::DeleteValue
OnlineKey::EnumSubkeys
OnlineKey::EnumValues
OnlineKey::GetSecurity
OnlineKey::GetValue
OnlineKey::HasValue
OnlineKey::OpenSubkey
OnlineKey::SetSecurity
OnlineKey::SetValue
OnListenCompleted
?OnListenedEvent@BaseScrollViewer@DirectUI@@UEAAXPEAVElement@2@PEAUEvent@2@@Z
?OnListenedEvent@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEAUEvent@2@@Z
?OnListenedInput@BaseScrollViewer@DirectUI@@UEAAXPEAVElement@2@PEAUInputEvent@2@@Z
?OnListenedInput@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEAUInputEvent@2@@Z
?OnListenedPropertyChanged@ScrollViewer@DirectUI@@UEAAXPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenedPropertyChanged@TaskPage@DirectUI@@MEAAXPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenedPropertyChanging@BaseScrollViewer@DirectUI@@UEAA_NPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenedPropertyChanging@TaskPage@DirectUI@@MEAA_NPEAVElement@2@PEBUPropertyInfo@2@HPEAVValue@2@2@Z
?OnListenerAttach@BaseScrollViewer@DirectUI@@UEAAXPEAVElement@2@@Z
?OnListenerAttach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
?OnListenerDetach@BaseScrollViewer@DirectUI@@UEAAXPEAVElement@2@@Z
?OnListenerDetach@TaskPage@DirectUI@@MEAAXPEAVElement@2@@Z
?OnLostDialogFocus@Button@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
?OnLostDialogFocus@CCBase@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
Only 64-bit addressing is supported
only a0.x is allowed as a relative address register in vs_1_1
Only Internal Ioctl can be passed to UsbDispatcher
only one address register reference allowed in a relative address expression
only one address register reference is allowed in a relative address expression
Only one writer can exist.
Only the parent window closes all child windows.
?OnMessage@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnMouseFocusMoved@Element@DirectUI@@UEAAXPEAV12@0@Z
?OnNoChildWithShortcutFound@HWNDElement@DirectUI@@UEAAXPEAUKeyboardEvent@2@@Z
?OnNotify@CCBase@DirectUI@@UEAA_NI_K_JPEA_J@Z
?OnNotify@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
-onoffscenario does not work on containers.
OnPostGetWaitChain
OnProfileDetailsCommand
?OnPropertyChanged@Button@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@CCBase@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@Element@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDElement@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@HWNDHost@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanged@ScrollViewer@DirectUI@@UEAAXPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@BaseScrollViewer@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEAUPropertyInfo@2@HPEAVValue@2@1@Z
?OnPropertyChanging@Element@DirectUI@@UEAA_NPEBUPropertyInfo@2@HPEAVValue@2@1@Z
?OnReceivedDialogFocus@Button@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
?OnReceivedDialogFocus@CCBase@DirectUI@@UEAA_NPEAUIDialogElement@2@@Z
?OnReset@TaskPage@DirectUI@@MEAA_JXZ
OnSessionConnected failed
OnSessionDisconnected failed
OnSessionEnding
onShellReady
?OnSinkThemeChanged@HWNDHost@DirectUI@@UEAA_NI_K_JPEA_J@Z
on sont exclues.
on Start
OnStartCommand
OnStartup
OnStateChangedSafeWW
OnStateChangedWW
OnStatusCommand
OnStopCancelBoot
OnStopCommand
OnStreamDataReceived failed!
?OnSysChar@HWNDHost@DirectUI@@UEAA_NG@Z
OnTextScaleOrder failed
?OnThemeChanged@HWNDElement@DirectUI@@UEAAXPEAUThemeChangedEvent@2@@Z
OnTimer failed
OnTouchFramesDecoded failed!
?_OnUIStateChanged@HWNDElement@DirectUI@@MEAAXGG@Z
?OnUnHosted@Element@DirectUI@@MEAAXPEAV12@@Z
?OnUnHosted@HWNDHost@DirectUI@@MEAAXPEAVElement@2@@Z
OnUpdateAppBarRemotingSupport failed
OnWindowCloakedLocally failed
OnWindowCloakedRemotely failed
OnWindowCloakStateChanged failed
OnWindowOrderClientStatus
OnWindowOrderExec
OnWindowOrderHandshake
OnWindowOrderLangbarInfo failed
OnWindowOrderSysParam
?OnWindowStyleChanged@HWNDHost@DirectUI@@UEAAX_KPEBUtagSTYLESTRUCT@@@Z
OnWindowUncloakedLocally failed
OnWindowUncloakedRemotely failed
?OnWizFinish@TaskPage@DirectUI@@MEAA_JXZ
?OnWizNext@TaskPage@DirectUI@@MEAA_JXZ
?OnWmSettingChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
?OnWmThemeChanged@HWNDElement@DirectUI@@UEAAX_K_J@Z
OnWorkFinished
OOBEComplete
OOBEHealthMetric
OOBEHealthNonCriticalMetric
OobeUpdate
ooo_999-999
?OOOOOOO	
OOOvwwwz
!!'-OOPPVR
OOP Server start
OOP Server stop
!!!'-OOPSSV[L
!#'-OOPT3
-o or --output must be followed by a filename
-o outputWidth specifies how wide the output is to be.  By default the
op_Addition
_o___p___argc
_o___p___argv
_o___p__commode
OpcServices.DLL
_o___pctype_func
            open
?OpenAndEnumerateSubKeys@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
OpenBackupCPL
OpenBaseKey
?Open@CEventLog@@QEAAHXZ
OpenClipboard
OpenCluster
OpenClusterNode
OpenClusterResource
OpenCount
?Open@CRegistry@@QEAAJPEAUHKEY__@@PEBGK@Z
?OpenCurrentUser@CRegistry@@QEAAKPEBGK@Z
OpenCurrentWinStationListenerKey() failed
OpenDesktopW
OpenDevice
OpenDevice() failed!
OpenDisk
OpenEncryptedFileRawW
OpenEvent failed for app launch
OpenEvent failed for thread quit
OpenEventLogW
OpenEventW
OPEN_EXISTING
OpenFileById
OpenFileLocation
OpenFileLocationCallback
OpenFileMappingW
OpenFiles
OpenForBackup
OpenForBackupIntent
OpenIcon
OpeningProvPackage
OpenInputDesktop
OpenJobObjectW
?OpenLocalMachineKeyAndReadValue@CRegistry@@QEAAJPEBG0AEAVCHString@@@Z
OPEN Message Error
OpenMutexW
Open Networking Lab
OpenOptions
OpenPackageInfoByFullName
OpenPipe
OpenPrinter2W
OpenPrinter failed.
OpenPrinter m_hPrinterForFilters failed
OpenPrinter port failed
OpenPrinter read failed
OpenPrinterW
OpenPrivateNamespaceW
OpenProcess
OpenProcess failed
OpenProcessToken
OpenProvisioningPackageFailed
OpenProvisioningPackageForRead
OpenRead
OpenSCManager
OpenSCManagerA
OpenSCManagerW
OpenSemaphoreW
OpenService
OpenServiceManager
OpenServiceW
OpenSource
OpenState
OpenStateExplicit
OpenStaticChannel failed!
OpenStorageTypeSearch
OpenStore failed!
OpenSubKey
?OpenSubKey@CRegistry@@AEAAKXZ
Open System
OpenTextFile
OpenThemeData
OpenThread
OpenThreadToken
OpenThreadToken failed
OpenThreadToken failed.
OpenThreadWaitChainSession
OpenTraceW
OpenVirtualChannel failed!
OpenVirtualDisk
OpenVolume
OpenVolumeHandle
OpenWindowStationW
op_Equality
operation
Operation
Operational
operationalStatus
operation canceled
OPERATION_DEFERRED_KHR
OperationFlags
OperationId
operation in progress
operation_in_progress
operationName
OperationName
OPERATION_NOT_DEFERRED_KHR
operation not permitted
operation not supported
operation_not_supported
OperationOrigin
Operation to invalidate MSA WAM token cache timed out
Operation to request web token timed out
operationType
operationVersion
operation would block
operation_would_block
operator
operator "" 
operator co_await
op_Explicit
op_GreaterThanOrEqual
op_Implicit
op_Inequality
op_LessThan
op_LessThanOrEqual
.)((opoo
oPowerShellVersionWWW
!!!'-OPPSVVY]S
_opStatus
op_Subtraction
optimalBufferCopyOffsetAlignment
optimalBufferCopyRowPitchAlignment
optimalTiling
optimalTilingFeatures
Optional
Optional Attribute Error
(optional omitted)
option_error
option-request
 [options]
OPTIONS:
OptionString
 optlen too short
 opt:pad1
_o__purecall
_o_putchar
_o_putwchar
_o___p___wargv
_o_qsort
O??qYIIYVEECRBB
OrderByDescending
OrderPerfDataByTime
_o__read
_o_realloc
_o__recalloc
_o__register_onexit_function
_o__resetstkoflw
organization_id
Organization specific
orientationCount
OrientationW
OrientationX
OrientationY
OrientationZ
OriginalAnchorId
originalDegreesFromDown
Original file object can be NULL only for Create IRP
originalGravityChanged
originalLocationGravity
OriginalMessage
originalPoseToCurrentPose
originalPoseToOldPose
OriginalProductId
originalStaticNodeGravity
OriginalValue parameter is not a valid value
originatingBinary
originatingContextId
originatingContextMessage
originatingContextName
Originator ID
originCallerModule
originCallerReturnAddressOffset
originFile
originLineNumber
originModule
originName
?_Orphan_all@_Container_base0@std@@QEAAXXZ
OS and firmware version are the same
_o__seh_filter_exe
_o__set_app_type
_o__set_errno
_o__set_fmode
_o_setlocale
_o__setmode
_o__set_new_mode
_o_setvbuf
OsEvents
OslAdvancedMenu
OsLaunch
OslGenRandomBytes
OslGetControlSubkey
OslGetDrtmSvn
OslGetExportRoutineInModule
OslGetLocalApicId
OslGetStringValueAtKey
OslGetValueAtKey
OslIsRunningInSecureKernel
OslLoadMicrocodeUpdate
ospf-domain
ospf-router-id
ospf-route-type
OsProtectionHealth
OsProtectionStatus
_o_srand
_o__stat64i32
_o___std_exception_copy
_o___std_exception_destroy
_o___stdio_common_vfprintf
_o___stdio_common_vfwprintf
_o___stdio_common_vfwprintf_p
_o___stdio_common_vfwprintf_s
_o___stdio_common_vsnprintf_s
_o___stdio_common_vsnwprintf_s
_o___stdio_common_vsprintf
_o___stdio_common_vsprintf_s
_o___stdio_common_vswprintf
_o___stdio_common_vswprintf_s
_o___stdio_common_vswscanf
_o___std_type_info_name
_o_strcpy_s
_o__strdup
_o_strerror
_o_strftime
_o__stricmp
_o_strncpy_s
_o__strnicmp
_o_strtol
OSUNINST.dll
os_version
OS version has changed
	@?]oswwwW
_o_system
OTCDetectionActivity
OTCInstallActivity
_o_terminate
Other Configuration Change
OtherErrorCount
OtherFunction
otherSessionId
other stateful
??OTIMEINFO@@QEBAEV0@@Z
_o_tolower
_o_toupper
_o_towlower
_o_towupper
oT[xxqo[[[[[[[[[[[[[[[[[D
O|u!fmBO*
_o__ui64toa_s
_o__ui64tow_s
_o__ultow_s
_o_ungetc
_o_ungetwc
_o__unlock_file
out_BuildWWW
out_CountWWW
(outer-null)
OutgoingErrorStatus
*outIsStartAfterReboot
out_Name
Out of memory
Out of memory.
OutOfProcessExceptionEventCallback
OutOfProcessExceptionEventDebuggerLaunchCallback
OutOfProcessExceptionEventSignatureCallback
out_Path
out_ppnamedW
out_ppts
--output
outputAdapterLuid.HighPart
outputAdapterLuid.LowPart
outputChanged
OutputDebugStringA
OutputDebugStringW
outputDir
OutputDirectory
outputFolder
*-OutputFolder argument is missing value.
OUTPUT MARKING
   outputWidth is set to the width of the console window if standard
   outputWidth of 240 is used.
out_ScriptFullNameWWd
out_TimeoutW
out_ValueWWW
OverallHR
Over-decrementing file object keep alive count
			overflow: auto;
OverflowException
			overflow: hidden;
Overflow in file object keep alive count
overlapped_MustBeZero
overlapping output semantics
OverlimitShockEvents_Index
overloaded function not found
override
OverwriteByteBlob failed
OverWriteFilesWW@
Overwrite is false and file exists
OVERWRITE(m_ulFeatures)
OVERWRITE(m_ulFeatures) || SNAPSHOT(m_ulFeatures)
OverwriteWWW
Overwriting create context
ovvvvvvvvv
Ow[:6J*?
_o_wcscat_s
_o_wcscpy_s
_o__wcsdup
_o_wcsftime
_o__wcsicmp
_o__wcslwr
_o__wcslwr_s
_o_wcsncpy_s
_o__wcsnicmp
_o_wcstod
_o__wcstoi64
_o_wcstok_s
_o_wcstol
_o_wcstoll
_o_wcstombs_s
_o__wcstoui64
_o_wcstoul
_o__wcsupr
_o__wfopen_s
_o__wfsopen
_o__wfullpath
_o__W_Getdays
_o__W_Getmonths
_o__wmakepath_s
_o_wmemcpy_s
owner dead
_o__wsetlocale
_o__wsplitpath_s
_o__wsystem
_o__wtof
_o__wtoi
_o__wtoi64
_o__wtol
p3S0Bn(h
.P6AHPEAX@Z
.P6AJPEBG0@Z
.P6AJU_GUID@@PEBG1PEAH@Z
.P6AJU_GUID@@PEBG1@Z
.P6AXKPEBG@Z
.P6AXPEAX@Z
p777B7B77B77
p7B7B777B77B
p7B7B77B77B777
p7Bi7p77
p.7f.7f7B7B77B7B7B77
p.7f7f7f7B7B7B777B7
p.7.f7fB7B77B
p7f7p7piB7BiB77B
p7iB7iB7
.p7p7BiBi7i7B7B7777
p7p7i7Bi7
p7p7iB77p7p77B
p7p7iB7iB7i
p9990999#
p9990999#999
p9993999*999
PackageCollectorDeinit
PackageCollectorFileNotFound
PackageCollectorFindError
PackageCollectorInit
PackageCollectorPackageFound
PackageCollectorPathAdd
PackageCollectorPathCchCombine
PackageCollectorPathCchCombineFullName
PackageCollectorSearchDone
PackageCollectorSkippingPackagePath
packagedContent
PackagedServiceProcessCreation
PackagedStartupTask::Create
PackagedStartupTask::FillValues
PackagedStartupTasks::Create
PackagedStartupTask::SetIsDisabled
PackagedStartupTasks::GetItem
packageFamilyName
PackageFamilyName
PackageFamilyNameFromFullName
PackageFormatName failed!
PackageFormatNames failed!
packageFullName
PackageFullName
PackageId
PackageIdFromFullName
PackageName
PackagePath
packageRelativeApplicationId
packageStatus
Package type is not supported for uninstall
PackageVersion
packet_error
Packet Monitor
packet too big
PACKINSTSPACE
pack_matrix
			padding: 8px 12px;
PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING
(padn: trunc)
padpadpa
PADPADP#v
pAdviseWW
pageableDeviceLocalMemory
PAGECONST
PAGEDATA
PAGEDATAZ
	PageFaultCount
PagefileUsage
PAGER32C
?Paint@Element@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
PaintEventArgs
?Paint@HWNDHost@DirectUI@@UEAAXPEAUHDC__@@PEBUtagRECT@@1PEAU4@2@Z
pairNamespace
Pairs.Allocate(m_StringTable.GetEntryCount())
Pairwise Cipher is not valid
PAL_RegisterConsoleDisplayStateNotifications
PAL_System_CondReset failed
PAL_System_CondSignal failed
PAL_UnregisterConsoleDisplayStateNotifications
PANA-agent
_pAnsiLineBuf
PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING
pAppendToThisChild
pAppRestoreInfo
ParamArrayAttribute
Parameter
Parameter1
Parameter2
Parameter3
Parameter4
Parameter check failed
parameterName
parameter problem
Parameters
ParametersBlock
ParamNamesWW
paramSeparator
Params.SetAt failed!
ParamValuesW
ParentChildTableTraversalComplete
Parent Instance ID
parentNodeId
ParentPasswordCanceled
ParentPasswordEntered
ParentProcID
ParentProcName
 parent_sa
ParentsParentProcID
ParentsParentProcName
Parent VLAN TLV
__p___argc
pArgsWWW
__p___argv
parrList
ParseApplicationUserModelId
ParseArgs
ParseCmdLineArgs
_ParseCommandLine
ParseCommandLine
ParseCommands:Malformed command line detected; no dash or slash present in option
ParseCommands:No action flag was specified but sysprep is in quiet mode
ParseDST
ParseInput
?Parse@Int32Ops@UnBCL@@SAHPEBG@Z
ParseJson
ParseLiveMetadata
ParseNetworkString
ParseSecureHangrepCommandLineArguments
:: Parse the buildlabex string into the arch and lab info
ParseTimeSpan
ParseTimeZoneData
ParseTimeZoneMapping
ParseTZI
?Parse@XmlDocument@XmlLite@UnBCL@@IEAAXPEAUIStream@@@Z
PartA_PrivTags
PartA_UserSid
PartB_Ms.Qos.IncomingServiceRequest
PartB_Ms.Qos.OutgoingServiceRequest
PartialIndexRebuild
 par une licence est offert 
__pascal
PassDefault
PassFallback
Passing a 0 length and a nullptr to GetCurrentPackageInfo should always result in a return value of ERROR_INSUFFICIENT_BUFFER.
passphrase
PASSTHRU
passwordlessType
p ATAVAWH
PATCHEDGESTYLE
PatchHylLdrInitializeThunk
PatchNtdllLdrInitializeThunk
PATCHSEGMENTS
PathAddBackslashA
PathAddBackslashW
PathAllocCanonicalize
PathAllocCombine
PathAppendA
PathAppendW
'-Path argument is missing path value.
	  [path attrs too short]
 [path attrs too short]
 [path attr too short]
PathCanonicalizeW
PathCchAddBackslash
PathCchAddExtension
PathCchAppend
PathCchAppendEx
PathCchCanonicalize
PathCchCanonicalizeA failed.
PathCchCanonicalizeEx
PathCchCanonicalize failed.
PathCchCombine
PathCchCombineEx
PathCchFindExtension
PathCchIsRoot
PathCchRemoveBackslash
PathCchRemoveFileSpec
PathCchRenameExtension
PathCchSkipRoot
PathCchStripPrefix
PathCchStripToRoot
PathCleanupSpec
PathCombineW
PathCompactPathExW
pathDefaultLegacyTimeZoneRoot
pathDefaultMappingFile
pathDefaultTimezoneFile
PathFileExistsW
PathFindExtensionA
PathFindExtensionW
PathFindFileNameW
PathFindNextComponentW
PathGetArgsW
PathGetCharTypeW
PathIsContentTypeW
PathIsDirectoryW
PathIsFileSpecW
PathIsNetworkPathW
PathIsPrefixW
PathIsRelativeW
PathIsRootW
PathIsSameRootW
PathIsUNCServerShareW
PathIsUNCServerW
PathIsUNCW
PathIsURLW
PathMakePrettyW
PathMatchSpecExA
PathMatchSpecW
'Pathname
PathName
PathNotFound
PathParseIconLocationW
PathQuoteSpacesW
PathRemoveArgsW
PathRemoveBackslashW
PathRemoveBlanksW
PathRemoveExtensionW
PathRemoveFileSpecW
PathSkipRootW
PathStripPathW
PathStripToRootW
pathTimeZoneRoot
_pathToLogDirectory
Path too long
PathTooLongException
PathToRegion
PathType
PathUnExpandEnvStringsW
PathUnquoteSpacesW
Path value is missing
?PathWasTooBig@PATH@@QEAAEXZ
?PatternFromPatternId@Schema@DirectUI@@SA?AW4Pattern@12@H@Z
PausedPlayback
Pause for fdx links
pauseStart
pauseStartTime
pauseStartTimeInUTC
pauseStop
pauseStopTime
pax restricted
Payload acknowledgement: Setting name
payloadId
PAYLOAD-MALFORMED
payloadSettings
PaymentInstrument
pBackupAsync
pBackupInfo
pBackupSet
pBackupSetInfo
pBackupSpec
pBackupSpecs
pBadClusExtentsBeforeRecovery
pbAllCritical
pbAllowSourceSnapshotDeletion
pbAppBackup
pbBackupDidNotStart
pbBinary
pbBuffer
pBcdeDevice
pbClient
pbCompactionRequired
pbCreateNewDir
pbCredExist
pbEndOfFile cannot be NULL
pbFloppy
pbForceFull
pbFormatList
pbHasSystemState
pbInputEventPdu
pbInviteeWWW
pbInviterWWW
pbip specified
pbIsComponentIncluded
pbIsDFSRWriter
pbIsDsrmMode
pbIsDynamic
pbIsFile
pbIsFRSWriter
pbIsFullVolume
pbIsReadonly
pbIsReadOnly
pbIsValid
pbIsVirtualSrcVolDependant
pbIsVolumeDedupOptimized
pbIsVolVirtual
pbIsWriteCapable
pbLockable
pbMediaFailure
pbOldVhdsExist
pbOnline
pBoolWWW
pBootOffDisk
pbOverwriteOldVhds
pbPerformFullBackup
pbPerformResize
pbPruningRequired
PbrCheckArpEntryVisisble
PBRCorruptionRepairOption
PbrDeleteReparsePoint
pbRecomputeNeeded
PbrEnablePrivilege
PbrEnumUninstallKey
pbRestorable
pbRetryVolumeBackup
PbrIsHostWinDir
PbrOpenOfflineHive
PbrOpenOnlineHive
PbrRedirectProfileRoot
PbrSanitizePath
PbrUnloadOfflineHive
PbrWaitForTaskService
PbrWofFindOverlayCallback
PbrWofGetOverlayIDs
pbSignedBlob
pbSizeChanged
pbSnapshotIdPresent
pbSSOEnabled
pbSSOEnabledd
pbstrDeviceIdentifierWWW
pbstrEncodedTokenWWW
pbstrFileSystemW
pbstrNameWWW@
pBstrRAExpertNameWWW
pBstrRATicketWWW
pbstrResultWL
pbstrShareNameWWx
pbstrSourceTextWd
pbstrTypeWWW@
pbstrUDN
;pbstrUserNameWWW
pbstrValueWW
pbstType
pbSystemState
pbSystemWriter
pbTargetFailure
pBufferDurationMs
pbVhdCorrupt
pbVhdOldVersion
pbVirtual
pbVolumeBackup
pCallback
pCallback should not be NULL
pCatalog
pCatalogChecksum
pCatalogSystem
pcBackupSet
pcbAvailable cannot be NULL
pcbFormatList
pCBlbVhd
pcCatComponents
pcCharWWd
pcComponents
pcComponentSpecs
pcDisplayedComponents
pcDstComponents
pcDstVolumes
pceltFetched
pCertArray
pcExcludeSpecs
pcFilesEnumInfo
pcFileSpecs
pcguidTemplate
pChangeDetected
pciDevice
pciDomain
pciFunction
pcIncludeSpecs
pcNumberOfFilesProcessed
pcNumbytes
pcNumMedia
__p__commode
pCompartmentInfoBody
pCompletionEvent should not be NULL
pComponent
pComponentId
pComponentInfo
pCompression cannot be null
pCompStatus
pContext
pCoreEvents
PCR algorithms must be the same across all TCG logs
pCrtMediaCtxt
pcScheduleTime
pcTargetName
__pctype_func
pcUpdatedTargets
pCurrentDisk
pCurVolumeInfo
pcVolume
pcVolumeDisplayName
pcVolumes
pcVolumeSSB
PcwAddQueryItem
PcwCollectData
PcwCreateQuery
pcWriter
pcWriterInfo
pcwum.dll
pD9o vdH
pdateWWW@
PdcActivationClientActivityRequest
PdcActivationClientRegister
PdcActivationClientUnregister
PDCActivationHandle
PdcClientRegistrationFailed
PdcClientUnregistrationFailed
PdcDeactivationFailed
PDCHandle
PdcRevocation
PdcTaskClientRegister
PdcTaskClientRequest
PdcTaskClientUnregister
Pdcv2ActivationClientActivate
Pdcv2ActivationClientDeactivate
Pdcv2ActivationClientRegister
Pdcv2ActivationClientUnregister
PD device
pDedicated
pDetailedHr
pDetailedHResult
pDeviceInfo
pDeviceInterfaceGuid should not be NULL
pDeviceStack should not be NULL
pDevStack should be NULL
pDevStack should not be NULL
PdhAddCounterW
PdhBindInputDataSourceW
PdhCloseLog
PdhCloseQuery
PdhCollectQueryData
PdhComputeCounterStatistics
PdhEnumMachinesHW
PdhEnumObjectItemsHW
PdhEnumObjectItemsW
PdhEnumObjectsHW
PdhEnumObjectsW
PdhExpandWildCardPathHW
PdhExpandWildCardPathW
PdhGetDataSourceTimeRangeH
PdhGetFormattedCounterArrayW
PdhGetLogFileTypeW
PdhGetRawCounterArrayW
PdhGetRawCounterValue
PdhMakeCounterPathW
PdhOpenLogW
PdhOpenQueryH
PdhOpenQueryW
PdhParseCounterPathW
PdhRelogW
PdhSetQueryTimeRange
PdhTranslate009CounterW
PdhUpdateLogW
PdhValidatePathExW
pDiDetail
pDirectoryInfo
pDiskExtent
pDiskList
PdmUtilities.dll
pDriveLayout
pDriveLayoutEx
pDrmFormatModifierProperties
pDrvSetupUninstallDriver
pdwDeviceNumber
pdwFlags
pdwIndex should not be NULL
pdwlJournalId
pdwlUsnMaxSize
pdwlUsnSize
pdwNumAdded
pdwProcessId
pdwRegAlwaysRunCompaction
pdwRegDisableCompaction
pdwRegMaxUSNSizeMB
pdwRegPercentageTrigger
pdwRegSizeInGBTrigger
pdwRegSkipUSNResize
pdwRegUSNSizePercent
pdwValue
pdwVHDDeviceDiskNumber
pdwVolumeBackupFlags
pdwVolumeMapIndex
pdwVolumeNumber
pDynamicTimeZoneInformation
pDynDiskList
pDynExtentList
pDynMemberList
pDynPlexList
pDynVolList
PeakPagefileUsage
PeakWorkingSetSize
.PEAVArgumentException@UnBCL@@
.PEAVArgumentNullException@UnBCL@@
.PEAVArgumentOutOfRangeException@UnBCL@@
.PEAVArithmeticException@UnBCL@@
.PEAVCException@@
.PEAVCMemoryException@@
.PEAVException@UnBCL@@
.PEAVExternalException@UnBCL@@
.PEAVIndexOutOfRangeException@UnBCL@@
.PEAVInvalidCastException@UnBCL@@
.PEAVInvalidOperationException@UnBCL@@
.PEAVNotSupportedException@UnBCL@@
.PEAVObjectDisposedException@UnBCL@@
.PEAVObject@UnBCL@@
.PEAVOutOfMemoryException@UnBCL@@
.PEAVOverflowException@UnBCL@@
.PEAVPathTooLongException@UnBCL@@
.PEAVSerializationException@UnBCL@@
.PEAVSystemException@UnBCL@@
.PEAVWin32Exception@UnBCL@@
.PEAVXmlException@UnBCL@@
.PEAVXPathException@UnBCL@@
peBootLocation
.PEBVGlobals@@
PE_CreateProductEnumerator
PE Distinguisher Label
PeekConsoleInputW
PeekMessageA
PeekMessageW
PeekNamedPipe
Peering Close
Peering Confirm
Peering Open
Peer STA does not support the requested cipher suite
Peer Unconfigured
peMediaType
PendingErrorCount_Index
PendingFileRenameOperations
pendingRebootTimestamp
pEngineHistory
pEnvironmentState
Pe?????Q
PerApp_BrokeredActivation
PercentageUsedEnduranceIndicator_Index
percentOfIOsFromPinnedFileOnHdd
percentOfIOsFromPinnedFileOnSsd
percentOfTotalIOsServedFromSsdTier
PerfAddCounters
PerfCloseQueryHandle
perfmon.pdb
PerfOpenQueryHandle
PerformanceAccounting
PerformanceCounter
PerformanceCounterCategory
performanceCounterMultipleQueryPools
performanceCounterQueryPools
PerformanceCounterWithTimeChange
PerformanceTab
PerformanceTabViewed
PerformCapabilityMatch
PerformPdcActivation
PerformPostAssociate
PerformPreAssociate
PerformSingleOperation
PerformXForestLogonCheck
PerfQueryCounterData
PerfQueryCounterSetRegistrationInfo
PerfTrack Providers:
periodic
	Periodic Snapshot for specified interval and given Process ID
permission denied
permission_denied
Permission denied
PermitUnthrottle
PersistedCount
persistedRootPath
PerVolumeCatalogConfiguration
pExclusionHandler
pf7f.i.7B77B77B77B777
pf7fpi.p.iBiBi7p7B77
pf7p7BiBiBiB
pf7p7f7Bip
pfAttachedToDesktop
	    PFC Enable
pfCriticalDiskTable
pfErrorExistL
pfExistsL
pfffpfifp
pfiff7p7p7p7p77p7p7iBiB7
pfifp7fiBiBiBiB7p7
pFileAsync
@pFileNameBuffer shouldn't be NULL with non-zero length
pFinalizeUninstall: Can't register deferred target move.
pFinalizeUninstall: FinalizeUninstall succeeded
pFirstUsn
pfIsDirectory
pfIsPathMountPoint
pfIsReparsed
pfnOnDesktopSwitch
pfnOnHandshakeTimeout
pfnOnHookStarted
pfnOnHookStopped
pfnOnPacketReceived
pfnOnPacketSent
pfnOnReconnect
pfnOnShadowConnect
pfnOnWndobjCreateFailed
pfpiBiB7iB
pfpi.pip.iBiB7iB7Bi
pftEndTime
pftStartTime
pGetNetworkCost
(pGU9|Wqr
pguidAppWriterId
pguidBackupSetId
pguidBootVolume
pguidMediaId
pGuidSnapshotId
pguidSppGroupId
pguidTemplateId
pguidVolumeId
pguidWriterId
phContext
phCryptHash
phGlobal
pHintApiEventSink
pHintSink
pHistory
phKeyListener
phkResult
phoneactivate.pdb
PhoneActivate_Result
PhoneActivate_Start
PhoneActivate_Stop
PhoneActivation_SelectedRegion
:PhoneEventLogs
pHostFileObj should not be NULL
pHostFile should not be NULL
phrDetailedResult
phrError
phrResult
phrStatus
phService
phTraceSession
PhysicalConfigurationChange
physicalDevices
PHYSICAL_DEVICE_TYPE_CPU
PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
PHYSICAL_DEVICE_TYPE_OTHER
PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU
Physical Location
PhysicalSizeGB
p.i.7p7B77B77B7B7B]
piBackupSet
pibK63E0-
PiboDocumentSequenceReceiver::Close() is called more than twice.
PiboFixedDocumentReceiver::Close() is called more than twice.
PiboFixedDocumentReceiver::SetPrintTicketRelationship unpexpected to already have a PT
PiboFixedPageReceiver::AddObfuscatedFont Unable to get the guid!
PiboImage::FpSerialize(): ContentType cannot be null or empty
PiboImage::FpSerialize(): Unknown ContentType
PiboThumbnail::FpSerialize(): ContentType cannot be null or empty
PiboThumbnail::FpSerialize(): Unknown ContentType
PiboThumbnail::RpSerialize(): ContentType cannot be null or empty
PiboThumbnail::RpSerialize(): Unknown ContentType
PicFreeFileInfo
PickerHost.pdb
PicRetrieveFileInfo
PictureBox
p.i.f7.7BiB7B7p7B
PIM-Bidir Tree
pImpersonator
PIM-SM Tree
PIM-SSM Tree
PinEnrollmentBroker.pdb
PInitiateRAConnection
PinnedFileListForDiskOptimizer
pinnedToDiskClusterCount
pinnedToFlashClusterCount
pInPackId
pinPolicy
PinPolicyRulesAlreadyInitialized
PinPolicyRulesNotInitializedBeforeSerialization
pInputHandler
pinRecordsError
pInstanceCount
pIoctlOutputBuffer
pIoIrp should not be NULL
pipB7BiBiBi7
pipelineCacheUUID
PIPELINE_COMPILE_REQUIRED
pipelineCreationCacheControl
pipelineExecutableInfo
pipelineFragmentShadingRate
pipelineStatisticsQuery
PipeList
PipeNamePrefix
pIPrintFilter cannot be NULL
pIrp should not be NULL
pISequence cannot be NULL
pIsOldFormatVhdsExist
pIsOldVhdFormat
pIWudfDevice should not be NULL
pixelfragment
PixelHeight
pixelshader
PIXELSHADER
PIXELSHADERCONSTANT
PIXELSHADERCONSTANT1
PIXELSHADERCONSTANT2
PIXELSHADERCONSTANT3
PIXELSHADERCONSTANT4
PIXELSHADERCONSTANTB
PIXELSHADERCONSTANTF
PIXELSHADERCONSTANTI
pixel shader must minimally write all four components of COLOR0
PixelWidth
pJournalId
pjs@9uQh
pkeyhelper.dll
pkgmgr.pdb
PktMon.pdb
 PkY75Qi
PlaceCallback  failed
pLanguageImeInfoBody
PlaServer
plasrv.pdb
pLastBackupSet
plastUsn
Platform
PlatformBinary
Platform must either be core platform or have a parent platform object.
platformType
PlayEnhMetaFile
Playlist location already obfuscated.
Playlist location not obfuscated. Doing Obfuscation now.
PlayMetaFile
PlaySndSrv.DLL
PlaySoundServerInitialize
PlaySoundW
plContextWWWL
plCountW@
Please contact the application's support team for more information.
Please copy Nirvana and client DLLs into a directory with a shorter full path
	Please reboot the machine for these settings to take effect.
Please review this file before agreeing.
Please send this output to TTD support.
pllDiffAreaSize
pllOriginalCapabilityMaskWWWL
pLocalCatalog
pLocationChannel
pLogFile
|plRetWWW
plStatus
pluginName
plWindowID
	-pmcsources		 - Query the list of hardware counters available on the system
pMemberLayout
pMetadata
pMonitors
!pMountPointIn
!pMountPointsOut
pMpInfoList
pMsgDispatch should not be NULL
PMSI Tunnel
P!MSTSWebProxyLibW
pmwszCriticalVolumes
pmwszNewMwsz
pmwszSymbolicNames
pNewChild
pNewDisk
pNewLink
pNewMedia
pNewVolume
pNextMediaCtxt
pNextUsn
p not in the string
PnPUnattend.pdb
pnputil.pdb
pNumberSets
PointArrayProperty
pointClippingBehavior
POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES
POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
POINTER_FLAG_TO_TEXT(CANCELED) failed!
POINTER_FLAG_TO_TEXT(CAPTURECHANGED) failed!
POINTER_FLAG_TO_TEXT(CONFIDENCE) failed!
POINTER_FLAG_TO_TEXT(DOWN) failed!
POINTER_FLAG_TO_TEXT(FIFTHBUTTON) failed!
POINTER_FLAG_TO_TEXT(FIRSTBUTTON) failed!
POINTER_FLAG_TO_TEXT(FOURTHBUTTON) failed!
POINTER_FLAG_TO_TEXT(HWHEEL) failed!
POINTER_FLAG_TO_TEXT(INCONTACT) failed!
POINTER_FLAG_TO_TEXT(INRANGE) failed!
POINTER_FLAG_TO_TEXT(NEW) failed!
POINTER_FLAG_TO_TEXT(PRIMARY) failed!
POINTER_FLAG_TO_TEXT(SECONDBUTTON) failed!
POINTER_FLAG_TO_TEXT(THIRDBUTTON) failed!
POINTER_FLAG_TO_TEXT(UPDATE) failed!
POINTER_FLAG_TO_TEXT(UP) failed!
POINTER_FLAG_TO_TEXT(WHEEL) failed!
pointPolygons
PointProperty
POINTSCALE_A
POINTSCALE_B
POINTSCALE_C
POINTSCALEENABLE
POINTSIZE
pointSizeGranularity
POINTSIZE_MAX
POINTSIZE_MIN
pointSizeRange
POINTSPRITEENABLE
pOldPrivileges
policiesNamevaluesource
policyDaysOutOfDate
policyDescription
policyElementName
PolicyEnabled
PolicyItem
policymanager.dll
PolicyManager_FreeGetPolicyData
PolicyManager_FreeStringValue
PolicyManager_GetPolicy
PolicyManager_GetPolicyInt
PolicyManager_GetPolicyString
PolicyManager_IsPolicySetByMobileDeviceManager
policyName
policySet
policyType
PolicyType
Policy update
policyValue
policy_version
Polyline
polymorphic
Polymorphic
PoolConfig
PoolType
_PopulateDetailsList
PopulateDrivesCombo
_PopulateRestorePointList
PopulateUserProfileData
PopulateUserProfiledataThreadFunc
_PopulateVolumePickerList
PopulateWaitTree
PopulateWindowNamesFromRegistry() failed.  Non-Fatal.
poqexec.exe: Deferring poqexec at users request
poqexec.pdb
--portability
) portability features and properties. Generated using the 
portability.json
--portability       Produce a json version of vulkaninfo to standard output of the first
Port and Protocol VLAN ID
Port component
Port Description
PortDriverResetCount
Port-ID TLV
Port VLAN Id
pos1 is greater than length()
posePredictionTimeInTicks
Pose Quality Rotation
Pose Quality Translation
poseQueryFlags
	poseTimestampInQpcTicks
poseTimestampQpc
poseToDevice
pos is greater than string length
pos is greater than the string length
pos is greter than length
    position
position
Position
POSITION
			position: absolute;
positionCount
POSITIONDEGREE
?PositionProp@ModernProgressBar@DirectUI@@SAPEBUPropertyInfo@2@XZ
positiont
PositionT
POSITIONT
PositionX
PositionY
PositionZ
POSIX-timezone
POSIX-tz-database
pospaymentsworker.pdb
PostAssociateCompletion
?PostCreate@CCBase@DirectUI@@MEAAXPEAUHWND__@@@Z
PostCreateProcessDesktopAppXActivation
?_PostEvent@Element@DirectUI@@AEAAXPEAUEvent@2@H@Z
PostInitialize
	PostInstall
PostInstallActivity
PostMessageA
PostMessageW
PostQuitMessage
POSTRUNPROGRAM
PostShellHookMessage failed
PostThreadMessageA
PostThreadMessageW
 POUR LES DOMMAGES. Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement 
pOutTargetCat
PowerApplyPowerRequestOverride
PowercfgExeFailure
powercfg.pdb
PowerClearRequest
power consumption
PowerCreateRequest
PowerDeleteScheme
PowerDeterminePlatformRole
PowerDeterminePlatformRoleEx
PowerDuplicateScheme
PowerEnumerate
PowerGetActiveScheme
PowerGetActualOverlayScheme
PowerGetAdaptiveStandbyDiagnostics
PowerGetOverlaySchemes
PowerImportPowerScheme
PowerInfo
PowerInfoError
PowerInformationWithPrivileges
Power IRP completion message arrvied for an unexpected minor function
powermenuNewOptions
powermenuOldOptions
PowerMenuOptionsChanged
Power Notification: 
PowerOpenUserPowerKey
PowerOptionEnabled
POWER_OPTION_HIBERNATE
PowerPolicyToGUIDFormat
PowerReadACValueIndex
PowerReadACValueIndexEx
PowerReadDCValueIndex
PowerReadDCValueIndexEx
PowerReadFriendlyName
PowerReadPossibleFriendlyName
PowerReadPossibleValue
PowerReadSecurityDescriptor
PowerReadSettingAttributes
PowerReadValueIncrement
PowerReadValueMax
PowerReadValueMin
PowerReadValueUnitsSpecifier
PowerRegisterSuspendResumeNotification
PowerRemovePowerSetting
PowerReplaceDefaultPowerSchemes
PowerRestoreDefaultPowerSchemes
PowerRestoreIndividualDefaultPowerScheme
Power Save-Poll
PowerSetActiveOverlayScheme
PowerSetActiveScheme
PowerSetRequest
PowerSettingInfo
PowerSettingRegisterNotification
PowerSettingUnregisterNotification
PowerShell
powershell_ise
powershell_ise.exe
powershell_ise.pdb
powershell.pdb
PowerShellPicture
PowerShellUsageCommand
PowerUnregisterSuspendResumeNotification
PowerUsage
PowerUsageTrend
Power via MDI
PowerWriteACDefaultIndex
PowerWriteACValueIndex
PowerWriteDCDefaultIndex
PowerWriteDCValueIndex
PowerWriteDescription
PowerWriteFriendlyName
PowerWritePossibleValue
PowerWriteSecurityDescriptor
PowerWriteSettingAttributes
PowerWriteValueIncrement
PowerWriteValueMax
PowerWriteValueMin
POWRPROF.dll
pPackList
PPAM Root Production Issuer Key0
ppAppRestoreInfo
pParentContext
pParentCtxt
pParentNode
pPartitionOffset
pPartitionTable
ppAttachedIWudfDevice should not be NULL
ppAvcEvents
ppBackupSets
ppBackupSpec
ppbHashObject
*ppbOutBlob
ppBsiCat
ppCtx should not be NULL
ppDefaultDispatcher should not be NULL
ppDependencyInfo
ppDiskList
ppDisplayControlHandler
ppdispServiceWWW
!p@!pD!pHH
ppdrivesL
ppdriveW@
pPenFrame
pPenFrames
ppenumWW
ppenumWWd
pPerformanceSettings
ppfilesW@
 @ppfileWW
ppfolder@
*ppFxModInfo should not be NULL
pphContext
ppHeader
ppHostFile should not be NULL
ppIDataObject
ppif7ppi
ppIFileItem cannot be NULL
ppInputHandler
ppInputInjector
ppInstance
ppIoDispatcher should not be NULL
.ppIoIrp should not be NULL
ppIStartupFileItem cannot be NULL
*ppIWudfDevice should not be NULL
pPlatform
pPlexLayout
ppLocalCatalog
ppLocationChannel
ppModalDialogBase
ppMountPointsOut
ppmwszCriticalVolumeList
ppmwszCriticalVolumesOut
ppmwszMwsz
ppmwszOutSymbolicNames
ppNamedPipeHandler
ppNativeUsbDispatcher should not be NULL
ppNodeOut
ppObject
pPopupWindow
ppOutQueryPointOutput
ppOutValue
ppOutXmlNode
p.pp7f.B7B7B7B77B7
ppPartitionTable
ppPerformanceSettings
PPPF999#999
___:pppO999
ppPointerInputInjector
ppPrivilegedPresentationOperations
ppProperties
ppRailIcon
ppRemoteDispatcher should not be NULL
ppRequiredTarget
pProgressReportCallbackContext
pProviderIdW
pps7tuxf
PpsaWkspNameW
ppSe6SepprRW
ppShellEvents
ppSifDisk
ppStorageDepInfo
ppStream cannot be null
ppStream cannot be null.
*ppstrFilePath
ppString
ppsUniqueId
ppSystem
ppszFilename
ppTemplates
*ppThumbprint
PPTP00a[
PPTP00m_ModEntryPt should be NULL
PPTP00!u
ppVhdContext
ppVirtualDiskInfo
ppv is NULL
ppVisualViewport
_ppvObject should not be NULL
ppVolumeInfo
ppVolumeMap
ppVssAsrBackup
ppWebTelemetryEventHandler
ppWebWorkerLifetimeEventHandler
ppWin32Dispatcher should not be NULL
ppWin32DpiApi
ppWindowActivationHelper
ppWriterInfo
ppWriterInfoList
ppwszErrorMsg
ppwszMetadata
ppwszOutXmlDoc
ppwszOutXmlFilename
ppwszSettingsStore
ppwszSignatureOut
*ppwszVolumeGuidOut
ppwszVolumeGuidOut
ppwszVolumesInBackup
ppwszXmlDocOut
ppWudfDevice should not be NULL
ppWudfIoCompletionRoutine should not be NULL
pQueryDiskInfoBuffer
pQueryPointInput
pQueryPointOutput
pQueryVolumeInfoBuffer
#pragma autorecover
#pragma classflags("forceupdate")
#pragma once
*(pRailIcon
pRailShellInstance
prcSnapArrangement
prcTopLevelBounds
prcVideoBounds
pRdpFileContents
PreciseUserLocation
precision
predicates are not supported in this shader version
predictionAmountInTicks
	predictionAmountValid
Prediction API result
Prediction raw value
Prediction result
Prediction uni API call was successful
Prediction unit API call was successfully verified in Smart busy check: Machine woke up automatically to run reboot task
Preempted
preference
PreferredPasswordLengthInChars
preferStore
Prefixes
prefix info
PrefixWW
pRegistrationID should not be NULL
PreInitialize
PREMODULATE
pRendezvousSessionWW
PrepareCrashDataPayload
PrepareCrashDataPayload failed
PrepareDesktopAppXActivation
PrepareForFailFast
_PrepareForRestore
?PrepareToParse@ARGUMENT_LEXEMIZER@@QEAAEPEAVWSTRING@@@Z
?PrepareToReOpen@CRegistry@@AEAAXXZ
PreparingEject
pReply should be NULL
	    Pre-Priority CNPV Indicator
	    Pre-Priority Ready Indicator
pRequestedWindowRect
PresenceState
Presentable Surfaces
PRESENTATION
PresentationBuildTasks
PresentationCFFRasterizer
PresentationCFFRasterizerNative
PresentationCore
PresentationFontCache
PresentationFramework
PresentationFrameworkAero
PresentationFrameworkClassic
PresentationFrameworkLuna
PresentationFrameworkRoyale
PresentationHost.exe
PresentationHost.pdb
PresentationNative
PresentationSettings.pdb
PresentationUI
presentationVersion
Present Capabilities
presentId
PRESENT_MODE_FIFO_KHR
PRESENT_MODE_FIFO_RELAXED_KHR
PRESENT_MODE_IMMEDIATE_KHR
PRESENT_MODE_MAILBOX_KHR
Present modes
Present Modes
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
present support
presentWait
preserve-permissions
preshared
PreshutdownSerialPhaseEnd
PreShutdownStart
PreShutdownStop
PRESPEC2.0
pRestoreFiles
pRestriction cannot be null
PRETTY_JSON_PROTOCOL
?Prev@CRtlListIter@@QEAAAEAV1@XZ
prevDesiredTracking
PreventSleep
preventSleepState
prevhost.pdb
Previous
Previous authentication no longer valid
PreviousClientProcessId
PreviousCount
PreviousCountFound
PreviousExecutionState
previouslyNotifiedState
previousState
PreviousState
PreviousStatus
Previous Tracker Mode
prevLocationToStaticNode
prevStaticNodeId
prgBackupMachineNames
prgBackupSet
prgCatComponentInfo
prgCompHr
prgCompHrDetailed
prgComponents
prgComponentSpecs
prgDstComponentInfo
prgDstVolumeInfo
prgExcludeSpecs
prgFilesEnumInfo
prgFileSpecs
prgIncludeSpecs
pRgnClip
prgRestoreSpecs
prgScheduleTime
prgUpdateTargets
prgVolumeGuid
prgVolumes
prgVolumeSSB
prgWriterInfo
prgwszArrayOut
prgwszFiles
prgwszTargetName
prgwszVolumeDisplayName
primaryAdapterId.HighPart
primaryAdapterId.LowPart
primaryMajor
primaryMinor
PrimaryTerminalAndHookWorker
primitiveFragmentShadingRate
primitiveFragmentShadingRateWithMultipleViewports
Primitive Operations Queue
primitiveOverestimationSize
primitiveTopologyListRestart
primitiveTopologyPatchListRestart
primitiveUnderestimation
PrincipalPointX
PrincipalPointY
PrintBrmEngine.exe
PrintBrmEngine.pdb
PrintBrm.exe
PrintBrm.pdb
PrintBrmUI.exe
PrintBrmUI.pdb
PrintCmdLine
PrintDlgExW
PrinterConnectionName
PrinterFullName
PrinterName
PrintError
PrintFilterPipelineSvc: A print filter did not uninitialize COM properly on the current thread!
                'PrintFilterPipelineSvc.Exe'
PrintFilterPipelineSvc.pdb
PrintHelp
PrintIsolationHost.pdb
PrintJobInfoCollection
                    Print output to a new file whose name is specified by filename.
print.pdb
PrintQueue
printQueueName
PrintRecordingStatus
PrintRegKeyXML failed
PrintServer
PrintSystemJobInfo
PrintSystemObject
PrintUIEntryW
PrintUI.pdb
PrintXPSDocument
priorities
prioritiesPerBucket
Priority
	     Priority : 0   1   2   3   4   5   6   7
	     Priority : 0  1  2  3  4  5  6  7
	      Priority Allocation
PriorityAnchorEmplaced
	    Priority Assignment Table
priorityCount
Priority Flow Control Configuration
	      Priority Group Allocation
priorityNodeIdsSize
priorityToDemote
priorityToPromote
priorityToRetain
 PRIVACY 
PrivacyConsentCompleted
privacyConsentState
PrivacyConsentStatus
PrivacyKeyManager
private: 
privateData
private-error
PrivateExtractIconsW
PrivateMessageBox
Private Organization1
private-status
PrivilegeCheck
PrivTagsAdvanced
prntvpt.dll
Probe message
Probe Request
Probe Response
problemCode
ProcesRemoteSessionInitialCommand
Process32FirstW
Process32NextW
ProcessActionQueue
ProcessAndAddExclusion((CSmartStr)p)
ProcessAndAddExclusion((CSmartStr)wszEntry)
ProcessAndAddExclusion(ssAppend)
ProcessAndAddExclusion(ssData)
process cannot be null
Process cannot be null
ProcessCommandLine
ProcessCommands
Process component out of range.
ProcessCpuTotalAccounting
processCreationTime
ProcessDisplayRotation
ProcessDump failed
Processed Correlation Vector
ProcessedPages
Processes
process found
processId
ProcessId
ProcessIdToSessionId
ProcessIdToSessionId() failed
ProcessInaccessible
ProcessingPass3End
ProcessingPass3Start
processingResult
processingState
ProcessKernelTime
ProcessLiveDump failed
ProcessMemoryTotalAccounting
Process Model Update
processName
ProcessName
ProcessorCount
Processor Number
Processor Trace Events
ProcessPointerFramesInteractionContext
ProcessPriorityClass
ProcessReceivedCommand
ProcessRenderHint() failed
ProcessSecurityPacket
ProcessSessionChange
ProcessShutdown:Successfully enabled the shutdown privilege
ProcessStart data length does not match expected
ProcessStartInfo
ProcessStop data length does not match expected
ProcessTempDirectoryPdu failed!
ProcessTermSrvIniFiles
processTimeInMinutes
ProcessTrace
ProcessTrace() already started
ProcessUIResponse
ProcessUserTime
ProcessUtils
ProcessVolumeTablesEnd
ProcessVolumeTablesStart
processWatcher
ProcessWatcher
ProcessWindowStyle
procName
ProductAndServicePerformance
ProductAndServiceUsage
ProductName
ProductVer
profapi.dll
ProfessionalAndPersonalProfile
	-profiledetails		 - Displays the detailed information about a set of profiles
	-profiles		 - Enumerates the profile names and descriptions from a profile file
	-profint		 - Query the current profile interval
ProgDlgTakeFgIfShowing
ProgIDFromCLSID
Program: 
Program execution will be stopped
Program has entered an unexpected state
program_id
program is order of magnitude too large to compile to ps_1_4
program too big
program too complex: exceeded available constant registers.
program too complex: out of temporary registers
program too complex; there are more active values than registers
program too complex to compile to ps_1_4
Progress
_ProgressDlgOnCancelBackup
_ProgressDlgOnNotify
_ProgressDlgOnPaint
Progression of Correlation Vector
ProjectAt
PROJECTED
projection
projectionSet
PROJECTIONTRANSFORM
projectionYear
promise already satisfied
Promise: Orphaned async operation.
promoteOemTiles
Prompts user for the a WIA event handler to runWWW
Prompt User From JS
Properties
propertiesChanged
property
Property
property AttachedXMLFileWW
property BodyW
propertyBuffer
propertyBufferSize
PropertyChanged
PropertyData
PropertyDataCollection
PropertyDataEnumerator
propertyFlags
PropertyName
property RAExpertNameW
property RANoviceNameW
property RATicketStringWWW
propertyRegDataType
PropertySheetW
property SubjectWW
propertyValueAsInspectable.CopyTo(IID_PPV_ARGS(propertyValue))
PROPFIND
Proposal
PROPPATCH
?PropSheet_SendMessage@TaskPage@DirectUI@@IEAA_JI_K_J@Z
PROPSYS.dll
PropVariantChangeType
PropVariantClear
PropVariantCopy
PropVariantToBoolean
PropVariantToGUID
PropVariantToStringAlloc
PropVariantToUInt32
proquota.pdb
protected
protected: 
Protected 
ProtectedBrokerCrashMain
protectedMemory
protectedNoFault
ProtectFolder
ProtectStatus
protocol
protocol error
Protocol failure: CopyFromMemory
Protocol failure: DereferenceDeviceObject
Protocol failure: DereferenceDriverObject
Protocol failure: DereferenceProcess
Protocol failure: DereferenceThread
Protocol failure: FreezeThread
Protocol failure: GetKernelFieldInfo
Protocol failure: GetNextProcess
Protocol failure: GetNextThread
Protocol failure: GetProcess
Protocol failure: MapFile
Protocol failure: MapVirtualAddress
Protocol failure: PurgeReferences
Protocol failure: ReferenceDeviceObject
Protocol failure: ReferenceDriverObject
Protocol failure: ThawThread
Protocol failure: UnmapFile
Protocol failure: UnMapVirtualAddress
ProtocolHandlerActivationFailure
protocolHandlerName
ProtocolHandlersList
Protocol-Hello option
	    protocol identity: 
Protocol Identity
protocol not supported
protocol_not_supported
protocolStatusCode
ProtocolTalker
 proto: delayed
 proto: reconfigure
Provided DriverObjectLoad data buffer too small
Provided DriverObjectUnload data buffer too small
Provided ProcessStart data buffer too small
Provided ProcessStop data buffer too small
Provider
ProviderCallWatchdogTimeout
ProviderControlFail
ProviderDisplayName
ProviderGetEventInformation
ProviderGuid
ProviderGUID
ProviderId
ProviderManagerModuleLoaded
ProviderManagerModuleUnloaded
ProviderManagerRegistryKeyName
ProviderManagerStarted
ProviderManagerStopped
providerName
ProviderName
ProviderOperation
ProviderProperties
Providers
	-providers		 - Displays detailed information about providers
ProviderState
ProviderType
ProviderVersion
ProviderVersionId
Provisioning cannot be completed at this time
ProvisioningTurn
provlaunch.pdb
provokingVertexLast
provokingVertexModePerPipeline
provpackageapidll.dll
ProvPackageIsEmpty
ProvPackageNotOpened
ProvPackageOpened
ProvToolActivities
ProvToolCommandLine
ProvToolEnded
provtool.pdb
ProvToolStarted
ProvToolStartedCmdLine
ProWay NM
ProximityCommon.dll
ProximityServicePAL.dll
ProximityUxHost.pdb
Proxy Update
Proxy Update Confirmation
PRPROC.pdb
prRRRRRRRRw
Pruning TLV
PrvAbortPrinter
PrvAddFormW
PrvAddJobW
PrvAddMonitorW
PrvAddPerMachineConnectionW
PrvAddPortExW
PrvAddPortW
PrvAddPrinterConnectionW
PrvAddPrinterDriverExW
PrvAddPrinterDriverW
PrvAddPrinterExW
PrvAddPrinterW
PrvAddPrintProcessorW
PrvAddPrintProvidorW
PrvAdjustPointers
PrvAdjustPointersInStructuresArray
PrvAlignKMPtr
PrvAlignRpcPtr
PrvAllocSplStr
PrvAllowRemoteCalls
PrvAppendPrinterNotifyInfoData
PrvbGetDevModePerUser
PrvbSetDevModePerUser
PrvBuildOtherNamesFromMachineName
PrvCacheAddName
PrvCacheCreateAndAddNode
PrvCacheCreateAndAddNodeWithIPAddresses
PrvCacheDeleteNode
PrvCacheIsNameCluster
PrvCacheIsNameInNodeList
PrvCallDrvDevModeConversion
PrvCallRouterFindFirstPrinterChangeNotification
PrvCheckLocalCall
PrvClosePrinter
PrvConfigurePortW
PrvCreatePrinterIC
PrvDeleteFormW
PrvDeleteJobNamedProperty
PrvDeleteMonitorW
PrvDeletePerMachineConnectionW
PrvDeletePortW
PrvDeletePrinter
PrvDeletePrinterConnectionW
PrvDeletePrinterDataExW
PrvDeletePrinterDataW
PrvDeletePrinterDriverExW
PrvDeletePrinterDriverW
PrvDeletePrinterIC
PrvDeletePrinterKeyW
PrvDeletePrintProcessorW
PrvDeletePrintProvidorW
PrvDllAllocSplMem
PrvDllAllocSplStr
PrvDllFreeSplMem
PrvDllFreeSplStr
PrvDllReallocSplMem
PrvDllReallocSplStr
prvdmofcomp.dll
PrvEndDocPrinter
PrvEndPagePrinter
PrvEnumFormsW
PrvEnumJobsW
PrvEnumMonitorsW
PrvEnumPerMachineConnectionsW
PrvEnumPortsW
PrvEnumPrinterDataExW
PrvEnumPrinterDataW
PrvEnumPrinterDriversW
PrvEnumPrinterKeyW
PrvEnumPrintersW
PrvEnumPrintProcessorDatatypesW
PrvEnumPrintProcessorsW
PrvFindClosePrinterChangeNotification
PrvFlushPrinter
PrvFormatPrinterForRegistryKey
PrvFormatRegistryKeyForPrinter
PrvFreeOtherNames
PrvFreePrintPropertyValue
PrvGetFormW
PrvGetJobAttributes
PrvGetJobAttributesEx
PrvGetJobNamedPropertyValue
PrvGetJobW
PrvGetNetworkId
PrvGetPrinterDataExW
PrvGetPrinterDataW
PrvGetPrinterDriverDirectoryW
PrvGetPrinterDriverExW
PrvGetPrinterDriverW
PrvGetPrinterW
PrvGetPrintProcessorDirectoryW
PrvGetServerPolicy
PrvGetShrinkedSize
PrvGetSpoolerTlsIndexes
PrvImpersonatePrinterClient
PrvInitializeRouter
PrvIsNamedPipeRpcCall
PrvIsNameTheLocalMachineOrAClusterSpooler
PrvMarshallDownStructure
PrvMarshallDownStructuresArray
PrvMarshallUpStructure
PrvMarshallUpStructuresArray
PrvMIDL_user_allocate
PrvMIDL_user_allocate1
PrvMIDL_user_free
PrvMIDL_user_free1
PrvOldGetPrinterDriverW
PrvOpenPrinter2W
PrvOpenPrinterExW
PrvOpenPrinterPort2W
PrvOpenPrinterW
PrvPackStrings
PrvPartialReplyPrinterChangeNotification
PrvPlayGdiScriptOnPrinterIC
PrvPrinterHandleRundown
PrvPrinterMessageBoxW
PrvProvidorFindClosePrinterChangeNotification
PrvProvidorFindFirstPrinterChangeNotification
PrvReadPrinter
PrvReallocSplMem
PrvReallocSplStr
PrvRemoteFindFirstPrinterChangeNotification
PrvReplyClosePrinter
PrvReplyOpenPrinter
PrvReplyPrinterChangeNotification
PrvReplyPrinterChangeNotificationEx
PrvReportJobProcessingProgress
PrvResetPrinterW
PrvRevertToPrinterSelf
PrvRouterAddPrinterConnection2
PrvRouterAllocBidiMem
PrvRouterAllocBidiResponseContainer
PrvRouterAllocPrinterNotifyInfo
PrvRouterBroadcastMessage
PrvRouterCorePrinterDriverInstalled
PrvRouterCreatePrintAsyncNotificationChannel
PrvRouterDeletePrinterDriverPackage
PrvRouterFindCompatibleDriver
PrvRouterFindFirstPrinterChangeNotification
PrvRouterFindNextPrinterChangeNotification
PrvRouterFreeBidiMem
PrvRouterFreeBidiResponseContainer
PrvRouterFreePrinterNotifyInfo
PrvRouterGetCorePrinterDrivers
PrvRouterGetPrintClassObject
PrvRouterGetPrinterDriverPackagePath
PrvRouterInstallPrinterDriverFromPackage
PrvRouterInstallPrinterDriverPackageFromConnection
PrvRouterInternalGetPrinterDriver
PrvRouterRefreshPrinterChangeNotification
PrvRouterRegisterForPrintAsyncNotifications
PrvRouterReplyPrinter
PrvRouterSpoolerSetPolicy
PrvRouterUnregisterForPrintAsyncNotifications
PrvRouterUploadPrinterDriverPackage
PrvScheduleJob
PrvSeekPrinter
PrvSendRecvBidiData
PrvSetFormW
PrvSetJobNamedProperty
PrvSetJobW
PrvSetPortW
PrvSetPrinterDataExW
PrvSetPrinterDataW
PrvSetPrinterW
PrvSplCloseSpoolFileHandle
PrvSplCommitSpoolData
PrvSplDriverUnloadComplete
PrvSplGetClientUserHandle
PrvSplGetSpoolFileInfo
PrvSplGetUserSidStringFromToken
PrvSplInitializeWinSpoolDrv
PrvSplIsSessionZero
PrvSplIsUpgrade
PrvSplProcessPnPEvent
PrvSplProcessSessionEvent
PrvSplPromptUIInUsersSession
PrvSplQueryUserInfo
PrvSplReadPrinter
PrvSplRegisterForDeviceEvents
PrvSplRegisterForSessionEvents
PrvSplShutDownRouter
PrvSplUnregisterForDeviceEvents
PrvSplUnregisterForSessionEvents
PrvSpoolerFindClosePrinterChangeNotification
PrvSpoolerFindFirstPrinterChangeNotification
PrvSpoolerFindNextPrinterChangeNotification
PrvSpoolerFreePrinterNotifyInfo
PrvSpoolerHasInitialized
PrvSpoolerInit
PrvSpoolerRefreshPrinterChangeNotification
PrvStartDocPrinterW
PrvStartPagePrinter
PrvUndoAlignKMPtr
PrvUndoAlignRpcPtr
PrvUpdateBufferSize
PrvUpdatePrinterRegAll
PrvUpdatePrinterRegAllEx
PrvUpdatePrinterRegUser
PrvWaitForPrinterChange
PrvWaitForSpoolerInitialization
PrvWritePrinter
PrvXcvDataW
ps_1_0 is no longer supported; using ps_1_1
psaDesktopsW
psaWkspFolders
psaWkspFoldersWWd
psaWkspIds
psaWkspName
psaWkspNames
psaWkspResourceFileExtsWd
pScaleFactor
PSCreateMemoryPropertyStore
psczDirectory
psczPath
psczValue
PSE device
PSE - primary power source
pSessionStateWWWL
pSetupConcatenatePaths
pSetupDoesUserHavePrivilege
pSetupStringFromGuid
PSFX_E_APPLY_FORWARD_DELTA_FAILED
PSFX_E_APPLY_REVERSE_DELTA_FAILED
PSFX_E_DELTA_NOT_SUPPORTED_FOR_COMPONENT
PSFX_E_INVALID_DELTA_COMBINATION
PSFX_E_MATCHING_BINARY_MISSING
PSFX_E_MATCHING_COMPONENT_DIRECTORY_MISSING
PSFX_E_MATCHING_COMPONENT_NOT_FOUND
PSFX_E_NULL_DELTA_HYDRATION_FAILED
PSFX_E_REVERSE_AND_FORWARD_DELTAS_MISSING
PSFX_E_REVERSE_DELTA_MISSING
PSFX_E_UNSUPPORTED_COMPRESSION_SWITCH
PsGetCurrentProcess
PsGetProcessCreateTimeQuadPart
PSGetPropertyDescription
pSinkWWWd
PSIZE must be a scalar
pSkuIdWW
psLogsFile
PsLookupProcessByProcessId
PsmAdjustActivationToken
PsmAdjustActivationTokenEx
PSMemberInfo
PSMemberTypes
PsmRegisterServiceProcess
PSObject
pSourceGroup
pSourceRegion
pSpecCurr
pSpecPrev
pSppMetadata
PSPropertyBag_ReadDWORD
PSPropertyBag_WriteDWORD
PSPropertyBag_WriteInt
PSPropertyBag_WriteStr
PSPropertyBag_WriteUnknown
PssDuplicateSnapshot
PsSetCreateProcessNotifyRoutine
PssNtCaptureSnapshot
PssQuerySnapshot
PssWalkMarkerCreate
PssWalkMarkerFree
pstatusW
pStgMedium
!(* pStr)
pString cannot be NULL
P	strncmp
pstrTargetFilePath
pstVhdInfo
pSysInfo
pSystemInfo
pszAccountName
pszArguments
pszAuthCookie
pszContent
pszFileName
pszFilePath
pszListenerName
pszName cannot be NULL
pszTitle
pTemplate
pTemplCat
pTimeOfBackupSet
PtInRect
pTopNode
pTotalSizeWWW
pTouchFrame
pTouchFrames
PtrToStringAnsi
PtrToStructure
pTsPlatform
P'	t@v]v
public: 
PublicPersonal
PublicRPCActivity
PUBLIC_TMF:
publisher
Publisher
PublisherCommonName
PublishMaintenanceTasksSQM
?PublishProviderStarted@CPublishWMIOperationEvent@@SAJPEAGJ0K0@Z
puiDriveTypeOut
pulClusterSize
'pulErrNumWWW
pulFlags
pullAllocatedDiffAreaSize || pullUsedDiffAreaSize || pllMaxDiffAreaSize
pullBackupSize
pullCurrentBackupSize
pullDifference
pullDirSize
pullExcludedFileSize
pullPartialVolumeBackupSize
pullSizeToReclaim
pullTotalTargetFreeSpace
pullTotalTargetSpace
pullVHDFileSize
pulProcessId
pulProcessIdd
pulResponse
pulSerialNumberW
pUmUrb should not be NULL
punkDeviceControlWWW
|pUnregisterDevice
_purecall
- pure virtual function call
	-purgecache		 - Purges the dynamic symbols cache
PurgeComm
PurgeReferences Params should be null
	Purges the dynamic symbols cache
purposes
PushButtonReset::Directory::EnumFiles
PushButtonReset::Directory::GetCurrent
PushButtonReset::File::Delete
PushButtonReset::File::Exists
PushButtonReset::IniFile::AddSection
PushButtonReset::IniFile::Create
PushButtonReset::IniFile::Save
PushButtonReset::IniFile::SetValue
PushButtonReset::InstallList::Read
PushButtonReset::Logging::Trace
PushButtonReset::Logging::TraceErr
PushButtonReset::Path::AreEqual
PushButtonReset::Path::GetCanonical
PushButtonReset::Path::GetDirectory
PushButtonReset::Path::GetDrive
PushButtonReset::Path::GetFullPath
PushButtonReset::Path::GetVolume
PushButtonReset::Path::GetVolumeRelPath
PushButtonReset::Power::GetSource
PushButtonReset::RegHive::Load
PushButtonReset::RegHive::OpenSystemHive
PushButtonReset::RegHive::OpenUserHiveList
PushButtonReset::RegKey::CopyTo
PushButtonReset::RegKey::DeleteValue
PushButtonReset::RegKey::EnumValues
PushButtonReset::RegKey::GetValue
PushButtonReset::RegKey::HasValue
PushButtonReset::RegKey::SetValue
PushButtonReset::RegValue::Create
PushButtonReset::RegValue::GetDWORD
PushButtonReset::RegValue::GetExpandString
PushButtonReset::RegValue::GetString
PushButtonReset::ScheduledTask::Delete
PushButtonReset::UserAccount::EnumAccounts
PushButtonReset::UserAccountList::GetAccount
PushButtonReset::UserAccount::OpenUserHive
PushButtonReset::WofOverlay::EnumOverlays
PushButtonReset::WofOverlay::GetOverlay
PushButtonReset::WofOverlay::IsOverlay
PushNotification
pUsnInfo
?Put@ARRAY@@UEAAEPEAVOBJECT@@@Z
put_ControlLevel failed
?PutMultiCharSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutMultipleSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutMultipleSwitch@ARGUMENT_LEXEMIZER@@QEAAXPEBVWSTRING@@@Z
?PutSeparators@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBD@Z
?PutSwitches@ARGUMENT_LEXEMIZER@@QEAAXPEBVWSTRING@@@Z
PutTSPrivateDataOnClipboard failed!
p UWATAUAWH
p UWATAVAWH
p UWAUAVAWH
pvarAvailWWW
pvarTotalWWW
pvBuffer cannot be NULL.
pvCalculated
pvContext
pVhdContext
pVhdContextForRemoval
pVhdHandle
pVhdInfo
pVirtualDiskInfo
#pVkb6c44T8
pVolCtxt
pVolGuid
pVolInfo
pVolStat
pVolumeCat
pVolumeContext
pVolumeId
pVolumeLayout
pVolumeMap
pvReceived
!pVssComponentInfo
PVZ	U	app
__p___wargv
p WATAUAVAWH
p WATAUH
p WATAVH
p WATAWH
p WAUAVH
p WAUAWH
p WAVAWH
PwdExpiryWarningCleared
PwdExpiryWarningNotShown
PwdExpiryWarningTriggered
PWINDOW_GEOMETRY_ESC
PWINDOW_GEOMETRY_ESC_VER2
pWindowState
pWkspMenuItem
pWkspScript.CoCreateInstance failed
pwlauncher.pdb
pWorkspace.CoCreateInstance failed
pWorkspace.GetWorkspaceNames failed
pWorkspace.QueryInterface failed
Pwr Mgmt 
pwstrKeyName
pwszAttribName
pwszBackupSpecsInfo
pwszBackupSpecsXML
pwszBackupSpecsXmlFile
pwszBagFile
pwszBootVolume
pwszComponentInfo
pwszComponentInfoSummary
pwszDest
pwszDeviceName
pwszDevicePath
pwszDevicePathOut
pwszDevPath
pwszDiskName
pwszDiskPath
pwszDisplayName
pwszDomainPart
pwszDrive
pwszFailureLogName
pwszFileName
pwszFormattedName
pwszFsName
pwszFullDescription
pwszGuidVolumeId
pwszLocalCatalogFile
pwszLocalTime
pwszLogFile
pwszLogsDirectory
pwszMachineDir
pwszMessage
pwszMetaDataDirPath
pwszMountedPath
pwszNametoGetMtPointsOn
pwszNameToQuery
pwszNewRestoreOptions
pwszNewStringToAdd
pwszNoBracesGuid
pwszOriginalAccessPath
pwszOriginalLocation
pwszOutputString
pwszPassword
pwszProviderName
pwszProviderVersionW
pwszRelativeFilePath
pwszReparsePointName
pwszRestoreAccessPath
pwszRestoreOptions
pwszRestoreTarget
pwszRestoreTargetFriendlyName
pwszReturnedString
pwszRootDir
pwszSessionName
pwszSignature
pwszSnapshotId
pwszStringOut
pwszSystemDevicePath
pwszTagName
pwszTargetLogFileName
pwszTargetTypeString
pwszTaskSchedulerTimeString
pwszTimesString
pwszTracingDirectory
pwszUserName
pwszUserPart
pwszValue
	pwszValueName
pwszVhdExtension
pwszVhdPath
pwszVolume
pwszVolumeDevicePath
pwszVolumeGlobalRootPath
pwszVolumeGuid
pwszVolumeName
pwszVolumePath
pwszWindowsTempPath
pwszWriterMetaData
pwszXmlDoc
pwszXmlFilename
pWudfDevice should not be NULL
pwwwppausapp@
!]@!]P!]XH!]
pXmlDocument
pXMLElement cannot be NULL
pXmlNode
.Px_Qk3t
PX_REGISTER_COUNT
PxRegisters
PYRAMIDALQUAD
.p zRuPL
.p z*u(L
	pZ)ZdJ.?
q@@8r@t	
Q999999999Q
@(qajjJ]
qApplication
qappsrv.pdb
qbbb@999 999
qbstrUserHint
Qca_Y.;l
qCCGRCqRCq'CR'RC
qCCRCCCCRRCR'C
qCGGGRGRqRqCqRq
qClassName
qCollectionId
Qdbb__XH
qdeviceType
 qe7b|VN
QeeeeeeeeeeZXEE
'Qf4[x0Y
qfD9uHu?H
QFolderWWT
qGCGRqCCqCCRCRCR'R'R'RC
qGCRGRqCRGGCG
[qGetProviderCapabilityWWW
qGGRGCGqGqGqRqRqRqRq
qGqGGqqGRqqCGRqRqqRqRqqqRqRqRqRqC
qGRGRGRqGCRGRqqRqR'R'RqR'R'R'R'R'R'
qGRqqGqRqqqCqRqqRq
qgTNHGFCC@
QHA9PHu4E3
qHResult
QISearch
QJEMb#@w
qKDisconnectWorkspaceW
qlfD96uJH
qlfE9.uMH
qllllqqqlll
qmOqt#44
QNamedEscape
[QNkdotf
q.NNaZUdM'
:QoDLgHrZqx
[QOQRTUe
qPartA_PrivTags
qprocess.pdb
qqCqGqGCqGRqRqqC
[qqpDoo8-)''''''''922[D
QQQ0QQQ0SSS
|qqqP999 999
[qqqppoooo[YXTTJJJJJ9[D
qqqqqqq)A
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
!Q;R4Wl*
q!r_837nW	
qRqRRCRq
qSecur32.dll
qServiceName
?	qsort_s
qStoreAppEndpointDuration_ms
QSYF	)8J
qThread Id
quadDivergentImplicitLod
quadOperationsInAllStages
QUADRATIC
qualified_name
quation 
QueriedFaceOneSettingsFromServer
QueryActCtxW
QueryActiveSession
QueryAllTracesW
?QueryChAt@WSTRING@@QEBAGK@Z
?QueryChCount@WSTRING@@QEBAKXZ
?QueryComponentArray@PATH@@QEBAPEAVARRAY@@PEAV2@@Z
QueryDeviceFailed
QueryDeviceInformation
?QueryDirectory@SYSTEM@@SAPEAVFSN_DIRECTORY@@PEBVPATH@@E@Z
QueryDosDeviceW
?QueryDriveType@SYSTEM@@SA?AW4DRIVE_TYPE@@PEBVWSTRING@@@Z
?QueryFileSystemName@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAV2@PEAJ1@Z
?QueryFile@SYSTEM@@SAPEAVFSN_FILE@@PEBVPATH@@EPEAE@Z
?QueryFreeDiskSpace@IFS_SYSTEM@@SAEPEBVWSTRING@@PEAVBIG_INT@@@Z
?QueryFsnodeArray@FSN_DIRECTORY@@QEBAPEAVARRAY@@PEAVFSN_FILTER@@@Z
?QueryFullPath@PATH@@QEBAPEAV1@XZ
?QueryFullPathString@PATH@@QEBAPEAVWSTRING@@XZ
QueryFullProcessImageName
QueryFullProcessImageNameA
QueryFullProcessImageName failed
QueryFullProcessImageNameW
QueryGetData failed!
QueryGroupSettingsOnly
QueryInformationJobObject
?QueryInterface@CUnkInternal@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInterface@CUnk@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInterface@CWbemCallSecurity@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInterface@Element@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
?QueryInterface@ElementProvider@DirectUI@@UEAAJAEBU_GUID@@PEAPEAX@Z
QueryInterface failed
QueryInterface failed for IDebugControl
QueryInterface failed for IDebugDataSpace3
QueryInterface for IID_ITaskHandlerStatus failed
QueryInterface for IWorkspaceScriptable2 failed
QueryInterface for IWorkspaceScriptable3 failed
QueryInterface (IID_IDataObject) failed!
QueryInterface(IID_IDataObject) failed!
QueryInterface (IID_IFormatNameIdEnum) failed!
QueryInterface(IID_IMiniWin32PointerApi) failed!
QueryInterface (IID_IRDPCoreVirtualChannel) failed!
QueryInterface(IID_IRdpInputHandler) failed!
QueryInterface(IID_IRdpInputHandlerManager) failed!
QueryInterface(IID_IRdpQpcTimeConverter) failed!
QueryInterface(IID_IStream) failed!
QueryInterface(IID_ITSPlatform) failed!
QueryInterface(IID_IUnknown) failed!
QueryInterface(IID_PPV_ARGS(documentEventHandler))
QueryInterface(IID_PPV_ARGS(navigationEventHandler))
QueryInterface(IID_PPV_ARGS(ppWebTelemetryEventHandler))
QueryInterface(IID_PPV_ARGS(priorityContext))
QueryInterface(IID_PPV_ARGS(scriptEventHandler))
?QueryInvalidArgument@ARGUMENT_LEXEMIZER@@QEAAPEAVWSTRING@@XZ
QueryIsDiskCheckScheduledForNextBoot
?QueryLibraryEntryPoint@SYSTEM@@SAP6A_JXZPEBVWSTRING@@0PEAPEAX@Z
QueryLocalUserServiceName
QueryMitigationAuditPolicyFailure
QueryMitigationPolicy
QueryMitigationPolicyFailure
QueryObjectSecurity
QueryOOBESupport
QueryOriginalBucket
?QueryPath@PATH@@QEBAPEAV1@XZ
query.pdb
_Query_perf_counter
_Query_perf_frequency
QueryPerformanceCounter
QueryPerformanceFrequency
QueryProviderSettingsOnly
QueryRequiredSpace
?QueryResourceString@BASE_SYSTEM@@SAEPEAVWSTRING@@KPEBDZZ
QueryServerLevel failed!
QueryServiceConfig2W
QueryServiceConfigW
QueryServiceDynamicInformation
QueryServiceObjectSecurity
QueryService (SID_ApplicationViewManager) failed
QueryService (SID_ImmersiveShellHookService) failed
QueryService (SID_RemoteAppBrokerFactory) failed
QueryServiceStatus
QueryServiceStatusEx
QuerySnapshotsByVolumeWW
?QueryStatus@CVdsAsyncObjectBase@@UEAAJPEAJPEAK@Z
?QueryStream@FSN_FILE@@QEAAPEAVFILE_STREAM@@W4STREAMACCESS@@K@Z
Querystring
?QueryString@WSTRING@@QEBAPEAV1@KK@Z
?QueryTaskId@CTraceProvider@@SA?AU_GUID@@XZ
	Query the current profile interval
	Query the list of hardware counters available on the system.
QueryTraceW
QueryTransientObjectSecurityDescriptor
QueryUIRequest
QueryUnbiasedInterruptTime
QueryUserToken
QueryVirtualStationProperties
QueryVolumeFreeSpace
#QueryVolumesSupportedForSnapshotsWWW
QueryWin32SubsystemHost
?QueryWindowsErrorMessage@SYSTEM@@SAEKPEAVWSTRING@@@Z
?QueryWSTR@WSTRING@@QEBAPEAGKKPEAGKE@Z
QUEUE_COMPUTE
queueCount
QueueCount
QueueEntry.Allocate()
queueFlags
QUEUE_GLOBAL_PRIORITY_HIGH_KHR
QUEUE_GLOBAL_PRIORITY_LOW_KHR
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
QUEUE_GLOBAL_PRIORITY_REALTIME_KHR
QUEUE_GRAPHICS
QueueKernelReport failed
queueProperties
QUEUE_PROTECTED
QUEUE_SPARSE_BINDING
QUEUE_TRANSFER
QueueUserAPC
QueueUserWorkItem
QueueUserWorkItem failed.
QUEUE_VIDEO_DECODE_BIT_KHR
QUEUE_VIDEO_ENCODE_BIT_KHR
QuickAssist.pdb
QuickScanComplete
QuickScanStart
QuickScanVolumeComplete
QuickScanVolumeStart
QuirkIsEnabled
QuotaNonPagedPoolUsage
QuotaPagedPoolUsage
QuotaPeakNonPagedPoolUsage
QuotaPeakPagedPoolUsage
    quotes.  Imbedded spaces are part of a key name.
quser.pdb
qVLpmic]XR
qVVxpmic]XR
qwinsta.pdb
qXqGqGqGqqqqqqqGGqGqqqqqqqqqRqqqC
[qxqqqqppoooo[YYVTTTOlD
[qxxxqqqqqpjooo[[YYVTlD
Qy:CFileContentsReaderManager
r(1'12)!
R5.2..((#.(##
R5av4Hrk
r5D93v0H
:?R88gA?
r8IIL:Z-
RADCUI.dll
RadialDistortionCoefficient1
RadialDistortionCoefficient2
RadialDistortionCoefficient3
RAExpertName
RAID_LOG_ENTRY
RAID_LOG_MAX_LIST_SIZE
RAID_LOG_MAX_LIST_SIZE_DBG
RailChannels
RaiseException
RaiseFailFastException
ramdisk(0)
RamDiskW
ranDetection
?_Random_device@std@@YAIXZ
RANGEFOGENABLE
RANoviceName
		ran past the end
 (ran past the end)
ranRemediation
rapid-commit
Rapid STP
raR"[8ap
RASAPI32.dll
RasAutodialQueryDlgW
rasautou: LocalAlloc failed
rasautou: multibyte string conversion failed
rasautou.pdb
RasCompleteDialMachineCleanup
RasConnectionNotificationW
RasDeleteEntry
RasDeleteEntryW
RasDialDlg
RasDialDlgW
rasdial.pdb
RasDialW
RASDLG.dll
RasEntryDlg
RasEntryDlgW
RasEnumAutodialAddressesW
RasEnumConnectionsW
RasEnumEntriesW
RAServer 1.0 Type LibraryW
        'RAServer.EXE'
RAServer.pdb
RasFreeEapUserIdentityW
RasFreeEntryAdvancedProperties
RasGetAutodialAddressW
RasGetAutodialEnableW
RasGetAutodialParamW
RasGetConnectStatusW
RasGetCountryInfoW
RasGetCredentialsW
RasGetEapUserIdentityW
RasGetEntryAdvancedProperties
RasGetEntryDialParamsW
RasGetEntryPropertiesW
RasGetErrorStringW
RasGetHport
RasGetProjectionInfoW
RasGetSubEntryHandleW
RasHandleTriggerConnDisconnect
RasHangUp
RasHangUpW
RasInvokeEapUI
RASMapi ClassW
RASPHONE
RasPhonebookDlg...
RasPhonebookDlgW
rasphone.pdb
RASrv ClassWWW
RasSetAutodialEnableW
RasSetAutodialParamW
RasSetCredentialsW
RasSetEapUserDataW
RasSetOldPassword
RasTriggerConnection
RasValidateEntryNameW
RasWriteSharedPbkOptions
RATicketStringWW
RATION DE GARANTIE. Le logiciel vis
rawDisplayCount
rayQuery
rayTracingPipeline
rayTracingPipelineShaderGroupHandleCaptureReplay
rayTracingPipelineShaderGroupHandleCaptureReplayMixed
rayTracingPipelineTraceRaysIndirect
rayTraversalPrimitiveCulling
RbVVVVRRMJJEEE22
rChH]@9a
rCI;@XvgH
RCqRqRqRCRCRCR'
RCRqR'RCRC
RCR'R'R'
RdCheckRead
RD Filter
RDFilter_ApplyFilterToCurrentSession
RDFilter_ApplyRemoteFilter - ProcessIdToSessionId error
RDFilter_ApplyRemoteFilter - RegOpenCurrentUser error
RDFilter_ClearRemoteFilter - ProcessIdToSessionId error
RDFilter_ClearRemoteFilter - RegOpenCurrentUser error
RdFindTempDrive
RdGetTempPath
RdIsFirmwareEFI
rdpclip.pdb
RdpDisplayControlHandler
RdpDisplayControlHandler::CreateInstance failed. Non Fatal
RdpDisplayControlHandler::OnDisplayChangeCompleted failed. Non Fatal
RdpDisplayControlHandler::OnSessionConnect failed. Non Fatal
RdpDisplayControlHandler::OnSessionDisconnect failed. Non Fatal
RdpDynamicInputChannel
RdpDynamicInputChannel::CreateInstance failed!
RdpDynamicInputChannel::Initialize failed!
RdpDynamicLocationChannel
RdpDynamicLocationChannel::CreateInstance failed!
RdpDynamicLocationChannel::Initialize failed!
RdpEdpPolicyManager
RdpEdpPolicyManager::CreateInstance failed!
RDPFile::SetupSettingsStore failed
RDP file signature has a wrong type.
RDP file signature is missing.
RDP.Graphics
RDPGraphicsAdapterDeviceName
RDPGraphicsVOBRHintExternal
RDPGraphicsVOBRHintWindowTracker
rdpIcon.FillEscape failed
rdpinit.pdb
RdpInitTelemetryTraceLogging_Register failed
RdpInitVersion
RdpInputHandler
RdpInputHandler::CreateInstance failed!
RdpInputHandler::Initialize failed!
RdpInputHandlerManager
RdpInputHandlerManager::CreateInstance failed!
RdpInputHandlerManager::Initialize failed!
RDPINPUT_HEADER
rdpinput.pdb
RdpInputProtocolDecoder
RdpInputProtocolDecoder::CreateInstance failed!
RdpInputProtocolDecoder::Initialize failed!
RDPINPUT_SC_READY_EX_PDU
RDPINPUT_SC_READY_PDU
RdpLocationDriver
RdpLocationDriver::CreateInstance failed. Non Fatal
RdpLocationDriver::OnSessionConnect failed. Non Fatal
RdpLocationDriver::OnSessionDisconnect failed. Non Fatal
RdpLocationDriver::Start failed. Non Fatal
RdpLocationHandler
RdpLocationHandler::CreateInstance failed!
RdpLocationHandler::Initialize failed!
RDPLOCATION_SERVER_READY_PDU
RdpNamedPipeHandler
RdpNamedPipeHandler::CreateInstance failed. Non-fatal
RdpNamedPipeHandler::Initialize failed
RdpNamedPipeHandler::OnSessionConnect failed. Non-fatal
RdpNamedPipeHandler::OnSessionDisconnect failed. Non-fatal
RdpPointerInputInjector
RdpPointerInputInjector::CreateInstance failed!
RdpPointerInputInjector::Initialize failed!
RdpPointerInputInjector::InitializeInstance failed!
RdpQpcTimeConverter
RdpQpcTimeConverter::CreateInstance failed!
RdpQpcTimeConverter::Initialize failed!
RdpRailDiagnosticsLogging_Register failed
RdpRawPenFrames
RdpRawPenFrames::CreateInstance failed!
RdpRawPenFrames::Initialize failed!
RdpRawTouchFrames
RdpRawTouchFrames::CreateInstance failed!
RdpRawTouchFrames::Initialize failed!
RdpRelayConnector
RdpResizableByteBuffer
RdpResizableByteBuffer::CreateInstance failed!
RdpSa.pdb
RdpSaProxy.pdb
RdpSaUacHelper.pdb
RdpSessionInput
RdpSessionInput::CreateInstance failed!
RdpSessionInputMainWnd
RdpSessionInputMainWnd::Initialize failed!
rdpshell.pdb
RdpShellTelemetryTraceLogging_Register failed
RDPSHELL_TEXT_Init
RDPSHELL_TEXT_OnDesktopSwitch
RDPSHELL_TEXT_OnHandshakeTimeout
RDPSHELL_TEXT_OnHookStarted
RDPSHELL_TEXT_OnHookStopped
RDPSHELL_TEXT_OnPacketReceived
RDPSHELL_TEXT_OnPacketSent
RDPSHELL_TEXT_OnReconnect
RDPSHELL_TEXT_OnShadowConnect
RDPSHELL_TEXT_OnWndobjCreateFailed
RDPSHELL_TEXT_Term
RdpShellVersion
rdpsign.pdb
rdpStream
RdpX_CreateObject CertSignature failed!
RDPXDISPLAYCONTROL_MONITOR_VAIL_LAYOUT
rdrleakdiag.pdb
RDWebServiceSoap_GetRDPFiles failed
rdwLicenseExpirationW
ReachFramework
ReadAction
ReadBinaryFromRegistry
ReadBrokerAumidError
?ReadBytes@SerializationStream@UnBCL@@QEAAXPEAEH@Z
?ReadByte@Stream@UnBCL@@UEAAHXZ
ReadClientAumidError
ReadClientProcess
ReadCommandCount_Index
read_concatenated_archives
ReadConsoleInputW
ReadConsoleW
READ_CONTROL
ReadDirectoryChangesW
ReadEncryptedFileRaw
readerName
ReadEvent
ReadExpandStringFromRegistry
Read failed!
ReadFile
ReadFileEx
ReadFileEx Failed
ReadFile failed
?Read@FileStream@UnBCL@@UEAAHPEAEHH@Z
ReadFilter
read-full-blocks
ReadLine
?ReadLine@STREAM@@QEAAEPEAVWSTRING@@E@Z
?Read@MemoryStream@UnBCL@@UEAAHPEAEHH@Z
?ReadObjectHeader@SerializationStream@UnBCL@@AEAAHAEAPEAVObject@2@@Z
?ReadObject@SerializationStream@UnBCL@@IEAAPEAUISerializable@2@XZ
read only file system
Read out of bounds: 
?ReadPhantomObject@SerializationStream@UnBCL@@QEAAXAEAPEAVObject@2@@Z
ReadPolicy
ReadPolicyWithFallback
ReadPrinter
ReadProcessMemory
ReadPwrScheme
ReadRanWrite
ReadRecoveryAttempts_Index
ReadRefAction
ReadRefFilter
ReadRefScenarioStateModel
ReadRefTraceProfile
ReadRefTransition
ReadRefTrigger
ReadRegistryList
ReadRegistryUINT failed!
ReadScenarioInfo
ReadScenarioNamespaceHash
ReadScenarioStateModel
ReadSeqWrite
ReadShortcutFile
ReadSSPAppMapFromRegistry failed
_ReadStringFromRegistry
ReadStringFromRegistry
ReadToEnd
ReadToFollowing
ReadToNextSibling
ReadTraceProfile
ReadTransition
ReadTrigger
ReadUserPreferences
ReadXmlAttributes
ReAgentc.pdb
ReAgent.dll
RealGetWindowClassW
RealizePalette
?ReAlloc@Allocator@UnBCL@@SAPEAXPEAX_KI@Z
?ReAllocDbg@Allocator@UnBCL@@SAPEAXPEAX_KPEBDHI@Z
?ReAllocDbg@HeapMemoryManager@UnBCL@@UEAAPEAXPEBDHPEAX_K@Z
?ReAlloc@HeapMemoryManager@UnBCL@@UEAAPEAXPEAX_K@Z
_RealMain
_RealSystemRestoreOfflineThreadFunc
_RealSystemRestoreThreadFunc
Realtime
RealtimeLatency
ReapplyHighContrast failed
ReapplyWorkArea failed
ReasonCode
 (reassembly)
Reassociation denied due to inability to confirm that association exists
ReAssoc Request
ReAssoc Response
RebootFailed
REBOOT_INITIATED
Reboot of update no longer required
rebootOutsideOfActiveHours
rebootPendingMinutes
Reboot Pending state is larger than the waas reported hours out of date.  Use the larger value for deadline
Reboot pending time
Reboot Pending Timestamp (UTC)
RebootRequired
REBOOT_REQUIRED
RebootRequiredDeniedByDTU
rebootRequiredUpdateList
RebootResults
_RebootSystem
Rebuild2
RebuildDisconnectWorkspaceMenuItems failed
RebuildMAA
R[Ecccccc@[eeeeee
recdisc.pdb
Received an Authentication frame with authentication transaction sequence number out of expected sequence
ReceivedMime
Received update for non-existing hint id
ReceivedUriLaunch
ReceiveIndication
ReceivePacket
Receiver not Ready
Receiver Ready
recentPoseValid
recentStaticNodeIdsSize
recommend
recommendations
 reconfig-key
reconfigure
reconfigure-accept
reconfigure-message
ReconnectContent
reconnect content is corrupt
 ReconnectContents
recordCount
RecordedLastLogOffEndTimePerfCounter
RecordFeatureUsage
Recording
RecordingEngine initialization successful.
Recording system activity using the following set of profiles:
Recording.zip
record_maximum
RecordProgressWW
RecordShutdownReason
RecordTelemetryW
RecordToString failed
RecordVcpu initialization successful.
Recovered
recover.pdb
RecoveryDrive.pdb
RecoveryEnabled
recoveryImageAvailable
RecreateFolder
Recruitment
Rectangle
rectangularLines
RectArrayProperty
rectCredUiParent
rectCredUiParent6
RectProperty
RectVisible
recursion count
redirect
redirected header
redirectURI
Redmond1
RedrawWindow
refCount
Ref count went from 0 to 1
?ReferenceEquals@Object@UnBCL@@SAHPEBV12@0@Z
referencing deleted object
referrer
Reflector unexpectedly sent NULL create context
RefreshCache failed
RefreshImageStorageService
RefreshSettings
(refresh: trunc)
RefreshWorkspace
refsutil.pdb
ReFSVersionMajor
ReFSVersionMinor
 Refused
REGAPI.dll
REG_BINARY
       REG_BINARYFILE fileName
       REG_BINARY numberOfBytes numberDWORD(s)...
RegCloseKey
RegCloseKey failed
RegConnectRegistryW
RegCopyTreeW
RegCreateKeyA
RegCreateKeyExA
RegCreateKeyEx failed
RegCreateKeyExW
RegCreateKeyTransactedW
RegCreateKeyW
RegDeleteKeyA
RegDeleteKeyExW
RegDeleteKeyTransactedW
RegDeleteKeyValueW
RegDeleteKeyW
RegDeleteTreeW
RegDeleteValueA
RegDeleteValueW
RegDisablePredefinedCache
RegDisablePredefinedCacheEx
REG_DWORD
REG_DWORD_BIG_ENDIAN
REG_DWORD_LITTLE_ENDIAN
       REG_DWORD numberDWORD
regedit.exe
regedt32.pdb
RegenerateUserEnvironment
RegEnumKeyExA
RegEnumKeyEx failed
RegEnumKeyExW
RegEnumKeyW
RegEnumValue failed
RegEnumValueW
regex_error
regex_error(error_backref): The expression contained an invalid back reference.
regex_error(error_brack): The expression contained mismatched [ and ].
regex_error(error_collate): The expression contained an invalid collating element name.
regex_error(error_complexity): The complexity of an attempted match against a regular expression exceeded a pre-set level.
regex_error(error_ctype): The expression contained an invalid character class name.
regex_error(error_paren): The expression contained mismatched ( and ).
regex_error(error_parse)
regex_error(error_space): There was insufficient memory to convert the expression into a finite state machine.
regex_error(error_stack): There was insufficient memory to determine whether the regular expression could match the specified character sequence.
regex_error(error_syntax)
REG_EXPAND_SZ
REG_EXPAND_SZ 
       REG_EXPAND_SZ text
Reg failed to initialize
RegFlushKey
RegFreeUtilityCommandList
REG_FULL_RESOURCE_DESCRIPTOR
       REG_FULL_RESOURCE_DESCRIPTOR (same format as REG_BINARY)
RegGetKeySecurity
RegGetStringDataForId failed for PublisherName
RegGetValueA
RegGetValueA: LocalAlloc failed
RegGetValueW
regini.pdb
register
RegisterApplicationRestart
RegisterBackupTask
RegisterBindStatusCallback
?Register@Button@DirectUI@@SAJXZ
?Register@CCBase@DirectUI@@SAJXZ
?Register@CCListView@DirectUI@@SAJXZ
Register-CimProvider.pdb
RegisterClassA
RegisterClassExA
RegisterClassExW
?Register@ClassInfoBase@DirectUI@@QEAAJXZ
RegisterClassW
RegisterClipboardFormatW
_RegisterCOMInterfaceInGIT
RegisterCOMObjectsInGIT
RegisterDeviceNotificationW
RegisterDeviceProviderWW
RegisterDeviceWW
RegisterDragDrop
registeredAcid
?Register@Element@DirectUI@@SAJXZ
RegisterEngFunction
RegisterErrorEventWW
RegisterErrorLogMessageW
RegisterErrorReportingDialog
RegisterEventSourceW
RegisterForApplicationViewChanges failed
RegisterForNotifications failed
RegisterForUpdateNotifications failed!
RegisterFrameProviderInfo
RegisterGPNotification
?RegisterHandle@CVdsPnPNotificationBase@@QEAAKPEAXPEAPEAX@Z
RegisterHotKey
?Register@HWNDElement@DirectUI@@SAJXZ
?Register@HWNDHost@DirectUI@@SAJXZ
RegisterLogonProcess
RegisterManifest
?RegisterNamespaces@XmlDocument@UnBCL@@QEAAXPEAVString@2@@Z
?RegisterNamespaces@XmlNode@UnBCL@@AEAAXPEAVXmlNamespaceManager@2@@Z
RegisterNotificationSource (DISPLAYCONTROL_EVENT_MONITOR_LAYOUT_CHANGE_REQUESTED) failed!
RegisterNotificationSource failed
RegisterNotificationSource failed for RAIL_EVENT_AVC_SHOW_IN_SWITCHERS
RegisterNotificationSource failed for RAIL_EVENT_WINDOW_ACTIVATION_TIMER_ELAPSED
RegisterNotificationSource RAIL_EVENT_APP_LAUNCHED_BEFORE_FIRST_DESKTOP_SWITCH failed
RegisterNotificationSource RAIL_EVENT_POWER_DISPLAY_REQUEST failed
RegisterNotificationSource (RAIL_EVENT_SEND_CLOAK) failed
RegisterNotificationSource(RDPINPUT_EVENT_DISPLAY_CHANGE) failed!
RegisterNotificationSource(RDPINPUT_EVENT_SESSION_DISCONNECT) failed!
RegisterNotificationSource(RDPINPUT_EVENT_SESSION_RECONNECT) failed!
_register_onexit_function
RegisterOutputCallbackInteractionContext
RegisterPowerSettingNotification
RegisterProcessById
RegisterProvider
RegisterPVLBehaviorFactory
RegisterRdrWindowClass failed!
RegisterScaleChangeNotifications
?Register@ScrollViewer@DirectUI@@SAJXZ
RegisterServiceCtrlHandlerExW
RegisterServiceCtrlHandlerW
RegisterShellHookWindow
Register signals after model download
?RegisterStaticTypes@SbRegistrationList@UnBCL@@SAXH@Z
RegisterSupportService
RegisterSupportServiceFailure
RegisterTaskDefinition
_register_thread_local_exe_atexit_callback
RegisterTraceGuidsA
RegisterTraceGuidsW
?RegisterType@SerializationStream@UnBCL@@SAXPEBVString@2@HPEAUHINSTANCE__@@PEAUIInstanceFactory@2@@Z
RegisterWaitChainCOMCallback
RegisterWaitForSingleObject
RegisterWaitForSingleObjectEx
RegisterWaitUntilOOBECompleted
RegisterWebPlatformPermanentSecurityManager
RegisterWindowMessageW
RegisterWindowsErrorReporting
registrationAction
Registry
RegistryConfig::Delete
RegistryConfig::DeleteCommandSet
RegistryConfig::ParseCommand
RegistryConfig::ParseCommandSet.Altitude
RegistryConfig::ParseCommandSet.FailedGetAltitude
RegistryConfig::Parse.FailedPhaseRegOpen
RegistryConfig::Parse.FailedRegOpen
RegistryConfig::ParsePhase.AddingCommandSet
RegistryConfig::ParsePhase.FailedRegOpen
RegistryDump
RegistryException
RegistryFunction
RegistryHive
RegistryKey
RegistryKeyFilter
RegistryKeyName
RegistryOverwrite
RegistryResults::Add
RegistrySettingMonitorSetup
RegistrySettingUpdate
RegistryTimeZoneData
registryValue
    registry value.  If the text between the square brackets is the
Registry value is not a DWORD type.
Registry value is not a string type.
RegistryValueKind
RegistryView
REG_LINK
RegLoadAppKeyW
RegLoadKeyW
RegLoadMUIStringW
REG_MULTI_SZ
REG_MULTI_SZ 
       REG_MULTISZ_FILE fileName
       REG_MULTI_SZ "string1" "str""ing2" ...
REG_NONE
       REG_NONE (same format as REG_BINARY)
RegNotifyChangeKeyValue
RegOpenCurrentUser
RegOpenKeyA
RegOpenKeyEx
RegOpenKeyExA
RegOpenKeyEx failed
RegOpenKeyEx failed for report type
RegOpenKeyEx failed for root
RegOpenKeyExW
RegOpenKeyTransactedW
RegOpenKeyW
REG_OPTION_BACKUP_RESTORE
REG_OPTION_CREATE_LINK
REG_OPTION_OPEN_LINK
REG_OPTION_VOLATILE
RegQueryInfoKeyA
RegQueryInfoKey failed
RegQueryInfoKey failed.
RegQueryInfoKey returned 0 values
RegQueryInfoKeyW
RegQueryUtilityCommandList
RegQueryValueA
RegQueryValueExA
RegQueryValueEx failed
RegQueryValueExW
RegQueryValueW
REG_QWORD
REG_QWORD_LITTLE_ENDIAN
       REG_QWORD numberQWORD
REG_RESOURCE_LIST
       REG_RESOURCE_LIST (same format as REG_BINARY)
REG_RESOURCE_REQUIREMENTS_LIST
    REG_RESOURCE_REQUIREMENTS_LIST data types did not need line
       REG_RESOURCE_REQUIREMENTS_LIST (same format as REG_BINARY)
       REG_RESOURCE_REQUIREMENTS (same format as REG_BINARY)
RegRestoreKeyW
RegSaveKeyExW
RegSaveKeyW
RegServer
RegSetKeySecurity
RegSetKeyValueW
RegSetValueA
RegSetValueExA
RegSetValueEx failed
RegSetValueExW
RegSetValueW
regsvr32.pdb
       REG_SZ text
Regulated update(s) to download were found in non-interactive mode
RegUnLoadKeyW
RegUtil.RegQueryValueFailed
RegUtil-UnexpectedRootPathFromStateSeparationApi
regValue
ReinitializeEngine failed
reinterpret_cast
rEI;@XviH
Rejected
RejuvShutdown
RejuvStartup
rekey_sa
rekeywiz.pdb
Related Activity ID
relatedDeviceInterfacePath
relatedDevicePath
relative addressing not allowed for pixel shaders
relative addressing not supported in ps_1_x
relative addressing not supported in vs_1_0 instruction set
relative addressing of destination parameters is not supported in this shader version
relative addressing of predicates is not supported in this shader version
relative address refrences too deep
relativePath
RelativeTime
RelayConnectionId
RelayCorrelationId
RelayFailed
relay-fwd
RelayHostName
relay-message
RelayPort
relay-reply
ReleaseActCtx
ReleaseArgv
?ReleaseBuffer@CHString@@QEAAXH@Z
?ReleaseBuffer@StringBuilder@UnBCL@@QEAAXH@Z
ReleaseCapture
?_Release_chore@details@Concurrency@@YAXPEAU_Threadpool_chore@12@@Z
?Release@CHString@@QEAAXXZ
?Release@CHString@@SAXPEAUCHStringData@@@Z
?Release@ClassInfoBase@DirectUI@@UEAAHXZ
?Release@CRtlSharedLock@@AEAAXXZ
?Release@CUnkInternal@@UEAAKXZ
?Release@CUnk@@UEAAKXZ
?Release@CWbemCallSecurity@@UEAAKXZ
ReleaseDC
ReleaseDetachedObjects
?Release@Element@DirectUI@@QEAAKXZ
?Release@ElementProvider@DirectUI@@UEAAKXZ
ReleaseEnterprisePolicyValue
ReleaseFrame
ReleaseGlobalCacheObject failed
ReleaseHandle
ReleaseIdentityProviderEnumContext
ReleaseLayeredRef
ReleaseMouseCapture
ReleaseMutex
::ReleaseMutex(h)
?Release@RefcountBase@DirectUI@@QEAAJXZ
ReleaseRundownProtection
ReleaseSemaphore
ReleaseSemaphore failed
ReleaseSharer failed!
ReleaseSRWLockExclusive
ReleaseSRWLockShared
ReleaseStgMedium
ReleaseUpdatePolicyValue
?Release@Value@DirectUI@@QEAAXXZ
ReleaseVirtualStation
release wait must have a event
ReleaseWait() must have a event
ReleaseWait was already called
ReliabilityAssessmentEnd
ReliabilityAssessmentStart
ReliabilityContractAttribute
ReliabilityScore
ReliabilityStatus
relog.pdb
RelPost.pdb
REM -----------
rem-addr
RemapDropFilesForRequest failed!
RemapDropFilesForResponse failed!
RemapFileNameForResponse failed!
Remapping of file name path failed!
Remapping of HDROP path failed!
Remarque: Ce logiciel 
REM CAB Helper
REM * CAB IT! *
Remediation cannot be completed at this time
remediationDetails
remediationFailureCount
REMOTEAPPLICATION
RemoteAppLifetimeManager.pdb
RemoteAssistance
RemoteAssistance Class
RemoteDataBaseSize
REMOTEDESKTOP
RemoteDesktopPage_CreateInstance
RemoteDll::CopyDllToRemoteProcess
RemoteDll::GetProcessInfo
RemoteDll::LaunchProcessSuspended
Remote-ID
RemoteIMBuddyWWW
remotepg.dll
remotePoseId
remotePoseValid
RemotePosWorkerFinished
RemotePosWorker.pdb
RemotePosWorkerStarted
remoteSession
remoteUrl
RemoteWW
RemovableWWW
?RemoveAll@CHPtrArray@@QEAAXXZ
?RemoveAll@CHStringArray@@QEAAXXZ
?RemoveAll@CRtlList@@QEAAXXZ
?RemoveAll@CRtlMap@@QEAAXH@Z
RemoveAllFSPropertiesFromMap
RemoveAllImageMitigationAuditPoliciesFailure
RemoveAllImageMitigationPolicies
RemoveAllImageMitigationPoliciesFailure
?RemoveAt@CFlexArray@@QEAAHH@Z
?RemoveAt@CHPtrArray@@QEAAXHH@Z
?RemoveAt@CHStringArray@@QEAAXHH@Z
?RemoveAt@CVarVector@@QEAAHH@Z
?RemoveBehavior@Element@DirectUI@@UEAAJPEAUIDuiBehavior@@@Z
?RemoveChild@ClassInfoBase@DirectUI@@UEAAXXZ
?RemoveChild@XmlNode@UnBCL@@QEAAXPEAV12@@Z
RemoveClipboardFormatListener
RemoveConnectionInfoFromTable failed
?Remove@CRtlList@@QEAAXAEAVCRtlListIter@@@Z
?Remove@CRtlMap@@QEAAHAEAVCRtlEntry@@@Z
RemoveDirectoryA
RemoveDirectoryW
RemoveDllDirectory
removedModelPath
?Remove@Element@DirectUI@@QEAAJPEAV12@@Z
?Remove@Element@DirectUI@@UEAAJPEAPEAV12@I@Z
RemoveEntry
RemoveEventSource
RemoveFSPropertiesFromMap
RemoveHandlerActivity
RemoveInjectionDevice
RemoveIScsiPersistentTargetW
RemoveIScsiStaticTargetW
RemoveJunction
?RemoveListener@Element@DirectUI@@QEAAXPEAUIElementListener@2@@Z
?RemoveLocalValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZ@Z
RemoveMenu
?RemoveNamespace@XmlNamespaceManager@UnBCL@@QEAAXPEAVString@2@@Z
?RemoveNode@SYSTEM@@SAEPEAPEAVFSNODE@@E@Z
RemoveNotificationSink failed
RemoveNotificationSink(RDPINPUT_EVENT_DISPLAY_CHANGE) failed!
RemoveNotificationSink(RDPINPUT_EVENT_SESSION_DISCONNECT) failed!
RemoveNotificationSink(RDPINPUT_EVENT_SESSION_RECONNECT) failed!
RemoveNotificationSinks failed!
RemoveNotificationSource(RDPINPUT_EVENT_DISPLAY_CHANGE) failed!
RemoveNotificationSource(RDPINPUT_EVENT_SESSION_DISCONNECT) failed!
RemoveNotificationSource(RDPINPUT_EVENT_SESSION_RECONNECT) failed!
RemovePackageEnded
RemovePackageStarted
RemovePdmPrinterById
RemovePluginXmlNewAttrForThresholdOrGreater
RemovePropW
RemoveProvPackage
RemoveProvPackagePackageFail
RemoveRefAction
RemoveRefFilter
RemoveRefScenarioStateModel
RemoveRefTraceProfile
RemoveRefTransition
RemoveRefTrigger
RemoveResourceEx
RemoveResource failed
remove_SettingChanged
remove_Shown
?Remove@String@UnBCL@@QEBAPEAV12@HH@Z
RemoveTempVolumeName
?RemoveTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?RemoveTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
RemoveUserPage_CreateInstance
RemoveVectoredExceptionHandler
RemoveWindow failed
RemoveWindowSubclass
RemoveWorkspaceW
Removing
Removing leading drive letter from member names
RenamePCPage_CreateInstance
renderingBehavior
renderingMetadataFromAppFileMappingHandle
renderingMetadataFromAppMutexHandle
RenderingPoseRequested
renderMajor
renderMinor
RenderTargetHeight
RenderTargetHeightInPixels
RenderTargetWidth
RenderTargetWidthInPixels
rent les lois de votre pays si celles-ci ne le permettent pas.
ReopenVirtualChannel
repair-bde.pdb
Repaired
Repairing
repairNeeded
RepairNeeded
reparsetag
Repeater
    replaced by a single space.
ReplaceExisting
ReplaceFileW
ReplaceIfExists
replace.pdb
?Replace@String@UnBCL@@QEBAPEAV12@GG@Z
?Replace@String@UnBCL@@QEBAPEAV12@PEAV12@0H@Z
?Replace@String@UnBCL@@QEBAPEAV12@PEBG0W4StringCasing@12@@Z
REPLAY-STATUS
ReplicasHaveBeenCleanedSinceLastFix
ReplicationHandle
reply buffer too large
reply message has to be of non-zero size
reply message too small
ReportAccessRequestCount
ReportAccessRequestFailureCount
ReportAgeInSeconds
ReportAllLiveReports failed
ReportAndBlock
ReportAndOrStopProcessesForFile
?Report@CEventLog@@QEAAHGAEBU_EVENT_DESCRIPTOR@@VCInsertionString@@111111111@Z
ReportCoreHang
Reporter
ReportEventW
ReportFault
ReportFromKQueue failed
ReportHang
reportId
ReportId
Reporting not cancelled during destructor
ReportIScsiPersistentLoginsW
ReportJobProcessingProgress
ReportLiveReport failed
ReportOnly
ReportPath
ReportRailShellExec: Couldn't obtain Pid
ReportRailShellExec: Invalid Process Handle
ReportResultWriteCount
ReportSize
?_ReportUnobservedException@details@Concurrency@@YAXXZ
ReproduceScenario
reqReply.RdInterruptContext should not be NULL
requestAbsoluteUri
requestAbsoluteUrl
RequestAdditionalTime
requestAudioRendererId
requestCommand
RequestDefaultAsync failed
Requested
Requested entity too large
Requested from peer STA as it does not want to use the mechanism
Requested from peer STA as the STA is leaving the BSS (or resetting)
Requested from peer STA as the STA received frames using the mechanism for which a set up is required
Requested from peer STA due to time out
requestedIid
	requestedMinusNowInMilliseconds
	requestedMinusPoseInMilliseconds
RequestedSharingMode
requestedTimestampInQpcTicks
REQUEST-END
requestId
RequestLocalTimeException
requestMethod
RequestOnlineTimeException
RequestPermission failed!
requestQueryString
requestReason
requestRenderingCount
requestSizeBytes
requestSource
requestSpatialAudioSubtype
REQUEST-START
Request-To-Send
requestTrackingCount
RequestVirtualStation
required
Required
Required argument not found
#Required argument '-Path' not found
#Required argument '-Site' not found
RequiredOptional
requiredSize
requiredSsdBytes
requiredSubgroupSizeStages
RescanForDisks
ReserveAddressRange
(reserved)
reserved
Reserved
RESERVED
Reserved1
Reserved2
Reserved3
Reserved44Keyword
Reserved for development
ReservedForFIS_Based_Switching
Reserved for future Standardization
ReservedSize
Reserved_Was_ErrorAllocatingGuestCommunication
Reserved_Was_ErrorAllocatingTempNames
Reserved_Was_ErrorCopyingExtensionDllData
Reserved_Was_ErrorFailedToCleanup
Reserved_Was_WarningSendingClientEventForInitDone
reserveid
reserve is equal to npos
ReserveNonFreeAddressRangesFromProcess
ResetBitmapInfo failed
ResetClearSession
ResetContext
?_Reset@_ContextCallback@details@Concurrency@@AEAAXXZ
?Reset@CPrvEnumObject@@UEAAJXZ
ResetCreateSession
ResetDisabledByPolicy
ResetEngine.dll
ResetEngine.pdb
ResetEnterOOBE
ResetEvent
ResetEvent failed
ResetExecCleanup
ResetExecOnline
Reset failed
Reset failed!
ResetGetDataVolumes
ResetGetDiskSpaceRequired
ResetGetRestoredApps
ResetGetTelemetrySessionID
Reset is only designed to be called by the server
ResetNotifyCancel
ResetNotifyConfirm
ResetPCPage_CreateInstance
reset.pdb
ResetPeriod
ResetPrepareSession
	Reset profile interval to default value
	-resetprofint		 - Restores the default profile interval values
ResetReleaseSession
ResetRepository
ResetReturnToOldOS
ResetStageOfflineBoot
_resetstkoflw
?Reset@StringBuilder@UnBCL@@QEAAXXZ
resetTimer
ResetTraceClientInfo
ResetUnstageOfflineBoot
ResetUserLogon
ResetValidateScenario
ResetWillSuspendProtection
residencyAlignedMipSize
residencyNonResidentStrict
residencyStandard2DBlockShape
residencyStandard2DMultisampleBlockShape
residencyStandard3DBlockShape
ResidesOnSystemDisk
ResilientSwitchDesktopWithFade
?Resize@DSTRING@@UEAAEK@Z
Resize failed!
ResizeFgds failed!
?Resize@FSTRING@@UEAAEK@Z
resmon.pdb
ResolveDelayLoadedAPI
ResolveDelayLoadsFromDll
ResolveLocaleName
RESOLVE_MODE_AVERAGE_BIT
RESOLVE_MODE_MAX_BIT
RESOLVE_MODE_MIN_BIT
RESOLVE_MODE_SAMPLE_ZERO_BIT
resolverWaitTime
resourceCulture
resource deadlock would occur
ResourceDismissed failed
	ResourceDLL
resourceId
resourceID
ResourceID
ResourceIdMap
resourceMan
resourceManager
ResourceManager
resourceManagerCreationHR
resourceName
ResourcePercent
resourceSetId
ResourceSetId
resourceType.c_str()
resource unavailable try again
RESPONDER-LIFETIME
Responding station does not support the specified authentication algorithm 
response
Response
response_category
responseContentType
responseExpirationDateTicks
responseIsRendererCapable
responseLaunchUri
ResponseName
ResponseRequired
ResponseRequiredResult
responseSizeBytes
responseSpeakerProtectionOverride
response status
responseStatusCode
responseStatusString
ResponseText
Re-Start RdpShell failed
RestartRequired
RESTART_REQUIRED
restore 
RestoreCompleted
RestoreFunction
RestorePorts
restoreSyncAttempts
__restrict
restrict(
Restricted
RestrictionsEnabled
RestrictProcessDacl failed!
RESULTARG
ResultCode
result out of range
|ResultPathWWd
resumeKeyFileIdHigh
resumeKeyFileIdLow
resumeKeyLastFileOffset
resumeKeyPriority
ResumeLayout
ResumeThread
ResurrectDeletedItemWithoutSettingUnitId
ResUtilEnumResourcesEx
ResUtilFindDependentDiskResourceDriveLetter
ResUtilFindSzProperty
ResUtilGetResourceName
ResUtilResourceTypesEqual
RESUTILS.dll
resyncperf
RetailDemoConfirmPage_CreateInstance
RetreiveIcon failed
RetrieveBootClaimBlob
RetrieveBootClaimBlob Size
RetrieveBootClaimBlob Warning
RetrieveCurrentClaimBlob
RetrieveCurrentClaimBlob Size
RetrieveCurrentClaimBlob Warning
RetrievedInfo type is not of expected format.
RetrieveImmersiveIcon failed
Retrieve next command
_RetrieveRDPContents failed
RetryCount
Retrying...
Retrying NtSetInformationProcess(ProcessCheckStackExtentsMode) through TTDService
RetryPostWait
Return Address
returnCode
ReturnedDefaultPrinter
returnedSpaceId
ReturnHr
    return Out;
    return Sum;
    return sVOut;
ReturnValue
    return vRetVal;
Reverse ARP
?ReverseFind@CHString@@QEBAHG@Z
Reverse Reply
Reverse Request
_revertAccessPermissionsToTraceProvider: Failed to delete value
_revertAccessPermissionsToTraceProvider: Failed to open key
RevertAction
RevertToSelf
revision
revisionNumber
RevokeDragDrop
RevokeScaleChangeNotifications
REVSUBTRACT
?RewindSubKeys@CRegistry@@QEAAXXZ
r;ext-ms-win-storage-sense-l1-2-0.dll
 rfc822:
RfI* v|h
rgAffectedApps.Resize(nProcInfoNeeded)
rgAllVolumesInfo
rgAttributeNames
rgbBuffer.Allocate(cbToAllocate)
rgbChecksum
rgbPartialInfo.Allocate(cbPartialInfo)
rgCatBackupSet[i].m_wszCurrentTargetName
RGCCRqCRCCR'R'C
rgCharactersWW
rgChecksum
rgClient
rgComponents
rgDayOfWeekAbbreviations
	rgdispidChangesW
rgDstRules
rgeltWWW
rgFilesInfo
rgFileSpecs
rgguidVolumes
rgpwszVolumes
RgRequiredDstFields
RgRequiredMappingFields
RgRequiredTziFields
rgSppBadWriters
rgSrcComponentInfo
rgSrcVolumeInfo
rgTarget
rgTransitions
rgVolume
rgVolumeContext
rgVolumeInBackup[iVolumeInBackup]
rgVolumeInfo
rgVolumeLocal
rgVolumeMap
rgVolumeMountedVhdPaths
rgVolumeName
rgVolumesIn
!rgVolumeUsnInfo[iVolume].m_bValid
rgWeekOfMonth
rgWriterInfo
rgwszAlternateTargetVolume[iwszVolume]
rgwszVolumes
rgwzSourcePath
r@H;CXveH
r:]HDS_V5
ri9O vdH
ri9V vdH
RichTextBox
rigGravityInPoseSpace
			right: 50px;
?Right@CHString@@QEBA?AV1@H@Z
RightShift
rightWWW
rigPoseHasPosition
rigPoseToDeviceTransform
ril. Microsoft n
RJ666X]]EJ
rJf;)tEf;
RjvGenerateImageBasedBMRConfigData
RjvGenerateReconstructionBMRConfigData
rkDynamicDST
''RKRCRK'
rkTimeZoneRoot
RmAcquireResourceSetEx
rmactivate_isv.pdb
rmactivate.pdb
rmactivate_ssp_isv.pdb
rmactivate_ssp.pdb
RmApplyResourceSet
RMCLIENT.dll
RmClient.pdb
RmConnectToResourceManager
RMContext::Initialize
RmEndSession
RmGameModeGetLargestValidResourceRequest
RmGameModeInitializeResourceRequest
RmGameModeRegisterProcess
RmGameModeRegisterProcessById
RmGameModeUnregisterProcess
RmGetList
RmRegisterActivityHostCallbacks
RmRegisterResources
RmReleaseResourceSetEx
RmResourceSetPropertiesInitialize
RmRestart
RmShutdown
RmStartSession
RmtTpmVscMgrSvr.pdb
RmUnregisterActivityHostCallbacks
RoActivateInstance
RoamingAPIQOS
RoamingBootstrapAndSyncPayload1
RoamingBootstrapComplete
RoamingReasonCode
RoamingScenarioQOS
RoamingSyncPayload2
RoamingUnitsApplied
RoamingUnitsTotal
robocopy.pdb
robustBufferAccess
robustBufferAccess2
robustBufferAccessUpdateAfterBind
robustImageAccess
robustImageAccess2
robustStorageBufferAccessSizeAlignment
robustUniformBufferAccessSizeAlignment
RoCreatePropertySetSerializer
RoGetActivationFactory
RoGetAgileReference
RoGetBufferMarshaler
RoGetErrorReportingFlags
RoGetMatchingRestrictedErrorInfo
RoGetMetaDataFile
RoInitialize
rollbackonError
rollbackPattern
RollbackTransaction
RoOriginateError
RoOriginateErrorW
RoOriginateLanguageException
RootcauseIdW
RootcauseIid
|RootFolderWW
RootItemCount
rootNodeId
RootPolicyBits
rootToDevice
RoRegisterActivationFactories
RoReportFailedDelegate
RoResolveNamespace
RoRevokeActivationFactories
RoSetErrorReportingFlags
ROTATING_MEDIA_STATISTICS_LOG_PAGE_array
RoTransformError
roundingModeIndependence
RoUninitialize
RoutedEventArgs
RoutedEventHandler
route info
router advertisement
Route Refresh
Route Refresh (Cisco)
RouterEntryDlgW
RouterLogJobInfoForBranchOffice
router renumbering
router renum: command
router renum: result
router renum: sequence number reset
router solicitation
Route Target Routing Information
rout_ExistsWWd
routinginfo
routing present
row_major
RpcAsyncAbortCall
RpcAsyncCancelCall
RpcAsyncCompleteCall
RpcAsyncInitializeHandle
RpcBindingBind
RpcBindingCopy
RpcBindingCreateW
RpcBindingFree
RpcBindingFromStringBindingW
RpcBindingInqAuthClient
RpcBindingInqAuthClientW
RpcBindingServerFromClient
RpcBindingSetAuthInfoExW
RpcBindingSetOption
RpcBindingToStringBindingW
RpcBindingUnbind
RpcBindingVectorFree
RpcCertGeneratePrincipalNameW
RpcCertMatchPrincipalName
RPC_CONNECT
RpcEncodeRailOrder failed
RpcEpRegister
RpcEpRegisterW
RpcEpResolveBinding
RpcEpUnregister
RpcErrorClearInformation
RpcErrorEndEnumeration
RpcErrorGetNextRecord
RpcErrorGetNumberOfRecords
RpcErrorLoadErrorInfo
RpcErrorResetEnumeration
RpcErrorSaveErrorInfo
RpcErrorStartEnumeration
RpcExceptionFilter
RpcImpersonateClient
rpcInterfaceType
RpcMgmtInqServerPrincNameW
RpcMgmtInqStats
RpcMgmtIsServerListening
RpcMgmtSetServerStackSize
RpcMgmtStatsVectorFree
RpcMgmtStopServerListening
RpcMgmtWaitServerListen
RpcNetworkIsProtseqValidW
RpcNotifyLogoffParameterChange failed
RpcObjectSetType
RpcOnWindowCloakStateChanged failed
RPCPing.pdb
RpcRaiseException
RpcRevertToSelf
RpcRevertToSelfEx
RPCRT4.dll
RPC_S_ADDRESS_ERROR
RPC_S_ALREADY_LISTENING
RPC_S_ALREADY_REGISTERED
RPC_S_BINDING_HAS_NO_AUTH
RPC_S_BINDING_INCOMPLETE
RPC_S_CALL_CANCELLED
RPC_S_CALL_FAILED
RPC_S_CALL_FAILED_DNE
RPC_S_CALL_IN_PROGRESS
RPC_S_CANNOT_SUPPORT
RPC_S_CANT_CREATE_ENDPOINT
RPC_S_COMM_FAILURE
RPC_S_COOKIE_AUTH_FAILED
RPC_S_DUPLICATE_ENDPOINT
RpcSecurityHelper::ImpersonateAndCheckAccess
RPC_S_ENTRY_ALREADY_EXISTS
RPC_S_ENTRY_NOT_FOUND
RPC_S_ENTRY_TYPE_MISMATCH
RpcServerInqBindingHandle
RpcServerInqBindings
RpcServerInqCallAttributesA
RpcServerInqCallAttributesW
RpcServerInqDefaultPrincNameW
RpcServerInterfaceGroupActivate
RpcServerInterfaceGroupClose
RpcServerInterfaceGroupCreateW
RpcServerInterfaceGroupDeactivate
RpcServerListen
RpcServerRegisterAuthInfo
RpcServerRegisterAuthInfoW
RpcServerRegisterIf
RpcServerRegisterIf2
RpcServerRegisterIf3
RpcServerRegisterIfEx
RpcServerSubscribeForNotification
RpcServerTestCancel
RpcServerUnregisterIf
RpcServerUnregisterIfEx
RpcServerUnsubscribeForNotification
RpcServerUseProtseq
RpcServerUseProtseqEpW
RpcServerUseProtseqW
RpcSetWindowSnapArrangement failed
RPC_S_FP_DIV_ZERO
RPC_S_FP_OVERFLOW
RPC_S_FP_UNDERFLOW
RPC_S_GROUP_MEMBER_NOT_FOUND
RPC_S_GRP_ELT_NOT_ADDED
RPC_S_GRP_ELT_NOT_REMOVED
RPC_S_INCOMPLETE_NAME
RPC_S_INTERFACE_NOT_EXPORTED
RPC_S_INTERFACE_NOT_FOUND
RPC_S_INTERNAL_ERROR
RPC_S_INVALID_ASYNC_CALL
RPC_S_INVALID_ASYNC_HANDLE
RPC_S_INVALID_AUTH_IDENTITY
RPC_S_INVALID_BINDING
RPC_S_INVALID_BOUND
RPC_S_INVALID_ENDPOINT_FORMAT
RPC_S_INVALID_NAF_ID
RPC_S_INVALID_NAME_SYNTAX
RPC_S_INVALID_NET_ADDR
RPC_S_INVALID_NETWORK_OPTIONS
RPC_S_INVALID_OBJECT
RPC_S_INVALID_RPC_PROTSEQ
RPC_S_INVALID_STRING_BINDING
RPC_S_INVALID_STRING_UUID
RPC_S_INVALID_TAG
RPC_S_INVALID_TIMEOUT
RPC_S_INVALID_VERS_OPTION
RPC_S_MAX_CALLS_TOO_SMALL
RpcSmDestroyClientContext
RPC_S_NAME_SERVICE_UNAVAILABLE
RPC_S_NO_BINDINGS
RPC_S_NO_CALL_ACTIVE
RPC_S_NO_CONTEXT_AVAILABLE
RPC_S_NO_ENDPOINT_FOUND
RPC_S_NO_ENTRY_NAME
RPC_S_NO_INTERFACES
RPC_S_NO_MORE_BINDINGS
RPC_S_NO_MORE_MEMBERS
RPC_S_NO_PRINC_NAME
RPC_S_NO_PROTSEQS
RPC_S_NO_PROTSEQS_REGISTERED
RPC_S_NOT_ALL_OBJS_EXPORTED
RPC_S_NOT_ALL_OBJS_UNEXPORTED
RPC_S_NOT_CANCELLED
RPC_S_NOTHING_TO_EXPORT
RPC_S_NOT_LISTENING
RPC_S_NOT_RPC_ERROR
RPC_S_OBJECT_NOT_FOUND
RPC_S_OUT_OF_RESOURCES
RPC_S_PRF_ELT_NOT_ADDED
RPC_S_PRF_ELT_NOT_REMOVED
RPC_S_PROCNUM_OUT_OF_RANGE
RPC_S_PROFILE_NOT_ADDED
RPC_S_PROTOCOL_ERROR
RPC_S_PROTSEQ_NOT_FOUND
RPC_S_PROTSEQ_NOT_SUPPORTED
RPC_S_PROXY_ACCESS_DENIED
RpcSsContextLockExclusive
RPC_S_SEC_PKG_ERROR
RPC_S_SEND_INCOMPLETE
RPC_S_SERVER_TOO_BUSY
RPC_S_SERVER_UNAVAILABLE
RPC_S_STRING_TOO_LONG
rpcStatus
RpcStringBindingComposeW
RpcStringBindingParseW
RpcStringFreeA
RpcStringFreeW
RPC_S_TYPE_ALREADY_REGISTERED
RPC_S_UNKNOWN_AUTHN_LEVEL
RPC_S_UNKNOWN_AUTHN_SERVICE
RPC_S_UNKNOWN_AUTHN_TYPE
RPC_S_UNKNOWN_AUTHZ_SERVICE
RPC_S_UNKNOWN_IF
RPC_S_UNKNOWN_MGR_TYPE
RPC_S_UNSUPPORTED_AUTHN_LEVEL
RPC_S_UNSUPPORTED_NAME_SYNTAX
RPC_S_UNSUPPORTED_TRANS_SYN
RPC_S_UNSUPPORTED_TYPE
RPC_S_UUID_LOCAL_ONLY
RPC_S_UUID_NO_ADDRESS
RPC_S_WRONG_KIND_OF_BINDING
RPC_S_ZERO_DIVIDE
RpcUpdateAppBarRemotingSupport failed
RpcUpdateMaxIconSize failed
RpcWindowCloakingTrackerAddWindow failed
RpcWindowCloakingTrackerRemoveWindow failed
RpcWindowCloakingTrackerReset failed
RPC_X_BAD_STUB_DATA
RPC_X_BYTE_COUNT_TOO_SMALL
RPC_X_ENUM_VALUE_OUT_OF_RANGE
RPC_X_INVALID_ES_ACTION
RPC_X_INVALID_PIPE_OBJECT
RPC_X_NO_MORE_ENTRIES
RPC_X_NULL_REF_POINTER
RPC_X_PIPE_CLOSED
RPC_X_PIPE_DISCIPLINE_ERROR
RPC_X_PIPE_EMPTY
RPC_X_SS_CANNOT_GET_CALL_HANDLE
RPC_X_SS_CHAR_TRANS_OPEN_FAIL
RPC_X_SS_CHAR_TRANS_SHORT_FILE
RPC_X_SS_CONTEXT_DAMAGED
RPC_X_SS_HANDLES_MISMATCH
RPC_X_SS_IN_NULL_CONTEXT
RPC_X_WRONG_ES_VERSION
RPC_X_WRONG_PIPE_ORDER
RPC_X_WRONG_PIPE_VERSION
RPC_X_WRONG_STUB_VERSION
R"pDevice should not be NULL
rpltarget
rpltargetdesc
rpsaWkspIdsWWd
RPSubjectW
RqCqRqRqRqRqR
RRInstaller.pdb
RR'K'K'K'
RRR@999 999
RRR@999#999
rr*r"gSj6
RrRrRrSsSsSs
RRX[]]]]C
rsa_construction_fips186_3
rsa_decryption
rsa_destruction
rsa enc revised
rsa_encryption
rsaenh.dll
rsa_export
rsa_export_sizes
rsa_fips186_3_B36_construction_param_init
RSD PTR H9
RSDS6qBs
RSDSDl_m
RSDS#mWr
;RSDSt:H
;RSDSu-H
RSDSWn'wz	
rShortNameWWW(
rSid.IsValid()
RSS_READYWWW
RSS_TERMINATEDWW
RSS_UNKNOWNW
rstrui.pdb
rsvp-e2e-ignore
RSVP-TE P2MP LSP
(rtalert: trunc)
RTdjLnJH
__RTDynamicCast
rTI;J(wNA
RtlAbsoluteToSelfRelativeSD
RtlAcquirePrivilege
RtlAcquireResourceExclusive
RtlAcquireResourceShared
RtlAcquireSRWLockExclusive
RtlAcquireSRWLockShared
RtlAddAccessAllowedAce
RtlAddAccessAllowedAceEx
RtlAddAccessDeniedAce
RtlAddAce
RtlAddFunctionTable
RtlAddMandatoryAce
RtlAddProcessTrustLabelAce
RtlAddSIDToBoundaryDescriptor
RtlAdjustPrivilege
RtlAllocateAndInitializeSid
RtlAllocateHeap
RtlAllocateLBlob
RtlAllocateLUnicodeString
RtlAnsiCharToUnicodeChar
RtlAnsiStringToUnicodeString
RtlAppendLBlobToLBlob
RtlAppendLUnicodeStringToLUnicodeString
RtlAppendLUtf8StringToLUtf8String
RtlAppendUcsCharacterToLUtf8String
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAppxIsFileOwnedByTrustedInstaller
RtlAreAllAccessesGranted
RtlAreBitsClear
RtlAreBitsSet
RtlAssert
RtlAvlInsertNodeEx
RtlAvlRemoveNode
RtlBase64EncodeLBlobToLUnicodeString
RtlCalculateUtf16StringLengthFromLUtf8String
RtlCallEnclaveReturn
RtlCapabilityCheckForSingleSessionSku
RtlCaptureContext
RtlCaptureStackBackTrace
RtlCheckPortableOperatingSystem
RtlCheckRegistryKey
RtlClearAllBits
RtlClearBit
RtlClearBits
RtlCombineNtPathSegments
RtlCompareEncodedLBlobs
RtlCompareMemory
RtlCompareString
RtlCompareUnicodeString
RtlCompareUnicodeStrings
RtlCompressBuffer
RtlComputeCrc32
RtlConcatenateLUnicodeStrings
RtlConcatenateLUtf8Strings
RtlConnectToSm
RtlConvertDeviceFamilyInfoToString
RtlConvertExclusiveToShared
RtlConvertSharedToExclusive
RtlConvertSidToUnicodeString
RtlConvertWin32FilePathToNtFilePath
RtlCopyBitMap
RtlCopyLBlob
RtlCopyLuid
RtlCopyLUnicodeString
RtlCopyLUtf8StringToLUnicodeString
RtlCopyMemoryNonTemporal
RtlCopySid
RtlCopyUnicodeString
RtlCreateAcl
RtlCreateBoundaryDescriptor
RtlCreateDefaultMicrodomXmlWriter
RtlCreateEnvironment
RtlCreateEnvironmentEx
RtlCreateHashTableEx
RtlCreateMicrodom
RtlCreateProcessParametersEx
RtlCreateProcessReflection
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlCreateServiceSid
RtlCreateSystemVolumeInformationFolder
RtlCreateTagHeap
RtlCreateUnicodeString
RtlCreateUnicodeStringFromAsciiz
RtlCreateUserProcessEx
RtlCreateVirtualAccountSid
RtlDecodeBase64LUnicodeStringToLBlob
RtlDecompressBuffer
RtlDecompressBufferEx
RtlDeleteBoundaryDescriptor
RtlDeleteCriticalSection
RtlDeleteElementGenericTableAvl
RtlDeleteElementGenericTableAvlEx
RtlDeleteFunctionTable
RtlDeleteHashTable
RtlDeleteNoSplay
RtlDeleteRegistryValue
RtlDeleteResource
RtlDeleteSecurityObject
RtlDeregisterWait
RtlDeregisterWaitEx
RtlDeriveCapabilitySidsFromName
RtlDestroyEnvironment
RtlDestroyProcessParameters
RtlDetectHeapLeaks
RtlDisownModuleHeapAllocation
RtlDllShutdownInProgress
RtlDoesNameContainWildCards
RtlDosPathNameToNtPathName_U
RtlDosPathNameToNtPathName_U_WithStatus
RtlDosPathNameToRelativeNtPathName_U
RtlDosPathNameToRelativeNtPathName_U_WithStatus
RtlDosSearchPath_U
RtlDowncaseUnicodeChar
RtlDuplicateCountedStringToLUnicodeString
RtlDuplicateLBlob
RtlDuplicateLUnicodeString
RtlDuplicateLUnicodeStringToLUtf8String
RtlDuplicateLUtf8String
RtlDuplicateLUtf8StringToLUnicodeString
RtlDuplicateUnicodeString
RtlDuplicateUnicodeStringToLUnicodeString
RtlEnclaveCallDispatch
RtlEnclaveCallDispatchReturn
RtlEndEnumerationHashTable
RtlEndStrongEnumerationHashTable
RtlEnterCriticalSection
RtlEnumerateEntryHashTable
RtlEnumerateGenericTableAvl
RtlEnumerateGenericTableWithoutSplayingAvl
RtlEqualDomainName
RtlEqualSid
RtlEqualUnicodeString
RtlEthernetAddressToStringA
RtlEthernetAddressToStringW
RtlEthernetStringToAddressW
RtlExitUserProcess
RtlExpandEnvironmentStrings
RtlExpandEnvironmentStrings_U
RtlFindAceByType
RtlFindClearBits
RtlFindExportedRoutineByName
RtlFindMessage
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFormatCurrentUserKeyPath
RtlFormatMessage
RtlFreeAnsiString
RtlFreeHeap
RtlFreeSid
RtlFreeUnicodeString
RtlGetAce
RtlGetActiveConsoleId
RtlGetCharacterSetDecoder
RtlGetCompressionWorkSpaceSize
RtlGetControlSecurityDescriptor
RtlGetCurrentDirectory_U
RtlGetCurrentServiceSessionId
RtlGetCurrentTransaction
RtlGetDaclSecurityDescriptor
RtlGetDeviceFamilyInfoEnum
RtlGetEnabledExtendedFeatures
RtlGetGroupSecurityDescriptor
RtlGetLastNtStatus
RtlGetLengthWithoutLastFullDosOrNtPathElement
RtlGetNtProductType
RtlGetNtSystemRoot
RtlGetOwnerSecurityDescriptor
RtlGetPersistedStateLocation
RtlGetSaclSecurityDescriptor
RtlGetSetBootStatusData
RtlGetSuiteMask
RtlGetSystemBootStatus
RtlGetSystemTimeAndBias
RtlGetThreadErrorMode
RtlGetUnloadEventTraceEx
RtlGetVersion
RtlGUIDFromString
RtlHashEncodedLBlob
RtlHeapTrkInitialize
RtlImageDirectoryEntryToData
RtlImageNtHeader
RtlImageNtHeaderEx
RtlImageRvaToVa
RtlImpersonateSelf
RtlInitAnsiString
RtlInitEnumerationHashTable
RtlInitializeBitMap
RtlInitializeBootFeatureConfigurations
RtlInitializeConditionVariable
RtlInitializeCriticalSection
RtlInitializeDelayedFeatureUsageReportBuffer
RtlInitializeGenericTableAvl
RtlInitializeResource
RtlInitializeSid
RtlInitializeSmartLBlobWritingContext
RtlInitializeSmartLUnicodeStringWritingContext
RtlInitializeSRWLock
RtlInitLUnicodeStringFromNullTerminatedString
RtlInitLUnicodeStringFromUnicodeString
RtlInitLUtf8StringFromNullTerminatedString
RtlInitString
RtlInitStrongEnumerationHashTable
RtlInitUnicodeString
RtlInitUnicodeStringEx
RtlInitUnicodeStringFromLUnicodeString
RtlInitUnicodeStringFromLUnicodeStringSafely
RtlInsertElementGenericTableAvl
RtlInsertEntryHashTable
RtlIntegerToUnicodeString
RtlInterlockedSetBitRun
RtlIpv4AddressToStringA
RtlIpv4AddressToStringExW
RtlIpv4AddressToStringW
RtlIpv4StringToAddressExW
RtlIpv4StringToAddressW
RtlIpv6AddressToStringA
RtlIpv6AddressToStringExW
RtlIpv6AddressToStringW
RtlIpv6StringToAddressExW
RtlIpv6StringToAddressW
RtlIsCriticalSectionLocked
RtlIsCriticalSectionLockedByThread
RtlIsDosDeviceName_U
RtlIsLBlobValid(BinaryData)
::RtlIsLBlobValid(Blob)
::RtlIsLBlobValid(Data)
::RtlIsLBlobValid(Destination)
::RtlIsLBlobValid(Source)
RtlIsLBlobValid(Source)
::RtlIsLUnicodeStringValid(Destination)
::RtlIsLUnicodeStringValid(FullPath)
RtlIsLUnicodeStringValid(Segment)
::RtlIsLUnicodeStringValid(Source)
RtlIsLUnicodeStringValid(Source)
::RtlIsLUnicodeStringValid(SourceString)
::RtlIsLUnicodeStringValid(String)
::RtlIsLUnicodeStringValid(StringIn)
::RtlIsLUtf8StringValid(Candidates[i])
::RtlIsLUtf8StringValid(Destination)
RtlIsLUtf8StringValid(ElementId)
RtlIsLUtf8StringValid(LocalName)
RtlIsLUtf8StringValid(Name)
RtlIsLUtf8StringValid(NamespaceURI)
::RtlIsLUtf8StringValid(Source)
RtlIsLUtf8StringValid(Source)
::RtlIsLUtf8StringValid(String)
::RtlIsLUtf8StringValid(StringIn)
RtlIsMicrodomUpdateContextValid(TheContext)
RtlIsMultiSessionSku
RtlIsMultiUsersInSessionSku
RtlIsNameInExpression
(RtlIsStateSeparationEnabled
RtlIsStateSeparationEnabled
RtlIsThreadWithinLoaderCallout
::RtlIsUnicodeStringValid(Source)
::RtlIsUnicodeStringValid(String)
RtlLargeIntegerToChar
RtlLeaveCriticalSection
RtlLengthRequiredSid
RtlLengthSecurityDescriptor
RtlLengthSid
RtlLoadString
RtlLookupElementGenericTableAvl
RtlLookupEntryHashTable
RtlLookupFunctionEntry
RtlMakeSelfRelativeSD
RtlMapGenericMask
RtlMatchLUnicodeStringAgainstList
RtlMatchLUtf8StringAgainstPointerList
RtlMultiByteToUnicodeN
RtlMultiByteToUnicodeSize
RtlNewSecurityObject
RtlNewSecurityObjectEx
RtlNewSecurityObjectEx returned a failure
RtlNormalizeProcessParams
RtlNotifyFeatureUsage
RtlNtStatusToDosError
RtlNtStatusToDosErrorNoTeb
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlNumberOfSetBitsInRange
RtlNumberOfSetBitsUlongPtr
RtlOpenCurrentUser
RtlpApplyLengthFunction
RtlParseDottedVersion
RtlPcToFileHeader
RtlpDecodeBase64Chunklets
RtlpDecodeCharsUntilNotMatchPredicate
RtlpFreezeTimeBias
RtlpGenericBase64Encode
RtlPrefixUnicodeString
RtlpSmartLBlobWritingContextResizePolicy
RtlPublishWnfStateData
RtlpVerifyAndCommitUILanguageSettings
RtlQueryEnvironmentVariable_U
RtlQueryFeatureConfiguration
RtlQueryFeatureConfigurationChangeStamp
RtlQueryHeapInformation
RtlQueryImageMitigationPolicy
RtlQueryInformationAcl
RtlQueryPackageClaims
RtlQueryPackageIdentity
RtlQueryPerformanceCounter
RtlQueryPerformanceFrequency
RtlQueryRegistryValuesEx
RtlQueryResourcePolicy
RtlQuerySecurityObject
RtlQueryWnfStateData
RtlQueueApcWow64Thread
RtlRaiseException
RtlRaiseStatus
RtlRandom
RtlRandomEx
RtlRbInsertNodeEx
RtlRbRemoveNode
RtlReAllocateHeap
RtlReallocateLBlob
RtlReallocateLUnicodeString
RtlReallocateLUtf8String
RtlReallocateUnicodeString
RtlRegisterFeatureConfigurationChangeNotification
RtlRegisterWait
RtlReleasePrivilege
RtlReleaseResource
RtlReleaseSRWLockExclusive
RtlReleaseSRWLockShared
RtlRemoveEntryHashTable
RtlRemovePrivileges
RtlReplaceSystemDirectoryInPath
RtlReportException
RtlRunOnceExecuteOnce
RtlRunPrimitiveOperationsFromCallbacksAgainstSil
RtlSecondsSince1970ToTime
RtlSecureZeroMemory
RtlSendMsgToSm
RtlSetAllBits
RtlSetBit
RtlSetBits
RtlSetControlSecurityDescriptor
RtlSetCurrentEnvironment
RtlSetCurrentTransaction
RtlSetDaclSecurityDescriptor
RtlSetEnvironmentVariable
RtlSetGroupSecurityDescriptor
RtlSetHeapInformation
RtlSetImageMitigationPolicy
RtlSetIoCompletionCallback
RtlSetOwnerSecurityDescriptor
RtlSetProcessIsCritical
RtlSetSaclSecurityDescriptor
RtlSetSearchPathMode
RtlSetSecurityObject
RtlSetSystemBootStatus
RtlSetThreadErrorMode
RtlSetThreadIsCritical
RtlSizeOfDelayedFeatureUsageReportBuffer
RtlSleepConditionVariableSRW
RtlSplitEncodedLBlob
RtlSplitLUnicodeString
RtlSplitNtPath
RtlStringFromGUID
RtlStronglyEnumerateEntryHashTable
RtlSubAuthorityCountSid
RtlSubAuthoritySid
RtlSubscribeWnfStateChangeNotification
RtlSubscribeWnfStateChangeNotification (WNF_PO_DISPLAY_REQUEST_ACTIVE) failed
RtlSystemTimeToLocalTime
RtlSystemUtil::DelayExecution
RtlSystemUtil::DuplicateEnvironment
RtlSystemUtil::ExpandAndNullTerminateEnvironmentVariableString
RtlSystemUtil::PrivilegeAcquisition::Acquire
RtlSystemUtil::PrivilegeAcquisition::AcquireIfAble
RtlSystemUtil::PrivilegeAcquisition::Restore
RtlSystemUtil::QueryNullTerminatedEnvironmentValue
RtlTestBit
RtlTestProtectedAccess
RtlTimeFieldsToTime
RtlTimeToElapsedTimeFields
RtlTimeToSecondsSince1980
RtlTimeToTimeFields
RtlTranscodeLBlobs
RtlTrimNtPathSegment
RtlUnhandledExceptionFilter
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUnicodeStringToUTF8String
RtlUnicodeToMultiByteN
RtlUnicodeToMultiByteSize
RtlUnicodeToOemN
RtlUnicodeToUTF8N
RtlUnlockBootStatusData
RtlUnregisterFeatureConfigurationChangeNotification
RtlUnsubscribeWnfNotificationWaitForCompletion
RtlUnsubscribeWnfStateChangeNotification
RtlUnsubscribeWnfStateChangeNotification failed
RtlUnwindEx
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUserThreadStart
RtlUTF8StringToUnicodeString
RtlUTF8ToUnicodeN
RtlValidAcl
RtlValidateDelayedFeatureUsageReportBuffer
RtlValidateFeatureConfigurationBuffer
RtlValidateFeatureUsageSubscriptionBuffer
RtlValidRelativeSecurityDescriptor
RtlValidSecurityDescriptor
RtlValidSid
RtlVerifyVersionInfo
RtlVirtualUnwind
RtlWakeAllConditionVariable
RtlWow64IsWowGuestMachineSupported
RtlWriteDataIntoSmartLBlobWritingContext
RtlWriteDecodedUcsDataIntoSmartLBlobUcsWritingContext
RtlWriteMicrodomXml
RtlWriteRegistryValue
RtlWriteUcsDataIntoSmartLBlobUcsWritingContext_NOCFG
RtlXmlDestroyNextLogicalThing(this)
RTPixelShader
__RTtypeid
rtutils.dll
ruleCount
RuleNames
RunAppReadinessTask failed
RunAsAgent
RunAsHost
RunAsInProcAgent
RunAsInProcHost
RunAsManagedHost
runas.pdb
RunAsync
RunBackupFromTaskScheduler
RunBackupWizardProcess
RunBeforePostStartTasks
rundll32.pdb
RunDlls:Received an invalid registry path
RunDlls:Validation only support for cleanup and generalize phases
RunExeHelper.pdb
RunExeWithArgs
runInstance
RunLegacyCPLElevated.pdb
RunningCount
Running download
Running post install
RunningW
RunOnceExProcess
runonce.pdb
RunPlatformActions:Sysprep data was marked corrupt; cannot proceed
RunPostPowerwashOperationsStatusPagePhase
RunPrimitiveOperations
RUNPROGRAM
RunQueueEvent failed
RunRegistryDlls:Could not allocate space for buffers
RunRestoreSingleFileCommandLine
RunRestoreWizard
RunScriptWWW
RunspaceFactory
RunStateEngine is not responding
RunSyncControllerAsync
RunTaskFlow
RuntimeBrokerActivations
RuntimeBroker.pdb
RuntimeCompatibilityAttribute
runtimeDescriptorArray
runtime error 
Runtime Error!
RuntimeFieldHandle
RuntimeHelpers
RunTimeInSeconds
RunTimeMilliseconds
runtimeModule
RuntimeMs
RunTimeSettings::IsServer
RuntimeTypeHandle
RunUIForSchedBackup
RunUIForSpaceMgmt
rVasr8ql
rVector.Resize(cNewLength)
r	wcsncmp
rwinsta.pdb
r"wwwwww7sssp
RXiq*;e3N
rxL9E8rr
-RY :n("
S08P0tHH
s0H;s(t.H
S|0Wx*D@
s21cwR;6	
s6L!'L!g
s8fD9m0v
s8"hR8g6m
S8Pqfe--
s#@-8U(gd
___S999#999
S A9HPt!L
saDesiredAccess
SafeArrayToByteArray
SafeCopyMemory
SafeCreateFile
SafeEnableDlgWindow
SafeFileHandle
SafeFreeDiskLayout
SafeGetClassName
SafeGetDlgItemText
SafeGetWindowText
SafeHandle
SafeHandleZeroOrMinusOneIsInvalid
SaferCloseLevel
SaferComputeTokenFromLevel
SaferCreateLevel
SaferGetLevelInformation
SaferGetPolicyInformation
SaferIdentifyLevel
SaferRecordEventLogEntry
SafeSetDlgItemText
SafeSetDlgItemTextNoBlink
SafeSetWindowLongPtr
SafeSetWindowTextNoBlink
SafeShowDlgWindow
SafeStringToDword
?SafeStrlen@CHString@@KAHPEBG@Z
SafeWaitMutex
safe-writes
Salford1
SalvageRepository
samcli.dll
samDesired
same-owner
same-permissions
SAMPLE_COUNT_16_BIT
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_32_BIT
SAMPLE_COUNT_4_BIT
SAMPLE_COUNT_64_BIT
SAMPLE_COUNT_8_BIT
SampledCounters
sampledImageColorSampleCounts
sampledImageDepthSampleCounts
sampledImageIntegerSampleCounts
sampledImageStencilSampleCounts
sampleLocationCoordinateRange
sampleLocationSampleCounts
sampleLocationSubPixelBits
sampler1D
sampler2D
sampler3D
samplerAnisotropy
sampler array index must be a literal expression
sampleRateShading
samplerCUBE
samplerFilterMinmax
samplerMipLodBias
samplerMirrorClampToEdge
sampler mismatch: sampler used inconsistently
sampler_state
samplerYcbcrConversion
SamplingRules
?Sanitize@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
?SanitizeTypeName@SerializationStream@UnBCL@@SAPEAVString@2@AEBV32@@Z
San Jose1
Santa Clara1
Santa Clara1"0 
saParams.Create failed!
SAPI.Perf
saPwdCreds.Create failed!
saPwdCreds.SetAt failed!
saSecurityAttributes
@SATAUAVAWH
SATAUAWH
@SATAVAWH
sat-expak
saturate
Saturday
SaveBatteryReport
SavePdmPrinter
SaveProvPackageCompactStates
SaveSleepStudyReport
SaveSystemSleepDiagnosticsReport
SaveToHistory
?Save@XmlDocument@UnBCL@@QEAAXPEAVString@2@@Z
sbad allocation
SbArePolicyOptionsSet
SbbbLbbL
SbbSbgbbLbL
SbbSbSbbbbSbS
SbDoesActivePolicyGrantPermission
s*BeiCInboxGeneralPg
*#SB)ej0
SbFreeFileData
SbGetKernelPolicyPackage
SbGetSizeOfKernelPolicyPackage
SbIsDebugPolicyActive
SbIsEnabled
SbIsEnabled2
SbIsPolicyActive
SbIsTestRootTrusted
SbIsTestSigningBlocked
SbLoadFile
SbSbbSbSSbISbbSbbbSbbbSbbLb
SbSbdbSIbSISb
SbSbSbSbbbSbbSbbLSbbbbSbSbLbLbSLbLbLbLbL
SbSbSbSSSbS
SbSbSbSSSSbS
Sb*SbSIbISbbSbbSbbSbbSbSbbSbLbLSLbgbLLLLLWLbLWLLWLWL*1F
SbSSbSbS
SbSSbSSSSbSbIdbdSbbSbSbSbSbbbbbbS
SbSSISSSb
SbValidateSkuUnlockToken
scalarBlockLayout
scalar expected
scalar registers cannot be masked
scalar registers cannot be swizzled
ScaleWICBitmapSource
ScanBlockedBySLA
scanElapsedTime
ScanForFrames failed
ScanNetworkPathForBackupSets
ScanPartitionPath
scanRiskLevel
ScanSetting.DLL
ScanTriggered
scanTriggerSource
ScanUsbDrivesFinished
ScanUsbDrivesStarted
ScanVolumeForLCNsComplete
SCardAccessStartedEvent
SCardBeginTransaction
SCardConnectW
SCardDisconnect
SCardEndTransaction
SCardEstablishContext
SCardFreeMemory
SCardGetCardTypeProviderNameW
SCardGetStatusChangeW
SCardListCardsW
SCardListReadersW
SCardListReadersWithDeviceInstanceIdW
SCardReconnect
SCardReleaseContext
SCardReleaseStartedEvent
___ScccD
SC_CLOSE
ScDiskAllGood
S ;CDt H
SceAnalyzeSystem
SceBrowseDatabaseTable
SCECLI.dll
SceCloseProfile
SceConfigureSystem
SceFreeMemory
SceFreeProfileMemory
SceGenerateRollback
SceGetSecurityProfileInfo
SceIsSystemDatabase
scenario
Scenario
ScenarioCacheLRU
ScenarioId
ScenarioManager
ScenarioObjectRequest
scenarioReason
ScenarioStateModel
ScenarioStorage
sceneDepthCount
SceOpenProfile
SceRegisterRegValues
SceSetupGenerateTemplate
ScesrvInitializeServer
ScesrvTerminateServer
SceWriteSecurityProfileInfo
?_Schedule_chore@details@Concurrency@@YAHPEAU_Threadpool_chore@12@@Z
ScheduledTargetType
ScheduleName
ScheduleUploadComplete(Aggregate)
SchemaDef
SchemaTableDuplicateTraversalComplete
SchemaTableTraversalComplete
SchTaskFolder
schtasks.pdb
scientific
ScInitSecurityProcessFailed
ScIsSmartStorageEnabled
SCISSORTESTENABLE
SclAcquireRequiredPrivileges
SclExecutePendedRequests
SclLoadStringResource
ScLowDisk
SclReleasePrivileges
SCMConfiguration
SCMConnectionToRM
SCMDisconnectFromRM
ScoobeOnLogonEligibleByFrequency
ScoobeWaitForGetContentTimeout
ScoobeWaitTimeForGetContent
s_CorePlatform has already been assigned
ScpMedicGlobals.CommandLine
scrcons.pdb
sCRdpSettingsMemoryStream
ScreenOnCommit
ScreenOnDetection
ScreenOnDownload
ScreenOnInstall
ScreenOnSessionGuid
ScreenToClient
Scripted Diagnostics HostW
ScriptEngine
scriptEventHandler
ScriptFilter
ScriptFullNameWW
ScriptId
ScriptNameWW
-ScriptPathWWd
scriptPattern
ScriptRunnerData
scriptRunnerDataList
ScriptRunner.exe
ScriptRunnerMain
ScriptRunner.pdb
ScriptStates
ScriptStringAnalyse
ScriptStringFree
ScriptString_pLogAttr
ScRunAssessmentEnd
ScRunAssessmentFailed
ScRunAssessmentStart
SCSIOP_MODE_SENSE
SCSIOP_MODE_SENSE10
scsiport.sys
_scwprintf
sd4E(md5
SdbbSbSb
SdbCloseDatabase
SdbdbbSbSbbSbISbbbbbbbS
SdbFindFirstTag
SdbFindNextTag
SdbGetBinaryTagData
SdbGetDatabaseInformation
SdbGetPathCustomSdb
SdbGetStringTagPtr
SdbInitDatabaseEx
sdbinst.pdb
SdbIsDbRuntimePlatformSupportedOnHost
SdbIsStandardDatabase
SdbOpenDatabase
SdbReadBinaryTag
SdbRegisterDatabaseEx
SdbReleaseDatabase
SdbShowApphelpFromQuery
SdbSISISbdbdS
SdbUnregisterDatabase
SDChange 1.0 Type LibraryW
        'sdchange.EXE'
SDChangeLibW
SDChangeObj ClassW
SDChangeObjWd
sdchange.pdb
SdClearFailureNotification
SdClearStaleNotification
sdclt.pdb
SdExpandShortNames
SdGenerateErrorReport
SdGetCPCPhysicalBackupSize
SdGetFeatureEnabledOnSKU
SdGetLogFileNamePrefix
SdGetSnapshotDiffArea
sdiagnhost.pdb
SdIsPathUNC
SdReadBackupTaskInfo
SdSdISISdSdbSSbSbSb
SdSdSSd*dS*dbbISbSbbbSbSbbbbbbbL
SdSSSbSSSdbSbSbbSbSbSIbbbbbSbbSbbL
SdStartTracing
SdStopTracing
?s_dwPlatform@CRegistry@@0KA
?SearchAndBuildList@CRegistrySearch@@QEAAHVCHString@@AEAVCHPtrArray@@00HPEAUHKEY__@@@Z
SearchApiLog_Aggregate
SearchCatalogManagerInit_Aggregate
SearchExtensionAppUninstalled
SearchFilterHost.pdb
SearchIndexer.pdb
SearchPathW
SearchProtocolHost.pdb
SearchRequestsAndQuery
SeAuditFipsCryptoSelftests
SebCreateOEMPreInstallEvent
SebQueryEventPackage
SebSignalOEMPreInstallEvent
SeCaptureSubjectContext
Se[@cccccc@[eeeeee
SecEdit.pdb
SeciAllocateAndSetCallFlags
SeciAllocateAndSetIPAddress
SeciFreeCallContext
SeciIsProtectedUser
secinit.pdb
SecondaryWindowWebMultiThreadedModule::PreActivate(windowType)
secondItem
secondsSinceBoot
secondsSinceLastStaticNodesUpdate
SecpTranslateName
Sectigo RSA Code Signing CA
Sectigo RSA Code Signing CA0
Sectigo RSA Time Stamping CA
Sectigo RSA Time Stamping CA0
#Sectigo RSA Time Stamping Signer #3
#Sectigo RSA Time Stamping Signer #30
 SECTION BELOW. IT AFFECTS HOW DISPUTES ARE RESOLVED.________________________________________
Section end
Section start
secur32.dll
SecureDumpMain
securekernel.exe
securekernel.pdb
SecureProcessDump initialization failed
SecureSSID
secure-vmtp
security
Security
SecurityAction
SecurityException
SecurityHealthHost.pdb
SecurityHealthService.pdb
SecurityHealthSystray.pdb
SecurityId
securityManager.CopyTo(IID_PPV_ARGS(webPlatformSecurityManager))
securityManagerFactory
SecurityPermissionAttribute
SeedFileN
See[@eeeeee@[eeeeee
Seeeeeeeeeeeeee
SeekerUpdateAvailable
seekerUpdateIdList
seekerUpdateList
Seek failed!
?Seek@FileStream@UnBCL@@UEAA_J_JW4SeekOrigin@2@@Z
?Seek@MemoryStream@UnBCL@@UEAA_J_JW4SeekOrigin@2@@Z
SeekPrinter
SeekUpdate
 See the debugger output for the list of addresses or dump contents of DirectUI::g_pLeakedElementList
]SEFFF2R
Segoe UI
_seh_filter_exe
sEH;;tSH
SeILSigningPolicyPtr
SelectableListDlgProc
SELECTARG1
SELECTARG2
SelectClipRgn
SelectDeviceDialog2
selectedFilter
SELECT * FROM 
?SelectionItemPattern@Schema@DirectUI@@2HA
?SelectionPattern@Schema@DirectUI@@2HA
SelectMany
SELECTMASK
?SelectNodes@XmlNode@UnBCL@@QEAAPEAVXmlNodeList@2@PEAVString@2@PEAVXmlNamespaceManager@2@@Z
?SelectNodes@XmlNode@UnBCL@@QEAAPEAVXmlNodeList@2@PEAVString@2@@Z
?SelectNodes@XmlNode@XmlLite@UnBCL@@QEAAPEAVXmlNodeList@23@PEAVString@3@@Z
SelectObject
SelectPalette
?SelectSingleNode@XmlNode@UnBCL@@QEAAPEAV12@PEAVString@2@PEAVXmlNamespaceManager@2@@Z
?SelectSingleNode@XmlNode@UnBCL@@QEAAPEAV12@PEAVString@2@@Z
SelectStorageVolumeEx
SelfDiag
SelfDiagnosis
SelfDiagTraceProfile
?_SelfLayoutDoLayout@Element@DirectUI@@MEAAXHH@Z
?_SelfLayoutUpdateDesiredSize@Element@DirectUI@@MEAA?AUtagSIZE@@HHPEAVSurface@2@@Z
SelfprotectAction 
SeLockSubjectContext
Semantics
semaphoreHigh
send_ack_vector
SendAppBarEdge failed
SendAppBarState failed for ABM_NEW
SendAppBarState failed for ABM_REMOVE
SendBasicInputPdu(RDPINPUT_EVENTID_RESUME_INPUT) failed!
SendBasicInputPdu(RDPINPUT_EVENTID_SUSPEND_INPUT) failed!
SendCaps failed!
SendClipboardPdu
SendClipboardPdu failed!
SendClipCaps failed!
SendCompartmentInfo failed
SendCorrelationSourceSetRegisterFail
SendDiscardControl: pIDiscardControl cannot be null.
SendDlgItemMessageA
SendDlgItemMessageW
SendFileContentsRequest failed!
SendFixedDocument was called before SendFixedDocumentSequence.
SendFixedPage was called before SendFixedDocument.
SendFullZOrderList failed
SendHandshake failed
SendHintToSink() failed
SendingUserLoggoffShutdownRequest
SendInput
SendInput failed!
SendLangbarInfoPdu failed
SEND LOCATION
SendMail
SendMessage
SendMessageA
SendMessageAsync timed out
SendMessageTimeoutW
SendMessageToUser
SendMessageW
SendMonitorReady failed!
send_ndp_count
SendNotification
SendNotifyMessageW
SendOrPostCallback
SendPacket
SendPacketCompletion
SendRailPdu failed
SendRailPdu failed for TS_RAIL_ORDER_CLOAK
SendRailPdu failed for TS_RAIL_ORDER_GET_APPID_RESP
SendRailPdu failed for TS_RAIL_ORDER_GET_APPID_RESP_EX
SendRailPdu failed for TS_RAIL_ORDER_LOCALMOVESIZE
SendRailPdu failed for TS_RAIL_ORDER_MINMAXINFO
SendRailPdu failed for TS_RAIL_ORDER_POWER_DISPLAY_REQUEST
SendReadyPdu failed!
SendReport failed
SendSCReadyPdu failed!
SendServerReadyMessages failed!
SendServerReadyPdu failed!
SendSourceRegisteredFail
SendString
SendTicketDataWW
SendToDD TS_WINDOW_CHANGE_ESCCODE failed
SendToDD TS_WINDOW_GEOMETRY_ESCCODE failed
SendToDD TS_WINDOW_GEOMETRY_VER2_ESCCODE failed
SendToDD TS_WINDOW_ICON_ESCCODE failed
SendToDD TS_ZORDER_ESCCODE failed
SendToDisplayDriverEx failed
SendToFaxRecipient
SendToRDPUDD failed. Try to change the resolution anyway
SendUIRequest
SendVideoHintToDriver() failed
SendWindowChangeEsc failed
SendWindowCloakOrder failed
SendWindowGeometryEsc failed
SendWindowMinMaxInfo failed
SendWindowSetupMessages failed
SendWndObjSetup failed
SendWndobjSetup WNDOBJ_SETUP_FLAG_ARC_BEGIN
SendWndobjSetup WNDOBJ_SETUP_FLAG_ARC_DONE
SendWndobjSetup WNDOBJ_SETUP_FLAG_STOPTRACK_ALL failed
SendWndobjSetup WNDOBJ_SETUP_FLAG_TRACK failed
SendZOrderEsc failed
sense_id
SensorDataService.pdb
SensorDataServiceSourceInit
SensorSessionID
sent contrat d
sent contrat ne modifie pas les droits que vous conf
SEPARATEALPHABLENDENABLE
separateDepthStencilLayouts
separateStencilMaskRef
September
Seq number
sequenceId
Sequence Number TLV
sequence# present
sequence_window
SeQueryAuthenticationIdToken
SeQuerySecureBootPlatformManifest
SeQuerySecureBootPolicyValue
SeReleaseSubjectContext
SeReportSecurityEventWithSubCategory
SerializableExceptionBase
Serialize
SerializeStore(2nd call) failed
SerializeStore failed
SerializeStore failed!
Serial number
SerialNumber
ServerComponentManager is a singleton
ServerComponentManager_OnClientConnect
ServerComponentManager_OnClientDisconnect
ServerComponentManager_OnCreate
ServerComponentManager_OnDestroy
ServerComponentManager_OnSensorRefChanged
ServerComponentManager_OnStart
ServerComponentManager_OnStop
ServerComponentManager_Shutdown
ServerComponentManager_SpectrumStartReason
server_context
ServerGetPrintClassObject
server-ID
ServerMain
server-unicast
 ServFail
ServiceBase
ServiceBinary
ServiceCommitLevelHigh
ServiceCommitLevelMedium
ServiceCommitLevelOverTarget
ServiceConfig
ServiceConfigChange
ServiceController
Service::CtrlHandler
ServiceDeleted
ServiceDisableStackVerification
serviceErrorCode
        'Service.EXE'
Service::Execute
ServiceFailed
ServiceFailedToStart
ServiceFunction
ServiceGuid
ServiceHeapUsage
ServiceHostFailed
ServiceHostName
ServiceHostStarted
ServiceID
ServiceInitializationFailure
Service::Initialize
ServiceInstallCallback
ServiceLargePreShutdownTimeout
ServiceMain
ServiceMemoryUsage
serviceName
ServiceName
ServiceName should not be NULL
ServiceOnStart_Start
ServiceOnStart_Stop
ServiceOnStop_Start
ServiceOnStop_Stop
ServicePreShutdownTimeout
ServiceReadFromCache failed!
ServiceRecoveryAction
ServiceRegex
ServiceResourceSetAcquired
ServiceResourceSetApplied
ServiceResourceSetReleased
services
ServiceSendControl
Service_ServiceControlRegistrationCompleted
services.exe
ServiceShutdownTimeout
services.pdb
ServiceSpecificExitCode
ServiceStart
ServiceStarted
serviceStartReasonFlags
ServiceStateChange
ServiceStatusFilter
ServiceStop
Service::Terminate
ServiceType
SeSecurityPrivilege
SeSetAuditParameter
SeShutdownPrivilege
SessionContext
SessionDialogWWWd
SessionEndingCancelEventArgs
SessionHandle
sessionId
sessionID
SessionId
SessionID
sessionJson
sessionmsg
SESSIONMSG: 
        'SessionMsg.exe'
SessionMsgLibWWW
SessionMsg.pdb
SessionPassword
SessionStarted
SessionStopped
	SessionTimeoutInMilliseconds
sessionType
SessionTypeGUID
SessionTypeName
sesssionId
?SetAccDesc@Element@DirectUI@@QEAAJPEBG@Z
set_AcceptButton
?SetAccessible@Element@DirectUI@@QEAAJ_N@Z
?SetAccName@Element@DirectUI@@QEAAJPEBG@Z
?SetAccRole@Element@DirectUI@@QEAAJH@Z
?SetAccValue@Element@DirectUI@@QEAAJPEBG@Z
?SetActive@Element@DirectUI@@QEAAJH@Z
SetActiveWindow
?SetAllowSwitchGlomming@ARGUMENT_LEXEMIZER@@QEAAXE@Z
?SetAnimation@Element@DirectUI@@QEAAJH@Z
__set_app_type
_set_app_type
set_Arguments
SetArguments
setAsDisplayLanguage
?SetAt@CFlexArray@@QEAAXHPEAX@Z
?SetAt@CHPtrArray@@QEAAXHPEAX@Z
?SetAt@CHStringArray@@QEAAXHPEBG@Z
?SetAt@CHString@@QEAAXHG@Z
?SetAtGrow@CHPtrArray@@QEAAXHPEAX@Z
?SetAtGrow@CHStringArray@@QEAAXHPEBG@Z
?SetAttributes@FSN_FILTER@@QEAAEKKK@Z
?SetAttributes@FSNODE@@QEAAEKPEAK@Z
SetAuthAlgorithm
set_Author
set_AutoScaleDimensions
set_AutoScaleMode
set_BackColor
?SetBackgroundColor@Element@DirectUI@@QEAAJK@Z
set_BackgroundImage
set_BackgroundImageLayout
set_BadClusters
set_Base
setBaseField
SetBkColor
SetBkMode
SetBlobToDecode failed!
?SetBorderColor@Element@DirectUI@@QEAAJK@Z
?SetBorderThickness@Element@DirectUI@@QEAAJHHHH@Z
SetBrushOrgEx
?SetBSTR@CVar@@QEAAHPEAG@Z
?set_Capacity@MemoryStream@UnBCL@@UEAAXH@Z
SetCapture
SetCaretBlinkTime
?SetCaretPosition@TouchEdit2@DirectUI@@QEAAJJ@Z
?SetCaseSensitive@ARGUMENT_LEXEMIZER@@QEAAXE@Z
SetCertificate failed
set_ChangeUtcOffsetsDates
?set_Chars@StringBuilder@UnBCL@@QEAAXHG@Z
?SetCHStringResourceHandle@@YAXPEAUHINSTANCE__@@@Z
SetClaimsTokenWW
?SetClassDescriptor@OBJECT@@IEAAXPEBVCLASS_DESCRIPTOR@@@Z
set_ClassDeviceGuid
?SetClass@Element@DirectUI@@QEAAJPEBG@Z
SetClassLongPtrW
SetClassLongW
set_ClientSize
SetClipboardData
set_Collection
SetCommMask
SetCommTimeouts
?SetCompletionStatus@CVdsAsyncObjectBase@@QEAAXJK@Z
?SetCompressionState@File@UnBCL@@SAHPEBVString@2@G@Z
SetComputerNameExW
SetConfigDword
SetConsoleActiveScreenBuffer
SetConsoleCP
SetConsoleCtrlHandler
SetConsoleCursorInfo
SetConsoleCursorPosition
SetConsoleMode
SetConsoleOutputCP
SetConsoleScreenBufferSize
SetConsoleTextAttribute
SetConsoleTitleA
SetConsoleTitleW
SetConsoleWindowInfo
?SetContentAlign@Element@DirectUI@@QEAAJH@Z
?SetContentString@Element@DirectUI@@QEAAJPEBG@Z
?set_Context@SerializationStream@UnBCL@@QEAAXPEAVObject@2@@Z
set_ControlBox
SetCookie failed
?set_Counter@Stream@UnBCL@@QEAAXPEAVStreamCounter@2@@Z
set_CreatedTime
set_CreateNoWindow
SetCriticalSectionSpinCount
set_Culture
set_Current
SetCurrentDirectoryA
SetCurrentDirectoryW
?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAK@Z
?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHStringArray@@@Z
?SetCurrentKeyValue@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAK@Z
?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHStringArray@@@Z
?SetCurrentKeyValue@CRegistry@@QEAAKPEBGAEAVCHString@@@Z
?SetCurrentKeyValueExpand@CRegistry@@QEAAKPEAUHKEY__@@PEBGAEAVCHString@@@Z
SetCurrentProcessExplicitAppUserModelID
SetCurrentProfile
set_CurrentUICulture
set_Cursor
SetCursor
SetCursorPos
set_Data
?SetDataEntry@PText@DirectUI@@QEAAXPEAUIDataEntry@2@@Z
SetData failed
SetData failed.
SetDateTimePage_CreateInstance
set_DaylightDate
set_DayOfWeek
set_DaysInterval
SetDCBrushColor
SetDefaultKey
SetDefaultKeyId
SetDefaultLayoutOrTip
SetDefaultPrinterW
set_DefaultRunspace
SetDefaultTab
?SetDefaultValues@CRegistry@@AEAAXXZ
set_Description
SetDesktopColorTransform
SetDeviceDebugState
set_DeviceId
set_DialogResult
?SetDirection@Element@DirectUI@@QEAAJH@Z
set_DisallowStartIfOnBatteries
SetDlgItemInt
SetDlgItemTextA
SetDlgItemTextW
set_Dock
set_DriveId
set_DriveLetter
set_DriveType
set_DtdProcessing
set_Duration
SetDynamicTimeZoneInformation
SetDynamicTimeZOneInformation
?SetEnabled@Element@DirectUI@@QEAAJ_N@Z
SetEndOfFile
SetEntriesInAclW
?SetEnvironmentVar@Environment@UnBCL@@SAXPEBVString@2@0@Z
SetEnvironmentVariableA
SetEnvironmentVariableW
SetEnvironmentVariableW failed
SetEnvPathFailed
SetEquals
_set_errno
_set_error_mode
SetErrorMode
SetEtherTypeHandling
SetEvent
SetEvent m_ThreadsStoppingEvent failed
SetExcludeUnencrypted
?SetExpanded@Expandable@DirectUI@@QEAAJ_N@Z
set_FailedReads
set_FailedWrites
SetFileApisToOEM
SetFileAttributesA
SetFileAttributesW
set_FileFlushIoCount
set_FileFlushLatency
SetFileInformation
SetFileInformationByHandle
set_FileName
SetFileName
?SetFileName@FSN_FILTER@@QEAAEPEBD@Z
?SetFileName@FSN_FILTER@@QEAAEPEBVWSTRING@@@Z
SetFilePointer
SetFilePointerEx
SetFilePointerEx failed
SetFilePointerEx failed. Tried to move beyond end of buffer
SetFileSecurityW
SetFileShortNameW
set_FileSystem
SetFileTime
SetFileValidData
setFillCharacter
_SetFinalPageHeaderFont
SetFindMyDevicePage_CreateInstance
SetFirmwareEnvironmentVariableW
set_FirmwareVersion
_set_fmode
SetFocus
?SetFocus@ElementProvider@DirectUI@@UEAAJXZ
set_Font
?SetFontStyle@Element@DirectUI@@QEAAJH@Z
?SetFontWeight@Element@DirectUI@@QEAAJH@Z
set_ForeColor
?SetForegroundColor@Element@DirectUI@@QEAAJK@Z
SetForegroundWindow
SetForegroundWindowHelper failed
set_Format
set_FormBorderStyle
set_From
SetFromMixer
SetGadgetBufferInfo
SetGadgetFlags
SetGadgetFocus
SetGadgetFocusEx
SetGadgetLayerInfo
SetGadgetMessageFilter
SetGadgetOrder
SetGadgetParent
SetGadgetRect
SetGadgetRootInfo
SetGadgetStyle
SetGeolocationMasterPage_CreateInstance
SetGestureConfig
setglobal
set_GroupId
SetHandle
SetHandleInformation
?SetHandler@Logging@UnBCL@@SAXPEAUILogHandler@@@Z
sethc.pdb
set_Health
set_HealthStatus
?SetHeight@Element@DirectUI@@QEAAJH@Z
SetHideMinimizedApps failed
set_HighLatencyCount
SetHostFileObject can only be called for Create Irp
?set_HResult@Exception@UnBCL@@MEAAXJ@Z
SetHvsiApiObj failed!
?SetID@Element@DirectUI@@QEAAJPEBG@Z
set_Image
set_ImageAlign
set_ImageLocation
SetInformationJobObject
SetInitialFocus
?set_InnerText@XmlNode@UnBCL@@QEAAXPEAVString@2@@Z
?SetInputScope@TouchEdit2@DirectUI@@QEAAJW4__MIDL___MIDL_itf_inputscope_0000_0000_0001@@@Z
SetInteractionConfigurationInteractionContext
_SetIntroPageHeaderFont
set_IsBoot
SetIScsiIKEInfoW
SetIScsiInitiatorCHAPSharedSecret
SetIScsiTunnelModeOuterAddressW
SetIsDeveloperModeEnabled
set_IsPerUser
set_Item
SetKernelObjectSecurity
?SetKeyFocus@Element@DirectUI@@UEAAXXZ
?SetKeyFocus@HWNDHost@DirectUI@@UEAAXXZ
SetKeyMappingKey
SetKeySecurity
SetKeyValue
?SetKeyValue@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11@Z
?SetKeyValueMultiline@CRegUtil@UDC@@QEAAHPEAUHKEY__@@PEBG11H@Z
set_Keywords
SetLastError
SetLayeredWindowAttributes
SetLayout
?SetLayout@Element@DirectUI@@QEAAJPEAVLayout@2@@Z
?SetLayoutPos@Element@DirectUI@@QEAAJH@Z
set_Left
?SetLength@MemoryStream@UnBCL@@UEAAX_J@Z
?set_Length@StringBuilder@UnBCL@@QEAAXH@Z
set_Letter
set_Level
?set_LineNumber@XmlException@UnBCL@@MEAAXH@Z
?set_LinePosition@XmlException@UnBCL@@MEAAXH@Z
?SetLiteralStorage@_@UnBCL@@YAXPEAPEBVString@2@PEBG@Z
setlocal
SetLocalCloakManager failed
setlocale
setlocal ENABLEDELAYEDEXPANSION
set_LocalStandardOffset
set_Location
SetLoggingFunction
set_Manufacturer
set_MapDstToRules
set_MapZoneToRules
set_MediaType
SetMenuDefaultItem
?SetMessage@Exception@UnBCL@@MEAAXPEAVString@2@@Z
SetMetaFileBitsEx
?SetMinSize@Element@DirectUI@@QEAAJHH@Z
SetMitigationAuditPolicyFailure
SetMitigationPolicy
SetMitigationPolicyFailure
_setmode
set_Model
SetMulticastCipherAlgorithm
set_Name
?SetNamedItem@XmlAttributeCollection@UnBCL@@QEAAPEAVXmlNode@2@PEAV32@@Z
SetNamedPipeHandleState
SetNamedSecurityInfoW
_SetNewBackup
_set_new_mode
?SetNoSpcBetweenDstAndSwitch@ARGUMENT_LEXEMIZER@@QEAAXE@Z
SetNtlmThreadOptions
SetNTPSync
set_Number
SetObjectSecurity
?SetOOMHandler@Allocator@UnBCL@@SAXPEAUIOutOfMemoryHandler@@@Z
?SetOutput@CVdsAsyncObjectBase@@QEAAXU_VDS_ASYNC_OUTPUT@@@Z
?SetOutputType@CVdsAsyncObjectBase@@QEAAXW4_VDS_ASYNC_OUTPUT_TYPE@@@Z
set_Padding
?SetPadding@Element@DirectUI@@QEAAJHHHH@Z
SetPageSessionId
SetParent
?set_ParentNode@XmlNode@XmlLite@UnBCL@@IEAAXPEAV123@@Z
SetPartitionAttributes
SetPartitionType
set_Path
SetPerfFlagInReg - RegCreateKeyEx failed
SetPerfFlagInReg -RegSetValueEx failed
SetPerfFlagInReg - StringCchPrintf failed
SetPixel
SetPlatformErrorReportingCallbacks
?SetPlatformID@CRegistry@@CAHXZ
SetPolicyExtension
?set_Position@FileStream@UnBCL@@UEAAX_J@Z
?set_Position@MemoryStream@UnBCL@@UEAAX_J@Z
?SetPositionToLast@CPrvEnumObject@@QEAAXXZ
set_PredictedToFail
?SetPreferredLanguages@CMUILocale@@SAJKPEBGPEAK@Z
?SetPressed@Button@DirectUI@@QEAAJ_N@Z
SetPrinterDataExW
SetPrinterDataW
SetPrinterW
SetPrintTicket MUSL unexpected to already have a PT ref
SetPrintTicket MUSL unpexpected to already have a PT
set_Priority
set_PriorityClass
SetPriorityClass
SetProcessAffinityUpdateMode
SetProcessDefaultLayout
SetProcessDEPPolicy
SetProcessDPIAware
SetProcessDpiAwareness
SetProcessDpiAwarenessContext
SetProcessInformation
SetProcessMitigationPolicy
SetProcessReference
SetProcessShutdownParameters
SetProcessValidCallTargets
SetProcessWindowStation
SetProcessWorkingSetSize
SetProcessWorkingSetSizeEx
SetProfileCustomUserData
	-setprofint		 - Set sampled profile interval
SetProgDlgButtonsState
SetProperty
SetPropertyInteractionContext
SetPropertyResult
SetPropertyStringValue failed
SetPropertyValue
SetPropW
SetProtectedPolicy
SetProtectedProcessEnvironmentVariables
SetProviderContextWW
set_Read
set_ReadByteCount
set_ReadIoCount
set_ReadOnly
SetRectEmpty
SetRectRgn
SetRectRgn() failed
set_RedirectStandardInput
set_RedirectStandardOutput
?SetRef@Allocator@UnBCL@@SAXI@Z
?SetRef@HeapMemoryManager@UnBCL@@UEAAXXZ
SetRegKey
SetRegKeyVirtualization
set_ReliabilityCounter
SetRemoteCloakSyncManager failed
set_RestartCount
set_RestartInterval
SetRestrictedErrorInfo
set_ReverseDirection
set_RollbackOnError
_SetRPListDefaultState
set_Rules
set_RunLevel
SetRunningFlag
set_Save
?set_Schemas@XmlDocument@UnBCL@@QEAAXPEAVXmlSchemaSet@2@@Z
SetScrollInfo
set_SectorSize
SetSecurityDescriptorControl
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityDescriptorSacl
SetSecurityInfo
?SetSelected@Element@DirectUI@@QEAAJ_N@Z
?SetSelectionIndex@TouchSelect@DirectUI@@QEAAJH@Z
set_ServiceName
SetServiceObjectSecurity
SetServiceStatus
Set service status failed
set_SetDaylightDates
_set_se_translator
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
set_SetStandardDates
set_SettingLogicalName
set_SettingName
set_SetUtcOffsets
SetShellDesktopSwitchEvent
SetShellWindow
SetShellWindowEx
set_ShowIcon
set_ShowInTaskbar
set_Size
?SetSize@CHPtrArray@@QEAAXHH@Z
?SetSize@CHStringArray@@QEAAXHH@Z
?SetSize@FileStream@UnBCL@@UEAAX_J@Z
set_SizeGripStyle
set_SizeRemaining
SetSnapshotDiffArea
?set_Source@Exception@UnBCL@@UEAAXPEBVString@2@@Z
setspn.pdb
_SetSRRestoreBOOLs
set_StandardDate
set_StartBoundary
set_StartInfo
set_StartPosition
set_StartupUri
set_StartWhenAvailable
?SetStdCursor@Element@DirectUI@@QEAAJH@Z
SetStdHandle
SetStoreExecutionState
SetStoreExecutionState2
?Set@STREAM_MESSAGE@@UEAAEKW4MESSAGE_TYPE@@K@Z
SetStretchBltMode
set_TabIndex
set_TabStop
SetTaskmanWindow
SetTempPathBase failed!
SetTermsrvAppInstallMode
set_Text
set_TextAlign
SetTextAlign
SetTextColor
SetTextScaleFactor failed
SetTextServicesDpiCalculationOverride
SetThreadAffinityMask
SetThreadDescription
SetThreadDesktop
SetThreadDpiAwarenessContext
SetThreadErrorMode
SetThreadExecutionState
SetThreadIdealProcessor
SetThreadInformation
SetThreadpoolThreadMaximum
SetThreadpoolThreadMinimum
SetThreadpoolTimer
SetThreadpoolWait
SetThreadPreferredUILanguages
SetThreadPriority
SetThreadPriorityBoost
?SetThreadSecurity@CWbemCallSecurity@@UEAAJPEAU_IWmiThreadSecHandle@@@Z
SetThreadStackGuarantee
SetThreadToken
SetThreadToken failed
SetThreadUILanguage
set_Time
?SetTimeInfo@FSN_FILTER@@QEAAEPEBVTIMEINFO@@W4FSN_TIME@@G@Z
set_Timeout
SetTimer
SetTimer() failed
settingId
settingInitializer
SettingItemMethodWatchdogExpired
settingName
SettingName
SettingOption
settings
SettingsAndContentProviderRefreshIntervalNotPassed
settingsDownloadTime
settingsETag
SettingsFile
Settings in signscope and file do not match up
settingsList
SettingsManager
SettingSource
settingsVersion
settingsynchost.exe -StartTrace
SettingSyncHost.pdb
SettingUnitId
SettingUnitMetadataFiletime
SettingUnitModifiedTime
SettingUnitModifiedTimeInt64
?SetToggleValue@TouchSwitch@DirectUI@@QEAAXH@Z
SetTokenInformation
?SetTooltip@Element@DirectUI@@QEAAJ_N@Z
set_TotalSectors
?SetTraceControlInfo@CTraceProvider@@QEAAX_N_KK@Z
set_TransitionTime
SetTransitionVisualProperties
set_TsLocalStandardOffset
set_TsUtcOffset
set_Type
SetUnhandledExceptionFilter
SetUnicastCipherAlgorithm
set_UniqueId
?SetUnknown@CVar@@QEAAXPEAUIUnknown@@@Z
set_Until
setupapi.dll
SETUPAPI.dll
setupapiRetVal
setupcl.dll
SetupCloseFileQueue
SetupCloseInfFile
setupcl.pdb
SetupComboBox:Failed to allocate string for resource
SetupComboBox:Invalid parameters passed in
SetupComboBox:Unable to add string to combo box
SetupComm
SetupCompleteLogon
_SetupDetailsLvColumns
SetupDiBuildClassInfoList
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListExA
SetupDiCreateDeviceInfoListExW
SetupDiCreateDeviceInfoList FAILED
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfoW
SetupDiGetActualModelsSectionW
SetupDiGetClassDevs
SetupDiGetClassDevsExA
SetupDiGetClassDevsExW
SetupDiGetClassDevsW
SetupDiGetClassPropertyW
SetupDiGetCustomDevicePropertyW
SetupDiGetDeviceInstallParamsW
SetupDiGetDeviceInstanceIdW
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceInterfaceDetailW
SetupDiGetDeviceInterfacePropertyW
SetupDiGetDevicePropertyW
SetupDiGetDeviceRegistryProperty
SetupDiGetDeviceRegistryPropertyW
SetupDiGetINFClassW
SetupDiOpenClassRegKey
SetupDiOpenDeviceInfoW
SetupDiOpenDeviceInterface FAILED
SetupDiOpenDeviceInterfaceRegKey
SetupDiOpenDeviceInterfaceW
SetupDiOpenDevRegKey
SetupDiSetClassInstallParamsW
SetupDiSetDeviceInstallParamsW
SetupDiSetDevicePropertyW
SetupDiSetSelectedDriverW
SetupEnumPublishedInfW
_SetupFinalPageMessage
SetupFindFirstLineW
SetupFindNextLine
SetupGetFieldCount
SetupGetInfDriverStoreLocationW
SetupGetLineByIndexW
SetupGetLineCountW
SetupGetStringFieldW
SetupHotKeyForKeyboardLayout
SetupIterateCabinetW
SetupLogFile
SetupOpenFileQueue
SetupOpenInfFileW
SetupRecorderParameters
_SetupRestorePointPickerColumns
SetupScanFileQueueW
setupugc.pdb
SetupVerifyInfFileW
_SetupVolumePickerColumns
SetupWorkspaceAdvise in InitializeWorkspaceThread failed
SetupWriteTextLog
setupx.dll
SetUserFileEncryptionKeyEx
__setusermatherr
SetUserObjectSecurity
set_UseShellExecute
set_UseVisualStyleBackColor
set_UseWaitCursor
set_UtcOffset
?set_ValidateOnParse@XmlDocument@UnBCL@@QEAAXH@Z
SetValue
?SetValue@Element@DirectUI@@QEAAJP6APEBUPropertyInfo@2@XZHPEAVValue@2@@Z
?SetValue@Element@DirectUI@@QEAAJPEBUPropertyInfo@2@HPEAVValue@2@@Z
?SetVariant@CVar@@QEAAHPEAUtagVARIANT@@H@Z
?SetVarVector@CVar@@QEAAXPEAVCVarVector@@H@Z
set_Verb
SetVirtualDiskInformation
SetVirtualStationAPProperties
set_Visibility
?SetVisible@Element@DirectUI@@QEAAJ_N@Z
SetVoiceActivationDefaultAgent
SetVoiceActivationEnabled
SetVoiceActivationLastUsedEnabled
SetVoiceActivationOnLockScreenEnabled
SetVolumeLabelW
SetVolumeMountPointW
set_Wait
SetWaitableTimer
SetWaitableTimerEx
SetWebManagementState
setWidth
?SetWidth@Element@DirectUI@@QEAAJH@Z
SetWindowCloaked failed
SetWindowContextHelpId
?SetWindowDirection@HWNDHost@DirectUI@@UEAAXPEAUHWND__@@@Z
SetWindowFeedbackSetting
SetWindowLongA
SetWindowLongPtrA
SetWindowLongPtrW
SetWindowLongW
SetWindowOrgEx
SetWindowPos
SetWindowResizeFlag
SetWindowRgn
SetWindowsHookExW
set_window_size
SetWindowSnapArrangement failed
SetWindowStationUser
set_WindowStyle
SetWindowSubclass
SetWindowTextA
SetWindowTextW
SetWindowTheme
SetWindowThemeAttribute
SetWinEventHook
?SetWinStyle@CCBase@DirectUI@@QEAAJH@Z
_SetWizStateError
_SetWizStateSuggest
set_Write
set_WriteByteCount
set_WriteIoCount
?SetX@Element@DirectUI@@QEAAJH@Z
?SetXMLFromResource@DUIXmlParser@DirectUI@@QEAAJIPEAUHINSTANCE__@@0@Z
set_XmlResolver
?SetXOffset@BaseScrollViewer@DirectUI@@QEAAJH@Z
setx.pdb
?SetXScrollable@BaseScrollViewer@DirectUI@@QEAAJ_N@Z
SeUnlockSubjectContext
Severity
SfcIsFileProtected
S(fD9:t;
s_FormatTaskDialogProgressProc
sfPermanentWW
SfpFinalize
SfpInitialize
?s_fPlatformSet@CRegistry@@0HA
sG6prR@pCp
s_GetRuntimeReport
s_GetSessionCertificate
s_GetSessionReport
SgrmBroker.pdb
SgrmBroker::SgrmSession::GetRuntimeReport
SgrmBroker::SgrmSessionManager::EndAllSgrmSessions
SgrmBroker::SgrmSessionManager::EndSgrmSession
SgrmBroker::SuspendResumeCallback
SgrmLpac.pdb
sH@8wHt4H
sha2-256
sha2-384
sha2-512
SHADEMODE
shaderBufferFloat16AtomicAdd
shaderBufferFloat16AtomicMinMax
shaderBufferFloat16Atomics
shaderBufferFloat32AtomicAdd
shaderBufferFloat32AtomicMinMax
shaderBufferFloat32Atomics
shaderBufferFloat64AtomicAdd
shaderBufferFloat64AtomicMinMax
shaderBufferFloat64Atomics
shaderBufferInt64Atomics
shaderClipDistance
shaderCullDistance
shaderDemoteToHelperInvocation
shaderDenormFlushToZeroFloat16
shaderDenormFlushToZeroFloat32
shaderDenormFlushToZeroFloat64
shaderDenormPreserveFloat16
shaderDenormPreserveFloat32
shaderDenormPreserveFloat64
shaderDeviceClock
shaderDrawParameters
shaderFloat16
shaderFloat64
SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL
SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
shaderGroupBaseAlignment
shaderGroupHandleAlignment
shaderGroupHandleCaptureReplaySize
shaderGroupHandleSize
shaderImageFloat32AtomicAdd
shaderImageFloat32AtomicMinMax
shaderImageFloat32Atomics
shaderImageGatherExtended
shaderImageInt64Atomics
shaderInputAttachmentArrayDynamicIndexing
shaderInputAttachmentArrayNonUniformIndexing
shaderInputAttachmentArrayNonUniformIndexingNative
shaderInt16
shaderInt64
shaderInt8
shaderIntegerDotProduct
shaderOutputLayer
shaderOutputViewportIndex
shaderResourceMinLod
shaderResourceResidency
shaderRoundingModeRTEFloat16
shaderRoundingModeRTEFloat32
shaderRoundingModeRTEFloat64
shaderRoundingModeRTZFloat16
shaderRoundingModeRTZFloat32
shaderRoundingModeRTZFloat64
shaderSampledImageArrayDynamicIndexing
shaderSampledImageArrayNonUniformIndexing
shaderSampledImageArrayNonUniformIndexingNative
shaderSampleRateInterpolationFunctions
shaderSharedFloat16AtomicAdd
shaderSharedFloat16AtomicMinMax
shaderSharedFloat16Atomics
shaderSharedFloat32AtomicAdd
shaderSharedFloat32AtomicMinMax
shaderSharedFloat32Atomics
shaderSharedFloat64AtomicAdd
shaderSharedFloat64AtomicMinMax
shaderSharedFloat64Atomics
shaderSharedInt64Atomics
shaderSignedZeroInfNanPreserveFloat16
shaderSignedZeroInfNanPreserveFloat32
shaderSignedZeroInfNanPreserveFloat64
SHADER_STAGE_ALL
SHADER_STAGE_ALL_GRAPHICS
SHADER_STAGE_ANY_HIT_BIT_KHR
SHADER_STAGE_CALLABLE_BIT_KHR
SHADER_STAGE_CLOSEST_HIT_BIT_KHR
SHADER_STAGE_COMPUTE_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_INTERSECTION_BIT_KHR
SHADER_STAGE_MESH_BIT_NV
SHADER_STAGE_MISS_BIT_KHR
SHADER_STAGE_RAYGEN_BIT_KHR
SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
SHADER_STAGE_TASK_BIT_NV
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_VERTEX_BIT
shaderStorageBufferArrayDynamicIndexing
shaderStorageBufferArrayNonUniformIndexing
shaderStorageBufferArrayNonUniformIndexingNative
shaderStorageImageArrayDynamicIndexing
shaderStorageImageArrayNonUniformIndexing
shaderStorageImageArrayNonUniformIndexingNative
shaderStorageImageExtendedFormats
shaderStorageImageMultisample
shaderStorageImageReadWithoutFormat
shaderStorageImageWriteWithoutFormat
shaderStorageTexelBufferArrayDynamicIndexing
shaderStorageTexelBufferArrayNonUniformIndexing
shaderSubgroupClock
shaderSubgroupExtendedTypes
shaderSubgroupUniformControlFlow
shaderTerminateInvocation
shaderTessellationAndGeometryPointSize
shader too complex. Try reducing number of texture loads used
shaderUniformBufferArrayDynamicIndexing
shaderUniformBufferArrayNonUniformIndexing
shaderUniformBufferArrayNonUniformIndexingNative
shaderUniformTexelBufferArrayDynamicIndexing
shaderUniformTexelBufferArrayNonUniformIndexing
shader version expected
shaderZeroInitializeWorkgroupMemory
Shadow Copy Mgmt 1.0 Type LibraryW
?s_Handler@Logging@UnBCL@@0PEAUILogHandler@@EA
Shared_BrokeredActivation
sharedhost
Shared Key
SharedMemoryMappingFailed
sharedPresentSupportedUsageFlags
shared-secret
Shared Tree Join
ShareWithDevice
SharingMode
SharingViolation
SharingViolationIsOk
SHAutoComplete
SHBindToObject
SHBindToParent
SHBrowseForFolder
SHBrowseForFolderW
SHChangeNotify
SHChangeNotifyRegisterThread
SHCopyKeyW
SHCORE.dll
SHCreateAssociationRegistration
SHCreateDataObject
SHCreateDirectoryExW
SHCreateItemFromIDList
SHCreateItemFromParsingName
SHCreateItemInKnownFolder
SHCreateItemInKnownFolder failed
SHCreateItemWithParent
SHCreateMemStream
SHCreateShellItemArrayFromDataObject
SHCreateStreamOnFileEx
SHCreateStreamOnFileW
SHCreateThread
SHCreateThreadRef
SHCreateThreadWithHandle
SHCreateWorkerWindowW
SHDeleteKeyW
SHDeleteValueW
        shell
SHELL32.dll
SHELL32.DLL
ShellAboutW
ShellAppRuntime.exe
ShellAppRuntime.pdb
ShellErrorEvent
shellEvent
ShellEvent
shellEventId
ShellExecuteA
ShellExecuteEx api not present
ShellExecuteEx failed
ShellExecuteExW
ShellExecuteW
Shell_GetCachedImageIndexW
Shell_LaunchSessionByUriEx
ShellNotificationLaunchedInfo
shellNotificationOwnerHandle
Shell_NotifyIconGetRect
Shell_NotifyIconW
ShellReadyAlreadyCompleteOrAvoided
Shell_RequestShutdown
ShellRestart
ShellStartupActivityStart
ShellStartupActivityStop
ShellStartupWaitStopReason
SHEvaluateSystemCommandTemplate
SHExpandEnvironmentStringsW
SHFileOperationW
SHGetDesktopFolder
SHGetFileInfoW
SHGetFolderPathAndSubDirW
SHGetFolderPathEx
SHGetFolderPath failed
SHGetFolderPathW
SHGetIDListFromObject
SHGetIDListFromObject failed
SHGetKnownFolderIDList
SHGetKnownFolderIDList failed
SHGetKnownFolderItem
SHGetKnownFolderPath
SHGetKnownFolderPath(LocalAppDataLow) failed
SHGetMalloc
SHGetPathFromIDList
SHGetPathFromIDListW
SHGetPropertyStoreForWindow
SHGetSpecialFolderLocation
SHGetSpecialFolderPathW
SHGetStockIconInfo
SHGetThreadRef
SHGetValueW
ShieldHeartbeat
?ShiftChild@Element@DirectUI@@QEAAJII@Z
ShimFlushCache
sh.IsValid()
SHLoadIndirectString
SHLWAPI.dll
SHOpenFolderAndSelectItems
SHOpenRegStream2W
ShortIntervalEndHeartbeat
ShortPathWWW@
ShouldBlockRevertInternal
ShouldCaptureSnapshot
    Should compile clean under DX10 HLSL strict -- verify with:
ShouldDeleteMetadataStores
?ShouldEnumerateReparsePoint@Directory@UnBCL@@SAHPEBVString@2@@Z
ShouldLaunchInImmersiveClient failed
shouldLogoffOtherUsers
ShouldLogoffOtherUsers
Should not be deleting object that has non-zero reference count
Should not be initializing Host Modules before creating them
Should not be waiting for host modules initialization to complete when Setup failed or Host isgetting destroyed
ShouldProjectionOccur
shouldShutDown
ShouldShutdownAfterUpdate
ShouldSuspendBitlocker
ShouldSync
ShowActiveWindow failed
ShowAppTimeLimitToast
showbase
?ShowContextMenu@ElementProvider@DirectUI@@UEAAJXZ
ShowCursor
ShowCustomSelectionUI
ShowDeleteWarning
_ShowDetailedStatusDialog
_ShowDetails
_ShowDialog
ShowDialog
ShowDisallowed
ShowErrorMessage
ShowFlyoutActivity
--show-formats
--show-formats      Display the format properties of each physical device.
ShowInfo
ShowInsertMediaDialog
ShowInTaskbar
ShowLockScreen
ShowMainWindow
ShowMessage
_ShowNoOSSelectedMessage
showpoint
ShowPropertiesDialog
ShowPropertiesDialogCallback
ShowRDMessageDialog
_ShowRestoreOptions
ShowSystemToast
--show-tool-props
--show-tool-props   Show the active VkPhysicalDeviceToolPropertiesEXT that vulkaninfo finds.
*ShowUsageWWW
ShowUserLockScreenOnShellReady
ShowWarning
ShowWarningDialog
ShowWindow
SHOWWINDOW
ShowWindowAsync
ShowWindowIfVisible failed for ghost window
ShowWindowIfVisible failed for hung window
?ShowWindow@NativeHWNDHost@DirectUI@@QEAAXH@Z
SHParseDisplayName
SHQueryInfoKeyW
SHQueryUserNotificationState
SHRegGetPathW
SHRegGetValueW
SHRegSetPathW
shrpubw.pdb
SHSetLocalizedName
SHSetTemporaryPropertyForItem
SHSetThreadRef
SHSetValueW
SHStrDupW
SHTaskPoolAllowThreadReuse
SHTaskPoolGetUniqueContext
SHTaskPoolQueueTask
SHUnicodeToAnsi
ShutdownBlockReasonCreate
ShutdownBlockReasonDestroy
ShutdownCancelled
ShutdownDirtyDialog
ShutdownDotExe
ShutdownExAnnotate
ShutdownExDirtyDialog
ShutdownExeInvoked
ShutdownExPrintReasons
ShutdownExReasonCommentRequired
ShutdownExRemoteDialog
Shutdown() failed
shutdownFlags
ShutdownFlags
Shutdown in progress!.
ShutdownInProgress
ShutdownOctagon: SgrmSessionManager EndAllSgrmSessions failed
ShutdownOctagon: SgrmSessionManager Uninitialize failed
shutdown.pdb
ShutdownPlatformLibrary
ShutdownResult
shutdownScenario
ShutdownStart
ShutdownStop
ShutdownStopTimePerfCounter
ShutdownSystem
Shutting down SysPrep log
ShuttingDownSystemApps
ShvlCompleteIntercept
ShvlEnableVpVtlForPartition
ShvlGetInterceptData
ShvlGetPartitionProperty
ShvlGetVpRegisters
ShvlLockSparseGpaPageMapping
ShvlModifySparseSpaPageHostAccess
ShvlSetPartitionProperty
ShvlSetVpRegisters
ShvlUnlockSparseGpaPageMapping
S I9:t;H
SIDATAC2H
SIDATAC2L
SIDATACE
SIDATACED
SIDATAP2I
SIDATAPEL
SID Training blocked due to WinBio enrollment restrictions
signalCollectionId
SignalCollectionRegistrationActivity
?Signal@CVdsAsyncObjectBase@@QEAAXXZ
SignalIfTrailer
SignalJsonParsingActivityAfterModelDownload
SignalJsonParsingActivityBeforeModelDownload
signalName
SignalNamedEvent failed!
signalPayload
SignalPayloadAcknowledged
SignalPayloadActivity
SignalPayloadCleanupModels
SignalPayloadDetectionActivity
signalPayloadModelNeeded
signalPayloadUniqueId
signalRegistrationBeforeModelDownload
Signal registration is not needed as the signal payload does not exist.
signature
Signature
SignatureEnforcementType
Signature is zero-length
Signature verification failed
SigningPolicyCheckFlags
SigningTime
SignInSuggestionsActivity
SignInSuggestionsGetContentActivity
SignInSuggestionsPerformActionActivity
SignInSuggestionsTimeout
SignInSuggestionsWaitAndTotalTime
SignScope field not found in store
sigverif.pdb
siH9QxscE3
sihBlockReason
SIHClient.pdb
sih::CSls::GetResponse
sih::network::BulkCheckDNSresiliencyAndUpdateSettings
sih::network::DNSConfigBuilder::BuildDNSConfigSettings
sih::network::DNSConfigParser::GetXMLDOMDocument
sih::network::DNSConfigParser::ParseDNSConfig
sih::network::DNSConfigParser::ParseOptionalBoolFlags
sih::network::DNSConfigParser::UpdateDNSConfig
sih::network::DNSPolicy::BulkBuildAndSetNRPTRules
sih::network::DNSPolicy::BulkBuildNRPTRules
sih::network::DNSPolicy::BulkSetNRPTRules
sih::network::GetLatestDNSresiliencyConfigOnline
sih::network::HttpRequest::SendRequest
sih::network::InitializeDNSConfigSettings
sih::network::ManageDNSresiliencyWorkflow
sih::network::NeedToUpdateDNSresolver
sih::network::RunTestAgainstDefaultDNSresolver
sih::network::RunTestAgainstFallbackDNSresolver
SIHostExit
sihost.pdb
SIHostReady
SIHostStart
SIHTraceLogging
SimplePixelShader
SIMPLE_PROTOCOL
SimpleSpatialGraphSnapshot_StaticNodePose
SimpleSpatialGraphSnapshot_Summary
SimpleStringCopy failed
SimpleVertexShader
SimpleVertexShaderOutput SimpleVertexShader(
SIMPLE_VS_OUTPUT SimpleVertexShader( COMMON_VS_INPUT sVIn )
    SIMPLE_VS_OUTPUT   sVOut;
SimulationEnabled
SING error
SingleArrayProperty
SingleIoSlice
SingleIoSliceIssued
single_pair_required
SingleProperty
SinglePropertyFilter
singleServiceHost
	-singlesnapshot		 - On demand Snapshot for the specified process
SingletonCreateInstanceFailed
S	?Initialize@Button@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
SipaGetDataPointers
SipapAppendEntry
SipapCreateQueue
SipaQueueConfigEntry
SipaQueueConfigEntryToQueue
SipaReadPcrsByMask
SIPolicyClearAllActivePolicy
SIPolicyDeletePersistentVariable
SIPolicyGetOptions
SIPolicyGetPolicyHandle
SIPolicyGetPolicyInfoFromType
SIPolicyGetSerializedPolicies
SIPolicyGetSerializedPoliciesSize
SIPolicyHashActiveCodeExecutionPolicies
SIPolicyInvalidateEAsOnRebootEnabled
SIPolicyIsPolicyActive
SIPolicyIsSignedPolicyRequired
SIPolicySetTrialMode
SIPolicyUmciEnabled
SIP-servers-address
SIP-servers-domain
SISbSbdSSSbdbbSbISbSbSbbbbSbbSbb
SISISIbdbbSSbSbS
-s is not supported by this version of bsdtar
s is null
siteCode
(Site code must be a three character code
SITUATION-NOT-SUPPORTED
SizeArrayProperty
?Size@CVarVector@@QEAAHXZ
Size(in days) of query search window
sizeOfFilesPinnedToHddTier
sizeOfFilesPinnedToSsdTier
SizeofResource
Size of string is invalid!
SizeProperty
Sj3ZzcRpn
SkAcquirePushLockExclusive
SkAcquirePushLockShared
SkAllocateNormalModePool
SkAllocatePool
SkciCompareSigningLevels
SkciCreateCodeCatalog
SkciCreateSecureImage
skci.dll
SkciFinalizeSecureImageHash
SkciFinishImageValidation
SkciFreeImageContext
SkciInitialize
SkciMatchHotPatch
SkciQueryImageAuthorID
SkciQueryImageUniqueID
SkciQueryInformation
SkciSetCodeIntegrityPolicy
SkciTransferVersionResource
SkciValidateAmeCertChain
SkciValidateDynamicCodePages
SkciValidateImageData
SkeCacheInvalidatePage
SkeZeroPages
SkFreeNormalModePool
SkFreePool
SkGetIdkSignatureForData
SkhalpPciBlockUnknownConfigSpaceAccess
SkInitializePushLock
SkipArmingTimer
?Skip@CPrvEnumObject@@UEAAJK@Z
SkipLine
	-skipPdbGen		Disables dynamic generation of ngen and embedded pdbs.
skippedFormulaDetectorVersion
skipping limit rule check due to registry flag
Skipping Registry Entry for cpu expression compression score 
Skipping Registry Entry for cpu score
Skipping Registry Entry for CRS score
Skipping Registry Entry for D3D score
Skipping Registry Entry for disk score
Skipping Registry Entry for DWM score
Skipping Registry Entry for Graphics score
Skipping Registry Entry for memory score
Skipping Registry Entry for Memory Throughput
Skipping Registry Entry for random read disk score
Skipping Registry Entry for sequential read disk score
-- Skipping Schema check! (private only)
Skipping update to the TimeLastFormalAssessment in the registry - AXE mode
Skipping writing the Initial values to the registry - Axe Mode
SkipPointerFrameMessages
skipReason
SkipVerification
SkipWhile
SkIsSecureKernel
SkmmFreeReservedMapping
SkmmFreeSecureAllocation
SkmmMapMdl
SkmmMapMdlWithReservedMapping
SkmmReleasePageRestriction
SkmmReserveMappingAddress
SkmmRestrictPage
SkmmUnmapMdl
SkobCreateHandle
SkobCreateObject
SkobDereferenceObject
SkobReferenceObject
SkobReferenceObjectByHandle
SkpsGetTrustletCrashdumpKey
SkpsIsProcessDebuggingEnabled
SkpspFindPolicy
SkpspReadPolicyMetadataCallback: Invalid capability Policy type
SkpspReadPolicyMetadataCallback: Invalid Etw Policy - duplicate entry
SkpspReadPolicyMetadataCallback: Invalid Etw Policy type
SkpspReadPolicyMetadataCallback: Invalid Parent SD Policy - duplicate entry
SkpspReadPolicyMetadataCallback: Invalid Parent SD Policy type
SkpspReadPolicyMetadataCallback: Invalid Parent SD Revision Policy - duplicate entry
SkpspReadPolicyMetadataCallback: Invalid Parent SD Revision Policy type
SkpspReadPolicyMetadataCallback: Invalid SVN Policy - duplicate entry
SkpspReadPolicyMetadataCallback: Invalid SVN Policy type
SkpsReadPolicyMetadata
SkpsReadPolicyMetadata: PolicyMetadata missing either parent SD or parent SD revision.
SkpsVerifyParentProcess: Parent SD is NULL or size is invalid.
SkQuerySecureKernelInformation
SkQuerySystemTime
SkReleasePushLockExclusive
SkReleasePushLockShared
SkSystemExceptionFilter
SkuBlock
SkuHasLogoff
SkWriteProcessStartEvent
sL4))17m
s:L9F0u4H
SLConsumeWindowsRight
SLDepositOfflineConfirmationId
SL_E_APPLICATION_POLICIES_MISSING
SL_E_APPLICATION_POLICIES_NOT_LOADED
SL_E_BASE_SKU_NOT_AVAILABLE
SL_E_BLOCKED_PRODUCT_KEY
SL_E_CAL_CLASS_UNKNOWN
SL_E_CAL_NOT_FOUND
SL_E_CAL_PRINCIPAL_INVALID
SL_E_CAL_PRINCIPAL_UNEXPECTED_TYPE
SL_E_CAL_PRINCIPAL_UNKNOWN
SL_E_CAL_STORE_COLUMNISNULL
SL_E_CAL_STORE_ENDOFROWSET
SL_E_CHPA_ACTCONFIG_ID_NOT_FOUND
SL_E_CHPA_BINDING_MAPPING_NOT_FOUND
SL_E_CHPA_BINDING_NOT_FOUND
SL_E_CHPA_BUSINESS_RULE_INPUT_NOT_FOUND
SL_E_CHPA_DATABASE_ERROR
SL_E_CHPA_DMAK_EXTENSION_LIMIT_EXCEEDED
SL_E_CHPA_DMAK_LIMIT_EXCEEDED
SL_E_CHPA_FAILED_TO_DELETE_PRODUCTKEY_BINDING
SL_E_CHPA_FAILED_TO_DELETE_PRODUCT_KEY_PROPERTY
SL_E_CHPA_FAILED_TO_INSERT_PRODUCTKEY_BINDING
SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_PROPERTY
SL_E_CHPA_FAILED_TO_INSERT_PRODUCT_KEY_RECORD
SL_E_CHPA_FAILED_TO_PROCESS_PRODUCT_KEY_BINDINGS_XML
SL_E_CHPA_FAILED_TO_UPDATE_PRODUCTKEY_BINDING
SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_PROPERTY
SL_E_CHPA_FAILED_TO_UPDATE_PRODUCT_KEY_RECORD
SL_E_CHPA_GENERAL_ERROR
SL_E_CHPA_INVALID_ACTCONFIG_ID
SL_E_CHPA_INVALID_ARGUMENT
SL_E_CHPA_INVALID_BINDING
SL_E_CHPA_INVALID_BINDING_URI
SL_E_CHPA_INVALID_PRODUCT_DATA
SL_E_CHPA_INVALID_PRODUCT_DATA_ID
SL_E_CHPA_INVALID_PRODUCT_KEY
SL_E_CHPA_INVALID_PRODUCT_KEY_CHAR
SL_E_CHPA_INVALID_PRODUCT_KEY_FORMAT
SL_E_CHPA_INVALID_PRODUCT_KEY_LENGTH
SL_E_CHPA_MAXIMUM_UNLOCK_EXCEEDED
SL_E_CHPA_NETWORK_ERROR
SL_E_CHPA_NO_RULES_TO_ACTIVATE
SL_E_CHPA_NULL_VALUE_FOR_PROPERTY_NAME_OR_ID
SL_E_CHPA_OEM_SLP_COA0
SL_E_CHPA_OVERRIDE_REQUEST_NOT_FOUND
SL_E_CHPA_PRODUCT_KEY_BEING_USED
SL_E_CHPA_PRODUCT_KEY_BLOCKED
SL_E_CHPA_PRODUCT_KEY_OUT_OF_RANGE
SL_E_CHPA_REISSUANCE_LIMIT_NOT_FOUND
SL_E_CHPA_RESPONSE_NOT_AVAILABLE
SL_E_CHPA_SYSTEM_ERROR
SL_E_CHPA_TIMEBASED_ACTIVATION_AFTER_END_DATE
SL_E_CHPA_TIMEBASED_ACTIVATION_BEFORE_START_DATE
SL_E_CHPA_TIMEBASED_ACTIVATION_NOT_AVAILABLE
SL_E_CHPA_TIMEBASED_PRODUCT_KEY_NOT_CONFIGURED
SL_E_CHPA_UNKNOWN_PRODUCT_KEY_TYPE
SL_E_CHPA_UNKNOWN_PROPERTY_ID
SL_E_CHPA_UNKNOWN_PROPERTY_NAME
SL_E_CHPA_UNSUPPORTED_PRODUCT_KEY
SL_E_CIDIID_INVALID_CHECK_DIGITS
SL_E_CIDIID_INVALID_DATA
SL_E_CIDIID_INVALID_DATA_LENGTH
SL_E_CIDIID_INVALID_VERSION
SL_E_CIDIID_MISMATCHED
SL_E_CIDIID_NOT_DEPOSITED
SL_E_CIDIID_VERSION_NOT_SUPPORTED
SL_E_DATATYPE_MISMATCHED
SL_E_DECRYPTION_LICENSES_NOT_AVAILABLE
SL_E_DEPENDENT_PROPERTY_NOT_SET
SL_E_DUPLICATE_POLICY
SleepConditionVariableCS
SleepConditionVariableSRW
SleepWWW
SL_E_EUL_CONSUMPTION_FAILED
SL_E_EUL_NOT_AVAILABLE
SL_E_EVALUATION_FAILED
SL_E_EVENT_ALREADY_REGISTERED
SL_E_EVENT_NOT_REGISTERED
SL_E_EXTERNAL_SIGNATURE_NOT_FOUND
SL_E_FREE_CAL_NOT_FOUND
SL_E_GRACE_TIME_EXPIRED
SL_E_HWID_ERROR
SL_E_INTERNAL_ERROR
SL_E_INVALID_BINDING_BLOB
SL_E_INVALID_CONTEXT
SL_E_INVALID_EVENT_ID
SL_E_INVALID_GUID
SL_E_INVALID_LICENSE
SL_E_INVALID_PACKAGE
SL_E_INVALID_PACKAGE_VERSION
SL_E_INVALID_PKEY
SL_E_INVALID_PRODUCT_KEY
SL_E_INVALID_RUNNING_MODE
SL_E_ISSUANCE_LICENSE_NOT_INSTALLED
SL_E_LICENSE_AUTHORIZATION_FAILED
SL_E_LICENSE_DECRYPTION_FAILED
SL_E_LICENSE_FILE_NOT_INSTALLED
SL_E_LICENSE_INVALID_ADDON_INFO
SL_E_LICENSE_MANAGEMENT_DATA_DUPLICATED
SL_E_LICENSE_MANAGEMENT_DATA_NOT_FOUND
SL_E_LICENSE_SERVER_URL_NOT_FOUND
SL_E_LICENSE_SIGNATURE_VERIFICATION_FAILED
SL_E_LUA_ACCESSDENIED
SL_E_MISMATCHED_APPID
SL_E_MISMATCHED_PID
SL_E_MISMATCHED_PKEY_RANGE
SL_E_MISMATCHED_PRODUCT_SKU
SL_E_MISMATCHED_SECURITY_PROCESSOR
SL_E_MISSING_OVERRIDE_ONLY_ATTRIBUTE
slen is equal to npos
SL_E_NONGENUINE_GRACE_TIME_EXPIRED
SL_E_NONGENUINE_GRACE_TIME_EXPIRED_2
SL_E_NO_PID_CONFIG_DATA
SL_E_NOT_ACTIVATED
SL_E_NOT_EVALUATED
SL_E_NOT_SUPPORTED
SL_E_OPERATION_NOT_ALLOWED
SL_E_OUT_OF_TOLERANCE
SL_E_PKEY_INTERNAL_ERROR
SL_E_PKEY_INVALID_ALGORITHM
SL_E_PKEY_INVALID_CONFIG
SL_E_PKEY_INVALID_KEYCHANGE1
SL_E_PKEY_INVALID_KEYCHANGE2
SL_E_PKEY_INVALID_KEYCHANGE3
SL_E_PKEY_INVALID_KEYCHANGE4
SL_E_PKEY_INVALID_UNIQUEID
SL_E_PKEY_INVALID_UPGRADE
SL_E_PKEY_NOT_INSTALLED
SL_E_PLUGIN_ALREADY_REGISTERED
SL_E_PLUGIN_INVALID_MANIFEST
SL_E_POLICY_CACHE_INVALID
SL_E_PRODUCT_KEY_INSTALLATION_NOT_ALLOWED
SL_E_PRODUCT_SKU_NOT_INSTALLED
SL_E_PROXY_KEY_NOT_FOUND
SL_E_PROXY_POLICY_NOT_UPDATED
SL_E_PUBLISHING_LICENSE_NOT_INSTALLED
SL_E_RAC_NOT_AVAILABLE
SL_E_RIGHT_NOT_CONSUMED
SL_E_RIGHT_NOT_GRANTED
SL_E_SFS_BAD_TOKEN_EXT
SL_E_SFS_BAD_TOKEN_NAME
SL_E_SFS_DUPLICATE_TOKEN_NAME
SL_E_SFS_FILE_READ_ERROR
SL_E_SFS_FILE_WRITE_ERROR
SL_E_SFS_INVALID_FD_TABLE
SL_E_SFS_INVALID_FILE_POSITION
SL_E_SFS_INVALID_FS_VERSION
SL_E_SFS_INVALID_SYNC
SL_E_SFS_INVALID_TOKEN_DATA_HASH
SL_E_SFS_TOKEN_SIZE_MISMATCH
SL_E_SLP_BAD_FORMAT
SL_E_SLP_MISSING_ACPI_SLIC
SL_E_SLP_MISSING_SLP_MARKER
SL_E_SLP_NOT_SIGNED
SL_E_SLP_OEM_CERT_MISSING
SL_E_SPC_NOT_AVAILABLE
SL_E_SRV_AUTHORIZATION_FAILED
SL_E_SRV_CLIENT_CLOCK_OUT_OF_SYNC
SL_E_SRV_GENERAL_ERROR
SL_E_SRV_INVALID_BINDING
SL_E_SRV_INVALID_LICENSE_STRUCTURE
SL_E_SRV_INVALID_PAYLOAD
SL_E_SRV_INVALID_PRODUCT_KEY_LICENSE
SL_E_SRV_INVALID_PUBLISH_LICENSE
SL_E_SRV_INVALID_RIGHTS_ACCOUNT_LICENSE
SL_E_SRV_INVALID_SECURITY_PROCESSOR_LICENSE
SL_E_SRV_SERVER_PONG
SL_E_TAMPER_DETECTED
SL_E_TAMPER_RECOVERY_REQUIRES_ACTIVATION
SL_E_TOKEN_STORE_INVALID_STATE
SL_E_TOKSTO_ALREADY_INITIALIZED
SL_E_TOKSTO_CANT_ACQUIRE_MUTEX
SL_E_TOKSTO_CANT_CREATE_FILE
SL_E_TOKSTO_CANT_CREATE_MUTEX
SL_E_TOKSTO_CANT_PARSE_PROPERTIES
SL_E_TOKSTO_CANT_READ_FILE
SL_E_TOKSTO_CANT_WRITE_TO_FILE
SL_E_TOKSTO_INVALID_FILE
SL_E_TOKSTO_NO_ID_SET
SL_E_TOKSTO_NO_PROPERTIES
SL_E_TOKSTO_NOT_INITIALIZED
SL_E_TOKSTO_NO_TOKEN_DATA
SL_E_TOKSTO_PROPERTY_NOT_FOUND
SL_E_TOKSTO_TOKEN_NOT_FOUND
SL_E_USE_LICENSE_NOT_INSTALLED
SL_E_VALIDITY_PERIOD_EXPIRED
SL_E_VALIDITY_TIME_EXPIRED
SL_E_VALUE_NOT_FOUND
SL_E_VGA_NON_GENUINE_STATUS_FIRST
SL_E_VGA_NON_GENUINE_STATUS_LAST
SL_E_VL_BINDING_SERVICE_NOT_ENABLED
SL_E_VL_BINDING_SERVICE_UNAVAILABLE
SL_E_VL_INFO_PRODUCT_USER_RIGHT
SL_E_VL_INVALID_TIMESTAMP
SL_E_VL_KEY_MANAGEMENT_SERVICE_ID_MISMATCH
SL_E_VL_KEY_MANAGEMENT_SERVICE_NOT_ACTIVATED
SL_E_VL_KEY_MANAGEMENT_SERVICE_VM_NOT_SUPPORTED
SL_E_VL_MACHINE_NOT_BOUND
SL_E_VL_NOT_ENOUGH_COUNT
SL_E_VL_NOT_WINDOWS_SLP
SL_E_WINDOWS_INVALID_LICENSE_STATE
SlFolderForUserEmpty
SLFreeTokenActivationGrants
SLGenerateOfflineInstallationId
SLGetGenuineInformation
SLGetLicensingStatusInformation
SLGetProductSkuInformation
SLGetSLIDList
SLGetTokenActivationGrants
SLGetWindowsInformation
SLGetWindowsInformationDWORD
SLGetWindowsInformationDWORD failed!
?SliderUpdated@TouchSlider@DirectUI@@SA?AVUID@@XZ
SlideToShutDown.pdb
SLOPESCALEDEPTHBIAS
SlotManager
SLOT_MANAGER
Slow Protocols
slowreceiver
SLpIsCurrentInstalledProductKeyDefaultKey
SLpTriggerServiceWorker
SLSDiscovery
slui.pdb
SLUXActivationWizard
?s_Manager@Allocator@UnBCL@@0PAPEAUIHeapMemory@@A
?s_Manager_Init@Allocator@UnBCL@@0HA
SmartBusyCheckEvaluation
SmartBusyCheckEvaluationActivity
SmartBusyCheckSignalEvaluationActivity
Smart busy check signal evaluation Result:
Smart busy check signal evaluation Result -Test Hook:
Smart busy check signal registration was successful
SmartBusyCheckSmartSignalEvaluation
SmartScreenAppPolicy
SmartScreenEdgePolicy
smartscreen.pdb
SmartScreenStorePolicy
smartSignalName
SmartSignalRegistration feature is NOT on so calling prediction unit.
SmartSignalRegistration feature is on but signal evaluation failed. Using inbox model for prediction.
SmartSignalRegistration feature is on so evaluating the Smart Busy Check Signal.
SmartStandbyInst
SmartStandbyInstallerService
Smart Standby Install Helper
SmartStandbyInst.exe
SmAttachSpace
SM_CLUSTER::GetRegistryValue
SM_CLUSTER::Initialize
SM_CLUSTER::OpenResourceById
SM_CLUSTER::SendWork
SM_CLUSTER::SetRegistryValue
SM_CLUSTER::SM_CLUSTER
SM_CLUSTER::SpaceDetachExceptLocal
SM_CLUSTER::WaitForResourceOnline
SmExecuteRepair
SmExecuteWitness
]"SmnAqwM-
smoothFrameCount
smoothLines
smoothstep
SmpCopyFileFailure
smss.pdb
SM_WORKER::Callback
SM_WORKER::Initialize
SM_WORKER::Insert
SM_WORKER::Remove
SM_WORKER::Run
SM_WORKER::SM_WORKER
SnapAlwaysOnTrace
SnapFileBackedTrace
SnapRadar
SnapshotCaptureMain
	-snapshotconfig		 - Change snapshot settings for a process
SnapshotId
SnapshotSetId
SnapSnapshot
SnapTrace
SndVol.pdb
SndVolSSO.DLL
SnipAnnotated
SnippingTool.pdb
SnipSaved
SnipTaken
snmptrap.pdb
_snprintf_s
sNR44788Id
SNTP-servers
_snwprintf_s
_snwscanf_s
Socket Number
SoftLanding
softphone voice
SoftReset
Software revision
SoftwareSASGeneration
SoftwareSetupAndInventory
SoftwareUpdateClientTelemetry
SOGetClaimsToken2W
solicited
Some general rules are:
?s_OOMHandler@Allocator@UnBCL@@0PEAUIOutOfMemoryHandler@@EA
?SortChildren@Element@DirectUI@@QEAAJP6AHPEBX0@Z@Z
SortConfigRoots
sort.pdb
Source-Active
source-AS
SourceCalibrationChanged
SourceEnumerationCompleted
sourceFile
SourceFile
sourceId
SourceIds
SourceLine
source link-address
SourceManagerControlGroupAdd
SourceManagerControlGroupRemove
SourceManagerCorrelationGroupAdd
SourceManagerCorrelationGroupRemove
SourceManagerFaceAuthenticationGroupAdd
SourceManagerFaceAuthenticationGroupRemove
SourceManagerFrameProviderAdd
SourceManagerFrameProviderRemove
SourceManagerMissingProvider
SourceManagerMissingSource
SourceManagerProviderCached
SourceManagerProviderCaching
SourceManagerProviderInitializing
SourceManagerProviderRemoved
SourceManagerRegistryChangeActivity
SourceManagerRegistryChangeStart
SourceManagerRegistryChangeStop
SourceManagerRemoveControlGroupIds
SourceManagerRemoveCorrelationGroupIds
SourceManagerRemoveFaceAuthenticationGroupIds
SourceManagerRemoveFrameProviderId
SourceManagerShutdown
SourceManagerUpdateProviderAvailability
source modifiers are not allowed on destination parameters
source modifiers are not allowed on predicates
source modifiers incompatible with SUB instruction
sourcePosition
source quench
SourceRegistered
Source Route Bridge
Source-Routing Bridge Number TLV
source routing present
Source-Routing Ring Number TLV
SourceSetRegistered
SourceSetTag
SourceSetTypes
SourceSetUnregistered
SourceStatusChanged
SourceTag
SourceTransform
Source Tree Join
SourceType
SourceUnregistered
SourceWW
SourceWWL
s	|P0svG
SpaceAgent.pdb
SPACEDRTH
SPACEDRTH9
SPACELOGA
SPACELOGH
spaceman.pdb
spAllCriticalNode
?SpanExcluding@CHString@@QEBA?AV1@PEBG@Z
?SpanIncluding@CHString@@QEBA?AV1@PEBG@Z
SPAPI_E_AUTHENTICODE_DISALLOWED
SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED
SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER
SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED
SPAPI_E_BAD_INTERFACE_INSTALLSECT
SPAPI_E_BAD_SECTION_NAME_LINE
SPAPI_E_BAD_SERVICE_INSTALLSECT
SPAPI_E_CANT_LOAD_CLASS_ICON
SPAPI_E_CANT_REMOVE_DEVINST
SPAPI_E_CLASS_MISMATCH
SPAPI_E_DEVICE_INSTALL_BLOCKED
SPAPI_E_DEVICE_INSTALLER_NOT_READY
SPAPI_E_DEVICE_INTERFACE_ACTIVE
SPAPI_E_DEVICE_INTERFACE_REMOVED
SPAPI_E_DEVINFO_DATA_LOCKED
SPAPI_E_DEVINFO_LIST_LOCKED
SPAPI_E_DEVINFO_NOT_REGISTERED
SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE
SPAPI_E_DEVINST_ALREADY_EXISTS
SPAPI_E_DI_BAD_PATH
SPAPI_E_DI_DO_DEFAULT
SPAPI_E_DI_DONT_INSTALL
SPAPI_E_DI_FUNCTION_OBSOLETE
SPAPI_E_DI_NOFILECOPY
SPAPI_E_DI_POSTPROCESSING_REQUIRED
SPAPI_E_DRIVER_INSTALL_BLOCKED
SPAPI_E_DRIVER_NONNATIVE
SPAPI_E_DRIVER_STORE_ADD_FAILED
SPAPI_E_DRIVER_STORE_DELETE_FAILED
SPAPI_E_DUPLICATE_FOUND
SPAPI_E_ERROR_NOT_INSTALLED
SPAPI_E_EXPECTED_SECTION_NAME
SPAPI_E_FILE_HASH_NOT_IN_CATALOG
SPAPI_E_FILEQUEUE_LOCKED
SPAPI_E_GENERAL_SYNTAX
SPAPI_E_INCORRECTLY_COPIED_INF
SPAPI_E_INF_IN_USE_BY_DEVICES
SPAPI_E_INVALID_CLASS
SPAPI_E_INVALID_CLASS_INSTALLER
SPAPI_E_INVALID_COINSTALLER
SPAPI_E_INVALID_DEVINST_NAME
SPAPI_E_INVALID_FILTER_DRIVER
SPAPI_E_INVALID_HWPROFILE
SPAPI_E_INVALID_INF_LOGCONFIG
SPAPI_E_INVALID_MACHINENAME
SPAPI_E_INVALID_PROPPAGE_PROVIDER
SPAPI_E_INVALID_REFERENCE_STRING
SPAPI_E_INVALID_REG_PROPERTY
SPAPI_E_INVALID_TARGET
SPAPI_E_IN_WOW64
SPAPI_E_KEY_DOES_NOT_EXIST
SPAPI_E_LINE_NOT_FOUND
SPAPI_E_MACHINE_UNAVAILABLE
SPAPI_E_NO_ASSOCIATED_CLASS
SPAPI_E_NO_ASSOCIATED_SERVICE
SPAPI_E_NO_AUTHENTICODE_CATALOG
SPAPI_E_NO_BACKUP
SPAPI_E_NO_CATALOG_FOR_OEM_INF
SPAPI_E_NO_CLASS_DRIVER_LIST
SPAPI_E_NO_CLASSINSTALL_PARAMS
SPAPI_E_NO_COMPAT_DRIVERS
SPAPI_E_NO_CONFIGMGR_SERVICES
SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE
SPAPI_E_NO_DEVICE_ICON
SPAPI_E_NO_DEVICE_SELECTED
SPAPI_E_NO_DRIVER_SELECTED
SPAPI_E_NO_INF
SPAPI_E_NON_WINDOWS_DRIVER
SPAPI_E_NON_WINDOWS_NT_DRIVER
SPAPI_E_NO_SUCH_DEVICE_INTERFACE
SPAPI_E_NO_SUCH_DEVINST
SPAPI_E_NO_SUCH_INTERFACE_CLASS
SPAPI_E_NOT_AN_INSTALLED_OEM_INF
SPAPI_E_NOT_DISABLEABLE
SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE
SPAPI_E_PNP_REGISTRY_ERROR
SPAPI_E_REMOTE_COMM_FAILURE
SPAPI_E_REMOTE_REQUEST_UNSUPPORTED
SPAPI_E_SCE_DISABLED
SPAPI_E_SECTION_NAME_TOO_LONG
SPAPI_E_SECTION_NOT_FOUND
SPAPI_E_SET_SYSTEM_RESTORE_POINT
SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH
SPAPI_E_UNKNOWN_EXCEPTION
SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW
SPAPI_E_WRONG_INF_STYLE
SPAPI_E_WRONG_INF_TYPE
sparseAddressSpaceSize
(sparse and transient only)
sparseBinding
sparseImageFloat32AtomicAdd
sparseImageFloat32AtomicMinMax
sparseImageFloat32Atomics
sparseImageInt64Atomics
(sparse only)
sparseProperties
sparseResidency16Samples
sparseResidency2Samples
sparseResidency4Samples
sparseResidency8Samples
sparseResidencyAliased
sparseResidencyBuffer
sparseResidencyImage2D
sparseResidencyImage3D
spatialAnchorId
SpatialAnchors
SpatialAudioLicenseBroker
SpatialAudioLicenseBroker: AppService not found.
SpatialAudioLicenseBroker: Attempting to open AppService.
SpatialAudioLicenseBroker: EvaluateLicense
SpatialAudioLicenseBroker: GetLicenseStatus
SpatialAudioLicenseBroker: GetLicenseStatusFromAppService
SpatialAudioLicenseBroker: GetRuntimeParametersFromAppService
SpatialAudioLicenseBroker: [GetRuntimeParametersFromAppService] Received response.
SpatialAudioLicenseBroker: [GetRuntimeParametersFromAppService] Response status
SpatialAudioLicenseBroker: No AppServices installed.
SpatialAudioLicenseBroker No user
SpatialAudioLicenseBroker::OpenAsync
SpatialAudioLicenseBroker: SendRequest
SpatialAudioLicenseBroker: [SendRequest] Expected Value was not returned.
SpatialAudioLicenseBroker::SendRequest failed to open connection
SpatialAudioLicenseBroker [SendRequest] Received response.
SpatialAudioLicenseSrv.pdb
spatialAudioSubtype
SpatialDevice_AppliedDesiredTrackingLevelAfterPreviousFailure
SpatialDevice_ApplyDesiredTrackingLevelFailed
SpatialDevice_DesiredTrackingChanged
SpatialDevice_DesiredTrackingExpiring
SpatialDevice_DesiredTrackingKeepAlive
SpatialDevice_DesiredTrackingStatistics
SpatialDevice_Destroyed
SpatialDevice_FailedToCreateNodeReference
SpatialDevice_GetNodePoseForTimeHelper
SpatialDevice_GetPoseForTime
SpatialDevice_GetPoseForTime_MismatchedTimestampAccepted
SpatialDevice_GetPoseForTime_MismatchedTimestampRejected
spatialDeviceGravityIsValid
SpatialDeviceHandler_ClientDesiredTrackingStateRequested
SpatialDeviceHandler_ClientSetDesiredTrackingLevel
SpatialDeviceHandler_ForcePositionalTracking
SpatialDeviceHandler_SensorSignalClients
SpatialDeviceHandler_SpatialDeviceTrackingDesiredAfterAppExit
spatialDeviceId
SpatialDevice_Initialized_Aggregated
SpatialDevice_Initialized_DynamicNodeId
SpatialDevice_Initialized_FullyQualifiedDynamicNode
SpatialDevice_Initialized_RelatedDeviceInterfacePath
SpatialDevice_InvokeDesiredTrackingExpiringCallbacks
SpatialDevice_InvokeTrackingStateChangedCallbacks
SpatialDeviceManager_Destroyed
SpatialDeviceManager_DeviceAdded
SpatialDeviceManager_DeviceRemoved
SpatialDeviceManager_GetOrCreateForBindingRequirements_DynamicNode
SpatialDeviceManager_GetOrCreateForBindingRequirements_FullyQualifiedDynamicNode
SpatialDeviceManager_GetOrCreateForBindingRequirements_RelatedDevice
SpatialDeviceManager_Initialized
SpatialDeviceManager_SetDefault
SpatialDevice_OrphanedDeviceUsed
SpatialDevice_OrphanedDeviceUsed_Aggregated
SpatialDevice_PoseQueryAccessDenied
SpatialDevice_PoseStatistics
SpatialDevice_PositionalTrackingInhibited
SpatialDevice_PropertiesUpdated
SpatialDevice_RecentPoseUpdated
SpatialDevice_ResetNodeReference
SpatialDevice_SynthesizedInvalidPoseDefaults
SpatialDevice_TrackingStateChanged
SpatialDevice_UpdateGravityAlignedPointingToPose
spatialGraphDeviceInterfacePath
spatialGraphDevicePath
spatialGraphDynamicNodeId
SpatialGraph_GetSpatialDeviceForRelatedDeviceFailed
spatialGraphHasDriverErrors
SpawnCOMRegisterThread
SpawnProcess
spCompSpecsRoot
spCRdpShell
spCurrentVolume
spDataObject
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SPDRP_HARDWAREID
SpecialFolder
SpecialFolderConstWW4
_#SpecialFolderWWWL
special request
Spec ID Event02
Spec ID Event03
      Specifically load these DLLs from the specified path. This
SpecificSyncUnitErrorHitWithSyncGID
                    specifying the gpu-number associated with the gpu of 
SpectrumLocalCoordinateFrameUpdated
Spectrum.pdb
Spectrum::RuntimeManager::Create
Spectrum::Service::Instance::Instance
Spectrum::Service::Run
Spectrum::Service::SignalIfDevAndSrvReady
Spectrum::Service::StateOnDevice::RegisterForPowerNotifications
Spectrum::Service::State::SetCurrentState
Spectrum::Service::State::State
Spectrum::SpatialDevice::GetNodePoseForTime
Spectrum::SpatialDevice::GetOrCreateTrackingManagerInternal
Spectrum::SpatialDevice::GetPoseForTime
SpectrumSyncClient.dll
SpectrumSyncJoinFrameRendezvous
Spectrum::VSyncTriggerSamui::ThreadProc
Spectrum::VSyncTriggerStandalone::ThreadProc
specular
Specular
SPECULAR
SPECULARENABLE
SPECULARMATERIALSOURCE
specVersion
SpeechModelDownload.exe starting up
SpeechModelDownload.pdb
SpeechRuntime
SpeechRuntime_CoalescedSession
SpeechRuntime_CoalesceFailure
SpeechRuntime_CreateAndInitAudioOrchestrator
SpeechRuntime_CreateAndInitAudioOrchestrator_Suppressed
SpeechRuntime_CreateVoiceShell
SpeechRuntime_CreateVoiceShell_Suppressed
SpeechRuntime_Enter
SpeechRuntime_Enter_Suppressed
SpeechRuntime_Exit
SpeechRuntime_Exit_Suppressed
SpeechRuntime: Global logoff event signalled. Exiting ServiceLoop
SpeechRuntime_IsVoiceActivationSupported_Enter
SpeechRuntime_IsVoiceActivationSupported_Enter_Suppressed
SpeechRuntime_IsVoiceActivationSupported_Exit
SpeechRuntime_IsVoiceActivationSupported_Exit_Suppressed
SpeechRuntime.pdb
SpeechRuntime_Ready
SpeechRuntime_Ready_Suppressed
SpeechRuntime_RegisterObjects
SpeechRuntime_RegisterObjects_Suppressed
SpeechRuntime_ServiceLoop
SpeechRuntime_ServiceLoop_Suppressed
SpeechRuntime_Start
SpeechRuntime_StartCloudSyncWorkerLoop
SpeechRuntime_StartCloudSyncWorkerLoop_Suppressed
SpeechRuntime_Stop
SpeechRuntime_SubscribeToHoloUserInputContextChanges
SpeechRuntime_SubscribeToHoloUserInputContextChanges_Suppressed
SpeechRuntime_WarmupIsVoiceActivationEnabled_Enter
SpeechRuntime_WarmupIsVoiceActivationEnabled_Enter_Suppressed
SpeechRuntime_WarmupIsVoiceActivationEnabled_Exit
SpeechRuntime_WarmupIsVoiceActivationEnabled_Exit_Suppressed
SpeechStartedPackingData
SpeechUXWiz.pdb
spFileSpecsNode
spFocusThread
!s_pFormatBackupContext
SPHEREMAP
SpindleMotorPowerOnHours_Index
SpInfGetIndirectString
SpInfIsIndirectString
spInputChannel
spInternalLocationChannel
spLanguageBarEvents
SplashFontName
SplashLoading
splashShown
Splash_Shown
SplashStarting
SplashTitle
SplConfigChange
SplIsValidUserPropertyBag
SplitFullPathToParentPathAndFileFolderName
_splitpath_s
splitRead
SplitSvcHost
spLocationChannel
SplReenumeratePorts
SplUalCollectData
SpoolerDevQueryPrintW
SpoolerPrinterEvent
?s_PoolLock@String@UnBCL@@1VObject@2@A
spoolss.dll
spoolsv.exe
spoolsv.pdb
sppc.dll
sppcext.dll
sppError
sppExchangeComplete
SppFreeBadWritersArray
SppFreeExternalGroupPropArray
SppFreeGroupPropArray
spPlatform
SppPluginCanUnloadNow
SppPluginCreateInstance
SppPluginInitialize
SppPluginShutdown
SppPluginVersion
sppPostDevData
sppPostDevDataResponse
sppStatus
sppsvc.pdb
SPPUI 1.0 Type Library
SPPUIObjectInteractive ClassWW
SPPUIObjectInteractiveWWd
sppUpdateResponse
sppUpdateWithExchangeComplete
sppVersion
SPP version not supported
?SPrintfAppend@DSTRING@@UEAAEPEBGZZ
?SPrintf@DSTRING@@UEAAEPEBGZZ
Sprintf failed
Sprintf Failed
Sprintf failed for bame and value
Sprintf failed for bug check string
Sprintf failed for pbValData
Sprintf failed while closing the xml node name
Sprintf failed while trying to print the node name
sprintf_s
sprite-rpc
spSystemStateNode
spSystemTime
spThread
spThreadDescriptor init failed
spVolume
spWorkspace
spwwwwsssss0UUUUUUUUU77770wwwws77770UUUUUUUUU7ssspw
SqmAddToStreamDWord
SqmAddToStreamString
SqmCreateNewId
SqmEndSession
SqmGetSession
SqmIsWindowsOptedIn
SqmReadSharedMachineId
SqmReadSharedUserId
SqmSetAppId
SqmSetAppVersion
SqmSetMachineId
SqmSetUserId
SqmStartUpload
SqmWaitForUploadComplete
SqmWriteSharedMachineId
SqmWriteSharedUserId
    square brackets (e.g.  [8 4 17]).  The valid numbers and their
Sr9oUnEC
SRCALPHA
SRCALPHASAT
SRCBLEND
SRCBLENDALPHA
SRCCOLOR
SrchAdmin
SrchCIDSO
SrchCIWrapper
SrchCluster
SrchCollator
SrchCollatorAdmin
SrchCollatorCatalogInfo
SrchCollatorCommand
SrchCollatorCxn
SrchCollatorCxnMgr
SrchCollatorFetch
SrchCollatorProperties
SrchCollatorQuery
SrchCollatorRowset
SrchCommon
SrchCscorePI
SrchDatasource
SrchDSSAdmin
SrchDSSConnection
SrchDSSConnectionManager
SrchDSSLogin
SrchDSSManager
SrchDSSPortManager
SrchDSSQuery
SrchFilterDaemon
SrchGatherDestruction
SrchGatherDirMon
SrchGatherHistoryHash
SrchGatherPI
SrchGatherPropMapper
SrchGatherServiceCatalog
SrchGatherStatus
SrchGatherSvc
SrchIndexerClient
SrchIndexerPlugin
SrchIndexerProperties
SrchIndexerQuery
SrchIndexerSchema
SrchPHFile
SrchPHHttp
SrchPHMatrix
SrchPHOleDb
SrchPHSts
SrchPropertyDefs
SrchPropertyStore
SrchSamplePI
SrchScriptPI
SrchServiceObj
SrchSimplePI
SrchSTRFilter
SrchXMLFilter
SRCLIENT.dll
_SRConfirm
SrConvertSppGroupToSrRpProp
SRCORE.dll
[|srcrt]
srdelayed.pdb
?s_RegistrationListHead@SbRegistrationList@UnBCL@@0U_SINGLE_LIST_ENTRY@@A
s_RestrictProcessDacl failed!
SrFreeRestoreStatus
SrFreeRpPropArray
SRGBTEXTURE
SRGBWRITEENABLE
SrGuiStartTracing
SrGuiStopTracing
SrpGetEnterpriseIds
SrPropStartTracing
SrPropStopTracing
SRSetRestorePointW
srtasks.pdb
SrTranslatePath
SruApiWrapper::Initialize
SruFreeRecordSet
SruQueryStats
SruRegisterRealTimeStats
SruUnregisterRealTimeStats
SrValidateRestorePoint
srvcli.dll
S*SbbSbbSbbSbSbSLSLbbbSbSbSbbLbLbLbL
SSbdSdSdSISSbSbSbSISb
SSbSSSbSbSbSSbSb
sscanf_s
sscopmce
SSdSdbdSdSbSISISISbISbSbSbbISbSbbbbLSLSbSLbgbLbLLLLLbLWL
SSD_STATISTICS_LOG_PAGE_array
s_SgrmCreateSession
*S*SISbSbSbdSd
s_spApplicationActivationManager
sspicli.dll
SspiCli.dll
SspiEncodeAuthIdentityAsStrings
SspiEncodeStringsAsAuthIdentity
SspiIsPromptingNeeded
SspiPromptForCredentialsW
SsProgramFiles
SSS888...444JJJqqq
SssBindServicingStack
SS*SbSbSbbSbSbSLSbbSbbS
S*SSbSSbSb
S*S*SdSI
SS*SgbbSbSbSbbbbSbSbSbLbLbLgbSLbbb
SssGetServicingStackFilePath
SssGetServicingStackFilePathLength
SS*SISISbdSdS*S
SSSISSSbSbSSbSbSbSbSbbSIbb
SSSLOM!H"
sssn999-999
SssPreloadDownlevelDependencies
SssReleaseServicingStack
SSSSbIIdSIbSbSbSb
ssssssss
SSSSSSSS
SSS*SSSSSISISbSbSIbSbIbbSbbSb
SSSSUUUU
sssswwwp
!SSSTTTTCT
SSSUUUUS
SSSUUUUU
SSSUUUUUHCD
(SSTTUWK
StableId
stackHash
StackHash
stackTraceStringBufferBuilder.AppendChar(0)
StackWalk64
StagedPSRCollectionRecovery
StageHandler_ClearCurrent
StageHandler::GetCurrent
StageHandler_GetCurrent
StageHandler_GetCurrent_Details
StageHandler_InvalidStageDetected
StageHandler::SetCurrent
StageHandler_SetCurrent
StageHandler_VerifyCurrentStage
stageToStaticNode
StageUpdate
Staging and committing with the UsoPerSkuAPI
StagingAppVersionMismatch
Staging using the ActionList and UpdateAgent
standalonehost
Standard
STANDARD
StandardBias
StandardName
STANDARD_RIGHTS_EXECUTE
STANDARD_RIGHTS_READ
STANDARD_RIGHTS_WRITE
standardSampleLocations
StandardStreamTypeWW
StartClipServer failed!
StartCount
?StartDefer@Element@DirectUI@@QEAAXPEAK@Z
StartDocPrinter port failed
StartDocPrinterW
StartDocW
StartDownload API called
StartError
Start failed!
StartFailureCount
StartHookOnDesktop failed
StartImpersonation
startInfo
Starting...
Starting One Shot update
Starting to copy payload
StartingUpdateService
StartInstall API called
StartLayoutInitMigration
StartListening
StartLoadingFontsWorker
StartLogShellNotificationCreationTimerThread failed
StartMessagePump
StartModelUpdates API called
?StartNavigate@Browser@DirectUI@@SA?AVUID@@XZ
StartNonElevatedProcessInstance
StartNonElevatedProcessInstance failed.
Start of install
Start of search
Start of uninstall
StartOneX
StartPage
StartPagePrinter
startPhaseEnd
startPhaseStart
Start progress bar marquee failed
StartRdpShell failed
StartRdpShellHelper failed
StartReason
StartReferenceHistory
StartRemoteApplicationEx failed
StartRemoteApplicationEx: saPwdCreds.Attach failed!
StartRemoteApplication failed!
StartRemoteApplicationWW
StartRemoteDesktopInImmersive failed!
StartRemoteDesktopWW
StartScan API called
StartServiceCtrlDispatcherW
StartServiceHostController
StartServiceW
StartSnapshot
StartSplash
	-start			 - Starts one or more profiles
    Starts the application:
StartsWith
?StartsWith@String@UnBCL@@QEBAHPEBGH@Z
	Starts WPR recording with the given profile
StartThread failed
StartThread failed!
StartThreadpoolIo
StartTieringEngine
StartTime
StartTimerThread failed
StartTimeService
StartTimeTravelDebugging
StartTraceAction
Start trace failed
StartTraceW
StartTracing
StartupDisabled
StartupEnabled
StartupEventArgs
StartupImpact
StartupLocality
StartupOctagon: CreateAgent failed
StartupOctagon: CreateEngine failed
StartupOctagon: HeapEnableTerminationOnCorruption failed
StartupOctagon: ProcessEnableLogging failed
StartupOctagon: SetThreadPriority Begin failed
StartupOctagon: SetThreadPriority End failed
StartupOctagon: SgrmSessionManager Initialize failed
StartWaitThread:Unable to create wait event
StartWaitThread:Unable to create wait thread
StartWorkspaceEx failed
StartWorkspace failed
StartWorkspaceNotificationThread failed!
StartWWWX
State.Allocate()
stateblock
STATEBLOCK
stateblock_state
StateChanged
StateDataLength
StateDataOffset
StateDataSize
state not recoverable
?StateProp@ModernProgressBar@DirectUI@@SAPEBUPropertyInfo@2@XZ
stateSeparatedRootPath
StateSeparationEnabled
State Transition
StateTransitionFailure
StateTransitionSuccess
StateWWW
Stat failed!
Stat failed.
STAThreadAttribute
static_cast
StaticExtensionInitialization
StaticExtensionUnInitialization
staticNodeCount
staticNodeGravity
staticNodeId
staticNodeIds
staticNodeIsLocatable
staticNodePoseCount
staticNodes
staticNodesGenerationId
Station Only
Station requesting (re)association is not authenticated with responding station
STATUS_ACCESS_DENIED
STATUS_ACCESS_VIOLATION
STATUS_ADVANCED_INSTALLER_FAILED
STATUS_BUFFER_OVERFLOW
STATUS_BUFFER_TOO_SMALL
STATUS_CANCELLED
STATUS_CANNOT_DELETE
status-code
status_code
statusCode
StatusCode
STATUS_DELETE_PENDING
STATUS_DIRECTORY_NOT_EMPTY
STATUS_DISK_FULL
	-status			 - Displays status on active recording (if any)
STATUS_DLL_NOT_FOUND
STATUS_DUPLICATE_NAME
STATUS_DUPLICATE_OBJECTID
STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION
STATUS_ENTRYPOINT_NOT_FOUND
STATUS_FILE_CORRUPT_ERROR
STATUS_FILE_IS_A_DIRECTORY
STATUS_ILLEGAL_CHARACTER
STATUS_IMPLEMENTATION_LIMIT
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSUFFICIENT_RESOURCES
STATUS_INTEGER_OVERFLOW
STATUS_INTERNAL_ERROR
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_HANDLE
STATUS_INVALID_IMAGE_FORMAT
STATUS_INVALID_PARAMETER
STATUS_INVALID_SID
STATUS_INVALID_TRANSACTION
STATUS_KEY_DELETED
STATUS_LOG_GROWTH_FAILED
STATUS_MEDIA_WRITE_PROTECTED
status.m_pSystemState
STATUS_NAME_TOO_LONG
STATUS_NOINTERFACE
STATUS_NO_MEMORY
STATUS_NO_MORE_ENTRIES
STATUS_NO_MORE_FILES
STATUS_NO_MORE_MATCHES
STATUS_NOT_CAPABLE
STATUS_NOT_IMPLEMENTED
STATUS_NOT_SAME_DEVICE
STATUS_NOT_SUPPORTED
STATUS_OBJECT_NAME_COLLISION
STATUS_OBJECT_NAME_NOT_FOUND
STATUS_OBJECT_PATH_NOT_FOUND
STATUS_OBJECT_PATH_SYNTAX_BAD
STATUS_OBJECT_TYPE_MISMATCH
STATUS_REQUEST_OUT_OF_SEQUENCE
STATUS_RESOURCE_DATA_NOT_FOUND
STATUS_RESOURCE_NAME_NOT_FOUND
STATUS_RESOURCE_TYPE_NOT_FOUND
STATUS_REVISION_MISMATCH
STATUS_RM_METADATA_CORRUPT
STATUS_RM_NOT_ACTIVE
STATUS_SHARING_VIOLATION
STATUS_SMI_PRIMITIVE_INSTALLER_FAILED
STATUS_SUCCESS
STATUS_SXS_ASSEMBLY_MISSING
STATUS_SXS_ASSEMBLY_NOT_FOUND
STATUS_SXS_COMPONENT_STORE_CORRUPT
STATUS_SXS_FILE_HASH_MISMATCH
STATUS_SXS_IDENTITIES_DIFFERENT
STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE
STATUS_SXS_IDENTITY_PARSE_ERROR
STATUS_SXS_INVALID_ACTCTXDATA_FORMAT
STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME
STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE
STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT
STATUS_SXS_MANIFEST_PARSE_ERROR
STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE
Status TLV
STATUS_TM_INITIALIZATION_FAILED
STATUS_TOO_LATE
STATUS_TRANSACTIONAL_CONFLICT
STATUS_TRANSACTION_NOT_ACTIVE
STATUS_UNDEFINED_CHARACTER
STATUS_UNMAPPABLE_CHARACTER
STATUS_UNSUCCESSFUL
STATUS_XML_PARSE_ERROR
stdafx.cxx
__stdcall
__std_exception_copy
__std_exception_destroy
StdInWWW
__stdio_common_vfprintf
__stdio_common_vfwprintf
__stdio_common_vsnprintf_s
__stdio_common_vsnwprintf_s
__stdio_common_vsprintf
__stdio_common_vsprintf_s
__stdio_common_vswprintf
__stdio_common_vswprintf_s
__stdio_common_vswscanf
std::nullptr_t
std::nullptr_t 
stdole2.tlbWWW
stdole2.tlbWWWx	
__std_terminate
__std_type_info_compare
STENCILENABLE
STENCILFAIL
STENCILFUNC
STENCILMASK
STENCILPASS
STENCILREF
STENCILWRITEMASK
STENCILZFAIL
StgOpenStorageEx
StickUpdate
stickykeys
StillStagedAfterRecovery
stippledBresenhamLines
stippledRectangularLines
stippledSmoothLines
stmMapping
stmTimeZone
stod argument out of range
stoi argument out of range
stoll argument out of range
StopActiveHook failed
	-stopboot 		Removes Autologger configured by addboot and stops the boot recording and merges all the recording into the given file
StopClipServer failed!
StopCount
Stop failed
Stop failed!
StopImpersonation
StopListening
StopOneX
StopPostAssociate
StopReferenceHistory
StopSent
StopSnapshot
	-stop			 - Stops recording initiated via WPR (if any) and saves
	Stops WPR recording and merges all the recording into the given file
StopTieringEngine
StopTimeTravelDebugging
StopTraceAction
Stop trace failed
StopTraceW
StopTracing
StopTrackingChildWindow can only be called on a parent window.
storageBuffer16BitAccess
storageBuffer8BitAccess
StorageCollector.dll
STORAGE_DEVICE_CURRENT
STORAGE_DEVICE_EXTERNAL
STORAGE_DEVICE_INFO
STORAGE_DEVICE_INTERNAL
STORAGE_DEVICE_MAX
StorageDeviceType
STORAGE_DEVICE_TYPE
STORAGE_DIAGNOSTIC_AHCI_DATA
STORAGE_DIAGNOSTIC_AHCI_EXECUTION_HISTORY
STORAGE_DIAGNOSTIC_DATA
STORAGE_DIAGNOSTIC_DATA_base
STORAGE_DIAGNOSTIC_DATA_Storahci
STORAGE_DIAGNOSTIC_DATA_Storport
STORAGE_DIAGNOSTIC_LEVEL
StorageDiagnosticLevelDefault
StorageDiagnosticLevelMax
STORAGE_DIAGNOSTIC_REQUEST
STORAGE_DIAGNOSTIC_STORPORT_ADAPTER_LOG_LIST
STORAGE_DIAGNOSTIC_STORPORT_ADAPTER_ZONE_DATA
STORAGE_DIAGNOSTIC_STORPORT_DATA
STORAGE_DIAGNOSTIC_TARGET_TYPE
StorageDiagnosticTargetTypeHbaFirmware
StorageDiagnosticTargetTypeMax
StorageDiagnosticTargetTypeMiniport
StorageDiagnosticTargetTypePort
StorageDiagnosticTargetTypeUndefined
STORAGE_DISMOUNT_BUSY
STORAGE_DISMOUNT_IO_FAILURE
STORAGE_DISMOUNT_NONE
STORAGE_DISMOUNT_REASON
STORAGE_DISMOUNT_SAFE_REMOVAL
STORAGE_DISMOUNT_SURPRISE_REMOVAL
STORAGE_FREE_SPACE_STATE
StorageId
storageImageSampleCounts
storageInputOutput16
STORAGE_PRESENCE_DISMOUNTED
STORAGE_PRESENCE_MOUNTED
STORAGE_PRESENCE_PREDISMOUNTED
STORAGE_PRESENCE_STATE
storagePushConstant16
storagePushConstant8
StorageReader::GetDataFromParent(): Both m_pIFileItemRead and m_pBuffer are NULL.
StorageRootDelegate::GetStorageRootPath
STORAGE_SELECTVOL_FLAGS
STORAGE_SELECTVOL_FLAGS_DEBUG_MODE
STORAGE_SELECTVOL_FLAGS_FORCE_CACHED_VALUE
STORAGE_SELECTVOL_FLAGS_NONE
STORAGE_SELECTVOL_FLAGS_SLOW_AND_ACCURATE
StorageService::CreateStorageService
StorageService::Initialize
STORAGE_SPACE_LOW
STORAGE_SPACE_NORMAL
STORAGE_TEMP_CLEANUP
STORAGE_TEMP_CLEANUP_STATE
STORAGE_TEMP_NORMAL
storageTexelBufferOffsetAlignmentBytes
storageTexelBufferOffsetSingleTexelAlignment
StorageUsage
storageusage.dll
stordiag
StorDiag
StorDiag.Device
storDiagDir
stordiag.exe
StorDiagIdentity
stordiag.pdb
)StorDiag.STORAGE_DIAGNOSTIC_DATA_Storahci
)StorDiag.STORAGE_DIAGNOSTIC_DATA_Storport
StoreAppEndpointApiCall
StoreAppEndpointApiCall_Aggregated
storedCommandLine.c_str()
StoreIsSpace
storePolicy
StorePolicyActivity
storing-multicast
STORPORT_EVENTLOG_ID
StorportPerformanceSummary
StorportSmartStats
stoul argument out of range
stoull argument out of range
STP type TLV
StrAsyncConnectState
strAttributeName
strcat_s
?Strcat@WSTRING@@QEAAEPEBV1@@Z
StrChrIW
?Strchr@WSTRING@@QEBAKGK@Z
StrCmpCW
StrCmpICW
StrCmpIW
StrCmpNICW
StrCmpNIW
?Strcmp@WSTRING@@QEBAJPEBV1@@Z
StrConnectState
strcpy_s
StrDup Malloc failed
StrDupWFromA conversion failed
StrDupWFromA Malloc failed
stream end
STREAM_ENTRY
stream error
streaming video
StreamReader
?StreamRead@MultiSz@UnBCL@@UEAAXAEAVSerializationStream@2@@Z
?StreamRead@OperatingSystem@UnBCL@@UEAAXAEAVSerializationStream@2@@Z
?StreamRead@String@UnBCL@@QEAAXAEAVSerializationStream@2@@Z
?StreamRead@Version@UnBCL@@UEAAXAEAVSerializationStream@2@@Z
stream timeout
StreamToXpsFilter() : CreateEvent failed.
StreamToXpsFilter::StartOperation() : WaitForSingleObject failed
?StreamWrite@MultiSz@UnBCL@@UEBAXAEAVSerializationStream@2@@Z
?StreamWrite@OperatingSystem@UnBCL@@UEBAXAEAVSerializationStream@2@@Z
StreamWriter
?StreamWrite@String@UnBCL@@QEBAXAEAVSerializationStream@2@@Z
?StreamWrite@Version@UnBCL@@UEBAXAEAVSerializationStream@2@@Z
strerror
StretchBlt
StretchDIBits
StrFormatByteSizeEx
StrFormatByteSizeW
_stricmp
?Stricmp@WSTRING@@QEBAJPEBV1@@Z
_stricoll
strictLines
Strictly Ordered 
    string2 above.
String append failed
StringArgument
StringArrayProperty
StringBuilder
StringCbCopyA failed
StringCbCopyA failed!
StringCbCopy failed!
StringCbCopyN failed!
StringCbCopy(path) failed
StringCchCatCRLF failed
StringCchCat failed
StringCchCat failed!
StringCchCat() failed.
StringCchCat(mstsc.exe) failed
StringCchCopy failed
StringCchCopy failed!
StringCchCopy failed.
StringCchCopy() failed
StringCchCopy() failed.
StringCchCopy failedTemp
StringCchCopy failed while copying the converted string
StringCchCopy(file path) failed
StringCchCopy for login cookie failed
StringCchCopy for Publisher Name failed
StringCchCopy for WebService URL failed
StringCchCopy for WorkspaceId Name failed
StringCchCopyN failed
!StringCchCopyNW failed
StringCchCopyN(workspace ID) failed
StringCchCopyN (wszFilePath) failed in IsValidMstscLocation
StringCchCopyW failed
String cchlen failed
StringCchLength failed
StringCchLength failed!
StringCchLength failed.
StringCchLength() failed
StringCchLength(strRdpFileContentsWithCreds) failed
StringCchLength(XML template) failed
StringCchPrintf
StringCchPrintf candidateFQCid
StringCchPrintf failed
StringCchPrintf failed!
StringCchPrintf() failed
StringCChPrintf failed.
StringCchPrintf failed while trying to create the file path
StringCchPrintf for endpoint name failed
StringCchPrintf for random number failed
StringCchPrintf fQCidFilter
StringCchPrintfW failed
StringCchPrintfW failed!
StringCchPrintfW (Wds szRegistryKey) failed
StringCchPrintfW (WinStations szRegistryKey) failed
StringComparer
StringComparison
string constant
string continues past end of file
string continues past end of line
StringFromCLSID
StringFromGUID2
StringFromIID
StringProperty
StringReader
String replace failed
#Strings
STRING_SIZE
string size too big
    strings were only allowed in REG_MULTI_SZ.  They could not be
StringToArgv
StringToByteArray
string too large to process
string too long
String trim failed
string_value
StringWriter
strip-components
str is null
strlstrh8
__strncnt
_strncoll
strncpy_s
_strnicmp
_strnicoll
StrRChrIW
StrRChrW
StrRetToBufW
StrRStrIW
StrStrIW
?Strstr@WSTRING@@QEBAKPEBV1@@Z
StrToInt64ExW
StrToIntExW
StrToIntW
strtok_s
StrTrimW
struct_def
StructDef
struct GlassVertexShaderOutput
struct IXMLDOMDocument3 *__cdecl UnBCL::MSXmlModule::CreateDOMDocument(void)
struct IXMLDOMSchemaCollection2 *__cdecl UnBCL::MSXmlModule::CreateDOMSchemaCollection(void)
struct SimpleVertexShaderOutput
struct UnBCL::ISerializable *__cdecl UnBCL::SerializationStream::ReadObject(void)
Structure-agnostic E1 over packet
Structure-agnostic E3 over packet
Structure-agnostic T1 (DS1) over packet
Structure-agnostic T3 (DS3) over packet
structure members
StructureToPtr
?Strupr@WSTRING@@QEAAPEAV1@XZ
strValue.Length()
StubDllEntry
 s	TunZb
@SUATAUAWH
@SUATAVAWH
@SUATAVH
@SUAUAVAWH
SUAUAVAWH
subgroupBroadcastDynamicId
SUBGROUP_FEATURE_ARITHMETIC_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_CLUSTERED_BIT
SUBGROUP_FEATURE_PARTITIONED_BIT_NV
SUBGROUP_FEATURE_QUAD_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
SUBGROUP_FEATURE_VOTE_BIT
subgroupQuadOperationsInAllStages
subgroupSize
subgroupSizeControl
subgroupSupportedOperations
subgroupSupportedStages
Subject:
subject_name
SubMessageType
SubmitEnclaveThreadPoolWork wait failed
SubmitEngineThreadPoolWorkAndWaitInfinite wait failed
SubmitRequestForData
SubmitRequestForSettings
SubmitThreadpoolWork
SUBOPTIMAL_KHR
subPixelInterpolationOffsetBits
subPixelPrecisionBits
subsampledCoarseReconstructionEarlyAccess
subsampledLoads
SUBSCRIBE
SubscribeFeatureStateChangeNotification
Subscriber-ID
subscriberName
SubscriberNotificationComplete
SubscriberNotificationHung
SubscriberNotificationStarted
SubscribeServiceChangeNotifications
SubscribeToWorkspace
SubscriptionId
Subscription metadata update
Subscription provisioning
Subscription registration
Subscription remediation
Subset advertisement
subsetAllocation
subStatus
subStatusCode
subst.pdb
Substring
?Substring@String@UnBCL@@QEBAPEAV12@HH@Z
?Substring@String@UnBCL@@QEBAPEAV12@H@Z
subTexelPrecisionBits
Subtract
SUBTRACT
SubtractRect
succeeded
Succeeded
SUCCEEDED(m_rgVolumeContext[iVol].m_hrResult)
SuccessCount
Successful
Successfully created the UsoSvc interface
Successfully created the UxUpdateManager interface
sueMa.)!
--summary
Summary advertisement
SummaryHealth
--summary           Show a summary of the instance and GPU's on a system.
SunMonTueWedThuFriSat
:Sun:Sunday:Mon:Monday:Tue:Tuesday:Wed:Wednesday:Thu:Thursday:Fri:Friday:Sat:Saturday
SUPDUP OUTPUT
__super::GetScaleFactor(zoomQuotient)
_@sUpNO;
SupportContent
supported
supportedCompositeAlpha
supportedDepthResolveModes
supportedMOList
supportedOperations
supported qtypes
	Supported Snapshot Options:
supportedSPPVersions
supportedStages
supportedStencilResolveModes
supportedSurfaceCounters
supportedTransforms
supportedUsageFlags
Supported version too low
SupportInteraction
supportsProtected
SuppressedRules
SuppressFinalize
SUPPRESS GO AHEAD
SuppressMessageAttribute
SURFACE_COUNTER_VBLANK_BIT_EXT
SurfaceFormat
SurfaceHubDeveloperModePage_CreateInstance
SurfaceReconstructionHandlerPackDataStartPerf
SurfaceReconstructionHandlerPackDataStopPerf
SurfaceReconstruction_HandlerPackDataUpdateClient
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR
SURFACE_TRANSFORM_IDENTITY_BIT_KHR
SURFACE_TRANSFORM_INHERIT_BIT_KHR
SURFACE_TRANSFORM_ROTATE_180_BIT_KHR
SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
SURFACE_TRANSFORM_ROTATE_90_BIT_KHR
Surface type
Surface types
SusCreateFileRetryIfSharingViolation
Suspend API called
Suspended
 SuspendedAtLaunch
suspendingHandlersInvokedCount
SuspendLayout
@SUVATAUAVAWH
SUVATAUAVAWH
@SUVATAUH
@SUVATAWH
@SUVAUAVH
SUVAUAVH
@SUVAVAWH
@SUVWATAUAVAW
@SUVWATAUAVAWH
SUVWATAUAVAWH
SUVWATAUAVAWL
@SUVWATAUAVH
SUVWATAUAVH
@SUVWATAUAWH
SUVWATAUAWH
SUVWATAUH
@SUVWATAVAW
@SUVWATAVAWH
SUVWATAVAWH
@SUVWATAVH
SUVWATAVH
SUVWATAWH
@SUVWATH
@SUVWAUAVAW
@SUVWAUAVAWH
SUVWAUAVAWH
@SUVWAUAVH
SUVWAUAVH
@SUVWAUH
@SUVWAVAW
@SUVWAVAWH
SUVWAVAWH
@SUVWAVH
@SUVWAWH
@SUWATAUAVAW
@SUWATAUAVAWH
SUWATAUAVAWH
SUWATAUAVH
@SUWATAUAWH
@SUWATAVAWH
@SUWATAVH
@SUWATAWH
@SUWAVAWH
SUWAVAWH
SVATAUAVAWH
@SVATAUAWH
SVATAUAWH
@SVATAVAWH
SVATAVAWH
@SVATAVH
@SVAVAWH
SvchostGroup
SvchostHealthServiceCrash(Aggregate)
SvchostHealthServiceRunning(Aggregate)
SvchostHealthServiceRuntime(Aggregate)
SvchostHealthServiceStart(Aggregate)
SvchostHealthServiceStartFailure(Aggregate)
SvchostHealthServiceStop(Aggregate)
svchost.pdb
SvchostPushServiceGlobals
SvchostPushServiceGlobalsEx
SvchostServiceHang
SvcSkInitSystem
SvcUtil-ServiceStopFailed
svvvvvvvgA
@SVWATAUAVAW
@SVWATAUAVAWH
SVWATAUAVAWH
SVWATAUAVH
@SVWATAUAWH
SVWATAUAWH
@SVWATAVAWH
SVWATAVAWH
@SVWATAVH
SVWATAVH
@SVWATAWH
SVWATAWH
@SVWAUAVAWH
SVWAUAVAWH
@SVWAUAWH
@SVWAVAW
@SVWAVAWH
SVWAVAWH
sVWruwwSewuww
?_Swap_all@_Container_base0@std@@QEAAXAEAU12@@Z
SwapMouseButton
s WATAUAVAWH
SWATAUAVAWH
SWATAUAVH
SWATAUAWH
@SWATAVAWH
SWATAVAWH
s WATAVH
s WATAWH
@SWATAWH
s WAUAVH
@SWAUAWH
s WAVAWH
SwcMF@88m
__swift_1
__swift_2
SwitchDesktop
SwitchDesktopWithFade
SwitchingToCloudExperience
SwitchingToCloudExperiencePostLogon
SwitchToFiber
SwitchToThisWindow
SwitchToThread
swprintf_s
swscanf_s
SxAllocateEventTraceProp
SxBcdGetElementData
SxBcdGetOSDescriptionString
SxCheckDiskViaShell
SxCheckRebootRequired
SxCheckVolumeCompressedEncrypted
SxCheckWBDiagSession
SxClearDifficultAttributes
SxCompressLogFile
SxDeleteDirectory
SxDeleteFile
SxEnableTraceCustom
SxEnableTraceDefault
SxExpandEnvironmentVariable
SxFillRectClr
SxFindDirSizeRecursive
SxFindExistingWindow
SxFindTopLevelWindow
SxGenerateUniqueFileName
SxGet0XLogFileCount
SxGetBootVolume
SxGetDiskExts
SxGetDisplayNameOf
SxGetInterestingVolumes
SxGetNumberAsString
SxGetPresentableVolumeName
SxGetSystemVolumeGlobalPath
SxGetThemeColor
SxGetTimeZoneString
SxGetUniqueVolumeForPath
SxGetUserAccessLevelForHandle
SxGetVolDisplayName
SxGetVolumeDescription
SxGetVolumeIdentifier
SxGetVolumeSize
SxGetWindowsDirectory
SxInitializeCOMSecurityForSPP
SxInitializeUiLib
SxInvokeHelp
SxInvokeHelpViaTable
SxIsBootVolume
SxIsCalendarRtl
SxIsConsoleSession
SxIsDirtyVolume
SxIsElevatedWindow
SxIsLocaleBiDi
SxIsPortableOperatingSystem
SxIsShadowCopyScoped
SxIsUserDefaultLocaleBiDi
SxIsVolumeBitLocked
SxIsVolumeInteresting
SxLoadSystem32LibraryEx
SxLocalSystemTimeToString
SxMergeExtraLogs
SxPaintTopWhitePart
SxQueryBitLockerFlags
SxQueryGroupPolicy
SxQueryPersistentVolumeState
SxQueryTraceSession
SxQueryVolumeHasBackingWim
SxQueryVolumeSpace
SxRegReadDWORD
SxRegReadString
SxRegReadULONGLONG
SxRegWriteDWORD
SxRegWriteULONGLONG
SxRotateLogs
SxSendIoCtlCheckVerifyDevice
SxSetFileAttributes
SxSetProcessPriorities
SxSetRichEditUnicodeText
SxSetupWinREUILang
SxShellExecuteWithElevate
SxShouldCreateScopedSnapshots
SxShowDirtyVolumeDialog
SxShowIcon
SxShowLuaMessage
SxStartTracing
SxStopTracing
sxstrace.pdb
SxTracerDebuggerBreak
SxTracerGetThreadContextRetail
SxTracerShouldTrackFailure
SxTraverseFilesFirst
SxUTCFileTimeDateToStringDate
SxUTCFileTimeToString
SxUTCFileTimeToStringFormatted
SxWaitForSingleObjectWithMsgLoop
sYfD;?tSH
Symantec Corporation1
Symantec SHA256 TimeStamping CA
Symantec SHA256 TimeStamping CA0
(Symantec SHA256 TimeStamping Signer - G3
(Symantec SHA256 TimeStamping Signer - G30
SymbolicLinkValue
SymCleanup
SymCryptGcmAuthPart
SymCryptGcmDecryptFinal
SymCryptGcmDecryptPart
SymCryptGcmEncryptFinal
SymCryptGcmEncryptPart
SymCryptGcmExpandKey
SymCryptGcmInit
SymCryptHmacSha256
SymCryptHmacSha256ExpandKey
SymCryptHmacSha512Selftest
SymCryptInit
SymCryptMarvin32
SymCryptMarvin32ExpandSeed
SymCryptRdrandGet
SymCryptRdrandStatus
SymCryptRdseedGet
SymCryptRdseedStatus
SymCryptRngAesFips140_2Generate
SymCryptRngAesFips140_2Instantiate
SymCryptRngAesFips140_2Uninstantiate
SymCryptRngAesGenerateSelftest
SymCryptRngAesInstantiateSelftest
SymCryptRngAesReseedSelftest
SymCryptSha1
SymCryptSha256
SymCryptSha256Append
SymCryptSha256Init
SymCryptSha256Result
SymCryptSha512
SymCryptSha512Append
SymCryptSha512Init
SymCryptSha512Result
SymCryptSp800_108
SymEnumTypesByName
SymFromAddr
SymFunctionTableAccess64
SymGetLineFromAddr64
SymGetModuleBase64
SymGetModuleInfo64
SymGetModuleInfoW64
SymGetOptions
SymGetSymbolFileW
SymGetTypeInfo
SymInitialize
SymInitializeW
SymLoadModule64
SymLoadModuleExW
Sym PAUSE for fdx
SymRegisterCallback64
SymSearch
SymSetExtendedOption
SymSetOptions
SymUnloadModule64
Synaptics Incorporated0
Synaptics Incorporated1
SyncAppBars failed
SyncAppvPublishingServer.pdb
SyncAtPostLogon
SyncGIDPrefix
SyncGIDsOfFailingSync
SyncGIDUniqueId
        'SyncHost.EXE'
SyncHost.pdb
synchronization2
SYNCHRONIZE
Synchronizer
synchronous
SyncOperation
SyncOperationEnded
SyncOperationFlag
SyncResult
SyncW32Time
?sync_with_stdio@ios_base@std@@SA_N_N@Z
syntax error
SyntaxKey
SynthesizeHGlobalFromStream failed!
Synthetic
SyntheticTrigger
SysAllocString(szEventLogUploadAddress) failed
SYSDM.CPL
?_Syserror_map@std@@YAPEBDH@Z
SysImageGetLogFileNamePrefix
SysImageRetainSuccessLog
SysImgStartTracing
SysImgStopTracing
sysinfo.pdb
SysNotifyStartServer
SysNotifyStopServer
SYSNTFY.dll
SyspartGetPhysicalPartitions
SyspartGetSystemPartition
SyspartIsSpace
SysprepComponent::CreateSysprepActionList: The component node is invalid; this is unexpected
sysprep.exe
SysprepFunctionStart
SysprepFunctionStop
SysprepOnlinePlugins
sysprep.pdb
SysprepRebootPendingPlugins
SysprepSearchForUnattend: No unattend file was specified or located; skipping unattend generalize pass.
SysprepSession::CreateSession: Failed to allocate Sysprep session
SysprepSession::CreateSession: Ran out of memory while creating SysprepSession
SysprepSession::CreateSession: Sysprep online session is not supported under a WOW64 process
SysprepSession::CreateSession: Unrecognized exception
SysprepSession::ExecuteAction: Error bypassed for addKey operation
SysprepSession::ExecuteAction: Error bypassed for deleteDirectory operation
SysprepSession::ExecuteAction: Error bypassed for deleteFile operation
SysprepSession::ExecuteAction: Error bypassed for deleteKey operation
SysprepSession::ExecuteAction: Error bypassed for deleteValue operation
SysprepSession::ExecuteAction: Error bypassed for setValue operation
SysprepSession::ExecuteAction: Error bypassed for startService operation
SysprepSession::ExecuteAction: Error bypassed for stopService operation
SysprepSession::ExecuteAction: Error bypassed for sysprepModule operation
SysprepSession::ExecuteAction: Offline sysprepModule requested reboot
SysprepSession::ExecuteAction: stopService ignoreFailureToStopDependentService invalid.
SysprepSession::ExecuteAction: stopService stopDependentService invalid.
SysprepSession::ExecuteAction: stopService timeout invalid.
SysprepSession::Execute: Encoutered mal-formed XPath; this is not expected
SysprepSession::Execute: Get NULL for EditionId string from registry key
SysprepSession::ExecuteInternal: Found non-offline-capable action to run offline; will need to run it online
SysprepSession::Execute: Ran out of memory while executing actions
SysprepSession::Execute: Unexpected exception; Stack trace:
SysprepSession::Execute: Unrecognized exception
SysprepSession::Validate: Encoutered mal-formed XPath; this is not expected
SysprepSession::Validate: Ran out of memory while executing actions
SysprepSession::Validate: Unexpected exception; Stack trace:
SysprepSession::Validate: Unrecognized exception
SysResetErr.pdb
(system)
SystemBootStop
System Capabilities
System.CodeDom.Compiler
System.Collections
System.Collections.Generic
System.Collections.ObjectModel
SystemColors
System.ComponentModel
System.Core
	SystemCpuUsed
systemDateInFileTimeTicks
System Description
System.Diagnostics
System.Diagnostics.CodeAnalysis
System.Diagnostics.Eventing
System.Diagnostics.Eventing.Reader
System.Diagnostics.Tracing
SystemDiskUsed
System.Drawing
System.Drawing.Drawing2D
System.Drawing.Icon
System.Drawing.Size
SystemErrorReporting
SystemEventsBrokerClient.dll
SystemFolder4
SystemFunction005
SystemFunction029
SystemFunction036
System.Globalization
SystemIcons
SystemIdleTime
SystemImageBackupComplete
SystemImageBackupTwoTBWarning
SystemInformation
System.IO
System.IO.Compression
System.IO.Compression.FileSystem
System Isolation Layer
SystemKernelTime
System Keywords
System.Linq
System.Management
System.Management.Automation
System.Management.Automation.Runspaces
systemManufacturer
SystemManufacturer
SystemMemoryUsed
System Name
SystemNeeded
systemNeededReason
SystemNetworkUsed
System Object ID (not decoded)
SystemParametersInfoW
System Port Number
System.Printing
SystemPrinting
SystemPrng
SystemProcessesTimeout
systemProductName
SystemProductName
SystemPropertiesAdvanced.pdb
SystemPropertiesComputerName.pdb
SystemPropertiesDataExecutionPrevention.pdb
SystemPropertiesHardware.pdb
SystemPropertiesPerformance.pdb
SystemPropertiesProtection.pdb
SystemPropertiesRemote.pdb
System.Reflection
SystemRelativeTime
systemreset.pdb
SystemResetPlatform.pdb
System.Resources
System.Runtime.CompilerServices
System.Runtime.ConstrainedExecution
System.Runtime.InteropServices
System.Runtime.Versioning
System.Security
System.Security.Permissions
System.Security.Principal
System.ServiceProcess
SystemSettingsAdminFlows.pdb
SystemSettingsBroker.pdb
SystemSettingsRemoveDevice.pdb
SystemSettingsThresholdAdminFlowUI.dll
SystemShutdownDuration
SystemShutdownStartTimePerfCounter
		System Stacks
System Stacks
SystemStateManager
System.Text
System.Text.RegularExpressions
System.Threading
System.Threading.Tasks
SystemThreads
SystemTime
SYSTEMTIME
SystemTimeToFileTime
SystemTimeToISO8601String
SystemTimeToTzSpecificLocalTime
SystemUpTime
SystemUserTime
SystemUWPLauncher.pdb
System.Windows
System.Windows.Forms
System.Windows.Markup
System.Windows.Markup.IComponentConnector.Connect
SystemWindowsPresentation
System.Windows.Resources
System.Windows.Xps
SystemWW
System.Xaml
System.Xml
System.Xml.Linq
System.Xml.Schema
System.Xml.Serialization
systray.pdb
s-z"8(DS
szAppend
szAppUserModelId
szEncoded
szEntryPointA
szFilename
*szFormat
szFormat
sZKyjSStfOXhK
szLogFile
szLrpcEndpointName
:szNameWWd
szOutput
szPrefix
szSessionName
szSignature
szSignScope
szTempScope
t0D9m@u*D
t0D9Qpu*D
t0fD9"t*H
t0H9sHt*H
t2D9n0u"
t2H9wPt1H
t3f;0u.A
t3f;C@t-f;CBu
t3fD92t-L
t3fD9*t-H
t3H9Y(u	H
t3LNTTTTTTU
t4@8pAr.H
t4fD92t.I
t4fD93t.@
t4fD9"t.D9e
t4fD9't.E
t4fD9;t.H
t4H9rPt.H9r0t(H
t:-4Mcir
t5I;8u!A
t5;QXs0H
T61((('(1(516622(!
t6f;CBt0H
t6f;)t1L
t7fD96t1D9u
t7fD9.t1A
t7fE9.t1D9m
t7H9X(t1
t?@88t"H
t8fA98t2
t8f;A@t2f;ABu
t8L9W8t#H
 t|@8z)us
t99uot4H
t9A8_xt3H
t9D8B t*L
t9L9s@u3I
):t9!R!D
t#9](u3L
t'A8)t"E
tabcal.pdb
TabItemInteraction
?TableItemPattern@Schema@DirectUI@@2HA
?TablePattern@Schema@DirectUI@@2HA
@TABLERO
TableRootsValidated
TableRootValidation
TABLEROZ
TablesEnumerated
TabUtils::BroadcastSettingChange
TabUtils::IsElevated
TabUtils::IsHighContrastModeOn
TabUtils::IsRTLProcess
TabUtils::TabQueryDWORDValue
TabUtils::TabQueryPolicyValue
TabUtils::TrackPopupMenuExAndRespectHandedness
TabViewed
TACACS UID
tAfA9(t;H
tafD;8t[H
tagRECTW
tAH9Zht;H
takeown.pdb
TAKEOWN_RES_ID_YES
TangentialDistortionCoefficient1
TangentialDistortionCoefficient2
tant distribu
TAPI32.dll
tapiGetLocationInfo
TapiUnattend.pdb
TapiUnattend:There are already some locations (migration ?): discard unattend settings
.tar.bz2
TargetAsId
target does not support relative addressing
TargetFrameworkAttribute
targetId
TargetMetadataVersion
targetServiceName
	targetTimestampMillis
targetTimestampQpc
TargetType
targetUri
.tar.lzma
.tar.lzo
TAR_READER_OPTIONS
TAR_WRITER_OPTIONS
.tar.zst
TaskbarH
TaskbarOutOfSpaceForPin
taskbarPinReason
TaskbarW
TaskbarX
TaskbarY
TaskDialog
TaskDialogCredentialsCallbackProc
TaskDialogDetailedStatusCallbackProc
TaskDialogDirtyVolumeCallbackProc
TaskDialogIndirect
TaskDialogInsertMediaCallbackProc
taskhostw.pdb
taskkill.pdb
tasklist.pdb
Taskmgr.pdb
TaskModified
taskName
TaskName
TaskPrincipal
TaskRegistrationInfo
TaskRunLevel
TaskService
TaskSettings
TaskState
TaskType
TaskUpdateActionBitmask
TBCoreHResult
T-BGFGNQ
tBH9S(u7
Tblllllmmln_
tBL;	rKw@
TBSHashAlgID
Tbsi_Context_Create
Tbsi_GetDeviceInfo
Tbsi_Get_TCG_Log
Tbsi_Get_TCG_Log_Ex
Tbsip_Context_Close
Tbsip_Submit_Command
TbstrEventLogUploadAddressWWW
TBTT Adjustment Request
TBTT Adjustment Response
	    TC Bandwidth Table
TcbLaunch
tcblaunch.pdb
TcbLaunchRamDiskAllocationRetry
TcbLoadEntry
tcbloader.OslGetControlSubkeyCell
tcbloader.OslGetExportRoutineInModule
tcbloader.OslGetStringValue
tcbloader.OslGetValue
tcbloader.OslIsRunningInSecureKernel
TcbResumeEntry
tcfD;8t]H
tcL9w u]
TClientMemoryPool::ReduceBufferSize(): cbCurrent is greater than cbBuffer.
TClientMemoryPool::ReduceBufferSize(): Invalide buffer size.
TClientMemoryPool::ReleaseBuffer(): Invalide buffer size.
tcmsetup.pdb
]tcNPEMMDKJ@l
tcpport_string: strdup(buf)
tcp_print: calloc
t]D81tXH
t[D8aArUH
t|D8y(u|H
t-D92t(E
t?D92t:E
t(D9eHu"E
t@D9nxt:
t;D9	u6H
t|D9uotvH
tD9u(u?H
tdDDDDDDDLx
tDDDDDDDfl
tDDDDDDFwww
tDDDDFVw
tDDDDgwx
tDf9)u8H
TdhEnumerateProviderFieldInformation
TdhEnumerateProviders
TdhFacadeOutOfMemory
TdhFormatProperty
TdhGetAllEventsInformation
TdhGetEventInformation
TdhGetEventInformationFuncPtr
TdhGetEventMapInformation
TdhGetProperty
TdhGetPropertyOffsetAndSize
TdhGetPropertySize
TdhLoadManifest
TdhLoadManifestFromBinary
TdhQueryProviderFieldInformation
TdhUnloadManifest
t-D;mXr'H
t;E8(t6H
TebCreate: User page alloc failed.
techinque
technique
TechRequestedForDeletion
TechsToDelete
@teD9-FV
tED9o4|*M
tEfD91u8H
TeiFromPayload
Telemetry
TelemetryAnchorPriorityManagerHighPriorityAdd
TelemetryAnchorPriorityManagerHighPriorityRemove
TelemetryAnchorPriorityManagerInitialHighPriorityAnchorLoaded
TelemetryAnchorPriorityManagerRemoveError
TelemetryAnchorStatistics
TelemetryAssert
TelemetryAssertDiagTrack
TelemetryCompletionReported
TelemetryCreated
TelemetryDestroyAnchorWhenClientRemoved
TelemetryDisplayHandlerSpatialGraphDeviceNoLongerInUse
TelemetryDisplayHandlerTrackedDisplayAdded
telemetryErrorOption
TelemetryEvent
TelemetryEventSource
TelemetryFailFastGetLastErrorLog
TelemetryFailFastHresultLog
telemetryGroup
TelemetryGroup
TelemetryHeadInitialFrame
TelemetryHeadTrackerFusionModeSet
TelemetryHeadTrackerHandlerStartTrackingResults
TelemetryHeadTrackerPoseQualityModeChanged
TelemetryHeadTracker_RegisterActiveLocationCallback
TelemetryHeadTracker_RegisterLocationCallback_Stop
TelemetryHeadTracker_RegisterLocationWhileLocalCoordinateFrameNotValid
TelemetryHeadTrackingStateChange
TelemetryHeTMapStatistics
TelemetryHolographicDisplayMonitor_EmptyDisplayMode
telemetryInfoOption
TelemetryKeyword
TelemetryLocationRebased
TelemetryOptions
TelemetryProtocolFilter
TelemetryServiceLifetimeBegin
TelemetryServiceLifetimeEnd
TelemetryServiceLifetimeStartState
TelemetrySetDurability
TelemetrySpatialSurfaceObserverUsed
TelemetryTriggerMatched
Telephone
    Telephony Administration Setup
    Telephony Unattend Action
 [telnet 
 tel quel 
TempCleanupState
TempElements.Allocate(NewCapacity)
TEMPERATURE_STATISTICS_LOG_PAGE_array
template
TemplateEventDescriptor
templateFolder
template-parameter-
templatePath
TempNodes.Allocate(UpperIndex - TheElement.Reserved)
temporary
temporary and constant registers are not allowed in assembly fragments
TemporaryFolderWL
TEMP path
TempTempElements.Allocate(NewCapacity)
TenantManager
Terminal-Services-TestCode
TERMINAL TYPE
terminate
TerminatedByActiveHours
TerminatedByBatteryLevel
TerminateEnclave
Terminate failed
Terminate failed!
TerminateFirstSignInAnimation
TerminateJobObject
TerminateProcess
Terminate Process should never be called with NoProblem
TerminateReason
TerminateSession
TerminateThread
?terminate@@YAXXZ
Termination of base CClipRdrPduDispatcher failed!
Termination of receive thread dispatcher failed!
Termination of virtual channel failed!
terminationType
tessellationIsolines
tessellationPointMode
tessellationShader
tessfactor
Tessfactor
TESSFACTOR
TEST: Loading from test XML file '
TestPassCount
Test Purpose
TESTSIGNING
tex1Dbias
tex1Dgrad
tex1Dlod
tex1Dproj
tex1D will considered dependent since texcoord was not declared as at least float2
tex2Dbias
tex2Dgrad
tex2Dlod
tex2Dproj
tex3Dbias
tex3Dgrad
tex3Dlod
tex3Dproj
texcoord
Texcoord
TEXCOORD
TEXCOORDINDEX
TEXCOORDSIZE1_0
TEXCOORDSIZE1_1
TEXCOORDSIZE1_2
TEXCOORDSIZE1_3
TEXCOORDSIZE1_4
TEXCOORDSIZE1_5
TEXCOORDSIZE1_6
TEXCOORDSIZE1_7
TEXCOORDSIZE2_0
TEXCOORDSIZE2_1
TEXCOORDSIZE2_2
TEXCOORDSIZE2_3
TEXCOORDSIZE2_4
TEXCOORDSIZE2_5
TEXCOORDSIZE2_6
TEXCOORDSIZE2_7
TEXCOORDSIZE3_0
TEXCOORDSIZE3_1
TEXCOORDSIZE3_2
TEXCOORDSIZE3_3
TEXCOORDSIZE3_4
TEXCOORDSIZE3_5
TEXCOORDSIZE3_6
TEXCOORDSIZE3_7
TEXCOORDSIZE4_0
TEXCOORDSIZE4_1
TEXCOORDSIZE4_2
TEXCOORDSIZE4_3
TEXCOORDSIZE4_4
TEXCOORDSIZE4_5
TEXCOORDSIZE4_6
TEXCOORDSIZE4_7
texCUBEbias
texCUBEgrad
texCUBElod
texCUBEproj
texdepth
texdp3tex
texelBufferAlignment
texlod not supported on this target
texm3x2depth
texm3x2pad
texm3x2tex
texm3x3pad
texm3x3spec
texm3x3tex
texm3x3vspec
texreg2ar
texreg2gb
texreg2rgb
			text-align: right;
TextBoxBase
TextCompareWX
text file busy
textFiles is one or more ANSI or Unicode text files with registry data.
--text              Produce a text version of vulkaninfo output to stdout. This is
TextReader
			text-shadow: 4px 4px 5px #000;
tEXtSoftware
texture1D
texture2D
Texture2D g_texBackground;
Texture2D g_texWindow;
texture3D
texture BgTexture       : TEXTURE1;
textureCompressionASTC_HDR
textureCompressionASTC_LDR
textureCompressionBC
textureCompressionETC2
textureCUBE
TEXTUREFACTOR
texture loads or clips cannot be from inputs not marked TEXCOORD
TEXTURETRANSFORM
TEXTURETRANSFORMFLAGS
texture WindowTexture   : TEXTURE0;
TextWriter
 tf@8r)u	
t.f92t)H
t@f93t;L
t;f99t6H
t-fA;0t'I
t@fA9HFt9
t:fA9(t4H
t?fA9(t9H
tfc_padding_not_supported
TF_CreateLangBarMgr
t;fD;1u5
t:fD90t4L
t:fD93t4H
t|fD96tvA
t?fD97t9H
t.fD97t(H
t;fD98u5H
tfD9k u4
tFD9N@t@L
t'fD9 t!3
t:fD9?t4H
t-fD9*t'D9i
t-fD9't'H
t)fD9?t#L
t;fD9 u5M
tFDDDFLL
t-fD;!u'H
*t-fE9LR
t@fE9(t:H
tFfD;0t@H
tFfD9qBu
tFfD9;t@
tfFDDDDDD
t*-fgg1y
TFileSystemWW
tfL3_"|Y
tFM;;u2H
TFTP Aborted
T"-GclU#r
tgD9y(taM
tgfD92ta3
tgH!_0H!_8!_@!_DH!_H
tGtDDDDD
tgvDDDDD
tgvDDDDDL
t-H9O t'H9O
t'H9pPt!H9p0t
t)H9pPt#H9p0t
t)H9qPt#H9q0t
t:H9s0t4H9s@t.H
t_H9;u0L
The Activate method must have previously succeeded and set webInstanceThreadingHelper.
The available GPUs are in the range of 0 to 
                    the default output.
The Destination STA is not a QSTA.
The error code description specified is longer than MaxErrorCodeStringLength
The error count is zero becuase the TaskErrorCount value does not exist.
The file is not empty
    the following two lines are identical:
The InitializeWebInstanceThreadingHelper must have previously succeeded and set webInstanceThreadingHelper.
The input parameter pCallObject is NULL.
The lpParam parameter is null
?ThemeChange@HWNDElement@DirectUI@@SA?AVUID@@XZ
ThemesOnCreateSession
ThemesOnDisconnect
ThemesOnEarlyCreateSession
ThemesOnLogoff
ThemesOnLogon
ThemesOnReconnect
ThemesOnTerminateSession
ThemeWatchForStart
The only available GPU selection is 0.
The path is not valid
The path was not provided
The pipeline is already operating
    the previous key at or above the value's indentation level.
The product platform extension registry is invalid. There are multiple extensions and no default registered for the extension point.
The pUnk passed in should not come from an IPartPage
The reader is empty
There are no applicable updates to install
There are no filters in the pipeline.
There are no more parts associated with the page.
    The REGDMP program uses indentation in multiples of 4.  You may use
There is no update bundle to install
There must be an Unregister call corresponding to a Register call before destruction.
The request has been declined
The request has not been successful as one or more parameters have invalid values
There should be only one update to install
ThereWasAnInvalidSyncGIdError
The riid passed in is not supported
The selected gpu (
    the SimpleDWM assessment.  (Simple and glass readback rendering.)
The size of the policy buffer is less than sizeof(DWORD)
The TrueType Collection font data is too small.
The TrueType font contains data that is out of range
The TS has not been created because the request cannot be honored. Try again with the suggested changes to the TSPEC
	The user can specify up to 64 profiles on the command line.  Each profile is specified as:
    The value name may be left off or be specified by an at-sign
The volume is thinly provisioned.
The workItem and coreDispatcher must both be set or unset.
TheXDotPs1
                    they will always print format properties.
thf97tcM
thfD;1ub	
tHH;0u4H
tHH;2u4H
Thin provisioning slabs are not cluster aligned. Disabling thin provisioning.
ThirdPartySignedWinLoadDriverLoadSuccessAudit
This application has requested the Runtime to terminate it in an unusual way.
This break is recoverable. If you let it go we will continue starting the task.
This break is recoverable. If you let it go we will continue to wait on the task to complete.
__thiscall
This controller does not provide debug capability.
This error is fatal. The application will terminate
    This file implements the basic vertex and pixel shaders needed by
    This file implements the vertex and pixel shaders needed to support the 
This function cannot be called on a default constructed task
This function should only be called once at shutdown of the process.
This function should only be called once at the start of the process.
This indicates a bug in your application.
This is a multi-part message in MIME format.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
!This program cannot be run in DOS mode.
    This syntax means that you can't create a value with leading or
This version of XPS PUSH does not support OpenXPS.
tHM;;u2H
_Thrd_detach
_Thrd_id
_Thrd_join
_Thrd_sleep
Thread32First
Thread32Next
Thread cannot be null
ThreadCount
thread descriptor creation failed in bind path
THREAD_DONE_KHR
ThreadExitCode
threadId
ThreadId
THREAD_IDLE_KHR
Thread initialization failed
ThreadMsgLoop failed
ThreadMsgWaitForMultipleObjects failed
ThreadMsgWaitForMultipleObjects failed!
ThreadPriority
ThreadPriorityBumpCount
thread processing vCPUs to TTD tracing. The more vCPUs the more likely it is
ThreadSafetyFailCritical
ThreadStart
ThreadWaitForSingleObject failed
ThreatProtectionHealth
ThreatProtectionStatus
threshold
Throttle
Throttled
ThrottleMonitor
?_Throw_C_error@std@@YAXH@Z
?_Throw_Cpp_error@std@@YAXH@Z
ThrowExceptionForHR
?ThrowLastError@Win32Exception@UnBCL@@SAXPEBGPEBDH@Z
?ThrowLastError@Win32Exception@UnBCL@@SAXPEBVString@2@PEBDH@Z
_ThrowMemoryException_
ThumbnailExtractionHost.pdb
[thunk]:
Thursday
tIArgumentsWW
TicketConsumedWW
TicketFailureType
TicketReadyW
ticksSinceBoot
@tID9k(u8
tiddddiiidddtd
tiE;FDwcA
tieqq_Ey
TieredVolumeArrival
tieredVolumeBytesPerCluster
tieredVolumeCsvGuidRoothPath
tieredVolumeCsvGuidRootPath
TieredVolumeDismount
tieredVolumeGuid
TieredVolumeMountHeatEventLoss
TieringEngineService.pdb
TieringHeatSession::ClearPinnedFlagForFileId
TieringHeatSession::DeleteRecordsWithGivenFileId
TieringHeatSession::GetFileTieringStateNonPinned
TieringHeatSession::GetHeatRecord
TieringHeatSession::GetHeatRecordsByIndexNumber
TieringHeatSession::GetMovementsListForDiskOptimizer
TieringHeatSession::GetSpaceUsedForTier
TieringHeatSession::GetSpecificHeatRecord
TieringHeatSession::SetHeatRecordExternally
TieringHeatSession::SetVolumeInfoOnReservedRecord
TieringHeatSession::UpdateRecordsGivenPlacementList
TieringJetDatabase::CloseDatabase
TieringJetDatabase::Initialize
TieringJetDatabase::WaitForDatabaseClose
TieringJetError
TieringJetSession::OpenJetTable
TieringJetSession::OpenJetTableInternal
TieringMovementSession::CreateMovementTables
TieringMovementSession::DeleteMovementTables
TieringMovementSession::Teardown
TieringPinnedSession::AddOrUpdatePinnedRecord
TieringPinnedSession::ClearPinnedRecordGivenFileId
TieringPinnedSession::GetFilePinnedState
TieringPinnedSession::GetPinnedFilesListByRow
TieringPinnedSession::MigratePinnedDatabaseToDscAttribute
TierOptimizationReport
tif9*tdH
tIfD99tCH
TiffPrintDC
timeAsString
TimeBase
TimeBaseSuffixes
timeBeginPeriod
timed out
timed_out
timedOut
TimeElapsed
TimeElapsedSinceLastAccountingMs
timeEndPeriod
time exceeded in-transit
TimeInOverTemperature_Index
TimeInUnderTemperature_Index
timelineSemaphore
Timeloop
TimeloopInitiated
timeoutHit
TimeoutInMilliseconds
TimeoutInMs
Timeout Interval TLV
timeoutmSecs
timeoutPattern
timeout.pdb
TimeoutW
timeout waiting for process to exit
_timer.SetDueTimeFromNow(timeoutMs)
TimeServiceAssessmentEnd
TimeServiceAssessmentStart
TimeServiceStatus
timeSinceLastInput
TimeSinceLastSuspendInMilliseconds
TimeSinceLastWake
TimeSpan
TimeSpanArrayProperty
TimeSpanProperty
timestamp
Timestamp
TimeStamp-2048-30
TimeStamp-2048-60
timestampComputeAndGraphics
timestamp_echo
Timestamp of assessment run
timestampPeriod
time stamp reply
time stamp request
timestampValidBits
timesync.dll
TimeSyncPlugin-W32TimeSyncNowFailed
timeTaken
Time to Live
TimeToWakeNext
TimeTrigger
TimeZoneId
TimeZoneKeyName
TimeZoneRule
TimeZoneSync
TimeZoneSyncExceptions
TimeZoneSyncTask
TimeZoneSyncTask.Core
TimeZoneSyncTask.Data
TimeZoneSyncTask.Resources.resources
TimeZoneSyncTask.Utils
TimeZoneSyncTelemetryLogs
TImgPipelineManager::CreateEvent() : CreateEvent failed.
TImgWriterFileItem CTOR OpenThreadToken failed with unexpected error
TIMING MARK
TitleLabel
tjD9hludD8hht	D
tJE9w8tDH
tjf9(teI
tJf9)tEL
tJfD90tDL
tjfD9)tdL
tjH99teE
tjiijti	
tJ;K |EH
tK9oHtFH
TK?ceilmooi
tKfD9:tEM
t:L!8L!x@L
t:L9I8u4M
t@L9J t:Hc
t(L9mPt"
tLf93uGH
tLfD9"tFH
TlgAggregateSummary
__TlgCV__
tlH9N tfH
tLH9p0uQH
TLOSS error
TL#s3*B:
TlsAlloc
TlsGetValue
TlsSetValue
TlsSetValue failed
Tlsy4cb|F
 (TLV goes past the end of the packet)
t-M9Q(t'H
t.M9Q(t(H
TmCheckSpecialProcess
TmColHeaderItem::Create
TmColHeaderItemInvokePatternProxy::DoMethod
TmCombinePath
TmCommandBar::Initialize
TmCommandBar::InvokeMenu
TmCommandBar::_LoadIcon
TmCommandBar::UpdateAppsViewButton
tmD8.thL
TmEndTaskHandler::CloseProcessHandle
TmEndTaskHandler::CloseProcessHandles
TmEndTaskHandler::_CreateKillProcess
TmEndTaskHandler::_CreateKillService
TmEndTaskHandler::_CreateKillWindow
TmEndTaskHandler::_EndTaskProcess
TmEndTaskHandler::_GetObjectTypeInfoForHandle
TmEndTaskHandler::_InitiateCloseProcessHandles
TmEndTaskHandler::_QueueKillItem
TmEndTaskHandler::QueueKillProcess
TmEndTaskHandler::QueueKillService
TmEndTaskHandler::QueueKillWindow
TmExpandEnvironmentVariables
tmf90thf9
tmfD92tgH
TmForceModulePageOut
TmFormatMessage
TmFormatMessageBuffer
TmGetAccnameFromItemType
TmGetDescriptionFromVersionInfo
TmGetDescriptionFromVersionInfoEx
TmGetDetailsFromCrudeCmdLine
TmGetLocalizedLogoPath
TmGetLocalTimeFromSystemTime
TmGetProcessCommandLine
TmGetPublisherFromVersionInfo
TmGetStringFromVersionInfo
TmGetTimeAsString
tMH;0u	@
TmImageUtils::GetDefaultIcon
TmImageUtils::GetPendingIcon
TmImageUtils::_LoadImageFileAsIcon
TmImageUtils::LoadImmersiveIcon
TmImageUtils::LoadUserIcon
TmImageUtils::SingletonInitOnce
TmLegendElement::Create
TmLoadFileVersionInfo
Tm_lSnapshotsCountWWW 
Tm_lSnapshotsCountWWWx
TmManualParseCmdLine
TmPage::OnNavigateTo
TmPage::Setup
TmParserErrorCB
TMP: CUSTOM event received.
TMP: GUID_IO_DEVICE_BECOMING_READY event received.
TMP: GUID_IO_DEVICE_EXTERNAL_REQUEST event received.
TMP: GUID_IO_DISK_LAYOUT_CHANGE event received.
TMP: GUID_IO_MEDIA_EJECT_REQUEST event received.
TMP: GUID_IO_VOLUME_DEVICE_INTERFACE event received.
TMP: GUID_IO_VOLUME_DISMOUNT event received.
TMP: GUID_IO_VOLUME_DISMOUNT_FAILED event received.
TMP: GUID_IO_VOLUME_LOCK event received.
TMP: GUID_IO_VOLUME_LOCK_FAILED event received.
TMP: GUID_IO_VOLUME_MOUNT event received.
TMP: GUID_IO_VOLUME_PHYSICAL_CONFIGURATION_CHANGE event received.
TMP: GUID_IO_VOLUME_UNLOCK event received.
TmpNodes.Resize(cNecessary)
TmPrintOrFormatBuffer
TmPrintOrFormatBuffer_2Digits
TmpStatus
tmptmptmI
TmRegGetSZAndExpSZValue
TmRegKeyEnum
TmRowTextElement::Create
TmRowTextGridItemPatternProxy::DoMethod
TmRowTextTableItemPatternProxy::DoMethod
TmRunAsInteractiveUser
TmScrollViewerGridPatternProxy::DoMethod
TmScrollViewerSelectionPatternProxy::DoMethod
TmScrollViewerTablePatternProxy::DoMethod
TmShowErrorMessage
TmSingleInstance::LockSingleInstance
TmSpecialProcesses::_ExpandProcessPaths
TmSpecialProcesses::InitProcessPaths
TmSpecialProcesses::IsDllhostPath
TmSpecialProcesses::IsSidebarPath
TmSpecialProcesses::IsTMPath
TmSystemTimeToULongLong
TmSysTrayIcon::CreateTrayListenerWindow
TmSysTrayIcon::_FormatTrayToolTipText
TmSysTrayIcon::InitializeTrayIconsInSystray
TmTraceControl::AttachDataMonitor
TmTraceControl::DeferredStart
TmTraceControl::ForceRenderUI
TmTraceControl::GetImageName
TmTraceControl::InitializeControl
TmTraceControl::Start
TmTraceControl::Stop
TmTraceControl::Update
TmTraceControl::Validate
TmULongLongToLocalTime
TmWindowProc
TNotifyDataObject
ToastThrottling
toast type
ToBase64
ToBitmap
ToDateTime
ToDictionary
TODO: Write something interesting here
tOEkDm:8
tofD91ui
tOfD9:tID
tofD9"tiH
ToggleAlwaysOnTop
togglekeys
ToggleTrace
_ToggleVolumeState
tOH;G vIH
TokenBrokerCookiesExeError
TokenBrokerCookiesExeInput
TokenBrokerCookiesExeResult
TokenBrokerCookies.pdb
TokenPrivileges.AllocateWithExtraBytes(cbToAllocate)
TokenRing
TokenStoreError
TokenValue:Empty
ToLocalStandardTime
ToLocalTime
_tolower
ToLowerInvariant
?ToLower@String@UnBCL@@QEBAPEAV12@XZ
to not adversely impact thread switching. However with more vCPUs the memory impact
too_busy
too few bytes in signature
Too large size
ToolDllNotFound
ToolEntryNotFound
Tooling Info
ToolInitFailed
TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT
TOOL_PURPOSE_DEBUG_MARKERS_BIT_EXT
TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT
TOOL_PURPOSE_MODIFYING_FEATURES_BIT
TOOL_PURPOSE_PROFILING_BIT
TOOL_PURPOSE_TRACING_BIT
TOOL_PURPOSE_VALIDATION_BIT
too many arguments to target TX
too many files open
too_many_files_open
too many files open in system
Too many IDs to filter exceed the EVENT_FILTER_EVENT_ID structure capacity
too many links
too many nested #includes
too many outputs to target TX
Too many smooth coordinate frames!
too many symbolic link levels
too many texture loads and reads from texcoords
			top: -10px;
			top: 80px;
			top: 8px;
Topology change
Topology Change
Topology change ACK
to repair
?TossElement@ElementProvider@DirectUI@@UEAAXXZ
?TossPatternProvider@ElementProvider@DirectUI@@QEAAXW4Pattern@Schema@2@@Z
to-stdout
ToString
?ToString@Exception@UnBCL@@UEBAPEAVString@2@XZ
?ToString@Int32Ops@UnBCL@@SAPEAVString@2@H@Z
?ToString@MultiSz@UnBCL@@QEBAPEAVString@2@G@Z
?ToString@MultiSz@UnBCL@@UEBAPEAVString@2@XZ
?ToString@Object@UnBCL@@UEBAPEAVString@2@XZ
?ToString@StringBuilder@UnBCL@@UEBAPEAVString@2@XZ
?ToString@String@UnBCL@@UEBAPEAV12@XZ
?ToString@Type@UnBCL@@UEBAPEAVString@2@XZ
?ToString@Version@UnBCL@@UEBAPEAVString@2@XZ
TotalBackupSizeMB
TotalBackupTimeSeconds
totalBytes
totalCount
totalDiskHeatClusters
TotalEntriesFlushed
TotalErrorStatuses
TotalFilesCopied
TotalFilesScanned
totalFlashClusters
	totalFlashHeatClusters
totalHits
totalIOsPinnedDiskCurrentlyFlash
totalIOsPinnedFlashCurrentlyDisk
TotalRegistrationTime
TotalResetCount
TotalSettingsCount
TotalSize
TotalSystemCPU
	TotalSystemDisk
	TotalSystemMemory
	TotalSystemNetwork
TotalTableRoots
TotalTables
totalTime
totalUpdateSizeInMb
ToUInt64
ToUpperInvariant
?ToUpper@String@UnBCL@@QEBAPEAV12@XZ
	tout ce qui est reli
ToUtcTime
. Toute utilisation de ce logiciel est 
ToWindowsProjection
towlower
towupper
tp@8yirj
TpAllocAlpcCompletion
TpAllocIoCompletion
TpAllocPool
TpAllocTimer
TpAllocWait
TpAllocWork
TpCallbackMayRunLong
tPf90tKH
tpf99tkH
tPfD9.tJI
T)pFn-@Q
tpguidValueWW 
tpL;'tkH
TpmApiCheckSecureNVIndex20
TpmApiCreateSecureNVIndex20
TpmApiCreateSrk20
TpmApiDrtmGetSigningKeys
TpmApiGetKeyPublicProperty20
TpmApiGetTpmVersion
TpmApiIsCurrentStatePolicyAuthorized20
TpmApiReadPublic20
TpmApiSeal20Ex
TpmApiSealPolicyAuthorized20
TpmApiUnsealEx
TpmApiUnsealPolicyAuthorized20
TpmClearWithPolicyOrPPI
TpmCoreProvisioning.DLL
TPM Error
TpmGatherLogs
TpmGetCapLockoutInfo
TpmGetDeviceInformation
TpmInit.pdb
TpmTool.pdb
TpmVCardCreate
TpmVCardDestroy
TpmVscMgr.pdb
TpmVscMgrSvr.pdb
.tPolicy
TpPostWork
tpppxxxz
tPreferenceFlagWW
TpReleaseAlpcCompletion
TpReleaseIoCompletion
TpReleasePool
TpReleaseTimer
TpReleaseWait
TpReleaseWork
TPropertyBagWrapper::TPropertyBagWrapper() OpenPrinter() failed.
TpSetPoolMinThreads
TpSetTimer
TpSetTimerEx
TpSetWait
TpSimpleTryPost
TpStartAsyncIoOperation
TpWaitForAlpcCompletion
TpWaitForIoCompletion
TpWaitForTimer
TpWaitForWait
TpWaitForWork
t?p	xUK5
tQf;7tLH;
tQf9*vLE
tQfD9 tK
tQH9MXt'H
.Tqndi@M
TQUERY.DLL
trA90tXE9 t5voA
trA9.tmD
TraceCollectedWhenLocked
TraceCollectionOverLockStarted
?Trace@CTraceProvider@@QEAAXW4TRACE_FLAG@@PEBGKPEBX1PEAD@Z
TraceDeregisterExA
TraceError
TraceEvent
TraceFullShutdownInfoVerbose
TraceInfo
TraceInformation
            "TRACE_LEVEL_WARNING"
tracelog -flush selfhostcritical
TraceLogging
Tracelogging activity not started.
TraceLoggingInfo
traceLoggingMessage
TraceLoggingRegister Failed
TraceManager
TraceMessage
?TraceMessage@CTraceFailureHelper@@QEAAXPEBGZZ
?TraceMessage@CTraceHelper@@QEAAXW4TRACE_FLAG@@PEBGZZ
TraceMsg
TracePrintfExA
TraceQueryInformation
TraceRegisterExA
traceroute
tracerpt.pdb
TraceSetInformation
TraceStartFailed
TraceType
TraceW1 failed
TraceWarning
trackedDisplayCount
	trackerMode
trackingInfo
TrackPopupMenu
TrackPopupMenuEx
	     Traffic Class: 0   1   2   3   4   5   6   7
Traffic Engineering
Trailing name count was less than WudfRefStringMax
TransactionalConflict
TransactionalConflictIsOk
TransactionId
TransactNamedPipe
TransformBatteryReport
transformFeedback
transformFeedbackDraw
transformFeedbackPreservesProvokingVertex
transformFeedbackPreservesTriangleFanProvokingVertex
transformFeedbackQueries
transformFeedbackRasterizationStreamSelect
transformFeedbackStreamsLinesTriangles
Transforms
TransformSleepStudyReport
TransformSystemSleepDiagnosticsReport
(transient only)
Transient sharing violation at NtCreateFile
Transient sharing violation at NtSetInformationFile
transitinfo
transition
Transition
TransitionEvent
Transitioning
transitions
TransitionTransform
TranslateAcceleratorW
TranslateMessage
Translationally bridged VLANs TLV
Transmission of new formats to the peer failed!
Transparent Bridge
transport
TRANSPORT_STATISTICS_LOG_PAGE_array
transpose
?Traverse@FSN_DIRECTORY@@QEBAEPEAXPEAVFSN_FILTER@@PEAVPATH@@P6AE0PEAVFSNODE@@2@Z@Z
TrayErrorEvent
trayEvent
TrayEvent
trayEventId
?TreeItemControlType@Schema@DirectUI@@2HA
TreeSetNamedSecurityInfoW
TreeView_GetCheckedProcessCount
TreeView_KillCheckedProcess
tRf9)uMH
tRfD96tLL
triangleFans
Tried to delete WinLogonActivity Activity when there was none.
TriggerCollection
TriggerDecode
TriggerlessMatched
TriggerListener
TriggerMatched
triggerName
TriggerSerialize
TriggerStorageCleanup
TriggerType
?TrimEnd@String@UnBCL@@QEBAPEAV12@PEBG@Z
?TrimLeft@CHString@@QEAAXXZ
trimmedArg
?TrimRight@CHString@@QEAAXXZ
?TrimRight@MutableString@UnBCL@@QEAAXPEBG@Z
TrimStart
?TrimStart@String@UnBCL@@QEBAPEAV12@PEBG@Z
?Trim@String@UnBCL@@QEBAPEAV12@PEBG@Z
?Trim@String@UnBCL@@QEBAPEAV12@XZ
TristateFalseWWW 
TRNSZERO
TroubleshootActivationPage_CreateInstance
trRRPswx
?trrxrntn
TRunBlbBackupWizard
?TruncateBase@PATH@@QEAAEXZ
 [truncated-option]
?TruncateNameAtColon@PATH@@QEAAXXZ
?Truncate@WSTRING@@QEAAKK@Z
TrustedStoreTamperOrError
TRUST_E_NOSIGNATURE
TrustletIdentity
TryAcquireSRWLockExclusive
TryActivateContractExtension
TryCreateProvisioningFileManagerOnPPKGFailed
TryDeleteFile
TryDeleteFiles
TryEnterCriticalSection
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYZ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyZyyyY
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyYzyyi
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyy'yyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.yyyyyyyyy.y
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyZ
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyy]yyyyyyyyyyyyyzyyyyyyyyy
yyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
yyyyyyyyyyyyyyyyyyyYzyimyyYiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyYyyyyyyyyyyyyyyyyyyyyyyyyyyyW
yyyyyyyyyyyyyyy[yyyYZ
yyyyyyyyyyyyyyyyzyyy
yyyyyyyyyyyyyyyyzyyy)
Yyyyyyyyyyyyyyyyzyyy
yyyyyyyyyyyyyyyyzyyy5
Yyyyyyyyyyyyyyyyzyyy5
yyyyyyyyyyyyyyyyzyyy5ZD
yyyyyyyyyyyyyyyyzyyya
yyyyyyyyyyyyyyyyzyyyE
yyyyyyyyyyyyyyyyzyyyE]D
yyyyyyyyyyyyyyyyzyyyeRD
yyyyyyyyyyyyyyyyzyyym
yyyyyyyyyyyyyyyyzyyy-RD
yyyyyyyyyyyyyyyyzyyyU
yyyyyyyyyyyyyyyyzyyyUUD
yyyyyyyyyyyyyyyyzyyyY
yyyyyyyyyyyyyyyZyyy
!yyyyyy'.yy-.yyyyyyZ|
yyyyyyyyyyyyz
yyyyyyyyyyyyZ
yyyyyyyyyyyyz|B
yyyyyyyyyyyy!zw
yyyyyyyyyyyyzyyy
yyyyyyyyyyyyzyyy	
yyyyyyyyyyyyzyyy!
yyyyyyyyyyyyzyyy)
yyyyyyyyyyyyzyyy-
yyyyyyyyyyyyzyyy]
yyyyyyyyyyyyzyyy5
yyyyyyyyyyyyzyyy9
yyyyyyyyyyyyzyyyA
yyyyyyyyyyyyzyyyE
yyyyyyyyyyyyzyyye|D
yyyyyyyyyyyyzyyyI
yyyyyyyyyyyyzyyym
yyyyyyyyyyyyzyyyM
yyyyyyyyyyyyzyyypyyy
yyyyyyyyyyyyzyyypyyyUPD
yyyyyyyyyyyyzyyyq
yyyyyyyyyyyyzyyyQ
yyyyyyyyyyyyzyyyqyyy
yyyyyyyyyyyyzyyyqyyy1
yyyyyyyyyyyyzyyysyyy
yyyyyyyyyyyyzyyysyyy!LD
yyyyyyyyyyyyzyyysyyyYHD
yyyyyyyyyyyyzyyyu
yyyyyyyyyyyyzyyyy
yyyyyyyyyyyyzyyyY|
yyyyyyyy? |yz
yyyyyyyyyz)yyyy
yyyyyyyyZ
yyyyYyyyzyy
yyyyyyyyzyyy
yyyyyyyyzyyyxyyy
yyyyyyyyzyyyxyyyU*
y|yyyyyyyzyyyyyyy|yyyyyyy
yyyyyyyyzyzyzyzy5
yyyyyyyzyx)yyyy
yyyyyyy)zyy
yyyyyy?z
yyyyyy?zxyyyyyy
yyyyyyzy
yy|yyyyzy|kyyyyyyyyyyyyyyyy_y
yyy!yyyzyyyyyyyxyyyyyyyyyyyyyyyyyyy
yyyyyzyx)yyyy
]yyY]yyZ]yyQ]yyR]yy
yyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy.
yyyy!zyy
yyyyzyyJ
yyyYzyyQyyyoyz
yyyyzyyy
yyyyZyyyYyyy]yyy
yyyyzyyyyyy|yyyyxyxryyyyyyyyyyyyyyyy_y
yyyyzyzyyyyy1
yyyzHEH?H
yyyzI9I?I
yyyzIeIUI	I
yyyzIeIZIRIIIMIAI
yyyzIkI[IKIRH
yyyZIPI8I4I
yyyzIsIdI_I.I
yyyzIuIlIQIHICI:I(I#I
yyyZJKNO@yy8-5CIIN;?JAIyyyy -
yyyZKyyy
YyyzXyyUXyy(Xyy
yyyzyoyayyyIyHyKyJyMyLyOyNyAy@y8y
yyy#zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy'zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy;zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy?zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy[zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyy_zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
yyyzyyyqyyyyxyyzyyy
yyyZyyyQyyy[yyyTyyyWyyyUyyyyyyy
yyyzyyyyyyyyy|yyyyyyyyyyyyyyyyy
yyyzyyyyyyyyy|yyyyyyyyyyyyyyyyy1yyyyyyy-yyyyyyy
yyyzyyyyyyyyy|yyyyyyyyyyyyyyyyyAxyyyyyy
yyyzyyyyyyyyy|yyyyyyyyyyyyyyyyyYxyyyyyyMxyyyyyy
yyyzyyyyyyyyyyZyyy
yyyzyyyyyyyyyyZyyyo
yyyzyyyyyyyyyzyyyyyyyyyyyyyyyyy
yyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyAxyyyyyy)xyyyyyy
yyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyi|yyyyyy
yyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyIyyyyyyyMyyyyyyy
yyyzyyyyyyyyyzyyyyyyyyyyyyyyyyy)xyyyyyy
yyyzyyyyyyyzyyyyyyyyyyyyyyyyyyy
YYZB@OQQAOK
YYZDOCMHZN
YYZFMMY_CC@S_
YY[_ZKD_CY_ZMA
***YYZMFJQ
YYZOJG[CADCD
yyZPVSGQZ
yyzwAeQG
yyzxxVTSHz
yyZ-|yFw
yYzyy9i0
 yyz#yyb#yyI#yy0#yy
)yyz(yye(yyL(yy7(yy
)yyz(yye(yyL(yyE
!yyZ!yyG!yy.!yy	!yy
yy!zyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
.yyz!yyl!yyP!yy:!yy.!yy
yyz	yyX	yy
yy|zyyyyy
yyzyyyyy
yyzyyy:yyy
)yyz(yyY(yy*(yy
|yyzyyyyyyymyyyyyyyyyyyyyyyyyyy
|yyzyyyyyyyyy[yyyyyyyyyyyyyyyyy
!yyz yyZ yy9 yy
yy	zyyzyyyyyyyyymyyyyyyyyyyyyyyyyy
yy	zyyzyyyyyyyyymyyyyyyyyyyyyyyyyyIyyyyyyyQyyyyyyy
YY[[[Z[[[Z[[[Z[[["[[[E[[[Y[[[[Z[[k5[[;
:||y;||Z;||;;||
|[[y[[[_Z
|[[y[[[_Z#
-@@@@]Y]]z
@@@@]Y]]z
[[[Y[[[z[[[
!)))]]YZ
.)))]]YZ
@@@@]Y]]Z
yz0Uxhxx
yZ1llllllllmllllOllylm
|yz5199)
yz646764
Y|||Z||8F||
|yz8Hzxxxxxxxxxxxxx8xx8V
yz8x-H|F;
yz8xHl@8
yz8xHlp8C
yz8xH zw
yz8xKMLX
yz8xxxxx
|yz(8zxxxxxxxxxxxxx8xx
|yz9@x9x
y@z@@A@AAacoo
YZAB[MCMYKS]G]
YZABZMEKC@N
YZACYQ@L
)))@[YZACZ[A
@[YZACZ[A
YZADGPA]
YZAEZFAN
YZAFEGHA@P
)))Y_ZAH
YZAJLGQZ_ELP[
[@Y]ZALE
yZALEE))
Y[@_ZALEE@GZ]HEELMH]
yzALEEk[
y)))@ZALEEM@ZYH]JA
!y-ZALEEuFYLGuJFDDHGM
yza@MLkPYHZZ))
y;Z@@@@B
YZBDMCEZ[
YZBECHKH
YZB@EEvOF[vEFFY))
YZBHPXB_]X
YZBHQXC[
YZBJEBYN
YZBJLYSLLD
YZ_BLSAKC_
Y@ZBM[MCDKZS
YZC_]BMBZ@@
Y[ZCGDQY
YZ_CHAGX
@YZC[J_B
YZC@]]_SSG
YZCZ]]J_
YZDDMPANM_M_PZ[
Y]Z_DEGMCJXCQKH
@YZDGB_S
@YZDGHXXPYL
yzd@GL[jFDKFyH[HDL]L[Z
yZDH[ZAHE
yzdL]L[Y[L]L[
Y]ZDLPGD
[YZDMMJ@CB
YZDN]]HCKCPDS
)))YZDPHGDH[
YZd[[[[y[[[
YZD]ZP_O]D
Y@Z@EBHv[HSGFZ@EBH
Y@Z@EBHv[HSZ@EBH
yZ[]EDF_
yze@]]ELlG))
yze@]]ELlGNLG))
yZeFFY))
yZeFHM))
yZEFHME@K
yZeGBo@EL
yzeGByL[Z@Z]LGJL
YZ[EXMOKYXBJCQZCNYAA
[YZEZCKBXSQ]APNASO
YZf'dgfG
YZFEKNMH
yzfKCLJ]))
YZFKCLJ]
YZFLOH_SA
|yzfmzxx
YZFNC]OCP
yZfOJmFJ
@YZ@FQBYBFsSSS
YZ]GBQMBNYMQ
YZ@GCLJ]
yZ@G_FBL
yzggfGqBf
yZg'kgfG
Yzg!kgfG
yzgL]J))
yzgL]jFGO@N
YZGL_LOXXSLFMJ
yzgL]m@ZJ
yzGL]zFJBjFGGLJ]
(yzgoegfGwD
)yzgqggBG
YZgQggfG
YZ[GQ@_L
YzgWkgfGk
]YZHAYAGSP
YZHDSE@HZGHXX_
yZhE]L[GH]LmH]Hz][LHD
y)))ZHFAHFLHFEHFEHF
YZHGOO[X
YZHHUYMYHVKY
YZHIUYMYHVAY
yz|hjkPYHZZ
yZ|hjkPYHZZ
YZHKUYMYHVKY
YZHL[LDSMMZ[MCN
YZHM[L]JL
yzhMMzJ[@Y]jFDDHGM))
YZHMUYLY
yzHMZ@ZLH[JAL[))
[YZHOQKANK
_YZH[PJL
)))YZHQO
YZHQUN[LY
	)))Y@ZH[S
YZHSJXMXZ[HDHQ
YZHSPDNJS
yzh@xlx|
@YZ_H[@YAF]
yZhZZLDKEP
yz|isniv
yzIxHxHx
yzIxHxKx
yzIxIxKx
yzIxLxJx
yzIxLxOx
yzIxMxMx
yzIxMx@x
yzIxOxOx
yzIx@xJx
Y)))ZJA]HZBZ
YZJA]HZBZ
YZJASEJ]
)))YZJDMEL]
yzjDMzEHZAj))
yZjE@YKFH[MhJJLZZ
yzjFDDFGh[]@OHJ]Z
YZJFDDHGMYH]A
yZjFDY[LZZ
yZjFDY[LZZ))
yZjFDY[LZZ@FG
yzjFG_kHZL))
yzjHEEz]HJB))
YZJHEEZ]HJB
y)))ZJHGGLMuQ
y)))ZJHGKFQ
yZj[LH]L))
yZjL[]l_HE
yzj[LMLG]@HE))
YZJ[LMLG]@HE
yZj[LMLG]@HEdND]))
YZJ[LMLG]@HEt
YZ_JLXH[
YZJQDAG_ZEK
]YZJQ]XQSX
YZJ_S_[SZ_[Z[PJZ
yzJxLxMx
yzJxMxJx
Y_[[[Z[[[K[[[
y_[[[Z[[[K[[[CY
yZ]kIkK]Qp]Z_Z
yzk[LHBYF@G]))
YZK[LHBYF@G]
YZK]LKS_
YZKM]HPY
YZK@PJDFKB
yzkP]LzALEEJFML))
yzkP]LzALEEJFMLcDY
yzkP]LzALEEJFMLdLZZHNLkFQ))
yzkP]LzALEEJFMLds))
yzkP]LzALEEJFMLj))
yzkP]LzALEEJFMLjHEE))
yzkP]LzALEEJFMLz]H[]))
yzkP]LzALEEJFML|ZL[
YZKSCFGH[A
yZLCgvAlLK
YZ[LDF]L
yzlDY@[LfGLm[@_L
)))Y[]ZLEHGHJH[YLG][P
YZLE_JGYK
Y)))ZLGM
yZlG_|ZL[y[FO@EL
Y_ZLHSLNPHSOZ
_YZL[_@JL
YZL_L_JLKZJM
yzllllllllmllllOllylm
YZLMDEBH
YZ[LOELJ]
yZ[LOELJ]@FG
Y@ZLPE@XXC
)))YZLQLJ
yzlQLJdL]AFM
yZlQLJyFE@JP))
yzlQO@E|YEFHML[))
yzlQYEF@]j[LMLG]@HEd@GL[Z
yzlQYEF@]mPGHD@JhZZLDKEP
yzlQYEF@]mPGHD@JhZZLDKEP|ZL
yzlQYEF@]zALEEjFML
_YZLXH][SO_
Y)))ZL]Y[FQP
YZ_L[Z@FG]HKEL
_[YZLZZ@FG@G]L[_HE
YZM@B]LC@_@MCH[L]@
YZM_CZ@ACBYFQ
YZMDYMQKS
YZMFDH@G
yzmFGYFZAlQJLY]@FG))
yzmF]MFJ))
YZMFSD]GPKZYKOCYGDAZKJ
yzm[FYKFQ))
Y[ZMGYQLBBYJK
yzm@HNGFZ]@JjDMy[FJLZZ
YZMJBPGY@KDPLY
yzm[@_L))
yZmL]LJ]
YZM[@_LUZLELJ]
YZMNQDCA
Y[_ZMOZMOZMOZMOL]
YZM[P[GC
yZmPGHD@JhZZLDK
@@@@]Y]]zmY
YZ@MZ]H[]
YZN@DG@C
YZNd@[[[n[[[
YZNGL_FQ
yznhjzPZ]LD))
yznhjzPZ]LDNLG))
yZnL]eZHZZ))
yznL]jdm
yZnL]jE@YKFH[M
yznL]kP]LZ))
yZnL]mH]LhMMpLH[Z
yZnL]mH]LjFDYH[L
yZnL]mH]LoF[DH]
yZnL]zJ[LLGzAF]
YZN[MEEDDDEGJPES[
]YZ_N_O[
@YZOAPX[
YZ@ODHJB_MN]
YZODPXLQQ[SPANP
yzo@ELm@ZJ
YZO@ELYH]A
Y_Z_OE@Q
yzoF[DH]
YZOG]H_LGY]JQ
YZOKBSCK
|[[y[[[_Zol
YZOMFJFZ
YZOPL_]DNAD
YZOXXJO[
YZP]CX_L
yzpFKHGo[HN
YZpgppepq
YZpgppepq;
YZPJALMLE@J
YZPJALMLE@JHZZ@Z]LMZLZZ@FGZ
YZPJMGLQ
YZ]PKXXB
YZPL[DY]
YZP[MBNNGEN@C
YZ[PNPP]
YZP[QNY]SNL
Y__Z_PQPYADG]PJ]
yZPRSSSSS
YZ_PSGHF[N_
Y@ZPY_MZ
y)))ZPZ]LD
yZPZLEEL
[YZPZS[[][[[S[[[[[[
_YZQD[_@N
YZQGSNSG
YZQMGSNHEYB]H
YZQNCDJJYNFJMZXNJQSZS]HB[ZX
yzri|o!o 
yzriuir ku
_[[[Y[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzjzzzvzzzzrzz]zzz
YZSC]QXS
YZSDDY_OKZNDBBP
YZSEMNNZKX
YZSP_AJXOSQZHS[JQ
YZSYAQLYBJ
|Y|Z|[|T|U|V|
@@@@]Y]]ZUX
YZ@UYJYNVAY
yzvd@D@BH]SvLQJLY]@FG))
YZvDFML))
YZvDH]A))
yzveFJHEvjDMEL]Z))
YZvFYLG))
yzvhmvjDMEL]Z))
yzvhmvjFDYjDMEL]Z))
YZvHZZLDKEP))
yzvjELH[eFNZ
YZvJFG_L[]))
YZvKP]L))
yzVTVWVT
yzVx4x7x?x
yzVxHxKxXx1x
YZvYEDZL[_L[
yz:x0x7xBxXx7x
YZXBSKNZ
YZX[HJQPOA[
yzxhxxxx
YZXMBQZM
YZXMENLQNNH_Z
YZX[MSK_SKGBC
[YZXNNBO
yzx|nrSc
YZX@NYQ@PGPSN
YZ_XOSXCHZ
YZX_Q]CG
yzxrgu!P
yzxrspo t
yzxrxxiwo kwiwiv
yZXszvfxT
yzxxEq|xx
yzxxhhxxw
yzxxPaxxSlX
yzxx#q gr 
yzxxxHxx
yzxxXW(1
yzxx xxx
yzxxxxxx
yzxxxxxxx
yzxxXyxx
yzxxygy'|
yzxx@:zw
YZXYYXXXXX]JXXXXX@X
YZXYYXXXXX]JXXXYYXXXXX]JXXXYYXXXXX]JXXXX
YZXYYXXXXX]SXXXXX@X
Yzxyyyyyyyyy
YZXYZXXXXX]xXXXxZXXXXLX
YZXYZXXXXX]xXXXyZXXXXLX
yzxzxyxz
YZ[YDLZZHNL
yZ|YEFHMo@EL))
yzyFE@JP))
yzyFE@YF))
yzy[FJ))
yzy[FJjDY))
yzy[FJm@ZJ
YZY[F_@ML[O@ELZPZ]LD
yZy[@G]zJ[LLG
YZYHCPB[
Y[zyi0yy
[Y?ZYkIkK]Qp]Z_Z
YZ[YLG_LEFYL
[Y[ZYLXAPD
yZyL[ZlQJE
YzymXzyNXzy
|yzYmzxxhxx
|yzYmzxxhxxxxxxxxxxxxxxXxx
YZYONXSHL
yzyx8xxx
yzyxUxxx(
yzyxxxxx
yzyy.****
y-zyylxjya
YzyymxyytI
yzyyxyyyjyj
yzyyyy1yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy1
yzyyyyy8
yzyyyyy9";
yzyyyyyi
yzyyyyyy
y)zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyiyyyayy
yzyy!zyy
YZ[YZALEE
YZZANCLXH
]YZZBCEFKZ
YZ@Z@BCFJEYQ]BQ
YZ@Z@BSFPBA
yZz@ELG]))
YZ@Z@GBPF__MD
YZ@Z@GBSHBQ
yzzGHY@G))
YZZGHY@G
yzz]H[]))
yzz]HNL[yHPEFHMaLHM))
yzz]HNL[zALEEjFML
YZ@ZJFG]H@G]L[
YZ@ZJFG]H@GL[
yZzJ[LLGaL@NA]
yZzJ[LLGeLO]
yZzJ[LLGZAF]
YZZJ[@Y][FF]u
yz|ZL[))
Y)))@ZZL]
yzz)l))3
yZzLJFGMZ))
yZzL[_@JLk@GH[P
yz|ZL[m@ZJ
yzz[L[[U
yZ|ZL[y[FO@ELe@Z]o@ELZ
yzzLZZ@FG))
YZZLZZ@FG
yzz@NGLM@Gjk))
Y[ZZO@PGO
yzzPZ]LDm@ZJ
yzzxxxGx
YZZY_BHGKJK
yZZy[FJLZZ))
yzzzrzzKzzzzzzzzrzzizzzyz|zzrzzTzzzzzzz
yzzzrzzTzzzzzzz[G[[H
;Y[[[Z[[[Z[[[Z[[["[[[|[[[Y[[[[Y[[
YZZZZZYYYYVT@8999999999
))z())))
))z)))))
[[[@[[[z[[[
[[[_[[[z[[[
|||]|z||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||z|||
||||||||||||||||||||||||||||||||||||z||||||||||||||||||||||||||||||||||||||||||||||||
|||||||||||||z||||||
|||||||||z
z@@@@@@@@
z|||||]||||
z|||||||||||||||||
#)))@[@Z
))Z)))))
.)))]Z][@
.)))Z@[[@
[[["[[[Z
[[[[[[Z[[[[[[[
[[[Z[[[	[[[
[[[Z[[[.[[[
[[[Z[[[;[[[
[[[Z[[[_[[[
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||Z
||||Z|||||||
Z@@@@@@@@
Z||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||*[||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[[[Z[[[0[[[
z02).4@B@A@@
Z094OegAgg
Z09gqggX
[[[Z0adK[[[v
z@0gecgfG
z!0tAAAAAAB@i!OU
z!0tAA@A.!FS
z!0tAA@A.!O[UUF
z!0tAC@Ai!EAAAAA
z!0tAC@@.!EAAAAA
z!0tAC@@i!EAAAAA
z!0tCA@@3!AE
z!0tCA@A3!AK
z!0tCA@A3!AKnC
z!0t]Y]]
Z13aF32o|
Z1@@A@h ELll
Z1@@A@h IN
z1@@@@@@A@h SS
z1@@@@B@A@2 @E
z1@@@@BAB@ap@E|
z1E9z1E9
Z1fgCjgfG
Z1'g1kgfG
Z1LdM[[[
z1llllllllmllllOllylm
z1Ogxyyyyyy
z1wgqgg*
z23pgppepq
Z2Agfwlf!
Z2g1agfG
z2llllllllmllllOllylm
Z"2M]llllllllmllllOllylmay
z2x5x4x7x6x)x
Z2Z2Z2Z2Z2Z2U1Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2O
Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2X2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2Z2.
z)3.!.@B@A@@
Z3g[cgfG
 z3gqggs
z3llllllllmllllOllylm
Z3llllllllmllllOllylm
Z3llllllllmllllOllylmS5g
Z3llllllllmlll]Y]]
Z3@@@@@o@@A@AAac
z3O@@@@B@B@
z3pgppepq
z3XggfGV
Z3[[[Z[[[S[[[[
Z3[[[Z[[[[[[[X[[[Z[[[O[[[
||||z|||||||4
|||z||||||4
z|||||||4
;||z4||a4||E4||24||#4||
!z4cgUngfG
z4ExX	71
Z4goggfw
z|4gwdgfG
z4pgppepq
Z55555-***
z:!5@@B@[pTL
z5dsi@e.h
z_5gqggb
Z5gqggx'
z5pgppepq
Z5pgppepqe
z5v#g'zgfG
Z[5X[[t[[[
z5"xxszxy
z6gqagfG
 z6gqggc
z6gqggDb;
Z6llllllllmllllOllylm
Z[6X[[t[[[
Z6ypgppepq]
Z6Zgqggo
[[[Z[[[7[[[
z7).42)-@@@@@
Z7@@@@BB@@Jp@@@@@@@@@@@@@@dp@da
z7)gqggh
z7gqggN8
Z7@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@@@@Ip@@@@@@@@@@BB@@Jp@@@@@@@@@@@B@@Xpu@@@@@
z7llllllllmllllOllylm
Z7@@@@@@@@Lp@m
Z7nQgfGc
z7pgppepq
Z7xgqggjw
Z7@@@@XpLP
[[[Z[[[8[[[
z?801i:It6
z81-gAgg
z[[[86Yd@[[[y[[[
z88yx]Y]]
z8ARSSSSS
Z8DdI[[[
Z8ex[[[H[[[s[[[?
Z8gIggfGz
[[[Z[[[8[[[k:kz]P;
Z8pgppepq
z8UxUxUx5x
z8WxWxBx
z8]xJxJx]xMx
z94yxdy]
z9|6oFbgfG
Z@@@@@9@@D@ACac
Z!9dL[[[
Z!9dU[[[e[[[
Z!9dY[[[
z9gqggAQE
Z9I9	_QLC9
[[[Z[[[9[[[k;kE]S;
Z9pgppepqF
Z9pgSkgfG
Z9RRSSSSS
@[Z9@TBTP
_Z9@TBTP
(Z9x6llllllllmlll]Y]]
Z@@@@@@A@@
za3;OVK3
zAAAAAAAAAAaAi!HLIb
zAAAAAA@AAAAAC
ZAAAAAA@AAAAAC
ZAAAAAA@AAAAACBn
ZAAAAAA@AAAAACk
z)AAAAAA@AAAAACr
ZAAAA@AAAAAC
ZAAAA@AAAAACvOF
ZAAAAAAAAeqAL
zAAAAAA@A.!FS
zAAAAAA@Ai![S
"@@@@@z@@A@AAac
'@@@@@z@@A@AAac
@@@@@z@@A@AAac
@z@@A@AAac
z@@@@@|@@A@AAac
ZAAAACA@AA
ZAAAAC]AAIqA
ZAAAACA@AOqAG
ZAAAACC@AJqAAAAAAAAAACC@A
zAAAACECAfqAKrx
@z@@A@AAacoo
ZAAAACQAAIqA
ZAAAACQAAIqAkAAAAAAAA
ZAAAACQ@AIqA
ZAAAACQ@@IqA
ZAAAAQCAA6q
ZAAAAQQAAQq
zAA@Ai!MX
ZAAALYSM
ZAAA[YE_
@@@@@z@@A@ACac
@z@@A@ACac
@@@@@z@@A@ADac
zaagGzkJ
ZA[AGN[SB[D
Z@@AAh MR
ZAAO_YCA
ZA]A@XANALGJC]M
Zaa]Y]]P
Zaa]Y]]X
Z[AAYZMAPQ
ZAA@Z]F[P
za@@@@B@A@2 @Bi
)))ZA@BDFK@EL
ZABD@ZA[H
Z_AB_KDL
ZABODALOZ@
ZABOLZYQJZCDHP[
Z@@@@@@AB; QW
ZABYC]YB
[ZABYGMAX
ZABYGPHAZBZBNA
ZABZCBXQE
ZAC_JSLA
ZACKZBLABXOC_
@ZA]CM_FXGZXD
ZACNB][[_
ZACPZD[XK
z!aCWgfG
Z_A_C_ZCNDJ@
@Z[ACZDYDFFXHZAXNJY
zAdB[[[:[[[9[[[
Z]ADBYZQA[SM[OQNF
zAdFG@]F[))
ZADFG@]F[
]@ZADHGOF[DFGLP
ZA@DHHYYZ
[Z]ADJSB
?zAdM[[[c[[[f[[[
.zAdR[[[
ZAdU[[[Y[[[N[[[
_Z_A_D]XQ]
ZA]DYO@EL
)))ZAEHYY
ZAENCX[KEPYNX
ZAE]NEGLH
Z[AEO_QCA]AGLX_
Z][A[EYEFGN
Z][A[EYZAF[]
)))ZAFBFEH]BH
ZAFBH]AF]LE
ZAF@CAME
ZAFDLLGAHGJLDLG]
Z][AFDLOFEML[
ZAF[]GHDL
zAFJBELP
ZAF[]JE@JB
ZAF[]JFMLZ
ZAF[]LGL[
#)))ZAF[L]LE
ZAFOH[ZAFZAHGGH
z]A[FYAFY
ZAFY]@DLZ
ZAFY]@D@SLEP
ZAFYEHMP
ZAFYGAHY
ZAF[]YH]A
ZAF[]YH]AFZALEE
ZAFYHEEJH[Z
ZAFYLG))
ZAFYOHJ@E
zAFYvhMD@GvyHGLE
ZAFYY@GNE@Z]
ZAFYZDFBLDF[L
ZAF[]Z][@GNZ
ZAGDXC@XHLMLDE
z?a:gfGV
z*AggfgfG
zagI[[[6[[[
[ZAGLSOB
ZA@GOKMMQX
Zagqgg#1
ZAgUdgfG
zagz[[[4[[[([[[u
ZAHA]FKH
ZA[@[HDYFEPDL[Z@GM@H
ZAHGH]HG
ZAHG@ML_HYY
zAHG@ML_HYYhJ]@_@]P
ZAH[@GNA[MM
ZAH[@GNE@GB_HE@MH]@FG
ZAH[@GNvGH]@_L
ZAH[@GNvNL]vE@GBvM@HEFN
z@@A@h Ifb
ZA@H]]iG@GLZ]H[JFGGLJ]
zA@]hJ]@_@]P
ZAH[LGHDL
ZAH[L_@HA]]Y
ZAH]]L[LMNEHZZ
ZAH]]L[LMY@QLE
ZAH[LMBLP
)))ZAH[LMMFJ
ZAH[LMMFJ
ZAH[LMO@EL
ZAH[LMO@GML[
Z@@@@@@A@h LN
zAH[Lo@GML[
zAH[Lo@GML[))
ZAH[LO@GML[R
zAH[LYF@G]
ZAH[LYF@G]
ZAH[LYF@G]FGE@GL
ZAH[LYF@G]O@EL
zAH[LYF@G]vjZZ
ZAH[LYH]A
ZAH[LZ]H]L
ZAH[LZJFEELJ]@FG
!)))ZAHML[
z@@A@h NL
ZAHOOL[iPHGMLQ
ZAH]PPCHZODC
ZAHSKMECJ_
z@@A@h SS
ZAHYFF[C@YHEEFGC@
ZAH[YJE@YKFH[M
)))ZAHYL
ZAHYL[HE
ZAHYL[vALE@Q
ZAHYYLG@GN
zAH[YzAFF]
((ZAH[YZAFF]L[
zAH[YZAFF]L[jEHZZ))
zAH[YzFJBZ
ZAJAH]][
zajAjHDY
Z@ajaph:538:7 3a7
]ZAJCESS_OD]
ZAJFGZ]DH[BL]
ZAJGMDNJJ
ZAJ[LH]L]A[LHM
ZAJ@]ZCX_[]NN
ZAKDNLBM
ZAK@GH[@LZ
ZAKNQPAD]P
ZAKSKDM_G@LM[ZYM
ZA[LDF_L
ZALDZLSPQHG
.)))]ZALE
 )))ZALEE
")))ZALEE
#)))ZALEE
())ZALEE
)))ZALEE
.)))ZALEE
:)))ZALEE
;)))ZALEE
?)))ZALEE
zALEEd@GL[
zALEED@GL[
)))ZALEEDPJA[PZEL[
[ZALEEDZA]HA]]YZ
zALEEe@BLaLQz][
	)))ZALEEFKC
)))ZALEEFKC
ZALEEFKC
ZALEEHMFMK
zALEEhNG]
zALEEhNLG]
ZALEEH[Z@_@
ZALEEJEHZZ@GOFt
zALEEjFML
zALEEJFML
")))ZALEEJFML
ZALEEJFML
ZALEEJFML))
ZALEEJFMLDZ@E
zALEEJFMLeLGN]A))
ZALEEJFML@G]ALALHY
ZALEEJFML@GZ]HEEL[
ZALEEJFMLI
ZALEEJFMLLQLJ
ZALEEJFMLNLGL[H]F[LG][PYF@G]
ZALEEJFMLuZ
ZALEEJFMLvO@EL
	)))ZALEEJFMLvY][
ZALEEJFMLvY][
ZALEEJFMLvY[LYH[LvJFDDFG
zALEEkF]
zALEEKF]
ZALEELG][PYF@G]
zALEE@LJL
zALEELMy[F
zALEElQLJ
zALEElQLJ))
ZALEELQLJ
ZALEELQLJ))
zALEElQLJjDMyz
ZALEELQLJ[LNZ_[vHDZ@))
zALEEmEE))
ZALEEMLJ[PY]
ZALEE@Mr
	)))@ZALEEM@ZYH]JA
)))@ZALEEM@ZYH]JA
")))ZALEEPLHA
!)))ZALEEr
)))ZALEErv
[ZALEEu_
)))ZALEEuFYLG
;)))ZALEEuFYLG
((ZALEEuFYLGuJFDDHGM
)))ZALEEuFYLGuJFDDHGM
ZALEEuFYLGuJFDDHGM
(-ZALEEuLQYEF[LuJFDDHGM
)))ZALEEuLQYEF[LuJFDDHGM
 )))ZALEEuu
ZALEEuuu
ZALEEvFGE@GL
ZALEEvGHDL
ZALEEvKFMPvLQLJ
ZALEEvLDH@E
ZALEEvLQLJ
ZALEEv@M
ZALEEvYAY
ZALEEvYH]A
ZALEEvYHZZ
ZALEEvZA
zALEEvZJHG
)))ZALEEYH]A
ZALEEYH]A
zALEEZAFJB
ZALEEZAFJB
zALEEzJ[@Y]
zALEEzJ[@Y])( )))")))
zALEEzJ[@Y])(')))9)))
zALEEzJ[@Y])(9)));)))
ZALEEZJ[@Y]@GN
ZALEEZL]ZA
zALEEzYE@]
zAL[EFJB
((ZALEMFGJFFYL[
ZA@LEMJF[[LMF[LZ
)))ZALEXEX
ZALFKADH]
ZALGAZJX
ZALGNC@GN
ZALGPHFJG
!)(ZALL]
)))[@ZA]LL
)))ZALL]
_)))ZALL]
ZALL]GHDL
)))@[@ZA]LLGHNL[Z
@[@ZA]LLGHNL[Z
zallllllllmllllOllylm
zAllllllllmllllOllylm#
ZALL][@M
ZALL]MH]H
!)))ZALNSP
ZA[LOL[LGJLvA]]Y
ZA[LPH@GOFZFO]
_ZALQD@GDPA
zAlQLJ))
ZALQLJ))
"ZALQYDH]JA
ZALQYDH]JA
[ZALQYF[][ZA
ZALSSSSSSSSSSSSSSH
ZALS]XLX
@]@Z]ALZHDL]A@GNHZEFZ@GN]ALDOF[L_L[
ZAMBHAQP
ZAMCANO]PANCBEFEBC@F
ZAMCL]XPKQB
)))Z][AMEFJH]@FG
Z][AMEFJH]@FG
ZAMGOCKB
ZA@MHGE@
ZANADOAOK
Z[ANDMXXASNQA
ZAN]DQNDY
Z]A[N_LLYJYG
[ZANSZSA
ZAN]ZJBSX
Z@[AN[ZMZ[KDXJ_
)))ZA@O]
@@@@@ZA@O@AAacoo
@ZA@O@AEac
ZAO@ELvZL[_L[
]ZAOYZPPXL
@@@@@ZA@P@ACac
Zapgppepq
ZAP]JAHPJEX_DM
@_Z[APKJF
ZAPMNO]E
ZAPNAELB
]ZAP]YQSC
@@@@@zA@Q@A@ac
@@@@@zA@Q@ACac
@@@@@zA@Q@AEac
ZAQALQQSOPPLOL[BGKCMLAK
ZAQBLZYZO
!@zA@Q@CEac
ZA]QCM@P
ZA]QNAFZ@ZKP_EOL
ZAQXZNSGH
ZAQZ_YBA
ZAREFNFGTREFNFGTLREFNFGTREFNFGTEREFNFGTE
ZASAXYZK
]ZASBHBLCAM
Z@ASEJGGYK
ZASGHQBP@Z
ZASSSSSSSSSSSSSSH
@ZAs@WBI@_BULc
ZASY]MSQS[
ZASZX]PDN
zat'jdgfG
ZAUDFGL[FUQD[@NUYGZJHGUSSA
ZAuM"gfgfw
ZAUZAJM]
z_aVgaagfG
ZAvHBHv[BE
ZAv[LYF[]
z@@@@@A@@vpEZ
ZaW8jgfG
ZAX]CMJDJ
ZAX_KNYQ
ZAXK[P_DAXD
ZAXLKYSGZ[QHK
ZA]XNFCMM_E
Z[A[XPO_J[YY
]ZAXQ]Z[
Z[aX[[t[[[
z)))A]]Y
Z)))A]]Y
ZAYB@EED@GL[MYB@EEDFGL[FD
]Z_AYG_CY]
ZA@YJF][HGZYF[]
ZA@YJF][HGZYF[]]H[@OO
@ZAYP]L_BDL
ZAYP[QHZYHEJJ]ZP[EMS
zAy@yCyByEyDyGy
ZA@YY@GN
)))ZA@YY@GNAHGME@GN
ZA@YY@GN]HKEL
ZA@YY@GNZLHZFGEJEJH[[@L[]FJH[[@L[
ZAZ[_]ACGJ
)))ZA[@ZA@GO[H
ZA]]ZAXY
ZAZGDQDMXF
ZAZHXEBN
ZA@]ZKE@GM
ZA_Z@SZLE_ZQFCCP
ZAZZOA_H[
]Z[AZZOM
Zb][[[?[[[
Z@@@@@@B@
Z@@@@B@@@@
*zb4n:_Y
zB6g?ZgfG
Z@@@@B@A@@
z@@@@B@A@2 @
Z@@@@B@A@2 @E
Z@@@@B@A@2 @E'
Z@@@@B@A@2 @FbF[4@@@@B@A@2 @P
ZB@A@2 @G
zB@A@2 @H
Z@@@@B@A@2 @H
Z@@@@B@A@2 @JFt
ZB@A@2 @LH
ZB@A@2 @YRo
Z@@@@B@AA@
@z@@B@ACa
@@@@@z@@B@ACac
@@@@@z@@B@AFac
@z@@B@AFac
ZBA_GMN[ACYFBB
Z@@@@B@A@h @b
Z@@@@@BA@h [@@@@@m
z@@@@B@A@Hp@
ZB@A@Hp@gB
ZB@A@Lp@S
ZBAMZXLZ
z@@@@B@@@ap@P
__ZBAYPJP
ZBA_ZMKX
Z@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@cp@]D
Z@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@@@A@lpgE
ZBBBBBBB
ZB[BBHDYHNGL
@@@@@z@@B@BCac
ZBbgfG?o
@zB_BHB-B
ZBB[LC]OANOL@G
ZBB]L@PN_HQ[MQ[@
@ZB_BZBY
!Z;bCCNCCCBACC
ZBCELDSS
zbCgKegfG
ZBCHEMLM@N]Z
ZB]CPMCS
ZB__CQJJB]
ZBCSCK]AS
ZB@DAOGEBD
@ZBDBABZI9
-Z@@@@BDBAHp@]C
ZB_DB[SH
ZBDFJMXAH_X_CGHJ
ZBDG[[JZJPSZ
]ZBDH@GOF[Dt
ZBDLBGKCK[Y
ZBdM[[["[[[
ZBD]M]GLFCOKXE
[[ZBDNCPS
ZBDPD@YMSZMDX][A
_ZB_DYAHK
ZBDYAJD]_[B
]ZBDZXDGNYX
zB"e_[[[
;)))]ZB@EE
zB@EFNKPYS
_Z[BE]LS
[[[zB"eZ[[[
ZBF]CZOHK[@B
ZBFDGXGG
())ZB@F]_EYYK]CQ[OSH
ZBF[FAFM
ZB'fgfGe
ZBFMNMPLJ
ZbfogfGI
[@ZBFOZPZ]LDJ[HZA
@ZBFYCDZA
Z[BGC[NHC
ZBGCZ_HMJPY
Z]BGHCLYNDPO_[D
ZBGHKXKLF
ZB@GHXHO
@]ZBGMH]
Z][@B@GNEPJMG
ZBGPQSZM_AG[S[QN[Y
z	Bgqgg4
_Z_BGZKJ
@ZBH@CBZI9
)))ZB[HHGL]ZALEEO@ZAL[PQHG]A@HG
ZBHHLPNZ
ZBH[HOHS
ZB_HMZPZY
z@@@@B@@@Hp@_[1
z@@@@B@@@Hp@P
ZBht:M]-#
ZBIyxWy]
@ZBJ9@qDBC
_ZBJDCLQ[
ZBJFDSMKLH
ZBJ@GYFAY
ZB@JHN@N[_P
ZB@JQZH_
Z@]BJSQQJ
Z_]BJZCBN
]ZBKAYOG_MPCO
ZBKNAOD[@ZMKCYJ
ZB@KP][AZ
ZBKPJPOH
ZBKQZN]D
ZBKXCBGDJQ
ZB@KZ]@EZPGZEF_LGLZ
ZBKZOP][DZL[
Z_BL_AHH
(ZbL[[[B
ZBLBY[SZ]
zBL]JAhJ]@_@]P
Z]_BL_@KCFO
Z[B_LMJZ
ZB]LMNXS]P
Z][BLPYH]A
Z]BLQSJK
ZBLY]_XHK
ZBMDFJHH
ZBMD[YJKX
ZBMJHKSJ
ZB]MKGCXYF
ZBM[KM@GCBQ
"zBmllllllllmllllOllylm
ZBNBY]O_Q
ZBNCENLOX
ZB_N]FY]KQC
Z@BNX@MCXH[OAMYA
Z]BOBOZSS[L[
ZBODSKJCGZJGKL
Z_BOJJXXGDZHCM
ZB@O]LGNEL[Z
ZBOSBPYDFBLYO
Z_BOYAJAM[LBHPOH
Z@@B@[pgL
ZBPGL]YHP
zBPGL]zYEHZAhJ]@_@]P
ZBPGngfGd
Zbpgppepq
Z	Bpgppepq
ZBpgppepq
ZBPKZLQCYBLSJ
ZBPM[@_L
ZBPOHEZZ
_]ZBPOQG
ZBPSPKAAY
ZBPtIxIBP
ZBPvJFML[
-Z(@@B@[pWL
.)))ZBPYL
:)))ZBPYL
ZBPYL]FBLG
ZB@P@YPDMK
Z[BQENHBCOG
ZBQGJXZA[H
ZBQJHHBZEZDX
ZBQO]Z[OCEJG
@ZBrBAK9
zbRxVxRx
ZBSEBJC]N
@ZBTBYLC	BZ
@ZB[@UE@WBTD
@ZBUsRRSS
@ZBU@@TBW[
@ZBVBMK9	BN
@ZBVD3@VBZD
((ZBvMK]HZBvMK
ZBW73_T[
@ZBwBGK9
@zBWBUD9
_ZBW|E[EeAUsS
ZBWglBWZ
_[Z	BW	YU[eMUZeIUBWeFQLs9
@ZBXD97AF
_ZBX[FNNKCZ
ZBXJIM@NTxxx
ZBXKQDSB[FQJOBSCD
ZBXK@TyxDx
zBX(NSSW@YBYs
ZBXsSSPSd
ZBXYXD@D
ZBXZHHHHxxx
ZBYA_DGP[SP
@ZBYBZBW
@ZBYBZfUs
_ZBYEB]ZPGX
ZB@YE@GL
ZBYEHGL]
_ZBYJCZXL
ZBYLHLOA
ZB@YM@ZJF_L[P
ZBYNCMSOHA
ZBYNHHGMDN
ZB@YOF[JL
((ZB@YSL[FO@ELZ
ZB@YvFY]@FGZ
')))ZB@YvYHPEFHM
ZBYXLZAM
ZBYYMQNP
ZBYZMJMS
@ZBZ9@JULZ
@zBzA|LC
]Z[BZALNHNM
@ZBZAqLw
ZBZBADP]
@ZBZB_daBZB_B[
@ZBZB@fWBZxQB@@ZBABL
@ZBZBYL_9
@ZBZ@[BZ
@zBz@DBDA|Ls
@ZBZDfUs
@ZBZEfUs
@ZBZ@FBFs
Z_BZF_FZ[NA
ZB_ZGD_LYK
ZBZH]AJZ
@zBz(ISSW@DBDj
ZBZJVHZTZ
@ZBZK	BV
@ZBZK	BW
@Z[BZL_9
@ZBZ(MSSW
@ZBZ(MSSWj
@ZBZ(MSSWXT
ZBZQPDJB[
ZBZSLLJ]
@ZBZsSCSS
@ZBZsSCSSdTsSCSSxQBZ@[QBT
ZBZsSSPSd
@ZBZsSSRS
@Z[BZsSUSS
@ZBZ@TBTD
@ZBZVdZBZ]W
@ZBZVfjQBUBT
@ZBZ(VSSWBUD9
@ZBZ(VSSW@MBM(USSW@NBN@OBYr
ZBZyxlyZ(
@ZBZZfQEyBZLZ
@ZBZZL_9
ZB]ZZLKZXLB_
[[[[z[[C
Z||c[||.[||
ZC2FzgykgfG
Z]CAN]BK]
ZCBAZBAZMBAABZMZMBAZMBAAMZBMZABABMZMABMZB
[ZCBBQXJMA
Z@CBG[P]M
ZCBMDGJZBMGCDJ
ZCBSNPJXE
zCCAAJqAAAAAAAAAAACAA
]ZC]CAPYHX
'ZCCNCCCBACC
:ZCCNCCCBACC
;ZCCNCCCBACC
|ZCCNCCCBACC
ZCCNCCCBACC
-ZCCNCCCBACC4H
ZCCNCCCBACCC
ZCCNCCCBACCE
ZCCNCCCBACCm
ZCCNXPQDOPSO[H
@ZCCOL_X
_@ZCCOZO@
Z]CCPZDH
ZCCQAG@DAAG[
ZCDBMYNN
ZCD]EHMQMY
_ZCD[EYGY
ZCDF[[]B[YG_
ZCDKMKPZZJP
Z_]]CDKQXHF
zcd@[[[p[[[i[[[
ZCdX[[[j[[[
ZCDyyyyyyyy
Z]]CEBKSNJM
ZCEQSLQAY
Z_CFDKGO
Z_CFDKGOU
ZCFF[ADSBEP
ZCF@[NNCOBS
 .Z'cgfG
]ZCGGDCZN
ZCgGdgfG
]ZCGK@HONN
ZCGMJX]_K_A
]ZCG[PA[LE
ZCGPBEYQY
Z.Cgqgg!
zC!gqggyu
ZCGSK]S_M[
ZCGZ[DLC
ZCHEL[L_YJM
z_chgfGO
Z[_[CHHKZY_QXCH[@BD
ZCH_HZMHMLLCHP
ZCH@@KDLN
]Z]CHK[HPM
ZCHOQHMJH
ZCHSCHSM
ZCHYMYXB
ZC_HYXOAQ
ZCH_ZCCX
Z]CJDGNQO
ZCJEGHHBOHHDEZO
]ZCJGG]NKXS
ZCJ[_]GOSG_
ZCKGKA[OZASHAPMEC
_ZCK_GZ_KJD@
ZCKHC]]K
]@ZCKJOGLJY]LF
ZCKKCCPSPB_
ZCKMO_@J
Z[CK[SGC_PSH[
ZCLACCJF_N
zCLdO[[[
ZCLE[BQY
[ZC[L[GCC][BBLGQY
ZC]LHJPSFFXLYJ
ZC][LHML
zcllllllllmllllOllylm
!zCllllllllmllllOllylm
ZCLSQYFD
ZCLZJKNAO
]ZCMK[LOP
ZC_MPYPG
Z_CMSHKP[B[JD
ZCNKOJSHSX
Z@CNOAJD
ZC_OLBSD@Q
(ZCompress)
ZCOQFE_FMSPNQX
ZCOZKOGBLXS
ZCPCENGA
ZCPGAQFZNEF
'Z|cpgppepq9
ZCpgppepqU
ZCPMLNKAMZ
z'cpPk|ti
ZCP]@PXNHPGN
ZCQBK]ZYA
ZCQBL@[B
@zCqCwCeCWCJCBC:C5C(C
ZCQOEHDJ
ZCQSJHAHKGN
@ZCSC8C-C"C
@zCsChCaC
ZCSC]LP_
[ZC@SD@Q
ZCSJMPXC
ZCS]KGLQP_Q
ZCS@_O_X
ZC[SPGO[[
ZCSY_APMYE
ZCSY[KMYK_
ZCSYM_H[CYZDGQA
z[[[Cv0dX[[[
@zCwCeCSC
ZCXEZXJK
[ZCXHPJB[MA
Z_CXLQAHLSSD
Z[cX[[t[[[
ZCxx]Y]]
ZCxxzx]Y]]
]]ZCxyxZy
ZC]Y]]3'Y
ZC]Y]]J'Y
ZCYKYXDSJ
ZCYOJPXL
ZC]Y]]u'Y
ZCyxqhEXZ
ZCyxshEXZ
ZCyxwhSZV
ZC]Y]](*Y
ZC]Y]]?*Y
ZC[YYECPYBK
ZC]Y]]y'Y
ZCZBZSJ_Z
Z@C[ZCG@KQD]
@ZCZLGHKELM
ZCZMJM]G]NZC
Z[[CZO_HGPAAXEPQ
ZCZXDN[]
ZCZYLYJ[B
z|||||||||||||||||D
zD@@@@@@@@
zD@@@@@@@@@
Zd[[[[	[[[
z[[[#d0dC[[[y[[[
Zd[[[[2[[[5[[[
zd4nSbhbA?
zd_[[[6[[[
Zd@[[[6[[[
ZdA[[[![[[
ZdA[[[0[[[7[[[
zD@@@@A@ABlpVN
ZDAB[ML@LZH
#ZdA[[[h[[[
ZD@]AM]PEL[
ZD]ANHYJS
ZDANSC_P
ZdA[[[o[[[
zD@A@@PpTH
ZdA[[[u[[[
Z[]D_AXG]OBDGH_
zDA@@@XpED
ZdA[[[Y[[[
zD@@@@@@B@
zD@@@@BAAAHp@G
zD@@@@BAA@Hp@Dk
zDB@ABHp@S 
zD@@@@B@BAHp@J
zDB@BAHp@K
zD@@@@B@BAHp@TR
zD@@@@BBA@Jp@@@@@@@@@@@@A@Kp@@@@@@@@@@BAACHp@D
zD@@@@@BBA[pK@@@@@
zD@@@@B@BA[p@K
zDB@B@Xp@K
zD@@BCXp@K
Z_DB_D[CG
ZDBDNX]M[
zDB@@@Hp@
Z@DB]JCXKOKNC
ZdB[[[k[[[
z)))DBM@[
ZDBMDZY]D
ZDBMQ]YOL]
ZdB[[[O[[[N[[[
ZdB[[[x[[[
[ZDBZNGCZSX
zdC[[[1[[[
ZdC[[[4[[[([[[
ZdC[[[8[[[#[[[
ZdC[[[e[[[
ZdC[[[I[[[
ZD]CJQKJ@XCE
ZdC[[[K[[[J[[[0w
ZDCLOOXH
ZDCMAKJ]G_MJJCH
zD@@@@@@@@Cp@K
zdC[[[t[[[
zdC[[[][[[V[[[B
ZdC[[[w[[[u[[[C
ZdC[[[z[[[
zd][[[D[[[
ZdD[[[|[[[
zD@"@@D@ACac
ZDdB[[[e[[[
ZDDCAP[XJ
ZDDDHOPCL
zdD[[[e[[[9[[[I
Z'DdH[[[
Z?DdJ[[[
ZDDJBOOOZ
ZDDNK]SQZ
zDdS[[[_[[[D[[[
ZDDSDCPXZ[
ZDDS_MYA
Zd[[[[e[[[
	Zd@[[[@[[[E[[[
ZdE[[[c[[[a[[[
ZdE[[[i[[[l[[[
ZDEKAYOG
ZD@ELN@O]
zdE[[["[[[![[[QmJdT[[[
zdE[[[R[[[G[[[
ZdE[[[t[[[
ZDEZQXSHMHX
Z@@@@@DF@
ZdF[[[3[[[
ZdF[[[5[[[
zdF[[[a[[[
zDFBLeFHML[
ZdF[[[C[[[
zdF[[[D[[[
ZdF[[[E[[[
Z@DFGBLGGH
ZD_F@JLZ
ZdF[[[P[[[
]Z]DFSGG
ZdF[[[x[[[
ZdF[[[y[[[s[[[l
		ZdG[[[
zdg7cgfG
ZDGASP]PH
_[ZdG[BZZ
ZDGDXMJ_H
ZdG[[[E[[[D[[[R
]ZDG_]EJZZ
Zd_[[[g[[[f[[[
z'?dgfGaW
zD@GHNL[
ZDGJSJJ[BB
[ZDG_[MY
ZdG[[[N[[[
ZdG[[[p[[[
ZDgqgg9W
zDgqggMr
ZdguQgfG
Z_DGXLDOFAPN
ZdG[[[z[[[
ZdH[[[	[[[
ZdH[[[;[[[?[[[
ZdH[[[3[[[7[[[k
ZdH[[[5[[[*[[[n
)))ZDH[]AFZ]
ZDH[]AH_
Zd][[[H[[[D[[[
z|d(h|dHo|d
z)))DH[DHZFO]
?)))Z@D]HEB
ZDH[]EFHG
ZDH[]ELHZLZFGF[H
ZDHEOQK_B]
ZDHEPQNJYZB
ZDHE@ZAH
z@DHEZYH
z)))DH@G
ZDH[_HN@GH
z@dH[[[i[[[o[[[
z)))DH]JA
ZDH[]JFML[
_ZDH[]JH[M
ZD[HJ]@_@]P
@ZDHKFE@
ZDH[]K[@LO
ZDH[][LDF]LJFG][FE
ZDH[]]LJAK_
Zd@[[[H[[[O[[[
ZDHOLHZQA
ZdH[[[q[[[
ZdH[[[R[[[V[[[
ZdH[[[R[[[W[[[
ZDHSPDLOKNA
ZdH[[[S[[[R[[[x
z-dH[[[v[[[8[[[
ZDH[]YHZZJFGGLJ]
@ZDHYOHEZL
ZDH[]ZAH[L
ZDHZBAMPKZD
ZDH[]ZE@ML[
ZDH[]ZJ[LLG
ZdI[[[4[[[
ZDIAAAACACAeqAL
]Zd[[[[I[[[H[[[
zdI[[[Q[[[
ZdI[[[q[[[
ZdI[[[Q[[[
ZdJ[[[	[[[
zdJ[[[2[[[([[[;
Z)))D@J[FJFGK@F
ZdJ[[[g[[[
ZDJGP_Q]XZP
zDJ@GZ]))
ZdJ[[[i[[[
ZDJL[OKB
ZDJOOGOM
ZD_J[PPE[GQG
ZdJ[[[S[[[
ZDJSDSQ]
[ZDJ@XX_H]B
zDJzL[_@JL))
ZDJZL[_@JL
zdkbL[KeFN@G))
Z]DKCMGN
ZdK[[[e[[[
zDKeFN@G))
ZDK@FZK@FZ_L[Z@FG
ZDK@FZK@FZ_L[Z@FGGLQ]LGM@O
ZDK][HGZYF[]
ZDKHYSBAZZDY
ZDKJE@LG]
ZDKJFDDHGMr
zdkjFGGLJ]))
ZDKJFGGLJ]@FG
ZDK][LLJFGGLJ]
zdK[[[M[[[(
zDKnAFZ]
ZdK[[[o[[[
zdko@GNL[))
ZdK[[[p[[[t[[[
ZDKQQZZQO
ZdK[[[s[[[
ZdK[[[Y[[[
ZDKZAH[L
ZDKZJHGGL[
ZdL[[[	[[[
zD@@@@@l@@A@ACac
#z)DL]AFM
ZdL[[[B[[[F[[[
z())DLDF[PZ][LHD
ZDLDMLKQ
Zd[[[[l[[[e[[[
z)))DL]HA]]Y
	ZdL[[[K[[[
ZDLKNCKCD[OP]
zdllllllllmllllOllylm
]#ZdllllllllmllllOllylm
!:Zd:llllllllmllllOllylmS
zD@@@@@@@@Lp@m
zD@@@@Lp@o
ZDLQNNJPPY
ZdL[[[U[[[T[[[
]ZDLXDM@_
ZdL[[[Y[[[i[[[
Z@DL[_YXC
z)))DLZBF]
Zd[[[[m[[[
ZdM[[[;[[[
zdM[[[0[[[*[[[
ZdM[[[9[[[2[[[
zD@m@@A@ACac
ZDMAJC_ZXKO
)ZdM[[[b[[[2[[[
ZDMCHXYPZ
ZDMCHXYPZE
ZD[MDOX[[AM]
ZDMDQBDX]H
ZDMEYBQZDPEHEXNALXM
ZDMGBMDOZ
ZDMJLXMXO
[ZDM_K_NSDY
ZdM[[[p[[[
ZDMSLN]]N
ZDMYPHJC
ZdM[[[y[[[s[[[s
ZDM_ZKB@KAS
ZDM]ZNQFZYBFDOGJ_H]KHHLE[LES
ZdN[[[#[[[
ZD[N_CCHJ
ZDNC]GJNCJ
ZDNDZHMGCE
ZDNEZZ]BBANNBDJJB
ZDNNK_ZCGF_Z
ZDNO@AXK]
zD@@@@@@@@np@@@@@@@@@@@@@@Ep@Gu
ZdN[[[Q[[[P[[[
ZdN[[[X[[[v[[[
ZdN[[[Z[[[
ZdNZsSSSRfFQs
z||||||||||DO
ZDOD_GEA
ZdO[[[I[[[
ZdO[[[j[[[
ZDOMHDGK_PAZCB_K
Zd@[[[o[[[n[[[
ZdO[[[o[[[m[[[D
ZDOSBX]Z
ZdO[[[T[[[K[[[
ZdO[[[u[[[
z@dO[[[v[[[j[[[
ZdO[[[x[[[
ZdP[[[c[[[f[[[
"zdpgppepq
zD@@@@@@@@[pKL
ZDPP]ZBL
ZDPQCFHZZHQ]
Z[dP[xRZ_QBV[sSSS
_Z[dP[xRZXWE
_Z[dP[xRZXWT
ZdQ[[[.[[[
ZDQCQBA_A[X
ZDQDEGAG
ZDQDMOXB
ZdQ[[[g[[[
Z[DQGKLMK_FQJZ
ZDQGSHPO
@[ZDQJJGXAM@_OYPJCQ
ZDQMD[QOD
ZDQSXA_LCFXZ
ZDQ_XNNM
ZdQ[[[y[[[
[ZdR[[[0[[[([[[
ZdR[[[.[[[-[[[c
ZdR[[[g[[[
ZdR[[[l[[[b[[[
ZdR[[[w[[[k[[[k
ZdS[[[8[[[
ZdS[[[B[[[E[[[	
Z_DSCAE_DNZC
ZdS[[[d[[[
ZdS[[[D[[[
ZdS[[[F[[[z[[[	
ZDSGPQMO
ZdS[[[h[[[
ZdS[[[L[[[@[[[	
ZdS[[[l[[[b[[[
ZdS[[[N[[[p[[[v
ZdS[[[o[[[c[[[	
ZdS[[[Y[[[E[[[]
ZDSYG[F]ZL
zdT[[['[[[
ZdT[[[u[[[
	ZdT[[[v[[[u[[[h
ZdT[[[w[[[
ZdT[[[Y[[[
]ZdU[[['
ZdU[[[1[[[7[[[J
ZdU[[[a[[[
ZdU[[[i[[[
ZdU[[[x[[[
ZdU[[[X[[[
ZdU[[[Y[[[
zdU[[[Z[[['
'Z]dU[[[Z[[[
ZdU[[[Z[[["
"ZdV[[[.[[[![[[
ZdV[[[:[[[
ZdV[[[g[[[
z[[[DVJdC[[[
ZdV[[[l[[[c[[[
ZdV[[[q[[[p[[[]_
ZdV[[[x[[[|[[[H"
ZDvZLZZ@FG@M
ZdW[[[t[[[
ZdW[[[W[[[
Zd][[[x[[[|[[[
ZdX[[[G[[[
Zdx[[[H[[[O[[[
ZdX[[[I[[[C[[[
__ZDX_KGLKMJ
Zdx[[[P[[[
ZdX[[[P[[[C[[[
[ZDXPKZLY
zD@@@@@@@@XpVD
Z]DX_Q]AKN
ZdX[[[v[[[
ZdX[[[x[[[p[[[
ZdX[[[Y[[[
ZdX[[[Y[[[i[[[5
ZdX[[[Y[[[j[[[5
ZdX[[[Y[[[k[[[5
ZDXZO[NQS[MM[QA
zdy[[[)[[[
ZdY[[[b[[[a[[[
ZDYCAXS_
Z]D[YD]EC]
ZDYDZBOJ[AO
z@DYeFJB
Z_DYEH]OF[D
z@DYELaFDLhJ]@_@]P
Z@DYELDFK@EL]FFEZ
Z@DYELDHN
Z@DYEL][HGZHJ]@FGHELDH@E
z@DYEL]HZB
Z@DYEL]HZB
Z@DYEL]LDY
z@DYELmF
Z@DYELMF
Z@DYELmLHME@GLZ
Z@DYELY@L
)))Z@DYELZJ
z@DYELzzam
)))Z@DYEPN[FJL[P
Z@DYEPYFZ
Z@DYEPYHJL
zdy[[[f[[[
Zdy[[[f[[[
Zdy[[[G[[[D[[[
ZD]Y@GOF
Z@DYH[]Z
Z]DYJAH[
ZD]YJE@LG]
zdY[[[k[[[
ZdY[[[l[[[f[[[
ZD]Y[LJL@_LHNLG]
Zd_[[[Y[[[p[[[c
ZdY[[[Q[[[M[[[
Zdy[[[u[[[
Zd_[[[Y[[[v[[[c
ZDYXAPPLZZM
ZdY[[[Y[[[i[[[F
Zdy[[[Y[[[M[[[
ZdY[[[Y[[[q[[[F
ZdY[[[Y[[[r[[[F
ZdY[[[Z[[[
ZDYZCKXXNPSY]
ZD]YZL[_L[
zdz[[[#[[[
zdZ[[[@[[[
Z !dZ[[[
zDzagfG5
ZDZ]A[LHMHJ]@_@]P
ZdZ[[[b[[[e[[[
ZDZDHGHNL[
zDZdHGHNL[hJ]@_@]P
zdZdZ[[[:[[[
ZdZ[[[E[[[
zdzeFN@G
zdzeFNNL[
zDZe@Z]hJ]@_@]P
z[dZ[[[G[[[
ZDZ@GCLJ]F[
)))ZDZ[HPNHG
Zdz[[[I[[[O[[[
ZdZ[[[j[[[i[[[
ZDZJ_KCCM_[O
ZdZ[[[L[[[C[[[
ZDZLZGFM
Zdz[[[m[[[b[[[
zdz[[[N[[[B[[[
zdzoHBL@FZL[
z@DZO@ZA
ZdZ[[[t[[[
ZDZv[LJL@_LMv
Zd][[[z[[[x[[[F
Zdz[[[Y[[[
ZDZZDHFB[PA[PGA
zDZzLGMvE@K))
zDZzLGMv@G]LG]))
ZD[ZZL[_@JL
")))ZDZZL[_L[
_[[[Z[[[[|[[E
ZEAASJS]DG
ZEAPBX_OK]
ZEAPCGE]
ZE]APZGBNHJGEJZMAJ
ZEA[ZHCLDZX
Z]E]BANJQ
[ZEBBCP][
]Z[EB][CSLHMY
zEB@GCLJ
ZEBOBZAF
ZEBPFHSY
ZeB[[[Q[[[
ZE_B@QYFQLOHPCL
@ZEBWgqPYBZP
@ZEBZg7BUXBVBU
@ZEBZg	QLs9
@ZE@CBZI9
[Z_ECD[G
zECdN[[[
Z[EC_FXZ
Z_ECG[_[
ZEC]QXHMJ]CZZ
	ZeC[[[W[[[U[[[[[[dY[[[
ZECYPGXLQM
?ZeD[[[][[[
ZE@DALEEF
ZEDdN[[[_[[[D[[[
ZE@DK[FDH_[
ze-dL[[[
zeDllllllllmllllOllylm
ZE@DOHJLKFFB
zeD[[[U[[[
ze@[[[D[[[z[[[gK
ZE]_EEOPD]
zeE[[[F[[[E[[[k
ZEEHSHBC
ZEELD]M[EPD_[
Z]@EEMLZ@NG@GN
ZEEPS[_J
[zefGsN'
ZEF_HB@HAFDLZEF_HB@HAFDLZEF_HB@HAFDL
ZeFHMbLP))
ZeFHMmLJ[PY]))
Z)))EFJHE
ZEFJHEG]YZL[_L[
ZEFJHEYH]A
@ZEFNNLM
@ZEFNNLM@G
ZEFNO@EL
)))Z][E@GB
ZE@GBO@EL
Z'egfGOw
zegGegfGU
ze)gkkgfG@
Z@E@GM@NHD
ZegwdgfG
Z EgyagfGF!
ZEGyyyyyy
ZEHJBZYHJL
ZEHS]XNQ
ZEHv@G_FBLvHGHEPSLv]Q
zEHZAjz]H[])(
ZEHZ@BHZ
ZeI[[[g[[[
	ZeI[[[W[[[
?ZeJ[[[0[[[6[[[X
ZEJBAFQQ
ZEJCJBAYJEC_N_[
ZE@JHGAHS@Y
)))ZE@JL
ZE@JLZ@S
ZE@JLZ@SL
ZEJM[GJP]
ZEJSBGOQX@ZKCCO
	ZeK[[[][[[
ZeK[[[?[[[
ZEK]AOXCO]ZM
)))ZEK[_BFCB_Q[GFP_]MFO
[[[Z[[[e[[[kgkG]]_[
ZeK[[[j[[[
ZeK[[[k[[[
ZEKNMQJSAHO
.)))ZE@LD
Z@E_L[E@NA]
Z@E_L[E@NA]JFG][FEAFZ]
#)))Z@ELG]
)))Z@ELG]
)))Z][ELG
Z@ELG]A]]Y
)))Z@ELG]B
Z@ELG]G@NA]
Z][ELGGZ
Z@ELG]JHEJ
[Z@ELG]N
Z][ELGN]A
z@ELG]nL]))
Z@ELG]NL]u
Z@ELG]NL]uS@YMEE
z@ELG]y[FJlQ@]
Z][ELGYH]AO@GMO@EL
Z@E_L[HGMNFEMLZ]H]LZ
Z@E_L[HZ
Z@E_L[_L[
Z@E_L[]LJAFGE@GL
!)))ZELLY
)))ZELLY
:)))ZELLY
ZELLY@G]
")))ZELLYvLGM
ZELLYZELLY
)))ZELLYZGH[L
ZELOODA[PZMM[
ZELZBLZ]
ZE]__MDAX
_ZEMJGJJ
ZEM]LB@LXENE[
ZE@MLvZ@SL
Z_EMMQJ]
ZeM[[[U[[[K[[[
Z[EMYDNJL
zEMZJ[vMAZ
ZEN_DPZ@K
Z[[ENHKFG[]
Z_ENM@GDLNM]@
ZENPBDNDBN
Z]EN_QXGN
ZENXDH_G]
ZENX@DLZ
z||||||||||EO
ZEOAHX]DCQQMCH
ZEOHHCKHB@K[N
]Z_EOM]S
z())EOZ@O[rHZ@OLYF
ZEPAQYBX]N
ZEPCAYCYLXMZ
@ZEPFLA]N[][A
@ZEPgqV@VP@WBVv
ZEQEH[NEQPNB
_zEQ'gOngfG0Y
]Z[EQHQK
[ZEQNK[@
ZEQZ[@OEME@_QASXBLEY
zeR[[[K[[[
Zero based index of the GPU. Can change at each boot.
zeroblob
ZeroFileContent
zero-length signature field
ZeroPool shim: failed to register.
zero range for BuildStack
ZeroTime
	ZeS[[[][[[
_ZESHYQJ
zeS[[[j[[[i[[[?[leJ[[[
Z[ESKQ_HBML
ZESNCJDMJ
ZESNMNMO[CQNXSM
ZE]SQOJOBCYP
zeT[[[	[[[
ZeT[[[h[[[l[[[
@ZE@[UBU
zeU[[[D[[[y[[[
zeullllllllmllllOllylm.
zeV[[[2[[[
?Zex[[["[[[
ZEXBSFGXPZ
ZEXG_NCOH
ZEXGQGXHQCEEP
_ZEXMPX_
Zex[[[Q[[[
Z[EXQE@NJNNQK
Z[eX[[t[[[
?Zey[[[8[[[
z|e(y|eHx|e
z|e(y|eHx|eni
ZeY[[[G[[[
ZE@YZ][LHD
?ZeZ[[[:[[[
?ZeZ[[[0[[[
ZEZSBMG[
ZeZ[[[U[[[J[[[
#)))_@Z@]F[
zF3llllllllmlll]Y]]
ZF]AL[HAF
ZFAM]E@EOQLEP]ADLJCZSM_
ZF_[A[OE
ZFbhKN6U
Z][FBHYH[HD
Z][FBLJFEF[
Z][FBL@M
ZFB[[N__@X
Z]F[BPOKHSHD
ZFCDXBAD]C
zfC*ggfG	
zf[[[[D[[[
zFDDL[E@JA]L[
ZFDDL[KHBB
zfdgfGkb
||||z|||F|||Di
ZFDLH[LJFDY[FD@ZLM
ZFDLO@ELYH]A
ZFDLO@ELYH]AT
_@Z@]F[D@N[H]@FGBLP
_@Z@]F[D@N[H]@FGZL[_L[
zFdO[[[2[[[
zFdP[[[?[[[
zFdY[[[t[[[i[[[x
Z_F_EAFEM@NL[L
ZFE[DBM@[
ZFEFF]L[
ZFEF_PL_
ZFEH[JFEH
 )))ZFEH[@Z
ZFEKL[NiAFLNAEGN
')))ZFE_L[
#)))ZFE_L[FB
ZFEL_HGMF
")))ZFE_L[HMM
')))ZFE_L[JAHGNL
')))ZFE_L[MLEL]L
")))ZFE_L[NL]
')))ZFE_L[O@G@ZA
ZFE@MCFKZY[F]LJ]@FG
)))ZFE@M@Z]
)))ZFE@MZH_@GNZ
ZFE@MZH_@GNZ
ZFEvZFJBL]
Zf"eX[[[#
zf@[[[@[[[F[[[
_@Z@F]FFE
ZFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
!)))ZFFGL[
ZF_F@JLZLM
[zfF;pgppepq
Z]FFYLMF[GHDLG]HE@SL
ZFGEPH[LH
@]@ZFGEPYHYL[
zFGF[FQhJ]@_@]P
)))ZFGF[FQHMJ
_@Z@]F[GHDLZYHJL
[ZFGH]@FG
ZFGH]@FGEL_L
)))Z]FGL
zFGMHBBH
!)))Z][FGN
Z][FGNAFFMZL[_L[
Z][FGNEP
Z][FGNKFQ
Z][FGN]@L
;)))Z][FGNLGJ[PY]@FG
)))Z][FGN_YG
Z][FGNZr@t
)))_@Z@FGO@[Z]
ZFGP]]D_
ZFGPDFK@EL
ZFGPJHDL[H
zfgqggjK
_@Z]F[@H
)))ZF[H]AE@FGZ
ZFH@DA[@S
ZF[]]HKEL
Z]F[HNLM@[
)))Z]F[HNLO@EL
Z]F[HNLO@EL
Z]F[HNLY[FO@EL
ZFHQAC]DKBA_H
ZFHSDBBJG]JHCMAD
ZFHYALQK@GH[Pt
Zf[[[[I[[[
zfI[[[O[[[
zFJA[F]F[))
ZFJBHMM[v@G
)))ZFJBL]
zFJBL]hJJLY]
?)))ZFJBL]JAHGGLE
zFJBL]j[LH]L
ZFJBL]LQJLY]@FGZLQ
)))ZFJBL]vJ[LH]L
ZFJBL]v[LHMvJFG]LG]vELGN]AvELG
ZFJBL]YHJB
)))ZFJBL]Z
ZFJBvLQLJ
ZFJBvMN[HD
ZFJBvZ][LHD
)))ZFJBZ
ZFJBZGZHGMHEZ
zFJBz][LHD))
)))ZFJBZYH[LG]Y[FQP
ZFJBZYH[LG]Y[FQP
ZFJD_NSSHDSOMZJCJPX
ZF[JEFK@M@[
 )))ZFJFDLJ
ZFJ@HE))
)))ZFJ@HEA@Z]F[P
ZFJ@HEDLM@H
zFJ@HEZLH[JA
zFJj[PY]
Z]F@J[LHM@GN
zFJNFEZA
z*fK1'pC"qK
ZF[KAQYM@
!)))@ZFKC
Z_FKCAG@MP
@ZFKCLJ]
)))Z][]FKFFE
ZfK[[[i[[[
')))ZFKJHZL
[ZFK]SBO[XOJGP@
Z]F[LDHNG@]
@ZFL]HELZ
zFllllllllmllllOllylm
Z]F[LO[FG]
_@Z@]F[@M
@Z@]F[mF]
ZFMFD@LGZH
zFM@GFB@K@
ZFMOGH@G][OHGF
ZFMP_ABG
]ZFNCYH]L]Z[GQC
ZF_NDMPPF
Z_FNJDJSEQNQD
|ZF[]NL]))
ZFNNOJALGMKE
z||||||||||FO
((_[[[Z[[[[F[[O
_[[[Z[[[[F[[O
Z]FO_AN[DNLBL_S
ZFOHJAZLGC
)))ZFOH[rvEFHM
z)))_FOHZA@FG
zFO]JEHZZ
#)))ZFO]JF[Y
ZFO]L]AL[
ZFO]v_L[Z@FG
ZFO]vZ@N
ZF]OYALPAC
.)))ZF[[P
z:@fpgppepq6
ZFPH]Q_MKHG
ZFPKCHNO
ZFPLNJOE
ZF[[PLQ[FKF]FZ
ZFPPX@JEC[D
Z][FPY[@_FS
_[ZfPZxR[@DBZZ
_[ZfPZxR[@KBZZ
ZFQBG[ZYGJBOQM
)))ZFQLKLS
zf_[[[R[[[
ZF[]vBLPZ
_ZfV[[[w[[[
zfx[[[K[[[I[[[
')))Z]FY
:)))Z]FY
zFYAFZ))
zFYAFZALHE]AZL[_@JL))
ZFYAFZALHE]AZL[_@JL
zFYAFZDJZHNLG]))
ZFYAFZDJZHNLG]
zFYAFZDJZJE@LG]))
ZFYAFZDJZJE@LG]
zFYAFZHNLG]))
ZFYAFZHNLG]
zFYAFZJELHGZL[_@JL))
ZFYAFZJELHGZL[_@JL
')))ZFYAFZ]LZ]L[
zFYAFZML_@JLJFG][FEZL[_@JL))
ZFYAFZML_@JLJFG][FEZL[_@JL
:)))ZFYAFZMLOLGJL
zFYAFZO@ELZJHGGL[ZL[_@JL))
ZFYAFZO@ELZJHGGL[ZL[_@JL
zFYAFZZHOLZ]F[LZL[_@JL))
ZFYAFZZHOLZ]F[LZL[_@JL
zFYAFZZPZ]LDY[F]LJ]@FGZL[_@JL))
ZFYAFZZPZ]LDY[F]LJ]@FGZL[_@JL
ZFYAFZZYZ
ZFYAFZZYZ))
z)))@FYEH]OF[DLQYL[]ML_@JLUQDEE@G]
Z]FYFG@MELLGM
ZFY[FJLZZA@ML[
ZF_YGBMAHL
z]FYmLOLGML[))
Z]FY@ONF@GNFGKH]]L[@LZ
Z]FYY[FYHNH]@FG
ZFYYJA[]J
Z[__F@YZ
z)))FY]Z][@GN
z]FYzL[_))
zfZ[[[F[[[
zFZgyogfG
zF[[[Z[[[K[[[
ZfZ[[[o[[[
zFZPHEk@EN@EL[NLG
Zg[[[[[[
!)))@Z@G]
.)))Z][@G
Zg1qgfG4
zg3fgfGt
Zg7bgfG2)O
Zg7bgfG?a
zg7dgfGG
z(g7egfGb
Z@g7kgfG@;
Zg7ngfGo
Zg9cgfGD
zg9kgfG)
Zg9kgfGd
zG9yyyyy
ZgAagfG8Y*
ZgabgfG|
zgAbgfGX
[ZGADYHXCZL_SABP
ZgaegfGgd
ZgafggGe
zga@gfGX
'ZgAggA# 
zgAgg@vT[
ZGAGJOCS
ZG]AL[GCC[BQNMM
@Z@GAL[@]LMUZLELJ]
@ZGAOX@ZKPMBFG
ZGAQ[KJQS
ZGAQM[QP
ZGASAOH[HOC
ZGAZNZHOX
ZGBBBPQJZYSSLG]OPG
ZGB_BJY@SNPBCNLC_OG
ZGBBKJCXA
zg;bgfG4
ZGBHGQLL
|ZGBIFkDAKCMZ
|ZGBIFlG_FDGILMZ
|ZGBIFlZGXXMZ
ZGBJ[YEL_[J_YYLB
ZGBKX]OX
ZGBKYAQE
ZG_]]BLKEQNXB
ZGBPNK[Y_LYMQDCS
]@@Z@GBPZLAKMSX
ZGBZ[ACHGL
*zgcagfG
Zg)cgfGk
Zg'cgfGK
zg_cgfGP
ZG_CZFPO
ZGDB@HOYMK
ZGDCMSH_
ZG]D]G]DJP]O_]
]zg'dgfG
zg'dgfG___
Zg]dgfGO
[ZGDGQG[[_G[N
ZGDHGX_YP]
ZG_DJ_]JO
ZGDNLFZJX[BKN
@Z_GD_XQ
ZGDYvD@K
Z[GEAH]GSP
Z_GECCHLZ
Z!gEdgfG
zg'egfG9
 ZgEr)qy
Z)))@G_FBL
ZGFDL@DN
ZGFDLH[X
ZGFDLLQL
ZGFDLMEE
@Z@G[FEL
")))ZGFFY
ZgfG2G4mgqggR
ZgfG]A!	gqgg
Zg!fgfG;
Zg'fgfGQ)
Z(g]fgfGY
ZGFGHDLZ
zgfGIvLzgqgg
)zgfGkzZ
ZgfGVSQ?qD3
ZGF]LYHM
@	Zgfwo]
ZgGagfGPP
Z]GGA_QA[
ZgGbgfG8
zgGcgfGw
ZgGdgfGN
zgGdgfGo
zGgebgfGcs
zgGegfGr
ZgGegfGu
zggfgfGg
zggfGN Q
'zg'ggfG
Zg#ggfGO
zg[ggfGx
zGgggGld
zggGpF?CiD"
#(ZggGT5
]ZGGHDQY]SANPQL]
ZGG[@KBYXLOOCLBM
zGg_kgfG
]ZGGM[CC[
@[ZGGOC[
|Zggqgg-
zgGsgfGSBP
Z)ggwgfG
Zggw*TwK
ZGGXKCNEQP
ZGGZMBOG
ZGHBKOECLQ]
ZGHBQZ[P
[[]ZG]HD_
@Z@G@]@HE@SLM
ZGHJQG[YC
ZGHQGNNYP
ZGHS_Y_BMM
ZGHYJHZ]
zGHYZAF]))
ZGHYZAF]
ZGHYZAF]Z
ZGHZCODJZYPZPHC
ZG[HZLK_
zgIagfGthG
zgifgfGei|
Z@GJAP]A
ZGJEHL][NYOY]
ZGJFZOLKCM
zg)jgfGjs
ZG]JJA]X
Z_GJKMLPXDAFC]
_ZG_JOANPZA
ZGJOKKNPXMA
Z_GJP_HPHYM
Z]GJXJHHDFDC
ZGK_CH[X
*ZgKegfG
ZgkfgfGr:
Z	g#kgfG
Zg	kgfG?
zg[kgfGk
zg_kgfGs
Zg]kgfG;w
ZgkmgfGbk
Z]	gkmgfGq
[ZGKNDGNKB
ZGKPNOMH[
ZGKXCFHAN
ZgLdS[[[
z)))GL_HE
||||z|||G|||Li
ZGllllllllmllllOllylm-r
ZGLNAPASHL
ZGLPO@ZPOH
ZGLP[QQM
ZGLXJ]BB
]ZGL]_YPX_E
ZG]MDAPZP
@Z.(*gmegfG
zgMfgfGF#
zg'mgfGA_
ZGM@G@]MLOP
ZgMkgfGH
ZGM[MAXCFAQF
ZGMMLHMHC
ZGMO]MJSQJXZ
ZGMOO]CL
ZGMPB[EZZGY
ZGMQMENSN
z][@GN)(
z][@GN))
 )))Z][@GN
((Z][@GN
)))[Z][@GN
)))Z][@GN
*:(Z][@GN
?)))Z][@GN
Z][@GN))
ZGN_AABO
z][@GNa]]Y
z][@GNa]]YZ)(
Z][@GNCH_H
Z][@GNDL]AFMGHDL
Z][@GND@M
;)))Z][@GN][@D[@NA]
Z][@GN][@D[@NA]
z][@GNdZA]HlQL))
z@GNELbLPqF[mH]Hh[[HP
Z][@GNELG
Z@GNELKFFB
Z@GNELvKP]L
Z@GNELYHNL
Z@GNELZLEEL[
z][@GNFMKJJFGOlQL))
z][@GN|G@GZ]HEE)(
)))Z][@GNGHDL
')))Z][@GN@GZ][
;())Z][@GNH
ZGN_HLNOSJJHN
')))Z][@GNHMMJ[
z][@GNhYYMH]HeFJHE)(
z][@GNjDMlQL)(
Z][@GNJFDDHGM
z][@GNjFDDLG]Z
z][@GNjFGJH]
Z][@GNJFG]LG]
z][@GNk@GzA))
z][@GNkHZL
z][@GNlDY]P))
Z][@GNLGJ[PY]
ZGNLGOG[
z][@GNlG_|ZL[ZoFEML[
Z][@GN[L_L[ZL
?)))Z][@GN[LNLQY[LYEHJL
z][@GNlql
Z][@GN[LYEHJL
Z][@GNM@[
z][@GNmH]H))
Z][@GNMH]H
Z][@GNMLJFMLMJG]G]
Z][@GNMLO
Z][@GNMZ@
z][@GNm@ZYEHP
z][@GNm@ZYEHPgHDL
')))Z][@GN[@NA]
z][@GNo@ELlQ]LGZ@FGfOO@JL))
z][@GNo@ELlQ]LGZ@FGh[JA@_L))
z][@GNo@ELlQ]LGZ@FGhMFKL))
z][@GNo[FDjAH[jFML
z][@GNo[FDjAH[jFMLjAH[jFMLh]))
Z][@GN@OP
z][@GNPOPZL[@HE@SL
)))Z][@GN]PYLGHDL
ZGNQQNPYP
)))Z][@GNr
Z][@GNR_H[H
Z][@GNrJ
Z][@GNrMt
Z][@GNrNt
Z][@GNrO
Z][@GNR@O
Z][@GNrOO
Z][@GNrOOt
Z][@GNrO[t
Z][@GNrOt
Z][@GNrQOt
Z][@GNrQt
Z][@GNr@t
Z][@GNr_t
Z][@GNru
Z][@GNrv
)))Z][@GNt
Z][@GNtwvIHK
(*Z][@GNvFOOZL]
)))Z][@GNvFOvCZFG
Z][@GNvFOvCZFG
ZGNXAXE[GQ_]YCP
ZGNXZMHEZB]C
z][@GNy[FN[HDo@ELZ)(
z][@GNyH]]L[G))
[ZGNYNDDNGGE]DO
z][@GNyz
#)))Z][@GNZ
')))Z][@GN@Z@G]
z][@GNzPZGL]ZO
')))Z][@GNZYE@]
Z][@GNZYE@]
ZGOA@ZXC
	z'gOdgfGN
Z@GOF[DH]@FG
Z-gofgfGF9e
zgOggfGZ
ZgOjgfGi
ZGOJH[[@L[
|[ZG@Oj[PY]
ZGOJQPZHCBMQN
ZgOkgfGUq
Z@GOLJ]LM
')))ZG@OOA@]
Z]GOOEJEDJODXCPJ[]
ZgooggGD
ZG@OOvIMH]L
ZgougfGD
zg@oyhgfGYx
[ZGPBCCJG
ZGP[CP]ZHEBE
#zg]PefG
@]_ZGPK@
[]Z_G@_PMXHGSD
_ZGP[NGXEC
ZGPPLN_CGH
ZgqbgfGXmr
ZGQ[[EYOXA
Zgqgg0qB
z.gqgg1*
Zgqgg1:7
zgqgg1GC
zgqgg1m.X	v
Zgqgg2Tin
Zgqgg5lJ
)Zgqgg5V
zgqgg(7	
Zgqggaazr
zgqggbw(
-zgqggbX!G4
Zgqggcd4zSk.I.
ZgqggcnuDm
ZgqggcnuDyf
-zgqggdPDd3g[
ZgqggeL-
ZgqggF1;
zgqggf5B
ZgqggFdR
z[gqgg'G8i
zgqgg'G8i
Zgqggh"t
Zgqggic;
Z_gqgg!IQ
Zgqgg[	J
ZgqggjMJ
zgqggK79l:
ZgqggK]R
zgqggKSl
ZgqggKSl
;Zgqgglg
zgqggL;I
z]	gqggN8
zgqgg?_O
ZgqggOiE
:zgqggoTD	
Zgqggp'[
Zgqggpqs
ZgqggQ_1
zgqgg	q5
.zgqggQZ
zgqggspS
*Zgqgg]U
[ZgqggU1k
zgqgg]UL
zgqggV@)
Zgqgg|Vq8J
Z)gqggW1
zgqgg-yeL
ZgqggY'R
z'gqggYs
z|gqgg_Z
ZGQGOAX@
Z[GQ@H]DS
zgqITllllllllmllllOllylm
ZgQkgfG?
[ZGQ_LCCN]
ZG[QMCGC
ZGQOPPB]DMAJHS
zgQRSSSSS
zGQRSSSSS
ZGQXMYHNJPXGQYZFPMHC
zgscgfGJ
ZGSGPPXQL
ZGS_LZGS
ZGS_PJBMXYKN[
ZGSSDLYDSQ
ZGSYGXQ]G
zg]tgfGW:3
ZgUBgfGe
zgU'gfGn
!zgUkgfG
zg-vgfGZ
Z@GvYF[]
zG@@@@@w@@A@AAac
ZgwdgfGa
Z_gwegfGA
Z_gWfgfw
Zg_wggGm"
ZgWkgfG"4
ZgWlgfG!E
zgWngfGI
ZgwSgfG"
zGx																													
ZGXBBMSQLAJQ
ZGXCYHBLDYKX
ZGXD[CNQ
ZGXG]OKMDO
ZGX@JAHGHJXOA
Z]GXME]EMQDJHP
Z_GXZYOJX
ZGYAHQYLD
ZGYANHJESP
]ZG[Y]KM[
ZGY]NOFGBK
)))ZG@YY@L[
ZG@YYL]]LQ]
ZG@YYL]Z
"ZGyyyyy
ZGyyyyyYh9yyy
ZGyyyyyYk9yyyiM
zG]YzL[_@JL))
ZG]YZL[_@JL
ZGZANXD[PDJC
Z[G[ZCAMLDCM
Z_G[ZGQ]J
Z)))@GZ]HEE
ZGZKLBEJSOPM
	)))Z]H[]
!)))Z]H[]
")))Z]H[]
#)))Z]H[]
')))Z]H[]
)))Z]H[]
)))Z]H][]
.)))Z]H]
:)))Z]H[]
;)))Z]H[]
?)))Z]H[]
|)))Z]H[]
zh(4-?:7 V
z[[[H4jex[[[
)))ZHAEFGE@GL
Z[HAG[BAKA
z][H]AH[
Z]H[]AM@[OKZAL[
ZHAPZLM_GYD[H
zhaqgAggT
ZHAXGGBP[_Q
ZHAYCSFC
)))Z]H[]A]]YZ
Z]H[]A]]YZ
Z]HBHBFM@DFE@D
ZHBHDF]F
Z]H[]BLB
Z]H[BL_L[KLG
ZHBMNKOKODD[NL
ZHBMYMJLMA
ZHBOGNL_
ZHB]XAASMBSCJF_
zhBxNxIx
]Z_HBXYOZKF
ZHBYKDJ_
_ZHBZ_G[
ZHBZO[LDELNN
Z[H]BZZ[ZM]M
Z]HCJPNYDHDPE
ZhcllllllllmllllOllylm
@Z[H[[CQCEFYK
ZHCSHXPJQNQLS
ZHCY[O@QS
ZHDBHF]FBE@DH
Z)))HDDH[HBA@SL[BAHG
ZHDDLGE@NG@GNL[
ZHDDXXXYLGG
ZH[[DDXZYPA]
ZHDEHK]MK
ZHDF]H[@
ZHD[H]HZAFB
zHDhJJ))
Z]H[]D@J[FZFO]
zHDKHj[PvGHDLMY@YL))
zHDKHj[PvGJ[YJ))
zHDKHj[Pv[YJ[]))
zHDKHj[PvY@YL))
zHDKHj[PvZAH[LvAFDL))
zHDKHj[PvZAH[LvDG]DLM@H))
zHDKHj[PvZAH[Lv_H[ZHDKH))
zHDKHj[PvZAH[LvZAH[LM))
ZHDKOKKYSM
ZHD[LDF]L
ZHDLK@]Z
ZHDLMFDH@G
ZHDPY]OXE
ZHDQELLYACOO
ZHDSE_[OKPFY
zHdU[[[b[[[
)))ZHDv@]
)))ZHDv[LDF_Lv@OvGFv[
ZHDXNZA_OMJK
ZHDYEL[Z
Z]HDY@GN
z]HDYHMFvb@EE))
z]HDYHMFvgHDL))
z]HDYHMFvzLEOmLE))
ZHDZHGMKL[N
)))Z]H[]DZ@LQLJ
;)))Z]H[]DZ@LQLJ
[Z]H[]DZ@LQLJ
zhd|ZL[Z))
Z]H[]DZN
ZHDZN][H@]LY
ZHDZNZHSF
[Z]H[]DZw@wLQLJw[EB
ZHEAHQEB]O@NDCCM
ZH[@EC[]XKOB
ZHEDFGEHMML[
)))ZHEDHGDHG@
ZHEECAKSQ
Z]H[]EEEEEEEEE
ZHEGLZK@J@
ZHE_H]@FG
ZHEHMM[LZZ@GN
ZHEH[P@Z
ZHEHX[GJ
#)))ZHEHZHGH
Z@@H@EJKM
)))ZHE_L
@ZHE@_L]ALGEFJHEM
ZHE]L[GH]LG]YZL[_L[
ZHE]LMvv
ZHEMBKKJXO
ZHEMFGBL
ZHEOBHBLG
ZHEOJHZGH_
ZHEQHBEN
Z]H[]]EZ
ZHE]Z]HJB
)))ZHFAHFLHFEHFEHF
z][H]F[B
ZHFBE_BCMBC
ZH[FF]ZALEE
Z]H]@FGZ
z]H]@FGZhJ]@_@]P
ZHFM]SXDMEA
)))][@Z]HG
zHg1qgfG
ZHGBAPHZFE
Z]HGBFDLEHGM
ZHGBNHHLHSSDOQ
ZHGEF[LGSFPHJA]
Z]H@GELZZZ]LLEJFEE@Z@FG
)))Z]H[]GF]LYHM
Z]H[]GF]LYHM
)))ZHG]FM@HKEF
;)))ZHG]HGML[
ZHG]HGML[
ZHGHN[HO@Q
Z][H@GJFDYH[L
ZHGJ]@FG
ZHG_@JLG]L
zHGKFQmL]LJ]))
Z]H[]@G]L[_HE
)))ZH@G]LJALEFG
ZH@G]LJALEFG
.)))ZHGM@
#)))Z[HGMFD
Z]HGMHEFGL
Z]HGMHEFGLvDFML
Z]HGMH[M
Z]HGMH[MGF]LZ
Z]HGMH[MK
Z]HGMH[MKFMP
Z]HGMH[MKHGB
Z]HGMH[MKHGBFGE@GL
Z]HGMH[ML[[F[
@[]zHGMKFQ
;)))ZHGMKFQ
?)))ZHGMKFQ
zHGMKFQjALJB))
zHGMKFQl_HZ@FG))
ZHGMKFQ@L[YJZZ
ZHGMKHNNL[ZNFEO
zHGMPl_Hh))
zHGMPl_Hj))
zHGMPl_Hk))
zHGMPl_Hl))
zHGMPl_Hm))
ZHGM@ZBQZMZZMAY
Z]H[]@GNAHGMEL[FGYF[]
Z]H[]@GNHMKZL[_L[
Z]H[]@GNJHEEZ@O
Z]H[]@GNL_@EFZQ_
)))ZH_@GNZ
)))ZH_@GNZALG
ZH_@GNZALG
)))ZH_@GNZHMMFG
ZH_@GNZHMMFG
:)))Z]H[]@GNZL[_LF
)))Z]H[]@GOF
Z]H[]@GOF
ZhgqggrL
ZhgwpgfG
Z]H[]@GZ]HEE
ZHGZPNSSXZ
Z]H[HEL_H]F[
Z@HHHHHHHHHBZ
z]H[]hJ]
Z]H[]HJ]
z]H[]hJ]@_@]P
ZH_HMD@GZL[_@JL
Z]H[]HMM[LZZ
#)))@ZH[[HP
ZHHXOHKY
z]H[]hYY
_@Z]HH_ZLJ
)))Z]H[]J
ZHJAAGJQSL_
Z]H[]JA[FDL
Z][HJAHGJEH[B
Z]HJBv[L]vFOOZL]
z]H[]jDM))
zHJELZ]F
Z]H[]JFDDFG
z)))HJ]@FG
Z][HJ]@_H]@FG@M
ZH[JHHHK
Z][HJJDQ]
Z[HJLAAXJ
[ZHJL[]@O@JH]LLQ]LGZ@FGZt
Z_H[JNPS
ZHJOC]EYLQD
Z]H]@JO[LL
[ZHJ[PY]FZL[_@JLY[F_@ML[t
ZHJZ_[))
z())_H[]K
Z]H]KEFNZ
Z]HKELDH[BL]
ZHKFAZYK
ZHKF]HNL
)))ZHKH@]AH@DHZZHNL
ZHK[@H[@BHG
z]H[]kHMkF]Z
')))Z]H[]KHMKF]Z
z)))HKJ]OANQNANANAN
ZHK@]KEFN
)))ZHKKH]A
ZHKLCGZPFBZ
ZHKPDBQ_XJ@FDB
Z]H[]KP]L
ZHKQGY]KCXCZ
ZHKXQ]QA[QE
#)))][@Z]H]L
Z]H[]L[()
Z]H[][LDF]LMLZB]FY
Z]H]LDLG]
_@ZHLELJ][FG
ZHLEYH_K
ZH_L]FJFG
)))ZH_L]F]LDY
)))ZH_L]FO@EL
ZH_L]FO@EL
ZH_L]FO@EL))
ZH_L]FO@ELDHHZ[
ZH_L]FO@ELDPMLZ]O@EL
ZH_L]FO@ELF
ZH_L]FO@EL]FYH]A
ZH_L]FO@ELJA[
ZH_L]FO@ELMZO[Z[A
ZH_L]FO@ELO@ELGHDL
ZH_L]FO@ELOF[O[L[
ZH_L]FO@ELOG
ZH_L]FO@ELZ][O@EL
ZH_L]FO@ELZ][ZH_L]F
ZHLGBSOPBND
ZH_LH]]HJADLG]
zH_L[hMMFGzPGJ|[E))
)))ZH_LHZ
?)))ZH_LHZ
ZH_LHZHYY
@z(hLJ@@@@@
Z]H[]LJAF
ZHLKHHNOHLS
ZH_LKPJE@JB
Z]H]L]LJAE@GB
zHllllllllmllllOllylm
ZH)llllllllmllllOllylm
zHllllllllmllllOllylmi8 
)))ZH_L]LQ]MH]HZALEEYH]A
Z][H]LN@LZ
__ZHLNXBAA
zH_Lo@EL))
ZH_LO@ELOG
ZH_LoF[fOOE@GL
ZHLO_KGCMYPDKBC
z]H[]lQYEF@]))
')))Z]H[]LQYEF@]
z]H[]lQYEF[L[)(
Z]H[]@LQYEF[L
Z]H[]LQYEF[L[
)))Z]H[]@LQYEF[LA]]Y
ZHLXP[KNCNMX
zH_L[y[FzPGJ|[E))
)))ZH_LYH]A
ZHLYHAKK
Z]H]LZAH[LZH_LG
ZH_LZ]H[]]@DLHGMMH]LOF[YL[OF[DHGJL]LZ]@GNLJAF
]]ZHMACQBOZY
ZH@M]AL_F@JL
#)))@ZHMD@G
@@ZHMD@G
Z]H]MFDH@G
Z]H[M[F@M
Z]H[]M@H[@F
_@Z]HMH]HOF[DH]HZ
Z]H[]MH]L
ZHMJNZNQAK
ZHM_]LBSDS
ZhMlSSSSSSSSSSSSSSSSSSSSSSSSSSSSQ
ZHMMLEDHNL[GL]LELDLZ]L[Z
Z]HMMvALEY]MLZJ[@Y]@FG]L]L[GHE[FDHGJLZ
ZHM]_[SXMOY
zhMxVxHx
Z]H[]M@[Z
ZHNAQEDLHNSM
)))Z@]HNFH
Z]H[]NGFDL
Z]HN@GNBLP
Z]HN@GNHYYZ
	)))ZHNHD@
z)))]H[NL]
#Z)]H[NL]
Z)))]H[NL]
#z)]H[NL]DFML
z)))]H[NL]DFML
ZHNLDH]A
Z]HNLFGL
]ZHN_]LH
ZHNNQNAB[H
ZHNSJAZQY
ZHNSZPD@QLB
ZH_O]AGQNJ
ZHOB[HX[AA
'()ZHOH[@
.)))ZHOH
zH@OhJ]@_@]P
zHOHj[PY]L[)(
)))ZHOH[@LQ]S
ZHOH[@LQ]S
ZHOH[@rH
zHOJH]@FG
ZHOKL[GAH[M
ZHOL]LZ]
#)))ZHOLOF[D
ZHOL]PEHM
ZHOLvDFML
)))ZHOLvDFMLHGMFYLGvKHZLM@[KPYHZZYAY
ZHOLZH_L
ZHOLZH_L[
zHOLzLH[)(
ZHOLZLH[
)))Z]HOOF[MA_HJZL[_@JLZ
ZHOQDZMCJJHCK
[ZHOQYSSKDP
ZHOS_CYEJ
Z]H[O@ZA
ZH[OZ]X]O
ZH_P]BABN
[ZHPCHXDXBXMZ
Z]HPFGYHNL
Z|Hpgppepq
)))Z]HPH]AFDL
ZHPMYXPZ
Z[H_P]SC
z]HP]vhk
z]HP]vjj
z]HP]vko
z]HP]vll
z]HP]vml
z]HP]voh
z]HP]voo
[ZHPXJD[]MH
Z@H]PXQSJLBH]ZCZBMQFC
ZHP@YFPGXL
ZHQFHXS]B[F
ZH]QJBL[CP@[
Z[HQL[CQOJSQ
Z]H[]Q[LO
ZHQPOZYMZSNC
zHqXxxyx
zHqXxxzx
zhR.:7 R
zhRRRRRRRRRRRRRRRRX;
zhRx.x:x7x xRx
ZHS[J[EL
ZHSMD__YAG[GM
ZHSNHEQX
ZhSogfGYwP
Z]H[]v]@DL
zhVDwgfGd
)))Z]H[]vEFNNL[
Z]H[]vHE@NGLM
Z]H]vJGSS))
;)))Z]H[]vLGJ[PY]@FG
Z]H[]vMFZvH]]HJB
Z[H]vNF_GF_vLKHG@D
Z]H[]vNYZv][HJB@GN
[z|HVz|L
zh_WPJMKUb:
[Z]Hw[w]wDwZw@wLQwLwJ
ZHXAB[Q]GLBME[
ZHXDXS]LH
ZHXKK]XJGNH_XGFHX
ZHXLSSK@
zHxXFFX6-4
zh xXxIxHxVxAx
zhxxxZXW
ZHYCEYEZONYXPL
Z]H[]Y[F
z]H[]y[FJLZZ))
z]H[]yGNo@EL))
)))Z]H[]YH]A
Z]H[]YH]A
z]H[]|YhJ]@_@]P
z]H[]yHNL
z]H[]yHNL))
z]H[]YHNL
z]H[]YHNL))
Z]H[]YHNL
)))@Z]H[]YHNL@GN
z]H[]yHNLhJ]@_@]P
ZH]Y[LM@J]
ZHYMMYHGSO
[Z]HYNEO
@ZHYYEFJBL[LGHKELM
ZHYZBA_]EJ
)))Z]H[]YZLQLJ
|zHyzxjx
[)))ZHYZZJA]HZBZ
!)))Z]H[]Z
)))Z]H[]ZAL
)))Z]H]ZALL]
Z[HZB[XSQ
ZHZDF]@H
Z]H]ZDHN
ZH]ZFBHE
ZHZFEH[LGL[NP_HEZHM
Z]H[]Z]FY
z]H]ZhJ]@_@]P
Z]H]@Z]@J
)))ZHZJAYL
z]H[]ZJ[LLGhJ]@_@]P
z]H[]zJ[@Y]))
Z]H[]ZJ[@Y]GHDL
)))Z]H[]ZJ[@Y]LELDLG]
Z]H]@Z]@JZ
[ZH_ZLCC
z]H[]zL[_@JL
ZH_ZL[_@JL
ZHZLNMDZP
Z]H]ZO@EL
ZH]@ZO@LM
Z]H]Z]PYL
zHZxTxZx1x
zhZxXx(x
)))ZHZZ@NG
ziAg3ggfG
ziazcakbamae
zI@@@@B@A@@
Z@@@@I@BA[p_L
z[[[)I_d_[[[
Zie)HydG
ZIfILllllllllmllllOllylm
Zig'dgfG
Zi[!g_dgfGieg
ZIgkdgfG
zIgqggw_
zIgWegfG
ZII?XGGKXGG?TDD0SDD
ZIi!ZIiQZIi
|ZiJhggfw
z|IJOVHVHVIX
zI@@@@@k@@A@AEac
zIllllllllmllllOllylm
Zi|llllllllmllllOllylm
Z	?Initialize@ClassInfoBase@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG_NPEBQEBUPropertyInfo@2@I@Z
z||||||||||IO
Zip File Already Open
zIpgppepq
Zi pgppepq
Zipgppepq
ZipInfo_390
(ZipSfx)
zIQgwkgfG
zIQRSSSSS
Z[iX[[t[[[
zi|Xxyxx
#)))ZIYE@]
z|iyo ky@
ZJA]CHZXYMBJ
z)))JADFM
ZJA@EMKHJA
ZJAFEH[ZA@YZ
ZJAFFEN@[EZ
ZJAFFEZ))
zJAFYL]Z
')))Z_JAFZ]
)))Z_JAFZ]
ZJAGH]]L[L[
")))ZJAGL@ML[
ZJA]HAK_DNZGJ
z)))JAH[JFMLH]
 )))ZJA]HZB
#)))ZJA]HZBZ
)))ZJA]HZBZ
])))ZJA]HZBZ
ZJA]HZBZ
zJA]HZBZz][@GN))
	)))ZJALDHZ
)))ZJALDHZ
ZJAMEFHM
ZJAN@YX]QP
]ZJAvLQLJ
ZJA[XJASQO
ZJAYJQDL
ZJ[A]]YZ
z@JBHNL[
z]@JBjdm
ZJBJL]ZMPC
ZJBKJO@YNM
ZJBK_ZCCMCC_
Z[J_[BLGX
Z]@JB@LZ
ZJ]BXSSYHXJKAZS
Z@JBZ]HJAL
_ZJC[AMFC
@ZJ@CAMK
ZJCHC]DYGAX
_Z][JCJPM
Z_Jd_[[[
ZJ[DBHHKQMGS@
ZJD[@DF_O
ZJDEBAAY
[[[ZjdeQ[[[4
z][@J]dFML
Z][@J]DFML
ZJDGKOFJHKM_KMYL
ZJDL_LG]O@E]L[
)))Z][JDM
ZJDNDXEQ
[ZJDSQD]BO
ZJDYFZYSZCLXMY
zJd][[[Z[[[
Z]JE@LG]
@ZJE@LG]JFGGLJ]LM
ZJELYCCAO[
ZJENHSEJ
ZJEQ[MAHGEX@LCYYXXAHC
ZJ]EQNQO
Z[JESCCLi
Z[]JEZPYDKLP[KSPAH
ZJF]]CLAE
	)))ZJFDDHGM
ZJFDMLJ[PY]
ZJ[FEEELO]
ZJ[FEE]F
ZJ[FEE]FY
ZJ[FEE@GN
ZJ[FEEKH[Z
)))]ZJFEH[@
Z@JFF[ML[
Z]JFFXZZM@NJ
ZJFGEFNFG
ZJFGGLJ]
Z][JFG]H
z][jFGJH]
#z)JFG]LG]
z)))JFG]LG]
ZJFGZ]H[]
zJ[FKC))
!)))ZJ[FKC
(!ZJ[FKC
ZJ[FKC))
ZJF[L]H[F]
ZJF[LKFH[M
ZJF[Y@FG
@ZJFY[FN[HDHJ@FG
ZJF]]YH]]FG
[Z[JFYiiErCDZ_K_D
zjFYLGE@GB))
ZJFYLNEFKHE
ZJFYLY[FJLZZKPYHZZ
*(!Z@J[FZFO]LMNL
Z[JG]BEN
ZJGFNXLAHPAB
ZJG@LJQGN_
ZJGLOHXXBN
ZJ_GPZLGOYNHBZ
zJgqggHM
?ZjgqggJD
zJ#gqggKSl
zJgqggkVhP
ZJ[GZH_LKHJBMFF[
Z][JH]DGEY]A
ZJ[HDKELMLNNZ@O
zJHDyHNL
ZJHDYHNL
ZJHEHKEL
ZJHELJ[FY
ZJHFOZCO
ZJHGDBM@[
ZJHGDLM@J
z'Jhggfw
zJhggfw#
ZJhggfwe
z?Jhggfw.s
ZJHGG@GN
ZJHGGLMMFJ
ZJHGGLMMFJZv
)))ZJHGGLMO@ELEFJBLM
ZJHGGLMO@ELEFJBLM
ZJHGGL[vO@ELZ
ZJHG[H]L
zJHGKFQ))
ZJHGLBLA
#)))ZJHGM@[
ZJHGNGDL]
ZJ]HKJ]OANQNANANA
ZJ]HKJ]OANQNANANAC
ZJ]HKJ]OANQNANANANZJ]J
ZJ]HKJ]OANQNLNAM@
ZJ]HKJ]OANQNLNAMA
ZJ]HKJ]OANQNLNAMY
ZJ]HKJ]OANQNMNANA
ZJ]HKM]OANPNLNAMY
ZJ]HKM]OANPNLNAMYB
ZJ]HKM]OANQNLNAMY
ZJ]HKM]OANQNLNAMYB
_ZJHL[__
ZJHLBQJQOOA][A
Z[JHMAG_K]SAYB[
ZJHM@GOF
Z][JH]MYH]A
Z][JH]MYH]AEZY
Z_JHNGSDLYJ
ZJHNKCYK_SGHJYEO
ZJHNXCMMK
ZJHOHGMNXAP
ZJHPFHOHSG
_]ZJHQX_QD
ZJ[HSCEYGJA@KMGYP
Z][JH]YH]A
Z][JH]YH]AM
]Z]J]HYXBHSQD
ZJ[HYYPHYY
ZJiZMMESLCMZ
)))ZJJFGO@N
|)))ZJJFGO@N
)))ZJJFGO@NDKLGMYF@G]HNLG]Z]H[]
)))ZJJFGO@NDZZXEZL[_L[HMALEYL[Z]H[]
ZJjFGO@Nm@ZHKEL))
zjJHDO@EL[LJL@_L))
ZJJKSJN_CYZ@QECH@@AA]KN
)))ZJ	J[LH]L
ZJJLYFFKNJ
zjJogfGI
ZJJPN]]MYGHS
ZJKCHBQH
]ZJKC@ZM
ZJKJYPQQOKPL@_CZ[DHL
ZJ_KL@NYC
ZJKZKKPQ[
Z[JLBLG_LOKACPK
ZJ@LDPZCJAPPZGMQLL]
ZJLEHJJC
ZJ[LELDLG]
[Z[[JL@G
ZJ@LG]@H
ZJLGH[@Fv@M
ZJLGH[@FZ
ZJ@LGJLJH[MZ
ZJLGLZH_LM
)))ZJ@LG]@O@J@DHNLZ
z)))J[LH]LFKCLJ]
Z][j[LH]LfKCLJ]
Z)))J[LH]LFKCLJ]
_ZJLJENCLGAPE
ZJ[LLGAF]
ZJ[LLGAL@NA]
zJ[LLGjHYnF
ZJ[LLG[LJF[ML[
ZJ[LLG]LZ]
zJ[LLGvzYEHZA
zJ[LLGZAF]))
ZJ[LLGZAF]
ZJ[LLGZAF]FKCLJ]
ZJ[LLGZAF]YH]A
zJ[LLGZAF]yHNL))
zJ[LLGZAF]Z
ZJ[LLGZEFJB
)))ZJ[LLGZH_L[
ZJL[]@O@JH]LvAHGMEL
***ZJ[LQL
ZJ@LSX@[CYCGACXCMZA
ZJLZ]YQYCM
ZJMCABDJ[
ZJMFDH@GE@Z]
zJ@MhGM[F@MhJ]@_@]P
ZJMJDFMLZ
ZJMJE@Z]
ZJMJLBXKN[BXPANOJ
ZJ]MKM]OANPNLNAMY
#)))ZJMLEL]L
)))ZJMLEL]L
?)))ZJMLEL]L
ZJMLEL]L
ZJ]M[M]OANPNLNAMR
ZJ]M[M]OANPNLNAMS
ZJ]M[M]OANPNLNAMY
ZJMNBMZPFSBC_SY
Z[JMQEOZ
ZJ_MYM[MJGGJJXQHSBN]OL_F
Z_JNDNFL_QM
Z_JnLGL[@JaFZ]))
Z_JNLGL[@JAFZ]
ZjnllllllllmllllOllylm
Z]JO[AZOB
ZJOB[ZPOLGB[LOD
ZJ[O@ELMLEL]L
ZJONNASY
ZJ[OOKDNMDXQA
_Z_JO]OYMZPYKP[SCN
Z_JPFNHBP
zjpgppepqWn
ZJPHON]L
[ZJPMGOM[
Z_[J_PONH
ZJ[QFEQN
ZJQN[_OF@H
ZJQvFYL[H]@GNZPZ]LD
zjqzALEEjDM))
Z[[[[[[[j[[s
ZJSB@XGD[
ZJSCG]MZ[OOA
[ZJSEXQBALNL
ZJ][SM]OANPNLNAMS
ZJSPAZMGA
_[ZJS]PNFCJ
ZJSX_PMCB
ZJS_ZZ_MM
ZJvFOOZL]
ZJvJEFZL
ZJvKH]JA
ZJ]WZJ[@Y]EL]
Z[[J_XACZ_P
ZJXCCBNLCBG@
ZJXKA[SXPPQ]
ZJX]MYPYB
ZJXNXEHAQGH
zJ[@Y]))
 )))ZJ[@Y]
((ZJ[@Y]
)))ZJ[@Y]
.)))ZJ[@Y
ZJ[@Y]))
ZJ[@Y]AHZLQL))
__ZJYAKYDGAAE
Z_JYCBBAOD]]
ZJ[@Y]CFK
ZJ[@Y]DM
ZJYDSSQQ]P[S_
ZJYEELNE
ZJ[@Y]EHGN
zJ[@Y]EL]))
)))ZJ[@Y]EL]
ZJ[@Y]EL]
)))ZJ[@Y]EL]J
)))ZJ[@Y]GHDL
ZJ[@Y]GHDL
zJ[@Y]@GN
)))ZJ[@Y]@GN
ZJ[@Y]@GN
ZJ[@Y]@GNLGN@GL
zJ[@Y]hJJLZZmFDH@G)(
ZJYHJYHZ]_XS
ZJ[@Y]JAH[ZL]
ZJ[@Y]JF
ZJ[@Y]JFG][FE
ZJ[@Y]JFG]LG]]PYL
ZJ[@Y]JFML
zJ[@Y]kEFJB))
ZJ[@Y]KEFJB
zJ[@Y]kEFJBeFNN@GN))
ZJ[@Y]KHZLMLQL
ZJYKYPGQD
ZJ[@Y]LGM
ZJ[@Y]LGN@GL
ZJ[@Y]LGN@GLD@GF[_L[Z@FG
ZJ[@Y]LGN@GLDHCF[_L[Z@FG
ZJ[@Y]LGN@GLDHGHNL[
ZJ[@Y]LGN@GLDHGHNL[CZ
ZJ[@Y]LGN@GLJ[LH]LK@GM@GNZ
ZJ[@Y]LGN@GLLQY
ZJ[@Y]]LQ]
ZJ[@Y]LQ
ZJ[@Y]LQJLY]@FGJMLOCH_H
zJ[@Y]lQLJ
ZJ[@Y]@M
ZJ[@Y]M@[
ZJ[@Y]MFDH@G
ZJ[@Y]M@[[LDF_L
ZJ[@Y]MLOL[Z[J
zJyMyLyOyNy
ZJ[@Y]O@ELGHDL
ZJYP]MHP
)))ZJ[@Y]]PYL
ZJ[@Y]]PYL
)))[ZJ[@Y]]PYLDHZBLMr
ZJ[@Y]uQ
:)))ZJ[@Y]vDHJ[FZ
ZJ[@Y]vE@GB
ZJ[@Y]vGHDL
ZJ[@Y]vM@[
)))ZJ[@Y]vM@[T
ZJ[@Y]vOJ
]ZJyxRxWx9x
ZJYXYOL]A
ZJY]ZDSJO@AJEOAA
	)))ZJ[@Y]Z[J
)))ZJ[@Y]Z[J
ZJ[@Y]Z[J
ZJ[@Y]ZJ[@Y]EL
zJ[@Y]z@NmLJFMLM))
ZJZ[C[OO
]ZJZ_EM]HG[K
ZJZFJOMDNYBMPXQC
!)))ZJZ]FY
zJz]FYjH[KFGkEHJB
 )))ZJZ]H[]
#)))ZJ	Z]H[]
zjZ]H[]@GNzL[_LF))
ZJZ]JC[QSAK
)))@ZJZ@JE@@ZJZ@JE@
ZJ]ZJ[FKC
ZJ]ZKM]OANPNLNAMY
zjZLGME@GB))
ZJ[ZL[_HEE@GZ]
ZJZOOZGSM
ZJZOYXKQZL
ZJ]ZSYSDPNZQB__[P
"_[[[Z[[[K[[[
)_[[[Z[[[K[[[
*_[[[Z[[[K[[[
:_[[[Z[[[K[[[
[[[Z[[[_[[[[K[[
_[[[Z[[[K[[[
_[[[Z[[[K[[[ 
_[[[Z[[[K[[[#
_[[[Z[[[K[[[(
_[[[Z[[[K[[[)
_[[[Z[[[K[[[*
_[[[Z[[[K[[[?
_[[[Z[[[K[[[@
_[[[Z[[[K[[[[
_[[[Z[[[K[[[|
|_[[[Z[[[K[[[
_[[[Z[[[K[[[2
_[[[Z[[[K[[[2M
_[[[Z[[[K[[[3
_[[[Z[[[K[[[6
_[[[Z[[[K[[[8
_[[[Z[[[K[[[a
zK[AAAA@AAAAAC
ZKABFZB]G
ZKACCGMAG]YQC
Z[KAG[O_Q@
ZKA]J[DA
ZK@[]AMHPD@Q
ZKAQ[D]CN_O
ZKBCKBYPFX
[Z_]KBH@DHJN
ZKBHK[MBLXK
Z_KBZZGC
_[[[Z[[[K[[[C
__Z]][KC
[Z_KCGE[K@
ZKCK@GMLBKZZMLPKC_[ND
ZKCKPDGELA
Z_[[KCO]JL
ZKCOOHQMEBO[LJX[NL
ZKCYSKZZDL
ZKCZOO]KBHQ
Z@KdL[[[
ZKDLDCDGGO
Z@K@D]LJA
zKdY[[[2[[[
_[[[Z[[[K[[[e
(([]ZKEFJB
Z@KE@GNZ
Z@KE@GNZr[HGMFDt
@Z@KELA]]Y))
ZKEllllllllmllllOllylmN
@Z@KELoHEZL))
_@Z@K@E@]P
ZK]F[CX@H
 )))@ZKFFE
Z	K@-fggGn
z@KF]hh))
z@KF]hj))
z@KF]hk))
ZKFHYCDZC
z@KF]kh))
z@KF]kj))
z@KF]kk))
z@KF]km))
ZKF]MH]H
ZK@FZ_L[Z@FG
]ZKGBZBX
ZKGGX]_DX]
")))@ZK@GH[P
Z][K@GH[P
ZKGMYSLYJYQS
ZKgQEy[KgQEyB[IgQEyLBATs
ZKGZNYJO
*_[[[Z[[[K[[[|H
ZKHBCBQC
]ZKHM[LDO[_YZ]HH
ZKHQ_OBYAN
_[[[Z[[[K[[[i
!Z_kIkK]Qp]Z_Z
Z_kIkK]Qp]Z_Z
ZkIkK]Qp]Z_Z
z|k|i|kq
zk|i|Tqxpgu!txS
zk|i|Ttxp
_[[[Z[[[K[[[@j
_[[[Z[[[K[[[j
ZK_[JBX[D[
ZKJESANGDFQG[GXOO
@ZK@]JF@GHMM[LZZ
Z][KJHOB
@Z]KJYX_M
@ZKJZPOG
Z_KKCPYC_ZJH
Z]KKDMOYC
ZK@KGK_@
z|kkjknP
ZK_KKDZNN
?)))ZKKK[L[[
ZKKZGSDPFB
_[[[Z[[[K[[[l
ZKL[C@]@BJFM
Z[]KLF@XNFFE
 ZK lgfw
ZK[LG@GM
ZK@LJ][E
ZKL[KHGB
zk llllllllmllllOllylm
_[[[Z[[[K[[[m
[ZKMHP_Z
Z_KMJQSBGP
ZKMKAS[_PZ
]ZKMKM[JKAFJQ_BP
ZKMNXSNYX
ZKMPZYMY
_[[[Z[[[K[[[N
ZK[NDDGHH
[ZKNFPCSQAJGE
Z[KNGFDM
[ZK_NKSKLL
]ZKNMHCQ@[BHZ
ZK[_NM@POZQZ
ZKN_SX_C
z||||||||||KO
__[[[Z[[[K[[[o
ZKOAFKDOXNQ
ZKOBPXECN
_ZKOJQLJ
]ZKOOMBG
Z_[K_O[Z]
ZKPGSHLG
ZK@PMZAHXX@
_[[[Z[[[K[[[Q 
ZKQCOG[NOGKP
")))ZKQLZJHYL
ZKQM[LAPOZ]GC_SGMJ
ZK]QMLN[PLK
ZKQ]QCA@GEYZXK@CE_Y
ZKSBO[[[M[J
ZKSLYBGQHG
_ZK	@TBT[cYZH	[
z|ktitTzSJxxz
_[[[Z[[[K[[[@u[
_[[[Z[[[K[[[U
'Zkw3gfG
_[[[Z[[[K[[[X
ZKXHNHSD
ZK@@XZYFKMG
[ZKY@HCDJP
[Z@KYHDH
ZKYHQAJZB
ZKYHSCPN
ZK[YOJB@]N
_[[[Z[[[K[[[z
_[[[Z[[[K[[[Z
ZKZDFG@]F[@GN
z)))K@]ZHMD@G
Z_KZHZLBJ
[ZK]ZJDKAEHD
ZKZ_K]FH_Q]DMA
ZKZN]GFNBCSOL
ZKZPQ]SL
z|||||||||||||||||l
#)))@ZL]
#)))]ZL]
)))Z][[L_
)))ZL]_@[
z[[[L2te[[[[
ZL]AAAKYY
Z)))LA]DE
zL[_aHGMEL))
)))ZL]AKHGBL[Z
ZL]AKHGBL[Z
)))ZL]AKKK
ZLALDQ_BGOFLD__PJ]ZK
zL]]A[LHM]FBLG))
ZL]]A[LHM]FBLG
ZL]]A[LHMJFG]LQ]
ZL]ALHML[
)))ZL]AY
ZL]A]]YFKC
ZL_AY]QG
ZLAY@S]LN_
ZLB[]ASQ
ZLBdL[[[
ZL]BDZvZL_
ZLBQ_HXZG
zlC[[[7[[[
Z]L[CAKS[CNB
ZL]CEJYY
ZLCEP]AC
ZLCH__JP
ZLCJ_AMKGGQKD[Z@@PS
ZLCMZJ[FKS
ZLCNHC[KNKJ
ZLCOS]SB[
Z_LCZL[GL
.)))Z]LD
ZL[DAGZZX[C
ZLDAKKLAAJBOY
@[ZLDBP]MFC
Z@LdD[[[
ZL]D@EE@ZLJFGMZ
;ZLdF[[[
ZLDFADEHYZNG@B
|ZLdFCFcZk@GM@GNZ
zL[_DFFYZh
zL[_DFFYZj
ZL]DFG]A
Z]LDFKCLJ]
ZL]DHJFZ_L[Z@FG]FMFZALEEZJ[@Y]
zLD@JQL[
z)))LDKHED@GN
zLdK[[[i[[[
 )))Z@LDLGZ
ZLDNDQEH
ZLdO[[[@[[[G[[[
ZLD]PEM]H
ZLD]P]HEXYHYJG
ZLdR[[[k[[[i[[[
ZLDS_X[GPYO_JY[
zLdV[[[Z[[[
Z]LDYGHDL
Z][]LDYO@EL
zL]dYy[LOL[LGJL))
ZLD[Z[KO]
z[[[?[le][[[
zleC[[[o[[[
ZLEEDH@G
.())ZL]EEEEEEEEEEEE
ZLEEOHZ]
z[[[?[leF[[[
)))ZL]EFJHELGHKELLQ]LGZ@FGZM@ZHKELMLEHPLMLQYHGZ@FG
ZL]EFJHELGHKELLQ]LGZ@FGZZL]GHDL
ZL]EFJHELGHKELMLEHPLMLQYHGZ@FG
ZL]EFJHEM@ZHKELMLEHPLMLQYHGZ@FG
)))ZL]EFJHE@OGF]MLO@GLMCH_HvAFDLNF]FCH_HvAFDLvGF]vMLO@GLM
)))ZL]EFJHEZL]
zL]eFN@JhYY))
ZL]EHZ]HJJLZZ]@DL
ZL]EHZ]L[[F[
@ZLEK@EN@EL[J[PY]
ZL]ELGF_F
)))ZLELJ]
?)))ZLELJ]
ZLELJ]E]HZB
ZLELJ]F[
zLELJ]@FG
ZLELJ]@FG
)))ZLELJ]H
zLELJ]hJ]@_@]P
ZLELJ]HKEL
ZLELJ]HKELM@ZYFZ@]@FG
ZLELJ]iK
ZLELJ]JFDDHGM
ZLELJ]JGO[FD
ZLELJ]JHZLH
ZLELJ]JHZLJDM
zLELJ]kFFBhJ]@_@]P
ZLELJ]LM
ZLELJ]LM[
ZLELJ]LM]HK
ZLELJ]LMLGN@GL
ZLELJ]LMM@[
zLELJ]mH]HKHZLhJ]@_@]P
)))ZLELJ]uQ
ZLELJ]Y[FJLZZ@M
ZLELJ]Z@GNELGFML
ZLENGKAOC@E
ZL]EN]MDGXJPZ
?)))ZLEO
ZLEO@LZB@GHYY
zLEOmLEL]L))
ZLEOvNLGL[H]F[
ZLEOYHZ]H
ZLEPMLLJHG]SX
zLe]t|n(u|nHt|nNr
Z]L@EYYD
|)))ZL]EZ]Y
Z]LEZY@J
ZL]FA]]Y
)))ZL]FBED
ZL]FBYYXF
ZL]FE@E_[H[@LJE
ZL]FE@GB
ZLFHQLDL
ZL]FKCHMFZ][LHD
ZL]FKCLJ]
)))ZL]FKCLQLJ
ZL]FKCLQLJ
ZL]FKCOZF
ZL]FKCQDEA]]Y
ZL]FKCY[FJLZZ
)))ZL]FKC]Z
)))ZL]FKCZALEE
?)))ZL]FKCZALEE
ZL]FKCZALEE
)))ZL]FKCZALEEJ[LH]L
)))ZL]]F[MNL
zLFO[HDL
ZL]]FOHEZL]FZB@YZFDLJALJBZOF[YL[OF[DHGJLJFGZ]]LZ]DFML
Zl f_pgppepq
)))ZL]FQ
ZLFv@GMLQ
ZL]FY]@FG
)))ZL]FZALEE
ZL]FZALEE
ZL]FZALEEE@GB
Zlg1tgfG
.)))ZLGAH
ZLGAHYHZZ
ZLGC]COH]QY
ZLgcdgfG
ZLG@F[DFK@E@]PH@MZ
ZL]GF]@OPJDME@GL
ZLG]@GLEK[LHBYF@G]Z
Z]LGGL]JHZ@GF
|ZL[gHDL))
|ZL[GHDL
|ZL[GHDL))
Z@]LGHDL
|ZL[GHDLo@ELgHDL
ZLGH]F[ZA@YM@HDHNGL]@J
ZLG]H]]HJB]F
ZLGLA@GML
ZLG]LGJL
	)))ZL]@G]L[_HE
)))ZL]@G]L[_HE
|)))ZL]@G]L[_HE
ZL]@G]L[_HE
ZLG][L_L[ZLZALEE]F
#)))ZLGM
.)))ZLGM
;)))ZLGM
ZLGMAFZ]
ZLGMBLPZ
ZLGMBLPZt
ZLGMDH@E
)))ZLGMDL
ZLGMDLZZHNL
ZLGMDLZZHNLJHEEKHJBH
ZLGMEFNZ
ZLGME@GB
 )))ZLGMFGL
ZLGM]FGLQ]
 )))zLGMFOO
ZLGM@GNDH@E]F
ZLGMHFH]OJJP
ZLGMHPHGJ@]P
ZLGMKHJB
ZLGMKP]L
zLGM@]LD
ZLGML_@EFKCMH]H
ZLGMLEZL@OFZ]PYL
ZLGML[LDH@EHMM[LZZ
zLGML[vdH@E
ZLGMMH]H
ZLGMNL][LZYFGZL
ZLGMO@EL
ZLGMO@ELGHDL
ZLGMOF[@
)))ZLGMvA]]Y
)))ZLGMvDLZZHNL
ZLGMv]Fv]H[NL]vS@Y
ZLGMv]FvZL[_L[vS@Y
ZLGMv[LZYFGMv_@HvDLZZHNL
ZLGMv[LZYFGZL
ZLGMvYHPEFHM
ZLGMvZDZ
ZLGMvZDZHGM[F@M
zLGMvZDZvYL[D
zLGMvZDZvYL[D))
)))ZLGMZ][
)))ZLGMZ][@GN
ZLGMZ][@GN
ZLG]MZHC
)))ZLGMZ]LY
ZL]]@GNA@NAYL[OF[D
[Z_LGNBS
ZL]]@GN@GOF[DH]@FG
zL]]@GNhJ]@_@]P
ZL]]@GNJFG]LG]
ZL]]@GN@MLG]@]P
ZL]]@GNYFZ]
zL]]@GNZ
)))ZL]]@GNZ
ZL]]@GNZ
ZL]]@GNZ][HJBL[
zL]]@GNZhJ]@_@]P
ZL]]@GNZPGJ
ZL]]@GNZPGJAFZ]
ZL]]@GNZPGJP
ZL]]@GNZu
ZL]]@GNZuZALEEuFYLGuJFDDHGM
ZL]]@GNZuZALEEuFYLGuJFDDHGMu
ZL]]@GNZuZALEEuFYLGuJFDDHGMuMLELNH
ZL]]@GNZvO@EL
_ZLGOSJYHXJ
)))ZLGSF
Z_LGvFEH
ZLG@XQJA
ZLGZF[ZZHGMKFQ
|ZL|GZHOLaLHML[yH[Z@GN))
ZLGZ@]@_L
zL]h]][))
	)))ZL]_H[
#)))ZLHAF[ZL
]ZL_[HAu
Z][LHBHEH[D
)))Z]LHBZ
	)))Z][LHD
)))Z][LHD
Z][LHD))
Z][LHDBL[GLE
Z][LHDDZQDE
ZLHDHYM[F@M
)))Z][LHDJFGGLJ]F[
Z][LHDK]
Z][LHD[LHML[
Z][LHD[LHML[t
z][LHDlQLzH_L
Z]LHDN@O]Z
)))Z][LHDrv
Z][LHDrv
Z][LHDUA]]Y
Z][LHDvK@GH[P]FZ][@GN
Z][LHDvO@ELvMH]H
?)))Z][LHDvZL]vKEFJB@GN
z][LHDzFJBL]
Z]LHDZ]LHEL[
)))ZL[@HE@
ZL[[HEAL[@HMLE]H
ZLHEGF]L
zLHEGF]LhJ]@_@]P
zL]hE@HZjAH[Z
ZL]_HELG]@G
ZL[@HE@SH]@FG
ZL[@HE@SH]@FGAHGMEL[
ZL[@HE@SH]@FGEL_LE
ZL[@HE@SL
ZL[@HE@SL[
ZL[@HE@SLH[[HP
zL[@HE@SLM
zL[@HE@SLMfKC))
ZL[@HE@SLMvFKC
Z)))[LHEZ]LLEJFDDL[J@HEO[HD@GNEEJ
)))ZLH[JA
ZLH[JA))
zLH[JAa@CHJB
ZLH[JAD[
ZLH[JAD@GL
ZLH[JADL
zLH[JA|E])(
zLH[JAe@NA]
ZLH[JA[FF]
ZLH[JA@GN
zLH[JAhJ]@_@]P
ZLH[JAHKELJFG]LG]
ZLH[JAKH[
ZLH[JAKHZL
ZLH[JAL[[F[
ZLH[JAlGN@GLZ
ZLH[JA]LQ]
ZLH[JALZ
zLH[JAm[@_L
ZLH[JAY[FJvHMM[LZZ))
ZLH[JAY[FJv[LHMDLDF[P))
ZLH[JAY[FJv[LN@FG))
ZLH[JAY[FJv[LNLQDH]JA))
ZLH[JAY[FJv[LNLQEFFY))
ZLH[JAY[FJvZPZ@GOF))
zLH[JAy[F]LJ]
ZLH[JAYH[HDZ
ZLH[JAZL[_@JLHEL[]
)))ZL]HJ]@FG
ZL]HJ]@_L
z)))LH]LM@[LJ]F[PH
|ZL[hMD@GjALJB))
ZL]HMFKLYMO
ZLHM[F@M
ZL]HM@GOF
***ZL]HMM
Z]LHMOHZ]
@Z[LHMP))
@Z[LHMP]ALG
@Z[LHMPOF[FYLG
Z)))[LHMPZ]H]L
|ZL[hNLG]))
|ZL[HNLG]
|ZL[hNLG]hMM
|ZL[hNLG]jALJBdFK@EL
|ZL[hNLG]jALJBfz
ZL]]H[NL]Z
ZLHPGMDMKSPS
ZLHPKKKQX
 )))ZL[_HY@
ZL]HYFZMC_Y@A_@ZFLA_BEH@AA
ZLHZHDLLQ@]
ZL_HZ[MOZM[XZ[YA
[ZlibDecompress]
zlib@openssh.com
ZLIBSTREAM
(ZlibStrm)
z!Lizgfw
z)))LJAF
zL[_jAHGNL))
ZL]JAH[Y[LO
ZL]JAH[ZL]
ZLJALHE]A
ZL]JFDDHGM
)))ZL]JFDDHGME@GLOEHNZOF[ZHGMKFQ]PYL
@]@Z[LJFDDLGMLM
ZL]JFFB@L
)))ZLJ]@FG]HKELZr
ZL]JF[G@JB
ZLJ]@FGJEHZZ
ZLJ]@FG@M
;)))ZLJFGME@__L
ZLJFGMH[P
ZLJFGMH[PEFNFGAHGMEL
ZLJFGMH[P@GOF[D][HGM
ZLJFGMvHEL[]
ZLJFGMZHO]L[L_L[P
ZLJFGMZJ[LLG
ZLJFGMZOF[[LZYFGZL
ZL]JFGO@NO@EL
ZLJ]@FGZ
ZL[_@JFZ
ZL[_@J@FZFGE@GL
zLJ]@GF]
Z][]LJH]@FG
ZLJHSNXJH
ZLJJFDD@]
)))ZL]JJH
ZLJJSCKE
Z)))LJKPYHZZ
zL[_jL[]
zL[_@JL))
!)))ZLJ[L]
)))ZL[_@JL
)))ZLJ[L]
:)))ZL[_@JL
;)))ZLJ[L]
?)))ZL[_@JL
ZL[_@JL))
ZL[_@JLALEYL[
ZL[_@JL[D
?)))ZL[_@JLDFGZ]L[[
ZL[_@JLDH@GHHH
ZL[_@JLDH@GHHHH
ZL[_@JL_F@JL
ZL[_@JLGHDL
ZL]J[LH]@FG]@DL
ZL[_@JLiRLGHKELJFDYH]@K@E@]PA]]YZE@Z]LGL[
ZLJ[L]JFMLZ
?)))ZL[_@JLKFFZ]L[[
ZL[_@JLKFFZ]L[
ZL[_@JL[LZL]
ZL[_@JLM
ZL[_@JLMEE
?)))ZL[_@JLMKFFZ]L[
ZL[_@JLML]H@E
ZL[_@JLMLZJ[@Y]@FG
ZL[_@JLM@ZYEHPGHDL
ZL[_@JLO@B@EEHEE
ZLJLQDDGZPN@CGN
ZLJ[L]UUM
ZL[_@JLvGHDL
ZLJLXDXYQBGGASC
ZL[_@JLYF@G]DHGHNL[
ZL[_@JLYF@G]DHGHNL[t
ZL[_@JLY[@GJ@YHEGHDL
ZL[_@JL@Y]HKELZZ]FY
zL[_@JLyL[DZ
ZL[_@JLZ
zL[_@JLz]H[]
ZL[_@JLZL]
ZL[_@JLZL]]@GNZMH]H
ZL[_@JLZL[_@JLKJD
ZLJ[L]ZL[_L[
ZL[_@JLZO@Q
ZLJ@_[LZYF[L]G@
ZL[_@JLZZ
:)))ZL[_@JLZZA[LZ]H[]
ZL[_@JLZZ]H[]L[
ZLJN@SJMPXOKPD[]HNJLA_AOM]
)))ZLJvF[@NvFOOZL]
zljvgfGP
ZLJXLNEB
ZLJXQZK]QXX]SCDJEDY
ZLJYBN@GOF
zLJy[F]))
ZLJYHJBHNL
)))ZL]JYHJBL]
|ZLkHZ@JyH[Z@GN))
ZL[KL]J@D@DH[E@B
ZL]KON@MHFFDJFMQL
ZL__KP@C
)))ZL]KZ][D
ZL]KZ][D
Z||l[||L[||-[||
!)(ZL[_L[
!)))ZL[_L[
((ZL[_L[
)))ZL[_L[
)))ZL]@L
.)))ZL[_L
@]ZL[_L[
|)))ZL[_L[
ZL[_LA]]Y
ZL[_L[AZAZ
ZLLBEFNF
ZLLBF[@N@Gt
ZLLB@GN][HGZYF[]
ZL[_L[DH@G]LGHGJLL[[F[Z
ZL[_L[EFJHEAFZ]
ZLLEFNZ@G
zL[_L[e@Z]hJ]@_@]P
ZL[_L[E@Z]LG))
")))ZL]L[[F[
')))ZL]L[[F[DFML
ZL[_L[]FFEZ
zL[_L[FGZ
)))ZL]LG_@[FGDLG]_H[@HKEL
zLLgFl_@E
ZL[_L[GHDL
Z]L_LGKLGGL[
ZL_LG]LLG
Z]LL[@GN
ZL_LGS@Y
ZL_LGvJFEELNLvZD
]ZL_LGXCQYGDOPMYOH
ZL[_L[_H[@HKELZ
ZL[_L[_H[@HKELZr
ZL[_L[HMM[
ZL[_L@[J
ZLL]J]BNPYXQK_
ZL[_L[JE@LG]
ZL[_L[JFGGLJ]@FGL[[F[
ZL][LJF[M@M
ZL[_@LJH
ZL[_L[JL[]@O@JH]L_HE@MH]@FGJHEEKHJB
ZLLKFGL[Y
ZL[_LKLL[
Z[L@LLEQ
|ZL[l_LG]))
zllllllllllllxMO-
zLllllllllmllllOllylm
ZLllllllllmllllOllylm
!zllllllllmllllOllylm
:zllllllllmllllOllylm
;zllllllllmllllOllylm)
@zllllllllmllllOllylm
[zllllllllmllllOllylm
z llllllllmllllOllylm
z'llllllllmllllOllylm
z?llllllllmllllOllylm
z]llllllllmllllOllylm
zllllllllmllllOllylm
zllllllllmllllOllylm"
zllllllllmllllOllylm#
zllllllllmllllOllylm'
zllllllllmllllOllylm)
zllllllllmllllOllylm:
#ZllllllllmllllOllylm
*ZllllllllmllllOllylm
:ZllllllllmllllOllylm
_ZllllllllmllllOllylm
|ZllllllllmllllOllylm
Z!llllllllmllllOllylm
Z[llllllllmllllOllylm
ZllllllllmllllOllylm
ZllllllllmllllOllylm	
ZllllllllmllllOllylm*
ZllllllllmllllOllylm-
ZllllllllmllllOllylm;
zllllllllmllllOllylm0
ZllllllllmllllOllylm4Nj
zllllllllmllllOllylm9
zllllllllmllllOllylma
zllllllllmllllOllylmb
zllllllllmllllOllylmBc
zllllllllmllllOllylmb#z
ZllllllllmllllOllylmcBn
zllllllllmllllOllylmcK
zllllllllmllllOllylm	e
ZllllllllmllllOllylme
ZllllllllmllllOllylmE
zllllllllmllllOllylmf
zllllllllmllllOllylmF
ZllllllllmllllOllylmF
*zllllllllmllllOllylmh
ZllllllllmllllOllylmHZ
zllllllllmllllOllylmI
ZllllllllmllllOllylmI
ZllllllllmllllOllylmKnn
zllllllllmllllOllylmKR
zllllllllmllllOllylmm
ZllllllllmllllOllylmn
ZllllllllmllllOllylmN
#Z@llllllllmllllOllylmp
ZllllllllmllllOllylmP
z!llllllllmllllOllylmq
zllllllllmllllOllylmQ
zllllllllmllllOllylmR
zllllllllmllllOllylmR_
ZllllllllmllllOllylmrsw
zllllllllmllllOllylmS
ZllllllllmllllOllylms
zllllllllmllllOllylmv
zllllllllmllllOllylmV
ZllllllllmllllOllylmWj
zllllllllmllllOllylmx
zllllllllmllllOllylmX_B
ZllllllllmllllOllylmxj
ZllllllllmllllOllylmy
z@llllllllmllllOllylmz
z llllllllmlll]Y]]
zllllllllmlll]Y]]
*Zllllllllmlll]Y]]
.Zllllllllmlll]Y]]
Zllllllllmlll]Y]]
ZLLLNJCD
ZLLME@GN
ZLLMY[FM
ZLLMZ]H[
ZL][LNE@Z]
ZL[_LNHDL
_ZLL[OACXM
ZL[_L[O[FN
)))ZL_L[@]P
ZL_L[@]P
ZL[_L[QDEA]]Y
zL[_L[qDEa]]YfKCLJ]))
ZL]LQDJ]OGGJZ
')))ZL]LQ]LGMLM
ZL]LQLO@EL
ZL[_L[uZPZ_FE
ZL[_Lv]A[LHMv]JY
ZLLvDHZBvGFSFGLJALJBZ
ZL[_LvDMGZvYF@ZFGL[
ZL[_LvEEDG[vYF@ZFGL[
ZL[_L[vGHDL
ZL[_L[vZFJBL]
)))ZL][LX
ZL_L[Z@FG
zL[_L[ZhJ]@_@]P
)))Z][[L_L[ZL
:)))Z][[L_L[ZL
;)))Z][[L_L[ZL
Z][[L_L[ZL
ZL[_LZZ@ML
ZLMAZ[ZSOBPBA
|ZL[mEE))
)))ZL[_@MF[
ZL[_@MF[
|ZL[mFDH@G))
ZL]MGZZL[_L[ZLH[JAF[ML[
)))ZL]MH]H
ZL]MH]HKHZL
ZL]MHLDFG
Z_LMJD_HAZ
ZL[MJLML_LJA
ZL[MJLML_LJAE
ZL[MJLML_LJA]SZ
ZL]M@J]O@ELDGLDFG@JZ
ZLMKEDCNQNM
ZLMLQDC]FF
Z_L[MNBAZ
|)))ZL]MSJXPZY
ZL@M[XDJF
ZL[M@YHG_[DK
Z@]LM@ZA
ZL]M@ZHKELLEHDM[@_L[ZPLZ
@ZLN@]BWBZ
)))ZL]NBZCM]EL[]
ZLNDLG]Zr
ZLNG]]M]DSFS
z]LNHGFlb
Z)))[LNHMM
ZLN_LM]DGG]
Z[LNM[JLXFGQCSKB]QABOLD
z)))[LNMLEL]L
ZLNNBAJ]SOCZD
ZLNOF]N_F
z)))[LNZ_[
ZL]NZONH@@
.)))]ZL]O
ZL]OAZ[P
Z[LO[BEA
zloEHZAyEHPL[))
Z())@_LO@EL
)))ZL]O@ELFKC
zL]o@ELh]][@Ka@MMLG))
ZL]O@ELYF@G]L[
ZL]O@ELZ@GS@Y
ZL]O@ELZPZ]LDFKC
|ZL[o@LEM))
zlOllylmX
ZLO@XABC
)))ZL]OZF
z@@@@@@@@Lp@0
ZLPAN_KNXHCXO
ZLPBAS]KB
zlpgppepq
zLpgppepq
ZLPJ]KEM
)))ZL]PK]LN
ZLP]KMSCQC
ZlPllylm
ZLPLM@ZAFY
Z@@@@@@@@Lp@M
ZLPN_MBC
ZLPOKJG]S
ZLPYP_XXYO
z@@@@lpyR
ZLPZMN_BZJ
)))Z]LQ]
ZL]QA]]Y
ZLQAYELL
ZL_Q]CEBYZCMO
ZL[_Q_F@JL
)))Z][LQLGHDL
@ZLQ]LGZ@KEL
Z)))LQLJ
ZLQPvHYY
:)))ZLQPZL[_@JLL
Z]LQQGKKZ[
@ZLQXASNBS
z)))@LQYEF[L
_ZLQYEF[L
Z)))@LQYEF[L
Z)))LQYF[]EMvY[LEFHM
ZL]QYFZ]
ZLrJCHtr
ZlRRSSSSS
ZLRRSSSSS
())ZLRT_H[
ZLSAHBG_J
@ZL:@[sawSS@TxNs
ZLs|CZ9Au
ZLSC[Z_JCLHS_
ZLSEHJGOQ
ZL[SNBYZ
ZlSSSSSSSSSSSSSSSSSSSSSSSS
ZLssuuVu
ZLSYXFB@D_LCG
ZL]vAFDLYHNL
ZL]vBL[KL[FZ
:)))ZL]v]@DLvE@D@]
ZL]vD@ZZ@GNvAFZ]vBLPvYFE@JP
ZL]vJ[LMLG]@HEZ
)))ZL]vK[HGM
?)))ZLvY[@_@ELNLvLGHKELM
ZL]vY[FQP
ZL]vYHPEFHM
ZL]vZDKvJFGGLJ]@FG
ZL]wUO@GMZ][YZD
Z[LXCMSP
ZL]XDGEG
ZL]XDGEY]A
ZL]XEZYG
ZL]XEZYKC
ZL]XEZYO@ELGHDL
@[ZLXFLHQ
ZLXLYAJHCA
ZL[X[LZO]S]X
ZL]XMFJEZY
ZLXNCMKE@
Z]LXNXSQDL[XLD
ZLXXMXPOFNLXX
ZL]XYH]A
;)))Z]LY
Z]LYALGM@G@S
_ZLYBH]NDQ
ZL[YCL_CDE
zLYdHZ]L[zL[_@JL))
ZLYDHZ]L[ZL[_@JL
Z)))[LYEH]
Z)))[LYEHJL
ZL]Y[F]F]PYLFO
zL[_yF@G]dHG
zL[_yF@G]dHGjEHZZ))
Z]LYF_L[
|)))ZL]Y[FQP
ZL]Y[FQP
|ZL[y[FYL[]P))
ZL]YFZ@]@FG
)))ZL]YH]A
)))ZLYH[H]F[
)))ZLYH[H]LvC_D
ZLYH[H]LvC_D
ZLYH[H]LY[@_H]L@]LDZ
Z||l[||Y[||I[||8[||.[||
Z]LYKPZ]LY
ZLY]@LDK[L
zLy[@_lGHKEL))
ZL[YLG][@Z@GN
ZLYL[H]F[
ZLYLXJJAZOJ
Z[LYLZ_PP
ZLY_]_MAPSDPZN
ZLYP]]LN
Z]LYY@GZ
]Z]LYY@YSD
	)))ZL]ZALEEFKC
ZL]ZALEEFKC
ZL]ZALEEJFML
Z@]LZ@DFK@Z@Z
ZL]ZFJBFY]
ZL]ZFJBZ
zL[_Z]FY))
ZLZGA@ANNKNCN
ZL[_@Z@G]HG@D@
ZL]Z]H]L
ZL[_@ZHM@
@ZLZJNKLS
Z_@LZJOSL
Z@]LZJ[@Y]
z][LZKPYHZZZALEE))
Z][LZKPYHZZZALEE
]ZL]ZLE[HAJ
zlZLGMEFN
ZL]Z][LHD
|ZL[zLH[JA))
ZL]ZLJFGMZ
ZL[_zL[_@JLdHGHNL[
@Z]L[ZL[_L[
Z]L[ZL[_L[
ZLZLLMJNK
ZLZM]OJ_X
ZLZPGCJA[Q
ZLZPQCNC
ZLZPQPNX[M_YPGOH
_ZL_ZQALA[YY
ZLZSB]HLA
ZLZYAKSOS
@zLZYBXLX9
Z[LZYFGZL
)))ZL]Z@Y]FMFZALEEZJ[@Y]
[ZLZYMYGJNHM
ZLZYXXMSMHGHJAES
.)))ZLZZ@
((ZLZZ@FG
)))ZLZZ@FG
;)))ZLZZ@FG
ZLZZ@FGHNLG]
ZLZZ@FGJFML
ZLZZ@FG@M
ZLZZ@FGO[FD
ZLZZ@FGr
)))ZLZZ@FGvBLP
ZLZZ@FGvBLP
ZLZZ@FGvZ]H[]
ZLZZ@FGZ
)))ZLZZ@FGZvYH]A
zLZZ@GN]FG
Z][LZZL[
ZLZZLJF[Y]LZ
?)))Z][LZZLM
"||z#||M#||)#||
ZM8Gmggfw
[zMAAAAC@@ADqAETz
ZMACL@HXD
@ZMAENQ]D
ZMAHASBLQ]NSAHZ[E
ZMA[[JJBQ_
ZMA@__S]GA
[ZMAX_DHQK
ZMAXKLHHQL
z.;MbgfG
ZMCBvvvvvvvvvZZZ
Z[MCCG_OX
]ZMCJMB]
ZM_C_JYQ
ZMCMBQYYC
ZMCNCZBQHX
ZMC[SYE[S
ZMCXYXXGA
ZMD[AABXKL
ZM]DAPEPG
Z]]MDCBLO[XEJQ
zmdHGHNL[
ZMDHSH[J
)))ZMD]LZ]
_ZMEAQBS
ZMEAXOZXKOC_BJGNBPQ
ZME]GMEAE
ZMEL@O]LN
ZM]EQGCB
ZME[YS[K
ZMEZGQA]YMP[SQ
ZMFDEZQHG
z]M@Fl[[F[))
ZMGFJLZ@EE@D
 Z!mggfw
Z*)mggfw
ZMGOHQ[JZ
ZMGPXYY@SKCX
ZMGXCMEX
ZMHDYQJOA_[SLLO_
ZmhgQcgfGtD
ZMH]HJH]
ZMH]HLJAF
Z)))MH]H]PYL
@ZMH]HZL]
ZMHJDZA]YXZ
ZMHJYKSO]Z
)))ZMHJ@Z@
)))ZMH]LN
Z]MHMD@G
ZMHOPM_DLQQKCN]S
ZMHXBLSQ
ZMHY_BKG
ZMHYL]FGuu
_@ZM_JA_
@]ZMJA]H
ZMJBYPKHO
")))ZMJE]
z?mjq?vq
Z[MJSBJKHNY
ZM_JZJQG[
ZMKDYHDY
ZM]KFYNCKY
ZMK[GQNGNQL_]BK
Z]M[][KMBA
[ZMKODFZ[GM
ZMKQ_BNXMMDZ]
')))Z]ML[[
Z][M[@_L
ZMLA]@H_C
ZM_LAZA[_]SY_
Z@MLB@JB
 )))ZMLEHGF
Z@MLFYLG_YG
||||z|||ml||hj
ZML]H[NL]G@Z@O
Z@MLKH[t
ZMLKHY_OFPB
]Z_M_LM_FFLZPZ
Z]ML[[MH]H
]ZMLMXFOSZZACGH
ZML]]MZSJEQ
ZM[LNNMMN
)))Z]M[LNY[F_
Z]M[LNY[F_
ZMLO@E@YY@ZiH_HE@NG
ZMLOLGML[v[LN@Z][P
Z]_ML]Q[BQ_
Z]ML[[vY@YL))
ZMLZBiJHO[HDF
Z]@_MMAZ
zMMEz][@GN))
ZMMEZ][@GN
ZMMGYDQPAZ
ZMMSXMZEKM_Y
ZMNFG_MM
Z[MNHDQX
ZMNLGN]@L
ZMNX[_]KSDH[G_X@C
[ZMNXMFM
Z]MNZJO]
ZMOBLJQM
ZMOBNNAN
ZMOCACCACACAAC
ZMOD_EASL
Z]MOLEXM
ZMOMGBZ]
#)))ZMOMv
ZMONMONMON
ZMOONMZOMZOMOMZMZ
ZMOOYM@POGPGBKEX
ZMOvvvvvvvvv
ZMOXS]MXMCSY[
ZMOZMOZMO
ZMOZMOZMOZMOZMO
ZMOZOZMO
ZMP_EQODJ_NOP
ZM@POSHDGC_OQDYM@]
ZMPQXEF[
ZMPSJZ_B
ZMPZPDPBAMLPZ
@_ZMQCDZ
ZMQJ[JGMJK
ZMQOL_H]XKCZXN_BF[MPCESPL
Z_MQQGCP
_ZMSFX_DDXZ
ZMSNAE[_
ZMSNYPF[
]ZMSQEHJ
]ZMSQLMXS[PCG
@ZMSXJFYHG]MB
ZMuBBIFMU]uBBIFMU
Z)))MvZ][LHD
ZMX]EF]S]F
ZMXG_JQCEOX
ZM@XGJQDKLO[O[_PN
ZM]XNHGLP_]XGKD[B
ZMXQ[DCJJY
Z_M]XSDB
ZMX[SL]HFZ[J
ZMYJYPDZPPPPGQXZZ
ZMYKCACQNQ
ZMYKXJELGK]BQ
ZMYLM[NNAP]
][ZMYOCC
ZMZA_Y]OY]XCP]YQAD@HBYYM
ZMZ_C_]JM
[ZMZDZHSSHMNHAD
[ZMZ[GQFZ
ZM@ZHKELZDH[]ZJ[LLG
@ZMZ_MJDNDZAADMB
ZMZMOZMOON
ZMZMZMZM
ZMZYDC[YBJCB]O
)))ZMZZ]E
Z@@@@@n@@A@AAacoo
[@ZNA[CH
]ZNBBG]S]
ZNBDHNBYZ
ZNBEJZXJZ[
]ZNBEQJ]LHNM
Z]NB@_OOCGQ
ZNBSCKPFPB
ZNB]_YCFCM
ZNCA[DQQ]OLDQ[L
ZNCCJAQPB@QP
ZNCFBXXFS]
ZNCGNPDSZGOPB
ZNC_LXBKP
ZN_DBMB]
zn'dE[[[
ZNDEKQMO
ZNDGJSJA
Z@NDH[LEHQ
ZNDHXNB]M[[S
ZND]HYDDO@N
ZNDJ]BKNF
ZND_LAA]G
[[[;zNdP[[[
]_ZNDPKA
ZNdU[[[a[[[
ZNdz[[[:[[[
ZND_ZGYS_KX
_Z_[NESS[[C_
ZN[F]GMMF
ZN@FZ_J_O@
@)))Z@NG
#ZNg3kgfG
Z]NGAJK_[YLQJC
Z@NGC@GN
z	ngfGX85	gqgg
)))Z@NG@G
Z@NG@G]F
Z@NG@G]F_@
Z@NG@G]FLQJLEZALL]
Z@NG@GGHDL
Z@NG@GN]FBLG
")))Z@NG@GN@G
Z@NG@GN@G
Z@NG@GNuQ
ZNGHBDB[AOM
ZNG@J]HYL[H
Z@NGLMvJAH[Zt
z@NGLMyzZJ[@Y]
Z@NG_L[PMG
Z]NGM_@AN
z@NGM@H_
ZNGPY[OMMD
ZNGQD[Q]OBCXAEO_PH
zNgqggwi
[ZNG_QJJJ]M
Z@NGUZAH[LYF@G]
ZNGYNPNHHYMOP
ZNHD]G]D
Z[NHDZ_@DBJC
ZNHES[QDJZ
ZNHS[OKN
ZNJBZZLAX
ZNJCHCAQSBBDOF
ZNJG[Q@N
Z_NJH]HEFN
ZNJKBGJ]B
ZNJPBEEY
Z[N__J@@Y
ZNJYXXY[P]
)))ZNKFQ
ZNKGSJDYL
Z_NKKBP[LXH_N[
ZNKK[LKDL
ZNKOG_ACP
[Z[NKO[P[F
ZNK[SJXDJHO
ZN_KXKGBNYM
z|n]ky]kzkx@
ZnLdW[[[
Z[_NL@_[G
ZNLG]NS]YP
ZNL]]@GNZ@DYEL[L_L[PMHP
")))Z@N[LJF[M
ZNL_LGHO[
z_nlllllllllmllllOllylm
!)))Z@N[LM
Z_N[LNODL
ZNLOADLXSOPKMDSL[BG
Z[N[LXN[SC
Z)))N[LY
ZNMAZED_
ZNMCXXCNKQ
ZNMJSGASXDXDXZQ
ZNMMKXB@DHMJY
ZNMMSJGHM_ND
ZN__MZ@[B
ZNND@KMGAX
_[]@ZNNPDFDSJBSKCNNO
ZN@NX[BA
.zNOC]Y]]
z@NO@EL*)
Z_NOKXL[
ZNONSSHQCDHL
ZNOPZPJYMB
ZNP_CPNJP
ZNPFQGABEXK
ZN]PLXHCMNNYOEK_
@ZNPM]CNM
ZNPOGSM[
ZN_PS_[FSQCED]
ZNPSLGQZYSBAA
Z@NQAKDJ
ZNQAMLDHPYZYCCBO
ZNQH[SNC
[ZNQHXD[BKLJMK]Q
ZN[Q_KJGGL
ZNQ[_ZGSHB
)))ZNSAFFXBM
ZN_SCAAAXDBJBZ
ZNSDDCGC
ZNSEANXHJ
ZNSNPGKP
ZnUFS_proc
Z[[[[[[[n[[w
ZNXFNAOJFQAQB
ZNXJ@KYBO
ZN@XQNYQLCJP_LQGOG@YEAN
Z[nX[[t[[[
_ZNY[GABS[QZ
ZNYKXOLL
Z_NZAG_KEJ_M]_
ZNZ_BH]EX
ZNZGQALX
ZNZ_GY@YOMGMG
ZNZ[JD_@Y]G_E
ZNZKNCSL
[ZNZOBAQ]_ZP
ZNZPDGKJ[D[]O
]Z_NZQDDZ
Z[[[[[[[o[[|
ZOACGBX[HL
ZOALJSLMHO_DLLSZKL]DFHH]
ZOAYYHMX
ZOBL]CND_DA
ZOBNX]YH
ZOB__QHQD
Z[o]cgfG
_ZOCYDBOENH
ZODG]GLB
ZOdH[[[R[[[
ZO]DK]Q]_NJ[KEH
ZODMSJYL
z-OdQ[[[
ZODSCE_Y
ZOdT[[[)
Zo'dX[[[
ZODYF]JQ
Z]OEA_[YXBZ
ZOEBJQ]J
ZOE]_C_G
Z[OEDSEXBYL]G
#)))@ZOEFH]
ZO@ELYH]A
Z)))@O@ELZPZ]LD
[ZOEXX]O
z)))OEZ]@G
ZOEZ]]XYOC]
z)))OF[@
zoFbgfGT
)))Z][OFEML[YH]A
Z][OFEML[YH]A
ZOF[@@G[HGNL
ZOFHH[MNCG
Z)))OF[LHJA
@ZO[FSLG
ZOGDBLLOJBZ@
zoggfwNiO
ZOG@GPKJE
ZOGHMYKB_DDQZ_A
@ZO@G@]L
]ZOGQBPZP
'zogqggs
ZOGQ]SMH
Z][OGSXB
ZOGYJMOFHNJONMA@BCY]JC
ZOGZGCQG
ZoHbgfG#
zoHC-IJa
z[[[#oHdN[[[
Z_]O_HG]H[
Z)))OHJ]F[PZL[_@JL
zO]HO@]@
[ZOH_OCLLE
]ZOJA][[E
ZOJAYBQYDQO]SZPSX
ZOJBQHCQQEJQGD
Z_OJHNH]Y
ZOJJHSCS[
ZOJL[S[OX_BSP
ZOJZLDY]
Z@OKC[@XLJCKA@ZPAMOKDC_X[PN
]Z_OKGH]LH
Z@OKHA[H@G
ZOKHNFBA
ZOKKXEQDSL
ZOKL]F@G
_ZO]L]_E
ZOLFHHJLS_
)))ZOL[HFY]@JHE
ZO[LHML[
'zOllllllllmllllOllylm
ZollllllllmllllOllylm
ZOllllllllmllllOllylm
Zollllllllmlll]Y]]
ZO]]LNBDH
ZOLOJO]FFEZ
ZOLQY[LZZ
ZOLQY[LZZLDH@E
Z]O]MAFQACQSXZAFDKPC[L
Z]OM[G[N_DK
)))ZOM[U[NGLU[OUZELLYU
ZoneCr3Mitigated
ZoneCr3Tripped
zoneDescription
ZONEINIT
zone-key 
zoneName
zone transfer
[ZoneTransfer]
ZON@]FOD[NMEJD
@ZONHGCKGA
ZOOCNQYZK
Z]OOLAHJ]D
ZOOL]LLHMYYJA[
ZOOLYXOZPGXK
ZoomLevelChanged
ZOOMXA@K_
ZOOMYX[L
Z_O_PAXYJSLDL
Z]OPAXYZQJ
ZOP_C@DD
ZOPEAZBG[DDLCYQ
ZOPGN[GXS
ZOPGNZ]Y[
z-Opgppepq#
!Zopgppepq
ZOpgppepq
ZOPKX]NS
Z[OPQOESXZOALGPEDJ
ZOQ[AC]KKKXKYH
ZOQDMGMJ
]ZOQ]G]K
]]ZOQOHN
ZOQYYLCXOADBMDG]OG
ZOQZJ[@Y]))
ZO]Rp]Z_Z
ZOSAPDAO
ZOSCPSCYA
ZOSFYK[ONQNH
ZOSKSPGQ[XLOSOG
ZOS_@LY[YJP_MCLNBKYG]Y
Z@OS_OAJ
ZOULQY[LZZ
ZO_XAY_K_NG
ZO[@[XEM
ZO_XOXJJOZ
Z_OX[PDCLN@JSQ
ZO[XP@@Q
ZOX_PYPH
ZO[XX[KGDEOYXX
ZOX_Y]SZL
ZOYAHKOX_B
ZO]YBANOLHKABO
Z_OYDYZB
ZOYL@ZPLGEY
ZOYPY_]]BJ
ZOYXMMQX[
ZOYZJXZZS
__Z[O]ZEG_MXE
[ZOZFY[@S
ZOZ@G[MDA
Z:O[[[Z[[[O[[[X
ZO[[[Z[[[S[[[
Z_O[Z]XDZ_SJBCS]
ZOZ]XSJXLPPE
@@@@@@@@zp@
[[[z[[[p[[[
@ZP9@[9XTE9bNB[T
ZPADYDK_ZXMCDM
Z||pa||fa||
ZPAG]OGP_
ZPA[KOGP]N
]ZPAKXJ_ES
[Z_PA[NQ
ZPBAEHXS
ZP]BBJESKG
ZPBDZSDP
ZPB[LOC]
ZPBQZYHQLLKXSB
ZPBS[L]PD
ZPCB[XLYAN
ZPCEAMBGG
ZPCE]L[ELK]G
ZPC_FMFN
Z]PCODQ_
]@Z]PCXY
[ZPCYPSM[
ZPDA_GFAEHEDX
zPd[[[[e[[[
Z||Pd||Fd||
ZPDHG]LJ
zPDHG]LJlGMYF@G]z]FY
zPDHG]LJZPZ]LD[LJF_L[P))
ZPDHG]LJZPZ]LD[LJF_L[P
ZPDH[]GQL
ZPDKBCXJBZYHGK
 )))ZPDKFE
ZPDKFE@J
zPdV[[[Z[[[
ZPDXKQXLPPDP
ZPDYAFGP
;)))ZPDYP
ZPED]MGBABAH
ZPE_@GNZPEELGLZE@FYH
_ZP]EHJDB
)))Z]PEL
Z]PELA@M
Z]PEL]PYL
Z]PELr]t
Z]PELZALL]
Z]PELZALL]))
Z]PELZALL]A
Z]PELZALL]Z
ZPEOEAOY]EHPH
ZPESHNC]G[
ZPEXGYOD
ZPEYMQ[HN[JDDMLFBDDD]
ZPFKDGAMYZ]]_
ZPFNZ[QLC
ZPGEOSLQCQ]E[
ZPGFYZ@ZG@ZAHGNZJ[@Y]
ZPG]HQ))
ZPGJA[FG@SL
zPGJA[FG@SLhJ]@_@]P
ZPGJA[FG@SLM
ZPGJ]A@GNHGM[F@M
ZPGJ]@DL
ZPGJFYFE@
ZPGJHGGF]ZJHG
ZPGJHMHY]L[
[ZPGJJH]
)))ZPGJL[
ZPGJO@EL
ZPGJYEHP
ZPGJZL[_@JL
ZPGJZL[_@JLM
Z]PGM[DNG
ZPGOEFFM
ZPGPAQSLLPZ
ZP]GPJED
.zpgppepq
z!pgppepq
z"pgppepq
zpgppepq
zpgppepq)
	Z(pgppepq
!Zpgppepq
"Zpgppepq
)?Zpgppepq
)Zpgppepq
_Zpgppepq
Z!pgppepq
Z"pgppepq
Z*pgppepq
Z-pgppepq
Z]pgppepq
Zpgppepq
Zpgppepq_
Z[pgppepq9yj
)zpgppepq?(b!
ZpgppepqbMW
.zpgppepqC
ZpgppepqC
zpgppepqd
zpgppepqf
Zpgppepqg
 zpgppepqh
zpgppepqH
zpgppepqI)C
zpgppepq[IS-
zpgppepql
zpgppepqlnJ
ZpgppepqM
Zpgppepq(o
zpgppepqTq
zpgppepqu
Zpgppepqv:
ZpgppepqV
Zpgppepqx
z]pgppepqY
zpgppepqY
Zpgppepqy
Zpgppepq|ZY
*zpgppeptU
ZPgSbgfG9
ZPGXBDG@@@
@ZPHAAKP]AH
ZPHAJ[HZCCKC
ZPH_H_CCODLAGGXPX
ZPHHKPPZ
ZPHNDMBPY
ZPHONSNECSSY
]ZPHQDGZM
zpIxVxHxVxHxVxHx
]ZPJANA_Q
ZPJDZ_HN
@Z_PJEMJEA_JSD_]E_
ZPJGMCD@
zPJHDF[LPjFGO@N
zPJHDF[LPjFGO@NnLGL[H]F[
ZPJKBLJONYKM
ZPJKSCMKDGGM
]Z_PJLXO
ZP_JMOYJ
][_ZPJNNO
ZPJ[PZ]HEAB
@ZPJXDSGK_
ZP[JXHFP]LQS
ZPJYZQLL
ZPKJNJ]JXC_DX
ZPKOGQDBHXJ]
ZPKOMZXCBK
Z_@PKOPM
ZPL]BY_QFSKY
ZPLD_SZDE
ZPLGNBY[_C
ZPLJLLSGZC]
]ZP[LKPCY]
ZPL_@@LMM
]ZPMB[_MZM
z||||||P|m|e|e
]ZPMHES[AE
_Z[PMLGN@
ZPM_[ZBZ
ZPNCOKPCHOL]K
z||||||P|n|e|e
Z][PNLK[]]L[Z
ZP_NL]NHSGG
ZPNMAMGN
ZP]NOMSXFN[
ZPNXYZJDDEZ
ZPNYGDLE
[[Z[p[N[z
_ZP]N]ZGBMCDBLX
ZPO]]_GQYC
ZP[OLBDHXAD
Z@POLOXGP
ZPON]FQB
ZPOPNM@BP
ZPOSZCCAMMAH
ZP]OYKBHJ
@@@@@@@@zp@P
zPpgppepqo
ZPP]_L][
ZPPNNDZSL[G
ZP_QAHZF
]ZPQCQHHG]
ZPQDYPXG
@ZPQJDQHSH
ZPQKSEADDNE
ZPQOEPMJ
zpRRRRRRRRRRRRRRRRX;
ZPSALEEZEF
ZPSF[@KF
ZPS[]_GD
ZPSHEBBJ@Z
_ZPSN_YLC
zPSSQBWIsSSS
ZPSSQYUv
@ZpSSSSSS
ZPSS[:XT9YUK9
ZPWPRUPS
]ZP[X@HQMSCOL
ZP@XSKHAQOQCMG[LPYFNZ
zp(x*x7x(x
zpxxTyny.
_ZPYABKQ
ZPYAL[CY_
ZPYHCBGYHZS[M
ZPYJJ]NSLJJJLKE
ZPY]PDCEJGXE
Zpyv]py[]pyE]py7]py
ZP]YZP_FHCYG_JX_]F@
.)))[]ZPZ
ZP[[[Z[[[
Z]PZAC[PNXX
ZPZAFGF[
zPZDFGzJ[@Y]
)))ZPZEFN
)))ZPZ_FE
)))ZPZ_FEuNYFu
ZPZ]F]HE
ZPZFLQLJ]LQ]]LQ]
zPZgL]jFGO))
zPZGL]ZO))
#)))ZPZGL]ZO
ZPZGO[LNM[_
zPZhEL[]vyL[D))
ZPZHMD@G
((ZPZJAB
ZPZJ]EJM
ZPZJFG]HJ]
((ZPZJFGO@N
ZPZJFGO@N
ZPZJZJNCLHB
zPZ]LD))
	)))ZPZ]LD
 )))ZPZ]LD
())ZPZ]LD
)))ZPZ]LD
:)))ZPZ]LD
;)))ZPZ]LD
?)))ZPZ]LD
])))ZPZ]LD
]_ZPZ]LD
)))ZPZ]LDDH@EKFQRKK
ZPZ]LDE@GL
ZPZ]LDE@GLZ
ZPZ]LD]FBLG
)))ZPZ]LD[FF]
ZPZ]LD[FF]
ZPZ]LD[FF]u
ZPZ]LD[FF]uZPZ]LD
ZPZ]LDGHDLMY@YL
;)))ZPZ]LD@GOF
ZPZ]LD@GOF
ZPZ]LD@GOF[DH]@FGt
zPZ]LDhje))
ZPZ]LDHJE
ZPZ]LDHYYDF_L[
zPZ]LDjALJB))
?)))ZPZ]LDJ]EZZAM[LZ]H[]
ZPZ]LDJH[LRHYYTuZJHM
zPZ]LDk@GH[PoF[DH]]L[
ZPZ]LD[LJF[MLM
)))ZPZ]LD[LZ]F[L
zPZ]LDmEE))
)))ZPZ]LDM@[EFJHE
ZPZ]LDM[@_L
ZPZ]LDMLDF
ZPZ]LDM@[LJ]F[P
zPZ]LDnL]))
ZPZ]LDNL]LG_
ZPZ]LDOEHZA
ZPZ]LDO@ELZ
ZPZ]LDOFEML[iXJKt
ZPZ]LD]PYLGLQ]@O
ZPZ]LDuLQHDYELuBLPu
ZPZ]LDv@GOF
ZPZ]LDvKNJ
ZPZ]LDvY[FYZvQDE
zPZ]LDyFZ]))
)))ZPZ]LDZ
ZPZ]LDZ]F[L
ZPZ]LDZuu
_ZP]ZLKXXSNL[ZD
ZPZNKXGJ
ZPZONQJYDCB
ZPZ[]P_KGJ_
ZPZSOKKBYNNQ
ZPZv@GOF
zPZvHEL[]vYL[D))
ZPZvH]]HJADLG]
ZPZ[ZYCMCPLZ
]ZQA]DMHMZYM
ZQAHPJXOJAZH
ZQAJE]YOHXL
@ZQAJPUs
ZQANOO_]OBSP_G
ZQAQ__[ZA
ZQAZNAAP]HZD
ZQBGYXDHKNC[PB
ZQ]BYCBG
@ZQBZIsSSS
zqB[[[Z[[[K[[[
@ZQBZsBX
Z@QCB@JX
ZQCBX_MQ
[[ZQCFKOOK
Z]QCQKBHB
ZQCQLQ_SS
ZQCxyxwy
ZQ]DAAXH[B
ZQDCZGK_NLP]Y[_F
ZQDDKA_FQ
ZQDEJZFSAMB]NKGYCC
ZQDOCQOYQQAJ@S_
ZQDX_[[G
Z_@]QECDC
]ZQ_E]G_
[ZQEKAOGLAG
Z]Q@EMSDJMXYF
ZQEPZH]@ZSY[YP
ZQEZ@LPD
Z_QFBAM]
zQg9kgfG
ZQG]@GL_BJFDSODB
ZQGHNHBHNB
zqgIkgfG
*zq#g#kgfGQDL-gqgg
ZQ@GKOZEMPH
ZqgqggDjL
ZQgqgg ML
ZQ[[[[[H
ZQHBQA]EGJQZBO_Q]
Z_QHCOGQ[HSQAA
ZQ_][[HPHMG
ZQJLN[NJ
_ZQJ[PDZAB]L[[DY@B
ZqJpgppepq
ZQJPQFLCBKNG
Z_QJQQ[]]NLY[
ZQ_JSSPM
ZQKKYLSH
ZQKN[BPD]XH_
ZQKSBNHN
ZQL_F_GSY
Z_QlgijgfG
ZQ_LHPQK[ADOJ[[
ZqllllllllmllllOllylm
ZQLLPXYA__JCS
Z[QLOCQDBXBAD
ZQL_S[AAM
ZQ[LXL]CY
ZQMCQG]DX
ZQMDOKYAX
ZQMJO_NKAGC
Z]QMNNC_
ZQMOYNCG
ZQMPGGODO
ZQMQG[AH[
ZQ_MSZGSMASP
ZQMZLPCH
ZQMZM_Z[C
Z||q[||N[||1[||
ZQNAA]_JG
ZQNKCNQLP_Q
ZQNZZPQQSPH
ZQOBQAEMLL
ZQ]OFMBJNCOFMJXGFCM
ZQ[O_GDL_CDN
[ZQOZ_]DPQMY
@zQ@@P@AB@v
ZQPA[DSLDH
[Z_QP_FKC
zqpgppepq
ZQPPOYJG
ZQPPPYX_
_ZQPXHPCZP
ZQQ@_DCFDCQG
ZQQMENNCLD
ZQQSXCTM_Z__
zQRSllllllllmllllOllylm
zQscdgfG
ZQ_SD]XGA
ZQSOYJCMZ
@ZQsSRSS9
ZqSSSl	8@]ABZ
ZQTzx-y]
Z[QUWRTVT
zQ(VSSW(|SSWAMs
ZQXBBCNYX
ZqXdO[[[
ZQXEMNYEON
zqXgGkggG
Z]Q@]XGKH
ZQXGO]_X
Z]QXHGYEL
ZQ[XNGQY
|ZQ@@@@@@@@XpcD
ZQXQOPJD
z|q	xxxVxxyxyxyxY[
ZQxx]Y]]
Z@QYGPSX
ZQYL_ZHSXP_ZLM@
ZQyxXyEX;
Z]QYYP_B
Z][_QZA_
ZQZK]EBS
ZQZQPD_C
ZQ[Z]SD]
[Z]QZZDC]_
ZQZZ_ZSAZ_ZPJYC[ZOQ@SBOHBS]AZ
z||||||||||||||||||||||||||R
ZR1gAggcjH
ZR3gqggh86
zr9gqgg"
zraiia9Uaaagqgg
zrBxWxWx
ZRdB[[[m[[[
.ZrD_i0@@A@h KN
.ZrD_i0B@A@2 @A@!
]zRdK[[[E[[[
z[[[@.RdK[[[y[[[
ZRdN[[[v[[[
zRFYgkdgfG
Z@@@@@rG@0@ADac
zR:gqgg|
[[[ZrIdM[[[
z|rkvivTzSJxxz
zrllllllllmllllOllylm
ZrllllllllmllllOllylm	
z)))r[LOt
Z[rpgppepq
ZRpgppepqL
ZR]Rp]Z_Z
ZRRQQPZRUSP
_zRRSSSSS
ZRS3EPSSS@SKKpYRSSSSS
ZRSC!PSSS@S
ZRSRSCEUSSS@S
ZRSRSCGUSSS@S
ZRSRS#rUSSS@S
ZRSSD@WkRRSSZJ
zRSSE@]E@[E@TE@UE@VEU
ZRSSNYkQRSSTD
zRSs?]SSS@S
ZRSSUsScSS
z)))Ru[]O
Z)))Ru[]O
ZruY@YLuH]Z_Jt
ZruY@YLuZ_JJ]Et
zr x5x*x
z|rxqo uqp
zr!Xxyxx Xxyxx
zrXxyxx Xxyxx
Zr@@@@@z@@B@ACac
zrzzBzzzj]zz
zrzzizzzyz|zzrzztzzz|zzzzrzz
"zrzzJzzzzzzz
:zrzzJzzzzzzzpgppepqW
zrzzzzzzzzzz)
zrzzzzzzzzzz@
zrzzzzzzzzzz 0  
zrzzzzzzzzzz 5  
zrzzzzzzzzzzgqgg
zrzzzzzzzzzzUPUU
zrzzzzzzzzzz]Y]]
zrzzzzzzzzzz]Y]] 
zrzzzzzzzzzz]Y]])
zrzzzzzzzzzz]Y]]4
zrzzzzzzzzzz]Y]]BIY
zrzzzzzzzzzz]Y]]j
zrzzzzzzzzzz]Y]]JbX
zrzzzzzzzzzz]Y]]j	Y
zrzzzzzzzzzz]Y]]KbX
zrzzzzzzzzzz]Y]]S:X
zrzzzzzzzzzz]Y]]Z*Y
zrzzzzzzzzzzzrzz
_[[[[[[[zrzzzzzzzzzzzrzzAzzz
_[[[[[[[zrzzzzzzzzzzzrzzAzzz-
zrzzzzzzzzzzzrzzAzzz
zrzzzzzzzzzzzrzzAzzz09zz[@[[I
zrzzzzzzzzzzzrzzAzzz0zzz
zrzzzzzzzzzzzrzzAzzz1
zrzzzzzzzzzzzrzzAzzzPzzz
[[zrzzzzzzzzzzzrzzAzzzx
zrzzzzzzzzzzzrzzAzzz#zzz
zrzzzzzzzzzzzrzzAzzz[zzz
zrzzzzzzzzzzzrzzBzzz
zrzzzzzzzzzzzrzzBzzz*
zrzzzzzzzzzzzrzzBzzzJ
zrzzzzzzzzzzzrzzBzzzj]zz)
zrzzzzzzzzzzzrzzBzzzRYzz
zrzzzzzzzzzzzrzzBzzzZ4zz@f@@A@AFac
zrzzzzzzzzzzzrzzhzzzyz|z
[[[[[[zrzzzzzzzzzzzrzzhzzzzzpz[h[[q
zrzzzzzzzzzzzrzzizzzyz|zx
zrzzzzzzzzzzzrzzJzzzzzzz)
zrzzzzzzzzzzzrzzKzzzzzzz
zrzzzzzzzzzzzrzzKzzzzzzzpgppepqu
zrzzzzzzzzzzzrzzLzzz
zrzzzzzzzzzzzrzzmzzzszzz
zrzzzzzzzzzzzrzznzzzzzpz)n))3
zrzzzzzzzzzzzrzzrzzzjzzz[
zrzzzzzzzzzzzrzzSzzzzzzz[z[[C
zrzzzzzzzzzzzrzzTzzzzzzz[z[[O
zrzzzzzzzzzzzrzzVzzz
zrzzzzzzzzzzzrzzVzzzj]zz[x[[A
zrzzzzzzzzzzzrzzVzzzZ4zz
zrzzzzzzzzzzzrzzxzzz
zrzzzzzzzzzzzrzzXzzz
zrzzzzzzzzzzzrzz]zzzCBzz
zrzzzzzzzzzzzrzz"zzzyzzz@g@@A@A@ac
zrzzzzzzzzzzzrzzzzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzBzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzhzzzzzpzzrzzKzzzzzzz[
zrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzzBzzz
[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzKzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzKzzzzzzzzrzzBzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzKzzzzzzzzrzzBzzzj]zz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzKzzzzzzzzrzz"zzzyzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzzBzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzzBzzzj]zz
_[[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzSzzzzzzzzrzz|zzzkzzz[D[[M
zrzzzzzzzzzzzrzzzzzzzzzzzrzzVzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzVzzz*
zrzzzzzzzzzzzrzzzzzzzzzzzrzzVzzzj]zzzrzzTzzzzzzz[k[[|
zrzzzzzzzzzzzrzzzzzzzzzzzrzz]zzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzz|zzzuzzzzrzzSzzzzzzz[VZ[I
zrzzzzzzzzzzzrzzzzzzzzzzzrzz"zzzyzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzz"zzzyzzzzrzzBzzz*
zrzzzzzzzzzzzrzzzzzzzzzzzrzz"zzzyzzzzrzzBzzzj]zz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzAzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzBzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzBzzzj]zzzrzzKzzzzzzzzrzzUzzzzzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzyz|zzrzz]zzz
_[[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzJzzzzzzzzrzztzzz|zzzzrzzjzzz
[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzmzzzszzzzrzznzzzxz
_[[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzztzzz|zzzzrzzuzzzvzzzzrzzhzzzzzpz[x[[M
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzBzzz
_[[[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzzjzzzvzzzzrzzKzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzztzzz|zzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz]zzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzxzzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzztzzz|zzzzrzz
z  s     
[[[Z[[[_[[[[S[[
z@S0z@S!z@S
ZS]A][]]
ZSAFHNKXC
ZSAFSH_K
ZS@A]K[CJG
ZS_ANSMEH
Z_SAOSSAOSSAOSEGKFJH
ZSAQSENPB@D
ZSAZOMHJ@F
ZSBDSHSNM
zs(;bgfG
ZSBHCBXHC_
ZSBJXNGCYPG]F
ZSB@ZMMMO
]ZSCBPPZL]
ZSCCZBECL
ZSCMZ[QH
ZSCP_C_HGQO
ZS[DAQDO
ZS][D]GPXPJ
)))ZS@DHGF
ZSDHGH]ZM
ZS]DJ@EQA
ZSEBH][OO
ZSEJ_[FLM
Z)))S@EL
ZSEQEOXDD]
                  [-z serial_number] file ...
ZSEYHKX_G_B
Z)))SFGL
ZSF]]NJNO
ZSF[QYPHDGS
ZSFZXCEM
[ZSGKS[YHA_]_MM
ZSGLLGYG[__@LMFCAZ
_ZSGLOGJ
ZS[GNQ@_
ZSG]OQGF_Q
zSgqgg?(
zSgqggg1
)ZsgYagfG
ZSHBANHH_E
ZSHCANMGL
]ZSHJG]Z]KM
ZSH[NE@Z]
ZSHNLYM[ZPLXM
ZSHO[HG@LJ
ZSHQ]MJOMXG]JKJ
ZS]@HQQO
ZSHQYQYXXB[
ZSHSOJJ_X
ZSJCFCLOPADLNDK
]_ZSJHQOA
ZSJKZC[@KLP
ZSJP_@__]C
ZS_JYG_KZO
ZSJZXZJ_C]QYLNA
ZSKLN@JEKNHBHPBMLBQD
ZSKNGCGMP
]ZSKO@MLYJM
ZSKOX[@LMZ]_AGSO]AZN
ZSKZLAASXHA
ZSLFAKG[BA
ZsllllllllmllllOllylmO
ZSLMPSAGZQAA[SPDC[_O
ZSLQYEF@]
ZSLXDLDM
Z]SLXPZDXGLXA[
ZSLYP@JS
ZS]MHM[QPPE[GOHC
!)))ZSMJ]E
ZSMKGKM_K_JAM
ZSMMBLCD
ZSMMBMCHG
ZS]MOQCKQ
Z[SMQJOCLJAY_CAM[GDK
Z_S_MXOA_B
[[Z[S[N[
ZSNAF_NN]LS
ZSNKJEOZ
@[]ZSNXCY
ZSNXYXFFPCXDH
ZS_N_YBNXLYP
ZSN[Y@LG_YBLNY]P
ZS_OHQSXPJPQXS
ZS[OSC_DS
ZSOZEHDBAD
ZSPBYGNHXABA
Zspgppepq
ZSPPZZ[G
ZSPQC@DCKBEDNOSOBAG
ZSPYH_[DY
Z_S_QJYY
ZSQKD[JOOGDK
ZSQMJO_NKAGCZMONA
ZSQQCXMNM
ZSQY]KKLPH
Z@SRSSSSQCRz
Z_SSB_BAK9
ZSSBHLM9
ZSSBHLO9
 ZSSBWsS
ZSSBWWnjZSSBUD9
zSSCSSSWSSS
ZSS@DHBJZ
ZSSG[JQJJ
ZSSHABPY
ZSSJO[]Q
zSSKSSSASSSSWSSS
zSSKSSSKSSS
ZSS]OJYP
ZSSOSSBPM9
ZSS_PXJMBOXH
ZSSQASARLJA
@_ZsSQSSeEQ(VSSWs[
ZSSQ(VSSWs
ZsSsQSfmQ(VSSW(|SSWA[s
ZSSS@S1KRSRS
'ZSSS@S4;
	ZSSS@S6DRSRS
ZSSS@S6JRSRS
ZSSS@S)9nJRS
ZSSS@Sb9
	ZSSS@S.D[SRS
ZSSS@SFIRSRSs
ZSSS@SgIRSRS
ZSSS@SJ9XJRSs
ZSSS@SjJRSRS
ZSSS@SJJRSRS
ZSSS@S"JRSRS#
ZSSS@S K[SRS
ZSSS@SR9
ZSSsSRSS
ZSSS@SsIRSRS
'ZSSS@SsKRSRS
ZSSSSSSNSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSrYSShSSS
ZSSSSSSSSSSSSSH
ZSSS@STo._RS
#ZSSS@SW:
ZSSS@SWJRSRS
ZSS[sSWSSgW[9xUsSWSS9:_[Lsm
ZSSS@SZIRSRS3
ZSSS@SzJRSRS#
@[ZsSWSSa
ZSS]YAQX
Z@SUY@SGY@SqY@ScY@SmY@S
ZSW@]BqB]
ZSW_BUX[
ZSW@CBvBC
ZSW@GBJ@@BG
ZSW@IZ@HBI
ZSW@MZ@NBM
ZSW@UBWi4QSSBU
ZSW@_U@XB_
ZSWYQ(VSSW@ZBZ(
ZSW.ySSWUE
ZSW.ySSWUI
ZSW@@Z@AB@
ZSW@ZB@@[BZ
ZSXAXEOA]COAN[A[N[@CBAJOH
ZSXBXEZNQEZL]GC
Z_SXDGCPA
]ZSXEB[NN
Z]SXJJDKZ[NG
ZSX[LO_MKHF
Z]S[XLSDG
ZSXNFOL_PLKC
z|sxpo!tpm
ZSYAYO@X
ZS[YHDLYNJ
ZSYHLFMXKDKEMM
ZSYJHBJP
ZSYMDKSQYLY]KQJSLLAJD@KLP@HOAC
_ZSY_NCZ]
Z"sy_s1.
z@S[y@SDy@Suy@Sfy@S
ZSYZPN]YXH
ZS[Z@BOBJZ[
ZSZL[_L[
Z@S?Z@S)Z@S
ZSZ_[YSX
||||Z|T|||||
Zt0dK[[[a[[[f[[[
Z_@@@@@t@@A@AAac
Z@@@@@t@@B@ACa
Zt@@@@B@A@Lp@P64a	@@@@B@A@
@ZTBZdQEysSQSSBZT
zTd[[[[c
ZTd_[[[i[[[
zte_[[[@[[[f[[[
z#te?#te?
Ztgg9cgfG
ztgGMgfG
ZTGmggfw
z'tgqgg 5
Ztgqgg|M
ZT[IyxpyVHH
@ZTjWBSSTsSVSS
ZT:Jxhy4
z|tPhxxruqnP
[[[ztQdy[[[
ztQRSSSSS
@ZTs9tSS9
Z]TTewAA
ZT[ujd"u
ZTXIQCyxky
ZTXITXIQ
ZTXJQCxx
ZTXKTXIQ
ZTxxx7xxyxyxyxY[4
ZTxyxYyx
zty#zty7ztyGztyIzty[ztymztyqztyyzty
zU2ggfwY
z.u@.9H"
z@@@@@u@@A@AAac
Z@@@@@u@@A@AAac
z@@@@@u@@A@ACac
@ZUBZdWBZxRU@[WB[
zUdQ[[[q[[[i[[[t
zUgiggfw
z]UgIogfG
ZUgOBVM9	@ZBZA_
@ZUI9	A]LC
ZuL]JuAFZ]Z
ZUllllllllmllllOllylm(3
zU?llllllllmllllOllylm b
z)))u[]O
Zu-o:;lGYu
ZururxurUU
ZurxxxxWx
@ZUTBZI9
:zutu8VI
z-uubgfG
ZU]U[B@UGWN
ZUUGJFXWW
zuUllllllllmlll]Y]]
Z)))uYuYOKE
ZUzgfGuC
.)))@[Z]v
z-V49#*B
Z||v[||A[||
Z@@@@@v@@A@AAac
))Z))))(V)))A)))R
Z][vA]]Y
Z@@@@@v@@B@ACac
@ZVBZdQEyBVLG9
Zv@]@DLLEHYZ
Zv@EL_LE[LHJALM
Z vFgfGZ
ZvFJHG_HZ
ZvFZ]HNL
ZvFZY[@]LE@K[H[P
zvg5cgfGz2
Z@VgkdgfG
Zv?gqggI#b
@ZvHMD@G
z)))vHMMD@[[F[
@]ZvHv]FDvB@Y@GFZ
@ZvJA[FDL
ZvJE@LG]vZ]H[
zvJFG][FEA]DE))
ZvJFMLZJ[@Y]))
Zv@JG]]@DL
Zv@JG]OYZ
@ZvJHEEHKEL
ZvKDFK@EL
Z@Vk'SSSBVZe
zV@llllllllmllllOllylm
zVllllllllmllllOllylm.
ZV;llllllllmllllOllylm
ZVllllllllmllllOllylm
ZVllllllllmlll]Y]]
@Zv@LvE]
')))Z][v[LYEHJL
Z][v[LYEHJL
z#|vodo7ogo
z|voeo9ogo
zv@[[oooo
z||v|||P|l|e|e
())@ZvQYvZY
zvRdP[[[
zVSSB[ss
ZVTdY[[[
zVU@@@@@
!())ZvvvvU
ZV"((]Y]]
Z;V]Y]]8
Zv@Y[L_]@DL
z][vZDH[]ZJ[LLG))
zW																													
zW8x8x8x
ZwAcceptConnectPort
ZwAccessCheckAndAuditAlarm
ZwAddBootEntry
ZwAddDriverEntry
ZwAdjustGroupsToken
ZwAdjustPrivilegesToken
ZwAlertResumeThread
ZwAlertThread
ZwAllocateLocallyUniqueId
ZwAllocateReserveObject
ZwAllocateUserPhysicalPages
ZwAllocateVirtualMemory
ZwAllocateVirtualMemoryEx
ZwAlpcAcceptConnectPort
ZwAlpcCancelMessage
ZwAlpcConnectPort
ZwAlpcConnectPortEx
ZwAlpcCreatePort
ZwAlpcCreatePortSection
ZwAlpcCreateResourceReserve
ZwAlpcCreateSectionView
ZwAlpcCreateSecurityContext
ZwAlpcDeletePortSection
ZwAlpcDeleteResourceReserve
ZwAlpcDeleteSectionView
ZwAlpcDeleteSecurityContext
ZwAlpcDisconnectPort
ZwAlpcOpenSenderProcess
ZwAlpcOpenSenderThread
ZwAlpcQueryInformation
ZwAlpcQueryInformationMessage
ZwAlpcSendWaitReceivePort
ZwAlpcSetInformation
ZwAssignProcessToJobObject
ZwAssociateWaitCompletionPacket
ZwCallbackReturn
ZwCancelIoFile
ZwCancelIoFileEx
ZwCancelTimer
ZwCancelWaitCompletionPacket
zwCcsgfG
ZwClearEvent
ZwCloseObjectAuditAlarm
ZwCommitComplete
ZwCommitEnlistment
ZwCommitRegistryTransaction
ZwCommitTransaction
ZwCompareTokens
ZwConnectPort
ZwContinue
ZwCreateCrossVmEvent
ZwCreateDebugObject
ZwCreateDirectoryObject
ZwCreateEnlistment
ZwCreateEvent
ZwCreateFile
ZwCreateIoCompletion
ZwCreateJobObject
ZwCreateKey
ZwCreateKeyTransacted
ZwCreateMailslotFile
ZwCreateNamedPipeFile
ZwCreatePagingFile
ZwCreatePartition
ZwCreatePort
ZwCreateProcess
ZwCreateProcessEx
ZwCreateProfileEx
ZwCreateRegistryTransaction
ZwCreateResourceManager
ZwCreateSection
ZwCreateSymbolicLinkObject
ZwCreateThread
ZwCreateThreadEx
ZwCreateTimer
ZwCreateTransaction
ZwCreateTransactionManager
ZwCreateUserProcess
ZwCreateWaitCompletionPacket
ZwCreateWnfStateName
ZwDebugActiveProcess
ZwDebugContinue
ZwDeleteBootEntry
ZwDeleteDriverEntry
ZwDeleteFile
ZwDeleteKey
ZwDeleteValueKey
ZwDeleteWnfStateData
ZwDeleteWnfStateName
ZwDeviceIoControlFile
ZwDisableLastKnownGood
ZwDisplayString
ZwDuplicateObject
ZwDuplicateToken
ZWdW[[[M[[[
ZwegfGAE
ZwEnumerateBootEntries
ZwEnumerateDriverEntries
ZwEnumerateKey
ZwEnumerateSystemEnvironmentValuesEx
ZwEnumerateTransactionObject
ZwEnumerateValueKey
ZwExtendSection
ZwFlushBuffersFile
ZwFlushBuffersFileEx
ZwFlushInstructionCache
ZwFlushKey
ZwFlushVirtualMemory
ZwFreeUserPhysicalPages
ZwFreeVirtualMemory
ZwFreezeRegistry
ZwFsControlFile
zwgAogfG
ZwGetCachedSigningLevel
ZwGetContextThread
ZwGetNextProcess
ZwGetNextThread
ZwGetNotificationResourceManager
ZwGetWriteWatch
z.Wgqgg_
zwgUdgfGG
[Zw]H[]DwZ@LwQwLwJ
[Z]wH[]DwZw@wLwQwLwJ
[Zw]H[]DZ@wLwQLJ
[Z]wH[]DZ@wLwQwLwJ
[Zw]H[]DZw@wLQLwJ
[Z]wH[]wDwZw@wLQwLJ]w[wZLwS
[Zw]H[w]DwZw@wLwQwLJKw[wLwS
[Zw]H[]wDZ@LwQLJBwMwCwJwC
)))Zw]Hw[]DZw@wLwQLwJwA]w@@wCwG_
[Zw]Hw[w]DwZ@LwQwLwJwZw[wLwD
[Z]wH[w]wDZw@LwQLwJ
[Zw]Hw[w]DZw@LwQLwJ
[Zw]H[w]wDZw@wLQwLwJ
[Z]wHw[w]wDwZ@wLQwLJ
ZwImpersonateAnonymousToken
ZwImpersonateThread
ZwInitializeRegistry
ZwInitiatePowerAction
ZwIsProcessInJob
ZWjPkR]X
ZwlgWCgfGd
ZwListenPort
ZwLoadDriver
ZwLoadKey
ZwLoadKey2
ZwLoadKeyEx
ZwLockFile
ZwLockProductActivationKeys
ZwLockVirtualMemory
ZwLwACFNNwM
*-*ZwL]ZL]
ZwMakeTemporaryObject
ZwManagePartition
ZwMapUserPhysicalPages
ZwMapUserPhysicalPagesScatter
ZwMapViewOfSection
zw	mgfwB
ZwModifyBootEntry
ZwModifyDriverEntry
ZwmSSSSSSSSSSSSSSSSSSSSSSSSSSSS
z)))WNEYL
ZwNMwZwQwP
ZwNotifyChangeDirectoryFile
ZwNotifyChangeDirectoryFileEx
ZwNotifyChangeKey
ZwNotifyChangeSession
ZwOllllllllmllllOllylm
ZwOpenDirectoryObject
ZwOpenEnlistment
ZwOpenEvent
ZwOpenFile
ZwOpenJobObject
ZwOpenKey
ZwOpenKeyEx
ZwOpenKeyTransacted
ZwOpenKeyTransactedEx
ZwOpenPartition
ZwOpenProcess
ZwOpenProcessToken
ZwOpenProcessTokenEx
ZwOpenRegistryTransaction
ZwOpenResourceManager
ZwOpenSection
ZwOpenSession
ZwOpenSymbolicLinkObject
ZwOpenThread
ZwOpenThreadToken
ZwOpenThreadTokenEx
ZwOpenTimer
ZwOpenTransaction
ZwOpenTransactionManager
z|Wpgppepqh
ZwPowerInformation
ZwPrepareComplete
ZwPrepareEnlistment
ZwPrePrepareComplete
ZwPrePrepareEnlistment
ZwPropagationComplete
ZwPropagationFailed
ZwProtectVirtualMemory
ZwPulseEvent
ZwQueryBootEntryOrder
ZwQueryBootOptions
ZwQueryDefaultLocale
ZwQueryDefaultUILanguage
ZwQueryDirectoryFile
ZwQueryDirectoryFileEx
ZwQueryDirectoryObject
ZwQueryDriverEntryOrder
ZwQueryEaFile
ZwQueryFullAttributesFile
ZwQueryInformationByName
ZwQueryInformationEnlistment
ZwQueryInformationFile
ZwQueryInformationJobObject
ZwQueryInformationProcess
ZwQueryInformationResourceManager
ZwQueryInformationThread
ZwQueryInformationToken
ZwQueryInformationTransaction
ZwQueryInformationTransactionManager
ZwQueryInstallUILanguage
ZwQueryIntervalProfile
ZwQueryKey
ZwQueryLicenseValue
ZwQueryObject
ZwQueryOpenSubKeys
ZwQueryOpenSubKeysEx
ZwQueryPerformanceCounter
ZwQueryQuotaInformationFile
ZwQuerySection
ZwQuerySecurityAttributesToken
ZwQuerySecurityObject
ZwQuerySymbolicLinkObject
ZwQuerySystemEnvironmentValue
ZwQuerySystemEnvironmentValueEx
ZwQuerySystemInformation
ZwQuerySystemInformationEx
ZwQueryTimer
ZwQueryTimerResolution
ZwQueryValueKey
ZwQueryVirtualMemory
ZwQueryVolumeInformationFile
ZwQueryWnfStateData
ZwQueryWnfStateNameInformation
ZwQueueApcThread
ZwQueueApcThreadEx
ZwRaiseException
ZwReadFile
ZwReadOnlyEnlistment
ZwReadVirtualMemory
ZwRecoverEnlistment
ZwRecoverResourceManager
ZwRecoverTransactionManager
ZwRemoveIoCompletion
ZwRemoveIoCompletionEx
ZwRemoveProcessDebug
ZwRenameKey
ZwReplaceKey
ZwReplyPort
ZwReplyWaitReceivePort
ZwReplyWaitReceivePortEx
ZwReplyWaitReplyPort
ZwRequestPort
ZwRequestWaitReplyPort
ZwResetEvent
ZwResetWriteWatch
ZwRestoreKey
ZwResumeProcess
ZwRollbackComplete
ZwRollbackEnlistment
ZwRollbackRegistryTransaction
ZwRollbackTransaction
ZwSaveKey
ZwSaveKeyEx
ZwSaveMergedKeys
ZwSecureConnectPort
ZwSerializeBoot
ZwSetBootEntryOrder
ZwSetBootOptions
ZwSetCachedSigningLevel
ZwSetContextThread
ZwSetDefaultHardErrorPort
ZwSetDefaultLocale
ZwSetDefaultUILanguage
ZwSetDriverEntryOrder
ZwSetEaFile
ZwSetEvent
ZwSetInformationDebugObject
ZwSetInformationEnlistment
ZwSetInformationFile
ZwSetInformationJobObject
ZwSetInformationKey
ZwSetInformationObject
ZwSetInformationProcess
ZwSetInformationResourceManager
ZwSetInformationThread
ZwSetInformationToken
ZwSetInformationTransaction
ZwSetInformationVirtualMemory
ZwSetIntervalProfile
ZwSetIoCompletion
ZwSetIoCompletionEx
ZwSetLdtEntries
ZwSetQuotaInformationFile
ZwSetSecurityObject
ZwSetSystemEnvironmentValue
ZwSetSystemEnvironmentValueEx
ZwSetSystemInformation
ZwSetSystemTime
ZwSetThreadExecutionState
ZwSetTimer
ZwSetTimerEx
ZwSetTimerResolution
ZwSetValueKey
ZwSetVolumeInformationFile
ZwShutdownSystem
ZWSS[:Xk
ZwStartProfile
ZwStopProfile
ZwSuspendProcess
ZwSuspendThread
ZwSystemDebugControl
ZwTerminateJobObject
ZwTerminateProcess
ZwTerminateThread
ZwTraceControl
ZwTraceEvent
ZwTranslateFilePath
ZwUnloadDriver
ZwUnloadKey
ZwUnloadKey2
ZwUnloadKeyEx
ZwUnlockFile
ZwUnlockVirtualMemory
ZwUnmapViewOfSection
ZwUpdateWnfStateData
ZwWaitForDebugEvent
ZwWaitForMultipleObjects
ZwWaitForMultipleObjects32
ZwWaitForSingleObject
[Zw]wHw[]DwZ@wLwQLJwXwDwHO
[Zw]wH[w]DwZw@LwQwLwJ
[Zw]wHw[]DwZw@wLwQwLwJEG
[Zw]wH[]wDZ@LQwLJCKwK
[Zw]wH[w]DZ@LQwLwJ
[Zw]wH[w]DZ@LwQLJMSwQ_wHB
[Zw]wH[]wDZw@LQLJ
[Zw]wH[w]wDwZw@LQLwJ
)))Zw]wH[w]wDwZw@wLQwLwJGGwMwCw]wBX
)))Zw]wHw[w]wDwZw@LwQLJ
[Zw]wHw[w]wDZ@wLQLwJ
ZwWriteFile
ZwWriteFileGather
ZwWriteRequestData
ZwWriteVirtualMemory
ZwYieldExecution
[[[z[[[x[[[
zX1(9ZXW
zx2yIxJxOxVxHxVxHxVxIxWx*x
zX3llllllllmllllOllylm0
z@@@@@x@@A@AAac
ZX_AA@GYNZ@BCBLJ_PX
@Z]XA_HKGP]AQ
]Z@X[AKJ]GDKK
]ZXALKJG_
zxaxHVHVHVHX
ZXAXMMCEN[
_ZX_AYF][ONQ
Zx@@@@B@A@2 @_I
zXBAHJKWG
z-x@@@@B@CANp@I
ZXBGGJM_
ZXBHAMX]A_M[
zXBLMMOHW
ZXBMQBQ]J
ZXBPHDO]NN]S
Z@X[BSKJ
ZXBXOESEFCJDJY
ZXBXxTXZ
ZXBXyxczxIV
ZXBXZxTXZ
ZXByxtxZ
ZXBZQYG[
ZXCCNCCCBACC
ZXCJ]POPA
ZXCLBJO_
ZX]CYSYPNLP
ZXd][[[a[[[#[[[
ZXdB[[[B[[[A[[[
zXd][[[|[[[e[[[
ZXDMOSOCJPE
ZXDOGNXXPQ]G
ZXdx[[[R[[[P[[[
zxDyJHILUHMUIOXINBMNBMJX@I@H
@Zx?DYx;ZD9
ZX_ECXHNOBBJPDXGOB
ZXEFELMK
zxefELmky[F_@ML[))
ZXEFELMKY[F_ML[
ZXEHHBL]A
)))ZXEHMHY]L[
ZXEHMHY]L[
zxehNLG]))
ZXEHNLG]CFK
ZXEJE@LG]
ZXEJFDDHGM
ZXEJFGGLJ]@FG
ZX]EJ[HBA[A
ZXE]LELDL][P
ZXELQY[LZZ
ZXEMH]HHMHY]L[
ZXEPDLPFOXX
ZXEvJFGGLJ]F[
zxexkxfxxyx|x
ZXEYL[OF[DHGJL
ZXEY_NFOX
ZXEZHOLFE[ZL[_@JL
zXEZHOLO@E]L[ZL[_@JL))
ZXEZHOLO@E]L[ZL[_@JL
zXEZL[_L[
ZXEZL[_L[
zXEZL[_L[dZZXEZL[_L[))
zXEZL[_L[@G]LN[H]@FGZL[_@JLZ
ZXEZL[_L[@G]LN[H]@FGZL[_@JLZ
zXEZL[_L[@G]LN[H]@FGZL[_@JLZJL@YZL[_@JL
ZXEZL[_L[@G]LN[H]@FGZL[_@JLZJL@YZL[_@JL
zXEZL[_L[hEZXELQY[LZZ))
ZXEZL[_L[HGHEPZ@ZZL[_@JLZ
ZXEZL[_L[HGHEPZ@ZZL[_@JLZdZZXEZL[_L[))
ZXEZL[_L[HNLG]
ZXEZL[_L[JL@YZL[_@JL
zXEZL[_L[JL@YZL[_@JLdZZXEZL[_L[))
zXEZL[_L[JL@YZL[_@JLzXEML_
zXEZL[_L[JL@YZL[_@JLzXEML_))
zXEZL[_L[[LYF[]@GNZL[_@JLZ))
ZXEZL[_L[[LYF[]@GNZL[_@JLZ
zXEZL[_L[[LYF[]@GNZL[_@JLZdZZXEZL[_L[))
zXEZL[_L[zXEML_
zXEZL[_L[zXEML_))
Z[X[FHSDX_[JA
ZXFX6-4yxvy
zxfxfxhxxrx!zK
Zxg9ggfGC
ZXG_D@[AGAMN
@ZxGD@YB]T
ZX_GF]J[SAHJJ_
')))Z[XGHEXPZZPN
[Z]XGKHFHL
ZX]GNY_JYL]AJQSD
ZX_gqggj
[Z_XGXDO
ZXGYO[LZ
ZxHLKHrxv
ZX@H[PCP
@ZXHQPCGJ
ZXHSPGNGXNMB[
zxhxxyxj9
zxhxxyxk9
zxhxxyxm9
zxhxxyxn9
zxhxxyxo9
zxHy7x;x9x
ZXHY[EXCKJPP
zxhyIJKJIKIJHJHV
ZXHZZCHPBY
zxiyVG9.;5
zxiyVHHOx0
ZXJ_@FCDLZL
ZXJF]yxhy
ZXJHC]EE
zxJhggfw3
ZXJLGP_E
ZXJL[JMPJPH
zxjx[KJOOHxx*
ZXKACOQZ
_ZXKBMQMHLN
ZXKD[NKK][
ZxKdO[[[
_ZXKNYNHOG
)))ZXKOHONH@HHFHL
ZXKSACQOYS@AMBN_LEP@LYF
[[[Z[[[x[[[kzkD]R;
[[[Z[[[x[[[kzkD]Rp]Z_Z
ZXL]CDMNMECAP
Z[X]LD[APGQ[DAAOK
ZXLLHHFALK
ZXllllllllmllllOllylm
zxlxjxixxpxny
ZXLZXYDO
Z[[[[[[x[[M
)))ZXME@
ZXM_KN[ODCMS
ZX_MKXDKAM]MX]PB
ZXMPKZL[C
ZX[MPQC[JG
zxmxmxuxxlxZx
zxmx[O@M
Z[XMYNESNH_XB]
ZXMYQOJEYSESSSLDE
ZXNDQSAS
ZXNdT[[[
ZXNYDQLM
zxnyIJH]
ZXNYNZ__JP
ZXNYPZDK
Z@XOB[_Y
ZXogqgg7[
ZXOOGN]ZJ@
ZXOQLLXK
ZXOQ]ZZZG
Z[XOSK[COGJSPGL
ZXOS]QNXEO
ZXP_C[CX
ZXPCKCNP]FBLBKA
[ZXPEASDMO
ZXPFGQSHGJ
]ZXPHPBCYPJLEXYQH
ZXPILKNX:QX
ZXPKJBLGDJSHS_J
ZXP_N@LJC
ZXPOOF_]
ZXP[PH_C
z@@@@@@@@XpXD
ZXPXOJ[PMZ
zxpxpxtxxyxrx
zxpxpxuxxyxBy1x
zxpxpxvxxyx
zxPy(xxx
ZXPZX_YG]J
zxqAAAA@AAAAAC
]ZXQACNXNH
ZXQD[BOE[_
:@ZxQEyQs
ZXQHFEL]NP[J
ZXQHJXYPEBXCD
Z]XQQQCSMJGGEGJJ
ZXQX[[OXY
zxQxQxpxxrx
zxqxqxtxxyxr
zXqXxxyx
zXqXxxzx
zxqy69.X
Z@XQYFJ[@XQYF@Y@XQYF]
zxrxrxcxxyxqx
zxrxrxfxxyxq
zxrxrxuxxyxIy
zxry1.x      xxxx
]ZXS]_GHSXG
ZXSSBLDL
ZXSUYXSEYXSwYXSeYXS
zxsxR8RV
ZXSYGD]F
Z[(X[[t[[[
Z[.X[[t[[[
zxtx''''9.(V*
zxty4711
zxty@MVJMVIAVJIIzxdy
ZxuxrxxcPx
zxuxuxpxY[9
zxuxuxuxxyx
zxuyZSSS@SS
zxvxvxhxxyx_x;
zxvy]H@ ]H@ ]H@ ] yx
zxwx9.(V9
zxwxI@IVI@AVIMJVIKIzxuxIAHVIIIVAVIJAxxx
ZXW;XZZ]
_zxx(((((
zxX!47cb
ZXXAH[DANH_H
z((x;xBx
zxxhxxxxxxx|xxxxxxxxxxxxxx
]ZXXKNNJ
z|xxpf tpz
ZX]XSABCYP
|Zx[xTxUxVxWxPxQxRxSxLx
zxxx0xxyxyxyxxyxCz
Zxxx4xxyxyxyxY[4
zxxxBIxx
zxxxBxIxxxxx
zxxxGxxyxyxyxY[4
zx:x:xixxyxu
zx|x|xjxxyxpxHKK
zx|x|xrxY[9
zxxx-xxrxrxyxxrx0z
zxxx"xxrxrxyxxrx5zw
zxxxxxxx
zxxxxxxxxxxxxxxxxxxxxxx;
ZXXXXXXXXZX]XXX
ZXXXXXXXXZXXXXX
zx|x|x|xxzx
z|xxxxye
zxxxxzx]Y]]
zxxxyxcy
ZxxxyxoyxxxQXFXZxxx
zxxxyx|y
(zxx]Y]]
z;xx]Y]]
Zxxyk[Ryx)y
zxx]Y]]L[_
Zxx]Y]]N
zxx]Y]][pX
zxx|yxmyM@MU@
zxxyxsxK
zXxyxxllo
zxx]Y]]Y
Zxxzx]Y]]P
ZXYCBYMLH
ZXYCCSPKN
Zxyc]xyJ]xy)]xy
ZxyeZxyH[xy
ZXYHCKCKF
ZX_@Y@HO[NG
#ZXYhYkIkK]Qp]Z_Z
ZXYK[DKZ
Zxyl]xyL]xy-]xy
Z[XY]_OXX[AY
Zxyp]xy[]xyT]xy0]xy
Zxyq]xyt]xyE]xyF]xy
Zxyq]xyZ]xyG]xy!]xy
Zxyq]xyZ]xyG]xy"]xy
ZXYSABPFSJ
Zxyt]xyS]xy2]xy
ZXYXAKJ@_O
Zxyxmx-9;'
Zxyxsx0:1
zxyxyxmxxyxky
zxyxyxoxxyxay
zxyxyxpxxyxCzw
zxyxyxpxxyxQzw
zxyxyxrxY[9
zxyxyxsxxyxGx-
zxyxyxuxx
zxyxyxXxxyxwy
zxYyBWW]
Zxyz]xyg]xyD]xy
Zxyz]xyk]xy
ZXYZYHDJ_PJCDE
]ZXZDQ__
@ZxZD@YB]T
ZXZFJ]QNZNN
[[[zXZfT[[[
#ZXZh_kIkK]Qp]Z_Z
#ZXZhYkIkK]Qp]Z_Z
ZX[[[Z[[[O[[[
ZX[[[Z[[[O[[[*
ZX[[[Z[[[O[[[.
ZX[[[Z[[[O[[[:
ZX[[[Z[[[O[[[@
ZX[[[Z[[[O[[[_
ZX[[[Z[[[O[[[1
ZX[[[Z[[[O[[[22
ZX[[[Z[[[O[[[49
ZX[[[Z[[[O[[[5a
ZX[[[Z[[[O[[[9	
ZX[[[Z[[[O[[[a
ZX[[[Z[[[O[[[bH
ZX[[[Z[[[O[[[c
ZX[[[Z[[[O[[[D
ZX[[[Z[[[O[[[dT
ZX[[[Z[[[O[[[EU
ZX[[[Z[[[O[[[!G
ZX[[[Z[[[O[[[h
ZX[[[Z[[[O[[[HvV
ZX[[[Z[[[O[[[igJ
ZX[[[Z[[[O[[[l
ZX[[[Z[[[O[[[m
ZX[[[Z[[[O[[[m"
ZX[[[Z[[[O[[[O
ZX[[[Z[[[O[[[]Oj
ZX[[[Z[[[O[[[ow
ZX[[[Z[[[O[[[p
ZX[[[Z[[[O[[[Rg:
ZX[[[Z[[[O[[[rmzY
ZX[[[Z[[[O[[[s
ZX[[[Z[[[O[[[T
ZX[[[Z[[[O[[[Tmc
ZX[[[Z[[[O[[[v
ZX[[[Z[[[O[[[X
ZX[[[Z[[[O[[[y
ZX[[[Z[[[O[[[Y
ZX[[[Z[[[O[[[Y)3re
ZX[[[Z[[[O[[[z
ZX[[[Z[[[O[[[Z3
ZX[]ZSGMZ[D
zxZx]xVxRx
zXZx'xZx
zxzxzxixxyxwxx
zxzxzxnxxyxdy@OLAL
zxzxzxpxxyx)z-
zxzxzxpxY[9
zxzxzxtxY[9
zxzxzx[xY[9
ZXZZur|xey
[[[z[[[y[[[
'z;'((]Y]]
z(((]Y]]
z@@@@]Y]]
!)))@ZY][
Z'((]Y]]
Z@@@@]Y]]0
zy1|yyvIlIYIWIDI1I7I.I"I
zy1yyyTI
!zy1!zyg!zyW
Z@@@@]Y]]2
_zY3''S'
[zy3uxya
ZY@5pgppepq
 zy7!zym zy
:zy8Gqy8@qy
Z@@@@@y@@A@AAacoo
Z[YA_ADZ
ZYAAYNDGHM
Z_YABQDCL
ZYACJGAGG
z)))YAF]FKPBLE_@G
Z@YAFGJFFB@L))
zy@@A@h ISF
ZYAHXMEFF
Z[YAOXFS]
Z@YAXJ]QJ@CM_J
]ZYAYO@LSXBX
zyAyyyyyyyyyyyyyyyyyyyyyyyyyyy
 zya#zyD#zy
ZYBAYAJDSP
ZYBL]EPZ__X
ZYB]OCDBH
ZYBPXFMACFHG_
zyBWWIL@VJMIVOIVI@JW
zyBxWxWx
zyBxWxWxIxLx@xVxJxMxIxVxOxIxVxIx@xJxWx
ZyCdX[[[
ZYCHB@SBJMHPCOL
ZY@CY_G_
ZYCYLAMSX
Z_]Y]]d]]
zYdA[[[j[[[i[[[
@zydCzyTCzyDCzy
Z[YDDL_]BBH
ZYdz[[[U[[[
!zyd zy8 zy
!)))ZYE@]
)))ZYE@]
.)))ZYE@]
ZY]ECL]G_AYDXZO
ZYE@]E@GLZ
zYefB[[[
_ZYEFNSQLCMBSF
zYE@G]L[
z)))YEHCDH[BL]
ZY]EHDKF
ZYEHZADFM
zYEHZAhJ]@_@]P
zYEHZAHMdhg))
zYEHZAhMhJ]@_@]P
zYEHZA@L[
zYEHZAlDY]PhJ]@_@]P
z][@YEHZALZvDZN
ZYEHZAvZJ[LLG
zYEHZAzJ[LLG
ZYEHZAzJ[LLG
zYEHZAzJ[LLGhJ]@_@]P
zYEHZAZJ[LLGhJ]@_@]P
#)))ZYE@I]
#)))ZYEI@]
ZYE@]JFGM))
ZYE@]K@EEZ
ZYE@]KP]L
ZYE@]]L[
ZYE@]L[v
ZYENECQNG
ZYE@]rZ][@GNELG
_ZYEXXZGEZ
zYE@]zALEE
zYE@]z][@GNvfYLG
zYE@]z][@GNvlQYHGMlG_@[FGDLG]z][@GNZ
')))ZYF[]
ZYF]E@NA]_L[EHN
zYFFESzJHGSL
ZYFFEuZ_JAFZ]
ZYFFOL[@Y
ZYFFOL[@ZM@ZHKELM
@ZY[F]F]PYLFO
?)))ZYFGZF
)))ZYFGZF[LMvMH]H
ZYFGZF[LMvMH]H
ZYFJQK@Y
ZYF]_@MLFYF[GF
ZYFXKNMAC
Z|yf]|y@]|y ]|y
z)))YFZ]
ZYF[]ZDHCF[Z]H[
)))ZYF[]ZDHGZGC
ZYF[]Z][HJB
ZYF[]ZJH[
]ZYGAOK]X
Z@YgCCNCCCBACC
[]ZYGEGC
zY@G]FEE
ZYGGXZXK
ZY[@GKFF]JEHZZ
ZY@G]LQJALD@Z]Z
zY[@GNzALEE
ZYGO@CBND
@ZYGOOLPS
Z[YGXCMLL[
]ZYGXMC[
ZYGZK]X]JQMHA[][
Z@_YH[@]
z)))YH]A
ZYHAZGSZEZBP
ZYH[BFGE@GL
[ZYHCO[SO
 )))ZYHDDL[
ZYHDDLZZHNL[LCLJ]LM
zYHDE@GB))
 )))ZYHDKF]
:)))ZYHD[LOL[[L[Z
]ZYHDXQM_JNC_LA
ZYHGBNKH
ZYHGFGJE@JB
ZYHGJEHZZ
ZYHGMH]H
ZYHGMH]HZ[J
ZYHGZ]PEL
ZYH[HDL][Z
.)))ZYH[J
ZYHJBHNLGHDL
ZYHJ@HEL
ZYHJLCAD
ZYHJLD[SYBGGF
ZYHJLMLDFGZ
ZYHJLQBKX
ZYHJLQ]K]
ZYHJLQ[[]S@_ASXNSJ
ZYH]]L[G
Z[YHO]L[
Z]YHPHGY[
")))ZY[HPvFKC
")))ZY[HPvH[[
ZY[HPvH[[
)))ZY[HPZE@ML
ZY[HPZE@ML
ZY[HPZE@MLZ@SL
Z]Y]HSMN
ZYHZXG[ML
ZYi1ZYiaZYi
#)))ZYIE@]
zyiyyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyIyyyqEgE
ZYJA[NQZ
ZYJBQD]_B
ZYJD@[H@G]
ZYJDMF]AYZ
ZYJKPSYLY@ZXPJ
ZYJLCGN[QDXC
ZY@JLY[LZZ
@ZYJND_GZACLGDG@L
ZYJPK_HK
ZYJZLEO[LY
.zyj!zyC!zy
zY@]KHEEL[
Z@YKJXOGXMEY
ZY[K]LAKEBHMBLOMY
@Z]Y@KL[FHDL[@JHGF
ZY@KMMZSKL
ZY]LA]LP
ZYLDD@]MJ
zYLEEjALJBzL[_@JL))
zYLEL_Flb
z]Y]]LeX
)))ZYLH[ALHM
zY[LHMhJ]@_@]P
)))ZY[LHMZALL]
ZY[LHMZALL]
ZY[LHMZALL][LHML[
ZY[LHMZALL]UHEE[@NA]Z[LZL[_LM
ZYLJ@HELG][PMH[ZAHG
)))ZYLJ@HEOFEML[Z
ZYLJ@HEOFEML[Z
ZYLJ@HE@SLM
ZYLJ@HEvJDM
())ZYLJ@HEvJFDDHGMZ
')))ZYLJ@HEY[@JL
ZYLJ@O@J
ZYLLAASC
:)))@ZYLLJA_F@JL
ZyllllllllmllllOllylm
Z:YllllllllmllllOllylm
ZYLLMDF_L
zYLLMFDL]L[
)))zYLLMFdL]L[hYY
zYLLMhJ]@_@]P
ZYLLML[@GN
ZYLLML[NH]F[
ZYLLM]LZ]
zYLLM|YdPyj)(
zYLLZ@Y[F
ZYLM@]@FG
ZYLMO]XJ]
ZYLMYCKLNKK
ZYLOBDZXMPQMH
ZY@LPKBME
ZYLYNHGDP
ZYL]YSBPOQDMQH
@ZY[LZLG]
Z]YMAEMP
zymiyyyyyyyyyyyyyyyyyyyyyy
ZY@ML[DHG
)))ZY@ML[]_HYY
]ZYMLOKP
]ZYMPHJLEK
ZYMQPHMMXSYAJ@
ZY]MXSGNZ]
ZY@NAOZO
[Z_YNAP[ZLCA
ZY_NEHKKGQ
@ZYN]]NPHX][[
Z[Y@NOEZZLFCJ
Z]YNXLXM@KY
.zyn!zyK!zy?!zy'!zy
;zyn:zy;:zy
ZYOBJDYZM
ZYO[XXMPG
ZYOXYGY[LO]_N
 zyO!zyE!zy
Z||y[||P[||5[||
Z]@YP_ECX@OHKQQCXQY
ZY_PFZNML
ZYPGL][LYF[]@GN
zYpgppepq
ZY[PHZZL]Z
ZYPJHDL[H
ZYPM[F@M
zYPM[F@MhJ]@_@]P
ZYP[@QBLPEFNNL[OF[DHJ
ZYP@SYZZY
zypwzybUxy
ZYP]XXCNZ@QJ
ZY_PYKFN
ZYPZA[LMML[ZJHGGL[
*zyp-zy@-zy
Z]]YQAAQGK
ZYQFOAOFY
ZYQG]_[J
ZY_QH@L]KKXA
Z_YQHNQFGJN
ZYQLM_BJ
ZYQQCXAQ
ZYQXMSE@B
ZYQ_XYN_
_ZYQYMZN
zyQyyydL
ZYQZJPSMHK
)zyQ(zy"(zy
ZYRRSSSSS
zy!rzyErzy
ZYSBYNJY
ZY_SDNN[BP_
zYsgqggPE
ZYSHCCMNZA
ZYSJH]AS
ZYSJQQ[]
ZYSPLXH@
 zyS"zyI"zyO"zyE"zy;"zy1"zy7"zy-"zy#"zy
[zytZzyNZzy
zyUyyytI.L
zyuyyyyKyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
"zyu"zyk"zya"zyg"zy]"zy
'zyu'zyk'zya'zyg'zy]'zyS'zyI'zyO'zyE'zy;'zy1'zy-'zy#'zy
[[Z[y[V[
ZY[vO@ELZ
[[Z[y[W[
.zyw!zyD!zy
ZyxgyEZ0
Zyxmy]9'9
ZYXPYE@EJ
ZY["X[[t[[[
ZyxtyUxUx
ZYXYXEPL
zyxyyy.ryy.ryy5
zyxyyyyyxyyyy
]zyxyyy|yyy|yyy
z]Y]](:Y
z|Y|Y||||
Zyy3Iyy3IyyyyyyV]yy0]yy
zyy7qxxxZ!
Zyy9yyyyyyyyyyyyiyy
ZYY]C_[H
zyycyyy-zyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
Zyyd]yy?]yy
zyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyqyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyiyjyzQUiy-yy
]zyyiyyyIzyyy
zyyiyyyy|yyy;
zyyiyyyy|yyy1
zyyiyyyyyyyyyyyyyyYyy
zyyiyyyyyyyyyyyyyyyyyyyyyy
zyyiyyyyyyyyyyyyyyyyyyyyyyY
zyyIyyyzyz
zyy@JBL[))
ZYYJPYOGYXNKA[_BKXGE
ZYYKAEZA
Zyyk]yy@]yy
Zyyl]yyK]yy4]yy
ZYYMHNXBE]X
ZyyMPyy)Xyy
zyy	pyyvI
zyyqyox)
zyyQyyyyyy9
zyyQyyy!yyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyryzyytyjyuzyyiyjyadx
Zyyt]yy*]yy
ZyyUqyyrAZ
zyy-uyytIp(
zyyuyyyY
zyyWyyy!
ZyyXgyyOgyy2gyy
zyyxyIyMyIy@yIyMy;yIyyy5yoyxy:y
Zyyx]yya]yyI]yy1]yy
zyy-xyyQ
zyyxyyyayyy
ZyyxyyywyyywyyyQZyy
Zyyxyyy|y|
!zyyxyyyyyyy
zyyxyyyyyyy
zyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
ZyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyPyyy
zyyyqyyy
zyyyQyyy
	ZyyyTyIy
zyyyxyyyyyyyuyyyyyyyyyyyyyyy
Zyy]]yy1]yy
zy]yyyiiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyuyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zy	yyyVI
zyy]yyyczyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyyyy'iyyyiyyyYyyyyS
zyyyyykjyyyiyyy
zyyyyy"kyyyiyyyYyyyy
zyyy yyy
zyyy#yyy
zyyyyyy	
zyyYyyy5yyy
ZyyyyyyEyyy
Zyyyyyyh_yyyyyy:@yy
zyyyY|yyiyyyi|yyyyyyyyyyyyy9yy9W
zyyyyyyi|yyyyyy
zyyyyyyI|yyyyyy
zyyyyyym
zyyyyyyy
Zyy|]yyY]yyE]yy ]yy
zyy#yyyyyyk
zyyyyyyyyy
zyyyyyyyyy7
zyyyyyyyyyy
zyyyyyyyyyy!
zyyyyyy-|yyyyyy
zyyyyyyyyyyyyy9yy
zyyyyyyyyyyyyy9yy9W
zyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyy9yy;yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyYyy
zyyyyyyyyyyyyyysyyy
zyyyyyyyyyyyyyysyyy#
zyyyyyyyyyyyyyysyyy[
zyyyyyyyyyyyyyysyyygI
zyyyyyyyyyyyyyysyyyh
zyyyyyyyyyyyyyysyyyIk
zyyyyyyyyyyyyyysyyyJ
zyyyyyyyyyyyyyysyyyo
zyyyyyyyyyyyyyysyyyQ
zyyyyyyyyyyyyyysyyyQM
zyyyyyyyyyyyyyysyyyr
zyyyyyyyyyyyyyysyyyu
zyyyyyyyyyyyyyysyyyvk
zyyyyyyyyyyyyyysyyy:x
zyyyyyyyyyyyyyyuyyy
zyyyyyyyyyyyyyyuyyybX
zyyyyyyyyyyyyyyuyyyX@
zyyyyyyyyyyyyyyyvyyy
zyyyyyyyyyyyyyyyyQyy1yyyy
zyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyyyyyyyy	
zyyyyyyyyyyyyyyyyyyy9xy
zyyyyyyyyyyyyyyyyyyy9yy
zyyyyyyyyyyyyyyyyyyy9yyuyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyyyyyyyyyyyyyyyyy9yyY|yyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyyyyyyyyyyyyyyyyyI|y
zyyyyyyyyyyyyyyyyyyyY
zyyyyyyyyyyyyyyyyyyy	yy
zyyyyyyyyyyyyyyyyyyy)yyIqyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyyyyyyyyyyyyyyyyy)yyusyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyYyyyyyyyyyyyyyyyyyyyyyy9yy
zyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyyyyyyyyyyyyyyyyyyyyyyyyy
zyyyyyyyyyyyyyyyyyyyyyyyyyyyiqyy
zyyyyyyyyyyyyyyyyyyyyyyyyyyyiyyeyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyW
zyyyyyyyyyyyyyyyyyyyyyyyyyyyy
.zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyS!zyH
zyyyyyyyzyyyyyyyyyyy
zyy	zyb	zy7	zy
;zyy:zyR:zyF:zy
Zyyz]yyf]yyC]yy']yy
Zyyz]yy;]yy
Zyy	Zyy	Zyy
ZYZDMYAA
ZYZDMYAAi
ZYZXJPCOJ[
ZYZXZNJLXAZCNJY
Z|y!Z|y3Z|yGZ|yGK|yUZ|y
zy ;zyF;zyQ;zy
!zy]!zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
]zy)]zy	]zy
Z_YZZALM
ZYZZASJKYXP
ZYZZkIkK]Qp]Z_Z
#zyz"zye"zyL"zy
zyz	zyU	zy2	zy		zy
'||z ||Z ||0 ||
zz1111MMM
ZZAAD_@SG
ZZAA@Z]F[P
zzAD)mggfw
zzaeFF][
ZZAJE@LG]
ZZA[KG[G@
z)))ZALL]
ZZA[LZ]H[]
ZZAMvJFGO@N
ZZ[AOPQO
zZ@@@@B@A@Jp@T
ZZBLHLAX
Z@ZBMBBBB]
ZZBNMXH]G
ZZBO_C_HXEGBJ
zzBxWxWx
zzBxXx9x
zZC]aAIqAXAAAAAAAA
ZZcccLccacJc0
ZZCFHLAHQCM
_ZZCJOLD
Z[Z_CMJN
ZZCSHZBE
ZZddZ7nbbhT
@__ZZD_G
ZZDML_LEFYL[Z
ZZ[DM]M@]Q]A]CDY
@]@ZZ@DYEL]FMF
Z[_ZDZQ[Z
ZZ|]@E))
z][zELLY
ZZEMGPEBAQED
ZZEv_L[Z@FG
ZZEZ][LHD
@ZZfR[[[g[[[d[[[
Z]ZGBJBS
ZZ]GCQADMM
ZZGE]FXZGC[
zzgfGatf
ZZggfG56
Z@Z_@][@GL
ZZGLZSY_EQJBCK
ZZgmegfG
ZZ]GMNSMQ
")))@ZZ][@GN
)zzgqgg(
ZzgqggPE;
z#zgqggRZ
ZZGSJOEN_NCC
ZZgY'ggG
ZZG]YGN]YYSMMNZP
z)))Z]H[]
zz;H@:9W[
ZZHA]]_OH
ZZHJLKAB
Z_ZHKG@LNZ
")))Z][ZH_L]F
)))Z][ZH_L]F
Z][ZH_L]F
Z][ZH_L]FHYYMH]H
z)))ZH_L]FO@EL
Z][ZH_LGHDL
Z][Z]H[]LQLO@EL
ZZH_LYH]A
)))_ZZHMD@G
_ZZHMD@G
ZZHNYDPG
ZZHOYEDS
Z[ZH]YK]F
ZZHZHZHZH
[ZZHZZJEXHH
Z@zi?!g?1
zz@j@@A@AFac
Z]ZJAFFE
Z)))ZJA]HZBZ
@ZZJAPCHYQ[CX[
ZZ_JDQPPZFJ]DJ
ZZJ_NKPMKPQ
Z]ZJSZ]PJZEB_CL[
!)))ZZJ[@Y
z_[[[Z[[[K[[[
[[;[[_[[[_[[[_[[[Z[[[[[[ZK[[[
Z_[[[Z[[[K[[[
zz@k@@A@AFac
_ZZKCEZBMCHAHS
ZZKGZYPJNPKMYS
ZZkIkK]Qp]Z_Z
Z(.ZKJHJEZ!)!@NEZ.
[[Z[[[[[Z[_[[[[K[[[K[[[K[[[[S[[[[YS[[[[Rf[S[[[Z[[[[
ZZKNBDZP
@ZZKP@ZBX
ZZkx]Vp]Z_Z
')))@ZZL]
ZZL@DHCL_JPSM_JEJZ
Z@Z]LDHZ_@Y
ZZLE[GMFY]
@ZZLF1ZLX73ZLI1ZO732ZLJ7ZN132AbLG
@ZZLHELM
]][ZZ[LHML[
ZZLJC]BB
ZZLJFGMZ
ZZLJF[Y[H_
ZZLJF[Yv
Z)))ZLJ@GOF
ZZ][LJQKECZ
ZzllllllllmllllOllylm
]ZZLMMPPK
ZZL[PGLME
ZZ@@@@@@@@Lp@m
)))Z@Z]L[Z[HGNL[F_L[
Z@Z]L[Z[HGNL[F_L[
ZZ@MJFGO@N
_Z[Z[[MJGDB
Z_@ZMSZD@
Z||z[||m[||X[||S[||B[||7[||#[||	[||
ZZMZ_XX]SM
ZZ@NB@EE
ZZND_@[D
ZZNDGB[MS
@ZZ@NGLM@G
ZZNHQPLBQZ
_ZZNLA_[
_ZZNMAAM
ZZN@NDZO[
]]ZZ_NQJG
ZZN[SZQY
ZZOJ@[KYK]L_A
ZZOKNNSOZKCGO
z)))Z@O]L[
Z[[ZOOM[
Z]ZPEFNKAK
ZZ]PESLKB
[ZZPKJHB
z)))ZPZ]LD
@ZZPZ]LD
Z)))ZPZ]LD
ZZ]QDEGZ
zzqk|i|R
ZZQ[KPLLDH
ZZQSNCNXC
Z[ZQYOZL
zzR.:7 R
|zZrEFzY
zzrzzQzzzzzzz[A[[V
zzrzzTzzzzzzz
zzrzzTzzzzzzz[A[[V
Zzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzxz
Zzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz
Zzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzz|zzrzzTzzzzzzz[A[[V
Z[[[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzizzzzzpzzrzz]zzz
Zzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz]zzz
_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzz
_[[[Z[[[zrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzzzzzzzzzzzrzznzzzzzpzzrzz]zzz
ZZS[DFJ]JPX
ZZ[SJQ@LGE
ZZSLGM]SG
@ZZsSCSS
ZZ[S_ZGJ]
zzuzz?zzuzzz
ZZvO@ELZ
_[[[Z[[[[z[[W
z)))Z]wH[]wDwZw@wLwQwLwJ
Zzww(g7dgfGKc
ZZXEBPX]QBMM
ZZX]P_B]OFEQSNMHX
zzxxrkpi
zzXxRxRxRxRxRxRxRxRxXx9x
zzXxRxXx
zzXxUxXxZx5x
zzxxxxwi
zzxxyxxx
zzy5zzyMhzy
ZZYBJGZ]Y
ZZYBKA_CPS
zzy[F_@ML[))
Z[ZYGAKML
ZZY@]JMQ
ZZ__Y_JS
ZZYKZ[S_HNXM
[@ZZYLL_N
ZZYL]MYL
Zzyl]zyE]zy
ZZ__[YOB]
ZZYOHEAOYCG[N
_@ZZYPAZQ
zZ]Yz_J))
?ZZY_ZkIkK]Qp]Z_Z
zzz[D[[M
)))@]ZZZE
zzz[H[[Q
zzzj]zz@z@@B@AFac
zzzk8O8zrzz
_ZZZL[_@JL
ZZZLNAPCNZCB
Z@Z@ZMMFOFEML[
Z]@ZZ_OX
zzz':'qzrzz
?zzzrzzBzzz
zzzrzzizzzyz|zzrzz
zzzrzzVzzzj]zz[j[[s
 zzzrzzxzzz
zzzrzzxzzz
zzzrzzXzzz
zzzrzz]zzz
Z_]@ZZS[
zzZx7x3x
zzzxzzz)
zzzxzzz[H[[Q
Z_[@ZZ[YYYZBOH
zzz?Yzz[
zzzyzzz[H[[Q
zzzyzzz@n@@B@AFac
zzzyzzzzrzzBzzz
zzzyzzzzrzz"zzzyzzz
zzzZ4zz@l@@A@AFac
ZZZZGLSLO
zzzzrzzjzzzvzzz
ZZZZYH[]@]@
ZZZZYP.Kq
z#z#z#z#z#
zzzzzArzrzzKzzzzzzz[|[[E
zzzzzFrzrzzKzzzzzzz[w[[x
ZZZZZK_[
zzzzzOr[
zzzzz@r[x[[A
ZZZZZZYYYTYVTC988899999
ZZZZZZYYYVVVVCC@8888888
zzzzzzz[
ZZZZZZZZ
zzzzzzzzrzz
zzzzzzzzrzztzzz|zzzzrzz
zzzzzzzzrzztzzz|zzzzrzz3zzzzzzzzrzz2zzzj]zz[H[[Q
ZZZZZZZZZ
Trying to reinitialze with more stack locations than allocated
Trying to reuse stack which has not completed unwound
TryLookupExtensionPointImplementationAcid
TryParse
TryParseInt32
TrySubmitThreadpoolCallback
TryUpdateRegistry
tsA90tnH
	    TSA Assignment Table
tsArbitraryCutoff
tscon.pdb
TSCreateAppbarTrayFN failed
TSCreateCoreEvents failed!
TsCreateFileStream failed
TSCreatePlatform failed
TSCreatePlatform failed!
TSCreatePropertySetWithNotify failed
TSCreateRailIcon failed
TSCreateRailIcon (HBITMAP) failed
TSCreateRailIcon (HICON) failed
TSCreateRailOrderEncoder failed
TSCreateRailShell failed
TSCreateRailShellInstance failed
TSCreateRdpShellHelper failed
TSCreateShellNotifyTrayFN failed
TSCreateTaskbarTrayFn failed
TsCryptEncryptAndEncodeString failed!
tsD9E#tmH
TS deleted because QoS AP lacks sufficient bandwidth for this QoS STA due to a change in BSS service characteristics or operational mode (e.g. an HT BSS change from 40 MHz channel to 20 MHz channel)
tsdiscon.pdb
TS ET EXCLUSION DE RESPONSABILIT
tSf91tNH
TSInitializeCachedResourceLibrary failed!
tskill.pdb
tsLocalStandardOffset
TSMM_AddRectToRdpRegion() failed
TSMM_VIDEO_SerializeBA() failed
TSMM_VIDEO_SerializeRdpGfxRegion() failed
TSMM_VIDEO_SerializeRdpGfxRegion() returned an invalid size.
TsOpenFileSettingsStore failed
TSPlatformStaticInit failed
TSPlatformStaticInit failed!
TSPrinterName
tspsaParamsWWW
tsqlkih[Od
TS_RAIL_ORDER_COMPARTMENTINFO_BODY
TSRDFilter_ApplyRemoteFilter
TSRDFilter_ApplyRemoteFilterWWD
TSRDFilter ClassWW
TSRDFilterLib 1.0 Type Library
TSRDFilterLibWWW
TSRDSettingsd
		'TSTheme.EXE'
TSTheme.pdb
T .SVY#sX
        'TSWbPrxy.exe'
TSWbPrxy.pdb
TsWpfWrapper
TsWpfWrapperNameSpace
TsWpfWrp
TsWpfWrp.exe
TsWpfWrp.pdb
TTadqqq-
ttD9y@tgD9y
TTDInject
TTDInject does not support standalone use
TTDInject Launcher
TTDInject.pdb
TTDLoader Params:
TTDRecord.dll
ttfE9(tnH
ttppnki[
TTT@999 999
tttCsssCqqq
TTTPPOO10k
TTTracer.pdb
?T?TT?T(
TtTtTtUuUuUuUuUuUuWwYy
tUA9p uOI
T] UAulW
tUD9oTuOL
tUE9V0tOE
Tunnel Encapsulation
TurnedOff
TurnedOn
TurnOffDevicePortal
TurnOnDevicePortal
TurnOnDevicePortalAuthentication
	Turns Disable Paging Executive settings On or Off
tutorial
T*Uvvv(W**
TUVWXYZ[
tVD8mwtPD8mot?E
tVf91tQH
tVf93tQH
tvfD93tp
tVfD93tPH
tvfD9;tpf93L
tVfD9#tPI
tVfD9'tPI
tw9HTtr3
tWD9!tRA
_TweakBiDiDateFlags
TWEENFACTOR
TWEENING
twfA9?tqH
twinapi.appcore.dll
TWOSIDEDSTENCILMODE
twvugwvp
TxChWidth
tXD8mwtRD8mot@E
txfE9 trA
txH;QxsrL
!TXMSAAAAAA4
TxtErrorCode
TxtRegistersValid
TxtStatus
TxtSupported
txwwwwxwww
ty9u(utH
tYD9ytuS9QprN
tyfD9 tsH
tyfE9'ts3
ty;M4utE
 type: ??
TypeDefs
 Type Descriptor'
 type: HMAC-MD5
type mismatch
TypeMismatch
type mismatch between conditional values
typename
typeperf.pdb
tZfE9'tTA
tZL9gXvTL
TzSpecificLocalTimeToSystemTime
tzsync.exe
tzsync.pdb
tzUseSDWWW
tzutil.pdb
TzzzzzzzY-?[B
U((09:;1
#u0D8f	u
u0D8_-u*H
u0D9e t	H
(U0E0(U(
(U0h(0a0a
U0h0h0h0Mh0M0h0M0dh
(U0h(h0h
u0L9f t#H
U0U0h0h0U0h0h0hhh0U0
U0U0U0h0hhh
u1InterfaceIdW
u38S u.I
u3D8ePt-H
u3D8w-u-H
|U)4f2Lw)"8
u4H9S u.
U4InviteeW
u4L9uPv.
u5L98u0H
U7H;U?s H
u8D9u@ua
U8rx?[[-[0T
u'9]0t"L
u9E99t4E
u|9F(uw9E0urM
u|9qDtwH
U@A9V@ve
UalInstrument
UalStart
U(aLUj4M
@UATAUAVAWH
UATAUAVAWH
@UATAUAVH
UAUAVAWI
;?ubfD9c
u	!C4H!C8
uCScriptedDiagNativeHostW
ucsvc.pdb
uC)]WJ7BE#
uD8EXt L
u'D8]ht!E3
u:D8n0uvH
u[D8v!uUD8v
 u?D9gHt
u(D9nXug
udc_config
udcomp.dll
UDP-encap: 
udpport_string: strdup(buf)
[udp sum ok] 
uee*))))00
U !E !E0H
UevAgentPolicyGenerator.exe
UevAgentPolicyGenerator.pdb
UevAppAgentProvider
UevAppMonitor
UevAppMonitor.exe
UevAppMonitor.g.resources
UevAppMonitorMainWin
*UevAppMonitorMainWindow*
UevAppMonitor.pdb
UevCmUtil.uev.ut
UevException
UevTemplateBaselineGenerator.exe
UevTemplateBaselineGenerator.pdb
UevTemplateConfigItemGenerator.exe
UevTemplateConfigItemGenerator.pdb
uF9E(uA!E
u(f9G@v"A
U@fD9T0Hv
uffA;B u_A
u]fffhwz
ugA8p tuA
uGppDispatcher should not be NULL
ugxguwuwwwvp
UGXlEx	.
Uh0a0E0h
Uh0hh0M0Mhh0hUhMhOh0Mh
u-H99u(H
(U(h(h0h0h(h
Uhh0h0U0U0hU0MhhhMhhd
U?H;UGs H
Uhuvwxwvut
_ui64toa_s
_ui64tow_s
uIA9A8uC
UiaHostProviderFromHwnd
UiaLookupId
UiaProviderFromIAccessible
UiaRaiseAutomationEvent
UiaRaiseAutomationPropertyChangedEvent
?UiaRaiseAutomationPropertyChangedEvent@Schema@DirectUI@@2P6AJPEAUIRawElementProviderSimple@@HUtagVARIANT@@1@ZEA
UiaRaiseStructureChangedEvent
uiaRegistrar
UiaReturnRawElementProvider
UIAutomationCore.DLL
UIElement
uifD;?tUL
UIFileSystem3
UIgK5D3M
UILangEnumProc
UIMgrBroker.pdb
UInt16ArrayProperty
UInt16Property
UInt32ArrayProperty
    uint32 Flags;
    uint32 Level;
UInt32Property
UInt64ArrayProperty
UInt64Property
UInt8ArrayProperty
UInt8Property
UIntAdd failed
(UINT)stat
uint_value
uireng.dll
UirGetScreenComment
UirInitializeEngine
UirOutCreateOutputFile
UirPauseRecordingSession
UirResumeRecordingSession
UirStartRecordingSession
UirStopRecordingSession
UirUpdateRecordingSession
ujH!]8!]0H
uJI9v8tDH
uJL90uEH
uKD8yhtED9y |5
uKD9k(uEH
ukk:9665200
!@@UKNL?
ul::976520.
ul::9765200
u(L9s t"L9s(t
uLD9k(uFH
ulib.dll
UlibRealloc
ulk:976522.?
ulk:9765500
ulk:996654
ULONG_PTRWWWd
ulStyleW
ulTimeoutWWW
u?ltktP5
_ultow_s
 uM-A;Dk
uMD8mwuGH
UMDF: IPC detected that the message to host timed out
UMDF: No kernel-mode debugger found.
UMDF: No user-mode debugger found.
UMDF: User-mode debugger found - breaking in.
UMgrInformFlags
UMgrInformUserLogoff
UMgrInformUserLogon
UMgrLaunchShellInfrastructureHost
UMgrLogonUser
UMgrOpenProcessHandleForAccess
UMgrQueryDefaultAccountToken
UMgrQueryUserContext
UMgrQueryUserToken
UMgrSetShellInformation
UM Irp already in use
UM irp not present in global table while attempting to remove it from the global table
UMPDC.dll
Unable to add the current thread to the descriptor
Unable to close timer handle
Unable to construct cert chain for signing
Unable to create allow all filter
Unable to create allowed event list filter
Unable to create blocking filter
Unable to create 'C' locale.
Unable to create waitable timer
Unable to determine space required for format list!
Unable to get an error message for error code: 
Unable to get AppContainer registry location.
Unable to get a SyncWaitResult from pool!
Unable to get a TSMsg from pool!
Unable to get event name
Unable to get Report Id
Unable to get Report Integrator Id
Unable to get the path for the file
Unable to get threadpool to stop waiting on timer. Callbacks may still be running or about to run.
Unable to initialize file name from moniker!
- unable to initialize heap
unable to match texm because computed texcoord is used in shader
- unable to open console device
Unable to push new event filter
Unable to QI for IID_ITSQueuedCallback
Unable to register event source
Unable to report event
UnableToSaveFindChangesMetadata
Unable to stop all processes that have files in-use. 
Unacceptable Hold Time
Unactionable
Unadvise
__unaligned
Unapproved3rdParty
UnapprovedTags
UnattendAddResults
UnattendCtxBeginModify
UnattendCtxCancelModify
UnattendCtxCleanup
UnattendCtxCommitModify
UnattendCtxDeserializeBuffer
UnattendCtxDeserializeFile
UnattendCtxDeserializeString
UnattendCtxDeserializeWithResults
UnattendCtxGetCountByNode
UnattendCtxGetRootNode
UnattendCtxGetString
UnattendCtxGetStringByNode
UnattendCtxGetUlong
UnattendCtxOpenNode
UnattendCtxOpenNodeByNode
UnattendCtxPrettyPrint
UnattendCtxRemoveNode
UnattendCtxReplaceMatchedNodesWithText
UnattendCtxSerialize
UnattendCtxSerializeSettingsStream
UnattendCtxSerializeToBuffer
UnattendCtxSetString
UnattendCtxSetStringByNode
UnattendCtxSpliceTrees
UNATTEND.DLL
UnattendErrorFromResults
UnattendFindAnswerFileWithResults
UnattendFreeNode
UnattendFreeResults
UnattendMarkPassUsedInCtx
UnauthorizedAccessException
UnBCL::HeapMemoryManager::InternalValidatefailed
?UnbindPtr@WString@@QEAAPEAGXZ
UnblockSimPinPage_CreateInstance
__uncaught_exception
?uncaught_exception@std@@YA_NXZ
UNCHECKOUT
UncloakShellCloakedWindows failed
uncompress
unD9d7 |gD8e
unD;ATrh
Undecodable IP Address
Undefined mapping from display properties to view state
Underlying file hasn't been created
une autre faute dans la limite autoris
UnEnrollment
UnEnrollmentSuccess
UNEQUAL-PAYLOAD-LENGTHS
Unexpected
Unexpected access state!
UnexpectedAction
Unexpected code path
Unexpected Condition
unexpected connection port
unexpected #elif
unexpected #elif following #else
unexpected #else
unexpected #else following #else
unexpected #endif
unexpected end of file
unexpected end of file in macro expansion
Unexpected end of filename list; directory expected after -C
Unexpected failure
Unexpected failure in QueryInterface
Unexpected flag value for ExtendedExceptionInfo.flags
- unexpected heap error
Unexpected HRESULT returned by API
Unexpected IOCTL recieved
Unexpected message type
- unexpected multithread lock error
Unexpected request type
Unexpected result from InitializeProcThreadAttributeList
Unexpected return from WaitForMultipleObjects
Unexpected return value.
unexpected tokens following preprocessor directive
unexpected type in CWudfIoIrp
unexpected UMDF component
Unexpected value received in threshold so resetting it to 0.
uNH9]8uHH
unH99uiH
UnhandledExceptionFilter
Unhandled user-mode exception
UnhookWindowsHookEx
UnhookWinEvent
?UNICODE_CODEPAGE@UnicodeEncoding@UnBCL@@0HB
UnicodeW
uniformAndStorageBuffer16BitAccess
uniformAndStorageBuffer8BitAccess
uniformBufferStandardLayout
uniformTexelBufferOffsetAlignmentBytes
uniformTexelBufferOffsetSingleTexelAlignment
?Uninitialize@CVdsAsyncObjectBase@@SAXXZ
?Uninitialize@CVdsPnPNotificationBase@@QEAAXXZ
UnInitializeGlobalResouce
UninitializeLocalHtmlEngine
UninitializeXamlCustomResourceLoader
UninitializeXamlRuntime
UnInitProcessPriv
UnInitThread
UninstallCheckUpdatesButtonClicked
UninstalledFaceFodsCount
UninstallFailed
	UninstallFinalizedAndRebootTriggered
	UninstallGoBackButtonClicked
UninstallGoBackCancelButtonClicked
?UninstalllAllPackages@DeployAgent@@QEAA_NXZ
UninstallMigration
UninstallNeedToKnowCancelButtonClicked
UninstallOSPage_CreateInstance
UninstallPasswordCancelButtonClicked
UninstallReasonCancelButtonClicked
UnInstallSmartStandby
UnionRect
UnionWith
uni_output
UniqueId
UniqueIdChange
UniqueIds
unitCount
UnitsFailed
UnitsSize
UnitsSucceeded
(unknown)
[UNKNOWN]
Unknown AFI
Unknown Attribute
Unknown component type.
Unknown Ctrl Subtype
unknown encaps
(unknown enumerant 
unknown error
Unknown Error
Unknown exception
unknown extd community typecode
unknown field type
Unknown File
UnknownGuid
Unknown IP Address Type
UNKNOWN_KEYBOARD
Unknown message type
Unknown Message Type
Unknown Origin Typecode
UnknownQueryType
unknown RD format
Unknown SAFI
UnknownSku
Unknown speech gesture type reported!
UnknownState
UnknownTable
UnknownTypeW
Unknown USB request passed to USB dispatcher
Unknown USB SS event sent to host!
UnknownUtcException
UNKNOWN_VkColorSpaceKHR_value
UNKNOWN_VkDriverId_value
UNKNOWN_VkFormat_value
UNKNOWN_VkImageTiling_value
UNKNOWN_VkPhysicalDeviceType_value
UNKNOWN_VkPointClippingBehavior_value
UNKNOWN_VkPresentModeKHR_value
UNKNOWN_VkQueueGlobalPriorityKHR_value
UNKNOWN_VkResult_value
UNKNOWN_VkShaderFloatControlsIndependence_value
    unless you put the name in quotes.
unlink-first
UNLOADED
UnloadPerfCounterTextStringsW
?UnlockBuffer@CHString@@QEAAXXZ
_unlock_file
UnlockFile
UnlockFileEx
unlockFlags
_unlock_locales
_Unlock_shared_ptr_spin_lock
UnlockVolumeByHandle
UnlockWindowStation
unlodctr.pdb
Unmapped disposition: 
Unmapped operation: 
UnmapViewOfFile
UnmuteFromSlider
Unnamed Arguments Collection Object InterfaceW
Unnamed Arguments Collection ObjectWWW
?UnnamedWd
UNPCampaignCreateOrUpdateLaunchUITaskFailed
UNPCampaignDownloadInvalidFileSignature
UNPCampaignDownloadSignatureCheckFailed
 UNPCampaignHeartbeat
UNPCampaignInvalidContentSignature
UNPCampaignManagerCampaignCompleted
UNPCampaignManagerCampaignConfigExpired
UNPCampaignManagerCampaignIsActive
UNPCampaignManagerCatalogValues
 UNPCampaignManagerCleaningCampaign
UNPCampaignManagerCleaningCampaignNotifications
UNPCampaignManagerCleaningCampaignTasks
UNPCampaignManagerCreateAndSecureDirectory
UnpCampaignManagerExeNotAllowed
UNPCampaignManagerFailedToCreateCampaignConfigInfo
UNPCampaignManagerFailedToCreateCampaignManager
UnpCampaignManagerFailedToDeleteDirectory
UNPCampaignManagerGetCampaignState
UNPCampaignManagerGetCampaignSubState
 UnpCampaignManagerGetIsCamppaignCompleteFailed
UNPCampaignManagerGlobalShutoffIsOn
 UNPCampaignManagerHeartbeat
UnpCampaignManagerInstanceAlreadyRunning
UnpCampaignManagerIsZeroExhaustEnabledFailed
UnpCampaignManagerNamedParameterNotAllowed
 UnpCampaignManagerRunCampaignFailed
UNPCampaignManagerUnexpectedException
UnpCampaignManagerUriNotAllowed
UnpCampaignManagerZeroExhaustStatus
UNPCampaignSignatureCheckFailed
UNPCampaignSubbStateDetectorAllowed
UNPCampaignSubbStateDetectorBlockError
UnpSubmitRequestForSettingsOrContentFailedCall
UnpSubmitRequestForSettingsOrContentSuccessfulCall
UNPUXHost.pdb
UNPUXLauncher.pdb
unreachable address
Unreachable code
unreachable port
 unreachable prohibited
unreachable route
Unrecognized Pofx event received
unrecognized shader version
UnrecognizedType
UnrecognizedUri
Unrecognized Well-known Attribute
?UnregisterAllTypesForDllUnload@SerializationStream@UnBCL@@SAXXZ
unregisterArgs
UnregisterClassA
UnregisterClassW
UnregisterCOMObjectsInGIT
UnregisterDeviceNotification
UnregisterForNotifications failed
UnregisterFromUpdateNotifications failed!
UnregisterGPNotification
?UnregisterHandle@CVdsPnPNotificationBase@@QEAAXPEAX@Z
UnregisterHotKey
UnregisterHotKey failed
UnregisterManifest
UnregisterPowerSettingNotification
UnregisterProviderWW
UnregisterTraceGuids
UnRegisterTypeLib
?UnregisterType@SerializationStream@UnBCL@@SAXPEBVString@2@HPEAUHINSTANCE__@@@Z
UnregisterWait
UnregisterWaitEx
UnregisterWaitUntilOOBECompleted
UnregisterWebPlatformPermanentSecurityManager
unregmp2.pdb
Unsecapp::AccessCheck() Failed.  Could not obtain caller sid.
unsecapp.pdb
unsigned
unsigned 
unsigned long __cdecl SysprepSession::GetOfflineStateFromRegistry(class UnBCL::String *)
unsigned short __cdecl UnBCL::StringBuilder::get_Chars(int) const
unsigned short __cdecl UnBCL::StringPtr::operator [](int) const
UnsignedWinLoadDriverLoadSuccessAudit
UnspecFail
unspecified
Unspecified
Unspecified Error
Unspecified failure
Unspecified reason
UnstickUpdate
UNSUBSCRIBE
UnsubscribeFeatureStateChangeNotification
UnsubscribeServiceChangeNotifications
unsupported
Unsupported Capability Code
unsupported_critical_payload
UNSUPPORTED-EXCHANGE-TYPE
Unsupported Formats
Unsupported OpenXPS Conversion.
Unsupported Optional Parameter
Unsupported RSN IE version
UnsupportedSku
Unsupported type
Unsupported Version Number
un tel dommage. Si votre pays n
 un usage particulier et d
UnusedFodsCount
UnusedModelTechs
UnverifiableCodeAttribute
uOD9k(uIH
UoxvunkseOL_bG?
uPD9x0uJH
 updateA
UpdateAgent cab validation failed
UpdateAllGeometries() failed
UpdateAPI.dll
updateClassification
updateClassificationGUID
Update classification not found in reserve size map
UpdateClipboard failed!
UpdateCollection
UpdateCompleteActivity
updateCount
_UpdateCurrentlyProtectedVolumes
 updateD
 updateDA
UpdateDefaultPermisisonResponse(context)
UpdateDiskLayout
Update does not support uninstall
UpdateDownloadExpiration
Update download is blocked with transient error
Update download is paused with error
	  Updated routes:
UpdateFile failed
UpdateFileIfUsingAppsFolder failed
UpdateGeometryOnVC
UpdateGeometryOnVC: Geometry VC handle is NULL
updateId
UpdateId
Update ID
UpdateID
UpdateInstallPause
updateInstalluxsetting
Update is already installed
Update is blocked flight and ignored. 
Update is hidden and ignored. 
Update is not installed
Update is optional and ignored. 
UpdateLastPesterTime failed
UpdateLayeredWindow
UpdateListType
 updateM
 updateMA
UPDATE Message Error
UpdateMonitorBinaryCorruptionEnd
UpdateMonitorBinaryCorruptionStart
UpdateMonitorHealthAssessmentEnd
UpdateMonitorHealthAssessmentStart
UpdateNotApplicableForReserves
UpdateNotificationIcon
UpdateNotificationMgr.pdb
Update operation type is out of range
UpdatePanningFeedback
UpdateParameters failed
UpdatePerUserSystemParameters
updatePhase
UpdatePolicyCacheRefresh
UpdatePolicy.dll
UpdateProcThreadAttribute
UpdatePromotedBySerialization
UpdateRebootRequired
UpdateRegCache
UpdateRegistry
updateRequired
Update requires new servicing stack
_UpdateRestorePointVolumes
UpdateRunCadence
updateScenarioType
UpdateSecureDeviceState
updateSettingsFlushFailed
updateSettingsLoadFailed
?UpdateSheets@DUIXmlParser@DirectUI@@QEAAJPEAVElement@2@@Z
UpdateStarvedBySerialization
updateState
UpdateStatus
UpdateTimeMilliseconds
?UpdateTooltip@Element@DirectUI@@MEAAXPEAV12@@Z
?UpdateTooltip@HWNDElement@DirectUI@@UEAAXPEAVElement@2@@Z
UpdateUserTokenSessionId
Update was flagged as being uninstalled by SRT. 
UpdateWindow
UpdateWorkingDirectory failed
Updating max icon size for the tray icon failed.
updddM8P
uPD!u@L!uHL
UpfcCmdParsingResult
UpfcCompleted
UpfcExtendCorrelationVectorFailed
UpfcFlightingCheckFailed
UpfcGetRemediationFailureCounterFailed
UpfcGetWaasMedicSvcInfoFailed
UpfcIncrementCorrelationVectorFailed
UpfcLastSihPeriodicLaunchTimeSetFailed
UpfcLaunchResult
upfc.pdb
UpfcPersistedRootPathGetFailed
UpfcRemediationEvent
UpfcReportAlreadyRunningFlag
UpfcReportGetAlreadyRunningFlagFailed
UpfcReportSetRunningFlagFailed
UpfcSetBaseCorrelationVectorFailed
UpfcSetRemediationFailureCounterFailed
UpfcStarted
UpfcUnexpectedPersistedStateLocation
UpfcWaasMedicBlackoutEndTimeSetFailed
UpfcWaasMedicBlackoutStartTimeSetFailed
UpfcWaasMedicBlockEvaluateError
UpfcWaasMedicCadenceBlockEndTimeSetFailed
UpfcWaasMedicCadenceBlockStartTimeSetFailed
?Upgrade@CRtlSharedLock@@AEAAXXZ
UpgradeInProgressTime
UpgradeResultsUI.pdb
UpgradeResultsUI_Start
UpgradeResultsUI_Stop
UpgradeResultsUI_UpgradeResults
UPHcE@Hk
upllMinDiffAreaSizeWW!
Uploaded
Uploader
UploadPrinterDriverPackageW
uploadSyncAttempts
UploadTaskBegin
UploadTaskReportSkipped
UploadTaskResult
UPMon.StartUserPresencePolling
UPMon.StartUserPresencePollingActivity
UPMon.StopUserPresencePollingActivity
UPMon.UserPresenceCallback
UPnP 1.0 Type Library (Device Host)WWW
                'upnpcont.exe'
upnpcont.pdb
UPnPHostLibW
UPnPRegistrarWWW
UPnPRemoteEndpointInfoWW#
uppercase
UPPrinterAssociation::AssociatePrinter
upprinterinstaller.pdb
uprgFileSpecs
UPShared.dll
uptimeMinutes
uptimeMinutesDelta
uPZ[CH5T
UQuartile
UReadAllW
uriFullName
uri_reputation
uRL93uM3
UrlCreateFromPathW
URLDownloadToCacheFileW
URLDownloadToFileW
UrlEscapeW
URL is in an invalid format
UrlMkGetSessionOption
UrlMkSetSessionOption
urlmon.dll
!u|RlpZikn
UrlUnescapeW
us8S5t	8S6
usable for
UsageAnalyzer
UsageDisplayed
?Usage@PROGRAM@@UEBAXXZ
Usage: rasautou [-f phonebook] [-a address] [-e entry] [-s]
UsageType
	Usage: wpr options ...
USATAUAWH
USATAVAWH
@USATAVH
@USATAWH
USB SS idle callback reply ID being overwritten!
USBTARGET
US-DELAWARE-33484070
?UseAlternateName@FSNODE@@QEAAEXZ
--use-compress-program
use-compress-program
UsedAnchorCount
 Use "dds 0xaddress L1" on x86 or "dqs 0xaddress L1" on x64 
				   Useful when managing multiple concurrent wpr sessions. Must be last parameter.
UseMulticast
USEPRIVATE
     USER:
User32  
user32.dll
user32.DLL
USER32.dll
UserAccountBroker.pdb
UserAccountControlSettings.pdb
User activity predicted
UserBreak
user-class
userConfigValue
UserContext
UserCrashMain
UserDelayStartPhaseComplete
UserDelayStartPhaseStart
UserDump
UserElevated
userenv.dll
USERENV.dll
userFlags
user FQDN
userinit.pdb
User input completed
UserInputTime
User is not a member of the Administrators group.
UserManager
UserMessage
Usermgrcli_UMgrQueryUserToken
usermgr.dll
User(ms)
Username and Password can't be NULL if no existing credentials.
User not authorized
userOobeExitReason
useroobehelper
UserOptions
UserOut.Allocate()
userRegionCode
	UserRegistrationTime
User requested boot debugger break!
UserServiceShutdownStart
UserServiceShutdownStop
UserSessionBusyWithBlockedSubscriber
UserSessionID
userStillActive
UserSwitchRecievedLsmEvent
UserSwitchReturnedToWelcomeLockscreen
?UserTextChanged@TouchEditBase@DirectUI@@SA?AVUID@@XZ
User token cached
UserVerticalCrashed
userZoomCount
UseSecureDesktop
use_transport_mode
uSH;8uND
usingDefaultThreshold
UsingDevice
usingInboxModel
UsingRelay
Using the Registry value for permitted BG Interference
uSL9JPuML
UsoClient.pdb
UsoCoreLibWW
UsoCoreWorker.exe
UsoCoreWorker.pdb
UsoCoreWorkerRunning
USODiagnostics
UsoSession
UsoSession is being deleted with state engine running
uss3XLEE
@USVATAUAVAWH
USVATAUAVAWH
@USVATAUAWH
@USVATAVAWH
@USVATAVH
@USVAUAWH
@USVAVAWH
USVAVAWH
@USVWATAUAVAWH
USVWATAUAVAWH
@USVWATAUAVH
USVWATAUAVH
@USVWATAUAWH
USVWATAUAWH
@USVWATAUH
@USVWATAVAWH
USVWATAVAWH
@USVWATAVH
USVWATAVH
@USVWATAWH
USVWATAWH
@USVWATH
@USVWAUAVAWH
USVWAUAVAWH
@USVWAUAVH
USVWAUAVH
@USVWAUAWH
@USVWAUH
@USVWAVAWH
USVWAVAWH
@USVWAVH
@USVWAWH
@USWATAUAVAWH
USWATAUAVAWH
@USWATAUAWH
@USWATAUH
USWATAUH
@USWATAVAWH
USWATAVAWH
@USWATAVH
@USWATAWH
USWATAWH
@USWAUAVH
@USWAUAWH
@USWAVAWH
USWAVAWH
uSxRegReadDWORD
UTCAllow:
UtcApiManager
UtcDecoderHostApiServer_AutoShutdown
UtcDecoderHostApiServer_RpcInterfaceRegistered
UtcDecoderHostApiServer_ShutdownByClient
UtcDecoderHost.pdb
UTCPrivacy:
UTC Providers:
UTCReplace_AppSessionGuid
UTCReplace_CommandLineHash
UTCReplace_TargetAppId
UTCReplace_TargetAppVer
UTCTracing:
UTF-16LE
Ut!IDjmB
UtilDebugCreateEx failed for IDebugClient4
UTILDLL.dll
UtilDrawBlendRect
UtilExpandEnvVariable failed
UtilGetFileInfo failed
UtilGetNonElevationInfo failed
UtilGetTempDirPath failed
UtilizationUsageRate_Index
utilizeDtuOverWu
UtilLaunchElevatedProcess for live kernel reporting failed.
UtilLoadDbgEng failed
Utilman.pdb
UTLoadLibraryInSystem (user32.dll) failed
|utrY|@[
(U(U0E0E0E0(h(
(U(U0E0h0a0h0h
(U(U(E0(h
uuencode
uUI9Q(uOM
UuidCreate
UuidCreate failed
UuidCreateNil
UuidEqual
UuidFromStringW
UuidToStringA
UuidToString failed
UuidToStringW
UUPFallBack
UUPFallBackCause
UUPFallBackConfigured
UUPFallBackErrorReason
"	uUQ45MS#
UUU6RRR8SSS-WWW
uuu8uuu"
uuu8uuu-
uuuCuuuCsss
uuuPEF:6(srx
UUUUUU3330333330UUUUUU777
uuu-uuu8
uuu-uuuC
UUUUUUUU
UUUUUUUUH
UUUUUUUUI
UUUUUUUUM
UUUUUUUUU
UUUUUUUUU33333
UUUUUUUUUU
UUUUUUUUXxwwww
UUUUUUUUXxwwwww
UUUUUUUUXxwwwwwwww
UUUUUUUUXxwwwwwwwwww
UUUUUUUUXxwwwwwwwwwxw
UUUUUUUUXxwwwwwwwwxw
UUUUUUUXwx
UUUUUUXw
UUUUXxvvvvvvv
uuuzgggaaaa1SSS
!u@!uX!u
uV9s(uQH
UVATAUAVAW3
UVATAUAVH
@UVATAUAWH
UVATAUAWH
@UVATAVAWH
UVATAVAWH
UVAUAVAWH
uVD9qPuPL
UVWATAUAVAW
@UVWATAUAVAWH
[ UVWATAUAVAWH
UVWATAUAVAWH
UVWATAUAVAWI
UVWATAUAVAWL
[ UVWATAUH
UVWATAUH
@UVWATAVAWH
@UVWATAVH
[ UVWATAVH
UVWATAVH
UVWATAWH
@UVWAUAVH
UVWAUAVH
UVWAUAWH
@UVWAVAW
@UVWAVAWH
[ UVWAVAWH
UVWAVAWH
UVWAVAWI
@UWATAUAVAW
UWATAUAVH
UWATAUAVI
@UWATAUAWH
UWATAUAWH
@UWATAVAWH
UWATAVAWH
UWATAVAWI
@UWATAVH
@UWATAWH
@UWAUAVAWH
UWAUAVAWH
@UWAUAWH
uWE8n!uQE8n
UWFDisableFailed
UWFDisableSucceeded
UWFEnableBlockedByReboot
UWFEnableFailed
UWFEnableSucceeded
uwL9H sVH
UWTf]UGM
uX9]HveM
uXD9eguRE3
uXD;w@t"
uxEnabled
UXLauncherBlockAllowed
UXLauncherBlockDenied
UxLauncherCampaignDone
UxLauncherCampaignInactive
UXLauncherLaunchDenied
UXLauncherLaunchFailed
UXLauncherLaunchSuccess
UXLauncherUxAlreadyUp
u )X)Mr!905IB
uxRebootstate
UxTheme.dll
UXWindowSurfacesClientCoCreateFailed
UX#XeAT4T
UY9H2CWYDN
#'uyE75 
uZD8w-u H
@UZ#oY:K
V#-@--@--
[v100.5_vb_release_svc_2021-10-19T12:58:38_2021-10-19T12:58:38
v100.5_vb_release_svc_2021-10-19T12:58:38_2021-10-19T12:58:38
v2.0.50727
V222222222202220.....T?
v4.0.30319
v8D9v8uUH
V9GGGGKGN
VaL_d1PY
?Validate@Allocator@UnBCL@@SAXI@Z
ValidateBoolean
ValidateCertificate failed
ValidateConfiguration
ValidateContactDescription
ValidateData failed!
validateEventHandler
ValidateFileExistence
ValidateFilePaths failed.
?Validate@HeapMemoryManager@UnBCL@@UEAAXXZ
ValidateInteger
ValidateLengths failed
ValidateNetshareAndQueryBackupSets
ValidateNetshareInfo
ValidateNoValue
ValidatePath
ValidatePrivileges:User does not have required privileges to sysprep machine
ValidatePrivileges:User has required privileges to sysprep machine
ValidateProfile
ValidateQueuedOps
ValidateRect
ValidateRequiredArgs
ValidateResponseSize
ValidateSiteCode
ValidateStringNotNull
ValidateSyncMethod
ValidateSystemShutdown
ValidateUrl
?ValidateVersion@PROGRAM@@UEBAXKK@Z
_ValidateVolumeStates
ValidateXML
ValidationEventArgs
ValidationEventHandler
ValidationFailedAllCharacterClassesDisallowed
ValidationFailedInvalidCharacterPolicyOption
ValidationFailedInvalidExpiration
ValidationFailedInvalidMinOrMaxLength
ValidationFailedInvalidPinHistoryCount
validCount
Valid flags check failed: CreateOptions
Valid flags check failed: Flags
Valid flags check failed: GetAllKeysFlags
Valid flags check failed: OpenExistingKeyFlags
Valid flags check failed: OpenOptions
Valid flags check failed: SecurityInfo
Valid flags check failed: ShareAccess
Valid flags check failed: SysReadFileFlags
ValidFrom
validity
)Valid values are 'SyncProvider' or 'None'
    Valid value types and format of data that follows are:
	     Value    : 
Value cannot be null
ValueCollection
 Value must be a positive integer
Value must be 'True' or 'False'
valueName
Value of msftwindow option is invalid
ValueRuntimeClassName
ValueSet
ValueSetProperty
ValueSets
ValueSetVectorViewProperty
    values to equal the data length or hit invalid input.  Quoted
value too large
Value too large
valueType
ValueType
        ValueType("index")
variable
VariableDim
variableMultisampleRate
variablePointers
variablePointersStorageBuffer
variableSampleLocations
variantKind
VariantTimeToFileTime
VATAUAVAWH
VaultAddItem
VAULTCLI.dll
VaultCloseVault
VaultCmd.pdb
VaultEnumerateItems
VaultEnumerateItemTypes
VaultEnumerateVaults
VaultFree
VaultGetInformation
VaultGetItemType
VaultOpenVault
VaultRemoveItem
VbsGetIssues
VbsIsCapable
VbsIsRecommended
VbsSetScenarioEnable
VCardDeinitialize
VCardInitialize
vCMainWnd::CreateAndShow
vCNIA;4-*!
VCRUNTIME140_1.dll
VCRUNTIME140.dll
Vd22Nt::
VDS(0X02040006): Label Change notification received
VDS(0X02040007): Disk layout change notification received
VDS(0X0204000B): failed to insert volume notification handle to map because of lack of memory.
VDS(0X0204000D: mount points change notification received.
VDS(0X02040014: BitLocker full-volume encryption status change notification received.
VDS(0X02080004): failed to add pack to ObjectMap
VdsAllocateEmptyString
VdsAllocateString
VdsCreateInstance() (1)
VdsCreateInstance() (2)
VdsDisableCOMFatalExceptionHandling
VdsDoesDiskHaveArcPath
VdsHeapAlloc
VdsHeapFree
vDSie.' 
VdsInitializeCriticalSection
VdsIscsiCacheSessionDevices
VdsIscsiCheckEqualIpAddress
VdsIscsiGetIpAddressFromInstance
VdsIscsiIpAddressToIpsecId
VdsIscsiIpAddressToString
VdsIscsiIpsecIdToIpAddress
vdsldr.exe
vdsldr.pdb
VDSProviderDetails
VdsTrace
VdsTraceEx
VdsTraceExW
VdsTraceW
vdsutil.dll
VdsWmiCallMethod
VdsWmiConnectToNamespace
VdsWmiCopyFromVariantByteArray
VdsWmiCreateClassInstance
VdsWmiCreateVariantArray
VdsWmiFindInstanceOfClass
VdsWmiGetByteFromInstance
VdsWmiGetMethodArgumentObject
VdsWmiGetObjectFromInstance
VdsWmiGetObjectInVariantObjectArray
VdsWmiGetUlongFromInstance
VdsWmiGetUlonglongFromInstance
VdsWmiSetObjectInInstance
VdsWmiSetUlongInInstance
VdsWmiSetUlonglongInInstance
vDVwp0ex
VE6?Yu07
__vectorcall
vector dimension must be a literal scalar expression
vector too long
Vello Systems
velocityForcedPasswordless
velocityNewDevices
velocityWin10S
velocityWin10SKillSwitch
vendor-class
vendorID
VendorID
vendor specific 
vendor-specific
VendorSpecific
vendor-specific-info
ventualit
VerbosityWWW
VERCHECK
verclsid.pdb
VerificationFileType
VerificationStatus
VerifierGetInfoForException
verifiergui.pdb
verifier.pdb
VerifyCred
VerifyDrivers
VerifyIdentifier
VerifyMonitorLayout failed!
VerifyPass1Complete
VerifyPass2Complete
VerifyPass3Complete
VerifyPass4Complete
VerifyPendingXmlIdentifier
VerifyRepository
VerifySelfSignedImageFile
VerifySignature failed
VerifyVersionInfoW
VerifyWindowIsInCallingProcessAppContainer Failed
VeriSign Trust Network1:08
VerQueryValueA
VerQueryValueW
VerSetConditionMask
 version 
VERSION-CONTROL
version.dll
VERSION.dll
VersionInfo
versionMajor
versionMinor
    versions of REGINI that did not strictly enforce line continuations
versionString
Version String
version token
VersionUtil
VersionW
vertexAttributeAccessBeyondStride
vertexAttributeInstanceRateDivisor
vertexAttributeInstanceRateZeroDivisor
VERTEXBLEND
vertexfragment
vertexInputDynamicState
vertexPipelineStoresAndAtomics
vertexshader
VERTEXSHADER
VERTEXSHADERCONSTANT
VERTEXSHADERCONSTANT1
VERTEXSHADERCONSTANT2
VERTEXSHADERCONSTANT3
VERTEXSHADERCONSTANT4
VERTEXSHADERCONSTANTB
VERTEXSHADERCONSTANTF
VERTEXSHADERCONSTANTI
vertex shader must minimally write all four components of POSITION
Vertical
vfD9!|pfA;
vfffffffffgffg
vfprintf
V?fQ4VrE"
vfwprintf
VGidsSimulatorCreate
VGidsSimulatorDestroy
VGidsSimulatorReadProperties
VGidsSimulatorWriteProperties
VHandleHelpSysLink
vhd2fileI9
vhdxfileI9
VidEncode
VideoCalibration
VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT
VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT
VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT
VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT
videoCodecOperations
video conferencing
videoprt.sys
video signaling
vidsmsvc
vidsRLE 
ViewerConnect
ViewerTimedOut
viewportBoundsRange
viewportSubPixelBits
VIEWTRANSFORM
V	?Initialize@CCListView@DirectUI@@QEAAJIPEAVElement@2@PEAK@Z
virtdisk.dll
VirtDisk.dll
virtual 
VirtualAddress cannot be null
VirtualAlloc
VirtualAllocEx
VirtualAllocEx(hProcess)
VirtualFree
VirtualFreeEx
VirtualLock
VirtualPrinterName
VirtualProtect
VirtualProtectEx
VirtualQuery
VirtualQueryEx
VirtualSizeGB
VirtualUnlock
?VisibleProp@Element@DirectUI@@SAPEBUPropertyInfo@2@XZ
|vj.etlEb
VJJ999222222222222222V?
--vkconfig_output
vkCreateDebugReportCallbackEXT
vkCreateDevice
vkCreateImage
vkCreateInstance
vkCreateWin32SurfaceKHR
vkDestroyDebugReportCallbackEXT
vkDestroyDevice
vkDestroyImage
vkDestroyInstance
vkDestroySurfaceKHR
VkDrmFormatModifierPropertiesList2EXT
VkDrmFormatModifierPropertiesListEXT
vkEnumerateDeviceExtensionProperties
vkEnumerateInstanceExtensionProperties
vkEnumerateInstanceLayerProperties
vkEnumerateInstanceVersion
vkEnumeratePhysicalDeviceGroups
vkEnumeratePhysicalDeviceGroupsKHR
vkEnumeratePhysicalDevices
VK_EXT_4444_formats
VK_EXT_astc_decode_mode
VK_EXT_blend_operation_advanced
VK_EXT_border_color_swizzle
VK_EXT_buffer_device_address
VK_EXT_color_write_enable
VK_EXT_conditional_rendering
VK_EXT_conservative_rasterization
VK_EXT_custom_border_color
VK_EXT_depth_clip_control
VK_EXT_depth_clip_enable
VK_EXT_descriptor_indexing
VK_EXT_device_memory_report
VK_EXT_discard_rectangles
VK_EXT_display_surface_counter
VK_EXT_extended_dynamic_state
VK_EXT_extended_dynamic_state2
VK_EXT_external_memory_host
VK_EXT_fragment_density_map
VK_EXT_fragment_density_map2
VK_EXT_fragment_shader_interlock
VK_EXT_full_screen_exclusive
VK_EXT_global_priority_query
VK_EXT_host_query_reset
VK_EXT_image_drm_format_modifier
VK_EXT_image_robustness
VK_EXT_image_view_min_lod
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_memory_budget
VK_EXT_memory_priority
VK_EXT_multi_draw
VK_EXT_pageable_device_local_memory
VK_EXT_pci_bus_info
VK_EXT_physical_device_drm
VK_EXT_pipeline_creation_cache_control
VK_EXT_primitive_topology_list_restart
VK_EXT_private_data
VK_EXT_provoking_vertex
VK_EXT_rgba10x6_formats
VK_EXT_robustness2
VK_EXT_sample_locations
VK_EXT_sampler_filter_minmax
VK_EXT_scalar_block_layout
VK_EXT_shader_atomic_float
VK_EXT_shader_atomic_float2
VK_EXT_shader_demote_to_helper_invocation
VK_EXT_shader_image_atomic_int64
VK_EXT_subgroup_size_control
VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr
VK_EXT_transform_feedback
VK_EXT_vertex_attribute_divisor
VK_EXT_vertex_input_dynamic_state
VK_EXT_ycbcr_2plane_444_formats
VK_EXT_ycbcr_image_arrays
VkFormatProperties3
VkFormatProperties3KHR
vkGetBufferMemoryRequirements
vkGetDeviceGroupPresentCapabilitiesKHR
vkGetDeviceProcAddr
vkGetDeviceQueue
vkGetImageMemoryRequirements
vkGetImageSparseMemoryRequirements
vkGetInstanceProcAddr
vkGetPhysicalDeviceFeatures
vkGetPhysicalDeviceFeatures2
vkGetPhysicalDeviceFeatures2KHR
vkGetPhysicalDeviceFormatProperties
vkGetPhysicalDeviceFormatProperties2
vkGetPhysicalDeviceFormatProperties2KHR
vkGetPhysicalDeviceImageFormatProperties
vkGetPhysicalDeviceMemoryProperties
vkGetPhysicalDeviceMemoryProperties2
vkGetPhysicalDeviceMemoryProperties2KHR
vkGetPhysicalDeviceProperties
vkGetPhysicalDeviceProperties2
vkGetPhysicalDeviceProperties2KHR
vkGetPhysicalDeviceQueueFamilyProperties
vkGetPhysicalDeviceQueueFamilyProperties2
vkGetPhysicalDeviceQueueFamilyProperties2KHR
vkGetPhysicalDeviceSurfaceCapabilities2EXT
vkGetPhysicalDeviceSurfaceCapabilities2KHR
vkGetPhysicalDeviceSurfaceCapabilitiesKHR
vkGetPhysicalDeviceSurfaceFormats2KHR
vkGetPhysicalDeviceSurfaceFormatsKHR
vkGetPhysicalDeviceSurfacePresentModesKHR
vkGetPhysicalDeviceSurfaceSupportKHR
vkGetPhysicalDeviceToolPropertiesEXT
vkGetPhysicalDeviceWin32PresentationSupportKHR
VK_IMG_format_pvrtc
]VkjeeO?
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_acceleration_structure
VK_KHR_buffer_device_address
VK_KHR_depth_stencil_resolve
VK_KHR_device_group
VK_KHR_device_group_creation
VK_KHR_driver_properties
VK_KHR_dynamic_rendering
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_format_feature_flags2
VK_KHR_fragment_shading_rate
VK_KHR_get_physical_device_properties2
VK_KHR_get_surface_capabilities2
VK_KHR_global_priority
VK_KHR_imageless_framebuffer
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_maintenance4
VK_KHR_multiview
VK_KHR_performance_query
VK_KHR_pipeline_executable_properties
VK_KHR_portability_subset
VK_KHR_present_id
VK_KHR_present_wait
VK_KHR_push_descriptor
VK_KHR_ray_query
VK_KHR_ray_tracing_pipeline
VK_KHR_sampler_ycbcr_conversion
VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_atomic_int64
VK_KHR_shader_clock
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_integer_dot_product
VK_KHR_shader_subgroup_extended_types
VK_KHR_shader_subgroup_uniform_control_flow
VK_KHR_shader_terminate_invocation
VK_KHR_shared_presentable_image
VK_KHR_surface
VK_KHR_surface_protected_capabilities
VK_KHR_swapchain
VK_KHR_synchronization2
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_video_queue
VK_KHR_vulkan_memory_model
VK_KHR_win32_surface
VK_KHR_workgroup_memory_explicit_layout
VK_KHR_zero_initialize_workgroup_memory
VkPhysicalDevice16BitStorageFeatures
VkPhysicalDevice16BitStorageFeaturesKHR
VkPhysicalDevice4444FormatsFeaturesEXT
VkPhysicalDevice8BitStorageFeatures
VkPhysicalDevice8BitStorageFeaturesKHR
VkPhysicalDeviceAccelerationStructureFeaturesKHR
VkPhysicalDeviceAccelerationStructurePropertiesKHR
VkPhysicalDeviceASTCDecodeFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeatures
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
VkPhysicalDeviceBufferDeviceAddressFeaturesKHR
VkPhysicalDeviceColorWriteEnableFeaturesEXT
VkPhysicalDeviceConditionalRenderingFeaturesEXT
VkPhysicalDeviceConservativeRasterizationPropertiesEXT
VkPhysicalDeviceCustomBorderColorFeaturesEXT
VkPhysicalDeviceCustomBorderColorPropertiesEXT
VkPhysicalDeviceDepthClipControlFeaturesEXT
VkPhysicalDeviceDepthClipEnableFeaturesEXT
VkPhysicalDeviceDepthStencilResolveProperties
VkPhysicalDeviceDepthStencilResolvePropertiesKHR
VkPhysicalDeviceDescriptorIndexingFeatures
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
VkPhysicalDeviceDescriptorIndexingProperties
VkPhysicalDeviceDescriptorIndexingPropertiesEXT
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT
VkPhysicalDeviceDiscardRectanglePropertiesEXT
VkPhysicalDeviceDriverProperties
VkPhysicalDeviceDriverPropertiesKHR
VkPhysicalDeviceDrmPropertiesEXT
VkPhysicalDeviceDynamicRenderingFeatures
VkPhysicalDeviceDynamicRenderingFeaturesKHR
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
VkPhysicalDeviceExternalMemoryHostPropertiesEXT
VkPhysicalDeviceFeatures
VkPhysicalDeviceFloat16Int8FeaturesKHR
VkPhysicalDeviceFloatControlsProperties
VkPhysicalDeviceFloatControlsPropertiesKHR
VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
VkPhysicalDeviceFragmentDensityMapFeaturesEXT
VkPhysicalDeviceFragmentDensityMapPropertiesEXT
VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
VkPhysicalDeviceFragmentShadingRateFeaturesKHR
VkPhysicalDeviceFragmentShadingRatePropertiesKHR
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
VkPhysicalDeviceHostQueryResetFeatures
VkPhysicalDeviceHostQueryResetFeaturesEXT
VkPhysicalDeviceIDProperties
VkPhysicalDeviceIDPropertiesKHR
VkPhysicalDeviceImagelessFramebufferFeatures
VkPhysicalDeviceImagelessFramebufferFeaturesKHR
VkPhysicalDeviceImageRobustnessFeatures
VkPhysicalDeviceImageRobustnessFeaturesEXT
VkPhysicalDeviceImageViewMinLodFeaturesEXT
VkPhysicalDeviceIndexTypeUint8FeaturesEXT
VkPhysicalDeviceInlineUniformBlockFeatures
VkPhysicalDeviceInlineUniformBlockFeaturesEXT
VkPhysicalDeviceInlineUniformBlockProperties
VkPhysicalDeviceInlineUniformBlockPropertiesEXT
VkPhysicalDeviceLimits
VkPhysicalDeviceLineRasterizationFeaturesEXT
VkPhysicalDeviceLineRasterizationPropertiesEXT
VkPhysicalDeviceMaintenance3Properties
VkPhysicalDeviceMaintenance3PropertiesKHR
VkPhysicalDeviceMaintenance4Features
VkPhysicalDeviceMaintenance4FeaturesKHR
VkPhysicalDeviceMaintenance4Properties
VkPhysicalDeviceMaintenance4PropertiesKHR
VkPhysicalDeviceMemoryPriorityFeaturesEXT
VkPhysicalDeviceMemoryProperties
VkPhysicalDeviceMultiDrawFeaturesEXT
VkPhysicalDeviceMultiDrawPropertiesEXT
VkPhysicalDeviceMultiviewFeatures
VkPhysicalDeviceMultiviewFeaturesKHR
VkPhysicalDeviceMultiviewProperties
VkPhysicalDeviceMultiviewPropertiesKHR
VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
VkPhysicalDevicePCIBusInfoPropertiesEXT
VkPhysicalDevicePerformanceQueryFeaturesKHR
VkPhysicalDevicePerformanceQueryPropertiesKHR
VkPhysicalDevicePipelineCreationCacheControlFeatures
VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
VkPhysicalDevicePointClippingProperties
VkPhysicalDevicePointClippingPropertiesKHR
VkPhysicalDevicePortabilitySubsetFeaturesKHR
VkPhysicalDevicePortabilitySubsetPropertiesKHR
VkPhysicalDevicePresentIdFeaturesKHR
VkPhysicalDevicePresentWaitFeaturesKHR
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
VkPhysicalDevicePrivateDataFeatures
VkPhysicalDevicePrivateDataFeaturesEXT
VkPhysicalDeviceProperties
VkPhysicalDeviceProtectedMemoryFeatures
VkPhysicalDeviceProtectedMemoryProperties
VkPhysicalDeviceProvokingVertexFeaturesEXT
VkPhysicalDeviceProvokingVertexPropertiesEXT
VkPhysicalDevicePushDescriptorPropertiesKHR
VkPhysicalDeviceRayQueryFeaturesKHR
VkPhysicalDeviceRayTracingPipelineFeaturesKHR
VkPhysicalDeviceRayTracingPipelinePropertiesKHR
VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
VkPhysicalDeviceRobustness2FeaturesEXT
VkPhysicalDeviceRobustness2PropertiesEXT
VkPhysicalDeviceSampleLocationsPropertiesEXT
VkPhysicalDeviceSamplerFilterMinmaxProperties
VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT
VkPhysicalDeviceSamplerYcbcrConversionFeatures
VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR
VkPhysicalDeviceScalarBlockLayoutFeatures
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT
VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR
VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
VkPhysicalDeviceShaderAtomicInt64Features
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR
VkPhysicalDeviceShaderClockFeaturesKHR
VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
VkPhysicalDeviceShaderDrawParametersFeatures
VkPhysicalDeviceShaderFloat16Int8Features
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
VkPhysicalDeviceShaderIntegerDotProductFeatures
VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
VkPhysicalDeviceShaderIntegerDotProductProperties
VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR
VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR
VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
VkPhysicalDeviceShaderTerminateInvocationFeatures
VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
VkPhysicalDeviceSparseProperties
VkPhysicalDeviceSubgroupProperties
VkPhysicalDeviceSubgroupSizeControlFeatures
VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
VkPhysicalDeviceSubgroupSizeControlProperties
VkPhysicalDeviceSubgroupSizeControlPropertiesEXT
VkPhysicalDeviceSynchronization2Features
VkPhysicalDeviceSynchronization2FeaturesKHR
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
VkPhysicalDeviceTexelBufferAlignmentProperties
VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
VkPhysicalDeviceTextureCompressionASTCHDRFeatures
VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
VkPhysicalDeviceTimelineSemaphoreFeatures
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR
VkPhysicalDeviceTimelineSemaphoreProperties
VkPhysicalDeviceTimelineSemaphorePropertiesKHR
VkPhysicalDeviceTransformFeedbackFeaturesEXT
VkPhysicalDeviceTransformFeedbackPropertiesEXT
VkPhysicalDeviceUniformBufferStandardLayoutFeatures
VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR
VkPhysicalDeviceVariablePointersFeatures
VkPhysicalDeviceVariablePointersFeaturesKHR
VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
VkPhysicalDeviceVulkan11Features
VkPhysicalDeviceVulkan11Properties
VkPhysicalDeviceVulkan12Features
VkPhysicalDeviceVulkan12Properties
VkPhysicalDeviceVulkan13Features
VkPhysicalDeviceVulkan13Properties
VkPhysicalDeviceVulkanMemoryModelFeatures
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR
VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
VkQueueFamilyGlobalPriorityPropertiesKHR
VkQueueFamilyProperties
VkQueueFamilyQueryResultStatusProperties2KHR
VkSharedPresentSurfaceCapabilitiesKHR
VkSurfaceCapabilities2EXT
VkSurfaceCapabilitiesFullScreenExclusiveEXT
VkSurfaceCapabilitiesKHR
VkSurfaceProtectedCapabilitiesKHR
VkVideoQueueFamilyProperties2KHR
vL9S8upM
VLAN Bridge
	    vlan name: 
VLAN name
VlD8"uVH
vLgF5vC4
Vly!I#B)
VMREMOTEDESKTOP
"v#nK7kx
vnkiWWWkr|
Vo4)0F"6
VoiceActivationDefaultAgentChanged
VoiceActivationDefaultAgentStatus
VoiceActivationEnabledChanged
VoiceActivationEnabledStatus
VoiceActivationLastUsedEnabledChanged
VoiceActivationLastUsedEnabledStatus
VoiceActivationOnLockScreenEnabledChanged
VoiceActivationOnLockScreenEnabledStatus
voice signaling
void __cdecl PathTranslator::BuildTranslationTables(void)
void __cdecl SysprepSession::RemoveOfflineStateFromRegistry(class UnBCL::String *)
void __cdecl SysprepSession::SetModeInRegistry(void)
void __cdecl UnBCL::File::Delete(const class UnBCL::String *)
void __cdecl UnBCL::File::DeleteInternal(const class UnBCL::String *)
void __cdecl UnBCL::FileStream::Flush(void)
void __cdecl UnBCL::FileStream::set_Position(__int64)
void __cdecl UnBCL::FileStream::SetSize(__int64)
void __cdecl UnBCL::MemoryStream::LengthAtLeast(int)
void __cdecl UnBCL::MemoryStream::set_Capacity(int)
void __cdecl UnBCL::MemoryStream::SetLength(__int64)
void __cdecl UnBCL::MemoryStream::set_Position(__int64)
void __cdecl UnBCL::MultiSz::Add(const unsigned short *)
void __cdecl UnBCL::Path::CheckInvalidPathChars(const class UnBCL::String *)
void __cdecl UnBCL::Path::CheckPathTooLong(const class UnBCL::String *)
void __cdecl UnBCL::StringBuilder::set_Length(int)
void __cdecl UnBCL::XmlDocument::Load(class UnBCL::String *)
void __cdecl UnBCL::XmlDocument::Load(struct IStream *)
void __cdecl UnBCL::XmlDocument::LoadXml(class UnBCL::String *)
void __cdecl UnBCL::XmlDocument::RegisterNamespaces(class UnBCL::String *)
void __cdecl UnBCL::XmlDocument::Save(class UnBCL::String *)
void __cdecl UnBCL::XmlLite::XmlDocument::Load(class UnBCL::String *)
void __cdecl UnBCL::XmlLite::XmlDocument::LoadXml(class UnBCL::String *)
void __cdecl UnBCL::XmlLite::XmlDocument::Parse(struct IStream *)
void __cdecl UnBCL::XmlNode::RegisterNamespaces(class UnBCL::XmlNamespaceManager *)
void __cdecl UnBCL::XmlNode::RemoveChild(class UnBCL::XmlNode *)
void __cdecl Windows::Analog::Face::FaceFodManager::DeleteModel::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodManager::GetModelInfo::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodManager::Initialize::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodTestUtilities::ReInstallDeletedFaceFods::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent::Perf::Log(void)
void __cdecl Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods::Perf::Log(void)
(VOID*)Size cannot be null
 volatile
volatile
volatile 
VOL_END_THREAD
VolumeAddedToSnapshotSet
VolumeChange
VolumeGuid
VolumeHealth
VolumeId
VOLUME_IS_BACKUP_CRITICAL(rgVolume[j].m_dwVolumeFlags)
VOLUME_IS_BLOCKLEVEL(dwVolumeFlags)
VolumeLevel
VolumeNameWW
VolumePerfData
Volume Shadow Copy Admin 1.0 Type LibraryW
VolumeStatus
VolumeTrackerList::AddVolume
VolumeTrackerList::AddVolumes
VolumeTrackerList::RefreshVolumes
VolumeTrackerList::WaitForVolumeInternal
VolumeWW
 votre seule risque et p
VoYJ'JJ'''''''''''222VA
vqltba_Afge:
Vr7-cd'6
VReaderCreate
VReaderDeinitialize
VReaderDestroy
VReaderInitialize
VrfPrintHelpMessage
vrf-route-import
VrfSetup
VrfSetupGui
Vrf_TiP_DriverData
Vrf_TiP_Off
Vrf_TiP_On_Failure
Vrf_TiP_On_Success
Vrf_User_Reset_Config
Vrf_User_Reset_Config_Gui
vs_1_0 is no longer supported; using vs_1_1
_vscprintf
_vscwprintf
VslExchangeEntropy
VSMGMTWW
VSMHIBERNATE
VsmLKeyProvisioningResult
VsmLKeyProvisioningResultReadStatus
_vsnprintf
_vsnprintf_s
	_vsnwprintf
_vsnwprintf
	_vsnwprintf_s
_vsnwprintf_s
vsprintf_s
VSSAdmin
vssadmin.pdb
VSSAPI.DLL
VSSCoordinator ClassWW
VSSCoordinatorWWd
_VSS_DIFF_VOLUME_PROPWWW
VSS_E_ASRERROR_DYNAMIC_VHD_NOT_SUPPORTED
VSS_E_ASRERROR_SYSTEM_PARTITION_HIDDEN
VSS_E_CRITICAL_VOLUME_ON_INVALID_DISK
VSS_E_UNEXPECTED
VssFreeSnapshotPropertiesInternal
_VSS_MGMT_OBJECT_PROPWWW
_VSS_MGMT_OBJECT_TYPEWWW
VSS_MGMT_OBJECT_UNKNOWNW
VSS_MGMT_OBJECT_VOLUMEWW
]VSS_OBJECT_NONEW
]VSS_OBJECT_NONEWL
_VSS_OBJECT_PROP
_VSS_OBJECT_PROPL
VSS_OBJECT_SNAPSHOT_SETW
VSS_OBJECT_SNAPSHOT_SETWL
VSS_OBJECT_TYPE_COUNTWWW
VSS_OBJECT_UNION
VSS_OBJECT_UNKNOWNWW
VSS_OBJECT_UNKNOWNWWL
VSS_PROV_FILESHAREWW@
VSS_PROV_FILESHAREWWd
VSS_PROV_HARDWAREWWW
|_VSS_PROVIDER_TYPEWW
VSS_PROV_SYSTEMW
VSS_PROV_UNKNOWN
VssSnapshotMgmt ClassW
 _VSS_SNAPSHOT_PROPWW 
 _VSS_SNAPSHOT_PROPWWx
_VSS_SNAPSHOT_STATEW
VSS_SS_ABORTEDWW
VSS_SS_COMMITTED
VSS_SS_COUNT 
VSS_SS_COUNTx
VSS_SS_CREATEDWW
VSS_SS_DELETEDWW
VSS_SS_POSTCOMMITTED
#VSS_SS_PRECOMMITTEDW
VSS_SS_PREPARING
VSS_SS_PROCESSING_COMMIT
VSS_SS_PROCESSING_POSTCOMMIT
VSS_SS_PROCESSING_POSTFINALCOMMITWWW
VSS_SS_PROCESSING_PRECOMMITW
VSS_SS_PROCESSING_PREFINALCOMMIT
VSS_SS_UNKNOWNWW
VssTrace.DLL
vssvc.pdb
_VSS_VOLUME_PROPX
vswprintf_s
VTP Management Domain
VTransportDeinitialize
VTransportInitialize
vulkan-1.dll
		"vulkanApiVersion": "
vulkaninfo
VULKANINFO
vulkaninfo could not find any GPU's.
vulkaninfo.html
                    "vulkaninfo.html" in the directory in which the command
vulkaninfo.json
vulkaninfo - Summarize Vulkan information in relation to the current environment.
vulkaninfo.txt
                    vulkaninfo without any options specified.
	"Vulkan Instance Version": "
Vulkan Instance Version: 
vulkanMemoryModel
vulkanMemoryModelAvailabilityVisibilityChains
vulkanMemoryModelDeviceScope
) Vulkan version 
vur0utqrhgd
vur	vur@rqnyqpk
vus par les lois de votre pays. Le pr
VUUUUUUUH
VvDisconnectWorkspaceByFriendlyNameWWW
  -v    Verbose
vvrrL@951()!
vVSS_OBJECT_SNAPSHOTW
vVSS_OBJECT_SNAPSHOTWL
V_VSS_PROVIDER_PROPWW
V_VSS_PROVIDER_PROPWW@
VVVjVVVjTTT
vvVvPwggvuxW
vvvvvvvrrr
vvvvvvvvvvv
vvvvvxxoris
:VVVVVYZYY
@VWATAUAVAWH
VWATAUAVAWH
VWATAUAVAWL
VWATAUAVAWM
@VWATAUAVH
VWATAUAVH
@VWATAUAWH
[ VWATAUAWH
VWATAUAWH
@VWATAVAW
VWATAVAW
@VWATAVAWH
VWATAVAWH
@VWAUAVAWH
VWAUAVAWH
@VWAUAVH
vwgjrfdfv
vwwrvwwwp
vwwwFv3N
vwwwgwwevp
vwxwwwwwww
?VWYl.XxY
vxlan_gpe
vxvwwwwwwwww
vxwwwwgw
vxwwwwwww
??_V@YAXPEAX@Z
VYgmMqOI
!w0!w4!w8H
W32TimeBufferFree
W32TimeDeleteConfig
W32TimeGetNetlogonServiceBits
W32TimeLog
W32TimeQueryConfiguration
W32TimeQueryNTPProviderStatus
W32TimeQuerySource
W32TimeQueryStatus
W32TimeSetConfig
W32TimeSyncNow
W32TimeVerifyJoinConfig
W32TimeVerifyUnjoinConfig
w32tm.pdb
W32TmServiceMain
W3ZpU;gy
w5wwwWwvx
W7'''''7A
w @8p t!
W8] uR9]8tM
WaaSFeatureAssessmentDays
WaaSFeatureAssessmentImpact
waasHoursOutOfDate
WaaSMedic
WaasMedicAction
WaaSMedicAgent.pdb
waasMedicBlackoutTimeExists
waasMedicBlackoutTimeExpired
waasMedicBlockReason
waasMedicCadenceBlockTimeExists
waasMedicCadenceBlockTimeExpired
WaasMedicComRegUnHealthy
waasMedicNewBlackoutEndTime
waasMedicNewBlackoutStartTime
waasMedicNewCadenceBlockEndTime
waasMedicNewCadenceBlockStartTime
waasMedicPreviousBlackoutEndTime
waasMedicPreviousBlackoutStartTime
waasMedicPreviousCadenceBlockEndTime
waasMedicPreviousCadenceBlockStartTime
WaasMedicSvcRegUnHealthy
WaaSUpToDateAssessmentDays
WaaSUpToDateAssessmentImpact
_waccess_s
?wadapter
WaitForCdmRegistrationToComplete
waitForCleanup
wait_for_completion failed
WaitForCOMRegisterThread
WaitForConnect failed
WaitForConsumptionWW
WaitForCorrectDesktop
WaitForEvent failed
;WaitForeverW
WaitForExit
WaitForInputIdle
WaitForJobToBePrinted
WaitForMultipleObjects
WaitForMultipleObjectsEx
WaitForMultipleObjects failed
WaitForMultipleObjects failed!
WaitForMultipleObjects wait failed
WaitForParentCompleteInitialize()
WaitForPartition
WaitForPartitions
WaitForPartitionTypeChange
waitfor.pdb
WaitForPendingReports
WaitForPendingReports called with invalid timeout value.
WaitForPending reports failed
WaitForRestorePointToAppear
WaitForRundownProtectionRelease
WaitForSingleObject
WaitForSingleObjectEx
WaitForSingleObject failed
WaitForSingleObject m_Thread failed
WaitForSingleObject m_Threads failed
WaitForSystemProcessesFinished
WaitForThreadpoolIoCallbacks
WaitForThreadpoolTimerCallbacks
WaitForThreadpoolWaitCallbacks
WaitForThreadpoolWorkCallbacks
WaitForTicketWWW
WaitForUserSwitchLogonInfoCollectedSyncEvent
WaitForWinstationShutdown
WaitHandle
WaitHintInMS
?WaitImpl@CVdsAsyncObjectBase@@QEAAJPEAJ@Z
Waiting for all refs to be released is taking a long time
WaitingForSystemProcesses
WaitMessage
waitName
WaitNamedPipeW
WaitOnAddress
WaitOnShellStartup
waitPattern
waitPhaseEnd
waitPhaseStart
waitResult
WaitResult
WaitServiceState
WaitThread:Entering spawned waiting thread
WaitThread:Exiting spawned waiting thread
WaitThread:Unable to create wait dialog
waitTime
WakeAllConditionVariable
WakeByAddressAll
WakeByAddressSingle
WakeConditionVariable
WakeToRun
WallpaperHost.pdb
WAMResult
?WantPropertyEvent@EventManager@DirectUI@@SA_NH@Z
	wantRenderingPose
W(ao_Z-i
WarmupIsVoiceActivationEnabled
Warning:  
WARNING: 
WARNING: A possible task hung was detected for a COM-based scheduled task!
Warning: Composition Restart not supported
WARNING: could not signal MOOBE event
Warning: Delaying delete until reboot
Warning:DetectionHandler::GetNetworkStatus:3930
Warning:DetectionHandler::GetNetworkStatus:3938
Warning HResult failed
Warning. Ignore failure returned by ReleaseDC()
WarningNoGuestCommChannel
Warning: No InjectMode was specified. The default will be used.
WarningState
WARNING: This is not an error but a forced debug break enabled by setting the registry key
Warning: Unexpanded variable found in operation:
Warning:UpdateSessionManager::LoadPersistedSessions:484
Warning:UpdateStore::LoadUpdateStore:1544
Warning:UpdateStore::LoadUpdateStore:1554
Warning:UsoScheduler::ResetTimer:185
Warning. WUA error code are inconsistent: HRESULT of the update and the installation both indicate sucess while operation result code indicates error.
wasAbleToVerify
wasAbleToVerifyCount
wasAlreadyRunning
Washington1
wasImplementationReturned
Was Initialize called?
wasRedirectorUsed
_WasVolumeProtected
@WATAUAVAW
WATAUAVAW
@WATAUAVAWH
WATAUAVAWH
WATAUAVAWL
@WATAUAWH
WATAUAWH
Watchdog2ndChance
Watch dog system enabled
Watch dog system shutdown
Watch dog timer is suppressed for a formal assessment
waveOutGetNumDevs
WaWI	p[0
Wbad exception
wbadmin.pdb
wbemcomn.dll
?WbemMemAlloc@CWin32DefaultArena@@SAPEAX_K@Z
?WbemMemFree@CWin32DefaultArena@@SAHPEAX@Z
wbemtest.pdb
wbengine.exe
wbengine.pdb
wb-expak
wcGetBaseNameWL
wcmapi.dll
WcmCloseHandle
WcmFreeMemory
WcmOpenHandle
WcmQueryParameter
WCP CMIT Component Store
WCP_PUBLIC_KEY_STRING
WCP_PUBLIC_KEY_TOKEN
WCP_VERSION
WCP_VERSION_SUFFIX
WcsAssociateColorProfileWithDevice
wcscat_s
_Wcscoll
wcscpy_s
WcsEnumColorProfiles
WcsEnumColorProfilesSize
	_wcsicmp
_wcsicmp
_wcsicoll
_wcslwr_s
wcsncat_s
_wcsncoll
wcsncpy_s
	_wcsnicmp
_wcsnicmp
_wcsnicoll
_wcsnset
_wcstoi64
wcstok_s
wcstombs_s
wcstombs_s failed
	_wcstoui64
_wcstoui64
wcstoull
	_wcsupr_s
_wcsupr_s
_Wcsxfrm
WcurrentRestoreContext
WCZcnhh)
wDayOfWeek
WdcAdjustPrivilege
WdcAppHistoryMonitor::_AddAppMappingKey
WdcAppHistoryMonitor::_AddAppMappingKeyByKey
WdcAppHistoryMonitor::_AddDesktopItemEntry
WdcAppHistoryMonitor::_AddImmersiveApplication
WdcAppHistoryMonitor::AtmOnProcessCommand
WdcAppHistoryMonitor::_CheckAndProcessShortExePaths
WdcAppHistoryMonitor::_CreateAndInitIconItem
WdcAppHistoryMonitor::_CreateAppHistoryEntry
WdcAppHistoryMonitor::_CreateApplicationEntry
WdcAppHistoryMonitor::GetColumnText
WdcAppHistoryMonitor::_GetDwmDosPath
WdcAppHistoryMonitor::_GetIconAndBackgroundColorForApplication
WdcAppHistoryMonitor::_GetPackageIconPath
WdcAppHistoryMonitor::_GetServiceExePath
WdcAppHistoryMonitor::_InitializeDataSources
WdcAppHistoryMonitor::_IsImmersiveApplication
WdcAppHistoryMonitor::_MapAndGetDesktopItemEntry
WdcAppHistoryMonitor::_MapAndGetPackageNameKey
WdcAppHistoryMonitor::_MapAndGetSpecialItemEntry
WdcAppHistoryMonitor::_ProcessCpuSrumRecord
WdcAppHistoryMonitor::_ProcessNetworkSrumRecord
WdcAppHistoryMonitor::_ProcessNotificationsSrumRecord
WdcAppHistoryMonitor::_ReconcileImmersiveApplication
WdcAppHistoryMonitor::_ReconcileImmersiveApplications
WdcAppHistoryMonitor::_ReconcileMultiAppPackage
WdcAppHistoryMonitor::_ReconcileSingleAppPackage
WdcAppHistoryMonitor::_RefreshLastUpdatedText
WdcAppHistoryMonitor::_RegisterForSrumData
WdcAppHistoryMonitor::_RemoveAppMappingKeyByPrimarykey
WdcAppHistoryMonitor::_RetireOldUsageData
WdcAppHistoryMonitor::_SetIcon
WdcAppHistoryMonitor::_SetStackedIcon
WdcAppHistoryMonitor::UpdateInitialize
WdcAppHistoryMonitor::_UpdateServiceMapping
WdcApplicationsMonitor::_AddProcessTreeToAggregator
WdcApplicationsMonitor::_AtmUpdateApplicationsChildren
WdcApplicationsMonitor::AtmUpdateChildren
WdcApplicationsMonitor::_CalcProcessStatusAndResUsage
WdcApplicationsMonitor::CreateEntry
WdcApplicationsMonitor::_EndProcessAndFrames
WdcApplicationsMonitor::EnsureAndStartStartupMonitor
WdcApplicationsMonitor::GetColumnText
WdcApplicationsMonitor::GetMemoryPercentage
WdcApplicationsMonitor::_HandleEndTask
WdcApplicationsMonitor::_HandleRestartExplorer
WdcApplicationsMonitor::_IconQueueThread
WdcApplicationsMonitor::_InitIconQueues
WdcApplicationsMonitor::IsCriticalProcess
WdcApplicationsMonitor::_RemoveProcessTreeFromAggregator
WdcApplicationsMonitor::ResolveImageFriendlyName
WdcApplicationsMonitor::ResolveImageFriendlyName_Desktop
WdcApplicationsMonitor::ResolveImageFriendlyName_Immersive
WdcApplicationsMonitor::ResolveImageIcon
WdcApplicationsMonitor::ResolveImageName
WdcApplicationsMonitor::ResolveImagePublisher_Desktop
WdcApplicationsMonitor::ResolveImagePublisher_Immersive
WdcApplicationsMonitor::_SetCommandLine
WdcApplicationsMonitor::_SetPropertiesForProcess
WdcApplicationsMonitor::SetRUMInfo
WdcApplicationsMonitor::SetView
WdcApplicationsMonitor::TmGetIcon
WdcApplicationsMonitor::_TmGetResContentionColumn
WdcApplicationsMonitor::UpdateInitialize
WdcApplicationsMonitor::_UpdateSysTrayUtilization
WdcApplicationsMonitor::_UpdateView
WdcAppServiceMonitor::AtmOnProcessCommand
WdcAppServiceMonitor::CreateEntry
WdcAppServiceMonitor::DoEnumeration
WdcAppServiceMonitor::UpdateService
WdcChart::AddDataSource
WdcChart::Create
WdcChart::CreateHWND
WdcChart::_GetScaleReferenceLineColor
WdcChart::Render
WdcChart::SetChartBackgroundAndGridColors
WdcChart::SetChartLineColors
WdcChart::SetChartStyle
WdcChart::SetScaleLabel
WdcChart::UpdateChartData
WdcColumnList::GetName
WdcConfirmProcessCommand
WdcCpuMonitor::GetNumaNodesCpus
WdcCpuMonitor::InitializePCWQuery
WdcCpuMonitor::Query
WdcCpuMonitor::UpdateNumaInstance
WdcDataMonitor::CreateImageList
WdcDataMonitor::DataIncrement
WdcDataMonitor::GetColumnText
WdcDataMonitor::_InitScratchBuffer
WdcDataMonitor::ListUpdate
WdcDataMonitor::ListUpdateRow
WdcDataMonitor::SetSort
WdcDataMonitor::SetSortDirty
WdcDataMonitor::Start
WdcDataMonitor::Update
WdcDataMonitor::UpdateThread
WdcDataMonitor::WdcDataMonitor
WdcDataPortal::AddSubchart
WdcDataPortal::FitColumns
WdcDataPortal::InitializePortal
WdcDataPortal::s_CreateInstance
WdcDiskMonitor::AddDisk
WdcDiskMonitor::ClearDisk
WdcDiskMonitor::CloneDriveInfo
WdcDiskMonitor::CloseDiskHandle
WdcDiskMonitor::EnumerateDiskExtents
WdcDiskMonitor::GetCurrentDisks
WdcDiskMonitor::GetDiskCapacity
WdcDiskMonitor::GetDiskExtents
WdcDiskMonitor::GetDiskFriendlyName
WdcDiskMonitor::GetDiskNumber
WdcDiskMonitor::GetDriveInfo
WdcDiskMonitor::GetVolumeName
WdcDiskMonitor::Initialize
WdcDiskMonitor::Query
WdcDiskMonitor::s_DevQueryCallback
WdcDiskMonitor::ShouldIncludeDisk
WdcDupString
WdcErrorMessage
WdcExpandingCall
WdcExpandMemory
WdcExpandVariables
WdcGetProcessCritical
WdcGetProcessWowStatus
WdcGetTimeStampCounter
WdcGpuMonitor::AddAdapterToTrackingHistory
WdcGpuMonitor::GetAdapterEngineNameForProcess
WdcGpuMonitor::GetAdapterList
WdcGpuMonitor::GetInfoForPid
WdcGpuMonitor::Initialize
WdcGpuMonitor::Query
WdcGpuMonitor::RetrieveDashboardMetrics
WdcGpuMonitor::UniqueTypeDataRetrieve
WdcGpuMonitor::UpdateHistory
WdcInitializeCriticalSection
WdcListView::ApplySetting
WdcListView::AttachDebugger
WdcListView::ChangeColumns
WdcListView::ChangeSortFlag
WdcListView::CreateDumpFile
WdcListView::DeleteColumn
WdcListView::EndProcessTree
WdcListView::FitColumns
WdcListView::FixProcess
WdcListView::GetProcessCurrentPriorityCommand
WdcListView::GetSelectedProcessCount
WdcListView::GetSelectedProcessUAC
WdcListView::GotoTab
WdcListView::KillProcessTree
WdcListView::LaunchServices
WdcListView::OnAdjustColumns
WdcListView::OnCopy
WdcListView::OnInput
WdcListView::OnProcessCommand
WdcListView::OnTooltipNotify
WdcListView::OpenFileLocation
WdcListView::SearchOnline
WdcListView::SelectColumns
WdcListView::SetProcessPriority
WdcListView::ShowPropertiesDialog
WdcListView::Sort
WdcListView::StartServiceW
WdcListView::StopService
WdcListView::ToggleProcessVirtualization
WdcLoadString
WdcLoadStringEx
WdcMemoryMonitor::InitializePCWQuery
WdcMemoryMonitor::UpdateVMQuery
WdcMonitor::CreateDUITabs
WdcMonitor::CreateStyleParser
WdcMonitor::DashboardEngineMenu
WdcMonitor::GetTooltipWnd
WdcMonitor::LoadHeatmapColorsFromTheme
WdcMonitor::OnFileMenuInvoke
WdcMonitor::OnTabSwitch
WdcMonitor::OnThemeChanged
WdcMonitor::RefreshThemeData
WdcMonitor::RegisterClasses
WdcMonitor::SetRefreshRate
WdcMonitor::SetupDUITabs
WdcMonitor::SwitchTab
WdcMonitor::SwitchTabByTabId
WdcMonitor::UpdateTimer
WdcNetworkMonitor::GetAdapterInfo
WdcNetworkMonitor::PerInstanceDataRetrieve
WdcNetworkMonitor::Query
WdcNumaCpuList::AddItem
WdcNumaCpuList::GetName
WdcNumaNodeList::AddItem
WdcNumaNodeList::GetName
WdcPcwGetData
WdcProcessMonitor::_AddUserNameForSid
WdcProcessMonitor::CreateEntry
WdcProcessMonitor::_CreateHangDetectionThread
WdcProcessMonitor::EnsureAppsMonitor
WdcProcessMonitor::GetCreateTime
WdcProcessMonitor::GetCritical
WdcProcessMonitor::GetCurrentAffinity
WdcProcessMonitor::GetImageName
WdcProcessMonitor::InitializePCWQuery
WdcProcessMonitor::InitializeProcessorInformation
WdcProcessMonitor::ListUpdate
WdcProcessMonitor::LoadProcessorAffinity
WdcProcessMonitor::OnProcessCommand
WdcProcessMonitor::ProcessGpuInformation
WdcProcessMonitor::ProcessSetEnterpriseContext
WdcProcessMonitor::ProcessSetIsElevated
WdcProcessMonitor::ProcessToggleUAC
WdcProcessMonitor::ResolveImageDescription
WdcProcessMonitor::ResolveImageIcon
WdcProcessMonitor::ResolveImageName
WdcProcessMonitor::SetAffinity
WdcProcessMonitor::_SetProcessPackageName
WdcProcessMonitor::_TmGetProcessUserName
WdcProcessMonitor::Update
WdcProcessMonitor::UpdateProcess
WdcProcessMonitor::UpdateQuery
WdcQueryProcessInformation
WdcRunTaskAsInteractiveUser
WdcSafeOpenProcess
WdcSelectableList::SelectedIndexToTotalIndex
WdcSelectableList::TotalIndexToSelectedIndex
WdcServiceCache::AssignGroupStringAndExePath
WdcServiceCache::AssignServiceHostFriendlyName
WdcServiceCache::_EnumerateServices
WdcServiceCache::_InitBackgroundThread
WdcServiceCache::_UpdateServiceStateInfo
WdcServiceMonitor::CreateEntry
WdcServiceMonitor::UpdateService
WdcStartService
WdcStartupMonitor::AtmOnProcessCommand
WdcStartupMonitor::CreateEntry
WdcStartupMonitor::DisableItem
WdcStartupMonitor::DoEnumeration
WdcStartupMonitor::EnableItem
WdcStartupMonitor::GetState
WdcStartupMonitor::GetTargetFromLnkFile
WdcStartupMonitor::_InfoFindChild
WdcStartupMonitor::_InitPropStoreForImmersiveStartupTask
WdcStartupMonitor::IsProcessRunning
WdcStartupMonitor::LoadFolderList
WdcStartupMonitor::LoadPackagedList
WdcStartupMonitor::LoadRegistryList
WdcStartupMonitor::_LoadStartupItems
WdcStartupMonitor::MapStartupProcesses
WdcStartupMonitor::_RegisterForRegChangeNotification
WdcStartupMonitor::_SetBIOSPostTime
WdcStartupMonitor::SetData
WdcStartupMonitor::SetFileData
WdcStartupMonitor::_SetIcon
WdcStartupMonitor::SetPackagedData
WdcStartupMonitor::SetStartupLocationType
WdcStartupMonitor::_VerifyAndGetSpecialExeFilePath
WdcStopService
WdcStringMap::LoadStringW
WdcTab::CreateHWND
WdcTrayIconMonitor::CreateEntry
WdcTrayIconMonitor::DoEnumeration
WdcTrayIconMonitor::Notify
WdcTrayIconMonitor::UpdateInitialize
WdcTrayIconMonitor::_UpdateItem
WdcUserMonitor::_AddNewSession
WdcUserMonitor::AtmOnProcessCommand
WdcUserMonitor::CreateEntry
WdcUserMonitor::CreateListenerWindow
WdcUserMonitor::DoEnumeration
WdcUserMonitor::DoFirstEnumeration
WdcUserMonitor::_GetUserCredentials
WdcUserMonitor::_InitUserInfo
WdcUserMonitor::OnSessionChanged
WdcUserMonitor::_SetClientName
WdcUserMonitor::_SetFriendlyName
WdcUserMonitor::_SetSessionIcon
WdcUserMonitor::_SetUserName
WdcUserMonitor::_SetWinStaName
WdcUserMonitor::UpdateInitialize
WdcUserMonitor::_UpdateUserInfo
WdcWindowMonitor::_AddOrUpdateWindowInfo
WdcWindowMonitor::_AddTabWindows
WdcWindowMonitor::AtmOnProcessCommand
WdcWindowMonitor::_CloneWindowInfo
WdcWindowMonitor::CreateEntry
WdcWindowMonitor::_CreateEnumRequest
WdcWindowMonitor::DoEnumeration
WdcWindowMonitor::EnumRequest
WdcWindowMonitor::_IsFrameWindow
WdcWindowMonitor::QueueEnumRequest
WdcWindowMonitor::_SetWindowData
WdcWindowMonitor::_SetWindowIcon
WdcWindowMonitor::UpdateWindow
WdcWindowMonitor::_UpdateWindowData
wDDDDDDDDDDDD
wDDDDDDG
wddldFFh
WdfCensusEvtLinkClientToCx
WdfCtorStatus::SetCtorStatus
WdfDevNode::FindDeviceInfo
WdfDevNode::LoadProcess
WdfDevNode::WdfDevNode
WdfDriverManager::StartActivityLog
WdfGetLpcInterface
WdfLpcCommPort::FastReply
WdfLpcConnPort::FastReply
WdfLpcConnPort::ProcessMessage_Connect
WdfLpcInterface::WdfGetLpcPortBaseName
WdfLpcPort::ProcessMessage
WdfLpc::ValidateMessage
WdfObject::ReleaseWait
WdfProcess::MarkForDelete is not called
WdfProcess::TerminateProcess
WdfProcess::WdfProcess
WdfServiceKey::WdfServiceKey
wdiwifi.sys
WdsAbortBlackboardItemEnum
WDSCORE.dll
WdsCreateBlackboard
WdsDeleteBlackboardValue
WdsDestroyBlackboard
WdsEnumFirstBlackboardItem
WdsFreeData
WdsGenericSetupLogInit
WdsGetBlackboardValue
WdsGetSetupLog
WdsInitialize
WdsInitializeDataStringW
WdsInitializeDataUInt32
Wds logger is already initialized
WdsLogRegisterProvider
WdsLogUnRegisterProvider
WdsSetBlackboardValue
WdsSetupLogDestroy
WdsSetupLogInit
WdsSetupLogMessageA
WdsSetupLogMessageW
WdsTerminate
WdsValidBlackboard
wDynamicNames
WE0(###'b
WearingOut
                                    WebBrowserPermission
web compartment
WebInstance::Zoom should not be called when in windowless mode.
			-webkit-background-size: cover;
Web Platform no longer sends this command id.
*webPlatformWindowContext
WebProviderError
WebProviderErrorAvailable
WebServices
webservices.dll
WebTokenRequestStatus
WebView2: Failed to find an installed WebView2 runtime or non-stable Microsoft Edge installation.
WebView2: Failed to find the app exe path.
WebView2: Failed to find the WebView2 client dll at: 
WebView2: skipped an incompatible version 
WebView2: skipped inaccessible 
WecApi.dll
We could not find a match for fHasWDDMDriver
We could not find a match for HARDWAREID_MEM_DIMMS
We could not find a match for Is64Bit
We could not find a match for WinsatSystemBoardInfo
WecUtilException
wecutil.pdb
Wednesday
We don't expect background tasks to need the display's rotation.
weGetStringValueWW
We have created EULA.TXT in the current folder.
We must only receive event callbacks while still registered.
We only register when its a background activation.
WerAddFile failed
WerCreateReport failed
WERDumpCollectionFailed
WERDumpCollectionStatus
werfault.exe
WerFault.pdb
WerFaultSecure.pdb
WerGetFlags
WerHamActivityCallback
WerMgr.pdb
WerpAddAppCompatData
WerpAddFile
WerpAddFileBuffer
WerpAddFile failed
WerpAddMemoryBlock
WerpAddRegisteredDataToReport
WerpAddTerminationReason
WerpAuxmdDumpProcessImages
WerpAuxmdDumpRegisteredBlocks
WerpAuxmdFree
WerpAuxmdFreeCopyBuffer
WerpAuxmdHashVaRanges
WerpAuxmdInitialize
WerpAuxmdMapFile
WerpCleanWer
WerpCleanWer failed
WerpCloseStore
WerpCreateIntegratorReportId
WerpCreateMachineStore
WerpDestroyWerString
WerpEnumerateStoreNext
WerpEnumerateStoreStart
WerpFlushImageCache
WerpForceDeferredCollection
WerpFreeString
WerpFreeUnmappedVaRanges
WerpGetExtendedDiagData
WerpGetFileByIndex
WerpGetNumFiles
WerpGetReportFlags
WerpGetReportId
WerpGetReportInformation
WerpGetReportSettings
WerpGetReportType
WerpGetStorePath
WerpGetWerStringData
WerpHashApplicationParameters
WerpInitializeImageCache
WerpInitiateCrashReporting
WerpIsOnBattery
WerpIsTransportAvailable
WerpLoadReportFromBuffer
WerPluginsInitialize failed
WerpOpenMachineQueue
WerpPromptUser
WerpReportCancel
WerpReportSprintfParameter
WerpReserveMachineQueueReportDir
WerpResetTransientImageCacheStatistics
WerpRestartApplication
WerpSetCallBack
WerpSetDynamicParameter
WerpSetEventName
WerpSetExitListeners
WerpSetIntegratorReportId
WerpSetIntegratorReportId failed
WerpSetIptEnabled
WerpSetIptEnabled failed
WerpSetProcessTimelines
WerpSetReportApplicationIdentity
WerpSetReportFlags
WerpSetReportInformation
WerpSetReportIsFatal
WerpSetReportNamespaceParameter
WerpSetTelemetryAppParams
WerpSetTelemetryKernelParams
WerpSetTelemetryKernelParams failed
WerpSetTtdStatus
WerpStitchedMinidumpVmPostReadCallback
WerpStitchedMinidumpVmPreReadCallback
WerpStitchedMinidumpVmQueryCallback
WerpSubmitReportFromStore
WerpSubmitReportFromStore failed
WerpTraceAuxMemDumpStatistics
WerpTraceImageCacheStatistics
WerpTraceSnapshotStatistics
WerpTraceUnmappedVaRangesStatistics
WerpUnmapProcessViews
WerpValidateReportKey
WerReportAddDump
WerReportAddFile
WerReportCloseHandle
WerReportCreate
WerReportPruned
WerReportSetParameter
WerReportSetUIOption
WerReportSubmit
WerSetFlags
WER_Spew
WerStorePurge
WerSubmitReport failed
WerUIpCheckWindow
WerUIpDefSubclassProc
WerUIpHeadlessOrImersive
WerUIpRemoveWindowSubclass
WerUIpSetWindowSubclass
WerUIpTaskDialogIndirect
WerUIpUIHandleWERWindowMsg
WerUIReportSilentProcessExit
WerVerticalDisabled
We should only call this method after Initialize is successfully called.
wevtapi.dll
wevtutil.pdb
We will now end WinSAT execution to return control of the machine.  We will not free resources on the still running thread as this would cause an AV.  We may see notices 
wextract.pdb
w?fA90u*
WFDCloseHandleInt
WFDFreeMemoryInt
WFDOpenHandleInt
WFDQueryPropertyInt
_wfopen_s
_wfsopen
_wfullpath
_wgetenv
__wgetmainargs
wggWpxVVvxww
wgvu5cWV
wgwwwgwwwp
w@H96t8H
W H9W(t3H
?what@exception@@UEBAPEBDXZ
wHD8sHtOM
wHD9w@t	H
                    where N is the GPU desired.
where.pdb
whgvwvwh
WhichCall
while calling GetStorageDependencyInformation
whoami.pdb
who-are-you reply
 who-are-you request
who-are-you request
who-has 
W))*hVVW
wiaacmgr 1.0 Type LibraryW
                'wiaacmgr.EXE'
WIAACMGRLibW
wiaacmgr.pdb
wiawow64.pdb
WICCreateImagingFactory_Proxy
WideCharToMultiByte
wideLines
			width: 160px;
			width: 400px;
?width@ios_base@std@@QEAA_J_J@Z
?width@ios_base@std@@QEBA_JXZ
wificx.sys
WiFiTask.pdb
wilActivity
wil::details_abi::SemaphoreValue::CreateFromValueInternal
wil::details_abi::SemaphoreValue::GetValueFromSemaphore
wil::details_abi::SemaphoreValue::TryGetPointer
wil::details_abi::SemaphoreValue::TryGetValue
wil::details_abi::SemaphoreValue::TryGetValueInternal
wil::details::CloseHandle
wil::details::ReleaseMutex
WIL_Error
WilError_03
will increase. 
wilResult
WilStaging_02
WIMAddImagePath
WIMApplyImage
WIMCaptureImage
WIMCloseHandle
WIMCopyFile
WIMCreateFile
WIMExportImage
WIMExtractImagePath
WIMGAPI.DLL
WIMGetAttributes
WIMGetImageCount
WIMGetImageInformation
WIMInitFileIOCallbacks
WIMLoadImage
WIMMountImage
WIMReadFileEx
WIMRegisterMessageCallback
wimserv.pdb
WIMSetFileIOCallbackTemporaryPath
WIMSetImageInformation
WIMSetReferenceFile
WIMSetTemporaryPath
WIMSplitFile
WIMUnmountImage
WIMUnregisterMessageCallback
WIMWriteFileWithIntegrity
Win32DpiApi
Win32DpiApi::CreateInstance failed
Win32DpiApi::CreateInstance failed!
Win32ErrorCode
Win32ExitCode
Win32PointerApi::CreateInstance(FEATURES_DEFAULT) failed!
Win32PointerApi::CreateInstance(TOUCH_INJECTION) failed!
Win32PointerApi::CreateInstance(TOUCH_INJECTION | POINTER_INJECTION) failed!
Win32PointerApi::Initialize failed!
WinBioCloseSession
WinBioControlUnitPrivileged
WinBioDataModelOOBE.pdb
WinBioDeleteTemplate
winbio.dll
WinBioEnumBiometricUnits
WinBioFree
WinBioGetEnrolledFactors
WinBioLockUnit
WinBioOpenSession
WinBioUnlockUnit
WINBRAND.dll
WindowActivateOrder failed
WindowCloakingTrackerAddWindow failed
WindowCloakingTrackerRemoveWindow failed
WindowCloakingTrackerReset failed
WindowCloakingTrackerWindowCloakStateChanged failed
WindowCloakOrder failed
WindowFromPoint
WindowGetAppIDOrder failed
windowHandle
WindowInfo
WindowMoveSizeOrder failed
Windows8AppsComputerPolicy
Windows8AppsCurrentComputerUserPolicy
WindowsActionDialog.pdb
Windows::Analog::Face::ErrorTelemetryHandler
Windows::Analog::Face::FaceAdaptersTelemetryLogger::LogQueriedFaceOneSettingsEvent.QueriedFaceOneSettingsFromServer_Event
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.CoCreateInstanceAsAdmin
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.CoCreateInstanceAsAdmin.Failed
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.Failed
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.MakeAndInitialize
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.MakeAndInitialize.Failed
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.PerformOCWithHandlerCleanInstall
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.PerformOCWithHandlerCleanInstall.Failed
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.PerformOCWithHandlerMigration
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.PerformOCWithHandlerMigration.Failed
Windows::Analog::Face::FaceFeatureOnDemandPackageManager::UpdateCapability.Succeeded
Windows::Analog::Face::FaceFodManager::DeleteModel
Windows::Analog::Face::FaceFodManager::DeleteModel.FaceFod.Manager.DeleteModel_Event
Windows::Analog::Face::FaceFodManager::EnableFodCleanupScheduledTask.FaceFod.Manager.EnableFodCleanupScheduledTask_Event
Windows::Analog::Face::FaceFodManager::GetModelInfo
Windows::Analog::Face::FaceFodManager::GetModelInfo.FaceFod.Manager.FailureToFindModelInCache_Event
Windows::Analog::Face::FaceFodManager::GetModelInfo.ModelInfo
Windows::Analog::Face::FaceFodManager::Initialize
Windows::Analog::Face::FaceFodManager::Initialize.FaceFod.Manager.GetInstalledFods_Event
Windows::Analog::Face::FaceFodRegistryHelper::FaceFodRegistryHelper.FailureToOpenFodResourcesKey
Windows::Analog::Face::FaceFodRegistryHelper::FaceFodRegistryHelper.FailureToOpenFodResourcesKey.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.FailureToOpenFodPackageKey
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.FailureToOpenFodPackageKey.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.FailureToRegDeleteValueIsUnused
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.FailureToRegDeleteValueIsUnused.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegClearFodDeletionMarker.Succeeded
Windows::Analog::Face::FaceFodRegistryHelper::RegGetFodFaceVerificationTech.FailureToMapGuidToFaceVerificationTech
Windows::Analog::Face::FaceFodRegistryHelper::RegGetFodFaceVerificationTech.FailureToMapGuidToFaceVerificationTech.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegGetFodIsMarkedForDeletion.Result
Windows::Analog::Face::FaceFodRegistryHelper::RegGetSubkeyNames.FailureToGetNumberOfSubkeys
Windows::Analog::Face::FaceFodRegistryHelper::RegGetSubkeyNames.FailureToGetNumberOfSubkeys.Failed
Windows::Analog::Face::FaceFodRegistryHelper::RegGetSubkeyNames.FailureToGetSubkeyName
Windows::Analog::Face::FaceFodRegistryHelper::RegGetSubkeyNames.FailureToGetSubkeyName.Failed
Windows::Analog::Face::FaceFodTestUtilitiesCbsUIHandler::Initiate
Windows::Analog::Face::FaceFodTestUtilitiesCbsUIHandler::ResolveSource
Windows::Analog::Face::FaceFodTestUtilitiesCbsUIHandler::Terminate
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToConstructFodPackageName
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToConstructFodPackageName.Failed
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToCreateCbsSession
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToCreateCbsSession.Failed
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToEnumerateCapabilities
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToEnumerateCapabilities.Failed
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToInitializeCbsSession
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.FailureToInitializeCbsSession.Failed
Windows::Analog::Face::FaceFodTestUtilities::GetUninstalledFaceFods.GetNextCapability
Windows::Analog::Face::FaceFodTestUtilities::ReInstallDeletedFaceFods.FailureToCoCreateInstanceAsAdmin
Windows::Analog::Face::FaceFodTestUtilities::ReInstallDeletedFaceFods.FailureToCoCreateInstanceAsAdmin.Failed
Windows::Analog::Face::FaceFodTestUtilities::ReInstallDeletedFaceFods.FailureToMakeAndInitializeFaceFodUIHandler
Windows::Analog::Face::FaceFodTestUtilities::ReInstallDeletedFaceFods.FailureToMakeAndInitializeFaceFodUIHandler.Failed
Windows::Analog::Face::FaceFodTypes::ToString.End
Windows::Analog::Face::FaceFodTypes::ToString.End.Failed
Windows::Analog::Face::FaceFodUIHandler::Initiate
Windows::Analog::Face::FaceFodUIHandler::ResolveSource
Windows::Analog::Face::FaceFodUIHandler::Terminate
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToAddToUnusedListOfFods
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToAddToUnusedListOfFods.Failed
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToGetFodIsMarkedForDeletion
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToGetFodIsMarkedForDeletion.Failed
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToGetFodPackageNames
Windows::Analog::Face::FaceFodUninstaller::GetUnusedFaceFods.FailureToGetFodPackageNames.Failed
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetCurrentModuleDirectoryPathForDesktop
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetCurrentModuleDirectoryPathForDesktop.Failed
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetEnrolledFactors
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetEnrolledFactors.Failed
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetModelInfo
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetModelInfo.Failed
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetVerificationTechsFromResource
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToGetVerificationTechsFromResource.Failed
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToLoadModelSelection
Windows::Analog::Face::FaceFodUninstaller::MarkOldFaceFodsForDeletionIfNoEnrollmentsPresent.FailureToLoadModelSelection.Failed
Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods.FailureToCoCreateInstanceAsAdmin
Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods.FailureToCoCreateInstanceAsAdmin.Failed
Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods.FailureToMakeAndInitializeFaceFodUIHandler
Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods.FailureToMakeAndInitializeFaceFodUIHandler.Failed
Windows::Analog::Face::FaceFodUninstaller::UninstallFaceFods.ModelEjectionFodUninstall.Disabled
Windows::Analog::Face::FaceFodUninstaller::UninstallUnusedFaceFods.Failed
Windows::Analog::Face::FaceFodUninstaller::UninstallUnusedFaceFods.Succeeded
Windows::Analog::Face::FaceOneSettings::AddTargetParameter
Windows::Analog::Face::FaceOneSettings::AddTargetParameter.AddTargetParameter
Windows::Analog::Face::FaceOneSettings::AddTargetParameter.AddTargetParameter.Failed
Windows::Analog::Face::FaceOneSettings::AddTargetParameter.SHRegGetString
Windows::Analog::Face::FaceOneSettings::AddTargetParameter.SHRegGetString.Failed
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.CoCreateInstance
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.CoCreateInstance.Failed
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.GetRingNameAlloc
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.GetRingNameAlloc.Failed
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.RoInitialize
Windows::Analog::Face::FaceOneSettings::GetFlightInformation.RoInitialize.Failed
Windows::Analog::Face::FaceOneSettings::QuerySettings.ReadMachineProperties
Windows::Analog::Face::FaceOneSettings::QuerySettings.ReadMachineProperties.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_deviceclass
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_deviceclass.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_locale
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_locale.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_OEMModel
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_OEMModel.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_OEMName
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_OEMName.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_ring
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_ring.Failed
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_sku
Windows::Analog::Face::FaceOneSettings::ReadMachineProperties.ReadMachineProperties_sku.Failed
Windows::Analog::Face::FaceResources::GetInputStreamForResource.Copy
Windows::Analog::Face::FaceResources::GetInputStreamForResource.FindResourceEx
Windows::Analog::Face::FaceResources::GetInputStreamForResource.LoadResource
Windows::Analog::Face::FaceResources::GetInputStreamForResource.SizeofResourceAndLockResource
Windows::Analog::Face::StaticModelInfoMap
WindowsBuiltInRole
WindowsCodecs
WindowsCodecs.dll
WindowsCodecsExt
WindowsCompareStringOrdinal
WindowsCoreTelemetry
WindowsCoreTelemetryTraits
WindowsCreateString
WindowsCreateStringReference
WindowsDeleteString
WindowsDeleteStringBuffer
WindowsDriverVerifierUi
WindowsDuplicateString
:WindowsEventLogs
WindowsFolderWWW4
Windows::Foundation::Initialize(RO_INIT_SINGLETHREADED)
WindowsGetStringLen
WindowsGetStringRawBuffer
WindowsIdentity
WindowsIsStringEmpty
windowsize
Windows.Media.BackgroundPlayback.pdb
WindowSnapArrangeOrder failed
WindowsPerformanceRecorderControl.dll
Windows PowerShell ISE
WindowsPreallocateStringBuffer
WindowsPrincipal
WindowsProjectionSet
WindowsProjectionTransform
WindowsPromoteStringBuffer
Windows Registry Editor Version 5.00
Windows::Rtl::GetCurrentTokenUser
Windows::Rtl::RtlGetDirectSystem
Windows::Rtl::SystemImplementation::CDirectory::AddHandleToVector
Windows::Rtl::SystemImplementation::CDirectory::CreateInterface
Windows::Rtl::SystemImplementation::CDirectory::CreateNewDirectory
Windows::Rtl::SystemImplementation::CDirectory::CreateNewFile
Windows::Rtl::SystemImplementation::CDirectory::Delete
Windows::Rtl::SystemImplementation::CDirectory::DeleteExistingFile
Windows::Rtl::SystemImplementation::CDirectory::Enumerate
Windows::Rtl::SystemImplementation::CDirectory::GetName
Windows::Rtl::SystemImplementation::CDirectory::Initialize
Windows::Rtl::SystemImplementation::CDirectory::Internal_DeleteRecursively
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::CreateNewDirectory
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::CreateNewFile
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::Delete
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::DeleteExistingFile
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::DeleteRecursively
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::Enumerate
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::GetAttributes
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::Inner_OpenExistingFile
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::OpenExistingDirectory
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::OpenExistingFile
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::PutFileInScratchReserve
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::QueryAttributesFile
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::QueryReparseTag
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::QueryReserveArea
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::SetAttributes
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::SetCompression
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::SetReserveArea
Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::SetSecurityInfo
Windows::Rtl::SystemImplementation::CDirectory::MarkDirectoryContentsDeleted
Windows::Rtl::SystemImplementation::CDirectory::OpenExistingDirectory
Windows::Rtl::SystemImplementation::CDirectory::OpenExistingFile
Windows::Rtl::SystemImplementation::CDirectory::PutFileInScratchReserve
Windows::Rtl::SystemImplementation::CDirectory::PutFileInScratchReserveInternal
Windows::Rtl::SystemImplementation::CDirectory::QueryAttributesFile
Windows::Rtl::SystemImplementation::CDirectory::QueryReparseTag
Windows::Rtl::SystemImplementation::CDirectory::QueryReserveArea
Windows::Rtl::SystemImplementation::CDirectory::SetCompression
Windows::Rtl::SystemImplementation::CEnumDirectoryEntries::CreateInterface
Windows::Rtl::SystemImplementation::CEnumDirectoryEntries::Initialize
Windows::Rtl::SystemImplementation::CEnumDirectoryEntries_IRtlEnumDirectoryEntriesTearoff::Next
Windows::Rtl::SystemImplementation::CEnumDirectoryEntries::Next
Windows::Rtl::SystemImplementation::CEnumKeys::CreateInterface
Windows::Rtl::SystemImplementation::CEnumKeys::Initialize
Windows::Rtl::SystemImplementation::CEnumKeys_IRtlEnumKeysTearoff::Next
Windows::Rtl::SystemImplementation::CEnumKeys::Next
Windows::Rtl::SystemImplementation::CEnumValues::CreateInterface
Windows::Rtl::SystemImplementation::CEnumValues_IRtlEnumValuesTearoff::Next
Windows::Rtl::SystemImplementation::CEnumValues::Next
Windows::Rtl::SystemImplementation::CFile::FlushBuffers
Windows::Rtl::SystemImplementation::CFile::GetAttributes
Windows::Rtl::SystemImplementation::CFile::GetContents
Windows::Rtl::SystemImplementation::CFile::GetFileID
Windows::Rtl::SystemImplementation::CFile::GetFileTimes
Windows::Rtl::SystemImplementation::CFile::GetHandle
Windows::Rtl::SystemImplementation::CFile::GetName
Windows::Rtl::SystemImplementation::CFile::Initialize
Windows::Rtl::SystemImplementation::CFile::MarkDeletePending
Windows::Rtl::SystemImplementation::CFile::QueryBacking
Windows::Rtl::SystemImplementation::CFile::QueryFileSize
Windows::Rtl::SystemImplementation::CFile::QueryLinkCount
Windows::Rtl::SystemImplementation::CFile::QueryReparseTag
Windows::Rtl::SystemImplementation::CFile::QueryReserveArea
Windows::Rtl::SystemImplementation::CFile::ReadFile
Windows::Rtl::SystemImplementation::CFile::ReadFileAsync
Windows::Rtl::SystemImplementation::CFile::RemoveCompression
Windows::Rtl::SystemImplementation::CFile::RenameFile
Windows::Rtl::SystemImplementation::CFile::SetAttributes
Windows::Rtl::SystemImplementation::CFile::SetCompression
Windows::Rtl::SystemImplementation::CFile::SetContents
Windows::Rtl::SystemImplementation::CFile::SetFileSize
Windows::Rtl::SystemImplementation::CFile::SetIoCompletionPort
Windows::Rtl::SystemImplementation::CFile::SetSecurityInfo
Windows::Rtl::SystemImplementation::CFile::WriteFile
Windows::Rtl::SystemImplementation::CFile::WriteFileAsync
Windows::Rtl::SystemImplementation::CKey::CreateNewKeyWithClass
Windows::Rtl::SystemImplementation::CKey::Delete
Windows::Rtl::SystemImplementation::CKey::DeleteKey
Windows::Rtl::SystemImplementation::CKey::DeleteRecursively
Windows::Rtl::SystemImplementation::CKey::DeleteValue
Windows::Rtl::SystemImplementation::CKey::EnumerateKeys
Windows::Rtl::SystemImplementation::CKey::EnumerateValues
Windows::Rtl::SystemImplementation::CKey::GetAllKeys
Windows::Rtl::SystemImplementation::CKey::GetName
Windows::Rtl::SystemImplementation::CKey::GetNumberOfChildren
Windows::Rtl::SystemImplementation::CKey::Initialize
Windows::Rtl::SystemImplementation::CKey::OpenExistingKey
Windows::Rtl::SystemImplementation::CKey::QueryValue
Windows::Rtl::SystemImplementation::CKey::SetSecurityInfo
Windows::Rtl::SystemImplementation::CKey::SetValue
Windows::Rtl::SystemImplementation::CopyFileContents
Windows::Rtl::SystemImplementation::CRtlTransactionCoordinator::CreateInterface
Windows::Rtl::SystemImplementation::CRtlTransactionCoordinator::Initialize
Windows::Rtl::SystemImplementation::CRtlTransactionCoordinator_IRtlTransactionCoordinatorTearoff::GetCurrentThreadTransaction
Windows::Rtl::SystemImplementation::CRtlTransactionCoordinator::SetCurrentThreadTransaction
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::CreateFileHelper
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::CreateHardLinkW
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::CreateInterface
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::DecompressFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::GeneratePOQ
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::GetPOQIterator
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemCreatorTearoff::GetSystem
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::DeleteFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::OpenFilesystemDirectory
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::OpenFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::OpenRegistryKey
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::QueryAttributesFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerPublicTearoff::TransferFileEx
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::DecompressFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::DeleteFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::FlushVolume
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::GetCurrentTransaction
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::GetUcsTransform
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::MapFilePath
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::MapRegistryPath
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::OpenExistingUserProfile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::OpenFilesystemDirectory
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::OpenFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::OpenRegistryKey
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::QueryAttributesFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerTearoff::TransferFileEx
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::BeginTransaction
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::DecompressFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::DeleteFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::FlushVolume
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::GeneratePOQ
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::GetCurrentTransaction
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::GetPOQIterator
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::GetUcsTransform
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::InsertCheckpoint
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::MapFilePath
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::MapRegistryPath
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::OpenExistingUserProfile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::OpenFilesystemDirectory
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::OpenFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::OpenRegistryKey
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::QueryAttributesFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer_IRtlSystemIsolationLayerWithPOQTearoff::TransferFileEx
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::OpenExistingUserProfile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::OpenFilesystemFile
Windows::Rtl::SystemImplementation::CSystemIsolationLayer::TransferFileEx
Windows::Rtl::SystemImplementation::CSystemObject::GetSecurityDescriptor
Windows::Rtl::SystemImplementation::CSystemObject::GetSecurityInfo
Windows::Rtl::SystemImplementation::CSystemObject::SetSecurityInfo
Windows::Rtl::SystemImplementation::CUserProfile::CreateInterface
Windows::Rtl::SystemImplementation::CUserProfile::GetSpecialDirectoryPath
Windows::Rtl::SystemImplementation::CUserProfile::GetUserProfileDirectoryPath
Windows::Rtl::SystemImplementation::CUserProfile::GetUserSid
Windows::Rtl::SystemImplementation::CUserProfile_IRtlUserProfileTearoff::GetSpecialDirectoryPath
Windows::Rtl::SystemImplementation::CUserProfile_IRtlUserProfileTearoff::GetUserSid
Windows::Rtl::SystemImplementation::CUserProfile_IRtlUserProfileTearoff::OpenProfileRelativeKey
Windows::Rtl::SystemImplementation::CUserProfile_IRtlUserProfileTearoff::OpenProfileRootKey
Windows::Rtl::SystemImplementation::CUserProfile_IRtlUserProfileTearoff::OpenSpecialDirectory
Windows::Rtl::SystemImplementation::CUserProfile::OpenProfileRelativeKey
Windows::Rtl::SystemImplementation::CUserProfile::OpenProfileRootKey
Windows::Rtl::SystemImplementation::CUserProfile::OpenSpecialDirectory
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::AttachIteratorToPOQ
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::BeginTransaction
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::CreateInterface
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::GeneratePOQ
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::InsertCheckpoint
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::ReplacePathMappings
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysClose
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCopyFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysDecompressFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysDeleteFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysDuplicateObject
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysFlushFileBuffers
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysFsControlFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysQueryAttributesFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysQueryDirectoryFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysQueryInformationFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysQuerySecurityObject
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysQueryVolumeInformationFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysReadFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysSetInformationFile
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysSetSecurityObject
Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysWriteFile
Windows::Rtl::SystemImplementation::DirectRegistryProvider::AttachIteratorToPOQ
Windows::Rtl::SystemImplementation::DirectRegistryProvider::BeginTransaction
Windows::Rtl::SystemImplementation::DirectRegistryProvider::CreateInterface
Windows::Rtl::SystemImplementation::DirectRegistryProvider::GeneratePOQ
Windows::Rtl::SystemImplementation::DirectRegistryProvider::InsertCheckpoint
Windows::Rtl::SystemImplementation::DirectRegistryProvider::ReplacePathMappings
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysClose
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysCreateKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysDeleteKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysDeleteValue
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysDeleteValueKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysDuplicateObject
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysEnumerateKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysEnumerateValueKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysOpenKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysQueryKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysQuerySecurityObject
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysQueryValueKey
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysSetSecurityObject
Windows::Rtl::SystemImplementation::DirectRegistryProvider::SysSetValueKey
Windows::Rtl::SystemImplementation::DirectUserProvider::Clone
Windows::Rtl::SystemImplementation::DirectUserProvider::CreateInterface
Windows::Rtl::SystemImplementation::DirectUserProvider::GetRootPath
Windows::Rtl::SystemImplementation::DirectUserProvider::Initialize
Windows::Rtl::SystemImplementation::DirectUserProvider::SetProviders
Windows::Rtl::SystemImplementation::IRtlUserProvider::GetPathFromRegistry
Windows::Rtl::SystemImplementation::MarkFileDeletePending
Windows::Rtl::SystemImplementation::MarkFilesOrDirectoriesForDeletion
Windows::Rtl::SystemImplementation::RtlGetTransactionCoordinator
Windows::Rtl::SystemImplementation::SetSecurityObjectWithInheritance
Windows::Rtl::TxfLogExpander::EliminateMaximumSize
Windows::Rtl::TxfLogExpander::GetCurrentContainerCountMax
Windows::Rtl::TxfLogExpander::GetDirectoryHandle
Windows::Rtl::TxfLogExpander::Restore
Windows::Rtl::XmlTxfLogExpander::InitializeLogExpander
Windows Script Host Object
Windows Script Host (Ver 5.6)W)
WindowsStringHasEmbeddedNull
Windows::StringUtil::Rtl::ConcatenateStringsInList
Windows::StringUtil::Rtl::SplitNtPath
Windows::StringUtil::Rtl::SubStringByByteCount
Windows::StringUtil::Rtl::SubStringByCharCount
WindowsSubstringWithSpecifiedLength
WindowsTelemetry
WINDOWS_TRACING_FACILITY_
WINDOWS_TZSYNC_ETW_PROVIDER
Windows::uDom::Rtl::RtlDestroyMicrodomUpdateContext
Windows.UI.Immersive.dll
WindowsUpdateElevatedInstaller.pdb
Windows Update Test Key Authorization File
Windows.WARP.JITService.pdb
Windows::WCP::CCPInterfaceKeyUtils::SetCCPRebootReasonUsingNt
Windows::WCP::CCPInterfaceKeyUtils::SetProgressKeyUsingNt
Windows::WCP::Implementation::Rtl::AppendCharacter
Windows::WCP::Implementation::Rtl::CreateSecurityDescriptorFromParts
Windows::WCP::Implementation::Rtl::DecomposeSecurityDescriptor
Windows::WCP::Implementation::Rtl::FormatBytesIntoString
Windows::WCP::Implementation::Rtl::ParseDottedVersion
Windows::WCP::Rtl::ShouldDeferExecution
Windows.World.Protocol.AcquireFrame
Windows.World.Protocol.AcquireFrameResponse
Windows.World.Protocol.BasicArrayProperty
Windows.World.Protocol.BasicProperty
Windows.World.Protocol.BondGuid
Windows.World.Protocol.BondPointF
Windows.World.Protocol.BondRectF
Windows.World.Protocol.BondSizeF
Windows.World.Protocol.BooleanArrayProperty
Windows.World.Protocol.BooleanProperty
Windows.World.Protocol.Char16ArrayProperty
Windows.World.Protocol.Char16Property
Windows.World.Protocol.CloseSource
Windows.World.Protocol.ControllerModeLost
Windows.World.Protocol.CorrelationSourceSetRegistered
Windows.World.Protocol.DateTimeArrayProperty
Windows.World.Protocol.DateTimeProperty
Windows.World.Protocol.DoubleArrayProperty
Windows.World.Protocol.DoubleProperty
Windows.World.Protocol.EmptyProperty
Windows.World.Protocol.EnterControllerMode
Windows.World.Protocol.EnterFaceAuthenticationMode
Windows.World.Protocol.ExitControllerMode
Windows.World.Protocol.ExitFaceAuthenticationMode
Windows.World.Protocol.FrameCaptured
Windows.World.Protocol.GuidArrayProperty
Windows.World.Protocol.GuidProperty
Windows.World.Protocol.Heartbeat
Windows.World.Protocol.InspectableArrayProperty
Windows.World.Protocol.InspectableProperty
Windows.World.Protocol.Int16ArrayProperty
Windows.World.Protocol.Int16Property
Windows.World.Protocol.Int32ArrayProperty
Windows.World.Protocol.Int32Property
Windows.World.Protocol.Int64ArrayProperty
Windows.World.Protocol.Int64Property
Windows.World.Protocol.Message
Windows.World.Protocol.OpenSource
Windows.World.Protocol.PointArrayProperty
Windows.World.Protocol.PointProperty
Windows.World.Protocol.Property
Windows.World.Protocol.PropertyChanged
Windows.World.Protocol.RectArrayProperty
Windows.World.Protocol.RectProperty
Windows.World.Protocol.ReleaseFrame
Windows.World.Protocol.ResponseRequired
Windows.World.Protocol.ResponseRequiredResult
Windows.World.Protocol.SetPropertyResult
Windows.World.Protocol.SetPropertyValue
Windows.World.Protocol.SingleArrayProperty
Windows.World.Protocol.SingleProperty
Windows.World.Protocol.SizeArrayProperty
Windows.World.Protocol.SizeProperty
Windows.World.Protocol.SourceCalibrationChanged
Windows.World.Protocol.SourceEnumerationCompleted
Windows.World.Protocol.SourceRegistered
Windows.World.Protocol.SourceSetRegistered
Windows.World.Protocol.SourceSetUnregistered
Windows.World.Protocol.SourceStatusChanged
Windows.World.Protocol.SourceTransform
Windows.World.Protocol.SourceUnregistered
Windows.World.Protocol.StringArrayProperty
Windows.World.Protocol.StringProperty
Windows.World.Protocol.TimeSpanArrayProperty
Windows.World.Protocol.TimeSpanProperty
Windows.World.Protocol.UInt16ArrayProperty
Windows.World.Protocol.UInt16Property
Windows.World.Protocol.UInt32ArrayProperty
Windows.World.Protocol.UInt32Property
Windows.World.Protocol.UInt64ArrayProperty
Windows.World.Protocol.UInt64Property
Windows.World.Protocol.UInt8ArrayProperty
Windows.World.Protocol.UInt8Property
Windows.World.Protocol.ValueSetProperty
Windows.World.Protocol.ValueSetVectorViewProperty
Windows.World.Protocol.VideoCalibration
WindowSysCommandOrder failed
windowType
?_Winerror_map@std@@YAHH@Z
?_Winerror_map@std@@YAPEBDH@Z
?_Winerror_message@std@@YAKKPEADK@Z
winerrorRetVal
WinHelpW
WinHttpAddRequestHeaders
WinHttpCloseHandle
WinHttpConnect
WinHttpCrackUrl
winhttp.dll
WINHTTP.dll
WinHttpGetDefaultProxyConfiguration
WinHttpGetIEProxyConfigForCurrentUser
WinHttpGetProxyForUrl
WinHttpOpen
WinHttpOpenRequest
WinHttpQueryAuthSchemes
WinHttpQueryDataAvailable
WinHttpQueryHeaders
WinHttpQueryOption
WinHttpReadData
WinHttpReceiveResponse
WinHttpSendRequest
WinHttpSetCredentials
WinHttpSetOption
WinHttpSetStatusCallback
WinHttpSetTimeouts
Wininet.dll
WININET.dll
wininit.ini
wininit.pdb
winload_prod.pdb
winload.sys
winlogon
Winlogon
WinLogonActivityActivityError
WinLogonActivityNotifyLogonSubscribersStart
WinLogonActivityNotifyLogonSubscribersStop
WinLogonActivityStart
WinLogonActivityStop
winLogonActivityType
WinLogonActivityUMgrInformUserLogon
winlogon.exe
WinlogonLogOff
winlogon.pdb
WinMain:Displaying dialog box for user to choose sysprep mode...
WinMain: Failed to set the thread execution state.
WinMain: File operations pending
WinMainImpl
WinMain:Pre-validing 'cleanup' internal providers.
WinMain:Pre-validing 'generalize' internal providers.
WinMain:Processing 'cleanup' external provider request.
WinMain:Processing 'cleanup' internal provider request.
WinMain:Processing 'generalize' extrenal provider request.
WinMain:Processing 'generalize' internal provider request.
WinMain:Processing 're-specialize' internal provider request.
WinMain:Processing system shutdown request.
WinMain:Processing unattend file's 'generalize' pass...
WinMain:The sysprep dialog box returned FALSE
WinMain:The sysprep dialog box was not shown; we're in quiet mode
WinMain: This is a WOW process.
WinMain: User must be an administrator.
WinMgmt.pdb
WINMM.dll
winnsi.dll
winreAvailable
WinRECheckGuid
WinReClearError
WinReClearOemImagePath
WinReConfigureTask
WinReGetConfig
WinReGetError
WinReGetLogDirPath
WinReInitiateOfflineScanning
WinReInstall
WinReInstallOnTargetOS
WinReIsWimBootEnabled
WinReIsWinPE
WinReQueueRecoveryBoot
WinReRepair
WinReRestoreLogFiles
WinReSetConfig
WinReSetCustomization
WinReSetError
WinReSetNarratorScheduled
WinReSetRecoveryAction
WinReSetTriggerFile
WinReSetupMigrateData
winresume.dll
winresume.pdb
WinReUnInstall
WinReValidateRecoveryWim
winrs.exe
winrshost.pdb
winrs.pdb
WinRTNetMUAHostServer.pdb
WinSAT.pdb
WinSAT regisrty key missing - create the winsat key
WinSAT registry node is created or present
WinSAT registry node is missing and could not be created
 WinSAT will run with the default value of permitted background interference
WinSCard.dll
WINSPOOL.DRV
WinSqmAddToStream
WinSqmAddToStreamEx
WinSqmCommonDatapointSetDWORD
WinSqmEndSession
WinSqmIncrementDWORD
WinSqmIsOptedIn
WinSqmIsOptedInEx
WinSqmSetDWORD
WinSqmSetDWORD64
WinSqmSetString
WinSqmStartSession
WinSqmStartSqmOptinListener
winsta.dll
WINSTA.dll
WinStationBroadcastSystemMessage
WinStationCloseServer
WinStationConnectAndLockDesktop
WinStationConnectW
WinStationConsumeCacheSession
WinStationDisconnect
WinStationEnumerateContainerSessions
WinStationEnumerateProcesses
WinStationEnumerateW
WinStationFreeEXECENVDATAEX
WinStationFreeGAPMemory
WinStationFreeMemory
WinStationFreePropertyValue
WinStationFreeUserCredentials
WinStationFreeUserSessionInfo
WinStationGetAllProcesses
WinStationGetAllSessionsEx
WinStationGetAllSessionsW
WinStationGetAllUserSessions
WinStationGetConnectionProperty
WinStationGetLastWinlogonNotification
WinStationGetParentSessionId
WinStationGetProcessSid
WinStationGetRestrictedLogonInfo
WinStationGetTermSrvCountersValue
WinStationGetUserCredentials
WinStationIsBoundToCacheTerminal
WinStationIsCurrentSessionRemoteable
WinStationIsSessionPermitted
WinStationIsSessionRemoteable
WinStationNameFromLogonIdW
WinStationNegotiateSession
WinStationOpenServerExW
WinStationOpenServerW
WinStationPreCreateGlassReplacementSession
WinStationPreCreateGlassReplacementSessionEx
WinStationQueryInformationW
WinStationQueryInformationW failed
WinStationRegisterNotificationEvent
WinStationReportLoggedOnCompleted
WinStationReportUIResult
WinStationReset
WinStationSendMessageW
WinStationSendWindowMessage
WinStationSetLastWinlogonNotification
WinStationShadowStop2
WinStationShadowStop2 failed
WinStationSystemShutdownStartedWorker
WinStationTerminateGlassReplacementSession
WinStationTerminateProcess
WinStationUnRegisterNotificationEvent
WinStationVerify
WinStationVirtualOpenEx
_WinStationWaitForConnect
WinSync.dll
  -w    Interactive
wintrust.dll
WINTRUST.dll
WintrustGetRegPolicyFlags
WintrustSetRegPolicyFlags
WinUsb_AbortPipe
WinUsb_ControlTransfer
WINUSB.DLL
WinUsb_FlushPipe
WinUsb_Free
WinUsb_Free failed
WinUsb_GetAssociatedInterface
WinUsb_GetCurrentAlternateSetting
WinUsb_GetDescriptor
WinUsb_GetPipePolicy
WinUsb_GetPowerPolicy
WinUsb_Initialize
WinUsb_QueryDeviceInformation
WinUsb_QueryInterfaceSettings
WinUsb_QueryPipe
WinUsb_ReadPipe
WinUsb_ResetPipe
WinUsb_SetCurrentAlternateSetting
WinUsb_SetPipePolicy
WinUsb_SetPowerPolicy
WinUsb_WritePipe
WinVerifyTrust
winver.pdb
WIREFRAME
wISessionDialogWWd
with all faults
	  Withdrawn routes:
?WithLongPrefix@Path@UnBCL@@SAPEAVString@2@PEBV32@H@Z
?WithLongPrefixStd@Path@UnBCL@@SAPEAVString@2@PEBV32@H@Z
?WithLongPrefixUNC@Path@UnBCL@@SAPEAVString@2@PEBV32@H@Z
?WithoutLongPrefix@Path@UnBCL@@SAPEAVString@2@PEBV32@AEAH@Z
?WithoutLongPrefix@Path@UnBCL@@SAPEAVString@2@PEBV32@@Z
Wjammsj-
_wkep[v#
wkscli.dll
WkspBkr_GetResourceFileExt failed
WkspBkr_GetResourceFilePath failed
WkspBkr_InsertResourceToFolder failed
WkspBkr_RetrieveRDPContents failed
        'WkspBroker.exe'
 wkspbrokerLibWWW
wkspbroker.pdb
WkspFolderWW
WkspIdWW
WkspItemName
WkspName
        'WkspRT.exe'
wksprt.pdb
wlanapi.dll
WlanCloseHandle
WlanConnect
WlanDeleteProfile
WlanEnumInterfaces
wlanext.pdb
WlanFreeMemory
WlanGetProfileList
WlanOpenHandle
WlanQueryInterface
WlanRegisterNotification
WlanSetProfile
WlanSetProfileEapXmlUserData
WlanSetProfileMetadata
WlanUtf8SsidToDisplayName
WlContext
WlContext)
WLDAP32.dll
WldpDisableDeveloperMode
Wldp.dll
WldpGetLockdownPolicy
WldpIsAllowedEntryPoint
WldpIsClassInApprovedList
WldpQueryWindowsLockdownMode
WLLLWLWLW	AF
WL:ly-21L
 WLogSrCommon
?w@Log@UDC@@QEAAXPEBGZZ
wlrmdr.pdb
WluiDelayLocked
WluiDelayLocked_WaitForDismiss
WluiDisplayLocked
WluiDisplayLocked_WaitForDismiss
WluiDisplayWelcome
WluiDisplayWelcome_WaitForDismiss
WluiGetShutdownResolverInfo
WluiRequestCredentials
wluiRequestFlags
wluiRequestReason
WluiSecureDelayLocked
WluiSecureDelayLocked_WaitForDismiss
WluiSecureDisplayLocked
WluiSecureDisplayLocked_WaitForDismiss
WLWbLbWLW*A)
WLWLLWLL@L@W@
WM_ACTIVATE
_wmakepath_s
WM_CLOSE
WM_COMMAND
WM_COPYDATA
WM_DESTROY
WM_GETMINMAXINFO
WMIADAP.exe
WMIADAP.pdb
WmiApSrv.exe
WmiApSrv.pdb
WMIC.LO_
WMIC.LOG
WMIC.pdb
WmiCreateObjectWithFormat
WmicUsage
WmicUsageCount
WmiDestroyObject
WmiEventSourceConnect
WmiEventSourceDisconnect
wMilliseconds
WmiPrvSE.pdb
WmiSetAndCommitObject
Wmmmmmmmm[9
WMPDMC_MESSAGE_CLEAR
WMPDMC_MESSAGE_COMPLETED_COCREATION_OF_CORE_ON_CLIENT
WMPDMC_MESSAGE_CONNECTING_TO_MEDIA_RENDERER
WMPDMC_MESSAGE_CONNECTIONSTATUS_CHANGED
WMPDMC_MESSAGE_DEVICE_TIMEOUT
WMPDMC_MESSAGE_DEVICE_UNRESPONSIVE
WMPDMC_MESSAGE_DirectionBasedPlaybackAndRetry
WMPDMC_MESSAGE_DISABLE_TRANSPORT_CONTROLS
WMPDMC_MESSAGE_EXECUTE_NEXT_OP
WMPDMC_MESSAGE_FAILED_CONNECTING_TO_MEDIA_RENDERER
WMPDMC_MESSAGE_FAILED_TO_INITIALIZE_PLAYLIST
WMPDMC_MESSAGE_FINISH_OP
WMPDMC_MESSAGE_FORCE_FOREGROUND
WMPDMC_MESSAGE_FUNC_EnsureImageTransitionTimer
WMPDMC_MESSAGE_FUNC_RefreshDevicePlaylist
WMPDMC_MESSAGE_FUNC_SetBlockMediaItemAutoSync
WMPDMC_MESSAGE_InCaseOfErrorSetPlaylistWarningInfoButton
WMPDMC_MESSAGE_INVALID
WMPDMC_MESSAGE_INVOKEMEDIAITEM
WMPDMC_MESSAGE_MUTE_CHANGED_BY_DEVICE
WMPDMC_MESSAGE_OnPictureTransition
WMPDMC_MESSAGE_OnPlayPause
WMPDMC_MESSAGE_Op_Ex
WMPDMC_MESSAGE_Play
WMPDMC_MESSAGE_Play_Async_Completed
WMPDMC_MESSAGE_PLAYLIST_MAX_EXCEEDED
WMPDMC_MESSAGE_RETRIEVE_CORE_OBJECTS_FROM_COM_SERVER
WMPDMC_MESSAGE_RETRIEVE_DEVICE_INFO
WMPDMC_MESSAGE_SEEK
WMPDMC_MESSAGE_SEEK_SUPPORT_CHANGED_BY_DEVICE
WMPDMC_MESSAGE_SetAvTransport
WMPDMC_MESSAGE_SetAvTransport_Async_Completed
WMPDMC_MESSAGE_START_COCREATION_OF_CORE_ON_CLIENT
WMPDMC_MESSAGE_StartPlayback
WMPDMC_MESSAGE_StartPlaybackOrStop
WMPDMC_MESSAGE_TryPlaybackMultipleTimes
WMPDMC_MESSAGE_UpdateDevicePlaylist
WMPDMC_MESSAGE_UPDATE_PLAYLIST
WMPDMC_MESSAGE_UPDATE_SEEK_BAR
WMPDMC_MESSAGE_UPDATE_THUMBNAILS
WMPDMC_MESSAGE_UPDATE_TRACKTIME
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_NO_MEDIA_PRESENT
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_PAUSED_PLAYBACK
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_PAUSED_RECORDING
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_PLAYING
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_RECORDING
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_STOPPED
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATE_TRANSITIONING
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATUS_ERROR_OCURRED
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATUS_NETWORK_CHANGED
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATUS_NO_NETWORK
WMPDMC_MESSAGE_UPDATE_TRANSPORT_STATUS_OK
WMPDMC_MESSAGE_VOLUME_CHANGED_BY_DEVICE
WMPDMC.pdb
WMPDMC_VOLUME_CHANGED
wmpdui.dll
wmsetup.log
WmsgPostNotifyMessage
WM_SYSCOMMAND
WM_TIMER
WM_WINDOWPOSCHANGED
wnbKKKKW
?WndProc@HWNDElement@DirectUI@@UEAA_JPEAUHWND__@@I_K_J@Z
WNetAddConnection2W
WNetAddConnection3W
WNetCancelConnection2W
WNetClearConnections
WNetGetConnectionW
WNetGetLastErrorW
WNetGetProviderNameW
WNetGetResourceInformationW
WNetRestoreAllConnectionsW
WNF_DATA_SCOPE
WnfDataScopeProcess
WnfDataScopeSession
WnfDataScopeSystem
WnfDataScopeUser
WNF_DELIVERY_DESCRIPTOR
WNF_EVENT_DATA_UPDATED
WNF_EVENT_NAME_DELETED
WNF_EVENT_NO_MORE_SUBSCRIBERS
WNF_EVENT_QUIESCENT
WNF_EVENT_SUBSCRIBERS_PRESENT
WnfInfoIsQuiescent
WnfInfoStateNameExist
WnfInfoSubscribersPresent
WNF_MAXIMUM_STATE_SIZE
WNF_NORMAL_DELIVERY
WNFNotificationException
WNF_NUMBER_OF_EVENTS
WnfPermanentStateName
WnfPersistentStateName
WNF_RELIABLE_DELIVERY
WNF_SPECIAL_DELIVERY
WNF_STATE_CROSS_SCOPE_ACCESS
WNF_STATE_NAME
WNF_STATE_NAME_INFORMATION
WNF_STATE_NAME_LIFETIME
WNFStateNames
WNF_STATE_PUBLISH
WNF_STATE_SUBSCRIBE
WnfTemporaryStateName
WNF_TYPE_ID
WNF_UNSAFE_DELIVERY
WnfWellKnownStateName
WnQ5558GIIffi
WofEnumEntries
WOFUTIL.dll
WorkAroundBackupIntentForFilesystem
WorkContracts
WorkerCallback
WorkerExecuteOperation
WorkFolders.pdb
workgroupMemoryExplicitLayout
workgroupMemoryExplicitLayout16BitAccess
workgroupMemoryExplicitLayout8BitAccess
workgroupMemoryExplicitLayoutScalarBlockLayout
workingDirectory
WorkingSetSize
WorkloadUtilizaton_Index
WorkplaceInteractions
WorkProfile
WorkRecognition
WorkspaceBrokerWd
Workspace ClassWWW
WorkspaceRuntime 1.0 Type LibraryW
WorkspaceWWW
WorkTime
World Geodesic System 1984
WORLDTRANSFORM
WormNearFull
Wow64DisableWow64FsRedirection
Wow64DisableWow64FsRedirection failed.
Wow64EnableWow64FsRedirection
Wow64RevertWow64FsRedirection
Wow64RevertWow64FsRedirection failed.
wowreg32.pdb
WpcMon.pdb
wpctok.pdb
WPDShextAutoplay.pdb
WPFError
WPFRequired
Wpggghgiipxzzyzz
WPH9WXt!H
WPMMMPPUW
wpnpinst.pdb
Wppo[TOJJJJJ999222222[A
	WPR boottrace options:
	wpr -cancel
	wpr -capturestateondemand
WPRCControlLogging
WPRCCreateInstanceUnderInstanceName
WPRCFormatError
WPRCRemoveLogging
WPR Failed.
	wpr -flush
wprintf_s
WPR is not recording
	wpr -pmcsources
	wpr -providers [Installed|I] [PerfTrack|PT] [UTC]
	wpr -purgecache
WPR recording is in progress...
	wpr -resetprofint [Profile Source Name]
	WPR start options:
	wpr -status [profiles] [collectors [-details]]
WPR Succeeded
wpt5!@4w
wpwwwpwww
wpzpwwxww
WqHojja_[WVRRRRoRnKuuuusroooookRWnKuW
Wq-xCFx;?
WrapNonExceptionThrows
WrapObject()
_wremove
WriteAction
WriteAllText
WriteAndTrace
WriteAttributeString
WriteBlankLinesW
WriteBootCode
?WriteBytes@SerializationStream@UnBCL@@QEAAXPEBEH@Z
?WriteByte@STREAM@@QEAAEE@Z
WriteBytesX failed
WriteCab
?Write@CMemoryLog@@QEAAXJ@Z
WriteCommandCount_Index
WriteConsoleA
WriteConsoleInputA
WriteConsoleInputW
WriteConsoleW
WRITE_DAC
WriteDataForOemApp
WriteDriverRecord failed
WriteDumpFileWide failed
WriteElementString
WriteEncryptedFileRaw
WriteEndElement
WriteEvent
WriteExecutionHistory
Write failed
Write failed!
WriteFile
WriteFileEx
WriteFile failed
?Write@FileStream@UnBCL@@UEAAXPEBEHH@Z
WriteFilter
WriteHexStringInterpretation
WriteLine
WriteLineWWW
?Write@MemoryStream@UnBCL@@UEAAXPEBEHH@Z
?WriteObjectHeader@SerializationStream@UnBCL@@AEAAHPEBVObject@2@@Z
?WriteObject@SerializationStream@UnBCL@@IEAAXPEBUISerializable@2@@Z
WRITE_OWNER
write.pdb
?WritePhantomObject@SerializationStream@UnBCL@@QEAAHPEBVObject@2@@Z
WritePrinter
WritePrivateProfileStringA
WritePrivateProfileStringW
WriteProcessMemory
WriteProfileStringW
WriteProtected
WriteRdpFileContentsToDisk failed
WriteScenarioInfo
WriteScenarioStateModel
WriteSerializedRaidLogEntry
WriteStartElement
WriteTaskProperties
WriteTaskTriggers
WriteThrough
WriteTraceProfile
WriteTransition
WriteTrigger
WriteUserPreferences
WriteValue
WriteVolumeMountPoints
WriteVolumeMountPoints2
WriteXml
writing to app process failed
wrmmhlmmru
Wrong access condition is on the file
Wrong number of args for WERMGR_CMDLINE_OUT_PROC_REPORTING
Wrong number of args for WERMGR_CMDLINE_WAIT_FOR_PENDING_REPORTS
Wrong number of args WERMGR_CMDLINE_QUEUE_REPORTING_SINGLE_MACHINE
Wrong number of args WERMGR_CMDLINE_QUEUE_REPORTING_SVC
wrong protocol type
wrong_protocol_type
ws2_32.dll
WS2_32.dll
WSAAddressToStringW
WSACleanup
WsAddMappedHeader
WsAddMappedHeader failed
WSAEventSelect
WSAIoctl
WSAStartup
WSAStringToAddressW
wscadminui.pdb
WSCAPI.dll
WscJsonStatusAvFw
wscLaunchAdminMakeDefaultUI
WsCloseServiceProxy
WSCollect.pdb
WsCreateError
WsCreateHeap
WsCreateReader
WsCreateServiceProxy
WsCreateServiceProxy failed
WsCreateServiceProxyFromTemplate
WsCreateWriter
WsCreateXmlBuffer
WscRegisterForChanges
wscript.exe
wscript.pdb
WscUnRegisterChanges
_wsetlocale
WsFlushWriter
WsFreeError
WsFreeHeap
WsFreeReader
WsFreeServiceProxy
WsFreeWriter
WsGetErrorProperty
WsGetErrorString
WsGetFaultErrorProperty
WsGetReaderNode
WSHRemoteLibrary
;WSHRemoteWWW
WSHStatusWWW
WSH-Timer
WSManCloseCommand
WSManCloseOperation
WSManCloseSession
WSManCloseShell
WSManCreateSession
WSManCreateShell
WSManDeinitialize
WSManError
WSManHTTPConfig.exe
WSManHTTPConfig.pdb
WSManInitialize
WSManReceiveShellOutput
WSManRunShellCommand
WSManSendShellInput
WSManSetSessionOption
WSManSignalShell
WsMoveReader
wsmprovhost.exe
wsmprovhost.pdb
WsmSvc.DLL
WSNIC?;61-
WsOpenServiceProxy
WsOpenServiceProxy failed
_wsplitpath_s
wsprintfW
wsqmcons.pdb
WsReadChars
WsReadStartElement
WsReadToStartElement
WSReset.pdb
WsSetInputToBuffer
WsSetOutputToBuffer
wstring_value
WsWriteChars
WsWriteEndElement
WsWriteStartElement
_wsystem
wszAccessPath
wszAppend
wszApplicationStartParam
wszAppName
wszBackupComponents
wszBackupDir
wszBackupMetadata
wszBackupSetDir
wszBackupSetDirectory
wszComponentLogicalPath
wszComponentName
wszComponentName1
wszComponentName2
wszCriticalVolumeName
wszCurrentTargetNameToSet
wszDeleteFile
wszDevice
wszDeviceName
wszDevicepath
wszDiskId
wszDiskName
wszDisplayName
wszDstFile
wszDstPath
wszExistingVolume
wszFailureLogFileName
wszFailureLogName
wszFileName
wszFilePath
wszFilePattern
wszFileSearchPath
wszFileSpec
wszFileSpecsXML
wszFileSystem
wszInputString
wszItemLocal
!wszIteratorSnapshotFilePath
wszKeyName
wszLabel
wszLogFileName
wszLogicalPath
wszMachineName
wszMountedDeviceName
wszMountedVolume
wszNetworkShare
wszNonWriterMetadata
wszNonWriterXMLData
wszOriginalAccessPath
wszOriginalVolume
wszPassword
wszReason
wszRegXML
wszRelativeFilePath
wszRestoreTargetPath
wszRootPath
wszSearchFileName
wszServiceName
wszSnapshotName
wszSource
wszSourcePath
wszSourceVolumePath
wszSpecsXml
wszSpecsXmlCurr
wszSrcFile
wszSrcPath
wszSSQMSPrependedFileName
wszString
wszStringNewline
wszSuccessLogFileName
wszSuccessLogName
wszTargeDiskId
wszTarget
wszTargetAccessPath
wszTargetBootVolume
wszTargetFilePath
wszTargetGiven
wszTargetName
wszTargetPath
wszTargetVhdFilePath
wszTargetVolume
*wszTargetVolumeName
wszTempFileName
wszUserName
wszValueName
wszVhdExtension
wszVhdFile
wszVhdFileName
wszVhdFileNameModified
wszVHDPath
wszVHDVolumeDevicePath
wszVolume
wszVolumeAccessPath
wszVolumeFriendlyName
wszVolumeGuid
wszVolumeGuidPath
wszVolumeLabel
wszVolumeName
wszVolumeNameWithoutTrailingSlash
wszVolumePath
wszVolumePathBuffer
wszWindowsImageBackupDirectory
wszWriterMetadata
wszWriterMetadataXML
wt5gqecrt7
wtDDDDDDD
wtf]]ZZXPPCPCMXw
WTGetSignatureInfo
WTHelperGetProvCertFromChain
WTHelperGetProvSignerFromChain
WTHelperProvDataFromStateData
WtIWA_N3
	_wtoi64
wtsapi32.dll
WTSAPI32.dll
WTSConnectSessionW
WTSDisconnectSession
WTSEnumerateSessionsExW
WTSEnumerateSessionsW
WTSFreeMemory
WTSFreeMemoryExW
WTSGetActiveConsoleSessionId
WTSGetServiceSessionId
WTSLogOff
WTSLogoffSession
WTSLogOn
WTSQuerySessionInformation() failed
WTSQuerySessionInformationW
WTSQuerySessionInformation( WTSConnectState ) returned a buffer of unexpected size.
WTSQueryUserToken
WTSRegisterSessionNotification
WTSSendMessageW
WTSUnRegisterSessionNotification
WTSVirtualChannelClose
WTSVirtualChannelOpen
WTSVirtualChannelOpenEx
WTSVirtualChannelQuery
WTSVirtualChannelWrite
WTX4T|:0
wuapihost.pdb
wuauclt.pdb
WUAVersion
wuDeviceid
WUDeviceID
WUDFCompanionHost.exe
WUDFCompanionHost.pdb
WudfDebugBreakPoint
WudfHidMarshaller::OverrideTransferFlags
WUDFHost.exe
WUDFHost.pdb
WudfIsKernelDebuggerPresent
WudfIsUserDebuggerPresent
WudfLpcMessage::CalculateMsgSize
WudfLpcMessage::CopyMessageData
WudfLpcMessage::operator new
WudfLpcMessage::ReplyMessage
WudfLpcMessage::ResetDataBuffer
WudfLpcMessage::Send
WudfLpcMessage::SendWait
WudfLpcMessage::ValidateLockTicket
WudfLpcMessage::WudfLpcpMessage
WudfLpcReplyMessage::MessageBody
WudfLpcReplyMessage::Reply
WudfLpcReplyMessage::WudfLpcReplyMessage
WudfMarshaller::Create
WudfMarshaller::OverrideTransferFlags
WudfMarshaller::UpdateInformationForOutputBuffer
WUDFPlatform.dll
WudfWaitForDebugger
WU_E_TIME_OUT
wusa.pdb
WUTraceLogging
WUUQ)HEE
'wuw5cWp
_WVHyTnK
wvRRSgGu45
Wvwvwgww
ww3ss0UUUUUU777
ww7770UUUUUU3
WWABehaviorEnabled
WWAHostAppPackageInitializedEvent
WWAHostAppSuspend
WWAHostErrorEvent
WWAHostExternalNavigationOnTopLevelDoc
WWAHostLaunchComplete
WWAHost.pdb
WWAHostTraceLogging
WWAJseRacReport
w	wcsrchr
wwDDDDDDDDDDDDD
wwgwg7wwV6
wWinMain
wWinMain.AddedHelloFaceFODCapability
wWinMain.SetFODCapabilityAddedRegistryValue
wWinMain.SetFODCapabilityAddedRegistryValue.Failed
wws32""0
wwtDDDDDDDDDD
wwtDDDDDDDDDDDD
wwwDDDDDDDD
www.digicert.com1!0
wwwpwpxx
wwwpwwww
wwwS999 
wwwvw7PGvvGxwxhww
wwww33""'
wwwwpwwwwxww
wwwww3ss
wwwwwrwWsp
wwwwww77770
wwwwwwex
wwwwwwpw
wwwwwwvRx
wwwwwwvu
wwwwwww|
wwwwwwwp
wwwwwwws
wwwwwwww
wwwwwwww77770
wwwwwwww77770w
wwwwwwww7sssp
wwwwwwww7sssppw
wWwwwwwwu
wwwwwwwww
wwwwwwwww?
WWWWWWWWW9
wwwwwwwwwp
wwwwwwwwwq
wwwwwwwwww
wwwwwwwwwwp
"wwwwwwwwwwr
wwwwwwwwwwvDDDDD
wwwwwwwwwww
wwwwwwwwwwwL
wwwwwwwwwwwpp
wwwwwwwwwwwpt
wwwwwwwwwwww
wwwwwwwwwwwwp
wwwwwwwwwwwww
wwwwwwwwwwwwwp
wwwwwwwwwwwwww
wwwwwwwwwwwwwwp
wwwwwwwwwwwwwww
wwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwiiwwwwwwwwwwwwii
wwwwwwwwwwwwwwwwwwwwwp
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwx
wwwwwwwwwwwwwwwx
wwwwwwwwwwwwwx
wwwwwwwwwwwwx
wwwwwwwwwwwx
wwwwwwwwwwx
wwwwwwwwwwxx
wwwwwwwwwxxx
wwwwwwwwx
wwwwwwwwzww
wwwwwwwx
wwwwwwwxxxxx
wwwwwwxpUUUUUU
wwwwwwxpUUUUUXxwwwwxw
"wwwwwwy
wwwwwxww
wwwxvvvv
WwX#	!K!Y
wwxwwpww
(wXFilesWWW
wxVwwwww
Wxwgww|wwwwww
wxwvswswp
wxwwxwwxw
wxxpUUUUUXxwwwwww
wxxwxxwwwxw
wxxxwwwxxwwwp
]WXZ_ekjd
w"zq@DXl#
X0CAYdN#
x:4444:O
x509attr
x509sign
x5*yK[[[1
x7D8nht1H
x9fD9e@u
x9pv45dxghk
X]aaaa_[XXV
X[]]_acca_
X[_acccca]
XAk- HXR
xA_NewEnum
x ATAUAVA
x ATAUAVAW
x ATAUAVAW@
x ATAUAVAW3
x ATAUAVAWA
x ATAUAVAWD
x ATAUAVAWE
x ATAUAVAWE3
x ATAUAVAWH
x ATAUAVAWL
x ATAUAVH
x ATAUAWH
x ATAVAW
x ATAVAWA
x ATAVAWD
x ATAVAWE3
x ATAVAWH
x ATAVAWL
x ATAVE3
XAttribute
--xattrs
x AUAVAWD
x AUAVAWE3
x AUAVAWH
x AVAWE3
x AVAWI;
?_Xbad_alloc@std@@YAXXZ
?_Xbad_function_call@std@@YAXXZ
XblaGetConsoleId
XblaInitialize
XblGameSaveTask.pdb
XbrJkQJ9
Xc[abjmm
XContainer
xcopy.pdb
XCopyStorageDeviceProp
_XcptFilter
x]cSeumS
XcvDataW
x(D8moutH
x-D9sXrOH
x(D9u@t"H
xddHHVVU
xDeleteWW
XDISPLOC
X#dk;9k6!
XDocument
XdvTipTag
XElement
XerDumpNotifyComplete
XerDumpNotifyStart
X f9h t	H
x@f9u ukH
xffD9egt_H
xFOM|XMd 
XFZbXnVbTPNp:
xGD8mgtAH
xGD9uHt8
?_XGetLastError@std@@YAXXZ
xGGgGgtwwec
xgwwwwwww
]XH;]Pt2H
]XH;]Pt#H
]xH;]ptKL
]XH;]PtQH
]xH;]ptWH
]XH;]@t#H
]XH;]@tQH
xiL97uOI
?_Xinvalid_argument@std@@YAXPEBD@Z
xjjppuh_
xKfD9eHu*
xkkXOEEDfO
Xl5's8S8
?_Xlength_error@std@@YAXPEBD@Z
xMD9u0uGL
xMD9uHsG
XmlArrayAttribute
XmlArrayItemAttribute
XmlDataTransform
XmlElementAttribute
XMLEncodeString failed
XMLEncodeString failed for name
XMLEncodeString failed for value
XmlException
XmlIgnoreAttribute
XmlLite.dll
XmlNodeType
XmlReader
XmlReaderSettings
XmlSchema
XmlSchemaSet
XmlSerializer
XmlWriter
[]XnnnnnnnnnnnnE
#Xnnnnnnnnnnnnnnnnn"
'Xnnnnnnnnnnnnnnnnnn!
Xnnnnnnnnnnnnnnnnnnn!(( )))
[_XnnnnnnnnnnnnO
@xO|7n(B
?XOffsetProp@BaseScrollViewer@DirectUI@@SAPEBUPropertyInfo@2@XZ
?_Xout_of_range@std@@YAXPEBD@Z
xp8]0tkH
xPfD9)tJH
xpmic]XRI
xpmic]XRIED
xpmic]XRIED?
xpmic]XRIED?_
xpmic]XRIED_b;
XpsDocumentNotificationLevel
XpsDocumentWriter
xpsFileName
XpsPushLayer.DLL
xpsservices.dll
-XpvarSize
xpwppwwppwp
xqD9eXuZ
xrD8eHtlH
?_Xregex_error@std@@YAXW4error_type@regex_constants@1@@Z
]]XRX][]]
Xs?B)qEm
XShowBumpDialogWW
xsojeaZVPK0
XSxAllocateEventTraceProp
X':?T1-vD
XtagACTIVATION_CHANNELWWW
xthbZQO;?
_Xtime_get_ticks
XTTTTTTNNSNNV
x UATAUAVAWH
x UATAUH
x UATAVH
x UATAWH
x UAUAVH
x UAUAWH
x UAVAWH
X UAVAWH
xugwvwwwp
X UVWATAUAVAWH
X UVWAVAWH
xvVwGwggg
xvwGvWvv
xW75DWIaz
xWD8e@tQ
xwgtwuetw
xWI96tRI
xwiiiggbbP4
 XWinMain
XWINMM.dll
xwizard.pdb
xwwwwwwww
xwwwwwwwww
xwxwwwCB
xXD9zhu	A
xXI96tSI
xxibhZZXEEP
xxiii]XSXZw
XXSSRQZD888E8
xxtDDDFLw
xxwxwxww
xxxaaazzz
|xxxS999*999
xxxwppCCBVwx
xxxxpUUUUUXxw
@@XXXXXX
xxxxxxwttDDDL|V
xxxxxxxpUUUUUXxwww
xxxxxxxxp
xxxxxxxxww
	XXXXXXXXX
xxxxxxxxxxxx
xYD8e0tSH
xYE8nTtQH
.XYY[[]U
xzD9?|uH
y999-999
y9W.bz	Jpi
y@A8?u7H
YAbortPrinter
yacc stack overflow
]yAddWorkspaceResource
ybCountUnauthenticatedCredentials
yBF8D0ht;D9
ycbcr2plane444Formats
ycbcrImageArrays
??YCHString@@QEAAAEBV0@AEBV0@@Z
??YCHString@@QEAAAEBV0@D@Z
??YCHString@@QEAAAEBV0@G@Z
??YCHString@@QEAAAEBV0@PEBG@Z
YcN]VVV0
YCServerStaticVirtualChannel
ydHVUU	W
ydHxVUXc b
YDriverUnloadComplete
yDt!@8qAr
yDt"@8yAr
YDt 8YAr
YEndDocPrinter
YEndPagePrinter
YexQDG0z[
YFlushPrinter
YGetPrinter
YGetPrinterDriver2
YGetPrinterDriverDirectory
YGetProviderMgmtInterface
YHH;YPtsH
YInitialize must be called before window messages can be processed
]__Y-jgs
YK"[saL0g|
ylt'D8qir!
yLTerminateWWW
yltkD8qire
Ymkic)Csv
YML!L6w?
ymo6Cq| 
y?n!_1Cj
yNAJVWExW
YoeCOutBarCtrl
You can re-launch with -numVCpu up to the Max value in order to give more
YourPhoneTaskbarIconCreated
ypcLineWWd
YPPPF999#999
YReadPrinter
Y.s0)Q4a
YSeekPrinter
YSetPort
YSetPrinter
YSplReadPrinter
Ysssssss
YStartDocPrinter
YStartPagePrinter
YvbstrErrorMessageType
YWritePrinter
??YWString@@QEAAAEAV0@AEBV0@@Z
??YWString@@QEAAAEAV0@G@Z
??YWString@@QEAAAEAV0@PEBG@Z
YWVUS2)*5
ywwwwwwwwwp
 YXDomain
yXPAGEt8H
 YXRRSet
yxxxxxxx
yxxxxxxxH
yxxxxxxxI
yxxxxxxxL
Y										Y
yyxnnnhhh_Uaa
YYY111			
yyydHxVUTcc!b
yyyjjjZZZJJJ:::***
yyynnnhhU
yyyunnnkhhh_XXX2
||||yyyvvyv
yy|||yyyyvvvvtttv
y||y|||yyyyvyvvtv
Z0Dr6zzW
_Z0yxV-NN
z?801i:It6
Za__ZX88582
ZccccccZ
ZCEmailSupport::LoadMailProvider
zDYn	#Ga
Zee0Seee[@eeeeee@[eeeeee
Zeeeeeeddddddddddddddddd
Zeeeeeeedddddddddddddddd
Zeeeeeeeeddddddddddddddd
Zeeeeeeee@e'?
Zeeeeeeeeeeddddddddddddd
Zeeeeeeee@eeeeee@ddddddd
Zeeeeeeeeeeeeeeee[EB
?ZeroAsyncOut@CVdsAsyncObjectBase@@QEAAXXZ
zero-length signature field
ZEROPAGE
?_ZeroRelease@Value@DirectUI@@AEAAXXZ
:zerou#L
Zffc_]]5
zh_WPJMKUb:
zi92#####
ZIHostWWW
ZII?XGGKXGG?TDD0SDD
			z-index: -1;
Z	?Initialize@ClassInfoBase@DirectUI@@QEAAJPEAUHINSTANCE__@@PEBG_NPEBQEBUPropertyInfo@2@I@Z
zipFiles
zjidijti
zjijttd	
zjijtti	
zjje_HB)
zjjjjnjij
zL;Lc.*3
ZLpr7fx(
zMPgeneric
zm_pwszVolumeNameX
ZNCTieredVolume::ProcessVolumeTables
[[Z;NNNlggf
ZoneInfo
 zoneInit
 zoneRef
ZoooofeeeeXbbV
ZOPX8TT(
zout_ArgumentsWWW
zProviderIdWW
*ZQPF'ly
Z!  r644
ZRQeDeeCeQQ[
zs5cIfhF
]ZShowSystemToast
zsqsqqjR5"
z||sttXYYPPPyyy
ztjjttj	
zu[L9exuL
zUQ9s5]5
zuUHb_;G
]][[ZUUTJ
|zvqol0-
ZwAddBootEntry
ZwAllocateUuids
ZwCreateFile
ZwCreateKey
ZwDeleteBootEntry
ZwDeleteKey
ZwDeleteValueKey
ZwDeviceIoControlFile
ZwEnumerateBootEntries
ZwEnumerateKey
ZwEnumerateValueKey
ZwFilterBootOption
ZwLoadDriver
ZwLoadKey
ZwLoadKey2
ZwModifyBootEntry
ZwOpenDirectoryObject
ZwOpenFile
ZwOpenKey
ZwOpenMutant
ZwOpenProcess
ZwOpenSymbolicLinkObject
ZwQueryAttributesFile
ZwQueryBootEntryOrder
ZwQueryBootOptions
ZwQueryDirectoryObject
ZwQueryInformationFile
ZwQueryInformationProcess
ZwQueryInformationThread
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQuerySystemEnvironmentValueEx
ZwQuerySystemInformation
ZwQueryValueKey
ZwQueryWnfStateData
ZwQueryWnfStateNameInformation
ZwReleaseMutant
ZWRITEENABLE
ZwSetBootEntryOrder
ZwSetBootOptions
ZwSetSecurityObject
ZwSetSystemEnvironmentValueEx
ZwSetSystemInformation
ZwSetValueKey
ZwTranslateFilePath
zwtsponnmj
zwtsponnq
ZwUnloadDriver
ZwUnloadKey
ZwUnloadKey2
ZwUpdateWnfStateData
ZwWaitForSingleObject
z'www777
?Z???Z?K
zzyjeeH::999r6
zzzcccJJJ333
ZZZhZZZ9YYY
ZZZTKGA9
zzzuuuuuoho
zzzvvvvvu
ZZZ[WWW0WWW
zzzzzzzzzzzz_
ZZZZZZZZZZZZZZZZZX
ZZZZZZZZZZZZZZZZ]_]ZZZZZZZZZl
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
